diff --git a/ui/src/components/dynamics-form/constructor/data.ts b/ui/src/components/dynamics-form/constructor/data.ts index 273a1c687..98ee4b0f6 100644 --- a/ui/src/components/dynamics-form/constructor/data.ts +++ b/ui/src/components/dynamics-form/constructor/data.ts @@ -4,6 +4,10 @@ const input_type_list = [ label: t('dynamicsForm.input_type_list.TextInput'), value: 'TextInput' }, + { + label: t('dynamicsForm.input_type_list.PasswordInput'), + value: 'PasswordInput' + }, { label: t('dynamicsForm.input_type_list.Slider'), value: 'Slider' diff --git a/ui/src/components/dynamics-form/constructor/items/PasswordInputConstructor.vue b/ui/src/components/dynamics-form/constructor/items/PasswordInputConstructor.vue new file mode 100644 index 000000000..dd447966e --- /dev/null +++ b/ui/src/components/dynamics-form/constructor/items/PasswordInputConstructor.vue @@ -0,0 +1,194 @@ + + + diff --git a/ui/src/components/dynamics-form/constructor/items/TextInputConstructor.vue b/ui/src/components/dynamics-form/constructor/items/TextInputConstructor.vue index ccac26de6..7d9715377 100644 --- a/ui/src/components/dynamics-form/constructor/items/TextInputConstructor.vue +++ b/ui/src/components/dynamics-form/constructor/items/TextInputConstructor.vue @@ -1,11 +1,4 @@ @@ -111,9 +103,7 @@ const getData = () => { attrs: { maxlength: formValue.value.maxlength, minlength: formValue.value.minlength, - 'show-word-limit': true, - type: formValue.value.show_password ? 'password' : 'text', - 'show-password': formValue.value.show_password + 'show-word-limit': true }, default_value: formValue.value.default_value, show_default_value: formValue.value.show_default_value, @@ -145,7 +135,6 @@ const rander = (form_data: any) => { formValue.value.maxlength = attrs.maxlength formValue.value.default_value = form_data.default_value formValue.value.show_default_value = form_data.show_default_value - formValue.value.show_password = attrs['show-password'] } const rangeRules = [ { @@ -176,8 +165,7 @@ onMounted(() => { formValue.value.minlength = 0 formValue.value.maxlength = 20 formValue.value.default_value = '' - formValue.value.show_password = false - + // console.log(formValue.value.show_default_value) if (formValue.value.show_default_value === undefined) { formValue.value.show_default_value = true } diff --git a/ui/src/locales/lang/en-US/dynamics-form.ts b/ui/src/locales/lang/en-US/dynamics-form.ts index 9e1c4c24d..2cfcd8058 100644 --- a/ui/src/locales/lang/en-US/dynamics-form.ts +++ b/ui/src/locales/lang/en-US/dynamics-form.ts @@ -1,6 +1,7 @@ export default { input_type_list: { TextInput: 'Input', + PasswordInput: 'Password', Slider: 'Slider', SwitchInput: 'Switch', SingleSelect: 'Single Select', @@ -96,7 +97,6 @@ export default { requiredMessage2: 'and', requiredMessage3: 'characters', requiredMessage4: 'Text length is a required parameter' - }, - showPassword: 'Show Password' + } } } diff --git a/ui/src/locales/lang/zh-CN/dynamics-form.ts b/ui/src/locales/lang/zh-CN/dynamics-form.ts index 31b0180df..9814c06eb 100644 --- a/ui/src/locales/lang/zh-CN/dynamics-form.ts +++ b/ui/src/locales/lang/zh-CN/dynamics-form.ts @@ -1,6 +1,7 @@ export default { input_type_list: { TextInput: '文本框', + PasswordInput: '密码框', Slider: '滑块', SwitchInput: '开关', SingleSelect: '单选框', @@ -96,7 +97,6 @@ export default { requiredMessage2: '到', requiredMessage3: '个字符', requiredMessage4: '文本长度为必填参数' - }, - showPassword: '密文显示' + } } } diff --git a/ui/src/locales/lang/zh-Hant/dynamics-form.ts b/ui/src/locales/lang/zh-Hant/dynamics-form.ts index 750cd4296..e75c2393d 100644 --- a/ui/src/locales/lang/zh-Hant/dynamics-form.ts +++ b/ui/src/locales/lang/zh-Hant/dynamics-form.ts @@ -1,6 +1,7 @@ export default { input_type_list: { TextInput: '文字框', + PasswordInput: '密文框', Slider: '滑桿', SwitchInput: '開關', SingleSelect: '單選框', @@ -96,7 +97,6 @@ export default { requiredMessage2: '到', requiredMessage3: '個字元', requiredMessage4: '文字長度為必填參數' - }, - showPassword: '密文顯示' + } } } diff --git a/ui/src/workflow/nodes/base-node/component/UserFieldFormDialog.vue b/ui/src/workflow/nodes/base-node/component/UserFieldFormDialog.vue index 52cf48f59..6b9eaadd8 100644 --- a/ui/src/workflow/nodes/base-node/component/UserFieldFormDialog.vue +++ b/ui/src/workflow/nodes/base-node/component/UserFieldFormDialog.vue @@ -123,6 +123,7 @@ const currentRow = computed(() => { const currentIndex = ref(null) const inputTypeList = ref([ { label: t('dynamicsForm.input_type_list.TextInput'), value: 'TextInputConstructor' }, + { label: t('dynamicsForm.input_type_list.PasswordInput'), value: 'PasswordInputConstructor' }, { label: t('dynamicsForm.input_type_list.SingleSelect'), value: 'SingleSelectConstructor' }, { label: t('dynamicsForm.input_type_list.MultiSelect'), value: 'MultiSelectConstructor' }, { label: t('dynamicsForm.input_type_list.RadioCard'), value: 'RadioCardConstructor' }, diff --git a/ui/src/workflow/nodes/base-node/component/UserInputFieldTable.vue b/ui/src/workflow/nodes/base-node/component/UserInputFieldTable.vue index 26d0c9c99..f0eaa0daf 100644 --- a/ui/src/workflow/nodes/base-node/component/UserInputFieldTable.vue +++ b/ui/src/workflow/nodes/base-node/component/UserInputFieldTable.vue @@ -49,6 +49,9 @@ {{ $t('dynamicsForm.input_type_list.TextInput') }} + {{ + $t('dynamicsForm.input_type_list.PasswordInput') + }} {{ $t('dynamicsForm.input_type_list.Slider') }} @@ -169,6 +172,9 @@ function refreshFieldTitle(data: any) { } const getDefaultValue = (row: any) => { + if(row.input_type === 'PasswordInput') { + return '******' + } if (row.default_value) { const default_value = row.option_list ?.filter((v: any) => row.default_value.indexOf(v.value) > -1)