json-renderers-build-table 1.28.1 → 1.36.1

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 (182) hide show
  1. package/package.json +6 -2
  2. package/src/index.js +2 -2
  3. package/src/v32/actions/index.js +28 -0
  4. package/src/{v28/actions/insertOptions/instructions/single.json → v32/actions/instructionsForOptions.json} +22 -26
  5. package/src/{v27/actions/insertSerial/instructions/single.json → v32/actions/instructionsForSerial.json} +22 -26
  6. package/src/{v28 → v32}/builders/simple/index.js +3 -2
  7. package/src/v33/actions/index.js +12 -0
  8. package/src/v33/builders/simple/index.js +41 -0
  9. package/src/v34/actions/index.js +12 -0
  10. package/src/v34/builders/simple/index.js +50 -0
  11. package/src/v34/builders/simpleSearch/instructions/single.json +38 -0
  12. package/src/v34/builders/withFooter/base.json +53 -0
  13. package/src/v34/builders/withFooter/instructions/double.json +19 -0
  14. package/src/v35/builders/bodyOnly/base.json +1 -0
  15. package/src/v35/builders/bodyOnly/double.json +1 -0
  16. package/src/v35/builders/bodyOnly/index.js +37 -0
  17. package/src/v35/builders/bodyOnly/single.json +1 -0
  18. package/src/v35/builders/footerOnly/base.json +1 -0
  19. package/src/v35/builders/footerOnly/double.json +1 -0
  20. package/src/v35/builders/footerOnly/index.js +37 -0
  21. package/src/v35/builders/footerOnly/single.json +1 -0
  22. package/src/v35/builders/headerOnly/base.json +1 -0
  23. package/src/v35/builders/headerOnly/double.json +1 -0
  24. package/src/v35/builders/headerOnly/index.js +37 -0
  25. package/src/v35/builders/headerOnly/single.json +1 -0
  26. package/src/v35/builders/simple/base.json +1 -0
  27. package/src/v35/builders/simple/double.json +1 -0
  28. package/src/v35/builders/simple/index.js +30 -0
  29. package/src/v35/builders/simple/single.json +1 -0
  30. package/src/v35/builders/spec.json +107 -0
  31. package/src/v35/builders/withFooter/base.json +1 -0
  32. package/src/v35/builders/withFooter/double.json +1 -0
  33. package/src/v35/builders/withFooter/index.js +30 -0
  34. package/src/v35/builders/withFooter/single.json +56 -0
  35. package/src/v35/index.js +11 -0
  36. package/src/v35/public.js +2 -0
  37. package/src/v36/builders/bodyOnly/base.json +1 -0
  38. package/src/v36/builders/bodyOnly/double.json +1 -0
  39. package/src/v36/builders/bodyOnly/index.js +37 -0
  40. package/src/v36/builders/bodyOnly/single.json +1 -0
  41. package/src/v36/builders/footerOnly/base.json +1 -0
  42. package/src/v36/builders/footerOnly/double.json +1 -0
  43. package/src/v36/builders/footerOnly/index.js +37 -0
  44. package/src/v36/builders/footerOnly/single.json +1 -0
  45. package/src/v36/builders/headerOnly/base.json +1 -0
  46. package/src/v36/builders/headerOnly/double.json +1 -0
  47. package/src/v36/builders/headerOnly/index.js +37 -0
  48. package/src/v36/builders/headerOnly/single.json +1 -0
  49. package/src/v36/builders/simple/base.json +1 -0
  50. package/src/v36/builders/simple/double.json +1 -0
  51. package/src/v36/builders/simple/index.js +30 -0
  52. package/src/v36/builders/simple/single.json +1 -0
  53. package/src/v36/builders/spec.json +107 -0
  54. package/src/v36/builders/withFooter/base.json +1 -0
  55. package/src/v36/builders/withFooter/double.json +1 -0
  56. package/src/v36/builders/withFooter/index.js +33 -0
  57. package/src/v36/builders/withFooter/single.json +56 -0
  58. package/src/v36/index.js +11 -0
  59. package/src/v36/public.js +2 -0
  60. package/src/v26/actions/index.js +0 -20
  61. package/src/v26/actions/insertOptions/index.js +0 -47
  62. package/src/v26/actions/insertOptions/instructions/footer.json +0 -22
  63. package/src/v26/actions/insertOptions/instructions/single.json +0 -62
  64. package/src/v26/actions/insertSerial/index.js +0 -47
  65. package/src/v26/actions/insertSerial/instructions/footer.json +0 -22
  66. package/src/v26/actions/insertSerial/instructions/single.json +0 -62
  67. package/src/v27/actions/index.js +0 -25
  68. package/src/v27/actions/insertOptions/index.js +0 -47
  69. package/src/v27/actions/insertOptions/instructions/footer.json +0 -22
  70. package/src/v27/actions/insertOptions/instructions/single.json +0 -62
  71. package/src/v27/actions/insertSerial/index.js +0 -47
  72. package/src/v27/actions/insertSerial/instructions/footer.json +0 -22
  73. package/src/v28/actions/index.js +0 -25
  74. package/src/v28/actions/insertOptions/index.js +0 -47
  75. package/src/v28/actions/insertOptions/instructions/footer.json +0 -22
  76. package/src/v28/actions/insertSearch/index.js +0 -7
  77. package/src/v28/actions/insertSearch/instructions/template.json +0 -20
  78. package/src/v28/actions/insertSerial/index.js +0 -47
  79. package/src/v28/actions/insertSerial/instructions/footer.json +0 -22
  80. package/src/v28/actions/insertSerial/instructions/single.json +0 -62
  81. package/src/v28/builders/simpleSearch/index.js +0 -40
  82. /package/src/{v27 → v32}/actions/insertSearch/index.js +0 -0
  83. /package/src/{v27 → v32}/actions/insertSearch/instructions/template.json +0 -0
  84. /package/src/{v26 → v32}/builders/bodyOnly/base.json +0 -0
  85. /package/src/{v26 → v32}/builders/bodyOnly/index.js +0 -0
  86. /package/src/{v26 → v32}/builders/bodyOnly/instructions/double.json +0 -0
  87. /package/src/{v26 → v32}/builders/footerOnly/base.json +0 -0
  88. /package/src/{v26 → v32}/builders/footerOnly/index.js +0 -0
  89. /package/src/{v26 → v32}/builders/footerOnly/instructions/single.json +0 -0
  90. /package/src/{v26 → v32}/builders/headerOnly/base.json +0 -0
  91. /package/src/{v26 → v32}/builders/headerOnly/index.js +0 -0
  92. /package/src/{v26 → v32}/builders/headerOnly/instructions/single.json +0 -0
  93. /package/src/{v26 → v32}/builders/simple/base.json +0 -0
  94. /package/src/{v26 → v32}/builders/simple/instructions/double.json +0 -0
  95. /package/src/{v26 → v32}/builders/simple/instructions/single.json +0 -0
  96. /package/src/{v26/builders/withFooter → v32/builders/simpleSearch}/base.json +0 -0
  97. /package/src/{v26/builders/simple → v32/builders/simpleSearch}/index.js +0 -0
  98. /package/src/{v26/builders/withFooter → v32/builders/simpleSearch}/instructions/double.json +0 -0
  99. /package/src/{v27/builders/headerOnly → v32/builders/simpleSearch}/instructions/single.json +0 -0
  100. /package/src/{v26 → v32}/builders/spec.json +0 -0
  101. /package/src/{v27/builders/headerOnly → v32/builders/withFooter}/base.json +0 -0
  102. /package/src/{v26 → v32}/builders/withFooter/index.js +0 -0
  103. /package/src/{v27/builders/simple → v32/builders/withFooter}/instructions/double.json +0 -0
  104. /package/src/{v26 → v32}/builders/withFooter/instructions/single.json +0 -0
  105. /package/src/{v26 → v32}/doubleInstruction/index.js +0 -0
  106. /package/src/{v26 → v32}/guards/index.js +0 -0
  107. /package/src/{v26 → v32}/guards/references/func/index.js +0 -0
  108. /package/src/{v26 → v32}/guards/references/index.js +0 -0
  109. /package/src/{v26 → v32}/guards/references/templateKey/index.js +0 -0
  110. /package/src/{v26 → v32}/guards/structure/destinationPath/index.js +0 -0
  111. /package/src/{v26 → v32}/guards/structure/func/index.js +0 -0
  112. /package/src/{v26 → v32}/guards/structure/index.js +0 -0
  113. /package/src/{v26 → v32}/guards/structure/sourcePath/index.js +0 -0
  114. /package/src/{v26 → v32}/guards/structure/templateKey/index.js +0 -0
  115. /package/src/{v26 → v32}/index.js +0 -0
  116. /package/src/{v26 → v32}/singleInstruction/index.js +0 -0
  117. /package/src/{v26 → v32}/writePath/index.js +0 -0
  118. /package/src/{v27 → v33}/builders/bodyOnly/base.json +0 -0
  119. /package/src/{v27 → v33}/builders/bodyOnly/index.js +0 -0
  120. /package/src/{v27 → v33}/builders/bodyOnly/instructions/double.json +0 -0
  121. /package/src/{v27 → v33}/builders/footerOnly/base.json +0 -0
  122. /package/src/{v27 → v33}/builders/footerOnly/index.js +0 -0
  123. /package/src/{v27 → v33}/builders/footerOnly/instructions/single.json +0 -0
  124. /package/src/{v27/builders/simple → v33/builders/headerOnly}/base.json +0 -0
  125. /package/src/{v27 → v33}/builders/headerOnly/index.js +0 -0
  126. /package/src/{v27/builders/simple → v33/builders/headerOnly}/instructions/single.json +0 -0
  127. /package/src/{v27/builders/simpleSearch → v33/builders/simple}/base.json +0 -0
  128. /package/src/{v27/builders/simpleSearch → v33/builders/simple}/instructions/double.json +0 -0
  129. /package/src/{v27/builders/simpleSearch → v33/builders/simple}/instructions/single.json +0 -0
  130. /package/src/{v27/builders/withFooter → v33/builders/simpleSearch}/base.json +0 -0
  131. /package/src/{v27/builders/simple → v33/builders/simpleSearch}/index.js +0 -0
  132. /package/src/{v27/builders/withFooter → v33/builders/simpleSearch}/instructions/double.json +0 -0
  133. /package/src/{v28/builders/headerOnly → v33/builders/simpleSearch}/instructions/single.json +0 -0
  134. /package/src/{v27 → v33}/builders/spec.json +0 -0
  135. /package/src/{v28/builders/headerOnly → v33/builders/withFooter}/base.json +0 -0
  136. /package/src/{v27 → v33}/builders/withFooter/index.js +0 -0
  137. /package/src/{v28/builders/simple → v33/builders/withFooter}/instructions/double.json +0 -0
  138. /package/src/{v27 → v33}/builders/withFooter/instructions/single.json +0 -0
  139. /package/src/{v27 → v33}/doubleInstruction/index.js +0 -0
  140. /package/src/{v27 → v33}/guards/index.js +0 -0
  141. /package/src/{v27 → v33}/guards/references/func/index.js +0 -0
  142. /package/src/{v27 → v33}/guards/references/index.js +0 -0
  143. /package/src/{v27 → v33}/guards/references/templateKey/index.js +0 -0
  144. /package/src/{v27 → v33}/guards/structure/destinationPath/index.js +0 -0
  145. /package/src/{v27 → v33}/guards/structure/func/index.js +0 -0
  146. /package/src/{v27 → v33}/guards/structure/index.js +0 -0
  147. /package/src/{v27 → v33}/guards/structure/sourcePath/index.js +0 -0
  148. /package/src/{v27 → v33}/guards/structure/templateKey/index.js +0 -0
  149. /package/src/{v27 → v33}/index.js +0 -0
  150. /package/src/{v27 → v33}/singleInstruction/index.js +0 -0
  151. /package/src/{v27 → v33}/writePath/index.js +0 -0
  152. /package/src/{v28 → v34}/builders/bodyOnly/base.json +0 -0
  153. /package/src/{v28 → v34}/builders/bodyOnly/index.js +0 -0
  154. /package/src/{v28 → v34}/builders/bodyOnly/instructions/double.json +0 -0
  155. /package/src/{v28 → v34}/builders/footerOnly/base.json +0 -0
  156. /package/src/{v28 → v34}/builders/footerOnly/index.js +0 -0
  157. /package/src/{v28 → v34}/builders/footerOnly/instructions/single.json +0 -0
  158. /package/src/{v28/builders/simple → v34/builders/headerOnly}/base.json +0 -0
  159. /package/src/{v28 → v34}/builders/headerOnly/index.js +0 -0
  160. /package/src/{v28/builders/simple → v34/builders/headerOnly}/instructions/single.json +0 -0
  161. /package/src/{v28/builders/simpleSearch → v34/builders/simple}/base.json +0 -0
  162. /package/src/{v28/builders/simpleSearch → v34/builders/simple}/instructions/double.json +0 -0
  163. /package/src/{v28/builders/simpleSearch → v34/builders/simple}/instructions/single.json +0 -0
  164. /package/src/{v28/builders/withFooter → v34/builders/simpleSearch}/base.json +0 -0
  165. /package/src/{v27 → v34}/builders/simpleSearch/index.js +0 -0
  166. /package/src/{v28/builders/withFooter → v34/builders/simpleSearch}/instructions/double.json +0 -0
  167. /package/src/{v28 → v34}/builders/spec.json +0 -0
  168. /package/src/{v28 → v34}/builders/withFooter/index.js +0 -0
  169. /package/src/{v28 → v34}/builders/withFooter/instructions/single.json +0 -0
  170. /package/src/{v28 → v34}/doubleInstruction/index.js +0 -0
  171. /package/src/{v28 → v34}/guards/index.js +0 -0
  172. /package/src/{v28 → v34}/guards/references/func/index.js +0 -0
  173. /package/src/{v28 → v34}/guards/references/index.js +0 -0
  174. /package/src/{v28 → v34}/guards/references/templateKey/index.js +0 -0
  175. /package/src/{v28 → v34}/guards/structure/destinationPath/index.js +0 -0
  176. /package/src/{v28 → v34}/guards/structure/func/index.js +0 -0
  177. /package/src/{v28 → v34}/guards/structure/index.js +0 -0
  178. /package/src/{v28 → v34}/guards/structure/sourcePath/index.js +0 -0
  179. /package/src/{v28 → v34}/guards/structure/templateKey/index.js +0 -0
  180. /package/src/{v28 → v34}/index.js +0 -0
  181. /package/src/{v28 → v34}/singleInstruction/index.js +0 -0
  182. /package/src/{v28 → v34}/writePath/index.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "json-renderers-build-table",
