@strapi/content-manager 5.0.0-beta.6 → 5.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/{CardDragPreview-DSVYodBX.js → CardDragPreview-C0QyJgRA.js} +10 -14
- package/dist/_chunks/CardDragPreview-C0QyJgRA.js.map +1 -0
- package/dist/_chunks/{CardDragPreview-ikSG4M46.mjs → CardDragPreview-DOxamsuj.mjs} +7 -9
- package/dist/_chunks/CardDragPreview-DOxamsuj.mjs.map +1 -0
- package/dist/_chunks/{ComponentConfigurationPage--2aLCv-G.mjs → ComponentConfigurationPage-CuWgXugY.mjs} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage--2aLCv-G.mjs.map → ComponentConfigurationPage-CuWgXugY.mjs.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-43KmCNQE.js → ComponentConfigurationPage-by0e_kNd.js} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-43KmCNQE.js.map → ComponentConfigurationPage-by0e_kNd.js.map} +1 -1
- package/dist/_chunks/{ComponentIcon-BBQsYCVn.js → ComponentIcon-BXdiCGQp.js} +8 -2
- package/dist/_chunks/ComponentIcon-BXdiCGQp.js.map +1 -0
- package/dist/_chunks/{ComponentIcon-BOFnK76n.mjs → ComponentIcon-u4bIXTFY.mjs} +9 -3
- package/dist/_chunks/ComponentIcon-u4bIXTFY.mjs.map +1 -0
- package/dist/_chunks/{EditConfigurationPage-BfFzJ4Br.js → EditConfigurationPage-CqBeCPGH.js} +3 -3
- package/dist/_chunks/{EditConfigurationPage-BfFzJ4Br.js.map → EditConfigurationPage-CqBeCPGH.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-CUcGHHvQ.mjs → EditConfigurationPage-DbI4KMyz.mjs} +3 -3
- package/dist/_chunks/{EditConfigurationPage-CUcGHHvQ.mjs.map → EditConfigurationPage-DbI4KMyz.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-CzOT5Kpj.js → EditViewPage-ChgloMyO.js} +7 -9
- package/dist/_chunks/EditViewPage-ChgloMyO.js.map +1 -0
- package/dist/_chunks/{EditViewPage-Bm8lgcm6.mjs → EditViewPage-dFPBya9U.mjs} +6 -6
- package/dist/_chunks/EditViewPage-dFPBya9U.mjs.map +1 -0
- package/dist/_chunks/{Field-Dlh0uGnL.mjs → Field-C1nUKcdS.mjs} +500 -608
- package/dist/_chunks/Field-C1nUKcdS.mjs.map +1 -0
- package/dist/_chunks/{Field-Caef4JjM.js → Field-dLk-vgLL.js} +552 -661
- package/dist/_chunks/Field-dLk-vgLL.js.map +1 -0
- package/dist/_chunks/{Form-BzuAjtRq.js → Form-CbXtmHC_.js} +21 -19
- package/dist/_chunks/Form-CbXtmHC_.js.map +1 -0
- package/dist/_chunks/{Form-EnaQL_6L.mjs → Form-DOlpi7Js.mjs} +21 -18
- package/dist/_chunks/Form-DOlpi7Js.mjs.map +1 -0
- package/dist/_chunks/{History-D6sbCJvo.mjs → History-BFNUAiGc.mjs} +32 -43
- package/dist/_chunks/History-BFNUAiGc.mjs.map +1 -0
- package/dist/_chunks/{History-C17LiyRg.js → History-BjDfohBr.js} +32 -44
- package/dist/_chunks/History-BjDfohBr.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-Ce4qs7qE.mjs → ListConfigurationPage-DDi0KqFm.mjs} +14 -14
- package/dist/_chunks/ListConfigurationPage-DDi0KqFm.mjs.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-Dks5SX6f.js → ListConfigurationPage-IQBgWTaa.js} +17 -19
- package/dist/_chunks/ListConfigurationPage-IQBgWTaa.js.map +1 -0
- package/dist/_chunks/{ListViewPage-Be7S5aKL.mjs → ListViewPage-BPjljUsH.mjs} +25 -45
- package/dist/_chunks/ListViewPage-BPjljUsH.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-BwrZrPsh.js → ListViewPage-CZYGqlvF.js} +31 -51
- package/dist/_chunks/ListViewPage-CZYGqlvF.js.map +1 -0
- package/dist/_chunks/{NoContentTypePage-Cu5r1-JT.js → NoContentTypePage-BOAI6VZ1.js} +5 -5
- package/dist/_chunks/NoContentTypePage-BOAI6VZ1.js.map +1 -0
- package/dist/_chunks/{NoContentTypePage-CIPmYQMm.mjs → NoContentTypePage-DaWw67K-.mjs} +7 -7
- package/dist/_chunks/NoContentTypePage-DaWw67K-.mjs.map +1 -0
- package/dist/_chunks/{NoPermissionsPage-DhJ7LYrr.mjs → NoPermissionsPage-CZrJH00p.mjs} +5 -6
- package/dist/_chunks/NoPermissionsPage-CZrJH00p.mjs.map +1 -0
- package/dist/_chunks/{NoPermissionsPage-C-j6TEUF.js → NoPermissionsPage-cYEtLc_e.js} +4 -5
- package/dist/_chunks/NoPermissionsPage-cYEtLc_e.js.map +1 -0
- package/dist/_chunks/{Relations-CY7AtkDA.mjs → Relations-DTowyge2.mjs} +66 -56
- package/dist/_chunks/Relations-DTowyge2.mjs.map +1 -0
- package/dist/_chunks/{Relations-Czs-uZ-s.js → Relations-DU6B7irU.js} +70 -61
- package/dist/_chunks/Relations-DU6B7irU.js.map +1 -0
- package/dist/_chunks/{en-C-V1_90f.js → en-DTULi5-d.js} +3 -1
- package/dist/_chunks/{en-C-V1_90f.js.map → en-DTULi5-d.js.map} +1 -1
- package/dist/_chunks/{en-MBPul9Su.mjs → en-GCOTL6jR.mjs} +3 -1
- package/dist/_chunks/{en-MBPul9Su.mjs.map → en-GCOTL6jR.mjs.map} +1 -1
- package/dist/_chunks/{index-DNVx8ssZ.mjs → index-BaGHmIir.mjs} +507 -202
- package/dist/_chunks/index-BaGHmIir.mjs.map +1 -0
- package/dist/_chunks/{index-X_2tafck.js → index-CCJeB7Rw.js} +502 -198
- package/dist/_chunks/index-CCJeB7Rw.js.map +1 -0
- package/dist/_chunks/{layout-Dnh0PNp9.mjs → layout-BinjszSQ.mjs} +13 -13
- package/dist/_chunks/layout-BinjszSQ.mjs.map +1 -0
- package/dist/_chunks/{layout-dBc7wN7L.js → layout-ni_L9kT1.js} +14 -16
- package/dist/_chunks/layout-ni_L9kT1.js.map +1 -0
- package/dist/_chunks/{relations-4pHtBrHJ.js → relations-CeJAJc5I.js} +2 -2
- package/dist/_chunks/{relations-4pHtBrHJ.js.map → relations-CeJAJc5I.js.map} +1 -1
- package/dist/_chunks/{relations-Dx7tMKJN.mjs → relations-c91ji5eR.mjs} +2 -2
- package/dist/_chunks/{relations-Dx7tMKJN.mjs.map → relations-c91ji5eR.mjs.map} +1 -1
- package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs.map +1 -1
- package/dist/_chunks/useDragAndDrop-J0TUUbR6.js.map +1 -1
- package/dist/_chunks/usePrev-B9w_-eYc.js +15 -0
- package/dist/_chunks/usePrev-B9w_-eYc.js.map +1 -0
- package/dist/_chunks/usePrev-DH6iah0A.mjs +16 -0
- package/dist/_chunks/usePrev-DH6iah0A.mjs.map +1 -0
- package/dist/admin/index.js +2 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +5 -4
- package/dist/admin/src/components/ComponentIcon.d.ts +6 -3
- package/dist/admin/src/content-manager.d.ts +3 -3
- package/dist/admin/src/exports.d.ts +1 -0
- package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
- package/dist/admin/src/hooks/useDocument.d.ts +5 -8
- package/dist/admin/src/hooks/useDocumentActions.d.ts +24 -3
- package/dist/admin/src/hooks/useDocumentLayout.d.ts +2 -2
- package/dist/admin/src/hooks/useDragAndDrop.d.ts +4 -4
- package/dist/admin/src/hooks/useKeyboardDragAndDrop.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +3 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.d.ts +3 -3
- package/dist/admin/src/pages/EditView/components/FormInputs/Component/Input.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/ComponentCategory.d.ts +3 -5
- package/dist/admin/src/pages/EditView/components/FormInputs/DynamicZone/Field.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +10 -18
- package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +3 -49
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/Field.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +67 -52
- package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +2 -10
- package/dist/admin/src/services/api.d.ts +2 -3
- package/dist/admin/src/services/components.d.ts +2 -2
- package/dist/admin/src/services/contentTypes.d.ts +5 -5
- package/dist/admin/src/services/documents.d.ts +29 -17
- package/dist/admin/src/services/init.d.ts +2 -2
- package/dist/admin/src/services/relations.d.ts +3 -3
- package/dist/admin/src/services/uid.d.ts +3 -3
- package/dist/admin/src/utils/api.d.ts +4 -18
- package/dist/admin/src/utils/validation.d.ts +1 -6
- package/dist/server/index.js +529 -407
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +537 -415
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
- package/dist/server/src/controllers/single-types.d.ts.map +1 -1
- package/dist/server/src/controllers/utils/metadata.d.ts +8 -0
- package/dist/server/src/controllers/utils/metadata.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/dimensions.d.ts +9 -0
- package/dist/server/src/controllers/validation/dimensions.d.ts.map +1 -0
- package/dist/server/src/controllers/validation/index.d.ts +1 -1
- package/dist/server/src/history/services/history.d.ts +2 -4
- package/dist/server/src/history/services/history.d.ts.map +1 -1
- package/dist/server/src/history/services/index.d.ts +6 -2
- package/dist/server/src/history/services/index.d.ts.map +1 -1
- package/dist/server/src/history/services/lifecycles.d.ts +9 -0
- package/dist/server/src/history/services/lifecycles.d.ts.map +1 -0
- package/dist/server/src/history/services/utils.d.ts +41 -9
- package/dist/server/src/history/services/utils.d.ts.map +1 -1
- package/dist/server/src/history/utils.d.ts +6 -2
- package/dist/server/src/history/utils.d.ts.map +1 -1
- package/dist/server/src/index.d.ts +18 -39
- package/dist/server/src/index.d.ts.map +1 -1
- package/dist/server/src/services/document-manager.d.ts +13 -12
- package/dist/server/src/services/document-manager.d.ts.map +1 -1
- package/dist/server/src/services/document-metadata.d.ts +8 -29
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/index.d.ts +18 -39
- package/dist/server/src/services/index.d.ts.map +1 -1
- package/dist/server/src/services/utils/populate.d.ts +8 -1
- package/dist/server/src/services/utils/populate.d.ts.map +1 -1
- package/dist/shared/contracts/collection-types.d.ts +14 -6
- package/dist/shared/contracts/collection-types.d.ts.map +1 -1
- package/dist/shared/contracts/relations.d.ts +2 -2
- package/dist/shared/contracts/relations.d.ts.map +1 -1
- package/package.json +13 -14
- package/dist/_chunks/CardDragPreview-DSVYodBX.js.map +0 -1
- package/dist/_chunks/CardDragPreview-ikSG4M46.mjs.map +0 -1
- package/dist/_chunks/ComponentIcon-BBQsYCVn.js.map +0 -1
- package/dist/_chunks/ComponentIcon-BOFnK76n.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-Bm8lgcm6.mjs.map +0 -1
- package/dist/_chunks/EditViewPage-CzOT5Kpj.js.map +0 -1
- package/dist/_chunks/Field-Caef4JjM.js.map +0 -1
- package/dist/_chunks/Field-Dlh0uGnL.mjs.map +0 -1
- package/dist/_chunks/Form-BzuAjtRq.js.map +0 -1
- package/dist/_chunks/Form-EnaQL_6L.mjs.map +0 -1
- package/dist/_chunks/History-C17LiyRg.js.map +0 -1
- package/dist/_chunks/History-D6sbCJvo.mjs.map +0 -1
- package/dist/_chunks/ListConfigurationPage-Ce4qs7qE.mjs.map +0 -1
- package/dist/_chunks/ListConfigurationPage-Dks5SX6f.js.map +0 -1
- package/dist/_chunks/ListViewPage-Be7S5aKL.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-BwrZrPsh.js.map +0 -1
- package/dist/_chunks/NoContentTypePage-CIPmYQMm.mjs.map +0 -1
- package/dist/_chunks/NoContentTypePage-Cu5r1-JT.js.map +0 -1
- package/dist/_chunks/NoPermissionsPage-C-j6TEUF.js.map +0 -1
- package/dist/_chunks/NoPermissionsPage-DhJ7LYrr.mjs.map +0 -1
- package/dist/_chunks/Relations-CY7AtkDA.mjs.map +0 -1
- package/dist/_chunks/Relations-Czs-uZ-s.js.map +0 -1
- package/dist/_chunks/index-DNVx8ssZ.mjs.map +0 -1
- package/dist/_chunks/index-X_2tafck.js.map +0 -1
- package/dist/_chunks/layout-Dnh0PNp9.mjs.map +0 -1
- package/dist/_chunks/layout-dBc7wN7L.js.map +0 -1
- package/dist/_chunks/urls-CbOsUOoW.mjs +0 -7
- package/dist/_chunks/urls-CbOsUOoW.mjs.map +0 -1
- package/dist/_chunks/urls-DzZya_gm.js +0 -6
- package/dist/_chunks/urls-DzZya_gm.js.map +0 -1
- package/dist/admin/src/pages/ListView/components/BulkActions/PublishAction.d.ts +0 -31
- package/dist/server/src/controllers/utils/dimensions.d.ts +0 -5
- package/dist/server/src/controllers/utils/dimensions.d.ts.map +0 -1
@@ -7,10 +7,8 @@ const reactIntl = require("react-intl");
|
|
7
7
|
const reactRouterDom = require("react-router-dom");
|
8
8
|
const React = require("react");
|
9
9
|
const designSystem = require("@strapi/design-system");
|
10
|
-
const
|
10
|
+
const styledComponents = require("styled-components");
|
11
11
|
const yup = require("yup");
|
12
|
-
const react = require("@reduxjs/toolkit/query/react");
|
13
|
-
const axios = require("axios");
|
14
12
|
const pipe = require("lodash/fp/pipe");
|
15
13
|
const dateFns = require("date-fns");
|
16
14
|
const toolkit = require("@reduxjs/toolkit");
|
@@ -34,7 +32,6 @@ function _interopNamespace(e) {
|
|
34
32
|
return Object.freeze(n);
|
35
33
|
}
|
36
34
|
const React__namespace = /* @__PURE__ */ _interopNamespace(React);
|
37
|
-
const styled__default = /* @__PURE__ */ _interopDefault(styled);
|
38
35
|
const yup__namespace = /* @__PURE__ */ _interopNamespace(yup);
|
39
36
|
const pipe__default = /* @__PURE__ */ _interopDefault(pipe);
|
40
37
|
const __variableDynamicImportRuntimeHelper = (glob, path) => {
|
@@ -179,9 +176,8 @@ const DocumentRBAC = ({ children, permissions }) => {
|
|
179
176
|
const name = removeNumericalStrings(fieldName.split("."));
|
180
177
|
const componentFieldNames = fieldsUserCanAction.filter((field) => field.split(".").length > 1);
|
181
178
|
if (fieldType === "component") {
|
182
|
-
|
183
|
-
|
184
|
-
return field.includes(fieldName);
|
179
|
+
return componentFieldNames.some((field) => {
|
180
|
+
return field.includes(name.join("."));
|
185
181
|
});
|
186
182
|
}
|
187
183
|
if (name.length > 1) {
|
@@ -211,78 +207,8 @@ const extractAndDedupeFields = (permissions = []) => permissions.flatMap((permis
|
|
211
207
|
(field, index2, arr) => arr.indexOf(field) === index2 && typeof field === "string"
|
212
208
|
);
|
213
209
|
const removeNumericalStrings = (arr) => arr.filter((item) => isNaN(Number(item)));
|
214
|
-
const
|
215
|
-
|
216
|
-
return query;
|
217
|
-
const { plugins: _, ...validQueryParams } = {
|
218
|
-
...query,
|
219
|
-
...Object.values(query?.plugins ?? {}).reduce(
|
220
|
-
(acc, current) => Object.assign(acc, current),
|
221
|
-
{}
|
222
|
-
)
|
223
|
-
};
|
224
|
-
if ("_q" in validQueryParams) {
|
225
|
-
validQueryParams._q = encodeURIComponent(validQueryParams._q);
|
226
|
-
}
|
227
|
-
return validQueryParams;
|
228
|
-
};
|
229
|
-
const axiosBaseQuery = () => async (query, { signal }) => {
|
230
|
-
try {
|
231
|
-
const { get, post, del, put } = strapiAdmin.getFetchClient();
|
232
|
-
if (typeof query === "string") {
|
233
|
-
const result = await get(query, { signal });
|
234
|
-
return { data: result.data };
|
235
|
-
} else {
|
236
|
-
const { url, method = "GET", data, config } = query;
|
237
|
-
if (method === "POST") {
|
238
|
-
const result2 = await post(url, data, { ...config, signal });
|
239
|
-
return { data: result2.data };
|
240
|
-
}
|
241
|
-
if (method === "DELETE") {
|
242
|
-
const result2 = await del(url, { ...config, signal });
|
243
|
-
return { data: result2.data };
|
244
|
-
}
|
245
|
-
if (method === "PUT") {
|
246
|
-
const result2 = await put(url, data, { ...config, signal });
|
247
|
-
return { data: result2.data };
|
248
|
-
}
|
249
|
-
const result = await get(url, { ...config, signal });
|
250
|
-
return { data: result.data };
|
251
|
-
}
|
252
|
-
} catch (err) {
|
253
|
-
if (axios.isAxiosError(err)) {
|
254
|
-
if (typeof err.response?.data === "object" && err.response?.data !== null && "error" in err.response?.data) {
|
255
|
-
return { data: void 0, error: err.response?.data.error };
|
256
|
-
} else {
|
257
|
-
return {
|
258
|
-
data: void 0,
|
259
|
-
error: {
|
260
|
-
name: "UnknownError",
|
261
|
-
message: "There was an unknown error response from the API",
|
262
|
-
details: err.response?.data,
|
263
|
-
status: err.response?.status
|
264
|
-
}
|
265
|
-
};
|
266
|
-
}
|
267
|
-
}
|
268
|
-
const error = err;
|
269
|
-
return {
|
270
|
-
data: void 0,
|
271
|
-
error: {
|
272
|
-
name: error.name,
|
273
|
-
message: error.message,
|
274
|
-
stack: error.stack
|
275
|
-
}
|
276
|
-
};
|
277
|
-
}
|
278
|
-
};
|
279
|
-
const isBaseQueryError = (error) => {
|
280
|
-
return error.name !== void 0;
|
281
|
-
};
|
282
|
-
const contentManagerApi = react.createApi({
|
283
|
-
reducerPath: "contentManagerApi",
|
284
|
-
baseQuery: axiosBaseQuery(),
|
285
|
-
tagTypes: [
|
210
|
+
const contentManagerApi = strapiAdmin.adminApi.enhanceEndpoints({
|
211
|
+
addTagTypes: [
|
286
212
|
"ComponentConfiguration",
|
287
213
|
"ContentTypesConfiguration",
|
288
214
|
"ContentTypeSettings",
|
@@ -290,8 +216,7 @@ const contentManagerApi = react.createApi({
|
|
290
216
|
"InitialData",
|
291
217
|
"HistoryVersion",
|
292
218
|
"Relations"
|
293
|
-
]
|
294
|
-
endpoints: () => ({})
|
219
|
+
]
|
295
220
|
});
|
296
221
|
const documentApi = contentManagerApi.injectEndpoints({
|
297
222
|
endpoints: (builder) => ({
|
@@ -347,12 +272,15 @@ const documentApi = contentManagerApi.injectEndpoints({
|
|
347
272
|
]
|
348
273
|
}),
|
349
274
|
deleteManyDocuments: builder.mutation({
|
350
|
-
query: ({ model, ...body }) => ({
|
275
|
+
query: ({ model, params, ...body }) => ({
|
351
276
|
url: `/content-manager/collection-types/${model}/actions/bulkDelete`,
|
352
277
|
method: "POST",
|
353
|
-
data: body
|
278
|
+
data: body,
|
279
|
+
config: {
|
280
|
+
params
|
281
|
+
}
|
354
282
|
}),
|
355
|
-
invalidatesTags: (_res, _error, { model
|
283
|
+
invalidatesTags: (_res, _error, { model }) => [{ type: "Document", id: `${model}_LIST` }]
|
356
284
|
}),
|
357
285
|
discardDocument: builder.mutation({
|
358
286
|
query: ({ collectionType, model, documentId, params }) => ({
|
@@ -463,10 +391,13 @@ const documentApi = contentManagerApi.injectEndpoints({
|
|
463
391
|
}
|
464
392
|
}),
|
465
393
|
publishManyDocuments: builder.mutation({
|
466
|
-
query: ({ model, ...body }) => ({
|
394
|
+
query: ({ model, params, ...body }) => ({
|
467
395
|
url: `/content-manager/collection-types/${model}/actions/bulkPublish`,
|
468
396
|
method: "POST",
|
469
|
-
data: body
|
397
|
+
data: body,
|
398
|
+
config: {
|
399
|
+
params
|
400
|
+
}
|
470
401
|
}),
|
471
402
|
invalidatesTags: (_res, _error, { model, documentIds }) => documentIds.map((id) => ({ type: "Document", id: `${model}_${id}` }))
|
472
403
|
}),
|
@@ -508,10 +439,13 @@ const documentApi = contentManagerApi.injectEndpoints({
|
|
508
439
|
}
|
509
440
|
}),
|
510
441
|
unpublishManyDocuments: builder.mutation({
|
511
|
-
query: ({ model, ...body }) => ({
|
442
|
+
query: ({ model, params, ...body }) => ({
|
512
443
|
url: `/content-manager/collection-types/${model}/actions/bulkUnpublish`,
|
513
444
|
method: "POST",
|
514
|
-
data: body
|
445
|
+
data: body,
|
446
|
+
config: {
|
447
|
+
params
|
448
|
+
}
|
515
449
|
}),
|
516
450
|
invalidatesTags: (_res, _error, { model, documentIds }) => documentIds.map((id) => ({ type: "Document", id: `${model}_${id}` }))
|
517
451
|
})
|
@@ -535,6 +469,24 @@ const {
|
|
535
469
|
useUnpublishDocumentMutation,
|
536
470
|
useUnpublishManyDocumentsMutation
|
537
471
|
} = documentApi;
|
472
|
+
const buildValidParams = (query) => {
|
473
|
+
if (!query)
|
474
|
+
return query;
|
475
|
+
const { plugins: _, ...validQueryParams } = {
|
476
|
+
...query,
|
477
|
+
...Object.values(query?.plugins ?? {}).reduce(
|
478
|
+
(acc, current) => Object.assign(acc, current),
|
479
|
+
{}
|
480
|
+
)
|
481
|
+
};
|
482
|
+
if ("_q" in validQueryParams) {
|
483
|
+
validQueryParams._q = encodeURIComponent(validQueryParams._q);
|
484
|
+
}
|
485
|
+
return validQueryParams;
|
486
|
+
};
|
487
|
+
const isBaseQueryError = (error) => {
|
488
|
+
return error.name !== void 0;
|
489
|
+
};
|
538
490
|
const createYupSchema = (attributes = {}, components = {}) => {
|
539
491
|
const createModelSchema = (attributes2) => yup__namespace.object().shape(
|
540
492
|
Object.entries(attributes2).reduce((acc, [name, attribute]) => {
|
@@ -574,10 +526,14 @@ const createYupSchema = (attributes = {}, components = {}) => {
|
|
574
526
|
yup__namespace.array().of(
|
575
527
|
yup__namespace.lazy(
|
576
528
|
(data) => {
|
577
|
-
const
|
578
|
-
|
529
|
+
const attributes3 = components?.[data?.__component]?.attributes;
|
530
|
+
const validation = yup__namespace.object().shape({
|
579
531
|
__component: yup__namespace.string().required().oneOf(Object.keys(components))
|
580
|
-
}).nullable(false)
|
532
|
+
}).nullable(false);
|
533
|
+
if (!attributes3) {
|
534
|
+
return validation;
|
535
|
+
}
|
536
|
+
return validation.concat(createModelSchema(attributes3));
|
581
537
|
}
|
582
538
|
)
|
583
539
|
)
|
@@ -587,11 +543,25 @@ const createYupSchema = (attributes = {}, components = {}) => {
|
|
587
543
|
return {
|
588
544
|
...acc,
|
589
545
|
[name]: transformSchema(
|
590
|
-
yup__namespace.
|
591
|
-
|
592
|
-
|
593
|
-
})
|
594
|
-
|
546
|
+
yup__namespace.lazy((value) => {
|
547
|
+
if (!value) {
|
548
|
+
return yup__namespace.mixed().nullable(true);
|
549
|
+
} else if (Array.isArray(value)) {
|
550
|
+
return yup__namespace.array().of(
|
551
|
+
yup__namespace.object().shape({
|
552
|
+
id: yup__namespace.string().required()
|
553
|
+
})
|
554
|
+
);
|
555
|
+
} else if (typeof value === "object") {
|
556
|
+
return yup__namespace.object();
|
557
|
+
} else {
|
558
|
+
return yup__namespace.mixed().test(
|
559
|
+
"type-error",
|
560
|
+
"Relation values must be either null, an array of objects with {id} or an object.",
|
561
|
+
() => false
|
562
|
+
);
|
563
|
+
}
|
564
|
+
})
|
595
565
|
)
|
596
566
|
};
|
597
567
|
default:
|
@@ -656,7 +626,12 @@ const addRequiredValidation = (attribute) => (schema) => {
|
|
656
626
|
defaultMessage: "This field is required."
|
657
627
|
});
|
658
628
|
}
|
659
|
-
return schema.nullable()
|
629
|
+
return schema?.nullable ? schema.nullable() : (
|
630
|
+
// In some cases '.nullable' will not be available on the schema.
|
631
|
+
// e.g. when the schema has been built using yup.lazy (e.g. for relations).
|
632
|
+
// In these cases we should just return the schema as it is.
|
633
|
+
schema
|
634
|
+
);
|
660
635
|
};
|
661
636
|
const addMinLengthValidation = (attribute) => (schema) => {
|
662
637
|
if ("minLength" in attribute && attribute.minLength && Number.isInteger(attribute.minLength) && "min" in schema) {
|
@@ -728,24 +703,6 @@ const addRegexValidation = (attribute) => (schema) => {
|
|
728
703
|
}
|
729
704
|
return schema;
|
730
705
|
};
|
731
|
-
const extractValuesFromYupError = (errorType, errorParams) => {
|
732
|
-
if (!errorType || !errorParams) {
|
733
|
-
return {};
|
734
|
-
}
|
735
|
-
return {
|
736
|
-
[errorType]: errorParams[errorType]
|
737
|
-
};
|
738
|
-
};
|
739
|
-
const getInnerErrors = (error) => (error?.inner || []).reduce((acc, currentError) => {
|
740
|
-
if (currentError.path) {
|
741
|
-
acc[currentError.path.split("[").join(".").split("]").join("")] = {
|
742
|
-
id: currentError.message,
|
743
|
-
defaultMessage: currentError.message,
|
744
|
-
values: extractValuesFromYupError(currentError?.type, currentError?.params)
|
745
|
-
};
|
746
|
-
}
|
747
|
-
return acc;
|
748
|
-
}, {});
|
749
706
|
const initApi = contentManagerApi.injectEndpoints({
|
750
707
|
endpoints: (builder) => ({
|
751
708
|
getInitialData: builder.query({
|
@@ -759,27 +716,20 @@ const { useGetInitialDataQuery } = initApi;
|
|
759
716
|
const useContentTypeSchema = (model) => {
|
760
717
|
const { toggleNotification } = strapiAdmin.useNotification();
|
761
718
|
const { _unstableFormatAPIError: formatAPIError } = strapiAdmin.useAPIErrorHandler();
|
762
|
-
const {
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
)
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
error: res.error,
|
777
|
-
components: Object.keys(components2).length === 0 ? void 0 : components2,
|
778
|
-
contentType: contentType2,
|
779
|
-
contentTypes: res.data?.contentTypes ?? []
|
780
|
-
};
|
781
|
-
}
|
782
|
-
});
|
719
|
+
const { data, error, isLoading, isFetching } = useGetInitialDataQuery(void 0);
|
720
|
+
const { components, contentType, contentTypes } = React__namespace.useMemo(() => {
|
721
|
+
const contentType2 = data?.contentTypes.find((ct) => ct.uid === model);
|
722
|
+
const componentsByKey = data?.components.reduce((acc, component) => {
|
723
|
+
acc[component.uid] = component;
|
724
|
+
return acc;
|
725
|
+
}, {});
|
726
|
+
const components2 = extractContentTypeComponents(contentType2?.attributes, componentsByKey);
|
727
|
+
return {
|
728
|
+
components: Object.keys(components2).length === 0 ? void 0 : components2,
|
729
|
+
contentType: contentType2,
|
730
|
+
contentTypes: data?.contentTypes ?? []
|
731
|
+
};
|
732
|
+
}, [model, data]);
|
783
733
|
React__namespace.useEffect(() => {
|
784
734
|
if (error) {
|
785
735
|
toggleNotification({
|
@@ -862,7 +812,7 @@ const useDocument = (args, opts) => {
|
|
862
812
|
return null;
|
863
813
|
} catch (error2) {
|
864
814
|
if (error2 instanceof yup.ValidationError) {
|
865
|
-
return
|
815
|
+
return strapiAdmin.getYupValidationErrors(error2);
|
866
816
|
}
|
867
817
|
throw error2;
|
868
818
|
}
|
@@ -958,6 +908,44 @@ const useDocumentActions = () => {
|
|
958
908
|
},
|
959
909
|
[trackUsage, deleteDocument, toggleNotification, formatMessage, formatAPIError]
|
960
910
|
);
|
911
|
+
const [deleteManyDocuments] = useDeleteManyDocumentsMutation();
|
912
|
+
const deleteMany = React__namespace.useCallback(
|
913
|
+
async ({ model, documentIds, params }) => {
|
914
|
+
try {
|
915
|
+
trackUsage("willBulkDeleteEntries");
|
916
|
+
const res = await deleteManyDocuments({
|
917
|
+
model,
|
918
|
+
documentIds,
|
919
|
+
params
|
920
|
+
});
|
921
|
+
if ("error" in res) {
|
922
|
+
toggleNotification({
|
923
|
+
type: "danger",
|
924
|
+
message: formatAPIError(res.error)
|
925
|
+
});
|
926
|
+
return { error: res.error };
|
927
|
+
}
|
928
|
+
toggleNotification({
|
929
|
+
type: "success",
|
930
|
+
title: formatMessage({
|
931
|
+
id: getTranslation("success.records.delete"),
|
932
|
+
defaultMessage: "Successfully deleted."
|
933
|
+
}),
|
934
|
+
message: ""
|
935
|
+
});
|
936
|
+
trackUsage("didBulkDeleteEntries");
|
937
|
+
return res.data;
|
938
|
+
} catch (err) {
|
939
|
+
toggleNotification({
|
940
|
+
type: "danger",
|
941
|
+
message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
|
942
|
+
});
|
943
|
+
trackUsage("didNotBulkDeleteEntries");
|
944
|
+
throw err;
|
945
|
+
}
|
946
|
+
},
|
947
|
+
[trackUsage, deleteManyDocuments, toggleNotification, formatMessage, formatAPIError]
|
948
|
+
);
|
961
949
|
const [discardDocument] = useDiscardDocumentMutation();
|
962
950
|
const discard = React__namespace.useCallback(
|
963
951
|
async ({ collectionType, model, documentId }) => {
|
@@ -1027,6 +1015,43 @@ const useDocumentActions = () => {
|
|
1027
1015
|
},
|
1028
1016
|
[trackUsage, publishDocument, toggleNotification, formatMessage, formatAPIError]
|
1029
1017
|
);
|
1018
|
+
const [publishManyDocuments] = usePublishManyDocumentsMutation();
|
1019
|
+
const publishMany = React__namespace.useCallback(
|
1020
|
+
async ({ model, documentIds, params }) => {
|
1021
|
+
try {
|
1022
|
+
const res = await publishManyDocuments({
|
1023
|
+
model,
|
1024
|
+
documentIds,
|
1025
|
+
params
|
1026
|
+
});
|
1027
|
+
if ("error" in res) {
|
1028
|
+
toggleNotification({ type: "danger", message: formatAPIError(res.error) });
|
1029
|
+
return { error: res.error };
|
1030
|
+
}
|
1031
|
+
toggleNotification({
|
1032
|
+
type: "success",
|
1033
|
+
message: formatMessage({
|
1034
|
+
id: getTranslation("success.record.publish"),
|
1035
|
+
defaultMessage: "Published document"
|
1036
|
+
})
|
1037
|
+
});
|
1038
|
+
return res.data;
|
1039
|
+
} catch (err) {
|
1040
|
+
toggleNotification({
|
1041
|
+
type: "danger",
|
1042
|
+
message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
|
1043
|
+
});
|
1044
|
+
throw err;
|
1045
|
+
}
|
1046
|
+
},
|
1047
|
+
[
|
1048
|
+
// trackUsage,
|
1049
|
+
publishManyDocuments,
|
1050
|
+
toggleNotification,
|
1051
|
+
formatMessage,
|
1052
|
+
formatAPIError
|
1053
|
+
]
|
1054
|
+
);
|
1030
1055
|
const [updateDocument] = useUpdateDocumentMutation();
|
1031
1056
|
const update = React__namespace.useCallback(
|
1032
1057
|
async ({ collectionType, model, documentId, params }, data, trackerProperty) => {
|
@@ -1101,6 +1126,41 @@ const useDocumentActions = () => {
|
|
1101
1126
|
},
|
1102
1127
|
[trackUsage, unpublishDocument, toggleNotification, formatMessage, formatAPIError]
|
1103
1128
|
);
|
1129
|
+
const [unpublishManyDocuments] = useUnpublishManyDocumentsMutation();
|
1130
|
+
const unpublishMany = React__namespace.useCallback(
|
1131
|
+
async ({ model, documentIds, params }) => {
|
1132
|
+
try {
|
1133
|
+
trackUsage("willBulkUnpublishEntries");
|
1134
|
+
const res = await unpublishManyDocuments({
|
1135
|
+
model,
|
1136
|
+
documentIds,
|
1137
|
+
params
|
1138
|
+
});
|
1139
|
+
if ("error" in res) {
|
1140
|
+
toggleNotification({ type: "danger", message: formatAPIError(res.error) });
|
1141
|
+
return { error: res.error };
|
1142
|
+
}
|
1143
|
+
trackUsage("didBulkUnpublishEntries");
|
1144
|
+
toggleNotification({
|
1145
|
+
type: "success",
|
1146
|
+
title: formatMessage({
|
1147
|
+
id: getTranslation("success.records.unpublish"),
|
1148
|
+
defaultMessage: "Successfully unpublished."
|
1149
|
+
}),
|
1150
|
+
message: ""
|
1151
|
+
});
|
1152
|
+
return res.data;
|
1153
|
+
} catch (err) {
|
1154
|
+
toggleNotification({
|
1155
|
+
type: "danger",
|
1156
|
+
message: formatMessage(DEFAULT_UNEXPECTED_ERROR_MSG)
|
1157
|
+
});
|
1158
|
+
trackUsage("didNotBulkUnpublishEntries");
|
1159
|
+
throw err;
|
1160
|
+
}
|
1161
|
+
},
|
1162
|
+
[trackUsage, unpublishManyDocuments, toggleNotification, formatMessage, formatAPIError]
|
1163
|
+
);
|
1104
1164
|
const [createDocument] = useCreateDocumentMutation();
|
1105
1165
|
const create = React__namespace.useCallback(
|
1106
1166
|
async ({ model, params }, data, trackerProperty) => {
|
@@ -1214,15 +1274,18 @@ const useDocumentActions = () => {
|
|
1214
1274
|
clone,
|
1215
1275
|
create,
|
1216
1276
|
delete: _delete,
|
1277
|
+
deleteMany,
|
1217
1278
|
discard,
|
1218
1279
|
getDocument,
|
1219
1280
|
publish,
|
1281
|
+
publishMany,
|
1220
1282
|
unpublish,
|
1283
|
+
unpublishMany,
|
1221
1284
|
update
|
1222
1285
|
};
|
1223
1286
|
};
|
1224
1287
|
const ProtectedHistoryPage = React.lazy(
|
1225
|
-
() => Promise.resolve().then(() => require("./History-
|
1288
|
+
() => Promise.resolve().then(() => require("./History-BjDfohBr.js")).then((mod) => ({ default: mod.ProtectedHistoryPage }))
|
1226
1289
|
);
|
1227
1290
|
const routes$1 = [
|
1228
1291
|
{
|
@@ -1235,31 +1298,31 @@ const routes$1 = [
|
|
1235
1298
|
}
|
1236
1299
|
];
|
1237
1300
|
const ProtectedEditViewPage = React.lazy(
|
1238
|
-
() => Promise.resolve().then(() => require("./EditViewPage-
|
1301
|
+
() => Promise.resolve().then(() => require("./EditViewPage-ChgloMyO.js")).then((mod) => ({ default: mod.ProtectedEditViewPage }))
|
1239
1302
|
);
|
1240
1303
|
const ProtectedListViewPage = React.lazy(
|
1241
|
-
() => Promise.resolve().then(() => require("./ListViewPage-
|
1304
|
+
() => Promise.resolve().then(() => require("./ListViewPage-CZYGqlvF.js")).then((mod) => ({ default: mod.ProtectedListViewPage }))
|
1242
1305
|
);
|
1243
1306
|
const ProtectedListConfiguration = React.lazy(
|
1244
|
-
() => Promise.resolve().then(() => require("./ListConfigurationPage-
|
1307
|
+
() => Promise.resolve().then(() => require("./ListConfigurationPage-IQBgWTaa.js")).then((mod) => ({
|
1245
1308
|
default: mod.ProtectedListConfiguration
|
1246
1309
|
}))
|
1247
1310
|
);
|
1248
1311
|
const ProtectedEditConfigurationPage = React.lazy(
|
1249
|
-
() => Promise.resolve().then(() => require("./EditConfigurationPage-
|
1312
|
+
() => Promise.resolve().then(() => require("./EditConfigurationPage-CqBeCPGH.js")).then((mod) => ({
|
1250
1313
|
default: mod.ProtectedEditConfigurationPage
|
1251
1314
|
}))
|
1252
1315
|
);
|
1253
1316
|
const ProtectedComponentConfigurationPage = React.lazy(
|
1254
|
-
() => Promise.resolve().then(() => require("./ComponentConfigurationPage-
|
1317
|
+
() => Promise.resolve().then(() => require("./ComponentConfigurationPage-by0e_kNd.js")).then((mod) => ({
|
1255
1318
|
default: mod.ProtectedComponentConfigurationPage
|
1256
1319
|
}))
|
1257
1320
|
);
|
1258
1321
|
const NoPermissions = React.lazy(
|
1259
|
-
() => Promise.resolve().then(() => require("./NoPermissionsPage-
|
1322
|
+
() => Promise.resolve().then(() => require("./NoPermissionsPage-cYEtLc_e.js")).then((mod) => ({ default: mod.NoPermissions }))
|
1260
1323
|
);
|
1261
1324
|
const NoContentType = React.lazy(
|
1262
|
-
() => Promise.resolve().then(() => require("./NoContentTypePage-
|
1325
|
+
() => Promise.resolve().then(() => require("./NoContentTypePage-BOAI6VZ1.js")).then((mod) => ({ default: mod.NoContentType }))
|
1263
1326
|
);
|
1264
1327
|
const CollectionTypePages = () => {
|
1265
1328
|
const { collectionType } = reactRouterDom.useParams();
|
@@ -1449,7 +1512,7 @@ const DocumentActionsMenu = ({
|
|
1449
1512
|
variant,
|
1450
1513
|
children: [
|
1451
1514
|
/* @__PURE__ */ jsxRuntime.jsx(Icons.More, { "aria-hidden": true, focusable: false }),
|
1452
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, {
|
1515
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { tag: "span", children: label || formatMessage({
|
1453
1516
|
id: "content-manager.containers.edit.panels.default.more-actions",
|
1454
1517
|
defaultMessage: "More document actions"
|
1455
1518
|
}) })
|
@@ -1465,7 +1528,7 @@ const DocumentActionsMenu = ({
|
|
1465
1528
|
onSelect: handleClick(action),
|
1466
1529
|
display: "block",
|
1467
1530
|
children: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { justifyContent: "space-between", gap: 4, children: [
|
1468
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { color: convertActionVariantToColor(action.variant), gap: 2,
|
1531
|
+
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { color: convertActionVariantToColor(action.variant), gap: 2, tag: "span", children: [
|
1469
1532
|
action.icon,
|
1470
1533
|
action.label
|
1471
1534
|
] }),
|
@@ -1571,7 +1634,7 @@ const DocumentActionModal = ({
|
|
1571
1634
|
title,
|
1572
1635
|
onClose,
|
1573
1636
|
footer: Footer,
|
1574
|
-
content,
|
1637
|
+
content: Content,
|
1575
1638
|
onModalClose
|
1576
1639
|
}) => {
|
1577
1640
|
const id = React__namespace.useId();
|
@@ -1585,8 +1648,8 @@ const DocumentActionModal = ({
|
|
1585
1648
|
onModalClose();
|
1586
1649
|
};
|
1587
1650
|
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { borderRadius: "4px", overflow: "hidden", onClose: handleClose, labelledBy: id, children: [
|
1588
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", textColor: "neutral800",
|
1589
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalBody, { children:
|
1651
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", textColor: "neutral800", tag: "h2", id, children: title }) }),
|
1652
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalBody, { children: typeof Content === "function" ? /* @__PURE__ */ jsxRuntime.jsx(Content, { onClose: handleClose }) : Content }),
|
1590
1653
|
/* @__PURE__ */ jsxRuntime.jsx(
|
1591
1654
|
designSystem.Box,
|
1592
1655
|
{
|
@@ -1803,7 +1866,7 @@ const UNPUBLISH_DRAFT_OPTIONS = {
|
|
1803
1866
|
KEEP: "keep",
|
1804
1867
|
DISCARD: "discard"
|
1805
1868
|
};
|
1806
|
-
const UnpublishAction = ({
|
1869
|
+
const UnpublishAction$1 = ({
|
1807
1870
|
activeTab,
|
1808
1871
|
documentId,
|
1809
1872
|
model,
|
@@ -1866,7 +1929,7 @@ const UnpublishAction = ({
|
|
1866
1929
|
content: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { alignItems: "flex-start", direction: "column", gap: 6, children: [
|
1867
1930
|
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { width: "100%", direction: "column", gap: 2, children: [
|
1868
1931
|
/* @__PURE__ */ jsxRuntime.jsx(Icons.WarningCircle, { width: "24px", height: "24px", fill: "danger600" }),
|
1869
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, {
|
1932
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "p", variant: "omega", textAlign: "center", children: formatMessage({
|
1870
1933
|
id: "content-manager.actions.unpublish.dialog.body",
|
1871
1934
|
defaultMessage: "Are you sure?"
|
1872
1935
|
}) })
|
@@ -1877,10 +1940,11 @@ const UnpublishAction = ({
|
|
1877
1940
|
onChange: handleChange,
|
1878
1941
|
direction: "column",
|
1879
1942
|
alignItems: "flex-start",
|
1880
|
-
|
1943
|
+
tag: "fieldset",
|
1944
|
+
borderWidth: 0,
|
1881
1945
|
gap: 3,
|
1882
1946
|
children: [
|
1883
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, {
|
1947
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.VisuallyHidden, { tag: "legend" }),
|
1884
1948
|
/* @__PURE__ */ jsxRuntime.jsx(
|
1885
1949
|
designSystem.Radio,
|
1886
1950
|
{
|
@@ -1937,7 +2001,7 @@ const UnpublishAction = ({
|
|
1937
2001
|
position: ["panel", "table-row"]
|
1938
2002
|
};
|
1939
2003
|
};
|
1940
|
-
UnpublishAction.type = "unpublish";
|
2004
|
+
UnpublishAction$1.type = "unpublish";
|
1941
2005
|
const DiscardAction = ({
|
1942
2006
|
activeTab,
|
1943
2007
|
documentId,
|
@@ -1971,7 +2035,7 @@ const DiscardAction = ({
|
|
1971
2035
|
}),
|
1972
2036
|
content: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
|
1973
2037
|
/* @__PURE__ */ jsxRuntime.jsx(Icons.WarningCircle, { width: "24px", height: "24px", fill: "danger600" }),
|
1974
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, {
|
2038
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "p", variant: "omega", textAlign: "center", children: formatMessage({
|
1975
2039
|
id: "content-manager.actions.discard.dialog.body",
|
1976
2040
|
defaultMessage: "Are you sure?"
|
1977
2041
|
}) })
|
@@ -1988,12 +2052,12 @@ const DiscardAction = ({
|
|
1988
2052
|
};
|
1989
2053
|
};
|
1990
2054
|
DiscardAction.type = "discard";
|
1991
|
-
const StyledCrossCircle =
|
2055
|
+
const StyledCrossCircle = styledComponents.styled(Icons.CrossCircle)`
|
1992
2056
|
path {
|
1993
2057
|
fill: currentColor;
|
1994
2058
|
}
|
1995
2059
|
`;
|
1996
|
-
const DEFAULT_ACTIONS = [PublishAction, UpdateAction, UnpublishAction, DiscardAction];
|
2060
|
+
const DEFAULT_ACTIONS = [PublishAction, UpdateAction, UnpublishAction$1, DiscardAction];
|
1997
2061
|
const intervals = ["years", "months", "days", "hours", "minutes", "seconds"];
|
1998
2062
|
const RelativeTime = React__namespace.forwardRef(
|
1999
2063
|
({ timestamp, customIntervals = [], ...restProps }, forwardedRef) => {
|
@@ -2041,7 +2105,7 @@ const getDisplayName = ({
|
|
2041
2105
|
const capitalise = (str) => str.charAt(0).toUpperCase() + str.slice(1);
|
2042
2106
|
const DocumentStatus = ({ status = "draft", ...restProps }) => {
|
2043
2107
|
const statusVariant = status === "draft" ? "primary" : status === "published" ? "success" : "alternative";
|
2044
|
-
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Status, { ...restProps, showBullet: false, size: "S", variant: statusVariant, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, {
|
2108
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Status, { ...restProps, showBullet: false, size: "S", variant: statusVariant, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "span", variant: "omega", fontWeight: "bold", children: capitalise(status) }) });
|
2045
2109
|
};
|
2046
2110
|
const Header = ({ isCreating, status, title: documentTitle = "Untitled" }) => {
|
2047
2111
|
const { formatMessage } = reactIntl.useIntl();
|
@@ -2061,7 +2125,7 @@ const Header = ({ isCreating, status, title: documentTitle = "Untitled" }) => {
|
|
2061
2125
|
gap: "80px",
|
2062
2126
|
alignItems: "flex-start",
|
2063
2127
|
children: [
|
2064
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "alpha",
|
2128
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "alpha", tag: "h1", children: title }),
|
2065
2129
|
/* @__PURE__ */ jsxRuntime.jsx(HeaderToolbar, {})
|
2066
2130
|
]
|
2067
2131
|
}
|
@@ -2218,7 +2282,7 @@ const Information = ({ activeTab }) => {
|
|
2218
2282
|
borderColor: "neutral150",
|
2219
2283
|
direction: "column",
|
2220
2284
|
marginTop: 2,
|
2221
|
-
|
2285
|
+
tag: "dl",
|
2222
2286
|
padding: 5,
|
2223
2287
|
gap: 3,
|
2224
2288
|
alignItems: "flex-start",
|
@@ -2226,8 +2290,8 @@ const Information = ({ activeTab }) => {
|
|
2226
2290
|
marginRight: "-0.4rem",
|
2227
2291
|
width: "calc(100% + 8px)",
|
2228
2292
|
children: information.map((info) => /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { gap: 1, direction: "column", alignItems: "flex-start", children: [
|
2229
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, {
|
2230
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, {
|
2293
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "dt", variant: "pi", fontWeight: "bold", children: info.label }),
|
2294
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "dd", variant: "pi", textColor: "neutral600", children: info.value })
|
2231
2295
|
] }, info.label))
|
2232
2296
|
}
|
2233
2297
|
);
|
@@ -2260,7 +2324,7 @@ const ConfigureTheViewAction = ({ collectionType, model }) => {
|
|
2260
2324
|
id: "app.links.configure-view",
|
2261
2325
|
defaultMessage: "Configure the view"
|
2262
2326
|
}),
|
2263
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
2327
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.ListPlus, {}),
|
2264
2328
|
onClick: () => {
|
2265
2329
|
navigate(`../${collectionType}/${model}/configurations/edit`);
|
2266
2330
|
},
|
@@ -2268,11 +2332,6 @@ const ConfigureTheViewAction = ({ collectionType, model }) => {
|
|
2268
2332
|
};
|
2269
2333
|
};
|
2270
2334
|
ConfigureTheViewAction.type = "configure-the-view";
|
2271
|
-
const StyledCog = styled__default.default(Icons.Cog)`
|
2272
|
-
path {
|
2273
|
-
fill: currentColor;
|
2274
|
-
}
|
2275
|
-
`;
|
2276
2335
|
const EditTheModelAction = ({ model }) => {
|
2277
2336
|
const navigate = reactRouterDom.useNavigate();
|
2278
2337
|
const { formatMessage } = reactIntl.useIntl();
|
@@ -2281,7 +2340,7 @@ const EditTheModelAction = ({ model }) => {
|
|
2281
2340
|
id: "content-manager.link-to-ctb",
|
2282
2341
|
defaultMessage: "Edit the model"
|
2283
2342
|
}),
|
2284
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
2343
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.Pencil, {}),
|
2285
2344
|
onClick: () => {
|
2286
2345
|
navigate(`/plugins/content-type-builder/content-types/${model}`);
|
2287
2346
|
},
|
@@ -2289,12 +2348,7 @@ const EditTheModelAction = ({ model }) => {
|
|
2289
2348
|
};
|
2290
2349
|
};
|
2291
2350
|
EditTheModelAction.type = "edit-the-model";
|
2292
|
-
const
|
2293
|
-
path {
|
2294
|
-
fill: currentColor;
|
2295
|
-
}
|
2296
|
-
`;
|
2297
|
-
const DeleteAction = ({ documentId, model, collectionType, document }) => {
|
2351
|
+
const DeleteAction$1 = ({ documentId, model, collectionType, document }) => {
|
2298
2352
|
const navigate = reactRouterDom.useNavigate();
|
2299
2353
|
const { formatMessage } = reactIntl.useIntl();
|
2300
2354
|
const listViewPathMatch = reactRouterDom.useMatch(LIST_PATH);
|
@@ -2308,7 +2362,7 @@ const DeleteAction = ({ documentId, model, collectionType, document }) => {
|
|
2308
2362
|
id: "content-manager.actions.delete.label",
|
2309
2363
|
defaultMessage: "Delete document"
|
2310
2364
|
}),
|
2311
|
-
icon: /* @__PURE__ */ jsxRuntime.jsx(
|
2365
|
+
icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.Trash, {}),
|
2312
2366
|
dialog: {
|
2313
2367
|
type: "dialog",
|
2314
2368
|
title: formatMessage({
|
@@ -2317,7 +2371,7 @@ const DeleteAction = ({ documentId, model, collectionType, document }) => {
|
|
2317
2371
|
}),
|
2318
2372
|
content: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", gap: 2, children: [
|
2319
2373
|
/* @__PURE__ */ jsxRuntime.jsx(Icons.WarningCircle, { width: "24px", height: "24px", fill: "danger600" }),
|
2320
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, {
|
2374
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "p", variant: "omega", textAlign: "center", children: formatMessage({
|
2321
2375
|
id: "content-manager.actions.delete.dialog.body",
|
2322
2376
|
defaultMessage: "Are you sure?"
|
2323
2377
|
}) })
|
@@ -2362,13 +2416,8 @@ const DeleteAction = ({ documentId, model, collectionType, document }) => {
|
|
2362
2416
|
position: ["header", "table-row"]
|
2363
2417
|
};
|
2364
2418
|
};
|
2365
|
-
DeleteAction.type = "delete";
|
2366
|
-
const
|
2367
|
-
path {
|
2368
|
-
fill: currentColor;
|
2369
|
-
}
|
2370
|
-
`;
|
2371
|
-
const DEFAULT_HEADER_ACTIONS = [EditTheModelAction, ConfigureTheViewAction, DeleteAction];
|
2419
|
+
DeleteAction$1.type = "delete";
|
2420
|
+
const DEFAULT_HEADER_ACTIONS = [EditTheModelAction, ConfigureTheViewAction, DeleteAction$1];
|
2372
2421
|
const Panels = () => {
|
2373
2422
|
const isCloning = reactRouterDom.useMatch(CLONE_PATH) !== null;
|
2374
2423
|
const [
|
@@ -2442,7 +2491,7 @@ const Panel = React__namespace.forwardRef(({ children, title }, ref) => {
|
|
2442
2491
|
designSystem.Flex,
|
2443
2492
|
{
|
2444
2493
|
ref,
|
2445
|
-
|
2494
|
+
tag: "aside",
|
2446
2495
|
"aria-labelledby": "additional-information",
|
2447
2496
|
background: "neutral0",
|
2448
2497
|
borderColor: "neutral150",
|
@@ -2457,13 +2506,268 @@ const Panel = React__namespace.forwardRef(({ children, title }, ref) => {
|
|
2457
2506
|
justifyContent: "stretch",
|
2458
2507
|
alignItems: "flex-start",
|
2459
2508
|
children: [
|
2460
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, {
|
2509
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "h2", variant: "sigma", textTransform: "uppercase", children: title }),
|
2461
2510
|
children
|
2462
2511
|
]
|
2463
2512
|
}
|
2464
2513
|
);
|
2465
2514
|
});
|
2466
|
-
const
|
2515
|
+
const BulkActionsRenderer = () => {
|
2516
|
+
const plugins = strapiAdmin.useStrapiApp("BulkActionsRenderer", (state) => state.plugins);
|
2517
|
+
const { model, collectionType } = useDoc();
|
2518
|
+
const { selectedRows } = strapiAdmin.useTable("BulkActionsRenderer", (state) => state);
|
2519
|
+
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { gap: 2, children: /* @__PURE__ */ jsxRuntime.jsx(
|
2520
|
+
strapiAdmin.DescriptionComponentRenderer,
|
2521
|
+
{
|
2522
|
+
props: {
|
2523
|
+
model,
|
2524
|
+
collectionType,
|
2525
|
+
documents: selectedRows
|
2526
|
+
},
|
2527
|
+
descriptions: plugins["content-manager"].apis.getBulkActions(),
|
2528
|
+
children: (actions2) => actions2.map((action) => /* @__PURE__ */ jsxRuntime.jsx(BulkActionAction, { ...action }, action.id))
|
2529
|
+
}
|
2530
|
+
) });
|
2531
|
+
};
|
2532
|
+
const BulkActionAction = (action) => {
|
2533
|
+
const [dialogId, setDialogId] = React__namespace.useState(null);
|
2534
|
+
const { toggleNotification } = strapiAdmin.useNotification();
|
2535
|
+
const handleClick = (action2) => (e) => {
|
2536
|
+
const { onClick, dialog, id } = action2;
|
2537
|
+
if (onClick) {
|
2538
|
+
onClick(e);
|
2539
|
+
}
|
2540
|
+
if (dialog) {
|
2541
|
+
switch (dialog.type) {
|
2542
|
+
case "notification":
|
2543
|
+
toggleNotification({
|
2544
|
+
title: dialog.title,
|
2545
|
+
message: dialog.content,
|
2546
|
+
type: dialog.status,
|
2547
|
+
timeout: dialog.timeout,
|
2548
|
+
onClose: dialog.onClose
|
2549
|
+
});
|
2550
|
+
break;
|
2551
|
+
case "dialog":
|
2552
|
+
case "modal": {
|
2553
|
+
e.preventDefault();
|
2554
|
+
setDialogId(id);
|
2555
|
+
}
|
2556
|
+
}
|
2557
|
+
}
|
2558
|
+
};
|
2559
|
+
const handleClose = () => {
|
2560
|
+
setDialogId(null);
|
2561
|
+
if (action.dialog?.type === "modal" && action.dialog?.onClose) {
|
2562
|
+
action.dialog.onClose();
|
2563
|
+
}
|
2564
|
+
};
|
2565
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
2566
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
2567
|
+
designSystem.Button,
|
2568
|
+
{
|
2569
|
+
disabled: action.disabled,
|
2570
|
+
startIcon: action.icon,
|
2571
|
+
variant: action.variant,
|
2572
|
+
onClick: handleClick(action),
|
2573
|
+
children: action.label
|
2574
|
+
}
|
2575
|
+
),
|
2576
|
+
action.dialog?.type === "dialog" ? /* @__PURE__ */ jsxRuntime.jsx(
|
2577
|
+
BulkActionConfirmDialog,
|
2578
|
+
{
|
2579
|
+
...action.dialog,
|
2580
|
+
variant: action.variant,
|
2581
|
+
isOpen: dialogId === action.id,
|
2582
|
+
onClose: handleClose
|
2583
|
+
}
|
2584
|
+
) : null,
|
2585
|
+
action.dialog?.type === "modal" ? /* @__PURE__ */ jsxRuntime.jsx(
|
2586
|
+
BulkActionModal,
|
2587
|
+
{
|
2588
|
+
...action.dialog,
|
2589
|
+
onModalClose: handleClose,
|
2590
|
+
isOpen: dialogId === action.id
|
2591
|
+
}
|
2592
|
+
) : null
|
2593
|
+
] });
|
2594
|
+
};
|
2595
|
+
const BulkActionConfirmDialog = ({
|
2596
|
+
onClose,
|
2597
|
+
onCancel,
|
2598
|
+
onConfirm,
|
2599
|
+
title,
|
2600
|
+
content,
|
2601
|
+
confirmButton,
|
2602
|
+
isOpen,
|
2603
|
+
variant = "secondary"
|
2604
|
+
}) => {
|
2605
|
+
const { formatMessage } = reactIntl.useIntl();
|
2606
|
+
const handleClose = async () => {
|
2607
|
+
if (onCancel) {
|
2608
|
+
await onCancel();
|
2609
|
+
}
|
2610
|
+
onClose();
|
2611
|
+
};
|
2612
|
+
const handleConfirm = async () => {
|
2613
|
+
if (onConfirm) {
|
2614
|
+
await onConfirm();
|
2615
|
+
}
|
2616
|
+
onClose();
|
2617
|
+
};
|
2618
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Dialog, { isOpen, title, onClose: handleClose, children: [
|
2619
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.DialogBody, { icon: /* @__PURE__ */ jsxRuntime.jsx(Icons.WarningCircle, {}), children: content }),
|
2620
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
2621
|
+
designSystem.DialogFooter,
|
2622
|
+
{
|
2623
|
+
startAction: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick: handleClose, variant: "tertiary", children: formatMessage({
|
2624
|
+
id: "app.components.Button.cancel",
|
2625
|
+
defaultMessage: "Cancel"
|
2626
|
+
}) }),
|
2627
|
+
endAction: /* @__PURE__ */ jsxRuntime.jsx(
|
2628
|
+
designSystem.Button,
|
2629
|
+
{
|
2630
|
+
onClick: handleConfirm,
|
2631
|
+
variant: variant === "danger-light" ? variant : "secondary",
|
2632
|
+
startIcon: variant === "danger-light" ? /* @__PURE__ */ jsxRuntime.jsx(Icons.Trash, {}) : /* @__PURE__ */ jsxRuntime.jsx(Icons.Check, {}),
|
2633
|
+
children: confirmButton ? confirmButton : formatMessage({
|
2634
|
+
id: "app.components.Button.confirm",
|
2635
|
+
defaultMessage: "Confirm"
|
2636
|
+
})
|
2637
|
+
}
|
2638
|
+
)
|
2639
|
+
}
|
2640
|
+
)
|
2641
|
+
] });
|
2642
|
+
};
|
2643
|
+
const BulkActionModal = ({
|
2644
|
+
isOpen,
|
2645
|
+
title,
|
2646
|
+
onClose,
|
2647
|
+
content: Content,
|
2648
|
+
onModalClose
|
2649
|
+
}) => {
|
2650
|
+
const id = React__namespace.useId();
|
2651
|
+
if (!isOpen) {
|
2652
|
+
return null;
|
2653
|
+
}
|
2654
|
+
const handleClose = () => {
|
2655
|
+
if (onClose) {
|
2656
|
+
onClose();
|
2657
|
+
}
|
2658
|
+
onModalClose();
|
2659
|
+
};
|
2660
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.ModalLayout, { borderRadius: "4px", overflow: "hidden", onClose: handleClose, labelledBy: id, children: [
|
2661
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.ModalHeader, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "bold", textColor: "neutral800", tag: "h2", id, children: title }) }),
|
2662
|
+
/* @__PURE__ */ jsxRuntime.jsx(Content, { onClose: handleClose })
|
2663
|
+
] });
|
2664
|
+
};
|
2665
|
+
const DeleteAction = ({ documents, model }) => {
|
2666
|
+
const { formatMessage } = reactIntl.useIntl();
|
2667
|
+
const { schema: contentType } = useDoc();
|
2668
|
+
const selectRow = strapiAdmin.useTable("DeleteAction", (state) => state.selectRow);
|
2669
|
+
const hasI18nEnabled = Boolean(contentType?.pluginOptions?.i18n);
|
2670
|
+
const [{ query }] = strapiAdmin.useQueryParams();
|
2671
|
+
const params = React__namespace.useMemo(() => buildValidParams(query), [query]);
|
2672
|
+
const hasDeletePermission = useDocumentRBAC("deleteAction", (state) => state.canDelete);
|
2673
|
+
const { deleteMany: bulkDeleteAction } = useDocumentActions();
|
2674
|
+
const documentIds = documents.map(({ documentId }) => documentId);
|
2675
|
+
const handleConfirmBulkDelete = async () => {
|
2676
|
+
const res = await bulkDeleteAction({
|
2677
|
+
documentIds,
|
2678
|
+
model,
|
2679
|
+
params
|
2680
|
+
});
|
2681
|
+
if (!("error" in res)) {
|
2682
|
+
selectRow([]);
|
2683
|
+
}
|
2684
|
+
};
|
2685
|
+
if (!hasDeletePermission)
|
2686
|
+
return null;
|
2687
|
+
return {
|
2688
|
+
variant: "danger-light",
|
2689
|
+
label: formatMessage({ id: "global.delete", defaultMessage: "Delete" }),
|
2690
|
+
dialog: {
|
2691
|
+
type: "dialog",
|
2692
|
+
title: formatMessage({
|
2693
|
+
id: "app.components.ConfirmDialog.title",
|
2694
|
+
defaultMessage: "Confirmation"
|
2695
|
+
}),
|
2696
|
+
content: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 2, children: [
|
2697
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { id: "confirm-description", textAlign: "center", children: formatMessage({
|
2698
|
+
id: "popUpWarning.bodyMessage.contentType.delete.all",
|
2699
|
+
defaultMessage: "Are you sure you want to delete these entries?"
|
2700
|
+
}) }),
|
2701
|
+
hasI18nEnabled && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { textAlign: "center", padding: 3, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "danger500", children: formatMessage(
|
2702
|
+
{
|
2703
|
+
id: getTranslation("Settings.list.actions.deleteAdditionalInfos"),
|
2704
|
+
defaultMessage: "This will delete the active locale versions <em>(from Internationalization)</em>"
|
2705
|
+
},
|
2706
|
+
{
|
2707
|
+
em: Emphasis
|
2708
|
+
}
|
2709
|
+
) }) })
|
2710
|
+
] }),
|
2711
|
+
onConfirm: handleConfirmBulkDelete
|
2712
|
+
}
|
2713
|
+
};
|
2714
|
+
};
|
2715
|
+
DeleteAction.type = "delete";
|
2716
|
+
const UnpublishAction = ({ documents, model }) => {
|
2717
|
+
const { formatMessage } = reactIntl.useIntl();
|
2718
|
+
const { schema } = useDoc();
|
2719
|
+
const selectRow = strapiAdmin.useTable("UnpublishAction", (state) => state.selectRow);
|
2720
|
+
const hasPublishPermission = useDocumentRBAC("unpublishAction", (state) => state.canPublish);
|
2721
|
+
const hasI18nEnabled = Boolean(schema?.pluginOptions?.i18n);
|
2722
|
+
const hasDraftAndPublishEnabled = Boolean(schema?.options?.draftAndPublish);
|
2723
|
+
const { unpublishMany: bulkUnpublishAction } = useDocumentActions();
|
2724
|
+
const documentIds = documents.map(({ documentId }) => documentId);
|
2725
|
+
const [{ query }] = strapiAdmin.useQueryParams();
|
2726
|
+
const params = React__namespace.useMemo(() => buildValidParams(query), [query]);
|
2727
|
+
const handleConfirmBulkUnpublish = async () => {
|
2728
|
+
const data = await bulkUnpublishAction({ documentIds, model, params });
|
2729
|
+
if (!("error" in data)) {
|
2730
|
+
selectRow([]);
|
2731
|
+
}
|
2732
|
+
};
|
2733
|
+
const showUnpublishButton = hasDraftAndPublishEnabled && hasPublishPermission && documents.some((entry) => entry.status === "published");
|
2734
|
+
if (!showUnpublishButton)
|
2735
|
+
return null;
|
2736
|
+
return {
|
2737
|
+
variant: "tertiary",
|
2738
|
+
label: formatMessage({ id: "app.utils.unpublish", defaultMessage: "Unpublish" }),
|
2739
|
+
dialog: {
|
2740
|
+
type: "dialog",
|
2741
|
+
title: formatMessage({
|
2742
|
+
id: "app.components.ConfirmDialog.title",
|
2743
|
+
defaultMessage: "Confirmation"
|
2744
|
+
}),
|
2745
|
+
content: /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Flex, { direction: "column", alignItems: "stretch", gap: 2, children: [
|
2746
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { id: "confirm-description", textAlign: "center", children: formatMessage({
|
2747
|
+
id: "popUpWarning.bodyMessage.contentType.unpublish.all",
|
2748
|
+
defaultMessage: "Are you sure you want to unpublish these entries?"
|
2749
|
+
}) }),
|
2750
|
+
hasI18nEnabled && /* @__PURE__ */ jsxRuntime.jsx(designSystem.Box, { textAlign: "center", padding: 3, children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { textColor: "danger500", children: formatMessage(
|
2751
|
+
{
|
2752
|
+
id: getTranslation("Settings.list.actions.unpublishAdditionalInfos"),
|
2753
|
+
defaultMessage: "This will unpublish the active locale versions <em>(from Internationalization)</em>"
|
2754
|
+
},
|
2755
|
+
{
|
2756
|
+
em: Emphasis
|
2757
|
+
}
|
2758
|
+
) }) })
|
2759
|
+
] }),
|
2760
|
+
confirmButton: formatMessage({
|
2761
|
+
id: "app.utils.unpublish",
|
2762
|
+
defaultMessage: "Unpublish"
|
2763
|
+
}),
|
2764
|
+
onConfirm: handleConfirmBulkUnpublish
|
2765
|
+
}
|
2766
|
+
};
|
2767
|
+
};
|
2768
|
+
UnpublishAction.type = "unpublish";
|
2769
|
+
const Emphasis = (chunks) => /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { fontWeight: "semiBold", textColor: "danger500", children: chunks });
|
2770
|
+
const DEFAULT_BULK_ACTIONS = [UnpublishAction, DeleteAction];
|
2467
2771
|
const AutoCloneFailureModalBody = ({ prohibitedFields }) => {
|
2468
2772
|
const { formatMessage } = reactIntl.useIntl();
|
2469
2773
|
const getDefaultErrorMessage = (reason) => {
|
@@ -2495,7 +2799,7 @@ const AutoCloneFailureModalBody = ({ prohibitedFields }) => {
|
|
2495
2799
|
hasRadius: true,
|
2496
2800
|
padding: 6,
|
2497
2801
|
children: [
|
2498
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "row",
|
2802
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Flex, { direction: "row", tag: "ol", children: fieldPath.map((pathSegment, index2) => /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Typography, { fontWeight: "semiBold", tag: "li", children: [
|
2499
2803
|
pathSegment,
|
2500
2804
|
index2 !== fieldPath.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(
|
2501
2805
|
Icons.ChevronRight,
|
@@ -2507,7 +2811,7 @@ const AutoCloneFailureModalBody = ({ prohibitedFields }) => {
|
|
2507
2811
|
}
|
2508
2812
|
)
|
2509
2813
|
] }, index2)) }),
|
2510
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, {
|
2814
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { tag: "p", textColor: "neutral600", children: formatMessage({
|
2511
2815
|
id: getTranslation(`containers.list.autoCloneModal.error.${reason}`),
|
2512
2816
|
defaultMessage: getDefaultErrorMessage(reason)
|
2513
2817
|
}) })
|
@@ -2591,7 +2895,7 @@ const EditAction = ({ documentId }) => {
|
|
2591
2895
|
};
|
2592
2896
|
};
|
2593
2897
|
EditAction.type = "edit";
|
2594
|
-
const StyledPencil =
|
2898
|
+
const StyledPencil = styledComponents.styled(Icons.Pencil)`
|
2595
2899
|
path {
|
2596
2900
|
fill: currentColor;
|
2597
2901
|
}
|
@@ -2651,7 +2955,7 @@ const CloneAction = ({ model, documentId }) => {
|
|
2651
2955
|
/* @__PURE__ */ jsxRuntime.jsx(
|
2652
2956
|
designSystem.LinkButton,
|
2653
2957
|
{
|
2654
|
-
|
2958
|
+
tag: reactRouterDom.NavLink,
|
2655
2959
|
to: {
|
2656
2960
|
pathname: `clone/${documentId}`
|
2657
2961
|
},
|
@@ -2667,7 +2971,7 @@ const CloneAction = ({ model, documentId }) => {
|
|
2667
2971
|
};
|
2668
2972
|
};
|
2669
2973
|
CloneAction.type = "clone";
|
2670
|
-
const StyledDuplicate =
|
2974
|
+
const StyledDuplicate = styledComponents.styled(Icons.Duplicate)`
|
2671
2975
|
path {
|
2672
2976
|
fill: currentColor;
|
2673
2977
|
}
|
@@ -3116,10 +3420,8 @@ const index = {
|
|
3116
3420
|
register(app) {
|
3117
3421
|
const cm = new ContentManagerPlugin();
|
3118
3422
|
app.addReducers({
|
3119
|
-
[contentManagerApi.reducerPath]: contentManagerApi.reducer,
|
3120
3423
|
[PLUGIN_ID]: reducer
|
3121
3424
|
});
|
3122
|
-
app.addMiddlewares([() => contentManagerApi.middleware]);
|
3123
3425
|
app.addMenuLink({
|
3124
3426
|
to: PLUGIN_ID,
|
3125
3427
|
icon: Icons.Feather,
|
@@ -3128,14 +3430,15 @@ const index = {
|
|
3128
3430
|
defaultMessage: "Content Manager"
|
3129
3431
|
},
|
3130
3432
|
permissions: [],
|
3131
|
-
Component: () => Promise.resolve().then(() => require("./layout-
|
3433
|
+
Component: () => Promise.resolve().then(() => require("./layout-ni_L9kT1.js")).then((mod) => ({ default: mod.Layout })),
|
3434
|
+
position: 1
|
3132
3435
|
});
|
3133
3436
|
app.registerPlugin(cm.config);
|
3134
3437
|
},
|
3135
3438
|
async registerTrads({ locales }) {
|
3136
3439
|
const importedTrads = await Promise.all(
|
3137
3440
|
locales.map((locale) => {
|
3138
|
-
return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-BUUWXIYu.js")), "./translations/ca.json": () => Promise.resolve().then(() => require("./ca-Cmk45QO6.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-CkJy6B2v.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-CCEmbAah.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-
|
3441
|
+
return __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/ar.json": () => Promise.resolve().then(() => require("./ar-BUUWXIYu.js")), "./translations/ca.json": () => Promise.resolve().then(() => require("./ca-Cmk45QO6.js")), "./translations/cs.json": () => Promise.resolve().then(() => require("./cs-CkJy6B2v.js")), "./translations/de.json": () => Promise.resolve().then(() => require("./de-CCEmbAah.js")), "./translations/en.json": () => Promise.resolve().then(() => require("./en-DTULi5-d.js")), "./translations/es.json": () => Promise.resolve().then(() => require("./es-EUonQTon.js")), "./translations/eu.json": () => Promise.resolve().then(() => require("./eu-VDH-3ovk.js")), "./translations/fr.json": () => Promise.resolve().then(() => require("./fr-B7kGGg3E.js")), "./translations/gu.json": () => Promise.resolve().then(() => require("./gu-BRmF601H.js")), "./translations/hi.json": () => Promise.resolve().then(() => require("./hi-CCJBptSq.js")), "./translations/hu.json": () => Promise.resolve().then(() => require("./hu-sNV_yLYy.js")), "./translations/id.json": () => Promise.resolve().then(() => require("./id-B5Ser98A.js")), "./translations/it.json": () => Promise.resolve().then(() => require("./it-DkBIs7vD.js")), "./translations/ja.json": () => Promise.resolve().then(() => require("./ja-CcFe8diO.js")), "./translations/ko.json": () => Promise.resolve().then(() => require("./ko-woFZPmLk.js")), "./translations/ml.json": () => Promise.resolve().then(() => require("./ml-C2W8N8k1.js")), "./translations/ms.json": () => Promise.resolve().then(() => require("./ms-BuFotyP_.js")), "./translations/nl.json": () => Promise.resolve().then(() => require("./nl-bbEOHChV.js")), "./translations/pl.json": () => Promise.resolve().then(() => require("./pl-uzwG-hk7.js")), "./translations/pt-BR.json": () => Promise.resolve().then(() => require("./pt-BR-BiOz37D9.js")), "./translations/pt.json": () => Promise.resolve().then(() => require("./pt-CeXQuq50.js")), "./translations/ru.json": () => Promise.resolve().then(() => require("./ru-BT3ybNny.js")), "./translations/sa.json": () => Promise.resolve().then(() => require("./sa-CcvkYInH.js")), "./translations/sk.json": () => Promise.resolve().then(() => require("./sk-CvY09Xjv.js")), "./translations/sv.json": () => Promise.resolve().then(() => require("./sv-MYDuzgvT.js")), "./translations/th.json": () => Promise.resolve().then(() => require("./th-D9_GfAjc.js")), "./translations/tr.json": () => Promise.resolve().then(() => require("./tr-D9UH-O_R.js")), "./translations/uk.json": () => Promise.resolve().then(() => require("./uk-C8EiqJY7.js")), "./translations/vi.json": () => Promise.resolve().then(() => require("./vi-CJlYDheJ.js")), "./translations/zh-Hans.json": () => Promise.resolve().then(() => require("./zh-Hans-9kOncHGw.js")), "./translations/zh.json": () => Promise.resolve().then(() => require("./zh-CQQfszqR.js")) }), `./translations/${locale}.json`).then(({ default: data }) => {
|
3139
3442
|
return {
|
3140
3443
|
data: prefixPluginTranslations(data, PLUGIN_ID),
|
3141
3444
|
locale
|
@@ -3152,6 +3455,7 @@ const index = {
|
|
3152
3455
|
}
|
3153
3456
|
};
|
3154
3457
|
exports.ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD = ATTRIBUTE_TYPES_THAT_CANNOT_BE_MAIN_FIELD;
|
3458
|
+
exports.BulkActionsRenderer = BulkActionsRenderer;
|
3155
3459
|
exports.COLLECTION_TYPES = COLLECTION_TYPES;
|
3156
3460
|
exports.CREATOR_FIELDS = CREATOR_FIELDS;
|
3157
3461
|
exports.DEFAULT_SETTINGS = DEFAULT_SETTINGS;
|
@@ -3192,4 +3496,4 @@ exports.useGetAllDocumentsQuery = useGetAllDocumentsQuery;
|
|
3192
3496
|
exports.useGetContentTypeConfigurationQuery = useGetContentTypeConfigurationQuery;
|
3193
3497
|
exports.useGetInitialDataQuery = useGetInitialDataQuery;
|
3194
3498
|
exports.useUpdateContentTypeConfigurationMutation = useUpdateContentTypeConfigurationMutation;
|
3195
|
-
//# sourceMappingURL=index-
|
3499
|
+
//# sourceMappingURL=index-CCJeB7Rw.js.map
|