blixify-ui-web 0.4.72 → 0.4.74

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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataTemplate/index.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAQN,MAAM,OAAO,CAAC;AAmEf,OAAO,EACL,iBAAiB,EAKlB,MAAM,kBAAkB,CAAC;AAoB1B,eAAO,MAAM,YAAY,mFAuuNvB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataTemplate/index.tsx"],"names":[],"mappings":"AA8BA,OAAO,KAQN,MAAM,OAAO,CAAC;AAmEf,OAAO,EACL,iBAAiB,EAKlB,MAAM,kBAAkB,CAAC;AAoB1B,eAAO,MAAM,YAAY,mFAy2NvB,CAAC"}
@@ -302,11 +302,12 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
302
302
  type: "string",
303
303
  }), referenceCreationModal = _103[0], setReferenceCreationModal = _103[1];
304
304
  var _104 = (0, react_1.useState)({}), referenceModelSchema = _104[0], setReferenceSchema = _104[1];
305
+ var _105 = (0, react_1.useState)([]), kanbanChecked = _105[0], setKanbanChecked = _105[1];
305
306
  // INFO ; Use to Trigger Update Prefill UI
306
- var _105 = (0, react_1.useState)(false), prefillTrigger = _105[0], setPrefillTrigger = _105[1];
307
+ var _106 = (0, react_1.useState)(false), prefillTrigger = _106[0], setPrefillTrigger = _106[1];
307
308
  //INFO : Offline
308
- var _106 = (0, react_1.useState)(0), offlineDataLength = _106[0], setOfflineDataLength = _106[1];
309
- var _107 = (0, react_1.useState)(false), offlineModal = _107[0], setOfflineModal = _107[1];
309
+ var _107 = (0, react_1.useState)(0), offlineDataLength = _107[0], setOfflineDataLength = _107[1];
310
+ var _108 = (0, react_1.useState)(false), offlineModal = _108[0], setOfflineModal = _108[1];
310
311
  var previousType = (0, react_1.useRef)();
311
312
  var previousSelectedData = (0, react_1.useRef)();
312
313
  var formRef = (0, react_1.createRef)();
@@ -863,6 +864,21 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
863
864
  var _a, _b, _c, _d, _e;
864
865
  setTableData(newTableData);
865
866
  setSpaceTableData(newSpaceTableData);
867
+ var kanbanBooleanColumns = props.model
868
+ .filter(function (eachModel) {
869
+ return eachModel.type === "boolean" &&
870
+ eachModel.enableCheckbox &&
871
+ !eachModel.hide &&
872
+ !eachModel.disabled;
873
+ })
874
+ .map(function (eachModel) { return eachModel.id; });
875
+ var kanbanCheckedData = [];
876
+ newTableData.forEach(function (eachData) {
877
+ var eachKanbanCheckedData = { id: eachData.id };
878
+ kanbanBooleanColumns.forEach(function (eachCol) { var _a; return (eachKanbanCheckedData[eachCol] = (_a = eachData[eachCol]) !== null && _a !== void 0 ? _a : false); });
879
+ kanbanCheckedData.push(eachKanbanCheckedData);
880
+ });
881
+ setKanbanChecked(kanbanCheckedData);
866
882
  (_b = (_a = props.bareSettings) === null || _a === void 0 ? void 0 : _a.bareListHandleData) === null || _b === void 0 ? void 0 : _b.call(_a, newTableData, newSpaceTableData);
867
883
  if (((_c = props.organise) === null || _c === void 0 ? void 0 : _c.extendedTabs) &&
868
884
  props.organise.extendedTabs.length > 0) {
@@ -2620,6 +2636,19 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
2620
2636
  }
2621
2637
  });
2622
2638
  }); };
