@clickview/lite 0.0.20-rc.1 → 0.0.20

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 (196) hide show
  1. package/dist/scripts/{bundle-df3f2fe30a.min.js → bundle-0a051d30d1.min.js} +1 -1
  2. package/dist/scripts/bundles.json +1 -1
  3. package/package.json +1 -1
  4. package/dist/css/0.chunk.css.map +0 -1
  5. package/dist/css/1.chunk.css +0 -146
  6. package/dist/css/1.chunk.css.map +0 -1
  7. package/dist/css/11.chunk.css.map +0 -1
  8. package/dist/css/12.chunk.css.map +0 -1
  9. package/dist/css/13.chunk.css.map +0 -1
  10. package/dist/css/14.chunk.css.map +0 -1
  11. package/dist/css/15.chunk.css.map +0 -1
  12. package/dist/css/16.chunk.css.map +0 -1
  13. package/dist/css/17.chunk.css.map +0 -1
  14. package/dist/css/18.chunk.css.map +0 -1
  15. package/dist/css/19.chunk.css.map +0 -1
  16. package/dist/css/21.chunk.css.map +0 -1
  17. package/dist/css/22.chunk.css.map +0 -1
  18. package/dist/css/23.chunk.css.map +0 -1
  19. package/dist/css/24.chunk.css.map +0 -1
  20. package/dist/css/25.chunk.css.map +0 -1
  21. package/dist/css/26.chunk.css.map +0 -1
  22. package/dist/css/27.chunk.css.map +0 -1
  23. package/dist/css/28.chunk.css.map +0 -1
  24. package/dist/css/29.chunk.css.map +0 -1
  25. package/dist/css/3.chunk.css.map +0 -1
  26. package/dist/css/30.chunk.css +0 -32
  27. package/dist/css/30.chunk.css.map +0 -1
  28. package/dist/css/31.chunk.css.map +0 -1
  29. package/dist/css/32.chunk.css +0 -6
  30. package/dist/css/32.chunk.css.map +0 -1
  31. package/dist/css/33.chunk.css +0 -5
  32. package/dist/css/33.chunk.css.map +0 -1
  33. package/dist/css/34.chunk.css.map +0 -1
  34. package/dist/css/36.chunk.css +0 -6
  35. package/dist/css/36.chunk.css.map +0 -1
  36. package/dist/css/37.chunk.css +0 -7
  37. package/dist/css/37.chunk.css.map +0 -1
  38. package/dist/css/38.chunk.css.map +0 -1
  39. package/dist/css/41.chunk.css +0 -38
  40. package/dist/css/41.chunk.css.map +0 -1
  41. package/dist/css/5.chunk.css.map +0 -1
  42. package/dist/css/51.chunk.css +0 -9
  43. package/dist/css/51.chunk.css.map +0 -1
  44. package/dist/css/6.chunk.css.map +0 -1
  45. package/dist/css/7.chunk.css +0 -66
  46. package/dist/css/7.chunk.css.map +0 -1
  47. package/dist/css/lite-app.css.map +0 -1
  48. package/dist/projects/lite/src/polyfills.d.ts +0 -2
  49. package/dist/scripts/0.chunk.js +0 -308
  50. package/dist/scripts/0.chunk.js.map +0 -1
  51. package/dist/scripts/1.chunk.js +0 -623
  52. package/dist/scripts/1.chunk.js.map +0 -1
  53. package/dist/scripts/10.chunk.js +0 -530
  54. package/dist/scripts/10.chunk.js.map +0 -1
  55. package/dist/scripts/11.chunk.js +0 -380
  56. package/dist/scripts/11.chunk.js.map +0 -1
  57. package/dist/scripts/12.chunk.js +0 -434
  58. package/dist/scripts/12.chunk.js.map +0 -1
  59. package/dist/scripts/13.chunk.js +0 -1287
  60. package/dist/scripts/13.chunk.js.map +0 -1
  61. package/dist/scripts/14.chunk.js +0 -575
  62. package/dist/scripts/14.chunk.js.map +0 -1
  63. package/dist/scripts/15.chunk.js +0 -806
  64. package/dist/scripts/15.chunk.js.map +0 -1
  65. package/dist/scripts/16.chunk.js +0 -482
  66. package/dist/scripts/16.chunk.js.map +0 -1
  67. package/dist/scripts/17.chunk.js +0 -428
  68. package/dist/scripts/17.chunk.js.map +0 -1
  69. package/dist/scripts/18.chunk.js +0 -766
  70. package/dist/scripts/18.chunk.js.map +0 -1
  71. package/dist/scripts/19.chunk.js +0 -647
  72. package/dist/scripts/19.chunk.js.map +0 -1
  73. package/dist/scripts/2.chunk.js +0 -18882
  74. package/dist/scripts/2.chunk.js.map +0 -1
  75. package/dist/scripts/20.chunk.js +0 -212
  76. package/dist/scripts/20.chunk.js.map +0 -1
  77. package/dist/scripts/21.chunk.js +0 -1591
  78. package/dist/scripts/21.chunk.js.map +0 -1
  79. package/dist/scripts/22.chunk.js +0 -1348
  80. package/dist/scripts/22.chunk.js.map +0 -1
  81. package/dist/scripts/23.chunk.js +0 -1181
  82. package/dist/scripts/23.chunk.js.map +0 -1
  83. package/dist/scripts/24.chunk.js +0 -1141
  84. package/dist/scripts/24.chunk.js.map +0 -1
  85. package/dist/scripts/25.chunk.js +0 -907
  86. package/dist/scripts/25.chunk.js.map +0 -1
  87. package/dist/scripts/26.chunk.js +0 -979
  88. package/dist/scripts/26.chunk.js.map +0 -1
  89. package/dist/scripts/27.chunk.js +0 -655
  90. package/dist/scripts/27.chunk.js.map +0 -1
  91. package/dist/scripts/28.chunk.js +0 -615
  92. package/dist/scripts/28.chunk.js.map +0 -1
  93. package/dist/scripts/29.chunk.js +0 -622
  94. package/dist/scripts/29.chunk.js.map +0 -1
  95. package/dist/scripts/3.chunk.js +0 -809
  96. package/dist/scripts/3.chunk.js.map +0 -1
  97. package/dist/scripts/30.chunk.js +0 -468
  98. package/dist/scripts/30.chunk.js.map +0 -1
  99. package/dist/scripts/31.chunk.js +0 -441
  100. package/dist/scripts/31.chunk.js.map +0 -1
  101. package/dist/scripts/32.chunk.js +0 -509
  102. package/dist/scripts/32.chunk.js.map +0 -1
  103. package/dist/scripts/33.chunk.js +0 -957
  104. package/dist/scripts/33.chunk.js.map +0 -1
  105. package/dist/scripts/34.chunk.js +0 -502
  106. package/dist/scripts/34.chunk.js.map +0 -1
  107. package/dist/scripts/35.chunk.js +0 -938
  108. package/dist/scripts/35.chunk.js.map +0 -1
  109. package/dist/scripts/36.chunk.js +0 -537
  110. package/dist/scripts/36.chunk.js.map +0 -1
  111. package/dist/scripts/37.chunk.js +0 -414
  112. package/dist/scripts/37.chunk.js.map +0 -1
  113. package/dist/scripts/38.chunk.js +0 -245
  114. package/dist/scripts/38.chunk.js.map +0 -1
  115. package/dist/scripts/39.chunk.js +0 -337
  116. package/dist/scripts/39.chunk.js.map +0 -1
  117. package/dist/scripts/4.chunk.js +0 -402
  118. package/dist/scripts/4.chunk.js.map +0 -1
  119. package/dist/scripts/40.chunk.js +0 -350
  120. package/dist/scripts/40.chunk.js.map +0 -1
  121. package/dist/scripts/41.chunk.js +0 -343
  122. package/dist/scripts/41.chunk.js.map +0 -1
  123. package/dist/scripts/42.chunk.js +0 -404
  124. package/dist/scripts/42.chunk.js.map +0 -1
  125. package/dist/scripts/43.chunk.js +0 -221
  126. package/dist/scripts/43.chunk.js.map +0 -1
  127. package/dist/scripts/44.chunk.js +0 -230
  128. package/dist/scripts/44.chunk.js.map +0 -1
  129. package/dist/scripts/45.chunk.js +0 -409
  130. package/dist/scripts/45.chunk.js.map +0 -1
  131. package/dist/scripts/46.chunk.js +0 -272
  132. package/dist/scripts/46.chunk.js.map +0 -1
  133. package/dist/scripts/47.chunk.js +0 -267
  134. package/dist/scripts/47.chunk.js.map +0 -1
  135. package/dist/scripts/48.chunk.js +0 -359
  136. package/dist/scripts/48.chunk.js.map +0 -1
  137. package/dist/scripts/49.chunk.js +0 -225
  138. package/dist/scripts/49.chunk.js.map +0 -1
  139. package/dist/scripts/5.chunk.js +0 -1104
  140. package/dist/scripts/5.chunk.js.map +0 -1
  141. package/dist/scripts/50.chunk.js +0 -318
  142. package/dist/scripts/50.chunk.js.map +0 -1
  143. package/dist/scripts/51.chunk.js +0 -64
  144. package/dist/scripts/51.chunk.js.map +0 -1
  145. package/dist/scripts/52.chunk.js +0 -108
  146. package/dist/scripts/52.chunk.js.map +0 -1
  147. package/dist/scripts/53.chunk.js +0 -110
  148. package/dist/scripts/53.chunk.js.map +0 -1
  149. package/dist/scripts/54.chunk.js +0 -162
  150. package/dist/scripts/54.chunk.js.map +0 -1
  151. package/dist/scripts/55.chunk.js +0 -145
  152. package/dist/scripts/55.chunk.js.map +0 -1
  153. package/dist/scripts/56.chunk.js +0 -139
  154. package/dist/scripts/56.chunk.js.map +0 -1
  155. package/dist/scripts/57.chunk.js +0 -142
  156. package/dist/scripts/57.chunk.js.map +0 -1
  157. package/dist/scripts/58.chunk.js +0 -173
  158. package/dist/scripts/58.chunk.js.map +0 -1
  159. package/dist/scripts/59.chunk.js +0 -160
  160. package/dist/scripts/59.chunk.js.map +0 -1
  161. package/dist/scripts/6.chunk.js +0 -335
  162. package/dist/scripts/6.chunk.js.map +0 -1
  163. package/dist/scripts/60.chunk.js +0 -98
  164. package/dist/scripts/60.chunk.js.map +0 -1
  165. package/dist/scripts/61.chunk.js +0 -48
  166. package/dist/scripts/61.chunk.js.map +0 -1
  167. package/dist/scripts/62.chunk.js +0 -70
  168. package/dist/scripts/62.chunk.js.map +0 -1
  169. package/dist/scripts/63.chunk.js +0 -32
  170. package/dist/scripts/63.chunk.js.map +0 -1
  171. package/dist/scripts/64.chunk.js +0 -29
  172. package/dist/scripts/64.chunk.js.map +0 -1
  173. package/dist/scripts/65.chunk.js +0 -27
  174. package/dist/scripts/65.chunk.js.map +0 -1
  175. package/dist/scripts/66.chunk.js +0 -65
  176. package/dist/scripts/66.chunk.js.map +0 -1
  177. package/dist/scripts/67.chunk.js +0 -67
  178. package/dist/scripts/67.chunk.js.map +0 -1
  179. package/dist/scripts/68.chunk.js +0 -104
  180. package/dist/scripts/68.chunk.js.map +0 -1
  181. package/dist/scripts/69.chunk.js +0 -89
  182. package/dist/scripts/69.chunk.js.map +0 -1
  183. package/dist/scripts/7.chunk.js +0 -2579
  184. package/dist/scripts/7.chunk.js.map +0 -1
  185. package/dist/scripts/70.chunk.js +0 -1001
  186. package/dist/scripts/70.chunk.js.map +0 -1
  187. package/dist/scripts/71.chunk.js +0 -36
  188. package/dist/scripts/71.chunk.js.map +0 -1
  189. package/dist/scripts/8.chunk.js +0 -24
  190. package/dist/scripts/8.chunk.js.map +0 -1
  191. package/dist/scripts/9.chunk.js +0 -327
  192. package/dist/scripts/9.chunk.js.map +0 -1
  193. package/dist/scripts/bundle.js +0 -38145
  194. package/dist/scripts/bundle.js.map +0 -1
  195. package/dist/scripts/polyfills.js +0 -15232
  196. package/dist/scripts/polyfills.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/apps/playlists/validation/PlaylistValidationSchema.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/context/PageTitleContext.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/useSetPageTitle.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/PageTitleHelper.ts","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/playlists/components/playlist-details/PlaylistDetails.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/playlists/views/edit-playlist/EditPlaylistView.tsx"],"names":[],"mappings":"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","file":"scripts/39.chunk.js","sourcesContent":["import * as Yup from 'yup';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nconst namespace = 'playlists.validation';\r\n\r\nexport const PlaylistValidationSchema = Yup.object().shape({\r\n name: Yup.string()\r\n .max(255, () => LanguageService.getPhrase(namespace, 'nameExceeds'))\r\n .required(() => LanguageService.getPhrase(namespace, 'nameRequired')),\r\n description: Yup.string()\r\n .max(65535, () => LanguageService.getPhrase(namespace, 'descriptionExceeds'))\r\n});","import * as React from 'react';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { PageTitleHelper } from 'libs/shared/utils/PageTitleHelper';\r\n\r\ninterface IPageTitleContext {\r\n setPageTitle?: (title: string) => void;\r\n revertPageTitle?: () => void;\r\n}\r\n\r\nexport const PageTitleContext = React.createContext<IPageTitleContext>({});\r\n\r\nconst namespace = 'shared.context';\r\n\r\nconst DEFAULT_TITLE = () => LanguageService.getPhrase(namespace, 'defaultTitle');\r\n\r\nexport const PageTitleContextProvider = ({ children }: React.PropsWithChildren<{}>): React.ReactElement => {\r\n const [ currentPageTitle, setCurrentPageTitle ] = React.useState(DEFAULT_TITLE);\r\n const [ previousPageTitle, setPreviousPageTitle ] = React.useState(DEFAULT_TITLE);\r\n\r\n const setPageTitle = (title: string) => {\r\n if (title === currentPageTitle)\r\n return;\r\n\r\n if (currentPageTitle !== previousPageTitle)\r\n setPreviousPageTitle(currentPageTitle);\r\n\r\n setCurrentPageTitle(title);\r\n };\r\n\r\n const revertPageTitle = () => {\r\n setCurrentPageTitle(previousPageTitle);\r\n };\r\n\r\n React.useEffect(() => PageTitleHelper.setPageTitle(currentPageTitle), [currentPageTitle]);\r\n\r\n return (\r\n <PageTitleContext.Provider value={{ setPageTitle, revertPageTitle }}>\r\n {children}\r\n </PageTitleContext.Provider>\r\n );\r\n};","import * as React from 'react';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\n\r\nimport { PageTitleContext } from 'libs/shared/context/PageTitleContext';\r\n\r\n/**\r\n * Hook function to set the page title using the useEffect hook.\r\n * @param title - value to set the page title to.\r\n * @param dependencies - values from the component (e.g. state, props and functions) that are used \r\n * inside the effect hook.\r\n */\r\nexport function useSetPageTitle(title: string, dependencies: any[] = []): void {\r\n const { setPageTitle } = React.useContext(PageTitleContext);\r\n\r\n React.useEffect(() => {\r\n if (!title || !FunctionHelper.isFunction(setPageTitle))\r\n return;\r\n\r\n setPageTitle(title);\r\n }, [ title, ...dependencies ]);\r\n}","import { Core } from 'libs/common/core';\r\n\r\nconst TITLE_LENGTH = 60;\r\nconst SUFFIX = ' - ClickView';\r\n\r\nconst trimTitle = (title: string): string => {\r\n if (title.length + SUFFIX.length <= TITLE_LENGTH)\r\n return title + SUFFIX;\r\n\r\n return title.substring(0, TITLE_LENGTH - 3) + '...' + SUFFIX;\r\n};\r\n\r\nexport const PageTitleHelper = {\r\n setPageTitle(title: string): void {\r\n if (!title)\r\n return;\r\n\r\n Core.LocationUtils.SetPageTitle(trimTitle(title));\r\n }\r\n};","import * as React from 'react';\r\nimport { Form } from 'formik';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Playlist } from 'libs/shared/interfaces';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { FormWrapper, useFormikContextWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\r\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\r\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\r\nimport { CreateOrUpdatePlaylistRequest } from 'libs/shared/apps/playlists/interfaces';\r\nimport { PlaylistValidationSchema } from 'libs/shared/apps/playlists/validation/PlaylistValidationSchema';\r\n\r\nconst namespace = 'playlists.playlistDetails';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\ninterface PlaylistDetailsFormComponentProps {\r\n isNew?: boolean;\r\n onClickCancel: () => void;\r\n cancelButtonClass: 'secondary' | 'link';\r\n}\r\n\r\nfunction PlaylistDetailsFormComponent(props: PlaylistDetailsFormComponentProps): React.ReactElement {\r\n const formikProps = useFormikContextWrapper<CreateOrUpdatePlaylistRequest>();\r\n\r\n return (\r\n <Form>\r\n <FormField\r\n label={getPhrase('nameLabel')}\r\n type='text'\r\n name='name'\r\n id ='name'\r\n placeholder={getPhrase('namePlaceholder')}\r\n autoFocus\r\n value={formikProps.values.name}\r\n />\r\n <FormField\r\n label={getPhrase('descriptionLabel')}\r\n component='textarea'\r\n name='description'\r\n id ='description'\r\n placeholder={getPhrase('descriptionPlaceholder')}\r\n value={formikProps.values.description}\r\n />\r\n <div className='btn-container d-flex justify-content-end'>\r\n <button type='button' className={`btn btn-${props.cancelButtonClass} mr-2`} onClick={props.onClickCancel}>\r\n <Text namespace={namespace} phrase='cancel' />\r\n </button>\r\n <FormButtons isNew={props.isNew} />\r\n </div>\r\n </Form>\r\n );\r\n}\r\n\r\ninterface PlaylistDetailsComponentProps {\r\n playlist?: Playlist;\r\n savePlaylist: (data: CreateOrUpdatePlaylistRequest) => void;\r\n onClickCancel: () => void;\r\n cancelButtonClass: 'secondary' | 'link';\r\n}\r\n\r\nexport function PlaylistDetails(props: PlaylistDetailsComponentProps): React.ReactElement {\r\n const { playlist: { name = '', description = '', id = null } = {}, savePlaylist, onClickCancel, cancelButtonClass } = props;\r\n\r\n return (\r\n <FormWrapper<CreateOrUpdatePlaylistRequest>\r\n initialValues={{ name, description }}\r\n validationSchema={PlaylistValidationSchema}\r\n onSubmit={savePlaylist}\r\n >\r\n <PlaylistDetailsFormComponent\r\n isNew={!id}\r\n onClickCancel={onClickCancel}\r\n cancelButtonClass={cancelButtonClass}\r\n />\r\n </FormWrapper>\r\n );\r\n}","import * as React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Flight } from 'libs/common/flight';\r\n\r\nimport { UserAction, EntityType, WorkflowPhase } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { useSetPageTitle } from 'libs/shared/hooks/useSetPageTitle';\r\nimport { Playlist, PropsWithPopupViewProps, PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\r\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\r\nimport { CreateOrUpdatePlaylistRequest } from 'libs/shared/apps/playlists/interfaces';\r\nimport { Popup } from 'libs/shared/components/popup/Popup';\r\n\r\nimport { PlaylistDetails } from 'apps/playlists/components/playlist-details/PlaylistDetails';\r\n\r\nconst getPhrase = LanguageService.encloseNamespace('playlists.editPlaylist');\r\n\r\ninterface EditPlaylistViewProps {\r\n playlistId: string;\r\n}\r\n\r\ntype PropTypes = PropsWithAnalyticsOptions<PropsWithPopupViewProps<EditPlaylistViewProps>>;\r\n\r\nexport function EditPlaylistView(props: PropTypes): React.ReactElement {\r\n const dispatch = useDispatch();\r\n\r\n const playlist = Flight.useBasicFetch<Playlist>(PlaylistRequests.getPlaylist(props.playlistId));\r\n\r\n useSetPageTitle(playlist.data && getPhrase('title', { name: playlist.data.name }), [playlist]);\r\n\r\n const savePlaylist = (data: CreateOrUpdatePlaylistRequest): void => {\r\n Flight.fetch(\r\n dispatch,\r\n PlaylistRequests.updatePlaylist(props.playlistId, data, props.closePopup, props.closePopup)\r\n );\r\n\r\n AnalyticsHelper.logUserAction(data, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Edit,\r\n entity: EntityType.Playlist,\r\n workflowPhase: WorkflowPhase.Complete\r\n }));\r\n };\r\n\r\n return (\r\n <Popup title={getPhrase('heading')} closePopup={props.closePopup} showLoadingSpinner={!playlist.data}>\r\n {!!playlist.data &&\r\n <PlaylistDetails\r\n playlist={playlist.data}\r\n savePlaylist={savePlaylist}\r\n onClickCancel={props.closePopup}\r\n cancelButtonClass='secondary'\r\n />\r\n }\r\n </Popup>\r\n );\r\n}"],"sourceRoot":""}
