@strapi/content-manager 5.35.0 → 5.36.1
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/components/ActionsDrawer.js +5 -1
- package/dist/admin/components/ActionsDrawer.js.map +1 -1
- package/dist/admin/components/ActionsDrawer.mjs +5 -2
- package/dist/admin/components/ActionsDrawer.mjs.map +1 -1
- package/dist/admin/components/LeftMenu.js +1 -28
- package/dist/admin/components/LeftMenu.js.map +1 -1
- package/dist/admin/components/LeftMenu.mjs +2 -29
- package/dist/admin/components/LeftMenu.mjs.map +1 -1
- package/dist/admin/history/components/VersionContent.js +74 -59
- package/dist/admin/history/components/VersionContent.js.map +1 -1
- package/dist/admin/history/components/VersionContent.mjs +75 -60
- package/dist/admin/history/components/VersionContent.mjs.map +1 -1
- package/dist/admin/history/components/VersionsList.js +139 -54
- package/dist/admin/history/components/VersionsList.js.map +1 -1
- package/dist/admin/history/components/VersionsList.mjs +141 -56
- package/dist/admin/history/components/VersionsList.mjs.map +1 -1
- package/dist/admin/history/pages/History.js +27 -9
- package/dist/admin/history/pages/History.js.map +1 -1
- package/dist/admin/history/pages/History.mjs +28 -10
- package/dist/admin/history/pages/History.mjs.map +1 -1
- package/dist/admin/hooks/useDocument.js +1 -1
- package/dist/admin/hooks/useDocument.js.map +1 -1
- package/dist/admin/hooks/useDocument.mjs +1 -1
- package/dist/admin/hooks/useDocument.mjs.map +1 -1
- package/dist/admin/hooks/usePersistentQueryParams.js +56 -0
- package/dist/admin/hooks/usePersistentQueryParams.js.map +1 -0
- package/dist/admin/hooks/usePersistentQueryParams.mjs +54 -0
- package/dist/admin/hooks/usePersistentQueryParams.mjs.map +1 -0
- package/dist/admin/pages/EditView/EditViewPage.js +10 -3
- package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
- package/dist/admin/pages/EditView/EditViewPage.mjs +11 -4
- package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js +10 -6
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs +11 -7
- package/dist/admin/pages/EditView/components/FormInputs/Component/NonRepeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js +8 -2
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs +8 -2
- package/dist/admin/pages/EditView/components/FormInputs/Component/Repeatable.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js +9 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs +9 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/AddComponentButton.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js +7 -2
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs +7 -2
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js +30 -11
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs +31 -12
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/ComponentPicker.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +4 -4
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +4 -4
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js +4 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs +4 -1
- package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/Field.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.js +6 -9
- package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
- package/dist/admin/pages/EditView/components/FormLayout.mjs +6 -9
- package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
- package/dist/admin/pages/EditView/components/Header.js +2 -0
- package/dist/admin/pages/EditView/components/Header.js.map +1 -1
- package/dist/admin/pages/EditView/components/Header.mjs +2 -0
- package/dist/admin/pages/EditView/components/Header.mjs.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.js +50 -18
- package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
- package/dist/admin/pages/ListView/ListViewPage.mjs +51 -19
- package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
- package/dist/admin/src/components/ActionsDrawer.d.ts +17 -1
- package/dist/admin/src/hooks/usePersistentQueryParams.d.ts +5 -0
- package/dist/admin/utils/validation.js +2 -3
- package/dist/admin/utils/validation.js.map +1 -1
- package/dist/admin/utils/validation.mjs +2 -3
- package/dist/admin/utils/validation.mjs.map +1 -1
- package/dist/server/history/services/lifecycles.js +31 -10
- package/dist/server/history/services/lifecycles.js.map +1 -1
- package/dist/server/history/services/lifecycles.mjs +31 -10
- package/dist/server/history/services/lifecycles.mjs.map +1 -1
- package/dist/server/preview/services/preview.js +1 -1
- package/dist/server/preview/services/preview.js.map +1 -1
- package/dist/server/preview/services/preview.mjs +1 -1
- package/dist/server/preview/services/preview.mjs.map +1 -1
- package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
- package/dist/server/src/preview/services/index.d.ts +1 -1
- package/dist/server/src/preview/utils.d.ts +1 -1
- package/package.json +8 -8
|
@@ -7,6 +7,7 @@ var designSystem = require('@strapi/design-system');
|
|
|
7
7
|
var qs = require('qs');
|
|
8
8
|
var reactIntl = require('react-intl');
|
|
9
9
|
var reactRouterDom = require('react-router-dom');
|
|
10
|
+
var ActionsDrawer = require('../../components/ActionsDrawer.js');
|
|
10
11
|
var RelativeTime = require('../../components/RelativeTime.js');
|
|
11
12
|
var DocumentStatus = require('../../pages/EditView/components/DocumentStatus.js');
|
|
12
13
|
var users = require('../../utils/users.js');
|
|
@@ -19,11 +20,34 @@ var History = require('../pages/History.js');
|
|
|
19
20
|
variant: "pi",
|
|
20
21
|
children: children
|
|
21
22
|
});
|
|
23
|
+
/* -------------------------------------------------------------------------------------------------
|
|
24
|
+
* VersionAuthor
|
|
25
|
+
* -----------------------------------------------------------------------------------------------*/ const VersionAuthor = ({ version, isCurrent })=>{
|
|
26
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
27
|
+
const author = version.createdBy && users.getDisplayName(version.createdBy);
|
|
28
|
+
return /*#__PURE__*/ jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
29
|
+
children: formatMessage({
|
|
30
|
+
id: 'content-manager.history.sidebar.versionDescription',
|
|
31
|
+
defaultMessage: '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}'
|
|
32
|
+
}, {
|
|
33
|
+
distanceToNow: /*#__PURE__*/ jsxRuntime.jsx(RelativeTime.RelativeTime, {
|
|
34
|
+
timestamp: new Date(version.createdAt)
|
|
35
|
+
}),
|
|
36
|
+
author,
|
|
37
|
+
isAnonymous: !Boolean(version.createdBy),
|
|
38
|
+
isCurrent,
|
|
39
|
+
b: BlueText
|
|
40
|
+
})
|
|
41
|
+
});
|
|
42
|
+
};
|
|
22
43
|
const VersionCard = ({ version, isCurrent })=>{
|
|
23
|
-
const { formatDate
|
|
44
|
+
const { formatDate } = reactIntl.useIntl();
|
|
24
45
|
const [{ query }] = strapiAdmin.useQueryParams();
|
|
46
|
+
const setIsOpen = ActionsDrawer.useActionsDrawer('VersionCard', (s)=>s?.setIsOpen, false);
|
|
25
47
|
const isActive = query.id === version.id.toString();
|
|
26
|
-
const
|
|
48
|
+
const handleClick = ()=>{
|
|
49
|
+
setIsOpen?.(false);
|
|
50
|
+
};
|
|
27
51
|
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
28
52
|
direction: "column",
|
|
29
53
|
alignItems: "flex-start",
|
|
@@ -42,6 +66,7 @@ const VersionCard = ({ version, isCurrent })=>{
|
|
|
42
66
|
style: {
|
|
43
67
|
textDecoration: 'none'
|
|
44
68
|
},
|
|
69
|
+
onClick: handleClick,
|
|
45
70
|
children: [
|
|
46
71
|
/*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
47
72
|
direction: "column",
|
|
@@ -63,17 +88,9 @@ const VersionCard = ({ version, isCurrent })=>{
|
|
|
63
88
|
tag: "p",
|
|
64
89
|
variant: "pi",
|
|
65
90
|
textColor: "neutral600",
|
|
66
|
-
children:
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}, {
|
|
70
|
-
distanceToNow: /*#__PURE__*/ jsxRuntime.jsx(RelativeTime.RelativeTime, {
|
|
71
|
-
timestamp: new Date(version.createdAt)
|
|
72
|
-
}),
|
|
73
|
-
author,
|
|
74
|
-
isAnonymous: !Boolean(version.createdBy),
|
|
75
|
-
isCurrent,
|
|
76
|
-
b: BlueText
|
|
91
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(VersionAuthor, {
|
|
92
|
+
version: version,
|
|
93
|
+
isCurrent: isCurrent
|
|
77
94
|
})
|
|
78
95
|
})
|
|
79
96
|
]
|
|
@@ -107,6 +124,63 @@ const PaginationButton = ({ page, children })=>{
|
|
|
107
124
|
})
|
|
108
125
|
});
|
|
109
126
|
};
|
|
127
|
+
/* -------------------------------------------------------------------------------------------------
|
|
128
|
+
* VersionsListItems
|
|
129
|
+
* -----------------------------------------------------------------------------------------------*/ const VersionsListItems = ()=>{
|
|
130
|
+
const { formatMessage } = reactIntl.useIntl();
|
|
131
|
+
const { versions, page } = History.useHistoryContext('VersionsListItems', (state)=>({
|
|
132
|
+
versions: state.versions,
|
|
133
|
+
page: state.page
|
|
134
|
+
}));
|
|
135
|
+
return /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Box, {
|
|
136
|
+
flex: 1,
|
|
137
|
+
overflow: "auto",
|
|
138
|
+
children: [
|
|
139
|
+
versions.meta.pagination.page > 1 && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
140
|
+
paddingTop: 4,
|
|
141
|
+
textAlign: "center",
|
|
142
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(PaginationButton, {
|
|
143
|
+
page: page - 1,
|
|
144
|
+
children: formatMessage({
|
|
145
|
+
id: 'content-manager.history.sidebar.show-newer',
|
|
146
|
+
defaultMessage: 'Show newer versions'
|
|
147
|
+
})
|
|
148
|
+
})
|
|
149
|
+
}),
|
|
150
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Flex, {
|
|
151
|
+
direction: "column",
|
|
152
|
+
gap: 3,
|
|
153
|
+
padding: {
|
|
154
|
+
initial: 0,
|
|
155
|
+
medium: 4
|
|
156
|
+
},
|
|
157
|
+
tag: "ul",
|
|
158
|
+
alignItems: "stretch",
|
|
159
|
+
children: versions.data.map((version, index)=>/*#__PURE__*/ jsxRuntime.jsx("li", {
|
|
160
|
+
"aria-label": formatMessage({
|
|
161
|
+
id: 'content-manager.history.sidebar.title.version-card.aria-label',
|
|
162
|
+
defaultMessage: 'Version card'
|
|
163
|
+
}),
|
|
164
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(VersionCard, {
|
|
165
|
+
version: version,
|
|
166
|
+
isCurrent: page === 1 && index === 0
|
|
167
|
+
})
|
|
168
|
+
}, version.id))
|
|
169
|
+
}),
|
|
170
|
+
versions.meta.pagination.page < versions.meta.pagination.pageCount && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
171
|
+
paddingBottom: 4,
|
|
172
|
+
textAlign: "center",
|
|
173
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(PaginationButton, {
|
|
174
|
+
page: page + 1,
|
|
175
|
+
children: formatMessage({
|
|
176
|
+
id: 'content-manager.history.sidebar.show-older',
|
|
177
|
+
defaultMessage: 'Show older versions'
|
|
178
|
+
})
|
|
179
|
+
})
|
|
180
|
+
})
|
|
181
|
+
]
|
|
182
|
+
});
|
|
183
|
+
};
|
|
110
184
|
/* -------------------------------------------------------------------------------------------------
|
|
111
185
|
* VersionsList
|
|
112
186
|
* -----------------------------------------------------------------------------------------------*/ const VersionsList = ()=>{
|
|
@@ -115,12 +189,19 @@ const PaginationButton = ({ page, children })=>{
|
|
|
115
189
|
versions: state.versions,
|
|
116
190
|
page: state.page
|
|
117
191
|
}));
|
|
118
|
-
|
|
192
|
+
const isMobile = strapiAdmin.useIsMobile();
|
|
193
|
+
const [{ query }] = strapiAdmin.useQueryParams();
|
|
194
|
+
const currentVersion = versions.data.find((version)=>version.id.toString() === query.id);
|
|
195
|
+
return !isMobile ? /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
119
196
|
shrink: 0,
|
|
120
197
|
direction: "column",
|
|
121
198
|
alignItems: "stretch",
|
|
122
|
-
width:
|
|
123
|
-
|
|
199
|
+
width: {
|
|
200
|
+
initial: '28rem',
|
|
201
|
+
large: '32rem'
|
|
202
|
+
},
|
|
203
|
+
height: "100%",
|
|
204
|
+
overflow: "hidden",
|
|
124
205
|
background: "neutral0",
|
|
125
206
|
borderColor: "neutral200",
|
|
126
207
|
borderWidth: "0 0 0 1px",
|
|
@@ -135,6 +216,7 @@ const PaginationButton = ({ page, children })=>{
|
|
|
135
216
|
borderWidth: "0 0 1px",
|
|
136
217
|
borderStyle: "solid",
|
|
137
218
|
tag: "header",
|
|
219
|
+
role: "banner",
|
|
138
220
|
children: [
|
|
139
221
|
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
140
222
|
tag: "h2",
|
|
@@ -157,50 +239,53 @@ const PaginationButton = ({ page, children })=>{
|
|
|
157
239
|
})
|
|
158
240
|
]
|
|
159
241
|
}),
|
|
160
|
-
/*#__PURE__*/ jsxRuntime.
|
|
161
|
-
|
|
162
|
-
|
|
242
|
+
/*#__PURE__*/ jsxRuntime.jsx(VersionsListItems, {})
|
|
243
|
+
]
|
|
244
|
+
}) : /*#__PURE__*/ jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
245
|
+
children: [
|
|
246
|
+
/*#__PURE__*/ jsxRuntime.jsxs(ActionsDrawer.ActionsDrawer.Root, {
|
|
247
|
+
hasContent: true,
|
|
248
|
+
hasSideNav: true,
|
|
163
249
|
children: [
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
children:
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
250
|
+
/*#__PURE__*/ jsxRuntime.jsx(ActionsDrawer.ActionsDrawer.Overlay, {}),
|
|
251
|
+
/*#__PURE__*/ jsxRuntime.jsx(ActionsDrawer.ActionsDrawer.Header, {
|
|
252
|
+
children: currentVersion && /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
|
|
253
|
+
gap: 2,
|
|
254
|
+
overflow: "hidden",
|
|
255
|
+
children: [
|
|
256
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
257
|
+
flex: 1,
|
|
258
|
+
overflow: "hidden",
|
|
259
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
|
|
260
|
+
display: "block",
|
|
261
|
+
variant: "omega",
|
|
262
|
+
textColor: "neutral600",
|
|
263
|
+
overflow: "hidden",
|
|
264
|
+
style: {
|
|
265
|
+
textOverflow: 'ellipsis',
|
|
266
|
+
whiteSpace: 'nowrap'
|
|
267
|
+
},
|
|
268
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(VersionAuthor, {
|
|
269
|
+
version: currentVersion,
|
|
270
|
+
isCurrent: page === 1 && versions.data.indexOf(currentVersion) === 0
|
|
271
|
+
})
|
|
272
|
+
})
|
|
185
273
|
}),
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
274
|
+
currentVersion.status && /*#__PURE__*/ jsxRuntime.jsx(DocumentStatus.DocumentStatus, {
|
|
275
|
+
status: currentVersion.status,
|
|
276
|
+
size: "XS"
|
|
189
277
|
})
|
|
190
|
-
|
|
191
|
-
}),
|
|
192
|
-
versions.meta.pagination.page < versions.meta.pagination.pageCount && /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
193
|
-
paddingBottom: 4,
|
|
194
|
-
textAlign: "center",
|
|
195
|
-
children: /*#__PURE__*/ jsxRuntime.jsx(PaginationButton, {
|
|
196
|
-
page: page + 1,
|
|
197
|
-
children: formatMessage({
|
|
198
|
-
id: 'content-manager.history.sidebar.show-older',
|
|
199
|
-
defaultMessage: 'Show older versions'
|
|
200
|
-
})
|
|
278
|
+
]
|
|
201
279
|
})
|
|
280
|
+
}),
|
|
281
|
+
/*#__PURE__*/ jsxRuntime.jsx(ActionsDrawer.ActionsDrawer.Content, {
|
|
282
|
+
children: /*#__PURE__*/ jsxRuntime.jsx(VersionsListItems, {})
|
|
202
283
|
})
|
|
203
284
|
]
|
|
285
|
+
}),
|
|
286
|
+
/*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
|
|
287
|
+
width: "100%",
|
|
288
|
+
height: "5.7rem"
|
|
204
289
|
})
|
|
205
290
|
]
|
|
206
291
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VersionsList.js","sources":["../../../../admin/src/history/components/VersionsList.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\n\nimport { RelativeTime } from '../../components/RelativeTime';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { getDisplayName } from '../../utils/users';\nimport { useHistoryContext } from '../pages/History';\n\nimport type { HistoryVersions } from '../../../../shared/contracts';\n\n/* -------------------------------------------------------------------------------------------------\n * BlueText\n * -----------------------------------------------------------------------------------------------*/\n\nconst BlueText = (children: React.ReactNode) => (\n <Typography textColor=\"primary600\" variant=\"pi\">\n {children}\n </Typography>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * VersionCard\n * -----------------------------------------------------------------------------------------------*/\n\ninterface VersionCardProps {\n version: HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}\n\nconst VersionCard = ({ version, isCurrent }: VersionCardProps) => {\n const { formatDate, formatMessage } = useIntl();\n const [{ query }] = useQueryParams<{ id?: string }>();\n const isActive = query.id === version.id.toString();\n const author = version.createdBy && getDisplayName(version.createdBy);\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"flex-start\"\n gap={3}\n hasRadius\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor={isActive ? 'primary600' : 'neutral200'}\n color=\"neutral800\"\n padding={5}\n tag={Link}\n to={`?${stringify({ ...query, id: version.id })}`}\n style={{ textDecoration: 'none' }}\n >\n <Flex direction=\"column\" gap={1} alignItems=\"flex-start\">\n <Typography tag=\"h3\" fontWeight=\"semiBold\">\n {formatDate(version.createdAt, {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n })}\n </Typography>\n <Typography tag=\"p\" variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(\n {\n id: 'content-manager.history.sidebar.versionDescription',\n defaultMessage:\n '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}',\n },\n {\n distanceToNow: <RelativeTime timestamp={new Date(version.createdAt)} />,\n author,\n isAnonymous: !Boolean(version.createdBy),\n isCurrent,\n b: BlueText,\n }\n )}\n </Typography>\n </Flex>\n {version.status && <DocumentStatus status={version.status} size=\"XS\" />}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PaginationButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PaginationButtonProps {\n page: number;\n children: React.ReactNode;\n}\n\nconst PaginationButton = ({ page, children }: PaginationButtonProps) => {\n const [{ query }] = useQueryParams<{ id?: string }>();\n\n // Remove the id from the pagination link, so that the history page can redirect\n // to the id of the first history version in the new page once it's loaded\n const { id: _id, ...queryRest } = query;\n\n return (\n <Link to={{ search: stringify({ ...queryRest, page }) }} style={{ textDecoration: 'none' }}>\n <Typography variant=\"omega\" textColor=\"primary600\">\n {children}\n </Typography>\n </Link>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsList\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsList = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsList', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n\n return (\n <Flex\n shrink={0}\n direction=\"column\"\n alignItems=\"stretch\"\n width=\"320px\"\n height=\"100dvh\"\n background=\"neutral0\"\n borderColor=\"neutral200\"\n borderWidth=\"0 0 0 1px\"\n borderStyle=\"solid\"\n tag=\"aside\"\n >\n <Flex\n direction=\"row\"\n justifyContent=\"space-between\"\n padding={4}\n borderColor=\"neutral200\"\n borderWidth=\"0 0 1px\"\n borderStyle=\"solid\"\n tag=\"header\"\n >\n <Typography tag=\"h2\" variant=\"omega\" fontWeight=\"semiBold\">\n {formatMessage({\n id: 'content-manager.history.sidebar.title',\n defaultMessage: 'Versions',\n })}\n </Typography>\n <Box background=\"neutral150\" hasRadius padding={1}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {versions.meta.pagination.total}\n </Typography>\n </Box>\n </Flex>\n <Box flex={1} overflow=\"auto\">\n {versions.meta.pagination.page > 1 && (\n <Box paddingTop={4} textAlign=\"center\">\n <PaginationButton page={page - 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-newer',\n defaultMessage: 'Show newer versions',\n })}\n </PaginationButton>\n </Box>\n )}\n <Flex direction=\"column\" gap={3} padding={4} tag=\"ul\" alignItems=\"stretch\">\n {versions.data.map((version, index) => (\n <li\n key={version.id}\n aria-label={formatMessage({\n id: 'content-manager.history.sidebar.title.version-card.aria-label',\n defaultMessage: 'Version card',\n })}\n >\n <VersionCard version={version} isCurrent={page === 1 && index === 0} />\n </li>\n ))}\n </Flex>\n {versions.meta.pagination.page < versions.meta.pagination.pageCount && (\n <Box paddingBottom={4} textAlign=\"center\">\n <PaginationButton page={page + 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-older',\n defaultMessage: 'Show older versions',\n })}\n </PaginationButton>\n </Box>\n )}\n </Box>\n </Flex>\n );\n};\n\nexport { VersionsList };\n"],"names":["BlueText","children","_jsx","Typography","textColor","variant","VersionCard","version","isCurrent","formatDate","formatMessage","useIntl","query","useQueryParams","isActive","id","toString","author","createdBy","getDisplayName","_jsxs","Flex","direction","alignItems","gap","hasRadius","borderWidth","borderStyle","borderColor","color","padding","tag","Link","to","stringify","style","textDecoration","fontWeight","createdAt","day","month","year","hour","minute","defaultMessage","distanceToNow","RelativeTime","timestamp","Date","isAnonymous","Boolean","b","status","DocumentStatus","size","PaginationButton","page","_id","queryRest","search","VersionsList","versions","useHistoryContext","state","shrink","width","height","background","justifyContent","Box","meta","pagination","total","flex","overflow","paddingTop","textAlign","data","map","index","li","aria-label","pageCount","paddingBottom"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VersionsList.js","sources":["../../../../admin/src/history/components/VersionsList.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { useQueryParams, useIsMobile } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { stringify } from 'qs';\nimport { useIntl } from 'react-intl';\nimport { Link } from 'react-router-dom';\n\nimport { ActionsDrawer, useActionsDrawer } from '../../components/ActionsDrawer';\nimport { RelativeTime } from '../../components/RelativeTime';\nimport { DocumentStatus } from '../../pages/EditView/components/DocumentStatus';\nimport { getDisplayName } from '../../utils/users';\nimport { useHistoryContext } from '../pages/History';\n\nimport type { HistoryVersions } from '../../../../shared/contracts';\n\n/* -------------------------------------------------------------------------------------------------\n * BlueText\n * -----------------------------------------------------------------------------------------------*/\n\nconst BlueText = (children: React.ReactNode) => (\n <Typography textColor=\"primary600\" variant=\"pi\">\n {children}\n </Typography>\n);\n\n/* -------------------------------------------------------------------------------------------------\n * VersionAuthor\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionAuthor = ({\n version,\n isCurrent,\n}: {\n version: HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}) => {\n const { formatMessage } = useIntl();\n const author = version.createdBy && getDisplayName(version.createdBy);\n return (\n <>\n {formatMessage(\n {\n id: 'content-manager.history.sidebar.versionDescription',\n defaultMessage:\n '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}',\n },\n {\n distanceToNow: <RelativeTime timestamp={new Date(version.createdAt)} />,\n author,\n isAnonymous: !Boolean(version.createdBy),\n isCurrent,\n b: BlueText,\n }\n )}\n </>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionCard\n * -----------------------------------------------------------------------------------------------*/\n\ninterface VersionCardProps {\n version: HistoryVersions.HistoryVersionDataResponse;\n isCurrent: boolean;\n}\n\nconst VersionCard = ({ version, isCurrent }: VersionCardProps) => {\n const { formatDate } = useIntl();\n const [{ query }] = useQueryParams<{ id?: string }>();\n const setIsOpen = useActionsDrawer('VersionCard', (s) => s?.setIsOpen, false);\n const isActive = query.id === version.id.toString();\n\n const handleClick = () => {\n setIsOpen?.(false);\n };\n\n return (\n <Flex\n direction=\"column\"\n alignItems=\"flex-start\"\n gap={3}\n hasRadius\n borderWidth=\"1px\"\n borderStyle=\"solid\"\n borderColor={isActive ? 'primary600' : 'neutral200'}\n color=\"neutral800\"\n padding={5}\n tag={Link}\n to={`?${stringify({ ...query, id: version.id })}`}\n style={{ textDecoration: 'none' }}\n onClick={handleClick}\n >\n <Flex direction=\"column\" gap={1} alignItems=\"flex-start\">\n <Typography tag=\"h3\" fontWeight=\"semiBold\">\n {formatDate(version.createdAt, {\n day: 'numeric',\n month: 'numeric',\n year: 'numeric',\n hour: '2-digit',\n minute: '2-digit',\n })}\n </Typography>\n <Typography tag=\"p\" variant=\"pi\" textColor=\"neutral600\">\n <VersionAuthor version={version} isCurrent={isCurrent} />\n </Typography>\n </Flex>\n {version.status && <DocumentStatus status={version.status} size=\"XS\" />}\n </Flex>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * PaginationButton\n * -----------------------------------------------------------------------------------------------*/\n\ninterface PaginationButtonProps {\n page: number;\n children: React.ReactNode;\n}\n\nconst PaginationButton = ({ page, children }: PaginationButtonProps) => {\n const [{ query }] = useQueryParams<{ id?: string }>();\n\n // Remove the id from the pagination link, so that the history page can redirect\n // to the id of the first history version in the new page once it's loaded\n const { id: _id, ...queryRest } = query;\n\n return (\n <Link to={{ search: stringify({ ...queryRest, page }) }} style={{ textDecoration: 'none' }}>\n <Typography variant=\"omega\" textColor=\"primary600\">\n {children}\n </Typography>\n </Link>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsListItems\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsListItems = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsListItems', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n\n return (\n <Box flex={1} overflow=\"auto\">\n {versions.meta.pagination.page > 1 && (\n <Box paddingTop={4} textAlign=\"center\">\n <PaginationButton page={page - 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-newer',\n defaultMessage: 'Show newer versions',\n })}\n </PaginationButton>\n </Box>\n )}\n <Flex\n direction=\"column\"\n gap={3}\n padding={{ initial: 0, medium: 4 }}\n tag=\"ul\"\n alignItems=\"stretch\"\n >\n {versions.data.map((version, index) => (\n <li\n key={version.id}\n aria-label={formatMessage({\n id: 'content-manager.history.sidebar.title.version-card.aria-label',\n defaultMessage: 'Version card',\n })}\n >\n <VersionCard version={version} isCurrent={page === 1 && index === 0} />\n </li>\n ))}\n </Flex>\n {versions.meta.pagination.page < versions.meta.pagination.pageCount && (\n <Box paddingBottom={4} textAlign=\"center\">\n <PaginationButton page={page + 1}>\n {formatMessage({\n id: 'content-manager.history.sidebar.show-older',\n defaultMessage: 'Show older versions',\n })}\n </PaginationButton>\n </Box>\n )}\n </Box>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * VersionsList\n * -----------------------------------------------------------------------------------------------*/\n\nconst VersionsList = () => {\n const { formatMessage } = useIntl();\n const { versions, page } = useHistoryContext('VersionsList', (state) => ({\n versions: state.versions,\n page: state.page,\n }));\n const isMobile = useIsMobile();\n\n const [{ query }] = useQueryParams<{ id?: string }>();\n const currentVersion = versions.data.find((version) => version.id.toString() === query.id);\n\n return !isMobile ? (\n <Flex\n shrink={0}\n direction=\"column\"\n alignItems=\"stretch\"\n width={{ initial: '28rem', large: '32rem' }}\n height=\"100%\"\n overflow=\"hidden\"\n background=\"neutral0\"\n borderColor=\"neutral200\"\n borderWidth=\"0 0 0 1px\"\n borderStyle=\"solid\"\n tag=\"aside\"\n >\n <Flex\n direction=\"row\"\n justifyContent=\"space-between\"\n padding={4}\n borderColor=\"neutral200\"\n borderWidth=\"0 0 1px\"\n borderStyle=\"solid\"\n tag=\"header\"\n role=\"banner\"\n >\n <Typography tag=\"h2\" variant=\"omega\" fontWeight=\"semiBold\">\n {formatMessage({\n id: 'content-manager.history.sidebar.title',\n defaultMessage: 'Versions',\n })}\n </Typography>\n <Box background=\"neutral150\" hasRadius padding={1}>\n <Typography variant=\"sigma\" textColor=\"neutral600\">\n {versions.meta.pagination.total}\n </Typography>\n </Box>\n </Flex>\n <VersionsListItems />\n </Flex>\n ) : (\n <>\n <ActionsDrawer.Root hasContent hasSideNav>\n <ActionsDrawer.Overlay />\n <ActionsDrawer.Header>\n {currentVersion && (\n <Flex gap={2} overflow=\"hidden\">\n <Box flex={1} overflow=\"hidden\">\n <Typography\n display=\"block\"\n variant=\"omega\"\n textColor=\"neutral600\"\n overflow=\"hidden\"\n style={{ textOverflow: 'ellipsis', whiteSpace: 'nowrap' }}\n >\n <VersionAuthor\n version={currentVersion}\n isCurrent={page === 1 && versions.data.indexOf(currentVersion) === 0}\n />\n </Typography>\n </Box>\n {currentVersion.status && <DocumentStatus status={currentVersion.status} size=\"XS\" />}\n </Flex>\n )}\n </ActionsDrawer.Header>\n <ActionsDrawer.Content>\n <VersionsListItems />\n </ActionsDrawer.Content>\n </ActionsDrawer.Root>\n {/* Adding a fixed height to the bottom of the page to prevent \n the actions drawer from covering the content\n (32px + 12px * 2 padding + 1px border) */}\n <Box width=\"100%\" height=\"5.7rem\" />\n </>\n );\n};\n\nexport { VersionsList };\n"],"names":["BlueText","children","_jsx","Typography","textColor","variant","VersionAuthor","version","isCurrent","formatMessage","useIntl","author","createdBy","getDisplayName","_Fragment","id","defaultMessage","distanceToNow","RelativeTime","timestamp","Date","createdAt","isAnonymous","Boolean","b","VersionCard","formatDate","query","useQueryParams","setIsOpen","useActionsDrawer","s","isActive","toString","handleClick","_jsxs","Flex","direction","alignItems","gap","hasRadius","borderWidth","borderStyle","borderColor","color","padding","tag","Link","to","stringify","style","textDecoration","onClick","fontWeight","day","month","year","hour","minute","status","DocumentStatus","size","PaginationButton","page","_id","queryRest","search","VersionsListItems","versions","useHistoryContext","state","Box","flex","overflow","meta","pagination","paddingTop","textAlign","initial","medium","data","map","index","li","aria-label","pageCount","paddingBottom","VersionsList","isMobile","useIsMobile","currentVersion","find","shrink","width","large","height","background","justifyContent","role","total","ActionsDrawer","Root","hasContent","hasSideNav","Overlay","Header","display","textOverflow","whiteSpace","indexOf","Content"],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import 'react';
|
|
3
|
-
import { useQueryParams } from '@strapi/admin/strapi-admin';
|
|
3
|
+
import { useIsMobile, useQueryParams } from '@strapi/admin/strapi-admin';
|
|
4
4
|
import { Flex, Typography, Box } from '@strapi/design-system';
|
|
5
5
|
import { stringify } from 'qs';
|
|
6
6
|
import { useIntl } from 'react-intl';
|
|
7
7
|
import { Link } from 'react-router-dom';
|
|
8
|
+
import { ActionsDrawer, useActionsDrawer } from '../../components/ActionsDrawer.mjs';
|
|
8
9
|
import { RelativeTime } from '../../components/RelativeTime.mjs';
|
|
9
10
|
import { DocumentStatus } from '../../pages/EditView/components/DocumentStatus.mjs';
|
|
10
11
|
import { getDisplayName } from '../../utils/users.mjs';
|
|
@@ -17,11 +18,34 @@ import { useHistoryContext } from '../pages/History.mjs';
|
|
|
17
18
|
variant: "pi",
|
|
18
19
|
children: children
|
|
19
20
|
});
|
|
21
|
+
/* -------------------------------------------------------------------------------------------------
|
|
22
|
+
* VersionAuthor
|
|
23
|
+
* -----------------------------------------------------------------------------------------------*/ const VersionAuthor = ({ version, isCurrent })=>{
|
|
24
|
+
const { formatMessage } = useIntl();
|
|
25
|
+
const author = version.createdBy && getDisplayName(version.createdBy);
|
|
26
|
+
return /*#__PURE__*/ jsx(Fragment, {
|
|
27
|
+
children: formatMessage({
|
|
28
|
+
id: 'content-manager.history.sidebar.versionDescription',
|
|
29
|
+
defaultMessage: '{distanceToNow}{isAnonymous, select, true {} other { by {author}}}{isCurrent, select, true { <b>(current)</b>} other {}}'
|
|
30
|
+
}, {
|
|
31
|
+
distanceToNow: /*#__PURE__*/ jsx(RelativeTime, {
|
|
32
|
+
timestamp: new Date(version.createdAt)
|
|
33
|
+
}),
|
|
34
|
+
author,
|
|
35
|
+
isAnonymous: !Boolean(version.createdBy),
|
|
36
|
+
isCurrent,
|
|
37
|
+
b: BlueText
|
|
38
|
+
})
|
|
39
|
+
});
|
|
40
|
+
};
|
|
20
41
|
const VersionCard = ({ version, isCurrent })=>{
|
|
21
|
-
const { formatDate
|
|
42
|
+
const { formatDate } = useIntl();
|
|
22
43
|
const [{ query }] = useQueryParams();
|
|
44
|
+
const setIsOpen = useActionsDrawer('VersionCard', (s)=>s?.setIsOpen, false);
|
|
23
45
|
const isActive = query.id === version.id.toString();
|
|
24
|
-
const
|
|
46
|
+
const handleClick = ()=>{
|
|
47
|
+
setIsOpen?.(false);
|
|
48
|
+
};
|
|
25
49
|
return /*#__PURE__*/ jsxs(Flex, {
|
|
26
50
|
direction: "column",
|
|
27
51
|
alignItems: "flex-start",
|
|
@@ -40,6 +64,7 @@ const VersionCard = ({ version, isCurrent })=>{
|
|
|
40
64
|
style: {
|
|
41
65
|
textDecoration: 'none'
|
|
42
66
|
},
|
|
67
|
+
onClick: handleClick,
|
|
43
68
|
children: [
|
|
44
69
|
/*#__PURE__*/ jsxs(Flex, {
|
|
45
70
|
direction: "column",
|
|
@@ -61,17 +86,9 @@ const VersionCard = ({ version, isCurrent })=>{
|
|
|
61
86
|
tag: "p",
|
|
62
87
|
variant: "pi",
|
|
63
88
|
textColor: "neutral600",
|
|
64
|
-
children:
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}, {
|
|
68
|
-
distanceToNow: /*#__PURE__*/ jsx(RelativeTime, {
|
|
69
|
-
timestamp: new Date(version.createdAt)
|
|
70
|
-
}),
|
|
71
|
-
author,
|
|
72
|
-
isAnonymous: !Boolean(version.createdBy),
|
|
73
|
-
isCurrent,
|
|
74
|
-
b: BlueText
|
|
89
|
+
children: /*#__PURE__*/ jsx(VersionAuthor, {
|
|
90
|
+
version: version,
|
|
91
|
+
isCurrent: isCurrent
|
|
75
92
|
})
|
|
76
93
|
})
|
|
77
94
|
]
|
|
@@ -105,6 +122,63 @@ const PaginationButton = ({ page, children })=>{
|
|
|
105
122
|
})
|
|
106
123
|
});
|
|
107
124
|
};
|
|
125
|
+
/* -------------------------------------------------------------------------------------------------
|
|
126
|
+
* VersionsListItems
|
|
127
|
+
* -----------------------------------------------------------------------------------------------*/ const VersionsListItems = ()=>{
|
|
128
|
+
const { formatMessage } = useIntl();
|
|
129
|
+
const { versions, page } = useHistoryContext('VersionsListItems', (state)=>({
|
|
130
|
+
versions: state.versions,
|
|
131
|
+
page: state.page
|
|
132
|
+
}));
|
|
133
|
+
return /*#__PURE__*/ jsxs(Box, {
|
|
134
|
+
flex: 1,
|
|
135
|
+
overflow: "auto",
|
|
136
|
+
children: [
|
|
137
|
+
versions.meta.pagination.page > 1 && /*#__PURE__*/ jsx(Box, {
|
|
138
|
+
paddingTop: 4,
|
|
139
|
+
textAlign: "center",
|
|
140
|
+
children: /*#__PURE__*/ jsx(PaginationButton, {
|
|
141
|
+
page: page - 1,
|
|
142
|
+
children: formatMessage({
|
|
143
|
+
id: 'content-manager.history.sidebar.show-newer',
|
|
144
|
+
defaultMessage: 'Show newer versions'
|
|
145
|
+
})
|
|
146
|
+
})
|
|
147
|
+
}),
|
|
148
|
+
/*#__PURE__*/ jsx(Flex, {
|
|
149
|
+
direction: "column",
|
|
150
|
+
gap: 3,
|
|
151
|
+
padding: {
|
|
152
|
+
initial: 0,
|
|
153
|
+
medium: 4
|
|
154
|
+
},
|
|
155
|
+
tag: "ul",
|
|
156
|
+
alignItems: "stretch",
|
|
157
|
+
children: versions.data.map((version, index)=>/*#__PURE__*/ jsx("li", {
|
|
158
|
+
"aria-label": formatMessage({
|
|
159
|
+
id: 'content-manager.history.sidebar.title.version-card.aria-label',
|
|
160
|
+
defaultMessage: 'Version card'
|
|
161
|
+
}),
|
|
162
|
+
children: /*#__PURE__*/ jsx(VersionCard, {
|
|
163
|
+
version: version,
|
|
164
|
+
isCurrent: page === 1 && index === 0
|
|
165
|
+
})
|
|
166
|
+
}, version.id))
|
|
167
|
+
}),
|
|
168
|
+
versions.meta.pagination.page < versions.meta.pagination.pageCount && /*#__PURE__*/ jsx(Box, {
|
|
169
|
+
paddingBottom: 4,
|
|
170
|
+
textAlign: "center",
|
|
171
|
+
children: /*#__PURE__*/ jsx(PaginationButton, {
|
|
172
|
+
page: page + 1,
|
|
173
|
+
children: formatMessage({
|
|
174
|
+
id: 'content-manager.history.sidebar.show-older',
|
|
175
|
+
defaultMessage: 'Show older versions'
|
|
176
|
+
})
|
|
177
|
+
})
|
|
178
|
+
})
|
|
179
|
+
]
|
|
180
|
+
});
|
|
181
|
+
};
|
|
108
182
|
/* -------------------------------------------------------------------------------------------------
|
|
109
183
|
* VersionsList
|
|
110
184
|
* -----------------------------------------------------------------------------------------------*/ const VersionsList = ()=>{
|
|
@@ -113,12 +187,19 @@ const PaginationButton = ({ page, children })=>{
|
|
|
113
187
|
versions: state.versions,
|
|
114
188
|
page: state.page
|
|
115
189
|
}));
|
|
116
|
-
|
|
190
|
+
const isMobile = useIsMobile();
|
|
191
|
+
const [{ query }] = useQueryParams();
|
|
192
|
+
const currentVersion = versions.data.find((version)=>version.id.toString() === query.id);
|
|
193
|
+
return !isMobile ? /*#__PURE__*/ jsxs(Flex, {
|
|
117
194
|
shrink: 0,
|
|
118
195
|
direction: "column",
|
|
119
196
|
alignItems: "stretch",
|
|
120
|
-
width:
|
|
121
|
-
|
|
197
|
+
width: {
|
|
198
|
+
initial: '28rem',
|
|
199
|
+
large: '32rem'
|
|
200
|
+
},
|
|
201
|
+
height: "100%",
|
|
202
|
+
overflow: "hidden",
|
|
122
203
|
background: "neutral0",
|
|
123
204
|
borderColor: "neutral200",
|
|
124
205
|
borderWidth: "0 0 0 1px",
|
|
@@ -133,6 +214,7 @@ const PaginationButton = ({ page, children })=>{
|
|
|
133
214
|
borderWidth: "0 0 1px",
|
|
134
215
|
borderStyle: "solid",
|
|
135
216
|
tag: "header",
|
|
217
|
+
role: "banner",
|
|
136
218
|
children: [
|
|
137
219
|
/*#__PURE__*/ jsx(Typography, {
|
|
138
220
|
tag: "h2",
|
|
@@ -155,50 +237,53 @@ const PaginationButton = ({ page, children })=>{
|
|
|
155
237
|
})
|
|
156
238
|
]
|
|
157
239
|
}),
|
|
158
|
-
/*#__PURE__*/
|
|
159
|
-
|
|
160
|
-
|
|
240
|
+
/*#__PURE__*/ jsx(VersionsListItems, {})
|
|
241
|
+
]
|
|
242
|
+
}) : /*#__PURE__*/ jsxs(Fragment, {
|
|
243
|
+
children: [
|
|
244
|
+
/*#__PURE__*/ jsxs(ActionsDrawer.Root, {
|
|
245
|
+
hasContent: true,
|
|
246
|
+
hasSideNav: true,
|
|
161
247
|
children: [
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
children:
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
248
|
+
/*#__PURE__*/ jsx(ActionsDrawer.Overlay, {}),
|
|
249
|
+
/*#__PURE__*/ jsx(ActionsDrawer.Header, {
|
|
250
|
+
children: currentVersion && /*#__PURE__*/ jsxs(Flex, {
|
|
251
|
+
gap: 2,
|
|
252
|
+
overflow: "hidden",
|
|
253
|
+
children: [
|
|
254
|
+
/*#__PURE__*/ jsx(Box, {
|
|
255
|
+
flex: 1,
|
|
256
|
+
overflow: "hidden",
|
|
257
|
+
children: /*#__PURE__*/ jsx(Typography, {
|
|
258
|
+
display: "block",
|
|
259
|
+
variant: "omega",
|
|
260
|
+
textColor: "neutral600",
|
|
261
|
+
overflow: "hidden",
|
|
262
|
+
style: {
|
|
263
|
+
textOverflow: 'ellipsis',
|
|
264
|
+
whiteSpace: 'nowrap'
|
|
265
|
+
},
|
|
266
|
+
children: /*#__PURE__*/ jsx(VersionAuthor, {
|
|
267
|
+
version: currentVersion,
|
|
268
|
+
isCurrent: page === 1 && versions.data.indexOf(currentVersion) === 0
|
|
269
|
+
})
|
|
270
|
+
})
|
|
183
271
|
}),
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
272
|
+
currentVersion.status && /*#__PURE__*/ jsx(DocumentStatus, {
|
|
273
|
+
status: currentVersion.status,
|
|
274
|
+
size: "XS"
|
|
187
275
|
})
|
|
188
|
-
|
|
189
|
-
}),
|
|
190
|
-
versions.meta.pagination.page < versions.meta.pagination.pageCount && /*#__PURE__*/ jsx(Box, {
|
|
191
|
-
paddingBottom: 4,
|
|
192
|
-
textAlign: "center",
|
|
193
|
-
children: /*#__PURE__*/ jsx(PaginationButton, {
|
|
194
|
-
page: page + 1,
|
|
195
|
-
children: formatMessage({
|
|
196
|
-
id: 'content-manager.history.sidebar.show-older',
|
|
197
|
-
defaultMessage: 'Show older versions'
|
|
198
|
-
})
|
|
276
|
+
]
|
|
199
277
|
})
|
|
278
|
+
}),
|
|
279
|
+
/*#__PURE__*/ jsx(ActionsDrawer.Content, {
|
|
280
|
+
children: /*#__PURE__*/ jsx(VersionsListItems, {})
|
|
200
281
|
})
|
|
201
282
|
]
|
|
283
|
+
}),
|
|
284
|
+
/*#__PURE__*/ jsx(Box, {
|
|
285
|
+
width: "100%",
|
|
286
|
+
height: "5.7rem"
|
|
202
287
|
})
|
|
203
288
|
]
|
|
204
289
|
});
|