3
- "version": "1.28.1",
3
+ "version": "1.36.1",
4
4
  "description": "Focused table specification builder with configurable rows and cells",
5
5
  "type": "module",
6
6
  "main": "src/index.js",
@@ -18,10 +18,14 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@keshavsoft/json-to-tag": "^1.9.3",
21
+ "json-instructions": "^1.11.1",
22
+ "json-renderers-build-table-options": "^1.4.1",
21
23
  "json-transformer-funcs": "^1.24.7",
22
24
  "json-transformer-funcs-one-dimension": "^1.6.1",
23
25
  "json-transformer-funcs-primitive": "^1.9.3",
24
- "json-transformer-funcs-two-dimensions": "^1.5.2"
26
+ "json-transformer-funcs-two-dimensions": "^1.5.2",
27
+ "json-instruction-single": "file:../json-instruction-single",
28
+ "json-instruction-double": "file:../json-instruction-double"
25
29
  },
26
30
  "devDependencies": {
27
31
  "vite": "^8.3.4"
package/src/index.js CHANGED
@@ -1,2 +1,2 @@
1
- export * from "./v28/index.js";
2
- export { default } from "./v28/index.js";
1
+ export * from "./v36/index.js";
2
+ export { default } from "./v36/index.js";
@@ -0,0 +1,28 @@
1
+ import { runSingleInstructions } from "json-instructions";
2
+
3
+ import insertSearch from "./insertSearch/index.js";
4
+
5
+ import serialInstructions from "./instructionsForSerial.json" with { type: "json" };
6
+ import optionInstructions from "./instructionsForOptions.json" with { type: "json" };
7
+
8
+ const startFunc = ({ inOptions = {}, inBase, showLog = false, returnLog = [] }) => {
9
+ const localOptions = inOptions;
10
+
11
+ const localBase = inBase;
12
+
13
+ if (localOptions.showSerial || localOptions.serial) {
14
+ runSingleInstructions(serialInstructions, { base: localBase }, showLog, returnLog);
15
+ };
16
+
17
+ if (localOptions.showOptions || localOptions.options) {
18
+ runSingleInstructions(optionInstructions, { base: localBase }, showLog, returnLog);
19
+ };
20
+
21
+ if (localOptions.showSearch) {
22
+ insertSearch();
23
+ };
24
+
25
+ return localBase;
26
+ };
27
+
28
+ export default startFunc;
@@ -9,15 +9,9 @@
9
9
  ],
