@kp-ui/lowcode 1.0.30 → 1.0.32

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 (169) hide show
  1. package/_virtual/virtual_svg-icons-register.js +2 -2
  2. package/index.js +0 -2
  3. package/package.json +1 -1
  4. package/render.js +73 -64
  5. package/src/components/CustomRender/components/AttachmentRender.vue.js +1 -1
  6. package/src/components/CustomRender/components/AttachmentRender.vue2.js +25 -12
  7. package/src/components/CustomRender/components/index.js +10 -0
  8. package/src/components/CustomRender/useCustomRender.js +68 -0
  9. package/src/components/code-editor/index.vue.js +3 -167
  10. package/src/components/code-editor/index.vue2.js +166 -0
  11. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +234 -104
  12. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue3.js +105 -0
  13. package/src/components/form-designer/form-widget/container-widget/grid-col-widget.vue.js +3 -1
  14. package/src/components/form-designer/form-widget/container-widget/grid-sub-form-widget.vue.js +3 -1
  15. package/src/components/form-designer/form-widget/container-widget/{grid-widget.vue.js → grid-widget.vue2.js} +1 -1
  16. package/src/components/form-designer/form-widget/container-widget/index.js +4 -4
  17. package/src/components/form-designer/form-widget/container-widget/sub-form-widget.vue.js +3 -1
  18. package/src/components/form-designer/form-widget/container-widget/tab-widget.vue.js +3 -1
  19. package/src/components/form-designer/form-widget/container-widget/table-cell-widget.vue.js +3 -1
  20. package/src/components/form-designer/form-widget/container-widget/{table-widget.vue.js → table-widget.vue2.js} +1 -1
  21. package/src/components/form-designer/form-widget/container-widget/vf-box-item.vue.js +4 -3
  22. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue.js +6 -3
  23. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue.js +126 -156
  24. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue4.js +158 -0
  25. package/src/components/form-designer/form-widget/container-widget/vf-dialog-widget.vue.js +3 -1
  26. package/src/components/form-designer/form-widget/container-widget/vf-drawer-widget.vue.js +3 -1
  27. package/src/components/form-designer/form-widget/field-widget/attachment-render-widget.vue.js +1 -3
  28. package/src/components/form-designer/form-widget/field-widget/diy-compontent-widget.vue.js +103 -0
  29. package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue.js +1 -1
  30. package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue2.js +25 -19
  31. package/src/components/form-designer/form-widget/field-widget/index.js +3 -1
  32. package/src/components/form-designer/form-widget/field-widget/slot-widget.vue.js +6 -6
  33. package/src/components/form-designer/form-widget/index.vue.js +7 -5
  34. package/src/components/form-designer/setting-panel/option-items-setting.vue.js +5 -3
  35. package/src/components/form-designer/setting-panel/property-editor/container-data-table/data-table-showButtonsColumn-editor.vue.js +4 -3
  36. package/src/components/form-designer/setting-panel/property-editor/container-grid/gutter-editor.vue.js +3 -2
  37. package/src/components/form-designer/setting-panel/property-editor/container-tab/tab-customClass-editor.vue.js +4 -3
  38. package/src/components/form-designer/setting-panel/property-editor/diy-compontent-editor.vue.js +33 -0
  39. package/src/components/form-designer/setting-panel/property-editor/index.js +2 -1
  40. package/src/components/form-designer/setting-panel/propertyRegister.js +1 -0
  41. package/src/components/form-designer/toolbar-panel/index.vue.js +7 -784
  42. package/src/components/form-designer/toolbar-panel/widgetList.js +780 -0
  43. package/src/components/form-designer/widget-panel/advanced/attachment-render.js +3 -3
  44. package/src/components/form-designer/widget-panel/advanced/diy-compontent.js +24 -0
  45. package/src/components/form-designer/widget-panel/advanced/slot.js +1 -1
  46. package/src/components/form-designer/widget-panel/advancedFieldsEnums.js +4 -2
  47. package/src/components/form-designer/widget-panel/index.vue.js +3 -2
  48. package/src/components/form-render/container-item/index.js +1 -1
  49. package/src/components/form-render/container-item/{table-item.vue2.js → table-item.vue.js} +1 -1
  50. package/src/components/form-render/container-item/vf-collapse-item.vue.js +4 -3
  51. package/src/components/form-render/dynamic-dialog.vue.js +7 -2
  52. package/src/components/form-render/dynamic-drawer.vue.js +5 -2
  53. package/src/lang/zh-CN.js +4 -5
  54. package/src/mixins/useDataTableMixin.js +1 -1
  55. package/src/utils/config.js +0 -2
  56. package/styles/style.css +1 -1
  57. package/types/install.d.ts.map +1 -1
  58. package/types/src/components/CustomRender/components/AttachmentRender.d.ts +31 -0
  59. package/types/src/components/CustomRender/components/AttachmentRender.d.ts.map +1 -0
  60. package/types/src/components/CustomRender/components/index.d.ts +2 -0
  61. package/types/src/components/CustomRender/components/index.d.ts.map +1 -0
  62. package/types/src/components/CustomRender/{index.d.ts → useCustomRender.d.ts} +2 -2
  63. package/types/src/components/CustomRender/useCustomRender.d.ts.map +1 -0
  64. package/types/src/components/code-editor/code-modal-editor.d.ts +1 -1
  65. package/types/src/components/code-editor/index.d.ts +41 -55
  66. package/types/src/components/code-editor/index.d.ts.map +1 -1
  67. package/types/src/components/form-designer/setting-panel/index.d.ts +1 -0
  68. package/types/src/components/form-designer/toolbar-panel/index.d.ts +1 -1
  69. package/types/src/components/form-designer/toolbar-panel/widgetList.d.ts +556 -0
  70. package/types/src/components/form-designer/toolbar-panel/widgetList.d.ts.map +1 -0
  71. package/types/src/components/form-designer/widget-panel/advanced/attachment-render.d.ts +2 -14
  72. package/types/src/components/form-designer/widget-panel/advanced/attachment-render.d.ts.map +1 -1
  73. package/types/src/components/form-designer/widget-panel/advanced/bpmn-editor.d.ts +2 -15
  74. package/types/src/components/form-designer/widget-panel/advanced/bpmn-editor.d.ts.map +1 -1
  75. package/types/src/components/form-designer/widget-panel/advanced/cascader.d.ts +2 -55
  76. package/types/src/components/form-designer/widget-panel/advanced/cascader.d.ts.map +1 -1
  77. package/types/src/components/form-designer/widget-panel/advanced/code-editor.d.ts +2 -25
  78. package/types/src/components/form-designer/widget-panel/advanced/code-editor.d.ts.map +1 -1
  79. package/types/src/components/form-designer/widget-panel/advanced/diy-compontent.d.ts +9 -0
  80. package/types/src/components/form-designer/widget-panel/advanced/diy-compontent.d.ts.map +1 -0
  81. package/types/src/components/form-designer/widget-panel/advanced/file-upload.d.ts +2 -29
  82. package/types/src/components/form-designer/widget-panel/advanced/file-upload.d.ts.map +1 -1
  83. package/types/src/components/form-designer/widget-panel/advanced/rich-editor.d.ts +2 -26
  84. package/types/src/components/form-designer/widget-panel/advanced/rich-editor.d.ts.map +1 -1
  85. package/types/src/components/form-designer/widget-panel/advanced/slot.d.ts +2 -9
  86. package/types/src/components/form-designer/widget-panel/advanced/slot.d.ts.map +1 -1
  87. package/types/src/components/form-designer/widget-panel/advanced/tree-select.d.ts +2 -56
  88. package/types/src/components/form-designer/widget-panel/advanced/tree-select.d.ts.map +1 -1
  89. package/types/src/components/form-designer/widget-panel/advancedFieldsEnums.d.ts +75 -0
  90. package/types/src/components/form-designer/widget-panel/advancedFieldsEnums.d.ts.map +1 -0
  91. package/types/src/components/form-designer/widget-panel/basicFields/button.d.ts +2 -19
  92. package/types/src/components/form-designer/widget-panel/basicFields/button.d.ts.map +1 -1
  93. package/types/src/components/form-designer/widget-panel/basicFields/checkbox.d.ts +2 -40
  94. package/types/src/components/form-designer/widget-panel/basicFields/checkbox.d.ts.map +1 -1
  95. package/types/src/components/form-designer/widget-panel/basicFields/color.d.ts +2 -26
  96. package/types/src/components/form-designer/widget-panel/basicFields/color.d.ts.map +1 -1
  97. package/types/src/components/form-designer/widget-panel/basicFields/date.d.ts +2 -36
  98. package/types/src/components/form-designer/widget-panel/basicFields/date.d.ts.map +1 -1
  99. package/types/src/components/form-designer/widget-panel/basicFields/dateRange.d.ts +2 -36
  100. package/types/src/components/form-designer/widget-panel/basicFields/dateRange.d.ts.map +1 -1
  101. package/types/src/components/form-designer/widget-panel/basicFields/divider.d.ts +2 -13
  102. package/types/src/components/form-designer/widget-panel/basicFields/divider.d.ts.map +1 -1
  103. package/types/src/components/form-designer/widget-panel/basicFields/dropdown.d.ts +2 -24
  104. package/types/src/components/form-designer/widget-panel/basicFields/dropdown.d.ts.map +1 -1
  105. package/types/src/components/form-designer/widget-panel/basicFields/htmlText.d.ts +2 -11
  106. package/types/src/components/form-designer/widget-panel/basicFields/htmlText.d.ts.map +1 -1
  107. package/types/src/components/form-designer/widget-panel/basicFields/input.d.ts +2 -37
  108. package/types/src/components/form-designer/widget-panel/basicFields/input.d.ts.map +1 -1
  109. package/types/src/components/form-designer/widget-panel/basicFields/number.d.ts +2 -33
  110. package/types/src/components/form-designer/widget-panel/basicFields/number.d.ts.map +1 -1
  111. package/types/src/components/form-designer/widget-panel/basicFields/radio.d.ts +2 -44
  112. package/types/src/components/form-designer/widget-panel/basicFields/radio.d.ts.map +1 -1
  113. package/types/src/components/form-designer/widget-panel/basicFields/rate.d.ts +2 -28
  114. package/types/src/components/form-designer/widget-panel/basicFields/rate.d.ts.map +1 -1
  115. package/types/src/components/form-designer/widget-panel/basicFields/select.d.ts +2 -51
  116. package/types/src/components/form-designer/widget-panel/basicFields/select.d.ts.map +1 -1
  117. package/types/src/components/form-designer/widget-panel/basicFields/slider.d.ts +2 -30
  118. package/types/src/components/form-designer/widget-panel/basicFields/slider.d.ts.map +1 -1
  119. package/types/src/components/form-designer/widget-panel/basicFields/staticText.d.ts +2 -11
  120. package/types/src/components/form-designer/widget-panel/basicFields/staticText.d.ts.map +1 -1
  121. package/types/src/components/form-designer/widget-panel/basicFields/switch.d.ts +2 -24
  122. package/types/src/components/form-designer/widget-panel/basicFields/switch.d.ts.map +1 -1
  123. package/types/src/components/form-designer/widget-panel/basicFields/textarea.d.ts +2 -35
  124. package/types/src/components/form-designer/widget-panel/basicFields/textarea.d.ts.map +1 -1
  125. package/types/src/components/form-designer/widget-panel/basicFields/time.d.ts +2 -33
  126. package/types/src/components/form-designer/widget-panel/basicFields/time.d.ts.map +1 -1
  127. package/types/src/components/form-designer/widget-panel/basicFields/timeRange.d.ts +2 -34
  128. package/types/src/components/form-designer/widget-panel/basicFields/timeRange.d.ts.map +1 -1
  129. package/types/src/components/form-designer/widget-panel/business/department-select.d.ts +2 -51
  130. package/types/src/components/form-designer/widget-panel/business/department-select.d.ts.map +1 -1
  131. package/types/src/components/form-designer/widget-panel/business/material-select.d.ts +2 -51
  132. package/types/src/components/form-designer/widget-panel/business/material-select.d.ts.map +1 -1
  133. package/types/src/components/form-designer/widget-panel/business/operation-select.d.ts +2 -51
  134. package/types/src/components/form-designer/widget-panel/business/operation-select.d.ts.map +1 -1
  135. package/types/src/components/form-designer/widget-panel/business/post-select.d.ts +2 -53
  136. package/types/src/components/form-designer/widget-panel/business/post-select.d.ts.map +1 -1
  137. package/types/src/components/form-designer/widget-panel/business/project-group-select.d.ts +2 -51
  138. package/types/src/components/form-designer/widget-panel/business/project-group-select.d.ts.map +1 -1
  139. package/types/src/components/form-designer/widget-panel/business/project-select.d.ts +2 -51
  140. package/types/src/components/form-designer/widget-panel/business/project-select.d.ts.map +1 -1
  141. package/types/src/components/form-designer/widget-panel/business/user-select.d.ts +2 -54
  142. package/types/src/components/form-designer/widget-panel/business/user-select.d.ts.map +1 -1
  143. package/types/src/components/form-designer/widget-panel/containers/data-table.d.ts +2 -90
  144. package/types/src/components/form-designer/widget-panel/containers/data-table.d.ts.map +1 -1
  145. package/types/src/components/form-designer/widget-panel/containers/grid-col.d.ts +2 -14
  146. package/types/src/components/form-designer/widget-panel/containers/grid-col.d.ts.map +1 -1
  147. package/types/src/components/form-designer/widget-panel/containers/grid-sub-form.d.ts +2 -8
  148. package/types/src/components/form-designer/widget-panel/containers/grid-sub-form.d.ts.map +1 -1
  149. package/types/src/components/form-designer/widget-panel/containers/grid.d.ts +2 -8
  150. package/types/src/components/form-designer/widget-panel/containers/grid.d.ts.map +1 -1
  151. package/types/src/components/form-designer/widget-panel/containers/tab.d.ts +2 -12
  152. package/types/src/components/form-designer/widget-panel/containers/tab.d.ts.map +1 -1
  153. package/types/src/components/form-designer/widget-panel/containers/vf-box.d.ts +2 -6
  154. package/types/src/components/form-designer/widget-panel/containers/vf-box.d.ts.map +1 -1
  155. package/types/src/components/form-designer/widget-panel/containers/vf-collapse.d.ts +2 -12
  156. package/types/src/components/form-designer/widget-panel/containers/vf-collapse.d.ts.map +1 -1
  157. package/types/src/components/form-designer/widget-panel/containers/vf-dialog.d.ts +2 -22
  158. package/types/src/components/form-designer/widget-panel/containers/vf-dialog.d.ts.map +1 -1
  159. package/types/src/components/form-render/index.d.ts +4 -0
  160. package/types/src/components/form-render/index.d.ts.map +1 -1
  161. package/types/src/components/lowcodeCompontent/index.d.ts +6 -0
  162. package/types/src/components/lowcodeCompontent/index.d.ts.map +1 -0
  163. package/types/src/components/svg-icon/index.d.ts +47 -0
  164. package/types/src/components/svg-icon/index.d.ts.map +1 -0
  165. package/src/components/CustomRender/index.js +0 -52
  166. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js +0 -235
  167. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue2.js +0 -126
  168. package/stats.html +0 -4949
  169. package/types/src/components/CustomRender/index.d.ts.map +0 -1
