json-renderers 1.12.3 → 1.13.3

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 (178) hide show
  1. package/docs/dist/v13/min.js +678 -0
  2. package/docs/index.html +14 -0
  3. package/package.json +3 -3
  4. package/src/index.js +2 -2
  5. package/src/v13/buildSpec/index.js +28 -0
  6. package/src/v13/index.js +41 -0
  7. package/src/{v10 → v13}/meta.js +1 -1
  8. package/src/v10/dataLists/fragments.json +0 -1
  9. package/src/v10/dataLists/index.js +0 -32
  10. package/src/v10/dataLists/skeleton.json +0 -38
  11. package/src/v10/index.js +0 -142
  12. package/src/v10/select/fragments.json +0 -1
  13. package/src/v10/select/index.js +0 -34
  14. package/src/v10/select/skeleton.json +0 -23
  15. package/src/v10/table/index.js +0 -35
  16. package/src/v10/table/skeleton.json +0 -47
  17. package/src/v5/dataLists/fragments.json +0 -1
  18. package/src/v5/dataLists/index.js +0 -26
  19. package/src/v5/dataLists/skeleton.json +0 -20
  20. package/src/v5/form/attachFormClickEventListener.js +0 -27
  21. package/src/v5/form/clickFunc/extractFormData.js +0 -27
  22. package/src/v5/form/clickFunc/handleNew.js +0 -24
  23. package/src/v5/form/clickFunc/handleSave.js +0 -33
  24. package/src/v5/form/clickFunc/index.js +0 -32
  25. package/src/v5/form/index.js +0 -87
  26. package/src/v5/form/structure.json +0 -410
  27. package/src/v5/index.js +0 -150
  28. package/src/v5/meta.js +0 -6
  29. package/src/v5/navTabs/fragments.json +0 -59
  30. package/src/v5/navTabs/index.js +0 -82
  31. package/src/v5/navTabs/skeleton.json +0 -18
  32. package/src/v5/registerGlobal.js +0 -14
  33. package/src/v5/select/fragments.json +0 -1
  34. package/src/v5/select/index.js +0 -31
  35. package/src/v5/select/skeleton.json +0 -21
  36. package/src/v5/table/attachTableClickEventListener.js +0 -22
  37. package/src/v5/table/buildTableDataAsJson.js +0 -19
  38. package/src/v5/table/buildTableDomElement.js +0 -21
  39. package/src/v5/table/buildTableStructureSpec.js +0 -28
  40. package/src/v5/table/clickFunc/v3/createTable.js +0 -16
  41. package/src/v5/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +0 -23
  42. package/src/v5/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +0 -21
  43. package/src/v5/table/clickFunc/v3/getContainer/index.js +0 -39
  44. package/src/v5/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +0 -14
  45. package/src/v5/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +0 -12
  46. package/src/v5/table/clickFunc/v3/index.js +0 -21
  47. package/src/v5/table/fragments.json +0 -112
  48. package/src/v5/table/index.js +0 -72
  49. package/src/v5/table/resolveTargetContainer.js +0 -9
  50. package/src/v5/table/skeleton.json +0 -371
  51. package/src/v6/dataLists/fragments.json +0 -1
  52. package/src/v6/dataLists/index.js +0 -32
  53. package/src/v6/dataLists/skeleton.json +0 -38
  54. package/src/v6/form/attachFormClickEventListener.js +0 -27
  55. package/src/v6/form/clickFunc/extractFormData.js +0 -27
  56. package/src/v6/form/clickFunc/handleNew.js +0 -24
  57. package/src/v6/form/clickFunc/handleSave.js +0 -33
  58. package/src/v6/form/clickFunc/index.js +0 -32
  59. package/src/v6/form/index.js +0 -87
  60. package/src/v6/form/structure.json +0 -410
  61. package/src/v6/index.js +0 -150
  62. package/src/v6/meta.js +0 -6
  63. package/src/v6/navTabs/fragments.json +0 -59
  64. package/src/v6/navTabs/index.js +0 -82
  65. package/src/v6/navTabs/skeleton.json +0 -18
  66. package/src/v6/registerGlobal.js +0 -14
  67. package/src/v6/select/fragments.json +0 -1
  68. package/src/v6/select/index.js +0 -34
  69. package/src/v6/select/skeleton.json +0 -23
  70. package/src/v6/table/attachTableClickEventListener.js +0 -22
  71. package/src/v6/table/buildTableDataAsJson.js +0 -19
  72. package/src/v6/table/buildTableDomElement.js +0 -21
  73. package/src/v6/table/buildTableStructureSpec.js +0 -28
  74. package/src/v6/table/clickFunc/v3/createTable.js +0 -16
  75. package/src/v6/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +0 -23
  76. package/src/v6/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +0 -21
  77. package/src/v6/table/clickFunc/v3/getContainer/index.js +0 -39
  78. package/src/v6/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +0 -14
  79. package/src/v6/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +0 -12
  80. package/src/v6/table/clickFunc/v3/index.js +0 -21
  81. package/src/v6/table/fragments.json +0 -112
  82. package/src/v6/table/index.js +0 -72
  83. package/src/v6/table/resolveTargetContainer.js +0 -9
  84. package/src/v6/table/skeleton.json +0 -371
  85. package/src/v7/common/deriveColumnsFromData.js +0 -20
  86. package/src/v7/dataLists/fragments.json +0 -1
  87. package/src/v7/dataLists/index.js +0 -32
  88. package/src/v7/dataLists/skeleton.json +0 -38
  89. package/src/v7/form/attachFormClickEventListener.js +0 -27
  90. package/src/v7/form/clickFunc/extractFormData.js +0 -27
  91. package/src/v7/form/clickFunc/handleNew.js +0 -24
  92. package/src/v7/form/clickFunc/handleSave.js +0 -33
  93. package/src/v7/form/clickFunc/index.js +0 -32
  94. package/src/v7/form/index.js +0 -87
  95. package/src/v7/form/structure.json +0 -410
  96. package/src/v7/index.js +0 -141
  97. package/src/v7/meta.js +0 -6
  98. package/src/v7/navTabs/fragments.json +0 -59
  99. package/src/v7/navTabs/index.js +0 -82
  100. package/src/v7/navTabs/skeleton.json +0 -18
  101. package/src/v7/registerGlobal.js +0 -14
  102. package/src/v7/select/fragments.json +0 -1
  103. package/src/v7/select/index.js +0 -34
  104. package/src/v7/select/skeleton.json +0 -23
  105. package/src/v7/table/attachTableClickEventListener.js +0 -28
  106. package/src/v7/table/buildTableDataAsJson.js +0 -25
  107. package/src/v7/table/buildTableDomElement.js +0 -25
  108. package/src/v7/table/buildTableStructureSpec.js +0 -33
  109. package/src/v7/table/clickFunc/v3/createTable.js +0 -20
  110. package/src/v7/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +0 -27
  111. package/src/v7/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +0 -24
  112. package/src/v7/table/clickFunc/v3/getContainer/index.js +0 -44
  113. package/src/v7/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +0 -17
  114. package/src/v7/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +0 -15
  115. package/src/v7/table/clickFunc/v3/index.js +0 -35
  116. package/src/v7/table/fragments.json +0 -112
  117. package/src/v7/table/index.js +0 -82
  118. package/src/v7/table/resolveTargetContainer.js +0 -11
  119. package/src/v7/table/skeleton.json +0 -371
  120. package/src/v8/common/deriveColumnsFromData.js +0 -20
  121. package/src/v8/dataLists/fragments.json +0 -1
  122. package/src/v8/dataLists/index.js +0 -32
  123. package/src/v8/dataLists/skeleton.json +0 -38
  124. package/src/v8/form/attachFormClickEventListener.js +0 -27
  125. package/src/v8/form/clickFunc/extractFormData.js +0 -27
  126. package/src/v8/form/clickFunc/handleNew.js +0 -24
  127. package/src/v8/form/clickFunc/handleSave.js +0 -33
  128. package/src/v8/form/clickFunc/index.js +0 -32
  129. package/src/v8/form/index.js +0 -87
  130. package/src/v8/form/structure.json +0 -410
  131. package/src/v8/index.js +0 -141
  132. package/src/v8/meta.js +0 -6
  133. package/src/v8/navTabs/fragments.json +0 -59
  134. package/src/v8/navTabs/index.js +0 -82
  135. package/src/v8/navTabs/skeleton.json +0 -18
  136. package/src/v8/registerGlobal.js +0 -14
  137. package/src/v8/select/fragments.json +0 -1
  138. package/src/v8/select/index.js +0 -34
  139. package/src/v8/select/skeleton.json +0 -23
  140. package/src/v8/table/attachTableClickEventListener.js +0 -28
  141. package/src/v8/table/buildTableDataAsJson.js +0 -25
  142. package/src/v8/table/buildTableDomElement.js +0 -25
  143. package/src/v8/table/buildTableStructureSpec.js +0 -33
  144. package/src/v8/table/clickFunc/v3/createTable.js +0 -20
  145. package/src/v8/table/clickFunc/v3/getContainer/extractClickedRowDetails.js +0 -27
  146. package/src/v8/table/clickFunc/v3/getContainer/getOrCreateChildTableContainer.js +0 -24
  147. package/src/v8/table/clickFunc/v3/getContainer/index.js +0 -44
  148. package/src/v8/table/clickFunc/v3/getContainer/isSameRowClickedToToggleOff.js +0 -17
  149. package/src/v8/table/clickFunc/v3/getContainer/resetAndShowChildTableContainer.js +0 -15
  150. package/src/v8/table/clickFunc/v3/index.js +0 -35
  151. package/src/v8/table/fragments.json +0 -112
  152. package/src/v8/table/index.js +0 -82
  153. package/src/v8/table/resolveTargetContainer.js +0 -11
  154. package/src/v8/table/skeleton.json +0 -371
  155. package/src/v9/common/deriveColumnsFromData.js +0 -20
  156. package/src/v9/dataLists/fragments.json +0 -1
  157. package/src/v9/dataLists/index.js +0 -32
  158. package/src/v9/dataLists/skeleton.json +0 -38
  159. package/src/v9/form/attachFormClickEventListener.js +0 -27
  160. package/src/v9/form/clickFunc/extractFormData.js +0 -27
  161. package/src/v9/form/clickFunc/handleNew.js +0 -24
  162. package/src/v9/form/clickFunc/handleSave.js +0 -33
  163. package/src/v9/form/clickFunc/index.js +0 -32
  164. package/src/v9/form/index.js +0 -87
  165. package/src/v9/form/structure.json +0 -410
  166. package/src/v9/index.js +0 -141
  167. package/src/v9/meta.js +0 -6
  168. package/src/v9/navTabs/fragments.json +0 -59
  169. package/src/v9/navTabs/index.js +0 -82
  170. package/src/v9/navTabs/skeleton.json +0 -18
  171. package/src/v9/registerGlobal.js +0 -14
  172. package/src/v9/select/fragments.json +0 -1
  173. package/src/v9/select/index.js +0 -34
  174. package/src/v9/select/skeleton.json +0 -23
  175. package/src/v9/table/index.js +0 -35
  176. package/src/v9/table/skeleton.json +0 -47
  177. /package/src/{v10 → v13}/common/deriveColumnsFromData.js +0 -0
  178. /package/src/{v10 → v13}/registerGlobal.js +0 -0
