mirror of
https://github.com/Bubka/2FAuth.git
synced 2025-06-20 11:47:53 +02:00
Add Id attribute to vue components
This commit is contained in:
parent
abb4666361
commit
90d4532883
48987
public/js/app.js
vendored
48987
public/js/app.js
vendored
File diff suppressed because one or more lines are too long
@ -7,7 +7,7 @@
|
|||||||
<div v-if="this.$root.isTestingApp" class="demo has-background-warning has-text-centered is-size-7-mobile">
|
<div v-if="this.$root.isTestingApp" class="demo has-background-warning has-text-centered is-size-7-mobile">
|
||||||
{{ $t('commons.testing_do_not_post_sensitive_data') }}
|
{{ $t('commons.testing_do_not_post_sensitive_data') }}
|
||||||
</div>
|
</div>
|
||||||
<notifications width="100%" position="top" :duration="4000" :speed="0" :max="1" classes="notification is-radiusless" />
|
<notifications id="vueNotification" width="100%" position="top" :duration="4000" :speed="0" :max="1" classes="notification is-radiusless" />
|
||||||
<main class="main-section">
|
<main class="main-section">
|
||||||
<router-view></router-view>
|
<router-view></router-view>
|
||||||
</main>
|
</main>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<p class="help is-danger" v-if="form.errors.has(field)" v-html="form.errors.get(field)" />
|
<p :id="'valError' + field[0].toUpperCase() + field.toLowerCase().slice(1)" class="help is-danger" v-if="form.errors.has(field)" v-html="form.errors.get(field)" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -13,9 +13,9 @@
|
|||||||
</router-link>
|
</router-link>
|
||||||
</div>
|
</div>
|
||||||
<div v-else class="content has-text-centered">
|
<div v-else class="content has-text-centered">
|
||||||
<router-link :to="{ name: 'settings.options' }" class="has-text-grey">{{ $t('settings.settings') }}</router-link>
|
<router-link id="lnkSettings" :to="{ name: 'settings.options' }" class="has-text-grey">{{ $t('settings.settings') }}</router-link>
|
||||||
<span v-if="!this.$root.appConfig.proxyAuth || (this.$root.appConfig.proxyAuth && this.$root.appConfig.proxyLogoutUrl)">
|
<span v-if="!this.$root.appConfig.proxyAuth || (this.$root.appConfig.proxyAuth && this.$root.appConfig.proxyLogoutUrl)">
|
||||||
- <a class="has-text-grey" @click="logout">{{ $t('auth.sign_out') }}</a>
|
- <a id="lnkSignOut" class="has-text-grey" @click="logout">{{ $t('auth.sign_out') }}</a>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="field is-grouped">
|
<div class="field is-grouped">
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<v-button :color="color" :isLoading="isBusy" :disabled="isDisabled" >{{ caption }}</v-button>
|
<v-button :id="submitId" :color="color" :isLoading="isBusy" :disabled="isDisabled" >{{ caption }}</v-button>
|
||||||
</div>
|
</div>
|
||||||
<div class="control" v-if="showCancelButton">
|
<div class="control" v-if="showCancelButton">
|
||||||
<router-link :to="{ name: cancelLandingView }" class="button is-text">{{ $t('commons.cancel') }}</router-link>
|
<router-link :id="cancelId" :to="{ name: cancelLandingView }" class="button is-text">{{ $t('commons.cancel') }}</router-link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -49,6 +49,16 @@
|
|||||||
type: String,
|
type: String,
|
||||||
default: 'is-link'
|
default: 'is-link'
|
||||||
},
|
},
|
||||||
|
|
||||||
|
submitId: {
|
||||||
|
type: String,
|
||||||
|
default: 'btnSubmit'
|
||||||
|
},
|
||||||
|
|
||||||
|
cancelId: {
|
||||||
|
type: String,
|
||||||
|
default: 'btnCancel'
|
||||||
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
@ -2,7 +2,7 @@
|
|||||||
<div class="field" :class="{ 'pt-3' : hasOffset }">
|
<div class="field" :class="{ 'pt-3' : hasOffset }">
|
||||||
<label class="label" v-html="label"></label>
|
<label class="label" v-html="label"></label>
|
||||||
<div class="control">
|
<div class="control">
|
||||||
<input :disabled="isDisabled" :id="fieldName" :type="inputType" class="input" v-model="form[fieldName]" :placeholder="placeholder" v-bind="$attrs" v-on:change="$emit('field-changed', form[fieldName])"/>
|
<input :disabled="isDisabled" :id="this.inputId(inputType,fieldName)" :type="inputType" class="input" v-model="form[fieldName]" :placeholder="placeholder" v-bind="$attrs" v-on:change="$emit('field-changed', form[fieldName])"/>
|
||||||
</div>
|
</div>
|
||||||
<field-error :form="form" :field="fieldName" />
|
<field-error :form="form" :field="fieldName" />
|
||||||
<p class="help" v-html="help" v-if="help"></p>
|
<p class="help" v-html="help" v-if="help"></p>
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
<div class="columns is-centered">
|
<div class="columns is-centered">
|
||||||
<div class="form-column column is-two-thirds-tablet is-half-desktop is-one-third-widescreen is-one-third-fullhd">
|
<div class="form-column column is-two-thirds-tablet is-half-desktop is-one-third-widescreen is-one-third-fullhd">
|
||||||
<h1 class="title has-text-grey-dark" v-html="title" v-if="title"></h1>
|
<h1 class="title has-text-grey-dark" v-html="title" v-if="title"></h1>
|
||||||
<div v-if="punchline" class="block" v-html="punchline"></div>
|
<div id="punchline" v-if="punchline" class="block" v-html="punchline"></div>
|
||||||
<slot />
|
<slot />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
<div class="tabs is-centered is-fullwidth">
|
<div class="tabs is-centered is-fullwidth">
|
||||||
<ul>
|
<ul>
|
||||||
<li v-for="tab in tabs" :key="tab.view" :class="{ 'is-active': tab.view === activeTab }">
|
<li v-for="tab in tabs" :key="tab.view" :class="{ 'is-active': tab.view === activeTab }">
|
||||||
<a @click="selectTab(tab.view)">{{ tab.name }}</a>
|
<a :id="tab.id" @click="selectTab(tab.view)">{{ tab.name }}</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@ -24,19 +24,23 @@
|
|||||||
tabs: [
|
tabs: [
|
||||||
{
|
{
|
||||||
'name' : this.$t('settings.options'),
|
'name' : this.$t('settings.options'),
|
||||||
'view' : 'settings.options'
|
'view' : 'settings.options',
|
||||||
|
'id' : 'lnkTabOptions'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'name' : this.$t('settings.account'),
|
'name' : this.$t('settings.account'),
|
||||||
'view' : 'settings.account'
|
'view' : 'settings.account',
|
||||||
|
'id' : 'lnkTabAccount'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'name' : this.$t('settings.oauth'),
|
'name' : this.$t('settings.oauth'),
|
||||||
'view' : 'settings.oauth.tokens'
|
'view' : 'settings.oauth.tokens',
|
||||||
|
'id' : 'lnkTabOAuth'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
'name' : this.$t('settings.webauthn'),
|
'name' : this.$t('settings.webauthn'),
|
||||||
'view' : 'settings.webauthn.devices'
|
'view' : 'settings.webauthn.devices',
|
||||||
|
'id' : 'lnkTabWebauthn'
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
50
resources/js/mixins.js
vendored
50
resources/js/mixins.js
vendored
@ -154,6 +154,56 @@ Vue.mixin({
|
|||||||
|
|
||||||
return window.atob(input);
|
return window.atob(input);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Encodes an array of bytes to a BASE64 URL string
|
||||||
|
*
|
||||||
|
* @param arrayBuffer {ArrayBuffer|Uint8Array}
|
||||||
|
* @returns {string}
|
||||||
|
*/
|
||||||
|
inputId(fieldType, fieldName) {
|
||||||
|
let prefix
|
||||||
|
|
||||||
|
switch (fieldType) {
|
||||||
|
case 'button':
|
||||||
|
prefix = 'txt'
|
||||||
|
break
|
||||||
|
case 'button':
|
||||||
|
prefix = 'btn'
|
||||||
|
break
|
||||||
|
case 'email':
|
||||||
|
prefix = 'eml'
|
||||||
|
break
|
||||||
|
case 'password':
|
||||||
|
prefix = 'pwd'
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
prefix = 'txt'
|
||||||
|
break
|
||||||
|
}
|
||||||
|
|
||||||
|
return prefix + fieldName[0].toUpperCase() + fieldName.toLowerCase().slice(1);
|
||||||
|
// button
|
||||||
|
// checkbox
|
||||||
|
// color
|
||||||
|
// date
|
||||||
|
// datetime-local
|
||||||
|
// file
|
||||||
|
// hidden
|
||||||
|
// image
|
||||||
|
// month
|
||||||
|
// number
|
||||||
|
// radio
|
||||||
|
// range
|
||||||
|
// reset
|
||||||
|
// search
|
||||||
|
// submit
|
||||||
|
// tel
|
||||||
|
// text
|
||||||
|
// time
|
||||||
|
// url
|
||||||
|
// week
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
Loading…
x
Reference in New Issue
Block a user