@ -45,9 +45,10 @@
< / template >
< / template >
< / c s c - i n p u t >
< / c s c - i n p u t >
< / template >
< / template >
< script >
< script >
import CscInput from 'components/form/CscInput'
import CscInput from 'components/form/CscInput'
import PasswordGenerator from 'generate-password '
import { mapWaitingActions } from 'vue-wait '
export default {
export default {
name : 'CscInputPassword' ,
name : 'CscInputPassword' ,
components : { CscInput } ,
components : { CscInput } ,
@ -55,38 +56,6 @@ export default {
generate : {
generate : {
type : Boolean ,
type : Boolean ,
default : false
default : false
} ,
generateLength : {
type : Number ,
default : 10
} ,
generateNumbers : {
type : Boolean ,
default : true
} ,
generateLowercase : {
type : Boolean ,
default : true
} ,
generateUppercase : {
type : Boolean ,
default : true
} ,
generateSymbols : {
type : Boolean ,
default : false
} ,
generateExcludeSimilarCharacters : {
type : Boolean ,
default : false
} ,
generateExclude : {
type : String ,
default : ''
} ,
generateStrict : {
type : Boolean ,
default : true
}
}
} ,
} ,
emits : [ 'generated' , 'update:modelValue' ] ,
emits : [ 'generated' , 'update:modelValue' ] ,
@ -97,34 +66,20 @@ export default {
} ,
} ,
computed : {
computed : {
inputType ( ) {
inputType ( ) {
if ( this . visible ) {
return this . visible ? 'text' : 'password'
return 'text'
} else {
return 'password'
}
} ,
} ,
visibilityIcon ( ) {
visibilityIcon ( ) {
if ( ! this . visible ) {
return this . visible ? 'visibility' : 'visibility_off'
return 'visibility_off'
} else {
return 'visibility'
}
}
}
} ,
} ,
methods : {
methods : {
generatePassword ( ) {
... mapWaitingActions ( 'user' , {
const pass = PasswordGenerator . generate ( {
generatePasswordUser : 'generatePasswordUser'
length : this . generateLength ,
} ) ,
numbers : this . generateNumbers ,
async generatePassword ( ) {
lowercase : this . generateLowercase ,
const password = await this . generatePasswordUser ( )
uppercase : this . generateUppercase ,
this . $emit ( 'update:modelValue' , password )
symbols : this . generateSymbols ,
this . $emit ( 'generated' , password )
excludeSimilarCharacters : this . generateExcludeSimilarCharacters ,
exclude : this . generateExclude ,
strict : this . generateStrict
} )
this . $emit ( 'update:modelValue' , pass )
this . $emit ( 'generated' , pass )
} ,
} ,
toggleVisibility ( ) {
toggleVisibility ( ) {
this . visible = ! this . visible
this . visible = ! this . visible