blixify-ui-web 1.2.54 → 1.2.56

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.
@@ -151,6 +151,7 @@ var pagination_1 = require("./pagination");
151
151
  var referenceModal_1 = require("./referenceModal");
152
152
  var settingsModal_1 = require("./settingsModal");
153
153
  var flexFilter_1 = require("../flexFilter");
154
+ var viewStatePersistence_1 = require("./viewStatePersistence");
154
155
  // INFO: builds the notification message for a failed write. Callers must gate on
155
156
  // `err.response` alone, never on a specific status — a catch that only handles 400 shows
156
157
  // the user nothing at all for any other status, so a write silently disappears. A 5xx is
@@ -166,7 +167,7 @@ var handleGetWriteErrorMessage = function (response) {
166
167
  return "Please contact our administrator for assistance or try your request again later. We apologize for any inconvenience";
167
168
  };
168
169
  exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
169
- 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;
170
171
  var intialiseDefaultFilterValues = function () {
171
172
  var _a;
172
173
  var initialFilterSearch = {};
@@ -227,159 +228,195 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
227
228
  initialFilterReferenceDate: initialFilterReferenceDate,
228
229
  };
229
230
  };
230
- var _42 = intialiseDefaultFilterValues(), initialFilterSearch = _42.initialFilterSearch, initialFilterSearchParams = _42.initialFilterSearchParams, initialFilterSelection = _42.initialFilterSelection, initialFilterReference = _42.initialFilterReference, initialFilterReferenceDate = _42.initialFilterReferenceDate;
231
- var _43 = (0, react_1.useState)(false), loading = _43[0], setLoading = _43[1];
232
- 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];
233
241
  //INFO : Used by List
234
- var _45 = (0, react_1.useState)(initialFilterSearch), filterSearch = _45[0], setFilterSearch = _45[1];
235
- var _46 = (0, react_1.useState)(initialFilterSearchParams), filterSearchParams = _46[0], setFilterSearchParams = _46[1];
236
- var _47 = (0, react_1.useState)(initialFilterSelection), filterSelection = _47[0], setFilterSelection = _47[1];
237
- var _48 = (0, react_1.useState)(initialFilterReference), filterReference = _48[0], setFilterReference = _48[1];
238
- var _49 = (0, react_1.useState)({}), filterReferenceSearch = _49[0], setFilterReferenceSearch = _49[1];
239
- var _50 = (0, react_1.useState)({}), filterReferenceList = _50[0], setFilterReferenceList = _50[1];
240
- var _51 = (0, react_1.useState)(initialFilterReferenceDate), filterReferenceDate = _51[0], setFilterReferenceDate = _51[1];
241
- var _52 = (0, react_1.useState)(true), tableLoading = _52[0], setTableLoading = _52[1];
242
- var _53 = (0, react_1.useState)(""), cursor = _53[0], setCursor = _53[1];
243
- var _54 = (0, react_1.useState)(""), lastCursor = _54[0], setLastCursor = _54[1];
244
- var _55 = (0, react_1.useState)([]), tableData = _55[0], setTableData = _55[1];
245
- var _56 = (0, react_1.useState)([]), spaceTableData = _56[0], setSpaceTableData = _56[1];
246
- var _57 = (0, react_1.useState)(0), size = _57[0], setSize = _57[1];
247
- 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];
248
- var _59 = (0, react_1.useState)([]), selectedIds = _59[0], setSelectedIds = _59[1];
249
- var _60 = (0, react_1.useState)(false), selectAll = _60[0], setSelectAll = _60[1];
250
- var _61 = (0, react_1.useState)(""), deletePasscode = _61[0], setDeletePasscode = _61[1];
251
- var _62 = (0, react_1.useState)(""), deletePasscodeInput = _62[0], setDeletePasscodeInput = _62[1];
252
- 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];
253
263
  //INFO : Used by List Organise
254
- var _64 = (0, react_1.useState)(false), sortModal = _64[0], setSortModal = _64[1];
255
- var _65 = (0, react_1.useState)(false), filterModal = _65[0], setFilterModal = _65[1];
256
- var _66 = (0, react_1.useState)(false), filterDraft = _66[0], setFilterDraft = _66[1];
257
- var _67 = (0, react_1.useState)(false), addTabModal = _67[0], setAddTabModal = _67[1];
258
- 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];
259
272
  //INFO : resolve the initial tab synchronously so the mount cond is already
260
273
  // tab-scoped — an empty initial tab caused a second wasted list fetch
261
- var _69 = (0, react_1.useState)(function () {
274
+ var _79 = (0, react_1.useState)(function () {
262
275
  var _a, _b;
263
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);
264
- }), selectedTab = _69[0], setSelectedTab = _69[1];
265
- 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];
266
279
  // INFO: bareNewDTW calendar viewSwitch mode — drives the NewCalendar variant
267
280
  // (calendarView above drives the matching range query)
268
- var _71 = (0, react_1.useState)("month"), newCalendarViewMode = _71[0], setNewCalendarViewMode = _71[1];
269
- var _72 = (0, react_1.useState)(new Date()), calendarTabMonth = _72[0], setCalendarTabMonth = _72[1];
270
- var _73 = (0, react_1.useState)(true), kanbanDroppable = _73[0], setKanbanDroppable = _73[1];
271
- var _74 = (0, react_1.useState)([]), kanbanOptions = _74[0], setKanbanOptions = _74[1];
272
- var _75 = (0, react_1.useState)(false), queryForm = _75[0], setQueryForm = _75[1];
273
- var _76 = (0, react_1.useState)(false), batchUpdateModal = _76[0], setBatchUpdateModal = _76[1];
274
- 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)({
275
288
  columnId: "",
276
289
  columnData: {},
277
- }), batchUpdateData = _77[0], setBatchUpdateData = _77[1];
278
- var _78 = (0, react_1.useState)((props === null || props === void 0 ? void 0 : props.model) || []), structure = _78[0], setStructure = _78[1];
279
- 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];
280
319
  // INFO: State for user-configurable flex filters (Monday.com-style)
281
320
  // INFO: Initialize with one empty row so users see inputs immediately without clicking "Add Filter"
282
- var _80 = (0, react_1.useState)([
321
+ var defaultFlexFilterRow = [
283
322
  {
284
323
  id: "flex-filter-init-row",
285
324
  columnId: "",
286
325
  operator: "=",
287
326
  value: undefined,
288
327
  },
289
- ]), 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];
290
332
  // INFO: Debounced version of flexFilters used by renderImpSearchFilterConditions
291
333
  // to prevent API calls on every keystroke when typing in value inputs
