blixify-ui-web 1.2.179 → 1.2.180
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 +129 -104
- package/lib/components/data/dataTemplate/index.js.map +1 -1
- package/lib/components/data/dataTemplate/settingsModal.d.ts +3 -0
- package/lib/components/data/dataTemplate/settingsModal.d.ts.map +1 -1
- package/lib/components/data/dataTemplate/settingsModal.js +83 -9
- package/lib/components/data/dataTemplate/settingsModal.js.map +1 -1
- package/lib/components/data/flexFilter/index.d.ts +21 -2
- package/lib/components/data/flexFilter/index.d.ts.map +1 -1
- package/lib/components/data/flexFilter/index.js +180 -34
- package/lib/components/data/flexFilter/index.js.map +1 -1
- package/lib/components/data/flexFilter/model.d.ts +1 -1
- package/lib/components/data/flexFilter/model.d.ts.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":"AAqCA,OAAO,KASN,MAAM,OAAO,CAAC;AAqGf,OAAO,EACL,iBAAiB,EAKlB,MAAM,kBAAkB,CAAC;AAyH1B,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/data/dataTemplate/index.tsx"],"names":[],"mappings":"AAqCA,OAAO,KASN,MAAM,OAAO,CAAC;AAqGf,OAAO,EACL,iBAAiB,EAKlB,MAAM,kBAAkB,CAAC;AAyH1B,eAAO,MAAM,YAAY,mFAm7cvB,CAAC"}
|
|
@@ -361,29 +361,30 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
361
361
|
var _117 = (0, react_1.useState)((_l = persistedState === null || persistedState === void 0 ? void 0 : persistedState.sort) !== null && _l !== void 0 ? _l : undefined), persistedSort = _117[0], setPersistedSort = _117[1];
|
|
362
362
|
var _118 = (0, react_1.useState)(false), filterDraft = _118[0], setFilterDraft = _118[1];
|
|
363
363
|
var _119 = (0, react_1.useState)(false), addTabModal = _119[0], setAddTabModal = _119[1];
|
|
364
|
+
var _120 = (0, react_1.useState)(-1), editTabIndex = _120[0], setEditTabIndex = _120[1];
|
|
364
365
|
//INFO : resolve the initial tab synchronously so the mount cond is already
|
|
365
366
|
// tab-scoped — an empty initial tab caused a second wasted list fetch
|
|
366
|
-
var
|
|
367
|
+
var _121 = (0, react_1.useState)(function () {
|
|
367
368
|
var _a, _b;
|
|
368
369
|
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);
|
|
369
|
-
}), selectedTab =
|
|
370
|
-
var
|
|
370
|
+
}), selectedTab = _121[0], setSelectedTab = _121[1];
|
|
371
|
+
var _122 = (0, react_1.useState)("dayGridMonth"), calendarView = _122[0], setCalendarView = _122[1];
|
|
371
372
|
// INFO: bareNewDTW calendar viewSwitch mode — drives the NewCalendar variant
|
|
372
373
|
// (calendarView above drives the matching range query)
|
|
373
|
-
var
|
|
374
|
-
var
|
|
374
|
+
var _123 = (0, react_1.useState)("month"), newCalendarViewMode = _123[0], setNewCalendarViewMode = _123[1];
|
|
375
|
+
var _124 = (0, react_1.useState)(new Date()), calendarTabMonth = _124[0], setCalendarTabMonth = _124[1];
|
|
375
376
|
// INFO: defaultViewSwitch picks the opening view only — the tab re-inits
|
|
376
377
|
// whenever its settings change, and that must not undo the user's switch
|
|
377
378
|
var calendarViewInitRef = (0, react_1.useRef)(false);
|
|
378
|
-
var
|
|
379
|
-
var
|
|
380
|
-
var
|
|
381
|
-
var
|
|
382
|
-
var
|
|
379
|
+
var _125 = (0, react_1.useState)(true), kanbanDroppable = _125[0], setKanbanDroppable = _125[1];
|
|
380
|
+
var _126 = (0, react_1.useState)([]), kanbanOptions = _126[0], setKanbanOptions = _126[1];
|
|
381
|
+
var _127 = (0, react_1.useState)(false), queryForm = _127[0], setQueryForm = _127[1];
|
|
382
|
+
var _128 = (0, react_1.useState)(false), batchUpdateModal = _128[0], setBatchUpdateModal = _128[1];
|
|
383
|
+
var _129 = (0, react_1.useState)({
|
|
383
384
|
columnId: "",
|
|
384
385
|
columnData: {},
|
|
385
|
-
}), batchUpdateData =
|
|
386
|
-
var
|
|
386
|
+
}), batchUpdateData = _129[0], setBatchUpdateData = _129[1];
|
|
387
|
+
var _130 = (0, react_1.useState)(function () {
|
|
387
388
|
var baseModel = (props === null || props === void 0 ? void 0 : props.model) || [];
|
|
388
389
|
if (!persistedState)
|
|
389
390
|
return baseModel;
|
|
@@ -409,8 +410,8 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
409
410
|
});
|
|
410
411
|
}
|
|
411
412
|
return model;
|
|
412
|
-
}), structure =
|
|
413
|
-
var
|
|
413
|
+
}), structure = _130[0], setStructure = _130[1];
|
|
414
|
+
var _131 = (0, react_1.useState)(((_m = props === null || props === void 0 ? void 0 : props.organise) === null || _m === void 0 ? void 0 : _m.additionalQuery) || []), additionalQuery = _131[0], setAdditionalQuery = _131[1];
|
|
414
415
|
// INFO: State for user-configurable flex filters (Monday.com-style)
|
|
415
416
|
// INFO: Initialize with one empty row so users see inputs immediately without clicking "Add Filter"
|
|
416
417
|
var defaultFlexFilterRow = [
|
|
@@ -421,9 +422,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
421
422
|
value: undefined,
|
|
422
423
|
},
|
|
423
424
|
];
|
|
424
|
-
var
|
|
425
|
+
var _132 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.flexFilters) && persistedState.flexFilters.length > 0
|
|
425
426
|
? persistedState.flexFilters
|
|
426
|
-
: defaultFlexFilterRow), flexFilters =
|
|
427
|
+
: defaultFlexFilterRow), flexFilters = _132[0], setFlexFilters = _132[1];
|
|
427
428
|
// INFO: always-current mirror of flexFilters, read by the imperative apply/
|
|
428
429
|
// clear methods so chained calls in one tick aren't stale.
|
|
429
430
|
var flexFiltersRef = (0, react_1.useRef)(flexFilters);
|
|
@@ -436,74 +437,74 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
436
437
|
}, [flexFilters]);
|
|
437
438
|
// INFO: Debounced version of flexFilters used by renderImpSearchFilterConditions
|
|
438
439
|
// to prevent API calls on every keystroke when typing in value inputs
|
|
439
|
-
var
|
|
440
|
+
var _133 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.flexFilters) && persistedState.flexFilters.length > 0
|
|
440
441
|
? persistedState.flexFilters
|
|
441
|
-
: defaultFlexFilterRow), flexFiltersDebounced =
|
|
442
|
-
var
|
|
443
|
-
var
|
|
444
|
-
var
|
|
445
|
-
var
|
|
442
|
+
: defaultFlexFilterRow), flexFiltersDebounced = _133[0], setFlexFiltersDebounced = _133[1];
|
|
443
|
+
var _134 = (0, react_1.useState)({}), flexFilterReferenceOptions = _134[0], setFlexFilterReferenceOptions = _134[1];
|
|
444
|
+
var _135 = (0, react_1.useState)({}), flexFilterReferenceSearch = _135[0], setFlexFilterReferenceSearch = _135[1];
|
|
445
|
+
var _136 = (0, react_1.useState)(false), flexFilterModalOpen = _136[0], setFlexFilterModalOpen = _136[1];
|
|
446
|
+
var _137 = (0, react_1.useState)(false), viewSettingsModalOpen = _137[0], setViewSettingsModalOpen = _137[1];
|
|
446
447
|
// INFO: Columns the end user chose to hide (bareSettings.bareViewSettings).
|
|
447
448
|
// Deliberately kept out of `structure`: the props-sync effect below resets
|
|
448
449
|
// structure to props.model whenever props change, which would wipe the
|
|
449
450
|
// choice, and the persist effect derives schema-level hiddenColumnIds from
|
|
450
451
|
// structure — writing user hides there would blur the two concepts.
|
|
451
|
-
var
|
|
452
|
-
var
|
|
453
|
-
var
|
|
454
|
-
var
|
|
452
|
+
var _138 = (0, react_1.useState)((_o = persistedState === null || persistedState === void 0 ? void 0 : persistedState.userHiddenColumnIds) !== null && _o !== void 0 ? _o : []), userHiddenColumnIds = _138[0], setUserHiddenColumnIds = _138[1];
|
|
453
|
+
var _139 = (0, react_1.useState)(""), columnSearch = _139[0], setColumnSearch = _139[1];
|
|
454
|
+
var _140 = (0, react_1.useState)([]), savedViews = _140[0], setSavedViews = _140[1];
|
|
455
|
+
var _141 = (0, react_1.useState)(null), activeSavedViewId = _141[0], setActiveSavedViewId = _141[1];
|
|
455
456
|
// INFO: null while the name box is closed
|
|
456
|
-
var
|
|
457
|
-
var
|
|
458
|
-
var
|
|
457
|
+
var _142 = (0, react_1.useState)(null), savedViewName = _142[0], setSavedViewName = _142[1];
|
|
458
|
+
var _143 = (0, react_1.useState)(null), deletingSavedViewId = _143[0], setDeletingSavedViewId = _143[1];
|
|
459
|
+
var _144 = (0, react_1.useState)(null), draggingColumnId = _144[0], setDraggingColumnId = _144[1];
|
|
459
460
|
var columnRowRefs = (0, react_1.useRef)({});
|
|
460
461
|
//INFO : Used by Auth
|
|
461
|
-
var
|
|
462
|
+
var _145 = (0, react_1.useState)({
|
|
462
463
|
email: "",
|
|
463
464
|
google: "",
|
|
464
465
|
phone: "",
|
|
465
466
|
disabled: false,
|
|
466
467
|
create: false,
|
|
467
|
-
}), authMethods =
|
|
468
|
-
var
|
|
468
|
+
}), authMethods = _145[0], setAuthMethods = _145[1];
|
|
469
|
+
var _146 = (0, react_1.useState)(""), selectedAuthMethod = _146[0], setSelectedAuthMethod = _146[1];
|
|
469
470
|
// INFO: the sign-in check of a users datasheet's record is running; the
|
|
470
471
|
// panel shows a spinner rather than nothing, which read as "no login"
|
|
471
|
-
var
|
|
472
|
+
var _147 = (0, react_1.useState)(false), authLoading = _147[0], setAuthLoading = _147[1];
|
|
472
473
|
// INFO: a delete is running — the ref answers a second tap at once, before
|
|
473
474
|
// the state has rendered, and the state disables the confirm button
|
|
474
475
|
var deletingRef = (0, react_1.useRef)(false);
|
|
475
|
-
var
|
|
476
|
+
var _148 = (0, react_1.useState)(false), deleting = _148[0], setDeleting = _148[1];
|
|
476
477
|
// INFO: Used by Activity Log
|
|
477
|
-
var
|
|
478
|
-
var
|
|
478
|
+
var _149 = (0, react_1.useState)(false), activityModal = _149[0], setActivityModal = _149[1];
|
|
479
|
+
var _150 = (0, react_1.useState)(""), activityId = _150[0], setActivityId = _150[1];
|
|
479
480
|
//INFO : Used by Export
|
|
480
|
-
var
|
|
481
|
-
var
|
|
482
|
-
var
|
|
483
|
-
var
|
|
484
|
-
var
|
|
485
|
-
var
|
|
486
|
-
var
|
|
487
|
-
var
|
|
488
|
-
var
|
|
489
|
-
var
|
|
490
|
-
var
|
|
491
|
-
var
|
|
492
|
-
var
|
|
493
|
-
var
|
|
494
|
-
var
|
|
495
|
-
var
|
|
481
|
+
var _151 = (0, react_1.useState)(null), csvFile = _151[0], setCSVFile = _151[1];
|
|
482
|
+
var _152 = (0, react_1.useState)([]), csvFileData = _152[0], setCSVFileData = _152[1];
|
|
483
|
+
var _153 = (0, react_1.useState)(0), stepCSVIndex = _153[0], setStepCSVIndex = _153[1];
|
|
484
|
+
var _154 = (0, react_1.useState)({}), listCSVMapAttribute = _154[0], setListCSVMapAttribute = _154[1];
|
|
485
|
+
var _155 = (0, react_1.useState)({}), listCSVObjAttribute = _155[0], setListCSVObjAttribute = _155[1];
|
|
486
|
+
var _156 = (0, react_1.useState)([]), csvAPIAttribute = _156[0], setCSVAPIAttribute = _156[1];
|
|
487
|
+
var _157 = (0, react_1.useState)(((_p = props.devSettings.currentUser) === null || _p === void 0 ? void 0 : _p.userEmail) || ""), exportCSVEmail = _157[0], setExportCSVEmail = _157[1];
|
|
488
|
+
var _158 = (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 = _158[0], setExportPDFTitle = _158[1];
|
|
489
|
+
var _159 = (0, react_1.useState)(false), exportPDFLoading = _159[0], setExportPDFLoading = _159[1];
|
|
490
|
+
var _160 = (0, react_1.useState)(false), exportReadPDFLoading = _160[0], setExportReadPDFLoading = _160[1];
|
|
491
|
+
var _161 = (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 = _161[0], setExportSumAttributeIds = _161[1];
|
|
492
|
+
var _162 = (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 = _162[0], setHideSubItems = _162[1];
|
|
493
|
+
var _163 = (0, react_1.useState)([]), importTableData = _163[0], setImportTableData = _163[1];
|
|
494
|
+
var _164 = (0, react_1.useState)([]), queryList = _164[0], setQueryList = _164[1];
|
|
495
|
+
var _165 = (0, react_1.useState)(undefined), allQueryList = _165[0], setAllQueryList = _165[1];
|
|
496
|
+
var _166 = (0, react_1.useState)(-1), queryIndex = _166[0], setQueryIndex = _166[1];
|
|
496
497
|
// INFO: a restored state wins over the prop; its "" is a list the user
|
|
497
498
|
// ungrouped, so it opens ungrouped
|
|
498
|
-
var
|
|
499
|
+
var _167 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.groupBy) !== undefined
|
|
499
500
|
? persistedState.groupBy || undefined
|
|
500
|
-
: (_y = props.organise) === null || _y === void 0 ? void 0 : _y.groupBy), groupId =
|
|
501
|
+
: (_y = props.organise) === null || _y === void 0 ? void 0 : _y.groupBy), groupId = _167[0], setGroupId = _167[1];
|
|
501
502
|
// INFO: Monday-board per-group paging. Keyed by the group key that
|
|
502
503
|
// handleBuildNewTableGroups() produces (a list option or "Unknown/No Value").
|
|
503
504
|
// Each group tracks its own loaded cursor + total so it can lazily load its
|
|
504
505
|
// next page as the user scrolls inside that band, independent of every other
|
|
505
506
|
// group. Only used when renderCheckGroupPaging() is true.
|
|
506
|
-
var
|
|
507
|
+
var _168 = (0, react_1.useState)({}), groupPageState = _168[0], setGroupPageState = _168[1];
|
|
507
508
|
// INFO: read fresh inside the async per-group fetch so chained scroll fires
|
|
508
509
|
// in one tick do not re-fetch an already in-flight page.
|
|
509
510
|
var groupPageStateRef = (0, react_1.useRef)({});
|
|
@@ -512,59 +513,59 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
512
513
|
// list was re-read (new search, filter, sort or grouping) is dropped on
|
|
513
514
|
// arrival instead of appending rows that belong to the old list
|
|
514
515
|
var groupPagingGenRef = (0, react_1.useRef)(0);
|
|
515
|
-
var
|
|
516
|
-
var
|
|
516
|
+
var _169 = (0, react_1.useState)(""), readTabSection = _169[0], setReadTabSection = _169[1];
|
|
517
|
+
var _170 = (0, react_1.useState)(false), readFloatingNav = _170[0], setReadFloatingNav = _170[1];
|
|
517
518
|
var readTabSectionRefs = (0, react_1.useRef)({});
|
|
518
519
|
//INFO : Used by Read
|
|
519
520
|
//INFO : Used by Update
|
|
520
|
-
var
|
|
521
|
-
var
|
|
522
|
-
var
|
|
523
|
-
var
|
|
524
|
-
var
|
|
525
|
-
var
|
|
526
|
-
var
|
|
521
|
+
var _171 = (0, react_1.useState)(false), modalVisible = _171[0], setModalVisible = _171[1];
|
|
522
|
+
var _172 = (0, react_1.useState)(false), deleteModal = _172[0], setDeleteModal = _172[1];
|
|
523
|
+
var _173 = (0, react_1.useState)(false), excelModal = _173[0], setExcelModal = _173[1];
|
|
524
|
+
var _174 = (0, react_1.useState)(false), exportExcel = _174[0], setExportExcel = _174[1];
|
|
525
|
+
var _175 = (0, react_1.useState)(""), exportType = _175[0], setExportType = _175[1];
|
|
526
|
+
var _176 = (0, react_1.useState)(false), exportQR = _176[0], setExportQR = _176[1];
|
|
527
|
+
var _177 = (0, react_1.useState)(function () {
|
|
527
528
|
var _a, _b;
|
|
528
529
|
var firstTabId = (_b = (_a = structure.find(function (item) { return item.tabId; })) === null || _a === void 0 ? void 0 : _a.tabId) !== null && _b !== void 0 ? _b : "";
|
|
529
530
|
return firstTabId;
|
|
530
|
-
}), activeTab =
|
|
531
|
-
var
|
|
532
|
-
var
|
|
533
|
-
var
|
|
534
|
-
var
|
|
535
|
-
var
|
|
536
|
-
var
|
|
537
|
-
var
|
|
531
|
+
}), activeTab = _177[0], setActiveTab = _177[1];
|
|
532
|
+
var _178 = (0, react_1.useState)(false), signatureSigning = _178[0], setSignatureSigning = _178[1];
|
|
533
|
+
var _179 = (0, react_1.useState)({}), selectedData = _179[0], setSelectedData = _179[1];
|
|
534
|
+
var _180 = (0, react_1.useState)(""), selectedObjectStructureId = _180[0], setSelectedObjectStructureId = _180[1];
|
|
535
|
+
var _181 = (0, react_1.useState)(""), selectedObjectId = _181[0], setSelectedObjectId = _181[1];
|
|
536
|
+
var _182 = (0, react_1.useState)(""), selectedListAddressId = _182[0], setSelectedListAddressId = _182[1];
|
|
537
|
+
var _183 = (0, react_1.useState)(-1), selectedListAddressIndex = _183[0], setSelectedListAddressIndex = _183[1];
|
|
538
|
+
var _184 = (0, react_1.useState)({
|
|
538
539
|
lat: 0,
|
|
539
540
|
lng: 0,
|
|
540
541
|
name: "",
|
|
541
|
-
}), selectedListAddress =
|
|
542
|
-
var
|
|
543
|
-
var
|
|
544
|
-
var
|
|
545
|
-
var
|
|
546
|
-
var
|
|
547
|
-
var
|
|
548
|
-
var
|
|
549
|
-
var
|
|
550
|
-
var
|
|
551
|
-
var
|
|
542
|
+
}), selectedListAddress = _184[0], setSelectedListAddress = _184[1];
|
|
543
|
+
var _185 = (0, react_1.useState)({}), selectedObjectData = _185[0], setSelectedObjectData = _185[1];
|
|
544
|
+
var _186 = (0, react_1.useState)(null), objectCellEdit = _186[0], setObjectCellEdit = _186[1];
|
|
545
|
+
var _187 = (0, react_1.useState)(false), referenceLoading = _187[0], setReferenceLoading = _187[1];
|
|
546
|
+
var _188 = (0, react_1.useState)({}), referencesOptions = _188[0], setReferencesOptions = _188[1];
|
|
547
|
+
var _189 = (0, react_1.useState)({}), referencesDetails = _189[0], setReferencesDetails = _189[1];
|
|
548
|
+
var _190 = (0, react_1.useState)({}), listReferencesOptions = _190[0], setListReferencesOptions = _190[1];
|
|
549
|
+
var _191 = (0, react_1.useState)({}), referenceDeleteTableData = _191[0], setReferenceDeleteTableData = _191[1];
|
|
550
|
+
var _192 = (0, react_1.useState)([]), relatedSections = _192[0], setRelatedSections = _192[1];
|
|
551
|
+
var _193 = (0, react_1.useState)(0), referenceDeleteIndex = _193[0], setReferenceDeleteIndex = _193[1];
|
|
552
|
+
var _194 = (0, react_1.useState)({
|
|
552
553
|
id: "",
|
|
553
554
|
name: "",
|
|
554
555
|
type: "string",
|
|
555
|
-
}), referenceCreationModal =
|
|
556
|
-
var
|
|
557
|
-
var
|
|
556
|
+
}), referenceCreationModal = _194[0], setReferenceCreationModal = _194[1];
|
|
557
|
+
var _195 = (0, react_1.useState)({}), referenceModelSchema = _195[0], setReferenceSchema = _195[1];
|
|
558
|
+
var _196 = (0, react_1.useState)([]), kanbanChecked = _196[0], setKanbanChecked = _196[1];
|
|
558
559
|
//INFO : Offline
|
|
559
|
-
var
|
|
560
|
-
var
|
|
560
|
+
var _197 = (0, react_1.useState)(0), offlineDataLength = _197[0], setOfflineDataLength = _197[1];
|
|
561
|
+
var _198 = (0, react_1.useState)(false), offlineModal = _198[0], setOfflineModal = _198[1];
|
|
561
562
|
// INFO: live-stream state — driven by socket connection and navigator.onLine
|
|
562
|
-
var
|
|
563
|
-
var
|
|
563
|
+
var _199 = (0, react_1.useState)(false), isLive = _199[0], setIsLive = _199[1];
|
|
564
|
+
var _200 = (0, react_1.useState)(false), isLiveOffline = _200[0], setIsLiveOffline = _200[1];
|
|
564
565
|
// INFO: true when navigator is offline — used to switch ReadQueryHoc between
|
|
565
566
|
// server reads (online, full pagination) and IndexedDB reads (offline, cached data).
|
|
566
567
|
// Independent of SSE status so it works even when bareSocketName is not set.
|
|
567
|
-
var
|
|
568
|
+
var _201 = (0, react_1.useState)(typeof navigator !== "undefined" ? !navigator.onLine : false), isNetworkOffline = _201[0], setIsNetworkOffline = _201[1];
|
|
568
569
|
var previousType = (0, react_1.useRef)(null);
|
|
569
570
|
var previousSelectedData = (0, react_1.useRef)(null);
|
|
570
571
|
var scrollSentinelRef = (0, react_1.useRef)(null);
|
|
@@ -784,7 +785,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
784
785
|
var isSchemaHideMode = ((_10 = props.organise) === null || _10 === void 0 ? void 0 : _10.onChangeHide) ? true : false;
|
|
785
786
|
// INFO: rows per page is a view setting the user can change, so it starts from
|
|
786
787
|
// the persisted value and falls back to the consumer's limit
|
|
787
|
-
var
|
|
788
|
+
var _202 = (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 = _202[0], setPageLimit = _202[1];
|
|
788
789
|
var limit = pageLimit;
|
|
789
790
|
var isSavedViewsEnabled = !!((_13 = props.organise) === null || _13 === void 0 ? void 0 : _13.savedViews) && resolvedType === "list";
|
|
790
791
|
// INFO: an app that stores views takes over from this browser's storage, so
|
|
@@ -809,7 +810,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
809
810
|
setCursor("");
|
|
810
811
|
setLastCursor("");
|
|
811
812
|
};
|
|
812
|
-
var
|
|
813
|
+
var _203 = (0, permissions_1.handleResolveDataTemplateWritePermissions)(props.edit), canUpdateRecord = _203.canUpdateRecord, canInlineUpdate = _203.canInlineUpdate, canBatchUpdate = _203.canBatchUpdate, canDeleteRecord = _203.canDeleteRecord;
|
|
813
814
|
var isEditor = ((_17 = props.edit) === null || _17 === void 0 ? void 0 : _17.allEditable) ? true : false;
|
|
814
815
|
var isOffline = (_18 = props.bareSettings) === null || _18 === void 0 ? void 0 : _18.bareOffline;
|
|
815
816
|
// INFO: when bareOfflineNetworkAware is true, the save path is also gated on
|
|
@@ -6865,6 +6866,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6865
6866
|
setStepCSVIndex(0);
|
|
6866
6867
|
setCSVFile(null);
|
|
6867
6868
|
setAddTabModal(false);
|
|
6869
|
+
setEditTabIndex(-1);
|
|
6868
6870
|
setCSVFileData([]);
|
|
6869
6871
|
setListCSVMapAttribute({});
|
|
6870
6872
|
setListCSVObjAttribute({});
|
|
@@ -8825,15 +8827,28 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
8825
8827
|
if (eachTab.type === resolvedType) {
|
|
8826
8828
|
tabs.push(__assign(__assign(__assign({}, tabData), (isEditor &&
|
|
8827
8829
|
((_h = props.organise) === null || _h === void 0 ? void 0 : _h.onChangeTabs) && {
|
|
8828
|
-
action: (react_1.default.createElement(
|
|
8829
|
-
|
|
8830
|
-
|
|
8831
|
-
|
|
8832
|
-
|
|
8833
|
-
e
|
|
8834
|
-
|
|
8835
|
-
|
|
8836
|
-
|
|
8830
|
+
action: (react_1.default.createElement(react_1.default.Fragment, null,
|
|
8831
|
+
react_1.default.createElement("span", { role: "button", "data-testid": "tab-edit-".concat(tabData.id), tabIndex: 0, "aria-label": "Edit tab", className: "ml-2 self-center text-gray-400 opacity-0 group-hover:opacity-100 focus-visible:opacity-100", onClick: function (e) {
|
|
8832
|
+
e.stopPropagation();
|
|
8833
|
+
e.preventDefault();
|
|
8834
|
+
handleEditTab(eachTab.name);
|
|
8835
|
+
}, onKeyDown: function (e) {
|
|
8836
|
+
if (e.key !== "Enter" && e.key !== " ")
|
|
8837
|
+
return;
|
|
8838
|
+
e.stopPropagation();
|
|
8839
|
+
e.preventDefault();
|
|
8840
|
+
handleEditTab(eachTab.name);
|
|
8841
|
+
} },
|
|
8842
|
+
react_1.default.createElement(outline_1.PencilIcon, { className: "h-4 w-4" })),
|
|
8843
|
+
react_1.default.createElement("span", { role: "button", "data-testid": "tab-default-".concat(tabData.id), "aria-label": eachTab.defaultTab
|
|
8844
|
+
? "Opens by default"
|
|
8845
|
+
: "Open this tab by default", className: "ml-2 self-center ".concat(eachTab.defaultTab
|
|
8846
|
+
? "text-primary-500"
|
|
8847
|
+
: "text-gray-400 opacity-0 group-hover:opacity-100"), onClick: function (e) {
|
|
8848
|
+
e.stopPropagation();
|
|
8849
|
+
e.preventDefault();
|
|
8850
|
+
handleToggleDefaultTab(eachTab.name);
|
|
8851
|
+
} }, eachTab.defaultTab ? (react_1.default.createElement(HeroIcons.BookmarkIcon, { className: "h-4 w-4" })) : (react_1.default.createElement(BookmarkIcon_1.default, { className: "h-4 w-4" }))))),
|
|
8837
8852
|
})), (!((_j = props.edit) === null || _j === void 0 ? void 0 : _j.disabledTabsDeleteBtn) &&
|
|
8838
8853
|
((_k = props.organise) === null || _k === void 0 ? void 0 : _k.onChangeTabs) && {
|
|
8839
8854
|
del: (react_1.default.createElement(outline_1.XMarkIcon, { className: "h-4 w-4 ml-2 self-center text-red-600 hover:text-red-400 ", onClick: function (e) {
|
|
@@ -8915,6 +8930,16 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
8915
8930
|
var nextTabs = ((_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.extendedTabs) !== null && _b !== void 0 ? _b : []).map(function (eachTab) { return (__assign(__assign({}, eachTab), { defaultTab: eachTab.name === name ? !eachTab.defaultTab : false })); });
|
|
8916
8931
|
(_d = (_c = props.organise) === null || _c === void 0 ? void 0 : _c.onChangeTabs) === null || _d === void 0 ? void 0 : _d.call(_c, nextTabs);
|
|
8917
8932
|
};
|
|
8933
|
+
// INFO: opens the add tab modal on an existing tab, which it saves in place
|
|
8934
|
+
var handleEditTab = function (name) {
|
|
8935
|
+
var _a, _b;
|
|
8936
|
+
var index = ((_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.extendedTabs) !== null && _b !== void 0 ? _b : []).findIndex(function (eachTab) { return eachTab.name === name && eachTab.type === resolvedType; });
|
|
8937
|
+
if (index === -1)
|
|
8938
|
+
return;
|
|
8939
|
+
setEditTabIndex(index);
|
|
8940
|
+
setAddTabModal(true);
|
|
8941
|
+
setModalVisible(true);
|
|
8942
|
+
};
|
|
8918
8943
|
var handleChangeTabCharts = function (tabName, charts) {
|
|
8919
8944
|
var _a, _b, _c, _d;
|
|
8920
8945
|
var nextTabs = ((_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.extendedTabs) !== null && _b !== void 0 ? _b : []).map(function (eachTab) {
|
|
@@ -10751,7 +10776,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
10751
10776
|
} }))))));
|
|
10752
10777
|
}
|
|
10753
10778
|
else if (addTabModal) {
|
|
10754
|
-
return (react_1.default.createElement(settingsModal_1.TabModal, { type: resolvedType, tabs: (_u = props.organise) === null || _u === void 0 ? void 0 : _u.extendedTabs, onChangeTabs: (_v = props.organise) === null || _v === void 0 ? void 0 : _v.onChangeTabs, model: structure, collectionId: props.collectionId, renderReferenceLabelOptions: (_w = props.organise) === null || _w === void 0 ? void 0 : _w.renderReferenceLabelOptions, onClose: function () {
|
|
10779
|
+
return (react_1.default.createElement(settingsModal_1.TabModal, { type: resolvedType, tabs: (_u = props.organise) === null || _u === void 0 ? void 0 : _u.extendedTabs, editIndex: editTabIndex >= 0 ? editTabIndex : undefined, onChangeTabs: (_v = props.organise) === null || _v === void 0 ? void 0 : _v.onChangeTabs, model: structure, collectionId: props.collectionId, renderReferenceLabelOptions: (_w = props.organise) === null || _w === void 0 ? void 0 : _w.renderReferenceLabelOptions, onClose: function () {
|
|
10755
10780
|
handlePopUpModal(false);
|
|
10756
10781
|
} }));
|
|
10757
10782
|
}
|
|
@@ -11077,7 +11102,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
11077
11102
|
else if (exportQR)
|
|
11078
11103
|
return "Export QR";
|
|
11079
11104
|
else if (addTabModal)
|
|
11080
|
-
return "Add Tab";
|
|
11105
|
+
return editTabIndex >= 0 ? "Edit Tab" : "Add Tab";
|
|
11081
11106
|
else if (offlineModal)
|
|
11082
11107
|
return "Upload Offline Data";
|
|
11083
11108
|
else
|