blixify-ui-web 1.2.53 → 1.2.55

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 (60) hide show
  1. package/lib/components/advanced/collapse/index.d.ts +1 -0
  2. package/lib/components/advanced/collapse/index.d.ts.map +1 -1
  3. package/lib/components/advanced/collapse/index.js +16 -5
  4. package/lib/components/advanced/collapse/index.js.map +1 -1
  5. package/lib/components/data/dataTemplate/dataStateModel.d.ts +1 -0
  6. package/lib/components/data/dataTemplate/dataStateModel.d.ts.map +1 -1
  7. package/lib/components/data/dataTemplate/dataStateModel.js.map +1 -1
  8. package/lib/components/data/dataTemplate/index.d.ts.map +1 -1
  9. package/lib/components/data/dataTemplate/index.js +362 -223
  10. package/lib/components/data/dataTemplate/index.js.map +1 -1
  11. package/lib/components/data/dataTemplate/model.d.ts +8 -0
  12. package/lib/components/data/dataTemplate/model.d.ts.map +1 -1
  13. package/lib/components/data/dataTemplate/viewStatePersistence.d.ts +50 -0
  14. package/lib/components/data/dataTemplate/viewStatePersistence.d.ts.map +1 -0
  15. package/lib/components/data/dataTemplate/viewStatePersistence.js +90 -0
  16. package/lib/components/data/dataTemplate/viewStatePersistence.js.map +1 -0
  17. package/lib/components/data/flexFilter/index.d.ts +79 -0
  18. package/lib/components/data/flexFilter/index.d.ts.map +1 -0
  19. package/lib/components/data/{dataTemplate/flexFilterModule.js → flexFilter/index.js} +324 -21
  20. package/lib/components/data/flexFilter/index.js.map +1 -0
  21. package/lib/components/data/listModule.d.ts +16 -5
  22. package/lib/components/data/listModule.d.ts.map +1 -1
  23. package/lib/components/data/listModule.js +29 -107
  24. package/lib/components/data/listModule.js.map +1 -1
  25. package/lib/components/design/faq/index.d.ts +6 -1
  26. package/lib/components/design/faq/index.d.ts.map +1 -1
  27. package/lib/components/design/faq/index.js +82 -23
  28. package/lib/components/design/faq/index.js.map +1 -1
  29. package/lib/components/display/newTable/index.js +1 -1
  30. package/lib/components/display/newTable/index.js.map +1 -1
  31. package/lib/components/index.d.ts +2 -0
  32. package/lib/components/index.d.ts.map +1 -1
  33. package/lib/components/index.js +6 -3
  34. package/lib/components/index.js.map +1 -1
  35. package/lib/components/input/datePicker/index.d.ts +6 -0
  36. package/lib/components/input/datePicker/index.d.ts.map +1 -1
  37. package/lib/components/input/datePicker/index.js +139 -28
  38. package/lib/components/input/datePicker/index.js.map +1 -1
  39. package/lib/components/input/monthYearPicker/index.d.ts +2 -0
  40. package/lib/components/input/monthYearPicker/index.d.ts.map +1 -1
  41. package/lib/components/input/monthYearPicker/index.js +56 -5
  42. package/lib/components/input/monthYearPicker/index.js.map +1 -1
  43. package/lib/components/input/select/index.d.ts.map +1 -1
  44. package/lib/components/input/select/index.js +4 -5
  45. package/lib/components/input/select/index.js.map +1 -1
  46. package/lib/components/navigation/bars/index.d.ts +10 -1
  47. package/lib/components/navigation/bars/index.d.ts.map +1 -1
  48. package/lib/components/navigation/bars/index.js +40 -5
  49. package/lib/components/navigation/bars/index.js.map +1 -1
  50. package/lib/components/navigation/leftNav/index.js +2 -2
  51. package/lib/components/navigation/leftNav/index.js.map +1 -1
  52. package/lib/tail.css +1 -1
  53. package/package.json +1 -1
  54. package/lib/components/data/dataTemplate/flexFilterModel.d.ts +0 -18
  55. package/lib/components/data/dataTemplate/flexFilterModel.d.ts.map +0 -1
  56. package/lib/components/data/dataTemplate/flexFilterModel.js +0 -50
  57. package/lib/components/data/dataTemplate/flexFilterModel.js.map +0 -1
  58. package/lib/components/data/dataTemplate/flexFilterModule.d.ts +0 -53
  59. package/lib/components/data/dataTemplate/flexFilterModule.d.ts.map +0 -1
  60. package/lib/components/data/dataTemplate/flexFilterModule.js.map +0 -1
@@ -150,8 +150,8 @@ var socket_1 = require("./socket");
150
150
  var pagination_1 = require("./pagination");
151
151
  var referenceModal_1 = require("./referenceModal");
152
152
  var settingsModal_1 = require("./settingsModal");
153
- var flexFilterModel_1 = require("./flexFilterModel");
154
- var flexFilterModule_1 = require("./flexFilterModule");
153
+ var flexFilter_1 = require("../flexFilter");
154
+ var viewStatePersistence_1 = require("./viewStatePersistence");
155
155
  // INFO: builds the notification message for a failed write. Callers must gate on
156
156
  // `err.response` alone, never on a specific status — a catch that only handles 400 shows
157
157
  // the user nothing at all for any other status, so a write silently disappears. A 5xx is
@@ -167,7 +167,7 @@ var handleGetWriteErrorMessage = function (response) {
167
167
  return "Please contact our administrator for assistance or try your request again later. We apologize for any inconvenience";
168
168
  };
169
169
  exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
170
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41;
170
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49;
171
171
  var intialiseDefaultFilterValues = function () {
172
172
  var _a;
173
173
  var initialFilterSearch = {};
@@ -228,159 +228,195 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
228
228
  initialFilterReferenceDate: initialFilterReferenceDate,
229
229
  };
230
230
  };
231
- var _42 = intialiseDefaultFilterValues(), initialFilterSearch = _42.initialFilterSearch, initialFilterSearchParams = _42.initialFilterSearchParams, initialFilterSelection = _42.initialFilterSelection, initialFilterReference = _42.initialFilterReference, initialFilterReferenceDate = _42.initialFilterReferenceDate;
232
- var _43 = (0, react_1.useState)(false), loading = _43[0], setLoading = _43[1];
233
- var _44 = (0, react_1.useState)(), notification = _44[0], setNotification = _44[1];
231
+ var _50 = intialiseDefaultFilterValues(), initialFilterSearch = _50.initialFilterSearch, initialFilterSearchParams = _50.initialFilterSearchParams, initialFilterSelection = _50.initialFilterSelection, initialFilterReference = _50.initialFilterReference, initialFilterReferenceDate = _50.initialFilterReferenceDate;
232
+ // INFO: Persist view state hook handles storage read/write for filter/sort/column state
233
+ var _51 = (0, viewStatePersistence_1.usePersistedViewState)({
234
+ mode: (_a = props.organise) === null || _a === void 0 ? void 0 : _a.persistViewState,
235
+ collectionId: props.collectionId,
236
+ uniqueLabel: props.uniqueLabel,
237
+ type: props.type,
238
+ }), persistedState = _51.persistedState, isPersistEnabled = _51.isEnabled, handleSaveView = _51.handleSaveView;
239
+ var _52 = (0, react_1.useState)(false), loading = _52[0], setLoading = _52[1];
240
+ var _53 = (0, react_1.useState)(), notification = _53[0], setNotification = _53[1];
234
241
  //INFO : Used by List
235
- var _45 = (0, react_1.useState)(initialFilterSearch), filterSearch = _45[0], setFilterSearch = _45[1];
236
- var _46 = (0, react_1.useState)(initialFilterSearchParams), filterSearchParams = _46[0], setFilterSearchParams = _46[1];
237
- var _47 = (0, react_1.useState)(initialFilterSelection), filterSelection = _47[0], setFilterSelection = _47[1];
238
- var _48 = (0, react_1.useState)(initialFilterReference), filterReference = _48[0], setFilterReference = _48[1];
239
- var _49 = (0, react_1.useState)({}), filterReferenceSearch = _49[0], setFilterReferenceSearch = _49[1];
240
- var _50 = (0, react_1.useState)({}), filterReferenceList = _50[0], setFilterReferenceList = _50[1];
241
- var _51 = (0, react_1.useState)(initialFilterReferenceDate), filterReferenceDate = _51[0], setFilterReferenceDate = _51[1];
242
- var _52 = (0, react_1.useState)(true), tableLoading = _52[0], setTableLoading = _52[1];
243
- var _53 = (0, react_1.useState)(""), cursor = _53[0], setCursor = _53[1];
244
- var _54 = (0, react_1.useState)(""), lastCursor = _54[0], setLastCursor = _54[1];
245
- var _55 = (0, react_1.useState)([]), tableData = _55[0], setTableData = _55[1];
246
- var _56 = (0, react_1.useState)([]), spaceTableData = _56[0], setSpaceTableData = _56[1];
247
- var _57 = (0, react_1.useState)(0), size = _57[0], setSize = _57[1];
248
- var _58 = (0, react_1.useState)((_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.pageIndex) !== null && _b !== void 0 ? _b : 0), pageIndex = _58[0], setPageIndex = _58[1];
249
- var _59 = (0, react_1.useState)([]), selectedIds = _59[0], setSelectedIds = _59[1];
250
- var _60 = (0, react_1.useState)(false), selectAll = _60[0], setSelectAll = _60[1];
251
- var _61 = (0, react_1.useState)(""), deletePasscode = _61[0], setDeletePasscode = _61[1];
252
- var _62 = (0, react_1.useState)(""), deletePasscodeInput = _62[0], setDeletePasscodeInput = _62[1];
253
- var _63 = (0, react_1.useState)(""), deleteFeedId = _63[0], setDeleteFeedId = _63[1];
242
+ var _54 = (0, react_1.useState)((_b = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSearchParams) !== null && _b !== void 0 ? _b : initialFilterSearch), filterSearch = _54[0], setFilterSearch = _54[1];
243
+ var _55 = (0, react_1.useState)((_c = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSearchParams) !== null && _c !== void 0 ? _c : initialFilterSearchParams), filterSearchParams = _55[0], setFilterSearchParams = _55[1];
244
+ var _56 = (0, react_1.useState)((_d = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSelection) !== null && _d !== void 0 ? _d : initialFilterSelection), filterSelection = _56[0], setFilterSelection = _56[1];
245
+ var _57 = (0, react_1.useState)((_e = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterReference) !== null && _e !== void 0 ? _e : initialFilterReference), filterReference = _57[0], setFilterReference = _57[1];
246
+ var _58 = (0, react_1.useState)({}), filterReferenceSearch = _58[0], setFilterReferenceSearch = _58[1];
247
+ var _59 = (0, react_1.useState)({}), filterReferenceList = _59[0], setFilterReferenceList = _59[1];
248
+ var _60 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterReferenceDate)
249
+ ? (0, viewStatePersistence_1.parseDateFilterState)(persistedState.filterReferenceDate)
250
+ : initialFilterReferenceDate), filterReferenceDate = _60[0], setFilterReferenceDate = _60[1];
251
+ var _61 = (0, react_1.useState)(true), tableLoading = _61[0], setTableLoading = _61[1];
252
+ var _62 = (0, react_1.useState)(""), cursor = _62[0], setCursor = _62[1];
253
+ var _63 = (0, react_1.useState)(""), lastCursor = _63[0], setLastCursor = _63[1];
254
+ var _64 = (0, react_1.useState)([]), tableData = _64[0], setTableData = _64[1];
255
+ var _65 = (0, react_1.useState)([]), spaceTableData = _65[0], setSpaceTableData = _65[1];
256
+ var _66 = (0, react_1.useState)(0), size = _66[0], setSize = _66[1];
257
+ var _67 = (0, react_1.useState)((_h = (_f = persistedState === null || persistedState === void 0 ? void 0 : persistedState.pageIndex) !== null && _f !== void 0 ? _f : (_g = props.organise) === null || _g === void 0 ? void 0 : _g.pageIndex) !== null && _h !== void 0 ? _h : 0), pageIndex = _67[0], setPageIndex = _67[1];
258
+ var _68 = (0, react_1.useState)([]), selectedIds = _68[0], setSelectedIds = _68[1];
259
+ var _69 = (0, react_1.useState)(false), selectAll = _69[0], setSelectAll = _69[1];
260
+ var _70 = (0, react_1.useState)(""), deletePasscode = _70[0], setDeletePasscode = _70[1];
261
+ var _71 = (0, react_1.useState)(""), deletePasscodeInput = _71[0], setDeletePasscodeInput = _71[1];
262
+ var _72 = (0, react_1.useState)(""), deleteFeedId = _72[0], setDeleteFeedId = _72[1];
254
263
  //INFO : Used by List Organise
255
- var _64 = (0, react_1.useState)(false), sortModal = _64[0], setSortModal = _64[1];
256
- var _65 = (0, react_1.useState)(false), filterModal = _65[0], setFilterModal = _65[1];
257
- var _66 = (0, react_1.useState)(false), filterDraft = _66[0], setFilterDraft = _66[1];
258
- var _67 = (0, react_1.useState)(false), addTabModal = _67[0], setAddTabModal = _67[1];
259
- var _68 = (0, react_1.useState)(false), overviewModal = _68[0], setOverviewModal = _68[1];
264
+ var _73 = (0, react_1.useState)(false), sortModal = _73[0], setSortModal = _73[1];
265
+ var _74 = (0, react_1.useState)(false), filterModal = _74[0], setFilterModal = _74[1];
266
+ // INFO: Internal sort state that overrides props.organise?.sort when
267
+ // persistViewState is enabled and a persisted sort exists
268
+ var _75 = (0, react_1.useState)((_j = persistedState === null || persistedState === void 0 ? void 0 : persistedState.sort) !== null && _j !== void 0 ? _j : undefined), persistedSort = _75[0], setPersistedSort = _75[1];
269
+ var _76 = (0, react_1.useState)(false), filterDraft = _76[0], setFilterDraft = _76[1];
270
+ var _77 = (0, react_1.useState)(false), addTabModal = _77[0], setAddTabModal = _77[1];
271
+ var _78 = (0, react_1.useState)(false), overviewModal = _78[0], setOverviewModal = _78[1];
260
272
  //INFO : resolve the initial tab synchronously so the mount cond is already