2639
+ var handleUpdateKanbanChecked = function (id, columnId, value) { return __awaiter(void 0, void 0, void 0, function () {
2640
+ var _a;
2641
+ return __generator(this, function (_b) {
2642
+ try {
2643
+ writeServerQuery.call("update", {
2644
+ id: id,
2645
+ data: (_a = {}, _a[columnId] = value, _a),
2646
+ });
2647
+ }
2648
+ catch (err) { }
2649
+ return [2 /*return*/];
2650
+ });
2651
+ }); };
2623
2652
  var handleRetrieveSelectedData = function (responseData) { return __awaiter(void 0, void 0, void 0, function () {
2624
2653
  var clonedReferencesOptions_1, dummyRespData, dummyReferenceModelSchema, newRespData, _a;
2625
2654
  var _b, _c, _d, _e, _f, _g;
@@ -4215,20 +4244,30 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
4215
4244
  }, { signing: signatureSigning, setSigning: setSignatureSigning }, props.onComplete ? true : false, (_e = props.bareSettings) === null || _e === void 0 ? void 0 : _e.bareOffline, (_f = props.bareSettings) === null || _f === void 0 ? void 0 : _f.bareUpdateOneColumn);
4216
4245
  };
4217
4246
  var renderGridAndListData = function (imageTag, type, kanbanGroupId, useColumnName) {
4247
+ var _a, _b;
4218
4248
  var gridData = [];
4249
+ var isKanban = (selectedTab === null || selectedTab === void 0 ? void 0 : selectedTab.viewType) === "kanban";
4250
+ var isListEditable = (_a = props.edit) === null || _a === void 0 ? void 0 : _a.listEditable;
4251
+ var disableUpdate = (_b = props.edit) === null || _b === void 0 ? void 0 : _b.disabledUpdate;
4219
4252
  var titleKey = "";
4220
4253
  var titleModel = structure.find(function (eachModel) {
4221
4254
  return !eachModel.hide && eachModel.id !== "_id" && eachModel.id !== "id";
4222
4255
  });
4223
4256
  if (titleModel)
4224
4257
  titleKey = titleModel.id;
4258
+ var booleanModels = props.model.filter(function (eachModel) {
4259
+ return eachModel.type === "boolean" &&
4260
+ eachModel.enableCheckbox &&
4261
+ !eachModel.hide &&
4262
+ !eachModel.disabled;
4263
+ });
4225
4264
  spaceTableData.forEach(function (eachData, index) {
4226
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
4265
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
4227
4266
  var clonedEachData = JSON.parse(JSON.stringify(eachData));
4228
4267
  var allValues = Object.values(clonedEachData);
4229
4268
  var title = "";
4230
4269
  if (allValues.length > 0) {
4231
- var renderedTitle = (0, readModule_1.renderEachRowDataBasedOnDataType)(titleKey, eachData[titleKey], props.bareSettings, true);
4270
+ var renderedTitle = (0, readModule_1.renderEachRowDataBasedOnDataType)(titleKey, eachData[titleKey], props.bareSettings, true, (_a = props.organise) === null || _a === void 0 ? void 0 : _a.disableEllipsisOnLongWord);
4232
4271
  if (renderedTitle !== " - ")
4233
4272
  title = renderedTitle;
4234
4273
  }
@@ -4258,10 +4297,17 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
4258
4297
  (structurePresent && (!modelInStructure || modelInStructure.hide))) {
4259
4298
  return null;
4260
4299
  }
4300
+ if (isKanban &&
4301
+ isListEditable &&
4302
+ selectedModel.type === "boolean" &&
4303
+ selectedModel.enableCheckbox &&
4304
+ !disableUpdate) {
4305
+ return null;
4306
+ }
4261
4307
  if (!((_a = props.organise) === null || _a === void 0 ? void 0 : _a.showBaseUpdatedAt) && eachKey === "baseUpdatedAt") {
4262
4308
  return null;
4263
4309
  }
4264
- if (type === "grid" &&
4310
+ if ((type === "grid" || type === "kanban") &&
4265
4311
  (selectedModel.type === "multipleImage" ||
4266
4312
  selectedModel.type === "markdown"))
4267
4313
  return null;
@@ -4278,14 +4324,54 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
4278
4324
  react_1.default.createElement("div", { className: "bg-white rounded-lg border p-4 mb-2" }, (0, readModule_1.renderEachRowDataBasedOnDataType)(selectedKey, eachValue, props.bareSettings, true, (_b = props.organise) === null || _b === void 0 ? void 0 : _b.disableEllipsisOnLongWord))));
4279
4325
  }
