blixify-ui-web 1.2.123 → 1.2.124
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.
- package/lib/components/data/dataTemplate/dataStateModel.d.ts +3 -0
- package/lib/components/data/dataTemplate/dataStateModel.d.ts.map +1 -1
- package/lib/components/data/dataTemplate/dataStateModel.js.map +1 -1
- package/lib/components/data/dataTemplate/index.d.ts.map +1 -1
- package/lib/components/data/dataTemplate/index.js +376 -191
- package/lib/components/data/dataTemplate/index.js.map +1 -1
- package/lib/components/data/dataTemplate/viewStatePersistence.d.ts +40 -0
- package/lib/components/data/dataTemplate/viewStatePersistence.d.ts.map +1 -1
- package/lib/components/data/dataTemplate/viewStatePersistence.js +94 -1
- package/lib/components/data/dataTemplate/viewStatePersistence.js.map +1 -1
- package/lib/components/data/flexFilter/index.d.ts.map +1 -1
- package/lib/components/data/flexFilter/index.js +16 -16
- package/lib/components/data/flexFilter/index.js.map +1 -1
- package/lib/components/data/writeQuery/index.d.ts +1 -0
- package/lib/components/data/writeQuery/index.d.ts.map +1 -1
- package/lib/components/data/writeQuery/index.js +2 -0
- package/lib/components/data/writeQuery/index.js.map +1 -1
- package/lib/components/display/newKanban/index.js +2 -2
- package/lib/components/display/newKanban/index.js.map +1 -1
- package/lib/components/input/datePicker/index.d.ts +2 -0
- package/lib/components/input/datePicker/index.d.ts.map +1 -1
- package/lib/components/input/datePicker/index.js +11 -3
- package/lib/components/input/datePicker/index.js.map +1 -1
- package/lib/components/input/select/index.d.ts +1 -0
- package/lib/components/input/select/index.d.ts.map +1 -1
- package/lib/components/input/select/index.js +20 -13
- package/lib/components/input/select/index.js.map +1 -1
- package/lib/components/input/textInput/index.d.ts +2 -0
- package/lib/components/input/textInput/index.d.ts.map +1 -1
- package/lib/components/input/textInput/index.js +16 -3
- package/lib/components/input/textInput/index.js.map +1 -1
- package/lib/tail.css +2 -2
- 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;
|
|
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;
|
|
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
|
|
206
|
+
var _83 = (0, react_1.useState)(false), drawerPageView = _83[0], setDrawerPageView = _83[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
|
|
288
|
+
var _84 = intialiseDefaultFilterValues(), initialFilterSearch = _84.initialFilterSearch, initialFilterSearchParams = _84.initialFilterSearchParams, initialFilterSelection = _84.initialFilterSelection, initialFilterReference = _84.initialFilterReference, initialFilterReferenceDate = _84.initialFilterReferenceDate;
|
|
289
289
|
// INFO: Persist view state hook — handles storage read/write for filter/sort/column state
|
|
290
|
-
var
|
|
290
|
+
var _85 = (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 =
|
|
295
|
+
}), rawPersistedState = _85.persistedState, isPersistEnabled = _85.isEnabled, handleSaveView = _85.handleSaveView, handleRegisterViewSnapshot = _85.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
|
|
299
|
-
var
|
|
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];
|
|
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
|
|
310
|
-
var
|
|
311
|
-
var
|
|
312
|
-
var
|
|
313
|
-
var
|
|
314
|
-
var
|
|
315
|
-
var
|
|
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)
|
|
316
316
|
? (0, viewStatePersistence_1.parseDateFilterState)(persistedState.filterReferenceDate)
|
|
317
|
-
: initialFilterReferenceDate), filterReferenceDate =
|
|
318
|
-
var
|
|
319
|
-
var
|
|
320
|
-
var
|
|
321
|
-
var
|
|
322
|
-
var
|
|
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];
|
|
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
|
|
330
|
-
var
|
|
331
|
-
var
|
|
332
|
-
var
|
|
333
|
-
var
|
|
334
|
-
var
|
|
335
|
-
var
|
|
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];
|
|
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
|
|
340
|
-
var
|
|
341
|
-
var
|
|
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];
|
|
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
|
|
344
|
+
var _110 = (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 =
|
|
348
|
-
var
|
|
347
|
+
}), selectedTab = _110[0], setSelectedTab = _110[1];
|
|
348
|
+
var _111 = (0, react_1.useState)("dayGridMonth"), calendarView = _111[0], setCalendarView = _111[1];
|
|
349
349
|
// INFO: bareNewDTW calendar viewSwitch mode — drives the NewCalendar variant
|
|
350
350
|
// (calendarView above drives the matching range query)
|
|
351
|
-
var
|
|
352
|
-
var
|
|
353
|
-
var
|
|
354
|
-
var
|
|
355
|
-
var
|
|
356
|
-
var
|
|
357
|
-
var
|
|
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)({
|
|
358
358
|
columnId: "",
|
|
359
359
|
columnData: {},
|
|
360
|
-
}), batchUpdateData =
|
|
361
|
-
var
|
|
360
|
+
}), batchUpdateData = _118[0], setBatchUpdateData = _118[1];
|
|
361
|
+
var _119 = (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 =
|
|
388
|
-
var
|
|
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];
|
|
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
|
|
399
|
+
var _121 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.flexFilters) && persistedState.flexFilters.length > 0
|
|
400
400
|
? persistedState.flexFilters
|
|
401
|
-
: defaultFlexFilterRow), flexFilters =
|
|
401
|
+
: defaultFlexFilterRow), flexFilters = _121[0], setFlexFilters = _121[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,104 +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
|
|
414
|
+
var _122 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.flexFilters) && persistedState.flexFilters.length > 0
|
|
415
415
|
? persistedState.flexFilters
|
|
416
|
-
: defaultFlexFilterRow), flexFiltersDebounced =
|
|
417
|
-
var
|
|
418
|
-
var
|
|
419
|
-
var
|
|
420
|
-
var
|
|
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];
|
|
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
|
|
427
|
-
var
|
|
428
|
-
var
|
|
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];
|
|
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];
|
|
429
434
|
var columnRowRefs = (0, react_1.useRef)({});
|
|
430
435
|
//INFO : Used by Auth
|
|
431
|
-
var
|
|
436
|
+
var _134 = (0, react_1.useState)({
|
|
432
437
|
email: "",
|
|
433
438
|
google: "",
|
|
434
439
|
phone: "",
|
|
435
440
|
disabled: false,
|
|
436
441
|
create: false,
|
|
437
|
-
}), authMethods =
|
|
438
|
-
var
|
|
442
|
+
}), authMethods = _134[0], setAuthMethods = _134[1];
|
|
443
|
+
var _135 = (0, react_1.useState)(""), selectedAuthMethod = _135[0], setSelectedAuthMethod = _135[1];
|
|
439
444
|
// INFO: Used by Activity Log
|
|
440
|
-
var
|
|
441
|
-
var
|
|
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];
|
|
442
447
|
//INFO : Used by Export
|
|
443
|
-
var
|
|
444
|
-
var
|
|
445
|
-
var
|
|
446
|
-
var
|
|
447
|
-
var
|
|
448
|
-
var
|
|
449
|
-
var
|
|
450
|
-
var
|
|
451
|
-
var
|
|
452
|
-
var
|
|
453
|
-
var
|
|
454
|
-
var
|
|
455
|
-
var
|
|
456
|
-
var
|
|
457
|
-
var
|
|
458
|
-
var
|
|
459
|
-
var
|
|
460
|
-
var
|
|
461
|
-
var
|
|
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];
|
|
462
467
|
var readTabSectionRefs = (0, react_1.useRef)({});
|
|
463
468
|
//INFO : Used by Read
|
|
464
469
|
//INFO : Used by Update
|
|
465
|
-
var
|
|
466
|
-
var
|
|
467
|
-
var
|
|
468
|
-
var
|
|
469
|
-
var
|
|
470
|
-
var
|
|
471
|
-
var
|
|
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 () {
|
|
472
477
|
var _a, _b;
|
|
473
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 : "";
|
|
474
479
|
return firstTabId;
|
|
475
|
-
}), activeTab =
|
|
476
|
-
var
|
|
477
|
-
var
|
|
478
|
-
var
|
|
479
|
-
var
|
|
480
|
-
var
|
|
481
|
-
var
|
|
482
|
-
var
|
|
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)({
|
|
483
488
|
lat: 0,
|
|
484
489
|
lng: 0,
|
|
485
490
|
name: "",
|
|
486
|
-
}), selectedListAddress =
|
|
487
|
-
var
|
|
488
|
-
var
|
|
489
|
-
var
|
|
490
|
-
var
|
|
491
|
-
var
|
|
492
|
-
var
|
|
493
|
-
var
|
|
494
|
-
var
|
|
495
|
-
var
|
|
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)({
|
|
496
501
|
id: "",
|
|
497
502
|
name: "",
|
|
498
503
|
type: "string",
|
|
499
|
-
}), referenceCreationModal =
|
|
500
|
-
var
|
|
501
|
-
var
|
|
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];
|
|
502
507
|
//INFO : Offline
|
|
503
|
-
var
|
|
504
|
-
var
|
|
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];
|
|
505
510
|
// INFO: live-stream state — driven by socket connection and navigator.onLine
|
|
506
|
-
var
|
|
507
|
-
var
|
|
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];
|
|
508
513
|
// INFO: true when navigator is offline — used to switch ReadQueryHoc between
|
|
509
514
|
// server reads (online, full pagination) and IndexedDB reads (offline, cached data).
|
|
510
515
|
// Independent of SSE status so it works even when bareSocketName is not set.
|
|
511
|
-
var
|
|
516
|
+
var _186 = (0, react_1.useState)(typeof navigator !== "undefined" ? !navigator.onLine : false), isNetworkOffline = _186[0], setIsNetworkOffline = _186[1];
|
|
512
517
|
var previousType = (0, react_1.useRef)(null);
|
|
513
518
|
var previousSelectedData = (0, react_1.useRef)(null);
|
|
514
519
|
var scrollSentinelRef = (0, react_1.useRef)(null);
|
|
@@ -634,27 +639,30 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
634
639
|
var isSchemaHideMode = ((_8 = props.organise) === null || _8 === void 0 ? void 0 : _8.onChangeHide) ? true : false;
|
|
635
640
|
// INFO: rows per page is a view setting the user can change, so it starts from
|
|
636
641
|
// the persisted value and falls back to the consumer's limit
|
|
637
|
-
var
|
|
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];
|
|
638
643
|
var limit = pageLimit;
|
|
639
|
-
var
|
|
644
|
+
var isSavedViewsEnabled = !!((_11 = props.organise) === null || _11 === void 0 ? void 0 : _11.savedViews) && resolvedType === "list";
|
|
645
|
+
// INFO: a saved view carries its sort, so the sort is held here as with persistViewState
|
|
646
|
+
var isInternalSort = isPersistEnabled || isSavedViewsEnabled;
|
|
647
|
+
var activeSortId = (isInternalSort && persistedSort) || ((_12 = props.organise) === null || _12 === void 0 ? void 0 : _12.sort);
|
|
640
648
|
var handleSortColumn = function (value) {
|
|
641
649
|
var _a, _b;
|
|
642
|
-
if (
|
|
650
|
+
if (isInternalSort)
|
|
643
651
|
setPersistedSort(value);
|
|
644
652
|
(_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.onChangeSort) === null || _b === void 0 ? void 0 : _b.call(_a, value);
|
|
645
653
|
};
|
|
646
|
-
var
|
|
647
|
-
var isEditor = ((
|
|
648
|
-
var isOffline = (
|
|
654
|
+
var _188 = (0, permissions_1.handleResolveDataTemplateWritePermissions)(props.edit), canUpdateRecord = _188.canUpdateRecord, canInlineUpdate = _188.canInlineUpdate, canBatchUpdate = _188.canBatchUpdate, canDeleteRecord = _188.canDeleteRecord;
|
|
655
|
+
var isEditor = ((_13 = props.edit) === null || _13 === void 0 ? void 0 : _13.allEditable) ? true : false;
|
|
656
|
+
var isOffline = (_14 = props.bareSettings) === null || _14 === void 0 ? void 0 : _14.bareOffline;
|
|
649
657
|
// INFO: when bareOfflineNetworkAware is true, the save path is also gated on
|
|
650
658
|
// the live network state — online saves go to the server even if bareOffline
|
|
651
659
|
// is true, offline saves go to IDB as normal.
|
|
652
|
-
var isOfflineNetworkListener = isOffline && ((
|
|
653
|
-
var showId = (
|
|
660
|
+
var isOfflineNetworkListener = isOffline && ((_15 = props.bareSettings) === null || _15 === void 0 ? void 0 : _15.bareOfflineNetworkListener);
|
|
661
|
+
var showId = (_16 = props.space) === null || _16 === void 0 ? void 0 : _16.showId;
|
|
654
662
|
var remainId = showId || selectedObjectStructureId ? true : false;
|
|
655
|
-
var idField = ((
|
|
656
|
-
var pipeline = (
|
|
657
|
-
if ((
|
|
663
|
+
var idField = ((_17 = props.space) === null || _17 === void 0 ? void 0 : _17.idField) || ((_18 = props.organise) === null || _18 === void 0 ? void 0 : _18.idField);
|
|
664
|
+
var pipeline = (_19 = props === null || props === void 0 ? void 0 : props.space) === null || _19 === void 0 ? void 0 : _19.pipeline;
|
|
665
|
+
if ((_20 = props.bareSettings) === null || _20 === void 0 ? void 0 : _20.bareListPipeline) {
|
|
658
666
|
pipeline = pipeline
|
|
659
667
|
? __spreadArray(__spreadArray([], pipeline, true), props.bareSettings.bareListPipeline, true) : props.bareSettings.bareListPipeline;
|
|
660
668
|
}
|
|
@@ -667,24 +675,24 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
667
675
|
* three records came back instead of five files, and each tile received the
|
|
668
676
|
* whole array rather than one file, so every one of them read "Attachment".
|
|
669
677
|
*/
|
|
670
|
-
var fileViewColumnId = (
|
|
678
|
+
var fileViewColumnId = (_24 = (_23 = ((_22 = (_21 = props.organise) === null || _21 === void 0 ? void 0 : _21.extendedTabs) !== null && _22 !== void 0 ? _22 : []).find(function (eachTab) {
|
|
671
679
|
return eachTab.viewType === "file" &&
|
|
672
680
|
(0, utils_1.lowercaseTextToId)(eachTab.name) === viewType;
|
|
673
|
-
})) === null ||
|
|
674
|
-
var hasNavigation = ((
|
|
681
|
+
})) === null || _23 === void 0 ? void 0 : _23.fileSettings) === null || _24 === void 0 ? void 0 : _24.columnId;
|
|
682
|
+
var hasNavigation = ((_25 = props.organise) === null || _25 === void 0 ? void 0 : _25.handleNavigate) ? true : false;
|
|
675
683
|
var formColumn = "grid-cols-12";
|
|
676
|
-
var useMobileView = (
|
|
684
|
+
var useMobileView = (_27 = (_26 = props.bareSettings) === null || _26 === void 0 ? void 0 : _26.bareUpdateMobileView) !== null && _27 !== void 0 ? _27 : false;
|
|
677
685
|
var gridGap = useMobileView ? "gap-x-6 gap-y-2 md:gap-y-6" : "gap-6";
|
|
678
|
-
var isActivityLog = (((
|
|
679
|
-
((
|
|
680
|
-
(((
|
|
681
|
-
((
|
|
682
|
-
var customPaginationSize = ((
|
|
686
|
+
var isActivityLog = (((_29 = (_28 = props.edit) === null || _28 === void 0 ? void 0 : _28.activityLog) === null || _29 === void 0 ? void 0 : _29.enableComments) &&
|
|
687
|
+
((_30 = props.edit) === null || _30 === void 0 ? void 0 : _30.activityLog.commentCollectionId)) ||
|
|
688
|
+
(((_32 = (_31 = props.edit) === null || _31 === void 0 ? void 0 : _31.activityLog) === null || _32 === void 0 ? void 0 : _32.enableLogs) &&
|
|
689
|
+
((_33 = props.edit) === null || _33 === void 0 ? void 0 : _33.activityLog.logsCollectionId));
|
|
690
|
+
var customPaginationSize = ((_34 = props.organise) === null || _34 === void 0 ? void 0 : _34.customPaginationCount)
|
|
683
691
|
? props.organise.customPaginationCount(size)
|
|
684
692
|
: undefined;
|
|
685
693
|
//TODO : Code - Pass ...devSettings, search dbEndpoint:
|
|
686
694
|
var writeServerQuery = new writeQuery_1.WriteQuery({
|
|
687
|
-
dbModule: (
|
|
695
|
+
dbModule: (_35 = props.lib) === null || _35 === void 0 ? void 0 : _35.axios,
|
|
688
696
|
dbType: devSettings.server,
|
|
689
697
|
dbCollection: props.collectionId,
|
|
690
698
|
dbEndpoint: devSettings.dbEndpoint,
|
|
@@ -692,7 +700,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
692
700
|
dbUserToken: devSettings.dbUserToken,
|
|
693
701
|
});
|
|
694
702
|
var readServerQuery = new readQuery_1.ReadQuery({
|
|
695
|
-
dbModule: (
|
|
703
|
+
dbModule: (_36 = props.lib) === null || _36 === void 0 ? void 0 : _36.axios,
|
|
696
704
|
dbType: devSettings.server,
|
|
697
705
|
dbCollection: props.collectionId,
|
|
698
706
|
dbEndpoint: devSettings.dbEndpoint,
|
|
@@ -700,9 +708,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
700
708
|
dbUserToken: devSettings.dbUserToken,
|
|
701
709
|
});
|
|
702
710
|
var moreButtonPopUp = [
|
|
703
|
-
((
|
|
711
|
+
((_37 = props.edit) === null || _37 === void 0 ? void 0 : _37.allEditable) &&
|
|
704
712
|
!isFirebase &&
|
|
705
|
-
!((
|
|
713
|
+
!((_39 = (_38 = props.organise) === null || _38 === void 0 ? void 0 : _38.exportSettings) === null || _39 === void 0 ? void 0 : _39.hideImportCSV)
|
|
706
714
|
? {
|
|
707
715
|
text: "Import Excel",
|
|
708
716
|
onClick: function () {
|
|
@@ -711,7 +719,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
711
719
|
},
|
|
712
720
|
}
|
|
713
721
|
: null,
|
|
714
|
-
!((
|
|
722
|
+
!((_41 = (_40 = props.organise) === null || _40 === void 0 ? void 0 : _40.exportSettings) === null || _41 === void 0 ? void 0 : _41.hideExportCSV)
|
|
715
723
|
? {
|
|
716
724
|
text: "Export CSV",
|
|
717
725
|
onClick: function () {
|
|
@@ -721,7 +729,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
721
729
|
},
|
|
722
730
|
}
|
|
723
731
|
: null,
|
|
724
|
-
!((
|
|
732
|
+
!((_43 = (_42 = props.organise) === null || _42 === void 0 ? void 0 : _42.exportSettings) === null || _43 === void 0 ? void 0 : _43.hideExportExcel)
|
|
725
733
|
? {
|
|
726
734
|
text: "Export Excel",
|
|
727
735
|
onClick: function () {
|
|
@@ -731,7 +739,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
731
739
|
},
|
|
732
740
|
}
|
|
733
741
|
: null,
|
|
734
|
-
!((
|
|
742
|
+
!((_45 = (_44 = props.organise) === null || _44 === void 0 ? void 0 : _44.exportSettings) === null || _45 === void 0 ? void 0 : _45.hideExportPDF)
|
|
735
743
|
? {
|
|
736
744
|
text: "Export PDF",
|
|
737
745
|
onClick: function () {
|
|
@@ -741,7 +749,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
741
749
|
},
|
|
742
750
|
}
|
|
743
751
|
: null,
|
|
744
|
-
!((
|
|
752
|
+
!((_47 = (_46 = props.organise) === null || _46 === void 0 ? void 0 : _46.exportSettings) === null || _47 === void 0 ? void 0 : _47.hideExportQR)
|
|
745
753
|
? {
|
|
746
754
|
text: "Export QR",
|
|
747
755
|
onClick: function () {
|
|
@@ -751,7 +759,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
751
759
|
},
|
|
752
760
|
}
|
|
753
761
|
: null,
|
|
754
|
-
!((
|
|
762
|
+
!((_49 = (_48 = props.organise) === null || _48 === void 0 ? void 0 : _48.exportSettings) === null || _49 === void 0 ? void 0 : _49.hideExportQR)
|
|
755
763
|
? {
|
|
756
764
|
text: "Export QR(Data)",
|
|
757
765
|
onClick: function () {
|
|
@@ -761,7 +769,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
761
769
|
},
|
|
762
770
|
}
|
|
763
771
|
: null,
|
|
764
|
-
!((
|
|
772
|
+
!((_51 = (_50 = props.organise) === null || _50 === void 0 ? void 0 : _50.exportSettings) === null || _51 === void 0 ? void 0 : _51.hideExportPrint)
|
|
765
773
|
? {
|
|
766
774
|
text: "Print",
|
|
767
775
|
onClick: function () {
|
|
@@ -771,7 +779,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
771
779
|
},
|
|
772
780
|
}
|
|
773
781
|
: null,
|
|
774
|
-
!((
|
|
782
|
+
!((_53 = (_52 = props.organise) === null || _52 === void 0 ? void 0 : _52.exportSettings) === null || _53 === void 0 ? void 0 : _53.hideExportDraft)
|
|
775
783
|
? {
|
|
776
784
|
text: filterDraft ? "Show All Items" : "Filter Draft",
|
|
777
785
|
onClick: function () {
|
|
@@ -780,7 +788,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
780
788
|
}
|
|
781
789
|
: null,
|
|
782
790
|
].filter(Boolean);
|
|
783
|
-
if ((
|
|
791
|
+
if ((_54 = props.organise) === null || _54 === void 0 ? void 0 : _54.moreSettings)
|
|
784
792
|
moreButtonPopUp = moreButtonPopUp.concat(props.organise.moreSettings);
|
|
785
793
|
//=====================================================================================
|
|
786
794
|
//SECTION: User Column Visibility Handlers
|
|
@@ -1056,13 +1064,125 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
1056
1064
|
? flexFiltersDebounced.filter(function (eachFilter) {
|
|
1057
1065
|
return (0, flexFilter_1.isFlexFilterActive)(eachFilter, structure);
|
|
1058
1066
|
})
|
|
1059
|
-
: undefined, sort: persistedSort !== null && persistedSort !== void 0 ? persistedSort : (_a = props.organise) === null || _a === void 0 ? void 0 : _a.sort,
|
|
1067
|
+
: undefined, sort: persistedSort !== null && persistedSort !== void 0 ? persistedSort : (_a = props.organise) === null || _a === void 0 ? void 0 : _a.sort, pageLimit: pageLimit,
|
|
1060
1068
|
// INFO: scroll mode reloads from page 0; the anchor restores the position
|
|
1061
1069
|
pageIndex: renderCheckScrollMode() ? 0 : pageIndex, hiddenColumnIds: structure.filter(function (col) { return col.hide; }).map(function (col) { return col.id; }),
|
|
1062
1070
|
// INFO: raw, so switching bareViewSettings off does not wipe the user's choice
|
|
1063
1071
|
userHiddenColumnIds: userHiddenColumnIds, columnOrder: structure.map(function (col) { return col.id; }) }, scrollCaptureRef.current));
|
|
1064
1072
|
};
|
|
1065
1073
|
handleRegisterViewSnapshot(handleBuildViewSnapshot);
|
|
1074
|
+
//=====================================================================================
|
|
1075
|
+
//SECTION: Saved Views
|
|
1076
|
+
//=====================================================================================
|
|
1077
|
+
var savedViewsKey = (0, viewStatePersistence_1.buildSavedViewsKey)(props.collectionId, (_55 = props.organise) === null || _55 === void 0 ? void 0 : _55.persistKey, (_56 = devSettings.currentUser) === null || _56 === void 0 ? void 0 : _56.userEmail);
|
|
1078
|
+
(0, react_1.useEffect)(function () {
|
|
1079
|
+
if (isSavedViewsEnabled)
|
|
1080
|
+
setSavedViews((0, viewStatePersistence_1.handleReadSavedViews)(savedViewsKey));
|
|
1081
|
+
}, [isSavedViewsEnabled, savedViewsKey]);
|
|
1082
|
+
// INFO: views belong to a tab, so another tab starts with none selected
|
|
1083
|
+
(0, react_1.useEffect)(function () {
|
|
1084
|
+
setActiveSavedViewId(null);
|
|
1085
|
+
setSavedViewName(null);
|
|
1086
|
+
setDeletingSavedViewId(null);
|
|
1087
|
+
}, [viewType]);
|
|
1088
|
+
var handleGetTabSavedViews = function () {
|
|
1089
|
+
var _a, _b;
|
|
1090
|
+
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
|
+
.map(function (eachView, index) {
|
|
1093
|
+
var _a, _b;
|
|
1094
|
+
return ({
|
|
1095
|
+
id: (_a = eachView.id) !== null && _a !== void 0 ? _a : "default-".concat(index),
|
|
1096
|
+
name: eachView.name,
|
|
1097
|
+
tabId: (_b = eachView.tabId) !== null && _b !== void 0 ? _b : viewType,
|
|
1098
|
+
state: eachView.state,
|
|
1099
|
+
locked: true,
|
|
1100
|
+
});
|
|
1101
|
+
}), true), savedViews.filter(function (eachView) { return eachView.tabId === viewType; }), true);
|
|
1102
|
+
};
|
|
1103
|
+
// INFO: a view is the defaults overridden by its own fields, so a field it
|
|
1104
|
+
// leaves out is reset rather than carried over from whatever was on screen
|
|
1105
|
+
var handleResolveViewState = function (state) {
|
|
1106
|
+
var _a, _b, _c, _d;
|
|
1107
|
+
var model = (_a = props.model) !== null && _a !== void 0 ? _a : [];
|
|
1108
|
+
return ((_d = (0, viewStatePersistence_1.handlePruneStaleColumns)(__assign({ filterSearchParams: initialFilterSearchParams, filterSelection: initialFilterSelection, filterReference: initialFilterReference, filterReferenceDate: (0, viewStatePersistence_1.serializeDateFilterState)(initialFilterReferenceDate), sort: (_b = props.organise) === null || _b === void 0 ? void 0 : _b.sort, pageLimit: (_c = props.limit) !== null && _c !== void 0 ? _c : 10, userHiddenColumnIds: [], hiddenColumnIds: model
|
|
1109
|
+
.filter(function (eachColumn) { return eachColumn.hide; })
|
|
1110
|
+
.map(function (eachColumn) { return eachColumn.id; }), columnOrder: model.map(function (eachColumn) { return eachColumn.id; }) }, (state !== null && state !== void 0 ? state : {})), model)) !== null && _d !== void 0 ? _d : {});
|
|
1111
|
+
};
|
|
1112
|
+
var handleApplyViewColumns = function (columns, state) {
|
|
1113
|
+
var _a;
|
|
1114
|
+
var order = new Map(((_a = state.columnOrder) !== null && _a !== void 0 ? _a : []).map(function (eachId, index) { return [eachId, index]; }));
|
|
1115
|
+
var ordered = __spreadArray([], columns, true).sort(function (a, b) { var _a, _b; return ((_a = order.get(a.id)) !== null && _a !== void 0 ? _a : order.size) - ((_b = order.get(b.id)) !== null && _b !== void 0 ? _b : order.size); });
|
|
1116
|
+
// INFO: schema-level hides move only in schema-hide mode, and only on this
|
|
1117
|
+
// screen — a personal view never writes back through onChangeHide
|
|
1118
|
+
if (!isSchemaHideMode || !state.hiddenColumnIds)
|
|
1119
|
+
return ordered;
|
|
1120
|
+
return ordered.map(function (eachColumn) {
|
|
1121
|
+
var _a, _b;
|
|
1122
|
+
return (__assign(__assign({}, eachColumn), { hide: (_b = (_a = state.hiddenColumnIds) === null || _a === void 0 ? void 0 : _a.includes(eachColumn.id)) !== null && _b !== void 0 ? _b : false }));
|
|
1123
|
+
});
|
|
1124
|
+
};
|
|
1125
|
+
var handleApplySavedView = function (view) {
|
|
1126
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
1127
|
+
var next = handleResolveViewState((_a = view === null || view === void 0 ? void 0 : view.state) !== null && _a !== void 0 ? _a : null);
|
|
1128
|
+
var isQueryChanged = !(0, viewStatePersistence_1.handleIsSameViewState)((0, viewStatePersistence_1.handlePickQueryState)(handleBuildViewSnapshot()), (0, viewStatePersistence_1.handlePickQueryState)(next));
|
|
1129
|
+
handleClearFlexFilterTypingTimeout();
|
|
1130
|
+
if (typingTimeout.current) {
|
|
1131
|
+
clearTimeout(typingTimeout.current);
|
|
1132
|
+
typingTimeout.current = null;
|
|
1133
|
+
}
|
|
1134
|
+
setFilterSearch((_b = next.filterSearchParams) !== null && _b !== void 0 ? _b : {});
|
|
1135
|
+
setFilterSearchParams((_c = next.filterSearchParams) !== null && _c !== void 0 ? _c : {});
|
|
1136
|
+
setFilterSelection(((_d = next.filterSelection) !== null && _d !== void 0 ? _d : {}));
|
|
1137
|
+
setFilterReference(((_e = next.filterReference) !== null && _e !== void 0 ? _e : {}));
|
|
1138
|
+
setFilterReferenceDate(next.filterReferenceDate
|
|
1139
|
+
? (0, viewStatePersistence_1.parseDateFilterState)(next.filterReferenceDate)
|
|
1140
|
+
: initialFilterReferenceDate);
|
|
1141
|
+
handleCommitFlexFilters(((_f = next.flexFilters) === null || _f === void 0 ? void 0 : _f.length) ? next.flexFilters : defaultFlexFilterRow);
|
|
1142
|
+
setPersistedSort(next.sort);
|
|
1143
|
+
if (next.pageLimit)
|
|
1144
|
+
setPageLimit(next.pageLimit);
|
|
1145
|
+
setUserHiddenColumnIds((_g = next.userHiddenColumnIds) !== null && _g !== void 0 ? _g : []);
|
|
1146
|
+
setStructure(function (prev) { return handleApplyViewColumns(prev, next); });
|
|
1147
|
+
// INFO: only a query change refetches — loading with no refetch never ends
|
|
1148
|
+
if (isQueryChanged)
|
|
1149
|
+
handleClearDataByFilter();
|
|
1150
|
+
setActiveSavedViewId((_h = view === null || view === void 0 ? void 0 : view.id) !== null && _h !== void 0 ? _h : null);
|
|
1151
|
+
setDeletingSavedViewId(null);
|
|
1152
|
+
};
|
|
1153
|
+
var handleStoreSavedViews = function (views) {
|
|
1154
|
+
setSavedViews(views);
|
|
1155
|
+
(0, viewStatePersistence_1.handleWriteSavedViews)(savedViewsKey, views);
|
|
1156
|
+
};
|
|
1157
|
+
// INFO: a name already used on this tab is overwritten
|
|
1158
|
+
var handleSaveSavedView = function (name) {
|
|
1159
|
+
var trimmed = name.trim();
|
|
1160
|
+
if (!trimmed)
|
|
1161
|
+
return;
|
|
1162
|
+
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);
|
|
1172
|
+
setSavedViewName(null);
|
|
1173
|
+
};
|
|
1174
|
+
var handleUpdateSavedView = function (id) {
|
|
1175
|
+
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
|
+
}));
|
|
1179
|
+
};
|
|
1180
|
+
var handleDeleteSavedView = function (id) {
|
|
1181
|
+
handleStoreSavedViews(savedViews.filter(function (eachView) { return eachView.id !== id; }));
|
|
1182
|
+
if (activeSavedViewId === id)
|
|
1183
|
+
setActiveSavedViewId(null);
|
|
1184
|
+
setDeletingSavedViewId(null);
|
|
1185
|
+
};
|
|
1066
1186
|
// INFO: called in the row click, while the list is still mounted and scrolled
|
|
1067
1187
|
var handleCaptureListScroll = function (recordId) {
|
|
1068
1188
|
var _a, _b;
|
|
@@ -1124,6 +1244,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
1124
1244
|
structure,
|
|
1125
1245
|
persistedSort,
|
|
1126
1246
|
userHiddenColumnIds,
|
|
1247
|
+
pageLimit,
|
|
1127
1248
|
]);
|
|
1128
1249
|
/* eslint-enable */
|
|
1129
1250
|
// INFO: re-arm on leaving the list, so each return from a record restores once
|
|
@@ -1146,7 +1267,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
1146
1267
|
var isOtherListReturn = !(0, viewStatePersistence_1.handleIsLastDrill)(props.collectionId, (_c = props.organise) === null || _c === void 0 ? void 0 : _c.persistKey);
|
|
1147
1268
|
scrollRestoredRef.current = isSwitch || isOtherListReturn;
|
|
1148
1269
|
/* eslint-disable */
|
|
1149
|
-
}, [props.collectionId, (
|
|
1270
|
+
}, [props.collectionId, (_57 = props.organise) === null || _57 === void 0 ? void 0 : _57.persistKey]);
|
|
1150
1271
|
/* eslint-enable */
|
|
1151
1272
|
// INFO: wait a frame — rows land in state one tick before layout
|
|
1152
1273
|
(0, react_1.useEffect)(function () {
|
|
@@ -1181,7 +1302,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
1181
1302
|
(0, react_1.useEffect)(function () {
|
|
1182
1303
|
handleOfflinePrefetch();
|
|
1183
1304
|
/* eslint-disable */
|
|
1184
|
-
}, [props.collectionId, (
|
|
1305
|
+
}, [props.collectionId, (_58 = props.bareSettings) === null || _58 === void 0 ? void 0 : _58.bareOffline]);
|
|
1185
1306
|
/* eslint-enable */
|
|
1186
1307
|
// INFO: MRQ polling — calls handleRefresh every N ms (e.g. 1500) as a fallback.
|
|
1187
1308
|
// Calls through handleRefreshRef so the interval always dispatches the latest
|
|
@@ -1201,7 +1322,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
1201
1322
|
}, interval);
|
|
1202
1323
|
return function () { return clearInterval(timer); };
|
|
1203
1324
|
/* eslint-disable */
|
|
1204
|
-
}, [(
|
|
1325
|
+
}, [(_59 = props.bareSettings) === null || _59 === void 0 ? void 0 : _59.barePollingInterval, isLive, isNetworkOffline]);
|
|
1205
1326
|
/* eslint-enable */
|
|
1206
1327
|
// INFO: Pub/Sub → SSE live-stream — driven by bareSettings.bareSocketName
|
|
1207
1328
|
// EventSource URL: {sseEndpoint}/{room}?bm_apiToken={token}
|
|
@@ -1243,7 +1364,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
1243
1364
|
};
|
|
1244
1365
|
/* eslint-disable */
|
|
1245
1366
|
}, [
|
|
1246
|
-
(
|
|
1367
|
+
(_60 = props.bareSettings) === null || _60 === void 0 ? void 0 : _60.bareSocketName,
|
|
1247
1368
|
props.collectionId,
|
|
1248
1369
|
props.devSettings.sseEndpoint,
|
|
1249
1370
|
props.devSettings.dbAPIToken,
|
|
@@ -1488,10 +1609,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
1488
1609
|
props.collectionId,
|
|
1489
1610
|
props.model,
|
|
1490
1611
|
props.localURLEndpoint,
|
|
1491
|
-
(
|
|
1492
|
-
(
|
|
1493
|
-
(
|
|
1494
|
-
(
|
|
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,
|
|
1495
1616
|
resolvedType,
|
|
1496
1617
|
]);
|
|
1497
1618
|
/**
|
|
@@ -1632,7 +1753,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
1632
1753
|
};
|
|
1633
1754
|
}, 100);
|
|
1634
1755
|
return function () { return clearTimeout(timeoutId); };
|
|
1635
|
-
}, [(
|
|
1756
|
+
}, [(_65 = props.organise) === null || _65 === void 0 ? void 0 : _65.showReadFloatingNav, resolvedType, props.id, loading]);
|
|
1636
1757
|
(0, react_1.useEffect)(function () {
|
|
1637
1758
|
if (resolvedType !== "read")
|
|
1638
1759
|
return;
|
|
@@ -8736,7 +8857,68 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
8736
8857
|
}
|
|
8737
8858
|
};
|
|
8738
8859
|
// INFO: `hidden` keeps the markers out of space-y spacing
|
|
8860
|
+
var renderSavedViews = function () {
|
|
8861
|
+
var _a;
|
|
8862
|
+
if (!isSavedViewsEnabled)
|
|
8863
|
+
return null;
|
|
8864
|
+
var views = handleGetTabSavedViews();
|
|
8865
|
+
var activeView = views.find(function (eachView) { return eachView.id === activeSavedViewId; });
|
|
8866
|
+
var isModified = !!activeView &&
|
|
8867
|
+
!(0, viewStatePersistence_1.handleIsSameViewState)((0, viewStatePersistence_1.handlePickViewState)(handleBuildViewSnapshot()), (0, viewStatePersistence_1.handlePickViewState)(handleResolveViewState(activeView.state)));
|
|
8868
|
+
var darkMode = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.darkMode;
|
|
8869
|
+
var renderChipClass = function (active) {
|
|
8870
|
+
return "inline-flex items-center gap-1 rounded-full border px-3 py-1 text-xs font-medium ".concat(active
|
|
8871
|
+
? "border-primary-500 bg-primary-50 text-primary-700"
|
|
8872
|
+
: darkMode
|
|
8873
|
+
? "border-gray-600 text-gray-200 hover:bg-gray-700"
|
|
8874
|
+
: "border-gray-300 text-gray-600 hover:bg-gray-50");
|
|
8875
|
+
};
|
|
8876
|
+
var actionClass = "text-xs font-medium ".concat(darkMode ? "text-primary-300" : "text-primary-600", " hover:underline");
|
|
8877
|
+
return (react_1.default.createElement("div", { "data-testid": "dtw-saved-views", className: "mt-3 flex flex-wrap items-center gap-2" },
|
|
8878
|
+
react_1.default.createElement("span", { className: "text-xs font-medium ".concat(darkMode ? "text-gray-400" : "text-gray-500") }, "Views"),
|
|
8879
|
+
react_1.default.createElement("button", { type: "button", "data-testid": "dtw-saved-view-all", className: renderChipClass(!activeView), onClick: function () { return handleApplySavedView(null); } }, "All"),
|
|
8880
|
+
views.map(function (eachView) {
|
|
8881
|
+
return deletingSavedViewId === eachView.id ? (react_1.default.createElement("span", { key: eachView.id, className: renderChipClass(false) },
|
|
8882
|
+
"Delete \u201C",
|
|
8883
|
+
eachView.name,
|
|
8884
|
+
"\u201D?",
|
|
8885
|
+
react_1.default.createElement("button", { type: "button", "data-testid": "dtw-saved-view-confirm-delete-".concat(eachView.id), className: "font-semibold text-red-600", onClick: function () { return handleDeleteSavedView(eachView.id); } }, "Delete"),
|
|
8886
|
+
react_1.default.createElement("button", { type: "button", className: "text-gray-500", onClick: function () { return setDeletingSavedViewId(null); } }, "Keep"))) : (react_1.default.createElement("span", { key: eachView.id, className: renderChipClass(eachView.id === (activeView === null || activeView === void 0 ? void 0 : activeView.id)) },
|
|
8887
|
+
react_1.default.createElement("button", { type: "button", "data-testid": "dtw-saved-view-".concat(eachView.id), title: eachView.id === (activeView === null || activeView === void 0 ? void 0 : activeView.id) && isModified
|
|
8888
|
+
? "Changed since saved"
|
|
8889
|
+
: undefined, onClick: function () { return handleApplySavedView(eachView); } },
|
|
8890
|
+
eachView.name,
|
|
8891
|
+
eachView.id === (activeView === null || activeView === void 0 ? void 0 : activeView.id) && isModified ? " •" : ""),
|
|
8892
|
+
!eachView.locked && (react_1.default.createElement("button", { type: "button", "aria-label": "Delete ".concat(eachView.name), "data-testid": "dtw-saved-view-delete-".concat(eachView.id), onClick: function () { return setDeletingSavedViewId(eachView.id); } },
|
|
8893
|
+
react_1.default.createElement(outline_1.XMarkIcon, { className: "h-3.5 w-3.5" })))));
|
|
8894
|
+
}),
|
|
8895
|
+
activeView && isModified && !activeView.locked && (react_1.default.createElement("button", { type: "button", "data-testid": "dtw-saved-view-update", className: actionClass, onClick: function () { return handleUpdateSavedView(activeView.id); } },
|
|
8896
|
+
"Update \u201C",
|
|
8897
|
+
activeView.name,
|
|
8898
|
+
"\u201D")),
|
|
8899
|
+
savedViewName === null ? (react_1.default.createElement("button", { type: "button", "data-testid": "dtw-saved-view-new", className: actionClass, onClick: function () { return setSavedViewName(""); } }, "+ Save view")) : (
|
|
8900
|
+
// INFO: a form, so a mobile keyboard's Done saves the view; stopPropagation
|
|
8901
|
+
// keeps the submit from reaching any form around the template
|
|
8902
|
+
react_1.default.createElement("form", { "data-testid": "dtw-saved-view-form", className: "flex items-center gap-1", onSubmit: function (event) {
|
|
8903
|
+
event.preventDefault();
|
|
8904
|
+
event.stopPropagation();
|
|
8905
|
+
handleSaveSavedView(savedViewName);
|
|
8906
|
+
} },
|
|
8907
|
+
react_1.default.createElement(textInput_1.TextInput, { id: "dtw-saved-view-name", type: "text", label: "", size: "xs", autoFocus: true, enterKeyHint: "done", darkMode: darkMode, value: savedViewName, placeholder: "View name", containerClassName: "w-32 sm:w-44", onChange: function (event) { return setSavedViewName(event.target.value); }, onKeyDown: function (event) {
|
|
8908
|
+
if (event.key === "Escape")
|
|
8909
|
+
setSavedViewName(null);
|
|
8910
|
+
// INFO: some mobile keyboards send only the keyCode
|
|
8911
|
+
if (event.key === "Enter" || event.keyCode === 13) {
|
|
8912
|
+
event.preventDefault();
|
|
8913
|
+
event.stopPropagation();
|
|
8914
|
+
handleSaveSavedView(savedViewName);
|
|
8915
|
+
}
|
|
8916
|
+
} }),
|
|
8917
|
+
react_1.default.createElement("button", { type: "submit", className: actionClass }, "Save"),
|
|
8918
|
+
react_1.default.createElement("button", { type: "button", className: "text-xs text-gray-500", onClick: function () { return setSavedViewName(null); } }, "Cancel")))));
|
|
8919
|
+
};
|
|
8739
8920
|
var renderScopedTabContent = function (tabs, dataType, requestedViewType) { return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
8921
|
+
renderSavedViews(),
|
|
8740
8922
|
react_1.default.createElement("span", { ref: scrollScopeStartRef, hidden: true, "aria-hidden": "true" }),
|
|
8741
8923
|
renderTabContent(tabs, dataType, requestedViewType),
|
|
8742
8924
|
react_1.default.createElement("span", { ref: scrollScopeEndRef, hidden: true, "aria-hidden": "true" }))); };
|
|
@@ -9465,36 +9647,39 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
9465
9647
|
var kanbanData = renderGridAndListData("", "kanban", kanbanTitle_2, kanbanSettings === null || kanbanSettings === void 0 ? void 0 : kanbanSettings.useColumnName);
|
|
9466
9648
|
// INFO: when bareNewDTW is enabled, render NewKanban instead of legacy Kanban
|
|
9467
9649
|
if ((_54 = props.bareSettings) === null || _54 === void 0 ? void 0 : _54.bareNewDTW) {
|
|
9468
|
-
return (
|
|
9469
|
-
|
|
9470
|
-
|
|
9471
|
-
|
|
9472
|
-
|
|
9473
|
-
|
|
9474
|
-
|
|
9475
|
-
|
|
9476
|
-
|
|
9477
|
-
|
|
9478
|
-
|
|
9479
|
-
|
|
9480
|
-
|
|
9481
|
-
|
|
9482
|
-
|
|
9483
|
-
|
|
9484
|
-
|
|
9485
|
-
|
|
9486
|
-
|
|
9487
|
-
|
|
9488
|
-
|
|
9489
|
-
|
|
9490
|
-
|
|
9491
|
-
|
|
9492
|
-
|
|
9493
|
-
|
|
9494
|
-
|
|
9495
|
-
|
|
9496
|
-
|
|
9497
|
-
|
|
9650
|
+
return (
|
|
9651
|
+
// INFO: the same top spacing as the table, list and grid
|
|
9652
|
+
react_1.default.createElement("div", { className: "mt-5" },
|
|
9653
|
+
react_1.default.createElement(newKanban_1.NewKanban, { className: "inline-flex", data: kanbanData, loading: tableLoading, groupBy: groupBy_1, groupId: kanbanTitle_2 !== null && kanbanTitle_2 !== void 0 ? kanbanTitle_2 : "", groupLabel: groupLabel_1.length > 0 ? groupLabel_1 : undefined, nullColumn: nullColumn_1, alertMessage: kanbanData.length === limit
|
|
9654
|
+
? "Data has exceeded limit, please apply filters"
|
|
9655
|
+
: "", groupCluster: kanbanSettings === null || kanbanSettings === void 0 ? void 0 : kanbanSettings.groupCluster, draggable: canUpdateRecord, droppable: canUpdateRecord && kanbanDroppable, mobileView: (_55 = props.bareSettings) === null || _55 === void 0 ? void 0 : _55.bareListMobileView, onUpdateData: canUpdateRecord
|
|
9656
|
+
? function (cardId, _fromCol, toCol) { return __awaiter(void 0, void 0, void 0, function () {
|
|
9657
|
+
var _a;
|
|
9658
|
+
return __generator(this, function (_b) {
|
|
9659
|
+
switch (_b.label) {
|
|
9660
|
+
case 0:
|
|
9661
|
+
setKanbanDroppable(false);
|
|
9662
|
+
_b.label = 1;
|
|
9663
|
+
case 1:
|
|
9664
|
+
_b.trys.push([1, , 3, 4]);
|
|
9665
|
+
return [4 /*yield*/, handleSubmitData("update", cardId, kanbanTitle_2, (_a = {},
|
|
9666
|
+
_a[kanbanTitle_2] = toCol,
|
|
9667
|
+
_a))];
|
|
9668
|
+
case 2:
|
|
9669
|
+
_b.sent();
|
|
9670
|
+
return [3 /*break*/, 4];
|
|
9671
|
+
case 3:
|
|
9672
|
+
setKanbanDroppable(true);
|
|
9673
|
+
return [7 /*endfinally*/];
|
|
9674
|
+
case 4: return [2 /*return*/];
|
|
9675
|
+
}
|
|
9676
|
+
});
|
|
9677
|
+
}); }
|
|
9678
|
+
: undefined, onClickData: function (id) {
|
|
9679
|
+
var _a, _b;
|
|
9680
|
+
handleCaptureListScroll(id);
|
|
9681
|
+
(_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.handleNavigate) === null || _b === void 0 ? void 0 : _b.call(_a, "read", id, "general");
|
|
9682
|
+
}, darkMode: (_56 = props.organise) === null || _56 === void 0 ? void 0 : _56.darkMode, darkModeBg: (_57 = props.organise) === null || _57 === void 0 ? void 0 : _57.darkModeBg })));
|
|
9498
9683
|
}
|
|
9499
9684
|
return (react_1.default.createElement(kanban_1.Kanban, { className: "inline-flex", data: kanbanData, loading: tableLoading, groupBy: groupBy_1, groupId: kanbanTitle_2 !== null && kanbanTitle_2 !== void 0 ? kanbanTitle_2 : "", groupLabel: groupLabel_1.length > 0 ? groupLabel_1 : undefined, nullColumn: nullColumn_1, alertMessage: kanbanData.length === limit
|
|
9500
9685
|
? "Data has exceeded limit, please apply filters"
|
|
@@ -10007,7 +10192,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
10007
10192
|
};
|
|
10008
10193
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
10009
10194
|
renderNotification("root"),
|
|
10010
|
-
((
|
|
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 () {
|
|
10011
10196
|
var _a, _b;
|
|
10012
10197
|
if (loading)
|
|
10013
10198
|
return;
|
|
@@ -10018,7 +10203,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
10018
10203
|
setExportCSVEmail((_b = (_a = props.devSettings.currentUser) === null || _a === void 0 ? void 0 : _a.userEmail) !== null && _b !== void 0 ? _b : "");
|
|
10019
10204
|
}
|
|
10020
10205
|
}, notification: react_1.default.createElement(react_1.default.Fragment, null, renderNotification("modal")) })),
|
|
10021
|
-
react_1.default.createElement(modal_1.Modal, { darkMode: (
|
|
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 () {
|
|
10022
10207
|
return (react_1.default.createElement(referenceModal_1.ReferenceModal, { referenceModelSchema: referenceModelSchema, referenceDataStructure: referenceCreationModal, devSettings: props.devSettings, handleCreateRefId: function (dataId) {
|
|
10023
10208
|
if (dataId) {
|
|
10024
10209
|
var currentValue = selectedData[referenceCreationModal.id];
|
|
@@ -10034,19 +10219,19 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
10034
10219
|
}, onClose: function () {
|
|
10035
10220
|
setReferenceCreationModal({ id: "", name: "", type: "string" });
|
|
10036
10221
|
} }),
|
|
10037
|
-
react_1.default.createElement(modal_1.Modal, { darkMode: (
|
|
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 () {
|
|
10038
10223
|
setReferenceDeleteTableData({});
|
|
10039
10224
|
}, notification: react_1.default.createElement(react_1.default.Fragment, null, renderNotification("modal")) }),
|
|
10040
|
-
react_1.default.createElement(modal_1.Modal, { darkMode: (
|
|
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 () {
|
|
10041
10226
|
setDeletePasscodeInput("");
|
|
10042
10227
|
setDeleteModal(!deleteModal);
|
|
10043
10228
|
setDeleteFeedId("");
|
|
10044
10229
|
}, notification: react_1.default.createElement(react_1.default.Fragment, null, renderNotification("modal")) }),
|
|
10045
|
-
react_1.default.createElement(modal_1.Modal, { darkMode: (
|
|
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 () {
|
|
10046
10231
|
setBatchUpdateData({ columnId: "", columnData: {} });
|
|
10047
10232
|
setBatchUpdateModal(false);
|
|
10048
10233
|
}, notification: react_1.default.createElement(react_1.default.Fragment, null, renderNotification("modal")) }),
|
|
10049
|
-
react_1.default.createElement(modal_1.Modal, { darkMode: (
|
|
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 () {
|
|
10050
10235
|
var _a;
|
|
10051
10236
|
if (props.space)
|
|
10052
10237
|
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 }));
|
|
@@ -10054,7 +10239,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
10054
10239
|
}, onClose: function () {
|
|
10055
10240
|
setSelectedAuthMethod("");
|
|
10056
10241
|
} }),
|
|
10057
|
-
isActivityLog && (react_1.default.createElement(modal_1.Modal, { darkMode: (
|
|
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 () {
|
|
10058
10243
|
var _a, _b;
|
|
10059
10244
|
return (react_1.default.createElement(activityModal_1.ActivityModal, { title: props.title && typeof props.title === "string"
|
|
10060
10245
|
? props.title
|