ui-soxo-bootstrap-core 2.6.5 → 2.6.6
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/.babelrc +8 -8
- package/.github/workflows/npm-publish.yml +33 -33
- package/.husky/pre-commit +11 -11
- package/.prettierrc.json +10 -10
- package/babel.config.js +2 -2
- package/core/components/component-loader/component-loader.js +125 -125
- package/core/components/component-wrapper/component-wrapper.js +121 -121
- package/core/components/external-window/DEVELOPER_GUIDE.md +705 -705
- package/core/components/external-window/external-window.js +236 -236
- package/core/components/external-window/external-window.test.js +80 -80
- package/core/components/extra-info/extra-info-details.js +155 -155
- package/core/components/extra-info/extra-info-details.scss +26 -26
- package/core/components/extra-info/extra-info.js +134 -134
- package/core/components/index.js +20 -20
- package/core/components/landing-api/landing-api.js +492 -492
- package/core/components/landing-api/landing-api.scss +19 -19
- package/core/components/menu-template-api/menu-template-api.js +321 -321
- package/core/components/root-application-api/root-application-api.js +174 -174
- package/core/index.js +13 -13
- package/core/lib/Store.js +365 -365
- package/core/lib/components/application-bootstrap/application-bootstrap.js +115 -115
- package/core/lib/components/approval-form/approval-form.js +280 -280
- package/core/lib/components/approval-form/approval-form.scss +183 -183
- package/core/lib/components/approval-list/approval-list.js +143 -143
- package/core/lib/components/approval-list/approval-list.scss +2 -2
- package/core/lib/components/approval-list/components/request-card/request-card.js +42 -42
- package/core/lib/components/approval-list/components/request-card/request-card.scss +30 -30
- package/core/lib/components/camera/camera.js +230 -230
- package/core/lib/components/camera/camera.scss +86 -86
- package/core/lib/components/comment-block/comment-block.js +138 -138
- package/core/lib/components/comment-block/comment-block.scss +3 -3
- package/core/lib/components/confirm-modal/confirm-modal.js +82 -82
- package/core/lib/components/confirm-modal/confirm-modal.scss +2 -2
- package/core/lib/components/consent/consent.js +67 -67
- package/core/lib/components/consent/pdf-signature.js +299 -299
- package/core/lib/components/consent/signature-pad.js +90 -90
- package/core/lib/components/consent/signature-pad.scss +14 -14
- package/core/lib/components/file-upload/file-upload.js +133 -133
- package/core/lib/components/finger-print-reader/finger-print-reader.js +295 -295
- package/core/lib/components/finger-print-reader/finger-print-reader.scss +47 -47
- package/core/lib/components/finger-print-search/finger-print-search.js +200 -200
- package/core/lib/components/finger-print-search/finger-print-search.scss +47 -47
- package/core/lib/components/global-header/animations.js +18 -18
- package/core/lib/components/global-header/global-header.js +413 -413
- package/core/lib/components/global-header/global-header.scss +369 -369
- package/core/lib/components/header/generic-header.js +76 -76
- package/core/lib/components/header/generic-header.scss +99 -99
- package/core/lib/components/image-preview/image-preview.js +33 -33
- package/core/lib/components/image-wrapper/image-wrapper.js +108 -108
- package/core/lib/components/image-wrapper/image-wrapper.scss +12 -12
- package/core/lib/components/index.js +206 -206
- package/core/lib/components/landing/landing.js +403 -403
- package/core/lib/components/language-switcher/language-switcher.js +49 -49
- package/core/lib/components/menu-context/menu-context.js +69 -69
- package/core/lib/components/menu-template/menu-template.js +249 -249
- package/core/lib/components/menu-template/menu-template.scss +9 -9
- package/core/lib/components/modal-search/modal-search.js +153 -153
- package/core/lib/components/modal-search/modal-search.scss +78 -78
- package/core/lib/components/modal-wrapper/modal-manager.js +15 -15
- package/core/lib/components/modal-wrapper/modal-wrapper.js +108 -108
- package/core/lib/components/modal-wrapper/modal-wrapper.scss +13 -13
- package/core/lib/components/notice-board/notice-board.js +132 -132
- package/core/lib/components/notice-board/notice-board.scss +65 -65
- package/core/lib/components/page-container/page-container.js +55 -55
- package/core/lib/components/page-container/page-container.scss +8 -8
- package/core/lib/components/page-header/page-header.js +23 -23
- package/core/lib/components/page-header/page-header.scss +17 -17
- package/core/lib/components/pdf-viewer/pdf-viewer.js +56 -56
- package/core/lib/components/portlet-table/components/table-actions/table-actions.js +58 -58
- package/core/lib/components/portlet-table/components/table-actions/table-actions.scss +1 -1
- package/core/lib/components/portlet-table/components/table-data/table-data.js +106 -106
- package/core/lib/components/portlet-table/portlet-table.js +63 -63
- package/core/lib/components/portlet-table/portlet-table.scss +90 -90
- package/core/lib/components/progress-bar/progress-bar.js +58 -58
- package/core/lib/components/progress-bar/progress-bar.scss +15 -15
- package/core/lib/components/request-form/request-form.js +110 -110
- package/core/lib/components/root-application/root-application.js +70 -70
- package/core/lib/components/rupee/rupee.js +14 -14
- package/core/lib/components/script-input/script-input.js +169 -169
- package/core/lib/components/script-input/script-input.scss +8 -8
- package/core/lib/components/sidemenu/animations.js +51 -51
- package/core/lib/components/sidemenu/sidemenu.js +578 -578
- package/core/lib/components/sidemenu/sidemenu.scss +277 -277
- package/core/lib/components/spotlight-search/spotlight-search.component.js +635 -635
- package/core/lib/components/spotlight-search/spotlight-search.component.scss +78 -78
- package/core/lib/components/table-wrapper/table-wrapper.js +135 -135
- package/core/lib/components/table-wrapper/table-wrapper.scss +72 -72
- package/core/lib/components/ui_elements/Loader.js +12 -12
- package/core/lib/components/ui_elements/Notify.js +12 -12
- package/core/lib/components/ui_elements/PlaceHolder.js +33 -33
- package/core/lib/components/web-camera/web-camera.js +161 -161
- package/core/lib/components/web-camera/web-camera.scss +28 -28
- package/core/lib/core.md +9 -9
- package/core/lib/elements/Elements.md +2 -2
- package/core/lib/elements/basic/LoggedUserRedirect.js +21 -21
- package/core/lib/elements/basic/PrivateRoute.js +16 -16
- package/core/lib/elements/basic/button/Button.md +43 -43
- package/core/lib/elements/basic/button/button.js +170 -170
- package/core/lib/elements/basic/card/Card.md +15 -15
- package/core/lib/elements/basic/card/card.js +40 -40
- package/core/lib/elements/basic/card/card.scss +13 -13
- package/core/lib/elements/basic/checkbox/checkbox.js +23 -23
- package/core/lib/elements/basic/col/col.js +15 -15
- package/core/lib/elements/basic/copy-to-clipboard/Readme.md +40 -40
- package/core/lib/elements/basic/copy-to-clipboard/copy-to-clipboard.js +61 -61
- package/core/lib/elements/basic/country-phone-input/Readme.md +98 -98
- package/core/lib/elements/basic/country-phone-input/country-phone-input.js +106 -106
- package/core/lib/elements/basic/country-phone-input/phone-input.scss +61 -61
- package/core/lib/elements/basic/datepicker/datepicker.js +33 -33
- package/core/lib/elements/basic/dragabble-wrapper/draggable-wrapper.js +136 -136
- package/core/lib/elements/basic/empty/empty.js +14 -14
- package/core/lib/elements/basic/fingerprint-protrected/fingerprint-protected.js +118 -118
- package/core/lib/elements/basic/fingerprint-protrected/fingerprint-protected.scss +10 -10
- package/core/lib/elements/basic/form/form.js +70 -70
- package/core/lib/elements/basic/form/form.scss +3 -3
- package/core/lib/elements/basic/image/image.js +45 -45
- package/core/lib/elements/basic/image/image.scss +17 -17
- package/core/lib/elements/basic/image/readme.md +26 -26
- package/core/lib/elements/basic/image-viewer/image-viewer.js +108 -108
- package/core/lib/elements/basic/image-viewer/image-viewer.scss +7 -7
- package/core/lib/elements/basic/input/input.js +81 -81
- package/core/lib/elements/basic/input/readme.md +77 -77
- package/core/lib/elements/basic/json-input/json-input.js +51 -51
- package/core/lib/elements/basic/menu-dashboard/menu-dashboard.js +216 -216
- package/core/lib/elements/basic/menu-dashboard/menu-dashboard.scss +28 -28
- package/core/lib/elements/basic/menu-tree/menu-tree.js +114 -114
- package/core/lib/elements/basic/modal/modal.js +64 -64
- package/core/lib/elements/basic/modal/readme.md +62 -62
- package/core/lib/elements/basic/popconfirm/popconfirm.js +17 -17
- package/core/lib/elements/basic/popover/popover.js +12 -12
- package/core/lib/elements/basic/radio/radio.js +18 -18
- package/core/lib/elements/basic/rangepicker/rangepicker.js +141 -141
- package/core/lib/elements/basic/rangepicker/rangepicker.scss +24 -24
- package/core/lib/elements/basic/rangepicker/readme.md +81 -81
- package/core/lib/elements/basic/reference-select/readme.md +18 -18
- package/core/lib/elements/basic/reference-select/reference-select.js +337 -337
- package/core/lib/elements/basic/row/row.js +15 -15
- package/core/lib/elements/basic/select/select.js +46 -46
- package/core/lib/elements/basic/select-box/readme.md +52 -52
- package/core/lib/elements/basic/select-box/select-box.js +63 -63
- package/core/lib/elements/basic/skeleton/readme.md +35 -35
- package/core/lib/elements/basic/skeleton/skeleton.js +35 -35
- package/core/lib/elements/basic/skeleton/skeleton.scss +53 -53
- package/core/lib/elements/basic/space/space.js +12 -12
- package/core/lib/elements/basic/switch/readme.md +29 -29
- package/core/lib/elements/basic/switch/switch.js +67 -67
- package/core/lib/elements/basic/tab/tab.js +14 -14
- package/core/lib/elements/basic/table/readme.md +8 -8
- package/core/lib/elements/basic/table/table.js +100 -100
- package/core/lib/elements/basic/tag/tag.js +63 -63
- package/core/lib/elements/basic/tag/tag.scss +2 -2
- package/core/lib/elements/basic/timeline/timeline.js +13 -13
- package/core/lib/elements/basic/title/readme.md +20 -20
- package/core/lib/elements/basic/title/title.js +37 -37
- package/core/lib/elements/basic/user-search/user-search.js +192 -192
- package/core/lib/elements/complex/barcode/barcode.js +27 -27
- package/core/lib/elements/complex/bargraph/bar-graph.js +262 -262
- package/core/lib/elements/complex/basic-table/basic-table.js +110 -110
- package/core/lib/elements/complex/basic-table/basic-table.scss +4 -4
- package/core/lib/elements/complex/date-display/date-display.js +37 -37
- package/core/lib/elements/complex/error-boundary/error-boundary.js +29 -29
- package/core/lib/elements/complex/google-location-input/map-container-library-load.js +92 -92
- package/core/lib/elements/complex/google-map/google-map.js +230 -230
- package/core/lib/elements/complex/google-map/google-map.scss +13 -13
- package/core/lib/elements/complex/line-graph/line-graph.js +108 -108
- package/core/lib/elements/complex/location-search-input/location-search-input.js +100 -100
- package/core/lib/elements/complex/pie-chart/pie-chart.js +202 -202
- package/core/lib/elements/complex/qr-code/qr-code.js +27 -27
- package/core/lib/elements/complex/qrscanner/qrscanner.js +57 -57
- package/core/lib/elements/complex/search-debounce/search-debounce.js +37 -37
- package/core/lib/elements/complex/statistic-card/dashboard-statistic-card.js +75 -75
- package/core/lib/elements/complex/statistic-card/statistic-card.js +28 -28
- package/core/lib/elements/index.js +226 -226
- package/core/lib/hooks/device-detect.js +25 -25
- package/core/lib/hooks/index.js +9 -9
- package/core/lib/hooks/use-location.js +33 -33
- package/core/lib/hooks/use-otp-timer.js +80 -80
- package/core/lib/hooks/use-window-size.js +34 -34
- package/core/lib/i18n.js +69 -69
- package/core/lib/index.js +106 -106
- package/core/lib/introduction.md +73 -73
- package/core/lib/js-styleguide.md +4112 -4112
- package/core/lib/models/actions/actions.js +127 -127
- package/core/lib/models/actions/components/action-detail/action-detail.js +190 -190
- package/core/lib/models/actions/components/custom-actions/custom-actions.js +185 -185
- package/core/lib/models/attachments/attachments.js +231 -231
- package/core/lib/models/base-loader.js +99 -99
- package/core/lib/models/base.js +716 -716
- package/core/lib/models/branches/branches.js +125 -125
- package/core/lib/models/checklists/checklists.js +114 -114
- package/core/lib/models/columns/columns.js +169 -169
- package/core/lib/models/columns/components/columns-add/columns-add.js +171 -171
- package/core/lib/models/comments/comments.js +213 -213
- package/core/lib/models/departments/departments.js +107 -107
- package/core/lib/models/financial-years/financial_years.js +127 -127
- package/core/lib/models/forms/components/form-creator/form-creator.js +624 -624
- package/core/lib/models/forms/components/form-creator/form-creator.scss +30 -29
- package/core/lib/models/forms/components/form-detail/form-detail.js +224 -224
- package/core/lib/models/forms/forms.js +121 -121
- package/core/lib/models/index.js +203 -203
- package/core/lib/models/invoice-numbers/invoice_numbers.js +204 -204
- package/core/lib/models/lookup-types/components/lookup-detail/lookup-detail.js +145 -145
- package/core/lib/models/lookup-types/lookup-types.js +113 -113
- package/core/lib/models/lookup-values/components/lookup-values-add/lookup-values-add.js +126 -126
- package/core/lib/models/lookup-values/lookup-values.js +107 -107
- package/core/lib/models/menu-roles/menu-roles.js +127 -127
- package/core/lib/models/menus/components/menu-add/menu-add.js +228 -228
- package/core/lib/models/menus/components/menu-detail/menu-detail.js +170 -170
- package/core/lib/models/menus/components/menu-list/menu-list.js +593 -593
- package/core/lib/models/menus/components/menu-list/menu-list.scss +5 -5
- package/core/lib/models/menus/components/menu-roles-add/menu-roles-add.js +183 -183
- package/core/lib/models/menus/menus.js +499 -499
- package/core/lib/models/models/components/model-detail/model-detail.js +137 -137
- package/core/lib/models/models/components/models.js +128 -128
- package/core/lib/models/modules/modules.js +204 -204
- package/core/lib/models/outbox/outbox.js +73 -73
- package/core/lib/models/pages/pages.js +107 -107
- package/core/lib/models/permissions/permissions.js +71 -71
- package/core/lib/models/process/components/process-add/process-add.js +181 -181
- package/core/lib/models/process/components/process-dashboard/process-dashboard.js +601 -601
- package/core/lib/models/process/components/process-dashboard/process-dashboard.scss +62 -62
- package/core/lib/models/process/components/process-detail/process-detail.js +140 -140
- package/core/lib/models/process/components/process-timeline/process-timeline.js +139 -139
- package/core/lib/models/process/components/task-detail/task-detail.js +240 -240
- package/core/lib/models/process/components/task-detail/task-detail.scss +27 -27
- package/core/lib/models/process/components/task-form/task-form.js +528 -528
- package/core/lib/models/process/components/task-form/task-form.scss +7 -7
- package/core/lib/models/process/components/task-list/task-list.js +221 -221
- package/core/lib/models/process/components/task-list/task-list.scss +14 -14
- package/core/lib/models/process/components/task-overview/task-overview.js +299 -299
- package/core/lib/models/process/components/task-overview-legacy/task-overview-legacy.js +192 -192
- package/core/lib/models/process/components/task-routes/task-routes.js +45 -45
- package/core/lib/models/process/components/task-status/task-status.js +175 -175
- package/core/lib/models/process/components/task-status/task-status.scss +11 -11
- package/core/lib/models/process/process.js +780 -780
- package/core/lib/models/process-transactions/process-transactions.js +123 -123
- package/core/lib/models/roles/roles.js +106 -106
- package/core/lib/models/scripts/scripts.js +111 -111
- package/core/lib/models/step-transactions/step-transcations.js +147 -147
- package/core/lib/models/steps/components/step-add/step-add.js +261 -261
- package/core/lib/models/steps/components/step-detail/step-detail.js +157 -157
- package/core/lib/models/steps/steps.js +356 -356
- package/core/lib/models/user-preferences/user-preferences.js +83 -83
- package/core/lib/models/users/components/user-add/user-add.js +226 -226
- package/core/lib/models/users/users.js +119 -119
- package/core/lib/modules/business/launch-page/launch-page.js +29 -29
- package/core/lib/modules/business/launch-page/launch-page.scss +5 -5
- package/core/lib/modules/business/slots/slots.js +231 -231
- package/core/lib/modules/business/slots/slots.scss +108 -108
- package/core/lib/modules/forms/components/field-customizer/field-customizer.js +138 -138
- package/core/lib/modules/forms/components/field-selector/field-selector.js +157 -157
- package/core/lib/modules/forms/components/field-selector/field-selector.scss +25 -25
- package/core/lib/modules/forms/components/form-display/form-display.js +203 -203
- package/core/lib/modules/forms/components/form-display/form-display.scss +9 -9
- package/core/lib/modules/forms/components/tab-customizer/tab-customizer.js +124 -124
- package/core/lib/modules/generic/generic-add/generic-add.js +213 -213
- package/core/lib/modules/generic/generic-detail/generic-detail.js +199 -199
- package/core/lib/modules/generic/generic-edit/generic-edit.js +120 -120
- package/core/lib/modules/generic/generic-list/ExportReactCSV.js +62 -62
- package/core/lib/modules/generic/generic-list/generic-list.js +705 -705
- package/core/lib/modules/generic/generic-list/generic-list.scss +34 -34
- package/core/lib/modules/generic/generic-upload/generic-upload.js +483 -483
- package/core/lib/modules/generic/table-settings/table-settings.js +226 -226
- package/core/lib/modules/generic/table-settings/table-settings.scss +37 -37
- package/core/lib/modules/index.js +52 -52
- package/core/lib/modules/modules-routes/module-routes.js +35 -35
- package/core/lib/pages/change-password/change-password.js +201 -201
- package/core/lib/pages/change-password/change-password.scss +73 -73
- package/core/lib/pages/homepage/homepage.js +53 -53
- package/core/lib/pages/index.js +19 -19
- package/core/lib/pages/login/commnication-mode-selection.js +46 -46
- package/core/lib/pages/login/communication-mode-selection.scss +60 -60
- package/core/lib/pages/login/login.js +864 -864
- package/core/lib/pages/login/login.scss +344 -344
- package/core/lib/pages/login/reset-password.js +125 -125
- package/core/lib/pages/login/reset-password.scss +22 -22
- package/core/lib/pages/manage-users/manage-users.js +429 -429
- package/core/lib/pages/manage-users/manage-users.scss +25 -25
- package/core/lib/pages/profile/profile.js +247 -247
- package/core/lib/pages/profile/profile.scss +107 -107
- package/core/lib/pages/profile/theme-config.js +18 -18
- package/core/lib/pages/profile/themes-backup.json +310 -310
- package/core/lib/pages/profile/themes.json +254 -254
- package/core/lib/pages/register/register.js +176 -176
- package/core/lib/pages/register/register.scss +128 -128
- package/core/lib/react-styleguide.md +756 -756
- package/core/lib/utils/api/api.utils.js +211 -211
- package/core/lib/utils/api/readme.md +426 -426
- package/core/lib/utils/async.js +35 -35
- package/core/lib/utils/common/common.utils.js +223 -223
- package/core/lib/utils/common/readme.md +30 -30
- package/core/lib/utils/date/date.utils.js +295 -295
- package/core/lib/utils/date/readme.md +2 -2
- package/core/lib/utils/firebase.support.utils.js +98 -98
- package/core/lib/utils/firebase.utils.js +808 -808
- package/core/lib/utils/form/form.utils.js +255 -255
- package/core/lib/utils/generic/generic.utils.js +69 -69
- package/core/lib/utils/http/auth.helper.js +95 -95
- package/core/lib/utils/http/http.utils.js +158 -158
- package/core/lib/utils/http/readme.md +14 -14
- package/core/lib/utils/index.js +40 -40
- package/core/lib/utils/location/location.utils.js +137 -137
- package/core/lib/utils/location/readme.md +18 -18
- package/core/lib/utils/modal.utils.js +15 -15
- package/core/lib/utils/notification.utils.js +34 -34
- package/core/lib/utils/pwa/pwa.utils.js +88 -88
- package/core/lib/utils/script.utils.js +235 -235
- package/core/lib/utils/setting.utils.js +68 -68
- package/core/lib/utils/upload.utils.js +29 -29
- package/core/models/Preference/Preferences.js +46 -46
- package/core/models/base/base.js +403 -403
- package/core/models/base-clone-loader.js +107 -107
- package/core/models/base-clone.js +187 -187
- package/core/models/base-loader.js +97 -97
- package/core/models/core-scripts/core-scripts.js +150 -150
- package/core/models/dashboard/dashboard.js +201 -201
- package/core/models/detail-loader.js +88 -88
- package/core/models/doctor/components/doctor-add/doctor-add.js +427 -427
- package/core/models/doctor/components/doctor-add/doctor-add.scss +32 -32
- package/core/models/groups.js +82 -82
- package/core/models/index.js +100 -100
- package/core/models/lookup-types/components/lookup-detail/lookup-detail.js +129 -129
- package/core/models/lookup-types/lookup-types.js +96 -96
- package/core/models/lookup-values/components/lookup-values-modal/lookup-values-modal.js +95 -95
- package/core/models/lookup-values/lookup-values.js +92 -92
- package/core/models/menu-roles/components/menu-roles-add/menu-roles-add.js +153 -153
- package/core/models/menu-roles/menu-roles.js +158 -158
- package/core/models/menus/components/menu-add/menu-add.js +288 -288
- package/core/models/menus/components/menu-add/menu-add.scss +31 -31
- package/core/models/menus/components/menu-detail/menu-detail.js +263 -263
- package/core/models/menus/components/menu-list/menu-list.js +392 -392
- package/core/models/menus/components/menu-lists/menu-lists.js +585 -585
- package/core/models/menus/components/menu-lists/menu-lists.scss +46 -46
- package/core/models/menus/menus.js +310 -310
- package/core/models/model-columns.js +121 -121
- package/core/models/models/components/model-detail/model-add.js +120 -120
- package/core/models/models/components/model-detail/model-detail.js +133 -133
- package/core/models/models/models.js +154 -154
- package/core/models/pages/components/page-add/page-add.js +163 -163
- package/core/models/pages/components/page-add/page-add.scss +30 -30
- package/core/models/pages/components/page-details/page-details.js +209 -209
- package/core/models/pages/components/page-list/page-list.js +248 -248
- package/core/models/pages/pages.js +142 -142
- package/core/models/pages.js +142 -142
- package/core/models/roles/components/role-add/role-add.js +312 -312
- package/core/models/roles/components/role-add/role-add.scss +4 -4
- package/core/models/roles/components/role-list/role-list.js +386 -386
- package/core/models/roles/roles.js +196 -196
- package/core/models/staff/components/staff-add/staff-add.js +467 -467
- package/core/models/user-roles/components/user-roles-add/user-roles-add.js +149 -149
- package/core/models/user-roles/user-roles.js +113 -113
- package/core/models/users/components/assign-role/assign-role.js +406 -406
- package/core/models/users/components/assign-role/assign-role.scss +281 -281
- package/core/models/users/components/assign-role/avatar-props.js +45 -45
- package/core/models/users/components/user-add/user-add.js +856 -856
- package/core/models/users/components/user-add/user-edit.js +106 -106
- package/core/models/users/components/user-detail/user-detail.js +236 -236
- package/core/models/users/components/user-list/user-list.js +397 -397
- package/core/models/users/users.js +379 -379
- package/core/modules/Informations/change-info/change-info.js +618 -618
- package/core/modules/Informations/change-info/change-info.scss +134 -134
- package/core/modules/dashboard/components/dashboard-card/animations.js +64 -64
- package/core/modules/dashboard/components/dashboard-card/dashboard-card.js +197 -197
- package/core/modules/dashboard/components/dashboard-card/menu-dashboard-card.js +430 -430
- package/core/modules/dashboard/components/dashboard-card/menu-dashboard-card.scss +59 -59
- package/core/modules/dashboard/components/pop-query-dashboard/pop-query-dashboard.js +66 -66
- package/core/modules/generic/components/generic-add/generic-add.js +121 -121
- package/core/modules/generic/components/generic-add/generic-add.scss +13 -13
- package/core/modules/generic/components/generic-add-modal/generic-add-modal.js +125 -125
- package/core/modules/generic/components/generic-add-modal/generic-add-modal.scss +13 -13
- package/core/modules/generic/components/generic-detail/generic-detail.js +184 -184
- package/core/modules/generic/components/generic-detail/generic-detail.scss +25 -25
- package/core/modules/generic/components/generic-edit/generic-edit.js +123 -123
- package/core/modules/generic/components/generic-list/generic-list.js +335 -335
- package/core/modules/generic/components/generic-list/generic-list.scss +35 -35
- package/core/modules/index.js +42 -42
- package/core/modules/module-routes/module-routes.js +37 -37
- package/core/modules/reporting/components/index.js +6 -6
- package/core/modules/reporting/components/reporting-dashboard/README.md +316 -0
- package/core/modules/reporting/components/reporting-dashboard/display-columns/build-display-columns.js +74 -0
- package/core/modules/reporting/components/reporting-dashboard/display-columns/build-display-columns.test.js +74 -0
- package/core/modules/reporting/components/reporting-dashboard/display-columns/display-cell-renderer.js +252 -0
- package/core/modules/reporting/components/reporting-dashboard/display-columns/display-cell-renderer.test.js +126 -0
- package/core/modules/reporting/components/reporting-dashboard/reporting-dashboard.js +880 -1206
- package/core/modules/reporting/components/reporting-dashboard/reporting-dashboard.scss +171 -171
- package/core/modules/steps/action-buttons.js +74 -76
- package/core/modules/steps/action-buttons.scss +44 -15
- package/core/modules/steps/steps.js +348 -346
- package/core/modules/steps/steps.scss +357 -159
- package/core/modules/steps/timeline.js +56 -54
- package/core/pages/homepage-api/homepage-api.js +106 -106
- package/core/pages/homepage-api/homepage-api.scss +233 -233
- package/core/pages/homepage-api/menu-dashboard.js +169 -169
- package/core/pages/homepage-api/menu-dashboard.scss +11 -11
- package/core/translation.json +53 -53
- package/core/translations.json +19 -19
- package/core/utils/script.utils.js +129 -129
- package/core/utils/settings.utils.js +25 -25
- package/eslint.config.mjs +79 -79
- package/index.js +35 -35
- package/jest.config.js +7 -7
- package/jest.setup.js +1 -1
- package/package.json +123 -123
- package/tsconfig.json +26 -26
- package/webpack.config.js +173 -173
|
@@ -1,137 +1,137 @@
|
|
|
1
|
-
/**************************************************
|
|
2
|
-
* Implements Location service same as angular have
|
|
3
|
-
*************************************************/
|
|
4
|
-
|
|
5
|
-
import { IsObjectHaveKeys } from '../common/common.utils';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* takes search string and converts to corresponding object
|
|
9
|
-
* @param {string} searchString=''
|
|
10
|
-
* e.x. ?query=menu_id=5 returns { menu_id: "5" }
|
|
11
|
-
*/
|
|
12
|
-
export function GenerateObjectFromUrlParams(searchString) {
|
|
13
|
-
if (searchString) {
|
|
14
|
-
return (searchString).replace(/(^\?)/, '').split("&").map(function (n) { return n = n.split(/=(.+)/), this[n[0]] = n[1], this }.bind({}))[0];
|
|
15
|
-
} else {
|
|
16
|
-
return {};
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export function SerializeObj(obj) {
|
|
21
|
-
const queryString = Object.entries(obj).map(i => [i[0], encodeURIComponent(i[1])].join('=')).join('&');
|
|
22
|
-
if (queryString) {
|
|
23
|
-
return `?${queryString}`
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export function GetUrlParams(props) {
|
|
28
|
-
return {
|
|
29
|
-
queryString: Location.search(),
|
|
30
|
-
params: props.match.params
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export class Location {
|
|
35
|
-
// historyFetchMethod;
|
|
36
|
-
|
|
37
|
-
static getHistoryMethod(method) {
|
|
38
|
-
this.historyFetchMethod = method;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* used to get and set query strings
|
|
43
|
-
* if obj is empty, works as getter, else as setter
|
|
44
|
-
* @param {object} obj - object params to be set as query param
|
|
45
|
-
* @param {boolean} reset=false}={} - if true, overrides existing query else extend previous query
|
|
46
|
-
*/
|
|
47
|
-
static search(obj, { reset = false, method = 'replace' } = {}) {
|
|
48
|
-
const location = window.location;
|
|
49
|
-
let hash = window.location.hash.replace('#', '');
|
|
50
|
-
let urlParams = GenerateObjectFromUrlParams(decodeURIComponent(location.search))
|
|
51
|
-
|
|
52
|
-
if (hash) {
|
|
53
|
-
urlParams = urlParams[hash] ? JSON.parse(urlParams[hash]) : {};
|
|
54
|
-
}
|
|
55
|
-
if (!obj) {
|
|
56
|
-
hash = window.location.hash.replace('#', '');
|
|
57
|
-
return urlParams;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
const { history: History } = this.historyFetchMethod();
|
|
61
|
-
const finalObj = {};
|
|
62
|
-
|
|
63
|
-
Object.keys(obj).forEach((key) => {
|
|
64
|
-
if (obj[key] == null && urlParams[key]) { // if any attribute is null, will remove from existing query
|
|
65
|
-
delete urlParams[key];
|
|
66
|
-
} else {
|
|
67
|
-
finalObj[key] = obj[key];
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
|
|
71
|
-
urlParams = reset ? { ...{}, ...finalObj } : { ...urlParams, ...finalObj };
|
|
72
|
-
|
|
73
|
-
if (!Object.keys(urlParams).length || (!Object.keys(finalObj).length)) {
|
|
74
|
-
History[method](location.pathname);
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
if (History) {
|
|
78
|
-
let obj = {};
|
|
79
|
-
if (hash) {
|
|
80
|
-
obj[hash] = JSON.stringify(urlParams);
|
|
81
|
-
} else {
|
|
82
|
-
obj = urlParams;
|
|
83
|
-
}
|
|
84
|
-
let queryUrl = SerializeObj(obj);
|
|
85
|
-
if (hash) {
|
|
86
|
-
queryUrl = queryUrl + '#' + hash;
|
|
87
|
-
}
|
|
88
|
-
History[method](queryUrl);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* used for navigating to different routes
|
|
94
|
-
* @param {string} {url}
|
|
95
|
-
* @param {string} {method} - used to select method for navigation, can be push, goBack (for pop operation), replace
|
|
96
|
-
*/
|
|
97
|
-
static navigate({ url, method = 'push', queryParam }, e = {}) {
|
|
98
|
-
if (IsObjectHaveKeys(queryParam)) {
|
|
99
|
-
url += SerializeObj(queryParam);
|
|
100
|
-
}
|
|
101
|
-
const { history: History } = this.historyFetchMethod();
|
|
102
|
-
|
|
103
|
-
if (method === 'push' && e && (e.metaKey || e.ctrlKey)) {
|
|
104
|
-
var win = window.open(url, '_blank');
|
|
105
|
-
win.focus();
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
History[method](url);
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
static back() {
|
|
112
|
-
if (window.history.length > 2) {
|
|
113
|
-
// if history is not empty, go back:
|
|
114
|
-
this.navigate({ method: 'goBack' });
|
|
115
|
-
} else {
|
|
116
|
-
// go home:
|
|
117
|
-
this.navigate({ method: 'push', url: '/' });
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
/**
|
|
122
|
-
* used for navigating to specified location
|
|
123
|
-
* @param {string} {url}
|
|
124
|
-
* @param {string} {method} - used to select method for navigation, can be push, goBack to specified scene
|
|
125
|
-
*/
|
|
126
|
-
static backByLength(n) {
|
|
127
|
-
n = -(n || 1);
|
|
128
|
-
if (window.history.length > 2) {
|
|
129
|
-
// if history is not empty, go back:
|
|
130
|
-
this.navigate({ url: n, method: 'go' });
|
|
131
|
-
} else {
|
|
132
|
-
// go home:
|
|
133
|
-
this.navigate({ method: 'push', url: '/' });
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
1
|
+
/**************************************************
|
|
2
|
+
* Implements Location service same as angular have
|
|
3
|
+
*************************************************/
|
|
4
|
+
|
|
5
|
+
import { IsObjectHaveKeys } from '../common/common.utils';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* takes search string and converts to corresponding object
|
|
9
|
+
* @param {string} searchString=''
|
|
10
|
+
* e.x. ?query=menu_id=5 returns { menu_id: "5" }
|
|
11
|
+
*/
|
|
12
|
+
export function GenerateObjectFromUrlParams(searchString) {
|
|
13
|
+
if (searchString) {
|
|
14
|
+
return (searchString).replace(/(^\?)/, '').split("&").map(function (n) { return n = n.split(/=(.+)/), this[n[0]] = n[1], this }.bind({}))[0];
|
|
15
|
+
} else {
|
|
16
|
+
return {};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export function SerializeObj(obj) {
|
|
21
|
+
const queryString = Object.entries(obj).map(i => [i[0], encodeURIComponent(i[1])].join('=')).join('&');
|
|
22
|
+
if (queryString) {
|
|
23
|
+
return `?${queryString}`
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function GetUrlParams(props) {
|
|
28
|
+
return {
|
|
29
|
+
queryString: Location.search(),
|
|
30
|
+
params: props.match.params
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export class Location {
|
|
35
|
+
// historyFetchMethod;
|
|
36
|
+
|
|
37
|
+
static getHistoryMethod(method) {
|
|
38
|
+
this.historyFetchMethod = method;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* used to get and set query strings
|
|
43
|
+
* if obj is empty, works as getter, else as setter
|
|
44
|
+
* @param {object} obj - object params to be set as query param
|
|
45
|
+
* @param {boolean} reset=false}={} - if true, overrides existing query else extend previous query
|
|
46
|
+
*/
|
|
47
|
+
static search(obj, { reset = false, method = 'replace' } = {}) {
|
|
48
|
+
const location = window.location;
|
|
49
|
+
let hash = window.location.hash.replace('#', '');
|
|
50
|
+
let urlParams = GenerateObjectFromUrlParams(decodeURIComponent(location.search))
|
|
51
|
+
|
|
52
|
+
if (hash) {
|
|
53
|
+
urlParams = urlParams[hash] ? JSON.parse(urlParams[hash]) : {};
|
|
54
|
+
}
|
|
55
|
+
if (!obj) {
|
|
56
|
+
hash = window.location.hash.replace('#', '');
|
|
57
|
+
return urlParams;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const { history: History } = this.historyFetchMethod();
|
|
61
|
+
const finalObj = {};
|
|
62
|
+
|
|
63
|
+
Object.keys(obj).forEach((key) => {
|
|
64
|
+
if (obj[key] == null && urlParams[key]) { // if any attribute is null, will remove from existing query
|
|
65
|
+
delete urlParams[key];
|
|
66
|
+
} else {
|
|
67
|
+
finalObj[key] = obj[key];
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
urlParams = reset ? { ...{}, ...finalObj } : { ...urlParams, ...finalObj };
|
|
72
|
+
|
|
73
|
+
if (!Object.keys(urlParams).length || (!Object.keys(finalObj).length)) {
|
|
74
|
+
History[method](location.pathname);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
if (History) {
|
|
78
|
+
let obj = {};
|
|
79
|
+
if (hash) {
|
|
80
|
+
obj[hash] = JSON.stringify(urlParams);
|
|
81
|
+
} else {
|
|
82
|
+
obj = urlParams;
|
|
83
|
+
}
|
|
84
|
+
let queryUrl = SerializeObj(obj);
|
|
85
|
+
if (hash) {
|
|
86
|
+
queryUrl = queryUrl + '#' + hash;
|
|
87
|
+
}
|
|
88
|
+
History[method](queryUrl);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* used for navigating to different routes
|
|
94
|
+
* @param {string} {url}
|
|
95
|
+
* @param {string} {method} - used to select method for navigation, can be push, goBack (for pop operation), replace
|
|
96
|
+
*/
|
|
97
|
+
static navigate({ url, method = 'push', queryParam }, e = {}) {
|
|
98
|
+
if (IsObjectHaveKeys(queryParam)) {
|
|
99
|
+
url += SerializeObj(queryParam);
|
|
100
|
+
}
|
|
101
|
+
const { history: History } = this.historyFetchMethod();
|
|
102
|
+
|
|
103
|
+
if (method === 'push' && e && (e.metaKey || e.ctrlKey)) {
|
|
104
|
+
var win = window.open(url, '_blank');
|
|
105
|
+
win.focus();
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
History[method](url);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
static back() {
|
|
112
|
+
if (window.history.length > 2) {
|
|
113
|
+
// if history is not empty, go back:
|
|
114
|
+
this.navigate({ method: 'goBack' });
|
|
115
|
+
} else {
|
|
116
|
+
// go home:
|
|
117
|
+
this.navigate({ method: 'push', url: '/' });
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* used for navigating to specified location
|
|
123
|
+
* @param {string} {url}
|
|
124
|
+
* @param {string} {method} - used to select method for navigation, can be push, goBack to specified scene
|
|
125
|
+
*/
|
|
126
|
+
static backByLength(n) {
|
|
127
|
+
n = -(n || 1);
|
|
128
|
+
if (window.history.length > 2) {
|
|
129
|
+
// if history is not empty, go back:
|
|
130
|
+
this.navigate({ url: n, method: 'go' });
|
|
131
|
+
} else {
|
|
132
|
+
// go home:
|
|
133
|
+
this.navigate({ method: 'push', url: '/' });
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
## Usage
|
|
2
|
-
|
|
3
|
-
Location Utils is a JavaScript library for working with geolocation. It provides a set of functions for getting and manipulating geolocation data, as well as for calculating distances between locations.
|
|
4
|
-
|
|
5
|
-
To use Location Utils in your JavaScript code, you need to require it:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
### Geolocation
|
|
9
|
-
|
|
10
|
-
The following functions are available for working with geolocation:
|
|
11
|
-
|
|
12
|
-
● getLocation(): Returns a Promise that resolves with the user's current location.<br>
|
|
13
|
-
● getDistance(from, to): Calculates the distance between two locations in kilometers. The from and to parameters should be objects with latitude and longitude properties.<br><br>
|
|
14
|
-
Here is an example of how to use these functions:
|
|
15
|
-
|
|
16
|
-
```sh
|
|
17
|
-
|
|
18
|
-
```
|
|
1
|
+
## Usage
|
|
2
|
+
|
|
3
|
+
Location Utils is a JavaScript library for working with geolocation. It provides a set of functions for getting and manipulating geolocation data, as well as for calculating distances between locations.
|
|
4
|
+
|
|
5
|
+
To use Location Utils in your JavaScript code, you need to require it:
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Geolocation
|
|
9
|
+
|
|
10
|
+
The following functions are available for working with geolocation:
|
|
11
|
+
|
|
12
|
+
● getLocation(): Returns a Promise that resolves with the user's current location.<br>
|
|
13
|
+
● getDistance(from, to): Calculates the distance between two locations in kilometers. The from and to parameters should be objects with latitude and longitude properties.<br><br>
|
|
14
|
+
Here is an example of how to use these functions:
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
|
|
18
|
+
```
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
module.exports = {
|
|
3
|
-
_currentGlobalLoader: null,
|
|
4
|
-
registerModal: function (ref) {
|
|
5
|
-
this._currentGlobalLoader = ref;
|
|
6
|
-
},
|
|
7
|
-
openModal: function ({ ...args }) {
|
|
8
|
-
if (this._currentGlobalLoader) {
|
|
9
|
-
this._currentGlobalLoader.openModal({ ...args });
|
|
10
|
-
}
|
|
11
|
-
},
|
|
12
|
-
closeModal: function ({ ...args }) {
|
|
13
|
-
this._currentGlobalLoader.closeModal({ ...args });
|
|
14
|
-
}
|
|
15
|
-
|
|
1
|
+
|
|
2
|
+
module.exports = {
|
|
3
|
+
_currentGlobalLoader: null,
|
|
4
|
+
registerModal: function (ref) {
|
|
5
|
+
this._currentGlobalLoader = ref;
|
|
6
|
+
},
|
|
7
|
+
openModal: function ({ ...args }) {
|
|
8
|
+
if (this._currentGlobalLoader) {
|
|
9
|
+
this._currentGlobalLoader.openModal({ ...args });
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
closeModal: function ({ ...args }) {
|
|
13
|
+
this._currentGlobalLoader.closeModal({ ...args });
|
|
14
|
+
}
|
|
15
|
+
|
|
16
16
|
}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import React from "react";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
import { message } from 'antd';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
export default class Notification {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Trigger a success message
|
|
15
|
-
*
|
|
16
|
-
* @param {*} message
|
|
17
|
-
*/
|
|
18
|
-
static success = (text) => {
|
|
19
|
-
|
|
20
|
-
message.success(text)
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Trigger a notification of type with message
|
|
26
|
-
*
|
|
27
|
-
* @param {*} param0
|
|
28
|
-
*/
|
|
29
|
-
static trigger = ({ type, text }) => {
|
|
30
|
-
|
|
31
|
-
message[type](text);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import React from "react";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
import { message } from 'antd';
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
export default class Notification {
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Trigger a success message
|
|
15
|
+
*
|
|
16
|
+
* @param {*} message
|
|
17
|
+
*/
|
|
18
|
+
static success = (text) => {
|
|
19
|
+
|
|
20
|
+
message.success(text)
|
|
21
|
+
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Trigger a notification of type with message
|
|
26
|
+
*
|
|
27
|
+
* @param {*} param0
|
|
28
|
+
*/
|
|
29
|
+
static trigger = ({ type, text }) => {
|
|
30
|
+
|
|
31
|
+
message[type](text);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
|
|
35
35
|
}
|
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
|
|
2
|
-
// import { StoreEvent } from 'state-manager-utility';
|
|
3
|
-
// import { GetCookie } from './cookie.utils';
|
|
4
|
-
// import GAService from './googleAnalytic.service';
|
|
5
|
-
|
|
6
|
-
import { message } from 'antd';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var deferredPrompt;
|
|
10
|
-
let promptAllowed = false;
|
|
11
|
-
|
|
12
|
-
function ListenA2HSPrompt() {
|
|
13
|
-
window.addEventListener('beforeinstallprompt', function (e) {
|
|
14
|
-
// Prevent Chrome 67 and earlier from automatically showing the prompt
|
|
15
|
-
e.preventDefault();
|
|
16
|
-
// Stash the event so it can be triggered later.
|
|
17
|
-
deferredPrompt = e;
|
|
18
|
-
// track how many users were shown the a2hs popup
|
|
19
|
-
// GAService.trackNumberOfTimesA2HSPopupWasShown(true)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
if (!promptAllowed) {
|
|
23
|
-
promptAllowed = true;
|
|
24
|
-
// StoreEvent({ eventName: 'canShowA2HSBanner', data: promptAllowed });
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
ListenA2HSPrompt();
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Returns boolean value to convey if A2HS can be prompted
|
|
34
|
-
*/
|
|
35
|
-
export function CanShowPrompt() {
|
|
36
|
-
return true;
|
|
37
|
-
// const dontShowAddAppNotification = GetCookie('dontShowAddAppNotification');
|
|
38
|
-
// if (dontShowAddAppNotification) {
|
|
39
|
-
// return false;
|
|
40
|
-
// }
|
|
41
|
-
// else {
|
|
42
|
-
// return promptAllowed;
|
|
43
|
-
// }
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
/* displays native A2HS prompt & stores results */
|
|
49
|
-
export function TriggerNativePrompt() {
|
|
50
|
-
|
|
51
|
-
if (!deferredPrompt.prompt) {
|
|
52
|
-
|
|
53
|
-
message.info('Not installed well');
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
} else {
|
|
57
|
-
|
|
58
|
-
return deferredPrompt.prompt()
|
|
59
|
-
.then(function (evt) {
|
|
60
|
-
// Wait for the user to respond to the prompt
|
|
61
|
-
return deferredPrompt.userChoice;
|
|
62
|
-
|
|
63
|
-
})
|
|
64
|
-
.then(function (choiceResult) {
|
|
65
|
-
if (choiceResult.outcome === "accepted") {
|
|
66
|
-
promptAllowed = false;
|
|
67
|
-
// StoreEvent({ eventName: 'canShowA2HSBanner', data: promptAllowed });
|
|
68
|
-
// alert("User accepted the A2HS prompt, Please pass this info to GA");
|
|
69
|
-
// @todo can take some action based on user choice
|
|
70
|
-
// track how many users added PWA to home screen
|
|
71
|
-
// GAService.trackNumberOfTimesUsersAddedPWAToHomeScreen(true)
|
|
72
|
-
} else {
|
|
73
|
-
// alert("User dismissed the A2HS prompt, Please pass this info to GA");
|
|
74
|
-
// @todo can take some action based on user choice
|
|
75
|
-
}
|
|
76
|
-
if (typeof window.ga == 'function') {
|
|
77
|
-
window.ga('send', 'event', 'A2H', choiceResult.outcome);
|
|
78
|
-
}
|
|
79
|
-
})
|
|
80
|
-
.catch(function (err) {
|
|
81
|
-
|
|
82
|
-
alert(err.message);
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
}
|
|
1
|
+
|
|
2
|
+
// import { StoreEvent } from 'state-manager-utility';
|
|
3
|
+
// import { GetCookie } from './cookie.utils';
|
|
4
|
+
// import GAService from './googleAnalytic.service';
|
|
5
|
+
|
|
6
|
+
import { message } from 'antd';
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
var deferredPrompt;
|
|
10
|
+
let promptAllowed = false;
|
|
11
|
+
|
|
12
|
+
function ListenA2HSPrompt() {
|
|
13
|
+
window.addEventListener('beforeinstallprompt', function (e) {
|
|
14
|
+
// Prevent Chrome 67 and earlier from automatically showing the prompt
|
|
15
|
+
e.preventDefault();
|
|
16
|
+
// Stash the event so it can be triggered later.
|
|
17
|
+
deferredPrompt = e;
|
|
18
|
+
// track how many users were shown the a2hs popup
|
|
19
|
+
// GAService.trackNumberOfTimesA2HSPopupWasShown(true)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
if (!promptAllowed) {
|
|
23
|
+
promptAllowed = true;
|
|
24
|
+
// StoreEvent({ eventName: 'canShowA2HSBanner', data: promptAllowed });
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
ListenA2HSPrompt();
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Returns boolean value to convey if A2HS can be prompted
|
|
34
|
+
*/
|
|
35
|
+
export function CanShowPrompt() {
|
|
36
|
+
return true;
|
|
37
|
+
// const dontShowAddAppNotification = GetCookie('dontShowAddAppNotification');
|
|
38
|
+
// if (dontShowAddAppNotification) {
|
|
39
|
+
// return false;
|
|
40
|
+
// }
|
|
41
|
+
// else {
|
|
42
|
+
// return promptAllowed;
|
|
43
|
+
// }
|
|
44
|
+
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
/* displays native A2HS prompt & stores results */
|
|
49
|
+
export function TriggerNativePrompt() {
|
|
50
|
+
|
|
51
|
+
if (!deferredPrompt.prompt) {
|
|
52
|
+
|
|
53
|
+
message.info('Not installed well');
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
} else {
|
|
57
|
+
|
|
58
|
+
return deferredPrompt.prompt()
|
|
59
|
+
.then(function (evt) {
|
|
60
|
+
// Wait for the user to respond to the prompt
|
|
61
|
+
return deferredPrompt.userChoice;
|
|
62
|
+
|
|
63
|
+
})
|
|
64
|
+
.then(function (choiceResult) {
|
|
65
|
+
if (choiceResult.outcome === "accepted") {
|
|
66
|
+
promptAllowed = false;
|
|
67
|
+
// StoreEvent({ eventName: 'canShowA2HSBanner', data: promptAllowed });
|
|
68
|
+
// alert("User accepted the A2HS prompt, Please pass this info to GA");
|
|
69
|
+
// @todo can take some action based on user choice
|
|
70
|
+
// track how many users added PWA to home screen
|
|
71
|
+
// GAService.trackNumberOfTimesUsersAddedPWAToHomeScreen(true)
|
|
72
|
+
} else {
|
|
73
|
+
// alert("User dismissed the A2HS prompt, Please pass this info to GA");
|
|
74
|
+
// @todo can take some action based on user choice
|
|
75
|
+
}
|
|
76
|
+
if (typeof window.ga == 'function') {
|
|
77
|
+
window.ga('send', 'event', 'A2H', choiceResult.outcome);
|
|
78
|
+
}
|
|
79
|
+
})
|
|
80
|
+
.catch(function (err) {
|
|
81
|
+
|
|
82
|
+
alert(err.message);
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
}
|
|
88
|
+
}
|