@rakun-kit/manager-react 1.4.6 → 1.4.8
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/README.md +196 -196
- package/dist/cjs/components/editor/themes/editor-theme.css +91 -91
- package/dist/cjs/components/ui/sortable.js +4 -4
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +11 -2
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.js +53 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.js.map +1 -0
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +66 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js +97 -25
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +12 -3
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js +63 -11
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js +3 -3
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js.map +1 -1
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +13 -7
- package/dist/cjs/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -1
- package/dist/cjs/state/theme.js +12 -12
- package/dist/esm/components/editor/themes/editor-theme.css +91 -91
- package/dist/esm/components/ui/sortable.js +4 -4
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js +11 -2
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/EditTabPanels.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.d.ts +2 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.d.ts.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.js +49 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.js.map +1 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.d.ts +8 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js +66 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_context/EditPageContext.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.d.ts +8 -0
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js +96 -25
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/DynamicDataControl.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js +13 -4
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/FileField/index.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js +66 -14
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/IteratorModulePicker.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js +3 -3
- package/dist/esm/router/dashboard/[contentType]/[edit]/_fields/ListField/ListUI.js.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.d.ts +5 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.d.ts.map +1 -1
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js +13 -7
- package/dist/esm/router/dashboard/[contentType]/[edit]/_hooks/useContentDocumentActions.js.map +1 -1
- package/dist/esm/state/theme.js +12 -12
- package/dist/styles.css +43 -7
- package/dist/styles.css.d.ts +3 -3
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +192 -192
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
'use client';
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.LinkedIteratorControl = void 0;
|
|
5
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
|
+
const lucide_react_1 = require("lucide-react");
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const EditPageContext_1 = require("../_context/EditPageContext.js");
|
|
9
|
+
const badge_1 = require("../../../../../components/ui/badge.js");
|
|
10
|
+
const button_1 = require("../../../../../components/ui/button.js");
|
|
11
|
+
const dialog_1 = require("../../../../../components/ui/dialog.js");
|
|
12
|
+
const LinkedIteratorControl = () => {
|
|
13
|
+
const { contentTypeId, contentTypeName, documentActions, linkedIterator } = (0, EditPageContext_1.useEditPageContext)();
|
|
14
|
+
const { state, mode } = linkedIterator;
|
|
15
|
+
const [confirmationAction, setConfirmationAction] = (0, react_1.useState)(null);
|
|
16
|
+
const handleConfirm = () => {
|
|
17
|
+
const action = confirmationAction;
|
|
18
|
+
setConfirmationAction(null);
|
|
19
|
+
if (action === 'initialize') {
|
|
20
|
+
void documentActions.handleInitializeLinkedIterator();
|
|
21
|
+
}
|
|
22
|
+
else if (action === 'relink') {
|
|
23
|
+
linkedIterator.adoptShared();
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
const withConfirmationDialog = (content) => ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [content, (0, jsx_runtime_1.jsx)(dialog_1.Dialog, { open: confirmationAction !== null, onOpenChange: (open) => {
|
|
27
|
+
if (!open)
|
|
28
|
+
setConfirmationAction(null);
|
|
29
|
+
}, children: (0, jsx_runtime_1.jsxs)(dialog_1.DialogContent, { children: [(0, jsx_runtime_1.jsxs)(dialog_1.DialogHeader, { children: [(0, jsx_runtime_1.jsx)(dialog_1.DialogTitle, { children: confirmationAction === 'initialize'
|
|
30
|
+
? 'Use this as the shared structure?'
|
|
31
|
+
: 'Use the shared structure?' }), (0, jsx_runtime_1.jsx)(dialog_1.DialogDescription, { children: confirmationAction === 'initialize'
|
|
32
|
+
? 'This iterator will become the structure for every linked entry. Local entries will not be changed.'
|
|
33
|
+
: "This entry's local iterator will be discarded when you save. The shared structure itself will not be changed." })] }), (0, jsx_runtime_1.jsxs)(dialog_1.DialogFooter, { children: [(0, jsx_runtime_1.jsx)(dialog_1.DialogClose, { asChild: true, children: (0, jsx_runtime_1.jsx)(button_1.Button, { variant: "outline", children: "Cancel" }) }), (0, jsx_runtime_1.jsxs)(button_1.Button, { loading: confirmationAction === 'initialize' &&
|
|
34
|
+
(documentActions.pending.create || documentActions.pending.update), onClick: handleConfirm, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Link2, {}), "Use shared structure"] })] })] }) })] }));
|
|
35
|
+
if (!linkedIterator.enabled || !state)
|
|
36
|
+
return null;
|
|
37
|
+
if (!state.configured && mode === 'unlinked') {
|
|
38
|
+
return withConfirmationDialog((0, jsx_runtime_1.jsx)("div", { className: "mb-5 flex flex-wrap items-center justify-between gap-3 rounded-lg border p-4", children: (0, jsx_runtime_1.jsxs)("div", { className: "space-y-1", children: [(0, jsx_runtime_1.jsxs)(badge_1.Badge, { variant: "secondary", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Unlink, {}), "Local structure"] }), (0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground", children: "Changes only affect this entry. The shared structure has not been configured yet." })] }) }));
|
|
39
|
+
}
|
|
40
|
+
if (!state.configured) {
|
|
41
|
+
return withConfirmationDialog((0, jsx_runtime_1.jsxs)("div", { className: "mb-5 flex flex-wrap items-center justify-between gap-3 rounded-lg border border-amber-500/40 bg-amber-500/10 p-4", children: [(0, jsx_runtime_1.jsxs)("div", { className: "space-y-1", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex items-center gap-2", children: (0, jsx_runtime_1.jsx)(badge_1.Badge, { variant: "outline", children: "Shared structure not configured" }) }), (0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground", children: "Choose this iterator as the initial structure for every linked entry." })] }), (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-wrap gap-2", children: [contentTypeId ? ((0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", onClick: () => linkedIterator.setMode('unlinked'), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Unlink, {}), "Keep this entry local"] })) : null, state.canUpdateShared ? ((0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", loading: documentActions.pending.create || documentActions.pending.update, onClick: () => setConfirmationAction('initialize'), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Link2, {}), "Use this structure"] })) : ((0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground", children: contentTypeId
|
|
42
|
+
? 'The update-any permission is required to initialize it.'
|
|
43
|
+
: 'Saving initializes it automatically only when this is the first entry.' }))] })] }));
|
|
44
|
+
}
|
|
45
|
+
if (mode === 'unlinked') {
|
|
46
|
+
return withConfirmationDialog((0, jsx_runtime_1.jsxs)("div", { className: "mb-5 flex flex-wrap items-center justify-between gap-3 rounded-lg border p-4", children: [(0, jsx_runtime_1.jsxs)("div", { className: "space-y-1", children: [(0, jsx_runtime_1.jsxs)(badge_1.Badge, { variant: "secondary", children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Unlink, {}), "Local structure"] }), (0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground", children: "Changes only affect this entry." })] }), (0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", onClick: () => setConfirmationAction('relink'), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Link2, {}), "Use shared structure"] })] }));
|
|
47
|
+
}
|
|
48
|
+
return withConfirmationDialog((0, jsx_runtime_1.jsxs)("div", { className: "mb-5 flex flex-wrap items-center justify-between gap-3 rounded-lg border p-4", children: [(0, jsx_runtime_1.jsxs)("div", { className: "space-y-1", children: [(0, jsx_runtime_1.jsxs)(badge_1.Badge, { children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Link2, {}), "Shared structure"] }), (0, jsx_runtime_1.jsx)("p", { className: "text-sm text-muted-foreground", children: state.canUpdateShared
|
|
49
|
+
? `Iterator changes apply to every linked ${contentTypeName}.`
|
|
50
|
+
: 'This shared iterator is read-only with your current permissions.' })] }), contentTypeId ? ((0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", onClick: () => linkedIterator.setMode('unlinked'), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Unlink, {}), "Unlink this entry"] })) : null] }));
|
|
51
|
+
};
|
|
52
|
+
exports.LinkedIteratorControl = LinkedIteratorControl;
|
|
53
|
+
//# sourceMappingURL=LinkedIteratorControl.js.map
|
package/dist/cjs/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkedIteratorControl.js","sourceRoot":"","sources":["../../../../../../../src/router/dashboard/[contentType]/[edit]/_components/LinkedIteratorControl.tsx"],"names":[],"mappings":";AAAA,YAAY,CAAA;;;;AAEZ,+CAA4C;AAC5C,iCAAgD;AAEhD,iEAAgE;AAEhE,iDAA6C;AAC7C,mDAA+C;AAC/C,mDAQ+B;AAIxB,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,GACvE,IAAA,oCAAkB,GAAE,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,cAAc,CAAA;IACtC,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,IAAA,gBAAQ,EAC1D,IAAI,CACL,CAAA;IAED,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,kBAAkB,CAAA;QACjC,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAE3B,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,KAAK,eAAe,CAAC,8BAA8B,EAAE,CAAA;QACvD,CAAC;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,cAAc,CAAC,WAAW,EAAE,CAAA;QAC9B,CAAC;IACH,CAAC,CAAA;IAED,MAAM,sBAAsB,GAAG,CAAC,OAAkB,EAAE,EAAE,CAAC,CACrD,6DACG,OAAO,EACR,uBAAC,eAAM,IACL,IAAI,EAAE,kBAAkB,KAAK,IAAI,EACjC,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;oBACrB,IAAI,CAAC,IAAI;wBAAE,qBAAqB,CAAC,IAAI,CAAC,CAAA;gBACxC,CAAC,YAED,wBAAC,sBAAa,eACZ,wBAAC,qBAAY,eACX,uBAAC,oBAAW,cACT,kBAAkB,KAAK,YAAY;wCAClC,CAAC,CAAC,mCAAmC;wCACrC,CAAC,CAAC,2BAA2B,GACnB,EACd,uBAAC,0BAAiB,cACf,kBAAkB,KAAK,YAAY;wCAClC,CAAC,CAAC,oGAAoG;wCACtG,CAAC,CAAC,+GAA+G,GACjG,IACP,EACf,wBAAC,qBAAY,eACX,uBAAC,oBAAW,IAAC,OAAO,kBAClB,uBAAC,eAAM,IAAC,OAAO,EAAC,SAAS,uBAAgB,GAC7B,EACd,wBAAC,eAAM,IACL,OAAO,EACL,kBAAkB,KAAK,YAAY;wCACnC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,EAEpE,OAAO,EAAE,aAAa,aAEtB,uBAAC,oBAAK,KAAG,4BAEF,IACI,IACD,GACT,IACR,CACJ,CAAA;IAED,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAElD,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QAC7C,OAAO,sBAAsB,CAC3B,gCAAK,SAAS,EAAC,8EAA8E,YAC3F,iCAAK,SAAS,EAAC,WAAW,aACxB,wBAAC,aAAK,IAAC,OAAO,EAAC,WAAW,aACxB,uBAAC,qBAAM,KAAG,uBAEJ,EACR,8BAAG,SAAS,EAAC,+BAA+B,kGAExC,IACA,GACF,CACP,CAAA;IACH,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,sBAAsB,CAC3B,iCAAK,SAAS,EAAC,kHAAkH,aAC/H,iCAAK,SAAS,EAAC,WAAW,aACxB,gCAAK,SAAS,EAAC,yBAAyB,YACtC,uBAAC,aAAK,IAAC,OAAO,EAAC,SAAS,gDAAwC,GAC5D,EACN,8BAAG,SAAS,EAAC,+BAA+B,sFAExC,IACA,EACN,iCAAK,SAAS,EAAC,sBAAsB,aAClC,aAAa,CAAC,CAAC,CAAC,CACf,wBAAC,eAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,aACzE,uBAAC,qBAAM,KAAG,6BAEH,CACV,CAAC,CAAC,CAAC,IAAI,EACP,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CACvB,wBAAC,eAAM,IACL,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC,MAAM,EACzE,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,YAAY,CAAC,aAElD,uBAAC,oBAAK,KAAG,0BAEF,CACV,CAAC,CAAC,CAAC,CACF,8BAAG,SAAS,EAAC,+BAA+B,YACzC,aAAa;gCACZ,CAAC,CAAC,yDAAyD;gCAC3D,CAAC,CAAC,wEAAwE,GAC1E,CACL,IACG,IACF,CACP,CAAA;IACH,CAAC;IAED,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,sBAAsB,CAC3B,iCAAK,SAAS,EAAC,8EAA8E,aAC3F,iCAAK,SAAS,EAAC,WAAW,aACxB,wBAAC,aAAK,IAAC,OAAO,EAAC,WAAW,aACxB,uBAAC,qBAAM,KAAG,uBAEJ,EACR,8BAAG,SAAS,EAAC,+BAA+B,gDAExC,IACA,EACN,wBAAC,eAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,qBAAqB,CAAC,QAAQ,CAAC,aACtE,uBAAC,oBAAK,KAAG,4BAEF,IACL,CACP,CAAA;IACH,CAAC;IAED,OAAO,sBAAsB,CAC3B,iCAAK,SAAS,EAAC,8EAA8E,aAC3F,iCAAK,SAAS,EAAC,WAAW,aACxB,wBAAC,aAAK,eACJ,uBAAC,oBAAK,KAAG,wBAEH,EACR,8BAAG,SAAS,EAAC,+BAA+B,YACzC,KAAK,CAAC,eAAe;4BACpB,CAAC,CAAC,0CAA0C,eAAe,GAAG;4BAC9D,CAAC,CAAC,kEAAkE,GACpE,IACA,EACL,aAAa,CAAC,CAAC,CAAC,CACf,wBAAC,eAAM,IAAC,OAAO,EAAC,SAAS,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,aACzE,uBAAC,qBAAM,KAAG,yBAEH,CACV,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAA;AACH,CAAC,CAAA;AA/JY,QAAA,qBAAqB,yBA+JjC"}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.useEditPageContext = exports.EditPageProvider = void 0;
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const react_1 = require("react");
|
|
7
|
+
const client_1 = require("@rakun-kit/core/client");
|
|
7
8
|
const useContentDocumentActions_1 = require("../_hooks/useContentDocumentActions.js");
|
|
8
9
|
const useContentPreview_1 = require("../_hooks/useContentPreview.js");
|
|
9
10
|
const useContentTypeSections_1 = require("../_hooks/useContentTypeSections.js");
|
|
@@ -16,6 +17,7 @@ const navigation_1 = require("../../../../../state/navigation.js");
|
|
|
16
17
|
const language_1 = require("../../../../../state/language.js");
|
|
17
18
|
const session_1 = require("../../../../../state/session.js");
|
|
18
19
|
const react_2 = require("../../../../../client/react.js");
|
|
20
|
+
const deepEqual_1 = require("../../../../../helpers/deepEqual.js");
|
|
19
21
|
const getDefaultVisibility = (defaultData) => (defaultData?._visibility ??
|
|
20
22
|
'draft');
|
|
21
23
|
const getInitialTab = ({ hasIterables, hasNonIterables, hasSeo, }) => hasNonIterables ? 'info' : hasIterables ? 'content' : hasSeo ? 'seo' : 'versions';
|
|
@@ -98,6 +100,25 @@ const EditPageProvider = ({ children, contentType, defaultData, preview, onAfter
|
|
|
98
100
|
const sections = (0, useContentTypeSections_1.useContentTypeSections)(contentType);
|
|
99
101
|
const localeVariantRoute = (contentType.routes ?? []).find((route) => route.hasPage);
|
|
100
102
|
const contentTypeId = defaultData?._id;
|
|
103
|
+
const linkedIteratorQuery = (0, react_2.useManagerQuery)({
|
|
104
|
+
name: 'manager.linkedIterator.get',
|
|
105
|
+
input: {
|
|
106
|
+
contentType: contentType.name,
|
|
107
|
+
...(contentTypeId ? { documentId: contentTypeId } : {}),
|
|
108
|
+
},
|
|
109
|
+
enabled: Boolean(contentType.linkedIterator),
|
|
110
|
+
});
|
|
111
|
+
const linkedIteratorState = linkedIteratorQuery.data;
|
|
112
|
+
const [linkedIteratorMode, setLinkedIteratorMode] = (0, react_1.useState)('linked');
|
|
113
|
+
const effectiveDefaultData = (0, react_1.useMemo)(() => {
|
|
114
|
+
if (defaultData)
|
|
115
|
+
return defaultData;
|
|
116
|
+
if (!linkedIteratorState?.iterator)
|
|
117
|
+
return defaultData;
|
|
118
|
+
return {
|
|
119
|
+
[client_1.ITERATOR_FIELD_NAME]: linkedIteratorState.iterator,
|
|
120
|
+
};
|
|
121
|
+
}, [defaultData, linkedIteratorState?.iterator]);
|
|
101
122
|
const hasVisibility = Boolean(contentType.documentVisibility);
|
|
102
123
|
const canReadVersions = hasPermissions(['content.ContentVersion.readAny']);
|
|
103
124
|
const canRestoreVersions = hasPermissions(['content.ContentVersion.updateAny']);
|
|
@@ -112,7 +133,7 @@ const EditPageProvider = ({ children, contentType, defaultData, preview, onAfter
|
|
|
112
133
|
const [moveToTrashOpen, setMoveToTrashOpen] = (0, react_1.useState)(false);
|
|
113
134
|
const [permanentDeleteOpen, setPermanentDeleteOpen] = (0, react_1.useState)(false);
|
|
114
135
|
const form = (0, useEditFormController_1.useEditFormController)({
|
|
115
|
-
defaultData,
|
|
136
|
+
defaultData: effectiveDefaultData,
|
|
116
137
|
hasVisibility,
|
|
117
138
|
setSaveErrorVisible: setShowSaveErrorTooltip,
|
|
118
139
|
visibility,
|
|
@@ -129,6 +150,29 @@ const EditPageProvider = ({ children, contentType, defaultData, preview, onAfter
|
|
|
129
150
|
onAfterRestore,
|
|
130
151
|
readFormData: form.readFormData,
|
|
131
152
|
replaceDraft: form.replaceDraft,
|
|
153
|
+
getLinkedIteratorControl: (data, requestedAction) => {
|
|
154
|
+
if (!contentType.linkedIterator || !linkedIteratorState?.enabled)
|
|
155
|
+
return undefined;
|
|
156
|
+
const iteratorChanged = !(0, deepEqual_1.deepEqual)(data[client_1.ITERATOR_FIELD_NAME], linkedIteratorState.iterator);
|
|
157
|
+
const action = linkedIteratorMode === 'linked'
|
|
158
|
+
? requestedAction ??
|
|
159
|
+
(linkedIteratorState.configured &&
|
|
160
|
+
iteratorChanged &&
|
|
161
|
+
linkedIteratorState.canUpdateShared
|
|
162
|
+
? 'update'
|
|
163
|
+
: undefined)
|
|
164
|
+
: undefined;
|
|
165
|
+
return {
|
|
166
|
+
mode: linkedIteratorMode,
|
|
167
|
+
...(action ? { action } : {}),
|
|
168
|
+
...(linkedIteratorState.revision !== undefined
|
|
169
|
+
? { revision: linkedIteratorState.revision }
|
|
170
|
+
: {}),
|
|
171
|
+
};
|
|
172
|
+
},
|
|
173
|
+
onLinkedIteratorSaved: async () => {
|
|
174
|
+
await linkedIteratorQuery.refetch();
|
|
175
|
+
},
|
|
132
176
|
setVisibility,
|
|
133
177
|
visibilityBeforeTrash,
|
|
134
178
|
});
|
|
@@ -207,6 +251,11 @@ const EditPageProvider = ({ children, contentType, defaultData, preview, onAfter
|
|
|
207
251
|
(0, react_1.useEffect)(() => {
|
|
208
252
|
setVisibility(getDefaultVisibility(defaultData));
|
|
209
253
|
}, [defaultData]);
|
|
254
|
+
(0, react_1.useEffect)(() => {
|
|
255
|
+
if (linkedIteratorState?.mode) {
|
|
256
|
+
setLinkedIteratorMode(linkedIteratorState.mode);
|
|
257
|
+
}
|
|
258
|
+
}, [linkedIteratorState?.mode]);
|
|
210
259
|
(0, react_1.useEffect)(() => {
|
|
211
260
|
if (editErrors.length === 0) {
|
|
212
261
|
setShowSaveErrorTooltip(false);
|
|
@@ -230,6 +279,15 @@ const EditPageProvider = ({ children, contentType, defaultData, preview, onAfter
|
|
|
230
279
|
const handleVisibilityChange = (nextVisibility) => {
|
|
231
280
|
setVisibility(nextVisibility);
|
|
232
281
|
};
|
|
282
|
+
const adoptSharedIterator = () => {
|
|
283
|
+
if (!linkedIteratorState?.iterator)
|
|
284
|
+
return;
|
|
285
|
+
form.replaceDraft({
|
|
286
|
+
...(form.draft.current ?? {}),
|
|
287
|
+
[client_1.ITERATOR_FIELD_NAME]: linkedIteratorState.iterator,
|
|
288
|
+
});
|
|
289
|
+
setLinkedIteratorMode('linked');
|
|
290
|
+
};
|
|
233
291
|
return ((0, jsx_runtime_1.jsx)(EditPageContext.Provider, { value: {
|
|
234
292
|
activeTab,
|
|
235
293
|
canPreview,
|
|
@@ -248,6 +306,13 @@ const EditPageProvider = ({ children, contentType, defaultData, preview, onAfter
|
|
|
248
306
|
isTrashed,
|
|
249
307
|
languageCode: language.code,
|
|
250
308
|
languageList,
|
|
309
|
+
linkedIterator: {
|
|
310
|
+
enabled: Boolean(contentType.linkedIterator),
|
|
311
|
+
state: linkedIteratorState,
|
|
312
|
+
mode: linkedIteratorMode,
|
|
313
|
+
setMode: setLinkedIteratorMode,
|
|
314
|
+
adoptShared: adoptSharedIterator,
|
|
315
|
+
},
|
|
251
316
|
moveToTrashOpen,
|
|
252
317
|
onAfterRestore,
|
|
253
318
|
openMoveToTrashDialog: () => setMoveToTrashOpen(true),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditPageContext.js","sourceRoot":"","sources":["../../../../../../../src/router/dashboard/[contentType]/[edit]/_context/EditPageContext.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EditPageContext.js","sourceRoot":"","sources":["../../../../../../../src/router/dashboard/[contentType]/[edit]/_context/EditPageContext.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
'use client';
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.DynamicDataControl = exports.buildFilter = exports.readFilterState = exports.sourceFieldOptions = exports.isDynamicFieldEnabled = void 0;
|
|
4
|
+
exports.DynamicDataControl = exports.buildFilter = exports.readFilterState = exports.currentDocumentListSourceOptions = exports.sourceFieldOptions = exports.isDynamicFieldEnabled = void 0;
|
|
5
5
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
6
6
|
const client_1 = require("@rakun-kit/core/client");
|
|
7
7
|
const lucide_react_1 = require("lucide-react");
|
|
@@ -33,6 +33,7 @@ const isRecord = (value) => !!value && typeof value === 'object' && !Array.isArr
|
|
|
33
33
|
const isListField = (field) => field.config.ui === 'List' || field.config.ui === 'Iterator';
|
|
34
34
|
const isRelatedCollectionSource = (source) => !!source && 'kind' in source && source.kind === 'relatedCollection';
|
|
35
35
|
const isDynamicVisibleField = (field) => (field.visibility ?? 'all') === 'all' && field.isDynamic !== false;
|
|
36
|
+
const isSelectableDynamicField = (name, field) => name !== client_1.ITERATOR_FIELD_NAME && isDynamicVisibleField(field);
|
|
36
37
|
const isDynamicFieldEnabled = (contentType, field) => {
|
|
37
38
|
return (contentType.dynamicData !== false &&
|
|
38
39
|
isDynamicVisibleField(field));
|
|
@@ -126,7 +127,7 @@ const fileFieldOptions = (path, targetField) => {
|
|
|
126
127
|
return options.filter((option) => isCompatibleSourceKind(option.kind, targetField));
|
|
127
128
|
};
|
|
128
129
|
const nestedSourceFieldOptions = ({ contentType, prefix = '', targetField, depth = 0, }) => Object.entries(contentType.fields).flatMap(([name, field]) => {
|
|
129
|
-
if (!
|
|
130
|
+
if (!isSelectableDynamicField(name, field))
|
|
130
131
|
return [];
|
|
131
132
|
const path = prefix ? `${prefix}.${name}` : name;
|
|
132
133
|
const kind = getFieldKind(field);
|
|
@@ -188,6 +189,39 @@ const sourceFieldOptions = (contentType, targetField) => {
|
|
|
188
189
|
: fields;
|
|
189
190
|
};
|
|
190
191
|
exports.sourceFieldOptions = sourceFieldOptions;
|
|
192
|
+
const currentDocumentListSourceValue = (path, itemName) => `current-document:${path}:${itemName ?? ''}`;
|
|
193
|
+
const currentDocumentListSourceOptions = (contentType) => Object.entries(contentType.fields).flatMap(([name, field]) => {
|
|
194
|
+
if (!isSelectableDynamicField(name, field) || field.isTranslatable)
|
|
195
|
+
return [];
|
|
196
|
+
if (field.config.ui === 'List' || field.config.ui === 'Iterator') {
|
|
197
|
+
const relationEntries = field.fields.filter((entry) => entry.name !== client_1.ITERATOR_FIELD_NAME &&
|
|
198
|
+
entry.field.config.type === 'Relation');
|
|
199
|
+
return relationEntries.map((entry) => ({
|
|
200
|
+
label: relationEntries.length === 1
|
|
201
|
+
? `Current document · ${name}`
|
|
202
|
+
: `Current document · ${name} (${entry.name})`,
|
|
203
|
+
value: currentDocumentListSourceValue(name, entry.name),
|
|
204
|
+
contentType: entry.field.contentType,
|
|
205
|
+
path: name,
|
|
206
|
+
itemName: entry.name,
|
|
207
|
+
}));
|
|
208
|
+
}
|
|
209
|
+
if (field.config.ui === 'SimpleList') {
|
|
210
|
+
const itemField = field.field;
|
|
211
|
+
if (itemField.config.type !== 'Relation')
|
|
212
|
+
return [];
|
|
213
|
+
return [
|
|
214
|
+
{
|
|
215
|
+
label: `Current document · ${name}`,
|
|
216
|
+
value: currentDocumentListSourceValue(name),
|
|
217
|
+
contentType: itemField.contentType,
|
|
218
|
+
path: name,
|
|
219
|
+
},
|
|
220
|
+
];
|
|
221
|
+
}
|
|
222
|
+
return [];
|
|
223
|
+
});
|
|
224
|
+
exports.currentDocumentListSourceOptions = currentDocumentListSourceOptions;
|
|
191
225
|
const createSource = (contentType, value, id) => value === '$href'
|
|
192
226
|
? { contentType, id, virtual: 'href' }
|
|
193
227
|
: { contentType, id, path: value };
|
|
@@ -396,12 +430,15 @@ const bindingSummary = ({ list, fieldBinding, listBinding, documentContentTypeNa
|
|
|
396
430
|
if (list) {
|
|
397
431
|
if (!listBinding)
|
|
398
432
|
return '';
|
|
433
|
+
const source = listBinding.source
|
|
434
|
+
? `Current document.${listBinding.source.path}`
|
|
435
|
+
: listBinding.contentType;
|
|
399
436
|
const limit = listBinding.query?.options?.limit ?? 10;
|
|
400
437
|
const filter = filterSummary(listBinding.query?.filter);
|
|
401
438
|
return [
|
|
402
|
-
`${
|
|
403
|
-
`limit ${limit}`,
|
|
404
|
-
filter,
|
|
439
|
+
`${source} -> ${listBinding.itemName}`,
|
|
440
|
+
listBinding.source ? '' : `limit ${limit}`,
|
|
441
|
+
listBinding.source ? '' : filter,
|
|
405
442
|
]
|
|
406
443
|
.filter(Boolean)
|
|
407
444
|
.join(' · ');
|
|
@@ -502,14 +539,14 @@ const getRelationContentType = (field) => {
|
|
|
502
539
|
return undefined;
|
|
503
540
|
};
|
|
504
541
|
const getRelatedRelationOptions = (contentType, currentSource) => Object.entries(contentType.fields).flatMap(([name, field]) => {
|
|
505
|
-
if (!
|
|
542
|
+
if (!isSelectableDynamicField(name, field))
|
|
506
543
|
return [];
|
|
507
544
|
const relationContentType = getRelationContentType(field);
|
|
508
545
|
return relationContentType?.name === currentSource.name ? [name] : [];
|
|
509
546
|
});
|
|
510
547
|
const getRelatedPathOptions = (contentType, targetField) => (0, exports.sourceFieldOptions)(contentType, targetField).filter((option) => option.kind === 'array' && option.value !== '$href');
|
|
511
548
|
const getSortFieldOptions = (contentType) => Object.entries(contentType.fields).flatMap(([name, field]) => {
|
|
512
|
-
if (!
|
|
549
|
+
if (!isSelectableDynamicField(name, field) ||
|
|
513
550
|
field.isTranslatable ||
|
|
514
551
|
name.startsWith('_') ||
|
|
515
552
|
isSeoPath(name)) {
|
|
@@ -656,15 +693,25 @@ const MappingSourceEditor = ({ contentTypes, currentSource, targetField, source,
|
|
|
656
693
|
})
|
|
657
694
|
: undefined, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: 'w-full', children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, {}) }), (0, jsx_runtime_1.jsxs)(select_1.SelectContent, { children: [(0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: 'asc', children: "Ascending" }), (0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: 'desc', children: "Descending" })] })] })] })] })] }));
|
|
658
695
|
};
|
|
659
|
-
const ListBindingEditor = ({ contentTypes, documentContentType, field, binding, onChange, }) => {
|
|
660
|
-
const
|
|
661
|
-
const
|
|
696
|
+
const ListBindingEditor = ({ contentTypes, documentContentType, currentDocumentSourceEnabled, field, binding, onChange, }) => {
|
|
697
|
+
const itemOptions = field.fields.filter((item) => item.name !== client_1.ITERATOR_FIELD_NAME);
|
|
698
|
+
const documentSourceOptions = currentDocumentSourceEnabled
|
|
699
|
+
? (0, exports.currentDocumentListSourceOptions)(documentContentType)
|
|
700
|
+
: [];
|
|
701
|
+
const initialDocumentSource = binding?.source
|
|
702
|
+
? documentSourceOptions.find((option) => option.path === binding.source?.path &&
|
|
703
|
+
option.itemName === binding.source?.itemName)
|
|
704
|
+
: undefined;
|
|
705
|
+
const [sourceType, setSourceType] = (0, react_1.useState)(initialDocumentSource?.value || binding?.contentType || '');
|
|
706
|
+
const [itemName, setItemName] = (0, react_1.useState)(binding?.itemName || itemOptions[0]?.name || '');
|
|
662
707
|
const [filterState, setFilterState] = (0, react_1.useState)((0, exports.readFilterState)(binding?.query?.filter));
|
|
663
708
|
const [openMappingField, setOpenMappingField] = (0, react_1.useState)(null);
|
|
664
|
-
const
|
|
709
|
+
const selectedDocumentSource = documentSourceOptions.find((option) => option.value === sourceType);
|
|
710
|
+
const selectedSource = selectedDocumentSource?.contentType ??
|
|
711
|
+
contentTypes.find((ct) => ct.name === sourceType);
|
|
665
712
|
const targetContentType = getListTargetContentType(field, itemName);
|
|
666
713
|
const targetFields = (0, react_1.useMemo)(() => targetContentType
|
|
667
|
-
? Object.entries(targetContentType.fields).filter(([, targetField]) =>
|
|
714
|
+
? Object.entries(targetContentType.fields).filter(([targetFieldName, targetField]) => isSelectableDynamicField(targetFieldName, targetField))
|
|
668
715
|
: [], [targetContentType]);
|
|
669
716
|
const sortFieldOptions = selectedSource
|
|
670
717
|
? getSortFieldOptions(selectedSource)
|
|
@@ -682,11 +729,22 @@ const ListBindingEditor = ({ contentTypes, documentContentType, field, binding,
|
|
|
682
729
|
const sortField = sortEntry?.[0] ?? '';
|
|
683
730
|
const sortDirection = sortEntry?.[1] ?? 'desc';
|
|
684
731
|
const emit = (patch) => {
|
|
732
|
+
const source = selectedDocumentSource
|
|
733
|
+
? {
|
|
734
|
+
kind: 'currentDocument',
|
|
735
|
+
contentType: documentContentType.name,
|
|
736
|
+
path: selectedDocumentSource.path,
|
|
737
|
+
itemName: selectedDocumentSource.itemName,
|
|
738
|
+
}
|
|
739
|
+
: undefined;
|
|
685
740
|
const next = {
|
|
686
|
-
contentType:
|
|
741
|
+
contentType: selectedSource?.name ?? '',
|
|
742
|
+
source,
|
|
687
743
|
itemName,
|
|
688
744
|
map: binding?.map ?? {},
|
|
689
|
-
query:
|
|
745
|
+
query: source
|
|
746
|
+
? undefined
|
|
747
|
+
: (binding?.query ?? { options: { limit: 10 } }),
|
|
690
748
|
...patch,
|
|
691
749
|
};
|
|
692
750
|
if (!next.contentType || !next.itemName) {
|
|
@@ -709,26 +767,40 @@ const ListBindingEditor = ({ contentTypes, documentContentType, field, binding,
|
|
|
709
767
|
conditions[index] = nextCondition;
|
|
710
768
|
updateFilter({ ...filterState, conditions });
|
|
711
769
|
};
|
|
712
|
-
return ((0, jsx_runtime_1.jsxs)("div", { className: 'grid gap-3', children: [(0, jsx_runtime_1.jsx)(PanelSection, { title: 'Collection', children: (0, jsx_runtime_1.jsxs)("div", { className: 'grid gap-3 md:grid-cols-2', children: [(0, jsx_runtime_1.jsxs)(label_1.Label, { className: 'grid gap-1.5', children: ["Source", (0, jsx_runtime_1.jsxs)(select_1.Select, { disabled: contentTypes.length === 0, value: sourceType, onValueChange: (value) => {
|
|
770
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: 'grid gap-3', children: [(0, jsx_runtime_1.jsx)(PanelSection, { title: 'Collection', children: (0, jsx_runtime_1.jsxs)("div", { className: 'grid gap-3 md:grid-cols-2', children: [(0, jsx_runtime_1.jsxs)(label_1.Label, { className: 'grid gap-1.5', children: ["Source", (0, jsx_runtime_1.jsxs)(select_1.Select, { disabled: contentTypes.length === 0 && documentSourceOptions.length === 0, value: sourceType, onValueChange: (value) => {
|
|
771
|
+
const documentSource = documentSourceOptions.find((option) => option.value === value);
|
|
713
772
|
setSourceType(value);
|
|
714
773
|
const nextFilterState = {
|
|
715
774
|
combinator: 'and',
|
|
716
775
|
conditions: [],
|
|
717
776
|
};
|
|
718
777
|
setFilterState(nextFilterState);
|
|
719
|
-
|
|
720
|
-
contentType: value,
|
|
778
|
+
onChange({
|
|
779
|
+
contentType: documentSource?.contentType.name ?? value,
|
|
780
|
+
source: documentSource
|
|
781
|
+
? {
|
|
782
|
+
kind: 'currentDocument',
|
|
783
|
+
contentType: documentContentType.name,
|
|
784
|
+
path: documentSource.path,
|
|
785
|
+
itemName: documentSource.itemName,
|
|
786
|
+
}
|
|
787
|
+
: undefined,
|
|
788
|
+
itemName,
|
|
721
789
|
map: {},
|
|
722
|
-
query:
|
|
723
|
-
|
|
724
|
-
|
|
790
|
+
query: documentSource
|
|
791
|
+
? undefined
|
|
792
|
+
: {
|
|
793
|
+
options: {
|
|
794
|
+
limit: binding?.query?.options?.limit ?? 10,
|
|
795
|
+
},
|
|
725
796
|
},
|
|
726
|
-
},
|
|
727
797
|
});
|
|
728
|
-
}, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: 'w-full', children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: contentTypes.length > 0
|
|
798
|
+
}, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: 'w-full', children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: contentTypes.length > 0 || documentSourceOptions.length > 0
|
|
799
|
+
? 'Content type or document list'
|
|
800
|
+
: 'No compatible sources' }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { children: (0, jsx_runtime_1.jsxs)(select_1.SelectGroup, { children: [documentSourceOptions.map((option) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: option.value, children: option.label }, option.value))), contentTypes.map((ct) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: ct.name, children: ct.name }, ct.name)))] }) })] })] }), (0, jsx_runtime_1.jsxs)(label_1.Label, { className: 'grid gap-1.5', children: ["Item", (0, jsx_runtime_1.jsxs)(select_1.Select, { disabled: !sourceType || itemOptions.length === 0, value: itemName, onValueChange: (value) => {
|
|
729
801
|
setItemName(value);
|
|
730
802
|
emit({ itemName: value, map: {} });
|
|
731
|
-
}, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: 'w-full', children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder:
|
|
803
|
+
}, children: [(0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: 'w-full', children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: itemOptions.length > 0 ? 'Item type' : 'No item types' }) }), (0, jsx_runtime_1.jsx)(select_1.SelectContent, { children: (0, jsx_runtime_1.jsx)(select_1.SelectGroup, { children: itemOptions.map((item) => ((0, jsx_runtime_1.jsx)(select_1.SelectItem, { value: item.name, children: item.name }, item.name))) }) })] })] })] }) }), selectedDocumentSource ? null : ((0, jsx_runtime_1.jsxs)(PanelSection, { title: 'Query', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'grid grid-cols-[minmax(5rem,0.4fr)_minmax(0,1.2fr)_minmax(8rem,0.6fr)] items-end gap-3', children: [(0, jsx_runtime_1.jsxs)(label_1.Label, { className: 'grid gap-1.5', children: ["Limit", (0, jsx_runtime_1.jsx)(input_1.Input, { type: 'number', min: 1, max: 100, value: String(binding?.query?.options?.limit ?? 10), onChange: (event) => emit({
|
|
732
804
|
query: {
|
|
733
805
|
...binding?.query,
|
|
734
806
|
options: {
|
|
@@ -817,7 +889,7 @@ const ListBindingEditor = ({ contentTypes, documentContentType, field, binding,
|
|
|
817
889
|
...filterState,
|
|
818
890
|
conditions: filterState.conditions.filter((_, conditionIndex) => conditionIndex !== index),
|
|
819
891
|
}), children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Trash2, { className: 'h-4 w-4' }), (0, jsx_runtime_1.jsx)("span", { className: 'sr-only', children: "Remove condition" })] })] }, `${index}-${condition.field}`));
|
|
820
|
-
}) }))] })] }), (0, jsx_runtime_1.jsx)(PanelSection, { title: 'Mapping', children: (0, jsx_runtime_1.jsx)("div", { className: 'grid gap-2', children: targetFields.map(([targetField, targetFieldConfig]) => {
|
|
892
|
+
}) }))] })] })), (0, jsx_runtime_1.jsx)(PanelSection, { title: 'Mapping', children: (0, jsx_runtime_1.jsx)("div", { className: 'grid gap-2', children: targetFields.map(([targetField, targetFieldConfig]) => {
|
|
821
893
|
const source = binding?.map?.[targetField];
|
|
822
894
|
const summary = mappingSourceSummary(source, selectedSource?.name ?? 'Source');
|
|
823
895
|
const isOpen = openMappingField === targetField;
|
|
@@ -916,7 +988,7 @@ const DynamicDataControl = ({ contentType, documentContentType, fieldName, field
|
|
|
916
988
|
setOpen(false);
|
|
917
989
|
};
|
|
918
990
|
const trigger = ((0, jsx_runtime_1.jsxs)("div", { className: 'flex min-w-0 items-center gap-1.5', children: [(0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)("button", { type: 'button', className: 'min-w-0 cursor-pointer rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring', onClick: () => setOpen((value) => !value), children: bound && summary ? ((0, jsx_runtime_1.jsxs)(badge_1.Badge, { variant: 'secondary', className: 'max-w-80 min-w-0 gap-1.5 rounded-md px-2 py-1 hover:bg-secondary/80', children: [list ? ((0, jsx_runtime_1.jsx)(lucide_react_1.ListFilter, { className: 'h-3.5 w-3.5 shrink-0' })) : ((0, jsx_runtime_1.jsx)(lucide_react_1.Link2, { className: 'h-3.5 w-3.5 shrink-0' })), (0, jsx_runtime_1.jsx)("span", { className: 'truncate', children: summary })] })) : ((0, jsx_runtime_1.jsxs)(badge_1.Badge, { variant: 'outline', className: 'gap-1.5 rounded-md px-2 py-1 text-muted-foreground', children: [(0, jsx_runtime_1.jsx)(lucide_react_1.Cable, { className: 'h-3.5 w-3.5' }), "Not linked"] })) }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { side: 'top', sideOffset: 6, children: triggerLabel })] }), bound ? ((0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(button_1.Button, { type: 'button', size: 'icon', variant: 'ghost', className: 'size-6', onClick: clearBinding, children: [(0, jsx_runtime_1.jsx)(lucide_react_1.X, { className: 'h-4 w-4' }), (0, jsx_runtime_1.jsx)("span", { className: 'sr-only', children: "Clear dynamic data" })] }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { side: 'top', sideOffset: 6, children: "Clear dynamic data link" })] })) : null] }));
|
|
919
|
-
const editor = list ? ((0, jsx_runtime_1.jsx)(ListBindingEditor, { contentTypes: sourceContentTypes, documentContentType: currentDocumentContentType, field: field, binding: listBinding, onChange: updateListBinding })) : ((0, jsx_runtime_1.jsx)(FieldBindingEditor, { contentTypes: fieldSourceContentTypes, documentContentType: currentDocumentContentType, currentDocumentSourceEnabled: currentDocumentSourceEnabled, targetField: field, binding: fieldBinding, onChange: updateFieldBinding }));
|
|
991
|
+
const editor = list ? ((0, jsx_runtime_1.jsx)(ListBindingEditor, { contentTypes: sourceContentTypes, documentContentType: currentDocumentContentType, currentDocumentSourceEnabled: currentDocumentSourceEnabled, field: field, binding: listBinding, onChange: updateListBinding })) : ((0, jsx_runtime_1.jsx)(FieldBindingEditor, { contentTypes: fieldSourceContentTypes, documentContentType: currentDocumentContentType, currentDocumentSourceEnabled: currentDocumentSourceEnabled, targetField: field, binding: fieldBinding, onChange: updateFieldBinding }));
|
|
920
992
|
const panel = isOpen ? ((0, jsx_runtime_1.jsx)("div", { className: 'rounded-md border border-border bg-background p-4 shadow-sm', children: editor })) : null;
|
|
921
993
|
const dialog = ((0, jsx_runtime_1.jsx)(dialog_1.Dialog, { open: isOpen, onOpenChange: (value) => {
|
|
922
994
|
if (value) {
|