261
273
  // tab-scoped — an empty initial tab caused a second wasted list fetch
262
- var _69 = (0, react_1.useState)(function () {
274
+ var _79 = (0, react_1.useState)(function () {
263
275
  var _a, _b;
264
276
  return (0, listModule_1.renderSelectedRefreshTab)(props.localURLEndpoint, props.type, props.collectionId, props.id, (_a = props.organise) === null || _a === void 0 ? void 0 : _a.extendedTabs, (_b = props.organise) === null || _b === void 0 ? void 0 : _b.viewId);
265
- }), selectedTab = _69[0], setSelectedTab = _69[1];
266
- var _70 = (0, react_1.useState)("dayGridMonth"), calendarView = _70[0], setCalendarView = _70[1];
277
+ }), selectedTab = _79[0], setSelectedTab = _79[1];
278
+ var _80 = (0, react_1.useState)("dayGridMonth"), calendarView = _80[0], setCalendarView = _80[1];
267
279
  // INFO: bareNewDTW calendar viewSwitch mode — drives the NewCalendar variant
268
280
  // (calendarView above drives the matching range query)
269
- var _71 = (0, react_1.useState)("month"), newCalendarViewMode = _71[0], setNewCalendarViewMode = _71[1];
270
- var _72 = (0, react_1.useState)(new Date()), calendarTabMonth = _72[0], setCalendarTabMonth = _72[1];
271
- var _73 = (0, react_1.useState)(true), kanbanDroppable = _73[0], setKanbanDroppable = _73[1];
272
- var _74 = (0, react_1.useState)([]), kanbanOptions = _74[0], setKanbanOptions = _74[1];
273
- var _75 = (0, react_1.useState)(false), queryForm = _75[0], setQueryForm = _75[1];
274
- var _76 = (0, react_1.useState)(false), batchUpdateModal = _76[0], setBatchUpdateModal = _76[1];
275
- var _77 = (0, react_1.useState)({
281
+ var _81 = (0, react_1.useState)("month"), newCalendarViewMode = _81[0], setNewCalendarViewMode = _81[1];
282
+ var _82 = (0, react_1.useState)(new Date()), calendarTabMonth = _82[0], setCalendarTabMonth = _82[1];
283
+ var _83 = (0, react_1.useState)(true), kanbanDroppable = _83[0], setKanbanDroppable = _83[1];
284
+ var _84 = (0, react_1.useState)([]), kanbanOptions = _84[0], setKanbanOptions = _84[1];
285
+ var _85 = (0, react_1.useState)(false), queryForm = _85[0], setQueryForm = _85[1];
286
+ var _86 = (0, react_1.useState)(false), batchUpdateModal = _86[0], setBatchUpdateModal = _86[1];
287
+ var _87 = (0, react_1.useState)({
276
288
  columnId: "",
277
289
  columnData: {},
278
- }), batchUpdateData = _77[0], setBatchUpdateData = _77[1];
279
- var _78 = (0, react_1.useState)((props === null || props === void 0 ? void 0 : props.model) || []), structure = _78[0], setStructure = _78[1];
280
- var _79 = (0, react_1.useState)(((_c = props === null || props === void 0 ? void 0 : props.organise) === null || _c === void 0 ? void 0 : _c.additionalQuery) || []), additionalQuery = _79[0], setAdditionalQuery = _79[1];
290
+ }), batchUpdateData = _87[0], setBatchUpdateData = _87[1];
291
+ var _88 = (0, react_1.useState)(function () {
292
+ var baseModel = (props === null || props === void 0 ? void 0 : props.model) || [];
293
+ if (!persistedState)
294
+ return baseModel;
295
+ // INFO: Apply persisted column visibility (hiddenColumnIds) and order (columnOrder)
296
+ var model = baseModel.map(function (col) {
297
+ var _a, _b;
298
+ return (__assign(__assign({}, col), { hide: ((_a = persistedState.hiddenColumnIds) === null || _a === void 0 ? void 0 : _a.includes(col.id))
299
+ ? true
300
+ : ((_b = col.hide) !== null && _b !== void 0 ? _b : false) }));
301
+ });
302
+ if (persistedState.columnOrder && persistedState.columnOrder.length > 0) {
303
+ // INFO: Filter out stale IDs that no longer exist in the model
304
+ var modelIds_1 = new Set(model.map(function (col) { return col.id; }));
305
+ var validOrder = persistedState.columnOrder.filter(function (id) {
306
+ return modelIds_1.has(id);
307
+ });
308
+ var orderMap_1 = new Map(validOrder.map(function (id, idx) { return [id, idx]; }));
309
+ model = __spreadArray([], model, true).sort(function (a, b) {
310
+ var _a, _b;
311
+ var aIdx = (_a = orderMap_1.get(a.id)) !== null && _a !== void 0 ? _a : Infinity;
312
+ var bIdx = (_b = orderMap_1.get(b.id)) !== null && _b !== void 0 ? _b : Infinity;
313
+ return aIdx - bIdx;
314
+ });
315
+ }
316
+ return model;
317
+ }), structure = _88[0], setStructure = _88[1];
318
+ var _89 = (0, react_1.useState)(((_k = props === null || props === void 0 ? void 0 : props.organise) === null || _k === void 0 ? void 0 : _k.additionalQuery) || []), additionalQuery = _89[0], setAdditionalQuery = _89[1];
281
319
  // INFO: State for user-configurable flex filters (Monday.com-style)
282
320
  // INFO: Initialize with one empty row so users see inputs immediately without clicking "Add Filter"
283
- var _80 = (0, react_1.useState)([
321
+ var defaultFlexFilterRow = [
284
322
  {
285
323
  id: "flex-filter-init-row",
286
324
  columnId: "",
287
325
  operator: "=",
288
326
  value: undefined,
289
327
  },
290
- ]), flexFilters = _80[0], setFlexFilters = _80[1];
328
+ ];
329
+ var _90 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.flexFilters) && persistedState.flexFilters.length > 0
330
+ ? persistedState.flexFilters
331
+ : defaultFlexFilterRow), flexFilters = _90[0], setFlexFilters = _90[1];
291
332
  // INFO: Debounced version of flexFilters used by renderImpSearchFilterConditions
292
333
  // to prevent API calls on every keystroke when typing in value inputs
293
- var _81 = (0, react_1.useState)([
294
- {
295
- id: "flex-filter-init-row",
296
- columnId: "",
297
- operator: "=",
298
- value: undefined,
299
- },
300
- ]), flexFiltersDebounced = _81[0], setFlexFiltersDebounced = _81[1];
301
- var _82 = (0, react_1.useState)({}), flexFilterReferenceOptions = _82[0], setFlexFilterReferenceOptions = _82[1];
302
- var _83 = (0, react_1.useState)({}), flexFilterReferenceSearch = _83[0], setFlexFilterReferenceSearch = _83[1];
303
- var _84 = (0, react_1.useState)(false), flexFilterModalOpen = _84[0], setFlexFilterModalOpen = _84[1];
334
+ var _91 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.flexFilters) && persistedState.flexFilters.length > 0
335
+ ? persistedState.flexFilters
336
+ : defaultFlexFilterRow), flexFiltersDebounced = _91[0], setFlexFiltersDebounced = _91[1];
337
+ var _92 = (0, react_1.useState)({}), flexFilterReferenceOptions = _92[0], setFlexFilterReferenceOptions = _92[1];
338
+ var _93 = (0, react_1.useState)({}), flexFilterReferenceSearch = _93[0], setFlexFilterReferenceSearch = _93[1];
339
+ var _94 = (0, react_1.useState)(false), flexFilterModalOpen = _94[0], setFlexFilterModalOpen = _94[1];
304
340
  //INFO : Used by Auth
305
- var _85 = (0, react_1.useState)({
341
+ var _95 = (0, react_1.useState)({
306
342
  email: "",
307
343
  google: "",
308
344
  phone: "",
309
345
  disabled: false,
310
346
  create: false,
311
- }), authMethods = _85[0], setAuthMethods = _85[1];
312
- var _86 = (0, react_1.useState)(""), selectedAuthMethod = _86[0], setSelectedAuthMethod = _86[1];
347
+ }), authMethods = _95[0], setAuthMethods = _95[1];
348
+ var _96 = (0, react_1.useState)(""), selectedAuthMethod = _96[0], setSelectedAuthMethod = _96[1];
313
349
  // INFO: Used by Activity Log
314
- var _87 = (0, react_1.useState)(false), activityModal = _87[0], setActivityModal = _87[1];
315
- var _88 = (0, react_1.useState)(""), activityId = _88[0], setActivityId = _88[1];
350
+ var _97 = (0, react_1.useState)(false), activityModal = _97[0], setActivityModal = _97[1];
351
+ var _98 = (0, react_1.useState)(""), activityId = _98[0], setActivityId = _98[1];
316
352
  //INFO : Used by Export
317
- var _89 = (0, react_1.useState)(null), csvFile = _89[0], setCSVFile = _89[1];
318
- var _90 = (0, react_1.useState)([]), csvFileData = _90[0], setCSVFileData = _90[1];
319
- var _91 = (0, react_1.useState)(0), stepCSVIndex = _91[0], setStepCSVIndex = _91[1];
320
- var _92 = (0, react_1.useState)({}), listCSVMapAttribute = _92[0], setListCSVMapAttribute = _92[1];
321
- var _93 = (0, react_1.useState)({}), listCSVObjAttribute = _93[0], setListCSVObjAttribute = _93[1];
322
- var _94 = (0, react_1.useState)([]), csvAPIAttribute = _94[0], setCSVAPIAttribute = _94[1];
323
- var _95 = (0, react_1.useState)(((_d = props.devSettings.currentUser) === null || _d === void 0 ? void 0 : _d.userEmail) || ""), exportCSVEmail = _95[0], setExportCSVEmail = _95[1];
324
- var _96 = (0, react_1.useState)(((_f = (_e = props.organise) === null || _e === void 0 ? void 0 : _e.exportSettings) === null || _f === void 0 ? void 0 : _f.defaultExportPDFName) || ""), exportPDFTitle = _96[0], setExportPDFTitle = _96[1];
325
- var _97 = (0, react_1.useState)(false), exportPDFLoading = _97[0], setExportPDFLoading = _97[1];
326
- var _98 = (0, react_1.useState)(false), exportReadPDFLoading = _98[0], setExportReadPDFLoading = _98[1];
327
- var _99 = (0, react_1.useState)((_j = (_h = (_g = props.organise) === null || _g === void 0 ? void 0 : _g.exportSettings) === null || _h === void 0 ? void 0 : _h.sumColumnId) !== null && _j !== void 0 ? _j : []), exportSumAttributeIds = _99[0], setExportSumAttributeIds = _99[1];
328
- var _100 = (0, react_1.useState)((_m = (_l = (_k = props.organise) === null || _k === void 0 ? void 0 : _k.exportSettings) === null || _l === void 0 ? void 0 : _l.hideSubItems) !== null && _m !== void 0 ? _m : false), hideSubItems = _100[0], setHideSubItems = _100[1];
329
- var _101 = (0, react_1.useState)([]), importTableData = _101[0], setImportTableData = _101[1];
330
- var _102 = (0, react_1.useState)([]), queryList = _102[0], setQueryList = _102[1];
331
- var _103 = (0, react_1.useState)(undefined), allQueryList = _103[0], setAllQueryList = _103[1];
332
- var _104 = (0, react_1.useState)(-1), queryIndex = _104[0], setQueryIndex = _104[1];
333
- var _105 = (0, react_1.useState)((_o = props.organise) === null || _o === void 0 ? void 0 : _o.groupBy), groupId = _105[0], setGroupId = _105[1];
334
- var _106 = (0, react_1.useState)(""), readTabSection = _106[0], setReadTabSection = _106[1];
335
- var _107 = (0, react_1.useState)(false), readFloatingNav = _107[0], setReadFloatingNav = _107[1];
353
+ var _99 = (0, react_1.useState)(null), csvFile = _99[0], setCSVFile = _99[1];
354
+ var _100 = (0, react_1.useState)([]), csvFileData = _100[0], setCSVFileData = _100[1];
355
+ var _101 = (0, react_1.useState)(0), stepCSVIndex = _101[0], setStepCSVIndex = _101[1];
356
+ var _102 = (0, react_1.useState)({}), listCSVMapAttribute = _102[0], setListCSVMapAttribute = _102[1];
357
+ var _103 = (0, react_1.useState)({}), listCSVObjAttribute = _103[0], setListCSVObjAttribute = _103[1];
358
+ var _104 = (0, react_1.useState)([]), csvAPIAttribute = _104[0], setCSVAPIAttribute = _104[1];
359
+ var _105 = (0, react_1.useState)(((_l = props.devSettings.currentUser) === null || _l === void 0 ? void 0 : _l.userEmail) || ""), exportCSVEmail = _105[0], setExportCSVEmail = _105[1];
360
+ var _106 = (0, react_1.useState)(((_o = (_m = props.organise) === null || _m === void 0 ? void 0 : _m.exportSettings) === null || _o === void 0 ? void 0 : _o.defaultExportPDFName) || ""), exportPDFTitle = _106[0], setExportPDFTitle = _106[1];
361
+ var _107 = (0, react_1.useState)(false), exportPDFLoading = _107[0], setExportPDFLoading = _107[1];
362
+ var _108 = (0, react_1.useState)(false), exportReadPDFLoading = _108[0], setExportReadPDFLoading = _108[1];
363
+ var _109 = (0, react_1.useState)((_r = (_q = (_p = props.organise) === null || _p === void 0 ? void 0 : _p.exportSettings) === null || _q === void 0 ? void 0 : _q.sumColumnId) !== null && _r !== void 0 ? _r : []), exportSumAttributeIds = _109[0], setExportSumAttributeIds = _109[1];
364
+ var _110 = (0, react_1.useState)((_u = (_t = (_s = props.organise) === null || _s === void 0 ? void 0 : _s.exportSettings) === null || _t === void 0 ? void 0 : _t.hideSubItems) !== null && _u !== void 0 ? _u : false), hideSubItems = _110[0], setHideSubItems = _110[1];
365
+ var _111 = (0, react_1.useState)([]), importTableData = _111[0], setImportTableData = _111[1];
366
+ var _112 = (0, react_1.useState)([]), queryList = _112[0], setQueryList = _112[1];
367
+ var _113 = (0, react_1.useState)(undefined), allQueryList = _113[0], setAllQueryList = _113[1];
368
+ var _114 = (0, react_1.useState)(-1), queryIndex = _114[0], setQueryIndex = _114[1];
369
+ var _115 = (0, react_1.useState)((_v = props.organise) === null || _v === void 0 ? void 0 : _v.groupBy), groupId = _115[0], setGroupId = _115[1];
370
+ var _116 = (0, react_1.useState)(""), readTabSection = _116[0], setReadTabSection = _116[1];
371
+ var _117 = (0, react_1.useState)(false), readFloatingNav = _117[0], setReadFloatingNav = _117[1];
336
372
  var readTabSectionRefs = (0, react_1.useRef)({});
