super-page-runtime 0.0.1-tmp2

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 (222) hide show
  1. package/.prettierrc.json +8 -0
  2. package/README.md +61 -0
  3. package/lib/_virtual/_plugin-vue_export-helper.js +9 -0
  4. package/lib/components/index.d.ts +5 -0
  5. package/lib/components/runtime/index.d.ts +3 -0
  6. package/lib/components/runtime/views/assemblys/common/export-form-report-dialog.vue.d.ts +24 -0
  7. package/lib/components/runtime/views/assemblys/common/remove-signer-dialog.vue.d.ts +35 -0
  8. package/lib/components/runtime/views/assemblys/common/task-informition-dialog.vue.d.ts +26 -0
  9. package/lib/components/runtime/views/assemblys/error-render.vue.d.ts +22 -0
  10. package/lib/components/runtime/views/assemblys/object-render.vue.d.ts +17 -0
  11. package/lib/components/runtime/views/super-page.vue.d.ts +91 -0
  12. package/lib/components/super-page-dialog/index.d.ts +3 -0
  13. package/lib/components/super-page-dialog/super-page-dialog.vue.d.ts +36 -0
  14. package/lib/components/wf-editor/index.d.ts +3 -0
  15. package/lib/components/wf-editor/wf-editor.vue.d.ts +2 -0
  16. package/lib/favicon.ico +0 -0
  17. package/lib/index.js +8 -0
  18. package/lib/runtime/index.js +3 -0
  19. package/lib/runtime/utils/assemblys-config.js +258 -0
  20. package/lib/runtime/views/assemblys/button/button/button-runtime.vue.js +3 -0
  21. package/lib/runtime/views/assemblys/button/button/button-runtime.vue2.js +54 -0
  22. package/lib/runtime/views/assemblys/button/button-group/buttongroup-runtime.vue.js +3 -0
  23. package/lib/runtime/views/assemblys/button/button-group/buttongroup-runtime.vue2.js +35 -0
  24. package/lib/runtime/views/assemblys/button/dropdown/dropdown-runtime.vue.js +3 -0
  25. package/lib/runtime/views/assemblys/button/dropdown/dropdown-runtime.vue2.js +110 -0
  26. package/lib/runtime/views/assemblys/chart/column-line/column-line-runtime.vue.js +3 -0
  27. package/lib/runtime/views/assemblys/chart/column-line/column-line-runtime.vue2.js +53 -0
  28. package/lib/runtime/views/assemblys/chart/gauge/gauge-runtime.vue.js +3 -0
  29. package/lib/runtime/views/assemblys/chart/gauge/gauge-runtime.vue2.js +42 -0
  30. package/lib/runtime/views/assemblys/chart/pie/pie-runtime.vue.js +3 -0
  31. package/lib/runtime/views/assemblys/chart/pie/pie-runtime.vue2.js +50 -0
  32. package/lib/runtime/views/assemblys/chart/radar/radar-runtime.vue.js +3 -0
  33. package/lib/runtime/views/assemblys/chart/radar/radar-runtime.vue2.js +50 -0
  34. package/lib/runtime/views/assemblys/chart/scatter/scatter-runtime.vue.js +3 -0
  35. package/lib/runtime/views/assemblys/chart/scatter/scatter-runtime.vue2.js +51 -0
  36. package/lib/runtime/views/assemblys/common/export-form-report-dialog.vue.js +141 -0
  37. package/lib/runtime/views/assemblys/common/export-form-report-dialog.vue2.js +3 -0
  38. package/lib/runtime/views/assemblys/common/remove-signer-dialog.vue.js +127 -0
  39. package/lib/runtime/views/assemblys/common/remove-signer-dialog.vue2.js +3 -0
  40. package/lib/runtime/views/assemblys/common/task-informition-dialog.vue.js +104 -0
  41. package/lib/runtime/views/assemblys/common/task-informition-dialog.vue2.js +3 -0
  42. package/lib/runtime/views/assemblys/container/card/card-runtime.vue.js +3 -0
  43. package/lib/runtime/views/assemblys/container/card/card-runtime.vue2.js +72 -0
  44. package/lib/runtime/views/assemblys/container/collapse/collapse-runtime.vue.js +3 -0
  45. package/lib/runtime/views/assemblys/container/collapse/collapse-runtime.vue2.js +73 -0
  46. package/lib/runtime/views/assemblys/container/container/container-runtime.vue.js +3 -0
  47. package/lib/runtime/views/assemblys/container/container/container-runtime.vue2.js +78 -0
  48. package/lib/runtime/views/assemblys/container/flex/flex-runtime.vue.js +3 -0
  49. package/lib/runtime/views/assemblys/container/flex/flex-runtime.vue2.js +42 -0
  50. package/lib/runtime/views/assemblys/container/form/form-runtime.vue.js +3 -0
  51. package/lib/runtime/views/assemblys/container/form/form-runtime.vue2.js +43 -0
  52. package/lib/runtime/views/assemblys/container/iframe/iframe-runtime.vue.js +3 -0
  53. package/lib/runtime/views/assemblys/container/iframe/iframe-runtime.vue2.js +29 -0
  54. package/lib/runtime/views/assemblys/container/tabs/tabs-runtime.vue.js +3 -0
  55. package/lib/runtime/views/assemblys/container/tabs/tabs-runtime.vue2.js +68 -0
  56. package/lib/runtime/views/assemblys/container/tools/tools-runtime.vue.js +3 -0
  57. package/lib/runtime/views/assemblys/container/tools/tools-runtime.vue2.js +74 -0
  58. package/lib/runtime/views/assemblys/data/table/main-table-runtime.vue.js +640 -0
  59. package/lib/runtime/views/assemblys/data/table/main-table-runtime.vue2.js +3 -0
  60. package/lib/runtime/views/assemblys/data/table/sub-table-runtime.vue.js +452 -0
  61. package/lib/runtime/views/assemblys/data/table/sub-table-runtime.vue2.js +3 -0
  62. package/lib/runtime/views/assemblys/data/table/table-runtime.vue.js +3 -0
  63. package/lib/runtime/views/assemblys/data/table/table-runtime.vue2.js +82 -0
  64. package/lib/runtime/views/assemblys/error-render.vue.js +22 -0
  65. package/lib/runtime/views/assemblys/error-render.vue2.js +3 -0
  66. package/lib/runtime/views/assemblys/form/checkbox/checkbox-runtime.vue.js +3 -0
  67. package/lib/runtime/views/assemblys/form/checkbox/checkbox-runtime.vue2.js +156 -0
  68. package/lib/runtime/views/assemblys/form/date-picker/datepicker-runtime.vue.js +3 -0
  69. package/lib/runtime/views/assemblys/form/date-picker/datepicker-runtime.vue2.js +82 -0
  70. package/lib/runtime/views/assemblys/form/dept-tree/depttree-runtime.vue.js +3 -0
  71. package/lib/runtime/views/assemblys/form/dept-tree/depttree-runtime.vue2.js +59 -0
  72. package/lib/runtime/views/assemblys/form/divider/divider-runtime.vue.js +3 -0
  73. package/lib/runtime/views/assemblys/form/divider/divider-runtime.vue2.js +40 -0
  74. package/lib/runtime/views/assemblys/form/file-upload/fileupload-runtime.vue.js +3 -0
  75. package/lib/runtime/views/assemblys/form/file-upload/fileupload-runtime.vue2.js +74 -0
  76. package/lib/runtime/views/assemblys/form/input-number/input-number-runtime.vue.js +3 -0
  77. package/lib/runtime/views/assemblys/form/input-number/input-number-runtime.vue2.js +63 -0
  78. package/lib/runtime/views/assemblys/form/input-text/inputtext-runtime.vue.js +3 -0
  79. package/lib/runtime/views/assemblys/form/input-text/inputtext-runtime.vue2.js +127 -0
  80. package/lib/runtime/views/assemblys/form/label/label-runtime.vue.js +3 -0
  81. package/lib/runtime/views/assemblys/form/label/label-runtime.vue2.js +133 -0
  82. package/lib/runtime/views/assemblys/form/link/link-runtime.vue.js +3 -0
  83. package/lib/runtime/views/assemblys/form/link/link-runtime.vue2.js +77 -0
  84. package/lib/runtime/views/assemblys/form/placeholder/placeholder-runtime.vue.js +3 -0
  85. package/lib/runtime/views/assemblys/form/placeholder/placeholder-runtime.vue2.js +29 -0
  86. package/lib/runtime/views/assemblys/form/radio/radio-runtime.vue.js +3 -0
  87. package/lib/runtime/views/assemblys/form/radio/radio-runtime.vue2.js +157 -0
  88. package/lib/runtime/views/assemblys/form/rich-text/richtext-runtime.vue.js +3 -0
  89. package/lib/runtime/views/assemblys/form/rich-text/richtext-runtime.vue2.js +174 -0
  90. package/lib/runtime/views/assemblys/form/select/select-runtime.vue.js +3 -0
  91. package/lib/runtime/views/assemblys/form/select/select-runtime.vue2.js +201 -0
  92. package/lib/runtime/views/assemblys/form/switch/switch-runtime.vue.js +3 -0
  93. package/lib/runtime/views/assemblys/form/switch/switch-runtime.vue2.js +63 -0
  94. package/lib/runtime/views/assemblys/form/tag/tag-runtime.vue.js +3 -0
  95. package/lib/runtime/views/assemblys/form/tag/tag-runtime.vue2.js +63 -0
  96. package/lib/runtime/views/assemblys/form/textarea/textarea-runtime.vue.js +3 -0
  97. package/lib/runtime/views/assemblys/form/textarea/textarea-runtime.vue2.js +65 -0
  98. package/lib/runtime/views/assemblys/object-render.vue.js +142 -0
  99. package/lib/runtime/views/assemblys/object-render.vue2.js +3 -0
  100. package/lib/runtime/views/assemblys/workflow/workflow-button/workflowbutton-runtime.vue.js +3 -0
  101. package/lib/runtime/views/assemblys/workflow/workflow-button/workflowbutton-runtime.vue2.js +61 -0
  102. package/lib/runtime/views/super-page.vue.js +479 -0
  103. package/lib/runtime/views/super-page.vue2.js +3 -0
  104. package/lib/src/assets/chart-themes/theme1.js +7 -0
  105. package/lib/src/assets/chart-themes/theme2.js +7 -0
  106. package/lib/src/assets/chart-themes/theme3.js +7 -0
  107. package/lib/src/utils/api/api-util.d.ts +11 -0
  108. package/lib/src/utils/api/api-util.js +128 -0
  109. package/lib/src/utils/charts/chart-util.js +15 -0
  110. package/lib/src/utils/common-util.d.ts +11 -0
  111. package/lib/src/utils/common-util.js +81 -0
  112. package/lib/src/utils/events/event-util.d.ts +48 -0
  113. package/lib/src/utils/events/event-util.js +525 -0
  114. package/lib/src/utils/events/standard-event.d.ts +61 -0
  115. package/lib/src/utils/events/standard-event.js +1623 -0
  116. package/lib/src/utils/events/validator-util.d.ts +4 -0
  117. package/lib/src/utils/events/validator-util.js +389 -0
  118. package/lib/src/utils/global-refs.d.ts +59 -0
  119. package/lib/src/utils/global-refs.js +65 -0
  120. package/lib/src/utils/interfaces/page-design-types.d.ts +221 -0
  121. package/lib/src/utils/interfaces/page-design-types.js +9 -0
  122. package/lib/src/utils/page-helper-util.d.ts +87 -0
  123. package/lib/src/utils/page-helper-util.js +503 -0
  124. package/lib/src/utils/page-init-util.d.ts +38 -0
  125. package/lib/src/utils/page-init-util.js +200 -0
  126. package/lib/src/utils/store-util.d.ts +15 -0
  127. package/lib/src/utils/store-util.js +17 -0
  128. package/lib/src/utils/store.d.ts +2 -0
  129. package/lib/src/utils/store.js +3 -0
  130. package/lib/src/utils/table-utils.js +23 -0
  131. package/lib/super-page-dialog/index.js +3 -0
  132. package/lib/super-page-dialog/super-page-dialog.vue.js +73 -0
  133. package/lib/super-page-dialog/super-page-dialog.vue2.js +3 -0
  134. package/lib/wf-editor/index.js +3 -0
  135. package/lib/wf-editor/wf-editor.css +4 -0
  136. package/lib/wf-editor/wf-editor.vue.js +15 -0
  137. package/package-ws.json +70 -0
  138. package/package.json +67 -0
  139. package/src/assets/base.css +86 -0
  140. package/src/assets/chart-themes/theme1.ts +6 -0
  141. package/src/assets/chart-themes/theme2.ts +6 -0
  142. package/src/assets/chart-themes/theme3.ts +6 -0
  143. package/src/assets/images/button/button-group.png +0 -0
  144. package/src/assets/images/button/button.png +0 -0
  145. package/src/assets/images/chart/chart-column.png +0 -0
  146. package/src/assets/images/chart/chart-gauge.png +0 -0
  147. package/src/assets/images/chart/chart-pie.png +0 -0
  148. package/src/assets/images/chart/chart-radar.png +0 -0
  149. package/src/assets/images/chart/chart-scatter.png +0 -0
  150. package/src/assets/images/container/container-card.png +0 -0
  151. package/src/assets/images/container/container-collapse.png +0 -0
  152. package/src/assets/images/container/container-container.png +0 -0
  153. package/src/assets/images/container/container-flex.png +0 -0
  154. package/src/assets/images/container/container-form.png +0 -0
  155. package/src/assets/images/container/container-iframe.png +0 -0
  156. package/src/assets/images/container/container-normal.png +0 -0
  157. package/src/assets/images/container/container-tabs.png +0 -0
  158. package/src/assets/images/container/container-tools.png +0 -0
  159. package/src/assets/images/data/data-process.png +0 -0
  160. package/src/assets/images/data/data-step.png +0 -0
  161. package/src/assets/images/data/data-table-column.png +0 -0
  162. package/src/assets/images/data/data-table.png +0 -0
  163. package/src/assets/images/data/data-timeline.png +0 -0
  164. package/src/assets/images/data/data-tree.png +0 -0
  165. package/src/assets/images/form/form-cascader.png +0 -0
  166. package/src/assets/images/form/form-check.png +0 -0
  167. package/src/assets/images/form/form-color.png +0 -0
  168. package/src/assets/images/form/form-count.png +0 -0
  169. package/src/assets/images/form/form-custom.png +0 -0
  170. package/src/assets/images/form/form-date.png +0 -0
  171. package/src/assets/images/form/form-dept.png +0 -0
  172. package/src/assets/images/form/form-divider.png +0 -0
  173. package/src/assets/images/form/form-file.png +0 -0
  174. package/src/assets/images/form/form-image-upload.png +0 -0
  175. package/src/assets/images/form/form-img.png +0 -0
  176. package/src/assets/images/form/form-input.png +0 -0
  177. package/src/assets/images/form/form-label.png +0 -0
  178. package/src/assets/images/form/form-link.png +0 -0
  179. package/src/assets/images/form/form-radio.png +0 -0
  180. package/src/assets/images/form/form-scan.png +0 -0
  181. package/src/assets/images/form/form-score.png +0 -0
  182. package/src/assets/images/form/form-select.png +0 -0
  183. package/src/assets/images/form/form-slider.png +0 -0
  184. package/src/assets/images/form/form-space.png +0 -0
  185. package/src/assets/images/form/form-switch.png +0 -0
  186. package/src/assets/images/form/form-text.png +0 -0
  187. package/src/assets/images/form/form-textarea.png +0 -0
  188. package/src/assets/images/form/form-transfer.png +0 -0
  189. package/src/assets/images/form/form-zoom.png +0 -0
  190. package/src/assets/images/group-button.png +0 -0
  191. package/src/assets/images/group-chart.png +0 -0
  192. package/src/assets/images/group-container.png +0 -0
  193. package/src/assets/images/group-data.png +0 -0
  194. package/src/assets/images/group-form.png +0 -0
  195. package/src/assets/images/group-workflow.png +0 -0
  196. package/src/assets/images/workflow/workflow-button.png +0 -0
  197. package/src/assets/images/workflow/workflow-history-texts.png +0 -0
  198. package/src/assets/images/workflow/workflow-history.png +0 -0
  199. package/src/assets/images/workflow/workflow-imagehistory.png +0 -0
  200. package/src/assets/images/workflow/workflow-texthistory .png +0 -0
  201. package/src/assets/logo.svg +1 -0
  202. package/src/assets/main.css +1 -0
  203. package/src/i18n/langs/cn.js +52 -0
  204. package/src/i18n/langs/en.js +52 -0
  205. package/src/stores/counter.ts +12 -0
  206. package/src/utils/api/api-util.ts +176 -0
  207. package/src/utils/charts/chart-util.ts +41 -0
  208. package/src/utils/common-util.ts +96 -0
  209. package/src/utils/container-style-util.ts +237 -0
  210. package/src/utils/eventBus.ts +14 -0
  211. package/src/utils/events/event-util.ts +790 -0
  212. package/src/utils/events/jump-page-util.ts +0 -0
  213. package/src/utils/events/standard-event.ts +2075 -0
  214. package/src/utils/events/validator-util.ts +474 -0
  215. package/src/utils/global-refs.ts +160 -0
  216. package/src/utils/interfaces/page-design-types.ts +259 -0
  217. package/src/utils/page-helper-util.ts +850 -0
  218. package/src/utils/page-init-util.ts +291 -0
  219. package/src/utils/page-permission-util.ts +521 -0
  220. package/src/utils/store-util.ts +41 -0
  221. package/src/utils/store.ts +3 -0
  222. package/src/utils/table-utils.ts +31 -0
