impaktapps-ui-builder 1.0.4 → 1.0.5
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/dist/impaktapps-ui-builder.es.js +2272 -1158
- package/dist/impaktapps-ui-builder.es.js.map +1 -1
- package/dist/impaktapps-ui-builder.umd.js +15 -15
- package/dist/impaktapps-ui-builder.umd.js.map +1 -1
- package/dist/src/impaktapps-ui-builder/builder/build/buildAreaGraph.d.ts +2 -0
- package/dist/src/impaktapps-ui-builder/builder/build/buildArray.d.ts +1 -11
- package/dist/src/impaktapps-ui-builder/builder/build/buildCamera.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/buildConfig.d.ts +2 -1
- package/dist/src/impaktapps-ui-builder/builder/build/buildGroupButton.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/buildHorizontalLayout.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/buildImage.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/buildMetricCard.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/buildOTP_inputs.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/buildPdfViewer.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/buildPopover.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/buildStackBarLineGraph.d.ts +2 -0
- package/dist/src/impaktapps-ui-builder/builder/build/buildUiSchema.d.ts +2 -1
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/apiSection.d.ts +1 -3
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/box.d.ts +10 -2
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/buildPropertiesSection.d.ts +1 -1
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/button.d.ts +6 -1
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/buttonGroup.d.ts +22 -0
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/card.d.ts +173 -171
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/coreSection.d.ts +82 -72
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/eventSection.d.ts +18 -50
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/graph.d.ts +50 -4
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/horizontalLayout.d.ts +13 -0
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/metricCard.d.ts +17 -0
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/multiSelect.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/pdfViewer.d.ts +19 -0
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/refresh.d.ts +0 -3
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/selectInputField.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/table.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/tableSection.d.ts +15 -66
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/validationSections.d.ts +48 -38
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/valueTab.d.ts +0 -3
- package/dist/src/impaktapps-ui-builder/builder/build/uischema/wrapperSection.d.ts +4 -1
- package/dist/src/impaktapps-ui-builder/builder/services/utils.d.ts +2 -1
- package/dist/src/impaktapps-ui-builder/lib/index.d.ts +1 -0
- package/dist/src/impaktapps-ui-builder/runtime/services/downloadFile.d.ts +5 -2
- package/dist/src/impaktapps-ui-builder/runtime/services/service.d.ts +10 -4
- package/package.json +1 -1
- package/src/impaktapps-ui-builder/builder/build/buildAadharCard.ts +2 -2
- package/src/impaktapps-ui-builder/builder/build/buildAreaGraph.ts +66 -0
- package/src/impaktapps-ui-builder/builder/build/buildArray.ts +35 -15
- package/src/impaktapps-ui-builder/builder/build/buildButton.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/buildCamera.ts +50 -0
- package/src/impaktapps-ui-builder/builder/build/buildCard.ts +10 -10
- package/src/impaktapps-ui-builder/builder/build/buildCheckbox.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/buildConfig.ts +34 -16
- package/src/impaktapps-ui-builder/builder/build/buildDataGrid.ts +2 -2
- package/src/impaktapps-ui-builder/builder/build/buildDate.ts +35 -13
- package/src/impaktapps-ui-builder/builder/build/buildDownloadFile.ts +7 -0
- package/src/impaktapps-ui-builder/builder/build/buildEmptyBox.ts +1 -0
- package/src/impaktapps-ui-builder/builder/build/buildFileInput.ts +42 -28
- package/src/impaktapps-ui-builder/builder/build/buildGroupButton.ts +24 -0
- package/src/impaktapps-ui-builder/builder/build/buildHorizontalBarGraph.ts +10 -4
- package/src/impaktapps-ui-builder/builder/build/buildHorizontalLayout.ts +15 -0
- package/src/impaktapps-ui-builder/builder/build/buildImage.ts +38 -0
- package/src/impaktapps-ui-builder/builder/build/buildLabel.ts +3 -0
- package/src/impaktapps-ui-builder/builder/build/buildLeaderboard.ts +4 -1
- package/src/impaktapps-ui-builder/builder/build/buildLineGraph.ts +10 -4
- package/src/impaktapps-ui-builder/builder/build/buildMetricCard.tsx +37 -0
- package/src/impaktapps-ui-builder/builder/build/buildMultiSelect.ts +12 -0
- package/src/impaktapps-ui-builder/builder/build/buildOTP_inputs.ts +44 -0
- package/src/impaktapps-ui-builder/builder/build/buildPdfViewer.ts +16 -0
- package/src/impaktapps-ui-builder/builder/build/buildPieGraph.ts +7 -4
- package/src/impaktapps-ui-builder/builder/build/buildPop.ts +3 -2
- package/src/impaktapps-ui-builder/builder/build/buildPopover.ts +40 -0
- package/src/impaktapps-ui-builder/builder/build/buildProgressBar.ts +31 -21
- package/src/impaktapps-ui-builder/builder/build/buildRadio.ts +11 -3
- package/src/impaktapps-ui-builder/builder/build/buildSelect.ts +12 -0
- package/src/impaktapps-ui-builder/builder/build/buildStackBarGraph.ts +10 -4
- package/src/impaktapps-ui-builder/builder/build/buildStackBarLineGraph.ts +72 -0
- package/src/impaktapps-ui-builder/builder/build/buildTabSection.ts +5 -0
- package/src/impaktapps-ui-builder/builder/build/buildTable.ts +21 -8
- package/src/impaktapps-ui-builder/builder/build/buildText.ts +15 -0
- package/src/impaktapps-ui-builder/builder/build/buildTextArea.ts +2 -2
- package/src/impaktapps-ui-builder/builder/build/buildThoughtOfTheDay.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/buildTreeMap.ts +2 -1
- package/src/impaktapps-ui-builder/builder/build/buildUiSchema.ts +140 -130
- package/src/impaktapps-ui-builder/builder/build/buildUplaodFile.ts +6 -0
- package/src/impaktapps-ui-builder/builder/build/buildWrapperSection.ts +8 -3
- package/src/impaktapps-ui-builder/builder/build/uischema/apiSection.ts +0 -6
- package/src/impaktapps-ui-builder/builder/build/uischema/array.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/uischema/box.ts +5 -2
- package/src/impaktapps-ui-builder/builder/build/uischema/buildPropertiesSection.ts +397 -141
- package/src/impaktapps-ui-builder/builder/build/uischema/button.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/uischema/buttonGroup.ts +17 -0
- package/src/impaktapps-ui-builder/builder/build/uischema/card.ts +142 -169
- package/src/impaktapps-ui-builder/builder/build/uischema/coreSection.ts +127 -133
- package/src/impaktapps-ui-builder/builder/build/uischema/dateInputField.ts +2 -2
- package/src/impaktapps-ui-builder/builder/build/uischema/emptyBox.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/uischema/eventSection.ts +30 -54
- package/src/impaktapps-ui-builder/builder/build/uischema/file.ts +3 -3
- package/src/impaktapps-ui-builder/builder/build/uischema/graph.ts +37 -4
- package/src/impaktapps-ui-builder/builder/build/uischema/horizontalLayout.ts +11 -0
- package/src/impaktapps-ui-builder/builder/build/uischema/metricCard.ts +13 -0
- package/src/impaktapps-ui-builder/builder/build/uischema/multiSelect.ts +4 -2
- package/src/impaktapps-ui-builder/builder/build/uischema/pdfViewer.ts +18 -0
- package/src/impaktapps-ui-builder/builder/build/uischema/refresh.ts +0 -3
- package/src/impaktapps-ui-builder/builder/build/uischema/selectInputField.ts +3 -1
- package/src/impaktapps-ui-builder/builder/build/uischema/table.ts +1 -0
- package/src/impaktapps-ui-builder/builder/build/uischema/tableSection.ts +34 -60
- package/src/impaktapps-ui-builder/builder/build/uischema/textInputField.ts +1 -1
- package/src/impaktapps-ui-builder/builder/build/uischema/validationSections.ts +58 -113
- package/src/impaktapps-ui-builder/builder/build/uischema/valueTab.ts +0 -3
- package/src/impaktapps-ui-builder/builder/build/uischema/wrapperSection.ts +4 -1
- package/src/impaktapps-ui-builder/builder/elements/UiSchema/Component/schema.ts +228 -59
- package/src/impaktapps-ui-builder/builder/elements/UiSchema/Component/uiSchema.ts +121 -119
- package/src/impaktapps-ui-builder/builder/elements/UiSchema/PageMaster/schema.ts +1 -1
- package/src/impaktapps-ui-builder/builder/elements/UiSchema/PageMaster/uiSchema.ts +94 -106
- package/src/impaktapps-ui-builder/builder/elements/UiSchema/event/schema.ts +11 -5
- package/src/impaktapps-ui-builder/builder/elements/UiSchema/event/uiSchema.ts +31 -55
- package/src/impaktapps-ui-builder/builder/services/component.ts +173 -86
- package/src/impaktapps-ui-builder/builder/services/event.ts +3 -0
- package/src/impaktapps-ui-builder/builder/services/pageMaster.ts +18 -15
- package/src/impaktapps-ui-builder/builder/services/utils.ts +15 -3
- package/src/impaktapps-ui-builder/lib/index.ts +10 -9
- package/src/impaktapps-ui-builder/runtime/services/downloadFile.ts +33 -18
- package/src/impaktapps-ui-builder/runtime/services/events.ts +9 -11
- package/src/impaktapps-ui-builder/runtime/services/service.ts +121 -162
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createLayoutFormat } from "./buildConfig";
|
|
1
2
|
import Table from "./uischema/table";
|
|
2
3
|
import _ from "lodash";
|
|
3
4
|
|
|
@@ -10,6 +11,9 @@ export const buildTable = (config: any, componentScope: string) => {
|
|
|
10
11
|
if (config.lazyLoading) {
|
|
11
12
|
table.config.main.lazyLoading = config.lazyLoading === "YES" ? true : false;
|
|
12
13
|
}
|
|
14
|
+
if (config.defaultColumnSize) {
|
|
15
|
+
table.config.main.defaultColumnSize = config.defaultColumnSize
|
|
16
|
+
}
|
|
13
17
|
if (config.enableRowMovement) {
|
|
14
18
|
table.config.main.enableRowMovement = config.enableRowMovement === "YES" ? true : false;
|
|
15
19
|
}
|
|
@@ -41,28 +45,28 @@ export const buildTable = (config: any, componentScope: string) => {
|
|
|
41
45
|
if (config.downloadAllData) {
|
|
42
46
|
table.config.main.downloadAllData = config.downloadAllData === "YES" ? true : false
|
|
43
47
|
}
|
|
44
|
-
if(config.disableGlobalSearch){
|
|
48
|
+
if (config.disableGlobalSearch) {
|
|
45
49
|
table.config.main.disableGlobalSearch = config.disableGlobalSearch === "YES" ? true : false
|
|
46
50
|
}
|
|
47
|
-
if(config.disableColumnFilter){
|
|
51
|
+
if (config.disableColumnFilter) {
|
|
48
52
|
table.config.main.disableColumnFilter = config.disableColumnFilter === "YES" ? true : false
|
|
49
53
|
}
|
|
50
|
-
if(config.disableSorting){
|
|
54
|
+
if (config.disableSorting) {
|
|
51
55
|
table.config.main.disableSorting = config.disableSorting === "YES" ? true : false
|
|
52
56
|
}
|
|
53
|
-
if(config.disableEditColumn){
|
|
57
|
+
if (config.disableEditColumn) {
|
|
54
58
|
table.config.main.disableEditColumn = config.disableEditColumn === "YES" ? true : false
|
|
55
59
|
}
|
|
56
|
-
if(config.disableFullScreenToggle){
|
|
60
|
+
if (config.disableFullScreenToggle) {
|
|
57
61
|
table.config.main.disableFullScreenToggle = config.disableFullScreenToggle === "YES" ? true : false
|
|
58
62
|
}
|
|
59
|
-
if(config.disableDensityToggle){
|
|
63
|
+
if (config.disableDensityToggle) {
|
|
60
64
|
table.config.main.disableDensityToggle = config.disableDensityToggle === "YES" ? true : false
|
|
61
65
|
}
|
|
62
|
-
if(config.disableDownloadFile){
|
|
66
|
+
if (config.disableDownloadFile) {
|
|
63
67
|
table.config.main.disableDownloadFile = config.disableDownloadFile === "YES" ? true : false
|
|
64
68
|
}
|
|
65
|
-
if(config.disablePagination){
|
|
69
|
+
if (config.disablePagination) {
|
|
66
70
|
table.config.main.disablePagination = config.disablePagination === "YES" ? true : false
|
|
67
71
|
}
|
|
68
72
|
if (config.Table_Download_Keys_Name) {
|
|
@@ -71,5 +75,14 @@ export const buildTable = (config: any, componentScope: string) => {
|
|
|
71
75
|
if (config.selectKey) {
|
|
72
76
|
table.config.main.selectKey = config.selectKey
|
|
73
77
|
}
|
|
78
|
+
if (config.maxPageSize) {
|
|
79
|
+
table.config.main.maxPageSize = config.maxPageSize
|
|
80
|
+
}
|
|
81
|
+
if(config.initialDensity){
|
|
82
|
+
table.config.main.initialDensity = config.initialDensity
|
|
83
|
+
}
|
|
84
|
+
if(config.layout){
|
|
85
|
+
table.config.layout = createLayoutFormat(config.layout)
|
|
86
|
+
}
|
|
74
87
|
return table;
|
|
75
88
|
};
|
|
@@ -11,15 +11,30 @@ export const buildTextField = (config: any, componentScope: string) => {
|
|
|
11
11
|
if (config.multiline) {
|
|
12
12
|
inputField.config.main.multiline = config.multiline === "YES" ? true : false;
|
|
13
13
|
}
|
|
14
|
+
if (config.keyName) {
|
|
15
|
+
inputField.config.main.keyName = config.keyName;
|
|
16
|
+
}
|
|
14
17
|
if (config.InputFormatingAndMasking) {
|
|
15
18
|
inputField.config.main.formatStrArray = config.InputFormatingAndMasking.map(e => e.formatElement);
|
|
16
19
|
}
|
|
17
20
|
if (config.placeholder) {
|
|
18
21
|
inputField.config.main.placeholder = config.placeholder;
|
|
19
22
|
}
|
|
23
|
+
if (config.variant) {
|
|
24
|
+
inputField.config.main.variant = config.variant;
|
|
25
|
+
}
|
|
20
26
|
if (config.layout) {
|
|
21
27
|
inputField.config.layout = createLayoutFormat(config.layout)
|
|
22
28
|
}
|
|
29
|
+
if (config.toolTip) {
|
|
30
|
+
inputField.config.main.toolTip = config.toolTip;
|
|
31
|
+
}
|
|
32
|
+
if (config.toolTipPosition) {
|
|
33
|
+
inputField.config.main.toolTipPosition = config.toolTipPosition;
|
|
34
|
+
}
|
|
35
|
+
if(config.iconName){
|
|
36
|
+
inputField.config.main.startIcon = config.iconName;
|
|
37
|
+
}
|
|
23
38
|
inputField.config.main.errorMessage = `${config.name} is empty or invalid`;
|
|
24
39
|
inputField.scope = componentScope;
|
|
25
40
|
return inputField;
|
|
@@ -10,7 +10,7 @@ const TextArea = {
|
|
|
10
10
|
widget: "TextArea",
|
|
11
11
|
},
|
|
12
12
|
config: {
|
|
13
|
-
layout:
|
|
13
|
+
layout:12,
|
|
14
14
|
style:{
|
|
15
15
|
containerStyle:{
|
|
16
16
|
borderRadius:"20px",
|
|
@@ -37,7 +37,7 @@ export const buildTextArea = (config:any,componentScope:string) =>{
|
|
|
37
37
|
textArea.config.main.heading = config.label;
|
|
38
38
|
|
|
39
39
|
if(config.layout){
|
|
40
|
-
textArea.config.layout = createLayoutFormat(config.layout)
|
|
40
|
+
textArea.config.layout = createLayoutFormat(config.layout, config.type)
|
|
41
41
|
}
|
|
42
42
|
if (config.style) {
|
|
43
43
|
textArea.config.style = JSON.parse(config.style)
|
|
@@ -10,7 +10,7 @@ export const buildThoughtOfTheDay = (config,componentScope) =>{
|
|
|
10
10
|
thought.config.main.thought = `${config.thought}`
|
|
11
11
|
}
|
|
12
12
|
if(config.layout){
|
|
13
|
-
thought.config.layout = createLayoutFormat(config.layout)
|
|
13
|
+
thought.config.layout = createLayoutFormat(config.layout, config.type)
|
|
14
14
|
}
|
|
15
15
|
if(config.label){
|
|
16
16
|
thought.config.main.label = config.label;
|
|
@@ -5,6 +5,7 @@ const TreeMap = {
|
|
|
5
5
|
"type": "Control",
|
|
6
6
|
"scope": "#/properties/TreeMap2",
|
|
7
7
|
"config": {
|
|
8
|
+
layout: 12,
|
|
8
9
|
"main": {
|
|
9
10
|
"layout": "cartsian",
|
|
10
11
|
orientation: "vertical",
|
|
@@ -34,7 +35,7 @@ export const buildTreeMap = (config, componentScope) => {
|
|
|
34
35
|
treMap.config.main.header = config.label;
|
|
35
36
|
}
|
|
36
37
|
if (config.layout) {
|
|
37
|
-
treMap.config.layout = createLayoutFormat(config.layout);
|
|
38
|
+
treMap.config.layout = createLayoutFormat(config.layout, config.type);
|
|
38
39
|
}
|
|
39
40
|
if (config.orientation) {
|
|
40
41
|
treMap.config.main.orientation = config.orientation;
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import _ from "lodash";
|
|
2
|
-
import emptyBox from "./uischema/emptyBox";
|
|
3
|
-
import cardSlider from "./uischema/cardSlider";
|
|
4
2
|
import { buildLeaderBoard } from "./buildLeaderboard";
|
|
5
3
|
import { buildProgressBarCard } from "./buildProgressBarCard";
|
|
6
4
|
import { buildProgressBar } from "./buildProgressBar";
|
|
@@ -19,6 +17,7 @@ import { buildLabel } from "./buildLabel";
|
|
|
19
17
|
import { buildUploadFile } from "./buildUplaodFile";
|
|
20
18
|
import { buildDownloadFile } from "./buildDownloadFile";
|
|
21
19
|
import { buildCard } from "./buildCard";
|
|
20
|
+
import { buildMetricCard } from "./buildMetricCard";
|
|
22
21
|
import { buildDate, buildDateTime } from "./buildDate";
|
|
23
22
|
import { buildRankCard } from "./buildRankCard";
|
|
24
23
|
import { buildRollAndDice } from "./buildRollAndDice";
|
|
@@ -40,136 +39,98 @@ import { buildDataGrid } from "./buildDataGrid";
|
|
|
40
39
|
import { buildInputSlider } from "./buildInputSlider";
|
|
41
40
|
import { buildTreeMap } from "./buildTreeMap";
|
|
42
41
|
import { buildThoughtOfTheDay } from "./buildThoughtOfTheDay";
|
|
42
|
+
import { buildHorizontalLayout } from "./buildHorizontalLayout";
|
|
43
|
+
import { buildImage } from "./buildImage";
|
|
44
|
+
import buildAreaGraph from "./buildAreaGraph";
|
|
45
|
+
import buildStackBarLineGraph from "./buildStackBarLineGraph";
|
|
46
|
+
import { buildCamera } from "./buildCamera";
|
|
47
|
+
import { buildButtonGroup } from "./buildGroupButton";
|
|
48
|
+
import { buildPopOver } from "./buildPopover";
|
|
49
|
+
import { buildOTP_Input } from "./buildOTP_inputs";
|
|
50
|
+
import { buildPdfViewer } from "./buildPdfViewer";
|
|
43
51
|
export let schema = {
|
|
44
52
|
type: "object",
|
|
45
53
|
properties: {},
|
|
46
54
|
required: []
|
|
47
55
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
else if (configObj.type === "MultipleSelect" && configObj.value?.length > 0) {
|
|
62
|
-
schema.properties[tableName].items.properties[configObj.name] = {
|
|
63
|
-
items: {
|
|
64
|
-
oneOf: configObj.value.map((e) => {
|
|
65
|
-
return { const: e.value, title: e.label }
|
|
66
|
-
})
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
} else if ((configObj.type === "Select" || configObj.type === "MultipleSelect") && configObj.value?.length > 0) {
|
|
73
|
-
if (configObj.type === "Select") {
|
|
74
|
-
schema.properties[configObj.name] = {
|
|
75
|
-
oneOf: configObj.value.map((e) => {
|
|
76
|
-
return { const: e.value, title: e.label }
|
|
77
|
-
})
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
else if (configObj.type === "MultipleSelect") {
|
|
81
|
-
schema.properties[configObj.name] = {
|
|
56
|
+
function buildOneOf(values: any[]) {
|
|
57
|
+
return values.map((e) => ({
|
|
58
|
+
const: e.value,
|
|
59
|
+
title: e.label
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
export function buildSchemaFromConfig(config: any, parentSchema: any) {
|
|
63
|
+
if (config.elements) {
|
|
64
|
+
if (config.type === "Array") {
|
|
65
|
+
parentSchema.properties ??= {};
|
|
66
|
+
parentSchema.properties[config.name] ??= {
|
|
67
|
+
type: "array",
|
|
82
68
|
items: {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
if (configObj.validation) {
|
|
91
|
-
configObj.validation.forEach((rule: any) => {
|
|
92
|
-
if (tableName) {
|
|
93
|
-
if (schema.properties?.[tableName]?.items?.properties) {
|
|
94
|
-
if (!schema.properties?.[tableName]?.items?.properties?.[configObj.name]) {
|
|
95
|
-
schema.properties[tableName].items.properties[configObj.name] = {};
|
|
96
|
-
if (configObj.type === "Select" || configObj.value?.length > 0) {
|
|
97
|
-
schema.properties[tableName].items.properties[configObj.name] = {
|
|
98
|
-
oneOf: configObj.value.map((e) => {
|
|
99
|
-
return { const: e.value, title: e.label }
|
|
100
|
-
})
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
else if (configObj.type === "MultipleSelect" || configObj.value?.length > 0) {
|
|
104
|
-
schema.properties[tableName].items.properties[configObj.name] = {
|
|
105
|
-
items: {
|
|
106
|
-
oneOf: configObj.value.map((e) => {
|
|
107
|
-
return { const: e.value, title: e.label }
|
|
108
|
-
})
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
if (rule.validationType === "required") {
|
|
114
|
-
schema.properties?.[tableName]?.items?.required.push(configObj.name)
|
|
115
|
-
} else {
|
|
116
|
-
schema.properties[tableName].items.properties[configObj.name]["type"] = "string"
|
|
117
|
-
schema.properties[tableName].items.properties[configObj.name][rule.validationType] =
|
|
118
|
-
isNaN(rule.validationValue) ?
|
|
119
|
-
rule.validationValue : Number(rule.validationValue)
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
} else {
|
|
124
|
-
if (!schema.properties[configObj.name]) {
|
|
125
|
-
schema.properties[configObj.name] = {};
|
|
126
|
-
}
|
|
127
|
-
if (rule.validationType === "required") {
|
|
128
|
-
schema.required.push(configObj.name)
|
|
129
|
-
} else {
|
|
130
|
-
schema.properties[configObj.name]["type"] = "string"
|
|
131
|
-
schema.properties[configObj.name][rule.validationType] =
|
|
132
|
-
isNaN(rule.validationValue) ?
|
|
133
|
-
rule.validationValue : Number(rule.validationValue)
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
}
|
|
69
|
+
type: "object",
|
|
70
|
+
properties: {},
|
|
71
|
+
required: [],
|
|
72
|
+
},
|
|
73
|
+
};
|
|
138
74
|
|
|
75
|
+
const arrayItemSchema = parentSchema.properties[config.name].items;
|
|
139
76
|
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
type: "object",
|
|
150
|
-
properties: {},
|
|
151
|
-
required: []
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
config.elements.map((e, elemInd) => {
|
|
156
|
-
buildSchema(e, config.name, config.type === "Array" ? true : false)
|
|
157
|
-
})
|
|
77
|
+
config.elements?.forEach((child: any) =>
|
|
78
|
+
buildSchemaFromConfig(child, arrayItemSchema)
|
|
79
|
+
);
|
|
80
|
+
return;
|
|
81
|
+
} else {
|
|
82
|
+
config.elements?.forEach((child: any) =>
|
|
83
|
+
buildSchemaFromConfig(child, parentSchema)
|
|
84
|
+
);
|
|
85
|
+
return;
|
|
158
86
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
87
|
+
}
|
|
88
|
+
parentSchema.properties ??= {};
|
|
89
|
+
parentSchema.properties[config.name] ??= {};
|
|
90
|
+
const fieldSchema = parentSchema.properties[config.name];
|
|
91
|
+
config.validation?.forEach((v: any) => {
|
|
92
|
+
if (v.validationType === "required") {
|
|
93
|
+
parentSchema.required ??= [];
|
|
94
|
+
parentSchema.required.push(config.name);
|
|
95
|
+
} else if (v.validationType === "readOnly") {
|
|
96
|
+
fieldSchema.type = "string";
|
|
97
|
+
fieldSchema.disabled = true;
|
|
98
|
+
} else {
|
|
99
|
+
fieldSchema.type = "string";
|
|
100
|
+
fieldSchema[v.validationType] = isNaN(v.validationValue)
|
|
101
|
+
? v.validationValue
|
|
102
|
+
: Number(v.validationValue);
|
|
163
103
|
}
|
|
104
|
+
});
|
|
105
|
+
if (config.type === "Select" && config.value?.length) {
|
|
106
|
+
fieldSchema.oneOf = config.value.map((v: any) => ({
|
|
107
|
+
const: v.value,
|
|
108
|
+
title: v.label,
|
|
109
|
+
}));
|
|
110
|
+
}
|
|
111
|
+
if (config.type === "MultipleSelect" && config.value?.length) {
|
|
112
|
+
fieldSchema.type = "array";
|
|
113
|
+
fieldSchema.items = {
|
|
114
|
+
oneOf: config.value.map((v: any) => ({
|
|
115
|
+
const: v.value,
|
|
116
|
+
title: v.label,
|
|
117
|
+
})),
|
|
118
|
+
};
|
|
164
119
|
}
|
|
165
|
-
return schema;
|
|
166
120
|
}
|
|
167
121
|
|
|
122
|
+
export const buildSchema = (config) => {
|
|
123
|
+
buildSchemaFromConfig(config, schema)
|
|
124
|
+
return schema;
|
|
125
|
+
}
|
|
168
126
|
|
|
169
127
|
const buildUiSchema = (config: any, store?: any) => {
|
|
170
128
|
let elements: any = {};
|
|
171
129
|
const componentScope = `#/properties/${config.name}`;
|
|
172
130
|
switch (config.type) {
|
|
131
|
+
case "OTP_Input":
|
|
132
|
+
elements = buildOTP_Input(config, componentScope);
|
|
133
|
+
break;
|
|
173
134
|
case "TreeMap":
|
|
174
135
|
elements = buildTreeMap(config, componentScope)
|
|
175
136
|
break;
|
|
@@ -188,6 +149,9 @@ const buildUiSchema = (config: any, store?: any) => {
|
|
|
188
149
|
case "PopUp":
|
|
189
150
|
elements = buildPopUp(config, componentScope);
|
|
190
151
|
break;
|
|
152
|
+
case "PopOver":
|
|
153
|
+
elements = buildPopOver(config, componentScope);
|
|
154
|
+
break;
|
|
191
155
|
case "FileInput":
|
|
192
156
|
elements = buildFileInput(config, componentScope);
|
|
193
157
|
break;
|
|
@@ -206,6 +170,9 @@ const buildUiSchema = (config: any, store?: any) => {
|
|
|
206
170
|
case "WrapperSection":
|
|
207
171
|
elements = buildWrapperSection(config, componentScope);
|
|
208
172
|
break;
|
|
173
|
+
case "HorizontalLayout":
|
|
174
|
+
elements = buildHorizontalLayout(config, componentScope);
|
|
175
|
+
break;
|
|
209
176
|
case "Text":
|
|
210
177
|
elements = buildTextField(config, componentScope);
|
|
211
178
|
break;
|
|
@@ -225,6 +192,9 @@ const buildUiSchema = (config: any, store?: any) => {
|
|
|
225
192
|
|
|
226
193
|
elements = buildButton(config, componentScope);
|
|
227
194
|
break;
|
|
195
|
+
case "ButtonGroup":
|
|
196
|
+
elements = buildButtonGroup(config, componentScope);
|
|
197
|
+
break;
|
|
228
198
|
case "Table":
|
|
229
199
|
elements = buildTable(config, componentScope);
|
|
230
200
|
break;
|
|
@@ -249,6 +219,9 @@ const buildUiSchema = (config: any, store?: any) => {
|
|
|
249
219
|
case "card":
|
|
250
220
|
elements = buildCard(config, componentScope, store);
|
|
251
221
|
break;
|
|
222
|
+
case "MetricCard":
|
|
223
|
+
elements = buildMetricCard(config, componentScope, store);
|
|
224
|
+
break;
|
|
252
225
|
case "Graph":
|
|
253
226
|
switch (config.graphType) {
|
|
254
227
|
case "BarGraph":
|
|
@@ -265,6 +238,12 @@ const buildUiSchema = (config: any, store?: any) => {
|
|
|
265
238
|
case "HorizontalStackBarGraph":
|
|
266
239
|
elements = buildHorizontalBarGraph(config, componentScope);
|
|
267
240
|
break;
|
|
241
|
+
case "AreaGraph":
|
|
242
|
+
elements = buildAreaGraph(config, componentScope);
|
|
243
|
+
break;
|
|
244
|
+
case "StackBarLineGraph":
|
|
245
|
+
elements = buildStackBarLineGraph(config, componentScope);
|
|
246
|
+
break;
|
|
268
247
|
default:
|
|
269
248
|
elements = buildStackbarGraph(config, componentScope);
|
|
270
249
|
break;
|
|
@@ -307,6 +286,14 @@ const buildUiSchema = (config: any, store?: any) => {
|
|
|
307
286
|
case "Thought":
|
|
308
287
|
elements = buildThoughtOfTheDay(config, componentScope);
|
|
309
288
|
break;
|
|
289
|
+
case "Image":
|
|
290
|
+
elements = buildImage(config, componentScope);
|
|
291
|
+
break;
|
|
292
|
+
case "Camera":
|
|
293
|
+
elements = buildCamera(config, componentScope)
|
|
294
|
+
break;
|
|
295
|
+
case "PdfViewer":
|
|
296
|
+
elements = buildPdfViewer(config, componentScope);
|
|
310
297
|
break;
|
|
311
298
|
default:
|
|
312
299
|
schema = {
|
|
@@ -319,7 +306,17 @@ const buildUiSchema = (config: any, store?: any) => {
|
|
|
319
306
|
|
|
320
307
|
if (config?.elements) {
|
|
321
308
|
if (config?.type === "LeaderBoard") {
|
|
322
|
-
|
|
309
|
+
const rowElements = []
|
|
310
|
+
config.elements.map((cellElem) => {
|
|
311
|
+
const commonProperties = {
|
|
312
|
+
accessorKey: cellElem.name,
|
|
313
|
+
type: cellElem.type === "ColumnGroup" ? "ColumnGroup" : cellElem.columnFormat,
|
|
314
|
+
header: cellElem.label || cellElem.name,
|
|
315
|
+
columnKey: cellElem.columnKey
|
|
316
|
+
}
|
|
317
|
+
rowElements.push({ ...commonProperties })
|
|
318
|
+
})
|
|
319
|
+
elements.elements = rowElements;
|
|
323
320
|
}
|
|
324
321
|
else if (config.type == "ColumnGroup") {
|
|
325
322
|
const sizeMap = {}
|
|
@@ -329,12 +326,26 @@ const buildUiSchema = (config: any, store?: any) => {
|
|
|
329
326
|
});
|
|
330
327
|
}
|
|
331
328
|
elements.elements = config.elements.map((cellElem, elemInd) => {
|
|
332
|
-
|
|
329
|
+
const commonProperties = {
|
|
333
330
|
accessorKey: cellElem.name,
|
|
331
|
+
type: cellElem.type === "ColumnGroup" ? "ColumnGroup" : cellElem.columnFormat,
|
|
334
332
|
header: cellElem.label || cellElem.name,
|
|
335
333
|
size: sizeMap[cellElem.name] || 180,
|
|
336
|
-
|
|
337
|
-
|
|
334
|
+
enableColumnFilter: cellElem.enableFilter === "No" ? false : true,
|
|
335
|
+
columnFilterModeOptions: cellElem.filteringOptions,
|
|
336
|
+
enableSorting: cellElem.enableSorting === "No" ? false : true,
|
|
337
|
+
columnKey: cellElem.columnKey,
|
|
338
|
+
dateFormat: cellElem.dateFormat,
|
|
339
|
+
}
|
|
340
|
+
if (cellElem.type) {
|
|
341
|
+
const tableElem = {
|
|
342
|
+
widget: cellElem.type != "ColumnGroup" ? buildUiSchema(cellElem, store) : undefined,
|
|
343
|
+
...commonProperties,
|
|
344
|
+
...(cellElem.type === "ColumnGroup" ? buildUiSchema(cellElem, store) : {})
|
|
345
|
+
}
|
|
346
|
+
return tableElem
|
|
347
|
+
} else {
|
|
348
|
+
return { ...commonProperties }
|
|
338
349
|
}
|
|
339
350
|
})
|
|
340
351
|
} else if (config.type == "Table") {
|
|
@@ -351,13 +362,14 @@ const buildUiSchema = (config: any, store?: any) => {
|
|
|
351
362
|
config.elements.filter((cellElem, elemInd) => {
|
|
352
363
|
const commonProperties = {
|
|
353
364
|
accessorKey: cellElem.name,
|
|
354
|
-
type: cellElem.columnFormat,
|
|
365
|
+
type: cellElem.type === "ColumnGroup" ? "ColumnGroup" : cellElem.columnFormat,
|
|
355
366
|
header: cellElem.label || cellElem.name,
|
|
356
367
|
size: sizeMap[cellElem.name] || 180,
|
|
357
368
|
enableColumnFilter: cellElem.enableFilter === "No" ? false : true,
|
|
358
369
|
columnFilterModeOptions: cellElem.filteringOptions,
|
|
359
370
|
enableSorting: cellElem.enableSorting === "No" ? false : true,
|
|
360
|
-
columnKey: cellElem.columnKey
|
|
371
|
+
columnKey: cellElem.columnKey,
|
|
372
|
+
dateFormat: cellElem.dateFormat,
|
|
361
373
|
}
|
|
362
374
|
if (cellElem.type) {
|
|
363
375
|
if (cellElem.elementType == "action") {
|
|
@@ -367,14 +379,13 @@ const buildUiSchema = (config: any, store?: any) => {
|
|
|
367
379
|
}
|
|
368
380
|
if (cellElem.elementType == "tableHeader") {
|
|
369
381
|
const headerElem = buildUiSchema(cellElem, store);
|
|
370
|
-
tableHeaderElements.push({widget:headerElem});
|
|
382
|
+
tableHeaderElements.push({ widget: headerElem });
|
|
371
383
|
return false;
|
|
372
384
|
}
|
|
373
385
|
const tableElem = {
|
|
374
386
|
widget: cellElem.type != "ColumnGroup" ? buildUiSchema(cellElem, store) : undefined,
|
|
375
|
-
|
|
376
|
-
...
|
|
377
|
-
|
|
387
|
+
...commonProperties,
|
|
388
|
+
...(cellElem.type === "ColumnGroup" ? buildUiSchema(cellElem, store) : {})
|
|
378
389
|
}
|
|
379
390
|
rowElements.push(tableElem)
|
|
380
391
|
} else {
|
|
@@ -386,18 +397,17 @@ const buildUiSchema = (config: any, store?: any) => {
|
|
|
386
397
|
elements.config.action = tableActionElement;
|
|
387
398
|
elements.config.main.headerIcons.elements = tableHeaderElements;
|
|
388
399
|
}
|
|
389
|
-
|
|
390
|
-
else if (config.type == "Array") {
|
|
391
|
-
elements.options.detail.elements = config.elements.map((e: any, elemInd: number) => {
|
|
392
|
-
return buildUiSchema(e, store)
|
|
393
|
-
});
|
|
394
|
-
}
|
|
395
400
|
else {
|
|
396
401
|
elements.elements = config.elements.map((e: any, elemInd: number) => {
|
|
397
402
|
return buildUiSchema(e, store)
|
|
398
403
|
});
|
|
399
404
|
}
|
|
400
405
|
}
|
|
406
|
+
if (config.tabLabelElements) {
|
|
407
|
+
elements.tabLabelElements = config.tabLabelElements.map((e: any, elemInd: number) => {
|
|
408
|
+
return buildUiSchema(e, store)
|
|
409
|
+
});
|
|
410
|
+
}
|
|
401
411
|
return elements;
|
|
402
412
|
}
|
|
403
413
|
|
|
@@ -16,6 +16,12 @@ export const buildUploadFile = (config, componentScope) => {
|
|
|
16
16
|
if (config.required) {
|
|
17
17
|
UploadFile.config.main.required = true;
|
|
18
18
|
}
|
|
19
|
+
if (config.toolTip) {
|
|
20
|
+
UploadFile.config.main.toolTip = config.toolTip;
|
|
21
|
+
}
|
|
22
|
+
if (config.toolTipPosition) {
|
|
23
|
+
UploadFile.config.main.toolTipPosition = config.toolTipPosition;
|
|
24
|
+
}
|
|
19
25
|
UploadFile.config.main.errorMessage = config.errorMessage;
|
|
20
26
|
return UploadFile;
|
|
21
27
|
}
|
|
@@ -8,14 +8,19 @@ export const buildWrapperSection = (config, componentScope) => {
|
|
|
8
8
|
wrapper.config.main.label = config.label;
|
|
9
9
|
wrapper.config.main.divider = config.divider === "YES" ? true : false;
|
|
10
10
|
wrapper.config.main.isAccordion = config.isAccordion === "No" ? false : true;
|
|
11
|
-
|
|
12
|
-
wrapper.config.
|
|
11
|
+
wrapper.config.main.defaultClosed = config.defaultClosed === "YES" ? true : false;
|
|
12
|
+
wrapper.config.main.icon = config.iconUrl;
|
|
13
|
+
wrapper.config.main.rowSpacing = Number(config.rowSpacing);
|
|
14
|
+
wrapper.config.main.columnSpacing = Number(config.columnSpacing);
|
|
15
|
+
wrapper.config.main.spacing = Number(config.spacing);
|
|
16
|
+
if (config.defaultStyle) {
|
|
17
|
+
wrapper.config.defaultStyle = config.defaultStyle === "YES" ? true : false;
|
|
13
18
|
}
|
|
14
19
|
if (config.style) {
|
|
15
20
|
wrapper.config.style = JSON.parse(config.style)
|
|
16
21
|
}
|
|
17
22
|
if (config.layout) {
|
|
18
|
-
wrapper.config.layout = createLayoutFormat(config.layout)
|
|
23
|
+
wrapper.config.layout = createLayoutFormat(config.layout, config.type)
|
|
19
24
|
}
|
|
20
25
|
return wrapper;
|
|
21
26
|
}
|
|
@@ -49,9 +49,6 @@ export const APISection = {
|
|
|
49
49
|
{
|
|
50
50
|
type: "Control",
|
|
51
51
|
scope: "#/properties/headers",
|
|
52
|
-
options: {
|
|
53
|
-
widget: "Array",
|
|
54
|
-
},
|
|
55
52
|
config: {
|
|
56
53
|
layout: 12,
|
|
57
54
|
main: {
|
|
@@ -113,9 +110,6 @@ export const APISection = {
|
|
|
113
110
|
{
|
|
114
111
|
type: "Control",
|
|
115
112
|
scope: "#/properties/body",
|
|
116
|
-
options: {
|
|
117
|
-
widget: "Array",
|
|
118
|
-
},
|
|
119
113
|
config: {
|
|
120
114
|
layout: 12,
|
|
121
115
|
main: {
|