@payloadcms/ui 3.11.1-canary.3f6217a → 3.11.1-canary.eb516b3

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.
Files changed (89) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/EditForm/index.js +6 -6
  3. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/index.d.ts +3 -1
  5. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  6. package/dist/elements/BulkUpload/index.js +30 -19
  7. package/dist/elements/BulkUpload/index.js.map +1 -1
  8. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  9. package/dist/elements/DocumentDrawer/DrawerContent.js +6 -6
  10. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  11. package/dist/elements/EditMany/index.d.ts.map +1 -1
  12. package/dist/elements/EditMany/index.js +6 -6
  13. package/dist/elements/EditMany/index.js.map +1 -1
  14. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +14 -0
  15. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -0
  16. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +75 -0
  17. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -0
  18. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +8 -0
  19. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -0
  20. package/dist/elements/PublishButton/ScheduleDrawer/index.js +260 -0
  21. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -0
  22. package/dist/elements/PublishButton/ScheduleDrawer/index.scss +48 -0
  23. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +10 -0
  24. package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -0
  25. package/dist/elements/PublishButton/ScheduleDrawer/types.js +2 -0
  26. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -0
  27. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  28. package/dist/elements/PublishButton/index.js +116 -186
  29. package/dist/elements/PublishButton/index.js.map +1 -1
  30. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  31. package/dist/elements/TableColumns/index.js +9 -9
  32. package/dist/elements/TableColumns/index.js.map +1 -1
  33. package/dist/exports/client/index.d.ts +1 -0
  34. package/dist/exports/client/index.d.ts.map +1 -1
  35. package/dist/exports/client/index.js +22 -22
  36. package/dist/exports/client/index.js.map +4 -4
  37. package/dist/exports/shared/index.d.ts +1 -1
  38. package/dist/exports/shared/index.d.ts.map +1 -1
  39. package/dist/exports/shared/index.js +2 -2
  40. package/dist/exports/shared/index.js.map +3 -3
  41. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  42. package/dist/fields/Array/ArrayRow.js +4 -1
  43. package/dist/fields/Array/ArrayRow.js.map +1 -1
  44. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  45. package/dist/fields/Blocks/BlockRow.js +4 -1
  46. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  47. package/dist/fields/Upload/Input.d.ts.map +1 -1
  48. package/dist/fields/Upload/Input.js +115 -109
  49. package/dist/fields/Upload/Input.js.map +1 -1
  50. package/dist/forms/Form/index.d.ts.map +1 -1
  51. package/dist/forms/Form/index.js +6 -6
  52. package/dist/forms/Form/index.js.map +1 -1
  53. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  54. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -0
  55. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  56. package/dist/providers/Auth/index.js +3 -3
  57. package/dist/providers/Auth/index.js.map +1 -1
  58. package/dist/providers/DocumentEvents/index.d.ts +2 -6
  59. package/dist/providers/DocumentEvents/index.d.ts.map +1 -1
  60. package/dist/providers/DocumentEvents/index.js.map +1 -1
  61. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  62. package/dist/providers/DocumentInfo/index.js.map +1 -1
  63. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  64. package/dist/providers/ListQuery/index.js +19 -10
  65. package/dist/providers/ListQuery/index.js.map +1 -1
  66. package/dist/providers/ServerFunctions/index.d.ts +5 -0
  67. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  68. package/dist/providers/ServerFunctions/index.js +31 -0
  69. package/dist/providers/ServerFunctions/index.js.map +1 -1
  70. package/dist/styles.css +1 -1
  71. package/dist/utilities/abortAndIgnore.d.ts +2 -1
  72. package/dist/utilities/abortAndIgnore.d.ts.map +1 -1
  73. package/dist/utilities/abortAndIgnore.js +17 -3
  74. package/dist/utilities/abortAndIgnore.js.map +1 -1
  75. package/dist/utilities/parseSearchParams.d.ts +9 -1
  76. package/dist/utilities/parseSearchParams.d.ts.map +1 -1
  77. package/dist/utilities/parseSearchParams.js +10 -2
  78. package/dist/utilities/parseSearchParams.js.map +1 -1
  79. package/dist/utilities/schedulePublishHandler.d.ts +13 -0
  80. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -0
  81. package/dist/utilities/schedulePublishHandler.js +38 -0
  82. package/dist/utilities/schedulePublishHandler.js.map +1 -0
  83. package/dist/views/Edit/index.d.ts.map +1 -1
  84. package/dist/views/Edit/index.js +13 -22
  85. package/dist/views/Edit/index.js.map +1 -1
  86. package/dist/views/List/index.d.ts.map +1 -1
  87. package/dist/views/List/index.js +15 -12
  88. package/dist/views/List/index.js.map +1 -1
  89. package/package.json +6 -6
