@strapi/content-manager 0.0.0-experimental.a65a85fdea97faae8679d3ffc5f9d79af61abd26 → 0.0.0-experimental.a6728ad43ac70ae19dabb624dbfca1f2d9610a86
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/LICENSE +18 -3
- 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-DJ5voqEK.mjs} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage--2aLCv-G.mjs.map → ComponentConfigurationPage-DJ5voqEK.mjs.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-43KmCNQE.js → ComponentConfigurationPage-_6osrv39.js} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-43KmCNQE.js.map → ComponentConfigurationPage-_6osrv39.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-CUcGHHvQ.mjs → EditConfigurationPage-CZofxSLy.mjs} +3 -3
- package/dist/_chunks/{EditConfigurationPage-CUcGHHvQ.mjs.map → EditConfigurationPage-CZofxSLy.mjs.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-BfFzJ4Br.js → EditConfigurationPage-ZN3s568V.js} +3 -3
- package/dist/_chunks/{EditConfigurationPage-BfFzJ4Br.js.map → EditConfigurationPage-ZN3s568V.js.map} +1 -1
- package/dist/_chunks/{EditViewPage-CzOT5Kpj.js → EditViewPage-Co2IKQZH.js} +58 -49
- package/dist/_chunks/EditViewPage-Co2IKQZH.js.map +1 -0
- package/dist/_chunks/{EditViewPage-Bm8lgcm6.mjs → EditViewPage-HYljoEY7.mjs} +59 -48
- package/dist/_chunks/EditViewPage-HYljoEY7.mjs.map +1 -0
- package/dist/_chunks/{Field-Dlh0uGnL.mjs → Field-BOPUMZ1u.mjs} +995 -795
- package/dist/_chunks/Field-BOPUMZ1u.mjs.map +1 -0
- package/dist/_chunks/{Field-Caef4JjM.js → Field-G9CkFUtP.js} +1041 -842
- package/dist/_chunks/Field-G9CkFUtP.js.map +1 -0
- package/dist/_chunks/{Form-EnaQL_6L.mjs → Form-CDwNp7pU.mjs} +69 -48
- package/dist/_chunks/Form-CDwNp7pU.mjs.map +1 -0
- package/dist/_chunks/{Form-BzuAjtRq.js → Form-crsbkGxI.js} +68 -48
- package/dist/_chunks/Form-crsbkGxI.js.map +1 -0
- package/dist/_chunks/{History-D6sbCJvo.mjs → History-BDZrgfZ3.mjs} +151 -57
- package/dist/_chunks/History-BDZrgfZ3.mjs.map +1 -0
- package/dist/_chunks/{History-C17LiyRg.js → History-CWcM9HnW.js} +151 -58
- package/dist/_chunks/History-CWcM9HnW.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-Ce4qs7qE.mjs → ListConfigurationPage-BZ3ScUna.mjs} +67 -57
- package/dist/_chunks/ListConfigurationPage-BZ3ScUna.mjs.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-Dks5SX6f.js → ListConfigurationPage-DGzoQD_I.js} +70 -61
- package/dist/_chunks/ListConfigurationPage-DGzoQD_I.js.map +1 -0
- package/dist/_chunks/{ListViewPage-BwrZrPsh.js → ListViewPage-BBAC9aPu.js} +132 -139
- package/dist/_chunks/ListViewPage-BBAC9aPu.js.map +1 -0
- package/dist/_chunks/{ListViewPage-Be7S5aKL.mjs → ListViewPage-CsX7tWx-.mjs} +129 -136
- package/dist/_chunks/ListViewPage-CsX7tWx-.mjs.map +1 -0
- package/dist/_chunks/{NoContentTypePage-Cu5r1-JT.js → NoContentTypePage-CwVDx_YC.js} +5 -5
- package/dist/_chunks/NoContentTypePage-CwVDx_YC.js.map +1 -0
- package/dist/_chunks/{NoContentTypePage-CIPmYQMm.mjs → NoContentTypePage-LClTUPWs.mjs} +7 -7
- package/dist/_chunks/NoContentTypePage-LClTUPWs.mjs.map +1 -0
- package/dist/_chunks/{NoPermissionsPage-C-j6TEUF.js → NoPermissionsPage-D2iWw-sn.js} +4 -5
- package/dist/_chunks/NoPermissionsPage-D2iWw-sn.js.map +1 -0
- package/dist/_chunks/{NoPermissionsPage-DhJ7LYrr.mjs → NoPermissionsPage-S4Re3FwO.mjs} +5 -6
- package/dist/_chunks/NoPermissionsPage-S4Re3FwO.mjs.map +1 -0
- package/dist/_chunks/{Relations-CY7AtkDA.mjs → Relations-Dmv0Tpe5.mjs} +67 -57
- package/dist/_chunks/Relations-Dmv0Tpe5.mjs.map +1 -0
- package/dist/_chunks/{Relations-Czs-uZ-s.js → Relations-jwuTFGOV.js} +71 -62
- package/dist/_chunks/Relations-jwuTFGOV.js.map +1 -0
- package/dist/_chunks/{en-C-V1_90f.js → en-BlhnxQfj.js} +17 -9
- package/dist/_chunks/{en-C-V1_90f.js.map → en-BlhnxQfj.js.map} +1 -1
- package/dist/_chunks/{en-MBPul9Su.mjs → en-C8YBvRrK.mjs} +17 -9
- package/dist/_chunks/{en-MBPul9Su.mjs.map → en-C8YBvRrK.mjs.map} +1 -1
- package/dist/_chunks/{index-DNVx8ssZ.mjs → index-BmUAydCA.mjs} +1715 -813
- package/dist/_chunks/index-BmUAydCA.mjs.map +1 -0
- package/dist/_chunks/{index-X_2tafck.js → index-CBX6KyXv.js} +1815 -914
- package/dist/_chunks/index-CBX6KyXv.js.map +1 -0
- package/dist/_chunks/{layout-Dnh0PNp9.mjs → layout-ClP-DC72.mjs} +47 -29
- package/dist/_chunks/layout-ClP-DC72.mjs.map +1 -0
- package/dist/_chunks/{layout-dBc7wN7L.js → layout-CxxkX9jY.js} +47 -31
- package/dist/_chunks/layout-CxxkX9jY.js.map +1 -0
- package/dist/_chunks/{relations-4pHtBrHJ.js → relations-DIjTADIu.js} +2 -2
- package/dist/_chunks/{relations-4pHtBrHJ.js.map → relations-DIjTADIu.js.map} +1 -1
- package/dist/_chunks/{relations-Dx7tMKJN.mjs → relations-op89RClB.mjs} +2 -2
- package/dist/_chunks/{relations-Dx7tMKJN.mjs.map → relations-op89RClB.mjs.map} +1 -1
- package/dist/_chunks/useDebounce-CtcjDB3L.js +28 -0
- package/dist/_chunks/useDebounce-CtcjDB3L.js.map +1 -0
- package/dist/_chunks/useDebounce-DmuSJIF3.mjs +29 -0
- package/dist/_chunks/useDebounce-DmuSJIF3.mjs.map +1 -0
- package/dist/_chunks/useDragAndDrop-DdHgKsqq.mjs.map +1 -1
- package/dist/_chunks/useDragAndDrop-J0TUUbR6.js.map +1 -1
- package/dist/admin/index.js +3 -1
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +9 -7
- 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 +2 -1
- package/dist/admin/src/history/components/VersionInputRenderer.d.ts +1 -1
- package/dist/admin/src/history/index.d.ts +3 -0
- package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
- package/dist/admin/src/hooks/useDocument.d.ts +35 -9
- 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/index.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +11 -4
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/BlocksInput.d.ts +3 -3
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +4 -0
- 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 +30 -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/WysiwygFooter.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +16 -53
- package/dist/admin/src/pages/EditView/components/Header.d.ts +10 -11
- package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +2 -10
- package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +3 -30
- package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +2 -2
- package/dist/admin/src/pages/ListView/components/BulkActions/PublishAction.d.ts +9 -26
- 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 +31 -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 +5 -7
- package/dist/server/index.js +648 -447
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +656 -455
- 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/relations.d.ts.map +1 -1
- package/dist/server/src/controllers/single-types.d.ts.map +1 -1
- package/dist/server/src/controllers/uid.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 +11 -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 +42 -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/policies/hasPermissions.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/permission-checker.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 +17 -7
- 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 +16 -17
- 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/server/src/controllers/utils/dimensions.d.ts +0 -5
- package/dist/server/src/controllers/utils/dimensions.d.ts.map +0 -1
- package/strapi-server.js +0 -3
@@ -1,28 +1,20 @@
|
|
1
1
|
import { jsxs, jsx, Fragment } from "react/jsx-runtime";
|
2
2
|
import * as React from "react";
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
import { useCollator, Combobox, ComboboxOption, Typography, Menu, Tooltip, Badge, Avatar, Flex, AvatarGroup, useNotifyAT, Loader, IconButton, Popover, LinkButton, TextButton, BaseCheckbox, HeaderLayout, ActionLayout, ContentLayout, Button } from "@strapi/design-system";
|
3
|
+
import { useTracking, useAuth, useQueryParams, useAdminUsers, Filters, useField, useRBAC, Layouts, useNotification, useAPIErrorHandler, useStrapiApp, Page, BackButton, SearchInput, Table, Pagination, useTable } from "@strapi/admin/strapi-admin";
|
4
|
+
import { useCollator, Combobox, ComboboxOption, Tooltip, Typography, Menu, Badge, Avatar, Flex, useNotifyAT, Loader, Popover, IconButton, LinkButton, TextButton, Checkbox, Button } from "@strapi/design-system";
|
6
5
|
import { Cog, ListPlus, Plus } from "@strapi/icons";
|
7
6
|
import isEqual from "lodash/isEqual";
|
8
7
|
import { stringify } from "qs";
|
9
8
|
import { useIntl } from "react-intl";
|
10
9
|
import { NavLink, useNavigate, Link, useParams } from "react-router-dom";
|
11
|
-
import styled from "styled-components";
|
12
|
-
import {
|
10
|
+
import { styled } from "styled-components";
|
11
|
+
import { u as useContentTypeSchema, p as useGetContentTypeConfigurationQuery, q as CREATOR_FIELDS, r as getMainField, t as getDisplayName, c as useDoc, g as getTranslation, h as useDocumentLayout, v as checkIfAttributeIsDisplayable, d as buildValidParams, w as useGetAllDocumentsQuery, f as useDocumentRBAC, I as InjectionZone, D as DocumentStatus, T as TableActions, B as BulkActionsRenderer, k as PERMISSIONS, l as DocumentRBAC, H as HOOKS, x as convertListLayoutToFieldLayouts } from "./index-BmUAydCA.mjs";
|
12
|
+
import { a as useDebounce, p as prefixFileUrlWithBackendUrl, u as usePrev } from "./useDebounce-DmuSJIF3.mjs";
|
13
13
|
import isEmpty from "lodash/isEmpty";
|
14
14
|
import parseISO from "date-fns/parseISO";
|
15
15
|
import toString from "lodash/toString";
|
16
|
-
import {
|
17
|
-
import { g as getRelationLabel, u as useGetRelationsQuery } from "./relations-Dx7tMKJN.mjs";
|
16
|
+
import { g as getRelationLabel, u as useGetRelationsQuery } from "./relations-op89RClB.mjs";
|
18
17
|
import { u as useTypedSelector } from "./hooks-E5u1mcgM.mjs";
|
19
|
-
const usePrev = (value) => {
|
20
|
-
const ref = useRef();
|
21
|
-
useEffect(() => {
|
22
|
-
ref.current = value;
|
23
|
-
}, [value]);
|
24
|
-
return ref.current;
|
25
|
-
};
|
26
18
|
const NOT_ALLOWED_FILTERS = [
|
27
19
|
"json",
|
28
20
|
"component",
|
@@ -129,6 +121,15 @@ const FiltersImpl = ({ disabled, schema }) => {
|
|
129
121
|
}
|
130
122
|
};
|
131
123
|
}
|
124
|
+
if (attribute.type === "enumeration") {
|
125
|
+
filter = {
|
126
|
+
...filter,
|
127
|
+
options: attribute.enum.map((value) => ({
|
128
|
+
label: value,
|
129
|
+
value
|
130
|
+
}))
|
131
|
+
};
|
132
|
+
}
|
132
133
|
return filter;
|
133
134
|
}).filter(Boolean).toSorted((a, b) => formatter.compare(a.label, b.label));
|
134
135
|
}, [
|
@@ -171,18 +172,22 @@ const FiltersImpl = ({ disabled, schema }) => {
|
|
171
172
|
);
|
172
173
|
};
|
173
174
|
const AdminUsersFilter = ({ name }) => {
|
174
|
-
const [
|
175
|
+
const [pageSize, setPageSize] = React.useState(10);
|
176
|
+
const [search, setSearch] = React.useState("");
|
175
177
|
const { formatMessage } = useIntl();
|
178
|
+
const debouncedSearch = useDebounce(search, 300);
|
176
179
|
const { data, isLoading } = useAdminUsers({
|
177
|
-
|
180
|
+
pageSize,
|
181
|
+
_q: debouncedSearch
|
178
182
|
});
|
179
183
|
const field = useField(name);
|
180
184
|
const handleOpenChange = (isOpen) => {
|
181
185
|
if (!isOpen) {
|
182
|
-
|
186
|
+
setPageSize(10);
|
183
187
|
}
|
184
188
|
};
|
185
|
-
const users = data
|
189
|
+
const { users = [], pagination } = data ?? {};
|
190
|
+
const { pageCount = 1, page = 1 } = pagination ?? {};
|
186
191
|
return /* @__PURE__ */ jsx(
|
187
192
|
Combobox,
|
188
193
|
{
|
@@ -194,7 +199,11 @@ const AdminUsersFilter = ({ name }) => {
|
|
194
199
|
onOpenChange: handleOpenChange,
|
195
200
|
onChange: (value) => field.onChange(name, value),
|
196
201
|
loading: isLoading,
|
197
|
-
onLoadMore: () =>
|
202
|
+
onLoadMore: () => setPageSize(pageSize + 10),
|
203
|
+
hasMoreItems: page < pageCount,
|
204
|
+
onInputChange: (e) => {
|
205
|
+
setSearch(e.currentTarget.value);
|
206
|
+
},
|
198
207
|
children: users.map((user) => {
|
199
208
|
return /* @__PURE__ */ jsx(ComboboxOption, { value: user.id.toString(), children: getDisplayName(user) }, user.id);
|
200
209
|
})
|
@@ -236,20 +245,16 @@ const SingleComponent = ({ content, mainField }) => {
|
|
236
245
|
if (!mainField) {
|
237
246
|
return null;
|
238
247
|
}
|
239
|
-
return /* @__PURE__ */ jsx(Tooltip, { label: content[mainField.name], children: /* @__PURE__ */ jsx(
|
248
|
+
return /* @__PURE__ */ jsx(Tooltip, { label: content[mainField.name], children: /* @__PURE__ */ jsx(Typography, { maxWidth: "25rem", textColor: "neutral800", ellipsis: true, children: /* @__PURE__ */ jsx(CellValue, { type: mainField.type, value: content[mainField.name] }) }) });
|
240
249
|
};
|
241
|
-
const SingleComponentTypography = styled(Typography)`
|
242
|
-
max-width: 250px;
|
243
|
-
`;
|
244
250
|
const RepeatableComponent = ({ content, mainField }) => {
|
245
251
|
const { formatMessage } = useIntl();
|
246
252
|
if (!mainField) {
|
247
253
|
return null;
|
248
254
|
}
|
249
255
|
return /* @__PURE__ */ jsxs(Menu.Root, { children: [
|
250
|
-
/* @__PURE__ */ jsxs(
|
256
|
+
/* @__PURE__ */ jsxs(Menu.Trigger, { onClick: (e) => e.stopPropagation(), children: [
|
251
257
|
/* @__PURE__ */ jsx(Badge, { children: content.length }),
|
252
|
-
" ",
|
253
258
|
formatMessage(
|
254
259
|
{
|
255
260
|
id: "content-manager.containers.list.items",
|
@@ -258,25 +263,24 @@ const RepeatableComponent = ({ content, mainField }) => {
|
|
258
263
|
{ number: content.length }
|
259
264
|
)
|
260
265
|
] }),
|
261
|
-
/* @__PURE__ */ jsx(Menu.Content, { children: content.map((item) => /* @__PURE__ */ jsx(Menu.Item, { disabled: true, children: /* @__PURE__ */ jsx(
|
266
|
+
/* @__PURE__ */ jsx(Menu.Content, { children: content.map((item) => /* @__PURE__ */ jsx(Menu.Item, { disabled: true, children: /* @__PURE__ */ jsx(Typography, { maxWidth: "50rem", ellipsis: true, children: /* @__PURE__ */ jsx(CellValue, { type: mainField.type, value: item[mainField.name] }) }) }, item.id)) })
|
262
267
|
] });
|
263
268
|
};
|
264
|
-
const RepeatableComponentTypography = styled(Typography)`
|
265
|
-
max-width: 500px;
|
266
|
-
`;
|
267
|
-
const MenuTrigger$1 = styled(Menu.Trigger)`
|
268
|
-
svg {
|
269
|
-
width: 0.6rem;
|
270
|
-
height: 0.4rem;
|
271
|
-
}
|
272
|
-
`;
|
273
269
|
const getFileExtension = (ext) => ext && ext[0] === "." ? ext.substring(1) : ext;
|
274
270
|
const MediaSingle = ({ url, mime, alternativeText, name, ext, formats }) => {
|
275
271
|
const fileURL = prefixFileUrlWithBackendUrl(url);
|
276
272
|
if (mime.includes("image")) {
|
277
273
|
const thumbnail = formats?.thumbnail?.url;
|
278
274
|
const mediaURL = prefixFileUrlWithBackendUrl(thumbnail) || fileURL;
|
279
|
-
return /* @__PURE__ */ jsx(
|
275
|
+
return /* @__PURE__ */ jsx(
|
276
|
+
Avatar.Item,
|
277
|
+
{
|
278
|
+
src: mediaURL,
|
279
|
+
alt: alternativeText || name,
|
280
|
+
fallback: alternativeText || name,
|
281
|
+
preview: true
|
282
|
+
}
|
283
|
+
);
|
280
284
|
}
|
281
285
|
const fileExtension = getFileExtension(ext);
|
282
286
|
const fileName = name.length > 100 ? `${name.substring(0, 100)}...` : name;
|
@@ -286,7 +290,7 @@ const FileWrapper = ({ children }) => {
|
|
286
290
|
return /* @__PURE__ */ jsx(
|
287
291
|
Flex,
|
288
292
|
{
|
289
|
-
|
293
|
+
tag: "span",
|
290
294
|
position: "relative",
|
291
295
|
borderRadius: "50%",
|
292
296
|
width: "26px",
|
@@ -305,7 +309,7 @@ const FileTypography = styled(Typography)`
|
|
305
309
|
line-height: 0.9rem;
|
306
310
|
`;
|
307
311
|
const MediaMultiple = ({ content }) => {
|
308
|
-
return /* @__PURE__ */ jsx(
|
312
|
+
return /* @__PURE__ */ jsx(Avatar.Group, { children: content.map((file, index) => {
|
309
313
|
const key = `${file.id}${index}`;
|
310
314
|
if (index === 3) {
|
311
315
|
const remainingFiles = `+${content.length - 3}`;
|
@@ -318,11 +322,8 @@ const MediaMultiple = ({ content }) => {
|
|
318
322
|
}) });
|
319
323
|
};
|
320
324
|
const RelationSingle = ({ mainField, content }) => {
|
321
|
-
return /* @__PURE__ */ jsx(
|
325
|
+
return /* @__PURE__ */ jsx(Typography, { maxWidth: "50rem", textColor: "neutral800", ellipsis: true, children: getRelationLabel(content, mainField) });
|
322
326
|
};
|
323
|
-
const TypographyMaxWidth$1 = styled(Typography)`
|
324
|
-
max-width: 500px;
|
325
|
-
`;
|
326
327
|
const RelationMultiple = ({ mainField, content, rowId, name }) => {
|
327
328
|
const { model } = useDoc();
|
328
329
|
const { formatMessage } = useIntl();
|
@@ -340,6 +341,7 @@ const RelationMultiple = ({ mainField, content, rowId, name }) => {
|
|
340
341
|
refetchOnMountOrArgChange: true
|
341
342
|
}
|
342
343
|
);
|
344
|
+
const contentCount = Array.isArray(content) ? content.length : content.count;
|
343
345
|
React.useEffect(() => {
|
344
346
|
if (data) {
|
345
347
|
notifyStatus(
|
@@ -351,23 +353,20 @@ const RelationMultiple = ({ mainField, content, rowId, name }) => {
|
|
351
353
|
}
|
352
354
|
}, [data, formatMessage, notifyStatus]);
|
353
355
|
return /* @__PURE__ */ jsxs(Menu.Root, { onOpenChange: (isOpen2) => setIsOpen(isOpen2), children: [
|
354
|
-
/* @__PURE__ */ jsx(
|
355
|
-
|
356
|
-
|
357
|
-
{
|
358
|
-
|
359
|
-
|
360
|
-
|
361
|
-
{ number: content.count }
|
362
|
-
)
|
363
|
-
] }) }),
|
356
|
+
/* @__PURE__ */ jsx(Menu.Trigger, { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx(Typography, { style: { cursor: "pointer" }, textColor: "neutral800", fontWeight: "regular", children: contentCount > 0 ? formatMessage(
|
357
|
+
{
|
358
|
+
id: "content-manager.containers.list.items",
|
359
|
+
defaultMessage: "{number} {number, plural, =0 {items} one {item} other {items}}"
|
360
|
+
},
|
361
|
+
{ number: contentCount }
|
362
|
+
) : "-" }) }),
|
364
363
|
/* @__PURE__ */ jsxs(Menu.Content, { children: [
|
365
364
|
isLoading && /* @__PURE__ */ jsx(Menu.Item, { disabled: true, children: /* @__PURE__ */ jsx(Loader, { small: true, children: formatMessage({
|
366
365
|
id: getTranslation("ListViewTable.relation-loading"),
|
367
366
|
defaultMessage: "Relations are loading"
|
368
367
|
}) }) }),
|
369
368
|
data?.results && /* @__PURE__ */ jsxs(Fragment, { children: [
|
370
|
-
data.results.map((entry) => /* @__PURE__ */ jsx(Menu.Item, { disabled: true, children: /* @__PURE__ */ jsx(
|
369
|
+
data.results.map((entry) => /* @__PURE__ */ jsx(Menu.Item, { disabled: true, children: /* @__PURE__ */ jsx(Typography, { maxWidth: "50rem", ellipsis: true, children: getRelationLabel(entry, mainField) }) }, entry.documentId)),
|
371
370
|
data?.pagination && data?.pagination.total > 10 && /* @__PURE__ */ jsx(
|
372
371
|
Menu.Item,
|
373
372
|
{
|
@@ -383,15 +382,17 @@ const RelationMultiple = ({ mainField, content, rowId, name }) => {
|
|
383
382
|
] })
|
384
383
|
] });
|
385
384
|
};
|
386
|
-
const MenuTrigger = styled(Menu.Trigger)`
|
387
|
-
svg {
|
388
|
-
width: 0.6rem;
|
389
|
-
height: 0.4rem;
|
390
|
-
}
|
391
|
-
`;
|
392
385
|
const CellContent = ({ content, mainField, attribute, rowId, name }) => {
|
393
386
|
if (!hasContent(content, mainField, attribute)) {
|
394
|
-
return /* @__PURE__ */ jsx(
|
387
|
+
return /* @__PURE__ */ jsx(
|
388
|
+
Typography,
|
389
|
+
{
|
390
|
+
textColor: "neutral800",
|
391
|
+
paddingLeft: attribute.type === "relation" ? "1.6rem" : 0,
|
392
|
+
paddingRight: attribute.type === "relation" ? "1.6rem" : 0,
|
393
|
+
children: "-"
|
394
|
+
}
|
395
|
+
);
|
395
396
|
}
|
396
397
|
switch (attribute.type) {
|
397
398
|
case "media":
|
@@ -411,14 +412,11 @@ const CellContent = ({ content, mainField, attribute, rowId, name }) => {
|
|
411
412
|
}
|
412
413
|
return /* @__PURE__ */ jsx(SingleComponent, { mainField, content });
|
413
414
|
case "string":
|
414
|
-
return /* @__PURE__ */ jsx(Tooltip, { description: content, children: /* @__PURE__ */ jsx(
|
415
|
+
return /* @__PURE__ */ jsx(Tooltip, { description: content, children: /* @__PURE__ */ jsx(Typography, { maxWidth: "30rem", ellipsis: true, textColor: "neutral800", children: /* @__PURE__ */ jsx(CellValue, { type: attribute.type, value: content }) }) });
|
415
416
|
default:
|
416
|
-
return /* @__PURE__ */ jsx(
|
417
|
+
return /* @__PURE__ */ jsx(Typography, { maxWidth: "30rem", ellipsis: true, textColor: "neutral800", children: /* @__PURE__ */ jsx(CellValue, { type: attribute.type, value: content }) });
|
417
418
|
}
|
418
419
|
};
|
419
|
-
const TypographyMaxWidth = styled(Typography)`
|
420
|
-
max-width: 300px;
|
421
|
-
`;
|
422
420
|
const hasContent = (content, mainField, attribute) => {
|
423
421
|
if (attribute.type === "component") {
|
424
422
|
if (attribute.repeatable || !mainField) {
|
@@ -434,6 +432,9 @@ const hasContent = (content, mainField, attribute) => {
|
|
434
432
|
if (isSingleRelation(attribute.relation)) {
|
435
433
|
return !isEmpty(content);
|
436
434
|
}
|
435
|
+
if (Array.isArray(content)) {
|
436
|
+
return content.length > 0;
|
437
|
+
}
|
437
438
|
return content?.count > 0;
|
438
439
|
}
|
439
440
|
if (["integer", "decimal", "float", "number"].includes(attribute.type)) {
|
@@ -446,8 +447,6 @@ const hasContent = (content, mainField, attribute) => {
|
|
446
447
|
};
|
447
448
|
const isSingleRelation = (type) => ["oneToOne", "manyToOne", "oneToOneMorph"].includes(type);
|
448
449
|
const ViewSettingsMenu = (props) => {
|
449
|
-
const [isVisible, setIsVisible] = React.useState(false);
|
450
|
-
const cogButtonRef = React.useRef(null);
|
451
450
|
const permissions = useTypedSelector(
|
452
451
|
(state) => state.admin_app.permissions.contentManager?.collectionTypesConfigurations ?? []
|
453
452
|
);
|
@@ -456,52 +455,37 @@ const ViewSettingsMenu = (props) => {
|
|
456
455
|
const {
|
457
456
|
allowedActions: { canConfigureView }
|
458
457
|
} = useRBAC(permissions);
|
459
|
-
|
460
|
-
|
461
|
-
};
|
462
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
463
|
-
/* @__PURE__ */ jsx(
|
458
|
+
return /* @__PURE__ */ jsxs(Popover.Root, { children: [
|
459
|
+
/* @__PURE__ */ jsx(Popover.Trigger, { children: /* @__PURE__ */ jsx(
|
464
460
|
IconButton,
|
465
461
|
{
|
466
|
-
icon: /* @__PURE__ */ jsx(Cog, {}),
|
467
462
|
label: formatMessage({
|
468
463
|
id: "components.ViewSettings.tooltip",
|
469
464
|
defaultMessage: "View Settings"
|
470
465
|
}),
|
471
|
-
|
472
|
-
onClick: handleToggle
|
473
|
-
}
|
474
|
-
),
|
475
|
-
isVisible && /* @__PURE__ */ jsx(
|
476
|
-
Popover,
|
477
|
-
{
|
478
|
-
placement: "bottom-end",
|
479
|
-
source: cogButtonRef,
|
480
|
-
onDismiss: handleToggle,
|
481
|
-
spacing: 4,
|
482
|
-
padding: 3,
|
483
|
-
children: /* @__PURE__ */ jsxs(Flex, { alignItems: "stretch", direction: "column", gap: 3, children: [
|
484
|
-
canConfigureView ? /* @__PURE__ */ jsx(
|
485
|
-
LinkButton,
|
486
|
-
{
|
487
|
-
size: "S",
|
488
|
-
startIcon: /* @__PURE__ */ jsx(ListPlus, {}),
|
489
|
-
variant: "secondary",
|
490
|
-
as: NavLink,
|
491
|
-
to: {
|
492
|
-
pathname: "configurations/list",
|
493
|
-
search: query.plugins ? stringify({ plugins: query.plugins }, { encode: false }) : ""
|
494
|
-
},
|
495
|
-
children: formatMessage({
|
496
|
-
id: "app.links.configure-view",
|
497
|
-
defaultMessage: "Configure the view"
|
498
|
-
})
|
499
|
-
}
|
500
|
-
) : null,
|
501
|
-
/* @__PURE__ */ jsx(FieldPicker, { ...props })
|
502
|
-
] })
|
466
|
+
children: /* @__PURE__ */ jsx(Cog, {})
|
503
467
|
}
|
504
|
-
)
|
468
|
+
) }),
|
469
|
+
/* @__PURE__ */ jsx(Popover.Content, { side: "bottom", align: "end", sideOffset: 4, children: /* @__PURE__ */ jsxs(Flex, { alignItems: "stretch", direction: "column", padding: 3, gap: 3, children: [
|
470
|
+
canConfigureView ? /* @__PURE__ */ jsx(
|
471
|
+
LinkButton,
|
472
|
+
{
|
473
|
+
size: "S",
|
474
|
+
startIcon: /* @__PURE__ */ jsx(ListPlus, {}),
|
475
|
+
variant: "secondary",
|
476
|
+
tag: NavLink,
|
477
|
+
to: {
|
478
|
+
pathname: "configurations/list",
|
479
|
+
search: query.plugins ? stringify({ plugins: query.plugins }, { encode: false }) : ""
|
480
|
+
},
|
481
|
+
children: formatMessage({
|
482
|
+
id: "app.links.configure-view",
|
483
|
+
defaultMessage: "Configure the view"
|
484
|
+
})
|
485
|
+
}
|
486
|
+
) : null,
|
487
|
+
/* @__PURE__ */ jsx(FieldPicker, { ...props })
|
488
|
+
] }) })
|
505
489
|
] });
|
506
490
|
};
|
507
491
|
const FieldPicker = ({ headers = [], resetHeaders, setHeaders }) => {
|
@@ -525,9 +509,9 @@ const FieldPicker = ({ headers = [], resetHeaders, setHeaders }) => {
|
|
525
509
|
const handleReset = () => {
|
526
510
|
resetHeaders();
|
527
511
|
};
|
528
|
-
return /* @__PURE__ */ jsxs(Flex, {
|
512
|
+
return /* @__PURE__ */ jsxs(Flex, { tag: "fieldset", direction: "column", alignItems: "stretch", gap: 3, borderWidth: 0, children: [
|
529
513
|
/* @__PURE__ */ jsxs(Flex, { justifyContent: "space-between", children: [
|
530
|
-
/* @__PURE__ */ jsx(Typography, {
|
514
|
+
/* @__PURE__ */ jsx(Typography, { tag: "legend", variant: "pi", fontWeight: "bold", children: formatMessage({
|
531
515
|
id: "containers.list.displayedFields",
|
532
516
|
defaultMessage: "Displayed fields"
|
533
517
|
}) }),
|
@@ -538,38 +522,33 @@ const FieldPicker = ({ headers = [], resetHeaders, setHeaders }) => {
|
|
538
522
|
] }),
|
539
523
|
/* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", children: columns.map((header) => {
|
540
524
|
const isActive = headers.includes(header.name);
|
541
|
-
return /* @__PURE__ */
|
542
|
-
|
525
|
+
return /* @__PURE__ */ jsx(
|
526
|
+
Flex,
|
543
527
|
{
|
544
528
|
wrap: "wrap",
|
545
529
|
gap: 2,
|
546
|
-
as: "label",
|
547
530
|
background: isActive ? "primary100" : "transparent",
|
548
531
|
hasRadius: true,
|
549
532
|
padding: 2,
|
550
|
-
children:
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
/* @__PURE__ */ jsx(Typography, { fontSize: 1, children: header.label })
|
560
|
-
]
|
533
|
+
children: /* @__PURE__ */ jsx(
|
534
|
+
Checkbox,
|
535
|
+
{
|
536
|
+
onCheckedChange: () => handleChange(header.name),
|
537
|
+
checked: isActive,
|
538
|
+
name: header.name,
|
539
|
+
children: /* @__PURE__ */ jsx(Typography, { fontSize: 1, children: header.label })
|
540
|
+
}
|
541
|
+
)
|
561
542
|
},
|
562
543
|
header.name
|
563
544
|
);
|
564
545
|
}) })
|
565
546
|
] });
|
566
547
|
};
|
567
|
-
const ChackboxWrapper = styled(Flex)`
|
568
|
-
:hover {
|
569
|
-
background-color: ${(props) => props.theme.colors.primary100};
|
570
|
-
}
|
571
|
-
`;
|
572
548
|
const { INJECT_COLUMN_IN_TABLE } = HOOKS;
|
549
|
+
const LayoutsHeaderCustom = styled(Layouts.Header)`
|
550
|
+
overflow-wrap: anywhere;
|
551
|
+
`;
|
573
552
|
const ListViewPage = () => {
|
574
553
|
const { trackUsage } = useTracking();
|
575
554
|
const navigate = useNavigate();
|
@@ -596,7 +575,7 @@ const ListViewPage = () => {
|
|
596
575
|
sort: list.settings.defaultSortBy ? `${list.settings.defaultSortBy}:${list.settings.defaultSortOrder}` : ""
|
597
576
|
});
|
598
577
|
const params = React.useMemo(() => buildValidParams(query), [query]);
|
599
|
-
const { data, error,
|
578
|
+
const { data, error, isFetching } = useGetAllDocumentsQuery({
|
600
579
|
model,
|
601
580
|
params
|
602
581
|
});
|
@@ -654,7 +633,7 @@ const ListViewPage = () => {
|
|
654
633
|
}
|
655
634
|
return formattedHeaders;
|
656
635
|
}, [displayedHeaders, formatMessage, list, runHookWaterfall, schema?.options?.draftAndPublish]);
|
657
|
-
if (
|
636
|
+
if (isFetching) {
|
658
637
|
return /* @__PURE__ */ jsx(Page.Loading, {});
|
659
638
|
}
|
660
639
|
if (error) {
|
@@ -671,7 +650,7 @@ const ListViewPage = () => {
|
|
671
650
|
return /* @__PURE__ */ jsxs(Page.Main, { children: [
|
672
651
|
/* @__PURE__ */ jsx(Page.Title, { children: `${contentTypeTitle}` }),
|
673
652
|
/* @__PURE__ */ jsx(
|
674
|
-
|
653
|
+
LayoutsHeaderCustom,
|
675
654
|
{
|
676
655
|
primaryAction: canCreate ? /* @__PURE__ */ jsx(CreateButton, {}) : null,
|
677
656
|
subtitle: formatMessage(
|
@@ -686,7 +665,7 @@ const ListViewPage = () => {
|
|
686
665
|
}
|
687
666
|
),
|
688
667
|
/* @__PURE__ */ jsx(
|
689
|
-
|
668
|
+
Layouts.Action,
|
690
669
|
{
|
691
670
|
endActions: /* @__PURE__ */ jsxs(Fragment, { children: [
|
692
671
|
/* @__PURE__ */ jsx(InjectionZone, { area: "listView.actions" }),
|
@@ -719,9 +698,9 @@ const ListViewPage = () => {
|
|
719
698
|
] })
|
720
699
|
}
|
721
700
|
),
|
722
|
-
/* @__PURE__ */ jsx(
|
723
|
-
/* @__PURE__ */ jsxs(Table.Root, { rows: results, headers: tableHeaders, isLoading, children: [
|
724
|
-
/* @__PURE__ */ jsx(
|
701
|
+
/* @__PURE__ */ jsx(Layouts.Content, { children: /* @__PURE__ */ jsxs(Flex, { gap: 4, direction: "column", alignItems: "stretch", children: [
|
702
|
+
/* @__PURE__ */ jsxs(Table.Root, { rows: results, headers: tableHeaders, isLoading: isFetching, children: [
|
703
|
+
/* @__PURE__ */ jsx(TableActionsBar, {}),
|
725
704
|
/* @__PURE__ */ jsxs(Table.Content, { children: [
|
726
705
|
/* @__PURE__ */ jsxs(Table.Head, { children: [
|
727
706
|
/* @__PURE__ */ jsx(Table.HeaderCheckboxCell, {}),
|
@@ -783,6 +762,18 @@ const ActionsCell = styled(Table.Cell)`
|
|
783
762
|
display: flex;
|
784
763
|
justify-content: flex-end;
|
785
764
|
`;
|
765
|
+
const TableActionsBar = () => {
|
766
|
+
const selectRow = useTable("TableActionsBar", (state) => state.selectRow);
|
767
|
+
const [{ query }] = useQueryParams();
|
768
|
+
const locale = query?.plugins?.i18n?.locale;
|
769
|
+
const prevLocale = usePrev(locale);
|
770
|
+
React.useEffect(() => {
|
771
|
+
if (prevLocale !== locale) {
|
772
|
+
selectRow([]);
|
773
|
+
}
|
774
|
+
}, [selectRow, prevLocale, locale]);
|
775
|
+
return /* @__PURE__ */ jsx(Table.ActionBar, { children: /* @__PURE__ */ jsx(BulkActionsRenderer, {}) });
|
776
|
+
};
|
786
777
|
const CreateButton = ({ variant }) => {
|
787
778
|
const { formatMessage } = useIntl();
|
788
779
|
const { trackUsage } = useTracking();
|
@@ -791,7 +782,7 @@ const CreateButton = ({ variant }) => {
|
|
791
782
|
Button,
|
792
783
|
{
|
793
784
|
variant,
|
794
|
-
|
785
|
+
tag: Link,
|
795
786
|
onClick: () => {
|
796
787
|
trackUsage("willCreateEntry", { status: "draft" });
|
797
788
|
},
|
@@ -801,6 +792,8 @@ const CreateButton = ({ variant }) => {
|
|
801
792
|
pathname: "create",
|
802
793
|
search: stringify({ plugins: query.plugins })
|
803
794
|
},
|
795
|
+
minWidth: "max-content",
|
796
|
+
marginLeft: 2,
|
804
797
|
children: formatMessage({
|
805
798
|
id: getTranslation("HeaderLayout.button.label-add-entry"),
|
806
799
|
defaultMessage: "Create new entry"
|
@@ -832,4 +825,4 @@ export {
|
|
832
825
|
ListViewPage,
|
833
826
|
ProtectedListViewPage
|
834
827
|
};
|
835
|
-
//# sourceMappingURL=ListViewPage-
|
828
|
+
//# sourceMappingURL=ListViewPage-CsX7tWx-.mjs.map
|