@kp-ui/lowcode 2.15.0-beta.8 → 2.16.0-alpha.3

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 (70) hide show
  1. package/install.js +18 -16
  2. package/install.js.map +1 -1
  3. package/package.json +2 -1
  4. package/src/components/FormRender/FormContainer.vue.js +55 -0
  5. package/src/components/FormRender/FormContainer.vue.js.map +1 -0
  6. package/src/components/FormRender/FormContainer.vue2.js +5 -0
  7. package/src/components/FormRender/FormContainer.vue2.js.map +1 -0
  8. package/src/components/FormRender/index.vue.js +2 -2
  9. package/src/components/FormRender/index.vue2.js +35 -40
  10. package/src/components/FormRender/index.vue2.js.map +1 -1
  11. package/src/components/FormRender/useFormContext.js +128 -120
  12. package/src/components/FormRender/useFormContext.js.map +1 -1
  13. package/src/components/form-designer/form-widget/container-widget/useTableWidget.js +116 -114
  14. package/src/components/form-designer/form-widget/container-widget/useTableWidget.js.map +1 -1
  15. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue.js +2 -2
  16. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue2.js +22 -16
  17. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue2.js.map +1 -1
  18. package/src/components/form-designer/form-widget/field-widget/rich-editor-widget.vue2.js.map +1 -1
  19. package/src/components/form-designer/form-widget/field-widget/useField.js +33 -33
  20. package/src/components/form-designer/form-widget/field-widget/useField.js.map +1 -1
  21. package/src/components/form-designer/setting-panel/form-setting.vue.js +2 -2
  22. package/src/components/form-designer/setting-panel/form-setting.vue2.js +100 -126
  23. package/src/components/form-designer/setting-panel/form-setting.vue2.js.map +1 -1
  24. package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js +45 -39
  25. package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js.map +1 -1
  26. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue.js +2 -2
  27. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue2.js.map +1 -1
  28. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/cancelButtonLabel-editor.vue2.js.map +1 -1
  29. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue.js +5 -0
  30. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue.js.map +1 -0
  31. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue2.js +38 -0
  32. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/left-editor.vue2.js.map +1 -0
  33. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue.js +5 -0
  34. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue.js.map +1 -0
  35. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue2.js +38 -0
  36. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/top-editor.vue2.js.map +1 -0
  37. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/width-editor.vue2.js.map +1 -1
  38. package/src/components/form-designer/setting-panel/property-editor/event-handler/onTableChange-editor.vue2.js +4 -4
  39. package/src/components/form-designer/setting-panel/property-editor/event-handler/onTableChange-editor.vue2.js.map +1 -1
  40. package/src/components/form-designer/setting-panel/property-editor/index.js +158 -156
  41. package/src/components/form-designer/setting-panel/property-editor/index.js.map +1 -1
  42. package/src/components/form-designer/setting-panel/propertyRegister.js +2 -0
  43. package/src/components/form-designer/setting-panel/propertyRegister.js.map +1 -1
  44. package/src/components/form-designer/widget-panel/containers/vf-dialog.js +34 -10
  45. package/src/components/form-designer/widget-panel/containers/vf-dialog.js.map +1 -1
  46. package/src/components/form-render/container-items/data-table-widget.vue.js +1 -1
  47. package/src/components/form-render/container-items/data-table-widget.vue2.js +60 -61
  48. package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -1
  49. package/src/components/form-render/dynamic-dialog.vue.js +72 -75
  50. package/src/components/form-render/dynamic-dialog.vue.js.map +1 -1
  51. package/src/components/public/ActionButtonListDialog.vue.js +1 -1
  52. package/src/components/public/ActionButtonListDialog.vue2.js +115 -94
  53. package/src/components/public/ActionButtonListDialog.vue2.js.map +1 -1
  54. package/src/components/public/ActionButtonListRender.vue.js +15 -13
  55. package/src/components/public/ActionButtonListRender.vue.js.map +1 -1
  56. package/src/components/public/ActionButtonListRender.vue2.js +35 -25
  57. package/src/components/public/ActionButtonListRender.vue2.js.map +1 -1
  58. package/src/constants/EditorTypeEnum.js +1 -1
  59. package/src/constants/EditorTypeEnum.js.map +1 -1
  60. package/src/hooks/useLowcode.js.map +1 -1
  61. package/src/lang/en-US.js +1 -0
  62. package/src/lang/en-US.js.map +1 -1
  63. package/src/lang/zh-CN.js +1 -0
  64. package/src/lang/zh-CN.js.map +1 -1
  65. package/src/utils/util.js +21 -20
  66. package/src/utils/util.js.map +1 -1
  67. package/stats.html +1 -1
  68. package/styles/style.css +1 -1
  69. package/src/components/FormRender/FormContainer.js +0 -52
  70. package/src/components/FormRender/FormContainer.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"zh-CN.js","sources":["../../../src/lang/zh-CN.ts"],"sourcesContent":["export default {\n application: {\n 'zh-CN': '简体中文',\n 'en-US': 'English',\n productTitle: '表单设计器',\n github: 'GitHub',\n document: '文档'\n },\n\n designer: {\n showTotal: '共 {total} 条',\n outline: '大纲',\n field: '字段',\n componentLib: '组件',\n formLib: '模板',\n containerTitle: '容器',\n dragHandlerHint: '鼠标拖拽容器组件或字段组件并放置于表单中',\n dragAction: '拖动',\n basicFieldTitle: '基础组件',\n advancedFieldTitle: '高级组件',\n customFieldTitle: '自定义扩展字段',\n\n noWidgetHint: '请从左侧列表中选择一个组件, 然后用鼠标拖动组件放置于此处.',\n\n widgetLabel: {\n grid: '栅格',\n table: '表格',\n tab: '标签页',\n section: '区块',\n 'sub-form': '单行子表单',\n 'grid-sub-form': '多行子表单',\n 'grid-col': '栅格列',\n 'table-cell': '单元格',\n 'tab-pane': '选项卡页',\n 'data-table': '数据表格',\n 'vf-dialog': '弹出窗口',\n 'vf-collapse': '折叠面板',\n 'vf-drawer': '侧滑抽屉',\n 'vf-box': '盒容器',\n\n input: '单行文本',\n textarea: '多行文本',\n number: '计数器',\n radio: '单选框',\n checkbox: '多选框',\n select: '下拉选项',\n time: '时间',\n 'time-range': '时间范围',\n date: '日期',\n 'date-range': '日期范围',\n switch: '开关',\n rate: '评分',\n color: '颜色选择器',\n slider: '滑块',\n 'static-text': '静态文字',\n 'html-text': 'HTML',\n button: '按钮',\n divider: '分隔线',\n dropdown: '下拉菜单',\n\n 'picture-upload': '图片',\n 'file-upload': '附件',\n 'rich-editor': '富文本',\n cascader: '级联选择',\n treeSelect: '树形选择',\n tree: '树',\n 'diy-compontent': '自定义组件',\n toolbar: '工具栏',\n 'button-list': '按钮组',\n slot: '插槽',\n custom: ' 自定义组件',\n 'code-editor': '代码编辑器',\n 'bpmn-editor': '流程图'\n },\n\n hint: {\n selectParentWidget: '选中父组件',\n moveUpWidget: '上移组件',\n moveDownWidget: '下移组件',\n cloneWidget: '复制组件',\n insertRow: '插入新行',\n insertColumn: '插入新列',\n remove: '移除组件',\n cellSetting: '单元格操作',\n dragHandler: '拖拽手柄',\n copyField: '复制字段组件',\n onlyFieldWidgetAcceptable: '子表单只能接收字段组件',\n moveUpFirstChildHint: '已经移动到最上面',\n moveDownLastChildHint: '已经移动到最下面',\n\n closePreview: '关闭',\n copyJson: '复制JSON',\n saveFormJson: '保存为文件',\n copyVueCode: '复制Vue代码',\n copyHtmlCode: '复制HTML代码',\n copyJsonSuccess: '复制JSON成功',\n importJsonSuccess: '导入JSON成功',\n invalidJsonFormat: '无效的表单JSON格式',\n jsonVersionMismatch: '表单JSON版本号不匹配',\n copyJsonFail: '复制JSON失败',\n copyVueCodeSuccess: '复制Vue代码成功',\n copyVueCodeFail: '复制Vue代码失败',\n copyHtmlCodeSuccess: '复制HTML代码成功',\n copyHtmlCodeFail: '复制HTML代码失败',\n saveVueCode: '保存Vue文件',\n saveHtmlCode: '保存Html文件',\n getFormData: '获取数据',\n resetForm: '重置表单',\n disableForm: '禁用编辑',\n enableForm: '恢复编辑',\n switchReadMode: '只读查看',\n exportFormData: '表单数据',\n copyFormData: '复制JSON',\n saveFormData: '保存为文件',\n copyVue2SFC: '复制Vue2代码',\n copyVue3SFC: '复制Vue3代码',\n copySFCFail: '复制SFC代码失败',\n copySFCSuccess: '复制SFC代码成功',\n saveVue2SFC: '保存为Vue2组件',\n saveVue3SFC: '保存为Vue3组件',\n fileNameForSave: '文件名:',\n saveFileTitle: '保存为文件',\n fileNameInputPlaceholder: '请输入文件名',\n sampleLoadedSuccess: '表单示例加载成功',\n sampleLoadedFail: '表单示例加载失败',\n loadFormTemplate: '加载此模板',\n loadFormTemplateHint:\n '是否加载这个模板?加载后会覆盖设计器当前表单,你可以使用“撤销”功能恢复。',\n loadFormTemplateSuccess: '表单模板加载成功',\n loadFormTemplateFailed: '表单模板加载失败',\n currentNodeCannotBeSelected: '当前组件节点不可选择',\n noSelectedWidgetHint: '当前没有选中设置的组件',\n\n widgetSetting: '组件设置',\n 表单设置: '表单设置',\n 表单api配置: '表单api配置',\n 表单编辑api: '表单编辑api',\n 表单详情API: '表单详情API',\n\n prompt: '提示',\n confirm: '确定',\n cancel: '取消',\n import: '导入',\n importJsonHint: '导入的JSON内容须符合下述格式,以保证顺利导入.',\n importDSHint: '导入的数据源格式须符合规范,以保证顺利导入.',\n invalidOptionsData: '无效的选项数据:',\n lastPaneCannotBeDeleted: '仅剩一个选项卡页不可删除.',\n duplicateName: '组件名称已存在: ',\n nameRequired: '组件名称不可为空',\n\n numberValidator: '数字',\n letterValidator: '字母',\n letterAndNumberValidator: '数字字母',\n mobilePhoneValidator: '手机号码',\n emailValidator: '邮箱',\n urlValidator: '网址',\n noChineseValidator: '非中文字符',\n chineseValidator: '仅中文字符',\n\n rowspanNotConsistentForMergeEntireRow: '存在行高不一致的单元格, 无法合并整行.',\n colspanNotConsistentForMergeEntireColumn: '存在列宽不一致的单元格, 无法合并整列.',\n rowspanNotConsistentForDeleteEntireRow: '存在行高不一致的单元格, 不可删除整行.',\n colspanNotConsistentForDeleteEntireColumn: '存在列宽不一致的单元格, 不可删除整列.',\n lastColCannotBeDeleted: '最后一列不可删除.',\n lastRowCannotBeDeleted: '最后一行不可删除.'\n },\n\n toolbar: {\n undoHint: '撤销',\n redoHint: '重做',\n pcLayout: 'PC',\n padLayout: 'Pad',\n mobileLayout: 'H5',\n nodeTreeHint: '组件层次结构树',\n nodeTreeTitle: '组件层次结构树',\n clear: '清空',\n preview: '预览',\n save: '保存',\n importJson: '导入JSON',\n exportJson: '导出JSON',\n exportCode: '导出代码',\n generateCode: '生成代码',\n generateSFC: '生成SFC'\n },\n\n setting: {\n // 序号\n seq: '序号',\n containerInputPlaceholder: '请输入要渲染的目标',\n langMode: '语法模式',\n editAPIConfig: '编辑API',\n dataSoureEdit: '数据源编辑',\n lineHeight: '行高(px)',\n mode: '选择模式',\n combobox: '列表模式',\n multiple: '多选模式',\n tags: '标签模式',\n useModal: '使用功能按钮',\n resizableColumn: '可拖动调整宽度',\n ellipsisColumn: '超过宽度将自动省略',\n treeDefaultExpandAll: '默认展开所有树节点',\n shape: '按钮形状',\n danger: '危险按钮',\n ghost: '幽灵按钮',\n buttonConfig: '按钮配置',\n placement: '菜单弹出位置',\n bottomLeft: '下左',\n bottomRight: '下右',\n topLeft: '上左',\n topRight: '上右',\n menuList: '下拉菜单选项设置',\n\n pagination: '分页配置',\n defaultPageSize: '默认的每页条数',\n specifyPageSizeOptions: '指定每页可以显示多少条',\n hideOnSinglePage: '只有一页时是否隐藏分页器',\n showQuickJumper: '是否可以快速跳转至某页',\n showSizeChanger: '是否展示 pageSize 切换器',\n position: '分页器位置',\n\n hasRowSelection: '启用左侧勾选设置',\n fixedLeft: '左',\n fixedRight: '右',\n fixedNull: '中',\n preserveSelectedRowKeys: '当数据被删除时仍然保留选项的 key',\n customColumnWidth: '自定义列表选择框宽度',\n customColumnTitle: '自定义列表选择框标题',\n\n selectRow: '点击行选中',\n loadingPage: '加载分页',\n delete: '删除',\n tabBarGutter: '页签之间的间隙',\n tabPosition: '页签位置',\n tabType: '页签类型',\n rowKey: '列表主键(唯一性)',\n holdHidden: '隐藏时是否占位',\n editFunction: '编辑函数',\n formCode: '关联表单',\n edit: '编辑',\n horizontal: '水平',\n vertical: '垂直',\n 基本属性: '基本属性',\n attributeSetting: '属性设置',\n 常见属性: '常见属性',\n 高级属性: '高级属性',\n 事件属性: '事件属性',\n uniqueName: '唯一名称',\n editNameHelp: '修改名称后需按回车确认',\n label: '标签',\n displayType: '显示类型',\n defaultValue: '默认值',\n placeholder: '占位内容',\n startPlaceholder: '起始占位内容',\n endPlaceholder: '截止占位内容',\n widgetColumnWidth: '组件列宽',\n widgetSize: '组件大小',\n widgetFlex: '对齐方式',\n autoFullWidth: '自动拉伸宽度',\n displayStyle: '显示样式',\n inlineLayout: '行内',\n blockLayout: '块',\n buttonStyle: '显示为按钮',\n border: '带有边框',\n labelWidth: '标签宽度(px)',\n rows: '行数',\n labelHidden: '隐藏字段标签',\n required: '必填字段',\n requiredHint: '必填校验提示',\n validation: '字段校验',\n validationHelp: '支持输入正则表达式',\n validationHint: '校验失败提示',\n readonly: '只读',\n disabled: '禁用',\n hidden: '隐藏',\n textContent: '静态文字',\n htmlContent: 'HTML',\n allowClear: '可清除',\n editable: '可输入',\n format: '显示格式',\n valueFormat: '绑定值格式',\n showPassword: '可显示密码',\n filterable: '可搜索选项',\n allowCreate: '允许创建选项',\n showSearch: '可远程搜索',\n automaticDropdown: '自动弹出选项',\n multipleLimit: '多选数量限制',\n checkStrictly: '任意级节点可选',\n showAllLevels: '显示完整路径',\n contentPosition: '文字位置',\n dividerDirection: '分割线方向',\n plain: '朴素按钮',\n round: '圆角按钮',\n circle: '圆形按钮',\n icon: '图标',\n optionsSetting: '选项设置',\n addOption: '增加选项',\n importOptions: '导入选项',\n resetDefault: '重设选中项',\n uploadSetting: '上传参数设置',\n uploadURL: '上传地址',\n uploadTip: '上传提示内容',\n withCredentials: '发送cookie凭证',\n multipleSelect: '文件可多选',\n uploadListType: '上传列表的内建样式',\n showFileList: '显示文件列表',\n limit: '最大上传数量',\n fileMaxSize: '文件大小限制(MB)',\n fileTypes: '上传文件类型',\n uploadType: '上传类型',\n fileTypesHelp: '支持添加其他文件类型',\n headers: '上传请求头',\n cellWidth: '宽度',\n cellHeight: '高度',\n gridColHeight: '栅格列统一高度(px)',\n gutter: '栅格间隔(px)',\n columnSetting: '栅格属性设置',\n colsOfGrid: '当前栅格列:',\n colSpanTitle: '栅格宽度',\n colOffsetTitle: '左侧间隔格数',\n colPushTitle: '右移栅格数',\n colPullTitle: '左移栅格数',\n addColumn: '增加栅格',\n responsive: '响应式布局',\n customRender: '自定义渲染',\n\n labelBefore: '标签前面',\n labelAfter: '标签后面',\n\n tabPaneSetting: '选项卡设置',\n addTabPane: '增加选项卡页',\n paneActive: '激活',\n\n customLabelIcon: '定制字段标签',\n labelIconClass: '标签Icon样式',\n labelIconPosition: '标签Icon位置',\n minValue: '最小值',\n maxValue: '最大值',\n precision: '精度',\n step: '增减步长',\n controlsPosition: '控制按钮位置',\n minLength: '最小长度',\n maxLength: '最大长度',\n showCount: '显示字数统计',\n addonBefore: '头部标签',\n inputButton: '输入框按钮设置',\n appendButton: '添加后置按钮',\n appendButtonDisabled: '后置按钮禁用',\n appendButtonIcon: '后置按钮Icon',\n buttonIcon: '按钮Icon',\n switchWidth: '开关宽度(像素)',\n checkedValue: '开启时对应枚举',\n unCheckedValue: '关闭时对应枚举',\n activeColor: '开启时背景色',\n inactiveColor: '关闭时背景色',\n maxStars: '最大评分值',\n lowThreshold: '低分界限值',\n highThreshold: '高分界限值',\n allowHalf: '允许半选',\n showText: '显示辅助文字',\n showScore: '显示当前分数',\n range: '是否为范围选择',\n showBlankRow: '默认显示新行',\n showRowNumber: '显示行号',\n contentHeight: '内容区高度',\n\n insertColumnToLeft: '插入左侧列',\n insertColumnToRight: '插入右侧列',\n insertRowAbove: '插入上方行',\n insertRowBelow: '插入下方行',\n mergeLeftColumn: '合并左侧单元格',\n mergeRightColumn: '合并右侧单元格',\n mergeEntireRow: '合并整行',\n mergeRowAbove: '合并上方单元格',\n mergeRowBelow: '合并下方单元格',\n mergeEntireColumn: '合并整列',\n undoMergeCol: '撤销列合并',\n undoMergeRow: '撤销行合并',\n deleteEntireCol: '删除整列',\n deleteEntireRow: '删除整行',\n\n widgetName: '组件唯一名称',\n formSize: '全局组件大小',\n labelPosition: '字段标签位置',\n topPosition: '顶部',\n leftPosition: '左边',\n labelAlign: '字段标签对齐',\n buttonList: '按钮组',\n buttonPosition: '按钮组位置',\n leftAlign: '居左',\n centerAlign: '居中',\n rightAlign: '居右',\n formCss: '表单全局CSS',\n addCss: '编写CSS',\n customClass: '自定义CSS样式',\n globalFunctions: '表单全局函数',\n addEventHandler: '编写代码',\n editWidgetEventHandler: '组件事件处理',\n editFormEventHandler: '表单事件处理',\n formSFCSetting: '生成SFC设置',\n formModelName: '数据对象名称',\n formRefName: '引用名称',\n formRulesName: '验证规则名称',\n syntaxCheckWarning: 'JS代码存在语法错误,请仔细检查!',\n\n //dialog & drawer\n title: '标题',\n dialogWidth: '弹窗宽度(px/%)',\n fullscreen: '全屏显示弹窗',\n showModal: '显示遮罩层',\n showClose: '显示关闭按钮',\n closeOnClickModal: '点击遮罩层关闭',\n closeOnPressEscape: '按Esc键关闭',\n center: '头部底部居中',\n readMode: '弹窗表单只读',\n disabledMode: '弹窗表单禁用',\n okButtonLabel: '确认按钮文字',\n okButtonHidden: '隐藏确认按钮',\n cancelButtonLabel: '取消按钮文字',\n cancelButtonHidden: '隐藏取消按钮',\n drawSize: '抽屉大小(px/%)',\n drawDirection: '抽屉滑出方向',\n isEnterSubmit: '回车键提交',\n autoWidth: '自动宽度',\n\n //data-table\n tableWidth: '宽度(px/%)',\n tableHeight: '高度(px/%)',\n // showCheckBox: '是否显示复选框列',\n showIndex: '是否显示行号',\n showPagination: '是否显示分页',\n smallPagination: '小型分页',\n tableColEdit: '表格列编辑',\n tableDataEdit: '表格数据编辑',\n showSummary: '是否合计',\n stripe: '是否斑马线',\n rowSpacing: '行距(px)',\n editAction: '编辑...',\n columnName: '字段名称',\n columnLabel: '显示名称',\n titleSuffix: '标题后缀',\n showTitleSuffix: '开启标题后缀',\n columnWidth: '列宽(px)',\n visibleColumn: '是否显示',\n sortableColumn: '是否排序',\n fixed: '固定位置',\n fixedColumn: '固定方式',\n autoHeight: '自动高度',\n alignTypeOfColumn: '对齐方式',\n formatOfColumn: '格式化',\n customRenderGroup: '动态渲染',\n renderFunction: '渲染函数',\n actionColumn: '操作',\n addTableColumn: '增加列',\n deleteTableColumn: '删除列',\n addSubsets: '增加子集',\n onlyOneColumnCannotBeDeleted: '表格只有一列时不可删除.',\n treeDataEnabled: '允许加载树形数据',\n rowKeyOfTreeData: '树形数据ID键',\n childrenKeyOfTreeData: '树形数据子节点键',\n showButtonsColumn: '显示操作按钮列',\n buttonsColumnEdit: '操作按钮编辑',\n buttonsColumnTitle: '列标题',\n buttonsColumnWidth: '列宽度(px)',\n operationButtonsSetting: '操作按钮设置',\n operationButtonName: '名称',\n operationButtonLabel: '文字',\n operationButtonType: '类型',\n operationButtonSize: '大小',\n operationButtonGhost: '幽灵按钮',\n operationButtonRound: '圆角',\n operationButtonHidden: '隐藏',\n operationButtonDisabled: '禁用',\n addOperationButton: '增加按钮',\n deleteOperationButtonHint: '确定删除该按钮?',\n operationButtonDuplicatedNameError: '按钮名称不可重复',\n\n //data-source\n dsEnabled: '使用数据源',\n dsName: '指定数据源',\n dataSetName: '指定数据集',\n labelKeyName: '选项标签名',\n valueKeyName: '选项值名',\n childrenKeyName: '子节点属性名称',\n dataSource: '数据源',\n noDataSource: '暂无数据源',\n addDataSource: '新增数据源',\n importDataSource: '导入数据源',\n clearExistingDataSource: '导入后清空原有数据源',\n remainExistingDataSource: '追加到已有数据源之后',\n exportDataSource: '导出数据源',\n selectDataSourceForExport: '选择导出数据源',\n dataSourceChecked: '选中导出',\n previewDataSourceExportResult: '导出结果预览',\n dataSourceSetting: '数据源设置',\n deleteDataSourceHint: '确认删除该数据源?',\n fieldValueRequired: '输入内容不可为空',\n dsUniqueName: '唯一名称',\n dsRequestURL: '请求地址',\n dsRequestURLType: '请求URL类型',\n dsURLStringType: '固定字符串',\n dsURLVariableType: '变量或表达式',\n dsDescription: '描述信息',\n dsRequestMethod: '请求方法',\n dsRequestHeaders: '请求头(headers)',\n addRequestHeader: '新增请求头',\n dsRequestParams: '参数(params)',\n addRequestParam: '新增请求参数',\n dsRequestData: '发送数据(data)',\n addRequestData: '新增发送数据',\n addDataSet: '新增数据集',\n dsRequestValueStringType: '字符串类型',\n dsRequestValueNumberType: '数值类型',\n dsRequestValueBooleanType: '布尔类型',\n dsRequestValueVariableType: '变量或表达式',\n dsRequestNameInputPlaceholder: '名称',\n dsRequestTypeInputPlaceholder: '类型',\n dsRequestValueInputPlaceholder: '值',\n dataSetRemarkInputPlaceholder: '备注说明',\n dsConfigHandlerTitle: '1. 请求配置',\n dsDataHandlerTitle: '2. 数据处理',\n dsErrorHandlerTitle: '3. 错误处理',\n dataSetSettingTitle: '4. 多数据集配置',\n dataSetEnabled: '开启多数据集返回',\n dataSetSetting: '返回数据集管理',\n testDataSource: '测试数据源',\n dsvTitle: 'DSV数据源变量',\n dsRequestResult: '返回数据',\n executeDataSource: '立即执行',\n clearRequestResult: '清空结果',\n dsRequestNumberTypeError: '数据类型值错误',\n dsRequestBooleanTypeError: '布尔类型值错误',\n dsValidationError: '数据源设置存在错误,请修改',\n dsDuplicatedNameError: '数据源名称重复,请修改!',\n slotCompontent: '插槽名',\n diyCompontent: '组件名',\n top: '上',\n right: '右',\n bottom: '下',\n left: '左',\n\n showBorder: '显示边框',\n borderStyle: '边框样式',\n solid: '实线',\n dashed: '虚线',\n dotted: '点线',\n double: '双线',\n borderWidth: '边框宽度',\n borderColor: '边框颜色',\n borderRadius: '圆角',\n backgroundColor: '背景颜色',\n shadow: '阴影',\n enableShadow: '启用阴影',\n shadowOffsetX: '水平偏移',\n shadowOffsetY: '垂直偏移',\n shadowBlur: '模糊半径',\n shadowSpread: '扩散半径',\n shadowColor: '阴影颜色',\n operationButtonClick: '点击事件',\n operationButtonAction: '操作'\n }\n },\n 是否可勾选: '是否可勾选',\n 表格数据变化: '表格数据变化',\n 左固定: '左固定',\n\n 默认折叠: '默认折叠',\n 窗体样式: '窗体样式',\n 头部右插槽样式: '头部右插槽样式',\n 折叠时icon: '折叠时icon',\n 未折叠时icon: '未折叠时icon',\n height: '高度',\n 复制: '复制',\n 编写样式: '编写样式',\n 盒模型配置: '盒模型配置',\n Margin: '外边距',\n Padding: '内边距',\n 参数设置: '参数设置',\n 是否展示连接线: '是否展示连接线',\n 是否可选择: '是否可选择',\n 数据源设置: '数据源设置',\n 数据源: '数据源',\n 当前位置: '当前位置',\n 自定义位置: '自定义位置'\n};\n"],"names":["zhCN"],"mappings":"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"}
