@kp-ui/lowcode 2.16.0-alpha.5 → 2.16.0-alpha.9

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 (37) hide show
  1. package/install.js +15 -15
  2. package/install.js.map +1 -1
  3. package/package.json +2 -2
  4. package/src/components/FormRender/index.vue.js +1 -1
  5. package/src/components/FormRender/index.vue2.js +30 -27
  6. package/src/components/FormRender/index.vue2.js.map +1 -1
  7. package/src/components/FormRender/useFormContext.js +29 -30
  8. package/src/components/FormRender/useFormContext.js.map +1 -1
  9. package/src/components/form-designer/form-widget/container-widget/useTableWidget.js +62 -59
  10. package/src/components/form-designer/form-widget/container-widget/useTableWidget.js.map +1 -1
  11. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue.js +1 -1
  12. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue2.js +65 -53
  13. package/src/components/form-designer/form-widget/field-widget/form-item-wrapper.vue2.js.map +1 -1
  14. package/src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue2.js +29 -18
  15. package/src/components/form-designer/setting-panel/property-editor/labelIconClass-editor.vue2.js.map +1 -1
  16. package/src/components/form-designer/widget-panel/basicFields/input.js +4 -2
  17. package/src/components/form-designer/widget-panel/basicFields/input.js.map +1 -1
  18. package/src/components/form-render/container-items/data-table-widget.vue.js +3 -3
  19. package/src/components/form-render/container-items/data-table-widget.vue2.js +7 -5
  20. package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -1
  21. package/src/components/form-render/dynamic-dialog.vue.js +7 -7
  22. package/src/components/form-render/dynamic-dialog.vue.js.map +1 -1
  23. package/src/components/public/ActionButtonListDialog.vue.js +2 -2
  24. package/src/components/public/ActionButtonListDialog.vue2.js +2 -2
  25. package/src/components/public/ActionButtonListDialog.vue2.js.map +1 -1
  26. package/src/components/public/ActionButtonListRender.vue.js +12 -12
  27. package/src/components/public/ActionButtonListRender.vue.js.map +1 -1
  28. package/src/components/public/ActionButtonListRender.vue2.js +29 -29
  29. package/src/components/public/ActionButtonListRender.vue2.js.map +1 -1
  30. package/src/hooks/useDataHttp.js +8 -7
  31. package/src/hooks/useDataHttp.js.map +1 -1
  32. package/src/lang/en-US.js +1 -0
  33. package/src/lang/en-US.js.map +1 -1
  34. package/src/lang/zh-CN.js +1 -0
  35. package/src/lang/zh-CN.js.map +1 -1
  36. package/stats.html +1 -1
  37. package/styles/style.css +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sources":["../../../../../../src/components/form-designer/widget-panel/basicFields/input.ts"],"sourcesContent":["import type { Widget, WidgetOptions } from '@/types/schema';\nimport { getUuidKey } from '@kp-ui/tool';\n\nexport interface InputWidgetOptionsType extends WidgetOptions {\n type: string;\n defaultValue: string;\n placeholder: string;\n columnWidth: string;\n size: string;\n labelWidth: string | number | null;\n labelHidden: boolean;\n readonly: boolean;\n disabled: boolean;\n hidden: boolean;\n holdHidden: boolean;\n allowClear: boolean;\n required: boolean;\n requiredHint: string;\n validation: string;\n validationHint: string;\n useModal: boolean;\n onClickIcon: string;\n //-------------------\n customClass: string[]; //自定义css类名\n // labelIconClass: null,\n // labelIconPosition: 'rear',\n maxLength: string | number | null;\n showCount: boolean;\n}\n\nexport interface InputWidget extends Widget<InputWidgetOptionsType> {}\n\nexport const input = (ops = {} as any): InputWidget => {\n return {\n key: getUuidKey(),\n id: ops.name,\n type: 'input',\n icon: 'text-field',\n category: 'field',\n formItemFlag: true,\n options: {\n name: '',\n label: '',\n labelAlign: '',\n type: 'text',\n defaultValue: '',\n placeholder: '',\n columnWidth: '200px',\n size: '',\n labelWidth: null,\n labelHidden: false,\n readonly: false,\n disabled: false,\n hidden: false,\n holdHidden: true,\n allowClear: true,\n required: false,\n requiredHint: '',\n validation: '',\n validationHint: '',\n useModal: false,\n onClickIcon: '',\n //-------------------\n customClass: [], //自定义css类名\n // labelIconClass: null,\n // labelIconPosition: 'rear',\n maxLength: null,\n showCount: false,\n //-------------------\n onCreated: '',\n onMounted: '',\n onInput: '',\n onChange: '',\n onFocus: '',\n onBlur: '',\n onValidate: '',\n ...ops\n }\n };\n};\n"],"names":["input","ops","getUuidKey"],"mappings":";AAgCO,MAAMA,IAAQ,CAACC,IAAM,QACjB;AAAA,EACH,KAAKC,EAAA;AAAA,EACL,IAAID,EAAI;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAAA,EACd,SAAS;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,cAAc;AAAA,IACd,aAAa;AAAA,IACb,aAAa;AAAA,IACb,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,aAAa;AAAA;AAAA,IAEb,aAAa,CAAA;AAAA;AAAA;AAAA;AAAA,IAGb,WAAW;AAAA,IACX,WAAW;AAAA;AAAA,IAEX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,GAAGA;AAAA,EAAA;AACP;"}
1
+ {"version":3,"file":"input.js","sources":["../../../../../../src/components/form-designer/widget-panel/basicFields/input.ts"],"sourcesContent":["import type { Widget, WidgetOptions } from '@/types/schema';\nimport { getUuidKey } from '@kp-ui/tool';\n\nexport interface InputWidgetOptionsType extends WidgetOptions {\n type: string;\n defaultValue: string;\n placeholder: string;\n columnWidth: string;\n size: string;\n labelWidth: string | number | null;\n labelHidden: boolean;\n readonly: boolean;\n disabled: boolean;\n hidden: boolean;\n holdHidden: boolean;\n allowClear: boolean;\n required: boolean;\n requiredHint: string;\n validation: string;\n validationHint: string;\n useModal: boolean;\n onClickIcon: string;\n //-------------------\n customClass: string[]; //自定义css类名\n // labelIconClass: null,\n // labelIconPosition: 'rear',\n maxLength: string | number | null;\n showCount: boolean;\n customLabelIcon: string;\n labelIconClass: string;\n labelIconTooltip: string;\n labelIconPosition: string;\n}\n\nexport interface InputWidget extends Widget<InputWidgetOptionsType> {}\n\nexport const input = (ops = {} as any): InputWidget => {\n return {\n key: getUuidKey(),\n id: ops.name,\n type: 'input',\n icon: 'text-field',\n category: 'field',\n formItemFlag: true,\n options: {\n name: '',\n label: '',\n labelAlign: '',\n type: 'text',\n defaultValue: '',\n placeholder: '',\n columnWidth: '200px',\n size: '',\n labelWidth: null,\n labelHidden: false,\n readonly: false,\n disabled: false,\n hidden: false,\n holdHidden: true,\n allowClear: true,\n required: false,\n requiredHint: '',\n validation: '',\n validationHint: '',\n useModal: false,\n onClickIcon: '',\n //-------------------\n customClass: [], //自定义css类名\n labelIconClass: null,\n labelIconPosition: 'rear',\n customLabelIcon: '',\n labelIconTooltip: '',\n maxLength: null,\n showCount: false,\n //-------------------\n onCreated: '',\n onMounted: '',\n onInput: '',\n onChange: '',\n onFocus: '',\n onBlur: '',\n onValidate: '',\n ...ops\n }\n };\n};\n"],"names":["input","ops","getUuidKey"],"mappings":";AAoCO,MAAMA,IAAQ,CAACC,IAAM,QACjB;AAAA,EACH,KAAKC,EAAA;AAAA,EACL,IAAID,EAAI;AAAA,EACR,MAAM;AAAA,EACN,MAAM;AAAA,EACN,UAAU;AAAA,EACV,cAAc;AAAA,EACd,SAAS;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,cAAc;AAAA,IACd,aAAa;AAAA,IACb,aAAa;AAAA,IACb,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,UAAU;AAAA,IACV,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,YAAY;AAAA,IACZ,UAAU;AAAA,IACV,cAAc;AAAA,IACd,YAAY;AAAA,IACZ,gBAAgB;AAAA,IAChB,UAAU;AAAA,IACV,aAAa;AAAA;AAAA,IAEb,aAAa,CAAA;AAAA;AAAA,IACb,gBAAgB;AAAA,IAChB,mBAAmB;AAAA,IACnB,iBAAiB;AAAA,IACjB,kBAAkB;AAAA,IAClB,WAAW;AAAA,IACX,WAAW;AAAA;AAAA,IAEX,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,UAAU;AAAA,IACV,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,GAAGA;AAAA,EAAA;AACP;"}
@@ -1,8 +1,8 @@
1
1
  import t from "./data-table-widget.vue2.js";
2
2
  /* empty css */
3
- import a from "../../../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ a(t, [["__scopeId", "data-v-e792a706"]]);
3
+ import o from "../../../../_virtual/_plugin-vue_export-helper.js";
4
+ const e = /* @__PURE__ */ o(t, [["__scopeId", "data-v-71dd043b"]]);
5
5
  export {
6
- m as default
6
+ e as default
7
7
  };
8
8
  //# sourceMappingURL=data-table-widget.vue.js.map
@@ -31,7 +31,7 @@ const te = /* @__PURE__ */ N({
31
31
  onRunEvent: a,
32
32
  onSortChange: S,
33
33
  onCheckboxChange: x,
34
- tableDefinExpoed: E
34
+ tableDefinExpoed: T
35
35
  } = U({
36
36
  props: t,
37
37
  fieldModel: f
@@ -43,7 +43,7 @@ const te = /* @__PURE__ */ N({
43
43
  }), s.value.onChange = (e, F) => {
44
44
  l();
45
45
  };
46
- const { tableRef: n, register: T, selectedRowInfo: i, sorts: c, selectRow: y, delSelectRow: D } = G({
46
+ const { tableRef: n, register: E, selectedRowInfo: i, sorts: c, selectRow: y, delSelectRow: D } = G({
47
47
  props: {
48
48
  rowKey: t.field.options.rowKey,
49
49
  hasRowSelection: (d = t.field.options.rowSelection) == null ? void 0 : d.hasRowSelection,
@@ -64,10 +64,12 @@ const te = /* @__PURE__ */ N({
64
64
  return p(() => {
65
65
  n.value && v(n.value);
66
66
  }), W(() => {
67
- l();
67
+ setTimeout(() => {
68
+ l();
69
+ }, 1e3);
68
70
  }), m({
69
71
  ...w,
70
- ...E,
72
+ ...T,
71
73
  delSelectRow: D,
72
74
  getFieldEditor: M,
73
75
  selectRow: y,
@@ -85,7 +87,7 @@ const te = /* @__PURE__ */ N({
85
87
  style: H({ width: o(h) })
86
88
  }, [
87
89
  O(o(J), {
88
- onRegister: o(T),
90
+ onRegister: o(E),
89
91
  tableProps: o(R),
90
92
  loading: o(C),
91
93
  pagination: o(s)
@@ -1 +1 @@
1
- {"version":3,"file":"data-table-widget.vue2.js","sources":["../../../../../src/components/form-render/container-items/data-table-widget.vue"],"sourcesContent":["<template>\n <container-wrapper v-bind=\"props\" :customClass=\"customClass\" v-if=\"!handleHidden\">\n <div class=\"talbe-wrapper\" :style=\"{ width: tableWidth }\">\n <Table\n @register=\"register\"\n :tableProps=\"tableProps\"\n :loading=\"isLoading\"\n :pagination=\"pagintion\"\n />\n </div>\n </container-wrapper>\n</template>\n\n<script lang=\"ts\" setup>\n import ContainerWrapper from './container-wrapper.vue';\n import { ContainerTypeEnum, ComponentNameEnum } from '@/constants/WidgetTypeEnum';\n import { onMounted, watchEffect } from 'vue';\n import { useVxeTable, Table } from 'tmgc2-share';\n import { WidgetProps } from '@/components/form-designer/form-widget/container-widget/useContainerWidget';\n import { DataTableWidget } from '@/components/form-designer/widget-panel/advanced';\n import { useField } from '@/components/form-designer/form-widget/field-widget/useField';\n import { useTableWidget } from '@/components/form-designer/form-widget/container-widget/useTableWidget';\n\n const props = defineProps<WidgetProps<DataTableWidget>>();\n defineOptions({\n name: ContainerTypeEnum.DataTable,\n componentName: ComponentNameEnum.FieldWidget\n });\n\n const { fieldModel, handleHidden, defineExposed, customClass } = useField(props);\n\n const {\n isLoading,\n tableProps,\n tableWidth,\n pagintion,\n setPagination,\n setTableRef,\n initTableSoureData,\n handleTableChange,\n onRunEvent,\n onSortChange,\n onCheckboxChange,\n tableDefinExpoed\n } = useTableWidget({\n props,\n fieldModel\n });\n\n watchEffect(() => {\n if (!props.field.options.showPagination) {\n setPagination({\n total: 0\n });\n }\n });\n\n pagintion.value.onChange = (current, pageSize) => {\n initTableSoureData();\n };\n\n const { tableRef, register, selectedRowInfo, sorts, selectRow, delSelectRow } = useVxeTable({\n props: {\n rowKey: props.field.options.rowKey,\n hasRowSelection: props.field.options.rowSelection?.hasRowSelection,\n clickRowCheck: props.field.options.colorRow\n },\n events: {\n dataChange: params => handleTableChange({ sorts: sorts.value }),\n cellDblclick: params => onRunEvent(params, 'onDblclick'),\n cellMouseenter: params => onRunEvent(params, 'onMouseenter'),\n cellMouseleave: params => onRunEvent(params, 'onMouseleave')\n },\n callbacks: {\n onCheckboxChange,\n onSortChange,\n cellClick: params => onRunEvent(params, 'onClick')\n }\n });\n\n const getSelectedRowKeys = () => {\n return selectedRowInfo.value.selectedRowKeys;\n };\n\n const getSelectedRows = () => {\n return selectedRowInfo.value.selectedRows;\n };\n\n /**\n * 获取字段编辑器\n * @returns 字段编辑器\n */\n const getFieldEditor = () => {\n // 获取内置的el表单组件\n return tableRef.value;\n };\n\n watchEffect(() => {\n if (tableRef.value) {\n setTableRef(tableRef.value);\n }\n });\n\n onMounted(() => {\n initTableSoureData();\n });\n\n defineExpose({\n ...defineExposed,\n ...tableDefinExpoed,\n delSelectRow,\n getFieldEditor,\n selectRow,\n getSelectedRowKeys,\n getSelectedRows,\n setPagination,\n sorts,\n selectedRowInfo,\n loadDataTableDataSource: initTableSoureData,\n fieldEditor: tableRef\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .talbe-wrapper {\n width: 100%;\n .vxe-grid {\n width: 100%;\n }\n &__pagination {\n margin-top: 10px;\n display: flex;\n justify-content: end;\n }\n }\n</style>\n"],"names":["props","__props","fieldModel","handleHidden","defineExposed","customClass","useField","isLoading","tableProps","tableWidth","pagintion","setPagination","setTableRef","initTableSoureData","handleTableChange","onRunEvent","onSortChange","onCheckboxChange","tableDefinExpoed","useTableWidget","watchEffect","current","pageSize","tableRef","register","selectedRowInfo","sorts","selectRow","delSelectRow","useVxeTable","_a","params","getSelectedRowKeys","getSelectedRows","getFieldEditor","onMounted","__expose","_unref","_openBlock","_createBlock","ContainerWrapper","_mergeProps","_createElementVNode","_createVNode","Table"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAuBI,UAAMA,IAAQC,GAMR,EAAE,YAAAC,GAAY,cAAAC,GAAc,eAAAC,GAAe,aAAAC,EAAA,IAAgBC,EAASN,CAAK,GAEzE;AAAA,MACF,WAAAO;AAAA,MACA,YAAAC;AAAA,MACA,YAAAC;AAAA,MACA,WAAAC;AAAA,MACA,eAAAC;AAAA,MACA,aAAAC;AAAA,MACA,oBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,kBAAAC;AAAA,IAAA,IACAC,EAAe;AAAA,MACf,OAAAnB;AAAA,MACA,YAAAE;AAAA,IAAA,CACH;AAED,IAAAkB,EAAY,MAAM;AACd,MAAKpB,EAAM,MAAM,QAAQ,kBACrBW,EAAc;AAAA,QACV,OAAO;AAAA,MAAA,CACV;AAAA,IAET,CAAC,GAEDD,EAAU,MAAM,WAAW,CAACW,GAASC,MAAa;AAC9C,MAAAT,EAAA;AAAA,IACJ;AAEA,UAAM,EAAE,UAAAU,GAAU,UAAAC,GAAU,iBAAAC,GAAiB,OAAAC,GAAO,WAAAC,GAAW,cAAAC,EAAA,IAAiBC,EAAY;AAAA,MACxF,OAAO;AAAA,QACH,QAAQ7B,EAAM,MAAM,QAAQ;AAAA,QAC5B,kBAAiB8B,IAAA9B,EAAM,MAAM,QAAQ,iBAApB,gBAAA8B,EAAkC;AAAA,QACnD,eAAe9B,EAAM,MAAM,QAAQ;AAAA,MAAA;AAAA,MAEvC,QAAQ;AAAA,QACJ,YAAY,CAAA+B,MAAUjB,EAAkB,EAAE,OAAOY,EAAM,OAAO;AAAA,QAC9D,cAAc,CAAAK,MAAUhB,EAAWgB,GAAQ,YAAY;AAAA,QACvD,gBAAgB,CAAAA,MAAUhB,EAAWgB,GAAQ,cAAc;AAAA,QAC3D,gBAAgB,CAAAA,MAAUhB,EAAWgB,GAAQ,cAAc;AAAA,MAAA;AAAA,MAE/D,WAAW;AAAA,QACP,kBAAAd;AAAA,QACA,cAAAD;AAAA,QACA,WAAW,CAAAe,MAAUhB,EAAWgB,GAAQ,SAAS;AAAA,MAAA;AAAA,IACrD,CACH,GAEKC,IAAqB,MAChBP,EAAgB,MAAM,iBAG3BQ,IAAkB,MACbR,EAAgB,MAAM,cAO3BS,IAAiB,MAEZX,EAAS;AAGpB,WAAAH,EAAY,MAAM;AACd,MAAIG,EAAS,SACTX,EAAYW,EAAS,KAAK;AAAA,IAElC,CAAC,GAEDY,EAAU,MAAM;AACZ,MAAAtB,EAAA;AAAA,IACJ,CAAC,GAEDuB,EAAa;AAAA,MACT,GAAGhC;AAAA,MACH,GAAGc;AAAA,MACH,cAAAU;AAAA,MACA,gBAAAM;AAAA,MACA,WAAAP;AAAA,MACA,oBAAAK;AAAA,MACA,iBAAAC;AAAA,MACA,eAAAtB;AAAA,MACA,OAAAe;AAAA,MACA,iBAAAD;AAAA,MACA,yBAAyBZ;AAAA,MACzB,aAAaU;AAAA,IAAA,CAChB,aAvHmEc,EAAAlC,CAAA,iBAApEmC,KAAAC,EASoBC,GATpBC,EASoB,EAAA,KAAA,EAAA,GATOzC,GAAK,EAAG,aAAaqC,EAAAhC,CAAA,EAAA,CAAW,GAAA;AAAA,iBACvD,MAOM;AAAA,QAPNqC,EAOM,OAAA;AAAA,UAPD,OAAM;AAAA,UAAiB,kBAAgBL,EAAA5B,CAAA,GAAU;AAAA,QAAA;UAClDkC,EAKEN,EAAAO,CAAA,GAAA;AAAA,YAJG,YAAUP,EAAAb,CAAA;AAAA,YACV,YAAYa,EAAA7B,CAAA;AAAA,YACZ,SAAS6B,EAAA9B,CAAA;AAAA,YACT,YAAY8B,EAAA3B,CAAA;AAAA,UAAA;;;;;;;"}
1
+ {"version":3,"file":"data-table-widget.vue2.js","sources":["../../../../../src/components/form-render/container-items/data-table-widget.vue"],"sourcesContent":["<template>\n <container-wrapper v-bind=\"props\" :customClass=\"customClass\" v-if=\"!handleHidden\">\n <div class=\"talbe-wrapper\" :style=\"{ width: tableWidth }\">\n <Table\n @register=\"register\"\n :tableProps=\"tableProps\"\n :loading=\"isLoading\"\n :pagination=\"pagintion\"\n />\n </div>\n </container-wrapper>\n</template>\n\n<script lang=\"ts\" setup>\n import ContainerWrapper from './container-wrapper.vue';\n import { ContainerTypeEnum, ComponentNameEnum } from '@/constants/WidgetTypeEnum';\n import { onMounted, watchEffect } from 'vue';\n import { useVxeTable, Table } from 'tmgc2-share';\n import { WidgetProps } from '@/components/form-designer/form-widget/container-widget/useContainerWidget';\n import { DataTableWidget } from '@/components/form-designer/widget-panel/advanced';\n import { useField } from '@/components/form-designer/form-widget/field-widget/useField';\n import { useTableWidget } from '@/components/form-designer/form-widget/container-widget/useTableWidget';\n\n const props = defineProps<WidgetProps<DataTableWidget>>();\n defineOptions({\n name: ContainerTypeEnum.DataTable,\n componentName: ComponentNameEnum.FieldWidget\n });\n\n const { fieldModel, handleHidden, defineExposed, customClass } = useField(props);\n\n const {\n isLoading,\n tableProps,\n tableWidth,\n pagintion,\n setPagination,\n setTableRef,\n initTableSoureData,\n handleTableChange,\n onRunEvent,\n onSortChange,\n onCheckboxChange,\n tableDefinExpoed\n } = useTableWidget({\n props,\n fieldModel\n });\n\n watchEffect(() => {\n if (!props.field.options.showPagination) {\n setPagination({\n total: 0\n });\n }\n });\n\n pagintion.value.onChange = (current, pageSize) => {\n initTableSoureData();\n };\n\n const { tableRef, register, selectedRowInfo, sorts, selectRow, delSelectRow } = useVxeTable({\n props: {\n rowKey: props.field.options.rowKey,\n hasRowSelection: props.field.options.rowSelection?.hasRowSelection,\n clickRowCheck: props.field.options.colorRow\n },\n events: {\n dataChange: params => handleTableChange({ sorts: sorts.value }),\n cellDblclick: params => onRunEvent(params, 'onDblclick'),\n cellMouseenter: params => onRunEvent(params, 'onMouseenter'),\n cellMouseleave: params => onRunEvent(params, 'onMouseleave')\n },\n callbacks: {\n onCheckboxChange,\n onSortChange,\n cellClick: params => onRunEvent(params, 'onClick')\n }\n });\n\n const getSelectedRowKeys = () => {\n return selectedRowInfo.value.selectedRowKeys;\n };\n\n const getSelectedRows = () => {\n return selectedRowInfo.value.selectedRows;\n };\n\n /**\n * 获取字段编辑器\n * @returns 字段编辑器\n */\n const getFieldEditor = () => {\n // 获取内置的el表单组件\n return tableRef.value;\n };\n\n watchEffect(() => {\n if (tableRef.value) {\n setTableRef(tableRef.value);\n }\n });\n\n onMounted(() => {\n setTimeout(() => {\n initTableSoureData();\n }, 1000);\n });\n\n defineExpose({\n ...defineExposed,\n ...tableDefinExpoed,\n delSelectRow,\n getFieldEditor,\n selectRow,\n getSelectedRowKeys,\n getSelectedRows,\n setPagination,\n sorts,\n selectedRowInfo,\n loadDataTableDataSource: initTableSoureData,\n fieldEditor: tableRef\n });\n</script>\n\n<style lang=\"scss\" scoped>\n .talbe-wrapper {\n width: 100%;\n .vxe-grid {\n width: 100%;\n }\n &__pagination {\n margin-top: 10px;\n display: flex;\n justify-content: end;\n }\n }\n</style>\n"],"names":["props","__props","fieldModel","handleHidden","defineExposed","customClass","useField","isLoading","tableProps","tableWidth","pagintion","setPagination","setTableRef","initTableSoureData","handleTableChange","onRunEvent","onSortChange","onCheckboxChange","tableDefinExpoed","useTableWidget","watchEffect","current","pageSize","tableRef","register","selectedRowInfo","sorts","selectRow","delSelectRow","useVxeTable","_a","params","getSelectedRowKeys","getSelectedRows","getFieldEditor","onMounted","__expose","_unref","_openBlock","_createBlock","ContainerWrapper","_mergeProps","_createElementVNode","_createVNode","Table"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAuBI,UAAMA,IAAQC,GAMR,EAAE,YAAAC,GAAY,cAAAC,GAAc,eAAAC,GAAe,aAAAC,EAAA,IAAgBC,EAASN,CAAK,GAEzE;AAAA,MACF,WAAAO;AAAA,MACA,YAAAC;AAAA,MACA,YAAAC;AAAA,MACA,WAAAC;AAAA,MACA,eAAAC;AAAA,MACA,aAAAC;AAAA,MACA,oBAAAC;AAAA,MACA,mBAAAC;AAAA,MACA,YAAAC;AAAA,MACA,cAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,kBAAAC;AAAA,IAAA,IACAC,EAAe;AAAA,MACf,OAAAnB;AAAA,MACA,YAAAE;AAAA,IAAA,CACH;AAED,IAAAkB,EAAY,MAAM;AACd,MAAKpB,EAAM,MAAM,QAAQ,kBACrBW,EAAc;AAAA,QACV,OAAO;AAAA,MAAA,CACV;AAAA,IAET,CAAC,GAEDD,EAAU,MAAM,WAAW,CAACW,GAASC,MAAa;AAC9C,MAAAT,EAAA;AAAA,IACJ;AAEA,UAAM,EAAE,UAAAU,GAAU,UAAAC,GAAU,iBAAAC,GAAiB,OAAAC,GAAO,WAAAC,GAAW,cAAAC,EAAA,IAAiBC,EAAY;AAAA,MACxF,OAAO;AAAA,QACH,QAAQ7B,EAAM,MAAM,QAAQ;AAAA,QAC5B,kBAAiB8B,IAAA9B,EAAM,MAAM,QAAQ,iBAApB,gBAAA8B,EAAkC;AAAA,QACnD,eAAe9B,EAAM,MAAM,QAAQ;AAAA,MAAA;AAAA,MAEvC,QAAQ;AAAA,QACJ,YAAY,CAAA+B,MAAUjB,EAAkB,EAAE,OAAOY,EAAM,OAAO;AAAA,QAC9D,cAAc,CAAAK,MAAUhB,EAAWgB,GAAQ,YAAY;AAAA,QACvD,gBAAgB,CAAAA,MAAUhB,EAAWgB,GAAQ,cAAc;AAAA,QAC3D,gBAAgB,CAAAA,MAAUhB,EAAWgB,GAAQ,cAAc;AAAA,MAAA;AAAA,MAE/D,WAAW;AAAA,QACP,kBAAAd;AAAA,QACA,cAAAD;AAAA,QACA,WAAW,CAAAe,MAAUhB,EAAWgB,GAAQ,SAAS;AAAA,MAAA;AAAA,IACrD,CACH,GAEKC,IAAqB,MAChBP,EAAgB,MAAM,iBAG3BQ,IAAkB,MACbR,EAAgB,MAAM,cAO3BS,IAAiB,MAEZX,EAAS;AAGpB,WAAAH,EAAY,MAAM;AACd,MAAIG,EAAS,SACTX,EAAYW,EAAS,KAAK;AAAA,IAElC,CAAC,GAEDY,EAAU,MAAM;AACZ,iBAAW,MAAM;AACb,QAAAtB,EAAA;AAAA,MACJ,GAAG,GAAI;AAAA,IACX,CAAC,GAEDuB,EAAa;AAAA,MACT,GAAGhC;AAAA,MACH,GAAGc;AAAA,MACH,cAAAU;AAAA,MACA,gBAAAM;AAAA,MACA,WAAAP;AAAA,MACA,oBAAAK;AAAA,MACA,iBAAAC;AAAA,MACA,eAAAtB;AAAA,MACA,OAAAe;AAAA,MACA,iBAAAD;AAAA,MACA,yBAAyBZ;AAAA,MACzB,aAAaU;AAAA,IAAA,CAChB,aAzHmEc,EAAAlC,CAAA,iBAApEmC,KAAAC,EASoBC,GATpBC,EASoB,EAAA,KAAA,EAAA,GATOzC,GAAK,EAAG,aAAaqC,EAAAhC,CAAA,EAAA,CAAW,GAAA;AAAA,iBACvD,MAOM;AAAA,QAPNqC,EAOM,OAAA;AAAA,UAPD,OAAM;AAAA,UAAiB,kBAAgBL,EAAA5B,CAAA,GAAU;AAAA,QAAA;UAClDkC,EAKEN,EAAAO,CAAA,GAAA;AAAA,YAJG,YAAUP,EAAAb,CAAA;AAAA,YACV,YAAYa,EAAA7B,CAAA;AAAA,YACZ,SAAS6B,EAAA9B,CAAA;AAAA,YACT,YAAY8B,EAAA3B,CAAA;AAAA,UAAA;;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent as H, computed as d, ref as u, onBeforeUnmount as J, createBlock as P, openBlock as A, unref as c, mergeProps as U, withCtx as g, createElementVNode as I, createVNode as x, nextTick as q } from "vue";
1
+ import { defineComponent as H, computed as d, ref as u, onBeforeUnmount as J, createBlock as P, openBlock as A, unref as c, mergeProps as U, withCtx as y, createElementVNode as I, createVNode as x, nextTick as q } from "vue";
2
2
  import { useExecFunction as z, TpfModal as G } from "tmgc2-share";
3
3
  import { useLowcode as K } from "../../hooks/useLowcode.js";
4
4
  import Q from "../FormRender/index.vue.js";
@@ -52,7 +52,7 @@ const X = { class: "dialog-content" }, oe = /* @__PURE__ */ H({
52
52
  }), R = d(() => ({
53
53
  ...t.parentFormRef,
54
54
  parentDom: i.value,
55
- getParentFormRef: y
55
+ getParentFormRef: g
56
56
  })), F = d(() => t.options.cancelButtonHidden && t.options.okButtonHidden ? { footer: null } : {});
57
57
  J(() => {
58
58
  var e, o;
@@ -67,7 +67,7 @@ const X = { class: "dialog-content" }, oe = /* @__PURE__ */ H({
67
67
  }, B = async ({ result: e }) => {
68
68
  e !== !1 && await r();
69
69
  }, j = () => {
70
- l.value = !0, q(async () => {
70
+ l.value = !0, console.log(122121), q(async () => {
71
71
  var e, o, a;
72
72
  (e = t.options) != null && e.readMode && ((o = s.value) == null || o.setReadMode(!0)), await O([], t.options.formCode), (a = s.value) == null || a.setDialogOrDrawerRef(i.value), t.parentFormRef && t.parentFormRef.setChildFormRef(s.value), b();
73
73
  });
@@ -84,7 +84,7 @@ const X = { class: "dialog-content" }, oe = /* @__PURE__ */ H({
84
84
  return await m({
85
85
  functionBody: t.options.onDialogOpened
86
86
  });
87
- }, y = () => t.parentFormRef, L = () => {
87
+ }, g = () => t.parentFormRef, L = () => {
88
88
  var e, o, a;
89
89
  (a = (o = (e = t.vfCtx) == null ? void 0 : e.parent) == null ? void 0 : o.exposed) != null && a.updateTable && t.vfCtx.parent.exposed.updateTable();
90
90
  }, T = () => t.extraData, M = (e) => {
@@ -96,7 +96,7 @@ const X = { class: "dialog-content" }, oe = /* @__PURE__ */ H({
96
96
  return (e = s.value) == null ? void 0 : e.context;
97
97
  };
98
98
  return C({
99
- getParentFormRef: y,
99
+ getParentFormRef: g,
100
100
  getFormRef: N,
101
101
  setDisabled: S,
102
102
  setleftText: M,
@@ -128,7 +128,7 @@ const X = { class: "dialog-content" }, oe = /* @__PURE__ */ H({
128
128
  onCancel: r,
129
129
  "left-num": f.value
130
130
  }, F.value), {
131
- footerRight: g(() => [
131
+ footerRight: y(() => [
132
132
  x(W, {
133
133
  buttonList: n.options.buttonList || [],
134
134
  ctx: V(),
@@ -136,7 +136,7 @@ const X = { class: "dialog-content" }, oe = /* @__PURE__ */ H({
136
136
  disabled: p.value
137
137
  }, null, 8, ["buttonList", "ctx", "disabled"])
138
138
  ]),
139
- default: g(() => [
139
+ default: y(() => [
140
140
  I("div", X, [
141
141
  x(Q, {
142
142
  ref_key: "vfdRef",
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-dialog.vue.js","sources":["../../../../src/components/form-render/dynamic-dialog.vue"],"sourcesContent":["<template>\n <TpfModal\n class=\"tpf-model design-model\"\n :destroyOnClose=\"true\"\n :title=\"options.title\"\n :bodyStyle=\"{\n height: dialogHeight,\n overflow: 'auto',\n ...JSON.parse(options.bodyStyle || '{}')\n }\"\n :centered=\"true\"\n v-model:visible=\"dialogVisible\"\n :width=\"options.width\"\n :mask=\"options.showModal\"\n :maskClosable=\"options.closeOnClickModal\"\n :keyboard=\"options.closeOnPressEscape\"\n @cancel=\"handleCloseEvent\"\n :left-num=\"leftNum\"\n v-bind=\"otherAttrs\"\n >\n <div class=\"dialog-content\">\n <VFormRender\n ref=\"vfdRef\"\n :loading=\"isLoading\"\n :vfCtx=\"{\n ...vfCtx,\n instance: context\n }\"\n :parent-form=\"parentForm\"\n :disabled-mode=\"options.disabledMode\"\n :dynamic-creation=\"true\"\n />\n </div>\n <template #footerRight>\n <ActionButtonListRender\n :buttonList=\"options.buttonList || []\"\n :ctx=\"getFormContext()\"\n @on-click=\"handleBtnClick\"\n :disabled=\"isDisabled\"\n />\n <!-- <SubmitButtonRender\n :disabled=\"isDisabled\"\n v-model:dialog-visible=\"dialogVisible\"\n :handleBeforeClose=\"handleBeforeClose\"\n :options=\"options\"\n :ctx=\"getFormContext()\"\n /> -->\n </template>\n </TpfModal>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, computed, nextTick, onBeforeUnmount } from 'vue';\n import { TpfModal, useExecFunction } from 'tmgc2-share';\n import SubmitButtonRender from './SubmitButtonRender.vue';\n import { useLowcode } from '@/hooks/useLowcode';\n import VFormRender from '../FormRender/index.vue';\n import ActionButtonListRender from '@/components/public/ActionButtonListRender.vue';\n defineOptions({\n name: 'dynamic-dialog'\n });\n\n const props = defineProps({\n options: {\n type: Object,\n default: () => ({})\n },\n formJson: {\n type: Object\n },\n formData: {\n type: Object,\n default: () => ({})\n },\n vfCtx: {\n type: Object,\n default: () => ({})\n },\n optionData: {\n //prop传入的选项数据\n type: Object,\n default: () => ({})\n },\n globalDsv: {\n // 全局数据源变量\n type: Object,\n default: () => ({})\n },\n parentFormRef: {\n type: Object,\n default: null\n },\n extraData: {\n type: Object,\n default: () => ({})\n },\n wrapperId: {\n type: String,\n default: null\n }\n });\n\n const dialogHeight = computed(() => {\n return props.options.height || '500px';\n });\n const leftNum = ref(null);\n\n const isDisabled = ref(false);\n const dialogVisible = ref(false);\n\n const { context, asyncExecuteFunction, executeFunction } = useExecFunction();\n const { vfdRef, isLoading, getComponentJson } = useLowcode({\n formCode: props.options.formCode,\n ...props.vfCtx\n });\n // 计算属性\n const parentForm = computed(() => {\n return {\n ...props.parentFormRef,\n parentDom: context.value,\n getParentFormRef\n };\n });\n\n const otherAttrs = computed(() => {\n if (props.options.cancelButtonHidden && props.options.okButtonHidden) {\n return { footer: null };\n }\n return {};\n });\n\n // 生命周期钩子\n onBeforeUnmount(() => {\n console.log(props.parentFormRef);\n props.parentFormRef?.setChildFormRef?.(null);\n });\n\n const setLoading = status => {\n isLoading.value = status;\n };\n\n const setTitle = title => {\n props.options.title = title;\n };\n\n const beforeOpen = () => {\n dialogVisible.value = true;\n };\n\n const handleBtnClick = async ({ result }: any) => {\n if (result !== false) {\n await handleCloseEvent();\n }\n };\n\n const show = () => {\n dialogVisible.value = true;\n\n //设置readMode模式\n nextTick(async () => {\n if (props.options?.readMode) {\n vfdRef.value?.setReadMode(true);\n }\n await getComponentJson([], props.options.formCode);\n vfdRef.value?.setDialogOrDrawerRef(context.value);\n if (props.parentFormRef) {\n props.parentFormRef.setChildFormRef(vfdRef.value);\n }\n handleOpenedEvent();\n });\n };\n\n const close = async () => {\n if (props.options.onDialogBeforeClose) {\n return await asyncExecuteFunction({\n functionBody: props.options.onDialogBeforeClose\n });\n }\n\n dialogVisible.value = false;\n };\n\n const handleCloseEvent = () => {\n dialogVisible.value = false;\n };\n\n const handleOpenedEvent = async () => {\n if (props.options.onDialogOpened) {\n return await asyncExecuteFunction({\n functionBody: props.options.onDialogOpened\n });\n }\n };\n\n const getParentFormRef = () => {\n return props.parentFormRef;\n };\n\n const updateTable = () => {\n if (props.vfCtx?.parent?.exposed?.updateTable) {\n props.vfCtx.parent.exposed.updateTable();\n }\n };\n\n const getExtraData = () => {\n return props.extraData;\n };\n\n const setleftText = number => {\n leftNum.value = number;\n };\n\n const setDisabled = status => {\n isDisabled.value = status;\n };\n\n const getFormRef = () => {\n return vfdRef.value;\n };\n\n const getFormContext = () => {\n return vfdRef.value?.context;\n };\n\n // 暴露方法给父组件\n defineExpose({\n getParentFormRef,\n getFormRef,\n setDisabled,\n setleftText,\n setLoading,\n setTitle,\n beforeOpen,\n show,\n close,\n handleCloseEvent,\n handleOpenedEvent,\n updateTable,\n getExtraData\n });\n</script>\n\n<style lang=\"less\">\n .dialog-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 300px;\n }\n</style>\n"],"names":["props","__props","dialogHeight","computed","leftNum","ref","isDisabled","dialogVisible","context","asyncExecuteFunction","executeFunction","useExecFunction","vfdRef","isLoading","getComponentJson","useLowcode","parentForm","getParentFormRef","otherAttrs","onBeforeUnmount","_b","_a","setLoading","status","setTitle","title","beforeOpen","handleBtnClick","result","handleCloseEvent","show","nextTick","_c","handleOpenedEvent","close","updateTable","getExtraData","setleftText","number","setDisabled","getFormRef","getFormContext","__expose","_openBlock","_createBlock","_unref","_mergeProps","$event","_createVNode","ActionButtonListRender","_createElementVNode","_hoisted_1","VFormRender"],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-dialog.vue.js","sources":["../../../../src/components/form-render/dynamic-dialog.vue"],"sourcesContent":["<template>\n <TpfModal\n class=\"tpf-model design-model\"\n :destroyOnClose=\"true\"\n :title=\"options.title\"\n :bodyStyle=\"{\n height: dialogHeight,\n overflow: 'auto',\n ...JSON.parse(options.bodyStyle || '{}')\n }\"\n :centered=\"true\"\n v-model:visible=\"dialogVisible\"\n :width=\"options.width\"\n :mask=\"options.showModal\"\n :maskClosable=\"options.closeOnClickModal\"\n :keyboard=\"options.closeOnPressEscape\"\n @cancel=\"handleCloseEvent\"\n :left-num=\"leftNum\"\n v-bind=\"otherAttrs\"\n >\n <div class=\"dialog-content\">\n <VFormRender\n ref=\"vfdRef\"\n :loading=\"isLoading\"\n :vfCtx=\"{\n ...vfCtx,\n instance: context\n }\"\n :parent-form=\"parentForm\"\n :disabled-mode=\"options.disabledMode\"\n :dynamic-creation=\"true\"\n />\n </div>\n <template #footerRight>\n <ActionButtonListRender\n :buttonList=\"options.buttonList || []\"\n :ctx=\"getFormContext()\"\n @on-click=\"handleBtnClick\"\n :disabled=\"isDisabled\"\n />\n </template>\n </TpfModal>\n</template>\n\n<script lang=\"ts\" setup>\n import { ref, computed, nextTick, onBeforeUnmount } from 'vue';\n import { TpfModal, useExecFunction } from 'tmgc2-share';\n import { useLowcode } from '@/hooks/useLowcode';\n import VFormRender from '../FormRender/index.vue';\n import ActionButtonListRender from '@/components/public/ActionButtonListRender.vue';\n defineOptions({\n name: 'dynamic-dialog'\n });\n\n const props = defineProps({\n options: {\n type: Object,\n default: () => ({})\n },\n formJson: {\n type: Object\n },\n formData: {\n type: Object,\n default: () => ({})\n },\n vfCtx: {\n type: Object,\n default: () => ({})\n },\n optionData: {\n //prop传入的选项数据\n type: Object,\n default: () => ({})\n },\n globalDsv: {\n // 全局数据源变量\n type: Object,\n default: () => ({})\n },\n parentFormRef: {\n type: Object,\n default: null\n },\n extraData: {\n type: Object,\n default: () => ({})\n },\n wrapperId: {\n type: String,\n default: null\n }\n });\n\n const dialogHeight = computed(() => {\n return props.options.height || '500px';\n });\n const leftNum = ref(null);\n\n const isDisabled = ref(false);\n const dialogVisible = ref(false);\n\n const { context, asyncExecuteFunction, executeFunction } = useExecFunction();\n const { vfdRef, isLoading, getComponentJson } = useLowcode({\n formCode: props.options.formCode,\n ...props.vfCtx\n });\n // 计算属性\n const parentForm = computed(() => {\n return {\n ...props.parentFormRef,\n parentDom: context.value,\n getParentFormRef\n };\n });\n\n const otherAttrs = computed(() => {\n if (props.options.cancelButtonHidden && props.options.okButtonHidden) {\n return { footer: null };\n }\n return {};\n });\n\n // 生命周期钩子\n onBeforeUnmount(() => {\n console.log(props.parentFormRef);\n props.parentFormRef?.setChildFormRef?.(null);\n });\n\n const setLoading = status => {\n isLoading.value = status;\n };\n\n const setTitle = title => {\n props.options.title = title;\n };\n\n const beforeOpen = () => {\n dialogVisible.value = true;\n };\n\n const handleBtnClick = async ({ result }: any) => {\n if (result !== false) {\n await handleCloseEvent();\n }\n };\n\n const show = () => {\n dialogVisible.value = true;\n console.log(122121);\n\n //设置readMode模式\n nextTick(async () => {\n if (props.options?.readMode) {\n vfdRef.value?.setReadMode(true);\n }\n await getComponentJson([], props.options.formCode);\n vfdRef.value?.setDialogOrDrawerRef(context.value);\n if (props.parentFormRef) {\n props.parentFormRef.setChildFormRef(vfdRef.value);\n }\n handleOpenedEvent();\n });\n };\n\n const close = async () => {\n if (props.options.onDialogBeforeClose) {\n return await asyncExecuteFunction({\n functionBody: props.options.onDialogBeforeClose\n });\n }\n\n dialogVisible.value = false;\n };\n\n const handleCloseEvent = () => {\n dialogVisible.value = false;\n };\n\n const handleOpenedEvent = async () => {\n if (props.options.onDialogOpened) {\n return await asyncExecuteFunction({\n functionBody: props.options.onDialogOpened\n });\n }\n };\n\n const getParentFormRef = () => {\n return props.parentFormRef;\n };\n\n const updateTable = () => {\n if (props.vfCtx?.parent?.exposed?.updateTable) {\n props.vfCtx.parent.exposed.updateTable();\n }\n };\n\n const getExtraData = () => {\n return props.extraData;\n };\n\n const setleftText = number => {\n leftNum.value = number;\n };\n\n const setDisabled = status => {\n isDisabled.value = status;\n };\n\n const getFormRef = () => {\n return vfdRef.value;\n };\n\n const getFormContext = () => {\n return vfdRef.value?.context;\n };\n\n // 暴露方法给父组件\n defineExpose({\n getParentFormRef,\n getFormRef,\n setDisabled,\n setleftText,\n setLoading,\n setTitle,\n beforeOpen,\n show,\n close,\n handleCloseEvent,\n handleOpenedEvent,\n updateTable,\n getExtraData\n });\n</script>\n\n<style lang=\"less\">\n .dialog-content {\n display: flex;\n flex: 1;\n flex-direction: column;\n min-height: 300px;\n }\n</style>\n"],"names":["props","__props","dialogHeight","computed","leftNum","ref","isDisabled","dialogVisible","context","asyncExecuteFunction","executeFunction","useExecFunction","vfdRef","isLoading","getComponentJson","useLowcode","parentForm","getParentFormRef","otherAttrs","onBeforeUnmount","_b","_a","setLoading","status","setTitle","title","beforeOpen","handleBtnClick","result","handleCloseEvent","show","nextTick","_c","handleOpenedEvent","close","updateTable","getExtraData","setleftText","number","setDisabled","getFormRef","getFormContext","__expose","_openBlock","_createBlock","_unref","_mergeProps","$event","_createVNode","ActionButtonListRender","_createElementVNode","_hoisted_1","VFormRender"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import o from "./ActionButtonListDialog.vue2.js";
2
2
  /* empty css */
3
3
  import t from "../../../_virtual/_plugin-vue_export-helper.js";
4
- const m = /* @__PURE__ */ t(o, [["__scopeId", "data-v-1ba0ad55"]]);
4
+ const e = /* @__PURE__ */ t(o, [["__scopeId", "data-v-ee85f744"]]);
5
5
  export {
6
- m as default
6
+ e as default
7
7
  };
8
8
  //# sourceMappingURL=ActionButtonListDialog.vue.js.map
@@ -306,8 +306,8 @@ const P = /* @__PURE__ */ z({
306
306
  type: "primary",
307
307
  size: "default",
308
308
  ghost: 0,
309
- hidden: !1,
310
- disabled: !1,
309
+ hidden: 0,
310
+ disabled: 0,
311
311
  onClick: ""
312
312
  });
313
313
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ActionButtonListDialog.vue2.js","sources":["../../../../src/components/public/ActionButtonListDialog.vue"],"sourcesContent":["<template>\n <Table :table-props=\"tableProps\" @register=\"register\" />\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 setup lang=\"tsx\">\n import { ref, computed } from 'vue';\n import { useI18n } from '@/utils/i18n';\n import CodeModalEditor from '@/components/code-editor/code-modal-editor.vue';\n import { generateId } from '@/utils/util';\n import { TpfSelectIcon, Table, useVxeTable, ImeTableProps } from 'tmgc2-share';\n import { VxeGridPropTypes } from 'vxe-table';\n\n // Props\n withDefaults(\n defineProps<{\n parmas?: string;\n }>(),\n {\n parmas: ''\n }\n );\n\n const buttonList = defineModel('data', {\n default: [] as any[]\n });\n\n // Composables\n const { i18nt } = useI18n();\n\n // Refs\n const currentEditBtn = ref();\n const codeModalEditorRef = ref();\n const currentRecordIndexs = ref();\n\n // Columns configuration\n const columns: VxeGridPropTypes.Columns = [\n {\n field: 'seq',\n type: 'seq',\n title: '序号',\n fixed: 'left',\n dragSort: true\n },\n {\n field: 'label',\n title: i18nt('designer.setting.operationButtonLabel'),\n width: 100,\n slots: {\n default({ row }) {\n return (\n <a-input\n v-model:value={row.label}\n placeholder={i18nt('designer.setting.operationButtonLabel')}\n />\n );\n }\n }\n },\n {\n field: 'type',\n title: i18nt('designer.setting.operationButtonType'),\n width: 120,\n slots: {\n default({ row }) {\n return (\n <a-select\n v-model:value={row.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=\"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 );\n }\n }\n },\n {\n field: 'size',\n title: i18nt('designer.setting.operationButtonSize'),\n width: 100,\n slots: {\n default({ row }) {\n return (\n <a-select\n v-model:value={row.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 );\n }\n }\n },\n {\n field: 'ghost',\n title: i18nt('designer.setting.operationButtonGhost'),\n width: 80,\n slots: {\n default({ row }) {\n return (\n <a-switch checkedValue={1} unCheckedValue={0} v-model:checked={row.ghost} />\n );\n }\n }\n },\n {\n field: 'danger',\n title: i18nt('designer.setting.danger'),\n width: 100,\n slots: {\n default({ row }) {\n return (\n <a-switch\n checkedValue={1}\n unCheckedValue={0}\n v-model:checked={row.danger}\n />\n );\n }\n }\n },\n {\n field: 'icon',\n title: i18nt('designer.setting.buttonIcon'),\n width: 120,\n slots: {\n default({ row }) {\n return <TpfSelectIcon v-model:value={row.icon} />;\n }\n }\n },\n {\n field: 'onHidden',\n title: i18nt('designer.setting.operationButtonHidden'),\n width: 100,\n slots: {\n default({ row, rowIndex }) {\n return (\n <a-space>\n <a-switch\n checkedValue={1}\n unCheckedValue={0}\n disabled={!!row.onHidden}\n v-model:checked={row.hidden}\n />\n <a-button\n class={[{ 'button-text-highlight': !!row.onHidden }]}\n onClick={() => editClickEvent('onHidden', row, rowIndex)}\n disabled={row.hidden}\n size=\"small\"\n >\n {i18nt('designer.setting.operationButtonHidden')}\n </a-button>\n </a-space>\n );\n }\n }\n },\n {\n field: 'onDisabled',\n title: i18nt('designer.setting.operationButtonDisabled'),\n width: 100,\n slots: {\n default({ row, rowIndex }) {\n return (\n <a-space>\n <a-switch\n checkedValue={1}\n unCheckedValue={0}\n disabled={!!row.onDisabled}\n v-model:checked={row.disabled}\n />\n <a-button\n class={[{ 'button-text-highlight': !!row.onDisabled }]}\n onClick={() => editClickEvent('onDisabled', row, rowIndex)}\n disabled={row.disabled}\n size=\"small\"\n >\n {i18nt('designer.setting.operationButtonDisabled')}\n </a-button>\n </a-space>\n );\n }\n }\n },\n {\n field: 'onClick',\n title: i18nt('designer.setting.operationButtonClick'),\n width: 100,\n slots: {\n default({ row, rowIndex }) {\n return (\n <a-button\n class={[{ 'button-text-highlight': !!row.onClick }]}\n onClick={() => editClickEvent('onClick', row, rowIndex)}\n size=\"small\"\n >\n {i18nt('designer.setting.operationButtonClick')}\n </a-button>\n );\n }\n }\n },\n {\n field: 'action',\n title: i18nt('designer.setting.operationButtonAction'),\n width: 80,\n align: 'center',\n fixed: 'right',\n slots: {\n default({ rowIndex }) {\n return (\n <a-button\n type=\"link\"\n onClick={() => deleteOperationButton(rowIndex)}\n size=\"small\"\n >\n {i18nt('designer.setting.delete')}\n </a-button>\n );\n }\n }\n }\n ];\n\n const tableProps = computed(() => {\n return {\n columnConfig: {\n resizable: true\n },\n rowConfig: {\n keyField: 'name',\n drag: true\n },\n cellConfig: {\n height: 50\n },\n data: buttonList.value,\n size: 'mini',\n columns: columns,\n clickRowCheck: false\n } as ImeTableProps;\n });\n\n const { tableRef, register } = useVxeTable({\n props: {\n rowKey: 'name'\n },\n events: {\n rowDragend() {\n buttonList.value = tableRef.value?.getFullData() || [];\n }\n },\n callbacks: {}\n });\n\n // Methods\n const deleteOperationButton = (index: number) => {\n console.log(index);\n buttonList.value.splice(index, 1);\n };\n\n const editClickEvent = (name, row, rowIndex) => {\n currentRecordIndexs.value = rowIndex;\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: 'default',\n ghost: 0,\n hidden: false,\n disabled: false,\n onClick: ''\n });\n };\n</script>\n\n<style lang=\"less\" scoped>\n .add-btn {\n margin-top: 10px;\n text-align: center;\n }\n</style>\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","buttonList","_useModel","__props","i18nt","useI18n","currentEditBtn","ref","codeModalEditorRef","currentRecordIndexs","columns","field","type","title","fixed","dragSort","width","slots","default","row","_createVNode2","_resolveComponent2","label","$event","_createTextVNode2","size","ghost","danger","TpfSelectIcon","icon","rowIndex","_slot","onHidden","hidden","onClick","editClickEvent","_slot2","onDisabled","disabled","_slot3","align","_slot4","deleteOperationButton","tableProps","computed","columnConfig","resizable","rowConfig","keyField","drag","cellConfig","height","data","value","clickRowCheck","tableRef","register","useVxeTable","props","rowKey","events","rowDragend","getFullData","callbacks","index","console","log","splice","name","code","open","saveColumnRender","addOperationButton","push","generateId","_createVNode","_unref","Table","onRegister","_createElementVNode","_hoisted_1","_component_a_button","CodeModalEditor","onSave","parmas"],"mappings":"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"}
1
+ {"version":3,"file":"ActionButtonListDialog.vue2.js","sources":["../../../../src/components/public/ActionButtonListDialog.vue"],"sourcesContent":["<template>\n <Table :table-props=\"tableProps\" @register=\"register\" />\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 setup lang=\"tsx\">\n import { ref, computed } from 'vue';\n import { useI18n } from '@/utils/i18n';\n import CodeModalEditor from '@/components/code-editor/code-modal-editor.vue';\n import { generateId } from '@/utils/util';\n import { TpfSelectIcon, Table, useVxeTable, ImeTableProps } from 'tmgc2-share';\n import { VxeGridPropTypes } from 'vxe-table';\n\n // Props\n withDefaults(\n defineProps<{\n parmas?: string;\n }>(),\n {\n parmas: ''\n }\n );\n\n const buttonList = defineModel('data', {\n default: [] as any[]\n });\n\n // Composables\n const { i18nt } = useI18n();\n\n // Refs\n const currentEditBtn = ref();\n const codeModalEditorRef = ref();\n const currentRecordIndexs = ref();\n\n // Columns configuration\n const columns: VxeGridPropTypes.Columns = [\n {\n field: 'seq',\n type: 'seq',\n title: '序号',\n fixed: 'left',\n dragSort: true\n },\n {\n field: 'label',\n title: i18nt('designer.setting.operationButtonLabel'),\n width: 100,\n slots: {\n default({ row }) {\n return (\n <a-input\n v-model:value={row.label}\n placeholder={i18nt('designer.setting.operationButtonLabel')}\n />\n );\n }\n }\n },\n {\n field: 'type',\n title: i18nt('designer.setting.operationButtonType'),\n width: 120,\n slots: {\n default({ row }) {\n return (\n <a-select\n v-model:value={row.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=\"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 );\n }\n }\n },\n {\n field: 'size',\n title: i18nt('designer.setting.operationButtonSize'),\n width: 100,\n slots: {\n default({ row }) {\n return (\n <a-select\n v-model:value={row.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 );\n }\n }\n },\n {\n field: 'ghost',\n title: i18nt('designer.setting.operationButtonGhost'),\n width: 80,\n slots: {\n default({ row }) {\n return (\n <a-switch checkedValue={1} unCheckedValue={0} v-model:checked={row.ghost} />\n );\n }\n }\n },\n {\n field: 'danger',\n title: i18nt('designer.setting.danger'),\n width: 100,\n slots: {\n default({ row }) {\n return (\n <a-switch\n checkedValue={1}\n unCheckedValue={0}\n v-model:checked={row.danger}\n />\n );\n }\n }\n },\n {\n field: 'icon',\n title: i18nt('designer.setting.buttonIcon'),\n width: 120,\n slots: {\n default({ row }) {\n return <TpfSelectIcon v-model:value={row.icon} />;\n }\n }\n },\n {\n field: 'onHidden',\n title: i18nt('designer.setting.operationButtonHidden'),\n width: 100,\n slots: {\n default({ row, rowIndex }) {\n return (\n <a-space>\n <a-switch\n checkedValue={1}\n unCheckedValue={0}\n disabled={!!row.onHidden}\n v-model:checked={row.hidden}\n />\n <a-button\n class={[{ 'button-text-highlight': !!row.onHidden }]}\n onClick={() => editClickEvent('onHidden', row, rowIndex)}\n disabled={row.hidden}\n size=\"small\"\n >\n {i18nt('designer.setting.operationButtonHidden')}\n </a-button>\n </a-space>\n );\n }\n }\n },\n {\n field: 'onDisabled',\n title: i18nt('designer.setting.operationButtonDisabled'),\n width: 100,\n slots: {\n default({ row, rowIndex }) {\n return (\n <a-space>\n <a-switch\n checkedValue={1}\n unCheckedValue={0}\n disabled={!!row.onDisabled}\n v-model:checked={row.disabled}\n />\n <a-button\n class={[{ 'button-text-highlight': !!row.onDisabled }]}\n onClick={() => editClickEvent('onDisabled', row, rowIndex)}\n disabled={row.disabled}\n size=\"small\"\n >\n {i18nt('designer.setting.operationButtonDisabled')}\n </a-button>\n </a-space>\n );\n }\n }\n },\n {\n field: 'onClick',\n title: i18nt('designer.setting.operationButtonClick'),\n width: 100,\n slots: {\n default({ row, rowIndex }) {\n return (\n <a-button\n class={[{ 'button-text-highlight': !!row.onClick }]}\n onClick={() => editClickEvent('onClick', row, rowIndex)}\n size=\"small\"\n >\n {i18nt('designer.setting.operationButtonClick')}\n </a-button>\n );\n }\n }\n },\n {\n field: 'action',\n title: i18nt('designer.setting.operationButtonAction'),\n width: 80,\n align: 'center',\n fixed: 'right',\n slots: {\n default({ rowIndex }) {\n return (\n <a-button\n type=\"link\"\n onClick={() => deleteOperationButton(rowIndex)}\n size=\"small\"\n >\n {i18nt('designer.setting.delete')}\n </a-button>\n );\n }\n }\n }\n ];\n\n const tableProps = computed(() => {\n return {\n columnConfig: {\n resizable: true\n },\n rowConfig: {\n keyField: 'name',\n drag: true\n },\n cellConfig: {\n height: 50\n },\n data: buttonList.value,\n size: 'mini',\n columns: columns,\n clickRowCheck: false\n } as ImeTableProps;\n });\n\n const { tableRef, register } = useVxeTable({\n props: {\n rowKey: 'name'\n },\n events: {\n rowDragend() {\n buttonList.value = tableRef.value?.getFullData() || [];\n }\n },\n callbacks: {}\n });\n\n // Methods\n const deleteOperationButton = (index: number) => {\n console.log(index);\n buttonList.value.splice(index, 1);\n };\n\n const editClickEvent = (name, row, rowIndex) => {\n currentRecordIndexs.value = rowIndex;\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: 'default',\n ghost: 0,\n hidden: 0,\n disabled: 0,\n onClick: ''\n });\n };\n</script>\n\n<style lang=\"less\" scoped>\n .add-btn {\n margin-top: 10px;\n text-align: center;\n }\n</style>\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","buttonList","_useModel","__props","i18nt","useI18n","currentEditBtn","ref","codeModalEditorRef","currentRecordIndexs","columns","field","type","title","fixed","dragSort","width","slots","default","row","_createVNode2","_resolveComponent2","label","$event","_createTextVNode2","size","ghost","danger","TpfSelectIcon","icon","rowIndex","_slot","onHidden","hidden","onClick","editClickEvent","_slot2","onDisabled","disabled","_slot3","align","_slot4","deleteOperationButton","tableProps","computed","columnConfig","resizable","rowConfig","keyField","drag","cellConfig","height","data","value","clickRowCheck","tableRef","register","useVxeTable","props","rowKey","events","rowDragend","getFullData","callbacks","index","console","log","splice","name","code","open","saveColumnRender","addOperationButton","push","generateId","_createVNode","_unref","Table","onRegister","_createElementVNode","_hoisted_1","_component_a_button","CodeModalEditor","onSave","parmas"],"mappings":"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"}
@@ -1,21 +1,21 @@
1
- import d from "./ActionButtonListRender.vue2.js";
2
- import { resolveComponent as t, createElementBlock as a, openBlock as n, normalizeStyle as p, normalizeClass as u, createBlock as s, Teleport as b, createVNode as f, withCtx as l, Fragment as g, renderList as _, createCommentVNode as y, createTextVNode as k, toDisplayString as m } from "vue";
1
+ import c from "./ActionButtonListRender.vue2.js";
2
+ import { resolveComponent as t, createElementBlock as s, openBlock as n, normalizeStyle as p, normalizeClass as u, createBlock as a, Teleport as b, createVNode as g, withCtx as l, Fragment as f, renderList as _, createCommentVNode as y, createTextVNode as k, toDisplayString as C } from "vue";
3
3
  /* empty css */
4
- import C from "../../../_virtual/_plugin-vue_export-helper.js";
4
+ import m from "../../../_virtual/_plugin-vue_export-helper.js";
5
5
  function h(o, v, z, B, S, $) {
6
- const r = t("SvgIcon"), i = t("a-button"), c = t("a-space");
7
- return n(), a("div", {
6
+ const r = t("SvgIcon"), d = t("a-button"), i = t("a-space");
7
+ return n(), s("div", {
8
8
  ref: "fieldEditor",
9
9
  class: u(["button-list-container", ...o.customClass]),
10
10
  style: p(o.containerStyle)
11
11
  }, [
12
- (n(), s(b, {
12
+ (n(), a(b, {
13
13
  disabled: o.isDisabled,
14
14
  to: o.getContainer
15
15
  }, [
16
- f(c, { size: 8 }, {
16
+ g(i, { size: 8 }, {
17
17
  default: l(() => [
18
- (n(!0), a(g, null, _(o.visibleButtons, (e) => (n(), s(i, {
18
+ (n(!0), s(f, null, _(o.visibleButtons, (e) => (n(), a(d, {
19
19
  key: e.key,
20
20
  type: e.type,
21
21
  size: e.size,
@@ -23,16 +23,16 @@ function h(o, v, z, B, S, $) {
23
23
  ghost: !!e.ghost,
24
24
  class: "tpf-button",
25
25
  loading: e.loading,
26
- disabled: o.handleDisabled(e) || o.disabled,
26
+ disabled: o.handleDisabled(e) || o.disabled || !!e.disabled,
27
27
  onClick: (D) => o.handleClick(e)
28
28
  }, {
29
29
  default: l(() => [
30
- e.icon ? (n(), s(r, {
30
+ e.icon ? (n(), a(r, {
31
31
  key: 0,
32
32
  "icon-class": e.icon,
33
33
  class: "button-icon"
34
34
  }, null, 8, ["icon-class"])) : y("", !0),
35
- k(" " + m(e.label), 1)
35
+ k(" " + C(e.label), 1)
36
36
  ]),
37
37
  _: 2
38
38
  }, 1032, ["type", "size", "danger", "ghost", "loading", "disabled", "onClick"]))), 128))
@@ -42,7 +42,7 @@ function h(o, v, z, B, S, $) {
42
42
  ], 8, ["disabled", "to"]))
43
43
  ], 6);
44
44
  }
45
- const L = /* @__PURE__ */ C(d, [["render", h], ["__scopeId", "data-v-ef195e0e"]]);
45
+ const L = /* @__PURE__ */ m(c, [["render", h], ["__scopeId", "data-v-4a5589b9"]]);
46
46
  export {
47
47
  L as default
48
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ActionButtonListRender.vue.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 :size=\"item.size\"\n :danger=\"!!item.danger\"\n :ghost=\"!!item.ghost\"\n class=\"tpf-button\"\n :loading=\"item.loading\"\n :disabled=\"handleDisabled(item) || disabled\"\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 { SvgIcon, useExecFunction } from 'tmgc2-share';\n import type { ActionButton } from '@/types/button';\n import { ButtonPositionEnum } from '@/constants';\n\n export default defineComponent({\n name: 'ActionButtonListRender',\n components: { SvgIcon },\n props: {\n options: {\n type: Object,\n default: () => {}\n },\n disabled: {\n type: Boolean,\n default: false\n },\n scope: {\n type: Object,\n default: () => {}\n },\n ctx: {\n type: Object,\n default: () => {}\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 emits: ['on-click'],\n setup(props, { emit }) {\n const containerStyle = computed(() => ({\n '--flex': props.flex\n }));\n\n const { executeFunction, asyncExecuteFunction } = useExecFunction();\n\n const isDisabled = computed(\n () => props.options?.buttonPosition !== ButtonPositionEnum.DIY || props.designState\n );\n\n const getContainer = computed(() =>\n isDisabled.value ? null : props.options?.getContainer\n );\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 if (item.loading) return;\n item.loading = true;\n try {\n const result = await asyncExecuteFunction({\n functionBody: item.onClick,\n context: props.ctx,\n params: props.scope\n });\n\n emit('on-click', { item, result });\n } catch (error) {\n console.error('Button click handler error:', error);\n } finally {\n item.loading = false;\n }\n };\n\n const handleDisabled = (item: ActionButton): boolean => {\n if (!item.onDisabled) return false;\n\n try {\n const result = executeFunction({\n functionBody: item.onDisabled,\n context: props.ctx,\n params: props.scope\n });\n if (typeof result === 'boolean') {\n return result;\n } else {\n return false;\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":["_createElementBlock","_normalizeClass","_ctx","_normalizeStyle","_createBlock","_Teleport","_createVNode","_component_a_space","_withCtx","_openBlock","_Fragment","_renderList","item","_component_a_button","$event","_component_SvgIcon","_createCommentVNode","_toDisplayString"],"mappings":";;;;;;cACIA,EA0BM,OAAA;AAAA,IAzBF,KAAI;AAAA,IACH,OAAKC,+BAA+BC,EAAA,WAAW,CAAA;AAAA,IAC/C,OAAKC,EAAED,EAAA,cAAc;AAAA,EAAA,GAAA;AAAA,UAEtBE,EAoBWC,GAAA;AAAA,MApBA,UAAUH,EAAA;AAAA,MAAa,IAAIA,EAAA;AAAA,IAAA,GAAA;AAAA,MAClCI,EAkBUC,GAAA,EAlBA,MAAM,EAAA,GAAC;AAAA,QAAA,SAAAC,EAET,MAA8B;AAAA,WAAAC,EAAA,EAAA,GADlCT,EAgBWU,GAAA,MAAAC,EAfQT,EAAA,gBAAc,CAAtBU,YADXR,EAgBWS,GAAA;AAAA,YAdN,KAAKD,EAAK;AAAA,YACV,MAAMA,EAAK;AAAA,YACX,MAAMA,EAAK;AAAA,YACX,QAAM,EAAIA,EAAK;AAAA,YACf,OAAK,EAAIA,EAAK;AAAA,YACf,OAAM;AAAA,YACL,SAASA,EAAK;AAAA,YACd,UAAUV,EAAA,eAAeU,CAAI,KAAKV,EAAA;AAAA,YAClC,SAAK,CAAAY,MAAEZ,EAAA,YAAYU,CAAI;AAAA,UAAA,GAAA;AAAA,uBAExB,MAEW;AAAA,cAFKA,EAAK,aACjBR,EAAuDW,GAAA;AAAA,gBAAA,KAAA;AAAA,gBAA7C,cAAYH,EAAK;AAAA,gBAAM,OAAM;AAAA,cAAA,GAAA,MAAA,GAAA,CAAA,YAAA,CAAA,KAAAI,EAAA,IAAA,EAAA;AAAA,gBAChC,MACXC,EAAGL,EAAK,KAAK,GAAA,CAAA;AAAA,YAAA,CAAA;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"ActionButtonListRender.vue.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 :size=\"item.size\"\n :danger=\"!!item.danger\"\n :ghost=\"!!item.ghost\"\n class=\"tpf-button\"\n :loading=\"item.loading\"\n :disabled=\"handleDisabled(item) || disabled || !!item.disabled\"\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 { SvgIcon, useExecFunction } from 'tmgc2-share';\n import type { ActionButton } from '@/types/button';\n import { ButtonPositionEnum } from '@/constants';\n\n export default defineComponent({\n name: 'ActionButtonListRender',\n components: { SvgIcon },\n props: {\n options: {\n type: Object,\n default: () => {}\n },\n disabled: {\n type: Boolean,\n default: false\n },\n scope: {\n type: Object,\n default: () => {}\n },\n ctx: {\n type: Object,\n default: () => {}\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 emits: ['on-click'],\n setup(props, { emit }) {\n const containerStyle = computed(() => ({\n '--flex': props.flex\n }));\n\n const { executeFunction, asyncExecuteFunction } = useExecFunction();\n\n const isDisabled = computed(\n () => props.options?.buttonPosition !== ButtonPositionEnum.DIY || props.designState\n );\n\n const getContainer = computed(() =>\n isDisabled.value ? null : props.options?.getContainer\n );\n\n const visibleButtons = computed(() =>\n props.buttonList\n .filter(item => item.hidden !== 1)\n .filter(item => !handleHidden(item))\n );\n\n const handleClick = async (item: ActionButton) => {\n if (props.designState) return; // 在设计状态下不处理点击事件\n if (!item.onClick) return;\n if (item.loading) return;\n item.loading = true;\n try {\n const result = await asyncExecuteFunction({\n functionBody: item.onClick,\n context: props.ctx,\n params: props.scope\n });\n console.log({ result });\n\n emit('on-click', { item, result });\n } catch (error) {\n console.error('Button click handler error:', error);\n } finally {\n item.loading = false;\n }\n };\n\n const handleDisabled = (item: ActionButton): boolean => {\n if (!item.onDisabled) return false;\n\n try {\n const result = executeFunction({\n functionBody: item.onDisabled,\n context: props.ctx,\n params: props.scope\n });\n if (typeof result === 'boolean') {\n return result;\n } else {\n return false;\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":["_createElementBlock","_normalizeClass","_ctx","_normalizeStyle","_createBlock","_Teleport","_createVNode","_component_a_space","_withCtx","_openBlock","_Fragment","_renderList","item","_component_a_button","$event","_component_SvgIcon","_createCommentVNode","_toDisplayString"],"mappings":";;;;;;cACIA,EA0BM,OAAA;AAAA,IAzBF,KAAI;AAAA,IACH,OAAKC,+BAA+BC,EAAA,WAAW,CAAA;AAAA,IAC/C,OAAKC,EAAED,EAAA,cAAc;AAAA,EAAA,GAAA;AAAA,UAEtBE,EAoBWC,GAAA;AAAA,MApBA,UAAUH,EAAA;AAAA,MAAa,IAAIA,EAAA;AAAA,IAAA,GAAA;AAAA,MAClCI,EAkBUC,GAAA,EAlBA,MAAM,EAAA,GAAC;AAAA,QAAA,SAAAC,EAET,MAA8B;AAAA,WAAAC,EAAA,EAAA,GADlCT,EAgBWU,GAAA,MAAAC,EAfQT,EAAA,gBAAc,CAAtBU,YADXR,EAgBWS,GAAA;AAAA,YAdN,KAAKD,EAAK;AAAA,YACV,MAAMA,EAAK;AAAA,YACX,MAAMA,EAAK;AAAA,YACX,QAAM,EAAIA,EAAK;AAAA,YACf,OAAK,EAAIA,EAAK;AAAA,YACf,OAAM;AAAA,YACL,SAASA,EAAK;AAAA,YACd,UAAUV,EAAA,eAAeU,CAAI,KAAKV,EAAA,YAAQ,EAAMU,EAAK;AAAA,YACrD,SAAK,CAAAE,MAAEZ,EAAA,YAAYU,CAAI;AAAA,UAAA,GAAA;AAAA,uBAExB,MAEW;AAAA,cAFKA,EAAK,aACjBR,EAAuDW,GAAA;AAAA,gBAAA,KAAA;AAAA,gBAA7C,cAAYH,EAAK;AAAA,gBAAM,OAAM;AAAA,cAAA,GAAA,MAAA,GAAA,CAAA,YAAA,CAAA,KAAAI,EAAA,IAAA,EAAA;AAAA,gBAChC,MACXC,EAAGL,EAAK,KAAK,GAAA,CAAA;AAAA,YAAA,CAAA;AAAA;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent as b, computed as o } from "vue";
2
- import { SvgIcon as x, useExecFunction as B } from "tmgc2-share";
3
- import { ButtonPositionEnum as g } from "../../constants/index.js";
2
+ import { SvgIcon as x, useExecFunction as g } from "tmgc2-share";
3
+ import { ButtonPositionEnum as h } from "../../constants/index.js";
4
4
  const C = b({
5
5
  name: "ActionButtonListRender",
6
6
  components: { SvgIcon: x },
@@ -42,56 +42,56 @@ const C = b({
42
42
  }
43
43
  },
44
44
  emits: ["on-click"],
45
- setup(e, { emit: c }) {
45
+ setup(t, { emit: a }) {
46
46
  const l = o(() => ({
47
- "--flex": e.flex
48
- })), { executeFunction: r, asyncExecuteFunction: i } = B(), a = o(
47
+ "--flex": t.flex
48
+ })), { executeFunction: r, asyncExecuteFunction: i } = g(), c = o(
49
49
  () => {
50
- var t;
51
- return ((t = e.options) == null ? void 0 : t.buttonPosition) !== g.DIY || e.designState;
50
+ var e;
51
+ return ((e = t.options) == null ? void 0 : e.buttonPosition) !== h.DIY || t.designState;
52
52
  }
53
53
  ), s = o(
54
54
  () => {
55
- var t;
56
- return a.value ? null : (t = e.options) == null ? void 0 : t.getContainer;
55
+ var e;
56
+ return c.value ? null : (e = t.options) == null ? void 0 : e.getContainer;
57
57
  }
58
58
  ), u = o(
59
- () => e.buttonList.filter((t) => !y(t))
60
- ), d = async (t) => {
61
- if (!e.designState && t.onClick && !t.loading) {
62
- t.loading = !0;
59
+ () => t.buttonList.filter((e) => e.hidden !== 1).filter((e) => !y(e))
60
+ ), d = async (e) => {
61
+ if (!t.designState && e.onClick && !e.loading) {
62
+ e.loading = !0;
63
63
  try {
64
64
  const n = await i({
65
- functionBody: t.onClick,
66
- context: e.ctx,
67
- params: e.scope
65
+ functionBody: e.onClick,
66
+ context: t.ctx,
67
+ params: t.scope
68
68
  });
69
- c("on-click", { item: t, result: n });
69
+ console.log({ result: n }), a("on-click", { item: e, result: n });
70
70
  } catch (n) {
71
71
  console.error("Button click handler error:", n);
72
72
  } finally {
73
- t.loading = !1;
73
+ e.loading = !1;
74
74
  }
75
75
  }
76
- }, f = (t) => {
77
- if (!t.onDisabled) return !1;
76
+ }, f = (e) => {
77
+ if (!e.onDisabled) return !1;
78
78
  try {
79
79
  const n = r({
80
- functionBody: t.onDisabled,
81
- context: e.ctx,
82
- params: e.scope
80
+ functionBody: e.onDisabled,
81
+ context: t.ctx,
82
+ params: t.scope
83
83
  });
84
84
  return typeof n == "boolean" ? n : !1;
85
85
  } catch (n) {
86
86
  return console.error("Button disabled handler error:", n), !1;
87
87
  }
88
- }, y = (t) => {
89
- if (!t.onHidden) return !1;
88
+ }, y = (e) => {
89
+ if (!e.onHidden) return !1;
90
90
  try {
91
91
  return r({
92
- functionBody: t.onHidden,
93
- context: e.ctx,
94
- params: e.scope
92
+ functionBody: e.onHidden,
93
+ context: t.ctx,
94
+ params: t.scope
95
95
  });
96
96
  } catch (n) {
97
97
  return console.error("Button hidden handler error:", n), !1;
@@ -99,7 +99,7 @@ const C = b({
99
99
  };
100
100
  return {
101
101
  getContainer: s,
102
- isDisabled: a,
102
+ isDisabled: c,
103
103
  containerStyle: l,
104
104
  visibleButtons: u,
105
105
  handleClick: d,
@@ -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 :size=\"item.size\"\n :danger=\"!!item.danger\"\n :ghost=\"!!item.ghost\"\n class=\"tpf-button\"\n :loading=\"item.loading\"\n :disabled=\"handleDisabled(item) || disabled\"\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 { SvgIcon, useExecFunction } from 'tmgc2-share';\n import type { ActionButton } from '@/types/button';\n import { ButtonPositionEnum } from '@/constants';\n\n export default defineComponent({\n name: 'ActionButtonListRender',\n components: { SvgIcon },\n props: {\n options: {\n type: Object,\n default: () => {}\n },\n disabled: {\n type: Boolean,\n default: false\n },\n scope: {\n type: Object,\n default: () => {}\n },\n ctx: {\n type: Object,\n default: () => {}\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 emits: ['on-click'],\n setup(props, { emit }) {\n const containerStyle = computed(() => ({\n '--flex': props.flex\n }));\n\n const { executeFunction, asyncExecuteFunction } = useExecFunction();\n\n const isDisabled = computed(\n () => props.options?.buttonPosition !== ButtonPositionEnum.DIY || props.designState\n );\n\n const getContainer = computed(() =>\n isDisabled.value ? null : props.options?.getContainer\n );\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 if (item.loading) return;\n item.loading = true;\n try {\n const result = await asyncExecuteFunction({\n functionBody: item.onClick,\n context: props.ctx,\n params: props.scope\n });\n\n emit('on-click', { item, result });\n } catch (error) {\n console.error('Button click handler error:', error);\n } finally {\n item.loading = false;\n }\n };\n\n const handleDisabled = (item: ActionButton): boolean => {\n if (!item.onDisabled) return false;\n\n try {\n const result = executeFunction({\n functionBody: item.onDisabled,\n context: props.ctx,\n params: props.scope\n });\n if (typeof result === 'boolean') {\n return result;\n } else {\n return false;\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","emit","containerStyle","computed","executeFunction","asyncExecuteFunction","useExecFunction","isDisabled","_a","ButtonPositionEnum","getContainer","visibleButtons","handleHidden","item","handleClick","result","error","handleDisabled"],"mappings":"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"}
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 :size=\"item.size\"\n :danger=\"!!item.danger\"\n :ghost=\"!!item.ghost\"\n class=\"tpf-button\"\n :loading=\"item.loading\"\n :disabled=\"handleDisabled(item) || disabled || !!item.disabled\"\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 { SvgIcon, useExecFunction } from 'tmgc2-share';\n import type { ActionButton } from '@/types/button';\n import { ButtonPositionEnum } from '@/constants';\n\n export default defineComponent({\n name: 'ActionButtonListRender',\n components: { SvgIcon },\n props: {\n options: {\n type: Object,\n default: () => {}\n },\n disabled: {\n type: Boolean,\n default: false\n },\n scope: {\n type: Object,\n default: () => {}\n },\n ctx: {\n type: Object,\n default: () => {}\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 emits: ['on-click'],\n setup(props, { emit }) {\n const containerStyle = computed(() => ({\n '--flex': props.flex\n }));\n\n const { executeFunction, asyncExecuteFunction } = useExecFunction();\n\n const isDisabled = computed(\n () => props.options?.buttonPosition !== ButtonPositionEnum.DIY || props.designState\n );\n\n const getContainer = computed(() =>\n isDisabled.value ? null : props.options?.getContainer\n );\n\n const visibleButtons = computed(() =>\n props.buttonList\n .filter(item => item.hidden !== 1)\n .filter(item => !handleHidden(item))\n );\n\n const handleClick = async (item: ActionButton) => {\n if (props.designState) return; // 在设计状态下不处理点击事件\n if (!item.onClick) return;\n if (item.loading) return;\n item.loading = true;\n try {\n const result = await asyncExecuteFunction({\n functionBody: item.onClick,\n context: props.ctx,\n params: props.scope\n });\n console.log({ result });\n\n emit('on-click', { item, result });\n } catch (error) {\n console.error('Button click handler error:', error);\n } finally {\n item.loading = false;\n }\n };\n\n const handleDisabled = (item: ActionButton): boolean => {\n if (!item.onDisabled) return false;\n\n try {\n const result = executeFunction({\n functionBody: item.onDisabled,\n context: props.ctx,\n params: props.scope\n });\n if (typeof result === 'boolean') {\n return result;\n } else {\n return false;\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","emit","containerStyle","computed","executeFunction","asyncExecuteFunction","useExecFunction","isDisabled","_a","ButtonPositionEnum","getContainer","visibleButtons","item","handleHidden","handleClick","result","error","handleDisabled"],"mappings":"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"}