@kp-ui/lowcode-pc 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/assets/styles/style.css +54 -54
  2. package/core/src/components/common/RenderWidgetList.vue.js +1 -1
  3. package/core/src/components/common/RenderWidgetList.vue2.js +13 -2
  4. package/core/src/components/common/RenderWidgetList.vue2.js.map +1 -1
  5. package/core/src/components/common/render/Debugger.vue.js +1 -1
  6. package/core/src/components/common/render/Debugger.vue2.js +1 -12
  7. package/core/src/components/common/render/Debugger.vue2.js.map +1 -1
  8. package/core/src/hooks/useAppRef.js +1 -0
  9. package/core/src/hooks/useAppRef.js.map +1 -1
  10. package/core/src/hooks/useDesigner.js +4 -0
  11. package/core/src/hooks/useDesigner.js.map +1 -1
  12. package/core/src/hooks/useField.js +7 -4
  13. package/core/src/hooks/useField.js.map +1 -1
  14. package/core/src/hooks/useWebMCP.js +73 -0
  15. package/core/src/hooks/useWebMCP.js.map +1 -1
  16. package/core/src/lang/en-US.js +5 -0
  17. package/core/src/lang/en-US.js.map +1 -1
  18. package/core/src/lang/zh-CN.js +6 -0
  19. package/core/src/lang/zh-CN.js.map +1 -1
  20. package/package.json +1 -1
  21. package/src/components/desginer/form-widget/container-widget/data-table-widget.vue.js +1 -1
  22. package/src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js +15 -3
  23. package/src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -1
  24. package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue2.js +1 -2
  25. package/src/components/desginer/form-widget/container-widget/grid-col-widget.vue2.js.map +1 -1
  26. package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue2.js +1 -2
  27. package/src/components/desginer/form-widget/container-widget/grid-sub-form-widget.vue2.js.map +1 -1
  28. package/src/components/desginer/form-widget/container-widget/grid-widget.vue2.js +1 -2
  29. package/src/components/desginer/form-widget/container-widget/grid-widget.vue2.js.map +1 -1
  30. package/src/components/desginer/form-widget/container-widget/tab-widget.vue.js +1 -1
  31. package/src/components/desginer/form-widget/container-widget/tab-widget.vue2.js +9 -7
  32. package/src/components/desginer/form-widget/container-widget/tab-widget.vue2.js.map +1 -1
  33. package/src/components/desginer/form-widget/container-widget/useTableWidget.js +24 -5
  34. package/src/components/desginer/form-widget/container-widget/useTableWidget.js.map +1 -1
  35. package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue2.js +1 -2
  36. package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue2.js.map +1 -1
  37. package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue2.js +1 -2
  38. package/src/components/desginer/form-widget/container-widget/vf-collapse-widget.vue2.js.map +1 -1
  39. package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js +2 -3
  40. package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js.map +1 -1
  41. package/src/components/desginer/widget-panel/advanced/data-table.js +7 -0
  42. package/src/components/desginer/widget-panel/advanced/data-table.js.map +1 -1
  43. package/src/components/field-widget/bpmn-editor-widget.vue2.js +0 -1
  44. package/src/components/field-widget/bpmn-editor-widget.vue2.js.map +1 -1
  45. package/src/components/field-widget/button-list-widget.vue2.js +1 -2
  46. package/src/components/field-widget/button-list-widget.vue2.js.map +1 -1
  47. package/src/components/field-widget/button-widget.vue2.js +0 -1
  48. package/src/components/field-widget/button-widget.vue2.js.map +1 -1
  49. package/src/components/field-widget/cascader-widget.vue2.js +0 -1
  50. package/src/components/field-widget/cascader-widget.vue2.js.map +1 -1
  51. package/src/components/field-widget/checkbox-widget.vue2.js +0 -1
  52. package/src/components/field-widget/checkbox-widget.vue2.js.map +1 -1
  53. package/src/components/field-widget/code-editor-widget.vue2.js +0 -1
  54. package/src/components/field-widget/code-editor-widget.vue2.js.map +1 -1
  55. package/src/components/field-widget/color-widget.vue2.js +0 -1
  56. package/src/components/field-widget/color-widget.vue2.js.map +1 -1
  57. package/src/components/field-widget/date-range-widget.vue2.js +0 -1
  58. package/src/components/field-widget/date-range-widget.vue2.js.map +1 -1
  59. package/src/components/field-widget/date-widget.vue2.js +0 -1
  60. package/src/components/field-widget/date-widget.vue2.js.map +1 -1
  61. package/src/components/field-widget/divider-widget.vue2.js +0 -1
  62. package/src/components/field-widget/divider-widget.vue2.js.map +1 -1
  63. package/src/components/field-widget/diy-compontent-widget.vue2.js +12 -4
  64. package/src/components/field-widget/diy-compontent-widget.vue2.js.map +1 -1
  65. package/src/components/field-widget/dropdown-widget.vue2.js +0 -1
  66. package/src/components/field-widget/dropdown-widget.vue2.js.map +1 -1
  67. package/src/components/field-widget/file-upload-widget.vue2.js +0 -1
  68. package/src/components/field-widget/file-upload-widget.vue2.js.map +1 -1
  69. package/src/components/field-widget/form-item-wrapper.vue.js +1 -1
  70. package/src/components/field-widget/form-item-wrapper.vue2.js +2 -2
  71. package/src/components/field-widget/form-item-wrapper.vue2.js.map +1 -1
  72. package/src/components/field-widget/html-text-widget.vue2.js +0 -1
  73. package/src/components/field-widget/html-text-widget.vue2.js.map +1 -1
  74. package/src/components/field-widget/input-widget.vue2.js +0 -1
  75. package/src/components/field-widget/input-widget.vue2.js.map +1 -1
  76. package/src/components/field-widget/number-widget.vue2.js +0 -1
  77. package/src/components/field-widget/number-widget.vue2.js.map +1 -1
  78. package/src/components/field-widget/radio-widget.vue2.js +0 -1
  79. package/src/components/field-widget/radio-widget.vue2.js.map +1 -1
  80. package/src/components/field-widget/rate-widget.vue2.js +0 -1
  81. package/src/components/field-widget/rate-widget.vue2.js.map +1 -1
  82. package/src/components/field-widget/rich-editor-widget.vue2.js +0 -1
  83. package/src/components/field-widget/rich-editor-widget.vue2.js.map +1 -1
  84. package/src/components/field-widget/select-widget.vue2.js +0 -1
  85. package/src/components/field-widget/select-widget.vue2.js.map +1 -1
  86. package/src/components/field-widget/slider-widget.vue2.js +0 -1
  87. package/src/components/field-widget/slider-widget.vue2.js.map +1 -1
  88. package/src/components/field-widget/static-text-widget.vue2.js +0 -1
  89. package/src/components/field-widget/static-text-widget.vue2.js.map +1 -1
  90. package/src/components/field-widget/switch-widget.vue2.js +0 -1
  91. package/src/components/field-widget/switch-widget.vue2.js.map +1 -1
  92. package/src/components/field-widget/textarea-widget.vue2.js +0 -1
  93. package/src/components/field-widget/textarea-widget.vue2.js.map +1 -1
  94. package/src/components/field-widget/time-range-widget.vue2.js +0 -1
  95. package/src/components/field-widget/time-range-widget.vue2.js.map +1 -1
  96. package/src/components/field-widget/time-widget.vue2.js +0 -1
  97. package/src/components/field-widget/time-widget.vue2.js.map +1 -1
  98. package/src/components/field-widget/tree-widget.vue2.js +0 -1
  99. package/src/components/field-widget/tree-widget.vue2.js.map +1 -1
  100. package/src/components/field-widget/treeSelect-widget.vue2.js +0 -1
  101. package/src/components/field-widget/treeSelect-widget.vue2.js.map +1 -1
  102. package/src/components/field-widget/vue-render-widget.vue2.js +0 -1
  103. package/src/components/field-widget/vue-render-widget.vue2.js.map +1 -1
  104. package/src/components/form-render/RenderWigetList.vue2.js +7 -6
  105. package/src/components/form-render/RenderWigetList.vue2.js.map +1 -1
  106. package/src/components/form-render/container-items/data-table-widget.vue2.js +1 -2
  107. package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -1
  108. package/src/components/form-render/container-items/grid-col-widget.vue2.js +1 -2
  109. package/src/components/form-render/container-items/grid-col-widget.vue2.js.map +1 -1
  110. package/src/components/form-render/container-items/grid-sub-form-widget.vue.js +1 -1
  111. package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js +2 -6
  112. package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js.map +1 -1
  113. package/src/components/form-render/container-items/grid-widget.vue2.js +1 -2
  114. package/src/components/form-render/container-items/grid-widget.vue2.js.map +1 -1
  115. package/src/components/form-render/container-items/tab-widget.vue.js +1 -1
  116. package/src/components/form-render/container-items/tab-widget.vue2.js +10 -4
  117. package/src/components/form-render/container-items/tab-widget.vue2.js.map +1 -1
  118. package/src/components/form-render/container-items/vf-box-widget.vue.js +1 -1
  119. package/src/components/form-render/container-items/vf-box-widget.vue2.js +4 -6
  120. package/src/components/form-render/container-items/vf-box-widget.vue2.js.map +1 -1
  121. package/src/components/form-render/container-items/vf-collapse-widget.vue2.js +1 -2
  122. package/src/components/form-render/container-items/vf-collapse-widget.vue2.js.map +1 -1
  123. package/src/components/public/ActionButtonListRender.vue.js +50 -127
  124. package/src/components/public/ActionButtonListRender.vue.js.map +1 -1
  125. package/src/components/public/ActionButtonListRender.vue2.js +130 -0
  126. package/src/components/public/{ActionButtonListRender.vue3.js.map → ActionButtonListRender.vue2.js.map} +1 -1
  127. package/src/components/public/ConfigView/CustomPageRender.vue.js +1 -1
  128. package/src/components/public/CustomerModal/CustomerModal.vue2.js +1 -1
  129. package/src/components/public/DynamicDialog.vue.js +1 -1
  130. package/src/components/render/index.vue2.js +1 -1
  131. package/stats.html +1 -1
  132. package/src/components/public/ActionButtonListRender.vue3.js +0 -53