10
10
  "action": "push"
11
11
  },
12
- "sourcePath": {
13
- "fileName": "data",
14
- "filePath": [
15
- "options",
16
- "col"
17
- ]
18
- },
19
- "templateKey": "buildColGroup",
20
- "func": "applyTemplate"
12
+ "sourcePath": null,
13
+ "templateKey": "colGroupForOption",
14
+ "func": null
21
15
  },
22
16
  {
23
17
  "narration": "Append the options header cell to the table header row.",
@@ -29,15 +23,9 @@
29
23
  ],
30
24
  "action": "push"
31
25
  },
32
- "sourcePath": {
33
- "fileName": "data",
34
- "filePath": [
35
- "options",
36
- "header"
37
- ]
38
- },
39
- "templateKey": "buildHeader",
40
- "func": "applyTemplate"
26
+ "sourcePath": null,
27
+ "templateKey": "headerForOption",
28
+ "func": null
41
29
  },
42
30
  {
43
31
  "narration": "Append the options button cell into each table body row.",
@@ -49,14 +37,22 @@
49
37
  ],
50
38
  "action": "pushToRows"
51
39
  },
52
- "sourcePath": {
53
- "fileName": "data",
40
+ "sourcePath": null,
41
+ "templateKey": "optionsButtonCell",
42
+ "func": null
43
+ },
44
+ {
45
+ "narration": "Append the options footer cell to the table footer row.",
46
+ "destinationPath": {
47
+ "fileName": "base",
48
+ "dataRole": "table-footer-row",
54
49
  "filePath": [
55
- "options",
56
- "body"
57
- ]
50
+ "children"
51
+ ],
52
+ "action": "push"
58
53
  },