@@ -0,0 +1,166 @@
1
+ import { defineComponent, ref, computed, watch, watchEffect, onMounted, createElementBlock, openBlock, createElementVNode } from "vue";
2
+ const _hoisted_1 = { class: "ace-container" };
3
+ const themePath = "ace/theme/sqlserver";
4
+ const modePath = "ace/mode/javascript";
5
+ const _sfc_main = /* @__PURE__ */ defineComponent({
6
+ __name: "index",
7
+ props: {
8
+ value: {},
9
+ modelValue: {},
10
+ readonly: { type: Boolean },
11
+ mode: {},
12
+ userWorker: { type: Boolean }
13
+ },
14
+ emits: ["update:modelValue", "update:value"],
15
+ setup(__props, { expose: __expose, emit: __emit }) {
16
+ const props = __props;
17
+ const emit = __emit;
18
+ const aceRef = ref(null);
19
+ const aceEditor = ref(null);
20
+ const stop = ref(false);
21
+ const codeValue = computed(() => props.value || props.modelValue);
22
+ const isLoading = ref(false);
23
+ const setValue = (newValue) => {
24
+ if (aceEditor.value) {
25
+ aceEditor.value.getSession().setValue(newValue);
26
+ }
27
+ };
28
+ const getEditorAnnotations = () => {
29
+ var _a;
30
+ return (_a = aceEditor.value) == null ? void 0 : _a.getSession().getAnnotations();
31
+ };
32
+ const setJsonMode = () => {
33
+ var _a;
34
+ (_a = aceEditor.value) == null ? void 0 : _a.getSession().setMode("ace/mode/json");
35
+ };
36
+ const setCssMode = () => {
37
+ var _a;
38
+ (_a = aceEditor.value) == null ? void 0 : _a.getSession().setMode("ace/mode/css");
39
+ };
40
+ const setGroovyMode = () => {
41
+ var _a;
42
+ (_a = aceEditor.value) == null ? void 0 : _a.getSession().setMode("ace/mode/groovy");
43
+ };
44
+ const addAutoCompletion = (ace) => {
45
+ const acData = [
46
+ {
47
+ meta: "VForm API",
48
+ caption: "getWidgetRef",
49
+ value: "getWidgetRef()",
50
+ score: 1
51
+ },
52
+ { meta: "VForm API", caption: "getFormRef", value: "getFormRef()", score: 1 },
53
+ {
54
+ meta: "VForm API",
55
+ caption: "getParentFormRef",
56
+ value: "getParentFormRef()",
57
+ score: 1
58
+ }
59
+ //TODO: 待补充!!
60
+ ];
61
+ const langTools = ace.require("ace/ext/language_tools");
62
+ langTools.addCompleter({
63
+ getCompletions: function(editor, session, pos, prefix, callback) {
64
+ if (prefix.length === 0) {
65
+ return callback(null, []);
66
+ } else {
67
+ return callback(null, acData);
68
+ }
69
+ }
70
+ });
71
+ };
72
+ watch(
73
+ () => props.value,
74
+ (val) => {
75
+ if (stop.value) return;
76
+ if (val) {
77
+ setValue(val);
78
+ stop.value = true;
79
+ }
80
+ }
81
+ );
82
+ const initEditor = async () => {
83
+ isLoading.value = true;
84
+ const ace = await import("ace-builds");
85
+ const ACE_BASE_PATH = "https://ks3-cn-beijing.ksyun.com/vform2021/ace-mini";
86
+ ace.config.set("basePath", ACE_BASE_PATH);
87
+ await Promise.all([
88
+ import("ace-builds/src-min-noconflict/theme-sqlserver"),
89
+ import("ace-builds/src-min-noconflict/mode-javascript"),
90
+ import("ace-builds/src-min-noconflict/ext-language_tools")
91
+ ]);
92
+ if (props.mode === "json") {
93
+ await import("ace-builds/src-min-noconflict/mode-json");
94
+ } else if (props.mode === "css") {
95
+ await import("ace-builds/src-min-noconflict/mode-css");
96
+ } else if (props.mode === "groovy") {
97
+ await import("ace-builds/src-min-noconflict/mode-groovy");
98
+ }
99
+ addAutoCompletion(ace);
100
+ aceEditor.value = ace.edit(aceRef.value, {
101
+ maxLines: 20,
102
+ // 最大行数,超过会自动出现滚动条
103
+ minLines: 5,
104
+ // 最小行数,还未到最大行数时,编辑器会自动伸缩大小
105
+ fontSize: 12,
106
+ // 编辑器内字体大小
107
+ theme: themePath,
108
+ // 默认设置的主题
109
+ mode: modePath,
110
+ // 默认设置的语言模式
111
+ tabSize: 2,
112
+ // 制表符设置为2个空格大小
113
+ readOnly: props.readonly,
114
+ highlightActiveLine: true,
115
+ value: codeValue.value
116
+ });
117
+ aceEditor.value.setOptions({
118
+ enableBasicAutocompletion: true,
119
+ enableSnippets: true,
120
+ // 设置代码片段提示
121
+ enableLiveAutocompletion: true
122
+ // 设置自动提示
123
+ });
124
+ if (props.mode === "json") {
125
+ setJsonMode();
126
+ } else if (props.mode === "css") {
127
+ setCssMode();
128
+ } else if (props.mode === "groovy") {
129
+ setGroovyMode();
130
+ }
131
+ aceEditor.value.getSession().on("change", (ev) => {
132
+ var _a, _b;
133
+ emit("update:modelValue", (_a = aceEditor.value) == null ? void 0 : _a.getValue());
134
+ emit("update:value", (_b = aceEditor.value) == null ? void 0 : _b.getValue());
135
+ });
136
+ isLoading.value = false;
137
+ };
138
+ watchEffect(() => {
139
+ var _a;
140
+ (_a = aceEditor.value) == null ? void 0 : _a.setOptions({
141
+ readOnly: props.readonly,
142
+ mode: props.mode,
143
+ useWorker: props.userWorker
144
+ });
145
+ });
146
+ onMounted(() => {
147
+ initEditor();
148
+ });
149
+ __expose({
150
+ initEditor,
151
+ getEditorAnnotations
152
+ });
153
+ return (_ctx, _cache) => {
154
+ return openBlock(), createElementBlock("div", _hoisted_1, [
155
+ createElementVNode("div", {
156
+ class: "ace-editor",
157
+ ref_key: "aceRef",
158
+ ref: aceRef
159
+ }, null, 512)
160
+ ]);
161
+ };
162
+ }
163
+ });
164
+ export {
165
+ _sfc_main as default
166
+ };
@@ -1,106 +1,236 @@
1
- import _sfc_main from "./data-table-widget.vue2.js";
2
- import { resolveComponent, createBlock, openBlock, normalizeStyle, withCtx, createElementBlock, withModifiers, normalizeClass, createVNode, createCommentVNode, Fragment, renderList, mergeProps, withDirectives, createTextVNode, toDisplayString, vShow } from "vue";
3
- /* empty css */
4
- import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
5
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
6
- const _component_a_empty = resolveComponent("a-empty");
7
- const _component_a_table_column = resolveComponent("a-table-column");
8
- const _component_a_button = resolveComponent("a-button");
9
- const _component_a_space = resolveComponent("a-space");
10
- const _component_a_table = resolveComponent("a-table");
11
- const _component_container_wrapper = resolveComponent("container-wrapper");
12
- return openBlock(), createBlock(_component_container_wrapper, {
13
- designer: $props.designer,
14
- widget: $props.widget,
15
- "parent-widget": $props.parentWidget,
16
- "parent-list": $props.parentList,
17
- "index-of-parent-list": $props.indexOfParentList,
18
- style: normalizeStyle({ display: "flex", height: parseFloat(_ctx.tableHeight || 0) + "px" })
19
- }, {
20
- default: withCtx(() => [
21
- (openBlock(), createElementBlock("div", {
22
- key: $props.widget.id,
23
- class: normalizeClass(["collapse-container data-table-container", { selected: $options.selected }]),
24
- onClick: _cache[1] || (_cache[1] = withModifiers(($event) => $options.selectWidget($props.widget), ["stop"]))
25
- }, [
26
- createVNode(_component_a_table, {
27
- ref: "dataTable1",
28
- class: normalizeClass(["tpf-table", [_ctx.customClass]]),
29
- dataSource: $props.widget.options.dataSource,
30
- rowKey: (record) => record[$props.widget.options.rowKey],
31
- scroll: { y: parseFloat(_ctx.tableHeight || 0), x: 300 },
32
- size: _ctx.widgetSize,
33
- bordered: $props.widget.options.border,
34
- style: normalizeStyle({ width: $props.widget.options.tableWidth }),
35
- onClick: _cache[0] || (_cache[0] = withModifiers(($event) => $options.selectWidget($props.widget), ["stop"])),
36
- "row-class-name": _ctx.rowClassName,
37
- rowSelection: _ctx.handleRowSelection(),
38
- pagination: _ctx.fmtPagination,
39
- rowClassName: _ctx.rowClassName,
40
- onChange: _ctx.handleTablePageChange,
41
- customRow: _ctx.handleCustomRow,
42
- onResizeColumn: _ctx.handleResizeColumn
43
- }, {
44
- emptyText: withCtx(() => [
45
- createVNode(_component_a_empty)
46
- ]),
47
- default: withCtx(() => [
48
- $props.widget.options.showIndex ? (openBlock(), createBlock(_component_a_table_column, {
49
- key: 0,
50
- title: "序号",
51
- align: "left",
52
- width: 80,
53
- fixed: "left",
54
- customRender: _ctx.customRenderIndex
55
- }, null, 8, ["customRender"])) : createCommentVNode("", true),
56
- (openBlock(true), createElementBlock(Fragment, null, renderList($props.widget.options.tableColumns, (item, index) => {
57
- return openBlock(), createElementBlock(Fragment, null, [
58
- item.show !== false ? (openBlock(), createBlock(_component_a_table_column, mergeProps({ key: index }, _ctx.handleColumnItem(item), { showSorterTooltip: false }), null, 16)) : createCommentVNode("", true)
59
- ], 64);
60
- }), 256)),
61
- !!$props.widget.options.showButtonsColumn ? (openBlock(), createBlock(_component_a_table_column, {
62
- key: 1,
63
- fixed: "right",
64
- align: "center",
65
- title: $props.widget.options.buttonsColumnTitle,
66
- width: $props.widget.options.buttonsColumnWidth
67
- }, {
68
- default: withCtx((scope) => [
69
- createVNode(_component_a_space, null, {
70
- default: withCtx(() => [
71
- (openBlock(true), createElementBlock(Fragment, null, renderList($props.widget.options.operationButtons, (ob, inx) => {
72
- return withDirectives((openBlock(), createBlock(_component_a_button, {
73
- key: inx,
74
- type: ob.type,
75
- size: ob.size,
76
- shape: ob.shape,
77
- disabled: _ctx.disableOperationButton(ob, scope.index, scope.record),
78
- onClick: ($event) => _ctx.handleOperationButtonClick(ob.name, scope.index, scope.record, scope, ob),
79
- class: normalizeClass(["data-table-" + ob.name + "-button"])
80
- }, {
81
- default: withCtx(() => [
82
- createTextVNode(toDisplayString(_ctx.getOperationButtonLabel(ob, scope.index, scope.record)), 1)
83
- ]),
84
- _: 2
85
- }, 1032, ["type", "size", "shape", "disabled", "onClick", "class"])), [
86
- [vShow, _ctx.showOperationButton(ob, scope.index, scope.record)]
87
- ]);
88
- }), 128))
89
- ]),
90
- _: 2
91
- }, 1024)
92
- ]),
93
- _: 1
94
- }, 8, ["title", "width"])) : createCommentVNode("", true)
95
- ]),
96
- _: 1
97
- }, 8, ["dataSource", "rowKey", "scroll", "class", "size", "bordered", "style", "row-class-name", "rowSelection", "pagination", "rowClassName", "onChange", "customRow", "onResizeColumn"])
98
- ], 2))
99
- ]),
100
- _: 1
101
- }, 8, ["designer", "widget", "parent-widget", "parent-list", "index-of-parent-list", "style"]);
102
- }
103
- const dataTableWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-19e67e23"]]);
1
+ import ContainerWrapper from "./container-wrapper.vue.js";
2
+ import emitter from "../../../../utils/emitter.js";
3
+ import i18n from "../../../../utils/i18n.js";
4
+ import comps from "../field-widget/index.js";
5
+ import containerMixin from "./containerMixin.js";
6
+ import refMixinDesign from "../../refMixinDesign.js";
7
+ import useDataTableMixin from "../../../../mixins/useDataTableMixin.js";
8
+ const _sfc_main = {
9
+ name: "DataTableWidget",
10
+ componentName: "DataTableWidget",
11
+ mixins: [i18n, containerMixin, refMixinDesign, emitter, useDataTableMixin],
12
+ inject: ["refList"],
13
+ components: {
14
+ ContainerWrapper,
15
+ ...comps
16
+ },
17
+ data() {
18
+ return {
19
+ // selectAllFlag: false
20
+ };
21
+ },
22
+ props: {
23
+ widget: Object,
24
+ parentWidget: Object,
25
+ parentList: Array,
26
+ indexOfParentList: Number,
27
+ designer: Object,
28
+ subFormRowIndex: {
29
+ /* 子表单组件行索引,从0开始计数 */
30
+ type: Number,
31
+ default: -1
32
+ },
33
+ subFormColIndex: {
34
+ /* 子表单组件列索引,从0开始计数 */
35
+ type: Number,
36
+ default: -1
37
+ },
38
+ subFormRowId: {
39
+ /* 子表单组件行Id,唯一id且不可变 */
40
+ type: String,
41
+ default: ""
42
+ }
43
+ },
44
+ created() {
45
+ this.initRefList();
46
+ },
47
+ mounted() {
48
+ this.loadDataTableDataSource();
49
+ log;
50
+ },
51
+ beforeUnmount() {
52
+ },
53
+ computed: {
54
+ // paginationLayout() {
55
+ // return !!this.widget.options.smallPagination
56
+ // ? 'prev, pager, next'
57
+ // : 'total, sizes, prev, pager, next, jumper';
58
+ // },
59
+ selected() {
60
+ return this.widget.id === this.designer.selectedId;
61
+ }
62
+ // customClass() {
63
+ // return this.widget.options.customClass || '';
64
+ // },
65
+ // widgetSize() {
66
+ // return this.widget.options.tableSize || 'default';
67
+ // },
68
+ // buttonsColumnFixed() {
69
+ // if (this.widget.options.buttonsColumnFixed === undefined) {
70
+ // return 'right';
71
+ // }
72
+ // return !this.widget.options.buttonsColumnFixed
73
+ // ? false
74
+ // : this.widget.options.buttonsColumnFixed;
75
+ // },
76
+ // tableHeight() {
77
+ // return this.widget.options.tableHeight || undefined;
78
+ // },
79
+ // selectionWidth() {
80
+ // return !this.widget.options.showSummary
81
+ // ? !this.widget.options.treeDataEnabled
82
+ // ? 42
83
+ // : 70
84
+ // : 53;
85
+ // }
86
+ },
87
+ methods: {
88
+ // getOperationButtonLabel(buttonConfig, rowIndex, row) {
89
+ // if (!!this.widget.options.onGetOperationButtonLabel) {
90
+ // const customFn = new Function(
91
+ // 'buttonConfig',
92
+ // 'rowIndex',
93
+ // 'row',
94
+ // this.widget.options.onGetOperationButtonLabel
95
+ // );
96
+ // //return customFn.call(this, buttonConfig, rowIndex, row) || buttonConfig.label
97
+ // return customFn.call(this, buttonConfig, rowIndex, row);
98
+ // } else {
99
+ // return buttonConfig.label;
100
+ // }
101
+ // },
102
+ // handleOperationButtonClick(btnName, rowIndex, row, scope, ob) {
103
+ // this.skipSelectionChangeEvent = true;
104
+ // try {
105
+ // if (ob.onClick) {
106
+ // const clcFn = new Function('record', 'index', 'column', 'btn', ob.onClick);
107
+ // clcFn.call(this, row, rowIndex, scope.column, ob);
108
+ // return;
109
+ // }
110
+ // if (!!this.widget.options.onOperationButtonClick) {
111
+ // const customFn = new Function(
112
+ // 'buttonName',
113
+ // 'rowIndex',
114
+ // 'row',
115
+ // this.widget.options.onOperationButtonClick
116
+ // );
117
+ // customFn.call(this, btnName, rowIndex, row);
118
+ // } else {
119
+ // this.dispatch('VFormRender', 'operationButtonClick', [this, btnName, rowIndex, row]);
120
+ // }
121
+ // } finally {
122
+ // this.skipSelectionChangeEvent = false;
123
+ // }
124
+ // },
125
+ // showOperationButton(buttonConfig, rowIndex, row) {
126
+ // if (!!this.widget.options.onHideOperationButton) {
127
+ // const customFn = new Function(
128
+ // 'buttonConfig',
129
+ // 'rowIndex',
130
+ // 'row',
131
+ // this.widget.options.onHideOperationButton
132
+ // );
133
+ // return !customFn.call(this, buttonConfig, rowIndex, row);
134
+ // } else {
135
+ // return !buttonConfig.hidden;
136
+ // }
137
+ // },
138
+ // disableOperationButton(buttonConfig, rowIndex, row) {
139
+ // if (!!this.widget.options.onDisableOperationButton) {
140
+ // const customFn = new Function(
141
+ // 'buttonConfig',
142
+ // 'rowIndex',
143
+ // 'row',
144
+ // this.widget.options.onDisableOperationButton
145
+ // );
146
+ // return customFn.call(this, buttonConfig, rowIndex, row);
147
+ // } else {
148
+ // return buttonConfig.disabled;
149
+ // }
150
+ // },
151
+ // customRenderIndex({ index }) {
152
+ // return index + 1;
153
+ // },
154
+ // handleTablePageChange(pagination, filters, sorter, { currentDataSource }) {
155
+ // const fn = this.widget.options.onTableChange;
156
+ // this.widget.options.pagination.current = pagination.current;
157
+ // this.widget.options.pagination.pageSize = pagination.pageSize;
158
+ // if (fn) {
159
+ // const changeFunc = new Function(
160
+ // 'pagination',
161
+ // 'filters',
162
+ // 'sorter',
163
+ // 'currentDataSource',
164
+ // fn
165
+ // );
166
+ // changeFunc.call(this, pagination, filters, sorter, currentDataSource);
167
+ // }
168
+ // },
169
+ // handleRowSelection(info) {
170
+ // if (!info.hasRowSelection) {
171
+ // return undefined;
172
+ // }
173
+ // return {
174
+ // ...omit(info, ['onChange']),
175
+ // onChange: (selectedRowKeys, selectedRows) => {
176
+ // const rcFunc = new Function('selectedRowKeys', 'selectedRows', info.onChange);
177
+ // rcFunc.call(this, selectedRowKeys, selectedRows);
178
+ // }
179
+ // };
180
+ // },
181
+ selectWidget(widget) {
182
+ this.designer.setSelected(widget);
183
+ }
184
+ // getTableColumns() {
185
+ // return this.widget.options.tableColumns;
186
+ // }
187
+ // setChildrenSelected(children, flag) {
188
+ // const childrenKey = this.widget.options.childrenKey;
189
+ // children.map(child => {
190
+ // this.toggleSelection(child, flag);
191
+ // if (child[childrenKey]) {
192
+ // this.setChildrenSelected(child[childrenKey], flag);
193
+ // }
194
+ // });
195
+ // },
196
+ // toggleSelection(row, flag) {
197
+ // if (row) {
198
+ // this.$nextTick(() => {
199
+ // this.$refs.dataTable.toggleRowSelection(row, flag);
200
+ // });
201
+ // }
202
+ // },
203
+ // handleRowSelect(selection, row) {
204
+ // const childrenKey = this.widget.options.childrenKey;
205
+ // if (
206
+ // selection.some(el => {
207
+ // return row.id === el.id;
208
+ // })
209
+ // ) {
210
+ // if (row[childrenKey]) {
211
+ // this.setChildrenSelected(row[childrenKey], true);
212
+ // }
213
+ // } else {
214
+ // if (row[childrenKey]) {
215
+ // this.setChildrenSelected(row[childrenKey], false);
216
+ // }
217
+ // }
218
+ // },
219
+ // setSelectedFlag(data, flag) {
220
+ // const childrenKey = this.widget.options.childrenKey;
221
+ // data.forEach(row => {
222
+ // this.$refs.dataTable.toggleRowSelection(row, flag);
223
+ // if (row[childrenKey]) {
224
+ // this.setSelectedFlag(row[childrenKey], flag);
225
+ // }
226
+ // });
227
+ // },
228
+ // handleAllSelect(selection) {
229
+ // this.selectAllFlag = !this.selectAllFlag;
230
+ // this.setSelectedFlag(this.widget.options.tableData, this.selectAllFlag);
231
+ // }
232
+ }
233
+ };
104
234
  export {
105
- dataTableWidget as default
235
+ _sfc_main as default
106
236
  };
