json-renderers 1.12.2 → 1.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (180) hide show
  1. package/docs/dist/v12/min.js +646 -646
  2. package/docs/dist/v13/min.js +691 -0
  3. package/docs/index.html +14 -0
  4. package/package.json +3 -3
  5. package/src/index.js +2 -2
  6. package/src/v13/index.js +46 -0
  7. package/src/{v10 → v13}/meta.js +1 -1
  8. package/src/{v9/table → v13/select}/index.js +4 -7
  9. package/src/v13/select/skeleton.json +18 -0
  10. package/src/v13/table/index.js +39 -0
  11. package/src/v10/dataLists/fragments.json +0 -1
  12. package/src/v10/dataLists/index.js +0 -32
  13. package/src/v10/dataLists/skeleton.json +0 -38
  14. package/src/v10/index.js +0 -142
  15. package/src/v10/select/fragments.json +0 -1
  16. package/src/v10/select/index.js +0 -34
  17. package/src/v10/select/skeleton.json +0 -23
  18. package/src/v10/table/index.js +0 -35
  19. package/src/v5/dataLists/fragments.json +0 -1
  20. package/src/v5/dataLists/index.js +0 -26
  21. package/src/v5/dataLists/skeleton.json +0 -20
  22. package/src/v5/form/attachFormClickEventListener.js +0 -27
  23. package/src/v5/form/clickFunc/extractFormData.js +0 -27
  24. package/src/v5/form/clickFunc/handleNew.js +0 -24
  25. package/src/v5/form/clickFunc/handleSave.js +0 -33
  26. package/src/v5/form/clickFunc/index.js +0 -32
  27. package/src/v5/form/index.js +0 -87
  28. package/src/v5/form/structure.json +0 -410
  29. package/src/v5/index.js +0 -150
  30. package/src/v5/meta.js +0 -6
  31. package/src/v5/navTabs/fragments.json +0 -59
  32. package/src/v5/navTabs/index.js +0 -82
  33. package/src/v5/navTabs/skeleton.json +0 -18
  34. package/src/v5/registerGlobal.js +0 -14
  35. package/src/v5/select/fragments.json +0 -1
  36. package/src/v5/select/index.js +0 -31
  37. package/src/v5/select/skeleton.json +0 -21
  38. package/src/v5/table/attachTableClickEventListener.js +0 -22
  39. package/src/v5/table/buildTableDataAsJson.js +0 -19
  40. package/src/v5/table/buildTableDomElement.js +0 -21
  41. package/src/v5/table/buildTableStructureSpec.js +0 -28
  42. package/src/v5/table/clickFunc/v3/createTable.js +0 -16
  43. package/src/v5/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +0 -23
  44. package/src/v5/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +0 -21
  45. package/src/v5/table/clickFunc/v3/getContainer/index.js +0 -39
  46. package/src/v5/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +0 -14
  47. package/src/v5/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +0 -12
  48. package/src/v5/table/clickFunc/v3/index.js +0 -21
  49. package/src/v5/table/fragments.json +0 -112
  50. package/src/v5/table/index.js +0 -72
  51. package/src/v5/table/resolveTargetContainer.js +0 -9
  52. package/src/v5/table/skeleton.json +0 -371
  53. package/src/v6/dataLists/fragments.json +0 -1
  54. package/src/v6/dataLists/index.js +0 -32
  55. package/src/v6/dataLists/skeleton.json +0 -38
  56. package/src/v6/form/attachFormClickEventListener.js +0 -27
  57. package/src/v6/form/clickFunc/extractFormData.js +0 -27
  58. package/src/v6/form/clickFunc/handleNew.js +0 -24
  59. package/src/v6/form/clickFunc/handleSave.js +0 -33
  60. package/src/v6/form/clickFunc/index.js +0 -32
  61. package/src/v6/form/index.js +0 -87
  62. package/src/v6/form/structure.json +0 -410
  63. package/src/v6/index.js +0 -150
  64. package/src/v6/meta.js +0 -6
  65. package/src/v6/navTabs/fragments.json +0 -59
  66. package/src/v6/navTabs/index.js +0 -82
  67. package/src/v6/navTabs/skeleton.json +0 -18
  68. package/src/v6/registerGlobal.js +0 -14
  69. package/src/v6/select/fragments.json +0 -1
  70. package/src/v6/select/index.js +0 -34
  71. package/src/v6/select/skeleton.json +0 -23
  72. package/src/v6/table/attachTableClickEventListener.js +0 -22
  73. package/src/v6/table/buildTableDataAsJson.js +0 -19
  74. package/src/v6/table/buildTableDomElement.js +0 -21
  75. package/src/v6/table/buildTableStructureSpec.js +0 -28
  76. package/src/v6/table/clickFunc/v3/createTable.js +0 -16
  77. package/src/v6/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +0 -23
  78. package/src/v6/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +0 -21
  79. package/src/v6/table/clickFunc/v3/getContainer/index.js +0 -39
  80. package/src/v6/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +0 -14
  81. package/src/v6/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +0 -12
  82. package/src/v6/table/clickFunc/v3/index.js +0 -21
  83. package/src/v6/table/fragments.json +0 -112
  84. package/src/v6/table/index.js +0 -72
  85. package/src/v6/table/resolveTargetContainer.js +0 -9
  86. package/src/v6/table/skeleton.json +0 -371
  87. package/src/v7/common/deriveColumnsFromData.js +0 -20
  88. package/src/v7/dataLists/fragments.json +0 -1
  89. package/src/v7/dataLists/index.js +0 -32
  90. package/src/v7/dataLists/skeleton.json +0 -38
  91. package/src/v7/form/attachFormClickEventListener.js +0 -27
  92. package/src/v7/form/clickFunc/extractFormData.js +0 -27
  93. package/src/v7/form/clickFunc/handleNew.js +0 -24
  94. package/src/v7/form/clickFunc/handleSave.js +0 -33
  95. package/src/v7/form/clickFunc/index.js +0 -32
  96. package/src/v7/form/index.js +0 -87
  97. package/src/v7/form/structure.json +0 -410
  98. package/src/v7/index.js +0 -141
  99. package/src/v7/meta.js +0 -6
  100. package/src/v7/navTabs/fragments.json +0 -59
  101. package/src/v7/navTabs/index.js +0 -82
  102. package/src/v7/navTabs/skeleton.json +0 -18
  103. package/src/v7/registerGlobal.js +0 -14
  104. package/src/v7/select/fragments.json +0 -1
  105. package/src/v7/select/index.js +0 -34
  106. package/src/v7/select/skeleton.json +0 -23
  107. package/src/v7/table/attachTableClickEventListener.js +0 -28
  108. package/src/v7/table/buildTableDataAsJson.js +0 -25
  109. package/src/v7/table/buildTableDomElement.js +0 -25
  110. package/src/v7/table/buildTableStructureSpec.js +0 -33
  111. package/src/v7/table/clickFunc/v3/createTable.js +0 -20
  112. package/src/v7/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +0 -27
  113. package/src/v7/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +0 -24
  114. package/src/v7/table/clickFunc/v3/getContainer/index.js +0 -44
  115. package/src/v7/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +0 -17
  116. package/src/v7/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +0 -15
  117. package/src/v7/table/clickFunc/v3/index.js +0 -35
  118. package/src/v7/table/fragments.json +0 -112
  119. package/src/v7/table/index.js +0 -82
  120. package/src/v7/table/resolveTargetContainer.js +0 -11
  121. package/src/v7/table/skeleton.json +0 -371
  122. package/src/v8/common/deriveColumnsFromData.js +0 -20
  123. package/src/v8/dataLists/fragments.json +0 -1
  124. package/src/v8/dataLists/index.js +0 -32
  125. package/src/v8/dataLists/skeleton.json +0 -38
  126. package/src/v8/form/attachFormClickEventListener.js +0 -27
  127. package/src/v8/form/clickFunc/extractFormData.js +0 -27
  128. package/src/v8/form/clickFunc/handleNew.js +0 -24
  129. package/src/v8/form/clickFunc/handleSave.js +0 -33
  130. package/src/v8/form/clickFunc/index.js +0 -32
  131. package/src/v8/form/index.js +0 -87
  132. package/src/v8/form/structure.json +0 -410
  133. package/src/v8/index.js +0 -141
  134. package/src/v8/meta.js +0 -6
  135. package/src/v8/navTabs/fragments.json +0 -59
  136. package/src/v8/navTabs/index.js +0 -82
  137. package/src/v8/navTabs/skeleton.json +0 -18
  138. package/src/v8/registerGlobal.js +0 -14
  139. package/src/v8/select/fragments.json +0 -1
  140. package/src/v8/select/index.js +0 -34
  141. package/src/v8/select/skeleton.json +0 -23
  142. package/src/v8/table/attachTableClickEventListener.js +0 -28
  143. package/src/v8/table/buildTableDataAsJson.js +0 -25
  144. package/src/v8/table/buildTableDomElement.js +0 -25
  145. package/src/v8/table/buildTableStructureSpec.js +0 -33
  146. package/src/v8/table/clickFunc/v3/createTable.js +0 -20
  147. package/src/v8/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +0 -27
  148. package/src/v8/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +0 -24
  149. package/src/v8/table/clickFunc/v3/getContainer/index.js +0 -44
  150. package/src/v8/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +0 -17
  151. package/src/v8/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +0 -15
  152. package/src/v8/table/clickFunc/v3/index.js +0 -35
  153. package/src/v8/table/fragments.json +0 -112
  154. package/src/v8/table/index.js +0 -82
  155. package/src/v8/table/resolveTargetContainer.js +0 -11
  156. package/src/v8/table/skeleton.json +0 -371
  157. package/src/v9/common/deriveColumnsFromData.js +0 -20
  158. package/src/v9/dataLists/fragments.json +0 -1
  159. package/src/v9/dataLists/index.js +0 -32
  160. package/src/v9/dataLists/skeleton.json +0 -38
  161. package/src/v9/form/attachFormClickEventListener.js +0 -27
  162. package/src/v9/form/clickFunc/extractFormData.js +0 -27
  163. package/src/v9/form/clickFunc/handleNew.js +0 -24
  164. package/src/v9/form/clickFunc/handleSave.js +0 -33
  165. package/src/v9/form/clickFunc/index.js +0 -32
  166. package/src/v9/form/index.js +0 -87
  167. package/src/v9/form/structure.json +0 -410
  168. package/src/v9/index.js +0 -141
  169. package/src/v9/meta.js +0 -6
  170. package/src/v9/navTabs/fragments.json +0 -59
  171. package/src/v9/navTabs/index.js +0 -82
  172. package/src/v9/navTabs/skeleton.json +0 -18
  173. package/src/v9/registerGlobal.js +0 -14
  174. package/src/v9/select/fragments.json +0 -1
  175. package/src/v9/select/index.js +0 -34
  176. package/src/v9/select/skeleton.json +0 -23
  177. package/src/v9/table/skeleton.json +0 -47
  178. /package/src/{v10 → v13}/common/deriveColumnsFromData.js +0 -0
  179. /package/src/{v10 → v13}/registerGlobal.js +0 -0
  180. /package/src/{v10 → v13}/table/skeleton.json +0 -0