292
- var _81 = (0, react_1.useState)([
293
- {
294
- id: "flex-filter-init-row",
295
- columnId: "",
296
- operator: "=",
297
- value: undefined,
298
- },
299
- ]), flexFiltersDebounced = _81[0], setFlexFiltersDebounced = _81[1];
300
- var _82 = (0, react_1.useState)({}), flexFilterReferenceOptions = _82[0], setFlexFilterReferenceOptions = _82[1];
301
- var _83 = (0, react_1.useState)({}), flexFilterReferenceSearch = _83[0], setFlexFilterReferenceSearch = _83[1];
302
- 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];
303
340
  //INFO : Used by Auth
304
- var _85 = (0, react_1.useState)({
341
+ var _95 = (0, react_1.useState)({
305
342
  email: "",
306
343
  google: "",
307
344
  phone: "",
308
345
  disabled: false,
309
346
  create: false,
310
- }), authMethods = _85[0], setAuthMethods = _85[1];
311
- 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];
312
349
  // INFO: Used by Activity Log
313
- var _87 = (0, react_1.useState)(false), activityModal = _87[0], setActivityModal = _87[1];
314
- 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];
315
352
  //INFO : Used by Export
316
- var _89 = (0, react_1.useState)(null), csvFile = _89[0], setCSVFile = _89[1];
317
- var _90 = (0, react_1.useState)([]), csvFileData = _90[0], setCSVFileData = _90[1];
318
- var _91 = (0, react_1.useState)(0), stepCSVIndex = _91[0], setStepCSVIndex = _91[1];
319
- var _92 = (0, react_1.useState)({}), listCSVMapAttribute = _92[0], setListCSVMapAttribute = _92[1];
320
- var _93 = (0, react_1.useState)({}), listCSVObjAttribute = _93[0], setListCSVObjAttribute = _93[1];
321
- var _94 = (0, react_1.useState)([]), csvAPIAttribute = _94[0], setCSVAPIAttribute = _94[1];
322
- var _95 = (0, react_1.useState)(((_d = props.devSettings.currentUser) === null || _d === void 0 ? void 0 : _d.userEmail) || ""), exportCSVEmail = _95[0], setExportCSVEmail = _95[1];
323
- 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];
324
- var _97 = (0, react_1.useState)(false), exportPDFLoading = _97[0], setExportPDFLoading = _97[1];
325
- var _98 = (0, react_1.useState)(false), exportReadPDFLoading = _98[0], setExportReadPDFLoading = _98[1];
326
- 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];
327
- 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];
328
- var _101 = (0, react_1.useState)([]), importTableData = _101[0], setImportTableData = _101[1];
329
- var _102 = (0, react_1.useState)([]), queryList = _102[0], setQueryList = _102[1];
330
- var _103 = (0, react_1.useState)(undefined), allQueryList = _103[0], setAllQueryList = _103[1];
331
- var _104 = (0, react_1.useState)(-1), queryIndex = _104[0], setQueryIndex = _104[1];
332
- var _105 = (0, react_1.useState)((_o = props.organise) === null || _o === void 0 ? void 0 : _o.groupBy), groupId = _105[0], setGroupId = _105[1];
333
- var _106 = (0, react_1.useState)(""), readTabSection = _106[0], setReadTabSection = _106[1];
334
- 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];
335
372
  var readTabSectionRefs = (0, react_1.useRef)({});
336
373
  //INFO : Used by Read
337
374
  //INFO : Used by Update
338
- var _108 = (0, react_1.useState)(false), modalVisible = _108[0], setModalVisible = _108[1];
339
- var _109 = (0, react_1.useState)(false), deleteModal = _109[0], setDeleteModal = _109[1];
340
- var _110 = (0, react_1.useState)(false), excelModal = _110[0], setExcelModal = _110[1];
341
- var _111 = (0, react_1.useState)(false), exportExcel = _111[0], setExportExcel = _111[1];
342
- var _112 = (0, react_1.useState)(""), exportType = _112[0], setExportType = _112[1];
343
- var _113 = (0, react_1.useState)(false), exportQR = _113[0], setExportQR = _113[1];
344
- 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 () {
345
382
  var _a, _b;
346
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 : "";
347
384
  return firstTabId;
348
- }), activeTab = _114[0], setActiveTab = _114[1];
349
- var _115 = (0, react_1.useState)(false), signatureSigning = _115[0], setSignatureSigning = _115[1];
350
- var _116 = (0, react_1.useState)({}), selectedData = _116[0], setSelectedData = _116[1];
351
- var _117 = (0, react_1.useState)(""), selectedObjectStructureId = _117[0], setSelectedObjectStructureId = _117[1];
352
- var _118 = (0, react_1.useState)(""), selectedObjectId = _118[0], setSelectedObjectId = _118[1];
353
- var _119 = (0, react_1.useState)(""), selectedListAddressId = _119[0], setSelectedListAddressId = _119[1];
354
- var _120 = (0, react_1.useState)(-1), selectedListAddressIndex = _120[0], setSelectedListAddressIndex = _120[1];
355
- 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)({
356
393
  lat: 0,
357
394
  lng: 0,
358
395
  name: "",
359
- }), selectedListAddress = _121[0], setSelectedListAddress = _121[1];
360
- var _122 = (0, react_1.useState)({}), selectedObjectData = _122[0], setSelectedObjectData = _122[1];
361
- var _123 = (0, react_1.useState)(false), referenceLoading = _123[0], setReferenceLoading = _123[1];
362
- var _124 = (0, react_1.useState)({}), referencesOptions = _124[0], setReferencesOptions = _124[1];
363
- var _125 = (0, react_1.useState)({}), referencesDetails = _125[0], setReferencesDetails = _125[1];
364
- var _126 = (0, react_1.useState)({}), referenceDeleteTableData = _126[0], setReferenceDeleteTableData = _126[1];
365
- var _127 = (0, react_1.useState)(0), referenceDeleteIndex = _127[0], setReferenceDeleteIndex = _127[1];
366
- 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)({
367
404
  id: "",
368
405
  name: "",
369
406
  type: "string",
370
- }), referenceCreationModal = _128[0], setReferenceCreationModal = _128[1];
371
- var _129 = (0, react_1.useState)({}), referenceModelSchema = _129[0], setReferenceSchema = _129[1];
372
- 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];
373
410
  //INFO : Offline
374
- var _131 = (0, react_1.useState)(0), offlineDataLength = _131[0], setOfflineDataLength = _131[1];
375
- 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];
376
413
  // INFO: live-stream state — driven by socket connection and navigator.onLine
377
- var _133 = (0, react_1.useState)(false), isLive = _133[0], setIsLive = _133[1];
378
- 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];
379
416
  // INFO: true when navigator is offline — used to switch ReadQueryHoc between
380
417
  // server reads (online, full pagination) and IndexedDB reads (offline, cached data).
381
418
  // Independent of SSE status so it works even when bareSocketName is not set.
382
- 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];
383
420
  var previousType = (0, react_1.useRef)(null);
384
421
  var previousSelectedData = (0, react_1.useRef)(null);
385
422
  var scrollSentinelRef = (0, react_1.useRef)(null);
@@ -413,6 +450,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
413
450
  // socket merges, prefills). When true, the next changedAttributeIds from the useEffect should NOT
