blixify-ui-web 1.2.124 → 1.2.126

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/lib/components/chat/chatAnchor/index.d.ts.map +1 -1
  2. package/lib/components/chat/chatAnchor/index.js +10 -4
  3. package/lib/components/chat/chatAnchor/index.js.map +1 -1
  4. package/lib/components/chat/chatBase/index.d.ts +23 -0
  5. package/lib/components/chat/chatBase/index.d.ts.map +1 -1
  6. package/lib/components/chat/chatBase/index.js +266 -47
  7. package/lib/components/chat/chatBase/index.js.map +1 -1
  8. package/lib/components/chat/chatDashboard/index.d.ts +3 -1
  9. package/lib/components/chat/chatDashboard/index.d.ts.map +1 -1
  10. package/lib/components/chat/chatDashboard/index.js +47 -39
  11. package/lib/components/chat/chatDashboard/index.js.map +1 -1
  12. package/lib/components/data/dataTemplate/dataStateModel.d.ts +7 -1
  13. package/lib/components/data/dataTemplate/dataStateModel.d.ts.map +1 -1
  14. package/lib/components/data/dataTemplate/dataStateModel.js.map +1 -1
  15. package/lib/components/data/dataTemplate/index.d.ts.map +1 -1
  16. package/lib/components/data/dataTemplate/index.js +260 -172
  17. package/lib/components/data/dataTemplate/index.js.map +1 -1
  18. package/lib/components/data/dataTemplate/viewStatePersistence.d.ts +1 -1
  19. package/lib/components/data/dataTemplate/viewStatePersistence.d.ts.map +1 -1
  20. package/lib/components/data/dataTemplate/viewStatePersistence.js +10 -5
  21. package/lib/components/data/dataTemplate/viewStatePersistence.js.map +1 -1
  22. package/lib/components/display/newList/index.d.ts +4 -0
  23. package/lib/components/display/newList/index.d.ts.map +1 -1
  24. package/lib/components/display/newList/index.js +18 -13
  25. package/lib/components/display/newList/index.js.map +1 -1
  26. package/lib/tail.css +2 -2
  27. package/package.json +1 -1
@@ -200,10 +200,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
200
200
  // Every read of the view type below uses resolvedType. The distinction matters
201
201
  // most in effect dependency arrays — following props.type there would leave
202
202
  // the list never refetching while the panel is open, which fails silently.
203
- 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, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82;
203
+ 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, _50, _51, _52, _53, _54, _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68, _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82, _83, _84;
204
204
  // INFO: the panel cannot navigate its way out — handleNavigate("read") is
205
205
  // routed straight back into it — so expand-to-full-page is local state.
206
- var _83 = (0, react_1.useState)(false), drawerPageView = _83[0], setDrawerPageView = _83[1];
206
+ var _85 = (0, react_1.useState)(false), drawerPageView = _85[0], setDrawerPageView = _85[1];
207
207
  // INFO: the panel keeps rendering the record it was opened with rather than
208
208
  // live props. Without this, navigating back to the list would re-render the
209
209
  // still-mounted panel as a second list behind the overlay.
@@ -285,18 +285,18 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
285
285
  initialFilterReferenceDate: initialFilterReferenceDate,
286
286
  };
287
287
  };
288
- var _84 = intialiseDefaultFilterValues(), initialFilterSearch = _84.initialFilterSearch, initialFilterSearchParams = _84.initialFilterSearchParams, initialFilterSelection = _84.initialFilterSelection, initialFilterReference = _84.initialFilterReference, initialFilterReferenceDate = _84.initialFilterReferenceDate;
288
+ var _86 = intialiseDefaultFilterValues(), initialFilterSearch = _86.initialFilterSearch, initialFilterSearchParams = _86.initialFilterSearchParams, initialFilterSelection = _86.initialFilterSelection, initialFilterReference = _86.initialFilterReference, initialFilterReferenceDate = _86.initialFilterReferenceDate;
289
289
  // INFO: Persist view state hook — handles storage read/write for filter/sort/column state
290
- var _85 = (0, viewStatePersistence_1.usePersistedViewState)({
290
+ var _87 = (0, viewStatePersistence_1.usePersistedViewState)({
291
291
  mode: (_b = props.organise) === null || _b === void 0 ? void 0 : _b.persistViewState,
292
292
  collectionId: props.collectionId,
293
293
  persistKey: (_c = props.organise) === null || _c === void 0 ? void 0 : _c.persistKey,
294
294
  type: resolvedType,
295
- }), rawPersistedState = _85.persistedState, isPersistEnabled = _85.isEnabled, handleSaveView = _85.handleSaveView, handleRegisterViewSnapshot = _85.handleRegisterViewSnapshot;
295
+ }), rawPersistedState = _87.persistedState, isPersistEnabled = _87.isEnabled, handleSaveView = _87.handleSaveView, handleRegisterViewSnapshot = _87.handleRegisterViewSnapshot;
296
296
  // INFO: drop stored filters/sort on removed columns — they would empty the table
297
297
  var persistedState = (0, react_1.useMemo)(function () { return (0, viewStatePersistence_1.handlePruneStaleColumns)(rawPersistedState, props.model); }, [rawPersistedState, props.model]);
298
- var _86 = (0, react_1.useState)(false), loading = _86[0], setLoading = _86[1];
299
- var _87 = (0, react_1.useState)(), notification = _87[0], setNotification = _87[1];
298
+ var _88 = (0, react_1.useState)(false), loading = _88[0], setLoading = _88[1];
299
+ var _89 = (0, react_1.useState)(), notification = _89[0], setNotification = _89[1];
300
300
  // INFO: a success toast is confirmation, not a decision — it clears itself so
301
301
  // it never sits on the floating step bar; errors stay until dismissed
302
302
  (0, react_1.useEffect)(function () {
@@ -306,59 +306,59 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
306
306
  return function () { return clearTimeout(timer); };
307
307
  }, [notification]);
308
308
  //INFO : Used by List
309
- var _88 = (0, react_1.useState)((_d = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSearchParams) !== null && _d !== void 0 ? _d : initialFilterSearch), filterSearch = _88[0], setFilterSearch = _88[1];
310
- var _89 = (0, react_1.useState)((_e = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSearchParams) !== null && _e !== void 0 ? _e : initialFilterSearchParams), filterSearchParams = _89[0], setFilterSearchParams = _89[1];
311
- var _90 = (0, react_1.useState)((_f = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSelection) !== null && _f !== void 0 ? _f : initialFilterSelection), filterSelection = _90[0], setFilterSelection = _90[1];
312
- var _91 = (0, react_1.useState)((_g = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterReference) !== null && _g !== void 0 ? _g : initialFilterReference), filterReference = _91[0], setFilterReference = _91[1];
313
- var _92 = (0, react_1.useState)({}), filterReferenceSearch = _92[0], setFilterReferenceSearch = _92[1];
314
- var _93 = (0, react_1.useState)({}), filterReferenceList = _93[0], setFilterReferenceList = _93[1];
315
- var _94 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterReferenceDate)
309
+ var _90 = (0, react_1.useState)((_d = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSearchParams) !== null && _d !== void 0 ? _d : initialFilterSearch), filterSearch = _90[0], setFilterSearch = _90[1];
310
+ var _91 = (0, react_1.useState)((_e = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSearchParams) !== null && _e !== void 0 ? _e : initialFilterSearchParams), filterSearchParams = _91[0], setFilterSearchParams = _91[1];
311
+ var _92 = (0, react_1.useState)((_f = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSelection) !== null && _f !== void 0 ? _f : initialFilterSelection), filterSelection = _92[0], setFilterSelection = _92[1];
312
+ var _93 = (0, react_1.useState)((_g = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterReference) !== null && _g !== void 0 ? _g : initialFilterReference), filterReference = _93[0], setFilterReference = _93[1];
313
+ var _94 = (0, react_1.useState)({}), filterReferenceSearch = _94[0], setFilterReferenceSearch = _94[1];
314
+ var _95 = (0, react_1.useState)({}), filterReferenceList = _95[0], setFilterReferenceList = _95[1];
315
+ var _96 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterReferenceDate)
316
316
  ? (0, viewStatePersistence_1.parseDateFilterState)(persistedState.filterReferenceDate)