@@ -1,402 +0,0 @@
1
- (window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[4],{
2
-
3
- /***/ "../../libs/shared/src/components/forms/form-buttons/FormButtons.tsx":
4
- /*!***************************************************************************************************************!*\
5
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-buttons/FormButtons.tsx ***!
6
- \***************************************************************************************************************/
7
- /*! exports provided: FormButtons */
8
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
9
-
10
- "use strict";
11
- __webpack_require__.r(__webpack_exports__);
12
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormButtons", function() { return FormButtons; });
13
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
14
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
15
- /* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
16
- /* harmony import */ var _hooks_UseCanSubmitForm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../hooks/UseCanSubmitForm */ "../../libs/shared/src/hooks/UseCanSubmitForm.ts");
17
- /* harmony import */ var _spinner_button_SpinnerButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../spinner-button/SpinnerButton */ "../../libs/shared/src/components/spinner-button/SpinnerButton.tsx");
18
- /* harmony import */ var _text_Text__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../text/Text */ "../../libs/shared/src/components/text/Text.tsx");
19
-
20
-
21
-
22
-
23
-
24
- var namespace = 'shared.formButtons';
25
- var ENTER_KEY_CODE = 13;
26
- function FormButtons(props) {
27
- var formikProps = Object(formik__WEBPACK_IMPORTED_MODULE_1__["useFormikContext"])();
28
- var canSubmit = Object(_hooks_UseCanSubmitForm__WEBPACK_IMPORTED_MODULE_2__["useCanSubmitForm"])(formikProps);
29
- /**
30
- * This hook listens to "Enter" keypress events, and submits the form if there
31
- * are no errors. This prevents any edge cases where submitting doesn't work on
32
- * Enter normally, such as when a custom component is in focus.
33
- */
34
-
35
- react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {
36
- function onKeyPress(e) {
37
- if (e.keyCode !== ENTER_KEY_CODE || !canSubmit) return;
38
- formikProps.validateForm().then(function (errors) {
39
- if (!Object.keys(errors).length) formikProps.submitForm();
40
- });
41
- }
42
-
43
- window.addEventListener('keypress', onKeyPress);
44
- return function () {
45
- return window.removeEventListener('keypress', onKeyPress);
46
- };
47
- }, [canSubmit]);
48
- var phraseKey = 'save';
49
- if (props.isNew) phraseKey = 'create';
50
- if (props.hasNext) phraseKey = 'next';
51
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_spinner_button_SpinnerButton__WEBPACK_IMPORTED_MODULE_3__["SpinnerButton"], {
52
- showSpinner: formikProps.isSubmitting,
53
- type: 'submit',
54
- disabled: !canSubmit
55
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_text_Text__WEBPACK_IMPORTED_MODULE_4__["Text"], {
56
- namespace: namespace,
57
- phrase: phraseKey
58
- }));
59
- }
60
-
61
- /***/ }),
62
-
63
- /***/ "../../libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx":
64
- /*!*****************************************************************************************************************!*\
65
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx ***!
66
- \*****************************************************************************************************************/
67
- /*! exports provided: FormCheckbox */
68
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
69
-
70
- "use strict";
71
- __webpack_require__.r(__webpack_exports__);
72
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormCheckbox", function() { return FormCheckbox; });
73
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
74
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
75
- /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-bootstrap */ "react-bootstrap");
76
- /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__);
77
- /* harmony import */ var _form_field_FormField__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../form-field/FormField */ "../../libs/shared/src/components/forms/form-field/FormField.tsx");
78
- var __rest = undefined && undefined.__rest || function (s, e) {
79
- var t = {};
80
-
81
- for (var p in s) {
82
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
83
- }
84
-
85
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
86
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
87
- }
88
- return t;
89
- };
90
-
91
-
92
-
93
-
94
- /**
95
- * Use this checkbox within Formik contexts
96
- */
97
-
98
- function FormCheckbox(props) {
99
- var label = props.label,
100
- fieldProps = __rest(props, ["label"]);
101
-
102
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Form"].Group, null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
103
- className: 'custom-control custom-checkbox'
104
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_form_field_FormField__WEBPACK_IMPORTED_MODULE_2__["FieldWrapper"], Object.assign({
105
- className: 'custom-control-input'
106
- }, fieldProps)), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Form"].Label, {
107
- className: 'custom-control-label',
108
- htmlFor: fieldProps.id
109
- }, label)));
110
- }
111
-
112
- /***/ }),
113
-
114
- /***/ "../../libs/shared/src/components/forms/form-field/CharacterCounter.tsx":
115
- /*!******************************************************************************************************************!*\
116
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-field/CharacterCounter.tsx ***!
117
- \******************************************************************************************************************/
118
- /*! exports provided: CharacterCounter */
119
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
120
-
121
- "use strict";
122
- __webpack_require__.r(__webpack_exports__);
123
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CharacterCounter", function() { return CharacterCounter; });
124
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
125
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
126
- /* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
127
-
128
-
129
- function CharacterCounter(props) {
130
- var _useFormikContext = Object(formik__WEBPACK_IMPORTED_MODULE_1__["useFormikContext"])(),
131
- values = _useFormikContext.values;
132
-
133
- var field = values[props.fieldName];
134
- if (typeof field !== 'string') return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
135
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
136
- className: 'float-right text-muted'
137
- }, field.length, "/", props.limit);
138
- }
139
-
140
- /***/ }),
141
-
142
- /***/ "../../libs/shared/src/components/forms/form-field/FormField.tsx":
143
- /*!***********************************************************************************************************!*\
144
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-field/FormField.tsx ***!
145
- \***********************************************************************************************************/
146
- /*! exports provided: FieldWrapper, FormField */
147
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
148
-
149
- "use strict";
150
- __webpack_require__.r(__webpack_exports__);
151
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FieldWrapper", function() { return FieldWrapper; });
152
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormField", function() { return FormField; });
153
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
154
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
155
- /* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
156
- /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-bootstrap */ "react-bootstrap");
157
- /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_2__);
158
- /* harmony import */ var _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
159
- /* harmony import */ var _utils_FormHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../utils/FormHelper */ "../../libs/shared/src/utils/FormHelper.ts");
160
- /* harmony import */ var _CharacterCounter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CharacterCounter */ "../../libs/shared/src/components/forms/form-field/CharacterCounter.tsx");
161
- /* harmony import */ var _form_checkbox_FormCheckbox__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../form-checkbox/FormCheckbox */ "../../libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx");
162
- var __rest = undefined && undefined.__rest || function (s, e) {
163
- var t = {};
164
-
165
- for (var p in s) {
166
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
167
- }
168
-
169
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
170
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
171
- }
172
- return t;
173
- };
174
-
175
-
176
-
177
-
178
-
179
-
180
-
181
-
182
- function FieldWrapper(props) {
183
- var children = props.children,
184
- fieldProps = __rest(props, ["children"]);
185
-
186
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](formik__WEBPACK_IMPORTED_MODULE_1__["Field"], Object.assign({}, fieldProps), _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_3__["FunctionHelper"].isFunction(children) ? function (f) {
187
- return children(f);
188
- } : react__WEBPACK_IMPORTED_MODULE_0__["Children"].count(children) ? children : null);
189
- }
190
- function FormField(props) {
191
- var label = props.label,
192
- className = props.className,
193
- showCharacterCounter = props.showCharacterCounter,
194
- fieldProps = __rest(props, ["label", "className", "showCharacterCounter"]);
195
-
196
- var _useFormikContext = Object(formik__WEBPACK_IMPORTED_MODULE_1__["useFormikContext"])(),
197
- errors = _useFormikContext.errors,
198
- touched = _useFormikContext.touched;
199
-
200
- if (fieldProps.type === 'checkbox') return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_form_checkbox_FormCheckbox__WEBPACK_IMPORTED_MODULE_6__["FormCheckbox"], Object.assign({}, props));
201
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_2__["Form"].Group, null, !!label && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_2__["Form"].Label, {
202
- htmlFor: fieldProps.id
203
- }, label), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](FieldWrapper, Object.assign({
204
- className: _utils_FormHelper__WEBPACK_IMPORTED_MODULE_4__["FormHelper"].getCustomFormControlClassName(errors, touched, fieldProps.name, className)
205
- }, fieldProps)), !!showCharacterCounter && !!fieldProps.maxLength && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_CharacterCounter__WEBPACK_IMPORTED_MODULE_5__["CharacterCounter"], {
206
- fieldName: fieldProps.name,
207
- limit: fieldProps.maxLength
208
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](formik__WEBPACK_IMPORTED_MODULE_1__["ErrorMessage"], {
209
- name: fieldProps.name
210
- }, function (errorMessage) {
211
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_2__["Form"].Control.Feedback, {
212
- type: 'invalid'
213
- }, errorMessage);
214
- }));
215
- }
216
-
217
- /***/ }),
218
-
219
- /***/ "../../libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx":
220
- /*!***************************************************************************************************************!*\
221
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx ***!
222
- \***************************************************************************************************************/
223
- /*! exports provided: FormWrapper, useFormikContextWrapper */
224
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
225
-
226
- "use strict";
227
- __webpack_require__.r(__webpack_exports__);
228
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormWrapper", function() { return FormWrapper; });
229
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useFormikContextWrapper", function() { return useFormikContextWrapper; });
230
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
231
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
232
- /* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
233
- /* harmony import */ var _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
234
- /* harmony import */ var _common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../common/src/react/utils/ObjectHelper */ "../../libs/common/src/react/utils/ObjectHelper.ts");
235
- var __rest = undefined && undefined.__rest || function (s, e) {
236
- var t = {};
237
-
238
- for (var p in s) {
239
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
240
- }
241
-
242
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
243
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
244
- }
245
- return t;
246
- };
247
-
248
-
249
-
250
-
251
-
252
-
253
- function omitNullInitialValues(initialValues) {
254
- var values = _common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_3__["ObjectHelper"].deepClone(initialValues);
255
- Object.keys(values).forEach(function (key) {
256
- if (!values.hasOwnProperty(key)) return;
257
- if (_common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_3__["ObjectHelper"].isObject(values[key])) values[key] = omitNullInitialValues(values[key]);else if (values[key] === null) delete values[key];
258
- });
259
- return values;
260
- }
261
-
262
- FormWrapper.defaultProps = {
263
- castInitialValues: true,
264
- castValuesOnSubmit: true
265
- };
266
- function FormWrapper(props) {
267
- var castInitialValues = props.castInitialValues,
268
- castValuesOnSubmit = props.castValuesOnSubmit,
269
- initialValues = props.initialValues,
270
- onSubmit = props.onSubmit,
271
- resetOnSubmit = props.resetOnSubmit,
272
- formikProps = __rest(props, ["castInitialValues", "castValuesOnSubmit", "initialValues", "onSubmit", "resetOnSubmit"]);
273
- /**
274
- * If castInitialValues is true, cast initialValues to the validationSchema.
275
- * This will ensure that any data fetched from the api conforms to the expected form data shape.
276
- */
277
-
278
-
279
- var formattedInitialValues = castInitialValues && props.validationSchema ? props.validationSchema.cast(omitNullInitialValues(initialValues)) : initialValues;
280
-
281
- var onSubmitHandler = function onSubmitHandler(values, _ref) {
282
- var setSubmitting = _ref.setSubmitting,
283
- resetForm = _ref.resetForm;
284
-
285
- /**
286
- * validationSchema.cast will coerce the values to the types defined in validationSchema.
287
- * This is useful for trimming inputs:
288
- * e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.
289
- */
290
- var formattedData = castValuesOnSubmit && props.validationSchema ? props.validationSchema.cast(values) : values;
291
- onSubmit(formattedData, function () {
292
- resetOnSubmit && resetForm();
293
- setSubmitting(false);
294
- });
295
- };
296
-
297
- var initialStatus = {
298
- allowInitialSubmit: props.allowInitialSubmit
299
- };
300
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](formik__WEBPACK_IMPORTED_MODULE_1__["Formik"], Object.assign({
301
- enableReinitialize: true
302
- }, formikProps, {
303
- initialValues: formattedInitialValues,
304
- onSubmit: onSubmitHandler,
305
- initialStatus: initialStatus
306
- }), _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_2__["FunctionHelper"].isFunction(props.children) ? function (f) {
307
- return props.children(f);
308
- } : react__WEBPACK_IMPORTED_MODULE_0__["Children"].count(props.children) ? props.children : null);
309
- }
310
- function useFormikContextWrapper() {
311
- return Object(formik__WEBPACK_IMPORTED_MODULE_1__["useFormikContext"])();
312
- }
313
-
314
- /***/ }),
315
-
316
- /***/ "../../libs/shared/src/hooks/UseCanSubmitForm.ts":
317
- /*!*******************************************************************************************!*\
318
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/UseCanSubmitForm.ts ***!
319
- \*******************************************************************************************/
320
- /*! exports provided: useCanSubmitForm */
321
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
322
-
323
- "use strict";
324
- __webpack_require__.r(__webpack_exports__);
325
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useCanSubmitForm", function() { return useCanSubmitForm; });
326
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
327
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
328
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
329
-
330
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
331
-
332
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
333
-
334
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
335
-
336
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
337
-
338
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
339
-
340
-
341
- /**
342
- * useCanSubmitForm determines if a form can be submitted.
343
- *
344
- * It will return true if a form is valid and has been changed from it's initial state.
345
- *
346
- * A common use case for this is determining whether or not to enable
347
- * a submit button in a form.
348
- */
349
-
350
- function useCanSubmitForm(formikProps) {
351
- var _a;
352
-
353
- var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__["useState"](false),
354
- _React$useState2 = _slicedToArray(_React$useState, 2),
355
- canSubmit = _React$useState2[0],
356
- setCanSubmit = _React$useState2[1];
357
-
358
- react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {
359
- var _a;
360
-
361
- if (!formikProps.isValid) {
362
- setCanSubmit(false);
363
- return;
364
- } // If the form values have changed of if allowInitialSubmit is true, set canSubmit to true.
365
-
366
-
367
- if (formikProps.dirty || ((_a = formikProps.initialStatus) === null || _a === void 0 ? void 0 : _a.allowInitialSubmit)) setCanSubmit(true);else setCanSubmit(false);
368
- }, [formikProps.isValid, (_a = formikProps.initialStatus) === null || _a === void 0 ? void 0 : _a.allowInitialSubmit, formikProps.dirty, formikProps.values]);
369
- react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {
370
- if (formikProps.isSubmitting) setCanSubmit(false);
371
- }, [formikProps.isSubmitting]);
372
- return canSubmit;
373
- }
374
-
375
- /***/ }),
376
-
377
- /***/ "../../libs/shared/src/utils/FormHelper.ts":
378
- /*!*************************************************************************************!*\
379
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/FormHelper.ts ***!
380
- \*************************************************************************************/
381
- /*! exports provided: FormHelper */
382
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
383
-
384
- "use strict";
385
- __webpack_require__.r(__webpack_exports__);
386
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormHelper", function() { return FormHelper; });
387
- /* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
388
-
389
- var FormHelper = {
390
- getCustomFormControlClassName: function getCustomFormControlClassName(errors, touched, attribute, additionalClassName) {
391
- var className = 'form-control'; // Using getIn as it supports dot notation
392
-
393
- if (Object(formik__WEBPACK_IMPORTED_MODULE_0__["getIn"])(touched, attribute) && Object(formik__WEBPACK_IMPORTED_MODULE_0__["getIn"])(errors, attribute)) className += ' is-invalid';
394
- if (additionalClassName) className += " ".concat(additionalClassName);
395
- return className;
396
- }
397
- };
398
-
399
- /***/ })
400
-
401
- }]);
402
- //# sourceMappingURL=4.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-buttons/FormButtons.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-field/CharacterCounter.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-field/FormField.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/UseCanSubmitForm.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/FormHelper.ts"],"names":[],"mappings":"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","file":"scripts/4.chunk.js","sourcesContent":["import * as React from 'react';\r\nimport { useFormikContext } from 'formik';\r\n\r\nimport { useCanSubmitForm } from 'libs/shared/hooks/UseCanSubmitForm';\r\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\n\r\nconst namespace = 'shared.formButtons';\r\n\r\nconst ENTER_KEY_CODE = 13;\r\n\r\ninterface FormButtonsProps {\r\n isNew: boolean;\r\n hasNext?: boolean;\r\n}\r\n\r\nexport function FormButtons<Values extends object>(props: FormButtonsProps): JSX.Element {\r\n const formikProps = useFormikContext<Values>();\r\n\r\n const canSubmit = useCanSubmitForm(formikProps);\r\n\r\n /**\r\n * This hook listens to \"Enter\" keypress events, and submits the form if there\r\n * are no errors. This prevents any edge cases where submitting doesn't work on\r\n * Enter normally, such as when a custom component is in focus.\r\n */\r\n React.useEffect(() => {\r\n function onKeyPress(e: KeyboardEvent): void {\r\n if (e.keyCode !== ENTER_KEY_CODE || !canSubmit)\r\n return;\r\n\r\n formikProps.validateForm().then(errors => {\r\n if (!Object.keys(errors).length)\r\n formikProps.submitForm();\r\n });\r\n }\r\n\r\n window.addEventListener('keypress', onKeyPress);\r\n return () => window.removeEventListener('keypress', onKeyPress);\r\n }, [canSubmit]);\r\n\r\n let phraseKey = 'save';\r\n if (props.isNew)\r\n phraseKey = 'create';\r\n if (props.hasNext)\r\n phraseKey = 'next';\r\n\r\n return (\r\n <SpinnerButton showSpinner={formikProps.isSubmitting} type='submit' disabled={!canSubmit}>\r\n <Text namespace={namespace} phrase={phraseKey} />\r\n </SpinnerButton>\r\n );\r\n}","import * as React from 'react';\r\n\r\nimport { FieldAttributes } from 'formik';\r\nimport { Form } from 'react-bootstrap';\r\nimport { FieldWrapper, FormFieldProps } from '../form-field/FormField';\r\n\r\n/**\r\n * Use this checkbox within Formik contexts\r\n */\r\nexport function FormCheckbox<Values extends object>(props: FieldAttributes<FormFieldProps<Values>>): JSX.Element {\r\n const { label, ...fieldProps } = props;\r\n\r\n return (\r\n <Form.Group>\r\n <div className='custom-control custom-checkbox'>\r\n <FieldWrapper<Values> className='custom-control-input' {...fieldProps} />\r\n <Form.Label className='custom-control-label' htmlFor={fieldProps.id}>{label}</Form.Label>\r\n </div>\r\n </Form.Group>\r\n );\r\n}\r\n\r\n","import * as React from 'react';\r\nimport { useFormikContext } from 'formik';\r\n\r\ninterface CharacterCounterProps<Values extends object> {\r\n fieldName: keyof Values;\r\n limit: number;\r\n}\r\n\r\nexport function CharacterCounter<Values extends object>(props: CharacterCounterProps<Values>): JSX.Element {\r\n const { values } = useFormikContext<Values>();\r\n\r\n const field = values[props.fieldName];\r\n\r\n if (typeof field !== 'string')\r\n return <></>;\r\n\r\n return (\r\n <div className='float-right text-muted'>\r\n {field.length}/{props.limit}\r\n </div>\r\n );\r\n}","import * as React from 'react';\r\nimport { Field, FieldAttributes, useFormikContext, ErrorMessage, FieldProps } from 'formik';\r\nimport { Form } from 'react-bootstrap';\r\n\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\n\r\nimport { FormHelper } from 'libs/shared/utils/FormHelper';\r\n\r\nimport { CharacterCounter } from './CharacterCounter';\r\nimport { FormCheckbox } from '../form-checkbox/FormCheckbox';\r\n\r\nexport interface FormFieldProps<Values extends object> {\r\n /**\r\n * The name prop MUST be the same as the attribute\r\n * name of the value that the field is bound to.\r\n */\r\n name: string;\r\n label?: string;\r\n children?: ((props: FieldProps) => React.ReactNode) | React.ReactNode;\r\n showCharacterCounter?: boolean;\r\n}\r\n\r\nexport function FieldWrapper<Values extends object>(\r\n props: FieldAttributes<FormFieldProps<Values>> & { className: string }\r\n): React.ReactElement {\r\n const { children, ...fieldProps } = props;\r\n\r\n return (\r\n <Field {...fieldProps}>\r\n {FunctionHelper.isFunction(children)\r\n ? (f: FieldProps) => children(f)\r\n : React.Children.count(children) ? children : null\r\n }\r\n </Field>\r\n );\r\n}\r\n\r\nexport function FormField<Values extends object>(props: FieldAttributes<FormFieldProps<Values>>): React.ReactElement {\r\n const { label, className, showCharacterCounter, ...fieldProps } = props;\r\n\r\n const { errors, touched } = useFormikContext<Values>();\r\n\r\n if (fieldProps.type === 'checkbox')\r\n return <FormCheckbox<Values> {...props} />;\r\n\r\n return (\r\n <Form.Group>\r\n {!!label && <Form.Label htmlFor={fieldProps.id}>{label}</Form.Label>}\r\n <FieldWrapper<Values>\r\n className={FormHelper.getCustomFormControlClassName(errors, touched, fieldProps.name, className)}\r\n {...fieldProps}\r\n />\r\n {!!showCharacterCounter && !!(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength &&\r\n <CharacterCounter\r\n fieldName={(fieldProps.name as keyof Values)}\r\n limit={(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength}\r\n />\r\n }\r\n <ErrorMessage name={fieldProps.name}>\r\n {(errorMessage: string) => <Form.Control.Feedback type='invalid'>{errorMessage}</Form.Control.Feedback>}\r\n </ErrorMessage>\r\n </Form.Group>\r\n );\r\n}","import * as React from 'react';\r\nimport { Formik, FormikValues, FormikConfig, FormikProps, FormikHelpers, useFormikContext, FormikContextType } from 'formik';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\n\r\nfunction omitNullInitialValues<Values extends FormikValues>(initialValues: Values): Values {\r\n const values = ObjectHelper.deepClone(initialValues);\r\n\r\n Object.keys(values).forEach((key: keyof Values) => {\r\n if (!values.hasOwnProperty(key))\r\n return;\r\n\r\n if (ObjectHelper.isObject(values[key]))\r\n values[key] = omitNullInitialValues(values[key]);\r\n else if (values[key] === null)\r\n delete values[key];\r\n });\r\n\r\n return values;\r\n}\r\n\r\n// Omit attributes from FormikConfig that are defined in FormWrapperProps.\r\ntype ModifiedFormikConfig<Values extends FormikValues> = Omit<FormikConfig<Values>, 'initialValues' | 'onSubmit'>;\r\n\r\ninterface InitialStatus {\r\n allowInitialSubmit: boolean;\r\n}\r\n\r\ninterface FormWrapperProps<FormValues extends FormikValues, ApiValues extends FormikValues> {\r\n initialValues: FormValues | ApiValues;\r\n onSubmit: (data: FormValues, onDone: () => void) => void;\r\n castInitialValues?: boolean; // cast to validationSchema\r\n castValuesOnSubmit?: boolean; // cast to validationSchema\r\n allowInitialSubmit?: boolean; // if true, useCanSubmitForm will allow submit without any user changes.\r\n resetOnSubmit?: boolean;\r\n}\r\n\r\nFormWrapper.defaultProps = {\r\n castInitialValues: true,\r\n castValuesOnSubmit: true\r\n};\r\n\r\nexport function FormWrapper<\r\n FormValues extends FormikValues = FormikValues,\r\n ApiValues extends FormikValues = FormikValues,\r\n ExtraProps = {}\r\n>(props: ModifiedFormikConfig<FormValues> & ExtraProps & FormWrapperProps<FormValues, ApiValues>): JSX.Element {\r\n const { castInitialValues, castValuesOnSubmit, initialValues, onSubmit, resetOnSubmit, ...formikProps } = props;\r\n\r\n /**\r\n * If castInitialValues is true, cast initialValues to the validationSchema.\r\n * This will ensure that any data fetched from the api conforms to the expected form data shape.\r\n */\r\n const formattedInitialValues: FormValues = castInitialValues && props.validationSchema\r\n ? props.validationSchema.cast(omitNullInitialValues(initialValues))\r\n : initialValues;\r\n\r\n const onSubmitHandler = (\r\n values: FormValues,\r\n { setSubmitting, resetForm }: FormikHelpers<FormValues>\r\n ) => {\r\n /**\r\n * validationSchema.cast will coerce the values to the types defined in validationSchema.\r\n * This is useful for trimming inputs:\r\n * e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.\r\n */\r\n const formattedData = castValuesOnSubmit && props.validationSchema\r\n ? props.validationSchema.cast(values)\r\n : values;\r\n\r\n onSubmit(formattedData, () => {\r\n resetOnSubmit && resetForm();\r\n setSubmitting(false);\r\n });\r\n };\r\n\r\n const initialStatus: InitialStatus = {\r\n allowInitialSubmit: props.allowInitialSubmit\r\n };\r\n\r\n return (\r\n <Formik<FormValues, ExtraProps>\r\n enableReinitialize\r\n {...(formikProps as ModifiedFormikConfig<FormValues> & ExtraProps)}\r\n initialValues={formattedInitialValues}\r\n onSubmit={onSubmitHandler}\r\n initialStatus={initialStatus}\r\n >\r\n {FunctionHelper.isFunction(props.children)\r\n ? (f: FormikProps<FormValues>) => (props.children as (f: FormikProps<FormValues>) => React.ReactNode)(f)\r\n : React.Children.count(props.children) ? props.children : null\r\n }\r\n </Formik>\r\n );\r\n}\r\n\r\nexport function useFormikContextWrapper<T>(): FormikContextType<T> {\r\n return useFormikContext<T>();\r\n}","import * as React from 'react';\r\nimport { FormikValues, FormikProps } from 'formik';\r\n\r\n/**\r\n * useCanSubmitForm determines if a form can be submitted.\r\n * \r\n * It will return true if a form is valid and has been changed from it's initial state.\r\n * \r\n * A common use case for this is determining whether or not to enable\r\n * a submit button in a form.\r\n */\r\nexport function useCanSubmitForm<Values extends FormikValues>(formikProps: FormikProps<Values>): boolean {\r\n const [ canSubmit, setCanSubmit ] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n if (!formikProps.isValid) {\r\n setCanSubmit(false);\r\n return;\r\n }\r\n\r\n // If the form values have changed of if allowInitialSubmit is true, set canSubmit to true.\r\n if (formikProps.dirty || formikProps.initialStatus?.allowInitialSubmit)\r\n setCanSubmit(true);\r\n else\r\n setCanSubmit(false);\r\n\r\n }, [ formikProps.isValid, formikProps.initialStatus?.allowInitialSubmit, formikProps.dirty, formikProps.values ]);\r\n\r\n React.useEffect(() => {\r\n if (formikProps.isSubmitting)\r\n setCanSubmit(false);\r\n }, [formikProps.isSubmitting]);\r\n\r\n return canSubmit;\r\n}\r\n","import { FormikErrors, FormikTouched, getIn } from 'formik';\r\n\r\nexport const FormHelper = {\r\n getCustomFormControlClassName<T>(\r\n errors: FormikErrors<T>,\r\n touched: FormikTouched<T>,\r\n attribute: string,\r\n additionalClassName?: string\r\n ): string {\r\n let className = 'form-control';\r\n\r\n // Using getIn as it supports dot notation\r\n if (getIn(touched, attribute) && getIn(errors, attribute))\r\n className += ' is-invalid';\r\n\r\n if (additionalClassName)\r\n className += ` ${additionalClassName}`;\r\n\r\n return className;\r\n }\r\n};"],"sourceRoot":""}