414
451
  // be added to dirtyFields because the change was programmatic, not user-driven.
415
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);
416
456
  var formRef = (0, react_1.createRef)();
417
457
  var objectFormRef = (0, react_1.createRef)();
418
458
  var listAddressFromRef = (0, react_1.createRef)();
@@ -452,40 +492,47 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
452
492
  var isSubmittingRef = (0, react_1.useRef)(false);
453
493
  var devSettings = props.devSettings;
454
494
  var serverId = (0, utils_1.parseServerId)(devSettings.server);
455
- 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";
456
496
  var isFirebaseClient = devSettings.server === "firebase";
457
497
  var isFirebase = isFirebaseClient || devSettings.server === "fbServer";
458
- 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;
459
499
  var schemaPresent = props.devSettings.schemaEndpoint ? true : false;
460
500
  var limit = props.limit ? props.limit : 10;
461
- var isEditor = ((_t = props.edit) === null || _t === void 0 ? void 0 : _t.allEditable) ? true : false;
462
- 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;
463
510
  // INFO: when bareOfflineNetworkAware is true, the save path is also gated on
464
511
  // the live network state — online saves go to the server even if bareOffline
465
512
  // is true, offline saves go to IDB as normal.
466
- var isOfflineNetworkListener = isOffline && ((_v = props.bareSettings) === null || _v === void 0 ? void 0 : _v.bareOfflineNetworkListener);
467
- 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;
468
515
  var remainId = showId || selectedObjectStructureId ? true : false;
469
- var idField = ((_x = props.space) === null || _x === void 0 ? void 0 : _x.idField) || ((_y = props.organise) === null || _y === void 0 ? void 0 : _y.idField);
470
- var pipeline = (_z = props === null || props === void 0 ? void 0 : props.space) === null || _z === void 0 ? void 0 : _z.pipeline;
471
- 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) {
472
519
  pipeline = pipeline
473
520
  ? __spreadArray(__spreadArray([], pipeline, true), props.bareSettings.bareListPipeline, true) : props.bareSettings.bareListPipeline;
474
521
  }
475
- 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;
476
523
  var formColumn = "grid-cols-12";
477
- 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;
478
525
  var gridGap = useMobileView ? "gap-x-6 gap-y-2 md:gap-y-6" : "gap-6";
479
- var isActivityLog = (((_5 = (_4 = props.edit) === null || _4 === void 0 ? void 0 : _4.activityLog) === null || _5 === void 0 ? void 0 : _5.enableComments) &&
480
- ((_6 = props.edit) === null || _6 === void 0 ? void 0 : _6.activityLog.commentCollectionId)) ||
481
- (((_8 = (_7 = props.edit) === null || _7 === void 0 ? void 0 : _7.activityLog) === null || _8 === void 0 ? void 0 : _8.enableLogs) &&
482
- ((_9 = props.edit) === null || _9 === void 0 ? void 0 : _9.activityLog.logsCollectionId));
483
- 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)
484
531
  ? props.organise.customPaginationCount(size)
485
532
  : undefined;
486
533
  //TODO : Code - Pass ...devSettings, search dbEndpoint:
487
534
  var writeServerQuery = new writeQuery_1.WriteQuery({
488
- 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,
489
536
  dbType: devSettings.server,
490
537
  dbCollection: props.collectionId,
491
538
  dbEndpoint: devSettings.dbEndpoint,
@@ -493,7 +540,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
493
540
  dbUserToken: devSettings.dbUserToken,
494
541
  });
495
542
  var readServerQuery = new readQuery_1.ReadQuery({
496
- 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,
497
544
  dbType: devSettings.server,
498
545
  dbCollection: props.collectionId,
499
546
  dbEndpoint: devSettings.dbEndpoint,
@@ -501,9 +548,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
501
548
  dbUserToken: devSettings.dbUserToken,
502
549
  });
503
550
  var moreButtonPopUp = [
504
- ((_13 = props.edit) === null || _13 === void 0 ? void 0 : _13.allEditable) &&
551
+ ((_21 = props.edit) === null || _21 === void 0 ? void 0 : _21.allEditable) &&
505
552
  !isFirebase &&
506
- !((_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)
507
554
  ? {
508
555
  text: "Import Excel",
509
556
  onClick: function () {
@@ -512,7 +559,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
512
559
  },
513
560
  }
514
561
  : null,
515
- !((_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)
516
563
  ? {
517
564
  text: "Export CSV",
518
565
  onClick: function () {
@@ -522,7 +569,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
522
569
  },
523
570
  }
524
571
  : null,
525
- !((_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)
526
573
  ? {
527
574
  text: "Export Excel",
528
575
  onClick: function () {
@@ -532,7 +579,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
532
579
  },
533
580
  }
534
581
  : null,
535
- !((_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)
536
583
  ? {
537
584
  text: "Export PDF",
538
585
  onClick: function () {
@@ -542,7 +589,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
542
589
  },
543
590
  }
544
591
  : null,
545
- !((_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)
546
593
  ? {
547
594
  text: "Export QR",
548
595
  onClick: function () {
@@ -552,7 +599,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
552
599
  },
553
600
  }
554
601
  : null,
555
- !((_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)
556
603
  ? {
557
604
  text: "Export QR(Data)",
558
605
  onClick: function () {
@@ -562,7 +609,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
562
609
  },
563
610
  }
564
611
  : null,
565
- !((_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)
566
613
  ? {
567
614
  text: "Print",
568
615
  onClick: function () {
@@ -572,7 +619,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
572
619
  },
573
620
  }
574
621
  : null,
575
- !((_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)
576
623
  ? {
577
624
  text: filterDraft ? "Show All Items" : "Filter Draft",
578
625
  onClick: function () {
@@ -581,7 +628,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
581
628
  }
582
629
  : null,
583
630
  ].filter(Boolean);
584
- 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)
585
632
  moreButtonPopUp = moreButtonPopUp.concat(props.organise.moreSettings);
586
633
  //=====================================================================================
587
634
  //SECTION: Flex Filter Handlers
@@ -621,6 +668,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
621
668
  handleClearFlexFilterTypingTimeout();
622
669
  setFlexFilters(updatedFilters);
623
670
  setFlexFiltersDebounced(updatedFilters);
671
+ setPageIndex(0);
624
672
  };
625
673
  var handleFlexFilterClearAll = function () {
626
674
  // INFO: Reset to one empty row so the UI never shows a blank state
@@ -630,6 +678,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
630
678
  handleClearFlexFilterTypingTimeout();
631
679
  setFlexFilters(updatedFilters);
632
680
  setFlexFiltersDebounced(updatedFilters);
681
+ setPageIndex(0);
633
682
  };
634
683
  var handleFlexFilterColumnChange = function (filterId, columnId) {
635
684
  var updatedFilters = flexFilters.map(function (f) {
@@ -666,6 +715,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
666
715
  handleClearFlexFilterTypingTimeout();
667
716
  flexFilterTypingTimeout.current = setTimeout(function () {
668
717
  setFlexFiltersDebounced(updatedFilters);
718
+ setPageIndex(0);
669
719
  }, 500);
670
720
  };
671
721
  var handleFlexFilterReferenceOptionsLoaded = function (columnId, options) {
@@ -726,6 +776,48 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
726
776
  isLive: isLive,
727
777
  isLiveOffline: isLiveOffline,
728
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
+ ]);
729
821
  (0, react_1.useEffect)(function () {
730
822
  handleCheckOfflineDataLength();
731
823
  /* eslint-disable */
@@ -737,7 +829,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
737
829
  (0, react_1.useEffect)(function () {
738
830
  handleOfflinePrefetch();
739
831
  /* eslint-disable */
740
- }, [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]);
741
833
  /* eslint-enable */
742
834
  // INFO: MRQ polling — calls handleRefresh every N ms (e.g. 1500) as a fallback.
743
835
  // Calls through handleRefreshRef so the interval always dispatches the latest
@@ -757,7 +849,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
757
849
  }, interval);
758
850
  return function () { return clearInterval(timer); };
759
851
  /* eslint-disable */
760
- }, [(_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]);
761
853
  /* eslint-enable */
762
854
  // INFO: Pub/Sub → SSE live-stream — driven by bareSettings.bareSocketName
763
855
  // EventSource URL: {sseEndpoint}/{room}?bm_apiToken={token}
@@ -799,7 +891,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
799
891
  };
800
892
  /* eslint-disable */
801
893
  }, [
802
- (_33 = props.bareSettings) === null || _33 === void 0 ? void 0 : _33.bareSocketName,
894
+ (_41 = props.bareSettings) === null || _41 === void 0 ? void 0 : _41.bareSocketName,
803
895
  props.collectionId,
804
896
  props.devSettings.sseEndpoint,
805
897
  props.devSettings.dbAPIToken,
@@ -993,8 +1085,14 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
993
1085
  }
994
1086
  });
995
1087
  }); };