317
- : initialFilterReferenceDate), filterReferenceDate = _94[0], setFilterReferenceDate = _94[1];
318
- var _95 = (0, react_1.useState)(true), tableLoading = _95[0], setTableLoading = _95[1];
319
- var _96 = (0, react_1.useState)(""), cursor = _96[0], setCursor = _96[1];
320
- var _97 = (0, react_1.useState)(""), lastCursor = _97[0], setLastCursor = _97[1];
321
- var _98 = (0, react_1.useState)([]), tableData = _98[0], setTableData = _98[1];
322
- var _99 = (0, react_1.useState)([]), spaceTableData = _99[0], setSpaceTableData = _99[1];
317
+ : initialFilterReferenceDate), filterReferenceDate = _96[0], setFilterReferenceDate = _96[1];
318
+ var _97 = (0, react_1.useState)(true), tableLoading = _97[0], setTableLoading = _97[1];
319
+ var _98 = (0, react_1.useState)(""), cursor = _98[0], setCursor = _98[1];
320
+ var _99 = (0, react_1.useState)(""), lastCursor = _99[0], setLastCursor = _99[1];
321
+ var _100 = (0, react_1.useState)([]), tableData = _100[0], setTableData = _100[1];
322
+ var _101 = (0, react_1.useState)([]), spaceTableData = _101[0], setSpaceTableData = _101[1];
323
323
  // INFO: a save resolves after later renders, so it reads the table from here —
324
324
  // the state it closed over can predate an earlier save on the same row
325
325
  var tableDataRef = (0, react_1.useRef)([]);
326
326
  var spaceTableDataRef = (0, react_1.useRef)([]);
327
327
  tableDataRef.current = tableData;
328
328
  spaceTableDataRef.current = spaceTableData;
329
- var _100 = (0, react_1.useState)(0), size = _100[0], setSize = _100[1];
330
- var _101 = (0, react_1.useState)((_k = (_h = persistedState === null || persistedState === void 0 ? void 0 : persistedState.pageIndex) !== null && _h !== void 0 ? _h : (_j = props.organise) === null || _j === void 0 ? void 0 : _j.pageIndex) !== null && _k !== void 0 ? _k : 0), pageIndex = _101[0], setPageIndex = _101[1];
331
- var _102 = (0, react_1.useState)([]), selectedIds = _102[0], setSelectedIds = _102[1];
332
- var _103 = (0, react_1.useState)(false), selectAll = _103[0], setSelectAll = _103[1];
333
- var _104 = (0, react_1.useState)(""), deletePasscode = _104[0], setDeletePasscode = _104[1];
334
- var _105 = (0, react_1.useState)(""), deletePasscodeInput = _105[0], setDeletePasscodeInput = _105[1];
335
- var _106 = (0, react_1.useState)(""), deleteFeedId = _106[0], setDeleteFeedId = _106[1];
329
+ var _102 = (0, react_1.useState)(0), size = _102[0], setSize = _102[1];
330
+ var _103 = (0, react_1.useState)((_k = (_h = persistedState === null || persistedState === void 0 ? void 0 : persistedState.pageIndex) !== null && _h !== void 0 ? _h : (_j = props.organise) === null || _j === void 0 ? void 0 : _j.pageIndex) !== null && _k !== void 0 ? _k : 0), pageIndex = _103[0], setPageIndex = _103[1];
331
+ var _104 = (0, react_1.useState)([]), selectedIds = _104[0], setSelectedIds = _104[1];
332
+ var _105 = (0, react_1.useState)(false), selectAll = _105[0], setSelectAll = _105[1];
333
+ var _106 = (0, react_1.useState)(""), deletePasscode = _106[0], setDeletePasscode = _106[1];
334
+ var _107 = (0, react_1.useState)(""), deletePasscodeInput = _107[0], setDeletePasscodeInput = _107[1];
335
+ var _108 = (0, react_1.useState)(""), deleteFeedId = _108[0], setDeleteFeedId = _108[1];
336
336
  //INFO : Used by List Organise
337
337
  // INFO: Internal sort state that overrides props.organise?.sort when
338
338
  // persistViewState is enabled and a persisted sort exists
339
- var _107 = (0, react_1.useState)((_l = persistedState === null || persistedState === void 0 ? void 0 : persistedState.sort) !== null && _l !== void 0 ? _l : undefined), persistedSort = _107[0], setPersistedSort = _107[1];
340
- var _108 = (0, react_1.useState)(false), filterDraft = _108[0], setFilterDraft = _108[1];
341
- var _109 = (0, react_1.useState)(false), addTabModal = _109[0], setAddTabModal = _109[1];
339
+ var _109 = (0, react_1.useState)((_l = persistedState === null || persistedState === void 0 ? void 0 : persistedState.sort) !== null && _l !== void 0 ? _l : undefined), persistedSort = _109[0], setPersistedSort = _109[1];
340
+ var _110 = (0, react_1.useState)(false), filterDraft = _110[0], setFilterDraft = _110[1];
341
+ var _111 = (0, react_1.useState)(false), addTabModal = _111[0], setAddTabModal = _111[1];
342
342
  //INFO : resolve the initial tab synchronously so the mount cond is already
343
343
  // tab-scoped — an empty initial tab caused a second wasted list fetch
344
- var _110 = (0, react_1.useState)(function () {
344
+ var _112 = (0, react_1.useState)(function () {
345
345
  var _a, _b;
346
346
  return (0, listModule_1.renderSelectedRefreshTab)(props.localURLEndpoint, resolvedType, 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);
347
- }), selectedTab = _110[0], setSelectedTab = _110[1];
348
- var _111 = (0, react_1.useState)("dayGridMonth"), calendarView = _111[0], setCalendarView = _111[1];
347
+ }), selectedTab = _112[0], setSelectedTab = _112[1];
348
+ var _113 = (0, react_1.useState)("dayGridMonth"), calendarView = _113[0], setCalendarView = _113[1];
349
349
  // INFO: bareNewDTW calendar viewSwitch mode — drives the NewCalendar variant
350
350
  // (calendarView above drives the matching range query)
351
- var _112 = (0, react_1.useState)("month"), newCalendarViewMode = _112[0], setNewCalendarViewMode = _112[1];
352
- var _113 = (0, react_1.useState)(new Date()), calendarTabMonth = _113[0], setCalendarTabMonth = _113[1];
353
- var _114 = (0, react_1.useState)(true), kanbanDroppable = _114[0], setKanbanDroppable = _114[1];
354
- var _115 = (0, react_1.useState)([]), kanbanOptions = _115[0], setKanbanOptions = _115[1];
355
- var _116 = (0, react_1.useState)(false), queryForm = _116[0], setQueryForm = _116[1];
356
- var _117 = (0, react_1.useState)(false), batchUpdateModal = _117[0], setBatchUpdateModal = _117[1];
357
- var _118 = (0, react_1.useState)({
351
+ var _114 = (0, react_1.useState)("month"), newCalendarViewMode = _114[0], setNewCalendarViewMode = _114[1];
352
+ var _115 = (0, react_1.useState)(new Date()), calendarTabMonth = _115[0], setCalendarTabMonth = _115[1];
353
+ var _116 = (0, react_1.useState)(true), kanbanDroppable = _116[0], setKanbanDroppable = _116[1];
354
+ var _117 = (0, react_1.useState)([]), kanbanOptions = _117[0], setKanbanOptions = _117[1];
355
+ var _118 = (0, react_1.useState)(false), queryForm = _118[0], setQueryForm = _118[1];
356
+ var _119 = (0, react_1.useState)(false), batchUpdateModal = _119[0], setBatchUpdateModal = _119[1];
357
+ var _120 = (0, react_1.useState)({
358
358
  columnId: "",
359
359
  columnData: {},
360
- }), batchUpdateData = _118[0], setBatchUpdateData = _118[1];
361
- var _119 = (0, react_1.useState)(function () {
360
+ }), batchUpdateData = _120[0], setBatchUpdateData = _120[1];
361
+ var _121 = (0, react_1.useState)(function () {
362
362
  var baseModel = (props === null || props === void 0 ? void 0 : props.model) || [];
363
363
  if (!persistedState)
364
364
  return baseModel;
@@ -384,8 +384,8 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
384
384
  });
385
385
  }
386
386
  return model;
387
- }), structure = _119[0], setStructure = _119[1];
388
- var _120 = (0, react_1.useState)(((_m = props === null || props === void 0 ? void 0 : props.organise) === null || _m === void 0 ? void 0 : _m.additionalQuery) || []), additionalQuery = _120[0], setAdditionalQuery = _120[1];
387
+ }), structure = _121[0], setStructure = _121[1];
388
+ var _122 = (0, react_1.useState)(((_m = props === null || props === void 0 ? void 0 : props.organise) === null || _m === void 0 ? void 0 : _m.additionalQuery) || []), additionalQuery = _122[0], setAdditionalQuery = _122[1];
389
389
  // INFO: State for user-configurable flex filters (Monday.com-style)
390
390
  // INFO: Initialize with one empty row so users see inputs immediately without clicking "Add Filter"
391
391
  var defaultFlexFilterRow = [
@@ -396,9 +396,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
396
396
  value: undefined,
397
397
  },
398
398
  ];
399
- var _121 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.flexFilters) && persistedState.flexFilters.length > 0
399
+ var _123 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.flexFilters) && persistedState.flexFilters.length > 0
400
400
  ? persistedState.flexFilters