@@ -0,0 +1,105 @@
1
+ import _sfc_main from "./data-table-widget.vue.js";
2
+ import { resolveComponent, createBlock, openBlock, normalizeStyle, withCtx, createElementBlock, withModifiers, normalizeClass, createVNode, createCommentVNode, Fragment, renderList, mergeProps, withDirectives, createTextVNode, toDisplayString, vShow } from "vue";
3
+ /* empty css */
4
+ import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
5
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
6
+ const _component_a_empty = resolveComponent("a-empty");
7
+ const _component_a_table_column = resolveComponent("a-table-column");
8
+ const _component_a_button = resolveComponent("a-button");
9
+ const _component_a_space = resolveComponent("a-space");
10
+ const _component_a_table = resolveComponent("a-table");
11
+ const _component_container_wrapper = resolveComponent("container-wrapper");
12
+ return openBlock(), createBlock(_component_container_wrapper, {
13
+ designer: $props.designer,
14
+ widget: $props.widget,
15
+ "parent-widget": $props.parentWidget,
16
+ "parent-list": $props.parentList,
17
+ "index-of-parent-list": $props.indexOfParentList,
18
+ style: normalizeStyle({ display: "flex", height: parseFloat(_ctx.tableHeight || 0) + "px" })
19
+ }, {
20
+ default: withCtx(() => [
21
+ (openBlock(), createElementBlock("div", {
22
+ key: $props.widget.id,
23
+ class: normalizeClass(["collapse-container data-table-container", { selected: $options.selected }]),
24
+ onClick: _cache[1] || (_cache[1] = withModifiers(($event) => $options.selectWidget($props.widget), ["stop"]))
25
+ }, [
26
+ createVNode(_component_a_table, {
27
+ ref: "dataTable1",
28
+ class: normalizeClass(["tpf-table", [_ctx.customClass]]),
29
+ dataSource: $props.widget.options.dataSource,
30
+ rowKey: (record) => record[$props.widget.options.rowKey],
31
+ scroll: { y: parseFloat(_ctx.tableHeight || 0), x: 300 },
32
+ size: _ctx.widgetSize,
33
+ bordered: $props.widget.options.border,
34
+ style: normalizeStyle({ width: $props.widget.options.tableWidth }),
35
+ onClick: _cache[0] || (_cache[0] = withModifiers(($event) => $options.selectWidget($props.widget), ["stop"])),
36
+ "row-class-name": _ctx.rowClassName,
37
+ rowSelection: _ctx.handleRowSelection(),
38
+ pagination: _ctx.fmtPagination,
39
+ onChange: _ctx.handleTablePageChange,
40
+ customRow: _ctx.handleCustomRow,
41
+ onResizeColumn: _ctx.handleResizeColumn
42
+ }, {
43
+ emptyText: withCtx(() => [
44
+ createVNode(_component_a_empty)
45
+ ]),
46
+ default: withCtx(() => [
47
+ $props.widget.options.showIndex ? (openBlock(), createBlock(_component_a_table_column, {
48
+ key: 0,
49
+ title: "序号",
50
+ align: "left",
51
+ width: 80,
52
+ fixed: "left",
53
+ customRender: _ctx.customRenderIndex
54
+ }, null, 8, ["customRender"])) : createCommentVNode("", true),
55
+ (openBlock(true), createElementBlock(Fragment, null, renderList($props.widget.options.tableColumns, (item, index) => {
56
+ return openBlock(), createElementBlock(Fragment, null, [
57
+ item.show !== false ? (openBlock(), createBlock(_component_a_table_column, mergeProps({ key: index }, _ctx.handleColumnItem(item), { showSorterTooltip: false }), null, 16)) : createCommentVNode("", true)
58
+ ], 64);
59
+ }), 256)),
60
+ !!$props.widget.options.showButtonsColumn ? (openBlock(), createBlock(_component_a_table_column, {
61
+ key: 1,
62
+ fixed: "right",
63
+ align: "center",
64
+ title: $props.widget.options.buttonsColumnTitle,
65
+ width: $props.widget.options.buttonsColumnWidth
66
+ }, {
67
+ default: withCtx((scope) => [
68
+ createVNode(_component_a_space, null, {
69
+ default: withCtx(() => [
70
+ (openBlock(true), createElementBlock(Fragment, null, renderList($props.widget.options.operationButtons, (ob, inx) => {
71
+ return withDirectives((openBlock(), createBlock(_component_a_button, {
72
+ key: inx,
73
+ type: ob.type,
74
+ size: ob.size,
75
+ shape: ob.shape,
76
+ disabled: _ctx.disableOperationButton(ob, scope.index, scope.record),
77
+ onClick: ($event) => _ctx.handleOperationButtonClick(ob.name, scope.index, scope.record, scope, ob),
78
+ class: normalizeClass(["data-table-" + ob.name + "-button"])
79
+ }, {
80
+ default: withCtx(() => [
81
+ createTextVNode(toDisplayString(_ctx.getOperationButtonLabel(ob, scope.index, scope.record)), 1)
82
+ ]),
83
+ _: 2
84
+ }, 1032, ["type", "size", "shape", "disabled", "onClick", "class"])), [
85
+ [vShow, _ctx.showOperationButton(ob, scope.index, scope.record)]
86
+ ]);
87
+ }), 128))
88
+ ]),
89
+ _: 2
90
+ }, 1024)
91
+ ]),
92
+ _: 1
93
+ }, 8, ["title", "width"])) : createCommentVNode("", true)
94
+ ]),
95
+ _: 1
96
+ }, 8, ["dataSource", "rowKey", "scroll", "class", "size", "bordered", "style", "row-class-name", "rowSelection", "pagination", "onChange", "customRow", "onResizeColumn"])
97
+ ], 2))
98
+ ]),
99
+ _: 1
100
+ }, 8, ["designer", "widget", "parent-widget", "parent-list", "index-of-parent-list", "style"]);
101
+ }
102
+ const dataTableWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-a667e0af"]]);
103
+ export {
104
+ dataTableWidget as default
105
+ };
@@ -2,6 +2,7 @@ import i18n from "../../../../utils/i18n.js";
2
2
  import comps from "../field-widget/index.js";
3
3
  import SvgIcon from "../../../svg-icon/index.vue.js";
4
4
  import refMixinDesign from "../../refMixinDesign.js";
5
+ import draggableComponent from "../../../../lib/vuedraggable/src/vuedraggable.js";
5
6
  import { resolveComponent, createBlock, createCommentVNode, openBlock, mergeProps, withModifiers, withCtx, createVNode, createElementBlock, createElementVNode, resolveDynamicComponent, toDisplayString } from "vue";
6
7
  /* empty css */
7
8
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
@@ -11,6 +12,7 @@ const _sfc_main = {
11
12
  mixins: [i18n, refMixinDesign],
12
13
  inject: ["refList"],
13
14
  components: {
15
+ Draggable: draggableComponent,
14
16
  ...comps,
15
17
  SvgIcon
16
18
  },
@@ -296,7 +298,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
296
298
  _: 1
297
299
  }, 16, ["class", "style"])) : createCommentVNode("", true);
298
300
  }
299
- const GridColWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-e53ef040"]]);
301
+ const GridColWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-06e9921c"]]);
300
302
  export {
301
303
  GridColWidget as default
302
304
  };