@payloadcms/ui 3.29.0-internal.2984e42 → 3.29.0-internal.3471e81
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/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js +127 -143
- package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js +1 -1
- package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
- package/dist/elements/BulkUpload/FileSidebar/index.js +5 -5
- package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
- package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
- package/dist/elements/EditMany/DrawerContent.d.ts +1 -2
- package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
- package/dist/elements/EditMany/DrawerContent.js +119 -107
- package/dist/elements/EditMany/DrawerContent.js.map +1 -1
- package/dist/elements/EditMany/index.d.ts.map +1 -1
- package/dist/elements/EditMany/index.js +5 -6
- package/dist/elements/EditMany/index.js.map +1 -1
- package/dist/elements/FieldSelect/index.d.ts +2 -12
- package/dist/elements/FieldSelect/index.d.ts.map +1 -1
- package/dist/elements/FieldSelect/index.js +48 -31
- package/dist/elements/FieldSelect/index.js.map +1 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/cells/WhereCell/index.js +1 -7
- package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
- package/dist/elements/QueryPresets/fields/WhereField/index.js +0 -3
- package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
- package/dist/elements/Thumbnail/index.js +1 -1
- package/dist/elements/Thumbnail/index.js.map +1 -1
- package/dist/exports/client/index.js +11 -11
- package/dist/exports/client/index.js.map +4 -4
- package/dist/fields/Group/index.scss +6 -12
- package/dist/forms/Form/fieldReducer.js +1 -1
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","useRouter","useSearchParams","mergeListSearchAndWhere","unflatten","qs","React","useCallback","useEffect","useMemo","useState","useForm","Form","RenderFields","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","OperationContext","useRouteCache","SelectAllStatus","useSelection","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","parseSearchParams","FieldSelect","baseClass","Submit","t0","$","action","disabled","submit","t","t1","method","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","overrides","_status","SaveDraftButton","buttonStyle","EditManyDrawerContent","props","collection","fields","labels","plural","singular","drawerSlug","selectedFields","setSelectedFields","permissions","user","closeModal","config","routes","api","apiRoute","serverURL","getFormState","count","getQueryParams","selectAll","i18n","isInitializing","setIsInitializing","router","abortFormStateRef","useRef","clearRouteCache","collectionPermissions","collections","slug","searchParams","select","reduce","acc","field","path","onChange","formState","prevFormState","submitted","controller","state","collectionSlug","docPermissions","docPreferences","operation","schemaPath","signal","current","abortFormState","queryString","queryWithSearch","collectionConfig","search","get","onSuccess","replace","stringify","page","AllAvailable","undefined","addQueryPrefix","onFieldSelect","dispatchFields","selected","map","value","option","type","currentEditor","hasPublishedDoc","id","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","_jsxs","label","length","parentIndexPath","parentPath","parentSchemaPath","readOnly","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldWithPathClient, SelectType } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { mergeListSearchAndWhere, unflatten } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\nimport type { OnFieldSelect } from '../FieldSelect/index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport { baseClass, type EditManyProps } from './index.js'\nimport './index.scss'\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{\n action: string\n disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'published',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{\n action: string\n disabled: boolean\n}> = ({ action, disabled }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: {\n _status: 'draft',\n },\n skipValidation: true,\n })\n }, [action, submit])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\nexport const EditManyDrawerContent: React.FC<\n {\n drawerSlug: string\n selectedFields: FieldWithPathClient[]\n setSelectedFields: React.Dispatch<React.SetStateAction<FieldWithPathClient[]>>\n } & EditManyProps\n> = (props) => {\n const {\n collection: { fields, labels: { plural, singular } } = {},\n collection,\n drawerSlug,\n selectedFields,\n setSelectedFields,\n } = props\n\n const { permissions, user } = useAuth()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n\n const [isInitializing, setIsInitializing] = useState(false)\n\n const router = useRouter()\n const abortFormStateRef = React.useRef<AbortController>(null)\n const { clearRouteCache } = useRouteCache()\n const collectionPermissions = permissions?.collections?.[collection.slug]\n const searchParams = useSearchParams()\n\n const select = useMemo<SelectType>(() => {\n return unflatten(\n selectedFields.reduce((acc, field) => {\n acc[field.path] = true\n return acc\n }, {} as SelectType),\n )\n }, [selectedFields])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState, submitted }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: collection.slug,\n select,\n signal: controller.signal,\n skipValidation: !submitted,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, collection, collectionPermissions, select],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const queryString = useMemo(() => {\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n return getQueryParams(queryWithSearch)\n }, [collection, searchParams, getQueryParams])\n\n const onSuccess = () => {\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n closeModal(drawerSlug)\n }\n\n const onFieldSelect = useCallback<OnFieldSelect>(\n async ({ dispatchFields, formState, selected }) => {\n setIsInitializing(true)\n\n if (selected === null) {\n setSelectedFields([])\n } else {\n setSelectedFields(selected.map(({ value }) => value))\n }\n\n const { state } = await getFormState({\n collectionSlug: collection.slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState,\n operation: 'update',\n schemaPath: collection.slug,\n select: unflatten(\n selected.reduce((acc, option) => {\n acc[option.value.path] = true\n return acc\n }, {} as SelectType),\n ),\n skipValidation: true,\n })\n\n dispatchFields({\n type: 'UPDATE_MANY',\n formState: state,\n })\n\n setIsInitializing(false)\n },\n [getFormState, collection.slug, collectionPermissions, setSelectedFields],\n )\n\n return (\n <DocumentInfoProvider\n collectionSlug={collection.slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', {\n count,\n label: getTranslation(count > 1 ? plural : singular, i18n),\n })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n isInitializing={isInitializing}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect fields={fields} onChange={onFieldSelect} />\n {selectedFields.length === 0 ? null : (\n <RenderFields\n fields={selectedFields}\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={collection.slug}\n permissions={collectionPermissions?.fields}\n readOnly={false}\n />\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}&draft=true`}\n disabled={selectedFields.length === 0}\n />\n <PublishButton\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}&draft=true`}\n disabled={selectedFields.length === 0}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${collection.slug}${queryString}`}\n disabled={selectedFields.length === 0}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext>\n </DocumentInfoProvider>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAIA,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,EAAEC,eAAe,QAAQ;AAC3C,SAASC,uBAAuB,EAAEC,SAAS,QAAQ;AACnD,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ;AAKjE,SAASC,OAAO,QAAQ;AACxB,SAASC,IAAI,QAAQ;AACrB,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAC3B,SAASC,KAAK,QAAQ;AACtB,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,oBAAoB,QAAQ;AACrC,SAASC,gBAAgB,QAAQ;AACjC,SAASC,aAAa,QAAQ;AAC9B,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,EAAEC,cAAc,QAAQ;AAC/C,SAASC,iBAAiB,QAAQ;AAClC,SAASC,WAAW,QAAQ;AAC5B,SAASC,SAAS,QAA4B;AAC9C,OAAO;AAEP,MAAMC,MAAA,GAGDC,EAAA;EAAA,MAAAC,CAAA,GAAAlC,EAAA;EAAC;IAAAmC,MAAA;IAAAC;EAAA,IAAAH,EAAoB;EACxB;IAAAI;EAAA,IAAmBxB,OAAA;EACnB;IAAAyB;EAAA,IAAcZ,cAAA;EAAA,IAAAa,EAAA;EAAA,IAAAL,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAG,MAAA;IAEWE,EAAA,GAAAA,CAAA;MAClBF,MAAA;QAAAF,MAAA;QAAAK,MAAA,EAEK;QAAAC,cAAA;MAAA,CAEV;IAAA;IACFP,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EANA,MAAAQ,IAAA,GAAaH,EAMM;EAAA,IAAAI,EAAA;EAAA,IAAAT,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAQ,IAAA,IAAAR,CAAA,QAAAI,CAAA;IAGjBK,EAAA,GAAAC,IAAA,CAAA5B,UAAA;MAAA6B,SAAA,EAAuB,GAAAd,SAAA,QAAoB;MAAAK,QAAA;MAAAU,OAAA,EAA+BJ,IAAA;MAAAK,QAAA,EACvET,CAAA,CAAE;IAAA,C;;;;;;;;SADLK,E;CAIJ;AAEA,MAAMK,aAAA,GAGDf,EAAA;EAAA,MAAAC,CAAA,GAAAlC,EAAA;EAAC;IAAAmC,MAAA;IAAAC;EAAA,IAAAH,EAAoB;EACxB;IAAAI;EAAA,IAAmBxB,OAAA;EACnB;IAAAyB;EAAA,IAAcZ,cAAA;EAAA,IAAAa,EAAA;EAAA,IAAAL,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAG,MAAA;IAEWE,EAAA,GAAAA,CAAA;MAClBF,MAAA;QAAAF,MAAA;QAAAK,MAAA,EAEK;QAAAS,SAAA;UAAAC,OAAA,EAEG;QAAA;QAAAT,cAAA;MAAA,CAGb;IAAA;IACFP,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EATA,MAAAQ,IAAA,GAAaH,EASM;EAAA,IAAAI,EAAA;EAAA,IAAAT,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAQ,IAAA,IAAAR,CAAA,QAAAI,CAAA;IAGjBK,EAAA,GAAAC,IAAA,CAAA5B,UAAA;MAAA6B,SAAA,EAAuB,GAAAd,SAAA,WAAuB;MAAAK,QAAA;MAAAU,OAAA,EAA+BJ,IAAA;MAAAK,QAAA,EAC1ET,CAAA,CAAE;IAAA,C;;;;;;;;SADLK,E;CAIJ;AAEA,MAAMQ,eAAA,GAGDlB,EAAA;EAAA,MAAAC,CAAA,GAAAlC,EAAA;EAAC;IAAAmC,MAAA;IAAAC;EAAA,IAAAH,EAAoB;EACxB;IAAAI;EAAA,IAAmBxB,OAAA;EACnB;IAAAyB;EAAA,IAAcZ,cAAA;EAAA,IAAAa,EAAA;EAAA,IAAAL,CAAA,QAAAC,MAAA,IAAAD,CAAA,QAAAG,MAAA;IAEWE,EAAA,GAAAA,CAAA;MAClBF,MAAA;QAAAF,MAAA;QAAAK,MAAA,EAEK;QAAAS,SAAA;UAAAC,OAAA,EAEG;QAAA;QAAAT,cAAA;MAAA,CAGb;IAAA;IACFP,CAAA,MAAAC,MAAA;IAAAD,CAAA,MAAAG,MAAA;IAAAH,CAAA,MAAAK,EAAA;EAAA;IAAAA,EAAA,GAAAL,CAAA;EAAA;EATA,MAAAQ,IAAA,GAAaH,EASM;EAAA,IAAAI,EAAA;EAAA,IAAAT,CAAA,QAAAE,QAAA,IAAAF,CAAA,QAAAQ,IAAA,IAAAR,CAAA,QAAAI,CAAA;IAGjBK,EAAA,GAAAC,IAAA,CAAA5B,UAAA;MAAAoC,WAAA,EACc;MAAAP,SAAA,EACD,GAAAd,SAAA,SAAqB;MAAAK,QAAA;MAAAU,OAAA,EAEvBJ,IAAA;MAAAK,QAAA,EAERT,CAAA,CAAE;IAAA,C;;;;;;;;SANLK,E;CASJ;AAEA,OAAO,MAAMU,qBAAA,GAMRC,KAAA;EACH,MAAM;IACJC,UAAA,EAAY;MAAEC,MAAM;MAAEC,MAAA,EAAQ;QAAEC,MAAM;QAAEC;MAAQ;IAAE,CAAE,GAAG,CAAC,CAAC;IACzDJ,UAAU;IACVK,UAAU;IACVC,cAAc;IACdC;EAAiB,CAClB,GAAGR,KAAA;EAEJ,MAAM;IAAES,WAAW;IAAEC;EAAI,CAAE,GAAG9C,OAAA;EAE9B,MAAM;IAAE+C;EAAU,CAAE,GAAGhE,QAAA;EAEvB,MAAM;IACJiE,MAAA,EAAQ;MACNC,MAAA,EAAQ;QAAEC,GAAA,EAAKC;MAAQ,CAAE;MACzBC;IAAS;EACV,CACF,GAAGnD,SAAA;EAEJ,MAAM;IAAEoD;EAAY,CAAE,GAAG9C,kBAAA;EAEzB,MAAM;IAAE+C,KAAK;IAAEC,cAAc;IAAEC;EAAS,CAAE,GAAGlD,YAAA;EAC7C,MAAM;IAAEmD,IAAI;IAAErC;EAAC,CAAE,GAAGZ,cAAA;EAEpB,MAAM,CAACkD,cAAA,EAAgBC,iBAAA,CAAkB,GAAGjE,QAAA,CAAS;EAErD,MAAMkE,MAAA,GAAS3E,SAAA;EACf,MAAM4E,iBAAA,GAAoBvE,KAAA,CAAMwE,MAAM,CAAkB;EACxD,MAAM;IAAEC;EAAe,CAAE,GAAG3D,aAAA;EAC5B,MAAM4D,qBAAA,GAAwBnB,WAAA,EAAaoB,WAAA,GAAc5B,UAAA,CAAW6B,IAAI,CAAC;EACzE,MAAMC,YAAA,GAAejF,eAAA;EAErB,MAAMkF,MAAA,GAAS3E,OAAA,CAAoB;IACjC,OAAOL,SAAA,CACLuD,cAAA,CAAe0B,MAAM,CAAC,CAACC,GAAA,EAAKC,KAAA;MAC1BD,GAAG,CAACC,KAAA,CAAMC,IAAI,CAAC,GAAG;MAClB,OAAOF,GAAA;IACT,GAAG,CAAC;EAER,GAAG,CAAC3B,cAAA,CAAe;EAEnB,MAAM8B,QAAA,GAAqClF,WAAA,CACzC,OAAO;IAAEmF,SAAA,EAAWC,aAAa;IAAEC;EAAS,CAAE;IAC5C,MAAMC,UAAA,GAAanE,cAAA,CAAemD,iBAAA;IAElC,MAAM;MAAEiB;IAAK,CAAE,GAAG,MAAMzB,YAAA,CAAa;MACnC0B,cAAA,EAAgB1C,UAAA,CAAW6B,IAAI;MAC/Bc,cAAA,EAAgBhB,qBAAA;MAChBiB,cAAA,EAAgB;MAChBP,SAAA,EAAWC,aAAA;MACXO,SAAA,EAAW;MACXC,UAAA,EAAY9C,UAAA,CAAW6B,IAAI;MAC3BE,MAAA;MACAgB,MAAA,EAAQP,UAAA,CAAWO,MAAM;MACzB7D,cAAA,EAAgB,CAACqD;IACnB;IAEAf,iBAAA,CAAkBwB,OAAO,GAAG;IAE5B,OAAOP,KAAA;EACT,GACA,CAACzB,YAAA,EAAchB,UAAA,EAAY2B,qBAAA,EAAuBI,MAAA,CAAO;EAG3D5E,SAAA,CAAU;IACR,MAAM8F,cAAA,GAAiBzB,iBAAA,CAAkBwB,OAAO;IAEhD,OAAO;MACL5E,cAAA,CAAe6E,cAAA;IACjB;EACF,GAAG,EAAE;EAEL,MAAMC,WAAA,GAAc9F,OAAA,CAAQ;IAC1B,MAAM+F,eAAA,GAAkBrG,uBAAA,CAAwB;MAC9CsG,gBAAA,EAAkBpD,UAAA;MAClBqD,MAAA,EAAQvB,YAAA,CAAawB,GAAG,CAAC;IAC3B;IAEA,OAAOpC,cAAA,CAAeiC,eAAA;EACxB,GAAG,CAACnD,UAAA,EAAY8B,YAAA,EAAcZ,cAAA,CAAe;EAE7C,MAAMqC,SAAA,GAAYA,CAAA;IAChBhC,MAAA,CAAOiC,OAAO,CACZxG,EAAA,CAAGyG,SAAS,CACV;MACE,GAAGnF,iBAAA,CAAkBwD,YAAA,CAAa;MAClC4B,IAAA,EAAMvC,SAAA,KAAcnD,eAAA,CAAgB2F,YAAY,GAAG,MAAMC;IAC3D,GACA;MAAEC,cAAA,EAAgB;IAAK;IAG3BnC,eAAA,GAAkB;IAAA;IAClBhB,UAAA,CAAWL,UAAA;EACb;EAEA,MAAMyD,aAAA,GAAgB5G,WAAA,CACpB,OAAO;IAAE6G,cAAc;IAAE1B,SAAS;IAAE2B;EAAQ,CAAE;IAC5C1C,iBAAA,CAAkB;IAElB,IAAI0C,QAAA,KAAa,MAAM;MACrBzD,iBAAA,CAAkB,EAAE;IACtB,OAAO;MACLA,iBAAA,CAAkByD,QAAA,CAASC,GAAG,CAAC,CAAC;QAAEC;MAAK,CAAE,KAAKA,KAAA;IAChD;IAEA,MAAM;MAAEzB,KAAK,EAALA;IAAK,CAAE,GAAG,MAAMzB,YAAA,CAAa;MACnC0B,cAAA,EAAgB1C,UAAA,CAAW6B,IAAI;MAC/Bc,cAAA,EAAgBhB,qBAAA;MAChBiB,cAAA,EAAgB;MAChBP,SAAA;MACAQ,SAAA,EAAW;MACXC,UAAA,EAAY9C,UAAA,CAAW6B,IAAI;MAC3BE,MAAA,EAAQhF,SAAA,CACNiH,QAAA,CAAShC,MAAM,CAAC,CAACC,KAAA,EAAKkC,MAAA;QACpBlC,KAAG,CAACkC,MAAA,CAAOD,KAAK,CAAC/B,IAAI,CAAC,GAAG;QACzB,OAAOF,KAAA;MACT,GAAG,CAAC;MAEN/C,cAAA,EAAgB;IAClB;IAEA6E,cAAA,CAAe;MACbK,IAAA,EAAM;MACN/B,SAAA,EAAWI;IACb;IAEAnB,iBAAA,CAAkB;EACpB,GACA,CAACN,YAAA,EAAchB,UAAA,CAAW6B,IAAI,EAAEF,qBAAA,EAAuBpB,iBAAA,CAAkB;EAG3E,oBACElB,IAAA,CAACxB,oBAAA;IACC6E,cAAA,EAAgB1C,UAAA,CAAW6B,IAAI;IAC/BwC,aAAA,EAAe5D,IAAA;IACf6D,eAAA,EAAiB;IACjBC,EAAA,EAAI;IACJC,WAAA,EAAa,CAAC;IACdC,QAAA,EAAU;IACVC,cAAA,EAAgB;IAChBC,4BAAA,EAA8B;IAC9BC,uBAAA,EAAyB;IACzBC,YAAA,EAAc;cAEd,aAAAxF,IAAA,CAACvB,gBAAA;MAAiBoG,KAAA,EAAM;gBACtB,aAAAY,KAAA,CAAC;QAAIxF,SAAA,EAAW,GAAGd,SAAA,QAAiB;gCAClCsG,KAAA,CAAC;UAAIxF,SAAA,EAAW,GAAGd,SAAA,UAAmB;kCACpCa,IAAA,CAAC;YAAGC,SAAA,EAAW,GAAGd,SAAA,iBAA0B;sBACzCO,CAAA,CAAE,wBAAwB;cACzBkC,KAAA;cACA8D,KAAA,EAAOpI,cAAA,CAAesE,KAAA,GAAQ,IAAId,MAAA,GAASC,QAAA,EAAUgB,IAAA;YACvD;2BAEF/B,IAAA,CAAC;YACC,cAAYN,CAAA,CAAE;YACdO,SAAA,EAAW,GAAGd,SAAA,iBAA0B;YACxC+F,EAAA,EAAI,iBAAiBlE,UAAA,EAAY;YACjCd,OAAA,EAASA,CAAA,KAAMmB,UAAA,CAAWL,UAAA;YAC1B+D,IAAA,EAAK;sBAEL,aAAA/E,IAAA,CAAC3B,KAAA;;yBAGLoH,KAAA,CAACvH,IAAA;UACC+B,SAAA,EAAW,GAAGd,SAAA,QAAiB;UAC/B6C,cAAA,EAAgBA,cAAA;UAChBe,QAAA,EAAU,CAACA,QAAA,CAAS;UACpBmB,SAAA,EAAWA,SAAA;kCAEXlE,IAAA,CAACd,WAAA;YAAY0B,MAAA,EAAQA,MAAA;YAAQmC,QAAA,EAAU0B;cACtCxD,cAAA,CAAe0E,MAAM,KAAK,IAAI,oBAC7B3F,IAAA,CAAC7B,YAAA;YACCyC,MAAA,EAAQK,cAAA;YACR2E,eAAA,EAAgB;YAChBC,UAAA,EAAW;YACXC,gBAAA,EAAkBnF,UAAA,CAAW6B,IAAI;YACjCrB,WAAA,EAAamB,qBAAA,EAAuB1B,MAAA;YACpCmF,QAAA,EAAU;2BAGd/F,IAAA,CAAC;YAAIC,SAAA,EAAW,GAAGd,SAAA,gBAAyB;sBAC1C,aAAAa,IAAA,CAAC;cAAIC,SAAA,EAAW,GAAGd,SAAA,WAAoB;wBACrC,aAAAa,IAAA,CAAC;gBAAIC,SAAA,EAAW,GAAGd,SAAA,uBAAgC;0BACjD,aAAAa,IAAA,CAAC;kBAAIC,SAAA,EAAW,GAAGd,SAAA,oBAA6B;4BAC7CwB,UAAA,EAAYqF,QAAA,EAAUC,MAAA,gBACrBR,KAAA,CAAC7H,KAAA,CAAMsI,QAAQ;4CACblG,IAAA,CAACO,eAAA;sBACChB,MAAA,EAAQ,GAAGmC,SAAA,GAAYD,QAAA,IAAYd,UAAA,CAAW6B,IAAI,GAAGqB,WAAA,aAAwB;sBAC7ErE,QAAA,EAAUyB,cAAA,CAAe0E,MAAM,KAAK;qCAEtC3F,IAAA,CAACI,aAAA;sBACCb,MAAA,EAAQ,GAAGmC,SAAA,GAAYD,QAAA,IAAYd,UAAA,CAAW6B,IAAI,GAAGqB,WAAA,aAAwB;sBAC7ErE,QAAA,EAAUyB,cAAA,CAAe0E,MAAM,KAAK;;oCAIxC3F,IAAA,CAACZ,MAAA;oBACCG,MAAA,EAAQ,GAAGmC,SAAA,GAAYD,QAAA,IAAYd,UAAA,CAAW6B,IAAI,GAAGqB,WAAA,EAAa;oBAClErE,QAAA,EAAUyB,cAAA,CAAe0E,MAAM,KAAK;;;;;;;;;;AAY5D","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DrawerContent.js","names":["c","_c","useModal","getTranslation","useRouter","useSearchParams","mergeListSearchAndWhere","qs","React","useCallback","useEffect","useMemo","useState","useForm","Form","RenderFields","FormSubmit","XIcon","useAuth","useConfig","DocumentInfoProvider","OperationContext","useRouteCache","SelectAllStatus","useSelection","useServerFunctions","useTranslation","abortAndIgnore","handleAbortRef","filterOutUploadFields","parseSearchParams","FieldSelect","baseClass","sanitizeUnselectedFields","formState","selected","filteredData","reduce","acc","field","foundState","path","value","Submit","t0","$","action","disabled","submit","t","t1","method","overrides","skipValidation","save","t2","_jsx","className","onClick","children","PublishButton","_status","SaveDraftButton","buttonStyle","EditManyDrawerContent","props","collection","slug","fields","labels","plural","singular","drawerSlug","selectedFromProps","permissions","user","closeModal","config","routes","api","apiRoute","serverURL","getFormState","count","getQueryParams","selectAll","i18n","setSelected","router","initialState","setInitialState","hasInitializedState","useRef","abortFormStateRef","clearRouteCache","collectionPermissions","collections","searchParams","filteredFields","controller","AbortController","current","getInitialState","state","result","collectionSlug","data","docPermissions","docPreferences","operation","schemaPath","signal","onChange","prevFormState","abortFormState","queryString","queryWithSearch","collectionConfig","search","get","onSuccess","replace","stringify","page","AllAvailable","undefined","addQueryPrefix","currentEditor","hasPublishedDoc","id","initialData","isLocked","lastUpdateTime","mostRecentVersionIsAutosaved","unpublishedVersionCount","versionCount","_jsxs","label","type","length","parentIndexPath","parentPath","parentSchemaPath","readOnly","versions","drafts","Fragment"],"sources":["../../../src/elements/EditMany/DrawerContent.tsx"],"sourcesContent":["'use client'\n\nimport type { FieldWithPathClient, FormState } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter, useSearchParams } from 'next/navigation.js'\nimport { mergeListSearchAndWhere } from 'payload/shared'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useMemo, useState } from 'react'\n\nimport type { FormProps } from '../../forms/Form/index.js'\n\nimport { useForm } from '../../forms/Form/context.js'\nimport { Form } from '../../forms/Form/index.js'\nimport { RenderFields } from '../../forms/RenderFields/index.js'\nimport { FormSubmit } from '../../forms/Submit/index.js'\nimport { XIcon } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { DocumentInfoProvider } from '../../providers/DocumentInfo/index.js'\nimport { OperationContext } from '../../providers/Operation/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { abortAndIgnore, handleAbortRef } from '../../utilities/abortAndIgnore.js'\nimport { filterOutUploadFields } from '../../utilities/filterOutUploadFields.js'\nimport { parseSearchParams } from '../../utilities/parseSearchParams.js'\nimport { FieldSelect } from '../FieldSelect/index.js'\nimport { baseClass, type EditManyProps } from './index.js'\nimport './index.scss'\n\nconst sanitizeUnselectedFields = (formState: FormState, selected: FieldWithPathClient[]) => {\n const filteredData = selected.reduce((acc, field) => {\n const foundState = formState?.[field.path]\n\n if (foundState) {\n acc[field.path] = formState?.[field.path]?.value\n }\n\n return acc\n }, {} as FormData)\n\n return filteredData\n}\n\nconst Submit: React.FC<{\n readonly action: string\n readonly disabled: boolean\n readonly selected?: FieldWithPathClient[]\n}> = ({ action, disabled, selected }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: (formState) => sanitizeUnselectedFields(formState, selected),\n skipValidation: true,\n })\n }, [action, submit, selected])\n\n return (\n <FormSubmit className={`${baseClass}__save`} disabled={disabled} onClick={save}>\n {t('general:save')}\n </FormSubmit>\n )\n}\n\nconst PublishButton: React.FC<{\n action: string\n disabled: boolean\n selected?: FieldWithPathClient[]\n}> = ({ action, disabled, selected }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: (formState) => ({\n ...sanitizeUnselectedFields(formState, selected),\n _status: 'published',\n }),\n skipValidation: true,\n })\n }, [action, submit, selected])\n\n return (\n <FormSubmit className={`${baseClass}__publish`} disabled={disabled} onClick={save}>\n {t('version:publishChanges')}\n </FormSubmit>\n )\n}\n\nconst SaveDraftButton: React.FC<{\n action: string\n disabled: boolean\n selected?: FieldWithPathClient[]\n}> = ({ action, disabled, selected }) => {\n const { submit } = useForm()\n const { t } = useTranslation()\n\n const save = useCallback(() => {\n void submit({\n action,\n method: 'PATCH',\n overrides: (formState) => ({\n ...sanitizeUnselectedFields(formState, selected),\n _status: 'draft',\n }),\n skipValidation: true,\n })\n }, [action, submit, selected])\n\n return (\n <FormSubmit\n buttonStyle=\"secondary\"\n className={`${baseClass}__draft`}\n disabled={disabled}\n onClick={save}\n >\n {t('version:saveDraft')}\n </FormSubmit>\n )\n}\n\nexport const EditManyDrawerContent: React.FC<\n {\n drawerSlug: string\n selected: FieldWithPathClient[]\n } & EditManyProps\n> = (props) => {\n const {\n collection: { slug, fields, labels: { plural, singular } } = {},\n collection,\n drawerSlug,\n selected: selectedFromProps,\n } = props\n\n const { permissions, user } = useAuth()\n\n const { closeModal } = useModal()\n\n const {\n config: {\n routes: { api: apiRoute },\n serverURL,\n },\n } = useConfig()\n\n const { getFormState } = useServerFunctions()\n\n const { count, getQueryParams, selectAll } = useSelection()\n const { i18n, t } = useTranslation()\n const [selected, setSelected] = useState<FieldWithPathClient[]>([])\n\n useEffect(() => {\n setSelected(selectedFromProps)\n }, [selectedFromProps])\n\n const router = useRouter()\n const [initialState, setInitialState] = useState<FormState>()\n const hasInitializedState = React.useRef(false)\n const abortFormStateRef = React.useRef<AbortController>(null)\n const { clearRouteCache } = useRouteCache()\n const collectionPermissions = permissions?.collections?.[slug]\n const searchParams = useSearchParams()\n\n const filteredFields = filterOutUploadFields(fields)\n\n React.useEffect(() => {\n const controller = new AbortController()\n\n if (!hasInitializedState.current) {\n const getInitialState = async () => {\n const { state: result } = await getFormState({\n collectionSlug: slug,\n data: {},\n docPermissions: collectionPermissions,\n docPreferences: null,\n operation: 'update',\n schemaPath: slug,\n signal: controller.signal,\n skipValidation: true,\n })\n\n setInitialState(result)\n hasInitializedState.current = true\n }\n\n void getInitialState()\n }\n\n return () => {\n abortAndIgnore(controller)\n }\n }, [apiRoute, hasInitializedState, serverURL, slug, getFormState, user, collectionPermissions])\n\n const onChange: FormProps['onChange'][0] = useCallback(\n async ({ formState: prevFormState }) => {\n const controller = handleAbortRef(abortFormStateRef)\n\n const { state } = await getFormState({\n collectionSlug: slug,\n docPermissions: collectionPermissions,\n docPreferences: null,\n formState: prevFormState,\n operation: 'update',\n schemaPath: slug,\n signal: controller.signal,\n })\n\n abortFormStateRef.current = null\n\n return state\n },\n [getFormState, slug, collectionPermissions],\n )\n\n useEffect(() => {\n const abortFormState = abortFormStateRef.current\n\n return () => {\n abortAndIgnore(abortFormState)\n }\n }, [])\n\n const queryString = useMemo(() => {\n const queryWithSearch = mergeListSearchAndWhere({\n collectionConfig: collection,\n search: searchParams.get('search'),\n })\n\n return getQueryParams(queryWithSearch)\n }, [collection, searchParams, getQueryParams])\n\n const onSuccess = () => {\n router.replace(\n qs.stringify(\n {\n ...parseSearchParams(searchParams),\n page: selectAll === SelectAllStatus.AllAvailable ? '1' : undefined,\n },\n { addQueryPrefix: true },\n ),\n )\n clearRouteCache() // Use clearRouteCache instead of router.refresh, as we only need to clear the cache if the user has route caching enabled - clearRouteCache checks for this\n closeModal(drawerSlug)\n }\n\n return (\n <DocumentInfoProvider\n collectionSlug={slug}\n currentEditor={user}\n hasPublishedDoc={false}\n id={null}\n initialData={{}}\n initialState={initialState}\n isLocked={false}\n lastUpdateTime={0}\n mostRecentVersionIsAutosaved={false}\n unpublishedVersionCount={0}\n versionCount={0}\n >\n <OperationContext value=\"update\">\n <div className={`${baseClass}__main`}>\n <div className={`${baseClass}__header`}>\n <h2 className={`${baseClass}__header__title`}>\n {t('general:editingLabel', {\n count,\n label: getTranslation(count > 1 ? plural : singular, i18n),\n })}\n </h2>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header__close`}\n id={`close-drawer__${drawerSlug}`}\n onClick={() => closeModal(drawerSlug)}\n type=\"button\"\n >\n <XIcon />\n </button>\n </div>\n <Form\n className={`${baseClass}__form`}\n initialState={initialState}\n onChange={[onChange]}\n onSuccess={onSuccess}\n >\n <FieldSelect fields={filteredFields} setSelected={setSelected} />\n {selected.length === 0 ? null : (\n <RenderFields\n fields={selected}\n parentIndexPath=\"\"\n parentPath=\"\"\n parentSchemaPath={slug}\n permissions={collectionPermissions?.fields}\n readOnly={false}\n />\n )}\n <div className={`${baseClass}__sidebar-wrap`}>\n <div className={`${baseClass}__sidebar`}>\n <div className={`${baseClass}__sidebar-sticky-wrap`}>\n <div className={`${baseClass}__document-actions`}>\n {collection?.versions?.drafts ? (\n <React.Fragment>\n <SaveDraftButton\n action={`${serverURL}${apiRoute}/${slug}${queryString}&draft=true`}\n disabled={selected.length === 0}\n selected={selected}\n />\n <PublishButton\n action={`${serverURL}${apiRoute}/${slug}${queryString}&draft=true`}\n disabled={selected.length === 0}\n selected={selected}\n />\n </React.Fragment>\n ) : (\n <Submit\n action={`${serverURL}${apiRoute}/${slug}${queryString}`}\n disabled={selected.length === 0}\n selected={selected}\n />\n )}\n </div>\n </div>\n </div>\n </div>\n </Form>\n </div>\n </OperationContext>\n </DocumentInfoProvider>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAuB,MAAM,SAAS,CAAA;AAG1E,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,cAAc,CAAA;AAEpC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/EditMany/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAuB,MAAM,SAAS,CAAA;AAG1E,OAAO,KAAmB,MAAM,OAAO,CAAA;AAQvC,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,SAAS,cAAc,CAAA;AAEpC,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,UAAU,EAAE,sBAAsB,CAAA;CAC5C,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA6C5C,CAAA"}
|
|
@@ -39,7 +39,7 @@ export const EditMany = props => {
|
|
|
39
39
|
} else {
|
|
40
40
|
t1 = $[0];
|
|
41
41
|
}
|
|
42
|
-
const [
|
|
42
|
+
const [selected, setSelected] = useState(t1);
|
|
43
43
|
const collectionPermissions = permissions?.collections?.[slug];
|
|
44
44
|
const hasUpdatePermission = collectionPermissions?.update;
|
|
45
45
|
const drawerSlug = `edit-${slug}`;
|
|
@@ -47,12 +47,12 @@ export const EditMany = props => {
|
|
|
47
47
|
return null;
|
|
48
48
|
}
|
|
49
49
|
let t2;
|
|
50
|
-
if ($[1] !== drawerSlug || $[2] !== openModal || $[3] !== props.collection || $[4] !==
|
|
50
|
+
if ($[1] !== drawerSlug || $[2] !== openModal || $[3] !== props.collection || $[4] !== selected || $[5] !== t) {
|
|
51
51
|
let t3;
|
|
52
52
|
if ($[7] !== drawerSlug || $[8] !== openModal) {
|
|
53
53
|
t3 = () => {
|
|
54
54
|
openModal(drawerSlug);
|
|
55
|
-
|
|
55
|
+
setSelected([]);
|
|
56
56
|
};
|
|
57
57
|
$[7] = drawerSlug;
|
|
58
58
|
$[8] = openModal;
|
|
@@ -75,8 +75,7 @@ export const EditMany = props => {
|
|
|
75
75
|
children: _jsx(EditManyDrawerContent, {
|
|
76
76
|
collection: props.collection,
|
|
77
77
|
drawerSlug,
|
|
78
|
-
|
|
79
|
-
setSelectedFields
|
|
78
|
+
selected
|
|
80
79
|
})
|
|
81
80
|
})
|
|
82
81
|
})]
|
|
@@ -84,7 +83,7 @@ export const EditMany = props => {
|
|
|
84
83
|
$[1] = drawerSlug;
|
|
85
84
|
$[2] = openModal;
|
|
86
85
|
$[3] = props.collection;
|
|
87
|
-
$[4] =
|
|
86
|
+
$[4] = selected;
|
|
88
87
|
$[5] = t;
|
|
89
88
|
$[6] = t2;
|
|
90
89
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","useModal","React","useState","useAuth","EditDepthProvider","SelectAllStatus","useSelection","useTranslation","Drawer","EditManyDrawerContent","baseClass","EditMany","props","$","collection","t0","slug","permissions","openModal","selectAll","t","t1","Symbol","for","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","useModal","React","useState","useAuth","EditDepthProvider","SelectAllStatus","useSelection","useTranslation","Drawer","EditManyDrawerContent","baseClass","EditMany","props","$","collection","t0","slug","permissions","openModal","selectAll","t","t1","Symbol","for","selected","setSelected","collectionPermissions","collections","hasUpdatePermission","update","drawerSlug","None","t2","t3","_jsxs","className","children","_jsx","onClick","type","Header"],"sources":["../../../src/elements/EditMany/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, FieldWithPathClient } from 'payload'\n\nimport { useModal } from '@faceless-ui/modal'\nimport React, { useState } from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { EditDepthProvider } from '../../providers/EditDepth/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Drawer } from '../Drawer/index.js'\nimport { EditManyDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'edit-many'\n\nexport type EditManyProps = {\n readonly collection: ClientCollectionConfig\n}\n\nexport const EditMany: React.FC<EditManyProps> = (props) => {\n const {\n collection: { slug },\n } = props\n\n const { permissions } = useAuth()\n const { openModal } = useModal()\n\n const { selectAll } = useSelection()\n const { t } = useTranslation()\n const [selected, setSelected] = useState<FieldWithPathClient[]>([])\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasUpdatePermission = collectionPermissions?.update\n\n const drawerSlug = `edit-${slug}`\n\n if (selectAll === SelectAllStatus.None || !hasUpdatePermission) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <button\n aria-label={t('general:edit')}\n className={`${baseClass}__toggle`}\n onClick={() => {\n openModal(drawerSlug)\n setSelected([])\n }}\n type=\"button\"\n >\n {t('general:edit')}\n </button>\n <EditDepthProvider>\n <Drawer Header={null} slug={drawerSlug}>\n <EditManyDrawerContent\n collection={props.collection}\n drawerSlug={drawerSlug}\n selected={selected}\n />\n </Drawer>\n </EditDepthProvider>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,QAAQ,QAAQ;AACzB,OAAOC,KAAA,IAASC,QAAQ,QAAQ;AAEhC,SAASC,OAAO,QAAQ;AACxB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,eAAe,EAAEC,YAAY,QAAQ;AAC9C,SAASC,cAAc,QAAQ;AAC/B,SAASC,MAAM,QAAQ;AACvB,SAASC,qBAAqB,QAAQ;AACtC,OAAO;AAEP,OAAO,MAAMC,SAAA,GAAY;AAMzB,OAAO,MAAMC,QAAA,GAAoCC,KAAA;EAAA,MAAAC,CAAA,GAAAd,EAAA;EAC/C;IAAAe,UAAA,EAAAC;EAAA,IAEIH,KAAA;EADU;IAAAI;EAAA,IAAAD,EAAQ;EAGtB;IAAAE;EAAA,IAAwBd,OAAA;EACxB;IAAAe;EAAA,IAAsBlB,QAAA;EAEtB;IAAAmB;EAAA,IAAsBb,YAAA;EACtB;IAAAc;EAAA,IAAcb,cAAA;EAAA,IAAAc,EAAA;EAAA,IAAAR,CAAA,QAAAS,MAAA,CAAAC,GAAA;IACkDF,EAAA;IAAER,CAAA,MAAAQ,EAAA;EAAA;IAAAA,EAAA,GAAAR,CAAA;EAAA;EAAlE,OAAAW,QAAA,EAAAC,WAAA,IAAgCvB,QAAA,CAAgCmB,EAAE;EAElE,MAAAK,qBAAA,GAA8BT,WAAA,EAAAU,WAAA,GAA2BX,IAAA;EACzD,MAAAY,mBAAA,GAA4BF,qBAAA,EAAAG,MAAA;EAE5B,MAAAC,UAAA,GAAmB,QAAQd,IAAA,EAAM;EAAA,IAE7BG,SAAA,KAAAd,eAAA,CAAA0B,IAAkC,KAAKH,mBAAA;IAAA;EAAA;EAAA,IAAAI,EAAA;EAAA,IAAAnB,CAAA,QAAAiB,UAAA,IAAAjB,CAAA,QAAAK,SAAA,IAAAL,CAAA,QAAAD,KAAA,CAAAE,UAAA,IAAAD,CAAA,QAAAW,QAAA,IAAAX,CAAA,QAAAO,CAAA;IAAA,IAAAa,EAAA;IAAA,IAAApB,CAAA,QAAAiB,UAAA,IAAAjB,CAAA,QAAAK,SAAA;MAS5Be,EAAA,GAAAA,CAAA;QACPf,SAAA,CAAUY,UAAA;QACVL,WAAA,GAAc;MAAA;MAChBZ,CAAA,MAAAiB,UAAA;MAAAjB,CAAA,MAAAK,SAAA;MAAAL,CAAA,MAAAoB,EAAA;IAAA;MAAAA,EAAA,GAAApB,CAAA;IAAA;IAPJmB,EAAA,GAAAE,KAAA,CAAC;MAAAC,SAAA,EAAAzB,SAAA;MAAA0B,QAAA,GACCC,IAAA,CAAC;QAAA,cACajB,CAAA,CAAE;QAAAe,SAAA,EACH,GAAAzB,SAAA,UAAsB;QAAA4B,OAAA,EACxBL,EAGT;QAAAM,IAAA,EACK;QAAAH,QAAA,EAEJhB,CAAA,CAAE;MAAA,C,GAELiB,IAAA,CAAAjC,iBAAA;QAAAgC,QAAA,EACEC,IAAA,CAAA7B,MAAA;UAAAgC,MAAA;UAAAxB,IAAA,EAA4Bc,UAAA;UAAAM,QAAA,EAC1BC,IAAA,CAAA5B,qBAAA;YAAAK,UAAA,EACcF,KAAA,CAAAE,UAAA;YAAAgB,UAAA;YAAAN;UAAA,C;;;;;;;;;;;;;SAfpBQ,E;CAuBJ","ignoreList":[]}
|
|
@@ -1,24 +1,14 @@
|
|
|
1
|
-
import type { ClientField, FieldWithPathClient
|
|
1
|
+
import type { ClientField, FieldWithPathClient } from 'payload';
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import type { FieldAction } from '../../forms/Form/types.js';
|
|
4
3
|
import './index.scss';
|
|
5
|
-
export type OnFieldSelect = ({ dispatchFields, formState, selected, }: {
|
|
6
|
-
dispatchFields: React.Dispatch<FieldAction>;
|
|
7
|
-
formState: FormState;
|
|
8
|
-
selected: FieldOption[];
|
|
9
|
-
}) => void;
|
|
10
4
|
export type FieldSelectProps = {
|
|
11
5
|
readonly fields: ClientField[];
|
|
12
|
-
readonly
|
|
6
|
+
readonly setSelected: (fields: FieldWithPathClient[]) => void;
|
|
13
7
|
};
|
|
14
8
|
export declare const combineLabel: ({ CustomLabel, field, prefix, }: {
|
|
15
9
|
CustomLabel?: React.ReactNode;
|
|
16
10
|
field?: ClientField;
|
|
17
11
|
prefix?: React.ReactNode;
|
|
18
12
|
}) => React.ReactNode;
|
|
19
|
-
export type FieldOption = {
|
|
20
|
-
Label: React.ReactNode;
|
|
21
|
-
value: FieldWithPathClient;
|
|
22
|
-
};
|
|
23
13
|
export declare const FieldSelect: React.FC<FieldSelectProps>;
|
|
24
14
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/FieldSelect/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAa,MAAM,SAAS,CAAA;AAG1E,OAAO,KAA6B,MAAM,OAAO,CAAA;AAQjD,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAA;IAC9B,QAAQ,CAAC,WAAW,EAAE,CAAC,MAAM,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAA;CAC9D,CAAA;AAED,eAAO,MAAM,YAAY,oCAItB;IACD,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC7B,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CACzB,KAAG,KAAK,CAAC,SAiBT,CAAA;AAyED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiDlD,CAAA"}
|
|
@@ -9,7 +9,6 @@ import { FieldLabel } from '../../fields/FieldLabel/index.js';
|
|
|
9
9
|
import { useForm } from '../../forms/Form/context.js';
|
|
10
10
|
import { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js';
|
|
11
11
|
import { useTranslation } from '../../providers/Translation/index.js';
|
|
12
|
-
import { filterOutUploadFields } from '../../utilities/filterOutUploadFields.js';
|
|
13
12
|
import { ReactSelect } from '../ReactSelect/index.js';
|
|
14
13
|
import './index.scss';
|
|
15
14
|
const baseClass = 'field-select';
|
|
@@ -92,10 +91,10 @@ const reduceFields = ({
|
|
|
92
91
|
}, []);
|
|
93
92
|
};
|
|
94
93
|
export const FieldSelect = t0 => {
|
|
95
|
-
const $ = _c(
|
|
94
|
+
const $ = _c(11);
|
|
96
95
|
const {
|
|
97
96
|
fields,
|
|
98
|
-
|
|
97
|
+
setSelected
|
|
99
98
|
} = t0;
|
|
100
99
|
const {
|
|
101
100
|
t
|
|
@@ -107,7 +106,7 @@ export const FieldSelect = t0 => {
|
|
|
107
106
|
let t1;
|
|
108
107
|
if ($[0] !== fields || $[1] !== getFields) {
|
|
109
108
|
t1 = () => reduceFields({
|
|
110
|
-
fields
|
|
109
|
+
fields,
|
|
111
110
|
formState: getFields()
|
|
112
111
|
});
|
|
113
112
|
$[0] = fields;
|
|
@@ -118,44 +117,62 @@ export const FieldSelect = t0 => {
|
|
|
118
117
|
}
|
|
119
118
|
const [options] = useState(t1);
|
|
120
119
|
let t2;
|
|
121
|
-
if ($[3] !== dispatchFields || $[4] !== getFields || $[5] !==
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
selected
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
120
|
+
if ($[3] !== dispatchFields || $[4] !== getFields || $[5] !== setSelected) {
|
|
121
|
+
t2 = selected => {
|
|
122
|
+
const activeFields = getFields();
|
|
123
|
+
if (selected === null) {
|
|
124
|
+
setSelected([]);
|
|
125
|
+
} else {
|
|
126
|
+
setSelected(selected.map(_temp));
|
|
127
|
+
}
|
|
128
|
+
if (selected === null || Object.keys(activeFields || []).length > selected.length) {
|
|
129
|
+
Object.keys(activeFields).forEach(path => {
|
|
130
|
+
if (selected === null || !selected.find(field => field.value.path === path)) {
|
|
131
|
+
dispatchFields({
|
|
132
|
+
type: "REMOVE",
|
|
133
|
+
path
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
$[3] = dispatchFields;
|
|
140
|
+
$[4] = getFields;
|
|
141
|
+
$[5] = setSelected;
|
|
142
|
+
$[6] = t2;
|
|
143
|
+
} else {
|
|
144
|
+
t2 = $[6];
|
|
145
|
+
}
|
|
146
|
+
const handleChange = t2;
|
|
147
|
+
let t3;
|
|
148
|
+
if ($[7] !== handleChange || $[8] !== options || $[9] !== t) {
|
|
149
|
+
t3 = _jsxs("div", {
|
|
137
150
|
className: baseClass,
|
|
138
151
|
children: [_jsx(FieldLabel, {
|
|
139
152
|
label: t("fields:selectFieldsToEdit")
|
|
140
153
|
}), _jsx(ReactSelect, {
|
|
141
|
-
getOptionValue:
|
|
154
|
+
getOptionValue: _temp2,
|
|
142
155
|
isMulti: true,
|
|
143
|
-
onChange:
|
|
156
|
+
onChange: handleChange,
|
|
144
157
|
options
|
|
145
158
|
})]
|
|
146
159
|
});
|
|
147
|
-
$[
|
|
148
|
-
$[
|
|
149
|
-
$[
|
|
150
|
-
$[
|
|
151
|
-
$[7] = t;
|
|
152
|
-
$[8] = t2;
|
|
160
|
+
$[7] = handleChange;
|
|
161
|
+
$[8] = options;
|
|
162
|
+
$[9] = t;
|
|
163
|
+
$[10] = t3;
|
|
153
164
|
} else {
|
|
154
|
-
|
|
165
|
+
t3 = $[10];
|
|
155
166
|
}
|
|
156
|
-
return
|
|
167
|
+
return t3;
|
|
157
168
|
};
|
|
158
|
-
function _temp(
|
|
169
|
+
function _temp(t0) {
|
|
170
|
+
const {
|
|
171
|
+
value
|
|
172
|
+
} = t0;
|
|
173
|
+
return value;
|
|
174
|
+
}
|
|
175
|
+
function _temp2(option) {
|
|
159
176
|
if (typeof option.value === "object" && "path" in option.value) {
|
|
160
177
|
return String(option.value.path);
|
|
161
178
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","React","Fragment","useState","RenderCustomComponent","FieldLabel","useForm","createNestedClientFieldPath","useTranslation","
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","fieldAffectsData","fieldHasSubFields","fieldIsHiddenOrDisabled","React","Fragment","useState","RenderCustomComponent","FieldLabel","useForm","createNestedClientFieldPath","useTranslation","ReactSelect","baseClass","combineLabel","CustomLabel","field","prefix","_jsxs","_jsx","style","display","CustomComponent","Fallback","label","reduceFields","fields","formState","labelPrefix","path","customComponents","Label","reduce","fieldsToUse","type","admin","disableBulkEdit","unique","readOnly","tabs","tabFields","tab","isNamedTab","name","formattedField","value","FieldSelect","t0","$","setSelected","t","dispatchFields","getFields","t1","options","t2","selected","activeFields","map","_temp","Object","keys","length","forEach","find","handleChange","t3","className","children","getOptionValue","_temp2","isMulti","onChange","option","String"],"sources":["../../../src/elements/FieldSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientField, FieldWithPathClient, FormState } from 'payload'\n\nimport { fieldAffectsData, fieldHasSubFields, fieldIsHiddenOrDisabled } from 'payload/shared'\nimport React, { Fragment, useState } from 'react'\n\nimport { RenderCustomComponent } from '../../elements/RenderCustomComponent/index.js'\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport './index.scss'\n\nconst baseClass = 'field-select'\n\nexport type FieldSelectProps = {\n readonly fields: ClientField[]\n readonly setSelected: (fields: FieldWithPathClient[]) => void\n}\n\nexport const combineLabel = ({\n CustomLabel,\n field,\n prefix,\n}: {\n CustomLabel?: React.ReactNode\n field?: ClientField\n prefix?: React.ReactNode\n}): React.ReactNode => {\n return (\n <Fragment>\n {prefix ? (\n <Fragment>\n <span style={{ display: 'inline-block' }}>{prefix}</span>\n {' > '}\n </Fragment>\n ) : null}\n <span style={{ display: 'inline-block' }}>\n <RenderCustomComponent\n CustomComponent={CustomLabel}\n Fallback={<FieldLabel label={'label' in field && field.label} />}\n />\n </span>\n </Fragment>\n )\n}\n\nconst reduceFields = ({\n fields,\n formState,\n labelPrefix = null,\n path = '',\n}: {\n fields: ClientField[]\n formState?: FormState\n labelPrefix?: React.ReactNode\n path?: string\n}): { Label: React.ReactNode; value: FieldWithPathClient }[] => {\n if (!fields) {\n return []\n }\n\n const CustomLabel = formState?.[path]?.customComponents?.Label\n\n return fields?.reduce((fieldsToUse, field) => {\n // escape for a variety of reasons, include ui fields as they have `name`.\n if (\n (fieldAffectsData(field) || field.type === 'ui') &&\n (field.admin?.disableBulkEdit ||\n field.unique ||\n fieldIsHiddenOrDisabled(field) ||\n ('readOnly' in field && field.readOnly))\n ) {\n return fieldsToUse\n }\n\n if (!(field.type === 'array' || field.type === 'blocks') && fieldHasSubFields(field)) {\n return [\n ...fieldsToUse,\n ...reduceFields({\n fields: field.fields,\n labelPrefix: combineLabel({ CustomLabel, field, prefix: labelPrefix }),\n path: createNestedClientFieldPath(path, field),\n }),\n ]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...fieldsToUse,\n ...field.tabs.reduce((tabFields, tab) => {\n if ('fields' in tab) {\n const isNamedTab = 'name' in tab && tab.name\n return [\n ...tabFields,\n ...reduceFields({\n fields: tab.fields,\n labelPrefix,\n path: isNamedTab ? createNestedClientFieldPath(path, field) : path,\n }),\n ]\n }\n }, []),\n ]\n }\n\n const formattedField = {\n label: combineLabel({ CustomLabel, field, prefix: labelPrefix }),\n value: {\n ...field,\n path: createNestedClientFieldPath(path, field),\n },\n }\n\n return [...fieldsToUse, formattedField]\n }, [])\n}\n\nexport const FieldSelect: React.FC<FieldSelectProps> = ({ fields, setSelected }) => {\n const { t } = useTranslation()\n const { dispatchFields, getFields } = useForm()\n\n const [options] = useState(() => reduceFields({ fields, formState: getFields() }))\n\n const handleChange = (selected) => {\n const activeFields = getFields()\n\n if (selected === null) {\n setSelected([])\n } else {\n setSelected(selected.map(({ value }) => value))\n }\n\n // remove deselected values from form state\n if (selected === null || Object.keys(activeFields || []).length > selected.length) {\n Object.keys(activeFields).forEach((path) => {\n if (\n selected === null ||\n !selected.find((field) => {\n return field.value.path === path\n })\n ) {\n dispatchFields({\n type: 'REMOVE',\n path,\n })\n }\n })\n }\n }\n\n return (\n <div className={baseClass}>\n <FieldLabel label={t('fields:selectFieldsToEdit')} />\n <ReactSelect\n getOptionValue={(option) => {\n if (typeof option.value === 'object' && 'path' in option.value) {\n return String(option.value.path)\n }\n return String(option.value)\n }}\n isMulti\n onChange={handleChange}\n options={options}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/cells/WhereCell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAS,MAAM,SAAS,CAAA;AAG/D,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/cells/WhereCell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAS,MAAM,SAAS,CAAA;AAG/D,OAAO,KAAK,MAAM,OAAO,CAAA;AAiBzB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAErE,CAAA"}
|
|
@@ -5,14 +5,8 @@ import React from 'react';
|
|
|
5
5
|
const transformWhereToNaturalLanguage = where => {
|
|
6
6
|
if (where.or && where.or.length > 0 && where.or[0].and && where.or[0].and.length > 0) {
|
|
7
7
|
const orQuery = where.or[0];
|
|
8
|
-
const andQuery = orQuery
|
|
9
|
-
if (!andQuery) {
|
|
10
|
-
return 'No where query';
|
|
11
|
-
}
|
|
8
|
+
const andQuery = orQuery.and[0];
|
|
12
9
|
const key = Object.keys(andQuery)[0];
|
|
13
|
-
if (!andQuery[key]) {
|
|
14
|
-
return 'No where query';
|
|
15
|
-
}
|
|
16
10
|
const operator = Object.keys(andQuery[key])[0];
|
|
17
11
|
const value = andQuery[key][operator];
|
|
18
12
|
return `${toWords(key)} ${operator} ${toWords(value)}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["toWords","React","transformWhereToNaturalLanguage","where","or","length","and","orQuery","andQuery","key","Object","keys","operator","value","QueryPresetsWhereCell","cellData","_jsx"],"sources":["../../../../../src/elements/QueryPresets/cells/WhereCell/index.tsx"],"sourcesContent":["import type { DefaultCellComponentProps, Where } from 'payload'\n\nimport { toWords } from 'payload/shared'\nimport React from 'react'\n\n/** @todo: improve this */\nconst transformWhereToNaturalLanguage = (where: Where): string => {\n if (where.or && where.or.length > 0 && where.or[0].and && where.or[0].and.length > 0) {\n const orQuery = where.or[0]\n const andQuery = orQuery
|
|
1
|
+
{"version":3,"file":"index.js","names":["toWords","React","transformWhereToNaturalLanguage","where","or","length","and","orQuery","andQuery","key","Object","keys","operator","value","QueryPresetsWhereCell","cellData","_jsx"],"sources":["../../../../../src/elements/QueryPresets/cells/WhereCell/index.tsx"],"sourcesContent":["import type { DefaultCellComponentProps, Where } from 'payload'\n\nimport { toWords } from 'payload/shared'\nimport React from 'react'\n\n/** @todo: improve this */\nconst transformWhereToNaturalLanguage = (where: Where): string => {\n if (where.or && where.or.length > 0 && where.or[0].and && where.or[0].and.length > 0) {\n const orQuery = where.or[0]\n const andQuery = orQuery.and[0]\n const key = Object.keys(andQuery)[0]\n const operator = Object.keys(andQuery[key])[0]\n const value = andQuery[key][operator]\n\n return `${toWords(key)} ${operator} ${toWords(value)}`\n }\n\n return ''\n}\n\nexport const QueryPresetsWhereCell: React.FC<DefaultCellComponentProps> = ({ cellData }) => {\n return <div>{cellData ? transformWhereToNaturalLanguage(cellData) : 'No where query'}</div>\n}\n"],"mappings":";AAEA,SAASA,OAAO,QAAQ;AACxB,OAAOC,KAAA,MAAW;AAElB;AACA,MAAMC,+BAAA,GAAmCC,KAAA;EACvC,IAAIA,KAAA,CAAMC,EAAE,IAAID,KAAA,CAAMC,EAAE,CAACC,MAAM,GAAG,KAAKF,KAAA,CAAMC,EAAE,CAAC,EAAE,CAACE,GAAG,IAAIH,KAAA,CAAMC,EAAE,CAAC,EAAE,CAACE,GAAG,CAACD,MAAM,GAAG,GAAG;IACpF,MAAME,OAAA,GAAUJ,KAAA,CAAMC,EAAE,CAAC,EAAE;IAC3B,MAAMI,QAAA,GAAWD,OAAA,CAAQD,GAAG,CAAC,EAAE;IAC/B,MAAMG,GAAA,GAAMC,MAAA,CAAOC,IAAI,CAACH,QAAA,CAAS,CAAC,EAAE;IACpC,MAAMI,QAAA,GAAWF,MAAA,CAAOC,IAAI,CAACH,QAAQ,CAACC,GAAA,CAAI,CAAC,CAAC,EAAE;IAC9C,MAAMI,KAAA,GAAQL,QAAQ,CAACC,GAAA,CAAI,CAACG,QAAA,CAAS;IAErC,OAAO,GAAGZ,OAAA,CAAQS,GAAA,KAAQG,QAAA,IAAYZ,OAAA,CAAQa,KAAA,GAAQ;EACxD;EAEA,OAAO;AACT;AAEA,OAAO,MAAMC,qBAAA,GAA6DA,CAAC;EAAEC;AAAQ,CAAE;EACrF,oBAAOC,IAAA,CAAC;cAAKD,QAAA,GAAWb,+BAAA,CAAgCa,QAAA,IAAY;;AACtE","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAS,MAAM,SAAS,CAAA;AAY9D,OAAO,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAS,MAAM,SAAS,CAAA;AAY9D,OAAO,cAAc,CAAA;AAsErB,eAAO,MAAM,sBAAsB,EAAE,wBAyBpC,CAAA"}
|
|
@@ -19,9 +19,6 @@ const transformWhereToNaturalLanguage = (where, collectionLabel) => {
|
|
|
19
19
|
}
|
|
20
20
|
const renderCondition = condition => {
|
|
21
21
|
const key = Object.keys(condition)[0];
|
|
22
|
-
if (!condition[key]) {
|
|
23
|
-
return 'No where query';
|
|
24
|
-
}
|
|
25
22
|
const operator = Object.keys(condition[key])[0];
|
|
26
23
|
let value = condition[key][operator];
|
|
27
24
|
// TODO: this is not right, but works for now at least.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","getTranslation","toWords","React","FieldLabel","useField","useConfig","useListQuery","useTranslation","Pill","transformWhereToNaturalLanguage","where","collectionLabel","renderCondition","condition","key","Object","keys","operator","value","Date","toLocaleDateString","_err","_jsxs","pillStyle","_jsx","renderWhere","or","length","className","map","orCondition","orIndex","Fragment","and","andCondition","andIndex","QueryPresetsWhereField","t0","$","field","t1","path","label","required","t2","collectionSlug","getEntityConfig","collectionConfig","i18n","children","as","labels","plural"],"sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { toWords } from 'payload/shared'\nimport React from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useListQuery } from '../../../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { Pill } from '../../../Pill/index.js'\nimport './index.scss'\n\n/** @todo: improve this */\nconst transformWhereToNaturalLanguage = (\n where: Where,\n collectionLabel: string,\n): React.ReactNode => {\n if (!where) {\n return null\n }\n\n const renderCondition = (condition: any): React.ReactNode => {\n const key = Object.keys(condition)[0]\n
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","getTranslation","toWords","React","FieldLabel","useField","useConfig","useListQuery","useTranslation","Pill","transformWhereToNaturalLanguage","where","collectionLabel","renderCondition","condition","key","Object","keys","operator","value","Date","toLocaleDateString","_err","_jsxs","pillStyle","_jsx","renderWhere","or","length","className","map","orCondition","orIndex","Fragment","and","andCondition","andIndex","QueryPresetsWhereField","t0","$","field","t1","path","label","required","t2","collectionSlug","getEntityConfig","collectionConfig","i18n","children","as","labels","plural"],"sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { toWords } from 'payload/shared'\nimport React from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useListQuery } from '../../../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { Pill } from '../../../Pill/index.js'\nimport './index.scss'\n\n/** @todo: improve this */\nconst transformWhereToNaturalLanguage = (\n where: Where,\n collectionLabel: string,\n): React.ReactNode => {\n if (!where) {\n return null\n }\n\n const renderCondition = (condition: any): React.ReactNode => {\n const key = Object.keys(condition)[0]\n const operator = Object.keys(condition[key])[0]\n let value = condition[key][operator]\n\n // TODO: this is not right, but works for now at least.\n // Ideally we look up iterate _fields_ so we know the type of the field\n // Currently, we're only iterating over the `where` field's value, so we don't know the type\n if (typeof value === 'object') {\n try {\n value = new Date(value).toLocaleDateString()\n } catch (_err) {\n value = 'Unknown error has occurred'\n }\n }\n\n return (\n <Pill pillStyle=\"always-white\">\n <b>{toWords(key)}</b> {operator} <b>{toWords(value)}</b>\n </Pill>\n )\n }\n\n const renderWhere = (where: Where, collectionLabel: string): React.ReactNode => {\n if (where.or && where.or.length > 0) {\n return (\n <div className=\"or-condition\">\n {where.or.map((orCondition, orIndex) => (\n <React.Fragment key={orIndex}>\n {orCondition.and && orCondition.and.length > 0 ? (\n <div className=\"and-condition\">\n {orIndex === 0 && (\n <span className=\"label\">{`Filter ${collectionLabel} where `}</span>\n )}\n {orIndex > 0 && <span className=\"label\"> or </span>}\n {orCondition.and.map((andCondition, andIndex) => (\n <React.Fragment key={andIndex}>\n {renderCondition(andCondition)}\n {andIndex < orCondition.and.length - 1 && (\n <span className=\"label\"> and </span>\n )}\n </React.Fragment>\n ))}\n </div>\n ) : (\n renderCondition(orCondition)\n )}\n </React.Fragment>\n ))}\n </div>\n )\n }\n\n return renderCondition(where)\n }\n\n return renderWhere(where, collectionLabel)\n}\n\nexport const QueryPresetsWhereField: JSONFieldClientComponent = ({\n field: { label, required },\n path,\n}) => {\n const { value } = useField({ path })\n const { collectionSlug } = useListQuery()\n const { getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { i18n } = useTranslation()\n\n return (\n <div className=\"field-type query-preset-where-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <div className=\"value-wrapper\">\n {value\n ? transformWhereToNaturalLanguage(\n value as Where,\n getTranslation(collectionConfig.labels.plural, i18n),\n )\n : 'No where query'}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -69,7 +69,7 @@ export const Thumbnail = props => {
|
|
|
69
69
|
t6 = $[8];
|
|
70
70
|
}
|
|
71
71
|
React.useEffect(t5, t6);
|
|
72
|
-
let src =
|
|
72
|
+
let src = "";
|
|
73
73
|
if (fileSrc) {
|
|
74
74
|
const queryChar = fileSrc?.includes("?") ? "&" : "?";
|
|
75
75
|
src = imageCacheTag ? `${fileSrc}${queryChar}${encodeURIComponent(imageCacheTag)}` : fileSrc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["c","_c","React","baseClass","File","ShimmerEffect","Thumbnail","props","$","className","t0","doc","t1","fileSrc","imageCacheTag","size","undefined","t2","filename","mimeType","fileExists","setFileExists","useState","t3","t4","classNames","join","t5","t6","startsWith","img","Image","src","onload","onerror","useEffect","queryChar","includes","encodeURIComponent","t7","t8","_jsx","alt","_jsxs","children","height","ThumbnailComponent"],"sources":["../../../src/elements/Thumbnail/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'thumbnail'\n\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { File } from '../../graphics/File/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\n\nexport type ThumbnailProps = {\n className?: string\n collectionSlug?: string\n doc?: Record<string, unknown>\n fileSrc?: string\n imageCacheTag?: string\n size?: 'expand' | 'large' | 'medium' | 'small'\n uploadConfig?: SanitizedCollectionConfig['upload']\n}\n\nexport const Thumbnail: React.FC<ThumbnailProps> = (props) => {\n const { className = '', doc: { filename, mimeType } = {}, fileSrc, imageCacheTag, size } = props\n const [fileExists, setFileExists] = React.useState(undefined)\n\n const classNames = [baseClass, `${baseClass}--size-${size || 'medium'}`, className].join(' ')\n\n React.useEffect(() => {\n if (!fileSrc || (typeof mimeType === 'string' && !mimeType.startsWith('image'))) {\n setFileExists(false)\n return\n }\n setFileExists(undefined)\n\n const img = new Image()\n img.src = fileSrc\n img.onload = () => {\n setFileExists(true)\n }\n img.onerror = () => {\n setFileExists(false)\n }\n }, [fileSrc, mimeType])\n\n let src:
|
|
1
|
+
{"version":3,"file":"index.js","names":["c","_c","React","baseClass","File","ShimmerEffect","Thumbnail","props","$","className","t0","doc","t1","fileSrc","imageCacheTag","size","undefined","t2","filename","mimeType","fileExists","setFileExists","useState","t3","t4","classNames","join","t5","t6","startsWith","img","Image","src","onload","onerror","useEffect","queryChar","includes","encodeURIComponent","t7","t8","_jsx","alt","_jsxs","children","height","ThumbnailComponent"],"sources":["../../../src/elements/Thumbnail/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'thumbnail'\n\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { File } from '../../graphics/File/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\n\nexport type ThumbnailProps = {\n className?: string\n collectionSlug?: string\n doc?: Record<string, unknown>\n fileSrc?: string\n imageCacheTag?: string\n size?: 'expand' | 'large' | 'medium' | 'small'\n uploadConfig?: SanitizedCollectionConfig['upload']\n}\n\nexport const Thumbnail: React.FC<ThumbnailProps> = (props) => {\n const { className = '', doc: { filename, mimeType } = {}, fileSrc, imageCacheTag, size } = props\n const [fileExists, setFileExists] = React.useState(undefined)\n\n const classNames = [baseClass, `${baseClass}--size-${size || 'medium'}`, className].join(' ')\n\n React.useEffect(() => {\n if (!fileSrc || (typeof mimeType === 'string' && !mimeType.startsWith('image'))) {\n setFileExists(false)\n return\n }\n setFileExists(undefined)\n\n const img = new Image()\n img.src = fileSrc\n img.onload = () => {\n setFileExists(true)\n }\n img.onerror = () => {\n setFileExists(false)\n }\n }, [fileSrc, mimeType])\n\n let src: string = ''\n\n /**\n * If an imageCacheTag is provided, append it to the fileSrc\n * Check if the fileSrc already has a query string, if it does, append the imageCacheTag with an ampersand\n */\n if (fileSrc) {\n const queryChar = fileSrc?.includes('?') ? '&' : '?'\n src = imageCacheTag ? `${fileSrc}${queryChar}${encodeURIComponent(imageCacheTag)}` : fileSrc\n }\n\n return (\n <div className={classNames}>\n {fileExists === undefined && <ShimmerEffect height=\"100%\" />}\n {fileExists && <img alt={filename as string} src={src} />}\n {fileExists === false && <File />}\n </div>\n )\n}\n\ntype ThumbnailComponentProps = {\n readonly alt?: string\n readonly className?: string\n readonly filename: string\n readonly fileSrc: string\n readonly imageCacheTag?: string\n readonly size?: 'expand' | 'large' | 'medium' | 'small'\n}\nexport function ThumbnailComponent(props: ThumbnailComponentProps) {\n const { alt, className = '', filename, fileSrc, imageCacheTag, size } = props\n const [fileExists, setFileExists] = React.useState(undefined)\n\n const classNames = [baseClass, `${baseClass}--size-${size || 'medium'}`, className].join(' ')\n\n React.useEffect(() => {\n if (!fileSrc) {\n setFileExists(false)\n return\n }\n setFileExists(undefined)\n\n const img = new Image()\n img.src = fileSrc\n img.onload = () => {\n setFileExists(true)\n }\n img.onerror = () => {\n setFileExists(false)\n }\n }, [fileSrc])\n\n let src: string = ''\n\n /**\n * If an imageCacheTag is provided, append it to the fileSrc\n * Check if the fileSrc already has a query string, if it does, append the imageCacheTag with an ampersand\n */\n if (fileSrc) {\n const queryChar = fileSrc?.includes('?') ? '&' : '?'\n src = imageCacheTag ? `${fileSrc}${queryChar}${encodeURIComponent(imageCacheTag)}` : fileSrc\n }\n\n return (\n <div className={classNames}>\n {fileExists === undefined && <ShimmerEffect height=\"100%\" />}\n {fileExists && <img alt={alt || filename} src={src} />}\n {fileExists === false && <File />}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,MAAW;AAElB,OAAO;AAEP,MAAMC,SAAA,GAAY;AAIlB,SAASC,IAAI,QAAQ;AACrB,SAASC,aAAa,QAAQ;AAY9B,OAAO,MAAMC,SAAA,GAAsCC,KAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EACjD;IAAAQ,SAAA,EAAAC,EAAA;IAAAC,GAAA,EAAAC,EAAA;IAAAC,OAAA;IAAAC,aAAA;IAAAC;EAAA,IAA2FR,KAAA;EAAnF,MAAAE,SAAA,GAAAC,EAAc,KAAAM,SAAA,GAAF,EAAE,GAAdN,EAAc;EAAA,IAAAO,EAAA;EAAA,IAAAT,CAAA,QAAAI,EAAA;IAAOK,EAAA,GAAAL,EAA2B,KAAAI,SAAA,QAA3BJ,EAA2B;IAAAJ,CAAA,MAAAI,EAAA;IAAAJ,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAA3B;IAAAU,QAAA;IAAAC;EAAA,IAAAF,EAA2B;EACxD,OAAAG,UAAA,EAAAC,aAAA,IAAoCnB,KAAA,CAAAoB,QAAA,CAAAN,SAAe;EAEpB,MAAAO,EAAA,MAAApB,SAAA,UAAsBY,IAAA,IAAQ,UAAU;EAAA,IAAAS,EAAA;EAAA,IAAAhB,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAe,EAAA;IAApDC,EAAA,IAAArB,SAAA,EAAYoB,EAAwC,EAAEd,SAAA;IAAUD,CAAA,MAAAC,SAAA;IAAAD,CAAA,MAAAe,EAAA;IAAAf,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAAnF,MAAAiB,UAAA,GAAmBD,EAAgE,CAAAE,IAAA,CAAM;EAAA,IAAAC,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAApB,CAAA,QAAAK,OAAA,IAAAL,CAAA,QAAAW,QAAA;IAEzEQ,EAAA,GAAAA,CAAA;MAAA,IACV,CAACd,OAAA,IAAY,OAAOM,QAAA,KAAa,aAAaA,QAAA,CAAAU,UAAA,CAAoB;QACpER,aAAA,MAAc;QAAA;MAAA;MAGhBA,aAAA,CAAAL,SAAc;MAEd,MAAAc,GAAA,OAAAC,KAAA;MACAD,GAAA,CAAAE,GAAA,GAAUnB,OAAA;MACViB,GAAA,CAAAG,MAAA;QACEZ,aAAA,KAAc;MAAA;MAEhBS,GAAA,CAAAI,OAAA;QACEb,aAAA,MAAc;MAAA;IAAA;IAEfO,EAAA,IAACf,OAAA,EAASM,QAAA;IAASX,CAAA,MAAAK,OAAA;IAAAL,CAAA,MAAAW,QAAA;IAAAX,CAAA,MAAAmB,EAAA;IAAAnB,CAAA,MAAAoB,EAAA;EAAA;IAAAD,EAAA,GAAAnB,CAAA;IAAAoB,EAAA,GAAApB,CAAA;EAAA;EAftBN,KAAA,CAAAiC,SAAA,CAAgBR,EAehB,EAAGC,EAAmB;EAEtB,IAAAI,GAAA,GAAkB;EAAA,IAMdnB,OAAA;IACF,MAAAuB,SAAA,GAAkBvB,OAAA,EAAAwB,QAAA,CAAkB,OAAO,MAAM;IACjDL,GAAA,CAAAA,CAAA,CAAMlB,aAAA,GAAgB,GAAGD,OAAA,GAAUuB,SAAA,GAAYE,kBAAA,CAAmBxB,aAAA,GAAgB,GAAGD,OAAA;EAArF;EAAA,IAAA0B,EAAA;EAAA,IAAA/B,CAAA,QAAAiB,UAAA,IAAAjB,CAAA,SAAAY,UAAA,IAAAZ,CAAA,SAAAU,QAAA,IAAAV,CAAA,SAAAwB,GAAA;IAAA,IAAAQ,EAAA;IAAA,IAAAhC,CAAA,SAAAY,UAAA,IAAAZ,CAAA,SAAAU,QAAA,IAAAV,CAAA,SAAAwB,GAAA;MAMGQ,EAAA,GAAApB,UAAA,IAAcqB,IAAA,CAAC;QAAAC,GAAA,EAASxB,QAAA;QAAAc;MAAA,C;;;;;;;;IAF3BO,EAAA,GAAAI,KAAA,CAAC;MAAAlC,SAAA,EAAegB,UAAA;MAAAmB,QAAA,GACbxB,UAAA,KAAAJ,SAAe,IAAayB,IAAA,CAAApC,aAAA;QAAAwC,MAAA,EAAsB;MAAA,C,GAClDL,E,EACApB,UAAA,UAAe,IAASqB,IAAA,CAAArC,IAAA,IAAC;IAAA,C;;;;;;;;;SAH5BmC,E;CAMJ;AAUA,OAAO,SAAAO,mBAAAvC,KAAA;EAAA,MAAAC,CAAA,GAAAP,EAAA;EACL;IAAAyC,GAAA;IAAAjC,SAAA,EAAAC,EAAA;IAAAQ,QAAA;IAAAL,OAAA;IAAAC,aAAA;IAAAC;EAAA,IAAwER,KAAA;EAA3D,MAAAE,SAAA,GAAAC,EAAc,KAAAM,SAAA,GAAF,EAAE,GAAdN,EAAc;EAC3B,OAAAU,UAAA,EAAAC,aAAA,IAAoCnB,KAAA,CAAAoB,QAAA,CAAAN,SAAe;EAEpB,MAAAJ,EAAA,MAAAT,SAAA,UAAsBY,IAAA,IAAQ,UAAU;EAAA,IAAAE,EAAA;EAAA,IAAAT,CAAA,QAAAC,SAAA,IAAAD,CAAA,QAAAI,EAAA;IAApDK,EAAA,IAAAd,SAAA,EAAYS,EAAwC,EAAEH,SAAA;IAAUD,CAAA,MAAAC,SAAA;IAAAD,CAAA,MAAAI,EAAA;IAAAJ,CAAA,MAAAS,EAAA;EAAA;IAAAA,EAAA,GAAAT,CAAA;EAAA;EAAnF,MAAAiB,UAAA,GAAmBR,EAAgE,CAAAS,IAAA,CAAM;EAAA,IAAAH,EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAhB,CAAA,QAAAK,OAAA;IAEzEU,EAAA,GAAAA,CAAA;MAAA,KACTV,OAAA;QACHQ,aAAA,MAAc;QAAA;MAAA;MAGhBA,aAAA,CAAAL,SAAc;MAEd,MAAAc,GAAA,OAAAC,KAAA;MACAD,GAAA,CAAAE,GAAA,GAAUnB,OAAA;MACViB,GAAA,CAAAG,MAAA;QACEZ,aAAA,KAAc;MAAA;MAEhBS,GAAA,CAAAI,OAAA;QACEb,aAAA,MAAc;MAAA;IAAA;IAEfG,EAAA,IAACX,OAAA;IAAQL,CAAA,MAAAK,OAAA;IAAAL,CAAA,MAAAe,EAAA;IAAAf,CAAA,MAAAgB,EAAA;EAAA;IAAAD,EAAA,GAAAf,CAAA;IAAAgB,EAAA,GAAAhB,CAAA;EAAA;EAfZN,KAAA,CAAAiC,SAAA,CAAgBZ,EAehB,EAAGC,EAAS;EAEZ,IAAAQ,GAAA,GAAkB;EAAA,IAMdnB,OAAA;IACF,MAAAuB,SAAA,GAAkBvB,OAAA,EAAAwB,QAAA,CAAkB,OAAO,MAAM;IACjDL,GAAA,CAAAA,CAAA,CAAMlB,aAAA,GAAgB,GAAGD,OAAA,GAAUuB,SAAA,GAAYE,kBAAA,CAAmBxB,aAAA,GAAgB,GAAGD,OAAA;EAArF;EAAA,IAAAc,EAAA;EAAA,IAAAnB,CAAA,QAAAkC,GAAA,IAAAlC,CAAA,QAAAiB,UAAA,IAAAjB,CAAA,QAAAY,UAAA,IAAAZ,CAAA,QAAAU,QAAA,IAAAV,CAAA,SAAAwB,GAAA;IAAA,IAAAJ,EAAA;IAAA,IAAApB,CAAA,SAAAkC,GAAA,IAAAlC,CAAA,SAAAY,UAAA,IAAAZ,CAAA,SAAAU,QAAA,IAAAV,CAAA,SAAAwB,GAAA;MAMGJ,EAAA,GAAAR,UAAA,IAAcqB,IAAA,CAAC;QAAAC,GAAA,EAASA,GAAA,IAAOxB,QAAA;QAAAc;MAAA,C;;;;;;;;;IAFlCL,EAAA,GAAAgB,KAAA,CAAC;MAAAlC,SAAA,EAAegB,UAAA;MAAAmB,QAAA,GACbxB,UAAA,KAAAJ,SAAe,IAAayB,IAAA,CAAApC,aAAA;QAAAwC,MAAA,EAAsB;MAAA,C,GAClDjB,E,EACAR,UAAA,UAAe,IAASqB,IAAA,CAAArC,IAAA,IAAC;IAAA,C;;;;;;;;;;SAH5BuB,E","ignoreList":[]}
|