@kp-ui/lowcode-pc 1.0.0-alpha.9 → 1.0.1

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 (97) hide show
  1. package/assets/styles/style.css +189 -51
  2. package/core/src/components/common/render/Debugger.vue.js +1 -1
  3. package/core/src/components/common/render/Debugger.vue2.js +1 -1
  4. package/core/src/components/common/render/Debugger.vue2.js.map +1 -1
  5. package/core/src/components/common/render/LowcodeRenderProvider.vue.js +10 -1
  6. package/core/src/components/common/render/LowcodeRenderProvider.vue.js.map +1 -1
  7. package/core/src/components/common/render/useFormContext.js +3 -2
  8. package/core/src/components/common/render/useFormContext.js.map +1 -1
  9. package/core/src/constants/WidgetTypeEnum.js +1 -0
  10. package/core/src/constants/WidgetTypeEnum.js.map +1 -1
  11. package/core/src/hooks/useAppRef.js +1 -0
  12. package/core/src/hooks/useAppRef.js.map +1 -1
  13. package/core/src/hooks/useDataHttp.js +3 -3
  14. package/core/src/hooks/useDataHttp.js.map +1 -1
  15. package/core/src/hooks/useDesigner.js +3 -1
  16. package/core/src/hooks/useDesigner.js.map +1 -1
  17. package/core/src/hooks/useField.js +97 -64
  18. package/core/src/hooks/useField.js.map +1 -1
  19. package/core/src/hooks/useWebMCP.js +82 -0
  20. package/core/src/hooks/useWebMCP.js.map +1 -0
  21. package/core/src/lang/en-US.js +33 -0
  22. package/core/src/lang/en-US.js.map +1 -1
  23. package/core/src/lang/zh-CN.js +64 -11
  24. package/core/src/lang/zh-CN.js.map +1 -1
  25. package/install.js +1 -1
  26. package/install.js.map +1 -1
  27. package/package.json +1 -1
  28. package/src/components/desginer/form-widget/container-widget/data-table-widget.vue.js +1 -1
  29. package/src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js +17 -3
  30. package/src/components/desginer/form-widget/container-widget/data-table-widget.vue2.js.map +1 -1
  31. package/src/components/desginer/form-widget/container-widget/useTableWidget.js +23 -5
  32. package/src/components/desginer/form-widget/container-widget/useTableWidget.js.map +1 -1
  33. package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue.js +1 -1
  34. package/src/components/desginer/form-widget/container-widget/vf-box-widget.vue2.js.map +1 -1
  35. package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js +0 -1
  36. package/src/components/desginer/form-widget/container-widget/vf-dialog-widget.vue2.js.map +1 -1
  37. package/src/components/desginer/widget-panel/advanced/data-table.js +2 -0
  38. package/src/components/desginer/widget-panel/advanced/data-table.js.map +1 -1
  39. package/src/components/desginer/widget-panel/containers/grid-sub-form.js +5 -0
  40. package/src/components/desginer/widget-panel/containers/grid-sub-form.js.map +1 -1
  41. package/src/components/desginer/widget-panel/containers/grid.js +1 -3
  42. package/src/components/desginer/widget-panel/containers/grid.js.map +1 -1
  43. package/src/components/field-widget/bpmn-editor-widget.vue.js +1 -1
  44. package/src/components/field-widget/bpmn-editor-widget.vue2.js +1 -1
  45. package/src/components/field-widget/bpmn-editor-widget.vue2.js.map +1 -1
  46. package/src/components/field-widget/button-list-widget.vue.js +1 -1
  47. package/src/components/field-widget/button-list-widget.vue2.js +1 -2
  48. package/src/components/field-widget/button-list-widget.vue2.js.map +1 -1
  49. package/src/components/field-widget/code-editor-widget.vue.js +1 -1
  50. package/src/components/field-widget/code-editor-widget.vue2.js +1 -1
  51. package/src/components/field-widget/code-editor-widget.vue2.js.map +1 -1
  52. package/src/components/field-widget/divider-widget.vue2.js +1 -1
  53. package/src/components/field-widget/divider-widget.vue2.js.map +1 -1
  54. package/src/components/field-widget/diy-compontent-widget.vue2.js +1 -1
  55. package/src/components/field-widget/diy-compontent-widget.vue2.js.map +1 -1
  56. package/src/components/field-widget/dropdown-widget.vue.js +1 -1
  57. package/src/components/field-widget/dropdown-widget.vue2.js +12 -20
  58. package/src/components/field-widget/dropdown-widget.vue2.js.map +1 -1
  59. package/src/components/field-widget/file-upload-widget.vue.js +1 -1
  60. package/src/components/field-widget/file-upload-widget.vue2.js +12 -16
  61. package/src/components/field-widget/file-upload-widget.vue2.js.map +1 -1
  62. package/src/components/field-widget/form-item-wrapper.vue.js +1 -1
  63. package/src/components/field-widget/form-item-wrapper.vue2.js.map +1 -1
  64. package/src/components/field-widget/number-widget.vue2.js +1 -1
  65. package/src/components/field-widget/number-widget.vue2.js.map +1 -1
  66. package/src/components/field-widget/radio-widget.vue.js +1 -1
  67. package/src/components/field-widget/radio-widget.vue2.js +5 -6
  68. package/src/components/field-widget/radio-widget.vue2.js.map +1 -1
  69. package/src/components/field-widget/rich-editor-widget.vue.js +1 -1
  70. package/src/components/field-widget/rich-editor-widget.vue2.js +1 -1
  71. package/src/components/field-widget/rich-editor-widget.vue2.js.map +1 -1
  72. package/src/components/field-widget/textarea-widget.vue.js +1 -1
  73. package/src/components/field-widget/textarea-widget.vue2.js +1 -1
  74. package/src/components/field-widget/textarea-widget.vue2.js.map +1 -1
  75. package/src/components/field-widget/treeSelect-widget.vue2.js +8 -9
  76. package/src/components/field-widget/treeSelect-widget.vue2.js.map +1 -1
  77. package/src/components/field-widget/vue-render-widget.vue2.js +1 -1
  78. package/src/components/field-widget/vue-render-widget.vue2.js.map +1 -1
  79. package/src/components/form-render/container-items/data-table-widget.vue.js +1 -1
  80. package/src/components/form-render/container-items/data-table-widget.vue2.js +83 -4
  81. package/src/components/form-render/container-items/data-table-widget.vue2.js.map +1 -1
  82. package/src/components/form-render/container-items/grid-sub-form-widget.vue.js +1 -1
  83. package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js +24 -5
  84. package/src/components/form-render/container-items/grid-sub-form-widget.vue2.js.map +1 -1
  85. package/src/components/public/DataTableColumnDialog.vue.js +8 -0
  86. package/src/components/public/DataTableColumnDialog.vue.js.map +1 -0
  87. package/src/components/public/DataTableColumnDialog.vue2.js +333 -0
  88. package/src/components/public/DataTableColumnDialog.vue2.js.map +1 -0
  89. package/src/components/public/DynamicDialog.vue.js +0 -1
  90. package/src/components/public/DynamicDialog.vue.js.map +1 -1
  91. package/src/components/render/index.vue2.js +0 -1
  92. package/src/components/render/index.vue2.js.map +1 -1
  93. package/stats.html +1 -1
  94. package/core/src/utils/event-bus.js +0 -8
  95. package/core/src/utils/event-bus.js.map +0 -1
  96. package/src/components/field-widget/useField.js +0 -578
  97. package/src/components/field-widget/useField.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetTypeEnum.js","sources":["../../../../../core/src/constants/WidgetTypeEnum.ts"],"sourcesContent":["export enum WidgetTypeEnum {\n input = 'input-widget',\n textarea = 'textarea-widget',\n number = 'number-widget',\n select = 'select-widget',\n radio = 'radio-widget',\n checkbox = 'checkbox-widget',\n time = 'time-widget',\n timeRange = 'time-range-widget',\n date = 'date-widget',\n dateRange = 'date-range-widget',\n rate = 'rate-widget',\n switch = 'switch-widget',\n slider = 'slider-widget',\n color = 'color-widget',\n htmlText = 'html-text-widget',\n staticText = 'static-text-widget',\n buttonList = 'button-list-widget',\n dropdown = 'dropdown-widget',\n button = 'button-widget',\n divider = 'divider-widget',\n cascader = 'cascader-widget',\n tree = 'tree-widget',\n treeSelect = 'tree-select-widget',\n richEditor = 'rich-editor-widget',\n codeEditor = 'code-editor-widget',\n fileUpload = 'file-upload-widget',\n bpmnEditor = 'bpmn-editor-widget',\n vueRender = 'vue-render-widget',\n diyCompontent = 'diy-compontent-widget',\n cell = 'cell-widget',\n tabs = 'tabs-widget'\n}\n\nexport enum ContainerTypeEnum {\n grid = 'grid-widget',\n GridColWidget = 'grid-col-widget',\n VfCollapseWidget = 'vf-collapse-widget',\n VfBoxWidget = 'vf-box-widget',\n VfDialogWidget = 'vf-dialog-widget',\n Tab = 'tab-widget',\n DataTable = 'data-table-widget',\n GridSubFormWidget = 'grid-sub-form-widget',\n box = 'box-widget'\n}\n\nexport enum BIWidgetTypeEnum {\n echartBar = 'echart-bar-widget',\n echartDIY = 'echart-diy-widget',\n borderWidget = 'border-widget',\n border01 = 'border-01',\n border02 = 'border-02',\n border03 = 'border-03',\n border04 = 'border-04',\n decorative01 = 'decorative-01',\n decorative02 = 'decorative-02',\n decorative03 = 'decorative-03',\n decorative04 = 'decorative-04',\n decorative05 = 'decorative-05'\n}\n\nexport enum ComponentNameEnum {\n VFormRender = 'VFormRender',\n VFormDesigner = 'VFormDesigner',\n ContainerWidget = 'ContainerWidget',\n VfBoxWidget = 'VfBoxWidget',\n VfDialogWidget = 'VfDialogWidget',\n FieldWidget = 'FieldWidget',\n PropertyEditor = 'PropertyEditor',\n OnSubFormRowAddEditor = 'OnSubFormRowAddEditor'\n}\n"],"names":["WidgetTypeEnum","ContainerTypeEnum","ComponentNameEnum"],"mappings":"AAAO,IAAK,mCAAAA,oBAAL;AACHA,kBAAA,OAAA,IAAQ;AACRA,kBAAA,UAAA,IAAW;AACXA,kBAAA,QAAA,IAAS;AACTA,kBAAA,QAAA,IAAS;AACTA,kBAAA,OAAA,IAAQ;AACRA,kBAAA,UAAA,IAAW;AACXA,kBAAA,MAAA,IAAO;AACPA,kBAAA,WAAA,IAAY;AACZA,kBAAA,MAAA,IAAO;AACPA,kBAAA,WAAA,IAAY;AACZA,kBAAA,MAAA,IAAO;AACPA,kBAAA,QAAA,IAAS;AACTA,kBAAA,QAAA,IAAS;AACTA,kBAAA,OAAA,IAAQ;AACRA,kBAAA,UAAA,IAAW;AACXA,kBAAA,YAAA,IAAa;AACbA,kBAAA,YAAA,IAAa;AACbA,kBAAA,UAAA,IAAW;AACXA,kBAAA,QAAA,IAAS;AACTA,kBAAA,SAAA,IAAU;AACVA,kBAAA,UAAA,IAAW;AACXA,kBAAA,MAAA,IAAO;AACPA,kBAAA,YAAA,IAAa;AACbA,kBAAA,YAAA,IAAa;AACbA,kBAAA,YAAA,IAAa;AACbA,kBAAA,YAAA,IAAa;AACbA,kBAAA,YAAA,IAAa;AACbA,kBAAA,WAAA,IAAY;AACZA,kBAAA,eAAA,IAAgB;AAChBA,kBAAA,MAAA,IAAO;AACPA,kBAAA,MAAA,IAAO;AA/BC,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AAkCL,IAAK,sCAAAC,uBAAL;AACHA,qBAAA,MAAA,IAAO;AACPA,qBAAA,eAAA,IAAgB;AAChBA,qBAAA,kBAAA,IAAmB;AACnBA,qBAAA,aAAA,IAAc;AACdA,qBAAA,gBAAA,IAAiB;AACjBA,qBAAA,KAAA,IAAM;AACNA,qBAAA,WAAA,IAAY;AACZA,qBAAA,mBAAA,IAAoB;AACpBA,qBAAA,KAAA,IAAM;AATE,SAAAA;AAAA,GAAA,qBAAA,CAAA,CAAA;AA2BL,IAAK,sCAAAC,uBAAL;AACHA,qBAAA,aAAA,IAAc;AACdA,qBAAA,eAAA,IAAgB;AAChBA,qBAAA,iBAAA,IAAkB;AAClBA,qBAAA,aAAA,IAAc;AACdA,qBAAA,gBAAA,IAAiB;AACjBA,qBAAA,aAAA,IAAc;AACdA,qBAAA,gBAAA,IAAiB;AACjBA,qBAAA,uBAAA,IAAwB;AARhB,SAAAA;AAAA,GAAA,qBAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"WidgetTypeEnum.js","sources":["../../../../../core/src/constants/WidgetTypeEnum.ts"],"sourcesContent":["export enum WidgetTypeEnum {\n input = 'input-widget',\n inputField = 'input-field-widget',\n textarea = 'textarea-widget',\n number = 'number-widget',\n select = 'select-widget',\n radio = 'radio-widget',\n checkbox = 'checkbox-widget',\n time = 'time-widget',\n timeRange = 'time-range-widget',\n date = 'date-widget',\n dateRange = 'date-range-widget',\n rate = 'rate-widget',\n switch = 'switch-widget',\n slider = 'slider-widget',\n color = 'color-widget',\n htmlText = 'html-text-widget',\n staticText = 'static-text-widget',\n buttonList = 'button-list-widget',\n dropdown = 'dropdown-widget',\n button = 'button-widget',\n divider = 'divider-widget',\n cascader = 'cascader-widget',\n tree = 'tree-widget',\n treeSelect = 'tree-select-widget',\n richEditor = 'rich-editor-widget',\n codeEditor = 'code-editor-widget',\n fileUpload = 'file-upload-widget',\n bpmnEditor = 'bpmn-editor-widget',\n vueRender = 'vue-render-widget',\n diyCompontent = 'diy-compontent-widget',\n cell = 'cell-widget',\n tabs = 'tabs-widget'\n}\n\nexport enum ContainerTypeEnum {\n grid = 'grid-widget',\n GridColWidget = 'grid-col-widget',\n VfCollapseWidget = 'vf-collapse-widget',\n VfBoxWidget = 'vf-box-widget',\n VfDialogWidget = 'vf-dialog-widget',\n Tab = 'tab-widget',\n DataTable = 'data-table-widget',\n GridSubFormWidget = 'grid-sub-form-widget',\n box = 'box-widget'\n}\n\nexport enum BIWidgetTypeEnum {\n echartBar = 'echart-bar-widget',\n echartDIY = 'echart-diy-widget',\n borderWidget = 'border-widget',\n border01 = 'border-01',\n border02 = 'border-02',\n border03 = 'border-03',\n border04 = 'border-04',\n decorative01 = 'decorative-01',\n decorative02 = 'decorative-02',\n decorative03 = 'decorative-03',\n decorative04 = 'decorative-04',\n decorative05 = 'decorative-05'\n}\n\nexport enum ComponentNameEnum {\n VFormRender = 'VFormRender',\n VFormDesigner = 'VFormDesigner',\n ContainerWidget = 'ContainerWidget',\n VfBoxWidget = 'VfBoxWidget',\n VfDialogWidget = 'VfDialogWidget',\n FieldWidget = 'FieldWidget',\n PropertyEditor = 'PropertyEditor',\n OnSubFormRowAddEditor = 'OnSubFormRowAddEditor'\n}\n"],"names":["WidgetTypeEnum","ContainerTypeEnum","ComponentNameEnum"],"mappings":"AAAO,IAAK,mCAAAA,oBAAL;AACHA,kBAAA,OAAA,IAAQ;AACRA,kBAAA,YAAA,IAAa;AACbA,kBAAA,UAAA,IAAW;AACXA,kBAAA,QAAA,IAAS;AACTA,kBAAA,QAAA,IAAS;AACTA,kBAAA,OAAA,IAAQ;AACRA,kBAAA,UAAA,IAAW;AACXA,kBAAA,MAAA,IAAO;AACPA,kBAAA,WAAA,IAAY;AACZA,kBAAA,MAAA,IAAO;AACPA,kBAAA,WAAA,IAAY;AACZA,kBAAA,MAAA,IAAO;AACPA,kBAAA,QAAA,IAAS;AACTA,kBAAA,QAAA,IAAS;AACTA,kBAAA,OAAA,IAAQ;AACRA,kBAAA,UAAA,IAAW;AACXA,kBAAA,YAAA,IAAa;AACbA,kBAAA,YAAA,IAAa;AACbA,kBAAA,UAAA,IAAW;AACXA,kBAAA,QAAA,IAAS;AACTA,kBAAA,SAAA,IAAU;AACVA,kBAAA,UAAA,IAAW;AACXA,kBAAA,MAAA,IAAO;AACPA,kBAAA,YAAA,IAAa;AACbA,kBAAA,YAAA,IAAa;AACbA,kBAAA,YAAA,IAAa;AACbA,kBAAA,YAAA,IAAa;AACbA,kBAAA,YAAA,IAAa;AACbA,kBAAA,WAAA,IAAY;AACZA,kBAAA,eAAA,IAAgB;AAChBA,kBAAA,MAAA,IAAO;AACPA,kBAAA,MAAA,IAAO;AAhCC,SAAAA;AAAA,GAAA,kBAAA,CAAA,CAAA;AAmCL,IAAK,sCAAAC,uBAAL;AACHA,qBAAA,MAAA,IAAO;AACPA,qBAAA,eAAA,IAAgB;AAChBA,qBAAA,kBAAA,IAAmB;AACnBA,qBAAA,aAAA,IAAc;AACdA,qBAAA,gBAAA,IAAiB;AACjBA,qBAAA,KAAA,IAAM;AACNA,qBAAA,WAAA,IAAY;AACZA,qBAAA,mBAAA,IAAoB;AACpBA,qBAAA,KAAA,IAAM;AATE,SAAAA;AAAA,GAAA,qBAAA,CAAA,CAAA;AA2BL,IAAK,sCAAAC,uBAAL;AACHA,qBAAA,aAAA,IAAc;AACdA,qBAAA,eAAA,IAAgB;AAChBA,qBAAA,iBAAA,IAAkB;AAClBA,qBAAA,aAAA,IAAc;AACdA,qBAAA,gBAAA,IAAiB;AACjBA,qBAAA,aAAA,IAAc;AACdA,qBAAA,gBAAA,IAAiB;AACjBA,qBAAA,uBAAA,IAAwB;AARhB,SAAAA;AAAA,GAAA,qBAAA,CAAA,CAAA;"}