996
- // INFO : Set Updated Structure
997
- 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;
998
1096
  setAdditionalQuery((_c = (_b = props.organise) === null || _b === void 0 ? void 0 : _b.additionalQuery) !== null && _c !== void 0 ? _c : []);
999
1097
  setGroupId((_e = (_d = props.organise) === null || _d === void 0 ? void 0 : _d.groupBy) !== null && _e !== void 0 ? _e : "");
1000
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 : "");
@@ -1032,10 +1130,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1032
1130
  props.collectionId,
1033
1131
  props.model,
1034
1132
  props.localURLEndpoint,
1035
- (_34 = props.organise) === null || _34 === void 0 ? void 0 : _34.extendedTabs,
1036
- (_35 = props.organise) === null || _35 === void 0 ? void 0 : _35.viewId,
1037
- (_36 = props.organise) === null || _36 === void 0 ? void 0 : _36.additionalQuery,
1038
- (_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,
1039
1137
  props.type,
1040
1138
  ]);
1041
1139
  (0, react_1.useEffect)(function () {
@@ -1125,7 +1223,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1125
1223
  };
1126
1224
  }, 100);
1127
1225
  return function () { return clearTimeout(timeoutId); };
1128
- }, [(_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]);
1129
1227
  (0, react_1.useEffect)(function () {
1130
1228
  if (props.type !== "read")
1131
1229
  return;
@@ -1591,8 +1689,8 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1591
1689
  // useEffect to re-run (which would tear down and rebuild the EventSource).
1592
1690
  handleApplyEnvelopeRef.current = handleApplyEnvelope;
1593
1691
  var handleReadQueryHocSort = function (query) {
1594
- var _a, _b;
1595
- 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;
1596
1694
  if (isFirebase) {
1597
1695
  query === null || query === void 0 ? void 0 : query.map(function (eachQuery) {
1598
1696
  var _a, _b;
@@ -1916,8 +2014,15 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1916
2014
  else {
1917
2015
  newTableData = [];
1918
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.
1919
2019
  if ((Object.values(filterSearchParams).some(function (eachValue) { return eachValue && eachValue.length > 0; }) ||
1920
- 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
+ })) &&
1921
2026
  pageIndex === 0) {
1922
2027
  newTableData = dataList;
1923
2028
  newPrettierTableData = prettierDataList;
@@ -2056,6 +2161,12 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
2056
2161
  setCursor("");
2057
2162
  setLastCursor("");
2058
2163
  setTableLoading(true);
2164
+ // INFO: In scroll mode, accumulated rows must be cleared on refresh/filter change
2165
+ // so the fresh response replaces stale data instead of being deduped away.
2166
+ if (renderCheckScrollMode()) {
2167
+ setTableData([]);
2168
+ setSpaceTableData([]);
2169
+ }
2059
2170
  };
2060
2171
  var handleNameSearch = function (e) {
2061
2172
  handleClearDataByFilter("search");
@@ -6420,7 +6531,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
6420
6531
  authList));
6421
6532
  };
6422
6533
  var renderContent = function () {
6423
- 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;
6534
+ 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;
6424
6535
  var isBottom = ((_a = props.bareSettings) === null || _a === void 0 ? void 0 : _a.bareUpdateActionBottom) ? true : false;
6425
6536
  var tabs = renderTabs();
6426
6537
  var pages = [
@@ -6707,23 +6818,29 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
6707
6818
  var filterComponent_1 = renderSearchContent();
6708
6819
  var dataComponent = renderTabContent(tabs, props.type, viewType);
6709
6820
  var actionComponent = renderActionButtons(props.type);
6821
+ // INFO: Active flex filter count — used by both the filter icon badge and floating search bar
6822
+ var activeFlexFilterCount_1 = ((_19 = props.bareSettings) === null || _19 === void 0 ? void 0 : _19.bareFlexFilters)
6823
+ ? flexFilters.filter(function (eachFilter) {
6824
+ return eachFilter.columnId && eachFilter.operator && eachFilter.value;
6825
+ }).length
6826
+ : 0;
6710
6827
  var listReadQueryHOC = (react_1.default.createElement(readQueryHoc_1.ReadQueryHoc, { ref: listRQueryHocRef, database: {
6711
6828
  dbModule: dbModule,
6712
6829
  dbType: devSettings.server,
6713
- 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,
6830
+ 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,
6714
6831
  dbEndpoint: devSettings.dbEndpoint,
6715
6832
  dbAPIToken: devSettings.dbAPIToken,
6716
6833
  dbUserToken: devSettings.dbUserToken,
6717
- }, cond: handleReadQueryHocCond(), offline: ((_21 = props.bareSettings) === null || _21 === void 0 ? void 0 : _21.bareOffline) && isNetworkOffline, onChangeData: function (data) {
6834
+ }, cond: handleReadQueryHocCond(), offline: ((_22 = props.bareSettings) === null || _22 === void 0 ? void 0 : _22.bareOffline) && isNetworkOffline, onChangeData: function (data) {
6718
6835
  handleGetListData(data, "", "");
6719
6836
  }, onError: handleGetItemError }));
6720
- if ((_22 = props.renderSettings) === null || _22 === void 0 ? void 0 : _22.renderListUI) {
6837
+ if ((_23 = props.renderSettings) === null || _23 === void 0 ? void 0 : _23.renderListUI) {
6721
6838
  return (react_1.default.createElement(react_1.default.Fragment, null,
6722
6839
  listReadQueryHOC,
6723
6840
  props.renderSettings.renderListUI(actionComponent, filterComponent_1, dataComponent)));
6724
6841
  }
6725
6842
  var renderListFilterElements = function () {
6726
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
6843
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
6727
6844
  // INFO: When bareListFilterAsPopup is true, filters are shown in a popup instead.
6728
6845
  if ((_a = props.bareSettings) === null || _a === void 0 ? void 0 : _a.bareListFilterAsPopup)
6729
6846
  return null;
@@ -6740,14 +6857,16 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
6740
6857
  filterComponent_1.length > 0 &&
6741
6858
  !((_d = props.organise) === null || _d === void 0 ? void 0 : _d.hideSearch)) {
6742
6859
  var searchInput = filterComponent_1[filterComponent_1.length - 1];
6743
- return (react_1.default.createElement("div", { className: "flex-1 sm:flex-none sm:w-64 min-w-0 mr-3" }, searchInput));
6860
+ 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)
6861
+ ? " hidden md:block"
6862
+ : "") }, searchInput));
6744
6863
  }
6745
6864
  return null;
6746
6865
  }
