@webiny/app-headless-cms 5.37.2-beta.0 → 5.37.2-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
  2. package/admin/components/ContentEntryForm/useContentEntryForm.d.ts +6 -6
  3. package/admin/components/ContentEntryForm/useContentEntryForm.js +4 -2
  4. package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -1
  5. package/admin/components/LexicalCmsEditor/LexicalCmsEditor.js +32 -27
  6. package/admin/components/LexicalCmsEditor/LexicalCmsEditor.js.map +1 -1
  7. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js +1 -1
  8. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js.map +1 -1
  9. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js +1 -1
  10. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js.map +1 -1
  11. package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.js +2 -2
  12. package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.js.map +1 -1
  13. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.d.ts +2 -2
  14. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js +2 -3
  15. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js.map +1 -1
  16. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +27 -11
  17. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
  18. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +26 -8
  19. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
  20. package/admin/plugins/fieldRenderers/ref/components/NewEntryButton.d.ts +4 -0
  21. package/admin/plugins/fieldRenderers/ref/components/NewEntryButton.js +25 -0
  22. package/admin/plugins/fieldRenderers/ref/components/NewEntryButton.js.map +1 -0
  23. package/admin/plugins/fieldRenderers/ref/{advanced/components → components}/NewReferencedEntryDialog.d.ts +1 -1
  24. package/admin/plugins/fieldRenderers/ref/{advanced/components → components}/NewReferencedEntryDialog.js +76 -14
  25. package/admin/plugins/fieldRenderers/ref/components/NewReferencedEntryDialog.js.map +1 -0
  26. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.d.ts +2 -1
  27. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js +4 -2
  28. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js.map +1 -1
  29. package/admin/plugins/fieldRenderers/ref/{advanced/components → components}/dialog/Dialog.js +3 -3
  30. package/admin/plugins/fieldRenderers/ref/{advanced/components → components}/dialog/DialogHeader.d.ts +1 -1
  31. package/admin/plugins/fieldRenderers/ref/{advanced/components → components}/dialog/DialogHeader.js +6 -6
  32. package/admin/plugins/fieldRenderers/ref/components/graphql.js +1 -1
  33. package/admin/plugins/fieldRenderers/ref/components/graphql.js.map +1 -1
  34. package/admin/plugins/fieldRenderers/ref/components/helpers.js +3 -1
  35. package/admin/plugins/fieldRenderers/ref/components/helpers.js.map +1 -1
  36. package/admin/plugins/fieldRenderers/ref/components/types.d.ts +1 -0
  37. package/admin/plugins/fieldRenderers/ref/components/types.js.map +1 -1
  38. package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -1
  39. package/admin/plugins/fieldRenderers/ref/refInput.d.ts +2 -2
  40. package/admin/plugins/fieldRenderers/ref/refInput.js +2 -3
  41. package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -1
  42. package/admin/plugins/fieldRenderers/ref/refInputs.d.ts +2 -2
  43. package/admin/plugins/fieldRenderers/ref/refInputs.js +2 -3
  44. package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
  45. package/admin/views/contentEntries/ContentEntry/prepareFormData.d.ts +2 -2
  46. package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -1
  47. package/package.json +24 -24
  48. package/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog.js.map +0 -1
  49. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.d.ts +0 -10
  50. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +0 -152
  51. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +0 -1
  52. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.d.ts +0 -8
  53. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js +0 -41
  54. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js.map +0 -1
  55. /package/admin/plugins/fieldRenderers/ref/{advanced/components → components}/dialog/Dialog.d.ts +0 -0
  56. /package/admin/plugins/fieldRenderers/ref/{advanced/components → components}/dialog/Dialog.js.map +0 -0
  57. /package/admin/plugins/fieldRenderers/ref/{advanced/components → components}/dialog/DialogHeader.js.map +0 -0
  58. /package/admin/plugins/fieldRenderers/ref/{advanced/components → components}/dialog/assets/close.svg +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_RenderFieldElement","_styled","_interopRequireDefault","_form","_plugins","_Progress","_useContentEntryForm2","_Fields","_reactRouter","_appAdmin","_ModelProvider","_excluded","FormWrapper","styled","target","label","height","overflow","omitTypename","key","value","undefined","stringify","JSON","isDifferent","compare","ContentEntryForm","_ref","onForm","props","_objectWithoutProperties2","default","formElementRef","useRef","_useModel","useModel","model","_useContentEntryForm","useContentEntryForm","loading","initialData","data","onChange","onSubmit","invalidFields","_React$useState","React","useState","_React$useState2","_slicedToArray2","isDirty","setIsDirty","useEffect","_useSnackbar","useSnackbar","showSnackbar","ref","current","scrollTo","id","formRenderer","plugins","byType","find","pl","modelId","renderCustomLayout","useCallback","formRenderProps","fields","reduce","acc","field","fieldId","createElement","RenderFieldElement","Bind","contentModel","Fragment","concat","render","_objectSpread2","Form","form","different","onInvalid","formProps","ModelProvider","Prompt","when","message","CircularProgress","Fields","Object","assign","layout","exports"],"sources":["ContentEntryForm.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from \"react\";\nimport { RenderFieldElement } from \"./RenderFieldElement\";\nimport styled from \"@emotion/styled\";\nimport { Form } from \"@webiny/form\";\nimport { FormAPI, FormRenderPropParams } from \"@webiny/form/types\";\nimport { plugins } from \"@webiny/plugins\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { CmsContentFormRendererPlugin } from \"~/types\";\nimport { useContentEntryForm, UseContentEntryFormParams } from \"./useContentEntryForm\";\nimport { Fields } from \"./Fields\";\nimport { Prompt } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { ModelProvider, useModel } from \"~/admin/components/ModelProvider\";\n\nconst FormWrapper = styled(\"div\")({\n height: \"calc(100vh - 260px)\",\n overflow: \"auto\"\n});\n\ninterface ContentEntryFormProps extends UseContentEntryFormParams {\n onForm?: (form: FormAPI) => void;\n}\n\nfunction omitTypename(key: string, value: string): string | undefined {\n return key === \"__typename\" ? undefined : value;\n}\n\nconst stringify = (value: any): string => {\n return JSON.stringify(value || {}, omitTypename);\n};\n\nconst isDifferent = (value: any, compare: any): boolean => {\n if (!value && !compare) {\n return false;\n }\n return stringify(value) !== stringify(compare);\n};\n\nexport const ContentEntryForm: React.FC<ContentEntryFormProps> = ({ onForm, ...props }) => {\n const formElementRef = useRef<HTMLDivElement>(null);\n const { model } = useModel();\n const {\n loading,\n data: initialData,\n onChange,\n onSubmit,\n invalidFields\n } = useContentEntryForm(props);\n\n const [isDirty, setIsDirty] = React.useState<boolean>(false);\n /**\n * Reset isDirty when the loaded data changes.\n */\n useEffect(() => {\n if (!isDirty) {\n return;\n }\n setIsDirty(false);\n }, [initialData]);\n\n const { showSnackbar } = useSnackbar();\n\n const ref = useRef<FormAPI | null>(null);\n\n useEffect(() => {\n if (typeof onForm !== \"function\" || !ref.current) {\n return;\n }\n onForm(ref.current);\n }, []);\n\n useEffect(() => {\n if (!formElementRef.current) {\n return;\n }\n\n formElementRef.current.scrollTo(0, 0);\n }, [initialData.id, formElementRef.current]);\n\n const formRenderer = plugins\n .byType<CmsContentFormRendererPlugin>(\"cms-content-form-renderer\")\n .find(pl => pl.modelId === model.modelId);\n\n const renderCustomLayout = useCallback(\n (formRenderProps: FormRenderPropParams) => {\n const fields = model.fields.reduce((acc, field) => {\n /**\n * TODO @ts-refactor\n * Figure out type for Bind.\n */\n acc[field.fieldId] = (\n <RenderFieldElement\n field={field}\n Bind={formRenderProps.Bind as any}\n contentModel={model}\n />\n );\n\n return acc;\n }, {} as Record<string, React.ReactElement>);\n if (!formRenderer) {\n return <>{`Missing form renderer for modelId \"${model.modelId}\".`}</>;\n }\n return formRenderer.render({\n ...formRenderProps,\n contentModel: model,\n fields,\n /**\n * TODO @ts-refactor\n * Figure out type for Bind.\n */\n Bind: formRenderProps.Bind as any\n });\n },\n [formRenderer]\n );\n\n return (\n <Form\n onChange={(data, form) => {\n const different = isDifferent(data, initialData);\n if (isDirty !== different) {\n setIsDirty(different);\n }\n return onChange(data, form);\n }}\n onSubmit={(data, form) => {\n setIsDirty(false);\n return onSubmit(data, form);\n }}\n data={initialData}\n ref={ref}\n invalidFields={invalidFields}\n onInvalid={() => {\n setIsDirty(true);\n showSnackbar(\"Some fields did not pass the validation. Please check the form.\");\n }}\n >\n {formProps => {\n return (\n <ModelProvider model={model}>\n <Prompt\n when={isDirty}\n message={\n \"There are some unsaved changes! Are you sure you want to navigate away and discard all changes?\"\n }\n />\n <FormWrapper data-testid={\"cms-content-form\"} ref={formElementRef}>\n {loading && <CircularProgress />}\n {formRenderer ? (\n renderCustomLayout(formProps)\n ) : (\n <Fields\n contentModel={model}\n fields={model.fields || []}\n layout={model.layout || []}\n {...formProps}\n Bind={formProps.Bind as any}\n />\n )}\n </FormWrapper>\n </ModelProvider>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_RenderFieldElement","_styled","_interopRequireDefault","_form","_plugins","_Progress","_useContentEntryForm2","_Fields","_reactRouter","_appAdmin","_ModelProvider","_excluded","FormWrapper","styled","target","label","height","overflow","omitTypename","key","value","undefined","stringify","JSON","isDifferent","compare","ContentEntryForm","_ref","onForm","props","_objectWithoutProperties2","default","formElementRef","useRef","_useModel","useModel","model","_useContentEntryForm","useContentEntryForm","loading","initialData","data","onChange","onSubmit","invalidFields","_React$useState","React","useState","_React$useState2","_slicedToArray2","isDirty","setIsDirty","useEffect","_useSnackbar","useSnackbar","showSnackbar","ref","current","scrollTo","id","formRenderer","plugins","byType","find","pl","modelId","renderCustomLayout","useCallback","formRenderProps","fields","reduce","acc","field","fieldId","createElement","RenderFieldElement","Bind","contentModel","Fragment","concat","render","_objectSpread2","Form","form","different","onInvalid","formProps","ModelProvider","Prompt","when","message","CircularProgress","Fields","Object","assign","layout","exports"],"sources":["ContentEntryForm.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef } from \"react\";\nimport { RenderFieldElement } from \"./RenderFieldElement\";\nimport styled from \"@emotion/styled\";\nimport { Form } from \"@webiny/form\";\nimport { FormAPI, FormRenderPropParams } from \"@webiny/form/types\";\nimport { plugins } from \"@webiny/plugins\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { CmsContentEntry, CmsContentFormRendererPlugin } from \"~/types\";\nimport { useContentEntryForm, UseContentEntryFormParams } from \"./useContentEntryForm\";\nimport { Fields } from \"./Fields\";\nimport { Prompt } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { ModelProvider, useModel } from \"~/admin/components/ModelProvider\";\n\nconst FormWrapper = styled(\"div\")({\n height: \"calc(100vh - 260px)\",\n overflow: \"auto\"\n});\n\ninterface ContentEntryFormProps extends UseContentEntryFormParams {\n onForm?: (form: FormAPI) => void;\n}\n\nfunction omitTypename(key: string, value: string): string | undefined {\n return key === \"__typename\" ? undefined : value;\n}\n\nconst stringify = (value: any): string => {\n return JSON.stringify(value || {}, omitTypename);\n};\n\nconst isDifferent = (value: any, compare: any): boolean => {\n if (!value && !compare) {\n return false;\n }\n return stringify(value) !== stringify(compare);\n};\n\nexport const ContentEntryForm: React.FC<ContentEntryFormProps> = ({ onForm, ...props }) => {\n const formElementRef = useRef<HTMLDivElement>(null);\n const { model } = useModel();\n const {\n loading,\n data: initialData,\n onChange,\n onSubmit,\n invalidFields\n } = useContentEntryForm(props);\n\n const [isDirty, setIsDirty] = React.useState<boolean>(false);\n /**\n * Reset isDirty when the loaded data changes.\n */\n useEffect(() => {\n if (!isDirty) {\n return;\n }\n setIsDirty(false);\n }, [initialData]);\n\n const { showSnackbar } = useSnackbar();\n\n const ref = useRef<FormAPI | null>(null);\n\n useEffect(() => {\n if (typeof onForm !== \"function\" || !ref.current) {\n return;\n }\n onForm(ref.current);\n }, []);\n\n useEffect(() => {\n if (!formElementRef.current) {\n return;\n }\n\n formElementRef.current.scrollTo(0, 0);\n }, [initialData.id, formElementRef.current]);\n\n const formRenderer = plugins\n .byType<CmsContentFormRendererPlugin>(\"cms-content-form-renderer\")\n .find(pl => pl.modelId === model.modelId);\n\n const renderCustomLayout = useCallback(\n (formRenderProps: FormRenderPropParams) => {\n const fields = model.fields.reduce((acc, field) => {\n /**\n * TODO @ts-refactor\n * Figure out type for Bind.\n */\n acc[field.fieldId] = (\n <RenderFieldElement\n field={field}\n Bind={formRenderProps.Bind as any}\n contentModel={model}\n />\n );\n\n return acc;\n }, {} as Record<string, React.ReactElement>);\n if (!formRenderer) {\n return <>{`Missing form renderer for modelId \"${model.modelId}\".`}</>;\n }\n return formRenderer.render({\n ...formRenderProps,\n contentModel: model,\n fields,\n /**\n * TODO @ts-refactor\n * Figure out type for Bind.\n */\n Bind: formRenderProps.Bind as any\n });\n },\n [formRenderer]\n );\n\n return (\n <Form<CmsContentEntry>\n onChange={(data, form) => {\n const different = isDifferent(data, initialData);\n if (isDirty !== different) {\n setIsDirty(different);\n }\n return onChange(data, form);\n }}\n onSubmit={(data, form) => {\n setIsDirty(false);\n return onSubmit(data, form);\n }}\n data={initialData}\n ref={ref}\n invalidFields={invalidFields}\n onInvalid={() => {\n setIsDirty(true);\n showSnackbar(\"Some fields did not pass the validation. Please check the form.\");\n }}\n >\n {formProps => {\n return (\n <ModelProvider model={model}>\n <Prompt\n when={isDirty}\n message={\n \"There are some unsaved changes! Are you sure you want to navigate away and discard all changes?\"\n }\n />\n <FormWrapper data-testid={\"cms-content-form\"} ref={formElementRef}>\n {loading && <CircularProgress />}\n {formRenderer ? (\n renderCustomLayout(formProps)\n ) : (\n <Fields\n contentModel={model}\n fields={model.fields || []}\n layout={model.layout || []}\n {...formProps}\n Bind={formProps.Bind as any}\n />\n )}\n </FormWrapper>\n </ModelProvider>\n );\n }}\n </Form>\n );\n};\n"],"mappings":"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"}
