@kp-ui/lowcode 1.0.94 → 1.0.96
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.
- package/_virtual/virtual_svg-icons-register.js.map +1 -1
- package/package.json +5 -5
- package/src/api/useFilesystemApi/filesystem/index.js.map +1 -1
- package/src/components/CustomRender/components/AttachmentRender.vue2.js.map +1 -1
- package/src/components/CustomRender/components/RenderBodyCell.js.map +1 -1
- package/src/components/CustomRender/useCustomRender.js.map +1 -1
- package/src/components/code-editor/code-modal-editor.vue.js.map +1 -1
- package/src/components/code-editor/index.vue2.js.map +1 -1
- package/src/components/form-designer/designer.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/containerMixin.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +22 -22
- package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js +2 -5
- package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/grid-col-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/grid-sub-form-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/grid-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/index.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/sub-form-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/tab-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/table-cell-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/table-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/vf-box-item.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue2.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/container-widget/vf-drawer-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/attachment-render-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/button-list-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/button-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/checkbox-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/code-editor-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/color-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/date-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/divider-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/diy-compontent-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/dropdown-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/fieldMixin.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue2.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/html-text-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/input-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/number-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/radio-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/rate-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/rich-editor-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/select-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/slider-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/slot-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/static-text-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/switch-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/textarea-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/time-range-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/time-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue.js.map +1 -1
- package/src/components/form-designer/form-widget/index.vue.js.map +1 -1
- package/src/components/form-designer/index.vue.js +91 -84
- package/src/components/form-designer/index.vue.js.map +1 -1
- package/src/components/form-designer/refMixinDesign.js.map +1 -1
- package/src/components/form-designer/setting-panel/form-setting.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/index.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/option-items-setting.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/button-position-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/code-editor/code-editor-mode.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-pagination-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-rowKey-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-selections-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showIndex-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-stripe-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue.js +2 -2
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js +70 -74
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableHeight-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableSize-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableWidth-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-treeDataEnabled-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-tabBarGutter-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-tabPosition-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-type-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/bodyStyle-editor.vue2.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/formCode-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/event-handler/eventMixin.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/field-dropdown/dropdown-menuList-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/field-select/mode-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/max-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/maxLength-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/min-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/minLength-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/name-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/placement-editor.vue.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/propertyMixin.js.map +1 -1
- package/src/components/form-designer/setting-panel/property-editor/rightSlotCss-editor.vue.js.map +1 -1
- package/src/components/form-designer/toolbar-panel/index.vue.js +2 -2
- package/src/components/form-designer/toolbar-panel/index.vue2.js +1 -5
- package/src/components/form-designer/toolbar-panel/index.vue2.js.map +1 -1
- package/src/components/form-designer/widget-panel/index.vue.js.map +1 -1
- package/src/components/form-render/SubmitButtonRender.vue.js.map +1 -1
- package/src/components/form-render/container-item/containerItemMixin.js.map +1 -1
- package/src/components/form-render/container-item/data-table-item.vue.js +4 -5
- package/src/components/form-render/container-item/data-table-item.vue.js.map +1 -1
- package/src/components/form-render/container-item/grid-col-item.vue.js.map +1 -1
- package/src/components/form-render/container-item/grid-item.vue.js.map +1 -1
- package/src/components/form-render/container-item/grid-sub-form-item.vue.js +10 -5
- package/src/components/form-render/container-item/grid-sub-form-item.vue.js.map +1 -1
- package/src/components/form-render/container-item/index.js.map +1 -1
- package/src/components/form-render/container-item/sub-form-item.vue.js.map +1 -1
- package/src/components/form-render/container-item/tab-item.vue.js.map +1 -1
- package/src/components/form-render/container-item/table-cell-item.vue.js.map +1 -1
- package/src/components/form-render/container-item/table-item.vue.js.map +1 -1
- package/src/components/form-render/container-item/vf-collapse-item.vue.js.map +1 -1
- package/src/components/form-render/dynamic-dialog.vue.js.map +1 -1
- package/src/components/form-render/dynamic-drawer.vue.js.map +1 -1
- package/src/components/form-render/index.vue.js +120 -106
- package/src/components/form-render/index.vue.js.map +1 -1
- package/src/components/form-render/refMixin.js.map +1 -1
- package/src/components/http-editor/index.vue.js.map +1 -1
- package/src/components/public/ActionButtonListDialog.vue.js +10 -10
- package/src/components/public/ActionButtonListDialog.vue.js.map +1 -1
- package/src/components/public/ActionButtonListDialog.vue2.js +24 -28
- package/src/components/public/ActionButtonListDialog.vue2.js.map +1 -1
- package/src/components/public/ActionButtonListRender.vue2.js.map +1 -1
- package/src/components/public/CustomerModal/CustomerModal.vue2.js.map +1 -1
- package/src/components/public/CustomerModal/useCustomerModal.js.map +1 -1
- package/src/components/public/QuillEditor/index.vue.js.map +1 -1
- package/src/components/public/methoad-item.vue.js.map +1 -1
- package/src/components/svg-icon/FileIcon.js.map +1 -1
- package/src/hooks/TpfConfirm.js.map +1 -1
- package/src/hooks/useFilePreview.js.map +1 -1
- package/src/hooks/useLowcode.js.map +1 -1
- package/src/lib/vuedraggable/src/core/componentBuilderHelper.js.map +1 -1
- package/src/lib/vuedraggable/src/core/componentStructure.js.map +1 -1
- package/src/lib/vuedraggable/src/util/string.js.map +1 -1
- package/src/lib/vuedraggable/src/vuedraggable.js.map +1 -1
- package/src/mixins/useDataTableMixin.js +2 -2
- package/src/mixins/useDataTableMixin.js.map +1 -1
- package/src/mixins/useSelectMixin.js.map +1 -1
- package/src/utils/emitter.js.map +1 -1
- package/src/utils/executeFunction.js.map +1 -1
- package/src/utils/format.js.map +1 -1
- package/src/utils/i18n.js.map +1 -1
- package/src/utils/request/fmtHttpParams.js.map +1 -1
- package/src/utils/request/handleAxiosError.js.map +1 -1
- package/src/utils/request/http.js.map +1 -1
- package/src/utils/smart-vue-i18n/index.js.map +1 -1
- package/src/utils/smart-vue-i18n/utils.js.map +1 -1
- package/src/utils/util.js.map +1 -1
- package/src/utils/validators.js.map +1 -1
- package/stats.html +1 -1
- package/styles/style.css +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"designer.js","sources":["../../../../src/components/form-designer/designer.js"],"sourcesContent":["import { deepClone, generateId, getDefaultFormConfig, overwriteObj, fmtArray } from '@/utils/util';\nimport {\n containers,\n advancedFields,\n basicFields,\n customFields\n} from '@/components/form-designer/widget-panel/widgetsConfig.js';\nimport eventBus from '@/utils/event-bus';\nexport function createDesigner(vueInstance) {\n const defaultFormConfig = deepClone(getDefaultFormConfig());\n\n return {\n widgetList: [],\n formConfig: { cssCode: '' },\n\n selectedId: null,\n selectedWidget: null,\n selectedWidgetName: null, //选中组件名称(唯一)\n vueInstance: vueInstance,\n\n formWidget: null, //表单设计容器\n\n cssClassList: [], //自定义样式列表\n\n historyData: {\n index: -1, //index: 0,\n maxStep: 20,\n steps: []\n },\n\n initDesigner(resetFormJson) {\n this.widgetList = [];\n this.formConfig = deepClone(defaultFormConfig);\n\n if (!resetFormJson) {\n this.initHistoryData();\n }\n },\n\n clearDesigner(skipHistoryChange) {\n const emptyWidgetListFlag = this.widgetList.length === 0;\n this.widgetList = [];\n this.selectedId = null;\n this.selectedWidgetName = null;\n this.selectedWidget = {}; //this.selectedWidget = null\n overwriteObj(this.formConfig, defaultFormConfig); //\n\n if (!!skipHistoryChange) {\n //什么也不做!!\n } else if (!emptyWidgetListFlag) {\n this.emitHistoryChange();\n } else {\n this.saveCurrentHistoryStep();\n }\n },\n\n loadPresetCssCode(preCssCode) {\n if (this.formConfig.cssCode === '' && !!preCssCode) {\n this.formConfig.cssCode = preCssCode;\n }\n },\n\n getLayoutType() {\n return this.formConfig.layoutType || 'PC';\n },\n\n changeLayoutType(newType) {\n this.formConfig.layoutType = newType;\n },\n\n getImportTemplate() {\n return {\n widgetList: [],\n //formConfig: deepClone(this.formConfig)\n formConfig: deepClone(defaultFormConfig)\n };\n },\n\n loadFormJson(formJson) {\n let modifiedFlag = false;\n\n if (!!formJson && !!formJson.widgetList) {\n // const widgetList = fmtArray(formJson.widgetList);\n this.widgetList = formJson.widgetList;\n modifiedFlag = true;\n }\n if (!!formJson && !!formJson.formConfig) {\n //this.formConfig = importObj.formConfig\n //TODO\n overwriteObj(\n this.formConfig,\n formJson.formConfig\n ); /* 用=赋值,会导致inject依赖注入的formConfig属性变成非响应式 */\n modifiedFlag = true;\n }\n\n if (modifiedFlag) {\n this.emitEvent('form-json-imported', []); // 通知其他组件\n }\n\n return modifiedFlag;\n },\n\n setSelected(selected) {\n if (!selected) {\n this.clearSelected();\n return;\n }\n\n this.selectedWidget = selected;\n if (!!selected.id) {\n this.selectedId = selected.id;\n this.selectedWidgetName = selected.options.name;\n }\n },\n\n updateSelectedWidgetNameAndLabel(selectedWidget, newName, newLabel) {\n this.selectedWidgetName = newName;\n if (!!newLabel && Object.keys(selectedWidget.options).indexOf('label') > -1) {\n selectedWidget.options.label = newLabel;\n }\n },\n\n clearSelected() {\n this.selectedId = null;\n this.selectedWidgetName = null;\n this.selectedWidget = {}; //this.selectedWidget = null\n },\n\n checkWidgetMove(evt) {\n /* Only field widget can be dragged into sub-form */\n if (!!evt.draggedContext && !!evt.draggedContext.element) {\n const wgCategory = evt.draggedContext.element.category;\n const wgType = evt.draggedContext.element.type + '';\n\n if (!!evt.to) {\n /* 单行子表单只允许拖入非容器组件!! */\n if (evt.to.className === 'sub-form-table' && wgCategory === 'container') {\n //this.$message.info(this.vueInstance.i18nt('designer.hint.onlyFieldWidgetAcceptable'))\n return false;\n }\n\n /* 多行子表单只允许拖入栅格组件!! */\n if (evt.to.className === 'grid-sub-form' && wgType !== 'grid') {\n return false;\n }\n\n /* 弹窗不允许多层嵌套,弹窗也不允许和抽屉相互嵌套 */\n if (\n evt.to.className === 'vf-dialog-drop-zone' &&\n (wgType === 'vf-dialog' || wgType === 'vf-drawer')\n ) {\n return false;\n }\n\n /* 抽屉不允许多层嵌套,抽屉也不允许和弹窗相互嵌套 */\n if (\n evt.to.className === 'vf-drawer-drop-zone' &&\n (wgType === 'vf-dialog' || wgType === 'vf-drawer')\n ) {\n return false;\n }\n\n /* 弹窗、抽屉只允许拖入设计器画布第一层!! */\n if (\n evt.to.className !== 'form-widget-canvas' &&\n (wgType === 'vf-dialog' || wgType === 'vf-drawer')\n ) {\n return false;\n }\n }\n }\n\n return true;\n },\n\n checkFieldMove(evt) {\n if (!!evt.draggedContext && !!evt.draggedContext.element) {\n const wgCategory = evt.draggedContext.element.category;\n const wgType = evt.draggedContext.element.type + '';\n if (!!evt.to) {\n /* 插槽不允许被拖入单行子表单、多行容器 */\n if (\n (evt.to.className === 'sub-form-table' ||\n evt.to.className === 'grid-sub-form') &&\n wgType === 'slot'\n ) {\n //this.$message.info(this.vueInstance.i18nt('designer.hint.onlyFieldWidgetAcceptable'))\n return false;\n }\n\n /* 行子表单只允许拖入栅格组件!! */\n if (evt.to.className === 'grid-sub-form' && wgType !== 'grid') {\n return false;\n }\n }\n }\n\n return true;\n },\n\n /**\n * 追加表格新行\n * @param widget\n */\n appendTableRow(widget) {\n const rowIdx = widget.rows.length; //确定插入行位置\n const newRow = deepClone(widget.rows[widget.rows.length - 1]);\n newRow.id = 'table-row-' + generateId();\n newRow.merged = false;\n newRow.cols.forEach(col => {\n col.id = 'table-cell-' + generateId();\n col.options.name = col.id;\n col.merged = false;\n col.options.colspan = 1;\n col.options.rowspan = 1;\n col.widgetList.length = 0;\n });\n widget.rows.splice(rowIdx, 0, newRow);\n\n this.emitHistoryChange();\n },\n\n /**\n * 追加表格新列\n * @param widget\n */\n appendTableCol(widget) {\n const colIdx = widget.rows[0].cols.length; //确定插入列位置\n widget.rows.forEach(row => {\n const newCol = deepClone(this.getContainerByType('table-cell'));\n newCol.id = 'table-cell-' + generateId();\n newCol.options.name = newCol.id;\n newCol.merged = false;\n newCol.options.colspan = 1;\n newCol.options.rowspan = 1;\n newCol.widgetList.length = 0;\n row.cols.splice(colIdx, 0, newCol);\n });\n\n this.emitHistoryChange();\n },\n\n insertTableRow(widget, insertPos, cloneRowIdx, curCol, aboveFlag) {\n let newRowIdx = !!aboveFlag ? insertPos : insertPos + 1; //初步确定插入行位置\n if (!aboveFlag) {\n //继续向下寻找同列第一个未被合并的单元格\n let tmpRowIdx = newRowIdx;\n let rowFoundFlag = false;\n while (tmpRowIdx < widget.rows.length) {\n if (!widget.rows[tmpRowIdx].cols[curCol].merged) {\n newRowIdx = tmpRowIdx;\n rowFoundFlag = true;\n break;\n } else {\n tmpRowIdx++;\n }\n }\n\n if (!rowFoundFlag) {\n newRowIdx = widget.rows.length;\n }\n }\n\n const newRow = deepClone(widget.rows[cloneRowIdx]);\n newRow.id = 'table-row-' + generateId();\n newRow.merged = false;\n newRow.cols.forEach(col => {\n col.id = 'table-cell-' + generateId();\n col.options.name = col.id;\n col.merged = false;\n col.options.colspan = 1;\n col.options.rowspan = 1;\n col.widgetList.length = 0;\n });\n widget.rows.splice(newRowIdx, 0, newRow);\n\n let colNo = 0;\n while (newRowIdx < widget.rows.length - 1 && colNo < widget.rows[0].cols.length) {\n //越界判断\n const cellOfNextRow = widget.rows[newRowIdx + 1].cols[colNo];\n const rowMerged = cellOfNextRow.merged; //确定插入位置下一行的单元格是否为合并单元格\n if (!!rowMerged) {\n const rowArray = widget.rows;\n let unMergedCell = {};\n let startRowIndex = null;\n for (let i = newRowIdx; i >= 0; i--) {\n //查找该行已合并的主单元格\n if (\n !rowArray[i].cols[colNo].merged &&\n rowArray[i].cols[colNo].options.rowspan > 1\n ) {\n startRowIndex = i;\n unMergedCell = rowArray[i].cols[colNo];\n break;\n }\n }\n\n if (!!unMergedCell.options) {\n //如果有符合条件的unMergedCell\n const newRowspan = unMergedCell.options.rowspan + 1;\n this.setPropsOfMergedRows(\n widget.rows,\n startRowIndex,\n colNo,\n unMergedCell.options.colspan,\n newRowspan\n );\n colNo += unMergedCell.options.colspan;\n } else {\n colNo += 1;\n }\n } else {\n //colNo += 1\n colNo += cellOfNextRow.options.colspan || 1;\n }\n }\n\n this.emitHistoryChange();\n },\n\n insertTableCol(widget, insertPos, curRow, leftFlag) {\n let newColIdx = !!leftFlag ? insertPos : insertPos + 1; //初步确定插入列位置\n if (!leftFlag) {\n //继续向右寻找同行第一个未被合并的单元格\n let tmpColIdx = newColIdx;\n let colFoundFlag = false;\n while (tmpColIdx < widget.rows[curRow].cols.length) {\n if (!widget.rows[curRow].cols[tmpColIdx].merged) {\n newColIdx = tmpColIdx;\n colFoundFlag = true;\n break;\n } else {\n tmpColIdx++;\n }\n\n if (!colFoundFlag) {\n newColIdx = widget.rows[curRow].cols.length;\n }\n }\n }\n\n widget.rows.forEach(row => {\n const newCol = deepClone(this.getContainerByType('table-cell'));\n newCol.id = 'table-cell-' + generateId();\n newCol.options.name = newCol.id;\n newCol.merged = false;\n newCol.options.colspan = 1;\n newCol.options.rowspan = 1;\n newCol.widgetList.length = 0;\n row.cols.splice(newColIdx, 0, newCol);\n });\n\n let rowNo = 0;\n while (newColIdx < widget.rows[0].cols.length - 1 && rowNo < widget.rows.length) {\n //越界判断\n const cellOfNextCol = widget.rows[rowNo].cols[newColIdx + 1];\n const colMerged = cellOfNextCol.merged; //确定插入位置右侧列的单元格是否为合并单元格\n if (!!colMerged) {\n const colArray = widget.rows[rowNo].cols;\n let unMergedCell = {};\n let startColIndex = null;\n for (let i = newColIdx; i >= 0; i--) {\n //查找该行已合并的主单元格\n if (!colArray[i].merged && colArray[i].options.colspan > 1) {\n startColIndex = i;\n unMergedCell = colArray[i];\n break;\n }\n }\n\n if (!!unMergedCell.options) {\n //如果有符合条件的unMergedCell\n const newColspan = unMergedCell.options.colspan + 1;\n this.setPropsOfMergedCols(\n widget.rows,\n rowNo,\n startColIndex,\n newColspan,\n unMergedCell.options.rowspan\n );\n rowNo += unMergedCell.options.rowspan;\n } else {\n rowNo += 1;\n }\n } else {\n //rowNo += 1\n rowNo += cellOfNextCol.options.rowspan || 1;\n }\n }\n\n this.emitHistoryChange();\n },\n\n setPropsOfMergedCols(rowArray, startRowIndex, startColIndex, newColspan, rowspan) {\n for (let i = startRowIndex; i < startRowIndex + rowspan; i++) {\n for (let j = startColIndex; j < startColIndex + newColspan; j++) {\n if (i === startRowIndex && j === startColIndex) {\n rowArray[i].cols[j].options.colspan = newColspan; //合并后的主单元格\n continue;\n }\n\n rowArray[i].cols[j].merged = true;\n rowArray[i].cols[j].options.colspan = newColspan;\n rowArray[i].cols[j].widgetList = [];\n }\n }\n },\n\n setPropsOfMergedRows(rowArray, startRowIndex, startColIndex, colspan, newRowspan) {\n for (let i = startRowIndex; i < startRowIndex + newRowspan; i++) {\n for (let j = startColIndex; j < startColIndex + colspan; j++) {\n if (i === startRowIndex && j === startColIndex) {\n rowArray[i].cols[j].options.rowspan = newRowspan;\n continue;\n }\n\n rowArray[i].cols[j].merged = true;\n rowArray[i].cols[j].options.rowspan = newRowspan;\n rowArray[i].cols[j].widgetList = [];\n }\n }\n },\n\n setPropsOfSplitCol(rowArray, startRowIndex, startColIndex, colspan, rowspan) {\n for (let i = startRowIndex; i < startRowIndex + rowspan; i++) {\n for (let j = startColIndex; j < startColIndex + colspan; j++) {\n rowArray[i].cols[j].merged = false;\n rowArray[i].cols[j].options.rowspan = 1;\n rowArray[i].cols[j].options.colspan = 1;\n }\n }\n },\n\n setPropsOfSplitRow(rowArray, startRowIndex, startColIndex, colspan, rowspan) {\n for (let i = startRowIndex; i < startRowIndex + rowspan; i++) {\n for (let j = startColIndex; j < startColIndex + colspan; j++) {\n rowArray[i].cols[j].merged = false;\n rowArray[i].cols[j].options.rowspan = 1;\n rowArray[i].cols[j].options.colspan = 1;\n }\n }\n },\n\n mergeTableCol(rowArray, colArray, curRow, curCol, leftFlag, cellWidget) {\n const mergedColIdx = !!leftFlag ? curCol : curCol + colArray[curCol].options.colspan;\n\n // let remainedColIdx = !!leftFlag ? curCol - colArray[curCol - 1].options.colspan : curCol\n let remainedColIdx = !!leftFlag ? curCol - 1 : curCol;\n if (!!leftFlag) {\n //继续向左寻找同行未被合并的第一个单元格\n let tmpColIdx = remainedColIdx;\n while (tmpColIdx >= 0) {\n if (!rowArray[curRow].cols[tmpColIdx].merged) {\n remainedColIdx = tmpColIdx;\n break;\n } else {\n tmpColIdx--;\n }\n }\n }\n\n if (\n !!colArray[mergedColIdx].widgetList &&\n colArray[mergedColIdx].widgetList.length > 0\n ) {\n //保留widgetList\n if (\n !colArray[remainedColIdx].widgetList ||\n colArray[remainedColIdx].widgetList.length === 0\n ) {\n colArray[remainedColIdx].widgetList = deepClone(\n colArray[mergedColIdx].widgetList\n );\n }\n }\n\n const newColspan =\n colArray[mergedColIdx].options.colspan * 1 +\n colArray[remainedColIdx].options.colspan * 1;\n this.setPropsOfMergedCols(\n rowArray,\n curRow,\n remainedColIdx,\n newColspan,\n cellWidget.options.rowspan\n );\n\n this.emitHistoryChange();\n },\n\n mergeTableWholeRow(rowArray, colArray, rowIndex, colIndex) {\n //需要考虑操作的行存在已合并的单元格!!\n //整行所有单元格行高不一致不可合并!!\n const startRowspan = rowArray[rowIndex].cols[0].options.rowspan;\n let unmatchedFlag = false;\n for (let i = 1; i < rowArray[rowIndex].cols.length; i++) {\n if (rowArray[rowIndex].cols[i].options.rowspan !== startRowspan) {\n unmatchedFlag = true;\n break;\n }\n }\n if (unmatchedFlag) {\n this.vueInstance.$message.info(\n this.vueInstance.i18nt('designer.hint.rowspanNotConsistentForMergeEntireRow')\n );\n return;\n }\n\n const widgetListCols = colArray.filter(colItem => {\n return !colItem.merged && !!colItem.widgetList && colItem.widgetList.length > 0;\n });\n if (!!widgetListCols && widgetListCols.length > 0) {\n //保留widgetList\n if (\n widgetListCols[0].id !== colArray[0].id &&\n (!colArray[0].widgetList || colArray[0].widgetList.length <= 0)\n ) {\n colArray[0].widgetList = deepClone(widgetListCols[0].widgetList);\n }\n }\n\n this.setPropsOfMergedCols(\n rowArray,\n rowIndex,\n 0,\n colArray.length,\n colArray[colIndex].options.rowspan\n );\n\n this.emitHistoryChange();\n },\n\n mergeTableRow(rowArray, curRow, curCol, aboveFlag, cellWidget) {\n const mergedRowIdx = !!aboveFlag ? curRow : curRow + cellWidget.options.rowspan;\n\n //let remainedRowIdx = !!aboveFlag ? curRow - cellWidget.options.rowspan : curRow\n let remainedRowIdx = !!aboveFlag ? curRow - 1 : curRow;\n if (!!aboveFlag) {\n //继续向上寻找同列未被合并的第一个单元格\n let tmpRowIdx = remainedRowIdx;\n while (tmpRowIdx >= 0) {\n if (!rowArray[tmpRowIdx].cols[curCol].merged) {\n remainedRowIdx = tmpRowIdx;\n break;\n } else {\n tmpRowIdx--;\n }\n }\n }\n\n if (\n !!rowArray[mergedRowIdx].cols[curCol].widgetList &&\n rowArray[mergedRowIdx].cols[curCol].widgetList.length > 0\n ) {\n //保留widgetList\n if (\n !rowArray[remainedRowIdx].cols[curCol].widgetList ||\n rowArray[remainedRowIdx].cols[curCol].widgetList.length === 0\n ) {\n rowArray[remainedRowIdx].cols[curCol].widgetList = deepClone(\n rowArray[mergedRowIdx].cols[curCol].widgetList\n );\n }\n }\n\n const newRowspan =\n rowArray[mergedRowIdx].cols[curCol].options.rowspan * 1 +\n rowArray[remainedRowIdx].cols[curCol].options.rowspan * 1;\n this.setPropsOfMergedRows(\n rowArray,\n remainedRowIdx,\n curCol,\n cellWidget.options.colspan,\n newRowspan\n );\n\n this.emitHistoryChange();\n },\n\n mergeTableWholeCol(rowArray, colArray, rowIndex, colIndex) {\n //需要考虑操作的列存在已合并的单元格!!\n //整列所有单元格列宽不一致不可合并!!\n const startColspan = rowArray[0].cols[colIndex].options.colspan;\n let unmatchedFlag = false;\n for (let i = 1; i < rowArray.length; i++) {\n if (rowArray[i].cols[colIndex].options.colspan !== startColspan) {\n unmatchedFlag = true;\n break;\n }\n }\n if (unmatchedFlag) {\n this.vueInstance.$message.info(\n this.vueInstance.i18nt('designer.hint.colspanNotConsistentForMergeEntireColumn')\n );\n return;\n }\n\n const widgetListCols = [];\n rowArray.forEach(rowItem => {\n const tempCell = rowItem.cols[colIndex];\n if (!tempCell.merged && !!tempCell.widgetList && tempCell.widgetList.length > 0) {\n widgetListCols.push(tempCell);\n }\n });\n\n const firstCellOfCol = rowArray[0].cols[colIndex];\n if (!!widgetListCols && widgetListCols.length > 0) {\n //保留widgetList\n if (\n widgetListCols[0].id !== firstCellOfCol.id &&\n (!firstCellOfCol.widgetList || firstCellOfCol.widgetList.length <= 0)\n ) {\n firstCellOfCol.widgetList = deepClone(widgetListCols[0].widgetList);\n }\n }\n\n this.setPropsOfMergedRows(\n rowArray,\n 0,\n colIndex,\n firstCellOfCol.options.colspan,\n rowArray.length\n );\n\n this.emitHistoryChange();\n },\n\n undoMergeTableCol(rowArray, rowIndex, colIndex, colspan, rowspan) {\n this.setPropsOfSplitCol(rowArray, rowIndex, colIndex, colspan, rowspan);\n\n this.emitHistoryChange();\n },\n\n undoMergeTableRow(rowArray, rowIndex, colIndex, colspan, rowspan) {\n this.setPropsOfSplitRow(rowArray, rowIndex, colIndex, colspan, rowspan);\n\n this.emitHistoryChange();\n },\n\n deleteTableWholeCol(rowArray, colIndex) {\n //需考虑删除的是合并列!!\n let onlyOneColFlag = true;\n rowArray.forEach(ri => {\n if (ri.cols[0].options.colspan !== rowArray[0].cols.length) {\n onlyOneColFlag = false;\n }\n });\n //仅剩一列则不可删除!!\n if (onlyOneColFlag) {\n this.vueInstance.$message.info(\n this.vueInstance.i18nt('designer.hint.lastColCannotBeDeleted')\n );\n return;\n }\n\n //整列所有单元格列宽不一致不可删除!!\n const startColspan = rowArray[0].cols[colIndex].options.colspan;\n let unmatchedFlag = false;\n for (let i = 1; i < rowArray.length; i++) {\n if (rowArray[i].cols[colIndex].options.colspan !== startColspan) {\n unmatchedFlag = true;\n break;\n }\n }\n if (unmatchedFlag) {\n this.vueInstance.$message.info(\n this.vueInstance.i18nt(\n 'designer.hint.colspanNotConsistentForDeleteEntireColumn'\n )\n );\n return;\n }\n\n rowArray.forEach(rItem => {\n rItem.cols.splice(colIndex, startColspan);\n });\n\n this.emitHistoryChange();\n },\n\n deleteTableWholeRow(rowArray, rowIndex) {\n //需考虑删除的是合并行!!\n let onlyOneRowFlag = true;\n rowArray[0].cols.forEach(ci => {\n if (ci.options.rowspan !== rowArray.length) {\n onlyOneRowFlag = false;\n }\n });\n //仅剩一行则不可删除!!\n if (onlyOneRowFlag) {\n this.vueInstance.$message.info(\n this.vueInstance.i18nt('designer.hint.lastRowCannotBeDeleted')\n );\n return;\n }\n\n //整行所有单元格行高不一致不可删除!!\n const startRowspan = rowArray[rowIndex].cols[0].options.rowspan;\n let unmatchedFlag = false;\n for (let i = 1; i < rowArray[rowIndex].cols.length; i++) {\n if (rowArray[rowIndex].cols[i].options.rowspan !== startRowspan) {\n unmatchedFlag = true;\n break;\n }\n }\n if (unmatchedFlag) {\n this.vueInstance.$message.info(\n this.vueInstance.i18nt('designer.hint.rowspanNotConsistentForDeleteEntireRow')\n );\n return;\n }\n\n rowArray.splice(rowIndex, startRowspan);\n\n this.emitHistoryChange();\n },\n\n getContainerByType(typeName) {\n const allWidgets = [...containers, ...basicFields, ...advancedFields, ...customFields];\n let foundCon = null;\n allWidgets.forEach(con => {\n if (!!con.category && !!con.type && con.type === typeName) {\n foundCon = con;\n }\n });\n\n return foundCon;\n },\n\n getFieldWidgetByType(typeName) {\n const allWidgets = [...containers, ...basicFields, ...advancedFields, ...customFields];\n let foundWidget = null;\n allWidgets.forEach(widget => {\n if (!!!widget.category && !!widget.type && widget.type === typeName) {\n foundWidget = widget;\n }\n });\n\n return foundWidget;\n },\n\n hasConfig(widget, configName) {\n let originalWidget = null;\n if (!!widget.category) {\n originalWidget = this.getContainerByType(widget.type);\n } else {\n originalWidget = this.getFieldWidgetByType(widget.type);\n }\n\n if (!originalWidget || !originalWidget.options) {\n return false;\n }\n\n return Object.keys(originalWidget.options).indexOf(configName) > -1;\n },\n\n upgradeWidgetConfig(oldWidget) {\n let newWidget = null;\n if (!!oldWidget.category) {\n newWidget = this.getContainerByType(oldWidget.type);\n } else {\n newWidget = this.getFieldWidgetByType(oldWidget.type);\n }\n\n if (!newWidget || !newWidget.options) {\n return;\n }\n\n Object.keys(newWidget.options).forEach(ck => {\n if (!oldWidget.hasOwnProperty(ck)) {\n oldWidget.options[ck] = deepClone(newWidget.options[ck]);\n }\n });\n },\n\n upgradeFormConfig(oldFormConfig) {\n Object.keys(this.formConfig).forEach(fc => {\n if (!oldFormConfig.hasOwnProperty(fc)) {\n oldFormConfig[fc] = deepClone(this.formConfig[fc]);\n }\n });\n },\n\n cloneGridCol(widget, parentWidget) {\n const newGridCol = deepClone(this.getContainerByType('grid-col'));\n newGridCol.options.span = widget.options.span;\n const tmpId = generateId();\n newGridCol.id = 'grid-col-' + tmpId;\n newGridCol.options.name = 'gridCol' + tmpId;\n\n parentWidget.cols.push(newGridCol);\n },\n\n cloneContainer(containWidget) {\n if (containWidget.type === 'grid') {\n const newGrid = deepClone(this.getContainerByType('grid'));\n newGrid.id = newGrid.type + generateId();\n newGrid.options.name = newGrid.id;\n containWidget.cols.forEach(gridCol => {\n const newGridCol = deepClone(this.getContainerByType('grid-col'));\n const tmpId = generateId();\n newGridCol.id = 'grid-col-' + tmpId;\n newGridCol.options.name = 'gridCol' + tmpId;\n newGridCol.options.span = gridCol.options.span;\n newGrid.cols.push(newGridCol);\n });\n\n return newGrid;\n } else if (containWidget.type === 'table') {\n const newTable = deepClone(this.getContainerByType('table'));\n newTable.id = newTable.type + generateId();\n newTable.options.name = newTable.id;\n containWidget.rows.forEach(tRow => {\n const newRow = deepClone(tRow);\n newRow.id = 'table-row-' + generateId();\n newRow.cols.forEach(col => {\n col.id = 'table-cell-' + generateId();\n col.options.name = col.id;\n col.widgetList = []; //清空组件列表\n });\n newTable.rows.push(newRow);\n });\n\n return newTable;\n } else {\n //其他容器组件不支持clone操作\n return null;\n }\n },\n\n moveUpWidget(parentList, indexOfParentList) {\n if (!!parentList) {\n if (indexOfParentList === 0) {\n this.vueInstance.$message(\n this.vueInstance.i18nt('designer.hint.moveUpFirstChildHint')\n );\n return;\n }\n\n const tempWidget = parentList[indexOfParentList];\n parentList.splice(indexOfParentList, 1);\n parentList.splice(indexOfParentList - 1, 0, tempWidget);\n }\n },\n\n moveDownWidget(parentList, indexOfParentList) {\n if (!!parentList) {\n if (indexOfParentList === parentList.length - 1) {\n this.vueInstance.$message(\n this.vueInstance.i18nt('designer.hint.moveDownLastChildHint')\n );\n return;\n }\n\n const tempWidget = parentList[indexOfParentList];\n parentList.splice(indexOfParentList, 1);\n parentList.splice(indexOfParentList + 1, 0, tempWidget);\n }\n },\n\n copyNewFieldWidget(origin) {\n const newWidget = deepClone(origin);\n const tempId = generateId();\n newWidget.id = newWidget.type.replace(/-/g, '') + tempId;\n //console.log('test id===', newWidget.id)\n newWidget.options.name = newWidget.id;\n newWidget.options.label = newWidget.options.label || newWidget.type.toLowerCase();\n\n delete newWidget.displayName;\n return newWidget;\n },\n\n copyNewContainerWidget(origin) {\n const newCon = deepClone(origin);\n newCon.id = newCon.type.replace(/-/g, '') + generateId();\n newCon.options.name = newCon.id;\n if (newCon.type === 'grid') {\n let newCol = deepClone(this.getContainerByType('grid-col'));\n let tmpId = generateId();\n newCol.id = 'grid-col-' + tmpId;\n newCol.options.name = 'gridCol' + tmpId;\n newCon.cols.push(newCol);\n //\n newCol = deepClone(newCol);\n tmpId = generateId();\n newCol.id = 'grid-col-' + tmpId;\n newCol.options.name = 'gridCol' + tmpId;\n newCon.cols.push(newCol);\n } else if (newCon.type === 'table') {\n const newRow = { cols: [] };\n newRow.id = 'table-row-' + generateId();\n newRow.merged = false;\n const newCell = deepClone(this.getContainerByType('table-cell'));\n newCell.id = 'table-cell-' + generateId();\n newCell.options.name = newCell.id;\n newCell.merged = false;\n newCell.options.colspan = 1;\n newCell.options.rowspan = 1;\n newRow.cols.push(newCell);\n newCon.rows.push(newRow);\n } else if (newCon.type === 'tab') {\n const newTabPane = deepClone(this.getContainerByType('tab-pane'));\n newTabPane.id = 'tab-pane-' + generateId();\n newTabPane.options.name = 'tab1';\n newTabPane.options.label = 'tab 1';\n newCon.tabs.push(newTabPane);\n }\n //newCon.options.customClass = []\n\n delete newCon.displayName;\n return newCon;\n },\n\n addContainerByDbClick(container) {\n const newCon = this.copyNewContainerWidget(container);\n this.widgetList.push(newCon);\n this.setSelected(newCon);\n },\n\n addFieldByDbClick(widget) {\n const newWidget = this.copyNewFieldWidget(widget);\n if (!!this.selectedWidget && this.selectedWidget.type === 'tab') {\n //获取当前激活的tabPane\n let activeTab = this.selectedWidget.tabs[0];\n this.selectedWidget.tabs.forEach(tabPane => {\n if (!!tabPane.options.active) {\n activeTab = tabPane;\n }\n });\n\n !!activeTab && activeTab.widgetList.push(newWidget);\n } else if (!!this.selectedWidget && !!this.selectedWidget.widgetList) {\n this.selectedWidget.widgetList.push(newWidget);\n } else {\n this.widgetList.push(newWidget);\n }\n\n this.setSelected(newWidget);\n this.emitHistoryChange();\n },\n\n deleteColOfGrid(gridWidget, colIdx) {\n if (!!gridWidget && !!gridWidget.cols) {\n gridWidget.cols.splice(colIdx, 1);\n }\n },\n\n addNewColOfGrid(gridWidget) {\n const cols = gridWidget.cols;\n const newGridCol = deepClone(this.getContainerByType('grid-col'));\n const tmpId = generateId();\n newGridCol.id = 'grid-col-' + tmpId;\n newGridCol.options.name = 'gridCol' + tmpId;\n if (!!cols && cols.length > 0) {\n let spanSum = 0;\n cols.forEach(col => {\n spanSum += col.options.span;\n });\n\n if (spanSum >= 24) {\n //this.$message.info('列栅格之和超出24')\n console.log('列栅格之和超出24');\n gridWidget.cols.push(newGridCol);\n } else {\n newGridCol.options.span = 24 - spanSum > 12 ? 12 : 24 - spanSum;\n gridWidget.cols.push(newGridCol);\n }\n } else {\n gridWidget.cols = [newGridCol];\n }\n },\n\n addTabPaneOfTabs(tabsWidget) {\n const tabPanes = tabsWidget.tabs;\n const newTabPane = deepClone(this.getContainerByType('tab-pane'));\n newTabPane.id = 'tab-pane-' + generateId();\n newTabPane.options.name = newTabPane.id;\n newTabPane.options.label = 'tab ' + (tabPanes.length + 1);\n tabPanes.push(newTabPane);\n },\n\n deleteTabPaneOfTabs(tabsWidget, tpIdx) {\n tabsWidget.tabs.splice(tpIdx, 1);\n },\n\n emitEvent(evtName, evtData) {\n //用于兄弟组件发射事件\n eventBus.$emit(evtName, evtData);\n },\n\n handleEvent(evtName, callback) {\n //用于兄弟组件接收事件\n eventBus.$on(evtName, data => callback(data));\n },\n\n setCssClassList(cssClassList) {\n this.cssClassList = cssClassList;\n },\n\n getCssClassList() {\n return this.cssClassList;\n },\n\n registerFormWidget(formWidget) {\n this.formWidget = formWidget;\n },\n\n initHistoryData() {\n this.loadFormContentFromStorage();\n this.historyData.index++;\n this.historyData.steps[this.historyData.index] = {\n widgetList: deepClone(this.widgetList),\n formConfig: deepClone(this.formConfig)\n };\n },\n\n emitHistoryChange() {\n if (this.historyData.index === this.historyData.maxStep - 1) {\n this.historyData.steps.shift();\n } else {\n this.historyData.index++;\n }\n\n this.historyData.steps[this.historyData.index] = {\n widgetList: deepClone(this.widgetList),\n formConfig: deepClone(this.formConfig)\n };\n\n this.saveFormContentToStorage();\n\n if (this.historyData.index < this.historyData.steps.length - 1) {\n this.historyData.steps = this.historyData.steps.slice(\n 0,\n this.historyData.index + 1\n );\n }\n },\n\n saveCurrentHistoryStep() {\n this.historyData.steps[this.historyData.index] = deepClone({\n widgetList: this.widgetList,\n formConfig: this.formConfig\n });\n\n this.saveFormContentToStorage();\n },\n\n undoHistoryStep() {\n if (this.historyData.index !== 0) {\n this.historyData.index--;\n }\n\n this.widgetList = deepClone(this.historyData.steps[this.historyData.index].widgetList);\n this.formConfig = deepClone(this.historyData.steps[this.historyData.index].formConfig);\n },\n\n redoHistoryStep() {\n if (this.historyData.index !== this.historyData.steps.length - 1) {\n this.historyData.index++;\n }\n\n this.widgetList = deepClone(this.historyData.steps[this.historyData.index].widgetList);\n this.formConfig = deepClone(this.historyData.steps[this.historyData.index].formConfig);\n },\n\n undoEnabled() {\n return this.historyData.index > 0 && this.historyData.steps.length > 0;\n },\n\n redoEnabled() {\n return this.historyData.index < this.historyData.steps.length - 1;\n },\n\n saveFormContentToStorage() {\n window.localStorage.setItem('widget__list__backup', JSON.stringify(this.widgetList));\n window.localStorage.setItem('form__config__backup', JSON.stringify(this.formConfig));\n },\n\n loadFormContentFromStorage() {\n const widgetListBackup = ''; //window.localStorage.getItem('widget__list__backup');\n if (!!widgetListBackup) {\n this.widgetList = JSON.parse(widgetListBackup);\n }\n\n const formConfigBackup = ''; //window.localStorage.getItem('form__config__backup');\n if (!!formConfigBackup) {\n //this.formConfig = JSON.parse(formConfigBackup)\n overwriteObj(\n this.formConfig,\n JSON.parse(formConfigBackup)\n ); /* 用=赋值,会导致inject依赖注入的formConfig属性变成非响应式 */\n }\n }\n };\n}\n"],"names":["createDesigner","vueInstance","defaultFormConfig","deepClone","getDefaultFormConfig","resetFormJson","skipHistoryChange","emptyWidgetListFlag","overwriteObj","preCssCode","newType","formJson","modifiedFlag","selected","selectedWidget","newName","newLabel","evt","wgCategory","wgType","widget","rowIdx","newRow","generateId","col","colIdx","row","newCol","insertPos","cloneRowIdx","curCol","aboveFlag","newRowIdx","tmpRowIdx","rowFoundFlag","colNo","cellOfNextRow","rowArray","unMergedCell","startRowIndex","i","newRowspan","curRow","leftFlag","newColIdx","tmpColIdx","colFoundFlag","rowNo","cellOfNextCol","colArray","startColIndex","newColspan","rowspan","j","colspan","cellWidget","mergedColIdx","remainedColIdx","rowIndex","colIndex","startRowspan","unmatchedFlag","widgetListCols","colItem","mergedRowIdx","remainedRowIdx","startColspan","rowItem","tempCell","firstCellOfCol","onlyOneColFlag","ri","rItem","onlyOneRowFlag","ci","typeName","allWidgets","containers","basicFields","advancedFields","customFields","foundCon","con","foundWidget","configName","originalWidget","oldWidget","newWidget","ck","oldFormConfig","fc","parentWidget","newGridCol","tmpId","containWidget","newGrid","gridCol","newTable","tRow","parentList","indexOfParentList","tempWidget","origin","tempId","newCon","newCell","newTabPane","container","activeTab","tabPane","gridWidget","cols","spanSum","tabsWidget","tabPanes","tpIdx","evtName","evtData","eventBus","callback","data","cssClassList","formWidget"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"designer.js","sources":["../../../../src/components/form-designer/designer.js"],"sourcesContent":["import { deepClone, generateId, getDefaultFormConfig, overwriteObj, fmtArray } from '@/utils/util';\nimport {\n containers,\n advancedFields,\n basicFields,\n customFields\n} from '@/components/form-designer/widget-panel/widgetsConfig.js';\nimport eventBus from '@/utils/event-bus';\nexport function createDesigner(vueInstance) {\n const defaultFormConfig = deepClone(getDefaultFormConfig());\n\n return {\n widgetList: [],\n formConfig: { cssCode: '' },\n\n selectedId: null,\n selectedWidget: null,\n selectedWidgetName: null, //选中组件名称(唯一)\n vueInstance: vueInstance,\n\n formWidget: null, //表单设计容器\n\n cssClassList: [], //自定义样式列表\n\n historyData: {\n index: -1, //index: 0,\n maxStep: 20,\n steps: []\n },\n\n initDesigner(resetFormJson) {\n this.widgetList = [];\n this.formConfig = deepClone(defaultFormConfig);\n\n if (!resetFormJson) {\n this.initHistoryData();\n }\n },\n\n clearDesigner(skipHistoryChange) {\n const emptyWidgetListFlag = this.widgetList.length === 0;\n this.widgetList = [];\n this.selectedId = null;\n this.selectedWidgetName = null;\n this.selectedWidget = {}; //this.selectedWidget = null\n overwriteObj(this.formConfig, defaultFormConfig); //\n\n if (!!skipHistoryChange) {\n //什么也不做!!\n } else if (!emptyWidgetListFlag) {\n this.emitHistoryChange();\n } else {\n this.saveCurrentHistoryStep();\n }\n },\n\n loadPresetCssCode(preCssCode) {\n if (this.formConfig.cssCode === '' && !!preCssCode) {\n this.formConfig.cssCode = preCssCode;\n }\n },\n\n getLayoutType() {\n return this.formConfig.layoutType || 'PC';\n },\n\n changeLayoutType(newType) {\n this.formConfig.layoutType = newType;\n },\n\n getImportTemplate() {\n return {\n widgetList: [],\n //formConfig: deepClone(this.formConfig)\n formConfig: deepClone(defaultFormConfig)\n };\n },\n\n loadFormJson(formJson) {\n let modifiedFlag = false;\n\n if (!!formJson && !!formJson.widgetList) {\n // const widgetList = fmtArray(formJson.widgetList);\n this.widgetList = formJson.widgetList;\n modifiedFlag = true;\n }\n if (!!formJson && !!formJson.formConfig) {\n //this.formConfig = importObj.formConfig\n //TODO\n overwriteObj(\n this.formConfig,\n formJson.formConfig\n ); /* 用=赋值,会导致inject依赖注入的formConfig属性变成非响应式 */\n modifiedFlag = true;\n }\n\n if (modifiedFlag) {\n this.emitEvent('form-json-imported', []); // 通知其他组件\n }\n\n return modifiedFlag;\n },\n\n setSelected(selected) {\n if (!selected) {\n this.clearSelected();\n return;\n }\n\n this.selectedWidget = selected;\n if (!!selected.id) {\n this.selectedId = selected.id;\n this.selectedWidgetName = selected.options.name;\n }\n },\n\n updateSelectedWidgetNameAndLabel(selectedWidget, newName, newLabel) {\n this.selectedWidgetName = newName;\n if (!!newLabel && Object.keys(selectedWidget.options).indexOf('label') > -1) {\n selectedWidget.options.label = newLabel;\n }\n },\n\n clearSelected() {\n this.selectedId = null;\n this.selectedWidgetName = null;\n this.selectedWidget = {}; //this.selectedWidget = null\n },\n\n checkWidgetMove(evt) {\n /* Only field widget can be dragged into sub-form */\n if (!!evt.draggedContext && !!evt.draggedContext.element) {\n const wgCategory = evt.draggedContext.element.category;\n const wgType = evt.draggedContext.element.type + '';\n\n if (!!evt.to) {\n /* 单行子表单只允许拖入非容器组件!! */\n if (evt.to.className === 'sub-form-table' && wgCategory === 'container') {\n //this.$message.info(this.vueInstance.i18nt('designer.hint.onlyFieldWidgetAcceptable'))\n return false;\n }\n\n /* 多行子表单只允许拖入栅格组件!! */\n if (evt.to.className === 'grid-sub-form' && wgType !== 'grid') {\n return false;\n }\n\n /* 弹窗不允许多层嵌套,弹窗也不允许和抽屉相互嵌套 */\n if (\n evt.to.className === 'vf-dialog-drop-zone' &&\n (wgType === 'vf-dialog' || wgType === 'vf-drawer')\n ) {\n return false;\n }\n\n /* 抽屉不允许多层嵌套,抽屉也不允许和弹窗相互嵌套 */\n if (\n evt.to.className === 'vf-drawer-drop-zone' &&\n (wgType === 'vf-dialog' || wgType === 'vf-drawer')\n ) {\n return false;\n }\n\n /* 弹窗、抽屉只允许拖入设计器画布第一层!! */\n if (\n evt.to.className !== 'form-widget-canvas' &&\n (wgType === 'vf-dialog' || wgType === 'vf-drawer')\n ) {\n return false;\n }\n }\n }\n\n return true;\n },\n\n checkFieldMove(evt) {\n if (!!evt.draggedContext && !!evt.draggedContext.element) {\n const wgCategory = evt.draggedContext.element.category;\n const wgType = evt.draggedContext.element.type + '';\n if (!!evt.to) {\n /* 插槽不允许被拖入单行子表单、多行容器 */\n if (\n (evt.to.className === 'sub-form-table' ||\n evt.to.className === 'grid-sub-form') &&\n wgType === 'slot'\n ) {\n //this.$message.info(this.vueInstance.i18nt('designer.hint.onlyFieldWidgetAcceptable'))\n return false;\n }\n\n /* 行子表单只允许拖入栅格组件!! */\n if (evt.to.className === 'grid-sub-form' && wgType !== 'grid') {\n return false;\n }\n }\n }\n\n return true;\n },\n\n /**\n * 追加表格新行\n * @param widget\n */\n appendTableRow(widget) {\n const rowIdx = widget.rows.length; //确定插入行位置\n const newRow = deepClone(widget.rows[widget.rows.length - 1]);\n newRow.id = 'table-row-' + generateId();\n newRow.merged = false;\n newRow.cols.forEach(col => {\n col.id = 'table-cell-' + generateId();\n col.options.name = col.id;\n col.merged = false;\n col.options.colspan = 1;\n col.options.rowspan = 1;\n col.widgetList.length = 0;\n });\n widget.rows.splice(rowIdx, 0, newRow);\n\n this.emitHistoryChange();\n },\n\n /**\n * 追加表格新列\n * @param widget\n */\n appendTableCol(widget) {\n const colIdx = widget.rows[0].cols.length; //确定插入列位置\n widget.rows.forEach(row => {\n const newCol = deepClone(this.getContainerByType('table-cell'));\n newCol.id = 'table-cell-' + generateId();\n newCol.options.name = newCol.id;\n newCol.merged = false;\n newCol.options.colspan = 1;\n newCol.options.rowspan = 1;\n newCol.widgetList.length = 0;\n row.cols.splice(colIdx, 0, newCol);\n });\n\n this.emitHistoryChange();\n },\n\n insertTableRow(widget, insertPos, cloneRowIdx, curCol, aboveFlag) {\n let newRowIdx = !!aboveFlag ? insertPos : insertPos + 1; //初步确定插入行位置\n if (!aboveFlag) {\n //继续向下寻找同列第一个未被合并的单元格\n let tmpRowIdx = newRowIdx;\n let rowFoundFlag = false;\n while (tmpRowIdx < widget.rows.length) {\n if (!widget.rows[tmpRowIdx].cols[curCol].merged) {\n newRowIdx = tmpRowIdx;\n rowFoundFlag = true;\n break;\n } else {\n tmpRowIdx++;\n }\n }\n\n if (!rowFoundFlag) {\n newRowIdx = widget.rows.length;\n }\n }\n\n const newRow = deepClone(widget.rows[cloneRowIdx]);\n newRow.id = 'table-row-' + generateId();\n newRow.merged = false;\n newRow.cols.forEach(col => {\n col.id = 'table-cell-' + generateId();\n col.options.name = col.id;\n col.merged = false;\n col.options.colspan = 1;\n col.options.rowspan = 1;\n col.widgetList.length = 0;\n });\n widget.rows.splice(newRowIdx, 0, newRow);\n\n let colNo = 0;\n while (newRowIdx < widget.rows.length - 1 && colNo < widget.rows[0].cols.length) {\n //越界判断\n const cellOfNextRow = widget.rows[newRowIdx + 1].cols[colNo];\n const rowMerged = cellOfNextRow.merged; //确定插入位置下一行的单元格是否为合并单元格\n if (!!rowMerged) {\n const rowArray = widget.rows;\n let unMergedCell = {};\n let startRowIndex = null;\n for (let i = newRowIdx; i >= 0; i--) {\n //查找该行已合并的主单元格\n if (\n !rowArray[i].cols[colNo].merged &&\n rowArray[i].cols[colNo].options.rowspan > 1\n ) {\n startRowIndex = i;\n unMergedCell = rowArray[i].cols[colNo];\n break;\n }\n }\n\n if (!!unMergedCell.options) {\n //如果有符合条件的unMergedCell\n const newRowspan = unMergedCell.options.rowspan + 1;\n this.setPropsOfMergedRows(\n widget.rows,\n startRowIndex,\n colNo,\n unMergedCell.options.colspan,\n newRowspan\n );\n colNo += unMergedCell.options.colspan;\n } else {\n colNo += 1;\n }\n } else {\n //colNo += 1\n colNo += cellOfNextRow.options.colspan || 1;\n }\n }\n\n this.emitHistoryChange();\n },\n\n insertTableCol(widget, insertPos, curRow, leftFlag) {\n let newColIdx = !!leftFlag ? insertPos : insertPos + 1; //初步确定插入列位置\n if (!leftFlag) {\n //继续向右寻找同行第一个未被合并的单元格\n let tmpColIdx = newColIdx;\n let colFoundFlag = false;\n while (tmpColIdx < widget.rows[curRow].cols.length) {\n if (!widget.rows[curRow].cols[tmpColIdx].merged) {\n newColIdx = tmpColIdx;\n colFoundFlag = true;\n break;\n } else {\n tmpColIdx++;\n }\n\n if (!colFoundFlag) {\n newColIdx = widget.rows[curRow].cols.length;\n }\n }\n }\n\n widget.rows.forEach(row => {\n const newCol = deepClone(this.getContainerByType('table-cell'));\n newCol.id = 'table-cell-' + generateId();\n newCol.options.name = newCol.id;\n newCol.merged = false;\n newCol.options.colspan = 1;\n newCol.options.rowspan = 1;\n newCol.widgetList.length = 0;\n row.cols.splice(newColIdx, 0, newCol);\n });\n\n let rowNo = 0;\n while (newColIdx < widget.rows[0].cols.length - 1 && rowNo < widget.rows.length) {\n //越界判断\n const cellOfNextCol = widget.rows[rowNo].cols[newColIdx + 1];\n const colMerged = cellOfNextCol.merged; //确定插入位置右侧列的单元格是否为合并单元格\n if (!!colMerged) {\n const colArray = widget.rows[rowNo].cols;\n let unMergedCell = {};\n let startColIndex = null;\n for (let i = newColIdx; i >= 0; i--) {\n //查找该行已合并的主单元格\n if (!colArray[i].merged && colArray[i].options.colspan > 1) {\n startColIndex = i;\n unMergedCell = colArray[i];\n break;\n }\n }\n\n if (!!unMergedCell.options) {\n //如果有符合条件的unMergedCell\n const newColspan = unMergedCell.options.colspan + 1;\n this.setPropsOfMergedCols(\n widget.rows,\n rowNo,\n startColIndex,\n newColspan,\n unMergedCell.options.rowspan\n );\n rowNo += unMergedCell.options.rowspan;\n } else {\n rowNo += 1;\n }\n } else {\n //rowNo += 1\n rowNo += cellOfNextCol.options.rowspan || 1;\n }\n }\n\n this.emitHistoryChange();\n },\n\n setPropsOfMergedCols(rowArray, startRowIndex, startColIndex, newColspan, rowspan) {\n for (let i = startRowIndex; i < startRowIndex + rowspan; i++) {\n for (let j = startColIndex; j < startColIndex + newColspan; j++) {\n if (i === startRowIndex && j === startColIndex) {\n rowArray[i].cols[j].options.colspan = newColspan; //合并后的主单元格\n continue;\n }\n\n rowArray[i].cols[j].merged = true;\n rowArray[i].cols[j].options.colspan = newColspan;\n rowArray[i].cols[j].widgetList = [];\n }\n }\n },\n\n setPropsOfMergedRows(rowArray, startRowIndex, startColIndex, colspan, newRowspan) {\n for (let i = startRowIndex; i < startRowIndex + newRowspan; i++) {\n for (let j = startColIndex; j < startColIndex + colspan; j++) {\n if (i === startRowIndex && j === startColIndex) {\n rowArray[i].cols[j].options.rowspan = newRowspan;\n continue;\n }\n\n rowArray[i].cols[j].merged = true;\n rowArray[i].cols[j].options.rowspan = newRowspan;\n rowArray[i].cols[j].widgetList = [];\n }\n }\n },\n\n setPropsOfSplitCol(rowArray, startRowIndex, startColIndex, colspan, rowspan) {\n for (let i = startRowIndex; i < startRowIndex + rowspan; i++) {\n for (let j = startColIndex; j < startColIndex + colspan; j++) {\n rowArray[i].cols[j].merged = false;\n rowArray[i].cols[j].options.rowspan = 1;\n rowArray[i].cols[j].options.colspan = 1;\n }\n }\n },\n\n setPropsOfSplitRow(rowArray, startRowIndex, startColIndex, colspan, rowspan) {\n for (let i = startRowIndex; i < startRowIndex + rowspan; i++) {\n for (let j = startColIndex; j < startColIndex + colspan; j++) {\n rowArray[i].cols[j].merged = false;\n rowArray[i].cols[j].options.rowspan = 1;\n rowArray[i].cols[j].options.colspan = 1;\n }\n }\n },\n\n mergeTableCol(rowArray, colArray, curRow, curCol, leftFlag, cellWidget) {\n const mergedColIdx = !!leftFlag ? curCol : curCol + colArray[curCol].options.colspan;\n\n // let remainedColIdx = !!leftFlag ? curCol - colArray[curCol - 1].options.colspan : curCol\n let remainedColIdx = !!leftFlag ? curCol - 1 : curCol;\n if (!!leftFlag) {\n //继续向左寻找同行未被合并的第一个单元格\n let tmpColIdx = remainedColIdx;\n while (tmpColIdx >= 0) {\n if (!rowArray[curRow].cols[tmpColIdx].merged) {\n remainedColIdx = tmpColIdx;\n break;\n } else {\n tmpColIdx--;\n }\n }\n }\n\n if (\n !!colArray[mergedColIdx].widgetList &&\n colArray[mergedColIdx].widgetList.length > 0\n ) {\n //保留widgetList\n if (\n !colArray[remainedColIdx].widgetList ||\n colArray[remainedColIdx].widgetList.length === 0\n ) {\n colArray[remainedColIdx].widgetList = deepClone(\n colArray[mergedColIdx].widgetList\n );\n }\n }\n\n const newColspan =\n colArray[mergedColIdx].options.colspan * 1 +\n colArray[remainedColIdx].options.colspan * 1;\n this.setPropsOfMergedCols(\n rowArray,\n curRow,\n remainedColIdx,\n newColspan,\n cellWidget.options.rowspan\n );\n\n this.emitHistoryChange();\n },\n\n mergeTableWholeRow(rowArray, colArray, rowIndex, colIndex) {\n //需要考虑操作的行存在已合并的单元格!!\n //整行所有单元格行高不一致不可合并!!\n const startRowspan = rowArray[rowIndex].cols[0].options.rowspan;\n let unmatchedFlag = false;\n for (let i = 1; i < rowArray[rowIndex].cols.length; i++) {\n if (rowArray[rowIndex].cols[i].options.rowspan !== startRowspan) {\n unmatchedFlag = true;\n break;\n }\n }\n if (unmatchedFlag) {\n this.vueInstance.$message.info(\n this.vueInstance.i18nt('designer.hint.rowspanNotConsistentForMergeEntireRow')\n );\n return;\n }\n\n const widgetListCols = colArray.filter(colItem => {\n return !colItem.merged && !!colItem.widgetList && colItem.widgetList.length > 0;\n });\n if (!!widgetListCols && widgetListCols.length > 0) {\n //保留widgetList\n if (\n widgetListCols[0].id !== colArray[0].id &&\n (!colArray[0].widgetList || colArray[0].widgetList.length <= 0)\n ) {\n colArray[0].widgetList = deepClone(widgetListCols[0].widgetList);\n }\n }\n\n this.setPropsOfMergedCols(\n rowArray,\n rowIndex,\n 0,\n colArray.length,\n colArray[colIndex].options.rowspan\n );\n\n this.emitHistoryChange();\n },\n\n mergeTableRow(rowArray, curRow, curCol, aboveFlag, cellWidget) {\n const mergedRowIdx = !!aboveFlag ? curRow : curRow + cellWidget.options.rowspan;\n\n //let remainedRowIdx = !!aboveFlag ? curRow - cellWidget.options.rowspan : curRow\n let remainedRowIdx = !!aboveFlag ? curRow - 1 : curRow;\n if (!!aboveFlag) {\n //继续向上寻找同列未被合并的第一个单元格\n let tmpRowIdx = remainedRowIdx;\n while (tmpRowIdx >= 0) {\n if (!rowArray[tmpRowIdx].cols[curCol].merged) {\n remainedRowIdx = tmpRowIdx;\n break;\n } else {\n tmpRowIdx--;\n }\n }\n }\n\n if (\n !!rowArray[mergedRowIdx].cols[curCol].widgetList &&\n rowArray[mergedRowIdx].cols[curCol].widgetList.length > 0\n ) {\n //保留widgetList\n if (\n !rowArray[remainedRowIdx].cols[curCol].widgetList ||\n rowArray[remainedRowIdx].cols[curCol].widgetList.length === 0\n ) {\n rowArray[remainedRowIdx].cols[curCol].widgetList = deepClone(\n rowArray[mergedRowIdx].cols[curCol].widgetList\n );\n }\n }\n\n const newRowspan =\n rowArray[mergedRowIdx].cols[curCol].options.rowspan * 1 +\n rowArray[remainedRowIdx].cols[curCol].options.rowspan * 1;\n this.setPropsOfMergedRows(\n rowArray,\n remainedRowIdx,\n curCol,\n cellWidget.options.colspan,\n newRowspan\n );\n\n this.emitHistoryChange();\n },\n\n mergeTableWholeCol(rowArray, colArray, rowIndex, colIndex) {\n //需要考虑操作的列存在已合并的单元格!!\n //整列所有单元格列宽不一致不可合并!!\n const startColspan = rowArray[0].cols[colIndex].options.colspan;\n let unmatchedFlag = false;\n for (let i = 1; i < rowArray.length; i++) {\n if (rowArray[i].cols[colIndex].options.colspan !== startColspan) {\n unmatchedFlag = true;\n break;\n }\n }\n if (unmatchedFlag) {\n this.vueInstance.$message.info(\n this.vueInstance.i18nt('designer.hint.colspanNotConsistentForMergeEntireColumn')\n );\n return;\n }\n\n const widgetListCols = [];\n rowArray.forEach(rowItem => {\n const tempCell = rowItem.cols[colIndex];\n if (!tempCell.merged && !!tempCell.widgetList && tempCell.widgetList.length > 0) {\n widgetListCols.push(tempCell);\n }\n });\n\n const firstCellOfCol = rowArray[0].cols[colIndex];\n if (!!widgetListCols && widgetListCols.length > 0) {\n //保留widgetList\n if (\n widgetListCols[0].id !== firstCellOfCol.id &&\n (!firstCellOfCol.widgetList || firstCellOfCol.widgetList.length <= 0)\n ) {\n firstCellOfCol.widgetList = deepClone(widgetListCols[0].widgetList);\n }\n }\n\n this.setPropsOfMergedRows(\n rowArray,\n 0,\n colIndex,\n firstCellOfCol.options.colspan,\n rowArray.length\n );\n\n this.emitHistoryChange();\n },\n\n undoMergeTableCol(rowArray, rowIndex, colIndex, colspan, rowspan) {\n this.setPropsOfSplitCol(rowArray, rowIndex, colIndex, colspan, rowspan);\n\n this.emitHistoryChange();\n },\n\n undoMergeTableRow(rowArray, rowIndex, colIndex, colspan, rowspan) {\n this.setPropsOfSplitRow(rowArray, rowIndex, colIndex, colspan, rowspan);\n\n this.emitHistoryChange();\n },\n\n deleteTableWholeCol(rowArray, colIndex) {\n //需考虑删除的是合并列!!\n let onlyOneColFlag = true;\n rowArray.forEach(ri => {\n if (ri.cols[0].options.colspan !== rowArray[0].cols.length) {\n onlyOneColFlag = false;\n }\n });\n //仅剩一列则不可删除!!\n if (onlyOneColFlag) {\n this.vueInstance.$message.info(\n this.vueInstance.i18nt('designer.hint.lastColCannotBeDeleted')\n );\n return;\n }\n\n //整列所有单元格列宽不一致不可删除!!\n const startColspan = rowArray[0].cols[colIndex].options.colspan;\n let unmatchedFlag = false;\n for (let i = 1; i < rowArray.length; i++) {\n if (rowArray[i].cols[colIndex].options.colspan !== startColspan) {\n unmatchedFlag = true;\n break;\n }\n }\n if (unmatchedFlag) {\n this.vueInstance.$message.info(\n this.vueInstance.i18nt(\n 'designer.hint.colspanNotConsistentForDeleteEntireColumn'\n )\n );\n return;\n }\n\n rowArray.forEach(rItem => {\n rItem.cols.splice(colIndex, startColspan);\n });\n\n this.emitHistoryChange();\n },\n\n deleteTableWholeRow(rowArray, rowIndex) {\n //需考虑删除的是合并行!!\n let onlyOneRowFlag = true;\n rowArray[0].cols.forEach(ci => {\n if (ci.options.rowspan !== rowArray.length) {\n onlyOneRowFlag = false;\n }\n });\n //仅剩一行则不可删除!!\n if (onlyOneRowFlag) {\n this.vueInstance.$message.info(\n this.vueInstance.i18nt('designer.hint.lastRowCannotBeDeleted')\n );\n return;\n }\n\n //整行所有单元格行高不一致不可删除!!\n const startRowspan = rowArray[rowIndex].cols[0].options.rowspan;\n let unmatchedFlag = false;\n for (let i = 1; i < rowArray[rowIndex].cols.length; i++) {\n if (rowArray[rowIndex].cols[i].options.rowspan !== startRowspan) {\n unmatchedFlag = true;\n break;\n }\n }\n if (unmatchedFlag) {\n this.vueInstance.$message.info(\n this.vueInstance.i18nt('designer.hint.rowspanNotConsistentForDeleteEntireRow')\n );\n return;\n }\n\n rowArray.splice(rowIndex, startRowspan);\n\n this.emitHistoryChange();\n },\n\n getContainerByType(typeName) {\n const allWidgets = [...containers, ...basicFields, ...advancedFields, ...customFields];\n let foundCon = null;\n allWidgets.forEach(con => {\n if (!!con.category && !!con.type && con.type === typeName) {\n foundCon = con;\n }\n });\n\n return foundCon;\n },\n\n getFieldWidgetByType(typeName) {\n const allWidgets = [...containers, ...basicFields, ...advancedFields, ...customFields];\n let foundWidget = null;\n allWidgets.forEach(widget => {\n if (!!!widget.category && !!widget.type && widget.type === typeName) {\n foundWidget = widget;\n }\n });\n\n return foundWidget;\n },\n\n hasConfig(widget, configName) {\n let originalWidget = null;\n if (!!widget.category) {\n originalWidget = this.getContainerByType(widget.type);\n } else {\n originalWidget = this.getFieldWidgetByType(widget.type);\n }\n\n if (!originalWidget || !originalWidget.options) {\n return false;\n }\n\n return Object.keys(originalWidget.options).indexOf(configName) > -1;\n },\n\n upgradeWidgetConfig(oldWidget) {\n let newWidget = null;\n if (!!oldWidget.category) {\n newWidget = this.getContainerByType(oldWidget.type);\n } else {\n newWidget = this.getFieldWidgetByType(oldWidget.type);\n }\n\n if (!newWidget || !newWidget.options) {\n return;\n }\n\n Object.keys(newWidget.options).forEach(ck => {\n if (!oldWidget.hasOwnProperty(ck)) {\n oldWidget.options[ck] = deepClone(newWidget.options[ck]);\n }\n });\n },\n\n upgradeFormConfig(oldFormConfig) {\n Object.keys(this.formConfig).forEach(fc => {\n if (!oldFormConfig.hasOwnProperty(fc)) {\n oldFormConfig[fc] = deepClone(this.formConfig[fc]);\n }\n });\n },\n\n cloneGridCol(widget, parentWidget) {\n const newGridCol = deepClone(this.getContainerByType('grid-col'));\n newGridCol.options.span = widget.options.span;\n const tmpId = generateId();\n newGridCol.id = 'grid-col-' + tmpId;\n newGridCol.options.name = 'gridCol' + tmpId;\n\n parentWidget.cols.push(newGridCol);\n },\n\n cloneContainer(containWidget) {\n if (containWidget.type === 'grid') {\n const newGrid = deepClone(this.getContainerByType('grid'));\n newGrid.id = newGrid.type + generateId();\n newGrid.options.name = newGrid.id;\n containWidget.cols.forEach(gridCol => {\n const newGridCol = deepClone(this.getContainerByType('grid-col'));\n const tmpId = generateId();\n newGridCol.id = 'grid-col-' + tmpId;\n newGridCol.options.name = 'gridCol' + tmpId;\n newGridCol.options.span = gridCol.options.span;\n newGrid.cols.push(newGridCol);\n });\n\n return newGrid;\n } else if (containWidget.type === 'table') {\n const newTable = deepClone(this.getContainerByType('table'));\n newTable.id = newTable.type + generateId();\n newTable.options.name = newTable.id;\n containWidget.rows.forEach(tRow => {\n const newRow = deepClone(tRow);\n newRow.id = 'table-row-' + generateId();\n newRow.cols.forEach(col => {\n col.id = 'table-cell-' + generateId();\n col.options.name = col.id;\n col.widgetList = []; //清空组件列表\n });\n newTable.rows.push(newRow);\n });\n\n return newTable;\n } else {\n //其他容器组件不支持clone操作\n return null;\n }\n },\n\n moveUpWidget(parentList, indexOfParentList) {\n if (!!parentList) {\n if (indexOfParentList === 0) {\n this.vueInstance.$message(\n this.vueInstance.i18nt('designer.hint.moveUpFirstChildHint')\n );\n return;\n }\n\n const tempWidget = parentList[indexOfParentList];\n parentList.splice(indexOfParentList, 1);\n parentList.splice(indexOfParentList - 1, 0, tempWidget);\n }\n },\n\n moveDownWidget(parentList, indexOfParentList) {\n if (!!parentList) {\n if (indexOfParentList === parentList.length - 1) {\n this.vueInstance.$message(\n this.vueInstance.i18nt('designer.hint.moveDownLastChildHint')\n );\n return;\n }\n\n const tempWidget = parentList[indexOfParentList];\n parentList.splice(indexOfParentList, 1);\n parentList.splice(indexOfParentList + 1, 0, tempWidget);\n }\n },\n\n copyNewFieldWidget(origin) {\n const newWidget = deepClone(origin);\n const tempId = generateId();\n newWidget.id = newWidget.type.replace(/-/g, '') + tempId;\n //console.log('test id===', newWidget.id)\n newWidget.options.name = newWidget.id;\n newWidget.options.label = newWidget.options.label || newWidget.type.toLowerCase();\n\n delete newWidget.displayName;\n return newWidget;\n },\n\n copyNewContainerWidget(origin) {\n const newCon = deepClone(origin);\n newCon.id = newCon.type.replace(/-/g, '') + generateId();\n newCon.options.name = newCon.id;\n if (newCon.type === 'grid') {\n let newCol = deepClone(this.getContainerByType('grid-col'));\n let tmpId = generateId();\n newCol.id = 'grid-col-' + tmpId;\n newCol.options.name = 'gridCol' + tmpId;\n newCon.cols.push(newCol);\n //\n newCol = deepClone(newCol);\n tmpId = generateId();\n newCol.id = 'grid-col-' + tmpId;\n newCol.options.name = 'gridCol' + tmpId;\n newCon.cols.push(newCol);\n } else if (newCon.type === 'table') {\n const newRow = { cols: [] };\n newRow.id = 'table-row-' + generateId();\n newRow.merged = false;\n const newCell = deepClone(this.getContainerByType('table-cell'));\n newCell.id = 'table-cell-' + generateId();\n newCell.options.name = newCell.id;\n newCell.merged = false;\n newCell.options.colspan = 1;\n newCell.options.rowspan = 1;\n newRow.cols.push(newCell);\n newCon.rows.push(newRow);\n } else if (newCon.type === 'tab') {\n const newTabPane = deepClone(this.getContainerByType('tab-pane'));\n newTabPane.id = 'tab-pane-' + generateId();\n newTabPane.options.name = 'tab1';\n newTabPane.options.label = 'tab 1';\n newCon.tabs.push(newTabPane);\n }\n //newCon.options.customClass = []\n\n delete newCon.displayName;\n return newCon;\n },\n\n addContainerByDbClick(container) {\n const newCon = this.copyNewContainerWidget(container);\n this.widgetList.push(newCon);\n this.setSelected(newCon);\n },\n\n addFieldByDbClick(widget) {\n const newWidget = this.copyNewFieldWidget(widget);\n if (!!this.selectedWidget && this.selectedWidget.type === 'tab') {\n //获取当前激活的tabPane\n let activeTab = this.selectedWidget.tabs[0];\n this.selectedWidget.tabs.forEach(tabPane => {\n if (!!tabPane.options.active) {\n activeTab = tabPane;\n }\n });\n\n !!activeTab && activeTab.widgetList.push(newWidget);\n } else if (!!this.selectedWidget && !!this.selectedWidget.widgetList) {\n this.selectedWidget.widgetList.push(newWidget);\n } else {\n this.widgetList.push(newWidget);\n }\n\n this.setSelected(newWidget);\n this.emitHistoryChange();\n },\n\n deleteColOfGrid(gridWidget, colIdx) {\n if (!!gridWidget && !!gridWidget.cols) {\n gridWidget.cols.splice(colIdx, 1);\n }\n },\n\n addNewColOfGrid(gridWidget) {\n const cols = gridWidget.cols;\n const newGridCol = deepClone(this.getContainerByType('grid-col'));\n const tmpId = generateId();\n newGridCol.id = 'grid-col-' + tmpId;\n newGridCol.options.name = 'gridCol' + tmpId;\n if (!!cols && cols.length > 0) {\n let spanSum = 0;\n cols.forEach(col => {\n spanSum += col.options.span;\n });\n\n if (spanSum >= 24) {\n //this.$message.info('列栅格之和超出24')\n console.log('列栅格之和超出24');\n gridWidget.cols.push(newGridCol);\n } else {\n newGridCol.options.span = 24 - spanSum > 12 ? 12 : 24 - spanSum;\n gridWidget.cols.push(newGridCol);\n }\n } else {\n gridWidget.cols = [newGridCol];\n }\n },\n\n addTabPaneOfTabs(tabsWidget) {\n const tabPanes = tabsWidget.tabs;\n const newTabPane = deepClone(this.getContainerByType('tab-pane'));\n newTabPane.id = 'tab-pane-' + generateId();\n newTabPane.options.name = newTabPane.id;\n newTabPane.options.label = 'tab ' + (tabPanes.length + 1);\n tabPanes.push(newTabPane);\n },\n\n deleteTabPaneOfTabs(tabsWidget, tpIdx) {\n tabsWidget.tabs.splice(tpIdx, 1);\n },\n\n emitEvent(evtName, evtData) {\n //用于兄弟组件发射事件\n eventBus.$emit(evtName, evtData);\n },\n\n handleEvent(evtName, callback) {\n //用于兄弟组件接收事件\n eventBus.$on(evtName, data => callback(data));\n },\n\n setCssClassList(cssClassList) {\n this.cssClassList = cssClassList;\n },\n\n getCssClassList() {\n return this.cssClassList;\n },\n\n registerFormWidget(formWidget) {\n this.formWidget = formWidget;\n },\n\n initHistoryData() {\n this.loadFormContentFromStorage();\n this.historyData.index++;\n this.historyData.steps[this.historyData.index] = {\n widgetList: deepClone(this.widgetList),\n formConfig: deepClone(this.formConfig)\n };\n },\n\n emitHistoryChange() {\n if (this.historyData.index === this.historyData.maxStep - 1) {\n this.historyData.steps.shift();\n } else {\n this.historyData.index++;\n }\n\n this.historyData.steps[this.historyData.index] = {\n widgetList: deepClone(this.widgetList),\n formConfig: deepClone(this.formConfig)\n };\n\n this.saveFormContentToStorage();\n\n if (this.historyData.index < this.historyData.steps.length - 1) {\n this.historyData.steps = this.historyData.steps.slice(\n 0,\n this.historyData.index + 1\n );\n }\n },\n\n saveCurrentHistoryStep() {\n this.historyData.steps[this.historyData.index] = deepClone({\n widgetList: this.widgetList,\n formConfig: this.formConfig\n });\n\n this.saveFormContentToStorage();\n },\n\n undoHistoryStep() {\n if (this.historyData.index !== 0) {\n this.historyData.index--;\n }\n\n this.widgetList = deepClone(this.historyData.steps[this.historyData.index].widgetList);\n this.formConfig = deepClone(this.historyData.steps[this.historyData.index].formConfig);\n },\n\n redoHistoryStep() {\n if (this.historyData.index !== this.historyData.steps.length - 1) {\n this.historyData.index++;\n }\n\n this.widgetList = deepClone(this.historyData.steps[this.historyData.index].widgetList);\n this.formConfig = deepClone(this.historyData.steps[this.historyData.index].formConfig);\n },\n\n undoEnabled() {\n return this.historyData.index > 0 && this.historyData.steps.length > 0;\n },\n\n redoEnabled() {\n return this.historyData.index < this.historyData.steps.length - 1;\n },\n\n saveFormContentToStorage() {\n window.localStorage.setItem('widget__list__backup', JSON.stringify(this.widgetList));\n window.localStorage.setItem('form__config__backup', JSON.stringify(this.formConfig));\n },\n\n loadFormContentFromStorage() {\n const widgetListBackup = ''; //window.localStorage.getItem('widget__list__backup');\n if (!!widgetListBackup) {\n this.widgetList = JSON.parse(widgetListBackup);\n }\n\n const formConfigBackup = ''; //window.localStorage.getItem('form__config__backup');\n if (!!formConfigBackup) {\n //this.formConfig = JSON.parse(formConfigBackup)\n overwriteObj(\n this.formConfig,\n JSON.parse(formConfigBackup)\n ); /* 用=赋值,会导致inject依赖注入的formConfig属性变成非响应式 */\n }\n }\n };\n}\n"],"names":["createDesigner","vueInstance","defaultFormConfig","deepClone","getDefaultFormConfig","resetFormJson","skipHistoryChange","emptyWidgetListFlag","overwriteObj","preCssCode","newType","formJson","modifiedFlag","selected","selectedWidget","newName","newLabel","evt","wgCategory","wgType","widget","rowIdx","newRow","generateId","col","colIdx","row","newCol","insertPos","cloneRowIdx","curCol","aboveFlag","newRowIdx","tmpRowIdx","rowFoundFlag","colNo","cellOfNextRow","rowArray","unMergedCell","startRowIndex","i","newRowspan","curRow","leftFlag","newColIdx","tmpColIdx","colFoundFlag","rowNo","cellOfNextCol","colArray","startColIndex","newColspan","rowspan","j","colspan","cellWidget","mergedColIdx","remainedColIdx","rowIndex","colIndex","startRowspan","unmatchedFlag","widgetListCols","colItem","mergedRowIdx","remainedRowIdx","startColspan","rowItem","tempCell","firstCellOfCol","onlyOneColFlag","ri","rItem","onlyOneRowFlag","ci","typeName","allWidgets","containers","basicFields","advancedFields","customFields","foundCon","con","foundWidget","configName","originalWidget","oldWidget","newWidget","ck","oldFormConfig","fc","parentWidget","newGridCol","tmpId","containWidget","newGrid","gridCol","newTable","tRow","parentList","indexOfParentList","tempWidget","origin","tempId","newCon","newCell","newTabPane","container","activeTab","tabPane","gridWidget","cols","spanSum","tabsWidget","tabPanes","tpIdx","evtName","evtData","eventBus","callback","data","cssClassList","formWidget"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerMixin.js","sources":["../../../../../../src/components/form-designer/form-widget/container-widget/containerMixin.js"],"sourcesContent":["export default {\n inject: ['getFormConfig'],\n computed: {\n formConfig() {\n return this.getFormConfig();\n }\n },\n methods: {\n appendTableRow(widget) {\n this.designer.appendTableRow(widget);\n },\n\n appendTableCol(widget) {\n this.designer.appendTableCol(widget);\n },\n\n onContainerDragAdd(evt, subList) {\n const newIndex = evt.newIndex;\n if (!!subList[newIndex]) {\n this.designer.setSelected(subList[newIndex]);\n }\n\n this.designer.emitHistoryChange();\n this.designer.emitEvent('field-selected', this.widget);\n },\n\n onContainerDragUpdate() {\n this.designer.emitHistoryChange();\n },\n\n /* draggable组件的move钩子是在内部子组件被拖放到其他draggable组件时触发!! */\n checkContainerMove(evt) {\n return this.designer.checkWidgetMove(evt);\n },\n\n selectWidget(widget) {\n this.designer.setSelected(widget);\n },\n\n selectParentWidget() {\n if (this.parentWidget) {\n this.designer.setSelected(this.parentWidget);\n } else {\n this.designer.clearSelected();\n }\n },\n\n moveUpWidget() {\n this.designer.moveUpWidget(this.parentList, this.indexOfParentList);\n this.designer.emitHistoryChange();\n },\n\n moveDownWidget() {\n this.designer.moveDownWidget(this.parentList, this.indexOfParentList);\n this.designer.emitHistoryChange();\n },\n\n cloneContainer(widget) {\n if (!!this.parentList) {\n const newCon = this.designer.cloneContainer(widget);\n this.parentList.splice(this.indexOfParentList + 1, 0, newCon);\n this.designer.setSelected(newCon);\n\n this.designer.emitHistoryChange();\n }\n },\n\n removeWidget() {\n if (!!this.parentList) {\n let nextSelected = null;\n if (this.parentList.length === 1) {\n if (!!this.parentWidget) {\n nextSelected = this.parentWidget;\n }\n } else if (this.parentList.length === 1 + this.indexOfParentList) {\n nextSelected = this.parentList[this.indexOfParentList - 1];\n } else {\n nextSelected = this.parentList[this.indexOfParentList + 1];\n }\n\n this.$nextTick(() => {\n this.parentList.splice(this.indexOfParentList, 1);\n //if (!!nextSelected) {\n this.designer.setSelected(nextSelected);\n //}\n\n this.designer.emitHistoryChange();\n });\n }\n },\n\n setWidgetOption(optionName, optionValue) {\n //通用组件选项修改API\n if (this.widget.options.hasOwnProperty(optionName)) {\n this.widget.options[optionName] = optionValue;\n }\n }\n }\n};\n"],"names":["containerMixin","widget","evt","subList","newIndex","newCon","nextSelected","optionName","optionValue"],"mappings":"AAAA,MAAAA,IAAe;AAAA,EACb,QAAQ,CAAC,eAAe;AAAA,EACxB,UAAU;AAAA,IACR,aAAa;AACX,aAAO,KAAK,cAAa;AAAA,
|
|
1
|
+
{"version":3,"file":"containerMixin.js","sources":["../../../../../../src/components/form-designer/form-widget/container-widget/containerMixin.js"],"sourcesContent":["export default {\n inject: ['getFormConfig'],\n computed: {\n formConfig() {\n return this.getFormConfig();\n }\n },\n methods: {\n appendTableRow(widget) {\n this.designer.appendTableRow(widget);\n },\n\n appendTableCol(widget) {\n this.designer.appendTableCol(widget);\n },\n\n onContainerDragAdd(evt, subList) {\n const newIndex = evt.newIndex;\n if (!!subList[newIndex]) {\n this.designer.setSelected(subList[newIndex]);\n }\n\n this.designer.emitHistoryChange();\n this.designer.emitEvent('field-selected', this.widget);\n },\n\n onContainerDragUpdate() {\n this.designer.emitHistoryChange();\n },\n\n /* draggable组件的move钩子是在内部子组件被拖放到其他draggable组件时触发!! */\n checkContainerMove(evt) {\n return this.designer.checkWidgetMove(evt);\n },\n\n selectWidget(widget) {\n this.designer.setSelected(widget);\n },\n\n selectParentWidget() {\n if (this.parentWidget) {\n this.designer.setSelected(this.parentWidget);\n } else {\n this.designer.clearSelected();\n }\n },\n\n moveUpWidget() {\n this.designer.moveUpWidget(this.parentList, this.indexOfParentList);\n this.designer.emitHistoryChange();\n },\n\n moveDownWidget() {\n this.designer.moveDownWidget(this.parentList, this.indexOfParentList);\n this.designer.emitHistoryChange();\n },\n\n cloneContainer(widget) {\n if (!!this.parentList) {\n const newCon = this.designer.cloneContainer(widget);\n this.parentList.splice(this.indexOfParentList + 1, 0, newCon);\n this.designer.setSelected(newCon);\n\n this.designer.emitHistoryChange();\n }\n },\n\n removeWidget() {\n if (!!this.parentList) {\n let nextSelected = null;\n if (this.parentList.length === 1) {\n if (!!this.parentWidget) {\n nextSelected = this.parentWidget;\n }\n } else if (this.parentList.length === 1 + this.indexOfParentList) {\n nextSelected = this.parentList[this.indexOfParentList - 1];\n } else {\n nextSelected = this.parentList[this.indexOfParentList + 1];\n }\n\n this.$nextTick(() => {\n this.parentList.splice(this.indexOfParentList, 1);\n //if (!!nextSelected) {\n this.designer.setSelected(nextSelected);\n //}\n\n this.designer.emitHistoryChange();\n });\n }\n },\n\n setWidgetOption(optionName, optionValue) {\n //通用组件选项修改API\n if (this.widget.options.hasOwnProperty(optionName)) {\n this.widget.options[optionName] = optionValue;\n }\n }\n }\n};\n"],"names":["containerMixin","widget","evt","subList","newIndex","newCon","nextSelected","optionName","optionValue"],"mappings":"AAAA,MAAAA,IAAe;AAAA,EACb,QAAQ,CAAC,eAAe;AAAA,EACxB,UAAU;AAAA,IACR,aAAa;AACX,aAAO,KAAK,cAAa;AAAA,IAC3B;AAAA,EACJ;AAAA,EACE,SAAS;AAAA,IACP,eAAeC,GAAQ;AACrB,WAAK,SAAS,eAAeA,CAAM;AAAA,IACrC;AAAA,IAEA,eAAeA,GAAQ;AACrB,WAAK,SAAS,eAAeA,CAAM;AAAA,IACrC;AAAA,IAEA,mBAAmBC,GAAKC,GAAS;AAC/B,YAAMC,IAAWF,EAAI;AACrB,MAAMC,EAAQC,CAAQ,KACpB,KAAK,SAAS,YAAYD,EAAQC,CAAQ,CAAC,GAG7C,KAAK,SAAS,kBAAiB,GAC/B,KAAK,SAAS,UAAU,kBAAkB,KAAK,MAAM;AAAA,IACvD;AAAA,IAEA,wBAAwB;AACtB,WAAK,SAAS,kBAAiB;AAAA,IACjC;AAAA;AAAA,IAGA,mBAAmBF,GAAK;AACtB,aAAO,KAAK,SAAS,gBAAgBA,CAAG;AAAA,IAC1C;AAAA,IAEA,aAAaD,GAAQ;AACnB,WAAK,SAAS,YAAYA,CAAM;AAAA,IAClC;AAAA,IAEA,qBAAqB;AACnB,MAAI,KAAK,eACP,KAAK,SAAS,YAAY,KAAK,YAAY,IAE3C,KAAK,SAAS,cAAa;AAAA,IAE/B;AAAA,IAEA,eAAe;AACb,WAAK,SAAS,aAAa,KAAK,YAAY,KAAK,iBAAiB,GAClE,KAAK,SAAS,kBAAiB;AAAA,IACjC;AAAA,IAEA,iBAAiB;AACf,WAAK,SAAS,eAAe,KAAK,YAAY,KAAK,iBAAiB,GACpE,KAAK,SAAS,kBAAiB;AAAA,IACjC;AAAA,IAEA,eAAeA,GAAQ;AACrB,UAAM,KAAK,YAAY;AACrB,cAAMI,IAAS,KAAK,SAAS,eAAeJ,CAAM;AAClD,aAAK,WAAW,OAAO,KAAK,oBAAoB,GAAG,GAAGI,CAAM,GAC5D,KAAK,SAAS,YAAYA,CAAM,GAEhC,KAAK,SAAS,kBAAiB;AAAA,MACjC;AAAA,IACF;AAAA,IAEA,eAAe;AACb,UAAM,KAAK,YAAY;AACrB,YAAIC,IAAe;AACnB,QAAI,KAAK,WAAW,WAAW,IACvB,KAAK,iBACTA,IAAe,KAAK,gBAEb,KAAK,WAAW,WAAW,IAAI,KAAK,oBAC7CA,IAAe,KAAK,WAAW,KAAK,oBAAoB,CAAC,IAEzDA,IAAe,KAAK,WAAW,KAAK,oBAAoB,CAAC,GAG3D,KAAK,UAAU,MAAM;AACnB,eAAK,WAAW,OAAO,KAAK,mBAAmB,CAAC,GAEhD,KAAK,SAAS,YAAYA,CAAY,GAGtC,KAAK,SAAS,kBAAiB;AAAA,QACjC,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IAEA,gBAAgBC,GAAYC,GAAa;AAEvC,MAAI,KAAK,OAAO,QAAQ,eAAeD,CAAU,MAC/C,KAAK,OAAO,QAAQA,CAAU,IAAIC;AAAA,IAEtC;AAAA,EACJ;AACA;"}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
1
|
import h from "./data-table-widget.vue2.js";
|
|
2
|
-
import { resolveComponent as
|
|
2
|
+
import { resolveComponent as n, createBlock as s, openBlock as l, withCtx as i, createElementBlock as u, withModifiers as b, normalizeClass as r, createElementVNode as p, createVNode as m, normalizeStyle as y, createCommentVNode as f } from "vue";
|
|
3
3
|
/* empty css */
|
|
4
|
-
import
|
|
5
|
-
const
|
|
6
|
-
function
|
|
7
|
-
const c =
|
|
4
|
+
import R from "../../../../../_virtual/_plugin-vue_export-helper.js";
|
|
5
|
+
const z = { class: "talbe-wrapper" };
|
|
6
|
+
function S(e, d, t, N, _, a) {
|
|
7
|
+
const c = n("a-empty"), w = n("RenderBodyCell"), g = n("s-table"), C = n("container-wrapper");
|
|
8
8
|
return l(), s(C, {
|
|
9
|
-
designer:
|
|
10
|
-
widget:
|
|
11
|
-
"parent-widget":
|
|
12
|
-
"parent-list":
|
|
13
|
-
"index-of-parent-list":
|
|
9
|
+
designer: t.designer,
|
|
10
|
+
widget: t.widget,
|
|
11
|
+
"parent-widget": t.parentWidget,
|
|
12
|
+
"parent-list": t.parentList,
|
|
13
|
+
"index-of-parent-list": t.indexOfParentList
|
|
14
14
|
}, {
|
|
15
15
|
default: i(() => [
|
|
16
16
|
(l(), u("div", {
|
|
17
|
-
key:
|
|
18
|
-
class: r(["collapse-container data-table-container", { selected:
|
|
19
|
-
onClick: d[0] || (d[0] =
|
|
17
|
+
key: t.widget.id,
|
|
18
|
+
class: r(["collapse-container data-table-container", { selected: a.selected }]),
|
|
19
|
+
onClick: d[0] || (d[0] = b((o) => a.selectWidget(t.widget), ["stop"]))
|
|
20
20
|
}, [
|
|
21
|
-
|
|
21
|
+
p("div", z, [
|
|
22
22
|
m(g, {
|
|
23
23
|
ref: "dataTable2",
|
|
24
24
|
columns: e.columns.columns,
|
|
25
25
|
scroll: { y: e.tableHeight },
|
|
26
26
|
height: e.tableHeight,
|
|
27
|
-
dataSource:
|
|
27
|
+
dataSource: a.data,
|
|
28
28
|
class: r([e.customClass]),
|
|
29
29
|
size: e.widgetSize,
|
|
30
|
-
rowKey: (
|
|
31
|
-
bordered:
|
|
32
|
-
style:
|
|
30
|
+
rowKey: (o) => o[t.widget.options.rowKey],
|
|
31
|
+
bordered: t.widget.options.border,
|
|
32
|
+
style: y({ width: t.widget.options.tableWidth }),
|
|
33
33
|
"row-class-name": e.rowClassName,
|
|
34
34
|
rowSelection: e.handleRowSelection(),
|
|
35
35
|
pagination: e.fmtPagination,
|
|
@@ -43,11 +43,11 @@ function z(e, d, o, N, k, n) {
|
|
|
43
43
|
emptyText: i(() => [
|
|
44
44
|
m(c)
|
|
45
45
|
]),
|
|
46
|
-
bodyCell: i((
|
|
47
|
-
e.isShowBodyCell(
|
|
46
|
+
bodyCell: i((o) => [
|
|
47
|
+
e.isShowBodyCell(o.column.dataIndex) ? (l(), s(w, {
|
|
48
48
|
key: 0,
|
|
49
49
|
bodyCell: e.columns.bodyCell,
|
|
50
|
-
scope:
|
|
50
|
+
scope: o
|
|
51
51
|
}, null, 8, ["bodyCell", "scope"])) : f("", !0)
|
|
52
52
|
]),
|
|
53
53
|
_: 1
|
|
@@ -58,7 +58,7 @@ function z(e, d, o, N, k, n) {
|
|
|
58
58
|
_: 1
|
|
59
59
|
}, 8, ["designer", "widget", "parent-widget", "parent-list", "index-of-parent-list"]);
|
|
60
60
|
}
|
|
61
|
-
const W = /* @__PURE__ */
|
|
61
|
+
const W = /* @__PURE__ */ R(h, [["render", S], ["__scopeId", "data-v-b8e5b467"]]);
|
|
62
62
|
export {
|
|
63
63
|
W as default
|
|
64
64
|
};
|
package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table-widget.vue.js","sources":["../../../../../../src/components/form-designer/form-widget/container-widget/data-table-widget.vue"],"sourcesContent":["<template>\n <container-wrapper\n :designer=\"designer\"\n :widget=\"widget\"\n :parent-widget=\"parentWidget\"\n :parent-list=\"parentList\"\n :index-of-parent-list=\"indexOfParentList\"\n >\n <div\n :key=\"widget.id\"\n class=\"collapse-container data-table-container\"\n :class=\"{ selected: selected }\"\n @click.stop=\"selectWidget(widget)\"\n >\n <div class=\"talbe-wrapper\">\n <
|
|
1
|
+
{"version":3,"file":"data-table-widget.vue.js","sources":["../../../../../../src/components/form-designer/form-widget/container-widget/data-table-widget.vue"],"sourcesContent":["<template>\n <container-wrapper\n :designer=\"designer\"\n :widget=\"widget\"\n :parent-widget=\"parentWidget\"\n :parent-list=\"parentList\"\n :index-of-parent-list=\"indexOfParentList\"\n >\n <div\n :key=\"widget.id\"\n class=\"collapse-container data-table-container\"\n :class=\"{ selected: selected }\"\n @click.stop=\"selectWidget(widget)\"\n >\n <div class=\"talbe-wrapper\">\n <s-table\n ref=\"dataTable2\"\n :columns=\"columns.columns\"\n :scroll=\"{ y: tableHeight }\"\n :height=\"tableHeight\"\n :dataSource=\"data\"\n :class=\"[customClass]\"\n :size=\"widgetSize\"\n :rowKey=\"record => record[widget.options.rowKey]\"\n :bordered=\"widget.options.border\"\n :style=\"{ width: widget.options.tableWidth }\"\n :row-class-name=\"rowClassName\"\n :rowSelection=\"handleRowSelection()\"\n :pagination=\"fmtPagination\"\n :customRow=\"handleCustomRow\"\n :rowClassName=\"rowClassName\"\n @change=\"handleTablePageChange\"\n @resizeColumn=\"handleResizeColumn\"\n :loading=\"loading\"\n :row-height=\"lineHeight\"\n >\n <template #emptyText>\n <a-empty />\n </template>\n <template #bodyCell=\"scope\">\n <template v-if=\"isShowBodyCell(scope.column.dataIndex)\">\n <RenderBodyCell :bodyCell=\"columns.bodyCell\" :scope=\"scope\" />\n </template>\n </template>\n </s-table>\n </div>\n </div>\n </container-wrapper>\n</template>\n\n<script lang=\"jsx\">\n import ContainerWrapper from '@/components/form-designer/form-widget/container-widget/container-wrapper';\n import emitter from '@/utils/emitter';\n import i18n from '@/utils/i18n';\n import FieldComponents from '@/components/form-designer/form-widget/field-widget/index';\n import containerMixin from '@/components/form-designer/form-widget/container-widget/containerMixin';\n import refMixinDesign from '@/components/form-designer/refMixinDesign';\n import useDataTableMixin from '@/mixins/useDataTableMixin';\n\n export default {\n name: 'DataTableWidget',\n componentName: 'DataTableWidget',\n mixins: [i18n, containerMixin, refMixinDesign, emitter, useDataTableMixin],\n inject: ['refList'],\n components: {\n ContainerWrapper,\n ...FieldComponents\n },\n data() {\n return {\n // selectAllFlag: false\n };\n },\n props: {\n widget: Object,\n parentWidget: Object,\n parentList: Array,\n indexOfParentList: Number,\n designer: Object,\n\n subFormRowIndex: {\n /* 子表单组件行索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormColIndex: {\n /* 子表单组件列索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormRowId: {\n /* 子表单组件行Id,唯一id且不可变 */ type: String,\n default: ''\n }\n },\n created() {\n this.initRefList();\n },\n mounted() {\n this.loadDataTableDataSource();\n },\n beforeUnmount() {\n //\n },\n computed: {\n data() {\n return this.widget.options.dataSource;\n },\n selected() {\n return this.widget.id === this.designer.selectedId;\n }\n },\n methods: {\n selectWidget(widget) {\n this.designer.setSelected(widget);\n }\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .collapse-container {\n display: flex;\n // height: 100%;\n // width: 100%;\n // flex: 1 0 0;\n\n .form-widget-list {\n min-height: 28px;\n :deep(.tpf-surely-table) {\n min-height: 280px;\n }\n }\n }\n .talbe-wrapper {\n width: 100%;\n }\n .collapse-container.selected {\n outline: 2px solid var(--ant-primary-color) !important;\n }\n .data-table-container {\n border: 2px dashed #cccccc;\n }\n\n :deep(.ant-table) .table-striped td {\n background-color: #fafafa;\n }\n</style>\n"],"names":["_hoisted_1","_createBlock","_component_container_wrapper","$props","_createElementBlock","_normalizeClass","$options","_cache","_withModifiers","$event","_createElementVNode","_createVNode","_component_s_table","_ctx","record","_normalizeStyle","_component_a_empty","_withCtx","scope","_component_RenderBodyCell"],"mappings":";;;;AAciB,MAAAA,IAAA,EAAA,OAAM,gBAAe;;;cAblCC,EA8CoBC,GAAA;AAAA,IA7Cf,UAAUC,EAAA;AAAA,IACV,QAAQA,EAAA;AAAA,IACR,iBAAeA,EAAA;AAAA,IACf,eAAaA,EAAA;AAAA,IACb,wBAAsBA,EAAA;AAAA;eAEvB,MAsCM;AAAA,YAtCNC,EAsCM,OAAA;AAAA,QArCD,KAAKD,EAAA,OAAO;AAAA,QACb,OAAKE,EAAA,CAAC,2CAAyC,EAAA,UAC3BC,EAAA,SAAQ,CAAA,CAAA;AAAA,QAC3B,SAAKC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAAC,EAAA,CAAAC,MAAOH,EAAA,aAAaH,EAAA,MAAM,GAAA,CAAA,MAAA,CAAA;AAAA;QAEhCO,EA+BM,OA/BNV,GA+BM;AAAA,UA9BFW,EA6BUC,GAAA;AAAA,YA5BN,KAAI;AAAA,YACH,SAASC,EAAA,QAAQ;AAAA,YACjB,aAAaA,EAAA,YAAW;AAAA,YACxB,QAAQA,EAAA;AAAA,YACR,YAAYP,EAAA;AAAA,YACZ,UAAQO,EAAA,WAAW,CAAA;AAAA,YACnB,MAAMA,EAAA;AAAA,YACN,QAAQ,CAAAC,MAAUA,EAAOX,EAAA,OAAO,QAAQ,MAAM;AAAA,YAC9C,UAAUA,EAAA,OAAO,QAAQ;AAAA,YACzB,OAAKY,EAAA,EAAA,OAAWZ,EAAA,OAAO,QAAQ,YAAU;AAAA,YACzC,kBAAgBU,EAAA;AAAA,YAChB,cAAcA,EAAA,mBAAkB;AAAA,YAChC,YAAYA,EAAA;AAAA,YACZ,WAAWA,EAAA;AAAA,YACX,cAAcA,EAAA;AAAA,YACd,UAAQA,EAAA;AAAA,YACR,gBAAcA,EAAA;AAAA,YACd,SAASA,EAAA;AAAA,YACT,cAAYA,EAAA;AAAA;YAEF,aACP,MAAW;AAAA,cAAXF,EAAWK,CAAA;AAAA;YAEJ,UAAQC,EACf,CADiBC,MAAK;AAAA,cACNL,EAAA,eAAeK,EAAM,OAAO,SAAS,UACjDjB,EAA8DkB,GAAA;AAAA;gBAA7C,UAAUN,EAAA,QAAQ;AAAA,gBAAW,OAAOK;AAAA;;;;;;;;;;;"}
|
|
@@ -5,15 +5,12 @@ import o from "../field-widget/index.js";
|
|
|
5
5
|
import a from "./containerMixin.js";
|
|
6
6
|
import n from "../../refMixinDesign.js";
|
|
7
7
|
import m from "../../../../mixins/useDataTableMixin.js";
|
|
8
|
-
|
|
9
|
-
d("45beeffb8943e862ec9cbaa94614552cT1JERVI6MTAwMDc5LEVYUElSWT0xNzQ4MzA0MDAwMDAwLERPTUFJTj1zdXJlbHkuY29vbCxVTFRJTUFURT0xLEtFWVZFUlNJT049MQ==");
|
|
10
|
-
const x = {
|
|
8
|
+
const l = {
|
|
11
9
|
name: "DataTableWidget",
|
|
12
10
|
componentName: "DataTableWidget",
|
|
13
11
|
mixins: [r, a, n, i, m],
|
|
14
12
|
inject: ["refList"],
|
|
15
13
|
components: {
|
|
16
|
-
STable: s,
|
|
17
14
|
ContainerWrapper: t,
|
|
18
15
|
...o
|
|
19
16
|
},
|
|
@@ -67,6 +64,6 @@ const x = {
|
|
|
67
64
|
}
|
|
68
65
|
};
|
|
69
66
|
export {
|
|
70
|
-
|
|
67
|
+
l as default
|
|
71
68
|
};
|
|
72
69
|
//# sourceMappingURL=data-table-widget.vue2.js.map
|
package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-table-widget.vue2.js","sources":["../../../../../../src/components/form-designer/form-widget/container-widget/data-table-widget.vue"],"sourcesContent":["<template>\n <container-wrapper\n :designer=\"designer\"\n :widget=\"widget\"\n :parent-widget=\"parentWidget\"\n :parent-list=\"parentList\"\n :index-of-parent-list=\"indexOfParentList\"\n >\n <div\n :key=\"widget.id\"\n class=\"collapse-container data-table-container\"\n :class=\"{ selected: selected }\"\n @click.stop=\"selectWidget(widget)\"\n >\n <div class=\"talbe-wrapper\">\n <
|
|
1
|
+
{"version":3,"file":"data-table-widget.vue2.js","sources":["../../../../../../src/components/form-designer/form-widget/container-widget/data-table-widget.vue"],"sourcesContent":["<template>\n <container-wrapper\n :designer=\"designer\"\n :widget=\"widget\"\n :parent-widget=\"parentWidget\"\n :parent-list=\"parentList\"\n :index-of-parent-list=\"indexOfParentList\"\n >\n <div\n :key=\"widget.id\"\n class=\"collapse-container data-table-container\"\n :class=\"{ selected: selected }\"\n @click.stop=\"selectWidget(widget)\"\n >\n <div class=\"talbe-wrapper\">\n <s-table\n ref=\"dataTable2\"\n :columns=\"columns.columns\"\n :scroll=\"{ y: tableHeight }\"\n :height=\"tableHeight\"\n :dataSource=\"data\"\n :class=\"[customClass]\"\n :size=\"widgetSize\"\n :rowKey=\"record => record[widget.options.rowKey]\"\n :bordered=\"widget.options.border\"\n :style=\"{ width: widget.options.tableWidth }\"\n :row-class-name=\"rowClassName\"\n :rowSelection=\"handleRowSelection()\"\n :pagination=\"fmtPagination\"\n :customRow=\"handleCustomRow\"\n :rowClassName=\"rowClassName\"\n @change=\"handleTablePageChange\"\n @resizeColumn=\"handleResizeColumn\"\n :loading=\"loading\"\n :row-height=\"lineHeight\"\n >\n <template #emptyText>\n <a-empty />\n </template>\n <template #bodyCell=\"scope\">\n <template v-if=\"isShowBodyCell(scope.column.dataIndex)\">\n <RenderBodyCell :bodyCell=\"columns.bodyCell\" :scope=\"scope\" />\n </template>\n </template>\n </s-table>\n </div>\n </div>\n </container-wrapper>\n</template>\n\n<script lang=\"jsx\">\n import ContainerWrapper from '@/components/form-designer/form-widget/container-widget/container-wrapper';\n import emitter from '@/utils/emitter';\n import i18n from '@/utils/i18n';\n import FieldComponents from '@/components/form-designer/form-widget/field-widget/index';\n import containerMixin from '@/components/form-designer/form-widget/container-widget/containerMixin';\n import refMixinDesign from '@/components/form-designer/refMixinDesign';\n import useDataTableMixin from '@/mixins/useDataTableMixin';\n\n export default {\n name: 'DataTableWidget',\n componentName: 'DataTableWidget',\n mixins: [i18n, containerMixin, refMixinDesign, emitter, useDataTableMixin],\n inject: ['refList'],\n components: {\n ContainerWrapper,\n ...FieldComponents\n },\n data() {\n return {\n // selectAllFlag: false\n };\n },\n props: {\n widget: Object,\n parentWidget: Object,\n parentList: Array,\n indexOfParentList: Number,\n designer: Object,\n\n subFormRowIndex: {\n /* 子表单组件行索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormColIndex: {\n /* 子表单组件列索引,从0开始计数 */ type: Number,\n default: -1\n },\n subFormRowId: {\n /* 子表单组件行Id,唯一id且不可变 */ type: String,\n default: ''\n }\n },\n created() {\n this.initRefList();\n },\n mounted() {\n this.loadDataTableDataSource();\n },\n beforeUnmount() {\n //\n },\n computed: {\n data() {\n return this.widget.options.dataSource;\n },\n selected() {\n return this.widget.id === this.designer.selectedId;\n }\n },\n methods: {\n selectWidget(widget) {\n this.designer.setSelected(widget);\n }\n }\n };\n</script>\n\n<style lang=\"scss\" scoped>\n .collapse-container {\n display: flex;\n // height: 100%;\n // width: 100%;\n // flex: 1 0 0;\n\n .form-widget-list {\n min-height: 28px;\n :deep(.tpf-surely-table) {\n min-height: 280px;\n }\n }\n }\n .talbe-wrapper {\n width: 100%;\n }\n .collapse-container.selected {\n outline: 2px solid var(--ant-primary-color) !important;\n }\n .data-table-container {\n border: 2px dashed #cccccc;\n }\n\n :deep(.ant-table) .table-striped td {\n background-color: #fafafa;\n }\n</style>\n"],"names":["_sfc_main","name","componentName","mixins","i18n","containerMixin","refMixinDesign","emitter","useDataTableMixin","inject","components","ContainerWrapper","FieldComponents","data","props","widget","Object","parentWidget","parentList","Array","indexOfParentList","Number","designer","subFormRowIndex","type","default","subFormColIndex","subFormRowId","String","created","initRefList","mounted","loadDataTableDataSource","beforeUnmount","computed","options","dataSource","selected","id","selectedId","methods","selectWidget","setSelected"],"mappings":";;;;;;;AA2DI,MAAAA,IAAe;AAAA,EACXC,MAAM;AAAA,EACNC,eAAe;AAAA,EACfC,QAAQ,CAACC,GAAMC,GAAgBC,GAAgBC,GAASC,CAAiB;AAAA,EACzEC,QAAQ,CAAC,SAAS;AAAA,EAClBC,YAAY;AAAA,IACRC,kBAAAA;AAAAA,IACA,GAAGC;AAAAA;EAEPC,OAAO;AACH,WAAO;AAAA;AAAA;EAGX;AAAA,EACAC,OAAO;AAAA,IACHC,QAAQC;AAAAA,IACRC,cAAcD;AAAAA,IACdE,YAAYC;AAAAA,IACZC,mBAAmBC;AAAAA,IACnBC,UAAUN;AAAAA,IAEVO,iBAAiB;AAAA;AAAA,MACSC,MAAMH;AAAAA,MAC5BI,SAAS;AAAA;IAEbC,iBAAiB;AAAA;AAAA,MACSF,MAAMH;AAAAA,MAC5BI,SAAS;AAAA;IAEbE,cAAc;AAAA;AAAA,MACcH,MAAMI;AAAAA,MAC9BH,SAAS;AAAA,IACb;AAAA;EAEJI,UAAU;AACN,SAAKC,YAAW;AAAA,EACpB;AAAA,EACAC,UAAU;AACN,SAAKC,wBAAuB;AAAA,EAChC;AAAA,EACAC,gBAAgB;AAAA,EACZ;AAAA,EAEJC,UAAU;AAAA,IACNrB,OAAO;AACH,aAAO,KAAKE,OAAOoB,QAAQC;AAAAA,IAC/B;AAAA,IACAC,WAAW;AACP,aAAO,KAAKtB,OAAOuB,OAAO,KAAKhB,SAASiB;AAAAA,IAC5C;AAAA;EAEJC,SAAS;AAAA,IACLC,aAAa1B,GAAQ;AACjB,WAAKO,SAASoB,YAAY3B,CAAM;AAAA,IACpC;AAAA,EACJ;AACJ;"}
|