6747
6866
  var filterElementList = [];
6748
- if (!((_e = props.organise) === null || _e === void 0 ? void 0 : _e.filterComponentNewRow)) {
6749
- if ((_f = props.organise) === null || _f === void 0 ? void 0 : _f.showGroupByFeature) {
6750
- 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); } }));
6867
+ if (!((_f = props.organise) === null || _f === void 0 ? void 0 : _f.filterComponentNewRow)) {
6868
+ if ((_g = props.organise) === null || _g === void 0 ? void 0 : _g.showGroupByFeature) {
6869
+ 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); } }));
6751
6870
  }
6752
6871
  if (filterComponent_1 &&
6753
6872
  Array.isArray(filterComponent_1) &&
@@ -6817,11 +6936,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
6817
6936
  filterComponent_1.length > 0
6818
6937
  ? filterComponent_1[filterComponent_1.length - 1]
6819
6938
  : undefined;
6820
- var flexFilterLength_1 = (_k = flexFilters.filter(function (eachFilter) {
6821
- return eachFilter.columnId && eachFilter.operator && eachFilter.value;
6822
- })) === null || _k === void 0 ? void 0 : _k.length;
6823
- if (!((_l = props.organise) === null || _l === void 0 ? void 0 : _l.hideSearch) &&
6824
- ((_m = props.bareSettings) === null || _m === void 0 ? void 0 : _m.bareListFilterAsPopup) &&
6939
+ var flexFilterLength_1 = activeFlexFilterCount_1;
6940
+ if (!((_k = props.organise) === null || _k === void 0 ? void 0 : _k.hideSearch) &&
6941
+ ((_l = props.bareSettings) === null || _l === void 0 ? void 0 : _l.bareListFilterAsPopup) &&
6825
6942
  (filterSearchParams === null || filterSearchParams === void 0 ? void 0 : filterSearchParams["search"]))
6826
6943
  flexFilterLength_1 += 1;
6827
6944
  var flexFilterIconBtn = function (mobile) {
@@ -6831,10 +6948,11 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
6831
6948
  };
6832
6949
  // INFO: Desktop — PopUp (hidden on mobile)
6833
6950
  actionElementList.push(react_1.default.createElement("div", { className: "hidden md:block" },
6834
- react_1.default.createElement(popUp_1.PopUp, { ctaComp: flexFilterIconBtn(), renderComp: (0, flexFilter_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 } })));
6951
+ 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 } })));
6835
6952
  // INFO: Mobile — IconButton that opens a Modal (hidden on desktop)
6836
6953
  actionElementList.push(react_1.default.createElement("div", { className: "block md:hidden" },
6837
- flexFilterIconBtn(true),
6954
+ !((_q = props.bareSettings) === null || _q === void 0 ? void 0 : _q.bareListMobileFloatingSearch) &&
6955
+ flexFilterIconBtn(true),
6838
6956
  (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)));
6839
6957
  }
6840
6958
  if (!isBottom) {
@@ -6892,30 +7010,53 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
6892
7010
  };
6893
7011
  return (react_1.default.createElement(react_1.default.Fragment, null,
6894
7012
  listReadQueryHOC,
6895
- react_1.default.createElement("div", { className: "flex py-2 ".concat(((_23 = props.bareSettings) === null || _23 === void 0 ? void 0 : _23.bareCompactMode)
7013
+ react_1.default.createElement("div", { className: "flex py-2 ".concat(((_24 = props.bareSettings) === null || _24 === void 0 ? void 0 : _24.bareCompactMode)
6896
7014
  ? "w-full flex-row flex-wrap sm:flex-nowrap items-end"
6897
7015
  : "flex-col md:items-end md:flex-row") },
6898
7016
  (props.title || props.description) && (react_1.default.createElement("div", { className: "flex flex-col" },
6899
7017
  props.title && (react_1.default.createElement("div", { className: "flex items-center gap-2" },
6900
7018
  react_1.default.createElement("p", { className: "text-xl font-medium" }, props.title),
6901
- ((_24 = props.bareSettings) === null || _24 === void 0 ? void 0 : _24.bareSocketName) &&
7019
+ ((_25 = props.bareSettings) === null || _25 === void 0 ? void 0 : _25.bareSocketName) &&
6902
7020
  isLive &&
6903
7021
  !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" },
6904
7022
  react_1.default.createElement("span", { className: "h-1.5 w-1.5 rounded-full bg-green-500" }),
6905
7023
  "LIVE")),
6906
- ((_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" },
7024
+ ((_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" },
6907
7025
  react_1.default.createElement("span", { className: "h-1.5 w-1.5 rounded-full bg-orange-400" }),
6908
7026
  "OFFLINE")))),
6909
7027
  props.description && (react_1.default.createElement("span", { className: "text-sm text-gray-500" }, props.description)))),
6910
- react_1.default.createElement("div", { className: ((_26 = props.bareSettings) === null || _26 === void 0 ? void 0 : _26.bareCompactMode)
7028
+ react_1.default.createElement("div", { className: ((_27 = props.bareSettings) === null || _27 === void 0 ? void 0 : _27.bareCompactMode)
6911
7029
  ? "hidden sm:block grow"
6912
7030
  : "grow" }),
6913
7031
  renderListFilterElements(),
6914
7032
  renderListActionElements()),
6915
7033
  renderListNewRowFilterElements(),
6916
- (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 })),
7034
+ (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 })),
6917
7035
  renderTabContent(tabs, props.type, viewType),
6918
- isBottom && renderActionButtons(props.type, true)));
7036
+ isBottom && renderActionButtons(props.type, true),
7037
+ ((_30 = props.bareSettings) === null || _30 === void 0 ? void 0 : _30.bareListMobileFloatingSearch) &&
7038
+ (0, listModule_1.renderFloatingMobileSearch)({
7039
+ filterSearch: filterSearch,
7040
+ handleNameSearch: handleNameSearch,
7041
+ onFilterClick: function () {
7042
+ var _a;
7043
+ if ((_a = props.bareSettings) === null || _a === void 0 ? void 0 : _a.bareFlexFilters) {
7044
+ setFlexFilterModalOpen(true);
7045
+ }
7046
+ else {
7047
+ handlePopUpModal(true, "filter");
7048
+ }
7049
+ },
7050
+ hideSearch: (_31 = props.organise) === null || _31 === void 0 ? void 0 : _31.hideSearch,
7051
+ darkMode: (_32 = props.organise) === null || _32 === void 0 ? void 0 : _32.darkMode,
7052
+ floatingOffset: (_33 = props.bareSettings) === null || _33 === void 0 ? void 0 : _33.bareListFloatingActionOffset,
7053
+ hideFilter: !((_34 = props.bareSettings) === null || _34 === void 0 ? void 0 : _34.bareFlexFilters),
7054
+ activeFilterCount: ((_35 = props.bareSettings) === null || _35 === void 0 ? void 0 : _35.bareFlexFilters)
7055
+ ? activeFlexFilterCount_1
7056
+ : undefined,
7057
+ // INFO: Hides when items are selected so NewTable's multi-action bar takes over.
7058
+ hidden: selectAll || ((_36 = selectedIds === null || selectedIds === void 0 ? void 0 : selectedIds.length) !== null && _36 !== void 0 ? _36 : 0) > 0,
7059
+ })));
6919
7060
  default:
