json-renderers-build 1.9.2 → 1.10.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.
- package/package.json +2 -2
- package/src/index.js +2 -2
- package/src/v10/index.js +42 -0
- package/src/{v2 → v10}/meta.js +1 -1
- package/src/v10/select/index.js +21 -0
- package/src/{v6/selectOptionsOnly → v10/select/options}/index.js +2 -4
- package/src/{v4/selectOptionsOnly → v10/select/options}/skeleton.json +1 -1
- package/src/v10/table/footer/empty/cell/index.js +5 -0
- package/src/v10/table/footer/empty/cell/tag.json +6 -0
- package/src/v10/table/footer/empty/index.js +6 -0
- package/src/v10/table/footer/empty/row/index.js +10 -0
- package/src/v10/table/footer/empty/row/tag.json +7 -0
- package/src/v10/table/footer/index.js +28 -0
- package/src/v10/table/footer/inputs/cell/index.js +15 -0
- package/src/v10/table/footer/inputs/cell/tag.json +7 -0
- package/src/v10/table/footer/inputs/index.js +6 -0
- package/src/v10/table/footer/inputs/input/tag.json +9 -0
- package/src/v10/table/footer/inputs/row/index.js +10 -0
- package/src/v10/table/footer/inputs/row/tag.json +7 -0
- package/src/v10/table/footer/inputsWithSave/button/tag.json +8 -0
- package/src/v10/table/footer/inputsWithSave/cell/index.js +20 -0
- package/src/v10/table/footer/inputsWithSave/cell/tag.json +7 -0
- package/src/v10/table/footer/inputsWithSave/index.js +6 -0
- package/src/v10/table/footer/inputsWithSave/input/tag.json +9 -0
- package/src/v10/table/footer/inputsWithSave/row/index.js +13 -0
- package/src/v10/table/footer/inputsWithSave/row/tag.json +7 -0
- package/src/v10/table/footer/tag.json +7 -0
- package/src/v10/table/footer/totals/cell/index.js +21 -0
- package/src/v10/table/footer/totals/cell/tag.json +7 -0
- package/src/v10/table/footer/totals/index.js +6 -0
- package/src/v10/table/footer/totals/row/index.js +12 -0
- package/src/v10/table/footer/totals/row/tag.json +7 -0
- package/src/v10/table/index.js +33 -0
- package/src/v10/table/options/index.js +16 -0
- package/src/v10/table/options/showOptions/index.js +39 -0
- package/src/v10/table/options/showSerial/index.js +19 -0
- package/src/v10/table/render-requests.json +107 -0
- package/src/v10/table/table/body/cell/index.js +12 -0
- package/src/v10/table/table/body/cell/tag.json +7 -0
- package/src/v10/table/table/body/index.js +17 -0
- package/src/v10/table/table/body/row/index.js +18 -0
- package/src/v10/table/table/body/row/tag.json +4 -0
- package/src/v10/table/table/body/tag.json +4 -0
- package/src/v10/table/table/head/cell/index.js +12 -0
- package/src/v10/table/table/head/cell/tag.json +7 -0
- package/src/v10/table/table/head/index.js +16 -0
- package/src/v10/table/table/head/row/index.js +14 -0
- package/src/v10/table/table/head/row/tag.json +4 -0
- package/src/v10/table/table/head/tag.json +4 -0
- package/src/v10/table/table/index.js +36 -0
- package/src/v10/table/table/tag.json +7 -0
- package/src/v10/tableFromSpec/footer/empty/cell/index.js +5 -0
- package/src/v10/tableFromSpec/footer/empty/cell/tag.json +6 -0
- package/src/v10/tableFromSpec/footer/empty/index.js +6 -0
- package/src/v10/tableFromSpec/footer/empty/row/index.js +10 -0
- package/src/v10/tableFromSpec/footer/empty/row/tag.json +7 -0
- package/src/v10/tableFromSpec/footer/index.js +28 -0
- package/src/v10/tableFromSpec/footer/inputs/cell/index.js +15 -0
- package/src/v10/tableFromSpec/footer/inputs/cell/tag.json +7 -0
- package/src/v10/tableFromSpec/footer/inputs/index.js +6 -0
- package/src/v10/tableFromSpec/footer/inputs/input/tag.json +9 -0
- package/src/v10/tableFromSpec/footer/inputs/row/index.js +10 -0
- package/src/v10/tableFromSpec/footer/inputs/row/tag.json +7 -0
- package/src/v10/tableFromSpec/footer/inputsWithSave/button/tag.json +8 -0
- package/src/v10/tableFromSpec/footer/inputsWithSave/cell/index.js +20 -0
- package/src/v10/tableFromSpec/footer/inputsWithSave/cell/tag.json +7 -0
- package/src/v10/tableFromSpec/footer/inputsWithSave/index.js +6 -0
- package/src/v10/tableFromSpec/footer/inputsWithSave/input/tag.json +9 -0
- package/src/v10/tableFromSpec/footer/inputsWithSave/row/index.js +13 -0
- package/src/v10/tableFromSpec/footer/inputsWithSave/row/tag.json +7 -0
- package/src/v10/tableFromSpec/footer/tag.json +7 -0
- package/src/v10/tableFromSpec/footer/totals/cell/index.js +21 -0
- package/src/v10/tableFromSpec/footer/totals/cell/tag.json +7 -0
- package/src/v10/tableFromSpec/footer/totals/index.js +6 -0
- package/src/v10/tableFromSpec/footer/totals/row/index.js +12 -0
- package/src/v10/tableFromSpec/footer/totals/row/tag.json +7 -0
- package/src/v10/tableFromSpec/index.js +32 -0
- package/src/v10/tableFromSpec/options/index.js +18 -0
- package/src/v10/tableFromSpec/options/showOptions/index.js +39 -0
- package/src/v10/tableFromSpec/options/showSerial/index.js +20 -0
- package/src/v10/tableFromSpec/render-requests.json +107 -0
- package/src/v10/tableFromSpec/table/body/index.js +16 -0
- package/src/v10/tableFromSpec/table/body/spec.json +16 -0
- package/src/v10/tableFromSpec/table/findKey.js +17 -0
- package/src/v10/tableFromSpec/table/head/index.js +16 -0
- package/src/v10/tableFromSpec/table/head/spec.json +13 -0
- package/src/v10/tableFromSpec/table/index.js +24 -0
- package/src/v10/tableFromSpec/table/tag.json +24 -0
- package/src/v1/index.js +0 -62
- package/src/v1/meta.js +0 -6
- package/src/v1/registerGlobal.js +0 -14
- package/src/v1/select/index.js +0 -32
- package/src/v1/select/skeleton.json +0 -18
- package/src/v1/table/index.js +0 -36
- package/src/v1/table/skeleton.json +0 -47
- package/src/v2/common/deriveColumnsFromData.js +0 -20
- package/src/v2/index.js +0 -62
- package/src/v2/select/index.js +0 -32
- package/src/v2/select/skeleton.json +0 -18
- package/src/v2/table/index.js +0 -23
- package/src/v2/table/skeleton.json +0 -47
- package/src/v3/common/deriveColumnsFromData.js +0 -20
- package/src/v3/index.js +0 -40
- package/src/v3/meta.js +0 -6
- package/src/v3/registerGlobal.js +0 -14
- package/src/v3/select/index.js +0 -18
- package/src/v3/select/skeleton.json +0 -18
- package/src/v3/selectOptionsOnly/index.js +0 -18
- package/src/v3/selectOptionsOnly/skeleton.json +0 -14
- package/src/v3/table/index.js +0 -20
- package/src/v3/table/skeleton.json +0 -47
- package/src/v4/common/deriveColumnsFromData.js +0 -20
- package/src/v4/index.js +0 -40
- package/src/v4/meta.js +0 -6
- package/src/v4/registerGlobal.js +0 -14
- package/src/v4/select/index.js +0 -20
- package/src/v4/selectOptionsOnly/index.js +0 -19
- package/src/v4/table/index.js +0 -20
- package/src/v4/table/skeleton.json +0 -47
- package/src/v5/common/deriveColumnsFromData.js +0 -20
- package/src/v5/index.js +0 -40
- package/src/v5/meta.js +0 -6
- package/src/v5/registerGlobal.js +0 -14
- package/src/v5/select/index.js +0 -20
- package/src/v5/select/skeleton.json +0 -7
- package/src/v5/selectOptionsOnly/index.js +0 -19
- package/src/v5/selectOptionsOnly/skeleton.json +0 -17
- package/src/v5/table/index.js +0 -20
- package/src/v5/table/skeleton.json +0 -47
- package/src/v5/tableHeadCells/index.js +0 -19
- package/src/v5/tableHeadCells/skeleton.json +0 -17
- package/src/v6/common/deriveColumnsFromData.js +0 -20
- package/src/v6/index.js +0 -40
- package/src/v6/meta.js +0 -6
- package/src/v6/registerGlobal.js +0 -14
- package/src/v6/select/index.js +0 -20
- package/src/v6/select/skeleton.json +0 -7
- package/src/v6/selectOptionsOnly/skeleton.json +0 -17
- package/src/v6/table/index.js +0 -20
- package/src/v6/table/skeleton.json +0 -47
- package/src/v6/tableHeadCells/index.js +0 -19
- package/src/v6/tableHeadCells/skeleton.json +0 -17
- /package/src/{v1 → v10}/common/deriveColumnsFromData.js +0 -0
- /package/src/{v2 → v10}/registerGlobal.js +0 -0
- /package/src/{v4 → v10}/select/skeleton.json +0 -0
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
const deriveColumnsFromData = ({ inData = [] } = {}) => {
|
|
2
|
-
const localData = inData;
|
|
3
|
-
|
|
4
|
-
if (!Array.isArray(localData) || localData.length === 0) {
|
|
5
|
-
return [];
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
const firstRow = localData[0];
|
|
9
|
-
if (!firstRow || typeof firstRow !== "object") {
|
|
10
|
-
return [];
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
return Object.keys(firstRow).map(key => ({
|
|
14
|
-
key,
|
|
15
|
-
label: key
|
|
16
|
-
}));
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export { deriveColumnsFromData };
|
|
20
|
-
export default deriveColumnsFromData;
|
package/src/v3/index.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import registerGlobal from "./registerGlobal.js";
|
|
2
|
-
|
|
3
|
-
import renderTable from "./table/index.js";
|
|
4
|
-
import renderSelect from "./select/index.js";
|
|
5
|
-
import renderSelectOptionsOnly from "./selectOptionsOnly/index.js";
|
|
6
|
-
|
|
7
|
-
const RENDERER_MAP = {
|
|
8
|
-
table: renderTable,
|
|
9
|
-
select: renderSelect,
|
|
10
|
-
selectOptionsOnly: renderSelectOptionsOnly
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const render = ({
|
|
14
|
-
type = "table",
|
|
15
|
-
data,
|
|
16
|
-
columns
|
|
17
|
-
} = {}) => {
|
|
18
|
-
const rawType = type;
|
|
19
|
-
const renderer = RENDERER_MAP[rawType];
|
|
20
|
-
|
|
21
|
-
if (!renderer) {
|
|
22
|
-
console.error(
|
|
23
|
-
`[Renderer] Unknown renderer type "${rawType}". Available types: ${Object.keys(RENDERER_MAP).join(", ")}`
|
|
24
|
-
);
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const localData = data;
|
|
29
|
-
const localColumns = columns;
|
|
30
|
-
|
|
31
|
-
// Default to table renderer
|
|
32
|
-
return renderer({
|
|
33
|
-
inColumns: localColumns,
|
|
34
|
-
inData: localData
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
registerGlobal(render);
|
|
39
|
-
|
|
40
|
-
export default render;
|
package/src/v3/meta.js
DELETED
package/src/v3/registerGlobal.js
DELETED
|
@@ -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.jsonRenderersBuild ??= {
|
|
9
|
-
meta,
|
|
10
|
-
renderToDom: inFuncDefinition
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export default registerGlobal;
|
package/src/v3/select/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import jsonToSpec from "json-to-spec";
|
|
2
|
-
|
|
3
|
-
import skeletonJson from './skeleton.json' with { type: 'json' };
|
|
4
|
-
|
|
5
|
-
// --- Story of Table Render ---
|
|
6
|
-
const startFunc = ({
|
|
7
|
-
inData,
|
|
8
|
-
} = {}) => {
|
|
9
|
-
const localData = inData ?? [];
|
|
10
|
-
|
|
11
|
-
let specAsJsonToDom = jsonToSpec(skeletonJson, {
|
|
12
|
-
arrayOfStrings: localData
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
return specAsJsonToDom;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export default startFunc;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"tagName": "select",
|
|
3
|
-
"attributes": {
|
|
4
|
-
"id": "LedgerName"
|
|
5
|
-
},
|
|
6
|
-
"jsonToSpec": {
|
|
7
|
-
"operation": "loopArray",
|
|
8
|
-
"source": "arrayOfStrings",
|
|
9
|
-
"template": {
|
|
10
|
-
"tagName": "option",
|
|
11
|
-
"attributes": {
|
|
12
|
-
"value": "${}"
|
|
13
|
-
},
|
|
14
|
-
"textContent": "${}"
|
|
15
|
-
}
|
|
16
|
-
},
|
|
17
|
-
"children": []
|
|
18
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import jsonToSpec from "json-to-spec";
|
|
2
|
-
|
|
3
|
-
import skeletonJson from './skeleton.json' with { type: 'json' };
|
|
4
|
-
|
|
5
|
-
// --- Story of Table Render ---
|
|
6
|
-
const startFunc = ({
|
|
7
|
-
inData,
|
|
8
|
-
} = {}) => {
|
|
9
|
-
const localData = inData ?? [];
|
|
10
|
-
|
|
11
|
-
let specAsJsonToDom = jsonToSpec(skeletonJson, {
|
|
12
|
-
arrayOfStrings: localData
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
return specAsJsonToDom;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export default startFunc;
|
package/src/v3/table/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import jsonToSpec from "json-to-spec";
|
|
2
|
-
|
|
3
|
-
import skeletonJson from './skeleton.json' with { type: 'json' };
|
|
4
|
-
|
|
5
|
-
// --- Story of Table Render ---
|
|
6
|
-
const startFunc = ({
|
|
7
|
-
inColumns,
|
|
8
|
-
inData,
|
|
9
|
-
} = {}) => {
|
|
10
|
-
const localData = inData ?? [];
|
|
11
|
-
const localColumns = inColumns;
|
|
12
|
-
|
|
13
|
-
let specAsJsonToDom = jsonToSpec(skeletonJson.default, {
|
|
14
|
-
columns: localColumns, data: localData
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
return specAsJsonToDom;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
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
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
const deriveColumnsFromData = ({ inData = [] } = {}) => {
|
|
2
|
-
const localData = inData;
|
|
3
|
-
|
|
4
|
-
if (!Array.isArray(localData) || localData.length === 0) {
|
|
5
|
-
return [];
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
const firstRow = localData[0];
|
|
9
|
-
if (!firstRow || typeof firstRow !== "object") {
|
|
10
|
-
return [];
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
return Object.keys(firstRow).map(key => ({
|
|
14
|
-
key,
|
|
15
|
-
label: key
|
|
16
|
-
}));
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export { deriveColumnsFromData };
|
|
20
|
-
export default deriveColumnsFromData;
|
package/src/v4/index.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import registerGlobal from "./registerGlobal.js";
|
|
2
|
-
|
|
3
|
-
import renderTable from "./table/index.js";
|
|
4
|
-
import renderSelect from "./select/index.js";
|
|
5
|
-
import renderSelectOptionsOnly from "./selectOptionsOnly/index.js";
|
|
6
|
-
|
|
7
|
-
const RENDERER_MAP = {
|
|
8
|
-
table: renderTable,
|
|
9
|
-
select: renderSelect,
|
|
10
|
-
selectOptionsOnly: renderSelectOptionsOnly
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const render = ({
|
|
14
|
-
type = "table",
|
|
15
|
-
data,
|
|
16
|
-
columns
|
|
17
|
-
} = {}) => {
|
|
18
|
-
const rawType = type;
|
|
19
|
-
const renderer = RENDERER_MAP[rawType];
|
|
20
|
-
|
|
21
|
-
if (!renderer) {
|
|
22
|
-
console.error(
|
|
23
|
-
`[Renderer] Unknown renderer type "${rawType}". Available types: ${Object.keys(RENDERER_MAP).join(", ")}`
|
|
24
|
-
);
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const localData = data;
|
|
29
|
-
const localColumns = columns;
|
|
30
|
-
|
|
31
|
-
// Default to table renderer
|
|
32
|
-
return renderer({
|
|
33
|
-
inColumns: localColumns,
|
|
34
|
-
inData: localData
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
registerGlobal(render);
|
|
39
|
-
|
|
40
|
-
export default render;
|
package/src/v4/meta.js
DELETED
package/src/v4/registerGlobal.js
DELETED
|
@@ -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.jsonRenderersBuild ??= {
|
|
9
|
-
meta,
|
|
10
|
-
renderToDom: inFuncDefinition
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export default registerGlobal;
|
package/src/v4/select/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import selectOptionsOnly from "../selectOptionsOnly/index.js";
|
|
2
|
-
|
|
3
|
-
import skeletonJson from './skeleton.json' with { type: 'json' };
|
|
4
|
-
|
|
5
|
-
// --- Story of Table Render ---
|
|
6
|
-
const startFunc = ({
|
|
7
|
-
inData,
|
|
8
|
-
} = {}) => {
|
|
9
|
-
const localData = inData ?? [];
|
|
10
|
-
|
|
11
|
-
let localChildren = selectOptionsOnly({
|
|
12
|
-
inData: localData
|
|
13
|
-
});
|
|
14
|
-
// console.log("specAsJsonToDom: ", specAsJsonToDom);
|
|
15
|
-
skeletonJson.children = localChildren;
|
|
16
|
-
|
|
17
|
-
return skeletonJson;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export default startFunc;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import jsonTransform from "@keshavsoft/json-transformer";
|
|
2
|
-
|
|
3
|
-
import skeletonJson from './skeleton.json' with { type: 'json' };
|
|
4
|
-
|
|
5
|
-
// --- Story of Table Render ---
|
|
6
|
-
const startFunc = ({
|
|
7
|
-
inData,
|
|
8
|
-
} = {}) => {
|
|
9
|
-
const localData = inData ?? [];
|
|
10
|
-
|
|
11
|
-
let specAsJsonToDom = jsonTransform({
|
|
12
|
-
children: localData
|
|
13
|
-
}, skeletonJson);
|
|
14
|
-
// console.log("specAsJsonToDom: ", specAsJsonToDom);
|
|
15
|
-
|
|
16
|
-
return specAsJsonToDom;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export default startFunc;
|
package/src/v4/table/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import jsonToSpec from "json-to-spec";
|
|
2
|
-
|
|
3
|
-
import skeletonJson from './skeleton.json' with { type: 'json' };
|
|
4
|
-
|
|
5
|
-
// --- Story of Table Render ---
|
|
6
|
-
const startFunc = ({
|
|
7
|
-
inColumns,
|
|
8
|
-
inData,
|
|
9
|
-
} = {}) => {
|
|
10
|
-
const localData = inData ?? [];
|
|
11
|
-
const localColumns = inColumns;
|
|
12
|
-
|
|
13
|
-
let specAsJsonToDom = jsonToSpec(skeletonJson.default, {
|
|
14
|
-
columns: localColumns, data: localData
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
return specAsJsonToDom;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
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
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
const deriveColumnsFromData = ({ inData = [] } = {}) => {
|
|
2
|
-
const localData = inData;
|
|
3
|
-
|
|
4
|
-
if (!Array.isArray(localData) || localData.length === 0) {
|
|
5
|
-
return [];
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
const firstRow = localData[0];
|
|
9
|
-
if (!firstRow || typeof firstRow !== "object") {
|
|
10
|
-
return [];
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
return Object.keys(firstRow).map(key => ({
|
|
14
|
-
key,
|
|
15
|
-
label: key
|
|
16
|
-
}));
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export { deriveColumnsFromData };
|
|
20
|
-
export default deriveColumnsFromData;
|
package/src/v5/index.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
import registerGlobal from "./registerGlobal.js";
|
|
2
|
-
|
|
3
|
-
import renderTable from "./table/index.js";
|
|
4
|
-
import renderSelect from "./select/index.js";
|
|
5
|
-
import renderSelectOptionsOnly from "./selectOptionsOnly/index.js";
|
|
6
|
-
|
|
7
|
-
const RENDERER_MAP = {
|
|
8
|
-
table: renderTable,
|
|
9
|
-
select: renderSelect,
|
|
10
|
-
selectOptionsOnly: renderSelectOptionsOnly
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
const render = ({
|
|
14
|
-
type = "table",
|
|
15
|
-
data,
|
|
16
|
-
columns
|
|
17
|
-
} = {}) => {
|
|
18
|
-
const rawType = type;
|
|
19
|
-
const renderer = RENDERER_MAP[rawType];
|
|
20
|
-
|
|
21
|
-
if (!renderer) {
|
|
22
|
-
console.error(
|
|
23
|
-
`[Renderer] Unknown renderer type "${rawType}". Available types: ${Object.keys(RENDERER_MAP).join(", ")}`
|
|
24
|
-
);
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
const localData = data;
|
|
29
|
-
const localColumns = columns;
|
|
30
|
-
|
|
31
|
-
// Default to table renderer
|
|
32
|
-
return renderer({
|
|
33
|
-
inColumns: localColumns,
|
|
34
|
-
inData: localData
|
|
35
|
-
});
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
registerGlobal(render);
|
|
39
|
-
|
|
40
|
-
export default render;
|
package/src/v5/meta.js
DELETED
package/src/v5/registerGlobal.js
DELETED
|
@@ -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.jsonRenderersBuild ??= {
|
|
9
|
-
meta,
|
|
10
|
-
renderToDom: inFuncDefinition
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export default registerGlobal;
|
package/src/v5/select/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import selectOptionsOnly from "../selectOptionsOnly/index.js";
|
|
2
|
-
|
|
3
|
-
import skeletonJson from './skeleton.json' with { type: 'json' };
|
|
4
|
-
|
|
5
|
-
// --- Story of Table Render ---
|
|
6
|
-
const startFunc = ({
|
|
7
|
-
inData,
|
|
8
|
-
} = {}) => {
|
|
9
|
-
const localData = inData ?? [];
|
|
10
|
-
|
|
11
|
-
let localChildren = selectOptionsOnly({
|
|
12
|
-
inData: localData
|
|
13
|
-
});
|
|
14
|
-
// console.log("specAsJsonToDom: ", specAsJsonToDom);
|
|
15
|
-
skeletonJson.children = localChildren;
|
|
16
|
-
|
|
17
|
-
return skeletonJson;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export default startFunc;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import jsonTransform from "@keshavsoft/json-transformer";
|
|
2
|
-
|
|
3
|
-
import skeletonJson from './skeleton.json' with { type: 'json' };
|
|
4
|
-
|
|
5
|
-
// --- Story of Table Render ---
|
|
6
|
-
const startFunc = ({
|
|
7
|
-
inData,
|
|
8
|
-
} = {}) => {
|
|
9
|
-
const localData = inData ?? [];
|
|
10
|
-
|
|
11
|
-
let specAsJsonToDom = jsonTransform({
|
|
12
|
-
children: localData
|
|
13
|
-
}, skeletonJson);
|
|
14
|
-
// console.log("specAsJsonToDom: ", specAsJsonToDom);
|
|
15
|
-
|
|
16
|
-
return specAsJsonToDom?.children;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export default startFunc;
|
package/src/v5/table/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import jsonToSpec from "json-to-spec";
|
|
2
|
-
|
|
3
|
-
import skeletonJson from './skeleton.json' with { type: 'json' };
|
|
4
|
-
|
|
5
|
-
// --- Story of Table Render ---
|
|
6
|
-
const startFunc = ({
|
|
7
|
-
inColumns,
|
|
8
|
-
inData,
|
|
9
|
-
} = {}) => {
|
|
10
|
-
const localData = inData ?? [];
|
|
11
|
-
const localColumns = inColumns;
|
|
12
|
-
|
|
13
|
-
let specAsJsonToDom = jsonToSpec(skeletonJson.default, {
|
|
14
|
-
columns: localColumns, data: localData
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
return specAsJsonToDom;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
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
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import jsonTransform from "@keshavsoft/json-transformer";
|
|
2
|
-
|
|
3
|
-
import skeletonJson from './skeleton.json' with { type: 'json' };
|
|
4
|
-
|
|
5
|
-
// --- Story of Table Render ---
|
|
6
|
-
const startFunc = ({
|
|
7
|
-
inData,
|
|
8
|
-
} = {}) => {
|
|
9
|
-
const localData = inData ?? [];
|
|
10
|
-
|
|
11
|
-
let thAsArray = jsonTransform({
|
|
12
|
-
children: localData
|
|
13
|
-
}, skeletonJson);
|
|
14
|
-
// console.log("specAsJsonToDom: ", specAsJsonToDom);
|
|
15
|
-
|
|
16
|
-
return thAsArray?.children;
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export default startFunc;
|