@payloadcms/ui 3.51.0-internal.62eeed3 → 3.51.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/elements/Autosave/index.d.ts.map +1 -1
- package/dist/elements/Autosave/index.js +3 -0
- package/dist/elements/Autosave/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +2 -1
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/reducer.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/reducer.js +2 -1
- package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.d.ts.map +1 -1
- package/dist/elements/CopyToClipboard/index.js +33 -78
- package/dist/elements/CopyToClipboard/index.js.map +1 -1
- package/dist/elements/CopyToClipboard/index.scss +8 -0
- package/dist/elements/DocumentFields/index.scss +1 -0
- package/dist/elements/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +103 -127
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/index.scss +44 -32
- package/dist/elements/Pill/index.scss +1 -1
- package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts +9 -0
- package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +1 -0
- package/dist/elements/{ListControls/useQueryPresets.js → QueryPresets/QueryPresetBar/index.js} +80 -60
- package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -0
- package/dist/elements/QueryPresets/QueryPresetBar/index.scss +41 -0
- package/dist/elements/{ListControls/ActiveQueryPreset → QueryPresets/QueryPresetToggler}/index.d.ts +1 -1
- package/dist/elements/QueryPresets/QueryPresetToggler/index.d.ts.map +1 -0
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js +198 -0
- package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -0
- package/dist/elements/QueryPresets/QueryPresetToggler/index.scss +61 -0
- package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
- package/dist/elements/Table/OrderableTable.js +2 -1
- package/dist/elements/Table/OrderableTable.js.map +1 -1
- package/dist/elements/Upload/index.d.ts.map +1 -1
- package/dist/elements/Upload/index.js +3 -0
- package/dist/elements/Upload/index.js.map +1 -1
- package/dist/exports/client/index.js +24 -24
- package/dist/exports/client/index.js.map +4 -4
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +2 -0
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +15 -7
- package/dist/forms/Form/index.js.map +1 -1
- package/dist/forms/Form/mergeServerFormState.d.ts +15 -2
- package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
- package/dist/forms/Form/mergeServerFormState.js +9 -1
- package/dist/forms/Form/mergeServerFormState.js.map +1 -1
- package/dist/forms/Form/types.d.ts +8 -1
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
- package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +4 -4
- package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +0 -1
- package/dist/elements/ListControls/ActiveQueryPreset/index.js +0 -180
- package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +0 -1
- package/dist/elements/ListControls/ActiveQueryPreset/index.scss +0 -33
- package/dist/elements/ListControls/useQueryPresets.d.ts +0 -17
- package/dist/elements/ListControls/useQueryPresets.d.ts.map +0 -1
- package/dist/elements/ListControls/useQueryPresets.js.map +0 -1
|
@@ -5,7 +5,7 @@ import { useWindowInfo } from '@faceless-ui/window-info';
|
|
|
5
5
|
import { getTranslation } from '@payloadcms/translations';
|
|
6
6
|
import { validateWhereQuery } from 'payload/shared';
|
|
7
7
|
import React, { Fragment, useEffect, useRef, useState } from 'react';
|
|
8
|
-
import { Popup
|
|
8
|
+
import { Popup } from '../../elements/Popup/index.js';
|
|
9
9
|
import { useUseTitleField } from '../../hooks/useUseAsTitle.js';
|
|
10
10
|
import { ChevronIcon } from '../../icons/Chevron/index.js';
|
|
11
11
|
import { Dots } from '../../icons/Dots/index.js';
|
|
@@ -16,11 +16,10 @@ import { AnimateHeight } from '../AnimateHeight/index.js';
|
|
|
16
16
|
import { ColumnSelector } from '../ColumnSelector/index.js';
|
|
17
17
|
import { GroupByBuilder } from '../GroupByBuilder/index.js';
|
|
18
18
|
import { Pill } from '../Pill/index.js';
|
|
19
|
+
import { QueryPresetBar } from '../QueryPresets/QueryPresetBar/index.js';
|
|
19
20
|
import { SearchFilter } from '../SearchFilter/index.js';
|
|
20
21
|
import { WhereBuilder } from '../WhereBuilder/index.js';
|
|
21
|
-
import { ActiveQueryPreset } from './ActiveQueryPreset/index.js';
|
|
22
22
|
import { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js';
|
|
23
|
-
import { useQueryPresets } from './useQueryPresets.js';
|
|
24
23
|
import './index.scss';
|
|
25
24
|
const baseClass = 'list-controls';
|
|
26
25
|
/**
|
|
@@ -37,7 +36,7 @@ export const ListControls = props => {
|
|
|
37
36
|
enableColumns = true,
|
|
38
37
|
enableFilters = true,
|
|
39
38
|
enableSort = false,
|
|
40
|
-
listMenuItems
|
|
39
|
+
listMenuItems,
|
|
41
40
|
queryPreset: activePreset,
|
|
42
41
|
queryPresetPermissions,
|
|
43
42
|
renderedFilters,
|
|
@@ -47,20 +46,6 @@ export const ListControls = props => {
|
|
|
47
46
|
handleSearchChange,
|
|
48
47
|
query
|
|
49
48
|
} = useListQuery();
|
|
50
|
-
const {
|
|
51
|
-
CreateNewPresetDrawer,
|
|
52
|
-
DeletePresetModal,
|
|
53
|
-
EditPresetDrawer,
|
|
54
|
-
hasModifiedPreset,
|
|
55
|
-
openPresetListDrawer,
|
|
56
|
-
PresetListDrawer,
|
|
57
|
-
queryPresetMenuItems,
|
|
58
|
-
resetPreset
|
|
59
|
-
} = useQueryPresets({
|
|
60
|
-
activePreset,
|
|
61
|
-
collectionSlug,
|
|
62
|
-
queryPresetPermissions
|
|
63
|
-
});
|
|
64
49
|
const titleField = useUseTitleField(collectionConfig);
|
|
65
50
|
const {
|
|
66
51
|
i18n,
|
|
@@ -106,123 +91,114 @@ export const ListControls = props => {
|
|
|
106
91
|
});
|
|
107
92
|
}
|
|
108
93
|
}, [t, listSearchableFields, i18n, searchLabel]);
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
className: baseClass
|
|
94
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
95
|
+
className: baseClass,
|
|
96
|
+
children: [collectionConfig?.enableQueryPresets && !disableQueryPresets && /*#__PURE__*/_jsx(QueryPresetBar, {
|
|
97
|
+
activePreset: activePreset,
|
|
98
|
+
collectionSlug: collectionSlug,
|
|
99
|
+
queryPresetPermissions: queryPresetPermissions
|
|
100
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
101
|
+
className: `${baseClass}__wrap`,
|
|
117
102
|
children: [/*#__PURE__*/_jsxs("div", {
|
|
118
|
-
className: `${baseClass}
|
|
103
|
+
className: `${baseClass}__search`,
|
|
119
104
|
children: [/*#__PURE__*/_jsx(SearchIcon, {}), /*#__PURE__*/_jsx(SearchFilter, {
|
|
120
105
|
handleChange: handleSearchChange,
|
|
121
106
|
label: searchLabelTranslated.current,
|
|
122
107
|
searchQueryParam: query?.search
|
|
123
|
-
}, collectionSlug)
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}),
|
|
176
|
-
id: "toggle-group-by",
|
|
177
|
-
onClick: () => setVisibleDrawer(visibleDrawer !== 'group-by' ? 'group-by' : undefined),
|
|
178
|
-
pillStyle: "light",
|
|
179
|
-
size: "small",
|
|
180
|
-
children: t('general:groupByLabel', {
|
|
181
|
-
label: ''
|
|
182
|
-
})
|
|
183
|
-
}), listMenuItems && Array.isArray(listMenuItems) && listMenuItems.length > 0 && /*#__PURE__*/_jsx(Popup, {
|
|
184
|
-
button: /*#__PURE__*/_jsx(Dots, {
|
|
185
|
-
ariaLabel: t('general:moreOptions')
|
|
186
|
-
}),
|
|
187
|
-
className: `${baseClass}__popup`,
|
|
188
|
-
horizontalAlign: "right",
|
|
189
|
-
id: "list-menu",
|
|
190
|
-
size: "medium",
|
|
191
|
-
verticalAlign: "bottom",
|
|
192
|
-
children: listMenuItems.map((item, i_0) => /*#__PURE__*/_jsx(Fragment, {
|
|
193
|
-
children: item
|
|
194
|
-
}, `list-menu-item-${i_0}`))
|
|
195
|
-
})]
|
|
108
|
+
}, collectionSlug)]
|
|
109
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
110
|
+
className: `${baseClass}__buttons`,
|
|
111
|
+
children: [!smallBreak && /*#__PURE__*/_jsx(React.Fragment, {
|
|
112
|
+
children: beforeActions && beforeActions
|
|
113
|
+
}), enableColumns && /*#__PURE__*/_jsx(Pill, {
|
|
114
|
+
"aria-controls": `${baseClass}-columns`,
|
|
115
|
+
"aria-expanded": visibleDrawer === 'columns',
|
|
116
|
+
className: `${baseClass}__toggle-columns`,
|
|
117
|
+
icon: /*#__PURE__*/_jsx(ChevronIcon, {
|
|
118
|
+
direction: visibleDrawer === 'columns' ? 'up' : 'down'
|
|
119
|
+
}),
|
|
120
|
+
id: "toggle-list-columns",
|
|
121
|
+
onClick: () => setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined),
|
|
122
|
+
pillStyle: "light",
|
|
123
|
+
size: "small",
|
|
124
|
+
children: t('general:columns')
|
|
125
|
+
}), enableFilters && /*#__PURE__*/_jsx(Pill, {
|
|
126
|
+
"aria-controls": `${baseClass}-where`,
|
|
127
|
+
"aria-expanded": visibleDrawer === 'where',
|
|
128
|
+
className: `${baseClass}__toggle-where`,
|
|
129
|
+
icon: /*#__PURE__*/_jsx(ChevronIcon, {
|
|
130
|
+
direction: visibleDrawer === 'where' ? 'up' : 'down'
|
|
131
|
+
}),
|
|
132
|
+
id: "toggle-list-filters",
|
|
133
|
+
onClick: () => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined),
|
|
134
|
+
pillStyle: "light",
|
|
135
|
+
size: "small",
|
|
136
|
+
children: t('general:filters')
|
|
137
|
+
}), enableSort && /*#__PURE__*/_jsx(Pill, {
|
|
138
|
+
"aria-controls": `${baseClass}-sort`,
|
|
139
|
+
"aria-expanded": visibleDrawer === 'sort',
|
|
140
|
+
className: `${baseClass}__toggle-sort`,
|
|
141
|
+
icon: /*#__PURE__*/_jsx(ChevronIcon, {}),
|
|
142
|
+
id: "toggle-list-sort",
|
|
143
|
+
onClick: () => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined),
|
|
144
|
+
pillStyle: "light",
|
|
145
|
+
size: "small",
|
|
146
|
+
children: t('general:sort')
|
|
147
|
+
}), collectionConfig.admin.groupBy && /*#__PURE__*/_jsx(Pill, {
|
|
148
|
+
"aria-controls": `${baseClass}-group-by`,
|
|
149
|
+
"aria-expanded": visibleDrawer === 'group-by',
|
|
150
|
+
className: `${baseClass}__toggle-group-by`,
|
|
151
|
+
icon: /*#__PURE__*/_jsx(ChevronIcon, {
|
|
152
|
+
direction: visibleDrawer === 'group-by' ? 'up' : 'down'
|
|
153
|
+
}),
|
|
154
|
+
id: "toggle-group-by",
|
|
155
|
+
onClick: () => setVisibleDrawer(visibleDrawer !== 'group-by' ? 'group-by' : undefined),
|
|
156
|
+
pillStyle: "light",
|
|
157
|
+
size: "small",
|
|
158
|
+
children: t('general:groupByLabel', {
|
|
159
|
+
label: ''
|
|
196
160
|
})
|
|
161
|
+
}), listMenuItems && Array.isArray(listMenuItems) && listMenuItems.length > 0 && /*#__PURE__*/_jsx(Popup, {
|
|
162
|
+
button: /*#__PURE__*/_jsx(Dots, {
|
|
163
|
+
ariaLabel: t('general:moreOptions')
|
|
164
|
+
}),
|
|
165
|
+
className: `${baseClass}__popup`,
|
|
166
|
+
horizontalAlign: "right",
|
|
167
|
+
id: "list-menu",
|
|
168
|
+
size: "small",
|
|
169
|
+
verticalAlign: "bottom",
|
|
170
|
+
children: listMenuItems.map((item, i_0) => /*#__PURE__*/_jsx(Fragment, {
|
|
171
|
+
children: item
|
|
172
|
+
}, `list-menu-item-${i_0}`))
|
|
197
173
|
})]
|
|
198
|
-
}), enableColumns && /*#__PURE__*/_jsx(AnimateHeight, {
|
|
199
|
-
className: `${baseClass}__columns`,
|
|
200
|
-
height: visibleDrawer === 'columns' ? 'auto' : 0,
|
|
201
|
-
id: `${baseClass}-columns`,
|
|
202
|
-
children: /*#__PURE__*/_jsx(ColumnSelector, {
|
|
203
|
-
collectionSlug: collectionConfig.slug
|
|
204
|
-
})
|
|
205
|
-
}), /*#__PURE__*/_jsx(AnimateHeight, {
|
|
206
|
-
className: `${baseClass}__where`,
|
|
207
|
-
height: visibleDrawer === 'where' ? 'auto' : 0,
|
|
208
|
-
id: `${baseClass}-where`,
|
|
209
|
-
children: /*#__PURE__*/_jsx(WhereBuilder, {
|
|
210
|
-
collectionPluralLabel: collectionConfig.labels?.plural,
|
|
211
|
-
collectionSlug: collectionConfig.slug,
|
|
212
|
-
fields: collectionConfig.fields,
|
|
213
|
-
renderedFilters: renderedFilters,
|
|
214
|
-
resolvedFilterOptions: resolvedFilterOptions
|
|
215
|
-
})
|
|
216
|
-
}), collectionConfig.admin.groupBy && /*#__PURE__*/_jsx(AnimateHeight, {
|
|
217
|
-
className: `${baseClass}__group-by`,
|
|
218
|
-
height: visibleDrawer === 'group-by' ? 'auto' : 0,
|
|
219
|
-
id: `${baseClass}-group-by`,
|
|
220
|
-
children: /*#__PURE__*/_jsx(GroupByBuilder, {
|
|
221
|
-
collectionSlug: collectionConfig.slug,
|
|
222
|
-
fields: collectionConfig.fields
|
|
223
|
-
})
|
|
224
174
|
})]
|
|
225
|
-
}),
|
|
175
|
+
}), enableColumns && /*#__PURE__*/_jsx(AnimateHeight, {
|
|
176
|
+
className: `${baseClass}__columns`,
|
|
177
|
+
height: visibleDrawer === 'columns' ? 'auto' : 0,
|
|
178
|
+
id: `${baseClass}-columns`,
|
|
179
|
+
children: /*#__PURE__*/_jsx(ColumnSelector, {
|
|
180
|
+
collectionSlug: collectionConfig.slug
|
|
181
|
+
})
|
|
182
|
+
}), /*#__PURE__*/_jsx(AnimateHeight, {
|
|
183
|
+
className: `${baseClass}__where`,
|
|
184
|
+
height: visibleDrawer === 'where' ? 'auto' : 0,
|
|
185
|
+
id: `${baseClass}-where`,
|
|
186
|
+
children: /*#__PURE__*/_jsx(WhereBuilder, {
|
|
187
|
+
collectionPluralLabel: collectionConfig?.labels?.plural,
|
|
188
|
+
collectionSlug: collectionConfig.slug,
|
|
189
|
+
fields: collectionConfig?.fields,
|
|
190
|
+
renderedFilters: renderedFilters,
|
|
191
|
+
resolvedFilterOptions: resolvedFilterOptions
|
|
192
|
+
})
|
|
193
|
+
}), collectionConfig.admin.groupBy && /*#__PURE__*/_jsx(AnimateHeight, {
|
|
194
|
+
className: `${baseClass}__group-by`,
|
|
195
|
+
height: visibleDrawer === 'group-by' ? 'auto' : 0,
|
|
196
|
+
id: `${baseClass}-group-by`,
|
|
197
|
+
children: /*#__PURE__*/_jsx(GroupByBuilder, {
|
|
198
|
+
collectionSlug: collectionConfig.slug,
|
|
199
|
+
fields: collectionConfig.fields
|
|
200
|
+
})
|
|
201
|
+
})]
|
|
226
202
|
});
|
|
227
203
|
};
|
|
228
204
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
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","GroupByBuilder","Pill","SearchFilter","WhereBuilder","ActiveQueryPreset","getTextFieldsToBeSearched","useQueryPresets","baseClass","ListControls","props","beforeActions","collectionConfig","collectionSlug","disableQueryPresets","enableColumns","enableFilters","enableSort","listMenuItems","listMenuItemsFromProps","queryPreset","activePreset","queryPresetPermissions","renderedFilters","resolvedFilterOptions","handleSearchChange","query","CreateNewPresetDrawer","DeletePresetModal","EditPresetDrawer","hasModifiedPreset","openPresetListDrawer","PresetListDrawer","queryPresetMenuItems","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","enableQueryPresets","_jsx","Divider","_jsxs","className","handleChange","searchQueryParam","search","icon","direction","id","onClick","pillStyle","size","groupBy","Array","isArray","button","ariaLabel","horizontalAlign","verticalAlign","map","item","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 { GroupByBuilder } from '../GroupByBuilder/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport { ActiveQueryPreset } from './ActiveQueryPreset/index.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.js'\nimport { useQueryPresets } from './useQueryPresets.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 beforeActions,\n collectionConfig,\n collectionSlug,\n disableQueryPresets,\n enableColumns = true,\n enableFilters = true,\n enableSort = false,\n listMenuItems: listMenuItemsFromProps,\n queryPreset: activePreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n\n const { handleSearchChange, query } = useListQuery()\n\n const {\n CreateNewPresetDrawer,\n DeletePresetModal,\n EditPresetDrawer,\n hasModifiedPreset,\n openPresetListDrawer,\n PresetListDrawer,\n queryPresetMenuItems,\n resetPreset,\n } = useQueryPresets({\n activePreset,\n collectionSlug,\n queryPresetPermissions,\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 i18n,\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\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'group-by' | '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 let listMenuItems: React.ReactNode[] = listMenuItemsFromProps\n\n if (\n collectionConfig.enableQueryPresets &&\n !disableQueryPresets &&\n queryPresetMenuItems?.length > 0\n ) {\n // Cannot push or unshift into `listMenuItemsFromProps` as it will mutate the original array\n listMenuItems = [\n ...queryPresetMenuItems,\n listMenuItemsFromProps?.length > 0 ? <PopupList.Divider key=\"divider\" /> : null,\n ...(listMenuItemsFromProps || []),\n ]\n }\n\n return (\n <Fragment>\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <SearchIcon />\n <SearchFilter\n handleChange={handleSearchChange}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n searchQueryParam={query?.search}\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 id=\"toggle-columns\"\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)\n }\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:columns')}\n </Pill>\n )}\n {enableFilters && (\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 id=\"toggle-list-filters\"\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:filters')}\n </Pill>\n )}\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 size=\"small\"\n >\n {t('general:sort')}\n </Pill>\n )}\n {!disableQueryPresets && (\n <ActiveQueryPreset\n activePreset={activePreset}\n openPresetListDrawer={openPresetListDrawer}\n resetPreset={resetPreset}\n />\n )}\n {collectionConfig.admin.groupBy && (\n <Pill\n aria-controls={`${baseClass}-group-by`}\n aria-expanded={visibleDrawer === 'group-by'}\n className={`${baseClass}__toggle-group-by`}\n icon={<ChevronIcon direction={visibleDrawer === 'group-by' ? 'up' : 'down'} />}\n id=\"toggle-group-by\"\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'group-by' ? 'group-by' : undefined)\n }\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:groupByLabel', {\n label: '',\n })}\n </Pill>\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=\"medium\"\n verticalAlign=\"bottom\"\n >\n {listMenuItems.map((item, i) => (\n <Fragment key={`list-menu-item-${i}`}>{item}</Fragment>\n ))}\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 {collectionConfig.admin.groupBy && (\n <AnimateHeight\n className={`${baseClass}__group-by`}\n height={visibleDrawer === 'group-by' ? 'auto' : 0}\n id={`${baseClass}-group-by`}\n >\n <GroupByBuilder\n collectionSlug={collectionConfig.slug}\n fields={collectionConfig.fields}\n />\n </AnimateHeight>\n )}\n </div>\n {PresetListDrawer}\n {EditPresetDrawer}\n {CreateNewPresetDrawer}\n {DeletePresetModal}\n </Fragment>\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","useUseTitleField","ChevronIcon","Dots","SearchIcon","useListQuery","useTranslation","AnimateHeight","ColumnSelector","GroupByBuilder","Pill","QueryPresetBar","SearchFilter","WhereBuilder","getTextFieldsToBeSearched","baseClass","ListControls","props","beforeActions","collectionConfig","collectionSlug","disableQueryPresets","enableColumns","enableFilters","enableSort","listMenuItems","queryPreset","activePreset","queryPresetPermissions","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","enableQueryPresets","_jsx","handleChange","searchQueryParam","search","icon","direction","id","onClick","pillStyle","size","groupBy","Array","isArray","button","ariaLabel","horizontalAlign","verticalAlign","map","item","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 } 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 { GroupByBuilder } from '../GroupByBuilder/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { QueryPresetBar } from '../QueryPresets/QueryPresetBar/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport { WhereBuilder } from '../WhereBuilder/index.js'\nimport { getTextFieldsToBeSearched } from './getTextFieldsToBeSearched.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 beforeActions,\n collectionConfig,\n collectionSlug,\n disableQueryPresets,\n enableColumns = true,\n enableFilters = true,\n enableSort = false,\n listMenuItems,\n queryPreset: activePreset,\n queryPresetPermissions,\n renderedFilters,\n resolvedFilterOptions,\n } = props\n\n const { handleSearchChange, query } = useListQuery()\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 i18n,\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\n const [visibleDrawer, setVisibleDrawer] = useState<'columns' | 'group-by' | '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 {collectionConfig?.enableQueryPresets && !disableQueryPresets && (\n <QueryPresetBar\n activePreset={activePreset}\n collectionSlug={collectionSlug}\n queryPresetPermissions={queryPresetPermissions}\n />\n )}\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__search`}>\n <SearchIcon />\n <SearchFilter\n handleChange={handleSearchChange}\n key={collectionSlug}\n label={searchLabelTranslated.current}\n searchQueryParam={query?.search}\n />\n </div>\n <div className={`${baseClass}__buttons`}>\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 id=\"toggle-list-columns\"\n onClick={() => setVisibleDrawer(visibleDrawer !== 'columns' ? 'columns' : undefined)}\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:columns')}\n </Pill>\n )}\n {enableFilters && (\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 id=\"toggle-list-filters\"\n onClick={() => setVisibleDrawer(visibleDrawer !== 'where' ? 'where' : undefined)}\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:filters')}\n </Pill>\n )}\n {enableSort && (\n <Pill\n aria-controls={`${baseClass}-sort`}\n aria-expanded={visibleDrawer === 'sort'}\n className={`${baseClass}__toggle-sort`}\n icon={<ChevronIcon />}\n id=\"toggle-list-sort\"\n onClick={() => setVisibleDrawer(visibleDrawer !== 'sort' ? 'sort' : undefined)}\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:sort')}\n </Pill>\n )}\n {collectionConfig.admin.groupBy && (\n <Pill\n aria-controls={`${baseClass}-group-by`}\n aria-expanded={visibleDrawer === 'group-by'}\n className={`${baseClass}__toggle-group-by`}\n icon={<ChevronIcon direction={visibleDrawer === 'group-by' ? 'up' : 'down'} />}\n id=\"toggle-group-by\"\n onClick={() =>\n setVisibleDrawer(visibleDrawer !== 'group-by' ? 'group-by' : undefined)\n }\n pillStyle=\"light\"\n size=\"small\"\n >\n {t('general:groupByLabel', {\n label: '',\n })}\n </Pill>\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=\"small\"\n verticalAlign=\"bottom\"\n >\n {listMenuItems.map((item, i) => (\n <Fragment key={`list-menu-item-${i}`}>{item}</Fragment>\n ))}\n </Popup>\n )}\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 {collectionConfig.admin.groupBy && (\n <AnimateHeight\n className={`${baseClass}__group-by`}\n height={visibleDrawer === 'group-by' ? 'auto' : 0}\n id={`${baseClass}-group-by`}\n >\n <GroupByBuilder collectionSlug={collectionConfig.slug} fields={collectionConfig.fields} />\n </AnimateHeight>\n )}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,19 +2,48 @@
|
|
|
2
2
|
|
|
3
3
|
@layer payload-default {
|
|
4
4
|
.list-controls {
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
gap: 2px;
|
|
8
|
+
|
|
5
9
|
&__wrap {
|
|
6
10
|
display: flex;
|
|
7
11
|
align-items: center;
|
|
12
|
+
justify-content: space-between;
|
|
13
|
+
gap: base(0.5);
|
|
8
14
|
background-color: var(--theme-elevation-50);
|
|
9
15
|
border-radius: var(--style-radius-m);
|
|
10
|
-
|
|
11
|
-
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
&__search {
|
|
19
|
+
display: flex;
|
|
20
|
+
background-color: var(--theme-elevation-50);
|
|
21
|
+
border-radius: var(--style-radius-m);
|
|
22
|
+
gap: base(0.4);
|
|
23
|
+
flex-grow: 1;
|
|
24
|
+
position: relative;
|
|
25
|
+
|
|
26
|
+
.icon {
|
|
27
|
+
flex-shrink: 0;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.icon--search {
|
|
32
|
+
position: absolute;
|
|
33
|
+
left: 0;
|
|
34
|
+
top: 50%;
|
|
35
|
+
transform: translate3d(0, -50%, 0);
|
|
36
|
+
inset-inline-start: base(0.4);
|
|
37
|
+
z-index: 1;
|
|
38
|
+
pointer-events: none;
|
|
12
39
|
}
|
|
13
40
|
|
|
14
41
|
.search-filter {
|
|
15
42
|
flex-grow: 1;
|
|
16
43
|
|
|
17
44
|
input {
|
|
45
|
+
height: 46px;
|
|
46
|
+
padding-left: 36px;
|
|
18
47
|
margin: 0;
|
|
19
48
|
}
|
|
20
49
|
}
|
|
@@ -24,14 +53,11 @@
|
|
|
24
53
|
border-radius: 0;
|
|
25
54
|
}
|
|
26
55
|
|
|
27
|
-
&
|
|
28
|
-
color: var(--theme-elevation-500);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
&__buttons-wrap {
|
|
56
|
+
&__buttons {
|
|
32
57
|
display: flex;
|
|
33
58
|
align-items: center;
|
|
34
59
|
gap: calc(var(--base) / 4);
|
|
60
|
+
padding-right: 10px;
|
|
35
61
|
}
|
|
36
62
|
|
|
37
63
|
.pill-selector,
|
|
@@ -43,34 +69,25 @@
|
|
|
43
69
|
|
|
44
70
|
@include small-break {
|
|
45
71
|
&__wrap {
|
|
46
|
-
flex-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.icon--search {
|
|
53
|
-
position: absolute;
|
|
54
|
-
top: base(0.4);
|
|
55
|
-
inset-inline-start: base(0.4);
|
|
56
|
-
z-index: 1;
|
|
72
|
+
flex-direction: column;
|
|
73
|
+
align-items: stretch;
|
|
74
|
+
background-color: transparent;
|
|
75
|
+
border-radius: 0;
|
|
57
76
|
}
|
|
58
77
|
|
|
59
78
|
.search-filter {
|
|
60
79
|
width: 100%;
|
|
80
|
+
|
|
61
81
|
input {
|
|
62
|
-
|
|
82
|
+
height: 40px;
|
|
83
|
+
padding: 0 base(1.5);
|
|
63
84
|
}
|
|
64
85
|
}
|
|
65
86
|
|
|
66
|
-
&__buttons
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
[dir='rtl'] & {
|
|
72
|
-
margin-left: 0;
|
|
73
|
-
}
|
|
87
|
+
&__buttons {
|
|
88
|
+
padding-right: 0;
|
|
89
|
+
margin: 0;
|
|
90
|
+
width: 100%;
|
|
74
91
|
|
|
75
92
|
.pill {
|
|
76
93
|
padding: base(0.2) base(0.2) base(0.2) base(0.4);
|
|
@@ -78,11 +95,6 @@
|
|
|
78
95
|
}
|
|
79
96
|
}
|
|
80
97
|
|
|
81
|
-
&__buttons {
|
|
82
|
-
margin: 0;
|
|
83
|
-
width: 100%;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
98
|
.pill-selector,
|
|
87
99
|
.where-builder,
|
|
88
100
|
.sort-complex {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { QueryPreset, SanitizedCollectionPermission } from 'payload';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import './index.scss';
|
|
4
|
+
export declare const QueryPresetBar: React.FC<{
|
|
5
|
+
activePreset: QueryPreset;
|
|
6
|
+
collectionSlug?: string;
|
|
7
|
+
queryPresetPermissions: SanitizedCollectionPermission;
|
|
8
|
+
}>;
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/QueryPresets/QueryPresetBar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,6BAA6B,EAAE,MAAM,SAAS,CAAA;AAKzE,OAAO,KAAyC,MAAM,OAAO,CAAA;AAc7D,OAAO,cAAc,CAAA;AAQrB,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC;IACpC,YAAY,EAAE,WAAW,CAAA;IACzB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,sBAAsB,EAAE,6BAA6B,CAAA;CACtD,CA2RA,CAAA"}
|