@payloadcms/ui 3.55.0-canary.9 → 3.55.0-internal.a030723
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/ListControls/index.d.ts.map +1 -1
- package/dist/elements/ListControls/index.js +78 -69
- package/dist/elements/ListControls/index.js.map +1 -1
- package/dist/elements/ListControls/index.scss +82 -2
- package/dist/elements/LivePreview/Window/index.d.ts.map +1 -1
- package/dist/elements/LivePreview/Window/index.js +64 -74
- package/dist/elements/LivePreview/Window/index.js.map +1 -1
- package/dist/elements/SearchBar/index.d.ts +3 -2
- package/dist/elements/SearchBar/index.d.ts.map +1 -1
- package/dist/elements/SearchBar/index.js +3 -2
- package/dist/elements/SearchBar/index.js.map +1 -1
- package/dist/elements/SearchBar/index.scss +7 -56
- package/dist/elements/SearchFilter/index.d.ts +33 -2
- package/dist/elements/SearchFilter/index.d.ts.map +1 -1
- package/dist/elements/SearchFilter/index.js +5 -7
- package/dist/elements/SearchFilter/index.js.map +1 -1
- package/dist/elements/Status/index.d.ts.map +1 -1
- package/dist/elements/Status/index.js +1 -1
- package/dist/elements/Status/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/RowLabel/Context/index.d.ts.map +1 -1
- package/dist/forms/RowLabel/Context/index.js +31 -17
- package/dist/forms/RowLabel/Context/index.js.map +1 -1
- package/dist/providers/Auth/index.d.ts +1 -2
- package/dist/providers/Auth/index.d.ts.map +1 -1
- package/dist/providers/Auth/index.js +83 -74
- package/dist/providers/Auth/index.js.map +1 -1
- package/dist/providers/LivePreview/context.d.ts +2 -0
- package/dist/providers/LivePreview/context.d.ts.map +1 -1
- package/dist/providers/LivePreview/context.js +1 -0
- package/dist/providers/LivePreview/context.js.map +1 -1
- package/dist/providers/LivePreview/index.d.ts.map +1 -1
- package/dist/providers/LivePreview/index.js +12 -0
- package/dist/providers/LivePreview/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/views/BrowseByFolder/index.js +1 -1
- package/dist/views/BrowseByFolder/index.js.map +1 -1
- package/dist/views/CollectionFolder/index.js +1 -1
- package/dist/views/CollectionFolder/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/elements/SearchFilter/types.d.ts +0 -33
- package/dist/elements/SearchFilter/types.d.ts.map +0 -1
- package/dist/elements/SearchFilter/types.js +0 -2
- package/dist/elements/SearchFilter/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","reduceFieldsToValues","React","useEffect","useAllFormFields","useDocumentEvents","useDocumentInfo","useLivePreviewContext","useLocale","ShimmerEffect","DeviceContainer","IFrame","LivePreviewToolbar","baseClass","LivePreviewWindow","props","$","appIsReady","breakpoint","iframeHasLoaded","iframeRef","isLivePreviewing","popupRef","previewWindowType","setIframeHasLoaded","url","locale","mostRecentUpdate","formState","id","collectionSlug","globalSlug","t0","window","values","message","type","data","externallyUpdatedRelationship","code","current","postMessage","contentWindow","t1","t2","message_0","t3","t4","t5","t6","filter","Boolean","t7","join","t8","_jsx","className","children","_jsxs","ref","height"],"sources":["../../../../src/elements/LivePreview/Window/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload'\n\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport { useAllFormFields } from '../../../forms/Form/context.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useLivePreviewContext } from '../../../providers/LivePreview/context.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { DeviceContainer } from '../Device/index.js'\nimport './index.scss'\nimport { IFrame } from '../IFrame/index.js'\nimport { LivePreviewToolbar } from '../Toolbar/index.js'\n\nconst baseClass = 'live-preview-window'\n\nexport const LivePreviewWindow: React.FC<EditViewProps> = (props) => {\n const {\n appIsReady,\n breakpoint,\n iframeHasLoaded,\n iframeRef,\n isLivePreviewing,\n popupRef,\n previewWindowType,\n setIframeHasLoaded,\n url,\n } = useLivePreviewContext()\n\n const locale = useLocale()\n\n const { mostRecentUpdate } = useDocumentEvents()\n\n const [formState] = useAllFormFields()\n const { id, collectionSlug, globalSlug } = useDocumentInfo()\n\n // For client-side apps, send data through `window.postMessage`\n // The preview could either be an iframe embedded on the page\n // Or it could be a separate popup window\n // We need to transmit data to both accordingly\n useEffect(() => {\n if (!isLivePreviewing) {\n return\n }\n\n // For performance, do no reduce fields to values until after the iframe or popup has loaded\n if (formState && window && 'postMessage' in window && appIsReady) {\n const values = reduceFieldsToValues(formState, true)\n\n if (!values.id) {\n values.id = id\n }\n\n const message = {\n type: 'payload-live-preview',\n collectionSlug,\n data: values,\n externallyUpdatedRelationship: mostRecentUpdate,\n globalSlug,\n locale: locale.code,\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }\n }, [\n formState,\n url,\n collectionSlug,\n globalSlug,\n iframeHasLoaded,\n id,\n previewWindowType,\n popupRef,\n appIsReady,\n iframeRef,\n setIframeHasLoaded,\n mostRecentUpdate,\n locale,\n isLivePreviewing,\n ])\n\n // To support SSR, we transmit a `window.postMessage` event without a payload\n // This is because the event will ultimately trigger a server-side roundtrip\n // i.e., save, save draft, autosave, etc. will fire `router.refresh()`\n useEffect(() => {\n if (!isLivePreviewing) {\n return\n }\n\n const message = {\n type: 'payload-document-event',\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }, [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url, isLivePreviewing])\n\n if (previewWindowType === 'iframe') {\n return (\n <div\n className={[\n baseClass,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__wrapper`}>\n <LivePreviewToolbar {...props} />\n <div className={`${baseClass}__main`}>\n <DeviceContainer>\n {url ? (\n <IFrame ref={iframeRef} setIframeHasLoaded={setIframeHasLoaded} url={url} />\n ) : (\n <ShimmerEffect height=\"100%\" />\n )}\n </DeviceContainer>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","reduceFieldsToValues","React","useEffect","useAllFormFields","useDocumentEvents","useLivePreviewContext","useLocale","ShimmerEffect","DeviceContainer","IFrame","LivePreviewToolbar","baseClass","LivePreviewWindow","props","$","appIsReady","breakpoint","fieldSchemaJSON","iframeHasLoaded","iframeRef","isLivePreviewing","popupRef","previewWindowType","setIframeHasLoaded","url","locale","mostRecentUpdate","prevWindowType","useRef","undefined","formState","t0","window","values","shouldSendSchema","current","message","type","data","externallyUpdatedRelationship","code","postMessage","contentWindow","t1","t2","message_0","t3","t4","t5","t6","filter","Boolean","t7","join","t8","_jsx","className","children","_jsxs","ref","height"],"sources":["../../../../src/elements/LivePreview/Window/index.tsx"],"sourcesContent":["'use client'\n\nimport type { EditViewProps } from 'payload'\n\nimport { reduceFieldsToValues } from 'payload/shared'\nimport React, { useEffect } from 'react'\n\nimport { useAllFormFields } from '../../../forms/Form/context.js'\nimport { useDocumentEvents } from '../../../providers/DocumentEvents/index.js'\nimport { useLivePreviewContext } from '../../../providers/LivePreview/context.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { DeviceContainer } from '../Device/index.js'\nimport { IFrame } from '../IFrame/index.js'\nimport { LivePreviewToolbar } from '../Toolbar/index.js'\nimport './index.scss'\n\nconst baseClass = 'live-preview-window'\n\nexport const LivePreviewWindow: React.FC<EditViewProps> = (props) => {\n const {\n appIsReady,\n breakpoint,\n fieldSchemaJSON,\n iframeHasLoaded,\n iframeRef,\n isLivePreviewing,\n popupRef,\n previewWindowType,\n setIframeHasLoaded,\n url,\n } = useLivePreviewContext()\n\n const locale = useLocale()\n\n const { mostRecentUpdate } = useDocumentEvents()\n\n const prevWindowType =\n React.useRef<ReturnType<typeof useLivePreviewContext>['previewWindowType']>(undefined)\n\n const [formState] = useAllFormFields()\n\n // For client-side apps, send data through `window.postMessage`\n // The preview could either be an iframe embedded on the page\n // Or it could be a separate popup window\n // We need to transmit data to both accordingly\n useEffect(() => {\n if (!isLivePreviewing) {\n return\n }\n\n // For performance, do no reduce fields to values until after the iframe or popup has loaded\n if (formState && window && 'postMessage' in window && appIsReady) {\n const values = reduceFieldsToValues(formState, true)\n\n // To reduce on large `postMessage` payloads, only send `fieldSchemaToJSON` one time\n // To do this, the underlying JS function maintains a cache of this value\n // So we need to send it through each time the window type changes\n // But only once per window type change, not on every render, because this is a potentially large obj\n const shouldSendSchema =\n !prevWindowType.current || prevWindowType.current !== previewWindowType\n\n prevWindowType.current = previewWindowType\n\n const message = {\n type: 'payload-live-preview',\n data: values,\n externallyUpdatedRelationship: mostRecentUpdate,\n fieldSchemaJSON: shouldSendSchema ? fieldSchemaJSON : undefined,\n locale: locale.code,\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }\n }, [\n formState,\n url,\n iframeHasLoaded,\n previewWindowType,\n popupRef,\n appIsReady,\n iframeRef,\n setIframeHasLoaded,\n fieldSchemaJSON,\n mostRecentUpdate,\n locale,\n isLivePreviewing,\n ])\n\n // To support SSR, we transmit a `window.postMessage` event without a payload\n // This is because the event will ultimately trigger a server-side roundtrip\n // i.e., save, save draft, autosave, etc. will fire `router.refresh()`\n useEffect(() => {\n if (!isLivePreviewing) {\n return\n }\n\n const message = {\n type: 'payload-document-event',\n }\n\n // Post message to external popup window\n if (previewWindowType === 'popup' && popupRef.current) {\n popupRef.current.postMessage(message, url)\n }\n\n // Post message to embedded iframe\n if (previewWindowType === 'iframe' && iframeRef.current) {\n iframeRef.current.contentWindow?.postMessage(message, url)\n }\n }, [mostRecentUpdate, iframeRef, popupRef, previewWindowType, url, isLivePreviewing])\n\n if (previewWindowType === 'iframe') {\n return (\n <div\n className={[\n baseClass,\n isLivePreviewing && `${baseClass}--is-live-previewing`,\n breakpoint && breakpoint !== 'responsive' && `${baseClass}--has-breakpoint`,\n ]\n .filter(Boolean)\n .join(' ')}\n >\n <div className={`${baseClass}__wrapper`}>\n <LivePreviewToolbar {...props} />\n <div className={`${baseClass}__main`}>\n <DeviceContainer>\n {url ? (\n <IFrame ref={iframeRef} setIframeHasLoaded={setIframeHasLoaded} url={url} />\n ) : (\n <ShimmerEffect height=\"100%\" />\n )}\n </DeviceContainer>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,10 +2,11 @@ import './index.scss';
|
|
|
2
2
|
type SearchBarProps = {
|
|
3
3
|
Actions?: React.ReactNode[];
|
|
4
4
|
className?: string;
|
|
5
|
+
filterKey?: string;
|
|
5
6
|
label?: string;
|
|
6
|
-
onSearchChange
|
|
7
|
+
onSearchChange?: (search: string) => void;
|
|
7
8
|
searchQueryParam?: string;
|
|
8
9
|
};
|
|
9
|
-
export declare function SearchBar({ Actions, className, label, onSearchChange, searchQueryParam, }: SearchBarProps): import("react").JSX.Element;
|
|
10
|
+
export declare function SearchBar({ Actions, className, filterKey, label, onSearchChange, searchQueryParam, }: SearchBarProps): import("react").JSX.Element;
|
|
10
11
|
export {};
|
|
11
12
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchBar/index.tsx"],"names":[],"mappings":"AAEA,OAAO,cAAc,CAAA;AAIrB,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchBar/index.tsx"],"names":[],"mappings":"AAEA,OAAO,cAAc,CAAA;AAIrB,KAAK,cAAc,GAAG;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,CAAA;AACD,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,SAAS,EACT,SAAS,EACT,KAAK,EACL,cAAc,EACd,gBAAgB,GACjB,EAAE,cAAc,+BAehB"}
|
|
@@ -6,7 +6,8 @@ const baseClass = 'search-bar';
|
|
|
6
6
|
export function SearchBar({
|
|
7
7
|
Actions,
|
|
8
8
|
className,
|
|
9
|
-
|
|
9
|
+
filterKey,
|
|
10
|
+
label,
|
|
10
11
|
onSearchChange,
|
|
11
12
|
searchQueryParam
|
|
12
13
|
}) {
|
|
@@ -16,7 +17,7 @@ export function SearchBar({
|
|
|
16
17
|
handleChange: onSearchChange,
|
|
17
18
|
label: label,
|
|
18
19
|
searchQueryParam: searchQueryParam
|
|
19
|
-
}), Actions && Actions.length > 0 ? /*#__PURE__*/_jsx("div", {
|
|
20
|
+
}, filterKey || 'search'), Actions && Actions.length > 0 ? /*#__PURE__*/_jsx("div", {
|
|
20
21
|
className: `${baseClass}__actions`,
|
|
21
22
|
children: Actions
|
|
22
23
|
}) : null]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["SearchIcon","SearchFilter","baseClass","SearchBar","Actions","className","label","onSearchChange","searchQueryParam","_jsxs","filter","Boolean","join","_jsx","handleChange","length"],"sources":["../../../src/elements/SearchBar/index.tsx"],"sourcesContent":["import { SearchIcon } from '../../icons/Search/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport './index.scss'\n\nconst baseClass = 'search-bar'\n\ntype SearchBarProps = {\n Actions?: React.ReactNode[]\n className?: string\n label?: string\n onSearchChange
|
|
1
|
+
{"version":3,"file":"index.js","names":["SearchIcon","SearchFilter","baseClass","SearchBar","Actions","className","filterKey","label","onSearchChange","searchQueryParam","_jsxs","filter","Boolean","join","_jsx","handleChange","length"],"sources":["../../../src/elements/SearchBar/index.tsx"],"sourcesContent":["import { SearchIcon } from '../../icons/Search/index.js'\nimport { SearchFilter } from '../SearchFilter/index.js'\nimport './index.scss'\n\nconst baseClass = 'search-bar'\n\ntype SearchBarProps = {\n Actions?: React.ReactNode[]\n className?: string\n filterKey?: string\n label?: string\n onSearchChange?: (search: string) => void\n searchQueryParam?: string\n}\nexport function SearchBar({\n Actions,\n className,\n filterKey,\n label,\n onSearchChange,\n searchQueryParam,\n}: SearchBarProps) {\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <SearchIcon />\n <SearchFilter\n handleChange={onSearchChange}\n key={filterKey || 'search'}\n label={label}\n searchQueryParam={searchQueryParam}\n />\n {Actions && Actions.length > 0 ? (\n <div className={`${baseClass}__actions`}>{Actions}</div>\n ) : null}\n </div>\n )\n}\n"],"mappings":";AAAA,SAASA,UAAU,QAAQ;AAC3B,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAUlB,OAAO,SAASC,UAAU;EACxBC,OAAO;EACPC,SAAS;EACTC,SAAS;EACTC,KAAK;EACLC,cAAc;EACdC;AAAgB,CACD;EACf,oBACEC,KAAA,CAAC;IAAIL,SAAA,EAAW,CAACH,SAAA,EAAWG,SAAA,CAAU,CAACM,MAAM,CAACC,OAAA,EAASC,IAAI,CAAC;4BAC1DC,IAAA,CAACd,UAAA,O,aACDc,IAAA,CAACb,YAAA;MACCc,YAAA,EAAcP,cAAA;MAEdD,KAAA,EAAOA,KAAA;MACPE,gBAAA,EAAkBA;OAFbH,SAAA,IAAa,WAInBF,OAAA,IAAWA,OAAA,CAAQY,MAAM,GAAG,iBAC3BF,IAAA,CAAC;MAAIT,SAAA,EAAW,GAAGH,SAAA,WAAoB;gBAAGE;SACxC;;AAGV","ignoreList":[]}
|
|
@@ -2,41 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
@layer payload-default {
|
|
4
4
|
.search-bar {
|
|
5
|
-
--icon-width: 40px;
|
|
6
|
-
--search-bg: var(--theme-elevation-50);
|
|
7
|
-
|
|
8
|
-
display: grid;
|
|
9
|
-
grid-template-columns: auto 1fr;
|
|
10
5
|
width: 100%;
|
|
11
|
-
|
|
6
|
+
display: flex;
|
|
7
|
+
align-items: center;
|
|
8
|
+
background-color: var(--theme-elevation-50);
|
|
12
9
|
border-radius: var(--style-radius-m);
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
isolation: isolate;
|
|
16
|
-
|
|
17
|
-
&:has(.search-bar__actions) {
|
|
18
|
-
grid-template-columns: auto 1fr auto;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.icon--search {
|
|
22
|
-
grid-column: 1/2;
|
|
23
|
-
grid-row: 1/2;
|
|
24
|
-
z-index: 1;
|
|
25
|
-
align-self: center;
|
|
26
|
-
justify-self: center;
|
|
27
|
-
pointer-events: none;
|
|
28
|
-
width: 40px;
|
|
29
|
-
}
|
|
10
|
+
padding: calc(var(--base) * 0.6);
|
|
11
|
+
gap: calc(var(--base) * 0.6);
|
|
30
12
|
|
|
31
13
|
.search-filter {
|
|
32
|
-
|
|
33
|
-
grid-row: 1/2;
|
|
34
|
-
background-color: transparent;
|
|
35
|
-
border-radius: inherit;
|
|
14
|
+
flex-grow: 1;
|
|
36
15
|
input {
|
|
37
|
-
|
|
38
|
-
padding: calc(var(--base) * 0.5) var(--base) calc(var(--base) * 0.5) var(--icon-width);
|
|
39
|
-
background-color: transparent;
|
|
16
|
+
flex-grow: 1;
|
|
40
17
|
}
|
|
41
18
|
}
|
|
42
19
|
|
|
@@ -44,32 +21,6 @@
|
|
|
44
21
|
display: flex;
|
|
45
22
|
align-items: center;
|
|
46
23
|
gap: calc(var(--base) / 4);
|
|
47
|
-
padding: calc(var(--base) * 0.5);
|
|
48
|
-
grid-column: 3/4;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
@include small-break {
|
|
52
|
-
min-height: 40px;
|
|
53
|
-
background-color: transparent;
|
|
54
|
-
|
|
55
|
-
&:has(.search-bar__actions) {
|
|
56
|
-
row-gap: calc(var(--base) / 2);
|
|
57
|
-
grid-template-columns: auto 1fr;
|
|
58
|
-
grid-template-rows: auto auto;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.search-filter {
|
|
62
|
-
background-color: var(--search-bg);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
&__actions {
|
|
66
|
-
grid-row: 2/3;
|
|
67
|
-
grid-column: 1/3;
|
|
68
|
-
display: flex;
|
|
69
|
-
align-items: center;
|
|
70
|
-
gap: calc(var(--base) / 4);
|
|
71
|
-
padding: 0;
|
|
72
|
-
}
|
|
73
24
|
}
|
|
74
25
|
}
|
|
75
26
|
}
|
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
export type SearchFilterProps = {
|
|
3
|
+
/**
|
|
4
|
+
* This prop is deprecated and will be removed in the next major version.
|
|
5
|
+
*
|
|
6
|
+
* @deprecated
|
|
7
|
+
*/
|
|
8
|
+
fieldName?: string;
|
|
9
|
+
handleChange?: (search: string) => void;
|
|
10
|
+
/**
|
|
11
|
+
* This prop is deprecated and will be removed in the next major version.
|
|
12
|
+
*
|
|
13
|
+
* Prefer passing in `searchString` instead.
|
|
14
|
+
*
|
|
15
|
+
* @deprecated
|
|
16
|
+
*/
|
|
17
|
+
initialParams?: ParsedQs;
|
|
18
|
+
label: string;
|
|
19
|
+
searchQueryParam?: string;
|
|
20
|
+
/**
|
|
21
|
+
* This prop is deprecated and will be removed in the next major version.
|
|
22
|
+
*
|
|
23
|
+
* @deprecated
|
|
24
|
+
*/
|
|
25
|
+
setValue?: (arg: string) => void;
|
|
26
|
+
/**
|
|
27
|
+
* This prop is deprecated and will be removed in the next major version.
|
|
28
|
+
*
|
|
29
|
+
* @deprecated
|
|
30
|
+
*/
|
|
31
|
+
value?: string;
|
|
32
|
+
};
|
|
33
|
+
import type { ParsedQs } from 'qs-esm';
|
|
3
34
|
import './index.scss';
|
|
4
|
-
export declare
|
|
35
|
+
export declare const SearchFilter: React.FC<SearchFilterProps>;
|
|
5
36
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchFilter/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/SearchFilter/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAE1D,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,QAAQ,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;IACb,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAChC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAKtC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAqDpD,CAAA"}
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
4
|
import React, { useEffect, useRef, useState } from 'react';
|
|
5
|
+
import { usePathname } from 'next/navigation.js';
|
|
5
6
|
import { useDebounce } from '../../hooks/useDebounce.js';
|
|
6
7
|
import './index.scss';
|
|
7
8
|
const baseClass = 'search-filter';
|
|
8
|
-
export
|
|
9
|
+
export const SearchFilter = props => {
|
|
9
10
|
const {
|
|
10
11
|
handleChange,
|
|
11
12
|
initialParams,
|
|
@@ -13,6 +14,7 @@ export function SearchFilter(props) {
|
|
|
13
14
|
searchQueryParam
|
|
14
15
|
} = props;
|
|
15
16
|
const searchParam = initialParams?.search || searchQueryParam;
|
|
17
|
+
const pathname = usePathname();
|
|
16
18
|
const [search, setSearch] = useState(typeof searchParam === 'string' ? searchParam : undefined);
|
|
17
19
|
/**
|
|
18
20
|
* Tracks whether the state should be updated based on the search value.
|
|
@@ -30,11 +32,7 @@ export function SearchFilter(props) {
|
|
|
30
32
|
setSearch(searchParam);
|
|
31
33
|
previousSearch.current = searchParam;
|
|
32
34
|
}
|
|
33
|
-
|
|
34
|
-
shouldUpdateState.current = true;
|
|
35
|
-
previousSearch.current = undefined;
|
|
36
|
-
};
|
|
37
|
-
}, [searchParam]);
|
|
35
|
+
}, [searchParam, pathname]);
|
|
38
36
|
useEffect(() => {
|
|
39
37
|
if (debouncedSearch !== previousSearch.current && shouldUpdateState.current) {
|
|
40
38
|
if (handleChange) {
|
|
@@ -58,5 +56,5 @@ export function SearchFilter(props) {
|
|
|
58
56
|
value: search || ''
|
|
59
57
|
})
|
|
60
58
|
});
|
|
61
|
-
}
|
|
59
|
+
};
|
|
62
60
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React","useEffect","useRef","useState","useDebounce","baseClass","SearchFilter","props","handleChange","initialParams","label","searchQueryParam","searchParam","search","setSearch","undefined","shouldUpdateState","previousSearch","debouncedSearch","current","_jsx","className","id","onChange","e","target","value","placeholder","type"],"sources":["../../../src/elements/SearchFilter/index.tsx"],"sourcesContent":["'use client'\
|
|
1
|
+
{"version":3,"file":"index.js","names":["React","useEffect","useRef","useState","usePathname","useDebounce","baseClass","SearchFilter","props","handleChange","initialParams","label","searchQueryParam","searchParam","search","pathname","setSearch","undefined","shouldUpdateState","previousSearch","debouncedSearch","current","_jsx","className","id","onChange","e","target","value","placeholder","type"],"sources":["../../../src/elements/SearchFilter/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useRef, useState } from 'react'\n\nexport type SearchFilterProps = {\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * @deprecated\n */\n fieldName?: string\n handleChange?: (search: string) => void\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * Prefer passing in `searchString` instead.\n *\n * @deprecated\n */\n initialParams?: ParsedQs\n label: string\n searchQueryParam?: string\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * @deprecated\n */\n setValue?: (arg: string) => void\n /**\n * This prop is deprecated and will be removed in the next major version.\n *\n * @deprecated\n */\n value?: string\n}\n\nimport type { ParsedQs } from 'qs-esm'\n\nimport { usePathname } from 'next/navigation.js'\n\nimport { useDebounce } from '../../hooks/useDebounce.js'\nimport './index.scss'\n\nconst baseClass = 'search-filter'\n\nexport const SearchFilter: React.FC<SearchFilterProps> = (props) => {\n const { handleChange, initialParams, label, searchQueryParam } = props\n const searchParam = initialParams?.search || searchQueryParam\n const pathname = usePathname()\n const [search, setSearch] = useState(typeof searchParam === 'string' ? searchParam : undefined)\n\n /**\n * Tracks whether the state should be updated based on the search value.\n * If the value is updated from the URL, we don't want to update the state as it causes additional renders.\n */\n const shouldUpdateState = useRef(true)\n\n /**\n * Tracks the previous search value to compare with the current debounced search value.\n */\n const previousSearch = useRef(typeof searchParam === 'string' ? searchParam : undefined)\n\n const debouncedSearch = useDebounce(search, 300)\n\n useEffect(() => {\n if (searchParam !== previousSearch.current) {\n shouldUpdateState.current = false\n setSearch(searchParam as string)\n previousSearch.current = searchParam as string\n }\n }, [searchParam, pathname])\n\n useEffect(() => {\n if (debouncedSearch !== previousSearch.current && shouldUpdateState.current) {\n if (handleChange) {\n handleChange(debouncedSearch)\n }\n\n previousSearch.current = debouncedSearch\n }\n }, [debouncedSearch, handleChange])\n\n return (\n <div className={baseClass}>\n <input\n aria-label={label}\n className={`${baseClass}__input`}\n id=\"search-filter-input\"\n onChange={(e) => {\n shouldUpdateState.current = true\n setSearch(e.target.value)\n }}\n placeholder={label}\n type=\"text\"\n value={search || ''}\n />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,OAAOA,KAAA,IAASC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ;AAoCnD,SAASC,WAAW,QAAQ;AAE5B,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,YAAA,GAA6CC,KAAA;EACxD,MAAM;IAAEC,YAAY;IAAEC,aAAa;IAAEC,KAAK;IAAEC;EAAgB,CAAE,GAAGJ,KAAA;EACjE,MAAMK,WAAA,GAAcH,aAAA,EAAeI,MAAA,IAAUF,gBAAA;EAC7C,MAAMG,QAAA,GAAWX,WAAA;EACjB,MAAM,CAACU,MAAA,EAAQE,SAAA,CAAU,GAAGb,QAAA,CAAS,OAAOU,WAAA,KAAgB,WAAWA,WAAA,GAAcI,SAAA;EAErF;;;;EAIA,MAAMC,iBAAA,GAAoBhB,MAAA,CAAO;EAEjC;;;EAGA,MAAMiB,cAAA,GAAiBjB,MAAA,CAAO,OAAOW,WAAA,KAAgB,WAAWA,WAAA,GAAcI,SAAA;EAE9E,MAAMG,eAAA,GAAkBf,WAAA,CAAYS,MAAA,EAAQ;EAE5Cb,SAAA,CAAU;IACR,IAAIY,WAAA,KAAgBM,cAAA,CAAeE,OAAO,EAAE;MAC1CH,iBAAA,CAAkBG,OAAO,GAAG;MAC5BL,SAAA,CAAUH,WAAA;MACVM,cAAA,CAAeE,OAAO,GAAGR,WAAA;IAC3B;EACF,GAAG,CAACA,WAAA,EAAaE,QAAA,CAAS;EAE1Bd,SAAA,CAAU;IACR,IAAImB,eAAA,KAAoBD,cAAA,CAAeE,OAAO,IAAIH,iBAAA,CAAkBG,OAAO,EAAE;MAC3E,IAAIZ,YAAA,EAAc;QAChBA,YAAA,CAAaW,eAAA;MACf;MAEAD,cAAA,CAAeE,OAAO,GAAGD,eAAA;IAC3B;EACF,GAAG,CAACA,eAAA,EAAiBX,YAAA,CAAa;EAElC,oBACEa,IAAA,CAAC;IAAIC,SAAA,EAAWjB,SAAA;cACd,aAAAgB,IAAA,CAAC;MACC,cAAYX,KAAA;MACZY,SAAA,EAAW,GAAGjB,SAAA,SAAkB;MAChCkB,EAAA,EAAG;MACHC,QAAA,EAAWC,CAAA;QACTR,iBAAA,CAAkBG,OAAO,GAAG;QAC5BL,SAAA,CAAUU,CAAA,CAAEC,MAAM,CAACC,KAAK;MAC1B;MACAC,WAAA,EAAalB,KAAA;MACbmB,IAAA,EAAK;MACLF,KAAA,EAAOd,MAAA,IAAU;;;AAIzB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Status/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Status/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAW1C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAiN1B,CAAA"}
|
|
@@ -164,7 +164,7 @@ export const Status = () => {
|
|
|
164
164
|
modalSlug: unPublishModalSlug,
|
|
165
165
|
onConfirm: () => performAction('unpublish')
|
|
166
166
|
})]
|
|
167
|
-
}),
|
|
167
|
+
}), !isTrashed && canUpdate && statusToRender === 'changed' || statusToRender === 'draft' && /*#__PURE__*/_jsxs(React.Fragment, {
|
|
168
168
|
children: [" — ", /*#__PURE__*/_jsx(Button, {
|
|
169
169
|
buttonStyle: "none",
|
|
170
170
|
className: `${baseClass}__action`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["useModal","React","useCallback","toast","useForm","useConfig","useDocumentInfo","useLocale","useTranslation","requests","Button","ConfirmationModal","baseClass","Status","id","collectionSlug","docPermissions","globalSlug","hasPublishedDoc","incrementVersionCount","isTrashed","savedDocumentData","doc","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","toggleModal","config","routes","api","serverURL","getEntityConfig","reset","resetForm","code","locale","i18n","t","unPublishModalSlug","revertModalSlug","statusToRender","collectionConfig","globalConfig","docConfig","autosaveEnabled","versions","drafts","autosave","_status","displayStatusKey","performAction","action","url","method","body","publishedDoc","get","headers","language","then","res","json","JSON","stringify","status","data","result","success","message","errors","error","err","canUpdate","update","_jsx","className","title","_jsxs","Fragment","buttonStyle","onClick","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/Status/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport './index.scss'\n\nconst baseClass = 'status'\n\nexport const Status: React.FC = () => {\n const {\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n hasPublishedDoc,\n incrementVersionCount,\n isTrashed,\n savedDocumentData: doc,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n\n const { toggleModal } = useModal()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { reset: resetForm } = useForm()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const unPublishModalSlug = `confirm-un-publish-${id}`\n const revertModalSlug = `confirm-revert-${id}`\n\n let statusToRender: 'changed' | 'draft' | 'published' = 'draft'\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const docConfig = collectionConfig || globalConfig\n const autosaveEnabled =\n typeof docConfig?.versions?.drafts === 'object' ? docConfig.versions.drafts.autosave : false\n\n if (autosaveEnabled) {\n if (hasPublishedDoc) {\n statusToRender = unpublishedVersionCount > 0 ? 'changed' : 'published'\n }\n } else {\n statusToRender = doc._status || 'draft'\n }\n const displayStatusKey = isTrashed\n ? hasPublishedDoc\n ? 'previouslyPublished'\n : 'previouslyDraft'\n : statusToRender\n\n const performAction = useCallback(\n async (action: 'revert' | 'unpublish') => {\n let url\n let method\n let body\n\n if (action === 'unpublish') {\n body = {\n _status: 'draft',\n }\n }\n\n if (collectionSlug) {\n url = `${serverURL}${api}/${collectionSlug}/${id}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'patch'\n }\n\n if (globalSlug) {\n url = `${serverURL}${api}/globals/${globalSlug}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'post'\n }\n\n if (action === 'revert') {\n const publishedDoc = await requests\n .get(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then((res) => res.json())\n\n body = publishedDoc\n }\n\n const res = await requests[method](url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n let data\n const json = await res.json()\n\n if (globalSlug) {\n data = json.result\n } else if (collectionSlug) {\n data = json.doc\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resetForm(data)\n toast.success(json.message)\n incrementVersionCount()\n setMostRecentVersionIsAutosaved(false)\n\n if (action === 'unpublish') {\n setHasPublishedDoc(false)\n } else if (action === 'revert') {\n setUnpublishedVersionCount(0)\n }\n } else {\n try {\n const json = await res.json()\n if (json.errors?.[0]?.message) {\n toast.error(json.errors[0].message)\n } else if (json.error) {\n toast.error(json.error)\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (err) {\n toast.error(t('error:unPublishingDocument'))\n }\n }\n },\n [\n api,\n collectionSlug,\n globalSlug,\n id,\n i18n.language,\n incrementVersionCount,\n locale,\n resetForm,\n serverURL,\n setUnpublishedVersionCount,\n setMostRecentVersionIsAutosaved,\n t,\n setHasPublishedDoc,\n ],\n )\n\n const canUpdate = docPermissions?.update\n\n if (statusToRender) {\n return (\n <div\n className={baseClass}\n title={`${t('version:status')}: ${t(`version:${displayStatusKey}`)}`}\n >\n <div className={`${baseClass}__value-wrap`}>\n <span className={`${baseClass}__label`}>{t('version:status')}: </span>\n <span className={`${baseClass}__value`}>{t(`version:${displayStatusKey}`)}</span>\n {!isTrashed && canUpdate && statusToRender === 'published' && (\n <React.Fragment>\n — \n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id={`action-unpublish`}\n onClick={() => toggleModal(unPublishModalSlug)}\n >\n {t('version:unpublish')}\n </Button>\n <ConfirmationModal\n body={t('version:aboutToUnpublish')}\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={unPublishModalSlug}\n onConfirm={() => performAction('unpublish')}\n />\n </React.Fragment>\n )}\n {((!isTrashed && canUpdate && statusToRender === 'changed') ||\n statusToRender === 'draft') && (\n <React.Fragment>\n — \n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id=\"action-revert-to-published\"\n onClick={() => toggleModal(revertModalSlug)}\n >\n {t('version:revertToPublished')}\n </Button>\n <ConfirmationModal\n body={t('version:aboutToRevertToPublished')}\n confirmingLabel={t('version:reverting')}\n heading={t('version:confirmRevertToSaved')}\n modalSlug={revertModalSlug}\n onConfirm={() => performAction('revert')}\n />\n </React.Fragment>\n )}\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"index.js","names":["useModal","React","useCallback","toast","useForm","useConfig","useDocumentInfo","useLocale","useTranslation","requests","Button","ConfirmationModal","baseClass","Status","id","collectionSlug","docPermissions","globalSlug","hasPublishedDoc","incrementVersionCount","isTrashed","savedDocumentData","doc","setHasPublishedDoc","setMostRecentVersionIsAutosaved","setUnpublishedVersionCount","unpublishedVersionCount","toggleModal","config","routes","api","serverURL","getEntityConfig","reset","resetForm","code","locale","i18n","t","unPublishModalSlug","revertModalSlug","statusToRender","collectionConfig","globalConfig","docConfig","autosaveEnabled","versions","drafts","autosave","_status","displayStatusKey","performAction","action","url","method","body","publishedDoc","get","headers","language","then","res","json","JSON","stringify","status","data","result","success","message","errors","error","err","canUpdate","update","_jsx","className","title","_jsxs","Fragment","buttonStyle","onClick","confirmingLabel","heading","modalSlug","onConfirm"],"sources":["../../../src/elements/Status/index.tsx"],"sourcesContent":["'use client'\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useCallback } from 'react'\nimport { toast } from 'sonner'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { ConfirmationModal } from '../ConfirmationModal/index.js'\nimport './index.scss'\n\nconst baseClass = 'status'\n\nexport const Status: React.FC = () => {\n const {\n id,\n collectionSlug,\n docPermissions,\n globalSlug,\n hasPublishedDoc,\n incrementVersionCount,\n isTrashed,\n savedDocumentData: doc,\n setHasPublishedDoc,\n setMostRecentVersionIsAutosaved,\n setUnpublishedVersionCount,\n unpublishedVersionCount,\n } = useDocumentInfo()\n\n const { toggleModal } = useModal()\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const { reset: resetForm } = useForm()\n const { code: locale } = useLocale()\n const { i18n, t } = useTranslation()\n\n const unPublishModalSlug = `confirm-un-publish-${id}`\n const revertModalSlug = `confirm-revert-${id}`\n\n let statusToRender: 'changed' | 'draft' | 'published' = 'draft'\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n const globalConfig = getEntityConfig({ globalSlug })\n\n const docConfig = collectionConfig || globalConfig\n const autosaveEnabled =\n typeof docConfig?.versions?.drafts === 'object' ? docConfig.versions.drafts.autosave : false\n\n if (autosaveEnabled) {\n if (hasPublishedDoc) {\n statusToRender = unpublishedVersionCount > 0 ? 'changed' : 'published'\n }\n } else {\n statusToRender = doc._status || 'draft'\n }\n const displayStatusKey = isTrashed\n ? hasPublishedDoc\n ? 'previouslyPublished'\n : 'previouslyDraft'\n : statusToRender\n\n const performAction = useCallback(\n async (action: 'revert' | 'unpublish') => {\n let url\n let method\n let body\n\n if (action === 'unpublish') {\n body = {\n _status: 'draft',\n }\n }\n\n if (collectionSlug) {\n url = `${serverURL}${api}/${collectionSlug}/${id}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'patch'\n }\n\n if (globalSlug) {\n url = `${serverURL}${api}/globals/${globalSlug}?locale=${locale}&fallback-locale=null&depth=0`\n method = 'post'\n }\n\n if (action === 'revert') {\n const publishedDoc = await requests\n .get(url, {\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then((res) => res.json())\n\n body = publishedDoc\n }\n\n const res = await requests[method](url, {\n body: JSON.stringify(body),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n\n if (res.status === 200) {\n let data\n const json = await res.json()\n\n if (globalSlug) {\n data = json.result\n } else if (collectionSlug) {\n data = json.doc\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n resetForm(data)\n toast.success(json.message)\n incrementVersionCount()\n setMostRecentVersionIsAutosaved(false)\n\n if (action === 'unpublish') {\n setHasPublishedDoc(false)\n } else if (action === 'revert') {\n setUnpublishedVersionCount(0)\n }\n } else {\n try {\n const json = await res.json()\n if (json.errors?.[0]?.message) {\n toast.error(json.errors[0].message)\n } else if (json.error) {\n toast.error(json.error)\n } else {\n toast.error(t('error:unPublishingDocument'))\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (err) {\n toast.error(t('error:unPublishingDocument'))\n }\n }\n },\n [\n api,\n collectionSlug,\n globalSlug,\n id,\n i18n.language,\n incrementVersionCount,\n locale,\n resetForm,\n serverURL,\n setUnpublishedVersionCount,\n setMostRecentVersionIsAutosaved,\n t,\n setHasPublishedDoc,\n ],\n )\n\n const canUpdate = docPermissions?.update\n\n if (statusToRender) {\n return (\n <div\n className={baseClass}\n title={`${t('version:status')}: ${t(`version:${displayStatusKey}`)}`}\n >\n <div className={`${baseClass}__value-wrap`}>\n <span className={`${baseClass}__label`}>{t('version:status')}: </span>\n <span className={`${baseClass}__value`}>{t(`version:${displayStatusKey}`)}</span>\n {!isTrashed && canUpdate && statusToRender === 'published' && (\n <React.Fragment>\n — \n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id={`action-unpublish`}\n onClick={() => toggleModal(unPublishModalSlug)}\n >\n {t('version:unpublish')}\n </Button>\n <ConfirmationModal\n body={t('version:aboutToUnpublish')}\n confirmingLabel={t('version:unpublishing')}\n heading={t('version:confirmUnpublish')}\n modalSlug={unPublishModalSlug}\n onConfirm={() => performAction('unpublish')}\n />\n </React.Fragment>\n )}\n {!isTrashed && canUpdate && statusToRender === 'changed' || statusToRender === 'draft' && (\n <React.Fragment>\n — \n <Button\n buttonStyle=\"none\"\n className={`${baseClass}__action`}\n id=\"action-revert-to-published\"\n onClick={() => toggleModal(revertModalSlug)}\n >\n {t('version:revertToPublished')}\n </Button>\n <ConfirmationModal\n body={t('version:aboutToRevertToPublished')}\n confirmingLabel={t('version:reverting')}\n heading={t('version:confirmRevertToSaved')}\n modalSlug={revertModalSlug}\n onConfirm={() => performAction('revert')}\n />\n </React.Fragment>\n )}\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"mappings":"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","ignoreList":[]}
|