blixify-ui-web 1.2.103 → 1.2.105
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/advanced/popUp/index.d.ts +4 -0
- package/lib/components/advanced/popUp/index.d.ts.map +1 -1
- package/lib/components/advanced/popUp/index.js +36 -2
- package/lib/components/advanced/popUp/index.js.map +1 -1
- package/lib/components/auth/bareSignUp/index.d.ts +3 -0
- package/lib/components/auth/bareSignUp/index.d.ts.map +1 -1
- package/lib/components/auth/bareSignUp/index.js +22 -3
- package/lib/components/auth/bareSignUp/index.js.map +1 -1
- package/lib/components/auth/signUp/index.d.ts +2 -0
- package/lib/components/auth/signUp/index.d.ts.map +1 -1
- package/lib/components/auth/signUp/index.js +1 -1
- package/lib/components/auth/signUp/index.js.map +1 -1
- package/lib/components/data/dataTemplate/index.d.ts.map +1 -1
- package/lib/components/data/dataTemplate/index.js +157 -141
- package/lib/components/data/dataTemplate/index.js.map +1 -1
- package/lib/components/data/dataTemplate/permissions.d.ts +9 -6
- package/lib/components/data/dataTemplate/permissions.d.ts.map +1 -1
- package/lib/components/data/dataTemplate/permissions.js +9 -6
- package/lib/components/data/dataTemplate/permissions.js.map +1 -1
- package/lib/components/input/markdown/index.d.ts.map +1 -1
- package/lib/components/input/markdown/index.js +4 -0
- package/lib/components/input/markdown/index.js.map +1 -1
- package/lib/components/input/uploadInput/index.d.ts +5 -2
- package/lib/components/input/uploadInput/index.d.ts.map +1 -1
- package/lib/components/input/uploadInput/index.js +51 -49
- package/lib/components/input/uploadInput/index.js.map +1 -1
- package/lib/components/navigation/leftNav/index.d.ts.map +1 -1
- package/lib/components/navigation/leftNav/index.js +3 -2
- package/lib/components/navigation/leftNav/index.js.map +1 -1
- package/lib/tail.css +2 -2
- package/package.json +1 -1
|
@@ -620,7 +620,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
620
620
|
setPersistedSort(value);
|
|
621
621
|
(_b = (_a = props.organise) === null || _a === void 0 ? void 0 : _a.onChangeSort) === null || _b === void 0 ? void 0 : _b.call(_a, value);
|
|
622
622
|
};
|
|
623
|
-
var _180 = (0, permissions_1.handleResolveDataTemplateWritePermissions)(props.edit), canUpdateRecord = _180.canUpdateRecord, canInlineUpdate = _180.canInlineUpdate,
|
|
623
|
+
var _180 = (0, permissions_1.handleResolveDataTemplateWritePermissions)(props.edit), canUpdateRecord = _180.canUpdateRecord, canInlineUpdate = _180.canInlineUpdate, canBatchUpdate = _180.canBatchUpdate, canDeleteRecord = _180.canDeleteRecord;
|
|
624
624
|
var isEditor = ((_12 = props.edit) === null || _12 === void 0 ? void 0 : _12.allEditable) ? true : false;
|
|
625
625
|
var isOffline = (_13 = props.bareSettings) === null || _13 === void 0 ? void 0 : _13.bareOffline;
|
|
626
626
|
// INFO: when bareOfflineNetworkAware is true, the save path is also gated on
|
|
@@ -4369,12 +4369,6 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
4369
4369
|
selectedId = offlineId;
|
|
4370
4370
|
id = offlineId;
|
|
4371
4371
|
}
|
|
4372
|
-
// INFO: an explicit list update is a reader-reachable write — an inline
|
|
4373
|
-
// cell or a dragged card — so it must carry the permission that drew that
|
|
4374
|
-
// control. A form or offline submit is the consumer's own call and is not
|
|
4375
|
-
// gated here; the consumer decides whether to render a write form at all.
|
|
4376
|
-
if (type === "update" && !canSubmitUpdate)
|
|
4377
|
-
return [2 /*return*/, ""];
|
|
4378
4372
|
if (!(isOffline &&
|
|
4379
4373
|
!(isOfflineNetworkListener && !isNetworkOffline) &&
|
|
4380
4374
|
!offlineId)) return [3 /*break*/, 2];
|
|
@@ -4887,10 +4881,9 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
4887
4881
|
}); };
|
|
4888
4882
|
var handleSubmit = function (isDraft) { return __awaiter(void 0, void 0, void 0, function () {
|
|
4889
4883
|
var preComplete, res, updatedMarkdownData_1, uploadedData_2, uploadTypes_1, err_23;
|
|
4890
|
-
var _a;
|
|
4891
|
-
|
|
4892
|
-
|
|
4893
|
-
switch (_p.label) {
|
|
4884
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
4885
|
+
return __generator(this, function (_m) {
|
|
4886
|
+
switch (_m.label) {
|
|
4894
4887
|
case 0:
|
|
4895
4888
|
// INFO: re-entry guard — if a submit is already in-flight (double-click,
|
|
4896
4889
|
// rapid Enter keypresses, or concurrent bareSaveOnTabChange calls), return
|
|
@@ -4899,134 +4892,134 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
4899
4892
|
if (isSubmittingRef.current)
|
|
4900
4893
|
return [2 /*return*/];
|
|
4901
4894
|
isSubmittingRef.current = true;
|
|
4902
|
-
|
|
4895
|
+
_m.label = 1;
|
|
4903
4896
|
case 1:
|
|
4904
|
-
|
|
4897
|
+
_m.trys.push([1, 8, , 9]);
|
|
4905
4898
|
setLoading(true);
|
|
4906
4899
|
setModalVisible(true);
|
|
4907
4900
|
preComplete = true;
|
|
4908
|
-
if (!((
|
|
4901
|
+
if (!((_a = props.bareSettings) === null || _a === void 0 ? void 0 : _a.bareUpdateHandlePreComplete)) return [3 /*break*/, 3];
|
|
4909
4902
|
return [4 /*yield*/, props.bareSettings.bareUpdateHandlePreComplete(selectedData)];
|
|
4910
4903
|
case 2:
|
|
4911
4904
|
preComplete =
|
|
4912
|
-
|
|
4913
|
-
|
|
4905
|
+
_m.sent();
|
|
4906
|
+
_m.label = 3;
|
|
4914
4907
|
case 3:
|
|
4915
4908
|
if (!preComplete)
|
|
4916
4909
|
throw "Error";
|
|
4917
|
-
if (!((
|
|
4910
|
+
if (!((_b = props.bareSettings) === null || _b === void 0 ? void 0 : _b.bareUpdateHandleComplete)) return [3 /*break*/, 5];
|
|
4918
4911
|
return [4 /*yield*/, props.bareSettings.bareUpdateHandleComplete(selectedData)];
|
|
4919
4912
|
case 4:
|
|
4920
|
-
|
|
4921
|
-
return [3 /*break*/,
|
|
4913
|
+
_m.sent();
|
|
4914
|
+
return [3 /*break*/, 7];
|
|
4922
4915
|
case 5: return [4 /*yield*/, handleSubmitData(undefined, undefined, undefined, undefined, undefined, undefined, isDraft)];
|
|
4923
4916
|
case 6:
|
|
4924
|
-
res =
|
|
4925
|
-
if (
|
|
4926
|
-
|
|
4927
|
-
|
|
4928
|
-
|
|
4929
|
-
|
|
4930
|
-
|
|
4931
|
-
|
|
4932
|
-
|
|
4933
|
-
|
|
4934
|
-
|
|
4935
|
-
|
|
4936
|
-
|
|
4937
|
-
|
|
4938
|
-
|
|
4939
|
-
|
|
4940
|
-
|
|
4941
|
-
|
|
4942
|
-
|
|
4943
|
-
dirtyFieldsRef.current.clear();
|
|
4944
|
-
}
|
|
4945
|
-
updatedMarkdownData_1 = {};
|
|
4946
|
-
structure.forEach(function (eachAttribute) {
|
|
4947
|
-
var _a, _b;
|
|
4948
|
-
if (eachAttribute.type === "markdown") {
|
|
4949
|
-
var originalIndex = structure.findIndex(function (m) { return m.id === eachAttribute.id; });
|
|
4950
|
-
var refIndex = (_a = eachAttribute.refIndex) !== null && _a !== void 0 ? _a : originalIndex;
|
|
4951
|
-
var ref_1 = modalFormInputRefs[refIndex];
|
|
4952
|
-
if ((_b = ref_1 === null || ref_1 === void 0 ? void 0 : ref_1.current) === null || _b === void 0 ? void 0 : _b.getMarkdown) {
|
|
4953
|
-
updatedMarkdownData_1[eachAttribute.id] =
|
|
4954
|
-
ref_1.current.getMarkdown();
|
|
4955
|
-
}
|
|
4917
|
+
res = _m.sent();
|
|
4918
|
+
if (res) {
|
|
4919
|
+
// INFO: bareUpdateHandlePostComplete is deliberately not called here.
|
|
4920
|
+
// handleSubmitData already calls it once, right after the write, with
|
|
4921
|
+
// the processed record and only when the write reached the server.
|
|
4922
|
+
// A second call here ran every consumer side effect (emails, Drive
|
|
4923
|
+
// uploads, PDF generation) twice per save.
|
|
4924
|
+
handleCheckOfflineDataLength();
|
|
4925
|
+
if (isDraft) {
|
|
4926
|
+
// INFO: advance the baseline after a successful draft save so that
|
|
4927
|
+
// subsequent saves only diff against what was just persisted.
|
|
4928
|
+
// Without this, listObject edits saved in a previous draft would be
|
|
4929
|
+
// re-sent on every subsequent save (harmless but wasteful), and the
|
|
4930
|
+
// "skip write if nothing changed" short-circuit would never trigger.
|
|
4931
|
+
if ((_c = props.bareSettings) === null || _c === void 0 ? void 0 : _c.bareUpsertPartialUpdate) {
|
|
4932
|
+
loadedSelectedData.current = (0, updateModule_1.handleClonedDataAttribute)(selectedData, structure, props.devSettings.server, true, showId);
|
|
4933
|
+
// INFO: Reset dirty tracking after successful save — the new baseline
|
|
4934
|
+
// is the saved state, so all fields start "clean" again.
|
|
4935
|
+
dirtyFieldsRef.current.clear();
|
|
4956
4936
|
}
|
|
4957
|
-
|
|
4958
|
-
uploadedData_2 = lastUploadedDataRef.current;
|
|
4959
|
-
if (uploadedData_2) {
|
|
4960
|
-
uploadTypes_1 = [
|
|
4961
|
-
"image",
|
|
4962
|
-
"file",
|
|
4963
|
-
"multipleImage",
|
|
4964
|
-
"multipleFile",
|
|
4965
|
-
"canvas",
|
|
4966
|
-
];
|
|
4937
|
+
updatedMarkdownData_1 = {};
|
|
4967
4938
|
structure.forEach(function (eachAttribute) {
|
|
4968
|
-
|
|
4969
|
-
|
|
4970
|
-
|
|
4971
|
-
|
|
4972
|
-
|
|
4939
|
+
var _a, _b;
|
|
4940
|
+
if (eachAttribute.type === "markdown") {
|
|
4941
|
+
var originalIndex = structure.findIndex(function (m) { return m.id === eachAttribute.id; });
|
|
4942
|
+
var refIndex = (_a = eachAttribute.refIndex) !== null && _a !== void 0 ? _a : originalIndex;
|
|
4943
|
+
var ref_1 = modalFormInputRefs[refIndex];
|
|
4944
|
+
if ((_b = ref_1 === null || ref_1 === void 0 ? void 0 : ref_1.current) === null || _b === void 0 ? void 0 : _b.getMarkdown) {
|
|
4973
4945
|
updatedMarkdownData_1[eachAttribute.id] =
|
|
4974
|
-
|
|
4946
|
+
ref_1.current.getMarkdown();
|
|
4975
4947
|
}
|
|
4976
4948
|
}
|
|
4977
4949
|
});
|
|
4978
|
-
|
|
4979
|
-
|
|
4980
|
-
|
|
4981
|
-
|
|
4982
|
-
|
|
4983
|
-
|
|
4984
|
-
|
|
4985
|
-
|
|
4986
|
-
|
|
4987
|
-
|
|
4988
|
-
|
|
4989
|
-
|
|
4990
|
-
|
|
4991
|
-
|
|
4992
|
-
|
|
4993
|
-
|
|
4994
|
-
|
|
4995
|
-
|
|
4996
|
-
|
|
4997
|
-
|
|
4998
|
-
|
|
4999
|
-
|
|
5000
|
-
|
|
5001
|
-
|
|
5002
|
-
|
|
5003
|
-
|
|
5004
|
-
|
|
5005
|
-
|
|
5006
|
-
|
|
5007
|
-
|
|
4950
|
+
uploadedData_2 = lastUploadedDataRef.current;
|
|
4951
|
+
if (uploadedData_2) {
|
|
4952
|
+
uploadTypes_1 = [
|
|
4953
|
+
"image",
|
|
4954
|
+
"file",
|
|
4955
|
+
"multipleImage",
|
|
4956
|
+
"multipleFile",
|
|
4957
|
+
"canvas",
|
|
4958
|
+
];
|
|
4959
|
+
structure.forEach(function (eachAttribute) {
|
|
4960
|
+
if (uploadTypes_1.includes(eachAttribute.type)) {
|
|
4961
|
+
if (eachAttribute.type === "canvas" &&
|
|
4962
|
+
!eachAttribute.enableImageUpload)
|
|
4963
|
+
return;
|
|
4964
|
+
if (uploadedData_2[eachAttribute.id] !== undefined) {
|
|
4965
|
+
updatedMarkdownData_1[eachAttribute.id] =
|
|
4966
|
+
uploadedData_2[eachAttribute.id];
|
|
4967
|
+
}
|
|
4968
|
+
}
|
|
4969
|
+
});
|
|
4970
|
+
}
|
|
4971
|
+
if (Object.keys(updatedMarkdownData_1).length > 0) {
|
|
4972
|
+
// INFO: Post-save markdown/upload data sync is programmatic, not user-driven
|
|
4973
|
+
programmaticUpdateRef.current = true;
|
|
4974
|
+
setSelectedData(function (prev) { return (__assign(__assign({}, prev), updatedMarkdownData_1)); });
|
|
4975
|
+
}
|
|
4976
|
+
if (props.id === "new" || !props.id) {
|
|
4977
|
+
(_e = (_d = props.organise) === null || _d === void 0 ? void 0 : _d.handleNavigate) === null || _e === void 0 ? void 0 : _e.call(_d, "update", res, (_f = selectedTab === null || selectedTab === void 0 ? void 0 : selectedTab.id) !== null && _f !== void 0 ? _f : "general");
|
|
4978
|
+
}
|
|
4979
|
+
if (silentDraftRef.current) {
|
|
4980
|
+
silentDraftRef.current = false;
|
|
4981
|
+
}
|
|
4982
|
+
else {
|
|
4983
|
+
setNotification({
|
|
4984
|
+
type: true,
|
|
4985
|
+
title: "Draft Saved",
|
|
4986
|
+
msg: "Your changes have been saved",
|
|
4987
|
+
});
|
|
4988
|
+
}
|
|
5008
4989
|
}
|
|
5009
4990
|
else {
|
|
5010
|
-
|
|
5011
|
-
|
|
4991
|
+
// INFO: Non-draft (final submit) — reset dirty tracking and rebase baseline.
|
|
4992
|
+
// Usually the component navigates away, but in case it doesn't (e.g. custom onComplete
|
|
4993
|
+
// that stays on the same page), ensure clean state for subsequent interactions.
|
|
4994
|
+
if ((_g = props.bareSettings) === null || _g === void 0 ? void 0 : _g.bareUpsertPartialUpdate) {
|
|
4995
|
+
loadedSelectedData.current = (0, updateModule_1.handleClonedDataAttribute)(selectedData, structure, props.devSettings.server, true, showId);
|
|
4996
|
+
dirtyFieldsRef.current.clear();
|
|
4997
|
+
}
|
|
4998
|
+
if (props.onComplete) {
|
|
4999
|
+
props.onComplete(res);
|
|
5000
|
+
}
|
|
5001
|
+
else {
|
|
5002
|
+
if (selectedTab) {
|
|
5003
|
+
(_j = (_h = props.organise) === null || _h === void 0 ? void 0 : _h.handleNavigate) === null || _j === void 0 ? void 0 : _j.call(_h, "read", res, selectedTab.id);
|
|
5004
|
+
}
|
|
5005
|
+
else
|
|
5006
|
+
(_l = (_k = props.organise) === null || _k === void 0 ? void 0 : _k.handleNavigate) === null || _l === void 0 ? void 0 : _l.call(_k, "read", res, "general");
|
|
5012
5007
|
}
|
|
5013
|
-
else
|
|
5014
|
-
(_o = (_m = props.organise) === null || _m === void 0 ? void 0 : _m.handleNavigate) === null || _o === void 0 ? void 0 : _o.call(_m, "read", res, "general");
|
|
5015
5008
|
}
|
|
5016
5009
|
}
|
|
5017
|
-
|
|
5018
|
-
case
|
|
5010
|
+
_m.label = 7;
|
|
5011
|
+
case 7:
|
|
5019
5012
|
setModalVisible(false);
|
|
5020
5013
|
setLoading(false);
|
|
5021
5014
|
isSubmittingRef.current = false;
|
|
5022
|
-
return [3 /*break*/,
|
|
5023
|
-
case
|
|
5024
|
-
err_23 =
|
|
5015
|
+
return [3 /*break*/, 9];
|
|
5016
|
+
case 8:
|
|
5017
|
+
err_23 = _m.sent();
|
|
5025
5018
|
setModalVisible(false);
|
|
5026
5019
|
setLoading(false);
|
|
5027
5020
|
isSubmittingRef.current = false;
|
|
5028
|
-
return [3 /*break*/,
|
|
5029
|
-
case
|
|
5021
|
+
return [3 /*break*/, 9];
|
|
5022
|
+
case 9: return [2 /*return*/];
|
|
5030
5023
|
}
|
|
5031
5024
|
});
|
|
5032
5025
|
}); };
|
|
@@ -7207,7 +7200,7 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
7207
7200
|
})) })) }));
|
|
7208
7201
|
};
|
|
7209
7202
|
var renderContent = function () {
|
|
7210
|
-
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
|
|
7203
|
+
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;
|
|
7211
7204
|
var isBottom = ((_a = props.bareSettings) === null || _a === void 0 ? void 0 : _a.bareUpdateActionBottom) ? true : false;
|
|
7212
7205
|
var tabs = renderTabs();
|
|
7213
7206
|
var pages = [
|
|
@@ -7490,28 +7483,40 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
7490
7483
|
renderDataTemplateFormContent(selectedData, filterByTab, modalFormInputRefs, false, false, undefined, undefined)));
|
|
7491
7484
|
}),
|
|
7492
7485
|
!((_15 = props.bareSettings) === null || _15 === void 0 ? void 0 : _15.bareUpdateComponentAbove) &&
|
|
7493
|
-
((_16 = props.bareSettings) === null || _16 === void 0 ? void 0 : _16.bareUpdateComponent) &&
|
|
7494
|
-
|
|
7486
|
+
((_16 = props.bareSettings) === null || _16 === void 0 ? void 0 : _16.bareUpdateComponent) && (
|
|
7487
|
+
// INFO: the form is a grid-cols-12. A child with no column span is one
|
|
7488
|
+
// column, and a grid item cannot shrink below its longest word, so on a
|
|
7489
|
+
// phone it wraps one word per line. `contents` takes this wrapper out of
|
|
7490
|
+
// the grid, so a consumer's own col-span, a fragment of several cells,
|
|
7491
|
+
// or a null return all lay out exactly as before; only children with no
|
|
7492
|
+
// col-span of their own are given the full row.
|
|
7493
|
+
react_1.default.createElement("div", { className: "contents [&>*:not([class*=col-span])]:col-span-12" }, props.bareSettings.bareUpdateComponent(selectedData)))),
|
|
7495
7494
|
react_1.default.createElement("div", { className: "mt-8" }, renderListAddress(resolvedType)),
|
|
7496
7495
|
react_1.default.createElement("div", { className: "mt-8" }, renderListObject(resolvedType)),
|
|
7497
|
-
!((
|
|
7496
|
+
!((_17 = props.bareSettings) === null || _17 === void 0 ? void 0 : _17.bareUpdateActionTop) &&
|
|
7498
7497
|
renderStepBar(uniqueTabIds_2),
|
|
7499
7498
|
isBottom &&
|
|
7500
7499
|
resolvedType !== "update" &&
|
|
7501
7500
|
renderActionButtons(resolvedType, hasTabAlign_1, uniqueTabIds_2)))) : (react_1.default.createElement("div", null,
|
|
7502
|
-
((
|
|
7503
|
-
((
|
|
7504
|
-
((
|
|
7505
|
-
((
|
|
7501
|
+
((_18 = props.bareSettings) === null || _18 === void 0 ? void 0 : _18.bareUpdateComponentAbove) &&
|
|
7502
|
+
((_19 = props.bareSettings) === null || _19 === void 0 ? void 0 : _19.bareUpdateComponent) &&
|
|
7503
|
+
((_20 = props.bareSettings) === null || _20 === void 0 ? void 0 : _20.bareUpdateComponent(selectedData)),
|
|
7504
|
+
((_21 = props.bareSettings) === null || _21 === void 0 ? void 0 : _21.bareUpdateActionTop) &&
|
|
7506
7505
|
renderStepBar(uniqueTabIds_2),
|
|
7507
7506
|
react_1.default.createElement(form_1.Form, { className: "grid ".concat(formColumn, " ").concat(gridGap, " mt-6"), ref: formRef, refList: __spreadArray(__spreadArray([], modalFormInputRefs, true), flexTableRefs, true), handleComplete: handleSubmit, disabledOnEnter: disabledOnEnter_1, handleOnFailValidation: handleOnFailValidation },
|
|
7508
7507
|
renderDataTemplateFormContent(selectedData, filterModel_1, modalFormInputRefs, false, false),
|
|
7509
|
-
!((
|
|
7510
|
-
((
|
|
7511
|
-
|
|
7508
|
+
!((_22 = props.bareSettings) === null || _22 === void 0 ? void 0 : _22.bareUpdateComponentAbove) &&
|
|
7509
|
+
((_23 = props.bareSettings) === null || _23 === void 0 ? void 0 : _23.bareUpdateComponent) && (
|
|
7510
|
+
// INFO: the form is a grid-cols-12. A child with no column span is one
|
|
7511
|
+
// column, and a grid item cannot shrink below its longest word, so on a
|
|
7512
|
+
// phone it wraps one word per line. `contents` takes this wrapper out of
|
|
7513
|
+
// the grid, so a consumer's own col-span, a fragment of several cells,
|
|
7514
|
+
// or a null return all lay out exactly as before; only children with no
|
|
7515
|
+
// col-span of their own are given the full row.
|
|
7516
|
+
react_1.default.createElement("div", { className: "contents [&>*:not([class*=col-span])]:col-span-12" }, props.bareSettings.bareUpdateComponent(selectedData)))),
|
|
7512
7517
|
react_1.default.createElement("div", { className: "mt-8" }, renderListAddress(resolvedType)),
|
|
7513
7518
|
react_1.default.createElement("div", { className: "mt-8" }, renderListObject(resolvedType)),
|
|
7514
|
-
!((
|
|
7519
|
+
!((_24 = props.bareSettings) === null || _24 === void 0 ? void 0 : _24.bareUpdateActionTop) &&
|
|
7515
7520
|
renderStepBar(uniqueTabIds_2)))));
|
|
7516
7521
|
case "list":
|
|
7517
7522
|
case "union":
|
|
@@ -7520,20 +7525,20 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
7520
7525
|
var actionComponent = renderActionButtons(resolvedType);
|
|
7521
7526
|
// INFO: active flex filter count for the icon badge + floating search.
|
|
7522
7527
|
// Counts query output so the badge matches what's actually filtered.
|
|
7523
|
-
var activeFlexFilterCount_1 = ((
|
|
7528
|
+
var activeFlexFilterCount_1 = ((_25 = props.bareSettings) === null || _25 === void 0 ? void 0 : _25.bareFlexFilters)
|
|
7524
7529
|
? (0, listModule_1.renderFlexFilterConditions)(flexFilters, structure).length
|
|
7525
7530
|
: 0;
|
|
7526
7531
|
var listReadQueryHOC = (react_1.default.createElement(readQueryHoc_1.ReadQueryHoc, { ref: listRQueryHocRef, database: {
|
|
7527
7532
|
dbModule: dbModule,
|
|
7528
7533
|
dbType: devSettings.server,
|
|
7529
|
-
dbCollection: (
|
|
7534
|
+
dbCollection: (_27 = (_26 = props === null || props === void 0 ? void 0 : props.space) === null || _26 === void 0 ? void 0 : _26.pipelineDefaultSpaceId) !== null && _27 !== void 0 ? _27 : props.collectionId,
|
|
7530
7535
|
dbEndpoint: devSettings.dbEndpoint,
|
|
7531
7536
|
dbAPIToken: devSettings.dbAPIToken,
|
|
7532
7537
|
dbUserToken: devSettings.dbUserToken,
|
|
7533
|
-
}, cond: handleReadQueryHocCond(), offline: ((
|
|
7538
|
+
}, cond: handleReadQueryHocCond(), offline: ((_28 = props.bareSettings) === null || _28 === void 0 ? void 0 : _28.bareOffline) && isNetworkOffline, onChangeData: function (data) {
|
|
7534
7539
|
handleGetListData(data, "", "");
|
|
7535
7540
|
}, onError: handleGetItemError }));
|
|
7536
|
-
if ((
|
|
7541
|
+
if ((_29 = props.renderSettings) === null || _29 === void 0 ? void 0 : _29.renderListUI) {
|
|
7537
7542
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
7538
7543
|
listReadQueryHOC,
|
|
7539
7544
|
props.renderSettings.renderListUI(actionComponent, filterComponent_1, dataComponent)));
|
|
@@ -7742,47 +7747,47 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
7742
7747
|
};
|
|
7743
7748
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
7744
7749
|
listReadQueryHOC,
|
|
7745
|
-
react_1.default.createElement("div", { className: "flex py-2 ".concat(((
|
|
7750
|
+
react_1.default.createElement("div", { className: "flex py-2 ".concat(((_30 = props.bareSettings) === null || _30 === void 0 ? void 0 : _30.bareCompactMode)
|
|
7746
7751
|
? // INFO: the grow spacer is hidden on phones (search lives in
|
|
7747
7752
|
// the floating bar), so the row itself pushes the actions right
|
|
7748
7753
|
"w-full flex-row flex-wrap sm:flex-nowrap items-end justify-between sm:justify-start"
|
|
7749
7754
|
: "flex-col md:items-end md:flex-row") },
|
|
7750
7755
|
(props.title || props.description) && (react_1.default.createElement("div", { className: "flex flex-col" },
|
|
7751
7756
|
props.title && (react_1.default.createElement("div", { className: "flex items-center gap-2" },
|
|
7752
|
-
react_1.default.createElement("p", { className: "text-xl font-medium ".concat(((
|
|
7753
|
-
((
|
|
7757
|
+
react_1.default.createElement("p", { className: "text-xl font-medium ".concat(((_31 = props.organise) === null || _31 === void 0 ? void 0 : _31.darkMode) ? "text-white" : "") }, props.title),
|
|
7758
|
+
((_32 = props.bareSettings) === null || _32 === void 0 ? void 0 : _32.bareSocketName) &&
|
|
7754
7759
|
isLive &&
|
|
7755
7760
|
!isLiveOffline && (react_1.default.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-green-100 px-2 py-0.5 text-xs font-medium text-green-700" },
|
|
7756
7761
|
react_1.default.createElement("span", { className: "h-1.5 w-1.5 rounded-full bg-green-500" }),
|
|
7757
7762
|
"LIVE")),
|
|
7758
|
-
((
|
|
7763
|
+
((_33 = props.bareSettings) === null || _33 === void 0 ? void 0 : _33.bareSocketName) && isLiveOffline && (react_1.default.createElement("span", { className: "inline-flex items-center gap-1 rounded-full bg-orange-100 px-2 py-0.5 text-xs font-medium text-orange-700" },
|
|
7759
7764
|
react_1.default.createElement("span", { className: "h-1.5 w-1.5 rounded-full bg-orange-400" }),
|
|
7760
7765
|
"OFFLINE")))),
|
|
7761
7766
|
props.description && (react_1.default.createElement("span", { className: "text-sm text-gray-500" }, props.description)))),
|
|
7762
|
-
react_1.default.createElement("div", { className: ((
|
|
7767
|
+
react_1.default.createElement("div", { className: ((_34 = props.bareSettings) === null || _34 === void 0 ? void 0 : _34.bareCompactMode)
|
|
7763
7768
|
? "hidden sm:block grow"
|
|
7764
7769
|
: "grow" }),
|
|
7765
7770
|
react_1.default.createElement("div", { className: "ml-auto flex flex-row items-end" },
|
|
7766
7771
|
renderListFilterElements(),
|
|
7767
7772
|
renderListActionElements())),
|
|
7768
7773
|
renderListNewRowFilterElements(),
|
|
7769
|
-
(schemaPresent || ((
|
|
7774
|
+
(schemaPresent || ((_35 = props.bareSettings) === null || _35 === void 0 ? void 0 : _35.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: (_36 = props.organise) === null || _36 === void 0 ? void 0 : _36.darkMode })),
|
|
7770
7775
|
renderTabContent(tabs, resolvedType, viewType),
|
|
7771
|
-
((
|
|
7772
|
-
((
|
|
7776
|
+
((_37 = props.bareSettings) === null || _37 === void 0 ? void 0 : _37.bareListMobileFloatingSearch) && (react_1.default.createElement("div", { className: "h-28 md:hidden", "aria-hidden": "true" })),
|
|
7777
|
+
((_38 = props.bareSettings) === null || _38 === void 0 ? void 0 : _38.bareListMobileFloatingSearch) &&
|
|
7773
7778
|
(0, listModule_1.renderFloatingMobileSearch)({
|
|
7774
7779
|
filterSearch: filterSearch,
|
|
7775
7780
|
handleNameSearch: handleNameSearch,
|
|
7776
7781
|
onFilterClick: function () { return setFlexFilterModalOpen(true); },
|
|
7777
|
-
hideSearch: (
|
|
7778
|
-
darkMode: (
|
|
7779
|
-
floatingOffset: (
|
|
7780
|
-
hideFilter: !((
|
|
7781
|
-
activeFilterCount: ((
|
|
7782
|
+
hideSearch: (_39 = props.organise) === null || _39 === void 0 ? void 0 : _39.hideSearch,
|
|
7783
|
+
darkMode: (_40 = props.organise) === null || _40 === void 0 ? void 0 : _40.darkMode,
|
|
7784
|
+
floatingOffset: (_41 = props.bareSettings) === null || _41 === void 0 ? void 0 : _41.bareListFloatingActionOffset,
|
|
7785
|
+
hideFilter: !((_42 = props.bareSettings) === null || _42 === void 0 ? void 0 : _42.bareFlexFilters),
|
|
7786
|
+
activeFilterCount: ((_43 = props.bareSettings) === null || _43 === void 0 ? void 0 : _43.bareFlexFilters)
|
|
7782
7787
|
? activeFlexFilterCount_1
|
|
7783
7788
|
: undefined,
|
|
7784
7789
|
// INFO: Hides when items are selected so NewTable's multi-action bar takes over.
|
|
7785
|
-
hidden: selectAll || ((
|
|
7790
|
+
hidden: selectAll || ((_44 = selectedIds === null || selectedIds === void 0 ? void 0 : selectedIds.length) !== null && _44 !== void 0 ? _44 : 0) > 0,
|
|
7786
7791
|
})));
|
|
7787
7792
|
default:
|
|
7788
7793
|
return react_1.default.createElement(react_1.default.Fragment, null);
|
|
@@ -8349,7 +8354,12 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
8349
8354
|
onUpdateData: function (rowId, columnId, data) { return __awaiter(void 0, void 0, void 0, function () {
|
|
8350
8355
|
return __generator(this, function (_a) {
|
|
8351
8356
|
switch (_a.label) {
|
|
8352
|
-
case 0:
|
|
8357
|
+
case 0:
|
|
8358
|
+
// INFO: an inline cell is reader reachable, so the write
|
|
8359
|
+
// is refused here as well as hidden by editable.active
|
|
8360
|
+
if (!canInlineUpdate)
|
|
8361
|
+
return [2 /*return*/];
|
|
8362
|
+
return [4 /*yield*/, handleSubmitData("update", rowId, columnId, data)];
|
|
8353
8363
|
case 1:
|
|
8354
8364
|
_a.sent();
|
|
8355
8365
|
return [2 /*return*/];
|
|
@@ -8485,7 +8495,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
8485
8495
|
onUpdateData: function (rowId, columnId, data) { return __awaiter(void 0, void 0, void 0, function () {
|
|
8486
8496
|
return __generator(this, function (_a) {
|
|
8487
8497
|
switch (_a.label) {
|
|
8488
|
-
case 0:
|
|
8498
|
+
case 0:
|
|
8499
|
+
if (!canInlineUpdate)
|
|
8500
|
+
return [2 /*return*/];
|
|
8501
|
+
return [4 /*yield*/, handleSubmitData("update", rowId, columnId, data)];
|
|
8489
8502
|
case 1:
|
|
8490
8503
|
_a.sent();
|
|
8491
8504
|
return [2 /*return*/];
|
|
@@ -8575,7 +8588,10 @@ exports.DataTemplate = (0, react_1.forwardRef)(function (props, ref) {
|
|
|
8575
8588
|
onUpdateData: function (rowId, columnId, data) { return __awaiter(void 0, void 0, void 0, function () {
|
|
8576
8589
|
return __generator(this, function (_a) {
|
|
8577
8590
|
switch (_a.label) {
|
|
8578
|
-
case 0:
|
|
8591
|
+
case 0:
|
|
8592
|
+
if (!canInlineUpdate)
|
|
8593
|
+
return [2 /*return*/];
|
|
8594
|
+
return [4 /*yield*/, handleSubmitData("update", rowId, columnId, data)];
|
|
8579
8595
|
case 1:
|
|
8580
8596
|
_a.sent();
|
|
8581
8597
|
return [2 /*return*/];
|