impaktapps-ui-builder 0.0.384 → 0.0.386

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 (22) hide show
  1. package/dist/impaktapps-ui-builder.es.js +243 -14
  2. package/dist/impaktapps-ui-builder.es.js.map +1 -1
  3. package/dist/impaktapps-ui-builder.umd.js +13 -13
  4. package/dist/impaktapps-ui-builder.umd.js.map +1 -1
  5. package/dist/src/impaktapps-ui-builder/builder/build/buildDataGrid.d.ts +1 -0
  6. package/dist/src/impaktapps-ui-builder/builder/build/buildInputSlider.d.ts +1 -0
  7. package/package.json +1 -1
  8. package/src/impaktapps-ui-builder/builder/build/buildDataGrid.ts +51 -0
  9. package/src/impaktapps-ui-builder/builder/build/buildInputSlider.ts +46 -0
  10. package/src/impaktapps-ui-builder/builder/build/buildStepper.ts +5 -2
  11. package/src/impaktapps-ui-builder/builder/build/buildTable.ts +1 -1
  12. package/src/impaktapps-ui-builder/builder/build/buildUiSchema.ts +24 -8
  13. package/src/impaktapps-ui-builder/builder/build/buildWrapperSection.ts +4 -0
  14. package/src/impaktapps-ui-builder/builder/build/uischema/buildPropertiesSection.ts +96 -2
  15. package/src/impaktapps-ui-builder/builder/elements/UiSchema/Component/schema.ts +37 -0
  16. package/src/impaktapps-ui-builder/builder/elements/UiSchema/PageMaster/schema.ts +40 -42
  17. package/src/impaktapps-ui-builder/builder/elements/UiSchema/event/schema.ts +1 -1
  18. package/src/impaktapps-ui-builder/builder/services/component.ts +2 -0
  19. package/src/impaktapps-ui-builder/builder/services/event.ts +1 -0
  20. package/src/impaktapps-ui-builder/builder/services/utils.ts +1 -1
  21. package/src/impaktapps-ui-builder/runtime/services/events.ts +2 -2
  22. package/src/impaktapps-ui-builder/runtime/services/service.ts +1 -1
@@ -24,9 +24,9 @@ const PageMasterSchema = {
24
24
  },
25
25
  template: {
26
26
  oneOf: [
27
- { const: "template1", title: "template1" },
28
- { const: "template2", title: "template2" },
29
- { const: "template3", title: "template3" }
27
+ { const: "Template-1", title: "template1" },
28
+ { const: "Template-2", title: "template2" },
29
+ { const: "Template-3", title: "template3" }
30
30
  ]
31
31
  },
32
32
  sectionLabels: {
@@ -41,7 +41,7 @@ const PageMasterSchema = {
41
41
  }
42
42
  }
43
43
  },
44
- required: ["template", "name"]
44
+ required: ["label", "template"]
45
45
  };
46
46
  const PageMasterUiSchema = {
47
47
  type: "HorizontalLayout",
@@ -5882,11 +5882,13 @@ const ComponentSchema = {
5882
5882
  { title: "Card", const: "card" },
5883
5883
  { title: "CheckBox", const: "CheckBox" },
5884
5884
  { title: "Container", const: "WrapperSection" },
5885
+ { title: "DataGrid", const: "DataGrid" },
5885
5886
  { title: "Date", const: "Date" },
5886
5887
  { title: "Download File", const: "DownloadFile" },
5887
5888
  { title: "Empty Box", const: "EmptyBox" },
5888
5889
  { title: "File", const: "FileInput" },
5889
5890
  { title: "Graph", const: "Graph" },
5891
+ { title: "Input Slider", const: "InputSlider" },
5890
5892
  { title: "Label", const: "Box" },
5891
5893
  { title: "LeaderBoard", const: "LeaderBoard" },
5892
5894
  { title: "MultipleSelect", const: "MultipleSelect" },
@@ -5943,6 +5945,24 @@ const ComponentSchema = {
5943
5945
  }
5944
5946
  }
5945
5947
  },
