@epxing/utils 0.0.0-stage → 5.3.0-beta.2

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 (230) hide show
  1. package/API.md +602 -0
  2. package/README.md +22 -2
  3. package/dist/_vendor/.pnpm/jsencrypt@3.5.4/_vendor/jsencrypt/bin/jsencrypt.min.js +1691 -0
  4. package/dist/_virtual/_commonjsHelpers.js +6 -0
  5. package/dist/_virtual/jsencrypt.min.js +31 -0
  6. package/dist/_virtual/jsencrypt.min2.js +4 -0
  7. package/dist/_virtual/preload-helper.js +88 -0
  8. package/dist/assets/ai-BBFn3QRy.png +0 -0
  9. package/dist/assets/ai_import-BxQ7Ohn6.png +0 -0
  10. package/dist/assets/app-DBNIokDP.png +0 -0
  11. package/dist/assets/approval-DGcBv-re.png +0 -0
  12. package/dist/assets/create_market_system-BH__UVbt.png +0 -0
  13. package/dist/assets/create_system-irg--ePh.png +0 -0
  14. package/dist/assets/custom-C-ujlHz1.png +0 -0
  15. package/dist/assets/default-icon-2193FMjv.png +0 -0
  16. package/dist/assets/ex_link-4fYPd9nh.png +0 -0
  17. package/dist/assets/excel-BYqRm2Y8.png +0 -0
  18. package/dist/assets/folder-CFVsNbjj.png +0 -0
  19. package/dist/assets/form-DD9HV-jN.png +0 -0
  20. package/dist/assets/import-tfKWbWVS.png +0 -0
  21. package/dist/assets/meta-Qorpi70B.png +0 -0
  22. package/dist/assets/module-DQrs7VAS.png +0 -0
  23. package/dist/assets/null-B2An29h4.png +0 -0
  24. package/dist/assets/option-CG02tIgh.svg +1 -0
  25. package/dist/assets/photo-uscRzRXF.png +0 -0
  26. package/dist/assets/process-Dcndu9m2.png +0 -0
  27. package/dist/assets/rule-DcYhYse0.png +0 -0
  28. package/dist/assets/service-CLYLpPl3.png +0 -0
  29. package/dist/assets/single_file-B3TJtJli.png +0 -0
  30. package/dist/assets/snapshot-history-BsVY9cVj.png +0 -0
  31. package/dist/assets/snapshot-manual-DBRfFHYI.png +0 -0
  32. package/dist/assets/snapshot-realtime-DjHnJI6C.png +0 -0
  33. package/dist/assets/staff-Bn_-_00l.png +0 -0
  34. package/dist/assets/sync_append-Bm8mtvZs.png +0 -0
  35. package/dist/assets/sync_append_update-DzjxqJ_U.png +0 -0
  36. package/dist/assets/sync_loading-D7LoNPFP.png +0 -0
  37. package/dist/assets/sync_replace-Cbbzz327.png +0 -0
  38. package/dist/assets/sync_update-Birao6Cr.png +0 -0
  39. package/dist/assets/userRole-D1LAdM6N.png +0 -0
  40. package/dist/assets/user_bg-BFHtaZjz.png +0 -0
  41. package/dist/src/Config.js +25 -0
  42. package/dist/src/asset-images.js +125 -0
  43. package/dist/src/assets/images/add.png.js +4 -0
  44. package/dist/src/assets/images/ai-button.png.js +4 -0
  45. package/dist/src/assets/images/ai.png.js +4 -0
  46. package/dist/src/assets/images/ai_import.png.js +4 -0
  47. package/dist/src/assets/images/app.png.js +4 -0
  48. package/dist/src/assets/images/approval.png.js +4 -0
  49. package/dist/src/assets/images/book.png.js +4 -0
  50. package/dist/src/assets/images/canvas-editor/alignment.svg.js +4 -0
  51. package/dist/src/assets/images/canvas-editor/arrow-left.svg.js +4 -0
  52. package/dist/src/assets/images/canvas-editor/arrow-right.svg.js +4 -0
  53. package/dist/src/assets/images/canvas-editor/block.svg.js +4 -0
  54. package/dist/src/assets/images/canvas-editor/bold.svg.js +4 -0
  55. package/dist/src/assets/images/canvas-editor/catalog.svg.js +4 -0
  56. package/dist/src/assets/images/canvas-editor/center.svg.js +4 -0
  57. package/dist/src/assets/images/canvas-editor/checkbox.svg.js +4 -0
  58. package/dist/src/assets/images/canvas-editor/close.svg.js +4 -0
  59. package/dist/src/assets/images/canvas-editor/codeblock.svg.js +4 -0
  60. package/dist/src/assets/images/canvas-editor/color.svg.js +4 -0
  61. package/dist/src/assets/images/canvas-editor/control.svg.js +4 -0
  62. package/dist/src/assets/images/canvas-editor/date.svg.js +4 -0
  63. package/dist/src/assets/images/canvas-editor/exit-fullscreen.svg.js +4 -0
  64. package/dist/src/assets/images/canvas-editor/format.svg.js +4 -0
  65. package/dist/src/assets/images/canvas-editor/highlight.svg.js +4 -0
  66. package/dist/src/assets/images/canvas-editor/hyperlink.svg.js +4 -0
  67. package/dist/src/assets/images/canvas-editor/image.svg.js +4 -0
  68. package/dist/src/assets/images/canvas-editor/italic.svg.js +4 -0
  69. package/dist/src/assets/images/canvas-editor/justify.svg.js +4 -0
  70. package/dist/src/assets/images/canvas-editor/latex.svg.js +4 -0
  71. package/dist/src/assets/images/canvas-editor/left.svg.js +4 -0
  72. package/dist/src/assets/images/canvas-editor/line-dash-dot-dot.svg.js +4 -0
  73. package/dist/src/assets/images/canvas-editor/line-dash-dot.svg.js +4 -0
  74. package/dist/src/assets/images/canvas-editor/line-dash-large-gap.svg.js +4 -0
  75. package/dist/src/assets/images/canvas-editor/line-dash-small-gap.svg.js +4 -0
  76. package/dist/src/assets/images/canvas-editor/line-dot.svg.js +4 -0
  77. package/dist/src/assets/images/canvas-editor/line-double.svg.js +4 -0
  78. package/dist/src/assets/images/canvas-editor/line-single.svg.js +4 -0
  79. package/dist/src/assets/images/canvas-editor/line-wavy.svg.js +4 -0
  80. package/dist/src/assets/images/canvas-editor/list.svg.js +4 -0
  81. package/dist/src/assets/images/canvas-editor/option.svg.js +4 -0
  82. package/dist/src/assets/images/canvas-editor/page-break.svg.js +4 -0
  83. package/dist/src/assets/images/canvas-editor/page-mode.svg.js +4 -0
  84. package/dist/src/assets/images/canvas-editor/page-scale-add.svg.js +4 -0
  85. package/dist/src/assets/images/canvas-editor/page-scale-minus.svg.js +4 -0
  86. package/dist/src/assets/images/canvas-editor/painter.svg.js +4 -0
  87. package/dist/src/assets/images/canvas-editor/paper-direction.svg.js +4 -0
  88. package/dist/src/assets/images/canvas-editor/paper-margin.svg.js +4 -0
  89. package/dist/src/assets/images/canvas-editor/paper-size.svg.js +4 -0
  90. package/dist/src/assets/images/canvas-editor/print.svg.js +4 -0
  91. package/dist/src/assets/images/canvas-editor/radio.svg.js +4 -0
  92. package/dist/src/assets/images/canvas-editor/redo.svg.js +4 -0
  93. package/dist/src/assets/images/canvas-editor/request-fullscreen.svg.js +4 -0
  94. package/dist/src/assets/images/canvas-editor/right.svg.js +4 -0
  95. package/dist/src/assets/images/canvas-editor/row-margin.svg.js +4 -0
  96. package/dist/src/assets/images/canvas-editor/search.svg.js +4 -0
  97. package/dist/src/assets/images/canvas-editor/separator.svg.js +4 -0
  98. package/dist/src/assets/images/canvas-editor/signature-undo.svg.js +4 -0
  99. package/dist/src/assets/images/canvas-editor/signature.svg.js +4 -0
  100. package/dist/src/assets/images/canvas-editor/size-add.svg.js +4 -0
  101. package/dist/src/assets/images/canvas-editor/size-minus.svg.js +4 -0
  102. package/dist/src/assets/images/canvas-editor/strikeout.svg.js +4 -0
  103. package/dist/src/assets/images/canvas-editor/subscript.svg.js +4 -0
  104. package/dist/src/assets/images/canvas-editor/superscript.svg.js +4 -0
  105. package/dist/src/assets/images/canvas-editor/table.svg.js +4 -0
  106. package/dist/src/assets/images/canvas-editor/title.svg.js +4 -0
  107. package/dist/src/assets/images/canvas-editor/trash.svg.js +4 -0
  108. package/dist/src/assets/images/canvas-editor/underline.svg.js +4 -0
  109. package/dist/src/assets/images/canvas-editor/undo.svg.js +4 -0
  110. package/dist/src/assets/images/canvas-editor/watermark.svg.js +4 -0
  111. package/dist/src/assets/images/canvas-editor/word-tool.svg.js +4 -0
  112. package/dist/src/assets/images/clear.png.js +4 -0
  113. package/dist/src/assets/images/create_market_system.png.js +4 -0
  114. package/dist/src/assets/images/create_system.png.js +4 -0
  115. package/dist/src/assets/images/custom.png.js +4 -0
  116. package/dist/src/assets/images/default-icon.png.js +4 -0
  117. package/dist/src/assets/images/ex_link.png.js +4 -0
  118. package/dist/src/assets/images/excel.png.js +4 -0
  119. package/dist/src/assets/images/file.png.js +4 -0
  120. package/dist/src/assets/images/folder.png.js +4 -0
  121. package/dist/src/assets/images/hall/form.png.js +4 -0
  122. package/dist/src/assets/images/hall/meta.png.js +4 -0
  123. package/dist/src/assets/images/hall/process.png.js +4 -0
  124. package/dist/src/assets/images/hall/rule.png.js +4 -0
  125. package/dist/src/assets/images/hall/service.png.js +4 -0
  126. package/dist/src/assets/images/hall/userRole.png.js +4 -0
  127. package/dist/src/assets/images/hr.png.js +4 -0
  128. package/dist/src/assets/images/import.png.js +4 -0
  129. package/dist/src/assets/images/jian.png.js +4 -0
  130. package/dist/src/assets/images/module.png.js +4 -0
  131. package/dist/src/assets/images/null.png.js +4 -0
  132. package/dist/src/assets/images/photo.png.js +4 -0
  133. package/dist/src/assets/images/qq.png.js +4 -0
  134. package/dist/src/assets/images/robot.png.js +4 -0
  135. package/dist/src/assets/images/single_file.png.js +4 -0
  136. package/dist/src/assets/images/snapshot-history.png.js +4 -0
  137. package/dist/src/assets/images/snapshot-manual.png.js +4 -0
  138. package/dist/src/assets/images/snapshot-realtime.png.js +4 -0
  139. package/dist/src/assets/images/staff.png.js +4 -0
  140. package/dist/src/assets/images/switch_app.png.js +4 -0
  141. package/dist/src/assets/images/sync_append.png.js +4 -0
  142. package/dist/src/assets/images/sync_append_update.png.js +4 -0
  143. package/dist/src/assets/images/sync_loading.png.js +4 -0
  144. package/dist/src/assets/images/sync_replace.png.js +4 -0
  145. package/dist/src/assets/images/sync_update.png.js +4 -0
  146. package/dist/src/assets/images/user_bg.png.js +4 -0
  147. package/dist/src/assets/images/weixin.png.js +4 -0
  148. package/dist/src/chart-config-update.js +17 -0
  149. package/dist/src/chart-data-adapters.js +112 -0
  150. package/dist/src/chart-option-override.js +128 -0
  151. package/dist/src/chart-option-paths.js +64 -0
  152. package/dist/src/chart-registry.js +46 -0
  153. package/dist/src/chart-render-host.js +57 -0
  154. package/dist/src/chart-request-broker.js +176 -0
  155. package/dist/src/chartTheme.js +683 -0
  156. package/dist/src/collection.js +25 -0
  157. package/dist/src/date-helper.js +60 -0
  158. package/dist/src/dom-helper.js +22 -0
  159. package/dist/src/eval-with.js +14 -0
  160. package/dist/src/fieldFactory.js +5 -0
  161. package/dist/src/formula.js +365 -0
  162. package/dist/src/hljs-lite.js +29 -0
  163. package/dist/src/index.js +24 -0
  164. package/dist/src/lazy-jsencrypt.js +13 -0
  165. package/dist/src/legacy.js +25 -0
  166. package/dist/src/locale.js +88 -0
  167. package/dist/src/menu-open.js +43 -0
  168. package/dist/src/mermaid.js +79 -0
  169. package/dist/src/meta.js +4 -0
  170. package/dist/src/mobile-chart-appearance.js +148 -0
  171. package/dist/src/moment-compat.js +558 -0
  172. package/dist/src/nav-history.js +184 -0
  173. package/dist/src/page.js +116 -0
  174. package/dist/src/pdf.viewer.js +4 -0
  175. package/dist/src/placeholder.js +64 -0
  176. package/dist/src/public.js +49 -0
  177. package/dist/src/security.js +26 -0
  178. package/dist/src/storage.js +107 -0
  179. package/dist/src/token-storage.js +108 -0
  180. package/dist/src/util.js +4 -0
  181. package/package.json +109 -3
  182. package/src/Config.js +25 -0
  183. package/src/asset-images.js +16 -0
  184. package/src/chart-config-update.js +16 -0
  185. package/src/chart-data-adapters.js +106 -0
  186. package/src/chart-option-override.js +126 -0
  187. package/src/chart-option-paths.js +63 -0
  188. package/src/chart-registry.js +41 -0
  189. package/src/chart-render-host.js +56 -0
  190. package/src/chart-request-broker.js +171 -0
  191. package/src/chartTheme.js +711 -0
  192. package/src/collection.js +28 -0
  193. package/src/date-helper.js +72 -0
  194. package/src/dom-helper.js +26 -0
  195. package/src/eval-with.js +21 -0
  196. package/src/fieldFactory.js +3 -0
  197. package/src/formula.js +362 -0
  198. package/src/hljs-lite.js +41 -0
  199. package/src/index.js +2 -0
  200. package/src/lazy-jsencrypt.js +36 -0
  201. package/src/legacy.js +29 -0
  202. package/src/locale.js +104 -0
  203. package/src/menu-open.js +72 -0
  204. package/src/mermaid.js +115 -0
  205. package/src/meta.js +2 -0
  206. package/src/mobile-chart-appearance.js +147 -0
  207. package/src/moment-compat.d.ts +91 -0
  208. package/src/moment-compat.js +744 -0
  209. package/src/nav-history.js +274 -0
  210. package/src/page.js +129 -0
  211. package/src/pdf.viewer.js +2 -0
  212. package/src/placeholder.js +107 -0
  213. package/src/public.js +11 -0
  214. package/src/security.js +29 -0
  215. package/src/storage.js +135 -0
  216. package/src/token-storage.js +120 -0
  217. package/src/util.js +2 -0
  218. package/types/Config.d.ts +4 -0
  219. package/types/collection.d.ts +40 -0
  220. package/types/date-helper.d.ts +11 -0
  221. package/types/date-time.d.ts +2 -0
  222. package/types/date.d.ts +1 -0
  223. package/types/dom-helper.d.ts +3 -0
  224. package/types/dom.d.ts +1 -0
  225. package/types/index.d.ts +1 -0
  226. package/types/moment-compat.d.ts +91 -0
  227. package/types/page.d.ts +56 -0
  228. package/types/placeholder.d.ts +42 -0
  229. package/types/public.d.ts +10 -0
  230. package/types/storage.d.ts +31 -0
