@payloadcms/ui 3.26.0-canary.bbb3083 → 3.27.0-canary.ecc3f49
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/elements/AnimateHeight/index.scss +7 -5
- package/dist/elements/AppHeader/index.d.ts.map +1 -1
- package/dist/elements/AppHeader/index.js +1 -1
- package/dist/elements/AppHeader/index.js.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +37 -21
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/ColumnSelector/index.js +1 -1
- package/dist/elements/ColumnSelector/index.js.map +1 -1
- package/dist/elements/ColumnSelector/index.scss +2 -3
- package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
- package/dist/elements/DeleteDocument/index.js +2 -3
- package/dist/elements/DeleteDocument/index.js.map +1 -1
- package/dist/elements/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +1 -1
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/DocumentControls/index.d.ts.map +1 -1
- package/dist/elements/DocumentControls/index.js +1 -1
- package/dist/elements/DocumentControls/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +2 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/DocumentDrawer/types.d.ts +4 -0
- package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/types.js.map +1 -1
- package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/elements/DuplicateDocument/index.js +1 -1
- package/dist/elements/DuplicateDocument/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +1 -1
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/FieldSelect/index.js +1 -1
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/ListControls/ActiveListPreset/index.d.ts +8 -0
- package/dist/elements/ListControls/ActiveListPreset/index.d.ts.map +1 -0
- package/dist/elements/ListControls/ActiveListPreset/index.js +102 -0
- package/dist/elements/ListControls/ActiveListPreset/index.js.map +1 -0
- package/dist/elements/ListControls/ActiveListPreset/index.scss +21 -0
- package/dist/elements/ListControls/index.d.ts +1 -24
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +110 -86
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/index.scss +5 -9
- package/dist/elements/ListControls/types.d.ts +27 -0
- package/dist/elements/ListControls/types.d.ts.map +1 -0
- package/dist/elements/ListControls/types.js +2 -0
- package/dist/elements/ListControls/types.js.map +1 -0
- package/dist/elements/ListControls/useListPresets.d.ts +15 -0
- package/dist/elements/ListControls/useListPresets.d.ts.map +1 -0
- package/dist/elements/ListControls/useListPresets.js +251 -0
- package/dist/elements/ListControls/useListPresets.js.map +1 -0
- package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/ListDrawer/DrawerContent.js +4 -2
- package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/ListDrawer/types.d.ts +3 -2
- package/dist/elements/ListDrawer/types.d.ts.map +1 -1
- package/dist/elements/ListDrawer/types.js.map +1 -1
- package/dist/elements/ListPresets/cells/AccessCell/index.d.ts +4 -0
- package/dist/elements/ListPresets/cells/AccessCell/index.d.ts.map +1 -0
- package/dist/elements/ListPresets/cells/AccessCell/index.js +25 -0
- package/dist/elements/ListPresets/cells/AccessCell/index.js.map +1 -0
- package/dist/elements/ListPresets/cells/ColumnsCell/index.d.ts +4 -0
- package/dist/elements/ListPresets/cells/ColumnsCell/index.d.ts.map +1 -0
- package/dist/elements/ListPresets/cells/ColumnsCell/index.js +11 -0
- package/dist/elements/ListPresets/cells/ColumnsCell/index.js.map +1 -0
- package/dist/elements/ListPresets/cells/WhereCell/index.d.ts +4 -0
- package/dist/elements/ListPresets/cells/WhereCell/index.d.ts.map +1 -0
- package/dist/elements/ListPresets/cells/WhereCell/index.js +23 -0
- package/dist/elements/ListPresets/cells/WhereCell/index.js.map +1 -0
- package/dist/elements/ListPresets/fields/AccessLabel/index.d.ts +3 -0
- package/dist/elements/ListPresets/fields/AccessLabel/index.d.ts.map +1 -0
- package/dist/elements/ListPresets/fields/AccessLabel/index.js +19 -0
- package/dist/elements/ListPresets/fields/AccessLabel/index.js.map +1 -0
- package/dist/elements/ListPresets/fields/ColumnsField/index.d.ts +4 -0
- package/dist/elements/ListPresets/fields/ColumnsField/index.d.ts.map +1 -0
- package/dist/elements/ListPresets/fields/ColumnsField/index.js +64 -0
- package/dist/elements/ListPresets/fields/ColumnsField/index.js.map +1 -0
- package/dist/elements/ListPresets/fields/ColumnsField/index.scss +28 -0
- package/dist/elements/ListPresets/fields/WhereField/index.d.ts +4 -0
- package/dist/elements/ListPresets/fields/WhereField/index.d.ts.map +1 -0
- package/dist/elements/ListPresets/fields/WhereField/index.js +118 -0
- package/dist/elements/ListPresets/fields/WhereField/index.js.map +1 -0
- package/dist/elements/ListPresets/fields/WhereField/index.scss +23 -0
- package/dist/elements/Localizer/index.d.ts.map +1 -1
- package/dist/elements/Localizer/index.js +36 -24
- package/dist/elements/Localizer/index.js.map +1 -1
- package/dist/elements/Logout/index.d.ts.map +1 -1
- package/dist/elements/Logout/index.js +1 -1
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/Nav/context.d.ts.map +1 -1
- package/dist/elements/Nav/context.js +8 -1
- package/dist/elements/Nav/context.js.map +1 -1
- package/dist/elements/Pill/index.d.ts +1 -1
- package/dist/elements/Pill/index.d.ts.map +1 -1
- package/dist/elements/Pill/index.js +2 -0
- package/dist/elements/Pill/index.js.map +1 -1
- package/dist/elements/Pill/index.scss +29 -6
- package/dist/elements/PublishButton/index.js +1 -0
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +1 -1
- package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
- package/dist/elements/RelationshipTable/index.d.ts +1 -1
- package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
- package/dist/elements/RelationshipTable/index.js +6 -14
- package/dist/elements/RelationshipTable/index.js.map +1 -1
- package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
- package/dist/elements/StayLoggedIn/index.js +1 -1
- package/dist/elements/StayLoggedIn/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/index.js +1 -2
- package/dist/elements/Table/DefaultCell/index.js.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.d.ts +2 -5
- package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/Condition/index.js +7 -7
- package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +22 -32
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/elements/WhereBuilder/types.d.ts +6 -2
- package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/types.js.map +1 -1
- package/dist/exports/client/index.d.ts +8 -2
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +11 -11
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.d.ts +8 -3
- package/dist/exports/shared/index.d.ts.map +1 -1
- package/dist/exports/shared/index.js +2 -2
- package/dist/exports/shared/index.js.map +4 -4
- package/dist/fields/Upload/HasMany/index.d.ts.map +1 -1
- package/dist/fields/Upload/HasMany/index.js +12 -4
- package/dist/fields/Upload/HasMany/index.js.map +1 -1
- package/dist/fields/Upload/HasOne/index.d.ts.map +1 -1
- package/dist/fields/Upload/HasOne/index.js +15 -5
- package/dist/fields/Upload/HasOne/index.js.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.d.ts +1 -0
- package/dist/fields/Upload/RelationshipContent/index.d.ts.map +1 -1
- package/dist/fields/Upload/RelationshipContent/index.js +13 -11
- package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +3 -1
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/types.d.ts +4 -0
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/graphics/Account/index.d.ts.map +1 -1
- package/dist/graphics/Account/index.js +1 -1
- package/dist/graphics/Account/index.js.map +1 -1
- package/dist/icons/Chevron/index.d.ts +1 -0
- package/dist/icons/Chevron/index.d.ts.map +1 -1
- package/dist/icons/Chevron/index.js +2 -0
- package/dist/icons/Chevron/index.js.map +1 -1
- package/dist/icons/Dots/index.d.ts +2 -0
- package/dist/icons/Dots/index.d.ts.map +1 -1
- package/dist/icons/Dots/index.js +5 -2
- package/dist/icons/Dots/index.js.map +1 -1
- package/dist/icons/Dots/index.scss +14 -0
- package/dist/icons/People/index.d.ts +6 -0
- package/dist/icons/People/index.d.ts.map +1 -0
- package/dist/icons/People/index.js +18 -0
- package/dist/icons/People/index.js.map +1 -0
- package/dist/icons/People/index.scss +11 -0
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +1 -1
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/DocumentInfo/types.d.ts +1 -0
- package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/types.js.map +1 -1
- package/dist/providers/ListQuery/context.d.ts +6 -0
- package/dist/providers/ListQuery/context.d.ts.map +1 -0
- package/dist/providers/ListQuery/context.js +6 -0
- package/dist/providers/ListQuery/context.js.map +1 -0
- package/dist/providers/ListQuery/index.d.ts +2 -27
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +72 -46
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ListQuery/types.d.ts +36 -0
- package/dist/providers/ListQuery/types.d.ts.map +1 -0
- package/dist/providers/ListQuery/types.js +2 -0
- package/dist/providers/ListQuery/types.js.map +1 -0
- package/dist/providers/Preferences/index.d.ts.map +1 -1
- package/dist/providers/Preferences/index.js.map +1 -1
- package/dist/providers/RouteTransition/ProgressBar/index.scss +19 -17
- package/dist/providers/ServerFunctions/index.d.ts +1 -0
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -0
- package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.js +2 -2
- package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -0
- package/dist/{elements → providers}/TableColumns/buildColumnState.d.ts +1 -1
- package/dist/providers/TableColumns/buildColumnState.d.ts.map +1 -0
- package/dist/{elements → providers}/TableColumns/buildColumnState.js +1 -1
- package/dist/providers/TableColumns/buildColumnState.js.map +1 -0
- package/dist/{elements → providers}/TableColumns/buildPolymorphicColumnState.d.ts +1 -1
- package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -0
- package/dist/{elements → providers}/TableColumns/buildPolymorphicColumnState.js +1 -1
- package/dist/providers/TableColumns/buildPolymorphicColumnState.js.map +1 -0
- package/dist/providers/TableColumns/context.d.ts +6 -0
- package/dist/providers/TableColumns/context.d.ts.map +1 -0
- package/dist/providers/TableColumns/context.js +6 -0
- package/dist/providers/TableColumns/context.js.map +1 -0
- package/dist/providers/TableColumns/filterFields.d.ts.map +1 -0
- package/dist/providers/TableColumns/filterFields.js.map +1 -0
- package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -0
- package/dist/providers/TableColumns/getInitialColumns.js.map +1 -0
- package/dist/providers/TableColumns/index.d.ts +5 -0
- package/dist/providers/TableColumns/index.d.ts.map +1 -0
- package/dist/providers/TableColumns/index.js +105 -0
- package/dist/providers/TableColumns/index.js.map +1 -0
- package/dist/{elements/TableColumns/index.d.ts → providers/TableColumns/types.d.ts} +32 -11
- package/dist/providers/TableColumns/types.d.ts.map +1 -0
- package/dist/providers/TableColumns/types.js +2 -0
- package/dist/providers/TableColumns/types.js.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/utilities/copyDataFromLocale.d.ts.map +1 -1
- package/dist/utilities/copyDataFromLocale.js +6 -2
- package/dist/utilities/copyDataFromLocale.js.map +1 -1
- package/dist/utilities/formatAdminURL.d.ts +1 -7
- package/dist/utilities/formatAdminURL.d.ts.map +1 -1
- package/dist/utilities/formatAdminURL.js +1 -18
- package/dist/utilities/formatAdminURL.js.map +1 -1
- package/dist/utilities/handleBackToDashboard.js +1 -1
- package/dist/utilities/handleBackToDashboard.js.map +1 -1
- package/dist/utilities/handleFormStateLocking.d.ts.map +1 -1
- package/dist/utilities/handleFormStateLocking.js +4 -2
- package/dist/utilities/handleFormStateLocking.js.map +1 -1
- package/dist/utilities/handleGoBack.js +1 -1
- package/dist/utilities/handleGoBack.js.map +1 -1
- package/dist/utilities/renderTable.js +4 -4
- package/dist/utilities/renderTable.js.map +1 -1
- package/dist/utilities/upsertPreferences.d.ts +7 -2
- package/dist/utilities/upsertPreferences.d.ts.map +1 -1
- package/dist/utilities/upsertPreferences.js +11 -5
- package/dist/utilities/upsertPreferences.js.map +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js +1 -1
- package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +4 -3
- package/dist/views/Edit/index.js.map +1 -1
- package/dist/views/List/index.d.ts.map +1 -1
- package/dist/views/List/index.js +5 -8
- package/dist/views/List/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +0 -1
- package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +0 -1
- package/dist/elements/TableColumns/buildColumnState.d.ts.map +0 -1
- package/dist/elements/TableColumns/buildColumnState.js.map +0 -1
- package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts.map +0 -1
- package/dist/elements/TableColumns/buildPolymorphicColumnState.js.map +0 -1
- package/dist/elements/TableColumns/filterFields.d.ts.map +0 -1
- package/dist/elements/TableColumns/filterFields.js.map +0 -1
- package/dist/elements/TableColumns/getInitialColumns.d.ts.map +0 -1
- package/dist/elements/TableColumns/getInitialColumns.js.map +0 -1
- package/dist/elements/TableColumns/index.d.ts.map +0 -1
- package/dist/elements/TableColumns/index.js +0 -206
- package/dist/elements/TableColumns/index.js.map +0 -1
- package/dist/elements/WhereBuilder/transformWhereQuery.d.ts +0 -8
- package/dist/elements/WhereBuilder/transformWhereQuery.d.ts.map +0 -1
- package/dist/elements/WhereBuilder/transformWhereQuery.js +0 -45
- package/dist/elements/WhereBuilder/transformWhereQuery.js.map +0 -1
- package/dist/elements/WhereBuilder/validateWhereQuery.d.ts +0 -4
- package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +0 -1
- package/dist/elements/WhereBuilder/validateWhereQuery.js +0 -36
- package/dist/elements/WhereBuilder/validateWhereQuery.js.map +0 -1
- package/dist/utilities/mergeListSearchAndWhere.d.ts +0 -10
- package/dist/utilities/mergeListSearchAndWhere.d.ts.map +0 -1
- package/dist/utilities/mergeListSearchAndWhere.js +0 -47
- package/dist/utilities/mergeListSearchAndWhere.js.map +0 -1
- /package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.d.ts +0 -0
- /package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.scss +0 -0
- /package/dist/{elements → providers}/TableColumns/filterFields.d.ts +0 -0
- /package/dist/{elements → providers}/TableColumns/filterFields.js +0 -0
- /package/dist/{elements → providers}/TableColumns/getInitialColumns.d.ts +0 -0
- /package/dist/{elements → providers}/TableColumns/getInitialColumns.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","React","useEffect","useRef","useState","Popup","PopupList","useUseTitleField","ChevronIcon","Dots","SearchIcon","useListQuery","useTranslation","AnimateHeight","ColumnSelector","Pill","SearchFilter","WhereBuilder","validateWhereQuery","getTextFieldsToBeSearched","baseClass","ListControls","props","beforeActions","collectionConfig","collectionSlug","enableColumns","enableSort","listMenuItems","renderedFilters","resolvedFilterOptions","handleSearchChange","query","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","fields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","_jsxs","className","_jsx","fieldName","handleChange","search","initialParams","Fragment","icon","direction","onClick","pillStyle","button","ariaLabel","horizontalAlign","size","verticalAlign","ButtonGroup","map","item","height","id","slug","collectionPluralLabel","labels","plural"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, ResolvedFilterOptions, Where } from 'payload'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useRef, useState } from 'react'\n\nimport { Popup, PopupList } from '../../elements/Popup/index.js'\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { Dots } from '../../icons/Dots/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport validateWhereQuery from '../WhereBuilder/validateWhereQuery.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\nexport type ListControlsProps = {\n readonly beforeActions?: React.ReactNode[]\n readonly collectionConfig: ClientCollectionConfig\n readonly collectionSlug: string\n /**\n * @deprecated\n * These are now handled by the `ListSelection` component\n */\n readonly disableBulkDelete?: boolean\n /**\n * @deprecated\n * These are now handled by the `ListSelection` component\n */\n readonly disableBulkEdit?: boolean\n readonly enableColumns?: boolean\n readonly enableSort?: boolean\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n readonly listMenuItems?: React.ReactNode[]\n readonly renderedFilters?: Map<string, React.ReactNode>\n readonly resolvedFilterOptions?: Map<string, ResolvedFilterOptions>\n}\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n beforeActions,\n collectionConfig,\n collectionSlug,\n enableColumns = true,\n enableSort = false,\n listMenuItems,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n const { handleSearchChange, query } = useListQuery()\n const titleField = useUseTitleField(collectionConfig)\n const { i18n, t } = useTranslation()\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField &&\n (typeof titleField.label === 'string' || typeof titleField.label === 'object')\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n collectionConfig.fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(query?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(query?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, query?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={titleField && 'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n // @ts-expect-error @todo: fix types\n initialParams={query}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n />\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && <React.Fragment>{beforeActions && beforeActions}</React.Fragment>}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns`}\n icon={<ChevronIcon direction={visibleDrawer === 'columns' ? 'up' : 'down'} />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where`}\n icon={<ChevronIcon direction={visibleDrawer === 'where' ? 'up' : 'down'} />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n {listMenuItems && (\n <Popup\n button={<Dots ariaLabel={t('general:moreOptions')} />}\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>{listMenuItems.map((item) => item)}</PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig?.fields}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n </AnimateHeight>\n {enableSort && (\n <AnimateHeight\n className={`${baseClass}__sort`}\n height={visibleDrawer === 'sort' ? 'auto' : 0}\n id={`${baseClass}-sort`}\n >\n <p>Sort Complex</p>\n {/* <SortComplex\n collection={collection}\n handleChange={handleSortChange}\n modifySearchQuery={modifySearchQuery}\n /> */}\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useWindowInfo","getTranslation","validateWhereQuery","React","Fragment","useEffect","useRef","useState","Popup","PopupList","useUseTitleField","ChevronIcon","Dots","SearchIcon","useListQuery","useTranslation","AnimateHeight","ColumnSelector","Pill","SearchFilter","WhereBuilder","ActiveListPreset","getTextFieldsToBeSearched","useListPresets","baseClass","ListControls","props","activePreset","beforeActions","collectionConfig","collectionSlug","disableListPresets","enableColumns","enableSort","listMenuItems","listMenuItemsFromProps","renderedFilters","resolvedFilterOptions","handleSearchChange","query","CreateNewPresetDrawer","DeletePresetModal","EditPresetDrawer","hasModifiedPreset","listPresetMenuItems","openPresetListDrawer","PresetListDrawer","resetPreset","titleField","i18n","t","breakpoints","s","smallBreak","searchLabel","label","name","listSearchableFields","admin","fields","searchLabelTranslated","hasWhereParam","Boolean","where","shouldInitializeWhereOpened","visibleDrawer","setVisibleDrawer","undefined","current","length","reduce","placeholderText","field","i","enableListPresets","push","_jsxs","className","_jsx","fieldName","handleChange","search","initialParams","icon","direction","onClick","pillStyle","Array","isArray","button","ariaLabel","horizontalAlign","id","size","verticalAlign","ButtonGroup","height","slug","collectionPluralLabel","labels","plural"],"sources":["../../../src/elements/ListControls/index.tsx"],"sourcesContent":["'use client'\n\nimport { useWindowInfo } from '@faceless-ui/window-info'\nimport { getTranslation } from '@payloadcms/translations'\nimport { validateWhereQuery } from 'payload/shared'\nimport React, { Fragment, useEffect, useRef, useState } from 'react'\n\nimport type { ListControlsProps } from './types.js'\n\nimport { Popup, PopupList } from '../../elements/Popup/index.js'\nimport { useUseTitleField } from '../../hooks/useUseAsTitle.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { Dots } from '../../icons/Dots/index.js'\nimport { SearchIcon } from '../../icons/Search/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport { ActiveListPreset } from './ActiveListPreset/index.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport { useListPresets } from './useListPresets.js'\nimport './index.scss'\n\nconst baseClass = 'list-controls'\n\n/**\n * The ListControls component is used to render the controls (search, filter, where)\n * for a collection's list view. You can find those directly above the table which lists\n * the collection's documents.\n */\nexport const ListControls: React.FC<ListControlsProps> = (props) => {\n const {\n activePreset,\n beforeActions,\n collectionConfig,\n collectionSlug,\n disableListPresets,\n enableColumns = true,\n enableSort = false,\n listMenuItems: listMenuItemsFromProps,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n\n const { handleSearchChange, query } = useListQuery()\n\n const {\n CreateNewPresetDrawer,\n DeletePresetModal,\n EditPresetDrawer,\n hasModifiedPreset,\n listPresetMenuItems,\n openPresetListDrawer,\n PresetListDrawer,\n resetPreset,\n } = useListPresets({\n activePreset,\n collectionSlug,\n })\n\n const titleField = useUseTitleField(collectionConfig)\n const { i18n, t } = useTranslation()\n\n const {\n breakpoints: { s: smallBreak },\n } = useWindowInfo()\n\n const searchLabel =\n (titleField &&\n getTranslation(\n 'label' in titleField &&\n (typeof titleField.label === 'string' || typeof titleField.label === 'object')\n ? titleField.label\n : 'name' in titleField\n ? titleField.name\n : null,\n i18n,\n )) ??\n 'ID'\n\n const listSearchableFields = getTextFieldsToBeSearched(\n collectionConfig.admin.listSearchableFields,\n collectionConfig.fields,\n )\n\n const searchLabelTranslated = useRef(\n t('general:searchBy', { label: getTranslation(searchLabel, i18n) }),\n )\n\n const hasWhereParam = useRef(Boolean(query?.where))\n\n const shouldInitializeWhereOpened = validateWhereQuery(query?.where)\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'sort' | 'where'>(\n shouldInitializeWhereOpened ? 'where' : undefined,\n )\n\n useEffect(() => {\n if (hasWhereParam.current && !query?.where) {\n hasWhereParam.current = false\n } else if (query?.where) {\n hasWhereParam.current = true\n }\n }, [setVisibleDrawer, query?.where])\n\n useEffect(() => {\n if (listSearchableFields?.length > 0) {\n searchLabelTranslated.current = listSearchableFields.reduce(\n (placeholderText: string, field, i: number) => {\n const label =\n 'label' in field && field.label ? field.label : 'name' in field ? field.name : null\n\n if (i === 0) {\n return `${t('general:searchBy', {\n label: getTranslation(label, i18n),\n })}`\n }\n\n if (i === listSearchableFields.length - 1) {\n return `${placeholderText} ${t('general:or')} ${getTranslation(label, i18n)}`\n }\n\n return `${placeholderText}, ${getTranslation(label, i18n)}`\n },\n '',\n )\n } else {\n searchLabelTranslated.current = t('general:searchBy', {\n label: getTranslation(searchLabel, i18n),\n })\n }\n }, [t, listSearchableFields, i18n, searchLabel])\n\n const listMenuItems = listMenuItemsFromProps || []\n\n if (collectionConfig?.enableListPresets && !disableListPresets) {\n listMenuItems.push(listPresetMenuItems)\n }\n\n return (\n <Fragment>\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n fieldName={titleField && 'name' in titleField ? titleField?.name : null}\n handleChange={(search) => {\n return void handleSearchChange(search)\n }}\n // @ts-expect-error @todo: fix types\n initialParams={query}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n />\n {activePreset && hasModifiedPreset ? (\n <div className={`${baseClass}__modified`}>Modified</div>\n ) : null}\n <div className={`${baseClass}__buttons`}>\n <div className={`${baseClass}__buttons-wrap`}>\n {!smallBreak && <React.Fragment>{beforeActions && beforeActions}</React.Fragment>}\n {enableColumns && (\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={visibleDrawer === 'columns'}\n className={`${baseClass}__toggle-columns`}\n icon={<ChevronIcon direction={visibleDrawer === 'columns' ? 'up' : 'down'} />}\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n )}\n <Pill\n aria-controls={`${baseClass}-where`}\n aria-expanded={visibleDrawer === 'where'}\n className={`${baseClass}__toggle-where`}\n icon={<ChevronIcon direction={visibleDrawer === 'where' ? 'up' : 'down'} />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:filters')}\n </Pill>\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n >\n {t('general:sort')}\n </Pill>\n )}\n {!disableListPresets && (\n <ActiveListPreset\n activePreset={activePreset}\n openPresetListDrawer={openPresetListDrawer}\n resetPreset={resetPreset}\n />\n )}\n {listMenuItems && Array.isArray(listMenuItems) && listMenuItems.length > 0 && (\n <Popup\n button={<Dots ariaLabel={t('general:moreOptions')} />}\n className={`${baseClass}__popup`}\n horizontalAlign=\"right\"\n id=\"list-menu\"\n size=\"large\"\n verticalAlign=\"bottom\"\n >\n <PopupList.ButtonGroup>{listMenuItems}</PopupList.ButtonGroup>\n </Popup>\n )}\n </div>\n </div>\n </div>\n {enableColumns && (\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={visibleDrawer === 'columns' ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n </AnimateHeight>\n )}\n <AnimateHeight\n className={`${baseClass}__where`}\n height={visibleDrawer === 'where' ? 'auto' : 0}\n id={`${baseClass}-where`}\n >\n <WhereBuilder\n collectionPluralLabel={collectionConfig?.labels?.plural}\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig?.fields}\n renderedFilters={renderedFilters}\n resolvedFilterOptions={resolvedFilterOptions}\n />\n </AnimateHeight>\n </div>\n {PresetListDrawer}\n {EditPresetDrawer}\n {CreateNewPresetDrawer}\n {DeletePresetModal}\n </Fragment>\n )\n}\n"],"mappings":"AAAA;;;AAEA,SAASA,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,kBAAkB,QAAQ;AACnC,OAAOC,KAAA,IAASC,QAAQ,EAAEC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAI7D,SAASC,KAAK,EAAEC,SAAS,QAAQ;AACjC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,WAAW,QAAQ;AAC5B,SAASC,IAAI,QAAQ;AACrB,SAASC,UAAU,QAAQ;AAC3B,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,IAAI,QAAQ;AACrB,SAASC,YAAY,QAAQ;AAC7B,SAASC,YAAY,QAAQ;AAC7B,SAASC,gBAAgB,QAAQ;AACjC,SAASC,yBAAyB,QAAQ;AAC1C,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB;;;;;AAKA,OAAO,MAAMC,YAAA,GAA6CC,KAAA;EACxD,MAAM;IACJC,YAAY;IACZC,aAAa;IACbC,gBAAgB;IAChBC,cAAc;IACdC,kBAAkB;IAClBC,aAAA,GAAgB,IAAI;IACpBC,UAAA,GAAa,KAAK;IAClBC,aAAA,EAAeC,sBAAsB;IACrCC,eAAe;IACfC;EAAqB,CACtB,GAAGX,KAAA;EAEJ,MAAM;IAAEY,kBAAkB;IAAEC;EAAK,CAAE,GAAGzB,YAAA;EAEtC,MAAM;IACJ0B,qBAAqB;IACrBC,iBAAiB;IACjBC,gBAAgB;IAChBC,iBAAiB;IACjBC,mBAAmB;IACnBC,oBAAoB;IACpBC,gBAAgB;IAChBC;EAAW,CACZ,GAAGxB,cAAA,CAAe;IACjBI,YAAA;IACAG;EACF;EAEA,MAAMkB,UAAA,GAAatC,gBAAA,CAAiBmB,gBAAA;EACpC,MAAM;IAAEoB,IAAI;IAAEC;EAAC,CAAE,GAAGnC,cAAA;EAEpB,MAAM;IACJoC,WAAA,EAAa;MAAEC,CAAA,EAAGC;IAAU;EAAE,CAC/B,GAAGrD,aAAA;EAEJ,MAAMsD,WAAA,GACJ,CAACN,UAAA,IACC/C,cAAA,CACE,WAAW+C,UAAA,KACR,OAAOA,UAAA,CAAWO,KAAK,KAAK,YAAY,OAAOP,UAAA,CAAWO,KAAK,KAAK,QAAO,IAC1EP,UAAA,CAAWO,KAAK,GAChB,UAAUP,UAAA,GACRA,UAAA,CAAWQ,IAAI,GACf,MACNP,IAAA,CACF,KACF;EAEF,MAAMQ,oBAAA,GAAuBnC,yBAAA,CAC3BO,gBAAA,CAAiB6B,KAAK,CAACD,oBAAoB,EAC3C5B,gBAAA,CAAiB8B,MAAM;EAGzB,MAAMC,qBAAA,GAAwBtD,MAAA,CAC5B4C,CAAA,CAAE,oBAAoB;IAAEK,KAAA,EAAOtD,cAAA,CAAeqD,WAAA,EAAaL,IAAA;EAAM;EAGnE,MAAMY,aAAA,GAAgBvD,MAAA,CAAOwD,OAAA,CAAQvB,KAAA,EAAOwB,KAAA;EAE5C,MAAMC,2BAAA,GAA8B9D,kBAAA,CAAmBqC,KAAA,EAAOwB,KAAA;EAC9D,MAAM,CAACE,aAAA,EAAeC,gBAAA,CAAiB,GAAG3D,QAAA,CACxCyD,2BAAA,GAA8B,UAAUG,SAAA;EAG1C9D,SAAA,CAAU;IACR,IAAIwD,aAAA,CAAcO,OAAO,IAAI,CAAC7B,KAAA,EAAOwB,KAAA,EAAO;MAC1CF,aAAA,CAAcO,OAAO,GAAG;IAC1B,OAAO,IAAI7B,KAAA,EAAOwB,KAAA,EAAO;MACvBF,aAAA,CAAcO,OAAO,GAAG;IAC1B;EACF,GAAG,CAACF,gBAAA,EAAkB3B,KAAA,EAAOwB,KAAA,CAAM;EAEnC1D,SAAA,CAAU;IACR,IAAIoD,oBAAA,EAAsBY,MAAA,GAAS,GAAG;MACpCT,qBAAA,CAAsBQ,OAAO,GAAGX,oBAAA,CAAqBa,MAAM,CACzD,CAACC,eAAA,EAAyBC,KAAA,EAAOC,CAAA;QAC/B,MAAMlB,KAAA,GACJ,WAAWiB,KAAA,IAASA,KAAA,CAAMjB,KAAK,GAAGiB,KAAA,CAAMjB,KAAK,GAAG,UAAUiB,KAAA,GAAQA,KAAA,CAAMhB,IAAI,GAAG;QAEjF,IAAIiB,CAAA,KAAM,GAAG;UACX,OAAO,GAAGvB,CAAA,CAAE,oBAAoB;YAC9BK,KAAA,EAAOtD,cAAA,CAAesD,KAAA,EAAON,IAAA;UAC/B,IAAI;QACN;QAEA,IAAIwB,CAAA,KAAMhB,oBAAA,CAAqBY,MAAM,GAAG,GAAG;UACzC,OAAO,GAAGE,eAAA,IAAmBrB,CAAA,CAAE,iBAAiBjD,cAAA,CAAesD,KAAA,EAAON,IAAA,GAAO;QAC/E;QAEA,OAAO,GAAGsB,eAAA,KAAoBtE,cAAA,CAAesD,KAAA,EAAON,IAAA,GAAO;MAC7D,GACA;IAEJ,OAAO;MACLW,qBAAA,CAAsBQ,OAAO,GAAGlB,CAAA,CAAE,oBAAoB;QACpDK,KAAA,EAAOtD,cAAA,CAAeqD,WAAA,EAAaL,IAAA;MACrC;IACF;EACF,GAAG,CAACC,CAAA,EAAGO,oBAAA,EAAsBR,IAAA,EAAMK,WAAA,CAAY;EAE/C,MAAMpB,aAAA,GAAgBC,sBAAA,IAA0B,EAAE;EAElD,IAAIN,gBAAA,EAAkB6C,iBAAA,IAAqB,CAAC3C,kBAAA,EAAoB;IAC9DG,aAAA,CAAcyC,IAAI,CAAC/B,mBAAA;EACrB;EAEA,oBACEgC,KAAA,CAACxE,QAAA;4BACCwE,KAAA,CAAC;MAAIC,SAAA,EAAWrD,SAAA;8BACdoD,KAAA,CAAC;QAAIC,SAAA,EAAW,GAAGrD,SAAA,QAAiB;gCAClCsD,IAAA,CAACjE,UAAA,O,aACDiE,IAAA,CAAC3D,YAAA;UACC4D,SAAA,EAAW/B,UAAA,IAAc,UAAUA,UAAA,GAAaA,UAAA,EAAYQ,IAAA,GAAO;UACnEwB,YAAA,EAAeC,MAAA;YACb,OAAO,KAAK3C,kBAAA,CAAmB2C,MAAA;UACjC;UACA;UACAC,aAAA,EAAe3C,KAAA;UAEfgB,KAAA,EAAOK,qBAAA,CAAsBQ;WADxBtC,cAAA,GAGNH,YAAA,IAAgBgB,iBAAA,gBACfmC,IAAA,CAAC;UAAID,SAAA,EAAW,GAAGrD,SAAA,YAAqB;oBAAE;aACxC,M,aACJsD,IAAA,CAAC;UAAID,SAAA,EAAW,GAAGrD,SAAA,WAAoB;oBACrC,aAAAoD,KAAA,CAAC;YAAIC,SAAA,EAAW,GAAGrD,SAAA,gBAAyB;uBACzC,CAAC6B,UAAA,iBAAcyB,IAAA,CAAC3E,KAAA,CAAMC,QAAQ;wBAAEwB,aAAA,IAAiBA;gBACjDI,aAAA,iBACC8C,IAAA,CAAC5D,IAAA;cACC,iBAAe,GAAGM,SAAA,UAAmB;cACrC,iBAAeyC,aAAA,KAAkB;cACjCY,SAAA,EAAW,GAAGrD,SAAA,kBAA2B;cACzC2D,IAAA,eAAML,IAAA,CAACnE,WAAA;gBAAYyE,SAAA,EAAWnB,aAAA,KAAkB,YAAY,OAAO;;cACnEoB,OAAA,EAASA,CAAA,KACPnB,gBAAA,CAAiBD,aAAA,KAAkB,YAAY,YAAYE,SAAA;cAE7DmB,SAAA,EAAU;wBAETpC,CAAA,CAAE;6BAGP4B,IAAA,CAAC5D,IAAA;cACC,iBAAe,GAAGM,SAAA,QAAiB;cACnC,iBAAeyC,aAAA,KAAkB;cACjCY,SAAA,EAAW,GAAGrD,SAAA,gBAAyB;cACvC2D,IAAA,eAAML,IAAA,CAACnE,WAAA;gBAAYyE,SAAA,EAAWnB,aAAA,KAAkB,UAAU,OAAO;;cACjEoB,OAAA,EAASA,CAAA,KAAMnB,gBAAA,CAAiBD,aAAA,KAAkB,UAAU,UAAUE,SAAA;cACtEmB,SAAA,EAAU;wBAETpC,CAAA,CAAE;gBAEJjB,UAAA,iBACC6C,IAAA,CAAC5D,IAAA;cACC,iBAAe,GAAGM,SAAA,OAAgB;cAClC,iBAAeyC,aAAA,KAAkB;cACjCY,SAAA,EAAW,GAAGrD,SAAA,eAAwB;cACtC2D,IAAA,eAAML,IAAA,CAACnE,WAAA;cACP0E,OAAA,EAASA,CAAA,KAAMnB,gBAAA,CAAiBD,aAAA,KAAkB,SAAS,SAASE,SAAA;cACpEmB,SAAA,EAAU;wBAETpC,CAAA,CAAE;gBAGN,CAACnB,kBAAA,iBACA+C,IAAA,CAACzD,gBAAA;cACCM,YAAA,EAAcA,YAAA;cACdkB,oBAAA,EAAsBA,oBAAA;cACtBE,WAAA,EAAaA;gBAGhBb,aAAA,IAAiBqD,KAAA,CAAMC,OAAO,CAACtD,aAAA,KAAkBA,aAAA,CAAcmC,MAAM,GAAG,kBACvES,IAAA,CAACtE,KAAA;cACCiF,MAAA,eAAQX,IAAA,CAAClE,IAAA;gBAAK8E,SAAA,EAAWxC,CAAA,CAAE;;cAC3B2B,SAAA,EAAW,GAAGrD,SAAA,SAAkB;cAChCmE,eAAA,EAAgB;cAChBC,EAAA,EAAG;cACHC,IAAA,EAAK;cACLC,aAAA,EAAc;wBAEd,aAAAhB,IAAA,CAACrE,SAAA,CAAUsF,WAAW;0BAAE7D;;;;;UAMjCF,aAAA,iBACC8C,IAAA,CAAC9D,aAAA;QACC6D,SAAA,EAAW,GAAGrD,SAAA,WAAoB;QAClCwE,MAAA,EAAQ/B,aAAA,KAAkB,YAAY,SAAS;QAC/C2B,EAAA,EAAI,GAAGpE,SAAA,UAAmB;kBAE1B,aAAAsD,IAAA,CAAC7D,cAAA;UAAea,cAAA,EAAgBD,gBAAA,CAAiBoE;;uBAGrDnB,IAAA,CAAC9D,aAAA;QACC6D,SAAA,EAAW,GAAGrD,SAAA,SAAkB;QAChCwE,MAAA,EAAQ/B,aAAA,KAAkB,UAAU,SAAS;QAC7C2B,EAAA,EAAI,GAAGpE,SAAA,QAAiB;kBAExB,aAAAsD,IAAA,CAAC1D,YAAA;UACC8E,qBAAA,EAAuBrE,gBAAA,EAAkBsE,MAAA,EAAQC,MAAA;UACjDtE,cAAA,EAAgBD,gBAAA,CAAiBoE,IAAI;UACrCtC,MAAA,EAAQ9B,gBAAA,EAAkB8B,MAAA;UAC1BvB,eAAA,EAAiBA,eAAA;UACjBC,qBAAA,EAAuBA;;;QAI5BS,gBAAA,EACAJ,gBAAA,EACAF,qBAAA,EACAC,iBAAA;;AAGP","ignoreList":[]}
|
|
@@ -24,18 +24,14 @@
|
|
|
24
24
|
border-radius: 0;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
&__modified {
|
|
28
|
+
color: var(--theme-elevation-500);
|
|
29
|
+
}
|
|
30
|
+
|
|
27
31
|
&__buttons-wrap {
|
|
28
32
|
display: flex;
|
|
29
33
|
align-items: center;
|
|
30
|
-
gap:
|
|
31
|
-
|
|
32
|
-
.pill {
|
|
33
|
-
background-color: var(--theme-elevation-150);
|
|
34
|
-
|
|
35
|
-
&:hover {
|
|
36
|
-
background-color: var(--theme-elevation-100);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
34
|
+
gap: 4px;
|
|
39
35
|
}
|
|
40
36
|
|
|
41
37
|
.column-selector,
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { ClientCollectionConfig, ListPreset, ResolvedFilterOptions, Where } from 'payload';
|
|
2
|
+
export type ListControlsProps = {
|
|
3
|
+
readonly activePreset?: ListPreset;
|
|
4
|
+
readonly beforeActions?: React.ReactNode[];
|
|
5
|
+
readonly collectionConfig: ClientCollectionConfig;
|
|
6
|
+
readonly collectionSlug: string;
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated
|
|
9
|
+
* These are now handled by the `ListSelection` component
|
|
10
|
+
*/
|
|
11
|
+
readonly disableBulkDelete?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* @deprecated
|
|
14
|
+
* These are now handled by the `ListSelection` component
|
|
15
|
+
*/
|
|
16
|
+
readonly disableBulkEdit?: boolean;
|
|
17
|
+
readonly disableListPresets?: boolean;
|
|
18
|
+
readonly enableColumns?: boolean;
|
|
19
|
+
readonly enableSort?: boolean;
|
|
20
|
+
readonly handleSearchChange?: (search: string) => void;
|
|
21
|
+
readonly handleSortChange?: (sort: string) => void;
|
|
22
|
+
readonly handleWhereChange?: (where: Where) => void;
|
|
23
|
+
readonly listMenuItems?: React.ReactNode[];
|
|
24
|
+
readonly renderedFilters?: Map<string, React.ReactNode>;
|
|
25
|
+
readonly resolvedFilterOptions?: Map<string, ResolvedFilterOptions>;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,qBAAqB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/F,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,YAAY,CAAC,EAAE,UAAU,CAAA;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;IACjD,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAA;IAClC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACtD,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IAClD,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IACnD,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IACvD,QAAQ,CAAC,qBAAqB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAA;CACpE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListControls/types.ts"],"sourcesContent":["import type { ClientCollectionConfig, ListPreset, ResolvedFilterOptions, Where } from 'payload'\n\nexport type ListControlsProps = {\n readonly activePreset?: ListPreset\n readonly beforeActions?: React.ReactNode[]\n readonly collectionConfig: ClientCollectionConfig\n readonly collectionSlug: string\n /**\n * @deprecated\n * These are now handled by the `ListSelection` component\n */\n readonly disableBulkDelete?: boolean\n /**\n * @deprecated\n * These are now handled by the `ListSelection` component\n */\n readonly disableBulkEdit?: boolean\n readonly disableListPresets?: boolean\n readonly enableColumns?: boolean\n readonly enableSort?: boolean\n readonly handleSearchChange?: (search: string) => void\n readonly handleSortChange?: (sort: string) => void\n readonly handleWhereChange?: (where: Where) => void\n readonly listMenuItems?: React.ReactNode[]\n readonly renderedFilters?: Map<string, React.ReactNode>\n readonly resolvedFilterOptions?: Map<string, ResolvedFilterOptions>\n}\n"],"mappings":"AAEA","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CollectionSlug, ListPreset } from 'payload';
|
|
2
|
+
export declare const useListPresets: ({ activePreset, collectionSlug, }: {
|
|
3
|
+
activePreset: ListPreset;
|
|
4
|
+
collectionSlug: CollectionSlug;
|
|
5
|
+
}) => {
|
|
6
|
+
CreateNewPresetDrawer: React.ReactNode;
|
|
7
|
+
DeletePresetModal: React.ReactNode;
|
|
8
|
+
EditPresetDrawer: React.ReactNode;
|
|
9
|
+
hasModifiedPreset: boolean;
|
|
10
|
+
listPresetMenuItems: React.ReactNode;
|
|
11
|
+
openPresetListDrawer: () => void;
|
|
12
|
+
PresetListDrawer: React.ReactNode;
|
|
13
|
+
resetPreset: () => Promise<void>;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=useListPresets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useListPresets.d.ts","sourceRoot":"","sources":["../../../src/elements/ListControls/useListPresets.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAoBzD,eAAO,MAAM,cAAc,sCAGxB;IACD,YAAY,EAAE,UAAU,CAAA;IACxB,cAAc,EAAE,cAAc,CAAA;CAC/B,KAAG;IACF,qBAAqB,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,mBAAmB,EAAE,KAAK,CAAC,SAAS,CAAA;IACpC,oBAAoB,EAAE,MAAM,IAAI,CAAA;IAChC,gBAAgB,EAAE,KAAK,CAAC,SAAS,CAAA;IACjC,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CA+PjC,CAAA"}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useModal } from '@faceless-ui/modal';
|
|
3
|
+
import { getTranslation } from '@payloadcms/translations';
|
|
4
|
+
import { transformColumnsToPreferences, transformColumnsToSearchParams } from 'payload/shared';
|
|
5
|
+
import { Fragment, useCallback } from 'react';
|
|
6
|
+
import { toast } from 'sonner';
|
|
7
|
+
import { useConfig } from '../../providers/Config/index.js';
|
|
8
|
+
import { useListQuery } from '../../providers/ListQuery/context.js';
|
|
9
|
+
import { useTableColumns } from '../../providers/TableColumns/context.js';
|
|
10
|
+
import { useTranslation } from '../../providers/Translation/index.js';
|
|
11
|
+
import { ConfirmationModal } from '../ConfirmationModal/index.js';
|
|
12
|
+
import { useDocumentDrawer } from '../DocumentDrawer/index.js';
|
|
13
|
+
import { useListDrawer } from '../ListDrawer/index.js';
|
|
14
|
+
import { PopupList } from '../Popup/index.js';
|
|
15
|
+
import { Translation } from '../Translation/index.js';
|
|
16
|
+
const confirmDeletePresetModalSlug = 'confirm-delete-preset';
|
|
17
|
+
export const useListPresets = ({
|
|
18
|
+
activePreset,
|
|
19
|
+
collectionSlug
|
|
20
|
+
}) => {
|
|
21
|
+
const {
|
|
22
|
+
modified: listQueryModified,
|
|
23
|
+
query,
|
|
24
|
+
refineListData,
|
|
25
|
+
setModified: setQueryModified
|
|
26
|
+
} = useListQuery();
|
|
27
|
+
const {
|
|
28
|
+
i18n,
|
|
29
|
+
t
|
|
30
|
+
} = useTranslation();
|
|
31
|
+
const {
|
|
32
|
+
openModal
|
|
33
|
+
} = useModal();
|
|
34
|
+
const {
|
|
35
|
+
modified: columnsModified,
|
|
36
|
+
setModified: setColumnsModified
|
|
37
|
+
} = useTableColumns();
|
|
38
|
+
const hasModified = listQueryModified || columnsModified;
|
|
39
|
+
const {
|
|
40
|
+
config: {
|
|
41
|
+
routes: {
|
|
42
|
+
api: apiRoute
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
getEntityConfig
|
|
46
|
+
} = useConfig();
|
|
47
|
+
const presetConfig = getEntityConfig({
|
|
48
|
+
collectionSlug: 'payload-list-presets'
|
|
49
|
+
});
|
|
50
|
+
const [PresetDocumentDrawer,, {
|
|
51
|
+
openDrawer: openDocumentDrawer
|
|
52
|
+
}] = useDocumentDrawer({
|
|
53
|
+
id: activePreset?.id,
|
|
54
|
+
collectionSlug: 'payload-list-presets'
|
|
55
|
+
});
|
|
56
|
+
const [CreateNewPresetDrawer,, {
|
|
57
|
+
closeDrawer: closeCreateNewDrawer,
|
|
58
|
+
openDrawer: openCreateNewDrawer
|
|
59
|
+
}] = useDocumentDrawer({
|
|
60
|
+
collectionSlug: 'payload-list-presets'
|
|
61
|
+
});
|
|
62
|
+
const [ListDrawer,, {
|
|
63
|
+
closeDrawer: closeListDrawer,
|
|
64
|
+
openDrawer: openListDrawer
|
|
65
|
+
}] = useListDrawer({
|
|
66
|
+
collectionSlugs: ['payload-list-presets']
|
|
67
|
+
});
|
|
68
|
+
const handlePresetChange = useCallback(async preset => {
|
|
69
|
+
await refineListData({
|
|
70
|
+
columns: preset.columns ? transformColumnsToSearchParams(preset.columns) : undefined,
|
|
71
|
+
preset: preset.id,
|
|
72
|
+
where: preset.where
|
|
73
|
+
});
|
|
74
|
+
}, [refineListData]);
|
|
75
|
+
const resetListPreset = useCallback(async () => {
|
|
76
|
+
await refineListData({
|
|
77
|
+
columns: undefined,
|
|
78
|
+
preset: undefined,
|
|
79
|
+
where: undefined
|
|
80
|
+
});
|
|
81
|
+
}, [refineListData]);
|
|
82
|
+
const handleDeletePreset = useCallback(async () => {
|
|
83
|
+
try {
|
|
84
|
+
await fetch(`${apiRoute}/payload-list-presets/${activePreset.id}`, {
|
|
85
|
+
method: 'DELETE'
|
|
86
|
+
}).then(async res => {
|
|
87
|
+
try {
|
|
88
|
+
const json = await res.json();
|
|
89
|
+
if (res.status < 400) {
|
|
90
|
+
toast.success(t('general:titleDeleted', {
|
|
91
|
+
label: getTranslation(presetConfig.labels.singular, i18n),
|
|
92
|
+
title: activePreset.title
|
|
93
|
+
}));
|
|
94
|
+
await resetListPreset();
|
|
95
|
+
} else {
|
|
96
|
+
if (json.errors) {
|
|
97
|
+
json.errors.forEach(error => toast.error(error.message));
|
|
98
|
+
} else {
|
|
99
|
+
toast.error(t('error:deletingTitle', {
|
|
100
|
+
title: activePreset.title
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
} catch (_err) {
|
|
105
|
+
toast.error(t('error:deletingTitle', {
|
|
106
|
+
title: activePreset.title
|
|
107
|
+
}));
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
} catch (_err) {
|
|
111
|
+
toast.error(t('error:deletingTitle', {
|
|
112
|
+
title: activePreset.title
|
|
113
|
+
}));
|
|
114
|
+
}
|
|
115
|
+
}, [apiRoute, activePreset?.id, activePreset?.title, t, presetConfig, i18n, resetListPreset]);
|
|
116
|
+
const saveCurrentChanges = useCallback(async () => {
|
|
117
|
+
try {
|
|
118
|
+
await fetch(`${apiRoute}/payload-list-presets/${activePreset.id}`, {
|
|
119
|
+
body: JSON.stringify({
|
|
120
|
+
columns: transformColumnsToPreferences(query.columns),
|
|
121
|
+
where: query.where
|
|
122
|
+
}),
|
|
123
|
+
credentials: 'include',
|
|
124
|
+
headers: {
|
|
125
|
+
'Content-Type': 'application/json'
|
|
126
|
+
},
|
|
127
|
+
method: 'PATCH'
|
|
128
|
+
}).then(async res => {
|
|
129
|
+
try {
|
|
130
|
+
const json = await res.json();
|
|
131
|
+
if (res.status < 400) {
|
|
132
|
+
toast.success(t('general:updatedLabelSuccessfully', {
|
|
133
|
+
label: getTranslation(presetConfig?.labels?.singular, i18n)
|
|
134
|
+
}));
|
|
135
|
+
setQueryModified(false);
|
|
136
|
+
setColumnsModified(false);
|
|
137
|
+
} else {
|
|
138
|
+
if (json.errors) {
|
|
139
|
+
json.errors.forEach(error => toast.error(error.message));
|
|
140
|
+
} else {
|
|
141
|
+
toast.error(t('error:unknown'));
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
} catch (_err) {
|
|
145
|
+
toast.error(t('error:unknown'));
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
} catch (_err) {
|
|
149
|
+
toast.error(t('error:unknown'));
|
|
150
|
+
}
|
|
151
|
+
}, [apiRoute, activePreset?.id, query.columns, query.where, t, presetConfig?.labels?.singular, i18n, setQueryModified, setColumnsModified]);
|
|
152
|
+
return {
|
|
153
|
+
CreateNewPresetDrawer: /*#__PURE__*/_jsx(CreateNewPresetDrawer, {
|
|
154
|
+
initialData: {
|
|
155
|
+
columns: transformColumnsToPreferences(query.columns),
|
|
156
|
+
relatedCollection: collectionSlug,
|
|
157
|
+
where: query.where
|
|
158
|
+
},
|
|
159
|
+
onSave: async ({
|
|
160
|
+
doc
|
|
161
|
+
}) => {
|
|
162
|
+
closeCreateNewDrawer();
|
|
163
|
+
await handlePresetChange(doc);
|
|
164
|
+
},
|
|
165
|
+
redirectAfterCreate: false
|
|
166
|
+
}),
|
|
167
|
+
DeletePresetModal: /*#__PURE__*/_jsx(ConfirmationModal, {
|
|
168
|
+
body: /*#__PURE__*/_jsx(Translation, {
|
|
169
|
+
elements: {
|
|
170
|
+
'1': ({
|
|
171
|
+
children
|
|
172
|
+
}) => /*#__PURE__*/_jsx("strong", {
|
|
173
|
+
children: children
|
|
174
|
+
})
|
|
175
|
+
},
|
|
176
|
+
i18nKey: "general:aboutToDelete",
|
|
177
|
+
t: t,
|
|
178
|
+
variables: {
|
|
179
|
+
label: getTranslation(t('general:preset'), i18n),
|
|
180
|
+
title: activePreset?.title
|
|
181
|
+
}
|
|
182
|
+
}),
|
|
183
|
+
confirmingLabel: t('general:deleting'),
|
|
184
|
+
heading: t('general:confirmDeletion'),
|
|
185
|
+
modalSlug: confirmDeletePresetModalSlug,
|
|
186
|
+
onConfirm: handleDeletePreset
|
|
187
|
+
}),
|
|
188
|
+
EditPresetDrawer: /*#__PURE__*/_jsx(PresetDocumentDrawer, {
|
|
189
|
+
onDelete: () => {
|
|
190
|
+
// setSelectedPreset(undefined)
|
|
191
|
+
},
|
|
192
|
+
onDuplicate: async ({
|
|
193
|
+
doc
|
|
194
|
+
}) => {
|
|
195
|
+
await handlePresetChange(doc);
|
|
196
|
+
},
|
|
197
|
+
onSave: async ({
|
|
198
|
+
doc
|
|
199
|
+
}) => {
|
|
200
|
+
await handlePresetChange(doc);
|
|
201
|
+
}
|
|
202
|
+
}),
|
|
203
|
+
hasModifiedPreset: hasModified,
|
|
204
|
+
listPresetMenuItems: /*#__PURE__*/_jsxs(Fragment, {
|
|
205
|
+
children: [activePreset && hasModified ? /*#__PURE__*/_jsxs(Fragment, {
|
|
206
|
+
children: [/*#__PURE__*/_jsx(PopupList.Button, {
|
|
207
|
+
onClick: () => {
|
|
208
|
+
// TODO: reset query and columns
|
|
209
|
+
setQueryModified(false);
|
|
210
|
+
setColumnsModified(false);
|
|
211
|
+
},
|
|
212
|
+
children: t('general:reset')
|
|
213
|
+
}), /*#__PURE__*/_jsx(PopupList.Button, {
|
|
214
|
+
onClick: async () => {
|
|
215
|
+
await saveCurrentChanges();
|
|
216
|
+
},
|
|
217
|
+
children: activePreset.isShared ? t('general:updateForEveryone') : t('general:save')
|
|
218
|
+
})]
|
|
219
|
+
}) : null, /*#__PURE__*/_jsx(PopupList.Button, {
|
|
220
|
+
onClick: () => {
|
|
221
|
+
openCreateNewDrawer();
|
|
222
|
+
},
|
|
223
|
+
children: t('general:createNewLabel', {
|
|
224
|
+
label: t('general:preset')
|
|
225
|
+
})
|
|
226
|
+
}), activePreset ? /*#__PURE__*/_jsxs(Fragment, {
|
|
227
|
+
children: [/*#__PURE__*/_jsx(PopupList.Button, {
|
|
228
|
+
onClick: () => openModal(confirmDeletePresetModalSlug),
|
|
229
|
+
children: t('general:delete')
|
|
230
|
+
}), /*#__PURE__*/_jsx(PopupList.Button, {
|
|
231
|
+
onClick: () => {
|
|
232
|
+
openDocumentDrawer();
|
|
233
|
+
},
|
|
234
|
+
children: t('general:edit')
|
|
235
|
+
})]
|
|
236
|
+
}) : null]
|
|
237
|
+
}, "preset-menu-items"),
|
|
238
|
+
openPresetListDrawer: openListDrawer,
|
|
239
|
+
PresetListDrawer: /*#__PURE__*/_jsx(ListDrawer, {
|
|
240
|
+
disableListPresets: true,
|
|
241
|
+
onSelect: async ({
|
|
242
|
+
doc
|
|
243
|
+
}) => {
|
|
244
|
+
closeListDrawer();
|
|
245
|
+
await handlePresetChange(doc);
|
|
246
|
+
}
|
|
247
|
+
}),
|
|
248
|
+
resetPreset: resetListPreset
|
|
249
|
+
};
|
|
250
|
+
};
|
|
251
|
+
//# sourceMappingURL=useListPresets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useListPresets.js","names":["useModal","getTranslation","transformColumnsToPreferences","transformColumnsToSearchParams","Fragment","useCallback","toast","useConfig","useListQuery","useTableColumns","useTranslation","ConfirmationModal","useDocumentDrawer","useListDrawer","PopupList","Translation","confirmDeletePresetModalSlug","useListPresets","activePreset","collectionSlug","modified","listQueryModified","query","refineListData","setModified","setQueryModified","i18n","t","openModal","columnsModified","setColumnsModified","hasModified","config","routes","api","apiRoute","getEntityConfig","presetConfig","PresetDocumentDrawer","openDrawer","openDocumentDrawer","id","CreateNewPresetDrawer","closeDrawer","closeCreateNewDrawer","openCreateNewDrawer","ListDrawer","closeListDrawer","openListDrawer","collectionSlugs","handlePresetChange","preset","columns","undefined","where","resetListPreset","handleDeletePreset","fetch","method","then","res","json","status","success","label","labels","singular","title","errors","forEach","error","message","_err","saveCurrentChanges","body","JSON","stringify","credentials","headers","_jsx","initialData","relatedCollection","onSave","doc","redirectAfterCreate","DeletePresetModal","elements","1","children","i18nKey","variables","confirmingLabel","heading","modalSlug","onConfirm","EditPresetDrawer","onDelete","onDuplicate","hasModifiedPreset","listPresetMenuItems","_jsxs","Button","onClick","isShared","openPresetListDrawer","PresetListDrawer","disableListPresets","onSelect","resetPreset"],"sources":["../../../src/elements/ListControls/useListPresets.tsx"],"sourcesContent":["import type { CollectionSlug, ListPreset } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { transformColumnsToPreferences, transformColumnsToSearchParams } from 'payload/shared'\nimport { act, Fragment, useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useListQuery } from '../../providers/ListQuery/context.js'\nimport { useTableColumns } from '../../providers/TableColumns/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { useListDrawer } from '../ListDrawer/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Translation } from '../Translation/index.js'\n\nconst confirmDeletePresetModalSlug = 'confirm-delete-preset'\n\nexport const useListPresets = ({\n activePreset,\n collectionSlug,\n}: {\n activePreset: ListPreset\n collectionSlug: CollectionSlug\n}): {\n CreateNewPresetDrawer: React.ReactNode\n DeletePresetModal: React.ReactNode\n EditPresetDrawer: React.ReactNode\n hasModifiedPreset: boolean\n listPresetMenuItems: React.ReactNode\n openPresetListDrawer: () => void\n PresetListDrawer: React.ReactNode\n resetPreset: () => Promise<void>\n} => {\n const {\n modified: listQueryModified,\n query,\n refineListData,\n setModified: setQueryModified,\n } = useListQuery()\n\n const { i18n, t } = useTranslation()\n const { openModal } = useModal()\n\n const { modified: columnsModified, setModified: setColumnsModified } = useTableColumns()\n\n const hasModified = listQueryModified || columnsModified\n\n const {\n config: {\n routes: { api: apiRoute },\n },\n getEntityConfig,\n } = useConfig()\n\n const presetConfig = getEntityConfig({ collectionSlug: 'payload-list-presets' })\n\n const [PresetDocumentDrawer, , { openDrawer: openDocumentDrawer }] = useDocumentDrawer({\n id: activePreset?.id,\n collectionSlug: 'payload-list-presets',\n })\n\n const [\n CreateNewPresetDrawer,\n ,\n { closeDrawer: closeCreateNewDrawer, openDrawer: openCreateNewDrawer },\n ] = useDocumentDrawer({\n collectionSlug: 'payload-list-presets',\n })\n\n const [ListDrawer, , { closeDrawer: closeListDrawer, openDrawer: openListDrawer }] =\n useListDrawer({\n collectionSlugs: ['payload-list-presets'],\n })\n\n const handlePresetChange = useCallback(\n async (preset: ListPreset) => {\n await refineListData({\n columns: preset.columns ? transformColumnsToSearchParams(preset.columns) : undefined,\n preset: preset.id,\n where: preset.where,\n })\n },\n [refineListData],\n )\n\n const resetListPreset = useCallback(async () => {\n await refineListData({\n columns: undefined,\n preset: undefined,\n where: undefined,\n })\n }, [refineListData])\n\n const handleDeletePreset = useCallback(async () => {\n try {\n await fetch(`${apiRoute}/payload-list-presets/${activePreset.id}`, {\n method: 'DELETE',\n }).then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n toast.success(\n t('general:titleDeleted', {\n label: getTranslation(presetConfig.labels.singular, i18n),\n title: activePreset.title,\n }),\n )\n\n await resetListPreset()\n } else {\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n toast.error(t('error:deletingTitle', { title: activePreset.title }))\n }\n }\n } catch (_err) {\n toast.error(t('error:deletingTitle', { title: activePreset.title }))\n }\n })\n } catch (_err) {\n toast.error(t('error:deletingTitle', { title: activePreset.title }))\n }\n }, [apiRoute, activePreset?.id, activePreset?.title, t, presetConfig, i18n, resetListPreset])\n\n const saveCurrentChanges = useCallback(async () => {\n try {\n await fetch(`${apiRoute}/payload-list-presets/${activePreset.id}`, {\n body: JSON.stringify({\n columns: transformColumnsToPreferences(query.columns),\n where: query.where,\n }),\n credentials: 'include',\n headers: {\n 'Content-Type': 'application/json',\n },\n method: 'PATCH',\n }).then(async (res) => {\n try {\n const json = await res.json()\n\n if (res.status < 400) {\n toast.success(\n t('general:updatedLabelSuccessfully', {\n label: getTranslation(presetConfig?.labels?.singular, i18n),\n }),\n )\n\n setQueryModified(false)\n setColumnsModified(false)\n } else {\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n toast.error(t('error:unknown'))\n }\n }\n } catch (_err) {\n toast.error(t('error:unknown'))\n }\n })\n } catch (_err) {\n toast.error(t('error:unknown'))\n }\n }, [\n apiRoute,\n activePreset?.id,\n query.columns,\n query.where,\n t,\n presetConfig?.labels?.singular,\n i18n,\n setQueryModified,\n setColumnsModified,\n ])\n\n return {\n CreateNewPresetDrawer: (\n <CreateNewPresetDrawer\n initialData={{\n columns: transformColumnsToPreferences(query.columns),\n relatedCollection: collectionSlug,\n where: query.where,\n }}\n onSave={async ({ doc }) => {\n closeCreateNewDrawer()\n await handlePresetChange(doc as ListPreset)\n }}\n redirectAfterCreate={false}\n />\n ),\n DeletePresetModal: (\n <ConfirmationModal\n body={\n <Translation\n elements={{\n '1': ({ children }) => <strong>{children}</strong>,\n }}\n i18nKey=\"general:aboutToDelete\"\n t={t}\n variables={{\n label: getTranslation(t('general:preset'), i18n),\n title: activePreset?.title,\n }}\n />\n }\n confirmingLabel={t('general:deleting')}\n heading={t('general:confirmDeletion')}\n modalSlug={confirmDeletePresetModalSlug}\n onConfirm={handleDeletePreset}\n />\n ),\n EditPresetDrawer: (\n <PresetDocumentDrawer\n onDelete={() => {\n // setSelectedPreset(undefined)\n }}\n onDuplicate={async ({ doc }) => {\n await handlePresetChange(doc as ListPreset)\n }}\n onSave={async ({ doc }) => {\n await handlePresetChange(doc as ListPreset)\n }}\n />\n ),\n hasModifiedPreset: hasModified,\n listPresetMenuItems: (\n <Fragment key=\"preset-menu-items\">\n {activePreset && hasModified ? (\n <Fragment>\n <PopupList.Button\n onClick={() => {\n // TODO: reset query and columns\n setQueryModified(false)\n setColumnsModified(false)\n }}\n >\n {t('general:reset')}\n </PopupList.Button>\n <PopupList.Button\n onClick={async () => {\n await saveCurrentChanges()\n }}\n >\n {activePreset.isShared ? t('general:updateForEveryone') : t('general:save')}\n </PopupList.Button>\n </Fragment>\n ) : null}\n <PopupList.Button\n onClick={() => {\n openCreateNewDrawer()\n }}\n >\n {t('general:createNewLabel', {\n label: t('general:preset'),\n })}\n </PopupList.Button>\n {activePreset ? (\n <Fragment>\n <PopupList.Button onClick={() => openModal(confirmDeletePresetModalSlug)}>\n {t('general:delete')}\n </PopupList.Button>\n <PopupList.Button\n onClick={() => {\n openDocumentDrawer()\n }}\n >\n {t('general:edit')}\n </PopupList.Button>\n </Fragment>\n ) : null}\n </Fragment>\n ),\n openPresetListDrawer: openListDrawer,\n PresetListDrawer: (\n <ListDrawer\n disableListPresets\n onSelect={async ({ doc }) => {\n closeListDrawer()\n await handlePresetChange(doc as ListPreset)\n }}\n />\n ),\n resetPreset: resetListPreset,\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DrawerContent.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAE/D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAUjD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsKvD,CAAA"}
|
|
@@ -2,17 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
4
4
|
import { useModal } from '@faceless-ui/modal';
|
|
5
|
+
import { hoistQueryParamsToAnd } from 'payload/shared';
|
|
5
6
|
import React, { useCallback, useEffect, useState } from 'react';
|
|
6
7
|
import { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js';
|
|
7
8
|
import { useEffectEvent } from '../../hooks/useEffectEvent.js';
|
|
8
9
|
import { useConfig } from '../../providers/Config/index.js';
|
|
9
10
|
import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
|
|
10
|
-
import { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js';
|
|
11
11
|
import { ListDrawerContextProvider } from '../ListDrawer/Provider.js';
|
|
12
12
|
import { LoadingOverlay } from '../Loading/index.js';
|
|
13
13
|
export const ListDrawerContent = ({
|
|
14
14
|
allowCreate = true,
|
|
15
15
|
collectionSlugs,
|
|
16
|
+
disableListPresets,
|
|
16
17
|
drawerSlug,
|
|
17
18
|
enableRowSelections,
|
|
18
19
|
filterOptions,
|
|
@@ -91,6 +92,7 @@ export const ListDrawerContent = ({
|
|
|
91
92
|
collectionSlug: slug_0,
|
|
92
93
|
disableBulkDelete: true,
|
|
93
94
|
disableBulkEdit: true,
|
|
95
|
+
disableListPresets,
|
|
94
96
|
drawerSlug,
|
|
95
97
|
enableRowSelections,
|
|
96
98
|
overrideEntityVisibility,
|
|
@@ -106,7 +108,7 @@ export const ListDrawerContent = ({
|
|
|
106
108
|
closeModal(drawerSlug);
|
|
107
109
|
}
|
|
108
110
|
}
|
|
109
|
-
}, [serverFunction, closeModal, allowCreate, drawerSlug, isOpen, enableRowSelections, filterOptions, overrideEntityVisibility]);
|
|
111
|
+
}, [serverFunction, closeModal, allowCreate, drawerSlug, isOpen, enableRowSelections, filterOptions, overrideEntityVisibility, disableListPresets]);
|
|
110
112
|
useEffect(() => {
|
|
111
113
|
if (!ListView) {
|
|
112
114
|
void renderList(selectedOption.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.js","names":["useModal","React","useCallback","useEffect","useState","useDocumentDrawer","useEffectEvent","useConfig","useServerFunctions","hoistQueryParamsToAnd","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","selectedCollectionFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","updateSelectedOption","renderList","query","newQuery","where","filterOption","List","ViewResult","name","args","disableBulkDelete","disableBulkEdit","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","_jsx","_jsxs","createNewDrawerSlug","onSave"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: selectedCollectionFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = selectedCollectionFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n\n const updateSelectedOption = useEffectEvent((selectedCollectionFromProps: string) => {\n if (selectedCollectionFromProps && selectedCollectionFromProps !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: selectedCollectionFromProps })?.labels,\n value: selectedCollectionFromProps,\n })\n }\n })\n\n useEffect(() => {\n updateSelectedOption(selectedCollectionFromProps)\n }, [selectedCollectionFromProps])\n\n const renderList = useCallback(\n async (slug: string, query?: ListQuery) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n const { List: ViewResult } = (await serverFunction({\n name: 'render-list',\n args: {\n allowCreate,\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n },\n })) as { List: React.ReactNode }\n\n setListView(ViewResult)\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n allowCreate,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void renderList(selectedOption.value)\n }\n }, [renderList, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption.value,\n doc,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange = useCallback(\n (query: ListQuery) => {\n void renderList(selectedOption.value, query)\n },\n [renderList, selectedOption.value],\n )\n\n const setMySelectedOption = useCallback(\n (incomingSelection: Option<string>) => {\n setSelectedOption(incomingSelection)\n void renderList(incomingSelection.value)\n },\n [renderList],\n )\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <ListDrawerContextProvider\n allowCreate={allowCreate}\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={onBulkSelect}\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {ListView}\n <DocumentDrawer onSave={onCreateNew} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DrawerContent.js","names":["useModal","hoistQueryParamsToAnd","React","useCallback","useEffect","useState","useDocumentDrawer","useEffectEvent","useConfig","useServerFunctions","ListDrawerContextProvider","LoadingOverlay","ListDrawerContent","allowCreate","collectionSlugs","disableListPresets","drawerSlug","enableRowSelections","filterOptions","onBulkSelect","onSelect","overrideEntityVisibility","selectedCollection","selectedCollectionFromProps","closeModal","isModalOpen","serverFunction","ListView","setListView","undefined","isLoading","setIsLoading","config","collections","getEntityConfig","isOpen","enabledCollections","filter","slug","includes","selectedOption","setSelectedOption","initialSelection","found","collectionSlug","label","labels","value","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","updateSelectedOption","renderList","query","newQuery","where","filterOption","List","ViewResult","name","args","disableBulkDelete","disableBulkEdit","_err","console","error","onCreateNew","doc","docID","id","onQueryChange","setMySelectedOption","incomingSelection","_jsx","_jsxs","createNewDrawerSlug","onSave"],"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ListQuery } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { hoistQueryParamsToAnd } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { useDocumentDrawer } from '../../elements/DocumentDrawer/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { ListDrawerContextProvider } from '../ListDrawer/Provider.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { type Option } from '../ReactSelect/index.js'\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n allowCreate = true,\n collectionSlugs,\n disableListPresets,\n drawerSlug,\n enableRowSelections,\n filterOptions,\n onBulkSelect,\n onSelect,\n overrideEntityVisibility = true,\n selectedCollection: selectedCollectionFromProps,\n}) => {\n const { closeModal, isModalOpen } = useModal()\n\n const { serverFunction } = useServerFunctions()\n const [ListView, setListView] = useState<React.ReactNode>(undefined)\n const [isLoading, setIsLoading] = useState(true)\n\n const {\n config: { collections },\n getEntityConfig,\n } = useConfig()\n\n const isOpen = isModalOpen(drawerSlug)\n\n const enabledCollections = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedOption, setSelectedOption] = useState<Option<string>>(() => {\n const initialSelection = selectedCollectionFromProps || enabledCollections[0]?.slug\n const found = getEntityConfig({ collectionSlug: initialSelection })\n\n return found\n ? {\n label: found.labels,\n value: found.slug,\n }\n : undefined\n })\n\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedOption.value,\n })\n\n const updateSelectedOption = useEffectEvent((selectedCollectionFromProps: string) => {\n if (selectedCollectionFromProps && selectedCollectionFromProps !== selectedOption?.value) {\n setSelectedOption({\n label: getEntityConfig({ collectionSlug: selectedCollectionFromProps })?.labels,\n value: selectedCollectionFromProps,\n })\n }\n })\n\n useEffect(() => {\n updateSelectedOption(selectedCollectionFromProps)\n }, [selectedCollectionFromProps])\n\n const renderList = useCallback(\n async (slug: string, query?: ListQuery) => {\n try {\n const newQuery: ListQuery = { ...(query || {}), where: { ...(query?.where || {}) } }\n\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOption)\n }\n\n const { List: ViewResult } = (await serverFunction({\n name: 'render-list',\n args: {\n allowCreate,\n collectionSlug: slug,\n disableBulkDelete: true,\n disableBulkEdit: true,\n disableListPresets,\n drawerSlug,\n enableRowSelections,\n overrideEntityVisibility,\n query: newQuery,\n },\n })) as { List: React.ReactNode }\n\n setListView(ViewResult)\n setIsLoading(false)\n } catch (_err) {\n console.error('Error rendering List View: ', _err) // eslint-disable-line no-console\n\n if (isOpen) {\n closeModal(drawerSlug)\n }\n }\n },\n [\n serverFunction,\n closeModal,\n allowCreate,\n drawerSlug,\n isOpen,\n enableRowSelections,\n filterOptions,\n overrideEntityVisibility,\n disableListPresets,\n ],\n )\n\n useEffect(() => {\n if (!ListView) {\n void renderList(selectedOption.value)\n }\n }, [renderList, ListView, selectedOption.value])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedOption.value,\n doc,\n docID: doc.id,\n })\n }\n\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedOption.value],\n )\n\n const onQueryChange = useCallback(\n (query: ListQuery) => {\n void renderList(selectedOption.value, query)\n },\n [renderList, selectedOption.value],\n )\n\n const setMySelectedOption = useCallback(\n (incomingSelection: Option<string>) => {\n setSelectedOption(incomingSelection)\n void renderList(incomingSelection.value)\n },\n [renderList],\n )\n\n if (isLoading) {\n return <LoadingOverlay />\n }\n\n return (\n <ListDrawerContextProvider\n allowCreate={allowCreate}\n createNewDrawerSlug={documentDrawerSlug}\n DocumentDrawerToggler={DocumentDrawerToggler}\n drawerSlug={drawerSlug}\n enabledCollections={collectionSlugs}\n onBulkSelect={onBulkSelect}\n onQueryChange={onQueryChange}\n onSelect={onSelect}\n selectedOption={selectedOption}\n setSelectedOption={setMySelectedOption}\n >\n {ListView}\n <DocumentDrawer onSave={onCreateNew} />\n </ListDrawerContextProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ import type { ListDrawerContextProps } from './Provider.js';
|
|
|
5
5
|
export type ListDrawerProps = {
|
|
6
6
|
readonly allowCreate?: boolean;
|
|
7
7
|
readonly collectionSlugs: SanitizedCollectionConfig['slug'][];
|
|
8
|
+
readonly disableListPresets?: boolean;
|
|
8
9
|
readonly drawerSlug?: string;
|
|
9
10
|
readonly enableRowSelections?: boolean;
|
|
10
11
|
readonly filterOptions?: FilterOptionsResult;
|
|
@@ -24,8 +25,8 @@ export type UseListDrawer = (args: {
|
|
|
24
25
|
selectedCollection?: SanitizedCollectionConfig['slug'];
|
|
25
26
|
uploads?: boolean;
|
|
26
27
|
}) => [
|
|
27
|
-
React.FC<
|
|
28
|
-
React.FC<
|
|
28
|
+
React.FC<Omit<ListDrawerProps, 'collectionSlugs'>>,
|
|
29
|
+
React.FC<Omit<ListTogglerProps, 'drawerSlug'>>,
|
|
29
30
|
{
|
|
30
31
|
closeDrawer: () => void;
|
|
31
32
|
collectionSlugs: SanitizedCollectionConfig['slug'][];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAE3D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IAC7D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAC3C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC,GAAG,sBAAsB,CAAA;AAE1B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,eAAe,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IACrD,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,KAAK;IACJ,KAAK,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ListDrawer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAE3D,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,eAAe,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IAC7D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAC5C,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAC3C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CACrC,GAAG,sBAAsB,CAAA;AAE1B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,cAAc,CAAC,iBAAiB,CAAC,CAAA;AAErC,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE;IACjC,eAAe,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;IACrD,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,kBAAkB,CAAC,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACtD,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB,KAAK;IACJ,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IAClD,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC;IAC9C;QACE,WAAW,EAAE,MAAM,IAAI,CAAA;QACvB,eAAe,EAAE,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAA;QACpD,WAAW,EAAE,MAAM,CAAA;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,YAAY,EAAE,OAAO,CAAA;QACrB,UAAU,EAAE,MAAM,IAAI,CAAA;QACtB,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,yBAAyB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7F,YAAY,EAAE,MAAM,IAAI,CAAA;KACzB;CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { ListDrawerContextProps } from './Provider.js'\n\nexport type ListDrawerProps = {\n readonly allowCreate?: boolean\n readonly collectionSlugs: SanitizedCollectionConfig['slug'][]\n readonly drawerSlug?: string\n readonly enableRowSelections?: boolean\n readonly filterOptions?: FilterOptionsResult\n readonly overrideEntityVisibility?: boolean\n readonly selectedCollection?: string\n} & ListDrawerContextProps\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: SanitizedCollectionConfig['slug'][]\n filterOptions?: FilterOptionsResult\n overrideEntityVisibility?: boolean\n selectedCollection?: SanitizedCollectionConfig['slug']\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC
|
|
1
|
+
{"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ListDrawer/types.ts"],"sourcesContent":["import type { FilterOptionsResult, SanitizedCollectionConfig } from 'payload'\nimport type React from 'react'\nimport type { HTMLAttributes } from 'react'\n\nimport type { ListDrawerContextProps } from './Provider.js'\n\nexport type ListDrawerProps = {\n readonly allowCreate?: boolean\n readonly collectionSlugs: SanitizedCollectionConfig['slug'][]\n readonly disableListPresets?: boolean\n readonly drawerSlug?: string\n readonly enableRowSelections?: boolean\n readonly filterOptions?: FilterOptionsResult\n readonly overrideEntityVisibility?: boolean\n readonly selectedCollection?: string\n} & ListDrawerContextProps\n\nexport type ListTogglerProps = {\n children?: React.ReactNode\n className?: string\n disabled?: boolean\n drawerSlug?: string\n} & HTMLAttributes<HTMLButtonElement>\n\nexport type UseListDrawer = (args: {\n collectionSlugs?: SanitizedCollectionConfig['slug'][]\n filterOptions?: FilterOptionsResult\n overrideEntityVisibility?: boolean\n selectedCollection?: SanitizedCollectionConfig['slug']\n uploads?: boolean // finds all collections with upload: true\n}) => [\n React.FC<Omit<ListDrawerProps, 'collectionSlugs'>>,\n React.FC<Omit<ListTogglerProps, 'drawerSlug'>>,\n {\n closeDrawer: () => void\n collectionSlugs: SanitizedCollectionConfig['slug'][]\n drawerDepth: number\n drawerSlug: string\n isDrawerOpen: boolean\n openDrawer: () => void\n setCollectionSlugs: React.Dispatch<React.SetStateAction<SanitizedCollectionConfig['slug'][]>>\n toggleDrawer: () => void\n },\n]\n"],"mappings":"AAwBA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ListPresets/cells/AccessCell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAIxD,OAAO,KAAmB,MAAM,OAAO,CAAA;AAEvC,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAuBrE,CAAA"}
|