@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.
- package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditForm/index.js +6 -6
- package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
- package/dist/elements/BulkUpload/index.d.ts +3 -1
- package/dist/elements/BulkUpload/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/index.js +30 -19
- package/dist/elements/BulkUpload/index.js.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
- package/dist/elements/DocumentDrawer/DrawerContent.js +6 -6
- package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +6 -6
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +14 -0
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -0
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +75 -0
- package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts +8 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.js +260 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -0
- package/dist/elements/PublishButton/ScheduleDrawer/index.scss +48 -0
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts +10 -0
- package/dist/elements/PublishButton/ScheduleDrawer/types.d.ts.map +1 -0
- package/dist/elements/PublishButton/ScheduleDrawer/types.js +2 -0
- package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -0
- package/dist/elements/PublishButton/index.d.ts.map +1 -1
- package/dist/elements/PublishButton/index.js +116 -186
- package/dist/elements/PublishButton/index.js.map +1 -1
- package/dist/elements/TableColumns/index.d.ts.map +1 -1
- package/dist/elements/TableColumns/index.js +9 -9
- package/dist/elements/TableColumns/index.js.map +1 -1
- package/dist/exports/client/index.d.ts +1 -0
- package/dist/exports/client/index.d.ts.map +1 -1
- package/dist/exports/client/index.js +22 -22
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.d.ts +1 -1
- 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 +3 -3
- package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
- package/dist/fields/Array/ArrayRow.js +4 -1
- package/dist/fields/Array/ArrayRow.js.map +1 -1
- package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
- package/dist/fields/Blocks/BlockRow.js +4 -1
- package/dist/fields/Blocks/BlockRow.js.map +1 -1
- package/dist/fields/Upload/Input.d.ts.map +1 -1
- package/dist/fields/Upload/Input.js +115 -109
- package/dist/fields/Upload/Input.js.map +1 -1
- package/dist/forms/Form/index.d.ts.map +1 -1
- package/dist/forms/Form/index.js +6 -6
- package/dist/forms/Form/index.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/providers/Auth/index.js +3 -3
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/DocumentEvents/index.d.ts +2 -6
- package/dist/providers/DocumentEvents/index.d.ts.map +1 -1
- package/dist/providers/DocumentEvents/index.js.map +1 -1
- package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
- package/dist/providers/DocumentInfo/index.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +19 -10
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/providers/ServerFunctions/index.d.ts +5 -0
- package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
- package/dist/providers/ServerFunctions/index.js +31 -0
- package/dist/providers/ServerFunctions/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/utilities/abortAndIgnore.d.ts +2 -1
- package/dist/utilities/abortAndIgnore.d.ts.map +1 -1
- package/dist/utilities/abortAndIgnore.js +17 -3
- package/dist/utilities/abortAndIgnore.js.map +1 -1
- package/dist/utilities/parseSearchParams.d.ts +9 -1
- package/dist/utilities/parseSearchParams.d.ts.map +1 -1
- package/dist/utilities/parseSearchParams.js +10 -2
- package/dist/utilities/parseSearchParams.js.map +1 -1
- package/dist/utilities/schedulePublishHandler.d.ts +13 -0
- package/dist/utilities/schedulePublishHandler.d.ts.map +1 -0
- package/dist/utilities/schedulePublishHandler.js +38 -0
- package/dist/utilities/schedulePublishHandler.js.map +1 -0
- package/dist/views/Edit/index.d.ts.map +1 -1
- package/dist/views/Edit/index.js +13 -22
- 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 +15 -12
- package/dist/views/List/index.js.map +1 -1
- 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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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":"
|
|
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"}
|