blixify-ui-web 1.2.56 → 1.2.59
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/chat/chatBase/index.d.ts +1 -1
- package/lib/components/chat/chatBase/index.d.ts.map +1 -1
- package/lib/components/chat/chatBase/index.js +8 -5
- package/lib/components/chat/chatBase/index.js.map +1 -1
- package/lib/components/data/dataTemplate/dataStateModel.d.ts +1 -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 +337 -221
- package/lib/components/data/dataTemplate/index.js.map +1 -1
- package/lib/components/data/dataTemplate/viewStatePersistence.d.ts +1 -0
- package/lib/components/data/dataTemplate/viewStatePersistence.d.ts.map +1 -1
- package/lib/components/data/dataTemplate/viewStatePersistence.js.map +1 -1
- package/lib/components/data/dataWrapper/dataWrapper.fixtures.d.ts +9 -0
- package/lib/components/data/dataWrapper/dataWrapper.fixtures.d.ts.map +1 -0
- package/lib/components/data/dataWrapper/dataWrapper.fixtures.js +33 -0
- package/lib/components/data/dataWrapper/dataWrapper.fixtures.js.map +1 -0
- package/lib/components/data/dataWrapper/index.d.ts +36 -1
- package/lib/components/data/dataWrapper/index.d.ts.map +1 -1
- package/lib/components/data/dataWrapper/index.js +206 -61
- package/lib/components/data/dataWrapper/index.js.map +1 -1
- package/lib/components/data/flexFilter/index.d.ts +1 -1
- package/lib/components/data/flexFilter/index.d.ts.map +1 -1
- package/lib/components/data/flexFilter/index.js +2 -3
- package/lib/components/data/flexFilter/index.js.map +1 -1
- package/lib/components/data/listModule.d.ts.map +1 -1
- package/lib/components/data/listModule.js +2 -3
- package/lib/components/data/listModule.js.map +1 -1
- package/lib/components/data/readQuery/index.d.ts.map +1 -1
- package/lib/components/data/readQuery/index.js +9 -2
- package/lib/components/data/readQuery/index.js.map +1 -1
- package/lib/components/data/updateModule.d.ts.map +1 -1
- package/lib/components/data/updateModule.js +18 -11
- package/lib/components/data/updateModule.js.map +1 -1
- package/lib/components/data/utils.d.ts +9 -1
- package/lib/components/data/utils.d.ts.map +1 -1
- package/lib/components/data/utils.js +74 -1
- package/lib/components/data/utils.js.map +1 -1
- package/lib/components/display/drawer/index.d.ts +22 -6
- package/lib/components/display/drawer/index.d.ts.map +1 -1
- package/lib/components/display/drawer/index.js +138 -17
- package/lib/components/display/drawer/index.js.map +1 -1
- package/lib/components/display/flexTable/newMobileItemCard.d.ts.map +1 -1
- package/lib/components/display/flexTable/newMobileItemCard.js +1 -2
- package/lib/components/display/flexTable/newMobileItemCard.js.map +1 -1
- package/lib/components/display/newTable/index.d.ts +1 -0
- package/lib/components/display/newTable/index.d.ts.map +1 -1
- package/lib/components/display/newTable/index.js +198 -23
- package/lib/components/display/newTable/index.js.map +1 -1
- package/lib/components/display/table/index.d.ts +19 -4
- package/lib/components/display/table/index.d.ts.map +1 -1
- package/lib/components/display/table/index.js +217 -36
- package/lib/components/display/table/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 +5 -2
- package/lib/components/input/select/index.js.map +1 -1
- package/lib/components/input/textArea/index.d.ts +5 -0
- package/lib/components/input/textArea/index.d.ts.map +1 -1
- package/lib/components/input/textArea/index.js +10 -3
- package/lib/components/input/textArea/index.js.map +1 -1
- package/lib/tail.css +2 -2
- package/package.json +1 -1
|
@@ -167,7 +167,7 @@ var handleGetWriteErrorMessage = function (response) {
|
|
|
167
167
|
return "Please contact our administrator for assistance or try your request again later. We apologize for any inconvenience";
|
|
168
168
|
};
|
|
169
169
|
exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
170
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40, _41, _42, _43, _44, _45, _46, _47, _48, _49;
|
|
170
|
+
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;
|
|
171
171
|
var intialiseDefaultFilterValues = function () {
|
|
172
172
|
var _a;
|
|
173
173
|
var initialFilterSearch = {};
|
|
@@ -228,67 +228,67 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
228
228
|
initialFilterReferenceDate: initialFilterReferenceDate,
|
|
229
229
|
};
|
|
230
230
|
};
|
|
231
|
-
var
|
|
231
|
+
var _51 = intialiseDefaultFilterValues(), initialFilterSearch = _51.initialFilterSearch, initialFilterSearchParams = _51.initialFilterSearchParams, initialFilterSelection = _51.initialFilterSelection, initialFilterReference = _51.initialFilterReference, initialFilterReferenceDate = _51.initialFilterReferenceDate;
|
|
232
232
|
// INFO: Persist view state hook — handles storage read/write for filter/sort/column state
|
|
233
|
-
var
|
|
233
|
+
var _52 = (0, viewStatePersistence_1.usePersistedViewState)({
|
|
234
234
|
mode: (_a = props.organise) === null || _a === void 0 ? void 0 : _a.persistViewState,
|
|
235
235
|
collectionId: props.collectionId,
|
|
236
236
|
uniqueLabel: props.uniqueLabel,
|
|
237
237
|
type: props.type,
|
|
238
|
-
}), persistedState =
|
|
239
|
-
var
|
|
240
|
-
var
|
|
238
|
+
}), persistedState = _52.persistedState, isPersistEnabled = _52.isEnabled, handleSaveView = _52.handleSaveView;
|
|
239
|
+
var _53 = (0, react_1.useState)(false), loading = _53[0], setLoading = _53[1];
|
|
240
|
+
var _54 = (0, react_1.useState)(), notification = _54[0], setNotification = _54[1];
|
|
241
241
|
//INFO : Used by List
|
|
242
|
-
var
|
|
243
|
-
var
|
|
244
|
-
var
|
|
245
|
-
var
|
|
246
|
-
var
|
|
247
|
-
var
|
|
248
|
-
var
|
|
242
|
+
var _55 = (0, react_1.useState)((_b = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSearchParams) !== null && _b !== void 0 ? _b : initialFilterSearch), filterSearch = _55[0], setFilterSearch = _55[1];
|
|
243
|
+
var _56 = (0, react_1.useState)((_c = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSearchParams) !== null && _c !== void 0 ? _c : initialFilterSearchParams), filterSearchParams = _56[0], setFilterSearchParams = _56[1];
|
|
244
|
+
var _57 = (0, react_1.useState)((_d = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterSelection) !== null && _d !== void 0 ? _d : initialFilterSelection), filterSelection = _57[0], setFilterSelection = _57[1];
|
|
245
|
+
var _58 = (0, react_1.useState)((_e = persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterReference) !== null && _e !== void 0 ? _e : initialFilterReference), filterReference = _58[0], setFilterReference = _58[1];
|
|
246
|
+
var _59 = (0, react_1.useState)({}), filterReferenceSearch = _59[0], setFilterReferenceSearch = _59[1];
|
|
247
|
+
var _60 = (0, react_1.useState)({}), filterReferenceList = _60[0], setFilterReferenceList = _60[1];
|
|
248
|
+
var _61 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.filterReferenceDate)
|
|
249
249
|
? (0, viewStatePersistence_1.parseDateFilterState)(persistedState.filterReferenceDate)
|
|
250
|
-
: initialFilterReferenceDate), filterReferenceDate =
|
|
251
|
-
var
|
|
252
|
-
var
|
|
253
|
-
var
|
|
254
|
-
var
|
|
255
|
-
var
|
|
256
|
-
var
|
|
257
|
-
var
|
|
258
|
-
var
|
|
259
|
-
var
|
|
260
|
-
var
|
|
261
|
-
var
|
|
262
|
-
var
|
|
250
|
+
: initialFilterReferenceDate), filterReferenceDate = _61[0], setFilterReferenceDate = _61[1];
|
|
251
|
+
var _62 = (0, react_1.useState)(true), tableLoading = _62[0], setTableLoading = _62[1];
|
|
252
|
+
var _63 = (0, react_1.useState)(""), cursor = _63[0], setCursor = _63[1];
|
|
253
|
+
var _64 = (0, react_1.useState)(""), lastCursor = _64[0], setLastCursor = _64[1];
|
|
254
|
+
var _65 = (0, react_1.useState)([]), tableData = _65[0], setTableData = _65[1];
|
|
255
|
+
var _66 = (0, react_1.useState)([]), spaceTableData = _66[0], setSpaceTableData = _66[1];
|
|
256
|
+
var _67 = (0, react_1.useState)(0), size = _67[0], setSize = _67[1];
|
|
257
|
+
var _68 = (0, react_1.useState)((_h = (_f = persistedState === null || persistedState === void 0 ? void 0 : persistedState.pageIndex) !== null && _f !== void 0 ? _f : (_g = props.organise) === null || _g === void 0 ? void 0 : _g.pageIndex) !== null && _h !== void 0 ? _h : 0), pageIndex = _68[0], setPageIndex = _68[1];
|
|
258
|
+
var _69 = (0, react_1.useState)([]), selectedIds = _69[0], setSelectedIds = _69[1];
|
|
259
|
+
var _70 = (0, react_1.useState)(false), selectAll = _70[0], setSelectAll = _70[1];
|
|
260
|
+
var _71 = (0, react_1.useState)(""), deletePasscode = _71[0], setDeletePasscode = _71[1];
|
|
261
|
+
var _72 = (0, react_1.useState)(""), deletePasscodeInput = _72[0], setDeletePasscodeInput = _72[1];
|
|
262
|
+
var _73 = (0, react_1.useState)(""), deleteFeedId = _73[0], setDeleteFeedId = _73[1];
|
|
263
263
|
//INFO : Used by List Organise
|
|
264
|
-
var
|
|
265
|
-
var
|
|
264
|
+
var _74 = (0, react_1.useState)(false), sortModal = _74[0], setSortModal = _74[1];
|
|
265
|
+
var _75 = (0, react_1.useState)(false), filterModal = _75[0], setFilterModal = _75[1];
|
|
266
266
|
// INFO: Internal sort state that overrides props.organise?.sort when
|
|
267
267
|
// persistViewState is enabled and a persisted sort exists
|
|
268
|
-
var
|
|
269
|
-
var
|
|
270
|
-
var
|
|
271
|
-
var
|
|
268
|
+
var _76 = (0, react_1.useState)((_j = persistedState === null || persistedState === void 0 ? void 0 : persistedState.sort) !== null && _j !== void 0 ? _j : undefined), persistedSort = _76[0], setPersistedSort = _76[1];
|
|
269
|
+
var _77 = (0, react_1.useState)(false), filterDraft = _77[0], setFilterDraft = _77[1];
|
|
270
|
+
var _78 = (0, react_1.useState)(false), addTabModal = _78[0], setAddTabModal = _78[1];
|
|
271
|
+
var _79 = (0, react_1.useState)(false), overviewModal = _79[0], setOverviewModal = _79[1];
|
|
272
272
|
//INFO : resolve the initial tab synchronously so the mount cond is already
|
|
273
273
|
// tab-scoped — an empty initial tab caused a second wasted list fetch
|
|
274
|
-
var
|
|
274
|
+
var _80 = (0, react_1.useState)(function () {
|
|
275
275
|
var _a, _b;
|
|
276
276
|
return (0, listModule_1.renderSelectedRefreshTab)(props.localURLEndpoint, props.type, props.collectionId, props.id, (_a = props.organise) === null || _a === void 0 ? void 0 : _a.extendedTabs, (_b = props.organise) === null || _b === void 0 ? void 0 : _b.viewId);
|
|
277
|
-
}), selectedTab =
|
|
278
|
-
var
|
|
277
|
+
}), selectedTab = _80[0], setSelectedTab = _80[1];
|
|
278
|
+
var _81 = (0, react_1.useState)("dayGridMonth"), calendarView = _81[0], setCalendarView = _81[1];
|
|
279
279
|
// INFO: bareNewDTW calendar viewSwitch mode — drives the NewCalendar variant
|
|
280
280
|
// (calendarView above drives the matching range query)
|
|
281
|
-
var
|
|
282
|
-
var
|
|
283
|
-
var
|
|
284
|
-
var
|
|
285
|
-
var
|
|
286
|
-
var
|
|
287
|
-
var
|
|
281
|
+
var _82 = (0, react_1.useState)("month"), newCalendarViewMode = _82[0], setNewCalendarViewMode = _82[1];
|
|
282
|
+
var _83 = (0, react_1.useState)(new Date()), calendarTabMonth = _83[0], setCalendarTabMonth = _83[1];
|
|
283
|
+
var _84 = (0, react_1.useState)(true), kanbanDroppable = _84[0], setKanbanDroppable = _84[1];
|
|
284
|
+
var _85 = (0, react_1.useState)([]), kanbanOptions = _85[0], setKanbanOptions = _85[1];
|
|
285
|
+
var _86 = (0, react_1.useState)(false), queryForm = _86[0], setQueryForm = _86[1];
|
|
286
|
+
var _87 = (0, react_1.useState)(false), batchUpdateModal = _87[0], setBatchUpdateModal = _87[1];
|
|
287
|
+
var _88 = (0, react_1.useState)({
|
|
288
288
|
columnId: "",
|
|
289
289
|
columnData: {},
|
|
290
|
-
}), batchUpdateData =
|
|
291
|
-
var
|
|
290
|
+
}), batchUpdateData = _88[0], setBatchUpdateData = _88[1];
|
|
291
|
+
var _89 = (0, react_1.useState)(function () {
|
|
292
292
|
var baseModel = (props === null || props === void 0 ? void 0 : props.model) || [];
|
|
293
293
|
if (!persistedState)
|
|
294
294
|
return baseModel;
|
|
@@ -314,8 +314,8 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
314
314
|
});
|
|
315
315
|
}
|
|
316
316
|
return model;
|
|
317
|
-
}), structure =
|
|
318
|
-
var
|
|
317
|
+
}), structure = _89[0], setStructure = _89[1];
|
|
318
|
+
var _90 = (0, react_1.useState)(((_k = props === null || props === void 0 ? void 0 : props.organise) === null || _k === void 0 ? void 0 : _k.additionalQuery) || []), additionalQuery = _90[0], setAdditionalQuery = _90[1];
|
|
319
319
|
// INFO: State for user-configurable flex filters (Monday.com-style)
|
|
320
320
|
// INFO: Initialize with one empty row so users see inputs immediately without clicking "Add Filter"
|
|
321
321
|
var defaultFlexFilterRow = [
|
|
@@ -326,97 +326,104 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
326
326
|
value: undefined,
|
|
327
327
|
},
|
|
328
328
|
];
|
|
329
|
-
var
|
|
329
|
+
var _91 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.flexFilters) && persistedState.flexFilters.length > 0
|
|
330
330
|
? persistedState.flexFilters
|
|
331
|
-
: defaultFlexFilterRow), flexFilters =
|
|
331
|
+
: defaultFlexFilterRow), flexFilters = _91[0], setFlexFilters = _91[1];
|
|
332
332
|
// INFO: Debounced version of flexFilters used by renderImpSearchFilterConditions
|
|
333
333
|
// to prevent API calls on every keystroke when typing in value inputs
|
|
334
|
-
var
|
|
334
|
+
var _92 = (0, react_1.useState)((persistedState === null || persistedState === void 0 ? void 0 : persistedState.flexFilters) && persistedState.flexFilters.length > 0
|
|
335
335
|
? persistedState.flexFilters
|
|
336
|
-
: defaultFlexFilterRow), flexFiltersDebounced =
|
|
337
|
-
var
|
|
338
|
-
var
|
|
339
|
-
var
|
|
336
|
+
: defaultFlexFilterRow), flexFiltersDebounced = _92[0], setFlexFiltersDebounced = _92[1];
|
|
337
|
+
var _93 = (0, react_1.useState)({}), flexFilterReferenceOptions = _93[0], setFlexFilterReferenceOptions = _93[1];
|
|
338
|
+
var _94 = (0, react_1.useState)({}), flexFilterReferenceSearch = _94[0], setFlexFilterReferenceSearch = _94[1];
|
|
339
|
+
var _95 = (0, react_1.useState)(false), flexFilterModalOpen = _95[0], setFlexFilterModalOpen = _95[1];
|
|
340
|
+
// INFO: Columns the end user chose to hide (organise.hideColumnEnabled).
|
|
341
|
+
// Deliberately kept out of `structure`: the props-sync effect below resets
|
|
342
|
+
// structure to props.model whenever props change, which would wipe the
|
|
343
|
+
// choice, and the persist effect derives schema-level hiddenColumnIds from
|
|
344
|
+
// structure — writing user hides there would blur the two concepts.
|
|
345
|
+
var _96 = (0, react_1.useState)((_l = persistedState === null || persistedState === void 0 ? void 0 : persistedState.userHiddenColumnIds) !== null && _l !== void 0 ? _l : []), userHiddenColumnIds = _96[0], setUserHiddenColumnIds = _96[1];
|
|
340
346
|
//INFO : Used by Auth
|
|
341
|
-
var
|
|
347
|
+
var _97 = (0, react_1.useState)({
|
|
342
348
|
email: "",
|
|
343
349
|
google: "",
|
|
344
350
|
phone: "",
|
|
345
351
|
disabled: false,
|
|
346
352
|
create: false,
|
|
347
|
-
}), authMethods =
|
|
348
|
-
var
|
|
353
|
+
}), authMethods = _97[0], setAuthMethods = _97[1];
|
|
354
|
+
var _98 = (0, react_1.useState)(""), selectedAuthMethod = _98[0], setSelectedAuthMethod = _98[1];
|
|
349
355
|
// INFO: Used by Activity Log
|
|
350
|
-
var
|
|
351
|
-
var
|
|
356
|
+
var _99 = (0, react_1.useState)(false), activityModal = _99[0], setActivityModal = _99[1];
|
|
357
|
+
var _100 = (0, react_1.useState)(""), activityId = _100[0], setActivityId = _100[1];
|
|
352
358
|
//INFO : Used by Export
|
|
353
|
-
var
|
|
354
|
-
var
|
|
355
|
-
var
|
|
356
|
-
var
|
|
357
|
-
var
|
|
358
|
-
var
|
|
359
|
-
var
|
|
360
|
-
var
|
|
361
|
-
var
|
|
362
|
-
var
|
|
363
|
-
var
|
|
364
|
-
var
|
|
365
|
-
var
|
|
366
|
-
var
|
|
367
|
-
var
|
|
368
|
-
var
|
|
369
|
-
var
|
|
370
|
-
var
|
|
371
|
-
var
|
|
359
|
+
var _101 = (0, react_1.useState)(null), csvFile = _101[0], setCSVFile = _101[1];
|
|
360
|
+
var _102 = (0, react_1.useState)([]), csvFileData = _102[0], setCSVFileData = _102[1];
|
|
361
|
+
var _103 = (0, react_1.useState)(0), stepCSVIndex = _103[0], setStepCSVIndex = _103[1];
|
|
362
|
+
var _104 = (0, react_1.useState)({}), listCSVMapAttribute = _104[0], setListCSVMapAttribute = _104[1];
|
|
363
|
+
var _105 = (0, react_1.useState)({}), listCSVObjAttribute = _105[0], setListCSVObjAttribute = _105[1];
|
|
364
|
+
var _106 = (0, react_1.useState)([]), csvAPIAttribute = _106[0], setCSVAPIAttribute = _106[1];
|
|
365
|
+
var _107 = (0, react_1.useState)(((_m = props.devSettings.currentUser) === null || _m === void 0 ? void 0 : _m.userEmail) || ""), exportCSVEmail = _107[0], setExportCSVEmail = _107[1];
|
|
366
|
+
var _108 = (0, react_1.useState)(((_p = (_o = props.organise) === null || _o === void 0 ? void 0 : _o.exportSettings) === null || _p === void 0 ? void 0 : _p.defaultExportPDFName) || ""), exportPDFTitle = _108[0], setExportPDFTitle = _108[1];
|
|
367
|
+
var _109 = (0, react_1.useState)(false), exportPDFLoading = _109[0], setExportPDFLoading = _109[1];
|
|
368
|
+
var _110 = (0, react_1.useState)(false), exportReadPDFLoading = _110[0], setExportReadPDFLoading = _110[1];
|
|
369
|
+
var _111 = (0, react_1.useState)((_s = (_r = (_q = props.organise) === null || _q === void 0 ? void 0 : _q.exportSettings) === null || _r === void 0 ? void 0 : _r.sumColumnId) !== null && _s !== void 0 ? _s : []), exportSumAttributeIds = _111[0], setExportSumAttributeIds = _111[1];
|
|
370
|
+
var _112 = (0, react_1.useState)((_v = (_u = (_t = props.organise) === null || _t === void 0 ? void 0 : _t.exportSettings) === null || _u === void 0 ? void 0 : _u.hideSubItems) !== null && _v !== void 0 ? _v : false), hideSubItems = _112[0], setHideSubItems = _112[1];
|
|
371
|
+
var _113 = (0, react_1.useState)([]), importTableData = _113[0], setImportTableData = _113[1];
|
|
372
|
+
var _114 = (0, react_1.useState)([]), queryList = _114[0], setQueryList = _114[1];
|
|
373
|
+
var _115 = (0, react_1.useState)(undefined), allQueryList = _115[0], setAllQueryList = _115[1];
|
|
374
|
+
var _116 = (0, react_1.useState)(-1), queryIndex = _116[0], setQueryIndex = _116[1];
|
|
375
|
+
var _117 = (0, react_1.useState)((_w = props.organise) === null || _w === void 0 ? void 0 : _w.groupBy), groupId = _117[0], setGroupId = _117[1];
|
|
376
|
+
var _118 = (0, react_1.useState)(""), readTabSection = _118[0], setReadTabSection = _118[1];
|
|
377
|
+
var _119 = (0, react_1.useState)(false), readFloatingNav = _119[0], setReadFloatingNav = _119[1];
|
|
372
378
|
var readTabSectionRefs = (0, react_1.useRef)({});
|
|
373
379
|
//INFO : Used by Read
|
|
374
380
|
//INFO : Used by Update
|
|
375
|
-
var
|
|
376
|
-
var
|
|
377
|
-
var
|
|
378
|
-
var
|
|
379
|
-
var
|
|
380
|
-
var
|
|
381
|
-
var
|
|
381
|
+
var _120 = (0, react_1.useState)(false), modalVisible = _120[0], setModalVisible = _120[1];
|
|
382
|
+
var _121 = (0, react_1.useState)(false), deleteModal = _121[0], setDeleteModal = _121[1];
|
|
383
|
+
var _122 = (0, react_1.useState)(false), excelModal = _122[0], setExcelModal = _122[1];
|
|
384
|
+
var _123 = (0, react_1.useState)(false), exportExcel = _123[0], setExportExcel = _123[1];
|
|
385
|
+
var _124 = (0, react_1.useState)(""), exportType = _124[0], setExportType = _124[1];
|
|
386
|
+
var _125 = (0, react_1.useState)(false), exportQR = _125[0], setExportQR = _125[1];
|
|
387
|
+
var _126 = (0, react_1.useState)(function () {
|
|
382
388
|
var _a, _b;
|
|
383
389
|
var firstTabId = (_b = (_a = structure.find(function (item) { return item.tabId; })) === null || _a === void 0 ? void 0 : _a.tabId) !== null && _b !== void 0 ? _b : "";
|
|
384
390
|
return firstTabId;
|
|
385
|
-
}), activeTab =
|
|
386
|
-
var
|
|
387
|
-
var
|
|
388
|
-
var
|
|
389
|
-
var
|
|
390
|
-
var
|
|
391
|
-
var
|
|
392
|
-
var
|
|
391
|
+
}), activeTab = _126[0], setActiveTab = _126[1];
|
|
392
|
+
var _127 = (0, react_1.useState)(false), signatureSigning = _127[0], setSignatureSigning = _127[1];
|
|
393
|
+
var _128 = (0, react_1.useState)({}), selectedData = _128[0], setSelectedData = _128[1];
|
|
394
|
+
var _129 = (0, react_1.useState)(""), selectedObjectStructureId = _129[0], setSelectedObjectStructureId = _129[1];
|
|
395
|
+
var _130 = (0, react_1.useState)(""), selectedObjectId = _130[0], setSelectedObjectId = _130[1];
|
|
396
|
+
var _131 = (0, react_1.useState)(""), selectedListAddressId = _131[0], setSelectedListAddressId = _131[1];
|
|
397
|
+
var _132 = (0, react_1.useState)(-1), selectedListAddressIndex = _132[0], setSelectedListAddressIndex = _132[1];
|
|
398
|
+
var _133 = (0, react_1.useState)({
|
|
393
399
|
lat: 0,
|
|
394
400
|
lng: 0,
|
|
395
401
|
name: "",
|
|
396
|
-
}), selectedListAddress =
|
|
397
|
-
var
|
|
398
|
-
var
|
|
399
|
-
var
|
|
400
|
-
var
|
|
401
|
-
var
|
|
402
|
-
var
|
|
403
|
-
var
|
|
402
|
+
}), selectedListAddress = _133[0], setSelectedListAddress = _133[1];
|
|
403
|
+
var _134 = (0, react_1.useState)({}), selectedObjectData = _134[0], setSelectedObjectData = _134[1];
|
|
404
|
+
var _135 = (0, react_1.useState)(null), objectCellEdit = _135[0], setObjectCellEdit = _135[1];
|
|
405
|
+
var _136 = (0, react_1.useState)(false), referenceLoading = _136[0], setReferenceLoading = _136[1];
|
|
406
|
+
var _137 = (0, react_1.useState)({}), referencesOptions = _137[0], setReferencesOptions = _137[1];
|
|
407
|
+
var _138 = (0, react_1.useState)({}), referencesDetails = _138[0], setReferencesDetails = _138[1];
|
|
408
|
+
var _139 = (0, react_1.useState)({}), referenceDeleteTableData = _139[0], setReferenceDeleteTableData = _139[1];
|
|
409
|
+
var _140 = (0, react_1.useState)(0), referenceDeleteIndex = _140[0], setReferenceDeleteIndex = _140[1];
|
|
410
|
+
var _141 = (0, react_1.useState)({
|
|
404
411
|
id: "",
|
|
405
412
|
name: "",
|
|
406
413
|
type: "string",
|
|
407
|
-
}), referenceCreationModal =
|
|
408
|
-
var
|
|
409
|
-
var
|
|
414
|
+
}), referenceCreationModal = _141[0], setReferenceCreationModal = _141[1];
|
|
415
|
+
var _142 = (0, react_1.useState)({}), referenceModelSchema = _142[0], setReferenceSchema = _142[1];
|
|
416
|
+
var _143 = (0, react_1.useState)([]), kanbanChecked = _143[0], setKanbanChecked = _143[1];
|
|
410
417
|
//INFO : Offline
|
|
411
|
-
var
|
|
412
|
-
var
|
|
418
|
+
var _144 = (0, react_1.useState)(0), offlineDataLength = _144[0], setOfflineDataLength = _144[1];
|
|
419
|
+
var _145 = (0, react_1.useState)(false), offlineModal = _145[0], setOfflineModal = _145[1];
|
|
413
420
|
// INFO: live-stream state — driven by socket connection and navigator.onLine
|
|
414
|
-
var
|
|
415
|
-
var
|
|
421
|
+
var _146 = (0, react_1.useState)(false), isLive = _146[0], setIsLive = _146[1];
|
|
422
|
+
var _147 = (0, react_1.useState)(false), isLiveOffline = _147[0], setIsLiveOffline = _147[1];
|
|
416
423
|
// INFO: true when navigator is offline — used to switch ReadQueryHoc between
|
|
417
424
|
// server reads (online, full pagination) and IndexedDB reads (offline, cached data).
|
|
418
425
|
// Independent of SSE status so it works even when bareSocketName is not set.
|
|
419
|
-
var
|
|
426
|
+
var _148 = (0, react_1.useState)(typeof navigator !== "undefined" ? !navigator.onLine : false), isNetworkOffline = _148[0], setIsNetworkOffline = _148[1];
|
|
420
427
|
var previousType = (0, react_1.useRef)(null);
|
|
421
428
|
var previousSelectedData = (0, react_1.useRef)(null);
|
|
422
429
|
var scrollSentinelRef = (0, react_1.useRef)(null);
|
|
@@ -492,47 +499,47 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
492
499
|
var isSubmittingRef = (0, react_1.useRef)(false);
|
|
493
500
|
var devSettings = props.devSettings;
|
|
494
501
|
var serverId = (0, utils_1.parseServerId)(devSettings.server);
|
|
495
|
-
var viewType = (
|
|
502
|
+
var viewType = (_y = (_x = props.organise) === null || _x === void 0 ? void 0 : _x.viewId) !== null && _y !== void 0 ? _y : "general";
|
|
496
503
|
var isFirebaseClient = devSettings.server === "firebase";
|
|
497
504
|
var isFirebase = isFirebaseClient || devSettings.server === "fbServer";
|
|
498
|
-
var dbModule = isFirebaseClient ? (
|
|
505
|
+
var dbModule = isFirebaseClient ? (_z = props.lib) === null || _z === void 0 ? void 0 : _z.firebase : (_0 = props.lib) === null || _0 === void 0 ? void 0 : _0.axios;
|
|
499
506
|
var schemaPresent = props.devSettings.schemaEndpoint ? true : false;
|
|
500
507
|
var limit = props.limit ? props.limit : 10;
|
|
501
|
-
var activeSortId = (isPersistEnabled && persistedSort) || ((
|
|
508
|
+
var activeSortId = (isPersistEnabled && persistedSort) || ((_1 = props.organise) === null || _1 === void 0 ? void 0 : _1.sort);
|
|
502
509
|
var handleSortColumn = function (value) {
|
|
503
510
|
var _a, _b;
|
|
504
511
|
if (isPersistEnabled)
|
|
505
512
|
setPersistedSort(value);
|
|
506
513
|
(_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.onChangeSort) === null || _b === void 0 ? void 0 : _b.call(_a, value);
|
|
507
514
|
};
|
|
508
|
-
var isEditor = ((
|
|
509
|
-
var isOffline = (
|
|
515
|
+
var isEditor = ((_2 = props.edit) === null || _2 === void 0 ? void 0 : _2.allEditable) ? true : false;
|
|
516
|
+
var isOffline = (_3 = props.bareSettings) === null || _3 === void 0 ? void 0 : _3.bareOffline;
|
|
510
517
|
// INFO: when bareOfflineNetworkAware is true, the save path is also gated on
|
|
511
518
|
// the live network state — online saves go to the server even if bareOffline
|
|
512
519
|
// is true, offline saves go to IDB as normal.
|
|
513
|
-
var isOfflineNetworkListener = isOffline && ((
|
|
514
|
-
var showId = (
|
|
520
|
+
var isOfflineNetworkListener = isOffline && ((_4 = props.bareSettings) === null || _4 === void 0 ? void 0 : _4.bareOfflineNetworkListener);
|
|
521
|
+
var showId = (_5 = props.space) === null || _5 === void 0 ? void 0 : _5.showId;
|
|
515
522
|
var remainId = showId || selectedObjectStructureId ? true : false;
|
|
516
|
-
var idField = ((
|
|
517
|
-
var pipeline = (
|
|
518
|
-
if ((
|
|
523
|
+
var idField = ((_6 = props.space) === null || _6 === void 0 ? void 0 : _6.idField) || ((_7 = props.organise) === null || _7 === void 0 ? void 0 : _7.idField);
|
|
524
|
+
var pipeline = (_8 = props === null || props === void 0 ? void 0 : props.space) === null || _8 === void 0 ? void 0 : _8.pipeline;
|
|
525
|
+
if ((_9 = props.bareSettings) === null || _9 === void 0 ? void 0 : _9.bareListPipeline) {
|
|
519
526
|
pipeline = pipeline
|
|
520
527
|
? __spreadArray(__spreadArray([], pipeline, true), props.bareSettings.bareListPipeline, true) : props.bareSettings.bareListPipeline;
|
|
521
528
|
}
|
|
522
|
-
var hasNavigation = ((
|
|
529
|
+
var hasNavigation = ((_10 = props.organise) === null || _10 === void 0 ? void 0 : _10.handleNavigate) ? true : false;
|
|
523
530
|
var formColumn = "grid-cols-12";
|
|
524
|
-
var useMobileView = (
|
|
531
|
+
var useMobileView = (_12 = (_11 = props.bareSettings) === null || _11 === void 0 ? void 0 : _11.bareUpdateMobileView) !== null && _12 !== void 0 ? _12 : false;
|
|
525
532
|
var gridGap = useMobileView ? "gap-x-6 gap-y-2 md:gap-y-6" : "gap-6";
|
|
526
|
-
var isActivityLog = (((
|
|
527
|
-
((
|
|
528
|
-
(((
|
|
529
|
-
((
|
|
530
|
-
var customPaginationSize = ((
|
|
533
|
+
var isActivityLog = (((_14 = (_13 = props.edit) === null || _13 === void 0 ? void 0 : _13.activityLog) === null || _14 === void 0 ? void 0 : _14.enableComments) &&
|
|
534
|
+
((_15 = props.edit) === null || _15 === void 0 ? void 0 : _15.activityLog.commentCollectionId)) ||
|
|
535
|
+
(((_17 = (_16 = props.edit) === null || _16 === void 0 ? void 0 : _16.activityLog) === null || _17 === void 0 ? void 0 : _17.enableLogs) &&
|
|
536
|
+
((_18 = props.edit) === null || _18 === void 0 ? void 0 : _18.activityLog.logsCollectionId));
|
|
537
|
+
var customPaginationSize = ((_19 = props.organise) === null || _19 === void 0 ? void 0 : _19.customPaginationCount)
|
|
531
538
|
? props.organise.customPaginationCount(size)
|
|
532
539
|
: undefined;
|
|
533
540
|
//TODO : Code - Pass ...devSettings, search dbEndpoint:
|
|
534
541
|
var writeServerQuery = new writeQuery_1.WriteQuery({
|
|
535
|
-
dbModule: (
|
|
542
|
+
dbModule: (_20 = props.lib) === null || _20 === void 0 ? void 0 : _20.axios,
|
|
536
543
|
dbType: devSettings.server,
|
|
537
544
|
dbCollection: props.collectionId,
|
|
538
545
|
dbEndpoint: devSettings.dbEndpoint,
|
|
@@ -540,7 +547,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
540
547
|
dbUserToken: devSettings.dbUserToken,
|
|
541
548
|
});
|
|
542
549
|
var readServerQuery = new readQuery_1.ReadQuery({
|
|
543
|
-
dbModule: (
|
|
550
|
+
dbModule: (_21 = props.lib) === null || _21 === void 0 ? void 0 : _21.axios,
|
|
544
551
|
dbType: devSettings.server,
|
|
545
552
|
dbCollection: props.collectionId,
|
|
546
553
|
dbEndpoint: devSettings.dbEndpoint,
|
|
@@ -548,9 +555,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
548
555
|
dbUserToken: devSettings.dbUserToken,
|
|
549
556
|
});
|
|
550
557
|
var moreButtonPopUp = [
|
|
551
|
-
((
|
|
558
|
+
((_22 = props.edit) === null || _22 === void 0 ? void 0 : _22.allEditable) &&
|
|
552
559
|
!isFirebase &&
|
|
553
|
-
!((
|
|
560
|
+
!((_24 = (_23 = props.organise) === null || _23 === void 0 ? void 0 : _23.exportSettings) === null || _24 === void 0 ? void 0 : _24.hideImportCSV)
|
|
554
561
|
? {
|
|
555
562
|
text: "Import Excel",
|
|
556
563
|
onClick: function () {
|
|
@@ -559,7 +566,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
559
566
|
},
|
|
560
567
|
}
|
|
561
568
|
: null,
|
|
562
|
-
!((
|
|
569
|
+
!((_26 = (_25 = props.organise) === null || _25 === void 0 ? void 0 : _25.exportSettings) === null || _26 === void 0 ? void 0 : _26.hideExportCSV)
|
|
563
570
|
? {
|
|
564
571
|
text: "Export CSV",
|
|
565
572
|
onClick: function () {
|
|
@@ -569,7 +576,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
569
576
|
},
|
|
570
577
|
}
|
|
571
578
|
: null,
|
|
572
|
-
!((
|
|
579
|
+
!((_28 = (_27 = props.organise) === null || _27 === void 0 ? void 0 : _27.exportSettings) === null || _28 === void 0 ? void 0 : _28.hideExportExcel)
|
|
573
580
|
? {
|
|
574
581
|
text: "Export Excel",
|
|
575
582
|
onClick: function () {
|
|
@@ -579,7 +586,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
579
586
|
},
|
|
580
587
|
}
|
|
581
588
|
: null,
|
|
582
|
-
!((
|
|
589
|
+
!((_30 = (_29 = props.organise) === null || _29 === void 0 ? void 0 : _29.exportSettings) === null || _30 === void 0 ? void 0 : _30.hideExportPDF)
|
|
583
590
|
? {
|
|
584
591
|
text: "Export PDF",
|
|
585
592
|
onClick: function () {
|
|
@@ -589,7 +596,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
589
596
|
},
|
|
590
597
|
}
|
|
591
598
|
: null,
|
|
592
|
-
!((
|
|
599
|
+
!((_32 = (_31 = props.organise) === null || _31 === void 0 ? void 0 : _31.exportSettings) === null || _32 === void 0 ? void 0 : _32.hideExportQR)
|
|
593
600
|
? {
|
|
594
601
|
text: "Export QR",
|
|
595
602
|
onClick: function () {
|
|
@@ -599,7 +606,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
599
606
|
},
|
|
600
607
|
}
|
|
601
608
|
: null,
|
|
602
|
-
!((
|
|
609
|
+
!((_34 = (_33 = props.organise) === null || _33 === void 0 ? void 0 : _33.exportSettings) === null || _34 === void 0 ? void 0 : _34.hideExportQR)
|
|
603
610
|
? {
|
|
604
611
|
text: "Export QR(Data)",
|
|
605
612
|
onClick: function () {
|
|
@@ -609,7 +616,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
609
616
|
},
|
|
610
617
|
}
|
|
611
618
|
: null,
|
|
612
|
-
!((
|
|
619
|
+
!((_36 = (_35 = props.organise) === null || _35 === void 0 ? void 0 : _35.exportSettings) === null || _36 === void 0 ? void 0 : _36.hideExportPrint)
|
|
613
620
|
? {
|
|
614
621
|
text: "Print",
|
|
615
622
|
onClick: function () {
|
|
@@ -619,7 +626,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
619
626
|
},
|
|
620
627
|
}
|
|
621
628
|
: null,
|
|
622
|
-
!((
|
|
629
|
+
!((_38 = (_37 = props.organise) === null || _37 === void 0 ? void 0 : _37.exportSettings) === null || _38 === void 0 ? void 0 : _38.hideExportDraft)
|
|
623
630
|
? {
|
|
624
631
|
text: filterDraft ? "Show All Items" : "Filter Draft",
|
|
625
632
|
onClick: function () {
|
|
@@ -628,9 +635,22 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
628
635
|
}
|
|
629
636
|
: null,
|
|
630
637
|
].filter(Boolean);
|
|
631
|
-
if ((
|
|
638
|
+
if ((_39 = props.organise) === null || _39 === void 0 ? void 0 : _39.moreSettings)
|
|
632
639
|
moreButtonPopUp = moreButtonPopUp.concat(props.organise.moreSettings);
|
|
633
640
|
//=====================================================================================
|
|
641
|
+
//SECTION: User Column Visibility Handlers
|
|
642
|
+
//=====================================================================================
|
|
643
|
+
var handleToggleUserHiddenColumn = function (columnId) {
|
|
644
|
+
setUserHiddenColumnIds(function (prevIds) {
|
|
645
|
+
return prevIds.includes(columnId)
|
|
646
|
+
? prevIds.filter(function (eachId) { return eachId !== columnId; })
|
|
647
|
+
: __spreadArray(__spreadArray([], prevIds, true), [columnId], false);
|
|
648
|
+
});
|
|
649
|
+
};
|
|
650
|
+
var handleShowAllUserHiddenColumns = function () {
|
|
651
|
+
setUserHiddenColumnIds([]);
|
|
652
|
+
};
|
|
653
|
+
//=====================================================================================
|
|
634
654
|
//SECTION: Flex Filter Handlers
|
|
635
655
|
//=====================================================================================
|
|
636
656
|
// INFO: cancel any pending value-typing timer before setting flexFiltersDebounced
|
|
@@ -755,6 +775,16 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
755
775
|
};
|
|
756
776
|
(0, react_1.useImperativeHandle)(ref, function () { return ({
|
|
757
777
|
handleRefresh: handleRefresh,
|
|
778
|
+
// INFO: refetches whatever is currently mounted without touching pageIndex, cursor or
|
|
779
|
+
// filters. handleRefresh clears those (handleClearDataByFilter resets pageIndex to 0),
|
|
780
|
+
// which is right when the caller wants a clean slate but wrong when it only needs the
|
|
781
|
+
// data reloaded in place — e.g. reflecting a write made in an overlay without bouncing
|
|
782
|
+
// the user back to page 1.
|
|
783
|
+
handleRefreshCurrentPage: function () {
|
|
784
|
+
var _a, _b;
|
|
785
|
+
(_a = listRQueryHocRef.current) === null || _a === void 0 ? void 0 : _a.handleRefresh();
|
|
786
|
+
(_b = readQueryHocRef.current) === null || _b === void 0 ? void 0 : _b.handleRefresh();
|
|
787
|
+
},
|
|
758
788
|
handleFormSubmit: handleFormSubmit,
|
|
759
789
|
handleFormCheck: handleFormCheck,
|
|
760
790
|
handlePopUpModal: handlePopUpModal,
|
|
@@ -806,6 +836,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
806
836
|
// a mid-scroll pageIndex would skip rows on next hydration.
|
|
807
837
|
pageIndex: renderCheckScrollMode() ? 0 : pageIndex,
|
|
808
838
|
hiddenColumnIds: structure.filter(function (col) { return col.hide; }).map(function (col) { return col.id; }),
|
|
839
|
+
// INFO: stored raw rather than through getActiveUserHiddenColumnIds so a
|
|
840
|
+
// consumer temporarily switching hideColumnEnabled off does not wipe the
|
|
841
|
+
// user's saved choice.
|
|
842
|
+
userHiddenColumnIds: userHiddenColumnIds,
|
|
809
843
|
columnOrder: structure.map(function (col) { return col.id; }),
|
|
810
844
|
});
|
|
811
845
|
}, [
|
|
@@ -817,6 +851,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
817
851
|
pageIndex,
|
|
818
852
|
structure,
|
|
819
853
|
persistedSort,
|
|
854
|
+
userHiddenColumnIds,
|
|
820
855
|
]);
|
|
821
856
|
(0, react_1.useEffect)(function () {
|
|
822
857
|
handleCheckOfflineDataLength();
|
|
@@ -829,7 +864,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
829
864
|
(0, react_1.useEffect)(function () {
|
|
830
865
|
handleOfflinePrefetch();
|
|
831
866
|
/* eslint-disable */
|
|
832
|
-
}, [props.collectionId, (
|
|
867
|
+
}, [props.collectionId, (_40 = props.bareSettings) === null || _40 === void 0 ? void 0 : _40.bareOffline]);
|
|
833
868
|
/* eslint-enable */
|
|
834
869
|
// INFO: MRQ polling — calls handleRefresh every N ms (e.g. 1500) as a fallback.
|
|
835
870
|
// Calls through handleRefreshRef so the interval always dispatches the latest
|
|
@@ -849,7 +884,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
849
884
|
}, interval);
|
|
850
885
|
return function () { return clearInterval(timer); };
|
|
851
886
|
/* eslint-disable */
|
|
852
|
-
}, [(
|
|
887
|
+
}, [(_41 = props.bareSettings) === null || _41 === void 0 ? void 0 : _41.barePollingInterval, isLive, isNetworkOffline]);
|
|
853
888
|
/* eslint-enable */
|
|
854
889
|
// INFO: Pub/Sub → SSE live-stream — driven by bareSettings.bareSocketName
|
|
855
890
|
// EventSource URL: {sseEndpoint}/{room}?bm_apiToken={token}
|
|
@@ -891,7 +926,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
891
926
|
};
|
|
892
927
|
/* eslint-disable */
|
|
893
928
|
}, [
|
|
894
|
-
(
|
|
929
|
+
(_42 = props.bareSettings) === null || _42 === void 0 ? void 0 : _42.bareSocketName,
|
|
895
930
|
props.collectionId,
|
|
896
931
|
props.devSettings.sseEndpoint,
|
|
897
932
|
props.devSettings.dbAPIToken,
|
|
@@ -1130,10 +1165,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
1130
1165
|
props.collectionId,
|
|
1131
1166
|
props.model,
|
|
1132
1167
|
props.localURLEndpoint,
|
|
1133
|
-
(
|
|
1134
|
-
(
|
|
1135
|
-
(
|
|
1136
|
-
(
|
|
1168
|
+
(_43 = props.organise) === null || _43 === void 0 ? void 0 : _43.extendedTabs,
|
|
1169
|
+
(_44 = props.organise) === null || _44 === void 0 ? void 0 : _44.viewId,
|
|
1170
|
+
(_45 = props.organise) === null || _45 === void 0 ? void 0 : _45.additionalQuery,
|
|
1171
|
+
(_46 = props.organise) === null || _46 === void 0 ? void 0 : _46.groupBy,
|
|
1137
1172
|
props.type,
|
|
1138
1173
|
]);
|
|
1139
1174
|
(0, react_1.useEffect)(function () {
|
|
@@ -1223,7 +1258,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
1223
1258
|
};
|
|
1224
1259
|
}, 100);
|
|
1225
1260
|
return function () { return clearTimeout(timeoutId); };
|
|
1226
|
-
}, [(
|
|
1261
|
+
}, [(_47 = props.organise) === null || _47 === void 0 ? void 0 : _47.showReadFloatingNav, props.type, props.id, loading]);
|
|
1227
1262
|
(0, react_1.useEffect)(function () {
|
|
1228
1263
|
if (props.type !== "read")
|
|
1229
1264
|
return;
|
|
@@ -1432,7 +1467,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
1432
1467
|
switch (_a.label) {
|
|
1433
1468
|
case 0:
|
|
1434
1469
|
refFields = structure.filter(function (s) {
|
|
1435
|
-
return (
|
|
1470
|
+
return (utils_1.REFERENCE_DATA_TYPES.includes(s.type)) &&
|
|
1436
1471
|
s.referenceSpaceId &&
|
|
1437
1472
|
s.referenceLabel;
|
|
1438
1473
|
});
|
|
@@ -2099,22 +2134,20 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
2099
2134
|
return __generator(this, function (_a) {
|
|
2100
2135
|
switch (_a.label) {
|
|
2101
2136
|
case 0:
|
|
2102
|
-
if (!((eachModel.type
|
|
2103
|
-
eachModel.type === "listReference") &&
|
|
2137
|
+
if (!((utils_1.REFERENCE_DATA_TYPES.includes(eachModel.type)) &&
|
|
2104
2138
|
eachModel.referenceMapColumnId)) return [3 /*break*/, 2];
|
|
2105
2139
|
return [4 /*yield*/, (0, updateModule_1.handleRetrieveObjectReferenceOptions)(eachModel, clonedOptions_1, clonedDetails_1, selectedData, dbModule, devSettings, undefined, undefined, undefined, undefined, props.type === "read")];
|
|
2106
2140
|
case 1:
|
|
2107
2141
|
_a.sent();
|
|
2108
2142
|
_a.label = 2;
|
|
2109
2143
|
case 2:
|
|
2110
|
-
if (!((
|
|
2144
|
+
if (!((utils_1.OBJECT_DATA_TYPES.includes(eachModel.type)) &&
|
|
2111
2145
|
eachModel.objectData)) return [3 /*break*/, 4];
|
|
2112
2146
|
return [4 /*yield*/, Promise.all(eachModel.objectData.map(function (eachObjectData) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2113
2147
|
return __generator(this, function (_a) {
|
|
2114
2148
|
switch (_a.label) {
|
|
2115
2149
|
case 0:
|
|
2116
|
-
if (!((eachObjectData.type
|
|
2117
|
-
eachObjectData.type === "listReference") &&
|
|
2150
|
+
if (!((utils_1.REFERENCE_DATA_TYPES.includes(eachObjectData.type)) &&
|
|
2118
2151
|
eachObjectData.referenceMapColumnId)) return [3 /*break*/, 2];
|
|
2119
2152
|
return [4 /*yield*/, (0, updateModule_1.handleRetrieveObjectReferenceOptions)(eachObjectData, clonedOptions_1, clonedDetails_1, selectedData, dbModule, devSettings, eachModel.id, eachModel.type === "listObject", selectedData, undefined, props.type === "read")];
|
|
2120
2153
|
case 1:
|
|
@@ -2337,16 +2370,25 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
2337
2370
|
handlePopUpModal(false);
|
|
2338
2371
|
}
|
|
2339
2372
|
};
|
|
2373
|
+
var handleObjectCellEdit = function (rowId, columnId, data) {
|
|
2374
|
+
var _a;
|
|
2375
|
+
setObjectCellEdit({ rowId: rowId, columnId: columnId });
|
|
2376
|
+
setSelectedObjectStructureId(columnId);
|
|
2377
|
+
setSelectedObjectData((_a = data === null || data === void 0 ? void 0 : data[columnId]) !== null && _a !== void 0 ? _a : {});
|
|
2378
|
+
setSelectedObjectId("");
|
|
2379
|
+
handlePopUpModal(true);
|
|
2380
|
+
};
|
|
2340
2381
|
var handleSubmitObjectDataType = function () {
|
|
2341
|
-
var _a
|
|
2382
|
+
var _a;
|
|
2383
|
+
var _b, _c, _d;
|
|
2342
2384
|
var clonedSelectedData = (0, updateModule_1.handleClonedDataAttribute)(selectedData, structure, props.devSettings.server, false, showId);
|
|
2343
2385
|
var filterObjectModel = structure.find(function (eachModel) {
|
|
2344
2386
|
return eachModel.id === selectedObjectStructureId;
|
|
2345
2387
|
});
|
|
2346
|
-
var clonedSelectedObjectData = (0, updateModule_1.handleClonedDataAttribute)(selectedObjectData, (
|
|
2388
|
+
var clonedSelectedObjectData = (0, updateModule_1.handleClonedDataAttribute)(selectedObjectData, (_b = filterObjectModel === null || filterObjectModel === void 0 ? void 0 : filterObjectModel.objectData) !== null && _b !== void 0 ? _b : [], props.devSettings.server, true, true);
|
|
2347
2389
|
// Clean up canvas background images that were unselected or cleared
|
|
2348
2390
|
// If a canvas has backgroundImage with _cleared flag, clear it when modal closes
|
|
2349
|
-
(
|
|
2391
|
+
(_c = filterObjectModel === null || filterObjectModel === void 0 ? void 0 : filterObjectModel.objectData) === null || _c === void 0 ? void 0 : _c.forEach(function (eachAttribute) {
|
|
2350
2392
|
if (eachAttribute.type === "canvas" &&
|
|
2351
2393
|
eachAttribute.enableImageUpload &&
|
|
2352
2394
|
clonedSelectedObjectData[eachAttribute.id] &&
|
|
@@ -2398,7 +2440,17 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
2398
2440
|
}
|
|
2399
2441
|
else {
|
|
2400
2442
|
//INFO: [UPDATE] Updating an object field
|
|
2401
|
-
var clonedSelectedObjectData_1 = (0, updateModule_1.handleClonedDataAttribute)(selectedObjectData, (
|
|
2443
|
+
var clonedSelectedObjectData_1 = (0, updateModule_1.handleClonedDataAttribute)(selectedObjectData, (_d = filterObjectModel === null || filterObjectModel === void 0 ? void 0 : filterObjectModel.objectData) !== null && _d !== void 0 ? _d : [], props.devSettings.server, true);
|
|
2444
|
+
if (objectCellEdit) {
|
|
2445
|
+
handleSubmitData("update", objectCellEdit.rowId, objectCellEdit.columnId, (_a = {},
|
|
2446
|
+
_a[objectCellEdit.columnId] = clonedSelectedObjectData_1,
|
|
2447
|
+
_a));
|
|
2448
|
+
setObjectCellEdit(null);
|
|
2449
|
+
setSelectedObjectStructureId("");
|
|
2450
|
+
setSelectedObjectData({});
|
|
2451
|
+
handlePopUpModal(false);
|
|
2452
|
+
return;
|
|
2453
|
+
}
|
|
2402
2454
|
clonedSelectedData[selectedObjectStructureId] = clonedSelectedObjectData_1;
|
|
2403
2455
|
setSelectedData(clonedSelectedData);
|
|
2404
2456
|
}
|
|
@@ -2946,8 +2998,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
2946
2998
|
case 1:
|
|
2947
2999
|
_a.sent();
|
|
2948
3000
|
multiImageAttribute = model.filter(function (eachAttribute) {
|
|
2949
|
-
return (eachAttribute.type
|
|
2950
|
-
eachAttribute.type === "multipleFile");
|
|
3001
|
+
return (utils_1.MULTIPLE_ASSET_DATA_TYPES.includes(eachAttribute.type));
|
|
2951
3002
|
});
|
|
2952
3003
|
return [4 /*yield*/, Promise.all(multiImageAttribute.map(function (eachImage) { return __awaiter(void 0, void 0, void 0, function () {
|
|
2953
3004
|
var _a, _b, _c, _d;
|
|
@@ -4679,7 +4730,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
4679
4730
|
return __generator(this, function (_c) {
|
|
4680
4731
|
switch (_c.label) {
|
|
4681
4732
|
case 0:
|
|
4682
|
-
isObject =
|
|
4733
|
+
isObject = utils_1.OBJECT_DATA_TYPES.includes(eachModel.type);
|
|
4683
4734
|
return [4 /*yield*/, indexedDb_1.indexedDb.getValue("local", eachModel.referenceSpaceId + "-ref")];
|
|
4684
4735
|
case 1:
|
|
4685
4736
|
offlineDataResp = _c.sent();
|
|
@@ -4690,8 +4741,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
4690
4741
|
// INFO: convert raw docs to Option[] format so reference Select
|
|
4691
4742
|
// components receive { key, label, secondaryLabel } as expected
|
|
4692
4743
|
// (mirrors the shape handleRetrieveObjectReferenceOptions builds online)
|
|
4693
|
-
if ((eachModel.type
|
|
4694
|
-
eachModel.type === "listReference") &&
|
|
4744
|
+
if ((utils_1.REFERENCE_DATA_TYPES.includes(eachModel.type)) &&
|
|
4695
4745
|
eachModel.referenceLabel) {
|
|
4696
4746
|
clonedReferencesOptions_1[eachModel.id] = offlineData.map(function (r) {
|
|
4697
4747
|
var _a, _b, _c, _d;
|
|
@@ -5149,15 +5199,13 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
5149
5199
|
var selectedModel = structure.find(function (eachModel) {
|
|
5150
5200
|
return eachModel.id === eachValue;
|
|
5151
5201
|
});
|
|
5152
|
-
if ((selectedModel === null || selectedModel === void 0 ? void 0 : selectedModel.type) === "object" ||
|
|
5153
|
-
(selectedModel === null || selectedModel === void 0 ? void 0 : selectedModel.type) === "listObject") {
|
|
5202
|
+
if ((selectedModel === null || selectedModel === void 0 ? void 0 : selectedModel.type) === "object" || (selectedModel === null || selectedModel === void 0 ? void 0 : selectedModel.type) === "listObject") {
|
|
5154
5203
|
var selectedObjectModel = (_c = selectedModel === null || selectedModel === void 0 ? void 0 : selectedModel.objectData) === null || _c === void 0 ? void 0 : _c.find(function (eachModel) {
|
|
5155
5204
|
return eachModel.id === listCSVObjAttribute[eachKey];
|
|
5156
5205
|
});
|
|
5157
5206
|
if ((selectedObjectModel === null || selectedObjectModel === void 0 ? void 0 : selectedObjectModel.type) === "image" ||
|
|
5158
5207
|
(selectedObjectModel === null || selectedObjectModel === void 0 ? void 0 : selectedObjectModel.type) === "file" ||
|
|
5159
|
-
(selectedObjectModel === null || selectedObjectModel === void 0 ? void 0 : selectedObjectModel.type) === "multipleFile"
|
|
5160
|
-
(selectedObjectModel === null || selectedObjectModel === void 0 ? void 0 : selectedObjectModel.type) === "multipleImage") {
|
|
5208
|
+
(selectedObjectModel === null || selectedObjectModel === void 0 ? void 0 : selectedObjectModel.type) === "multipleImage" || (selectedObjectModel === null || selectedObjectModel === void 0 ? void 0 : selectedObjectModel.type) === "multipleFile") {
|
|
5161
5209
|
csvList_1.push({
|
|
5162
5210
|
id: (_d = listCSVObjAttribute[eachKey]) !== null && _d !== void 0 ? _d : "",
|
|
5163
5211
|
ori: Number(eachKey),
|
|
@@ -5181,8 +5229,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
5181
5229
|
}
|
|
5182
5230
|
else if ((selectedModel === null || selectedModel === void 0 ? void 0 : selectedModel.type) === "image" ||
|
|
5183
5231
|
(selectedModel === null || selectedModel === void 0 ? void 0 : selectedModel.type) === "file" ||
|
|
5184
|
-
(selectedModel === null || selectedModel === void 0 ? void 0 : selectedModel.type) === "multipleFile"
|
|
5185
|
-
(selectedModel === null || selectedModel === void 0 ? void 0 : selectedModel.type) === "multipleImage") {
|
|
5232
|
+
(selectedModel === null || selectedModel === void 0 ? void 0 : selectedModel.type) === "multipleImage" || (selectedModel === null || selectedModel === void 0 ? void 0 : selectedModel.type) === "multipleFile") {
|
|
5186
5233
|
csvList_1.push({
|
|
5187
5234
|
id: eachValue !== null && eachValue !== void 0 ? eachValue : "",
|
|
5188
5235
|
ori: Number(eachKey),
|
|
@@ -5214,8 +5261,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
5214
5261
|
if (!eachEachModel.optional) {
|
|
5215
5262
|
// INFO : Validate and compare the modal with csv list and return true if > 1 consist within
|
|
5216
5263
|
var innearValidation = csvList_1.some(function (eachCsvList) {
|
|
5217
|
-
if (eachCsvList.type
|
|
5218
|
-
eachCsvList.type === "listObject") {
|
|
5264
|
+
if (utils_1.OBJECT_DATA_TYPES.includes(eachCsvList.type)) {
|
|
5219
5265
|
return eachEachModel.id === eachCsvList.objectId;
|
|
5220
5266
|
}
|
|
5221
5267
|
else {
|
|
@@ -5817,6 +5863,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
5817
5863
|
setExportQR(false);
|
|
5818
5864
|
setSelectedObjectId("");
|
|
5819
5865
|
setSelectedObjectStructureId("");
|
|
5866
|
+
setObjectCellEdit(null);
|
|
5820
5867
|
setSelectedListAddress({ lat: 0, lng: 0, name: "" });
|
|
5821
5868
|
setSelectedListAddressId("");
|
|
5822
5869
|
setSelectedListAddressIndex(-1);
|
|
@@ -5966,21 +6013,76 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
5966
6013
|
//=====================================================================================
|
|
5967
6014
|
//SECTION: Render CRUD
|
|
5968
6015
|
//=====================================================================================
|
|
6016
|
+
// INFO: columns the end user is allowed to toggle via organise.hideColumnEnabled.
|
|
6017
|
+
// Developer-hidden columns (DataStructure.hide) are excluded on purpose —
|
|
6018
|
+
// a developer hiding a column is not a preference the user may override — as
|
|
6019
|
+
// are the id fields and anything that never becomes a column anyway.
|
|
6020
|
+
var getTogglableColumns = function () {
|
|
6021
|
+
return structure.filter(function (eachAttribute) {
|
|
6022
|
+
var _a;
|
|
6023
|
+
if (eachAttribute.id === "_id" ||
|
|
6024
|
+
eachAttribute.id === "id" ||
|
|
6025
|
+
eachAttribute.id === "baseDraft" ||
|
|
6026
|
+
eachAttribute.hide ||
|
|
6027
|
+
utils_1.NON_TABLE_COLUMN_DATA_TYPES.includes(eachAttribute.type)) {
|
|
6028
|
+
return false;
|
|
6029
|
+
}
|
|
6030
|
+
if (!((_a = props.organise) === null || _a === void 0 ? void 0 : _a.showBaseUpdatedAt) &&
|
|
6031
|
+
eachAttribute.id === "baseUpdatedAt") {
|
|
6032
|
+
return false;
|
|
6033
|
+
}
|
|
6034
|
+
return true;
|
|
6035
|
+
});
|
|
6036
|
+
};
|
|
6037
|
+
// INFO: user hides are only honoured while the feature is switched on, so
|
|
6038
|
+
// turning the prop off restores every column without clearing stored state.
|
|
6039
|
+
var getActiveUserHiddenColumnIds = function () {
|
|
6040
|
+
var _a;
|
|
6041
|
+
if (schemaPresent || !((_a = props.organise) === null || _a === void 0 ? void 0 : _a.hideColumnEnabled))
|
|
6042
|
+
return [];
|
|
6043
|
+
return userHiddenColumnIds;
|
|
6044
|
+
};
|
|
6045
|
+
// INFO: counted off the togglable list rather than the raw array so ids left
|
|
6046
|
+
// over from an older schema can never inflate the badge.
|
|
6047
|
+
var getUserHiddenColumnCount = function () {
|
|
6048
|
+
var activeUserHiddenColumnIds = getActiveUserHiddenColumnIds();
|
|
6049
|
+
return getTogglableColumns().filter(function (eachColumn) {
|
|
6050
|
+
return activeUserHiddenColumnIds.includes(eachColumn.id);
|
|
6051
|
+
}).length;
|
|
6052
|
+
};
|
|
6053
|
+
var renderHideColumnPopupContent = function () {
|
|
6054
|
+
var activeUserHiddenColumnIds = getActiveUserHiddenColumnIds();
|
|
6055
|
+
var togglableColumns = getTogglableColumns();
|
|
6056
|
+
var visibleCount = togglableColumns.filter(function (eachColumn) { return !activeUserHiddenColumnIds.includes(eachColumn.id); }).length;
|
|
6057
|
+
return (react_1.default.createElement("div", { className: "shadow-lg bg-white rounded-md p-4 flex flex-col w-[calc(100vw-2rem)] max-w-[280px]" },
|
|
6058
|
+
react_1.default.createElement("div", { className: "flex flex-row items-center" },
|
|
6059
|
+
react_1.default.createElement("p", { className: "text-sm font-medium text-gray-700" }, "Columns"),
|
|
6060
|
+
react_1.default.createElement("div", { className: "grow" }),
|
|
6061
|
+
activeUserHiddenColumnIds.length > 0 && (react_1.default.createElement(textButton_1.TextButton, { text: "Show all", onClick: handleShowAllUserHiddenColumns }))),
|
|
6062
|
+
react_1.default.createElement("div", { className: "flex flex-col mt-2 overflow-y-auto max-h-72" }, togglableColumns.map(function (eachColumn) {
|
|
6063
|
+
var isHidden = activeUserHiddenColumnIds.includes(eachColumn.id);
|
|
6064
|
+
// INFO: an empty table header breaks both table renderers, so the
|
|
6065
|
+
// last visible column stays locked until another one is shown.
|
|
6066
|
+
var isLocked = !isHidden && visibleCount <= 1;
|
|
6067
|
+
return (react_1.default.createElement("button", { key: eachColumn.id, type: "button", disabled: isLocked, "aria-pressed": !isHidden, "data-testid": "dtw-hide-column-".concat(eachColumn.id), className: "flex flex-row items-center py-2 text-sm text-left ".concat(isLocked
|
|
6068
|
+
? "opacity-50 cursor-not-allowed"
|
|
6069
|
+
: "cursor-pointer hover:text-primary-600"), onClick: function () {
|
|
6070
|
+
handleToggleUserHiddenColumn(eachColumn.id);
|
|
6071
|
+
} },
|
|
6072
|
+
react_1.default.createElement("span", { className: "pr-3 truncate grow" }, eachColumn.name),
|
|
6073
|
+
isHidden ? (react_1.default.createElement(outline_1.EyeSlashIcon, { className: "w-4 h-4 text-gray-400 shrink-0" })) : (react_1.default.createElement(outline_1.EyeIcon, { className: "w-4 h-4 text-primary-600 shrink-0" }))));
|
|
6074
|
+
}))));
|
|
6075
|
+
};
|
|
5969
6076
|
var renderTableHeader = function () {
|
|
5970
6077
|
var _a, _b;
|
|
5971
6078
|
var tableHeader = [];
|
|
6079
|
+
var activeUserHiddenColumnIds = getActiveUserHiddenColumnIds();
|
|
5972
6080
|
structure.map(function (eachAttribute) {
|
|
5973
6081
|
var _a;
|
|
5974
6082
|
if (eachAttribute.id === "baseDraft" ||
|
|
5975
|
-
eachAttribute.type
|
|
5976
|
-
eachAttribute.
|
|
5977
|
-
eachAttribute.
|
|
5978
|
-
eachAttribute.type === "multipleFile" ||
|
|
5979
|
-
eachAttribute.type === "markdown" ||
|
|
5980
|
-
eachAttribute.type === "signature" ||
|
|
5981
|
-
eachAttribute.type === "ganttchart" ||
|
|
5982
|
-
eachAttribute.type === "canvas" ||
|
|
5983
|
-
eachAttribute.hide) {
|
|
6083
|
+
utils_1.NON_TABLE_COLUMN_DATA_TYPES.includes(eachAttribute.type) ||
|
|
6084
|
+
eachAttribute.hide ||
|
|
6085
|
+
activeUserHiddenColumnIds.includes(eachAttribute.id)) {
|
|
5984
6086
|
return null;
|
|
5985
6087
|
}
|
|
5986
6088
|
if (!((_a = props.organise) === null || _a === void 0 ? void 0 : _a.showBaseUpdatedAt) &&
|
|
@@ -6034,14 +6136,8 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6034
6136
|
};
|
|
6035
6137
|
var renderDetailListData = function (model) {
|
|
6036
6138
|
var detailList = [];
|
|
6037
|
-
var exludedDataTypes = [
|
|
6038
|
-
"listObject",
|
|
6039
|
-
"listAddress",
|
|
6040
|
-
"ganttchart",
|
|
6041
|
-
"canvas",
|
|
6042
|
-
];
|
|
6043
6139
|
model
|
|
6044
|
-
.filter(function (eachAttribute) { return !
|
|
6140
|
+
.filter(function (eachAttribute) { return !utils_1.NON_DETAIL_LIST_DATA_TYPES.includes(eachAttribute.type); })
|
|
6045
6141
|
.map(function (eachAttribute) {
|
|
6046
6142
|
var _a, _b, _c, _d, _e, _f;
|
|
6047
6143
|
var selectedDataKey = Object.keys(selectedData).find(function (eachKey) { return eachKey === eachAttribute.id; });
|
|
@@ -6306,7 +6402,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6306
6402
|
});
|
|
6307
6403
|
return canvasElement;
|
|
6308
6404
|
};
|
|
6309
|
-
|
|
6405
|
+
// INFO: placement is decided by the caller (see isBottom in renderContent), so this only
|
|
6406
|
+
// builds the buttons. It previously took an isBottom argument purely to add a top margin
|
|
6407
|
+
// to the list's create button when that button was pushed below the table.
|
|
6408
|
+
var renderActionButtons = function (type, hasTabAlign, uniqueTabIds) {
|
|
6310
6409
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
6311
6410
|
var bareActionComponent = (_c = (_b = (_a = props.bareSettings) === null || _a === void 0 ? void 0 : _a.bareUpdateActionComponent) === null || _b === void 0 ? void 0 : _b.call(_a, selectedData, formRef)) !== null && _c !== void 0 ? _c : undefined;
|
|
6312
6411
|
if (type === "read") {
|
|
@@ -6404,11 +6503,11 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6404
6503
|
hasNavigation ? (react_1.default.createElement(iconButton_1.IconButton, { testId: "dtw-create", icon: react_1.default.createElement(outline_1.PlusIcon, { className: "h-7 w-7 text-white" }), background: "bg-primary-500 hover:bg-primary-600", onClick: function () {
|
|
6405
6504
|
var _a, _b;
|
|
6406
6505
|
(_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.handleNavigate) === null || _b === void 0 ? void 0 : _b.call(_a, "update", "new");
|
|
6407
|
-
}
|
|
6408
|
-
react_1.default.createElement(iconButton_1.IconButton, { testId: "dtw-create", icon: react_1.default.createElement(outline_1.PlusIcon, { className: "h-7 w-7 text-white" }), background: "bg-primary-500 hover:bg-primary-600"
|
|
6506
|
+
} })) : (react_1.default.createElement(link_1.Link, { href: "".concat(props.localURLEndpoint, "?data=new&type=update&collection=").concat(props.collectionId), linkType: props.linkType, custom: props.custom },
|
|
6507
|
+
react_1.default.createElement(iconButton_1.IconButton, { testId: "dtw-create", icon: react_1.default.createElement(outline_1.PlusIcon, { className: "h-7 w-7 text-white" }), background: "bg-primary-500 hover:bg-primary-600" }))),
|
|
6409
6508
|
offlineDataLength > 0 && (react_1.default.createElement(iconButton_1.IconButton, { icon: react_1.default.createElement(solid_1.CloudArrowUpIcon, { className: "h-7 w-7 text-white" }), background: "bg-primary-500 hover:bg-primary-600", onClick: function () {
|
|
6410
6509
|
handlePopUpModal(true, "offline");
|
|
6411
|
-
}
|
|
6510
|
+
} }))));
|
|
6412
6511
|
}
|
|
6413
6512
|
if (listActionBtns.length > 0) {
|
|
6414
6513
|
return react_1.default.createElement(react_1.default.Fragment, null, listActionBtns);
|
|
@@ -6544,6 +6643,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6544
6643
|
switch (props.type) {
|
|
6545
6644
|
case "read":
|
|
6546
6645
|
var anyAuthMethod = Object.values(authMethods).some(function (value) { return value; });
|
|
6646
|
+
var hasReadHeading = !!(props.title || props.description);
|
|
6547
6647
|
pages.push({
|
|
6548
6648
|
name: (_d = selectedData === null || selectedData === void 0 ? void 0 : selectedData[(_c = (_b = props.organise) === null || _b === void 0 ? void 0 : _b.breadcrumbAttributeId) !== null && _c !== void 0 ? _c : serverId]) !== null && _d !== void 0 ? _d : (props.id ? props.id : "new"),
|
|
6549
6649
|
href: "#",
|
|
@@ -6565,8 +6665,8 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6565
6665
|
!loading && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
6566
6666
|
renderBreadcrumb(pages),
|
|
6567
6667
|
react_1.default.createElement("div", null,
|
|
6568
|
-
react_1.default.createElement("div", { className: "flex flex-col
|
|
6569
|
-
|
|
6668
|
+
react_1.default.createElement("div", { className: "flex flex-col sm:py-2 sm:items-center sm:flex-row ".concat(hasReadHeading ? "justify-between" : "sm:justify-end") },
|
|
6669
|
+
hasReadHeading && (react_1.default.createElement("div", { className: "flex flex-col" },
|
|
6570
6670
|
props.title && (react_1.default.createElement("p", { className: "text-xl font-medium" }, props.title)),
|
|
6571
6671
|
props.description && (react_1.default.createElement("span", { className: "text-sm text-gray-500" }, props.description)))),
|
|
6572
6672
|
!isBottom && renderActionButtons(props.type))),
|
|
@@ -6578,7 +6678,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6578
6678
|
!((_l = props.bareSettings) === null || _l === void 0 ? void 0 : _l.bareReadComponentHide) && (react_1.default.createElement("div", null, renderTabContent(tabs, props.type, viewType))),
|
|
6579
6679
|
((_m = props.bareSettings) === null || _m === void 0 ? void 0 : _m.bareReadComponentPos) !== "top" &&
|
|
6580
6680
|
renderBareReadComp()),
|
|
6581
|
-
isBottom &&
|
|
6681
|
+
isBottom && (
|
|
6682
|
+
// INFO: matches the update view's bottom bar, which is already sm:justify-end
|
|
6683
|
+
react_1.default.createElement("div", { className: "flex sm:justify-end" }, renderActionButtons(props.type)))))));
|
|
6582
6684
|
case "update":
|
|
6583
6685
|
if (props.id !== "new") {
|
|
6584
6686
|
pages.push({
|
|
@@ -6598,8 +6700,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6598
6700
|
var _a;
|
|
6599
6701
|
var present = false;
|
|
6600
6702
|
if (eachModel.type === "markdown" ||
|
|
6601
|
-
eachModel.type
|
|
6602
|
-
eachModel.type === "listObject" ||
|
|
6703
|
+
utils_1.OBJECT_DATA_TYPES.includes(eachModel.type) ||
|
|
6603
6704
|
eachModel.type === "textArea") {
|
|
6604
6705
|
disabledOnEnter_1 = true;
|
|
6605
6706
|
}
|
|
@@ -6760,7 +6861,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6760
6861
|
props.title && (react_1.default.createElement("p", { className: "text-xl font-medium" }, props.title)),
|
|
6761
6862
|
props.description && (react_1.default.createElement("span", { className: "text-sm text-gray-500" }, props.description)))),
|
|
6762
6863
|
!isBottom &&
|
|
6763
|
-
renderActionButtons(props.type,
|
|
6864
|
+
renderActionButtons(props.type, hasTabAlign_1, uniqueTabIds_2)),
|
|
6764
6865
|
hasTabAlign_1 ? (react_1.default.createElement("div", { className: "w-full ".concat(leftTabAlign
|
|
6765
6866
|
? "grid sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-5"
|
|
6766
6867
|
: "") },
|
|
@@ -6800,7 +6901,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6800
6901
|
react_1.default.createElement("div", { className: "mt-8" }, renderListAddress(props.type)),
|
|
6801
6902
|
react_1.default.createElement("div", { className: "mt-8" }, renderListObject(props.type)),
|
|
6802
6903
|
isBottom &&
|
|
6803
|
-
renderActionButtons(props.type,
|
|
6904
|
+
renderActionButtons(props.type, hasTabAlign_1, uniqueTabIds_2)))) : (react_1.default.createElement("div", null,
|
|
6804
6905
|
((_13 = props.bareSettings) === null || _13 === void 0 ? void 0 : _13.bareUpdateComponentAbove) &&
|
|
6805
6906
|
((_14 = props.bareSettings) === null || _14 === void 0 ? void 0 : _14.bareUpdateComponent) &&
|
|
6806
6907
|
((_15 = props.bareSettings) === null || _15 === void 0 ? void 0 : _15.bareUpdateComponent(selectedData)),
|
|
@@ -6812,7 +6913,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6812
6913
|
react_1.default.createElement("div", { className: "mt-8" }, renderListAddress(props.type)),
|
|
6813
6914
|
react_1.default.createElement("div", { className: "mt-8" }, renderListObject(props.type)),
|
|
6814
6915
|
isBottom &&
|
|
6815
|
-
renderActionButtons(props.type,
|
|
6916
|
+
renderActionButtons(props.type, hasTabAlign_1, uniqueTabIds_2)))));
|
|
6816
6917
|
case "list":
|
|
6817
6918
|
case "union":
|
|
6818
6919
|
var filterComponent_1 = renderSearchContent();
|
|
@@ -6881,7 +6982,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6881
6982
|
return null;
|
|
6882
6983
|
};
|
|
6883
6984
|
var renderListActionElements = function () {
|
|
6884
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u;
|
|
6985
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
|
|
6885
6986
|
var actionElementList = [];
|
|
6886
6987
|
if (schemaPresent) {
|
|
6887
6988
|
actionElementList.push(react_1.default.createElement(react_1.default.Fragment, null,
|
|
@@ -6915,8 +7016,19 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6915
7016
|
actionElementList.push(react_1.default.createElement(popUp_1.PopUp, { ctaComp: react_1.default.createElement(iconButton_1.IconButton, { icon: react_1.default.createElement(outline_1.FunnelIcon, { className: "h-7 w-7 text-primary-500" }), bgColor: "bg-white" }), renderComp: react_1.default.createElement("div", { className: "shadow-lg p-4 flex flex-col space-y-3 w-[calc(100vw-2rem)] max-w-[320px]" }, popupFilters.map(function (filterEl, index) { return (react_1.default.createElement("div", { key: index }, filterEl)); })), anchor: "right", excludePortalIds: ["datepicker-portal"], lib: { Transition: (_f = props === null || props === void 0 ? void 0 : props.lib) === null || _f === void 0 ? void 0 : _f.Transition } }));
|
|
6916
7017
|
}
|
|
6917
7018
|
}
|
|
7019
|
+
// INFO: User column hiding — the schemaPresent path already exposes
|
|
7020
|
+
// OverviewModal, which writes hide back to the schema in the database.
|
|
7021
|
+
// This one is the client-only counterpart for bare DTWs.
|
|
7022
|
+
if (!schemaPresent && ((_g = props.organise) === null || _g === void 0 ? void 0 : _g.hideColumnEnabled)) {
|
|
7023
|
+
var hiddenColumnCount = getUserHiddenColumnCount();
|
|
7024
|
+
actionElementList.push(react_1.default.createElement(popUp_1.PopUp, { ctaComp: react_1.default.createElement("div", { className: "relative w-fit h-fit" },
|
|
7025
|
+
hiddenColumnCount > 0 && (react_1.default.createElement("div", { "data-testid": "dtw-hide-columns-count", className: "absolute top-0 right-0 translate-x-1/4 -translate-y-1/4 z-[1] rounded-full bg-primary-500 text-white flex items-center justify-center w-5 h-5 text-[10px]" }, hiddenColumnCount)),
|
|
7026
|
+
react_1.default.createElement(iconButton_1.IconButton, { testId: "dtw-hide-columns-btn", icon: react_1.default.createElement(outline_1.EyeSlashIcon, { className: "h-7 w-7 ".concat(hiddenColumnCount > 0
|
|
7027
|
+
? "text-white"
|
|
7028
|
+
: "text-primary-500") }), bgColor: hiddenColumnCount > 0 ? "bg-primary-500" : "bg-white" })), renderComp: renderHideColumnPopupContent(), anchor: "right", lib: { Transition: (_h = props === null || props === void 0 ? void 0 : props.lib) === null || _h === void 0 ? void 0 : _h.Transition } }));
|
|
7029
|
+
}
|
|
6918
7030
|
// INFO: Flex filter — desktop uses PopUp, mobile uses Modal
|
|
6919
|
-
if ((
|
|
7031
|
+
if ((_j = props.bareSettings) === null || _j === void 0 ? void 0 : _j.bareFlexFilters) {
|
|
6920
7032
|
var flexActions = {
|
|
6921
7033
|
handleAddFilter: handleFlexFilterAdd,
|
|
6922
7034
|
handleRemoveFilter: handleFlexFilterRemove,
|
|
@@ -6929,16 +7041,16 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6929
7041
|
};
|
|
6930
7042
|
// INFO: Search input will only render above flex filters if bareListFilterAsPopup is true
|
|
6931
7043
|
var searchInput = !isFirebase &&
|
|
6932
|
-
((
|
|
6933
|
-
!((
|
|
7044
|
+
((_k = props.bareSettings) === null || _k === void 0 ? void 0 : _k.bareListFilterAsPopup) &&
|
|
7045
|
+
!((_l = props.organise) === null || _l === void 0 ? void 0 : _l.hideSearch) &&
|
|
6934
7046
|
filterComponent_1 &&
|
|
6935
7047
|
Array.isArray(filterComponent_1) &&
|
|
6936
7048
|
filterComponent_1.length > 0
|
|
6937
7049
|
? filterComponent_1[filterComponent_1.length - 1]
|
|
6938
7050
|
: undefined;
|
|
6939
7051
|
var flexFilterLength_1 = activeFlexFilterCount_1;
|
|
6940
|
-
if (!((
|
|
6941
|
-
((
|
|
7052
|
+
if (!((_m = props.organise) === null || _m === void 0 ? void 0 : _m.hideSearch) &&
|
|
7053
|
+
((_o = props.bareSettings) === null || _o === void 0 ? void 0 : _o.bareListFilterAsPopup) &&
|
|
6942
7054
|
(filterSearchParams === null || filterSearchParams === void 0 ? void 0 : filterSearchParams["search"]))
|
|
6943
7055
|
flexFilterLength_1 += 1;
|
|
6944
7056
|
var flexFilterIconBtn = function (mobile) {
|
|
@@ -6948,26 +7060,27 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
6948
7060
|
};
|
|
6949
7061
|
// INFO: Desktop — PopUp (hidden on mobile)
|
|
6950
7062
|
actionElementList.push(react_1.default.createElement("div", { className: "hidden md:block" },
|
|
6951
|
-
react_1.default.createElement(popUp_1.PopUp, { ctaComp: flexFilterIconBtn(), renderComp: (0, flexFilter_1.renderFlexFilterPopupContent)(flexFilters, structure, devSettings, dbModule, flexFilterReferenceOptions, flexFilterReferenceSearch, flexActions, (
|
|
7063
|
+
react_1.default.createElement(popUp_1.PopUp, { ctaComp: flexFilterIconBtn(), renderComp: (0, flexFilter_1.renderFlexFilterPopupContent)(flexFilters, structure, devSettings, dbModule, flexFilterReferenceOptions, flexFilterReferenceSearch, flexActions, (_p = props.bareSettings) === null || _p === void 0 ? void 0 : _p.bareListFilterQuery, searchInput, (_q = props.bareSettings) === null || _q === void 0 ? void 0 : _q.bareListFilterAddComponent), anchor: "right", excludePortalIds: ["datepicker-portal", "select-portal"], lib: { Transition: (_r = props === null || props === void 0 ? void 0 : props.lib) === null || _r === void 0 ? void 0 : _r.Transition } })));
|
|
6952
7064
|
// INFO: Mobile — IconButton that opens a Modal (hidden on desktop)
|
|
6953
7065
|
actionElementList.push(react_1.default.createElement("div", { className: "block md:hidden" },
|
|
6954
|
-
!((
|
|
7066
|
+
!((_s = props.bareSettings) === null || _s === void 0 ? void 0 : _s.bareListMobileFloatingSearch) &&
|
|
6955
7067
|
flexFilterIconBtn(true),
|
|
6956
|
-
(0, flexFilter_1.renderFlexFilterModal)(flexFilterModalOpen, flexFilters, structure, devSettings, dbModule, flexFilterReferenceOptions, flexFilterReferenceSearch, flexActions, function () { return setFlexFilterModalOpen(false); }, (
|
|
6957
|
-
}
|
|
6958
|
-
if (!isBottom) {
|
|
6959
|
-
var actionBtns = renderActionButtons(props.type);
|
|
6960
|
-
if (actionBtns)
|
|
6961
|
-
actionElementList.push(actionBtns);
|
|
7068
|
+
(0, flexFilter_1.renderFlexFilterModal)(flexFilterModalOpen, flexFilters, structure, devSettings, dbModule, flexFilterReferenceOptions, flexFilterReferenceSearch, flexActions, function () { return setFlexFilterModalOpen(false); }, (_t = props.bareSettings) === null || _t === void 0 ? void 0 : _t.bareListFilterQuery, searchInput, (_u = props.bareSettings) === null || _u === void 0 ? void 0 : _u.bareListFilterAddComponent)));
|
|
6962
7069
|
}
|
|
6963
|
-
|
|
7070
|
+
// INFO: bareUpdateActionBottom positions the read/update action bar. The list's own
|
|
7071
|
+
// create and offline-upload buttons stay in the filter row either way — they belong
|
|
7072
|
+
// with the controls they sit beside, not stranded below the table and pagination.
|
|
7073
|
+
var actionBtns = renderActionButtons(props.type);
|
|
7074
|
+
if (actionBtns)
|
|
7075
|
+
actionElementList.push(actionBtns);
|
|
7076
|
+
if (schemaPresent || ((_v = props.organise) === null || _v === void 0 ? void 0 : _v.showExport)) {
|
|
6964
7077
|
actionElementList.push(react_1.default.createElement(popUp_1.PopUp, { ctaComp: react_1.default.createElement(iconButton_1.IconButton, { className: "bg-primary-100", icon: react_1.default.createElement(solid_1.EllipsisVerticalIcon, { className: "h-7 w-7 text-primary-500" }), bgColor: "bg-white" }), renderComp: react_1.default.createElement("div", { className: "shadow-lg" }, moreButtonPopUp.map(function (eachPopup) { return (
|
|
6965
7078
|
//TODO: Bug - Crash on Next Js
|
|
6966
7079
|
// <Menu.Item>
|
|
6967
7080
|
react_1.default.createElement("span", { className: "block w-40 py-3 text-sm text-center text-gray-700 cursor-pointer hover:bg-gray-100", onClick: eachPopup === null || eachPopup === void 0 ? void 0 : eachPopup.onClick }, eachPopup === null || eachPopup === void 0 ? void 0 : eachPopup.text)
|
|
6968
7081
|
// </Menu.Item>
|
|
6969
7082
|
); })), lib: {
|
|
6970
|
-
Transition: (
|
|
7083
|
+
Transition: (_w = props === null || props === void 0 ? void 0 : props.lib) === null || _w === void 0 ? void 0 : _w.Transition,
|
|
6971
7084
|
} }));
|
|
6972
7085
|
}
|
|
6973
7086
|
if (actionElementList.length > 0) {
|
|
@@ -7033,7 +7146,6 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
7033
7146
|
renderListNewRowFilterElements(),
|
|
7034
7147
|
(schemaPresent || ((_28 = props.bareSettings) === null || _28 === void 0 ? void 0 : _28.bareReadListTabs)) && (react_1.default.createElement(tabs_1.Tabs, { tabs: tabs, selectedId: viewType, linkType: props.linkType, custom: props.custom, onClick: function (id) { return handleSelectTab(id); }, darkMode: (_29 = props.organise) === null || _29 === void 0 ? void 0 : _29.darkMode })),
|
|
7035
7148
|
renderTabContent(tabs, props.type, viewType),
|
|
7036
|
-
isBottom && renderActionButtons(props.type, true),
|
|
7037
7149
|
((_30 = props.bareSettings) === null || _30 === void 0 ? void 0 : _30.bareListMobileFloatingSearch) &&
|
|
7038
7150
|
(0, listModule_1.renderFloatingMobileSearch)({
|
|
7039
7151
|
filterSearch: filterSearch,
|
|
@@ -7123,7 +7235,11 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
7123
7235
|
var isKanban = (selectedTab === null || selectedTab === void 0 ? void 0 : selectedTab.viewType) === "kanban";
|
|
7124
7236
|
var isListEditable = (_a = props.edit) === null || _a === void 0 ? void 0 : _a.listEditable;
|
|
7125
7237
|
var disableUpdate = (_b = props.edit) === null || _b === void 0 ? void 0 : _b.disabledUpdate;
|
|
7238
|
+
var activeUserHiddenColumnIds = getActiveUserHiddenColumnIds();
|
|
7126
7239
|
var titleKey = "";
|
|
7240
|
+
// INFO: titleModel ignores user hides so the card title stays stable
|
|
7241
|
+
// regardless of which columns the user chose to hide — shifting the title
|
|
7242
|
+
// when hiding the first column would be confusing in grid/kanban views.
|
|
7127
7243
|
var titleModel = structure.find(function (eachModel) {
|
|
7128
7244
|
return !eachModel.hide && eachModel.id !== "_id" && eachModel.id !== "id";
|
|
7129
7245
|
});
|
|
@@ -7161,13 +7277,13 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
7161
7277
|
eachKey === "baseDraft" ||
|
|
7162
7278
|
eachKey === "update" ||
|
|
7163
7279
|
!selectedModel ||
|
|
7164
|
-
selectedModel.type
|
|
7165
|
-
selectedModel.type === "listObject" ||
|
|
7280
|
+
utils_1.OBJECT_DATA_TYPES.includes(selectedModel.type) ||
|
|
7166
7281
|
selectedModel.type === "file" ||
|
|
7167
7282
|
selectedModel.type === "multipleFile" ||
|
|
7168
7283
|
selectedModel.type === "ganttchart" ||
|
|
7169
7284
|
selectedModel.type === "canvas" ||
|
|
7170
7285
|
selectedModel.hide ||
|
|
7286
|
+
activeUserHiddenColumnIds.includes(eachKey) ||
|
|
7171
7287
|
eachKey === imageTag ||
|
|
7172
7288
|
eachValue === title ||
|
|
7173
7289
|
(structurePresent && (!modelInStructure || modelInStructure.hide))) {
|
|
@@ -7520,7 +7636,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
7520
7636
|
}
|
|
7521
7637
|
});
|
|
7522
7638
|
}); },
|
|
7523
|
-
}, addable: {
|
|
7639
|
+
}, onObjectEdit: handleObjectCellEdit, addable: {
|
|
7524
7640
|
active: ((_2 = props.edit) === null || _2 === void 0 ? void 0 : _2.listAddable) ? true : false,
|
|
7525
7641
|
onAddData: function (data) { return __awaiter(void 0, void 0, void 0, function () {
|
|
7526
7642
|
return __generator(this, function (_a) {
|
|
@@ -7629,7 +7745,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
7629
7745
|
}
|
|
7630
7746
|
});
|
|
7631
7747
|
}); },
|
|
7632
|
-
}, addable: {
|
|
7748
|
+
}, onObjectEdit: handleObjectCellEdit, addable: {
|
|
7633
7749
|
active: ((_2 = props.edit) === null || _2 === void 0 ? void 0 : _2.listAddable) ? true : false,
|
|
7634
7750
|
onAddData: function (data) { return __awaiter(void 0, void 0, void 0, function () {
|
|
7635
7751
|
return __generator(this, function (_a) {
|
|
@@ -7712,7 +7828,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
7712
7828
|
}
|
|
7713
7829
|
});
|
|
7714
7830
|
}); },
|
|
7715
|
-
}, addable: {
|
|
7831
|
+
}, onObjectEdit: handleObjectCellEdit, addable: {
|
|
7716
7832
|
active: ((_31 = props.edit) === null || _31 === void 0 ? void 0 : _31.listAddable) ? true : false,
|
|
7717
7833
|
onAddData: function (data) { return __awaiter(void 0, void 0, void 0, function () {
|
|
7718
7834
|
return __generator(this, function (_a) {
|
|
@@ -8529,7 +8645,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
8529
8645
|
}, delayInit: true })),
|
|
8530
8646
|
react_1.default.createElement("div", { className: "flex justify-end pt-8" },
|
|
8531
8647
|
selectedObjectId && props.type !== "read" && (react_1.default.createElement(button_1.Button, { className: "mr-5", text: "Delete", type: "danger", onClick: function () { } })),
|
|
8532
|
-
react_1.default.createElement(button_1.Button, { text: "".concat(props.type === "read" ? "Close" : "Submit"), type: "normal", onClick: function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
8648
|
+
react_1.default.createElement(button_1.Button, { text: "".concat(props.type === "read" && !objectCellEdit ? "Close" : "Submit"), type: "normal", onClick: function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
8533
8649
|
var _a;
|
|
8534
8650
|
return __generator(this, function (_b) {
|
|
8535
8651
|
switch (_b.label) {
|
|
@@ -8644,7 +8760,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
8644
8760
|
return __generator(this, function (_b) {
|
|
8645
8761
|
switch (_b.label) {
|
|
8646
8762
|
case 0:
|
|
8647
|
-
if (!(props.type === "update")) return [3 /*break*/, 2];
|
|
8763
|
+
if (!(props.type === "update" || objectCellEdit)) return [3 /*break*/, 2];
|
|
8648
8764
|
return [4 /*yield*/, ((_a = objectFormRef.current) === null || _a === void 0 ? void 0 : _a.handleSubmit())];
|
|
8649
8765
|
case 1:
|
|
8650
8766
|
_b.sent();
|
|
@@ -8846,7 +8962,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
8846
8962
|
};
|
|
8847
8963
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
8848
8964
|
renderNotification("root"),
|
|
8849
|
-
((
|
|
8965
|
+
((_49 = (_48 = props.renderSettings) === null || _48 === void 0 ? void 0 : _48.renderLoadingUI) === null || _49 === void 0 ? void 0 : _49.call(_48)) && loading ? ((_50 = props.renderSettings) === null || _50 === void 0 ? void 0 : _50.renderLoadingUI()) : (react_1.default.createElement(modal_1.Modal, { maxWidth: selectedObjectStructureId || excelModal ? "2xl" : undefined, open: modalVisible, title: renderModalTitle(), renderContent: renderModalContent, onClose: function () {
|
|
8850
8966
|
var _a, _b;
|
|
8851
8967
|
if (loading)
|
|
8852
8968
|
return;
|