weaver-e10-builder 1.5.15 → 1.6.0

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 (300) hide show
  1. package/dist/commands/auth.d.ts.map +1 -1
  2. package/dist/commands/auth.js +4 -2
  3. package/dist/commands/auth.js.map +1 -1
  4. package/dist/commands/form-add-detail-table.d.ts.map +1 -1
  5. package/dist/commands/form-add-detail-table.js +37 -17
  6. package/dist/commands/form-add-detail-table.js.map +1 -1
  7. package/dist/commands/form-ebuilder-scope.d.ts +21 -0
  8. package/dist/commands/form-ebuilder-scope.d.ts.map +1 -1
  9. package/dist/commands/form-ebuilder-scope.js +41 -8
  10. package/dist/commands/form-ebuilder-scope.js.map +1 -1
  11. package/dist/commands/form-layout-code-reviewed.d.ts +3 -0
  12. package/dist/commands/form-layout-code-reviewed.d.ts.map +1 -0
  13. package/dist/commands/form-layout-code-reviewed.js +61 -0
  14. package/dist/commands/form-layout-code-reviewed.js.map +1 -0
  15. package/dist/commands/form-layout-describe.d.ts +3 -0
  16. package/dist/commands/form-layout-describe.d.ts.map +1 -0
  17. package/dist/commands/form-layout-describe.js +58 -0
  18. package/dist/commands/form-layout-describe.js.map +1 -0
  19. package/dist/commands/form-layout-diff.d.ts +3 -0
  20. package/dist/commands/form-layout-diff.d.ts.map +1 -0
  21. package/dist/commands/form-layout-diff.js +48 -0
  22. package/dist/commands/form-layout-diff.js.map +1 -0
  23. package/dist/commands/form-layout-document.d.ts +3 -0
  24. package/dist/commands/form-layout-document.d.ts.map +1 -0
  25. package/dist/commands/form-layout-document.js +81 -0
  26. package/dist/commands/form-layout-document.js.map +1 -0
  27. package/dist/commands/form-layout-edit.d.ts +3 -0
  28. package/dist/commands/form-layout-edit.d.ts.map +1 -0
  29. package/dist/commands/form-layout-edit.js +51 -0
  30. package/dist/commands/form-layout-edit.js.map +1 -0
  31. package/dist/commands/form-layout-init-reviewed.d.ts +3 -0
  32. package/dist/commands/form-layout-init-reviewed.d.ts.map +1 -0
  33. package/dist/commands/form-layout-init-reviewed.js +78 -0
  34. package/dist/commands/form-layout-init-reviewed.js.map +1 -0
  35. package/dist/commands/form-layout-restore.d.ts.map +1 -1
  36. package/dist/commands/form-layout-restore.js +23 -0
  37. package/dist/commands/form-layout-restore.js.map +1 -1
  38. package/dist/commands/form-layout-template-catalog.d.ts +3 -0
  39. package/dist/commands/form-layout-template-catalog.d.ts.map +1 -0
  40. package/dist/commands/form-layout-template-catalog.js +45 -0
  41. package/dist/commands/form-layout-template-catalog.js.map +1 -0
  42. package/dist/commands/form-list-custom.d.ts +5 -0
  43. package/dist/commands/form-list-custom.d.ts.map +1 -0
  44. package/dist/commands/form-list-custom.js +24 -0
  45. package/dist/commands/form-list-custom.js.map +1 -0
  46. package/dist/commands/form-list-search-group.d.ts.map +1 -1
  47. package/dist/commands/form-list-search-group.js +101 -7
  48. package/dist/commands/form-list-search-group.js.map +1 -1
  49. package/dist/commands/form-list.d.ts.map +1 -1
  50. package/dist/commands/form-list.js +45 -1
  51. package/dist/commands/form-list.js.map +1 -1
  52. package/dist/commands/form-permission.d.ts.map +1 -1
  53. package/dist/commands/form-permission.js +10 -8
  54. package/dist/commands/form-permission.js.map +1 -1
  55. package/dist/commands/form.d.ts.map +1 -1
  56. package/dist/commands/form.js +87 -8
  57. package/dist/commands/form.js.map +1 -1
  58. package/dist/commands/menu.d.ts.map +1 -1
  59. package/dist/commands/menu.js +98 -1
  60. package/dist/commands/menu.js.map +1 -1
  61. package/dist/commands/report-cell.d.ts +3 -0
  62. package/dist/commands/report-cell.d.ts.map +1 -0
  63. package/dist/commands/report-cell.js +365 -0
  64. package/dist/commands/report-cell.js.map +1 -0
  65. package/dist/commands/wf-form.d.ts +2 -0
  66. package/dist/commands/wf-form.d.ts.map +1 -1
  67. package/dist/commands/wf-form.js +10 -9
  68. package/dist/commands/wf-form.js.map +1 -1
  69. package/dist/commands/workflow-base-command.js +1 -1
  70. package/dist/commands/workflow-base-command.js.map +1 -1
  71. package/dist/commands/workflow-basic-info.d.ts +5 -0
  72. package/dist/commands/workflow-basic-info.d.ts.map +1 -0
  73. package/dist/commands/workflow-basic-info.js +47 -0
  74. package/dist/commands/workflow-basic-info.js.map +1 -0
  75. package/dist/commands/workflow-create-workflow.d.ts.map +1 -1
  76. package/dist/commands/workflow-create-workflow.js +49 -83
  77. package/dist/commands/workflow-create-workflow.js.map +1 -1
  78. package/dist/commands/workflow-function-settings.d.ts.map +1 -1
  79. package/dist/commands/workflow-function-settings.js +3 -2
  80. package/dist/commands/workflow-function-settings.js.map +1 -1
  81. package/dist/commands/workflow.d.ts.map +1 -1
  82. package/dist/commands/workflow.js +19 -37
  83. package/dist/commands/workflow.js.map +1 -1
  84. package/dist/index.js +19 -0
  85. package/dist/index.js.map +1 -1
  86. package/dist/services/actionflow/components/action_eb_add.d.ts.map +1 -1
  87. package/dist/services/actionflow/components/action_eb_add.js +12 -5
  88. package/dist/services/actionflow/components/action_eb_add.js.map +1 -1
  89. package/dist/services/actionflow/components/action_eb_add_compiler.d.ts.map +1 -1
  90. package/dist/services/actionflow/components/action_eb_add_compiler.js +5 -0
  91. package/dist/services/actionflow/components/action_eb_add_compiler.js.map +1 -1
  92. package/dist/services/actionflow/components/action_eb_delete.d.ts +6 -1
  93. package/dist/services/actionflow/components/action_eb_delete.d.ts.map +1 -1
  94. package/dist/services/actionflow/components/action_eb_delete.js +23 -5
  95. package/dist/services/actionflow/components/action_eb_delete.js.map +1 -1
  96. package/dist/services/actionflow/components/action_eb_delete_compiler.d.ts.map +1 -1
  97. package/dist/services/actionflow/components/action_eb_delete_compiler.js +22 -0
  98. package/dist/services/actionflow/components/action_eb_delete_compiler.js.map +1 -1
  99. package/dist/services/actionflow/components/action_eb_update.d.ts.map +1 -1
  100. package/dist/services/actionflow/components/action_eb_update.js +13 -4
  101. package/dist/services/actionflow/components/action_eb_update.js.map +1 -1
  102. package/dist/services/actionflow/components/action_eb_update_compiler.d.ts.map +1 -1
  103. package/dist/services/actionflow/components/action_eb_update_compiler.js +9 -2
  104. package/dist/services/actionflow/components/action_eb_update_compiler.js.map +1 -1
  105. package/dist/services/actionflow/components/date_trigger.js +2 -2
  106. package/dist/services/actionflow/components/date_trigger.js.map +1 -1
  107. package/dist/services/actionflow/components/enquiry_form.d.ts.map +1 -1
  108. package/dist/services/actionflow/components/enquiry_form.js +11 -10
  109. package/dist/services/actionflow/components/enquiry_form.js.map +1 -1
  110. package/dist/services/actionflow/components/event_button.js +1 -1
  111. package/dist/services/actionflow/components/event_button.js.map +1 -1
  112. package/dist/services/actionflow/components/form_data_builder.d.ts +29 -1
  113. package/dist/services/actionflow/components/form_data_builder.d.ts.map +1 -1
  114. package/dist/services/actionflow/components/form_data_builder.js +67 -3
  115. package/dist/services/actionflow/components/form_data_builder.js.map +1 -1
  116. package/dist/services/actionflow/components/time_batch_trigger.js +2 -2
  117. package/dist/services/actionflow/components/time_batch_trigger.js.map +1 -1
  118. package/dist/services/actionflow/form_source.d.ts +44 -1
  119. package/dist/services/actionflow/form_source.d.ts.map +1 -1
  120. package/dist/services/actionflow/form_source.js +231 -5
  121. package/dist/services/actionflow/form_source.js.map +1 -1
  122. package/dist/services/actionflow/preflight_service.d.ts +8 -0
  123. package/dist/services/actionflow/preflight_service.d.ts.map +1 -1
  124. package/dist/services/actionflow/preflight_service.js +120 -14
  125. package/dist/services/actionflow/preflight_service.js.map +1 -1
  126. package/dist/services/actionflow/system_params.d.ts.map +1 -1
  127. package/dist/services/actionflow/system_params.js +4 -1
  128. package/dist/services/actionflow/system_params.js.map +1 -1
  129. package/dist/services/actionflow/trigger_common.d.ts.map +1 -1
  130. package/dist/services/actionflow/trigger_common.js +12 -3
  131. package/dist/services/actionflow/trigger_common.js.map +1 -1
  132. package/dist/services/actionflow/workflow_compiler.d.ts.map +1 -1
  133. package/dist/services/actionflow/workflow_compiler.js +117 -40
  134. package/dist/services/actionflow/workflow_compiler.js.map +1 -1
  135. package/dist/services/form-field-build.d.ts +13 -0
  136. package/dist/services/form-field-build.d.ts.map +1 -1
  137. package/dist/services/form-field-build.js +18 -0
  138. package/dist/services/form-field-build.js.map +1 -1
  139. package/dist/services/form-field-dataset.d.ts +101 -0
  140. package/dist/services/form-field-dataset.d.ts.map +1 -0
  141. package/dist/services/form-field-dataset.js +180 -0
  142. package/dist/services/form-field-dataset.js.map +1 -0
  143. package/dist/services/form-field-template.d.ts +15 -10
  144. package/dist/services/form-field-template.d.ts.map +1 -1
  145. package/dist/services/form-field-template.js +30 -15
  146. package/dist/services/form-field-template.js.map +1 -1
  147. package/dist/services/form-layout-code-reviewed.d.ts +32 -0
  148. package/dist/services/form-layout-code-reviewed.d.ts.map +1 -0
  149. package/dist/services/form-layout-code-reviewed.js +101 -0
  150. package/dist/services/form-layout-code-reviewed.js.map +1 -0
  151. package/dist/services/form-layout-describe.d.ts +4 -0
  152. package/dist/services/form-layout-describe.d.ts.map +1 -0
  153. package/dist/services/form-layout-describe.js +107 -0
  154. package/dist/services/form-layout-describe.js.map +1 -0
  155. package/dist/services/form-layout-diff.d.ts +37 -0
  156. package/dist/services/form-layout-diff.d.ts.map +1 -0
  157. package/dist/services/form-layout-diff.js +232 -0
  158. package/dist/services/form-layout-diff.js.map +1 -0
  159. package/dist/services/form-layout-document-apply.d.ts +23 -0
  160. package/dist/services/form-layout-document-apply.d.ts.map +1 -0
  161. package/dist/services/form-layout-document-apply.js +82 -0
  162. package/dist/services/form-layout-document-apply.js.map +1 -0
  163. package/dist/services/form-layout-document.d.ts +13 -0
  164. package/dist/services/form-layout-document.d.ts.map +1 -0
  165. package/dist/services/form-layout-document.js +228 -0
  166. package/dist/services/form-layout-document.js.map +1 -0
  167. package/dist/services/form-layout-edit.d.ts +21 -0
  168. package/dist/services/form-layout-edit.d.ts.map +1 -0
  169. package/dist/services/form-layout-edit.js +103 -0
  170. package/dist/services/form-layout-edit.js.map +1 -0
  171. package/dist/services/form-layout-init-plan.d.ts +54 -0
  172. package/dist/services/form-layout-init-plan.d.ts.map +1 -0
  173. package/dist/services/form-layout-init-plan.js +211 -0
  174. package/dist/services/form-layout-init-plan.js.map +1 -0
  175. package/dist/services/form-layout-insert.d.ts +22 -0
  176. package/dist/services/form-layout-insert.d.ts.map +1 -1
  177. package/dist/services/form-layout-insert.js +88 -8
  178. package/dist/services/form-layout-insert.js.map +1 -1
  179. package/dist/services/form-layout-source/review.d.ts +4 -0
  180. package/dist/services/form-layout-source/review.d.ts.map +1 -0
  181. package/dist/services/form-layout-source/review.js +54 -0
  182. package/dist/services/form-layout-source/review.js.map +1 -0
  183. package/dist/services/form-layout-template-advanced.d.ts +5 -0
  184. package/dist/services/form-layout-template-advanced.d.ts.map +1 -1
  185. package/dist/services/form-layout-template-advanced.js +17 -1
  186. package/dist/services/form-layout-template-advanced.js.map +1 -1
  187. package/dist/services/form-layout-template-catalog.d.ts +13 -0
  188. package/dist/services/form-layout-template-catalog.d.ts.map +1 -0
  189. package/dist/services/form-layout-template-catalog.js +27 -0
  190. package/dist/services/form-layout-template-catalog.js.map +1 -0
  191. package/dist/services/form-layout-template-flow.d.ts +1 -1
  192. package/dist/services/form-layout-template-flow.d.ts.map +1 -1
  193. package/dist/services/form-layout-template-flow.js.map +1 -1
  194. package/dist/services/form-layout-template-verification.d.ts +34 -0
  195. package/dist/services/form-layout-template-verification.d.ts.map +1 -0
  196. package/dist/services/form-layout-template-verification.js +124 -0
  197. package/dist/services/form-layout-template-verification.js.map +1 -0
  198. package/dist/services/form-list-search-custom.d.ts +25 -0
  199. package/dist/services/form-list-search-custom.d.ts.map +1 -0
  200. package/dist/services/form-list-search-custom.js +98 -0
  201. package/dist/services/form-list-search-custom.js.map +1 -0
  202. package/dist/services/form-list-search-group.d.ts +36 -2
  203. package/dist/services/form-list-search-group.d.ts.map +1 -1
  204. package/dist/services/form-list-search-group.js +89 -10
  205. package/dist/services/form-list-search-group.js.map +1 -1
  206. package/dist/services/form-list-search.d.ts +1 -0
  207. package/dist/services/form-list-search.d.ts.map +1 -1
  208. package/dist/services/form-list-search.js +5 -2
  209. package/dist/services/form-list-search.js.map +1 -1
  210. package/dist/services/form-permission-archive.d.ts +15 -2
  211. package/dist/services/form-permission-archive.d.ts.map +1 -1
  212. package/dist/services/form-permission-archive.js +22 -3
  213. package/dist/services/form-permission-archive.js.map +1 -1
  214. package/dist/services/form-physical-table.d.ts +17 -0
  215. package/dist/services/form-physical-table.d.ts.map +1 -1
  216. package/dist/services/form-physical-table.js +19 -0
  217. package/dist/services/form-physical-table.js.map +1 -1
  218. package/dist/services/form-style-template.d.ts +3 -3
  219. package/dist/services/form-style-template.d.ts.map +1 -1
  220. package/dist/services/form-style-template.js +18 -13
  221. package/dist/services/form-style-template.js.map +1 -1
  222. package/dist/services/form-sub-detail.d.ts +11 -0
  223. package/dist/services/form-sub-detail.d.ts.map +1 -1
  224. package/dist/services/form-sub-detail.js +23 -0
  225. package/dist/services/form-sub-detail.js.map +1 -1
  226. package/dist/services/menu-catalog.d.ts +11 -0
  227. package/dist/services/menu-catalog.d.ts.map +1 -1
  228. package/dist/services/menu-catalog.js +32 -0
  229. package/dist/services/menu-catalog.js.map +1 -1
  230. package/dist/services/report/cell-edit.d.ts +53 -0
  231. package/dist/services/report/cell-edit.d.ts.map +1 -0
  232. package/dist/services/report/cell-edit.js +137 -0
  233. package/dist/services/report/cell-edit.js.map +1 -0
  234. package/dist/services/report/cell-event.d.ts +28 -0
  235. package/dist/services/report/cell-event.d.ts.map +1 -0
  236. package/dist/services/report/cell-event.js +71 -0
  237. package/dist/services/report/cell-event.js.map +1 -0
  238. package/dist/services/report/cell-filter.d.ts +46 -0
  239. package/dist/services/report/cell-filter.d.ts.map +1 -0
  240. package/dist/services/report/cell-filter.js +153 -0
  241. package/dist/services/report/cell-filter.js.map +1 -0
  242. package/dist/services/workflow-basic-info.d.ts +27 -0
  243. package/dist/services/workflow-basic-info.d.ts.map +1 -0
  244. package/dist/services/workflow-basic-info.js +170 -0
  245. package/dist/services/workflow-basic-info.js.map +1 -0
  246. package/dist/services/workflow-function-management.d.ts +1 -1
  247. package/dist/services/workflow-function-settings.d.ts +1 -0
  248. package/dist/services/workflow-function-settings.d.ts.map +1 -1
  249. package/dist/services/workflow-function-settings.js +10 -2
  250. package/dist/services/workflow-function-settings.js.map +1 -1
  251. package/dist/services/workflow-watermark-template.d.ts +8 -0
  252. package/dist/services/workflow-watermark-template.d.ts.map +1 -0
  253. package/dist/services/workflow-watermark-template.js +78 -0
  254. package/dist/services/workflow-watermark-template.js.map +1 -0
  255. package/package.json +1 -1
  256. package/skill-docs/SKILL.md +24 -19
  257. package/skill-docs/_catalog.md +108 -106
  258. package/skill-docs/actionflows/references/components/ebuilder/ActionEbDelete.md +60 -3
  259. package/skill-docs/actionflows/references/components/ebuilder/EventButton.md +35 -33
  260. package/skill-docs/references/common/capability-boundaries.md +20 -1
  261. package/skill-docs/references/common/guide-plan-template.md +29 -3
  262. package/skill-docs/references/common/map.md +11 -7
  263. package/skill-docs/references/common/ref-cli-commands.md +710 -695
  264. package/skill-docs/references/form/guide-browser-definition.md +57 -13
  265. package/skill-docs/references/form/guide-create-form.md +258 -258
  266. package/skill-docs/references/form/guide-form-archive-permission.md +5 -2
  267. package/skill-docs/references/form/guide-form-layout-incremental.md +6 -4
  268. package/skill-docs/references/form/guide-form-view.md +423 -374
  269. package/skill-docs/references/form/layout/code-block/code-block-guide.md +153 -0
  270. package/skill-docs/references/form/layout/code-block/controls.md +60 -0
  271. package/skill-docs/references/form/layout/code-block/coverage.md +32 -0
  272. package/skill-docs/references/form/layout/code-block/details.md +57 -0
  273. package/skill-docs/references/form/layout/code-block/events-validation.md +42 -0
  274. package/skill-docs/references/form/layout/code-block/foundations-fields.md +56 -0
  275. package/skill-docs/references/form/layout/code-block/layout-css.md +116 -0
  276. package/skill-docs/references/form/layout/code-block/recipes.md +164 -0
  277. package/skill-docs/references/form/layout/code-block/troubleshooting.md +49 -0
  278. package/skill-docs/references/form/layout/code-block/ui-global.md +47 -0
  279. package/skill-docs/references/form/layout/document.md +39 -0
  280. package/skill-docs/references/form/layout/incremental.md +133 -0
  281. package/skill-docs/references/form/layout/initialization.md +39 -0
  282. package/skill-docs/references/form/layout/inspect-edit.md +76 -0
  283. package/skill-docs/references/form/layout/layout-overview.md +67 -0
  284. package/skill-docs/references/form/layout/management.md +64 -0
  285. package/skill-docs/references/form/layout/planning.md +76 -0
  286. package/skill-docs/references/form/layout/source-restoration.md +388 -0
  287. package/skill-docs/references/form/layout/template/advanced-css.md +167 -0
  288. package/skill-docs/references/form/layout/template/advanced.md +318 -0
  289. package/skill-docs/references/form/layout/template/easy.md +64 -0
  290. package/skill-docs/references/form/layout/template/flow.md +30 -0
  291. package/skill-docs/references/form/layout/template/template-guide.md +56 -0
  292. package/skill-docs/references/form/layout/workflow-layout.md +44 -0
  293. package/skill-docs/references/form/ref-form-fields.md +303 -301
  294. package/skill-docs/references/report/cross-dataset-filter-guide.md +33 -19
  295. package/skill-docs/references/report/event-hreflink-guide.md +30 -0
  296. package/skill-docs/references/report/ref-report-commands.md +14 -0
  297. package/skill-docs/references/report/report-designer-feature-map.md +2 -2
  298. package/skill-docs/references/workflow/guide-function-settings.md +112 -55
  299. package/skill-docs/references/workflow/guide-workflow-node-layout.md +189 -187
  300. package/skill-docs/references/workflow/guide-workflow.md +632 -630