6920
7061
  return react_1.default.createElement(react_1.default.Fragment, null);
6921
7062
  }
@@ -7273,7 +7414,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7273
7414
  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 }));
7274
7415
  };
7275
7416
  var renderGroupTable = function (multipleSelect) {
7276
- 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;
7417
+ 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;
7277
7418
  if (groupId) {
7278
7419
  var groupAttributeDS_1 = structure.find(function (eachDS) { return eachDS.id === groupId; });
7279
7420
  var groupedSpaceTableData = spaceTableData.reduce(function (acc, eachData) {
@@ -7301,7 +7442,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7301
7442
  }
7302
7443
  else {
7303
7444
  return Object.entries(groupedSpaceTableData).map(function (_a) {
7304
- 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;
7445
+ 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;
7305
7446
  var eachKey = _a[0], eachValue = _a[1];
7306
7447
  var dataList = eachValue;
7307
7448
  var ids = (dataList === null || dataList === void 0 ? void 0 : dataList.map(function (eachData) { return eachData._id; })) || [];
@@ -7346,10 +7487,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7346
7487
  filterEnabled: ((_w = props.bareSettings) === null || _w === void 0 ? void 0 : _w.bareFlexFilters)
7347
7488
  ? false
7348
7489
  : (_x = props.organise) === null || _x === void 0 ? void 0 : _x.advFilterEnabled,
7349
- sortId: (_y = props.organise) === null || _y === void 0 ? void 0 : _y.sort,
7350
- sortOptions: (_0 = (_z = props.organise) === null || _z === void 0 ? void 0 : _z.renderReferenceLabelOptions) === null || _0 === void 0 ? void 0 : _0.call(_z),
7351
- onSortColumn: (_1 = props.organise) === null || _1 === void 0 ? void 0 : _1.onChangeSort,
7352
- onDragColumn: (_2 = props.organise) === null || _2 === void 0 ? void 0 : _2.onChangeDrag,
7490
+ sortId: activeSortId,
7491
+ sortOptions: (_z = (_y = props.organise) === null || _y === void 0 ? void 0 : _y.renderReferenceLabelOptions) === null || _z === void 0 ? void 0 : _z.call(_y),
7492
+ onSortColumn: handleSortColumn,
7493
+ onDragColumn: (_0 = props.organise) === null || _0 === void 0 ? void 0 : _0.onChangeDrag,
7353
7494
  filterOptions: additionalQuery === null || additionalQuery === void 0 ? void 0 : additionalQuery.map(function (eachQuery) {
7354
7495
  var _a;
7355
7496
  return {
@@ -7366,7 +7507,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7366
7507
  return renderSearchContent(newQuery);
7367
7508
  },
7368
7509
  }, editable: {
7369
- active: ((_3 = props.edit) === null || _3 === void 0 ? void 0 : _3.listEditable) && !props.edit.disabledUpdate
7510
+ active: ((_1 = props.edit) === null || _1 === void 0 ? void 0 : _1.listEditable) && !props.edit.disabledUpdate
7370
7511
  ? true
7371
7512
  : false,
7372
7513
  onUpdateData: function (rowId, columnId, data) { return __awaiter(void 0, void 0, void 0, function () {
@@ -7380,7 +7521,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7380
7521
  });
7381
7522
  }); },
7382
7523
  }, addable: {
7383
- active: ((_4 = props.edit) === null || _4 === void 0 ? void 0 : _4.listAddable) ? true : false,
7524
+ active: ((_2 = props.edit) === null || _2 === void 0 ? void 0 : _2.listAddable) ? true : false,
7384
7525
  onAddData: function (data) { return __awaiter(void 0, void 0, void 0, function () {
7385
7526
  return __generator(this, function (_a) {
7386
7527
  switch (_a.label) {
@@ -7391,7 +7532,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7391
7532
  }
7392
7533
  });
7393
7534
  }); },
7394
- }, 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 })));
7535
+ }, 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 })));
7395
7536
  });
7396
7537
  }
7397
7538
  }
@@ -7455,10 +7596,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7455
7596
  filterEnabled: ((_w = props.bareSettings) === null || _w === void 0 ? void 0 : _w.bareFlexFilters)
7456
7597
  ? false
7457
7598
  : (_x = props.organise) === null || _x === void 0 ? void 0 : _x.advFilterEnabled,
