json-renderers-build 1.6.1 → 1.9.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.
- package/README.md +8 -4
- package/docs/dist/min.js +541 -266
- package/docs/dist/v4/min.js +320 -320
- package/docs/dist/v5/min.js +312 -312
- package/docs/dist/v7/min.js +272 -0
- package/docs/dist/v8/min.js +268 -0
- package/docs/dist/v9/min.js +587 -0
- package/docs/index.html +2 -2
- package/package.json +2 -2
- package/src/index.js +2 -2
- package/src/v7/common/deriveColumnsFromData.js +20 -0
- package/src/v7/index.js +47 -0
- package/src/v7/meta.js +6 -0
- package/src/v7/registerGlobal.js +14 -0
- package/src/v7/select/index.js +21 -0
- package/src/v7/select/options/index.js +17 -0
- package/src/v7/select/options/skeleton.json +17 -0
- package/src/v7/select/skeleton.json +7 -0
- package/src/v7/table/body/cells/index.js +23 -0
- package/src/v7/table/body/cells/skeleton.json +17 -0
- package/src/v7/table/body/index.js +15 -0
- package/src/v7/table/body/rows/index.js +36 -0
- package/src/v7/table/body/rows/skeleton.json +4 -0
- package/src/v7/table/body/skeleton.json +4 -0
- package/src/v7/table/head/cells/index.js +23 -0
- package/src/v7/table/head/cells/skeleton.json +17 -0
- package/src/v7/table/head/index.js +15 -0
- package/src/v7/table/head/row/index.js +15 -0
- package/src/v7/table/head/row/skeleton.json +4 -0
- package/src/v7/table/head/skeleton.json +4 -0
- package/src/v7/table/index.js +26 -0
- package/src/v7/table/skeleton.json +7 -0
- package/src/v8/common/deriveColumnsFromData.js +20 -0
- package/src/v8/index.js +40 -0
- package/src/v8/meta.js +6 -0
- package/src/v8/registerGlobal.js +14 -0
- package/src/v8/select/index.js +21 -0
- package/src/v8/select/options/index.js +17 -0
- package/src/v8/select/options/skeleton.json +17 -0
- package/src/v8/select/skeleton.json +7 -0
- package/src/v8/table/body/cells/index.js +17 -0
- package/src/v8/table/body/cells/skeleton.json +17 -0
- package/src/v8/table/body/index.js +20 -0
- package/src/v8/table/body/rows/index.js +23 -0
- package/src/v8/table/body/rows/skeleton.json +4 -0
- package/src/v8/table/body/skeleton.json +4 -0
- package/src/v8/table/head/cells/index.js +17 -0
- package/src/v8/table/head/cells/skeleton.json +17 -0
- package/src/v8/table/head/index.js +15 -0
- package/src/v8/table/head/row/index.js +15 -0
- package/src/v8/table/head/row/skeleton.json +4 -0
- package/src/v8/table/head/skeleton.json +4 -0
- package/src/v8/table/index.js +26 -0
- package/src/v8/table/skeleton.json +7 -0
- package/src/v9/common/deriveColumnsFromData.js +20 -0
- package/src/v9/index.js +36 -0
- package/src/v9/meta.js +6 -0
- package/src/v9/registerGlobal.js +14 -0
- package/src/v9/select/index.js +21 -0
- package/src/v9/select/options/index.js +17 -0
- package/src/v9/select/options/skeleton.json +17 -0
- package/src/v9/select/skeleton.json +7 -0
- package/src/v9/table/footer/empty/cell/index.js +5 -0
- package/src/v9/table/footer/empty/cell/tag.json +6 -0
- package/src/v9/table/footer/empty/index.js +6 -0
- package/src/v9/table/footer/empty/row/index.js +10 -0
- package/src/v9/table/footer/empty/row/tag.json +7 -0
- package/src/v9/table/footer/index.js +28 -0
- package/src/v9/table/footer/inputs/cell/index.js +15 -0
- package/src/v9/table/footer/inputs/cell/tag.json +7 -0
- package/src/v9/table/footer/inputs/index.js +6 -0
- package/src/v9/table/footer/inputs/input/tag.json +9 -0
- package/src/v9/table/footer/inputs/row/index.js +10 -0
- package/src/v9/table/footer/inputs/row/tag.json +7 -0
- package/src/v9/table/footer/inputsWithSave/button/tag.json +8 -0
- package/src/v9/table/footer/inputsWithSave/cell/index.js +20 -0
- package/src/v9/table/footer/inputsWithSave/cell/tag.json +7 -0
- package/src/v9/table/footer/inputsWithSave/index.js +6 -0
- package/src/v9/table/footer/inputsWithSave/input/tag.json +9 -0
- package/src/v9/table/footer/inputsWithSave/row/index.js +13 -0
- package/src/v9/table/footer/inputsWithSave/row/tag.json +7 -0
- package/src/v9/table/footer/tag.json +7 -0
- package/src/v9/table/footer/totals/cell/index.js +21 -0
- package/src/v9/table/footer/totals/cell/tag.json +7 -0
- package/src/v9/table/footer/totals/index.js +6 -0
- package/src/v9/table/footer/totals/row/index.js +12 -0
- package/src/v9/table/footer/totals/row/tag.json +7 -0
- package/src/v9/table/index.js +33 -0
- package/src/v9/table/options/index.js +18 -0
- package/src/v9/table/options/showOptions/index.js +39 -0
- package/src/v9/table/options/showSerial/index.js +19 -0
- package/src/v9/table/render-requests.json +107 -0
- package/src/v9/table/table/body/cell/index.js +12 -0
- package/src/v9/table/table/body/cell/tag.json +7 -0
- package/src/v9/table/table/body/index.js +17 -0
- package/src/v9/table/table/body/row/index.js +18 -0
- package/src/v9/table/table/body/row/tag.json +4 -0
- package/src/v9/table/table/body/tag.json +4 -0
- package/src/v9/table/table/head/cell/index.js +12 -0
- package/src/v9/table/table/head/cell/tag.json +7 -0
- package/src/v9/table/table/head/index.js +16 -0
- package/src/v9/table/table/head/row/index.js +14 -0
- package/src/v9/table/table/head/row/tag.json +4 -0
- package/src/v9/table/table/head/tag.json +4 -0
- package/src/v9/table/table/index.js +36 -0
- package/src/v9/table/table/tag.json +7 -0
- package/src/v9/table_10oct/body/cells/index.js +17 -0
- package/src/v9/table_10oct/body/cells/skeleton.json +17 -0
- package/src/v9/table_10oct/body/index.js +20 -0
- package/src/v9/table_10oct/body/rows/index.js +23 -0
- package/src/v9/table_10oct/body/rows/skeleton.json +4 -0
- package/src/v9/table_10oct/body/skeleton.json +4 -0
- package/src/v9/table_10oct/head/cells/index.js +17 -0
- package/src/v9/table_10oct/head/cells/skeleton.json +17 -0
- package/src/v9/table_10oct/head/index.js +15 -0
- package/src/v9/table_10oct/head/row/index.js +15 -0
- package/src/v9/table_10oct/head/row/skeleton.json +4 -0
- package/src/v9/table_10oct/head/skeleton.json +4 -0
- package/src/v9/table_10oct/index.js +26 -0
- package/src/v9/table_10oct/skeleton.json +7 -0
|
@@ -0,0 +1,20 @@
|
|
|
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/v9/index.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import registerGlobal from "./registerGlobal.js";
|
|
2
|
+
|
|
3
|
+
import renderTable from "./table/index.js";
|
|
4
|
+
import renderSelect, { renderSelectOptions } from "./select/index.js";
|
|
5
|
+
|
|
6
|
+
const RENDERER_MAP = {
|
|
7
|
+
table: renderTable,
|
|
8
|
+
select: renderSelect,
|
|
9
|
+
selectOptionsOnly: renderSelectOptions
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const render = ({
|
|
13
|
+
type = "table",
|
|
14
|
+
data,
|
|
15
|
+
columns
|
|
16
|
+
}) => {
|
|
17
|
+
const rawType = type;
|
|
18
|
+
const renderer = RENDERER_MAP[rawType];
|
|
19
|
+
|
|
20
|
+
const localData = data;
|
|
21
|
+
const localColumns = columns;
|
|
22
|
+
|
|
23
|
+
return renderer({
|
|
24
|
+
inColumns: localColumns,
|
|
25
|
+
inData: localData
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
registerGlobal(render);
|
|
30
|
+
|
|
31
|
+
export {
|
|
32
|
+
renderTable,
|
|
33
|
+
renderSelect,
|
|
34
|
+
renderSelectOptions
|
|
35
|
+
};
|
|
36
|
+
export default render;
|
package/src/v9/meta.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
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;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import renderSelectOptions from "./options/index.js";
|
|
2
|
+
|
|
3
|
+
import skeletonJson from './skeleton.json' with { type: 'json' };
|
|
4
|
+
|
|
5
|
+
const startFunc = ({
|
|
6
|
+
inData,
|
|
7
|
+
}) => {
|
|
8
|
+
const localData = inData;
|
|
9
|
+
|
|
10
|
+
let localChildren = renderSelectOptions({
|
|
11
|
+
inData: localData
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
const select = structuredClone(skeletonJson);
|
|
15
|
+
select.children = localChildren;
|
|
16
|
+
|
|
17
|
+
return select;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export { renderSelectOptions };
|
|
21
|
+
export default startFunc;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import jsonTransform from "@keshavsoft/json-transformer";
|
|
2
|
+
|
|
3
|
+
import skeletonJson from './skeleton.json' with { type: 'json' };
|
|
4
|
+
|
|
5
|
+
const startFunc = ({
|
|
6
|
+
inData,
|
|
7
|
+
}) => {
|
|
8
|
+
const localData = inData;
|
|
9
|
+
|
|
10
|
+
let specAsJsonToDom = jsonTransform({
|
|
11
|
+
children: localData
|
|
12
|
+
}, skeletonJson);
|
|
13
|
+
|
|
14
|
+
return specAsJsonToDom?.children;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export default startFunc;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import tagJson from "./tag.json" with { type: "json" };
|
|
2
|
+
import renderCell from "../cell/index.js";
|
|
3
|
+
|
|
4
|
+
const renderRow = ({ inColumns = [] } = {}) => {
|
|
5
|
+
const row = structuredClone(tagJson);
|
|
6
|
+
row.children = inColumns.map(() => renderCell());
|
|
7
|
+
return row;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export default renderRow;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import tagJson from "./tag.json" with { type: "json" };
|
|
2
|
+
import renderInputs from "./inputs/index.js";
|
|
3
|
+
import renderInputsWithSave from "./inputsWithSave/index.js";
|
|
4
|
+
import renderTotals from "./totals/index.js";
|
|
5
|
+
import renderEmpty from "./empty/index.js";
|
|
6
|
+
|
|
7
|
+
const footerBuilders = {
|
|
8
|
+
inputs: renderInputs,
|
|
9
|
+
inputsWithSave: renderInputsWithSave,
|
|
10
|
+
totals: renderTotals,
|
|
11
|
+
empty: renderEmpty
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
const renderTableFooter = ({ inFooter = [], inColumns = [], inData = [] } = {}) => {
|
|
15
|
+
const tfoot = structuredClone(tagJson);
|
|
16
|
+
|
|
17
|
+
tfoot.children = inFooter.map(footerName => {
|
|
18
|
+
if (!Object.hasOwn(footerBuilders, footerName)) {
|
|
19
|
+
throw new Error(`Unknown footer "${footerName}".`);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return footerBuilders[footerName]({ inColumns, inData });
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
return tfoot;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export default renderTableFooter;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import cellJson from "./tag.json" with { type: "json" };
|
|
2
|
+
import inputJson from "../input/tag.json" with { type: "json" };
|
|
3
|
+
|
|
4
|
+
const renderCell = ({ inColumn } = {}) => {
|
|
5
|
+
const cell = structuredClone(cellJson);
|
|
6
|
+
const input = structuredClone(inputJson);
|
|
7
|
+
|
|
8
|
+
input.attributes.name = inColumn;
|
|
9
|
+
input.attributes.placeholder = inColumn;
|
|
10
|
+
cell.children.push(input);
|
|
11
|
+
|
|
12
|
+
return cell;
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export default renderCell;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import tagJson from "./tag.json" with { type: "json" };
|
|
2
|
+
import renderCell from "../cell/index.js";
|
|
3
|
+
|
|
4
|
+
const renderRow = ({ inColumns = [] } = {}) => {
|
|
5
|
+
const row = structuredClone(tagJson);
|
|
6
|
+
row.children = inColumns.map(inColumn => renderCell({ inColumn }));
|
|
7
|
+
return row;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export default renderRow;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import cellJson from "./tag.json" with { type: "json" };
|
|
2
|
+
import inputJson from "../input/tag.json" with { type: "json" };
|
|
3
|
+
import buttonJson from "../button/tag.json" with { type: "json" };
|
|
4
|
+
|
|
5
|
+
const renderCell = ({ inColumn, inSave = false } = {}) => {
|
|
6
|
+
const cell = structuredClone(cellJson);
|
|
7
|
+
const input = structuredClone(inputJson);
|
|
8
|
+
|
|
9
|
+
input.attributes.name = inColumn;
|
|
10
|
+
input.attributes.placeholder = inColumn;
|
|
11
|
+
cell.children.push(input);
|
|
12
|
+
|
|
13
|
+
if (inSave) {
|
|
14
|
+
cell.children.push(structuredClone(buttonJson));
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
return cell;
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default renderCell;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import tagJson from "./tag.json" with { type: "json" };
|
|
2
|
+
import renderCell from "../cell/index.js";
|
|
3
|
+
|
|
4
|
+
const renderRow = ({ inColumns = [] } = {}) => {
|
|
5
|
+
const row = structuredClone(tagJson);
|
|
6
|
+
row.children = inColumns.map((inColumn, index) => renderCell({
|
|
7
|
+
inColumn,
|
|
8
|
+
inSave: index === inColumns.length - 1
|
|
9
|
+
}));
|
|
10
|
+
return row;
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export default renderRow;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import tagJson from "./tag.json" with { type: "json" };
|
|
2
|
+
|
|
3
|
+
const getValue = (row, column) =>
|
|
4
|
+
Array.isArray(row) ? row[column] : row?.[column];
|
|
5
|
+
|
|
6
|
+
const renderCell = ({ inColumn, inIndex, inData = [] } = {}) => {
|
|
7
|
+
const cell = structuredClone(tagJson);
|
|
8
|
+
const values = inData
|
|
9
|
+
.map(row => getValue(row, inColumn))
|
|
10
|
+
.filter(value => value !== null && value !== undefined && String(value).trim() !== "")
|
|
11
|
+
.map(Number)
|
|
12
|
+
.filter(Number.isFinite);
|
|
13
|
+
|
|
14
|
+
cell.textContent = values.length
|
|
15
|
+
? String(values.reduce((sum, value) => sum + value, 0))
|
|
16
|
+
: inIndex === 0 ? "Total" : "";
|
|
17
|
+
|
|
18
|
+
return cell;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export default renderCell;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import tagJson from "./tag.json" with { type: "json" };
|
|
2
|
+
import renderCell from "../cell/index.js";
|
|
3
|
+
|
|
4
|
+
const renderRow = ({ inColumns = [], inData = [] } = {}) => {
|
|
5
|
+
const row = structuredClone(tagJson);
|
|
6
|
+
row.children = inColumns.map((inColumn, inIndex) =>
|
|
7
|
+
renderCell({ inColumn, inIndex, inData })
|
|
8
|
+
);
|
|
9
|
+
return row;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export default renderRow;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import renderTable from "./table/index.js";
|
|
2
|
+
|
|
3
|
+
import applyOptions from "./options/index.js";
|
|
4
|
+
import renderRequests from "./render-requests.json" with { type: "json" };
|
|
5
|
+
|
|
6
|
+
const render = ({
|
|
7
|
+
type = "table",
|
|
8
|
+
inData,
|
|
9
|
+
inColumns,
|
|
10
|
+
footer = [],
|
|
11
|
+
options = {}
|
|
12
|
+
} = {}) => {
|
|
13
|
+
if (type === "table") {
|
|
14
|
+
const spec = renderTable({
|
|
15
|
+
inColumns,
|
|
16
|
+
inData,
|
|
17
|
+
inFooter: footer
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
return applyOptions(spec, options);
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
throw new Error(`Unknown table renderer type "${type}".`);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
render.requests = renderRequests;
|
|
27
|
+
|
|
28
|
+
export {
|
|
29
|
+
render,
|
|
30
|
+
renderRequests
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export default render;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import applyShowSerial from "./showSerial/index.js";
|
|
2
|
+
import applyShowOptions from "./showOptions/index.js";
|
|
3
|
+
|
|
4
|
+
const applyOptions = (inSpec, inOptions = {}) => {
|
|
5
|
+
// console.log("inOptions : ", inOptions);
|
|
6
|
+
|
|
7
|
+
if (inOptions.showSerial) {
|
|
8
|
+
applyShowSerial(inSpec);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
if (inOptions.showOptions) {
|
|
12
|
+
applyShowOptions(inSpec, inOptions.showOptions);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return inSpec;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default applyOptions;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const resolveButtons = (inShowOptions) => {
|
|
2
|
+
if (inShowOptions === true) {
|
|
3
|
+
return [{ label: "Apply", type: "button" }];
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
if (Array.isArray(inShowOptions)) {
|
|
7
|
+
return inShowOptions;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
return [];
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
const applyShowOptions = (inSpec, inShowOptions) => {
|
|
14
|
+
const buttons = resolveButtons(inShowOptions);
|
|
15
|
+
|
|
16
|
+
if (buttons.length === 0) return;
|
|
17
|
+
|
|
18
|
+
const [thead, tbody] = inSpec.children;
|
|
19
|
+
|
|
20
|
+
// append <th>Actions</th> to head row
|
|
21
|
+
thead.children[0].children.push({
|
|
22
|
+
tagName: "th",
|
|
23
|
+
textContent: "Actions"
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
// append <td> with buttons to each body row
|
|
27
|
+
tbody.children.forEach(tr => {
|
|
28
|
+
tr.children.push({
|
|
29
|
+
tagName: "td",
|
|
30
|
+
children: buttons.map(btn => ({
|
|
31
|
+
tagName: "button",
|
|
32
|
+
attributes: { type: btn.type || "button" },
|
|
33
|
+
textContent: btn.label
|
|
34
|
+
}))
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export default applyShowOptions;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const applyShowSerial = (inSpec) => {
|
|
2
|
+
const [thead, tbody] = inSpec.children;
|
|
3
|
+
|
|
4
|
+
// prepend <th>#</th> to head row
|
|
5
|
+
thead.children[0].children.unshift({
|
|
6
|
+
tagName: "th",
|
|
7
|
+
textContent: "#"
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
// prepend <td>{rowIndex}</td> to each body row
|
|
11
|
+
tbody.children.forEach((tr, index) => {
|
|
12
|
+
tr.children.unshift({
|
|
13
|
+
tagName: "td",
|
|
14
|
+
textContent: String(index + 1)
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export default applyShowSerial;
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"table": {
|
|
3
|
+
"type": "table",
|
|
4
|
+
"data": [
|
|
5
|
+
{ "itemName": "0.09/30mm", "baseUnit": "kgs" }
|
|
6
|
+
],
|
|
7
|
+
"columns": ["itemName", "baseUnit"],
|
|
8
|
+
"options": {}
|
|
9
|
+
},
|
|
10
|
+
"tableWithSerial": {
|
|
11
|
+
"type": "table",
|
|
12
|
+
"data": [
|
|
13
|
+
{ "itemName": "0.09/30mm", "baseUnit": "kgs" }
|
|
14
|
+
],
|
|
15
|
+
"columns": ["itemName", "baseUnit"],
|
|
16
|
+
"options": {
|
|
17
|
+
"showSerial": true
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"tableWithDefaultAction": {
|
|
21
|
+
"type": "table",
|
|
22
|
+
"data": [
|
|
23
|
+
{ "itemName": "0.09/30mm", "baseUnit": "kgs" }
|
|
24
|
+
],
|
|
25
|
+
"columns": ["itemName", "baseUnit"],
|
|
26
|
+
"options": {
|
|
27
|
+
"showOptions": true
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"tableWithCustomActions": {
|
|
31
|
+
"type": "table",
|
|
32
|
+
"data": [
|
|
33
|
+
{ "itemName": "0.09/30mm", "baseUnit": "kgs" }
|
|
34
|
+
],
|
|
35
|
+
"columns": ["itemName", "baseUnit"],
|
|
36
|
+
"options": {
|
|
37
|
+
"showOptions": [
|
|
38
|
+
{ "label": "Show", "type": "button" },
|
|
39
|
+
{ "label": "Edit", "type": "button" }
|
|
40
|
+
]
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"tableWithSerialAndActions": {
|
|
44
|
+
"type": "table",
|
|
45
|
+
"data": [
|
|
46
|
+
{ "itemName": "0.09/30mm", "baseUnit": "kgs" }
|
|
47
|
+
],
|
|
48
|
+
"columns": ["itemName", "baseUnit"],
|
|
49
|
+
"options": {
|
|
50
|
+
"showSerial": true,
|
|
51
|
+
"showOptions": [
|
|
52
|
+
{ "label": "Show", "type": "button" }
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"tableWithFooter": {
|
|
57
|
+
"type": "table",
|
|
58
|
+
"data": [
|
|
59
|
+
{ "itemName": "0.09/30mm", "baseUnit": "kgs" }
|
|
60
|
+
],
|
|
61
|
+
"columns": ["itemName", "baseUnit"],
|
|
62
|
+
"footer": ["inputs"],
|
|
63
|
+
"options": {}
|
|
64
|
+
},
|
|
65
|
+
"tableWithFooterSave": {
|
|
66
|
+
"type": "table",
|
|
67
|
+
"data": [
|
|
68
|
+
{ "itemName": "0.09/30mm", "baseUnit": "kgs" }
|
|
69
|
+
],
|
|
70
|
+
"columns": ["itemName", "baseUnit"],
|
|
71
|
+
"footer": ["inputsWithSave"],
|
|
72
|
+
"options": {}
|
|
73
|
+
},
|
|
74
|
+
"tableWithTotals": {
|
|
75
|
+
"type": "table",
|
|
76
|
+
"data": [
|
|
77
|
+
{ "itemName": "0.09/30mm", "baseUnit": "2" },
|
|
78
|
+
{ "itemName": "0.11-25", "baseUnit": "3" }
|
|
79
|
+
],
|
|
80
|
+
"columns": ["itemName", "baseUnit"],
|
|
81
|
+
"footer": ["totals"],
|
|
82
|
+
"options": {}
|
|
83
|
+
},
|
|
84
|
+
"tableWithMultipleFooters": {
|
|
85
|
+
"type": "table",
|
|
86
|
+
"data": [
|
|
87
|
+
{ "itemName": "0.09/30mm", "baseUnit": "2" }
|
|
88
|
+
],
|
|
89
|
+
"columns": ["itemName", "baseUnit"],
|
|
90
|
+
"footer": ["inputs", "totals", "inputsWithSave", "empty"],
|
|
91
|
+
"options": {}
|
|
92
|
+
},
|
|
93
|
+
"tableHead": {
|
|
94
|
+
"type": "tableHead",
|
|
95
|
+
"data": [],
|
|
96
|
+
"columns": ["itemName", "baseUnit"],
|
|
97
|
+
"options": {}
|
|
98
|
+
},
|
|
99
|
+
"tableBody": {
|
|
100
|
+
"type": "tableBody",
|
|
101
|
+
"data": [
|
|
102
|
+
{ "itemName": "0.09/30mm", "baseUnit": "kgs" }
|
|
103
|
+
],
|
|
104
|
+
"columns": ["itemName", "baseUnit"],
|
|
105
|
+
"options": {}
|
|
106
|
+
}
|
|
107
|
+
}
|