@@ -1 +1 @@
1
- {"version":3,"file":"form-layout-template-flow.js","sourceRoot":"","sources":["../../src/services/form-layout-template-flow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-layout-template-flow.js","sourceRoot":"","sources":["../../src/services/form-layout-template-flow.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { ApiClient } from '../core/client.js';
2
+ export interface TemplateEvidence {
3
+ kind: 'advanced' | 'flow';
4
+ id: string;
5
+ fingerprint: string;
6
+ style: Record<string, unknown>;
7
+ columns?: Array<{
8
+ type: string;
9
+ size: number;
10
+ }>;
11
+ }
12
+ export interface EasyTemplateEvidence {
13
+ kind: 'easy';
14
+ id: string;
15
+ fingerprint: string;
16
+ columns: Array<{
17
+ type: string;
18
+ size: number;
19
+ }>;
20
+ rowHeight: number;
21
+ titleStyle: {
22
+ backColor?: string;
23
+ borderColor?: string;
24
+ };
25
+ fieldStyle: {
26
+ backColor?: string;
27
+ borderColor?: string;
28
+ };
29
+ }
30
+ export declare function readEasyTemplateEvidence(client: Pick<ApiClient, 'get' | 'post'>, baseUrl: string, id: string): Promise<EasyTemplateEvidence>;
31
+ export declare function verifyAppliedEasyTemplate(evidence: EasyTemplateEvidence, formLayout: any): string[];
32
+ export declare function readTemplateEvidence(client: Pick<ApiClient, 'post'>, baseUrl: string, layoutType: string, id: string): Promise<TemplateEvidence>;
33
+ export declare function verifyAppliedTemplate(evidence: TemplateEvidence, formLayout: any): string[];
34
+ //# sourceMappingURL=form-layout-template-verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-layout-template-verification.d.ts","sourceRoot":"","sources":["../../src/services/form-layout-template-verification.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMnD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,UAAU,GAAG,MAAM,CAAC;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AACD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAC9C,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,UAAU,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1D;AAMD,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EACrG,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqB3C;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,UAAU,EAAE,GAAG,GAAG,MAAM,EAAE,CAgBnG;AAqBD,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EACzF,UAAU,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAmB3D;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,GAAG,GAAG,MAAM,EAAE,CAoB3F"}
@@ -0,0 +1,124 @@
1
+ import { digest } from './form-layout-source/schema.js';
2
+ import { AdvancedTemplateService } from './form-layout-template-advanced.js';
3
+ import { FlowTemplateService } from './form-layout-template-flow.js';
4
+ import { EasyTemplateService, buildEasyPayload } from './form-layout-template-easy.js';
5
+ function cellStyle(cell) {
6
+ return { backColor: cell?.style?.backColor, borderColor: cell?.style?.borderTop?.color };
7
+ }
8
+ export async function readEasyTemplateEvidence(client, baseUrl, id) {
9
+ const api = new EasyTemplateService(client, baseUrl);
10
+ const template = await api.get(id);
11
+ const payload = buildEasyPayload(template.data, {}, id);
12
+ const { module: _module, id: _id, ...styleTemplateParam } = payload;
13
+ const response = await client.post(`${baseUrl}/api/form/local/initLayout`, {
14
+ module: 'form', initMode: 0, colNum: 2, styleTemplateParam,
15
+ });
16
+ if (response?.code !== 200 || response?.status !== true)
17
+ throw new Error('简易模板预览失败');
18
+ const sheet = response.data?.pageLayouts?.[0]?.config?.workbook?.Sheet1;
19
+ const columns = sheet?.columns;
20
+ const cells = sheet?.cells;
21
+ if (!Array.isArray(columns) || columns.length < 2 || !Array.isArray(cells))
22
+ throw new Error('简易模板预览缺少主网格');
23
+ const title = cells.find((cell) => Number(cell.row) === 0 && Number(cell.col) === 0);
24
+ const field = cells.find((cell) => Number(cell.row) === 0 && Number(cell.col) === 1);
25
+ if (!title || !field)
26
+ throw new Error('简易模板预览缺少标题和字段单元格');
27
+ const evidence = { kind: 'easy', id,
28
+ columns: columns.map((col) => ({ type: String(col.type), size: Number(col.size) })),
29
+ rowHeight: Number(template.data.rowHeight), titleStyle: cellStyle(title), fieldStyle: cellStyle(field) };
30
+ return { ...evidence, fingerprint: digest({ config: template.data, ...evidence }) };
31
+ }
32
+ export function verifyAppliedEasyTemplate(evidence, formLayout) {
33
+ const sheet = formLayout?.pageLayouts?.[0]?.config?.workbook?.Sheet1;
34
+ if (!sheet)
35
+ return ['简易模板主网格未回读'];
36
+ const issues = [];
37
+ const columns = Array.isArray(sheet.columns) ? sheet.columns.map((col) => ({
38
+ type: String(col.type), size: Number(col.size),
39
+ })) : [];
40
+ if (digest(columns) !== digest(evidence.columns))
41
+ issues.push('简易模板列宽未与应用后布局一致');
42
+ if (!Array.isArray(sheet.rows) || !sheet.rows.some((row) => Number(row.size) === evidence.rowHeight))
43
+ issues.push('简易模板行高未与应用后布局一致');
44
+ const actual = Array.isArray(sheet.cells) ? sheet.cells : [];
45
+ const hasStyle = (style) => actual.some((cell) => matchesSpecified(style, cellStyle(cell)));
46
+ if (!hasStyle(evidence.titleStyle))
47
+ issues.push('简易模板标题颜色或边框未与应用后布局一致');
48
+ if (!hasStyle(evidence.fieldStyle))
49
+ issues.push('简易模板字段颜色或边框未与应用后布局一致');
50
+ return issues;
51
+ }
52
+ function object(value, label) {
53
+ let parsed = value;
54
+ if (typeof parsed === 'string') {
55
+ try {
56
+ parsed = JSON.parse(parsed);
57
+ }
58
+ catch {
59
+ throw new Error(`${label} 不是有效 JSON`);
60
+ }
61
+ }
62
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed))
63
+ throw new Error(`${label} 格式无效`);
64
+ return parsed;
65
+ }
66
+ function matchesSpecified(expected, actual) {
67
+ if (expected === undefined || actual === undefined)
68
+ return expected === actual;
69
+ if (expected && typeof expected === 'object' && !Array.isArray(expected)) {
70
+ if (!actual || typeof actual !== 'object' || Array.isArray(actual))
71
+ return false;
72
+ return Object.entries(expected).every(([key, value]) => matchesSpecified(value, actual[key]));
73
+ }
74
+ return digest(expected) === digest(actual);
75
+ }
76
+ export async function readTemplateEvidence(client, baseUrl, layoutType, id) {
77
+ if (layoutType === 'FLOW') {
78
+ const row = (await new FlowTemplateService(client, baseUrl).list()).find(item => String(item.id) === id);
79
+ if (!row || Number(row.templateStatus) !== 1)
80
+ throw new Error(`流式模板 ${id} 不存在或未启用`);
81
+ const raw = object(row.styleJson, '流式模板样式');
82
+ const style = { formHeader: object(raw.formHeader, 'formHeader'),
83
+ styleConfig: object(raw.styleConfig, 'styleConfig') };
84
+ return { kind: 'flow', id, fingerprint: digest(style), style };
85
+ }
86
+ if (layoutType === 'EXCEL') {
87
+ const template = await new AdvancedTemplateService(client, baseUrl).get(id);
88
+ const style = object(template.layoutInfo?.formStyle?.styleConfig || '{}', '高级模板布局样式');
89
+ const columns = template.layoutInfo?.pageLayouts?.[0]?.config?.workbook?.Sheet1?.columns;
90
+ if (!Array.isArray(columns) || !columns.length)
91
+ throw new Error('高级模板主网格列宽缺失');
92
+ const normalized = columns.map((col) => ({ type: String(col.type), size: Number(col.size) }));
93
+ if (normalized.some(col => !Number.isFinite(col.size)))
94
+ throw new Error('高级模板列宽无效');
95
+ return { kind: 'advanced', id, fingerprint: digest({ style, columns: normalized }), style, columns: normalized };
96
+ }
97
+ throw new Error(`不支持的布局类型 ${layoutType}`);
98
+ }
99
+ export function verifyAppliedTemplate(evidence, formLayout) {
100
+ const issues = [];
101
+ const actualStyle = formLayout?.formStyle || {};
102
+ for (const [section, expected] of Object.entries(evidence.style)) {
103
+ try {
104
+ const actual = evidence.kind === 'flow'
105
+ ? object(actualStyle[section], `已应用布局 ${section}`)
106
+ : object(actualStyle.styleConfig, '已应用布局 styleConfig')[section];
107
+ if (actual === undefined || !matchesSpecified(expected, actual))
108
+ issues.push(`模板样式 ${section} 未与应用后布局一致`);
109
+ }
110
+ catch {
111
+ issues.push(`模板样式 ${section} 无法从应用后布局回读`);
112
+ }
113
+ }
114
+ if (evidence.columns) {
115
+ const actualColumns = formLayout?.pageLayouts?.[0]?.config?.workbook?.Sheet1?.columns;
116
+ const normalized = Array.isArray(actualColumns) ? actualColumns.map((col) => ({
117
+ type: String(col.type), size: Number(col.size),
118
+ })) : [];
119
+ if (digest(normalized) !== digest(evidence.columns))
120
+ issues.push('模板主网格列宽未与应用后布局一致');
121
+ }
122
+ return issues;
123
+ }
124
+ //# sourceMappingURL=form-layout-template-verification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-layout-template-verification.js","sourceRoot":"","sources":["../../src/services/form-layout-template-verification.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ export interface CustomSearchOption {
2
+ name: string;
3
+ id?: string;
4
+ default?: boolean;
5
+ /** 完整条件树,或已保存条目的原始 conditionData。 */
6
+ conditionData?: Record<string, unknown> | string;
7
+ /** 与 form list-filter 相同的条件数组。 */
8
+ conditions?: Array<Record<string, unknown>>;
9
+ relation?: 'and' | 'or';
10
+ /** 系统选项的真实 sysOptionKey,例如 myFollow。 */
11
+ systemOption?: string;
12
+ }
13
+ export interface CustomSearchConfig {
14
+ name: string;
15
+ id?: string;
16
+ required?: boolean;
17
+ selection?: 'single' | 'multiple';
18
+ position?: '0' | '1';
19
+ showArchiveOption?: boolean;
20
+ options: CustomSearchOption[];
21
+ }
22
+ export declare function readCustomSearchConfig(input: string): CustomSearchConfig;
23
+ export declare function customSearchIdsNeeded(config: CustomSearchConfig, existing?: any): number;
24
+ export declare function buildCustomSearchEntry(config: CustomSearchConfig, kind: 'common' | 'group', ids: string[], existing?: any): any;
25
+ //# sourceMappingURL=form-list-search-custom.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-list-search-custom.d.ts","sourceRoot":"","sources":["../../src/services/form-list-search-custom.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC;IACjD,kCAAkC;IAClC,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IACxB,wCAAwC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAClC,QAAQ,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC;IACrB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,EAAE,kBAAkB,EAAE,CAAC;CAC/B;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAoBxE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,MAAM,CAIxF;AAED,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,kBAAkB,EAC1B,IAAI,EAAE,QAAQ,GAAG,OAAO,EACxB,GAAG,EAAE,MAAM,EAAE,EACb,QAAQ,CAAC,EAAE,GAAG,GACb,GAAG,CAyDL"}
@@ -0,0 +1,98 @@
1
+ import { readFileSync } from 'node:fs';
2
+ export function readCustomSearchConfig(input) {
3
+ const raw = input.startsWith('@') ? readFileSync(input.slice(1), 'utf8') : input;
4
+ const config = JSON.parse(raw);
5
+ if (!config || typeof config !== 'object' || !String(config.name || '').trim())
6
+ throw new Error('自定义分类需要 name');
7
+ if (!Array.isArray(config.options) || !config.options.length)
8
+ throw new Error('自定义分类至少需要一项 options');
9
+ if (config.selection && !['single', 'multiple'].includes(config.selection))
10
+ throw new Error('selection 只能是 single 或 multiple');
11
+ if (config.position && !['0', '1'].includes(config.position))
12
+ throw new Error('position 只能是 0 或 1');
13
+ const names = new Set();
14
+ for (const option of config.options) {
15
+ if (!String(option.name || '').trim())
16
+ throw new Error('自定义选项缺少 name');
17
+ if (names.has(option.name))
18
+ throw new Error(`自定义选项名称重复:${option.name}`);
19
+ names.add(option.name);
20
+ if (option.systemOption && (option.conditionData || option.conditions))
21
+ throw new Error(`选项「${option.name}」不能同时设置 systemOption 和条件`);
22
+ if (option.conditionData && option.conditions)
23
+ throw new Error(`选项「${option.name}」不能同时设置 conditionData 和 conditions`);
24
+ if (option.systemOption && option.systemOption !== 'myFollow')
25
+ throw new Error(`未验证的系统选项:${option.systemOption};当前只支持 myFollow`);
26
+ }
27
+ if (config.selection === 'single' && config.options.filter((option) => option.default).length > 1) {
28
+ throw new Error('单选分类最多只能有一个默认选项');
29
+ }
30
+ return config;
31
+ }
32
+ export function customSearchIdsNeeded(config, existing) {
33
+ const oldSets = existing?.listFilterDefaultSets?.listGroupSets || [];
34
+ return (config.id || existing?.id ? 0 : 1)
35
+ + config.options.filter((option) => !option.id && !oldSets.some((item) => item.setName === option.name && item.id)).length;
36
+ }
37
+ export function buildCustomSearchEntry(config, kind, ids, existing) {
38
+ const supply = [...ids];
39
+ const id = String(config.id || existing?.id || supply.shift() || '');
40
+ if (!/^\d+$/.test(id))
41
+ throw new Error('自定义分类需要平台生成的数字 ID');
42
+ const fieldId = `GroupCustom_${id}`;
43
+ const oldSets = existing?.listFilterDefaultSets?.listGroupSets || [];
44
+ const sets = config.options.map((option, index) => {
45
+ const prior = oldSets.find((item) => String(item.setName) === option.name);
46
+ const optionId = String(option.id || prior?.id || supply.shift() || '');
47
+ if (!/^\d+$/.test(optionId))
48
+ throw new Error(`选项「${option.name}」需要平台生成的数字 ID`);
49
+ const conditionData = option.systemOption
50
+ ? JSON.stringify({ type: 'pluginAdvice', customParams: { sysOptionKey: option.systemOption } })
51
+ : option.conditionData === undefined ? prior?.conditionData
52
+ : typeof option.conditionData === 'string' ? option.conditionData : JSON.stringify(option.conditionData);
53
+ if (kind === 'common' && !conditionData)
54
+ throw new Error(`常用搜索选项「${option.name}」缺少 conditionData 或 systemOption`);
55
+ return {
56
+ id: optionId,
57
+ showOrder: index,
58
+ setName: option.name,
59
+ ...(kind === 'common' ? { isChecked: option.default === undefined ? prior?.isChecked === true : option.default === true } : {}),
60
+ ...(conditionData ? { conditionData } : {}),
61
+ ...(option.systemOption ? { opType: 'SYSTEM' } : {}),
62
+ };
63
+ });
64
+ const archive = config.showArchiveOption === undefined
65
+ ? existing?.listFilterDefaultSets?.showArchiveOption ?? '1'
66
+ : config.showArchiveOption ? '1' : '0';
67
+ const multiSelect = config.selection === undefined
68
+ ? existing?.listFilterDefaultSets?.multiSelect ?? false
69
+ : config.selection === 'multiple';
70
+ if (kind === 'common') {
71
+ return {
72
+ ...(existing || {}), id, fieldId, fieldName: fieldId, componentKey: 'GroupCustom',
73
+ conditionType: [], config: {}, fieldShowName: config.name,
74
+ isQuick: config.position ?? existing?.isQuick ?? '0', showName: config.name, options: [],
75
+ listFilterDefaultSets: {
76
+ ...(existing?.listFilterDefaultSets || {}), listGroupSets: sets, listFilterSets: [],
77
+ multiSelect, startValue: '', startValueSpan: '', startDefaultLabel: '', endValue: '',
78
+ showArchiveOption: archive, searchContentFullMatches: false,
79
+ },
80
+ filterId: existing?.filterId || id, required: config.required === undefined ? existing?.required ?? 0 : config.required ? 1 : 0,
81
+ };
82
+ }
83
+ return {
84
+ ...(existing || {}), id, fieldId, name: fieldId, fieldName: fieldId,
85
+ componentKey: 'GroupCustom', showName: config.name, config: {},
86
+ showPosition: config.position ?? existing?.showPosition ?? '0', tabStyle: 'select',
87
+ listFilterDefaultSets: {
88
+ ...(existing?.listFilterDefaultSets || {}), listGroupSets: sets,
89
+ multiSelect: config.selection === undefined ? existing?.listFilterDefaultSets?.multiSelect ?? true : multiSelect,
90
+ enableFilter: existing?.listFilterDefaultSets?.enableFilter ?? 0,
91
+ enableShowCountNum: existing?.listFilterDefaultSets?.enableShowCountNum ?? 0,
92
+ showCountNumType: existing?.listFilterDefaultSets?.showCountNumType ?? 'notUpdate',
93
+ enableShowCountNumLimit: existing?.listFilterDefaultSets?.enableShowCountNumLimit ?? 0,
94
+ showArchiveOption: archive,
95
+ },
96
+ };
97
+ }
98
+ //# sourceMappingURL=form-list-search-custom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-list-search-custom.js","sourceRoot":"","sources":["../../src/services/form-list-search-custom.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export declare const OPTION_COMPS: readonly ["Select", "RadioBox", "CheckBox"];
22
22
  export declare const BROWSER_COMPS: readonly ["Ebuilder", "EBuilder", "Browser", "Employee", "Department"];
