ui-soxo-bootstrap-core 2.4.24
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 +9 -0
- package/.github/workflows/npm-publish.yml +33 -0
- package/.husky/pre-commit +12 -0
- package/.prettierrc.json +11 -0
- package/babel.config.js +3 -0
- package/core/assets/images/vector.png +0 -0
- package/core/components/component-loader/component-loader.js +125 -0
- package/core/components/component-wrapper/component-wrapper.js +122 -0
- package/core/components/extra-info/extra-info-details.js +172 -0
- package/core/components/extra-info/extra-info-details.scss +27 -0
- package/core/components/extra-info/extra-info.js +134 -0
- package/core/components/index.js +18 -0
- package/core/components/landing-api/landing-api.js +492 -0
- package/core/components/landing-api/landing-api.scss +19 -0
- package/core/components/menu-template-api/menu-template-api.js +321 -0
- package/core/components/root-application-api/root-application-api.js +174 -0
- package/core/components/root-application-api/root-application.api.scss +0 -0
- package/core/index.js +14 -0
- package/core/lib/Store.js +363 -0
- package/core/lib/assets/Tick-icon.png +0 -0
- package/core/lib/assets/blue-slate-theme.png +0 -0
- package/core/lib/assets/dark-theme.png +0 -0
- package/core/lib/assets/deep-purple-theme.png +0 -0
- package/core/lib/assets/light-theme.png +0 -0
- package/core/lib/assets/nura-theme.png +0 -0
- package/core/lib/assets/plant.png +0 -0
- package/core/lib/assets/welcome-image.png +0 -0
- package/core/lib/assets/white-haze-theme.png +0 -0
- package/core/lib/components/application-bootstrap/application-bootstrap.js +115 -0
- package/core/lib/components/application-bootstrap/application-bootstrap.scss +0 -0
- package/core/lib/components/approval-form/approval-form.js +280 -0
- package/core/lib/components/approval-form/approval-form.scss +184 -0
- package/core/lib/components/approval-list/approval-list.js +143 -0
- package/core/lib/components/approval-list/approval-list.scss +3 -0
- package/core/lib/components/approval-list/components/request-card/request-card.js +43 -0
- package/core/lib/components/approval-list/components/request-card/request-card.scss +31 -0
- package/core/lib/components/camera/camera.js +231 -0
- package/core/lib/components/camera/camera.scss +86 -0
- package/core/lib/components/comment-block/comment-block.js +139 -0
- package/core/lib/components/comment-block/comment-block.scss +3 -0
- package/core/lib/components/confirm-modal/confirm-modal.js +82 -0
- package/core/lib/components/confirm-modal/confirm-modal.scss +3 -0
- package/core/lib/components/consent/consent.js +67 -0
- package/core/lib/components/consent/consent.scss +0 -0
- package/core/lib/components/consent/pdf-signature.js +299 -0
- package/core/lib/components/consent/signature-pad.js +90 -0
- package/core/lib/components/consent/signature-pad.scss +14 -0
- package/core/lib/components/file-upload/file-upload.js +133 -0
- package/core/lib/components/finger-print-reader/finger-print-reader.js +296 -0
- package/core/lib/components/finger-print-reader/finger-print-reader.scss +47 -0
- package/core/lib/components/finger-print-search/finger-print-search.js +200 -0
- package/core/lib/components/finger-print-search/finger-print-search.scss +47 -0
- package/core/lib/components/global-header/animations.js +18 -0
- package/core/lib/components/global-header/global-header.js +413 -0
- package/core/lib/components/global-header/global-header.scss +369 -0
- package/core/lib/components/header/generic-header.js +76 -0
- package/core/lib/components/header/generic-header.scss +99 -0
- package/core/lib/components/image-preview/image-preview.js +33 -0
- package/core/lib/components/image-wrapper/image-wrapper.js +108 -0
- package/core/lib/components/image-wrapper/image-wrapper.scss +13 -0
- package/core/lib/components/index.js +203 -0
- package/core/lib/components/landing/landing.js +404 -0
- package/core/lib/components/landing/landing.scss +0 -0
- package/core/lib/components/language-switcher/language-switcher.js +50 -0
- package/core/lib/components/menu-context/menu-context.js +70 -0
- package/core/lib/components/menu-template/menu-template.js +250 -0
- package/core/lib/components/menu-template/menu-template.scss +9 -0
- package/core/lib/components/modal-search/modal-search.js +153 -0
- package/core/lib/components/modal-search/modal-search.scss +79 -0
- package/core/lib/components/modal-wrapper/modal-manager.js +16 -0
- package/core/lib/components/modal-wrapper/modal-wrapper.js +108 -0
- package/core/lib/components/modal-wrapper/modal-wrapper.scss +14 -0
- package/core/lib/components/notice-board/notice-board.js +132 -0
- package/core/lib/components/notice-board/notice-board.scss +65 -0
- package/core/lib/components/page-container/page-container.js +55 -0
- package/core/lib/components/page-container/page-container.scss +8 -0
- package/core/lib/components/page-header/page-header.js +23 -0
- package/core/lib/components/page-header/page-header.scss +18 -0
- package/core/lib/components/pdf-viewer/pdf-viewer.js +56 -0
- package/core/lib/components/portlet-table/components/table-actions/table-actions.js +58 -0
- package/core/lib/components/portlet-table/components/table-actions/table-actions.scss +1 -0
- package/core/lib/components/portlet-table/components/table-data/table-data.js +107 -0
- package/core/lib/components/portlet-table/components/table-data/table-data.scss +0 -0
- package/core/lib/components/portlet-table/portlet-table.js +63 -0
- package/core/lib/components/portlet-table/portlet-table.scss +90 -0
- package/core/lib/components/progress-bar/progress-bar.js +58 -0
- package/core/lib/components/progress-bar/progress-bar.scss +15 -0
- package/core/lib/components/request-form/request-form.js +110 -0
- package/core/lib/components/request-form/request-form.scss +0 -0
- package/core/lib/components/root-application/root-application.js +70 -0
- package/core/lib/components/rupee/rupee.js +14 -0
- package/core/lib/components/script-input/script-input.js +169 -0
- package/core/lib/components/script-input/script-input.scss +8 -0
- package/core/lib/components/sidemenu/animations.js +52 -0
- package/core/lib/components/sidemenu/sidemenu.js +617 -0
- package/core/lib/components/sidemenu/sidemenu.scss +264 -0
- package/core/lib/components/spotlight-search/spotlight-search.component.js +636 -0
- package/core/lib/components/spotlight-search/spotlight-search.component.scss +78 -0
- package/core/lib/components/table-wrapper/table-wrapper.js +136 -0
- package/core/lib/components/table-wrapper/table-wrapper.scss +72 -0
- package/core/lib/components/ui_elements/Loader.js +13 -0
- package/core/lib/components/ui_elements/Notify.js +13 -0
- package/core/lib/components/ui_elements/PlaceHolder.js +34 -0
- package/core/lib/components/web-camera/web-camera.js +162 -0
- package/core/lib/components/web-camera/web-camera.scss +28 -0
- package/core/lib/core.md +9 -0
- package/core/lib/elements/Elements.md +3 -0
- package/core/lib/elements/basic/LoggedUserRedirect.js +21 -0
- package/core/lib/elements/basic/PrivateRoute.js +16 -0
- package/core/lib/elements/basic/button/Button.md +43 -0
- package/core/lib/elements/basic/button/button.js +170 -0
- package/core/lib/elements/basic/button/button.scss +0 -0
- package/core/lib/elements/basic/card/Card.md +15 -0
- package/core/lib/elements/basic/card/card.js +40 -0
- package/core/lib/elements/basic/card/card.scss +14 -0
- package/core/lib/elements/basic/checkbox/checkbox.js +23 -0
- package/core/lib/elements/basic/col/col.js +16 -0
- package/core/lib/elements/basic/copy-to-clipboard/Readme.md +40 -0
- package/core/lib/elements/basic/copy-to-clipboard/copy-to-clipboard.js +62 -0
- package/core/lib/elements/basic/country-phone-input/Readme.md +98 -0
- package/core/lib/elements/basic/country-phone-input/country-phone-input.js +107 -0
- package/core/lib/elements/basic/country-phone-input/phone-input.scss +62 -0
- package/core/lib/elements/basic/datepicker/datepicker.js +33 -0
- package/core/lib/elements/basic/dragabble-wrapper/draggable-wrapper.js +61 -0
- package/core/lib/elements/basic/empty/empty.js +15 -0
- package/core/lib/elements/basic/fingerprint-protrected/fingerprint-protected.js +118 -0
- package/core/lib/elements/basic/fingerprint-protrected/fingerprint-protected.scss +10 -0
- package/core/lib/elements/basic/form/Readme.md +0 -0
- package/core/lib/elements/basic/form/form.js +70 -0
- package/core/lib/elements/basic/form/form.scss +4 -0
- package/core/lib/elements/basic/image/image.js +45 -0
- package/core/lib/elements/basic/image/image.scss +17 -0
- package/core/lib/elements/basic/image/readme.md +26 -0
- package/core/lib/elements/basic/image-viewer/image-viewer.js +109 -0
- package/core/lib/elements/basic/image-viewer/image-viewer.scss +8 -0
- package/core/lib/elements/basic/input/input.js +81 -0
- package/core/lib/elements/basic/input/readme.md +77 -0
- package/core/lib/elements/basic/json-input/json-input.js +51 -0
- package/core/lib/elements/basic/menu-dashboard/menu-dashboard.js +216 -0
- package/core/lib/elements/basic/menu-dashboard/menu-dashboard.scss +28 -0
- package/core/lib/elements/basic/modal/modal.js +64 -0
- package/core/lib/elements/basic/modal/readme.md +62 -0
- package/core/lib/elements/basic/popconfirm/popconfirm.js +18 -0
- package/core/lib/elements/basic/popover/popover.js +13 -0
- package/core/lib/elements/basic/radio/radio.js +18 -0
- package/core/lib/elements/basic/rangepicker/rangepicker.js +51 -0
- package/core/lib/elements/basic/rangepicker/rangepicker.scss +18 -0
- package/core/lib/elements/basic/rangepicker/readme.md +82 -0
- package/core/lib/elements/basic/reference-select/readme.md +19 -0
- package/core/lib/elements/basic/reference-select/reference-select.js +337 -0
- package/core/lib/elements/basic/row/row.js +16 -0
- package/core/lib/elements/basic/select/select.js +47 -0
- package/core/lib/elements/basic/select-box/readme.md +53 -0
- package/core/lib/elements/basic/select-box/select-box.js +63 -0
- package/core/lib/elements/basic/skeleton/readme.md +35 -0
- package/core/lib/elements/basic/skeleton/skeleton.js +36 -0
- package/core/lib/elements/basic/skeleton/skeleton.scss +53 -0
- package/core/lib/elements/basic/space/space.js +13 -0
- package/core/lib/elements/basic/switch/readme.md +29 -0
- package/core/lib/elements/basic/switch/switch.js +58 -0
- package/core/lib/elements/basic/tab/tab.js +15 -0
- package/core/lib/elements/basic/table/readme.md +9 -0
- package/core/lib/elements/basic/table/table.js +100 -0
- package/core/lib/elements/basic/table/table.scss +0 -0
- package/core/lib/elements/basic/tag/tag.js +63 -0
- package/core/lib/elements/basic/tag/tag.scss +3 -0
- package/core/lib/elements/basic/timeline/timeline.js +14 -0
- package/core/lib/elements/basic/title/readme.md +20 -0
- package/core/lib/elements/basic/title/title.js +38 -0
- package/core/lib/elements/basic/title/title.scss +0 -0
- package/core/lib/elements/basic/user-search/user-search.js +192 -0
- package/core/lib/elements/complex/barcode/barcode.js +27 -0
- package/core/lib/elements/complex/bargraph/bar-graph.js +262 -0
- package/core/lib/elements/complex/basic-table/basic-table.js +111 -0
- package/core/lib/elements/complex/basic-table/basic-table.scss +4 -0
- package/core/lib/elements/complex/date-display/date-display.js +37 -0
- package/core/lib/elements/complex/error-boundary/error-boundary.js +29 -0
- package/core/lib/elements/complex/google-location-input/map-container-library-load.js +93 -0
- package/core/lib/elements/complex/google-map/google-map.js +230 -0
- package/core/lib/elements/complex/google-map/google-map.scss +13 -0
- package/core/lib/elements/complex/line-graph/line-graph.js +108 -0
- package/core/lib/elements/complex/location-search-input/location-search-input.js +100 -0
- package/core/lib/elements/complex/maps/maps.js +0 -0
- package/core/lib/elements/complex/pie-chart/pie-chart.js +203 -0
- package/core/lib/elements/complex/qr-code/qr-code.js +27 -0
- package/core/lib/elements/complex/qrscanner/qrscanner.js +57 -0
- package/core/lib/elements/complex/search-debounce/search-debounce.js +37 -0
- package/core/lib/elements/complex/statistic-card/dashboard-statistic-card.js +76 -0
- package/core/lib/elements/complex/statistic-card/statistic-card.js +28 -0
- package/core/lib/elements/index.js +226 -0
- package/core/lib/hooks/device-detect.js +26 -0
- package/core/lib/hooks/index.js +19 -0
- package/core/lib/hooks/use-location.js +33 -0
- package/core/lib/hooks/use-window-size.js +34 -0
- package/core/lib/i18n.js +70 -0
- package/core/lib/index.js +106 -0
- package/core/lib/introduction.md +74 -0
- package/core/lib/js-styleguide.md +4112 -0
- package/core/lib/models/actions/actions.js +128 -0
- package/core/lib/models/actions/components/action-detail/action-detail.js +190 -0
- package/core/lib/models/actions/components/action-detail/action-detail.scss +0 -0
- package/core/lib/models/actions/components/custom-actions/custom-actions.js +186 -0
- package/core/lib/models/actions/components/custom-actions/custom-actions.scss +0 -0
- package/core/lib/models/attachments/attachments.js +231 -0
- package/core/lib/models/base-loader.js +99 -0
- package/core/lib/models/base.js +716 -0
- package/core/lib/models/branches/branches.js +125 -0
- package/core/lib/models/checklists/checklists.js +115 -0
- package/core/lib/models/columns/columns.js +169 -0
- package/core/lib/models/columns/components/columns-add/columns-add.js +172 -0
- package/core/lib/models/columns/components/columns-add/columns-add.scss +0 -0
- package/core/lib/models/comments/comments.js +213 -0
- package/core/lib/models/departments/departments.js +107 -0
- package/core/lib/models/financial-years/financial_years.js +127 -0
- package/core/lib/models/forms/components/form-creator/form-creator.js +624 -0
- package/core/lib/models/forms/components/form-creator/form-creator.scss +30 -0
- package/core/lib/models/forms/components/form-detail/form-detail.js +224 -0
- package/core/lib/models/forms/components/form-detail/form-detail.scss +0 -0
- package/core/lib/models/forms/forms.js +122 -0
- package/core/lib/models/index.js +203 -0
- package/core/lib/models/invoice-numbers/invoice_numbers.js +204 -0
- package/core/lib/models/lookup-types/components/lookup-detail/lookup-detail.js +145 -0
- package/core/lib/models/lookup-types/components/lookup-detail/lookup-detail.scss +0 -0
- package/core/lib/models/lookup-types/lookup-types.js +113 -0
- package/core/lib/models/lookup-values/components/lookup-values-add/lookup-values-add.js +126 -0
- package/core/lib/models/lookup-values/components/lookup-values-add/lookup-values-add.scss +0 -0
- package/core/lib/models/lookup-values/lookup-values.js +107 -0
- package/core/lib/models/menu-roles/menu-roles.js +127 -0
- package/core/lib/models/menus/components/menu-add/menu-add.js +228 -0
- package/core/lib/models/menus/components/menu-add/menu-add.scss +0 -0
- package/core/lib/models/menus/components/menu-detail/menu-detail.js +170 -0
- package/core/lib/models/menus/components/menu-detail/menu-detail.scss +0 -0
- package/core/lib/models/menus/components/menu-list/menu-list.js +593 -0
- package/core/lib/models/menus/components/menu-list/menu-list.scss +6 -0
- package/core/lib/models/menus/components/menu-roles-add/menu-roles-add.js +183 -0
- package/core/lib/models/menus/components/menu-roles-add/menu-roles-add.scss +0 -0
- package/core/lib/models/menus/menus.js +499 -0
- package/core/lib/models/models/components/model-detail/model-detail.js +137 -0
- package/core/lib/models/models/components/model-detail/model-detail.scss +0 -0
- package/core/lib/models/models/components/models.js +128 -0
- package/core/lib/models/modules/modules.js +204 -0
- package/core/lib/models/outbox/outbox.js +73 -0
- package/core/lib/models/pages/pages.js +107 -0
- package/core/lib/models/permissions/permissions.js +71 -0
- package/core/lib/models/process/components/process-add/process-add.js +181 -0
- package/core/lib/models/process/components/process-add/process-add.scss +0 -0
- package/core/lib/models/process/components/process-dashboard/process-dashboard.js +602 -0
- package/core/lib/models/process/components/process-dashboard/process-dashboard.scss +62 -0
- package/core/lib/models/process/components/process-detail/process-detail.js +140 -0
- package/core/lib/models/process/components/process-detail/process-detail.scss +0 -0
- package/core/lib/models/process/components/process-timeline/process-timeline.js +140 -0
- package/core/lib/models/process/components/task-detail/task-detail.js +240 -0
- package/core/lib/models/process/components/task-detail/task-detail.scss +27 -0
- package/core/lib/models/process/components/task-form/task-form.js +529 -0
- package/core/lib/models/process/components/task-form/task-form.scss +7 -0
- package/core/lib/models/process/components/task-list/task-list.js +221 -0
- package/core/lib/models/process/components/task-list/task-list.scss +14 -0
- package/core/lib/models/process/components/task-overview/task-overview.js +300 -0
- package/core/lib/models/process/components/task-overview/task-overview.scss +0 -0
- package/core/lib/models/process/components/task-overview-legacy/task-overview-legacy.js +192 -0
- package/core/lib/models/process/components/task-overview-legacy/task-overview.scss +0 -0
- package/core/lib/models/process/components/task-routes/task-routes.js +45 -0
- package/core/lib/models/process/components/task-status/task-status.js +176 -0
- package/core/lib/models/process/components/task-status/task-status.scss +11 -0
- package/core/lib/models/process/process.js +781 -0
- package/core/lib/models/process-transactions/process-transactions.js +124 -0
- package/core/lib/models/roles/roles.js +106 -0
- package/core/lib/models/scripts/scripts.js +111 -0
- package/core/lib/models/step-transactions/step-transcations.js +148 -0
- package/core/lib/models/steps/components/step-add/step-add.js +261 -0
- package/core/lib/models/steps/components/step-add/step-add.scss +0 -0
- package/core/lib/models/steps/components/step-detail/step-detail.js +157 -0
- package/core/lib/models/steps/components/step-detail/step-detail.scss +0 -0
- package/core/lib/models/steps/steps.js +357 -0
- package/core/lib/models/user-preferences/user-preferences.js +83 -0
- package/core/lib/models/users/components/user-add/user-add.js +226 -0
- package/core/lib/models/users/components/user-add/user-add.scss +0 -0
- package/core/lib/models/users/users.js +120 -0
- package/core/lib/modules/business/launch-page/launch-page.js +29 -0
- package/core/lib/modules/business/launch-page/launch-page.scss +6 -0
- package/core/lib/modules/business/slots/slots.js +231 -0
- package/core/lib/modules/business/slots/slots.scss +108 -0
- package/core/lib/modules/forms/components/field-customizer/field-customizer.js +139 -0
- package/core/lib/modules/forms/components/field-customizer/field-customizer.scss +0 -0
- package/core/lib/modules/forms/components/field-selector/field-selector.js +157 -0
- package/core/lib/modules/forms/components/field-selector/field-selector.scss +25 -0
- package/core/lib/modules/forms/components/form-display/form-display.js +203 -0
- package/core/lib/modules/forms/components/form-display/form-display.scss +9 -0
- package/core/lib/modules/forms/components/tab-customizer/tab-customizer.js +125 -0
- package/core/lib/modules/forms/components/tab-customizer/tab-customizer.scss +0 -0
- package/core/lib/modules/generic/generic-add/generic-add.js +213 -0
- package/core/lib/modules/generic/generic-add/generic-add.scss +0 -0
- package/core/lib/modules/generic/generic-detail/generic-detail.js +199 -0
- package/core/lib/modules/generic/generic-detail/generic-detail.scss +0 -0
- package/core/lib/modules/generic/generic-edit/generic-edit.js +120 -0
- package/core/lib/modules/generic/generic-edit/generic-edit.scss +0 -0
- package/core/lib/modules/generic/generic-list/ExportReactCSV.js +62 -0
- package/core/lib/modules/generic/generic-list/generic-list.js +705 -0
- package/core/lib/modules/generic/generic-list/generic-list.scss +34 -0
- package/core/lib/modules/generic/generic-upload/generic-upload.js +484 -0
- package/core/lib/modules/generic/generic-upload/generic-upload.scss +0 -0
- package/core/lib/modules/generic/table-settings/table-settings.js +226 -0
- package/core/lib/modules/generic/table-settings/table-settings.scss +37 -0
- package/core/lib/modules/index.js +52 -0
- package/core/lib/modules/modules-routes/module-routes.js +35 -0
- package/core/lib/modules/modules-routes/module-routes.scss +0 -0
- package/core/lib/pages/change-password/change-password.js +211 -0
- package/core/lib/pages/change-password/change-password.scss +76 -0
- package/core/lib/pages/homepage/homepage.js +53 -0
- package/core/lib/pages/index.js +20 -0
- package/core/lib/pages/login/login.js +617 -0
- package/core/lib/pages/login/login.scss +346 -0
- package/core/lib/pages/manage-users/manage-users.js +429 -0
- package/core/lib/pages/manage-users/manage-users.scss +26 -0
- package/core/lib/pages/profile/profile.js +247 -0
- package/core/lib/pages/profile/profile.scss +107 -0
- package/core/lib/pages/profile/theme-config.js +18 -0
- package/core/lib/pages/profile/themes-backup.json +311 -0
- package/core/lib/pages/profile/themes.json +254 -0
- package/core/lib/pages/register/register.js +177 -0
- package/core/lib/pages/register/register.scss +128 -0
- package/core/lib/react-styleguide.md +757 -0
- package/core/lib/utils/api/api.utils.js +188 -0
- package/core/lib/utils/api/readme.md +426 -0
- package/core/lib/utils/async.js +36 -0
- package/core/lib/utils/common/common.utils.js +123 -0
- package/core/lib/utils/common/readme.md +30 -0
- package/core/lib/utils/date/date.utils.js +295 -0
- package/core/lib/utils/date/readme.md +2 -0
- package/core/lib/utils/firebase.support.utils.js +99 -0
- package/core/lib/utils/firebase.utils.js +808 -0
- package/core/lib/utils/form/Form.md +0 -0
- package/core/lib/utils/form/form.utils.js +256 -0
- package/core/lib/utils/generic/generic.utils.js +69 -0
- package/core/lib/utils/http/auth.helper.js +95 -0
- package/core/lib/utils/http/http.utils.js +157 -0
- package/core/lib/utils/http/readme.md +14 -0
- package/core/lib/utils/index.js +46 -0
- package/core/lib/utils/location/location.utils.js +137 -0
- package/core/lib/utils/location/readme.md +18 -0
- package/core/lib/utils/modal.utils.js +16 -0
- package/core/lib/utils/notification.utils.js +35 -0
- package/core/lib/utils/pwa/pwa.utils.js +88 -0
- package/core/lib/utils/script.utils.js +235 -0
- package/core/lib/utils/setting.utils.js +69 -0
- package/core/lib/utils/upload.utils.js +30 -0
- package/core/models/Preference/Preferences.js +46 -0
- package/core/models/base/base.js +399 -0
- package/core/models/base-clone-loader.js +107 -0
- package/core/models/base-clone.js +187 -0
- package/core/models/base-loader.js +97 -0
- package/core/models/core-scripts/core-scripts.js +150 -0
- package/core/models/dashboard/dashboard.js +187 -0
- package/core/models/detail-loader.js +88 -0
- package/core/models/groups.js +82 -0
- package/core/models/index.js +94 -0
- package/core/models/lookup-types/components/lookup-detail/lookup-detail.js +129 -0
- package/core/models/lookup-types/lookup-types.js +96 -0
- package/core/models/lookup-values/components/lookup-values-modal/lookup-values-modal.js +95 -0
- package/core/models/lookup-values/components/lookup-values-modal/lookup-values-modal.scss +0 -0
- package/core/models/lookup-values/lookup-values.js +92 -0
- package/core/models/menu-roles/components/menu-roles-add/menu-roles-add.js +153 -0
- package/core/models/menu-roles/components/menu-roles-add/menu-roles-add.scss +0 -0
- package/core/models/menu-roles/menu-roles.js +158 -0
- package/core/models/menus/components/menu-add/menu-add.js +325 -0
- package/core/models/menus/components/menu-add/menu-add.scss +31 -0
- package/core/models/menus/components/menu-detail/menu-detail.js +263 -0
- package/core/models/menus/components/menu-list/menu-list.js +392 -0
- package/core/models/menus/components/menu-lists/menu-lists.js +429 -0
- package/core/models/menus/components/menu-lists/menu-lists.scss +41 -0
- package/core/models/menus/menus.js +291 -0
- package/core/models/model-columns.js +121 -0
- package/core/models/models/components/model-detail/model-add.js +120 -0
- package/core/models/models/components/model-detail/model-detail.js +133 -0
- package/core/models/models/components/model-detail/model-detail.scss +0 -0
- package/core/models/models/models.js +154 -0
- package/core/models/pages/components/page-add/page-add.js +163 -0
- package/core/models/pages/components/page-add/page-add.scss +31 -0
- package/core/models/pages/components/page-details/page-details.js +210 -0
- package/core/models/pages/components/page-list/page-list.js +248 -0
- package/core/models/pages/pages.js +142 -0
- package/core/models/pages/pages.scss +0 -0
- package/core/models/pages.js +142 -0
- package/core/models/roles/components/role-add/role-add.js +248 -0
- package/core/models/roles/components/role-list/role-list.js +408 -0
- package/core/models/roles/roles.js +188 -0
- package/core/models/user-roles/components/user-roles-add/user-roles-add.js +149 -0
- package/core/models/user-roles/components/user-roles-add/user-roles-add.scss +0 -0
- package/core/models/user-roles/user-roles.js +99 -0
- package/core/models/users/components/user-add/user-add.js +458 -0
- package/core/models/users/components/user-detail/user-detail.js +236 -0
- package/core/models/users/components/user-detail/user-detail.scss +0 -0
- package/core/models/users/components/user-list/user-list.js +397 -0
- package/core/models/users/users.js +185 -0
- package/core/modules/Informations/change-info/change-info.js +618 -0
- package/core/modules/Informations/change-info/change-info.scss +135 -0
- package/core/modules/dashboard/components/dashboard-card/animations.js +65 -0
- package/core/modules/dashboard/components/dashboard-card/dashboard-card.js +197 -0
- package/core/modules/dashboard/components/dashboard-card/menu-dashboard-card.js +430 -0
- package/core/modules/dashboard/components/dashboard-card/menu-dashboard-card.scss +60 -0
- package/core/modules/dashboard/components/pop-query-dashboard/pop-query-dashboard.js +66 -0
- package/core/modules/generic/components/generic-add/generic-add.js +121 -0
- package/core/modules/generic/components/generic-add/generic-add.scss +13 -0
- package/core/modules/generic/components/generic-add-modal/generic-add-modal.js +125 -0
- package/core/modules/generic/components/generic-add-modal/generic-add-modal.scss +13 -0
- package/core/modules/generic/components/generic-detail/generic-detail.js +184 -0
- package/core/modules/generic/components/generic-detail/generic-detail.scss +25 -0
- package/core/modules/generic/components/generic-edit/generic-edit.js +123 -0
- package/core/modules/generic/components/generic-edit/generic-edit.scss +0 -0
- package/core/modules/generic/components/generic-list/generic-list.js +335 -0
- package/core/modules/generic/components/generic-list/generic-list.scss +35 -0
- package/core/modules/index.js +54 -0
- package/core/modules/module-routes/module-routes.js +37 -0
- package/core/modules/module-routes/module-routes.scss +0 -0
- package/core/modules/reporting/components/reporting-dashboard/reporting-dashboard.js +1101 -0
- package/core/modules/reporting/components/reporting-dashboard/reporting-dashboard.scss +171 -0
- package/core/pages/homepage-api/homepage-api.js +106 -0
- package/core/pages/homepage-api/homepage-api.scss +234 -0
- package/core/pages/homepage-api/menu-dashboard.js +169 -0
- package/core/pages/homepage-api/menu-dashboard.scss +12 -0
- package/core/translation.json +54 -0
- package/core/translations.json +20 -0
- package/core/utils/script.utils.js +130 -0
- package/core/utils/settings.utils.js +26 -0
- package/eslint.config.mjs +79 -0
- package/index.js +36 -0
- package/package.json +118 -0
- package/tsconfig.json +27 -0
- package/webpack.config.js +174 -0
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PostData,
|
|
3
|
+
GetData,
|
|
4
|
+
PutData,
|
|
5
|
+
PatchData,
|
|
6
|
+
DeleteData,
|
|
7
|
+
} from "./../http/http.utils";
|
|
8
|
+
|
|
9
|
+
let headers = {};
|
|
10
|
+
|
|
11
|
+
var settings = {
|
|
12
|
+
getToken: () => {},
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export default class ApiUtils {
|
|
16
|
+
/**
|
|
17
|
+
* Update the settings manualy
|
|
18
|
+
*
|
|
19
|
+
* Used in case of branch switcher
|
|
20
|
+
*
|
|
21
|
+
*
|
|
22
|
+
* @param {*} config
|
|
23
|
+
*/
|
|
24
|
+
updateSettings = (config) => {
|
|
25
|
+
settings = config;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
static getUser = () => {
|
|
29
|
+
return this.user;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
static get = ({ url, config = { queries: [], order: {} }, ...props }) => {
|
|
33
|
+
const { headers } = settings;
|
|
34
|
+
|
|
35
|
+
return GetData({
|
|
36
|
+
url: createUrlParams(url, config),
|
|
37
|
+
settings,
|
|
38
|
+
headers,
|
|
39
|
+
...props,
|
|
40
|
+
}).catch((result) => {
|
|
41
|
+
console.log(result);
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
static getRecordDetail = ({ url, config = { queries: [] }, ...props }) => {
|
|
46
|
+
const { headers } = settings;
|
|
47
|
+
|
|
48
|
+
return GetData({
|
|
49
|
+
url: createUrlParams(url, config),
|
|
50
|
+
settings,
|
|
51
|
+
headers,
|
|
52
|
+
...props,
|
|
53
|
+
}).catch((result) => {
|
|
54
|
+
console.log(result);
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
static post = ({ url, formBody, ...props }) => {
|
|
59
|
+
const { headers } = settings;
|
|
60
|
+
|
|
61
|
+
return PostData({
|
|
62
|
+
url,
|
|
63
|
+
formBody,
|
|
64
|
+
settings,
|
|
65
|
+
headers,
|
|
66
|
+
...props,
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
static put = ({ url, formBody, ...props }) => {
|
|
71
|
+
const { headers } = settings;
|
|
72
|
+
|
|
73
|
+
return PutData({
|
|
74
|
+
url,
|
|
75
|
+
settings,
|
|
76
|
+
formBody,
|
|
77
|
+
headers,
|
|
78
|
+
...props,
|
|
79
|
+
});
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
static patch = ({ url, formBody, ...props }) => {
|
|
83
|
+
const { headers } = settings;
|
|
84
|
+
|
|
85
|
+
return PatchData({
|
|
86
|
+
url,
|
|
87
|
+
settings,
|
|
88
|
+
formBody,
|
|
89
|
+
headers,
|
|
90
|
+
...props,
|
|
91
|
+
});
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
static delete = ({ url, formBody, ...props }) => {
|
|
95
|
+
const { headers } = settings;
|
|
96
|
+
|
|
97
|
+
return DeleteData({
|
|
98
|
+
url,
|
|
99
|
+
settings,
|
|
100
|
+
headers,
|
|
101
|
+
...props,
|
|
102
|
+
});
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
static upload = ({ url, data }) => {
|
|
106
|
+
return fetch(process.env.REACT_APP_endpoint + url, {
|
|
107
|
+
// Your POST endpoint
|
|
108
|
+
method: "POST",
|
|
109
|
+
headers: {
|
|
110
|
+
// 'App-Type': 313,
|
|
111
|
+
// 'App-Version': '1.0.1',
|
|
112
|
+
Authorization: "Bearer " + localStorage.access_token,
|
|
113
|
+
// type:'multipart/formData'
|
|
114
|
+
},
|
|
115
|
+
// credentials: 'include',
|
|
116
|
+
body: data,
|
|
117
|
+
}).then(
|
|
118
|
+
(result) => {
|
|
119
|
+
return result.json();
|
|
120
|
+
},
|
|
121
|
+
(error) => {
|
|
122
|
+
console.log(error);
|
|
123
|
+
return error;
|
|
124
|
+
},
|
|
125
|
+
(progress) => {
|
|
126
|
+
console.log(progress);
|
|
127
|
+
return progress;
|
|
128
|
+
}
|
|
129
|
+
);
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Get Auth Status
|
|
134
|
+
*
|
|
135
|
+
* @param {*} param0
|
|
136
|
+
* @returns
|
|
137
|
+
*/
|
|
138
|
+
static getAuthStatus = ({ settings: config, token }) => {
|
|
139
|
+
headers = headers;
|
|
140
|
+
|
|
141
|
+
settings = config;
|
|
142
|
+
|
|
143
|
+
return GetData({
|
|
144
|
+
url: `auth/profile`,
|
|
145
|
+
settings,
|
|
146
|
+
|
|
147
|
+
headers,
|
|
148
|
+
token
|
|
149
|
+
});
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
*
|
|
155
|
+
*/
|
|
156
|
+
function createUrlParams(url, config) {
|
|
157
|
+
var base_url = url;
|
|
158
|
+
|
|
159
|
+
let { queries = [], limit, order } = config;
|
|
160
|
+
|
|
161
|
+
if (queries.length > 0 || limit > 0) {
|
|
162
|
+
base_url += "?";
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
queries.forEach((ele) => {
|
|
166
|
+
base_url += `${ele.field}=${ele.value}&`;
|
|
167
|
+
});
|
|
168
|
+
|
|
169
|
+
// Remove the last ambersent added
|
|
170
|
+
if (queries.length) {
|
|
171
|
+
base_url = base_url.substring(0, base_url.length - 1);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
// If there is limit , add it
|
|
175
|
+
if (limit > 0) {
|
|
176
|
+
base_url += `&limit=${limit}`;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
if (config.includes) {
|
|
180
|
+
base_url += `&includes=${config.includes}`;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
if (order && order.order) {
|
|
184
|
+
base_url += `&order=${order.order},${order.order_by}`;
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
return base_url;
|
|
188
|
+
}
|
|
@@ -0,0 +1,426 @@
|
|
|
1
|
+
## Usage
|
|
2
|
+
|
|
3
|
+
### GET Method
|
|
4
|
+
|
|
5
|
+
```sh
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @author Ashique
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
import {useState,useEffect} from 'react';
|
|
12
|
+
|
|
13
|
+
import { ApiUtils } from 'soxo-bootstrap-core';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Exporting our default functional component 'Demo' here
|
|
17
|
+
* @returns {JSX.Element} A React element representing the Demo component.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
export default function Demo() {
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* A state variable called data, initialized as an empty array.
|
|
24
|
+
* @type {[any[], function]} An array containing the current state value and a function to update it.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
const [data,setData] = useState([])
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* A hook that runs a function called loadData when the component mounts (i.e., when the component is first rendered).
|
|
31
|
+
* The empty dependency array [] ensures that this hook only runs once.
|
|
32
|
+
*/
|
|
33
|
+
|
|
34
|
+
useEffect(()=>{
|
|
35
|
+
|
|
36
|
+
loadData();
|
|
37
|
+
|
|
38
|
+
},[])
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Loads data from the server and updates the component state with the retrieved data.
|
|
42
|
+
* @function
|
|
43
|
+
* @returns {void}
|
|
44
|
+
*/
|
|
45
|
+
|
|
46
|
+
function loadData(){
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* An object destructuring assignment that extracts the 'result' property from the object returned by the ApiUtils.get() method.
|
|
50
|
+
* @type {Array}
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
const {result=[]} = ApiUtils.get({url:'/branches'})
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Updates the component state with the retrieved data.
|
|
57
|
+
* @param {Array} result - The data to be set in the component state.
|
|
58
|
+
* @returns {void}
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
setData(result);
|
|
62
|
+
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* The return statement generates a list of branch names based on the branches array.
|
|
67
|
+
*/
|
|
68
|
+
|
|
69
|
+
return (
|
|
70
|
+
<>
|
|
71
|
+
|
|
72
|
+
{
|
|
73
|
+
branches.map((branch)=>{
|
|
74
|
+
|
|
75
|
+
return branch.name;
|
|
76
|
+
|
|
77
|
+
})
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
</>
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
### POST Method
|
|
87
|
+
|
|
88
|
+
```sh
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* @author Sharafudheen
|
|
92
|
+
*/
|
|
93
|
+
|
|
94
|
+
import { useState, useEffect } from 'react';
|
|
95
|
+
|
|
96
|
+
import { ApiUtils } from 'soxo-bootstarp-core';
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Exporting our default functional component 'Demo' here.
|
|
100
|
+
*/
|
|
101
|
+
|
|
102
|
+
export default function Demo() {
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* This is a React hook that creates a state variable called `name` and `Description`.
|
|
106
|
+
* and a function called `setName` and `setDescription` to update their variables.
|
|
107
|
+
* The initial values of the variables were an empty string.
|
|
108
|
+
*/
|
|
109
|
+
|
|
110
|
+
const [name,setName] = useState('')
|
|
111
|
+
|
|
112
|
+
const [description,setDescription] = useState('')
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Handle the form submission event.
|
|
117
|
+
* @param {Event} event - The form submission event.
|
|
118
|
+
*/
|
|
119
|
+
|
|
120
|
+
function handleSubmit(event) {
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Prevent the form from submitting normally.
|
|
124
|
+
*/
|
|
125
|
+
|
|
126
|
+
event.preventDefault();
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Construct an object containing the name and description from the form.
|
|
130
|
+
*/
|
|
131
|
+
|
|
132
|
+
const data = { name, description };
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Make a POST request to create a new branch using the ApiUtils.
|
|
136
|
+
*/
|
|
137
|
+
ApiUtils.post({ url: '/branches', data })
|
|
138
|
+
|
|
139
|
+
.then(response => {
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* If the request succeeds, log a success message to the console.
|
|
143
|
+
*/
|
|
144
|
+
console.log('Branch created successfully:', response);
|
|
145
|
+
|
|
146
|
+
})
|
|
147
|
+
.catch(error => {
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* If the request fails, log an error message to the console.
|
|
151
|
+
*/
|
|
152
|
+
console.error('Error creating branch:', error);
|
|
153
|
+
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* returns a value. Here it returns the form component.
|
|
159
|
+
* When form is submitted, handleSubmit function will be called.
|
|
160
|
+
*/
|
|
161
|
+
|
|
162
|
+
return (
|
|
163
|
+
|
|
164
|
+
<form onSubmit={handleSubmit}>
|
|
165
|
+
|
|
166
|
+
<label>
|
|
167
|
+
|
|
168
|
+
Name:
|
|
169
|
+
|
|
170
|
+
<input type="text" value={name} onChange={e => setName(e.target.value)} />
|
|
171
|
+
|
|
172
|
+
</label>
|
|
173
|
+
|
|
174
|
+
<label>
|
|
175
|
+
|
|
176
|
+
Description:
|
|
177
|
+
|
|
178
|
+
<textarea value={description} onChange={e => setDescription(e.target.value)} />
|
|
179
|
+
|
|
180
|
+
</label>
|
|
181
|
+
|
|
182
|
+
<button type="submit">Create Branch</button>
|
|
183
|
+
|
|
184
|
+
</form>
|
|
185
|
+
|
|
186
|
+
);
|
|
187
|
+
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
### PUT Method
|
|
193
|
+
|
|
194
|
+
```sh
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* @author Sharafudheen
|
|
198
|
+
*/
|
|
199
|
+
|
|
200
|
+
import { useState, useEffect } from 'react';
|
|
201
|
+
|
|
202
|
+
import { ApiUtils } from 'soxo-bootstrap-core';
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Exporting our default functional component 'Demo' here.
|
|
206
|
+
*/
|
|
207
|
+
|
|
208
|
+
export default function Demo() {
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* A state variable called data, initialized as an empty array.
|
|
212
|
+
* @type {[any[], function]} An array containing the current state value and a function to update it.
|
|
213
|
+
*/
|
|
214
|
+
|
|
215
|
+
const [data,setData] = useState([]);
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* A hook that runs a function called loadData when the component mounts (i.e., when the component is first rendered).
|
|
219
|
+
* The empty dependency array [] ensures that this hook only runs once.
|
|
220
|
+
*/
|
|
221
|
+
|
|
222
|
+
useEffect(() => {
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* @param {function} loadData - The function to be executed.
|
|
226
|
+
* @param {array} dependencies - An array of dependencies for the effect.
|
|
227
|
+
*/
|
|
228
|
+
|
|
229
|
+
loadData();
|
|
230
|
+
|
|
231
|
+
}, []);
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Loads data from the server using the PUT method.
|
|
236
|
+
*/
|
|
237
|
+
|
|
238
|
+
function loadData() {
|
|
239
|
+
|
|
240
|
+
ApiUtils.put({ url: '/branches'})
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* @returns {Promise<void>} A Promise that resolves when the data has been successfully loaded.
|
|
244
|
+
*/
|
|
245
|
+
.then(response => setData(response.result));
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* @throws {Error} If there was an error loading the data.
|
|
249
|
+
*/
|
|
250
|
+
|
|
251
|
+
.catch(error => console.log(error));
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Render a list of branch names.
|
|
257
|
+
*/
|
|
258
|
+
|
|
259
|
+
return (
|
|
260
|
+
<>
|
|
261
|
+
|
|
262
|
+
/*
|
|
263
|
+
* @param {Array} data - An array of objects representing branches.
|
|
264
|
+
*/
|
|
265
|
+
{data.map((branch) => {
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* @returns {JSX.Element} A React fragment containing the names of each branch
|
|
269
|
+
*/
|
|
270
|
+
|
|
271
|
+
return branch.name;
|
|
272
|
+
|
|
273
|
+
})}
|
|
274
|
+
|
|
275
|
+
</>
|
|
276
|
+
|
|
277
|
+
);
|
|
278
|
+
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
```
|
|
282
|
+
|
|
283
|
+
### DELETE Method
|
|
284
|
+
|
|
285
|
+
```sh
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* @author Sharafudheen
|
|
289
|
+
*/
|
|
290
|
+
|
|
291
|
+
import { useState, useEffect } from 'react';
|
|
292
|
+
|
|
293
|
+
import { ApiUtils } from 'soxo-bootstrap-core';
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* @author Sharafu
|
|
297
|
+
* Exporting our default functional component 'Demo' here.
|
|
298
|
+
*/
|
|
299
|
+
|
|
300
|
+
export default function Demo() {
|
|
301
|
+
|
|
302
|
+
/**
|
|
303
|
+
* A state variable called data, initialized as an empty array.
|
|
304
|
+
* @type {[any[], function]} An array containing the current state value and a function to update it.
|
|
305
|
+
*/
|
|
306
|
+
|
|
307
|
+
const [data, setData] = useState([]);
|
|
308
|
+
|
|
309
|
+
/**
|
|
310
|
+
* A hook that runs a function called loadData when the component mounts (i.e., when the component is first rendered).
|
|
311
|
+
* The empty dependency array [] ensures that this hook only runs once.
|
|
312
|
+
*/
|
|
313
|
+
|
|
314
|
+
useEffect(() => {
|
|
315
|
+
|
|
316
|
+
/**
|
|
317
|
+
* @param {function} loadData - The function to be executed.
|
|
318
|
+
* @param {array} dependencies - An array of dependencies for the effect.
|
|
319
|
+
*/
|
|
320
|
+
|
|
321
|
+
loadData();
|
|
322
|
+
|
|
323
|
+
}, []);
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* A function that loads data from the '/branches' endpoint using the ApiUtils.get() method and sets the result to the component state using setData().
|
|
327
|
+
* @function
|
|
328
|
+
* @returns {void}
|
|
329
|
+
*/
|
|
330
|
+
|
|
331
|
+
function loadData() {
|
|
332
|
+
|
|
333
|
+
/**
|
|
334
|
+
* Destructuring the 'result' property from the object returned by the ApiUtils.get() method. If 'result' is undefined or null, set it to an empty array.
|
|
335
|
+
* @type {Array}
|
|
336
|
+
*/
|
|
337
|
+
|
|
338
|
+
const { result = [] } = ApiUtils.get({ url: '/branches' });
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
* Sets the 'result' to the component state using the 'setData()' method.
|
|
342
|
+
* @type {Function}
|
|
343
|
+
* @param {Array} result - An array of data obtained from the '/branches' endpoint.
|
|
344
|
+
* @returns {void}
|
|
345
|
+
*/
|
|
346
|
+
|
|
347
|
+
setData(result);
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/**
|
|
351
|
+
* Deletes data with the given id.
|
|
352
|
+
* @param {number} id - The id of the data to be deleted.
|
|
353
|
+
*/
|
|
354
|
+
|
|
355
|
+
function deleteData(id) {
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* Makes an API delete request to delete data with the given id.
|
|
359
|
+
* @param {object} options - An object containing the API request options.
|
|
360
|
+
* @param {string} options.url - The URL for the delete request.
|
|
361
|
+
* @returns {Promise} A promise that resolves when the delete request is successful.
|
|
362
|
+
*/
|
|
363
|
+
|
|
364
|
+
ApiUtils.delete({ url: `/branches/${id}` }).then(() => {
|
|
365
|
+
|
|
366
|
+
/**
|
|
367
|
+
* Sets the state of the data after deleting the data with the given id.
|
|
368
|
+
* @param {function} prevData - The previous state of the data.
|
|
369
|
+
* @returns {array} An array of data with the item that has the given id removed.
|
|
370
|
+
*/
|
|
371
|
+
|
|
372
|
+
setData((prevData) => prevData.filter((item) => item.id !== id));
|
|
373
|
+
|
|
374
|
+
});
|
|
375
|
+
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
/**
|
|
379
|
+
* Renders a list of branches and a "Delete" button for each branch.
|
|
380
|
+
*
|
|
381
|
+
* @function
|
|
382
|
+
* @returns {JSX.Element} A React fragment containing a list of branches and a "Delete" button for each branch.
|
|
383
|
+
*/
|
|
384
|
+
|
|
385
|
+
|
|
386
|
+
return (
|
|
387
|
+
|
|
388
|
+
<>
|
|
389
|
+
|
|
390
|
+
/**
|
|
391
|
+
* @param {Object[]} data - An array of objects representing branch data.
|
|
392
|
+
*/
|
|
393
|
+
|
|
394
|
+
{data.map((branch) => {
|
|
395
|
+
|
|
396
|
+
return (
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* @param {number} data[].id - The unique ID of the branch.
|
|
400
|
+
*/
|
|
401
|
+
|
|
402
|
+
<div key={branch.id}>
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* @param {string} data[].name - The name of the branch.
|
|
406
|
+
*/
|
|
407
|
+
|
|
408
|
+
<span>{branch.name}</span>
|
|
409
|
+
|
|
410
|
+
/**
|
|
411
|
+
* @param {function} deleteData - A function that deletes the branch data when Button is clicked.
|
|
412
|
+
*/
|
|
413
|
+
|
|
414
|
+
<button onClick={() => deleteData(branch.id)}>Delete</button>
|
|
415
|
+
|
|
416
|
+
</div>
|
|
417
|
+
|
|
418
|
+
);
|
|
419
|
+
|
|
420
|
+
})}
|
|
421
|
+
|
|
422
|
+
</>
|
|
423
|
+
);
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
```
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React, { Component } from 'react';
|
|
2
|
+
|
|
3
|
+
export default function asyncComponent(importComponent) {
|
|
4
|
+
|
|
5
|
+
class AsyncComponent extends Component {
|
|
6
|
+
|
|
7
|
+
constructor(props) {
|
|
8
|
+
super(props);
|
|
9
|
+
|
|
10
|
+
this.state = {
|
|
11
|
+
component: null,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
async componentDidMount() {
|
|
16
|
+
// const { default: component } = await import(`./../Scenes/Generic-Listing/genericListing.scene`);
|
|
17
|
+
// const { default: component } = await import(`./../Scenes/${importComponent}.js`);
|
|
18
|
+
const { default: component } = await importComponent();
|
|
19
|
+
|
|
20
|
+
this.setState({
|
|
21
|
+
component: component
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
render() {
|
|
26
|
+
const C = this.state.component;
|
|
27
|
+
|
|
28
|
+
return C
|
|
29
|
+
? <C {...this.props} />
|
|
30
|
+
: null;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return AsyncComponent;
|
|
36
|
+
}
|