@@ -0,0 +1,4 @@
1
+ export declare function setObjectPropRule(prop: any, rules: any, leafRule: any): {};
2
+ export declare function validator(entity: any, rules: any, columns: any, rowIndex: any, isSql: any): any;
3
+ export declare function validateDataModelFunc(pageContext: any, configureObj: any, isEnableRequired: any): Promise<unknown>;
4
+ export declare function i18nValidateRulesMessage(rules: any): {};
@@ -0,0 +1,389 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const Validator = require("async-validator");
4
+ const elementPlus = require("element-plus");
5
+ const globalRefs = require("../global-refs.js");
6
+ const util = require("agilebuilder-ui/src/utils/util");
7
+ function setObjectPropRule(prop, rules, leafRule) {
8
+ const rule = {};
9
+ if (!rules) {
10
+ rules = {};
11
+ }
12
+ let num = 0;
13
+ const props = prop.split(".");
14
+ props.forEach((subProp) => {
15
+ let objectRule;
16
+ if (num === props.length - 1) {
17
+ objectRule = getEndObjectRule(rule, props, subProp);
18
+ objectRule.fields[subProp] = leafRule;
19
+ } else {
20
+ let lastObjectRule;
21
+ if (num === 0) {
22
+ objectRule = rules;
23
+ } else {
24
+ lastObjectRule = getLastObjectRule(rule, props, props[num - 1]);
25
+ objectRule = lastObjectRule.fields;
26
+ }
27
+ if (!objectRule[subProp]) {
28
+ objectRule[subProp] = {
29
+ type: "object",
30
+ required: true,
31
+ fields: {}
32
+ };
33
+ }
34
+ if (num === 0) {
35
+ rule[subProp] = objectRule[subProp];
36
+ } else {
37
+ lastObjectRule.fields[subProp] = objectRule[subProp];
38
+ }
39
+ }
40
+ num++;
41
+ });
42
+ return rule;
43
+ }
44
+ function getLastObjectRule(rule, props, currentProp) {
45
+ let lastObjectdRule;
46
+ for (let i = 0; i < props.length; i++) {
47
+ const subProp = props[i];
48
+ if (i === 0) {
49
+ lastObjectdRule = rule[subProp];
50
+ } else {
51
+ lastObjectdRule = lastObjectdRule.fields[props[i]];
52
+ }
53
+ if (subProp === currentProp) {
54
+ break;
55
+ }
56
+ }
57
+ return lastObjectdRule;
58
+ }
59
+ function getEndObjectRule(rule, props, currentProp) {
60
+ let lastObjectdRule;
61
+ for (let i = 0; i < props.length; i++) {
62
+ if (i === 0) {
63
+ lastObjectdRule = rule[props[i]];
64
+ } else {
65
+ lastObjectdRule = lastObjectdRule.fields[props[i]];
66
+ }
67
+ if (i !== props.length - 1) {
68
+ const leafSubProp = props[i + 1];
69
+ if (leafSubProp === currentProp) {
70
+ break;
71
+ }
72
+ }
73
+ }
74
+ return lastObjectdRule;
75
+ }
76
+ function getValidator(columns) {
77
+ const rules = {};
78
+ if (columns) {
79
+ columns.forEach((editField) => {
80
+ const prop = editField.model;
81
+ if (prop && editField.validations) {
82
+ const validations = editField.validations;
83
+ if (prop.indexOf(".") > 0) {
84
+ setObjectPropRule(editField.prop, rules, validations);
85
+ } else {
86
+ if (validations && validations.length > 0) {
87
+ rules[prop] = [...validations];
88
+ }
89
+ }
90
+ }
91
+ });
92
+ }
93
+ return rules;
94
+ }
95
+ function validator(entity, rules, columns, rowIndex, isSql) {
96
+ return validatorEntity(entity, rules, columns, rowIndex, true, isSql);
97
+ }
98
+ function sublistVerify(rules) {
99
+ if (!rules) {
100
+ return;
101
+ }
102
+ Object.keys(rules).forEach((item) => {
103
+ if (item.indexOf(".") >= 0) {
104
+ let ruleKetArr = [];
105
+ ruleKetArr = item.split(".");
106
+ if (rules[ruleKetArr[0]]) {
107
+ rules[ruleKetArr[0]].fields[ruleKetArr[1]] = rules[item][0];
108
+ } else {
109
+ rules[ruleKetArr[0]] = new Object();
110
+ rules[ruleKetArr[0]].fields = new Object();
111
+ rules[ruleKetArr[0]].fields[ruleKetArr[1]] = rules[item][0];
112
+ rules[ruleKetArr[0]].type = "object";
113
+ }
114
+ delete rules[item];
115
+ }
116
+ });
117
+ return rules;
118
+ }
119
+ function validatorEntity(entity, rules, columns, rowIndex, isShouldRepeateValdate, isSql) {
120
+ let validateRules = sublistVerify(rules);
121
+ if ((!rules || rules === null) && columns) {
122
+ validateRules = getValidator(columns);
123
+ }
124
+ if (!validateRules || Object.keys(validateRules).length === 0) {
125
+ entity["validateErrorField"] = "";
126
+ return true;
127
+ }
128
+ let result;
129
+ const validator2 = new Validator(validateRules);
130
+ validator2.validate(
131
+ entity,
132
+ {
133
+ first: true
134
+ },
135
+ (errors, fields) => {
136
+ let fieldName;
137
+ if (errors) {
138
+ result = errors[0].message;
139
+ fieldName = errors[0]["field"];
140
+ if (typeof rowIndex !== "undefined" && rowIndex !== null) {
141
+ result = util.getI18n().t("superPageRuntimeMessage.recordLine", {
142
+ row: rowIndex + 1
143
+ }) + "," + result;
144
+ }
145
+ elementPlus.ElMessage({
146
+ message: result,
147
+ showClose: true,
148
+ type: "warning",
149
+ duration: 3 * 1e3
150
+ });
151
+ console.log("errors", errors, "fields", fields);
152
+ } else {
153
+ result = true;
154
+ }
155
+ if (fieldName && isShouldRepeateValdate === true) {
156
+ const reg1 = /[A-Z]+/;
157
+ if (isSql !== void 0 && isSql === true && reg1.test(fieldName) && entity[fieldName.toLowerCase()] !== void 0) {
158
+ const copyEntity = JSON.parse(JSON.stringify(entity));
159
+ copyEntity[fieldName.toUpperCase()] = entity[fieldName.toLowerCase()];
160
+ delete copyEntity[fieldName.toLowerCase()];
161
+ result = validatorEntity(copyEntity, rules, columns, rowIndex, false, isSql);
162
+ }
163
+ }
164
+ }
165
+ );
166
+ return result;
167
+ }
168
+ function validateDataModelFunc(pageContext, configureObj, isEnableRequired) {
169
+ const dataModel = pageContext.entity.data;
170
+ const pageModel = pageContext.entity.page;
171
+ const data = { ...pageModel, ...dataModel };
172
+ const rules = pageContext.rules;
173
+ if (isEnableRequired === void 0 || isEnableRequired === null) {
174
+ isEnableRequired = configureObj.props.verification.required;
175
+ if (typeof isEnableRequired === "undefined") {
176
+ isEnableRequired = true;
177
+ }
178
+ }
179
+ return validateDataModel(isEnableRequired, data, rules, pageContext);
180
+ }
181
+ function validateDataModel(isEnableRequired, dataModel, rules, pageContext) {
182
+ if (isEnableRequired) {
183
+ const isWorkflow = pageContext.workflowCode ? true : false;
184
+ const customRules = pageContext.customRules;
185
+ if (isWorkflow) {
186
+ return validateWorkflowFormDataModel(dataModel, pageContext, customRules);
187
+ } else {
188
+ return validateCommonFormDataModel(dataModel, pageContext, rules, customRules);
189
+ }
190
+ } else {
191
+ return new Promise((resolve, reject) => {
192
+ resolve(true);
193
+ });
194
+ }
195
+ }
196
+ function validateWorkflowFormDataModel(dataModel, pageContext, customRules) {
197
+ return new Promise((resolve, reject) => {
198
+ const additionalParamMap = pageContext.entity.request;
199
+ const contextParameter = pageContext.entity.context;
200
+ const taskParamMap = pageContext.entity.task;
201
+ const isSql = true;
202
+ const subTablePageInfo = pageContext.subTablePageInfo;
203
+ let workflowFieldPermissionRules = window["$vueApp"].config.globalProperties.$getValidator(
204
+ pageContext.completeTaskParam.fieldPermissions,
205
+ dataModel,
206
+ isSql,
207
+ additionalParamMap,
208
+ taskParamMap,
209
+ contextParameter
210
+ );
211
+ workflowFieldPermissionRules = packageCustomRules(customRules, workflowFieldPermissionRules);
212
+ let result = false;
213
+ if (!workflowFieldPermissionRules) {
214
+ result = true;
215
+ } else {
216
+ result = window["$vueApp"].config.globalProperties.$formValidator(
217
+ dataModel,
218
+ workflowFieldPermissionRules,
219
+ isSql,
220
+ additionalParamMap,
221
+ taskParamMap,
222
+ contextParameter,
223
+ subTablePageInfo
224
+ );
225
+ }
226
+ if (result !== true) {
227
+ elementPlus.ElMessage({
228
+ showClose: true,
229
+ message: result + "",
230
+ type: "warning"
231
+ });
232
+ resolve(false);
233
+ } else {
234
+ const validatorResult = [];
235
+ const customUuids = pageContext.customValidatorUuids;
236
+ if (customUuids) {
237
+ customUuids.forEach((componentUuid) => {
238
+ const customRef = globalRefs.getComponentRef(pageContext, componentUuid);
239
+ if (customRef) {
240
+ validatorResult.push(customRef.validator());
241
+ }
242
+ });
243
+ }
244
+ if (validatorResult && validatorResult.length > 0) {
245
+ Promise.all(validatorResult).then((values) => {
246
+ if (values.includes(false)) {
247
+ resolve(false);
248
+ } else {
249
+ if (Object.keys(dataModel).indexOf("validateErrorField") >= 0) {
250
+ delete dataModel.validateErrorField;
251
+ }
252
+ resolve(dataModel);
253
+ }
254
+ });
255
+ } else {
256
+ if (Object.keys(dataModel).indexOf("validateErrorField") >= 0) {
257
+ delete dataModel.validateErrorField;
258
+ }
259
+ resolve(dataModel);
260
+ }
261
+ }
262
+ });
263
+ }
264
+ function validateCommonFormDataModel(dataModel, pageContext, rules, customRules) {
265
+ return new Promise((resolve, reject) => {
266
+ const handleModels = JSON.parse(JSON.stringify(dataModel));
267
+ rules = packageCustomRules(customRules, rules);
268
+ if (!rules) {
269
+ resolve(handleModels);
270
+ } else {
271
+ const validateEntityResult = validator(handleModels, rules, null, null, true);
272
+ if (validateEntityResult === true) {
273
+ const validateResult = validateSubTables(pageContext);
274
+ if (validateResult === true) {
275
+ if (Object.keys(handleModels).indexOf("validateErrorField") >= 0) {
276
+ delete handleModels.validateErrorField;
277
+ }
278
+ resolve(handleModels);
279
+ } else {
280
+ reject(
281
+ new Error(
282
+ util.getI18n().t("superPageRuntimeMessage.tableListSubTableDataVerificationFailed")
283
+ ).message
284
+ );
285
+ }
286
+ } else {
287
+ reject(new Error(util.getI18n().t("superPageRuntimeMessage.formDataVerificationFailed")).message);
288
+ }
289
+ }
290
+ });
291
+ }
292
+ function packageCustomRules(orgCustomRules, orgRules) {
293
+ if (!orgCustomRules || !orgRules) {
294
+ return;
295
+ }
296
+ const customRulesKeys = Object.keys(orgCustomRules);
297
+ const customRules = orgCustomRules;
298
+ customRulesKeys.forEach((key) => {
299
+ if (key === "__subRules") {
300
+ const subRules = customRules["__subRules"];
301
+ const customSubTableKey = Object.keys(subRules);
302
+ customSubTableKey.forEach((subTableKey) => {
303
+ if (!orgRules.subRules) {
304
+ orgRules["subRules"] = {};
305
+ }
306
+ if (orgRules.subRules[subTableKey]) {
307
+ Object.assign(orgRules.subRules[subTableKey], subRules[subTableKey]);
308
+ } else {
309
+ orgRules.subRules[subTableKey] = subRules[subTableKey];
310
+ }
311
+ });
312
+ } else {
313
+ orgRules[key] = customRules[key];
314
+ }
315
+ });
316
+ return sublistVerify(orgRules);
317
+ }
318
+ function validateSubTables(pageContext) {
319
+ if (!pageContext) {
320
+ return;
321
+ }
322
+ const tableUuidArr = pageContext.tableUuids;
323
+ if (!tableUuidArr) {
324
+ return;
325
+ }
326
+ for (let i = 0; i < tableUuidArr.length; i++) {
327
+ const tableUuid = tableUuidArr[i];
328
+ const refDom = globalRefs.getComponentRef(pageContext, tableUuid);
329
+ if (refDom) {
330
+ const flag = refDom.validatorSunTableListData();
331
+ if (!flag) {
332
+ return false;
333
+ }
334
+ }
335
+ }
336
+ return true;
337
+ }
338
+ function i18nValidateRulesMessage(rules) {
339
+ if (!rules || Object.keys(rules).length === 0) {
340
+ return;
341
+ }
342
+ const newRules = {};
343
+ const propNames = Object.keys(rules);
344
+ for (let i = 0; i < propNames.length; i++) {
345
+ const propName = propNames[i];
346
+ const propRules = rules[propName];
347
+ propRules.forEach((rule) => {
348
+ const label = rule["label"];
349
+ const i18nLabel = util.getI18n().t(label);
350
+ if (rule["required"]) {
351
+ rule["message"] = util.getI18n().t("superPageRuntimeMessage.required", { label: i18nLabel });
352
+ }
353
+ if (rule["myType"]) {
354
+ rule["message"] = util.getI18n().t("superPageRuntimeMessage.formatMismatch", {
355
+ label: i18nLabel
356
+ });
357
+ }
358
+ if (rule["patternType"]) {
359
+ rule["message"] = util.getI18n().t("superPageRuntimeMessage.formatMismatch", {
360
+ label: i18nLabel
361
+ });
362
+ }
363
+ if (rule["max"] !== void 0 && rule["max"] !== null) {
364
+ rule["message"] = util.getI18n().t("superPageRuntimeMessage.overMaxLength", {
365
+ label: i18nLabel,
366
+ value: rule["max"]
367
+ });
368
+ }
369
+ if (rule["min"] !== void 0 && rule["min"] !== null) {
370
+ rule["message"] = util.getI18n().t("superPageRuntimeMessage.limitMinLength", {
371
+ label: i18nLabel,
372
+ value: rule["min"]
373
+ });
374
+ }
375
+ });
376
+ if (propName.indexOf(".") > 0) {
377
+ setObjectPropRule(propName, newRules, propRules);
378
+ } else {
379
+ if (propRules && propRules.length > 0) {
380
+ newRules[propName] = [...propRules];
381
+ }
382
+ }
383
+ }
384
+ return newRules;
385
+ }
386
+ exports.i18nValidateRulesMessage = i18nValidateRulesMessage;
387
+ exports.setObjectPropRule = setObjectPropRule;
388
+ exports.validateDataModelFunc = validateDataModelFunc;
389
+ exports.validator = validator;
@@ -0,0 +1,59 @@
1
+ import { PageContext } from './interfaces/page-design-types';
2
+
3
+ declare global {
4
+ interface Window {
5
+ globalRefs: any;
6
+ }
7
+ }
8
+ /**
9
+ * 添加组件引用对象
10
+ * @param pageContext 页面运行时对象
11
+ * @param componentIndex 对象ID
12
+ * @param refObj 引用对象
13
+ * @returns
14
+ */
15
+ export declare function addComponentRef(pageContext: PageContext, componentUuid: string, refObj: any): any;
16
+ /**
17
+ * 添加组件引用对象
18
+ * @param pageContext 页面运行时对象
19
+ * @param componentIndex 对象ID
20
+ * @param refObj 引用对象
21
+ * @returns
22
+ */
23
+ export declare function addComponentRefByCode(pageContext: PageContext, componentCode: string, refObj: any): any;
24
+ /**
25
+ * 获取组件引用对象
26
+ * @param pageDesign 页面设计对象
27
+ * @param componentIndex 对象ID
28
+ * @returns
29
+ */
30
+ export declare function getComponentRef(pageContext: PageContext, componentUuid: string): any;
31
+ /**
32
+ * 根据编码获取组件引用对象
33
+ * @param pageDesign 页面设计对象
34
+ * @param componentCode 对象code
35
+ * @returns
36
+ */
37
+ export declare function getComponentRefByCode(pageContext: PageContext, componentCode: string): any;
38
+ /**
39
+ * 移除组件引用对象
40
+ * @param pageDesign 页面设计对象
41
+ * @param componentIndex 对象ID
42
+ * @param refObj 引用对象
43
+ * @returns
44
+ */
45
+ export declare function removeComponentRef(pageContext: PageContext, componentUuid: string): any;
46
+ /**
47
+ * 移除页面所有引用
48
+ * @param pageDesign 页面设计对象
49
+ * @param componentIndex 对象ID
50
+ * @param refObj 引用对象
51
+ * @returns
52
+ */
53
+ export declare function removePageAllRef(pageContext: PageContext): void;
54
+ /**
55
+ * 初始化页面引用对象
56
+ * @param pageCode
57
+ * @param pageVersion
58
+ */
59
+ export declare function initComponentRefState(pageContext: PageContext): void;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ require("vue");
4
+ if (!window["globalRefs"]) {
5
+ window["globalRefs"] = {};
6
+ }
7
+ const globalRefs = window["globalRefs"];
8
+ function addComponentRef(pageContext, componentUuid, refObj) {
9
+ if (!pageContext) {
10
+ return;
11
+ }
12
+ const cacheKey = getPageRefKey(pageContext.code, pageContext.version);
13
+ if (!globalRefs[cacheKey]) {
14
+ globalRefs[cacheKey] = {};
15
+ }
16
+ globalRefs[cacheKey][componentUuid] = refObj;
17
+ return globalRefs[cacheKey];
18
+ }
19
+ function addComponentRefByCode(pageContext, componentCode, refObj) {
20
+ if (!pageContext) {
21
+ return;
22
+ }
23
+ const cacheKey = getPageRefKeyByCode(pageContext.code, pageContext.version);
24
+ if (!globalRefs[cacheKey]) {
25
+ globalRefs[cacheKey] = {};
26
+ }
27
+ globalRefs[cacheKey][componentCode] = refObj;
28
+ return globalRefs[cacheKey];
29
+ }
30
+ function getComponentRef(pageContext, componentUuid) {
31
+ if (!pageContext || !componentUuid) {
32
+ return;
33
+ }
34
+ const cacheKey = getPageRefKey(pageContext.code, pageContext.version);
35
+ if (!globalRefs[cacheKey]) {
36
+ globalRefs[cacheKey] = {};
37
+ }
38
+ const objRef = globalRefs[cacheKey][componentUuid];
39
+ return objRef ? objRef.value : objRef;
40
+ }
41
+ function removePageAllRef(pageContext) {
42
+ if (!pageContext) {
43
+ return;
44
+ }
45
+ const cacheKey = getPageRefKey(pageContext.code, pageContext.version);
46
+ globalRefs[cacheKey] = {};
47
+ }
48
+ function initComponentRefState(pageContext) {
49
+ if (!pageContext) {
50
+ return;
51
+ }
52
+ const cacheKey = getPageRefKey(pageContext.code, pageContext.version);
53
+ globalRefs[cacheKey] = {};
54
+ }
55
+ function getPageRefKey(pageCode, pageVersion) {
56
+ return "pageRuntimeRef-" + pageCode + "-" + (pageVersion ? pageVersion : 1);
57
+ }
58
+ function getPageRefKeyByCode(pageCode, pageVersion) {
59
+ return getPageRefKey(pageCode, pageVersion) + "-code";
60
+ }
61
+ exports.addComponentRef = addComponentRef;
62
+ exports.addComponentRefByCode = addComponentRefByCode;
63
+ exports.getComponentRef = getComponentRef;
64
+ exports.initComponentRefState = initComponentRefState;
65
+ exports.removePageAllRef = removePageAllRef;