@@ -25,6 +25,7 @@ function useAppRef(widgetRefList, formWidgetId) {
25
25
  return foundRef;
26
26
  };
27
27
  const registerToRefList = (widgetName) => {
28
+ console.log({ widgetName, widgetId: widgetId.value });
28
29
  const list = isRoot ? widgetRefList == null ? void 0 : widgetRefList.value : refList.value;
29
30
  list.set(widgetName || widgetId.value, {
30
31
  instance,
@@ -1 +1 @@
1
- {"version":3,"file":"useAppRef.js","sources":["../../../../../core/src/hooks/useAppRef.ts"],"sourcesContent":["import { useI18n } from '@kp-ui/lowcode-core';\nimport { message } from 'ant-design-vue';\nimport { computed, getCurrentInstance, inject, ref, Ref } from 'vue';\n\nexport function useAppRef(widgetRefList?: Ref<Map<string, any>>, formWidgetId?: any) {\n const { i18nt } = useI18n();\n const isRoot = formWidgetId !== undefined;\n\n if (!isRoot) {\n formWidgetId = inject('formWidgetId', '');\n }\n\n const refList = inject<Ref<Map<string, any>>>('refList', widgetRefList || ref(new Map()));\n\n const instance = getCurrentInstance();\n\n const widgetId = computed(() => instance?.exposed?.field?.options?.name as string);\n\n const initRefList = () => {\n registerToRefList();\n };\n\n const getWidgetRef = (widgetName, showError?: boolean) => {\n const list = isRoot ? (widgetRefList?.value as Map<any, any>) : refList.value;\n const foundRef = list.get(widgetName);\n if (!foundRef && !!showError) {\n message.error(i18nt('render.hint.refNotFound') + widgetName);\n }\n return foundRef;\n };\n\n /* 该方法用于组件重名检查!! */\n const registerToRefList = (widgetName?: symbol | string) => {\n const list = isRoot ? (widgetRefList?.value as Map<any, any>) : refList.value;\n list.set(widgetName || widgetId.value, {\n instance,\n proxy: instance?.proxy,\n ...instance?.appContext.config.globalProperties,\n ...instance?.exposed\n });\n };\n\n /**\n * 从引用列表中注销\n */\n const unregisterFromRefList = () => {\n const widgetId = instance?.exposed?.field?.options?.name;\n refList?.value?.delete(widgetId);\n };\n\n const getFormRef = () => {\n return getWidgetRef(formWidgetId);\n };\n\n return {\n refList,\n getFormRef,\n registerToRefList,\n unregisterFromRefList,\n initRefList,\n getWidgetRef\n };\n}\n"],"names":["widgetId"],"mappings":";;;AAIO,SAAS,UAAU,eAAuC,cAAoB;AACjF,QAAM,EAAE,MAAA,IAAU,QAAA;AAClB,QAAM,SAAS,iBAAiB;AAEhC,MAAI,CAAC,QAAQ;AACT,mBAAe,OAAO,gBAAgB,EAAE;AAAA,EAC5C;AAEA,QAAM,UAAU,OAA8B,WAAW,iBAAiB,IAAI,oBAAI,IAAA,CAAK,CAAC;AAExF,QAAM,WAAW,mBAAA;AAEjB,QAAM,WAAW,SAAS,MAAA;;AAAM,kEAAU,YAAV,mBAAmB,UAAnB,mBAA0B,YAA1B,mBAAmC;AAAA,GAAc;AAEjF,QAAM,cAAc,MAAM;AACtB,sBAAA;AAAA,EACJ;AAEA,QAAM,eAAe,CAAC,YAAY,cAAwB;AACtD,UAAM,OAAO,SAAU,+CAAe,QAA0B,QAAQ;AACxE,UAAM,WAAW,KAAK,IAAI,UAAU;AACpC,QAAI,CAAC,YAAY,CAAC,CAAC,WAAW;AAC1B,cAAQ,MAAM,MAAM,yBAAyB,IAAI,UAAU;AAAA,IAC/D;AACA,WAAO;AAAA,EACX;AAGA,QAAM,oBAAoB,CAAC,eAAiC;AACxD,UAAM,OAAO,SAAU,+CAAe,QAA0B,QAAQ;AACxE,SAAK,IAAI,cAAc,SAAS,OAAO;AAAA,MACnC;AAAA,MACA,OAAO,qCAAU;AAAA,MACjB,GAAG,qCAAU,WAAW,OAAO;AAAA,MAC/B,GAAG,qCAAU;AAAA,IAAA,CAChB;AAAA,EACL;AAKA,QAAM,wBAAwB,MAAM;;AAChC,UAAMA,aAAW,sDAAU,YAAV,mBAAmB,UAAnB,mBAA0B,YAA1B,mBAAmC;AACpD,6CAAS,UAAT,mBAAgB,OAAOA;AAAAA,EAC3B;AAEA,QAAM,aAAa,MAAM;AACrB,WAAO,aAAa,YAAY;AAAA,EACpC;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAER;"}
1
+ {"version":3,"file":"useAppRef.js","sources":["../../../../../core/src/hooks/useAppRef.ts"],"sourcesContent":["import { useI18n } from '@kp-ui/lowcode-core';\nimport { message } from 'ant-design-vue';\nimport { computed, getCurrentInstance, inject, ref, Ref } from 'vue';\n\nexport function useAppRef(widgetRefList?: Ref<Map<string, any>>, formWidgetId?: any) {\n const { i18nt } = useI18n();\n const isRoot = formWidgetId !== undefined;\n\n if (!isRoot) {\n formWidgetId = inject('formWidgetId', '');\n }\n\n const refList = inject<Ref<Map<string, any>>>('refList', widgetRefList || ref(new Map()));\n\n const instance = getCurrentInstance();\n\n const widgetId = computed(() => instance?.exposed?.field?.options?.name as string);\n\n const initRefList = () => {\n registerToRefList();\n };\n\n const getWidgetRef = (widgetName, showError?: boolean) => {\n const list = isRoot ? (widgetRefList?.value as Map<any, any>) : refList.value;\n const foundRef = list.get(widgetName);\n if (!foundRef && !!showError) {\n message.error(i18nt('render.hint.refNotFound') + widgetName);\n }\n return foundRef;\n };\n\n /* 该方法用于组件重名检查!! */\n const registerToRefList = (widgetName?: symbol | string) => {\n console.log({ widgetName, widgetId: widgetId.value });\n\n const list = isRoot ? (widgetRefList?.value as Map<any, any>) : refList.value;\n list.set(widgetName || widgetId.value, {\n instance,\n proxy: instance?.proxy,\n ...instance?.appContext.config.globalProperties,\n ...instance?.exposed\n });\n };\n\n /**\n * 从引用列表中注销\n */\n const unregisterFromRefList = () => {\n const widgetId = instance?.exposed?.field?.options?.name;\n refList?.value?.delete(widgetId);\n };\n\n const getFormRef = () => {\n return getWidgetRef(formWidgetId);\n };\n\n return {\n refList,\n getFormRef,\n registerToRefList,\n unregisterFromRefList,\n initRefList,\n getWidgetRef\n };\n}\n"],"names":["widgetId"],"mappings":";;;AAIO,SAAS,UAAU,eAAuC,cAAoB;AACjF,QAAM,EAAE,MAAA,IAAU,QAAA;AAClB,QAAM,SAAS,iBAAiB;AAEhC,MAAI,CAAC,QAAQ;AACT,mBAAe,OAAO,gBAAgB,EAAE;AAAA,EAC5C;AAEA,QAAM,UAAU,OAA8B,WAAW,iBAAiB,IAAI,oBAAI,IAAA,CAAK,CAAC;AAExF,QAAM,WAAW,mBAAA;AAEjB,QAAM,WAAW,SAAS,MAAA;;AAAM,kEAAU,YAAV,mBAAmB,UAAnB,mBAA0B,YAA1B,mBAAmC;AAAA,GAAc;AAEjF,QAAM,cAAc,MAAM;AACtB,sBAAA;AAAA,EACJ;AAEA,QAAM,eAAe,CAAC,YAAY,cAAwB;AACtD,UAAM,OAAO,SAAU,+CAAe,QAA0B,QAAQ;AACxE,UAAM,WAAW,KAAK,IAAI,UAAU;AACpC,QAAI,CAAC,YAAY,CAAC,CAAC,WAAW;AAC1B,cAAQ,MAAM,MAAM,yBAAyB,IAAI,UAAU;AAAA,IAC/D;AACA,WAAO;AAAA,EACX;AAGA,QAAM,oBAAoB,CAAC,eAAiC;AACxD,YAAQ,IAAI,EAAE,YAAY,UAAU,SAAS,OAAO;AAEpD,UAAM,OAAO,SAAU,+CAAe,QAA0B,QAAQ;AACxE,SAAK,IAAI,cAAc,SAAS,OAAO;AAAA,MACnC;AAAA,MACA,OAAO,qCAAU;AAAA,MACjB,GAAG,qCAAU,WAAW,OAAO;AAAA,MAC/B,GAAG,qCAAU;AAAA,IAAA,CAChB;AAAA,EACL;AAKA,QAAM,wBAAwB,MAAM;;AAChC,UAAMA,aAAW,sDAAU,YAAV,mBAAmB,UAAnB,mBAA0B,YAA1B,mBAAmC;AACpD,6CAAS,UAAT,mBAAgB,OAAOA;AAAAA,EAC3B;AAEA,QAAM,aAAa,MAAM;AACrB,WAAO,aAAa,YAAY;AAAA,EACpC;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAER;"}
@@ -38,15 +38,15 @@ function useDataHttp({ props }) {
38
38
  return pagintion.value;
39
39
  };
40
40
  const setPagination = (pagination) => {
41
- if (pagination.current !== void 0) {
41
+ if ((pagination == null ? void 0 : pagination.current) !== void 0) {
42
42
  pagintion.value.current = pagination.current;
43
43
  props.field.options.pagination.current = pagination.current;
44
44
  }
45
- if (pagination.page !== void 0) {
45
+ if ((pagination == null ? void 0 : pagination.page) !== void 0) {
46
46
  pagintion.value.current = pagination.page;
47
47
  props.field.options.pagination.current = pagination.page;
48
48
  }
49
- if (pagination.total !== void 0) {
49
+ if ((pagination == null ? void 0 : pagination.total) !== void 0) {
50
50
  pagintion.value.total = pagination.total;
51
51
  props.field.options.pagination.total = pagination.total;
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useDataHttp.js","sources":["../../../../../core/src/hooks/useDataHttp.ts"],"sourcesContent":["import { ref } from 'vue';\nimport { PaginationProps } from 'ant-design-vue';\nimport { useI18n, WidgetProps } from '@kp-ui/lowcode-core';\nimport { useExecFunction } from 'tmgc2-share';\n\nexport function useDataHttp({ props }: { props: WidgetProps<any> }) {\n const { http, dataHandlerCode, dataReqHandlerCode } = props.field.options;\n\n const { i18nt } = useI18n();\n const isLoading = ref(false);\n\n const { execHttpFunction } = useExecFunction();\n const pagintion = ref<PaginationProps>({\n ...(props.widget.options.pagination as any),\n onShowSizeChange: (current, pageSize) => {\n props.field.options.pagination.pageSize = pageSize;\n props.field.options.pagination.current = 1;\n pagintion.value.current = 1;\n },\n showTotal: total => i18nt('designer.showTotal', { total })\n });\n\n const loadataSource = async (): Promise<any> => {\n try {\n isLoading.value = true;\n const data = await execHttpFunction(\n {\n http,\n dataHandlerCode,\n dataReqHandlerCode\n },\n {}\n );\n return data;\n } catch (error) {\n console.error(error);\n return {};\n } finally {\n isLoading.value = false;\n }\n };\n\n const getPagination = () => {\n return pagintion.value;\n };\n\n /**\n * 设置表格分页\n * @param pagination\n */\n const setPagination = pagination => {\n if (pagination.current !== undefined) {\n pagintion.value.current = pagination.current;\n props.field.options.pagination.current = pagination.current;\n }\n\n if (pagination.page !== undefined) {\n pagintion.value.current = pagination.page;\n props.field.options.pagination.current = pagination.page;\n }\n\n if (pagination.total !== undefined) {\n pagintion.value.total = pagination.total;\n props.field.options.pagination.total = pagination.total;\n }\n };\n\n return {\n pagintion,\n setPagination,\n getPagination,\n loadataSource,\n isLoading\n };\n}\n"],"names":[],"mappings":";;;AAKO,SAAS,YAAY,EAAE,SAAsC;AAChE,QAAM,EAAE,MAAM,iBAAiB,mBAAA,IAAuB,MAAM,MAAM;AAElE,QAAM,EAAE,MAAA,IAAU,QAAA;AAClB,QAAM,YAAY,IAAI,KAAK;AAE3B,QAAM,EAAE,iBAAA,IAAqB,gBAAA;AAC7B,QAAM,YAAY,IAAqB;AAAA,IACnC,GAAI,MAAM,OAAO,QAAQ;AAAA,IACzB,kBAAkB,CAAC,SAAS,aAAa;AACrC,YAAM,MAAM,QAAQ,WAAW,WAAW;AAC1C,YAAM,MAAM,QAAQ,WAAW,UAAU;AACzC,gBAAU,MAAM,UAAU;AAAA,IAC9B;AAAA,IACA,WAAW,CAAA,UAAS,MAAM,sBAAsB,EAAE,OAAO;AAAA,EAAA,CAC5D;AAED,QAAM,gBAAgB,YAA0B;AAC5C,QAAI;AACA,gBAAU,QAAQ;AAClB,YAAM,OAAO,MAAM;AAAA,QACf;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,QAEJ,CAAA;AAAA,MAAC;AAEL,aAAO;AAAA,IACX,SAAS,OAAO;AACZ,cAAQ,MAAM,KAAK;AACnB,aAAO,CAAA;AAAA,IACX,UAAA;AACI,gBAAU,QAAQ;AAAA,IACtB;AAAA,EACJ;AAEA,QAAM,gBAAgB,MAAM;AACxB,WAAO,UAAU;AAAA,EACrB;AAMA,QAAM,gBAAgB,CAAA,eAAc;AAChC,QAAI,WAAW,YAAY,QAAW;AAClC,gBAAU,MAAM,UAAU,WAAW;AACrC,YAAM,MAAM,QAAQ,WAAW,UAAU,WAAW;AAAA,IACxD;AAEA,QAAI,WAAW,SAAS,QAAW;AAC/B,gBAAU,MAAM,UAAU,WAAW;AACrC,YAAM,MAAM,QAAQ,WAAW,UAAU,WAAW;AAAA,IACxD;AAEA,QAAI,WAAW,UAAU,QAAW;AAChC,gBAAU,MAAM,QAAQ,WAAW;AACnC,YAAM,MAAM,QAAQ,WAAW,QAAQ,WAAW;AAAA,IACtD;AAAA,EACJ;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAER;"}
1
+ {"version":3,"file":"useDataHttp.js","sources":["../../../../../core/src/hooks/useDataHttp.ts"],"sourcesContent":["import { ref } from 'vue';\nimport { PaginationProps } from 'ant-design-vue';\nimport { useI18n, WidgetProps } from '@kp-ui/lowcode-core';\nimport { useExecFunction } from 'tmgc2-share';\n\nexport function useDataHttp({ props }: { props: WidgetProps<any> }) {\n const { http, dataHandlerCode, dataReqHandlerCode } = props.field.options;\n\n const { i18nt } = useI18n();\n const isLoading = ref(false);\n\n const { execHttpFunction } = useExecFunction();\n const pagintion = ref<PaginationProps>({\n ...(props.widget.options.pagination as any),\n onShowSizeChange: (current, pageSize) => {\n props.field.options.pagination.pageSize = pageSize;\n props.field.options.pagination.current = 1;\n pagintion.value.current = 1;\n },\n showTotal: total => i18nt('designer.showTotal', { total })\n });\n\n const loadataSource = async (): Promise<any> => {\n try {\n isLoading.value = true;\n const data = await execHttpFunction(\n {\n http,\n dataHandlerCode,\n dataReqHandlerCode\n },\n {}\n );\n return data;\n } catch (error) {\n console.error(error);\n return {};\n } finally {\n isLoading.value = false;\n }\n };\n\n const getPagination = () => {\n return pagintion.value;\n };\n\n /**\n * 设置表格分页\n * @param pagination\n */\n const setPagination = pagination => {\n if (pagination?.current !== undefined) {\n pagintion.value.current = pagination.current;\n props.field.options.pagination.current = pagination.current;\n }\n\n if (pagination?.page !== undefined) {\n pagintion.value.current = pagination.page;\n props.field.options.pagination.current = pagination.page;\n }\n\n if (pagination?.total !== undefined) {\n pagintion.value.total = pagination.total;\n props.field.options.pagination.total = pagination.total;\n }\n };\n\n return {\n pagintion,\n setPagination,\n getPagination,\n loadataSource,\n isLoading\n };\n}\n"],"names":[],"mappings":";;;AAKO,SAAS,YAAY,EAAE,SAAsC;AAChE,QAAM,EAAE,MAAM,iBAAiB,mBAAA,IAAuB,MAAM,MAAM;AAElE,QAAM,EAAE,MAAA,IAAU,QAAA;AAClB,QAAM,YAAY,IAAI,KAAK;AAE3B,QAAM,EAAE,iBAAA,IAAqB,gBAAA;AAC7B,QAAM,YAAY,IAAqB;AAAA,IACnC,GAAI,MAAM,OAAO,QAAQ;AAAA,IACzB,kBAAkB,CAAC,SAAS,aAAa;AACrC,YAAM,MAAM,QAAQ,WAAW,WAAW;AAC1C,YAAM,MAAM,QAAQ,WAAW,UAAU;AACzC,gBAAU,MAAM,UAAU;AAAA,IAC9B;AAAA,IACA,WAAW,CAAA,UAAS,MAAM,sBAAsB,EAAE,OAAO;AAAA,EAAA,CAC5D;AAED,QAAM,gBAAgB,YAA0B;AAC5C,QAAI;AACA,gBAAU,QAAQ;AAClB,YAAM,OAAO,MAAM;AAAA,QACf;AAAA,UACI;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,QAEJ,CAAA;AAAA,MAAC;AAEL,aAAO;AAAA,IACX,SAAS,OAAO;AACZ,cAAQ,MAAM,KAAK;AACnB,aAAO,CAAA;AAAA,IACX,UAAA;AACI,gBAAU,QAAQ;AAAA,IACtB;AAAA,EACJ;AAEA,QAAM,gBAAgB,MAAM;AACxB,WAAO,UAAU;AAAA,EACrB;AAMA,QAAM,gBAAgB,CAAA,eAAc;AAChC,SAAI,yCAAY,aAAY,QAAW;AACnC,gBAAU,MAAM,UAAU,WAAW;AACrC,YAAM,MAAM,QAAQ,WAAW,UAAU,WAAW;AAAA,IACxD;AAEA,SAAI,yCAAY,UAAS,QAAW;AAChC,gBAAU,MAAM,UAAU,WAAW;AACrC,YAAM,MAAM,QAAQ,WAAW,UAAU,WAAW;AAAA,IACxD;AAEA,SAAI,yCAAY,WAAU,QAAW;AACjC,gBAAU,MAAM,QAAQ,WAAW;AACnC,YAAM,MAAM,QAAQ,WAAW,QAAQ,WAAW;AAAA,IACtD;AAAA,EACJ;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAER;"}
@@ -25,7 +25,9 @@ function useDesigner() {
25
25
  designer.value.emitHistoryChange();
26
26
  };
27
27
  const selectWidget = (widget) => {
28
- designer.value.setSelected(widget);
28
+ if (designState) {
29
+ designer.value.setSelected(widget);
30
+ }
29
31
  };
30
32
  const selectedWidget = computed(() => designer.value.selectedWidget);
31
33
  const selected = (widgetId) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useDesigner.js","sources":["../../../../../core/src/hooks/useDesigner.ts"],"sourcesContent":["import { FormConfig, Widget } from '@kp-ui/lowcode-core/src/types/schema';\nimport { FormDesigner } from '@kp-ui/lowcode-core/src/types/designer';\nimport { LayoutTypeEnum } from '@kp-ui/lowcode-core';\nimport { computed, inject, nextTick, ref, Ref } from 'vue';\n\nexport function useDesigner() {\n const designer = inject<Ref<FormDesigner>>('designer', ref({} as FormDesigner));\n const designState = inject('designState', false);\n const getWidget = inject('getWidget', (widget: Widget) => {});\n const formConfig = inject<Ref<FormConfig>>('formConfig', ref({} as FormConfig));\n const formData = inject('formData', ref({}));\n\n const layoutType = inject('layoutType', ref(LayoutTypeEnum.PC));\n const isPc = computed(\n () => layoutType.value === LayoutTypeEnum.PC || layoutType.value === LayoutTypeEnum.H5\n );\n const isH5 = computed(() => layoutType.value === LayoutTypeEnum.H5);\n\n const isBI = computed(() => layoutType.value === LayoutTypeEnum.BI);\n\n const onDragAdd = ({ newIndex }, widgetList: Widget[]) => {\n const newWidget = widgetList[newIndex];\n if (newWidget) {\n designer.value.setSelected(newWidget);\n } else {\n designer.value.setSelected(widgetList[newIndex - 1]);\n }\n };\n\n const onDragUpdate = () => {\n designer.value.emitHistoryChange();\n };\n\n /**\n * 选择子组件\n * @param widget 组件配置\n */\n const selectWidget = widget => {\n designer.value.setSelected(widget);\n };\n\n const selectedWidget = computed(() => designer.value.selectedWidget);\n\n const selected = (widgetId: string) => {\n return designer.value.selectedId === widgetId;\n };\n\n const onWidgetClick = (widget: Widget) => {\n designer.value.setSelected(widget);\n };\n\n return {\n selectedWidget,\n getWidget,\n selected,\n isPc,\n isH5,\n isBI,\n designState,\n formData,\n formConfig,\n designer,\n layoutType,\n onWidgetClick,\n selectWidget,\n onDragAdd,\n onDragUpdate\n };\n}\n"],"names":[],"mappings":";;AAKO,SAAS,cAAc;AAC1B,QAAM,WAAW,OAA0B,YAAY,IAAI,CAAA,CAAkB,CAAC;AAC9E,QAAM,cAAc,OAAO,eAAe,KAAK;AAC/C,QAAM,YAAY,OAAO,aAAa,CAAC,WAAmB;AAAA,EAAC,CAAC;AAC5D,QAAM,aAAa,OAAwB,cAAc,IAAI,CAAA,CAAgB,CAAC;AAC9E,QAAM,WAAW,OAAO,YAAY,IAAI,CAAA,CAAE,CAAC;AAE3C,QAAM,aAAa,OAAO,cAAc,IAAI,eAAe,EAAE,CAAC;AAC9D,QAAM,OAAO;AAAA,IACT,MAAM,WAAW,UAAU,eAAe,MAAM,WAAW,UAAU,eAAe;AAAA,EAAA;AAExF,QAAM,OAAO,SAAS,MAAM,WAAW,UAAU,eAAe,EAAE;AAElE,QAAM,OAAO,SAAS,MAAM,WAAW,UAAU,eAAe,EAAE;AAElE,QAAM,YAAY,CAAC,EAAE,SAAA,GAAY,eAAyB;AACtD,UAAM,YAAY,WAAW,QAAQ;AACrC,QAAI,WAAW;AACX,eAAS,MAAM,YAAY,SAAS;AAAA,IACxC,OAAO;AACH,eAAS,MAAM,YAAY,WAAW,WAAW,CAAC,CAAC;AAAA,IACvD;AAAA,EACJ;AAEA,QAAM,eAAe,MAAM;AACvB,aAAS,MAAM,kBAAA;AAAA,EACnB;AAMA,QAAM,eAAe,CAAA,WAAU;AAC3B,aAAS,MAAM,YAAY,MAAM;AAAA,EACrC;AAEA,QAAM,iBAAiB,SAAS,MAAM,SAAS,MAAM,cAAc;AAEnE,QAAM,WAAW,CAAC,aAAqB;AACnC,WAAO,SAAS,MAAM,eAAe;AAAA,EACzC;AAEA,QAAM,gBAAgB,CAAC,WAAmB;AACtC,aAAS,MAAM,YAAY,MAAM;AAAA,EACrC;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAER;"}
1
+ {"version":3,"file":"useDesigner.js","sources":["../../../../../core/src/hooks/useDesigner.ts"],"sourcesContent":["import { FormConfig, Widget } from '@kp-ui/lowcode-core/src/types/schema';\nimport { FormDesigner } from '@kp-ui/lowcode-core/src/types/designer';\nimport { LayoutTypeEnum } from '@kp-ui/lowcode-core';\nimport { computed, inject, nextTick, ref, Ref, watchEffect } from 'vue';\n\nexport function useDesigner() {\n const designer = inject<Ref<FormDesigner>>('designer', ref({} as FormDesigner));\n const designState = inject('designState', false);\n const getWidget = inject('getWidget', (widget: Widget) => {});\n const formConfig = inject<Ref<FormConfig>>('formConfig', ref({} as FormConfig));\n const formData = inject('formData', ref({}));\n\n const layoutType = inject('layoutType', ref(LayoutTypeEnum.PC));\n const isPc = computed(\n () => layoutType.value === LayoutTypeEnum.PC || layoutType.value === LayoutTypeEnum.H5\n );\n const isH5 = computed(() => layoutType.value === LayoutTypeEnum.H5);\n\n const isBI = computed(() => layoutType.value === LayoutTypeEnum.BI);\n\n const onDragAdd = ({ newIndex }, widgetList: Widget[]) => {\n const newWidget = widgetList[newIndex];\n if (newWidget) {\n designer.value.setSelected(newWidget);\n } else {\n designer.value.setSelected(widgetList[newIndex - 1]);\n }\n };\n\n const onDragUpdate = () => {\n designer.value.emitHistoryChange();\n };\n\n /**\n * 选择子组件\n * @param widget 组件配置\n */\n const selectWidget = widget => {\n if (designState) {\n designer.value.setSelected(widget);\n }\n };\n\n const selectedWidget = computed(() => designer.value.selectedWidget);\n\n const selected = (widgetId: string) => {\n return designer.value.selectedId === widgetId;\n };\n\n const onWidgetClick = (widget: Widget) => {\n designer.value.setSelected(widget);\n };\n\n return {\n selectedWidget,\n getWidget,\n selected,\n isPc,\n isH5,\n isBI,\n designState,\n formData,\n formConfig,\n designer,\n layoutType,\n onWidgetClick,\n selectWidget,\n onDragAdd,\n onDragUpdate\n };\n}\n"],"names":[],"mappings":";;AAKO,SAAS,cAAc;AAC1B,QAAM,WAAW,OAA0B,YAAY,IAAI,CAAA,CAAkB,CAAC;AAC9E,QAAM,cAAc,OAAO,eAAe,KAAK;AAC/C,QAAM,YAAY,OAAO,aAAa,CAAC,WAAmB;AAAA,EAAC,CAAC;AAC5D,QAAM,aAAa,OAAwB,cAAc,IAAI,CAAA,CAAgB,CAAC;AAC9E,QAAM,WAAW,OAAO,YAAY,IAAI,CAAA,CAAE,CAAC;AAE3C,QAAM,aAAa,OAAO,cAAc,IAAI,eAAe,EAAE,CAAC;AAC9D,QAAM,OAAO;AAAA,IACT,MAAM,WAAW,UAAU,eAAe,MAAM,WAAW,UAAU,eAAe;AAAA,EAAA;AAExF,QAAM,OAAO,SAAS,MAAM,WAAW,UAAU,eAAe,EAAE;AAElE,QAAM,OAAO,SAAS,MAAM,WAAW,UAAU,eAAe,EAAE;AAElE,QAAM,YAAY,CAAC,EAAE,SAAA,GAAY,eAAyB;AACtD,UAAM,YAAY,WAAW,QAAQ;AACrC,QAAI,WAAW;AACX,eAAS,MAAM,YAAY,SAAS;AAAA,IACxC,OAAO;AACH,eAAS,MAAM,YAAY,WAAW,WAAW,CAAC,CAAC;AAAA,IACvD;AAAA,EACJ;AAEA,QAAM,eAAe,MAAM;AACvB,aAAS,MAAM,kBAAA;AAAA,EACnB;AAMA,QAAM,eAAe,CAAA,WAAU;AAC3B,QAAI,aAAa;AACb,eAAS,MAAM,YAAY,MAAM;AAAA,IACrC;AAAA,EACJ;AAEA,QAAM,iBAAiB,SAAS,MAAM,SAAS,MAAM,cAAc;AAEnE,QAAM,WAAW,CAAC,aAAqB;AACnC,WAAO,SAAS,MAAM,eAAe;AAAA,EACzC;AAEA,QAAM,gBAAgB,CAAC,WAAmB;AACtC,aAAS,MAAM,YAAY,MAAM;AAAA,EACrC;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAER;"}
@@ -1,7 +1,7 @@
1
1
  import { inject, ref, getCurrentInstance, computed, toRaw, onMounted, onBeforeUnmount } from "vue";
2
- import FormValidators from "../utils/validators.js";
3
- import { get, eq, isArray, cloneDeep } from "lodash-es";
2
+ import { get, eq, isArray } from "lodash-es";
4
3
  import { useExecFunction } from "tmgc2-share";
4
+ import FormValidators from "../utils/validators.js";
5
5
  import { useAppRef } from "./useAppRef.js";
6
6
  import { useEmitter } from "../utils/useEmitter.js";
7
7
  import { useI18n } from "../utils/i18n.js";
@@ -16,7 +16,7 @@ function useField(props, isInitModelValue = true) {
16
16
  const { registerToRefList, getWidgetRef, getFormRef, unregisterFromRefList } = useAppRef();
17
17
  const { executeFunction, asyncExecuteFunction } = useExecFunction();
18
18
  const { i18nt, i18n2t } = useI18n();
19
- const field = props.field;
19
+ const { field } = props;
20
20
  const fieldEditor = ref(null);
21
21
  const oldFieldValue = ref(null);
22
22
  const fieldReadonlyFlag = ref(false);
@@ -28,8 +28,8 @@ function useField(props, isInitModelValue = true) {
28
28
  const { dispatch } = useEmitter();
29
29
  const size = computed(() => {
30
30
  var _a;
31
- if ((_a = options.value) == null ? void 0 : _a.size) {
32
- return options.value.size;
31
+ if ((_a = field == null ? void 0 : field.options) == null ? void 0 : _a.size) {
32
+ return field.options.size;
33
33
  }
34
34
  return formConfig.value.size || "middle";
35
35
  });
@@ -52,7 +52,7 @@ function useField(props, isInitModelValue = true) {
52
52
  if (designState) {
53
53
  return false;
54
54
  }
55
- const { onHidden, hidden } = options.value;
55
+ const { onHidden, hidden } = props.field.options;
56
56
  if (hidden) return true;
57
57
  if (onHidden) {
58
58
  try {
@@ -71,7 +71,10 @@ function useField(props, isInitModelValue = true) {
71
71
  return false;
72
72
  });
73
73
  const handleDisabled = computed(() => {
74
- const { onDisabled, disabled } = options.value;
74
+ if (designState) {
75
+ return false;
76
+ }
77
+ const { onDisabled, disabled } = props.field.options;
75
78
  if (disabled) return true;
76
79
  if (onDisabled) {
77
80
  try {
@@ -104,18 +107,18 @@ function useField(props, isInitModelValue = true) {
104
107
  };
105
108
  const getPropName = computed(() => {
106
109
  if (isSubFormField && !designState) {
107
- return subFormName.value + "." + props.subFormRowIndex + "." + options.value.name;
110
+ return subFormName.value + "." + props.subFormRowIndex + "." + props.field.options.name;
108
111
  } else {
109
- return options.value.name;
112
+ return props.field.options.name;
110
113
  }
111
114
  });
112
115
  async function handleOnCreated() {
113
116
  if (designState) {
114
117
  return;
115
118
  }
116
- if (options.value.onCreated) {
119
+ if (props.field.options.onCreated) {
117
120
  await asyncExecuteFunction({
118
- functionBody: options.value.onCreated
121
+ functionBody: props.field.options.onCreated
119
122
  });
120
123
  }
121
124
  }
@@ -123,59 +126,59 @@ function useField(props, isInitModelValue = true) {
123
126
  if (designState) {
124
127
  return;
125
128
  }
126
- if (options.value.onMounted) {
129
+ if (props.field.options.onMounted) {
127
130
  await asyncExecuteFunction({
128
- functionBody: options.value.onMounted
131
+ functionBody: props.field.options.onMounted
129
132
  });
130
133
  }
131
134
  }
132
135
  const refreshDefaultValue = () => {
133
- fieldModel.value = options.value.defaultValue;
136
+ fieldModel.value = props.field.options.defaultValue;
134
137
  };
135
138
  const clearFieldRules = () => {
136
- if (!field.formItemFlag) {
139
+ if (!props.field.formItemFlag) {
137
140
  return;
138
141
  }
139
142
  rules.value.splice(0, rules.value.length);
140
143
  };
141
144
  const buildFieldRules = () => {
142
- if (!field.formItemFlag || options.value.hidden) {
145
+ if (!(props == null ? void 0 : props.field.formItemFlag) || (props == null ? void 0 : props.field.options.hidden)) {
143
146
  return;
144
147
  }
145
148
  rules.value.splice(0, rules.value.length);
146
- if (options.value.required) {
149
+ if (props.field.options.required) {
147
150
  rules.value.push({
148
151
  required: true,
149
152
  // trigger: ['blur', 'change'],
150
153
  trigger: [
151
154
  "blur"
152
155
  ],
153
- message: options.value.requiredHint || i18nt("render.hint.fieldRequired")
156
+ message: props.field.options.requiredHint || i18nt("render.hint.fieldRequired")
154
157
  });
155
158
  }
156
- if (options.value.validation) {
157
- const vldName = options.value.validation;
159
+ if (props.field.options.validation) {
160
+ const vldName = props.field.options.validation;
158
161
  if (FormValidators[vldName]) {
159
162
  rules.value.push({
160
163
  validator: FormValidators[vldName],
161
164
  trigger: ["blur", "change"],
162
- label: options.value.label,
163
- errorMsg: options.value.validationHint
165
+ label: props.field.options.label,
166
+ errorMsg: props.field.options.validationHint
164
167
  });
165
168
  } else {
166
169
  rules.value.push({
167
170
  validator: FormValidators["regExp"],
168
171
  trigger: ["blur", "change"],
169
172
  regExp: vldName,
170
- label: options.value.label,
171
- errorMsg: options.value.validationHint
173
+ label: props.field.options.label,
174
+ errorMsg: props.field.options.validationHint
172
175
  });
173
176
  }
174
177
  }
175
- if (options.value.onValidate) {
178
+ if (props.field.options.onValidate) {
176
179
  const customFn = (rule, value) => {
177
180
  return executeFunction({
178
- functionBody: options.value.onValidate,
181
+ functionBody: props.field.options.onValidate,
179
182
  params: { rule, value },
180
183
  keys: ["rule", "value"]
181
184
  });
@@ -183,7 +186,7 @@ function useField(props, isInitModelValue = true) {
183
186
  rules.value.push({
184
187
  validator: customFn,
185
188
  trigger: ["blur"],
186
- label: options.value.label
189
+ label: props.field.options.label
187
190
  });
188
191
  }
189
192
  };
@@ -232,7 +235,7 @@ function useField(props, isInitModelValue = true) {
232
235
  }
233
236
  if (!instance) return;
234
237
  dispatch("VFormRender", "fieldChange", [
235
- options.value.name,
238
+ props.field.options.name,
236
239
  newValue,
237
240
  oldValue,
238
241
  subFormName.value,
@@ -262,10 +265,10 @@ function useField(props, isInitModelValue = true) {
262
265
  if (designState) {
263
266
  return;
264
267
  }
265
- oldFieldValue.value = cloneDeep(fieldModel.value);
266
- if (options.value.onFocus) {
268
+ oldFieldValue.value = deepClone(fieldModel.value);
269
+ if (props.field.options.onFocus) {
267
270
  executeFunction({
268
- functionBody: options.value.onFocus,
271
+ functionBody: props.field.options.onFocus,
269
272
  params: { event },
270
273
  keys: ["event"]
271
274
  });
@@ -275,9 +278,9 @@ function useField(props, isInitModelValue = true) {
275
278
  if (designState) {
276
279
  return;
277
280
  }
278
- if (options.value.onBlur) {
281
+ if (props.field.options.onBlur) {
279
282
  executeFunction({
280
- functionBody: options.value.onBlur,
283
+ functionBody: props.field.options.onBlur,
281
284
  params: { event },
282
285
  keys: ["event"]
283
286
  });
@@ -287,13 +290,13 @@ function useField(props, isInitModelValue = true) {
287
290
  if (designState) {
288
291
  return;
289
292
  }
290
- if (options.value.onAppendButtonClick) {
293
+ if (props.field.options.onAppendButtonClick) {
291
294
  executeFunction({
292
295
  functionBody: options.value.onAppendButtonClick
293
296
  });
294
297
  }
295
298
  };
296
- const executeWidgetEventFunction = async (eventName, params) => {
299
+ const executeWidgetEventFunction = async (eventName, params, keys = ["params"]) => {
297
300
  if (designState) {
298
301
  return;
299
302
  }
@@ -301,7 +304,7 @@ function useField(props, isInitModelValue = true) {
301
304
  await asyncExecuteFunction({
302
305
  functionBody: options.value[eventName],
303
306
  params: { params },
304
- keys: ["params"]
307
+ keys
305
308
  });
306
309
  }
307
310
  };
@@ -309,9 +312,9 @@ function useField(props, isInitModelValue = true) {
309
312
  if (designState) {
310
313
  return;
311
314
  }
312
- if (options.value.onChange) {
315
+ if (props.field.options.onChange) {
313
316
  executeFunction({
314
- functionBody: options.value.onChange,
317
+ functionBody: props.field.options.onChange,
315
318
  params: {
316
319
  value: val,
317
320
  oldValue: oldVal,
@@ -322,8 +325,28 @@ function useField(props, isInitModelValue = true) {
322
325
  });
323
326
  }
324
327
  };
328
+ const onClick = async () => {
329
+ if (designState) {
330
+ return;
331
+ }
332
+ if (props.field.options.onClick) {
333
+ return await asyncExecuteFunction({
334
+ functionBody: props.field.options.onClick
335
+ });
336
+ }
337
+ };
325
338
  const handleClickIcon = async () => {
326
- await executeWidgetEventFunction("onClickIcon", {});
339
+ if (designState) {
340
+ return;
341
+ }
342
+ if (handleDisabled.value) {
343
+ return;
344
+ }
345
+ if (field.options.onClickIcon) {
346
+ await asyncExecuteFunction({
347
+ functionBody: field.options.onClickIcon
348
+ });
349
+ }
327
350
  };
328
351
  const getFieldEditor = () => {
329
352
  return fieldEditor.value;
@@ -346,9 +369,9 @@ function useField(props, isInitModelValue = true) {
346
369
  }
347
370
  if (eq(fieldModel.value, newValue)) return;
348
371
  const oldValue = deepClone(fieldModel.value);
349
- if (field.type === "file-upload") {
372
+ if (props.field.type === "file-upload") {
350
373
  newValue = showFileList(newValue || []);
351
- } else if (field.type === "code-editor") {
374
+ } else if (props.field.type === "code-editor") {
352
375
  const fieldEditor2 = getFieldEditor();
353
376
  if (fieldEditor2) {
354
377
  fieldEditor2.setValue(newValue);
@@ -363,26 +386,26 @@ function useField(props, isInitModelValue = true) {
363
386
  return fieldModel.value;
364
387
  };
365
388
  const resetField = () => {
366
- const defaultValue = options.value.defaultValue;
389
+ const defaultValue = props.field.options.defaultValue;
367
390
  setValue(defaultValue);
368
- if (field.type === "picture-upload" || field.type === "file-upload") {
391
+ if (props.field.type === "picture-upload" || props.field.type === "file-upload") {
369
392
  fieldModel.value.splice(0, fieldModel.value.length);
370
393
  }
371
394
  };
372
395
  const setReadonly = (flag) => {
373
- options.value.readonly = flag;
396
+ props.field.options.readonly = flag;
374
397
  };
375
398
  const setDisabled = (flag) => {
376
- options.value.disabled = flag;
399
+ props.field.options.disabled = flag;
377
400
  };
378
401
  const setAppendButtonVisible = (flag) => {
379
- options.value.appendButton = flag;
402
+ props.field.options.appendButton = flag;
380
403
  };
381
404
  const setAppendButtonDisabled = (flag) => {
382
- options.value.appendButtonDisabled = flag;
405
+ props.field.options.appendButtonDisabled = flag;
383
406
  };
384
407
  const setHidden = (flag) => {
385
- options.value.hidden = flag;
408
+ props.field.options.hidden = flag;
386
409
  if (flag) {
387
410
  clearFieldRules();
388
411
  } else {
@@ -390,7 +413,7 @@ function useField(props, isInitModelValue = true) {
390
413
  }
391
414
  };
392
415
  const setRequired = (flag) => {
393
- options.value.required = flag;
416
+ props.field.options.required = flag;
394
417
  buildFieldRules();
395
418
  if (!designState && !flag) {
396
419
  clearValidate();
@@ -403,10 +426,11 @@ function useField(props, isInitModelValue = true) {
403
426
  getFormRef().clearValidate(getPropName.value);
404
427
  };
405
428
  const getVfCtx = () => {
406
- return getFormRef().vfCtx;
429
+ var _a;
430
+ return ((_a = getFormRef()) == null ? void 0 : _a.vfCtx) || {};
407
431
  };
408
432
  const setLabel = (newLabel) => {
409
- options.value.label = newLabel;
433
+ props.field.options.label = newLabel;
410
434
  };
411
435
  const focus = () => {
412
436
  const fieldEditor2 = getFieldEditor();
@@ -421,25 +445,25 @@ function useField(props, isInitModelValue = true) {
421
445
  fieldReadonlyFlag.value = readonlyFlag;
422
446
  };
423
447
  const addCssClass = (className) => {
424
- if (!options.value.customClass) {
425
- options.value.customClass = [className];
448
+ if (!props.field.options.customClass) {
449
+ props.field.options.customClass = [className];
426
450
  } else {
427
- options.value.customClass.push(className);
451
+ props.field.options.customClass.push(className);
428
452
  }
429
453
  };
430
- const customClass = computed(() => options.value.customClass);
454
+ const customClass = computed(() => props.field.options.customClass);
431
455
  const removeCssClass = (className) => {
432
- if (!options.value.customClass) {
456
+ if (!props.field.options.customClass) {
433
457
  return;
434
458
  }
435
459
  let foundIdx = -1;
436
- options.value.customClass.map((cc, idx) => {
460
+ props.field.options.customClass.map((cc, idx) => {
437
461
  if (cc === className) {
438
462
  foundIdx = idx;
439
463
  }
440
464
  });
441
465
  if (foundIdx > -1) {
442
- options.value.customClass.splice(foundIdx, 1);
466
+ props.field.options.customClass.splice(foundIdx, 1);
443
467
  }
444
468
  };
445
469
  const getEl = () => {
@@ -447,7 +471,7 @@ function useField(props, isInitModelValue = true) {
447
471
  return (_a = fieldEditor.value) == null ? void 0 : _a.$el;
448
472
  };
449
473
  const setWidgetOption = (optionName, optionValue) => {
450
- options.value[optionName] = optionValue;
474
+ props.field.options[optionName] = optionValue;
451
475
  };
452
476
  const options = computed({
453
477
  get() {
@@ -458,7 +482,7 @@ function useField(props, isInitModelValue = true) {
458
482
  }
459
483
  });
460
484
  const initFieldModel = () => {
461
- const defaultValue = typeof options.value.defaultValue === "undefined" ? "" : options.value.defaultValue;
485
+ const defaultValue = typeof props.field.options.defaultValue === "undefined" ? "" : props.field.options.defaultValue;
462
486
  dispatch("VFormRender", "fieldChange", {
463
487
  fieldName: getPropName.value,
464
488
  value: defaultValue,
@@ -479,11 +503,12 @@ function useField(props, isInitModelValue = true) {
479
503
  unregisterFromRefList();
480
504
  });
481
505
  const defineExposed = {
506
+ subFormRowIndex: computed(() => props.subFormRowIndex),
482
507
  i18nt,
483
508
  options,
484
509
  proxy: instance == null ? void 0 : instance.proxy,
485
510
  field,
486
- widget: computed(() => props.field),
511
+ widget: field,
487
512
  fieldModel,
488
513
  fieldEditor,
489
514
  isReadMode,
@@ -505,14 +530,17 @@ function useField(props, isInitModelValue = true) {
505
530
  removeCssClass,
506
531
  setRequired,
507
532
  clearValidate,
508
- focus,
509
- executeWidgetEventFunction
533
+ focus
510
534
  };
511
535
  return {
536
+ executeWidgetEventFunction,
512
537
  asyncExecuteFunction,
513
538
  executeFunction,
539
+ options,
514
540
  customClass,
541
+ fieldEditor,
515
542
  // 状态
543
+ fieldModel,
516
544
  oldFieldValue,
517
545
  fieldReadonlyFlag,
518
546
  loading,
@@ -520,12 +548,15 @@ function useField(props, isInitModelValue = true) {
520
548
  uploadData,
521
549
  designState,
522
550
  customToolbar,
551
+ i18nt,
523
552
  i18n2t,
524
553
  size,
554
+ field,
525
555
  // 计算属性
526
556
  formConfig,
527
557
  subFormName,
528
558
  formModel,
559
+ isReadMode,
529
560
  // 方法
530
561
  handleHidden,
531
562
  handleDisabled,
@@ -544,13 +575,15 @@ function useField(props, isInitModelValue = true) {
544
575
  handleBlurCustomEvent,
545
576
  emitAppendButtonClick,
546
577
  handleOnChange,
578
+ onClick,
547
579
  handleClickIcon,
580
+ getFieldEditor,
548
581
  showFileList,
549
582
  setAppendButtonVisible,
550
583
  setAppendButtonDisabled,
584
+ focus,
551
585
  setUploadData,
552
586
  isSubFormField,
553
- ...defineExposed,
554
587
  defineExposed
555
588
  };
556
589
  }