401
- : defaultFlexFilterRow), flexFilters = _121[0], setFlexFilters = _121[1];
401
+ : defaultFlexFilterRow), flexFilters = _123[0], setFlexFilters = _123[1];
402
402
  // INFO: always-current mirror of flexFilters, read by the imperative apply/
403
403
  // clear methods so chained calls in one tick aren't stale.
404
404
  var flexFiltersRef = (0, react_1.useRef)(flexFilters);
@@ -411,109 +411,109 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
411
411
  }, [flexFilters]);
412
412
  // INFO: Debounced version of flexFilters used by renderImpSearchFilterConditions
413
413
  // to prevent API calls on every keystroke when typing in value inputs
414
- var _122 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.flexFilters) && persistedState.flexFilters.length > 0
414
+ var _124 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.flexFilters) && persistedState.flexFilters.length > 0
415
415
  ? persistedState.flexFilters
416
- : defaultFlexFilterRow), flexFiltersDebounced = _122[0], setFlexFiltersDebounced = _122[1];
417
- var _123 = (0, react_1.useState)({}), flexFilterReferenceOptions = _123[0], setFlexFilterReferenceOptions = _123[1];
418
- var _124 = (0, react_1.useState)({}), flexFilterReferenceSearch = _124[0], setFlexFilterReferenceSearch = _124[1];
419
- var _125 = (0, react_1.useState)(false), flexFilterModalOpen = _125[0], setFlexFilterModalOpen = _125[1];
420
- var _126 = (0, react_1.useState)(false), viewSettingsModalOpen = _126[0], setViewSettingsModalOpen = _126[1];
416
+ : defaultFlexFilterRow), flexFiltersDebounced = _124[0], setFlexFiltersDebounced = _124[1];
417
+ var _125 = (0, react_1.useState)({}), flexFilterReferenceOptions = _125[0], setFlexFilterReferenceOptions = _125[1];
418
+ var _126 = (0, react_1.useState)({}), flexFilterReferenceSearch = _126[0], setFlexFilterReferenceSearch = _126[1];
419
+ var _127 = (0, react_1.useState)(false), flexFilterModalOpen = _127[0], setFlexFilterModalOpen = _127[1];
420
+ var _128 = (0, react_1.useState)(false), viewSettingsModalOpen = _128[0], setViewSettingsModalOpen = _128[1];
421
421
  // INFO: Columns the end user chose to hide (bareSettings.bareViewSettings).
422
422
  // Deliberately kept out of `structure`: the props-sync effect below resets
423
423
  // structure to props.model whenever props change, which would wipe the
424
424
  // choice, and the persist effect derives schema-level hiddenColumnIds from
425
425
  // structure — writing user hides there would blur the two concepts.
426
- var _127 = (0, react_1.useState)((_o = persistedState === null || persistedState === void 0 ? void 0 : persistedState.userHiddenColumnIds) !== null && _o !== void 0 ? _o : []), userHiddenColumnIds = _127[0], setUserHiddenColumnIds = _127[1];
427
- var _128 = (0, react_1.useState)(""), columnSearch = _128[0], setColumnSearch = _128[1];
428
- var _129 = (0, react_1.useState)([]), savedViews = _129[0], setSavedViews = _129[1];
429
- var _130 = (0, react_1.useState)(null), activeSavedViewId = _130[0], setActiveSavedViewId = _130[1];
426
+ var _129 = (0, react_1.useState)((_o = persistedState === null || persistedState === void 0 ? void 0 : persistedState.userHiddenColumnIds) !== null && _o !== void 0 ? _o : []), userHiddenColumnIds = _129[0], setUserHiddenColumnIds = _129[1];
427
+ var _130 = (0, react_1.useState)(""), columnSearch = _130[0], setColumnSearch = _130[1];
428
+ var _131 = (0, react_1.useState)([]), savedViews = _131[0], setSavedViews = _131[1];
429
+ var _132 = (0, react_1.useState)(null), activeSavedViewId = _132[0], setActiveSavedViewId = _132[1];
430
430
  // INFO: null while the name box is closed
431
- var _131 = (0, react_1.useState)(null), savedViewName = _131[0], setSavedViewName = _131[1];
432
- var _132 = (0, react_1.useState)(null), deletingSavedViewId = _132[0], setDeletingSavedViewId = _132[1];
433
- var _133 = (0, react_1.useState)(null), draggingColumnId = _133[0], setDraggingColumnId = _133[1];
431
+ var _133 = (0, react_1.useState)(null), savedViewName = _133[0], setSavedViewName = _133[1];
432
+ var _134 = (0, react_1.useState)(null), deletingSavedViewId = _134[0], setDeletingSavedViewId = _134[1];
433
+ var _135 = (0, react_1.useState)(null), draggingColumnId = _135[0], setDraggingColumnId = _135[1];
434
434
  var columnRowRefs = (0, react_1.useRef)({});
435
435
  //INFO : Used by Auth
436
- var _134 = (0, react_1.useState)({
436
+ var _136 = (0, react_1.useState)({
437
437
  email: "",
438
438
  google: "",
439
439
  phone: "",
440
440
  disabled: false,
441
441
  create: false,
442
- }), authMethods = _134[0], setAuthMethods = _134[1];
443
- var _135 = (0, react_1.useState)(""), selectedAuthMethod = _135[0], setSelectedAuthMethod = _135[1];
442
+ }), authMethods = _136[0], setAuthMethods = _136[1];
443
+ var _137 = (0, react_1.useState)(""), selectedAuthMethod = _137[0], setSelectedAuthMethod = _137[1];
444
444
  // INFO: Used by Activity Log
445
- var _136 = (0, react_1.useState)(false), activityModal = _136[0], setActivityModal = _136[1];
446
- var _137 = (0, react_1.useState)(""), activityId = _137[0], setActivityId = _137[1];
445
+ var _138 = (0, react_1.useState)(false), activityModal = _138[0], setActivityModal = _138[1];
446
+ var _139 = (0, react_1.useState)(""), activityId = _139[0], setActivityId = _139[1];
447
447
  //INFO : Used by Export
