@strapi/content-manager 0.0.0-next.e98ae27d8c69c68823eb7c46cf329385637ba393 → 0.0.0-next.eb48c73c86cbc452c1ba8d727106f9ed9da0c834
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/admin/chunks/{ComponentConfigurationPage-Bn-SMKJG.js → ComponentConfigurationPage-B-gE3kXG.js} +5 -6
- package/dist/admin/chunks/{ComponentConfigurationPage-Bn-SMKJG.js.map → ComponentConfigurationPage-B-gE3kXG.js.map} +1 -1
- package/dist/admin/chunks/{ComponentConfigurationPage-Cqi5KqZa.mjs → ComponentConfigurationPage-R5N6EwIp.mjs} +5 -6
- package/dist/admin/chunks/{ComponentConfigurationPage-Cqi5KqZa.mjs.map → ComponentConfigurationPage-R5N6EwIp.mjs.map} +1 -1
- package/dist/admin/chunks/{EditConfigurationPage-Dm16gciL.mjs → EditConfigurationPage-0y9O2nBU.mjs} +5 -6
- package/dist/admin/chunks/{EditConfigurationPage-Dm16gciL.mjs.map → EditConfigurationPage-0y9O2nBU.mjs.map} +1 -1
- package/dist/admin/chunks/{EditConfigurationPage-CRxsqOhS.js → EditConfigurationPage-C62WuGTf.js} +5 -6
- package/dist/admin/chunks/{EditConfigurationPage-CRxsqOhS.js.map → EditConfigurationPage-C62WuGTf.js.map} +1 -1
- package/dist/admin/chunks/{EditViewPage-Dk8CeS40.js → EditViewPage-CiYAHBOX.js} +102 -95
- package/dist/admin/chunks/EditViewPage-CiYAHBOX.js.map +1 -0
- package/dist/admin/chunks/{EditViewPage-eTCSh2HB.mjs → EditViewPage-CkO2YLdg.mjs} +102 -95
- package/dist/admin/chunks/EditViewPage-CkO2YLdg.mjs.map +1 -0
- package/dist/admin/chunks/{Form-PB1sNax8.js → Form-DUs6lQ0C.js} +5 -5
- package/dist/admin/chunks/{Form-PB1sNax8.js.map → Form-DUs6lQ0C.js.map} +1 -1
- package/dist/admin/chunks/{Form-K_hq8zU4.mjs → Form-Db9A3cMO.mjs} +3 -3
- package/dist/admin/chunks/{Form-K_hq8zU4.mjs.map → Form-Db9A3cMO.mjs.map} +1 -1
- package/dist/admin/chunks/{History-CD5uVchr.mjs → History-BQ7IAJjV.mjs} +16 -12
- package/dist/admin/chunks/History-BQ7IAJjV.mjs.map +1 -0
- package/dist/admin/chunks/{History-CfsF-U-3.js → History-D99wxPry.js} +17 -13
- package/dist/admin/chunks/History-D99wxPry.js.map +1 -0
- package/dist/admin/chunks/{Input-grmHplxs.mjs → Input-CHDnpU3S.mjs} +1340 -55
- package/dist/admin/chunks/Input-CHDnpU3S.mjs.map +1 -0
- package/dist/admin/chunks/{Input-CU93J6dl.js → Input-Gop65dq6.js} +1352 -64
- package/dist/admin/chunks/Input-Gop65dq6.js.map +1 -0
- package/dist/admin/chunks/{ListConfigurationPage-Eo8txFp0.mjs → ListConfigurationPage-Bte99c0c.mjs} +4 -5
- package/dist/admin/chunks/{ListConfigurationPage-Eo8txFp0.mjs.map → ListConfigurationPage-Bte99c0c.mjs.map} +1 -1
- package/dist/admin/chunks/{ListConfigurationPage-nZti--Mw.js → ListConfigurationPage-pAdM7Lbn.js} +6 -7
- package/dist/admin/chunks/{ListConfigurationPage-nZti--Mw.js.map → ListConfigurationPage-pAdM7Lbn.js.map} +1 -1
- package/dist/admin/chunks/{ListViewPage-BBX-zSka.mjs → ListViewPage-7RTPaDs2.mjs} +3 -5
- package/dist/admin/chunks/ListViewPage-7RTPaDs2.mjs.map +1 -0
- package/dist/admin/chunks/{ListViewPage-DQYvHCxn.js → ListViewPage-CaBwwCVc.js} +7 -9
- package/dist/admin/chunks/ListViewPage-CaBwwCVc.js.map +1 -0
- package/dist/admin/chunks/{NoContentTypePage-C-rbOQO1.mjs → NoContentTypePage-CuTk3q_I.mjs} +2 -2
- package/dist/admin/chunks/{NoContentTypePage-C-rbOQO1.mjs.map → NoContentTypePage-CuTk3q_I.mjs.map} +1 -1
- package/dist/admin/chunks/{NoContentTypePage-ChYgz3sN.js → NoContentTypePage-DLD28j4F.js} +2 -2
- package/dist/admin/chunks/{NoContentTypePage-ChYgz3sN.js.map → NoContentTypePage-DLD28j4F.js.map} +1 -1
- package/dist/admin/chunks/{NoPermissionsPage-CuxrInhz.mjs → NoPermissionsPage-DSIlPmvv.mjs} +2 -2
- package/dist/admin/chunks/{NoPermissionsPage-CuxrInhz.mjs.map → NoPermissionsPage-DSIlPmvv.mjs.map} +1 -1
- package/dist/admin/chunks/{NoPermissionsPage-H4SAlJeF.js → NoPermissionsPage-iVMEcUp0.js} +2 -2
- package/dist/admin/chunks/{NoPermissionsPage-H4SAlJeF.js.map → NoPermissionsPage-iVMEcUp0.js.map} +1 -1
- package/dist/admin/chunks/{Preview-HqnNXn4S.mjs → Preview-35wsOM_p.mjs} +136 -211
- package/dist/admin/chunks/Preview-35wsOM_p.mjs.map +1 -0
- package/dist/admin/chunks/{Preview-Bz2dgOiw.js → Preview-CSU1sCSK.js} +134 -209
- package/dist/admin/chunks/Preview-CSU1sCSK.js.map +1 -0
- package/dist/admin/chunks/{en-CImiNxXE.mjs → en-C2zEwS3-.mjs} +4 -1
- package/dist/admin/chunks/{en-CImiNxXE.mjs.map → en-C2zEwS3-.mjs.map} +1 -1
- package/dist/admin/chunks/{en-CLf4SuMQ.js → en-G976DLsg.js} +4 -1
- package/dist/admin/chunks/{en-CLf4SuMQ.js.map → en-G976DLsg.js.map} +1 -1
- package/dist/admin/chunks/{index-DfX0uEQT.js → index-Cmh0Byay.js} +213 -129
- package/dist/admin/chunks/index-Cmh0Byay.js.map +1 -0
- package/dist/admin/chunks/{index-CS_nLuw2.mjs → index-DFvqTQvr.mjs} +212 -131
- package/dist/admin/chunks/index-DFvqTQvr.mjs.map +1 -0
- package/dist/admin/chunks/{layout-B4Uk0v1z.js → layout-DuH1v82S.js} +86 -13
- package/dist/admin/chunks/layout-DuH1v82S.js.map +1 -0
- package/dist/admin/chunks/{layout-BInXGFmo.mjs → layout-zQ9o6rg0.mjs} +78 -5
- package/dist/admin/chunks/layout-zQ9o6rg0.mjs.map +1 -0
- package/dist/admin/chunks/{useDragAndDrop-gcqEJMnO.js → objects-BJTP843m.js} +73 -1
- package/dist/admin/chunks/objects-BJTP843m.js.map +1 -0
- package/dist/admin/chunks/{useDragAndDrop-HYwNDExe.mjs → objects-D2z-IJgu.mjs} +72 -2
- package/dist/admin/chunks/objects-D2z-IJgu.mjs.map +1 -0
- package/dist/admin/chunks/{relations-9C5dQI9e.js → usePrev-B_pceXQ5.js} +18 -2
- package/dist/admin/chunks/usePrev-B_pceXQ5.js.map +1 -0
- package/dist/admin/chunks/{relations-CwL0ThH9.mjs → usePrev-CJFOGBK2.mjs} +18 -4
- package/dist/admin/chunks/usePrev-CJFOGBK2.mjs.map +1 -0
- package/dist/admin/chunks/{zh-Hans-CI0HKio3.mjs → zh-Hans-DEAhqI3x.mjs} +3 -2
- package/dist/admin/chunks/{zh-Hans-CI0HKio3.mjs.map → zh-Hans-DEAhqI3x.mjs.map} +1 -1
- package/dist/admin/chunks/{zh-Hans-JVK9x7xr.js → zh-Hans-Djj7eGpO.js} +3 -2
- package/dist/admin/chunks/{zh-Hans-JVK9x7xr.js.map → zh-Hans-Djj7eGpO.js.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/content-manager.d.ts +3 -0
- package/dist/admin/src/features/DocumentContext.d.ts +53 -0
- package/dist/admin/src/features/DocumentRBAC.d.ts +3 -2
- package/dist/admin/src/hooks/useDocument.d.ts +2 -0
- package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +8 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/{Relations.d.ts → Relations/Relations.d.ts} +9 -4
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +8 -3
- package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +7 -4
- package/dist/admin/src/preview/components/PreviewHeader.d.ts +1 -2
- package/package.json +6 -6
- package/dist/admin/chunks/EditViewPage-Dk8CeS40.js.map +0 -1
- package/dist/admin/chunks/EditViewPage-eTCSh2HB.mjs.map +0 -1
- package/dist/admin/chunks/History-CD5uVchr.mjs.map +0 -1
- package/dist/admin/chunks/History-CfsF-U-3.js.map +0 -1
- package/dist/admin/chunks/Input-CU93J6dl.js.map +0 -1
- package/dist/admin/chunks/Input-grmHplxs.mjs.map +0 -1
- package/dist/admin/chunks/ListViewPage-BBX-zSka.mjs.map +0 -1
- package/dist/admin/chunks/ListViewPage-DQYvHCxn.js.map +0 -1
- package/dist/admin/chunks/Preview-Bz2dgOiw.js.map +0 -1
- package/dist/admin/chunks/Preview-HqnNXn4S.mjs.map +0 -1
- package/dist/admin/chunks/Relations-BMvL4yMN.mjs +0 -1291
- package/dist/admin/chunks/Relations-BMvL4yMN.mjs.map +0 -1
- package/dist/admin/chunks/Relations-CbCAt692.js +0 -1318
- package/dist/admin/chunks/Relations-CbCAt692.js.map +0 -1
- package/dist/admin/chunks/index-CS_nLuw2.mjs.map +0 -1
- package/dist/admin/chunks/index-DfX0uEQT.js.map +0 -1
- package/dist/admin/chunks/layout-B4Uk0v1z.js.map +0 -1
- package/dist/admin/chunks/layout-BInXGFmo.mjs.map +0 -1
- package/dist/admin/chunks/objects-C3EebVVe.js +0 -76
- package/dist/admin/chunks/objects-C3EebVVe.js.map +0 -1
- package/dist/admin/chunks/objects-wl73iEma.mjs +0 -73
- package/dist/admin/chunks/objects-wl73iEma.mjs.map +0 -1
- package/dist/admin/chunks/relations-9C5dQI9e.js.map +0 -1
- package/dist/admin/chunks/relations-CwL0ThH9.mjs.map +0 -1
- package/dist/admin/chunks/useDragAndDrop-HYwNDExe.mjs.map +0 -1
- package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js.map +0 -1
- package/dist/admin/chunks/usePrev-Bjw2dhmq.mjs +0 -18
- package/dist/admin/chunks/usePrev-Bjw2dhmq.mjs.map +0 -1
- package/dist/admin/chunks/usePrev-DIYl-IAL.js +0 -21
- package/dist/admin/chunks/usePrev-DIYl-IAL.js.map +0 -1
- package/dist/admin/src/preview/components/PreviewContent.d.ts +0 -3
@@ -4,14 +4,14 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
4
4
|
var React = require('react');
|
5
5
|
var strapiAdmin = require('@strapi/admin/strapi-admin');
|
6
6
|
var designSystem = require('@strapi/design-system');
|
7
|
+
var Icons = require('@strapi/icons');
|
7
8
|
var reactIntl = require('react-intl');
|
8
9
|
var reactRouterDom = require('react-router-dom');
|
9
|
-
var index = require('./index-DfX0uEQT.js');
|
10
|
-
var Icons = require('@strapi/icons');
|
11
10
|
var styledComponents = require('styled-components');
|
12
|
-
var
|
11
|
+
var index = require('./index-Cmh0Byay.js');
|
12
|
+
var Input = require('./Input-Gop65dq6.js');
|
13
13
|
var qs = require('qs');
|
14
|
-
var EditViewPage = require('./EditViewPage-
|
14
|
+
var EditViewPage = require('./EditViewPage-CiYAHBOX.js');
|
15
15
|
require('lodash/fp/mapValues');
|
16
16
|
require('yup');
|
17
17
|
require('fractional-indexing');
|
@@ -72,19 +72,16 @@ require('prismjs/components/prism-typescript');
|
|
72
72
|
require('prismjs/components/prism-tsx');
|
73
73
|
require('prismjs/components/prism-vbnet');
|
74
74
|
require('prismjs/components/prism-yaml');
|
75
|
-
require('./usePrev-
|
76
|
-
require('./
|
75
|
+
require('./usePrev-B_pceXQ5.js');
|
76
|
+
require('./objects-BJTP843m.js');
|
77
77
|
require('react-dnd');
|
78
|
-
require('@radix-ui/react-toolbar');
|
79
|
-
require('react-dnd-html5-backend');
|
80
|
-
require('./objects-C3EebVVe.js');
|
81
78
|
require('lodash/clone');
|
82
79
|
require('lodash/toPath');
|
83
|
-
require('
|
84
|
-
require('react-
|
85
|
-
require('./relations-9C5dQI9e.js');
|
80
|
+
require('@radix-ui/react-toolbar');
|
81
|
+
require('react-dnd-html5-backend');
|
86
82
|
require('./ComponentIcon-C-EjOUPA.js');
|
87
83
|
require('@strapi/icons/symbols');
|
84
|
+
require('react-window');
|
88
85
|
require('codemirror5');
|
89
86
|
require('sanitize-html');
|
90
87
|
require('highlight.js');
|
@@ -120,93 +117,6 @@ function _interopNamespaceDefault(e) {
|
|
120
117
|
|
121
118
|
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
122
119
|
|
123
|
-
// TODO use ArrowLineLeft once it's available in the DS
|
124
|
-
const AnimatedArrow = styledComponents.styled(Icons.ArrowLeft)`
|
125
|
-
will-change: transform;
|
126
|
-
rotate: ${(props)=>props.isSideEditorOpen ? '0deg' : '180deg'};
|
127
|
-
transition: rotate 0.2s ease-in-out;
|
128
|
-
`;
|
129
|
-
const UnstablePreviewContent = ()=>{
|
130
|
-
const previewUrl = usePreviewContext('PreviewContent', (state)=>state.url);
|
131
|
-
const layout = usePreviewContext('PreviewContent', (state)=>state.layout);
|
132
|
-
const { formatMessage } = reactIntl.useIntl();
|
133
|
-
const [isSideEditorOpen, setIsSideEditorOpen] = React__namespace.useState(true);
|
134
|
-
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
135
|
-
flex: 1,
|
136
|
-
overflow: "auto",
|
137
|
-
alignItems: "stretch",
|
138
|
-
children: [
|
139
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
140
|
-
overflow: "auto",
|
141
|
-
width: isSideEditorOpen ? '50%' : 0,
|
142
|
-
borderWidth: "0 1px 0 0",
|
143
|
-
borderColor: "neutral150",
|
144
|
-
paddingTop: 6,
|
145
|
-
paddingBottom: 6,
|
146
|
-
// Remove horizontal padding when the editor is closed or it won't fully disappear
|
147
|
-
paddingLeft: isSideEditorOpen ? 6 : 0,
|
148
|
-
paddingRight: isSideEditorOpen ? 6 : 0,
|
149
|
-
transition: "all 0.2s ease-in-out",
|
150
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(Input.FormLayout, {
|
151
|
-
layout: layout.layout,
|
152
|
-
hasBackground: true
|
153
|
-
})
|
154
|
-
}),
|
155
|
-
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
|
156
|
-
position: "relative",
|
157
|
-
flex: 1,
|
158
|
-
height: "100%",
|
159
|
-
overflow: "hidden",
|
160
|
-
children: [
|
161
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
162
|
-
src: previewUrl,
|
163
|
-
title: formatMessage({
|
164
|
-
id: 'content-manager.preview.panel.title',
|
165
|
-
defaultMessage: 'Preview'
|
166
|
-
}),
|
167
|
-
width: "100%",
|
168
|
-
height: "100%",
|
169
|
-
borderWidth: 0,
|
170
|
-
tag: "iframe"
|
171
|
-
}, previewUrl),
|
172
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
|
173
|
-
variant: "tertiary",
|
174
|
-
label: formatMessage(isSideEditorOpen ? {
|
175
|
-
id: 'content-manager.preview.content.close-editor',
|
176
|
-
defaultMessage: 'Close editor'
|
177
|
-
} : {
|
178
|
-
id: 'content-manager.preview.content.open-editor',
|
179
|
-
defaultMessage: 'Open editor'
|
180
|
-
}),
|
181
|
-
onClick: ()=>setIsSideEditorOpen((prev)=>!prev),
|
182
|
-
position: "absolute",
|
183
|
-
top: 2,
|
184
|
-
left: 2,
|
185
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(AnimatedArrow, {
|
186
|
-
isSideEditorOpen: isSideEditorOpen
|
187
|
-
})
|
188
|
-
})
|
189
|
-
]
|
190
|
-
})
|
191
|
-
]
|
192
|
-
});
|
193
|
-
};
|
194
|
-
const PreviewContent = ()=>{
|
195
|
-
const previewUrl = usePreviewContext('PreviewContent', (state)=>state.url);
|
196
|
-
const { formatMessage } = reactIntl.useIntl();
|
197
|
-
return /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
198
|
-
src: previewUrl,
|
199
|
-
title: formatMessage({
|
200
|
-
id: 'content-manager.preview.panel.title',
|
201
|
-
defaultMessage: 'Preview'
|
202
|
-
}),
|
203
|
-
width: "100%",
|
204
|
-
height: "100%",
|
205
|
-
borderWidth: 0,
|
206
|
-
tag: "iframe"
|
207
|
-
}, previewUrl);
|
208
|
-
};
|
209
|
-
|
210
120
|
/* -------------------------------------------------------------------------------------------------
|
211
121
|
* ClosePreviewButton
|
212
122
|
* -----------------------------------------------------------------------------------------------*/ const ClosePreviewButton = ()=>{
|
@@ -318,12 +228,13 @@ const PreviewTabs = ()=>{
|
|
318
228
|
};
|
319
229
|
/* -------------------------------------------------------------------------------------------------
|
320
230
|
* PreviewHeader
|
321
|
-
* -----------------------------------------------------------------------------------------------*/ const
|
231
|
+
* -----------------------------------------------------------------------------------------------*/ const PreviewHeader = ()=>{
|
322
232
|
const title = usePreviewContext('PreviewHeader', (state)=>state.title);
|
323
233
|
const document = usePreviewContext('PreviewHeader', (state)=>state.document);
|
324
234
|
const schema = usePreviewContext('PreviewHeader', (state)=>state.schema);
|
325
235
|
const meta = usePreviewContext('PreviewHeader', (state)=>state.meta);
|
326
236
|
const plugins = strapiAdmin.useStrapiApp('PreviewHeader', (state)=>state.plugins);
|
237
|
+
const onPreview = index.useDocumentContext('PreviewHeader', (state)=>state.onPreview);
|
327
238
|
const [{ query }] = strapiAdmin.useQueryParams();
|
328
239
|
const { formatMessage } = reactIntl.useIntl();
|
329
240
|
const { toggleNotification } = strapiAdmin.useNotification();
|
@@ -339,13 +250,15 @@ const PreviewTabs = ()=>{
|
|
339
250
|
});
|
340
251
|
};
|
341
252
|
const hasDraftAndPublish = schema.options?.draftAndPublish ?? false;
|
342
|
-
const
|
253
|
+
const documentActionProps = {
|
343
254
|
activeTab: query.status ?? null,
|
344
255
|
collectionType: schema.kind === 'collectionType' ? 'collection-types' : 'single-types',
|
345
256
|
model: schema.uid,
|
346
257
|
documentId: document.documentId,
|
347
258
|
document,
|
348
|
-
meta
|
259
|
+
meta,
|
260
|
+
onPreview,
|
261
|
+
fromPreview: true
|
349
262
|
};
|
350
263
|
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
351
264
|
height: "48px",
|
@@ -399,7 +312,7 @@ const PreviewTabs = ()=>{
|
|
399
312
|
area: "preview.actions"
|
400
313
|
}),
|
401
314
|
/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.DescriptionComponentRenderer, {
|
402
|
-
props:
|
315
|
+
props: documentActionProps,
|
403
316
|
descriptions: plugins['content-manager'].apis.getDocumentActions('preview'),
|
404
317
|
children: (actions)=>{
|
405
318
|
const filteredActions = actions.filter((action)=>[
|
@@ -436,74 +349,6 @@ const PreviewTabs = ()=>{
|
|
436
349
|
]
|
437
350
|
});
|
438
351
|
};
|
439
|
-
const PreviewHeader = ()=>{
|
440
|
-
// Get the document title
|
441
|
-
const title = usePreviewContext('PreviewHeader', (state)=>state.title);
|
442
|
-
const { formatMessage } = reactIntl.useIntl();
|
443
|
-
const { toggleNotification } = strapiAdmin.useNotification();
|
444
|
-
const { copy } = strapiAdmin.useClipboard();
|
445
|
-
const handleCopyLink = ()=>{
|
446
|
-
copy(window.location.href);
|
447
|
-
toggleNotification({
|
448
|
-
message: formatMessage({
|
449
|
-
id: 'content-manager.preview.copy.success',
|
450
|
-
defaultMessage: 'Copied preview link'
|
451
|
-
}),
|
452
|
-
type: 'success'
|
453
|
-
});
|
454
|
-
};
|
455
|
-
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Grid.Root, {
|
456
|
-
gap: 3,
|
457
|
-
gridCols: 3,
|
458
|
-
paddingLeft: 2,
|
459
|
-
paddingRight: 2,
|
460
|
-
background: "neutral0",
|
461
|
-
borderColor: "neutral150",
|
462
|
-
tag: "header",
|
463
|
-
children: [
|
464
|
-
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Grid.Item, {
|
465
|
-
xs: 1,
|
466
|
-
paddingTop: 2,
|
467
|
-
paddingBottom: 2,
|
468
|
-
gap: 3,
|
469
|
-
children: [
|
470
|
-
/*#__PURE__*/ jsxRuntime.jsx(ClosePreviewButton, {}),
|
471
|
-
/*#__PURE__*/ jsxRuntime.jsx(PreviewTitle, {
|
472
|
-
tag: "h1",
|
473
|
-
fontWeight: 600,
|
474
|
-
fontSize: 2,
|
475
|
-
maxWidth: "200px",
|
476
|
-
title: title,
|
477
|
-
children: title
|
478
|
-
}),
|
479
|
-
/*#__PURE__*/ jsxRuntime.jsx(Status, {})
|
480
|
-
]
|
481
|
-
}),
|
482
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
|
483
|
-
xs: 1,
|
484
|
-
marginBottom: "-1px",
|
485
|
-
alignItems: "end",
|
486
|
-
margin: "auto",
|
487
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(PreviewTabs, {})
|
488
|
-
}),
|
489
|
-
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Grid.Item, {
|
490
|
-
xs: 1,
|
491
|
-
justifyContent: "end",
|
492
|
-
paddingTop: 2,
|
493
|
-
paddingBottom: 2,
|
494
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
|
495
|
-
type: "button",
|
496
|
-
label: formatMessage({
|
497
|
-
id: 'preview.copy.label',
|
498
|
-
defaultMessage: 'Copy preview link'
|
499
|
-
}),
|
500
|
-
onClick: handleCopyLink,
|
501
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Link, {})
|
502
|
-
})
|
503
|
-
})
|
504
|
-
]
|
505
|
-
});
|
506
|
-
};
|
507
352
|
const PreviewTitle = styledComponents.styled(designSystem.Typography)`
|
508
353
|
overflow: hidden;
|
509
354
|
text-overflow: ellipsis;
|
@@ -519,9 +364,16 @@ const TitleContainer = styledComponents.styled(designSystem.Flex)`
|
|
519
364
|
const [PreviewProvider, usePreviewContext] = strapiAdmin.createContext('PreviewPage');
|
520
365
|
/* -------------------------------------------------------------------------------------------------
|
521
366
|
* PreviewPage
|
522
|
-
* -----------------------------------------------------------------------------------------------*/ const
|
367
|
+
* -----------------------------------------------------------------------------------------------*/ const AnimatedArrow = styledComponents.styled(Icons.ArrowLineLeft)`
|
368
|
+
will-change: transform;
|
369
|
+
rotate: ${(props)=>props.isSideEditorOpen ? '0deg' : '180deg'};
|
370
|
+
transition: rotate 0.2s ease-in-out;
|
371
|
+
`;
|
372
|
+
const PreviewPage = ()=>{
|
523
373
|
const location = reactRouterDom.useLocation();
|
524
374
|
const { formatMessage } = reactIntl.useIntl();
|
375
|
+
const iframeRef = React__namespace.useRef(null);
|
376
|
+
const [isSideEditorOpen, setIsSideEditorOpen] = React__namespace.useState(true);
|
525
377
|
// Read all the necessary data from the URL to find the right preview URL
|
526
378
|
const { slug: model, id: documentId, collectionType } = reactRouterDom.useParams();
|
527
379
|
const [{ query }] = strapiAdmin.useQueryParams();
|
@@ -576,6 +428,14 @@ const [PreviewProvider, usePreviewContext] = strapiAdmin.createContext('PreviewP
|
|
576
428
|
abortEarly: false
|
577
429
|
});
|
578
430
|
};
|
431
|
+
const previewUrl = previewUrlResponse.data.data.url;
|
432
|
+
const onPreview = ()=>{
|
433
|
+
iframeRef?.current?.contentWindow?.postMessage({
|
434
|
+
type: 'strapiUpdate'
|
435
|
+
}, // The iframe origin is safe to use since it must be provided through the allowedOrigins config
|
436
|
+
new URL(iframeRef.current.src).origin);
|
437
|
+
};
|
438
|
+
const hasAdvancedPreview = window.strapi.features.isEnabled('cms-advanced-preview');
|
579
439
|
return /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
580
440
|
children: [
|
581
441
|
/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Page.Title, {
|
@@ -586,43 +446,108 @@ const [PreviewProvider, usePreviewContext] = strapiAdmin.createContext('PreviewP
|
|
586
446
|
contentType: documentTitle
|
587
447
|
})
|
588
448
|
}),
|
589
|
-
/*#__PURE__*/ jsxRuntime.jsx(
|
590
|
-
|
591
|
-
|
592
|
-
|
593
|
-
|
594
|
-
|
595
|
-
|
596
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
|
-
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
607
|
-
|
608
|
-
abortEarly: false
|
609
|
-
});
|
610
|
-
},
|
611
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
612
|
-
direction: "column",
|
449
|
+
/*#__PURE__*/ jsxRuntime.jsx(index.DocumentContextProvider, {
|
450
|
+
initialDocument: {
|
451
|
+
documentId: documentId || '',
|
452
|
+
model,
|
453
|
+
collectionType
|
454
|
+
},
|
455
|
+
onPreview: onPreview,
|
456
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(PreviewProvider, {
|
457
|
+
url: previewUrl,
|
458
|
+
document: documentResponse.document,
|
459
|
+
title: documentTitle,
|
460
|
+
meta: documentResponse.meta,
|
461
|
+
schema: documentResponse.schema,
|
462
|
+
layout: documentLayoutResponse.edit,
|
463
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Form, {
|
464
|
+
method: "PUT",
|
465
|
+
disabled: query.status === 'published' && documentResponse && documentResponse.document.status === 'published',
|
466
|
+
initialValues: documentResponse.getInitialFormValues(),
|
467
|
+
initialErrors: location?.state?.forceValidation ? validateSync(initialValues, {}) : {},
|
613
468
|
height: "100%",
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
469
|
+
validate: (values, options)=>{
|
470
|
+
const yupSchema = index.createYupSchema(documentResponse.schema?.attributes, documentResponse.components, {
|
471
|
+
status: documentResponse.document?.status,
|
472
|
+
...options
|
473
|
+
});
|
474
|
+
return yupSchema.validate(values, {
|
475
|
+
abortEarly: false
|
476
|
+
});
|
477
|
+
},
|
478
|
+
children: ({ resetForm })=>/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
479
|
+
direction: "column",
|
480
|
+
height: "100%",
|
481
|
+
alignItems: "stretch",
|
482
|
+
children: [
|
483
|
+
/*#__PURE__*/ jsxRuntime.jsx(strapiAdmin.Blocker, {
|
484
|
+
onProceed: resetForm
|
485
|
+
}),
|
486
|
+
/*#__PURE__*/ jsxRuntime.jsx(PreviewHeader, {}),
|
487
|
+
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
488
|
+
flex: 1,
|
489
|
+
overflow: "auto",
|
490
|
+
alignItems: "stretch",
|
491
|
+
children: [
|
492
|
+
hasAdvancedPreview && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
493
|
+
overflow: "auto",
|
494
|
+
width: isSideEditorOpen ? '50%' : 0,
|
495
|
+
borderWidth: "0 1px 0 0",
|
496
|
+
borderColor: "neutral150",
|
497
|
+
paddingTop: 6,
|
498
|
+
paddingBottom: 6,
|
499
|
+
// Remove horizontal padding when the editor is closed or it won't fully disappear
|
500
|
+
paddingLeft: isSideEditorOpen ? 6 : 0,
|
501
|
+
paddingRight: isSideEditorOpen ? 6 : 0,
|
502
|
+
transition: "all 0.2s ease-in-out",
|
503
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(Input.FormLayout, {
|
504
|
+
layout: documentLayoutResponse.edit.layout,
|
505
|
+
document: documentResponse,
|
506
|
+
hasBackground: false
|
507
|
+
})
|
508
|
+
}),
|
509
|
+
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
|
510
|
+
position: "relative",
|
511
|
+
flex: 1,
|
512
|
+
height: "100%",
|
513
|
+
overflow: "hidden",
|
514
|
+
children: [
|
515
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
516
|
+
"data-testid": "preview-iframe",
|
517
|
+
ref: iframeRef,
|
518
|
+
src: previewUrl,
|
519
|
+
title: formatMessage({
|
520
|
+
id: 'content-manager.preview.panel.title',
|
521
|
+
defaultMessage: 'Preview'
|
522
|
+
}),
|
523
|
+
width: "100%",
|
524
|
+
height: "100%",
|
525
|
+
borderWidth: 0,
|
526
|
+
tag: "iframe"
|
527
|
+
}, previewUrl),
|
528
|
+
hasAdvancedPreview && /*#__PURE__*/ jsxRuntime.jsx(designSystem.IconButton, {
|
529
|
+
variant: "tertiary",
|
530
|
+
label: formatMessage(isSideEditorOpen ? {
|
531
|
+
id: 'content-manager.preview.content.close-editor',
|
532
|
+
defaultMessage: 'Close editor'
|
533
|
+
} : {
|
534
|
+
id: 'content-manager.preview.content.open-editor',
|
535
|
+
defaultMessage: 'Open editor'
|
536
|
+
}),
|
537
|
+
onClick: ()=>setIsSideEditorOpen((prev)=>!prev),
|
538
|
+
position: "absolute",
|
539
|
+
top: 2,
|
540
|
+
left: 2,
|
541
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(AnimatedArrow, {
|
542
|
+
isSideEditorOpen: isSideEditorOpen
|
543
|
+
})
|
544
|
+
})
|
545
|
+
]
|
546
|
+
})
|
547
|
+
]
|
548
|
+
})
|
549
|
+
]
|
550
|
+
})
|
626
551
|
})
|
627
552
|
})
|
628
553
|
})
|
@@ -689,4 +614,4 @@ const ProtectedPreviewPage = ()=>{
|
|
689
614
|
|
690
615
|
exports.ProtectedPreviewPage = ProtectedPreviewPage;
|
691
616
|
exports.usePreviewContext = usePreviewContext;
|
692
|
-
//# sourceMappingURL=Preview-
|
617
|
+
//# sourceMappingURL=Preview-CSU1sCSK.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Preview-CSU1sCSK.js","sources":["../../../admin/src/preview/components/PreviewHeader.tsx","../../../admin/src/preview/pages/Preview.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n DescriptionComponentRenderer,\n useClipboard,\n useHistory,\n useNotification,\n useQueryParams,\n useStrapiApp,\n} from '@strapi/admin/strapi-admin';\nimport { IconButton, Tabs, Typography, Flex } from '@strapi/design-system';\nimport { Cross, Link as LinkIcon } from '@strapi/icons';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link, type To } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { InjectionZone } from '../../components/InjectionZone';\nimport { useDocumentContext } from '../../features/DocumentContext';\nimport { DocumentActionButton } from '../../pages/EditView/components/DocumentActions';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { getDocumentStatus } from '../../pages/EditView/EditViewPage';\nimport { usePreviewContext } from '../pages/Preview';\n\nimport type { ContentManagerPlugin, DocumentActionProps } from '../../content-manager';\n\n/* -------------------------------------------------------------------------------------------------\n * ClosePreviewButton\n * -----------------------------------------------------------------------------------------------*/\n\nconst ClosePreviewButton = () => {\n const [{ query }] = useQueryParams<{\n plugins?: Record<string, unknown>;\n }>();\n const { formatMessage } = useIntl();\n\n const canGoBack = useHistory('BackButton', (state) => state.canGoBack);\n const goBack = useHistory('BackButton', (state) => state.goBack);\n const history = useHistory('BackButton', (state) => state.history);\n const locationIndex = useHistory('BackButton', (state) => state.currentLocationIndex);\n\n /**\n * Get the link destination from the history.\n * Rely on a fallback (the parent edit view page) if there's no page to go back .\n */\n const historyTo = canGoBack ? history.at(locationIndex - 2) : undefined;\n const fallback = {\n pathname: '..',\n search: stringify(query, { encode: false }),\n } satisfies To;\n const toWithFallback = historyTo ?? fallback;\n\n const handleClick = (e: React.MouseEvent) => {\n if (canGoBack) {\n // Prevent normal link behavior, go back in the history stack instead\n e.preventDefault();\n goBack();\n return;\n }\n\n // Otherwise rely on native link behavior to go back to the edit view. We don't use navigate()\n // here in order to get the relative=\"path\" functionality from the Link component.\n };\n\n return (\n <IconButton\n variant=\"ghost\"\n tag={Link}\n relative=\"path\"\n to={toWithFallback}\n onClick={handleClick}\n label={formatMessage({\n id: 'content-manager.preview.header.close',\n defaultMessage: 'Close preview',\n })}\n >\n <Cross />\n </IconButton>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * Status\n * -----------------------------------------------------------------------------------------------*/\n\nconst Status = () => {\n // Get status\n const document = usePreviewContext('PreviewHeader', (state) => state.document);\n const schema = usePreviewContext('PreviewHeader', (state) => state.schema);\n const meta = usePreviewContext('PreviewHeader', (state) => state.meta);\n const hasDraftAndPublished = schema?.options?.draftAndPublish ?? false;\n\n if (!hasDraftAndPublished) {\n return null;\n }\n\n const status = getDocumentStatus(document, meta);\n\n return <DocumentStatus status={status} size=\"XS\" />;\n};\n\nconst PreviewTabs = () => {\n const { formatMessage } = useIntl();\n\n // URL query params\n const [{ query }, setQuery] = useQueryParams<{ status: 'draft' | 'published' }>();\n\n // Get status\n const document = usePreviewContext('PreviewHeader', (state) => state.document);\n const schema = usePreviewContext('PreviewHeader', (state) => state.schema);\n const meta = usePreviewContext('PreviewHeader', (state) => state.meta);\n const hasDraftAndPublish = schema?.options?.draftAndPublish ?? false;\n const documentStatus = getDocumentStatus(document, meta);\n\n const handleTabChange = (status: string) => {\n if (status === 'published' || status === 'draft') {\n setQuery({ status }, 'push', true);\n }\n };\n\n if (!hasDraftAndPublish) {\n return null;\n }\n\n return (\n <Tabs.Root variant=\"simple\" value={query.status || 'draft'} onValueChange={handleTabChange}>\n <Tabs.List\n aria-label={formatMessage({\n id: 'preview.tabs.label',\n defaultMessage: 'Document status',\n })}\n >\n <StatusTab value=\"draft\">\n {formatMessage({\n id: 'content-manager.containers.List.draft',\n defaultMessage: 'draft',\n })}\n </StatusTab>\n <StatusTab value=\"published\" disabled={documentStatus === 'draft'}>\n {formatMessage({\n id: 'content-manager.containers.List.published',\n defaultMessage: 'published',\n })}\n </StatusTab>\n </Tabs.List>\n </Tabs.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PreviewHeader\n * -----------------------------------------------------------------------------------------------*/\n\nconst PreviewHeader = () => {\n const title = usePreviewContext('PreviewHeader', (state) => state.title);\n const document = usePreviewContext('PreviewHeader', (state) => state.document);\n const schema = usePreviewContext('PreviewHeader', (state) => state.schema);\n const meta = usePreviewContext('PreviewHeader', (state) => state.meta);\n const plugins = useStrapiApp('PreviewHeader', (state) => state.plugins);\n const onPreview = useDocumentContext('PreviewHeader', (state) => state.onPreview);\n\n const [{ query }] = useQueryParams<{\n status?: 'draft' | 'published';\n }>();\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n const { copy } = useClipboard();\n\n const handleCopyLink = () => {\n copy(window.location.href);\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.preview.copy.success',\n defaultMessage: 'Copied preview link',\n }),\n type: 'success',\n });\n };\n\n const hasDraftAndPublish = schema.options?.draftAndPublish ?? false;\n const documentActionProps = {\n activeTab: query.status ?? null,\n collectionType: schema.kind === 'collectionType' ? 'collection-types' : 'single-types',\n model: schema.uid,\n documentId: document.documentId,\n document,\n meta,\n onPreview,\n fromPreview: true,\n } satisfies DocumentActionProps;\n\n return (\n <Flex height=\"48px\" gap={4} background=\"neutral0\" borderColor=\"neutral150\" tag=\"header\">\n {/* Title and status */}\n <TitleContainer height=\"100%\" paddingLeft={2} paddingRight={4}>\n <ClosePreviewButton />\n <PreviewTitle\n tag=\"h1\"\n title={title}\n maxWidth=\"200px\"\n fontSize={2}\n paddingLeft={2}\n paddingRight={3}\n fontWeight={600}\n >\n {title}\n </PreviewTitle>\n <Status />\n </TitleContainer>\n\n {/* Tabs and actions */}\n <Flex\n flex={1}\n paddingRight={2}\n gap={2}\n justifyContent={hasDraftAndPublish ? 'space-between' : 'flex-end'}\n >\n <Flex flex=\"1 1 70%\">\n <PreviewTabs />\n </Flex>\n <Flex gap={2}>\n <IconButton\n type=\"button\"\n label={formatMessage({\n id: 'preview.copy.label',\n defaultMessage: 'Copy preview link',\n })}\n onClick={handleCopyLink}\n >\n <LinkIcon />\n </IconButton>\n <InjectionZone area=\"preview.actions\" />\n <DescriptionComponentRenderer\n props={documentActionProps}\n descriptions={(\n plugins['content-manager'].apis as ContentManagerPlugin['config']['apis']\n ).getDocumentActions('preview')}\n >\n {(actions) => {\n const filteredActions = actions.filter((action) =>\n [action.position].flat().includes('preview')\n );\n const [primaryAction, secondaryAction] = filteredActions;\n\n if (!primaryAction && !secondaryAction) return null;\n\n // Both actions are available when draft and publish enabled\n if (primaryAction && secondaryAction) {\n return (\n <>\n {/* Save */}\n <DocumentActionButton\n {...secondaryAction}\n variant={secondaryAction.variant || 'secondary'}\n />\n {/* Publish */}\n <DocumentActionButton\n {...primaryAction}\n variant={primaryAction.variant || 'default'}\n />\n </>\n );\n }\n\n // Otherwise we just have the save action\n return (\n <DocumentActionButton\n {...primaryAction}\n variant={primaryAction.variant || 'secondary'}\n />\n );\n }}\n </DescriptionComponentRenderer>\n </Flex>\n </Flex>\n </Flex>\n );\n};\n\nconst PreviewTitle = styled(Typography)`\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n`;\n\nconst StatusTab = styled(Tabs.Trigger)`\n text-transform: uppercase;\n`;\n\nconst TitleContainer = styled(Flex)`\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n`;\n\nexport { PreviewHeader };\n","import * as React from 'react';\n\nimport {\n Page,\n useQueryParams,\n useRBAC,\n createContext,\n Form as FormContext,\n Blocker,\n} from '@strapi/admin/strapi-admin';\nimport { Box, Flex, FocusTrap, IconButton, Portal } from '@strapi/design-system';\nimport { ArrowLineLeft } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\nimport { useLocation, useParams } from 'react-router-dom';\nimport { styled } from 'styled-components';\n\nimport { GetPreviewUrl } from '../../../../shared/contracts/preview';\nimport { COLLECTION_TYPES } from '../../constants/collections';\nimport { DocumentContextProvider } from '../../features/DocumentContext';\nimport { DocumentRBAC } from '../../features/DocumentRBAC';\nimport { type UseDocument, useDocument } from '../../hooks/useDocument';\nimport { type EditLayout, useDocumentLayout } from '../../hooks/useDocumentLayout';\nimport { FormLayout } from '../../pages/EditView/components/FormLayout';\nimport { buildValidParams } from '../../utils/api';\nimport { createYupSchema } from '../../utils/validation';\nimport { PreviewHeader } from '../components/PreviewHeader';\nimport { useGetPreviewUrlQuery } from '../services/preview';\n\nimport type { UID } from '@strapi/types';\n\n/* -------------------------------------------------------------------------------------------------\n * PreviewProvider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PreviewContextValue {\n url: string;\n title: string;\n document: NonNullable<ReturnType<UseDocument>['document']>;\n meta: NonNullable<ReturnType<UseDocument>['meta']>;\n schema: NonNullable<ReturnType<UseDocument>['schema']>;\n layout: EditLayout;\n}\n\nconst [PreviewProvider, usePreviewContext] = createContext<PreviewContextValue>('PreviewPage');\n\n/* -------------------------------------------------------------------------------------------------\n * PreviewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst AnimatedArrow = styled(ArrowLineLeft)<{ isSideEditorOpen: boolean }>`\n will-change: transform;\n rotate: ${(props) => (props.isSideEditorOpen ? '0deg' : '180deg')};\n transition: rotate 0.2s ease-in-out;\n`;\n\nconst PreviewPage = () => {\n const location = useLocation();\n const { formatMessage } = useIntl();\n\n const iframeRef = React.useRef<HTMLIFrameElement>(null);\n const [isSideEditorOpen, setIsSideEditorOpen] = React.useState(true);\n\n // Read all the necessary data from the URL to find the right preview URL\n const {\n slug: model,\n id: documentId,\n collectionType,\n } = useParams<{\n slug: UID.ContentType;\n id: string;\n collectionType: string;\n }>();\n const [{ query }] = useQueryParams<{\n plugins?: Record<string, unknown>;\n status?: string;\n }>();\n\n const params = React.useMemo(() => buildValidParams(query), [query]);\n\n if (!collectionType) {\n throw new Error('Could not find collectionType in url params');\n }\n\n if (!model) {\n throw new Error('Could not find model in url params');\n }\n\n // Only collection types must have a documentId\n if (collectionType === COLLECTION_TYPES && !documentId) {\n throw new Error('Could not find documentId in url params');\n }\n\n const previewUrlResponse = useGetPreviewUrlQuery({\n params: {\n contentType: model,\n },\n query: {\n documentId,\n locale: params.locale,\n status: params.status as GetPreviewUrl.Request['query']['status'],\n },\n });\n const documentResponse = useDocument({\n model,\n collectionType,\n documentId,\n params,\n });\n const documentLayoutResponse = useDocumentLayout(model);\n\n const isLoading =\n previewUrlResponse.isLoading || documentLayoutResponse.isLoading || documentResponse.isLoading;\n if (isLoading && !documentResponse.document?.documentId) {\n return <Page.Loading />;\n }\n\n const initialValues = documentResponse.getInitialFormValues();\n\n if (\n previewUrlResponse.error ||\n documentLayoutResponse.error ||\n !documentResponse.document ||\n !documentResponse.meta ||\n !documentResponse.schema ||\n !initialValues\n ) {\n return <Page.Error />;\n }\n\n if (!previewUrlResponse.data?.data?.url) {\n return <Page.NoData />;\n }\n\n const documentTitle = documentResponse.getTitle(documentLayoutResponse.edit.settings.mainField);\n\n const validateSync = (values: Record<string, unknown>, options: Record<string, string>) => {\n const yupSchema = createYupSchema(\n documentResponse.schema?.attributes,\n documentResponse.components,\n {\n status: documentResponse.document?.status,\n ...options,\n }\n );\n\n return yupSchema.validateSync(values, { abortEarly: false });\n };\n\n const previewUrl = previewUrlResponse.data.data.url;\n\n const onPreview = () => {\n iframeRef?.current?.contentWindow?.postMessage(\n { type: 'strapiUpdate' },\n // The iframe origin is safe to use since it must be provided through the allowedOrigins config\n new URL(iframeRef.current.src).origin\n );\n };\n\n const hasAdvancedPreview = window.strapi.features.isEnabled('cms-advanced-preview');\n\n return (\n <>\n <Page.Title>\n {formatMessage(\n {\n id: 'content-manager.preview.page-title',\n defaultMessage: '{contentType} preview',\n },\n {\n contentType: documentTitle,\n }\n )}\n </Page.Title>\n <DocumentContextProvider\n initialDocument={{\n documentId: documentId || '',\n model,\n collectionType,\n }}\n onPreview={onPreview}\n >\n <PreviewProvider\n url={previewUrl}\n document={documentResponse.document}\n title={documentTitle}\n meta={documentResponse.meta}\n schema={documentResponse.schema}\n layout={documentLayoutResponse.edit}\n >\n <FormContext\n method=\"PUT\"\n disabled={\n query.status === 'published' &&\n documentResponse &&\n documentResponse.document.status === 'published'\n }\n initialValues={documentResponse.getInitialFormValues()}\n initialErrors={location?.state?.forceValidation ? validateSync(initialValues, {}) : {}}\n height=\"100%\"\n validate={(values: Record<string, unknown>, options: Record<string, string>) => {\n const yupSchema = createYupSchema(\n documentResponse.schema?.attributes,\n documentResponse.components,\n {\n status: documentResponse.document?.status,\n ...options,\n }\n );\n\n return yupSchema.validate(values, { abortEarly: false });\n }}\n >\n {({ resetForm }) => (\n <Flex direction=\"column\" height=\"100%\" alignItems=\"stretch\">\n <Blocker onProceed={resetForm} />\n <PreviewHeader />\n <Flex flex={1} overflow=\"auto\" alignItems=\"stretch\">\n {hasAdvancedPreview && (\n <Box\n overflow=\"auto\"\n width={isSideEditorOpen ? '50%' : 0}\n borderWidth=\"0 1px 0 0\"\n borderColor=\"neutral150\"\n paddingTop={6}\n paddingBottom={6}\n // Remove horizontal padding when the editor is closed or it won't fully disappear\n paddingLeft={isSideEditorOpen ? 6 : 0}\n paddingRight={isSideEditorOpen ? 6 : 0}\n transition=\"all 0.2s ease-in-out\"\n >\n <FormLayout\n layout={documentLayoutResponse.edit.layout}\n document={documentResponse}\n hasBackground={false}\n />\n </Box>\n )}\n\n <Box position=\"relative\" flex={1} height=\"100%\" overflow=\"hidden\">\n <Box\n data-testid=\"preview-iframe\"\n ref={iframeRef}\n src={previewUrl}\n /**\n * For some reason, changing an iframe's src tag causes the browser to add a new item in the\n * history stack. This is an issue for us as it means clicking the back button will not let us\n * go back to the edit view. To fix it, we need to trick the browser into thinking this is a\n * different iframe when the preview URL changes. So we set a key prop to force React\n * to mount a different node when the src changes.\n */\n key={previewUrl}\n title={formatMessage({\n id: 'content-manager.preview.panel.title',\n defaultMessage: 'Preview',\n })}\n width=\"100%\"\n height=\"100%\"\n borderWidth={0}\n tag=\"iframe\"\n />\n {hasAdvancedPreview && (\n <IconButton\n variant=\"tertiary\"\n label={formatMessage(\n isSideEditorOpen\n ? {\n id: 'content-manager.preview.content.close-editor',\n defaultMessage: 'Close editor',\n }\n : {\n id: 'content-manager.preview.content.open-editor',\n defaultMessage: 'Open editor',\n }\n )}\n onClick={() => setIsSideEditorOpen((prev) => !prev)}\n position=\"absolute\"\n top={2}\n left={2}\n >\n <AnimatedArrow isSideEditorOpen={isSideEditorOpen} />\n </IconButton>\n )}\n </Box>\n </Flex>\n </Flex>\n )}\n </FormContext>\n </PreviewProvider>\n </DocumentContextProvider>\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * ProtectedPreviewPage\n * -----------------------------------------------------------------------------------------------*/\n\nconst ProtectedPreviewPageImpl = () => {\n const { slug: model } = useParams<{\n slug: string;\n }>();\n const {\n permissions = [],\n isLoading,\n error,\n } = useRBAC([\n { action: 'plugin::content-manager.explorer.read', subject: model },\n { action: 'plugin::content-manager.explorer.update', subject: model },\n { action: 'plugin::content-manager.explorer.publish', subject: model },\n ]);\n\n if (isLoading) {\n return <Page.Loading />;\n }\n\n if (error || !model) {\n return (\n <Box\n height=\"100vh\"\n width=\"100vw\"\n position=\"fixed\"\n top={0}\n left={0}\n zIndex={2}\n background=\"neutral0\"\n >\n <Page.Error />\n </Box>\n );\n }\n\n return (\n <Box\n height=\"100vh\"\n width=\"100vw\"\n position=\"fixed\"\n top={0}\n left={0}\n zIndex={2}\n background=\"neutral0\"\n >\n <Page.Protect\n permissions={permissions.filter((permission) =>\n permission.action.includes('explorer.read')\n )}\n >\n <DocumentRBAC permissions={permissions}>\n <PreviewPage />\n </DocumentRBAC>\n </Page.Protect>\n </Box>\n );\n};\n\nconst ProtectedPreviewPage = () => {\n return (\n <Portal>\n <FocusTrap>\n <ProtectedPreviewPageImpl />\n </FocusTrap>\n </Portal>\n );\n};\n\nexport { ProtectedPreviewPage, usePreviewContext };\n"],"names":["ClosePreviewButton","query","useQueryParams","formatMessage","useIntl","canGoBack","useHistory","state","goBack","history","locationIndex","currentLocationIndex","historyTo","at","undefined","fallback","pathname","search","stringify","encode","toWithFallback","handleClick","e","preventDefault","_jsx","IconButton","variant","tag","Link","relative","to","onClick","label","id","defaultMessage","Cross","Status","document","usePreviewContext","schema","meta","hasDraftAndPublished","options","draftAndPublish","status","getDocumentStatus","DocumentStatus","size","PreviewTabs","setQuery","hasDraftAndPublish","documentStatus","handleTabChange","Tabs","Root","value","onValueChange","_jsxs","List","aria-label","StatusTab","disabled","PreviewHeader","title","plugins","useStrapiApp","onPreview","useDocumentContext","toggleNotification","useNotification","copy","useClipboard","handleCopyLink","window","location","href","message","type","documentActionProps","activeTab","collectionType","kind","model","uid","documentId","fromPreview","Flex","height","gap","background","borderColor","TitleContainer","paddingLeft","paddingRight","PreviewTitle","maxWidth","fontSize","fontWeight","flex","justifyContent","LinkIcon","InjectionZone","area","DescriptionComponentRenderer","props","descriptions","apis","getDocumentActions","actions","filteredActions","filter","action","position","flat","includes","primaryAction","secondaryAction","_Fragment","DocumentActionButton","styled","Typography","Trigger","theme","colors","neutral150","PreviewProvider","createContext","AnimatedArrow","ArrowLineLeft","isSideEditorOpen","PreviewPage","useLocation","iframeRef","React","useRef","setIsSideEditorOpen","useState","slug","useParams","params","useMemo","buildValidParams","Error","COLLECTION_TYPES","previewUrlResponse","useGetPreviewUrlQuery","contentType","locale","documentResponse","useDocument","documentLayoutResponse","useDocumentLayout","isLoading","Page","Loading","initialValues","getInitialFormValues","error","data","url","NoData","documentTitle","getTitle","edit","settings","mainField","validateSync","values","yupSchema","createYupSchema","attributes","components","abortEarly","previewUrl","current","contentWindow","postMessage","URL","src","origin","hasAdvancedPreview","strapi","features","isEnabled","Title","DocumentContextProvider","initialDocument","layout","FormContext","method","initialErrors","forceValidation","validate","resetForm","direction","alignItems","Blocker","onProceed","overflow","Box","width","borderWidth","paddingTop","paddingBottom","transition","FormLayout","hasBackground","data-testid","ref","prev","top","left","ProtectedPreviewPageImpl","permissions","useRBAC","subject","zIndex","Protect","permission","DocumentRBAC","ProtectedPreviewPage","Portal","FocusTrap"],"mappings":"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"}
|
@@ -58,6 +58,9 @@ var en = {
|
|
58
58
|
"components.LimitSelect.itemsPerPage": "Items per page",
|
59
59
|
"components.NotAllowedInput.text": "No permissions to see this field",
|
60
60
|
"components.RelationInput.icon-button-aria-label": "Drag",
|
61
|
+
"components.RelationInputModal.modal-title": "Edit a relation",
|
62
|
+
"components.RelationInputModal.button-fullpage": "Go to entry",
|
63
|
+
"components.RelationInputModal.confirmation-message": "Some changes were not saved. Are you sure you want to close this relation? All changes that were not saved will be lost.",
|
61
64
|
"components.RepeatableComponent.error-message": "The component(s) contain error(s)",
|
62
65
|
"components.Search.placeholder": "Search for an entry...",
|
63
66
|
"components.Select.draft-info-title": "Draft",
|
@@ -307,4 +310,4 @@ var en = {
|
|
307
310
|
};
|
308
311
|
|
309
312
|
export { en as default, groups, models, pageNotFound };
|
310
|
-
//# sourceMappingURL=en-
|
313
|
+
//# sourceMappingURL=en-C2zEwS3-.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"en-
|
1
|
+
{"version":3,"file":"en-C2zEwS3-.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -60,6 +60,9 @@ var en = {
|
|
60
60
|
"components.LimitSelect.itemsPerPage": "Items per page",
|
61
61
|
"components.NotAllowedInput.text": "No permissions to see this field",
|
62
62
|
"components.RelationInput.icon-button-aria-label": "Drag",
|
63
|
+
"components.RelationInputModal.modal-title": "Edit a relation",
|
64
|
+
"components.RelationInputModal.button-fullpage": "Go to entry",
|
65
|
+
"components.RelationInputModal.confirmation-message": "Some changes were not saved. Are you sure you want to close this relation? All changes that were not saved will be lost.",
|
63
66
|
"components.RepeatableComponent.error-message": "The component(s) contain error(s)",
|
64
67
|
"components.Search.placeholder": "Search for an entry...",
|
65
68
|
"components.Select.draft-info-title": "Draft",
|
@@ -312,4 +315,4 @@ exports.default = en;
|
|
312
315
|
exports.groups = groups;
|
313
316
|
exports.models = models;
|
314
317
|
exports.pageNotFound = pageNotFound;
|
315
|
-
//# sourceMappingURL=en-
|
318
|
+
//# sourceMappingURL=en-G976DLsg.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"en-
|
1
|
+
{"version":3,"file":"en-G976DLsg.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|