4280
4326
  else {
4281
- listDescArray.push(react_1.default.createElement("div", { className: "flex" },
4282
- useColumnName ? selectedModel.name : (0, utils_1.camelCaseToText)(eachKey),
4283
- " :",
4284
- " ",
4285
- (0, readModule_1.renderEachRowDataBasedOnDataType)(selectedKey, eachValue, props.bareSettings, true, (_c = props.organise) === null || _c === void 0 ? void 0 : _c.disableEllipsisOnLongWord)));
4327
+ var baseClassName = "my-1.5";
4328
+ if (type === "grid")
4329
+ baseClassName += " grid grid-cols-3 gap-x-1";
4330
+ else
4331
+ baseClassName += " flex flex-wrap items-center gap-x-1";
4332
+ var keyClassName = "flex text-gray-500 font-normal";
4333
+ if (type === "grid")
4334
+ keyClassName += " justify-between items-start";
4335
+ else
4336
+ keyClassName += " items-center";
4337
+ var valueClassName = "";
4338
+ if (type === "grid")
4339
+ valueClassName += "col-span-2";
4340
+ listDescArray.push(react_1.default.createElement("div", { className: baseClassName },
4341
+ react_1.default.createElement("div", { className: keyClassName },
4342
+ react_1.default.createElement("p", null, useColumnName
4343
+ ? selectedModel.name
4344
+ : (0, utils_1.camelCaseToText)(eachKey)),
4345
+ react_1.default.createElement("p", null, ":")),
4346
+ react_1.default.createElement("div", { className: valueClassName }, (0, readModule_1.renderEachRowDataBasedOnDataType)(selectedKey, eachValue, props.bareSettings, true, (_c = props.organise) === null || _c === void 0 ? void 0 : _c.disableEllipsisOnLongWord))));
4286
4347
  }
4287
4348
  return null;
4288
4349
  });
4350
+ if (booleanModels.length &&
4351
+ isKanban &&
4352
+ isListEditable &&
4353
+ !disableUpdate) {
4354
+ booleanModels.map(function (eachModel) {
4355
+ return listDescArray.push(react_1.default.createElement("div", { className: "flex space-x-1 items-center", key: "kanban-checkbox-".concat(eachModel.id) },
4356
+ react_1.default.createElement("p", null,
4357
+ eachModel.name,
4358
+ " : "),
4359
+ react_1.default.createElement("input", { type: "checkbox", checked: kanbanChecked.some(function (eachCheckedData) {
4360
+ return eachCheckedData.id === eachData.id &&
4361
+ eachCheckedData[eachModel.id] === true;
4362
+ }), onClick: function (e) { return e.stopPropagation(); }, onChange: function (e) {
4363
+ var isChecked = e.target.checked;
4364
+ setKanbanChecked(function (prev) {
4365
+ return prev.map(function (eachPrevItem) {
4366
+ var _a;
4367
+ return eachPrevItem.id === eachData.id
4368
+ ? __assign(__assign({}, eachPrevItem), (_a = {}, _a[eachModel.id] = isChecked, _a)) : eachPrevItem;
4369
+ });
4370
+ });
4371
+ handleUpdateKanbanChecked(eachData.id, eachModel.id, isChecked);
4372
+ }, className: "border-primary-500 border-2 rounded focus:ring-gray-50" })));
4373
+ });
4374
+ }
4289
4375
  var selectedTGroupData = tableData;