448
- var _138 = (0, react_1.useState)(null), csvFile = _138[0], setCSVFile = _138[1];
449
- var _139 = (0, react_1.useState)([]), csvFileData = _139[0], setCSVFileData = _139[1];
450
- var _140 = (0, react_1.useState)(0), stepCSVIndex = _140[0], setStepCSVIndex = _140[1];
451
- var _141 = (0, react_1.useState)({}), listCSVMapAttribute = _141[0], setListCSVMapAttribute = _141[1];
452
- var _142 = (0, react_1.useState)({}), listCSVObjAttribute = _142[0], setListCSVObjAttribute = _142[1];
453
- var _143 = (0, react_1.useState)([]), csvAPIAttribute = _143[0], setCSVAPIAttribute = _143[1];
454
- var _144 = (0, react_1.useState)(((_p = props.devSettings.currentUser) === null || _p === void 0 ? void 0 : _p.userEmail) || ""), exportCSVEmail = _144[0], setExportCSVEmail = _144[1];
455
- var _145 = (0, react_1.useState)(((_r = (_q = props.organise) === null || _q === void 0 ? void 0 : _q.exportSettings) === null || _r === void 0 ? void 0 : _r.defaultExportPDFName) || ""), exportPDFTitle = _145[0], setExportPDFTitle = _145[1];
456
- var _146 = (0, react_1.useState)(false), exportPDFLoading = _146[0], setExportPDFLoading = _146[1];
457
- var _147 = (0, react_1.useState)(false), exportReadPDFLoading = _147[0], setExportReadPDFLoading = _147[1];
458
- var _148 = (0, react_1.useState)((_u = (_t = (_s = props.organise) === null || _s === void 0 ? void 0 : _s.exportSettings) === null || _t === void 0 ? void 0 : _t.sumColumnId) !== null && _u !== void 0 ? _u : []), exportSumAttributeIds = _148[0], setExportSumAttributeIds = _148[1];
459
- var _149 = (0, react_1.useState)((_x = (_w = (_v = props.organise) === null || _v === void 0 ? void 0 : _v.exportSettings) === null || _w === void 0 ? void 0 : _w.hideSubItems) !== null && _x !== void 0 ? _x : false), hideSubItems = _149[0], setHideSubItems = _149[1];
460
- var _150 = (0, react_1.useState)([]), importTableData = _150[0], setImportTableData = _150[1];
461
- var _151 = (0, react_1.useState)([]), queryList = _151[0], setQueryList = _151[1];
462
- var _152 = (0, react_1.useState)(undefined), allQueryList = _152[0], setAllQueryList = _152[1];
463
- var _153 = (0, react_1.useState)(-1), queryIndex = _153[0], setQueryIndex = _153[1];
464
- var _154 = (0, react_1.useState)((_y = props.organise) === null || _y === void 0 ? void 0 : _y.groupBy), groupId = _154[0], setGroupId = _154[1];
465
- var _155 = (0, react_1.useState)(""), readTabSection = _155[0], setReadTabSection = _155[1];
466
- var _156 = (0, react_1.useState)(false), readFloatingNav = _156[0], setReadFloatingNav = _156[1];
448
+ var _140 = (0, react_1.useState)(null), csvFile = _140[0], setCSVFile = _140[1];
449
+ var _141 = (0, react_1.useState)([]), csvFileData = _141[0], setCSVFileData = _141[1];
450
+ var _142 = (0, react_1.useState)(0), stepCSVIndex = _142[0], setStepCSVIndex = _142[1];
451
+ var _143 = (0, react_1.useState)({}), listCSVMapAttribute = _143[0], setListCSVMapAttribute = _143[1];
452
+ var _144 = (0, react_1.useState)({}), listCSVObjAttribute = _144[0], setListCSVObjAttribute = _144[1];
453
+ var _145 = (0, react_1.useState)([]), csvAPIAttribute = _145[0], setCSVAPIAttribute = _145[1];
454
+ var _146 = (0, react_1.useState)(((_p = props.devSettings.currentUser) === null || _p === void 0 ? void 0 : _p.userEmail) || ""), exportCSVEmail = _146[0], setExportCSVEmail = _146[1];
455
+ var _147 = (0, react_1.useState)(((_r = (_q = props.organise) === null || _q === void 0 ? void 0 : _q.exportSettings) === null || _r === void 0 ? void 0 : _r.defaultExportPDFName) || ""), exportPDFTitle = _147[0], setExportPDFTitle = _147[1];
456
+ var _148 = (0, react_1.useState)(false), exportPDFLoading = _148[0], setExportPDFLoading = _148[1];
457
+ var _149 = (0, react_1.useState)(false), exportReadPDFLoading = _149[0], setExportReadPDFLoading = _149[1];
458
+ var _150 = (0, react_1.useState)((_u = (_t = (_s = props.organise) === null || _s === void 0 ? void 0 : _s.exportSettings) === null || _t === void 0 ? void 0 : _t.sumColumnId) !== null && _u !== void 0 ? _u : []), exportSumAttributeIds = _150[0], setExportSumAttributeIds = _150[1];
459
+ var _151 = (0, react_1.useState)((_x = (_w = (_v = props.organise) === null || _v === void 0 ? void 0 : _v.exportSettings) === null || _w === void 0 ? void 0 : _w.hideSubItems) !== null && _x !== void 0 ? _x : false), hideSubItems = _151[0], setHideSubItems = _151[1];
460
+ var _152 = (0, react_1.useState)([]), importTableData = _152[0], setImportTableData = _152[1];
461
+ var _153 = (0, react_1.useState)([]), queryList = _153[0], setQueryList = _153[1];
462
+ var _154 = (0, react_1.useState)(undefined), allQueryList = _154[0], setAllQueryList = _154[1];
463
+ var _155 = (0, react_1.useState)(-1), queryIndex = _155[0], setQueryIndex = _155[1];
464
+ var _156 = (0, react_1.useState)((_y = props.organise) === null || _y === void 0 ? void 0 : _y.groupBy), groupId = _156[0], setGroupId = _156[1];
465
+ var _157 = (0, react_1.useState)(""), readTabSection = _157[0], setReadTabSection = _157[1];
466
+ var _158 = (0, react_1.useState)(false), readFloatingNav = _158[0], setReadFloatingNav = _158[1];
467
467
  var readTabSectionRefs = (0, react_1.useRef)({});
468
468
  //INFO : Used by Read
469
469
  //INFO : Used by Update
470
- var _157 = (0, react_1.useState)(false), modalVisible = _157[0], setModalVisible = _157[1];
471
- var _158 = (0, react_1.useState)(false), deleteModal = _158[0], setDeleteModal = _158[1];
472
- var _159 = (0, react_1.useState)(false), excelModal = _159[0], setExcelModal = _159[1];
473
- var _160 = (0, react_1.useState)(false), exportExcel = _160[0], setExportExcel = _160[1];
474
- var _161 = (0, react_1.useState)(""), exportType = _161[0], setExportType = _161[1];
475
- var _162 = (0, react_1.useState)(false), exportQR = _162[0], setExportQR = _162[1];
476
- var _163 = (0, react_1.useState)(function () {
470
+ var _159 = (0, react_1.useState)(false), modalVisible = _159[0], setModalVisible = _159[1];
471
+ var _160 = (0, react_1.useState)(false), deleteModal = _160[0], setDeleteModal = _160[1];
472
+ var _161 = (0, react_1.useState)(false), excelModal = _161[0], setExcelModal = _161[1];
473
+ var _162 = (0, react_1.useState)(false), exportExcel = _162[0], setExportExcel = _162[1];
474
+ var _163 = (0, react_1.useState)(""), exportType = _163[0], setExportType = _163[1];
475
+ var _164 = (0, react_1.useState)(false), exportQR = _164[0], setExportQR = _164[1];
476
+ var _165 = (0, react_1.useState)(function () {
477
477
  var _a, _b;
478
478
  var firstTabId = (_b = (_a = structure.find(function (item) { return item.tabId; })) === null || _a === void 0 ? void 0 : _a.tabId) !== null && _b !== void 0 ? _b : "";
479
479
  return firstTabId;
480
- }), activeTab = _163[0], setActiveTab = _163[1];
481
- var _164 = (0, react_1.useState)(false), signatureSigning = _164[0], setSignatureSigning = _164[1];
482
- var _165 = (0, react_1.useState)({}), selectedData = _165[0], setSelectedData = _165[1];
483
- var _166 = (0, react_1.useState)(""), selectedObjectStructureId = _166[0], setSelectedObjectStructureId = _166[1];
484
- var _167 = (0, react_1.useState)(""), selectedObjectId = _167[0], setSelectedObjectId = _167[1];
485
- var _168 = (0, react_1.useState)(""), selectedListAddressId = _168[0], setSelectedListAddressId = _168[1];
486
- var _169 = (0, react_1.useState)(-1), selectedListAddressIndex = _169[0], setSelectedListAddressIndex = _169[1];
487
- var _170 = (0, react_1.useState)({
480
+ }), activeTab = _165[0], setActiveTab = _165[1];
481
+ var _166 = (0, react_1.useState)(false), signatureSigning = _166[0], setSignatureSigning = _166[1];
482
+ var _167 = (0, react_1.useState)({}), selectedData = _167[0], setSelectedData = _167[1];
483
+ var _168 = (0, react_1.useState)(""), selectedObjectStructureId = _168[0], setSelectedObjectStructureId = _168[1];
484
+ var _169 = (0, react_1.useState)(""), selectedObjectId = _169[0], setSelectedObjectId = _169[1];
485
+ var _170 = (0, react_1.useState)(""), selectedListAddressId = _170[0], setSelectedListAddressId = _170[1];
486
+ var _171 = (0, react_1.useState)(-1), selectedListAddressIndex = _171[0], setSelectedListAddressIndex = _171[1];
487
+ var _172 = (0, react_1.useState)({
488
488
  lat: 0,
489
489
  lng: 0,
490
490
  name: "",
491
- }), selectedListAddress = _170[0], setSelectedListAddress = _170[1];
492
- var _171 = (0, react_1.useState)({}), selectedObjectData = _171[0], setSelectedObjectData = _171[1];
493
- var _172 = (0, react_1.useState)(null), objectCellEdit = _172[0], setObjectCellEdit = _172[1];
494
- var _173 = (0, react_1.useState)(false), referenceLoading = _173[0], setReferenceLoading = _173[1];
495
- var _174 = (0, react_1.useState)({}), referencesOptions = _174[0], setReferencesOptions = _174[1];
496
- var _175 = (0, react_1.useState)({}), referencesDetails = _175[0], setReferencesDetails = _175[1];
497
- var _176 = (0, react_1.useState)({}), listReferencesOptions = _176[0], setListReferencesOptions = _176[1];
498
- var _177 = (0, react_1.useState)({}), referenceDeleteTableData = _177[0], setReferenceDeleteTableData = _177[1];
499
- var _178 = (0, react_1.useState)(0), referenceDeleteIndex = _178[0], setReferenceDeleteIndex = _178[1];
500
- var _179 = (0, react_1.useState)({
491
+ }), selectedListAddress = _172[0], setSelectedListAddress = _172[1];
492
+ var _173 = (0, react_1.useState)({}), selectedObjectData = _173[0], setSelectedObjectData = _173[1];
493
+ var _174 = (0, react_1.useState)(null), objectCellEdit = _174[0], setObjectCellEdit = _174[1];
494
+ var _175 = (0, react_1.useState)(false), referenceLoading = _175[0], setReferenceLoading = _175[1];
495
+ var _176 = (0, react_1.useState)({}), referencesOptions = _176[0], setReferencesOptions = _176[1];
496
+ var _177 = (0, react_1.useState)({}), referencesDetails = _177[0], setReferencesDetails = _177[1];
497
+ var _178 = (0, react_1.useState)({}), listReferencesOptions = _178[0], setListReferencesOptions = _178[1];
498
+ var _179 = (0, react_1.useState)({}), referenceDeleteTableData = _179[0], setReferenceDeleteTableData = _179[1];
499
+ var _180 = (0, react_1.useState)(0), referenceDeleteIndex = _180[0], setReferenceDeleteIndex = _180[1];
500
+ var _181 = (0, react_1.useState)({
501
501
  id: "",
502
502
  name: "",
503
503
  type: "string",
504
- }), referenceCreationModal = _179[0], setReferenceCreationModal = _179[1];
505
- var _180 = (0, react_1.useState)({}), referenceModelSchema = _180[0], setReferenceSchema = _180[1];
506
- var _181 = (0, react_1.useState)([]), kanbanChecked = _181[0], setKanbanChecked = _181[1];
504
+ }), referenceCreationModal = _181[0], setReferenceCreationModal = _181[1];
505
+ var _182 = (0, react_1.useState)({}), referenceModelSchema = _182[0], setReferenceSchema = _182[1];
506
+ var _183 = (0, react_1.useState)([]), kanbanChecked = _183[0], setKanbanChecked = _183[1];
507
507
  //INFO : Offline
