3x-ui/web/html/xui/component/password.html

37 lines
1.0 KiB
HTML
Raw Normal View History

2023-05-08 17:51:58 +03:00
{{define "component/passwordInput"}}
<template>
<a-input :value="value" :type="showPassword ? 'text' : 'password'"
:placeholder="placeholder"
:autocomplete="autocomplete"
:name="name"
@input="$emit('input', $event.target.value)">
2023-05-08 17:51:58 +03:00
<template v-if="icon" #prefix>
2023-12-04 21:17:38 +03:00
<a-icon :type="icon" style="font-size: 16px;" />
2023-05-08 17:51:58 +03:00
</template>
<template #addonAfter>
<a-icon :type="showPassword ? 'eye-invisible' : 'eye'"
@click="toggleShowPassword"
2023-12-04 21:17:38 +03:00
style="font-size: 16px;" />
2023-05-08 17:51:58 +03:00
</template>
</a-input>
</template>
{{end}}
{{define "component/password"}}
<script>
Vue.component('password-input', {
props: ["title", "value", "placeholder", "icon", "autocomplete", "name"],
2023-05-08 17:51:58 +03:00
template: `{{template "component/passwordInput"}}`,
data() {
return {
showPassword: false,
};
},
methods: {
toggleShowPassword() {
this.showPassword = !this.showPassword;
},
},
});
</script>
{{end}}