@@ -0,0 +1,75 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { getTranslation } from '@payloadcms/translations';
3
+ import { formatDate } from '../../../utilities/formatDate.js';
4
+ import { Pill } from '../../Pill/index.js';
5
+ export const buildUpcomingColumns = ({
6
+ dateFormat,
7
+ docs,
8
+ i18n,
9
+ localization,
10
+ t
11
+ }) => {
12
+ const columns = [{
13
+ accessor: 'input.type',
14
+ active: true,
15
+ field: {
16
+ name: '',
17
+ type: 'text'
18
+ },
19
+ Heading: /*#__PURE__*/_jsx("span", {
20
+ children: t('version:type')
21
+ }),
22
+ renderedCells: docs.map(doc => {
23
+ const type = doc.input?.type;
24
+ return /*#__PURE__*/_jsxs(Pill, {
25
+ pillStyle: type === 'publish' ? 'success' : 'warning',
26
+ children: [type === 'publish' && t('version:publish'), type === 'unpublish' && t('version:unpublish')]
27
+ }, doc.id);
28
+ })
29
+ }, {
30
+ accessor: 'waitUntil',
31
+ active: true,
32
+ field: {
33
+ name: '',
34
+ type: 'date'
35
+ },
36
+ Heading: /*#__PURE__*/_jsx("span", {
37
+ children: t('general:time')
38
+ }),
39
+ renderedCells: docs.map(doc => /*#__PURE__*/_jsx("span", {
40
+ children: formatDate({
41
+ date: doc.waitUntil,
42
+ i18n,
43
+ pattern: dateFormat
44
+ })
45
+ }, doc.id))
46
+ }];
47
+ if (localization) {
48
+ columns.push({
49
+ accessor: 'input.locale',
50
+ active: true,
51
+ field: {
52
+ name: '',
53
+ type: 'text'
54
+ },
55
+ Heading: /*#__PURE__*/_jsx("span", {
56
+ children: t('general:locale')
57
+ }),
58
+ renderedCells: docs.map(doc => {
59
+ if (doc.input.locale) {
60
+ const matchedLocale = localization.locales.find(locale => locale.code === doc.input.locale);
61
+ if (matchedLocale) {
62
+ return /*#__PURE__*/_jsx("span", {
63
+ children: getTranslation(matchedLocale.label, i18n)
64
+ }, doc.id);
65
+ }
66
+ }
67
+ return /*#__PURE__*/_jsx("span", {
68
+ children: t('general:all')
69
+ }, doc.id);
70
+ })
71
+ });
72
+ }
73
+ return columns;
74
+ };
75
+ //# sourceMappingURL=buildUpcomingColumns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildUpcomingColumns.js","names":["getTranslation","formatDate","Pill","buildUpcomingColumns","dateFormat","docs","i18n","localization","t","columns","accessor","active","field","name","type","Heading","_jsx","renderedCells","map","doc","input","_jsxs","pillStyle","id","date","waitUntil","pattern","push","locale","matchedLocale","locales","find","code","label"],"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.tsx"],"sourcesContent":["import type { ClientConfig } from 'payload'\n\nimport { getTranslation, type I18nClient, type TFunction } from '@payloadcms/translations'\n\nimport type { Column } from '../../Table/index.js'\nimport type { UpcomingEvent } from './types.js'\n\nimport { formatDate } from '../../../utilities/formatDate.js'\nimport { Pill } from '../../Pill/index.js'\n\ntype Args = {\n dateFormat: string\n docs: UpcomingEvent[]\n i18n: I18nClient\n localization: ClientConfig['localization']\n t: TFunction\n}\n\nexport const buildUpcomingColumns = ({\n dateFormat,\n docs,\n i18n,\n localization,\n t,\n}: Args): Column[] => {\n const columns: Column[] = [\n {\n accessor: 'input.type',\n active: true,\n field: {\n name: '',\n type: 'text',\n },\n Heading: <span>{t('version:type')}</span>,\n renderedCells: docs.map((doc) => {\n const type = doc.input?.type\n\n return (\n <Pill key={doc.id} pillStyle={type === 'publish' ? 'success' : 'warning'}>\n {type === 'publish' && t('version:publish')}\n {type === 'unpublish' && t('version:unpublish')}\n </Pill>\n )\n }),\n },\n {\n accessor: 'waitUntil',\n active: true,\n field: {\n name: '',\n type: 'date',\n },\n Heading: <span>{t('general:time')}</span>,\n renderedCells: docs.map((doc) => (\n <span key={doc.id}>{formatDate({ date: doc.waitUntil, i18n, pattern: dateFormat })}</span>\n )),\n },\n ]\n\n if (localization) {\n columns.push({\n accessor: 'input.locale',\n active: true,\n field: {\n name: '',\n type: 'text',\n },\n Heading: <span>{t('general:locale')}</span>,\n renderedCells: docs.map((doc) => {\n if (doc.input.locale) {\n const matchedLocale = localization.locales.find(\n (locale) => locale.code === doc.input.locale,\n )\n if (matchedLocale) {\n return <span key={doc.id}>{getTranslation(matchedLocale.label, i18n)}</span>\n }\n }\n\n return <span key={doc.id}>{t('general:all')}</span>\n }),\n })\n }\n\n return columns\n}\n"],"mappings":";AAEA,SAASA,cAAc,QAAyC;AAKhE,SAASC,UAAU,QAAQ;AAC3B,SAASC,IAAI,QAAQ;AAUrB,OAAO,MAAMC,oBAAA,GAAuBA,CAAC;EACnCC,UAAU;EACVC,IAAI;EACJC,IAAI;EACJC,YAAY;EACZC;AAAC,CACI;EACL,MAAMC,OAAA,GAAoB,CACxB;IACEC,QAAA,EAAU;IACVC,MAAA,EAAQ;IACRC,KAAA,EAAO;MACLC,IAAA,EAAM;MACNC,IAAA,EAAM;IACR;IACAC,OAAA,eAASC,IAAA,CAAC;gBAAMR,CAAA,CAAE;;IAClBS,aAAA,EAAeZ,IAAA,CAAKa,GAAG,CAAEC,GAAA;MACvB,MAAML,IAAA,GAAOK,GAAA,CAAIC,KAAK,EAAEN,IAAA;MAExB,oBACEO,KAAA,CAACnB,IAAA;QAAkBoB,SAAA,EAAWR,IAAA,KAAS,YAAY,YAAY;mBAC5DA,IAAA,KAAS,aAAaN,CAAA,CAAE,oBACxBM,IAAA,KAAS,eAAeN,CAAA,CAAE;SAFlBW,GAAA,CAAII,EAAE;IAKrB;EACF,GACA;IACEb,QAAA,EAAU;IACVC,MAAA,EAAQ;IACRC,KAAA,EAAO;MACLC,IAAA,EAAM;MACNC,IAAA,EAAM;IACR;IACAC,OAAA,eAASC,IAAA,CAAC;gBAAMR,CAAA,CAAE;;IAClBS,aAAA,EAAeZ,IAAA,CAAKa,GAAG,CAAEC,GAAA,iBACvBH,IAAA,CAAC;gBAAmBf,UAAA,CAAW;QAAEuB,IAAA,EAAML,GAAA,CAAIM,SAAS;QAAEnB,IAAA;QAAMoB,OAAA,EAAStB;MAAW;OAArEe,GAAA,CAAII,EAAE;EAErB,EACD;EAED,IAAIhB,YAAA,EAAc;IAChBE,OAAA,CAAQkB,IAAI,CAAC;MACXjB,QAAA,EAAU;MACVC,MAAA,EAAQ;MACRC,KAAA,EAAO;QACLC,IAAA,EAAM;QACNC,IAAA,EAAM;MACR;MACAC,OAAA,eAASC,IAAA,CAAC;kBAAMR,CAAA,CAAE;;MAClBS,aAAA,EAAeZ,IAAA,CAAKa,GAAG,CAAEC,GAAA;QACvB,IAAIA,GAAA,CAAIC,KAAK,CAACQ,MAAM,EAAE;UACpB,MAAMC,aAAA,GAAgBtB,YAAA,CAAauB,OAAO,CAACC,IAAI,CAC5CH,MAAA,IAAWA,MAAA,CAAOI,IAAI,KAAKb,GAAA,CAAIC,KAAK,CAACQ,MAAM;UAE9C,IAAIC,aAAA,EAAe;YACjB,oBAAOb,IAAA,CAAC;wBAAmBhB,cAAA,CAAe6B,aAAA,CAAcI,KAAK,EAAE3B,IAAA;eAA7Ca,GAAA,CAAII,EAAE;UAC1B;QACF;QAEA,oBAAOP,IAAA,CAAC;oBAAmBR,CAAA,CAAE;WAAXW,GAAA,CAAII,EAAE;MAC1B;IACF;EACF;EAEA,OAAOd,OAAA;AACT","ignoreList":[]}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import './index.scss';
3
+ type Props = {
4
+ slug: string;
5
+ };
6
+ export declare const ScheduleDrawer: React.FC<Props>;
7
+ export {};
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,OAAO,CAAA;AAuBzB,OAAO,cAAc,CAAA;AAIrB,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAOD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAkN1C,CAAA"}
@@ -0,0 +1,260 @@
1
+ /* eslint-disable no-console */'use client';
2
+
3
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ import { useModal } from '@faceless-ui/modal';
5
+ import { getTranslation } from '@payloadcms/translations';
6
+ import React from 'react';
7
+ import { toast } from 'sonner';
8
+ import { FieldLabel } from '../../../fields/FieldLabel/index.js';
9
+ import { Radio } from '../../../fields/RadioGroup/Radio/index.js';
10
+ import { useConfig } from '../../../providers/Config/index.js';
11
+ import { useDocumentInfo } from '../../../providers/DocumentInfo/index.js';
12
+ import { useServerFunctions } from '../../../providers/ServerFunctions/index.js';
13
+ import { useTranslation } from '../../../providers/Translation/index.js';
14
+ import { requests } from '../../../utilities/api.js';
15
+ import { Banner } from '../../Banner/index.js';
16
+ import { DrawerCloseButton } from '../../BulkUpload/DrawerCloseButton/index.js';
17
+ import { Button } from '../../Button/index.js';
18
+ import { DatePickerField } from '../../DatePicker/index.js';
19
+ import { Drawer } from '../../Drawer/index.js';
20
+ import { Gutter } from '../../Gutter/index.js';
21
+ import { ReactSelect } from '../../ReactSelect/index.js';
22
+ import { ShimmerEffect } from '../../ShimmerEffect/index.js';
23
+ import { Table } from '../../Table/index.js';
24
+ import { buildUpcomingColumns } from './buildUpcomingColumns.js';
25
+ import './index.scss';
26
+ const baseClass = 'schedule-publish';
27
+ const defaultLocaleOption = {
28
+ label: 'All',
29
+ value: 'all'
30
+ };
31
+ export const ScheduleDrawer = ({
32
+ slug
33
+ }) => {
34
+ const {
35
+ toggleModal
36
+ } = useModal();
37
+ const {
38
+ config: {
39
+ admin: {
40
+ dateFormat
41
+ },
42
+ localization,
43
+ routes: {
44
+ api
45
+ },
46
+ serverURL
47
+ }
48
+ } = useConfig();
49
+ const {
50
+ id,
51
+ collectionSlug,
52
+ globalSlug,
53
+ title
54
+ } = useDocumentInfo();
55
+ const {
56
+ i18n,
57
+ t
58
+ } = useTranslation();
59
+ const {
60
+ schedulePublish
61
+ } = useServerFunctions();
62
+ const [type, setType] = React.useState('publish');
63
+ const [date, setDate] = React.useState();
64
+ const [locale, setLocale] = React.useState(defaultLocaleOption);
65
+ const [processing, setProcessing] = React.useState(false);
66
+ const modalTitle = t('general:schedulePublishFor', {
67
+ title
68
+ });
69
+ const [upcoming, setUpcoming] = React.useState();
70
+ const [upcomingColumns, setUpcomingColumns] = React.useState();
71
+ const localeOptions = React.useMemo(() => {
72
+ if (localization) {
73
+ const options = localization.locales.map(({
74
+ code,
75
+ label
76
+ }) => ({
77
+ label: getTranslation(label, i18n),
78
+ value: code
79
+ }));
80
+ options.unshift(defaultLocaleOption);
81
+ return options;
82
+ }
83
+ return [];
84
+ }, [localization, i18n]);
85
+ const fetchUpcoming = React.useCallback(async () => {
86
+ const params = {
87
+ sort: 'waitUntil',
88
+ where: {
89
+ and: [{
90
+ taskSlug: {
91
+ equals: 'schedulePublish'
92
+ }
93
+ }, {
94
+ waitUntil: {
95
+ greater_than: new Date()
96
+ }
97
+ }]
98
+ }
99
+ };
100
+ if (collectionSlug) {
101
+ params.where.and.push({
102
+ 'input.doc.value': {
103
+ equals: id
104
+ }
105
+ });
106
+ params.where.and.push({
107
+ 'input.doc.relationTo': {
108
+ equals: collectionSlug
109
+ }
110
+ });
111
+ }
112
+ if (globalSlug) {
113
+ params.where.and.push({
114
+ 'input.global': {
115
+ equals: globalSlug
116
+ }
117
+ });
118
+ }
119
+ const {
120
+ docs
121
+ } = await requests.get(`${serverURL}${api}/payload-jobs`, {
122
+ params
123
+ }).then(res => res.json());
124
+ setUpcomingColumns(buildUpcomingColumns({
125
+ dateFormat,
126
+ docs,
127
+ i18n,
128
+ localization,
129
+ t
130
+ }));
131
+ setUpcoming(docs);
132
+ }, [api, collectionSlug, dateFormat, globalSlug, i18n, id, serverURL, t, localization]);
133
+ const handleSave = React.useCallback(async () => {
134
+ if (!date) {
135
+ return toast.error(t('general:noDateSelected'));
136
+ }
137
+ setProcessing(true);
138
+ let publishSpecificLocale;
139
+ if (typeof locale === 'object' && locale.value !== 'all' && type === 'publish') {
140
+ publishSpecificLocale = locale.value;
141
+ }
142
+ try {
143
+ await schedulePublish({
144
+ type,
145
+ date,
146
+ doc: collectionSlug ? {
147
+ relationTo: collectionSlug,
148
+ value: id
149
+ } : undefined,
150
+ global: globalSlug || undefined,
151
+ locale: publishSpecificLocale
152
+ });
153
+ setDate(undefined);
154
+ toast.success(t('version:scheduledSuccessfully'));
155
+ void fetchUpcoming();
156
+ } catch (err) {
157
+ console.error(err);
158
+ toast.error(err.message);
159
+ }
160
+ setProcessing(false);
161
+ }, [date, t, schedulePublish, type, locale, collectionSlug, id, globalSlug, fetchUpcoming]);
162
+ React.useEffect(() => {
163
+ if (!upcoming) {
164
+ const fetchInitialUpcoming = async () => {
165
+ await fetchUpcoming();
166
+ };
167
+ void fetchInitialUpcoming();
168
+ }
169
+ }, [upcoming, fetchUpcoming]);
170
+ return /*#__PURE__*/_jsxs(Drawer, {
171
+ className: baseClass,
172
+ gutter: false,
173
+ Header: /*#__PURE__*/_jsxs("div", {
174
+ className: `${baseClass}__drawer-header`,
175
+ children: [/*#__PURE__*/_jsx("h2", {
176
+ title: modalTitle,
177
+ children: modalTitle
178
+ }), /*#__PURE__*/_jsx(DrawerCloseButton, {
179
+ onClick: () => toggleModal(slug)
180
+ })]
181
+ }),
182
+ slug: slug,
183
+ children: [/*#__PURE__*/_jsxs(Gutter, {
184
+ className: `${baseClass}__scheduler`,
185
+ children: [/*#__PURE__*/_jsx(FieldLabel, {
186
+ label: t('version:type'),
187
+ required: true
188
+ }), /*#__PURE__*/_jsxs("ul", {
189
+ className: `${baseClass}__type`,
190
+ children: [/*#__PURE__*/_jsx("li", {
191
+ children: /*#__PURE__*/_jsx(Radio, {
192
+ id: `${slug}-type`,
193
+ isSelected: type === 'publish',
194
+ onChange: () => setType('publish'),
195
+ option: {
196
+ label: t('version:publish'),
197
+ value: 'publish'
198
+ },
199
+ path: `${slug}-type`,
200
+ readOnly: processing
201
+ })
202
+ }), /*#__PURE__*/_jsx("li", {
203
+ children: /*#__PURE__*/_jsx(Radio, {
204
+ id: `${slug}-type`,
205
+ isSelected: type === 'unpublish',
206
+ onChange: () => setType('unpublish'),
207
+ option: {
208
+ label: t('version:unpublish'),
209
+ value: 'unpublish'
210
+ },
211
+ path: `${slug}-type`,
212
+ readOnly: processing
213
+ })
214
+ })]
215
+ }), /*#__PURE__*/_jsx("br", {}), /*#__PURE__*/_jsx(FieldLabel, {
216
+ label: t('general:time'),
217
+ required: true
218
+ }), /*#__PURE__*/_jsx(DatePickerField, {
219
+ minDate: new Date(),
220
+ onChange: e => setDate(e),
221
+ pickerAppearance: "dayAndTime",
222
+ readOnly: processing,
223
+ timeIntervals: 5,
224
+ value: date
225
+ }), /*#__PURE__*/_jsx("br", {}), localeOptions.length > 0 && type === 'publish' && /*#__PURE__*/_jsxs(React.Fragment, {
226
+ children: [/*#__PURE__*/_jsx(FieldLabel, {
227
+ label: t('localization:localeToPublish')
228
+ }), /*#__PURE__*/_jsx(ReactSelect, {
229
+ onChange: e_0 => setLocale(e_0),
230
+ options: localeOptions,
231
+ value: locale
232
+ }), /*#__PURE__*/_jsx("br", {})]
233
+ }), /*#__PURE__*/_jsxs("div", {
234
+ className: `${baseClass}__actions`,
235
+ children: [/*#__PURE__*/_jsx(Button, {
236
+ buttonStyle: "primary",
237
+ disabled: processing,
238
+ onClick: handleSave,
239
+ type: "button",
240
+ children: t('general:save')
241
+ }), processing ? /*#__PURE__*/_jsx("span", {
242
+ children: t('general:saving')
243
+ }) : null]
244
+ })]
245
+ }), /*#__PURE__*/_jsxs(Gutter, {
246
+ className: `${baseClass}__upcoming`,
247
+ children: [/*#__PURE__*/_jsx("h4", {
248
+ children: t('general:upcomingEvents')
249
+ }), !upcoming && /*#__PURE__*/_jsx(ShimmerEffect, {}), upcoming?.length === 0 && /*#__PURE__*/_jsx(Banner, {
250
+ type: "info",
251
+ children: t('general:noUpcomingEventsScheduled')
252
+ }), upcoming?.length > 0 && /*#__PURE__*/_jsx(Table, {
253
+ appearance: "condensed",
254
+ columns: upcomingColumns,
255
+ data: upcoming
256
+ })]
257
+ })]
258
+ });
259
+ };
260
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["useModal","getTranslation","React","toast","FieldLabel","Radio","useConfig","useDocumentInfo","useServerFunctions","useTranslation","requests","Banner","DrawerCloseButton","Button","DatePickerField","Drawer","Gutter","ReactSelect","ShimmerEffect","Table","buildUpcomingColumns","baseClass","defaultLocaleOption","label","value","ScheduleDrawer","slug","toggleModal","config","admin","dateFormat","localization","routes","api","serverURL","id","collectionSlug","globalSlug","title","i18n","t","schedulePublish","type","setType","useState","date","setDate","locale","setLocale","processing","setProcessing","modalTitle","upcoming","setUpcoming","upcomingColumns","setUpcomingColumns","localeOptions","useMemo","options","locales","map","code","unshift","fetchUpcoming","useCallback","params","sort","where","and","taskSlug","equals","waitUntil","greater_than","Date","push","docs","get","then","res","json","handleSave","error","publishSpecificLocale","doc","relationTo","undefined","global","success","err","console","message","useEffect","fetchInitialUpcoming","_jsxs","className","gutter","Header","_jsx","onClick","required","isSelected","onChange","option","path","readOnly","minDate","e","pickerAppearance","timeIntervals","length","Fragment","buttonStyle","disabled","appearance","columns","data"],"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"sourcesContent":["/* eslint-disable no-console */\n'use client'\n\nimport type { Where } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\nimport { toast } from 'sonner'\n\nimport type { Column } from '../../Table/index.js'\nimport type { PublishType, UpcomingEvent } from './types.js'\n\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { Radio } from '../../../fields/RadioGroup/Radio/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport { Banner } from '../../Banner/index.js'\nimport { DrawerCloseButton } from '../../BulkUpload/DrawerCloseButton/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DatePickerField } from '../../DatePicker/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { Gutter } from '../../Gutter/index.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { Table } from '../../Table/index.js'\nimport { buildUpcomingColumns } from './buildUpcomingColumns.js'\nimport './index.scss'\n\nconst baseClass = 'schedule-publish'\n\ntype Props = {\n slug: string\n}\n\nconst defaultLocaleOption = {\n label: 'All',\n value: 'all',\n}\n\nexport const ScheduleDrawer: React.FC<Props> = ({ slug }) => {\n const { toggleModal } = useModal()\n const {\n config: {\n admin: { dateFormat },\n localization,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { id, collectionSlug, globalSlug, title } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n const { schedulePublish } = useServerFunctions()\n const [type, setType] = React.useState<PublishType>('publish')\n const [date, setDate] = React.useState<Date>()\n const [locale, setLocale] = React.useState<{ label: string; value: string }>(defaultLocaleOption)\n const [processing, setProcessing] = React.useState(false)\n const modalTitle = t('general:schedulePublishFor', { title })\n const [upcoming, setUpcoming] = React.useState<UpcomingEvent[]>()\n const [upcomingColumns, setUpcomingColumns] = React.useState<Column[]>()\n\n const localeOptions = React.useMemo(() => {\n if (localization) {\n const options = localization.locales.map(({ code, label }) => ({\n label: getTranslation(label, i18n),\n value: code,\n }))\n\n options.unshift(defaultLocaleOption)\n\n return options\n }\n\n return []\n }, [localization, i18n])\n\n const fetchUpcoming = React.useCallback(async () => {\n const params: { sort: string; where: Where } = {\n sort: 'waitUntil',\n where: {\n and: [\n {\n taskSlug: {\n equals: 'schedulePublish',\n },\n },\n {\n waitUntil: {\n greater_than: new Date(),\n },\n },\n ],\n },\n }\n\n if (collectionSlug) {\n params.where.and.push({\n 'input.doc.value': {\n equals: id,\n },\n })\n\n params.where.and.push({\n 'input.doc.relationTo': {\n equals: collectionSlug,\n },\n })\n }\n\n if (globalSlug) {\n params.where.and.push({\n 'input.global': {\n equals: globalSlug,\n },\n })\n }\n\n const { docs } = await requests\n .get(`${serverURL}${api}/payload-jobs`, { params })\n .then((res) => res.json())\n\n setUpcomingColumns(buildUpcomingColumns({ dateFormat, docs, i18n, localization, t }))\n setUpcoming(docs)\n }, [api, collectionSlug, dateFormat, globalSlug, i18n, id, serverURL, t, localization])\n\n const handleSave = React.useCallback(async () => {\n if (!date) {\n return toast.error(t('general:noDateSelected'))\n }\n\n setProcessing(true)\n\n let publishSpecificLocale: string\n\n if (typeof locale === 'object' && locale.value !== 'all' && type === 'publish') {\n publishSpecificLocale = locale.value\n }\n\n try {\n await schedulePublish({\n type,\n date,\n doc: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: id,\n }\n : undefined,\n global: globalSlug || undefined,\n locale: publishSpecificLocale,\n })\n\n setDate(undefined)\n toast.success(t('version:scheduledSuccessfully'))\n void fetchUpcoming()\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n\n setProcessing(false)\n }, [date, t, schedulePublish, type, locale, collectionSlug, id, globalSlug, fetchUpcoming])\n\n React.useEffect(() => {\n if (!upcoming) {\n const fetchInitialUpcoming = async () => {\n await fetchUpcoming()\n }\n\n void fetchInitialUpcoming()\n }\n }, [upcoming, fetchUpcoming])\n\n return (\n <Drawer\n className={baseClass}\n gutter={false}\n Header={\n <div className={`${baseClass}__drawer-header`}>\n <h2 title={modalTitle}>{modalTitle}</h2>\n <DrawerCloseButton onClick={() => toggleModal(slug)} />\n </div>\n }\n slug={slug}\n >\n <Gutter className={`${baseClass}__scheduler`}>\n <FieldLabel label={t('version:type')} required />\n <ul className={`${baseClass}__type`}>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'publish'}\n onChange={() => setType('publish')}\n option={{ label: t('version:publish'), value: 'publish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'unpublish'}\n onChange={() => setType('unpublish')}\n option={{ label: t('version:unpublish'), value: 'unpublish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n </ul>\n <br />\n <FieldLabel label={t('general:time')} required />\n <DatePickerField\n minDate={new Date()}\n onChange={(e) => setDate(e)}\n pickerAppearance=\"dayAndTime\"\n readOnly={processing}\n timeIntervals={5}\n value={date}\n />\n <br />\n {localeOptions.length > 0 && type === 'publish' && (\n <React.Fragment>\n <FieldLabel label={t('localization:localeToPublish')} />\n <ReactSelect\n onChange={(e) => setLocale(e as { label: string; value: string })}\n options={localeOptions}\n value={locale}\n />\n <br />\n </React.Fragment>\n )}\n <div className={`${baseClass}__actions`}>\n <Button buttonStyle=\"primary\" disabled={processing} onClick={handleSave} type=\"button\">\n {t('general:save')}\n </Button>\n {processing ? <span>{t('general:saving')}</span> : null}\n </div>\n </Gutter>\n <Gutter className={`${baseClass}__upcoming`}>\n <h4>{t('general:upcomingEvents')}</h4>\n {!upcoming && <ShimmerEffect />}\n {upcoming?.length === 0 && (\n <Banner type=\"info\">{t('general:noUpcomingEventsScheduled')}</Banner>\n )}\n {upcoming?.length > 0 && (\n <Table appearance=\"condensed\" columns={upcomingColumns} data={upcoming} />\n )}\n </Gutter>\n </Drawer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,48 @@
1
+ @layer payload-default {
2
+ .schedule-publish {
3
+ &__drawer-header {
4
+ display: flex;
5
+ justify-content: space-between;
6
+ align-items: center;
7
+ padding: calc(var(--base) * 2.5) var(--gutter-h);
8
+ height: 48px;
9
+ border-bottom: 1px solid var(--theme-border-color);
10
+
11
+ h2 {
12
+ margin: 0;
13
+ }
14
+ }
15
+
16
+ &__scheduler {
17
+ padding-top: calc(var(--base) * 2);
18
+ padding-bottom: calc(var(--base) * 2);
19
+ border-bottom: 1px solid var(--theme-border-color);
20
+ }
21
+
22
+ &__type {
23
+ list-style: none;
24
+ margin: 0;
25
+ padding: 0;
26
+ display: flex;
27
+
28
+ li {
29
+ margin-right: calc(var(--base) * 2);
30
+ }
31
+ }
32
+
33
+ &__actions {
34
+ button {
35
+ margin-right: var(--base);
36
+ }
37
+ }
38
+
39
+ &__upcoming {
40
+ padding-top: calc(var(--base) * 2);
41
+ padding-bottom: calc(var(--base) * 2);
42
+
43
+ h4 {
44
+ margin-bottom: var(--base);
45
+ }
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,10 @@
1
+ export type PublishType = 'publish' | 'unpublish';
2
+ export type UpcomingEvent = {
3
+ id: number | string;
4
+ input: {
5
+ locale?: string;
6
+ type: PublishType;
7
+ };
8
+ waitUntil: Date;
9
+ };
10
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,WAAW,CAAA;AAEjD,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;IACnB,KAAK,EAAE;QACL,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,WAAW,CAAA;KAClB,CAAA;IACD,SAAS,EAAE,IAAI,CAAA;CAChB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/types.ts"],"sourcesContent":["export type PublishType = 'publish' | 'unpublish'\n\nexport type UpcomingEvent = {\n id: number | string\n input: {\n locale?: string\n type: PublishType\n }\n waitUntil: Date\n}\n"],"mappings":"AAEA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishButton/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAa1C,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAmJtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/PublishButton/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAc1C,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAyLtD,CAAA"}