508
- var _182 = (0, react_1.useState)(0), offlineDataLength = _182[0], setOfflineDataLength = _182[1];
509
- var _183 = (0, react_1.useState)(false), offlineModal = _183[0], setOfflineModal = _183[1];
508
+ var _184 = (0, react_1.useState)(0), offlineDataLength = _184[0], setOfflineDataLength = _184[1];
509
+ var _185 = (0, react_1.useState)(false), offlineModal = _185[0], setOfflineModal = _185[1];
510
510
  // INFO: live-stream state — driven by socket connection and navigator.onLine
511
- var _184 = (0, react_1.useState)(false), isLive = _184[0], setIsLive = _184[1];
512
- var _185 = (0, react_1.useState)(false), isLiveOffline = _185[0], setIsLiveOffline = _185[1];
511
+ var _186 = (0, react_1.useState)(false), isLive = _186[0], setIsLive = _186[1];
512
+ var _187 = (0, react_1.useState)(false), isLiveOffline = _187[0], setIsLiveOffline = _187[1];
513
513
  // INFO: true when navigator is offline — used to switch ReadQueryHoc between
514
514
  // server reads (online, full pagination) and IndexedDB reads (offline, cached data).
515
515
  // Independent of SSE status so it works even when bareSocketName is not set.
516
- var _186 = (0, react_1.useState)(typeof navigator !== "undefined" ? !navigator.onLine : false), isNetworkOffline = _186[0], setIsNetworkOffline = _186[1];
516
+ var _188 = (0, react_1.useState)(typeof navigator !== "undefined" ? !navigator.onLine : false), isNetworkOffline = _188[0], setIsNetworkOffline = _188[1];
517
517
  var previousType = (0, react_1.useRef)(null);
518
518
  var previousSelectedData = (0, react_1.useRef)(null);
519
519
  var scrollSentinelRef = (0, react_1.useRef)(null);
@@ -587,6 +587,12 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
587
587
  var exportCSVEmailInputRef = (0, react_1.createRef)();
588
588
  var readQueryHocRef = (0, react_1.useRef)(null);
589
589
  var listRQueryHocRef = (0, react_1.useRef)(null);
590
+ // INFO: the list request as it was before a saved view was applied; checked
591
+ // after the next render to tell whether the view changed what is fetched
592
+ var pendingViewCondKeyRef = (0, react_1.useRef)(null);
593
+ // INFO: the schema's own columns while a saved view overlays hide/order on
594
+ // screen; null when nothing is overlaid and structure is the schema itself
595
+ var schemaStructureRef = (0, react_1.useRef)(null);
590
596
  var typingTimeout = (0, react_1.useRef)(null);
591
597
  var flexFilterTypingTimeout = (0, react_1.useRef)(null);
592
598
  var mapViewRef = (0, react_1.useRef)(null);
@@ -634,12 +640,12 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
634
640
  ? true
635
641
  : false;
636
642
  // INFO: a consumer that wires onChangeHide owns the hide at schema level
637
- // (Space, Sun Luan) — toggling writes to the model and calls back. Without it
643
+ // (shared by every user) — toggling writes to the model and calls back. Without it
638
644
  // the hide is this user's own and lives in userHiddenColumnIds.
639
645
  var isSchemaHideMode = ((_8 = props.organise) === null || _8 === void 0 ? void 0 : _8.onChangeHide) ? true : false;
640
646
  // INFO: rows per page is a view setting the user can change, so it starts from
641
647
  // the persisted value and falls back to the consumer's limit
642
- var _187 = (0, react_1.useState)((_10 = (_9 = (isPersistEnabled ? persistedState === null || persistedState === void 0 ? void 0 : persistedState.pageLimit : undefined)) !== null && _9 !== void 0 ? _9 : props.limit) !== null && _10 !== void 0 ? _10 : 10), pageLimit = _187[0], setPageLimit = _187[1];
648
+ var _189 = (0, react_1.useState)((_10 = (_9 = (isPersistEnabled ? persistedState === null || persistedState === void 0 ? void 0 : persistedState.pageLimit : undefined)) !== null && _9 !== void 0 ? _9 : props.limit) !== null && _10 !== void 0 ? _10 : 10), pageLimit = _189[0], setPageLimit = _189[1];
643
649
  var limit = pageLimit;
644
650
  var isSavedViewsEnabled = !!((_11 = props.organise) === null || _11 === void 0 ? void 0 : _11.savedViews) && resolvedType === "list";
645
651
  // INFO: a saved view carries its sort, so the sort is held here as with persistViewState
@@ -651,7 +657,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
651
657
  setPersistedSort(value);
652
658
  (_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.onChangeSort) === null || _b === void 0 ? void 0 : _b.call(_a, value);
653
659
  };
654
- var _188 = (0, permissions_1.handleResolveDataTemplateWritePermissions)(props.edit), canUpdateRecord = _188.canUpdateRecord, canInlineUpdate = _188.canInlineUpdate, canBatchUpdate = _188.canBatchUpdate, canDeleteRecord = _188.canDeleteRecord;
660
+ var _190 = (0, permissions_1.handleResolveDataTemplateWritePermissions)(props.edit), canUpdateRecord = _190.canUpdateRecord, canInlineUpdate = _190.canInlineUpdate, canBatchUpdate = _190.canBatchUpdate, canDeleteRecord = _190.canDeleteRecord;
655
661
  var isEditor = ((_13 = props.edit) === null || _13 === void 0 ? void 0 : _13.allEditable) ? true : false;
656
662
  var isOffline = (_14 = props.bareSettings) === null || _14 === void 0 ? void 0 : _14.bareOffline;
657
663
  // INFO: when bareOfflineNetworkAware is true, the save path is also gated on
@@ -793,15 +799,30 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
793
799
  //=====================================================================================
794
800
  //SECTION: User Column Visibility Handlers
795
801
  //=====================================================================================