@@ -1,87 +0,0 @@
1
- import jsonToSpec from "../../../jsonToSpec/v2/index.js";
2
- import jsonToTag from "../../../jsonToTag/v2/index.js";
3
- import attachFormClickEventListener from "./attachFormClickEventListener.js";
4
-
5
- import structureJson from './structure.json' with {type: 'json'};
6
-
7
- const startFunc = ({
8
- targetHtmlId,
9
- inTargetHtmlId,
10
- inFields = [],
11
- inData = {},
12
- inColumns = [],
13
- inVariant = "stacked",
14
- inSkeletonType,
15
- inShowLog = false,
16
- onSave,
17
- afterSave,
18
- onNew,
19
- onClear
20
- } = {}) => {
21
- const localTargetHtmlId = inTargetHtmlId ?? targetHtmlId;
22
- const localVariant = inSkeletonType ?? inVariant;
23
- const localShowLog = inShowLog;
24
-
25
- try {
26
- let fieldsArray = [];
27
-
28
- if (Array.isArray(inFields) && inFields.length > 0) {
29
- fieldsArray = inFields;
30
- } else if (Array.isArray(inColumns) && inColumns.length > 0) {
31
- fieldsArray = inColumns.map((col) => ({
32
- key: col.field ?? col.name ?? col.key,
33
- label: col.title ?? col.label ?? col.field ?? col.name,
34
- type: col.type ?? "text",
35
- value: inData?.[col.field ?? col.name ?? col.key] ?? col.value ?? "",
36
- readonly: col.readonly ? "true" : "",
37
- disabled: col.disabled ? "true" : ""
38
- }));
39
- } else if (typeof inData === "object" && inData !== null && !Array.isArray(inData)) {
40
- fieldsArray = Object.entries(inData).map(([key, value]) => ({
41
- key,
42
- label: key,
43
- type: "text",
44
- value: value ?? "",
45
- readonly: "",
46
- disabled: ""
47
- }));
48
- }
49
-
50
- const dataAsJson = { fields: fieldsArray };
51
-
52
- const rawStructure = structureJson[localVariant] ?? structureJson.stacked ?? structureJson;
53
- const targetStructure = structuredClone(rawStructure);
54
-
55
- if (localShowLog) console.log("form targetStructure : ", targetStructure);
56
-
57
- const specAsJsonToDom = jsonToSpec({ specJson: targetStructure, dataJson: dataAsJson, showLog: false });
58
- if (localShowLog) console.log("form specAsJsonToDom : ", specAsJsonToDom);
59
-
60
- const fromRenderer = jsonToTag(specAsJsonToDom);
61
-
62
- const html = (typeof localTargetHtmlId === "string")
63
- ? document.getElementById(localTargetHtmlId)
64
- : localTargetHtmlId;
65
-
66
- const containerToAttach = html || fromRenderer;
67
-
68
- // Attach modular click event listener for Save and New actions
69
- attachFormClickEventListener({
70
- inTargetContainer: containerToAttach,
71
- onSave,
72
- afterSave,
73
- onNew,
74
- onClear
75
- });
76
-
77
- if (!html) return fromRenderer;
78
-
79
- html.append(fromRenderer);
80
- return fromRenderer;
81
- } catch (error) {
82
- console.log("error : ", error);
83
- }
84
- };
85
-
86
- export { startFunc };
87
- export default startFunc;
@@ -1,410 +0,0 @@
1
- {
2
- "stacked": {
3
- "tagName": "div",
4
- "attributes": {
5
- "class": "card shadow-sm"
6
- },
7
- "children": [
8
- {
9
- "tagName": "div",
10
- "attributes": {
11
- "class": "card-header fw-semibold"
12
- },
13
- "children": [
14
- {
15
- "tagName": "span",
16
- "textContent": "Ledger Details"
17
- }
18
- ]
19
- },
20
- {
21
- "tagName": "div",
22
- "attributes": {
23
- "class": "card-body"
24
- },
25
- "jsonToSpec": {
26
- "operation": "loopArray",
27
- "source": "fields",
28
- "template": {
29
- "tagName": "div",
30
- "attributes": {
31
- "class": "mb-3"
32
- },
33
- "children": [
34
- {
35
- "tagName": "label",
36
- "attributes": {
37
- "class": "form-label"
38
- },
39
- "textContent": "${label}"
40
- },
41
- {
42
- "tagName": "input",
43
- "attributes": {
44
- "type": "${type}",
45
- "class": "form-control",
46
- "value": "${value}",
47
- "name": "${key}",
48
- "readonly": "${readonly}",
49
- "disabled": "${disabled}"
50
- }
51
- }
52
- ]
53
- }
54
- },
55
- "jsonToSpec1": {
56
- "operation": "iterate",
57
- "source": "fields",
58
- "template": {
59
- "tagName": "div",
60
- "attributes": {
61
- "class": "mb-3"
62
- },
63
- "children": [
64
- {
65
- "tagName": "label",
66
- "attributes": {
67
- "class": "form-label"
68
- },
69
- "textContent": "${label}"
70
- },
71
- {
72
- "tagName": "input",
73
- "attributes": {
74
- "type": "text",
75
- "class": "form-control",
76
- "value": "${value}",
77
- "readonly": "true"
78
- }
79
- }
80
- ]
81
- }
82
- },
83
- "children": []
84
- }
85
- ]
86
- },
87
- "stackedWithButtons": {
88
- "tagName": "div",
89
- "attributes": {
90
- "class": "card shadow-sm"
91
- },
92
- "children": [
93
- {
94
- "tagName": "div",
95
- "attributes": {
96
- "class": "card-header fw-semibold"
97
- },
98
- "children": [
99
- {
100
- "tagName": "span",
101
- "textContent": "Ledger Details"
102
- }
103
- ]
104
- },
105
- {
106
- "tagName": "div",
107
- "attributes": {
108
- "class": "card-body"
109
- },
110
- "jsonToSpec": {
111
- "operation": "loopArray",
112
- "source": "fields",
113
- "template": {
114
- "tagName": "div",
115
- "attributes": {
116
- "class": "mb-3"
117
- },
118
- "children": [
119
- {
120
- "tagName": "label",
121
- "attributes": {
122
- "class": "form-label"
123
- },
124
- "textContent": "${label}"
125
- },
126
- {
127
- "tagName": "input",
128
- "attributes": {
129
- "type": "${type}",
130
- "class": "form-control",
131
- "value": "${value}",
132
- "name": "${key}",
133
- "readonly": "${readonly}",
134
- "disabled": "${disabled}"
135
- }
136
- }
137
- ]
138
- }
139
- },
140
- "children": []
141
- },
142
- {
143
- "tagName": "div",
144
- "attributes": {
145
- "class": "card-footer bg-white border-top-0 d-flex justify-content-end gap-2 pt-0 pb-3"
146
- },
147
- "children": [
148
- {
149
- "tagName": "button",
150
- "attributes": {
151
- "type": "button",
152
- "class": "btn btn-outline-secondary btn-sm",
153
- "id": "btn-form-new"
154
- },
155
- "textContent": "New"
156
- },
157
- {
158
- "tagName": "button",
159
- "attributes": {
160
- "type": "button",
161
- "class": "btn btn-primary btn-sm",
162
- "id": "btn-form-save"
163
- },
164
- "textContent": "Save"
165
- }
166
- ]
167
- }
168
- ]
169
- },
170
- "inline": {
171
- "tagName": "div",
172
- "attributes": {
173
- "class": "card shadow-sm"
174
- },
175
- "children": [
176
- {
177
- "tagName": "div",
178
- "attributes": {
179
- "class": "card-header fw-semibold"
180
- },
181
- "children": [
182
- {
183
- "tagName": "span",
184
- "textContent": "Ledger Details"
185
- }
186
- ]
187
- },
188
- {
189
- "tagName": "div",
190
- "attributes": {
191
- "class": "card-body"
192
- },
193
- "jsonToSpec": {
194
- "operation": "loopArray",
195
- "source": "fields",
196
- "template": {
197
- "tagName": "div",
198
- "attributes": {
199
- "class": "row mb-2 align-items-center"
200
- },
201
- "children": [
202
- {
203
- "tagName": "label",
204
- "attributes": {
205
- "class": "col-sm-4 col-form-label text-sm-end mb-0 fw-semibold text-secondary small"
206
- },
207
- "textContent": "${label}"
208
- },
209
- {
210
- "tagName": "div",
211
- "attributes": {
212
- "class": "col-sm-8"
213
- },
214
- "children": [
215
- {
216
- "tagName": "input",
217
- "attributes": {
218
- "class": "form-control",
219
- "name": "${key}",
220
- "value": "${value}",
221
- "list": "${list}",
222
- "type": "${type}"
223
- }
224
- }
225
- ]
226
- }
227
- ]
228
- }
229
- },
230
- "jsonToSpec1": {
231
- "operation": "iterate",
232
- "source": "fields",
233
- "template": {
234
- "tagName": "div",
235
- "attributes": {
236
- "class": "row mb-2 align-items-center"
237
- },
238
- "children": [
239
- {
240
- "tagName": "label",
241
- "attributes": {
242
- "class": "col-4 col-form-label fw-medium text-end"
243
- },
244
- "textContent": "${label}"
245
- },
246
- {
247
- "tagName": "div",
248
- "attributes": {
249
- "class": "col-8"
250
- },
251
- "children": [
252
- {
253
- "tagName": "input",
254
- "attributes": {
255
- "type": "text",
256
- "class": "form-control form-control-sm",
257
- "value": "${value}",
258
- "list": "${list}"
259
- }
260
- }
261
- ]
262
- }
263
- ]
264
- }
265
- },
266
- "children": []
267
- }
268
- ]
269
- },
270
- "inlineWithButtons": {
271
- "tagName": "div",
272
- "attributes": {
273
- "class": "card shadow-sm"
274
- },
275
- "children": [
276
- {
277
- "tagName": "div",
278
- "attributes": {
279
- "class": "card-header fw-semibold"
280
- },
281
- "children": [
282
- {
283
- "tagName": "span",
284
- "textContent": "Ledger Details"
285
- }
286
- ]
287
- },
288
- {
289
- "tagName": "div",
290
- "attributes": {
291
- "class": "card-body"
292
- },
293
- "jsonToSpec": {
294
- "operation": "iterate",
295
- "source": "fields",
296
- "template": {
297
- "tagName": "div",
298
- "attributes": {
299
- "class": "row mb-2 align-items-center"
300
- },
301
- "children": [
302
- {
303
- "tagName": "label",
304
- "attributes": {
305
- "class": "col-4 col-form-label fw-medium text-end"
306
- },
307
- "textContent": "${label}"
308
- },
309
- {
310
- "tagName": "div",
311
- "attributes": {
312
- "class": "col-6"
313
- },
314
- "children": [
315
- {
316
- "tagName": "input",
317
- "attributes": {
318
- "type": "text",
319
- "class": "form-control form-control-sm",
320
- "value": "${value}",
321
- "readonly": "true"
322
- }
323
- }
324
- ]
325
- },
326
- {
327
- "tagName": "div",
328
- "attributes": {
329
- "class": "col-2 d-flex gap-1"
330
- },
331
- "children": [
332
- {
333
- "tagName": "button",
334
- "attributes": {
335
- "type": "button",
336
- "class": "btn btn-sm btn-outline-primary"
337
- },
338
- "textContent": "Edit"
339
- },
340
- {
341
- "tagName": "button",
342
- "attributes": {
343
- "type": "button",
344
- "class": "btn btn-sm btn-outline-secondary"
345
- },
346
- "textContent": "Copy"
347
- }
348
- ]
349
- }
350
- ]
351
- }
352
- },
353
- "children": []
354
- }
355
- ]
356
- },
357
- "list": {
358
- "tagName": "div",
359
- "attributes": {
360
- "class": "card shadow-sm"
361
- },
362
- "children": [
363
- {
364
- "tagName": "div",
365
- "attributes": {
366
- "class": "card-header fw-semibold"
367
- },
368
- "children": [
369
- {
370
- "tagName": "span",
371
- "textContent": "Ledger Details"
372
- }
373
- ]
374
- },
375
- {
376
- "tagName": "ul",
377
- "attributes": {
378
- "class": "list-group list-group-flush"
379
- },
380
- "jsonToSpec": {
381
- "operation": "iterate",
382
- "source": "fields",
383
- "template": {
384
- "tagName": "li",
385
- "attributes": {
386
- "class": "list-group-item d-flex justify-content-between align-items-center"
387
- },
388
- "children": [
389
- {
390
- "tagName": "span",
391
- "attributes": {
392
- "class": "text-muted"
393
- },
394
- "textContent": "${label}"
395
- },
396
- {
397
- "tagName": "span",
398
- "attributes": {
399
- "class": "fw-medium"
400
- },
401
- "textContent": "${value}"
402
- }
403
- ]
404
- }
405
- },
406
- "children": []
407
- }
408
- ]
409
- }
410
- }
package/src/v5/index.js DELETED
@@ -1,150 +0,0 @@
1
- import registerGlobal from "./registerGlobal.js";
2
-
3
- // import renderTable from "./table/index.js";
4
- // import renderNavTabs from "./navTabs/index.js";
5
- // import renderForm from "./form/index.js";
6
-
7
- import renderDataList from "./dataLists/index.js";
8
- import renderSelect from "./select/index.js";
9
-
10
- // const RENDERER_MAP = {
11
- // table: renderTable,
12
- // navtabs: renderNavTabs,
13
- // nav: renderNavTabs,
14
- // tabs: renderNavTabs,
15
- // form: renderForm,
16
- // datalist: renderDataList,
17
- // "data-list": renderDataList
18
- // };
19
-
20
- const RENDERER_MAP = {
21
- datalist: renderDataList,
22
- select: renderSelect
23
- };
24
-
25
-
26
- /**
27
- * Unified Renderer
28
- * Dispatches to the corresponding renderer strategy (table, navTabs, form)
29
- * based on the provided type.
30
- */
31
-
32
- // render({ type: "select", data, targetHtmlId: "dom-render-container" });
33
-
34
- const render = ({
35
- type = "table",
36
- targetHtmlId,
37
- data,
38
- classToApply,
39
- inTargetHtmlId,
40
- inData,
41
- columns,
42
- inColumns,
43
- fields,
44
- inFields,
45
- tabs,
46
- inTabs,
47
- options,
48
- inOptions,
49
- datalistId,
50
- inDatalistId,
51
- listId,
52
- inListId,
53
- id,
54
- valueField,
55
- inValueField,
56
- labelField,
57
- inLabelField,
58
- colGroup,
59
- inColGroup,
60
- footerData,
61
- inFooterData,
62
- config,
63
- inConfig,
64
- variant,
65
- skeletonType,
66
- inSkeletonType,
67
- showLog = false,
68
- inShowLog,
69
- ...restProps
70
- } = {}) => {
71
- const rawType = type;
72
- const resolvedType = typeof rawType === "string" ? rawType.toLowerCase() : "table";
73
- const renderer = RENDERER_MAP[resolvedType];
74
-
75
- if (!renderer) {
76
- console.error(
77
- `[Renderer] Unknown renderer type "${rawType}". Available types: ${Object.keys(RENDERER_MAP).join(", ")}`
78
- );
79
- return null;
80
- }
81
-
82
- const localTargetHtmlId = inTargetHtmlId ?? targetHtmlId;
83
- const localData = inData ?? data;
84
- const localColumns = inColumns ?? columns;
85
- const localFields = inFields ?? fields;
86
- const localTabs = inTabs ?? tabs;
87
- const localOptions = inOptions ?? options ?? localData;
88
- const localSkeletonType = inSkeletonType ?? skeletonType ?? variant ?? "default";
89
- const localShowLog = inShowLog ?? showLog ?? false;
90
-
91
- if (resolvedType === "form") {
92
- return renderer({
93
- targetHtmlId: localTargetHtmlId,
94
- inFields: localFields,
95
- inData: localData,
96
- inColumns: localColumns,
97
- inVariant: localSkeletonType,
98
- inSkeletonType: localSkeletonType,
99
- inShowLog: localShowLog,
100
- onSave: restProps?.onSave,
101
- afterSave: restProps?.afterSave,
102
- onNew: restProps?.onNew
103
- });
104
- }
105
-
106
- if (resolvedType === "navtabs" || resolvedType === "nav" || resolvedType === "tabs") {
107
- return renderer({
108
- targetHtmlId: localTargetHtmlId,
109
- inTabs: localTabs,
110
- inData: localData,
111
- inSkeletonType: localSkeletonType,
112
- inShowLog: localShowLog
113
- });
114
- }
115
-
116
- if (resolvedType === "datalist" || resolvedType === "data-list") {
117
- return renderer({
118
- targetHtmlId: localTargetHtmlId,
119
- inData: localData,
120
- inSkeletonType: localSkeletonType,
121
- inShowLog: localShowLog
122
- });
123
- }
124
-
125
- if (resolvedType === "select") {
126
- return renderer({
127
- targetHtmlId: localTargetHtmlId,
128
- inData: localData,
129
- inSkeletonType: localSkeletonType,
130
- inShowLog: localShowLog,
131
- inClassToApply: classToApply
132
- });
133
- };
134
-
135
- // Default to table renderer
136
- return renderer({
137
- targetHtmlId: localTargetHtmlId,
138
- inColumns: localColumns,
139
- inData: localData,
140
- inColGroup: inColGroup ?? colGroup,
141
- inFooterData: inFooterData ?? footerData ?? [],
142
- inConfig: inConfig ?? config ?? {},
143
- inSkeletonType: localSkeletonType,
144
- inShowLog: localShowLog
145
- });
146
- };
147
-
148
- registerGlobal(render);
149
-
150
- export default render;
package/src/v5/meta.js DELETED
@@ -1,6 +0,0 @@
1
- export const meta = {
2
- version: "v4.0.0",
3
- description: "build table from store data and render to DOM uses json-to-spec, json-to-dom under the hood"
4
- };
5
-
6
- export default meta;