@@ -1 +1 @@
1
- {"version":3,"file":"useField.js","sources":["../../../../../core/src/hooks/useField.ts"],"sourcesContent":["import {\n ref,\n computed,\n inject,\n onMounted,\n onBeforeUnmount,\n getCurrentInstance,\n Ref,\n toRaw,\n toRefs\n} from 'vue';\nimport { isArray, eq, get } from 'lodash-es';\nimport { FormConfig, FormValidators, Widget } from '@kp-ui/lowcode-core';\nimport { useEmitter, deepClone, useAppRef, useI18n } from '@kp-ui/lowcode-core';\nimport { useExecFunction } from 'tmgc2-share';\n\nexport type FieldProps<T = Widget> = {\n widget: T;\n field: T;\n designer?: any;\n parentWidget?: Widget | null;\n parentList?: T[] | null;\n indexOfParentList?: number;\n subFormRowIndex?: number;\n subFormRowId?: string;\n subFormColIndex?: number;\n};\n\n/**\n * 表单字段 Hook,提供表单字段的通用功能\n * @returns 表单字段相关的状态和方法\n */\nexport function useField<T extends Widget>(props: FieldProps<T>, isInitModelValue = true) {\n // 注入依赖\n const formConfig = inject<Ref<FormConfig>>('formConfig', ref({} as FormConfig));\n const formModel = inject<Ref<any>>('formData', ref({}));\n const getReadMode = inject('getReadMode', () => false);\n const isSubFormField = inject('isSubFormField', false);\n\n const getSubFormName = inject('getSubFormName', () => '');\n const designState = inject('designState', false);\n\n const { registerToRefList, getWidgetRef, getFormRef, unregisterFromRefList } = useAppRef();\n const { executeFunction, asyncExecuteFunction } = useExecFunction();\n\n const { i18nt, i18n2t } = useI18n();\n const { field } = props;\n\n const fieldEditor = ref<InstanceType<any>>(null);\n // 状态\n const oldFieldValue = ref<any>(null);\n const fieldReadonlyFlag = ref<boolean>(false);\n const loading = ref<boolean>(false);\n const rules = ref<any[]>([]);\n const uploadData = ref<Record<string, any>>({});\n const customToolbar = ref<any>(null);\n const instance = getCurrentInstance();\n const { dispatch } = useEmitter();\n\n const size = computed(() => {\n if (field?.options?.size) {\n return field.options.size;\n }\n return formConfig.value.size || 'middle';\n });\n\n const subFormName = computed(() => {\n return getSubFormName ? getSubFormName() : '';\n });\n\n const fieldModel = computed({\n get() {\n return get(formModel?.value || {}, getPropName.value);\n },\n set(value) {\n syncUpdateFormModel(value);\n }\n });\n\n const subFormData = computed(() => formModel.value[subFormName.value]);\n\n const isReadMode = computed(() => {\n return getReadMode() ? true : fieldReadonlyFlag.value;\n });\n\n /**\n * 处理字段隐藏逻辑\n * @returns 是否隐藏\n */\n const handleHidden = computed(() => {\n if (designState) {\n return false;\n }\n const { onHidden, hidden } = props.field.options;\n\n if (hidden) return true;\n if (onHidden) {\n try {\n const result = executeFunction({\n functionBody: onHidden\n });\n if (typeof result === 'boolean') {\n return result;\n } else {\n return false;\n }\n } catch {\n return false;\n }\n }\n return false;\n });\n\n /**\n * 处理字段禁用逻辑\n * @returns 是否禁用\n */\n const handleDisabled = computed(() => {\n if (designState) {\n return false;\n }\n const { onDisabled, disabled } = props.field.options;\n if (disabled) return true;\n if (onDisabled) {\n try {\n const result = executeFunction({\n functionBody: onDisabled\n });\n if (typeof result === 'boolean') {\n return result;\n } else {\n return false;\n }\n } catch (error) {\n console.log({ error });\n return false;\n }\n }\n return false;\n });\n\n /**\n * 在数组中查找元素\n * @param arrayObject 数组对象\n * @param element 要查找的元素\n * @returns 找到的索引,未找到返回-1\n */\n const findInArray = (arrayObject: any[], element: any) => {\n if (!Array.isArray(arrayObject)) {\n return -1;\n }\n\n let foundIdx = -1;\n arrayObject.forEach((aItem, aIdx) => {\n if (aItem === element) {\n foundIdx = aIdx;\n }\n });\n\n return foundIdx;\n };\n\n /**\n * 获取属性名称\n * @returns 属性名称\n */\n const getPropName = computed(() => {\n if (isSubFormField && !designState) {\n return (\n subFormName.value +\n '.' +\n props.subFormRowIndex +\n '.' +\n props.field.options.name +\n ''\n );\n } else {\n return props.field.options.name;\n }\n });\n\n /**\n * 处理组件创建事件\n */\n async function handleOnCreated() {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n if (props.field.options.onCreated) {\n await asyncExecuteFunction({\n functionBody: props.field.options.onCreated\n });\n }\n }\n\n /**\n * 处理组件挂载事件\n */\n async function handleOnMounted() {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n if (props.field.options.onMounted) {\n await asyncExecuteFunction({\n functionBody: props.field.options.onMounted\n });\n }\n }\n\n /**\n * 刷新默认值\n */\n const refreshDefaultValue = () => {\n fieldModel.value = props.field.options.defaultValue;\n };\n\n /**\n * 清除字段规则\n */\n const clearFieldRules = () => {\n if (!props.field.formItemFlag) {\n return;\n }\n\n rules.value.splice(0, rules.value.length); // 清空已有\n };\n\n /**\n * 构建字段规则\n */\n const buildFieldRules = () => {\n if (!props?.field.formItemFlag || props?.field.options.hidden) {\n return;\n }\n\n rules.value.splice(0, rules.value.length); // 清空已有\n if (props.field.options.required) {\n rules.value.push({\n required: true,\n // trigger: ['blur', 'change'],\n trigger: [\n 'blur'\n ] /* 去掉change事件触发校验,change事件触发时formModel数据尚未更新,导致radio/checkbox必填校验出错!! */,\n message: props.field.options.requiredHint || i18nt('render.hint.fieldRequired')\n });\n }\n\n if (props.field.options.validation) {\n const vldName = props.field.options.validation;\n if (FormValidators[vldName]) {\n rules.value.push({\n validator: FormValidators[vldName],\n trigger: ['blur', 'change'],\n label: props.field.options.label,\n errorMsg: props.field.options.validationHint\n });\n } else {\n rules.value.push({\n validator: FormValidators['regExp'],\n trigger: ['blur', 'change'],\n regExp: vldName,\n label: props.field.options.label,\n errorMsg: props.field.options.validationHint\n });\n }\n }\n\n if (props.field.options.onValidate) {\n const customFn = (rule: any, value: any) => {\n return executeFunction({\n functionBody: props.field.options.onValidate,\n params: { rule, value },\n keys: ['rule', 'value']\n });\n };\n rules.value.push({\n validator: customFn,\n trigger: ['blur'],\n label: props.field.options.label\n });\n }\n };\n\n /**\n * 禁用字段值变动触发表单校验\n */\n const disableChangeValidate = () => {\n if (!rules.value) {\n return;\n }\n\n rules.value.forEach(rule => {\n if (rule.trigger) {\n rule.trigger.splice(0, rule.trigger.length);\n }\n });\n };\n\n /**\n * 启用字段值变动触发表单校验\n */\n const enableChangeValidate = () => {\n if (!rules.value) {\n return;\n }\n\n rules.value.forEach(rule => {\n if (rule.trigger) {\n rule.trigger.push('blur');\n rule.trigger.push('change');\n }\n });\n };\n\n /**\n * 禁用列表中的选项\n * @param optionList 选项列表\n * @param optionValue 选项值\n */\n const disableOptionOfList = (optionList: any[], optionValue: any) => {\n if (optionList && optionList.length > 0) {\n optionList.forEach(opt => {\n if (opt.value === optionValue) {\n opt.disabled = true;\n }\n });\n }\n };\n\n /**\n * 启用列表中的选项\n * @param optionList 选项列表\n * @param optionValue 选项值\n */\n const enableOptionOfList = (optionList: any[], optionValue: any) => {\n if (optionList && optionList.length > 0) {\n optionList.forEach(opt => {\n if (opt.value === optionValue) {\n opt.disabled = false;\n }\n });\n }\n };\n\n /**\n * 发送字段数据变更事件\n * @param newValue 新值\n * @param oldValue 旧值\n */\n const emitFieldDataChange = (newValue: any, oldValue: any) => {\n if (newValue) {\n newValue = newValue.target ? newValue.target.value : newValue;\n }\n\n if (!instance) return;\n\n /* 必须用dispatch向指定父组件派发消息!! */\n dispatch('VFormRender', 'fieldChange', [\n props.field.options.name,\n newValue,\n oldValue,\n subFormName.value,\n props.subFormRowIndex\n ]);\n };\n\n /**\n * 同步更新表单模型\n * @param value 值\n */\n\n const syncUpdateFormModel = value => {\n if (designState) {\n dispatch('VFormDesigner', 'fieldChange', {\n fieldName: getPropName.value,\n value,\n field: field\n });\n //设计状态不触发事件\n return;\n }\n /* 主动触发表单的单个字段校验,用于清除字段可能存在的校验错误提示 */\n dispatch('VFormRender', 'fieldValidation', [getPropName.value]);\n const oldValue = toRaw(fieldModel.value);\n dispatch('VFormRender', 'fieldChange', {\n fieldName: getPropName.value,\n value,\n oldValue: oldValue,\n field: field\n });\n handleOnChange(value, oldValue);\n };\n\n /**\n * 处理焦点自定义事件\n * @param event 事件对象\n */\n const handleFocusCustomEvent = (event: any) => {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n oldFieldValue.value = deepClone(fieldModel.value); // 保存修改change之前的值\n\n if (props.field.options.onFocus) {\n executeFunction({\n functionBody: props.field.options.onFocus,\n params: { event },\n keys: ['event']\n });\n }\n };\n\n /**\n * 处理失焦自定义事件\n * @param event 事件对象\n */\n const handleBlurCustomEvent = (event: any) => {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n if (props.field.options.onBlur) {\n executeFunction({\n functionBody: props.field.options.onBlur,\n params: { event },\n keys: ['event']\n });\n }\n };\n\n /**\n * 发送附加按钮点击事件\n */\n const emitAppendButtonClick = () => {\n if (designState) {\n // 设计状态不触发点击事件\n return;\n }\n\n if (props.field.options.onAppendButtonClick) {\n executeFunction({\n functionBody: options.value.onAppendButtonClick\n });\n }\n };\n\n const executeWidgetEventFunction = async (\n eventName: string,\n params: any,\n keys = ['params']\n ) => {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n if (options.value[eventName]) {\n await asyncExecuteFunction({\n functionBody: options.value[eventName],\n params: { params },\n keys: keys\n });\n }\n };\n\n /**\n * 处理变更事件\n * @param val 新值\n * @param oldVal 旧值\n * @param ops 选项\n */\n const handleOnChange = (val: any, oldVal: any) => {\n // 自定义onChange事件\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n if (props.field.options.onChange) {\n executeFunction({\n functionBody: props.field.options.onChange,\n params: {\n value: val,\n oldValue: oldVal,\n subFormData: subFormData.value,\n rowId: props.subFormRowId\n },\n keys: ['value', 'oldValue', 'subFormData', 'rowId']\n });\n }\n };\n\n /**\n * 处理点击事件\n */\n const onClick = async () => {\n if (designState) {\n // 设计状态不触发点击事件\n return;\n }\n\n if (props.field.options.onClick) {\n return await asyncExecuteFunction({\n functionBody: props.field.options.onClick\n });\n }\n };\n\n /**\n * 处理图标点击事件\n */\n const handleClickIcon = async () => {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n if (handleDisabled.value) {\n return;\n }\n if (field.options.onClickIcon) {\n await asyncExecuteFunction({\n functionBody: field.options.onClickIcon\n });\n }\n };\n\n /**\n * 获取字段编辑器\n * @returns 字段编辑器\n */\n const getFieldEditor = () => {\n // 获取内置的el表单组件\n return fieldEditor.value;\n };\n\n /**\n * 显示文件列表\n * @param list 文件列表\n * @returns 格式化后的文件列表\n */\n const showFileList = (list: any) => {\n if (typeof list === 'string') {\n list = JSON.parse(list);\n }\n if (!isArray(list)) return [];\n const res = list.map((item: any, uid: number) => ({\n ...item,\n name: item.fileName,\n uid\n }));\n return res;\n };\n\n /**\n * 设置值\n * @param newValue 新值\n * @param disableChangeEvent 是否禁用变更事件\n */\n const setValue = (newValue: any, disableChangeEvent = false) => {\n if (newValue) {\n newValue = newValue.target ? newValue.target.value : newValue;\n }\n if (eq(fieldModel.value, newValue)) return;\n\n const oldValue = deepClone(fieldModel.value);\n if (props.field.type === 'file-upload') {\n newValue = showFileList(newValue || []);\n // TODO\n } else if (props.field.type === 'code-editor') {\n const fieldEditor = getFieldEditor();\n if (fieldEditor) {\n fieldEditor.setValue(newValue);\n }\n }\n fieldModel.value = newValue;\n if (!disableChangeEvent) {\n emitFieldDataChange(newValue, oldValue);\n }\n };\n\n /**\n * 获取值\n * @returns 字段值\n */\n const getValue = () => {\n return fieldModel.value;\n };\n\n /**\n * 重置字段\n */\n const resetField = () => {\n const defaultValue = props.field.options.defaultValue;\n setValue(defaultValue);\n\n // 清空上传组件文件列表\n if (props.field.type === 'picture-upload' || props.field.type === 'file-upload') {\n fieldModel.value.splice(0, fieldModel.value.length);\n // handleChangeEvent(fieldModel.value);\n }\n };\n\n /**\n * 设置只读\n * @param flag 是否只读\n */\n const setReadonly = (flag: boolean) => {\n props.field.options.readonly = flag;\n };\n\n /**\n * 设置禁用\n * @param flag 是否禁用\n */\n const setDisabled = (flag: boolean) => {\n props.field.options.disabled = flag;\n };\n\n /**\n * 设置附加按钮可见性\n * @param flag 是否可见\n */\n const setAppendButtonVisible = (flag: boolean) => {\n props.field.options.appendButton = flag;\n };\n\n /**\n * 设置附加按钮禁用状态\n * @param flag 是否禁用\n */\n const setAppendButtonDisabled = (flag: boolean) => {\n props.field.options.appendButtonDisabled = flag;\n };\n\n /**\n * 设置隐藏\n * @param flag 是否隐藏\n */\n const setHidden = (flag: boolean) => {\n props.field.options.hidden = flag;\n\n if (flag) {\n // 清除组件校验规则\n clearFieldRules();\n } else {\n // 重建组件校验规则\n buildFieldRules();\n }\n };\n\n /**\n * 设置必填\n * @param flag 是否必填\n */\n const setRequired = (flag: boolean) => {\n props.field.options.required = flag;\n buildFieldRules();\n\n if (!designState && !flag) {\n // 清除必填校验提示\n clearValidate();\n }\n };\n\n /**\n * 清除字段校验提示\n */\n const clearValidate = () => {\n if (designState) {\n return;\n }\n\n getFormRef().clearValidate(getPropName.value);\n };\n\n /**\n * 获取VForm上下文\n * @returns VForm上下文\n */\n const getVfCtx = () => {\n return getFormRef()?.vfCtx || {};\n };\n\n /**\n * 设置标签\n * @param newLabel 新标签\n */\n const setLabel = (newLabel: string) => {\n props.field.options.label = newLabel;\n };\n\n /**\n * 聚焦\n */\n const focus = () => {\n const fieldEditor = getFieldEditor();\n if (fieldEditor && fieldEditor.focus) {\n fieldEditor.focus();\n }\n };\n\n /**\n * 设置上传数据\n * @param name 名称\n * @param value 值\n */\n const setUploadData = (name: string, value: any) => {\n uploadData.value[name] = value;\n };\n\n /**\n * 设置或取消设置字段只读查看模式\n * @param readonlyFlag 只读标志\n */\n const setReadMode = (readonlyFlag = true) => {\n fieldReadonlyFlag.value = readonlyFlag;\n };\n\n /**\n * 动态增加自定义css样式\n * @param className 类名\n */\n const addCssClass = (className: string) => {\n if (!props.field.options.customClass) {\n props.field.options.customClass = [className];\n } else {\n props.field.options.customClass.push(className);\n }\n };\n const customClass = computed(() => props.field.options.customClass);\n\n /**\n * 动态移除自定义css样式\n * @param className 类名\n */\n const removeCssClass = (className: string) => {\n if (!props.field.options.customClass) {\n return;\n }\n\n let foundIdx = -1;\n props.field.options.customClass.map((cc: string, idx: number) => {\n if (cc === className) {\n foundIdx = idx;\n }\n });\n if (foundIdx > -1) {\n props.field.options.customClass.splice(foundIdx, 1);\n }\n };\n\n const getEl = () => {\n return fieldEditor.value?.$el;\n };\n\n /**\n * 设置组件选项\n * @param optionName 选项名称\n * @param optionValue 选项值\n */\n const setWidgetOption = (optionName: string, optionValue: any) => {\n // 通用组件选项修改API\n props.field.options[optionName] = optionValue;\n };\n\n const options = computed({\n get() {\n return props.field.options;\n },\n set(value) {\n props.field.options = value;\n }\n });\n\n const initFieldModel = () => {\n // 这里初始化时候注意一下是不是子表单\n let value;\n if (isSubFormField) {\n value = fieldModel.value;\n } else {\n value =\n typeof props.field.options.defaultValue === 'undefined'\n ? ''\n : props.field.options.defaultValue;\n }\n\n dispatch('VFormRender', 'fieldChange', {\n fieldName: getPropName.value,\n value: toRaw(value),\n oldValue: toRaw(fieldModel.value),\n field: field\n });\n };\n\n // 生命周期钩子\n onMounted(async () => {\n if (isInitModelValue) {\n initFieldModel();\n }\n await registerToRefList();\n\n await handleOnCreated();\n\n await handleOnMounted();\n\n buildFieldRules();\n });\n\n onBeforeUnmount(() => {\n unregisterFromRefList();\n });\n\n const defineExposed = {\n subFormRowIndex: computed(() => props.subFormRowIndex),\n i18nt,\n options,\n proxy: instance?.proxy,\n field,\n widget: field,\n fieldModel,\n fieldEditor,\n isReadMode,\n formModel,\n setWidgetOption,\n setReadonly,\n setDisabled,\n getVfCtx,\n setLabel,\n getEl,\n setReadMode,\n resetField,\n setValue,\n getValue,\n getFieldEditor,\n getFormRef,\n getWidgetRef,\n setHidden,\n addCssClass,\n removeCssClass,\n setRequired,\n clearValidate,\n focus\n };\n\n return {\n executeWidgetEventFunction,\n asyncExecuteFunction,\n executeFunction,\n options,\n customClass,\n fieldEditor,\n // 状态\n fieldModel,\n oldFieldValue,\n fieldReadonlyFlag,\n loading,\n rules,\n uploadData,\n designState,\n customToolbar,\n i18nt,\n i18n2t,\n size,\n field,\n // 计算属性\n formConfig,\n subFormName,\n\n formModel,\n isReadMode,\n\n // 方法\n handleHidden,\n handleDisabled,\n findInArray,\n getPropName,\n refreshDefaultValue,\n clearFieldRules,\n buildFieldRules,\n disableChangeValidate,\n enableChangeValidate,\n disableOptionOfList,\n enableOptionOfList,\n emitFieldDataChange,\n syncUpdateFormModel,\n handleFocusCustomEvent,\n handleBlurCustomEvent,\n emitAppendButtonClick,\n handleOnChange,\n onClick,\n handleClickIcon,\n getFieldEditor,\n showFileList,\n\n setAppendButtonVisible,\n setAppendButtonDisabled,\n\n focus,\n setUploadData,\n\n isSubFormField,\n defineExposed\n };\n}\n"],"names":["fieldEditor"],"mappings":"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"}
1
+ {"version":3,"file":"useField.js","sources":["../../../../../core/src/hooks/useField.ts"],"sourcesContent":["import {\n ref,\n computed,\n inject,\n onMounted,\n onBeforeUnmount,\n getCurrentInstance,\n Ref,\n toRaw,\n toRefs\n} from 'vue';\nimport { isArray, eq, get } from 'lodash-es';\nimport { FormConfig, FormValidators, Widget } from '@kp-ui/lowcode-core';\nimport { useEmitter, deepClone, useAppRef, useI18n } from '@kp-ui/lowcode-core';\nimport { useExecFunction } from 'tmgc2-share';\n\nexport type FieldProps<T = Widget> = {\n widget: T;\n field: T;\n designer?: any;\n parentWidget?: Widget | null;\n parentList?: T[] | null;\n indexOfParentList?: number;\n subFormRowIndex?: number;\n subFormColIndex?: number;\n};\n\n/**\n * 表单字段 Hook,提供表单字段的通用功能\n * @returns 表单字段相关的状态和方法\n */\nexport function useField<T extends Widget>(props: FieldProps<T>, isInitModelValue = true) {\n // 注入依赖\n const formConfig = inject<Ref<FormConfig>>('formConfig', ref({} as FormConfig));\n const formModel = inject<Ref<any>>('formData', ref({}));\n const getReadMode = inject('getReadMode', () => false);\n const isSubFormField = inject('isSubFormField', false);\n const subFormRowIndex = inject<Ref<number>>('subFormRowIndex', ref(0));\n const getSubFormName = inject('getSubFormName', () => '');\n const designState = inject('designState', false);\n\n const { registerToRefList, getWidgetRef, getFormRef, unregisterFromRefList } = useAppRef();\n const { executeFunction, asyncExecuteFunction } = useExecFunction();\n\n const { i18nt, i18n2t } = useI18n();\n const { field } = props;\n\n const fieldEditor = ref<InstanceType<any>>(null);\n // 状态\n const oldFieldValue = ref<any>(null);\n const fieldReadonlyFlag = ref<boolean>(false);\n const loading = ref<boolean>(false);\n const rules = ref<any[]>([]);\n const uploadData = ref<Record<string, any>>({});\n const customToolbar = ref<any>(null);\n const instance = getCurrentInstance();\n const { dispatch } = useEmitter();\n\n const size = computed(() => {\n if (field?.options?.size) {\n return field.options.size;\n }\n return formConfig.value.size || 'middle';\n });\n\n const subFormName = computed(() => {\n return getSubFormName ? getSubFormName() : '';\n });\n\n const fieldModel = computed({\n get() {\n return get(formModel?.value || {}, getPropName.value);\n },\n set(value) {\n syncUpdateFormModel(value);\n }\n });\n\n const subFormData = computed(() => formModel.value[subFormName.value]);\n\n const isReadMode = computed(() => {\n return getReadMode() ? true : fieldReadonlyFlag.value;\n });\n\n /**\n * 处理字段隐藏逻辑\n * @returns 是否隐藏\n */\n const handleHidden = computed(() => {\n if (designState) {\n return false;\n }\n const { onHidden, hidden } = props.field.options;\n\n if (hidden) return true;\n if (onHidden) {\n try {\n const result = executeFunction({\n functionBody: onHidden\n });\n if (typeof result === 'boolean') {\n return result;\n } else {\n return false;\n }\n } catch {\n return false;\n }\n }\n return false;\n });\n\n /**\n * 处理字段禁用逻辑\n * @returns 是否禁用\n */\n const handleDisabled = computed(() => {\n if (designState) {\n return false;\n }\n const { onDisabled, disabled } = props.field.options;\n if (disabled) return true;\n if (onDisabled) {\n try {\n const result = executeFunction({\n functionBody: onDisabled\n });\n if (typeof result === 'boolean') {\n return result;\n } else {\n return false;\n }\n } catch (error) {\n console.log({ error });\n return false;\n }\n }\n return false;\n });\n\n /**\n * 在数组中查找元素\n * @param arrayObject 数组对象\n * @param element 要查找的元素\n * @returns 找到的索引,未找到返回-1\n */\n const findInArray = (arrayObject: any[], element: any) => {\n if (!Array.isArray(arrayObject)) {\n return -1;\n }\n\n let foundIdx = -1;\n arrayObject.forEach((aItem, aIdx) => {\n if (aItem === element) {\n foundIdx = aIdx;\n }\n });\n\n return foundIdx;\n };\n\n /**\n * 获取属性名称\n * @returns 属性名称\n */\n const getPropName = computed(() => {\n if (isSubFormField && !designState) {\n return (\n subFormName.value +\n '.' +\n subFormRowIndex.value +\n '.' +\n props.field.options.name +\n ''\n );\n } else {\n return props.field.options.name;\n }\n });\n\n /**\n * 处理组件创建事件\n */\n async function handleOnCreated() {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n if (props.field.options.onCreated) {\n await asyncExecuteFunction({\n functionBody: props.field.options.onCreated\n });\n }\n }\n\n /**\n * 处理组件挂载事件\n */\n async function handleOnMounted() {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n if (props.field.options.onMounted) {\n await asyncExecuteFunction({\n functionBody: props.field.options.onMounted\n });\n }\n }\n\n /**\n * 刷新默认值\n */\n const refreshDefaultValue = () => {\n fieldModel.value = props.field.options.defaultValue;\n };\n\n /**\n * 清除字段规则\n */\n const clearFieldRules = () => {\n if (!props.field.formItemFlag) {\n return;\n }\n\n rules.value.splice(0, rules.value.length); // 清空已有\n };\n\n /**\n * 构建字段规则\n */\n const buildFieldRules = () => {\n if (!props?.field.formItemFlag || props?.field.options.hidden) {\n return;\n }\n\n rules.value.splice(0, rules.value.length); // 清空已有\n if (props.field.options.required) {\n rules.value.push({\n required: true,\n // trigger: ['blur', 'change'],\n trigger: [\n 'blur'\n ] /* 去掉change事件触发校验,change事件触发时formModel数据尚未更新,导致radio/checkbox必填校验出错!! */,\n message: props.field.options.requiredHint || i18nt('render.hint.fieldRequired')\n });\n }\n\n if (props.field.options.validation) {\n const vldName = props.field.options.validation;\n if (FormValidators[vldName]) {\n rules.value.push({\n validator: FormValidators[vldName],\n trigger: ['blur', 'change'],\n label: props.field.options.label,\n errorMsg: props.field.options.validationHint\n });\n } else {\n rules.value.push({\n validator: FormValidators['regExp'],\n trigger: ['blur', 'change'],\n regExp: vldName,\n label: props.field.options.label,\n errorMsg: props.field.options.validationHint\n });\n }\n }\n\n if (props.field.options.onValidate) {\n const customFn = (rule: any, value: any) => {\n return executeFunction({\n functionBody: props.field.options.onValidate,\n params: { rule, value },\n keys: ['rule', 'value']\n });\n };\n rules.value.push({\n validator: customFn,\n trigger: ['blur'],\n label: props.field.options.label\n });\n }\n };\n\n /**\n * 禁用字段值变动触发表单校验\n */\n const disableChangeValidate = () => {\n if (!rules.value) {\n return;\n }\n\n rules.value.forEach(rule => {\n if (rule.trigger) {\n rule.trigger.splice(0, rule.trigger.length);\n }\n });\n };\n\n /**\n * 启用字段值变动触发表单校验\n */\n const enableChangeValidate = () => {\n if (!rules.value) {\n return;\n }\n\n rules.value.forEach(rule => {\n if (rule.trigger) {\n rule.trigger.push('blur');\n rule.trigger.push('change');\n }\n });\n };\n\n /**\n * 禁用列表中的选项\n * @param optionList 选项列表\n * @param optionValue 选项值\n */\n const disableOptionOfList = (optionList: any[], optionValue: any) => {\n if (optionList && optionList.length > 0) {\n optionList.forEach(opt => {\n if (opt.value === optionValue) {\n opt.disabled = true;\n }\n });\n }\n };\n\n /**\n * 启用列表中的选项\n * @param optionList 选项列表\n * @param optionValue 选项值\n */\n const enableOptionOfList = (optionList: any[], optionValue: any) => {\n if (optionList && optionList.length > 0) {\n optionList.forEach(opt => {\n if (opt.value === optionValue) {\n opt.disabled = false;\n }\n });\n }\n };\n\n /**\n * 发送字段数据变更事件\n * @param newValue 新值\n * @param oldValue 旧值\n */\n const emitFieldDataChange = (newValue: any, oldValue: any) => {\n if (newValue) {\n newValue = newValue.target ? newValue.target.value : newValue;\n }\n\n if (!instance) return;\n\n /* 必须用dispatch向指定父组件派发消息!! */\n dispatch('VFormRender', 'fieldChange', [\n props.field.options.name,\n newValue,\n oldValue,\n subFormName.value,\n subFormRowIndex.value\n ]);\n };\n\n /**\n * 同步更新表单模型\n * @param value 值\n */\n\n const syncUpdateFormModel = value => {\n if (designState) {\n dispatch('VFormDesigner', 'fieldChange', {\n fieldName: getPropName.value,\n value,\n field: field\n });\n //设计状态不触发事件\n return;\n }\n /* 主动触发表单的单个字段校验,用于清除字段可能存在的校验错误提示 */\n dispatch('VFormRender', 'fieldValidation', [getPropName.value]);\n const oldValue = toRaw(fieldModel.value);\n dispatch('VFormRender', 'fieldChange', {\n fieldName: getPropName.value,\n value,\n oldValue: oldValue,\n field: field\n });\n handleOnChange(value, oldValue);\n };\n\n /**\n * 处理焦点自定义事件\n * @param event 事件对象\n */\n const handleFocusCustomEvent = (event: any) => {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n oldFieldValue.value = deepClone(fieldModel.value); // 保存修改change之前的值\n\n if (props.field.options.onFocus) {\n executeFunction({\n functionBody: props.field.options.onFocus,\n params: { event },\n keys: ['event']\n });\n }\n };\n\n /**\n * 处理失焦自定义事件\n * @param event 事件对象\n */\n const handleBlurCustomEvent = (event: any) => {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n if (props.field.options.onBlur) {\n executeFunction({\n functionBody: props.field.options.onBlur,\n params: { event },\n keys: ['event']\n });\n }\n };\n\n /**\n * 发送附加按钮点击事件\n */\n const emitAppendButtonClick = () => {\n if (designState) {\n // 设计状态不触发点击事件\n return;\n }\n\n if (props.field.options.onAppendButtonClick) {\n executeFunction({\n functionBody: options.value.onAppendButtonClick\n });\n }\n };\n\n const executeWidgetEventFunction = async (\n eventName: string,\n params: any,\n keys = ['params']\n ) => {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n if (options.value[eventName]) {\n await asyncExecuteFunction({\n functionBody: options.value[eventName],\n params: { params },\n keys: keys\n });\n }\n };\n\n /**\n * 处理变更事件\n * @param val 新值\n * @param oldVal 旧值\n * @param ops 选项\n */\n const handleOnChange = (val: any, oldVal: any) => {\n // 自定义onChange事件\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n\n if (props.field.options.onChange) {\n executeFunction({\n functionBody: props.field.options.onChange,\n params: {\n value: val,\n oldValue: oldVal,\n subFormData: subFormData.value,\n rowId: subFormRowIndex.value\n },\n keys: ['value', 'oldValue', 'subFormData', 'rowId']\n });\n }\n };\n\n /**\n * 处理点击事件\n */\n const onClick = async () => {\n if (designState) {\n // 设计状态不触发点击事件\n return;\n }\n\n if (props.field.options.onClick) {\n return await asyncExecuteFunction({\n functionBody: props.field.options.onClick\n });\n }\n };\n\n /**\n * 处理图标点击事件\n */\n const handleClickIcon = async () => {\n if (designState) {\n // 设计状态不触发事件\n return;\n }\n if (handleDisabled.value) {\n return;\n }\n if (field.options.onClickIcon) {\n await asyncExecuteFunction({\n functionBody: field.options.onClickIcon\n });\n }\n };\n\n /**\n * 获取字段编辑器\n * @returns 字段编辑器\n */\n const getFieldEditor = () => {\n // 获取内置的el表单组件\n return fieldEditor.value;\n };\n\n /**\n * 显示文件列表\n * @param list 文件列表\n * @returns 格式化后的文件列表\n */\n const showFileList = (list: any) => {\n if (typeof list === 'string') {\n list = JSON.parse(list);\n }\n if (!isArray(list)) return [];\n const res = list.map((item: any, uid: number) => ({\n ...item,\n name: item.fileName,\n uid\n }));\n return res;\n };\n\n /**\n * 设置值\n * @param newValue 新值\n * @param disableChangeEvent 是否禁用变更事件\n */\n const setValue = (newValue: any, disableChangeEvent = false) => {\n if (newValue) {\n newValue = newValue.target ? newValue.target.value : newValue;\n }\n if (eq(fieldModel.value, newValue)) return;\n\n const oldValue = deepClone(fieldModel.value);\n if (props.field.type === 'file-upload') {\n newValue = showFileList(newValue || []);\n // TODO\n } else if (props.field.type === 'code-editor') {\n const fieldEditor = getFieldEditor();\n if (fieldEditor) {\n fieldEditor.setValue(newValue);\n }\n }\n fieldModel.value = newValue;\n if (!disableChangeEvent) {\n emitFieldDataChange(newValue, oldValue);\n }\n };\n\n /**\n * 获取值\n * @returns 字段值\n */\n const getValue = () => {\n return fieldModel.value;\n };\n\n /**\n * 重置字段\n */\n const resetField = () => {\n const defaultValue = props.field.options.defaultValue;\n setValue(defaultValue);\n\n // 清空上传组件文件列表\n if (props.field.type === 'picture-upload' || props.field.type === 'file-upload') {\n fieldModel.value.splice(0, fieldModel.value.length);\n // handleChangeEvent(fieldModel.value);\n }\n };\n\n /**\n * 设置只读\n * @param flag 是否只读\n */\n const setReadonly = (flag: boolean) => {\n props.field.options.readonly = flag;\n };\n\n /**\n * 设置禁用\n * @param flag 是否禁用\n */\n const setDisabled = (flag: boolean) => {\n props.field.options.disabled = flag;\n };\n\n /**\n * 设置附加按钮可见性\n * @param flag 是否可见\n */\n const setAppendButtonVisible = (flag: boolean) => {\n props.field.options.appendButton = flag;\n };\n\n /**\n * 设置附加按钮禁用状态\n * @param flag 是否禁用\n */\n const setAppendButtonDisabled = (flag: boolean) => {\n props.field.options.appendButtonDisabled = flag;\n };\n\n /**\n * 设置隐藏\n * @param flag 是否隐藏\n */\n const setHidden = (flag: boolean) => {\n props.field.options.hidden = flag;\n\n if (flag) {\n // 清除组件校验规则\n clearFieldRules();\n } else {\n // 重建组件校验规则\n buildFieldRules();\n }\n };\n\n /**\n * 设置必填\n * @param flag 是否必填\n */\n const setRequired = (flag: boolean) => {\n props.field.options.required = flag;\n buildFieldRules();\n\n if (!designState && !flag) {\n // 清除必填校验提示\n clearValidate();\n }\n };\n\n /**\n * 清除字段校验提示\n */\n const clearValidate = () => {\n if (designState) {\n return;\n }\n\n getFormRef().clearValidate(getPropName.value);\n };\n\n /**\n * 获取VForm上下文\n * @returns VForm上下文\n */\n const getVfCtx = () => {\n return getFormRef()?.vfCtx || {};\n };\n\n /**\n * 设置标签\n * @param newLabel 新标签\n */\n const setLabel = (newLabel: string) => {\n props.field.options.label = newLabel;\n };\n\n /**\n * 聚焦\n */\n const focus = () => {\n const fieldEditor = getFieldEditor();\n if (fieldEditor && fieldEditor.focus) {\n fieldEditor.focus();\n }\n };\n\n /**\n * 设置上传数据\n * @param name 名称\n * @param value 值\n */\n const setUploadData = (name: string, value: any) => {\n uploadData.value[name] = value;\n };\n\n /**\n * 设置或取消设置字段只读查看模式\n * @param readonlyFlag 只读标志\n */\n const setReadMode = (readonlyFlag = true) => {\n fieldReadonlyFlag.value = readonlyFlag;\n };\n\n /**\n * 动态增加自定义css样式\n * @param className 类名\n */\n const addCssClass = (className: string) => {\n if (!props.field.options.customClass) {\n props.field.options.customClass = [className];\n } else {\n props.field.options.customClass.push(className);\n }\n };\n const customClass = computed(() => props.field.options.customClass);\n\n /**\n * 动态移除自定义css样式\n * @param className 类名\n */\n const removeCssClass = (className: string) => {\n if (!props.field.options.customClass) {\n return;\n }\n\n let foundIdx = -1;\n props.field.options.customClass.map((cc: string, idx: number) => {\n if (cc === className) {\n foundIdx = idx;\n }\n });\n if (foundIdx > -1) {\n props.field.options.customClass.splice(foundIdx, 1);\n }\n };\n\n const getEl = () => {\n return fieldEditor.value?.$el;\n };\n\n /**\n * 设置组件选项\n * @param optionName 选项名称\n * @param optionValue 选项值\n */\n const setWidgetOption = (optionName: string, optionValue: any) => {\n // 通用组件选项修改API\n props.field.options[optionName] = optionValue;\n };\n\n const options = computed({\n get() {\n return props.field.options;\n },\n set(value) {\n props.field.options = value;\n }\n });\n\n const initFieldModel = () => {\n // 这里初始化时候注意一下是不是子表单\n let value;\n if (isSubFormField) {\n value = fieldModel.value;\n } else {\n value =\n typeof props.field.options.defaultValue === 'undefined'\n ? ''\n : props.field.options.defaultValue;\n }\n\n console.log(getPropName.value);\n\n dispatch('VFormRender', 'fieldChange', {\n fieldName: getPropName.value,\n value: toRaw(value),\n oldValue: toRaw(fieldModel.value),\n field: field\n });\n };\n\n // 生命周期钩子\n onMounted(async () => {\n if (isInitModelValue) {\n initFieldModel();\n }\n await registerToRefList();\n\n await handleOnCreated();\n\n await handleOnMounted();\n\n buildFieldRules();\n });\n\n onBeforeUnmount(() => {\n unregisterFromRefList();\n });\n\n const defineExposed = {\n subFormRowIndex,\n i18nt,\n options,\n proxy: instance?.proxy,\n field,\n widget: field,\n fieldModel,\n fieldEditor,\n isReadMode,\n formModel,\n setWidgetOption,\n setReadonly,\n setDisabled,\n getVfCtx,\n setLabel,\n getEl,\n setReadMode,\n resetField,\n setValue,\n getValue,\n getFieldEditor,\n getFormRef,\n getWidgetRef,\n setHidden,\n addCssClass,\n removeCssClass,\n setRequired,\n clearValidate,\n focus\n };\n\n return {\n executeWidgetEventFunction,\n asyncExecuteFunction,\n executeFunction,\n options,\n customClass,\n fieldEditor,\n // 状态\n fieldModel,\n oldFieldValue,\n fieldReadonlyFlag,\n loading,\n rules,\n uploadData,\n designState,\n customToolbar,\n i18nt,\n i18n2t,\n size,\n field,\n // 计算属性\n formConfig,\n subFormName,\n\n formModel,\n isReadMode,\n\n // 方法\n handleHidden,\n handleDisabled,\n findInArray,\n getPropName,\n refreshDefaultValue,\n clearFieldRules,\n buildFieldRules,\n disableChangeValidate,\n enableChangeValidate,\n disableOptionOfList,\n enableOptionOfList,\n emitFieldDataChange,\n syncUpdateFormModel,\n handleFocusCustomEvent,\n handleBlurCustomEvent,\n emitAppendButtonClick,\n handleOnChange,\n onClick,\n handleClickIcon,\n getFieldEditor,\n showFileList,\n\n setAppendButtonVisible,\n setAppendButtonDisabled,\n\n focus,\n setUploadData,\n subFormRowIndex,\n isSubFormField,\n defineExposed\n };\n}\n"],"names":["fieldEditor"],"mappings":"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"}
@@ -22,6 +22,27 @@ const useWebMCP = (context) => {
22
22
  getWidgetsInfo: () => {
23
23
  var _a2, _b;
24
24
  return Array.from(((_b = (_a2 = context.widgetRefList) == null ? void 0 : _a2.value) == null ? void 0 : _b.keys()) || []);
25
+ },
26
+ getFormJson: () => {
27
+ var _a2;
28
+ const designer = (_a2 = context.designer) == null ? void 0 : _a2.value;
29
+ if (designer) {
30
+ return {
31
+ widgetList: designer.widgetList,
32
+ formConfig: designer.formConfig
33
+ };
34
+ }
35
+ return null;
36
+ },
37
+ setFormJson: (formJson) => {
38
+ var _a2;
39
+ const designer = (_a2 = context.designer) == null ? void 0 : _a2.value;
40
+ if (designer) {
41
+ designer.loadFormJson(formJson);
42
+ designer.emitHistoryChange();
43
+ return "表单 JSON 已导入";
44
+ }
45
+ return "导入失败:设计器上下文不存在";
25
46
  }
26
47
  };