59
- "templateKey": "optionsButtonCell",
60
- "func": "applyTemplate"
54
+ "sourcePath": null,
55
+ "templateKey": "tdWithButtonSaveWarning",
56
+ "func": null
61
57
  }
62
- ]
58
+ ]
@@ -9,15 +9,9 @@
9
9
  ],
10
10
  "action": "unshift"
11
11
  },
12
- "sourcePath": {
13
- "fileName": "data",
14
- "filePath": [
15
- "serial",
16
- "col"
17
- ]
18
- },
19
- "templateKey": "buildColGroup",
20
- "func": "applyTemplate"
12
+ "sourcePath": null,
13
+ "templateKey": "colGroupForSerial",
14
+ "func": null
21
15
  },
22
16
  {
23
17
  "narration": "Prepend the serial header cell to the table header row.",
@@ -29,15 +23,9 @@
29
23
  ],
30
24
  "action": "unshift"
31
25
  },
32
- "sourcePath": {
33
- "fileName": "data",
34
- "filePath": [
35
- "serial",
36
- "header"
37
- ]
38
- },
39
- "templateKey": "buildHeader",
40
- "func": "applyTemplate"
26
+ "sourcePath": null,
27
+ "templateKey": "headerSerialCell",
28
+ "func": null
41
29
  },
