@kp-ui/lowcode 1.0.94 → 1.0.95

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/_virtual/virtual_svg-icons-register.js.map +1 -1
  2. package/package.json +4 -4
  3. package/src/api/useFilesystemApi/filesystem/index.js.map +1 -1
  4. package/src/components/CustomRender/components/AttachmentRender.vue2.js.map +1 -1
  5. package/src/components/CustomRender/components/RenderBodyCell.js.map +1 -1
  6. package/src/components/CustomRender/useCustomRender.js.map +1 -1
  7. package/src/components/code-editor/code-modal-editor.vue.js.map +1 -1
  8. package/src/components/code-editor/index.vue2.js.map +1 -1
  9. package/src/components/form-designer/designer.js.map +1 -1
  10. package/src/components/form-designer/form-widget/container-widget/containerMixin.js.map +1 -1
  11. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +22 -22
  12. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js.map +1 -1
  13. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js +2 -5
  14. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -1
  15. package/src/components/form-designer/form-widget/container-widget/grid-col-widget.vue.js.map +1 -1
  16. package/src/components/form-designer/form-widget/container-widget/grid-sub-form-widget.vue.js.map +1 -1
  17. package/src/components/form-designer/form-widget/container-widget/grid-widget.vue.js.map +1 -1
  18. package/src/components/form-designer/form-widget/container-widget/index.js.map +1 -1
  19. package/src/components/form-designer/form-widget/container-widget/sub-form-widget.vue.js.map +1 -1
  20. package/src/components/form-designer/form-widget/container-widget/tab-widget.vue.js.map +1 -1
  21. package/src/components/form-designer/form-widget/container-widget/table-cell-widget.vue.js.map +1 -1
  22. package/src/components/form-designer/form-widget/container-widget/table-widget.vue.js.map +1 -1
  23. package/src/components/form-designer/form-widget/container-widget/vf-box-item.vue.js.map +1 -1
  24. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue.js.map +1 -1
  25. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue2.js.map +1 -1
  26. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue.js.map +1 -1
  27. package/src/components/form-designer/form-widget/container-widget/vf-drawer-widget.vue.js.map +1 -1
  28. package/src/components/form-designer/form-widget/field-widget/attachment-render-widget.vue.js.map +1 -1
  29. package/src/components/form-designer/form-widget/field-widget/bpmn-editor-widget.vue.js.map +1 -1
  30. package/src/components/form-designer/form-widget/field-widget/button-list-widget.vue.js.map +1 -1
  31. package/src/components/form-designer/form-widget/field-widget/button-widget.vue.js.map +1 -1
  32. package/src/components/form-designer/form-widget/field-widget/cascader-widget.vue.js.map +1 -1
  33. package/src/components/form-designer/form-widget/field-widget/checkbox-widget.vue.js.map +1 -1
  34. package/src/components/form-designer/form-widget/field-widget/code-editor-widget.vue.js.map +1 -1
  35. package/src/components/form-designer/form-widget/field-widget/color-widget.vue.js.map +1 -1
  36. package/src/components/form-designer/form-widget/field-widget/date-range-widget.vue.js.map +1 -1
  37. package/src/components/form-designer/form-widget/field-widget/date-widget.vue.js.map +1 -1
  38. package/src/components/form-designer/form-widget/field-widget/divider-widget.vue.js.map +1 -1
  39. package/src/components/form-designer/form-widget/field-widget/diy-compontent-widget.vue.js.map +1 -1
  40. package/src/components/form-designer/form-widget/field-widget/dropdown-widget.vue.js.map +1 -1
  41. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js.map +1 -1
  42. package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue2.js.map +1 -1
  43. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue.js.map +1 -1
  44. package/src/components/form-designer/form-widget/field-widget/html-text-widget.vue.js.map +1 -1
  45. package/src/components/form-designer/form-widget/field-widget/input-widget.vue.js.map +1 -1
  46. package/src/components/form-designer/form-widget/field-widget/number-widget.vue.js.map +1 -1
  47. package/src/components/form-designer/form-widget/field-widget/radio-widget.vue.js.map +1 -1
  48. package/src/components/form-designer/form-widget/field-widget/rate-widget.vue.js.map +1 -1
  49. package/src/components/form-designer/form-widget/field-widget/rich-editor-widget.vue.js.map +1 -1
  50. package/src/components/form-designer/form-widget/field-widget/select-widget.vue.js.map +1 -1
  51. package/src/components/form-designer/form-widget/field-widget/slider-widget.vue.js.map +1 -1
  52. package/src/components/form-designer/form-widget/field-widget/slot-widget.vue.js.map +1 -1
  53. package/src/components/form-designer/form-widget/field-widget/static-content-wrapper.vue.js.map +1 -1
  54. package/src/components/form-designer/form-widget/field-widget/static-text-widget.vue.js.map +1 -1
  55. package/src/components/form-designer/form-widget/field-widget/switch-widget.vue.js.map +1 -1
  56. package/src/components/form-designer/form-widget/field-widget/textarea-widget.vue.js.map +1 -1
  57. package/src/components/form-designer/form-widget/field-widget/time-range-widget.vue.js.map +1 -1
  58. package/src/components/form-designer/form-widget/field-widget/time-widget.vue.js.map +1 -1
  59. package/src/components/form-designer/form-widget/field-widget/treeSelect-widget.vue.js.map +1 -1
  60. package/src/components/form-designer/form-widget/index.vue.js.map +1 -1
  61. package/src/components/form-designer/index.vue.js +91 -84
  62. package/src/components/form-designer/index.vue.js.map +1 -1
  63. package/src/components/form-designer/refMixinDesign.js.map +1 -1
  64. package/src/components/form-designer/setting-panel/form-setting.vue2.js.map +1 -1
  65. package/src/components/form-designer/setting-panel/index.vue.js.map +1 -1
  66. package/src/components/form-designer/setting-panel/option-items-setting.vue2.js.map +1 -1
  67. package/src/components/form-designer/setting-panel/property-editor/button-list-editor.vue2.js.map +1 -1
  68. package/src/components/form-designer/setting-panel/property-editor/button-position-editor.vue2.js.map +1 -1
  69. package/src/components/form-designer/setting-panel/property-editor/code-editor/code-editor-mode.vue.js.map +1 -1
  70. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-customClass-editor.vue.js.map +1 -1
  71. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-dsEnabled-editor.vue.js.map +1 -1
  72. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-pagination-editor.vue.js.map +1 -1
  73. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-rowKey-editor.vue.js.map +1 -1
  74. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-selections-editor.vue.js.map +1 -1
  75. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue.js.map +1 -1
  76. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showIndex-editor.vue.js.map +1 -1
  77. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-stripe-editor.vue.js.map +1 -1
  78. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue.js +2 -2
  79. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js +70 -74
  80. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableColumns-editor.vue2.js.map +1 -1
  81. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableHeight-editor.vue.js.map +1 -1
  82. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableSize-editor.vue.js.map +1 -1
  83. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-tableWidth-editor.vue.js.map +1 -1
  84. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-treeDataEnabled-editor.vue.js.map +1 -1
  85. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue.js.map +1 -1
  86. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue.js.map +1 -1
  87. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-tabBarGutter-editor.vue.js.map +1 -1
  88. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-tabPosition-editor.vue.js.map +1 -1
  89. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-type-editor.vue.js.map +1 -1
  90. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/bodyStyle-editor.vue2.js.map +1 -1
  91. package/src/components/form-designer/setting-panel/property-editor/container-vf-dialog/formCode-editor.vue.js.map +1 -1
  92. package/src/components/form-designer/setting-panel/property-editor/customClass-editor.vue.js.map +1 -1
  93. package/src/components/form-designer/setting-panel/property-editor/event-handler/eventMixin.js.map +1 -1
  94. package/src/components/form-designer/setting-panel/property-editor/field-dropdown/dropdown-menuList-editor.vue.js.map +1 -1
  95. package/src/components/form-designer/setting-panel/property-editor/field-select/mode-editor.vue.js.map +1 -1
  96. package/src/components/form-designer/setting-panel/property-editor/max-editor.vue.js.map +1 -1
  97. package/src/components/form-designer/setting-panel/property-editor/maxLength-editor.vue.js.map +1 -1
  98. package/src/components/form-designer/setting-panel/property-editor/min-editor.vue.js.map +1 -1
  99. package/src/components/form-designer/setting-panel/property-editor/minLength-editor.vue.js.map +1 -1
  100. package/src/components/form-designer/setting-panel/property-editor/name-editor.vue.js.map +1 -1
  101. package/src/components/form-designer/setting-panel/property-editor/optionItems-editor.vue.js.map +1 -1
  102. package/src/components/form-designer/setting-panel/property-editor/placement-editor.vue.js.map +1 -1
  103. package/src/components/form-designer/setting-panel/property-editor/propertyMixin.js.map +1 -1
  104. package/src/components/form-designer/setting-panel/property-editor/rightSlotCss-editor.vue.js.map +1 -1
  105. package/src/components/form-designer/toolbar-panel/index.vue.js +2 -2
  106. package/src/components/form-designer/toolbar-panel/index.vue2.js +1 -5
  107. package/src/components/form-designer/toolbar-panel/index.vue2.js.map +1 -1
  108. package/src/components/form-designer/widget-panel/index.vue.js.map +1 -1
  109. package/src/components/form-render/SubmitButtonRender.vue.js.map +1 -1
  110. package/src/components/form-render/container-item/containerItemMixin.js.map +1 -1
  111. package/src/components/form-render/container-item/data-table-item.vue.js +4 -5
  112. package/src/components/form-render/container-item/data-table-item.vue.js.map +1 -1
  113. package/src/components/form-render/container-item/grid-col-item.vue.js.map +1 -1
  114. package/src/components/form-render/container-item/grid-item.vue.js.map +1 -1
  115. package/src/components/form-render/container-item/grid-sub-form-item.vue.js +10 -5
  116. package/src/components/form-render/container-item/grid-sub-form-item.vue.js.map +1 -1
  117. package/src/components/form-render/container-item/index.js.map +1 -1
  118. package/src/components/form-render/container-item/sub-form-item.vue.js.map +1 -1
  119. package/src/components/form-render/container-item/tab-item.vue.js.map +1 -1
  120. package/src/components/form-render/container-item/table-cell-item.vue.js.map +1 -1
  121. package/src/components/form-render/container-item/table-item.vue.js.map +1 -1
  122. package/src/components/form-render/container-item/vf-collapse-item.vue.js.map +1 -1
  123. package/src/components/form-render/dynamic-dialog.vue.js.map +1 -1
  124. package/src/components/form-render/dynamic-drawer.vue.js.map +1 -1
  125. package/src/components/form-render/index.vue.js +120 -106
  126. package/src/components/form-render/index.vue.js.map +1 -1
  127. package/src/components/form-render/refMixin.js.map +1 -1
  128. package/src/components/http-editor/index.vue.js.map +1 -1
  129. package/src/components/public/ActionButtonListDialog.vue.js +10 -10
  130. package/src/components/public/ActionButtonListDialog.vue.js.map +1 -1
  131. package/src/components/public/ActionButtonListDialog.vue2.js +24 -28
  132. package/src/components/public/ActionButtonListDialog.vue2.js.map +1 -1
  133. package/src/components/public/ActionButtonListRender.vue2.js.map +1 -1
  134. package/src/components/public/CustomerModal/CustomerModal.vue2.js.map +1 -1
  135. package/src/components/public/CustomerModal/useCustomerModal.js.map +1 -1
  136. package/src/components/public/QuillEditor/index.vue.js.map +1 -1
  137. package/src/components/public/methoad-item.vue.js.map +1 -1
  138. package/src/components/svg-icon/FileIcon.js.map +1 -1
  139. package/src/hooks/TpfConfirm.js.map +1 -1
  140. package/src/hooks/useFilePreview.js.map +1 -1
  141. package/src/hooks/useLowcode.js.map +1 -1
  142. package/src/lib/vuedraggable/src/core/componentBuilderHelper.js.map +1 -1
  143. package/src/lib/vuedraggable/src/core/componentStructure.js.map +1 -1
  144. package/src/lib/vuedraggable/src/util/string.js.map +1 -1
  145. package/src/lib/vuedraggable/src/vuedraggable.js.map +1 -1
  146. package/src/mixins/useDataTableMixin.js +2 -2
  147. package/src/mixins/useDataTableMixin.js.map +1 -1
  148. package/src/mixins/useSelectMixin.js.map +1 -1
  149. package/src/utils/emitter.js.map +1 -1
  150. package/src/utils/executeFunction.js.map +1 -1
  151. package/src/utils/format.js.map +1 -1
  152. package/src/utils/i18n.js.map +1 -1
  153. package/src/utils/request/fmtHttpParams.js.map +1 -1
  154. package/src/utils/request/handleAxiosError.js.map +1 -1
  155. package/src/utils/request/http.js.map +1 -1
  156. package/src/utils/smart-vue-i18n/index.js.map +1 -1
  157. package/src/utils/smart-vue-i18n/utils.js.map +1 -1
  158. package/src/utils/util.js.map +1 -1
  159. package/src/utils/validators.js.map +1 -1
  160. package/stats.html +1 -1
  161. package/styles/style.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ActionButtonListDialog.vue.js","sources":["../../../../src/components/public/ActionButtonListDialog.vue"],"sourcesContent":["<template>\n <STable\n deepWatchDataSource\n :data-source=\"buttonList\"\n :pagination=\"false\"\n :resizable=\"true\"\n :columns=\"columns\"\n :row-key=\"record => record.name\"\n >\n <template #bodyCell=\"{ column, recordIndexs, index, record }\">\n <template v-if=\"column.dataIndex === 'label'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].label\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'type'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].type\"\n :placeholder=\"i18nt('designer.setting.operationButtonType')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"primary\">primary</a-select-option>\n <a-select-option value=\"ghost\">ghost</a-select-option>\n <a-select-option value=\"dashed\">dashed</a-select-option>\n <a-select-option value=\"text\">text</a-select-option>\n <a-select-option value=\"link\">link</a-select-option>\n <a-select-option value=\"default\">default</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'size'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].size\"\n :placeholder=\"i18nt('designer.setting.size')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"default\">default</a-select-option>\n <a-select-option value=\"small\">small</a-select-option>\n <a-select-option value=\"large\">large</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'icon'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].icon\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'danger'\">\n <a-switch\n :checkedValue=\"1\"\n :unCheckedValue=\"0\"\n v-model:checked=\"buttonList[recordIndexs[0]].danger\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'onHidden'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onHidden }]\"\n @click=\"editClickEvent('onHidden', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonHidden') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onDisabled'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onDisabled }]\"\n @click=\"editClickEvent('onDisabled', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonDisabled') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onClick'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onClick }]\"\n @click=\"editClickEvent('onClick', record, recordIndexs)\"\n size=\"small\"\n >\n 点击事件\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'action'\">\n <a-button type=\"link\" @click=\"deleteOperationButton(index)\" size=\"small\">\n 删除\n </a-button>\n </template>\n </template>\n </STable>\n <div class=\"add-btn\">\n <a-button type=\"primary\" size=\"default\" @click=\"addOperationButton\">\n {{ i18nt('designer.setting.addOperationButton') }}\n </a-button>\n </div>\n\n <CodeModalEditor\n ref=\"codeModalEditorRef\"\n @save=\"saveColumnRender\"\n :event-header=\"`${currentEditBtn}(${parmas}){`\"\n />\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, getCurrentInstance, ref, watch, watchEffect } from 'vue';\n import i18n, { useI18n } from '@/utils/i18n';\n import CodeModalEditor from '@/components/code-editor/code-modal-editor.vue';\n import { generateId } from '@/utils/util';\n import STable, { type ScrollPosition, setLicenseKey } from '@surely-vue/table';\n setLicenseKey(\n '45beeffb8943e862ec9cbaa94614552cT1JERVI6MTAwMDc5LEVYUElSWT0xNzQ4MzA0MDAwMDAwLERPTUFJTj1zdXJlbHkuY29vbCxVTFRJTUFURT0xLEtFWVZFUlNJT049MQ=='\n );\n export default defineComponent({\n name: 'ActionButtonList',\n props: {\n parmas: {\n type: String,\n default: ''\n },\n data: {\n type: Array,\n required: true\n }\n },\n components: { CodeModalEditor, STable },\n mixins: [i18n],\n emits: ['update:data'],\n setup(props, { emit }) {\n const { i18nt } = useI18n();\n const currentEditBtn = ref();\n const codeModalEditorRef = ref();\n const currentRecordIndexs = ref();\n const columns = [\n {\n dataIndex: 'label',\n title: i18nt('designer.setting.operationButtonLabel'),\n width: 100\n },\n {\n dataIndex: 'type',\n title: i18nt('designer.setting.operationButtonType'),\n width: 120\n },\n {\n dataIndex: 'size',\n title: i18nt('designer.setting.operationButtonSize'),\n width: 80\n },\n {\n dataIndex: 'danger',\n title: i18nt('designer.setting.danger'),\n width: 120\n },\n {\n dataIndex: 'icon',\n title: i18nt('designer.setting.buttonIcon'),\n width: 120\n },\n {\n dataIndex: 'onHidden',\n title: i18nt('designer.setting.operationButtonHidden'),\n width: 100\n },\n {\n dataIndex: 'onDisabled',\n title: i18nt('designer.setting.operationButtonDisabled'),\n width: 100\n },\n { dataIndex: 'onClick', title: '点击事件', width: 100 },\n { dataIndex: 'action', title: '操作', width: 80 }\n ];\n\n const buttonList = computed(() => props.data as any[]);\n\n watch(\n () => buttonList.value,\n () => {\n emit('update:data', buttonList.value);\n },\n {\n deep: true\n }\n );\n\n const deleteOperationButton = (index: number) => {\n console.log(index);\n buttonList.value.splice(index, 1);\n };\n\n const editClickEvent = (name, row, recordIndexs) => {\n currentRecordIndexs.value = recordIndexs[0];\n currentEditBtn.value = name;\n console.log({ code: row[name] });\n\n codeModalEditorRef.value?.open(row[name]);\n };\n\n const saveColumnRender = value => {\n console.log(buttonList.value, currentRecordIndexs.value, currentEditBtn.value);\n buttonList.value[currentRecordIndexs.value][currentEditBtn.value] = value;\n };\n\n const addOperationButton = () => {\n buttonList.value.push({\n name: 'btn' + generateId(),\n label: 'new btn',\n type: 'primary',\n size: 'small',\n shape: 'default',\n hidden: false,\n disabled: false,\n onClick: ''\n });\n };\n\n return {\n addOperationButton,\n saveColumnRender,\n columns,\n buttonList,\n editClickEvent,\n codeModalEditorRef,\n currentEditBtn,\n deleteOperationButton\n };\n }\n });\n</script>\n<style lang=\"less\" scoped>\n .add-btn {\n margin-top: 10px;\n text-align: center;\n }\n</style>\n"],"names":["_hoisted_1","_createVNode","_component_STable","_ctx","record","_withCtx","column","recordIndexs","index","_openBlock","_createBlock","_component_a_input","$event","_createCommentVNode","_component_a_select","_component_a_select_option","_cache","_createTextVNode","_component_a_switch","_component_a_button","_normalizeClass","_toDisplayString","_createElementVNode","_component_CodeModalEditor"],"mappings":"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"}