337
373
  //INFO : Used by Read
338
374
  //INFO : Used by Update
339
- var _108 = (0, react_1.useState)(false), modalVisible = _108[0], setModalVisible = _108[1];
340
- var _109 = (0, react_1.useState)(false), deleteModal = _109[0], setDeleteModal = _109[1];
341
- var _110 = (0, react_1.useState)(false), excelModal = _110[0], setExcelModal = _110[1];
342
- var _111 = (0, react_1.useState)(false), exportExcel = _111[0], setExportExcel = _111[1];
343
- var _112 = (0, react_1.useState)(""), exportType = _112[0], setExportType = _112[1];
344
- var _113 = (0, react_1.useState)(false), exportQR = _113[0], setExportQR = _113[1];
345
- var _114 = (0, react_1.useState)(function () {
375
+ var _118 = (0, react_1.useState)(false), modalVisible = _118[0], setModalVisible = _118[1];
376
+ var _119 = (0, react_1.useState)(false), deleteModal = _119[0], setDeleteModal = _119[1];
377
+ var _120 = (0, react_1.useState)(false), excelModal = _120[0], setExcelModal = _120[1];
378
+ var _121 = (0, react_1.useState)(false), exportExcel = _121[0], setExportExcel = _121[1];
379
+ var _122 = (0, react_1.useState)(""), exportType = _122[0], setExportType = _122[1];
380
+ var _123 = (0, react_1.useState)(false), exportQR = _123[0], setExportQR = _123[1];
381
+ var _124 = (0, react_1.useState)(function () {
346
382
  var _a, _b;
347
383
  var firstTabId = (_b = (_a = structure.find(function (item) { return item.tabId; })) === null || _a === void 0 ? void 0 : _a.tabId) !== null && _b !== void 0 ? _b : "";
348
384
  return firstTabId;
349
- }), activeTab = _114[0], setActiveTab = _114[1];
350
- var _115 = (0, react_1.useState)(false), signatureSigning = _115[0], setSignatureSigning = _115[1];
351
- var _116 = (0, react_1.useState)({}), selectedData = _116[0], setSelectedData = _116[1];
352
- var _117 = (0, react_1.useState)(""), selectedObjectStructureId = _117[0], setSelectedObjectStructureId = _117[1];
353
- var _118 = (0, react_1.useState)(""), selectedObjectId = _118[0], setSelectedObjectId = _118[1];
354
- var _119 = (0, react_1.useState)(""), selectedListAddressId = _119[0], setSelectedListAddressId = _119[1];
355
- var _120 = (0, react_1.useState)(-1), selectedListAddressIndex = _120[0], setSelectedListAddressIndex = _120[1];
356
- var _121 = (0, react_1.useState)({
385
+ }), activeTab = _124[0], setActiveTab = _124[1];
386
+ var _125 = (0, react_1.useState)(false), signatureSigning = _125[0], setSignatureSigning = _125[1];
387
+ var _126 = (0, react_1.useState)({}), selectedData = _126[0], setSelectedData = _126[1];
388
+ var _127 = (0, react_1.useState)(""), selectedObjectStructureId = _127[0], setSelectedObjectStructureId = _127[1];
389
+ var _128 = (0, react_1.useState)(""), selectedObjectId = _128[0], setSelectedObjectId = _128[1];
390
+ var _129 = (0, react_1.useState)(""), selectedListAddressId = _129[0], setSelectedListAddressId = _129[1];
391
+ var _130 = (0, react_1.useState)(-1), selectedListAddressIndex = _130[0], setSelectedListAddressIndex = _130[1];
392
+ var _131 = (0, react_1.useState)({
357
393
  lat: 0,
358
394
  lng: 0,
359
395
  name: "",
360
- }), selectedListAddress = _121[0], setSelectedListAddress = _121[1];
361
- var _122 = (0, react_1.useState)({}), selectedObjectData = _122[0], setSelectedObjectData = _122[1];
362
- var _123 = (0, react_1.useState)(false), referenceLoading = _123[0], setReferenceLoading = _123[1];
363
- var _124 = (0, react_1.useState)({}), referencesOptions = _124[0], setReferencesOptions = _124[1];
364
- var _125 = (0, react_1.useState)({}), referencesDetails = _125[0], setReferencesDetails = _125[1];
365
- var _126 = (0, react_1.useState)({}), referenceDeleteTableData = _126[0], setReferenceDeleteTableData = _126[1];
366
- var _127 = (0, react_1.useState)(0), referenceDeleteIndex = _127[0], setReferenceDeleteIndex = _127[1];
367
- var _128 = (0, react_1.useState)({
396
+ }), selectedListAddress = _131[0], setSelectedListAddress = _131[1];
397
+ var _132 = (0, react_1.useState)({}), selectedObjectData = _132[0], setSelectedObjectData = _132[1];
398
+ var _133 = (0, react_1.useState)(false), referenceLoading = _133[0], setReferenceLoading = _133[1];
399
+ var _134 = (0, react_1.useState)({}), referencesOptions = _134[0], setReferencesOptions = _134[1];
400
+ var _135 = (0, react_1.useState)({}), referencesDetails = _135[0], setReferencesDetails = _135[1];
401
+ var _136 = (0, react_1.useState)({}), referenceDeleteTableData = _136[0], setReferenceDeleteTableData = _136[1];
402
+ var _137 = (0, react_1.useState)(0), referenceDeleteIndex = _137[0], setReferenceDeleteIndex = _137[1];
403
+ var _138 = (0, react_1.useState)({
368
404
  id: "",
369
405
  name: "",
370
406
  type: "string",
371
- }), referenceCreationModal = _128[0], setReferenceCreationModal = _128[1];
372
- var _129 = (0, react_1.useState)({}), referenceModelSchema = _129[0], setReferenceSchema = _129[1];
373
- var _130 = (0, react_1.useState)([]), kanbanChecked = _130[0], setKanbanChecked = _130[1];
407
+ }), referenceCreationModal = _138[0], setReferenceCreationModal = _138[1];
408
+ var _139 = (0, react_1.useState)({}), referenceModelSchema = _139[0], setReferenceSchema = _139[1];
409
+ var _140 = (0, react_1.useState)([]), kanbanChecked = _140[0], setKanbanChecked = _140[1];
374
410
  //INFO : Offline
375
- var _131 = (0, react_1.useState)(0), offlineDataLength = _131[0], setOfflineDataLength = _131[1];
376
- var _132 = (0, react_1.useState)(false), offlineModal = _132[0], setOfflineModal = _132[1];
411
+ var _141 = (0, react_1.useState)(0), offlineDataLength = _141[0], setOfflineDataLength = _141[1];
412
+ var _142 = (0, react_1.useState)(false), offlineModal = _142[0], setOfflineModal = _142[1];
377
413
  // INFO: live-stream state — driven by socket connection and navigator.onLine
378
- var _133 = (0, react_1.useState)(false), isLive = _133[0], setIsLive = _133[1];
379
- var _134 = (0, react_1.useState)(false), isLiveOffline = _134[0], setIsLiveOffline = _134[1];
414
+ var _143 = (0, react_1.useState)(false), isLive = _143[0], setIsLive = _143[1];
415
+ var _144 = (0, react_1.useState)(false), isLiveOffline = _144[0], setIsLiveOffline = _144[1];
380
416
  // INFO: true when navigator is offline — used to switch ReadQueryHoc between
381
417
  // server reads (online, full pagination) and IndexedDB reads (offline, cached data).
382
418
  // Independent of SSE status so it works even when bareSocketName is not set.
383
- var _135 = (0, react_1.useState)(typeof navigator !== "undefined" ? !navigator.onLine : false), isNetworkOffline = _135[0], setIsNetworkOffline = _135[1];
419
+ var _145 = (0, react_1.useState)(typeof navigator !== "undefined" ? !navigator.onLine : false), isNetworkOffline = _145[0], setIsNetworkOffline = _145[1];
384
420
  var previousType = (0, react_1.useRef)(null);
385
421
  var previousSelectedData = (0, react_1.useRef)(null);
386
422
  var scrollSentinelRef = (0, react_1.useRef)(null);
@@ -414,6 +450,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
414
450
  // socket merges, prefills). When true, the next changedAttributeIds from the useEffect should NOT
415
451
  // be added to dirtyFields because the change was programmatic, not user-driven.
416
452
  var programmaticUpdateRef = (0, react_1.useRef)(false);
453
+ // INFO: tracks whether the initial mount has completed — used to skip
454
+ // overwriting persisted structure with props.model on the first render
455
+ var persistedViewMountedRef = (0, react_1.useRef)(false);
417
456
  var formRef = (0, react_1.createRef)();
418
457
  var objectFormRef = (0, react_1.createRef)();
419
458
  var listAddressFromRef = (0, react_1.createRef)();
@@ -453,40 +492,47 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
453
492
  var isSubmittingRef = (0, react_1.useRef)(false);
454
493
  var devSettings = props.devSettings;
455
494
  var serverId = (0, utils_1.parseServerId)(devSettings.server);
456
- var viewType = (_q = (_p = props.organise) === null || _p === void 0 ? void 0 : _p.viewId) !== null && _q !== void 0 ? _q : "general";
495
+ var viewType = (_x = (_w = props.organise) === null || _w === void 0 ? void 0 : _w.viewId) !== null && _x !== void 0 ? _x : "general";
457
496
  var isFirebaseClient = devSettings.server === "firebase";
458
497
  var isFirebase = isFirebaseClient || devSettings.server === "fbServer";
459
- var dbModule = isFirebaseClient ? (_r = props.lib) === null || _r === void 0 ? void 0 : _r.firebase : (_s = props.lib) === null || _s === void 0 ? void 0 : _s.axios;
498
+ var dbModule = isFirebaseClient ? (_y = props.lib) === null || _y === void 0 ? void 0 : _y.firebase : (_z = props.lib) === null || _z === void 0 ? void 0 : _z.axios;
460
499
  var schemaPresent = props.devSettings.schemaEndpoint ? true : false;
461
500
  var limit = props.limit ? props.limit : 10;
462
- var isEditor = ((_t = props.edit) === null || _t === void 0 ? void 0 : _t.allEditable) ? true : false;
463
- var isOffline = (_u = props.bareSettings) === null || _u === void 0 ? void 0 : _u.bareOffline;
501
+ var activeSortId = (isPersistEnabled && persistedSort) || ((_0 = props.organise) === null || _0 === void 0 ? void 0 : _0.sort);
502
+ var handleSortColumn = function (value) {
503
+ var _a, _b;
504
+ if (isPersistEnabled)
505
+ setPersistedSort(value);
506
+ (_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.onChangeSort) === null || _b === void 0 ? void 0 : _b.call(_a, value);
507
+ };
508
+ var isEditor = ((_1 = props.edit) === null || _1 === void 0 ? void 0 : _1.allEditable) ? true : false;
509
+ var isOffline = (_2 = props.bareSettings) === null || _2 === void 0 ? void 0 : _2.bareOffline;
464
510
  // INFO: when bareOfflineNetworkAware is true, the save path is also gated on
465
511
  // the live network state — online saves go to the server even if bareOffline
466
512
  // is true, offline saves go to IDB as normal.
467
- var isOfflineNetworkListener = isOffline && ((_v = props.bareSettings) === null || _v === void 0 ? void 0 : _v.bareOfflineNetworkListener);
468
- var showId = (_w = props.space) === null || _w === void 0 ? void 0 : _w.showId;
513
+ var isOfflineNetworkListener = isOffline && ((_3 = props.bareSettings) === null || _3 === void 0 ? void 0 : _3.bareOfflineNetworkListener);
514
+ var showId = (_4 = props.space) === null || _4 === void 0 ? void 0 : _4.showId;
469
515
  var remainId = showId || selectedObjectStructureId ? true : false;
