blixify-ui-web 0.1.95 → 0.1.97

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.
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { Option } from "../../input/select";
2
3
  import { LinkProps } from "../../structure/link";
3
4
  import { DataStructure } from "./model";
4
5
  import { AdditionalQuery } from "./spaceModel";
@@ -17,6 +18,7 @@ interface Props extends LinkProps {
17
18
  description: string;
18
19
  type: "read" | "update" | "list" | string;
19
20
  id?: string;
21
+ organisationMembers?: Option[];
20
22
  collectionId: string;
21
23
  dbAPIToken: string;
22
24
  model: DataStructure[];
@@ -43,6 +45,7 @@ interface Props extends LinkProps {
43
45
  breadcrumb?: boolean;
44
46
  maxFileSize?: number;
45
47
  deleteBtn?: boolean;
48
+ role: "admin" | "manager" | "editor" | "viewer";
46
49
  onComplete?: () => void;
47
50
  }
48
51
  export declare const loadingSelect: JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataTemplate/index.tsx"],"names":[],"mappings":";AAuCA,OAAO,EAAQ,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAUvD,OAAO,EAAmB,aAAa,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,UAAU,KAAM,SAAQ,SAAS;IAC/B,GAAG,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,GAAG,CAAC;QACZ,QAAQ,CAAC,EAAE,GAAG,CAAC;QACf,QAAQ,CAAC,EAAE,GAAG,CAAC;QACf,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,IAAI,EAAE,GAAG,CAAC;QACV,MAAM,EAAE,GAAG,CAAC;QACZ,UAAU,EAAE,GAAG,CAAC;QAChB,UAAU,CAAC,EAAE,GAAG,CAAC;KAClB,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;QAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;KACzB,EAAE,CAAC;IACJ,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAwDD,eAAO,MAAM,aAAa,aAKzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAK5B,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,eAoqGxC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataTemplate/index.tsx"],"names":[],"mappings":";AAmCA,OAAO,EAAE,MAAM,EAAU,MAAM,oBAAoB,CAAC;AAKpD,OAAO,EAAQ,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAUvD,OAAO,EAAmB,aAAa,EAAE,MAAM,SAAS,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,UAAU,KAAM,SAAQ,SAAS;IAC/B,GAAG,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,GAAG,CAAC;QACZ,QAAQ,CAAC,EAAE,GAAG,CAAC;QACf,QAAQ,CAAC,EAAE,GAAG,CAAC;QACf,YAAY,CAAC,EAAE,GAAG,CAAC;QACnB,IAAI,EAAE,GAAG,CAAC;QACV,MAAM,EAAE,GAAG,CAAC;QACZ,UAAU,EAAE,GAAG,CAAC;QAChB,UAAU,CAAC,EAAE,GAAG,CAAC;KAClB,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,MAAM,EAAE,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,eAAe,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE;QACb,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;QAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;KACzB,EAAE,CAAC;IACJ,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAwDD,eAAO,MAAM,aAAa,aAKzB,CAAC;AAEF,eAAO,MAAM,gBAAgB,aAK5B,CAAC;AAEF,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,eAqsGxC"}
@@ -90,6 +90,7 @@ var react_1 = __importStar(require("react"));
90
90
  var uuid_1 = require("uuid");
91
91
  var button_1 = require("../../action/button");
92
92
  var iconButton_1 = require("../../action/iconButton");
93
+ var textButton_1 = require("../../action/textButton");
93
94
  var popUp_1 = require("../../advanced/popUp");
94
95
  var detailList_1 = require("../../display/detailList");
95
96
  var emptyState_1 = require("../../display/emptyState");
@@ -113,7 +114,6 @@ var readQuery_1 = require("../readQuery");
113
114
  var readQueryHoc_1 = require("../readQueryHoc");
114
115
  var utils_2 = require("../utils");
115
116
  var writeQuery_1 = require("../writeQuery");
116
- var textButton_1 = require("../../action/textButton");
117
117
  var queryTableHeader = [
118
118
  {
119
119
  key: "name",
@@ -218,8 +218,16 @@ function DataTemplate(props) {
218
218
  var _22 = (0, react_1.useState)({}), referencesOptions = _22[0], setReferencesOptions = _22[1];
219
219
  var _23 = (0, react_1.useState)({}), referenceModelSchema = _23[0], setReferenceSchema = _23[1];
220
220
  var serverId = props.server === "mongoServer" ? "_id" : "id";
221
+ var isEditor = props.role === "admin" ||
222
+ props.role === "manager" ||
223
+ props.role === "editor";
221
224
  var dbModule = props.server === "firebase" ? (_a = props.lib) === null || _a === void 0 ? void 0 : _a.firebase : (_b = props.lib) === null || _b === void 0 ? void 0 : _b.axios;
222
- var writeServerQuery = new writeQuery_1.WriteQuery((_c = props.lib) === null || _c === void 0 ? void 0 : _c.axios, props.server, props.collectionId, props.dbEndpoint);
225
+ var writeServerQuery = new writeQuery_1.WriteQuery({
226
+ dbModule: (_c = props.lib) === null || _c === void 0 ? void 0 : _c.axios,
227
+ dbType: props.server,
228
+ dbCollection: props.collectionId,
229
+ dbEndpoint: props.dbEndpoint,
230
+ });
223
231
  var moreButtonPopUp = [
224
232
  {
225
233
  text: "Import Excel",
@@ -271,7 +279,13 @@ function DataTemplate(props) {
271
279
  if (!(queryInput.queryId === eachModel.id)) return [3 /*break*/, 3];
272
280
  if (!(eachModel.type === "reference" ||
273
281
  eachModel.type === "listReference")) return [3 /*break*/, 2];
274
- referenceRQ = new readQuery_1.ReadQuery(dbModule, props.server, (_a = eachModel.referenceSpaceId) !== null && _a !== void 0 ? _a : "", props.dbEndpoint, props.dbAPIToken);
282
+ referenceRQ = new readQuery_1.ReadQuery({
283
+ dbModule: dbModule,
284
+ dbType: props.server,
285
+ dbCollection: (_a = eachModel.referenceSpaceId) !== null && _a !== void 0 ? _a : "",
286
+ dbEndpoint: props.dbEndpoint,
287
+ dbAPIToken: props.dbAPIToken,
288
+ });
275
289
  query = [];
276
290
  if (exportReferenceSearch) {
277
291
  query.push({
@@ -347,7 +361,13 @@ function DataTemplate(props) {
347
361
  case 0:
348
362
  _c.trys.push([0, 6, , 7]);
349
363
  optionList_1 = [];
350
- referenceRQ_1 = new readQuery_1.ReadQuery(dbModule, props.server, (_a = eachModel.referenceSpaceId) !== null && _a !== void 0 ? _a : "", props.dbEndpoint, props.dbAPIToken);
364
+ referenceRQ_1 = new readQuery_1.ReadQuery({
365
+ dbModule: dbModule,
366
+ dbType: props.server,
367
+ dbCollection: (_a = eachModel.referenceSpaceId) !== null && _a !== void 0 ? _a : "",
368
+ dbEndpoint: props.dbEndpoint,
369
+ dbAPIToken: props.dbAPIToken,
370
+ });
351
371
  return [4 /*yield*/, referenceRQ_1.call({
352
372
  type: "list",
353
373
  limit: 10,
@@ -553,33 +573,33 @@ function DataTemplate(props) {
553
573
  };
554
574
  var handleGetListData = function (responseData) { return __awaiter(_this, void 0, void 0, function () {
555
575
  var dataList, handleListResponse;
556
- var _a;
557
- return __generator(this, function (_b) {
558
- switch (_b.label) {
576
+ var _a, _b;
577
+ return __generator(this, function (_c) {
578
+ switch (_c.label) {
559
579
  case 0:
560
580
  dataList = [];
561
- return [4 /*yield*/, (0, utils_2.handleListDataBasedOnModel)(responseData.data, props.server, dbModule, props.model, (_a = props.imageEndpoint) !== null && _a !== void 0 ? _a : "", props.localURLEndpoint, props.collectionId, props.dbEndpoint, handleNavigate)];
581
+ return [4 /*yield*/, (0, utils_2.handleListDataBasedOnModel)(responseData.data, props.server, dbModule, props.model, (_a = props.imageEndpoint) !== null && _a !== void 0 ? _a : "", props.localURLEndpoint, props.collectionId, props.dbEndpoint, (_b = props.organisationMembers) !== null && _b !== void 0 ? _b : [], handleNavigate)];
562
582
  case 1:
563
- handleListResponse = _b.sent();
583
+ handleListResponse = _c.sent();
564
584
  if (!(props.server === "mongoServer")) return [3 /*break*/, 4];
565
585
  if (!responseData.data) return [3 /*break*/, 3];
566
586
  return [4 /*yield*/, handleListResponse];
567
587
  case 2:
568
- dataList = _b.sent();
588
+ dataList = _c.sent();
569
589
  setTableData(dataList);
570
590
  setSize(responseData.count);
571
- _b.label = 3;
591
+ _c.label = 3;
572
592
  case 3: return [3 /*break*/, 7];
573
593
  case 4:
574
594
  if (!responseData.data) return [3 /*break*/, 6];
575
595
  return [4 /*yield*/, handleListResponse];
576
596
  case 5:
577
- dataList = _b.sent();
578
- _b.label = 6;
597
+ dataList = _c.sent();
598
+ _c.label = 6;
579
599
  case 6:
580
600
  setTableData(filterSearchParams ? dataList : dataList.concat(tableData));
581
601
  setCursor(responseData.count);
582
- _b.label = 7;
602
+ _c.label = 7;
583
603
  case 7:
584
604
  setTableLoading(false);
585
605
  return [2 /*return*/];
@@ -1153,26 +1173,26 @@ function DataTemplate(props) {
1153
1173
  }); };
1154
1174
  var handleRetrieveSelectedData = function (responseData) { return __awaiter(_this, void 0, void 0, function () {
1155
1175
  var dummyRespData, dummyReferenceModelSchema, newRespData, _a;
1156
- var _b, _c, _d;
1157
- return __generator(this, function (_e) {
1158
- switch (_e.label) {
1176
+ var _b, _c, _d, _e;
1177
+ return __generator(this, function (_f) {
1178
+ switch (_f.label) {
1159
1179
  case 0:
1160
1180
  if (!responseData.data) return [3 /*break*/, 4];
1161
1181
  dummyRespData = JSON.parse(JSON.stringify(responseData.data), utils_2.jsonReviver);
1162
1182
  dummyReferenceModelSchema = JSON.parse(JSON.stringify(referenceModelSchema));
1163
1183
  if (!(props.type === "read")) return [3 /*break*/, 2];
1164
- return [4 /*yield*/, (0, utils_2.handleRetrieveDeepModel)(dummyRespData, (_b = props.model) !== null && _b !== void 0 ? _b : [], dbModule, props.server, props.dbEndpoint, props.schemaEndpoint, (_c = props.imageEndpoint) !== null && _c !== void 0 ? _c : "", (_d = props.id) !== null && _d !== void 0 ? _d : "", dummyReferenceModelSchema, setReferenceSchema)];
1184
+ return [4 /*yield*/, (0, utils_2.handleRetrieveDeepModel)(dummyRespData, (_b = props.model) !== null && _b !== void 0 ? _b : [], dbModule, props.server, props.dbEndpoint, props.schemaEndpoint, (_c = props.imageEndpoint) !== null && _c !== void 0 ? _c : "", (_d = props.id) !== null && _d !== void 0 ? _d : "", dummyReferenceModelSchema, (_e = props.organisationMembers) !== null && _e !== void 0 ? _e : [], setReferenceSchema)];
1165
1185
  case 1:
1166
- _a = _e.sent();
1186
+ _a = _f.sent();
1167
1187
  return [3 /*break*/, 3];
1168
1188
  case 2:
1169
1189
  _a = dummyRespData;
1170
- _e.label = 3;
1190
+ _f.label = 3;
1171
1191
  case 3:
1172
1192
  newRespData = _a;
1173
1193
  setSelectedData(newRespData);
1174
1194
  handleRetrieveReferenceOptions(newRespData);
1175
- _e.label = 4;
1195
+ _f.label = 4;
1176
1196
  case 4:
1177
1197
  setModalVisible(false);
1178
1198
  setLoading(false);
@@ -1875,10 +1895,11 @@ function DataTemplate(props) {
1875
1895
  });
1876
1896
  return null;
1877
1897
  });
1878
- tableHeader.push({
1879
- key: "update",
1880
- title: "Update",
1881
- });
1898
+ if (isEditor)
1899
+ tableHeader.push({
1900
+ key: "update",
1901
+ title: "Update",
1902
+ });
1882
1903
  return tableHeader;
1883
1904
  };
1884
1905
  var renderCursor = function () {
@@ -1904,7 +1925,7 @@ function DataTemplate(props) {
1904
1925
  });
1905
1926
  filteredModel.forEach(function (eachAttribute, index) {
1906
1927
  //INFO - Default Model Contain Id While Object Type Don't have
1907
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
1928
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
1908
1929
  var clonedSelectedData = handleClonedDataAttribute(data, model);
1909
1930
  var label = eachAttribute.name;
1910
1931
  var labelExtra = !eachAttribute.optional ? (react_1.default.createElement("span", { className: "text-red-500" }, " (*) ")) : undefined;
@@ -2016,8 +2037,8 @@ function DataTemplate(props) {
2016
2037
  case "listReference":
2017
2038
  inputList.push(react_1.default.createElement(react_1.default.Fragment, null,
2018
2039
  react_1.default.createElement(select_1.Select, { ref: eachAttribute.optional ? null : formInputRef[index], id: eachAttribute.id, value: (_k = clonedSelectedData[eachAttribute.id]) !== null && _k !== void 0 ? _k : (eachAttribute.type === "reference" ? "" : []), label: label, labelExtra: labelExtra, optional: eachAttribute.optional, options: isObject
2019
- ? referencesOptions[selectedObjectStructureId + "." + eachAttribute.id]
2020
- : (_l = referencesOptions[eachAttribute.id]) !== null && _l !== void 0 ? _l : [], onChange: function (value) {
2040
+ ? (_l = referencesOptions[selectedObjectStructureId + "." + eachAttribute.id]) !== null && _l !== void 0 ? _l : []
2041
+ : (_m = referencesOptions[eachAttribute.id]) !== null && _m !== void 0 ? _m : [], onChange: function (value) {
2021
2042
  handleOnChangeSelect(eachAttribute.id, value);
2022
2043
  }, additional: referenceLoading ? exports.loadingSelect : exports.additionalSelect, onSearch: function (value) { return __awaiter(_this, void 0, void 0, function () {
2023
2044
  var clonedReferencesOptions, filterObjectModel;
@@ -2049,11 +2070,15 @@ function DataTemplate(props) {
2049
2070
  else if (eachAttribute.type === "email") {
2050
2071
  textType = "email";
2051
2072
  }
2052
- inputList.push(react_1.default.createElement(textInput_1.TextInput, { id: eachAttribute.id, ref: eachAttribute.optional ? null : formInputRef[index], type: textType, value: (_m = clonedSelectedData[eachAttribute.id]) !== null && _m !== void 0 ? _m : "", placeholder: label, label: label, labelExtra: labelExtra, optional: eachAttribute.optional, onChange: handleOnChangeText, disabled: disabled }));
2073
+ inputList.push(react_1.default.createElement(textInput_1.TextInput, { id: eachAttribute.id, ref: eachAttribute.optional ? null : formInputRef[index], type: textType, value: (_o = clonedSelectedData[eachAttribute.id]) !== null && _o !== void 0 ? _o : "", placeholder: label, label: label, labelExtra: labelExtra, optional: eachAttribute.optional, onChange: handleOnChangeText, disabled: disabled }));
2053
2074
  break;
2054
2075
  case "date":
2055
2076
  inputList.push(react_1.default.createElement(datePicker_1.InputDatePicker, { title: label, labelExtra: labelExtra, id: eachAttribute.id, optional: eachAttribute.optional, ref: eachAttribute.optional ? null : formInputRef[index], onChange: handleOnChangeDate, value: clonedSelectedData[eachAttribute.id], disabled: disabled }));
2056
2077
  break;
2078
+ case "person":
2079
+ inputList.push(react_1.default.createElement(select_1.Select, { ref: eachAttribute.optional ? null : formInputRef[index], id: eachAttribute.id, optional: eachAttribute.optional, value: (_p = clonedSelectedData[eachAttribute.id]) !== null && _p !== void 0 ? _p : [], label: label, labelExtra: labelExtra, options: (_q = props.organisationMembers) !== null && _q !== void 0 ? _q : [], onChange: function (value) {
2080
+ handleOnChangeSelect(eachAttribute.id, value);
2081
+ }, disabled: disabled }));
2057
2082
  }
2058
2083
  });
2059
2084
  return inputList.map(function (eachInput, index) {
@@ -2084,99 +2109,106 @@ function DataTemplate(props) {
2084
2109
  };
2085
2110
  var renderListObject = function (type) {
2086
2111
  var isListObject = props.model.filter(function (eachAttribute) { return eachAttribute.type === "listObject"; });
2087
- if (isListObject.length > 0) {
2088
- var list_2 = {};
2089
- var clonedSelectedData_1 = handleClonedDataAttribute(selectedData, props.model);
2090
- return isListObject.map(function (eachListObject) {
2091
- var _a;
2092
- if (clonedSelectedData_1[eachListObject.id]) {
2093
- clonedSelectedData_1[eachListObject.id].map(function (eachObject) {
2094
- var eachNewList = {
2095
- id: "",
2096
- title: "",
2097
- };
2098
- var isTitle = true;
2099
- var _loop_3 = function (eachKey, eachValue) {
2100
- if (eachListObject.objectData) {
2101
- var model = eachListObject.objectData.find(function (eachAttribute) {
2102
- return eachAttribute.id === eachKey;
2103
- });
2104
- switch (model === null || model === void 0 ? void 0 : model.type) {
2105
- case "string":
2106
- case "contact":
2107
- case "email":
2108
- isTitle
2109
- ? (eachNewList["title"] =
2110
- typeof eachValue === "string" ? eachValue : "")
2111
- : (eachNewList[eachKey] = model.name + " : " + eachValue);
2112
- isTitle = false;
2113
- break;
2114
- case "image":
2115
- var url = void 0;
2116
- if (typeof eachValue === "string") {
2117
- url = (0, utils_2.renderImageUrlFromPath)(props.imageEndpoint, model.imageCollectionName + "%2F" + props.id, eachListObject.id + "%2F" + eachObject.id, model.imageFileName, eachValue);
2118
- }
2119
- else if (eachValue instanceof File) {
2120
- url = URL.createObjectURL(eachValue);
2121
- }
2122
- eachNewList[eachKey] = (react_1.default.createElement("img", { src: url, alt: "", className: "object-contain w-10 h-10" }));
2123
- break;
2124
- case "date":
2112
+ var list = {};
2113
+ var clonedSelectedData = handleClonedDataAttribute(selectedData, props.model);
2114
+ return isListObject.map(function (eachListObject) {
2115
+ var _a;
2116
+ if (clonedSelectedData[eachListObject.id]) {
2117
+ clonedSelectedData[eachListObject.id].map(function (eachObject) {
2118
+ var _a;
2119
+ var eachNewList = {
2120
+ id: "",
2121
+ title: "",
2122
+ };
2123
+ var isTitle = true;
2124
+ var _loop_3 = function (eachKey, eachValue) {
2125
+ if (eachListObject.objectData) {
2126
+ var model = eachListObject.objectData.find(function (eachAttribute) {
2127
+ return eachAttribute.id === eachKey;
2128
+ });
2129
+ switch (model === null || model === void 0 ? void 0 : model.type) {
2130
+ case "string":
2131
+ case "contact":
2132
+ case "email":
2133
+ isTitle
2134
+ ? (eachNewList["title"] =
2135
+ typeof eachValue === "string" ? eachValue : "")
2136
+ : (eachNewList[eachKey] = model.name + " : " + eachValue);
2137
+ isTitle = false;
2138
+ break;
2139
+ case "image":
2140
+ var url = void 0;
2141
+ if (typeof eachValue === "string") {
2142
+ url = (0, utils_2.renderImageUrlFromPath)(props.imageEndpoint, model.imageCollectionName + "%2F" + props.id, eachListObject.id + "%2F" + eachObject.id, model.imageFileName, eachValue);
2143
+ }
2144
+ else if (eachValue instanceof File) {
2145
+ url = URL.createObjectURL(eachValue);
2146
+ }
2147
+ eachNewList[eachKey] = (react_1.default.createElement("img", { src: url, alt: "", className: "object-contain w-10 h-10" }));
2148
+ break;
2149
+ case "reference":
2150
+ if (referencesOptions[eachListObject.id + "." + model.id]) {
2151
+ var selectedReferences = referencesOptions[eachListObject.id + "." + model.id].find(function (eachOption) { return eachOption.key === eachValue; });
2125
2152
  eachNewList[eachKey] =
2126
2153
  (model === null || model === void 0 ? void 0 : model.name) +
2127
2154
  " : " +
2128
- (0, utils_1.renderEachRowDataBasedOnDataType)(eachValue);
2129
- break;
2130
- case "address":
2131
- case "object":
2132
- case "reference":
2133
- break;
2134
- default:
2135
- if (eachKey === "id" && typeof eachValue === "string") {
2136
- eachNewList[eachKey] = eachValue;
2137
- }
2138
- else {
2139
- eachNewList[eachKey] = (model === null || model === void 0 ? void 0 : model.name) + " : " + eachValue;
2140
- }
2141
- break;
2142
- }
2155
+ (eachValue ? (_a = selectedReferences === null || selectedReferences === void 0 ? void 0 : selectedReferences.label) !== null && _a !== void 0 ? _a : " - " : " ");
2156
+ }
2157
+ break;
2158
+ case "date":
2159
+ eachNewList[eachKey] =
2160
+ (model === null || model === void 0 ? void 0 : model.name) +
2161
+ " : " +
2162
+ (0, utils_1.renderEachRowDataBasedOnDataType)(eachValue);
2163
+ break;
2164
+ case "address":
2165
+ case "object":
2166
+ break;
2167
+ default:
2168
+ if (eachKey === "id" && typeof eachValue === "string") {
2169
+ eachNewList[eachKey] = eachValue;
2170
+ }
2171
+ else {
2172
+ eachNewList[eachKey] = (model === null || model === void 0 ? void 0 : model.name) + " : " + eachValue;
2173
+ }
2174
+ break;
2143
2175
  }
2144
- };
2145
- for (var _i = 0, _a = Object.entries(eachObject); _i < _a.length; _i++) {
2146
- var _b = _a[_i], eachKey = _b[0], eachValue = _b[1];
2147
- _loop_3(eachKey, eachValue);
2148
- }
2149
- if (list_2[eachListObject.id]) {
2150
- list_2[eachListObject.id].push(eachNewList);
2151
2176
  }
2152
- else {
2153
- list_2[eachListObject.id] = [eachNewList];
2154
- }
2155
- return null;
2156
- });
2157
- }
2158
- return (react_1.default.createElement(react_1.default.Fragment, null, !list_2[eachListObject.id] && type === "update" ? (react_1.default.createElement("button", { type: "button", className: "relative block w-full p-12 mt-5 text-center border-2 border-gray-300 border-dashed rounded-lg", onClick: function () {
2177
+ };
2178
+ for (var _i = 0, _b = Object.entries(eachObject); _i < _b.length; _i++) {
2179
+ var _c = _b[_i], eachKey = _c[0], eachValue = _c[1];
2180
+ _loop_3(eachKey, eachValue);
2181
+ }
2182
+ if (list[eachListObject.id]) {
2183
+ list[eachListObject.id].push(eachNewList);
2184
+ }
2185
+ else {
2186
+ list[eachListObject.id] = [eachNewList];
2187
+ }
2188
+ return null;
2189
+ });
2190
+ return (react_1.default.createElement(react_1.default.Fragment, null, !list[eachListObject.id] && type === "update" ? (react_1.default.createElement("button", { type: "button", className: "relative block w-full p-12 mt-5 text-center border-2 border-gray-300 border-dashed rounded-lg", onClick: function () {
2159
2191
  setSelectedObjectStructureId(eachListObject.id);
2160
2192
  handlePopUpModal(true);
2161
2193
  } },
2162
2194
  react_1.default.createElement("svg", { className: "w-12 h-12 mx-auto text-gray-400", stroke: "currentColor", fill: "none", viewBox: "0 0 48 48", "aria-hidden": "true" },
2163
2195
  react_1.default.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M8 14v20c0 4.418 7.163 8 16 8 1.381 0 2.721-.087 4-.252M8 14c0 4.418 7.163 8 16 8s16-3.582 16-8M8 14c0-4.418 7.163-8 16-8s16 3.582 16 8m0 0v14m0-4c0 4.418-7.163 8-16 8S8 28.418 8 24m32 10v6m0 0v6m0-6h6m-6 0h-6" })),
2164
2196
  react_1.default.createElement("span", { className: "block mt-2 text-sm font-medium text-gray-900" },
2165
- "Create a new ", "".concat(eachListObject.name.toLocaleLowerCase())))) : (react_1.default.createElement(react_1.default.Fragment, null, list_2[eachListObject.id] && (react_1.default.createElement(react_1.default.Fragment, null,
2197
+ "Create a new ", "".concat(eachListObject.name.toLocaleLowerCase())))) : (react_1.default.createElement(react_1.default.Fragment, null, list[eachListObject.id] && (react_1.default.createElement(react_1.default.Fragment, null,
2166
2198
  react_1.default.createElement("div", { className: "flex justify-between mt-5" },
2167
2199
  react_1.default.createElement("h3", { className: "font-medium leading-6 text-gray-900 text-md sm:text-lg" }, eachListObject.name),
2168
2200
  type === "update" && (react_1.default.createElement(iconButton_1.IconButton, { className: "sm", icon: react_1.default.createElement(outline_1.PlusCircleIcon, { className: "w-6 h-6 text-white" }), background: "bg-primary-500 hover:bg-primary-600", onClick: function () {
2169
2201
  setSelectedObjectStructureId(eachListObject.id);
2170
2202
  handlePopUpModal(true);
2171
2203
  } }))),
2172
- react_1.default.createElement(list_1.List, { className: "mt-5", list: (_a = list_2[eachListObject.id]) !== null && _a !== void 0 ? _a : [], loading: false, onClickRow: function (id) {
2204
+ react_1.default.createElement(list_1.List, { className: "mt-5", list: (_a = list[eachListObject.id]) !== null && _a !== void 0 ? _a : [], loading: false, onClickRow: function (id) {
2173
2205
  handleSelectListObjectData(id, eachListObject.id);
2174
2206
  } })))))));
2175
- });
2176
- }
2177
- else {
2178
- return react_1.default.createElement(react_1.default.Fragment, null);
2179
- }
2207
+ }
2208
+ else {
2209
+ return react_1.default.createElement(react_1.default.Fragment, null);
2210
+ }
2211
+ });
2180
2212
  };
2181
2213
  var renderContent = function () {
2182
2214
  var _a, _b, _c, _d, _e, _f;
@@ -2228,7 +2260,7 @@ function DataTemplate(props) {
2228
2260
  react_1.default.createElement("div", { className: "flex flex-col" },
2229
2261
  react_1.default.createElement("p", { className: "text-xl font-medium" }, props.title),
2230
2262
  react_1.default.createElement("span", { className: "text-sm text-gray-500" }, props.description)),
2231
- props.deleteBtn && (react_1.default.createElement(button_1.Button, { text: "Delete", className: "mt-5 ml-0 sm:mt-0 sm:ml-5", type: "danger", onClick: function () {
2263
+ props.deleteBtn && isEditor && (react_1.default.createElement(button_1.Button, { text: "Delete", className: "mt-5 ml-0 sm:mt-0 sm:ml-5", type: "danger", onClick: function () {
2232
2264
  setDeleteModal(true);
2233
2265
  } })))),
2234
2266
  react_1.default.createElement(tabs_1.Tabs, { tabs: tabs, selectedId: viewType, linkType: props.linkType, custom: props.custom }),
@@ -2255,7 +2287,7 @@ function DataTemplate(props) {
2255
2287
  react_1.default.createElement("div", { className: "flex flex-col" },
2256
2288
  react_1.default.createElement("p", { className: "text-xl font-medium" }, props.title),
2257
2289
  react_1.default.createElement("span", { className: "text-sm text-gray-500" }, props.description)),
2258
- props.deleteBtn && (react_1.default.createElement(button_1.Button, { text: "Delete", className: "mt-5 ml-0 sm:mt-0 sm:ml-5", type: "danger", onClick: function () {
2290
+ props.deleteBtn && isEditor && (react_1.default.createElement(button_1.Button, { text: "Delete", className: "mt-5 ml-0 sm:mt-0 sm:ml-5", type: "danger", onClick: function () {
2259
2291
  setDeleteModal(true);
2260
2292
  } }))),
2261
2293
  react_1.default.createElement(form_1.Form, { className: "grid grid-cols-4 gap-6 mt-6", ref: formRef, refList: modalFormInputRefs, handleComplete: handleSubmit }, renderDataTemplateForm(selectedData, props.model, modalFormInputRefs)),
@@ -2455,7 +2487,7 @@ function DataTemplate(props) {
2455
2487
  });
2456
2488
  if (viewType === "general") {
2457
2489
  if (dataType === "list") {
2458
- return (react_1.default.createElement(table_1.Table, { paginationType: props.server === "mongoServer" ? "page" : "cursor", data: tableData, size: size, limit: limit, cursor: cursor, loading: tableLoading, checkbox: true, selectAll: selectAll, selectedIds: selectedIds, selectAllText: selectAll ? "from filter" : "", multiActionButton: react_1.default.createElement(textButton_1.TextButton, { className: "text-sm", text: "Delete", onClick: function () {
2490
+ return (react_1.default.createElement(table_1.Table, { paginationType: props.server === "mongoServer" ? "page" : "cursor", data: tableData, size: size, limit: limit, cursor: cursor, loading: tableLoading, checkbox: isEditor ? true : false, selectAll: selectAll, selectedIds: selectedIds, selectAllText: selectAll ? "from filter" : "", multiActionButton: react_1.default.createElement(textButton_1.TextButton, { className: "text-sm", text: "Delete", onClick: function () {
2459
2491
  handleGenerateDeletePasscode();
2460
2492
  setDeleteModal(true);
2461
2493
  } }), handleSelectAll: handleSelectAllPages, handleSelectedIds: handleSelectIds, header: renderTableHeader(), pageIndex: pageIndex, onClickRow: function (id) {
@@ -2587,12 +2619,13 @@ function DataTemplate(props) {
2587
2619
  " ",
2588
2620
  props.type === "list" ? "these" : "this",
2589
2621
  " data?"),
2590
- react_1.default.createElement("p", { className: "mb-2" },
2591
- "Enter passcode",
2592
- " ",
2593
- react_1.default.createElement("span", { className: "font-semibold" }, deletePasscode),
2594
- " to delete."),
2595
- react_1.default.createElement(textInput_1.TextInput, { label: "", value: deletePasscodeInput, onChange: function (e) { return setDeletePasscodeInput(e.target.value); }, type: "password", placeholder: "Type your passcode here" }),
2622
+ props.type === "list" && (react_1.default.createElement(react_1.default.Fragment, null,
2623
+ react_1.default.createElement("p", { className: "mb-2" },
2624
+ "Enter passcode",
2625
+ " ",
2626
+ react_1.default.createElement("span", { className: "font-semibold" }, deletePasscode),
2627
+ " to delete."),
2628
+ react_1.default.createElement(textInput_1.TextInput, { label: "", value: deletePasscodeInput, onChange: function (e) { return setDeletePasscodeInput(e.target.value); }, type: "password", placeholder: "Type your passcode here" }))),
2596
2629
  react_1.default.createElement("div", { className: "flex flex-row justify-end pt-5 mt-6 space-x-2" },
2597
2630
  react_1.default.createElement(button_1.Button, { text: "Close", size: "small", type: "light", onClick: function () {
2598
2631
  setDeletePasscodeInput("");