@researchdatabox/sails-ng-common 0.2.0 → 5.0.0-RC1

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 (237) hide show
  1. package/dist/src/config/base-field-component.model.d.ts +26 -0
  2. package/dist/src/config/base-field-component.model.js +29 -0
  3. package/dist/src/config/base-field-component.outline.d.ts +108 -0
  4. package/dist/src/config/base-field-component.outline.js +3 -0
  5. package/dist/src/config/component/accordion.model.d.ts +103 -0
  6. package/dist/src/config/component/accordion.model.js +127 -0
  7. package/dist/src/config/component/accordion.outline.d.ts +162 -0
  8. package/dist/src/config/component/accordion.outline.js +13 -0
  9. package/dist/src/config/component/action-row-layout.model.d.ts +28 -0
  10. package/dist/src/config/component/action-row-layout.model.js +35 -0
  11. package/dist/src/config/component/action-row-layout.outline.d.ts +36 -0
  12. package/dist/src/config/component/action-row-layout.outline.js +6 -0
  13. package/dist/src/config/component/cancel-button.model.d.ts +48 -0
  14. package/dist/src/config/component/cancel-button.model.js +58 -0
  15. package/dist/src/config/component/cancel-button.outline.d.ts +85 -0
  16. package/dist/src/config/component/cancel-button.outline.js +6 -0
  17. package/dist/src/config/component/checkbox-input.model.d.ts +67 -0
  18. package/dist/src/config/component/checkbox-input.model.js +79 -0
  19. package/dist/src/config/component/checkbox-input.outline.d.ts +93 -0
  20. package/dist/src/config/component/checkbox-input.outline.js +8 -0
  21. package/dist/src/config/component/checkbox-tree.model.d.ts +68 -0
  22. package/dist/src/config/component/checkbox-tree.model.js +80 -0
  23. package/dist/src/config/component/checkbox-tree.outline.d.ts +105 -0
  24. package/dist/src/config/component/checkbox-tree.outline.js +8 -0
  25. package/dist/src/config/component/content.model.d.ts +46 -0
  26. package/dist/src/config/component/content.model.js +56 -0
  27. package/dist/src/config/component/content.outline.d.ts +74 -0
  28. package/dist/src/config/component/content.outline.js +6 -0
  29. package/dist/src/config/component/data-location.model.d.ts +83 -0
  30. package/dist/src/config/component/data-location.model.js +95 -0
  31. package/dist/src/config/component/data-location.outline.d.ts +124 -0
  32. package/dist/src/config/component/data-location.outline.js +6 -0
  33. package/dist/src/config/component/date-input.model.d.ts +67 -0
  34. package/dist/src/config/component/date-input.model.js +80 -0
  35. package/dist/src/config/component/date-input.outline.d.ts +88 -0
  36. package/dist/src/config/component/date-input.outline.js +8 -0
  37. package/dist/src/config/component/default-layout.model.d.ts +22 -0
  38. package/dist/src/config/component/default-layout.model.js +30 -0
  39. package/dist/src/config/component/default-layout.outline.d.ts +29 -0
  40. package/dist/src/config/component/default-layout.outline.js +5 -0
  41. package/dist/src/config/component/delete-button.model.d.ts +46 -0
  42. package/dist/src/config/component/delete-button.model.js +48 -0
  43. package/dist/src/config/component/delete-button.outline.d.ts +89 -0
  44. package/dist/src/config/component/delete-button.outline.js +5 -0
  45. package/dist/src/config/component/dropdown-input.model.d.ts +65 -0
  46. package/dist/src/config/component/dropdown-input.model.js +78 -0
  47. package/dist/src/config/component/dropdown-input.outline.d.ts +92 -0
  48. package/dist/src/config/component/dropdown-input.outline.js +8 -0
  49. package/dist/src/config/component/file-upload.model.d.ts +67 -0
  50. package/dist/src/config/component/file-upload.model.js +81 -0
  51. package/dist/src/config/component/file-upload.outline.d.ts +99 -0
  52. package/dist/src/config/component/file-upload.outline.js +8 -0
  53. package/dist/src/config/component/group.model.d.ts +61 -0
  54. package/dist/src/config/component/group.model.js +75 -0
  55. package/dist/src/config/component/group.outline.d.ts +83 -0
  56. package/dist/src/config/component/group.outline.js +8 -0
  57. package/dist/src/config/component/inline-layout.model.d.ts +22 -0
  58. package/dist/src/config/component/inline-layout.model.js +29 -0
  59. package/dist/src/config/component/inline-layout.outline.d.ts +29 -0
  60. package/dist/src/config/component/inline-layout.outline.js +5 -0
  61. package/dist/src/config/component/integration-status.model.d.ts +49 -0
  62. package/dist/src/config/component/integration-status.model.js +65 -0
  63. package/dist/src/config/component/integration-status.outline.d.ts +61 -0
  64. package/dist/src/config/component/integration-status.outline.js +5 -0
  65. package/dist/src/config/component/map.model.d.ts +69 -0
  66. package/dist/src/config/component/map.model.js +86 -0
  67. package/dist/src/config/component/map.outline.d.ts +110 -0
  68. package/dist/src/config/component/map.outline.js +8 -0
  69. package/dist/src/config/component/pdf-list.model.d.ts +68 -0
  70. package/dist/src/config/component/pdf-list.model.js +71 -0
  71. package/dist/src/config/component/pdf-list.outline.d.ts +97 -0
  72. package/dist/src/config/component/pdf-list.outline.js +6 -0
  73. package/dist/src/config/component/publish-data-location-refresh.model.d.ts +39 -0
  74. package/dist/src/config/component/publish-data-location-refresh.model.js +52 -0
  75. package/dist/src/config/component/publish-data-location-refresh.outline.d.ts +58 -0
  76. package/dist/src/config/component/publish-data-location-refresh.outline.js +5 -0
  77. package/dist/src/config/component/publish-data-location-selector.model.d.ts +78 -0
  78. package/dist/src/config/component/publish-data-location-selector.model.js +104 -0
  79. package/dist/src/config/component/publish-data-location-selector.outline.d.ts +110 -0
  80. package/dist/src/config/component/publish-data-location-selector.outline.js +6 -0
  81. package/dist/src/config/component/question-tree.helper.d.ts +58 -0
  82. package/dist/src/config/component/question-tree.helper.js +291 -0
  83. package/dist/src/config/component/question-tree.model.d.ts +64 -0
  84. package/dist/src/config/component/question-tree.model.js +80 -0
  85. package/dist/src/config/component/question-tree.outline.d.ts +314 -0
  86. package/dist/src/config/component/question-tree.outline.js +9 -0
  87. package/dist/src/config/component/radio-input.model.d.ts +65 -0
  88. package/dist/src/config/component/radio-input.model.js +77 -0
  89. package/dist/src/config/component/radio-input.outline.d.ts +91 -0
  90. package/dist/src/config/component/radio-input.outline.js +8 -0
  91. package/dist/src/config/component/record-metadata-retriever.model.d.ts +41 -0
  92. package/dist/src/config/component/record-metadata-retriever.model.js +57 -0
  93. package/dist/src/config/component/record-metadata-retriever.outline.d.ts +53 -0
  94. package/dist/src/config/component/record-metadata-retriever.outline.js +5 -0
  95. package/dist/src/config/component/record-selector.model.d.ts +61 -0
  96. package/dist/src/config/component/record-selector.model.js +61 -0
  97. package/dist/src/config/component/record-selector.outline.d.ts +91 -0
  98. package/dist/src/config/component/record-selector.outline.js +6 -0
  99. package/dist/src/config/component/repeatable.model.d.ts +91 -0
  100. package/dist/src/config/component/repeatable.model.js +112 -0
  101. package/dist/src/config/component/repeatable.outline.d.ts +115 -0
  102. package/dist/src/config/component/repeatable.outline.js +10 -0
  103. package/dist/src/config/component/reusable.model.d.ts +42 -0
  104. package/dist/src/config/component/reusable.model.js +57 -0
  105. package/dist/src/config/component/reusable.outline.d.ts +55 -0
  106. package/dist/src/config/component/reusable.outline.js +6 -0
  107. package/dist/src/config/component/rich-text-editor.model.d.ts +65 -0
  108. package/dist/src/config/component/rich-text-editor.model.js +79 -0
  109. package/dist/src/config/component/rich-text-editor.outline.d.ts +92 -0
  110. package/dist/src/config/component/rich-text-editor.outline.js +8 -0
  111. package/dist/src/config/component/save-button.model.d.ts +49 -0
  112. package/dist/src/config/component/save-button.model.js +59 -0
  113. package/dist/src/config/component/save-button.outline.d.ts +90 -0
  114. package/dist/src/config/component/save-button.outline.js +6 -0
  115. package/dist/src/config/component/save-status.model.d.ts +42 -0
  116. package/dist/src/config/component/save-status.model.js +60 -0
  117. package/dist/src/config/component/save-status.outline.d.ts +58 -0
  118. package/dist/src/config/component/save-status.outline.js +6 -0
  119. package/dist/src/config/component/simple-input.model.d.ts +62 -0
  120. package/dist/src/config/component/simple-input.model.js +75 -0
  121. package/dist/src/config/component/simple-input.outline.d.ts +86 -0
  122. package/dist/src/config/component/simple-input.outline.js +9 -0
  123. package/dist/src/config/component/suggested-validation-summary.model.d.ts +45 -0
  124. package/dist/src/config/component/suggested-validation-summary.model.js +61 -0
  125. package/dist/src/config/component/suggested-validation-summary.outline.d.ts +57 -0
  126. package/dist/src/config/component/suggested-validation-summary.outline.js +5 -0
  127. package/dist/src/config/component/tab-content.model.d.ts +63 -0
  128. package/dist/src/config/component/tab-content.model.js +77 -0
  129. package/dist/src/config/component/tab-content.outline.d.ts +98 -0
  130. package/dist/src/config/component/tab-content.outline.js +8 -0
  131. package/dist/src/config/component/tab-nav-button.model.d.ts +45 -0
  132. package/dist/src/config/component/tab-nav-button.model.js +55 -0
  133. package/dist/src/config/component/tab-nav-button.outline.d.ts +70 -0
  134. package/dist/src/config/component/tab-nav-button.outline.js +6 -0
  135. package/dist/src/config/component/tab.model.d.ts +71 -0
  136. package/dist/src/config/component/tab.model.js +84 -0
  137. package/dist/src/config/component/tab.outline.d.ts +112 -0
  138. package/dist/src/config/component/tab.outline.js +9 -0
  139. package/dist/src/config/component/text-area.model.d.ts +63 -0
  140. package/dist/src/config/component/text-area.model.js +76 -0
  141. package/dist/src/config/component/text-area.outline.d.ts +87 -0
  142. package/dist/src/config/component/text-area.outline.js +8 -0
  143. package/dist/src/config/component/typeahead-input.model.d.ts +83 -0
  144. package/dist/src/config/component/typeahead-input.model.js +97 -0
  145. package/dist/src/config/component/typeahead-input.outline.d.ts +199 -0
  146. package/dist/src/config/component/typeahead-input.outline.js +10 -0
  147. package/dist/src/config/component/validation-summary.model.d.ts +42 -0
  148. package/dist/src/config/component/validation-summary.model.js +60 -0
  149. package/dist/src/config/component/validation-summary.outline.d.ts +63 -0
  150. package/dist/src/config/component/validation-summary.outline.js +6 -0
  151. package/dist/src/config/dictionary.model.d.ts +648 -0
  152. package/dist/src/config/dictionary.model.js +181 -0
  153. package/dist/src/config/dictionary.outline.d.ts +96 -0
  154. package/dist/src/config/dictionary.outline.js +3 -0
  155. package/dist/src/config/field-component.model.d.ts +7 -0
  156. package/dist/src/config/field-component.model.js +11 -0
  157. package/dist/src/config/field-component.outline.d.ts +20 -0
  158. package/dist/src/config/field-component.outline.js +3 -0
  159. package/dist/src/config/field-layout.model.d.ts +19 -0
  160. package/dist/src/config/field-layout.model.js +23 -0
  161. package/dist/src/config/field-layout.outline.d.ts +42 -0
  162. package/dist/src/config/field-layout.outline.js +3 -0
  163. package/dist/src/config/field-model.model.d.ts +21 -0
  164. package/dist/src/config/field-model.model.js +24 -0
  165. package/dist/src/config/field-model.outline.d.ts +63 -0
  166. package/dist/src/config/field-model.outline.js +3 -0
  167. package/dist/src/config/field.model.d.ts +12 -0
  168. package/dist/src/config/field.model.js +12 -0
  169. package/dist/src/config/field.outline.d.ts +19 -0
  170. package/dist/src/config/field.outline.js +3 -0
  171. package/dist/src/config/form-behaviour.outline.d.ts +128 -0
  172. package/dist/src/config/form-behaviour.outline.js +40 -0
  173. package/dist/src/config/form-component.model.d.ts +38 -0
  174. package/dist/src/config/form-component.model.js +36 -0
  175. package/dist/src/config/form-component.outline.d.ts +305 -0
  176. package/dist/src/config/form-component.outline.js +27 -0
  177. package/dist/src/config/form-config.model.d.ts +33 -0
  178. package/dist/src/config/form-config.model.js +36 -0
  179. package/dist/src/config/form-config.outline.d.ts +111 -0
  180. package/dist/src/config/form-config.outline.js +3 -0
  181. package/dist/src/config/form-override.model.d.ts +146 -0
  182. package/dist/src/config/form-override.model.js +1523 -0
  183. package/dist/src/config/form-override.outline.d.ts +15 -0
  184. package/dist/src/config/form-override.outline.js +3 -0
  185. package/dist/src/config/form-prehydrate.outline.d.ts +17 -0
  186. package/dist/src/config/form-prehydrate.outline.js +5 -0
  187. package/dist/src/config/form-types.model.d.ts +6 -0
  188. package/dist/src/config/form-types.model.js +23 -0
  189. package/dist/src/config/form-types.outline.d.ts +48 -0
  190. package/dist/src/config/form-types.outline.js +137 -0
  191. package/dist/src/config/helpers.d.ts +31 -0
  192. package/dist/src/config/helpers.js +122 -0
  193. package/dist/src/config/names/naming-helpers.d.ts +112 -0
  194. package/dist/src/config/names/naming-helpers.js +188 -0
  195. package/dist/src/config/names/query-helpers.d.ts +43 -0
  196. package/dist/src/config/names/query-helpers.js +59 -0
  197. package/dist/src/config/shared.outline.d.ts +54 -0
  198. package/dist/src/config/shared.outline.js +41 -0
  199. package/dist/src/config/visitor/base.model.d.ts +143 -0
  200. package/dist/src/config/visitor/base.model.js +336 -0
  201. package/dist/src/config/visitor/base.outline.d.ts +146 -0
  202. package/dist/src/config/visitor/base.outline.js +3 -0
  203. package/dist/src/config/visitor/common.model.d.ts +119 -0
  204. package/dist/src/config/visitor/common.model.js +422 -0
  205. package/dist/src/date-format-helpers.d.ts +1 -0
  206. package/dist/src/date-format-helpers.js +21 -0
  207. package/dist/src/handlebars-helpers.d.ts +258 -0
  208. package/dist/src/handlebars-helpers.js +715 -0
  209. package/dist/src/html-helpers.d.ts +15 -0
  210. package/dist/src/html-helpers.js +42 -0
  211. package/dist/src/index.d.ts +118 -3
  212. package/dist/src/index.js +127 -2
  213. package/dist/src/jsonata-helpers.d.ts +40 -0
  214. package/dist/src/jsonata-helpers.js +118 -0
  215. package/dist/src/logger.interface.d.ts +14 -0
  216. package/dist/src/logger.interface.js +3 -0
  217. package/dist/src/record.model.d.ts +23 -0
  218. package/dist/src/record.model.js +19 -1
  219. package/dist/src/report.model.d.ts +46 -0
  220. package/dist/src/status.model.d.ts +22 -0
  221. package/dist/src/status.model.js +28 -0
  222. package/dist/src/template.outline.d.ts +82 -0
  223. package/dist/src/template.outline.js +14 -0
  224. package/dist/src/translation-helpers.d.ts +26 -0
  225. package/dist/src/translation-helpers.js +71 -0
  226. package/dist/src/validation/form.model.d.ts +306 -24
  227. package/dist/src/validation/form.model.js +29 -1
  228. package/dist/src/validation/helpers.d.ts +15 -7
  229. package/dist/src/validation/helpers.js +49 -13
  230. package/dist/src/validation/validators-support.d.ts +39 -2
  231. package/dist/src/validation/validators-support.js +162 -12
  232. package/dist/src/validation/validators.d.ts +28 -0
  233. package/dist/src/validation/validators.js +531 -0
  234. package/package.json +51 -34
  235. package/LICENSE +0 -674
  236. package/dist/src/validation/index.d.ts +0 -1
  237. package/dist/src/validation/index.js +0 -18
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ // Copyright (c) 2025 Queensland Cyber Infrastructure Foundation (http://www.qcif.edu.au/)
3
+ //
4
+ // GNU GENERAL PUBLIC LICENSE
5
+ // Version 2, June 1991
6
+ //
7
+ // This program is free software; you can redistribute it and/or modify
8
+ // it under the terms of the GNU General Public License as published by
9
+ // the Free Software Foundation; either version 2 of the License, or
10
+ // (at your option) any later version.
11
+ //
12
+ // This program is distributed in the hope that it will be useful,
13
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ // GNU General Public License for more details.
16
+ //
17
+ // You should have received a copy of the GNU General Public License along
18
+ // with this program; if not, write to the Free Software Foundation, Inc.,
19
+ // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.buildLineagePaths = buildLineagePaths;
22
+ exports.getJSONPointerByArrayPaths = getJSONPointerByArrayPaths;
23
+ exports.getObjectWithJsonPointer = getObjectWithJsonPointer;
24
+ exports.getLastSegmentFromJSONPointer = getLastSegmentFromJSONPointer;
25
+ exports.normaliseVisual = normaliseVisual;
26
+ exports.isMatchingLineagePaths = isMatchingLineagePaths;
27
+ exports.isMatchingLineagePath = isMatchingLineagePath;
28
+ exports.isPrefixLineagePaths = isPrefixLineagePaths;
29
+ exports.isPrefixLineagePath = isPrefixLineagePath;
30
+ const json_pointer_1 = require("@jsonjoy.com/json-pointer");
31
+ const helpers_1 = require("../helpers");
32
+ /**
33
+ * Build the lineage paths from a base item, and add the entries in `more` as relative
34
+ * parts at the end of each lineage path. Undefined inputs default to empty arrays.
35
+ * This was previously an instance method of FormService.
36
+ */
37
+ function buildLineagePaths(base, more) {
38
+ const lineagePaths = {
39
+ formConfig: [...(base?.formConfig ?? []), ...(more?.formConfig ?? [])],
40
+ dataModel: [...(base?.dataModel ?? []), ...(more?.dataModel ?? [])],
41
+ angularComponents: [...(base?.angularComponents ?? []), ...(more?.angularComponents ?? [])],
42
+ layout: [...(base?.layout ?? []), ...(more?.layout ?? [])],
43
+ };
44
+ lineagePaths.angularComponentsJsonPointer = getJSONPointerByArrayPaths(lineagePaths.angularComponents);
45
+ lineagePaths.layoutJsonPointer = getJSONPointerByArrayPaths(lineagePaths.layout);
46
+ return lineagePaths;
47
+ }
48
+ /**
49
+ * Get a JSON Pointer string from an array of path segments.
50
+ *
51
+ * @param paths
52
+ * @returns JSON Pointer string
53
+ */
54
+ function getJSONPointerByArrayPaths(paths) {
55
+ try {
56
+ return (0, json_pointer_1.formatJsonPointer)(paths);
57
+ }
58
+ catch (err) {
59
+ console.error(`getJSONPointerByArrayPaths failed with paths '${paths}'`, err);
60
+ return "";
61
+ }
62
+ }
63
+ /**
64
+ * Retrieve any object property using a JSON Pointer or an array of path segments.
65
+ *
66
+ * @param obj
67
+ * @param pointer
68
+ * @returns JSON Pointer reference: {key: 'key', val: 'object value at key', obj: 'context object, 1 level up from key'}
69
+ */
70
+ function getObjectWithJsonPointer(obj, pointer) {
71
+ try {
72
+ if (Array.isArray(pointer)) {
73
+ return (0, json_pointer_1.find)(obj, pointer);
74
+ }
75
+ // Documentation has the order of the parameters reversed compared to the type definition.
76
+ return (0, json_pointer_1.findByPointer)(pointer, obj);
77
+ }
78
+ catch (e) {
79
+ console.error(`getObjectWithJsonPointer failed with obj '${obj}' and pointer '${pointer}'`, e);
80
+ // @jsonjoy.com/json-pointer throws on missing keys: `find` throws `new Error("NOT_FOUND")`,
81
+ // `findByPointer` throws the literal string "NOT_FOUND". All current callers are written
82
+ // as tolerant lookups (optional chaining / undefined checks), so treat a miss as undefined
83
+ // instead of letting the throw escape into Angular's global ErrorHandler.
84
+ const msg = e instanceof Error ? e.message : e;
85
+ if (msg === 'NOT_FOUND') {
86
+ return undefined;
87
+ }
88
+ throw e;
89
+ }
90
+ }
91
+ /**
92
+ * Retrieve the last segment of a JSONPointer string
93
+ */
94
+ function getLastSegmentFromJSONPointer(pointer) {
95
+ if (!pointer) {
96
+ return "";
97
+ }
98
+ if (!pointer.includes('/')) {
99
+ return pointer;
100
+ }
101
+ const segments = pointer.split('/');
102
+ return segments[segments.length - 1];
103
+ }
104
+ /**
105
+ * Normalise a string to reduce the potential variations in how characters are specified.
106
+ *
107
+ * @param value The value to normalise.
108
+ * @return The string normalised to remove visual variants.
109
+ */
110
+ function normaliseVisual(value) {
111
+ const str = value?.toString() ?? "";
112
+ // Use NFKC: Compatibility Decomposition, followed by Canonical Composition.
113
+ // For Identifiers matching: Canonical form, no visual variants
114
+ return str.normalize("NFKC");
115
+ }
116
+ /**
117
+ * Determine if every key present in both lineage paths match.
118
+ * @param a The first lineage paths object.
119
+ * @param b The second lineage paths object.
120
+ */
121
+ function isMatchingLineagePaths(a, b) {
122
+ const aRecord = a ?? {};
123
+ const bRecord = b ?? {};
124
+ const keys = Array.from(new Set([...Object.keys(aRecord), ...Object.keys(bRecord)]));
125
+ return keys.every(key => {
126
+ if (key in aRecord && key in bRecord) {
127
+ const aValue = aRecord[key] ?? "";
128
+ const bValue = bRecord[key] ?? "";
129
+ return aValue === bValue || isMatchingLineagePath(aValue, bValue);
130
+ }
131
+ // A key in only a or b is allowed.
132
+ return true;
133
+ });
134
+ }
135
+ /**
136
+ * Determine if two lineage paths or strings are equal.
137
+ * @param a The first lineage path or string.
138
+ * @param b The second lineage path or string.
139
+ */
140
+ function isMatchingLineagePath(a, b) {
141
+ if (typeof a === "string" && typeof b === "string") {
142
+ return a === b;
143
+ }
144
+ if (!Array.isArray(a) || !Array.isArray(b)) {
145
+ return false;
146
+ }
147
+ if (a.length !== b.length) {
148
+ return false;
149
+ }
150
+ return a.every((aValue, aIndex) => aValue?.toString() === b[aIndex]?.toString());
151
+ }
152
+ /**
153
+ * Determine if every key (present in both lineage paths) of a lineage path starts with a base lineage path.
154
+ * @param base The prefix lineage paths object.
155
+ * @param check The lineage paths object that should start with the prefix.
156
+ */
157
+ function isPrefixLineagePaths(base, check) {
158
+ const aRecord = base ?? {};
159
+ const bRecord = check ?? {};
160
+ const keys = Array.from(new Set([...Object.keys(aRecord), ...Object.keys(bRecord)]));
161
+ return keys.every(key => {
162
+ if (key in aRecord && key in bRecord) {
163
+ const aValue = aRecord[key] ?? "";
164
+ const bValue = bRecord[key] ?? "";
165
+ return aValue === bValue || isPrefixLineagePath(aValue, bValue);
166
+ }
167
+ // A key in only base or check is allowed.
168
+ return true;
169
+ });
170
+ }
171
+ /**
172
+ * Determine if a check lineage path starts with a base lineage path.
173
+ * @param base The prefix.
174
+ * @param check The item that should start with prefix.
175
+ */
176
+ function isPrefixLineagePath(base, check) {
177
+ if (typeof base === "string" && typeof check === "string") {
178
+ return base === check || check.startsWith(base + '/');
179
+ }
180
+ if (!Array.isArray(base) || !Array.isArray(check)) {
181
+ return false;
182
+ }
183
+ if (base.length === 0 && check.length === 0) {
184
+ return true;
185
+ }
186
+ return (0, helpers_1.arrayStartsWithArray)(base.map(i => i?.toString()), check.map(i => i?.toString()));
187
+ }
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtaW5nLWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29uZmlnL25hbWVzL25hbWluZy1oZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwRkFBMEY7QUFDMUYsRUFBRTtBQUNGLDZCQUE2QjtBQUM3QiwwQkFBMEI7QUFDMUIsRUFBRTtBQUNGLHVFQUF1RTtBQUN2RSx1RUFBdUU7QUFDdkUsb0VBQW9FO0FBQ3BFLHNDQUFzQztBQUN0QyxFQUFFO0FBQ0Ysa0VBQWtFO0FBQ2xFLGlFQUFpRTtBQUNqRSxnRUFBZ0U7QUFDaEUsK0NBQStDO0FBQy9DLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsMEVBQTBFO0FBQzFFLDhEQUE4RDs7QUF5RTlELDhDQVVDO0FBU0QsZ0VBT0M7QUFTRCw0REFtQkM7QUFLRCxzRUFTQztBQVFELDBDQU1DO0FBT0Qsd0RBYUM7QUFPRCxzREFXQztBQU9ELG9EQWFDO0FBT0Qsa0RBY0M7QUF4T0QsNERBQWlGO0FBQ2pGLHdDQUFnRDtBQWlFaEQ7Ozs7R0FJRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLElBQW1CLEVBQUUsSUFBMEI7SUFDN0UsTUFBTSxZQUFZLEdBQWlCO1FBQy9CLFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3RFLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLEVBQUUsU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ25FLGlCQUFpQixFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxpQkFBaUIsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFLGlCQUFpQixJQUFJLEVBQUUsQ0FB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
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Helpers for querying components using JSONata.
3
+ *
4
+ * Note: these functions are intended to be generic and reusable across contexts, i.e. server and client-side. Further specialisation may be required to be more useful in the specific context.
5
+ */
6
+ import { LineagePaths } from "./naming-helpers";
7
+ /**
8
+ * Entry representing a property in the JSONata query source tree. This must have no circular references, see: https://docs.jsonata.org/next/embedding-extending#expressionevaluateinput-bindings-callback
9
+ */
10
+ export interface JSONataQuerySourceProperty {
11
+ name: string;
12
+ lineagePaths?: LineagePaths;
13
+ jsonPointer?: string;
14
+ children?: JSONataQuerySourceProperty[];
15
+ }
16
+ export type FormRequestParamValue = string | string[] | true;
17
+ export type FormRequestParamsMap = Readonly<Record<string, FormRequestParamValue>>;
18
+ export interface JSONataQueryRuntimeContext {
19
+ requestParams?: FormRequestParamsMap;
20
+ [key: string]: unknown;
21
+ }
22
+ export interface JSONataQuerySource {
23
+ queryOrigSource: unknown;
24
+ querySource: JSONataQuerySourceProperty[];
25
+ jsonPointerSource: unknown;
26
+ runtimeContext?: JSONataQueryRuntimeContext;
27
+ }
28
+ /**
29
+ * Performs a deep copy of an object, removing circular references.
30
+ *
31
+ * TODO: Consider trimming more properties that are not needed querying.
32
+ *
33
+ * @param obj
34
+ * @returns
35
+ */
36
+ export declare function decycleObjectForJSONata(obj: any): any;
37
+ /**
38
+ * Simple query function for string inputs. Not meant for integration with the form app, which requires pre-compilation.
39
+ *
40
+ * @param querySource
41
+ * @param query
42
+ */
43
+ export declare function queryJSONata(querySource: JSONataQuerySource, query: string): Promise<any>;
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ // Copyright (c) 2025 Queensland Cyber Infrastructure Foundation (http://www.qcif.edu.au/)
3
+ //
4
+ // GNU GENERAL PUBLIC LICENSE
5
+ // Version 2, June 1991
6
+ //
7
+ // This program is free software; you can redistribute it and/or modify
8
+ // it under the terms of the GNU General Public License as published by
9
+ // the Free Software Foundation; either version 2 of the License, or
10
+ // (at your option) any later version.
11
+ //
12
+ // This program is distributed in the hope that it will be useful,
13
+ // but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ // GNU General Public License for more details.
16
+ //
17
+ // You should have received a copy of the GNU General Public License along
18
+ // with this program; if not, write to the Free Software Foundation, Inc.,
19
+ // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.decycleObjectForJSONata = decycleObjectForJSONata;
22
+ exports.queryJSONata = queryJSONata;
23
+ const jsonata_helpers_1 = require("../../jsonata-helpers");
24
+ /**
25
+ * Performs a deep copy of an object, removing circular references.
26
+ *
27
+ * TODO: Consider trimming more properties that are not needed querying.
28
+ *
29
+ * @param obj
30
+ * @returns
31
+ */
32
+ function decycleObjectForJSONata(obj) {
33
+ const cache = new Set();
34
+ return JSON.parse(JSON.stringify(obj, (key, value) => {
35
+ if (typeof value === 'function') {
36
+ return; // Remove functions
37
+ }
38
+ if (typeof value === 'object' && value !== null) {
39
+ if (cache.has(value)) {
40
+ // Circular reference found, discard key
41
+ return;
42
+ }
43
+ cache.add(value);
44
+ }
45
+ return value;
46
+ }));
47
+ }
48
+ /**
49
+ * Simple query function for string inputs. Not meant for integration with the form app, which requires pre-compilation.
50
+ *
51
+ * @param querySource
52
+ * @param query
53
+ */
54
+ async function queryJSONata(querySource, query) {
55
+ // `.querySource` should already have no circular references, but just in case...
56
+ const queryDoc = decycleObjectForJSONata(querySource.querySource);
57
+ return await (0, jsonata_helpers_1.jsonataCompileAndEvaluate)(query, queryDoc);
58
+ }
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb25maWcvbmFtZXMvcXVlcnktaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsMEZBQTBGO0FBQzFGLEVBQUU7QUFDRiw2QkFBNkI7QUFDN0IsMEJBQTBCO0FBQzFCLEVBQUU7QUFDRix1RUFBdUU7QUFDdkUsdUVBQXVFO0FBQ3ZFLG9FQUFvRTtBQUNwRSxzQ0FBc0M7QUFDdEMsRUFBRTtBQUNGLGtFQUFrRTtBQUNsRSxpRUFBaUU7QUFDakUsZ0VBQWdFO0FBQ2hFLCtDQUErQztBQUMvQyxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLDBFQUEwRTtBQUMxRSw4REFBOEQ7O0FBbUQ5RCwwREFlQztBQVFELG9DQUlDO0FBcEVELDJEQUFnRTtBQWlDaEU7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLHVCQUF1QixDQUFDLEdBQVE7SUFDOUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN4QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUU7UUFDbkQsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNoQyxPQUFPLENBQUMsbUJBQW1CO1FBQzdCLENBQUM7UUFDRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDaEQsSUFBSSxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3JCLHdDQUF3QztnQkFDeEMsT0FBTztZQUNULENBQUM7WUFDRCxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSSxLQUFLLFVBQVUsWUFBWSxDQUFDLFdBQStCLEVBQUUsS0FBYTtJQUMvRSxpRkFBaUY7SUFDakYsTUFBTSxRQUFRLEdBQUcsdUJBQXVCLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2xFLE9BQU8sTUFBTSxJQUFBLDJDQUF5QixFQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQztBQUMxRCxDQUFDIn0=
@@ -0,0 +1,54 @@
1
+ /**
2
+ * A property that can be one of a record with string keys and values,
3
+ * a string, null, or undefined.
4
+ */
5
+ export type KeyValueStringProperty = Record<string, string> | string | null | undefined;
6
+ /**
7
+ * A property that can be one of a record with string keys and record values,
8
+ * a string, null, or undefined.
9
+ */
10
+ export type KeyValueStringNested = Record<string, KeyValueStringProperty> | string | null | undefined;
11
+ export declare const FormComponentDefinitionFrameKind: "FormComponentDefinitionFrameKind";
12
+ export type FormComponentDefinitionFrameKindType = typeof FormComponentDefinitionFrameKind;
13
+ export declare const FormComponentDefinitionKind: "FormComponentDefinitionKind";
14
+ export type FormComponentDefinitionKindType = typeof FormComponentDefinitionKind;
15
+ export declare const FieldComponentDefinitionFrameKind: "FieldComponentDefinitionFrameKind";
16
+ export type FieldComponentDefinitionFrameKindType = typeof FieldComponentDefinitionFrameKind;
17
+ export declare const FieldComponentDefinitionKind: "FieldComponentDefinitionKind";
18
+ export type FieldComponentDefinitionKindType = typeof FieldComponentDefinitionKind;
19
+ export declare const FieldComponentConfigFrameKind: "FieldComponentConfigFrameKind";
20
+ export type FieldComponentConfigFrameKindType = typeof FieldComponentConfigFrameKind;
21
+ export declare const FieldComponentConfigKind: "FieldComponentConfigKind";
22
+ export type FieldComponentConfigKindType = typeof FieldComponentConfigKind;
23
+ export declare const FieldModelDefinitionFrameKind: "FieldModelDefinitionFrameKind";
24
+ export type FieldModelDefinitionFrameKindType = typeof FieldModelDefinitionFrameKind;
25
+ export declare const FieldModelDefinitionKind: "FieldModelDefinitionKind";
26
+ export type FieldModelDefinitionKindType = typeof FieldModelDefinitionKind;
27
+ export declare const FieldModelConfigFrameKind: "FieldModelConfigFrameKind";
28
+ export type FieldModelConfigFrameKindType = typeof FieldModelConfigFrameKind;
29
+ export declare const FieldModelConfigKind: "FieldModelConfigKind";
30
+ export type FieldModelConfigKindType = typeof FieldModelConfigKind;
31
+ export declare const FieldLayoutDefinitionFrameKind: "FieldLayoutDefinitionFrameKind";
32
+ export type FieldLayoutDefinitionFrameKindType = typeof FieldLayoutDefinitionFrameKind;
33
+ export declare const FieldLayoutDefinitionKind: "FieldLayoutDefinitionKind";
34
+ export type FieldLayoutDefinitionKindType = typeof FieldLayoutDefinitionKind;
35
+ export declare const FieldLayoutConfigFrameKind: "FieldLayoutConfigFrameKind";
36
+ export type FieldLayoutConfigFrameKindType = typeof FieldLayoutConfigFrameKind;
37
+ export declare const FieldLayoutConfigKind: "FieldLayoutConfigKind";
38
+ export type FieldLayoutConfigKindType = typeof FieldLayoutConfigKind;
39
+ /**
40
+ * All form and field kinds.
41
+ */
42
+ export declare const AllFormFieldKinds: readonly ["FormComponentDefinitionFrameKind", "FormComponentDefinitionKind", "FieldComponentDefinitionFrameKind", "FieldComponentDefinitionKind", "FieldComponentConfigFrameKind", "FieldComponentConfigKind", "FieldModelDefinitionFrameKind", "FieldModelDefinitionKind", "FieldModelConfigFrameKind", "FieldModelConfigKind", "FieldLayoutDefinitionFrameKind", "FieldLayoutDefinitionKind", "FieldLayoutConfigFrameKind", "FieldLayoutConfigKind"];
43
+ /**
44
+ * All form and field kind types.
45
+ */
46
+ export type AllFormFieldKindTypes = typeof AllFormFieldKinds[number];
47
+ /**
48
+ * The available form modes.
49
+ */
50
+ export declare const formModesConfig: readonly ["edit", "view"];
51
+ /**
52
+ * The available form modes as a typescript type.
53
+ */
54
+ export type FormModesConfig = typeof formModesConfig[number];
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formModesConfig = exports.AllFormFieldKinds = exports.FieldLayoutConfigKind = exports.FieldLayoutConfigFrameKind = exports.FieldLayoutDefinitionKind = exports.FieldLayoutDefinitionFrameKind = exports.FieldModelConfigKind = exports.FieldModelConfigFrameKind = exports.FieldModelDefinitionKind = exports.FieldModelDefinitionFrameKind = exports.FieldComponentConfigKind = exports.FieldComponentConfigFrameKind = exports.FieldComponentDefinitionKind = exports.FieldComponentDefinitionFrameKind = exports.FormComponentDefinitionKind = exports.FormComponentDefinitionFrameKind = void 0;
4
+ exports.FormComponentDefinitionFrameKind = "FormComponentDefinitionFrameKind";
5
+ exports.FormComponentDefinitionKind = "FormComponentDefinitionKind";
6
+ exports.FieldComponentDefinitionFrameKind = "FieldComponentDefinitionFrameKind";
7
+ exports.FieldComponentDefinitionKind = "FieldComponentDefinitionKind";
8
+ exports.FieldComponentConfigFrameKind = "FieldComponentConfigFrameKind";
9
+ exports.FieldComponentConfigKind = "FieldComponentConfigKind";
10
+ exports.FieldModelDefinitionFrameKind = "FieldModelDefinitionFrameKind";
11
+ exports.FieldModelDefinitionKind = "FieldModelDefinitionKind";
12
+ exports.FieldModelConfigFrameKind = "FieldModelConfigFrameKind";
13
+ exports.FieldModelConfigKind = "FieldModelConfigKind";
14
+ exports.FieldLayoutDefinitionFrameKind = "FieldLayoutDefinitionFrameKind";
15
+ exports.FieldLayoutDefinitionKind = "FieldLayoutDefinitionKind";
16
+ exports.FieldLayoutConfigFrameKind = "FieldLayoutConfigFrameKind";
17
+ exports.FieldLayoutConfigKind = "FieldLayoutConfigKind";
18
+ /**
19
+ * All form and field kinds.
20
+ */
21
+ exports.AllFormFieldKinds = [
22
+ exports.FormComponentDefinitionFrameKind,
23
+ exports.FormComponentDefinitionKind,
24
+ exports.FieldComponentDefinitionFrameKind,
25
+ exports.FieldComponentDefinitionKind,
26
+ exports.FieldComponentConfigFrameKind,
27
+ exports.FieldComponentConfigKind,
28
+ exports.FieldModelDefinitionFrameKind,
29
+ exports.FieldModelDefinitionKind,
30
+ exports.FieldModelConfigFrameKind,
31
+ exports.FieldModelConfigKind,
32
+ exports.FieldLayoutDefinitionFrameKind,
33
+ exports.FieldLayoutDefinitionKind,
34
+ exports.FieldLayoutConfigFrameKind,
35
+ exports.FieldLayoutConfigKind,
36
+ ];
37
+ /**
38
+ * The available form modes.
39
+ */
40
+ exports.formModesConfig = ["edit", "view"];
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhcmVkLm91dGxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3NoYXJlZC5vdXRsaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVVhLFFBQUEsZ0NBQWdDLEdBQUcsa0NBQTJDLENBQUM7QUFFL0UsUUFBQSwyQkFBMkIsR0FBRyw2QkFBc0MsQ0FBQztBQUVyRSxRQUFBLGlDQUFpQyxHQUFHLG1DQUE0QyxDQUFDO0FBRWpGLFFBQUEsNEJBQTRCLEdBQUcsOEJBQXVDLENBQUM7QUFFdkUsUUFBQSw2QkFBNkIsR0FBRywrQkFBd0MsQ0FBQztBQUV6RSxRQUFBLHdCQUF3QixHQUFHLDBCQUFtQyxDQUFDO0FBRS9ELFFBQUEsNkJBQTZCLEdBQUcsK0JBQXdDLENBQUM7QUFFekUsUUFBQSx3QkFBd0IsR0FBRywwQkFBbUMsQ0FBQztBQUUvRCxRQUFBLHlCQUF5QixHQUFHLDJCQUFvQyxDQUFDO0FBRWpFLFFBQUEsb0JBQW9CLEdBQUcsc0JBQStCLENBQUM7QUFFdkQsUUFBQSw4QkFBOEIsR0FBRyxnQ0FBeUMsQ0FBQztBQUUzRSxRQUFBLHlCQUF5QixHQUFHLDJCQUFvQyxDQUFDO0FBRWpFLFFBQUEsMEJBQTBCLEdBQUcsNEJBQXFDLENBQUM7QUFFbkUsUUFBQSxxQkFBcUIsR0FBRyx1QkFBZ0MsQ0FBQztBQUd0RTs7R0FFRztBQUNVLFFBQUEsaUJBQWlCLEdBQUc7SUFDN0Isd0NBQWdDO0lBQ2hDLG1DQUEyQjtJQUMzQix5Q0FBaUM7SUFDakMsb0NBQTRCO0lBQzVCLHFDQUE2QjtJQUM3QixnQ0FBd0I7SUFDeEIscUNBQTZCO0lBQzdCLGdDQUF3QjtJQUN4QixpQ0FBeUI7SUFDekIsNEJBQW9CO0lBQ3BCLHNDQUE4QjtJQUM5QixpQ0FBeUI7SUFDekIsa0NBQTBCO0lBQzFCLDZCQUFxQjtDQUNmLENBQUM7QUFRWDs7R0FFRztBQUNVLFFBQUEsZUFBZSxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBVSxDQUFDIn0=
@@ -0,0 +1,143 @@
1
+ import { FormConfigOutline } from '../form-config.outline';
2
+ import { FormConfigVisitorOutline } from './base.outline';
3
+ import { SimpleInputFieldComponentDefinitionOutline, SimpleInputFieldModelDefinitionOutline, SimpleInputFormComponentDefinitionOutline } from '../component/simple-input.outline';
4
+ import { ContentFieldComponentDefinitionOutline, ContentFormComponentDefinitionOutline } from '../component/content.outline';
5
+ import { RepeatableElementFieldLayoutDefinitionOutline, RepeatableFieldComponentDefinitionOutline, RepeatableFieldModelDefinitionOutline, RepeatableFormComponentDefinitionOutline } from '../component/repeatable.outline';
6
+ import { ValidationSummaryFieldComponentDefinitionOutline, ValidationSummaryFormComponentDefinitionOutline } from '../component/validation-summary.outline';
7
+ import { SuggestedValidationSummaryFieldComponentDefinitionOutline, SuggestedValidationSummaryFormComponentDefinitionOutline } from '../component/suggested-validation-summary.outline';
8
+ import { GroupFieldComponentDefinitionOutline, GroupFieldModelDefinitionOutline, GroupFormComponentDefinitionOutline } from '../component/group.outline';
9
+ import { TabFieldComponentDefinitionOutline, TabFieldLayoutDefinitionOutline, TabFormComponentDefinitionOutline } from '../component/tab.outline';
10
+ import { AccordionFieldComponentDefinitionOutline, AccordionFieldLayoutDefinitionOutline, AccordionFormComponentDefinitionOutline, AccordionPanelFieldComponentDefinitionOutline, AccordionPanelFieldLayoutDefinitionOutline, AccordionPanelFormComponentDefinitionOutline } from '../component/accordion.outline';
11
+ import { TabContentFieldComponentDefinitionOutline, TabContentFieldLayoutDefinitionOutline, TabContentFormComponentDefinitionOutline } from '../component/tab-content.outline';
12
+ import { SaveButtonFieldComponentDefinitionOutline, SaveButtonFormComponentDefinitionOutline } from '../component/save-button.outline';
13
+ import { SaveStatusFieldComponentDefinitionOutline, SaveStatusFormComponentDefinitionOutline } from '../component/save-status.outline';
14
+ import { IntegrationStatusFieldComponentDefinitionOutline, IntegrationStatusFormComponentDefinitionOutline } from '../component/integration-status.outline';
15
+ import { CancelButtonFieldComponentDefinitionOutline, CancelButtonFormComponentDefinitionOutline } from '../component/cancel-button.outline';
16
+ import { DeleteButtonFieldComponentDefinitionOutline, DeleteButtonFormComponentDefinitionOutline } from '../component/delete-button.outline';
17
+ import { TabNavButtonFieldComponentDefinitionOutline, TabNavButtonFormComponentDefinitionOutline } from '../component/tab-nav-button.outline';
18
+ import { TextAreaFieldComponentDefinitionOutline, TextAreaFieldModelDefinitionOutline, TextAreaFormComponentDefinitionOutline } from '../component/text-area.outline';
19
+ import { DefaultFieldLayoutDefinitionOutline } from '../component/default-layout.outline';
20
+ import { ActionRowFieldLayoutDefinitionOutline } from '../component/action-row-layout.outline';
21
+ import { InlineFieldLayoutDefinitionOutline } from '../component/inline-layout.outline';
22
+ import { CheckboxInputFieldComponentDefinitionOutline, CheckboxInputFieldModelDefinitionOutline, CheckboxInputFormComponentDefinitionOutline } from '../component/checkbox-input.outline';
23
+ import { DropdownInputFieldComponentDefinitionOutline, DropdownInputFieldModelDefinitionOutline, DropdownInputFormComponentDefinitionOutline } from '../component/dropdown-input.outline';
24
+ import { RadioInputFieldComponentDefinitionOutline, RadioInputFieldModelDefinitionOutline, RadioInputFormComponentDefinitionOutline } from '../component/radio-input.outline';
25
+ import { DateInputFieldComponentDefinitionOutline, DateInputFieldModelDefinitionOutline, DateInputFormComponentDefinitionOutline } from '../component/date-input.outline';
26
+ import { ILogger } from '../../logger.interface';
27
+ import { ReusableFieldComponentDefinitionOutline, ReusableFormComponentDefinitionOutline } from '../component/reusable.outline';
28
+ import { QuestionTreeFieldComponentDefinitionOutline, QuestionTreeFieldModelDefinitionOutline, QuestionTreeFormComponentDefinitionOutline } from '../component/question-tree.outline';
29
+ import { CheckboxTreeFieldComponentDefinitionOutline, CheckboxTreeFieldModelDefinitionOutline, CheckboxTreeFormComponentDefinitionOutline } from '../component/checkbox-tree.outline';
30
+ import { RecordSelectorFieldComponentDefinitionOutline, RecordSelectorFieldModelDefinitionOutline, RecordSelectorFormComponentDefinitionOutline } from '../component/record-selector.outline';
31
+ import { TypeaheadInputFieldComponentDefinitionOutline, TypeaheadInputFieldModelDefinitionOutline, TypeaheadInputFormComponentDefinitionOutline } from '../component/typeahead-input.outline';
32
+ import { RichTextEditorFieldComponentDefinitionOutline, RichTextEditorFieldModelDefinitionOutline, RichTextEditorFormComponentDefinitionOutline } from '../component/rich-text-editor.outline';
33
+ import { MapFieldComponentDefinitionOutline, MapFieldModelDefinitionOutline, MapFormComponentDefinitionOutline } from '../component/map.outline';
34
+ import { FileUploadFieldComponentDefinitionOutline, FileUploadFieldModelDefinitionOutline, FileUploadFormComponentDefinitionOutline } from '../component/file-upload.outline';
35
+ import { PDFListFieldComponentDefinitionOutline, PDFListFieldModelDefinitionOutline, PDFListFormComponentDefinitionOutline } from '../component/pdf-list.outline';
36
+ import { RecordMetadataRetrieverFieldComponentDefinitionOutline, RecordMetadataRetrieverFormComponentDefinitionOutline } from '../component/record-metadata-retriever.outline';
37
+ import { DataLocationFieldComponentDefinitionOutline, DataLocationFieldModelDefinitionOutline, DataLocationFormComponentDefinitionOutline } from '../component/data-location.outline';
38
+ import { PublishDataLocationSelectorFieldComponentDefinitionOutline, PublishDataLocationSelectorFieldModelDefinitionOutline, PublishDataLocationSelectorFormComponentDefinitionOutline } from '../component/publish-data-location-selector.outline';
39
+ import { PublishDataLocationRefreshFieldComponentDefinitionOutline, PublishDataLocationRefreshFormComponentDefinitionOutline } from '../component/publish-data-location-refresh.outline';
40
+ /**
41
+ * The form config visitor definition.
42
+ */
43
+ export declare abstract class FormConfigVisitor implements FormConfigVisitorOutline {
44
+ protected logName: string;
45
+ protected logger: ILogger;
46
+ protected constructor(logger: ILogger);
47
+ visitFormConfig(item: FormConfigOutline): Promise<void>;
48
+ visitSimpleInputFieldComponentDefinition(item: SimpleInputFieldComponentDefinitionOutline): Promise<void>;
49
+ visitSimpleInputFieldModelDefinition(item: SimpleInputFieldModelDefinitionOutline): Promise<void>;
50
+ visitSimpleInputFormComponentDefinition(item: SimpleInputFormComponentDefinitionOutline): Promise<void>;
51
+ visitContentFieldComponentDefinition(item: ContentFieldComponentDefinitionOutline): Promise<void>;
52
+ visitContentFormComponentDefinition(item: ContentFormComponentDefinitionOutline): Promise<void>;
53
+ visitRepeatableFieldComponentDefinition(item: RepeatableFieldComponentDefinitionOutline): Promise<void>;
54
+ visitRepeatableFieldModelDefinition(item: RepeatableFieldModelDefinitionOutline): Promise<void>;
55
+ visitRepeatableElementFieldLayoutDefinition(item: RepeatableElementFieldLayoutDefinitionOutline): Promise<void>;
56
+ visitRepeatableFormComponentDefinition(item: RepeatableFormComponentDefinitionOutline): Promise<void>;
57
+ visitValidationSummaryFieldComponentDefinition(item: ValidationSummaryFieldComponentDefinitionOutline): Promise<void>;
58
+ visitValidationSummaryFormComponentDefinition(item: ValidationSummaryFormComponentDefinitionOutline): Promise<void>;
59
+ visitSuggestedValidationSummaryFieldComponentDefinition(item: SuggestedValidationSummaryFieldComponentDefinitionOutline): Promise<void>;
60
+ visitSuggestedValidationSummaryFormComponentDefinition(item: SuggestedValidationSummaryFormComponentDefinitionOutline): Promise<void>;
61
+ visitGroupFieldComponentDefinition(item: GroupFieldComponentDefinitionOutline): Promise<void>;
62
+ visitGroupFieldModelDefinition(item: GroupFieldModelDefinitionOutline): Promise<void>;
63
+ visitGroupFormComponentDefinition(item: GroupFormComponentDefinitionOutline): Promise<void>;
64
+ visitTabFieldComponentDefinition(item: TabFieldComponentDefinitionOutline): Promise<void>;
65
+ visitTabFieldLayoutDefinition(item: TabFieldLayoutDefinitionOutline): Promise<void>;
66
+ visitTabFormComponentDefinition(item: TabFormComponentDefinitionOutline): Promise<void>;
67
+ visitAccordionFieldComponentDefinition(item: AccordionFieldComponentDefinitionOutline): Promise<void>;
68
+ visitAccordionFieldLayoutDefinition(item: AccordionFieldLayoutDefinitionOutline): Promise<void>;
69
+ visitAccordionFormComponentDefinition(item: AccordionFormComponentDefinitionOutline): Promise<void>;
70
+ visitAccordionPanelFieldComponentDefinition(item: AccordionPanelFieldComponentDefinitionOutline): Promise<void>;
71
+ visitAccordionPanelFieldLayoutDefinition(item: AccordionPanelFieldLayoutDefinitionOutline): Promise<void>;
72
+ visitAccordionPanelFormComponentDefinition(item: AccordionPanelFormComponentDefinitionOutline): Promise<void>;
73
+ visitTabContentFieldComponentDefinition(item: TabContentFieldComponentDefinitionOutline): Promise<void>;
74
+ visitTabContentFieldLayoutDefinition(item: TabContentFieldLayoutDefinitionOutline): Promise<void>;
75
+ visitTabContentFormComponentDefinition(item: TabContentFormComponentDefinitionOutline): Promise<void>;
76
+ visitSaveButtonFieldComponentDefinition(item: SaveButtonFieldComponentDefinitionOutline): Promise<void>;
77
+ visitSaveButtonFormComponentDefinition(item: SaveButtonFormComponentDefinitionOutline): Promise<void>;
78
+ visitSaveStatusFieldComponentDefinition(item: SaveStatusFieldComponentDefinitionOutline): Promise<void>;
79
+ visitSaveStatusFormComponentDefinition(item: SaveStatusFormComponentDefinitionOutline): Promise<void>;
80
+ visitIntegrationStatusFieldComponentDefinition(item: IntegrationStatusFieldComponentDefinitionOutline): Promise<void>;
81
+ visitIntegrationStatusFormComponentDefinition(item: IntegrationStatusFormComponentDefinitionOutline): Promise<void>;
82
+ visitCancelButtonFieldComponentDefinition(item: CancelButtonFieldComponentDefinitionOutline): Promise<void>;
83
+ visitCancelButtonFormComponentDefinition(item: CancelButtonFormComponentDefinitionOutline): Promise<void>;
84
+ visitDeleteButtonFieldComponentDefinition(item: DeleteButtonFieldComponentDefinitionOutline): Promise<void>;
85
+ visitDeleteButtonFormComponentDefinition(item: DeleteButtonFormComponentDefinitionOutline): Promise<void>;
86
+ visitTabNavButtonFieldComponentDefinition(item: TabNavButtonFieldComponentDefinitionOutline): Promise<void>;
87
+ visitTabNavButtonFormComponentDefinition(item: TabNavButtonFormComponentDefinitionOutline): Promise<void>;
88
+ visitTextAreaFieldComponentDefinition(item: TextAreaFieldComponentDefinitionOutline): Promise<void>;
89
+ visitTextAreaFieldModelDefinition(item: TextAreaFieldModelDefinitionOutline): Promise<void>;
90
+ visitTextAreaFormComponentDefinition(item: TextAreaFormComponentDefinitionOutline): Promise<void>;
91
+ visitDefaultFieldLayoutDefinition(item: DefaultFieldLayoutDefinitionOutline): Promise<void>;
92
+ visitInlineFieldLayoutDefinition(item: InlineFieldLayoutDefinitionOutline): Promise<void>;
93
+ visitActionRowFieldLayoutDefinition(item: ActionRowFieldLayoutDefinitionOutline): Promise<void>;
94
+ visitCheckboxInputFieldComponentDefinition(item: CheckboxInputFieldComponentDefinitionOutline): Promise<void>;
95
+ visitCheckboxInputFieldModelDefinition(item: CheckboxInputFieldModelDefinitionOutline): Promise<void>;
96
+ visitCheckboxInputFormComponentDefinition(item: CheckboxInputFormComponentDefinitionOutline): Promise<void>;
97
+ visitDropdownInputFieldComponentDefinition(item: DropdownInputFieldComponentDefinitionOutline): Promise<void>;
98
+ visitDropdownInputFieldModelDefinition(item: DropdownInputFieldModelDefinitionOutline): Promise<void>;
99
+ visitDropdownInputFormComponentDefinition(item: DropdownInputFormComponentDefinitionOutline): Promise<void>;
100
+ visitRadioInputFieldComponentDefinition(item: RadioInputFieldComponentDefinitionOutline): Promise<void>;
101
+ visitRadioInputFieldModelDefinition(item: RadioInputFieldModelDefinitionOutline): Promise<void>;
102
+ visitRadioInputFormComponentDefinition(item: RadioInputFormComponentDefinitionOutline): Promise<void>;
103
+ visitDateInputFieldComponentDefinition(item: DateInputFieldComponentDefinitionOutline): Promise<void>;
104
+ visitDateInputFieldModelDefinition(item: DateInputFieldModelDefinitionOutline): Promise<void>;
105
+ visitDateInputFormComponentDefinition(item: DateInputFormComponentDefinitionOutline): Promise<void>;
106
+ visitReusableFieldComponentDefinition(item: ReusableFieldComponentDefinitionOutline): Promise<void>;
107
+ visitReusableFormComponentDefinition(item: ReusableFormComponentDefinitionOutline): Promise<void>;
108
+ visitQuestionTreeFieldComponentDefinition(item: QuestionTreeFieldComponentDefinitionOutline): Promise<void>;
109
+ visitQuestionTreeFieldModelDefinition(item: QuestionTreeFieldModelDefinitionOutline): Promise<void>;
110
+ visitQuestionTreeFormComponentDefinition(item: QuestionTreeFormComponentDefinitionOutline): Promise<void>;
111
+ visitCheckboxTreeFieldComponentDefinition(item: CheckboxTreeFieldComponentDefinitionOutline): Promise<void>;
112
+ visitCheckboxTreeFieldModelDefinition(item: CheckboxTreeFieldModelDefinitionOutline): Promise<void>;
113
+ visitCheckboxTreeFormComponentDefinition(item: CheckboxTreeFormComponentDefinitionOutline): Promise<void>;
114
+ visitRecordSelectorFieldComponentDefinition(item: RecordSelectorFieldComponentDefinitionOutline): Promise<void>;
115
+ visitRecordSelectorFieldModelDefinition(item: RecordSelectorFieldModelDefinitionOutline): Promise<void>;
116
+ visitRecordSelectorFormComponentDefinition(item: RecordSelectorFormComponentDefinitionOutline): Promise<void>;
117
+ visitTypeaheadInputFieldComponentDefinition(item: TypeaheadInputFieldComponentDefinitionOutline): Promise<void>;
118
+ visitTypeaheadInputFieldModelDefinition(item: TypeaheadInputFieldModelDefinitionOutline): Promise<void>;
119
+ visitTypeaheadInputFormComponentDefinition(item: TypeaheadInputFormComponentDefinitionOutline): Promise<void>;
120
+ visitRichTextEditorFieldComponentDefinition(item: RichTextEditorFieldComponentDefinitionOutline): Promise<void>;
121
+ visitRichTextEditorFieldModelDefinition(item: RichTextEditorFieldModelDefinitionOutline): Promise<void>;
122
+ visitRichTextEditorFormComponentDefinition(item: RichTextEditorFormComponentDefinitionOutline): Promise<void>;
123
+ visitMapFieldComponentDefinition(item: MapFieldComponentDefinitionOutline): Promise<void>;
124
+ visitMapFieldModelDefinition(item: MapFieldModelDefinitionOutline): Promise<void>;
125
+ visitMapFormComponentDefinition(item: MapFormComponentDefinitionOutline): Promise<void>;
126
+ visitFileUploadFieldComponentDefinition(item: FileUploadFieldComponentDefinitionOutline): Promise<void>;
127
+ visitFileUploadFieldModelDefinition(item: FileUploadFieldModelDefinitionOutline): Promise<void>;
128
+ visitFileUploadFormComponentDefinition(item: FileUploadFormComponentDefinitionOutline): Promise<void>;
129
+ visitPDFListFieldComponentDefinition(item: PDFListFieldComponentDefinitionOutline): Promise<void>;
130
+ visitPDFListFieldModelDefinition(item: PDFListFieldModelDefinitionOutline): Promise<void>;
131
+ visitPDFListFormComponentDefinition(item: PDFListFormComponentDefinitionOutline): Promise<void>;
132
+ visitRecordMetadataRetrieverFieldComponentDefinition(item: RecordMetadataRetrieverFieldComponentDefinitionOutline): Promise<void>;
133
+ visitRecordMetadataRetrieverFormComponentDefinition(item: RecordMetadataRetrieverFormComponentDefinitionOutline): Promise<void>;
134
+ visitDataLocationFieldComponentDefinition(item: DataLocationFieldComponentDefinitionOutline): Promise<void>;
135
+ visitDataLocationFieldModelDefinition(item: DataLocationFieldModelDefinitionOutline): Promise<void>;
136
+ visitDataLocationFormComponentDefinition(item: DataLocationFormComponentDefinitionOutline): Promise<void>;
137
+ visitPublishDataLocationRefreshFieldComponentDefinition(item: PublishDataLocationRefreshFieldComponentDefinitionOutline): Promise<void>;
138
+ visitPublishDataLocationRefreshFormComponentDefinition(item: PublishDataLocationRefreshFormComponentDefinitionOutline): Promise<void>;
139
+ visitPublishDataLocationSelectorFieldComponentDefinition(item: PublishDataLocationSelectorFieldComponentDefinitionOutline): Promise<void>;
140
+ visitPublishDataLocationSelectorFieldModelDefinition(item: PublishDataLocationSelectorFieldModelDefinitionOutline): Promise<void>;
141
+ visitPublishDataLocationSelectorFormComponentDefinition(item: PublishDataLocationSelectorFormComponentDefinitionOutline): Promise<void>;
142
+ protected notImplemented(): Promise<void>;
143
+ }