796
- var handleToggleUserHiddenColumn = function (columnId) {
802
+ // INFO: a write-back carries the schema's columns plus the user's one change,
803
+ // never the hide/order a personal saved view put on screen
804
+ var handleUpdateSchemaStructure = function (update) {
797
805
  var _a;
806
+ var schemaColumns = update((_a = schemaStructureRef.current) !== null && _a !== void 0 ? _a : structure);
807
+ if (schemaStructureRef.current)
808
+ schemaStructureRef.current = schemaColumns;
809
+ return schemaColumns;
810
+ };
811
+ var handleToggleUserHiddenColumn = function (columnId) {
812
+ var _a, _b;
798
813
  if ((_a = props.organise) === null || _a === void 0 ? void 0 : _a.onChangeHide) {
799
- var updatedModel = structure.map(function (eachColumn) {
800
- return eachColumn.id === columnId
801
- ? __assign(__assign({}, eachColumn), { hide: !eachColumn.hide }) : eachColumn;
814
+ var nextHide_1 = !((_b = structure.find(function (eachColumn) { return eachColumn.id === columnId; })) === null || _b === void 0 ? void 0 : _b.hide);
815
+ var handleSetHide = function (columns) {
816
+ return columns.map(function (eachColumn) {
817
+ return eachColumn.id === columnId
818
+ ? __assign(__assign({}, eachColumn), { hide: nextHide_1 }) : eachColumn;
819
+ });
820
+ };
821
+ setStructure(handleSetHide(structure));
822
+ props.organise.onChangeHide(handleUpdateSchemaStructure(handleSetHide), {
823
+ columnId: columnId,
824
+ hide: nextHide_1,
802
825
  });
803
- setStructure(updatedModel);
804
- props.organise.onChangeHide(updatedModel);
805
826
  return;
806
827
  }
807
828
  setUserHiddenColumnIds(function (prevIds) {
@@ -813,9 +834,13 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
813
834
  var handleShowAllUserHiddenColumns = function () {
814
835
  var _a;
815
836
  if ((_a = props.organise) === null || _a === void 0 ? void 0 : _a.onChangeHide) {
816
- var updatedModel = structure.map(function (eachColumn) { return (__assign(__assign({}, eachColumn), { hide: false })); });
817
- setStructure(updatedModel);
818
- props.organise.onChangeHide(updatedModel);
837
+ var handleShowAll = function (columns) {
838
+ return columns.map(function (eachColumn) { return (__assign(__assign({}, eachColumn), { hide: false })); });
839
+ };
840
+ setStructure(handleShowAll(structure));
841
+ props.organise.onChangeHide(handleUpdateSchemaStructure(handleShowAll), {
842
+ showAll: true,
843
+ });
819
844
  return;
820
845
  }
821
846
  setUserHiddenColumnIds([]);
@@ -826,15 +851,21 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
826
851
  var _a, _b;
827
852
  if (dragId === dropId)
828
853
  return;
829
- var dragIndex = structure.findIndex(function (eachCol) { return eachCol.id === dragId; });
830
- var dropIndex = structure.findIndex(function (eachCol) { return eachCol.id === dropId; });
831
- if (dragIndex < 0 || dropIndex < 0)
854
+ var handleMove = function (columns) {
855
+ var dragIndex = columns.findIndex(function (eachCol) { return eachCol.id === dragId; });
856
+ var dropIndex = columns.findIndex(function (eachCol) { return eachCol.id === dropId; });
857
+ if (dragIndex < 0 || dropIndex < 0)
858
+ return columns;
859
+ var moved = __spreadArray([], columns, true);
860
+ var dragged = moved.splice(dragIndex, 1)[0];
861
+ moved.splice(dropIndex, 0, dragged);
862
+ return moved;
863
+ };
864
+ var updatedModel = handleMove(structure);
865
+ if (updatedModel === structure)
832
866
  return;
833
- var updatedModel = __spreadArray([], structure, true);
834
- var moved = updatedModel.splice(dragIndex, 1)[0];
835
- updatedModel.splice(dropIndex, 0, moved);
836
867
  setStructure(updatedModel);
837
- (_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.onChangeDrag) === null || _b === void 0 ? void 0 : _b.call(_a, dragId, dropId, updatedModel.map(function (eachCol) { return ({
868
+ (_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.onChangeDrag) === null || _b === void 0 ? void 0 : _b.call(_a, dragId, dropId, handleUpdateSchemaStructure(handleMove).map(function (eachCol) { return ({
838
869
  key: eachCol.id,
839
870
  title: eachCol.name,
840
871
  }); }));
@@ -1085,10 +1116,25 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1085
1116
  setSavedViewName(null);
1086
1117
  setDeletingSavedViewId(null);
1087
1118
  }, [viewType]);
1119
+ // INFO: a view can change the saved state without changing the request —
1120
+ // rows per page on a calendar, map or grouped tab (no limit is sent), or a
1121
+ // filter with no value. ReadQueryHoc only reads when its cond changes, so
1122
+ // the loading set by the apply would never clear; ask for the read here.
1123
+ (0, react_1.useEffect)(function () {
1124
+ var _a;
1125
+ if (pendingViewCondKeyRef.current === null)
1126
+ return;
1127
+ var isSameRequest = pendingViewCondKeyRef.current ===
1128
+ JSON.stringify(handleReadQueryHocCond());
1129
+ pendingViewCondKeyRef.current = null;
1130
+ if (isSameRequest)
1131
+ (_a = listRQueryHocRef.current) === null || _a === void 0 ? void 0 : _a.handleRefresh();
1132
+ });
1133
+ // INFO: fallback ids are numbered over the full list, before the tab filter,
1134
+ // so one default view keeps the same id on every tab it shows on
1088
1135
  var handleGetTabSavedViews = function () {
1089
1136
  var _a, _b;
1090
1137
  return __spreadArray(__spreadArray([], ((_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.defaultSavedViews) !== null && _b !== void 0 ? _b : [])
1091
- .filter(function (eachView) { return !eachView.tabId || eachView.tabId === viewType; })
1092
1138
  .map(function (eachView, index) {
1093
1139
  var _a, _b;
1094
1140
  return ({
@@ -1098,8 +1144,20 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1098
1144
  state: eachView.state,
1099
1145
  locked: true,
1100
1146
  });
1101
- }), true), savedViews.filter(function (eachView) { return eachView.tabId === viewType; }), true);
1147
+ })
1148
+ .filter(function (eachView) { return eachView.tabId === viewType; }), true), savedViews.filter(function (eachView) { return eachView.tabId === viewType; }), true);
1102
1149
  };
1150
+ var defaultSavedViewIds = ((_58 = (_57 = props.organise) === null || _57 === void 0 ? void 0 : _57.defaultSavedViews) !== null && _58 !== void 0 ? _58 : [])
1151
+ .map(function (eachView) { var _a; return (_a = eachView.id) !== null && _a !== void 0 ? _a : ""; })
1152
+ .join("|");
1153
+ // INFO: keyed on the ids, not the array, so an inline literal passed on every
1154
+ // render does not repeat the warning on every render
1155
+ (0, react_1.useEffect)(function () {
1156
+ var ids = defaultSavedViewIds.split("|").filter(Boolean);
1157
+ var repeated = ids.filter(function (eachId, index) { return ids.indexOf(eachId) !== index; });
1158
+ if (repeated.length > 0)
1159
+ console.warn("DataTemplate: defaultSavedViews ids must be unique, repeated: ".concat(Array.from(new Set(repeated)).join(", ")));
1160
+ }, [defaultSavedViewIds]);
1103
1161
  // INFO: a view is the defaults overridden by its own fields, so a field it
1104
1162
  // leaves out is reset rather than carried over from whatever was on screen
1105
1163
  var handleResolveViewState = function (state) {
@@ -1123,7 +1181,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1123
1181
  });
1124
1182
  };
1125
1183
  var handleApplySavedView = function (view) {
1126
- var _a, _b, _c, _d, _e, _f, _g, _h;
1184
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
1127
1185
  var next = handleResolveViewState((_a = view === null || view === void 0 ? void 0 : view.state) !== null && _a !== void 0 ? _a : null);
1128
1186
  var isQueryChanged = !(0, viewStatePersistence_1.handleIsSameViewState)((0, viewStatePersistence_1.handlePickQueryState)(handleBuildViewSnapshot()), (0, viewStatePersistence_1.handlePickQueryState)(next));
1129
1187
  handleClearFlexFilterTypingTimeout();
@@ -1140,17 +1198,38 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1140
1198
  : initialFilterReferenceDate);
1141
1199
  handleCommitFlexFilters(((_f = next.flexFilters) === null || _f === void 0 ? void 0 : _f.length) ? next.flexFilters : defaultFlexFilterRow);
1142
1200
  setPersistedSort(next.sort);
1201
+ if (next.sort && !(0, viewStatePersistence_1.handleIsSameViewState)(next.sort, activeSortId !== null && activeSortId !== void 0 ? activeSortId : {}))
1202
+ (_h = (_g = props.organise) === null || _g === void 0 ? void 0 : _g.onChangeSort) === null || _h === void 0 ? void 0 : _h.call(_g, next.sort);
1143
1203
  if (next.pageLimit)
1144
1204
  setPageLimit(next.pageLimit);
1145
- setUserHiddenColumnIds((_g = next.userHiddenColumnIds) !== null && _g !== void 0 ? _g : []);
1205
+ setUserHiddenColumnIds((_j = next.userHiddenColumnIds) !== null && _j !== void 0 ? _j : []);
1206
+ if (view) {
1207
+ if (!schemaStructureRef.current)
1208
+ schemaStructureRef.current = structure;
1209
+ }
1210
+ else {
1211
+ schemaStructureRef.current = null;
1212
+ }
1146
1213
  setStructure(function (prev) { return handleApplyViewColumns(prev, next); });
1147
- // INFO: only a query change refetches — loading with no refetch never ends
1148
- if (isQueryChanged)
1214
+ if (isQueryChanged) {
1215
+ // INFO: the list loads until a new read lands; whether the request itself
1216
+ // changed is only known after this render, so the effect below compares
1217
+ pendingViewCondKeyRef.current = JSON.stringify(handleReadQueryHocCond());
1149
1218
  handleClearDataByFilter();
1150
- setActiveSavedViewId((_h = view === null || view === void 0 ? void 0 : view.id) !== null && _h !== void 0 ? _h : null);
1219
+ if (pageIndex !== 0)
1220
+ (_l = (_k = props.organise) === null || _k === void 0 ? void 0 : _k.onChangePagination) === null || _l === void 0 ? void 0 : _l.call(_k, 0);
1221
+ (_o = (_m = props.bareSettings) === null || _m === void 0 ? void 0 : _m.bareListHandleFilter) === null || _o === void 0 ? void 0 : _o.call(_m, (_p = next.filterSearchParams) !== null && _p !== void 0 ? _p : {}, (_q = next.filterSelection) !== null && _q !== void 0 ? _q : {}, next.filterReferenceDate
1222
+ ? (0, viewStatePersistence_1.parseDateFilterState)(next.filterReferenceDate)
1223
+ : initialFilterReferenceDate, (_r = next.filterReference) !== null && _r !== void 0 ? _r : {});
1224
+ }
1225
+ setActiveSavedViewId((_s = view === null || view === void 0 ? void 0 : view.id) !== null && _s !== void 0 ? _s : null);
1151
1226
  setDeletingSavedViewId(null);
1152
1227
  };
1153
- var handleStoreSavedViews = function (views) {
1228
+ // INFO: re-read storage before each write so a change made in another browser
1229
+ // tab on the same list is kept rather than overwritten by this tab's copy;
1230
+ // with storage unavailable the in-memory list is the only copy, so it is used
1231
+ var handleStoreSavedViews = function (update) {
1232
+ var views = update((0, viewStatePersistence_1.handleReadSavedViews)(savedViewsKey, savedViews));
1154
1233
  setSavedViews(views);
1155
1234
  (0, viewStatePersistence_1.handleWriteSavedViews)(savedViewsKey, views);
1156
1235
  };
@@ -1160,25 +1239,33 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1160
1239
  if (!trimmed)
1161
1240
  return;
1162
1241
  var state = (0, viewStatePersistence_1.handlePickViewState)(handleBuildViewSnapshot());
1163
- var existing = savedViews.find(function (eachView) { return eachView.tabId === viewType && eachView.name === trimmed; });
1164
- var saved = existing
1165
- ? __assign(__assign({}, existing), { state: state }) : { id: (0, uuid_1.v4)(), name: trimmed, tabId: viewType, state: state };
1166
- handleStoreSavedViews(existing
1167
- ? savedViews.map(function (eachView) {
1168
- return eachView.id === existing.id ? saved : eachView;
1169
- })
1170
- : __spreadArray(__spreadArray([], savedViews, true), [saved], false));
1171
- setActiveSavedViewId(saved.id);
1242
+ var savedId = "";
1243
+ handleStoreSavedViews(function (views) {
1244
+ var existing = views.find(function (eachView) { return eachView.tabId === viewType && eachView.name === trimmed; });
1245
+ var saved = existing
1246
+ ? __assign(__assign({}, existing), { state: state }) : { id: (0, uuid_1.v4)(), name: trimmed, tabId: viewType, state: state };
1247
+ savedId = saved.id;
1248
+ return existing
1249
+ ? views.map(function (eachView) {
1250
+ return eachView.id === existing.id ? saved : eachView;
1251
+ })
1252
+ : __spreadArray(__spreadArray([], views, true), [saved], false);
1253
+ });
1254
+ setActiveSavedViewId(savedId);
1172
1255
  setSavedViewName(null);
1173
1256
  };
1174
1257
  var handleUpdateSavedView = function (id) {
1175
1258
  var state = (0, viewStatePersistence_1.handlePickViewState)(handleBuildViewSnapshot());
1176
- handleStoreSavedViews(savedViews.map(function (eachView) {
1177
- return eachView.id === id ? __assign(__assign({}, eachView), { state: state }) : eachView;
1178
- }));
1259
+ handleStoreSavedViews(function (views) {
1260
+ return views.map(function (eachView) {
1261
+ return eachView.id === id ? __assign(__assign({}, eachView), { state: state }) : eachView;
1262
+ });
1263
+ });
1179
1264
  };
1180
1265
  var handleDeleteSavedView = function (id) {
1181
- handleStoreSavedViews(savedViews.filter(function (eachView) { return eachView.id !== id; }));
1266
+ handleStoreSavedViews(function (views) {
1267
+ return views.filter(function (eachView) { return eachView.id !== id; });
1268
+ });
1182
1269
  if (activeSavedViewId === id)
1183
1270
  setActiveSavedViewId(null);
1184
1271
  setDeletingSavedViewId(null);
@@ -1267,7 +1354,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1267
1354
  var isOtherListReturn = !(0, viewStatePersistence_1.handleIsLastDrill)(props.collectionId, (_c = props.organise) === null || _c === void 0 ? void 0 : _c.persistKey);
1268
1355
  scrollRestoredRef.current = isSwitch || isOtherListReturn;
1269
1356
  /* eslint-disable */
1270
- }, [props.collectionId, (_57 = props.organise) === null || _57 === void 0 ? void 0 : _57.persistKey]);
1357
+ }, [props.collectionId, (_59 = props.organise) === null || _59 === void 0 ? void 0 : _59.persistKey]);
1271
1358
  /* eslint-enable */