5948
+ cardLayout: {
5949
+ type: "array",
5950
+ items: {
5951
+ type: "object",
5952
+ properties: {
5953
+ key: {
5954
+ type: "string",
5955
+ oneOf: [
5956
+ { title: "Extra Small", const: "xs" },
5957
+ { title: "Small", const: "sm" },
5958
+ { title: "Medium", const: "md" },
5959
+ { title: "Large", const: "lg" }
5960
+ ]
5961
+ },
5962
+ value: {}
5963
+ }
5964
+ }
5965
+ },
5946
5966
  value: {
5947
5967
  type: "array",
5948
5968
  items: {
@@ -6010,6 +6030,20 @@ const ComponentSchema = {
6010
6030
  }
6011
6031
  }
6012
6032
  },
6033
+ sizeHolder: {
6034
+ type: "array",
6035
+ items: {
6036
+ type: "object",
6037
+ properties: {
6038
+ keyName: {
6039
+ type: "string"
6040
+ },
6041
+ value: {
6042
+ type: "string"
6043
+ }
6044
+ }
6045
+ }
6046
+ },
6013
6047
  legendLabels: {
6014
6048
  type: "array",
6015
6049
  items: {
@@ -6667,6 +6701,57 @@ const EmptyBox = {
6667
6701
  main: {}
6668
6702
  }
6669
6703
  };
6704
+ const cardLayout = {
6705
+ type: "Control",
6706
+ scope: "#/properties/cardLayout",
6707
+ layout: 11.5,
6708
+ options: {
6709
+ detail: {
6710
+ type: "HorizontalLayout",
6711
+ elements: [
6712
+ {
6713
+ type: "Control",
6714
+ scope: "#/properties/key",
6715
+ options: {
6716
+ widget: "SelectInputField"
6717
+ },
6718
+ config: {
6719
+ layout: {
6720
+ xs: 11,
6721
+ sm: 11,
6722
+ md: 5.5,
6723
+ lg: 5.5
6724
+ },
6725
+ main: {
6726
+ label: "Screen Size"
6727
+ }
6728
+ }
6729
+ },
6730
+ {
6731
+ type: "Control",
6732
+ scope: "#/properties/value",
6733
+ options: {
6734
+ widget: "InputField"
6735
+ },
6736
+ config: {
6737
+ layout: {
6738
+ xs: 11,
6739
+ sm: 11,
6740
+ md: 5.5,
6741
+ lg: 5.5
6742
+ },
6743
+ main: {
6744
+ label: "Value",
6745
+ type: "number",
6746
+ helperText: "Number should be in range of 0 to 12",
6747
+ errorMessage: "Number Can't be greater than 12 and can't be less than 0."
6748
+ }
6749
+ }
6750
+ }
6751
+ ]
6752
+ }
6753
+ }
6754
+ };
6670
6755
  const getArrayControl = (parentScope, childScope, childLabel) => {
6671
6756
  return {
6672
6757
  type: "Control",
@@ -6701,6 +6786,25 @@ const getArrayControl = (parentScope, childScope, childLabel) => {
6701
6786
  }
6702
6787
  };
6703
6788
  };
6789
+ const sizeHolder = getArrayControl("sizeHolder", "keyName", "Component Name");
6790
+ sizeHolder.options.detail.elements[1] = {
6791
+ type: "Control",
6792
+ scope: `#/properties/value`,
6793
+ options: {
6794
+ widget: "InputField"
6795
+ },
6796
+ config: {
6797
+ layout: {
6798
+ xs: 11,
6799
+ sm: 11,
6800
+ md: 5.5,
6801
+ lg: 5.5
6802
+ },
6803
+ main: {
6804
+ label: "Size"
6805
+ }
6806
+ }
6807
+ };
6704
6808
  const getInputField = (scope, label) => {
6705
6809
  return {
6706
6810
  type: "Control",
@@ -6792,13 +6896,30 @@ const GraphSection = {
6792
6896
  const buildPropertiesSection = function(type) {
6793
6897
  let uiSchema = _.cloneDeep(GraphSection);
6794
6898
  switch (type) {
6899
+ case "InputSlider":
6900
+ uiSchema.elements = [
6901
+ getInputField("max", "Max Limit"),
6902
+ getInputField("step", "Step"),
6903
+ getInputField("min", "Min Limit"),
6904
+ getRadioInputField("limitToMax", "Applly Max. Limit", ["YES", "NO"])
6905
+ ];
6906
+ break;
6907
+ case "DataGrid":
6908
+ uiSchema.elements = [
6909
+ getRadioInputField("divider", "Use Header divider", ["YES", "NO"]),
6910
+ getInputField("elevation", "Card Elevation"),
6911
+ getInputField("height", "Grid height"),
6912
+ getInputField("justifyContent", "justifyContent"),
6913
+ cardLayout
6914
+ ];
6915
+ break;
6795
6916
  case "Stepper":
6796
6917
  uiSchema.elements = [
6797
6918
  getRadioInputField("resetButton", "Reset Button", ["YES", "NO"]),
6919
+ getRadioInputField("defaultButtonAvailable", "Use Default Buttons ", ["YES", "NO"]),
6798
6920
  getInputField("resetText", "Reset Text"),
6799
6921
  getInputField("completeText", "Complete Text"),
6800
6922
  getSelectField("orientation", "Orientation Type"),
6801
- EmptyBox,
6802
6923
  getArrayControl("sectionLabels", "label")
6803
6924
  ];
6804
6925
  break;
@@ -6911,7 +7032,8 @@ const buildPropertiesSection = function(type) {
6911
7032
  getRadioInputField("DragAvailable", "Drag Available", ["YES", "NO"]),
6912
7033
  getRadioInputField("downloadAllData", "Download All Data", ["YES", "NO"]),
6913
7034
  getInputField("selectKey", "Selection Key"),
6914
- getArrayControl("Table_Download_Keys_Name", "KeyName", "Table Key Name")
7035
+ getArrayControl("Table_Download_Keys_Name", "KeyName", "Table Key Name"),
7036
+ sizeHolder
6915
7037
  ];
6916
7038
  break;
6917
7039
  case "Radio":
@@ -7291,14 +7413,14 @@ const getFormdataFromLocalStorage = (path) => {
7291
7413
  };
7292
7414
  async function saveHandler(store2, service2, submitHandler, pageName) {
7293
7415
  var _a, _b;
7294
- const id = (_a = store2.searchParams) == null ? void 0 : _a.get("id");
7416
+ (_a = store2.searchParams) == null ? void 0 : _a.get("id");
7295
7417
  const path = (_b = store2.searchParams) == null ? void 0 : _b.get("path");
7296
7418
  saveFormdataInLocalStorage(store2.ctx.core.data, path);
7297
7419
  const config = JSON.parse(localStorage.getItem("pageFormdata"));
7298
7420
  if (_.isEmpty(store2.ctx.core.errors)) {
7299
7421
  try {
7300
7422
  const saveReturn = await submitHandler(store2, service2, config);
7301
- navigateHandler(store2, true, pageName ? `/${pageName}?id=${id}` : "/PageMasterRecords");
7423
+ navigateHandler(store2, true, pageName ? `/${pageName}?id=${saveReturn.id}` : "/PageMasterRecords");
7302
7424
  } catch (err) {
7303
7425
  navigateHandler(store2, false);
7304
7426
  }
@@ -7364,7 +7486,9 @@ const sectionLabels = {
7364
7486
  Text: ["Core", "Properties", "style", "Event", "Validation"],
7365
7487
  TextArea: ["Core", "Properties", "style", "Event", "Validation"],
7366
7488
  PopUp: ["Core", "Components", "Properties", "style"],
7367
- Stepper: ["Core", "Components", "Properties", "Event", "style"]
7489
+ Stepper: ["Core", "Components", "Properties", "Event", "style"],
7490
+ DataGrid: ["Core", "Components", "Properties", "Event", "style"],
7491
+ InputSlider: ["Core", "Properties", "style", "Event", "Validation"]
7368
7492
  };
7369
7493
  const refreshPage = (type, store2) => {
7370
7494
  var _a;
@@ -8306,7 +8430,7 @@ async function executeInBuiltFunctionHandler(params) {
8306
8430
  const makeFunc = eval(params.config.funcParametersCode);
8307
8431
  parameter = makeFunc(params.store, params.dynamicData, params.userValue, params.parentEventOutput, params.service);
8308
8432
  }
8309
- params.serviceHolder[params.config.inBuiltFunctionType](parameter);
8433
+ params.serviceHolder[params.config.inBuiltFunctionType](parameter, params.service);
8310
8434
  }
8311
8435
  async function executeCustomHandler(params) {
8312
8436
  const makeFunc = eval(params.config.eventCode);
@@ -8354,7 +8478,8 @@ async function mergeFormdata(handlerResponse, componentName, eventConfig, store2
8354
8478
  } else {
8355
8479
  if (handlerResponse) {
8356
8480
  store2.setFormdata((pre) => {
8357
- return { ...pre, [componentName]: eventConfig.lazyLoading ? handlerResponse.data.data : handlerResponse.data };
8481
+ var _a;
8482
+ return { ...pre, [componentName]: eventConfig.lazyLoading ? (_a = handlerResponse == null ? void 0 : handlerResponse.data) == null ? void 0 : _a.data : handlerResponse.data };
8358
8483
  });
8359
8484
  await asyncOperation();
8360
8485
  }
@@ -9465,6 +9590,9 @@ const buildWrapperSection = (config, componentScope) => {
9465
9590
  if (config.style) {
9466
9591
  wrapper.config.style = JSON.parse(config.style);
9467
9592
  }
9593
+ if (config.layout) {
9594
+ wrapper.config.layout = createLayoutFormat(config.layout);
9595
+ }
9468
9596
  return wrapper;
9469
9597
  };
9470
9598
  var TextInputField = {
@@ -9648,7 +9776,7 @@ const buildTable = (config, componentScope) => {
9648
9776
  table.config.main.Selection = config.SelectionAvailable === "YES" ? true : false;
9649
9777
  }
9650
9778
  if (config.ColumnResizingAvailable) {
9651
- table.config.main.disableColumnResizing = config.ColumnResizingAvailable === "YES" ? true : false;
9779
+ table.config.main.disableColumnResizing = config.ColumnResizingAvailable === "YES" ? false : true;
9652
9780
  }
9653
9781
  if (config.DragAvailable) {
9654
9782
  table.config.main.enableDrag = config.DragAvailable === "YES" ? true : false;
@@ -10371,11 +10499,14 @@ const buildStepper = (config, componentScope) => {
10371
10499
  const stepper = _.cloneDeep(Stepper);
10372
10500
  stepper.scope = componentScope;
10373
10501
  stepper.config.main.resetButton = config.resetButton === "YES" ? true : false;
10502
+ if (config.defaultButtonAvailable) {
10503
+ stepper.config.main.defaultButtonAvailable = config.defaultButtonAvailable === "YES" ? true : false;
10504
+ }
10374
10505
  stepper.config.main.resetText = config.resetText || "ResetData";
10375
10506
  stepper.config.main.completeText = config.completeText || "Complete Text";
10376
10507
  stepper.config.main.orientation = config.orientation || "horizontal";
10377
10508
  if (config.sectionLabels) {
10378
- stepper.config.main.label = config.sectionLabels.map((e, i) => {
10509
+ stepper.config.main.steps = config.sectionLabels.map((e, i) => {
10379
10510
  return { label: e.label, id: i };
10380
10511
  });
10381
10512
  }
@@ -10426,6 +10557,90 @@ const buildPopUp = (config, componentScope) => {
10426
10557
  }
10427
10558
  return popup;
10428
10559
  };
10560
+ const dataGrid = {
10561
+ "type": "Control",
10562
+ "scope": "#/properties/dataGrid",
10563
+ "layout": 12,
10564
+ "options": {
10565
+ "widget": "DataGrid"
10566
+ },
10567
+ elements: [],
10568
+ "config": {
10569
+ "main": {
10570
+ elevation: 0,
10571
+ useWrapper: false
10572
+ },
10573
+ style: {}
10574
+ }
10575
+ };
10576
+ const buildDataGrid = (config, componentScope) => {
10577
+ const DataGrid = _.cloneDeep(dataGrid);
10578
+ DataGrid.scope = componentScope;
10579
+ if (config.elevation) {
10580
+ DataGrid.config.main.elevation = +config.elevation;
10581
+ }
10582
+ DataGrid.config.main.divider = config.divider === "NO" ? false : true;
10583
+ if (config.height) {
10584
+ DataGrid.config.main.height = `${config.height}px`;
10585
+ }
10586
+ if (config.justifyContent) {
10587
+ DataGrid.config.main.justifyContent = config.justifyContent;
10588
+ }
10589
+ if (config.label) {
10590
+ DataGrid.config.main.label = config.label;
10591
+ }
10592
+ if (config.layout) {
10593
+ DataGrid.config.layout = createLayoutFormat(config.layout);
10594
+ }
10595
+ if (config.cardLayout) {
10596
+ DataGrid.config.cardLayout = createLayoutFormat(config.cardLayout);
10597
+ }
10598
+ if (config.style) {
10599
+ DataGrid.config.style = JSON.parse(config.style);
10600
+ }
10601
+ return DataGrid;
10602
+ };
10603
+ const InputSlider = {
10604
+ type: "Control",
10605
+ scope: "#/properties/inputSlider",
10606
+ options: {
10607
+ widget: "InputSlider"
10608
+ },
10609
+ config: {
10610
+ layout: 12,
10611
+ main: {
10612
+ limitToMax: false,
10613
+ max: 1e4,
10614
+ step: 1e3,
10615
+ min: 0,
10616
+ label: "Slider"
10617
+ }
10618
+ }
10619
+ };
10620
+ const buildInputSlider = (config, componentScope) => {
10621
+ const inputSlider = _.cloneDeep(InputSlider);
10622
+ inputSlider.scope = componentScope;
10623
+ inputSlider.config.main.label = config.label;
10624
+ if (config.layout) {
10625
+ inputSlider.config.layout = createLayoutFormat(config.layout);
10626
+ }
10627
+ if (config.limitToMax) {
10628
+ inputSlider.config.main.limitToMax = config.limitToMax === "YES" ? true : false;
10629
+ }
10630
+ if (config.max) {
10631
+ inputSlider.config.main.max = config.max;
10632
+ }
10633
+ if (config.step) {
10634
+ inputSlider.config.main.step = config.step;
10635
+ }
10636
+ if (config.min) {
10637
+ inputSlider.config.main.min = config.min;
10638
+ }
10639
+ if (config.style) {
10640
+ inputSlider.config.main.defaultStyle = JSON.parse(config.style);
10641
+ }
10642
+ return inputSlider;
10643
+ };
10429
10644
  let schema = {
10430
10645
  type: "object",
10431
10646
  properties: {},
@@ -10544,6 +10759,12 @@ const buildUiSchema = (config) => {
10544
10759
  let elements = {};
10545
10760
  const componentScope = `#/properties/${config.name}`;
10546
10761
  switch (config.type) {
10762
+ case "InputSlider":
10763
+ elements = buildInputSlider(config, componentScope);
10764
+ break;
10765
+ case "DataGrid":
10766
+ elements = buildDataGrid(config, componentScope);
10767
+ break;
10547
10768
  case "Stepper":
10548
10769
  elements = buildStepper(config, componentScope);
10549
10770
  break;
@@ -10669,17 +10890,25 @@ const buildUiSchema = (config) => {
10669
10890
  if ((config == null ? void 0 : config.type) === "LeaderBoard") {
10670
10891
  return elements;
10671
10892
  } else if (config.type == "Table") {
10893
+ const sizeMap = {};
10894
+ if (config.sizeHolder) {
10895
+ config.sizeHolder.map((e, i) => {
10896
+ sizeMap[e.keyName] = e.value;
10897
+ });
10898
+ }
10672
10899
  elements.elements = config.elements.map((e, elemInd) => {
10673
10900
  if (e.type) {
10674
10901
  return {
10675
10902
  accessorKey: e.name,
10676
10903
  header: e.label || e.name,
10904
+ size: sizeMap[e.name] || 180,
10677
10905
  widget: buildUiSchema(e)
10678
10906
  };
10679
10907
  }
10680
10908
  return {
10681
10909
  accessorKey: e.name,
10682
- header: e.label || e.name
10910
+ header: e.label || e.name,
10911
+ size: sizeMap[e.name] || 180
10683
10912
  };
10684
10913
  });
10685
10914
  } else if (config.type == "Array") {