470
- var idField = ((_x = props.space) === null || _x === void 0 ? void 0 : _x.idField) || ((_y = props.organise) === null || _y === void 0 ? void 0 : _y.idField);
471
- var pipeline = (_z = props === null || props === void 0 ? void 0 : props.space) === null || _z === void 0 ? void 0 : _z.pipeline;
472
- if ((_0 = props.bareSettings) === null || _0 === void 0 ? void 0 : _0.bareListPipeline) {
516
+ var idField = ((_5 = props.space) === null || _5 === void 0 ? void 0 : _5.idField) || ((_6 = props.organise) === null || _6 === void 0 ? void 0 : _6.idField);
517
+ var pipeline = (_7 = props === null || props === void 0 ? void 0 : props.space) === null || _7 === void 0 ? void 0 : _7.pipeline;
518
+ if ((_8 = props.bareSettings) === null || _8 === void 0 ? void 0 : _8.bareListPipeline) {
473
519
  pipeline = pipeline
474
520
  ? __spreadArray(__spreadArray([], pipeline, true), props.bareSettings.bareListPipeline, true) : props.bareSettings.bareListPipeline;
475
521
  }
476
- var hasNavigation = ((_1 = props.organise) === null || _1 === void 0 ? void 0 : _1.handleNavigate) ? true : false;
522
+ var hasNavigation = ((_9 = props.organise) === null || _9 === void 0 ? void 0 : _9.handleNavigate) ? true : false;
477
523
  var formColumn = "grid-cols-12";
478
- var useMobileView = (_3 = (_2 = props.bareSettings) === null || _2 === void 0 ? void 0 : _2.bareUpdateMobileView) !== null && _3 !== void 0 ? _3 : false;
524
+ var useMobileView = (_11 = (_10 = props.bareSettings) === null || _10 === void 0 ? void 0 : _10.bareUpdateMobileView) !== null && _11 !== void 0 ? _11 : false;
479
525
  var gridGap = useMobileView ? "gap-x-6 gap-y-2 md:gap-y-6" : "gap-6";
480
- var isActivityLog = (((_5 = (_4 = props.edit) === null || _4 === void 0 ? void 0 : _4.activityLog) === null || _5 === void 0 ? void 0 : _5.enableComments) &&
481
- ((_6 = props.edit) === null || _6 === void 0 ? void 0 : _6.activityLog.commentCollectionId)) ||
482
- (((_8 = (_7 = props.edit) === null || _7 === void 0 ? void 0 : _7.activityLog) === null || _8 === void 0 ? void 0 : _8.enableLogs) &&
483
- ((_9 = props.edit) === null || _9 === void 0 ? void 0 : _9.activityLog.logsCollectionId));
484
- var customPaginationSize = ((_10 = props.organise) === null || _10 === void 0 ? void 0 : _10.customPaginationCount)
526
+ var isActivityLog = (((_13 = (_12 = props.edit) === null || _12 === void 0 ? void 0 : _12.activityLog) === null || _13 === void 0 ? void 0 : _13.enableComments) &&
527
+ ((_14 = props.edit) === null || _14 === void 0 ? void 0 : _14.activityLog.commentCollectionId)) ||
528
+ (((_16 = (_15 = props.edit) === null || _15 === void 0 ? void 0 : _15.activityLog) === null || _16 === void 0 ? void 0 : _16.enableLogs) &&
529
+ ((_17 = props.edit) === null || _17 === void 0 ? void 0 : _17.activityLog.logsCollectionId));
530
+ var customPaginationSize = ((_18 = props.organise) === null || _18 === void 0 ? void 0 : _18.customPaginationCount)
485
531
  ? props.organise.customPaginationCount(size)
486
532
  : undefined;
487
533
  //TODO : Code - Pass ...devSettings, search dbEndpoint:
488
534
  var writeServerQuery = new writeQuery_1.WriteQuery({
489
- dbModule: (_11 = props.lib) === null || _11 === void 0 ? void 0 : _11.axios,
535
+ dbModule: (_19 = props.lib) === null || _19 === void 0 ? void 0 : _19.axios,
490
536
  dbType: devSettings.server,
491
537
  dbCollection: props.collectionId,
492
538
  dbEndpoint: devSettings.dbEndpoint,
@@ -494,7 +540,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
494
540
  dbUserToken: devSettings.dbUserToken,
495
541
  });
496
542
  var readServerQuery = new readQuery_1.ReadQuery({
497
- dbModule: (_12 = props.lib) === null || _12 === void 0 ? void 0 : _12.axios,
543
+ dbModule: (_20 = props.lib) === null || _20 === void 0 ? void 0 : _20.axios,
498
544
  dbType: devSettings.server,
499
545
  dbCollection: props.collectionId,
500
546
  dbEndpoint: devSettings.dbEndpoint,
@@ -502,9 +548,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
502
548
  dbUserToken: devSettings.dbUserToken,
503
549
  });
504
550
  var moreButtonPopUp = [
505
- ((_13 = props.edit) === null || _13 === void 0 ? void 0 : _13.allEditable) &&
551
+ ((_21 = props.edit) === null || _21 === void 0 ? void 0 : _21.allEditable) &&
506
552
  !isFirebase &&
507
- !((_15 = (_14 = props.organise) === null || _14 === void 0 ? void 0 : _14.exportSettings) === null || _15 === void 0 ? void 0 : _15.hideImportCSV)
553
+ !((_23 = (_22 = props.organise) === null || _22 === void 0 ? void 0 : _22.exportSettings) === null || _23 === void 0 ? void 0 : _23.hideImportCSV)
508
554
  ? {
509
555
  text: "Import Excel",
510
556
  onClick: function () {
@@ -513,7 +559,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
513
559
  },
514
560
  }
515
561
  : null,
516
- !((_17 = (_16 = props.organise) === null || _16 === void 0 ? void 0 : _16.exportSettings) === null || _17 === void 0 ? void 0 : _17.hideExportCSV)
562
+ !((_25 = (_24 = props.organise) === null || _24 === void 0 ? void 0 : _24.exportSettings) === null || _25 === void 0 ? void 0 : _25.hideExportCSV)
517
563
  ? {
518
564
  text: "Export CSV",
519
565
  onClick: function () {
@@ -523,7 +569,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
523
569
  },
524
570
  }
525
571
  : null,
526
- !((_19 = (_18 = props.organise) === null || _18 === void 0 ? void 0 : _18.exportSettings) === null || _19 === void 0 ? void 0 : _19.hideExportExcel)
572
+ !((_27 = (_26 = props.organise) === null || _26 === void 0 ? void 0 : _26.exportSettings) === null || _27 === void 0 ? void 0 : _27.hideExportExcel)
527
573
  ? {
528
574
  text: "Export Excel",
529
575
  onClick: function () {
@@ -533,7 +579,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
533
579
  },
534
580
  }
535
581
  : null,
536
- !((_21 = (_20 = props.organise) === null || _20 === void 0 ? void 0 : _20.exportSettings) === null || _21 === void 0 ? void 0 : _21.hideExportPDF)
582
+ !((_29 = (_28 = props.organise) === null || _28 === void 0 ? void 0 : _28.exportSettings) === null || _29 === void 0 ? void 0 : _29.hideExportPDF)
537
583
  ? {
538
584
  text: "Export PDF",
539
585
  onClick: function () {
@@ -543,7 +589,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
543
589
  },
544
590
  }
545
591
  : null,
546
- !((_23 = (_22 = props.organise) === null || _22 === void 0 ? void 0 : _22.exportSettings) === null || _23 === void 0 ? void 0 : _23.hideExportQR)
592
+ !((_31 = (_30 = props.organise) === null || _30 === void 0 ? void 0 : _30.exportSettings) === null || _31 === void 0 ? void 0 : _31.hideExportQR)
547
593
  ? {
548
594
  text: "Export QR",
549
595
  onClick: function () {
@@ -553,7 +599,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
553
599
  },
554
600
  }
555
601
  : null,
556
- !((_25 = (_24 = props.organise) === null || _24 === void 0 ? void 0 : _24.exportSettings) === null || _25 === void 0 ? void 0 : _25.hideExportQR)
602
+ !((_33 = (_32 = props.organise) === null || _32 === void 0 ? void 0 : _32.exportSettings) === null || _33 === void 0 ? void 0 : _33.hideExportQR)
557
603
  ? {
558
604
  text: "Export QR(Data)",
559
605
  onClick: function () {
@@ -563,7 +609,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
563
609
  },
564
610
  }
565
611
  : null,
566
- !((_27 = (_26 = props.organise) === null || _26 === void 0 ? void 0 : _26.exportSettings) === null || _27 === void 0 ? void 0 : _27.hideExportPrint)
612
+ !((_35 = (_34 = props.organise) === null || _34 === void 0 ? void 0 : _34.exportSettings) === null || _35 === void 0 ? void 0 : _35.hideExportPrint)
567
613
  ? {
568
614
  text: "Print",
569
615
  onClick: function () {
@@ -573,7 +619,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
573
619
  },
574
620
  }
575
621
  : null,
576
- !((_29 = (_28 = props.organise) === null || _28 === void 0 ? void 0 : _28.exportSettings) === null || _29 === void 0 ? void 0 : _29.hideExportDraft)
622
+ !((_37 = (_36 = props.organise) === null || _36 === void 0 ? void 0 : _36.exportSettings) === null || _37 === void 0 ? void 0 : _37.hideExportDraft)
577
623
  ? {
578
624
  text: filterDraft ? "Show All Items" : "Filter Draft",
579
625
  onClick: function () {
@@ -582,7 +628,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
582
628
  }
583
629
  : null,
584
630
  ].filter(Boolean);
585
- if ((_30 = props.organise) === null || _30 === void 0 ? void 0 : _30.moreSettings)
631
+ if ((_38 = props.organise) === null || _38 === void 0 ? void 0 : _38.moreSettings)
586
632
  moreButtonPopUp = moreButtonPopUp.concat(props.organise.moreSettings);
587
633
  //=====================================================================================
588
634
  //SECTION: Flex Filter Handlers
@@ -622,6 +668,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
622
668
  handleClearFlexFilterTypingTimeout();
623
669
  setFlexFilters(updatedFilters);
624
670
  setFlexFiltersDebounced(updatedFilters);
671
+ setPageIndex(0);
625
672
  };
626
673
  var handleFlexFilterClearAll = function () {
627
674
  // INFO: Reset to one empty row so the UI never shows a blank state
@@ -631,6 +678,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
631
678
  handleClearFlexFilterTypingTimeout();
632
679
  setFlexFilters(updatedFilters);
633
680
  setFlexFiltersDebounced(updatedFilters);
681
+ setPageIndex(0);
634
682
  };
635
683
  var handleFlexFilterColumnChange = function (filterId, columnId) {
636
684
  var updatedFilters = flexFilters.map(function (f) {
@@ -638,7 +686,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
638
686
  return f;
639
687
  // INFO: Reset operator and value when column changes since available operators differ per type
640
688
  var ds = structure.find(function (s) { return s.id === columnId; });
641
- var operators = ds ? flexFilterModel_1.FLEX_FILTER_OPERATOR_MAP[ds.type] : undefined;
689
+ var operators = ds ? flexFilter_1.FLEX_FILTER_OPERATOR_MAP[ds.type] : undefined;
642
690
  var defaultOperator = operators && operators.length > 0 ? operators[0] : "=";
643
691
  return __assign(__assign({}, f), { columnId: columnId, operator: defaultOperator, value: undefined });
644
692
  });
@@ -667,6 +715,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
667
715
  handleClearFlexFilterTypingTimeout();
668
716
  flexFilterTypingTimeout.current = setTimeout(function () {
669
717
  setFlexFiltersDebounced(updatedFilters);
718
+ setPageIndex(0);
670
719
  }, 500);
671
720
  };
672
721
  var handleFlexFilterReferenceOptionsLoaded = function (columnId, options) {
@@ -727,6 +776,48 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
727
776
  isLive: isLive,
728
777
  isLiveOffline: isLiveOffline,
729
778
  }); });
779
+ // INFO: Auto-save view state to storage whenever filters, sort, page index,
780
+ // or column visibility change. Active for both "persistent" and "session" modes.
781
+ var persistSaveInitialised = (0, react_1.useRef)(false);
782
+ (0, react_1.useEffect)(function () {
783
+ var _a;
784
+ if (!isPersistEnabled)
785
+ return;
786
+ // INFO: Skip the first invocation — deps have hydrated initial values from storage,
787
+ // writing them back immediately is wasteful and can trigger referential loops.
788
+ if (!persistSaveInitialised.current) {
789
+ persistSaveInitialised.current = true;
790
+ return;
791
+ }
792
+ handleSaveView({
793
+ filterSearchParams: filterSearchParams,
794
+ filterSelection: filterSelection,
795
+ filterReference: filterReference,
796
+ filterReferenceDate: (0, viewStatePersistence_1.serializeDateFilterState)(filterReferenceDate),
797
+ flexFilters: flexFiltersDebounced.some(function (eachFilter) {
798
+ return eachFilter.columnId && eachFilter.operator && eachFilter.value;
799
+ })
800
+ ? flexFiltersDebounced.filter(function (eachFilter) {
801
+ return eachFilter.columnId && eachFilter.operator && eachFilter.value;
802
+ })
803
+ : undefined,
804
+ sort: persistedSort !== null && persistedSort !== void 0 ? persistedSort : (_a = props.organise) === null || _a === void 0 ? void 0 : _a.sort,
805
+ // INFO: scroll mode always starts from page 0 on reload — persisting
806
+ // a mid-scroll pageIndex would skip rows on next hydration.
807
+ pageIndex: renderCheckScrollMode() ? 0 : pageIndex,
808
+ hiddenColumnIds: structure.filter(function (col) { return col.hide; }).map(function (col) { return col.id; }),
809
+ columnOrder: structure.map(function (col) { return col.id; }),
810
+ });
811
+ }, [
812
+ filterSearchParams,
813
+ filterSelection,
814
+ filterReference,
815
+ filterReferenceDate,
816
+ flexFiltersDebounced,
817
+ pageIndex,
818
+ structure,
819
+ persistedSort,
820
+ ]);
730
821
  (0, react_1.useEffect)(function () {
731
822
  handleCheckOfflineDataLength();
732
823
  /* eslint-disable */
@@ -738,7 +829,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
738
829
  (0, react_1.useEffect)(function () {
739
830
  handleOfflinePrefetch();
740
831
  /* eslint-disable */
741
- }, [props.collectionId, (_31 = props.bareSettings) === null || _31 === void 0 ? void 0 : _31.bareOffline]);
832
+ }, [props.collectionId, (_39 = props.bareSettings) === null || _39 === void 0 ? void 0 : _39.bareOffline]);
742
833
  /* eslint-enable */