23
23
  /** 日期类:分类项 = 时间粒度。 */
24
24
  export declare const DATE_COMPS: readonly ["DateComponent", "Date", "DateTime"];
25
- export type GroupFilterKind = 'option' | 'browser' | 'date' | 'system';
25
+ export type GroupFilterKind = 'option' | 'browser' | 'date' | 'system' | 'custom';
26
26
  export declare const KIND_LABEL: Record<GroupFilterKind, string>;
27
27
  /** 日期可选的四种粒度,顺序即页面上的顺序。 */
28
28
  export declare const DATE_GRANULARITIES: readonly [{
@@ -42,7 +42,16 @@ export declare const DATE_GRANULARITIES: readonly [{
42
42
  export declare function isSystemColumn(col: any): boolean;
43
43
  /** 按 `compType` 判四档之一;认不出就报错(宁可早报,也不发一个错的 `dataType` 出去)。 */
44
44
  export declare function resolveGroupFilterKind(col: any): GroupFilterKind;
45
+ /**
46
+ * `--position` → 条目 `showPosition`。
47
+ *
48
+ * 平台枚举(FieldSearch 前端):`Top="0"`、`Left="1"` / `DropDown="1"`。
49
+ * 分类搜索新建条目默认就是 **0(顶部)**;1 表示左侧/下拉样式。
50
+ * 名称与数字都收,免得用户还要记码值。
51
+ */
45
52
  export declare function parseShowPosition(input: string | undefined): string;
53
+ /** `--display` → 条目 `tabStyle`:平台枚举 `Tab="tab"`(平铺)/ `Select="select"`(下拉,缺省)。 */
54
+ export declare function parseTabStyle(input: string | undefined): string | undefined;
46
55
  /** `--option-order default|field` → `optionOrderConfig` 的 `"0"` / `"1"`。 */
47
56
  export declare function parseOptionOrder(input: string | undefined): string;
48
57
  /** `--date-granularity year,month` → 校验并归一成粒度值数组(保序、去重)。 */
@@ -68,9 +77,15 @@ export interface FilterDefaultOptions {
68
77
  * **两份同一规则:勾上才发(=1),不勾整个键都不出现。**
69
78
  */
70
79
  onlyWithData?: boolean;
80
+ /**
81
+ * 「显示封存的选项」(`showArchiveOption`):前端开关写 `"1"` / `"0"`。
82
+ * 缺省(undefined)= 与平台新建一致,发 `"1"`。
83
+ */
84
+ showArchive?: boolean;
71
85
  granularity?: string[];
72
86
  optionShow?: string[];
73
87
  optionDefault?: string[];
88
+ showArchiveOption?: boolean;
74
89
  }
75
90
  /**
76
91
  * 四档各自的 `listFilterDefaultSets`。
@@ -85,8 +100,10 @@ export interface FilterDefaultOptions {
85
100
  */
86
101
  export declare function buildFilterDefaultSets(col: any, kind: GroupFilterKind, opts?: FilterDefaultOptions): any;
87
102
  export interface BuildGroupFilterOptions extends FilterDefaultOptions {
88
- /** `showPosition`:1 顶部(缺省)/ 0 下拉样式。 */
103
+ /** `showPosition`:0 顶部(缺省)/ 1 左侧 / 下拉样式(平台枚举 Top="0"、Left/DropDown="1")。 */
89
104
  position?: string;
105
+ /** 分类搜索「显示方式」`tabStyle`:`tab`=平铺 / `select`=下拉(缺省)。 */
106
+ tabStyle?: string;
90
107
  }
91
108
  /**
92
109
  * 一条分类搜索条目。
@@ -95,6 +112,23 @@ export interface BuildGroupFilterOptions extends FilterDefaultOptions {
95
112
  * 加上按类型算出来的 `listFilterDefaultSets`。
96
113
  */
97
114
  export declare function buildGroupFilterEntry(col: any, opts?: BuildGroupFilterOptions): any;
115
+ /** 自定义分类(GroupCustom)的组件键。它不是表单字段,条目只存一个引用。 */
116
+ export declare const CUSTOM_GROUP_COMP = "GroupCustom";
117
+ /**
118
+ * 自定义分类 id:平台前端用 `UUID(18,10)` 生成 18 位数字 id,**没有接口返回**
119
+ * (2026-10-23 读 FieldSearch 前端包确认)。这里按同样形状生成,并避开已有条目。
120
+ */
121
+ export declare function genCustomGroupId(existing?: any[]): string;
122
+ /**
123
+ * 一条「自定义分类」(GroupCustom)。
124
+ *
125
+ * 平台「添加分类」先建 `{fieldId:"-1", componentKey:"GroupCustom"}`,保存时由前端补 18 位 id,
126
+ * `fieldId = "GroupCustom_<id>"`;分类值 `listGroupSets` 初始为空,之后在设计器里配置。
127
+ * 这里按实测条目形状构造(含「显示方式」`tabStyle` 与「显示封存的选项」`showArchiveOption`)。
128
+ */
129
+ export declare function buildCustomGroupFilterEntry(showName: string, opts?: BuildGroupFilterOptions & {
130
+ id?: string;
131
+ }): any;
98
132
  /** 候选字段:`getNListConfig` 回包里的 `fieldUsage[0].fields[]`(含系统字段)。 */
99
133
  export declare function extractCandidateColumns(listConfig: any): any[];
100
134
  /** 按 fieldId 或字段名(`text`)找候选字段;重名报错,不猜。 */
@@ -1 +1 @@
1
- {"version":3,"file":"form-list-search-group.d.ts","sourceRoot":"","sources":["../../src/services/form-list-search-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"form-list-search-group.d.ts","sourceRoot":"","sources":["../../src/services/form-list-search-group.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AAEH,yBAAyB;AACzB,eAAO,MAAM,YAAY,6CAA8C,CAAC;AACxE,2BAA2B;AAC3B,eAAO,MAAM,aAAa,wEAAyE,CAAC;AACpG,sBAAsB;AACtB,eAAO,MAAM,UAAU,gDAAiD,CAAC;AAEzE,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAElF,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAMtD,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAKrB,CAAC;AAOX,8BAA8B;AAC9B,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAEhD;AAED,6DAA6D;AAC7D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,eAAe,CAWhE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMnE;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAO3E;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMlE;AAED,4DAA4D;AAC5D,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAcxE;AAED,6DAA6D;AAC7D,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAcrG;AAED,qDAAqD;AACrD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,GAAG,EAAE,GAAG,SAAS,EAC1B,IAAI,CAAC,EAAE,MAAM,EAAE,EACf,OAAO,CAAC,EAAE,MAAM,EAAE,GACjB,GAAG,EAAE,CA2BP;AAED,uCAAuC;AACvC,wBAAgB,kBAAkB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,EAAE,CAWpF;AAED,MAAM,WAAW,oBAAoB;IACnC,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sEAAsE;IACtE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,GAAE,oBAAyB,GAAG,GAAG,CA6D5G;AAED,MAAM,WAAW,uBAAwB,SAAQ,oBAAoB;IACnE,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAE,uBAA4B,GAAG,GAAG,CAsBvF;AAED,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,gBAAgB,CAAC;AAE/C;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,GAAE,GAAG,EAAO,GAAG,MAAM,CAQ7D;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,uBAAuB,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAO,GACrE,GAAG,CAwBL;AAED,kEAAkE;AAClE,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,EAAE,CAG9D;AAED,2CAA2C;AAC3C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAUvE;AAED,qCAAqC;AACrC,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,GAAG,GAAG,GAAG,EAAE,CAGvD"}
@@ -1,3 +1,4 @@
1
+ import { randomInt } from 'node:crypto';
1
2
  /**
2
3
  * 台账「分类搜索」(`config.searchConditions.groupFilters`) 的取值与构造。
3
4
  *
@@ -27,6 +28,7 @@ export const KIND_LABEL = {
27
28
  browser: '浏览框',
28
29
  date: '日期',
29
30
  system: '系统字段',
31
+ custom: '自定义分类',
30
32
  };
31
33
  /** 日期可选的四种粒度,顺序即页面上的顺序。 */
32
34
  export const DATE_GRANULARITIES = [
@@ -48,6 +50,8 @@ export function resolveGroupFilterKind(col) {
48
50
  if (isSystemColumn(col))
49
51
  return 'system';
50
52
  const comp = String(col?.compType || col?.type || '');
53
+ if (comp === 'GroupCustom')
54
+ return 'custom';
51
55
  if (OPTION_COMPS.includes(comp))
52
56
  return 'option';
53
57
  if (DATE_COMPS.includes(comp))
@@ -57,11 +61,33 @@ export function resolveGroupFilterKind(col) {
57
61
  throw new Error(`字段「${col?.text ?? col?.id}」的类型 ${comp || '(未知)'} 不支持分类搜索。`
58
62
  + `目前支持:选项类 ${OPTION_COMPS.join('/')}、浏览框类 ${BROWSER_COMPS.join('/')}、日期类 ${DATE_COMPS.join('/')},以及系统字段`);
59
63
  }
64
+ /**
65
+ * `--position` → 条目 `showPosition`。
66
+ *
67
+ * 平台枚举(FieldSearch 前端):`Top="0"`、`Left="1"` / `DropDown="1"`。
68
+ * 分类搜索新建条目默认就是 **0(顶部)**;1 表示左侧/下拉样式。
69
+ * 名称与数字都收,免得用户还要记码值。
70
+ */
60
71
  export function parseShowPosition(input) {
61
- const v = String(input ?? '1').trim();
62
- if (v !== '0' && v !== '1')
63
- throw new Error(`--position 只认 0(下拉样式)或 1(顶部),收到「${input}」`);
64
- return v;
72
+ const v = String(input ?? '0').trim();
73
+ const key = v.toLowerCase();
74
+ if (v === '0' || key === 'top' || v === '顶部')
75
+ return '0';
76
+ if (v === '1' || key === 'left' || key === 'dropdown' || v === '左侧' || v === '下拉' || v === '下拉样式')
77
+ return '1';
78
+ throw new Error(`--position 只认 0(顶部)或 1(左侧 / 下拉样式),收到「${input}」`);
79
+ }
80
+ /** `--display` → 条目 `tabStyle`:平台枚举 `Tab="tab"`(平铺)/ `Select="select"`(下拉,缺省)。 */
81
+ export function parseTabStyle(input) {
82
+ const v = String(input ?? '').trim();
83
+ if (!v)
84
+ return undefined;
85
+ const key = v.toLowerCase();
86
+ if (key === 'tab' || v === '平铺')
87
+ return 'tab';
88
+ if (key === 'select' || v === '下拉' || v === '下拉样式')
89
+ return 'select';
90
+ throw new Error(`--display 只认「平铺」或「下拉」,收到「${input}」`);
65
91
  }
66
92
  /** `--option-order default|field` → `optionOrderConfig` 的 `"0"` / `"1"`。 */
67
93
  export function parseOptionOrder(input) {
@@ -166,6 +192,9 @@ export function buildDateGroupSets(granularity, checked) {
166
192
  * 不勾时无论选项还是浏览框都整个键都没有。
167
193
  */
168
194
  export function buildFilterDefaultSets(col, kind, opts = {}) {
195
+ if (kind === 'custom')
196
+ throw new Error('自定义分类请使用 --custom 配置');
197
+ const archive = (opts.showArchiveOption ?? opts.showArchive) === false ? '0' : '1';
169
198
  const showCount = opts.showCount !== false ? 1 : 0;
170
199
  const onlyWithData = opts.onlyWithData === true ? 1 : 0;
171
200
  const count = {
@@ -175,7 +204,7 @@ export function buildFilterDefaultSets(col, kind, opts = {}) {
175
204
  };
176
205
  if (kind === 'system') {
177
206
  // 系统字段那份最薄:只有四个键
178
- return { listGroupSets: [], multiSelect: true, enableBrowserFilter: 0, showArchiveOption: '1' };
207
+ return { listGroupSets: [], multiSelect: true, enableBrowserFilter: 0, showArchiveOption: archive };
179
208
  }
180
209
  if (kind === 'option') {
181
210
  const sets = buildOptionGroupSets(col?.config?.options, opts.optionShow, opts.optionDefault);
@@ -187,7 +216,7 @@ export function buildFilterDefaultSets(col, kind, opts = {}) {
187
216
  ...(onlyWithData ? { enableFilter: 1 } : {}),
188
217
  ...count,
189
218
  enableBrowserFilter: 0,
190
- showArchiveOption: '1',
219
+ showArchiveOption: archive,
191
220
  };
192
221
  }
193
222
  if (kind === 'date') {
@@ -205,7 +234,7 @@ export function buildFilterDefaultSets(col, kind, opts = {}) {
205
234
  enableBrowserFilter: 0,
206
235
  defaultValueType: '1',
207
236
  ...(defaultValue ? { defaultValue } : {}),
208
- showArchiveOption: '1',
237
+ showArchiveOption: archive,
209
238
  };
210
239
  }
211
240
  // browser
@@ -218,7 +247,7 @@ export function buildFilterDefaultSets(col, kind, opts = {}) {
218
247
  ...count,
219
248
  optionOrderConfig: opts.optionOrder ?? '0',
220
249
  enableBrowserFilter: 0,
221
- showArchiveOption: '1',
250
+ showArchiveOption: archive,
222
251
  };
223
252
  }
224
253
  /**
@@ -242,14 +271,64 @@ export function buildGroupFilterEntry(col, opts = {}) {
242
271
  text: col?.text,
243
272
  config: col?.config ?? {},
244
273
  expandMethod: '0',
245
- showPosition: opts.position ?? '1',
246
- tabStyle: 'select',
274
+ showPosition: opts.position ?? '0',
275
+ tabStyle: opts.tabStyle ?? 'select',
247
276
  objId: col?.objId,
248
277
  fieldType: col?.type,
249
278
  type: col?.type,
250
279
  listFilterDefaultSets: buildFilterDefaultSets(col, kind, opts),
251
280
  };
252
281
  }
282
+ /** 自定义分类(GroupCustom)的组件键。它不是表单字段,条目只存一个引用。 */
283
+ export const CUSTOM_GROUP_COMP = 'GroupCustom';
284
+ /**
285
+ * 自定义分类 id:平台前端用 `UUID(18,10)` 生成 18 位数字 id,**没有接口返回**
286
+ * (2026-10-23 读 FieldSearch 前端包确认)。这里按同样形状生成,并避开已有条目。
287
+ */
288
+ export function genCustomGroupId(existing = []) {
289
+ const taken = new Set(existing.flatMap((g) => [String(g?.id ?? ''), String(g?.fieldId ?? '')]));
290
+ for (let attempt = 0; attempt < 100; attempt++) {
291
+ let id = String(randomInt(1, 10));
292
+ for (let i = 0; i < 17; i++)
293
+ id += String(randomInt(0, 10));
294
+ if (!taken.has(id) && !taken.has(`${CUSTOM_GROUP_COMP}_${id}`))
295
+ return id;
296
+ }
297
+ throw new Error('生成自定义分类 id 失败:连续 100 次都与已有条目冲突');
298
+ }
299
+ /**
300
+ * 一条「自定义分类」(GroupCustom)。
301
+ *
302
+ * 平台「添加分类」先建 `{fieldId:"-1", componentKey:"GroupCustom"}`,保存时由前端补 18 位 id,
303
+ * `fieldId = "GroupCustom_<id>"`;分类值 `listGroupSets` 初始为空,之后在设计器里配置。
304
+ * 这里按实测条目形状构造(含「显示方式」`tabStyle` 与「显示封存的选项」`showArchiveOption`)。
305
+ */
306
+ export function buildCustomGroupFilterEntry(showName, opts = {}) {
307
+ const name = String(showName ?? '').trim();
308
+ if (!name)
309
+ throw new Error('自定义分类名称不能为空');
310
+ const id = String(opts.id || genCustomGroupId());
311
+ const fieldId = `${CUSTOM_GROUP_COMP}_${id}`;
312
+ return {
313
+ id,
314
+ fieldId,
315
+ name: fieldId,
316
+ fieldName: fieldId,
317
+ componentKey: CUSTOM_GROUP_COMP,
318
+ showName: name,
319
+ showPosition: opts.position ?? '0',
320
+ tabStyle: opts.tabStyle ?? 'select',
321
+ listFilterDefaultSets: {
322
+ listGroupSets: [],
323
+ multiSelect: false,
324
+ tileOptionNoGroupConfig: { isShow: true },
325
+ enableShowCountNum: opts.showCount === false ? 0 : 1,
326
+ showCountNumType: opts.countUpdate === true ? 'withConditionUpdate' : 'notUpdate',
327
+ enableShowCountNumLimit: 0,
328
+ showArchiveOption: opts.showArchive === false ? '0' : '1',
329
+ },
330
+ };
331
+ }
253
332
  /** 候选字段:`getNListConfig` 回包里的 `fieldUsage[0].fields[]`(含系统字段)。 */
254
333
  export function extractCandidateColumns(listConfig) {
255
334
  const arr = listConfig?.fieldUsage?.[0]?.fields;