@payloadcms/ui 3.0.0-beta.71 → 3.0.0-beta.73
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/DeleteMany/index.d.ts.map +1 -1
- package/dist/elements/DeleteMany/index.js +4 -2
- package/dist/elements/DeleteMany/index.js.map +1 -1
- package/dist/elements/Logout/index.d.ts.map +1 -1
- package/dist/elements/Logout/index.js +2 -0
- package/dist/elements/Logout/index.js.map +1 -1
- package/dist/elements/SortColumn/index.js +4 -4
- package/dist/elements/SortColumn/index.js.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +19 -3
- package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
- package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
- package/dist/elements/WhereBuilder/index.js +7 -4
- package/dist/elements/WhereBuilder/index.js.map +1 -1
- package/dist/exports/client/index.js +7 -6
- package/dist/exports/client/index.js.map +4 -4
- package/dist/exports/shared/index.js +1 -1
- package/dist/exports/shared/index.js.map +3 -3
- package/dist/fields/Array/index.d.ts +1 -1
- package/dist/fields/Array/index.d.ts.map +1 -1
- package/dist/fields/Array/index.js +22 -7
- package/dist/fields/Array/index.js.map +1 -1
- package/dist/fields/Blocks/index.d.ts.map +1 -1
- package/dist/fields/Blocks/index.js +20 -7
- package/dist/fields/Blocks/index.js.map +1 -1
- package/dist/fields/ConfirmPassword/index.d.ts +1 -0
- package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
- package/dist/fields/ConfirmPassword/index.js +2 -3
- package/dist/fields/ConfirmPassword/index.js.map +1 -1
- package/dist/fields/Password/index.d.ts +13 -2
- package/dist/fields/Password/index.d.ts.map +1 -1
- package/dist/fields/Password/index.js +56 -43
- package/dist/fields/Password/index.js.map +1 -1
- package/dist/fields/Password/input.d.ts +5 -0
- package/dist/fields/Password/input.d.ts.map +1 -0
- package/dist/fields/Password/input.js +65 -0
- package/dist/fields/Password/input.js.map +1 -0
- package/dist/fields/Password/types.d.ts +27 -0
- package/dist/fields/Password/types.d.ts.map +1 -0
- package/dist/fields/Password/types.js +3 -0
- package/dist/fields/Password/types.js.map +1 -0
- package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
- package/dist/forms/Form/fieldReducer.js +5 -35
- package/dist/forms/Form/fieldReducer.js.map +1 -1
- package/dist/forms/Form/rowHelpers.d.ts +17 -0
- package/dist/forms/Form/rowHelpers.d.ts.map +1 -0
- package/dist/forms/Form/rowHelpers.js +24 -0
- package/dist/forms/Form/rowHelpers.js.map +1 -0
- package/dist/forms/Form/types.d.ts +3 -10
- package/dist/forms/Form/types.d.ts.map +1 -1
- package/dist/forms/Form/types.js.map +1 -1
- package/dist/forms/useField/index.d.ts.map +1 -1
- package/dist/forms/useField/index.js +2 -1
- package/dist/forms/useField/index.js.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
- package/dist/providers/ComponentMap/buildComponentMap/fields.js +12 -22
- package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
- package/dist/providers/ListQuery/index.d.ts +16 -9
- package/dist/providers/ListQuery/index.d.ts.map +1 -1
- package/dist/providers/ListQuery/index.js +8 -6
- package/dist/providers/ListQuery/index.js.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
- package/dist/utilities/buildFieldSchemaMap/index.js +24 -0
- package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
- package/dist/utilities/buildFormState.d.ts.map +1 -1
- package/dist/utilities/buildFormState.js +0 -2
- package/dist/utilities/buildFormState.js.map +1 -1
- package/dist/utilities/formatAdminURL.d.ts +1 -0
- package/dist/utilities/formatAdminURL.d.ts.map +1 -1
- package/dist/utilities/formatAdminURL.js +4 -4
- package/dist/utilities/formatAdminURL.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forms/Form/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/forms/Form/types.ts"],"sourcesContent":["import type { Data, Field, FormField, FormState, User } from 'payload'\nimport type React from 'react'\nimport type { Dispatch } from 'react'\n\nexport type Preferences = {\n [key: string]: unknown\n}\n\nexport type FormProps = {\n beforeSubmit?: ((args: { formState: FormState }) => Promise<FormState>)[]\n children?: React.ReactNode\n className?: string\n disableSuccessStatus?: boolean\n /**\n * If you would like to solely leverage server-side validation on submit,\n * you can disable checks that the form makes before it submits\n */\n disableValidationOnSubmit?: boolean\n disabled?: boolean\n /**\n * By default, the form will get the field schema (not data) from the current document. If you pass this in, you can override that behavior.\n * This is very useful for sub-forms, where the form's field schema is not necessarily the field schema of the current document (e.g. for the Blocks\n * feature of the Lexical Rich Text field)\n */\n fields?: Field[]\n handleResponse?: (\n res: Response,\n successToast: (value: string) => void,\n errorToast: (value: string) => void,\n ) => void\n initialState?: FormState\n isInitializing?: boolean\n log?: boolean\n onChange?: ((args: { formState: FormState }) => Promise<FormState>)[]\n onSubmit?: (fields: FormState, data: Data) => void\n onSuccess?: (json: unknown) => Promise<void> | void\n redirect?: string\n submitted?: boolean\n uuid?: string\n validationOperation?: 'create' | 'update'\n waitForAutocomplete?: boolean\n} & (\n | {\n action: (formData: FormData) => Promise<void>\n }\n | {\n action?: string\n method?: 'DELETE' | 'GET' | 'PATCH' | 'POST'\n }\n)\n\nexport type SubmitOptions = {\n action?: string\n method?: string\n overrides?: Record<string, unknown>\n skipValidation?: boolean\n}\n\nexport type DispatchFields = React.Dispatch<any>\nexport type Submit = (\n options?: SubmitOptions,\n e?: React.FormEvent<HTMLFormElement>,\n) => Promise<void>\nexport type ValidateForm = () => Promise<boolean>\nexport type CreateFormData = (overrides?: any) => FormData\nexport type GetFields = () => FormState\nexport type GetField = (path: string) => FormField\nexport type GetData = () => Data\nexport type GetSiblingData = (path: string) => Data\nexport type GetDataByPath = <T = unknown>(path: string) => T\nexport type SetModified = (modified: boolean) => void\nexport type SetSubmitted = (submitted: boolean) => void\nexport type SetProcessing = (processing: boolean) => void\n\nexport type Reset = (data: unknown) => Promise<void>\n\nexport type REPLACE_STATE = {\n optimize?: boolean\n state: FormState\n type: 'REPLACE_STATE'\n}\n\nexport type REMOVE = {\n path: string\n type: 'REMOVE'\n}\n\nexport type MODIFY_CONDITION = {\n path: string\n result: boolean\n type: 'MODIFY_CONDITION'\n user: User\n}\n\nexport type UPDATE = {\n path: string\n type: 'UPDATE'\n} & Partial<FormField>\n\nexport type REMOVE_ROW = {\n path: string\n rowIndex: number\n type: 'REMOVE_ROW'\n}\n\nexport type ADD_ROW = {\n blockType?: string\n path: string\n rowIndex?: number\n subFieldState?: FormState\n type: 'ADD_ROW'\n}\n\nexport type REPLACE_ROW = {\n blockType?: string\n path: string\n rowIndex: number\n subFieldState?: FormState\n type: 'REPLACE_ROW'\n}\n\nexport type DUPLICATE_ROW = {\n path: string\n rowIndex: number\n type: 'DUPLICATE_ROW'\n}\n\nexport type MOVE_ROW = {\n moveFromIndex: number\n moveToIndex: number\n path: string\n type: 'MOVE_ROW'\n}\n\nexport type ADD_SERVER_ERRORS = {\n errors: {\n field: string\n message: string\n }[]\n type: 'ADD_SERVER_ERRORS'\n}\n\nexport type SET_ROW_COLLAPSED = {\n
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/Form/types.ts"],"sourcesContent":["import type { Data, Field, FormField, FormState, Row, User } from 'payload'\nimport type React from 'react'\nimport type { Dispatch } from 'react'\n\nexport type Preferences = {\n [key: string]: unknown\n}\n\nexport type FormProps = {\n beforeSubmit?: ((args: { formState: FormState }) => Promise<FormState>)[]\n children?: React.ReactNode\n className?: string\n disableSuccessStatus?: boolean\n /**\n * If you would like to solely leverage server-side validation on submit,\n * you can disable checks that the form makes before it submits\n */\n disableValidationOnSubmit?: boolean\n disabled?: boolean\n /**\n * By default, the form will get the field schema (not data) from the current document. If you pass this in, you can override that behavior.\n * This is very useful for sub-forms, where the form's field schema is not necessarily the field schema of the current document (e.g. for the Blocks\n * feature of the Lexical Rich Text field)\n */\n fields?: Field[]\n handleResponse?: (\n res: Response,\n successToast: (value: string) => void,\n errorToast: (value: string) => void,\n ) => void\n initialState?: FormState\n isInitializing?: boolean\n log?: boolean\n onChange?: ((args: { formState: FormState }) => Promise<FormState>)[]\n onSubmit?: (fields: FormState, data: Data) => void\n onSuccess?: (json: unknown) => Promise<void> | void\n redirect?: string\n submitted?: boolean\n uuid?: string\n validationOperation?: 'create' | 'update'\n waitForAutocomplete?: boolean\n} & (\n | {\n action: (formData: FormData) => Promise<void>\n }\n | {\n action?: string\n method?: 'DELETE' | 'GET' | 'PATCH' | 'POST'\n }\n)\n\nexport type SubmitOptions = {\n action?: string\n method?: string\n overrides?: Record<string, unknown>\n skipValidation?: boolean\n}\n\nexport type DispatchFields = React.Dispatch<any>\nexport type Submit = (\n options?: SubmitOptions,\n e?: React.FormEvent<HTMLFormElement>,\n) => Promise<void>\nexport type ValidateForm = () => Promise<boolean>\nexport type CreateFormData = (overrides?: any) => FormData\nexport type GetFields = () => FormState\nexport type GetField = (path: string) => FormField\nexport type GetData = () => Data\nexport type GetSiblingData = (path: string) => Data\nexport type GetDataByPath = <T = unknown>(path: string) => T\nexport type SetModified = (modified: boolean) => void\nexport type SetSubmitted = (submitted: boolean) => void\nexport type SetProcessing = (processing: boolean) => void\n\nexport type Reset = (data: unknown) => Promise<void>\n\nexport type REPLACE_STATE = {\n optimize?: boolean\n state: FormState\n type: 'REPLACE_STATE'\n}\n\nexport type REMOVE = {\n path: string\n type: 'REMOVE'\n}\n\nexport type MODIFY_CONDITION = {\n path: string\n result: boolean\n type: 'MODIFY_CONDITION'\n user: User\n}\n\nexport type UPDATE = {\n path: string\n type: 'UPDATE'\n} & Partial<FormField>\n\nexport type REMOVE_ROW = {\n path: string\n rowIndex: number\n type: 'REMOVE_ROW'\n}\n\nexport type ADD_ROW = {\n blockType?: string\n path: string\n rowIndex?: number\n subFieldState?: FormState\n type: 'ADD_ROW'\n}\n\nexport type REPLACE_ROW = {\n blockType?: string\n path: string\n rowIndex: number\n subFieldState?: FormState\n type: 'REPLACE_ROW'\n}\n\nexport type DUPLICATE_ROW = {\n path: string\n rowIndex: number\n type: 'DUPLICATE_ROW'\n}\n\nexport type MOVE_ROW = {\n moveFromIndex: number\n moveToIndex: number\n path: string\n type: 'MOVE_ROW'\n}\n\nexport type ADD_SERVER_ERRORS = {\n errors: {\n field: string\n message: string\n }[]\n type: 'ADD_SERVER_ERRORS'\n}\n\nexport type SET_ROW_COLLAPSED = {\n path: string\n type: 'SET_ROW_COLLAPSED'\n updatedRows: Row[]\n}\n\nexport type SET_ALL_ROWS_COLLAPSED = {\n path: string\n type: 'SET_ALL_ROWS_COLLAPSED'\n updatedRows: Row[]\n}\n\nexport type FieldAction =\n | ADD_ROW\n | ADD_SERVER_ERRORS\n | DUPLICATE_ROW\n | MODIFY_CONDITION\n | MOVE_ROW\n | REMOVE\n | REMOVE_ROW\n | REPLACE_ROW\n | REPLACE_STATE\n | SET_ALL_ROWS_COLLAPSED\n | SET_ROW_COLLAPSED\n | UPDATE\n\nexport type FormFieldsContext = [FormState, Dispatch<FieldAction>]\n\nexport type Context = {\n addFieldRow: ({\n data,\n path,\n rowIndex,\n schemaPath,\n }: {\n data?: Data\n path: string\n /*\n * by default the new row will be added to the end of the list\n */\n rowIndex?: number\n schemaPath: string\n }) => Promise<void>\n buildRowErrors: () => void\n createFormData: CreateFormData\n disabled: boolean\n dispatchFields: Dispatch<FieldAction>\n /**\n * Form context fields may be outdated and should not be relied on. Instead, prefer `useFormFields`.\n */\n fields: FormState\n formRef: React.MutableRefObject<HTMLFormElement>\n getData: GetData\n getDataByPath: GetDataByPath\n getField: GetField\n getFields: GetFields\n getSiblingData: GetSiblingData\n initializing: boolean\n removeFieldRow: ({ path, rowIndex }: { path: string; rowIndex: number }) => void\n replaceFieldRow: ({\n data,\n path,\n rowIndex,\n schemaPath,\n }: {\n data?: Data\n path: string\n rowIndex: number\n schemaPath: string\n }) => Promise<void>\n replaceState: (state: FormState) => void\n reset: Reset\n setDisabled: (disabled: boolean) => void\n setModified: SetModified\n setProcessing: SetProcessing\n setSubmitted: SetSubmitted\n submit: Submit\n uuid?: string\n validateForm: ValidateForm\n}\n"],"names":[],"mappings":"AA0KA,WAmDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/useField/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpD,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AAkBlC;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,WAAY,OAAO,KAAG,SAAS,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/forms/useField/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpD,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,CAAA;AAkBlC;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,WAAY,OAAO,KAAG,SAAS,CAAC,CAAC,CAsM1D,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/forms/useField/index.tsx"],"sourcesContent":["'use client'\nimport { useCallback, useMemo, useRef } from 'react'\n\nimport type { UPDATE } from '../Form/types.js'\nimport type { FieldType, Options } from './types.js'\n\nexport type { FieldType, Options }\n\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useFieldProps } from '../FieldPropsProvider/index.js'\nimport {\n useForm,\n useFormFields,\n useFormInitializing,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n} from '../Form/context.js'\n\n/**\n * Get and set the value of a form field.\n *\n * @see https://payloadcms.com/docs/admin/hooks#usefield\n */\nexport const useField = <T,>(options: Options): FieldType<T> => {\n const { disableFormData = false, hasRows, validate } = options\n\n const { path: pathFromContext, permissions, readOnly, schemaPath } = useFieldProps()\n\n // Prioritize passed in path over context path. If the context path should be prioritized (which is the case for top-level useField calls in fields), it should be passed in as the options path.\n const path = options.path || pathFromContext\n\n const submitted = useFormSubmitted()\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n const { user } = useAuth()\n const { id } = useDocumentInfo()\n const operation = useOperation()\n\n const { dispatchField, field } = useFormFields(([fields, dispatch]) => ({\n dispatchField: dispatch,\n field: (fields && fields?.[path]) || null,\n }))\n\n const { t } = useTranslation()\n const config = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\n const modified = useFormModified()\n\n const filterOptions = field?.filterOptions\n const value = field?.value as T\n const initialValue = field?.initialValue as T\n const valid = typeof field?.valid === 'boolean' ? field.valid : true\n const showError = valid === false && submitted\n\n const prevValid = useRef(valid)\n const prevErrorMessage = useRef(field?.errorMessage)\n\n // Method to return from `useField`, used to\n // update field values from field component(s)\n const setValue = useCallback(\n (e, disableModifyingForm = false) => {\n const val = e && e.target ? e.target.value : e\n\n dispatchField({\n type: 'UPDATE',\n disableFormData: disableFormData || (hasRows && val > 0),\n path,\n value: val,\n })\n\n if (!disableModifyingForm) {\n if (typeof setModified === 'function') {\n // Only update setModified to true if the form is not already set to modified. Otherwise the following could happen:\n // 1. Text field: someone types in it in an unmodified form\n // 2. After setTimeout triggers setModified(true): form is set to modified. Save Button becomes available. Good!\n // 3. Type something in text field\n // 4. Click on save button before setTimeout in useField has finished (so setModified(true) has not been run yet)\n // 5. Form is saved, setModified(false) is set in the Form/index.tsx `submit` function, \"saved successfully\" toast appears\n // 6. setModified(true) inside the timeout is run, form is set to modified again, even though it was already saved and thus set to unmodified. Bad! This should have happened before the form is saved. Now the form should be unmodified and stay that way\n // until a NEW change happens. Due to this, the \"Leave without saving\" modal appears even though it should not when leaving the page fast immediately after saving the document.\n // This is only an issue for forms which have already been set to modified true, as that causes the save button to be enabled. If we prevent this setTimeout to be run\n // for already-modified forms first place (which is unnecessary), we can avoid this issue. As for unmodified forms, this race issue will not happen, because you cannot click the save button faster\n // than the timeout in useField is run. That's because the save button won't even be enabled for clicking until the setTimeout in useField has run.\n // This fixes e2e test flakes, as e2e tests were often so fast that they were saving the form before the timeout in useField has run.\n // Specifically, this fixes the 'should not warn about unsaved changes when navigating to lexical editor with blocks node and then leaving the page after making a change and saving' lexical e2e test.\n if (modified === false) {\n // Update modified state after field value comes back\n // to avoid cursor jump caused by state value / DOM mismatch\n setTimeout(() => {\n setModified(true)\n }, 10)\n }\n }\n }\n },\n [setModified, path, dispatchField, disableFormData, hasRows, modified],\n )\n\n // Store result from hook as ref\n // to prevent unnecessary rerenders\n const result: FieldType<T> = useMemo(\n () => ({\n errorMessage: field?.errorMessage,\n errorPaths: field?.errorPaths || [],\n filterOptions,\n formInitializing: initializing,\n formProcessing: processing,\n formSubmitted: submitted,\n initialValue,\n path,\n permissions,\n readOnly: readOnly || false,\n rows: field?.rows,\n schemaPath,\n setValue,\n showError,\n valid: field?.valid,\n value,\n }),\n [\n field?.errorMessage,\n field?.rows,\n field?.valid,\n field?.errorPaths,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n schemaPath,\n readOnly,\n permissions,\n filterOptions,\n initializing,\n ],\n )\n\n // Throttle the validate function\n useThrottledEffect(\n () => {\n const validateField = async () => {\n let valueToValidate = value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = getDataByPath(path)\n }\n\n let errorMessage: string | undefined\n let valid: boolean | string = prevValid.current\n\n const isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n config,\n data: getData(),\n operation,\n siblingData: getSiblingData(path),\n t,\n user,\n })\n : true\n\n if (typeof isValid === 'string') {\n valid = false\n errorMessage = isValid\n } else if (typeof isValid === 'boolean') {\n valid = isValid\n errorMessage = undefined\n }\n\n // Only dispatch if the validation result has changed\n // This will prevent unnecessary rerenders\n if (valid !== prevValid.current || errorMessage !== prevErrorMessage.current) {\n prevValid.current = valid\n prevErrorMessage.current = errorMessage\n\n const update: UPDATE = {\n type: 'UPDATE',\n errorMessage,\n path,\n rows: field?.rows,\n valid,\n // validate,\n value,\n }\n\n if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {\n update.disableFormData = true\n }\n\n if (typeof dispatchField === 'function') {\n dispatchField(update)\n }\n }\n }\n\n void validateField()\n },\n 150,\n [\n value,\n disableFormData,\n dispatchField,\n getData,\n getSiblingData,\n getDataByPath,\n id,\n operation,\n path,\n user,\n validate,\n field?.rows,\n ],\n )\n\n return result\n}\n"],"names":["useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useFieldProps","useForm","useFormFields","useFormInitializing","useFormModified","useFormProcessing","useFormSubmitted","useField","options","disableFormData","hasRows","validate","path","pathFromContext","permissions","readOnly","schemaPath","submitted","processing","initializing","user","id","operation","dispatchField","field","fields","dispatch","t","config","getData","getDataByPath","getSiblingData","setModified","modified","filterOptions","value","initialValue","valid","showError","prevValid","prevErrorMessage","errorMessage","setValue","e","disableModifyingForm","val","target","type","setTimeout","result","errorPaths","formInitializing","formProcessing","formSubmitted","rows","validateField","valueToValidate","Array","isArray","current","isValid","data","siblingData","undefined","update"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/forms/useField/index.tsx"],"sourcesContent":["'use client'\nimport { useCallback, useMemo, useRef } from 'react'\n\nimport type { UPDATE } from '../Form/types.js'\nimport type { FieldType, Options } from './types.js'\n\nexport type { FieldType, Options }\n\nimport { useThrottledEffect } from '../../hooks/useThrottledEffect.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useOperation } from '../../providers/Operation/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useFieldProps } from '../FieldPropsProvider/index.js'\nimport {\n useForm,\n useFormFields,\n useFormInitializing,\n useFormModified,\n useFormProcessing,\n useFormSubmitted,\n} from '../Form/context.js'\n\n/**\n * Get and set the value of a form field.\n *\n * @see https://payloadcms.com/docs/admin/hooks#usefield\n */\nexport const useField = <T,>(options: Options): FieldType<T> => {\n const { disableFormData = false, hasRows, validate } = options\n\n const { path: pathFromContext, permissions, readOnly, schemaPath } = useFieldProps()\n\n // Prioritize passed in path over context path. If the context path should be prioritized (which is the case for top-level useField calls in fields), it should be passed in as the options path.\n const path = options.path || pathFromContext\n\n const submitted = useFormSubmitted()\n const processing = useFormProcessing()\n const initializing = useFormInitializing()\n const { user } = useAuth()\n const { id } = useDocumentInfo()\n const operation = useOperation()\n\n const { dispatchField, field } = useFormFields(([fields, dispatch]) => ({\n dispatchField: dispatch,\n field: (fields && fields?.[path]) || null,\n }))\n\n const { t } = useTranslation()\n const config = useConfig()\n\n const { getData, getDataByPath, getSiblingData, setModified } = useForm()\n const modified = useFormModified()\n\n const filterOptions = field?.filterOptions\n const value = field?.value as T\n const initialValue = field?.initialValue as T\n const valid = typeof field?.valid === 'boolean' ? field.valid : true\n const showError = valid === false && submitted\n\n const prevValid = useRef(valid)\n const prevErrorMessage = useRef(field?.errorMessage)\n\n // Method to return from `useField`, used to\n // update field values from field component(s)\n const setValue = useCallback(\n (e, disableModifyingForm = false) => {\n const val = e && e.target ? e.target.value : e\n\n dispatchField({\n type: 'UPDATE',\n disableFormData: disableFormData || (hasRows && val > 0),\n path,\n value: val,\n })\n\n if (!disableModifyingForm) {\n if (typeof setModified === 'function') {\n // Only update setModified to true if the form is not already set to modified. Otherwise the following could happen:\n // 1. Text field: someone types in it in an unmodified form\n // 2. After setTimeout triggers setModified(true): form is set to modified. Save Button becomes available. Good!\n // 3. Type something in text field\n // 4. Click on save button before setTimeout in useField has finished (so setModified(true) has not been run yet)\n // 5. Form is saved, setModified(false) is set in the Form/index.tsx `submit` function, \"saved successfully\" toast appears\n // 6. setModified(true) inside the timeout is run, form is set to modified again, even though it was already saved and thus set to unmodified. Bad! This should have happened before the form is saved. Now the form should be unmodified and stay that way\n // until a NEW change happens. Due to this, the \"Leave without saving\" modal appears even though it should not when leaving the page fast immediately after saving the document.\n // This is only an issue for forms which have already been set to modified true, as that causes the save button to be enabled. If we prevent this setTimeout to be run\n // for already-modified forms first place (which is unnecessary), we can avoid this issue. As for unmodified forms, this race issue will not happen, because you cannot click the save button faster\n // than the timeout in useField is run. That's because the save button won't even be enabled for clicking until the setTimeout in useField has run.\n // This fixes e2e test flakes, as e2e tests were often so fast that they were saving the form before the timeout in useField has run.\n // Specifically, this fixes the 'should not warn about unsaved changes when navigating to lexical editor with blocks node and then leaving the page after making a change and saving' lexical e2e test.\n if (modified === false) {\n // Update modified state after field value comes back\n // to avoid cursor jump caused by state value / DOM mismatch\n setTimeout(() => {\n setModified(true)\n }, 10)\n }\n }\n }\n },\n [setModified, path, dispatchField, disableFormData, hasRows, modified],\n )\n\n // Store result from hook as ref\n // to prevent unnecessary rerenders\n const result: FieldType<T> = useMemo(\n () => ({\n errorMessage: field?.errorMessage,\n errorPaths: field?.errorPaths || [],\n filterOptions,\n formInitializing: initializing,\n formProcessing: processing,\n formSubmitted: submitted,\n initialValue,\n path,\n permissions,\n readOnly: readOnly || false,\n rows: field?.rows,\n schemaPath,\n setValue,\n showError,\n valid: field?.valid,\n value,\n }),\n [\n field?.errorMessage,\n field?.rows,\n field?.valid,\n field?.errorPaths,\n processing,\n setValue,\n showError,\n submitted,\n value,\n initialValue,\n path,\n schemaPath,\n readOnly,\n permissions,\n filterOptions,\n initializing,\n ],\n )\n\n // Throttle the validate function\n useThrottledEffect(\n () => {\n const validateField = async () => {\n let valueToValidate = value\n\n if (field?.rows && Array.isArray(field.rows)) {\n valueToValidate = getDataByPath(path)\n }\n\n let errorMessage: string | undefined\n let valid: boolean | string = prevValid.current\n\n const isValid =\n typeof validate === 'function'\n ? await validate(valueToValidate, {\n id,\n config,\n data: getData(),\n operation,\n siblingData: getSiblingData(path),\n t,\n user,\n })\n : true\n\n if (typeof isValid === 'string') {\n valid = false\n errorMessage = isValid\n } else if (typeof isValid === 'boolean') {\n valid = isValid\n errorMessage = undefined\n }\n\n // Only dispatch if the validation result has changed\n // This will prevent unnecessary rerenders\n if (valid !== prevValid.current || errorMessage !== prevErrorMessage.current) {\n prevValid.current = valid\n prevErrorMessage.current = errorMessage\n\n const update: UPDATE = {\n type: 'UPDATE',\n errorMessage,\n path,\n rows: field?.rows,\n valid,\n // validate,\n value,\n }\n\n if (disableFormData || (hasRows ? typeof value === 'number' && value > 0 : false)) {\n update.disableFormData = true\n }\n\n if (typeof dispatchField === 'function') {\n dispatchField(update)\n }\n }\n }\n\n void validateField()\n },\n 150,\n [\n value,\n disableFormData,\n dispatchField,\n getData,\n getSiblingData,\n getDataByPath,\n id,\n operation,\n path,\n user,\n validate,\n field?.rows,\n field?.valid,\n ],\n )\n\n return result\n}\n"],"names":["useCallback","useMemo","useRef","useThrottledEffect","useAuth","useConfig","useDocumentInfo","useOperation","useTranslation","useFieldProps","useForm","useFormFields","useFormInitializing","useFormModified","useFormProcessing","useFormSubmitted","useField","options","disableFormData","hasRows","validate","path","pathFromContext","permissions","readOnly","schemaPath","submitted","processing","initializing","user","id","operation","dispatchField","field","fields","dispatch","t","config","getData","getDataByPath","getSiblingData","setModified","modified","filterOptions","value","initialValue","valid","showError","prevValid","prevErrorMessage","errorMessage","setValue","e","disableModifyingForm","val","target","type","setTimeout","result","errorPaths","formInitializing","formProcessing","formSubmitted","rows","validateField","valueToValidate","Array","isArray","current","isValid","data","siblingData","undefined","update"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAUV,KAAK,EAGL,QAAQ,EACR,aAAa,EAeb,eAAe,EAMhB,MAAM,SAAS,CAAA;AAMhB,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAA;AAgBjE,eAAO,MAAM,SAAS,SAAU;IAC9B,mBAAmB,EAAE,+BAA+B,CAAA;IACpD,MAAM,EAAE,eAAe,CAAA;IACvB;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;IAClC,IAAI,EAAE,UAAU,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,KAAG,QAmxBH,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { MissingEditorProp } from 'payload';
|
|
3
|
-
import {
|
|
3
|
+
import { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared';
|
|
4
4
|
import React, { Fragment } from 'react';
|
|
5
5
|
// eslint-disable-next-line payload/no-imports-from-exports-dir
|
|
6
6
|
import { FieldDescription, HiddenField } from '../../../exports/client/index.js';
|
|
@@ -13,15 +13,6 @@ function generateFieldPath(parentPath, name) {
|
|
|
13
13
|
}
|
|
14
14
|
return tabPath;
|
|
15
15
|
}
|
|
16
|
-
function prepareCustomComponentProps(props) {
|
|
17
|
-
return deepCopyObject({
|
|
18
|
-
...props,
|
|
19
|
-
fieldMap: undefined,
|
|
20
|
-
richTextComponentMap: undefined,
|
|
21
|
-
rows: undefined,
|
|
22
|
-
tabs: undefined
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
16
|
export const mapFields = (args)=>{
|
|
26
17
|
const { WithServerSideProps, config, disableAddingID, fieldSchema, filter, i18n, i18n: { t }, parentPath, readOnly: readOnlyOverride } = args;
|
|
27
18
|
const result = fieldSchema.reduce((acc, field)=>{
|
|
@@ -533,6 +524,7 @@ export const mapFields = (args)=>{
|
|
|
533
524
|
width: field.admin?.width
|
|
534
525
|
};
|
|
535
526
|
cellComponentProps.relationTo = field.relationTo;
|
|
527
|
+
cellComponentProps.displayPreview = field.displayPreview;
|
|
536
528
|
fieldComponentPropsBase = uploadField;
|
|
537
529
|
break;
|
|
538
530
|
}
|
|
@@ -560,11 +552,12 @@ export const mapFields = (args)=>{
|
|
|
560
552
|
break;
|
|
561
553
|
}
|
|
562
554
|
}
|
|
563
|
-
const labelProps =
|
|
564
|
-
|
|
565
|
-
|
|
555
|
+
const labelProps = {
|
|
556
|
+
type: field.type,
|
|
557
|
+
label,
|
|
558
|
+
required: 'required' in field ? field.required : undefined,
|
|
566
559
|
schemaPath: path
|
|
567
|
-
}
|
|
560
|
+
};
|
|
568
561
|
const CustomLabelComponent = 'admin' in field && field.admin?.components && 'Label' in field.admin.components && field.admin.components?.Label || undefined;
|
|
569
562
|
// If we return undefined here (so if no CUSTOM label component is set),
|
|
570
563
|
// the field client component is responsible for falling back to the default label
|
|
@@ -613,11 +606,10 @@ export const mapFields = (args)=>{
|
|
|
613
606
|
});
|
|
614
607
|
}
|
|
615
608
|
}
|
|
616
|
-
const descriptionProps =
|
|
617
|
-
|
|
618
|
-
type: undefined,
|
|
609
|
+
const descriptionProps = {
|
|
610
|
+
type: field.type,
|
|
619
611
|
description
|
|
620
|
-
}
|
|
612
|
+
};
|
|
621
613
|
let CustomDescriptionComponent = undefined;
|
|
622
614
|
if (field.admin?.components && 'Description' in field.admin.components && field.admin.components?.Description) {
|
|
623
615
|
CustomDescriptionComponent = field.admin.components.Description;
|
|
@@ -628,11 +620,9 @@ export const mapFields = (args)=>{
|
|
|
628
620
|
Component: CustomDescriptionComponent,
|
|
629
621
|
...descriptionProps || {}
|
|
630
622
|
}) : undefined;
|
|
631
|
-
const errorProps =
|
|
632
|
-
...fieldComponentPropsBase,
|
|
633
|
-
type: undefined,
|
|
623
|
+
const errorProps = {
|
|
634
624
|
path
|
|
635
|
-
}
|
|
625
|
+
};
|
|
636
626
|
const CustomErrorComponent = 'admin' in field && field.admin?.components && 'Error' in field.admin.components && field.admin?.components?.Error || undefined;
|
|
637
627
|
const CustomError = CustomErrorComponent !== undefined ? /*#__PURE__*/ _jsx(WithServerSideProps, {
|
|
638
628
|
Component: CustomErrorComponent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ArrayFieldProps,\n BlocksFieldProps,\n CellComponentProps,\n CheckboxFieldProps,\n CodeFieldProps,\n CollapsibleFieldProps,\n CustomComponent,\n DateFieldProps,\n EmailFieldProps,\n ErrorProps,\n Field,\n FieldComponentProps,\n FieldDescriptionProps,\n FieldMap,\n FieldWithPath,\n FormFieldBase,\n GroupFieldProps,\n JSONFieldProps,\n LabelProps,\n MappedField,\n MappedTab,\n NumberFieldProps,\n Option,\n PointFieldProps,\n RadioFieldProps,\n ReducedBlock,\n RelationshipFieldProps,\n RichTextComponentProps,\n RowFieldProps,\n SanitizedConfig,\n SelectFieldProps,\n TabsFieldProps,\n TextFieldProps,\n TextareaFieldProps,\n UploadFieldProps,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { deepCopyObject, fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { WithServerSidePropsPrePopulated } from './index.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { FieldDescription, HiddenField } from '../../../exports/client/index.js'\n\nfunction generateFieldPath(parentPath, name) {\n let tabPath = parentPath || ''\n if (parentPath && name) {\n tabPath = `${parentPath}.${name}`\n } else if (!parentPath && name) {\n tabPath = name\n }\n\n return tabPath\n}\n\nfunction prepareCustomComponentProps(\n props: {\n [key: string]: any\n } & FieldComponentProps,\n) {\n return deepCopyObject({\n ...props,\n fieldMap: undefined,\n richTextComponentMap: undefined,\n rows: undefined,\n tabs: undefined,\n })\n}\n\nexport const mapFields = (args: {\n WithServerSideProps: WithServerSidePropsPrePopulated\n config: SanitizedConfig\n /**\n * If mapFields is used outside of collections, you might not want it to add an id field\n */\n disableAddingID?: boolean\n fieldSchema: FieldWithPath[]\n filter?: (field: Field) => boolean\n i18n: I18nClient\n parentPath?: string\n readOnly?: boolean\n}): FieldMap => {\n const {\n WithServerSideProps,\n config,\n disableAddingID,\n fieldSchema,\n filter,\n i18n,\n i18n: { t },\n parentPath,\n readOnly: readOnlyOverride,\n } = args\n\n const result: FieldMap = fieldSchema.reduce((acc, field): FieldMap => {\n const fieldIsPresentational = fieldIsPresentationalOnly(field)\n let CustomFieldComponent: CustomComponent<FieldComponentProps> = field.admin?.components?.Field\n\n let CustomCellComponent = field.admin?.components?.Cell\n\n const isHidden = field?.admin && 'hidden' in field.admin && field.admin.hidden\n\n if (fieldIsPresentational || (!field?.hidden && field?.admin?.disabled !== true)) {\n if ((filter && typeof filter === 'function' && filter(field)) || !filter) {\n if (isHidden) {\n if (CustomFieldComponent) {\n CustomFieldComponent = HiddenField\n }\n }\n\n const isFieldAffectingData = fieldAffectsData(field)\n\n const path = generateFieldPath(\n parentPath,\n isFieldAffectingData && 'name' in field ? field.name : '',\n )\n\n const AfterInput =\n ('admin' in field &&\n 'components' in field.admin &&\n 'afterInput' in field.admin.components &&\n Array.isArray(field.admin?.components?.afterInput) && (\n <Fragment>\n {field.admin.components.afterInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n const BeforeInput =\n ('admin' in field &&\n field.admin?.components &&\n 'beforeInput' in field.admin.components &&\n Array.isArray(field.admin.components.beforeInput) && (\n <Fragment>\n {field.admin.components.beforeInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n let label: FormFieldBase['label'] = undefined\n\n if ('label' in field) {\n if (typeof field.label === 'string' || typeof field.label === 'object') {\n label = field.label\n } else if (typeof field.label === 'function') {\n label = field.label({ t })\n }\n }\n\n // These fields are shared across all field types even if they are not used in the default field, as the custom field component can use them\n const baseFieldProps: FormFieldBase = {\n AfterInput,\n BeforeInput,\n custom: 'admin' in field && 'custom' in field.admin ? field.admin?.custom : undefined,\n disabled: 'admin' in field && 'disabled' in field.admin ? field.admin?.disabled : false,\n label,\n path,\n required: 'required' in field ? field.required : undefined,\n }\n\n let fieldComponentPropsBase: Omit<FieldComponentProps, 'type'>\n\n let fieldOptions: Option[]\n\n if ('options' in field) {\n fieldOptions = field.options.map((option) => {\n if (typeof option === 'object' && typeof option.label === 'function') {\n return {\n label: option.label({ t }),\n value: option.value,\n }\n }\n\n return option\n })\n }\n\n const cellComponentProps: CellComponentProps = {\n name: 'name' in field ? field.name : undefined,\n fieldType: field.type,\n isFieldAffectingData,\n label,\n labels: 'labels' in field ? field.labels : undefined,\n options: 'options' in field ? fieldOptions : undefined,\n relationTo: 'relationTo' in field ? field.relationTo : undefined,\n schemaPath: path,\n }\n\n switch (field.type) {\n case 'array': {\n const arrayFieldProps: ArrayFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = arrayFieldProps\n break\n }\n case 'blocks': {\n const blocks = field.blocks.map((block) => {\n const blockFieldMap = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: block.fields,\n filter,\n i18n,\n parentPath: `${path}.${block.slug}`,\n readOnly: readOnlyOverride,\n })\n\n const reducedBlock: ReducedBlock = {\n slug: block.slug,\n LabelComponent: block.admin?.components?.Label,\n custom: block.admin?.custom,\n fieldMap: blockFieldMap,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n }\n\n return reducedBlock\n })\n\n const blocksField: BlocksFieldProps = {\n ...baseFieldProps,\n name: field.name,\n blocks,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = blocksField\n\n cellComponentProps.blocks = field.blocks.map((b) => ({\n slug: b.slug,\n labels: b.labels,\n }))\n\n break\n }\n case 'checkbox': {\n const checkboxField: CheckboxFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = checkboxField\n break\n }\n case 'code': {\n const codeField: CodeFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n language: field.admin?.language,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = codeField\n break\n }\n case 'collapsible': {\n const collapsibleField: CollapsibleFieldProps = {\n ...baseFieldProps,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n initCollapsed: field.admin?.initCollapsed,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = collapsibleField // TODO: dunno why this is needed\n break\n }\n case 'date': {\n const dateField: DateFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n date: field.admin?.date,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = dateField\n cellComponentProps.dateDisplayFormat = field.admin?.date?.displayFormat\n break\n }\n case 'email': {\n const emailField: EmailFieldProps = {\n ...baseFieldProps,\n name: field.name,\n autoComplete: field.admin?.autoComplete,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = emailField\n break\n }\n case 'group': {\n const groupField: GroupFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n hideGutter: field.admin?.hideGutter,\n readOnly: field.admin?.readOnly,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = groupField\n break\n }\n case 'json': {\n const jsonField: JSONFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n jsonSchema: field.jsonSchema,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = jsonField\n break\n }\n case 'number': {\n const numberField: NumberFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n max: field.max,\n maxRows: field.maxRows,\n min: field.min,\n readOnly: field.admin?.readOnly,\n required: field.required,\n step: field.admin?.step,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = numberField\n break\n }\n case 'point': {\n const pointField: PointFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = pointField\n break\n }\n case 'relationship': {\n const relationshipField: RelationshipFieldProps = {\n ...baseFieldProps,\n name: field.name,\n allowCreate: field.admin.allowCreate,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isSortable: field.admin?.isSortable,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n sortOptions: field.admin.sortOptions,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentPropsBase = relationshipField\n break\n }\n case 'radio': {\n const radioField: RadioFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n layout: field.admin?.layout,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentPropsBase = radioField\n break\n }\n case 'richText': {\n const richTextField: RichTextComponentProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n const RichTextFieldComponent = field.editor.FieldComponent\n const RichTextCellComponent = field.editor.CellComponent\n\n if (typeof field.editor.generateComponentMap === 'function') {\n const result = field.editor.generateComponentMap({\n WithServerSideProps,\n config,\n i18n,\n schemaPath: path,\n })\n\n richTextField.richTextComponentMap = result\n cellComponentProps.richTextComponentMap = result\n }\n\n if (RichTextFieldComponent) {\n CustomFieldComponent = RichTextFieldComponent\n }\n\n if (RichTextCellComponent) {\n CustomCellComponent = RichTextCellComponent\n }\n\n fieldComponentPropsBase = richTextField\n\n break\n }\n case 'row': {\n const rowField: Omit<RowFieldProps, 'indexPath'> = {\n ...baseFieldProps,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = rowField\n break\n }\n case 'tabs': {\n // `tabs` fields require a field map of each of its tab's nested fields\n const tabs = field.tabs.map((tab) => {\n const tabFieldMap = mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: tab.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n })\n\n const reducedTab: MappedTab = {\n name: 'name' in tab ? tab.name : undefined,\n fieldMap: tabFieldMap,\n label: tab.label,\n }\n\n return reducedTab\n })\n\n const tabsField: Omit<TabsFieldProps, 'indexPath'> = {\n ...baseFieldProps,\n name: 'name' in field ? (field.name as string) : undefined,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n tabs,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = tabsField\n break\n }\n case 'text': {\n const textField: TextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = textField\n break\n }\n case 'textarea': {\n const textareaField: TextareaFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n rows: field.admin?.rows,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = textareaField\n break\n }\n case 'ui': {\n fieldComponentPropsBase = baseFieldProps\n break\n }\n case 'upload': {\n const uploadField: UploadFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n filterOptions: field.filterOptions,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentPropsBase = uploadField\n break\n }\n case 'select': {\n const selectField: SelectFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isClearable: field.admin?.isClearable,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentPropsBase = selectField\n break\n }\n default: {\n break\n }\n }\n\n const labelProps: Omit<LabelProps, 'type'> = prepareCustomComponentProps({\n ...fieldComponentPropsBase,\n type: undefined,\n schemaPath: path,\n })\n\n const CustomLabelComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Label' in field.admin.components &&\n field.admin.components?.Label) ||\n undefined\n\n // If we return undefined here (so if no CUSTOM label component is set),\n // the field client component is responsible for falling back to the default label\n let CustomLabel: React.ReactNode =\n CustomLabelComponent !== undefined ? (\n <WithServerSideProps Component={CustomLabelComponent} {...(labelProps || {})} />\n ) : undefined\n\n switch (field.type) {\n case 'array': {\n let CustomRowLabel: React.ReactNode\n\n if (\n 'admin' in field &&\n field.admin.components &&\n 'RowLabel' in field.admin.components &&\n field.admin.components.RowLabel\n ) {\n const CustomRowLabelComponent = field.admin.components.RowLabel\n CustomRowLabel = (\n <WithServerSideProps Component={CustomRowLabelComponent} {...(labelProps || {})} />\n )\n }\n\n // @ts-expect-error\n fieldComponentPropsBase.CustomRowLabel = CustomRowLabel\n\n break\n }\n\n case 'collapsible': {\n let CustomCollapsibleLabel: React.ReactNode\n\n if (\n field?.admin?.components &&\n 'RowLabel' in field.admin.components &&\n field?.admin?.components?.RowLabel\n ) {\n const CustomCollapsibleLabelComponent = field.admin.components.RowLabel\n CustomCollapsibleLabel = (\n <WithServerSideProps\n Component={CustomCollapsibleLabelComponent}\n {...(labelProps || {})}\n />\n )\n }\n\n CustomLabel = CustomCollapsibleLabel\n\n break\n }\n\n default:\n break\n }\n\n let description = undefined\n\n if (field.admin && 'description' in field.admin) {\n if (\n typeof field.admin?.description === 'string' ||\n typeof field.admin?.description === 'object'\n ) {\n description = field.admin.description\n } else if (typeof field.admin?.description === 'function') {\n description = field.admin?.description({ t })\n }\n }\n\n const descriptionProps: FieldDescriptionProps = prepareCustomComponentProps({\n ...fieldComponentPropsBase,\n type: undefined,\n description,\n })\n\n let CustomDescriptionComponent = undefined\n\n if (\n field.admin?.components &&\n 'Description' in field.admin.components &&\n field.admin.components?.Description\n ) {\n CustomDescriptionComponent = field.admin.components.Description\n } else if (description) {\n CustomDescriptionComponent = FieldDescription\n }\n\n const CustomDescription =\n CustomDescriptionComponent !== undefined ? (\n <WithServerSideProps\n Component={CustomDescriptionComponent}\n {...(descriptionProps || {})}\n />\n ) : undefined\n\n const errorProps: ErrorProps = prepareCustomComponentProps({\n ...fieldComponentPropsBase,\n type: undefined,\n path,\n })\n\n const CustomErrorComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Error' in field.admin.components &&\n field.admin?.components?.Error) ||\n undefined\n\n const CustomError =\n CustomErrorComponent !== undefined ? (\n <WithServerSideProps Component={CustomErrorComponent} {...(errorProps || {})} />\n ) : undefined\n\n const fieldComponentProps: FieldComponentProps = {\n ...fieldComponentPropsBase,\n type: undefined,\n CustomDescription,\n CustomError,\n CustomLabel,\n descriptionProps,\n errorProps,\n labelProps,\n }\n\n const reducedField: MappedField = {\n name: 'name' in field ? field.name : undefined,\n type: field.type,\n CustomCell: CustomCellComponent ? (\n <WithServerSideProps Component={CustomCellComponent} {...cellComponentProps} />\n ) : undefined,\n CustomField: CustomFieldComponent ? (\n <WithServerSideProps Component={CustomFieldComponent} {...fieldComponentPropsBase} />\n ) : undefined,\n cellComponentProps,\n custom: field?.admin?.custom,\n disableBulkEdit:\n 'admin' in field && 'disableBulkEdit' in field.admin && field.admin.disableBulkEdit,\n disableListColumn:\n 'admin' in field && 'disableListColumn' in field.admin && field.admin.disableListColumn,\n disableListFilter:\n 'admin' in field && 'disableListFilter' in field.admin && field.admin.disableListFilter,\n fieldComponentProps,\n fieldIsPresentational,\n isFieldAffectingData,\n isHidden,\n isSidebar:\n 'admin' in field && 'position' in field.admin && field.admin.position === 'sidebar',\n localized: 'localized' in field ? field.localized : false,\n unique: 'unique' in field ? field.unique : false,\n }\n\n acc.push(reducedField)\n }\n }\n\n return acc\n }, [])\n\n const hasID =\n result.findIndex((f) => 'name' in f && f.isFieldAffectingData && f.name === 'id') > -1\n\n if (!disableAddingID && !hasID) {\n // TODO: For all fields (not just this one) we need to add the name to both .fieldComponentPropsBase.name AND .name. This can probably be improved\n result.push({\n name: 'id',\n type: 'text',\n CustomField: null,\n cellComponentProps: {\n name: 'id',\n schemaPath: 'id',\n },\n disableBulkEdit: true,\n fieldComponentProps: {\n name: 'id',\n type: undefined,\n label: 'ID',\n },\n fieldIsPresentational: false,\n isFieldAffectingData: true,\n isHidden: true,\n localized: undefined,\n })\n }\n\n return result\n}\n"],"names":["MissingEditorProp","deepCopyObject","fieldAffectsData","fieldIsPresentationalOnly","React","Fragment","FieldDescription","HiddenField","generateFieldPath","parentPath","name","tabPath","prepareCustomComponentProps","props","fieldMap","undefined","richTextComponentMap","rows","tabs","mapFields","args","WithServerSideProps","config","disableAddingID","fieldSchema","filter","i18n","t","readOnly","readOnlyOverride","result","reduce","acc","field","fieldIsPresentational","CustomFieldComponent","admin","components","Field","CustomCellComponent","Cell","isHidden","hidden","disabled","isFieldAffectingData","path","AfterInput","Array","isArray","afterInput","map","Component","i","BeforeInput","beforeInput","label","baseFieldProps","custom","required","fieldComponentPropsBase","fieldOptions","options","option","value","cellComponentProps","fieldType","type","labels","relationTo","schemaPath","arrayFieldProps","className","fields","isSortable","maxRows","minRows","style","width","blocks","block","blockFieldMap","slug","reducedBlock","LabelComponent","Label","imageAltText","imageURL","blocksField","b","checkboxField","codeField","editorOptions","language","collapsibleField","initCollapsed","dateField","date","placeholder","dateDisplayFormat","displayFormat","emailField","autoComplete","groupField","hideGutter","jsonField","jsonSchema","numberField","hasMany","max","min","step","pointField","relationshipField","allowCreate","sortOptions","radioField","layout","richTextField","editor","Error","RichTextFieldComponent","FieldComponent","RichTextCellComponent","CellComponent","generateComponentMap","rowField","tab","tabFieldMap","reducedTab","tabsField","textField","maxLength","minLength","textareaField","uploadField","filterOptions","selectField","isClearable","labelProps","CustomLabelComponent","CustomLabel","CustomRowLabel","RowLabel","CustomRowLabelComponent","CustomCollapsibleLabel","CustomCollapsibleLabelComponent","description","descriptionProps","CustomDescriptionComponent","Description","CustomDescription","errorProps","CustomErrorComponent","CustomError","fieldComponentProps","reducedField","CustomCell","CustomField","disableBulkEdit","disableListColumn","disableListFilter","isSidebar","position","localized","unique","push","hasID","findIndex","f"],"mappings":"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"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/providers/ComponentMap/buildComponentMap/fields.tsx"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type {\n ArrayFieldProps,\n BlocksFieldProps,\n CellComponentProps,\n CheckboxFieldProps,\n CodeFieldProps,\n CollapsibleFieldProps,\n CustomComponent,\n DateFieldProps,\n EmailFieldProps,\n Field,\n FieldComponentProps,\n FieldDescriptionProps,\n FieldMap,\n FieldWithPath,\n FormFieldBase,\n GroupFieldProps,\n JSONFieldProps,\n LabelProps,\n MappedField,\n MappedTab,\n NumberFieldProps,\n Option,\n PointFieldProps,\n RadioFieldProps,\n ReducedBlock,\n RelationshipFieldProps,\n RichTextComponentProps,\n RowFieldProps,\n SanitizedConfig,\n SelectFieldProps,\n TabsFieldProps,\n TextFieldProps,\n TextareaFieldProps,\n UploadFieldProps,\n} from 'payload'\n\nimport { MissingEditorProp } from 'payload'\nimport { fieldAffectsData, fieldIsPresentationalOnly } from 'payload/shared'\nimport React, { Fragment } from 'react'\n\nimport type { WithServerSidePropsPrePopulated } from './index.js'\n\n// eslint-disable-next-line payload/no-imports-from-exports-dir\nimport { FieldDescription, HiddenField } from '../../../exports/client/index.js'\n\nfunction generateFieldPath(parentPath, name) {\n let tabPath = parentPath || ''\n if (parentPath && name) {\n tabPath = `${parentPath}.${name}`\n } else if (!parentPath && name) {\n tabPath = name\n }\n\n return tabPath\n}\n\nexport const mapFields = (args: {\n WithServerSideProps: WithServerSidePropsPrePopulated\n config: SanitizedConfig\n /**\n * If mapFields is used outside of collections, you might not want it to add an id field\n */\n disableAddingID?: boolean\n fieldSchema: FieldWithPath[]\n filter?: (field: Field) => boolean\n i18n: I18nClient\n parentPath?: string\n readOnly?: boolean\n}): FieldMap => {\n const {\n WithServerSideProps,\n config,\n disableAddingID,\n fieldSchema,\n filter,\n i18n,\n i18n: { t },\n parentPath,\n readOnly: readOnlyOverride,\n } = args\n\n const result: FieldMap = fieldSchema.reduce((acc, field): FieldMap => {\n const fieldIsPresentational = fieldIsPresentationalOnly(field)\n let CustomFieldComponent: CustomComponent<FieldComponentProps> = field.admin?.components?.Field\n\n let CustomCellComponent = field.admin?.components?.Cell\n\n const isHidden = field?.admin && 'hidden' in field.admin && field.admin.hidden\n\n if (fieldIsPresentational || (!field?.hidden && field?.admin?.disabled !== true)) {\n if ((filter && typeof filter === 'function' && filter(field)) || !filter) {\n if (isHidden) {\n if (CustomFieldComponent) {\n CustomFieldComponent = HiddenField\n }\n }\n\n const isFieldAffectingData = fieldAffectsData(field)\n\n const path = generateFieldPath(\n parentPath,\n isFieldAffectingData && 'name' in field ? field.name : '',\n )\n\n const AfterInput =\n ('admin' in field &&\n 'components' in field.admin &&\n 'afterInput' in field.admin.components &&\n Array.isArray(field.admin?.components?.afterInput) && (\n <Fragment>\n {field.admin.components.afterInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n const BeforeInput =\n ('admin' in field &&\n field.admin?.components &&\n 'beforeInput' in field.admin.components &&\n Array.isArray(field.admin.components.beforeInput) && (\n <Fragment>\n {field.admin.components.beforeInput.map((Component, i) => (\n <WithServerSideProps Component={Component} key={i} />\n ))}\n </Fragment>\n )) ||\n null\n\n let label: FormFieldBase['label'] = undefined\n\n if ('label' in field) {\n if (typeof field.label === 'string' || typeof field.label === 'object') {\n label = field.label\n } else if (typeof field.label === 'function') {\n label = field.label({ t })\n }\n }\n\n // These fields are shared across all field types even if they are not used in the default field, as the custom field component can use them\n const baseFieldProps: FormFieldBase = {\n AfterInput,\n BeforeInput,\n custom: 'admin' in field && 'custom' in field.admin ? field.admin?.custom : undefined,\n disabled: 'admin' in field && 'disabled' in field.admin ? field.admin?.disabled : false,\n label,\n path,\n required: 'required' in field ? field.required : undefined,\n }\n\n let fieldComponentPropsBase: Omit<FieldComponentProps, 'type'>\n\n let fieldOptions: Option[]\n\n if ('options' in field) {\n fieldOptions = field.options.map((option) => {\n if (typeof option === 'object' && typeof option.label === 'function') {\n return {\n label: option.label({ t }),\n value: option.value,\n }\n }\n\n return option\n })\n }\n\n const cellComponentProps: CellComponentProps = {\n name: 'name' in field ? field.name : undefined,\n fieldType: field.type,\n isFieldAffectingData,\n label,\n labels: 'labels' in field ? field.labels : undefined,\n options: 'options' in field ? fieldOptions : undefined,\n relationTo: 'relationTo' in field ? field.relationTo : undefined,\n schemaPath: path,\n }\n\n switch (field.type) {\n case 'array': {\n const arrayFieldProps: ArrayFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = arrayFieldProps\n break\n }\n case 'blocks': {\n const blocks = field.blocks.map((block) => {\n const blockFieldMap = mapFields({\n WithServerSideProps,\n config,\n fieldSchema: block.fields,\n filter,\n i18n,\n parentPath: `${path}.${block.slug}`,\n readOnly: readOnlyOverride,\n })\n\n const reducedBlock: ReducedBlock = {\n slug: block.slug,\n LabelComponent: block.admin?.components?.Label,\n custom: block.admin?.custom,\n fieldMap: blockFieldMap,\n imageAltText: block.imageAltText,\n imageURL: block.imageURL,\n labels: block.labels,\n }\n\n return reducedBlock\n })\n\n const blocksField: BlocksFieldProps = {\n ...baseFieldProps,\n name: field.name,\n blocks,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n isSortable: field.admin?.isSortable,\n labels: field.labels,\n maxRows: field.maxRows,\n minRows: field.minRows,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = blocksField\n\n cellComponentProps.blocks = field.blocks.map((b) => ({\n slug: b.slug,\n labels: b.labels,\n }))\n\n break\n }\n case 'checkbox': {\n const checkboxField: CheckboxFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = checkboxField\n break\n }\n case 'code': {\n const codeField: CodeFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n language: field.admin?.language,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = codeField\n break\n }\n case 'collapsible': {\n const collapsibleField: CollapsibleFieldProps = {\n ...baseFieldProps,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n initCollapsed: field.admin?.initCollapsed,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = collapsibleField // TODO: dunno why this is needed\n break\n }\n case 'date': {\n const dateField: DateFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n date: field.admin?.date,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = dateField\n cellComponentProps.dateDisplayFormat = field.admin?.date?.displayFormat\n break\n }\n case 'email': {\n const emailField: EmailFieldProps = {\n ...baseFieldProps,\n name: field.name,\n autoComplete: field.admin?.autoComplete,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = emailField\n break\n }\n case 'group': {\n const groupField: GroupFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n hideGutter: field.admin?.hideGutter,\n readOnly: field.admin?.readOnly,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = groupField\n break\n }\n case 'json': {\n const jsonField: JSONFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n editorOptions: field.admin?.editorOptions,\n jsonSchema: field.jsonSchema,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = jsonField\n break\n }\n case 'number': {\n const numberField: NumberFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n max: field.max,\n maxRows: field.maxRows,\n min: field.min,\n readOnly: field.admin?.readOnly,\n required: field.required,\n step: field.admin?.step,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = numberField\n break\n }\n case 'point': {\n const pointField: PointFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = pointField\n break\n }\n case 'relationship': {\n const relationshipField: RelationshipFieldProps = {\n ...baseFieldProps,\n name: field.name,\n allowCreate: field.admin.allowCreate,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isSortable: field.admin?.isSortable,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n sortOptions: field.admin.sortOptions,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n fieldComponentPropsBase = relationshipField\n break\n }\n case 'radio': {\n const radioField: RadioFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n layout: field.admin?.layout,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentPropsBase = radioField\n break\n }\n case 'richText': {\n const richTextField: RichTextComponentProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n if (!field?.editor) {\n throw new MissingEditorProp(field) // while we allow disabling editor functionality, you should not have any richText fields defined if you do not have an editor\n }\n\n if (typeof field?.editor === 'function') {\n throw new Error('Attempted to access unsanitized rich text editor.')\n }\n\n const RichTextFieldComponent = field.editor.FieldComponent\n const RichTextCellComponent = field.editor.CellComponent\n\n if (typeof field.editor.generateComponentMap === 'function') {\n const result = field.editor.generateComponentMap({\n WithServerSideProps,\n config,\n i18n,\n schemaPath: path,\n })\n\n richTextField.richTextComponentMap = result\n cellComponentProps.richTextComponentMap = result\n }\n\n if (RichTextFieldComponent) {\n CustomFieldComponent = RichTextFieldComponent\n }\n\n if (RichTextCellComponent) {\n CustomCellComponent = RichTextCellComponent\n }\n\n fieldComponentPropsBase = richTextField\n\n break\n }\n case 'row': {\n const rowField: Omit<RowFieldProps, 'indexPath'> = {\n ...baseFieldProps,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n fieldMap: mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: field.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n }),\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = rowField\n break\n }\n case 'tabs': {\n // `tabs` fields require a field map of each of its tab's nested fields\n const tabs = field.tabs.map((tab) => {\n const tabFieldMap = mapFields({\n WithServerSideProps,\n config,\n disableAddingID: true,\n fieldSchema: tab.fields,\n filter,\n i18n,\n parentPath: path,\n readOnly: readOnlyOverride,\n })\n\n const reducedTab: MappedTab = {\n name: 'name' in tab ? tab.name : undefined,\n fieldMap: tabFieldMap,\n label: tab.label,\n }\n\n return reducedTab\n })\n\n const tabsField: Omit<TabsFieldProps, 'indexPath'> = {\n ...baseFieldProps,\n name: 'name' in field ? (field.name as string) : undefined,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n tabs,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = tabsField\n break\n }\n case 'text': {\n const textField: TextFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = textField\n break\n }\n case 'textarea': {\n const textareaField: TextareaFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n maxLength: field.maxLength,\n minLength: field.minLength,\n placeholder: field.admin?.placeholder,\n readOnly: field.admin?.readOnly,\n required: field.required,\n rows: field.admin?.rows,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n fieldComponentPropsBase = textareaField\n break\n }\n case 'ui': {\n fieldComponentPropsBase = baseFieldProps\n break\n }\n case 'upload': {\n const uploadField: UploadFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n filterOptions: field.filterOptions,\n readOnly: field.admin?.readOnly,\n relationTo: field.relationTo,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.relationTo = field.relationTo\n cellComponentProps.displayPreview = field.displayPreview\n fieldComponentPropsBase = uploadField\n break\n }\n case 'select': {\n const selectField: SelectFieldProps = {\n ...baseFieldProps,\n name: field.name,\n className: field.admin?.className,\n disabled: field.admin?.disabled,\n hasMany: field.hasMany,\n isClearable: field.admin?.isClearable,\n options: fieldOptions,\n readOnly: field.admin?.readOnly,\n required: field.required,\n style: field.admin?.style,\n width: field.admin?.width,\n }\n\n cellComponentProps.options = fieldOptions\n fieldComponentPropsBase = selectField\n break\n }\n default: {\n break\n }\n }\n\n const labelProps: LabelProps = {\n type: field.type,\n label,\n required: 'required' in field ? field.required : undefined,\n schemaPath: path,\n }\n\n const CustomLabelComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Label' in field.admin.components &&\n field.admin.components?.Label) ||\n undefined\n\n // If we return undefined here (so if no CUSTOM label component is set),\n // the field client component is responsible for falling back to the default label\n let CustomLabel: React.ReactNode =\n CustomLabelComponent !== undefined ? (\n <WithServerSideProps Component={CustomLabelComponent} {...(labelProps || {})} />\n ) : undefined\n\n switch (field.type) {\n case 'array': {\n let CustomRowLabel: React.ReactNode\n\n if (\n 'admin' in field &&\n field.admin.components &&\n 'RowLabel' in field.admin.components &&\n field.admin.components.RowLabel\n ) {\n const CustomRowLabelComponent = field.admin.components.RowLabel\n CustomRowLabel = (\n <WithServerSideProps Component={CustomRowLabelComponent} {...(labelProps || {})} />\n )\n }\n\n // @ts-expect-error\n fieldComponentPropsBase.CustomRowLabel = CustomRowLabel\n\n break\n }\n\n case 'collapsible': {\n let CustomCollapsibleLabel: React.ReactNode\n\n if (\n field?.admin?.components &&\n 'RowLabel' in field.admin.components &&\n field?.admin?.components?.RowLabel\n ) {\n const CustomCollapsibleLabelComponent = field.admin.components.RowLabel\n CustomCollapsibleLabel = (\n <WithServerSideProps\n Component={CustomCollapsibleLabelComponent}\n {...(labelProps || {})}\n />\n )\n }\n\n CustomLabel = CustomCollapsibleLabel\n\n break\n }\n\n default:\n break\n }\n\n let description = undefined\n\n if (field.admin && 'description' in field.admin) {\n if (\n typeof field.admin?.description === 'string' ||\n typeof field.admin?.description === 'object'\n ) {\n description = field.admin.description\n } else if (typeof field.admin?.description === 'function') {\n description = field.admin?.description({ t })\n }\n }\n\n const descriptionProps: FieldDescriptionProps = {\n type: field.type,\n description,\n }\n\n let CustomDescriptionComponent = undefined\n\n if (\n field.admin?.components &&\n 'Description' in field.admin.components &&\n field.admin.components?.Description\n ) {\n CustomDescriptionComponent = field.admin.components.Description\n } else if (description) {\n CustomDescriptionComponent = FieldDescription\n }\n\n const CustomDescription =\n CustomDescriptionComponent !== undefined ? (\n <WithServerSideProps\n Component={CustomDescriptionComponent}\n {...(descriptionProps || {})}\n />\n ) : undefined\n\n const errorProps = {\n path,\n }\n\n const CustomErrorComponent =\n ('admin' in field &&\n field.admin?.components &&\n 'Error' in field.admin.components &&\n field.admin?.components?.Error) ||\n undefined\n\n const CustomError =\n CustomErrorComponent !== undefined ? (\n <WithServerSideProps Component={CustomErrorComponent} {...(errorProps || {})} />\n ) : undefined\n\n const fieldComponentProps: FieldComponentProps = {\n ...fieldComponentPropsBase,\n type: undefined,\n CustomDescription,\n CustomError,\n CustomLabel,\n descriptionProps,\n errorProps,\n labelProps,\n }\n\n const reducedField: MappedField = {\n name: 'name' in field ? field.name : undefined,\n type: field.type,\n CustomCell: CustomCellComponent ? (\n <WithServerSideProps Component={CustomCellComponent} {...cellComponentProps} />\n ) : undefined,\n CustomField: CustomFieldComponent ? (\n <WithServerSideProps Component={CustomFieldComponent} {...fieldComponentPropsBase} />\n ) : undefined,\n cellComponentProps,\n custom: field?.admin?.custom,\n disableBulkEdit:\n 'admin' in field && 'disableBulkEdit' in field.admin && field.admin.disableBulkEdit,\n disableListColumn:\n 'admin' in field && 'disableListColumn' in field.admin && field.admin.disableListColumn,\n disableListFilter:\n 'admin' in field && 'disableListFilter' in field.admin && field.admin.disableListFilter,\n fieldComponentProps,\n fieldIsPresentational,\n isFieldAffectingData,\n isHidden,\n isSidebar:\n 'admin' in field && 'position' in field.admin && field.admin.position === 'sidebar',\n localized: 'localized' in field ? field.localized : false,\n unique: 'unique' in field ? field.unique : false,\n }\n\n acc.push(reducedField)\n }\n }\n\n return acc\n }, [])\n\n const hasID =\n result.findIndex((f) => 'name' in f && f.isFieldAffectingData && f.name === 'id') > -1\n\n if (!disableAddingID && !hasID) {\n // TODO: For all fields (not just this one) we need to add the name to both .fieldComponentPropsBase.name AND .name. This can probably be improved\n result.push({\n name: 'id',\n type: 'text',\n CustomField: null,\n cellComponentProps: {\n name: 'id',\n schemaPath: 'id',\n },\n disableBulkEdit: true,\n fieldComponentProps: {\n name: 'id',\n type: undefined,\n label: 'ID',\n },\n fieldIsPresentational: false,\n isFieldAffectingData: true,\n isHidden: true,\n localized: undefined,\n })\n }\n\n return result\n}\n"],"names":["MissingEditorProp","fieldAffectsData","fieldIsPresentationalOnly","React","Fragment","FieldDescription","HiddenField","generateFieldPath","parentPath","name","tabPath","mapFields","args","WithServerSideProps","config","disableAddingID","fieldSchema","filter","i18n","t","readOnly","readOnlyOverride","result","reduce","acc","field","fieldIsPresentational","CustomFieldComponent","admin","components","Field","CustomCellComponent","Cell","isHidden","hidden","disabled","isFieldAffectingData","path","AfterInput","Array","isArray","afterInput","map","Component","i","BeforeInput","beforeInput","label","undefined","baseFieldProps","custom","required","fieldComponentPropsBase","fieldOptions","options","option","value","cellComponentProps","fieldType","type","labels","relationTo","schemaPath","arrayFieldProps","className","fieldMap","fields","isSortable","maxRows","minRows","style","width","blocks","block","blockFieldMap","slug","reducedBlock","LabelComponent","Label","imageAltText","imageURL","blocksField","b","checkboxField","codeField","editorOptions","language","collapsibleField","initCollapsed","dateField","date","placeholder","dateDisplayFormat","displayFormat","emailField","autoComplete","groupField","hideGutter","jsonField","jsonSchema","numberField","hasMany","max","min","step","pointField","relationshipField","allowCreate","sortOptions","radioField","layout","richTextField","editor","Error","RichTextFieldComponent","FieldComponent","RichTextCellComponent","CellComponent","generateComponentMap","richTextComponentMap","rowField","tabs","tab","tabFieldMap","reducedTab","tabsField","textField","maxLength","minLength","textareaField","rows","uploadField","filterOptions","displayPreview","selectField","isClearable","labelProps","CustomLabelComponent","CustomLabel","CustomRowLabel","RowLabel","CustomRowLabelComponent","CustomCollapsibleLabel","CustomCollapsibleLabelComponent","description","descriptionProps","CustomDescriptionComponent","Description","CustomDescription","errorProps","CustomErrorComponent","CustomError","fieldComponentProps","reducedField","CustomCell","CustomField","disableBulkEdit","disableListColumn","disableListFilter","isSidebar","position","localized","unique","push","hasID","findIndex","f"],"mappings":"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"}
|
|
@@ -2,12 +2,19 @@ import type { PaginatedDocs, Where } from 'payload';
|
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import type { Column } from '../../elements/Table/index.js';
|
|
4
4
|
export type ColumnPreferences = Pick<Column, 'accessor' | 'active'>[];
|
|
5
|
-
type
|
|
6
|
-
handlePageChange?: (page: number) => void;
|
|
7
|
-
handlePerPageChange?: (limit: number) => void;
|
|
8
|
-
handleSearchChange?: (search: string) => void;
|
|
9
|
-
handleSortChange?: (sort: string) => void;
|
|
10
|
-
handleWhereChange?: (where: Where) => void;
|
|
5
|
+
type PropHandlers = {
|
|
6
|
+
handlePageChange?: (page: number) => Promise<void> | void;
|
|
7
|
+
handlePerPageChange?: (limit: number) => Promise<void> | void;
|
|
8
|
+
handleSearchChange?: (search: string) => Promise<void> | void;
|
|
9
|
+
handleSortChange?: (sort: string) => Promise<void> | void;
|
|
10
|
+
handleWhereChange?: (where: Where) => Promise<void> | void;
|
|
11
|
+
};
|
|
12
|
+
type ContextHandlers = {
|
|
13
|
+
handlePageChange?: (page: number) => Promise<void>;
|
|
14
|
+
handlePerPageChange?: (limit: number) => Promise<void>;
|
|
15
|
+
handleSearchChange?: (search: string) => Promise<void>;
|
|
16
|
+
handleSortChange?: (sort: string) => Promise<void>;
|
|
17
|
+
handleWhereChange?: (where: Where) => Promise<void>;
|
|
11
18
|
};
|
|
12
19
|
export type ListQueryProps = {
|
|
13
20
|
children: React.ReactNode;
|
|
@@ -16,13 +23,13 @@ export type ListQueryProps = {
|
|
|
16
23
|
defaultSort?: string;
|
|
17
24
|
modifySearchParams?: boolean;
|
|
18
25
|
preferenceKey?: string;
|
|
19
|
-
} &
|
|
26
|
+
} & PropHandlers;
|
|
20
27
|
export type ListQueryContext = {
|
|
21
28
|
data: PaginatedDocs;
|
|
22
29
|
defaultLimit?: number;
|
|
23
30
|
defaultSort?: string;
|
|
24
|
-
refineListData: (args: RefineOverrides) => void
|
|
25
|
-
} &
|
|
31
|
+
refineListData: (args: RefineOverrides) => Promise<void>;
|
|
32
|
+
} & ContextHandlers;
|
|
26
33
|
export declare const useListQuery: () => ListQueryContext;
|
|
27
34
|
type RefineOverrides = {
|
|
28
35
|
limit?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKnD,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAK3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;AAErE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/providers/ListQuery/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAKnD,OAAO,KAAoC,MAAM,OAAO,CAAA;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AAK3D,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,QAAQ,CAAC,EAAE,CAAA;AAErE,KAAK,YAAY,GAAG;IAClB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACzD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7D,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC7D,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IACzD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC3D,CAAA;AACD,KAAK,eAAe,GAAG;IACrB,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,mBAAmB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACpD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB,GAAG,YAAY,CAAA;AAEhB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,aAAa,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,EAAE,CAAC,IAAI,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACzD,GAAG,eAAe,CAAA;AAInB,eAAO,MAAM,YAAY,QAAO,gBAAuC,CAAA;AAEvE,KAAK,eAAe,GAAG;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwItD,CAAA"}
|
|
@@ -15,6 +15,8 @@ export const ListQueryProvider = ({ children, data, defaultLimit, defaultSort, h
|
|
|
15
15
|
const { searchParams: currentQuery } = useSearchParams();
|
|
16
16
|
const refineListData = React.useCallback(async (query)=>{
|
|
17
17
|
if (!modifySearchParams) return;
|
|
18
|
+
let pageQuery = 'page' in query ? query.page : currentQuery?.page;
|
|
19
|
+
if ('where' in query || 'search' in query) pageQuery = '1';
|
|
18
20
|
const updatedPreferences = {};
|
|
19
21
|
let updatePreferences = false;
|
|
20
22
|
if ('limit' in query) {
|
|
@@ -30,7 +32,7 @@ export const ListQueryProvider = ({ children, data, defaultLimit, defaultSort, h
|
|
|
30
32
|
}
|
|
31
33
|
const params = {
|
|
32
34
|
limit: 'limit' in query ? query.limit : currentQuery?.limit,
|
|
33
|
-
page:
|
|
35
|
+
page: pageQuery,
|
|
34
36
|
search: 'search' in query ? query.search : currentQuery?.search,
|
|
35
37
|
sort: 'sort' in query ? query.sort : currentQuery?.sort,
|
|
36
38
|
where: 'where' in query ? query.where : currentQuery?.where
|
|
@@ -47,7 +49,7 @@ export const ListQueryProvider = ({ children, data, defaultLimit, defaultSort, h
|
|
|
47
49
|
]);
|
|
48
50
|
const handlePageChange = React.useCallback(async (arg)=>{
|
|
49
51
|
if (typeof handlePageChangeFromProps === 'function') {
|
|
50
|
-
handlePageChangeFromProps(arg);
|
|
52
|
+
await handlePageChangeFromProps(arg);
|
|
51
53
|
}
|
|
52
54
|
await refineListData({
|
|
53
55
|
page: String(arg)
|
|
@@ -58,7 +60,7 @@ export const ListQueryProvider = ({ children, data, defaultLimit, defaultSort, h
|
|
|
58
60
|
]);
|
|
59
61
|
const handlePerPageChange = React.useCallback(async (arg)=>{
|
|
60
62
|
if (typeof handlePerPageChangeFromProps === 'function') {
|
|
61
|
-
handlePerPageChangeFromProps(arg);
|
|
63
|
+
await handlePerPageChangeFromProps(arg);
|
|
62
64
|
}
|
|
63
65
|
await refineListData({
|
|
64
66
|
limit: String(arg)
|
|
@@ -69,7 +71,7 @@ export const ListQueryProvider = ({ children, data, defaultLimit, defaultSort, h
|
|
|
69
71
|
]);
|
|
70
72
|
const handleSearchChange = React.useCallback(async (arg)=>{
|
|
71
73
|
if (typeof handleSearchChangeFromProps === 'function') {
|
|
72
|
-
handleSearchChangeFromProps(arg);
|
|
74
|
+
await handleSearchChangeFromProps(arg);
|
|
73
75
|
}
|
|
74
76
|
await refineListData({
|
|
75
77
|
search: arg
|
|
@@ -80,7 +82,7 @@ export const ListQueryProvider = ({ children, data, defaultLimit, defaultSort, h
|
|
|
80
82
|
]);
|
|
81
83
|
const handleSortChange = React.useCallback(async (arg)=>{
|
|
82
84
|
if (typeof handleSortChangeFromProps === 'function') {
|
|
83
|
-
handleSortChangeFromProps(arg);
|
|
85
|
+
await handleSortChangeFromProps(arg);
|
|
84
86
|
}
|
|
85
87
|
await refineListData({
|
|
86
88
|
sort: arg
|
|
@@ -91,7 +93,7 @@ export const ListQueryProvider = ({ children, data, defaultLimit, defaultSort, h
|
|
|
91
93
|
]);
|
|
92
94
|
const handleWhereChange = React.useCallback(async (arg)=>{
|
|
93
95
|
if (typeof handleWhereChangeFromProps === 'function') {
|
|
94
|
-
handleWhereChangeFromProps(arg);
|
|
96
|
+
await handleWhereChangeFromProps(arg);
|
|
95
97
|
}
|
|
96
98
|
await refineListData({
|
|
97
99
|
where: arg
|