json-renderers 1.12.3 → 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,32 +0,0 @@
1
- import handleSave from "./handleSave.js";
2
- import handleNew from "./handleNew.js";
3
-
4
- /**
5
- * Main form click router: identifies button action and routes to dedicated handlers
6
- */
7
- const clickFunc = ({
8
- inEvent,
9
- inFormContainer,
10
- onSave,
11
- afterSave,
12
- onNew,
13
- onClear
14
- } = {}) => {
15
- const clickedButton = inEvent?.target?.closest("button");
16
- if (!clickedButton) return;
17
-
18
- const buttonId = clickedButton.id || "";
19
- const buttonAction = clickedButton.dataset.action || "";
20
- const buttonText = clickedButton.textContent.trim().toLowerCase();
21
-
22
- if (buttonId === "btn-form-save" || buttonAction === "save" || buttonText === "save") {
23
- return handleSave({ inEvent, inFormContainer, onSave, afterSave });
24
- }
25
-
26
- if (buttonId === "btn-form-new" || buttonAction === "new" || buttonText === "new" || buttonText === "clear") {
27
- return handleNew({ inEvent, inFormContainer, onNew, onClear });
28
- }
29
- };
30
-
31
- export { clickFunc };
32
- export default clickFunc;
@@ -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/v8/index.js DELETED
@@ -1,141 +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
- datalist: renderDataList,
13
- select: renderSelect
14
- };
15
-
16
-
17
- /**
18
- * Unified Renderer
19
- * Dispatches to the corresponding renderer strategy (table, navTabs, form)
20
- * based on the provided type.
21
- */
22
-
23
- // render({ type: "select", data, targetHtmlId: "dom-render-container" });
24
-
25
- const render = ({
26
- type = "table",
27
- targetHtmlId,
28
- data,
29
- classToApply,
30
- inTargetHtmlId,
31
- inData,
32
- columns,
33
- inColumns,
34
- fields,
35
- inFields,
36
- tabs,
37
- inTabs,
38
- options,
39
- inOptions,
40
- datalistId,
41
- inDatalistId,
42
- listId,
43
- inListId,
44
- id,
45
- valueField,
46
- inValueField,
47
- labelField,
48
- inLabelField,
49
- colGroup,
50
- inColGroup,
51
- footerData,
52
- inFooterData,
53
- config,
54
- inConfig,
55
- variant,
56
- skeletonType,
57
- inSkeletonType,
58
- showLog = false,
59
- inShowLog,
60
- ...restProps
61
- } = {}) => {
62
- const rawType = type;
63
- const resolvedType = typeof rawType === "string" ? rawType.toLowerCase() : "table";
64
- const renderer = RENDERER_MAP[resolvedType];
65
-
66
- if (!renderer) {
67
- console.error(
68
- `[Renderer] Unknown renderer type "${rawType}". Available types: ${Object.keys(RENDERER_MAP).join(", ")}`
69
- );
70
- return null;
71
- }
72
-
73
- const localTargetHtmlId = inTargetHtmlId ?? targetHtmlId;
74
- const localData = inData ?? data;
75
- const localColumns = inColumns ?? columns;
76
- const localFields = inFields ?? fields;
77
- const localTabs = inTabs ?? tabs;
78
- const localOptions = inOptions ?? options ?? localData;
79
- const localSkeletonType = inSkeletonType ?? skeletonType ?? variant ?? "default";
80
- const localShowLog = inShowLog ?? showLog ?? false;
81
-
82
- if (resolvedType === "form") {
83
- return renderer({
84
- targetHtmlId: localTargetHtmlId,
85
- inFields: localFields,
86
- inData: localData,
87
- inColumns: localColumns,
88
- inVariant: localSkeletonType,
89
- inSkeletonType: localSkeletonType,
90
- inShowLog: localShowLog,
91
- onSave: restProps?.onSave,
92
- afterSave: restProps?.afterSave,
93
- onNew: restProps?.onNew
94
- });
95
- }
96
-
97
- if (resolvedType === "navtabs" || resolvedType === "nav" || resolvedType === "tabs") {
98
- return renderer({
99
- targetHtmlId: localTargetHtmlId,
100
- inTabs: localTabs,
101
- inData: localData,
102
- inSkeletonType: localSkeletonType,
103
- inShowLog: localShowLog
104
- });
105
- }
106
-
107
- if (resolvedType === "datalist" || resolvedType === "data-list") {
108
- return renderer({
109
- targetHtmlId: localTargetHtmlId,
110
- inData: localData,
111
- inSkeletonType: localSkeletonType,
112
- inShowLog: localShowLog
113
- });
114
- }
115
-
116
- if (resolvedType === "select") {
117
- return renderer({
118
- targetHtmlId: localTargetHtmlId,
119
- inData: localData,
120
- inSkeletonType: localSkeletonType,
121
- inShowLog: localShowLog,
122
- inClassToApply: classToApply
123
- });
124
- };
125
-
126
- // Default to table renderer
127
- return renderer({
128
- targetHtmlId: localTargetHtmlId,
129
- inColumns: localColumns,
130
- inData: localData,
131
- inColGroup: inColGroup ?? colGroup,
132
- inFooterData: inFooterData ?? footerData ?? [],
133
- inConfig: inConfig ?? config ?? {},
134
- inSkeletonType: localSkeletonType,
135
- inShowLog: localShowLog
136
- });
137
- };
138
-
139
- registerGlobal(render);
140
-
141
- export default render;
package/src/v8/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;