743
834
  // INFO: MRQ polling — calls handleRefresh every N ms (e.g. 1500) as a fallback.
744
835
  // Calls through handleRefreshRef so the interval always dispatches the latest
@@ -758,7 +849,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
758
849
  }, interval);
759
850
  return function () { return clearInterval(timer); };
760
851
  /* eslint-disable */
761
- }, [(_32 = props.bareSettings) === null || _32 === void 0 ? void 0 : _32.barePollingInterval, isLive, isNetworkOffline]);
852
+ }, [(_40 = props.bareSettings) === null || _40 === void 0 ? void 0 : _40.barePollingInterval, isLive, isNetworkOffline]);
762
853
  /* eslint-enable */
763
854
  // INFO: Pub/Sub → SSE live-stream — driven by bareSettings.bareSocketName
764
855
  // EventSource URL: {sseEndpoint}/{room}?bm_apiToken={token}
@@ -800,7 +891,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
800
891
  };
801
892
  /* eslint-disable */
802
893
  }, [
803
- (_33 = props.bareSettings) === null || _33 === void 0 ? void 0 : _33.bareSocketName,
894
+ (_41 = props.bareSettings) === null || _41 === void 0 ? void 0 : _41.bareSocketName,
804
895
  props.collectionId,
805
896
  props.devSettings.sseEndpoint,
806
897
  props.devSettings.dbAPIToken,
@@ -994,8 +1085,14 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
994
1085
  }
995
1086
  });
996
1087
  }); };
997
- // INFO : Set Updated Structure
998
- setStructure((_a = props.model) !== null && _a !== void 0 ? _a : []);
1088
+ // INFO : Set Updated Structure — skip on initial mount when persistViewState
1089
+ // restored column visibility/order from localStorage
1090
+ if (!isPersistEnabled ||
1091
+ !persistedState ||
1092
+ persistedViewMountedRef.current) {
1093
+ setStructure((_a = props.model) !== null && _a !== void 0 ? _a : []);
1094
+ }
1095
+ persistedViewMountedRef.current = true;
999
1096
  setAdditionalQuery((_c = (_b = props.organise) === null || _b === void 0 ? void 0 : _b.additionalQuery) !== null && _c !== void 0 ? _c : []);
1000
1097
  setGroupId((_e = (_d = props.organise) === null || _d === void 0 ? void 0 : _d.groupBy) !== null && _e !== void 0 ? _e : "");
1001
1098
  setExportPDFTitle((_h = (_g = (_f = props.organise) === null || _f === void 0 ? void 0 : _f.exportSettings) === null || _g === void 0 ? void 0 : _g.defaultExportPDFName) !== null && _h !== void 0 ? _h : "");
@@ -1033,10 +1130,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1033
1130
  props.collectionId,
1034
1131
  props.model,
1035
1132
  props.localURLEndpoint,
1036
- (_34 = props.organise) === null || _34 === void 0 ? void 0 : _34.extendedTabs,
1037
- (_35 = props.organise) === null || _35 === void 0 ? void 0 : _35.viewId,
1038
- (_36 = props.organise) === null || _36 === void 0 ? void 0 : _36.additionalQuery,
1039
- (_37 = props.organise) === null || _37 === void 0 ? void 0 : _37.groupBy,
1133
+ (_42 = props.organise) === null || _42 === void 0 ? void 0 : _42.extendedTabs,
1134
+ (_43 = props.organise) === null || _43 === void 0 ? void 0 : _43.viewId,
1135
+ (_44 = props.organise) === null || _44 === void 0 ? void 0 : _44.additionalQuery,
1136
+ (_45 = props.organise) === null || _45 === void 0 ? void 0 : _45.groupBy,
1040
1137
  props.type,
1041
1138
  ]);
1042
1139
  (0, react_1.useEffect)(function () {
@@ -1126,7 +1223,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1126
1223
  };
1127
1224
  }, 100);
1128
1225
  return function () { return clearTimeout(timeoutId); };