@@ -1,59 +0,0 @@
1
- {
2
- "navTabsList": {
3
- "tagName": "ul",
4
- "attributes": {
5
- "class": "nav nav-tabs",
6
- "role": "tablist"
7
- },
8
- "jsonToSpec": {
9
- "operation": "loopArray",
10
- "source": "tabs",
11
- "template": {
12
- "tagName": "li",
13
- "attributes": {
14
- "class": "nav-item",
15
- "role": "presentation"
16
- },
17
- "children": [
18
- {
19
- "tagName": "button",
20
- "attributes": {
21
- "class": "nav-link ${activeClass}",
22
- "id": "${id}-tab",
23
- "data-bs-toggle": "tab",
24
- "data-bs-target": "#${id}-pane",
25
- "type": "button",
26
- "role": "tab",
27
- "aria-controls": "${id}-pane",
28
- "aria-selected": "${isSelected}"
29
- },
30
- "textContent": "${label}"
31
- }
32
- ]
33
- }
34
- },
35
- "children": []
36
- },
37
- "tabContent": {
38
- "tagName": "div",
39
- "attributes": {
40
- "class": "tab-content pt-3"
41
- },
42
- "jsonToSpec": {
43
- "operation": "loopArray",
44
- "source": "tabs",
45
- "template": {
46
- "tagName": "div",
47
- "attributes": {
48
- "class": "tab-pane fade ${showActiveClass}",
49
- "id": "${id}-pane",
50
- "role": "tabpanel",
51
- "aria-labelledby": "${id}-tab",
52
- "tabindex": "0"
53
- },
54
- "textContent": "${content}"
55
- }
56
- },
57
- "children": []
58
- }
59
- }
@@ -1,82 +0,0 @@
1
- import skeletonToSpec from "../../../../../skeletonToSpec/v3/index.js";
2
- import jsonToSpec from "../../../jsonToSpec/v2/index.js";
3
- import jsonToTag from "../../../jsonToTag/v2/index.js";
4
-
5
- import skeletonJson from './skeleton.json' with {type: 'json'};
6
- import fragmentsJson from './fragments.json' with {type: 'json'};
7
-
8
- const startFunc = ({
9
- targetHtmlId,
10
- inTargetHtmlId,
11
- inTabs = [],
12
- inData = [],
13
- inSkeletonType = "default",
14
- inShowLog = false
15
- } = {}) => {
16
- const localTargetHtmlId = inTargetHtmlId ?? targetHtmlId;
17
- const localTabs = inTabs;
18
- const localData = inData;
19
- const localSkeletonType = inSkeletonType;
20
- const localShowLog = inShowLog;
21
-
22
- try {
23
- let tabsArray = [];
24
-
25
- if (Array.isArray(localTabs) && localTabs.length > 0) {
26
- tabsArray = localTabs.map((tab, idx) => ({
27
- id: tab.id ?? `tab-${idx + 1}`,
28
- label: tab.label ?? tab.title ?? `Tab ${idx + 1}`,
29
- activeClass: tab.activeClass ?? (idx === 0 ? "active" : ""),
30
- showActiveClass: tab.showActiveClass ?? (idx === 0 ? "show active" : ""),
31
- isSelected: tab.isSelected ?? (idx === 0 ? "true" : "false"),
32
- content: tab.content ?? ""
33
- }));
34
- } else if (Array.isArray(localData) && localData.length > 0) {
35
- tabsArray = localData.map((row, idx) => {
36
- const id = `tab-${row.VOUCHERNUMBER ?? row.id ?? idx + 1}`;
37
- const label = row.REFERENCE || row.VOUCHERTYPENAME || `Tab ${idx + 1}`;
38
- const isActive = idx === 0;
39
- return {
40
- id,
41
- label,
42
- activeClass: isActive ? "active" : "",
43
- showActiveClass: isActive ? "show active" : "",
44
- isSelected: isActive ? "true" : "false",
45
- content: ""
46
- };
47
- });
48
- }
49
-
50
- const dataAsJson = { tabs: tabsArray };
51
-
52
- const rawSkeleton = skeletonJson[localSkeletonType] ?? skeletonJson.default ?? skeletonJson;
53
- const targetSkeleton = structuredClone(rawSkeleton);
54
-
55
- if (localShowLog) console.log("navTabs targetSkeleton : ", targetSkeleton);
56
-
57
- const structureJson = skeletonToSpec({
58
- inSkeleton: targetSkeleton,
59
- inFragments: fragmentsJson
60
- });
61
- if (localShowLog) console.log("navTabs structureJson : ", structureJson);
62
-
63
- const specAsJsonToDom = jsonToSpec({ specJson: structureJson, dataJson: dataAsJson, showLog: false });
64
- if (localShowLog) console.log("navTabs specAsJsonToDom : ", specAsJsonToDom);
65
-
66
- const fromRenderer = jsonToTag(specAsJsonToDom);
67
-
68
- const html = (typeof localTargetHtmlId === "string")
69
- ? document.getElementById(localTargetHtmlId)
70
- : localTargetHtmlId;
71
-
72
- if (!html) return fromRenderer;
73
-
74
- html.append(fromRenderer);
75
- return fromRenderer;
76
- } catch (error) {
77
- console.log("error : ", error);
78
- };
79
- };
80
-
81
- export { startFunc };
82
- export default startFunc;
@@ -1,18 +0,0 @@
1
- {
2
- "default": {
3
- "tagName": "div",
4
- "attributes": {
5
- "class": "bootstrap-nav-tabs"
6
- },
7
- "slots": [
8
- "navTabsList",
9
- "tabContent"
10
- ]
11
- },
12
- "tabsOnly": {
13
- "tagName": "div",
14
- "slots": [
15
- "navTabsList"
16
- ]
17
- }
18
- }
@@ -1,14 +0,0 @@
1
- import meta from "./meta.js";
2
-
3
- export const registerGlobal = (inFuncDefinition) => {
4
- if (typeof globalThis === "undefined" || !inFuncDefinition) return;
5
-
6
- globalThis.ks ??= {};
7
-
8
- globalThis.ks.jsonRenderers ??= {
9
- meta,
10
- renderToDom: inFuncDefinition
11
- };
12
- };
13
-
14
- export default registerGlobal;
@@ -1 +0,0 @@
1
- {}
@@ -1,34 +0,0 @@
1
- import jsonTraversal from "../../../node_modules/json-traversal/index.js";
2
-
3
- // import jsonToSpec from "../../../node_modules/json-to-spec/index.js";
4
- // import jsonToTag from "@keshavsoft/json-to-tag";
5
- import jsonToTag from "@keshavsoft/json-to-tag";
6
-
7
- import skeletonJson from "./skeleton.json" with { type: "json" };
8
-
9
- const startFunc = ({ targetHtmlId, inData,
10
- inSkeletonType = "default", inClassToApply } = {}) => {
11
-
12
- console.log("aaaaaaaaaa");
13
-
14
- const skeletonNeeded = skeletonJson[inSkeletonType];
15
- skeletonNeeded.mapping.attributes.class = `$${inClassToApply}`;
16
- // skeletonNeeded.mapping.attributes.class = inClassToApply;
17
- debugger;
18
-
19
- const specAsJsonToDom = jsonTraversal.transform(inData, skeletonNeeded);
20
-
21
- const container = document.getElementById(targetHtmlId);
22
- if (container) container.innerHTML = "";
23
-
24
- const createdElement = jsonToTag(specAsJsonToDom);
25
-
26
- if (Array.isArray(createdElement)) {
27
- // container.appendChild(createdElement)
28
- createdElement.forEach(element => container.append(element));
29
- } else {
30
- container.append(createdElement);
31
- };
32
- };
33
-
34
- export default startFunc;
@@ -1,23 +0,0 @@
1
- {
2
- "default": {
3
- "mapping": {
4
- "tagName": "$select",
5
- "attributes": {
6
- "id": "$LedgerName",
7
- "class": "$keshav"
8
- },
9
- "children": [
10
- {
11
- "list": "LedgerName",
12
- "item": {
13
- "tagName": "$option",
14
- "attributes": {
15
- "value": ""
16
- },
17
- "textContent": ""
18
- }
19
- }
20
- ]
21
- }
22
- }
23
- }
@@ -1,35 +0,0 @@
1
- import jsonToSpec from "json-to-spec";
2
- import jsonToTag from "@keshavsoft/json-to-tag";
3
-
4
- import skeletonJson from './skeleton.json' with { type: 'json' };
5
-
6
- // --- Story of Table Render ---
7
- const startFunc = ({
8
- targetHtmlId,
9
- inTargetHtmlId,
10
- inColumns,
11
- inData,
12
- } = {}) => {
13
- const localTargetHtmlId = inTargetHtmlId ?? targetHtmlId;
14
- const localData = inData ?? [];
15
- const localColumns = inColumns;
16
-
17
- let specAsJsonToDom = jsonToSpec(skeletonJson.default, {
18
- columns: localColumns, data: localData
19
- });
20
-
21
- // console.log("specAsJsonToDom : ", specAsJsonToDom);
22
-
23
- if (!("tagName" in specAsJsonToDom)) {
24
- specAsJsonToDom = specAsJsonToDom.children;
25
- };
26
-
27
- const container = document.getElementById(localTargetHtmlId);
28
-
29
- if (container) container.innerHTML = "";
30
-
31
- const content = jsonToTag(specAsJsonToDom);
32
- container.append(content);
33
- };
34
-
35
- export default startFunc;
@@ -1,47 +0,0 @@
1
- {
2
- "default": {
3
- "tagName": "table",
4
- "attributes": {
5
- "class": "table table-hover table-striped mb-0"
6
- },
7
- "children": [
8
- {
9
- "tagName": "thead",
10
- "children": [
11
- {
12
- "tagName": "tr",
13
- "jsonToSpec": {
14
- "operation": "loopCollection",
15
- "source": "columns",
16
- "template": {
17
- "tagName": "th",
18
- "textContent": "${title}"
19
- }
20
- },
21
- "children": []
22
- }
23
- ]
24
- },
25
- {
26
- "tagName": "tbody",
27
- "jsonToSpec": {
28
- "operation": "loopCollection",
29
- "source": "data",
30
- "template": {
31
- "tagName": "tr",
32
- "jsonToSpec": {
33
- "operation": "loopObject",
34
- "source": "data",
35
- "template": {
36
- "tagName": "td",
37
- "textContent": "${value}"
38
- }
39
- },
40
- "children": []
41
- }
42
- },
43
- "children": []
44
- }
45
- ]
46
- }
47
- }
File without changes