@@ -0,0 +1,60 @@
1
+ function isDate(date) {
2
+ if (date === null || date === void 0) return false;
3
+ if (isNaN(new Date(date).getTime())) return false;
4
+ if (Array.isArray(date)) return false;
5
+ return true;
6
+ }
7
+ function getDayCountOfMonth(year, month) {
8
+ if (isNaN(+month)) return 31;
9
+ return new Date(year, +month + 1, 0).getDate();
10
+ }
11
+ function getDayCountOfYear(year) {
12
+ const isLeapYear = year % 400 === 0 || year % 100 !== 0 && year % 4 === 0;
13
+ return isLeapYear ? 366 : 365;
14
+ }
15
+ function nextDate(date, amount = 1) {
16
+ return new Date(date.getFullYear(), date.getMonth(), date.getDate() + amount);
17
+ }
18
+ function changeYearMonthAndClampDate(date, year, month) {
19
+ const monthDate = Math.min(date.getDate(), getDayCountOfMonth(year, month));
20
+ return modifyDate(date, year, month, monthDate);
21
+ }
22
+ function nextMonth(date) {
23
+ const year = date.getFullYear();
24
+ const month = date.getMonth();
25
+ return month === 11 ? changeYearMonthAndClampDate(date, year + 1, 0) : changeYearMonthAndClampDate(date, year, month + 1);
26
+ }
27
+ function prevYear(date, amount = 1) {
28
+ return changeYearMonthAndClampDate(date, date.getFullYear() - amount, date.getMonth());
29
+ }
30
+ function nextYear(date, amount = 1) {
31
+ return changeYearMonthAndClampDate(date, date.getFullYear() + amount, date.getMonth());
32
+ }
33
+ function range(n) {
34
+ return Array.apply(null, { length: n }).map((_, i) => i);
35
+ }
36
+ function modifyDate(date, y, m, d) {
37
+ return new Date(y, m, d, date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());
38
+ }
39
+ function modifyTime(date, h, m, s) {
40
+ return new Date(date.getFullYear(), date.getMonth(), date.getDate(), h, m, s, date.getMilliseconds());
41
+ }
42
+ function modifyWithTimeString(date, time) {
43
+ if (date == null || !time) return date;
44
+ const m = /^(\d{1,2}):(\d{1,2}):(\d{1,2})/.exec(String(time));
45
+ if (!m) return date;
46
+ return modifyTime(date, Number(m[1]), Number(m[2]), Number(m[3]));
47
+ }
48
+ export {
49
+ getDayCountOfMonth,
50
+ getDayCountOfYear,
51
+ isDate,
52
+ modifyDate,
53
+ modifyTime,
54
+ modifyWithTimeString,
55
+ nextDate,
56
+ nextMonth,
57
+ nextYear,
58
+ prevYear,
59
+ range
60
+ };
@@ -0,0 +1,22 @@
1
+ function hasClass(el, cls) {
2
+ if (!el || !cls) return false;
3
+ if (cls.indexOf(" ") !== -1) throw new Error("className should not contain space.");
4
+ if (el.classList) return el.classList.contains(cls);
5
+ return (" " + el.className + " ").indexOf(" " + cls + " ") > -1;
6
+ }
7
+ function arrayFindIndex(arr, pred) {
8
+ for (let i = 0; i !== arr.length; ++i) {
9
+ if (pred(arr[i])) return i;
10
+ }
11
+ return -1;
12
+ }
13
+ function coerceTruthyValueToArray(val) {
14
+ if (Array.isArray(val)) return val;
15
+ if (val) return [val];
16
+ return [];
17
+ }
18
+ export {
19
+ arrayFindIndex,
20
+ coerceTruthyValueToArray,
21
+ hasClass
22
+ };
@@ -0,0 +1,14 @@
1
+ const cache = /* @__PURE__ */ new Map();
2
+ function evalWith(expr, scope = {}, thisArg) {
3
+ const names = Object.keys(scope);
4
+ const key = names.join(",");
5
+ let fn = cache.get(key);
6
+ if (!fn) {
7
+ fn = new Function(...names, "__expr__", "return eval(__expr__)");
8
+ cache.set(key, fn);
9
+ }
10
+ return fn.call(thisArg, ...names.map((name) => scope[name]), expr);
11
+ }
12
+ export {
13
+ evalWith
14
+ };
@@ -0,0 +1,5 @@
1
+ export * from "@epxing/core/src/runtime-utils/fieldFactory";
2
+ import { default as default2 } from "@epxing/core/src/runtime-utils/fieldFactory";
3
+ export {
4
+ default2 as default
5
+ };
@@ -0,0 +1,365 @@
1
+ import { createMoment as momentCompat } from "./moment-compat.js";
2
+ import { every, filter, find, get, map, nth, orderBy, set, size, some } from "lodash-es";
3
+ const EQ = (v1, v2) => v1 === v2;
4
+ const NE = (v1, v2) => v1 !== v2;
5
+ const LT = (v1, v2, type) => {
6
+ if (type === "date") {
7
+ return momentCompat(v1).isBefore(v2);
8
+ } else {
9
+ return v1 < v2;
10
+ }
11
+ };
12
+ const LE = (v1, v2, type) => {
13
+ if (type === "date") {
14
+ return momentCompat(v1).isSameOrBefore(v2);
15
+ } else {
16
+ return v1 <= v2;
17
+ }
18
+ };
19
+ const GT = (v1, v2, type) => {
20
+ if (type === "date") {
21
+ return momentCompat(v1).isAfter(v2);
22
+ } else {
23
+ return v1 > v2;
24
+ }
25
+ };
26
+ const GE = (v1, v2, type) => {
27
+ if (type === "date") {
28
+ return momentCompat(v1).isSameOrAfter(v2);
29
+ } else {
30
+ return v1 >= v2;
31
+ }
32
+ };
33
+ const AND = (...logical) => {
34
+ return logical.every((item) => item);
35
+ };
36
+ const OR = (...logical) => {
37
+ return logical.some((item) => item);
38
+ };
39
+ const NOT = (logical) => {
40
+ return !logical;
41
+ };
42
+ const IN = (v1, ...v2) => {
43
+ if (v2.length === 0) return false;
44
+ if (v2.length > 1) {
45
+ return v2.includes(v1);
46
+ } else {
47
+ return v2[0].split(",").includes(v1);
48
+ }
49
+ };
50
+ const IN_TEXT = (v1, v2) => {
51
+ return v2.includes(v1);
52
+ };
53
+ const IF = (v1, v2, v3) => {
54
+ return v1 ? v2 : v3;
55
+ };
56
+ const ISEMPTY = (v1) => {
57
+ return v1 === "" || v1 === null || v1 === void 0;
58
+ };
59
+ const SUM = (v1, v2) => {
60
+ return v1 + v2;
61
+ };
62
+ const SUBTRACT = (v1, v2) => {
63
+ return v1 - v2;
64
+ };
65
+ const PRODUCT = (v1, v2) => {
66
+ return v1 * v2;
67
+ };
68
+ const DIVIDED = (v1, v2) => {
69
+ return v1 / v2;
70
+ };
71
+ const MOD = (v1, v2) => {
72
+ return v1 % v2;
73
+ };
74
+ const POW = (v1, v2) => {
75
+ return Math.pow(v1, v2);
76
+ };
77
+ const MAX = (...v1) => {
78
+ return Math.max(...v1);
79
+ };
80
+ const MIN = (...v1) => {
81
+ return Math.min(...v1);
82
+ };
83
+ const ABS = (v1) => {
84
+ return Math.abs(v1);
85
+ };
86
+ const FLOOR = (v1) => {
87
+ return Math.floor(v1);
88
+ };
89
+ const CEIL = (v1) => {
90
+ return Math.ceil(v1);
91
+ };
92
+ const ROUND = (v1) => {
93
+ return Math.round(v1);
94
+ };
95
+ const RANDOM = (v1, v2) => {
96
+ return Math.floor(Math.random() * (v2 - v1 + 1) + v1);
97
+ };
98
+ const AVERAGE = (...v1) => {
99
+ return v1.reduce((a, b) => a + b) / v1.length;
100
+ };
101
+ const DATE_SUBTRACT = (v1, v2, unit = "days") => {
102
+ return momentCompat(v1).subtract(v2, unit);
103
+ };
104
+ const DATE_ADD = (v1, v2, unit = "days") => {
105
+ return momentCompat(v1).add(v2, unit);
106
+ };
107
+ const DATE_FORMAT = (v1, format = "YYYY-MM-DD") => {
108
+ return momentCompat(v1).format(format);
109
+ };
110
+ const FORMAT_DATE = (v1, format = "YYYY-MM-DD") => {
111
+ return momentCompat(v1).format(format);
112
+ };
113
+ const DATEDIF = (v1, v2, unit = "days") => {
114
+ return momentCompat(v1).diff(v2, unit);
115
+ };
116
+ const NOW = (format = "YYYY-MM-DD HH:mm:ss") => {
117
+ return momentCompat().format(format);
118
+ };
119
+ const GET_DATE = (v1, unit) => {
120
+ return momentCompat(v1).get(unit);
121
+ };
122
+ const CONCATENATE = (...v1) => {
123
+ return v1.join("");
124
+ };
125
+ const VALUE = (v1) => {
126
+ return Number(v1);
127
+ };
128
+ const LEN = (v1) => {
129
+ return v1.length;
130
+ };
131
+ const REPLACE_STR = (v1, v2, v3) => {
132
+ return v1.replace(v2, v3);
133
+ };
134
+ const SUBSTRING = (v1, v2, v3) => {
135
+ return v1.substr(v2, v3);
136
+ };
137
+ const UPPER = (v1) => {
138
+ return v1.toUpperCase();
139
+ };
140
+ const LOWER = (v1) => {
141
+ return v1.toLowerCase();
142
+ };
143
+ const TRIM = (v1) => {
144
+ return v1.trim();
145
+ };
146
+ const TEXT = (v1) => {
147
+ return v1.toString();
148
+ };
149
+ const REPLACE = (v1, v2, v3, newtext) => {
150
+ const startPart = v1.slice(0, v2);
151
+ const endPart = v1.slice(v2 + v3);
152
+ return startPart + newtext + endPart;
153
+ };
154
+ const GET = (object, path, defaultValue) => {
155
+ return get(object, path, defaultValue || "");
156
+ };
157
+ const SET = (object, path, defaultValue) => {
158
+ return set(object, path, defaultValue || "");
159
+ };
160
+ const KEYS = (object) => {
161
+ return Object.keys(object);
162
+ };
163
+ const VALUES = (object) => {
164
+ return Object.values(object);
165
+ };
166
+ const CONDITION_EXPRESSION_RE = /[=<>!&|(]/;
167
+ const IDENTIFIER_RE = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
168
+ const IDENTIFIER_ALL_RE = /[A-Za-z_$][A-Za-z0-9_$]*/g;
169
+ const RESERVED_WORDS = ["true", "false", "null", "undefined", "NaN", "Infinity", "this", "typeof", "instanceof", "in", "of", "new", "delete", "void", "function", "return", "var", "let", "const", "if", "else", "do", "while", "for", "break", "continue", "switch", "case", "default", "try", "catch", "finally", "throw", "class", "super", "yield", "await", "item"];
170
+ const conditionCache = {};
171
+ const conditionErrorLogged = {};
172
+ let conditionHelpers = null;
173
+ const getConditionHelpers = () => {
174
+ if (!conditionHelpers) {
175
+ const library = {
176
+ EQ,
177
+ NE,
178
+ LT,
179
+ LE,
180
+ GT,
181
+ GE,
182
+ AND,
183
+ OR,
184
+ NOT,
185
+ IN,
186
+ IN_TEXT,
187
+ IF,
188
+ ISEMPTY,
189
+ ABS,
190
+ MAX,
191
+ MIN,
192
+ ROUND,
193
+ FLOOR,
194
+ CEIL,
195
+ MOD,
196
+ POW,
197
+ SUM,
198
+ SUBTRACT,
199
+ PRODUCT,
200
+ DIVIDED,
201
+ AVERAGE,
202
+ VALUE,
203
+ CONCATENATE,
204
+ LEN,
205
+ TEXT,
206
+ UPPER,
207
+ LOWER,
208
+ TRIM,
209
+ SUBSTRING,
210
+ REPLACE_STR,
211
+ NOW,
212
+ DATE_FORMAT,
213
+ FORMAT_DATE,
214
+ DATEDIF,
215
+ DATE_ADD,
216
+ DATE_SUBTRACT,
217
+ GET_DATE,
218
+ GET,
219
+ KEYS,
220
+ VALUES,
221
+ SIZE,
222
+ MAP,
223
+ JOIN,
224
+ NTH,
225
+ FILTER,
226
+ FIND,
227
+ EVERY,
228
+ SOME
229
+ };
230
+ conditionHelpers = { names: Object.keys(library), values: Object.values(library) };
231
+ }
232
+ return conditionHelpers;
233
+ };
234
+ const compileCondition = (cacheKey, expression, fields) => {
235
+ if (!conditionCache[cacheKey]) {
236
+ const helpers = getConditionHelpers();
237
+ const missing = (expression.match(IDENTIFIER_ALL_RE) || []).filter((name) => {
238
+ return !fields.includes(name) && !helpers.names.includes(name) && !RESERVED_WORDS.includes(name);
239
+ });
240
+ const placeholders = missing.filter((name, index) => missing.indexOf(name) === index);
241
+ try {
242
+ conditionCache[cacheKey] = new Function(...helpers.names, ...placeholders, "item", ...fields, `return (${expression})`);
243
+ conditionCache[cacheKey].placeholderCount = placeholders.length;
244
+ } catch (e) {
245
+ console.error(`[formula] 条件表达式有语法错误:${expression}`, e);
246
+ const invalid = () => false;
247
+ invalid.placeholderCount = 0;
248
+ conditionCache[cacheKey] = invalid;
249
+ }
250
+ }
251
+ return conditionCache[cacheKey];
252
+ };
253
+ const toIteratee = (iteratee) => {
254
+ if (typeof iteratee !== "string" || !CONDITION_EXPRESSION_RE.test(iteratee)) return iteratee;
255
+ return (item) => {
256
+ const source = item && typeof item === "object" ? item : {};
257
+ const fields = Object.keys(source).filter((key) => IDENTIFIER_RE.test(key));
258
+ const cacheKey = `${iteratee}
259
+ ${fields.join(",")}`;
260
+ const compiled = compileCondition(cacheKey, iteratee, fields);
261
+ const helpers = getConditionHelpers();
262
+ const placeholders = new Array(compiled.placeholderCount || 0).fill(void 0);
263
+ try {
264
+ return !!compiled(...helpers.values, ...placeholders, item, ...fields.map((key) => source[key]));
265
+ } catch (e) {
266
+ if (!conditionErrorLogged[cacheKey]) {
267
+ conditionErrorLogged[cacheKey] = true;
268
+ console.error(`[formula] 条件表达式执行出错:${iteratee}`, e);
269
+ }
270
+ return false;
271
+ }
272
+ };
273
+ };
274
+ const MAP = (array, iteratee) => {
275
+ return map(array, iteratee);
276
+ };
277
+ const SIZE = (array) => {
278
+ return size(array);
279
+ };
280
+ const JOIN = (array, separator = ",") => {
281
+ return array.join(separator);
282
+ };
283
+ const ORDER_BY = (array, iteratee, orders) => {
284
+ if (typeof iteratee === "string") {
285
+ iteratee = [iteratee];
286
+ }
287
+ if (typeof orders === "string") {
288
+ orders = [orders];
289
+ }
290
+ return orderBy(array, iteratee, orders);
291
+ };
292
+ const FILTER = (array, iteratee) => {
293
+ return filter(array, toIteratee(iteratee));
294
+ };
295
+ const FIND = (array, iteratee) => {
296
+ return find(array, toIteratee(iteratee));
297
+ };
298
+ const NTH = (array, n) => {
299
+ return nth(array, n);
300
+ };
301
+ const EVERY = (array, iteratee) => {
302
+ return every(array, toIteratee(iteratee));
303
+ };
304
+ const SOME = (array, iteratee) => {
305
+ return some(array, toIteratee(iteratee));
306
+ };
307
+ export {
308
+ ABS,
309
+ AND,
310
+ AVERAGE,
311
+ CEIL,
312
+ CONCATENATE,
313
+ DATEDIF,
314
+ DATE_ADD,
315
+ DATE_FORMAT,
316
+ DATE_SUBTRACT,
317
+ DIVIDED,
318
+ EQ,
319
+ EVERY,
320
+ FILTER,
321
+ FIND,
322
+ FLOOR,
323
+ FORMAT_DATE,
324
+ GE,
325
+ GET,
326
+ GET_DATE,
327
+ GT,
328
+ IF,
329
+ IN,
330
+ IN_TEXT,
331
+ ISEMPTY,
332
+ JOIN,
333
+ KEYS,
334
+ LE,
335
+ LEN,
336
+ LOWER,
337
+ LT,
338
+ MAP,
339
+ MAX,
340
+ MIN,
341
+ MOD,
342
+ NE,
343
+ NOT,
344
+ NOW,
345
+ NTH,
346
+ OR,
347
+ ORDER_BY,
348
+ POW,
349
+ PRODUCT,
350
+ RANDOM,
351
+ REPLACE,
352
+ REPLACE_STR,
353
+ ROUND,
354
+ SET,
355
+ SIZE,
356
+ SOME,
357
+ SUBSTRING,
358
+ SUBTRACT,
359
+ SUM,
360
+ TEXT,
361
+ TRIM,
362
+ UPPER,
363
+ VALUE,
364
+ VALUES
365
+ };
@@ -0,0 +1,29 @@
1
+ import hljs from "highlight.js/lib/core";
2
+ import { default as default2 } from "highlight.js/lib/core";
3
+ import json from "highlight.js/lib/languages/json";
4
+ import javascript from "highlight.js/lib/languages/javascript";
5
+ import typescript from "highlight.js/lib/languages/typescript";
6
+ import xml from "highlight.js/lib/languages/xml";
7
+ import css from "highlight.js/lib/languages/css";
8
+ import sql from "highlight.js/lib/languages/sql";
9
+ import java from "highlight.js/lib/languages/java";
10
+ import python from "highlight.js/lib/languages/python";
11
+ import bash from "highlight.js/lib/languages/bash";
12
+ import yaml from "highlight.js/lib/languages/yaml";
13
+ import markdown from "highlight.js/lib/languages/markdown";
14
+ hljs.registerLanguage("json", json);
15
+ hljs.registerLanguage("javascript", javascript);
16
+ hljs.registerLanguage("typescript", typescript);
17
+ hljs.registerLanguage("xml", xml);
18
+ hljs.registerLanguage("html", xml);
19
+ hljs.registerLanguage("css", css);
20
+ hljs.registerLanguage("sql", sql);
21
+ hljs.registerLanguage("java", java);
22
+ hljs.registerLanguage("python", python);
23
+ hljs.registerLanguage("bash", bash);
24
+ hljs.registerLanguage("shell", bash);
25
+ hljs.registerLanguage("yaml", yaml);
26
+ hljs.registerLanguage("markdown", markdown);
27
+ export {
28
+ default2 as default
29
+ };
@@ -0,0 +1,24 @@
1
+ import { pdfViewer } from "./legacy.js";
2
+ import { default as default2 } from "./Config.js";
3
+ import { default as default3 } from "./page.js";
4
+ import { default as default4 } from "@epxing/core/src/runtime-utils/fieldFactory";
5
+ import { default as default5 } from "@epxing/core/src/runtime-utils/meta";
6
+ import { default as default6 } from "@epxing/core/src/runtime-utils/pdf.viewer";
7
+ import { default as default7 } from "@epxing/core/src/axios";
8
+ import { default as default8 } from "@epxing/core/src/api";
9
+ import { default as default9 } from "@epxing/core/src/mixins/global";
10
+ import { default as default10 } from "./placeholder.js";
11
+ import { default as default11 } from "@epxing/core/src/runtime-utils/util";
12
+ export {
13
+ default2 as Config,
14
+ default4 as FieldFactory,
15
+ default5 as Meta,
16
+ default3 as Page,
17
+ default6 as PdfViewer,
18
+ default7 as axios,
19
+ default8 as http,
20
+ default9 as mixin,
21
+ pdfViewer,
22
+ default10 as placeholder,
23
+ default11 as util
24
+ };
@@ -0,0 +1,13 @@
1
+ import { __vitePreload as __epxPackagePreload } from "../_virtual/preload-helper.js";
2
+ let pending = null;
3
+ function loadJSEncrypt() {
4
+ if (pending) return pending;
5
+ pending = __epxPackagePreload(() => import("../_virtual/jsencrypt.min.js").then((n) => n.j), true ? [] : void 0, import.meta.url).then((mod) => mod.default || mod.JSEncrypt || mod).catch((err) => {
6
+ pending = null;
7
+ throw err;
8
+ });
9
+ return pending;
10
+ }
11
+ export {
12
+ loadJSEncrypt as default
13
+ };
@@ -0,0 +1,25 @@
1
+ import { default as default2 } from "@epxing/core/src/runtime-utils/util";
2
+ import { default as default3 } from "@epxing/core/src/axios";
3
+ import { default as default4 } from "./Config.js";
4
+ import { default as default5 } from "@epxing/core/src/runtime-utils/fieldFactory";
5
+ import { default as default6 } from "@epxing/core/src/runtime-utils/meta";
6
+ import { default as default7 } from "./page.js";
7
+ import { default as default8 } from "@epxing/core/src/api";
8
+ import { default as default9 } from "@epxing/core/src/mixins/global";
9
+ import PdfViewer from "@epxing/core/src/runtime-utils/pdf.viewer";
10
+ import { default as default10 } from "@epxing/core/src/runtime-utils/pdf.viewer";
11
+ import { default as default11 } from "./placeholder.js";
12
+ const pdfViewer = new PdfViewer();
13
+ export {
14
+ default4 as Config,
15
+ default5 as FieldFactory,
16
+ default6 as Meta,
17
+ default7 as Page,
18
+ default10 as PdfViewer,
19
+ default3 as axios,
20
+ default8 as http,
21
+ default9 as mixin,
22
+ pdfViewer,
23
+ default11 as placeholder,
24
+ default2 as util
25
+ };
@@ -0,0 +1,88 @@
1
+ import storage from "./storage.js";
2
+ const STANDARD_SEGMENT = /^[A-Za-z0-9_]+$/;
3
+ const LEGACY_LOCALES = {
4
+ "010": "zh-CN",
5
+ "011": "en-US"
6
+ };
7
+ function normalizeLocale(locale) {
8
+ return LEGACY_LOCALES[locale] || locale;
9
+ }
10
+ function languagePreferenceKey(clientCode) {
11
+ return `${clientCode || ""}-language`;
12
+ }
13
+ function configuredLocales(clientConfig = {}) {
14
+ const languages = String(clientConfig.LANGUAGES || "").split(",").map((value) => normalizeLocale(value.trim())).filter(Boolean);
15
+ const defaultLocale = normalizeLocale(clientConfig.LANGUAGE_DEFAULT || "zh-CN");
16
+ const supportedLocales = languages.length > 0 ? languages : [defaultLocale];
17
+ return {
18
+ enabled: clientConfig.LANGUAGE_FLAG === "1",
19
+ defaultLocale,
20
+ supportedLocales
21
+ };
22
+ }
23
+ function resolveCurrentLocale(clientConfig = {}, userInfo = {}) {
24
+ const clientCode = clientConfig.CODE || "";
25
+ const configuration = configuredLocales(clientConfig);
26
+ if (!configuration.enabled) return configuration.defaultLocale;
27
+ const preferred = normalizeLocale(storage.get(languagePreferenceKey(clientCode)) || userInfo.LANGUAGE);
28
+ const matched = configuration.supportedLocales.find((locale) => locale.toLowerCase() === String(preferred || "").toLowerCase());
29
+ return matched || configuration.defaultLocale;
30
+ }
31
+ function utf8Hex(value) {
32
+ return Array.from(new TextEncoder().encode(value)).map((byte) => byte.toString(16).padStart(2, "0")).join("");
33
+ }
34
+ function resourceSegment(value) {
35
+ const normalized = String(value || "").trim();
36
+ if (!normalized) throw new Error("国际化消息名称不能为空");
37
+ return STANDARD_SEGMENT.test(normalized) ? normalized.toLowerCase() : `x_${utf8Hex(normalized)}`;
38
+ }
39
+ function uiMessageResourceKey(messageName, systemId) {
40
+ const raw = String(messageName || "").trim().split(".");
41
+ while (raw.length > 0 && raw[raw.length - 1] === "") raw.pop();
42
+ const start = raw[0] && raw[0].toLowerCase() === "frame" ? 1 : 0;
43
+ const segments = raw.slice(start).map(resourceSegment);
44
+ if (segments.length === 1) segments.unshift(resourceSegment(systemId));
45
+ if (segments.length < 2) throw new Error(`国际化消息名称缺少有效语义段:${messageName}`);
46
+ return `page.${segments.join(".")}`;
47
+ }
48
+ function createUiMessageCatalog(rows = [], systemId) {
49
+ const fallbackMessages = {};
50
+ const aliases = {};
51
+ rows.forEach((row) => {
52
+ const name = String(row.NAME || "").trim();
53
+ if (!name) return;
54
+ const resourceKey = uiMessageResourceKey(name, systemId);
55
+ fallbackMessages[name] = row.CONTENT;
56
+ fallbackMessages[resourceKey] = row.CONTENT;
57
+ const keys = aliases[resourceKey] || (aliases[resourceKey] = []);
58
+ keys.push(name);
59
+ const source = String(row.CONTENT || "").trim();
60
+ if (source && source !== name && !Object.prototype.hasOwnProperty.call(fallbackMessages, source)) {
61
+ fallbackMessages[source] = row.CONTENT;
62
+ keys.push(source);
63
+ }
64
+ });
65
+ return { fallbackMessages, aliases };
66
+ }
67
+ function createRuntimeMessages(publishedMessages = {}, catalog = {}) {
68
+ const messages = { ...publishedMessages };
69
+ const aliases = catalog.aliases || {};
70
+ Object.keys(aliases).forEach((resourceKey) => {
71
+ if (!Object.prototype.hasOwnProperty.call(publishedMessages, resourceKey)) return;
72
+ aliases[resourceKey].forEach((key) => {
73
+ if (!Object.prototype.hasOwnProperty.call(messages, key)) {
74
+ messages[key] = publishedMessages[resourceKey];
75
+ }
76
+ });
77
+ });
78
+ return messages;
79
+ }
80
+ export {
81
+ configuredLocales,
82
+ createRuntimeMessages,
83
+ createUiMessageCatalog,
84
+ languagePreferenceKey,
85
+ normalizeLocale,
86
+ resolveCurrentLocale,
87
+ uiMessageResourceKey
88
+ };
@@ -0,0 +1,43 @@
1
+ const EXTERNAL_OPEN_TYPES = ["6", "7"];
2
+ function isExternalMenu(module) {
3
+ return !!module && EXTERNAL_OPEN_TYPES.indexOf(module.OPEN_TYPE) > -1;
4
+ }
5
+ function openExternalMenu(module, vm) {
6
+ if (!isExternalMenu(module)) return false;
7
+ if (module.OPEN_TYPE === "6") {
8
+ if (module.LINK_URL) window.open(module.LINK_URL);
9
+ return true;
10
+ }
11
+ if (!module.REFERENCE_APP) {
12
+ vm.$message.error("该菜单未配置目标应用");
13
+ return true;
14
+ }
15
+ const win = window.open("", "_blank");
16
+ vm.$http.get({
17
+ entityId: "FM_SERVICE",
18
+ id: module.REFERENCE_APP,
19
+ link: "system,system|client"
20
+ }).then((res) => {
21
+ const app = res && res.data || {};
22
+ const clientCode = app["SYSTEM|CLIENT|CODE"];
23
+ const systemCode = app["SYSTEM|CODE"];
24
+ if (!app.CODE || !systemCode || !clientCode) {
25
+ if (win) win.close();
26
+ vm.$message.error("没有找到该应用");
27
+ return;
28
+ }
29
+ const url = `${vm.$util.getRootPath()}/app/${clientCode}/${systemCode}/${app.CODE}`;
30
+ if (win) {
31
+ win.location = url;
32
+ } else {
33
+ window.open(url);
34
+ }
35
+ }).catch(() => {
36
+ if (win) win.close();
37
+ });
38
+ return true;
39
+ }
40
+ export {
41
+ isExternalMenu,
42
+ openExternalMenu
43
+ };