1129
- }, [(_38 = props.organise) === null || _38 === void 0 ? void 0 : _38.showReadFloatingNav, props.type, props.id, loading]);
1226
+ }, [(_46 = props.organise) === null || _46 === void 0 ? void 0 : _46.showReadFloatingNav, props.type, props.id, loading]);
1130
1227
  (0, react_1.useEffect)(function () {
1131
1228
  if (props.type !== "read")
1132
1229
  return;
@@ -1592,8 +1689,8 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1592
1689
  // useEffect to re-run (which would tear down and rebuild the EventSource).
1593
1690
  handleApplyEnvelopeRef.current = handleApplyEnvelope;
1594
1691
  var handleReadQueryHocSort = function (query) {
1595
- var _a, _b;
1596
- var sort = (_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.sort) !== null && _b !== void 0 ? _b : undefined;
1692
+ // INFO: Use persisted sort when persistViewState is active, otherwise fall back to prop sort
1693
+ var sort = activeSortId || undefined;
1597
1694
  if (isFirebase) {
1598
1695
  query === null || query === void 0 ? void 0 : query.map(function (eachQuery) {
1599
1696
  var _a, _b;
@@ -1917,8 +2014,15 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1917
2014
  else {
1918
2015
  newTableData = [];
1919
2016
  newPrettierTableData = [];
2017
+ // INFO: Replace (not append) when any filter is active and we're at
2018
+ // the start of the result set — covers search, reference, and flex filters.
1920
2019
  if ((Object.values(filterSearchParams).some(function (eachValue) { return eachValue && eachValue.length > 0; }) ||
1921
- Object.values(filterReference).some(function (eachValue) { return eachValue && eachValue.length > 0; })) &&
2020
+ Object.values(filterReference).some(function (eachValue) { return eachValue && eachValue.length > 0; }) ||
2021
+ flexFiltersDebounced.some(function (eachFilter) {
2022
+ return eachFilter.columnId &&
2023
+ eachFilter.operator &&
2024
+ eachFilter.value;
2025
+ })) &&
1922
2026
  pageIndex === 0) {
1923
2027
  newTableData = dataList;
1924
2028
  newPrettierTableData = prettierDataList;
@@ -6421,7 +6525,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
6421
6525
  authList));
6422
6526
  };
6423
6527
  var renderContent = function () {
6424
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28;
6528
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36;
6425
6529
  var isBottom = ((_a = props.bareSettings) === null || _a === void 0 ? void 0 : _a.bareUpdateActionBottom) ? true : false;
6426
6530
  var tabs = renderTabs();
6427
6531
  var pages = [
@@ -6708,23 +6812,29 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
6708
6812
  var filterComponent_1 = renderSearchContent();
6709
6813
  var dataComponent = renderTabContent(tabs, props.type, viewType);
6710
6814
  var actionComponent = renderActionButtons(props.type);
6815
+ // INFO: Active flex filter count — used by both the filter icon badge and floating search bar
6816
+ var activeFlexFilterCount_1 = ((_19 = props.bareSettings) === null || _19 === void 0 ? void 0 : _19.bareFlexFilters)
6817
+ ? flexFilters.filter(function (eachFilter) {
6818
+ return eachFilter.columnId && eachFilter.operator && eachFilter.value;
6819
+ }).length
6820
+ : 0;
6711
6821
  var listReadQueryHOC = (react_1.default.createElement(readQueryHoc_1.ReadQueryHoc, { ref: listRQueryHocRef, database: {
6712
6822
  dbModule: dbModule,
6713
6823
  dbType: devSettings.server,
6714
- dbCollection: (_20 = (_19 = props === null || props === void 0 ? void 0 : props.space) === null || _19 === void 0 ? void 0 : _19.pipelineDefaultSpaceId) !== null && _20 !== void 0 ? _20 : props.collectionId,
6824
+ dbCollection: (_21 = (_20 = props === null || props === void 0 ? void 0 : props.space) === null || _20 === void 0 ? void 0 : _20.pipelineDefaultSpaceId) !== null && _21 !== void 0 ? _21 : props.collectionId,
6715
6825
  dbEndpoint: devSettings.dbEndpoint,
6716
6826
  dbAPIToken: devSettings.dbAPIToken,
6717
6827
  dbUserToken: devSettings.dbUserToken,
6718
- }, cond: handleReadQueryHocCond(), offline: ((_21 = props.bareSettings) === null || _21 === void 0 ? void 0 : _21.bareOffline) && isNetworkOffline, onChangeData: function (data) {
6828
+ }, cond: handleReadQueryHocCond(), offline: ((_22 = props.bareSettings) === null || _22 === void 0 ? void 0 : _22.bareOffline) && isNetworkOffline, onChangeData: function (data) {
6719
6829
  handleGetListData(data, "", "");
6720
6830
  }, onError: handleGetItemError }));
6721
- if ((_22 = props.renderSettings) === null || _22 === void 0 ? void 0 : _22.renderListUI) {
6831
+ if ((_23 = props.renderSettings) === null || _23 === void 0 ? void 0 : _23.renderListUI) {
6722
6832
  return (react_1.default.createElement(react_1.default.Fragment, null,
6723
6833
  listReadQueryHOC,
6724
6834
  props.renderSettings.renderListUI(actionComponent, filterComponent_1, dataComponent)));
6725
6835
  }
6726
6836
  var renderListFilterElements = function () {
6727
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
6837
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
6728
6838
  // INFO: When bareListFilterAsPopup is true, filters are shown in a popup instead.
6729
6839
  if ((_a = props.bareSettings) === null || _a === void 0 ? void 0 : _a.bareListFilterAsPopup)
6730
6840
  return null;
@@ -6741,14 +6851,16 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
6741
6851
  filterComponent_1.length > 0 &&
6742
6852
  !((_d = props.organise) === null || _d === void 0 ? void 0 : _d.hideSearch)) {
6743
6853
  var searchInput = filterComponent_1[filterComponent_1.length - 1];
6744
- return (react_1.default.createElement("div", { className: "flex-1 sm:flex-none sm:w-64 min-w-0 mr-3" }, searchInput));
6854
+ return (react_1.default.createElement("div", { className: "flex-1 sm:flex-none sm:w-64 min-w-0 mr-3".concat(((_e = props.bareSettings) === null || _e === void 0 ? void 0 : _e.bareListMobileFloatingSearch)
6855
+ ? " hidden md:block"
6856
+ : "") }, searchInput));
6745
6857
  }
6746
6858
  return null;
6747
6859
  }
6748
6860
  var filterElementList = [];
6749
- if (!((_e = props.organise) === null || _e === void 0 ? void 0 : _e.filterComponentNewRow)) {
6750
- if ((_f = props.organise) === null || _f === void 0 ? void 0 : _f.showGroupByFeature) {
6751
- filterElementList.push(react_1.default.createElement(select_1.Select, { label: "Group", options: (_m = (_j = (_h = (_g = props === null || props === void 0 ? void 0 : props.organise) === null || _g === void 0 ? void 0 : _g.renderGroupByOptions) === null || _h === void 0 ? void 0 : _h.call(_g)) !== null && _j !== void 0 ? _j : (_l = (_k = props === null || props === void 0 ? void 0 : props.organise) === null || _k === void 0 ? void 0 : _k.renderReferenceLabelOptions) === null || _l === void 0 ? void 0 : _l.call(_k, props.collectionId, true)) !== null && _m !== void 0 ? _m : [], value: groupId !== null && groupId !== void 0 ? groupId : "", onChange: function (value) { return setGroupId(value); } }));
6861
+ if (!((_f = props.organise) === null || _f === void 0 ? void 0 : _f.filterComponentNewRow)) {
6862
+ if ((_g = props.organise) === null || _g === void 0 ? void 0 : _g.showGroupByFeature) {
6863
+ filterElementList.push(react_1.default.createElement(select_1.Select, { label: "Group", options: (_o = (_k = (_j = (_h = props === null || props === void 0 ? void 0 : props.organise) === null || _h === void 0 ? void 0 : _h.renderGroupByOptions) === null || _j === void 0 ? void 0 : _j.call(_h)) !== null && _k !== void 0 ? _k : (_m = (_l = props === null || props === void 0 ? void 0 : props.organise) === null || _l === void 0 ? void 0 : _l.renderReferenceLabelOptions) === null || _m === void 0 ? void 0 : _m.call(_l, props.collectionId, true)) !== null && _o !== void 0 ? _o : [], value: groupId !== null && groupId !== void 0 ? groupId : "", onChange: function (value) { return setGroupId(value); } }));
6752
6864
  }
6753
6865
  if (filterComponent_1 &&
6754
6866
  Array.isArray(filterComponent_1) &&
@@ -6818,11 +6930,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
6818
6930
  filterComponent_1.length > 0
6819
6931
  ? filterComponent_1[filterComponent_1.length - 1]
6820
6932
  : undefined;
6821
- var flexFilterLength_1 = (_k = flexFilters.filter(function (eachFilter) {
6822
- return eachFilter.columnId && eachFilter.operator && eachFilter.value;
6823
- })) === null || _k === void 0 ? void 0 : _k.length;
6824
- if (!((_l = props.organise) === null || _l === void 0 ? void 0 : _l.hideSearch) &&
6825
- ((_m = props.bareSettings) === null || _m === void 0 ? void 0 : _m.bareListFilterAsPopup) &&
6933
+ var flexFilterLength_1 = activeFlexFilterCount_1;
6934
+ if (!((_k = props.organise) === null || _k === void 0 ? void 0 : _k.hideSearch) &&
6935
+ ((_l = props.bareSettings) === null || _l === void 0 ? void 0 : _l.bareListFilterAsPopup) &&
6826
6936
  (filterSearchParams === null || filterSearchParams === void 0 ? void 0 : filterSearchParams["search"]))
6827
6937
  flexFilterLength_1 += 1;
6828
6938
  var flexFilterIconBtn = function (mobile) {
@@ -6832,11 +6942,12 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
6832
6942
  };
6833
6943
  // INFO: Desktop — PopUp (hidden on mobile)
6834
6944
  actionElementList.push(react_1.default.createElement("div", { className: "hidden md:block" },
6835
- react_1.default.createElement(popUp_1.PopUp, { ctaComp: flexFilterIconBtn(), renderComp: (0, flexFilterModule_1.renderFlexFilterPopupContent)(flexFilters, structure, devSettings, dbModule, flexFilterReferenceOptions, flexFilterReferenceSearch, flexActions, (_o = props.bareSettings) === null || _o === void 0 ? void 0 : _o.bareListFilterQuery, searchInput, (_p = props.bareSettings) === null || _p === void 0 ? void 0 : _p.bareListFilterAddComponent), anchor: "right", excludePortalIds: ["datepicker-portal", "select-portal"], lib: { Transition: (_q = props === null || props === void 0 ? void 0 : props.lib) === null || _q === void 0 ? void 0 : _q.Transition } })));
6945
+ react_1.default.createElement(popUp_1.PopUp, { ctaComp: flexFilterIconBtn(), renderComp: (0, flexFilter_1.renderFlexFilterPopupContent)(flexFilters, structure, devSettings, dbModule, flexFilterReferenceOptions, flexFilterReferenceSearch, flexActions, (_m = props.bareSettings) === null || _m === void 0 ? void 0 : _m.bareListFilterQuery, searchInput, (_o = props.bareSettings) === null || _o === void 0 ? void 0 : _o.bareListFilterAddComponent), anchor: "right", excludePortalIds: ["datepicker-portal", "select-portal"], lib: { Transition: (_p = props === null || props === void 0 ? void 0 : props.lib) === null || _p === void 0 ? void 0 : _p.Transition } })));
6836
6946
  // INFO: Mobile — IconButton that opens a Modal (hidden on desktop)
6837
6947
  actionElementList.push(react_1.default.createElement("div", { className: "block md:hidden" },
6838
- flexFilterIconBtn(true),
6839
- (0, flexFilterModule_1.renderFlexFilterModal)(flexFilterModalOpen, flexFilters, structure, devSettings, dbModule, flexFilterReferenceOptions, flexFilterReferenceSearch, flexActions, function () { return setFlexFilterModalOpen(false); }, (_r = props.bareSettings) === null || _r === void 0 ? void 0 : _r.bareListFilterQuery, searchInput, (_s = props.bareSettings) === null || _s === void 0 ? void 0 : _s.bareListFilterAddComponent)));
6948
+ !((_q = props.bareSettings) === null || _q === void 0 ? void 0 : _q.bareListMobileFloatingSearch) &&
6949
+ flexFilterIconBtn(true),
6950
+ (0, flexFilter_1.renderFlexFilterModal)(flexFilterModalOpen, flexFilters, structure, devSettings, dbModule, flexFilterReferenceOptions, flexFilterReferenceSearch, flexActions, function () { return setFlexFilterModalOpen(false); }, (_r = props.bareSettings) === null || _r === void 0 ? void 0 : _r.bareListFilterQuery, searchInput, (_s = props.bareSettings) === null || _s === void 0 ? void 0 : _s.bareListFilterAddComponent)));
6840
6951
  }
6841
6952
  if (!isBottom) {
6842
6953
  var actionBtns = renderActionButtons(props.type);
@@ -6893,30 +7004,53 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
6893
7004
  };
6894
7005
  return (react_1.default.createElement(react_1.default.Fragment, null,
6895
7006
  listReadQueryHOC,
6896
- react_1.default.createElement("div", { className: "flex py-2 ".concat(((_23 = props.bareSettings) === null || _23 === void 0 ? void 0 : _23.bareCompactMode)
7007
+ react_1.default.createElement("div", { className: "flex py-2 ".concat(((_24 = props.bareSettings) === null || _24 === void 0 ? void 0 : _24.bareCompactMode)
6897
7008
  ? "w-full flex-row flex-wrap sm:flex-nowrap items-end"
6898
7009
  : "flex-col md:items-end md:flex-row") },
6899
7010
  (props.title || props.description) && (react_1.default.createElement("div", { className: "flex flex-col" },
6900
7011
  props.title && (react_1.default.createElement("div", { className: "flex items-center gap-2" },
6901
7012
  react_1.default.createElement("p", { className: "text-xl font-medium" }, props.title),
6902
- ((_24 = props.bareSettings) === null || _24 === void 0 ? void 0 : _24.bareSocketName) &&
7013
+ ((_25 = props.bareSettings) === null || _25 === void 0 ? void 0 : _25.bareSocketName) &&
6903
7014
  isLive &&
6904
7015
  !isLiveOffline && (react_1.default.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-green-100 px-2 py-0.5 text-xs font-medium text-green-700" },
6905
7016
  react_1.default.createElement("span", { className: "h-1.5 w-1.5 rounded-full bg-green-500" }),
6906
7017
  "LIVE")),
6907
- ((_25 = props.bareSettings) === null || _25 === void 0 ? void 0 : _25.bareSocketName) && isLiveOffline && (react_1.default.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-orange-100 px-2 py-0.5 text-xs font-medium text-orange-700" },
7018
+ ((_26 = props.bareSettings) === null || _26 === void 0 ? void 0 : _26.bareSocketName) && isLiveOffline && (react_1.default.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-orange-100 px-2 py-0.5 text-xs font-medium text-orange-700" },
6908
7019
  react_1.default.createElement("span", { className: "h-1.5 w-1.5 rounded-full bg-orange-400" }),
6909
7020
  "OFFLINE")))),
6910
7021
  props.description && (react_1.default.createElement("span", { className: "text-sm text-gray-500" }, props.description)))),
6911
- react_1.default.createElement("div", { className: ((_26 = props.bareSettings) === null || _26 === void 0 ? void 0 : _26.bareCompactMode)
7022
+ react_1.default.createElement("div", { className: ((_27 = props.bareSettings) === null || _27 === void 0 ? void 0 : _27.bareCompactMode)
6912
7023
  ? "hidden sm:block grow"
6913
7024
  : "grow" }),
6914
7025
  renderListFilterElements(),
6915
7026
  renderListActionElements()),
6916
7027
  renderListNewRowFilterElements(),
6917
- (schemaPresent || ((_27 = props.bareSettings) === null || _27 === void 0 ? void 0 : _27.bareReadListTabs)) && (react_1.default.createElement(tabs_1.Tabs, { tabs: tabs, selectedId: viewType, linkType: props.linkType, custom: props.custom, onClick: function (id) { return handleSelectTab(id); }, darkMode: (_28 = props.organise) === null || _28 === void 0 ? void 0 : _28.darkMode })),
7028
+ (schemaPresent || ((_28 = props.bareSettings) === null || _28 === void 0 ? void 0 : _28.bareReadListTabs)) && (react_1.default.createElement(tabs_1.Tabs, { tabs: tabs, selectedId: viewType, linkType: props.linkType, custom: props.custom, onClick: function (id) { return handleSelectTab(id); }, darkMode: (_29 = props.organise) === null || _29 === void 0 ? void 0 : _29.darkMode })),
6918
7029
  renderTabContent(tabs, props.type, viewType),
6919
- isBottom && renderActionButtons(props.type, true)));
7030
+ isBottom && renderActionButtons(props.type, true),
7031
+ ((_30 = props.bareSettings) === null || _30 === void 0 ? void 0 : _30.bareListMobileFloatingSearch) &&
7032
+ (0, listModule_1.renderFloatingMobileSearch)({
7033
+ filterSearch: filterSearch,
7034
+ handleNameSearch: handleNameSearch,
7035
+ onFilterClick: function () {
7036
+ var _a;
7037
+ if ((_a = props.bareSettings) === null || _a === void 0 ? void 0 : _a.bareFlexFilters) {
7038
+ setFlexFilterModalOpen(true);
7039
+ }
7040
+ else {
7041
+ handlePopUpModal(true, "filter");
7042
+ }
7043
+ },
7044
+ hideSearch: (_31 = props.organise) === null || _31 === void 0 ? void 0 : _31.hideSearch,
7045
+ darkMode: (_32 = props.organise) === null || _32 === void 0 ? void 0 : _32.darkMode,
7046
+ floatingOffset: (_33 = props.bareSettings) === null || _33 === void 0 ? void 0 : _33.bareListFloatingActionOffset,
7047
+ hideFilter: !((_34 = props.bareSettings) === null || _34 === void 0 ? void 0 : _34.bareFlexFilters),
7048
+ activeFilterCount: ((_35 = props.bareSettings) === null || _35 === void 0 ? void 0 : _35.bareFlexFilters)
7049
+ ? activeFlexFilterCount_1
7050
+ : undefined,
7051
+ // INFO: Hides when items are selected so NewTable's multi-action bar takes over.
7052
+ hidden: selectAll || ((_36 = selectedIds === null || selectedIds === void 0 ? void 0 : selectedIds.length) !== null && _36 !== void 0 ? _36 : 0) > 0,
7053
+ })));
6920
7054
  default:
6921
7055
  return react_1.default.createElement(react_1.default.Fragment, null);
6922
7056
  }
@@ -7274,7 +7408,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7274
7408
  return (react_1.default.createElement(settingsModal_1.ExpressionModal, { selectedId: id, model: structure, renderReferenceLabelOptions: (_a = props.organise) === null || _a === void 0 ? void 0 : _a.renderReferenceLabelOptions, renderReferenceSpaceOptions: (_b = props.organise) === null || _b === void 0 ? void 0 : _b.renderReferenceSpaceOptions, onAddModelSchema: (_c = props.organise) === null || _c === void 0 ? void 0 : _c.onAddColumns, onClose: onClose }));
7275
7409
  };
7276
7410
  var renderGroupTable = function (multipleSelect) {
7277
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38;
7411
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34;
7278
7412
  if (groupId) {
7279
7413
  var groupAttributeDS_1 = structure.find(function (eachDS) { return eachDS.id === groupId; });
7280
7414
  var groupedSpaceTableData = spaceTableData.reduce(function (acc, eachData) {
@@ -7302,7 +7436,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7302
7436
  }
7303
7437
  else {
7304
7438
  return Object.entries(groupedSpaceTableData).map(function (_a) {
7305
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6;
7439
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4;
7306
7440
  var eachKey = _a[0], eachValue = _a[1];
7307
7441
  var dataList = eachValue;
7308
7442
  var ids = (dataList === null || dataList === void 0 ? void 0 : dataList.map(function (eachData) { return eachData._id; })) || [];
@@ -7347,10 +7481,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7347
7481
  filterEnabled: ((_w = props.bareSettings) === null || _w === void 0 ? void 0 : _w.bareFlexFilters)
7348
7482
  ? false
7349
7483
  : (_x = props.organise) === null || _x === void 0 ? void 0 : _x.advFilterEnabled,
7350
- sortId: (_y = props.organise) === null || _y === void 0 ? void 0 : _y.sort,
7351
- sortOptions: (_0 = (_z = props.organise) === null || _z === void 0 ? void 0 : _z.renderReferenceLabelOptions) === null || _0 === void 0 ? void 0 : _0.call(_z),
7352
- onSortColumn: (_1 = props.organise) === null || _1 === void 0 ? void 0 : _1.onChangeSort,
7353
- onDragColumn: (_2 = props.organise) === null || _2 === void 0 ? void 0 : _2.onChangeDrag,
7484
+ sortId: activeSortId,
7485
+ sortOptions: (_z = (_y = props.organise) === null || _y === void 0 ? void 0 : _y.renderReferenceLabelOptions) === null || _z === void 0 ? void 0 : _z.call(_y),
7486
+ onSortColumn: handleSortColumn,
7487
+ onDragColumn: (_0 = props.organise) === null || _0 === void 0 ? void 0 : _0.onChangeDrag,
7354
7488
  filterOptions: additionalQuery === null || additionalQuery === void 0 ? void 0 : additionalQuery.map(function (eachQuery) {
7355
7489
  var _a;
7356
7490
  return {
@@ -7367,7 +7501,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7367
7501
  return renderSearchContent(newQuery);
7368
7502
  },
7369
7503
  }, editable: {
7370
- active: ((_3 = props.edit) === null || _3 === void 0 ? void 0 : _3.listEditable) && !props.edit.disabledUpdate
7504
+ active: ((_1 = props.edit) === null || _1 === void 0 ? void 0 : _1.listEditable) && !props.edit.disabledUpdate
7371
7505
  ? true
7372
7506
  : false,
7373
7507
  onUpdateData: function (rowId, columnId, data) { return __awaiter(void 0, void 0, void 0, function () {
@@ -7381,7 +7515,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7381
7515
  });
7382
7516
  }); },
7383
7517
  }, addable: {
7384
- active: ((_4 = props.edit) === null || _4 === void 0 ? void 0 : _4.listAddable) ? true : false,
7518
+ active: ((_2 = props.edit) === null || _2 === void 0 ? void 0 : _2.listAddable) ? true : false,
7385
7519
  onAddData: function (data) { return __awaiter(void 0, void 0, void 0, function () {
7386
7520
  return __generator(this, function (_a) {
7387
7521
  switch (_a.label) {
@@ -7392,7 +7526,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7392
7526
  }
7393
7527
  });
7394
7528
  }); },
7395
- }, darkMode: (_5 = props.organise) === null || _5 === void 0 ? void 0 : _5.darkMode, hidePagination: true, disableEllipsisOnLongWord: (_6 = props.organise) === null || _6 === void 0 ? void 0 : _6.disableEllipsisOnLongWord })));
7529
+ }, darkMode: (_3 = props.organise) === null || _3 === void 0 ? void 0 : _3.darkMode, hidePagination: true, disableEllipsisOnLongWord: (_4 = props.organise) === null || _4 === void 0 ? void 0 : _4.disableEllipsisOnLongWord })));
7396
7530
  });