7458
- sortId: (_y = props.organise) === null || _y === void 0 ? void 0 : _y.sort,
7459
- sortOptions: (_0 = (_z = props.organise) === null || _z === void 0 ? void 0 : _z.renderReferenceLabelOptions) === null || _0 === void 0 ? void 0 : _0.call(_z),
7460
- onSortColumn: (_1 = props.organise) === null || _1 === void 0 ? void 0 : _1.onChangeSort,
7461
- onDragColumn: (_2 = props.organise) === null || _2 === void 0 ? void 0 : _2.onChangeDrag,
7599
+ sortId: activeSortId,
7600
+ sortOptions: (_z = (_y = props.organise) === null || _y === void 0 ? void 0 : _y.renderReferenceLabelOptions) === null || _z === void 0 ? void 0 : _z.call(_y),
7601
+ onSortColumn: handleSortColumn,
7602
+ onDragColumn: (_0 = props.organise) === null || _0 === void 0 ? void 0 : _0.onChangeDrag,
7462
7603
  filterOptions: additionalQuery === null || additionalQuery === void 0 ? void 0 : additionalQuery.map(function (eachQuery) {
7463
7604
  var _a;
7464
7605
  return {
@@ -7475,7 +7616,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7475
7616
  return renderSearchContent(newQuery);
7476
7617
  },
7477
7618
  }, editable: {
7478
- active: ((_3 = props.edit) === null || _3 === void 0 ? void 0 : _3.listEditable) && !props.edit.disabledUpdate
7619
+ active: ((_1 = props.edit) === null || _1 === void 0 ? void 0 : _1.listEditable) && !props.edit.disabledUpdate
7479
7620
  ? true
7480
7621
  : false,
7481
7622
  onUpdateData: function (rowId, columnId, data) { return __awaiter(void 0, void 0, void 0, function () {
@@ -7489,7 +7630,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7489
7630
  });
7490
7631
  }); },
7491
7632
  }, addable: {
7492
- active: ((_4 = props.edit) === null || _4 === void 0 ? void 0 : _4.listAddable) ? true : false,
7633
+ active: ((_2 = props.edit) === null || _2 === void 0 ? void 0 : _2.listAddable) ? true : false,
7493
7634
  onAddData: function (data) { return __awaiter(void 0, void 0, void 0, function () {
7494
7635
  return __generator(this, function (_a) {
7495
7636
  switch (_a.label) {
@@ -7500,27 +7641,27 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7500
7641
  }
7501
7642
  });
7502
7643
  }); },
7503
- }, 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 }));
7644
+ }, 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 }));
7504
7645
  }
7505
- 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" },
7646
+ 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" },
7506
7647
  selectedIds.length > 0 &&
7507
- !((_11 = props.edit) === null || _11 === void 0 ? void 0 : _11.disabledUpdate) &&
7508
- !((_12 = props.bareSettings) === null || _12 === void 0 ? void 0 : _12.bareHideTableExtraMultipleAction) && (react_1.default.createElement(react_1.default.Fragment, null,
7648
+ !((_9 = props.edit) === null || _9 === void 0 ? void 0 : _9.disabledUpdate) &&
7649
+ !((_10 = props.bareSettings) === null || _10 === void 0 ? void 0 : _10.bareHideTableExtraMultipleAction) && (react_1.default.createElement(react_1.default.Fragment, null,
7509
7650
  react_1.default.createElement(textButton_1.TextButton, { className: "text-sm", text: "Change to Draft", disable: loading, onClick: function () {
7510
7651
  handleBatchDraftData();
7511
7652
  } }),
7512
7653
  react_1.default.createElement(textButton_1.TextButton, { className: "text-sm", text: "Clone Items", disable: loading, onClick: function () {
7513
7654
  handleCloneSelectedData();
7514
7655
  } }))),
7515
- ((_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 () {
7656
+ ((_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 () {
7516
7657
  handleGenerateDeletePasscode();
7517
7658
  setDeleteModal(true);
7518
7659
  } })),
7519
- !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 () {
7660
+ !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 () {
7520
7661
  setBatchUpdateModal(true);
7521
7662
  } })),
7522
- ((_15 = props.bareSettings) === null || _15 === void 0 ? void 0 : _15.bareListMultipleSelectAddtionalActions) &&
7523
- ((_17 = (_16 = props.bareSettings) === null || _16 === void 0 ? void 0 : _16.bareListMultipleSelectAddtionalActions) === null || _17 === void 0 ? void 0 : _17.map(function (eachButton) {
7663
+ ((_13 = props.bareSettings) === null || _13 === void 0 ? void 0 : _13.bareListMultipleSelectAddtionalActions) &&
7664
+ ((_15 = (_14 = props.bareSettings) === null || _14 === void 0 ? void 0 : _14.bareListMultipleSelectAddtionalActions) === null || _15 === void 0 ? void 0 : _15.map(function (eachButton) {
7524
7665
  return (react_1.default.createElement(textButton_1.TextButton, { className: "text-sm ".concat(eachButton.className), text: eachButton.text, onClick: function () {
7525
7666
  var _a, _b;
7526
7667
  (_a = eachButton.onClick) === null || _a === void 0 ? void 0 : _a.call(eachButton, selectedIds, selectAll, (_b = renderImpSearchFilterConditions()) !== null && _b !== void 0 ? _b : []);
@@ -7528,20 +7669,20 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7528
7669
  }))), handleSelectAll: handleSelectAllPages, handleSelectedIds: handleSelectIds, header: renderTableHeader(), pageIndex: pageIndex !== null && pageIndex !== void 0 ? pageIndex : 0, onClickRow: function (id) {
7529
7670
  var _a, _b;
7530
7671
  (_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.handleNavigate) === null || _b === void 0 ? void 0 : _b.call(_a, "read", id, "general");
7531
- }, 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) {
7672
+ }, 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) {
7532
7673
  handlePagination(value);
7533
- }, 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: {
7534
- addColumnEnabled: (_24 = props.organise) === null || _24 === void 0 ? void 0 : _24.addColumnEnabled,
7674
+ }, 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: {
7675
+ addColumnEnabled: (_22 = props.organise) === null || _22 === void 0 ? void 0 : _22.addColumnEnabled,
7535
7676
  renderAddColumnElements: renderAddMathColumn,
7536
- dragEnabled: (_25 = props.organise) === null || _25 === void 0 ? void 0 : _25.advDragEnabled,
7537
- sortEnabled: (_26 = props.organise) === null || _26 === void 0 ? void 0 : _26.advSortEnabled,
7538
- filterEnabled: ((_27 = props.bareSettings) === null || _27 === void 0 ? void 0 : _27.bareFlexFilters)
7677
+ dragEnabled: (_23 = props.organise) === null || _23 === void 0 ? void 0 : _23.advDragEnabled,
7678
+ sortEnabled: (_24 = props.organise) === null || _24 === void 0 ? void 0 : _24.advSortEnabled,
7679
+ filterEnabled: ((_25 = props.bareSettings) === null || _25 === void 0 ? void 0 : _25.bareFlexFilters)
7539
7680
  ? false
7540
- : (_28 = props.organise) === null || _28 === void 0 ? void 0 : _28.advFilterEnabled,
7541
- sortId: (_29 = props.organise) === null || _29 === void 0 ? void 0 : _29.sort,
7542
- sortOptions: (_31 = (_30 = props.organise) === null || _30 === void 0 ? void 0 : _30.renderReferenceLabelOptions) === null || _31 === void 0 ? void 0 : _31.call(_30),
7543
- onSortColumn: (_32 = props.organise) === null || _32 === void 0 ? void 0 : _32.onChangeSort,
7544
- onDragColumn: (_33 = props.organise) === null || _33 === void 0 ? void 0 : _33.onChangeDrag,
7681
+ : (_26 = props.organise) === null || _26 === void 0 ? void 0 : _26.advFilterEnabled,
7682
+ sortId: activeSortId,
7683
+ sortOptions: (_28 = (_27 = props.organise) === null || _27 === void 0 ? void 0 : _27.renderReferenceLabelOptions) === null || _28 === void 0 ? void 0 : _28.call(_27),
7684
+ onSortColumn: handleSortColumn,
7685
+ onDragColumn: (_29 = props.organise) === null || _29 === void 0 ? void 0 : _29.onChangeDrag,
7545
7686
  filterOptions: additionalQuery === null || additionalQuery === void 0 ? void 0 : additionalQuery.map(function (eachQuery) {
7546
7687
  var _a;
7547
7688
  return {
@@ -7558,7 +7699,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7558
7699
  return renderSearchContent(newQuery);
7559
7700
  },
7560
7701
  }, editable: {
7561
- active: ((_34 = props.edit) === null || _34 === void 0 ? void 0 : _34.listEditable) && !props.edit.disabledUpdate
7702
+ active: ((_30 = props.edit) === null || _30 === void 0 ? void 0 : _30.listEditable) && !props.edit.disabledUpdate
7562
7703
  ? true
7563
7704
  : false,
7564
7705
  onUpdateData: function (rowId, columnId, data) { return __awaiter(void 0, void 0, void 0, function () {
@@ -7572,7 +7713,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7572
7713
  });
7573
7714
  }); },
7574
7715
  }, addable: {
7575
- active: ((_35 = props.edit) === null || _35 === void 0 ? void 0 : _35.listAddable) ? true : false,
7716
+ active: ((_31 = props.edit) === null || _31 === void 0 ? void 0 : _31.listAddable) ? true : false,
7576
7717
  onAddData: function (data) { return __awaiter(void 0, void 0, void 0, function () {
7577
7718
  return __generator(this, function (_a) {
7578
7719
  switch (_a.label) {
@@ -7583,7 +7724,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
7583
7724
  }
7584
7725
  });
7585
7726
  }); },
7586
- }, 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 }));
7727
+ }, 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 }));
7587
7728
  }