27
48
  }
@@ -71,6 +92,58 @@ const useWebMCP = (context) => {
71
92
  };
72
93
  }
73
94
  });
95
+ nav.modelContext.registerTool({
96
+ name: "set_form_json",
97
+ description: "设置低代码表单的完整 JSON 结构(包含组件布局和配置)",
98
+ inputSchema: {
99
+ type: "object",
100
+ properties: {
101
+ formJson: {
102
+ type: "object",
103
+ description: "表单 JSON 对象,包含 widgetList 和 formConfig"
104
+ }
105
+ },
106
+ required: ["formJson"]
107
+ },
108
+ execute: async ({ formJson }) => {
109
+ var _a2;
110
+ const designer = (_a2 = context.designer) == null ? void 0 : _a2.value;
111
+ if (designer) {
112
+ designer.loadFormJson(formJson);
113
+ designer.emitHistoryChange();
114
+ return {
115
+ content: [{ type: "text", text: "表单 JSON 已导入" }]
116
+ };
117
+ }
118
+ return {
119
+ content: [{ type: "text", text: "导入失败:设计器上下文不存在" }]
120
+ };
121
+ }
122
+ });
123
+ nav.modelContext.registerTool({
124
+ name: "get_form_json",
125
+ description: "获取当前低代码表单的完整 JSON 结构(包含组件布局和配置)",
126
+ execute: async () => {
127
+ var _a2;
128
+ const designer = (_a2 = context.designer) == null ? void 0 : _a2.value;
129
+ if (designer) {
130
+ return {
131
+ content: [
132
+ {
133
+ type: "text",
134
+ text: JSON.stringify({
135
+ widgetList: designer.widgetList,
136
+ formConfig: designer.formConfig
137
+ })
138
+ }
139
+ ]
140
+ };
141
+ }
142
+ return {
143
+ content: [{ type: "text", text: "获取失败:设计器上下文不存在" }]
144
+ };
145
+ }
146
+ });
74
147
  };