1
+ {"version":3,"file":"zh-CN.js","sources":["../../../src/lang/zh-CN.ts"],"sourcesContent":["export default {\n application: {\n 'zh-CN': '简体中文',\n 'en-US': 'English',\n productTitle: '表单设计器',\n github: 'GitHub',\n document: '文档'\n },\n\n designer: {\n showTotal: '共 {total} 条',\n outline: '大纲',\n field: '字段',\n componentLib: '组件',\n formLib: '模板',\n containerTitle: '容器',\n dragHandlerHint: '鼠标拖拽容器组件或字段组件并放置于表单中',\n dragAction: '拖动',\n basicFieldTitle: '基础组件',\n advancedFieldTitle: '高级组件',\n customFieldTitle: '自定义扩展字段',\n\n noWidgetHint: '请从左侧列表中选择一个组件, 然后用鼠标拖动组件放置于此处.',\n\n widgetLabel: {\n grid: '栅格',\n table: '表格',\n tab: '标签页',\n section: '区块',\n 'sub-form': '单行子表单',\n 'grid-sub-form': '多行子表单',\n 'grid-col': '栅格列',\n 'table-cell': '单元格',\n 'tab-pane': '选项卡页',\n 'data-table': '数据表格',\n 'vf-dialog': '弹出窗口',\n 'vf-collapse': '折叠面板',\n 'vf-drawer': '侧滑抽屉',\n 'vf-box': '盒容器',\n\n input: '单行文本',\n textarea: '多行文本',\n number: '计数器',\n radio: '单选框',\n checkbox: '多选框',\n select: '下拉选项',\n time: '时间',\n 'time-range': '时间范围',\n date: '日期',\n 'date-range': '日期范围',\n switch: '开关',\n rate: '评分',\n color: '颜色选择器',\n slider: '滑块',\n 'static-text': '静态文字',\n 'html-text': 'HTML',\n button: '按钮',\n divider: '分隔线',\n dropdown: '下拉菜单',\n\n 'picture-upload': '图片',\n 'file-upload': '附件',\n 'rich-editor': '富文本',\n cascader: '级联选择',\n treeSelect: '树形选择',\n tree: '树',\n 'diy-compontent': '自定义组件',\n toolbar: '工具栏',\n 'button-list': '按钮组',\n slot: '插槽',\n custom: ' 自定义组件',\n 'code-editor': '代码编辑器',\n 'bpmn-editor': '流程图'\n },\n\n hint: {\n selectParentWidget: '选中父组件',\n moveUpWidget: '上移组件',\n moveDownWidget: '下移组件',\n cloneWidget: '复制组件',\n insertRow: '插入新行',\n insertColumn: '插入新列',\n remove: '移除组件',\n cellSetting: '单元格操作',\n dragHandler: '拖拽手柄',\n copyField: '复制字段组件',\n onlyFieldWidgetAcceptable: '子表单只能接收字段组件',\n moveUpFirstChildHint: '已经移动到最上面',\n moveDownLastChildHint: '已经移动到最下面',\n\n closePreview: '关闭',\n copyJson: '复制JSON',\n saveFormJson: '保存为文件',\n copyVueCode: '复制Vue代码',\n copyHtmlCode: '复制HTML代码',\n copyJsonSuccess: '复制JSON成功',\n importJsonSuccess: '导入JSON成功',\n invalidJsonFormat: '无效的表单JSON格式',\n jsonVersionMismatch: '表单JSON版本号不匹配',\n copyJsonFail: '复制JSON失败',\n copyVueCodeSuccess: '复制Vue代码成功',\n copyVueCodeFail: '复制Vue代码失败',\n copyHtmlCodeSuccess: '复制HTML代码成功',\n copyHtmlCodeFail: '复制HTML代码失败',\n saveVueCode: '保存Vue文件',\n saveHtmlCode: '保存Html文件',\n getFormData: '获取数据',\n resetForm: '重置表单',\n disableForm: '禁用编辑',\n enableForm: '恢复编辑',\n switchReadMode: '只读查看',\n exportFormData: '表单数据',\n copyFormData: '复制JSON',\n saveFormData: '保存为文件',\n copyVue2SFC: '复制Vue2代码',\n copyVue3SFC: '复制Vue3代码',\n copySFCFail: '复制SFC代码失败',\n copySFCSuccess: '复制SFC代码成功',\n saveVue2SFC: '保存为Vue2组件',\n saveVue3SFC: '保存为Vue3组件',\n fileNameForSave: '文件名:',\n saveFileTitle: '保存为文件',\n fileNameInputPlaceholder: '请输入文件名',\n sampleLoadedSuccess: '表单示例加载成功',\n sampleLoadedFail: '表单示例加载失败',\n loadFormTemplate: '加载此模板',\n loadFormTemplateHint:\n '是否加载这个模板?加载后会覆盖设计器当前表单,你可以使用“撤销”功能恢复。',\n loadFormTemplateSuccess: '表单模板加载成功',\n loadFormTemplateFailed: '表单模板加载失败',\n currentNodeCannotBeSelected: '当前组件节点不可选择',\n noSelectedWidgetHint: '当前没有选中设置的组件',\n\n widgetSetting: '组件设置',\n 表单设置: '表单设置',\n 表单api配置: '表单api配置',\n 表单编辑api: '表单编辑api',\n 表单详情API: '表单详情API',\n\n prompt: '提示',\n confirm: '确定',\n cancel: '取消',\n import: '导入',\n importJsonHint: '导入的JSON内容须符合下述格式,以保证顺利导入.',\n importDSHint: '导入的数据源格式须符合规范,以保证顺利导入.',\n invalidOptionsData: '无效的选项数据:',\n lastPaneCannotBeDeleted: '仅剩一个选项卡页不可删除.',\n duplicateName: '组件名称已存在: ',\n nameRequired: '组件名称不可为空',\n\n numberValidator: '数字',\n letterValidator: '字母',\n letterAndNumberValidator: '数字字母',\n mobilePhoneValidator: '手机号码',\n emailValidator: '邮箱',\n urlValidator: '网址',\n noChineseValidator: '非中文字符',\n chineseValidator: '仅中文字符',\n\n rowspanNotConsistentForMergeEntireRow: '存在行高不一致的单元格, 无法合并整行.',\n colspanNotConsistentForMergeEntireColumn: '存在列宽不一致的单元格, 无法合并整列.',\n rowspanNotConsistentForDeleteEntireRow: '存在行高不一致的单元格, 不可删除整行.',\n colspanNotConsistentForDeleteEntireColumn: '存在列宽不一致的单元格, 不可删除整列.',\n lastColCannotBeDeleted: '最后一列不可删除.',\n lastRowCannotBeDeleted: '最后一行不可删除.'\n },\n\n toolbar: {\n undoHint: '撤销',\n redoHint: '重做',\n pcLayout: 'PC',\n padLayout: 'Pad',\n mobileLayout: 'H5',\n nodeTreeHint: '组件层次结构树',\n nodeTreeTitle: '组件层次结构树',\n clear: '清空',\n preview: '预览',\n save: '保存',\n importJson: '导入JSON',\n exportJson: '导出JSON',\n exportCode: '导出代码',\n generateCode: '生成代码',\n generateSFC: '生成SFC'\n },\n\n setting: {\n // 序号\n seq: '序号',\n containerInputPlaceholder: '请输入要渲染的目标',\n langMode: '语法模式',\n editAPIConfig: '编辑API',\n dataSoureEdit: '数据源编辑',\n lineHeight: '行高(px)',\n mode: '选择模式',\n combobox: '列表模式',\n multiple: '多选模式',\n tags: '标签模式',\n useModal: '使用功能按钮',\n resizableColumn: '可拖动调整宽度',\n ellipsisColumn: '超过宽度将自动省略',\n treeDefaultExpandAll: '默认展开所有树节点',\n shape: '按钮形状',\n danger: '危险按钮',\n ghost: '幽灵按钮',\n buttonConfig: '按钮配置',\n placement: '菜单弹出位置',\n bottomLeft: '下左',\n bottomRight: '下右',\n topLeft: '上左',\n topRight: '上右',\n menuList: '下拉菜单选项设置',\n\n pagination: '分页配置',\n defaultPageSize: '默认的每页条数',\n specifyPageSizeOptions: '指定每页可以显示多少条',\n hideOnSinglePage: '只有一页时是否隐藏分页器',\n showQuickJumper: '是否可以快速跳转至某页',\n showSizeChanger: '是否展示 pageSize 切换器',\n position: '分页器位置',\n\n hasRowSelection: '启用左侧勾选设置',\n fixedLeft: '左',\n fixedRight: '右',\n fixedNull: '中',\n preserveSelectedRowKeys: '当数据被删除时仍然保留选项的 key',\n customColumnWidth: '自定义列表选择框宽度',\n customColumnTitle: '自定义列表选择框标题',\n\n selectRow: '点击行选中',\n loadingPage: '加载分页',\n delete: '删除',\n tabBarGutter: '页签之间的间隙',\n tabPosition: '页签位置',\n tabType: '页签类型',\n rowKey: '列表主键(唯一性)',\n holdHidden: '隐藏时是否占位',\n editFunction: '编辑函数',\n formCode: '关联表单',\n edit: '编辑',\n horizontal: '水平',\n vertical: '垂直',\n 基本属性: '基本属性',\n attributeSetting: '属性设置',\n 常见属性: '常见属性',\n 高级属性: '高级属性',\n 事件属性: '事件属性',\n uniqueName: '唯一名称',\n editNameHelp: '修改名称后需按回车确认',\n label: '标签',\n displayType: '显示类型',\n defaultValue: '默认值',\n placeholder: '占位内容',\n startPlaceholder: '起始占位内容',\n endPlaceholder: '截止占位内容',\n widgetColumnWidth: '组件列宽',\n widgetSize: '组件大小',\n widgetFlex: '对齐方式',\n autoFullWidth: '自动拉伸宽度',\n displayStyle: '显示样式',\n inlineLayout: '行内',\n blockLayout: '块',\n buttonStyle: '显示为按钮',\n border: '带有边框',\n labelWidth: '标签宽度(px)',\n rows: '行数',\n labelHidden: '隐藏字段标签',\n required: '必填字段',\n requiredHint: '必填校验提示',\n validation: '字段校验',\n validationHelp: '支持输入正则表达式',\n validationHint: '校验失败提示',\n readonly: '只读',\n disabled: '禁用',\n hidden: '隐藏',\n textContent: '静态文字',\n htmlContent: 'HTML',\n allowClear: '可清除',\n editable: '可输入',\n format: '显示格式',\n valueFormat: '绑定值格式',\n showPassword: '可显示密码',\n filterable: '可搜索选项',\n allowCreate: '允许创建选项',\n showSearch: '可远程搜索',\n automaticDropdown: '自动弹出选项',\n multipleLimit: '多选数量限制',\n checkStrictly: '任意级节点可选',\n showAllLevels: '显示完整路径',\n contentPosition: '文字位置',\n dividerDirection: '分割线方向',\n plain: '朴素按钮',\n round: '圆角按钮',\n circle: '圆形按钮',\n icon: '图标',\n optionsSetting: '选项设置',\n addOption: '增加选项',\n importOptions: '导入选项',\n resetDefault: '重设选中项',\n uploadSetting: '上传参数设置',\n uploadURL: '上传地址',\n uploadTip: '上传提示内容',\n withCredentials: '发送cookie凭证',\n multipleSelect: '文件可多选',\n uploadListType: '上传列表的内建样式',\n showFileList: '显示文件列表',\n limit: '最大上传数量',\n fileMaxSize: '文件大小限制(MB)',\n fileTypes: '上传文件类型',\n uploadType: '上传类型',\n fileTypesHelp: '支持添加其他文件类型',\n headers: '上传请求头',\n cellWidth: '宽度',\n cellHeight: '高度',\n gridColHeight: '栅格列统一高度(px)',\n gutter: '栅格间隔(px)',\n columnSetting: '栅格属性设置',\n colsOfGrid: '当前栅格列:',\n colSpanTitle: '栅格宽度',\n colOffsetTitle: '左侧间隔格数',\n colPushTitle: '右移栅格数',\n colPullTitle: '左移栅格数',\n addColumn: '增加栅格',\n responsive: '响应式布局',\n customRender: '自定义渲染',\n\n labelBefore: '标签前面',\n labelAfter: '标签后面',\n\n tabPaneSetting: '选项卡设置',\n addTabPane: '增加选项卡页',\n paneActive: '激活',\n\n customLabelIcon: '定制字段标签',\n labelIconClass: '标签Icon样式',\n labelIconPosition: '标签Icon位置',\n minValue: '最小值',\n maxValue: '最大值',\n precision: '精度',\n step: '增减步长',\n controlsPosition: '控制按钮位置',\n minLength: '最小长度',\n maxLength: '最大长度',\n showCount: '显示字数统计',\n addonBefore: '头部标签',\n inputButton: '输入框按钮设置',\n appendButton: '添加后置按钮',\n appendButtonDisabled: '后置按钮禁用',\n appendButtonIcon: '后置按钮Icon',\n buttonIcon: '按钮Icon',\n switchWidth: '开关宽度(像素)',\n checkedValue: '开启时对应枚举',\n unCheckedValue: '关闭时对应枚举',\n activeColor: '开启时背景色',\n inactiveColor: '关闭时背景色',\n maxStars: '最大评分值',\n lowThreshold: '低分界限值',\n highThreshold: '高分界限值',\n allowHalf: '允许半选',\n showText: '显示辅助文字',\n showScore: '显示当前分数',\n range: '是否为范围选择',\n showBlankRow: '默认显示新行',\n showRowNumber: '显示行号',\n contentHeight: '内容区高度',\n\n insertColumnToLeft: '插入左侧列',\n insertColumnToRight: '插入右侧列',\n insertRowAbove: '插入上方行',\n insertRowBelow: '插入下方行',\n mergeLeftColumn: '合并左侧单元格',\n mergeRightColumn: '合并右侧单元格',\n mergeEntireRow: '合并整行',\n mergeRowAbove: '合并上方单元格',\n mergeRowBelow: '合并下方单元格',\n mergeEntireColumn: '合并整列',\n undoMergeCol: '撤销列合并',\n undoMergeRow: '撤销行合并',\n deleteEntireCol: '删除整列',\n deleteEntireRow: '删除整行',\n\n widgetName: '组件唯一名称',\n formSize: '全局组件大小',\n labelPosition: '字段标签位置',\n topPosition: '顶部',\n leftPosition: '左边',\n labelAlign: '字段标签对齐',\n buttonList: '按钮组',\n buttonListConfig: '按钮组配置',\n buttonPosition: '按钮组位置',\n leftAlign: '居左',\n centerAlign: '居中',\n rightAlign: '居右',\n formCss: '表单全局CSS',\n addCss: '编写CSS',\n customClass: '自定义CSS样式',\n globalFunctions: '表单全局函数',\n addEventHandler: '编写代码',\n editWidgetEventHandler: '组件事件处理',\n editFormEventHandler: '表单事件处理',\n formSFCSetting: '生成SFC设置',\n formModelName: '数据对象名称',\n formRefName: '引用名称',\n formRulesName: '验证规则名称',\n syntaxCheckWarning: 'JS代码存在语法错误,请仔细检查!',\n\n //dialog & drawer\n title: '标题',\n dialogWidth: '弹窗宽度(px/%)',\n fullscreen: '全屏显示弹窗',\n showModal: '显示遮罩层',\n showClose: '显示关闭按钮',\n closeOnClickModal: '点击遮罩层关闭',\n closeOnPressEscape: '按Esc键关闭',\n center: '头部底部居中',\n readMode: '弹窗表单只读',\n disabledMode: '弹窗表单禁用',\n okButtonLabel: '确认按钮文字',\n okButtonHidden: '隐藏确认按钮',\n cancelButtonLabel: '取消按钮文字',\n cancelButtonHidden: '隐藏取消按钮',\n drawSize: '抽屉大小(px/%)',\n drawDirection: '抽屉滑出方向',\n isEnterSubmit: '回车键提交',\n autoWidth: '自动宽度',\n\n //data-table\n tableWidth: '宽度(px/%)',\n tableHeight: '高度(px/%)',\n // showCheckBox: '是否显示复选框列',\n showIndex: '是否显示行号',\n showPagination: '是否显示分页',\n smallPagination: '小型分页',\n tableColEdit: '表格列编辑',\n tableDataEdit: '表格数据编辑',\n showSummary: '是否合计',\n stripe: '是否斑马线',\n rowSpacing: '行距(px)',\n editAction: '编辑...',\n columnName: '字段名称',\n columnLabel: '显示名称',\n titleSuffix: '标题后缀',\n showTitleSuffix: '开启标题后缀',\n columnWidth: '列宽(px)',\n visibleColumn: '是否显示',\n sortableColumn: '是否排序',\n fixed: '固定位置',\n fixedColumn: '固定方式',\n autoHeight: '自动高度',\n alignTypeOfColumn: '对齐方式',\n formatOfColumn: '格式化',\n customRenderGroup: '动态渲染',\n renderFunction: '渲染函数',\n actionColumn: '操作',\n addTableColumn: '增加列',\n deleteTableColumn: '删除列',\n addSubsets: '增加子集',\n onlyOneColumnCannotBeDeleted: '表格只有一列时不可删除.',\n treeDataEnabled: '允许加载树形数据',\n rowKeyOfTreeData: '树形数据ID键',\n childrenKeyOfTreeData: '树形数据子节点键',\n showButtonsColumn: '显示操作按钮列',\n buttonsColumnEdit: '操作按钮编辑',\n buttonsColumnTitle: '列标题',\n buttonsColumnWidth: '列宽度(px)',\n operationButtonsSetting: '操作按钮设置',\n operationButtonName: '名称',\n operationButtonLabel: '文字',\n operationButtonType: '类型',\n operationButtonSize: '大小',\n operationButtonGhost: '幽灵按钮',\n operationButtonRound: '圆角',\n operationButtonHidden: '隐藏',\n operationButtonDisabled: '禁用',\n addOperationButton: '增加按钮',\n deleteOperationButtonHint: '确定删除该按钮?',\n operationButtonDuplicatedNameError: '按钮名称不可重复',\n\n //data-source\n dsEnabled: '使用数据源',\n dsName: '指定数据源',\n dataSetName: '指定数据集',\n labelKeyName: '选项标签名',\n valueKeyName: '选项值名',\n childrenKeyName: '子节点属性名称',\n dataSource: '数据源',\n noDataSource: '暂无数据源',\n addDataSource: '新增数据源',\n importDataSource: '导入数据源',\n clearExistingDataSource: '导入后清空原有数据源',\n remainExistingDataSource: '追加到已有数据源之后',\n exportDataSource: '导出数据源',\n selectDataSourceForExport: '选择导出数据源',\n dataSourceChecked: '选中导出',\n previewDataSourceExportResult: '导出结果预览',\n dataSourceSetting: '数据源设置',\n deleteDataSourceHint: '确认删除该数据源?',\n fieldValueRequired: '输入内容不可为空',\n dsUniqueName: '唯一名称',\n dsRequestURL: '请求地址',\n dsRequestURLType: '请求URL类型',\n dsURLStringType: '固定字符串',\n dsURLVariableType: '变量或表达式',\n dsDescription: '描述信息',\n dsRequestMethod: '请求方法',\n dsRequestHeaders: '请求头(headers)',\n addRequestHeader: '新增请求头',\n dsRequestParams: '参数(params)',\n addRequestParam: '新增请求参数',\n dsRequestData: '发送数据(data)',\n addRequestData: '新增发送数据',\n addDataSet: '新增数据集',\n dsRequestValueStringType: '字符串类型',\n dsRequestValueNumberType: '数值类型',\n dsRequestValueBooleanType: '布尔类型',\n dsRequestValueVariableType: '变量或表达式',\n dsRequestNameInputPlaceholder: '名称',\n dsRequestTypeInputPlaceholder: '类型',\n dsRequestValueInputPlaceholder: '值',\n dataSetRemarkInputPlaceholder: '备注说明',\n dsConfigHandlerTitle: '1. 请求配置',\n dsDataHandlerTitle: '2. 数据处理',\n dsErrorHandlerTitle: '3. 错误处理',\n dataSetSettingTitle: '4. 多数据集配置',\n dataSetEnabled: '开启多数据集返回',\n dataSetSetting: '返回数据集管理',\n testDataSource: '测试数据源',\n dsvTitle: 'DSV数据源变量',\n dsRequestResult: '返回数据',\n executeDataSource: '立即执行',\n clearRequestResult: '清空结果',\n dsRequestNumberTypeError: '数据类型值错误',\n dsRequestBooleanTypeError: '布尔类型值错误',\n dsValidationError: '数据源设置存在错误,请修改',\n dsDuplicatedNameError: '数据源名称重复,请修改!',\n slotCompontent: '插槽名',\n diyCompontent: '组件名',\n top: '上',\n right: '右',\n bottom: '下',\n left: '左',\n\n showBorder: '显示边框',\n borderStyle: '边框样式',\n solid: '实线',\n dashed: '虚线',\n dotted: '点线',\n double: '双线',\n borderWidth: '边框宽度',\n borderColor: '边框颜色',\n borderRadius: '圆角',\n backgroundColor: '背景颜色',\n shadow: '阴影',\n enableShadow: '启用阴影',\n shadowOffsetX: '水平偏移',\n shadowOffsetY: '垂直偏移',\n shadowBlur: '模糊半径',\n shadowSpread: '扩散半径',\n shadowColor: '阴影颜色',\n operationButtonClick: '点击事件',\n operationButtonAction: '操作'\n }\n },\n 是否可勾选: '是否可勾选',\n 表格数据变化: '表格数据变化',\n 左固定: '左固定',\n\n 默认折叠: '默认折叠',\n 窗体样式: '窗体样式',\n 头部右插槽样式: '头部右插槽样式',\n 折叠时icon: '折叠时icon',\n 未折叠时icon: '未折叠时icon',\n height: '高度',\n 复制: '复制',\n 编写样式: '编写样式',\n 盒模型配置: '盒模型配置',\n Margin: '外边距',\n Padding: '内边距',\n 参数设置: '参数设置',\n 是否展示连接线: '是否展示连接线',\n 是否可选择: '是否可选择',\n 数据源设置: '数据源设置',\n 数据源: '数据源',\n 当前位置: '当前位置',\n 自定义位置: '自定义位置'\n};\n"],"names":["zhCN"],"mappings":"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"}
package/src/utils/util.js CHANGED
@@ -7,7 +7,7 @@ function C(t) {
7
7
  }
