@firecms/collection_editor 3.0.0-canary.258 → 3.0.0-canary.259
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/dist/index.es.js +633 -171
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +632 -170
- package/dist/index.umd.js.map +1 -1
- package/dist/types/collection_inference.d.ts +3 -0
- package/dist/ui/EditorEntityAction.d.ts +2 -0
- package/dist/ui/collection_editor/CollectionPropertiesEditorForm.d.ts +1 -1
- package/dist/ui/collection_editor/EntityActionsEditTab.d.ts +4 -0
- package/dist/ui/collection_editor/EntityActionsSelectDialog.d.ts +4 -0
- package/package.json +8 -8
- package/src/types/collection_inference.ts +3 -0
- package/src/ui/EditorCollectionAction.tsx +2 -7
- package/src/ui/EditorEntityAction.tsx +51 -0
- package/src/ui/collection_editor/CollectionEditorDialog.tsx +17 -4
- package/src/ui/collection_editor/CollectionEditorWelcomeView.tsx +5 -0
- package/src/ui/collection_editor/CollectionPropertiesEditorForm.tsx +5 -2
- package/src/ui/collection_editor/EntityActionsEditTab.tsx +163 -0
- package/src/ui/collection_editor/EntityActionsSelectDialog.tsx +41 -0
- package/src/ui/collection_editor/EntityCustomViewsSelectDialog.tsx +5 -2
- package/src/ui/collection_editor/GetCodeDialog.tsx +5 -3
- package/src/ui/collection_editor/PropertyEditView.tsx +1 -0
- package/src/ui/collection_editor/UnsavedChangesDialog.tsx +6 -2
- package/src/useCollectionEditorPlugin.tsx +4 -0
package/dist/index.umd.js
CHANGED
|
@@ -708,14 +708,14 @@
|
|
|
708
708
|
const t76 = values.defaultSize ?? "";
|
|
709
709
|
let t77;
|
|
710
710
|
if ($[119] === Symbol.for("react.memo_cache_sentinel")) {
|
|
711
|
-
t77 = ["xs", "s", "m", "l", "xl"].map(_temp2$
|
|
711
|
+
t77 = ["xs", "s", "m", "l", "xl"].map(_temp2$8);
|
|
712
712
|
$[119] = t77;
|
|
713
713
|
} else {
|
|
714
714
|
t77 = $[119];
|
|
715
715
|
}
|
|
716
716
|
let t78;
|
|
717
717
|
if ($[120] !== handleChange || $[121] !== t76) {
|
|
718
|
-
t78 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Select, { name: "defaultSize", size: "large", fullWidth: true, label: "Default row size", position: "item-aligned", onChange: handleChange, value: t76, renderValue: _temp$
|
|
718
|
+
t78 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Select, { name: "defaultSize", size: "large", fullWidth: true, label: "Default row size", position: "item-aligned", onChange: handleChange, value: t76, renderValue: _temp$c, children: t77 }) });
|
|
719
719
|
$[120] = handleChange;
|
|
720
720
|
$[121] = t76;
|
|
721
721
|
$[122] = t78;
|
|
@@ -792,7 +792,7 @@
|
|
|
792
792
|
}
|
|
793
793
|
let t91;
|
|
794
794
|
if ($[137] !== t85 || $[138] !== t86 || $[139] !== t87) {
|
|
795
|
-
t91 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { name: "customId", label: "Document IDs generation", position: "item-aligned", size: "large", fullWidth: true, disabled: t85, onValueChange: t86, value: t87, renderValue: _temp3$
|
|
795
|
+
t91 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { name: "customId", label: "Document IDs generation", position: "item-aligned", size: "large", fullWidth: true, disabled: t85, onValueChange: t86, value: t87, renderValue: _temp3$5, children: [
|
|
796
796
|
t88,
|
|
797
797
|
t89,
|
|
798
798
|
t90
|
|
@@ -997,7 +997,7 @@
|
|
|
997
997
|
}
|
|
998
998
|
return t111;
|
|
999
999
|
}
|
|
1000
|
-
function _temp3$
|
|
1000
|
+
function _temp3$5(value_3) {
|
|
1001
1001
|
if (value_3 === "code_defined") {
|
|
1002
1002
|
return "Code defined";
|
|
1003
1003
|
} else {
|
|
@@ -1012,10 +1012,10 @@
|
|
|
1012
1012
|
}
|
|
1013
1013
|
}
|
|
1014
1014
|
}
|
|
1015
|
-
function _temp2$
|
|
1015
|
+
function _temp2$8(value_2) {
|
|
1016
1016
|
return /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: value_2, children: value_2.toUpperCase() }, `size-select-${value_2}`);
|
|
1017
1017
|
}
|
|
1018
|
-
function _temp$
|
|
1018
|
+
function _temp$c(value_1) {
|
|
1019
1019
|
return value_1.toUpperCase();
|
|
1020
1020
|
}
|
|
1021
1021
|
function DefaultDatabaseField(t0) {
|
|
@@ -1240,7 +1240,7 @@
|
|
|
1240
1240
|
inferredValues.add(enumValue_0.id);
|
|
1241
1241
|
});
|
|
1242
1242
|
setFieldValue(enumValuesPath, [...newEnumValues, ...currentEnumValues], true);
|
|
1243
|
-
}).catch(_temp$
|
|
1243
|
+
}).catch(_temp$b).finally(() => setInferring(false));
|
|
1244
1244
|
};
|
|
1245
1245
|
$[8] = enumValuesPath;
|
|
1246
1246
|
$[9] = getData;
|
|
@@ -1363,7 +1363,7 @@
|
|
|
1363
1363
|
}
|
|
1364
1364
|
return t15;
|
|
1365
1365
|
}
|
|
1366
|
-
function _temp$
|
|
1366
|
+
function _temp$b(e) {
|
|
1367
1367
|
console.error(e);
|
|
1368
1368
|
}
|
|
1369
1369
|
const EnumEntry = React.memo(function EnumEntryInternal(t0) {
|
|
@@ -2152,7 +2152,7 @@
|
|
|
2152
2152
|
t192 = $[42];
|
|
2153
2153
|
}
|
|
2154
2154
|
if ($[43] !== acceptedFiles || $[44] !== disabled || $[45] !== handleTypesChange || $[46] !== t172 || $[47] !== t182 || $[48] !== t192) {
|
|
2155
|
-
t10 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsx(ui.MultiSelect, { className: "w-full", placeholder: "All file types allowed", disabled, name: acceptedFiles, value: t172, onValueChange: handleTypesChange, label: t182, renderValues: _temp3$
|
|
2155
|
+
t10 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsx(ui.MultiSelect, { className: "w-full", placeholder: "All file types allowed", disabled, name: acceptedFiles, value: t172, onValueChange: handleTypesChange, label: t182, renderValues: _temp3$4, children: t192 }) });
|
|
2156
2156
|
$[43] = acceptedFiles;
|
|
2157
2157
|
$[44] = disabled;
|
|
2158
2158
|
$[45] = handleTypesChange;
|
|
@@ -2415,16 +2415,16 @@
|
|
|
2415
2415
|
}
|
|
2416
2416
|
return t24;
|
|
2417
2417
|
}
|
|
2418
|
-
function _temp3$
|
|
2418
|
+
function _temp3$4(selected) {
|
|
2419
2419
|
if (!selected || selected.length === 0) {
|
|
2420
2420
|
return "All file types allowed";
|
|
2421
2421
|
}
|
|
2422
|
-
return selected.map(_temp$
|
|
2422
|
+
return selected.map(_temp$a).filter(_temp2$7).join(", ");
|
|
2423
2423
|
}
|
|
2424
|
-
function _temp2$
|
|
2424
|
+
function _temp2$7(v_0) {
|
|
2425
2425
|
return Boolean(v_0);
|
|
2426
2426
|
}
|
|
2427
|
-
function _temp$
|
|
2427
|
+
function _temp$a(v) {
|
|
2428
2428
|
return fileTypes[v];
|
|
2429
2429
|
}
|
|
2430
2430
|
function editableProperty(property) {
|
|
@@ -4500,8 +4500,8 @@
|
|
|
4500
4500
|
const collections = t1;
|
|
4501
4501
|
let t2;
|
|
4502
4502
|
if ($[10] !== collections || $[11] !== disabled || $[12] !== error || $[13] !== handleChange || $[14] !== pathPath || $[15] !== props || $[16] !== value) {
|
|
4503
|
-
const groups = Array.from(new Set(Object.values(collections).map(_temp$
|
|
4504
|
-
const ungroupedCollections = collections.filter(_temp2$
|
|
4503
|
+
const groups = Array.from(new Set(Object.values(collections).map(_temp$9).filter(Boolean)).values());
|
|
4504
|
+
const ungroupedCollections = collections.filter(_temp2$6);
|
|
4505
4505
|
let t32;
|
|
4506
4506
|
if ($[18] !== collections) {
|
|
4507
4507
|
t32 = (selected) => {
|
|
@@ -4532,7 +4532,7 @@
|
|
|
4532
4532
|
}
|
|
4533
4533
|
t2 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { error: Boolean(error), disabled, value: value ?? "", position: "item-aligned", name: pathPath, size: "large", fullWidth: true, onChange: handleChange, label: "Target collection", renderValue: t32, ...props, children: [
|
|
4534
4534
|
groups.flatMap(t42),
|
|
4535
|
-
ungroupedCollections && /* @__PURE__ */ jsxRuntime.jsx(ui.SelectGroup, { label: "Views", children: ungroupedCollections.map(_temp3$
|
|
4535
|
+
ungroupedCollections && /* @__PURE__ */ jsxRuntime.jsx(ui.SelectGroup, { label: "Views", children: ungroupedCollections.map(_temp3$3) })
|
|
4536
4536
|
] });
|
|
4537
4537
|
$[10] = collections;
|
|
4538
4538
|
$[11] = disabled;
|
|
@@ -4565,16 +4565,16 @@
|
|
|
4565
4565
|
}
|
|
4566
4566
|
return t4;
|
|
4567
4567
|
}
|
|
4568
|
-
function _temp3$
|
|
4568
|
+
function _temp3$3(collection_2) {
|
|
4569
4569
|
return /* @__PURE__ */ jsxRuntime.jsx(ui.SelectItem, { value: collection_2.id ?? collection_2.path, children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row", children: [
|
|
4570
4570
|
/* @__PURE__ */ jsxRuntime.jsx(core.IconForView, { collectionOrView: collection_2 }),
|
|
4571
4571
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", className: "font-medium ml-4", children: collection_2?.name.toUpperCase() })
|
|
4572
4572
|
] }) }, collection_2.id ?? collection_2.path);
|
|
4573
4573
|
}
|
|
4574
|
-
function _temp2$
|
|
4574
|
+
function _temp2$6(col) {
|
|
4575
4575
|
return !col.group;
|
|
4576
4576
|
}
|
|
4577
|
-
function _temp$
|
|
4577
|
+
function _temp$9(e) {
|
|
4578
4578
|
return e.group;
|
|
4579
4579
|
}
|
|
4580
4580
|
function DateTimePropertyField(t0) {
|
|
@@ -4649,7 +4649,7 @@
|
|
|
4649
4649
|
}
|
|
4650
4650
|
let t10;
|
|
4651
4651
|
if ($[14] !== disabled || $[15] !== t5 || $[16] !== t6 || $[17] !== t7) {
|
|
4652
|
-
t10 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { name: "mode", value: t5, error: t6, size: "large", onValueChange: t7, label: "Mode", fullWidth: true, renderValue: _temp$
|
|
4652
|
+
t10 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { name: "mode", value: t5, error: t6, size: "large", onValueChange: t7, label: "Mode", fullWidth: true, renderValue: _temp$8, disabled, children: [
|
|
4653
4653
|
t8,
|
|
4654
4654
|
t9
|
|
4655
4655
|
] });
|
|
@@ -4710,7 +4710,7 @@
|
|
|
4710
4710
|
}
|
|
4711
4711
|
let t20;
|
|
4712
4712
|
if ($[30] !== disabled || $[31] !== t14 || $[32] !== t15 || $[33] !== t16) {
|
|
4713
|
-
t20 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { name: "autoValue", disabled, size: "large", fullWidth: true, value: t14, onValueChange: t15, renderValue: _temp2$
|
|
4713
|
+
t20 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { name: "autoValue", disabled, size: "large", fullWidth: true, value: t14, onValueChange: t15, renderValue: _temp2$5, error: t16, label: "Automatic value", children: [
|
|
4714
4714
|
t17,
|
|
4715
4715
|
t18,
|
|
4716
4716
|
t19
|
|
@@ -4780,7 +4780,7 @@
|
|
|
4780
4780
|
}
|
|
4781
4781
|
return t27;
|
|
4782
4782
|
}
|
|
4783
|
-
function _temp2$
|
|
4783
|
+
function _temp2$5(v_2) {
|
|
4784
4784
|
switch (v_2) {
|
|
4785
4785
|
case "on_create": {
|
|
4786
4786
|
return "On create";
|
|
@@ -4793,7 +4793,7 @@
|
|
|
4793
4793
|
}
|
|
4794
4794
|
}
|
|
4795
4795
|
}
|
|
4796
|
-
function _temp$
|
|
4796
|
+
function _temp$8(v_0) {
|
|
4797
4797
|
switch (v_0) {
|
|
4798
4798
|
case "date_time": {
|
|
4799
4799
|
return "Date/Time";
|
|
@@ -5124,7 +5124,7 @@
|
|
|
5124
5124
|
}
|
|
5125
5125
|
let t8;
|
|
5126
5126
|
if ($[8] !== disabled || $[9] !== t2 || $[10] !== t3) {
|
|
5127
|
-
t8 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { disabled, position: "item-aligned", fullWidth: true, onValueChange: t2, label: "Preview type", renderValue: _temp$
|
|
5127
|
+
t8 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "col-span-12", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Select, { disabled, position: "item-aligned", fullWidth: true, onValueChange: t2, label: "Preview type", renderValue: _temp$7, value: t3, children: [
|
|
5128
5128
|
t4,
|
|
5129
5129
|
t5,
|
|
5130
5130
|
t6,
|
|
@@ -5190,7 +5190,7 @@
|
|
|
5190
5190
|
}
|
|
5191
5191
|
return t13;
|
|
5192
5192
|
}
|
|
5193
|
-
function _temp$
|
|
5193
|
+
function _temp$7(value_0) {
|
|
5194
5194
|
switch (value_0) {
|
|
5195
5195
|
case "image": {
|
|
5196
5196
|
return "Image";
|
|
@@ -5830,7 +5830,7 @@
|
|
|
5830
5830
|
}
|
|
5831
5831
|
let t7;
|
|
5832
5832
|
if ($[20] !== onCancel) {
|
|
5833
|
-
t7 = onCancel && /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", onClick: () => {
|
|
5833
|
+
t7 = onCancel && /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", color: "primary", onClick: () => {
|
|
5834
5834
|
onCancel();
|
|
5835
5835
|
formexRef.current?.resetForm();
|
|
5836
5836
|
}, children: "Cancel" });
|
|
@@ -6486,7 +6486,7 @@
|
|
|
6486
6486
|
let t6;
|
|
6487
6487
|
if ($[0] !== disabled || $[1] !== existing || $[2] !== inArray || $[3] !== initialProperty || $[4] !== onOpenChange || $[5] !== onValueChange || $[6] !== open || $[7] !== propertyConfigs || $[8] !== value) {
|
|
6488
6488
|
const allSupportedFields = Object.entries(supportedFields).concat(Object.entries(propertyConfigs));
|
|
6489
|
-
const displayedWidgets = (inArray ? allSupportedFields.filter(_temp$
|
|
6489
|
+
const displayedWidgets = (inArray ? allSupportedFields.filter(_temp$6) : allSupportedFields).map(_temp2$4).reduce(_temp3$2, {});
|
|
6490
6490
|
const key_0 = value;
|
|
6491
6491
|
const propertyConfig_1 = key_0 ? core.DEFAULT_FIELD_CONFIGS[key_0] ?? propertyConfigs[key_0] : void 0;
|
|
6492
6492
|
const baseProperty = propertyConfig_1?.property;
|
|
@@ -6668,19 +6668,19 @@
|
|
|
6668
6668
|
}
|
|
6669
6669
|
return "Custom/Other";
|
|
6670
6670
|
}
|
|
6671
|
-
function _temp3$
|
|
6671
|
+
function _temp3$2(a, b) {
|
|
6672
6672
|
return {
|
|
6673
6673
|
...a,
|
|
6674
6674
|
...b
|
|
6675
6675
|
};
|
|
6676
6676
|
}
|
|
6677
|
-
function _temp2$
|
|
6677
|
+
function _temp2$4(t0) {
|
|
6678
6678
|
const [key, propertyConfig_0] = t0;
|
|
6679
6679
|
return {
|
|
6680
6680
|
[key]: propertyConfig_0
|
|
6681
6681
|
};
|
|
6682
6682
|
}
|
|
6683
|
-
function _temp$
|
|
6683
|
+
function _temp$6(t0) {
|
|
6684
6684
|
const [, propertyConfig] = t0;
|
|
6685
6685
|
return !core.isPropertyBuilder(propertyConfig.property) && propertyConfig.property?.dataType !== "array";
|
|
6686
6686
|
}
|
|
@@ -6828,7 +6828,7 @@
|
|
|
6828
6828
|
if ($[3] !== code) {
|
|
6829
6829
|
t3 = /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogContent, { children: [
|
|
6830
6830
|
t2,
|
|
6831
|
-
/* @__PURE__ */ jsxRuntime.jsx(prismReactRenderer.Highlight, { theme: prismReactRenderer.themes.vsDark, code, language: "typescript", children: _temp$
|
|
6831
|
+
/* @__PURE__ */ jsxRuntime.jsx(prismReactRenderer.Highlight, { theme: prismReactRenderer.themes.vsDark, code, language: "typescript", children: _temp$5 })
|
|
6832
6832
|
] });
|
|
6833
6833
|
$[3] = code;
|
|
6834
6834
|
$[4] = t3;
|
|
@@ -6842,7 +6842,7 @@
|
|
|
6842
6842
|
e.preventDefault();
|
|
6843
6843
|
snackbarController.open({
|
|
6844
6844
|
type: "success",
|
|
6845
|
-
message:
|
|
6845
|
+
message: "Copied"
|
|
6846
6846
|
});
|
|
6847
6847
|
return navigator.clipboard.writeText(code);
|
|
6848
6848
|
};
|
|
@@ -6861,7 +6861,7 @@
|
|
|
6861
6861
|
}
|
|
6862
6862
|
let t6;
|
|
6863
6863
|
if ($[9] !== t4) {
|
|
6864
|
-
t6 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", size: "small", onClick: t4, children: [
|
|
6864
|
+
t6 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", size: "small", color: "primary", onClick: t4, children: [
|
|
6865
6865
|
t5,
|
|
6866
6866
|
"Copy to clipboard"
|
|
6867
6867
|
] });
|
|
@@ -6908,7 +6908,7 @@
|
|
|
6908
6908
|
}
|
|
6909
6909
|
return t9;
|
|
6910
6910
|
}
|
|
6911
|
-
function _temp$
|
|
6911
|
+
function _temp$5(t0) {
|
|
6912
6912
|
const {
|
|
6913
6913
|
style,
|
|
6914
6914
|
tokens,
|
|
@@ -7021,6 +7021,7 @@
|
|
|
7021
7021
|
const inferPropertiesFromData = doCollectionInference ? () => {
|
|
7022
7022
|
if (!doCollectionInference) return;
|
|
7023
7023
|
setInferringProperties(true);
|
|
7024
|
+
console.debug("CollectionEditor: inferring properties from data", doCollectionInference, values);
|
|
7024
7025
|
doCollectionInference(values).then((newCollection) => {
|
|
7025
7026
|
if (newCollection) core.makePropertiesEditable(newCollection.properties);
|
|
7026
7027
|
if (!newCollection) {
|
|
@@ -7177,7 +7178,7 @@
|
|
|
7177
7178
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "ml-1 mt-2 flex flex-row gap-2", children: [
|
|
7178
7179
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { title: "Get the code for this collection", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { variant: "filled", disabled: inferringProperties, onClick: () => setCodeDialogOpen(true), children: /* @__PURE__ */ jsxRuntime.jsx(ui.CodeIcon, {}) }) }),
|
|
7179
7180
|
inferPropertiesFromData && /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { title: "Add new properties based on data", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { variant: "filled", disabled: inferringProperties, onClick: inferPropertiesFromData, children: inferringProperties ? /* @__PURE__ */ jsxRuntime.jsx(ui.CircularProgress, { size: "small" }) : /* @__PURE__ */ jsxRuntime.jsx(ui.AutorenewIcon, {}) }) }),
|
|
7180
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { title: "Add new property", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outlined", onClick: () => setNewPropertyDialogOpen(true), children: /* @__PURE__ */ jsxRuntime.jsx(ui.AddIcon, {}) }) })
|
|
7181
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { title: "Add new property", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outlined", color: "primary", onClick: () => setNewPropertyDialogOpen(true), children: /* @__PURE__ */ jsxRuntime.jsx(ui.AddIcon, {}) }) })
|
|
7181
7182
|
] })
|
|
7182
7183
|
] }),
|
|
7183
7184
|
/* @__PURE__ */ jsxRuntime.jsx(core.ErrorBoundary, { children: /* @__PURE__ */ jsxRuntime.jsx(PropertyTree, { className: "pl-8", inferredPropertyKeys, selectedPropertyKey: selectedPropertyKey ? getFullId(selectedPropertyKey, selectedPropertyNamespace) : void 0, properties: values.properties, additionalFields: values.additionalFields, propertiesOrder: usedPropertiesOrder, onPropertyClick, onPropertyMove, onPropertyRemove: isNewCollection ? deleteProperty : void 0, collectionEditable, errors }) }),
|
|
@@ -7187,7 +7188,7 @@
|
|
|
7187
7188
|
selectedPropertyFullId && selectedProperty && !core.isPropertyBuilder(selectedProperty) && /* @__PURE__ */ jsxRuntime.jsx(PropertyForm, { inArray: false, existingProperty: !isNewCollection, autoUpdateId: false, allowDataInference: !isNewCollection, autoOpenTypeSelect: false, propertyKey: selectedPropertyKey, propertyNamespace: selectedPropertyNamespace, property: selectedProperty, onPropertyChanged, onDelete: deleteProperty, onError: onPropertyErrorInternal, forceShowErrors: showErrors, initialErrors, getData, propertyConfigs, collectionEditable }, `edit_view_${selectedPropertyIndex}`),
|
|
7188
7189
|
!selectedProperty && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full flex flex-col items-center justify-center h-full gap-4", children: [
|
|
7189
7190
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "label", className: "", children: emptyCollection ? "Now you can add your first property" : "Select a property to edit it" }),
|
|
7190
|
-
/* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "outlined", onClick: () => setNewPropertyDialogOpen(true), children: [
|
|
7191
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "outlined", color: "primary", onClick: () => setNewPropertyDialogOpen(true), children: [
|
|
7191
7192
|
/* @__PURE__ */ jsxRuntime.jsx(ui.AddIcon, {}),
|
|
7192
7193
|
"Add new property"
|
|
7193
7194
|
] })
|
|
@@ -7257,7 +7258,7 @@
|
|
|
7257
7258
|
}
|
|
7258
7259
|
let t7;
|
|
7259
7260
|
if ($[10] !== handleCancel) {
|
|
7260
|
-
t7 = /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", onClick: handleCancel, autoFocus: true, children: " Cancel " });
|
|
7261
|
+
t7 = /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", color: "primary", onClick: handleCancel, autoFocus: true, children: " Cancel " });
|
|
7261
7262
|
$[10] = handleCancel;
|
|
7262
7263
|
$[11] = t7;
|
|
7263
7264
|
} else {
|
|
@@ -7265,7 +7266,7 @@
|
|
|
7265
7266
|
}
|
|
7266
7267
|
let t8;
|
|
7267
7268
|
if ($[12] !== handleOk) {
|
|
7268
|
-
t8 = /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { onClick: handleOk, children: " Ok " });
|
|
7269
|
+
t8 = /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { color: "primary", onClick: handleOk, children: " Ok " });
|
|
7269
7270
|
$[12] = handleOk;
|
|
7270
7271
|
$[13] = t8;
|
|
7271
7272
|
} else {
|
|
@@ -7333,7 +7334,7 @@
|
|
|
7333
7334
|
}
|
|
7334
7335
|
let t3;
|
|
7335
7336
|
if ($[4] !== entityViews) {
|
|
7336
|
-
t3 = (entityViews ?? []).length === 0 && /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "body2", children: "No custom views defined" });
|
|
7337
|
+
t3 = (entityViews ?? []).length === 0 && /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "body2", children: "No custom views defined. Define your custom views in the customization settings, before using this dialog." });
|
|
7337
7338
|
$[4] = entityViews;
|
|
7338
7339
|
$[5] = t3;
|
|
7339
7340
|
} else {
|
|
@@ -7353,7 +7354,7 @@
|
|
|
7353
7354
|
}
|
|
7354
7355
|
let t5;
|
|
7355
7356
|
if ($[9] !== onClose) {
|
|
7356
|
-
t5 = /* @__PURE__ */ jsxRuntime.jsx(ui.DialogActions, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outlined", onClick: () => onClose(), children: "Cancel" }) });
|
|
7357
|
+
t5 = /* @__PURE__ */ jsxRuntime.jsx(ui.DialogActions, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outlined", color: "primary", onClick: () => onClose(), children: "Cancel" }) });
|
|
7357
7358
|
$[9] = onClose;
|
|
7358
7359
|
$[10] = t5;
|
|
7359
7360
|
} else {
|
|
@@ -7420,8 +7421,8 @@
|
|
|
7420
7421
|
let t8;
|
|
7421
7422
|
let t9;
|
|
7422
7423
|
if ($[2] !== collection.entityViews || $[3] !== contextEntityViews || $[4] !== subcollections || $[5] !== values.entityViews || $[6] !== values.name) {
|
|
7423
|
-
const resolvedEntityViews = values.entityViews?.filter(_temp$
|
|
7424
|
-
const hardCodedEntityViews = collection.entityViews?.filter(_temp2$
|
|
7424
|
+
const resolvedEntityViews = values.entityViews?.filter(_temp$4).map((e_0) => core.resolveEntityView(e_0, contextEntityViews)).filter(Boolean) ?? [];
|
|
7425
|
+
const hardCodedEntityViews = collection.entityViews?.filter(_temp2$3) ?? [];
|
|
7425
7426
|
const totalEntityViews = resolvedEntityViews.length + hardCodedEntityViews.length;
|
|
7426
7427
|
t12 = "overflow-auto my-auto";
|
|
7427
7428
|
T3 = ui.Container;
|
|
@@ -7530,7 +7531,7 @@
|
|
|
7530
7531
|
t182 = $[36];
|
|
7531
7532
|
}
|
|
7532
7533
|
t2 = resolvedEntityViews.map(t182);
|
|
7533
|
-
t3 = hardCodedEntityViews.map(_temp3);
|
|
7534
|
+
t3 = hardCodedEntityViews.map(_temp3$1);
|
|
7534
7535
|
$[2] = collection.entityViews;
|
|
7535
7536
|
$[3] = contextEntityViews;
|
|
7536
7537
|
$[4] = subcollections;
|
|
@@ -7804,7 +7805,7 @@
|
|
|
7804
7805
|
function _temp4(e_6) {
|
|
7805
7806
|
return e_6.id;
|
|
7806
7807
|
}
|
|
7807
|
-
function _temp3(view_0) {
|
|
7808
|
+
function _temp3$1(view_0) {
|
|
7808
7809
|
return /* @__PURE__ */ jsxRuntime.jsx(ui.TableRow, { children: /* @__PURE__ */ jsxRuntime.jsxs(ui.TableCell, { align: "left", children: [
|
|
7809
7810
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", className: "flex-grow", children: view_0.name }),
|
|
7810
7811
|
/* @__PURE__ */ jsxRuntime.jsxs(ui.Typography, { variant: "caption", className: "flex-grow", children: [
|
|
@@ -7813,10 +7814,10 @@
|
|
|
7813
7814
|
] })
|
|
7814
7815
|
] }) }, view_0.key);
|
|
7815
7816
|
}
|
|
7816
|
-
function _temp2$
|
|
7817
|
+
function _temp2$3(e_1) {
|
|
7817
7818
|
return typeof e_1 !== "string";
|
|
7818
7819
|
}
|
|
7819
|
-
function _temp$
|
|
7820
|
+
function _temp$4(e) {
|
|
7820
7821
|
return typeof e === "string";
|
|
7821
7822
|
}
|
|
7822
7823
|
const productsCollectionTemplate = {
|
|
@@ -8258,7 +8259,7 @@
|
|
|
8258
8259
|
}
|
|
8259
8260
|
};
|
|
8260
8261
|
function CollectionEditorWelcomeView(t0) {
|
|
8261
|
-
const $ = reactCompilerRuntime.c(
|
|
8262
|
+
const $ = reactCompilerRuntime.c(56);
|
|
8262
8263
|
const {
|
|
8263
8264
|
path,
|
|
8264
8265
|
pathSuggestions,
|
|
@@ -8350,162 +8351,173 @@
|
|
|
8350
8351
|
t7 = $[15];
|
|
8351
8352
|
}
|
|
8352
8353
|
let t8;
|
|
8353
|
-
if ($[16] !==
|
|
8354
|
-
t8 = /* @__PURE__ */ jsxRuntime.
|
|
8355
|
-
|
|
8356
|
-
|
|
8357
|
-
t6,
|
|
8358
|
-
t7
|
|
8359
|
-
] })
|
|
8360
|
-
] });
|
|
8361
|
-
$[16] = t6;
|
|
8362
|
-
$[17] = t7;
|
|
8354
|
+
if ($[16] !== filteredPathSuggestions || $[17] !== loadingPathSuggestions) {
|
|
8355
|
+
t8 = (filteredPathSuggestions ?? []).length === 0 && !loadingPathSuggestions && /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "caption", color: "secondary", children: "No existing paths found" });
|
|
8356
|
+
$[16] = filteredPathSuggestions;
|
|
8357
|
+
$[17] = loadingPathSuggestions;
|
|
8363
8358
|
$[18] = t8;
|
|
8364
8359
|
} else {
|
|
8365
8360
|
t8 = $[18];
|
|
8366
8361
|
}
|
|
8367
8362
|
let t9;
|
|
8368
|
-
if ($[19]
|
|
8369
|
-
t9 = /* @__PURE__ */ jsxRuntime.
|
|
8370
|
-
|
|
8363
|
+
if ($[19] !== t6 || $[20] !== t7 || $[21] !== t8) {
|
|
8364
|
+
t9 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "my-2", children: [
|
|
8365
|
+
t5,
|
|
8366
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap gap-x-2 gap-y-1 items-center my-2 min-h-7", children: [
|
|
8367
|
+
t6,
|
|
8368
|
+
t7,
|
|
8369
|
+
t8
|
|
8370
|
+
] })
|
|
8371
|
+
] });
|
|
8372
|
+
$[19] = t6;
|
|
8373
|
+
$[20] = t7;
|
|
8374
|
+
$[21] = t8;
|
|
8375
|
+
$[22] = t9;
|
|
8371
8376
|
} else {
|
|
8372
|
-
t9 = $[
|
|
8377
|
+
t9 = $[22];
|
|
8373
8378
|
}
|
|
8374
8379
|
let t10;
|
|
8375
|
-
if ($[
|
|
8376
|
-
t10 = /* @__PURE__ */ jsxRuntime.jsx(ui.
|
|
8377
|
-
$[
|
|
8380
|
+
if ($[23] === Symbol.for("react.memo_cache_sentinel")) {
|
|
8381
|
+
t10 = /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "caption", color: "secondary", children: "● Select a template:" });
|
|
8382
|
+
$[23] = t10;
|
|
8378
8383
|
} else {
|
|
8379
|
-
t10 = $[
|
|
8384
|
+
t10 = $[23];
|
|
8380
8385
|
}
|
|
8381
8386
|
let t11;
|
|
8382
|
-
if ($[21] !== onContinue || $[22] !== setValues) {
|
|
8383
|
-
t11 = /* @__PURE__ */ jsxRuntime.jsx(TemplateButton, { title: "Products", subtitle: "A collection of products with images, prices and stock", icon: t10, onClick: () => {
|
|
8384
|
-
setValues(productsCollectionTemplate);
|
|
8385
|
-
onContinue();
|
|
8386
|
-
} });
|
|
8387
|
-
$[21] = onContinue;
|
|
8388
|
-
$[22] = setValues;
|
|
8389
|
-
$[23] = t11;
|
|
8390
|
-
} else {
|
|
8391
|
-
t11 = $[23];
|
|
8392
|
-
}
|
|
8393
|
-
let t12;
|
|
8394
8387
|
if ($[24] === Symbol.for("react.memo_cache_sentinel")) {
|
|
8395
|
-
|
|
8396
|
-
$[24] =
|
|
8388
|
+
t11 = /* @__PURE__ */ jsxRuntime.jsx(ui.Icon, { size: "small", iconKey: productsCollectionTemplate.icon });
|
|
8389
|
+
$[24] = t11;
|
|
8397
8390
|
} else {
|
|
8398
|
-
|
|
8391
|
+
t11 = $[24];
|
|
8399
8392
|
}
|
|
8400
|
-
let
|
|
8393
|
+
let t12;
|
|
8401
8394
|
if ($[25] !== onContinue || $[26] !== setValues) {
|
|
8402
|
-
|
|
8403
|
-
setValues(
|
|
8395
|
+
t12 = /* @__PURE__ */ jsxRuntime.jsx(TemplateButton, { title: "Products", subtitle: "A collection of products with images, prices and stock", icon: t11, onClick: () => {
|
|
8396
|
+
setValues(productsCollectionTemplate);
|
|
8404
8397
|
onContinue();
|
|
8405
8398
|
} });
|
|
8406
8399
|
$[25] = onContinue;
|
|
8407
8400
|
$[26] = setValues;
|
|
8408
|
-
$[27] =
|
|
8401
|
+
$[27] = t12;
|
|
8409
8402
|
} else {
|
|
8410
|
-
|
|
8403
|
+
t12 = $[27];
|
|
8411
8404
|
}
|
|
8412
|
-
let
|
|
8405
|
+
let t13;
|
|
8413
8406
|
if ($[28] === Symbol.for("react.memo_cache_sentinel")) {
|
|
8414
|
-
|
|
8415
|
-
$[28] =
|
|
8407
|
+
t13 = /* @__PURE__ */ jsxRuntime.jsx(ui.Icon, { size: "small", iconKey: usersCollectionTemplate.icon });
|
|
8408
|
+
$[28] = t13;
|
|
8416
8409
|
} else {
|
|
8417
|
-
|
|
8410
|
+
t13 = $[28];
|
|
8418
8411
|
}
|
|
8419
|
-
let
|
|
8412
|
+
let t14;
|
|
8420
8413
|
if ($[29] !== onContinue || $[30] !== setValues) {
|
|
8421
|
-
|
|
8422
|
-
setValues(
|
|
8414
|
+
t14 = /* @__PURE__ */ jsxRuntime.jsx(TemplateButton, { title: "Users", subtitle: "A collection of users with emails, names and roles", icon: t13, onClick: () => {
|
|
8415
|
+
setValues(usersCollectionTemplate);
|
|
8423
8416
|
onContinue();
|
|
8424
8417
|
} });
|
|
8425
8418
|
$[29] = onContinue;
|
|
8426
8419
|
$[30] = setValues;
|
|
8427
|
-
$[31] =
|
|
8420
|
+
$[31] = t14;
|
|
8428
8421
|
} else {
|
|
8429
|
-
|
|
8422
|
+
t14 = $[31];
|
|
8430
8423
|
}
|
|
8431
|
-
let
|
|
8424
|
+
let t15;
|
|
8432
8425
|
if ($[32] === Symbol.for("react.memo_cache_sentinel")) {
|
|
8433
|
-
|
|
8434
|
-
$[32] =
|
|
8426
|
+
t15 = /* @__PURE__ */ jsxRuntime.jsx(ui.Icon, { size: "small", iconKey: blogCollectionTemplate.icon });
|
|
8427
|
+
$[32] = t15;
|
|
8435
8428
|
} else {
|
|
8436
|
-
|
|
8429
|
+
t15 = $[32];
|
|
8437
8430
|
}
|
|
8438
|
-
let
|
|
8431
|
+
let t16;
|
|
8439
8432
|
if ($[33] !== onContinue || $[34] !== setValues) {
|
|
8440
|
-
|
|
8441
|
-
setValues(
|
|
8433
|
+
t16 = /* @__PURE__ */ jsxRuntime.jsx(TemplateButton, { title: "Blog posts", subtitle: "A collection of blog posts with images, authors and complex content", icon: t15, onClick: () => {
|
|
8434
|
+
setValues(blogCollectionTemplate);
|
|
8442
8435
|
onContinue();
|
|
8443
8436
|
} });
|
|
8444
8437
|
$[33] = onContinue;
|
|
8445
8438
|
$[34] = setValues;
|
|
8446
|
-
$[35] =
|
|
8439
|
+
$[35] = t16;
|
|
8440
|
+
} else {
|
|
8441
|
+
t16 = $[35];
|
|
8442
|
+
}
|
|
8443
|
+
let t17;
|
|
8444
|
+
if ($[36] === Symbol.for("react.memo_cache_sentinel")) {
|
|
8445
|
+
t17 = /* @__PURE__ */ jsxRuntime.jsx(ui.Icon, { size: "small", iconKey: pagesCollectionTemplate.icon });
|
|
8446
|
+
$[36] = t17;
|
|
8447
8447
|
} else {
|
|
8448
|
-
t17 = $[
|
|
8448
|
+
t17 = $[36];
|
|
8449
8449
|
}
|
|
8450
8450
|
let t18;
|
|
8451
|
-
if ($[
|
|
8452
|
-
t18 = /* @__PURE__ */ jsxRuntime.
|
|
8453
|
-
|
|
8451
|
+
if ($[37] !== onContinue || $[38] !== setValues) {
|
|
8452
|
+
t18 = /* @__PURE__ */ jsxRuntime.jsx(TemplateButton, { title: "Pages", subtitle: "A collection of pages with images, authors and complex content", icon: t17, onClick: () => {
|
|
8453
|
+
setValues(pagesCollectionTemplate);
|
|
8454
|
+
onContinue();
|
|
8455
|
+
} });
|
|
8456
|
+
$[37] = onContinue;
|
|
8457
|
+
$[38] = setValues;
|
|
8458
|
+
$[39] = t18;
|
|
8459
|
+
} else {
|
|
8460
|
+
t18 = $[39];
|
|
8461
|
+
}
|
|
8462
|
+
let t19;
|
|
8463
|
+
if ($[40] !== t12 || $[41] !== t14 || $[42] !== t16 || $[43] !== t18) {
|
|
8464
|
+
t19 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "my-2", children: [
|
|
8465
|
+
t10,
|
|
8454
8466
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-4", children: [
|
|
8455
|
-
|
|
8456
|
-
|
|
8457
|
-
|
|
8458
|
-
|
|
8467
|
+
t12,
|
|
8468
|
+
t14,
|
|
8469
|
+
t16,
|
|
8470
|
+
t18
|
|
8459
8471
|
] })
|
|
8460
8472
|
] });
|
|
8461
|
-
$[
|
|
8462
|
-
$[
|
|
8463
|
-
$[
|
|
8464
|
-
$[
|
|
8465
|
-
$[
|
|
8473
|
+
$[40] = t12;
|
|
8474
|
+
$[41] = t14;
|
|
8475
|
+
$[42] = t16;
|
|
8476
|
+
$[43] = t18;
|
|
8477
|
+
$[44] = t19;
|
|
8466
8478
|
} else {
|
|
8467
|
-
|
|
8479
|
+
t19 = $[44];
|
|
8468
8480
|
}
|
|
8469
|
-
let
|
|
8470
|
-
if ($[
|
|
8471
|
-
|
|
8481
|
+
let t20;
|
|
8482
|
+
if ($[45] !== onContinue || $[46] !== parentCollection) {
|
|
8483
|
+
t20 = !parentCollection && /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
8472
8484
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "caption", color: "secondary", className: "mb-2", children: "● Create a collection from a file (csv, json, xls, xslx...)" }),
|
|
8473
8485
|
/* @__PURE__ */ jsxRuntime.jsx(data_import_export.ImportFileUpload, { onDataAdded: (data, propertiesOrder) => onContinue(data, propertiesOrder) })
|
|
8474
8486
|
] });
|
|
8475
|
-
$[
|
|
8476
|
-
$[
|
|
8477
|
-
$[
|
|
8487
|
+
$[45] = onContinue;
|
|
8488
|
+
$[46] = parentCollection;
|
|
8489
|
+
$[47] = t20;
|
|
8478
8490
|
} else {
|
|
8479
|
-
|
|
8491
|
+
t20 = $[47];
|
|
8480
8492
|
}
|
|
8481
|
-
let
|
|
8482
|
-
if ($[
|
|
8483
|
-
|
|
8484
|
-
$[
|
|
8485
|
-
$[
|
|
8493
|
+
let t21;
|
|
8494
|
+
if ($[48] !== onContinue) {
|
|
8495
|
+
t21 = /* @__PURE__ */ jsxRuntime.jsx("div", { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", onClick: () => onContinue(), className: "my-2", children: "Continue from scratch" }) });
|
|
8496
|
+
$[48] = onContinue;
|
|
8497
|
+
$[49] = t21;
|
|
8486
8498
|
} else {
|
|
8487
|
-
|
|
8499
|
+
t21 = $[49];
|
|
8488
8500
|
}
|
|
8489
|
-
let
|
|
8490
|
-
if ($[
|
|
8491
|
-
|
|
8501
|
+
let t22;
|
|
8502
|
+
if ($[50] !== t19 || $[51] !== t20 || $[52] !== t21 || $[53] !== t4 || $[54] !== t9) {
|
|
8503
|
+
t22 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "overflow-auto my-auto", children: /* @__PURE__ */ jsxRuntime.jsxs(ui.Container, { maxWidth: "4xl", className: "flex flex-col gap-4 p-8 m-auto", children: [
|
|
8492
8504
|
t3,
|
|
8493
8505
|
t4,
|
|
8494
|
-
|
|
8495
|
-
t18,
|
|
8506
|
+
t9,
|
|
8496
8507
|
t19,
|
|
8497
|
-
t20
|
|
8508
|
+
t20,
|
|
8509
|
+
t21
|
|
8498
8510
|
] }) });
|
|
8499
|
-
$[
|
|
8500
|
-
$[
|
|
8501
|
-
$[
|
|
8502
|
-
$[
|
|
8503
|
-
$[
|
|
8504
|
-
$[
|
|
8511
|
+
$[50] = t19;
|
|
8512
|
+
$[51] = t20;
|
|
8513
|
+
$[52] = t21;
|
|
8514
|
+
$[53] = t4;
|
|
8515
|
+
$[54] = t9;
|
|
8516
|
+
$[55] = t22;
|
|
8505
8517
|
} else {
|
|
8506
|
-
|
|
8518
|
+
t22 = $[55];
|
|
8507
8519
|
}
|
|
8508
|
-
return
|
|
8520
|
+
return t22;
|
|
8509
8521
|
}
|
|
8510
8522
|
function TemplateButton(t0) {
|
|
8511
8523
|
const $ = reactCompilerRuntime.c(10);
|
|
@@ -8606,7 +8618,7 @@
|
|
|
8606
8618
|
const previousFullId = getFullId(previousId, namespace);
|
|
8607
8619
|
const previousPropertyPath = idToPropertiesPath(previousFullId);
|
|
8608
8620
|
const currentPropertiesOrder = getCurrentPropertiesOrder(namespace);
|
|
8609
|
-
const newPropertiesOrder_0 = currentPropertiesOrder.map((p) => p === previousId ? id : p).filter(_temp$
|
|
8621
|
+
const newPropertiesOrder_0 = currentPropertiesOrder.map((p) => p === previousId ? id : p).filter(_temp$3);
|
|
8610
8622
|
updatePropertiesOrder(newPropertiesOrder_0, namespace);
|
|
8611
8623
|
const newHeadersMapping = {
|
|
8612
8624
|
...importConfig.headersMapping
|
|
@@ -8772,7 +8784,7 @@
|
|
|
8772
8784
|
}
|
|
8773
8785
|
return t13;
|
|
8774
8786
|
}
|
|
8775
|
-
function _temp$
|
|
8787
|
+
function _temp$3(p_0) {
|
|
8776
8788
|
return p_0 !== void 0;
|
|
8777
8789
|
}
|
|
8778
8790
|
function PropertySelect(t0) {
|
|
@@ -8845,7 +8857,7 @@
|
|
|
8845
8857
|
}
|
|
8846
8858
|
let t9;
|
|
8847
8859
|
if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
8848
|
-
t9 = Object.entries(supportedFields).map(_temp2$
|
|
8860
|
+
t9 = Object.entries(supportedFields).map(_temp2$2);
|
|
8849
8861
|
$[12] = t9;
|
|
8850
8862
|
} else {
|
|
8851
8863
|
t9 = $[12];
|
|
@@ -8875,7 +8887,7 @@
|
|
|
8875
8887
|
}
|
|
8876
8888
|
return t11;
|
|
8877
8889
|
}
|
|
8878
|
-
function _temp2$
|
|
8890
|
+
function _temp2$2(t0) {
|
|
8879
8891
|
const [key, widget_0] = t0;
|
|
8880
8892
|
return /* @__PURE__ */ jsxRuntime.jsx(PropertySelectItem, { value: key, optionDisabled: false, propertyConfig: widget_0, existing: false }, key);
|
|
8881
8893
|
}
|
|
@@ -9041,7 +9053,7 @@
|
|
|
9041
9053
|
}
|
|
9042
9054
|
let t7;
|
|
9043
9055
|
if ($[12] !== propertiesOrder) {
|
|
9044
|
-
t7 = propertiesOrder.map(_temp$
|
|
9056
|
+
t7 = propertiesOrder.map(_temp$2);
|
|
9045
9057
|
$[12] = propertiesOrder;
|
|
9046
9058
|
$[13] = t7;
|
|
9047
9059
|
} else {
|
|
@@ -9060,7 +9072,7 @@
|
|
|
9060
9072
|
}
|
|
9061
9073
|
return t8;
|
|
9062
9074
|
}
|
|
9063
|
-
function _temp$
|
|
9075
|
+
function _temp$2(p) {
|
|
9064
9076
|
return {
|
|
9065
9077
|
key: p,
|
|
9066
9078
|
disabled: false
|
|
@@ -9114,6 +9126,355 @@
|
|
|
9114
9126
|
idColumn
|
|
9115
9127
|
};
|
|
9116
9128
|
}
|
|
9129
|
+
function EntityActionsSelectDialog(t0) {
|
|
9130
|
+
const $ = reactCompilerRuntime.c(15);
|
|
9131
|
+
const {
|
|
9132
|
+
open,
|
|
9133
|
+
onClose
|
|
9134
|
+
} = t0;
|
|
9135
|
+
const {
|
|
9136
|
+
entityActions
|
|
9137
|
+
} = core.useCustomizationController();
|
|
9138
|
+
let t1;
|
|
9139
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
9140
|
+
t1 = /* @__PURE__ */ jsxRuntime.jsx(ui.DialogTitle, { children: "Select custom action" });
|
|
9141
|
+
$[0] = t1;
|
|
9142
|
+
} else {
|
|
9143
|
+
t1 = $[0];
|
|
9144
|
+
}
|
|
9145
|
+
let t2;
|
|
9146
|
+
if ($[1] !== entityActions || $[2] !== onClose) {
|
|
9147
|
+
t2 = entityActions?.map((action) => /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { onClick: () => onClose(action.key), fullWidth: true, variant: "text", children: [
|
|
9148
|
+
action.name,
|
|
9149
|
+
" (",
|
|
9150
|
+
action.key,
|
|
9151
|
+
")"
|
|
9152
|
+
] }, action.key));
|
|
9153
|
+
$[1] = entityActions;
|
|
9154
|
+
$[2] = onClose;
|
|
9155
|
+
$[3] = t2;
|
|
9156
|
+
} else {
|
|
9157
|
+
t2 = $[3];
|
|
9158
|
+
}
|
|
9159
|
+
let t3;
|
|
9160
|
+
if ($[4] !== entityActions) {
|
|
9161
|
+
t3 = (entityActions ?? []).length === 0 && /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "body2", children: "No custom actions defined. Define your custom actions in the customization settings, before using this dialog." });
|
|
9162
|
+
$[4] = entityActions;
|
|
9163
|
+
$[5] = t3;
|
|
9164
|
+
} else {
|
|
9165
|
+
t3 = $[5];
|
|
9166
|
+
}
|
|
9167
|
+
let t4;
|
|
9168
|
+
if ($[6] !== t2 || $[7] !== t3) {
|
|
9169
|
+
t4 = /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogContent, { className: "flex flex-col gap-4", children: [
|
|
9170
|
+
t2,
|
|
9171
|
+
t3
|
|
9172
|
+
] });
|
|
9173
|
+
$[6] = t2;
|
|
9174
|
+
$[7] = t3;
|
|
9175
|
+
$[8] = t4;
|
|
9176
|
+
} else {
|
|
9177
|
+
t4 = $[8];
|
|
9178
|
+
}
|
|
9179
|
+
let t5;
|
|
9180
|
+
if ($[9] !== onClose) {
|
|
9181
|
+
t5 = /* @__PURE__ */ jsxRuntime.jsx(ui.DialogActions, { children: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "outlined", color: "primary", onClick: () => onClose(), children: "Cancel" }) });
|
|
9182
|
+
$[9] = onClose;
|
|
9183
|
+
$[10] = t5;
|
|
9184
|
+
} else {
|
|
9185
|
+
t5 = $[10];
|
|
9186
|
+
}
|
|
9187
|
+
let t6;
|
|
9188
|
+
if ($[11] !== open || $[12] !== t4 || $[13] !== t5) {
|
|
9189
|
+
t6 = /* @__PURE__ */ jsxRuntime.jsxs(ui.Dialog, { maxWidth: "md", open, children: [
|
|
9190
|
+
t1,
|
|
9191
|
+
t4,
|
|
9192
|
+
t5
|
|
9193
|
+
] });
|
|
9194
|
+
$[11] = open;
|
|
9195
|
+
$[12] = t4;
|
|
9196
|
+
$[13] = t5;
|
|
9197
|
+
$[14] = t6;
|
|
9198
|
+
} else {
|
|
9199
|
+
t6 = $[14];
|
|
9200
|
+
}
|
|
9201
|
+
return t6;
|
|
9202
|
+
}
|
|
9203
|
+
function EntityActionsEditTab(t0) {
|
|
9204
|
+
const $ = reactCompilerRuntime.c(64);
|
|
9205
|
+
const {
|
|
9206
|
+
collection
|
|
9207
|
+
} = t0;
|
|
9208
|
+
const {
|
|
9209
|
+
entityActions: contextEntityActions
|
|
9210
|
+
} = core.useCustomizationController();
|
|
9211
|
+
const [addEntityActionDialogOpen, setAddEntityActionDialogOpen] = React.useState(false);
|
|
9212
|
+
const [actionToDelete, setActionToDelete] = React.useState();
|
|
9213
|
+
const {
|
|
9214
|
+
values,
|
|
9215
|
+
setFieldValue
|
|
9216
|
+
} = formex.useFormex();
|
|
9217
|
+
let T0;
|
|
9218
|
+
let T1;
|
|
9219
|
+
let T2;
|
|
9220
|
+
let T3;
|
|
9221
|
+
let t1;
|
|
9222
|
+
let t10;
|
|
9223
|
+
let t2;
|
|
9224
|
+
let t3;
|
|
9225
|
+
let t4;
|
|
9226
|
+
let t5;
|
|
9227
|
+
let t6;
|
|
9228
|
+
let t7;
|
|
9229
|
+
let t8;
|
|
9230
|
+
let t9;
|
|
9231
|
+
if ($[0] !== collection.entityActions || $[1] !== contextEntityActions || $[2] !== values.entityActions) {
|
|
9232
|
+
const resolvedEntityActions = values.entityActions?.filter(_temp$1).map((e_0) => core.resolveEntityAction(e_0, contextEntityActions)).filter(Boolean) ?? [];
|
|
9233
|
+
const hardCodedEntityActions = collection.entityActions?.filter(_temp2$1) ?? [];
|
|
9234
|
+
const totalEntityActions = resolvedEntityActions.length + hardCodedEntityActions.length;
|
|
9235
|
+
t10 = "overflow-auto my-auto";
|
|
9236
|
+
T3 = ui.Container;
|
|
9237
|
+
t8 = "2xl";
|
|
9238
|
+
t9 = "flex flex-col gap-4 p-8 m-auto";
|
|
9239
|
+
t7 = "flex flex-col gap-16";
|
|
9240
|
+
t4 = "flex-grow flex flex-col gap-4 items-start";
|
|
9241
|
+
if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
|
|
9242
|
+
t5 = /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "h5", children: "Custom actions" });
|
|
9243
|
+
$[17] = t5;
|
|
9244
|
+
} else {
|
|
9245
|
+
t5 = $[17];
|
|
9246
|
+
}
|
|
9247
|
+
if ($[18] !== totalEntityActions) {
|
|
9248
|
+
t6 = totalEntityActions === 0 && /* @__PURE__ */ jsxRuntime.jsx(ui.Alert, { action: /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", size: "small", href: "https://firecms.co/docs/custom_actions", component: "a", rel: "noopener noreferrer", target: "_blank", children: "More info" }), children: "Define your own custom actions by uploading them with the CLI." });
|
|
9249
|
+
$[18] = totalEntityActions;
|
|
9250
|
+
$[19] = t6;
|
|
9251
|
+
} else {
|
|
9252
|
+
t6 = $[19];
|
|
9253
|
+
}
|
|
9254
|
+
T2 = ui.Paper;
|
|
9255
|
+
t3 = "flex flex-col gap-4 p-2 w-full";
|
|
9256
|
+
T1 = ui.Table;
|
|
9257
|
+
T0 = ui.TableBody;
|
|
9258
|
+
let t112;
|
|
9259
|
+
if ($[20] === Symbol.for("react.memo_cache_sentinel")) {
|
|
9260
|
+
t112 = (action) => /* @__PURE__ */ jsxRuntime.jsxs(ui.TableRow, { children: [
|
|
9261
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.TableCell, { align: "left", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", className: "flex-grow", children: action.name }) }),
|
|
9262
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.TableCell, { align: "right", children: /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { title: "Remove", asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { size: "small", onClick: (e_2) => {
|
|
9263
|
+
e_2.preventDefault();
|
|
9264
|
+
e_2.stopPropagation();
|
|
9265
|
+
setActionToDelete(action.key);
|
|
9266
|
+
}, color: "inherit", children: /* @__PURE__ */ jsxRuntime.jsx(ui.DeleteIcon, { size: "small" }) }) }) })
|
|
9267
|
+
] }, action.key);
|
|
9268
|
+
$[20] = t112;
|
|
9269
|
+
} else {
|
|
9270
|
+
t112 = $[20];
|
|
9271
|
+
}
|
|
9272
|
+
t1 = resolvedEntityActions.map(t112);
|
|
9273
|
+
t2 = hardCodedEntityActions.map(_temp3);
|
|
9274
|
+
$[0] = collection.entityActions;
|
|
9275
|
+
$[1] = contextEntityActions;
|
|
9276
|
+
$[2] = values.entityActions;
|
|
9277
|
+
$[3] = T0;
|
|
9278
|
+
$[4] = T1;
|
|
9279
|
+
$[5] = T2;
|
|
9280
|
+
$[6] = T3;
|
|
9281
|
+
$[7] = t1;
|
|
9282
|
+
$[8] = t10;
|
|
9283
|
+
$[9] = t2;
|
|
9284
|
+
$[10] = t3;
|
|
9285
|
+
$[11] = t4;
|
|
9286
|
+
$[12] = t5;
|
|
9287
|
+
$[13] = t6;
|
|
9288
|
+
$[14] = t7;
|
|
9289
|
+
$[15] = t8;
|
|
9290
|
+
$[16] = t9;
|
|
9291
|
+
} else {
|
|
9292
|
+
T0 = $[3];
|
|
9293
|
+
T1 = $[4];
|
|
9294
|
+
T2 = $[5];
|
|
9295
|
+
T3 = $[6];
|
|
9296
|
+
t1 = $[7];
|
|
9297
|
+
t10 = $[8];
|
|
9298
|
+
t2 = $[9];
|
|
9299
|
+
t3 = $[10];
|
|
9300
|
+
t4 = $[11];
|
|
9301
|
+
t5 = $[12];
|
|
9302
|
+
t6 = $[13];
|
|
9303
|
+
t7 = $[14];
|
|
9304
|
+
t8 = $[15];
|
|
9305
|
+
t9 = $[16];
|
|
9306
|
+
}
|
|
9307
|
+
let t11;
|
|
9308
|
+
if ($[21] !== T0 || $[22] !== t1 || $[23] !== t2) {
|
|
9309
|
+
t11 = /* @__PURE__ */ jsxRuntime.jsxs(T0, { children: [
|
|
9310
|
+
t1,
|
|
9311
|
+
t2
|
|
9312
|
+
] });
|
|
9313
|
+
$[21] = T0;
|
|
9314
|
+
$[22] = t1;
|
|
9315
|
+
$[23] = t2;
|
|
9316
|
+
$[24] = t11;
|
|
9317
|
+
} else {
|
|
9318
|
+
t11 = $[24];
|
|
9319
|
+
}
|
|
9320
|
+
let t12;
|
|
9321
|
+
if ($[25] !== T1 || $[26] !== t11) {
|
|
9322
|
+
t12 = /* @__PURE__ */ jsxRuntime.jsx(T1, { children: t11 });
|
|
9323
|
+
$[25] = T1;
|
|
9324
|
+
$[26] = t11;
|
|
9325
|
+
$[27] = t12;
|
|
9326
|
+
} else {
|
|
9327
|
+
t12 = $[27];
|
|
9328
|
+
}
|
|
9329
|
+
let t13;
|
|
9330
|
+
if ($[28] === Symbol.for("react.memo_cache_sentinel")) {
|
|
9331
|
+
t13 = () => {
|
|
9332
|
+
setAddEntityActionDialogOpen(true);
|
|
9333
|
+
};
|
|
9334
|
+
$[28] = t13;
|
|
9335
|
+
} else {
|
|
9336
|
+
t13 = $[28];
|
|
9337
|
+
}
|
|
9338
|
+
let t14;
|
|
9339
|
+
if ($[29] === Symbol.for("react.memo_cache_sentinel")) {
|
|
9340
|
+
t14 = /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { onClick: t13, variant: "text", startIcon: /* @__PURE__ */ jsxRuntime.jsx(ui.AddIcon, {}), children: "Add custom entity action" });
|
|
9341
|
+
$[29] = t14;
|
|
9342
|
+
} else {
|
|
9343
|
+
t14 = $[29];
|
|
9344
|
+
}
|
|
9345
|
+
let t15;
|
|
9346
|
+
if ($[30] !== T2 || $[31] !== t12 || $[32] !== t3) {
|
|
9347
|
+
t15 = /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsxs(T2, { className: t3, children: [
|
|
9348
|
+
t12,
|
|
9349
|
+
t14
|
|
9350
|
+
] }) });
|
|
9351
|
+
$[30] = T2;
|
|
9352
|
+
$[31] = t12;
|
|
9353
|
+
$[32] = t3;
|
|
9354
|
+
$[33] = t15;
|
|
9355
|
+
} else {
|
|
9356
|
+
t15 = $[33];
|
|
9357
|
+
}
|
|
9358
|
+
let t16;
|
|
9359
|
+
if ($[34] !== t15 || $[35] !== t4 || $[36] !== t5 || $[37] !== t6) {
|
|
9360
|
+
t16 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: t4, children: [
|
|
9361
|
+
t5,
|
|
9362
|
+
t6,
|
|
9363
|
+
t15
|
|
9364
|
+
] });
|
|
9365
|
+
$[34] = t15;
|
|
9366
|
+
$[35] = t4;
|
|
9367
|
+
$[36] = t5;
|
|
9368
|
+
$[37] = t6;
|
|
9369
|
+
$[38] = t16;
|
|
9370
|
+
} else {
|
|
9371
|
+
t16 = $[38];
|
|
9372
|
+
}
|
|
9373
|
+
let t17;
|
|
9374
|
+
if ($[39] !== t16 || $[40] !== t7) {
|
|
9375
|
+
t17 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: t7, children: t16 });
|
|
9376
|
+
$[39] = t16;
|
|
9377
|
+
$[40] = t7;
|
|
9378
|
+
$[41] = t17;
|
|
9379
|
+
} else {
|
|
9380
|
+
t17 = $[41];
|
|
9381
|
+
}
|
|
9382
|
+
let t18;
|
|
9383
|
+
if ($[42] !== T3 || $[43] !== t17 || $[44] !== t8 || $[45] !== t9) {
|
|
9384
|
+
t18 = /* @__PURE__ */ jsxRuntime.jsx(T3, { maxWidth: t8, className: t9, children: t17 });
|
|
9385
|
+
$[42] = T3;
|
|
9386
|
+
$[43] = t17;
|
|
9387
|
+
$[44] = t8;
|
|
9388
|
+
$[45] = t9;
|
|
9389
|
+
$[46] = t18;
|
|
9390
|
+
} else {
|
|
9391
|
+
t18 = $[46];
|
|
9392
|
+
}
|
|
9393
|
+
let t19;
|
|
9394
|
+
if ($[47] === Symbol.for("react.memo_cache_sentinel")) {
|
|
9395
|
+
t19 = /* @__PURE__ */ jsxRuntime.jsx("div", { style: {
|
|
9396
|
+
height: "52px"
|
|
9397
|
+
} });
|
|
9398
|
+
$[47] = t19;
|
|
9399
|
+
} else {
|
|
9400
|
+
t19 = $[47];
|
|
9401
|
+
}
|
|
9402
|
+
let t20;
|
|
9403
|
+
if ($[48] !== actionToDelete || $[49] !== setFieldValue || $[50] !== values.entityActions) {
|
|
9404
|
+
t20 = actionToDelete && /* @__PURE__ */ jsxRuntime.jsx(core.ConfirmationDialog, { open: Boolean(actionToDelete), onAccept: () => {
|
|
9405
|
+
setFieldValue("entityActions", values.entityActions?.filter((e_3) => e_3 !== actionToDelete));
|
|
9406
|
+
setActionToDelete(void 0);
|
|
9407
|
+
}, onCancel: () => setActionToDelete(void 0), title: /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: "Remove this action?" }), body: /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
9408
|
+
"This will ",
|
|
9409
|
+
/* @__PURE__ */ jsxRuntime.jsx("b", { children: "not delete any data" }),
|
|
9410
|
+
", only the action in the CMS"
|
|
9411
|
+
] }) });
|
|
9412
|
+
$[48] = actionToDelete;
|
|
9413
|
+
$[49] = setFieldValue;
|
|
9414
|
+
$[50] = values.entityActions;
|
|
9415
|
+
$[51] = t20;
|
|
9416
|
+
} else {
|
|
9417
|
+
t20 = $[51];
|
|
9418
|
+
}
|
|
9419
|
+
let t21;
|
|
9420
|
+
if ($[52] !== contextEntityActions || $[53] !== setFieldValue || $[54] !== values.entityActions) {
|
|
9421
|
+
t21 = (selectedActionKey) => {
|
|
9422
|
+
if (selectedActionKey) {
|
|
9423
|
+
console.log("Selected action key:", selectedActionKey);
|
|
9424
|
+
const value = [...values.entityActions ?? [], selectedActionKey].filter((e_4) => typeof e_4 === "string" && (contextEntityActions ?? []).some((action_1) => action_1.key === e_4));
|
|
9425
|
+
setFieldValue("entityActions", value);
|
|
9426
|
+
}
|
|
9427
|
+
setAddEntityActionDialogOpen(false);
|
|
9428
|
+
};
|
|
9429
|
+
$[52] = contextEntityActions;
|
|
9430
|
+
$[53] = setFieldValue;
|
|
9431
|
+
$[54] = values.entityActions;
|
|
9432
|
+
$[55] = t21;
|
|
9433
|
+
} else {
|
|
9434
|
+
t21 = $[55];
|
|
9435
|
+
}
|
|
9436
|
+
let t22;
|
|
9437
|
+
if ($[56] !== addEntityActionDialogOpen || $[57] !== t21) {
|
|
9438
|
+
t22 = /* @__PURE__ */ jsxRuntime.jsx(EntityActionsSelectDialog, { open: addEntityActionDialogOpen, onClose: t21 });
|
|
9439
|
+
$[56] = addEntityActionDialogOpen;
|
|
9440
|
+
$[57] = t21;
|
|
9441
|
+
$[58] = t22;
|
|
9442
|
+
} else {
|
|
9443
|
+
t22 = $[58];
|
|
9444
|
+
}
|
|
9445
|
+
let t23;
|
|
9446
|
+
if ($[59] !== t10 || $[60] !== t18 || $[61] !== t20 || $[62] !== t22) {
|
|
9447
|
+
t23 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: t10, children: [
|
|
9448
|
+
t18,
|
|
9449
|
+
t19,
|
|
9450
|
+
t20,
|
|
9451
|
+
t22
|
|
9452
|
+
] });
|
|
9453
|
+
$[59] = t10;
|
|
9454
|
+
$[60] = t18;
|
|
9455
|
+
$[61] = t20;
|
|
9456
|
+
$[62] = t22;
|
|
9457
|
+
$[63] = t23;
|
|
9458
|
+
} else {
|
|
9459
|
+
t23 = $[63];
|
|
9460
|
+
}
|
|
9461
|
+
return t23;
|
|
9462
|
+
}
|
|
9463
|
+
function _temp3(action_0) {
|
|
9464
|
+
return /* @__PURE__ */ jsxRuntime.jsx(ui.TableRow, { children: /* @__PURE__ */ jsxRuntime.jsxs(ui.TableCell, { align: "left", children: [
|
|
9465
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Typography, { variant: "subtitle2", className: "flex-grow", children: action_0.name }),
|
|
9466
|
+
/* @__PURE__ */ jsxRuntime.jsxs(ui.Typography, { variant: "caption", className: "flex-grow", children: [
|
|
9467
|
+
"This action is defined in code with key ",
|
|
9468
|
+
/* @__PURE__ */ jsxRuntime.jsx("code", { children: action_0.key })
|
|
9469
|
+
] })
|
|
9470
|
+
] }) }, action_0.key);
|
|
9471
|
+
}
|
|
9472
|
+
function _temp2$1(e_1) {
|
|
9473
|
+
return typeof e_1 !== "string";
|
|
9474
|
+
}
|
|
9475
|
+
function _temp$1(e) {
|
|
9476
|
+
return typeof e === "string";
|
|
9477
|
+
}
|
|
9117
9478
|
function CollectionEditorDialog(props) {
|
|
9118
9479
|
const $ = reactCompilerRuntime.c(24);
|
|
9119
9480
|
const open = props.open;
|
|
@@ -9352,10 +9713,10 @@
|
|
|
9352
9713
|
setCurrentView("details");
|
|
9353
9714
|
}
|
|
9354
9715
|
};
|
|
9355
|
-
const doCollectionInference = (collection_0) => {
|
|
9716
|
+
const doCollectionInference = collectionInference ? (collection_0) => {
|
|
9356
9717
|
if (!collectionInference) return void 0;
|
|
9357
9718
|
return collectionInference?.(collection_0.path, collection_0.collectionGroup ?? false, parentPaths ?? []);
|
|
9358
|
-
};
|
|
9719
|
+
} : void 0;
|
|
9359
9720
|
const inferCollectionFromData = async (newCollection) => {
|
|
9360
9721
|
try {
|
|
9361
9722
|
if (!doCollectionInference) {
|
|
@@ -9574,7 +9935,8 @@
|
|
|
9574
9935
|
!isNewCollection && /* @__PURE__ */ jsxRuntime.jsxs(ui.Tabs, { value: currentView, innerClassName: ui.cls(ui.defaultBorderMixin, "px-4 h-14 w-full justify-end bg-surface-50 dark:bg-surface-950 border-b"), onValueChange: (v) => setCurrentView(v), children: [
|
|
9575
9936
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Tab, { value: "details", children: "Details" }),
|
|
9576
9937
|
/* @__PURE__ */ jsxRuntime.jsx(ui.Tab, { value: "properties", children: "Properties" }),
|
|
9577
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Tab, { value: "subcollections", children: "Additional views" })
|
|
9938
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Tab, { value: "subcollections", children: "Additional views" }),
|
|
9939
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Tab, { value: "custom_actions", children: "Custom actions" })
|
|
9578
9940
|
] }),
|
|
9579
9941
|
/* @__PURE__ */ jsxRuntime.jsxs("form", { noValidate: true, onSubmit: formController.handleSubmit, className: ui.cls(isNewCollection ? "h-full" : "h-[calc(100%-48px)]", "flex-grow flex flex-col relative"), children: [
|
|
9580
9942
|
currentView === "loading" && /* @__PURE__ */ jsxRuntime.jsx(core.CircularProgressCenter, {}),
|
|
@@ -9603,6 +9965,7 @@
|
|
|
9603
9965
|
setDeleteRequested(true);
|
|
9604
9966
|
}, children: "Reset to code" })
|
|
9605
9967
|
] }) }),
|
|
9968
|
+
currentView === "custom_actions" && collection && /* @__PURE__ */ jsxRuntime.jsx(EntityActionsEditTab, { collection }),
|
|
9606
9969
|
currentView === "subcollections" && collection && /* @__PURE__ */ jsxRuntime.jsx(SubcollectionsEditTab, { parentCollection, configController, getUser, collectionInference, parentCollectionIds, collection }),
|
|
9607
9970
|
currentView === "properties" && /* @__PURE__ */ jsxRuntime.jsx(CollectionPropertiesEditorForm, { showErrors: submitCount > 0, isNewCollection, reservedGroups, onPropertyError: (propertyKey, namespace, error_0) => {
|
|
9608
9971
|
const current = core.removeUndefined({
|
|
@@ -9614,28 +9977,28 @@
|
|
|
9614
9977
|
}, getUser, getData: getDataWithPath, doCollectionInference, propertyConfigs, collectionEditable, extraIcon: extraView?.icon && /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { color: "primary", onClick: () => setCurrentView("extra_view"), children: extraView.icon }) }),
|
|
9615
9978
|
currentView !== "welcome" && /* @__PURE__ */ jsxRuntime.jsxs(ui.DialogActions, { position: "absolute", children: [
|
|
9616
9979
|
error && /* @__PURE__ */ jsxRuntime.jsx(core.ErrorView, { error }),
|
|
9617
|
-
isNewCollection && includeTemplates && currentView === "import_data_mapping" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", type: "button", onClick: () => {
|
|
9980
|
+
isNewCollection && includeTemplates && currentView === "import_data_mapping" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", type: "button", color: "primary", onClick: () => {
|
|
9618
9981
|
importConfig.setInUse(false);
|
|
9619
9982
|
return setCurrentView("welcome");
|
|
9620
9983
|
}, children: [
|
|
9621
9984
|
/* @__PURE__ */ jsxRuntime.jsx(ui.ArrowBackIcon, {}),
|
|
9622
9985
|
"Back"
|
|
9623
9986
|
] }),
|
|
9624
|
-
isNewCollection && includeTemplates && currentView === "import_data_preview" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", type: "button", onClick: () => {
|
|
9987
|
+
isNewCollection && includeTemplates && currentView === "import_data_preview" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", type: "button", color: "primary", onClick: () => {
|
|
9625
9988
|
setCurrentView("import_data_mapping");
|
|
9626
9989
|
}, children: [
|
|
9627
9990
|
/* @__PURE__ */ jsxRuntime.jsx(ui.ArrowBackIcon, {}),
|
|
9628
9991
|
"Back"
|
|
9629
9992
|
] }),
|
|
9630
|
-
isNewCollection && includeTemplates && currentView === "details" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", type: "button", onClick: () => setCurrentView("welcome"), children: [
|
|
9993
|
+
isNewCollection && includeTemplates && currentView === "details" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", color: "primary", type: "button", onClick: () => setCurrentView("welcome"), children: [
|
|
9631
9994
|
/* @__PURE__ */ jsxRuntime.jsx(ui.ArrowBackIcon, {}),
|
|
9632
9995
|
"Back"
|
|
9633
9996
|
] }),
|
|
9634
|
-
isNewCollection && currentView === "properties" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", type: "button", onClick: () => setCurrentView("details"), children: [
|
|
9997
|
+
isNewCollection && currentView === "properties" && /* @__PURE__ */ jsxRuntime.jsxs(ui.Button, { variant: "text", type: "button", color: "primary", onClick: () => setCurrentView("details"), children: [
|
|
9635
9998
|
/* @__PURE__ */ jsxRuntime.jsx(ui.ArrowBackIcon, {}),
|
|
9636
9999
|
"Back"
|
|
9637
10000
|
] }),
|
|
9638
|
-
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", onClick: () => {
|
|
10001
|
+
/* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "text", color: "primary", onClick: () => {
|
|
9639
10002
|
handleCancel();
|
|
9640
10003
|
}, children: "Cancel" }),
|
|
9641
10004
|
isNewCollection && currentView === "import_data_mapping" && /* @__PURE__ */ jsxRuntime.jsx(ui.Button, { variant: "filled", color: "primary", onClick: onImportMappingComplete, children: "Next" }),
|
|
@@ -10128,14 +10491,14 @@
|
|
|
10128
10491
|
}
|
|
10129
10492
|
let t6;
|
|
10130
10493
|
if ($[15] === Symbol.for("react.memo_cache_sentinel")) {
|
|
10131
|
-
t6 = /* @__PURE__ */ jsxRuntime.jsx(ui.SettingsIcon, {});
|
|
10494
|
+
t6 = /* @__PURE__ */ jsxRuntime.jsx(ui.SettingsIcon, { size: "small" });
|
|
10132
10495
|
$[15] = t6;
|
|
10133
10496
|
} else {
|
|
10134
10497
|
t6 = $[15];
|
|
10135
10498
|
}
|
|
10136
10499
|
let t7;
|
|
10137
10500
|
if ($[16] !== t4 || $[17] !== t5) {
|
|
10138
|
-
t7 = /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { color: "primary", disabled: t4, onClick: t5, children: t6 });
|
|
10501
|
+
t7 = /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { size: "small", color: "primary", disabled: t4, onClick: t5, children: t6 });
|
|
10139
10502
|
$[16] = t4;
|
|
10140
10503
|
$[17] = t5;
|
|
10141
10504
|
$[18] = t7;
|
|
@@ -10670,8 +11033,100 @@
|
|
|
10670
11033
|
}
|
|
10671
11034
|
return t8;
|
|
10672
11035
|
}
|
|
11036
|
+
function EditorEntityAction(t0) {
|
|
11037
|
+
const $ = reactCompilerRuntime.c(23);
|
|
11038
|
+
const {
|
|
11039
|
+
path: fullPath,
|
|
11040
|
+
parentCollectionIds,
|
|
11041
|
+
collection,
|
|
11042
|
+
formContext
|
|
11043
|
+
} = t0;
|
|
11044
|
+
const authController = core.useAuthController();
|
|
11045
|
+
const navigationController = core.useNavigationController();
|
|
11046
|
+
const collectionEditorController = useCollectionEditorController();
|
|
11047
|
+
let t1;
|
|
11048
|
+
if ($[0] !== navigationController || $[1] !== parentCollectionIds) {
|
|
11049
|
+
t1 = navigationController.getCollectionFromIds(parentCollectionIds);
|
|
11050
|
+
$[0] = navigationController;
|
|
11051
|
+
$[1] = parentCollectionIds;
|
|
11052
|
+
$[2] = t1;
|
|
11053
|
+
} else {
|
|
11054
|
+
t1 = $[2];
|
|
11055
|
+
}
|
|
11056
|
+
const parentCollection = t1;
|
|
11057
|
+
let t2;
|
|
11058
|
+
if ($[3] !== authController || $[4] !== collection || $[5] !== collectionEditorController) {
|
|
11059
|
+
t2 = collectionEditorController.configPermissions ? collectionEditorController.configPermissions({
|
|
11060
|
+
user: authController.user,
|
|
11061
|
+
collection
|
|
11062
|
+
}).editCollections : true;
|
|
11063
|
+
$[3] = authController;
|
|
11064
|
+
$[4] = collection;
|
|
11065
|
+
$[5] = collectionEditorController;
|
|
11066
|
+
$[6] = t2;
|
|
11067
|
+
} else {
|
|
11068
|
+
t2 = $[6];
|
|
11069
|
+
}
|
|
11070
|
+
const canEditCollection = t2;
|
|
11071
|
+
const isDirty = formContext?.formex.dirty ?? false;
|
|
11072
|
+
const t3 = canEditCollection ? isDirty ? "You need to save the document before changing the schema" : "Edit schema for this form" : "You don't have permissions to edit this collection";
|
|
11073
|
+
const t4 = !canEditCollection || isDirty;
|
|
11074
|
+
let t5;
|
|
11075
|
+
if ($[7] !== canEditCollection || $[8] !== collection || $[9] !== collectionEditorController || $[10] !== fullPath || $[11] !== parentCollection || $[12] !== parentCollectionIds) {
|
|
11076
|
+
t5 = canEditCollection ? () => collectionEditorController?.editCollection({
|
|
11077
|
+
id: collection.id,
|
|
11078
|
+
fullPath,
|
|
11079
|
+
parentCollectionIds,
|
|
11080
|
+
parentCollection
|
|
11081
|
+
}) : void 0;
|
|
11082
|
+
$[7] = canEditCollection;
|
|
11083
|
+
$[8] = collection;
|
|
11084
|
+
$[9] = collectionEditorController;
|
|
11085
|
+
$[10] = fullPath;
|
|
11086
|
+
$[11] = parentCollection;
|
|
11087
|
+
$[12] = parentCollectionIds;
|
|
11088
|
+
$[13] = t5;
|
|
11089
|
+
} else {
|
|
11090
|
+
t5 = $[13];
|
|
11091
|
+
}
|
|
11092
|
+
let t6;
|
|
11093
|
+
if ($[14] === Symbol.for("react.memo_cache_sentinel")) {
|
|
11094
|
+
t6 = /* @__PURE__ */ jsxRuntime.jsx(ui.SettingsIcon, { size: "small" });
|
|
11095
|
+
$[14] = t6;
|
|
11096
|
+
} else {
|
|
11097
|
+
t6 = $[14];
|
|
11098
|
+
}
|
|
11099
|
+
let t7;
|
|
11100
|
+
if ($[15] !== t4 || $[16] !== t5) {
|
|
11101
|
+
t7 = /* @__PURE__ */ jsxRuntime.jsx(ui.IconButton, { color: "primary", disabled: t4, onClick: t5, children: t6 });
|
|
11102
|
+
$[15] = t4;
|
|
11103
|
+
$[16] = t5;
|
|
11104
|
+
$[17] = t7;
|
|
11105
|
+
} else {
|
|
11106
|
+
t7 = $[17];
|
|
11107
|
+
}
|
|
11108
|
+
let t8;
|
|
11109
|
+
if ($[18] !== t3 || $[19] !== t7) {
|
|
11110
|
+
t8 = /* @__PURE__ */ jsxRuntime.jsx(ui.Tooltip, { asChild: true, title: t3, children: t7 });
|
|
11111
|
+
$[18] = t3;
|
|
11112
|
+
$[19] = t7;
|
|
11113
|
+
$[20] = t8;
|
|
11114
|
+
} else {
|
|
11115
|
+
t8 = $[20];
|
|
11116
|
+
}
|
|
11117
|
+
const editorButton = t8;
|
|
11118
|
+
let t9;
|
|
11119
|
+
if ($[21] !== editorButton) {
|
|
11120
|
+
t9 = /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: editorButton });
|
|
11121
|
+
$[21] = editorButton;
|
|
11122
|
+
$[22] = t9;
|
|
11123
|
+
} else {
|
|
11124
|
+
t9 = $[22];
|
|
11125
|
+
}
|
|
11126
|
+
return t9;
|
|
11127
|
+
}
|
|
10673
11128
|
function useCollectionEditorPlugin(t0) {
|
|
10674
|
-
const $ = reactCompilerRuntime.c(
|
|
11129
|
+
const $ = reactCompilerRuntime.c(22);
|
|
10675
11130
|
const {
|
|
10676
11131
|
collectionConfigController,
|
|
10677
11132
|
configPermissions,
|
|
@@ -10745,6 +11200,7 @@
|
|
|
10745
11200
|
t5 = $[15];
|
|
10746
11201
|
}
|
|
10747
11202
|
let t6;
|
|
11203
|
+
let t7;
|
|
10748
11204
|
if ($[16] === Symbol.for("react.memo_cache_sentinel")) {
|
|
10749
11205
|
t6 = {
|
|
10750
11206
|
CollectionActionsStart: EditorCollectionActionStart,
|
|
@@ -10752,27 +11208,33 @@
|
|
|
10752
11208
|
HeaderAction: CollectionViewHeaderAction,
|
|
10753
11209
|
AddColumnComponent: PropertyAddColumnComponent
|
|
10754
11210
|
};
|
|
11211
|
+
t7 = {
|
|
11212
|
+
ActionsTop: EditorEntityAction
|
|
11213
|
+
};
|
|
10755
11214
|
$[16] = t6;
|
|
11215
|
+
$[17] = t7;
|
|
10756
11216
|
} else {
|
|
10757
11217
|
t6 = $[16];
|
|
11218
|
+
t7 = $[17];
|
|
10758
11219
|
}
|
|
10759
|
-
let
|
|
10760
|
-
if ($[
|
|
10761
|
-
|
|
11220
|
+
let t8;
|
|
11221
|
+
if ($[18] !== collectionConfigController.loading || $[19] !== t2 || $[20] !== t5) {
|
|
11222
|
+
t8 = {
|
|
10762
11223
|
key: "collection_editor",
|
|
10763
11224
|
loading: collectionConfigController.loading,
|
|
10764
11225
|
provider: t2,
|
|
10765
11226
|
homePage: t5,
|
|
10766
|
-
collectionView: t6
|
|
11227
|
+
collectionView: t6,
|
|
11228
|
+
form: t7
|
|
10767
11229
|
};
|
|
10768
|
-
$[
|
|
10769
|
-
$[
|
|
10770
|
-
$[
|
|
10771
|
-
$[
|
|
11230
|
+
$[18] = collectionConfigController.loading;
|
|
11231
|
+
$[19] = t2;
|
|
11232
|
+
$[20] = t5;
|
|
11233
|
+
$[21] = t8;
|
|
10772
11234
|
} else {
|
|
10773
|
-
|
|
11235
|
+
t8 = $[21];
|
|
10774
11236
|
}
|
|
10775
|
-
return
|
|
11237
|
+
return t8;
|
|
10776
11238
|
}
|
|
10777
11239
|
function IntroWidget() {
|
|
10778
11240
|
const $ = reactCompilerRuntime.c(11);
|