7397
7531
  }
7398
7532
  }
@@ -7456,10 +7590,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7456
7590
  filterEnabled: ((_w = props.bareSettings) === null || _w === void 0 ? void 0 : _w.bareFlexFilters)
7457
7591
  ? false
7458
7592
  : (_x = props.organise) === null || _x === void 0 ? void 0 : _x.advFilterEnabled,
7459
- sortId: (_y = props.organise) === null || _y === void 0 ? void 0 : _y.sort,
7460
- sortOptions: (_0 = (_z = props.organise) === null || _z === void 0 ? void 0 : _z.renderReferenceLabelOptions) === null || _0 === void 0 ? void 0 : _0.call(_z),
7461
- onSortColumn: (_1 = props.organise) === null || _1 === void 0 ? void 0 : _1.onChangeSort,
7462
- onDragColumn: (_2 = props.organise) === null || _2 === void 0 ? void 0 : _2.onChangeDrag,
7593
+ sortId: activeSortId,
7594
+ sortOptions: (_z = (_y = props.organise) === null || _y === void 0 ? void 0 : _y.renderReferenceLabelOptions) === null || _z === void 0 ? void 0 : _z.call(_y),
7595
+ onSortColumn: handleSortColumn,
7596
+ onDragColumn: (_0 = props.organise) === null || _0 === void 0 ? void 0 : _0.onChangeDrag,
7463
7597
  filterOptions: additionalQuery === null || additionalQuery === void 0 ? void 0 : additionalQuery.map(function (eachQuery) {
7464
7598
  var _a;
7465
7599
  return {
@@ -7476,7 +7610,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7476
7610
  return renderSearchContent(newQuery);
7477
7611
  },
7478
7612
  }, editable: {
7479
- active: ((_3 = props.edit) === null || _3 === void 0 ? void 0 : _3.listEditable) && !props.edit.disabledUpdate
7613
+ active: ((_1 = props.edit) === null || _1 === void 0 ? void 0 : _1.listEditable) && !props.edit.disabledUpdate
7480
7614
  ? true
7481
7615
  : false,
7482
7616
  onUpdateData: function (rowId, columnId, data) { return __awaiter(void 0, void 0, void 0, function () {
@@ -7490,7 +7624,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7490
7624
  });
7491
7625
  }); },
7492
7626
  }, addable: {
7493
- active: ((_4 = props.edit) === null || _4 === void 0 ? void 0 : _4.listAddable) ? true : false,
7627
+ active: ((_2 = props.edit) === null || _2 === void 0 ? void 0 : _2.listAddable) ? true : false,
7494
7628
  onAddData: function (data) { return __awaiter(void 0, void 0, void 0, function () {
7495
7629
  return __generator(this, function (_a) {
7496
7630
  switch (_a.label) {
@@ -7501,27 +7635,27 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7501
7635
  }
7502
7636
  });
7503
7637
  }); },
7504
- }, darkMode: (_5 = props.organise) === null || _5 === void 0 ? void 0 : _5.darkMode, hidePagination: (_6 = props.organise) === null || _6 === void 0 ? void 0 : _6.hidePagination, customPaginationSize: customPaginationSize, disableEllipsisOnLongWord: (_7 = props.organise) === null || _7 === void 0 ? void 0 : _7.disableEllipsisOnLongWord, pinColumns: (_8 = props.bareSettings) === null || _8 === void 0 ? void 0 : _8.bareListTablePinColumns }));
7638
+ }, darkMode: (_3 = props.organise) === null || _3 === void 0 ? void 0 : _3.darkMode, hidePagination: (_4 = props.organise) === null || _4 === void 0 ? void 0 : _4.hidePagination, customPaginationSize: customPaginationSize, disableEllipsisOnLongWord: (_5 = props.organise) === null || _5 === void 0 ? void 0 : _5.disableEllipsisOnLongWord, pinColumns: (_6 = props.bareSettings) === null || _6 === void 0 ? void 0 : _6.bareListTablePinColumns }));
7505
7639
  }
