@clickview/lite 0.0.18-rc.2 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/11.chunk.css +14 -8
- package/dist/css/12.chunk.css +15 -5
- package/dist/css/13.chunk.css +5 -13
- package/dist/css/14.chunk.css +6 -6
- package/dist/css/15.chunk.css +15 -3
- package/dist/css/16.chunk.css +9 -3
- package/dist/css/17.chunk.css +4 -2
- package/dist/css/19.chunk.css +2 -6
- package/dist/css/2.chunk.css +0 -14
- package/dist/css/20.chunk.css +2 -2
- package/dist/css/21.chunk.css +7 -1
- package/dist/css/22.chunk.css +2 -2
- package/dist/css/23.chunk.css +2 -2
- package/dist/css/24.chunk.css +1 -1
- package/dist/css/25.chunk.css +2 -2
- package/dist/css/26.chunk.css +2 -2
- package/dist/css/27.chunk.css +1 -67
- package/dist/css/28.chunk.css +2 -48
- package/dist/css/29.chunk.css +2 -45
- package/dist/css/3.chunk.css +7 -13
- package/dist/css/31.chunk.css +1 -6
- package/dist/css/34.chunk.css +1 -5
- package/dist/css/38.chunk.css +2 -36
- package/dist/css/4.chunk.css +13 -5
- package/dist/css/44.chunk.css +1 -1
- package/dist/css/46.chunk.css +2 -0
- package/dist/css/5.chunk.css +8 -2
- package/dist/css/6.chunk.css +2 -0
- package/dist/libs/common/src/react/utils/ArrayHelper.d.ts +1 -1
- package/dist/libs/shared/src/utils/ImageHelper.d.ts +1 -1
- package/dist/scripts/0-d95e8444c4.chunk.js +1 -0
- package/dist/scripts/{1-f6fa17226d.chunk.js → 1-2b6afccaa5.chunk.js} +3 -3
- package/dist/scripts/11-d419aa0984.chunk.js +1 -0
- package/dist/scripts/12-b38a27f951.chunk.js +1 -0
- package/dist/scripts/13-1ad100c6fa.chunk.js +1 -0
- package/dist/scripts/14-9f08e07fae.chunk.js +1 -0
- package/dist/scripts/15-ee9fb81b9f.chunk.js +1 -0
- package/dist/scripts/{14-11868e2868.chunk.js → 16-8fe78e04c2.chunk.js} +1 -1
- package/dist/scripts/17-ea7fe3ea28.chunk.js +1 -0
- package/dist/scripts/18-1bb07c0b9b.chunk.js +1 -0
- package/dist/scripts/19-c869d34687.chunk.js +1 -0
- package/dist/scripts/2-a816feb2a1.chunk.js +1 -0
- package/dist/scripts/20-43ec005977.chunk.js +1 -0
- package/dist/scripts/21-8513db8251.chunk.js +1 -0
- package/dist/scripts/22-d4adb2384c.chunk.js +1 -0
- package/dist/scripts/23-d8b5b9ad2c.chunk.js +1 -0
- package/dist/scripts/{21-891207049a.chunk.js → 24-f2913e26e2.chunk.js} +1 -1
- package/dist/scripts/25-68705527ea.chunk.js +1 -0
- package/dist/scripts/26-7d25448f1c.chunk.js +1 -0
- package/dist/scripts/27-bab6c9f5c7.chunk.js +1 -0
- package/dist/scripts/28-080baa3fbc.chunk.js +1 -0
- package/dist/scripts/29-5e9889b68a.chunk.js +1 -0
- package/dist/scripts/3-6e2ac46662.chunk.js +7 -0
- package/dist/scripts/{27-f26afdae78.chunk.js → 30-cdbeea4fc5.chunk.js} +1 -1
- package/dist/scripts/31-6fa4413cdb.chunk.js +1 -0
- package/dist/scripts/32-d4725d3b7d.chunk.js +1 -0
- package/dist/scripts/33-bec24aab85.chunk.js +1 -0
- package/dist/scripts/34-c42c6cf42a.chunk.js +1 -0
- package/dist/scripts/{33-4579af9cf9.chunk.js → 35-4512b236f2.chunk.js} +1 -1
- package/dist/scripts/{34-d8b96d9f9f.chunk.js → 36-eede7769b2.chunk.js} +1 -1
- package/dist/scripts/37-80ed339c4f.chunk.js +1 -0
- package/dist/scripts/{37-afd3d321e3.chunk.js → 38-c11d4c88e3.chunk.js} +1 -1
- package/dist/scripts/{38-6ad53aa15b.chunk.js → 39-d0e74fb062.chunk.js} +1 -1
- package/dist/scripts/4-ea79bf1533.chunk.js +1 -0
- package/dist/scripts/{39-46c747b1d9.chunk.js → 40-d764e6157b.chunk.js} +1 -1
- package/dist/scripts/{40-c1b8806b1c.chunk.js → 41-0aa7093354.chunk.js} +1 -1
- package/dist/scripts/42-3d8c5fa14c.chunk.js +1 -0
- package/dist/scripts/43-969806e81e.chunk.js +1 -0
- package/dist/scripts/44-e8e3fef4c3.chunk.js +1 -0
- package/dist/scripts/45-d8f70269d6.chunk.js +1 -0
- package/dist/scripts/{44-7f92272274.chunk.js → 46-946ae22c1f.chunk.js} +1 -1
- package/dist/scripts/47-1579412cd0.chunk.js +1 -0
- package/dist/scripts/48-fdf97c1c73.chunk.js +1 -0
- package/dist/scripts/49-970fc479c8.chunk.js +1 -0
- package/dist/scripts/5-d1bb14adf6.chunk.js +1 -0
- package/dist/scripts/50-1257ab0b95.chunk.js +1 -0
- package/dist/scripts/{50-8cb0d9cd7d.chunk.js → 51-ac615445f0.chunk.js} +1 -1
- package/dist/scripts/52-874629b81c.chunk.js +1 -0
- package/dist/scripts/{52-bfb2683b5d.chunk.js → 53-22e3d0793b.chunk.js} +1 -1
- package/dist/scripts/{53-3cf5cd5f69.chunk.js → 54-da1a07610c.chunk.js} +1 -1
- package/dist/scripts/{54-26807e3e49.chunk.js → 55-02647df65c.chunk.js} +1 -1
- package/dist/scripts/56-1b6e6349fa.chunk.js +1 -0
- package/dist/scripts/57-8fc09ba02c.chunk.js +1 -0
- package/dist/scripts/{56-d4abc25ec3.chunk.js → 58-8e5cc56c3f.chunk.js} +1 -1
- package/dist/scripts/6-0e53df2ece.chunk.js +1 -0
- package/dist/scripts/7-26822045b2.chunk.js +1 -0
- package/dist/scripts/8-7450eff674.chunk.js +1 -0
- package/dist/scripts/9-f24f1577dd.chunk.js +1 -0
- package/dist/scripts/bundle-5ecb0c9441.min.js +1 -0
- package/dist/scripts/bundle-c6241bd7ac.min.js +1 -0
- package/dist/scripts/bundles.json +1 -1
- package/package.json +3 -3
- package/dist/css/0.chunk.css.map +0 -1
- package/dist/css/1.chunk.css +0 -146
- package/dist/css/1.chunk.css.map +0 -1
- package/dist/css/10.chunk.css +0 -20
- package/dist/css/10.chunk.css.map +0 -1
- package/dist/css/11.chunk.css.map +0 -1
- package/dist/css/12.chunk.css.map +0 -1
- package/dist/css/13.chunk.css.map +0 -1
- package/dist/css/14.chunk.css.map +0 -1
- package/dist/css/16.chunk.css.map +0 -1
- package/dist/css/18.chunk.css.map +0 -1
- package/dist/css/19.chunk.css.map +0 -1
- package/dist/css/21.chunk.css.map +0 -1
- package/dist/css/22.chunk.css.map +0 -1
- package/dist/css/23.chunk.css.map +0 -1
- package/dist/css/24.chunk.css.map +0 -1
- package/dist/css/25.chunk.css.map +0 -1
- package/dist/css/26.chunk.css.map +0 -1
- package/dist/css/27.chunk.css.map +0 -1
- package/dist/css/28.chunk.css.map +0 -1
- package/dist/css/29.chunk.css.map +0 -1
- package/dist/css/3.chunk.css.map +0 -1
- package/dist/css/30.chunk.css.map +0 -1
- package/dist/css/31.chunk.css.map +0 -1
- package/dist/css/32.chunk.css +0 -5
- package/dist/css/32.chunk.css.map +0 -1
- package/dist/css/34.chunk.css.map +0 -1
- package/dist/css/35.chunk.css +0 -7
- package/dist/css/35.chunk.css.map +0 -1
- package/dist/css/36.chunk.css +0 -4
- package/dist/css/36.chunk.css.map +0 -1
- package/dist/css/37.chunk.css +0 -4
- package/dist/css/37.chunk.css.map +0 -1
- package/dist/css/38.chunk.css.map +0 -1
- package/dist/css/4.chunk.css.map +0 -1
- package/dist/css/45.chunk.css +0 -9
- package/dist/css/45.chunk.css.map +0 -1
- package/dist/css/5.chunk.css.map +0 -1
- package/dist/css/9.chunk.css +0 -24
- package/dist/css/lite-app.css.map +0 -1
- package/dist/scripts/0-525bd75473.chunk.js +0 -1
- package/dist/scripts/0.chunk.js +0 -478
- package/dist/scripts/0.chunk.js.map +0 -1
- package/dist/scripts/1.chunk.js +0 -621
- package/dist/scripts/1.chunk.js.map +0 -1
- package/dist/scripts/10-f3b34b2d35.chunk.js +0 -1
- package/dist/scripts/10.chunk.js +0 -400
- package/dist/scripts/10.chunk.js.map +0 -1
- package/dist/scripts/11-a698af3f1c.chunk.js +0 -1
- package/dist/scripts/11.chunk.js +0 -1289
- package/dist/scripts/11.chunk.js.map +0 -1
- package/dist/scripts/12-9ace90fcbc.chunk.js +0 -1
- package/dist/scripts/12.chunk.js +0 -1059
- package/dist/scripts/12.chunk.js.map +0 -1
- package/dist/scripts/13-3a4f103546.chunk.js +0 -1
- package/dist/scripts/13.chunk.js +0 -751
- package/dist/scripts/13.chunk.js.map +0 -1
- package/dist/scripts/14.chunk.js +0 -425
- package/dist/scripts/14.chunk.js.map +0 -1
- package/dist/scripts/15-78ff5e8be2.chunk.js +0 -1
- package/dist/scripts/15.chunk.js +0 -609
- package/dist/scripts/15.chunk.js.map +0 -1
- package/dist/scripts/16-22f6224811.chunk.js +0 -1
- package/dist/scripts/16.chunk.js +0 -648
- package/dist/scripts/16.chunk.js.map +0 -1
- package/dist/scripts/17-afe6281dd5.chunk.js +0 -1
- package/dist/scripts/17.chunk.js +0 -541
- package/dist/scripts/17.chunk.js.map +0 -1
- package/dist/scripts/18-47be31c0b6.chunk.js +0 -1
- package/dist/scripts/18.chunk.js +0 -766
- package/dist/scripts/18.chunk.js.map +0 -1
- package/dist/scripts/19-89c0b2c20e.chunk.js +0 -1
- package/dist/scripts/19.chunk.js +0 -647
- package/dist/scripts/19.chunk.js.map +0 -1
- package/dist/scripts/2-3b37480a80.chunk.js +0 -7
- package/dist/scripts/2.chunk.js +0 -8259
- package/dist/scripts/2.chunk.js.map +0 -1
- package/dist/scripts/20-32ac3fe0b9.chunk.js +0 -1
- package/dist/scripts/20.chunk.js +0 -122
- package/dist/scripts/20.chunk.js.map +0 -1
- package/dist/scripts/21.chunk.js +0 -1571
- package/dist/scripts/21.chunk.js.map +0 -1
- package/dist/scripts/22-24236e6723.chunk.js +0 -1
- package/dist/scripts/22.chunk.js +0 -1387
- package/dist/scripts/22.chunk.js.map +0 -1
- package/dist/scripts/23-7b425169bc.chunk.js +0 -1
- package/dist/scripts/23.chunk.js +0 -1121
- package/dist/scripts/23.chunk.js.map +0 -1
- package/dist/scripts/24-40edd30087.chunk.js +0 -1
- package/dist/scripts/24.chunk.js +0 -1348
- package/dist/scripts/24.chunk.js.map +0 -1
- package/dist/scripts/25-887b9ef587.chunk.js +0 -1
- package/dist/scripts/25.chunk.js +0 -1137
- package/dist/scripts/25.chunk.js.map +0 -1
- package/dist/scripts/26-cbe0ff0f77.chunk.js +0 -1
- package/dist/scripts/26.chunk.js +0 -906
- package/dist/scripts/26.chunk.js.map +0 -1
- package/dist/scripts/27.chunk.js +0 -1143
- package/dist/scripts/27.chunk.js.map +0 -1
- package/dist/scripts/28-70414fd373.chunk.js +0 -1
- package/dist/scripts/28.chunk.js +0 -656
- package/dist/scripts/28.chunk.js.map +0 -1
- package/dist/scripts/29-944b5c01a7.chunk.js +0 -1
- package/dist/scripts/29.chunk.js +0 -616
- package/dist/scripts/29.chunk.js.map +0 -1
- package/dist/scripts/3-233f573a92.chunk.js +0 -1
- package/dist/scripts/3.chunk.js +0 -585
- package/dist/scripts/3.chunk.js.map +0 -1
- package/dist/scripts/30-3a229887e9.chunk.js +0 -1
- package/dist/scripts/30.chunk.js +0 -557
- package/dist/scripts/30.chunk.js.map +0 -1
- package/dist/scripts/31-ab038bfc0c.chunk.js +0 -1
- package/dist/scripts/31.chunk.js +0 -731
- package/dist/scripts/31.chunk.js.map +0 -1
- package/dist/scripts/32-8bd6703eef.chunk.js +0 -1
- package/dist/scripts/32.chunk.js +0 -957
- package/dist/scripts/32.chunk.js.map +0 -1
- package/dist/scripts/33.chunk.js +0 -938
- package/dist/scripts/33.chunk.js.map +0 -1
- package/dist/scripts/34.chunk.js +0 -523
- package/dist/scripts/34.chunk.js.map +0 -1
- package/dist/scripts/35-666d815525.chunk.js +0 -1
- package/dist/scripts/35.chunk.js +0 -414
- package/dist/scripts/35.chunk.js.map +0 -1
- package/dist/scripts/36-02ce5f3538.chunk.js +0 -1
- package/dist/scripts/36.chunk.js +0 -404
- package/dist/scripts/36.chunk.js.map +0 -1
- package/dist/scripts/37.chunk.js +0 -245
- package/dist/scripts/37.chunk.js.map +0 -1
- package/dist/scripts/38.chunk.js +0 -343
- package/dist/scripts/38.chunk.js.map +0 -1
- package/dist/scripts/39.chunk.js +0 -318
- package/dist/scripts/39.chunk.js.map +0 -1
- package/dist/scripts/4-6942fee782.chunk.js +0 -1
- package/dist/scripts/4.chunk.js +0 -1030
- package/dist/scripts/4.chunk.js.map +0 -1
- package/dist/scripts/40.chunk.js +0 -236
- package/dist/scripts/40.chunk.js.map +0 -1
- package/dist/scripts/41-f4c23477e3.chunk.js +0 -1
- package/dist/scripts/41.chunk.js +0 -231
- package/dist/scripts/41.chunk.js.map +0 -1
- package/dist/scripts/42-7a5b92d70b.chunk.js +0 -1
- package/dist/scripts/42.chunk.js +0 -350
- package/dist/scripts/42.chunk.js.map +0 -1
- package/dist/scripts/43-97193a87df.chunk.js +0 -1
- package/dist/scripts/43.chunk.js +0 -225
- package/dist/scripts/43.chunk.js.map +0 -1
- package/dist/scripts/44.chunk.js +0 -318
- package/dist/scripts/44.chunk.js.map +0 -1
- package/dist/scripts/45-265f1a7a42.chunk.js +0 -1
- package/dist/scripts/45.chunk.js +0 -64
- package/dist/scripts/45.chunk.js.map +0 -1
- package/dist/scripts/46-a594ad7eba.chunk.js +0 -1
- package/dist/scripts/46.chunk.js +0 -108
- package/dist/scripts/46.chunk.js.map +0 -1
- package/dist/scripts/47-99777c20cf.chunk.js +0 -1
- package/dist/scripts/47.chunk.js +0 -110
- package/dist/scripts/47.chunk.js.map +0 -1
- package/dist/scripts/48-9880523c82.chunk.js +0 -1
- package/dist/scripts/48.chunk.js +0 -148
- package/dist/scripts/48.chunk.js.map +0 -1
- package/dist/scripts/49-5e718594e5.chunk.js +0 -1
- package/dist/scripts/49.chunk.js +0 -142
- package/dist/scripts/49.chunk.js.map +0 -1
- package/dist/scripts/5-2f631dcd74.chunk.js +0 -1
- package/dist/scripts/5.chunk.js +0 -3262
- package/dist/scripts/5.chunk.js.map +0 -1
- package/dist/scripts/50.chunk.js +0 -145
- package/dist/scripts/50.chunk.js.map +0 -1
- package/dist/scripts/51-211b643ca5.chunk.js +0 -1
- package/dist/scripts/51.chunk.js +0 -176
- package/dist/scripts/51.chunk.js.map +0 -1
- package/dist/scripts/52.chunk.js +0 -160
- package/dist/scripts/52.chunk.js.map +0 -1
- package/dist/scripts/53.chunk.js +0 -98
- package/dist/scripts/53.chunk.js.map +0 -1
- package/dist/scripts/54.chunk.js +0 -48
- package/dist/scripts/54.chunk.js.map +0 -1
- package/dist/scripts/55-d38be4860b.chunk.js +0 -1
- package/dist/scripts/55.chunk.js +0 -99
- package/dist/scripts/55.chunk.js.map +0 -1
- package/dist/scripts/56.chunk.js +0 -64
- package/dist/scripts/56.chunk.js.map +0 -1
- package/dist/scripts/57.chunk.js +0 -72
- package/dist/scripts/57.chunk.js.map +0 -1
- package/dist/scripts/58.chunk.js +0 -73
- package/dist/scripts/58.chunk.js.map +0 -1
- package/dist/scripts/59.chunk.js +0 -70
- package/dist/scripts/59.chunk.js.map +0 -1
- package/dist/scripts/6-4d72a3c3fc.chunk.js +0 -1
- package/dist/scripts/6.chunk.js +0 -24
- package/dist/scripts/6.chunk.js.map +0 -1
- package/dist/scripts/60.chunk.js +0 -32
- package/dist/scripts/60.chunk.js.map +0 -1
- package/dist/scripts/61.chunk.js +0 -29
- package/dist/scripts/61.chunk.js.map +0 -1
- package/dist/scripts/62.chunk.js +0 -27
- package/dist/scripts/62.chunk.js.map +0 -1
- package/dist/scripts/63.chunk.js +0 -67
- package/dist/scripts/63.chunk.js.map +0 -1
- package/dist/scripts/64.chunk.js +0 -80
- package/dist/scripts/64.chunk.js.map +0 -1
- package/dist/scripts/65.chunk.js +0 -65
- package/dist/scripts/65.chunk.js.map +0 -1
- package/dist/scripts/66.chunk.js +0 -67
- package/dist/scripts/66.chunk.js.map +0 -1
- package/dist/scripts/67.chunk.js +0 -104
- package/dist/scripts/67.chunk.js.map +0 -1
- package/dist/scripts/68.chunk.js +0 -69
- package/dist/scripts/68.chunk.js.map +0 -1
- package/dist/scripts/69.chunk.js +0 -89
- package/dist/scripts/69.chunk.js.map +0 -1
- package/dist/scripts/7-90ad392b55.chunk.js +0 -1
- package/dist/scripts/7.chunk.js +0 -327
- package/dist/scripts/7.chunk.js.map +0 -1
- package/dist/scripts/70.chunk.js +0 -36
- package/dist/scripts/70.chunk.js.map +0 -1
- package/dist/scripts/8.chunk.js +0 -470
- package/dist/scripts/8.chunk.js.map +0 -1
- package/dist/scripts/9-52877087ef.chunk.js +0 -1
- package/dist/scripts/9.chunk.js +0 -471
- package/dist/scripts/9.chunk.js.map +0 -1
- package/dist/scripts/bundle-87d75d901a.min.js +0 -1
- package/dist/scripts/bundle-99976c17a2.min.js +0 -1
- package/dist/scripts/bundle-9f5ad50596.min.js +0 -1
- package/dist/scripts/bundle-a4952df647.min.js +0 -1
- package/dist/scripts/bundle.js +0 -34769
- package/dist/scripts/bundle.js.map +0 -1
- /package/dist/css/{30.chunk.css → 8.chunk.css} +0 -0
package/dist/scripts/17.chunk.js
DELETED
|
@@ -1,541 +0,0 @@
|
|
|
1
|
-
(window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[17],{
|
|
2
|
-
|
|
3
|
-
/***/ "../../libs/shared/src/components/forms/form-buttons/FormButtons.tsx":
|
|
4
|
-
/*!***************************************************************************************************************!*\
|
|
5
|
-
!*** C:/ClickView Projects/@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
|
-
const namespace = 'shared.formButtons';
|
|
25
|
-
const ENTER_KEY_CODE = 13;
|
|
26
|
-
function FormButtons(props) {
|
|
27
|
-
const formikProps = Object(formik__WEBPACK_IMPORTED_MODULE_1__["useFormikContext"])();
|
|
28
|
-
const 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"](() => {
|
|
36
|
-
function onKeyPress(e) {
|
|
37
|
-
if (e.keyCode !== ENTER_KEY_CODE || !canSubmit) return;
|
|
38
|
-
formikProps.validateForm().then(errors => {
|
|
39
|
-
if (!Object.keys(errors).length) formikProps.submitForm();
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
window.addEventListener('keypress', onKeyPress);
|
|
44
|
-
return () => window.removeEventListener('keypress', onKeyPress);
|
|
45
|
-
}, [canSubmit]);
|
|
46
|
-
let phraseKey = 'save';
|
|
47
|
-
if (props.isNew) phraseKey = 'create';
|
|
48
|
-
if (props.hasNext) phraseKey = 'next';
|
|
49
|
-
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_spinner_button_SpinnerButton__WEBPACK_IMPORTED_MODULE_3__["SpinnerButton"], {
|
|
50
|
-
showSpinner: formikProps.isSubmitting,
|
|
51
|
-
type: 'submit',
|
|
52
|
-
disabled: !canSubmit
|
|
53
|
-
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_text_Text__WEBPACK_IMPORTED_MODULE_4__["Text"], {
|
|
54
|
-
namespace: namespace,
|
|
55
|
-
phrase: phraseKey
|
|
56
|
-
}));
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
/***/ }),
|
|
60
|
-
|
|
61
|
-
/***/ "../../libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx":
|
|
62
|
-
/*!*****************************************************************************************************************!*\
|
|
63
|
-
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx ***!
|
|
64
|
-
\*****************************************************************************************************************/
|
|
65
|
-
/*! exports provided: FormCheckbox */
|
|
66
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
67
|
-
|
|
68
|
-
"use strict";
|
|
69
|
-
__webpack_require__.r(__webpack_exports__);
|
|
70
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormCheckbox", function() { return FormCheckbox; });
|
|
71
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
72
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
73
|
-
/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-bootstrap */ "react-bootstrap");
|
|
74
|
-
/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__);
|
|
75
|
-
/* harmony import */ var _form_field_FormField__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../form-field/FormField */ "../../libs/shared/src/components/forms/form-field/FormField.tsx");
|
|
76
|
-
var __rest = undefined && undefined.__rest || function (s, e) {
|
|
77
|
-
var t = {};
|
|
78
|
-
|
|
79
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
80
|
-
|
|
81
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
82
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
83
|
-
}
|
|
84
|
-
return t;
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Use this checkbox within Formik contexts
|
|
92
|
-
*/
|
|
93
|
-
|
|
94
|
-
function FormCheckbox(props) {
|
|
95
|
-
const {
|
|
96
|
-
label
|
|
97
|
-
} = props,
|
|
98
|
-
fieldProps = __rest(props, ["label"]);
|
|
99
|
-
|
|
100
|
-
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Form"].Group, null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
101
|
-
className: 'custom-control custom-checkbox'
|
|
102
|
-
}, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_form_field_FormField__WEBPACK_IMPORTED_MODULE_2__["FieldWrapper"], Object.assign({
|
|
103
|
-
className: 'custom-control-input'
|
|
104
|
-
}, fieldProps)), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Form"].Label, {
|
|
105
|
-
className: 'custom-control-label',
|
|
106
|
-
htmlFor: fieldProps.id
|
|
107
|
-
}, label)));
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/***/ }),
|
|
111
|
-
|
|
112
|
-
/***/ "../../libs/shared/src/components/forms/form-field/CharacterCounter.tsx":
|
|
113
|
-
/*!******************************************************************************************************************!*\
|
|
114
|
-
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/forms/form-field/CharacterCounter.tsx ***!
|
|
115
|
-
\******************************************************************************************************************/
|
|
116
|
-
/*! exports provided: CharacterCounter */
|
|
117
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
118
|
-
|
|
119
|
-
"use strict";
|
|
120
|
-
__webpack_require__.r(__webpack_exports__);
|
|
121
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CharacterCounter", function() { return CharacterCounter; });
|
|
122
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
123
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
124
|
-
/* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
function CharacterCounter(props) {
|
|
128
|
-
const {
|
|
129
|
-
values
|
|
130
|
-
} = Object(formik__WEBPACK_IMPORTED_MODULE_1__["useFormikContext"])();
|
|
131
|
-
const field = values[props.fieldName];
|
|
132
|
-
if (typeof field !== 'string') return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
|
|
133
|
-
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
|
|
134
|
-
className: 'float-right text-muted'
|
|
135
|
-
}, field.length, "/", props.limit);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
/***/ }),
|
|
139
|
-
|
|
140
|
-
/***/ "../../libs/shared/src/components/forms/form-field/FormField.tsx":
|
|
141
|
-
/*!***********************************************************************************************************!*\
|
|
142
|
-
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/forms/form-field/FormField.tsx ***!
|
|
143
|
-
\***********************************************************************************************************/
|
|
144
|
-
/*! exports provided: FieldWrapper, FormField */
|
|
145
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
146
|
-
|
|
147
|
-
"use strict";
|
|
148
|
-
__webpack_require__.r(__webpack_exports__);
|
|
149
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FieldWrapper", function() { return FieldWrapper; });
|
|
150
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormField", function() { return FormField; });
|
|
151
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
152
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
153
|
-
/* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
|
|
154
|
-
/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-bootstrap */ "react-bootstrap");
|
|
155
|
-
/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_2__);
|
|
156
|
-
/* 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");
|
|
157
|
-
/* harmony import */ var _utils_FormHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../utils/FormHelper */ "../../libs/shared/src/utils/FormHelper.ts");
|
|
158
|
-
/* harmony import */ var _CharacterCounter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CharacterCounter */ "../../libs/shared/src/components/forms/form-field/CharacterCounter.tsx");
|
|
159
|
-
/* harmony import */ var _form_checkbox_FormCheckbox__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../form-checkbox/FormCheckbox */ "../../libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx");
|
|
160
|
-
var __rest = undefined && undefined.__rest || function (s, e) {
|
|
161
|
-
var t = {};
|
|
162
|
-
|
|
163
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
164
|
-
|
|
165
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
166
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
167
|
-
}
|
|
168
|
-
return t;
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
function FieldWrapper(props) {
|
|
179
|
-
const {
|
|
180
|
-
children
|
|
181
|
-
} = props,
|
|
182
|
-
fieldProps = __rest(props, ["children"]);
|
|
183
|
-
|
|
184
|
-
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) ? f => children(f) : react__WEBPACK_IMPORTED_MODULE_0__["Children"].count(children) ? children : null);
|
|
185
|
-
}
|
|
186
|
-
function FormField(props) {
|
|
187
|
-
const {
|
|
188
|
-
label,
|
|
189
|
-
className,
|
|
190
|
-
showCharacterCounter
|
|
191
|
-
} = props,
|
|
192
|
-
fieldProps = __rest(props, ["label", "className", "showCharacterCounter"]);
|
|
193
|
-
|
|
194
|
-
const {
|
|
195
|
-
errors,
|
|
196
|
-
touched
|
|
197
|
-
} = Object(formik__WEBPACK_IMPORTED_MODULE_1__["useFormikContext"])();
|
|
198
|
-
if (fieldProps.type === 'checkbox') return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_form_checkbox_FormCheckbox__WEBPACK_IMPORTED_MODULE_6__["FormCheckbox"], Object.assign({}, props));
|
|
199
|
-
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, {
|
|
200
|
-
htmlFor: fieldProps.id
|
|
201
|
-
}, label), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](FieldWrapper, Object.assign({
|
|
202
|
-
className: _utils_FormHelper__WEBPACK_IMPORTED_MODULE_4__["FormHelper"].getCustomFormControlClassName(errors, touched, fieldProps.name, className)
|
|
203
|
-
}, fieldProps)), !!showCharacterCounter && !!fieldProps.maxLength && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_CharacterCounter__WEBPACK_IMPORTED_MODULE_5__["CharacterCounter"], {
|
|
204
|
-
fieldName: fieldProps.name,
|
|
205
|
-
limit: fieldProps.maxLength
|
|
206
|
-
}), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](formik__WEBPACK_IMPORTED_MODULE_1__["ErrorMessage"], {
|
|
207
|
-
name: fieldProps.name
|
|
208
|
-
}, errorMessage => react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_2__["Form"].Control.Feedback, {
|
|
209
|
-
type: 'invalid'
|
|
210
|
-
}, errorMessage)));
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
/***/ }),
|
|
214
|
-
|
|
215
|
-
/***/ "../../libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx":
|
|
216
|
-
/*!***************************************************************************************************************!*\
|
|
217
|
-
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx ***!
|
|
218
|
-
\***************************************************************************************************************/
|
|
219
|
-
/*! exports provided: FormWrapper, useFormikContextWrapper */
|
|
220
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
221
|
-
|
|
222
|
-
"use strict";
|
|
223
|
-
__webpack_require__.r(__webpack_exports__);
|
|
224
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormWrapper", function() { return FormWrapper; });
|
|
225
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useFormikContextWrapper", function() { return useFormikContextWrapper; });
|
|
226
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
227
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
228
|
-
/* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
|
|
229
|
-
/* 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");
|
|
230
|
-
/* 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");
|
|
231
|
-
var __rest = undefined && undefined.__rest || function (s, e) {
|
|
232
|
-
var t = {};
|
|
233
|
-
|
|
234
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
235
|
-
|
|
236
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
237
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
238
|
-
}
|
|
239
|
-
return t;
|
|
240
|
-
};
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
function omitNullInitialValues(initialValues) {
|
|
248
|
-
const values = _common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_3__["ObjectHelper"].deepClone(initialValues);
|
|
249
|
-
Object.keys(values).forEach(key => {
|
|
250
|
-
if (!values.hasOwnProperty(key)) return;
|
|
251
|
-
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];
|
|
252
|
-
});
|
|
253
|
-
return values;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
FormWrapper.defaultProps = {
|
|
257
|
-
castInitialValues: true,
|
|
258
|
-
castValuesOnSubmit: true
|
|
259
|
-
};
|
|
260
|
-
function FormWrapper(props) {
|
|
261
|
-
const {
|
|
262
|
-
castInitialValues,
|
|
263
|
-
castValuesOnSubmit,
|
|
264
|
-
initialValues,
|
|
265
|
-
onSubmit,
|
|
266
|
-
resetOnSubmit
|
|
267
|
-
} = props,
|
|
268
|
-
formikProps = __rest(props, ["castInitialValues", "castValuesOnSubmit", "initialValues", "onSubmit", "resetOnSubmit"]);
|
|
269
|
-
/**
|
|
270
|
-
* If castInitialValues is true, cast initialValues to the validationSchema.
|
|
271
|
-
* This will ensure that any data fetched from the api conforms to the expected form data shape.
|
|
272
|
-
*/
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
const formattedInitialValues = castInitialValues && props.validationSchema ? props.validationSchema.cast(omitNullInitialValues(initialValues)) : initialValues;
|
|
276
|
-
|
|
277
|
-
const onSubmitHandler = (values, {
|
|
278
|
-
setSubmitting,
|
|
279
|
-
resetForm
|
|
280
|
-
}) => {
|
|
281
|
-
/**
|
|
282
|
-
* validationSchema.cast will coerce the values to the types defined in validationSchema.
|
|
283
|
-
* This is useful for trimming inputs:
|
|
284
|
-
* e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.
|
|
285
|
-
*/
|
|
286
|
-
const formattedData = castValuesOnSubmit && props.validationSchema ? props.validationSchema.cast(values) : values;
|
|
287
|
-
onSubmit(formattedData, () => {
|
|
288
|
-
resetOnSubmit && resetForm();
|
|
289
|
-
setSubmitting(false);
|
|
290
|
-
});
|
|
291
|
-
};
|
|
292
|
-
|
|
293
|
-
const initialStatus = {
|
|
294
|
-
allowInitialSubmit: props.allowInitialSubmit
|
|
295
|
-
};
|
|
296
|
-
return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](formik__WEBPACK_IMPORTED_MODULE_1__["Formik"], Object.assign({
|
|
297
|
-
enableReinitialize: true
|
|
298
|
-
}, formikProps, {
|
|
299
|
-
initialValues: formattedInitialValues,
|
|
300
|
-
onSubmit: onSubmitHandler,
|
|
301
|
-
initialStatus: initialStatus
|
|
302
|
-
}), _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_2__["FunctionHelper"].isFunction(props.children) ? f => props.children(f) : react__WEBPACK_IMPORTED_MODULE_0__["Children"].count(props.children) ? props.children : null);
|
|
303
|
-
}
|
|
304
|
-
function useFormikContextWrapper() {
|
|
305
|
-
return Object(formik__WEBPACK_IMPORTED_MODULE_1__["useFormikContext"])();
|
|
306
|
-
}
|
|
307
|
-
|
|
308
|
-
/***/ }),
|
|
309
|
-
|
|
310
|
-
/***/ "../../libs/shared/src/hooks/UseAlerts.ts":
|
|
311
|
-
/*!************************************************************************************!*\
|
|
312
|
-
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseAlerts.ts ***!
|
|
313
|
-
\************************************************************************************/
|
|
314
|
-
/*! exports provided: useAlerts */
|
|
315
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
316
|
-
|
|
317
|
-
"use strict";
|
|
318
|
-
__webpack_require__.r(__webpack_exports__);
|
|
319
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useAlerts", function() { return useAlerts; });
|
|
320
|
-
/* harmony import */ var _common_src_react_hooks_UseService__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../common/src/react/hooks/UseService */ "../../libs/common/src/react/hooks/UseService.ts");
|
|
321
|
-
/* harmony import */ var _common_src_backbone_services_BaseAlertService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../common/src/backbone/services/BaseAlertService */ "../../libs/common/src/backbone/services/BaseAlertService.ts");
|
|
322
|
-
/* harmony import */ var _common_src_backbone_constants_CommonServices__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../common/src/backbone/constants/CommonServices */ "../../libs/common/src/backbone/constants/CommonServices.ts");
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
const useAlerts = () => {
|
|
327
|
-
const alertService = Object(_common_src_react_hooks_UseService__WEBPACK_IMPORTED_MODULE_0__["useService"])(_common_src_backbone_constants_CommonServices__WEBPACK_IMPORTED_MODULE_2__["CommonServices"].ALERT);
|
|
328
|
-
return {
|
|
329
|
-
success(alertContent) {
|
|
330
|
-
alertService.success(alertContent)();
|
|
331
|
-
},
|
|
332
|
-
|
|
333
|
-
error(alertContent) {
|
|
334
|
-
alertService.error(alertContent)();
|
|
335
|
-
},
|
|
336
|
-
|
|
337
|
-
warning(alertContent) {
|
|
338
|
-
alertService.createAlert({
|
|
339
|
-
type: _common_src_backbone_services_BaseAlertService__WEBPACK_IMPORTED_MODULE_1__["AlertType"].Warning,
|
|
340
|
-
heading: _common_src_backbone_services_BaseAlertService__WEBPACK_IMPORTED_MODULE_1__["DefaultAlertHeading"].Warning,
|
|
341
|
-
message: alertContent
|
|
342
|
-
});
|
|
343
|
-
}
|
|
344
|
-
|
|
345
|
-
};
|
|
346
|
-
};
|
|
347
|
-
|
|
348
|
-
/***/ }),
|
|
349
|
-
|
|
350
|
-
/***/ "../../libs/shared/src/hooks/UseCanSubmitForm.ts":
|
|
351
|
-
/*!*******************************************************************************************!*\
|
|
352
|
-
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseCanSubmitForm.ts ***!
|
|
353
|
-
\*******************************************************************************************/
|
|
354
|
-
/*! exports provided: useCanSubmitForm */
|
|
355
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
356
|
-
|
|
357
|
-
"use strict";
|
|
358
|
-
__webpack_require__.r(__webpack_exports__);
|
|
359
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useCanSubmitForm", function() { return useCanSubmitForm; });
|
|
360
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
361
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
362
|
-
|
|
363
|
-
/**
|
|
364
|
-
* useCanSubmitForm determines if a form can be submitted.
|
|
365
|
-
*
|
|
366
|
-
* It will return true if a form is valid and has been changed from it's initial state.
|
|
367
|
-
*
|
|
368
|
-
* A common use case for this is determining whether or not to enable
|
|
369
|
-
* a submit button in a form.
|
|
370
|
-
*/
|
|
371
|
-
|
|
372
|
-
function useCanSubmitForm(formikProps) {
|
|
373
|
-
var _a;
|
|
374
|
-
|
|
375
|
-
const [canSubmit, setCanSubmit] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](false);
|
|
376
|
-
react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
|
|
377
|
-
var _a;
|
|
378
|
-
|
|
379
|
-
if (!formikProps.isValid) {
|
|
380
|
-
setCanSubmit(false);
|
|
381
|
-
return;
|
|
382
|
-
} // If the form values have changed of if allowInitialSubmit is true, set canSubmit to true.
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
if (formikProps.dirty || ((_a = formikProps.initialStatus) === null || _a === void 0 ? void 0 : _a.allowInitialSubmit)) setCanSubmit(true);else setCanSubmit(false);
|
|
386
|
-
}, [formikProps.isValid, (_a = formikProps.initialStatus) === null || _a === void 0 ? void 0 : _a.allowInitialSubmit, formikProps.dirty, formikProps.values]);
|
|
387
|
-
react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
|
|
388
|
-
if (formikProps.isSubmitting) setCanSubmit(false);
|
|
389
|
-
}, [formikProps.isSubmitting]);
|
|
390
|
-
return canSubmit;
|
|
391
|
-
}
|
|
392
|
-
|
|
393
|
-
/***/ }),
|
|
394
|
-
|
|
395
|
-
/***/ "../../libs/shared/src/utils/FormHelper.ts":
|
|
396
|
-
/*!*************************************************************************************!*\
|
|
397
|
-
!*** C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/FormHelper.ts ***!
|
|
398
|
-
\*************************************************************************************/
|
|
399
|
-
/*! exports provided: FormHelper */
|
|
400
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
401
|
-
|
|
402
|
-
"use strict";
|
|
403
|
-
__webpack_require__.r(__webpack_exports__);
|
|
404
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormHelper", function() { return FormHelper; });
|
|
405
|
-
/* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
|
|
406
|
-
|
|
407
|
-
const FormHelper = {
|
|
408
|
-
getCustomFormControlClassName(errors, touched, attribute, additionalClassName) {
|
|
409
|
-
let className = 'form-control'; // Using getIn as it supports dot notation
|
|
410
|
-
|
|
411
|
-
if (Object(formik__WEBPACK_IMPORTED_MODULE_0__["getIn"])(touched, attribute) && Object(formik__WEBPACK_IMPORTED_MODULE_0__["getIn"])(errors, attribute)) className += ' is-invalid';
|
|
412
|
-
if (additionalClassName) className += ` ${additionalClassName}`;
|
|
413
|
-
return className;
|
|
414
|
-
}
|
|
415
|
-
|
|
416
|
-
};
|
|
417
|
-
|
|
418
|
-
/***/ }),
|
|
419
|
-
|
|
420
|
-
/***/ "./src/apps/classrooms/components/classroom-details-form/ClassroomDetailsForm.tsx":
|
|
421
|
-
/*!****************************************************************************************!*\
|
|
422
|
-
!*** ./src/apps/classrooms/components/classroom-details-form/ClassroomDetailsForm.tsx ***!
|
|
423
|
-
\****************************************************************************************/
|
|
424
|
-
/*! exports provided: ClassroomDetailsForm */
|
|
425
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
426
|
-
|
|
427
|
-
"use strict";
|
|
428
|
-
__webpack_require__.r(__webpack_exports__);
|
|
429
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ClassroomDetailsForm", function() { return ClassroomDetailsForm; });
|
|
430
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
431
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
432
|
-
/* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
|
|
433
|
-
/* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
|
|
434
|
-
/* harmony import */ var _libs_shared_src_components_forms_form_field_FormField__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/forms/form-field/FormField */ "../../libs/shared/src/components/forms/form-field/FormField.tsx");
|
|
435
|
-
/* harmony import */ var _libs_shared_src_components_forms_form_wrapper_FormWrapper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/forms/form-wrapper/FormWrapper */ "../../libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx");
|
|
436
|
-
/* harmony import */ var _libs_shared_src_components_forms_form_buttons_FormButtons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/forms/form-buttons/FormButtons */ "../../libs/shared/src/components/forms/form-buttons/FormButtons.tsx");
|
|
437
|
-
/* harmony import */ var _libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
var namespace = 'classrooms.classroomDetailsForm';
|
|
446
|
-
var getPhrase = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__["LanguageService"].encloseNamespace(namespace);
|
|
447
|
-
function ClassroomDetailsForm(props) {
|
|
448
|
-
var formikProps = Object(_libs_shared_src_components_forms_form_wrapper_FormWrapper__WEBPACK_IMPORTED_MODULE_4__["useFormikContextWrapper"])();
|
|
449
|
-
return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(formik__WEBPACK_IMPORTED_MODULE_1__["Form"], null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_forms_form_field_FormField__WEBPACK_IMPORTED_MODULE_3__["FormField"], {
|
|
450
|
-
label: getPhrase('nameLabel'),
|
|
451
|
-
type: 'text',
|
|
452
|
-
name: 'name',
|
|
453
|
-
id: 'name',
|
|
454
|
-
placeholder: getPhrase('namePlaceholder'),
|
|
455
|
-
autoFocus: true,
|
|
456
|
-
value: formikProps.values.name
|
|
457
|
-
}), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
|
|
458
|
-
className: 'btn-container d-flex justify-content-end'
|
|
459
|
-
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
|
|
460
|
-
type: 'button',
|
|
461
|
-
className: 'btn btn-link mr-2',
|
|
462
|
-
onClick: props.onClickCancel
|
|
463
|
-
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_6__["Text"], {
|
|
464
|
-
namespace: namespace,
|
|
465
|
-
phrase: 'cancel'
|
|
466
|
-
})), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_forms_form_buttons_FormButtons__WEBPACK_IMPORTED_MODULE_5__["FormButtons"], {
|
|
467
|
-
isNew: props.isNew
|
|
468
|
-
})));
|
|
469
|
-
}
|
|
470
|
-
|
|
471
|
-
/***/ }),
|
|
472
|
-
|
|
473
|
-
/***/ "./src/apps/classrooms/components/edit-classroom-details/EditClassroomDetails.tsx":
|
|
474
|
-
/*!****************************************************************************************!*\
|
|
475
|
-
!*** ./src/apps/classrooms/components/edit-classroom-details/EditClassroomDetails.tsx ***!
|
|
476
|
-
\****************************************************************************************/
|
|
477
|
-
/*! exports provided: EditClassroomDetails */
|
|
478
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
479
|
-
|
|
480
|
-
"use strict";
|
|
481
|
-
__webpack_require__.r(__webpack_exports__);
|
|
482
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "EditClassroomDetails", function() { return EditClassroomDetails; });
|
|
483
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
484
|
-
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
485
|
-
/* harmony import */ var _libs_shared_src_components_forms_form_wrapper_FormWrapper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/forms/form-wrapper/FormWrapper */ "../../libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx");
|
|
486
|
-
/* harmony import */ var apps_classrooms_validation_ClassroomValidationSchema__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! apps/classrooms/validation/ClassroomValidationSchema */ "./src/apps/classrooms/validation/ClassroomValidationSchema.ts");
|
|
487
|
-
/* harmony import */ var apps_classrooms_components_classroom_details_form_ClassroomDetailsForm__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! apps/classrooms/components/classroom-details-form/ClassroomDetailsForm */ "./src/apps/classrooms/components/classroom-details-form/ClassroomDetailsForm.tsx");
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
function EditClassroomDetails(props) {
|
|
493
|
-
var _a, _b;
|
|
494
|
-
|
|
495
|
-
var classroom = props.classroom,
|
|
496
|
-
saveClassroom = props.saveClassroom,
|
|
497
|
-
onClickCancel = props.onClickCancel;
|
|
498
|
-
var initialValues = {
|
|
499
|
-
id: (_a = classroom) === null || _a === void 0 ? void 0 : _a.id,
|
|
500
|
-
name: (_b = classroom) === null || _b === void 0 ? void 0 : _b.name
|
|
501
|
-
};
|
|
502
|
-
return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_forms_form_wrapper_FormWrapper__WEBPACK_IMPORTED_MODULE_1__["FormWrapper"], {
|
|
503
|
-
initialValues: initialValues,
|
|
504
|
-
validationSchema: apps_classrooms_validation_ClassroomValidationSchema__WEBPACK_IMPORTED_MODULE_2__["ClassroomValidationSchema"],
|
|
505
|
-
onSubmit: saveClassroom
|
|
506
|
-
}, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(apps_classrooms_components_classroom_details_form_ClassroomDetailsForm__WEBPACK_IMPORTED_MODULE_3__["ClassroomDetailsForm"], {
|
|
507
|
-
isNew: !classroom,
|
|
508
|
-
onClickCancel: onClickCancel
|
|
509
|
-
}));
|
|
510
|
-
}
|
|
511
|
-
|
|
512
|
-
/***/ }),
|
|
513
|
-
|
|
514
|
-
/***/ "./src/apps/classrooms/validation/ClassroomValidationSchema.ts":
|
|
515
|
-
/*!*********************************************************************!*\
|
|
516
|
-
!*** ./src/apps/classrooms/validation/ClassroomValidationSchema.ts ***!
|
|
517
|
-
\*********************************************************************/
|
|
518
|
-
/*! exports provided: ClassroomValidationSchema */
|
|
519
|
-
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
520
|
-
|
|
521
|
-
"use strict";
|
|
522
|
-
__webpack_require__.r(__webpack_exports__);
|
|
523
|
-
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ClassroomValidationSchema", function() { return ClassroomValidationSchema; });
|
|
524
|
-
/* harmony import */ var yup__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! yup */ "yup");
|
|
525
|
-
/* harmony import */ var yup__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(yup__WEBPACK_IMPORTED_MODULE_0__);
|
|
526
|
-
/* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
var getPhrase = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_1__["LanguageService"].encloseNamespace('classrooms.classroomValidation');
|
|
530
|
-
var ClassroomValidationSchema = Object(yup__WEBPACK_IMPORTED_MODULE_0__["object"])().shape({
|
|
531
|
-
name: Object(yup__WEBPACK_IMPORTED_MODULE_0__["string"])().max(255, function () {
|
|
532
|
-
return getPhrase('nameExceeds');
|
|
533
|
-
}).required(function () {
|
|
534
|
-
return getPhrase('nameRequired');
|
|
535
|
-
})["default"]('')
|
|
536
|
-
});
|
|
537
|
-
|
|
538
|
-
/***/ })
|
|
539
|
-
|
|
540
|
-
}]);
|
|
541
|
-
//# sourceMappingURL=17.chunk.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/forms/form-buttons/FormButtons.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/forms/form-field/CharacterCounter.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/forms/form-field/FormField.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseAlerts.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/hooks/UseCanSubmitForm.ts","file://C:/ClickView Projects/@clickview/packages/libs/shared/src/utils/FormHelper.ts","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/classrooms/components/classroom-details-form/ClassroomDetailsForm.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/classrooms/components/edit-classroom-details/EditClassroomDetails.tsx","file://C:/ClickView Projects/@clickview/packages/projects/lite/src/apps/classrooms/validation/ClassroomValidationSchema.ts"],"names":[],"mappings":"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","file":"scripts/17.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 { useService } from 'libs/common/react/hooks/UseService';\r\nimport { BaseAlertService, BaseAlert, BaseAlertOptions, AlertType, DefaultAlertHeading } from 'libs/common/backbone/services/BaseAlertService';\r\nimport { CommonServices } from 'libs/common/backbone/constants/CommonServices';\r\n\r\nexport const useAlerts = () => {\r\n const alertService = useService<BaseAlertService>(CommonServices.ALERT);\r\n\r\n return {\r\n success(alertContent: string | BaseAlert | BaseAlertOptions): void {\r\n alertService.success(alertContent)();\r\n },\r\n error(alertContent: string | BaseAlert | BaseAlertOptions): void {\r\n alertService.error(alertContent)();\r\n },\r\n warning(alertContent: string): void {\r\n alertService.createAlert({\r\n type: AlertType.Warning,\r\n heading: DefaultAlertHeading.Warning,\r\n message: alertContent\r\n });\r\n }\r\n };\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};","import React from 'react';\r\nimport { Form } from 'formik';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { FormField } from 'libs/shared/components/forms/form-field/FormField';\r\nimport { useFormikContextWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\r\nimport { FormButtons } from 'libs/shared/components/forms/form-buttons/FormButtons';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\n\r\nimport { EditClassroomRequest } from 'apps/classrooms/interfaces/EditClassroomRequest';\r\n\r\nconst namespace = 'classrooms.classroomDetailsForm';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\ninterface ClassroomDetailsFormProps {\r\n onClickCancel: () => void;\r\n isNew: boolean;\r\n}\r\n\r\nexport function ClassroomDetailsForm(props: ClassroomDetailsFormProps): JSX.Element {\r\n const formikProps = useFormikContextWrapper<EditClassroomRequest>();\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\r\n <div className='btn-container d-flex justify-content-end'>\r\n <button type='button' className='btn btn-link 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}","import React from 'react';\r\n\r\nimport { FormWrapper } from 'libs/shared/components/forms/form-wrapper/FormWrapper';\r\n\r\nimport { MockClassroom } from 'apps/user-manager/interfaces';\r\nimport { EditClassroomRequest } from 'apps/classrooms/interfaces/EditClassroomRequest';\r\nimport { ClassroomValidationSchema } from 'apps/classrooms/validation/ClassroomValidationSchema';\r\nimport { ClassroomDetailsForm } from 'apps/classrooms/components/classroom-details-form/ClassroomDetailsForm';\r\n\r\ninterface EditClassroomDetailsProps {\r\n classroom?: MockClassroom;\r\n saveClassroom: (data: EditClassroomRequest) => void;\r\n onClickCancel: () => void;\r\n}\r\n\r\nexport function EditClassroomDetails(props: EditClassroomDetailsProps): React.ReactElement {\r\n const { classroom, saveClassroom, onClickCancel } = props;\r\n\r\n const initialValues: EditClassroomRequest = {\r\n id: classroom?.id,\r\n name: classroom?.name\r\n };\r\n\r\n return (\r\n <FormWrapper<EditClassroomRequest>\r\n initialValues={initialValues}\r\n validationSchema={ClassroomValidationSchema}\r\n onSubmit={saveClassroom}\r\n >\r\n <ClassroomDetailsForm isNew={!classroom} onClickCancel={onClickCancel} />\r\n </FormWrapper>\r\n );\r\n}","import { object, string } from 'yup';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nconst getPhrase = LanguageService.encloseNamespace('classrooms.classroomValidation');\r\n\r\nexport const ClassroomValidationSchema = object().shape({\r\n name: string()\r\n .max(255, () => getPhrase('nameExceeds'))\r\n .required(() => getPhrase('nameRequired'))\r\n .default('')\r\n});"],"sourceRoot":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(window.webpackJsonp_clickview_lite=window.webpackJsonp_clickview_lite||[]).push([[18],{412:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var a=n(78),r=n(29),o=n(37);const c=()=>{const e=Object(a.a)(o.a.ALERT);return{success(t){e.success(t)()},error(t){e.error(t)()},warning(t){e.createAlert({type:r.a.Warning,heading:r.c.Warning,message:t})}}}},413:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var a=n(0);function r(e){return a.createElement("div",{role:"button",tabIndex:0,className:(e.className?e.className:"")+" cursor-pointer",onKeyDown:t=>"Enter"===t.key&&e.onClick(t),onClick:e.onClick,style:e.style?e.style:{}},e.children)}},414:function(e,t,n){"use strict";n.d(t,"a",(function(){return i})),n.d(t,"b",(function(){return s}));var a=n(0),r=n(411),o=n(26),c=n(36),l=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};function i(e){const{castInitialValues:t,castValuesOnSubmit:n,initialValues:i,onSubmit:s,resetOnSubmit:u}=e,m=l(e,["castInitialValues","castValuesOnSubmit","initialValues","onSubmit","resetOnSubmit"]),d=t&&e.validationSchema?e.validationSchema.cast(function e(t){const n=c.a.deepClone(t);return Object.keys(n).forEach(t=>{n.hasOwnProperty(t)&&(c.a.isObject(n[t])?n[t]=e(n[t]):null===n[t]&&delete n[t])}),n}(i)):i,p={allowInitialSubmit:e.allowInitialSubmit};return a.createElement(r.d,Object.assign({enableReinitialize:!0},m,{initialValues:d,onSubmit:(t,{setSubmitting:a,resetForm:r})=>{const o=n&&e.validationSchema?e.validationSchema.cast(t):t;s(o,()=>{u&&r(),a(!1)})},initialStatus:p}),o.a.isFunction(e.children)?t=>e.children(t):a.Children.count(e.children)?e.children:null)}function s(){return Object(r.f)()}i.defaultProps={castInitialValues:!0,castValuesOnSubmit:!0}},420:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var a=n(411);const r={getCustomFormControlClassName(e,t,n,r){let o="form-control";return Object(a.e)(t,n)&&Object(a.e)(e,n)&&(o+=" is-invalid"),r&&(o+=" "+r),o}}},422:function(e,t,n){"use strict";var a=n(0),r=n(411),o=n(28),c=n(26),l=n(420);function i(e){const{values:t}=Object(r.f)(),n=t[e.fieldName];return"string"!=typeof n?a.createElement(a.Fragment,null):a.createElement("div",{className:"float-right text-muted"},n.length,"/",e.limit)}var s=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};function u(e){const{label:t}=e,n=s(e,["label"]);return a.createElement(o.Form.Group,null,a.createElement("div",{className:"custom-control custom-checkbox"},a.createElement(d,Object.assign({className:"custom-control-input"},n)),a.createElement(o.Form.Label,{className:"custom-control-label",htmlFor:n.id},t)))}n.d(t,"a",(function(){return d})),n.d(t,"b",(function(){return p}));var m=function(e,t){var n={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.indexOf(a)<0&&(n[a]=e[a]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(a=Object.getOwnPropertySymbols(e);r<a.length;r++)t.indexOf(a[r])<0&&Object.prototype.propertyIsEnumerable.call(e,a[r])&&(n[a[r]]=e[a[r]])}return n};function d(e){const{children:t}=e,n=m(e,["children"]);return a.createElement(r.b,Object.assign({},n),c.a.isFunction(t)?e=>t(e):a.Children.count(t)?t:null)}function p(e){const{label:t,className:n,showCharacterCounter:c}=e,s=m(e,["label","className","showCharacterCounter"]),{errors:p,touched:b}=Object(r.f)();return"checkbox"===s.type?a.createElement(u,Object.assign({},e)):a.createElement(o.Form.Group,null,!!t&&a.createElement(o.Form.Label,{htmlFor:s.id},t),a.createElement(d,Object.assign({className:l.a.getCustomFormControlClassName(p,b,s.name,n)},s)),!!c&&!!s.maxLength&&a.createElement(i,{fieldName:s.name,limit:s.maxLength}),a.createElement(r.a,{name:s.name},e=>a.createElement(o.Form.Control.Feedback,{type:"invalid"},e)))}},423:function(e,t,n){"use strict";var a=n(0),r=n(411);var o=n(127),c=n(48);n.d(t,"a",(function(){return l}));function l(e){const t=Object(r.f)(),n=function(e){var t;const[n,r]=a.useState(!1);return a.useEffect(()=>{var t;e.isValid&&(e.dirty||(null===(t=e.initialStatus)||void 0===t?void 0:t.allowInitialSubmit))?r(!0):r(!1)},[e.isValid,null===(t=e.initialStatus)||void 0===t?void 0:t.allowInitialSubmit,e.dirty,e.values]),a.useEffect(()=>{e.isSubmitting&&r(!1)},[e.isSubmitting]),n}(t);a.useEffect(()=>{function e(e){13===e.keyCode&&n&&t.validateForm().then(e=>{Object.keys(e).length||t.submitForm()})}return window.addEventListener("keypress",e),()=>window.removeEventListener("keypress",e)},[n]);let l="save";return e.isNew&&(l="create"),e.hasNext&&(l="next"),a.createElement(o.a,{showSpinner:t.isSubmitting,type:"submit",disabled:!n},a.createElement(c.b,{namespace:"shared.formButtons",phrase:l}))}},450:function(e,t,n){"use strict";var a;n.d(t,"a",(function(){return a})),function(e){e.White="white",e.Pink="pink",e.YellowOrange="yellow-orange",e.Emerald="emerald",e.PuertoRico="puerto-rico",e.PictonBlue="picton-blue",e.EastSide="east-side",e.Portage="portage"}(a||(a={}))},470:function(e,t,n){"use strict";function a(e){return"bg-".concat(e)}n.d(t,"a",(function(){return a}))},489:function(e,t,n){"use strict";n.d(t,"a",(function(){return p}));var a=n(0),r=n.n(a),o=n(28),c=n(413),l=n(33),i=n(10),s=n(450),u=n(470),m=n(490),d=n.n(m);function p(e){function t(t){var n="".concat(d.a.colourOption," position-relative"),a=t===s.a.White?"border border-dark":"",r=e.disabled?"cursor-default":"",o=Object(u.a)(t);return"".concat(n," ").concat(a," ").concat(r," ").concat(o)}var n,a,m={};return e.disabled&&(m.show=!1),r.a.createElement(o.Dropdown,Object.assign({},m),r.a.createElement(o.Dropdown.Toggle,{id:e.id,variant:"link",className:(n="".concat(d.a.dropdownToggle," outline-none p-0 d-flex align-items-center text-decoration-none"),a=e.disabled?"cursor-default":"","".concat(n," ").concat(a))},r.a.createElement("div",{className:"border border-secondary rounded bg-white ".concat(d.a.colourButton)},r.a.createElement("div",{className:"px-0 py-1 rounded ".concat(Object(u.a)(e.selection))}," ")),!e.disabled&&r.a.createElement(l.a,{svgName:i.b.Caret})),r.a.createElement(o.Dropdown.Menu,null,r.a.createElement("ul",{className:"".concat(d.a.colourList," list-unstyled d-flex flex-wrap px-2 m-0")},Object.keys(s.a).map((function(n){var a=s.a[n];return r.a.createElement("li",{key:"".concat(e.id,":").concat(a),className:"m-1"},r.a.createElement(c.a,{onClick:function(){return e.onSelect(a)},className:t(a)},a===s.a.White?r.a.createElement("div",{className:d.a.lineThrough}):r.a.createElement(r.a.Fragment,null," ")))})))))}p.defaultProps={selection:s.a.White,onSelect:function(){}}},490:function(e,t,n){e.exports={dropdownToggle:"_347DY",colourButton:"_1rKvE",colourList:"_328-w",colourOption:"_1Tw7u",lineThrough:"_18oZq"}},521:function(e,t,n){e.exports={groupNameInput:"_3hGvq"}},543:function(e,t,n){"use strict";var a=n(0),r=n.n(a),o=n(414),c=n(405),l=n(7),i=n(450),s=l.a.encloseNamespace("classrooms.classroomValidation"),u=Object(c.object)().shape({name:Object(c.string)().max(255,(function(){return s("nameExceeds")})).required((function(){return s("nameRequired")})).default(""),colour:Object(c.string)().required((function(){return s("colourRequired")})).default(i.a.White)}),m=n(411),d=n(422),p=n(423),b=n(48),f=n(489),v=n(521),h=n.n(v),g="classrooms.classroomGroupDetailsForm",E=l.a.encloseNamespace(g);function O(e){var t=Object(o.b)();return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",null,r.a.createElement("h2",{className:"w-50 d-inline-block h6"},r.a.createElement(b.b,{namespace:g,phrase:"nameLabel"})),r.a.createElement("h2",{className:"d-inline-block h6"},r.a.createElement(b.b,{namespace:g,phrase:"colourLabel"}))),r.a.createElement(m.c,null,r.a.createElement("div",{className:"pb-3 d-flex"},r.a.createElement("div",{className:"w-50"},r.a.createElement(d.b,{type:"text",name:"name",id:"name",className:"".concat(h.a.groupNameInput),placeholder:E("groupNamePlaceholder"),autoFocus:!0,value:t.values.name})),r.a.createElement("div",{className:"form-group"},r.a.createElement(f.a,{onSelect:function(e){return t.setFieldValue("colour",e)},selection:t.values.colour,id:"".concat(e.isNew?"create":"edit","-classroom-group")}))),r.a.createElement("div",{className:"btn-container d-flex justify-content-end"},r.a.createElement("button",{type:"button",className:"btn btn-link mr-2",onClick:e.onClickCancel},r.a.createElement(b.b,{namespace:g,phrase:"cancel"})),r.a.createElement(p.a,{isNew:e.isNew}))))}function y(e){var t,n,a,c=e.group,l=e.saveGroup,i=e.onClickCancel,s={id:null===(t=c)||void 0===t?void 0:t.id,name:null===(n=c)||void 0===n?void 0:n.name,colour:null===(a=c)||void 0===a?void 0:a.colour,students:[]};return r.a.createElement(o.a,{initialValues:s,validationSchema:u,onSubmit:l},r.a.createElement(O,{isNew:!c,onClickCancel:i}))}n.d(t,"a",(function(){return y}))},626:function(e,t,n){"use strict";n.r(t),n.d(t,"EditClassroomGroupView",(function(){return b}));var a=n(0),r=n.n(a),o=n(39),c=n(12),l=n(7),i=n(118),s=n(412),u=n(123),m=n(543),d=n(31),p=l.a.encloseNamespace("classrooms.editClassroomGroup");function b(e){var t=c.a.useBasicFetch(u.a.getClassroom(e.classroomId)),n=Object(s.a)(),a=Object(o.useDispatch)(),l=t.data?t.data.groups.find((function(t){return t.id===e.groupId})):null;return r.a.createElement(i.a,{title:p("title"),closePopup:e.closePopup,showLoadingSpinner:!l},r.a.createElement(m.a,{saveGroup:function(r){c.a.fetch(a,u.a.editGroup(r,t.data,(function(){n.success(p("success",{groupName:r.name})),d.a.logUserAction(r,e.analyticsOptions),e.closePopup()}),(function(){n.error(p("error",{groupName:l.name}))})))},group:l,onClickCancel:e.closePopup}))}}}]);
|