blixify-ui-web 1.2.183 → 1.2.184
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/index.d.ts.map +1 -1
- package/lib/components/data/dataTemplate/index.js +148 -133
- package/lib/components/data/dataTemplate/index.js.map +1 -1
- package/lib/components/display/drawer/index.d.ts +1 -0
- package/lib/components/display/drawer/index.d.ts.map +1 -1
- package/lib/components/display/drawer/index.js +10 -2
- package/lib/components/display/drawer/index.js.map +1 -1
- package/lib/components/display/newTable/index.d.ts.map +1 -1
- package/lib/components/display/newTable/index.js +80 -23
- package/lib/components/display/newTable/index.js.map +1 -1
- package/lib/tail.css +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataTemplate/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataTemplate/index.tsx"],"names":[],"mappings":"AAqCA,OAAO,KASN,MAAM,OAAO,CAAC;AA2Gf,OAAO,EACL,iBAAiB,EAIlB,MAAM,kBAAkB,CAAC;AAuF1B,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAsC1C,eAAO,MAAM,YAAY,mFAktdvB,CAAC"}
|
|
@@ -91,6 +91,7 @@ var BookmarkIcon_1 = __importDefault(require("@heroicons/react/24/outline/Bookma
|
|
|
91
91
|
var solid_1 = require("@heroicons/react/24/solid");
|
|
92
92
|
var html2canvas_1 = __importDefault(require("html2canvas"));
|
|
93
93
|
var jspdf_1 = __importDefault(require("jspdf"));
|
|
94
|
+
var react_dom_1 = require("react-dom");
|
|
94
95
|
var react_1 = __importStar(require("react"));
|
|
95
96
|
var uuid_1 = require("uuid");
|
|
96
97
|
var button_1 = require("../../action/button");
|
|
@@ -214,10 +215,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
214
215
|
// Every read of the view type below uses resolvedType. The distinction matters
|
|
215
216
|
// most in effect dependency arrays — following props.type there would leave
|
|
216
217
|
// the list never refetching while the panel is open, which fails silently.
|
|
217
|
-
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, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94;
|
|
218
|
+
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, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96;
|
|
218
219
|
// INFO: the panel cannot navigate its way out — handleNavigate("read") is
|
|
219
220
|
// routed straight back into it — so expand-to-full-page is local state.
|
|
220
|
-
var
|
|
221
|
+
var _97 = (0, react_1.useState)(false), drawerPageView = _97[0], setDrawerPageView = _97[1];
|
|
221
222
|
// INFO: the panel keeps rendering the record it was opened with rather than
|
|
222
223
|
// live props. Without this, navigating back to the list would re-render the
|
|
223
224
|
// still-mounted panel as a second list behind the overlay.
|
|
@@ -309,18 +310,18 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
309
310
|
initialFilterReferenceDate: initialFilterReferenceDate,
|
|
310
311
|
};
|
|
311
312
|
};
|
|
312
|
-
var
|
|
313
|
+
var _98 = intialiseDefaultFilterValues(), initialFilterSearch = _98.initialFilterSearch, initialFilterSearchParams = _98.initialFilterSearchParams, initialFilterSelection = _98.initialFilterSelection, initialFilterReference = _98.initialFilterReference, initialFilterReferenceDate = _98.initialFilterReferenceDate;
|
|
313
314
|
// INFO: Persist view state hook — handles storage read/write for filter/sort/column state
|
|
314
|
-
var
|
|
315
|
+
var _99 = (0, viewStatePersistence_1.usePersistedViewState)({
|
|
315
316
|
mode: (_b = props.organise) === null || _b === void 0 ? void 0 : _b.persistViewState,
|
|
316
317
|
collectionId: props.collectionId,
|
|
317
318
|
persistKey: (_c = props.organise) === null || _c === void 0 ? void 0 : _c.persistKey,
|
|
318
319
|
type: resolvedType,
|
|
319
|
-
}), rawPersistedState =
|
|
320
|
+
}), rawPersistedState = _99.persistedState, isPersistEnabled = _99.isEnabled, handleSaveView = _99.handleSaveView, handleRegisterViewSnapshot = _99.handleRegisterViewSnapshot;
|
|
320
321
|
// INFO: drop stored filters/sort on removed columns — they would empty the table
|
|
321
322
|
var persistedState = (0, react_1.useMemo)(function () { return (0, viewStatePersistence_1.handlePruneStaleColumns)(rawPersistedState, props.model); }, [rawPersistedState, props.model]);
|
|
322
|
-
var
|
|
323
|
-
var
|
|
323
|
+
var _100 = (0, react_1.useState)(false), loading = _100[0], setLoading = _100[1];
|
|
324
|
+
var _101 = (0, react_1.useState)(), notification = _101[0], setNotification = _101[1];
|
|
324
325
|
// INFO: a success toast is confirmation, not a decision — it clears itself so
|
|
325
326
|
// it never sits on the floating step bar; errors stay until dismissed
|
|
326
327
|
(0, react_1.useEffect)(function () {
|
|
@@ -330,62 +331,62 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
330
331
|
return function () { return clearTimeout(timer); };
|
|
331
332
|
}, [notification]);
|
|
332
333
|
//INFO : Used by List
|
|
333
|
-
var
|
|
334
|
-
var
|
|
335
|
-
var
|
|
336
|
-
var
|
|
337
|
-
var
|
|
338
|
-
var
|
|
339
|
-
var
|
|
334
|
+
var _102 = (0, react_1.useState)((_d = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSearchParams) !== null && _d !== void 0 ? _d : initialFilterSearch), filterSearch = _102[0], setFilterSearch = _102[1];
|
|
335
|
+
var _103 = (0, react_1.useState)((_e = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSearchParams) !== null && _e !== void 0 ? _e : initialFilterSearchParams), filterSearchParams = _103[0], setFilterSearchParams = _103[1];
|
|
336
|
+
var _104 = (0, react_1.useState)((_f = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSelection) !== null && _f !== void 0 ? _f : initialFilterSelection), filterSelection = _104[0], setFilterSelection = _104[1];
|
|
337
|
+
var _105 = (0, react_1.useState)((_g = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterReference) !== null && _g !== void 0 ? _g : initialFilterReference), filterReference = _105[0], setFilterReference = _105[1];
|
|
338
|
+
var _106 = (0, react_1.useState)({}), filterReferenceSearch = _106[0], setFilterReferenceSearch = _106[1];
|
|
339
|
+
var _107 = (0, react_1.useState)({}), filterReferenceList = _107[0], setFilterReferenceList = _107[1];
|
|
340
|
+
var _108 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterReferenceDate)
|
|
340
341
|
? (0, viewStatePersistence_1.parseDateFilterState)(persistedState.filterReferenceDate)
|
|
341
|
-
: initialFilterReferenceDate), filterReferenceDate =
|
|
342
|
-
var
|
|
343
|
-
var
|
|
344
|
-
var
|
|
345
|
-
var
|
|
346
|
-
var
|
|
342
|
+
: initialFilterReferenceDate), filterReferenceDate = _108[0], setFilterReferenceDate = _108[1];
|
|
343
|
+
var _109 = (0, react_1.useState)(true), tableLoading = _109[0], setTableLoading = _109[1];
|
|
344
|
+
var _110 = (0, react_1.useState)(""), cursor = _110[0], setCursor = _110[1];
|
|
345
|
+
var _111 = (0, react_1.useState)(""), lastCursor = _111[0], setLastCursor = _111[1];
|
|
346
|
+
var _112 = (0, react_1.useState)([]), tableData = _112[0], setTableData = _112[1];
|
|
347
|
+
var _113 = (0, react_1.useState)([]), spaceTableData = _113[0], setSpaceTableData = _113[1];
|
|
347
348
|
// INFO: a save resolves after later renders, so it reads the table from here —
|
|
348
349
|
// the state it closed over can predate an earlier save on the same row
|
|
349
350
|
var tableDataRef = (0, react_1.useRef)([]);
|
|
350
351
|
var spaceTableDataRef = (0, react_1.useRef)([]);
|
|
351
352
|
tableDataRef.current = tableData;
|
|
352
353
|
spaceTableDataRef.current = spaceTableData;
|
|
353
|
-
var
|
|
354
|
-
var
|
|
355
|
-
var
|
|
356
|
-
var
|
|
357
|
-
var
|
|
358
|
-
var
|
|
359
|
-
var
|
|
354
|
+
var _114 = (0, react_1.useState)(0), size = _114[0], setSize = _114[1];
|
|
355
|
+
var _115 = (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 = _115[0], setPageIndex = _115[1];
|
|
356
|
+
var _116 = (0, react_1.useState)([]), selectedIds = _116[0], setSelectedIds = _116[1];
|
|
357
|
+
var _117 = (0, react_1.useState)(false), selectAll = _117[0], setSelectAll = _117[1];
|
|
358
|
+
var _118 = (0, react_1.useState)(""), deletePasscode = _118[0], setDeletePasscode = _118[1];
|
|
359
|
+
var _119 = (0, react_1.useState)(""), deletePasscodeInput = _119[0], setDeletePasscodeInput = _119[1];
|
|
360
|
+
var _120 = (0, react_1.useState)(""), deleteFeedId = _120[0], setDeleteFeedId = _120[1];
|
|
360
361
|
//INFO : Used by List Organise
|
|
361
362
|
// INFO: Internal sort state that overrides props.organise?.sort when
|
|
362
363
|
// persistViewState is enabled and a persisted sort exists
|
|
363
|
-
var
|
|
364
|
-
var
|
|
365
|
-
var
|
|
366
|
-
var
|
|
364
|
+
var _121 = (0, react_1.useState)((_l = persistedState === null || persistedState === void 0 ? void 0 : persistedState.sort) !== null && _l !== void 0 ? _l : undefined), persistedSort = _121[0], setPersistedSort = _121[1];
|
|
365
|
+
var _122 = (0, react_1.useState)(false), filterDraft = _122[0], setFilterDraft = _122[1];
|
|
366
|
+
var _123 = (0, react_1.useState)(false), addTabModal = _123[0], setAddTabModal = _123[1];
|
|
367
|
+
var _124 = (0, react_1.useState)(-1), editTabIndex = _124[0], setEditTabIndex = _124[1];
|
|
367
368
|
//INFO : resolve the initial tab synchronously so the mount cond is already
|
|
368
369
|
// tab-scoped — an empty initial tab caused a second wasted list fetch
|
|
369
|
-
var
|
|
370
|
+
var _125 = (0, react_1.useState)(function () {
|
|
370
371
|
var _a, _b;
|
|
371
372
|
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);
|
|
372
|
-
}), selectedTab =
|
|
373
|
-
var
|
|
373
|
+
}), selectedTab = _125[0], setSelectedTab = _125[1];
|
|
374
|
+
var _126 = (0, react_1.useState)("dayGridMonth"), calendarView = _126[0], setCalendarView = _126[1];
|
|
374
375
|
// INFO: bareNewDTW calendar viewSwitch mode — drives the NewCalendar variant
|
|
375
376
|
// (calendarView above drives the matching range query)
|
|
376
|
-
var
|
|
377
|
-
var
|
|
377
|
+
var _127 = (0, react_1.useState)("month"), newCalendarViewMode = _127[0], setNewCalendarViewMode = _127[1];
|
|
378
|
+
var _128 = (0, react_1.useState)(new Date()), calendarTabMonth = _128[0], setCalendarTabMonth = _128[1];
|
|
378
379
|
// INFO: defaultViewSwitch picks the opening view only — the tab re-inits
|
|
379
380
|
// whenever its settings change, and that must not undo the user's switch
|
|
380
381
|
var calendarViewInitRef = (0, react_1.useRef)(false);
|
|
381
|
-
var
|
|
382
|
-
var
|
|
383
|
-
var
|
|
384
|
-
var
|
|
382
|
+
var _129 = (0, react_1.useState)(true), kanbanDroppable = _129[0], setKanbanDroppable = _129[1];
|
|
383
|
+
var _130 = (0, react_1.useState)([]), kanbanOptions = _130[0], setKanbanOptions = _130[1];
|
|
384
|
+
var _131 = (0, react_1.useState)(false), batchUpdateModal = _131[0], setBatchUpdateModal = _131[1];
|
|
385
|
+
var _132 = (0, react_1.useState)({
|
|
385
386
|
columnId: "",
|
|
386
387
|
columnData: {},
|
|
387
|
-
}), batchUpdateData =
|
|
388
|
-
var
|
|
388
|
+
}), batchUpdateData = _132[0], setBatchUpdateData = _132[1];
|
|
389
|
+
var _133 = (0, react_1.useState)(function () {
|
|
389
390
|
var baseModel = (props === null || props === void 0 ? void 0 : props.model) || [];
|
|
390
391
|
if (!persistedState)
|
|
391
392
|
return baseModel;
|
|
@@ -411,8 +412,8 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
411
412
|
});
|
|
412
413
|
}
|
|
413
414
|
return model;
|
|
414
|
-
}), structure =
|
|
415
|
-
var
|
|
415
|
+
}), structure = _133[0], setStructure = _133[1];
|
|
416
|
+
var _134 = (0, react_1.useState)(((_m = props === null || props === void 0 ? void 0 : props.organise) === null || _m === void 0 ? void 0 : _m.additionalQuery) || []), additionalQuery = _134[0], setAdditionalQuery = _134[1];
|
|
416
417
|
// INFO: State for user-configurable flex filters (Monday.com-style)
|
|
417
418
|
// INFO: Initialize with one empty row so users see inputs immediately without clicking "Add Filter"
|
|
418
419
|
var defaultFlexFilterRow = [
|
|
@@ -423,9 +424,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
423
424
|
value: undefined,
|
|
424
425
|
},
|
|
425
426
|
];
|
|
426
|
-
var
|
|
427
|
+
var _135 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.flexFilters) && persistedState.flexFilters.length > 0
|
|
427
428
|
? persistedState.flexFilters
|
|
428
|
-
: defaultFlexFilterRow), flexFilters =
|
|
429
|
+
: defaultFlexFilterRow), flexFilters = _135[0], setFlexFilters = _135[1];
|
|
429
430
|
// INFO: always-current mirror of flexFilters, read by the imperative apply/
|
|
430
431
|
// clear methods so chained calls in one tick aren't stale.
|
|
431
432
|
var flexFiltersRef = (0, react_1.useRef)(flexFilters);
|
|
@@ -438,76 +439,76 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
438
439
|
}, [flexFilters]);
|
|
439
440
|
// INFO: Debounced version of flexFilters used by renderImpSearchFilterConditions
|
|
440
441
|
// to prevent API calls on every keystroke when typing in value inputs
|
|
441
|
-
var
|
|
442
|
+
var _136 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.flexFilters) && persistedState.flexFilters.length > 0
|
|
442
443
|
? persistedState.flexFilters
|
|
443
|
-
: defaultFlexFilterRow), flexFiltersDebounced =
|
|
444
|
+
: defaultFlexFilterRow), flexFiltersDebounced = _136[0], setFlexFiltersDebounced = _136[1];
|
|
444
445
|
// INFO: the filter rows of the export being set up — started from the
|
|
445
446
|
// list's own when the export opens, so changing them leaves the list as it is
|
|
446
|
-
var
|
|
447
|
-
var
|
|
448
|
-
var
|
|
449
|
-
var
|
|
450
|
-
var
|
|
447
|
+
var _137 = (0, react_1.useState)(defaultFlexFilterRow), exportFlexFilters = _137[0], setExportFlexFilters = _137[1];
|
|
448
|
+
var _138 = (0, react_1.useState)({}), flexFilterReferenceOptions = _138[0], setFlexFilterReferenceOptions = _138[1];
|
|
449
|
+
var _139 = (0, react_1.useState)({}), flexFilterReferenceSearch = _139[0], setFlexFilterReferenceSearch = _139[1];
|
|
450
|
+
var _140 = (0, react_1.useState)(false), flexFilterModalOpen = _140[0], setFlexFilterModalOpen = _140[1];
|
|
451
|
+
var _141 = (0, react_1.useState)(false), viewSettingsModalOpen = _141[0], setViewSettingsModalOpen = _141[1];
|
|
451
452
|
// INFO: Columns the end user chose to hide (bareSettings.bareViewSettings).
|
|
452
453
|
// Deliberately kept out of `structure`: the props-sync effect below resets
|
|
453
454
|
// structure to props.model whenever props change, which would wipe the
|
|
454
455
|
// choice, and the persist effect derives schema-level hiddenColumnIds from
|
|
455
456
|
// structure — writing user hides there would blur the two concepts.
|
|
456
|
-
var
|
|
457
|
-
var
|
|
458
|
-
var
|
|
459
|
-
var
|
|
457
|
+
var _142 = (0, react_1.useState)((_o = persistedState === null || persistedState === void 0 ? void 0 : persistedState.userHiddenColumnIds) !== null && _o !== void 0 ? _o : []), userHiddenColumnIds = _142[0], setUserHiddenColumnIds = _142[1];
|
|
458
|
+
var _143 = (0, react_1.useState)(""), columnSearch = _143[0], setColumnSearch = _143[1];
|
|
459
|
+
var _144 = (0, react_1.useState)([]), savedViews = _144[0], setSavedViews = _144[1];
|
|
460
|
+
var _145 = (0, react_1.useState)(null), activeSavedViewId = _145[0], setActiveSavedViewId = _145[1];
|
|
460
461
|
// INFO: null while the name box is closed
|
|
461
|
-
var
|
|
462
|
-
var
|
|
463
|
-
var
|
|
462
|
+
var _146 = (0, react_1.useState)(null), savedViewName = _146[0], setSavedViewName = _146[1];
|
|
463
|
+
var _147 = (0, react_1.useState)(null), deletingSavedViewId = _147[0], setDeletingSavedViewId = _147[1];
|
|
464
|
+
var _148 = (0, react_1.useState)(null), draggingColumnId = _148[0], setDraggingColumnId = _148[1];
|
|
464
465
|
var columnRowRefs = (0, react_1.useRef)({});
|
|
465
466
|
//INFO : Used by Auth
|
|
466
|
-
var
|
|
467
|
+
var _149 = (0, react_1.useState)({
|
|
467
468
|
email: "",
|
|
468
469
|
google: "",
|
|
469
470
|
phone: "",
|
|
470
471
|
disabled: false,
|
|
471
472
|
create: false,
|
|
472
|
-
}), authMethods =
|
|
473
|
-
var
|
|
473
|
+
}), authMethods = _149[0], setAuthMethods = _149[1];
|
|
474
|
+
var _150 = (0, react_1.useState)(""), selectedAuthMethod = _150[0], setSelectedAuthMethod = _150[1];
|
|
474
475
|
// INFO: the sign-in check of a users datasheet's record is running; the
|
|
475
476
|
// panel shows a spinner rather than nothing, which read as "no login"
|
|
476
|
-
var
|
|
477
|
+
var _151 = (0, react_1.useState)(false), authLoading = _151[0], setAuthLoading = _151[1];
|
|
477
478
|
// INFO: a delete is running — the ref answers a second tap at once, before
|
|
478
479
|
// the state has rendered, and the state disables the confirm button
|
|
479
480
|
var deletingRef = (0, react_1.useRef)(false);
|
|
480
|
-
var
|
|
481
|
+
var _152 = (0, react_1.useState)(false), deleting = _152[0], setDeleting = _152[1];
|
|
481
482
|
// INFO: Used by Activity Log
|
|
482
|
-
var
|
|
483
|
-
var
|
|
483
|
+
var _153 = (0, react_1.useState)(false), activityModal = _153[0], setActivityModal = _153[1];
|
|
484
|
+
var _154 = (0, react_1.useState)(""), activityId = _154[0], setActivityId = _154[1];
|
|
484
485
|
//INFO : Used by Export
|
|
485
|
-
var
|
|
486
|
-
var
|
|
487
|
-
var
|
|
488
|
-
var
|
|
489
|
-
var
|
|
490
|
-
var
|
|
491
|
-
var
|
|
492
|
-
var
|
|
493
|
-
var
|
|
494
|
-
var
|
|
495
|
-
var
|
|
496
|
-
var
|
|
497
|
-
var
|
|
498
|
-
var
|
|
499
|
-
var
|
|
486
|
+
var _155 = (0, react_1.useState)(null), csvFile = _155[0], setCSVFile = _155[1];
|
|
487
|
+
var _156 = (0, react_1.useState)([]), csvFileData = _156[0], setCSVFileData = _156[1];
|
|
488
|
+
var _157 = (0, react_1.useState)(0), stepCSVIndex = _157[0], setStepCSVIndex = _157[1];
|
|
489
|
+
var _158 = (0, react_1.useState)({}), listCSVMapAttribute = _158[0], setListCSVMapAttribute = _158[1];
|
|
490
|
+
var _159 = (0, react_1.useState)({}), listCSVObjAttribute = _159[0], setListCSVObjAttribute = _159[1];
|
|
491
|
+
var _160 = (0, react_1.useState)([]), csvAPIAttribute = _160[0], setCSVAPIAttribute = _160[1];
|
|
492
|
+
var _161 = (0, react_1.useState)(((_p = props.devSettings.currentUser) === null || _p === void 0 ? void 0 : _p.userEmail) || ""), exportCSVEmail = _161[0], setExportCSVEmail = _161[1];
|
|
493
|
+
var _162 = (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 = _162[0], setExportPDFTitle = _162[1];
|
|
494
|
+
var _163 = (0, react_1.useState)(false), exportPDFLoading = _163[0], setExportPDFLoading = _163[1];
|
|
495
|
+
var _164 = (0, react_1.useState)(false), exportReadPDFLoading = _164[0], setExportReadPDFLoading = _164[1];
|
|
496
|
+
var _165 = (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 = _165[0], setExportSumAttributeIds = _165[1];
|
|
497
|
+
var _166 = (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 = _166[0], setHideSubItems = _166[1];
|
|
498
|
+
var _167 = (0, react_1.useState)([]), importTableData = _167[0], setImportTableData = _167[1];
|
|
499
|
+
var _168 = (0, react_1.useState)([]), queryList = _168[0], setQueryList = _168[1];
|
|
500
|
+
var _169 = (0, react_1.useState)(undefined), allQueryList = _169[0], setAllQueryList = _169[1];
|
|
500
501
|
// INFO: a restored state wins over the prop; its "" is a list the user
|
|
501
502
|
// ungrouped, so it opens ungrouped
|
|
502
|
-
var
|
|
503
|
+
var _170 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.groupBy) !== undefined
|
|
503
504
|
? persistedState.groupBy || undefined
|
|
504
|
-
: (_y = props.organise) === null || _y === void 0 ? void 0 : _y.groupBy), groupId =
|
|
505
|
+
: (_y = props.organise) === null || _y === void 0 ? void 0 : _y.groupBy), groupId = _170[0], setGroupId = _170[1];
|
|
505
506
|
// INFO: Monday-board per-group paging. Keyed by the group key that
|
|
506
507
|
// handleBuildNewTableGroups() produces (a list option or "Unknown/No Value").
|
|
507
508
|
// Each group tracks its own loaded cursor + total so it can lazily load its
|
|
508
509
|
// next page as the user scrolls inside that band, independent of every other
|
|
509
510
|
// group. Only used when renderCheckGroupPaging() is true.
|
|
510
|
-
var
|
|
511
|
+
var _171 = (0, react_1.useState)({}), groupPageState = _171[0], setGroupPageState = _171[1];
|
|
511
512
|
// INFO: read fresh inside the async per-group fetch so chained scroll fires
|
|
512
513
|
// in one tick do not re-fetch an already in-flight page.
|
|
513
514
|
var groupPageStateRef = (0, react_1.useRef)({});
|
|
@@ -516,59 +517,59 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
516
517
|
// list was re-read (new search, filter, sort or grouping) is dropped on
|
|
517
518
|
// arrival instead of appending rows that belong to the old list
|
|
518
519
|
var groupPagingGenRef = (0, react_1.useRef)(0);
|
|
519
|
-
var
|
|
520
|
-
var
|
|
520
|
+
var _172 = (0, react_1.useState)(""), readTabSection = _172[0], setReadTabSection = _172[1];
|
|
521
|
+
var _173 = (0, react_1.useState)(false), readFloatingNav = _173[0], setReadFloatingNav = _173[1];
|
|
521
522
|
var readTabSectionRefs = (0, react_1.useRef)({});
|
|
522
523
|
//INFO : Used by Read
|
|
523
524
|
//INFO : Used by Update
|
|
524
|
-
var
|
|
525
|
-
var
|
|
526
|
-
var
|
|
527
|
-
var
|
|
528
|
-
var
|
|
529
|
-
var
|
|
530
|
-
var
|
|
525
|
+
var _174 = (0, react_1.useState)(false), modalVisible = _174[0], setModalVisible = _174[1];
|
|
526
|
+
var _175 = (0, react_1.useState)(false), deleteModal = _175[0], setDeleteModal = _175[1];
|
|
527
|
+
var _176 = (0, react_1.useState)(false), excelModal = _176[0], setExcelModal = _176[1];
|
|
528
|
+
var _177 = (0, react_1.useState)(false), exportExcel = _177[0], setExportExcel = _177[1];
|
|
529
|
+
var _178 = (0, react_1.useState)(""), exportType = _178[0], setExportType = _178[1];
|
|
530
|
+
var _179 = (0, react_1.useState)(false), exportQR = _179[0], setExportQR = _179[1];
|
|
531
|
+
var _180 = (0, react_1.useState)(function () {
|
|
531
532
|
var _a, _b;
|
|
532
533
|
var firstTabId = (_b = (_a = structure.find(function (item) { return item.tabId; })) === null || _a === void 0 ? void 0 : _a.tabId) !== null && _b !== void 0 ? _b : "";
|
|
533
534
|
return firstTabId;
|
|
534
|
-
}), activeTab =
|
|
535
|
-
var
|
|
536
|
-
var
|
|
537
|
-
var
|
|
538
|
-
var
|
|
539
|
-
var
|
|
540
|
-
var
|
|
541
|
-
var
|
|
535
|
+
}), activeTab = _180[0], setActiveTab = _180[1];
|
|
536
|
+
var _181 = (0, react_1.useState)(false), signatureSigning = _181[0], setSignatureSigning = _181[1];
|
|
537
|
+
var _182 = (0, react_1.useState)({}), selectedData = _182[0], setSelectedData = _182[1];
|
|
538
|
+
var _183 = (0, react_1.useState)(""), selectedObjectStructureId = _183[0], setSelectedObjectStructureId = _183[1];
|
|
539
|
+
var _184 = (0, react_1.useState)(""), selectedObjectId = _184[0], setSelectedObjectId = _184[1];
|
|
540
|
+
var _185 = (0, react_1.useState)(""), selectedListAddressId = _185[0], setSelectedListAddressId = _185[1];
|
|
541
|
+
var _186 = (0, react_1.useState)(-1), selectedListAddressIndex = _186[0], setSelectedListAddressIndex = _186[1];
|
|
542
|
+
var _187 = (0, react_1.useState)({
|
|
542
543
|
lat: 0,
|
|
543
544
|
lng: 0,
|
|
544
545
|
name: "",
|
|
545
|
-
}), selectedListAddress =
|
|
546
|
-
var
|
|
547
|
-
var
|
|
548
|
-
var
|
|
549
|
-
var
|
|
550
|
-
var
|
|
551
|
-
var
|
|
552
|
-
var
|
|
553
|
-
var
|
|
554
|
-
var
|
|
555
|
-
var
|
|
546
|
+
}), selectedListAddress = _187[0], setSelectedListAddress = _187[1];
|
|
547
|
+
var _188 = (0, react_1.useState)({}), selectedObjectData = _188[0], setSelectedObjectData = _188[1];
|
|
548
|
+
var _189 = (0, react_1.useState)(null), objectCellEdit = _189[0], setObjectCellEdit = _189[1];
|
|
549
|
+
var _190 = (0, react_1.useState)(false), referenceLoading = _190[0], setReferenceLoading = _190[1];
|
|
550
|
+
var _191 = (0, react_1.useState)({}), referencesOptions = _191[0], setReferencesOptions = _191[1];
|
|
551
|
+
var _192 = (0, react_1.useState)({}), referencesDetails = _192[0], setReferencesDetails = _192[1];
|
|
552
|
+
var _193 = (0, react_1.useState)({}), listReferencesOptions = _193[0], setListReferencesOptions = _193[1];
|
|
553
|
+
var _194 = (0, react_1.useState)({}), referenceDeleteTableData = _194[0], setReferenceDeleteTableData = _194[1];
|
|
554
|
+
var _195 = (0, react_1.useState)([]), relatedSections = _195[0], setRelatedSections = _195[1];
|
|
555
|
+
var _196 = (0, react_1.useState)(0), referenceDeleteIndex = _196[0], setReferenceDeleteIndex = _196[1];
|
|
556
|
+
var _197 = (0, react_1.useState)({
|
|
556
557
|
id: "",
|
|
557
558
|
name: "",
|
|
558
559
|
type: "string",
|
|
559
|
-
}), referenceCreationModal =
|
|
560
|
-
var
|
|
561
|
-
var
|
|
560
|
+
}), referenceCreationModal = _197[0], setReferenceCreationModal = _197[1];
|
|
561
|
+
var _198 = (0, react_1.useState)({}), referenceModelSchema = _198[0], setReferenceSchema = _198[1];
|
|
562
|
+
var _199 = (0, react_1.useState)([]), kanbanChecked = _199[0], setKanbanChecked = _199[1];
|
|
562
563
|
//INFO : Offline
|
|
563
|
-
var
|
|
564
|
-
var
|
|
564
|
+
var _200 = (0, react_1.useState)(0), offlineDataLength = _200[0], setOfflineDataLength = _200[1];
|
|
565
|
+
var _201 = (0, react_1.useState)(false), offlineModal = _201[0], setOfflineModal = _201[1];
|
|
565
566
|
// INFO: live-stream state — driven by socket connection and navigator.onLine
|
|
566
|
-
var
|
|
567
|
-
var
|
|
567
|
+
var _202 = (0, react_1.useState)(false), isLive = _202[0], setIsLive = _202[1];
|
|
568
|
+
var _203 = (0, react_1.useState)(false), isLiveOffline = _203[0], setIsLiveOffline = _203[1];
|
|
568
569
|
// INFO: true when navigator is offline — used to switch ReadQueryHoc between
|
|
569
570
|
// server reads (online, full pagination) and IndexedDB reads (offline, cached data).
|
|
570
571
|
// Independent of SSE status so it works even when bareSocketName is not set.
|
|
571
|
-
var
|
|
572
|
+
var _204 = (0, react_1.useState)(typeof navigator !== "undefined" ? !navigator.onLine : false), isNetworkOffline = _204[0], setIsNetworkOffline = _204[1];
|
|
572
573
|
var previousType = (0, react_1.useRef)(null);
|
|
573
574
|
var previousSelectedData = (0, react_1.useRef)(null);
|
|
574
575
|
var scrollSentinelRef = (0, react_1.useRef)(null);
|
|
@@ -788,7 +789,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
788
789
|
var isSchemaHideMode = ((_10 = props.organise) === null || _10 === void 0 ? void 0 : _10.onChangeHide) ? true : false;
|
|
789
790
|
// INFO: rows per page is a view setting the user can change, so it starts from
|
|
790
791
|
// the persisted value and falls back to the consumer's limit
|
|
791
|
-
var
|
|
792
|
+
var _205 = (0, react_1.useState)((_12 = (_11 = (isPersistEnabled ? persistedState === null || persistedState === void 0 ? void 0 : persistedState.pageLimit : undefined)) !== null && _11 !== void 0 ? _11 : props.limit) !== null && _12 !== void 0 ? _12 : 10), pageLimit = _205[0], setPageLimit = _205[1];
|
|
792
793
|
var limit = pageLimit;
|
|
793
794
|
var isSavedViewsEnabled = !!((_13 = props.organise) === null || _13 === void 0 ? void 0 : _13.savedViews) && resolvedType === "list";
|
|
794
795
|
// INFO: an app that stores views takes over from this browser's storage, so
|
|
@@ -883,7 +884,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
883
884
|
displayRows: filtered.map(function (eachEntry) { return eachEntry.displayRow; }),
|
|
884
885
|
};
|
|
885
886
|
};
|
|
886
|
-
var
|
|
887
|
+
var _206 = (0, permissions_1.handleResolveDataTemplateWritePermissions)(props.edit), canUpdateRecord = _206.canUpdateRecord, canInlineUpdate = _206.canInlineUpdate, canBatchUpdate = _206.canBatchUpdate, canDeleteRecord = _206.canDeleteRecord;
|
|
887
888
|
var isEditor = ((_19 = props.edit) === null || _19 === void 0 ? void 0 : _19.allEditable) ? true : false;
|
|
888
889
|
var isOffline = (_20 = props.bareSettings) === null || _20 === void 0 ? void 0 : _20.bareOffline;
|
|
889
890
|
// INFO: when bareOfflineNetworkAware is true, the save path is also gated on
|
|
@@ -7951,7 +7952,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
7951
7952
|
else if (type === "list") {
|
|
7952
7953
|
var listActionBtns = [];
|
|
7953
7954
|
if (isActivityLog) {
|
|
7954
|
-
listActionBtns.push(react_1.default.createElement(iconButton_1.IconButton, { icon: react_1.default.createElement(HeroIcons.ClockIcon, { className: "h-7 w-7 text-white" }), onClick: function () {
|
|
7955
|
+
listActionBtns.push(react_1.default.createElement(iconButton_1.IconButton, { icon: react_1.default.createElement(HeroIcons.ClockIcon, { className: "h-7 w-7 text-white" }), onClick: function () {
|
|
7956
|
+
setActivityId("");
|
|
7957
|
+
setActivityModal(true);
|
|
7958
|
+
}, background: "bg-primary-500 hover:bg-primary-600" }));
|
|
7955
7959
|
}
|
|
7956
7960
|
if (bareActionComponent) {
|
|
7957
7961
|
listActionBtns.push(bareActionComponent);
|
|
@@ -9653,6 +9657,14 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
9653
9657
|
// INFO: when bareNewDTW is enabled, render NewTable instead of legacy Table
|
|
9654
9658
|
if ((_b = props.bareSettings) === null || _b === void 0 ? void 0 : _b.bareNewDTW) {
|
|
9655
9659
|
return (react_1.default.createElement(newTable_1.NewTable, { darkModeBg: (_c = props.organise) === null || _c === void 0 ? void 0 : _c.darkModeBg, showId: showId, paginationType: renderResolvedPaginationType(), data: tableData, spaceData: spaceTableData !== null && spaceTableData !== void 0 ? spaceTableData : [], referencesOptions: listReferencesOptions, groups: handleBuildNewTableGroups(),
|
|
9660
|
+
// INFO: the bubble beside each record's title opens its comments and
|
|
9661
|
+
// logs, for anyone who can see the row — not only those who can edit
|
|
9662
|
+
onRowActivity: isActivityLog
|
|
9663
|
+
? function (id) {
|
|
9664
|
+
setActivityId(id);
|
|
9665
|
+
setActivityModal(true);
|
|
9666
|
+
}
|
|
9667
|
+
: undefined,
|
|
9656
9668
|
// INFO: per-group paging — scroll appends inside a band, page
|
|
9657
9669
|
// mode gives each band its own pager; undefined = bands as before
|
|
9658
9670
|
onGroupLoadMore: renderCheckGroupPaging() && renderCheckScrollMode()
|
|
@@ -11423,17 +11435,20 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
11423
11435
|
}, onClose: function () {
|
|
11424
11436
|
setSelectedAuthMethod("");
|
|
11425
11437
|
} }),
|
|
11426
|
-
isActivityLog && (react_1.default.createElement(modal_1.Modal, { darkMode: (_93 = props.organise) === null || _93 === void 0 ? void 0 : _93.darkMode, darkModeBg: (_94 = props.organise) === null || _94 === void 0 ? void 0 : _94.darkModeBg, open: activityModal, title: "Activity Log", renderContent: function () {
|
|
11427
|
-
var _a, _b;
|
|
11428
|
-
return (react_1.default.createElement(activityModal_1.ActivityModal, { title: props.title && typeof props.title === "string"
|
|
11429
|
-
? props.title
|
|
11430
|
-
: "this collection", devSettings: props.devSettings, collectionId: props.collectionId, dataId: resolvedType === "read" ? ((_a = props.id) !== null && _a !== void 0 ? _a : "") : activityId, activityLog: (_b = props.edit) === null || _b === void 0 ? void 0 : _b.activityLog, model: structure }));
|
|
11431
|
-
}, maxWidth: "4xl", onClose: function () {
|
|
11432
|
-
setActivityModal(false);
|
|
11433
|
-
setActivityId("");
|
|
11434
|
-
}, notification: react_1.default.createElement(react_1.default.Fragment, null, renderNotification("modal")) })),
|
|
11435
11438
|
renderContent(),
|
|
11436
11439
|
renderReadDrawer(),
|
|
11440
|
+
isActivityLog &&
|
|
11441
|
+
typeof document !== "undefined" &&
|
|
11442
|
+
(0, react_dom_1.createPortal)(
|
|
11443
|
+
// INFO: z-50 lifts it over a Modal the table may sit in (z-40)
|
|
11444
|
+
react_1.default.createElement("div", { className: "relative z-50" },
|
|
11445
|
+
react_1.default.createElement(drawer_1.Drawer, { darkMode: (_93 = props.organise) === null || _93 === void 0 ? void 0 : _93.darkMode, darkModeBg: (_94 = props.organise) === null || _94 === void 0 ? void 0 : _94.darkModeBg, testId: "dt-activity-drawer", open: activityModal,
|
|
11446
|
+
// INFO: the record stays set while the drawer slides out — clearing it
|
|
11447
|
+
// would remount the hidden panel collection-wide and fetch again. The
|
|
11448
|
+
// toolbar's collection-wide button clears it when it opens.
|
|
11449
|
+
onClose: function () { return setActivityModal(false); }, anchor: "responsive", maxWidth: "2xl", maxHeight: "75", title: "Activity Log", content: react_1.default.createElement(activityModal_1.ActivityModal, { title: props.title && typeof props.title === "string"
|
|
11450
|
+
? props.title
|
|
11451
|
+
: "this collection", devSettings: props.devSettings, collectionId: props.collectionId, dataId: resolvedType === "read" ? ((_95 = props.id) !== null && _95 !== void 0 ? _95 : "") : activityId, activityLog: (_96 = props.edit) === null || _96 === void 0 ? void 0 : _96.activityLog, model: structure }) })), document.body),
|
|
11437
11452
|
renderScrollSentinel()));
|
|
11438
11453
|
});
|
|
11439
11454
|
//# sourceMappingURL=index.js.map
|