{"version":3,"file":"js/rescript-bundles-resources-resource-new-ab383e9212909afae947.chunk.js","mappings":"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","sources":["webpack://datacenters/./client/app/rescript/bundles/resources/resource-new/ResourceNewForm.res.js","webpack://datacenters/./client/app/rescript/bundles/resources/resource-new/ResourceNew.res.js","webpack://datacenters/./client/app/rescript/bundles/resources/resource-new/ResourceNew__JsBridge.res.js","webpack://datacenters/./client/app/rescript/bundles/resources/resource-new/index.js","webpack://datacenters/./client/app/rescript/libs/Char.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Breadcrumb/Breadcrumb.scss?df00","webpack://datacenters/./client/app/rescript/styleguide/components/Breadcrumb/Breadcrumb.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Link/A.res.js","webpack://datacenters/./client/app/rescript/styleguide/components/Link/Link.scss?ea56"],"sourcesContent":["// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as ID from \"../../../libs/ID.res.js\";\nimport * as Api from \"../../../api/Api.res.js\";\nimport * as Col from \"../../../styleguide/components/Grid/Col/Col.res.js\";\nimport * as Row from \"../../../styleguide/components/Grid/Row/Row.res.js\";\nimport * as Url from \"../../../utils/Url.res.js\";\nimport * as Grid from \"../../../styleguide/components/Grid/Grid.res.js\";\nimport * as Label from \"../../../styleguide/forms/Label/Label.res.js\";\nimport * as Quill from \"../../../bindings/Quill.res.js\";\nimport * as React from \"react\";\nimport * as Button from \"../../../styleguide/components/Button/Button.res.js\";\nimport * as Editor from \"../../../styleguide/forms/Editor/Editor.res.js\";\nimport * as Select from \"../../../styleguide/forms/Select/Select.res.js\";\nimport * as $$Promise from \"../../../bindings/Promise.res.js\";\nimport * as Textarea from \"../../../styleguide/forms/Textarea/Textarea.res.js\";\nimport * as Uploader from \"../../../styleguide/forms/Uploader/Uploader.res.js\";\nimport * as Formality from \"re-formality/src/Formality.res.js\";\nimport * as TextField from \"../../../styleguide/forms/TextField/TextField.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as Belt_Option from \"rescript/lib/es6/belt_Option.js\";\nimport * as Caml_option from \"rescript/lib/es6/caml_option.js\";\nimport * as ErrorMessage from \"../../../styleguide/forms/ErrorMessage/ErrorMessage.res.js\";\nimport * as SentryLogger from \"../../../loggers/SentryLogger.res.js\";\nimport * as Routes_Resource from \"../../../routes/common/Routes_Resource.res.js\";\nimport * as ResourceDocument from \"./ResourceDocument.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ResourceEditFormCss from \"../resource-edit/ResourceEditFormCss.res.js\";\nimport * as IconAdditionalUpload from \"../../../styleguide/icons/IconAdditionalUpload.res.js\";\nimport * as Formality__ReactUpdate from \"re-formality/src/Formality__ReactUpdate.res.js\";\n\nvar validators_resourceCategoryId = {\n strategy: \"OnFirstSuccessOrFirstBlur\",\n validate: (function (input) {\n var match = input.resourceCategoryId;\n if (match === \"\") {\n return {\n TAG: \"Error\",\n _0: \"Resource category is required\"\n };\n } else {\n return {\n TAG: \"Ok\",\n _0: input.resourceCategoryId\n };\n }\n })\n};\n\nvar validators_active = {\n strategy: \"OnFirstSuccessOrFirstBlur\",\n validate: (function (input) {\n var match = input.active;\n if (match === \"\") {\n return {\n TAG: \"Error\",\n _0: \"Active is required\"\n };\n } else {\n return {\n TAG: \"Ok\",\n _0: input.active\n };\n }\n })\n};\n\nvar validators_popular = {\n strategy: \"OnFirstSuccessOrFirstBlur\",\n validate: (function (input) {\n var match = input.popular;\n if (match === \"\") {\n return {\n TAG: \"Error\",\n _0: \"Popular is required\"\n };\n } else {\n return {\n TAG: \"Ok\",\n _0: input.popular\n };\n }\n })\n};\n\nvar validators_metaDescription = {\n strategy: \"OnFirstSuccessOrFirstBlur\",\n validate: (function (input) {\n var length = input.metaDescription.length;\n if (length !== 0) {\n if (length < 50) {\n return {\n TAG: \"Error\",\n _0: \"Meta description must be more than 50 characters.\"\n };\n } else if (length > 500) {\n return {\n TAG: \"Error\",\n _0: \"Meta description must no more than 500 characters.\"\n };\n } else {\n return {\n TAG: \"Ok\",\n _0: input.metaDescription\n };\n }\n } else {\n return {\n TAG: \"Error\",\n _0: \"Meta description is required\"\n };\n }\n })\n};\n\nvar validators_metaTitle = {\n strategy: \"OnFirstSuccessOrFirstBlur\",\n validate: (function (input) {\n var length = input.metaTitle.length;\n if (length !== 0) {\n if (length < 40) {\n return {\n TAG: \"Error\",\n _0: \"Meta title must be more than 40 characters.\"\n };\n } else if (length > 200) {\n return {\n TAG: \"Error\",\n _0: \"Meta title must no more than 200 characters.\"\n };\n } else {\n return {\n TAG: \"Ok\",\n _0: input.metaTitle\n };\n }\n } else {\n return {\n TAG: \"Error\",\n _0: \"Meta title is required\"\n };\n }\n })\n};\n\nvar validators_resourceSummary = {\n strategy: \"OnFirstSuccessOrFirstBlur\",\n validate: (function (input) {\n var length = input.resourceSummary.length;\n if (length !== 0) {\n if (length < 50) {\n return {\n TAG: \"Error\",\n _0: \"Summary must be more than 50 characters.\"\n };\n } else if (length > 200) {\n return {\n TAG: \"Error\",\n _0: \"Summary must be no more than 200 characters.\"\n };\n } else {\n return {\n TAG: \"Ok\",\n _0: input.resourceSummary\n };\n }\n } else {\n return {\n TAG: \"Error\",\n _0: \"Resource summary is required\"\n };\n }\n })\n};\n\nvar validators_title = {\n strategy: \"OnFirstSuccessOrFirstBlur\",\n validate: (function (input) {\n var length = input.title.length;\n if (length !== 0) {\n if (length < 20) {\n return {\n TAG: \"Error\",\n _0: \"Title must be more than 20 characters.\"\n };\n } else if (length > 100) {\n return {\n TAG: \"Error\",\n _0: \"Title must be no more than 100 characters.\"\n };\n } else {\n return {\n TAG: \"Ok\",\n _0: input.title\n };\n }\n } else {\n return {\n TAG: \"Error\",\n _0: \"Title is required.\"\n };\n }\n })\n};\n\nvar validators = {\n resourceCategoryId: validators_resourceCategoryId,\n active: validators_active,\n popular: validators_popular,\n metaDescription: validators_metaDescription,\n metaTitle: validators_metaTitle,\n resourceSummary: validators_resourceSummary,\n title: validators_title\n};\n\nfunction initialFieldsStatuses(_input) {\n return {\n resourceCategoryId: \"Pristine\",\n active: \"Pristine\",\n popular: \"Pristine\",\n metaDescription: \"Pristine\",\n metaTitle: \"Pristine\",\n resourceSummary: \"Pristine\",\n title: \"Pristine\"\n };\n}\n\nfunction initialState(input) {\n return {\n input: input,\n fieldsStatuses: initialFieldsStatuses(input),\n collectionsStatuses: undefined,\n formStatus: \"Editing\",\n submissionStatus: \"NeverSubmitted\"\n };\n}\n\nfunction validateForm(input, validators, fieldsStatuses) {\n var match = fieldsStatuses.resourceCategoryId;\n var tmp;\n tmp = typeof match !== \"object\" ? validators.resourceCategoryId.validate(input) : match._0;\n var match$1 = fieldsStatuses.active;\n var tmp$1;\n tmp$1 = typeof match$1 !== \"object\" ? validators.active.validate(input) : match$1._0;\n var match$2 = fieldsStatuses.popular;\n var tmp$2;\n tmp$2 = typeof match$2 !== \"object\" ? validators.popular.validate(input) : match$2._0;\n var match$3 = fieldsStatuses.metaDescription;\n var tmp$3;\n tmp$3 = typeof match$3 !== \"object\" ? validators.metaDescription.validate(input) : match$3._0;\n var match$4 = fieldsStatuses.metaTitle;\n var tmp$4;\n tmp$4 = typeof match$4 !== \"object\" ? validators.metaTitle.validate(input) : match$4._0;\n var match$5 = fieldsStatuses.resourceSummary;\n var tmp$5;\n tmp$5 = typeof match$5 !== \"object\" ? validators.resourceSummary.validate(input) : match$5._0;\n var match$6 = fieldsStatuses.title;\n var tmp$6;\n tmp$6 = typeof match$6 !== \"object\" ? validators.title.validate(input) : match$6._0;\n var resourceCategoryIdResult = tmp;\n var resourceCategoryIdResult$1;\n if (resourceCategoryIdResult.TAG === \"Ok\") {\n var activeResult = tmp$1;\n if (activeResult.TAG === \"Ok\") {\n var popularResult = tmp$2;\n if (popularResult.TAG === \"Ok\") {\n var metaDescriptionResult = tmp$3;\n if (metaDescriptionResult.TAG === \"Ok\") {\n var metaTitleResult = tmp$4;\n if (metaTitleResult.TAG === \"Ok\") {\n var resourceSummaryResult = tmp$5;\n if (resourceSummaryResult.TAG === \"Ok\") {\n var titleResult = tmp$6;\n if (titleResult.TAG === \"Ok\") {\n return {\n TAG: \"Valid\",\n output: {\n title: titleResult._0,\n resourceSummary: resourceSummaryResult._0,\n metaTitle: metaTitleResult._0,\n metaDescription: metaDescriptionResult._0,\n popular: popularResult._0,\n active: activeResult._0,\n resourceCategoryId: resourceCategoryIdResult._0\n },\n fieldsStatuses: {\n resourceCategoryId: {\n TAG: \"Dirty\",\n _0: resourceCategoryIdResult,\n _1: \"Shown\"\n },\n active: {\n TAG: \"Dirty\",\n _0: activeResult,\n _1: \"Shown\"\n },\n popular: {\n TAG: \"Dirty\",\n _0: popularResult,\n _1: \"Shown\"\n },\n metaDescription: {\n TAG: \"Dirty\",\n _0: metaDescriptionResult,\n _1: \"Shown\"\n },\n metaTitle: {\n TAG: \"Dirty\",\n _0: metaTitleResult,\n _1: \"Shown\"\n },\n resourceSummary: {\n TAG: \"Dirty\",\n _0: resourceSummaryResult,\n _1: \"Shown\"\n },\n title: {\n TAG: \"Dirty\",\n _0: titleResult,\n _1: \"Shown\"\n }\n },\n collectionsStatuses: undefined\n };\n }\n resourceCategoryIdResult$1 = resourceCategoryIdResult;\n } else {\n resourceCategoryIdResult$1 = resourceCategoryIdResult;\n }\n } else {\n resourceCategoryIdResult$1 = resourceCategoryIdResult;\n }\n } else {\n resourceCategoryIdResult$1 = resourceCategoryIdResult;\n }\n } else {\n resourceCategoryIdResult$1 = resourceCategoryIdResult;\n }\n } else {\n resourceCategoryIdResult$1 = resourceCategoryIdResult;\n }\n } else {\n resourceCategoryIdResult$1 = resourceCategoryIdResult;\n }\n return {\n TAG: \"Invalid\",\n fieldsStatuses: {\n resourceCategoryId: {\n TAG: \"Dirty\",\n _0: resourceCategoryIdResult$1,\n _1: \"Shown\"\n },\n active: {\n TAG: \"Dirty\",\n _0: tmp$1,\n _1: \"Shown\"\n },\n popular: {\n TAG: \"Dirty\",\n _0: tmp$2,\n _1: \"Shown\"\n },\n metaDescription: {\n TAG: \"Dirty\",\n _0: tmp$3,\n _1: \"Shown\"\n },\n metaTitle: {\n TAG: \"Dirty\",\n _0: tmp$4,\n _1: \"Shown\"\n },\n resourceSummary: {\n TAG: \"Dirty\",\n _0: tmp$5,\n _1: \"Shown\"\n },\n title: {\n TAG: \"Dirty\",\n _0: tmp$6,\n _1: \"Shown\"\n }\n },\n collectionsStatuses: undefined\n };\n}\n\nfunction useForm(initialInput, onSubmit) {\n var memoizedInitialState = React.useMemo((function () {\n return initialState(initialInput);\n }), [initialInput]);\n var match = Formality__ReactUpdate.useReducer(memoizedInitialState, (function (state, action) {\n if (typeof action !== \"object\") {\n switch (action) {\n case \"BlurResourceCategoryIdField\" :\n var result = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.resourceCategoryId, validators_resourceCategoryId, (function (status) {\n var init = state.fieldsStatuses;\n return {\n resourceCategoryId: status,\n active: init.active,\n popular: init.popular,\n metaDescription: init.metaDescription,\n metaTitle: init.metaTitle,\n resourceSummary: init.resourceSummary,\n title: init.title\n };\n }));\n if (result !== undefined) {\n return {\n TAG: \"Update\",\n _0: {\n input: state.input,\n fieldsStatuses: result,\n collectionsStatuses: state.collectionsStatuses,\n formStatus: state.formStatus,\n submissionStatus: state.submissionStatus\n }\n };\n } else {\n return \"NoUpdate\";\n }\n case \"BlurActiveField\" :\n var result$1 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.active, validators_active, (function (status) {\n var init = state.fieldsStatuses;\n return {\n resourceCategoryId: init.resourceCategoryId,\n active: status,\n popular: init.popular,\n metaDescription: init.metaDescription,\n metaTitle: init.metaTitle,\n resourceSummary: init.resourceSummary,\n title: init.title\n };\n }));\n if (result$1 !== undefined) {\n return {\n TAG: \"Update\",\n _0: {\n input: state.input,\n fieldsStatuses: result$1,\n collectionsStatuses: state.collectionsStatuses,\n formStatus: state.formStatus,\n submissionStatus: state.submissionStatus\n }\n };\n } else {\n return \"NoUpdate\";\n }\n case \"BlurPopularField\" :\n var result$2 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.popular, validators_popular, (function (status) {\n var init = state.fieldsStatuses;\n return {\n resourceCategoryId: init.resourceCategoryId,\n active: init.active,\n popular: status,\n metaDescription: init.metaDescription,\n metaTitle: init.metaTitle,\n resourceSummary: init.resourceSummary,\n title: init.title\n };\n }));\n if (result$2 !== undefined) {\n return {\n TAG: \"Update\",\n _0: {\n input: state.input,\n fieldsStatuses: result$2,\n collectionsStatuses: state.collectionsStatuses,\n formStatus: state.formStatus,\n submissionStatus: state.submissionStatus\n }\n };\n } else {\n return \"NoUpdate\";\n }\n case \"BlurMetaDescriptionField\" :\n var result$3 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.metaDescription, validators_metaDescription, (function (status) {\n var init = state.fieldsStatuses;\n return {\n resourceCategoryId: init.resourceCategoryId,\n active: init.active,\n popular: init.popular,\n metaDescription: status,\n metaTitle: init.metaTitle,\n resourceSummary: init.resourceSummary,\n title: init.title\n };\n }));\n if (result$3 !== undefined) {\n return {\n TAG: \"Update\",\n _0: {\n input: state.input,\n fieldsStatuses: result$3,\n collectionsStatuses: state.collectionsStatuses,\n formStatus: state.formStatus,\n submissionStatus: state.submissionStatus\n }\n };\n } else {\n return \"NoUpdate\";\n }\n case \"BlurMetaTitleField\" :\n var result$4 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.metaTitle, validators_metaTitle, (function (status) {\n var init = state.fieldsStatuses;\n return {\n resourceCategoryId: init.resourceCategoryId,\n active: init.active,\n popular: init.popular,\n metaDescription: init.metaDescription,\n metaTitle: status,\n resourceSummary: init.resourceSummary,\n title: init.title\n };\n }));\n if (result$4 !== undefined) {\n return {\n TAG: \"Update\",\n _0: {\n input: state.input,\n fieldsStatuses: result$4,\n collectionsStatuses: state.collectionsStatuses,\n formStatus: state.formStatus,\n submissionStatus: state.submissionStatus\n }\n };\n } else {\n return \"NoUpdate\";\n }\n case \"BlurResourceSummaryField\" :\n var result$5 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.resourceSummary, validators_resourceSummary, (function (status) {\n var init = state.fieldsStatuses;\n return {\n resourceCategoryId: init.resourceCategoryId,\n active: init.active,\n popular: init.popular,\n metaDescription: init.metaDescription,\n metaTitle: init.metaTitle,\n resourceSummary: status,\n title: init.title\n };\n }));\n if (result$5 !== undefined) {\n return {\n TAG: \"Update\",\n _0: {\n input: state.input,\n fieldsStatuses: result$5,\n collectionsStatuses: state.collectionsStatuses,\n formStatus: state.formStatus,\n submissionStatus: state.submissionStatus\n }\n };\n } else {\n return \"NoUpdate\";\n }\n case \"BlurTitleField\" :\n var result$6 = Formality.validateFieldOnBlurWithValidator(state.input, state.fieldsStatuses.title, validators_title, (function (status) {\n var init = state.fieldsStatuses;\n return {\n resourceCategoryId: init.resourceCategoryId,\n active: init.active,\n popular: init.popular,\n metaDescription: init.metaDescription,\n metaTitle: init.metaTitle,\n resourceSummary: init.resourceSummary,\n title: status\n };\n }));\n if (result$6 !== undefined) {\n return {\n TAG: \"Update\",\n _0: {\n input: state.input,\n fieldsStatuses: result$6,\n collectionsStatuses: state.collectionsStatuses,\n formStatus: state.formStatus,\n submissionStatus: state.submissionStatus\n }\n };\n } else {\n return \"NoUpdate\";\n }\n case \"Submit\" :\n var match = state.formStatus;\n if (typeof match === \"object\" && match.TAG === \"Submitting\") {\n return \"NoUpdate\";\n }\n var match$1 = validateForm(state.input, validators, state.fieldsStatuses);\n if (match$1.TAG !== \"Valid\") {\n return {\n TAG: \"Update\",\n _0: {\n input: state.input,\n fieldsStatuses: match$1.fieldsStatuses,\n collectionsStatuses: match$1.collectionsStatuses,\n formStatus: \"Editing\",\n submissionStatus: \"AttemptedToSubmit\"\n }\n };\n }\n var output = match$1.output;\n var error = state.formStatus;\n var tmp;\n tmp = typeof error !== \"object\" || error.TAG !== \"SubmissionFailed\" ? undefined : Caml_option.some(error._0);\n return {\n TAG: \"UpdateWithSideEffects\",\n _0: {\n input: state.input,\n fieldsStatuses: match$1.fieldsStatuses,\n collectionsStatuses: match$1.collectionsStatuses,\n formStatus: {\n TAG: \"Submitting\",\n _0: tmp\n },\n submissionStatus: \"AttemptedToSubmit\"\n },\n _1: (function (param) {\n var dispatch = param.dispatch;\n onSubmit(output, {\n notifyOnSuccess: (function (input) {\n dispatch({\n TAG: \"SetSubmittedStatus\",\n _0: input\n });\n }),\n notifyOnFailure: (function (error) {\n dispatch({\n TAG: \"SetSubmissionFailedStatus\",\n _0: error\n });\n }),\n reset: (function () {\n dispatch(\"Reset\");\n }),\n dismissSubmissionResult: (function () {\n dispatch(\"DismissSubmissionResult\");\n })\n });\n })\n };\n break;\n case \"DismissSubmissionError\" :\n var match$2 = state.formStatus;\n if (typeof match$2 !== \"object\" || match$2.TAG !== \"SubmissionFailed\") {\n return \"NoUpdate\";\n } else {\n return {\n TAG: \"Update\",\n _0: {\n input: state.input,\n fieldsStatuses: state.fieldsStatuses,\n collectionsStatuses: state.collectionsStatuses,\n formStatus: \"Editing\",\n submissionStatus: state.submissionStatus\n }\n };\n }\n case \"DismissSubmissionResult\" :\n var match$3 = state.formStatus;\n if (typeof match$3 !== \"object\") {\n if (match$3 === \"Editing\") {\n return \"NoUpdate\";\n }\n \n } else if (match$3.TAG === \"Submitting\") {\n return \"NoUpdate\";\n }\n return {\n TAG: \"Update\",\n _0: {\n input: state.input,\n fieldsStatuses: state.fieldsStatuses,\n collectionsStatuses: state.collectionsStatuses,\n formStatus: \"Editing\",\n submissionStatus: state.submissionStatus\n }\n };\n case \"Reset\" :\n return {\n TAG: \"Update\",\n _0: initialState(initialInput)\n };\n \n }\n } else {\n switch (action.TAG) {\n case \"UpdateResourceCategoryIdField\" :\n var nextInput = action._0(state.input);\n return {\n TAG: \"Update\",\n _0: {\n input: nextInput,\n fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput, state.fieldsStatuses.resourceCategoryId, state.submissionStatus, validators_resourceCategoryId, (function (status) {\n var init = state.fieldsStatuses;\n return {\n resourceCategoryId: status,\n active: init.active,\n popular: init.popular,\n metaDescription: init.metaDescription,\n metaTitle: init.metaTitle,\n resourceSummary: init.resourceSummary,\n title: init.title\n };\n })),\n collectionsStatuses: state.collectionsStatuses,\n formStatus: state.formStatus,\n submissionStatus: state.submissionStatus\n }\n };\n case \"UpdateActiveField\" :\n var nextInput$1 = action._0(state.input);\n return {\n TAG: \"Update\",\n _0: {\n input: nextInput$1,\n fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$1, state.fieldsStatuses.active, state.submissionStatus, validators_active, (function (status) {\n var init = state.fieldsStatuses;\n return {\n resourceCategoryId: init.resourceCategoryId,\n active: status,\n popular: init.popular,\n metaDescription: init.metaDescription,\n metaTitle: init.metaTitle,\n resourceSummary: init.resourceSummary,\n title: init.title\n };\n })),\n collectionsStatuses: state.collectionsStatuses,\n formStatus: state.formStatus,\n submissionStatus: state.submissionStatus\n }\n };\n case \"UpdatePopularField\" :\n var nextInput$2 = action._0(state.input);\n return {\n TAG: \"Update\",\n _0: {\n input: nextInput$2,\n fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$2, state.fieldsStatuses.popular, state.submissionStatus, validators_popular, (function (status) {\n var init = state.fieldsStatuses;\n return {\n resourceCategoryId: init.resourceCategoryId,\n active: init.active,\n popular: status,\n metaDescription: init.metaDescription,\n metaTitle: init.metaTitle,\n resourceSummary: init.resourceSummary,\n title: init.title\n };\n })),\n collectionsStatuses: state.collectionsStatuses,\n formStatus: state.formStatus,\n submissionStatus: state.submissionStatus\n }\n };\n case \"UpdateMetaDescriptionField\" :\n var nextInput$3 = action._0(state.input);\n return {\n TAG: \"Update\",\n _0: {\n input: nextInput$3,\n fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$3, state.fieldsStatuses.metaDescription, state.submissionStatus, validators_metaDescription, (function (status) {\n var init = state.fieldsStatuses;\n return {\n resourceCategoryId: init.resourceCategoryId,\n active: init.active,\n popular: init.popular,\n metaDescription: status,\n metaTitle: init.metaTitle,\n resourceSummary: init.resourceSummary,\n title: init.title\n };\n })),\n collectionsStatuses: state.collectionsStatuses,\n formStatus: state.formStatus,\n submissionStatus: state.submissionStatus\n }\n };\n case \"UpdateMetaTitleField\" :\n var nextInput$4 = action._0(state.input);\n return {\n TAG: \"Update\",\n _0: {\n input: nextInput$4,\n fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$4, state.fieldsStatuses.metaTitle, state.submissionStatus, validators_metaTitle, (function (status) {\n var init = state.fieldsStatuses;\n return {\n resourceCategoryId: init.resourceCategoryId,\n active: init.active,\n popular: init.popular,\n metaDescription: init.metaDescription,\n metaTitle: status,\n resourceSummary: init.resourceSummary,\n title: init.title\n };\n })),\n collectionsStatuses: state.collectionsStatuses,\n formStatus: state.formStatus,\n submissionStatus: state.submissionStatus\n }\n };\n case \"UpdateResourceSummaryField\" :\n var nextInput$5 = action._0(state.input);\n return {\n TAG: \"Update\",\n _0: {\n input: nextInput$5,\n fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$5, state.fieldsStatuses.resourceSummary, state.submissionStatus, validators_resourceSummary, (function (status) {\n var init = state.fieldsStatuses;\n return {\n resourceCategoryId: init.resourceCategoryId,\n active: init.active,\n popular: init.popular,\n metaDescription: init.metaDescription,\n metaTitle: init.metaTitle,\n resourceSummary: status,\n title: init.title\n };\n })),\n collectionsStatuses: state.collectionsStatuses,\n formStatus: state.formStatus,\n submissionStatus: state.submissionStatus\n }\n };\n case \"UpdateTitleField\" :\n var nextInput$6 = action._0(state.input);\n return {\n TAG: \"Update\",\n _0: {\n input: nextInput$6,\n fieldsStatuses: Formality.validateFieldOnChangeWithValidator(nextInput$6, state.fieldsStatuses.title, state.submissionStatus, validators_title, (function (status) {\n var init = state.fieldsStatuses;\n return {\n resourceCategoryId: init.resourceCategoryId,\n active: init.active,\n popular: init.popular,\n metaDescription: init.metaDescription,\n metaTitle: init.metaTitle,\n resourceSummary: init.resourceSummary,\n title: status\n };\n })),\n collectionsStatuses: state.collectionsStatuses,\n formStatus: state.formStatus,\n submissionStatus: state.submissionStatus\n }\n };\n case \"SetSubmittedStatus\" :\n var input = action._0;\n if (input !== undefined) {\n return {\n TAG: \"Update\",\n _0: {\n input: input,\n fieldsStatuses: initialFieldsStatuses(input),\n collectionsStatuses: state.collectionsStatuses,\n formStatus: \"Submitted\",\n submissionStatus: state.submissionStatus\n }\n };\n } else {\n return {\n TAG: \"Update\",\n _0: {\n input: state.input,\n fieldsStatuses: initialFieldsStatuses(state.input),\n collectionsStatuses: state.collectionsStatuses,\n formStatus: \"Submitted\",\n submissionStatus: state.submissionStatus\n }\n };\n }\n case \"SetSubmissionFailedStatus\" :\n return {\n TAG: \"Update\",\n _0: {\n input: state.input,\n fieldsStatuses: state.fieldsStatuses,\n collectionsStatuses: state.collectionsStatuses,\n formStatus: {\n TAG: \"SubmissionFailed\",\n _0: action._0\n },\n submissionStatus: state.submissionStatus\n }\n };\n case \"MapSubmissionError\" :\n var map = action._0;\n var error$1 = state.formStatus;\n if (typeof error$1 !== \"object\") {\n return \"NoUpdate\";\n }\n if (error$1.TAG !== \"Submitting\") {\n return {\n TAG: \"Update\",\n _0: {\n input: state.input,\n fieldsStatuses: state.fieldsStatuses,\n collectionsStatuses: state.collectionsStatuses,\n formStatus: {\n TAG: \"SubmissionFailed\",\n _0: map(error$1._0)\n },\n submissionStatus: state.submissionStatus\n }\n };\n }\n var error$2 = error$1._0;\n if (error$2 !== undefined) {\n return {\n TAG: \"Update\",\n _0: {\n input: state.input,\n fieldsStatuses: state.fieldsStatuses,\n collectionsStatuses: state.collectionsStatuses,\n formStatus: {\n TAG: \"Submitting\",\n _0: Caml_option.some(map(Caml_option.valFromOption(error$2)))\n },\n submissionStatus: state.submissionStatus\n }\n };\n } else {\n return \"NoUpdate\";\n }\n \n }\n }\n }));\n var dispatch = match[1];\n var state = match[0];\n var match$1 = state.formStatus;\n var tmp;\n tmp = typeof match$1 !== \"object\" || match$1.TAG !== \"Submitting\" ? false : true;\n return {\n updateResourceCategoryId: (function (nextInputFn, nextValue) {\n dispatch({\n TAG: \"UpdateResourceCategoryIdField\",\n _0: (function (__x) {\n return nextInputFn(__x, nextValue);\n })\n });\n }),\n updateActive: (function (nextInputFn, nextValue) {\n dispatch({\n TAG: \"UpdateActiveField\",\n _0: (function (__x) {\n return nextInputFn(__x, nextValue);\n })\n });\n }),\n updatePopular: (function (nextInputFn, nextValue) {\n dispatch({\n TAG: \"UpdatePopularField\",\n _0: (function (__x) {\n return nextInputFn(__x, nextValue);\n })\n });\n }),\n updateMetaDescription: (function (nextInputFn, nextValue) {\n dispatch({\n TAG: \"UpdateMetaDescriptionField\",\n _0: (function (__x) {\n return nextInputFn(__x, nextValue);\n })\n });\n }),\n updateMetaTitle: (function (nextInputFn, nextValue) {\n dispatch({\n TAG: \"UpdateMetaTitleField\",\n _0: (function (__x) {\n return nextInputFn(__x, nextValue);\n })\n });\n }),\n updateResourceSummary: (function (nextInputFn, nextValue) {\n dispatch({\n TAG: \"UpdateResourceSummaryField\",\n _0: (function (__x) {\n return nextInputFn(__x, nextValue);\n })\n });\n }),\n updateTitle: (function (nextInputFn, nextValue) {\n dispatch({\n TAG: \"UpdateTitleField\",\n _0: (function (__x) {\n return nextInputFn(__x, nextValue);\n })\n });\n }),\n blurResourceCategoryId: (function () {\n dispatch(\"BlurResourceCategoryIdField\");\n }),\n blurActive: (function () {\n dispatch(\"BlurActiveField\");\n }),\n blurPopular: (function () {\n dispatch(\"BlurPopularField\");\n }),\n blurMetaDescription: (function () {\n dispatch(\"BlurMetaDescriptionField\");\n }),\n blurMetaTitle: (function () {\n dispatch(\"BlurMetaTitleField\");\n }),\n blurResourceSummary: (function () {\n dispatch(\"BlurResourceSummaryField\");\n }),\n blurTitle: (function () {\n dispatch(\"BlurTitleField\");\n }),\n resourceCategoryIdResult: Formality.exposeFieldResult(state.fieldsStatuses.resourceCategoryId),\n activeResult: Formality.exposeFieldResult(state.fieldsStatuses.active),\n popularResult: Formality.exposeFieldResult(state.fieldsStatuses.popular),\n metaDescriptionResult: Formality.exposeFieldResult(state.fieldsStatuses.metaDescription),\n metaTitleResult: Formality.exposeFieldResult(state.fieldsStatuses.metaTitle),\n resourceSummaryResult: Formality.exposeFieldResult(state.fieldsStatuses.resourceSummary),\n titleResult: Formality.exposeFieldResult(state.fieldsStatuses.title),\n input: state.input,\n status: state.formStatus,\n dirty: (function () {\n var match = state.fieldsStatuses;\n var tmp = match.resourceCategoryId;\n if (typeof tmp === \"object\") {\n return true;\n }\n var tmp$1 = match.active;\n if (typeof tmp$1 === \"object\") {\n return true;\n }\n var tmp$2 = match.popular;\n if (typeof tmp$2 === \"object\") {\n return true;\n }\n var tmp$3 = match.metaDescription;\n if (typeof tmp$3 === \"object\") {\n return true;\n }\n var tmp$4 = match.metaTitle;\n if (typeof tmp$4 === \"object\") {\n return true;\n }\n var tmp$5 = match.resourceSummary;\n if (typeof tmp$5 === \"object\") {\n return true;\n }\n var tmp$6 = match.title;\n if (typeof tmp$6 !== \"object\") {\n return false;\n } else {\n return true;\n }\n }),\n valid: (function () {\n var match = validateForm(state.input, validators, state.fieldsStatuses);\n if (match.TAG === \"Valid\") {\n return true;\n } else {\n return false;\n }\n }),\n submitting: tmp,\n submit: (function () {\n dispatch(\"Submit\");\n }),\n dismissSubmissionError: (function () {\n dispatch(\"DismissSubmissionError\");\n }),\n dismissSubmissionResult: (function () {\n dispatch(\"DismissSubmissionResult\");\n }),\n mapSubmissionError: (function (map) {\n dispatch({\n TAG: \"MapSubmissionError\",\n _0: map\n });\n }),\n reset: (function () {\n dispatch(\"Reset\");\n })\n };\n}\n\nvar ResourceForm = {\n validators: validators,\n initialFieldsStatuses: initialFieldsStatuses,\n initialCollectionsStatuses: undefined,\n initialState: initialState,\n validateForm: validateForm,\n useForm: useForm\n};\n\nfunction reducer(state, action) {\n if (action.TAG === \"SetDocument\") {\n return {\n document: action._0,\n editorState: state.editorState\n };\n } else {\n return {\n document: state.document,\n editorState: Editor.State.compose(state.editorState, action._0)\n };\n }\n}\n\nfunction ResourceNewForm(props) {\n var categories = props.categories;\n var initialState_editorState = Editor.State.make();\n var initialState = {\n document: undefined,\n editorState: initialState_editorState\n };\n var match = React.useReducer(reducer, initialState);\n var dispatch = match[1];\n var state = match[0];\n var initialInput = React.useMemo((function () {\n var category = Belt_Array.get(categories, 0);\n return {\n title: \"\",\n resourceSummary: \"\",\n metaTitle: \"\",\n metaDescription: \"\",\n popular: \"False\",\n active: \"False\",\n resourceCategoryId: category !== undefined ? ID.toString(category.id) : \"1\"\n };\n }), []);\n var form = useForm(initialInput, (function (output, cb) {\n $$Promise.wait(Api.createNewResource(output.title, output.resourceSummary, document.querySelector(\".ql-editor\").innerHTML, output.metaTitle, output.metaDescription, Belt_Option.getExn(state.document), output.active, output.popular, output.resourceCategoryId), (function (x) {\n if (x.TAG !== \"Ok\") {\n return SentryLogger.error1({\n rootModule: \"ResourceNewForm\",\n subModulePath: /* [] */0,\n value: \"make\",\n fullPath: \"ResourceNewForm.make\"\n }, \"CreateNewResource::Error\", [\n \"Error\",\n cb.notifyOnFailure()\n ]);\n }\n var resource = x._0;\n Url.visit(Routes_Resource.show(resource.slug, resource.categorySlug));\n }));\n }));\n var fieldError = function (field) {\n if (field !== undefined && field.TAG !== \"Ok\") {\n return JsxRuntime.jsx(ErrorMessage.make, {\n children: field._0\n });\n } else {\n return null;\n }\n };\n var containerRef = React.useRef(null);\n var editorRef = React.useRef(undefined);\n React.useEffect((function () {\n var editor = Belt_Option.getExn(Belt_Option.map(Caml_option.nullable_to_opt(containerRef.current), (function (container) {\n return Quill.make(\"Type here...\", undefined, undefined, Quill.resourceToolbarOptions, {}, undefined, container);\n })));\n var listener = function (delta, param) {\n dispatch({\n TAG: \"SetEditorState\",\n _0: delta\n });\n };\n editorRef.current = Caml_option.some(editor);\n editor.on(\"text-change\", listener);\n return (function () {\n editor.off(\"text-change\", listener);\n });\n }), []);\n var match$1 = form.resourceSummaryResult;\n var tmp;\n tmp = match$1 !== undefined && match$1.TAG !== \"Ok\" ? JsxRuntime.jsx(ErrorMessage.make, {\n children: match$1._0\n }) : null;\n var match$2 = state.document;\n var match$3 = form.status;\n var tmp$1;\n tmp$1 = typeof match$3 !== \"object\" || match$3.TAG !== \"SubmissionFailed\" ? null : JsxRuntime.jsxs(Row.make, {\n className: \"row\",\n children: [\n JsxRuntime.jsx(Col.make, {\n md: 3,\n lg: 3,\n children: JsxRuntime.jsx(\"div\", {})\n }),\n JsxRuntime.jsx(Col.make, {\n md: 9,\n lg: 9,\n children: JsxRuntime.jsx(ErrorMessage.make, {\n children: \"Something went wrong.\"\n })\n })\n ]\n });\n var match$4 = state.document;\n return JsxRuntime.jsx(\"form\", {\n children: JsxRuntime.jsxs(Grid.make, {\n className: ResourceEditFormCss.marginGrid,\n children: [\n JsxRuntime.jsxs(Row.make, {\n className: ResourceEditFormCss.marginRow,\n children: [\n JsxRuntime.jsx(Col.make, {\n className: ResourceEditFormCss.labelContainer,\n md: 3,\n lg: 3,\n children: JsxRuntime.jsx(Label.make, {\n forId: \"resource-form--title\",\n children: \"Title\"\n })\n }),\n JsxRuntime.jsxs(Col.make, {\n className: ResourceEditFormCss.flexContainer,\n md: 9,\n lg: 9,\n children: [\n JsxRuntime.jsx(TextField.make, {\n id: \"resource-form--title\",\n value: form.input.title,\n placeholder: \"Add a title for your new resource.\",\n onChange: (function ($$event) {\n form.updateTitle((function (input, value) {\n return {\n title: value,\n resourceSummary: input.resourceSummary,\n metaTitle: input.metaTitle,\n metaDescription: input.metaDescription,\n popular: input.popular,\n active: input.active,\n resourceCategoryId: input.resourceCategoryId\n };\n }), $$event.target.value);\n })\n }),\n fieldError(form.titleResult)\n ]\n })\n ]\n }),\n JsxRuntime.jsxs(Row.make, {\n className: ResourceEditFormCss.marginRow,\n children: [\n JsxRuntime.jsx(Col.make, {\n className: ResourceEditFormCss.labelContainer,\n md: 3,\n lg: 3,\n children: JsxRuntime.jsx(Label.make, {\n forId: \"resource-form--resource-summary\",\n children: \"Summary\"\n })\n }),\n JsxRuntime.jsxs(Col.make, {\n className: ResourceEditFormCss.flexContainer,\n md: 9,\n lg: 9,\n children: [\n JsxRuntime.jsx(Textarea.make, {\n id: \"resource-form--resource-summary\",\n value: form.input.resourceSummary,\n placeholder: \"Add a summary for your resource.\",\n onChange: (function ($$event) {\n form.updateResourceSummary((function (input, value) {\n return {\n title: input.title,\n resourceSummary: value,\n metaTitle: input.metaTitle,\n metaDescription: input.metaDescription,\n popular: input.popular,\n active: input.active,\n resourceCategoryId: input.resourceCategoryId\n };\n }), $$event.target.value);\n })\n }),\n tmp\n ]\n })\n ]\n }),\n JsxRuntime.jsxs(Row.make, {\n className: ResourceEditFormCss.marginRow,\n children: [\n JsxRuntime.jsx(Col.make, {\n className: ResourceEditFormCss.labelContainer,\n md: 3,\n lg: 3,\n children: JsxRuntime.jsx(Label.make, {\n forId: \"resource-form--resource-detail\",\n children: \"Details\"\n })\n }),\n JsxRuntime.jsx(Col.make, {\n className: ResourceEditFormCss.flexContainer,\n md: 9,\n lg: 9,\n children: JsxRuntime.jsx(\"div\", {\n children: JsxRuntime.jsx(Editor.make, {\n ref: containerRef\n }),\n className: ResourceEditFormCss.editor\n })\n })\n ]\n }),\n JsxRuntime.jsxs(Row.make, {\n className: ResourceEditFormCss.marginRow,\n children: [\n JsxRuntime.jsx(Col.make, {\n className: ResourceEditFormCss.labelContainer,\n md: 3,\n lg: 3,\n children: JsxRuntime.jsx(Label.make, {\n forId: \"resource-form--meta-title\",\n children: \"Meta Title\"\n })\n }),\n JsxRuntime.jsxs(Col.make, {\n className: ResourceEditFormCss.flexContainer,\n md: 9,\n lg: 9,\n children: [\n JsxRuntime.jsx(TextField.make, {\n id: \"resource-form--meta-title\",\n value: form.input.metaTitle,\n placeholder: \"Add a meta title.\",\n onChange: (function ($$event) {\n form.updateMetaTitle((function (input, value) {\n return {\n title: input.title,\n resourceSummary: input.resourceSummary,\n metaTitle: value,\n metaDescription: input.metaDescription,\n popular: input.popular,\n active: input.active,\n resourceCategoryId: input.resourceCategoryId\n };\n }), $$event.target.value);\n })\n }),\n fieldError(form.metaTitleResult)\n ]\n })\n ]\n }),\n JsxRuntime.jsxs(Row.make, {\n className: ResourceEditFormCss.marginRow,\n children: [\n JsxRuntime.jsx(Col.make, {\n className: ResourceEditFormCss.labelContainer,\n md: 3,\n lg: 3,\n children: JsxRuntime.jsx(Label.make, {\n forId: \"resource-form--meta-description\",\n children: \"Meta Description\"\n })\n }),\n JsxRuntime.jsxs(Col.make, {\n className: ResourceEditFormCss.flexContainer,\n md: 9,\n lg: 9,\n children: [\n JsxRuntime.jsx(Textarea.make, {\n id: \"resource-form--meta-description\",\n value: form.input.metaDescription,\n placeholder: \"Add a meta description.\",\n onChange: (function ($$event) {\n form.updateMetaDescription((function (input, value) {\n return {\n title: input.title,\n resourceSummary: input.resourceSummary,\n metaTitle: input.metaTitle,\n metaDescription: value,\n popular: input.popular,\n active: input.active,\n resourceCategoryId: input.resourceCategoryId\n };\n }), $$event.target.value);\n })\n }),\n fieldError(form.metaDescriptionResult)\n ]\n })\n ]\n }),\n JsxRuntime.jsxs(Row.make, {\n className: ResourceEditFormCss.marginRow,\n children: [\n JsxRuntime.jsx(Col.make, {\n className: ResourceEditFormCss.labelContainer,\n md: 3,\n lg: 3,\n children: JsxRuntime.jsx(Label.make, {\n forId: \"resource-form--pdf-file\",\n children: \"PDF File\"\n })\n }),\n JsxRuntime.jsxs(Col.make, {\n className: ResourceEditFormCss.flexContainer,\n md: 9,\n lg: 9,\n children: [\n JsxRuntime.jsx(ResourceDocument.make, {\n document: state.document,\n removeDocument: (function (param) {\n dispatch({\n TAG: \"SetDocument\",\n _0: undefined\n });\n })\n }),\n JsxRuntime.jsx(Uploader.make, {\n allowed: [\"Pdf\"],\n multiple: false,\n upload: (function (files) {\n Belt_Array.map(files, (function (file) {\n var match = Uploader.FileType.fromMime(file.type);\n if (match === \"Pdf\") {\n return dispatch({\n TAG: \"SetDocument\",\n _0: Caml_option.some(file)\n });\n }\n \n }));\n }),\n setUploadHandler: (function (prim) {\n \n }),\n children: match$2 !== undefined ? null : JsxRuntime.jsxs(Button.make, {\n size: \"SM\",\n color: \"Teal\",\n buttonClassName: ResourceEditFormCss.uploadDocumentButton,\n children: [\n JsxRuntime.jsx(IconAdditionalUpload.make, {\n size: \"MD\",\n color: \"White\"\n }),\n \"Upload Document\"\n ]\n })\n })\n ]\n })\n ]\n }),\n JsxRuntime.jsxs(Row.make, {\n className: ResourceEditFormCss.marginRow,\n children: [\n JsxRuntime.jsx(Col.make, {\n className: ResourceEditFormCss.labelContainer,\n md: 3,\n lg: 3,\n children: JsxRuntime.jsx(Label.make, {\n forId: \"resource-form--popular\",\n children: \"Popular\"\n })\n }),\n JsxRuntime.jsx(Col.make, {\n className: ResourceEditFormCss.flexContainer,\n md: 9,\n lg: 9,\n children: JsxRuntime.jsxs(Select.make, {\n id: \"resource-form--popular\",\n value: form.input.popular,\n onChange: (function ($$event) {\n form.updatePopular((function (input, value) {\n return {\n title: input.title,\n resourceSummary: input.resourceSummary,\n metaTitle: input.metaTitle,\n metaDescription: input.metaDescription,\n popular: value,\n active: input.active,\n resourceCategoryId: input.resourceCategoryId\n };\n }), $$event.target.value);\n }),\n children: [\n JsxRuntime.jsx(Select.$$Option.make, {\n value: \"false\",\n children: \"False\"\n }, \"popular-false\"),\n JsxRuntime.jsx(Select.$$Option.make, {\n value: \"true\",\n children: \"True\"\n }, \"popular-true\")\n ]\n })\n })\n ]\n }),\n JsxRuntime.jsxs(Row.make, {\n className: ResourceEditFormCss.marginRow,\n children: [\n JsxRuntime.jsx(Col.make, {\n className: ResourceEditFormCss.labelContainer,\n md: 3,\n lg: 3,\n children: JsxRuntime.jsx(Label.make, {\n forId: \"resource-form--active\",\n children: \"Active\"\n })\n }),\n JsxRuntime.jsx(Col.make, {\n className: ResourceEditFormCss.flexContainer,\n md: 9,\n lg: 9,\n children: JsxRuntime.jsxs(Select.make, {\n id: \"resource-form--active\",\n value: form.input.active,\n onChange: (function ($$event) {\n form.updateActive((function (input, value) {\n return {\n title: input.title,\n resourceSummary: input.resourceSummary,\n metaTitle: input.metaTitle,\n metaDescription: input.metaDescription,\n popular: input.popular,\n active: value,\n resourceCategoryId: input.resourceCategoryId\n };\n }), $$event.target.value);\n }),\n children: [\n JsxRuntime.jsx(Select.$$Option.make, {\n value: \"false\",\n children: \"False\"\n }, \"resource-form--active-false\"),\n JsxRuntime.jsx(Select.$$Option.make, {\n value: \"true\",\n children: \"True\"\n }, \"resource-form--active-true\")\n ]\n })\n })\n ]\n }),\n JsxRuntime.jsxs(Row.make, {\n className: ResourceEditFormCss.marginRow,\n children: [\n JsxRuntime.jsx(Col.make, {\n className: ResourceEditFormCss.labelContainer,\n md: 3,\n lg: 3,\n children: JsxRuntime.jsx(Label.make, {\n forId: \"resource-form--resource-category-id\",\n children: \"Category\"\n })\n }),\n JsxRuntime.jsx(Col.make, {\n className: ResourceEditFormCss.flexContainer,\n md: 9,\n lg: 9,\n children: JsxRuntime.jsx(Select.make, {\n id: \"resource-form--category\",\n value: form.input.resourceCategoryId,\n onChange: (function ($$event) {\n form.updateActive((function (input, value) {\n return {\n title: input.title,\n resourceSummary: input.resourceSummary,\n metaTitle: input.metaTitle,\n metaDescription: input.metaDescription,\n popular: input.popular,\n active: input.active,\n resourceCategoryId: value\n };\n }), $$event.target.value);\n }),\n children: Belt_Array.map(categories, (function (category) {\n return JsxRuntime.jsx(Select.$$Option.make, {\n value: ID.toString(category.id),\n children: category.title\n }, \"resource-form--category-\" + ID.toString(category.id));\n }))\n })\n })\n ]\n }),\n tmp$1,\n JsxRuntime.jsxs(Row.make, {\n className: \"row\",\n children: [\n JsxRuntime.jsx(Col.make, {\n md: 3,\n lg: 3,\n children: JsxRuntime.jsx(\"div\", {})\n }),\n JsxRuntime.jsx(Col.make, {\n className: ResourceEditFormCss.buttonCreateContainer,\n md: 4,\n lg: 4,\n children: JsxRuntime.jsx(Button.make, {\n size: \"LG\",\n color: \"Primary\",\n expanded: true,\n disabled: form.submitting,\n visuallyDisabled: match$4 === undefined,\n busy: form.submitting,\n submit: true,\n children: \"Create Resource\"\n })\n }),\n JsxRuntime.jsx(Col.make, {\n md: 5,\n lg: 5,\n children: JsxRuntime.jsx(Button.make, {\n size: \"LG\",\n color: \"White\",\n expanded: true,\n busy: false,\n submit: true,\n onClick: (function (e) {\n e.preventDefault();\n Url.visit(Routes_Resource.Dashboard.index);\n }),\n children: \"Cancel\"\n })\n })\n ]\n })\n ]\n }),\n onSubmit: (function ($$event) {\n $$event.preventDefault();\n form.submit();\n })\n });\n}\n\nvar Css;\n\nvar make = ResourceNewForm;\n\nexport {\n Css ,\n ResourceForm ,\n reducer ,\n make ,\n}\n/* ID Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as H1 from \"../../../styleguide/components/Heading/H1.res.js\";\nimport * as Breadcrumb from \"../../../styleguide/components/Breadcrumb/Breadcrumb.res.js\";\nimport * as ResourceNewForm from \"./ResourceNewForm.res.js\";\nimport * as Routes_Resource from \"../../../routes/common/Routes_Resource.res.js\";\nimport * as DashboardIndexCss from \"../../../styleguide/dashboard/components/views/index/DashboardIndexCss.res.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nfunction ResourceNew(props) {\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(Breadcrumb.make, {\n breadcrumbLinks: [\n {\n linkName: \"Resources Dashboard\",\n linkPath: Routes_Resource.Dashboard.index\n },\n {\n linkName: \"New Resource\",\n linkPath: Routes_Resource.Dashboard.$$new\n }\n ]\n }),\n JsxRuntime.jsx(H1.make, {\n className: DashboardIndexCss.title,\n children: \"New Resource\"\n }),\n JsxRuntime.jsx(ResourceNewForm.make, {\n categories: props.categories\n })\n ],\n className: DashboardIndexCss.layout\n });\n}\n\nvar Css;\n\nvar make = ResourceNew;\n\nexport {\n Css ,\n make ,\n}\n/* H1 Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Caml from \"rescript/lib/es6/caml.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as ResourceNew from \"./ResourceNew.res.js\";\nimport * as Belt_SortArray from \"rescript/lib/es6/belt_SortArray.js\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\nimport * as ResourceCategoryAsFilter from \"../../../models/ResourceCategoryAsFilter.res.js\";\n\nfunction ResourceNew__JsBridge$default(props) {\n return JsxRuntime.jsx(ResourceNew.make, {\n categories: Belt_SortArray.stableSortBy(Belt_Array.map(props.props.categories, ResourceCategoryAsFilter.fromJs), (function (x1, x2) {\n return Caml.string_compare(x1.title, x2.title);\n }))\n });\n}\n\nvar $$default = ResourceNew__JsBridge$default;\n\nexport {\n $$default as default,\n}\n/* ResourceNew Not a pure module */\n","import * as React from 'react';\n\nimport ResourceNew from './ResourceNew__JsBridge.res.js';\n\nexport default ({ ...props }) => <ResourceNew props={props} />;\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar arrow = '\\u279e';\n\nvar middot = '\\u00b7';\n\nvar mdash = '\\u2014';\n\nvar rightCaret = '\\u203a';\n\nvar ampersand = '\\u0026';\n\nvar times = '\\u00D7';\n\nfunction Char$Middot(props) {\n return JsxRuntime.jsx(\"span\", {\n children: \" \" + (middot + \" \"),\n style: {\n padding: \"0 1px\"\n }\n });\n}\n\nvar Middot = {\n make: Char$Middot\n};\n\nfunction Char$RightArrow(props) {\n return JsxRuntime.jsx(\"div\", {\n children: arrow,\n className: props.className\n });\n}\n\nvar RightArrow = {\n make: Char$RightArrow\n};\n\nfunction Char$LeftArrow(props) {\n return JsxRuntime.jsx(\"div\", {\n children: arrow,\n style: {\n transform: \"rotate(180deg)\"\n }\n });\n}\n\nvar LeftArrow = {\n make: Char$LeftArrow\n};\n\nfunction Char$RightCaret(props) {\n return JsxRuntime.jsx(\"span\", {\n children: rightCaret\n });\n}\n\nvar RightCaret = {\n make: Char$RightCaret\n};\n\nfunction Char$Ampersand(props) {\n return JsxRuntime.jsx(\"span\", {\n children: ampersand\n });\n}\n\nvar Ampersand = {\n make: Char$Ampersand\n};\n\nfunction Char$Times(props) {\n return JsxRuntime.jsx(\"span\", {\n children: times\n });\n}\n\nvar Times = {\n make: Char$Times\n};\n\nexport {\n arrow ,\n middot ,\n mdash ,\n rightCaret ,\n ampersand ,\n times ,\n Middot ,\n RightArrow ,\n LeftArrow ,\n RightCaret ,\n Ampersand ,\n Times ,\n}\n/* react/jsx-runtime Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var breadcrumb = \"Breadcrumb__breadcrumb__TR3Ce\";\nexport var breadcrumbContainer = \"Breadcrumb__breadcrumbContainer__qZzsR\";\nexport var breadcrumbLink = \"Breadcrumb__breadcrumbLink__IjnWv\";\nexport var column = \"Breadcrumb__column__9_54C\";\nexport var flex = \"Breadcrumb__flex__ggYBQ\";\nexport var flexColumn = \"Breadcrumb__flexColumn___M5zZ\";\nexport var gap1 = \"Breadcrumb__gap1__Wv9cG\";\nexport var gap2 = \"Breadcrumb__gap2__jG_q6\";\nexport var gap3 = \"Breadcrumb__gap3__hj6fp\";\nexport var gap4 = \"Breadcrumb__gap4__KTKcD\";\nexport var gap5 = \"Breadcrumb__gap5__rLpks\";\nexport var row = \"Breadcrumb__row___yB7b\";","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as A from \"../Link/A.res.js\";\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as Char from \"../../../libs/Char.res.js\";\nimport * as Belt_Array from \"rescript/lib/es6/belt_Array.js\";\nimport * as BreadcrumbScss from \"./Breadcrumb.scss\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar css = BreadcrumbScss;\n\nfunction Breadcrumb(props) {\n var __breadcrumbLinkClassName = props.breadcrumbLinkClassName;\n var __wrapperContainerClassName = props.wrapperContainerClassName;\n var breadcrumbLinks = props.breadcrumbLinks;\n var wrapperContainerClassName = __wrapperContainerClassName !== undefined ? __wrapperContainerClassName : \"\";\n var breadcrumbLinkClassName = __breadcrumbLinkClassName !== undefined ? __breadcrumbLinkClassName : \"\";\n return JsxRuntime.jsx(\"div\", {\n children: Belt_Array.mapWithIndex(breadcrumbLinks, (function (index, breadcrumbLink) {\n return JsxRuntime.jsxs(\"div\", {\n children: [\n JsxRuntime.jsx(A.make, {\n href: breadcrumbLink.linkPath,\n className: Cx.cx([\n css.breadcrumbLink,\n breadcrumbLinkClassName\n ]),\n children: breadcrumbLink.linkName\n }),\n index !== (breadcrumbLinks.length - 1 | 0) ? JsxRuntime.jsx(\"span\", {\n children: JsxRuntime.jsx(Char.RightCaret.make, {})\n }) : null\n ],\n className: css.breadcrumb\n }, String(index));\n })),\n className: Cx.cx([\n css.breadcrumbContainer,\n wrapperContainerClassName\n ])\n });\n}\n\nvar make = Breadcrumb;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// Generated by ReScript, PLEASE EDIT WITH CARE\n\nimport * as Cx from \"rescript-classnames/src/Cx.res.js\";\nimport * as LinkScss from \"./Link.scss\";\nimport * as JsxRuntime from \"react/jsx-runtime\";\n\nvar css = LinkScss;\n\nfunction A(props) {\n var __className = props.className;\n var targetBlank = props.targetBlank;\n var className = __className !== undefined ? __className : \"\";\n return JsxRuntime.jsx(\"a\", {\n children: props.children,\n ref: props.elRef,\n className: Cx.cx([className.length !== 0 ? className : css.link]),\n id: props.id,\n download: props.download,\n href: props.href,\n rel: targetBlank !== undefined && targetBlank ? \"noopener noreferrer\" : undefined,\n target: targetBlank !== undefined && targetBlank ? \"_blank\" : undefined,\n onClick: props.onClick\n });\n}\n\nvar make = A;\n\nexport {\n css ,\n make ,\n}\n/* css Not a pure module */\n","// extracted by mini-css-extract-plugin\nexport var column = \"Link__column__pEN4T\";\nexport var flex = \"Link__flex__yPTqa\";\nexport var flexColumn = \"Link__flexColumn__IRHVb\";\nexport var gap1 = \"Link__gap1__PT0qr\";\nexport var gap2 = \"Link__gap2__nKVKV\";\nexport var gap3 = \"Link__gap3__u0bKM\";\nexport var gap4 = \"Link__gap4__q5jG1\";\nexport var gap5 = \"Link__gap5__IyelJ\";\nexport var link = \"Link__link__Ivmt3\";\nexport var row = \"Link__row__R9iCv\";"],"names":["validators_resourceCategoryId","strategy","validate","input","resourceCategoryId","TAG","_0","validators_active","active","validators_popular","popular","validators_metaDescription","length","metaDescription","validators_metaTitle","metaTitle","validators_resourceSummary","resourceSummary","validators_title","title","validators","initialState","fieldsStatuses","collectionsStatuses","undefined","formStatus","submissionStatus","validateForm","tmp","match","tmp$1","match$1","tmp$2","match$2","tmp$3","match$3","tmp$4","match$4","tmp$5","match$5","tmp$6","match$6","resourceCategoryIdResult$1","resourceCategoryIdResult","activeResult","popularResult","metaDescriptionResult","metaTitleResult","resourceSummaryResult","titleResult","output","_1","useForm","initialInput","onSubmit","memoizedInitialState","React","Formality__ReactUpdate","state","action","result","Formality","status","init","result$1","result$2","result$3","result$4","result$5","result$6","error","Caml_option","param","dispatch","notifyOnSuccess","notifyOnFailure","reset","dismissSubmissionResult","nextInput","nextInput$1","nextInput$2","nextInput$3","nextInput$4","nextInput$5","nextInput$6","map","error$1","error$2","updateResourceCategoryId","nextInputFn","nextValue","__x","updateActive","updatePopular","updateMetaDescription","updateMetaTitle","updateResourceSummary","updateTitle","blurResourceCategoryId","blurActive","blurPopular","blurMetaDescription","blurMetaTitle","blurResourceSummary","blurTitle","dirty","valid","submitting","submit","dismissSubmissionError","mapSubmissionError","reducer","document","editorState","Editor","compose","make","props","categories","form","category","Belt_Array","ID","id","cb","$$Promise","Api","querySelector","innerHTML","Belt_Option","x","SentryLogger","rootModule","subModulePath","value","fullPath","resource","Url","Routes_Resource","slug","categorySlug","fieldError","field","JsxRuntime","ErrorMessage","children","containerRef","editorRef","editor","current","container","Quill","listener","delta","on","off","Row","className","Col","md","lg","Grid","ResourceEditFormCss","Label","forId","TextField","placeholder","onChange","$$event","target","Textarea","ref","ResourceDocument","removeDocument","Uploader","allowed","multiple","upload","files","file","fromMime","type","setUploadHandler","prim","Button","size","color","buttonClassName","IconAdditionalUpload","Select","expanded","disabled","visuallyDisabled","busy","onClick","e","preventDefault","index","Breadcrumb","breadcrumbLinks","linkName","linkPath","$$new","H1","DashboardIndexCss","ResourceNewForm","$$default","ResourceNew","Belt_SortArray","ResourceCategoryAsFilter","x1","x2","Caml","_ref","Object","assign","_objectDestructuringEmpty","mdash","times","Middot","style","padding","RightArrow","LeftArrow","transform","RightCaret","Ampersand","breadcrumb","breadcrumbContainer","breadcrumbLink","column","flex","flexColumn","gap1","gap2","gap3","gap4","gap5","row","css","BreadcrumbScss","__breadcrumbLinkClassName","breadcrumbLinkClassName","__wrapperContainerClassName","wrapperContainerClassName","A","href","Cx","Char","String","LinkScss","__className","targetBlank","elRef","link","download","rel"],"sourceRoot":""}