@@ -1,19 +1,19 @@
1
1
  import { Dispatch, SetStateAction } from "react";
2
2
  import { FormOnSubmit } from "@webiny/form";
3
- import { CmsContentEntry, CmsEditorFieldRendererPlugin } from "../../../types";
3
+ import { CmsContentEntry, CmsModelFieldRendererPlugin } from "../../../types";
4
4
  interface UseContentEntryForm {
5
5
  data: Record<string, any>;
6
6
  loading: boolean;
7
7
  setLoading: Dispatch<SetStateAction<boolean>>;
8
- onChange: FormOnSubmit;
9
- onSubmit: FormOnSubmit;
8
+ onChange: FormOnSubmit<CmsContentEntry>;
9
+ onSubmit: FormOnSubmit<CmsContentEntry>;
10
10
  invalidFields: Record<string, string>;
11
- renderPlugins: CmsEditorFieldRendererPlugin[];
11
+ renderPlugins: CmsModelFieldRendererPlugin[];
12
12
  }
13
13
  export interface UseContentEntryFormParams {
14
14
  entry: Partial<CmsContentEntry>;
15
- onChange?: FormOnSubmit;
16
- onSubmit?: FormOnSubmit;
15
+ onChange?: FormOnSubmit<CmsContentEntry>;
16
+ onSubmit?: FormOnSubmit<CmsContentEntry>;
17
17
  addEntryToListCache: boolean;
18
18
  }
19
19
  export declare function useContentEntryForm(params: UseContentEntryFormParams): UseContentEntryForm;
@@ -90,6 +90,8 @@ function useContentEntryForm(params) {
90
90
  routerSearch = _useRouter.search;
91
91
  var _routerSearch = (0, _slicedToArray2.default)(routerSearch, 1),
92
92
  query = _routerSearch[0];
93
+ var _useNavigateFolder = (0, _appAco.useNavigateFolder)(),
94
+ currentFolderId = _useNavigateFolder.currentFolderId;
93
95
  var _useSnackbar = (0, _useSnackbar2.useSnackbar)(),
94
96
  showSnackbar = _useSnackbar.showSnackbar;
95
97
  var _useState3 = (0, _react.useState)({}),
@@ -168,7 +170,7 @@ function useContentEntryForm(params) {
168
170
  * TODO: introduce hook like onEntryPublish, or similar.
169
171
  */
170
172
  wbyAco_location: {
171
- folderId: query.get("folderId") || _constants.ROOT_FOLDER
173
+ folderId: currentFolderId || _constants.ROOT_FOLDER
172
174
  }
173
175
  })
174
176
  },