7506
- return (react_1.default.createElement(table_1.Table, { showId: showId, paginationType: renderResolvedPaginationType(), data: tableData, spaceData: spaceTableData !== null && spaceTableData !== void 0 ? spaceTableData : [], size: size !== null && size !== void 0 ? size : 0, limit: limit, cursor: cursor !== null && cursor !== void 0 ? cursor : "", loading: tableLoading !== null && tableLoading !== void 0 ? tableLoading : true, checkbox: multipleSelect, selectAll: selectAll, selectedIds: selectedIds, selectAllText: selectAll ? "from filter" : "", disableSelectFullData: (_10 = (_9 = props.organise) === null || _9 === void 0 ? void 0 : _9.disableSelectFullData) === null || _10 === void 0 ? void 0 : _10.table, multiActionButton: react_1.default.createElement("div", { className: "flex flex-row space-x-3" },
7640
+ return (react_1.default.createElement(table_1.Table, { showId: showId, paginationType: renderResolvedPaginationType(), data: tableData, spaceData: spaceTableData !== null && spaceTableData !== void 0 ? spaceTableData : [], size: size !== null && size !== void 0 ? size : 0, limit: limit, cursor: cursor !== null && cursor !== void 0 ? cursor : "", loading: tableLoading !== null && tableLoading !== void 0 ? tableLoading : true, checkbox: multipleSelect, selectAll: selectAll, selectedIds: selectedIds, selectAllText: selectAll ? "from filter" : "", disableSelectFullData: (_8 = (_7 = props.organise) === null || _7 === void 0 ? void 0 : _7.disableSelectFullData) === null || _8 === void 0 ? void 0 : _8.table, multiActionButton: react_1.default.createElement("div", { className: "flex flex-row space-x-3" },
7507
7641
  selectedIds.length > 0 &&
7508
- !((_11 = props.edit) === null || _11 === void 0 ? void 0 : _11.disabledUpdate) &&
7509
- !((_12 = props.bareSettings) === null || _12 === void 0 ? void 0 : _12.bareHideTableExtraMultipleAction) && (react_1.default.createElement(react_1.default.Fragment, null,
7642
+ !((_9 = props.edit) === null || _9 === void 0 ? void 0 : _9.disabledUpdate) &&
7643
+ !((_10 = props.bareSettings) === null || _10 === void 0 ? void 0 : _10.bareHideTableExtraMultipleAction) && (react_1.default.createElement(react_1.default.Fragment, null,
7510
7644
  react_1.default.createElement(textButton_1.TextButton, { className: "text-sm", text: "Change to Draft", disable: loading, onClick: function () {
7511
7645
  handleBatchDraftData();
7512
7646
  } }),
7513
7647
  react_1.default.createElement(textButton_1.TextButton, { className: "text-sm", text: "Clone Items", disable: loading, onClick: function () {
7514
7648
  handleCloneSelectedData();
7515
7649
  } }))),
7516
- ((_13 = props.edit) === null || _13 === void 0 ? void 0 : _13.deleteBtn) && (react_1.default.createElement(textButton_1.TextButton, { className: "text-sm text-red-500 hover:text-red-600", text: "Delete", onClick: function () {
7650
+ ((_11 = props.edit) === null || _11 === void 0 ? void 0 : _11.deleteBtn) && (react_1.default.createElement(textButton_1.TextButton, { className: "text-sm text-red-500 hover:text-red-600", text: "Delete", onClick: function () {
7517
7651
  handleGenerateDeletePasscode();
7518
7652
  setDeleteModal(true);
7519
7653
  } })),
7520
- !isFirebase && !((_14 = props.edit) === null || _14 === void 0 ? void 0 : _14.disableBatchUpdate) && (react_1.default.createElement(textButton_1.TextButton, { className: "text-sm", text: "Update", onClick: function () {
7654
+ !isFirebase && !((_12 = props.edit) === null || _12 === void 0 ? void 0 : _12.disableBatchUpdate) && (react_1.default.createElement(textButton_1.TextButton, { className: "text-sm", text: "Update", onClick: function () {
7521
7655
  setBatchUpdateModal(true);
7522
7656
  } })),
7523
- ((_15 = props.bareSettings) === null || _15 === void 0 ? void 0 : _15.bareListMultipleSelectAddtionalActions) &&
7524
- ((_17 = (_16 = props.bareSettings) === null || _16 === void 0 ? void 0 : _16.bareListMultipleSelectAddtionalActions) === null || _17 === void 0 ? void 0 : _17.map(function (eachButton) {
7657
+ ((_13 = props.bareSettings) === null || _13 === void 0 ? void 0 : _13.bareListMultipleSelectAddtionalActions) &&
7658
+ ((_15 = (_14 = props.bareSettings) === null || _14 === void 0 ? void 0 : _14.bareListMultipleSelectAddtionalActions) === null || _15 === void 0 ? void 0 : _15.map(function (eachButton) {
7525
7659
  return (react_1.default.createElement(textButton_1.TextButton, { className: "text-sm ".concat(eachButton.className), text: eachButton.text, onClick: function () {
7526
7660
  var _a, _b;
7527
7661
  (_a = eachButton.onClick) === null || _a === void 0 ? void 0 : _a.call(eachButton, selectedIds, selectAll, (_b = renderImpSearchFilterConditions()) !== null && _b !== void 0 ? _b : []);
@@ -7529,20 +7663,20 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7529
7663
  }))), handleSelectAll: handleSelectAllPages, handleSelectedIds: handleSelectIds, header: renderTableHeader(), pageIndex: pageIndex !== null && pageIndex !== void 0 ? pageIndex : 0, onClickRow: function (id) {
7530
7664
  var _a, _b;
7531
7665
  (_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.handleNavigate) === null || _b === void 0 ? void 0 : _b.call(_a, "read", id, "general");
7532
- }, linkType: props.linkType, custom: props.custom, newTabUrl: (_19 = (_18 = props.newTabUrl) === null || _18 === void 0 ? void 0 : _18.default) !== null && _19 !== void 0 ? _19 : "".concat(props.localURLEndpoint, "?data="), addNewTabUrl: (_21 = (_20 = props.newTabUrl) === null || _20 === void 0 ? void 0 : _20.addons) !== null && _21 !== void 0 ? _21 : "&type=read&collection=".concat(props.collectionId, "&view=general"), handleUpdatePageIndex: function (value) {
7666
+ }, linkType: props.linkType, custom: props.custom, newTabUrl: (_17 = (_16 = props.newTabUrl) === null || _16 === void 0 ? void 0 : _16.default) !== null && _17 !== void 0 ? _17 : "".concat(props.localURLEndpoint, "?data="), addNewTabUrl: (_19 = (_18 = props.newTabUrl) === null || _18 === void 0 ? void 0 : _18.addons) !== null && _19 !== void 0 ? _19 : "&type=read&collection=".concat(props.collectionId, "&view=general"), handleUpdatePageIndex: function (value) {
7533
7667
  handlePagination(value);
7534
- }, className: "mt-5", lib: { axios: (_22 = props.lib) === null || _22 === void 0 ? void 0 : _22.axios }, devSettings: props.devSettings, bareSettings: props.bareSettings, fixedPagination: (_23 = props.organise) === null || _23 === void 0 ? void 0 : _23.fixedPagination, advSettings: {
7535
- addColumnEnabled: (_24 = props.organise) === null || _24 === void 0 ? void 0 : _24.addColumnEnabled,
7668
+ }, className: "mt-5", lib: { axios: (_20 = props.lib) === null || _20 === void 0 ? void 0 : _20.axios }, devSettings: props.devSettings, bareSettings: props.bareSettings, fixedPagination: (_21 = props.organise) === null || _21 === void 0 ? void 0 : _21.fixedPagination, advSettings: {
7669
+ addColumnEnabled: (_22 = props.organise) === null || _22 === void 0 ? void 0 : _22.addColumnEnabled,
7536
7670
  renderAddColumnElements: renderAddMathColumn,
7537
- dragEnabled: (_25 = props.organise) === null || _25 === void 0 ? void 0 : _25.advDragEnabled,
7538
- sortEnabled: (_26 = props.organise) === null || _26 === void 0 ? void 0 : _26.advSortEnabled,
7539
- filterEnabled: ((_27 = props.bareSettings) === null || _27 === void 0 ? void 0 : _27.bareFlexFilters)
7671
+ dragEnabled: (_23 = props.organise) === null || _23 === void 0 ? void 0 : _23.advDragEnabled,
7672
+ sortEnabled: (_24 = props.organise) === null || _24 === void 0 ? void 0 : _24.advSortEnabled,
7673
+ filterEnabled: ((_25 = props.bareSettings) === null || _25 === void 0 ? void 0 : _25.bareFlexFilters)
7540
7674
  ? false
7541
- : (_28 = props.organise) === null || _28 === void 0 ? void 0 : _28.advFilterEnabled,
7542
- sortId: (_29 = props.organise) === null || _29 === void 0 ? void 0 : _29.sort,
7543
- sortOptions: (_31 = (_30 = props.organise) === null || _30 === void 0 ? void 0 : _30.renderReferenceLabelOptions) === null || _31 === void 0 ? void 0 : _31.call(_30),
7544
- onSortColumn: (_32 = props.organise) === null || _32 === void 0 ? void 0 : _32.onChangeSort,
7545
- onDragColumn: (_33 = props.organise) === null || _33 === void 0 ? void 0 : _33.onChangeDrag,
7675
+ : (_26 = props.organise) === null || _26 === void 0 ? void 0 : _26.advFilterEnabled,
7676
+ sortId: activeSortId,
7677
+ sortOptions: (_28 = (_27 = props.organise) === null || _27 === void 0 ? void 0 : _27.renderReferenceLabelOptions) === null || _28 === void 0 ? void 0 : _28.call(_27),
7678
+ onSortColumn: handleSortColumn,
7679
+ onDragColumn: (_29 = props.organise) === null || _29 === void 0 ? void 0 : _29.onChangeDrag,
7546
7680
  filterOptions: additionalQuery === null || additionalQuery === void 0 ? void 0 : additionalQuery.map(function (eachQuery) {
7547
7681
  var _a;
7548
7682
  return {
@@ -7559,7 +7693,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7559
7693
  return renderSearchContent(newQuery);
7560
7694
  },
7561
7695
  }, editable: {
7562
- active: ((_34 = props.edit) === null || _34 === void 0 ? void 0 : _34.listEditable) && !props.edit.disabledUpdate
7696
+ active: ((_30 = props.edit) === null || _30 === void 0 ? void 0 : _30.listEditable) && !props.edit.disabledUpdate
7563
7697
  ? true
7564
7698
  : false,
7565
7699
  onUpdateData: function (rowId, columnId, data) { return __awaiter(void 0, void 0, void 0, function () {
@@ -7573,7 +7707,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7573
7707
  });
7574
7708
  }); },
7575
7709
  }, addable: {
7576
- active: ((_35 = props.edit) === null || _35 === void 0 ? void 0 : _35.listAddable) ? true : false,
7710
+ active: ((_31 = props.edit) === null || _31 === void 0 ? void 0 : _31.listAddable) ? true : false,
7577
7711
  onAddData: function (data) { return __awaiter(void 0, void 0, void 0, function () {
7578
7712
  return __generator(this, function (_a) {
7579
7713
  switch (_a.label) {
@@ -7584,7 +7718,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7584
7718
  }
7585
7719
  });
7586
7720
  }); },
7587
- }, darkMode: (_36 = props.organise) === null || _36 === void 0 ? void 0 : _36.darkMode, hidePagination: (_37 = props.organise) === null || _37 === void 0 ? void 0 : _37.hidePagination, customPaginationSize: customPaginationSize, disableEllipsisOnLongWord: (_38 = props.organise) === null || _38 === void 0 ? void 0 : _38.disableEllipsisOnLongWord }));
7721
+ }, darkMode: (_32 = props.organise) === null || _32 === void 0 ? void 0 : _32.darkMode, hidePagination: (_33 = props.organise) === null || _33 === void 0 ? void 0 : _33.hidePagination, customPaginationSize: customPaginationSize, disableEllipsisOnLongWord: (_34 = props.organise) === null || _34 === void 0 ? void 0 : _34.disableEllipsisOnLongWord }));
7588
7722
  }
7589
7723
  };
7590
7724
  var renderTabContent = function (tabs, dataType, viewType) {
@@ -8240,7 +8374,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
8240
8374
  return null;
8241
8375
  };
8242
8376
  var renderModalContent = function () {
8243
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
8377
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0;
8244
8378
  if (loading) {
8245
8379
  return (react_1.default.createElement("div", { className: "mt-5" },
8246
8380
  react_1.default.createElement(loading_1.Loading, null),
@@ -8330,22 +8464,27 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
8330
8464
  } }))))));
8331
8465
  }
8332
8466
  else if (sortModal) {
8333
- return (react_1.default.createElement(settingsModal_1.SortModal, { sort: (_p = props.organise) === null || _p === void 0 ? void 0 : _p.sort, onChangeSort: (_q = props.organise) === null || _q === void 0 ? void 0 : _q.onChangeSort, renderReferenceLabelOptions: (_r = props.organise) === null || _r === void 0 ? void 0 : _r.renderReferenceLabelOptions, onClose: function () {
8467
+ return (react_1.default.createElement(settingsModal_1.SortModal, { sort: activeSortId, onChangeSort: handleSortColumn, renderReferenceLabelOptions: (_p = props.organise) === null || _p === void 0 ? void 0 : _p.renderReferenceLabelOptions, onClose: function () {
8334
8468
  handlePopUpModal(false);
8335
8469
  } }));
8336
8470
  }
8337
8471
  else if (overviewModal) {
8338
- return (react_1.default.createElement(settingsModal_1.OverviewModal, { model: structure, referenceSchema: referenceModelSchema, setReferenceSchema: setReferenceSchema, onChangeHide: (_s = props.organise) === null || _s === void 0 ? void 0 : _s.onChangeHide, onClose: function () {
8472
+ return (react_1.default.createElement(settingsModal_1.OverviewModal, { model: structure, referenceSchema: referenceModelSchema, setReferenceSchema: setReferenceSchema, onChangeHide: function (updatedModel) {
8473
+ var _a, _b;
8474
+ // INFO: Update internal structure state so persistence captures the change
8475
+ setStructure(updatedModel);
8476
+ (_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.onChangeHide) === null || _b === void 0 ? void 0 : _b.call(_a, updatedModel);
8477
+ }, onClose: function () {
8339
8478
  handlePopUpModal(false);
8340
8479
  } }));
8341
8480
  }
8342
8481
  else if (filterModal) {
8343
- return (react_1.default.createElement(settingsModal_1.FilterModal, { server: props.devSettings.server, filter: additionalQuery, model: props.model, onChangeFilter: (_t = props.organise) === null || _t === void 0 ? void 0 : _t.onChangeFilter, renderReferenceLabelOptions: (_u = props.organise) === null || _u === void 0 ? void 0 : _u.renderReferenceLabelOptions, renderReferenceSpaceOptions: (_v = props.organise) === null || _v === void 0 ? void 0 : _v.renderReferenceSpaceOptions, setNotification: setNotification, onClose: function () {
8482
+ return (react_1.default.createElement(settingsModal_1.FilterModal, { server: props.devSettings.server, filter: additionalQuery, model: props.model, onChangeFilter: (_q = props.organise) === null || _q === void 0 ? void 0 : _q.onChangeFilter, renderReferenceLabelOptions: (_r = props.organise) === null || _r === void 0 ? void 0 : _r.renderReferenceLabelOptions, renderReferenceSpaceOptions: (_s = props.organise) === null || _s === void 0 ? void 0 : _s.renderReferenceSpaceOptions, setNotification: setNotification, onClose: function () {
8344
8483
  handlePopUpModal(false);
8345
8484
  } }));
8346
8485
  }
8347
8486
  else if (addTabModal) {
8348
- return (react_1.default.createElement(settingsModal_1.TabModal, { type: props.type, tabs: (_w = props.organise) === null || _w === void 0 ? void 0 : _w.extendedTabs, onChangeTabs: (_x = props.organise) === null || _x === void 0 ? void 0 : _x.onChangeTabs, model: structure, renderReferenceLabelOptions: (_y = props.organise) === null || _y === void 0 ? void 0 : _y.renderReferenceLabelOptions, onClose: function () {
8487
+ return (react_1.default.createElement(settingsModal_1.TabModal, { type: props.type, tabs: (_t = props.organise) === null || _t === void 0 ? void 0 : _t.extendedTabs, onChangeTabs: (_u = props.organise) === null || _u === void 0 ? void 0 : _u.onChangeTabs, model: structure, renderReferenceLabelOptions: (_v = props.organise) === null || _v === void 0 ? void 0 : _v.renderReferenceLabelOptions, onClose: function () {
8349
8488
  handlePopUpModal(false);
8350
8489
  } }));
8351
8490
  }
@@ -8407,7 +8546,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
8407
8546
  return eachModel.id === selectedObjectStructureId;
8408
8547
  });
8409
8548
  if (filterObjectModel === null || filterObjectModel === void 0 ? void 0 : filterObjectModel.objectData) {
8410
- var modalModel_1 = (_z = filterObjectModel === null || filterObjectModel === void 0 ? void 0 : filterObjectModel.objectData) !== null && _z !== void 0 ? _z : [];
8549
+ var modalModel_1 = (_w = filterObjectModel === null || filterObjectModel === void 0 ? void 0 : filterObjectModel.objectData) !== null && _w !== void 0 ? _w : [];
8411
8550
  var handleOnFailValidation = function (refList) {
8412
8551
  var _a, _b;
8413
8552
  if ((refList === null || refList === void 0 ? void 0 : refList.length) > 0) {
@@ -8479,16 +8618,16 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
8479
8618
  disabledOnEnter_2 = true;
8480
8619
  return null;
8481
8620
  });
8482
- if ((_0 = props.bareSettings) === null || _0 === void 0 ? void 0 : _0.bareListObjectHandleData) {
8621
+ if ((_x = props.bareSettings) === null || _x === void 0 ? void 0 : _x.bareListObjectHandleData) {
8483
8622
  var listObjectViewType = props.type === "read"
8484
8623
  ? "read"
8485
8624
  : selectedObjectId
8486
8625
  ? "update"
8487
8626
  : "new";
8488
- (_2 = (_1 = props.bareSettings) === null || _1 === void 0 ? void 0 : _1.bareListObjectHandleData) === null || _2 === void 0 ? void 0 : _2.call(_1, listObjectViewType, selectedObjectData);
8627
+ (_z = (_y = props.bareSettings) === null || _y === void 0 ? void 0 : _y.bareListObjectHandleData) === null || _z === void 0 ? void 0 : _z.call(_y, listObjectViewType, selectedObjectData);
8489
8628
  }
8490
8629
  return (react_1.default.createElement(react_1.default.Fragment, null,
8491
- react_1.default.createElement(form_1.Form, { className: "grid ".concat(formColumn, " ").concat(gridGap, " pb-32 mt-6 sm:pb-36"), ref: objectFormRef, refList: objectFormInputRefs, handleComplete: handleSubmitObjectDataType, disabledOnEnter: disabledOnEnter_2, handleOnFailValidation: handleOnFailValidation }, renderDataTemplateFormContent(selectedObjectData, (_3 = filterObjectModel === null || filterObjectModel === void 0 ? void 0 : filterObjectModel.objectData) !== null && _3 !== void 0 ? _3 : [], objectFormInputRefs, true, filterObjectModel.type === "listObject", undefined, filterObjectModel.type === "listObject"
8630
+ react_1.default.createElement(form_1.Form, { className: "grid ".concat(formColumn, " ").concat(gridGap, " pb-32 mt-6 sm:pb-36"), ref: objectFormRef, refList: objectFormInputRefs, handleComplete: handleSubmitObjectDataType, disabledOnEnter: disabledOnEnter_2, handleOnFailValidation: handleOnFailValidation }, renderDataTemplateFormContent(selectedObjectData, (_0 = filterObjectModel === null || filterObjectModel === void 0 ? void 0 : filterObjectModel.objectData) !== null && _0 !== void 0 ? _0 : [], objectFormInputRefs, true, filterObjectModel.type === "listObject", undefined, filterObjectModel.type === "listObject"
8492
8631
  ? selectedData
8493
8632
  : undefined)),
8494
8633
  react_1.default.createElement("div", { className: "flex justify-end pt-8" },
@@ -8701,7 +8840,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
8701
8840
  };
8702
8841
  return (react_1.default.createElement(react_1.default.Fragment, null,
8703
8842
  renderNotification("root"),
8704
- ((_40 = (_39 = props.renderSettings) === null || _39 === void 0 ? void 0 : _39.renderLoadingUI) === null || _40 === void 0 ? void 0 : _40.call(_39)) && loading ? ((_41 = props.renderSettings) === null || _41 === void 0 ? void 0 : _41.renderLoadingUI()) : (react_1.default.createElement(modal_1.Modal, { maxWidth: selectedObjectStructureId || excelModal ? "2xl" : undefined, open: modalVisible, title: renderModalTitle(), renderContent: renderModalContent, onClose: function () {
8843
+ ((_48 = (_47 = props.renderSettings) === null || _47 === void 0 ? void 0 : _47.renderLoadingUI) === null || _48 === void 0 ? void 0 : _48.call(_47)) && loading ? ((_49 = props.renderSettings) === null || _49 === void 0 ? void 0 : _49.renderLoadingUI()) : (react_1.default.createElement(modal_1.Modal, { maxWidth: selectedObjectStructureId || excelModal ? "2xl" : undefined, open: modalVisible, title: renderModalTitle(), renderContent: renderModalContent, onClose: function () {
8705
8844
  var _a, _b;
8706
8845
  if (loading)
8707
8846
  return;