@strapi/content-manager 5.11.1 → 5.12.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/admin/chunks/{ComponentConfigurationPage-BGBNQxFJ.js → ComponentConfigurationPage-CBvwLnAK.js} +5 -6
- package/dist/admin/chunks/{ComponentConfigurationPage-BGBNQxFJ.js.map → ComponentConfigurationPage-CBvwLnAK.js.map} +1 -1
- package/dist/admin/chunks/{ComponentConfigurationPage-DKtL-tec.mjs → ComponentConfigurationPage-w_ss7xEy.mjs} +5 -6
- package/dist/admin/chunks/{ComponentConfigurationPage-DKtL-tec.mjs.map → ComponentConfigurationPage-w_ss7xEy.mjs.map} +1 -1
- package/dist/admin/chunks/{EditConfigurationPage-yliOxLUv.js → EditConfigurationPage-CbAhYSyH.js} +5 -6
- package/dist/admin/chunks/{EditConfigurationPage-yliOxLUv.js.map → EditConfigurationPage-CbAhYSyH.js.map} +1 -1
- package/dist/admin/chunks/{EditConfigurationPage-KDwSFRyn.mjs → EditConfigurationPage-D1iHIzSR.mjs} +5 -6
- package/dist/admin/chunks/{EditConfigurationPage-KDwSFRyn.mjs.map → EditConfigurationPage-D1iHIzSR.mjs.map} +1 -1
- package/dist/admin/chunks/{EditViewPage-BAI2r49P.mjs → EditViewPage-BtunY0ZP.mjs} +102 -95
- package/dist/admin/chunks/EditViewPage-BtunY0ZP.mjs.map +1 -0
- package/dist/admin/chunks/{EditViewPage-DpvonssD.js → EditViewPage-Cf_TPJZd.js} +102 -95
- package/dist/admin/chunks/EditViewPage-Cf_TPJZd.js.map +1 -0
- package/dist/admin/chunks/{Form-BrzQyDxU.mjs → Form-DsvK3WTh.mjs} +3 -3
- package/dist/admin/chunks/{Form-BrzQyDxU.mjs.map → Form-DsvK3WTh.mjs.map} +1 -1
- package/dist/admin/chunks/{Form-XD_sf25E.js → Form-UMrizqJP.js} +5 -5
- package/dist/admin/chunks/{Form-XD_sf25E.js.map → Form-UMrizqJP.js.map} +1 -1
- package/dist/admin/chunks/{History-C-_o7tz8.js → History-Crvb_hzd.js} +17 -13
- package/dist/admin/chunks/History-Crvb_hzd.js.map +1 -0
- package/dist/admin/chunks/{History-DClLuGIg.mjs → History-DsRVSUF7.mjs} +16 -12
- package/dist/admin/chunks/History-DsRVSUF7.mjs.map +1 -0
- package/dist/admin/chunks/{Input-Bv-rqfYH.js → Input-C2r54bIL.js} +1327 -64
- package/dist/admin/chunks/Input-C2r54bIL.js.map +1 -0
- package/dist/admin/chunks/{Input-BMLRZBE3.mjs → Input-D6obstp0.mjs} +1315 -55
- package/dist/admin/chunks/Input-D6obstp0.mjs.map +1 -0
- package/dist/admin/chunks/{ListConfigurationPage-Do3UDres.mjs → ListConfigurationPage-DW-wAwmW.mjs} +4 -5
- package/dist/admin/chunks/{ListConfigurationPage-Do3UDres.mjs.map → ListConfigurationPage-DW-wAwmW.mjs.map} +1 -1
- package/dist/admin/chunks/{ListConfigurationPage-D66hgG4-.js → ListConfigurationPage-DlQ2pLyr.js} +6 -7
- package/dist/admin/chunks/{ListConfigurationPage-D66hgG4-.js.map → ListConfigurationPage-DlQ2pLyr.js.map} +1 -1
- package/dist/admin/chunks/{ListViewPage-Q0auz5lE.mjs → ListViewPage-DcUhPA9a.mjs} +3 -4
- package/dist/admin/chunks/{ListViewPage-Q0auz5lE.mjs.map → ListViewPage-DcUhPA9a.mjs.map} +1 -1
- package/dist/admin/chunks/{ListViewPage-DNvysJaJ.js → ListViewPage-nJJ227Fo.js} +7 -8
- package/dist/admin/chunks/{ListViewPage-DNvysJaJ.js.map → ListViewPage-nJJ227Fo.js.map} +1 -1
- package/dist/admin/chunks/{NoContentTypePage-C5qFFfgn.js → NoContentTypePage-Cxt-uFq7.js} +2 -2
- package/dist/admin/chunks/{NoContentTypePage-C5qFFfgn.js.map → NoContentTypePage-Cxt-uFq7.js.map} +1 -1
- package/dist/admin/chunks/{NoContentTypePage-B_oOeOQb.mjs → NoContentTypePage-DbRXR2cr.mjs} +2 -2
- package/dist/admin/chunks/{NoContentTypePage-B_oOeOQb.mjs.map → NoContentTypePage-DbRXR2cr.mjs.map} +1 -1
- package/dist/admin/chunks/{NoPermissionsPage-C9sDJXRu.js → NoPermissionsPage-BeMTv_SG.js} +2 -2
- package/dist/admin/chunks/{NoPermissionsPage-C9sDJXRu.js.map → NoPermissionsPage-BeMTv_SG.js.map} +1 -1
- package/dist/admin/chunks/{NoPermissionsPage-BAW7WY-M.mjs → NoPermissionsPage-RWPwNESA.mjs} +2 -2
- package/dist/admin/chunks/{NoPermissionsPage-BAW7WY-M.mjs.map → NoPermissionsPage-RWPwNESA.mjs.map} +1 -1
- package/dist/admin/chunks/{Preview-B6ThL2SA.js → Preview-CCjSV5Iu.js} +118 -200
- package/dist/admin/chunks/Preview-CCjSV5Iu.js.map +1 -0
- package/dist/admin/chunks/{Preview-05BZGpV2.mjs → Preview-aVLT3LM_.mjs} +121 -203
- package/dist/admin/chunks/Preview-aVLT3LM_.mjs.map +1 -0
- package/dist/admin/chunks/{en-CImiNxXE.mjs → en-C2zEwS3-.mjs} +4 -1
- package/dist/admin/chunks/{en-CImiNxXE.mjs.map → en-C2zEwS3-.mjs.map} +1 -1
- package/dist/admin/chunks/{en-CLf4SuMQ.js → en-G976DLsg.js} +4 -1
- package/dist/admin/chunks/{en-CLf4SuMQ.js.map → en-G976DLsg.js.map} +1 -1
- package/dist/admin/chunks/{index-SQ88CePz.js → index-BA_JLxKS.js} +171 -117
- package/dist/admin/chunks/index-BA_JLxKS.js.map +1 -0
- package/dist/admin/chunks/{index-CcJLBLNf.mjs → index-CIOT3ggy.mjs} +170 -119
- package/dist/admin/chunks/index-CIOT3ggy.mjs.map +1 -0
- package/dist/admin/chunks/{layout-xxDnIsHG.js → layout-C510xcd6.js} +86 -13
- package/dist/admin/chunks/layout-C510xcd6.js.map +1 -0
- package/dist/admin/chunks/{layout-4nCaNnTs.mjs → layout-DjT9cccU.mjs} +78 -5
- package/dist/admin/chunks/layout-DjT9cccU.mjs.map +1 -0
- package/dist/admin/chunks/{useDragAndDrop-gcqEJMnO.js → objects-BJTP843m.js} +73 -1
- package/dist/admin/chunks/objects-BJTP843m.js.map +1 -0
- package/dist/admin/chunks/{useDragAndDrop-HYwNDExe.mjs → objects-D2z-IJgu.mjs} +72 -2
- package/dist/admin/chunks/objects-D2z-IJgu.mjs.map +1 -0
- package/dist/admin/chunks/{relations-VlsO9KQZ.js → usePrev-BglKW7a4.js} +18 -2
- package/dist/admin/chunks/usePrev-BglKW7a4.js.map +1 -0
- package/dist/admin/chunks/{relations-D1R7vM_e.mjs → usePrev-DAWUYIPh.mjs} +18 -4
- package/dist/admin/chunks/usePrev-DAWUYIPh.mjs.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/admin/src/features/DocumentContext.d.ts +53 -0
- package/dist/admin/src/features/DocumentRBAC.d.ts +3 -2
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +1 -1
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations/RelationModal.d.ts +8 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/{Relations.d.ts → Relations/Relations.d.ts} +9 -4
- package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +8 -3
- package/dist/admin/src/pages/EditView/components/InputRenderer.d.ts +7 -4
- package/dist/admin/src/preview/components/PreviewHeader.d.ts +1 -2
- package/dist/admin/src/preview/pages/Preview.d.ts +0 -2
- package/package.json +5 -5
- package/dist/admin/chunks/EditViewPage-BAI2r49P.mjs.map +0 -1
- package/dist/admin/chunks/EditViewPage-DpvonssD.js.map +0 -1
- package/dist/admin/chunks/History-C-_o7tz8.js.map +0 -1
- package/dist/admin/chunks/History-DClLuGIg.mjs.map +0 -1
- package/dist/admin/chunks/Input-BMLRZBE3.mjs.map +0 -1
- package/dist/admin/chunks/Input-Bv-rqfYH.js.map +0 -1
- package/dist/admin/chunks/Preview-05BZGpV2.mjs.map +0 -1
- package/dist/admin/chunks/Preview-B6ThL2SA.js.map +0 -1
- package/dist/admin/chunks/Relations-CJ0GWuqq.js +0 -1318
- package/dist/admin/chunks/Relations-CJ0GWuqq.js.map +0 -1
- package/dist/admin/chunks/Relations-CiOfFNxW.mjs +0 -1291
- package/dist/admin/chunks/Relations-CiOfFNxW.mjs.map +0 -1
- package/dist/admin/chunks/index-CcJLBLNf.mjs.map +0 -1
- package/dist/admin/chunks/index-SQ88CePz.js.map +0 -1
- package/dist/admin/chunks/layout-4nCaNnTs.mjs.map +0 -1
- package/dist/admin/chunks/layout-xxDnIsHG.js.map +0 -1
- package/dist/admin/chunks/objects-C3EebVVe.js +0 -76
- package/dist/admin/chunks/objects-C3EebVVe.js.map +0 -1
- package/dist/admin/chunks/objects-wl73iEma.mjs +0 -73
- package/dist/admin/chunks/objects-wl73iEma.mjs.map +0 -1
- package/dist/admin/chunks/relations-D1R7vM_e.mjs.map +0 -1
- package/dist/admin/chunks/relations-VlsO9KQZ.js.map +0 -1
- package/dist/admin/chunks/useDragAndDrop-HYwNDExe.mjs.map +0 -1
- package/dist/admin/chunks/useDragAndDrop-gcqEJMnO.js.map +0 -1
- package/dist/admin/chunks/usePrev-Bjw2dhmq.mjs +0 -18
- package/dist/admin/chunks/usePrev-Bjw2dhmq.mjs.map +0 -1
- package/dist/admin/chunks/usePrev-DIYl-IAL.js +0 -21
- package/dist/admin/chunks/usePrev-DIYl-IAL.js.map +0 -1
- package/dist/admin/src/preview/components/PreviewContent.d.ts +0 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ListConfigurationPage-D66hgG4-.js","sources":["../../../admin/src/pages/ListConfiguration/components/Header.tsx","../../../admin/src/pages/ListConfiguration/components/Settings.tsx","../../../admin/src/pages/ListConfiguration/components/EditFieldForm.tsx","../../../admin/src/pages/ListConfiguration/components/DraggableCard.tsx","../../../admin/src/pages/ListConfiguration/components/SortDisplayedFields.tsx","../../../admin/src/pages/ListConfiguration/ListConfigurationPage.tsx"],"sourcesContent":["import { useForm, BackButton, Layouts } from '@strapi/admin/strapi-admin';\nimport { Button } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { COLLECTION_TYPES } from '../../../constants/collections';\nimport { capitalise } from '../../../utils/strings';\nimport { getTranslation } from '../../../utils/translations';\n\ninterface HeaderProps {\n collectionType: string;\n name: string;\n model: string;\n}\n\nconst Header = ({ name }: HeaderProps) => {\n const { formatMessage } = useIntl();\n const params = useParams<{ slug: string }>();\n\n const modified = useForm('Header', (state) => state.modified);\n const isSubmitting = useForm('Header', (state) => state.isSubmitting);\n\n return (\n <Layouts.Header\n navigationAction={<BackButton fallback={`../${COLLECTION_TYPES}/${params.slug}`} />}\n primaryAction={\n <Button size=\"S\" disabled={!modified} type=\"submit\" loading={isSubmitting}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n subtitle={formatMessage({\n id: getTranslation('components.SettingsViewWrapper.pluginHeader.description.list-settings'),\n defaultMessage: 'Define the settings of the list view.',\n })}\n title={formatMessage(\n {\n id: getTranslation('components.SettingsViewWrapper.pluginHeader.title'),\n defaultMessage: 'Configure the view - {name}',\n },\n { name: capitalise(name) }\n )}\n />\n );\n};\n\nexport { Header };\nexport type { HeaderProps };\n","import * as React from 'react';\n\nimport { useForm, InputRenderer, type InputProps } from '@strapi/admin/strapi-admin';\nimport { Flex, Grid, Typography, useCollator } from '@strapi/design-system';\nimport { type MessageDescriptor, useIntl } from 'react-intl';\n\nimport { useDoc } from '../../../hooks/useDocument';\nimport { type EditFieldLayout } from '../../../hooks/useDocumentLayout';\nimport { getTranslation } from '../../../utils/translations';\nimport { type FormData } from '../ListConfigurationPage';\n\nimport type { DistributiveOmit } from 'react-redux';\n\nexport type InputPropsWithMessageDescriptors = DistributiveOmit<\n InputProps,\n 'hint' | 'label' | 'placeholder'\n> & {\n hint?: MessageDescriptor;\n label: MessageDescriptor;\n placeholder?: MessageDescriptor;\n};\n\n/**\n * @internal\n * @description Form inputs are always displayed in a grid, so we need\n * to use the size property to determine how many columns the input should\n * take up.\n */\nexport type FormLayoutInputProps = InputPropsWithMessageDescriptors & { size: number };\n\nconst EXCLUDED_SORT_ATTRIBUTE_TYPES = [\n 'media',\n 'richtext',\n 'dynamiczone',\n 'relation',\n 'component',\n 'json',\n 'blocks',\n];\n\ninterface SortOption {\n value: string;\n label: string;\n}\n\nconst Settings = () => {\n const { formatMessage, locale } = useIntl();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n const { schema } = useDoc();\n\n const layout = useForm<FormData['layout']>('Settings', (state) => state.values.layout ?? []);\n const currentSortBy = useForm<FormData['settings']['defaultSortBy']>(\n 'Settings',\n (state) => state.values.settings.defaultSortBy\n );\n const onChange = useForm('Settings', (state) => state.onChange);\n\n const sortOptions = React.useMemo(\n () =>\n Object.values(layout).reduce<SortOption[]>((acc, field) => {\n if (schema && !EXCLUDED_SORT_ATTRIBUTE_TYPES.includes(schema.attributes[field.name].type)) {\n acc.push({\n value: field.name,\n label: typeof field.label !== 'string' ? formatMessage(field.label) : field.label,\n });\n }\n\n return acc;\n }, []),\n [formatMessage, layout, schema]\n );\n\n const sortOptionsSorted = sortOptions.sort((a, b) => formatter.compare(a.label, b.label));\n\n React.useEffect(() => {\n if (sortOptionsSorted.findIndex((opt) => opt.value === currentSortBy) === -1) {\n onChange('settings.defaultSortBy', sortOptionsSorted[0]?.value);\n }\n }, [currentSortBy, onChange, sortOptionsSorted]);\n\n const formLayout = React.useMemo(\n () =>\n SETTINGS_FORM_LAYOUT.map((row) =>\n row.map((field) => {\n if (field.type === 'enumeration') {\n return {\n ...field,\n hint: field.hint ? formatMessage(field.hint) : undefined,\n label: formatMessage(field.label),\n options: field.name === 'settings.defaultSortBy' ? sortOptionsSorted : field.options,\n };\n } else {\n return {\n ...field,\n hint: field.hint ? formatMessage(field.hint) : undefined,\n label: formatMessage(field.label),\n };\n }\n })\n ) as [top: EditFieldLayout[], bottom: EditFieldLayout[]],\n [formatMessage, sortOptionsSorted]\n );\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTranslation('containers.SettingPage.settings'),\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid.Root key=\"bottom\" gap={4}>\n {formLayout.map((row) =>\n row.map(({ size, ...field }) => (\n <Grid.Item key={field.name} s={12} col={size} direction=\"column\" alignItems=\"stretch\">\n {/* @ts-expect-error – issue with EnumerationProps conflicting with InputProps */}\n <InputRenderer {...field} />\n </Grid.Item>\n ))\n )}\n </Grid.Root>\n </Flex>\n );\n};\n\nconst SETTINGS_FORM_LAYOUT: FormLayoutInputProps[][] = [\n [\n {\n label: {\n id: getTranslation('form.Input.search'),\n defaultMessage: 'Enable search',\n },\n name: 'settings.searchable',\n size: 4,\n type: 'boolean' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.filters'),\n defaultMessage: 'Enable filters',\n },\n name: 'settings.filterable',\n size: 4,\n type: 'boolean' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.bulkActions'),\n defaultMessage: 'Enable bulk actions',\n },\n name: 'settings.bulkable',\n size: 4,\n type: 'boolean' as const,\n },\n ],\n [\n {\n hint: {\n id: getTranslation('form.Input.pageEntries.inputDescription'),\n defaultMessage: 'Note: You can override this value in the Collection Type settings page.',\n },\n label: {\n id: getTranslation('form.Input.pageEntries'),\n defaultMessage: 'Entries per page',\n },\n name: 'settings.pageSize',\n options: ['10', '20', '50', '100'].map((value) => ({ value, label: value })),\n size: 6,\n type: 'enumeration' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.defaultSort'),\n defaultMessage: 'Default sort attribute',\n },\n name: 'settings.defaultSortBy',\n options: [],\n size: 3,\n type: 'enumeration' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.sort.order'),\n defaultMessage: 'Default sort order',\n },\n name: 'settings.defaultSortOrder',\n options: ['ASC', 'DESC'].map((value) => ({ value, label: value })),\n size: 3,\n type: 'enumeration' as const,\n },\n ],\n];\n\nexport { Settings };\n","import { Form, useField, InputRenderer, useNotification } from '@strapi/admin/strapi-admin';\nimport { Button, Flex, FlexComponent, Grid, Modal } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { FieldTypeIcon } from '../../../components/FieldTypeIcon';\nimport { capitalise } from '../../../utils/strings';\nimport { getTranslation } from '../../../utils/translations';\n\nimport type { ListFieldLayout } from '../../../hooks/useDocumentLayout';\nimport type { FormData } from '../ListConfigurationPage';\n\ninterface EditFieldFormProps extends Pick<ListFieldLayout, 'attribute'> {\n name: string;\n onClose: () => void;\n}\n\nconst FIELD_SCHEMA = yup.object().shape({\n label: yup.string().required(),\n sortable: yup.boolean(),\n});\n\nconst EditFieldForm = ({ attribute, name, onClose }: EditFieldFormProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n\n const { value, onChange } = useField<FormData['layout'][number]>(name);\n\n if (!value) {\n // This is very unlikely to happen, but it ensures the form is not opened without a value.\n console.error(\n \"You've opened a field to edit without it being part of the form, this is likely a bug with Strapi. Please open an issue.\"\n );\n\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.containers.list-settings.modal-form.error',\n defaultMessage: 'An error occurred while trying to open the form.',\n }),\n type: 'danger',\n });\n\n return null;\n }\n\n let shouldDisplaySortToggle = !['media', 'relation'].includes(attribute.type);\n\n if ('relation' in attribute && ['oneWay', 'oneToOne', 'manyToOne'].includes(attribute.relation)) {\n shouldDisplaySortToggle = true;\n }\n\n return (\n <Modal.Content>\n <Form\n method=\"PUT\"\n initialValues={value}\n validationSchema={FIELD_SCHEMA}\n onSubmit={(data) => {\n onChange(name, data);\n onClose();\n }}\n >\n <Modal.Header>\n <HeaderContainer>\n {/* @ts-expect-error attribute.type === custom does not work here */}\n <FieldTypeIcon type={attribute.type} />\n <Modal.Title>\n {formatMessage(\n {\n id: getTranslation('containers.list-settings.modal-form.label'),\n defaultMessage: 'Edit {fieldName}',\n },\n { fieldName: capitalise(value.label) }\n )}\n </Modal.Title>\n </HeaderContainer>\n </Modal.Header>\n <Modal.Body>\n <Grid.Root gap={4}>\n {[\n {\n name: 'label',\n label: formatMessage({\n id: getTranslation('form.Input.label'),\n defaultMessage: 'Label',\n }),\n hint: formatMessage({\n id: getTranslation('form.Input.label.inputDescription'),\n defaultMessage: \"This value overrides the label displayed in the table's head\",\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: getTranslation('form.Input.sort.field'),\n defaultMessage: 'Enable sort on this field',\n }),\n name: 'sortable',\n size: 6,\n type: 'boolean' as const,\n },\n ]\n .filter(\n (field) =>\n field.name !== 'sortable' ||\n (field.name === 'sortable' && shouldDisplaySortToggle)\n )\n .map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n s={12}\n col={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button type=\"submit\">\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Modal.Footer>\n </Form>\n </Modal.Content>\n );\n};\n\nconst HeaderContainer = styled<FlexComponent>(Flex)`\n svg {\n width: 3.2rem;\n margin-right: ${({ theme }) => theme.spaces[3]};\n }\n`;\n\nexport { EditFieldForm };\nexport type { EditFieldFormProps };\n","import * as React from 'react';\n\nimport {\n Box,\n BoxComponent,\n Flex,\n FlexComponent,\n Modal,\n Typography,\n useComposedRefs,\n} from '@strapi/design-system';\nimport { Cross, Drag, Pencil } from '@strapi/icons';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { CardDragPreview } from '../../../components/DragPreviews/CardDragPreview';\nimport { ItemTypes } from '../../../constants/dragAndDrop';\nimport { useDragAndDrop } from '../../../hooks/useDragAndDrop';\nimport { getTranslation } from '../../../utils/translations';\n\nimport { EditFieldForm } from './EditFieldForm';\n\nimport type { ListFieldLayout } from '../../../hooks/useDocumentLayout';\n\ntype DraggableCardProps = Omit<ListFieldLayout, 'label'> & {\n label: string;\n index: number;\n isDraggingSibling: boolean;\n onMoveField: (dragIndex: number, hoverIndex: number) => void;\n onRemoveField: () => void;\n setIsDraggingSibling: (isDragging: boolean) => void;\n};\n\nconst DraggableCard = ({\n attribute,\n index,\n isDraggingSibling,\n label,\n name,\n onMoveField,\n onRemoveField,\n setIsDraggingSibling,\n}: DraggableCardProps) => {\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n const [, forceRerenderAfterDnd] = React.useState(false);\n\n const [{ isDragging }, objectRef, dropRef, dragRef, dragPreviewRef] = useDragAndDrop(true, {\n type: ItemTypes.FIELD,\n item: { index, label, name },\n index,\n onMoveItem: onMoveField,\n onEnd: () => setIsDraggingSibling(false),\n });\n\n React.useEffect(() => {\n dragPreviewRef(getEmptyImage(), { captureDraggingState: false });\n }, [dragPreviewRef]);\n\n React.useEffect(() => {\n if (isDragging) {\n setIsDraggingSibling(true);\n }\n }, [isDragging, setIsDraggingSibling]);\n\n // Effect in order to force a rerender after reordering the components\n // Since we are removing the Accordion when doing the DnD we are losing the dragRef, therefore the replaced element cannot be dragged\n // anymore, this hack forces a rerender in order to apply the dragRef\n React.useEffect(() => {\n if (!isDraggingSibling) {\n forceRerenderAfterDnd((prev) => !prev);\n }\n }, [isDraggingSibling]);\n\n const composedRefs = useComposedRefs<HTMLButtonElement>(\n dropRef,\n objectRef as React.RefObject<HTMLButtonElement>\n );\n\n return (\n <FieldWrapper ref={composedRefs}>\n {isDragging && <CardDragPreview label={label} />}\n {!isDragging && isDraggingSibling && <CardDragPreview isSibling label={label} />}\n\n {!isDragging && !isDraggingSibling && (\n <FieldContainer\n borderColor=\"neutral150\"\n background=\"neutral100\"\n hasRadius\n justifyContent=\"space-between\"\n onClick={() => setIsModalOpen(true)}\n >\n <Flex gap={3}>\n <DragButton\n ref={dragRef}\n aria-label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.move.field'),\n defaultMessage: 'Move {item}',\n },\n { item: label }\n )}\n onClick={(e) => e.stopPropagation()}\n >\n <Drag />\n </DragButton>\n <Typography fontWeight=\"bold\">{label}</Typography>\n </Flex>\n <Flex paddingLeft={3} onClick={(e) => e.stopPropagation()}>\n <Modal.Root open={isModalOpen} onOpenChange={setIsModalOpen}>\n <Modal.Trigger>\n <ActionButton\n onClick={(e) => {\n e.stopPropagation();\n }}\n aria-label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.edit.field'),\n defaultMessage: 'Edit {item}',\n },\n { item: label }\n )}\n type=\"button\"\n >\n <Pencil width=\"1.2rem\" height=\"1.2rem\" />\n </ActionButton>\n </Modal.Trigger>\n <EditFieldForm\n attribute={attribute}\n name={`layout.${index}`}\n onClose={() => {\n setIsModalOpen(false);\n }}\n />\n </Modal.Root>\n <ActionButton\n onClick={onRemoveField}\n data-testid={`delete-${name}`}\n aria-label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.delete.field'),\n defaultMessage: 'Delete {item}',\n },\n { item: label }\n )}\n type=\"button\"\n >\n <Cross width=\"1.2rem\" height=\"1.2rem\" />\n </ActionButton>\n </Flex>\n </FieldContainer>\n )}\n </FieldWrapper>\n );\n};\n\nconst ActionButton = styled.button`\n display: flex;\n align-items: center;\n height: ${({ theme }) => theme.spaces[7]};\n color: ${({ theme }) => theme.colors.neutral600};\n\n &:hover {\n color: ${({ theme }) => theme.colors.neutral700};\n }\n\n &:last-child {\n padding: 0 ${({ theme }) => theme.spaces[3]};\n }\n`;\n\nconst DragButton = styled(ActionButton)`\n padding: 0 ${({ theme }) => theme.spaces[3]};\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n cursor: all-scroll;\n`;\n\nconst FieldContainer = styled<FlexComponent>(Flex)`\n max-height: 3.2rem;\n cursor: pointer;\n`;\n\nconst FieldWrapper = styled<BoxComponent>(Box)`\n &:last-child {\n padding-right: ${({ theme }) => theme.spaces[3]};\n }\n`;\n\nexport { DraggableCard };\nexport type { DraggableCardProps };\n","import * as React from 'react';\n\nimport { useForm } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, VisuallyHidden, Typography, Menu } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDoc } from '../../../hooks/useDocument';\nimport { useGetContentTypeConfigurationQuery } from '../../../services/contentTypes';\nimport { checkIfAttributeIsDisplayable } from '../../../utils/attributes';\nimport { getTranslation } from '../../../utils/translations';\n\nimport { DraggableCard, DraggableCardProps } from './DraggableCard';\n\nimport type { ListLayout } from '../../../hooks/useDocumentLayout';\nimport type { FormData } from '../ListConfigurationPage';\n\ninterface SortDisplayedFieldsProps extends Pick<ListLayout, 'layout'> {}\n\nconst SortDisplayedFields = () => {\n const { formatMessage } = useIntl();\n const { model, schema } = useDoc();\n const [isDraggingSibling, setIsDraggingSibling] = React.useState(false);\n const [lastAction, setLastAction] = React.useState<string | null>(null);\n const scrollableContainerRef = React.useRef<HTMLDivElement>(null);\n\n const values = useForm<FormData['layout']>(\n 'SortDisplayedFields',\n (state) => state.values.layout ?? []\n );\n const addFieldRow = useForm('SortDisplayedFields', (state) => state.addFieldRow);\n const removeFieldRow = useForm('SortDisplayedFields', (state) => state.removeFieldRow);\n const moveFieldRow = useForm('SortDisplayedFields', (state) => state.moveFieldRow);\n\n const { metadata: allMetadata } = useGetContentTypeConfigurationQuery(model, {\n selectFromResult: ({ data }) => ({ metadata: data?.contentType.metadatas ?? {} }),\n });\n\n /**\n * This is our list of fields that are not displayed in the current layout\n * so we create their default state to be added to the layout.\n */\n const nonDisplayedFields = React.useMemo(() => {\n if (!schema) {\n return [];\n }\n\n const displayedFieldNames = values.map((field) => field.name);\n\n return Object.entries(schema.attributes).reduce<Array<FormData['layout'][number]>>(\n (acc, [name, attribute]) => {\n if (!displayedFieldNames.includes(name) && checkIfAttributeIsDisplayable(attribute)) {\n const { list: metadata } = allMetadata[name];\n\n acc.push({\n name,\n label: metadata.label || name,\n sortable: metadata.sortable,\n });\n }\n\n return acc;\n },\n []\n );\n }, [allMetadata, values, schema]);\n\n const handleAddField = (field: FormData['layout'][number]) => {\n setLastAction('add');\n addFieldRow('layout', field);\n };\n\n const handleRemoveField = (index: number) => {\n setLastAction('remove');\n removeFieldRow('layout', index);\n };\n\n const handleMoveField: DraggableCardProps['onMoveField'] = (dragIndex, hoverIndex) => {\n moveFieldRow('layout', dragIndex, hoverIndex);\n };\n\n React.useEffect(() => {\n if (lastAction === 'add' && scrollableContainerRef?.current) {\n scrollableContainerRef.current.scrollLeft = scrollableContainerRef.current.scrollWidth;\n }\n }, [lastAction]);\n\n return (\n <Flex alignItems=\"stretch\" direction=\"column\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTranslation('containers.SettingPage.view'),\n defaultMessage: 'View',\n })}\n </Typography>\n\n <Flex padding={4} borderColor=\"neutral300\" borderStyle=\"dashed\" borderWidth=\"1px\" hasRadius>\n <Box flex=\"1\" overflow=\"auto hidden\" ref={scrollableContainerRef}>\n <Flex gap={3}>\n {values.map((field, index) => (\n <DraggableCard\n key={field.name}\n index={index}\n isDraggingSibling={isDraggingSibling}\n onMoveField={handleMoveField}\n onRemoveField={() => handleRemoveField(index)}\n setIsDraggingSibling={setIsDraggingSibling}\n {...field}\n attribute={schema!.attributes[field.name]}\n label={typeof field.label === 'object' ? formatMessage(field.label) : field.label}\n />\n ))}\n </Flex>\n </Box>\n\n <Menu.Root>\n <Menu.Trigger\n paddingLeft={2}\n paddingRight={2}\n justifyContent=\"center\"\n endIcon={null}\n disabled={nonDisplayedFields.length === 0}\n variant=\"tertiary\"\n >\n <VisuallyHidden tag=\"span\">\n {formatMessage({\n id: getTranslation('components.FieldSelect.label'),\n defaultMessage: 'Add a field',\n })}\n </VisuallyHidden>\n <Plus aria-hidden focusable={false} style={{ position: 'relative', top: 2 }} />\n </Menu.Trigger>\n <Menu.Content>\n {nonDisplayedFields.map((field) => (\n <Menu.Item key={field.name} onSelect={() => handleAddField(field)}>\n {typeof field.label === 'object' ? formatMessage(field.label) : field.label}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n </Flex>\n </Flex>\n );\n};\n\nexport { SortDisplayedFields };\nexport type { SortDisplayedFieldsProps };\n","import * as React from 'react';\n\nimport {\n Form,\n type FormProps,\n useNotification,\n useTracking,\n useAPIErrorHandler,\n Page,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { Divider, Flex, Main } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { Navigate } from 'react-router-dom';\n\nimport { SINGLE_TYPES } from '../../constants/collections';\nimport { useDoc } from '../../hooks/useDocument';\nimport { ListFieldLayout, ListLayout, useDocLayout } from '../../hooks/useDocumentLayout';\nimport { useTypedSelector } from '../../modules/hooks';\nimport { useUpdateContentTypeConfigurationMutation } from '../../services/contentTypes';\nimport { setIn } from '../../utils/objects';\n\nimport { Header } from './components/Header';\nimport { Settings } from './components/Settings';\nimport { SortDisplayedFields } from './components/SortDisplayedFields';\n\nimport type { Metadatas } from '../../../../shared/contracts/content-types';\n\ninterface FormData extends Pick<ListLayout, 'settings'> {\n layout: Array<Pick<ListFieldLayout, 'sortable' | 'name'> & { label: string }>;\n}\n\nconst ListConfiguration = () => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { model, collectionType } = useDoc();\n\n const { isLoading: isLoadingLayout, list, edit } = useDocLayout();\n\n const [updateContentTypeConfiguration] = useUpdateContentTypeConfigurationMutation();\n const handleSubmit: FormProps<FormData>['onSubmit'] = async (data) => {\n try {\n trackUsage('willSaveContentTypeLayout');\n const layoutData = data.layout ?? [];\n /**\n * We reconstruct the metadatas object by taking the existing edit metadatas\n * and re-merging that by attribute name with the current list metadatas, whilst overwriting\n * the data from the form we've built.\n */\n const meta = Object.entries(edit.metadatas).reduce<Metadatas>((acc, [name, editMeta]) => {\n const { mainField: _mainField, ...listMeta } = list.metadatas[name];\n\n const { label, sortable } = layoutData.find((field) => field.name === name) ?? {};\n\n acc[name] = {\n edit: editMeta,\n list: {\n ...listMeta,\n label: label || listMeta.label,\n sortable: sortable || listMeta.sortable,\n },\n };\n\n return acc;\n }, {});\n\n const res = await updateContentTypeConfiguration({\n layouts: {\n edit: edit.layout.flatMap((panel) =>\n panel.map((row) => row.map(({ name, size }) => ({ name, size })))\n ),\n list: layoutData.map((field) => field.name),\n },\n settings: setIn(data.settings, 'displayName', undefined),\n metadatas: meta,\n uid: model,\n });\n\n if ('data' in res) {\n trackUsage('didEditListSettings');\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch (err) {\n console.error(err);\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n const initialValues = React.useMemo(() => {\n return {\n layout: list.layout.map(({ label, sortable, name }) => ({\n label: typeof label === 'string' ? label : formatMessage(label),\n sortable,\n name,\n })),\n settings: list.settings,\n } satisfies FormData;\n }, [formatMessage, list.layout, list.settings]);\n\n if (collectionType === SINGLE_TYPES) {\n return <Navigate to={`/single-types/${model}`} />;\n }\n\n if (isLoadingLayout) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>{`Configure ${list.settings.displayName} List View`}</Page.Title>\n <Main>\n <Form initialValues={initialValues} onSubmit={handleSubmit} method=\"PUT\">\n <Header\n collectionType={collectionType}\n model={model}\n name={list.settings.displayName ?? ''}\n />\n <Layouts.Content>\n <Flex\n alignItems=\"stretch\"\n background=\"neutral0\"\n direction=\"column\"\n gap={6}\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Settings />\n <Divider />\n <SortDisplayedFields />\n </Flex>\n </Layouts.Content>\n </Form>\n </Main>\n </Layouts.Root>\n );\n};\n\nconst ProtectedListConfiguration = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.contentManager?.collectionTypesConfigurations\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListConfiguration />\n </Page.Protect>\n );\n};\n\nexport { ProtectedListConfiguration, ListConfiguration };\nexport type { FormData };\n"],"names":["Header","name","formatMessage","useIntl","params","useParams","modified","useForm","state","isSubmitting","_jsx","Layouts","navigationAction","BackButton","fallback","COLLECTION_TYPES","slug","primaryAction","Button","size","disabled","type","loading","id","defaultMessage","subtitle","getTranslation","title","capitalise","EXCLUDED_SORT_ATTRIBUTE_TYPES","Settings","locale","formatter","useCollator","sensitivity","schema","useDoc","layout","values","currentSortBy","settings","defaultSortBy","onChange","sortOptions","React","useMemo","Object","reduce","acc","field","includes","attributes","push","value","label","sortOptionsSorted","sort","a","b","compare","useEffect","findIndex","opt","formLayout","SETTINGS_FORM_LAYOUT","map","row","hint","undefined","options","_jsxs","Flex","direction","alignItems","gap","Typography","variant","tag","Grid","Root","Item","s","col","InputRenderer","FIELD_SCHEMA","yup","object","shape","string","required","sortable","boolean","EditFieldForm","attribute","onClose","toggleNotification","useNotification","useField","console","error","message","shouldDisplaySortToggle","relation","Modal","Content","Form","method","initialValues","validationSchema","onSubmit","data","HeaderContainer","FieldTypeIcon","Title","fieldName","Body","filter","Footer","onClick","styled","theme","spaces","DraggableCard","index","isDraggingSibling","onMoveField","onRemoveField","setIsDraggingSibling","isModalOpen","setIsModalOpen","useState","forceRerenderAfterDnd","isDragging","objectRef","dropRef","dragRef","dragPreviewRef","useDragAndDrop","ItemTypes","FIELD","item","onMoveItem","onEnd","getEmptyImage","captureDraggingState","prev","composedRefs","useComposedRefs","FieldWrapper","ref","CardDragPreview","isSibling","FieldContainer","borderColor","background","hasRadius","justifyContent","DragButton","aria-label","e","stopPropagation","Drag","fontWeight","paddingLeft","open","onOpenChange","Trigger","ActionButton","Pencil","width","height","data-testid","Cross","button","colors","neutral600","neutral700","neutral150","Box","SortDisplayedFields","model","lastAction","setLastAction","scrollableContainerRef","useRef","addFieldRow","removeFieldRow","moveFieldRow","metadata","allMetadata","useGetContentTypeConfigurationQuery","selectFromResult","contentType","metadatas","nonDisplayedFields","displayedFieldNames","entries","checkIfAttributeIsDisplayable","list","handleAddField","handleRemoveField","handleMoveField","dragIndex","hoverIndex","current","scrollLeft","scrollWidth","padding","borderStyle","borderWidth","flex","overflow","Menu","paddingRight","endIcon","length","VisuallyHidden","Plus","aria-hidden","focusable","style","position","top","onSelect","ListConfiguration","trackUsage","useTracking","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","collectionType","isLoading","isLoadingLayout","edit","useDocLayout","updateContentTypeConfiguration","useUpdateContentTypeConfigurationMutation","handleSubmit","layoutData","meta","editMeta","mainField","_mainField","listMeta","find","res","layouts","flatMap","panel","setIn","uid","err","SINGLE_TYPES","Navigate","to","Page","Loading","displayName","Main","shadow","paddingTop","paddingBottom","Divider","ProtectedListConfiguration","permissions","useTypedSelector","admin_app","contentManager","collectionTypesConfigurations","Protect"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ListConfigurationPage-DlQ2pLyr.js","sources":["../../../admin/src/pages/ListConfiguration/components/Header.tsx","../../../admin/src/pages/ListConfiguration/components/Settings.tsx","../../../admin/src/pages/ListConfiguration/components/EditFieldForm.tsx","../../../admin/src/pages/ListConfiguration/components/DraggableCard.tsx","../../../admin/src/pages/ListConfiguration/components/SortDisplayedFields.tsx","../../../admin/src/pages/ListConfiguration/ListConfigurationPage.tsx"],"sourcesContent":["import { useForm, BackButton, Layouts } from '@strapi/admin/strapi-admin';\nimport { Button } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { useParams } from 'react-router-dom';\n\nimport { COLLECTION_TYPES } from '../../../constants/collections';\nimport { capitalise } from '../../../utils/strings';\nimport { getTranslation } from '../../../utils/translations';\n\ninterface HeaderProps {\n collectionType: string;\n name: string;\n model: string;\n}\n\nconst Header = ({ name }: HeaderProps) => {\n const { formatMessage } = useIntl();\n const params = useParams<{ slug: string }>();\n\n const modified = useForm('Header', (state) => state.modified);\n const isSubmitting = useForm('Header', (state) => state.isSubmitting);\n\n return (\n <Layouts.Header\n navigationAction={<BackButton fallback={`../${COLLECTION_TYPES}/${params.slug}`} />}\n primaryAction={\n <Button size=\"S\" disabled={!modified} type=\"submit\" loading={isSubmitting}>\n {formatMessage({ id: 'global.save', defaultMessage: 'Save' })}\n </Button>\n }\n subtitle={formatMessage({\n id: getTranslation('components.SettingsViewWrapper.pluginHeader.description.list-settings'),\n defaultMessage: 'Define the settings of the list view.',\n })}\n title={formatMessage(\n {\n id: getTranslation('components.SettingsViewWrapper.pluginHeader.title'),\n defaultMessage: 'Configure the view - {name}',\n },\n { name: capitalise(name) }\n )}\n />\n );\n};\n\nexport { Header };\nexport type { HeaderProps };\n","import * as React from 'react';\n\nimport { useForm, InputRenderer, type InputProps } from '@strapi/admin/strapi-admin';\nimport { Flex, Grid, Typography, useCollator } from '@strapi/design-system';\nimport { type MessageDescriptor, useIntl } from 'react-intl';\n\nimport { useDoc } from '../../../hooks/useDocument';\nimport { type EditFieldLayout } from '../../../hooks/useDocumentLayout';\nimport { getTranslation } from '../../../utils/translations';\nimport { type FormData } from '../ListConfigurationPage';\n\nimport type { DistributiveOmit } from 'react-redux';\n\nexport type InputPropsWithMessageDescriptors = DistributiveOmit<\n InputProps,\n 'hint' | 'label' | 'placeholder'\n> & {\n hint?: MessageDescriptor;\n label: MessageDescriptor;\n placeholder?: MessageDescriptor;\n};\n\n/**\n * @internal\n * @description Form inputs are always displayed in a grid, so we need\n * to use the size property to determine how many columns the input should\n * take up.\n */\nexport type FormLayoutInputProps = InputPropsWithMessageDescriptors & { size: number };\n\nconst EXCLUDED_SORT_ATTRIBUTE_TYPES = [\n 'media',\n 'richtext',\n 'dynamiczone',\n 'relation',\n 'component',\n 'json',\n 'blocks',\n];\n\ninterface SortOption {\n value: string;\n label: string;\n}\n\nconst Settings = () => {\n const { formatMessage, locale } = useIntl();\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n const { schema } = useDoc();\n\n const layout = useForm<FormData['layout']>('Settings', (state) => state.values.layout ?? []);\n const currentSortBy = useForm<FormData['settings']['defaultSortBy']>(\n 'Settings',\n (state) => state.values.settings.defaultSortBy\n );\n const onChange = useForm('Settings', (state) => state.onChange);\n\n const sortOptions = React.useMemo(\n () =>\n Object.values(layout).reduce<SortOption[]>((acc, field) => {\n if (schema && !EXCLUDED_SORT_ATTRIBUTE_TYPES.includes(schema.attributes[field.name].type)) {\n acc.push({\n value: field.name,\n label: typeof field.label !== 'string' ? formatMessage(field.label) : field.label,\n });\n }\n\n return acc;\n }, []),\n [formatMessage, layout, schema]\n );\n\n const sortOptionsSorted = sortOptions.sort((a, b) => formatter.compare(a.label, b.label));\n\n React.useEffect(() => {\n if (sortOptionsSorted.findIndex((opt) => opt.value === currentSortBy) === -1) {\n onChange('settings.defaultSortBy', sortOptionsSorted[0]?.value);\n }\n }, [currentSortBy, onChange, sortOptionsSorted]);\n\n const formLayout = React.useMemo(\n () =>\n SETTINGS_FORM_LAYOUT.map((row) =>\n row.map((field) => {\n if (field.type === 'enumeration') {\n return {\n ...field,\n hint: field.hint ? formatMessage(field.hint) : undefined,\n label: formatMessage(field.label),\n options: field.name === 'settings.defaultSortBy' ? sortOptionsSorted : field.options,\n };\n } else {\n return {\n ...field,\n hint: field.hint ? formatMessage(field.hint) : undefined,\n label: formatMessage(field.label),\n };\n }\n })\n ) as [top: EditFieldLayout[], bottom: EditFieldLayout[]],\n [formatMessage, sortOptionsSorted]\n );\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTranslation('containers.SettingPage.settings'),\n defaultMessage: 'Settings',\n })}\n </Typography>\n <Grid.Root key=\"bottom\" gap={4}>\n {formLayout.map((row) =>\n row.map(({ size, ...field }) => (\n <Grid.Item key={field.name} s={12} col={size} direction=\"column\" alignItems=\"stretch\">\n {/* @ts-expect-error – issue with EnumerationProps conflicting with InputProps */}\n <InputRenderer {...field} />\n </Grid.Item>\n ))\n )}\n </Grid.Root>\n </Flex>\n );\n};\n\nconst SETTINGS_FORM_LAYOUT: FormLayoutInputProps[][] = [\n [\n {\n label: {\n id: getTranslation('form.Input.search'),\n defaultMessage: 'Enable search',\n },\n name: 'settings.searchable',\n size: 4,\n type: 'boolean' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.filters'),\n defaultMessage: 'Enable filters',\n },\n name: 'settings.filterable',\n size: 4,\n type: 'boolean' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.bulkActions'),\n defaultMessage: 'Enable bulk actions',\n },\n name: 'settings.bulkable',\n size: 4,\n type: 'boolean' as const,\n },\n ],\n [\n {\n hint: {\n id: getTranslation('form.Input.pageEntries.inputDescription'),\n defaultMessage: 'Note: You can override this value in the Collection Type settings page.',\n },\n label: {\n id: getTranslation('form.Input.pageEntries'),\n defaultMessage: 'Entries per page',\n },\n name: 'settings.pageSize',\n options: ['10', '20', '50', '100'].map((value) => ({ value, label: value })),\n size: 6,\n type: 'enumeration' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.defaultSort'),\n defaultMessage: 'Default sort attribute',\n },\n name: 'settings.defaultSortBy',\n options: [],\n size: 3,\n type: 'enumeration' as const,\n },\n {\n label: {\n id: getTranslation('form.Input.sort.order'),\n defaultMessage: 'Default sort order',\n },\n name: 'settings.defaultSortOrder',\n options: ['ASC', 'DESC'].map((value) => ({ value, label: value })),\n size: 3,\n type: 'enumeration' as const,\n },\n ],\n];\n\nexport { Settings };\n","import { Form, useField, InputRenderer, useNotification } from '@strapi/admin/strapi-admin';\nimport { Button, Flex, FlexComponent, Grid, Modal } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\nimport * as yup from 'yup';\n\nimport { FieldTypeIcon } from '../../../components/FieldTypeIcon';\nimport { capitalise } from '../../../utils/strings';\nimport { getTranslation } from '../../../utils/translations';\n\nimport type { ListFieldLayout } from '../../../hooks/useDocumentLayout';\nimport type { FormData } from '../ListConfigurationPage';\n\ninterface EditFieldFormProps extends Pick<ListFieldLayout, 'attribute'> {\n name: string;\n onClose: () => void;\n}\n\nconst FIELD_SCHEMA = yup.object().shape({\n label: yup.string().required(),\n sortable: yup.boolean(),\n});\n\nconst EditFieldForm = ({ attribute, name, onClose }: EditFieldFormProps) => {\n const { formatMessage } = useIntl();\n const { toggleNotification } = useNotification();\n\n const { value, onChange } = useField<FormData['layout'][number]>(name);\n\n if (!value) {\n // This is very unlikely to happen, but it ensures the form is not opened without a value.\n console.error(\n \"You've opened a field to edit without it being part of the form, this is likely a bug with Strapi. Please open an issue.\"\n );\n\n toggleNotification({\n message: formatMessage({\n id: 'content-manager.containers.list-settings.modal-form.error',\n defaultMessage: 'An error occurred while trying to open the form.',\n }),\n type: 'danger',\n });\n\n return null;\n }\n\n let shouldDisplaySortToggle = !['media', 'relation'].includes(attribute.type);\n\n if ('relation' in attribute && ['oneWay', 'oneToOne', 'manyToOne'].includes(attribute.relation)) {\n shouldDisplaySortToggle = true;\n }\n\n return (\n <Modal.Content>\n <Form\n method=\"PUT\"\n initialValues={value}\n validationSchema={FIELD_SCHEMA}\n onSubmit={(data) => {\n onChange(name, data);\n onClose();\n }}\n >\n <Modal.Header>\n <HeaderContainer>\n {/* @ts-expect-error attribute.type === custom does not work here */}\n <FieldTypeIcon type={attribute.type} />\n <Modal.Title>\n {formatMessage(\n {\n id: getTranslation('containers.list-settings.modal-form.label'),\n defaultMessage: 'Edit {fieldName}',\n },\n { fieldName: capitalise(value.label) }\n )}\n </Modal.Title>\n </HeaderContainer>\n </Modal.Header>\n <Modal.Body>\n <Grid.Root gap={4}>\n {[\n {\n name: 'label',\n label: formatMessage({\n id: getTranslation('form.Input.label'),\n defaultMessage: 'Label',\n }),\n hint: formatMessage({\n id: getTranslation('form.Input.label.inputDescription'),\n defaultMessage: \"This value overrides the label displayed in the table's head\",\n }),\n size: 6,\n type: 'string' as const,\n },\n {\n label: formatMessage({\n id: getTranslation('form.Input.sort.field'),\n defaultMessage: 'Enable sort on this field',\n }),\n name: 'sortable',\n size: 6,\n type: 'boolean' as const,\n },\n ]\n .filter(\n (field) =>\n field.name !== 'sortable' ||\n (field.name === 'sortable' && shouldDisplaySortToggle)\n )\n .map(({ size, ...field }) => (\n <Grid.Item\n key={field.name}\n s={12}\n col={size}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <InputRenderer {...field} />\n </Grid.Item>\n ))}\n </Grid.Root>\n </Modal.Body>\n <Modal.Footer>\n <Button onClick={onClose} variant=\"tertiary\">\n {formatMessage({ id: 'app.components.Button.cancel', defaultMessage: 'Cancel' })}\n </Button>\n <Button type=\"submit\">\n {formatMessage({ id: 'global.finish', defaultMessage: 'Finish' })}\n </Button>\n </Modal.Footer>\n </Form>\n </Modal.Content>\n );\n};\n\nconst HeaderContainer = styled<FlexComponent>(Flex)`\n svg {\n width: 3.2rem;\n margin-right: ${({ theme }) => theme.spaces[3]};\n }\n`;\n\nexport { EditFieldForm };\nexport type { EditFieldFormProps };\n","import * as React from 'react';\n\nimport {\n Box,\n BoxComponent,\n Flex,\n FlexComponent,\n Modal,\n Typography,\n useComposedRefs,\n} from '@strapi/design-system';\nimport { Cross, Drag, Pencil } from '@strapi/icons';\nimport { getEmptyImage } from 'react-dnd-html5-backend';\nimport { useIntl } from 'react-intl';\nimport { styled } from 'styled-components';\n\nimport { CardDragPreview } from '../../../components/DragPreviews/CardDragPreview';\nimport { ItemTypes } from '../../../constants/dragAndDrop';\nimport { useDragAndDrop } from '../../../hooks/useDragAndDrop';\nimport { getTranslation } from '../../../utils/translations';\n\nimport { EditFieldForm } from './EditFieldForm';\n\nimport type { ListFieldLayout } from '../../../hooks/useDocumentLayout';\n\ntype DraggableCardProps = Omit<ListFieldLayout, 'label'> & {\n label: string;\n index: number;\n isDraggingSibling: boolean;\n onMoveField: (dragIndex: number, hoverIndex: number) => void;\n onRemoveField: () => void;\n setIsDraggingSibling: (isDragging: boolean) => void;\n};\n\nconst DraggableCard = ({\n attribute,\n index,\n isDraggingSibling,\n label,\n name,\n onMoveField,\n onRemoveField,\n setIsDraggingSibling,\n}: DraggableCardProps) => {\n const [isModalOpen, setIsModalOpen] = React.useState(false);\n const { formatMessage } = useIntl();\n const [, forceRerenderAfterDnd] = React.useState(false);\n\n const [{ isDragging }, objectRef, dropRef, dragRef, dragPreviewRef] = useDragAndDrop(true, {\n type: ItemTypes.FIELD,\n item: { index, label, name },\n index,\n onMoveItem: onMoveField,\n onEnd: () => setIsDraggingSibling(false),\n });\n\n React.useEffect(() => {\n dragPreviewRef(getEmptyImage(), { captureDraggingState: false });\n }, [dragPreviewRef]);\n\n React.useEffect(() => {\n if (isDragging) {\n setIsDraggingSibling(true);\n }\n }, [isDragging, setIsDraggingSibling]);\n\n // Effect in order to force a rerender after reordering the components\n // Since we are removing the Accordion when doing the DnD we are losing the dragRef, therefore the replaced element cannot be dragged\n // anymore, this hack forces a rerender in order to apply the dragRef\n React.useEffect(() => {\n if (!isDraggingSibling) {\n forceRerenderAfterDnd((prev) => !prev);\n }\n }, [isDraggingSibling]);\n\n const composedRefs = useComposedRefs<HTMLButtonElement>(\n dropRef,\n objectRef as React.RefObject<HTMLButtonElement>\n );\n\n return (\n <FieldWrapper ref={composedRefs}>\n {isDragging && <CardDragPreview label={label} />}\n {!isDragging && isDraggingSibling && <CardDragPreview isSibling label={label} />}\n\n {!isDragging && !isDraggingSibling && (\n <FieldContainer\n borderColor=\"neutral150\"\n background=\"neutral100\"\n hasRadius\n justifyContent=\"space-between\"\n onClick={() => setIsModalOpen(true)}\n >\n <Flex gap={3}>\n <DragButton\n ref={dragRef}\n aria-label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.move.field'),\n defaultMessage: 'Move {item}',\n },\n { item: label }\n )}\n onClick={(e) => e.stopPropagation()}\n >\n <Drag />\n </DragButton>\n <Typography fontWeight=\"bold\">{label}</Typography>\n </Flex>\n <Flex paddingLeft={3} onClick={(e) => e.stopPropagation()}>\n <Modal.Root open={isModalOpen} onOpenChange={setIsModalOpen}>\n <Modal.Trigger>\n <ActionButton\n onClick={(e) => {\n e.stopPropagation();\n }}\n aria-label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.edit.field'),\n defaultMessage: 'Edit {item}',\n },\n { item: label }\n )}\n type=\"button\"\n >\n <Pencil width=\"1.2rem\" height=\"1.2rem\" />\n </ActionButton>\n </Modal.Trigger>\n <EditFieldForm\n attribute={attribute}\n name={`layout.${index}`}\n onClose={() => {\n setIsModalOpen(false);\n }}\n />\n </Modal.Root>\n <ActionButton\n onClick={onRemoveField}\n data-testid={`delete-${name}`}\n aria-label={formatMessage(\n {\n id: getTranslation('components.DraggableCard.delete.field'),\n defaultMessage: 'Delete {item}',\n },\n { item: label }\n )}\n type=\"button\"\n >\n <Cross width=\"1.2rem\" height=\"1.2rem\" />\n </ActionButton>\n </Flex>\n </FieldContainer>\n )}\n </FieldWrapper>\n );\n};\n\nconst ActionButton = styled.button`\n display: flex;\n align-items: center;\n height: ${({ theme }) => theme.spaces[7]};\n color: ${({ theme }) => theme.colors.neutral600};\n\n &:hover {\n color: ${({ theme }) => theme.colors.neutral700};\n }\n\n &:last-child {\n padding: 0 ${({ theme }) => theme.spaces[3]};\n }\n`;\n\nconst DragButton = styled(ActionButton)`\n padding: 0 ${({ theme }) => theme.spaces[3]};\n border-right: 1px solid ${({ theme }) => theme.colors.neutral150};\n cursor: all-scroll;\n`;\n\nconst FieldContainer = styled<FlexComponent>(Flex)`\n max-height: 3.2rem;\n cursor: pointer;\n`;\n\nconst FieldWrapper = styled<BoxComponent>(Box)`\n &:last-child {\n padding-right: ${({ theme }) => theme.spaces[3]};\n }\n`;\n\nexport { DraggableCard };\nexport type { DraggableCardProps };\n","import * as React from 'react';\n\nimport { useForm } from '@strapi/admin/strapi-admin';\nimport { Box, Flex, VisuallyHidden, Typography, Menu } from '@strapi/design-system';\nimport { Plus } from '@strapi/icons';\nimport { useIntl } from 'react-intl';\n\nimport { useDoc } from '../../../hooks/useDocument';\nimport { useGetContentTypeConfigurationQuery } from '../../../services/contentTypes';\nimport { checkIfAttributeIsDisplayable } from '../../../utils/attributes';\nimport { getTranslation } from '../../../utils/translations';\n\nimport { DraggableCard, DraggableCardProps } from './DraggableCard';\n\nimport type { ListLayout } from '../../../hooks/useDocumentLayout';\nimport type { FormData } from '../ListConfigurationPage';\n\ninterface SortDisplayedFieldsProps extends Pick<ListLayout, 'layout'> {}\n\nconst SortDisplayedFields = () => {\n const { formatMessage } = useIntl();\n const { model, schema } = useDoc();\n const [isDraggingSibling, setIsDraggingSibling] = React.useState(false);\n const [lastAction, setLastAction] = React.useState<string | null>(null);\n const scrollableContainerRef = React.useRef<HTMLDivElement>(null);\n\n const values = useForm<FormData['layout']>(\n 'SortDisplayedFields',\n (state) => state.values.layout ?? []\n );\n const addFieldRow = useForm('SortDisplayedFields', (state) => state.addFieldRow);\n const removeFieldRow = useForm('SortDisplayedFields', (state) => state.removeFieldRow);\n const moveFieldRow = useForm('SortDisplayedFields', (state) => state.moveFieldRow);\n\n const { metadata: allMetadata } = useGetContentTypeConfigurationQuery(model, {\n selectFromResult: ({ data }) => ({ metadata: data?.contentType.metadatas ?? {} }),\n });\n\n /**\n * This is our list of fields that are not displayed in the current layout\n * so we create their default state to be added to the layout.\n */\n const nonDisplayedFields = React.useMemo(() => {\n if (!schema) {\n return [];\n }\n\n const displayedFieldNames = values.map((field) => field.name);\n\n return Object.entries(schema.attributes).reduce<Array<FormData['layout'][number]>>(\n (acc, [name, attribute]) => {\n if (!displayedFieldNames.includes(name) && checkIfAttributeIsDisplayable(attribute)) {\n const { list: metadata } = allMetadata[name];\n\n acc.push({\n name,\n label: metadata.label || name,\n sortable: metadata.sortable,\n });\n }\n\n return acc;\n },\n []\n );\n }, [allMetadata, values, schema]);\n\n const handleAddField = (field: FormData['layout'][number]) => {\n setLastAction('add');\n addFieldRow('layout', field);\n };\n\n const handleRemoveField = (index: number) => {\n setLastAction('remove');\n removeFieldRow('layout', index);\n };\n\n const handleMoveField: DraggableCardProps['onMoveField'] = (dragIndex, hoverIndex) => {\n moveFieldRow('layout', dragIndex, hoverIndex);\n };\n\n React.useEffect(() => {\n if (lastAction === 'add' && scrollableContainerRef?.current) {\n scrollableContainerRef.current.scrollLeft = scrollableContainerRef.current.scrollWidth;\n }\n }, [lastAction]);\n\n return (\n <Flex alignItems=\"stretch\" direction=\"column\" gap={4}>\n <Typography variant=\"delta\" tag=\"h2\">\n {formatMessage({\n id: getTranslation('containers.SettingPage.view'),\n defaultMessage: 'View',\n })}\n </Typography>\n\n <Flex padding={4} borderColor=\"neutral300\" borderStyle=\"dashed\" borderWidth=\"1px\" hasRadius>\n <Box flex=\"1\" overflow=\"auto hidden\" ref={scrollableContainerRef}>\n <Flex gap={3}>\n {values.map((field, index) => (\n <DraggableCard\n key={field.name}\n index={index}\n isDraggingSibling={isDraggingSibling}\n onMoveField={handleMoveField}\n onRemoveField={() => handleRemoveField(index)}\n setIsDraggingSibling={setIsDraggingSibling}\n {...field}\n attribute={schema!.attributes[field.name]}\n label={typeof field.label === 'object' ? formatMessage(field.label) : field.label}\n />\n ))}\n </Flex>\n </Box>\n\n <Menu.Root>\n <Menu.Trigger\n paddingLeft={2}\n paddingRight={2}\n justifyContent=\"center\"\n endIcon={null}\n disabled={nonDisplayedFields.length === 0}\n variant=\"tertiary\"\n >\n <VisuallyHidden tag=\"span\">\n {formatMessage({\n id: getTranslation('components.FieldSelect.label'),\n defaultMessage: 'Add a field',\n })}\n </VisuallyHidden>\n <Plus aria-hidden focusable={false} style={{ position: 'relative', top: 2 }} />\n </Menu.Trigger>\n <Menu.Content>\n {nonDisplayedFields.map((field) => (\n <Menu.Item key={field.name} onSelect={() => handleAddField(field)}>\n {typeof field.label === 'object' ? formatMessage(field.label) : field.label}\n </Menu.Item>\n ))}\n </Menu.Content>\n </Menu.Root>\n </Flex>\n </Flex>\n );\n};\n\nexport { SortDisplayedFields };\nexport type { SortDisplayedFieldsProps };\n","import * as React from 'react';\n\nimport {\n Form,\n type FormProps,\n useNotification,\n useTracking,\n useAPIErrorHandler,\n Page,\n Layouts,\n} from '@strapi/admin/strapi-admin';\nimport { Divider, Flex, Main } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\nimport { Navigate } from 'react-router-dom';\n\nimport { SINGLE_TYPES } from '../../constants/collections';\nimport { useDoc } from '../../hooks/useDocument';\nimport { ListFieldLayout, ListLayout, useDocLayout } from '../../hooks/useDocumentLayout';\nimport { useTypedSelector } from '../../modules/hooks';\nimport { useUpdateContentTypeConfigurationMutation } from '../../services/contentTypes';\nimport { setIn } from '../../utils/objects';\n\nimport { Header } from './components/Header';\nimport { Settings } from './components/Settings';\nimport { SortDisplayedFields } from './components/SortDisplayedFields';\n\nimport type { Metadatas } from '../../../../shared/contracts/content-types';\n\ninterface FormData extends Pick<ListLayout, 'settings'> {\n layout: Array<Pick<ListFieldLayout, 'sortable' | 'name'> & { label: string }>;\n}\n\nconst ListConfiguration = () => {\n const { formatMessage } = useIntl();\n const { trackUsage } = useTracking();\n const { toggleNotification } = useNotification();\n const { _unstableFormatAPIError: formatAPIError } = useAPIErrorHandler();\n\n const { model, collectionType } = useDoc();\n\n const { isLoading: isLoadingLayout, list, edit } = useDocLayout();\n\n const [updateContentTypeConfiguration] = useUpdateContentTypeConfigurationMutation();\n const handleSubmit: FormProps<FormData>['onSubmit'] = async (data) => {\n try {\n trackUsage('willSaveContentTypeLayout');\n const layoutData = data.layout ?? [];\n /**\n * We reconstruct the metadatas object by taking the existing edit metadatas\n * and re-merging that by attribute name with the current list metadatas, whilst overwriting\n * the data from the form we've built.\n */\n const meta = Object.entries(edit.metadatas).reduce<Metadatas>((acc, [name, editMeta]) => {\n const { mainField: _mainField, ...listMeta } = list.metadatas[name];\n\n const { label, sortable } = layoutData.find((field) => field.name === name) ?? {};\n\n acc[name] = {\n edit: editMeta,\n list: {\n ...listMeta,\n label: label || listMeta.label,\n sortable: sortable || listMeta.sortable,\n },\n };\n\n return acc;\n }, {});\n\n const res = await updateContentTypeConfiguration({\n layouts: {\n edit: edit.layout.flatMap((panel) =>\n panel.map((row) => row.map(({ name, size }) => ({ name, size })))\n ),\n list: layoutData.map((field) => field.name),\n },\n settings: setIn(data.settings, 'displayName', undefined),\n metadatas: meta,\n uid: model,\n });\n\n if ('data' in res) {\n trackUsage('didEditListSettings');\n toggleNotification({\n type: 'success',\n message: formatMessage({ id: 'notification.success.saved', defaultMessage: 'Saved' }),\n });\n } else {\n toggleNotification({\n type: 'danger',\n message: formatAPIError(res.error),\n });\n }\n } catch (err) {\n console.error(err);\n toggleNotification({\n type: 'danger',\n message: formatMessage({ id: 'notification.error', defaultMessage: 'An error occurred' }),\n });\n }\n };\n\n const initialValues = React.useMemo(() => {\n return {\n layout: list.layout.map(({ label, sortable, name }) => ({\n label: typeof label === 'string' ? label : formatMessage(label),\n sortable,\n name,\n })),\n settings: list.settings,\n } satisfies FormData;\n }, [formatMessage, list.layout, list.settings]);\n\n if (collectionType === SINGLE_TYPES) {\n return <Navigate to={`/single-types/${model}`} />;\n }\n\n if (isLoadingLayout) {\n return <Page.Loading />;\n }\n\n return (\n <Layouts.Root>\n <Page.Title>{`Configure ${list.settings.displayName} List View`}</Page.Title>\n <Main>\n <Form initialValues={initialValues} onSubmit={handleSubmit} method=\"PUT\">\n <Header\n collectionType={collectionType}\n model={model}\n name={list.settings.displayName ?? ''}\n />\n <Layouts.Content>\n <Flex\n alignItems=\"stretch\"\n background=\"neutral0\"\n direction=\"column\"\n gap={6}\n hasRadius\n shadow=\"tableShadow\"\n paddingTop={6}\n paddingBottom={6}\n paddingLeft={7}\n paddingRight={7}\n >\n <Settings />\n <Divider />\n <SortDisplayedFields />\n </Flex>\n </Layouts.Content>\n </Form>\n </Main>\n </Layouts.Root>\n );\n};\n\nconst ProtectedListConfiguration = () => {\n const permissions = useTypedSelector(\n (state) => state.admin_app.permissions.contentManager?.collectionTypesConfigurations\n );\n\n return (\n <Page.Protect permissions={permissions}>\n <ListConfiguration />\n </Page.Protect>\n );\n};\n\nexport { ProtectedListConfiguration, ListConfiguration };\nexport type { FormData };\n"],"names":["Header","name","formatMessage","useIntl","params","useParams","modified","useForm","state","isSubmitting","_jsx","Layouts","navigationAction","BackButton","fallback","COLLECTION_TYPES","slug","primaryAction","Button","size","disabled","type","loading","id","defaultMessage","subtitle","getTranslation","title","capitalise","EXCLUDED_SORT_ATTRIBUTE_TYPES","Settings","locale","formatter","useCollator","sensitivity","schema","useDoc","layout","values","currentSortBy","settings","defaultSortBy","onChange","sortOptions","React","useMemo","Object","reduce","acc","field","includes","attributes","push","value","label","sortOptionsSorted","sort","a","b","compare","useEffect","findIndex","opt","formLayout","SETTINGS_FORM_LAYOUT","map","row","hint","undefined","options","_jsxs","Flex","direction","alignItems","gap","Typography","variant","tag","Grid","Root","Item","s","col","InputRenderer","FIELD_SCHEMA","yup","object","shape","string","required","sortable","boolean","EditFieldForm","attribute","onClose","toggleNotification","useNotification","useField","console","error","message","shouldDisplaySortToggle","relation","Modal","Content","Form","method","initialValues","validationSchema","onSubmit","data","HeaderContainer","FieldTypeIcon","Title","fieldName","Body","filter","Footer","onClick","styled","theme","spaces","DraggableCard","index","isDraggingSibling","onMoveField","onRemoveField","setIsDraggingSibling","isModalOpen","setIsModalOpen","useState","forceRerenderAfterDnd","isDragging","objectRef","dropRef","dragRef","dragPreviewRef","useDragAndDrop","ItemTypes","FIELD","item","onMoveItem","onEnd","getEmptyImage","captureDraggingState","prev","composedRefs","useComposedRefs","FieldWrapper","ref","CardDragPreview","isSibling","FieldContainer","borderColor","background","hasRadius","justifyContent","DragButton","aria-label","e","stopPropagation","Drag","fontWeight","paddingLeft","open","onOpenChange","Trigger","ActionButton","Pencil","width","height","data-testid","Cross","button","colors","neutral600","neutral700","neutral150","Box","SortDisplayedFields","model","lastAction","setLastAction","scrollableContainerRef","useRef","addFieldRow","removeFieldRow","moveFieldRow","metadata","allMetadata","useGetContentTypeConfigurationQuery","selectFromResult","contentType","metadatas","nonDisplayedFields","displayedFieldNames","entries","checkIfAttributeIsDisplayable","list","handleAddField","handleRemoveField","handleMoveField","dragIndex","hoverIndex","current","scrollLeft","scrollWidth","padding","borderStyle","borderWidth","flex","overflow","Menu","paddingRight","endIcon","length","VisuallyHidden","Plus","aria-hidden","focusable","style","position","top","onSelect","ListConfiguration","trackUsage","useTracking","_unstableFormatAPIError","formatAPIError","useAPIErrorHandler","collectionType","isLoading","isLoadingLayout","edit","useDocLayout","updateContentTypeConfiguration","useUpdateContentTypeConfigurationMutation","handleSubmit","layoutData","meta","editMeta","mainField","_mainField","listMeta","find","res","layouts","flatMap","panel","setIn","uid","err","SINGLE_TYPES","Navigate","to","Page","Loading","displayName","Main","shadow","paddingTop","paddingBottom","Divider","ProtectedListConfiguration","permissions","useTypedSelector","admin_app","contentManager","collectionTypesConfigurations","Protect"],"mappings":"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"}
|
@@ -8,9 +8,8 @@ import { stringify } from 'qs';
|
|
8
8
|
import { useIntl } from 'react-intl';
|
9
9
|
import { NavLink, useNavigate, Link, useParams } from 'react-router-dom';
|
10
10
|
import { styled } from 'styled-components';
|
11
|
-
import { u as useContentTypeSchema,
|
12
|
-
import { p as prefixFileUrlWithBackendUrl, u as usePrev } from './usePrev-
|
13
|
-
import { a as useDebounce, g as getRelationLabel, u as useGetRelationsQuery } from './relations-D1R7vM_e.mjs';
|
11
|
+
import { u as useContentTypeSchema, v as useGetContentTypeConfigurationQuery, w as CREATOR_FIELDS, x as getMainField, y as getDisplayName, m as useDoc, g as getTranslation, d as useDocumentLayout, z as checkIfAttributeIsDisplayable, k as buildValidParams, A as useGetAllDocumentsQuery, o as useDocumentRBAC, I as InjectionZone, D as DocumentStatus, T as TableActions, B as BulkActionsRenderer, P as PERMISSIONS, i as DocumentRBAC, H as HOOKS, E as convertListLayoutToFieldLayouts } from './index-CIOT3ggy.mjs';
|
12
|
+
import { a as useDebounce, p as prefixFileUrlWithBackendUrl, g as getRelationLabel, u as useGetRelationsQuery, c as usePrev } from './usePrev-DAWUYIPh.mjs';
|
14
13
|
import isEmpty from 'lodash/isEmpty';
|
15
14
|
import parseISO from 'date-fns/parseISO';
|
16
15
|
import toString from 'lodash/toString';
|
@@ -1130,4 +1129,4 @@ const CreateButton = ({ variant })=>{
|
|
1130
1129
|
};
|
1131
1130
|
|
1132
1131
|
export { ListViewPage, ProtectedListViewPage };
|
1133
|
-
//# sourceMappingURL=ListViewPage-
|
1132
|
+
//# sourceMappingURL=ListViewPage-DcUhPA9a.mjs.map
|