1272
1359
  // INFO: wait a frame — rows land in state one tick before layout
1273
1360
  (0, react_1.useEffect)(function () {
@@ -1302,7 +1389,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1302
1389
  (0, react_1.useEffect)(function () {
1303
1390
  handleOfflinePrefetch();
1304
1391
  /* eslint-disable */
1305
- }, [props.collectionId, (_58 = props.bareSettings) === null || _58 === void 0 ? void 0 : _58.bareOffline]);
1392
+ }, [props.collectionId, (_60 = props.bareSettings) === null || _60 === void 0 ? void 0 : _60.bareOffline]);
1306
1393
  /* eslint-enable */
1307
1394
  // INFO: MRQ polling — calls handleRefresh every N ms (e.g. 1500) as a fallback.
1308
1395
  // Calls through handleRefreshRef so the interval always dispatches the latest
@@ -1322,7 +1409,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1322
1409
  }, interval);
1323
1410
  return function () { return clearInterval(timer); };
1324
1411
  /* eslint-disable */
1325
- }, [(_59 = props.bareSettings) === null || _59 === void 0 ? void 0 : _59.barePollingInterval, isLive, isNetworkOffline]);
1412
+ }, [(_61 = props.bareSettings) === null || _61 === void 0 ? void 0 : _61.barePollingInterval, isLive, isNetworkOffline]);
1326
1413
  /* eslint-enable */
1327
1414
  // INFO: Pub/Sub → SSE live-stream — driven by bareSettings.bareSocketName
1328
1415
  // EventSource URL: {sseEndpoint}/{room}?bm_apiToken={token}
@@ -1364,7 +1451,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1364
1451
  };
1365
1452
  /* eslint-disable */
1366
1453
  }, [
1367
- (_60 = props.bareSettings) === null || _60 === void 0 ? void 0 : _60.bareSocketName,
1454
+ (_62 = props.bareSettings) === null || _62 === void 0 ? void 0 : _62.bareSocketName,
1368
1455
  props.collectionId,
1369
1456
  props.devSettings.sseEndpoint,
1370
1457
  props.devSettings.dbAPIToken,
@@ -1570,6 +1657,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1570
1657
  !persistedState ||
1571
1658
  persistedViewMountedRef.current) {
1572
1659
  setStructure((_a = props.model) !== null && _a !== void 0 ? _a : []);
1660
+ schemaStructureRef.current = null;
1573
1661
  }
1574
1662
  persistedViewMountedRef.current = true;
1575
1663
  setAdditionalQuery((_c = (_b = props.organise) === null || _b === void 0 ? void 0 : _b.additionalQuery) !== null && _c !== void 0 ? _c : []);
@@ -1609,10 +1697,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1609
1697
  props.collectionId,
1610
1698
  props.model,
1611
1699
  props.localURLEndpoint,
1612
- (_61 = props.organise) === null || _61 === void 0 ? void 0 : _61.extendedTabs,
1613
- (_62 = props.organise) === null || _62 === void 0 ? void 0 : _62.viewId,
1614
- (_63 = props.organise) === null || _63 === void 0 ? void 0 : _63.additionalQuery,
1615
- (_64 = props.organise) === null || _64 === void 0 ? void 0 : _64.groupBy,
1700
+ (_63 = props.organise) === null || _63 === void 0 ? void 0 : _63.extendedTabs,
1701
+ (_64 = props.organise) === null || _64 === void 0 ? void 0 : _64.viewId,
1702
+ (_65 = props.organise) === null || _65 === void 0 ? void 0 : _65.additionalQuery,
1703
+ (_66 = props.organise) === null || _66 === void 0 ? void 0 : _66.groupBy,
1616
1704
  resolvedType,
1617
1705
  ]);