1
+ {"version":3,"file":"ActionButtonListDialog.vue.js","sources":["../../../../src/components/public/ActionButtonListDialog.vue"],"sourcesContent":["<template>\n <s-table\n deepWatchDataSource\n :data-source=\"buttonList\"\n :pagination=\"false\"\n :resizable=\"true\"\n :columns=\"columns\"\n :row-key=\"record => record.name\"\n >\n <template #bodyCell=\"{ column, recordIndexs, index, record }\">\n <template v-if=\"column.dataIndex === 'label'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].label\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'type'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].type\"\n :placeholder=\"i18nt('designer.setting.operationButtonType')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"primary\">primary</a-select-option>\n <a-select-option value=\"ghost\">ghost</a-select-option>\n <a-select-option value=\"dashed\">dashed</a-select-option>\n <a-select-option value=\"text\">text</a-select-option>\n <a-select-option value=\"link\">link</a-select-option>\n <a-select-option value=\"default\">default</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'size'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].size\"\n :placeholder=\"i18nt('designer.setting.size')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"default\">default</a-select-option>\n <a-select-option value=\"small\">small</a-select-option>\n <a-select-option value=\"large\">large</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'icon'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].icon\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'danger'\">\n <a-switch\n :checkedValue=\"1\"\n :unCheckedValue=\"0\"\n v-model:checked=\"buttonList[recordIndexs[0]].danger\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'onHidden'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onHidden }]\"\n @click=\"editClickEvent('onHidden', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonHidden') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onDisabled'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onDisabled }]\"\n @click=\"editClickEvent('onDisabled', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonDisabled') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onClick'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onClick }]\"\n @click=\"editClickEvent('onClick', record, recordIndexs)\"\n size=\"small\"\n >\n 点击事件\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'action'\">\n <a-button type=\"link\" @click=\"deleteOperationButton(index)\" size=\"small\">\n 删除\n </a-button>\n </template>\n </template>\n </s-table>\n <div class=\"add-btn\">\n <a-button type=\"primary\" size=\"default\" @click=\"addOperationButton\">\n {{ i18nt('designer.setting.addOperationButton') }}\n </a-button>\n </div>\n\n <CodeModalEditor\n ref=\"codeModalEditorRef\"\n @save=\"saveColumnRender\"\n :event-header=\"`${currentEditBtn}(${parmas}){`\"\n />\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, getCurrentInstance, ref, watch, watchEffect } from 'vue';\n import i18n, { useI18n } from '@/utils/i18n';\n import CodeModalEditor from '@/components/code-editor/code-modal-editor.vue';\n import { generateId } from '@/utils/util';\n\n export default defineComponent({\n name: 'ActionButtonList',\n props: {\n parmas: {\n type: String,\n default: ''\n },\n data: {\n type: Array,\n required: true\n }\n },\n components: { CodeModalEditor },\n mixins: [i18n],\n emits: ['update:data'],\n setup(props, { emit }) {\n const { i18nt } = useI18n();\n const currentEditBtn = ref();\n const codeModalEditorRef = ref();\n const currentRecordIndexs = ref();\n const columns = [\n {\n dataIndex: 'label',\n title: i18nt('designer.setting.operationButtonLabel'),\n width: 100\n },\n {\n dataIndex: 'type',\n title: i18nt('designer.setting.operationButtonType'),\n width: 120\n },\n {\n dataIndex: 'size',\n title: i18nt('designer.setting.operationButtonSize'),\n width: 80\n },\n {\n dataIndex: 'danger',\n title: i18nt('designer.setting.danger'),\n width: 120\n },\n {\n dataIndex: 'icon',\n title: i18nt('designer.setting.buttonIcon'),\n width: 120\n },\n {\n dataIndex: 'onHidden',\n title: i18nt('designer.setting.operationButtonHidden'),\n width: 100\n },\n {\n dataIndex: 'onDisabled',\n title: i18nt('designer.setting.operationButtonDisabled'),\n width: 100\n },\n { dataIndex: 'onClick', title: '点击事件', width: 100 },\n { dataIndex: 'action', title: '操作', width: 80 }\n ];\n\n const buttonList = computed(() => props.data as any[]);\n\n watch(\n () => buttonList.value,\n () => {\n emit('update:data', buttonList.value);\n },\n {\n deep: true\n }\n );\n\n const deleteOperationButton = (index: number) => {\n console.log(index);\n buttonList.value.splice(index, 1);\n };\n\n const editClickEvent = (name, row, recordIndexs) => {\n currentRecordIndexs.value = recordIndexs[0];\n currentEditBtn.value = name;\n console.log({ code: row[name] });\n\n codeModalEditorRef.value?.open(row[name]);\n };\n\n const saveColumnRender = value => {\n console.log(buttonList.value, currentRecordIndexs.value, currentEditBtn.value);\n buttonList.value[currentRecordIndexs.value][currentEditBtn.value] = value;\n };\n\n const addOperationButton = () => {\n buttonList.value.push({\n name: 'btn' + generateId(),\n label: 'new btn',\n type: 'primary',\n size: 'small',\n shape: 'default',\n hidden: false,\n disabled: false,\n onClick: ''\n });\n };\n\n return {\n addOperationButton,\n saveColumnRender,\n columns,\n buttonList,\n editClickEvent,\n codeModalEditorRef,\n currentEditBtn,\n deleteOperationButton\n };\n }\n });\n</script>\n<style lang=\"less\" scoped>\n .add-btn {\n margin-top: 10px;\n text-align: center;\n }\n</style>\n"],"names":["_hoisted_1","_createVNode","_component_s_table","_ctx","record","_withCtx","column","recordIndexs","index","_openBlock","_createBlock","_component_a_input","$event","_createCommentVNode","_component_a_select","_component_a_select_option","_cache","_createTextVNode","_component_a_switch","_component_a_button","_normalizeClass","_toDisplayString","_createElementVNode","_component_CodeModalEditor"],"mappings":"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"}
@@ -1,12 +1,8 @@
1
- import { defineComponent as m, ref as i, computed as g, watch as v } from "vue";
2
- import f, { useI18n as b } from "../../utils/i18n.js";
3
- import x from "../code-editor/code-modal-editor.vue.js";
4
- import { generateId as I } from "../../utils/util.js";
5
- import h, { setLicenseKey as w } from "@surely-vue/table";
6
- w(
7
- "45beeffb8943e862ec9cbaa94614552cT1JERVI6MTAwMDc5LEVYUElSWT0xNzQ4MzA0MDAwMDAwLERPTUFJTj1zdXJlbHkuY29vbCxVTFRJTUFURT0xLEtFWVZFUlNJT049MQ=="
8
- );
9
- const A = m({
1
+ import { defineComponent as g, ref as d, computed as m, watch as v } from "vue";
2
+ import f, { useI18n as h } from "../../utils/i18n.js";
3
+ import I from "../code-editor/code-modal-editor.vue.js";
4
+ import { generateId as x } from "../../utils/util.js";
5
+ const R = g({
10
6
  name: "ActionButtonList",
11
7
  props: {
12
8
  parmas: {
@@ -18,49 +14,49 @@ const A = m({
18
14
  required: !0
19
15
  }
20
16
  },
21
- components: { CodeModalEditor: x, STable: h },
17
+ components: { CodeModalEditor: I },
22
18
  mixins: [f],
23
19
  emits: ["update:data"],
24
20
  setup(r, { emit: u }) {
25
- const { i18nt: t } = b(), a = i(), d = i(), o = i(), c = [
21
+ const { i18nt: e } = h(), a = d(), i = d(), o = d(), c = [
26
22
  {
27
23
  dataIndex: "label",
28
- title: t("designer.setting.operationButtonLabel"),
24
+ title: e("designer.setting.operationButtonLabel"),
29
25
  width: 100
30
26
  },
31
27
  {
32
28
  dataIndex: "type",
33
- title: t("designer.setting.operationButtonType"),
29
+ title: e("designer.setting.operationButtonType"),
34
30
  width: 120
35
31
  },
36
32
  {
37
33
  dataIndex: "size",
38
- title: t("designer.setting.operationButtonSize"),
34
+ title: e("designer.setting.operationButtonSize"),
39
35
  width: 80
40
36
  },
41
37
  {
42
38
  dataIndex: "danger",
43
- title: t("designer.setting.danger"),
39
+ title: e("designer.setting.danger"),
44
40
  width: 120
45
41
  },
46
42
  {
47
43
  dataIndex: "icon",
48
- title: t("designer.setting.buttonIcon"),
44
+ title: e("designer.setting.buttonIcon"),
49
45
  width: 120
50
46
  },
51
47
  {
52
48
  dataIndex: "onHidden",
53
- title: t("designer.setting.operationButtonHidden"),
49
+ title: e("designer.setting.operationButtonHidden"),
54
50
  width: 100
55
51
  },
56
52
  {
57
53
  dataIndex: "onDisabled",
58
- title: t("designer.setting.operationButtonDisabled"),
54
+ title: e("designer.setting.operationButtonDisabled"),
59
55
  width: 100
60
56
  },
61
57
  { dataIndex: "onClick", title: "点击事件", width: 100 },
62
58
  { dataIndex: "action", title: "操作", width: 80 }
63
- ], n = g(() => r.data);
59
+ ], n = m(() => r.data);
64
60
  return v(
65
61
  () => n.value,
66
62
  () => {
@@ -72,7 +68,7 @@ const A = m({
72
68
  ), {
73
69
  addOperationButton: () => {
74
70
  n.value.push({
75
- name: "btn" + I(),
71
+ name: "btn" + x(),
76
72
  label: "new btn",
77
73
  type: "primary",
78
74
  size: "small",
@@ -82,24 +78,24 @@ const A = m({
82
78
  onClick: ""
83
79
  });
84
80
  },
85
- saveColumnRender: (e) => {
86
- console.log(n.value, o.value, a.value), n.value[o.value][a.value] = e;
81
+ saveColumnRender: (t) => {
82
+ console.log(n.value, o.value, a.value), n.value[o.value][a.value] = t;
87
83
  },
88
84
  columns: c,
89
85
  buttonList: n,
90
- editClickEvent: (e, l, p) => {
86
+ editClickEvent: (t, l, p) => {
91
87
  var s;
92
- o.value = p[0], a.value = e, console.log({ code: l[e] }), (s = d.value) == null || s.open(l[e]);
88
+ o.value = p[0], a.value = t, console.log({ code: l[t] }), (s = i.value) == null || s.open(l[t]);
93
89
  },
94
- codeModalEditorRef: d,
90
+ codeModalEditorRef: i,
95
91
  currentEditBtn: a,
96
- deleteOperationButton: (e) => {
97
- console.log(e), n.value.splice(e, 1);
92
+ deleteOperationButton: (t) => {
93
+ console.log(t), n.value.splice(t, 1);
98
94
  }
99
95
  };
100
96
  }
101
97
  });
102
98
  export {
103
- A as default
99
+ R as default
104
100
  };
105
101
  //# sourceMappingURL=ActionButtonListDialog.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionButtonListDialog.vue2.js","sources":["../../../../src/components/public/ActionButtonListDialog.vue"],"sourcesContent":["<template>\n <STable\n deepWatchDataSource\n :data-source=\"buttonList\"\n :pagination=\"false\"\n :resizable=\"true\"\n :columns=\"columns\"\n :row-key=\"record => record.name\"\n >\n <template #bodyCell=\"{ column, recordIndexs, index, record }\">\n <template v-if=\"column.dataIndex === 'label'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].label\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'type'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].type\"\n :placeholder=\"i18nt('designer.setting.operationButtonType')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"primary\">primary</a-select-option>\n <a-select-option value=\"ghost\">ghost</a-select-option>\n <a-select-option value=\"dashed\">dashed</a-select-option>\n <a-select-option value=\"text\">text</a-select-option>\n <a-select-option value=\"link\">link</a-select-option>\n <a-select-option value=\"default\">default</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'size'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].size\"\n :placeholder=\"i18nt('designer.setting.size')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"default\">default</a-select-option>\n <a-select-option value=\"small\">small</a-select-option>\n <a-select-option value=\"large\">large</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'icon'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].icon\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'danger'\">\n <a-switch\n :checkedValue=\"1\"\n :unCheckedValue=\"0\"\n v-model:checked=\"buttonList[recordIndexs[0]].danger\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'onHidden'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onHidden }]\"\n @click=\"editClickEvent('onHidden', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonHidden') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onDisabled'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onDisabled }]\"\n @click=\"editClickEvent('onDisabled', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonDisabled') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onClick'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onClick }]\"\n @click=\"editClickEvent('onClick', record, recordIndexs)\"\n size=\"small\"\n >\n 点击事件\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'action'\">\n <a-button type=\"link\" @click=\"deleteOperationButton(index)\" size=\"small\">\n 删除\n </a-button>\n </template>\n </template>\n </STable>\n <div class=\"add-btn\">\n <a-button type=\"primary\" size=\"default\" @click=\"addOperationButton\">\n {{ i18nt('designer.setting.addOperationButton') }}\n </a-button>\n </div>\n\n <CodeModalEditor\n ref=\"codeModalEditorRef\"\n @save=\"saveColumnRender\"\n :event-header=\"`${currentEditBtn}(${parmas}){`\"\n />\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, getCurrentInstance, ref, watch, watchEffect } from 'vue';\n import i18n, { useI18n } from '@/utils/i18n';\n import CodeModalEditor from '@/components/code-editor/code-modal-editor.vue';\n import { generateId } from '@/utils/util';\n import STable, { type ScrollPosition, setLicenseKey } from '@surely-vue/table';\n setLicenseKey(\n '45beeffb8943e862ec9cbaa94614552cT1JERVI6MTAwMDc5LEVYUElSWT0xNzQ4MzA0MDAwMDAwLERPTUFJTj1zdXJlbHkuY29vbCxVTFRJTUFURT0xLEtFWVZFUlNJT049MQ=='\n );\n export default defineComponent({\n name: 'ActionButtonList',\n props: {\n parmas: {\n type: String,\n default: ''\n },\n data: {\n type: Array,\n required: true\n }\n },\n components: { CodeModalEditor, STable },\n mixins: [i18n],\n emits: ['update:data'],\n setup(props, { emit }) {\n const { i18nt } = useI18n();\n const currentEditBtn = ref();\n const codeModalEditorRef = ref();\n const currentRecordIndexs = ref();\n const columns = [\n {\n dataIndex: 'label',\n title: i18nt('designer.setting.operationButtonLabel'),\n width: 100\n },\n {\n dataIndex: 'type',\n title: i18nt('designer.setting.operationButtonType'),\n width: 120\n },\n {\n dataIndex: 'size',\n title: i18nt('designer.setting.operationButtonSize'),\n width: 80\n },\n {\n dataIndex: 'danger',\n title: i18nt('designer.setting.danger'),\n width: 120\n },\n {\n dataIndex: 'icon',\n title: i18nt('designer.setting.buttonIcon'),\n width: 120\n },\n {\n dataIndex: 'onHidden',\n title: i18nt('designer.setting.operationButtonHidden'),\n width: 100\n },\n {\n dataIndex: 'onDisabled',\n title: i18nt('designer.setting.operationButtonDisabled'),\n width: 100\n },\n { dataIndex: 'onClick', title: '点击事件', width: 100 },\n { dataIndex: 'action', title: '操作', width: 80 }\n ];\n\n const buttonList = computed(() => props.data as any[]);\n\n watch(\n () => buttonList.value,\n () => {\n emit('update:data', buttonList.value);\n },\n {\n deep: true\n }\n );\n\n const deleteOperationButton = (index: number) => {\n console.log(index);\n buttonList.value.splice(index, 1);\n };\n\n const editClickEvent = (name, row, recordIndexs) => {\n currentRecordIndexs.value = recordIndexs[0];\n currentEditBtn.value = name;\n console.log({ code: row[name] });\n\n codeModalEditorRef.value?.open(row[name]);\n };\n\n const saveColumnRender = value => {\n console.log(buttonList.value, currentRecordIndexs.value, currentEditBtn.value);\n buttonList.value[currentRecordIndexs.value][currentEditBtn.value] = value;\n };\n\n const addOperationButton = () => {\n buttonList.value.push({\n name: 'btn' + generateId(),\n label: 'new btn',\n type: 'primary',\n size: 'small',\n shape: 'default',\n hidden: false,\n disabled: false,\n onClick: ''\n });\n };\n\n return {\n addOperationButton,\n saveColumnRender,\n columns,\n buttonList,\n editClickEvent,\n codeModalEditorRef,\n currentEditBtn,\n deleteOperationButton\n };\n }\n });\n</script>\n<style lang=\"less\" scoped>\n .add-btn {\n margin-top: 10px;\n text-align: center;\n }\n</style>\n"],"names":["setLicenseKey","_sfc_main","defineComponent","CodeModalEditor","STable","i18n","props","emit","i18nt","useI18n","currentEditBtn","ref","codeModalEditorRef","currentRecordIndexs","columns","buttonList","computed","watch","generateId","value","name","row","recordIndexs","_a","index"],"mappings":"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"}
1
+ {"version":3,"file":"ActionButtonListDialog.vue2.js","sources":["../../../../src/components/public/ActionButtonListDialog.vue"],"sourcesContent":["<template>\n <s-table\n deepWatchDataSource\n :data-source=\"buttonList\"\n :pagination=\"false\"\n :resizable=\"true\"\n :columns=\"columns\"\n :row-key=\"record => record.name\"\n >\n <template #bodyCell=\"{ column, recordIndexs, index, record }\">\n <template v-if=\"column.dataIndex === 'label'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].label\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'type'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].type\"\n :placeholder=\"i18nt('designer.setting.operationButtonType')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"primary\">primary</a-select-option>\n <a-select-option value=\"ghost\">ghost</a-select-option>\n <a-select-option value=\"dashed\">dashed</a-select-option>\n <a-select-option value=\"text\">text</a-select-option>\n <a-select-option value=\"link\">link</a-select-option>\n <a-select-option value=\"default\">default</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'size'\">\n <a-select\n v-model:value=\"buttonList[recordIndexs[0]].size\"\n :placeholder=\"i18nt('designer.setting.size')\"\n style=\"width: 100%\"\n >\n <a-select-option value=\"default\">default</a-select-option>\n <a-select-option value=\"small\">small</a-select-option>\n <a-select-option value=\"large\">large</a-select-option>\n </a-select>\n </template>\n <template v-if=\"column.dataIndex === 'icon'\">\n <a-input\n v-model:value=\"buttonList[recordIndexs[0]].icon\"\n :placeholder=\"i18nt('designer.setting.operationButtonLabel')\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'danger'\">\n <a-switch\n :checkedValue=\"1\"\n :unCheckedValue=\"0\"\n v-model:checked=\"buttonList[recordIndexs[0]].danger\"\n />\n </template>\n <template v-if=\"column.dataIndex === 'onHidden'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onHidden }]\"\n @click=\"editClickEvent('onHidden', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonHidden') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onDisabled'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onDisabled }]\"\n @click=\"editClickEvent('onDisabled', record, recordIndexs)\"\n size=\"small\"\n >\n {{ i18nt('designer.setting.operationButtonDisabled') }}\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'onClick'\">\n <a-button\n :class=\"[{ 'button-text-highlight': !!record.onClick }]\"\n @click=\"editClickEvent('onClick', record, recordIndexs)\"\n size=\"small\"\n >\n 点击事件\n </a-button>\n </template>\n <template v-if=\"column.dataIndex === 'action'\">\n <a-button type=\"link\" @click=\"deleteOperationButton(index)\" size=\"small\">\n 删除\n </a-button>\n </template>\n </template>\n </s-table>\n <div class=\"add-btn\">\n <a-button type=\"primary\" size=\"default\" @click=\"addOperationButton\">\n {{ i18nt('designer.setting.addOperationButton') }}\n </a-button>\n </div>\n\n <CodeModalEditor\n ref=\"codeModalEditorRef\"\n @save=\"saveColumnRender\"\n :event-header=\"`${currentEditBtn}(${parmas}){`\"\n />\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent, getCurrentInstance, ref, watch, watchEffect } from 'vue';\n import i18n, { useI18n } from '@/utils/i18n';\n import CodeModalEditor from '@/components/code-editor/code-modal-editor.vue';\n import { generateId } from '@/utils/util';\n\n export default defineComponent({\n name: 'ActionButtonList',\n props: {\n parmas: {\n type: String,\n default: ''\n },\n data: {\n type: Array,\n required: true\n }\n },\n components: { CodeModalEditor },\n mixins: [i18n],\n emits: ['update:data'],\n setup(props, { emit }) {\n const { i18nt } = useI18n();\n const currentEditBtn = ref();\n const codeModalEditorRef = ref();\n const currentRecordIndexs = ref();\n const columns = [\n {\n dataIndex: 'label',\n title: i18nt('designer.setting.operationButtonLabel'),\n width: 100\n },\n {\n dataIndex: 'type',\n title: i18nt('designer.setting.operationButtonType'),\n width: 120\n },\n {\n dataIndex: 'size',\n title: i18nt('designer.setting.operationButtonSize'),\n width: 80\n },\n {\n dataIndex: 'danger',\n title: i18nt('designer.setting.danger'),\n width: 120\n },\n {\n dataIndex: 'icon',\n title: i18nt('designer.setting.buttonIcon'),\n width: 120\n },\n {\n dataIndex: 'onHidden',\n title: i18nt('designer.setting.operationButtonHidden'),\n width: 100\n },\n {\n dataIndex: 'onDisabled',\n title: i18nt('designer.setting.operationButtonDisabled'),\n width: 100\n },\n { dataIndex: 'onClick', title: '点击事件', width: 100 },\n { dataIndex: 'action', title: '操作', width: 80 }\n ];\n\n const buttonList = computed(() => props.data as any[]);\n\n watch(\n () => buttonList.value,\n () => {\n emit('update:data', buttonList.value);\n },\n {\n deep: true\n }\n );\n\n const deleteOperationButton = (index: number) => {\n console.log(index);\n buttonList.value.splice(index, 1);\n };\n\n const editClickEvent = (name, row, recordIndexs) => {\n currentRecordIndexs.value = recordIndexs[0];\n currentEditBtn.value = name;\n console.log({ code: row[name] });\n\n codeModalEditorRef.value?.open(row[name]);\n };\n\n const saveColumnRender = value => {\n console.log(buttonList.value, currentRecordIndexs.value, currentEditBtn.value);\n buttonList.value[currentRecordIndexs.value][currentEditBtn.value] = value;\n };\n\n const addOperationButton = () => {\n buttonList.value.push({\n name: 'btn' + generateId(),\n label: 'new btn',\n type: 'primary',\n size: 'small',\n shape: 'default',\n hidden: false,\n disabled: false,\n onClick: ''\n });\n };\n\n return {\n addOperationButton,\n saveColumnRender,\n columns,\n buttonList,\n editClickEvent,\n codeModalEditorRef,\n currentEditBtn,\n deleteOperationButton\n };\n }\n });\n</script>\n<style lang=\"less\" scoped>\n .add-btn {\n margin-top: 10px;\n text-align: center;\n }\n</style>\n"],"names":["_sfc_main","defineComponent","CodeModalEditor","i18n","props","emit","i18nt","useI18n","currentEditBtn","ref","codeModalEditorRef","currentRecordIndexs","columns","buttonList","computed","watch","generateId","value","name","row","recordIndexs","_a","index"],"mappings":";;;;AA2GI,MAAAA,IAAeC,EAAgB;AAAA,EAC3B,MAAM;AAAA,EACN,OAAO;AAAA,IACH,QAAQ;AAAA,MACJ,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAEb,MAAM;AAAA,MACF,MAAM;AAAA,MACN,UAAU;AAAA,IAAA;AAAA,EACd;AAAA,EAEJ,YAAY,EAAA,iBAAEC,EAAA;AAAA,EACd,QAAQ,CAACC,CAAI;AAAA,EACb,OAAO,CAAC,aAAa;AAAA,EACrB,MAAMC,GAAO,EAAE,MAAAC,KAAQ;AACnB,UAAM,EAAE,OAAAC,EAAA,IAAUC,EAAA,GACZC,IAAiBC,EAAA,GACjBC,IAAqBD,EAAA,GACrBE,IAAsBF,EAAA,GACtBG,IAAU;AAAA,MACZ;AAAA,QACI,WAAW;AAAA,QACX,OAAON,EAAM,uCAAuC;AAAA,QACpD,OAAO;AAAA,MAAA;AAAA,MAEX;AAAA,QACI,WAAW;AAAA,QACX,OAAOA,EAAM,sCAAsC;AAAA,QACnD,OAAO;AAAA,MAAA;AAAA,MAEX;AAAA,QACI,WAAW;AAAA,QACX,OAAOA,EAAM,sCAAsC;AAAA,QACnD,OAAO;AAAA,MAAA;AAAA,MAEX;AAAA,QACI,WAAW;AAAA,QACX,OAAOA,EAAM,yBAAyB;AAAA,QACtC,OAAO;AAAA,MAAA;AAAA,MAEX;AAAA,QACI,WAAW;AAAA,QACX,OAAOA,EAAM,6BAA6B;AAAA,QAC1C,OAAO;AAAA,MAAA;AAAA,MAEX;AAAA,QACI,WAAW;AAAA,QACX,OAAOA,EAAM,wCAAwC;AAAA,QACrD,OAAO;AAAA,MAAA;AAAA,MAEX;AAAA,QACI,WAAW;AAAA,QACX,OAAOA,EAAM,0CAA0C;AAAA,QACvD,OAAO;AAAA,MAAA;AAAA,MAEX,EAAE,WAAW,WAAW,OAAO,QAAQ,OAAO,IAAA;AAAA,MAC9C,EAAE,WAAW,UAAU,OAAO,MAAM,OAAO,GAAA;AAAA,IAAG,GAG5CO,IAAaC,EAAS,MAAMV,EAAM,IAAa;AAErD,WAAAW;AAAA,MACI,MAAMF,EAAW;AAAA,MACjB,MAAM;AACF,QAAAR,EAAK,eAAeQ,EAAW,KAAK;AAAA,MACxC;AAAA,MACA;AAAA,QACI,MAAM;AAAA,MAAA;AAAA,IACV,GAkCG;AAAA,MACH,oBAduB,MAAM;AAC7B,QAAAA,EAAW,MAAM,KAAK;AAAA,UAClB,MAAM,QAAQG,EAAA;AAAA,UACd,OAAO;AAAA,UACP,MAAM;AAAA,UACN,MAAM;AAAA,UACN,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,UAAU;AAAA,UACV,SAAS;AAAA,QAAA,CACZ;AAAA,MACL;AAAA,MAII,kBApBqB,CAAAC,MAAS;AAC9B,gBAAQ,IAAIJ,EAAW,OAAOF,EAAoB,OAAOH,EAAe,KAAK,GAC7EK,EAAW,MAAMF,EAAoB,KAAK,EAAEH,EAAe,KAAK,IAAIS;AAAA,MACxE;AAAA,MAkBI,SAAAL;AAAA,MACA,YAAAC;AAAA,MACA,gBA/BmB,CAACK,GAAMC,GAAKC,MAAiB;;AAChD,QAAAT,EAAoB,QAAQS,EAAa,CAAC,GAC1CZ,EAAe,QAAQU,GACvB,QAAQ,IAAI,EAAE,MAAMC,EAAID,CAAI,GAAG,IAE/BG,IAAAX,EAAmB,UAAnB,QAAAW,EAA0B,KAAKF,EAAID,CAAI;AAAA,MAC3C;AAAA,MA0BI,oBAAAR;AAAA,MACA,gBAAAF;AAAA,MACA,uBAvC0B,CAACc,MAAkB;AAC7C,gBAAQ,IAAIA,CAAK,GACjBT,EAAW,MAAM,OAAOS,GAAO,CAAC;AAAA,MACpC;AAAA,IAoCI;AAAA,EAER;AACJ,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ActionButtonListRender.vue2.js","sources":["../../../../src/components/public/ActionButtonListRender.vue"],"sourcesContent":["<template>\n <div\n ref=\"fieldEditor\"\n :class=\"['button-list-container', ...customClass]\"\n :style=\"containerStyle\"\n >\n <Teleport :disabled=\"isDisabled\" :to=\"getContainer\">\n <a-space :size=\"8\">\n <a-button\n v-for=\"item in visibleButtons\"\n :key=\"item.key\"\n :type=\"item.type\"\n :danger=\"item.danger\"\n class=\"tpf-button\"\n :disabled=\"handleDisabled(item)\"\n @click=\"handleClick(item)\"\n >\n <template v-if=\"item.icon\">\n <SvgIcon :icon-class=\"item.icon\" class=\"button-icon\" />\n </template>\n {{ item.label }}\n </a-button>\n </a-space>\n </Teleport>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, computed, PropType } from 'vue';\n import { executeFunction } from '@/utils/executeFunction';\n import SvgIcon from '@/components/svg-icon/index.vue';\n import type { ActionButton } from '@/types/button';\n\n export default defineComponent({\n name: 'ActionButtonListRender',\n components: { SvgIcon },\n props: {\n options: {\n type: Object,\n default: () => {}\n },\n scope: {\n type: Object,\n default: () => {}\n },\n ctx: {\n type: Object\n },\n buttonList: {\n type: Array as PropType<ActionButton[]>,\n default: () => []\n },\n customClass: {\n type: Array as PropType<string[]>,\n default: () => []\n },\n flex: {\n type: String,\n default: 'center'\n },\n designState: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const containerStyle = computed(() => ({\n '--flex': props.flex\n }));\n\n const isDisabled = computed(() => !props.options?.getContainer || !!props.designState);\n\n const getContainer = computed(() => props.options?.getContainer);\n console.log({ isDisabled: isDisabled.value, getContainer: getContainer.value });\n\n const visibleButtons = computed(() =>\n props.buttonList.filter(item => !handleHidden(item))\n );\n\n const handleClick = async (item: ActionButton) => {\n if (props.designState) return; // 在设计状态下不处理点击事件\n if (!item.onClick) return;\n try {\n await executeFunction({\n functionBody: item.onClick,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button click handler error:', error);\n }\n };\n\n const handleDisabled = (item: ActionButton): boolean => {\n if (!item.onDisabled) return false;\n\n try {\n return executeFunction({\n functionBody: item.onDisabled,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button disabled handler error:', error);\n return false;\n }\n };\n\n const handleHidden = (item: ActionButton): boolean => {\n if (!item.onHidden) return false;\n\n try {\n return executeFunction({\n functionBody: item.onHidden,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button hidden handler error:', error);\n return false;\n }\n };\n\n return {\n getContainer,\n isDisabled,\n containerStyle,\n visibleButtons,\n handleClick,\n handleDisabled\n };\n }\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .button-list-container {\n flex: 1;\n display: flex;\n justify-content: var(--flex);\n\n .button-icon {\n margin-right: 4px;\n }\n }\n</style>\n"],"names":["_sfc_main","defineComponent","SvgIcon","props","containerStyle","computed","isDisabled","_a","getContainer","visibleButtons","handleHidden","item","handleClick","executeFunction","error","handleDisabled"],"mappings":";;;AAiCI,MAAAA,IAAeC,EAAgB;AAAA,EAC3B,MAAM;AAAA,EACN,YAAY,EAAE,SAAAC,EAAA;AAAA,EACd,OAAO;AAAA,IACH,SAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM;AAAA,MAAA;AAAA,IAAC;AAAA,IAEpB,OAAO;AAAA,MACH,MAAM;AAAA,MACN,SAAS,MAAM;AAAA,MAAA;AAAA,IAAC;AAAA,IAEpB,KAAK;AAAA,MACD,MAAM;AAAA,IAAA;AAAA,IAEV,YAAY;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,IAAC;AAAA,IAEpB,aAAa;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,IAAC;AAAA,IAEpB,MAAM;AAAA,MACF,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAEb,aAAa;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EACb;AAAA,EAEJ,MAAMC,GAAO;AACT,UAAMC,IAAiBC,EAAS,OAAO;AAAA,MACnC,UAAUF,EAAM;AAAA,IAAA,EAClB,GAEIG,IAAaD,EAAS,MAAA;;AAAM,gBAACE,IAAAJ,EAAM,YAAN,QAAAI,EAAe,iBAAgB,CAAC,CAACJ,EAAM;AAAA,KAAW,GAE/EK,IAAeH,EAAS,MAAA;;AAAM,cAAAE,IAAAJ,EAAM,YAAN,gBAAAI,EAAe;AAAA,KAAY;AAC/D,YAAQ,IAAI,EAAE,YAAYD,EAAW,OAAO,cAAcE,EAAa,OAAO;AAE9E,UAAMC,IAAiBJ;AAAA,MAAS,MAC5BF,EAAM,WAAW,OAAO,OAAQ,CAACO,EAAaC,CAAI,CAAC;AAAA,IAAA,GAGjDC,IAAc,OAAOD,MAAuB;AAC9C,UAAI,CAAAR,EAAM,eACLQ,EAAK;AACV,YAAI;AACA,gBAAME,EAAgB;AAAA,YAClB,cAAcF,EAAK;AAAA,YACnB,SAASR,EAAM;AAAA,YACf,QAAQA,EAAM;AAAA,UAAA,CACjB;AAAA,QAAA,SACIW,GAAO;AACZ,kBAAQ,MAAM,+BAA+BA,CAAK;AAAA,QAAA;AAAA,IACtD,GAGEC,IAAiB,CAACJ,MAAgC;AACpD,UAAI,CAACA,EAAK,WAAY,QAAO;AAE7B,UAAI;AACA,eAAOE,EAAgB;AAAA,UACnB,cAAcF,EAAK;AAAA,UACnB,SAASR,EAAM;AAAA,UACf,QAAQA,EAAM;AAAA,QAAA,CACjB;AAAA,MAAA,SACIW,GAAO;AACZ,uBAAQ,MAAM,kCAAkCA,CAAK,GAC9C;AAAA,MAAA;AAAA,IACX,GAGEJ,IAAe,CAACC,MAAgC;AAClD,UAAI,CAACA,EAAK,SAAU,QAAO;AAE3B,UAAI;AACA,eAAOE,EAAgB;AAAA,UACnB,cAAcF,EAAK;AAAA,UACnB,SAASR,EAAM;AAAA,UACf,QAAQA,EAAM;AAAA,QAAA,CACjB;AAAA,MAAA,SACIW,GAAO;AACZ,uBAAQ,MAAM,gCAAgCA,CAAK,GAC5C;AAAA,MAAA;AAAA,IACX;AAGJ,WAAO;AAAA,MACH,cAAAN;AAAA,MACA,YAAAF;AAAA,MACA,gBAAAF;AAAA,MACA,gBAAAK;AAAA,MACA,aAAAG;AAAA,MACA,gBAAAG;AAAA,IAAA;AAAA,EACJ;AAER,CAAC;"}
1
+ {"version":3,"file":"ActionButtonListRender.vue2.js","sources":["../../../../src/components/public/ActionButtonListRender.vue"],"sourcesContent":["<template>\n <div\n ref=\"fieldEditor\"\n :class=\"['button-list-container', ...customClass]\"\n :style=\"containerStyle\"\n >\n <Teleport :disabled=\"isDisabled\" :to=\"getContainer\">\n <a-space :size=\"8\">\n <a-button\n v-for=\"item in visibleButtons\"\n :key=\"item.key\"\n :type=\"item.type\"\n :danger=\"item.danger\"\n class=\"tpf-button\"\n :disabled=\"handleDisabled(item)\"\n @click=\"handleClick(item)\"\n >\n <template v-if=\"item.icon\">\n <SvgIcon :icon-class=\"item.icon\" class=\"button-icon\" />\n </template>\n {{ item.label }}\n </a-button>\n </a-space>\n </Teleport>\n </div>\n</template>\n\n<script lang=\"ts\">\n import { defineComponent, computed, PropType } from 'vue';\n import { executeFunction } from '@/utils/executeFunction';\n import SvgIcon from '@/components/svg-icon/index.vue';\n import type { ActionButton } from '@/types/button';\n\n export default defineComponent({\n name: 'ActionButtonListRender',\n components: { SvgIcon },\n props: {\n options: {\n type: Object,\n default: () => {}\n },\n scope: {\n type: Object,\n default: () => {}\n },\n ctx: {\n type: Object\n },\n buttonList: {\n type: Array as PropType<ActionButton[]>,\n default: () => []\n },\n customClass: {\n type: Array as PropType<string[]>,\n default: () => []\n },\n flex: {\n type: String,\n default: 'center'\n },\n designState: {\n type: Boolean,\n default: false\n }\n },\n setup(props) {\n const containerStyle = computed(() => ({\n '--flex': props.flex\n }));\n\n const isDisabled = computed(() => !props.options?.getContainer || !!props.designState);\n\n const getContainer = computed(() => props.options?.getContainer);\n console.log({ isDisabled: isDisabled.value, getContainer: getContainer.value });\n\n const visibleButtons = computed(() =>\n props.buttonList.filter(item => !handleHidden(item))\n );\n\n const handleClick = async (item: ActionButton) => {\n if (props.designState) return; // 在设计状态下不处理点击事件\n if (!item.onClick) return;\n try {\n await executeFunction({\n functionBody: item.onClick,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button click handler error:', error);\n }\n };\n\n const handleDisabled = (item: ActionButton): boolean => {\n if (!item.onDisabled) return false;\n\n try {\n return executeFunction({\n functionBody: item.onDisabled,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button disabled handler error:', error);\n return false;\n }\n };\n\n const handleHidden = (item: ActionButton): boolean => {\n if (!item.onHidden) return false;\n\n try {\n return executeFunction({\n functionBody: item.onHidden,\n context: props.ctx,\n params: props.scope\n });\n } catch (error) {\n console.error('Button hidden handler error:', error);\n return false;\n }\n };\n\n return {\n getContainer,\n isDisabled,\n containerStyle,\n visibleButtons,\n handleClick,\n handleDisabled\n };\n }\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .button-list-container {\n flex: 1;\n display: flex;\n justify-content: var(--flex);\n\n .button-icon {\n margin-right: 4px;\n }\n }\n</style>\n"],"names":["_sfc_main","defineComponent","SvgIcon","props","containerStyle","computed","isDisabled","_a","getContainer","visibleButtons","handleHidden","item","handleClick","executeFunction","error","handleDisabled"],"mappings":";;;AAiCI,MAAAA,IAAeC,EAAgB;AAAA,EAC3B,MAAM;AAAA,EACN,YAAY,EAAE,SAAAC,EAAA;AAAA,EACd,OAAO;AAAA,IACH,SAAS;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM;AAAA,MAAC;AAAA,IAAA;AAAA,IAEpB,OAAO;AAAA,MACH,MAAM;AAAA,MACN,SAAS,MAAM;AAAA,MAAC;AAAA,IAAA;AAAA,IAEpB,KAAK;AAAA,MACD,MAAM;AAAA,IAAA;AAAA,IAEV,YAAY;AAAA,MACR,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,IAAC;AAAA,IAEpB,aAAa;AAAA,MACT,MAAM;AAAA,MACN,SAAS,MAAM,CAAA;AAAA,IAAC;AAAA,IAEpB,MAAM;AAAA,MACF,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,IAEb,aAAa;AAAA,MACT,MAAM;AAAA,MACN,SAAS;AAAA,IAAA;AAAA,EACb;AAAA,EAEJ,MAAMC,GAAO;AACT,UAAMC,IAAiBC,EAAS,OAAO;AAAA,MACnC,UAAUF,EAAM;AAAA,IAAA,EAClB,GAEIG,IAAaD,EAAS,MAAA;;AAAM,gBAACE,IAAAJ,EAAM,YAAN,QAAAI,EAAe,iBAAgB,CAAC,CAACJ,EAAM;AAAA,KAAW,GAE/EK,IAAeH,EAAS,MAAA;;AAAM,cAAAE,IAAAJ,EAAM,YAAN,gBAAAI,EAAe;AAAA,KAAY;AAC/D,YAAQ,IAAI,EAAE,YAAYD,EAAW,OAAO,cAAcE,EAAa,OAAO;AAE9E,UAAMC,IAAiBJ;AAAA,MAAS,MAC5BF,EAAM,WAAW,OAAO,OAAQ,CAACO,EAAaC,CAAI,CAAC;AAAA,IAAA,GAGjDC,IAAc,OAAOD,MAAuB;AAC9C,UAAI,CAAAR,EAAM,eACLQ,EAAK;AACV,YAAI;AACA,gBAAME,EAAgB;AAAA,YAClB,cAAcF,EAAK;AAAA,YACnB,SAASR,EAAM;AAAA,YACf,QAAQA,EAAM;AAAA,UAAA,CACjB;AAAA,QACL,SAASW,GAAO;AACZ,kBAAQ,MAAM,+BAA+BA,CAAK;AAAA,QACtD;AAAA,IACJ,GAEMC,IAAiB,CAACJ,MAAgC;AACpD,UAAI,CAACA,EAAK,WAAY,QAAO;AAE7B,UAAI;AACA,eAAOE,EAAgB;AAAA,UACnB,cAAcF,EAAK;AAAA,UACnB,SAASR,EAAM;AAAA,UACf,QAAQA,EAAM;AAAA,QAAA,CACjB;AAAA,MACL,SAASW,GAAO;AACZ,uBAAQ,MAAM,kCAAkCA,CAAK,GAC9C;AAAA,MACX;AAAA,IACJ,GAEMJ,IAAe,CAACC,MAAgC;AAClD,UAAI,CAACA,EAAK,SAAU,QAAO;AAE3B,UAAI;AACA,eAAOE,EAAgB;AAAA,UACnB,cAAcF,EAAK;AAAA,UACnB,SAASR,EAAM;AAAA,UACf,QAAQA,EAAM;AAAA,QAAA,CACjB;AAAA,MACL,SAASW,GAAO;AACZ,uBAAQ,MAAM,gCAAgCA,CAAK,GAC5C;AAAA,MACX;AAAA,IACJ;AAEA,WAAO;AAAA,MACH,cAAAN;AAAA,MACA,YAAAF;AAAA,MACA,gBAAAF;AAAA,MACA,gBAAAK;AAAA,MACA,aAAAG;AAAA,MACA,gBAAAG;AAAA,IAAA;AAAA,EAER;AACJ,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CustomerModal.vue2.js","sources":["../../../../../src/components/public/CustomerModal/CustomerModal.vue"],"sourcesContent":["<template>\n <TpfModal v-model:visible=\"visible\" v-bind=\"$attrs\" :title=\"title\">\n <VFormRender :vfCtx=\"vfCtx\" ref=\"vfdRef\" />\n <template #footerRight>\n <SubmitButtonRender\n v-model:dialogVisible=\"visible\"\n :options=\"formConfig\"\n :ctx=\"vfdRef\"\n />\n </template>\n </TpfModal>\n</template>\n\n<script setup lang=\"tsx\">\n import { useLowcode } from '@/hooks/useLowcode';\n import { useAttrs, onMounted, nextTick, computed, getCurrentInstance, ref } from 'vue';\n import SubmitButtonRender from '@/components/form-render/SubmitButtonRender.vue';\n import VFormRender from '@/components/form-render/index.vue';\n import { TpfModal } from 'tmgc2-share';\n\n const instance = getCurrentInstance()!;\n\n const attrs = (useAttrs() || {}) as any;\n const visible = ref(false);\n\n type Props = {\n type: string;\n formCode: string;\n };\n\n const props = withDefaults(defineProps<Props>(), {});\n\n const vfCtx = computed(() => {\n return {\n _id: attrs?.row?.record?._id || null,\n type: props.type,\n instance,\n ...attrs\n };\n });\n\n const { vfdRef, formConfig, getComponentJson } = useLowcode({\n formCode: props.formCode,\n type: props.type\n });\n\n const title = computed(() => {\n if (props.type === 'add') return '新增';\n if (props.type === 'edit') return '编辑';\n if (props.type === 'view') return '查看';\n return '新增';\n });\n\n const show = async () => {\n visible.value = true;\n await nextTick();\n await getComponentJson([]);\n console.log('attrs', attrs);\n };\n\n onMounted(() => {\n show();\n });\n</script>\n\n<style lang=\"less\" scoped></style>\n"],"names":["instance","getCurrentInstance","attrs","useAttrs","visible","ref","props","__props","vfCtx","computed","_id","row","record","type","vfdRef","formConfig","getComponentJson","useLowcode","formCode","title","show","value","nextTick","console","log","onMounted","_openBlock","_createBlock","_unref","_mergeProps","$event","$attrs","footerRight","_createVNode","SubmitButtonRender","dialogVisible","options","ctx","VFormRender"],"mappings":";;;;;;;;;;;;AAoBI,UAAMA,IAAWC,EAAkB,GAE7BC,IAASC,EAAQ,KAAM,CAAA,GACvBC,IAAUC,EAAI,EAAK,GAOnBC,IAAQC,GAERC,IAAQC,EAAS,MAAM;;AACzB,aAAO;AAAA,QACHC,OAAKR,KAAAA,IAAAA,KAAAA,gBAAAA,EAAOS,QAAPT,gBAAAA,EAAYU,WAAZV,gBAAAA,EAAoBQ,QAAO;AAAA,QAChCG,MAAMP,EAAMO;AAAAA,QACZb,UAAAA;AAAAA,QACA,GAAGE;AAAAA;IAEX,CAAC,GAEK;AAAA,MAAEY,QAAAA;AAAAA,MAAQC,YAAAA;AAAAA,MAAYC,kBAAAA;AAAAA,QAAqBC,EAAW;AAAA,MACxDC,UAAUZ,EAAMY;AAAAA,MAChBL,MAAMP,EAAMO;AAAAA,IAChB,CAAC,GAEKM,IAAQV,EAAS,MACfH,EAAMO,SAAS,QAAc,OAC7BP,EAAMO,SAAS,SAAe,OAC9BP,EAAMO,SAAS,SAAe,OAC3B,IACV,GAEKO,IAAO,YAAY;AACrBhB,MAAAA,EAAQiB,QAAQ,IAChB,MAAMC,EAAQ,GACd,MAAMN,EAAiB,CAAA,CAAE,GACzBO,QAAQC,IAAI,SAAStB,CAAK;AAAA;AAG9BuB,WAAAA,EAAU,MAAM;AACZL,MAAAA,EAAI;AAAA,IACR,CAAC,cA7DDM,EAAA,GAAAC,EASWC,MATXC,EASW;AAAA,MATOzB,SAASA,EAAAiB;AAAAA,iDAAAjB,EAAOiB,QAAAS;AAAAA,OAAUC,EAAAA,QAAM;AAAA,MAAGZ,OAAOA,EAAAE;AAAAA,IAAK,CAAA,GAAA;AAAA,MAElDW,eACP,MAIE,CAJFC,EAIEC,GAAA;AAAA,QAHUC,eAAe/B,EAAAiB;AAAAA,yDAAAjB,EAAOiB,QAAAS;AAAAA,QAC7BM,SAASR,EAAAb,CAAA;AAAA,QACTsB,KAAKT,EAAAd,CAAA;AAAA;iBALd,MAA2C,CAA3CmB,EAA2CK,GAAA;AAAA,QAA7B9B,OAAOA,EAAAa;AAAAA,iBAAW;AAAA,QAAJhB,KAAIS;AAAAA;;;;;"}
1
+ {"version":3,"file":"CustomerModal.vue2.js","sources":["../../../../../src/components/public/CustomerModal/CustomerModal.vue"],"sourcesContent":["<template>\n <TpfModal v-model:visible=\"visible\" v-bind=\"$attrs\" :title=\"title\">\n <VFormRender :vfCtx=\"vfCtx\" ref=\"vfdRef\" />\n <template #footerRight>\n <SubmitButtonRender\n v-model:dialogVisible=\"visible\"\n :options=\"formConfig\"\n :ctx=\"vfdRef\"\n />\n </template>\n </TpfModal>\n</template>\n\n<script setup lang=\"tsx\">\n import { useLowcode } from '@/hooks/useLowcode';\n import { useAttrs, onMounted, nextTick, computed, getCurrentInstance, ref } from 'vue';\n import SubmitButtonRender from '@/components/form-render/SubmitButtonRender.vue';\n import VFormRender from '@/components/form-render/index.vue';\n import { TpfModal } from 'tmgc2-share';\n\n const instance = getCurrentInstance()!;\n\n const attrs = (useAttrs() || {}) as any;\n const visible = ref(false);\n\n type Props = {\n type: string;\n formCode: string;\n };\n\n const props = withDefaults(defineProps<Props>(), {});\n\n const vfCtx = computed(() => {\n return {\n _id: attrs?.row?.record?._id || null,\n type: props.type,\n instance,\n ...attrs\n };\n });\n\n const { vfdRef, formConfig, getComponentJson } = useLowcode({\n formCode: props.formCode,\n type: props.type\n });\n\n const title = computed(() => {\n if (props.type === 'add') return '新增';\n if (props.type === 'edit') return '编辑';\n if (props.type === 'view') return '查看';\n return '新增';\n });\n\n const show = async () => {\n visible.value = true;\n await nextTick();\n await getComponentJson([]);\n console.log('attrs', attrs);\n };\n\n onMounted(() => {\n show();\n });\n</script>\n\n<style lang=\"less\" scoped></style>\n"],"names":["instance","getCurrentInstance","attrs","useAttrs","visible","ref","props","__props","vfCtx","computed","_id","row","record","type","vfdRef","formConfig","getComponentJson","useLowcode","formCode","title","show","value","nextTick","console","log","onMounted","_openBlock","_createBlock","_unref","_mergeProps","$event","$attrs","footerRight","_createVNode","SubmitButtonRender","dialogVisible","options","ctx","VFormRender"],"mappings":";;;;;;;;;;;;AAoBI,UAAMA,IAAWC,EAAkB,GAE7BC,IAASC,EAAQ,KAAM,CAAA,GACvBC,IAAUC,EAAI,EAAK,GAOnBC,IAAQC,GAERC,IAAQC,EAAS,MAAM;;AACzB,aAAO;AAAA,QACHC,OAAKR,KAAAA,IAAAA,KAAAA,gBAAAA,EAAOS,QAAPT,gBAAAA,EAAYU,WAAZV,gBAAAA,EAAoBQ,QAAO;AAAA,QAChCG,MAAMP,EAAMO;AAAAA,QACZb,UAAAA;AAAAA,QACA,GAAGE;AAAAA;IAEX,CAAC,GAEK;AAAA,MAAEY,QAAAA;AAAAA,MAAQC,YAAAA;AAAAA,MAAYC,kBAAAA;AAAAA,QAAqBC,EAAW;AAAA,MACxDC,UAAUZ,EAAMY;AAAAA,MAChBL,MAAMP,EAAMO;AAAAA,IAChB,CAAC,GAEKM,IAAQV,EAAS,MACfH,EAAMO,SAAS,QAAc,OAC7BP,EAAMO,SAAS,SAAe,OAC9BP,EAAMO,SAAS,SAAe,OAC3B,IACV,GAEKO,IAAO,YAAY;AACrBhB,MAAAA,EAAQiB,QAAQ,IAChB,MAAMC,EAAQ,GACd,MAAMN,EAAiB,CAAA,CAAE,GACzBO,QAAQC,IAAI,SAAStB,CAAK;AAAA,IAC9B;AAEAuB,WAAAA,EAAU,MAAM;AACZL,MAAAA,EAAI;AAAA,IACR,CAAC,cA7DDM,EAAA,GAAAC,EASWC,MATXC,EASW;AAAA,MATOzB,SAASA,EAAAiB;AAAAA,iDAAAjB,EAAOiB,QAAAS;AAAAA,OAAUC,EAAAA,QAAM;AAAA,MAAGZ,OAAOA,EAAAE;AAAAA,IAAK,CAAA,GAAA;AAAA,MAElDW,eACP,MAIE,CAJFC,EAIEC,GAAA;AAAA,QAHUC,eAAe/B,EAAAiB;AAAAA,yDAAAjB,EAAOiB,QAAAS;AAAAA,QAC7BM,SAASR,EAAAb,CAAA;AAAA,QACTsB,KAAKT,EAAAd,CAAA;AAAA;iBALd,MAA2C,CAA3CmB,EAA2CK,GAAA;AAAA,QAA7B9B,OAAOA,EAAAa;AAAAA,iBAAW;AAAA,QAAJhB,KAAIS;AAAAA;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCustomerModal.js","sources":["../../../../../src/components/public/CustomerModal/useCustomerModal.tsx"],"sourcesContent":["import { App, createApp, defineAsyncComponent } from 'vue';\nimport { TpfConfigProvider } from 'tmgc2-share';\n\ntype CustomerModalProps = { type: string; formCode: string } & Record<string, any>;\n\nexport const openCustomerModal = (ops: CustomerModalProps) => {\n console.log('ops: ', ops);\n const { type, formCode, ...args } = ops;\n\n const div = document.createElement('div');\n document.body.appendChild(div);\n const Com = defineAsyncComponent(() => import('./CustomerModal.vue'));\n\n const hide = (modal: App<Element>) => {\n modal.unmount();\n div.remove();\n };\n\n const onCancel = () => {\n console.log('cancel');\n hide(modal);\n };\n\n const modal = createApp(\n <TpfConfigProvider>\n <Com type={type} formCode={formCode} {...{ onCancel }} {...args} />\n </TpfConfigProvider>\n );\n\n // 使用全局的useMountApp函数注册Ant Design组件\n if (window.useMountApp) {\n window.useMountApp(modal);\n }\n\n modal.mount(div);\n};\n\n// export default function useCustomerModal(app: App, useMountApp: (app: App<Element>) => App) {\n// app.config.globalProperties.$openCustomerModal = ops => {\n// openCustomerModal(ops, useMountApp);\n// };\n// }\n"],"names":["openCustomerModal","ops","console","log","type","formCode","args","div","document","createElement","body","appendChild","Com","defineAsyncComponent","hide","modal","unmount","remove","onCancel","createApp","_createVNode","TpfConfigProvider","default","_mergeProps","window","useMountApp","mount"],"mappings":";;AAKO,MAAMA,IAAqBC,CAAAA,MAA4B;AAC1DC,UAAQC,IAAI,SAASF,CAAG;AACxB,QAAM;AAAA,IAAEG,MAAAA;AAAAA,IAAMC,UAAAA;AAAAA,IAAU,GAAGC;AAAAA,EAAK,IAAIL,GAE9BM,IAAMC,SAASC,cAAc,KAAK;AACxCD,WAASE,KAAKC,YAAYJ,CAAG;AAC7B,QAAMK,IAAMC,EAAqB,MAAM,OAAO,wBAAqB,CAAC,GAE9DC,IAAQC,CAAAA,MAAwB;AAClCA,IAAAA,EAAMC,QAAO,GACbT,EAAIU,OAAM;AAAA,KAGRC,IAAWA,MAAM;AACnBhB,YAAQC,IAAI,QAAQ,GACpBW,EAAKC,CAAK;AAAA,KAGRA,IAAQI,EAASC,EAAAC,GAAA,MAAA;AAAA,IAAAC,SAAAA,MAAA,CAAAF,EAAAR,GAAAW,EAAA;AAAA,MAAA,MAEJnB;AAAAA,MAAI,UAAYC;AAAAA,IAAQ,GAAA;AAAA,MAAQa,UAAAA;AAAAA,IAAQ,GAAQZ,CAAI,GAAA,IAAA,CAAA;AAAA,EAAA,CAAA,CAEvE;AAGA,EAAIkB,OAAOC,eACPD,OAAOC,YAAYV,CAAK,GAG5BA,EAAMW,MAAMnB,CAAG;AACnB;"}
1
+ {"version":3,"file":"useCustomerModal.js","sources":["../../../../../src/components/public/CustomerModal/useCustomerModal.tsx"],"sourcesContent":["import { App, createApp, defineAsyncComponent } from 'vue';\nimport { TpfConfigProvider } from 'tmgc2-share';\n\ntype CustomerModalProps = { type: string; formCode: string } & Record<string, any>;\n\nexport const openCustomerModal = (ops: CustomerModalProps) => {\n console.log('ops: ', ops);\n const { type, formCode, ...args } = ops;\n\n const div = document.createElement('div');\n document.body.appendChild(div);\n const Com = defineAsyncComponent(() => import('./CustomerModal.vue'));\n\n const hide = (modal: App<Element>) => {\n modal.unmount();\n div.remove();\n };\n\n const onCancel = () => {\n console.log('cancel');\n hide(modal);\n };\n\n const modal = createApp(\n <TpfConfigProvider>\n <Com type={type} formCode={formCode} {...{ onCancel }} {...args} />\n </TpfConfigProvider>\n );\n\n // 使用全局的useMountApp函数注册Ant Design组件\n if (window.useMountApp) {\n window.useMountApp(modal);\n }\n\n modal.mount(div);\n};\n\n// export default function useCustomerModal(app: App, useMountApp: (app: App<Element>) => App) {\n// app.config.globalProperties.$openCustomerModal = ops => {\n// openCustomerModal(ops, useMountApp);\n// };\n// }\n"],"names":["openCustomerModal","ops","console","log","type","formCode","args","div","document","createElement","body","appendChild","Com","defineAsyncComponent","hide","modal","unmount","remove","onCancel","createApp","_createVNode","TpfConfigProvider","default","_mergeProps","window","useMountApp","mount"],"mappings":";;AAKO,MAAMA,IAAqBC,CAAAA,MAA4B;AAC1DC,UAAQC,IAAI,SAASF,CAAG;AACxB,QAAM;AAAA,IAAEG,MAAAA;AAAAA,IAAMC,UAAAA;AAAAA,IAAU,GAAGC;AAAAA,EAAK,IAAIL,GAE9BM,IAAMC,SAASC,cAAc,KAAK;AACxCD,WAASE,KAAKC,YAAYJ,CAAG;AAC7B,QAAMK,IAAMC,EAAqB,MAAM,OAAO,wBAAqB,CAAC,GAE9DC,IAAQC,CAAAA,MAAwB;AAClCA,IAAAA,EAAMC,QAAO,GACbT,EAAIU,OAAM;AAAA,EACd,GAEMC,IAAWA,MAAM;AACnBhB,YAAQC,IAAI,QAAQ,GACpBW,EAAKC,CAAK;AAAA,EACd,GAEMA,IAAQI,EAASC,EAAAC,GAAA,MAAA;AAAA,IAAAC,SAAAA,MAAA,CAAAF,EAAAR,GAAAW,EAAA;AAAA,MAAA,MAEJnB;AAAAA,MAAI,UAAYC;AAAAA,IAAQ,GAAA;AAAA,MAAQa,UAAAA;AAAAA,IAAQ,GAAQZ,CAAI,GAAA,IAAA,CAAA;AAAA,EAAA,CAAA,CAEvE;AAGA,EAAIkB,OAAOC,eACPD,OAAOC,YAAYV,CAAK,GAG5BA,EAAMW,MAAMnB,CAAG;AACnB;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue.js","sources":["../../../../../src/components/public/QuillEditor/index.vue"],"sourcesContent":["<template>\n <section ref=\"editor\"></section>\n</template>\n\n<script>\nimport 'quill/dist/quill.core.css'\nimport 'quill/dist/quill.snow.css'\nimport 'quill/dist/quill.bubble.css'\n\nimport Quill from 'quill'\nimport { onMounted, ref, watch, onUnmounted, onBeforeUnmount } from 'vue'\n\nconst defaultOptions = {\n theme: 'snow',\n boundary: document.body,\n modules: {\n toolbar: [\n ['bold', 'italic', 'underline', 'strike'],\n ['blockquote', 'code-block'],\n [{ header: 1 }, { header: 2 }],\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ script: 'sub' }, { script: 'super' }],\n [{ indent: '-1' }, { indent: '+1' }],\n [{ direction: 'rtl' }],\n [{ size: ['small', false, 'large', 'huge'] }],\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\n [{ color: [] }, { background: [] }],\n [{ font: [] }],\n [{ align: [] }],\n ['clean'],\n ['link', 'image', 'video']\n ]\n },\n placeholder: 'Insert content here ...',\n readOnly: false\n}\nexport default {\n name: 'quill-editor',\n props: {\n content: String,\n value: String,\n disabled: {\n type: Boolean,\n default: false\n },\n options: {\n type: Object,\n required: false,\n default: () => ({})\n }\n },\n emits: ['ready', 'change', 'input', 'blur', 'focus', 'update:value'],\n setup(props, context) {\n const state = {\n editorOption: {},\n quill: null\n }\n\n let _content = ''\n\n watch(\n () => props.value,\n val => {\n if (state.quill) {\n if (val && val !== _content) {\n _content = val\n state.quill.pasteHTML(val)\n } else if (!val) {\n state.quill.setText('')\n }\n }\n }\n )\n\n watch(\n () => props.content,\n val => {\n if (state.quill) {\n if (val && val !== _content) {\n _content = val\n state.quill.pasteHTML(val)\n } else if (!val) {\n state.quill.setText('')\n }\n }\n }\n )\n\n watch(\n () => props.disabled,\n val => {\n if (state.quill) {\n state.quill.enable(!val)\n }\n }\n )\n\n const editor = ref(null)\n\n const mergeOptions = (def, custom) => {\n for (const key in custom) {\n if (!def[key] || key !== 'modules') {\n def[key] = custom[key]\n } else {\n mergeOptions(def[key], custom[key])\n }\n }\n return def\n }\n\n const initialize = () => {\n if (editor.value) {\n // Options\n state.editorOption = mergeOptions(defaultOptions, props.options)\n state.editorOption.readOnly = props.disabled ? true : false\n // Instance\n state.quill = new Quill(editor.value, state.editorOption)\n // console.log('intilized')\n\n // Set editor content\n if (props.value) {\n state.quill.pasteHTML(props.value)\n }\n\n // Mark model as touched if editor lost focus\n state.quill.on('selection-change', range => {\n if (!range) {\n context.emit('blur', state.quill)\n } else {\n context.emit('focus', state.quill)\n }\n })\n // Update model if text changes\n state.quill.on('text-change', () => {\n // diabled editor after content initialized\n if (props.disabled) {\n state.quill.enable(false)\n }\n let html = editor.value.children[0].innerHTML\n const quill = state.quill\n const text = state.quill.getText()\n if (html === '<p><br></p>') html = ''\n _content = html\n context.emit('update:value', _content)\n context.emit('change', { html, text, quill })\n })\n\n // Emit ready event\n context.emit('ready', state.quill)\n }\n }\n\n onBeforeUnmount(() => {\n const editorToolbar = editor.value.previousSibling\n if (editorToolbar && editorToolbar.nodeType === 1 && editorToolbar.className.indexOf('ql-toolbar') > -1) {\n editorToolbar.parentNode.removeChild(editorToolbar)\n }\n })\n\n onMounted(() => {\n initialize()\n })\n\n onUnmounted(() => {\n state.quill = null\n })\n\n return { editor }\n }\n}\n</script>\n\n"],"names":["defaultOptions","_sfc_main","props","context","state","_content","watch","val","editor","ref","mergeOptions","def","custom","key","initialize","Quill","range","html","quill","text","onBeforeUnmount","editorToolbar","onMounted","onUnmounted","_hoisted_1","_openBlock","_createElementBlock"],"mappings":"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"}
1
+ {"version":3,"file":"index.vue.js","sources":["../../../../../src/components/public/QuillEditor/index.vue"],"sourcesContent":["<template>\n <section ref=\"editor\"></section>\n</template>\n\n<script>\nimport 'quill/dist/quill.core.css'\nimport 'quill/dist/quill.snow.css'\nimport 'quill/dist/quill.bubble.css'\n\nimport Quill from 'quill'\nimport { onMounted, ref, watch, onUnmounted, onBeforeUnmount } from 'vue'\n\nconst defaultOptions = {\n theme: 'snow',\n boundary: document.body,\n modules: {\n toolbar: [\n ['bold', 'italic', 'underline', 'strike'],\n ['blockquote', 'code-block'],\n [{ header: 1 }, { header: 2 }],\n [{ list: 'ordered' }, { list: 'bullet' }],\n [{ script: 'sub' }, { script: 'super' }],\n [{ indent: '-1' }, { indent: '+1' }],\n [{ direction: 'rtl' }],\n [{ size: ['small', false, 'large', 'huge'] }],\n [{ header: [1, 2, 3, 4, 5, 6, false] }],\n [{ color: [] }, { background: [] }],\n [{ font: [] }],\n [{ align: [] }],\n ['clean'],\n ['link', 'image', 'video']\n ]\n },\n placeholder: 'Insert content here ...',\n readOnly: false\n}\nexport default {\n name: 'quill-editor',\n props: {\n content: String,\n value: String,\n disabled: {\n type: Boolean,\n default: false\n },\n options: {\n type: Object,\n required: false,\n default: () => ({})\n }\n },\n emits: ['ready', 'change', 'input', 'blur', 'focus', 'update:value'],\n setup(props, context) {\n const state = {\n editorOption: {},\n quill: null\n }\n\n let _content = ''\n\n watch(\n () => props.value,\n val => {\n if (state.quill) {\n if (val && val !== _content) {\n _content = val\n state.quill.pasteHTML(val)\n } else if (!val) {\n state.quill.setText('')\n }\n }\n }\n )\n\n watch(\n () => props.content,\n val => {\n if (state.quill) {\n if (val && val !== _content) {\n _content = val\n state.quill.pasteHTML(val)\n } else if (!val) {\n state.quill.setText('')\n }\n }\n }\n )\n\n watch(\n () => props.disabled,\n val => {\n if (state.quill) {\n state.quill.enable(!val)\n }\n }\n )\n\n const editor = ref(null)\n\n const mergeOptions = (def, custom) => {\n for (const key in custom) {\n if (!def[key] || key !== 'modules') {\n def[key] = custom[key]\n } else {\n mergeOptions(def[key], custom[key])\n }\n }\n return def\n }\n\n const initialize = () => {\n if (editor.value) {\n // Options\n state.editorOption = mergeOptions(defaultOptions, props.options)\n state.editorOption.readOnly = props.disabled ? true : false\n // Instance\n state.quill = new Quill(editor.value, state.editorOption)\n // console.log('intilized')\n\n // Set editor content\n if (props.value) {\n state.quill.pasteHTML(props.value)\n }\n\n // Mark model as touched if editor lost focus\n state.quill.on('selection-change', range => {\n if (!range) {\n context.emit('blur', state.quill)\n } else {\n context.emit('focus', state.quill)\n }\n })\n // Update model if text changes\n state.quill.on('text-change', () => {\n // diabled editor after content initialized\n if (props.disabled) {\n state.quill.enable(false)\n }\n let html = editor.value.children[0].innerHTML\n const quill = state.quill\n const text = state.quill.getText()\n if (html === '<p><br></p>') html = ''\n _content = html\n context.emit('update:value', _content)\n context.emit('change', { html, text, quill })\n })\n\n // Emit ready event\n context.emit('ready', state.quill)\n }\n }\n\n onBeforeUnmount(() => {\n const editorToolbar = editor.value.previousSibling\n if (editorToolbar && editorToolbar.nodeType === 1 && editorToolbar.className.indexOf('ql-toolbar') > -1) {\n editorToolbar.parentNode.removeChild(editorToolbar)\n }\n })\n\n onMounted(() => {\n initialize()\n })\n\n onUnmounted(() => {\n state.quill = null\n })\n\n return { editor }\n }\n}\n</script>\n\n"],"names":["defaultOptions","_sfc_main","props","context","state","_content","watch","val","editor","ref","mergeOptions","def","custom","key","initialize","Quill","range","html","quill","text","onBeforeUnmount","editorToolbar","onMounted","onUnmounted","_hoisted_1","_openBlock","_createElementBlock"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"methoad-item.vue.js","sources":["../../../../src/components/public/methoad-item.vue"],"sourcesContent":["<template>\n <a-form-item :label=\"eventName\" label-width=\"150px\">\n <a-button\n plain\n shape=\"round\"\n :class=\"[getFormEventHandled(eventName) ? 'button-text-highlight' : '']\"\n @click=\"editFormEventHandler()\"\n >\n {{ i18nt('designer.setting.addEventHandler') }}\n </a-button>\n </a-form-item>\n</template>\n\n<script lang=\"ts\" setup>\n import { useI18n } from '@/utils/i18n';\n const { i18nt } = useI18n();\n\n const props = withDefaults(\n defineProps<{\n eventName: string;\n eventParamsMap: Record<string, string>;\n formConfig: Record<string, any>;\n getFormEventHandled: (value) => string;\n }>(),\n {}\n );\n const emit = defineEmits<{\n (e: 'click-item', value: any): void;\n }>();\n\n const editFormEventHandler = () => {\n emit('click-item', {\n eventName: props.eventName,\n mode: 'javascript',\n isShowEventHeader: true,\n title: i18nt('designer.setting.editFormEventHandler'),\n eventHeader: 'form.' + props.eventParamsMap[props.eventName]\n });\n };\n</script>\n"],"names":["i18nt","useI18n","props","__props","emit","__emit","editFormEventHandler","_createBlock","_component_a_form_item","eventName","_createVNode","_component_a_button","_normalizeClass","getFormEventHandled","_unref"],"mappings":";;;;;;;;;;;;AAeI,UAAM,EAAE,OAAAA,EAAA,IAAUC,EAAA,GAEZC,IAAQC,GASRC,IAAOC,GAIPC,IAAuB,MAAM;AAC/B,MAAAF,EAAK,cAAc;AAAA,QACf,WAAWF,EAAM;AAAA,QACjB,MAAM;AAAA,QACN,mBAAmB;AAAA,QACnB,OAAOF,EAAM,uCAAuC;AAAA,QACpD,aAAa,UAAUE,EAAM,eAAeA,EAAM,SAAS;AAAA,MAAA,CAC9D;AAAA,IAAA;;;kBApCLK,EAScC,GAAA;AAAA,QATA,OAAOC,EAAAA;AAAAA,QAAW,eAAY;AAAA,MAAA;mBACxC,MAOW;AAAA,UAPXC,EAOWC,GAAA;AAAA,YANP,OAAA;AAAA,YACA,OAAM;AAAA,YACL,OAAKC,EAAA,CAAGC,EAAAA,oBAAoBJ,EAAAA,SAAS,IAAA,0BAAA,EAAA,CAAA;AAAA,YACrC,gCAAOH,EAAA;AAAA,UAAoB;uBAE5B,MAA+C;AAAA,kBAA5CQ,EAAAd,CAAA,EAAK,kCAAA,CAAA,GAAA,CAAA;AAAA,YAAA;;;;;;;;;"}
1
+ {"version":3,"file":"methoad-item.vue.js","sources":["../../../../src/components/public/methoad-item.vue"],"sourcesContent":["<template>\n <a-form-item :label=\"eventName\" label-width=\"150px\">\n <a-button\n plain\n shape=\"round\"\n :class=\"[getFormEventHandled(eventName) ? 'button-text-highlight' : '']\"\n @click=\"editFormEventHandler()\"\n >\n {{ i18nt('designer.setting.addEventHandler') }}\n </a-button>\n </a-form-item>\n</template>\n\n<script lang=\"ts\" setup>\n import { useI18n } from '@/utils/i18n';\n const { i18nt } = useI18n();\n\n const props = withDefaults(\n defineProps<{\n eventName: string;\n eventParamsMap: Record<string, string>;\n formConfig: Record<string, any>;\n getFormEventHandled: (value) => string;\n }>(),\n {}\n );\n const emit = defineEmits<{\n (e: 'click-item', value: any): void;\n }>();\n\n const editFormEventHandler = () => {\n emit('click-item', {\n eventName: props.eventName,\n mode: 'javascript',\n isShowEventHeader: true,\n title: i18nt('designer.setting.editFormEventHandler'),\n eventHeader: 'form.' + props.eventParamsMap[props.eventName]\n });\n };\n</script>\n"],"names":["i18nt","useI18n","props","__props","emit","__emit","editFormEventHandler","_createBlock","_component_a_form_item","eventName","_createVNode","_component_a_button","_normalizeClass","getFormEventHandled","_unref"],"mappings":";;;;;;;;;;;;AAeI,UAAM,EAAE,OAAAA,EAAA,IAAUC,EAAA,GAEZC,IAAQC,GASRC,IAAOC,GAIPC,IAAuB,MAAM;AAC/B,MAAAF,EAAK,cAAc;AAAA,QACf,WAAWF,EAAM;AAAA,QACjB,MAAM;AAAA,QACN,mBAAmB;AAAA,QACnB,OAAOF,EAAM,uCAAuC;AAAA,QACpD,aAAa,UAAUE,EAAM,eAAeA,EAAM,SAAS;AAAA,MAAA,CAC9D;AAAA,IACL;;;kBArCAK,EAScC,GAAA;AAAA,QATA,OAAOC,EAAAA;AAAAA,QAAW,eAAY;AAAA,MAAA;mBACxC,MAOW;AAAA,UAPXC,EAOWC,GAAA;AAAA,YANP,OAAA;AAAA,YACA,OAAM;AAAA,YACL,OAAKC,EAAA,CAAGC,EAAAA,oBAAoBJ,EAAAA,SAAS,IAAA,0BAAA,EAAA,CAAA;AAAA,YACrC,gCAAOH,EAAA;AAAA,UAAoB;uBAE5B,MAA+C;AAAA,kBAA5CQ,EAAAd,CAAA,EAAK,kCAAA,CAAA,GAAA,CAAA;AAAA,YAAA;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"FileIcon.js","sources":["../../../../src/components/svg-icon/FileIcon.tsx"],"sourcesContent":["import { defineComponent, PropType } from 'vue';\nimport { IFileObjectType } from '@/types/fileObject';\nimport SvgIcon from './index.vue';\nimport { FileOutlined } from '@ant-design/icons-vue';\n\nexport default defineComponent({\n name: 'FileIcon',\n props: {\n file: {\n type: Object as PropType<IFileObjectType>,\n required: true\n }\n },\n setup(props) {\n return () => {\n const fieldTypes = props.file.fileType || '';\n try {\n if (['.xls', '.xlsx'].includes(fieldTypes.toLowerCase())) {\n return <SvgIcon icon-class=\"excel\" />;\n }\n if (['.doc', '.docx'].includes(fieldTypes.toLowerCase())) {\n return <SvgIcon icon-class=\"word\" />;\n }\n if (['.pdf'].includes(fieldTypes.toLowerCase())) {\n return <SvgIcon icon-class=\"pdf\" />;\n }\n } catch {}\n return <FileOutlined />;\n };\n }\n});\n"],"names":["FileIcon","name","props","file","type","Object","required","setup","fieldTypes","fileType","includes","toLowerCase","_createVNode","SvgIcon","FileOutlined"],"mappings":";;;AAKA,MAAAA,sBAA+B;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACLC,MAAM;AAAA,MACJC,MAAMC;AAAAA,MACNC,UAAU;AAAA,IACZ;AAAA;EAEFC,MAAML,GAAO;AACX,WAAO,MAAM;AACX,YAAMM,IAAaN,EAAMC,KAAKM,YAAY;AAC1C,UAAI;AACF,YAAI,CAAC,QAAQ,OAAO,EAAEC,SAASF,EAAWG,YAAW,CAAE;AACrD,iBAAAC,EAAAC,GAAA;AAAA,YAAA,cAAA;AAAA,UAAA,GAAA,IAAA;AAEF,YAAI,CAAC,QAAQ,OAAO,EAAEH,SAASF,EAAWG,YAAW,CAAE;AACrD,iBAAAC,EAAAC,GAAA;AAAA,YAAA,cAAA;AAAA,UAAA,GAAA,IAAA;AAEF,YAAI,CAAC,MAAM,EAAEH,SAASF,EAAWG,YAAW,CAAE;AAC5C,iBAAAC,EAAAC,GAAA;AAAA,YAAA,cAAA;AAAA,UAAA,GAAA,IAAA;AAAA,cAEI;AAAA,MAAA;AACR,aAAAD,EAAAE,GAAA,MAAA,IAAA;AAAA;EAEJ;AACF,CAAC;"}
1
+ {"version":3,"file":"FileIcon.js","sources":["../../../../src/components/svg-icon/FileIcon.tsx"],"sourcesContent":["import { defineComponent, PropType } from 'vue';\nimport { IFileObjectType } from '@/types/fileObject';\nimport SvgIcon from './index.vue';\nimport { FileOutlined } from '@ant-design/icons-vue';\n\nexport default defineComponent({\n name: 'FileIcon',\n props: {\n file: {\n type: Object as PropType<IFileObjectType>,\n required: true\n }\n },\n setup(props) {\n return () => {\n const fieldTypes = props.file.fileType || '';\n try {\n if (['.xls', '.xlsx'].includes(fieldTypes.toLowerCase())) {\n return <SvgIcon icon-class=\"excel\" />;\n }\n if (['.doc', '.docx'].includes(fieldTypes.toLowerCase())) {\n return <SvgIcon icon-class=\"word\" />;\n }\n if (['.pdf'].includes(fieldTypes.toLowerCase())) {\n return <SvgIcon icon-class=\"pdf\" />;\n }\n } catch {}\n return <FileOutlined />;\n };\n }\n});\n"],"names":["FileIcon","name","props","file","type","Object","required","setup","fieldTypes","fileType","includes","toLowerCase","_createVNode","SvgIcon","FileOutlined"],"mappings":";;;AAKA,MAAAA,sBAA+B;AAAA,EAC7BC,MAAM;AAAA,EACNC,OAAO;AAAA,IACLC,MAAM;AAAA,MACJC,MAAMC;AAAAA,MACNC,UAAU;AAAA,IACZ;AAAA;EAEFC,MAAML,GAAO;AACX,WAAO,MAAM;AACX,YAAMM,IAAaN,EAAMC,KAAKM,YAAY;AAC1C,UAAI;AACF,YAAI,CAAC,QAAQ,OAAO,EAAEC,SAASF,EAAWG,YAAW,CAAE;AACrD,iBAAAC,EAAAC,GAAA;AAAA,YAAA,cAAA;AAAA,UAAA,GAAA,IAAA;AAEF,YAAI,CAAC,QAAQ,OAAO,EAAEH,SAASF,EAAWG,YAAW,CAAE;AACrD,iBAAAC,EAAAC,GAAA;AAAA,YAAA,cAAA;AAAA,UAAA,GAAA,IAAA;AAEF,YAAI,CAAC,MAAM,EAAEH,SAASF,EAAWG,YAAW,CAAE;AAC5C,iBAAAC,EAAAC,GAAA;AAAA,YAAA,cAAA;AAAA,UAAA,GAAA,IAAA;AAAA,MAEJ,QAAQ;AAAA,MAAC;AACT,aAAAD,EAAAE,GAAA,MAAA,IAAA;AAAA,IACF;AAAA,EACF;AACF,CAAC;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TpfConfirm.js","sources":["../../../src/hooks/TpfConfirm.jsx"],"sourcesContent":["import SvgIcon from '@/components/svg-icon';\nimport { Modal } from 'ant-design-vue';\n\nexport const TpfConfirm = ops => {\n const option = typeof ops === 'string' ? {} : ops;\n const { type = 'confirm' } = option;\n return new Promise((resolve, reject) => {\n Modal[type]({\n class: 'tpf-model-confirm',\n centered: true,\n icon: (\n <span class=\"anticon anticon-exclamation-circle\">\n <SvgIcon iconClass=\"el-error-circle\" />\n </span>\n ),\n title: '确认删除',\n okText: '确定',\n cancelText: '取消',\n closable: false,\n onOk() {\n resolve('confirm');\n },\n onCancel: () => {\n reject('cancel');\n },\n ...option\n });\n });\n};\n"],"names":["TpfConfirm","ops","option","type","Promise","resolve","reject","Modal","class","centered","icon","_createVNode","SvgIcon","title","okText","cancelText","closable","onOk","onCancel"],"mappings":";;;AAGO,MAAMA,IAAaC,CAAAA,MAAO;AAC/B,QAAMC,IAAS,OAAOD,KAAQ,WAAW,CAAA,IAAKA,GACxC;AAAA,IAAEE,MAAAA,IAAO;AAAA,EAAU,IAAID;AAC7B,SAAO,IAAIE,QAAQ,CAACC,GAASC,MAAW;AACtCC,IAAAA,EAAMJ,CAAI,EAAE;AAAA,MACVK,OAAO;AAAA,MACPC,UAAU;AAAA,MACVC,MAAIC,EAAA,QAAA;AAAA,QAAA,OAAA;AAAA,SAAA,CAAAA,EAAAC,GAAA;AAAA,QAAA,WAAA;AAAA,SAAA,IAAA,CAAA,CAAA;AAAA,MAKJC,OAAO;AAAA,MACPC,QAAQ;AAAA,MACRC,YAAY;AAAA,MACZC,UAAU;AAAA,MACVC,OAAO;AACLZ,QAAAA,EAAQ,SAAS;AAAA;MAEnBa,UAAUA,MAAM;AACdZ,QAAAA,EAAO,QAAQ;AAAA;MAEjB,GAAGJ;AAAAA,IACL,CAAC;AAAA,EACH,CAAC;AACH;"}
1
+ {"version":3,"file":"TpfConfirm.js","sources":["../../../src/hooks/TpfConfirm.jsx"],"sourcesContent":["import SvgIcon from '@/components/svg-icon';\nimport { Modal } from 'ant-design-vue';\n\nexport const TpfConfirm = ops => {\n const option = typeof ops === 'string' ? {} : ops;\n const { type = 'confirm' } = option;\n return new Promise((resolve, reject) => {\n Modal[type]({\n class: 'tpf-model-confirm',\n centered: true,\n icon: (\n <span class=\"anticon anticon-exclamation-circle\">\n <SvgIcon iconClass=\"el-error-circle\" />\n </span>\n ),\n title: '确认删除',\n okText: '确定',\n cancelText: '取消',\n closable: false,\n onOk() {\n resolve('confirm');\n },\n onCancel: () => {\n reject('cancel');\n },\n ...option\n });\n });\n};\n"],"names":["TpfConfirm","ops","option","type","Promise","resolve","reject","Modal","class","centered","icon","_createVNode","SvgIcon","title","okText","cancelText","closable","onOk","onCancel"],"mappings":";;;AAGO,MAAMA,IAAaC,CAAAA,MAAO;AAC/B,QAAMC,IAAS,OAAOD,KAAQ,WAAW,CAAA,IAAKA,GACxC;AAAA,IAAEE,MAAAA,IAAO;AAAA,EAAU,IAAID;AAC7B,SAAO,IAAIE,QAAQ,CAACC,GAASC,MAAW;AACtCC,IAAAA,EAAMJ,CAAI,EAAE;AAAA,MACVK,OAAO;AAAA,MACPC,UAAU;AAAA,MACVC,MAAIC,EAAA,QAAA;AAAA,QAAA,OAAA;AAAA,SAAA,CAAAA,EAAAC,GAAA;AAAA,QAAA,WAAA;AAAA,SAAA,IAAA,CAAA,CAAA;AAAA,MAKJC,OAAO;AAAA,MACPC,QAAQ;AAAA,MACRC,YAAY;AAAA,MACZC,UAAU;AAAA,MACVC,OAAO;AACLZ,QAAAA,EAAQ,SAAS;AAAA,MACnB;AAAA,MACAa,UAAUA,MAAM;AACdZ,QAAAA,EAAO,QAAQ;AAAA,MACjB;AAAA,MACA,GAAGJ;AAAAA,IACL,CAAC;AAAA,EACH,CAAC;AACH;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFilePreview.js","sources":["../../../src/hooks/useFilePreview.ts"],"sourcesContent":["import { useFilesystemApi } from '@/api/useFilesystemApi';\nimport { IFileObjectType } from '@/types/fileObject';\nimport { ref } from 'vue';\nimport { getUserInfo } from '@kp-ui/tool';\nimport queryString from 'query-string';\n\n/**\n * 获取当前前端的域名\n * @returns\n */\nconst getDoMain = () => {\n const VITE_APP_DO_MAIN = import.meta.env.VITE_APP_DO_MAIN;\n if (import.meta.env.VITE_NODE_ENV === 'development') {\n return VITE_APP_DO_MAIN;\n }\n return window.location.origin;\n};\n\nexport function useFilePreview() {\n const fileUrlCache = ref(new Map<string, string>());\n const previewVisible = ref(false);\n const previewTitle = ref('');\n const previewImage = ref('');\n const filesystemApi = useFilesystemApi();\n\n const getPreviewFileUrl = async (fileCode: string) => {\n if (fileUrlCache.value.has(fileCode)) {\n return fileUrlCache.value.get(fileCode);\n }\n const fileUrlObj = await filesystemApi.getPreviewFileUrl({ fileCode: fileCode });\n fileUrlCache.value.set(fileCode, fileUrlObj.data.value);\n return fileUrlObj.data.value;\n };\n\n const getPreviewData = async (data: IFileObjectType[]) => {\n const res = data.map(async item => {\n return {\n ...item,\n previewUrl: await getPreviewFileUrl(item.fileCode as string)\n };\n });\n return Promise.all(res);\n };\n\n const handlePreview = async (file: IFileObjectType) => {\n if (!['.png', '.jpg', '.jpeg', '.gif'].includes(file.fileType || '')) {\n const { tokenId, tenantId, employeeId } = getUserInfo();\n const doMain = getDoMain();\n const obj = {\n tenantId,\n tokenId,\n employeeId,\n fileCode: file.fileCode\n };\n window.open(`${doMain}/view-file/preview?${queryString.stringify(obj)}`);\n } else {\n previewTitle.value = file.fileName;\n previewImage.value = await getPreviewFileUrl(file.fileCode as string);\n previewVisible.value = true;\n }\n };\n\n // 处理文件下载\n const handleDownload = async (file: IFileObjectType) => {\n try {\n await filesystemApi.downloadFileObject({ fileCode: file.fileCode });\n } catch (error) {\n console.error('下载文件失败:', error);\n }\n };\n\n const handleCancel = () => {\n previewVisible.value = false;\n };\n\n return {\n previewVisible,\n previewTitle,\n fileUrlCache,\n previewImage,\n handleCancel,\n handleDownload,\n handlePreview,\n getPreviewData,\n getPreviewFileUrl\n };\n}\n"],"names":["getDoMain","useFilePreview","fileUrlCache","ref","previewVisible","previewTitle","previewImage","filesystemApi","useFilesystemApi","getPreviewFileUrl","fileCode","fileUrlObj","file","error","tokenId","tenantId","employeeId","getUserInfo","doMain","obj","queryString","data","res","item"],"mappings":";;;;AAUA,MAAMA,IAAY,MAKP,OAAO,SAAS;AAGpB,SAASC,IAAiB;AAC7B,QAAMC,IAAeC,EAAI,oBAAI,KAAqB,GAC5CC,IAAiBD,EAAI,EAAK,GAC1BE,IAAeF,EAAI,EAAE,GACrBG,IAAeH,EAAI,EAAE,GACrBI,IAAgBC,EAAA,GAEhBC,IAAoB,OAAOC,MAAqB;AAClD,QAAIR,EAAa,MAAM,IAAIQ,CAAQ;AAC/B,aAAOR,EAAa,MAAM,IAAIQ,CAAQ;AAE1C,UAAMC,IAAa,MAAMJ,EAAc,kBAAkB,EAAE,UAAAG,GAAoB;AAC/E,WAAAR,EAAa,MAAM,IAAIQ,GAAUC,EAAW,KAAK,KAAK,GAC/CA,EAAW,KAAK;AAAA,EAAA;AA4C3B,SAAO;AAAA,IACH,gBAAAP;AAAA,IACA,cAAAC;AAAA,IACA,cAAAH;AAAA,IACA,cAAAI;AAAA,IACA,cATiB,MAAM;AACvB,MAAAF,EAAe,QAAQ;AAAA,IAAA;AAAA,IASvB,gBAlBmB,OAAOQ,MAA0B;AACpD,UAAI;AACA,cAAML,EAAc,mBAAmB,EAAE,UAAUK,EAAK,UAAU;AAAA,MAAA,SAC7DC,GAAO;AACZ,gBAAQ,MAAM,WAAWA,CAAK;AAAA,MAAA;AAAA,IAClC;AAAA,IAcA,eAtCkB,OAAOD,MAA0B;AACnD,UAAK,CAAC,QAAQ,QAAQ,SAAS,MAAM,EAAE,SAASA,EAAK,YAAY,EAAE;AAW/D,QAAAP,EAAa,QAAQO,EAAK,UAC1BN,EAAa,QAAQ,MAAMG,EAAkBG,EAAK,QAAkB,GACpER,EAAe,QAAQ;AAAA,WAb2C;AAClE,cAAM,EAAE,SAAAU,GAAS,UAAAC,GAAU,YAAAC,EAAA,IAAeC,EAAA,GACpCC,IAASlB,EAAA,GACTmB,IAAM;AAAA,UACR,UAAAJ;AAAA,UACA,SAAAD;AAAA,UACA,YAAAE;AAAA,UACA,UAAUJ,EAAK;AAAA,QAAA;AAEnB,eAAO,KAAK,GAAGM,CAAM,sBAAsBE,EAAY,UAAUD,CAAG,CAAC,EAAE;AAAA,MAAA;AAAA,IAK3E;AAAA,IAwBA,gBAjDmB,OAAOE,MAA4B;AACtD,YAAMC,IAAMD,EAAK,IAAI,OAAME,OAChB;AAAA,QACH,GAAGA;AAAA,QACH,YAAY,MAAMd,EAAkBc,EAAK,QAAkB;AAAA,MAAA,EAElE;AACD,aAAO,QAAQ,IAAID,CAAG;AAAA,IAAA;AAAA,IA2CtB,mBAAAb;AAAA,EAAA;AAER;"}
1
+ {"version":3,"file":"useFilePreview.js","sources":["../../../src/hooks/useFilePreview.ts"],"sourcesContent":["import { useFilesystemApi } from '@/api/useFilesystemApi';\nimport { IFileObjectType } from '@/types/fileObject';\nimport { ref } from 'vue';\nimport { getUserInfo } from '@kp-ui/tool';\nimport queryString from 'query-string';\n\n/**\n * 获取当前前端的域名\n * @returns\n */\nconst getDoMain = () => {\n const VITE_APP_DO_MAIN = import.meta.env.VITE_APP_DO_MAIN;\n if (import.meta.env.VITE_NODE_ENV === 'development') {\n return VITE_APP_DO_MAIN;\n }\n return window.location.origin;\n};\n\nexport function useFilePreview() {\n const fileUrlCache = ref(new Map<string, string>());\n const previewVisible = ref(false);\n const previewTitle = ref('');\n const previewImage = ref('');\n const filesystemApi = useFilesystemApi();\n\n const getPreviewFileUrl = async (fileCode: string) => {\n if (fileUrlCache.value.has(fileCode)) {\n return fileUrlCache.value.get(fileCode);\n }\n const fileUrlObj = await filesystemApi.getPreviewFileUrl({ fileCode: fileCode });\n fileUrlCache.value.set(fileCode, fileUrlObj.data.value);\n return fileUrlObj.data.value;\n };\n\n const getPreviewData = async (data: IFileObjectType[]) => {\n const res = data.map(async item => {\n return {\n ...item,\n previewUrl: await getPreviewFileUrl(item.fileCode as string)\n };\n });\n return Promise.all(res);\n };\n\n const handlePreview = async (file: IFileObjectType) => {\n if (!['.png', '.jpg', '.jpeg', '.gif'].includes(file.fileType || '')) {\n const { tokenId, tenantId, employeeId } = getUserInfo();\n const doMain = getDoMain();\n const obj = {\n tenantId,\n tokenId,\n employeeId,\n fileCode: file.fileCode\n };\n window.open(`${doMain}/view-file/preview?${queryString.stringify(obj)}`);\n } else {\n previewTitle.value = file.fileName;\n previewImage.value = await getPreviewFileUrl(file.fileCode as string);\n previewVisible.value = true;\n }\n };\n\n // 处理文件下载\n const handleDownload = async (file: IFileObjectType) => {\n try {\n await filesystemApi.downloadFileObject({ fileCode: file.fileCode });\n } catch (error) {\n console.error('下载文件失败:', error);\n }\n };\n\n const handleCancel = () => {\n previewVisible.value = false;\n };\n\n return {\n previewVisible,\n previewTitle,\n fileUrlCache,\n previewImage,\n handleCancel,\n handleDownload,\n handlePreview,\n getPreviewData,\n getPreviewFileUrl\n };\n}\n"],"names":["getDoMain","useFilePreview","fileUrlCache","ref","previewVisible","previewTitle","previewImage","filesystemApi","useFilesystemApi","getPreviewFileUrl","fileCode","fileUrlObj","file","error","tokenId","tenantId","employeeId","getUserInfo","doMain","obj","queryString","data","res","item"],"mappings":";;;;AAUA,MAAMA,IAAY,MAKP,OAAO,SAAS;AAGpB,SAASC,IAAiB;AAC7B,QAAMC,IAAeC,EAAI,oBAAI,KAAqB,GAC5CC,IAAiBD,EAAI,EAAK,GAC1BE,IAAeF,EAAI,EAAE,GACrBG,IAAeH,EAAI,EAAE,GACrBI,IAAgBC,EAAA,GAEhBC,IAAoB,OAAOC,MAAqB;AAClD,QAAIR,EAAa,MAAM,IAAIQ,CAAQ;AAC/B,aAAOR,EAAa,MAAM,IAAIQ,CAAQ;AAE1C,UAAMC,IAAa,MAAMJ,EAAc,kBAAkB,EAAE,UAAAG,GAAoB;AAC/E,WAAAR,EAAa,MAAM,IAAIQ,GAAUC,EAAW,KAAK,KAAK,GAC/CA,EAAW,KAAK;AAAA,EAC3B;AA2CA,SAAO;AAAA,IACH,gBAAAP;AAAA,IACA,cAAAC;AAAA,IACA,cAAAH;AAAA,IACA,cAAAI;AAAA,IACA,cATiB,MAAM;AACvB,MAAAF,EAAe,QAAQ;AAAA,IAC3B;AAAA,IAQI,gBAlBmB,OAAOQ,MAA0B;AACpD,UAAI;AACA,cAAML,EAAc,mBAAmB,EAAE,UAAUK,EAAK,UAAU;AAAA,MACtE,SAASC,GAAO;AACZ,gBAAQ,MAAM,WAAWA,CAAK;AAAA,MAClC;AAAA,IACJ;AAAA,IAaI,eAtCkB,OAAOD,MAA0B;AACnD,UAAK,CAAC,QAAQ,QAAQ,SAAS,MAAM,EAAE,SAASA,EAAK,YAAY,EAAE;AAW/D,QAAAP,EAAa,QAAQO,EAAK,UAC1BN,EAAa,QAAQ,MAAMG,EAAkBG,EAAK,QAAkB,GACpER,EAAe,QAAQ;AAAA,WAb2C;AAClE,cAAM,EAAE,SAAAU,GAAS,UAAAC,GAAU,YAAAC,EAAA,IAAeC,EAAA,GACpCC,IAASlB,EAAA,GACTmB,IAAM;AAAA,UACR,UAAAJ;AAAA,UACA,SAAAD;AAAA,UACA,YAAAE;AAAA,UACA,UAAUJ,EAAK;AAAA,QAAA;AAEnB,eAAO,KAAK,GAAGM,CAAM,sBAAsBE,EAAY,UAAUD,CAAG,CAAC,EAAE;AAAA,MAC3E;AAAA,IAKJ;AAAA,IAuBI,gBAjDmB,OAAOE,MAA4B;AACtD,YAAMC,IAAMD,EAAK,IAAI,OAAME,OAChB;AAAA,QACH,GAAGA;AAAA,QACH,YAAY,MAAMd,EAAkBc,EAAK,QAAkB;AAAA,MAAA,EAElE;AACD,aAAO,QAAQ,IAAID,CAAG;AAAA,IAC1B;AAAA,IA0CI,mBAAAb;AAAA,EAAA;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useLowcode.js","sources":["../../../src/hooks/useLowcode.ts"],"sourcesContent":["import VFormRender from '@/components/form-render/index.vue';\nimport { basicFieldsEnums } from '@/components/form-designer/widget-panel/basicFieldsEnums';\nimport { getUuidKey } from '@kp-ui/tool';\nimport { useComRef, useRouteBackTab, routerReloadStatus, useDataQueryApi } from 'tmgc2-share';\nimport { ref } from 'vue';\ntype ITmgcFormParamsType = {\n formCode?: string;\n entityCode?: string;\n type?: any;\n};\n\nexport const useLowcode = (params: ITmgcFormParamsType) => {\n const { formCode, entityCode, type } = params;\n const useDataQuery = useDataQueryApi();\n const vfdRef = useComRef(VFormRender);\n\n const formConfig = ref();\n const { routeBackTab } = useRouteBackTab();\n\n const insertBtn = (list: any[] = []) => {\n const btnId = getUuidKey();\n const btnInfo = {\n label: '提交',\n name: btnId,\n onCreated: `\n const hidden = this.getFormRef().vfCtx?.type==='view';\n this.setHidden(hidden)\n `,\n onClick: `(async()=>{\n await this.getFormRef().onFormUpdate()\n this.$message.success('保存成功')\n const onCancel = this.getFormRef().vfCtx?.onCancel\n if( typeof onCancel === 'function' ){\n onCancel()\n }\n })()`\n };\n\n list.push(basicFieldsEnums.button(btnInfo));\n return list;\n };\n\n const getInitRenderJSON = (list: any[] = []) => {\n const res = list.reduce((t, v) => {\n const fn = basicFieldsEnums[v.componentType];\n if (fn) {\n const json = fn({\n name: v.entityPropertyCode,\n label: v.entityPropertyName,\n ...v.options\n });\n t = [...t, json];\n }\n return t;\n }, []);\n return res.length ? insertBtn(res) : res;\n };\n\n const getComponentJson = async (list: any[] = []) => {\n let json = { widgetList: [], formConfig: {} } as any;\n if (formCode && type) {\n vfdRef.value?.setLoading(true);\n try {\n const res = await useDataQuery\n .dataQueryDetail({ code: formCode }, 'FormDefinitionManagement')\n .then(res => res.data.object || {});\n json = JSON.parse(res.frontendDefinition || '{}');\n } finally {\n vfdRef.value?.setLoading(false);\n }\n } else {\n json.widgetList = getInitRenderJSON(list);\n }\n console.log('json: ', json);\n formConfig.value = json.formConfig;\n vfdRef.value!.setFormJson(json);\n return json;\n };\n\n const getFieldList = async () => {\n if (!entityCode) {\n getComponentJson([]);\n return [];\n }\n\n const p = {\n pageCode: 'EntityPropertyFormItem',\n conditions: [{ fieldCode: 'entityCode', type: 'EQ', value: entityCode }],\n requiredFields: ['entityPropertyCode', 'entityPropertyName', 'valueType'],\n page: 1,\n pageSize: null,\n sorts: []\n };\n const list = await useDataQuery.execute(p).then(res => res.data.object.list);\n getComponentJson(list);\n return list;\n };\n const fieldListApi = async () => {\n const list = await getFieldList();\n return list.map(item => ({\n showName: item.entityPropertyName,\n fieldCode: item.entityPropertyCode\n }));\n };\n\n const goBack = (reloadStatus = routerReloadStatus.view) => {\n routeBackTab(reloadStatus);\n };\n\n return {\n goBack,\n formConfig,\n getInitRenderJSON,\n vfdRef,\n getComponentJson,\n getFieldList,\n fieldListApi\n };\n};\n"],"names":["useLowcode","params","formCode","entityCode","type","useDataQuery","useDataQueryApi","vfdRef","useComRef","VFormRender","formConfig","ref","routeBackTab","useRouteBackTab","insertBtn","list","btnInfo","getUuidKey","basicFieldsEnums","getInitRenderJSON","res","t","v","fn","json","getComponentJson","_a","_b","getFieldList","p","reloadStatus","routerReloadStatus","item"],"mappings":";;;;;AAWO,MAAMA,IAAa,CAACC,MAAgC;AACvD,QAAM,EAAE,UAAAC,GAAU,YAAAC,GAAY,MAAAC,EAAA,IAASH,GACjCI,IAAeC,EAAA,GACfC,IAASC,EAAUC,CAAW,GAE9BC,IAAaC,EAAA,GACb,EAAE,cAAAC,EAAA,IAAiBC,EAAA,GAEnBC,IAAY,CAACC,IAAc,OAAO;AAEpC,UAAMC,IAAU;AAAA,MACZ,OAAO;AAAA,MACP,MAHUC,EAAA;AAAA,MAIV,WAAW;AAAA;AAAA;AAAA;AAAA,MAIX,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAUb,WAAAF,EAAK,KAAKG,EAAiB,OAAOF,CAAO,CAAC,GACnCD;AAAA,EAAA,GAGLI,IAAoB,CAACJ,IAAc,OAAO;AAC5C,UAAMK,IAAML,EAAK,OAAO,CAACM,GAAGC,MAAM;AAC9B,YAAMC,IAAKL,EAAiBI,EAAE,aAAa;AAC3C,UAAIC,GAAI;AACJ,cAAMC,IAAOD,EAAG;AAAA,UACZ,MAAMD,EAAE;AAAA,UACR,OAAOA,EAAE;AAAA,UACT,GAAGA,EAAE;AAAA,QAAA,CACR;AACD,QAAAD,IAAI,CAAC,GAAGA,GAAGG,CAAI;AAAA,MAAA;AAEnB,aAAOH;AAAA,IAAA,GACR,EAAE;AACL,WAAOD,EAAI,SAASN,EAAUM,CAAG,IAAIA;AAAA,EAAA,GAGnCK,IAAmB,OAAOV,IAAc,OAAO;;AACjD,QAAIS,IAAO,EAAE,YAAY,CAAA,GAAI,YAAY,CAAA,EAAC;AAC1C,QAAItB,KAAYE,GAAM;AAClB,OAAAsB,IAAAnB,EAAO,UAAP,QAAAmB,EAAc,WAAW;AACzB,UAAI;AACA,cAAMN,IAAM,MAAMf,EACb,gBAAgB,EAAE,MAAMH,EAAA,GAAY,0BAA0B,EAC9D,KAAK,CAAAkB,MAAOA,EAAI,KAAK,UAAU,EAAE;AACtC,QAAAI,IAAO,KAAK,MAAMJ,EAAI,sBAAsB,IAAI;AAAA,MAAA,UACpD;AACI,SAAAO,IAAApB,EAAO,UAAP,QAAAoB,EAAc,WAAW;AAAA,MAAK;AAAA,IAClC;AAEA,MAAAH,EAAK,aAAaL,EAAkBJ,CAAI;AAE5C,mBAAQ,IAAI,UAAUS,CAAI,GAC1Bd,EAAW,QAAQc,EAAK,YACxBjB,EAAO,MAAO,YAAYiB,CAAI,GACvBA;AAAA,EAAA,GAGLI,IAAe,YAAY;AAC7B,QAAI,CAACzB;AACD,aAAAsB,EAAiB,CAAA,CAAE,GACZ,CAAA;AAGX,UAAMI,IAAI;AAAA,MACN,UAAU;AAAA,MACV,YAAY,CAAC,EAAE,WAAW,cAAc,MAAM,MAAM,OAAO1B,GAAY;AAAA,MACvE,gBAAgB,CAAC,sBAAsB,sBAAsB,WAAW;AAAA,MACxE,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO,CAAA;AAAA,IAAC,GAENY,IAAO,MAAMV,EAAa,QAAQwB,CAAC,EAAE,KAAK,CAAAT,MAAOA,EAAI,KAAK,OAAO,IAAI;AAC3E,WAAAK,EAAiBV,CAAI,GACdA;AAAA,EAAA;AAcX,SAAO;AAAA,IACH,QALW,CAACe,IAAeC,EAAmB,SAAS;AACvD,MAAAnB,EAAakB,CAAY;AAAA,IAAA;AAAA,IAKzB,YAAApB;AAAA,IACA,mBAAAS;AAAA,IACA,QAAAZ;AAAA,IACA,kBAAAkB;AAAA,IACA,cAAAG;AAAA,IACA,cAnBiB,aACJ,MAAMA,EAAA,GACP,IAAI,CAAAI,OAAS;AAAA,MACrB,UAAUA,EAAK;AAAA,MACf,WAAWA,EAAK;AAAA,IAAA,EAClB;AAAA,EAcF;AAER;"}
1
+ {"version":3,"file":"useLowcode.js","sources":["../../../src/hooks/useLowcode.ts"],"sourcesContent":["import VFormRender from '@/components/form-render/index.vue';\nimport { basicFieldsEnums } from '@/components/form-designer/widget-panel/basicFieldsEnums';\nimport { getUuidKey } from '@kp-ui/tool';\nimport { useComRef, useRouteBackTab, routerReloadStatus, useDataQueryApi } from 'tmgc2-share';\nimport { ref } from 'vue';\ntype ITmgcFormParamsType = {\n formCode?: string;\n entityCode?: string;\n type?: any;\n};\n\nexport const useLowcode = (params: ITmgcFormParamsType) => {\n const { formCode, entityCode, type } = params;\n const useDataQuery = useDataQueryApi();\n const vfdRef = useComRef(VFormRender);\n\n const formConfig = ref();\n const { routeBackTab } = useRouteBackTab();\n\n const insertBtn = (list: any[] = []) => {\n const btnId = getUuidKey();\n const btnInfo = {\n label: '提交',\n name: btnId,\n onCreated: `\n const hidden = this.getFormRef().vfCtx?.type==='view';\n this.setHidden(hidden)\n `,\n onClick: `(async()=>{\n await this.getFormRef().onFormUpdate()\n this.$message.success('保存成功')\n const onCancel = this.getFormRef().vfCtx?.onCancel\n if( typeof onCancel === 'function' ){\n onCancel()\n }\n })()`\n };\n\n list.push(basicFieldsEnums.button(btnInfo));\n return list;\n };\n\n const getInitRenderJSON = (list: any[] = []) => {\n const res = list.reduce((t, v) => {\n const fn = basicFieldsEnums[v.componentType];\n if (fn) {\n const json = fn({\n name: v.entityPropertyCode,\n label: v.entityPropertyName,\n ...v.options\n });\n t = [...t, json];\n }\n return t;\n }, []);\n return res.length ? insertBtn(res) : res;\n };\n\n const getComponentJson = async (list: any[] = []) => {\n let json = { widgetList: [], formConfig: {} } as any;\n if (formCode && type) {\n vfdRef.value?.setLoading(true);\n try {\n const res = await useDataQuery\n .dataQueryDetail({ code: formCode }, 'FormDefinitionManagement')\n .then(res => res.data.object || {});\n json = JSON.parse(res.frontendDefinition || '{}');\n } finally {\n vfdRef.value?.setLoading(false);\n }\n } else {\n json.widgetList = getInitRenderJSON(list);\n }\n console.log('json: ', json);\n formConfig.value = json.formConfig;\n vfdRef.value!.setFormJson(json);\n return json;\n };\n\n const getFieldList = async () => {\n if (!entityCode) {\n getComponentJson([]);\n return [];\n }\n\n const p = {\n pageCode: 'EntityPropertyFormItem',\n conditions: [{ fieldCode: 'entityCode', type: 'EQ', value: entityCode }],\n requiredFields: ['entityPropertyCode', 'entityPropertyName', 'valueType'],\n page: 1,\n pageSize: null,\n sorts: []\n };\n const list = await useDataQuery.execute(p).then(res => res.data.object.list);\n getComponentJson(list);\n return list;\n };\n const fieldListApi = async () => {\n const list = await getFieldList();\n return list.map(item => ({\n showName: item.entityPropertyName,\n fieldCode: item.entityPropertyCode\n }));\n };\n\n const goBack = (reloadStatus = routerReloadStatus.view) => {\n routeBackTab(reloadStatus);\n };\n\n return {\n goBack,\n formConfig,\n getInitRenderJSON,\n vfdRef,\n getComponentJson,\n getFieldList,\n fieldListApi\n };\n};\n"],"names":["useLowcode","params","formCode","entityCode","type","useDataQuery","useDataQueryApi","vfdRef","useComRef","VFormRender","formConfig","ref","routeBackTab","useRouteBackTab","insertBtn","list","btnInfo","getUuidKey","basicFieldsEnums","getInitRenderJSON","res","t","v","fn","json","getComponentJson","_a","_b","getFieldList","p","reloadStatus","routerReloadStatus","item"],"mappings":";;;;;AAWO,MAAMA,IAAa,CAACC,MAAgC;AACvD,QAAM,EAAE,UAAAC,GAAU,YAAAC,GAAY,MAAAC,EAAA,IAASH,GACjCI,IAAeC,EAAA,GACfC,IAASC,EAAUC,CAAW,GAE9BC,IAAaC,EAAA,GACb,EAAE,cAAAC,EAAA,IAAiBC,EAAA,GAEnBC,IAAY,CAACC,IAAc,OAAO;AAEpC,UAAMC,IAAU;AAAA,MACZ,OAAO;AAAA,MACP,MAHUC,EAAA;AAAA,MAIV,WAAW;AAAA;AAAA;AAAA;AAAA,MAIX,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAA;AAUb,WAAAF,EAAK,KAAKG,EAAiB,OAAOF,CAAO,CAAC,GACnCD;AAAA,EACX,GAEMI,IAAoB,CAACJ,IAAc,OAAO;AAC5C,UAAMK,IAAML,EAAK,OAAO,CAACM,GAAGC,MAAM;AAC9B,YAAMC,IAAKL,EAAiBI,EAAE,aAAa;AAC3C,UAAIC,GAAI;AACJ,cAAMC,IAAOD,EAAG;AAAA,UACZ,MAAMD,EAAE;AAAA,UACR,OAAOA,EAAE;AAAA,UACT,GAAGA,EAAE;AAAA,QAAA,CACR;AACD,QAAAD,IAAI,CAAC,GAAGA,GAAGG,CAAI;AAAA,MACnB;AACA,aAAOH;AAAA,IACX,GAAG,CAAA,CAAE;AACL,WAAOD,EAAI,SAASN,EAAUM,CAAG,IAAIA;AAAA,EACzC,GAEMK,IAAmB,OAAOV,IAAc,OAAO;;AACjD,QAAIS,IAAO,EAAE,YAAY,CAAA,GAAI,YAAY,CAAA,EAAC;AAC1C,QAAItB,KAAYE,GAAM;AAClB,OAAAsB,IAAAnB,EAAO,UAAP,QAAAmB,EAAc,WAAW;AACzB,UAAI;AACA,cAAMN,IAAM,MAAMf,EACb,gBAAgB,EAAE,MAAMH,EAAA,GAAY,0BAA0B,EAC9D,KAAK,CAAAkB,MAAOA,EAAI,KAAK,UAAU,EAAE;AACtC,QAAAI,IAAO,KAAK,MAAMJ,EAAI,sBAAsB,IAAI;AAAA,MACpD,UAAA;AACI,SAAAO,IAAApB,EAAO,UAAP,QAAAoB,EAAc,WAAW;AAAA,MAC7B;AAAA,IACJ;AACI,MAAAH,EAAK,aAAaL,EAAkBJ,CAAI;AAE5C,mBAAQ,IAAI,UAAUS,CAAI,GAC1Bd,EAAW,QAAQc,EAAK,YACxBjB,EAAO,MAAO,YAAYiB,CAAI,GACvBA;AAAA,EACX,GAEMI,IAAe,YAAY;AAC7B,QAAI,CAACzB;AACD,aAAAsB,EAAiB,CAAA,CAAE,GACZ,CAAA;AAGX,UAAMI,IAAI;AAAA,MACN,UAAU;AAAA,MACV,YAAY,CAAC,EAAE,WAAW,cAAc,MAAM,MAAM,OAAO1B,GAAY;AAAA,MACvE,gBAAgB,CAAC,sBAAsB,sBAAsB,WAAW;AAAA,MACxE,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO,CAAA;AAAA,IAAC,GAENY,IAAO,MAAMV,EAAa,QAAQwB,CAAC,EAAE,KAAK,CAAAT,MAAOA,EAAI,KAAK,OAAO,IAAI;AAC3E,WAAAK,EAAiBV,CAAI,GACdA;AAAA,EACX;AAaA,SAAO;AAAA,IACH,QALW,CAACe,IAAeC,EAAmB,SAAS;AACvD,MAAAnB,EAAakB,CAAY;AAAA,IAC7B;AAAA,IAII,YAAApB;AAAA,IACA,mBAAAS;AAAA,IACA,QAAAZ;AAAA,IACA,kBAAAkB;AAAA,IACA,cAAAG;AAAA,IACA,cAnBiB,aACJ,MAAMA,EAAA,GACP,IAAI,CAAAI,OAAS;AAAA,MACrB,UAAUA,EAAK;AAAA,MACf,WAAWA,EAAK;AAAA,IAAA,EAClB;AAAA,EAcF;AAER;"}
@@ -1 +1 @@
1
- {"version":3,"file":"componentBuilderHelper.js","sources":["../../../../../../src/lib/vuedraggable/src/core/componentBuilderHelper.js"],"sourcesContent":["import { camelize } from \"../util/string\";\r\nimport { events, isReadOnly } from \"./sortableEvents\";\r\nimport { isHtmlAttribute } from \"../util/tags\";\r\n\r\nfunction project(entries) {\r\n return entries.reduce((res, [key, value]) => {\r\n res[key] = value;\r\n return res;\r\n }, {});\r\n}\r\n\r\nfunction getComponentAttributes({ $attrs, componentData = {} }) {\r\n const attributes = project(\r\n Object.entries($attrs).filter(([key, _]) => isHtmlAttribute(key))\r\n );\r\n return {\r\n ...attributes,\r\n ...componentData\r\n };\r\n}\r\n\r\nfunction createSortableOption({ $attrs, callBackBuilder }) {\r\n const options = project(getValidSortableEntries($attrs));\r\n Object.entries(callBackBuilder).forEach(([eventType, eventBuilder]) => {\r\n events[eventType].forEach(event => {\r\n options[`on${event}`] = eventBuilder(event);\r\n });\r\n });\r\n const draggable = `[data-draggable]${options.draggable || \"\"}`;\r\n return {\r\n ...options,\r\n draggable\r\n };\r\n}\r\n\r\nfunction getValidSortableEntries(value) {\r\n return Object.entries(value)\r\n .filter(([key, _]) => !isHtmlAttribute(key))\r\n .map(([key, value]) => [camelize(key), value])\r\n .filter(([key, _]) => !isReadOnly(key));\r\n}\r\n\r\nexport {\r\n getComponentAttributes,\r\n createSortableOption,\r\n getValidSortableEntries\r\n};\r\n"],"names":["project","entries","res","key","value","getComponentAttributes","$attrs","componentData","_","isHtmlAttribute","createSortableOption","callBackBuilder","options","getValidSortableEntries","eventType","eventBuilder","events","event","draggable","camelize","isReadOnly"],"mappings":";;;AAIA,SAASA,EAAQC,GAAS;AACxB,SAAOA,EAAQ,OAAO,CAACC,GAAK,CAACC,GAAKC,CAAK,OACrCF,EAAIC,CAAG,IAAIC,GACJF,IACN,CAAA,CAAE;AACP;AAEA,SAASG,EAAuB,EAAE,QAAAC,GAAQ,eAAAC,IAAgB,CAAA,EAAE,GAAI;AAI9D,SAAO;AAAA,IACL,GAJiBP;AAAA,MACjB,OAAO,QAAQM,CAAM,EAAE,OAAO,CAAC,CAACH,GAAKK,CAAC,MAAMC,EAAgBN,CAAG,CAAC;AAAA,IACpE;AAAA,IAGI,GAAGI;AAAA,EACP;AACA;AAEA,SAASG,EAAqB,EAAE,QAAAJ,GAAQ,iBAAAK,KAAmB;AACzD,QAAMC,IAAUZ,EAAQa,EAAwBP,CAAM,CAAC;AACvD,SAAO,QAAQK,CAAe,EAAE,QAAQ,CAAC,CAACG,GAAWC,CAAY,MAAM;AACrE,IAAAC,EAAOF,CAAS,EAAE,QAAQ,CAAAG,MAAS;AACjC,MAAAL,EAAQ,KAAKK,CAAK,EAAE,IAAIF,EAAaE,CAAK;AAAA,IAChD,CAAK;AAAA,EACL,CAAG;AACD,QAAMC,IAAY,mBAAmBN,EAAQ,aAAa,EAAE;AAC5D,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,WAAAM;AAAA,EACJ;AACA;AAEA,SAASL,EAAwBT,GAAO;AACtC,SAAO,OAAO,QAAQA,CAAK,EACxB,OAAO,CAAC,CAACD,GAAKK,CAAC,MAAM,CAACC,EAAgBN,CAAG,CAAC,EAC1C,IAAI,CAAC,CAACA,GAAKC,CAAK,MAAM,CAACe,EAAShB,CAAG,GAAGC,CAAK,CAAC,EAC5C,OAAO,CAAC,CAACD,GAAKK,CAAC,MAAM,CAACY,EAAWjB,CAAG,CAAC;AAC1C;"}
1
+ {"version":3,"file":"componentBuilderHelper.js","sources":["../../../../../../src/lib/vuedraggable/src/core/componentBuilderHelper.js"],"sourcesContent":["import { camelize } from \"../util/string\";\r\nimport { events, isReadOnly } from \"./sortableEvents\";\r\nimport { isHtmlAttribute } from \"../util/tags\";\r\n\r\nfunction project(entries) {\r\n return entries.reduce((res, [key, value]) => {\r\n res[key] = value;\r\n return res;\r\n }, {});\r\n}\r\n\r\nfunction getComponentAttributes({ $attrs, componentData = {} }) {\r\n const attributes = project(\r\n Object.entries($attrs).filter(([key, _]) => isHtmlAttribute(key))\r\n );\r\n return {\r\n ...attributes,\r\n ...componentData\r\n };\r\n}\r\n\r\nfunction createSortableOption({ $attrs, callBackBuilder }) {\r\n const options = project(getValidSortableEntries($attrs));\r\n Object.entries(callBackBuilder).forEach(([eventType, eventBuilder]) => {\r\n events[eventType].forEach(event => {\r\n options[`on${event}`] = eventBuilder(event);\r\n });\r\n });\r\n const draggable = `[data-draggable]${options.draggable || \"\"}`;\r\n return {\r\n ...options,\r\n draggable\r\n };\r\n}\r\n\r\nfunction getValidSortableEntries(value) {\r\n return Object.entries(value)\r\n .filter(([key, _]) => !isHtmlAttribute(key))\r\n .map(([key, value]) => [camelize(key), value])\r\n .filter(([key, _]) => !isReadOnly(key));\r\n}\r\n\r\nexport {\r\n getComponentAttributes,\r\n createSortableOption,\r\n getValidSortableEntries\r\n};\r\n"],"names":["project","entries","res","key","value","getComponentAttributes","$attrs","componentData","_","isHtmlAttribute","createSortableOption","callBackBuilder","options","getValidSortableEntries","eventType","eventBuilder","events","event","draggable","camelize","isReadOnly"],"mappings":";;;AAIA,SAASA,EAAQC,GAAS;AACxB,SAAOA,EAAQ,OAAO,CAACC,GAAK,CAACC,GAAKC,CAAK,OACrCF,EAAIC,CAAG,IAAIC,GACJF,IACN,CAAA,CAAE;AACP;AAEA,SAASG,EAAuB,EAAE,QAAAC,GAAQ,eAAAC,IAAgB,CAAA,EAAE,GAAI;AAI9D,SAAO;AAAA,IACL,GAJiBP;AAAA,MACjB,OAAO,QAAQM,CAAM,EAAE,OAAO,CAAC,CAACH,GAAKK,CAAC,MAAMC,EAAgBN,CAAG,CAAC;AAAA,IACpE;AAAA,IAGI,GAAGI;AAAA,EACP;AACA;AAEA,SAASG,EAAqB,EAAE,QAAAJ,GAAQ,iBAAAK,KAAmB;AACzD,QAAMC,IAAUZ,EAAQa,EAAwBP,CAAM,CAAC;AACvD,SAAO,QAAQK,CAAe,EAAE,QAAQ,CAAC,CAACG,GAAWC,CAAY,MAAM;AACrE,IAAAC,EAAOF,CAAS,EAAE,QAAQ,CAAAG,MAAS;AACjC,MAAAL,EAAQ,KAAKK,CAAK,EAAE,IAAIF,EAAaE,CAAK;AAAA,IAC5C,CAAC;AAAA,EACH,CAAC;AACD,QAAMC,IAAY,mBAAmBN,EAAQ,aAAa,EAAE;AAC5D,SAAO;AAAA,IACL,GAAGA;AAAA,IACH,WAAAM;AAAA,EACJ;AACA;AAEA,SAASL,EAAwBT,GAAO;AACtC,SAAO,OAAO,QAAQA,CAAK,EACxB,OAAO,CAAC,CAACD,GAAKK,CAAC,MAAM,CAACC,EAAgBN,CAAG,CAAC,EAC1C,IAAI,CAAC,CAACA,GAAKC,CAAK,MAAM,CAACe,EAAShB,CAAG,GAAGC,CAAK,CAAC,EAC5C,OAAO,CAAC,CAACD,GAAKK,CAAC,MAAM,CAACY,EAAWjB,CAAG,CAAC;AAC1C;"}
@@ -1 +1 @@
1
- {"version":3,"file":"componentStructure.js","sources":["../../../../../../src/lib/vuedraggable/src/core/componentStructure.js"],"sourcesContent":["var getHtmlElementFromNode = function getHtmlElementFromNode(node) {\r\n var el = node.el || (Array.isArray(node.children) && node.children[0].el.parentNode);\r\n\r\n if (!el) {\r\n console.error('使用 transition-group , 需要在slot中template内至少2层html标签');\r\n }\r\n\r\n return el || {};\r\n};\r\n\r\nconst addContext = (domElement, context) => (domElement.__draggable_context = context);\r\nconst getContext = domElement => domElement.__draggable_context;\r\n\r\nclass ComponentStructure {\r\n constructor({ nodes: { header, default: defaultNodes, footer }, root, realList }) {\r\n this.defaultNodes = defaultNodes;\r\n this.children = [...header, ...defaultNodes, ...footer];\r\n this.externalComponent = root.externalComponent;\r\n this.rootTransition = root.transition;\r\n this.tag = root.tag;\r\n this.realList = realList;\r\n }\r\n\r\n get _isRootComponent() {\r\n return this.externalComponent || this.rootTransition;\r\n }\r\n\r\n render(h, attributes) {\r\n const { tag, children, _isRootComponent } = this;\r\n const option = !_isRootComponent ? children : { default: () => children };\r\n return h(tag, attributes, option);\r\n }\r\n\r\n updated() {\r\n const { defaultNodes, realList } = this;\r\n defaultNodes.forEach((node, index) => {\r\n addContext(getHtmlElementFromNode(node), {\r\n element: realList[index],\r\n index\r\n });\r\n });\r\n }\r\n\r\n getUnderlyingVm(domElement) {\r\n return getContext(domElement);\r\n }\r\n\r\n getVmIndexFromDomIndex(domIndex, element) {\r\n const { defaultNodes } = this;\r\n const { length } = defaultNodes;\r\n const domChildren = element.children;\r\n const domElement = domChildren.item(domIndex);\r\n\r\n if (domElement === null) {\r\n return length;\r\n }\r\n const context = getContext(domElement);\r\n if (context) {\r\n return context.index;\r\n }\r\n\r\n if (length === 0) {\r\n return 0;\r\n }\r\n const firstDomListElement = getHtmlElementFromNode(defaultNodes[0]);\r\n const indexFirstDomListElement = [...domChildren].findIndex(\r\n element => element === firstDomListElement\r\n );\r\n return domIndex < indexFirstDomListElement ? 0 : length;\r\n }\r\n}\r\n\r\nexport { ComponentStructure };\r\n"],"names":["getHtmlElementFromNode","node","el","addContext","domElement","context","getContext","ComponentStructure","header","defaultNodes","footer","root","realList","h","attributes","tag","children","_isRootComponent","index","domIndex","element","length","domChildren","firstDomListElement","indexFirstDomListElement"],"mappings":"AAAA,IAAIA,IAAyB,SAAgCC,GAAM;AACjE,MAAIC,IAAKD,EAAK,MAAO,MAAM,QAAQA,EAAK,QAAQ,KAAKA,EAAK,SAAS,CAAC,EAAE,GAAG;AAEzE,SAAKC,KACH,QAAQ,MAAM,mDAAmD,GAG5DA,KAAM,CAAA;AACf;AAEA,MAAMC,IAAa,CAACC,GAAYC,MAAaD,EAAW,sBAAsBC,GACxEC,IAAa,CAAAF,MAAcA,EAAW;AAE5C,MAAMG,EAAmB;AAAA,EACvB,YAAY,EAAE,OAAO,EAAE,QAAAC,GAAQ,SAASC,GAAc,QAAAC,EAAM,GAAI,MAAAC,GAAM,UAAAC,KAAY;AAChF,SAAK,eAAeH,GACpB,KAAK,WAAW,CAAC,GAAGD,GAAQ,GAAGC,GAAc,GAAGC,CAAM,GACtD,KAAK,oBAAoBC,EAAK,mBAC9B,KAAK,iBAAiBA,EAAK,YAC3B,KAAK,MAAMA,EAAK,KAChB,KAAK,WAAWC;AAAA,EACpB;AAAA,EAEE,IAAI,mBAAmB;AACrB,WAAO,KAAK,qBAAqB,KAAK;AAAA,EAC1C;AAAA,EAEE,OAAOC,GAAGC,GAAY;AACpB,UAAM,EAAE,KAAAC,GAAK,UAAAC,GAAU,kBAAAC,EAAgB,IAAK;AAE5C,WAAOJ,EAAEE,GAAKD,GADEG,IAA8B,EAAE,SAAS,MAAMD,MAA5BA,CACH;AAAA,EACpC;AAAA,EAEE,UAAU;AACR,UAAM,EAAE,cAAAP,GAAc,UAAAG,EAAQ,IAAK;AACnC,IAAAH,EAAa,QAAQ,CAACR,GAAMiB,MAAU;AACpC,MAAAf,EAAWH,EAAuBC,CAAI,GAAG;AAAA,QACvC,SAASW,EAASM,CAAK;AAAA,QACvB,OAAAA;AAAA,MACR,CAAO;AAAA,IACP,CAAK;AAAA,EACL;AAAA,EAEE,gBAAgBd,GAAY;AAC1B,WAAOE,EAAWF,CAAU;AAAA,EAChC;AAAA,EAEE,uBAAuBe,GAAUC,GAAS;AACxC,UAAM,EAAE,cAAAX,EAAY,IAAK,MACnB,EAAE,QAAAY,EAAM,IAAKZ,GACba,IAAcF,EAAQ,UACtBhB,IAAakB,EAAY,KAAKH,CAAQ;AAE5C,QAAIf,MAAe;AACjB,aAAOiB;AAET,UAAMhB,IAAUC,EAAWF,CAAU;AACrC,QAAIC;AACF,aAAOA,EAAQ;AAGjB,QAAIgB,MAAW;AACb,aAAO;AAET,UAAME,IAAsBvB,EAAuBS,EAAa,CAAC,CAAC,GAC5De,IAA2B,CAAC,GAAGF,CAAW,EAAE;AAAA,MAChD,CAAAF,MAAWA,MAAYG;AAAA,IAC7B;AACI,WAAOJ,IAAWK,IAA2B,IAAIH;AAAA,EACrD;AACA;"}
1
+ {"version":3,"file":"componentStructure.js","sources":["../../../../../../src/lib/vuedraggable/src/core/componentStructure.js"],"sourcesContent":["var getHtmlElementFromNode = function getHtmlElementFromNode(node) {\r\n var el = node.el || (Array.isArray(node.children) && node.children[0].el.parentNode);\r\n\r\n if (!el) {\r\n console.error('使用 transition-group , 需要在slot中template内至少2层html标签');\r\n }\r\n\r\n return el || {};\r\n};\r\n\r\nconst addContext = (domElement, context) => (domElement.__draggable_context = context);\r\nconst getContext = domElement => domElement.__draggable_context;\r\n\r\nclass ComponentStructure {\r\n constructor({ nodes: { header, default: defaultNodes, footer }, root, realList }) {\r\n this.defaultNodes = defaultNodes;\r\n this.children = [...header, ...defaultNodes, ...footer];\r\n this.externalComponent = root.externalComponent;\r\n this.rootTransition = root.transition;\r\n this.tag = root.tag;\r\n this.realList = realList;\r\n }\r\n\r\n get _isRootComponent() {\r\n return this.externalComponent || this.rootTransition;\r\n }\r\n\r\n render(h, attributes) {\r\n const { tag, children, _isRootComponent } = this;\r\n const option = !_isRootComponent ? children : { default: () => children };\r\n return h(tag, attributes, option);\r\n }\r\n\r\n updated() {\r\n const { defaultNodes, realList } = this;\r\n defaultNodes.forEach((node, index) => {\r\n addContext(getHtmlElementFromNode(node), {\r\n element: realList[index],\r\n index\r\n });\r\n });\r\n }\r\n\r\n getUnderlyingVm(domElement) {\r\n return getContext(domElement);\r\n }\r\n\r\n getVmIndexFromDomIndex(domIndex, element) {\r\n const { defaultNodes } = this;\r\n const { length } = defaultNodes;\r\n const domChildren = element.children;\r\n const domElement = domChildren.item(domIndex);\r\n\r\n if (domElement === null) {\r\n return length;\r\n }\r\n const context = getContext(domElement);\r\n if (context) {\r\n return context.index;\r\n }\r\n\r\n if (length === 0) {\r\n return 0;\r\n }\r\n const firstDomListElement = getHtmlElementFromNode(defaultNodes[0]);\r\n const indexFirstDomListElement = [...domChildren].findIndex(\r\n element => element === firstDomListElement\r\n );\r\n return domIndex < indexFirstDomListElement ? 0 : length;\r\n }\r\n}\r\n\r\nexport { ComponentStructure };\r\n"],"names":["getHtmlElementFromNode","node","el","addContext","domElement","context","getContext","ComponentStructure","header","defaultNodes","footer","root","realList","h","attributes","tag","children","_isRootComponent","index","domIndex","element","length","domChildren","firstDomListElement","indexFirstDomListElement"],"mappings":"AAAA,IAAIA,IAAyB,SAAgCC,GAAM;AACjE,MAAIC,IAAKD,EAAK,MAAO,MAAM,QAAQA,EAAK,QAAQ,KAAKA,EAAK,SAAS,CAAC,EAAE,GAAG;AAEzE,SAAKC,KACH,QAAQ,MAAM,mDAAmD,GAG5DA,KAAM,CAAA;AACf;AAEA,MAAMC,IAAa,CAACC,GAAYC,MAAaD,EAAW,sBAAsBC,GACxEC,IAAa,CAAAF,MAAcA,EAAW;AAE5C,MAAMG,EAAmB;AAAA,EACvB,YAAY,EAAE,OAAO,EAAE,QAAAC,GAAQ,SAASC,GAAc,QAAAC,EAAM,GAAI,MAAAC,GAAM,UAAAC,KAAY;AAChF,SAAK,eAAeH,GACpB,KAAK,WAAW,CAAC,GAAGD,GAAQ,GAAGC,GAAc,GAAGC,CAAM,GACtD,KAAK,oBAAoBC,EAAK,mBAC9B,KAAK,iBAAiBA,EAAK,YAC3B,KAAK,MAAMA,EAAK,KAChB,KAAK,WAAWC;AAAA,EAClB;AAAA,EAEA,IAAI,mBAAmB;AACrB,WAAO,KAAK,qBAAqB,KAAK;AAAA,EACxC;AAAA,EAEA,OAAOC,GAAGC,GAAY;AACpB,UAAM,EAAE,KAAAC,GAAK,UAAAC,GAAU,kBAAAC,EAAgB,IAAK;AAE5C,WAAOJ,EAAEE,GAAKD,GADEG,IAA8B,EAAE,SAAS,MAAMD,MAA5BA,CACH;AAAA,EAClC;AAAA,EAEA,UAAU;AACR,UAAM,EAAE,cAAAP,GAAc,UAAAG,EAAQ,IAAK;AACnC,IAAAH,EAAa,QAAQ,CAACR,GAAMiB,MAAU;AACpC,MAAAf,EAAWH,EAAuBC,CAAI,GAAG;AAAA,QACvC,SAASW,EAASM,CAAK;AAAA,QACvB,OAAAA;AAAA,MACR,CAAO;AAAA,IACH,CAAC;AAAA,EACH;AAAA,EAEA,gBAAgBd,GAAY;AAC1B,WAAOE,EAAWF,CAAU;AAAA,EAC9B;AAAA,EAEA,uBAAuBe,GAAUC,GAAS;AACxC,UAAM,EAAE,cAAAX,EAAY,IAAK,MACnB,EAAE,QAAAY,EAAM,IAAKZ,GACba,IAAcF,EAAQ,UACtBhB,IAAakB,EAAY,KAAKH,CAAQ;AAE5C,QAAIf,MAAe;AACjB,aAAOiB;AAET,UAAMhB,IAAUC,EAAWF,CAAU;AACrC,QAAIC;AACF,aAAOA,EAAQ;AAGjB,QAAIgB,MAAW;AACb,aAAO;AAET,UAAME,IAAsBvB,EAAuBS,EAAa,CAAC,CAAC,GAC5De,IAA2B,CAAC,GAAGF,CAAW,EAAE;AAAA,MAChD,CAAAF,MAAWA,MAAYG;AAAA,IAC7B;AACI,WAAOJ,IAAWK,IAA2B,IAAIH;AAAA,EACnD;AACF;"}
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","sources":["../../../../../../src/lib/vuedraggable/src/util/string.js"],"sourcesContent":["function cached(fn) {\r\n const cache = Object.create(null);\r\n return function cachedFn(str) {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str));\r\n };\r\n}\r\n\r\nconst regex = /-(\\w)/g;\r\nconst camelize = cached(str => str.replace(regex, (_, c) => c.toUpperCase()));\r\n\r\nexport { camelize };\r\n"],"names":["cached","fn","cache","str","regex","camelize","_","c"],"mappings":"AAAA,SAASA,EAAOC,GAAI;AAClB,QAAMC,IAAQ,uBAAO,OAAO,IAAI;AAChC,SAAO,SAAkBC,GAAK;AAE5B,WADYD,EAAMC,CAAG,MACND,EAAMC,CAAG,IAAIF,EAAGE,CAAG;AAAA,EACtC;AACA;AAEA,MAAMC,IAAQ,UACRC,IAAWL,EAAO,CAAAG,MAAOA,EAAI,QAAQC,GAAO,CAACE,GAAGC,MAAMA,EAAE,YAAW,CAAE,CAAC;"}
1
+ {"version":3,"file":"string.js","sources":["../../../../../../src/lib/vuedraggable/src/util/string.js"],"sourcesContent":["function cached(fn) {\r\n const cache = Object.create(null);\r\n return function cachedFn(str) {\r\n const hit = cache[str];\r\n return hit || (cache[str] = fn(str));\r\n };\r\n}\r\n\r\nconst regex = /-(\\w)/g;\r\nconst camelize = cached(str => str.replace(regex, (_, c) => c.toUpperCase()));\r\n\r\nexport { camelize };\r\n"],"names":["cached","fn","cache","str","regex","camelize","_","c"],"mappings":"AAAA,SAASA,EAAOC,GAAI;AAClB,QAAMC,IAAQ,uBAAO,OAAO,IAAI;AAChC,SAAO,SAAkBC,GAAK;AAE5B,WADYD,EAAMC,CAAG,MACND,EAAMC,CAAG,IAAIF,EAAGE,CAAG;AAAA,EACpC;AACF;AAEA,MAAMC,IAAQ,UACRC,IAAWL,EAAO,CAAAG,MAAOA,EAAI,QAAQC,GAAO,CAACE,GAAGC,MAAMA,EAAE,YAAW,CAAE,CAAC;"}