4290
4376
  var selectedTData = selectedTGroupData[index];
4291
4377
  var data = {
@@ -4294,15 +4380,15 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
4294
4380
  description: react_1.default.createElement("div", null, listDescArray.map(function (eachDesc) { return eachDesc; })),
4295
4381
  tags: [],
4296
4382
  };
4297
- if (type === "grid") {
4383
+ if (type === "grid" || type === "kanban") {
4298
4384
  if (kanbanGroupId)
4299
4385
  data[kanbanGroupId] = selectedTData[kanbanGroupId];
4300
- if ((_b = (_a = props.bareSettings) === null || _a === void 0 ? void 0 : _a.bareListGridComponent) === null || _b === void 0 ? void 0 : _b.call(_a, eachData)) {
4386
+ if ((_c = (_b = props.bareSettings) === null || _b === void 0 ? void 0 : _b.bareListGridComponent) === null || _c === void 0 ? void 0 : _c.call(_b, eachData)) {
4301
4387
  data[type === "grid" ? "extra" : "action"] =
4302
- (_d = (_c = props.bareSettings) === null || _c === void 0 ? void 0 : _c.bareListGridComponent) === null || _d === void 0 ? void 0 : _d.call(_c, eachData);
4388
+ (_e = (_d = props.bareSettings) === null || _d === void 0 ? void 0 : _d.bareListGridComponent) === null || _e === void 0 ? void 0 : _e.call(_d, eachData);
4303
4389
  }
4304
- if ((_f = (_e = props.bareSettings) === null || _e === void 0 ? void 0 : _e.bareListGridTags) === null || _f === void 0 ? void 0 : _f.call(_e, eachData)) {
4305
- var eachDataTags = (_h = (_g = props.bareSettings) === null || _g === void 0 ? void 0 : _g.bareListGridTags) === null || _h === void 0 ? void 0 : _h.call(_g, eachData);
4390
+ if ((_g = (_f = props.bareSettings) === null || _f === void 0 ? void 0 : _f.bareListGridTags) === null || _g === void 0 ? void 0 : _g.call(_f, eachData)) {
4391
+ var eachDataTags = (_j = (_h = props.bareSettings) === null || _h === void 0 ? void 0 : _h.bareListGridTags) === null || _j === void 0 ? void 0 : _j.call(_h, eachData);
4306
4392
  if (Array.isArray(eachDataTags)) {
4307
4393
  var gridTagList_1 = [];
4308
4394
  eachDataTags.forEach(function (eachTag) {
@@ -4315,9 +4401,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
4315
4401
  }
4316
4402
  }
4317
4403
  var eachDataGridImage = "";
4318
- var gridFallbackImg = (_k = (_j = props.bareSettings) === null || _j === void 0 ? void 0 : _j.bareListGridFallbackImg) === null || _k === void 0 ? void 0 : _k.call(_j, eachData);
4404
+ var gridFallbackImg = (_l = (_k = props.bareSettings) === null || _k === void 0 ? void 0 : _k.bareListGridFallbackImg) === null || _l === void 0 ? void 0 : _l.call(_k, eachData);
4319
4405
  if (clonedEachData[imageTag] && clonedEachData[imageTag] !== " - ") {
4320
- eachDataGridImage = (_m = (_l = clonedEachData[imageTag]) === null || _l === void 0 ? void 0 : _l.props) === null || _m === void 0 ? void 0 : _m.src;
4406
+ eachDataGridImage = (_o = (_m = clonedEachData[imageTag]) === null || _m === void 0 ? void 0 : _m.props) === null || _o === void 0 ? void 0 : _o.src;
4321
4407
  }
4322
4408
  else if (gridFallbackImg && typeof gridFallbackImg === "string") {
4323
4409
  eachDataGridImage = gridFallbackImg;
@@ -4326,7 +4412,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
4326
4412
  }
4327
4413
  else {
4328
4414
  data["img"] = clonedEachData[imageTag]
4329
- ? (_p = (_o = clonedEachData[imageTag]) === null || _o === void 0 ? void 0 : _o.props) === null || _p === void 0 ? void 0 : _p.src
4415
+ ? (_q = (_p = clonedEachData[imageTag]) === null || _p === void 0 ? void 0 : _p.props) === null || _q === void 0 ? void 0 : _q.src
4330
4416
  : "";
4331
4417
  }
4332
4418
  gridData.push(data);
@@ -4789,7 +4875,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
4789
4875
  var _a, _b;
4790
4876
  if (id)
4791
4877
  (_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.handleNavigate) === null || _b === void 0 ? void 0 : _b.call(_a, "read", id, "general");
4792
- }, height: "95vh", dayCellMinHeight: 120, lib: { moment: moment_1.default }, customPlugin: calendarSettings_1 === null || calendarSettings_1 === void 0 ? void 0 : calendarSettings_1.customPlugin, headerToolbar: calendarSettings_1 === null || calendarSettings_1 === void 0 ? void 0 : calendarSettings_1.headerToolbar, footerToolbar: calendarSettings_1 === null || calendarSettings_1 === void 0 ? void 0 : calendarSettings_1.footerToolbar, customButtons: calendarSettings_1 === null || calendarSettings_1 === void 0 ? void 0 : calendarSettings_1.customButtons, handleCalendarResize: calendarSettings_1 === null || calendarSettings_1 === void 0 ? void 0 : calendarSettings_1.handleCalendarResize }))));
4878
+ }, height: "95vh", dayCellMinHeight: 120, lib: { moment: moment_1.default }, customPlugin: calendarSettings_1 === null || calendarSettings_1 === void 0 ? void 0 : calendarSettings_1.customPlugin, headerToolbar: calendarSettings_1 === null || calendarSettings_1 === void 0 ? void 0 : calendarSettings_1.headerToolbar, footerToolbar: calendarSettings_1 === null || calendarSettings_1 === void 0 ? void 0 : calendarSettings_1.footerToolbar, customButtons: calendarSettings_1 === null || calendarSettings_1 === void 0 ? void 0 : calendarSettings_1.customButtons, customHeaderFn: (calendarSettings_1 === null || calendarSettings_1 === void 0 ? void 0 : calendarSettings_1.customHeader)
4879
+ ? function () { return calendarSettings_1.customHeader || ""; }
4880
+ : undefined, handleCalendarResize: calendarSettings_1 === null || calendarSettings_1 === void 0 ? void 0 : calendarSettings_1.handleCalendarResize }))));
4793
4881
  }