1618
1706
  /**
@@ -1753,7 +1841,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
1753
1841
  };
1754
1842
  }, 100);
1755
1843
  return function () { return clearTimeout(timeoutId); };
1756
- }, [(_65 = props.organise) === null || _65 === void 0 ? void 0 : _65.showReadFloatingNav, resolvedType, props.id, loading]);
1844
+ }, [(_67 = props.organise) === null || _67 === void 0 ? void 0 : _67.showReadFloatingNav, resolvedType, props.id, loading]);
1757
1845
  (0, react_1.useEffect)(function () {
1758
1846
  if (resolvedType !== "read")
1759
1847
  return;
@@ -10192,7 +10280,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
10192
10280
  };
10193
10281
  return (react_1.default.createElement(react_1.default.Fragment, null,
10194
10282
  renderNotification("root"),
10195
- ((_67 = (_66 = props.renderSettings) === null || _66 === void 0 ? void 0 : _66.renderLoadingUI) === null || _67 === void 0 ? void 0 : _67.call(_66)) && loading ? ((_68 = props.renderSettings) === null || _68 === void 0 ? void 0 : _68.renderLoadingUI()) : (react_1.default.createElement(modal_1.Modal, { darkMode: (_69 = props.organise) === null || _69 === void 0 ? void 0 : _69.darkMode, darkModeBg: (_70 = props.organise) === null || _70 === void 0 ? void 0 : _70.darkModeBg, maxWidth: selectedObjectStructureId || excelModal ? "2xl" : undefined, open: modalVisible, title: renderModalTitle(), renderContent: renderModalContent, onClose: function () {
10283
+ ((_69 = (_68 = props.renderSettings) === null || _68 === void 0 ? void 0 : _68.renderLoadingUI) === null || _69 === void 0 ? void 0 : _69.call(_68)) && loading ? ((_70 = props.renderSettings) === null || _70 === void 0 ? void 0 : _70.renderLoadingUI()) : (react_1.default.createElement(modal_1.Modal, { darkMode: (_71 = props.organise) === null || _71 === void 0 ? void 0 : _71.darkMode, darkModeBg: (_72 = props.organise) === null || _72 === void 0 ? void 0 : _72.darkModeBg, maxWidth: selectedObjectStructureId || excelModal ? "2xl" : undefined, open: modalVisible, title: renderModalTitle(), renderContent: renderModalContent, onClose: function () {
10196
10284
  var _a, _b;
10197
10285
  if (loading)
10198
10286
  return;
@@ -10203,7 +10291,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
10203
10291
  setExportCSVEmail((_b = (_a = props.devSettings.currentUser) === null || _a === void 0 ? void 0 : _a.userEmail) !== null && _b !== void 0 ? _b : "");
10204
10292
  }
10205
10293
  }, notification: react_1.default.createElement(react_1.default.Fragment, null, renderNotification("modal")) })),
10206
- react_1.default.createElement(modal_1.Modal, { darkMode: (_71 = props.organise) === null || _71 === void 0 ? void 0 : _71.darkMode, darkModeBg: (_72 = props.organise) === null || _72 === void 0 ? void 0 : _72.darkModeBg, maxWidth: "2xl", open: referenceCreationModal.id ? true : false, renderContent: function () {
10294
+ react_1.default.createElement(modal_1.Modal, { darkMode: (_73 = props.organise) === null || _73 === void 0 ? void 0 : _73.darkMode, darkModeBg: (_74 = props.organise) === null || _74 === void 0 ? void 0 : _74.darkModeBg, maxWidth: "2xl", open: referenceCreationModal.id ? true : false, renderContent: function () {
10207
10295
  return (react_1.default.createElement(referenceModal_1.ReferenceModal, { referenceModelSchema: referenceModelSchema, referenceDataStructure: referenceCreationModal, devSettings: props.devSettings, handleCreateRefId: function (dataId) {
10208
10296
  if (dataId) {
10209
10297
  var currentValue = selectedData[referenceCreationModal.id];
@@ -10219,19 +10307,19 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
10219
10307
  }, onClose: function () {
10220
10308
  setReferenceCreationModal({ id: "", name: "", type: "string" });
10221
10309
  } }),
10222
- react_1.default.createElement(modal_1.Modal, { darkMode: (_73 = props.organise) === null || _73 === void 0 ? void 0 : _73.darkMode, darkModeBg: (_74 = props.organise) === null || _74 === void 0 ? void 0 : _74.darkModeBg, maxWidth: "2xl", open: Object.keys(referenceDeleteTableData).length > 0, renderContent: renderReferenceDeleteTable, onClose: function () {
10310
+ react_1.default.createElement(modal_1.Modal, { darkMode: (_75 = props.organise) === null || _75 === void 0 ? void 0 : _75.darkMode, darkModeBg: (_76 = props.organise) === null || _76 === void 0 ? void 0 : _76.darkModeBg, maxWidth: "2xl", open: Object.keys(referenceDeleteTableData).length > 0, renderContent: renderReferenceDeleteTable, onClose: function () {
10223
10311
  setReferenceDeleteTableData({});
10224
10312
  }, notification: react_1.default.createElement(react_1.default.Fragment, null, renderNotification("modal")) }),
10225
- react_1.default.createElement(modal_1.Modal, { darkMode: (_75 = props.organise) === null || _75 === void 0 ? void 0 : _75.darkMode, darkModeBg: (_76 = props.organise) === null || _76 === void 0 ? void 0 : _76.darkModeBg, open: deleteModal, renderContent: renderDeleteModalContent, onClose: function () {
10313
+ react_1.default.createElement(modal_1.Modal, { darkMode: (_77 = props.organise) === null || _77 === void 0 ? void 0 : _77.darkMode, darkModeBg: (_78 = props.organise) === null || _78 === void 0 ? void 0 : _78.darkModeBg, open: deleteModal, renderContent: renderDeleteModalContent, onClose: function () {
10226
10314
  setDeletePasscodeInput("");
10227
10315
  setDeleteModal(!deleteModal);
10228
10316
  setDeleteFeedId("");
10229
10317
  }, notification: react_1.default.createElement(react_1.default.Fragment, null, renderNotification("modal")) }),
10230
- react_1.default.createElement(modal_1.Modal, { darkMode: (_77 = props.organise) === null || _77 === void 0 ? void 0 : _77.darkMode, darkModeBg: (_78 = props.organise) === null || _78 === void 0 ? void 0 : _78.darkModeBg, open: batchUpdateModal, renderContent: renderBatchUpdateModalContent, onClose: function () {
10318
+ react_1.default.createElement(modal_1.Modal, { darkMode: (_79 = props.organise) === null || _79 === void 0 ? void 0 : _79.darkMode, darkModeBg: (_80 = props.organise) === null || _80 === void 0 ? void 0 : _80.darkModeBg, open: batchUpdateModal, renderContent: renderBatchUpdateModalContent, onClose: function () {
10231
10319
  setBatchUpdateData({ columnId: "", columnData: {} });
10232
10320
  setBatchUpdateModal(false);
10233
10321
  }, notification: react_1.default.createElement(react_1.default.Fragment, null, renderNotification("modal")) }),
10234
- react_1.default.createElement(modal_1.Modal, { darkMode: (_79 = props.organise) === null || _79 === void 0 ? void 0 : _79.darkMode, darkModeBg: (_80 = props.organise) === null || _80 === void 0 ? void 0 : _80.darkModeBg, title: "Edit Auth Method", open: selectedAuthMethod ? true : false, renderContent: function () {
10322
+ react_1.default.createElement(modal_1.Modal, { darkMode: (_81 = props.organise) === null || _81 === void 0 ? void 0 : _81.darkMode, darkModeBg: (_82 = props.organise) === null || _82 === void 0 ? void 0 : _82.darkModeBg, title: "Edit Auth Method", open: selectedAuthMethod ? true : false, renderContent: function () {
10235
10323
  var _a;
10236
10324
  if (props.space)
10237
10325
  return (react_1.default.createElement(authModal_1.AuthModal, { space: props.space, userId: (_a = props.id) !== null && _a !== void 0 ? _a : "", type: selectedAuthMethod, authMethods: authMethods, onComplete: handleAuthComplete }));
@@ -10239,7 +10327,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
10239
10327
  }, onClose: function () {
10240
10328
  setSelectedAuthMethod("");
10241
10329
  } }),
10242
- isActivityLog && (react_1.default.createElement(modal_1.Modal, { darkMode: (_81 = props.organise) === null || _81 === void 0 ? void 0 : _81.darkMode, darkModeBg: (_82 = props.organise) === null || _82 === void 0 ? void 0 : _82.darkModeBg, open: activityModal, title: "Activity Log", renderContent: function () {
10330
+ isActivityLog && (react_1.default.createElement(modal_1.Modal, { darkMode: (_83 = props.organise) === null || _83 === void 0 ? void 0 : _83.darkMode, darkModeBg: (_84 = props.organise) === null || _84 === void 0 ? void 0 : _84.darkModeBg, open: activityModal, title: "Activity Log", renderContent: function () {
10243
10331
  var _a, _b;
10244
10332
  return (react_1.default.createElement(activityModal_1.ActivityModal, { title: props.title && typeof props.title === "string"
10245
10333
  ? props.title