75
148
  return {
76
149
  registerWebMCPTools
@@ -1 +1 @@
1
- {"version":3,"file":"useWebMCP.js","sources":["../../../../../core/src/hooks/useWebMCP.ts"],"sourcesContent":["/**\n * WebMCP 规范注册 Hooks\n * @param context 低代码渲染上下文\n */\nexport const useWebMCP = (context: any) => {\n const registerWebMCPTools = () => {\n if (typeof window === 'undefined') return;\n\n const nav = window.navigator as any;\n\n // 检查是否有 MCP 宿主环境\n if (!nav.modelContext?.registerTool) {\n // 在非 MCP 环境下,将工具注册到全局对象供调试使用\n if (typeof window !== 'undefined') {\n (window as any).__LOWCODE_MCP_TOOLS__ = {\n context,\n getFormData: () => {\n return context.formDataModel?.value || {};\n },\n setFormData: (data: Record<string, any>) => {\n if (context.formDataModel?.value && data) {\n Object.assign(context.formDataModel.value, data);\n return '表单数据已更新';\n }\n return '更新失败:上下文或数据无效';\n },\n getWidgetsInfo: () => {\n return Array.from(context.widgetRefList?.value?.keys() || []);\n }\n };\n }\n return;\n }\n\n // 获取表单数据工具\n nav.modelContext.registerTool({\n name: 'get_form_data',\n description: '获取当前低代码表单的所有数据',\n execute: async () => {\n return {\n content: [{ type: 'text', text: JSON.stringify(context.formDataModel.value) }]\n };\n }\n });\n\n // 设置表单数据工具\n nav.modelContext.registerTool({\n name: 'set_form_data',\n description: '设置或更新低代码表单的数据',\n inputSchema: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n description: '要设置的表单数据对象'\n }\n },\n required: ['data']\n },\n execute: async ({ data }: any) => {\n if (context.formDataModel.value && data) {\n Object.assign(context.formDataModel.value, data);\n return {\n content: [{ type: 'text', text: '表单数据已更新' }]\n };\n }\n return {\n content: [{ type: 'text', text: '更新失败:上下文或数据无效' }]\n };\n }\n });\n\n // 获取组件信息工具\n nav.modelContext.registerTool({\n name: 'get_widgets_info',\n description: '获取当前表单所有组件的 ID 和类型',\n execute: async () => {\n const widgets = Array.from(context.widgetRefList.value.keys());\n return {\n content: [{ type: 'text', text: JSON.stringify(widgets) }]\n };\n }\n });\n };\n\n return {\n registerWebMCPTools\n };\n};\n"],"names":["_a"],"mappings":"AAIO,MAAM,YAAY,CAAC,YAAiB;AACvC,QAAM,sBAAsB,MAAM;AAD/B;AAEC,QAAI,OAAO,WAAW,YAAa;AAEnC,UAAM,MAAM,OAAO;AAGnB,QAAI,GAAC,SAAI,iBAAJ,mBAAkB,eAAc;AAEjC,UAAI,OAAO,WAAW,aAAa;AAC9B,eAAe,wBAAwB;AAAA,UACpC;AAAA,UACA,aAAa,MAAM;AAZhC,gBAAAA;AAaiB,qBAAOA,MAAA,QAAQ,kBAAR,gBAAAA,IAAuB,UAAS,CAAA;AAAA,UAC3C;AAAA,UACA,aAAa,CAAC,SAA8B;AAfzD,gBAAAA;AAgBiB,kBAAIA,MAAA,QAAQ,kBAAR,gBAAAA,IAAuB,UAAS,MAAM;AACtC,qBAAO,OAAO,QAAQ,cAAc,OAAO,IAAI;AAC/C,qBAAO;AAAA,YACX;AACA,mBAAO;AAAA,UACX;AAAA,UACA,gBAAgB,MAAM;AAtBnC,gBAAAA,KAAA;AAuBiB,mBAAO,MAAM,OAAK,MAAAA,MAAA,QAAQ,kBAAR,gBAAAA,IAAuB,UAAvB,mBAA8B,WAAU,EAAE;AAAA,UAChE;AAAA,QAAA;AAAA,MAER;AACA;AAAA,IACJ;AAGA,QAAI,aAAa,aAAa;AAAA,MAC1B,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS,YAAY;AACjB,eAAO;AAAA,UACH,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,QAAQ,cAAc,KAAK,EAAA,CAAG;AAAA,QAAA;AAAA,MAErF;AAAA,IAAA,CACH;AAGD,QAAI,aAAa,aAAa;AAAA,MAC1B,MAAM;AAAA,MACN,aAAa;AAAA,MACb,aAAa;AAAA,QACT,MAAM;AAAA,QACN,YAAY;AAAA,UACR,MAAM;AAAA,YACF,MAAM;AAAA,YACN,aAAa;AAAA,UAAA;AAAA,QACjB;AAAA,QAEJ,UAAU,CAAC,MAAM;AAAA,MAAA;AAAA,MAErB,SAAS,OAAO,EAAE,WAAgB;AAC9B,YAAI,QAAQ,cAAc,SAAS,MAAM;AACrC,iBAAO,OAAO,QAAQ,cAAc,OAAO,IAAI;AAC/C,iBAAO;AAAA,YACH,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,WAAW;AAAA,UAAA;AAAA,QAEnD;AACA,eAAO;AAAA,UACH,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,iBAAiB;AAAA,QAAA;AAAA,MAEzD;AAAA,IAAA,CACH;AAGD,QAAI,aAAa,aAAa;AAAA,MAC1B,MAAM;AAAA,MACN,aAAa;AAAA,MACb,SAAS,YAAY;AACjB,cAAM,UAAU,MAAM,KAAK,QAAQ,cAAc,MAAM,MAAM;AAC7D,eAAO;AAAA,UACH,SAAS,CAAC,EAAE,MAAM,QAAQ,MAAM,KAAK,UAAU,OAAO,EAAA,CAAG;AAAA,QAAA;AAAA,MAEjE;AAAA,IAAA,CACH;AAAA,EACL;AAEA,SAAO;AAAA,IACH;AAAA,EAAA;AAER;"}
1
+ {"version":3,"file":"useWebMCP.js","sources":["../../../../../core/src/hooks/useWebMCP.ts"],"sourcesContent":["/**\n * WebMCP 规范注册 Hooks\n * @param context 低代码渲染上下文\n */\n\nexport const useWebMCP = (context: any) => {\n const registerWebMCPTools = () => {\n if (typeof window === 'undefined') return;\n\n const nav = window.navigator as any;\n\n // 检查是否有 MCP 宿主环境\n if (!nav.modelContext?.registerTool) {\n // 在非 MCP 环境下,将工具注册到全局对象供调试使用\n if (typeof window !== 'undefined') {\n (window as any).__LOWCODE_MCP_TOOLS__ = {\n context,\n getFormData: () => {\n return context.formDataModel?.value || {};\n },\n setFormData: (data: Record<string, any>) => {\n if (context.formDataModel?.value && data) {\n Object.assign(context.formDataModel.value, data);\n return '表单数据已更新';\n }\n return '更新失败:上下文或数据无效';\n },\n getWidgetsInfo: () => {\n return Array.from(context.widgetRefList?.value?.keys() || []);\n },\n getFormJson: () => {\n const designer = context.designer?.value;\n if (designer) {\n return {\n widgetList: designer.widgetList,\n formConfig: designer.formConfig\n };\n }\n return null;\n },\n setFormJson: formJson => {\n const designer = context.designer?.value;\n if (designer) {\n designer.loadFormJson(formJson);\n designer.emitHistoryChange();\n return '表单 JSON 已导入';\n }\n return '导入失败:设计器上下文不存在';\n }\n };\n }\n return;\n }\n\n // 获取表单数据工具\n nav.modelContext.registerTool({\n name: 'get_form_data',\n description: '获取当前低代码表单的所有数据',\n execute: async () => {\n return {\n content: [{ type: 'text', text: JSON.stringify(context.formDataModel.value) }]\n };\n }\n });\n\n // 设置表单数据工具\n nav.modelContext.registerTool({\n name: 'set_form_data',\n description: '设置或更新低代码表单的数据',\n inputSchema: {\n type: 'object',\n properties: {\n data: {\n type: 'object',\n description: '要设置的表单数据对象'\n }\n },\n required: ['data']\n },\n execute: async ({ data }: any) => {\n if (context.formDataModel.value && data) {\n Object.assign(context.formDataModel.value, data);\n return {\n content: [{ type: 'text', text: '表单数据已更新' }]\n };\n }\n return {\n content: [{ type: 'text', text: '更新失败:上下文或数据无效' }]\n };\n }\n });\n\n // 获取组件信息工具\n nav.modelContext.registerTool({\n name: 'get_widgets_info',\n description: '获取当前表单所有组件的 ID 和类型',\n execute: async () => {\n const widgets = Array.from(context.widgetRefList.value.keys());\n return {\n content: [{ type: 'text', text: JSON.stringify(widgets) }]\n };\n }\n });\n\n // 设置表单 JSON 结构工具\n nav.modelContext.registerTool({\n name: 'set_form_json',\n description: '设置低代码表单的完整 JSON 结构(包含组件布局和配置)',\n inputSchema: {\n type: 'object',\n properties: {\n formJson: {\n type: 'object',\n description: '表单 JSON 对象,包含 widgetList 和 formConfig'\n }\n },\n required: ['formJson']\n },\n execute: async ({ formJson }: any) => {\n const designer = context.designer?.value;\n if (designer) {\n designer.loadFormJson(formJson);\n designer.emitHistoryChange();\n return {\n content: [{ type: 'text', text: '表单 JSON 已导入' }]\n };\n }\n return {\n content: [{ type: 'text', text: '导入失败:设计器上下文不存在' }]\n };\n }\n });\n\n // 获取表单 JSON 结构工具\n nav.modelContext.registerTool({\n name: 'get_form_json',\n description: '获取当前低代码表单的完整 JSON 结构(包含组件布局和配置)',\n execute: async () => {\n const designer = context.designer?.value;\n if (designer) {\n return {\n content: [\n {\n type: 'text',\n text: JSON.stringify({\n widgetList: designer.widgetList,\n formConfig: designer.formConfig\n })\n }\n ]\n };\n }\n return {\n content: [{ type: 'text', text: '获取失败:设计器上下文不存在' }]\n };\n }\n });\n };\n\n return {\n registerWebMCPTools\n };\n};\n"],"names":["_a"],"mappings":"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"}
@@ -476,6 +476,11 @@ const enUS = {
476
476
  treeDataEnabled: "Enable Tree Data",
477
477
  rowKeyOfTreeData: "Row Key Of Data",
478
478
  childrenKeyOfTreeData: "Children Of Data",
479
+ treeConfigEnabled: "Enable Tree Config",
480
+ treeConfigTransform: "Auto Transform Data",
481
+ treeConfigTreeNode: "Expand Node Field",
482
+ treeConfigRowField: "Row ID Field",
483
+ treeConfigParentField: "Parent ID Field",
479
484
  showButtonsColumn: "Buttons Column",
480
485
  buttonsColumnEdit: "Edit Buttons",
481
486
  buttonsColumnTitle: "Title",
@@ -1 +1 @@
1
- {"version":3,"file":"en-US.js","sources":["../../../../../core/src/lang/en-US.ts"],"sourcesContent":["export default {\n application: {\n 'zh-CN': '简体中文',\n 'en-US': 'English',\n productTitle: 'Online Form Designer',\n github: 'GitHub',\n document: 'Docs',\n deployment: 'Deployment',\n subscription: 'Subscription'\n },\n\n designer: {\n showTotal: '{total} total of 8 items',\n outline: 'Outline',\n field: 'Field',\n componentLib: 'Components',\n formLib: 'Templates',\n containerTitle: 'Container',\n dragHandlerHint: 'drag container or field to layout center',\n dragAction: 'drag',\n basicFieldTitle: 'Basic',\n advancedFieldTitle: 'Advanced Field',\n customFieldTitle: 'Customized Field',\n\n noWidgetHint: 'Please select a widget from the left list, drag and drop to this container.',\n\n widgetLabel: {\n 'field-input': 'Input',\n 'date-picker': 'Date Picker',\n calendar: 'Calendar',\n circle: 'Circle',\n grid: 'Grid',\n table: 'Table',\n tab: 'Tab',\n section: 'Section',\n 'sub-form': 'SubForm',\n 'grid-sub-form': 'GridSubForm',\n 'grid-col': 'GridCol',\n 'table-cell': 'TableCell',\n 'tab-pane': 'TabPane',\n 'data-table': 'DataTable',\n 'vf-dialog': 'Dialog',\n 'vf-collapse': 'Collapse',\n 'vf-drawer': 'Drawer',\n 'vf-box': 'Box',\n popover: 'Popover',\n 'custom-render': 'Custom Render',\n space: 'Space',\n image: 'Image',\n cell: 'Cell',\n input: 'Input',\n textarea: 'Textarea',\n number: 'InputNumber',\n radio: 'Radio',\n checkbox: 'Checkbox',\n select: 'Select',\n time: 'Time',\n 'time-range': 'Time range',\n date: 'Date',\n 'date-range': 'Date range',\n switch: 'Switch',\n rate: 'Rate',\n color: 'ColorPicker',\n slider: 'Slider',\n 'static-text': 'Text',\n 'html-text': 'HTML',\n button: 'Button',\n divider: 'Divider',\n dropdown: 'Dropdown',\n tree: 'Tree',\n 'picture-upload': 'Picture',\n 'file-upload': 'File',\n 'rich-editor': 'Rich Editor',\n cascader: 'Cascader',\n treeSelect: 'TreeSelect',\n 'button-list': 'Button group',\n 'diy-compontent': 'DIY Component',\n slot: 'Slot',\n toolbar: 'Toolbar',\n custom: 'Custom Component',\n 'code-editor': 'Code Editor',\n 'bpmn-editor': 'BPMN Editor'\n },\n\n hint: {\n clearFormWidget: 'Are you sure to clear the form?',\n selectParentWidget: 'Select parent of this widget',\n moveUpWidget: 'Move up this widget',\n moveDownWidget: 'Move down this widget',\n cloneWidget: 'Clone this widget',\n insertRow: 'Insert new row',\n insertColumn: 'Insert new column',\n remove: 'Remove this widget',\n lock: 'Lock',\n unlock: 'Unlock',\n layer: 'Layer',\n bringToFront: 'Bring to front',\n sendToBack: 'Send to back',\n bringForward: 'Bring forward',\n sendBackward: 'Send backward',\n cellSetting: 'Cell setting',\n dragHandler: 'Drag handler',\n copyField: 'Copy field widget',\n onlyFieldWidgetAcceptable: 'Only field widget can be dragged into sub-form',\n moveUpFirstChildHint: 'First child can not be move up',\n moveDownLastChildHint: 'Last child can not be move down',\n\n closePreview: 'Close',\n copyJson: 'Copy',\n saveFormJson: 'Save As File',\n copyVueCode: 'Copy Vue Code',\n copyHtmlCode: 'Copy HTML Code',\n copyJsonSuccess: 'Copy succeed',\n importJsonSuccess: 'Import succeed',\n invalidJsonFormat: 'Invalid JSON format',\n jsonVersionMismatch: 'Version of JSON mismatch',\n copyJsonFail: 'Copy failed',\n copyVueCodeSuccess: 'Copy succeed',\n copyVueCodeFail: 'Copy failed',\n copyHtmlCodeSuccess: 'Copy succeed',\n copyHtmlCodeFail: 'Copy failed',\n saveVueCode: 'Save Vue File',\n saveHtmlCode: 'Save Html File',\n getFormData: 'Get Data',\n resetForm: 'Reset',\n disableForm: 'Disable',\n enableForm: 'Enable',\n switchReadMode: 'Read Mode',\n exportFormData: 'Form Data',\n copyFormData: 'Copy',\n saveFormData: 'Save As File',\n copyVue2SFC: 'Copy Vue2',\n copyVue3SFC: 'Copy Vue3',\n copySFCFail: 'Copy failed',\n copySFCSuccess: 'Copy succeed',\n saveVue2SFC: 'Save As Vue2',\n saveVue3SFC: 'Save As Vue3',\n fileNameForSave: 'File name:',\n saveFileTitle: 'Save as File',\n fileNameInputPlaceholder: 'Enter the file name',\n sampleLoadedSuccess: 'Example loaded successfully',\n sampleLoadedFail: 'Sample load failed',\n loadFormTemplate: 'Load This',\n loadFormTemplateHint: 'Are you sure to load this template?',\n loadFormTemplateSuccess: 'Load form template success!',\n loadFormTemplateFailed: 'Load form template failed.',\n currentNodeCannotBeSelected: 'The current node cannot be selected.',\n noSelectedWidgetHint: 'No selected widget.',\n\n widgetSetting: 'Widget Prop',\n 表单设置: 'Form Prop',\n 表单api配置: 'Form API Prop',\n 表单编辑api: 'Form Edit API',\n 表单详情API: 'Form Detail API',\n\n prompt: 'Prompt',\n confirm: 'OK',\n cancel: 'Cancel',\n import: 'Import',\n importJsonHint: 'The code to be imported should have the following JSON format.',\n importDSHint: 'The format of the imported datasource must be valid.',\n invalidOptionsData: 'Invalid data of options:',\n lastPaneCannotBeDeleted: 'The last pane cannot be deleted.',\n duplicateName: 'Duplicate name: ',\n nameRequired: 'Name required.',\n\n numberValidator: 'Number',\n letterValidator: 'Letter',\n letterAndNumberValidator: 'LetterAndNumber',\n mobilePhoneValidator: 'MobilePhone',\n emailValidator: 'Email',\n urlValidator: 'URL',\n noChineseValidator: 'Non-Chinese',\n chineseValidator: 'Chinese',\n\n rowspanNotConsistentForMergeEntireRow:\n \"Cells in this row don't have the same rowspan, operation failed.\",\n colspanNotConsistentForMergeEntireColumn:\n \"Cells in this column don't have the same colspan, operation failed.\",\n rowspanNotConsistentForDeleteEntireRow:\n \"Cells in this row don't have the same rowspan, operation failed.\",\n colspanNotConsistentForDeleteEntireColumn:\n \"Cells in this column don't have the same colspan, operation failed.\",\n lastColCannotBeDeleted: 'The last col cannot be deleted.',\n lastRowCannotBeDeleted: 'The last row cannot be deleted.'\n },\n\n toolbar: {\n undoHint: 'Undo',\n redoHint: 'Redo',\n pcLayout: 'PC',\n padLayout: 'Pad',\n mobileLayout: 'H5',\n nodeTreeHint: 'Tree View Of Component Hierarchy',\n nodeTreeTitle: 'Tree View Of Component Hierarchy',\n clear: 'Clear',\n preview: 'Preview',\n save: 'Save',\n importJson: 'Import',\n exportJson: 'Export',\n exportCode: 'Codes',\n generateCode: 'Generate Code',\n generateSFC: 'Generate SFC'\n },\n\n setting: {\n color: 'Color',\n calendarType: 'Calendar Type',\n calendarTypeSingle: 'Single',\n calendarTypeMultiple: 'Multiple',\n calendarTypeRange: 'Range',\n direction: 'Direction',\n directionHorizontal: 'Horizontal',\n directionVertical: 'Vertical',\n align: 'Align',\n alignStart: 'Start',\n alignEnd: 'End',\n alignCenter: 'Center',\n alignBaseline: 'Baseline',\n wrap: 'Wrap',\n fill: 'Fill',\n defaultExpand: 'Default Expand',\n collapseItemSetting: 'Collapse Item Setting',\n block: 'Block',\n src: 'Src',\n fit: 'Fit Mode',\n radius: 'Radius (px)',\n // 序号\n seq: 'Seq',\n containerInputPlaceholder: 'Enter the container selector',\n langMode: 'language Mode',\n editAPIConfig: 'Edit API Config',\n lineHeight: 'Line Height (px)',\n mode: 'Select Mode',\n useModal: 'Use Modal',\n combobox: 'Combobox Mode',\n multiple: 'Multiple Mode',\n tags: 'Tags Mode',\n buttonList: 'Button Group',\n buttonListConfig: 'Button Group Config',\n buttonPosition: 'Position',\n autoWidth: 'Auto Width',\n dataSoureEdit: 'dataSoure Edit',\n fixed: 'Fixed Position',\n fixedRight: 'Fixed Right',\n resizableColumn: 'Resizable Column',\n ellipsisColumn: 'Ellipsis Column',\n treeDefaultExpandAll: 'Default Expand All Tree Nodes',\n shape: 'Button Shape',\n danger: 'Danger Button',\n\n defaultPageSize: 'Default Page Size',\n specifyPageSizeOptions: 'Page Size Options',\n hideOnSinglePage: 'Hide Pagination On Single Page',\n showQuickJumper: 'Show Quick Jumper',\n showSizeChanger: 'Show Size Changer',\n position: 'Pagination Position',\n\n pagination: 'Pagination',\n hasRowSelection: 'Enable Left Checkbox',\n fixedLeft: 'Fixed Left',\n preserveSelectedRowKeys: 'Preserve Selected Row Keys',\n customColumnWidth: 'Custom Column Width',\n customColumnTitle: 'Custom Column Title',\n\n selectRow: 'Click Row Select',\n loadingPage: 'Loading Page',\n delete: 'Delete',\n tabBarGutter: 'Tab Bar Gutter',\n tabPosition: 'Tab Position',\n tabType: 'Tab Type',\n rowKey: 'Row Key',\n holdHidden: 'Hold Hidden',\n editFunction: 'Edit Function',\n // 关联表单代码\n formCode: 'Form Code',\n edit: 'Edit',\n horizontal: 'Horizontal',\n vertical: 'Vertical',\n 基本属性: 'Basic Setting',\n attributeSetting: 'Attribute Setting',\n 常见属性: 'Common Setting',\n 高级属性: 'Advanced Setting',\n 事件属性: 'Event Setting',\n uniqueName: 'Unique Name',\n editNameHelp: 'Press enter to confirm the modification',\n label: 'Label',\n displayType: 'Type',\n defaultValue: 'Default Value',\n placeholder: 'Placeholder',\n startPlaceholder: 'Start Placeholder',\n endPlaceholder: 'End Placeholder',\n widgetColumnWidth: 'Width',\n widgetSize: 'Size',\n widgetFlex: 'Flex',\n autoFullWidth: 'Auto Full Width',\n displayStyle: 'Display Style',\n inlineLayout: 'inline',\n blockLayout: 'block',\n buttonStyle: 'Show As Button',\n border: 'Show Border',\n labelWidth: 'Width Of Label',\n rows: 'Rows',\n labelHidden: 'Hide Label',\n required: 'Required',\n requiredHint: 'Failure Hint',\n validation: 'Validation',\n validationHelp: 'Regular expressions supported',\n validationHint: 'Validation Hint',\n readonly: 'Readonly',\n disabled: 'Disabled',\n hidden: 'Hidden',\n textContent: 'Text',\n htmlContent: 'HTML',\n allowClear: 'AllowClear',\n editable: 'Editable',\n format: 'Format',\n valueFormat: 'Value Format',\n showPassword: 'Show Reveal',\n filterable: 'Filterable',\n allowCreate: 'Allow Create',\n showSearch: 'showSearch Query',\n automaticDropdown: 'Automatic Dropdown',\n multipleLimit: 'Multiple Limit',\n checkStrictly: 'Any Level Selectable',\n showAllLevels: 'Show All Levels',\n contentPosition: 'Content Position',\n dividerDirection: 'Direction',\n plain: 'Plain',\n round: 'Round',\n closeable: 'Closeable',\n circle: 'Circle',\n icon: 'Icon',\n optionsSetting: 'Options Setting',\n addOption: 'Add Option',\n importOptions: 'Import Options',\n resetDefault: 'Reset Default',\n uploadSetting: 'Upload Setting',\n uploadURL: 'Upload URL',\n uploadTip: 'Tip Content',\n withCredentials: 'Send Cookie',\n multipleSelect: 'File Multi-select',\n showFileList: 'Show File List',\n limit: 'Max Upload Number',\n fileMaxSize: 'Max Size(MB)',\n fileTypes: 'Upload File Types',\n uploadType: 'Upload Type',\n fileTypesHelp: 'Allows to add more file types',\n headers: 'Request Headers',\n uploadListType: 'Upload List Type',\n customRender: 'Custom Render',\n\n labelBefore: 'Label Before',\n labelAfter: 'Label After',\n\n cellWidth: 'Width',\n cellHeight: 'Height',\n gridColHeight: 'Height Of Col(px)',\n gutter: 'Gutter(px)',\n gridJustify: 'Horizontal Align',\n justifyStart: 'Start',\n justifyEnd: 'End',\n justifyCenter: 'Center',\n justifySpaceAround: 'Space Around',\n justifySpaceBetween: 'Space Between',\n columnSetting: 'Cols Setting',\n colsOfGrid: 'Cols Of Grid:',\n colSpanTitle: 'Spans Of Col',\n colOffsetTitle: 'Offset Of Col',\n colPushTitle: 'Push Of Col',\n colPullTitle: 'Pull Of Col',\n addColumn: 'Add Column',\n responsive: 'Responsive',\n\n tabPaneSetting: 'Tab Panes',\n addTabPane: 'Add Tab Pane',\n paneActive: 'Active',\n\n customLabelIcon: 'Custom Label',\n labelIconClass: 'Label Icon Class',\n labelIconTooltip: 'Label Icon Tooltip',\n labelIconPosition: 'Label Icon Position',\n minValue: 'Min Value',\n maxValue: 'Max Value',\n precision: 'Precision',\n step: 'Step',\n controlsPosition: 'Controls Position',\n minLength: 'Min Length',\n maxLength: 'Max Length',\n showCount: 'Show Word Limit',\n addonBefore: 'Prefix Icon',\n inputButton: 'Input Button Setting',\n appendButton: 'Append Button',\n appendButtonDisabled: 'Button Disabled',\n appendButtonIcon: 'Append Button Icon',\n buttonIcon: 'Button Icon',\n switchWidth: 'Width of Switch(px)',\n checkedValue: 'Active Text',\n unCheckedValue: 'Inactive Text',\n activeColor: 'Active Color',\n inactiveColor: 'Inactive Color',\n maxStars: 'Stars Max Number',\n lowThreshold: 'Low Threshold',\n highThreshold: 'High Threshold',\n allowHalf: 'Allow Half',\n showText: 'Show Text',\n showScore: 'Show Score',\n range: 'Range',\n showBlankRow: 'Show Blank Row',\n showRowNumber: 'Show Row Number',\n contentHeight: 'Content Area Height',\n\n insertColumnToLeft: 'insert column to left',\n insertColumnToRight: 'insert column to right',\n insertRowAbove: 'insert row above',\n insertRowBelow: 'insert row below',\n mergeLeftColumn: 'merge left cell',\n mergeRightColumn: 'merge right cell',\n mergeEntireRow: 'merge entire row',\n mergeRowAbove: 'merge cell above',\n mergeRowBelow: 'merge cell below',\n mergeEntireColumn: 'merge entire column',\n undoMergeCol: 'undo merge column',\n undoMergeRow: 'undo merge row',\n deleteEntireCol: 'delete entire column',\n deleteEntireRow: 'delete entire row',\n ghost: 'Ghost Button',\n buttonConfig: 'Button Config',\n placement: 'Placement',\n bottomLeft: 'Bottom Left',\n bottomRight: 'Bottom Right',\n topLeft: 'Top Left',\n topRight: 'Top Right',\n menuList: 'Menu Options',\n\n widgetName: 'Unique Name',\n formSize: 'Size',\n labelPosition: 'Position Of Label',\n topPosition: 'Top',\n leftPosition: 'Left',\n labelAlign: 'Label Align',\n leftAlign: 'Left',\n centerAlign: 'Center',\n rightAlign: 'Right',\n formCss: 'Form CSS',\n addCss: 'Edit',\n customClass: 'Custom Class',\n globalFunctions: 'Global Functions',\n addEventHandler: 'Edit',\n editWidgetEventHandler: 'Edit Widget Event Handler',\n editFormEventHandler: 'Edit Form Event Handler',\n formSFCSetting: 'SFC Setting',\n formModelName: 'Model Name',\n formRefName: 'Ref Name',\n formRulesName: 'Rules Name',\n syntaxCheckWarning: 'Syntax error in the javascript codes, please check again!',\n\n //dialog & drawer\n title: 'Title',\n width: 'Width(px/%)',\n fullscreen: 'Full Screen',\n showModal: 'Show Modal',\n showClose: 'Show Close',\n closeOnClickModal: 'Click Modal To Close ',\n closeOnPressEscape: 'Press Esc To Close',\n center: 'Center Header And Footer',\n readMode: 'Form Readonly',\n disabledMode: 'Form Disabled',\n drawSize: 'Size(px/%)',\n drawDirection: 'Direction',\n\n //data-table\n tableWidth: 'Width(px/%)',\n tableHeight: 'Height(px/%)',\n showCheckBox: 'Show CheckBox',\n showColumnManager: 'Column Manager',\n showIndex: 'Show Row Number',\n showPagination: 'Show Pagination',\n smallPagination: 'Small Pagination',\n tableColEdit: 'Edit Cols',\n tableDataEdit: 'Edit Data',\n stripe: 'Stripe',\n showSummary: 'Show Summary',\n rowSpacing: 'Row Spacing(px)',\n editAction: 'Edit...',\n dsEnabled: 'Use Datasource',\n columnName: 'Name',\n columnLabel: 'Label',\n columnWidth: 'Width(px/%)',\n visibleColumn: 'Visible',\n sortableColumn: 'Sortable',\n fixedColumn: 'Fixed',\n alignTypeOfColumn: 'Align',\n formatOfColumn: 'Format',\n customRenderGroup: 'Custom Render',\n renderFunction: 'Render',\n actionColumn: 'Action',\n addTableColumn: 'Add New Column',\n deleteTableColumn: 'Delete This Column',\n addSubsets: 'Add Subsets',\n onlyOneColumnCannotBeDeleted: 'The last column cannot be deleted.',\n treeDataEnabled: 'Enable Tree Data',\n rowKeyOfTreeData: 'Row Key Of Data',\n childrenKeyOfTreeData: 'Children Of Data',\n showButtonsColumn: 'Buttons Column',\n buttonsColumnEdit: 'Edit Buttons',\n buttonsColumnTitle: 'Title',\n buttonsColumnWidth: 'Width(px)',\n operationButtonsSetting: 'Buttons Setting',\n operationButtonName: 'Name',\n operationButtonLabel: 'Text',\n operationButtonType: 'Type',\n operationButtonSize: 'Size',\n operationButtonGhost: 'Ghost',\n operationButtonRound: 'Round',\n operationButtonHidden: 'Hidden',\n operationButtonDisabled: 'Disabled',\n addOperationButton: 'Add New Button',\n batchConfig: 'Batch Config',\n deleteOperationButtonHint: 'Delete this button?',\n operationButtonDuplicatedNameError: 'Duplicate button name.',\n\n //data-source\n dsName: 'Datasource Name',\n dataSetName: 'Dataset Name',\n labelKeyName: 'Label Key',\n valueKeyName: 'Value Key',\n childrenKeyName: 'Children Key',\n dataSource: 'Datasource',\n noDataSource: 'No datasource.',\n addDataSource: 'Add Datasource',\n importDataSource: 'Import Datasource',\n clearExistingDataSource: 'Empty the existing datasource',\n remainExistingDataSource: 'Append to the existing datasource',\n exportDataSource: 'Export Datasource',\n selectDataSourceForExport: 'Select Datasource',\n dataSourceChecked: 'Checked',\n previewDataSourceExportResult: 'Preview Result',\n dataSourceSetting: 'Datasource Setting',\n deleteDataSourceHint: 'Delete this datasource?',\n fieldValueRequired: 'Value can not be null',\n dsUniqueName: 'Unique Name',\n dsRequestURL: 'Request URL',\n dsRequestURLType: 'Request URL Type',\n dsURLStringType: 'String',\n dsURLVariableType: 'Expression',\n dsDescription: 'Description',\n dsRequestMethod: 'Request Method',\n dsRequestHeaders: 'Headers',\n addRequestHeader: 'Add Header',\n dsRequestParams: 'Params',\n addRequestParam: 'Add Param',\n dsRequestData: 'Data',\n addRequestData: 'Add Data',\n addDataSet: 'Add Dataset',\n dsRequestValueStringType: 'String',\n dsRequestValueNumberType: 'Number',\n dsRequestValueBooleanType: 'Boolean',\n dsRequestValueVariableType: 'Variable',\n dsRequestNameInputPlaceholder: 'Name',\n dsRequestTypeInputPlaceholder: 'Type',\n dsRequestValueInputPlaceholder: 'Value',\n dataSetRemarkInputPlaceholder: 'Note',\n dsConfigHandlerTitle: '1. Config Handler',\n dsDataHandlerTitle: '2. Data Handler',\n dsErrorHandlerTitle: '3. Error Handler',\n dataSetSettingTitle: '4. Dataset Setting',\n dataSetEnabled: 'Multiple Datasets Enabled',\n dataSetSetting: 'List Of Datasets',\n testDataSource: 'Test Datasource',\n dsvTitle: 'Datasource Variable',\n dsRequestResult: 'Result Data',\n executeDataSource: 'Run Test',\n clearRequestResult: 'Clear Result',\n dsRequestNumberTypeError: 'Number value error',\n dsRequestBooleanTypeError: 'Boolean value error',\n dsValidationError: 'Datasource check failure.',\n dsDuplicatedNameError: 'Duplicate datasource name.',\n slotCompontent: 'slot name',\n diyCompontent: 'component name',\n\n isEnterSubmit: 'Enter key submit',\n top: 'Top',\n right: 'Right',\n bottom: 'Bottom',\n left: 'Left',\n showBorder: 'Show Border',\n borderStyle: 'Border Style',\n solid: 'Solid',\n dashed: 'Dashed',\n dotted: 'Dotted',\n double: 'Double',\n\n borderWidth: 'Border Width',\n borderColor: 'Border Color',\n borderRadius: 'Border Radius',\n backgroundColor: 'Background Color',\n shadow: 'Shadow',\n enableShadow: 'Enable Shadow',\n shadowOffsetX: 'Horizontal Offset',\n shadowOffsetY: 'Vertical Offset',\n shadowBlur: 'Blur Radius',\n shadowSpread: 'Spread Radius',\n shadowColor: 'Shadow Color',\n\n operationButtonClick: 'Click Event',\n operationButtonAction: 'Action',\n biProperties: 'BI Properties',\n canvasWidth: 'Canvas Width',\n canvasHeight: 'Canvas Height',\n scaleMode: 'Scale Mode',\n scale: 'Fixed Scale',\n autoScale: 'Auto Fit',\n fixedScale: 'Fixed Ratio'\n }\n },\n 左固定: 'Fixed Left',\n 是否可勾选: 'Can Checked',\n 表格数据变化: 'On Table Change',\n\n 默认折叠: 'Default Collapse',\n 窗体样式: 'Form Style',\n 头部右插槽样式: 'Header Right Slot Style',\n 折叠时icon: 'Collapse Icon',\n 未折叠时icon: 'Expand Icon',\n height: 'Height',\n 复制: 'Copy',\n 编写样式: 'Edit Style',\n 盒模型配置: 'Box Model Configuration',\n Margin: 'Margin',\n Padding: 'Padding',\n 参数设置: 'Parameter Setting',\n 是否展示连接线: 'Show Line',\n 是否可选择: 'Selectable',\n 数据源设置: 'Datasource Setting',\n 数据源: 'Datasource',\n 当前位置: 'Current Position',\n 自定义位置: 'Custom Position'\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"en-US.js","sources":["../../../../../core/src/lang/en-US.ts"],"sourcesContent":["export default {\n application: {\n 'zh-CN': '简体中文',\n 'en-US': 'English',\n productTitle: 'Online Form Designer',\n github: 'GitHub',\n document: 'Docs',\n deployment: 'Deployment',\n subscription: 'Subscription'\n },\n\n designer: {\n showTotal: '{total} total of 8 items',\n outline: 'Outline',\n field: 'Field',\n componentLib: 'Components',\n formLib: 'Templates',\n containerTitle: 'Container',\n dragHandlerHint: 'drag container or field to layout center',\n dragAction: 'drag',\n basicFieldTitle: 'Basic',\n advancedFieldTitle: 'Advanced Field',\n customFieldTitle: 'Customized Field',\n\n noWidgetHint: 'Please select a widget from the left list, drag and drop to this container.',\n\n widgetLabel: {\n 'field-input': 'Input',\n 'date-picker': 'Date Picker',\n calendar: 'Calendar',\n circle: 'Circle',\n grid: 'Grid',\n table: 'Table',\n tab: 'Tab',\n section: 'Section',\n 'sub-form': 'SubForm',\n 'grid-sub-form': 'GridSubForm',\n 'grid-col': 'GridCol',\n 'table-cell': 'TableCell',\n 'tab-pane': 'TabPane',\n 'data-table': 'DataTable',\n 'vf-dialog': 'Dialog',\n 'vf-collapse': 'Collapse',\n 'vf-drawer': 'Drawer',\n 'vf-box': 'Box',\n popover: 'Popover',\n 'custom-render': 'Custom Render',\n space: 'Space',\n image: 'Image',\n cell: 'Cell',\n input: 'Input',\n textarea: 'Textarea',\n number: 'InputNumber',\n radio: 'Radio',\n checkbox: 'Checkbox',\n select: 'Select',\n time: 'Time',\n 'time-range': 'Time range',\n date: 'Date',\n 'date-range': 'Date range',\n switch: 'Switch',\n rate: 'Rate',\n color: 'ColorPicker',\n slider: 'Slider',\n 'static-text': 'Text',\n 'html-text': 'HTML',\n button: 'Button',\n divider: 'Divider',\n dropdown: 'Dropdown',\n tree: 'Tree',\n 'picture-upload': 'Picture',\n 'file-upload': 'File',\n 'rich-editor': 'Rich Editor',\n cascader: 'Cascader',\n treeSelect: 'TreeSelect',\n 'button-list': 'Button group',\n 'diy-compontent': 'DIY Component',\n slot: 'Slot',\n toolbar: 'Toolbar',\n custom: 'Custom Component',\n 'code-editor': 'Code Editor',\n 'bpmn-editor': 'BPMN Editor'\n },\n\n hint: {\n clearFormWidget: 'Are you sure to clear the form?',\n selectParentWidget: 'Select parent of this widget',\n moveUpWidget: 'Move up this widget',\n moveDownWidget: 'Move down this widget',\n cloneWidget: 'Clone this widget',\n insertRow: 'Insert new row',\n insertColumn: 'Insert new column',\n remove: 'Remove this widget',\n lock: 'Lock',\n unlock: 'Unlock',\n layer: 'Layer',\n bringToFront: 'Bring to front',\n sendToBack: 'Send to back',\n bringForward: 'Bring forward',\n sendBackward: 'Send backward',\n cellSetting: 'Cell setting',\n dragHandler: 'Drag handler',\n copyField: 'Copy field widget',\n onlyFieldWidgetAcceptable: 'Only field widget can be dragged into sub-form',\n moveUpFirstChildHint: 'First child can not be move up',\n moveDownLastChildHint: 'Last child can not be move down',\n\n closePreview: 'Close',\n copyJson: 'Copy',\n saveFormJson: 'Save As File',\n copyVueCode: 'Copy Vue Code',\n copyHtmlCode: 'Copy HTML Code',\n copyJsonSuccess: 'Copy succeed',\n importJsonSuccess: 'Import succeed',\n invalidJsonFormat: 'Invalid JSON format',\n jsonVersionMismatch: 'Version of JSON mismatch',\n copyJsonFail: 'Copy failed',\n copyVueCodeSuccess: 'Copy succeed',\n copyVueCodeFail: 'Copy failed',\n copyHtmlCodeSuccess: 'Copy succeed',\n copyHtmlCodeFail: 'Copy failed',\n saveVueCode: 'Save Vue File',\n saveHtmlCode: 'Save Html File',\n getFormData: 'Get Data',\n resetForm: 'Reset',\n disableForm: 'Disable',\n enableForm: 'Enable',\n switchReadMode: 'Read Mode',\n exportFormData: 'Form Data',\n copyFormData: 'Copy',\n saveFormData: 'Save As File',\n copyVue2SFC: 'Copy Vue2',\n copyVue3SFC: 'Copy Vue3',\n copySFCFail: 'Copy failed',\n copySFCSuccess: 'Copy succeed',\n saveVue2SFC: 'Save As Vue2',\n saveVue3SFC: 'Save As Vue3',\n fileNameForSave: 'File name:',\n saveFileTitle: 'Save as File',\n fileNameInputPlaceholder: 'Enter the file name',\n sampleLoadedSuccess: 'Example loaded successfully',\n sampleLoadedFail: 'Sample load failed',\n loadFormTemplate: 'Load This',\n loadFormTemplateHint: 'Are you sure to load this template?',\n loadFormTemplateSuccess: 'Load form template success!',\n loadFormTemplateFailed: 'Load form template failed.',\n currentNodeCannotBeSelected: 'The current node cannot be selected.',\n noSelectedWidgetHint: 'No selected widget.',\n\n widgetSetting: 'Widget Prop',\n 表单设置: 'Form Prop',\n 表单api配置: 'Form API Prop',\n 表单编辑api: 'Form Edit API',\n 表单详情API: 'Form Detail API',\n\n prompt: 'Prompt',\n confirm: 'OK',\n cancel: 'Cancel',\n import: 'Import',\n importJsonHint: 'The code to be imported should have the following JSON format.',\n importDSHint: 'The format of the imported datasource must be valid.',\n invalidOptionsData: 'Invalid data of options:',\n lastPaneCannotBeDeleted: 'The last pane cannot be deleted.',\n duplicateName: 'Duplicate name: ',\n nameRequired: 'Name required.',\n\n numberValidator: 'Number',\n letterValidator: 'Letter',\n letterAndNumberValidator: 'LetterAndNumber',\n mobilePhoneValidator: 'MobilePhone',\n emailValidator: 'Email',\n urlValidator: 'URL',\n noChineseValidator: 'Non-Chinese',\n chineseValidator: 'Chinese',\n\n rowspanNotConsistentForMergeEntireRow:\n \"Cells in this row don't have the same rowspan, operation failed.\",\n colspanNotConsistentForMergeEntireColumn:\n \"Cells in this column don't have the same colspan, operation failed.\",\n rowspanNotConsistentForDeleteEntireRow:\n \"Cells in this row don't have the same rowspan, operation failed.\",\n colspanNotConsistentForDeleteEntireColumn:\n \"Cells in this column don't have the same colspan, operation failed.\",\n lastColCannotBeDeleted: 'The last col cannot be deleted.',\n lastRowCannotBeDeleted: 'The last row cannot be deleted.'\n },\n\n toolbar: {\n undoHint: 'Undo',\n redoHint: 'Redo',\n pcLayout: 'PC',\n padLayout: 'Pad',\n mobileLayout: 'H5',\n nodeTreeHint: 'Tree View Of Component Hierarchy',\n nodeTreeTitle: 'Tree View Of Component Hierarchy',\n clear: 'Clear',\n preview: 'Preview',\n save: 'Save',\n importJson: 'Import',\n exportJson: 'Export',\n exportCode: 'Codes',\n generateCode: 'Generate Code',\n generateSFC: 'Generate SFC'\n },\n\n setting: {\n color: 'Color',\n calendarType: 'Calendar Type',\n calendarTypeSingle: 'Single',\n calendarTypeMultiple: 'Multiple',\n calendarTypeRange: 'Range',\n direction: 'Direction',\n directionHorizontal: 'Horizontal',\n directionVertical: 'Vertical',\n align: 'Align',\n alignStart: 'Start',\n alignEnd: 'End',\n alignCenter: 'Center',\n alignBaseline: 'Baseline',\n wrap: 'Wrap',\n fill: 'Fill',\n defaultExpand: 'Default Expand',\n collapseItemSetting: 'Collapse Item Setting',\n block: 'Block',\n src: 'Src',\n fit: 'Fit Mode',\n radius: 'Radius (px)',\n // 序号\n seq: 'Seq',\n containerInputPlaceholder: 'Enter the container selector',\n langMode: 'language Mode',\n editAPIConfig: 'Edit API Config',\n lineHeight: 'Line Height (px)',\n mode: 'Select Mode',\n useModal: 'Use Modal',\n combobox: 'Combobox Mode',\n multiple: 'Multiple Mode',\n tags: 'Tags Mode',\n buttonList: 'Button Group',\n buttonListConfig: 'Button Group Config',\n buttonPosition: 'Position',\n autoWidth: 'Auto Width',\n dataSoureEdit: 'dataSoure Edit',\n fixed: 'Fixed Position',\n fixedRight: 'Fixed Right',\n resizableColumn: 'Resizable Column',\n ellipsisColumn: 'Ellipsis Column',\n treeDefaultExpandAll: 'Default Expand All Tree Nodes',\n shape: 'Button Shape',\n danger: 'Danger Button',\n\n defaultPageSize: 'Default Page Size',\n specifyPageSizeOptions: 'Page Size Options',\n hideOnSinglePage: 'Hide Pagination On Single Page',\n showQuickJumper: 'Show Quick Jumper',\n showSizeChanger: 'Show Size Changer',\n position: 'Pagination Position',\n\n pagination: 'Pagination',\n hasRowSelection: 'Enable Left Checkbox',\n fixedLeft: 'Fixed Left',\n preserveSelectedRowKeys: 'Preserve Selected Row Keys',\n customColumnWidth: 'Custom Column Width',\n customColumnTitle: 'Custom Column Title',\n\n selectRow: 'Click Row Select',\n loadingPage: 'Loading Page',\n delete: 'Delete',\n tabBarGutter: 'Tab Bar Gutter',\n tabPosition: 'Tab Position',\n tabType: 'Tab Type',\n rowKey: 'Row Key',\n holdHidden: 'Hold Hidden',\n editFunction: 'Edit Function',\n // 关联表单代码\n formCode: 'Form Code',\n edit: 'Edit',\n horizontal: 'Horizontal',\n vertical: 'Vertical',\n 基本属性: 'Basic Setting',\n attributeSetting: 'Attribute Setting',\n 常见属性: 'Common Setting',\n 高级属性: 'Advanced Setting',\n 事件属性: 'Event Setting',\n uniqueName: 'Unique Name',\n editNameHelp: 'Press enter to confirm the modification',\n label: 'Label',\n displayType: 'Type',\n defaultValue: 'Default Value',\n placeholder: 'Placeholder',\n startPlaceholder: 'Start Placeholder',\n endPlaceholder: 'End Placeholder',\n widgetColumnWidth: 'Width',\n widgetSize: 'Size',\n widgetFlex: 'Flex',\n autoFullWidth: 'Auto Full Width',\n displayStyle: 'Display Style',\n inlineLayout: 'inline',\n blockLayout: 'block',\n buttonStyle: 'Show As Button',\n border: 'Show Border',\n labelWidth: 'Width Of Label',\n rows: 'Rows',\n labelHidden: 'Hide Label',\n required: 'Required',\n requiredHint: 'Failure Hint',\n validation: 'Validation',\n validationHelp: 'Regular expressions supported',\n validationHint: 'Validation Hint',\n readonly: 'Readonly',\n disabled: 'Disabled',\n hidden: 'Hidden',\n textContent: 'Text',\n htmlContent: 'HTML',\n allowClear: 'AllowClear',\n editable: 'Editable',\n format: 'Format',\n valueFormat: 'Value Format',\n showPassword: 'Show Reveal',\n filterable: 'Filterable',\n allowCreate: 'Allow Create',\n showSearch: 'showSearch Query',\n automaticDropdown: 'Automatic Dropdown',\n multipleLimit: 'Multiple Limit',\n checkStrictly: 'Any Level Selectable',\n showAllLevels: 'Show All Levels',\n contentPosition: 'Content Position',\n dividerDirection: 'Direction',\n plain: 'Plain',\n round: 'Round',\n closeable: 'Closeable',\n circle: 'Circle',\n icon: 'Icon',\n optionsSetting: 'Options Setting',\n addOption: 'Add Option',\n importOptions: 'Import Options',\n resetDefault: 'Reset Default',\n uploadSetting: 'Upload Setting',\n uploadURL: 'Upload URL',\n uploadTip: 'Tip Content',\n withCredentials: 'Send Cookie',\n multipleSelect: 'File Multi-select',\n showFileList: 'Show File List',\n limit: 'Max Upload Number',\n fileMaxSize: 'Max Size(MB)',\n fileTypes: 'Upload File Types',\n uploadType: 'Upload Type',\n fileTypesHelp: 'Allows to add more file types',\n headers: 'Request Headers',\n uploadListType: 'Upload List Type',\n customRender: 'Custom Render',\n\n labelBefore: 'Label Before',\n labelAfter: 'Label After',\n\n cellWidth: 'Width',\n cellHeight: 'Height',\n gridColHeight: 'Height Of Col(px)',\n gutter: 'Gutter(px)',\n gridJustify: 'Horizontal Align',\n justifyStart: 'Start',\n justifyEnd: 'End',\n justifyCenter: 'Center',\n justifySpaceAround: 'Space Around',\n justifySpaceBetween: 'Space Between',\n columnSetting: 'Cols Setting',\n colsOfGrid: 'Cols Of Grid:',\n colSpanTitle: 'Spans Of Col',\n colOffsetTitle: 'Offset Of Col',\n colPushTitle: 'Push Of Col',\n colPullTitle: 'Pull Of Col',\n addColumn: 'Add Column',\n responsive: 'Responsive',\n\n tabPaneSetting: 'Tab Panes',\n addTabPane: 'Add Tab Pane',\n paneActive: 'Active',\n\n customLabelIcon: 'Custom Label',\n labelIconClass: 'Label Icon Class',\n labelIconTooltip: 'Label Icon Tooltip',\n labelIconPosition: 'Label Icon Position',\n minValue: 'Min Value',\n maxValue: 'Max Value',\n precision: 'Precision',\n step: 'Step',\n controlsPosition: 'Controls Position',\n minLength: 'Min Length',\n maxLength: 'Max Length',\n showCount: 'Show Word Limit',\n addonBefore: 'Prefix Icon',\n inputButton: 'Input Button Setting',\n appendButton: 'Append Button',\n appendButtonDisabled: 'Button Disabled',\n appendButtonIcon: 'Append Button Icon',\n buttonIcon: 'Button Icon',\n switchWidth: 'Width of Switch(px)',\n checkedValue: 'Active Text',\n unCheckedValue: 'Inactive Text',\n activeColor: 'Active Color',\n inactiveColor: 'Inactive Color',\n maxStars: 'Stars Max Number',\n lowThreshold: 'Low Threshold',\n highThreshold: 'High Threshold',\n allowHalf: 'Allow Half',\n showText: 'Show Text',\n showScore: 'Show Score',\n range: 'Range',\n showBlankRow: 'Show Blank Row',\n showRowNumber: 'Show Row Number',\n contentHeight: 'Content Area Height',\n\n insertColumnToLeft: 'insert column to left',\n insertColumnToRight: 'insert column to right',\n insertRowAbove: 'insert row above',\n insertRowBelow: 'insert row below',\n mergeLeftColumn: 'merge left cell',\n mergeRightColumn: 'merge right cell',\n mergeEntireRow: 'merge entire row',\n mergeRowAbove: 'merge cell above',\n mergeRowBelow: 'merge cell below',\n mergeEntireColumn: 'merge entire column',\n undoMergeCol: 'undo merge column',\n undoMergeRow: 'undo merge row',\n deleteEntireCol: 'delete entire column',\n deleteEntireRow: 'delete entire row',\n ghost: 'Ghost Button',\n buttonConfig: 'Button Config',\n placement: 'Placement',\n bottomLeft: 'Bottom Left',\n bottomRight: 'Bottom Right',\n topLeft: 'Top Left',\n topRight: 'Top Right',\n menuList: 'Menu Options',\n\n widgetName: 'Unique Name',\n formSize: 'Size',\n labelPosition: 'Position Of Label',\n topPosition: 'Top',\n leftPosition: 'Left',\n labelAlign: 'Label Align',\n leftAlign: 'Left',\n centerAlign: 'Center',\n rightAlign: 'Right',\n formCss: 'Form CSS',\n addCss: 'Edit',\n customClass: 'Custom Class',\n globalFunctions: 'Global Functions',\n addEventHandler: 'Edit',\n editWidgetEventHandler: 'Edit Widget Event Handler',\n editFormEventHandler: 'Edit Form Event Handler',\n formSFCSetting: 'SFC Setting',\n formModelName: 'Model Name',\n formRefName: 'Ref Name',\n formRulesName: 'Rules Name',\n syntaxCheckWarning: 'Syntax error in the javascript codes, please check again!',\n\n //dialog & drawer\n title: 'Title',\n width: 'Width(px/%)',\n fullscreen: 'Full Screen',\n showModal: 'Show Modal',\n showClose: 'Show Close',\n closeOnClickModal: 'Click Modal To Close ',\n closeOnPressEscape: 'Press Esc To Close',\n center: 'Center Header And Footer',\n readMode: 'Form Readonly',\n disabledMode: 'Form Disabled',\n drawSize: 'Size(px/%)',\n drawDirection: 'Direction',\n\n //data-table\n tableWidth: 'Width(px/%)',\n tableHeight: 'Height(px/%)',\n showCheckBox: 'Show CheckBox',\n showColumnManager: 'Column Manager',\n showIndex: 'Show Row Number',\n showPagination: 'Show Pagination',\n smallPagination: 'Small Pagination',\n tableColEdit: 'Edit Cols',\n tableDataEdit: 'Edit Data',\n stripe: 'Stripe',\n showSummary: 'Show Summary',\n rowSpacing: 'Row Spacing(px)',\n editAction: 'Edit...',\n dsEnabled: 'Use Datasource',\n columnName: 'Name',\n columnLabel: 'Label',\n columnWidth: 'Width(px/%)',\n visibleColumn: 'Visible',\n sortableColumn: 'Sortable',\n fixedColumn: 'Fixed',\n alignTypeOfColumn: 'Align',\n formatOfColumn: 'Format',\n customRenderGroup: 'Custom Render',\n renderFunction: 'Render',\n actionColumn: 'Action',\n addTableColumn: 'Add New Column',\n deleteTableColumn: 'Delete This Column',\n addSubsets: 'Add Subsets',\n onlyOneColumnCannotBeDeleted: 'The last column cannot be deleted.',\n treeDataEnabled: 'Enable Tree Data',\n rowKeyOfTreeData: 'Row Key Of Data',\n childrenKeyOfTreeData: 'Children Of Data',\n treeConfigEnabled: 'Enable Tree Config',\n treeConfigTransform: 'Auto Transform Data',\n treeConfigTreeNode: 'Expand Node Field',\n treeConfigRowField: 'Row ID Field',\n treeConfigParentField: 'Parent ID Field',\n showButtonsColumn: 'Buttons Column',\n buttonsColumnEdit: 'Edit Buttons',\n buttonsColumnTitle: 'Title',\n buttonsColumnWidth: 'Width(px)',\n operationButtonsSetting: 'Buttons Setting',\n operationButtonName: 'Name',\n operationButtonLabel: 'Text',\n operationButtonType: 'Type',\n operationButtonSize: 'Size',\n operationButtonGhost: 'Ghost',\n operationButtonRound: 'Round',\n operationButtonHidden: 'Hidden',\n operationButtonDisabled: 'Disabled',\n addOperationButton: 'Add New Button',\n batchConfig: 'Batch Config',\n deleteOperationButtonHint: 'Delete this button?',\n operationButtonDuplicatedNameError: 'Duplicate button name.',\n\n //data-source\n dsName: 'Datasource Name',\n dataSetName: 'Dataset Name',\n labelKeyName: 'Label Key',\n valueKeyName: 'Value Key',\n childrenKeyName: 'Children Key',\n dataSource: 'Datasource',\n noDataSource: 'No datasource.',\n addDataSource: 'Add Datasource',\n importDataSource: 'Import Datasource',\n clearExistingDataSource: 'Empty the existing datasource',\n remainExistingDataSource: 'Append to the existing datasource',\n exportDataSource: 'Export Datasource',\n selectDataSourceForExport: 'Select Datasource',\n dataSourceChecked: 'Checked',\n previewDataSourceExportResult: 'Preview Result',\n dataSourceSetting: 'Datasource Setting',\n deleteDataSourceHint: 'Delete this datasource?',\n fieldValueRequired: 'Value can not be null',\n dsUniqueName: 'Unique Name',\n dsRequestURL: 'Request URL',\n dsRequestURLType: 'Request URL Type',\n dsURLStringType: 'String',\n dsURLVariableType: 'Expression',\n dsDescription: 'Description',\n dsRequestMethod: 'Request Method',\n dsRequestHeaders: 'Headers',\n addRequestHeader: 'Add Header',\n dsRequestParams: 'Params',\n addRequestParam: 'Add Param',\n dsRequestData: 'Data',\n addRequestData: 'Add Data',\n addDataSet: 'Add Dataset',\n dsRequestValueStringType: 'String',\n dsRequestValueNumberType: 'Number',\n dsRequestValueBooleanType: 'Boolean',\n dsRequestValueVariableType: 'Variable',\n dsRequestNameInputPlaceholder: 'Name',\n dsRequestTypeInputPlaceholder: 'Type',\n dsRequestValueInputPlaceholder: 'Value',\n dataSetRemarkInputPlaceholder: 'Note',\n dsConfigHandlerTitle: '1. Config Handler',\n dsDataHandlerTitle: '2. Data Handler',\n dsErrorHandlerTitle: '3. Error Handler',\n dataSetSettingTitle: '4. Dataset Setting',\n dataSetEnabled: 'Multiple Datasets Enabled',\n dataSetSetting: 'List Of Datasets',\n testDataSource: 'Test Datasource',\n dsvTitle: 'Datasource Variable',\n dsRequestResult: 'Result Data',\n executeDataSource: 'Run Test',\n clearRequestResult: 'Clear Result',\n dsRequestNumberTypeError: 'Number value error',\n dsRequestBooleanTypeError: 'Boolean value error',\n dsValidationError: 'Datasource check failure.',\n dsDuplicatedNameError: 'Duplicate datasource name.',\n slotCompontent: 'slot name',\n diyCompontent: 'component name',\n\n isEnterSubmit: 'Enter key submit',\n top: 'Top',\n right: 'Right',\n bottom: 'Bottom',\n left: 'Left',\n showBorder: 'Show Border',\n borderStyle: 'Border Style',\n solid: 'Solid',\n dashed: 'Dashed',\n dotted: 'Dotted',\n double: 'Double',\n\n borderWidth: 'Border Width',\n borderColor: 'Border Color',\n borderRadius: 'Border Radius',\n backgroundColor: 'Background Color',\n shadow: 'Shadow',\n enableShadow: 'Enable Shadow',\n shadowOffsetX: 'Horizontal Offset',\n shadowOffsetY: 'Vertical Offset',\n shadowBlur: 'Blur Radius',\n shadowSpread: 'Spread Radius',\n shadowColor: 'Shadow Color',\n\n operationButtonClick: 'Click Event',\n operationButtonAction: 'Action',\n biProperties: 'BI Properties',\n canvasWidth: 'Canvas Width',\n canvasHeight: 'Canvas Height',\n scaleMode: 'Scale Mode',\n scale: 'Fixed Scale',\n autoScale: 'Auto Fit',\n fixedScale: 'Fixed Ratio'\n }\n },\n 左固定: 'Fixed Left',\n 是否可勾选: 'Can Checked',\n 表格数据变化: 'On Table Change',\n\n 默认折叠: 'Default Collapse',\n 窗体样式: 'Form Style',\n 头部右插槽样式: 'Header Right Slot Style',\n 折叠时icon: 'Collapse Icon',\n 未折叠时icon: 'Expand Icon',\n height: 'Height',\n 复制: 'Copy',\n 编写样式: 'Edit Style',\n 盒模型配置: 'Box Model Configuration',\n Margin: 'Margin',\n Padding: 'Padding',\n 参数设置: 'Parameter Setting',\n 是否展示连接线: 'Show Line',\n 是否可选择: 'Selectable',\n 数据源设置: 'Datasource Setting',\n 数据源: 'Datasource',\n 当前位置: 'Current Position',\n 自定义位置: 'Custom Position'\n};\n"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ const zhCN = {
21
21
  biComponents: "BI组件",
22
22
  noWidgetHint: "请从左侧列表中选择一个组件, 然后用鼠标拖动组件放置于此处.",
23
23
  widgetLabel: {
24
+ list: "列表",
24
25
  "field-input": "输入框",
25
26
  "date-picker": "日期选择",
26
27
  calendar: "日历",
@@ -530,6 +531,11 @@ const zhCN = {
530
531
  treeDataEnabled: "允许加载树形数据",
531
532
  rowKeyOfTreeData: "树形数据ID键",
532
533
  childrenKeyOfTreeData: "树形数据子节点键",
534
+ treeConfigEnabled: "启用树形配置",
535
+ treeConfigTransform: "自动转换数据",
536
+ treeConfigTreeNode: "展开节点字段",
537
+ treeConfigRowField: "行ID字段",
538
+ treeConfigParentField: "父级ID字段",
533
539
  showButtonsColumn: "显示操作按钮列",
534
540
  buttonsColumnEdit: "操作按钮编辑",
535
541
  buttonsColumnTitle: "列标题",