8
8
  const F = function() {
9
9
  return Math.floor(Math.random() * 1e5 + Math.random() * 2e4 + Math.random() * 5e3);
10
- }, c = function(t) {
10
+ }, f = function(t) {
11
11
  return d(t);
12
12
  }, E = function(t, e) {
13
13
  Object.keys(e).forEach((n) => {
@@ -31,8 +31,8 @@ function s(t, e, n = null, o = !1) {
31
31
  r.formItemFlag || r.formItemFlag === !1 && o ? e(r, n) : r.type === "grid" ? r.cols.map((a) => {
32
32
  s(a.widgetList, e, r, o);
33
33
  }) : r.type === "table" ? r.rows.map((a) => {
34
- a.cols.map((f) => {
35
- s(f.widgetList, e, r, o);
34
+ a.cols.map((c) => {
35
+ s(c.widgetList, e, r, o);
36
36
  });
37
37
  }) : r.type === "tab" ? r.tabs.map((a) => {
38
38
  s(a.widgetList, e, r, o);
@@ -108,7 +108,7 @@ function x(t, e) {
108
108
  r.options.name === e && (n = r);
109
109
  }), n;
110
110
  }
111
- function B(t, e, n, o, r) {
111
+ function S(t, e, n, o, r) {
112
112
  const a = new u(e.target, {
113
113
  text: () => t
114
114
  });
@@ -118,7 +118,7 @@ function B(t, e, n, o, r) {
118
118
  n.error(r), a.destroy();
119
119
  }), a.onClick(e);
120
120
  }
121
- function H() {
121
+ function T() {
122
122
  const { formCode: t = "" } = m();
123
123
  return {
124
124
  labelWidth: 80,
@@ -128,11 +128,12 @@ function H() {
128
128
  labelAlign: "right",
129
129
  cssCode: "",
130
130
  customClass: [],
131
- okButtonLabel: "",
132
131
  isEnterSubmit: 0,
133
- okButtonHidden: "",
134
- cancelButtonHidden: "",
135
- cancelButtonLabel: "",
132
+ // okButtonLabel: '',
133
+ // okButtonHidden: '',
134
+ // cancelButtonHidden: '',
135
+ // cancelButtonLabel: '',
136
+ buttonList: [],
136
137
  functions: "",
137
138
  //全局函数
138
139
  layoutType: "PC",
@@ -190,13 +191,13 @@ return {...data,data:d}`,
190
191
  }
191
192
  };
192
193
  }
193
- function S(t) {
194
- const e = c(t);
194
+ function H(t) {
195
+ const e = f(t);
195
196
  return e.onFormCreated = "", e.onFormMounted = "", e.onFormDataChange = "", e;
196
197
  }
197
- function T(t, e, n, o) {
198
+ function M(t, e, n, o) {
198
199
  if (["cascader", "treeSelect", "select"].includes(e))
199
- return c(t);
200
+ return f(t);
200
201
  const r = [];
201
202
  return t && t.length > 0 && t.forEach((a) => {
202
203
  r.push({
@@ -205,27 +206,27 @@ function T(t, e, n, o) {
205
206
  });
206
207
  }), t;
207
208
  }
208
- function M(t, e) {
209
+ function D(t, e) {
209
210
  let n = null;
210
211
  return e && t.dataSources && t.dataSources.forEach((o) => {
211
212
  o.uniqueName === e && (n = o);
212
213
  }), n;
213
214
  }
214
215
  export {
215
- S as cloneFormConfigWithoutEventHandler,
216
- B as copyToClipboard,
217
- c as deepClone,
216
+ H as cloneFormConfigWithoutEventHandler,
217
+ S as copyToClipboard,
218
+ f as deepClone,
218
219
  F as generateId,
219
220
  _ as getAllContainerWidgets,
220
221
  L as getAllFieldWidgets,
221
222
  x as getContainerWidgetByName,
222
- M as getDSByName,
223
- H as getDefaultFormConfig,
223
+ D as getDSByName,
224
+ T as getDefaultFormConfig,
224
225
  v as insertCustomCssToHead,
225
226
  k as insertGlobalFunctionsToHtml,
226
227
  C as isNull,
227
228
  E as overwriteObj,
228
- T as translateOptionItems,
229
+ M as translateOptionItems,
229
230
  i as traverseContainerWidgets,
230
231
  s as traverseFieldWidgets,
231
232
  p as traverseFieldWidgetsOfContainer
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sources":["../../../src/utils/util.js"],"sourcesContent":["import Clipboard from 'clipboard';\nimport { getLocat } from '@kp-ui/tool';\nimport { isArray, isEmpty, cloneDeep } from 'lodash-es';\nimport {\n containers,\n advancedFields,\n basicFields,\n customFields\n} from '@/components/form-designer/widget-panel/widgetsConfig';\nexport function isNull(value) {\n return value === null || value === undefined;\n}\n\nexport function isNotNull(value) {\n return value !== null && value !== undefined;\n}\n\nexport function isEmptyStr(str) {\n //return (str === undefined) || (!str) || (!/[^\\s]/.test(str));\n return str === undefined || (!str && str !== 0 && str !== '0') || !/[^\\s]/.test(str);\n}\n\nexport const generateId = function () {\n return Math.floor(Math.random() * 100000 + Math.random() * 20000 + Math.random() * 5000);\n};\n\nexport const deepClone = function (origin) {\n return cloneDeep(origin);\n};\n\nexport const overwriteObj = function (obj1, obj2) {\n /* 浅拷贝对象属性,obj2覆盖obj1 */\n // for (let prop in obj2) {\n // if (obj2.hasOwnProperty(prop)) {\n // obj1[prop] = obj2[prop]\n // }\n // }\n\n Object.keys(obj2).forEach(prop => {\n obj1[prop] = obj2[prop];\n });\n};\n\nconst getComTypeMap = type => {\n const allWidgets = [...containers, ...basicFields, ...advancedFields, ...customFields];\n const map = new Map();\n allWidgets.forEach(item => {\n const type = item.type.replace(/-/g, '').toLowerCase();\n map.set(type, item);\n });\n return map.get(type.replace(/-/g, '').toLowerCase());\n};\n\nexport const fmtArray = a => {\n a = a.map(item => {\n item = overwriteDeep(item);\n return item;\n });\n return a;\n};\n\nexport const overwriteDeep = (a, ops) => {\n if (isArray(a)) {\n const res = fmtArray(a);\n return res;\n }\n let b = ops;\n const type = a.type;\n\n if (a.options) {\n if (type) {\n b = getComTypeMap(type) || b;\n }\n }\n\n for (const k in b) {\n if (typeof b[k] === 'object' && b[k] !== null) {\n a[k] = isEmpty(a[k]) ? b[k] : overwriteDeep(a[k], b[k]);\n } else {\n a[k] = a[k] === void 0 ? b[k] : a[k];\n }\n }\n return a;\n};\n\nexport const insertCustomCssToHead = function (cssCode, formId = '') {\n const head = document.getElementsByTagName('head')[0];\n\n const newStyle = document.createElement('style');\n newStyle.type = 'text/css';\n newStyle.rel = 'stylesheet';\n newStyle.id = !!formId ? 'vform-custom-css' + '-' + formId : 'vform-custom-css';\n try {\n newStyle.appendChild(document.createTextNode(cssCode));\n } catch (ex) {\n newStyle.styleSheet.cssText = cssCode;\n }\n\n head.appendChild(newStyle);\n};\n\nexport const insertGlobalFunctionsToHtml = function (functionsCode, formId = '') {\n const bodyEle = document.getElementsByTagName('body')[0];\n // let oldScriptEle = document.getElementById('v_form_global_functions');\n // !!oldScriptEle && bodyEle.removeChild(oldScriptEle); //先清除后插入!!\n // if (!!formId) {\n // oldScriptEle = document.getElementById('v_form_global_functions' + '-' + formId);\n // !!oldScriptEle && bodyEle.removeChild(oldScriptEle); //先清除后插入!!\n // }\n\n const newScriptEle = document.createElement('script');\n newScriptEle.id = !!formId\n ? 'v_form_global_functions' + '-' + formId\n : 'v_form_global_functions';\n newScriptEle.type = 'text/javascript';\n newScriptEle.innerHTML = functionsCode;\n bodyEle.appendChild(newScriptEle);\n};\n\nexport const optionExists = function (optionsObj, optionName) {\n if (!optionsObj) {\n return false;\n }\n\n return Object.keys(optionsObj).indexOf(optionName) > -1;\n};\n\nexport const loadRemoteScript = function (srcPath, callback) {\n /*加载远程js,加载成功后执行回调函数*/\n const sid = encodeURIComponent(srcPath);\n const oldScriptEle = document.getElementById(sid);\n\n if (!oldScriptEle) {\n let s = document.createElement('script');\n s.src = srcPath;\n s.id = sid;\n document.body.appendChild(s);\n\n s.onload = s.onreadystatechange = function (_, isAbort) {\n /* 借鉴自ace.js */\n if (\n isAbort ||\n !s.readyState ||\n s.readyState === 'loaded' ||\n s.readyState === 'complete'\n ) {\n s = s.onload = s.onreadystatechange = null;\n if (!isAbort) {\n callback();\n }\n }\n };\n }\n};\n\nexport function traverseFieldWidgets(\n widgetList,\n handler,\n parent = null,\n staticWidgetsIncluded = false\n) {\n if (!widgetList) {\n return;\n }\n\n widgetList.map(w => {\n if (w.formItemFlag || (w.formItemFlag === false && staticWidgetsIncluded)) {\n handler(w, parent);\n } else if (w.type === 'grid') {\n w.cols.map(col => {\n traverseFieldWidgets(col.widgetList, handler, w, staticWidgetsIncluded);\n });\n } else if (w.type === 'table') {\n w.rows.map(row => {\n row.cols.map(cell => {\n traverseFieldWidgets(cell.widgetList, handler, w, staticWidgetsIncluded);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs.map(tab => {\n traverseFieldWidgets(tab.widgetList, handler, w, staticWidgetsIncluded);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseFieldWidgets(w.widgetList, handler, w, staticWidgetsIncluded);\n } else if (w.category === 'container') {\n //自定义容器\n traverseFieldWidgets(w.widgetList, handler, w, staticWidgetsIncluded);\n }\n });\n}\n\nexport function traverseContainerWidgets(widgetList, handler) {\n if (!widgetList?.length) {\n return;\n }\n\n widgetList.map(w => {\n if (w.category === 'container') {\n handler(w);\n }\n\n if (w.type === 'grid') {\n w.cols.map(col => {\n traverseContainerWidgets(col.widgetList, handler);\n });\n } else if (w.type === 'table') {\n w.rows.map(row => {\n row.cols.map(cell => {\n traverseContainerWidgets(cell.widgetList, handler);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs.map(tab => {\n traverseContainerWidgets(tab.widgetList, handler);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseContainerWidgets(w.widgetList, handler);\n } else if (w.category === 'container') {\n //自定义容器\n traverseContainerWidgets(w.widgetList, handler);\n }\n });\n}\n\nexport function traverseAllWidgets(widgetList, handler) {\n if (!widgetList) {\n return;\n }\n\n widgetList.map(w => {\n handler(w);\n\n if (w.type === 'grid') {\n w.cols.map(col => {\n handler(col);\n traverseAllWidgets(col.widgetList, handler);\n });\n } else if (w.type === 'table') {\n w.rows.map(row => {\n row.cols.map(cell => {\n handler(cell);\n traverseAllWidgets(cell.widgetList, handler);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs.map(tab => {\n traverseAllWidgets(tab.widgetList, handler);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseAllWidgets(w.widgetList, handler);\n } else if (w.category === 'container') {\n //自定义容器\n traverseAllWidgets(w.widgetList, handler);\n }\n });\n}\n\nfunction handleWidgetForTraverse(widget, handler) {\n if (!!widget.category && widget.category === 'container') {\n traverseFieldWidgetsOfContainer(widget, handler);\n } else if (widget.formItemFlag) {\n handler(widget);\n }\n}\n\n/**\n * 遍历容器内的字段组件\n * @param con\n * @param handler\n */\nexport function traverseFieldWidgetsOfContainer(con, handler) {\n if (con.type === 'grid') {\n con.cols.forEach(col => {\n col.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n } else if (con.type === 'table') {\n con.rows.forEach(row => {\n row.cols.forEach(cell => {\n cell.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n });\n } else if (con.type === 'tab') {\n con.tabs.forEach(tab => {\n tab.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n } else if (con.type === 'sub-form' || con.type === 'grid-sub-form') {\n con.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n } else if (con.category === 'container') {\n //自定义容器\n con.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n }\n}\n\nfunction handleContainerTraverse(widget, fieldHandler, containerHandler) {\n if (!!widget.category && widget.category === 'container') {\n traverseWidgetsOfContainer(widget, fieldHandler, containerHandler);\n } else if (widget.formItemFlag) {\n fieldHandler(widget);\n }\n}\n\n/**\n * 遍历容器内部的字段组件和容器组件\n * @param con\n * @param fieldHandler\n * @param containerHandler\n */\nexport function traverseWidgetsOfContainer(con, fieldHandler, containerHandler) {\n if (con.type === 'grid') {\n con.cols.forEach(col => {\n col.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n } else if (con.type === 'table') {\n con.rows.forEach(row => {\n row.cols.forEach(cell => {\n cell.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n });\n } else if (con.type === 'tab') {\n con.tabs.forEach(tab => {\n tab.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n } else if (con.type === 'sub-form' || con.type === 'grid-sub-form') {\n con.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n } else if (con.category === 'container') {\n //自定义容器\n con.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n }\n}\n\n/**\n * 获取所有字段组件\n * @param widgetList\n * @param staticWidgetsIncluded 是否包含按钮等静态组件,默认不包含\n * @returns {[]}\n */\nexport function getAllFieldWidgets(widgetList, staticWidgetsIncluded = false) {\n if (!widgetList) {\n return [];\n }\n\n const result = [];\n const handlerFn = w => {\n result.push({\n type: w.type,\n name: w.options.name,\n field: w\n });\n };\n traverseFieldWidgets(widgetList, handlerFn, null, staticWidgetsIncluded);\n\n return result;\n}\n\n/**\n * 获取所有容器组件\n * @param widgetList\n * @returns {[]}\n */\nexport function getAllContainerWidgets(widgetList) {\n if (!widgetList) {\n return [];\n }\n\n const result = [];\n const handlerFn = w => {\n result.push({\n type: w.type,\n name: w.options.name,\n container: w\n });\n };\n traverseContainerWidgets(widgetList, handlerFn);\n\n return result;\n}\n\nexport function getFieldWidgetByName(widgetList, fieldName, staticWidgetsIncluded) {\n if (!widgetList) {\n return null;\n }\n\n let foundWidget = null;\n const handlerFn = widget => {\n if (widget.options.name === fieldName) {\n foundWidget = widget;\n }\n };\n\n traverseFieldWidgets(widgetList, handlerFn, null, staticWidgetsIncluded);\n return foundWidget;\n}\n\nexport function getContainerWidgetByName(widgetList, containerName) {\n if (!widgetList) {\n return null;\n }\n\n let foundContainer = null;\n const handlerFn = con => {\n if (con.options.name === containerName) {\n foundContainer = con;\n }\n };\n\n traverseContainerWidgets(widgetList, handlerFn);\n return foundContainer;\n}\n\nexport function getContainerWidgetById(widgetList, containerId) {\n if (!widgetList) {\n return null;\n }\n\n let foundContainer = null;\n const handlerFn = con => {\n if (con.id === containerId) {\n foundContainer = con;\n }\n };\n\n traverseContainerWidgets(widgetList, handlerFn);\n return foundContainer;\n}\n\nexport function copyToClipboard(content, clickEvent, $message, successMsg, errorMsg) {\n const clipboard = new Clipboard(clickEvent.target, {\n text: () => content\n });\n\n clipboard.on('success', () => {\n $message.success(successMsg);\n clipboard.destroy();\n });\n\n clipboard.on('error', () => {\n $message.error(errorMsg);\n clipboard.destroy();\n });\n\n clipboard.onClick(clickEvent);\n}\n\nexport function getQueryParam(variable) {\n const query = window.location.search.substring(1);\n const vars = query.split('&');\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=');\n if (pair[0] == variable) {\n return pair[1];\n }\n }\n\n return undefined;\n}\n\nexport function getDefaultFormConfig() {\n const { formCode = '' } = getLocat();\n\n return {\n labelWidth: 80,\n labelPosition: 'horizontal', //'left',\n size: '',\n labelAlign: 'right',\n cssCode: '',\n customClass: [],\n\n okButtonLabel: '',\n isEnterSubmit: 0,\n okButtonHidden: '',\n\n cancelButtonHidden: '',\n cancelButtonLabel: '',\n\n functions: '', //全局函数\n layoutType: 'PC',\n onFormCreated: '',\n onFormMounted: `\n if(!this.vfCtx) return\n if(!this.vfCtx._id) return\n const type = this.vfCtx.type\n this.setReadMode(type==='view')\n this.onFormDetail().then(res=>{\n this.setFormData({...res})\n })\n `,\n\n onFormDataChange: '',\n onOkButtonClick: `\n this.getFormRef().onFormUpdate().then(()=>{\n this.$message.success('保存成功!');\n })\n `,\n onCancelButtonClick: '',\n\n serveList: {\n list: [],\n vformUpdate: {\n http: {\n url: `/api/tmgc2-mgt/formDefinition/${formCode}/evaluate/formSubmit`,\n method: 'post',\n data: { _id: '${_id}' },\n params: {}\n },\n dataReqHandlerCode: `const d=data.data||{};\\n Object.keys(d).forEach(k=>{\\n if(d[k]==='null'){\\n d[k]=null\\n }\\n })\\nreturn {...data,data:d}`,\n dataHandlerCode: ''\n },\n vformDetail: {\n http: {\n url: `/api/tmgc2-mgt/formDefinition/${formCode}/evaluate/formLoad`,\n method: 'post',\n data: { _id: '${_id}' },\n params: {}\n },\n dataReqHandlerCode: `const d=data.data||{};\\n Object.keys(d).forEach(k=>{\\n if(d[k]==='null'){\\n d[k]=null\\n }\\n })\\nreturn {...data,data:d}`,\n dataHandlerCode: 'return data.data.object||{}'\n }\n }\n };\n}\n\nexport function buildDefaultFormJson() {\n return {\n widgetList: [],\n formConfig: deepClone(getDefaultFormConfig())\n };\n}\n\nexport function cloneFormConfigWithoutEventHandler(formConfig) {\n const newFC = deepClone(formConfig);\n newFC.onFormCreated = '';\n newFC.onFormMounted = '';\n newFC.onFormDataChange = '';\n\n return newFC;\n}\n\n/**\n * 转译选择项数据\n * @param rawData\n * @param widgetType\n * @param labelKey\n * @param valueKey\n * @returns {[]}\n */\nexport function translateOptionItems(rawData, widgetType, labelKey, valueKey) {\n if (['cascader', 'treeSelect', 'select'].includes(widgetType)) {\n // 级联选择不转译\n return deepClone(rawData);\n }\n\n const result = [];\n if (!!rawData && rawData.length > 0) {\n rawData.forEach(ri => {\n result.push({\n label: ri[labelKey],\n value: ri[valueKey]\n });\n });\n }\n\n return rawData; //result;\n}\n\n/**\n * 组装axios请求配置参数\n * @param arrayObj\n * @param DSV\n * @param VFR\n * @returns {{}}\n */\nexport function assembleAxiosConfig(arrayObj, DSV, VFR) {\n const result = {};\n if (!arrayObj || arrayObj.length <= 0) {\n return result;\n }\n\n arrayObj.map(ai => {\n if (ai.type === 'String') {\n result[ai.name] = String(ai.value);\n } else if (ai.type === 'Number') {\n result[ai.name] = Number(ai.value);\n } else if (ai.type === 'Boolean') {\n if (ai.value.toLowerCase() === 'false' || ai.value === '0') {\n result[ai.name] = false;\n } else if (ai.value.toLowerCase() === 'true' || ai.value === '1') {\n result[ai.name] = true;\n } else {\n result[ai.name] = null;\n }\n } else if (ai.type === 'Variable') {\n result[ai.name] = eval(ai.value);\n }\n });\n\n /* 加入如下两行日志打印代码,是为了防止编译打包时DSV、VFR参数被剔除!! begin */\n /* DSV、VFR入参没有在本函数中直接使用到,但在eval表达式中可能被使用到,故需确保DSV、VFR参数始终存在!! */\n console.log('test DSV: ', DSV);\n console.log('test VFR: ', VFR);\n /* 加入如下两行日志打印代码,是为了防止编译打包时DSV、VFR入参会被剔除!! end */\n\n return result;\n}\n\nfunction buildRequestConfig(dataSource, DSV, VFR, isSandbox) {\n const config = {};\n if (dataSource.requestURLType === 'String') {\n config.url = dataSource.requestURL;\n } else {\n config.url = eval(dataSource.requestURL);\n }\n config.method = dataSource.requestMethod;\n\n config.headers = assembleAxiosConfig(dataSource.headers, DSV, VFR);\n config.params = assembleAxiosConfig(dataSource.params, DSV, VFR);\n config.data = assembleAxiosConfig(dataSource.data, DSV, VFR);\n\n const chFn = new Function('config', 'isSandbox', 'DSV', 'VFR', dataSource.configHandlerCode);\n return chFn.call(null, config, isSandbox, DSV, VFR);\n}\n\nexport function getDSByName(formConfig, dsName) {\n let resultDS = null;\n if (!!dsName && !!formConfig.dataSources) {\n formConfig.dataSources.forEach(ds => {\n if (ds.uniqueName === dsName) {\n resultDS = ds;\n }\n });\n }\n\n return resultDS;\n}\n"],"names":["isNull","value","generateId","deepClone","origin","cloneDeep","overwriteObj","obj1","obj2","prop","insertCustomCssToHead","cssCode","formId","head","newStyle","insertGlobalFunctionsToHtml","functionsCode","bodyEle","newScriptEle","traverseFieldWidgets","widgetList","handler","parent","staticWidgetsIncluded","w","col","row","cell","tab","traverseContainerWidgets","handleWidgetForTraverse","widget","traverseFieldWidgetsOfContainer","con","cw","getAllFieldWidgets","result","getAllContainerWidgets","getContainerWidgetByName","containerName","foundContainer","copyToClipboard","content","clickEvent","$message","successMsg","errorMsg","clipboard","Clipboard","getDefaultFormConfig","formCode","getLocat","cloneFormConfigWithoutEventHandler","formConfig","newFC","translateOptionItems","rawData","widgetType","labelKey","valueKey","ri","getDSByName","dsName","resultDS","ds"],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sources":["../../../src/utils/util.js"],"sourcesContent":["import Clipboard from 'clipboard';\nimport { getLocat } from '@kp-ui/tool';\nimport { isArray, isEmpty, cloneDeep } from 'lodash-es';\nimport {\n containers,\n advancedFields,\n basicFields,\n customFields\n} from '@/components/form-designer/widget-panel/widgetsConfig';\nexport function isNull(value) {\n return value === null || value === undefined;\n}\n\nexport function isNotNull(value) {\n return value !== null && value !== undefined;\n}\n\nexport function isEmptyStr(str) {\n //return (str === undefined) || (!str) || (!/[^\\s]/.test(str));\n return str === undefined || (!str && str !== 0 && str !== '0') || !/[^\\s]/.test(str);\n}\n\nexport const generateId = function () {\n return Math.floor(Math.random() * 100000 + Math.random() * 20000 + Math.random() * 5000);\n};\n\nexport const deepClone = function (origin) {\n return cloneDeep(origin);\n};\n\nexport const overwriteObj = function (obj1, obj2) {\n /* 浅拷贝对象属性,obj2覆盖obj1 */\n // for (let prop in obj2) {\n // if (obj2.hasOwnProperty(prop)) {\n // obj1[prop] = obj2[prop]\n // }\n // }\n\n Object.keys(obj2).forEach(prop => {\n obj1[prop] = obj2[prop];\n });\n};\n\nconst getComTypeMap = type => {\n const allWidgets = [...containers, ...basicFields, ...advancedFields, ...customFields];\n const map = new Map();\n allWidgets.forEach(item => {\n const type = item.type.replace(/-/g, '').toLowerCase();\n map.set(type, item);\n });\n return map.get(type.replace(/-/g, '').toLowerCase());\n};\n\nexport const fmtArray = a => {\n a = a.map(item => {\n item = overwriteDeep(item);\n return item;\n });\n return a;\n};\n\nexport const overwriteDeep = (a, ops) => {\n if (isArray(a)) {\n const res = fmtArray(a);\n return res;\n }\n let b = ops;\n const type = a.type;\n\n if (a.options) {\n if (type) {\n b = getComTypeMap(type) || b;\n }\n }\n\n for (const k in b) {\n if (typeof b[k] === 'object' && b[k] !== null) {\n a[k] = isEmpty(a[k]) ? b[k] : overwriteDeep(a[k], b[k]);\n } else {\n a[k] = a[k] === void 0 ? b[k] : a[k];\n }\n }\n return a;\n};\n\nexport const insertCustomCssToHead = function (cssCode, formId = '') {\n const head = document.getElementsByTagName('head')[0];\n\n const newStyle = document.createElement('style');\n newStyle.type = 'text/css';\n newStyle.rel = 'stylesheet';\n newStyle.id = !!formId ? 'vform-custom-css' + '-' + formId : 'vform-custom-css';\n try {\n newStyle.appendChild(document.createTextNode(cssCode));\n } catch (ex) {\n newStyle.styleSheet.cssText = cssCode;\n }\n\n head.appendChild(newStyle);\n};\n\nexport const insertGlobalFunctionsToHtml = function (functionsCode, formId = '') {\n const bodyEle = document.getElementsByTagName('body')[0];\n // let oldScriptEle = document.getElementById('v_form_global_functions');\n // !!oldScriptEle && bodyEle.removeChild(oldScriptEle); //先清除后插入!!\n // if (!!formId) {\n // oldScriptEle = document.getElementById('v_form_global_functions' + '-' + formId);\n // !!oldScriptEle && bodyEle.removeChild(oldScriptEle); //先清除后插入!!\n // }\n\n const newScriptEle = document.createElement('script');\n newScriptEle.id = !!formId\n ? 'v_form_global_functions' + '-' + formId\n : 'v_form_global_functions';\n newScriptEle.type = 'text/javascript';\n newScriptEle.innerHTML = functionsCode;\n bodyEle.appendChild(newScriptEle);\n};\n\nexport const optionExists = function (optionsObj, optionName) {\n if (!optionsObj) {\n return false;\n }\n\n return Object.keys(optionsObj).indexOf(optionName) > -1;\n};\n\nexport const loadRemoteScript = function (srcPath, callback) {\n /*加载远程js,加载成功后执行回调函数*/\n const sid = encodeURIComponent(srcPath);\n const oldScriptEle = document.getElementById(sid);\n\n if (!oldScriptEle) {\n let s = document.createElement('script');\n s.src = srcPath;\n s.id = sid;\n document.body.appendChild(s);\n\n s.onload = s.onreadystatechange = function (_, isAbort) {\n /* 借鉴自ace.js */\n if (\n isAbort ||\n !s.readyState ||\n s.readyState === 'loaded' ||\n s.readyState === 'complete'\n ) {\n s = s.onload = s.onreadystatechange = null;\n if (!isAbort) {\n callback();\n }\n }\n };\n }\n};\n\nexport function traverseFieldWidgets(\n widgetList,\n handler,\n parent = null,\n staticWidgetsIncluded = false\n) {\n if (!widgetList) {\n return;\n }\n\n widgetList.map(w => {\n if (w.formItemFlag || (w.formItemFlag === false && staticWidgetsIncluded)) {\n handler(w, parent);\n } else if (w.type === 'grid') {\n w.cols.map(col => {\n traverseFieldWidgets(col.widgetList, handler, w, staticWidgetsIncluded);\n });\n } else if (w.type === 'table') {\n w.rows.map(row => {\n row.cols.map(cell => {\n traverseFieldWidgets(cell.widgetList, handler, w, staticWidgetsIncluded);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs.map(tab => {\n traverseFieldWidgets(tab.widgetList, handler, w, staticWidgetsIncluded);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseFieldWidgets(w.widgetList, handler, w, staticWidgetsIncluded);\n } else if (w.category === 'container') {\n //自定义容器\n traverseFieldWidgets(w.widgetList, handler, w, staticWidgetsIncluded);\n }\n });\n}\n\nexport function traverseContainerWidgets(widgetList, handler) {\n if (!widgetList?.length) {\n return;\n }\n\n widgetList.map(w => {\n if (w.category === 'container') {\n handler(w);\n }\n\n if (w.type === 'grid') {\n w.cols.map(col => {\n traverseContainerWidgets(col.widgetList, handler);\n });\n } else if (w.type === 'table') {\n w.rows.map(row => {\n row.cols.map(cell => {\n traverseContainerWidgets(cell.widgetList, handler);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs.map(tab => {\n traverseContainerWidgets(tab.widgetList, handler);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseContainerWidgets(w.widgetList, handler);\n } else if (w.category === 'container') {\n //自定义容器\n traverseContainerWidgets(w.widgetList, handler);\n }\n });\n}\n\nexport function traverseAllWidgets(widgetList, handler) {\n if (!widgetList) {\n return;\n }\n\n widgetList.map(w => {\n handler(w);\n\n if (w.type === 'grid') {\n w.cols.map(col => {\n handler(col);\n traverseAllWidgets(col.widgetList, handler);\n });\n } else if (w.type === 'table') {\n w.rows.map(row => {\n row.cols.map(cell => {\n handler(cell);\n traverseAllWidgets(cell.widgetList, handler);\n });\n });\n } else if (w.type === 'tab') {\n w.tabs.map(tab => {\n traverseAllWidgets(tab.widgetList, handler);\n });\n } else if (w.type === 'sub-form' || w.type === 'grid-sub-form') {\n traverseAllWidgets(w.widgetList, handler);\n } else if (w.category === 'container') {\n //自定义容器\n traverseAllWidgets(w.widgetList, handler);\n }\n });\n}\n\nfunction handleWidgetForTraverse(widget, handler) {\n if (!!widget.category && widget.category === 'container') {\n traverseFieldWidgetsOfContainer(widget, handler);\n } else if (widget.formItemFlag) {\n handler(widget);\n }\n}\n\n/**\n * 遍历容器内的字段组件\n * @param con\n * @param handler\n */\nexport function traverseFieldWidgetsOfContainer(con, handler) {\n if (con.type === 'grid') {\n con.cols.forEach(col => {\n col.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n } else if (con.type === 'table') {\n con.rows.forEach(row => {\n row.cols.forEach(cell => {\n cell.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n });\n } else if (con.type === 'tab') {\n con.tabs.forEach(tab => {\n tab.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n });\n } else if (con.type === 'sub-form' || con.type === 'grid-sub-form') {\n con.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n } else if (con.category === 'container') {\n //自定义容器\n con.widgetList.forEach(cw => {\n handleWidgetForTraverse(cw, handler);\n });\n }\n}\n\nfunction handleContainerTraverse(widget, fieldHandler, containerHandler) {\n if (!!widget.category && widget.category === 'container') {\n traverseWidgetsOfContainer(widget, fieldHandler, containerHandler);\n } else if (widget.formItemFlag) {\n fieldHandler(widget);\n }\n}\n\n/**\n * 遍历容器内部的字段组件和容器组件\n * @param con\n * @param fieldHandler\n * @param containerHandler\n */\nexport function traverseWidgetsOfContainer(con, fieldHandler, containerHandler) {\n if (con.type === 'grid') {\n con.cols.forEach(col => {\n col.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n } else if (con.type === 'table') {\n con.rows.forEach(row => {\n row.cols.forEach(cell => {\n cell.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n });\n } else if (con.type === 'tab') {\n con.tabs.forEach(tab => {\n tab.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n });\n } else if (con.type === 'sub-form' || con.type === 'grid-sub-form') {\n con.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n } else if (con.category === 'container') {\n //自定义容器\n con.widgetList.forEach(cw => {\n handleContainerTraverse(cw, fieldHandler, containerHandler);\n });\n }\n}\n\n/**\n * 获取所有字段组件\n * @param widgetList\n * @param staticWidgetsIncluded 是否包含按钮等静态组件,默认不包含\n * @returns {[]}\n */\nexport function getAllFieldWidgets(widgetList, staticWidgetsIncluded = false) {\n if (!widgetList) {\n return [];\n }\n\n const result = [];\n const handlerFn = w => {\n result.push({\n type: w.type,\n name: w.options.name,\n field: w\n });\n };\n traverseFieldWidgets(widgetList, handlerFn, null, staticWidgetsIncluded);\n\n return result;\n}\n\n/**\n * 获取所有容器组件\n * @param widgetList\n * @returns {[]}\n */\nexport function getAllContainerWidgets(widgetList) {\n if (!widgetList) {\n return [];\n }\n\n const result = [];\n const handlerFn = w => {\n result.push({\n type: w.type,\n name: w.options.name,\n container: w\n });\n };\n traverseContainerWidgets(widgetList, handlerFn);\n\n return result;\n}\n\nexport function getFieldWidgetByName(widgetList, fieldName, staticWidgetsIncluded) {\n if (!widgetList) {\n return null;\n }\n\n let foundWidget = null;\n const handlerFn = widget => {\n if (widget.options.name === fieldName) {\n foundWidget = widget;\n }\n };\n\n traverseFieldWidgets(widgetList, handlerFn, null, staticWidgetsIncluded);\n return foundWidget;\n}\n\nexport function getContainerWidgetByName(widgetList, containerName) {\n if (!widgetList) {\n return null;\n }\n\n let foundContainer = null;\n const handlerFn = con => {\n if (con.options.name === containerName) {\n foundContainer = con;\n }\n };\n\n traverseContainerWidgets(widgetList, handlerFn);\n return foundContainer;\n}\n\nexport function getContainerWidgetById(widgetList, containerId) {\n if (!widgetList) {\n return null;\n }\n\n let foundContainer = null;\n const handlerFn = con => {\n if (con.id === containerId) {\n foundContainer = con;\n }\n };\n\n traverseContainerWidgets(widgetList, handlerFn);\n return foundContainer;\n}\n\nexport function copyToClipboard(content, clickEvent, $message, successMsg, errorMsg) {\n const clipboard = new Clipboard(clickEvent.target, {\n text: () => content\n });\n\n clipboard.on('success', () => {\n $message.success(successMsg);\n clipboard.destroy();\n });\n\n clipboard.on('error', () => {\n $message.error(errorMsg);\n clipboard.destroy();\n });\n\n clipboard.onClick(clickEvent);\n}\n\nexport function getQueryParam(variable) {\n const query = window.location.search.substring(1);\n const vars = query.split('&');\n for (let i = 0; i < vars.length; i++) {\n const pair = vars[i].split('=');\n if (pair[0] == variable) {\n return pair[1];\n }\n }\n\n return undefined;\n}\n\nexport function getDefaultFormConfig() {\n const { formCode = '' } = getLocat();\n\n return {\n labelWidth: 80,\n labelPosition: 'horizontal', //'left',\n size: '',\n labelAlign: 'right',\n cssCode: '',\n customClass: [],\n\n isEnterSubmit: 0,\n // okButtonLabel: '',\n // okButtonHidden: '',\n // cancelButtonHidden: '',\n // cancelButtonLabel: '',\n buttonList: [],\n\n functions: '', //全局函数\n layoutType: 'PC',\n onFormCreated: '',\n onFormMounted: `\n if(!this.vfCtx) return\n if(!this.vfCtx._id) return\n const type = this.vfCtx.type\n this.setReadMode(type==='view')\n this.onFormDetail().then(res=>{\n this.setFormData({...res})\n })\n `,\n\n onFormDataChange: '',\n onOkButtonClick: `\n this.getFormRef().onFormUpdate().then(()=>{\n this.$message.success('保存成功!');\n })\n `,\n onCancelButtonClick: '',\n\n serveList: {\n list: [],\n vformUpdate: {\n http: {\n url: `/api/tmgc2-mgt/formDefinition/${formCode}/evaluate/formSubmit`,\n method: 'post',\n data: { _id: '${_id}' },\n params: {}\n },\n dataReqHandlerCode: `const d=data.data||{};\\n Object.keys(d).forEach(k=>{\\n if(d[k]==='null'){\\n d[k]=null\\n }\\n })\\nreturn {...data,data:d}`,\n dataHandlerCode: ''\n },\n vformDetail: {\n http: {\n url: `/api/tmgc2-mgt/formDefinition/${formCode}/evaluate/formLoad`,\n method: 'post',\n data: { _id: '${_id}' },\n params: {}\n },\n dataReqHandlerCode: `const d=data.data||{};\\n Object.keys(d).forEach(k=>{\\n if(d[k]==='null'){\\n d[k]=null\\n }\\n })\\nreturn {...data,data:d}`,\n dataHandlerCode: 'return data.data.object||{}'\n }\n }\n };\n}\n\nexport function buildDefaultFormJson() {\n return {\n widgetList: [],\n formConfig: deepClone(getDefaultFormConfig())\n };\n}\n\nexport function cloneFormConfigWithoutEventHandler(formConfig) {\n const newFC = deepClone(formConfig);\n newFC.onFormCreated = '';\n newFC.onFormMounted = '';\n newFC.onFormDataChange = '';\n\n return newFC;\n}\n\n/**\n * 转译选择项数据\n * @param rawData\n * @param widgetType\n * @param labelKey\n * @param valueKey\n * @returns {[]}\n */\nexport function translateOptionItems(rawData, widgetType, labelKey, valueKey) {\n if (['cascader', 'treeSelect', 'select'].includes(widgetType)) {\n // 级联选择不转译\n return deepClone(rawData);\n }\n\n const result = [];\n if (!!rawData && rawData.length > 0) {\n rawData.forEach(ri => {\n result.push({\n label: ri[labelKey],\n value: ri[valueKey]\n });\n });\n }\n\n return rawData; //result;\n}\n\n/**\n * 组装axios请求配置参数\n * @param arrayObj\n * @param DSV\n * @param VFR\n * @returns {{}}\n */\nexport function assembleAxiosConfig(arrayObj, DSV, VFR) {\n const result = {};\n if (!arrayObj || arrayObj.length <= 0) {\n return result;\n }\n\n arrayObj.map(ai => {\n if (ai.type === 'String') {\n result[ai.name] = String(ai.value);\n } else if (ai.type === 'Number') {\n result[ai.name] = Number(ai.value);\n } else if (ai.type === 'Boolean') {\n if (ai.value.toLowerCase() === 'false' || ai.value === '0') {\n result[ai.name] = false;\n } else if (ai.value.toLowerCase() === 'true' || ai.value === '1') {\n result[ai.name] = true;\n } else {\n result[ai.name] = null;\n }\n } else if (ai.type === 'Variable') {\n result[ai.name] = eval(ai.value);\n }\n });\n\n /* 加入如下两行日志打印代码,是为了防止编译打包时DSV、VFR参数被剔除!! begin */\n /* DSV、VFR入参没有在本函数中直接使用到,但在eval表达式中可能被使用到,故需确保DSV、VFR参数始终存在!! */\n console.log('test DSV: ', DSV);\n console.log('test VFR: ', VFR);\n /* 加入如下两行日志打印代码,是为了防止编译打包时DSV、VFR入参会被剔除!! end */\n\n return result;\n}\n\nfunction buildRequestConfig(dataSource, DSV, VFR, isSandbox) {\n const config = {};\n if (dataSource.requestURLType === 'String') {\n config.url = dataSource.requestURL;\n } else {\n config.url = eval(dataSource.requestURL);\n }\n config.method = dataSource.requestMethod;\n\n config.headers = assembleAxiosConfig(dataSource.headers, DSV, VFR);\n config.params = assembleAxiosConfig(dataSource.params, DSV, VFR);\n config.data = assembleAxiosConfig(dataSource.data, DSV, VFR);\n\n const chFn = new Function('config', 'isSandbox', 'DSV', 'VFR', dataSource.configHandlerCode);\n return chFn.call(null, config, isSandbox, DSV, VFR);\n}\n\nexport function getDSByName(formConfig, dsName) {\n let resultDS = null;\n if (!!dsName && !!formConfig.dataSources) {\n formConfig.dataSources.forEach(ds => {\n if (ds.uniqueName === dsName) {\n resultDS = ds;\n }\n });\n }\n\n return resultDS;\n}\n"],"names":["isNull","value","generateId","deepClone","origin","cloneDeep","overwriteObj","obj1","obj2","prop","insertCustomCssToHead","cssCode","formId","head","newStyle","insertGlobalFunctionsToHtml","functionsCode","bodyEle","newScriptEle","traverseFieldWidgets","widgetList","handler","parent","staticWidgetsIncluded","w","col","row","cell","tab","traverseContainerWidgets","handleWidgetForTraverse","widget","traverseFieldWidgetsOfContainer","con","cw","getAllFieldWidgets","result","getAllContainerWidgets","getContainerWidgetByName","containerName","foundContainer","copyToClipboard","content","clickEvent","$message","successMsg","errorMsg","clipboard","Clipboard","getDefaultFormConfig","formCode","getLocat","cloneFormConfigWithoutEventHandler","formConfig","newFC","translateOptionItems","rawData","widgetType","labelKey","valueKey","ri","getDSByName","dsName","resultDS","ds"],"mappings":";;;;AASO,SAASA,EAAOC,GAAO;AAC1B,SAAOA,KAAU;AACrB;AAWY,MAACC,IAAa,WAAY;AAClC,SAAO,KAAK,MAAM,KAAK,OAAM,IAAK,MAAS,KAAK,OAAM,IAAK,MAAQ,KAAK,OAAM,IAAK,GAAI;AAC3F,GAEaC,IAAY,SAAUC,GAAQ;AACvC,SAAOC,EAAUD,CAAM;AAC3B,GAEaE,IAAe,SAAUC,GAAMC,GAAM;AAQ9C,SAAO,KAAKA,CAAI,EAAE,QAAQ,CAAAC,MAAQ;AAC9B,IAAAF,EAAKE,CAAI,IAAID,EAAKC,CAAI;AAAA,EAC1B,CAAC;AACL,GA4CaC,IAAwB,SAAUC,GAASC,IAAS,IAAI;AACjE,QAAMC,IAAO,SAAS,qBAAqB,MAAM,EAAE,CAAC,GAE9CC,IAAW,SAAS,cAAc,OAAO;AAC/C,EAAAA,EAAS,OAAO,YAChBA,EAAS,MAAM,cACfA,EAAS,KAAOF,IAAS,sBAA2BA,IAAS;AAC7D,MAAI;AACA,IAAAE,EAAS,YAAY,SAAS,eAAeH,CAAO,CAAC;AAAA,EACzD,QAAa;AACT,IAAAG,EAAS,WAAW,UAAUH;AAAA,EAClC;AAEA,EAAAE,EAAK,YAAYC,CAAQ;AAC7B,GAEaC,IAA8B,SAAUC,GAAeJ,IAAS,IAAI;AAC7E,QAAMK,IAAU,SAAS,qBAAqB,MAAM,EAAE,CAAC,GAQjDC,IAAe,SAAS,cAAc,QAAQ;AACpD,EAAAA,EAAa,KAAON,IACd,6BAAkCA,IAClC,2BACNM,EAAa,OAAO,mBACpBA,EAAa,YAAYF,GACzBC,EAAQ,YAAYC,CAAY;AACpC;AAsCO,SAASC,EACZC,GACAC,GACAC,IAAS,MACTC,IAAwB,IAC1B;AACE,EAAKH,KAILA,EAAW,IAAI,CAAAI,MAAK;AAChB,IAAIA,EAAE,gBAAiBA,EAAE,iBAAiB,MAASD,IAC/CF,EAAQG,GAAGF,CAAM,IACVE,EAAE,SAAS,SAClBA,EAAE,KAAK,IAAI,CAAAC,MAAO;AACd,MAAAN,EAAqBM,EAAI,YAAYJ,GAASG,GAAGD,CAAqB;AAAA,IAC1E,CAAC,IACMC,EAAE,SAAS,UAClBA,EAAE,KAAK,IAAI,CAAAE,MAAO;AACd,MAAAA,EAAI,KAAK,IAAI,CAAAC,MAAQ;AACjB,QAAAR,EAAqBQ,EAAK,YAAYN,GAASG,GAAGD,CAAqB;AAAA,MAC3E,CAAC;AAAA,IACL,CAAC,IACMC,EAAE,SAAS,QAClBA,EAAE,KAAK,IAAI,CAAAI,MAAO;AACd,MAAAT,EAAqBS,EAAI,YAAYP,GAASG,GAAGD,CAAqB;AAAA,IAC1E,CAAC,KACMC,EAAE,SAAS,cAAcA,EAAE,SAAS,mBAEpCA,EAAE,aAAa,gBAEtBL,EAAqBK,EAAE,YAAYH,GAASG,GAAGD,CAAqB;AAAA,EAE5E,CAAC;AACL;AAEO,SAASM,EAAyBT,GAAYC,GAAS;AAC1D,EAAKD,KAAA,QAAAA,EAAY,UAIjBA,EAAW,IAAI,CAAAI,MAAK;AAChB,IAAIA,EAAE,aAAa,eACfH,EAAQG,CAAC,GAGTA,EAAE,SAAS,SACXA,EAAE,KAAK,IAAI,CAAAC,MAAO;AACd,MAAAI,EAAyBJ,EAAI,YAAYJ,CAAO;AAAA,IACpD,CAAC,IACMG,EAAE,SAAS,UAClBA,EAAE,KAAK,IAAI,CAAAE,MAAO;AACd,MAAAA,EAAI,KAAK,IAAI,CAAAC,MAAQ;AACjB,QAAAE,EAAyBF,EAAK,YAAYN,CAAO;AAAA,MACrD,CAAC;AAAA,IACL,CAAC,IACMG,EAAE,SAAS,QAClBA,EAAE,KAAK,IAAI,CAAAI,MAAO;AACd,MAAAC,EAAyBD,EAAI,YAAYP,CAAO;AAAA,IACpD,CAAC,KACMG,EAAE,SAAS,cAAcA,EAAE,SAAS,mBAEpCA,EAAE,aAAa,gBAEtBK,EAAyBL,EAAE,YAAYH,CAAO;AAAA,EAEtD,CAAC;AACL;AAmCA,SAASS,EAAwBC,GAAQV,GAAS;AAC9C,EAAMU,EAAO,YAAYA,EAAO,aAAa,cACzCC,EAAgCD,GAAQV,CAAO,IACxCU,EAAO,gBACdV,EAAQU,CAAM;AAEtB;AAOO,SAASC,EAAgCC,GAAKZ,GAAS;AAC1D,EAAIY,EAAI,SAAS,SACbA,EAAI,KAAK,QAAQ,CAAAR,MAAO;AACpB,IAAAA,EAAI,WAAW,QAAQ,CAAAS,MAAM;AACzB,MAAAJ,EAAwBI,GAAIb,CAAO;AAAA,IACvC,CAAC;AAAA,EACL,CAAC,IACMY,EAAI,SAAS,UACpBA,EAAI,KAAK,QAAQ,CAAAP,MAAO;AACpB,IAAAA,EAAI,KAAK,QAAQ,CAAAC,MAAQ;AACrB,MAAAA,EAAK,WAAW,QAAQ,CAAAO,MAAM;AAC1B,QAAAJ,EAAwBI,GAAIb,CAAO;AAAA,MACvC,CAAC;AAAA,IACL,CAAC;AAAA,EACL,CAAC,IACMY,EAAI,SAAS,QACpBA,EAAI,KAAK,QAAQ,CAAAL,MAAO;AACpB,IAAAA,EAAI,WAAW,QAAQ,CAAAM,MAAM;AACzB,MAAAJ,EAAwBI,GAAIb,CAAO;AAAA,IACvC,CAAC;AAAA,EACL,CAAC,IACMY,EAAI,SAAS,cAAcA,EAAI,SAAS,kBAC/CA,EAAI,WAAW,QAAQ,CAAAC,MAAM;AACzB,IAAAJ,EAAwBI,GAAIb,CAAO;AAAA,EACvC,CAAC,IACMY,EAAI,aAAa,eAExBA,EAAI,WAAW,QAAQ,CAAAC,MAAM;AACzB,IAAAJ,EAAwBI,GAAIb,CAAO;AAAA,EACvC,CAAC;AAET;AAuDO,SAASc,EAAmBf,GAAYG,IAAwB,IAAO;AAC1E,MAAI,CAACH;AACD,WAAO,CAAA;AAGX,QAAMgB,IAAS,CAAA;AAQf,SAAAjB,EAAqBC,GAPH,CAAAI,MAAK;AACnB,IAAAY,EAAO,KAAK;AAAA,MACR,MAAMZ,EAAE;AAAA,MACR,MAAMA,EAAE,QAAQ;AAAA,MAChB,OAAOA;AAAA,IACnB,CAAS;AAAA,EACL,GAC4C,MAAMD,CAAqB,GAEhEa;AACX;AAOO,SAASC,EAAuBjB,GAAY;AAC/C,MAAI,CAACA;AACD,WAAO,CAAA;AAGX,QAAMgB,IAAS,CAAA;AAQf,SAAAP,EAAyBT,GAPP,CAAAI,MAAK;AACnB,IAAAY,EAAO,KAAK;AAAA,MACR,MAAMZ,EAAE;AAAA,MACR,MAAMA,EAAE,QAAQ;AAAA,MAChB,WAAWA;AAAA,IACvB,CAAS;AAAA,EACL,CAC8C,GAEvCY;AACX;AAkBO,SAASE,EAAyBlB,GAAYmB,GAAe;AAChE,MAAI,CAACnB;AACD,WAAO;AAGX,MAAIoB,IAAiB;AAOrB,SAAAX,EAAyBT,GANP,CAAAa,MAAO;AACrB,IAAIA,EAAI,QAAQ,SAASM,MACrBC,IAAiBP;AAAA,EAEzB,CAE8C,GACvCO;AACX;AAkBO,SAASC,EAAgBC,GAASC,GAAYC,GAAUC,GAAYC,GAAU;AACjF,QAAMC,IAAY,IAAIC,EAAUL,EAAW,QAAQ;AAAA,IAC/C,MAAM,MAAMD;AAAA,EACpB,CAAK;AAED,EAAAK,EAAU,GAAG,WAAW,MAAM;AAC1B,IAAAH,EAAS,QAAQC,CAAU,GAC3BE,EAAU,QAAO;AAAA,EACrB,CAAC,GAEDA,EAAU,GAAG,SAAS,MAAM;AACxB,IAAAH,EAAS,MAAME,CAAQ,GACvBC,EAAU,QAAO;AAAA,EACrB,CAAC,GAEDA,EAAU,QAAQJ,CAAU;AAChC;AAeO,SAASM,IAAuB;AACnC,QAAM,EAAE,UAAAC,IAAW,GAAE,IAAKC,EAAQ;AAElC,SAAO;AAAA,IACH,YAAY;AAAA,IACZ,eAAe;AAAA;AAAA,IACf,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,SAAS;AAAA,IACT,aAAa,CAAA;AAAA,IAEb,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA,IAKf,YAAY,CAAA;AAAA,IAEZ,WAAW;AAAA;AAAA,IACX,YAAY;AAAA,IACZ,eAAe;AAAA,IACf,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUf,kBAAkB;AAAA,IAClB,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,IAKjB,qBAAqB;AAAA,IAErB,WAAW;AAAA,MACP,MAAM,CAAA;AAAA,MACN,aAAa;AAAA,QACT,MAAM;AAAA,UACF,KAAK,iCAAiCD,CAAQ;AAAA,UAC9C,QAAQ;AAAA,UACR,MAAM,EAAE,KAAK,SAAQ;AAAA,UACrB,QAAQ,CAAA;AAAA,QAC5B;AAAA,QACgB,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QACpB,iBAAiB;AAAA,MACjC;AAAA,MACY,aAAa;AAAA,QACT,MAAM;AAAA,UACF,KAAK,iCAAiCA,CAAQ;AAAA,UAC9C,QAAQ;AAAA,UACR,MAAM,EAAE,KAAK,SAAQ;AAAA,UACrB,QAAQ,CAAA;AAAA,QAC5B;AAAA,QACgB,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QACpB,iBAAiB;AAAA,MACjC;AAAA,IACA;AAAA,EACA;AACA;AASO,SAASE,EAAmCC,GAAY;AAC3D,QAAMC,IAAQnD,EAAUkD,CAAU;AAClC,SAAAC,EAAM,gBAAgB,IACtBA,EAAM,gBAAgB,IACtBA,EAAM,mBAAmB,IAElBA;AACX;AAUO,SAASC,EAAqBC,GAASC,GAAYC,GAAUC,GAAU;AAC1E,MAAI,CAAC,YAAY,cAAc,QAAQ,EAAE,SAASF,CAAU;AAExD,WAAOtD,EAAUqD,CAAO;AAG5B,QAAMpB,IAAS,CAAA;AACf,SAAMoB,KAAWA,EAAQ,SAAS,KAC9BA,EAAQ,QAAQ,CAAAI,MAAM;AAClB,IAAAxB,EAAO,KAAK;AAAA,MACR,OAAOwB,EAAGF,CAAQ;AAAA,MAClB,OAAOE,EAAGD,CAAQ;AAAA,IAClC,CAAa;AAAA,EACL,CAAC,GAGEH;AACX;AA2DO,SAASK,EAAYR,GAAYS,GAAQ;AAC5C,MAAIC,IAAW;AACf,SAAMD,KAAYT,EAAW,eACzBA,EAAW,YAAY,QAAQ,CAAAW,MAAM;AACjC,IAAIA,EAAG,eAAeF,MAClBC,IAAWC;AAAA,EAEnB,CAAC,GAGED;AACX;"}