@@ -227,7 +229,7 @@ function useContentEntryForm(params) {
227
229
  return function (_x2, _x3) {
228
230
  return _ref2.apply(this, arguments);
229
231
  };
230
- }(), [model.modelId, params.onSubmit, params.addEntryToListCache, query]);
232
+ }(), [model.modelId, params.onSubmit, params.addEntryToListCache, query, currentFolderId]);
231
233
  var updateContent = (0, _react.useCallback)( /*#__PURE__*/function () {
232
234
  var _ref4 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3(revision, data) {
233
235
  var response, error, entry;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_pick","_interopRequireDefault","_reactRouter","_useSnackbar2","_appHeadlessCmsCommon","_hooks","_prepareFormData","_plugins","_getFetchPolicy","_appAco","_constants","convertDefaultValue","field","value","type","Boolean","Number","useEntry","entryFromProps","_useState","useState","_useState2","_slicedToArray2","default","entry","setEntry","_useCms","useCms","onEntryRevisionPublish","useEffect","id","next","_ref","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","params","publishRes","wrap","_callee$","_context","prev","sent","_publishRes$entry","_objectSpread2","meta","abrupt","stop","_x","apply","arguments","useContentEntryForm","_useModel","useModel","model","_useRouter","useRouter","history","routerSearch","search","_routerSearch","query","_useSnackbar","useSnackbar","showSnackbar","_useState3","_useState4","invalidFields","setInvalidFields","_useState5","_useState6","loading","setLoading","_useRecords","useRecords","addRecordToCache","updateRecordInCache","renderPlugins","useMemo","plugins","byType","goToRevision","useCallback","fId","get","folderId","concat","encodeURIComponent","push","modelId","_useMemo","CREATE_CONTENT","createCreateMutation","UPDATE_CONTENT","createUpdateMutation","CREATE_CONTENT_FROM","createCreateFromMutation","_useMutation","useMutation","_useMutation2","createMutation","_useMutation3","_useMutation4","updateMutation","_useMutation5","_useMutation6","createFromMutation","setInvalidFieldValues","errors","Array","isArray","values","reduce","acc","er","fieldId","error","resetInvalidFieldValues","createContent","_ref2","_callee2","formData","form","response","_ref3","_callee2$","_context2","variables","data","wbyAco_location","ROOT_FOLDER","fetchPolicy","getFetchPolicy","content","message","addEntryToListCache","name","onSubmit","_x2","_x3","updateContent","_ref4","_callee3","revision","_callee3$","_context3","_x4","_x5","createContentFrom","_ref5","_callee4","_response$data$conten","newRevision","_callee4$","_context4","_x6","_x7","onChange","_ref6","_callee5","fieldsIds","gqlData","_ref7","isLocked","_callee5$","_context5","fields","map","item","pick","_toConsumableArray2","prepareFormData","locked","_x8","_x9","defaultValues","_iterator","_createForOfIteratorHelper2","_step","_loop","settings","_field$multipleValues","multipleValues","defaultValue","undefined","predefinedValues","enabled","selectedValue","find","_ref8","selected","filter","_ref9","_ref10","s","n","done","_ret","err","e","f"],"sources":["useContentEntryForm.ts"],"sourcesContent":["import { Dispatch, SetStateAction, useCallback, useEffect, useMemo, useState } from \"react\";\nimport pick from \"lodash/pick\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { FormOnSubmit } from \"@webiny/form\";\nimport {\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables,\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables,\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables,\n createCreateFromMutation,\n createCreateMutation,\n createUpdateMutation\n} from \"@webiny/app-headless-cms-common\";\nimport { useCms, useModel, useMutation } from \"~/admin/hooks\";\nimport { prepareFormData } from \"~/admin/views/contentEntries/ContentEntry/prepareFormData\";\nimport { CmsContentEntry, CmsEditorFieldRendererPlugin, CmsModelField } from \"~/types\";\nimport { plugins } from \"@webiny/plugins\";\nimport { getFetchPolicy } from \"~/utils/getFetchPolicy\";\nimport { useRecords } from \"@webiny/app-aco\";\nimport { ROOT_FOLDER } from \"~/admin/constants\";\n\n/**\n * Used for some fields to convert their values.\n */\nconst convertDefaultValue = (field: CmsModelField, value: any): string | number | boolean => {\n switch (field.type) {\n case \"boolean\":\n return Boolean(value);\n case \"number\":\n return Number(value);\n default:\n return value;\n }\n};\n\ninterface InvalidFieldError {\n fieldId: string;\n error: string;\n}\n\ninterface UseContentEntryForm {\n data: Record<string, any>;\n loading: boolean;\n setLoading: Dispatch<SetStateAction<boolean>>;\n onChange: FormOnSubmit;\n onSubmit: FormOnSubmit;\n invalidFields: Record<string, string>;\n renderPlugins: CmsEditorFieldRendererPlugin[];\n}\n\nexport interface UseContentEntryFormParams {\n entry: Partial<CmsContentEntry>;\n onChange?: FormOnSubmit;\n onSubmit?: FormOnSubmit;\n addEntryToListCache: boolean;\n}\n\nfunction useEntry(entryFromProps: Partial<CmsContentEntry>) {\n /**\n * We need to keep track of the entry locally\n */\n const [entry, setEntry] = useState(entryFromProps);\n const { onEntryRevisionPublish } = useCms();\n\n useEffect(() => {\n setEntry(entryFromProps);\n\n if (!entryFromProps.id) {\n return;\n }\n\n return onEntryRevisionPublish(next => async params => {\n const publishRes = await next(params);\n setEntry(entry => {\n return { ...entry, meta: publishRes?.entry?.meta || {} };\n });\n return publishRes;\n });\n }, [entryFromProps, entry.id]);\n\n return entry;\n}\n\nexport function useContentEntryForm(params: UseContentEntryFormParams): UseContentEntryForm {\n const { model } = useModel();\n const { history, search: routerSearch } = useRouter();\n const [query] = routerSearch;\n const { showSnackbar } = useSnackbar();\n const [invalidFields, setInvalidFields] = useState<Record<string, string>>({});\n const [loading, setLoading] = useState(false);\n const entry = useEntry(params.entry);\n\n const { addRecordToCache, updateRecordInCache } = useRecords();\n\n const renderPlugins = useMemo(\n () => plugins.byType<CmsEditorFieldRendererPlugin>(\"cms-editor-field-renderer\"),\n []\n );\n\n const goToRevision = useCallback(\n id => {\n const fId = query.get(\"folderId\");\n const folderId = fId ? `&folderId=${encodeURIComponent(fId)}` : \"\";\n history.push(\n `/cms/content-entries/${model.modelId}?id=${encodeURIComponent(id)}${folderId}`\n );\n },\n [query]\n );\n\n const { CREATE_CONTENT, UPDATE_CONTENT, CREATE_CONTENT_FROM } = useMemo(() => {\n return {\n CREATE_CONTENT: createCreateMutation(model),\n UPDATE_CONTENT: createUpdateMutation(model),\n CREATE_CONTENT_FROM: createCreateFromMutation(model)\n };\n }, [model.modelId]);\n\n const [createMutation] = useMutation<\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables\n >(CREATE_CONTENT);\n const [updateMutation] = useMutation<\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables\n >(UPDATE_CONTENT);\n const [createFromMutation] = useMutation<\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n >(CREATE_CONTENT_FROM);\n\n /**\n * Note that when passing `error.data` variable we cast as InvalidFieldError[] because we know it is so.\n */\n const setInvalidFieldValues = (errors?: InvalidFieldError[]): void => {\n if (Array.isArray(errors) === false || !errors) {\n return;\n }\n const values = (errors || []).reduce((acc, er) => {\n acc[er.fieldId] = er.error;\n return acc;\n }, {} as Record<string, string>);\n setInvalidFields(() => values);\n };\n\n const resetInvalidFieldValues = (): void => {\n setInvalidFields(() => ({}));\n };\n\n const createContent: FormOnSubmit = useCallback(\n async (formData, form) => {\n setLoading(true);\n const response = await createMutation({\n variables: {\n data: {\n ...formData,\n /**\n * Added for the ACO to work.\n * TODO: introduce hook like onEntryPublish, or similar.\n */\n wbyAco_location: {\n folderId: query.get(\"folderId\") || ROOT_FOLDER\n }\n }\n },\n fetchPolicy: getFetchPolicy(model)\n });\n\n setLoading(false);\n\n /**\n * Finalize \"create\" process\n */\n if (!response.data) {\n showSnackbar(\"Missing response data in Create Entry.\");\n return;\n }\n const { data: entry, error } = response.data.content || {};\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return;\n } else if (!entry) {\n showSnackbar(\"Missing entry data in Create Entry Response.\");\n return;\n }\n resetInvalidFieldValues();\n\n if (params.addEntryToListCache) {\n addRecordToCache(entry);\n }\n\n showSnackbar(`${model.name} entry created successfully!`);\n if (typeof params.onSubmit === \"function\") {\n params.onSubmit(entry, form);\n return entry;\n }\n goToRevision(entry.id);\n return entry;\n },\n [model.modelId, params.onSubmit, params.addEntryToListCache, query]\n );\n\n const updateContent = useCallback(\n async (revision, data) => {\n setLoading(true);\n const response = await updateMutation({\n variables: { revision, data },\n fetchPolicy: getFetchPolicy(model)\n });\n setLoading(false);\n if (!response.data) {\n showSnackbar(\"Missing response data on Update Entry Response.\");\n return;\n }\n\n const { error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return null;\n }\n\n resetInvalidFieldValues();\n showSnackbar(\"Content saved successfully.\");\n const { data: entry } = response.data.content;\n\n updateRecordInCache(entry);\n\n return entry;\n },\n [model.modelId]\n );\n\n const createContentFrom = useCallback(\n async (revision: string, formData: Record<string, any>) => {\n setLoading(true);\n const response = await createFromMutation({\n variables: { revision, data: formData },\n fetchPolicy: getFetchPolicy(model)\n });\n\n if (!response.data) {\n showSnackbar(\"Missing data in update callback on Create From Entry Response.\");\n return;\n }\n const { data: newRevision, error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return;\n } else if (!newRevision) {\n showSnackbar(\"Missing entry data in update callback on Create From Entry.\");\n return;\n }\n resetInvalidFieldValues();\n\n updateRecordInCache(newRevision);\n\n showSnackbar(\"A new revision was created!\");\n goToRevision(newRevision.id);\n\n setLoading(false);\n\n return newRevision;\n },\n [model.modelId]\n );\n\n const onChange: FormOnSubmit = (data, form) => {\n if (!params.onChange) {\n return;\n }\n return params.onChange(data, form);\n };\n\n const onSubmit: FormOnSubmit = async (data, form) => {\n const fieldsIds = model.fields.map(item => item.fieldId);\n const formData = pick(data, [...fieldsIds]);\n\n const gqlData = prepareFormData(formData, model.fields);\n if (!entry.id) {\n return createContent(gqlData, form);\n }\n\n const { meta } = entry;\n const { locked: isLocked } = meta || {};\n\n if (!isLocked) {\n return updateContent(entry.id, gqlData);\n }\n\n return createContentFrom(entry.id, gqlData);\n };\n\n const defaultValues = useMemo((): Record<string, any> => {\n const values: Record<string, any> = {};\n /**\n * Assign the default values:\n * * check the settings.defaultValue\n * * check the predefinedValues for selected value\n */\n for (const field of model.fields) {\n /**\n * When checking if defaultValue is set in settings, we do the undefined check because it can be null, 0, empty string, false, etc...\n */\n const { settings, multipleValues = false } = field;\n if (settings && settings.defaultValue !== undefined) {\n /**\n * Special type of field is the boolean one.\n * We MUST set true/false for default value.\n */\n values[field.fieldId] = convertDefaultValue(field, settings.defaultValue);\n continue;\n }\n /**\n * No point in going further if predefined values are not enabled.\n */\n const { predefinedValues } = field;\n if (\n !predefinedValues ||\n !predefinedValues.enabled ||\n Array.isArray(predefinedValues.values) === false\n ) {\n continue;\n }\n /**\n * When field is not a multiple values one, we find the first possible default selected value and set it as field value.\n */\n if (!multipleValues) {\n const selectedValue = predefinedValues.values.find(({ selected }) => {\n return !!selected;\n });\n if (selectedValue) {\n values[field.fieldId] = convertDefaultValue(field, selectedValue.value);\n }\n continue;\n }\n /**\n *\n */\n values[field.fieldId] = predefinedValues.values\n .filter(({ selected }) => !!selected)\n .map(({ value }) => {\n return convertDefaultValue(field, value);\n });\n }\n return values;\n }, [model.modelId]);\n\n return {\n /**\n * If entry is not set or `entry.id` does not exist, it means it's a new entry, so fetch default values.\n */\n data: entry && entry.id ? entry : defaultValues,\n loading,\n setLoading,\n onChange,\n onSubmit,\n invalidFields,\n renderPlugins\n };\n}\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AAEA,IAAAK,qBAAA,GAAAL,OAAA;AAWA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AAEA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,OAAA,GAAAV,OAAA;AACA,IAAAW,UAAA,GAAAX,OAAA;AAEA;AACA;AACA;AACA,IAAMY,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIC,KAAoB,EAAEC,KAAU,EAAgC;EACzF,QAAQD,KAAK,CAACE,IAAI;IACd,KAAK,SAAS;MACV,OAAOC,OAAO,CAACF,KAAK,CAAC;IACzB,KAAK,QAAQ;MACT,OAAOG,MAAM,CAACH,KAAK,CAAC;IACxB;MACI,OAAOA,KAAK;EACpB;AACJ,CAAC;AAwBD,SAASI,QAAQA,CAACC,cAAwC,EAAE;EACxD;AACJ;AACA;EACI,IAAAC,SAAA,GAA0B,IAAAC,eAAQ,EAACF,cAAc,CAAC;IAAAG,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,SAAA;IAA3CK,KAAK,GAAAH,UAAA;IAAEI,QAAQ,GAAAJ,UAAA;EACtB,IAAAK,OAAA,GAAmC,IAAAC,aAAM,EAAC,CAAC;IAAnCC,sBAAsB,GAAAF,OAAA,CAAtBE,sBAAsB;EAE9B,IAAAC,gBAAS,EAAC,YAAM;IACZJ,QAAQ,CAACP,cAAc,CAAC;IAExB,IAAI,CAACA,cAAc,CAACY,EAAE,EAAE;MACpB;IACJ;IAEA,OAAOF,sBAAsB,CAAC,UAAAG,IAAI;MAAA;QAAA,IAAAC,IAAA,OAAAC,kBAAA,CAAAV,OAAA,oBAAAW,oBAAA,CAAAX,OAAA,IAAAY,IAAA,CAAI,SAAAC,QAAMC,MAAM;UAAA,IAAAC,UAAA;UAAA,WAAAJ,oBAAA,CAAAX,OAAA,IAAAgB,IAAA,UAAAC,SAAAC,QAAA;YAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAV,IAAA;cAAA;gBAAAU,QAAA,CAAAV,IAAA;gBAAA,OACrBA,IAAI,CAACM,MAAM,CAAC;cAAA;gBAA/BC,UAAU,GAAAG,QAAA,CAAAE,IAAA;gBAChBlB,QAAQ,CAAC,UAAAD,KAAK,EAAI;kBAAA,IAAAoB,iBAAA;kBACd,WAAAC,cAAA,CAAAtB,OAAA,MAAAsB,cAAA,CAAAtB,OAAA,MAAYC,KAAK;oBAAEsB,IAAI,EAAE,CAAAR,UAAU,aAAVA,UAAU,wBAAAM,iBAAA,GAAVN,UAAU,CAAEd,KAAK,cAAAoB,iBAAA,uBAAjBA,iBAAA,CAAmBE,IAAI,KAAI,CAAC;kBAAC;gBAC1D,CAAC,CAAC;gBAAC,OAAAL,QAAA,CAAAM,MAAA,WACIT,UAAU;cAAA;cAAA;gBAAA,OAAAG,QAAA,CAAAO,IAAA;YAAA;UAAA,GAAAZ,OAAA;QAAA,CACpB;QAAA,iBAAAa,EAAA;UAAA,OAAAjB,IAAA,CAAAkB,KAAA,OAAAC,SAAA;QAAA;MAAA;IAAA,EAAC;EACN,CAAC,EAAE,CAACjC,cAAc,EAAEM,KAAK,CAACM,EAAE,CAAC,CAAC;EAE9B,OAAON,KAAK;AAChB;AAEO,SAAS4B,mBAAmBA,CAACf,MAAiC,EAAuB;EACxF,IAAAgB,SAAA,GAAkB,IAAAC,eAAQ,EAAC,CAAC;IAApBC,KAAK,GAAAF,SAAA,CAALE,KAAK;EACb,IAAAC,UAAA,GAA0C,IAAAC,sBAAS,EAAC,CAAC;IAA7CC,OAAO,GAAAF,UAAA,CAAPE,OAAO;IAAUC,YAAY,GAAAH,UAAA,CAApBI,MAAM;EACvB,IAAAC,aAAA,OAAAvC,eAAA,CAAAC,OAAA,EAAgBoC,YAAY;IAArBG,KAAK,GAAAD,aAAA;EACZ,IAAAE,YAAA,GAAyB,IAAAC,yBAAW,EAAC,CAAC;IAA9BC,YAAY,GAAAF,YAAA,CAAZE,YAAY;EACpB,IAAAC,UAAA,GAA0C,IAAA9C,eAAQ,EAAyB,CAAC,CAAC,CAAC;IAAA+C,UAAA,OAAA7C,eAAA,CAAAC,OAAA,EAAA2C,UAAA;IAAvEE,aAAa,GAAAD,UAAA;IAAEE,gBAAgB,GAAAF,UAAA;EACtC,IAAAG,UAAA,GAA8B,IAAAlD,eAAQ,EAAC,KAAK,CAAC;IAAAmD,UAAA,OAAAjD,eAAA,CAAAC,OAAA,EAAA+C,UAAA;IAAtCE,OAAO,GAAAD,UAAA;IAAEE,UAAU,GAAAF,UAAA;EAC1B,IAAM/C,KAAK,GAAGP,QAAQ,CAACoB,MAAM,CAACb,KAAK,CAAC;EAEpC,IAAAkD,WAAA,GAAkD,IAAAC,kBAAU,EAAC,CAAC;IAAtDC,gBAAgB,GAAAF,WAAA,CAAhBE,gBAAgB;IAAEC,mBAAmB,GAAAH,WAAA,CAAnBG,mBAAmB;EAE7C,IAAMC,aAAa,GAAG,IAAAC,cAAO,EACzB;IAAA,OAAMC,gBAAO,CAACC,MAAM,CAA+B,2BAA2B,CAAC;EAAA,GAC/E,EACJ,CAAC;EAED,IAAMC,YAAY,GAAG,IAAAC,kBAAW,EAC5B,UAAArD,EAAE,EAAI;IACF,IAAMsD,GAAG,GAAGtB,KAAK,CAACuB,GAAG,CAAC,UAAU,CAAC;IACjC,IAAMC,QAAQ,GAAGF,GAAG,gBAAAG,MAAA,CAAgBC,kBAAkB,CAACJ,GAAG,CAAC,IAAK,EAAE;IAClE1B,OAAO,CAAC+B,IAAI,yBAAAF,MAAA,CACgBhC,KAAK,CAACmC,OAAO,UAAAH,MAAA,CAAOC,kBAAkB,CAAC1D,EAAE,CAAC,EAAAyD,MAAA,CAAGD,QAAQ,CACjF,CAAC;EACL,CAAC,EACD,CAACxB,KAAK,CACV,CAAC;EAED,IAAA6B,QAAA,GAAgE,IAAAZ,cAAO,EAAC,YAAM;MAC1E,OAAO;QACHa,cAAc,EAAE,IAAAC,0CAAoB,EAACtC,KAAK,CAAC;QAC3CuC,cAAc,EAAE,IAAAC,0CAAoB,EAACxC,KAAK,CAAC;QAC3CyC,mBAAmB,EAAE,IAAAC,8CAAwB,EAAC1C,KAAK;MACvD,CAAC;IACL,CAAC,EAAE,CAACA,KAAK,CAACmC,OAAO,CAAC,CAAC;IANXE,cAAc,GAAAD,QAAA,CAAdC,cAAc;IAAEE,cAAc,GAAAH,QAAA,CAAdG,cAAc;IAAEE,mBAAmB,GAAAL,QAAA,CAAnBK,mBAAmB;EAQ3D,IAAAE,YAAA,GAAyB,IAAAC,kBAAW,EAGlCP,cAAc,CAAC;IAAAQ,aAAA,OAAA9E,eAAA,CAAAC,OAAA,EAAA2E,YAAA;IAHVG,cAAc,GAAAD,aAAA;EAIrB,IAAAE,aAAA,GAAyB,IAAAH,kBAAW,EAGlCL,cAAc,CAAC;IAAAS,aAAA,OAAAjF,eAAA,CAAAC,OAAA,EAAA+E,aAAA;IAHVE,cAAc,GAAAD,aAAA;EAIrB,IAAAE,aAAA,GAA6B,IAAAN,kBAAW,EAGtCH,mBAAmB,CAAC;IAAAU,aAAA,OAAApF,eAAA,CAAAC,OAAA,EAAAkF,aAAA;IAHfE,kBAAkB,GAAAD,aAAA;;EAKzB;AACJ;AACA;EACI,IAAME,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,MAA4B,EAAW;IAClE,IAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC,KAAK,KAAK,IAAI,CAACA,MAAM,EAAE;MAC5C;IACJ;IACA,IAAMG,MAAM,GAAG,CAACH,MAAM,IAAI,EAAE,EAAEI,MAAM,CAAC,UAACC,GAAG,EAAEC,EAAE,EAAK;MAC9CD,GAAG,CAACC,EAAE,CAACC,OAAO,CAAC,GAAGD,EAAE,CAACE,KAAK;MAC1B,OAAOH,GAAG;IACd,CAAC,EAAE,CAAC,CAA2B,CAAC;IAChC7C,gBAAgB,CAAC;MAAA,OAAM2C,MAAM;IAAA,EAAC;EAClC,CAAC;EAED,IAAMM,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAA,EAAe;IACxCjD,gBAAgB,CAAC;MAAA,OAAO,CAAC,CAAC;IAAA,CAAC,CAAC;EAChC,CAAC;EAED,IAAMkD,aAA2B,GAAG,IAAApC,kBAAW;IAAA,IAAAqC,KAAA,OAAAvF,kBAAA,CAAAV,OAAA,oBAAAW,oBAAA,CAAAX,OAAA,IAAAY,IAAA,CAC3C,SAAAsF,SAAOC,QAAQ,EAAEC,IAAI;MAAA,IAAAC,QAAA,EAAAC,KAAA,EAAArG,KAAA,EAAA6F,KAAA;MAAA,WAAAnF,oBAAA,CAAAX,OAAA,IAAAgB,IAAA,UAAAuF,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAArF,IAAA,GAAAqF,SAAA,CAAAhG,IAAA;UAAA;YACjB0C,UAAU,CAAC,IAAI,CAAC;YAACsD,SAAA,CAAAhG,IAAA;YAAA,OACMsE,cAAc,CAAC;cAClC2B,SAAS,EAAE;gBACPC,IAAI,MAAApF,cAAA,CAAAtB,OAAA,MAAAsB,cAAA,CAAAtB,OAAA,MACGmG,QAAQ;kBACX;AACxB;AACA;AACA;kBACwBQ,eAAe,EAAE;oBACb5C,QAAQ,EAAExB,KAAK,CAACuB,GAAG,CAAC,UAAU,CAAC,IAAI8C;kBACvC;gBAAC;cAET,CAAC;cACDC,WAAW,EAAE,IAAAC,8BAAc,EAAC9E,KAAK;YACrC,CAAC,CAAC;UAAA;YAdIqE,QAAQ,GAAAG,SAAA,CAAApF,IAAA;YAgBd8B,UAAU,CAAC,KAAK,CAAC;;YAEjB;AACZ;AACA;YAFY,IAGKmD,QAAQ,CAACK,IAAI;cAAAF,SAAA,CAAAhG,IAAA;cAAA;YAAA;YACdkC,YAAY,CAAC,wCAAwC,CAAC;YAAC,OAAA8D,SAAA,CAAAhF,MAAA;UAAA;YAAA8E,KAAA,GAG5BD,QAAQ,CAACK,IAAI,CAACK,OAAO,IAAI,CAAC,CAAC,EAA5C9G,KAAK,GAAAqG,KAAA,CAAXI,IAAI,EAASZ,KAAK,GAAAQ,KAAA,CAALR,KAAK;YAAA,KACtBA,KAAK;cAAAU,SAAA,CAAAhG,IAAA;cAAA;YAAA;YACLkC,YAAY,CAACoD,KAAK,CAACkB,OAAO,CAAC;YAC3B3B,qBAAqB,CAACS,KAAK,CAACY,IAA2B,CAAC;YAAC,OAAAF,SAAA,CAAAhF,MAAA;UAAA;YAAA,IAEjDvB,KAAK;cAAAuG,SAAA,CAAAhG,IAAA;cAAA;YAAA;YACbkC,YAAY,CAAC,8CAA8C,CAAC;YAAC,OAAA8D,SAAA,CAAAhF,MAAA;UAAA;YAGjEuE,uBAAuB,CAAC,CAAC;YAEzB,IAAIjF,MAAM,CAACmG,mBAAmB,EAAE;cAC5B5D,gBAAgB,CAACpD,KAAK,CAAC;YAC3B;YAEAyC,YAAY,IAAAsB,MAAA,CAAIhC,KAAK,CAACkF,IAAI,iCAA8B,CAAC;YAAC,MACtD,OAAOpG,MAAM,CAACqG,QAAQ,KAAK,UAAU;cAAAX,SAAA,CAAAhG,IAAA;cAAA;YAAA;YACrCM,MAAM,CAACqG,QAAQ,CAAClH,KAAK,EAAEmG,IAAI,CAAC;YAAC,OAAAI,SAAA,CAAAhF,MAAA,WACtBvB,KAAK;UAAA;YAEhB0D,YAAY,CAAC1D,KAAK,CAACM,EAAE,CAAC;YAAC,OAAAiG,SAAA,CAAAhF,MAAA,WAChBvB,KAAK;UAAA;UAAA;YAAA,OAAAuG,SAAA,CAAA/E,IAAA;QAAA;MAAA,GAAAyE,QAAA;IAAA,CACf;IAAA,iBAAAkB,GAAA,EAAAC,GAAA;MAAA,OAAApB,KAAA,CAAAtE,KAAA,OAAAC,SAAA;IAAA;EAAA,KACD,CAACI,KAAK,CAACmC,OAAO,EAAErD,MAAM,CAACqG,QAAQ,EAAErG,MAAM,CAACmG,mBAAmB,EAAE1E,KAAK,CACtE,CAAC;EAED,IAAM+E,aAAa,GAAG,IAAA1D,kBAAW;IAAA,IAAA2D,KAAA,OAAA7G,kBAAA,CAAAV,OAAA,oBAAAW,oBAAA,CAAAX,OAAA,IAAAY,IAAA,CAC7B,SAAA4G,SAAOC,QAAQ,EAAEf,IAAI;MAAA,IAAAL,QAAA,EAAAP,KAAA,EAAA7F,KAAA;MAAA,WAAAU,oBAAA,CAAAX,OAAA,IAAAgB,IAAA,UAAA0G,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAxG,IAAA,GAAAwG,SAAA,CAAAnH,IAAA;UAAA;YACjB0C,UAAU,CAAC,IAAI,CAAC;YAACyE,SAAA,CAAAnH,IAAA;YAAA,OACMyE,cAAc,CAAC;cAClCwB,SAAS,EAAE;gBAAEgB,QAAQ,EAARA,QAAQ;gBAAEf,IAAI,EAAJA;cAAK,CAAC;cAC7BG,WAAW,EAAE,IAAAC,8BAAc,EAAC9E,KAAK;YACrC,CAAC,CAAC;UAAA;YAHIqE,QAAQ,GAAAsB,SAAA,CAAAvG,IAAA;YAId8B,UAAU,CAAC,KAAK,CAAC;YAAC,IACbmD,QAAQ,CAACK,IAAI;cAAAiB,SAAA,CAAAnH,IAAA;cAAA;YAAA;YACdkC,YAAY,CAAC,iDAAiD,CAAC;YAAC,OAAAiF,SAAA,CAAAnG,MAAA;UAAA;YAI5DsE,KAAK,GAAKO,QAAQ,CAACK,IAAI,CAACK,OAAO,CAA/BjB,KAAK;YAAA,KACTA,KAAK;cAAA6B,SAAA,CAAAnH,IAAA;cAAA;YAAA;YACLkC,YAAY,CAACoD,KAAK,CAACkB,OAAO,CAAC;YAC3B3B,qBAAqB,CAACS,KAAK,CAACY,IAA2B,CAAC;YAAC,OAAAiB,SAAA,CAAAnG,MAAA,WAClD,IAAI;UAAA;YAGfuE,uBAAuB,CAAC,CAAC;YACzBrD,YAAY,CAAC,6BAA6B,CAAC;YAC7BzC,KAAK,GAAKoG,QAAQ,CAACK,IAAI,CAACK,OAAO,CAArCL,IAAI;YAEZpD,mBAAmB,CAACrD,KAAK,CAAC;YAAC,OAAA0H,SAAA,CAAAnG,MAAA,WAEpBvB,KAAK;UAAA;UAAA;YAAA,OAAA0H,SAAA,CAAAlG,IAAA;QAAA;MAAA,GAAA+F,QAAA;IAAA,CACf;IAAA,iBAAAI,GAAA,EAAAC,GAAA;MAAA,OAAAN,KAAA,CAAA5F,KAAA,OAAAC,SAAA;IAAA;EAAA,KACD,CAACI,KAAK,CAACmC,OAAO,CAClB,CAAC;EAED,IAAM2D,iBAAiB,GAAG,IAAAlE,kBAAW;IAAA,IAAAmE,KAAA,OAAArH,kBAAA,CAAAV,OAAA,oBAAAW,oBAAA,CAAAX,OAAA,IAAAY,IAAA,CACjC,SAAAoH,SAAOP,QAAgB,EAAEtB,QAA6B;MAAA,IAAAE,QAAA,EAAA4B,qBAAA,EAAAC,WAAA,EAAApC,KAAA;MAAA,WAAAnF,oBAAA,CAAAX,OAAA,IAAAgB,IAAA,UAAAmH,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAAjH,IAAA,GAAAiH,SAAA,CAAA5H,IAAA;UAAA;YAClD0C,UAAU,CAAC,IAAI,CAAC;YAACkF,SAAA,CAAA5H,IAAA;YAAA,OACM4E,kBAAkB,CAAC;cACtCqB,SAAS,EAAE;gBAAEgB,QAAQ,EAARA,QAAQ;gBAAEf,IAAI,EAAEP;cAAS,CAAC;cACvCU,WAAW,EAAE,IAAAC,8BAAc,EAAC9E,KAAK;YACrC,CAAC,CAAC;UAAA;YAHIqE,QAAQ,GAAA+B,SAAA,CAAAhH,IAAA;YAAA,IAKTiF,QAAQ,CAACK,IAAI;cAAA0B,SAAA,CAAA5H,IAAA;cAAA;YAAA;YACdkC,YAAY,CAAC,gEAAgE,CAAC;YAAC,OAAA0F,SAAA,CAAA5G,MAAA;UAAA;YAAAyG,qBAAA,GAG9C5B,QAAQ,CAACK,IAAI,CAACK,OAAO,EAA5CmB,WAAW,GAAAD,qBAAA,CAAjBvB,IAAI,EAAeZ,KAAK,GAAAmC,qBAAA,CAALnC,KAAK;YAAA,KAC5BA,KAAK;cAAAsC,SAAA,CAAA5H,IAAA;cAAA;YAAA;YACLkC,YAAY,CAACoD,KAAK,CAACkB,OAAO,CAAC;YAC3B3B,qBAAqB,CAACS,KAAK,CAACY,IAA2B,CAAC;YAAC,OAAA0B,SAAA,CAAA5G,MAAA;UAAA;YAAA,IAEjD0G,WAAW;cAAAE,SAAA,CAAA5H,IAAA;cAAA;YAAA;YACnBkC,YAAY,CAAC,6DAA6D,CAAC;YAAC,OAAA0F,SAAA,CAAA5G,MAAA;UAAA;YAGhFuE,uBAAuB,CAAC,CAAC;YAEzBzC,mBAAmB,CAAC4E,WAAW,CAAC;YAEhCxF,YAAY,CAAC,6BAA6B,CAAC;YAC3CiB,YAAY,CAACuE,WAAW,CAAC3H,EAAE,CAAC;YAE5B2C,UAAU,CAAC,KAAK,CAAC;YAAC,OAAAkF,SAAA,CAAA5G,MAAA,WAEX0G,WAAW;UAAA;UAAA;YAAA,OAAAE,SAAA,CAAA3G,IAAA;QAAA;MAAA,GAAAuG,QAAA;IAAA,CACrB;IAAA,iBAAAK,GAAA,EAAAC,GAAA;MAAA,OAAAP,KAAA,CAAApG,KAAA,OAAAC,SAAA;IAAA;EAAA,KACD,CAACI,KAAK,CAACmC,OAAO,CAClB,CAAC;EAED,IAAMoE,QAAsB,GAAG,SAAzBA,QAAsBA,CAAI7B,IAAI,EAAEN,IAAI,EAAK;IAC3C,IAAI,CAACtF,MAAM,CAACyH,QAAQ,EAAE;MAClB;IACJ;IACA,OAAOzH,MAAM,CAACyH,QAAQ,CAAC7B,IAAI,EAAEN,IAAI,CAAC;EACtC,CAAC;EAED,IAAMe,QAAsB;IAAA,IAAAqB,KAAA,OAAA9H,kBAAA,CAAAV,OAAA,oBAAAW,oBAAA,CAAAX,OAAA,IAAAY,IAAA,CAAG,SAAA6H,SAAO/B,IAAI,EAAEN,IAAI;MAAA,IAAAsC,SAAA,EAAAvC,QAAA,EAAAwC,OAAA,EAAApH,IAAA,EAAAqH,KAAA,EAAAC,QAAA;MAAA,WAAAlI,oBAAA,CAAAX,OAAA,IAAAgB,IAAA,UAAA8H,UAAAC,SAAA;QAAA,kBAAAA,SAAA,CAAA5H,IAAA,GAAA4H,SAAA,CAAAvI,IAAA;UAAA;YACtCkI,SAAS,GAAG1G,KAAK,CAACgH,MAAM,CAACC,GAAG,CAAC,UAAAC,IAAI;cAAA,OAAIA,IAAI,CAACrD,OAAO;YAAA,EAAC;YAClDM,QAAQ,GAAG,IAAAgD,aAAI,EAACzC,IAAI,MAAA0C,mBAAA,CAAApJ,OAAA,EAAM0I,SAAS,CAAC,CAAC;YAErCC,OAAO,GAAG,IAAAU,gCAAe,EAAClD,QAAQ,EAAEnE,KAAK,CAACgH,MAAM,CAAC;YAAA,IAClD/I,KAAK,CAACM,EAAE;cAAAwI,SAAA,CAAAvI,IAAA;cAAA;YAAA;YAAA,OAAAuI,SAAA,CAAAvH,MAAA,WACFwE,aAAa,CAAC2C,OAAO,EAAEvC,IAAI,CAAC;UAAA;YAG/B7E,IAAI,GAAKtB,KAAK,CAAdsB,IAAI;YAAAqH,KAAA,GACiBrH,IAAI,IAAI,CAAC,CAAC,EAAvBsH,QAAQ,GAAAD,KAAA,CAAhBU,MAAM;YAAA,IAETT,QAAQ;cAAAE,SAAA,CAAAvI,IAAA;cAAA;YAAA;YAAA,OAAAuI,SAAA,CAAAvH,MAAA,WACF8F,aAAa,CAACrH,KAAK,CAACM,EAAE,EAAEoI,OAAO,CAAC;UAAA;YAAA,OAAAI,SAAA,CAAAvH,MAAA,WAGpCsG,iBAAiB,CAAC7H,KAAK,CAACM,EAAE,EAAEoI,OAAO,CAAC;UAAA;UAAA;YAAA,OAAAI,SAAA,CAAAtH,IAAA;QAAA;MAAA,GAAAgH,QAAA;IAAA,CAC9C;IAAA,gBAjBKtB,QAAsBA,CAAAoC,GAAA,EAAAC,GAAA;MAAA,OAAAhB,KAAA,CAAA7G,KAAA,OAAAC,SAAA;IAAA;EAAA,GAiB3B;EAED,IAAM6H,aAAa,GAAG,IAAAjG,cAAO,EAAC,YAA2B;IACrD,IAAMiC,MAA2B,GAAG,CAAC,CAAC;IACtC;AACR;AACA;AACA;AACA;IAJQ,IAAAiE,SAAA,OAAAC,2BAAA,CAAA3J,OAAA,EAKoBgC,KAAK,CAACgH,MAAM;MAAAY,KAAA;IAAA;MAAA,IAAAC,KAAA,YAAAA,MAAA,EAAE;QAAA,IAAvBxK,KAAK,GAAAuK,KAAA,CAAAtK,KAAA;QACZ;AACZ;AACA;QACY,IAAQwK,QAAQ,GAA6BzK,KAAK,CAA1CyK,QAAQ;UAAAC,qBAAA,GAA6B1K,KAAK,CAAhC2K,cAAc;UAAdA,cAAc,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;QACxC,IAAID,QAAQ,IAAIA,QAAQ,CAACG,YAAY,KAAKC,SAAS,EAAE;UACjD;AAChB;AACA;AACA;UACgBzE,MAAM,CAACpG,KAAK,CAACwG,OAAO,CAAC,GAAGzG,mBAAmB,CAACC,KAAK,EAAEyK,QAAQ,CAACG,YAAY,CAAC;UAAC;QAE9E;QACA;AACZ;AACA;QACY,IAAQE,gBAAgB,GAAK9K,KAAK,CAA1B8K,gBAAgB;QACxB,IACI,CAACA,gBAAgB,IACjB,CAACA,gBAAgB,CAACC,OAAO,IACzB7E,KAAK,CAACC,OAAO,CAAC2E,gBAAgB,CAAC1E,MAAM,CAAC,KAAK,KAAK,EAClD;UAAA;QAEF;QACA;AACZ;AACA;QACY,IAAI,CAACuE,cAAc,EAAE;UACjB,IAAMK,aAAa,GAAGF,gBAAgB,CAAC1E,MAAM,CAAC6E,IAAI,CAAC,UAAAC,KAAA,EAAkB;YAAA,IAAfC,QAAQ,GAAAD,KAAA,CAARC,QAAQ;YAC1D,OAAO,CAAC,CAACA,QAAQ;UACrB,CAAC,CAAC;UACF,IAAIH,aAAa,EAAE;YACf5E,MAAM,CAACpG,KAAK,CAACwG,OAAO,CAAC,GAAGzG,mBAAmB,CAACC,KAAK,EAAEgL,aAAa,CAAC/K,KAAK,CAAC;UAC3E;UAAC;QAEL;QACA;AACZ;AACA;QACYmG,MAAM,CAACpG,KAAK,CAACwG,OAAO,CAAC,GAAGsE,gBAAgB,CAAC1E,MAAM,CAC1CgF,MAAM,CAAC,UAAAC,KAAA;UAAA,IAAGF,QAAQ,GAAAE,KAAA,CAARF,QAAQ;UAAA,OAAO,CAAC,CAACA,QAAQ;QAAA,EAAC,CACpCvB,GAAG,CAAC,UAAA0B,MAAA,EAAe;UAAA,IAAZrL,KAAK,GAAAqL,MAAA,CAALrL,KAAK;UACT,OAAOF,mBAAmB,CAACC,KAAK,EAAEC,KAAK,CAAC;QAC5C,CAAC,CAAC;MACV,CAAC;MA5CD,KAAAoK,SAAA,CAAAkB,CAAA,MAAAhB,KAAA,GAAAF,SAAA,CAAAmB,CAAA,IAAAC,IAAA;QAAA,IAAAC,IAAA,GAAAlB,KAAA;QAAA,IAAAkB,IAAA,iBAWQ;MAAS;IAiChB,SAAAC,GAAA;MAAAtB,SAAA,CAAAuB,CAAA,CAAAD,GAAA;IAAA;MAAAtB,SAAA,CAAAwB,CAAA;IAAA;IACD,OAAOzF,MAAM;EACjB,CAAC,EAAE,CAACzD,KAAK,CAACmC,OAAO,CAAC,CAAC;EAEnB,OAAO;IACH;AACR;AACA;IACQuC,IAAI,EAAEzG,KAAK,IAAIA,KAAK,CAACM,EAAE,GAAGN,KAAK,GAAGwJ,aAAa;IAC/CxG,OAAO,EAAPA,OAAO;IACPC,UAAU,EAAVA,UAAU;IACVqF,QAAQ,EAARA,QAAQ;IACRpB,QAAQ,EAARA,QAAQ;IACRtE,aAAa,EAAbA,aAAa;IACbU,aAAa,EAAbA;EACJ,CAAC;AACL"}
1
+ {"version":3,"names":["_react","require","_pick","_interopRequireDefault","_reactRouter","_useSnackbar2","_appHeadlessCmsCommon","_hooks","_prepareFormData","_plugins","_getFetchPolicy","_appAco","_constants","convertDefaultValue","field","value","type","Boolean","Number","useEntry","entryFromProps","_useState","useState","_useState2","_slicedToArray2","default","entry","setEntry","_useCms","useCms","onEntryRevisionPublish","useEffect","id","next","_ref","_asyncToGenerator2","_regeneratorRuntime2","mark","_callee","params","publishRes","wrap","_callee$","_context","prev","sent","_publishRes$entry","_objectSpread2","meta","abrupt","stop","_x","apply","arguments","useContentEntryForm","_useModel","useModel","model","_useRouter","useRouter","history","routerSearch","search","_routerSearch","query","_useNavigateFolder","useNavigateFolder","currentFolderId","_useSnackbar","useSnackbar","showSnackbar","_useState3","_useState4","invalidFields","setInvalidFields","_useState5","_useState6","loading","setLoading","_useRecords","useRecords","addRecordToCache","updateRecordInCache","renderPlugins","useMemo","plugins","byType","goToRevision","useCallback","fId","get","folderId","concat","encodeURIComponent","push","modelId","_useMemo","CREATE_CONTENT","createCreateMutation","UPDATE_CONTENT","createUpdateMutation","CREATE_CONTENT_FROM","createCreateFromMutation","_useMutation","useMutation","_useMutation2","createMutation","_useMutation3","_useMutation4","updateMutation","_useMutation5","_useMutation6","createFromMutation","setInvalidFieldValues","errors","Array","isArray","values","reduce","acc","er","fieldId","error","resetInvalidFieldValues","createContent","_ref2","_callee2","formData","form","response","_ref3","_callee2$","_context2","variables","data","wbyAco_location","ROOT_FOLDER","fetchPolicy","getFetchPolicy","content","message","addEntryToListCache","name","onSubmit","_x2","_x3","updateContent","_ref4","_callee3","revision","_callee3$","_context3","_x4","_x5","createContentFrom","_ref5","_callee4","_response$data$conten","newRevision","_callee4$","_context4","_x6","_x7","onChange","_ref6","_callee5","fieldsIds","gqlData","_ref7","isLocked","_callee5$","_context5","fields","map","item","pick","_toConsumableArray2","prepareFormData","locked","_x8","_x9","defaultValues","_iterator","_createForOfIteratorHelper2","_step","_loop","settings","_field$multipleValues","multipleValues","defaultValue","undefined","predefinedValues","enabled","selectedValue","find","_ref8","selected","filter","_ref9","_ref10","s","n","done","_ret","err","e","f"],"sources":["useContentEntryForm.ts"],"sourcesContent":["import { Dispatch, SetStateAction, useCallback, useEffect, useMemo, useState } from \"react\";\nimport pick from \"lodash/pick\";\nimport { useRouter } from \"@webiny/react-router\";\nimport { useSnackbar } from \"@webiny/app-admin/hooks/useSnackbar\";\nimport { FormOnSubmit } from \"@webiny/form\";\nimport {\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables,\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables,\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables,\n createCreateFromMutation,\n createCreateMutation,\n createUpdateMutation\n} from \"@webiny/app-headless-cms-common\";\nimport { useCms, useModel, useMutation } from \"~/admin/hooks\";\nimport { prepareFormData } from \"~/admin/views/contentEntries/ContentEntry/prepareFormData\";\nimport { CmsContentEntry, CmsModelFieldRendererPlugin, CmsModelField } from \"~/types\";\nimport { plugins } from \"@webiny/plugins\";\nimport { getFetchPolicy } from \"~/utils/getFetchPolicy\";\nimport { useNavigateFolder, useRecords } from \"@webiny/app-aco\";\nimport { ROOT_FOLDER } from \"~/admin/constants\";\n\n/**\n * Used for some fields to convert their values.\n */\nconst convertDefaultValue = (field: CmsModelField, value: any): string | number | boolean => {\n switch (field.type) {\n case \"boolean\":\n return Boolean(value);\n case \"number\":\n return Number(value);\n default:\n return value;\n }\n};\n\ninterface InvalidFieldError {\n fieldId: string;\n error: string;\n}\n\ninterface UseContentEntryForm {\n data: Record<string, any>;\n loading: boolean;\n setLoading: Dispatch<SetStateAction<boolean>>;\n onChange: FormOnSubmit<CmsContentEntry>;\n onSubmit: FormOnSubmit<CmsContentEntry>;\n invalidFields: Record<string, string>;\n renderPlugins: CmsModelFieldRendererPlugin[];\n}\n\nexport interface UseContentEntryFormParams {\n entry: Partial<CmsContentEntry>;\n onChange?: FormOnSubmit<CmsContentEntry>;\n onSubmit?: FormOnSubmit<CmsContentEntry>;\n addEntryToListCache: boolean;\n}\n\nfunction useEntry(entryFromProps: Partial<CmsContentEntry>) {\n /**\n * We need to keep track of the entry locally\n */\n const [entry, setEntry] = useState(entryFromProps);\n const { onEntryRevisionPublish } = useCms();\n\n useEffect(() => {\n setEntry(entryFromProps);\n\n if (!entryFromProps.id) {\n return;\n }\n\n return onEntryRevisionPublish(next => async params => {\n const publishRes = await next(params);\n setEntry(entry => {\n return { ...entry, meta: publishRes?.entry?.meta || {} };\n });\n return publishRes;\n });\n }, [entryFromProps, entry.id]);\n\n return entry;\n}\n\nexport function useContentEntryForm(params: UseContentEntryFormParams): UseContentEntryForm {\n const { model } = useModel();\n const { history, search: routerSearch } = useRouter();\n const [query] = routerSearch;\n const { currentFolderId } = useNavigateFolder();\n const { showSnackbar } = useSnackbar();\n const [invalidFields, setInvalidFields] = useState<Record<string, string>>({});\n const [loading, setLoading] = useState(false);\n const entry = useEntry(params.entry);\n\n const { addRecordToCache, updateRecordInCache } = useRecords();\n\n const renderPlugins = useMemo(\n () => plugins.byType<CmsModelFieldRendererPlugin>(\"cms-editor-field-renderer\"),\n []\n );\n\n const goToRevision = useCallback(\n id => {\n const fId = query.get(\"folderId\");\n const folderId = fId ? `&folderId=${encodeURIComponent(fId)}` : \"\";\n history.push(\n `/cms/content-entries/${model.modelId}?id=${encodeURIComponent(id)}${folderId}`\n );\n },\n [query]\n );\n\n const { CREATE_CONTENT, UPDATE_CONTENT, CREATE_CONTENT_FROM } = useMemo(() => {\n return {\n CREATE_CONTENT: createCreateMutation(model),\n UPDATE_CONTENT: createUpdateMutation(model),\n CREATE_CONTENT_FROM: createCreateFromMutation(model)\n };\n }, [model.modelId]);\n\n const [createMutation] = useMutation<\n CmsEntryCreateMutationResponse,\n CmsEntryCreateMutationVariables\n >(CREATE_CONTENT);\n const [updateMutation] = useMutation<\n CmsEntryUpdateMutationResponse,\n CmsEntryUpdateMutationVariables\n >(UPDATE_CONTENT);\n const [createFromMutation] = useMutation<\n CmsEntryCreateFromMutationResponse,\n CmsEntryCreateFromMutationVariables\n >(CREATE_CONTENT_FROM);\n\n /**\n * Note that when passing `error.data` variable we cast as InvalidFieldError[] because we know it is so.\n */\n const setInvalidFieldValues = (errors?: InvalidFieldError[]): void => {\n if (Array.isArray(errors) === false || !errors) {\n return;\n }\n const values = (errors || []).reduce((acc, er) => {\n acc[er.fieldId] = er.error;\n return acc;\n }, {} as Record<string, string>);\n setInvalidFields(() => values);\n };\n\n const resetInvalidFieldValues = (): void => {\n setInvalidFields(() => ({}));\n };\n\n const createContent: FormOnSubmit<CmsContentEntry> = useCallback(\n async (formData, form) => {\n setLoading(true);\n const response = await createMutation({\n variables: {\n data: {\n ...formData,\n /**\n * Added for the ACO to work.\n * TODO: introduce hook like onEntryPublish, or similar.\n */\n wbyAco_location: {\n folderId: currentFolderId || ROOT_FOLDER\n }\n }\n },\n fetchPolicy: getFetchPolicy(model)\n });\n\n setLoading(false);\n\n /**\n * Finalize \"create\" process\n */\n if (!response.data) {\n showSnackbar(\"Missing response data in Create Entry.\");\n return;\n }\n const { data: entry, error } = response.data.content || {};\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return;\n } else if (!entry) {\n showSnackbar(\"Missing entry data in Create Entry Response.\");\n return;\n }\n resetInvalidFieldValues();\n\n if (params.addEntryToListCache) {\n addRecordToCache(entry);\n }\n\n showSnackbar(`${model.name} entry created successfully!`);\n if (typeof params.onSubmit === \"function\") {\n params.onSubmit(entry, form);\n return entry;\n }\n goToRevision(entry.id);\n return entry;\n },\n [model.modelId, params.onSubmit, params.addEntryToListCache, query, currentFolderId]\n );\n\n const updateContent = useCallback(\n async (revision, data) => {\n setLoading(true);\n const response = await updateMutation({\n variables: { revision, data },\n fetchPolicy: getFetchPolicy(model)\n });\n setLoading(false);\n if (!response.data) {\n showSnackbar(\"Missing response data on Update Entry Response.\");\n return;\n }\n\n const { error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return null;\n }\n\n resetInvalidFieldValues();\n showSnackbar(\"Content saved successfully.\");\n const { data: entry } = response.data.content;\n\n updateRecordInCache(entry);\n\n return entry;\n },\n [model.modelId]\n );\n\n const createContentFrom = useCallback(\n async (revision: string, formData: Record<string, any>) => {\n setLoading(true);\n const response = await createFromMutation({\n variables: { revision, data: formData },\n fetchPolicy: getFetchPolicy(model)\n });\n\n if (!response.data) {\n showSnackbar(\"Missing data in update callback on Create From Entry Response.\");\n return;\n }\n const { data: newRevision, error } = response.data.content;\n if (error) {\n showSnackbar(error.message);\n setInvalidFieldValues(error.data as InvalidFieldError[]);\n return;\n } else if (!newRevision) {\n showSnackbar(\"Missing entry data in update callback on Create From Entry.\");\n return;\n }\n resetInvalidFieldValues();\n\n updateRecordInCache(newRevision);\n\n showSnackbar(\"A new revision was created!\");\n goToRevision(newRevision.id);\n\n setLoading(false);\n\n return newRevision;\n },\n [model.modelId]\n );\n\n const onChange: FormOnSubmit<CmsContentEntry> = (data, form) => {\n if (!params.onChange) {\n return;\n }\n return params.onChange(data, form);\n };\n\n const onSubmit: FormOnSubmit<CmsContentEntry> = async (data, form) => {\n const fieldsIds = model.fields.map(item => item.fieldId);\n const formData = pick(data, [...fieldsIds]);\n\n const gqlData = prepareFormData(formData, model.fields);\n if (!entry.id) {\n return createContent(gqlData, form);\n }\n\n const { meta } = entry;\n const { locked: isLocked } = meta || {};\n\n if (!isLocked) {\n return updateContent(entry.id, gqlData);\n }\n\n return createContentFrom(entry.id, gqlData);\n };\n\n const defaultValues = useMemo((): Record<string, any> => {\n const values: Record<string, any> = {};\n /**\n * Assign the default values:\n * * check the settings.defaultValue\n * * check the predefinedValues for selected value\n */\n for (const field of model.fields) {\n /**\n * When checking if defaultValue is set in settings, we do the undefined check because it can be null, 0, empty string, false, etc...\n */\n const { settings, multipleValues = false } = field;\n if (settings && settings.defaultValue !== undefined) {\n /**\n * Special type of field is the boolean one.\n * We MUST set true/false for default value.\n */\n values[field.fieldId] = convertDefaultValue(field, settings.defaultValue);\n continue;\n }\n /**\n * No point in going further if predefined values are not enabled.\n */\n const { predefinedValues } = field;\n if (\n !predefinedValues ||\n !predefinedValues.enabled ||\n Array.isArray(predefinedValues.values) === false\n ) {\n continue;\n }\n /**\n * When field is not a multiple values one, we find the first possible default selected value and set it as field value.\n */\n if (!multipleValues) {\n const selectedValue = predefinedValues.values.find(({ selected }) => {\n return !!selected;\n });\n if (selectedValue) {\n values[field.fieldId] = convertDefaultValue(field, selectedValue.value);\n }\n continue;\n }\n /**\n *\n */\n values[field.fieldId] = predefinedValues.values\n .filter(({ selected }) => !!selected)\n .map(({ value }) => {\n return convertDefaultValue(field, value);\n });\n }\n return values;\n }, [model.modelId]);\n\n return {\n /**\n * If entry is not set or `entry.id` does not exist, it means it's a new entry, so fetch default values.\n */\n data: entry && entry.id ? entry : defaultValues,\n loading,\n setLoading,\n onChange,\n onSubmit,\n invalidFields,\n renderPlugins\n };\n}\n"],"mappings":"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"}
@@ -1,45 +1,50 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.LexicalCmsEditor = void 0;
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
  var _lexicalEditor = require("@webiny/lexical-editor");
10
10
  var _reactComposition = require("@webiny/react-composition");
11
11
  var _LexicalEditor = require("@webiny/app-admin/components/LexicalEditor");
12
+ var placeholderStyles = {
13
+ position: "absolute",
14
+ top: 40,
15
+ left: 25
16
+ };
17
+ var contentEditableStyles = {
18
+ minHeight: 200,
19
+ display: "block",
20
+ padding: 10
21
+ };
22
+ var styles = {
23
+ backgroundColor: "#fff",
24
+ border: "1px solid #e1e1e1",
25
+ padding: "10px 14px",
26
+ minHeight: 200,
27
+ maxHeight: 350
28
+ };
29
+ var toolbar = /*#__PURE__*/_react.default.createElement(_reactComposition.CompositionScope, {
30
+ name: "cms"
31
+ }, /*#__PURE__*/_react.default.createElement(_lexicalEditor.StaticToolbar, null));
12
32
  var LexicalCmsEditor = function LexicalCmsEditor(props) {
33
+ var onChange = (0, _react.useCallback)(function (jsonString) {
34
+ if (props !== null && props !== void 0 && props.onChange) {
35
+ props === null || props === void 0 ? void 0 : props.onChange(JSON.parse(jsonString));
36
+ }
37
+ }, [props === null || props === void 0 ? void 0 : props.onChange]);
13
38
  return /*#__PURE__*/_react.default.createElement(_LexicalEditor.LexicalEditor, Object.assign({}, props, {
14
39
  focus: true,
15
40
  value: JSON.stringify(props.value),
16
- onChange: function onChange(jsonString) {
17
- if (props !== null && props !== void 0 && props.onChange) {
18
- props === null || props === void 0 ? void 0 : props.onChange(JSON.parse(jsonString));
19
- }
20
- },
21
- staticToolbar: /*#__PURE__*/_react.default.createElement(_reactComposition.CompositionScope, {
22
- name: "cms"
23
- }, /*#__PURE__*/_react.default.createElement(_lexicalEditor.StaticToolbar, null)),
41
+ onChange: onChange,
42
+ staticToolbar: toolbar,
24
43
  tag: "p",
25
44
  placeholder: (props === null || props === void 0 ? void 0 : props.placeholder) || "Enter your text here...",
26
- placeholderStyles: {
27
- position: "absolute",
28
- top: 90,
29
- left: 25
30
- },
31
- contentEditableStyles: {
32
- minHeight: 200,
33
- display: "block",
34
- padding: 10
35
- },
36
- styles: {
37
- backgroundColor: "#fff",
38
- border: "1px solid #e1e1e1",
39
- padding: "10px 14px",
40
- minHeight: 200,
41
- maxHeight: 350
42
- }
45
+ placeholderStyles: placeholderStyles,
46
+ contentEditableStyles: contentEditableStyles,
47
+ styles: styles
43
48
  }));
44
49
  };
45
50
  exports.LexicalCmsEditor = LexicalCmsEditor;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_lexicalEditor","_reactComposition","_LexicalEditor","LexicalCmsEditor","props","default","createElement","LexicalEditor","Object","assign","focus","value","JSON","stringify","onChange","jsonString","parse","staticToolbar","CompositionScope","name","StaticToolbar","tag","placeholder","placeholderStyles","position","top","left","contentEditableStyles","minHeight","display","padding","styles","backgroundColor","border","maxHeight","exports"],"sources":["LexicalCmsEditor.tsx"],"sourcesContent":["import React from \"react\";\nimport { StaticToolbar } from \"@webiny/lexical-editor\";\nimport { RichTextEditorProps } from \"@webiny/lexical-editor/types\";\nimport { CompositionScope } from \"@webiny/react-composition\";\nimport { LexicalEditor } from \"@webiny/app-admin/components/LexicalEditor\";\n\nexport const LexicalCmsEditor = (props: Omit<RichTextEditorProps, \"theme\">) => {\n return (\n <LexicalEditor\n {...props}\n focus={true}\n value={JSON.stringify(props.value)}\n onChange={(jsonString: string) => {\n if (props?.onChange) {\n props?.onChange(JSON.parse(jsonString));\n }\n }}\n staticToolbar={\n <CompositionScope name={\"cms\"}>\n <StaticToolbar />\n </CompositionScope>\n }\n tag={\"p\"}\n placeholder={props?.placeholder || \"Enter your text here...\"}\n placeholderStyles={{ position: \"absolute\", top: 90, left: 25 }}\n contentEditableStyles={{ minHeight: 200, display: \"block\", padding: 10 }}\n styles={{\n backgroundColor: \"#fff\",\n border: \"1px solid #e1e1e1\",\n padding: \"10px 14px\",\n minHeight: 200,\n maxHeight: 350\n }}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAEO,IAAMI,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAAyC,EAAK;EAC3E,oBACIP,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACJ,cAAA,CAAAK,aAAa,EAAAC,MAAA,CAAAC,MAAA,KACNL,KAAK;IACTM,KAAK,EAAE,IAAK;IACZC,KAAK,EAAEC,IAAI,CAACC,SAAS,CAACT,KAAK,CAACO,KAAK,CAAE;IACnCG,QAAQ,EAAE,SAAAA,SAACC,UAAkB,EAAK;MAC9B,IAAIX,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEU,QAAQ,EAAE;QACjBV,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEU,QAAQ,CAACF,IAAI,CAACI,KAAK,CAACD,UAAU,CAAC,CAAC;MAC3C;IACJ,CAAE;IACFE,aAAa,eACTpB,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACL,iBAAA,CAAAiB,gBAAgB;MAACC,IAAI,EAAE;IAAM,gBAC1BtB,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACN,cAAA,CAAAoB,aAAa,MAAE,CACF,CACrB;IACDC,GAAG,EAAE,GAAI;IACTC,WAAW,EAAE,CAAAlB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEkB,WAAW,KAAI,yBAA0B;IAC7DC,iBAAiB,EAAE;MAAEC,QAAQ,EAAE,UAAU;MAAEC,GAAG,EAAE,EAAE;MAAEC,IAAI,EAAE;IAAG,CAAE;IAC/DC,qBAAqB,EAAE;MAAEC,SAAS,EAAE,GAAG;MAAEC,OAAO,EAAE,OAAO;MAAEC,OAAO,EAAE;IAAG,CAAE;IACzEC,MAAM,EAAE;MACJC,eAAe,EAAE,MAAM;MACvBC,MAAM,EAAE,mBAAmB;MAC3BH,OAAO,EAAE,WAAW;MACpBF,SAAS,EAAE,GAAG;MACdM,SAAS,EAAE;IACf;EAAE,EACL,CAAC;AAEV,CAAC;AAACC,OAAA,CAAAhC,gBAAA,GAAAA,gBAAA"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_lexicalEditor","_reactComposition","_LexicalEditor","placeholderStyles","position","top","left","contentEditableStyles","minHeight","display","padding","styles","backgroundColor","border","maxHeight","toolbar","default","createElement","CompositionScope","name","StaticToolbar","LexicalCmsEditor","props","onChange","useCallback","jsonString","JSON","parse","LexicalEditor","Object","assign","focus","value","stringify","staticToolbar","tag","placeholder","exports"],"sources":["LexicalCmsEditor.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport { StaticToolbar } from \"@webiny/lexical-editor\";\nimport { RichTextEditorProps } from \"@webiny/lexical-editor/types\";\nimport { CompositionScope } from \"@webiny/react-composition\";\nimport { LexicalEditor } from \"@webiny/app-admin/components/LexicalEditor\";\n\nconst placeholderStyles: React.CSSProperties = { position: \"absolute\", top: 40, left: 25 };\n\nconst contentEditableStyles: React.CSSProperties = {\n minHeight: 200,\n display: \"block\",\n padding: 10\n};\n\nconst styles: React.CSSProperties = {\n backgroundColor: \"#fff\",\n border: \"1px solid #e1e1e1\",\n padding: \"10px 14px\",\n minHeight: 200,\n maxHeight: 350\n};\n\nconst toolbar = (\n <CompositionScope name={\"cms\"}>\n <StaticToolbar />\n </CompositionScope>\n);\n\nexport const LexicalCmsEditor = (props: Omit<RichTextEditorProps, \"theme\">) => {\n const onChange = useCallback(\n (jsonString: string) => {\n if (props?.onChange) {\n props?.onChange(JSON.parse(jsonString));\n }\n },\n [props?.onChange]\n );\n\n return (\n <LexicalEditor\n {...props}\n focus={true}\n value={JSON.stringify(props.value)}\n onChange={onChange}\n staticToolbar={toolbar}\n tag={\"p\"}\n placeholder={props?.placeholder || \"Enter your text here...\"}\n placeholderStyles={placeholderStyles}\n contentEditableStyles={contentEditableStyles}\n styles={styles}\n />\n );\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAEA,IAAMI,iBAAsC,GAAG;EAAEC,QAAQ,EAAE,UAAU;EAAEC,GAAG,EAAE,EAAE;EAAEC,IAAI,EAAE;AAAG,CAAC;AAE1F,IAAMC,qBAA0C,GAAG;EAC/CC,SAAS,EAAE,GAAG;EACdC,OAAO,EAAE,OAAO;EAChBC,OAAO,EAAE;AACb,CAAC;AAED,IAAMC,MAA2B,GAAG;EAChCC,eAAe,EAAE,MAAM;EACvBC,MAAM,EAAE,mBAAmB;EAC3BH,OAAO,EAAE,WAAW;EACpBF,SAAS,EAAE,GAAG;EACdM,SAAS,EAAE;AACf,CAAC;AAED,IAAMC,OAAO,gBACTlB,MAAA,CAAAmB,OAAA,CAAAC,aAAA,CAAChB,iBAAA,CAAAiB,gBAAgB;EAACC,IAAI,EAAE;AAAM,gBAC1BtB,MAAA,CAAAmB,OAAA,CAAAC,aAAA,CAACjB,cAAA,CAAAoB,aAAa,MAAE,CACF,CACrB;AAEM,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAAyC,EAAK;EAC3E,IAAMC,QAAQ,GAAG,IAAAC,kBAAW,EACxB,UAACC,UAAkB,EAAK;IACpB,IAAIH,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEC,QAAQ,EAAE;MACjBD,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEC,QAAQ,CAACG,IAAI,CAACC,KAAK,CAACF,UAAU,CAAC,CAAC;IAC3C;EACJ,CAAC,EACD,CAACH,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEC,QAAQ,CACpB,CAAC;EAED,oBACI1B,MAAA,CAAAmB,OAAA,CAAAC,aAAA,CAACf,cAAA,CAAA0B,aAAa,EAAAC,MAAA,CAAAC,MAAA,KACNR,KAAK;IACTS,KAAK,EAAE,IAAK;IACZC,KAAK,EAAEN,IAAI,CAACO,SAAS,CAACX,KAAK,CAACU,KAAK,CAAE;IACnCT,QAAQ,EAAEA,QAAS;IACnBW,aAAa,EAAEnB,OAAQ;IACvBoB,GAAG,EAAE,GAAI;IACTC,WAAW,EAAE,CAAAd,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEc,WAAW,KAAI,yBAA0B;IAC7DjC,iBAAiB,EAAEA,iBAAkB;IACrCI,qBAAqB,EAAEA,qBAAsB;IAC7CI,MAAM,EAAEA;EAAO,EAClB,CAAC;AAEV,CAAC;AAAC0B,OAAA,CAAAhB,gBAAA,GAAAA,gBAAA"}
@@ -18,9 +18,9 @@ var _ReferencesDialog = require("./ReferencesDialog");
18
18
  var _hooks = require("../../../../../hooks");
19
19
  var _appAdmin = require("@webiny/app-admin");
20
20
  var _Loader = require("./Loader");
21
- var _NewReferencedEntryDialog = require("../components/NewReferencedEntryDialog");
22
21
  var _utils = require("@webiny/utils");
23
22
  var _Entries = require("./Entries");
23
+ var _NewReferencedEntryDialog = require("../../components/NewReferencedEntryDialog");
24
24
  var FieldLabel = /*#__PURE__*/(0, _styled.default)("h3", {
25
25
  target: "e11vg9uk0",
26
26
  label: "FieldLabel"
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_styled","_interopRequireDefault","GQL","_Options","_useReferences2","_Entry","_ReferencesDialog","_hooks","_appAdmin","_Loader","_NewReferencedEntryDialog","_utils","_Entries","FieldLabel","styled","target","label","fontSize","fontWeight","borderBottom","marginBottom","paddingBottom","display","justifyContent","OptionsContainer","borderTop","borderRight","backgroundColor","marginLeft","marginRight","Container","border","paddingLeft","width","boxSizing","position","padding","_defineProperty2","default","borderLeft","margin","height","FieldName","RecordCount","color","lineHeight","alignSelf","getRecordCountMessage","count","concat","AdvancedMultipleReferenceField","props","bind","field","_useSnackbar","useSnackbar","showSnackbar","values","useMemo","value","_useState","useState","_useState2","_slicedToArray2","linkEntryDialogModel","setLinkEntryDialogModel","_useState3","_useState4","newEntryDialogModel","setNewEntryDialogModel","_useState5","_useState6","loadedModels","setLoadedModels","_useQuery","useQuery","LIST_CONTENT_MODELS","data","loadingModels","loading","useEffect","_data$listContentMode","listContentModels","error","message","onNewRecord","useCallback","modelId","model","find","console","log","onNewEntryDialogClose","onExistingRecord","onLinkEntryDialogClose","_useReferences","useReferences","perPage","entries","loadingEntries","loadMore","onRemove","id","Array","isArray","_parseIdentifier","parseIdentifier","entryId","onChange","filter","_parseIdentifier2","valueEntryId","models","_field$settings","settings","reduce","collection","ref","push","storeValues","onNewEntryCreate","onMoveUp","index","toTop","length","arr","splice","moveValueUp","onMoveDown","toBottom","moveValueDown","createElement","Fragment","className","AbsoluteLoader","Entries","entry","isFirst","isLast","Entry","placement","key","undefined","Options","onLinkExistingRecord","NewReferencedEntryDialog","onClose","ReferencesDialog","Object","assign","multiple","contentModel","onDialogClose","exports"],"sources":["AdvancedMultipleReferenceField.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport styled from \"@emotion/styled\";\nimport * as GQL from \"~/admin/viewsGraphql\";\nimport {\n BindComponentRenderProp,\n CmsContentEntry,\n CmsModelFieldRendererProps,\n CmsModel\n} from \"~/types\";\nimport { Options } from \"./Options\";\nimport { useReferences } from \"../hooks/useReferences\";\nimport { Entry } from \"./Entry\";\nimport { ReferencesDialog } from \"./ReferencesDialog\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { ListCmsModelsQueryResponse } from \"~/admin/viewsGraphql\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { CmsReferenceValue } from \"~/admin/plugins/fieldRenderers/ref/components/types\";\nimport { AbsoluteLoader as Loader } from \"./Loader\";\nimport { NewReferencedEntryDialog } from \"../components/NewReferencedEntryDialog\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { Entries } from \"./Entries\";\n\nconst FieldLabel = styled(\"h3\")({\n fontSize: 24,\n fontWeight: \"normal\",\n borderBottom: \"1px solid var(--mdc-theme-background)\",\n marginBottom: \"20px\",\n paddingBottom: \"5px\",\n display: \"flex\",\n justifyContent: \"space-between\"\n});\n\nconst OptionsContainer: any = styled(\"div\")({\n borderTop: \"1px solid var(--mdc-theme-on-background)\",\n borderRight: \"1px solid var(--mdc-theme-surface)\",\n backgroundColor: \"var(--mdc-theme-surface)\",\n marginLeft: \"-21px\",\n marginBottom: \"-21px\",\n marginRight: \"-1px\"\n});\n\nconst Container = styled(\"div\")({\n border: \"1px solid var(--mdc-theme-on-background)\",\n paddingLeft: \"10px\",\n width: \"100%\",\n boxSizing: \"border-box\",\n position: \"relative\",\n padding: \"20px 0 20px 20px\",\n backgroundColor: \"var(--mdc-theme-background)\",\n \"&.no-entries\": {\n backgroundColor: \"var(--mdc-theme-surface)\",\n border: \"none\",\n borderLeft: \"3px solid var(--mdc-theme-background)\",\n padding: 0,\n paddingLeft: 10,\n [OptionsContainer]: {\n border: \"none\",\n margin: 0\n }\n },\n \"&.single-entry\": {\n \"> .entries\": {\n height: \"auto\",\n \" > div > div\": {\n position: \"relative !important\" as any\n }\n }\n }\n});\n\nconst FieldName = styled(\"span\")({});\nconst RecordCount = styled(\"span\")({\n color: \"var(--mdc-theme-text-secondary-on-background)\",\n fontSize: \"0.6em\",\n lineHeight: \"100%\",\n alignSelf: \"center\"\n});\n\nconst getRecordCountMessage = (count: number) => {\n switch (count) {\n case 0:\n return \"no records selected\";\n case 1:\n return \"1 record selected\";\n default:\n return `${count} records selected`;\n }\n};\n\ninterface Props extends CmsModelFieldRendererProps {\n bind: BindComponentRenderProp<CmsReferenceValue[] | undefined | null>;\n}\n\nexport const AdvancedMultipleReferenceField: React.VFC<Props> = props => {\n const { bind, field } = props;\n const { showSnackbar } = useSnackbar();\n\n const values = useMemo(() => {\n return bind.value || [];\n }, [bind.value]);\n\n const [linkEntryDialogModel, setLinkEntryDialogModel] = useState<CmsModel | null>(null);\n const [newEntryDialogModel, setNewEntryDialogModel] = useState<CmsModel | null>(null);\n\n const [loadedModels, setLoadedModels] = useState<CmsModel[]>([]);\n\n const { data, loading: loadingModels } = useQuery<ListCmsModelsQueryResponse>(\n GQL.LIST_CONTENT_MODELS\n );\n\n useEffect(() => {\n if (loadingModels || !data?.listContentModels?.data) {\n return;\n } else if (data.listContentModels.error) {\n setLoadedModels([]);\n showSnackbar(data.listContentModels.error.message);\n return;\n }\n setLoadedModels(data.listContentModels.data);\n }, [data]);\n\n const onNewRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setNewEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onNewEntryDialogClose = useCallback(() => {\n setNewEntryDialogModel(null);\n }, [linkEntryDialogModel]);\n\n const onExistingRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setLinkEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onLinkEntryDialogClose = useCallback(() => {\n setLinkEntryDialogModel(null);\n }, []);\n\n const {\n entries,\n loading: loadingEntries,\n loadMore\n } = useReferences({\n values,\n perPage: 10\n });\n\n const onRemove = useCallback(\n (id: string) => {\n if (!values || !Array.isArray(values)) {\n return;\n }\n const { id: entryId } = parseIdentifier(id);\n bind.onChange(\n values.filter(value => {\n const { id: valueEntryId } = parseIdentifier(value.id);\n return valueEntryId !== entryId;\n })\n );\n },\n [entries, values]\n );\n\n const models = useMemo(() => {\n if (!loadedModels || !field.settings?.models || !Array.isArray(field.settings.models)) {\n return [];\n }\n\n return field.settings.models.reduce<CmsModel[]>((collection, ref) => {\n const model = loadedModels.find(model => model.modelId === ref.modelId);\n if (!model) {\n return collection;\n }\n collection.push(model);\n\n return collection;\n }, []);\n }, [loadedModels, entries]);\n\n const storeValues = useCallback(\n (values: CmsReferenceValue[]) => {\n bind.onChange(values);\n return;\n },\n [values]\n );\n\n const onNewEntryCreate = useCallback(\n (data: Partial<CmsContentEntry> | null) => {\n if (!data) {\n console.log(\n `Could not store new entry to the reference field. Missing whole entry.`\n );\n return;\n } else if (!data.id) {\n console.log(\n `Could not store new entry to the reference field. Missing \"id\" value.`\n );\n return;\n } else if (!data.modelId) {\n console.log(\n `Could not store new entry to the reference field. Missing \"modelId\" value.`\n );\n return;\n }\n storeValues(\n values.concat([\n {\n id: data.id,\n modelId: data.modelId\n }\n ])\n );\n },\n [storeValues]\n );\n\n const onMoveUp = useCallback(\n (index: number, toTop?: boolean) => {\n if (values.length === 0) {\n return;\n } else if (toTop) {\n const arr = values.splice(index, 1);\n bind.onChange(arr.concat(values));\n return;\n }\n bind.moveValueUp(index);\n },\n [values]\n );\n const onMoveDown = useCallback(\n (index: number, toBottom?: boolean) => {\n if (values.length === 0) {\n return;\n } else if (toBottom === true) {\n const arr = values.splice(index, 1);\n bind.onChange(values.concat(arr));\n return;\n }\n bind.moveValueDown(index);\n },\n [values]\n );\n\n const loading = loadingEntries || loadingModels;\n\n const message = getRecordCountMessage(values.length);\n\n return (\n <>\n <FieldLabel>\n <FieldName>{field.label}</FieldName>\n <RecordCount>({message})</RecordCount>\n </FieldLabel>\n <Container\n className={\n (entries.length < 1 ? \"no-entries\" : \"has-entries\") +\n (entries.length == 1 ? \" single-entry\" : \"\")\n }\n >\n {loading && <Loader />}\n <Entries entries={entries} loadMore={loadMore}>\n {(entry, index) => {\n const isFirst = index === 0;\n const isLast = index >= values.length - 1;\n const model = loadedModels.find(\n model => model.modelId === entry.model.modelId\n );\n if (!model) {\n return null;\n }\n return (\n <Entry\n model={model}\n placement=\"multiRef\"\n key={`reference-entry-${entry.id}`}\n index={index}\n entry={entry}\n onRemove={onRemove}\n onMoveUp={!isFirst ? onMoveUp : undefined}\n onMoveDown={!isLast ? onMoveDown : undefined}\n />\n );\n }}\n </Entries>\n\n <OptionsContainer>\n <Options\n models={models}\n onNewRecord={onNewRecord}\n onLinkExistingRecord={onExistingRecord}\n />\n\n {newEntryDialogModel && (\n <NewReferencedEntryDialog\n model={newEntryDialogModel}\n onClose={onNewEntryDialogClose}\n onChange={onNewEntryCreate}\n />\n )}\n\n {linkEntryDialogModel && (\n <ReferencesDialog\n {...props}\n multiple={true}\n values={values}\n contentModel={linkEntryDialogModel}\n storeValues={storeValues}\n onDialogClose={onLinkEntryDialogClose}\n />\n )}\n </OptionsContainer>\n </Container>\n </>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_styled","_interopRequireDefault","GQL","_Options","_useReferences2","_Entry","_ReferencesDialog","_hooks","_appAdmin","_Loader","_utils","_Entries","_NewReferencedEntryDialog","FieldLabel","styled","target","label","fontSize","fontWeight","borderBottom","marginBottom","paddingBottom","display","justifyContent","OptionsContainer","borderTop","borderRight","backgroundColor","marginLeft","marginRight","Container","border","paddingLeft","width","boxSizing","position","padding","_defineProperty2","default","borderLeft","margin","height","FieldName","RecordCount","color","lineHeight","alignSelf","getRecordCountMessage","count","concat","AdvancedMultipleReferenceField","props","bind","field","_useSnackbar","useSnackbar","showSnackbar","values","useMemo","value","_useState","useState","_useState2","_slicedToArray2","linkEntryDialogModel","setLinkEntryDialogModel","_useState3","_useState4","newEntryDialogModel","setNewEntryDialogModel","_useState5","_useState6","loadedModels","setLoadedModels","_useQuery","useQuery","LIST_CONTENT_MODELS","data","loadingModels","loading","useEffect","_data$listContentMode","listContentModels","error","message","onNewRecord","useCallback","modelId","model","find","console","log","onNewEntryDialogClose","onExistingRecord","onLinkEntryDialogClose","_useReferences","useReferences","perPage","entries","loadingEntries","loadMore","onRemove","id","Array","isArray","_parseIdentifier","parseIdentifier","entryId","onChange","filter","_parseIdentifier2","valueEntryId","models","_field$settings","settings","reduce","collection","ref","push","storeValues","onNewEntryCreate","onMoveUp","index","toTop","length","arr","splice","moveValueUp","onMoveDown","toBottom","moveValueDown","createElement","Fragment","className","AbsoluteLoader","Entries","entry","isFirst","isLast","Entry","placement","key","undefined","Options","onLinkExistingRecord","NewReferencedEntryDialog","onClose","ReferencesDialog","Object","assign","multiple","contentModel","onDialogClose","exports"],"sources":["AdvancedMultipleReferenceField.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport styled from \"@emotion/styled\";\nimport * as GQL from \"~/admin/viewsGraphql\";\nimport {\n BindComponentRenderProp,\n CmsContentEntry,\n CmsModelFieldRendererProps,\n CmsModel\n} from \"~/types\";\nimport { Options } from \"./Options\";\nimport { useReferences } from \"../hooks/useReferences\";\nimport { Entry } from \"./Entry\";\nimport { ReferencesDialog } from \"./ReferencesDialog\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { ListCmsModelsQueryResponse } from \"~/admin/viewsGraphql\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { CmsReferenceValue } from \"~/admin/plugins/fieldRenderers/ref/components/types\";\nimport { AbsoluteLoader as Loader } from \"./Loader\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { Entries } from \"./Entries\";\nimport { NewReferencedEntryDialog } from \"~/admin/plugins/fieldRenderers/ref/components/NewReferencedEntryDialog\";\n\nconst FieldLabel = styled(\"h3\")({\n fontSize: 24,\n fontWeight: \"normal\",\n borderBottom: \"1px solid var(--mdc-theme-background)\",\n marginBottom: \"20px\",\n paddingBottom: \"5px\",\n display: \"flex\",\n justifyContent: \"space-between\"\n});\n\nconst OptionsContainer: any = styled(\"div\")({\n borderTop: \"1px solid var(--mdc-theme-on-background)\",\n borderRight: \"1px solid var(--mdc-theme-surface)\",\n backgroundColor: \"var(--mdc-theme-surface)\",\n marginLeft: \"-21px\",\n marginBottom: \"-21px\",\n marginRight: \"-1px\"\n});\n\nconst Container = styled(\"div\")({\n border: \"1px solid var(--mdc-theme-on-background)\",\n paddingLeft: \"10px\",\n width: \"100%\",\n boxSizing: \"border-box\",\n position: \"relative\",\n padding: \"20px 0 20px 20px\",\n backgroundColor: \"var(--mdc-theme-background)\",\n \"&.no-entries\": {\n backgroundColor: \"var(--mdc-theme-surface)\",\n border: \"none\",\n borderLeft: \"3px solid var(--mdc-theme-background)\",\n padding: 0,\n paddingLeft: 10,\n [OptionsContainer]: {\n border: \"none\",\n margin: 0\n }\n },\n \"&.single-entry\": {\n \"> .entries\": {\n height: \"auto\",\n \" > div > div\": {\n position: \"relative !important\" as any\n }\n }\n }\n});\n\nconst FieldName = styled(\"span\")({});\nconst RecordCount = styled(\"span\")({\n color: \"var(--mdc-theme-text-secondary-on-background)\",\n fontSize: \"0.6em\",\n lineHeight: \"100%\",\n alignSelf: \"center\"\n});\n\nconst getRecordCountMessage = (count: number) => {\n switch (count) {\n case 0:\n return \"no records selected\";\n case 1:\n return \"1 record selected\";\n default:\n return `${count} records selected`;\n }\n};\n\ninterface Props extends CmsModelFieldRendererProps {\n bind: BindComponentRenderProp<CmsReferenceValue[] | undefined | null>;\n}\n\nexport const AdvancedMultipleReferenceField: React.VFC<Props> = props => {\n const { bind, field } = props;\n const { showSnackbar } = useSnackbar();\n\n const values = useMemo(() => {\n return bind.value || [];\n }, [bind.value]);\n\n const [linkEntryDialogModel, setLinkEntryDialogModel] = useState<CmsModel | null>(null);\n const [newEntryDialogModel, setNewEntryDialogModel] = useState<CmsModel | null>(null);\n\n const [loadedModels, setLoadedModels] = useState<CmsModel[]>([]);\n\n const { data, loading: loadingModels } = useQuery<ListCmsModelsQueryResponse>(\n GQL.LIST_CONTENT_MODELS\n );\n\n useEffect(() => {\n if (loadingModels || !data?.listContentModels?.data) {\n return;\n } else if (data.listContentModels.error) {\n setLoadedModels([]);\n showSnackbar(data.listContentModels.error.message);\n return;\n }\n setLoadedModels(data.listContentModels.data);\n }, [data]);\n\n const onNewRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setNewEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onNewEntryDialogClose = useCallback(() => {\n setNewEntryDialogModel(null);\n }, [linkEntryDialogModel]);\n\n const onExistingRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setLinkEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onLinkEntryDialogClose = useCallback(() => {\n setLinkEntryDialogModel(null);\n }, []);\n\n const {\n entries,\n loading: loadingEntries,\n loadMore\n } = useReferences({\n values,\n perPage: 10\n });\n\n const onRemove = useCallback(\n (id: string) => {\n if (!values || !Array.isArray(values)) {\n return;\n }\n const { id: entryId } = parseIdentifier(id);\n bind.onChange(\n values.filter(value => {\n const { id: valueEntryId } = parseIdentifier(value.id);\n return valueEntryId !== entryId;\n })\n );\n },\n [entries, values]\n );\n\n const models = useMemo(() => {\n if (!loadedModels || !field.settings?.models || !Array.isArray(field.settings.models)) {\n return [];\n }\n\n return field.settings.models.reduce<CmsModel[]>((collection, ref) => {\n const model = loadedModels.find(model => model.modelId === ref.modelId);\n if (!model) {\n return collection;\n }\n collection.push(model);\n\n return collection;\n }, []);\n }, [loadedModels, entries]);\n\n const storeValues = useCallback(\n (values: CmsReferenceValue[]) => {\n bind.onChange(values);\n return;\n },\n [values]\n );\n\n const onNewEntryCreate = useCallback(\n (data: Partial<CmsContentEntry> | null) => {\n if (!data) {\n console.log(\n `Could not store new entry to the reference field. Missing whole entry.`\n );\n return;\n } else if (!data.id) {\n console.log(\n `Could not store new entry to the reference field. Missing \"id\" value.`\n );\n return;\n } else if (!data.modelId) {\n console.log(\n `Could not store new entry to the reference field. Missing \"modelId\" value.`\n );\n return;\n }\n storeValues(\n values.concat([\n {\n id: data.id,\n modelId: data.modelId\n }\n ])\n );\n },\n [storeValues]\n );\n\n const onMoveUp = useCallback(\n (index: number, toTop?: boolean) => {\n if (values.length === 0) {\n return;\n } else if (toTop) {\n const arr = values.splice(index, 1);\n bind.onChange(arr.concat(values));\n return;\n }\n bind.moveValueUp(index);\n },\n [values]\n );\n const onMoveDown = useCallback(\n (index: number, toBottom?: boolean) => {\n if (values.length === 0) {\n return;\n } else if (toBottom === true) {\n const arr = values.splice(index, 1);\n bind.onChange(values.concat(arr));\n return;\n }\n bind.moveValueDown(index);\n },\n [values]\n );\n\n const loading = loadingEntries || loadingModels;\n\n const message = getRecordCountMessage(values.length);\n\n return (\n <>\n <FieldLabel>\n <FieldName>{field.label}</FieldName>\n <RecordCount>({message})</RecordCount>\n </FieldLabel>\n <Container\n className={\n (entries.length < 1 ? \"no-entries\" : \"has-entries\") +\n (entries.length == 1 ? \" single-entry\" : \"\")\n }\n >\n {loading && <Loader />}\n <Entries entries={entries} loadMore={loadMore}>\n {(entry, index) => {\n const isFirst = index === 0;\n const isLast = index >= values.length - 1;\n const model = loadedModels.find(\n model => model.modelId === entry.model.modelId\n );\n if (!model) {\n return null;\n }\n return (\n <Entry\n model={model}\n placement=\"multiRef\"\n key={`reference-entry-${entry.id}`}\n index={index}\n entry={entry}\n onRemove={onRemove}\n onMoveUp={!isFirst ? onMoveUp : undefined}\n onMoveDown={!isLast ? onMoveDown : undefined}\n />\n );\n }}\n </Entries>\n\n <OptionsContainer>\n <Options\n models={models}\n onNewRecord={onNewRecord}\n onLinkExistingRecord={onExistingRecord}\n />\n\n {newEntryDialogModel && (\n <NewReferencedEntryDialog\n model={newEntryDialogModel}\n onClose={onNewEntryDialogClose}\n onChange={onNewEntryCreate}\n />\n )}\n\n {linkEntryDialogModel && (\n <ReferencesDialog\n {...props}\n multiple={true}\n values={values}\n contentModel={linkEntryDialogModel}\n storeValues={storeValues}\n onDialogClose={onLinkEntryDialogClose}\n />\n )}\n </OptionsContainer>\n </Container>\n </>\n );\n};\n"],"mappings":"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"}
@@ -17,7 +17,7 @@ var _hooks = require("../../../../../hooks");
17
17
  var GQL = _interopRequireWildcard(require("../../../../../viewsGraphql"));
18
18
  var _appAdmin = require("@webiny/app-admin");
19
19
  var _Loader = require("./Loader");
20
- var _NewReferencedEntryDialog = require("./NewReferencedEntryDialog");
20
+ var _NewReferencedEntryDialog = require("../../components/NewReferencedEntryDialog");
21
21
  var Container = /*#__PURE__*/(0, _styled.default)("div", {
22
22
  target: "e38futg0",
23
23
  label: "Container"
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_Options","_useReferences2","_Entry","_ReferencesDialog","_styled","_interopRequireDefault","_hooks","GQL","_appAdmin","_Loader","_NewReferencedEntryDialog","Container","styled","target","label","FieldLabel","fontSize","fontWeight","borderBottom","marginBottom","paddingBottom","AdvancedSingleReferenceField","props","bind","field","_useSnackbar","useSnackbar","showSnackbar","_useState","useState","_useState2","_slicedToArray2","default","linkEntryDialogModel","setLinkEntryDialogModel","_useState3","_useState4","newEntryDialogModel","setNewEntryDialogModel","_useState5","_useState6","loadedModels","setLoadedModels","_useQuery","useQuery","LIST_CONTENT_MODELS","data","loadingModels","loading","useEffect","_data$listContentMode","listContentModels","error","message","onNewRecord","useCallback","modelId","model","find","console","log","concat","onNewEntryDialogClose","onExistingRecord","onLinkEntryDialogClose","_useReferences","useReferences","values","value","entries","loadingEntries","onRemove","onChange","models","useMemo","_field$settings","_field$settings2","settings","map","_ref","filter","Boolean","storeValues","_values$","length","id","onNewEntryCreate","initialValue","entry","createElement","Fragment","Loader","Entry","placement","index","Options","onLinkExistingRecord","NewReferencedEntryDialog","onClose","ReferencesDialog","Object","assign","multiple","contentModel","onDialogClose","exports"],"sources":["AdvancedSingleReferenceField.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n BindComponentRenderProp,\n CmsContentEntry,\n CmsModelFieldRendererProps,\n CmsModel\n} from \"~/types\";\nimport { Options } from \"./Options\";\nimport { useReferences } from \"../hooks/useReferences\";\nimport { Entry } from \"./Entry\";\nimport { ReferencesDialog } from \"./ReferencesDialog\";\nimport styled from \"@emotion/styled\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { ListCmsModelsQueryResponse } from \"~/admin/viewsGraphql\";\nimport * as GQL from \"~/admin/viewsGraphql\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { CmsReferenceValue } from \"~/admin/plugins/fieldRenderers/ref/components/types\";\nimport { Loader } from \"./Loader\";\nimport { NewReferencedEntryDialog } from \"~/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog\";\n\nconst Container = styled(\"div\")({});\n\nconst FieldLabel = styled(\"h3\")({\n fontSize: 24,\n fontWeight: \"normal\",\n borderBottom: \"1px solid var(--mdc-theme-background)\",\n marginBottom: \"20px\",\n paddingBottom: \"5px\"\n});\n\ninterface Props extends CmsModelFieldRendererProps {\n bind: BindComponentRenderProp<CmsReferenceValue | null>;\n}\n\nexport const AdvancedSingleReferenceField: React.VFC<Props> = props => {\n const { bind, field } = props;\n const { showSnackbar } = useSnackbar();\n\n const [linkEntryDialogModel, setLinkEntryDialogModel] = useState<CmsModel | null>(null);\n const [newEntryDialogModel, setNewEntryDialogModel] = useState<CmsModel | null>(null);\n const [loadedModels, setLoadedModels] = useState<CmsModel[]>([]);\n\n const { data, loading: loadingModels } = useQuery<ListCmsModelsQueryResponse>(\n GQL.LIST_CONTENT_MODELS\n );\n\n useEffect(() => {\n if (loadingModels || !data?.listContentModels?.data) {\n return;\n } else if (data.listContentModels.error) {\n setLoadedModels([]);\n showSnackbar(data.listContentModels.error.message);\n return;\n }\n setLoadedModels(data.listContentModels.data);\n }, [data]);\n\n const onNewRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setNewEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onNewEntryDialogClose = useCallback(() => {\n setNewEntryDialogModel(null);\n }, [linkEntryDialogModel]);\n\n const onExistingRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setLinkEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onLinkEntryDialogClose = useCallback(() => {\n setLinkEntryDialogModel(null);\n }, []);\n\n const { entries, loading: loadingEntries } = useReferences({\n values: bind.value\n });\n\n const onRemove = useCallback(() => {\n bind.onChange(null);\n }, [entries]);\n\n const models = useMemo(() => {\n if (!loadedModels || !field.settings?.models) {\n return [];\n }\n\n return (field.settings?.models || [])\n .map(({ modelId }) => {\n return loadedModels.find(model => model.modelId === modelId);\n })\n .filter(Boolean) as CmsModel[];\n }, [loadedModels, entries]);\n\n const loading = loadingEntries || loadingModels;\n\n const storeValues = useCallback(\n (values: CmsReferenceValue[]) => {\n if (values.length > 1) {\n console.log(\"More than one value selected. This should never happen.\");\n return;\n } else if (values.length === 0 || !values[0]?.id) {\n bind.onChange(null);\n return;\n }\n bind.onChange(values[0]);\n },\n [bind.value, bind.onChange, entries]\n );\n\n const onNewEntryCreate = useCallback(\n (data: CmsContentEntry | null) => {\n if (!data) {\n console.log(\n `Could not store new entry to the reference field. Missing whole entry.`\n );\n return;\n } else if (!data.id) {\n console.log(\n `Could not store new entry to the reference field. Missing \"id\" value.`\n );\n return;\n } else if (!data.modelId) {\n console.log(\n `Could not store new entry to the reference field. Missing \"modelId\" value.`\n );\n return;\n }\n storeValues([\n {\n id: data.id,\n modelId: data.modelId\n }\n ]);\n },\n [storeValues]\n );\n\n const initialValue = useMemo(() => {\n if (entries.length === 0 || loadedModels.length === 0) {\n return null;\n }\n const entry = entries[0];\n if (!entry) {\n return null;\n }\n const model = loadedModels.find(model => model.modelId === entry.model.modelId);\n if (!model) {\n return null;\n }\n return {\n entry,\n model\n };\n }, [entries, loadedModels]);\n\n return (\n <>\n <FieldLabel>{field.label}</FieldLabel>\n <Container>\n {loading && <Loader />}\n {initialValue && (\n <Entry\n model={initialValue.model}\n placement=\"singleRefField\"\n index={0}\n entry={initialValue.entry}\n onRemove={onRemove}\n />\n )}\n <Options\n models={models}\n onNewRecord={onNewRecord}\n onLinkExistingRecord={onExistingRecord}\n />\n\n {newEntryDialogModel && (\n <NewReferencedEntryDialog\n model={newEntryDialogModel}\n onClose={onNewEntryDialogClose}\n onChange={onNewEntryCreate}\n />\n )}\n\n {linkEntryDialogModel && (\n <ReferencesDialog\n {...props}\n multiple={false}\n values={bind.value ? [bind.value] : []}\n contentModel={linkEntryDialogModel}\n storeValues={storeValues}\n onDialogClose={onLinkEntryDialogClose}\n />\n )}\n </Container>\n </>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_Options","_useReferences2","_Entry","_ReferencesDialog","_styled","_interopRequireDefault","_hooks","GQL","_appAdmin","_Loader","_NewReferencedEntryDialog","Container","styled","target","label","FieldLabel","fontSize","fontWeight","borderBottom","marginBottom","paddingBottom","AdvancedSingleReferenceField","props","bind","field","_useSnackbar","useSnackbar","showSnackbar","_useState","useState","_useState2","_slicedToArray2","default","linkEntryDialogModel","setLinkEntryDialogModel","_useState3","_useState4","newEntryDialogModel","setNewEntryDialogModel","_useState5","_useState6","loadedModels","setLoadedModels","_useQuery","useQuery","LIST_CONTENT_MODELS","data","loadingModels","loading","useEffect","_data$listContentMode","listContentModels","error","message","onNewRecord","useCallback","modelId","model","find","console","log","concat","onNewEntryDialogClose","onExistingRecord","onLinkEntryDialogClose","_useReferences","useReferences","values","value","entries","loadingEntries","onRemove","onChange","models","useMemo","_field$settings","_field$settings2","settings","map","_ref","filter","Boolean","storeValues","_values$","length","id","onNewEntryCreate","initialValue","entry","createElement","Fragment","Loader","Entry","placement","index","Options","onLinkExistingRecord","NewReferencedEntryDialog","onClose","ReferencesDialog","Object","assign","multiple","contentModel","onDialogClose","exports"],"sources":["AdvancedSingleReferenceField.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n BindComponentRenderProp,\n CmsContentEntry,\n CmsModelFieldRendererProps,\n CmsModel\n} from \"~/types\";\nimport { Options } from \"./Options\";\nimport { useReferences } from \"../hooks/useReferences\";\nimport { Entry } from \"./Entry\";\nimport { ReferencesDialog } from \"./ReferencesDialog\";\nimport styled from \"@emotion/styled\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { ListCmsModelsQueryResponse } from \"~/admin/viewsGraphql\";\nimport * as GQL from \"~/admin/viewsGraphql\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { CmsReferenceValue } from \"~/admin/plugins/fieldRenderers/ref/components/types\";\nimport { Loader } from \"./Loader\";\nimport { NewReferencedEntryDialog } from \"~/admin/plugins/fieldRenderers/ref/components/NewReferencedEntryDialog\";\n\nconst Container = styled(\"div\")({});\n\nconst FieldLabel = styled(\"h3\")({\n fontSize: 24,\n fontWeight: \"normal\",\n borderBottom: \"1px solid var(--mdc-theme-background)\",\n marginBottom: \"20px\",\n paddingBottom: \"5px\"\n});\n\ninterface Props extends CmsModelFieldRendererProps {\n bind: BindComponentRenderProp<CmsReferenceValue | null>;\n}\n\nexport const AdvancedSingleReferenceField: React.VFC<Props> = props => {\n const { bind, field } = props;\n const { showSnackbar } = useSnackbar();\n\n const [linkEntryDialogModel, setLinkEntryDialogModel] = useState<CmsModel | null>(null);\n const [newEntryDialogModel, setNewEntryDialogModel] = useState<CmsModel | null>(null);\n const [loadedModels, setLoadedModels] = useState<CmsModel[]>([]);\n\n const { data, loading: loadingModels } = useQuery<ListCmsModelsQueryResponse>(\n GQL.LIST_CONTENT_MODELS\n );\n\n useEffect(() => {\n if (loadingModels || !data?.listContentModels?.data) {\n return;\n } else if (data.listContentModels.error) {\n setLoadedModels([]);\n showSnackbar(data.listContentModels.error.message);\n return;\n }\n setLoadedModels(data.listContentModels.data);\n }, [data]);\n\n const onNewRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setNewEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onNewEntryDialogClose = useCallback(() => {\n setNewEntryDialogModel(null);\n }, [linkEntryDialogModel]);\n\n const onExistingRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setLinkEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onLinkEntryDialogClose = useCallback(() => {\n setLinkEntryDialogModel(null);\n }, []);\n\n const { entries, loading: loadingEntries } = useReferences({\n values: bind.value\n });\n\n const onRemove = useCallback(() => {\n bind.onChange(null);\n }, [entries]);\n\n const models = useMemo(() => {\n if (!loadedModels || !field.settings?.models) {\n return [];\n }\n\n return (field.settings?.models || [])\n .map(({ modelId }) => {\n return loadedModels.find(model => model.modelId === modelId);\n })\n .filter(Boolean) as CmsModel[];\n }, [loadedModels, entries]);\n\n const loading = loadingEntries || loadingModels;\n\n const storeValues = useCallback(\n (values: CmsReferenceValue[]) => {\n if (values.length > 1) {\n console.log(\"More than one value selected. This should never happen.\");\n return;\n } else if (values.length === 0 || !values[0]?.id) {\n bind.onChange(null);\n return;\n }\n bind.onChange(values[0]);\n },\n [bind.value, bind.onChange, entries]\n );\n\n const onNewEntryCreate = useCallback(\n (data: CmsContentEntry | null) => {\n if (!data) {\n console.log(\n `Could not store new entry to the reference field. Missing whole entry.`\n );\n return;\n } else if (!data.id) {\n console.log(\n `Could not store new entry to the reference field. Missing \"id\" value.`\n );\n return;\n } else if (!data.modelId) {\n console.log(\n `Could not store new entry to the reference field. Missing \"modelId\" value.`\n );\n return;\n }\n storeValues([\n {\n id: data.id,\n modelId: data.modelId\n }\n ]);\n },\n [storeValues]\n );\n\n const initialValue = useMemo(() => {\n if (entries.length === 0 || loadedModels.length === 0) {\n return null;\n }\n const entry = entries[0];\n if (!entry) {\n return null;\n }\n const model = loadedModels.find(model => model.modelId === entry.model.modelId);\n if (!model) {\n return null;\n }\n return {\n entry,\n model\n };\n }, [entries, loadedModels]);\n\n return (\n <>\n <FieldLabel>{field.label}</FieldLabel>\n <Container>\n {loading && <Loader />}\n {initialValue && (\n <Entry\n model={initialValue.model}\n placement=\"singleRefField\"\n index={0}\n entry={initialValue.entry}\n onRemove={onRemove}\n />\n )}\n <Options\n models={models}\n onNewRecord={onNewRecord}\n onLinkExistingRecord={onExistingRecord}\n />\n\n {newEntryDialogModel && (\n <NewReferencedEntryDialog\n model={newEntryDialogModel}\n onClose={onNewEntryDialogClose}\n onChange={onNewEntryCreate}\n />\n )}\n\n {linkEntryDialogModel && (\n <ReferencesDialog\n {...props}\n multiple={false}\n values={bind.value ? [bind.value] : []}\n contentModel={linkEntryDialogModel}\n storeValues={storeValues}\n onDialogClose={onLinkEntryDialogClose}\n />\n )}\n </Container>\n </>\n );\n};\n"],"mappings":"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"}