4794
4882
  else if (selectedTabData.viewType === "feeds") {
4795
4883
  var contentList_1 = [];
@@ -4957,7 +5045,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
4957
5045
  }
4958
5046
  return null;
4959
5047
  });
4960
- var kanbanData = renderGridAndListData("", "grid", kanbanTitle_2, kanbanSettings === null || kanbanSettings === void 0 ? void 0 : kanbanSettings.useColumnName);
5048
+ var kanbanData = renderGridAndListData("", "kanban", kanbanTitle_2, kanbanSettings === null || kanbanSettings === void 0 ? void 0 : kanbanSettings.useColumnName);
4961
5049
  return (react_1.default.createElement(kanban_1.Kanban, { className: "inline-flex", data: kanbanData, loading: tableLoading, groupBy: groupBy_1, groupId: kanbanTitle_2 !== null && kanbanTitle_2 !== void 0 ? kanbanTitle_2 : "", groupLabel: groupLabel_1.length > 0 ? groupLabel_1 : undefined, nullColumn: nullColumn_1, alertMessage: kanbanData.length === limit
4962
5050
  ? "Data has exceeded limit, please apply filters"
4963
5051
  : "", draggable: true, droppable: kanbanDroppable, onUpdateData: function (data) { return __awaiter(void 0, void 0, void 0, function () {