42
30
  {
43
31
  "narration": "Prepend the serial number cell into each table body row.",
@@ -49,14 +37,22 @@
49
37
  ],
50
38
  "action": "unshiftSerialToRows"
51
39
  },
52
- "sourcePath": {
53
- "fileName": "data",
40
+ "sourcePath": null,
41
+ "templateKey": "buildBodyCell",
42
+ "func": null
43
+ },
44
+ {
45
+ "narration": "Prepend the serial footer cell to the table footer row.",
46
+ "destinationPath": {
47
+ "fileName": "base",
48
+ "dataRole": "table-footer-row",
54
49
  "filePath": [
55
- "serial",
56
- "body"
57
- ]
50
+ "children"
51
+ ],
52
+ "action": "unshift"
58
53
  },
59
- "templateKey": "buildBodyCell",
60
- "func": "applyTemplate"
54
+ "sourcePath": null,
55
+ "templateKey": "headerSerialCell",
56
+ "func": null
61
57
  }
62
- ]
58
+ ]
@@ -17,7 +17,7 @@ const startFunc = (inConfig = {}, showLog = false, returnLog = []) => {
17
17
 
18
18
  const localColumns = localConfig.columns || [];
19
19
  const localData = localConfig.data || [];
20
- const localOptions = localConfig.options
20
+ const localOptions = localConfig.options || {};
21
21
 
22
22
  const localBase = structuredClone(base);
23
23
  const registry = {
@@ -26,7 +26,8 @@ const startFunc = (inConfig = {}, showLog = false, returnLog = []) => {
26
26
  data: localData
27
27
  },
28
28
  base: localBase,
29
- spec
29
+ spec,
30
+ ...localOptions
30
31
  };
31
32
 
32
33
  runSingleInstructions(singleInstructions, registry, functions, spec, showLog, returnLog);
@@ -0,0 +1,12 @@
1
+ import buildOptions from "json-renderers-build-table-options";
2
+
3
+ const startFunc = ({ inOptions = {}, inBase, showLog = false, returnLog = [] }) => {
4
+ const fromOptions = buildOptions({
5
+ options: inOptions,
6
+ base: inBase, showLog, returnLog
7
+ });
8
+
9
+ return fromOptions;
10
+ };
11
+
12
+ export default startFunc;
@@ -0,0 +1,41 @@
1
+ import fromCollection from "json-transformer-funcs-one-dimension";
2
+ import twoDimensional from "json-transformer-funcs-two-dimensions";
3
+
4
+ import spec from "../spec.json" with { type: "json" };
5
+ import base from "./base.json" with { type: "json" };
6
+ import singleInstructions from "./instructions/single.json" with { type: "json" };
7
+ import doubleInstructions from "./instructions/double.json" with { type: "json" };
8
+
9
+ import runSingleInstructions from "../../singleInstruction/index.js";
10
+ import runDoubleInstructions from "../../doubleInstruction/index.js";
11
+ import actions from "../../actions/index.js";
12
+
13
+ const functions = { fromCollection, twoDimensional };
14
+
15
+ const startFunc = (inConfig = {}, showLog = false, returnLog = []) => {
16
+ const localConfig = inConfig;
17
+
18
+ const localColumns = localConfig.columns || [];
19
+ const localData = localConfig.data || [];
20
+ const localOptions = localConfig.options || {};
21
+
22
+ const localBase = structuredClone(base);
23
+ const registry = {
24
+ data: {
25
+ columns: localColumns,
26
+ data: localData
27
+ },
28
+ base: localBase,
29
+ spec,
30
+ ...localOptions
31
+ };
32
+
33
+ runSingleInstructions(singleInstructions, registry, functions, spec, showLog, returnLog);
34
+ runDoubleInstructions(doubleInstructions, registry, functions, spec, showLog, returnLog);
35
+
36
+ actions({ inOptions: localOptions, inBase: localBase });
37
+
38
+ return localBase;
39
+ };
40
+
41
+ export default startFunc;
@@ -0,0 +1,12 @@
1
+ import buildOptions from "json-renderers-build-table-options";
2
+
3
+ const startFunc = ({ inOptions = {}, inBase, showLog = false, returnLog = [] }) => {
4
+ const fromOptions = buildOptions({
5
+ options: inOptions,
6
+ base: inBase, showLog, returnLog
7
+ });
8
+
9
+ return fromOptions;
10
+ };
11
+
12
+ export default startFunc;
@@ -0,0 +1,50 @@
1
+ import fromCollection from "json-transformer-funcs-one-dimension";
2
+ import twoDimensional from "json-transformer-funcs-two-dimensions";
3
+
4
+ import { runSingleInstructions, runDoubleInstructions } from "json-instructions";
5
+
6
+ import spec from "../spec.json" with { type: "json" };
7
+ import base from "./base.json" with { type: "json" };
8
+ import singleInstructions from "./instructions/single.json" with { type: "json" };
9
+ import doubleInstructions from "./instructions/double.json" with { type: "json" };
10
+
11
+ // import runSingleInstructions from "../../singleInstruction/index.js";
12
+ // import runDoubleInstructions from "../../doubleInstruction/index.js";
13
+
14
+ import actions from "../../actions/index.js";
15
+
16
+ const functions = { fromCollection, twoDimensional };
17
+
18
+ const startFunc = (inConfig = {}, showLog = false, returnLog = []) => {
19
+ const localConfig = inConfig;
20
+
21
+ const localColumns = localConfig.columns || [];
22
+ const localData = localConfig.data || [];
23
+ const localOptions = localConfig.options || {};
24
+ const localShowLog = localConfig?.showLog;
25
+
26
+ const localBase = structuredClone(base);
27
+ const registry = {
28
+ data: {
29
+ columns: localColumns,
30
+ data: localData
31
+ },
32
+ base: localBase,
33
+ spec,
34
+ ...localOptions
35
+ };
36
+ console.log("registry : ", localShowLog, registry);
37
+
38
+ runSingleInstructions(singleInstructions, registry, localShowLog, returnLog);
39
+
40
+ runDoubleInstructions(doubleInstructions, registry, showLog, returnLog);
41
+
42
+ // runSingleInstructions(singleInstructions, registry, functions, spec, showLog, returnLog);
43
+ // runDoubleInstructions(doubleInstructions, registry, functions, spec, showLog, returnLog);
44
+
45
+ actions({ inOptions: localOptions, inBase: localBase });
46
+
47
+ return localBase;
48
+ };
49
+
50
+ export default startFunc;
@@ -0,0 +1,38 @@
1
+ [
2
+ {
3
+ "narration": "Build the column widths for the table using the configured columns.",
4
+ "destinationPath": {
5
+ "fileName": "base",
6
+ "dataRole": "table-colgroup",
7
+ "filePath": [
8
+ "children"
9
+ ]
10
+ },
11
+ "sourcePath": {
12
+ "fileName": "data",
13
+ "filePath": [
14
+ "columns"
15
+ ]
16
+ },
17
+ "templateKey": "buildColGroup",
18
+ "func": "fromCollection"
19
+ },
20
+ {
21
+ "narration": "Build the header row for the table using the configured columns.",
22
+ "destinationPath": {
23
+ "fileName": "base",
24
+ "dataRole": "table-header-row",
25
+ "filePath": [
26
+ "children"
27
+ ]
28
+ },
29
+ "sourcePath": {
30
+ "fileName": "data",
31
+ "filePath": [
32
+ "columns"
33
+ ]
34
+ },
35
+ "templateKey": "buildHeader",
36
+ "func": "fromCollection"
37
+ }
38
+ ]
@@ -0,0 +1,53 @@
1
+ {
2
+ "tagName": "table",
3
+ "attributes": {
4
+ "class": "table table-hover table-striped align-middle border mb-0"
5
+ },
6
+ "children": [
7
+ {
8
+ "tagName": "colgroup",
9
+ "attributes": {
10
+ "data-role": "table-colgroup"
11
+ },
12
+ "children": []
13
+ },
14
+ {
15
+ "tagName": "thead",
16
+ "attributes": {
17
+ "class": "table-dark",
18
+ "data-role": "table-header"
19
+ },
20
+ "children": [
21
+ {
22
+ "tagName": "tr",
23
+ "attributes": {
24
+ "data-role": "table-header-row"
25
+ },
26
+ "children": []
27
+ }
28
+ ]
29
+ },
30
+ {
31
+ "tagName": "tbody",
32
+ "attributes": {
33
+ "data-role": "table-body"
34
+ },
35
+ "children": []
36
+ },
37
+ {
38
+ "tagName": "tfoot",
39
+ "attributes": {
40
+ "data-role": "table-footer"
41
+ },
42
+ "children": [
43
+ {
44
+ "tagName": "tr",
45
+ "attributes": {
46
+ "data-role": "table-footer-row"
47
+ },
48
+ "children": []
49
+ }
50
+ ]
51
+ }
52
+ ]
53
+ }
@@ -0,0 +1,19 @@
1
+ [
2
+ {
3
+ "narration": "Build the table body rows for the table using the configured columns and data.",
4
+ "destinationPath": {
5
+ "fileName": "base",
6
+ "dataRole": "table-body",
7
+ "filePath": [
8
+ "children"
9
+ ]
10
+ },
11
+ "sourcePath": {
12
+ "fileName": "data",
13
+ "filePath": [
14
+ "columns"
15
+ ]
16
+ },
17
+ "func": "twoDimensional"
18
+ }
19
+ ]
@@ -0,0 +1 @@
1
+ {"tagName":"table","attributes":{"class":"table table-hover table-striped align-middle border mb-0"},"children":[{"tagName":"colgroup","attributes":{"data-role":"table-colgroup"},"children":[]},{"tagName":"thead","attributes":{"class":"table-dark","data-role":"table-header"},"children":[{"tagName":"tr","attributes":{"data-role":"table-header-row"},"children":[]}]},{"tagName":"tbody","attributes":{"data-role":"table-body"},"children":[]},{"tagName":"tfoot","attributes":{"data-role":"table-footer"},"children":[{"tagName":"tr","attributes":{"data-role":"table-footer-row"},"children":[]}]}]}
@@ -0,0 +1 @@
1
+ [{"narration":"Build only the body rows","destinationPath":{"fileName":"base","dataRole":"table-body","filePath":["children"]},"sourcePath":{"fileName":"data","filePath":["columns"]},"func":"twoDimensional"}]
@@ -0,0 +1,37 @@
1
+ import fromCollection from "json-transformer-funcs-one-dimension";
2
+ import twoDimensional from "json-transformer-funcs-two-dimensions";
3
+ import { runSingleInstructions } from "json-instruction-single";
4
+ import { runDoubleInstructions } from "json-instruction-double";
5
+ import spec from "../spec.json" with { type: "json" };
6
+ import base from "./base.json" with { type: "json" };
7
+ import singleInstructions from "./single.json" with { type: "json" };
8
+ import doubleInstructions from "./double.json" with { type: "json" };
9
+ import actions from "../../actions/index.js";
10
+
11
+ const functions = { fromCollection, twoDimensional };
12
+
13
+ const startFunc = (config = {}, showLog = false, returnLog = []) => {
14
+ const columns = config.columns || config.inColumns || [];
15
+ const data = config.data || config.inData || [];
16
+ const options = config.options || config.inOptions || {};
17
+ const localBase = structuredClone(base);
18
+ const registry = {
19
+ data: { columns, data },
20
+ base: localBase,
21
+ spec,
22
+ ...options
23
+ };
24
+ const instructionOptions = {
25
+ functions,
26
+ showLog: config.showLog ?? showLog,
27
+ returnLog
28
+ };
29
+
30
+ runSingleInstructions(singleInstructions, registry, instructionOptions);
31
+ runDoubleInstructions(doubleInstructions, registry, instructionOptions);
32
+ actions({ inOptions: options, inBase: localBase });
33
+
34
+ return localBase;
35
+ };
36
+
37
+ export default startFunc;
@@ -0,0 +1 @@
1
+ []
@@ -0,0 +1 @@
1
+ {"tagName":"table","attributes":{"class":"table table-hover table-striped align-middle border mb-0"},"children":[{"tagName":"colgroup","attributes":{"data-role":"table-colgroup"},"children":[]},{"tagName":"thead","attributes":{"class":"table-dark","data-role":"table-header"},"children":[{"tagName":"tr","attributes":{"data-role":"table-header-row"},"children":[]}]},{"tagName":"tbody","attributes":{"data-role":"table-body"},"children":[]},{"tagName":"tfoot","attributes":{"data-role":"table-footer"},"children":[{"tagName":"tr","attributes":{"data-role":"table-footer-row"},"children":[]}]}]}
@@ -0,0 +1,37 @@
1
+ import fromCollection from "json-transformer-funcs-one-dimension";
2
+ import twoDimensional from "json-transformer-funcs-two-dimensions";
3
+ import { runSingleInstructions } from "json-instruction-single";
4
+ import { runDoubleInstructions } from "json-instruction-double";
5
+ import spec from "../spec.json" with { type: "json" };
6
+ import base from "./base.json" with { type: "json" };
7
+ import singleInstructions from "./single.json" with { type: "json" };
8
+ import doubleInstructions from "./double.json" with { type: "json" };
9
+ import actions from "../../actions/index.js";
10
+
11
+ const functions = { fromCollection, twoDimensional };
12
+
13
+ const startFunc = (config = {}, showLog = false, returnLog = []) => {
14
+ const columns = config.columns || config.inColumns || [];
15
+ const data = config.data || config.inData || [];
16
+ const options = config.options || config.inOptions || {};
17
+ const localBase = structuredClone(base);
18
+ const registry = {
19
+ data: { columns, data },
20
+ base: localBase,
21
+ spec,
22
+ ...options
23
+ };
24
+ const instructionOptions = {
25
+ functions,
26
+ showLog: config.showLog ?? showLog,
27
+ returnLog
28
+ };
29
+
30
+ runSingleInstructions(singleInstructions, registry, instructionOptions);
31
+ runDoubleInstructions(doubleInstructions, registry, instructionOptions);
32
+ actions({ inOptions: options, inBase: localBase });
33
+
34
+ return localBase;
35
+ };
36
+
37
+ export default startFunc;
@@ -0,0 +1 @@
1
+ [{"narration":"Build only the footer row","destinationPath":{"fileName":"base","dataRole":"table-footer-row","filePath":["children"]},"sourcePath":{"fileName":"data","filePath":["columns"]},"templateKey":"buildFooter","func":"fromCollection"}]
@@ -0,0 +1 @@
1
+ {"tagName":"table","attributes":{"class":"table table-hover table-striped align-middle border mb-0"},"children":[{"tagName":"colgroup","attributes":{"data-role":"table-colgroup"},"children":[]},{"tagName":"thead","attributes":{"class":"table-dark","data-role":"table-header"},"children":[{"tagName":"tr","attributes":{"data-role":"table-header-row"},"children":[]}]},{"tagName":"tbody","attributes":{"data-role":"table-body"},"children":[]},{"tagName":"tfoot","attributes":{"data-role":"table-footer"},"children":[{"tagName":"tr","attributes":{"data-role":"table-footer-row"},"children":[]}]}]}
@@ -0,0 +1,37 @@
1
+ import fromCollection from "json-transformer-funcs-one-dimension";
2
+ import twoDimensional from "json-transformer-funcs-two-dimensions";
3
+ import { runSingleInstructions } from "json-instruction-single";
4
+ import { runDoubleInstructions } from "json-instruction-double";
5
+ import spec from "../spec.json" with { type: "json" };
6
+ import base from "./base.json" with { type: "json" };
7
+ import singleInstructions from "./single.json" with { type: "json" };
8
+ import doubleInstructions from "./double.json" with { type: "json" };
9
+ import actions from "../../actions/index.js";
10
+
11
+ const functions = { fromCollection, twoDimensional };
12
+
13
+ const startFunc = (config = {}, showLog = false, returnLog = []) => {
14
+ const columns = config.columns || config.inColumns || [];
15
+ const data = config.data || config.inData || [];
16
+ const options = config.options || config.inOptions || {};
17
+ const localBase = structuredClone(base);
18
+ const registry = {
19
+ data: { columns, data },
20
+ base: localBase,
21
+ spec,
22
+ ...options
23
+ };
24
+ const instructionOptions = {
25
+ functions,
26
+ showLog: config.showLog ?? showLog,
27
+ returnLog
28
+ };
29
+
30
+ runSingleInstructions(singleInstructions, registry, instructionOptions);
31
+ runDoubleInstructions(doubleInstructions, registry, instructionOptions);
32
+ actions({ inOptions: options, inBase: localBase });
33
+
34
+ return localBase;
35
+ };
36
+
37
+ export default startFunc;
@@ -0,0 +1 @@
1
+ [{"narration":"Build only the header row","destinationPath":{"fileName":"base","dataRole":"table-header-row","filePath":["children"]},"sourcePath":{"fileName":"data","filePath":["columns"]},"templateKey":"buildHeader","func":"fromCollection"}]
@@ -0,0 +1 @@
1
+ {"tagName":"table","attributes":{"class":"table table-hover table-striped align-middle border mb-0"},"children":[{"tagName":"colgroup","attributes":{"data-role":"table-colgroup"},"children":[]},{"tagName":"thead","attributes":{"class":"table-dark","data-role":"table-header"},"children":[{"tagName":"tr","attributes":{"data-role":"table-header-row"},"children":[]}]},{"tagName":"tbody","attributes":{"data-role":"table-body"},"children":[]},{"tagName":"tfoot","attributes":{"data-role":"table-footer"},"children":[{"tagName":"tr","attributes":{"data-role":"table-footer-row"},"children":[]}]}]}
@@ -0,0 +1 @@
1
+ [{"narration":"Build table body","destinationPath":{"fileName":"base","dataRole":"table-body","filePath":["children"]},"sourcePath":{"fileName":"data","filePath":["columns"]},"func":"twoDimensional"}]
@@ -0,0 +1,30 @@
1
+ import fromCollection from "json-transformer-funcs-one-dimension";
2
+ import twoDimensional from "json-transformer-funcs-two-dimensions";
3
+
4
+ import runSingleInstructions from "json-instruction-single";
5
+ import runDoubleInstructions from "json-instruction-double";
6
+
7
+ import spec from "../spec.json" with { type: "json" };
8
+ import base from "./base.json" with { type: "json" };
9
+
10
+ import singleInstructions from "./single.json" with { type: "json" };
11
+ import doubleInstructions from "./double.json" with { type: "json" };
12
+
13
+ const startFunc = ({ data, columns, options }) => {
14
+
15
+ const localBase = structuredClone(base);
16
+
17
+ const registry = {
18
+ data: { columns, data },
19
+ base: localBase,
20
+ spec,
21
+ ...options
22
+ };
23
+
24
+ runSingleInstructions(singleInstructions, registry);
25
+ runDoubleInstructions(doubleInstructions, registry);
26
+
27
+ return localBase;
28
+ };
29
+
30
+ export default startFunc;
@@ -0,0 +1 @@
1
+ [{"narration":"Build column widths","destinationPath":{"fileName":"base","dataRole":"table-colgroup","filePath":["children"]},"sourcePath":{"fileName":"data","filePath":["columns"]},"templateKey":"buildColGroup","func":"fromCollection"},{"narration":"Build table header","destinationPath":{"fileName":"base","dataRole":"table-header-row","filePath":["children"]},"sourcePath":{"fileName":"data","filePath":["columns"]},"templateKey":"buildHeader","func":"fromCollection"}]