7588
7729
  };
7589
7730
  var renderTabContent = function (tabs, dataType, viewType) {
@@ -8239,7 +8380,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
8239
8380
  return null;
8240
8381
  };
8241
8382
  var renderModalContent = function () {
8242
- 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;
8383
+ 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;
8243
8384
  if (loading) {
8244
8385
  return (react_1.default.createElement("div", { className: "mt-5" },
8245
8386
  react_1.default.createElement(loading_1.Loading, null),
@@ -8329,22 +8470,27 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
8329
8470
  } }))))));
8330
8471
  }
8331
8472
  else if (sortModal) {
8332
- 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 () {
8473
+ 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 () {
8333
8474
  handlePopUpModal(false);
8334
8475
  } }));
8335
8476
  }
8336
8477
  else if (overviewModal) {
8337
- 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 () {
8478
+ return (react_1.default.createElement(settingsModal_1.OverviewModal, { model: structure, referenceSchema: referenceModelSchema, setReferenceSchema: setReferenceSchema, onChangeHide: function (updatedModel) {
8479
+ var _a, _b;
8480
+ // INFO: Update internal structure state so persistence captures the change
8481
+ setStructure(updatedModel);
8482
+ (_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.onChangeHide) === null || _b === void 0 ? void 0 : _b.call(_a, updatedModel);
8483
+ }, onClose: function () {
8338
8484
  handlePopUpModal(false);
8339
8485
  } }));
8340
8486
  }
8341
8487
  else if (filterModal) {
8342
- 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 () {
8488
+ 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 () {
8343
8489
  handlePopUpModal(false);
8344
8490
  } }));
8345
8491
  }
8346
8492
  else if (addTabModal) {
8347
- 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 () {
8493
+ 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 () {
8348
8494
  handlePopUpModal(false);
8349
8495
  } }));
8350
8496
  }
@@ -8406,7 +8552,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
8406
8552
  return eachModel.id === selectedObjectStructureId;
8407
8553
  });
8408
8554
  if (filterObjectModel === null || filterObjectModel === void 0 ? void 0 : filterObjectModel.objectData) {
8409
- var modalModel_1 = (_z = filterObjectModel === null || filterObjectModel === void 0 ? void 0 : filterObjectModel.objectData) !== null && _z !== void 0 ? _z : [];
8555
+ var modalModel_1 = (_w = filterObjectModel === null || filterObjectModel === void 0 ? void 0 : filterObjectModel.objectData) !== null && _w !== void 0 ? _w : [];
8410
8556
  var handleOnFailValidation = function (refList) {
8411
8557
  var _a, _b;
8412
8558
  if ((refList === null || refList === void 0 ? void 0 : refList.length) > 0) {
@@ -8478,16 +8624,16 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
8478
8624
  disabledOnEnter_2 = true;
8479
8625
  return null;
8480
8626
  });
8481
- if ((_0 = props.bareSettings) === null || _0 === void 0 ? void 0 : _0.bareListObjectHandleData) {
8627
+ if ((_x = props.bareSettings) === null || _x === void 0 ? void 0 : _x.bareListObjectHandleData) {
8482
8628
  var listObjectViewType = props.type === "read"
8483
8629
  ? "read"
8484
8630
  : selectedObjectId
8485
8631
  ? "update"
8486
8632
  : "new";
8487
- (_2 = (_1 = props.bareSettings) === null || _1 === void 0 ? void 0 : _1.bareListObjectHandleData) === null || _2 === void 0 ? void 0 : _2.call(_1, listObjectViewType, selectedObjectData);
8633
+ (_z = (_y = props.bareSettings) === null || _y === void 0 ? void 0 : _y.bareListObjectHandleData) === null || _z === void 0 ? void 0 : _z.call(_y, listObjectViewType, selectedObjectData);
8488
8634
  }
8489
8635
  return (react_1.default.createElement(react_1.default.Fragment, null,
8490
- 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"
8636
+ 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"
8491
8637
  ? selectedData
8492
8638
  : undefined)),
8493
8639
  react_1.default.createElement("div", { className: "flex justify-end pt-8" },
@@ -8700,7 +8846,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
8700
8846
  };
8701
8847
  return (react_1.default.createElement(react_1.default.Fragment, null,
8702
8848
  renderNotification("root"),
8703
- ((_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 () {
8849
+ ((_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 () {
8704
8850
  var _a, _b;
8705
8851
  if (loading)
8706
8852
  return;