@erpsquad/common 1.8.83 → 1.8.84
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/index/index.esm3.js +2 -4
- package/dist/_virtual/index/index.esm3.js.map +1 -1
- package/dist/_virtual/index/index.esm4.js +3 -3
- package/dist/_virtual/index/index.esm5.js +4 -2
- package/dist/_virtual/index/index.esm5.js.map +1 -1
- package/dist/_virtual/index/index3.js +1 -1
- package/dist/_virtual/index/index4.js +1 -1
- package/dist/_virtual/index/index5.js +1 -1
- package/dist/components/accordion/accordion.d.ts +1 -1
- package/dist/components/action-bar/action-bar/index.esm.js +1 -1
- package/dist/components/action-bar/action-bar/index.esm.js.map +1 -1
- package/dist/components/action-bar/action-bar/index.js +5 -5
- package/dist/components/action-bar/action-bar/index.js.map +1 -1
- package/dist/components/action-bar/action-bar.d.ts +1 -1
- package/dist/components/checkbox/checkbox.d.ts +1 -1
- package/dist/components/date-picker/date-picker.d.ts +1 -1
- package/dist/components/filter/components/delete-group/index.esm.js +1 -0
- package/dist/components/filter/components/delete-group/index.esm.js.map +1 -1
- package/dist/components/filter/components/delete-group/index.js +1 -1
- package/dist/components/filter/components/delete-group/index.js.map +1 -1
- package/dist/components/filter/filter/index.esm.js +1 -1
- package/dist/components/filter/filter/index.esm.js.map +1 -1
- package/dist/components/filter/filter/index.js +7 -7
- package/dist/components/filter/filter/index.js.map +1 -1
- package/dist/components/footer/footer.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
- package/dist/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
- package/dist/components/form-control/form-parser/form-switcher.d.ts +1 -1
- package/dist/components/header/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/header/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/header/redux/actionCreator/index.js +1 -1
- package/dist/components/header/redux/actionCreator/index.js.map +1 -1
- package/dist/components/icons/action-arrow.d.ts +3 -3
- package/dist/components/icons/add-circle.d.ts +3 -3
- package/dist/components/icons/arrow-bidirectional.d.ts +3 -3
- package/dist/components/icons/arrow-circle-down.d.ts +3 -3
- package/dist/components/icons/arrow-down-three.d.ts +3 -3
- package/dist/components/icons/arrow-down-two.d.ts +3 -3
- package/dist/components/icons/arrow-down.d.ts +3 -3
- package/dist/components/icons/arrow-up-down.d.ts +3 -3
- package/dist/components/icons/arrow-up-two.d.ts +3 -3
- package/dist/components/icons/assignments.d.ts +3 -3
- package/dist/components/icons/blank-circle.d.ts +3 -3
- package/dist/components/icons/block-filled.d.ts +3 -3
- package/dist/components/icons/calendar-add.d.ts +3 -3
- package/dist/components/icons/calendar.d.ts +3 -3
- package/dist/components/icons/checkbox-square.d.ts +3 -3
- package/dist/components/icons/circular-arrow-setting.d.ts +3 -3
- package/dist/components/icons/clock.d.ts +3 -3
- package/dist/components/icons/close.d.ts +3 -3
- package/dist/components/icons/coin-outline.d.ts +3 -3
- package/dist/components/icons/copy.d.ts +3 -3
- package/dist/components/icons/coupon.d.ts +3 -3
- package/dist/components/icons/cross-hire.d.ts +3 -3
- package/dist/components/icons/custom-styled-icon.d.ts +3 -3
- package/dist/components/icons/dashboard.d.ts +3 -3
- package/dist/components/icons/document-download.d.ts +3 -3
- package/dist/components/icons/document.d.ts +3 -3
- package/dist/components/icons/dollar-circle-filled.d.ts +3 -3
- package/dist/components/icons/dollar-circle.d.ts +3 -3
- package/dist/components/icons/edit.d.ts +3 -3
- package/dist/components/icons/email.d.ts +3 -3
- package/dist/components/icons/export.d.ts +3 -3
- package/dist/components/icons/eye-off.d.ts +3 -3
- package/dist/components/icons/eye-plus-circle.d.ts +3 -3
- package/dist/components/icons/eye.d.ts +3 -3
- package/dist/components/icons/filled-circle.d.ts +3 -3
- package/dist/components/icons/filter-remove.d.ts +3 -3
- package/dist/components/icons/filter.d.ts +3 -3
- package/dist/components/icons/folder-save.d.ts +3 -3
- package/dist/components/icons/grid.d.ts +3 -3
- package/dist/components/icons/hashtag.d.ts +3 -3
- package/dist/components/icons/image.d.ts +3 -3
- package/dist/components/icons/import.d.ts +3 -3
- package/dist/components/icons/info-circle.d.ts +3 -3
- package/dist/components/icons/info.d.ts +3 -3
- package/dist/components/icons/link-horizontal.d.ts +3 -3
- package/dist/components/icons/link.d.ts +3 -3
- package/dist/components/icons/location.d.ts +3 -3
- package/dist/components/icons/lowest-lead-time.d.ts +3 -3
- package/dist/components/icons/lowest-min-qty.d.ts +3 -3
- package/dist/components/icons/lowest-price.d.ts +3 -3
- package/dist/components/icons/more.d.ts +3 -3
- package/dist/components/icons/notification.d.ts +3 -3
- package/dist/components/icons/paper-clip.d.ts +3 -3
- package/dist/components/icons/paragraph.d.ts +3 -3
- package/dist/components/icons/payment-request.d.ts +3 -3
- package/dist/components/icons/phone.d.ts +3 -3
- package/dist/components/icons/printer.d.ts +3 -3
- package/dist/components/icons/process-calendar.d.ts +3 -3
- package/dist/components/icons/promotion.d.ts +3 -3
- package/dist/components/icons/radio-button.d.ts +3 -3
- package/dist/components/icons/receipt-filled.d.ts +3 -3
- package/dist/components/icons/receipt-outline.d.ts +3 -3
- package/dist/components/icons/receipt.d.ts +3 -3
- package/dist/components/icons/refresh-icon.d.ts +3 -3
- package/dist/components/icons/replace.d.ts +3 -3
- package/dist/components/icons/save.d.ts +3 -3
- package/dist/components/icons/search-status.d.ts +3 -3
- package/dist/components/icons/search.d.ts +3 -3
- package/dist/components/icons/settings-fallback.d.ts +3 -3
- package/dist/components/icons/sort-arrow-icon.d.ts +3 -3
- package/dist/components/icons/stacked-layer.d.ts +3 -3
- package/dist/components/icons/start-filled.d.ts +3 -3
- package/dist/components/icons/three-dot-icon.d.ts +3 -3
- package/dist/components/icons/tick-circle-filled.d.ts +3 -3
- package/dist/components/icons/tick-circle.d.ts +3 -3
- package/dist/components/icons/tick-octagon.d.ts +3 -3
- package/dist/components/icons/tick.d.ts +3 -3
- package/dist/components/icons/toggle-switch.d.ts +3 -3
- package/dist/components/icons/trash.d.ts +3 -3
- package/dist/components/icons/wave.d.ts +3 -3
- package/dist/components/icons/with-out-tick-octagon.d.ts +3 -3
- package/dist/components/icons/work-centre.d.ts +3 -3
- package/dist/components/index.esm.js +279 -277
- package/dist/components/index.esm.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js +1 -1
- package/dist/components/inventory-reports-title-bar/redux/actionCreator/index.js.map +1 -1
- package/dist/components/location-select.d.ts +1 -1
- package/dist/components/material-editable-table/material-editable-table.d.ts +1 -1
- package/dist/components/material-table/material-table.d.ts +1 -1
- package/dist/components/phone-input/phone-input.d.ts +1 -1
- package/dist/components/providers/ERPUIProvider/index.esm.js +1 -15
- package/dist/components/providers/ERPUIProvider/index.esm.js.map +1 -1
- package/dist/components/providers/ERPUIProvider/index.js +1 -1
- package/dist/components/providers/ERPUIProvider/index.js.map +1 -1
- package/dist/components/providers/ERPUIProvider.d.ts +0 -2
- package/dist/components/radio/radio.d.ts +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.js +1 -1
- package/dist/components/reports-title-bar/redux/actionCreator/index.js.map +1 -1
- package/dist/components/select/select.d.ts +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.esm.js +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.js +1 -1
- package/dist/components/share-modal/redux/actionCreator/index.js.map +1 -1
- package/dist/components/switches/android-12-switch.d.ts +1 -3
- package/dist/components/text-field/text-field.d.ts +1 -1
- package/dist/components/time-picker/time-picker.d.ts +1 -1
- package/dist/components/uom-field-wrapper/index.d.ts +1 -0
- package/dist/components/uom-field-wrapper/uom-field-wrapper/index.esm.js +76 -0
- package/dist/components/uom-field-wrapper/uom-field-wrapper/index.esm.js.map +1 -0
- package/dist/components/uom-field-wrapper/uom-field-wrapper/index.js +3 -0
- package/dist/components/uom-field-wrapper/uom-field-wrapper/index.js.map +1 -0
- package/dist/components/uom-field-wrapper/uom-field-wrapper.d.ts +22 -0
- package/dist/components/upload/upload/index.esm.js +2 -2
- package/dist/components/upload/upload/index.esm.js.map +1 -1
- package/dist/components/upload/upload/index.js +11 -11
- package/dist/components/upload/upload/index.js.map +1 -1
- package/dist/components/upload-media/upload-media.d.ts +1 -1
- package/dist/contexts/AuthContext/index.esm.js +2 -2
- package/dist/contexts/AuthContext/index.esm.js.map +1 -1
- package/dist/contexts/AuthContext/index.js +1 -1
- package/dist/contexts/AuthContext/index.js.map +1 -1
- package/dist/contexts/languageContext/index.esm.js +1 -1
- package/dist/contexts/languageContext/index.esm.js.map +1 -1
- package/dist/contexts/languageContext/index.js +1 -1
- package/dist/contexts/languageContext/index.js.map +1 -1
- package/dist/hooks/useUomFieldUpdater/index.esm.js +24 -0
- package/dist/hooks/useUomFieldUpdater/index.esm.js.map +1 -0
- package/dist/hooks/useUomFieldUpdater/index.js +2 -0
- package/dist/hooks/useUomFieldUpdater/index.js.map +1 -0
- package/dist/hooks/useUomFieldUpdater.d.ts +8 -0
- package/dist/index.esm.js +349 -353
- package/dist/index.js +1 -1
- package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.esm.js +1 -1
- package/dist/node_modules/@asseinfo/react-kanban/dist/index/index.js +1 -1
- package/dist/node_modules/@mui/system/colorManipulator/index.esm.js +2 -2
- package/dist/node_modules/@mui/system/colorManipulator/index.js +1 -1
- package/dist/src/components/accordion/accordion.d.ts +1 -1
- package/dist/src/components/action-bar/action-bar.d.ts +1 -1
- package/dist/src/components/checkbox/checkbox.d.ts +1 -1
- package/dist/src/components/date-picker/date-picker.d.ts +1 -1
- package/dist/src/components/footer/footer.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/media.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/phone.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/select.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/text.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/time.d.ts +1 -1
- package/dist/src/components/form-control/form-parser/form-switcher.d.ts +1 -1
- package/dist/src/components/icons/action-arrow.d.ts +3 -3
- package/dist/src/components/icons/add-circle.d.ts +3 -3
- package/dist/src/components/icons/arrow-bidirectional.d.ts +3 -3
- package/dist/src/components/icons/arrow-circle-down.d.ts +3 -3
- package/dist/src/components/icons/arrow-down-three.d.ts +3 -3
- package/dist/src/components/icons/arrow-down-two.d.ts +3 -3
- package/dist/src/components/icons/arrow-down.d.ts +3 -3
- package/dist/src/components/icons/arrow-up-down.d.ts +3 -3
- package/dist/src/components/icons/arrow-up-two.d.ts +3 -3
- package/dist/src/components/icons/assignments.d.ts +3 -3
- package/dist/src/components/icons/blank-circle.d.ts +3 -3
- package/dist/src/components/icons/block-filled.d.ts +3 -3
- package/dist/src/components/icons/calendar-add.d.ts +3 -3
- package/dist/src/components/icons/calendar.d.ts +3 -3
- package/dist/src/components/icons/checkbox-square.d.ts +3 -3
- package/dist/src/components/icons/circular-arrow-setting.d.ts +3 -3
- package/dist/src/components/icons/clock.d.ts +3 -3
- package/dist/src/components/icons/close.d.ts +3 -3
- package/dist/src/components/icons/coin-outline.d.ts +3 -3
- package/dist/src/components/icons/copy.d.ts +3 -3
- package/dist/src/components/icons/coupon.d.ts +3 -3
- package/dist/src/components/icons/cross-hire.d.ts +3 -3
- package/dist/src/components/icons/custom-styled-icon.d.ts +3 -3
- package/dist/src/components/icons/dashboard.d.ts +3 -3
- package/dist/src/components/icons/document-download.d.ts +3 -3
- package/dist/src/components/icons/document.d.ts +3 -3
- package/dist/src/components/icons/dollar-circle-filled.d.ts +3 -3
- package/dist/src/components/icons/dollar-circle.d.ts +3 -3
- package/dist/src/components/icons/edit.d.ts +3 -3
- package/dist/src/components/icons/email.d.ts +3 -3
- package/dist/src/components/icons/export.d.ts +3 -3
- package/dist/src/components/icons/eye-off.d.ts +3 -3
- package/dist/src/components/icons/eye-plus-circle.d.ts +3 -3
- package/dist/src/components/icons/eye.d.ts +3 -3
- package/dist/src/components/icons/filled-circle.d.ts +3 -3
- package/dist/src/components/icons/filter-remove.d.ts +3 -3
- package/dist/src/components/icons/filter.d.ts +3 -3
- package/dist/src/components/icons/folder-save.d.ts +3 -3
- package/dist/src/components/icons/grid.d.ts +3 -3
- package/dist/src/components/icons/hashtag.d.ts +3 -3
- package/dist/src/components/icons/image.d.ts +3 -3
- package/dist/src/components/icons/import.d.ts +3 -3
- package/dist/src/components/icons/info-circle.d.ts +3 -3
- package/dist/src/components/icons/info.d.ts +3 -3
- package/dist/src/components/icons/link-horizontal.d.ts +3 -3
- package/dist/src/components/icons/link.d.ts +3 -3
- package/dist/src/components/icons/location.d.ts +3 -3
- package/dist/src/components/icons/lowest-lead-time.d.ts +3 -3
- package/dist/src/components/icons/lowest-min-qty.d.ts +3 -3
- package/dist/src/components/icons/lowest-price.d.ts +3 -3
- package/dist/src/components/icons/more.d.ts +3 -3
- package/dist/src/components/icons/notification.d.ts +3 -3
- package/dist/src/components/icons/paper-clip.d.ts +3 -3
- package/dist/src/components/icons/paragraph.d.ts +3 -3
- package/dist/src/components/icons/payment-request.d.ts +3 -3
- package/dist/src/components/icons/phone.d.ts +3 -3
- package/dist/src/components/icons/printer.d.ts +3 -3
- package/dist/src/components/icons/process-calendar.d.ts +3 -3
- package/dist/src/components/icons/promotion.d.ts +3 -3
- package/dist/src/components/icons/radio-button.d.ts +3 -3
- package/dist/src/components/icons/receipt-filled.d.ts +3 -3
- package/dist/src/components/icons/receipt-outline.d.ts +3 -3
- package/dist/src/components/icons/receipt.d.ts +3 -3
- package/dist/src/components/icons/refresh-icon.d.ts +3 -3
- package/dist/src/components/icons/replace.d.ts +3 -3
- package/dist/src/components/icons/save.d.ts +3 -3
- package/dist/src/components/icons/search-status.d.ts +3 -3
- package/dist/src/components/icons/search.d.ts +3 -3
- package/dist/src/components/icons/settings-fallback.d.ts +3 -3
- package/dist/src/components/icons/sort-arrow-icon.d.ts +3 -3
- package/dist/src/components/icons/stacked-layer.d.ts +3 -3
- package/dist/src/components/icons/start-filled.d.ts +3 -3
- package/dist/src/components/icons/three-dot-icon.d.ts +3 -3
- package/dist/src/components/icons/tick-circle-filled.d.ts +3 -3
- package/dist/src/components/icons/tick-circle.d.ts +3 -3
- package/dist/src/components/icons/tick-octagon.d.ts +3 -3
- package/dist/src/components/icons/tick.d.ts +3 -3
- package/dist/src/components/icons/toggle-switch.d.ts +3 -3
- package/dist/src/components/icons/trash.d.ts +3 -3
- package/dist/src/components/icons/wave.d.ts +3 -3
- package/dist/src/components/icons/with-out-tick-octagon.d.ts +3 -3
- package/dist/src/components/icons/work-centre.d.ts +3 -3
- package/dist/src/components/index.d.ts +2 -0
- package/dist/src/components/location-select.d.ts +1 -1
- package/dist/src/components/material-editable-table/material-editable-table.d.ts +1 -1
- package/dist/src/components/material-table/material-table.d.ts +1 -1
- package/dist/src/components/phone-input/phone-input.d.ts +1 -1
- package/dist/src/components/providers/ERPUIProvider.d.ts +0 -2
- package/dist/src/components/radio/radio.d.ts +1 -1
- package/dist/src/components/select/select.d.ts +1 -1
- package/dist/src/components/switches/android-12-switch.d.ts +1 -3
- package/dist/src/components/text-field/text-field.d.ts +1 -1
- package/dist/src/components/time-picker/time-picker.d.ts +1 -1
- package/dist/src/components/uom-field-wrapper/index.d.ts +1 -0
- package/dist/src/components/uom-field-wrapper/uom-field-wrapper.d.ts +22 -0
- package/dist/src/components/upload-media/upload-media.d.ts +1 -1
- package/dist/src/hooks/useUomFieldUpdater.d.ts +8 -0
- package/dist/src/utils/api.d.ts +0 -1
- package/dist/src/utils/common-utility.d.ts +1 -1
- package/dist/src/utils/index.d.ts +0 -1
- package/dist/style.css +71 -71
- package/dist/utils/api/index.esm.js +7 -20
- package/dist/utils/api/index.esm.js.map +1 -1
- package/dist/utils/api/index.js +1 -1
- package/dist/utils/api/index.js.map +1 -1
- package/dist/utils/api.d.ts +0 -1
- package/dist/utils/common/index.esm.js +6 -7
- package/dist/utils/common/index.esm.js.map +1 -1
- package/dist/utils/common/index.js +1 -1
- package/dist/utils/common/index.js.map +1 -1
- package/dist/utils/common-utility.d.ts +1 -1
- package/dist/utils/index.esm.js +1 -7
- package/dist/utils/index.esm.js.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.esm.js +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.esm.js.map +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.js +1 -1
- package/dist/views/form-builder/redux/actionCreator/index.js.map +1 -1
- package/dist/views/template-editor/components/EditorSidebar/index.esm.js +1 -1
- package/dist/views/template-editor/components/EditorSidebar/index.esm.js.map +1 -1
- package/dist/views/template-editor/components/EditorSidebar/index.js +1 -1
- package/dist/views/template-editor/components/EditorSidebar/index.js.map +1 -1
- package/dist/views/template-editor/templates/index.esm.js +1 -1
- package/dist/views/template-editor/templates/index.esm.js.map +1 -1
- package/dist/views/template-editor/templates/index.js +1 -1
- package/dist/views/template-editor/templates/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/src/utils/api-config.d.ts +0 -48
- package/dist/utils/api-config/index.esm.js +0 -36
- package/dist/utils/api-config/index.esm.js.map +0 -1
- package/dist/utils/api-config/index.js +0 -2
- package/dist/utils/api-config/index.js.map +0 -1
- package/dist/utils/api-config.d.ts +0 -48
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/views/template-editor/templates.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport ActionBar from '../../components/action-bar/action-bar';\nimport viewTypes from '../../constants/action-bar';\nimport MaterialTable, { MaterialTableColumnProps } from '../../components/material-table/material-table';\nimport Typography from '../../components/typography/typography';\nimport Fallback from '../../components/fallback/fallback';\nimport Menu from '../../components/menu/menu';\nimport Footer from '../../components/footer/footer';\nimport useDeepMemo from '../../hooks/use-deep-memo';\nimport { PageState } from '../../contexts/page-context';\nimport { usePages } from '../../hooks/use-pages';\nimport { transformTableColumns } from '../../utils/common-utility';\nimport { appendConditionSafely, defaultCurrencySymbol, getToken } from '../../utils/common';\nimport logo from '../../assets/images';\nimport { IPaginationModel } from '../../@types/pagination-model';\nimport { fetchApi } from '../../utils/api';\n\nimport { MenuItem } from '@mui/material';\n\n// import GridCard from './grid-view/grid-view';\nimport { useTranslation } from 'react-i18next';\nimport { enqueueSnackbar } from 'notistack';\n\nimport { templateRoutes } from './utils/common';\nimport { IEmail, ITemplateProps, Pagination } from './utils/types';\nimport { useNavigate } from 'react-router-dom';\n\nimport { usePermissions } from '../../hooks/use-permissions';\nimport { getV1Subjects } from '../../api-client/api.system-feature/api';\nimport TemplateModal from './template-modal/template-modal';\nimport CompanySelectionModal from './company-selection-modal/company-selection-modal';\nimport { setBaseUrl } from '../../api-client/api.rbac/api';\n\nimport './templates.scss';\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n\n\ninterface ActionData {\n\tlabel: string;\n\tposition: number;\n}\n\nconst Templates: React.FC<ITemplateProps> = ({ type, module, modulePath }) => {\n const { t } = useTranslation();\n\tconst {\n\t\tactivePage: aPage,\n\t\tupdatePageInfo,\n\t\tschemaFields,\n\t\tgeneratedColumns,\n\t\tupdateGeneratedColumns,\n\t\t// error: pageError\n\t} = usePages();\n\tconst activePage = useDeepMemo<PageState>(aPage);\n\t/* LOCAL STATES */\n\tconst [actionAnchorEl, setActionAnchorEl] = useState<null | HTMLElement>(null);\n const viewEmails = localStorage.getItem('email-subjects-view');\n const [actionBarData, setActionBarData] = useState<ActionData[]>(viewEmails ? JSON.parse(viewEmails) : [{ label: 'Table', position: 0 }]);\n\n const [actionBarActiveTab, setActionBarActiveTab] = useState<string>(viewTypes.TABLE);\n\tconst [paginationModel, setPaginationModel] = useState<Pagination>({ pageNo: 1, limit: 10, totalCount: 0, skip: 0 }); \n\tconst [rows, setRows] = useState<any[]>([]); \n\tconst [isFetching, setIsFetching] = useState<boolean>(false); \n\tconst [selectedRow, setSelectedRow] = useState([]);\n\tconst [showTemplateModal, setShowTemplateModal] = useState<IEmail | null>(null);\n\tconst [showCompanySelectionModal, setShowCompanySelectionModal] = useState<IEmail | null>(null);\n\tconst [companies, setCompanies] = useState<Record<string, any>[]>([]);\n\t/* VARS */\n\tconst navigate = useNavigate();\n\tconst { pageNo, limit: pLimit, totalCount } = paginationModel;\n\tconst limit = activePage.page_size || pLimit;\n\tconst total = limit ? Math.ceil(totalCount / limit) : 0;\n\tconst skip = limit * (pageNo - 1);\n\tconst permissions = usePermissions();\n\tconst ROUTES = templateRoutes(modulePath, type);\n\n\tconst SubjectPermissions = permissions?.Subjects || {};\n\tconst ConditionsImport = permissions?.RentalTerms?.ConditionsImport || {};\n\t\n\tconst {\n\t\tcanAdd = false,\n\t\tcanEdit = false,\n\t\tcanDelete = false,\n\t} = SubjectPermissions;\n\n\tconst { canAdd: canImport = false } = ConditionsImport;\n\n\tconst handleNewEmail = (email) => {\n\t\tif(!companies?.length) {\n\t\t\tenqueueSnackbar('Please add a company first', { variant: 'error' })\n\t\t\treturn\n\t\t}\n\n\t\tif(companies?.length > 1) {\n\t\t\tsetShowCompanySelectionModal(email)\n\t\t} else{\n\t\t\tnavigate(ROUTES.ADD_TEMPLATE(email._id), { state: { company_id: companies[0]?.id || companies[0]?.value }})\n\t\t}\n\t};\n \n\tconst rowActionMenu = [\n\t\t{\n\t\t\tlabel: 'New Template',\n\t\t\thandleAction: (email: IEmail) => handleNewEmail(email),\n\t\t\tdisabled: (row: any) => !canEdit\n\t\t},\n\t\t{\n\t\t\tlabel: 'Add From Template',\n\t\t\thandleAction: (email: IEmail) => setShowTemplateModal(email),\n\t\t\tdisabled: (row: any) => !canAdd\n\t\t}\n\t];\n\n\t/* LOCAL FUNCTIONS */\n\tconst getEmails = useCallback(\n\t\tasync () => {\n\t\t\tconst { sort, filterQueryString, search } = activePage;\n\t\t\tconst searchFiters = search ? `&subject.like=${search}` : '';\n\t\t\tconst types = [];\n\t\t\ttypes.push(type)\n\t\t\tif(type == \"email\"){\n\t\t\t\ttypes.push(\"approval_email\")\n\t\t\t}\n\t\t\tconst uFilters = appendConditionSafely(filterQueryString, `&type.in=[${types.join(\",\")}]&module.eq=${module}${searchFiters}`);\n\n\t\t\tconst response = await getV1Subjects({\n\t\t\t\t...getToken(),\n\t\t\t\tskip,\n\t\t\t\tlimit,\n\t\t\t\t// search,\n\t\t\t\t...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\n\t\t\t\t...(uFilters && uFilters !== '()' && { filters: uFilters })\n\t\t\t});\n\n\t\t\tsetRows(response?.data || []);\n\t\t\tsetPaginationModel({...paginationModel, ...(response?.pagination ||{})});\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\tlimit,\n\t\t\tskip,\n\t\t\tactivePage?.search,\n\t\t\tactivePage?.filterQueryString,\n\t\t\tactivePage?.sort\n\t\t]\n\t);\n\n\tconst getCopmanies = async () => {\n\t\t\tconst companiesArr = await fetchApi({apiKey: 'company', filters: { skip: 0, limit: 100, order: \"id:1\" }});\n\t\t\tsetCompanies(companiesArr?.data || []);\n\t\t}\n\n\tconst tableRows = useMemo(() => rows || [], [rows]);\n\n\tconst tableColumns = useMemo(\n\t\t() =>\n\t\t\ttransformTableColumns({\n\t\t\t\tcolumns: generatedColumns.columns,\n\t\t\t\tcurrencySymbol: (row) =>\n\t\t\t\t\trow.original?.currency_data?.symbol || defaultCurrencySymbol(),\n\t\t\t\ttranslationFn: t,\n\t\t\t\tenableFooter: true,\n\t\t\t\t// redirectionLink: ROUTES.VIEW,\n\t\t\t\t// redirectionLinkState: (row) => ({ termsAndCondition: row.original }),\n\t\t\t\trows: tableRows,\n\t\t\t\tstatusClasses: ``,\n\t\t\t}),\n\t\t[tableRows, t, generatedColumns.columns]\n\t);\n\n\tconst handlePaginationModel = (model: IPaginationModel) => {\n\t\tif (activePage.page_size != model?.limit) {\n\t\t\tupdatePageInfo({ page_size: model.limit });\n\t\t}\n\t\tsetPaginationModel(model);\n\t};\n\n\tconst cleanUp = () => {\n\t\tconst pModel = { pageNo: 1, limit: 10, totalCount: 0 };\n\t\tsetPaginationModel(pModel);\n\t};\n\n\t/* USE EFFECTS */\n\tuseEffect(() => {\n\t\tgetEmails();\n\t}, [getEmails]);\n\t\n\n\tuseEffect(() => {\n\t\tgetCopmanies();\n\t\treturn cleanUp;\n\t}, []);\n useEffect(() => {\n\t\tif (actionBarData?.length) {\n\t\t\tlocalStorage.setItem('email-subjects-view', JSON.stringify(actionBarData));\n\t\t}\n\t}, [actionBarData]);\n\n\t/* JSX STRUCTURE STARTED */\n\treturn (\n\t\t<section className='templates'>\n\t\t\t<ActionBar\n\t\t\t\ttitle={type === 'email' ? 'Emails' : 'PDFs'}\n\t\t\t\tdata={actionBarData}\n\t\t\t\tsetData={setActionBarData}\n\t\t\t\tactive={actionBarActiveTab}\n\t\t\t\tsetActive={setActionBarActiveTab}\n\t\t\t\thandleSearch={(search) => {\n\t\t\t\t\tupdatePageInfo({ search });\n\t\t\t\t\tsetPaginationModel({ ...paginationModel, pageNo: 1 });\n\t\t\t\t}}\n\t\t\t\tdisabledViews={['Kanban', 'Calendar', 'Gantt',viewTypes.GRID]}\n\t\t\t\tfields={schemaFields}\n\t\t\t\tselectedIds={selectedRow}\n\t\t\t\tbutton={false}\n\t\t\t/>\n\t\t\t\t\t{actionBarActiveTab === viewTypes.TABLE && (\n\t\t\t\t\t\t<MaterialTable\n\t\t\t\t\t\t\trows={tableRows || []}\n\t\t\t\t\t\t\tcolumns={tableColumns}\n\t\t\t\t\t\t\tpaginationModel={paginationModel}\n\t\t\t\t\t\t\ttotalPages={total}\n\t\t\t\t\t\t\tcolumnOrder={['mrt-row-select', ...generatedColumns.orderKeys]}\n\t\t\t\t\t\t\tstates={{ isLoading: isFetching }}\n\t\t\t\t\t\t\tonSortingChange={(sort) => updatePageInfo({ sort })}\n\t\t\t\t\t\t\tenableColumnDragging={false}\n\t\t\t\t\t\t\tenableEditing={false}\n\t\t\t\t\t\t\tonSelectRow={(r) =>\n\t\t\t\t\t\t\t\tsetSelectedRow(r.map((ele) => ele.original.id))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tenableAddCustomField={false}\n\t\t\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t\t\t\tisResetRow={false}\n\t\t\t\t\t\t\thandleColumnOrdering={(colOrder) =>\n\t\t\t\t\t\t\t\tupdateGeneratedColumns({ orderKeys: colOrder.slice(1) })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonColumnVisibility={(columns: MaterialTableColumnProps[]) =>\n\t\t\t\t\t\t\t\tupdateGeneratedColumns({ columns: columns })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{actionBarActiveTab === viewTypes.GRID && (\n\t\t\t\t\t\t<GridCard\n\t\t\t\t\t\t\tdata={tableRows}\n\t\t\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{!actionBarActiveTab && (\n\t\t\t\t\t\t<Fallback\n\t\t\t\t\t\t\theading={t('rental.settings.termsAndConditions.title')}\n\t\t\t\t\t\t\tsubHeading='No data available'\n\t\t\t\t\t\t\ticon={<img src={logo.invoiceFallback} />}>\n\t\t\t\t\t\t</Fallback>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Footer\n\t\t\t\t\t\ttotal={total}\n\t\t\t\t\t\tpaginationModel={{\n\t\t\t\t\t\t\t...paginationModel,\n\t\t\t\t\t\t\tlimit: activePage.page_size\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thandlePaginationModel={handlePaginationModel}\n\t\t\t\t\t\tresource=''\n\t\t\t\t\t/>\n\n\t\t\t\t\t{/* Action Menu */}\n\t\t\t\t\t<Menu\n\t\t\t\t\t\tanchorEl={actionAnchorEl}\n\t\t\t\t\t\topen={Boolean(actionAnchorEl)}\n\t\t\t\t\t\tonClose={() => setActionAnchorEl(null)}>\n\t\t\t\t\t\t<MenuItem>\n\t\t\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t\t\t{t('common.upload')}\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem>\n\t\t\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t\t\t{t('common.print')}\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</Menu>\n\t\t\t\t\t{showTemplateModal && (\n\t\t\t\t\t\t<TemplateModal \n\t\t\t\t\t\t\temail={showTemplateModal} \n\t\t\t\t\t\t\tonClose={() => setShowTemplateModal(null)} \n\t\t\t\t\t\t\topen={showTemplateModal !== null} \n\t\t\t\t\t\t\tcompanies={companies}\n\t\t\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{showCompanySelectionModal && (\n\t\t\t\t\t\t<CompanySelectionModal \n\t\t\t\t\t\t\tisOpen={showCompanySelectionModal !== null} \n\t\t\t\t\t\t\tsetIsOpen={setShowCompanySelectionModal} \n\t\t\t\t\t\t\tcompanies={companies} \n\t\t\t\t\t\t\temail={showCompanySelectionModal}\n\t\t\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t</section>\n\t);\n};\n\nexport default Templates;\n"],"names":["setBaseUrl","type","module","modulePath","t","useTranslation","activePage","aPage","updatePageInfo","schemaFields","generatedColumns","updateGeneratedColumns","usePages","useDeepMemo","actionAnchorEl","setActionAnchorEl","useState","viewEmails","localStorage","getItem","actionBarData","setActionBarData","JSON","parse","label","position","actionBarActiveTab","setActionBarActiveTab","viewTypes","TABLE","paginationModel","setPaginationModel","pageNo","limit","totalCount","skip","rows","setRows","isFetching","selectedRow","setSelectedRow","showTemplateModal","setShowTemplateModal","showCompanySelectionModal","setShowCompanySelectionModal","companies","setCompanies","navigate","useNavigate","pLimit","page_size","total","Math","ceil","permissions","usePermissions","ROUTES","templateRoutes","SubjectPermissions","Subjects","canAdd","canEdit","rowActionMenu","handleAction","email","length","ADD_TEMPLATE","_id","state","company_id","_a","id","_b","value","enqueueSnackbar","variant","handleNewEmail","disabled","row","getEmails","useCallback","async","sort","filterQueryString","search","searchFiters","types","push","uFilters","appendConditionSafely","join","response","getV1Subjects","getToken","order","desc","filters","data","pagination","tableRows","useMemo","tableColumns","transformTableColumns","columns","currencySymbol","original","currency_data","symbol","defaultCurrencySymbol","translationFn","enableFooter","statusClasses","cleanUp","useEffect","companiesArr","fetchApi","apiKey","getCopmanies","setItem","stringify","jsxs","className","children","jsx","ActionBar","title","setData","active","setActive","handleSearch","disabledViews","GRID","fields","selectedIds","button","MaterialTable","totalPages","columnOrder","orderKeys","states","isLoading","onSortingChange","enableColumnDragging","enableEditing","onSelectRow","r","map","ele","enableAddCustomField","isResetRow","handleColumnOrdering","colOrder","slice","onColumnVisibility","GridCard","Fallback","heading","subHeading","icon","src","logo","invoiceFallback","Footer","handlePaginationModel","model","resource","Menu","anchorEl","open","Boolean","onClose","MenuItem","Typography","color","TemplateModal","CompanySelectionModal","isOpen","setIsOpen"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/views/template-editor/templates.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable react-hooks/exhaustive-deps */\n/* eslint-disable unused-imports/no-unused-vars */\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport ActionBar from '../../components/action-bar/action-bar';\nimport viewTypes from '../../constants/action-bar';\nimport MaterialTable, { MaterialTableColumnProps } from '../../components/material-table/material-table';\nimport Typography from '../../components/typography/typography';\nimport Fallback from '../../components/fallback/fallback';\nimport Menu from '../../components/menu/menu';\nimport Footer from '../../components/footer/footer';\nimport useDeepMemo from '../../hooks/use-deep-memo';\nimport { PageState } from '../../contexts/page-context';\nimport { usePages } from '../../hooks/use-pages';\nimport { transformTableColumns } from '../../utils/common-utility';\nimport { appendConditionSafely, defaultCurrencySymbol, getToken } from '../../utils/common';\nimport logo from '../../assets/images';\nimport { IPaginationModel } from '../../@types/pagination-model';\nimport { fetchApi } from '../../utils/api';\n\nimport { MenuItem } from '@mui/material';\n\n// import GridCard from './grid-view/grid-view';\nimport { useTranslation } from 'react-i18next';\nimport { enqueueSnackbar } from 'notistack';\n\nimport { templateRoutes } from './utils/common';\nimport { IEmail, ITemplateProps, Pagination } from './utils/types';\nimport { useNavigate } from 'react-router-dom';\n\nimport { usePermissions } from '../../hooks/use-permissions';\nimport { getV1Subjects } from '../../api-client/api.system-feature/api';\nimport TemplateModal from './template-modal/template-modal';\nimport CompanySelectionModal from './company-selection-modal/company-selection-modal';\nimport { setBaseUrl } from '../../api-client/api.rbac/api';\n\nimport './templates.scss';\n\nsetBaseUrl(`${import.meta.env.VITE_BACKEND_BASE_URL}/rbac`);\n\n\ninterface ActionData {\n\tlabel: string;\n\tposition: number;\n}\n\nconst Templates: React.FC<ITemplateProps> = ({ type, module, modulePath }) => {\n const { t } = useTranslation();\n\tconst {\n\t\tactivePage: aPage,\n\t\tupdatePageInfo,\n\t\tschemaFields,\n\t\tgeneratedColumns,\n\t\tupdateGeneratedColumns,\n\t\t// error: pageError\n\t} = usePages();\n\tconst activePage = useDeepMemo<PageState>(aPage);\n\t/* LOCAL STATES */\n\tconst [actionAnchorEl, setActionAnchorEl] = useState<null | HTMLElement>(null);\n const viewEmails = localStorage.getItem('email-subjects-view');\n const [actionBarData, setActionBarData] = useState<ActionData[]>(viewEmails ? JSON.parse(viewEmails) : [{ label: 'Table', position: 0 }]);\n\n const [actionBarActiveTab, setActionBarActiveTab] = useState<string>(viewTypes.TABLE);\n\tconst [paginationModel, setPaginationModel] = useState<Pagination>({ pageNo: 1, limit: 10, totalCount: 0, skip: 0 }); \n\tconst [rows, setRows] = useState<any[]>([]); \n\tconst [isFetching, setIsFetching] = useState<boolean>(false); \n\tconst [selectedRow, setSelectedRow] = useState([]);\n\tconst [showTemplateModal, setShowTemplateModal] = useState<IEmail | null>(null);\n\tconst [showCompanySelectionModal, setShowCompanySelectionModal] = useState<IEmail | null>(null);\n\tconst [companies, setCompanies] = useState<Record<string, any>[]>([]);\n\t/* VARS */\n\tconst navigate = useNavigate();\n\tconst { pageNo, limit: pLimit, totalCount } = paginationModel;\n\tconst limit = activePage.page_size || pLimit;\n\tconst total = limit ? Math.ceil(totalCount / limit) : 0;\n\tconst skip = limit * (pageNo - 1);\n\tconst permissions = usePermissions();\n\tconst ROUTES = templateRoutes(modulePath, type);\n\n\tconst SubjectPermissions = permissions?.Subjects || {};\n\tconst ConditionsImport = permissions?.RentalTerms?.ConditionsImport || {};\n\t\n\tconst {\n\t\tcanAdd = false,\n\t\tcanEdit = false,\n\t\tcanDelete = false,\n\t} = SubjectPermissions;\n\n\tconst { canAdd: canImport = false } = ConditionsImport;\n\n\tconst handleNewEmail = (email) => {\n\t\tif(!companies?.length) {\n\t\t\tenqueueSnackbar('Please add a company first', { variant: 'error' })\n\t\t\treturn\n\t\t}\n\n\t\tif(companies?.length > 1) {\n\t\t\tsetShowCompanySelectionModal(email)\n\t\t} else{\n\t\t\tnavigate(ROUTES.ADD_TEMPLATE(email._id), { state: { company_id: companies[0]?.id || companies[0]?.value }})\n\t\t}\n\t};\n \n\tconst rowActionMenu = [\n\t\t{\n\t\t\tlabel: 'New Template',\n\t\t\thandleAction: (email: IEmail) => handleNewEmail(email),\n\t\t\tdisabled: (row: any) => !canEdit\n\t\t},\n\t\t{\n\t\t\tlabel: 'Add From Template',\n\t\t\thandleAction: (email: IEmail) => setShowTemplateModal(email),\n\t\t\tdisabled: (row: any) => !canAdd\n\t\t}\n\t];\n\n\t/* LOCAL FUNCTIONS */\n\tconst getEmails = useCallback(\n\t\tasync () => {\n\t\t\tconst { sort, filterQueryString, search } = activePage;\n\t\t\tconst searchFiters = search ? `&subject.like=${search}` : '';\n\t\t\tconst types = [];\n\t\t\ttypes.push(type)\n\t\t\tif(type == \"email\"){\n\t\t\t\ttypes.push(\"approval_email\")\n\t\t\t}\n\t\t\tconst uFilters = appendConditionSafely(filterQueryString, `&type.in=[${types.join(\",\")}]&module.eq=${module}${searchFiters}`);\n\n\t\t\tconst response = await getV1Subjects({\n\t\t\t\t...getToken(),\n\t\t\t\tskip,\n\t\t\t\tlimit,\n\t\t\t\t// search,\n\t\t\t\t...(sort && { order: `${sort.id}:${sort.desc ? -1 : 1}` }),\n\t\t\t\t...(uFilters && uFilters !== '()' && { filters: uFilters })\n\t\t\t});\n\n\t\t\tsetRows(response?.data || []);\n\t\t\tsetPaginationModel({...paginationModel, ...(response?.pagination ||{})});\n\t\t},\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\t[\n\t\t\tlimit,\n\t\t\tskip,\n\t\t\tactivePage?.search,\n\t\t\tactivePage?.filterQueryString,\n\t\t\tactivePage?.sort\n\t\t]\n\t);\n\n\tconst getCopmanies = async () => {\n\t\t\tconst companiesArr = await fetchApi({apiKey: 'company', filters: { skip: 0, limit: 100, order: \"id:1\" }});\n\t\t\tsetCompanies(companiesArr?.data || []);\n\t\t}\n\n\tconst tableRows = useMemo(() => rows || [], [rows]);\n\n\tconst tableColumns = useMemo(\n\t\t() =>\n\t\t\ttransformTableColumns({\n\t\t\t\tcolumns: generatedColumns.columns,\n\t\t\t\tcurrencySymbol: (row) =>\n\t\t\t\t\trow.original?.currency_data?.symbol || defaultCurrencySymbol(),\n\t\t\t\ttranslationFn: t,\n\t\t\t\tenableFooter: true,\n\t\t\t\t// redirectionLink: ROUTES.VIEW,\n\t\t\t\t// redirectionLinkState: (row) => ({ termsAndCondition: row.original }),\n\t\t\t\trows: tableRows,\n\t\t\t\tstatusClasses: ``,\n\t\t\t}),\n\t\t[tableRows, t, generatedColumns.columns]\n\t);\n\n\tconst handlePaginationModel = (model: IPaginationModel) => {\n\t\tif (activePage.page_size != model?.limit) {\n\t\t\tupdatePageInfo({ page_size: model.limit });\n\t\t}\n\t\tsetPaginationModel(model);\n\t};\n\n\tconst cleanUp = () => {\n\t\tconst pModel = { pageNo: 1, limit: 10, totalCount: 0 };\n\t\tsetPaginationModel(pModel);\n\t};\n\n\t/* USE EFFECTS */\n\tuseEffect(() => {\n\t\tgetEmails();\n\t}, [getEmails]);\n\t\n\n\tuseEffect(() => {\n\t\tgetCopmanies();\n\t\treturn cleanUp;\n\t}, []);\n useEffect(() => {\n\t\tif (actionBarData?.length) {\n\t\t\tlocalStorage.setItem('email-subjects-view', JSON.stringify(actionBarData));\n\t\t}\n\t}, [actionBarData]);\n\n\t/* JSX STRUCTURE STARTED */\n\treturn (\n\t\t<section className='templates'>\n\t\t\t<ActionBar\n\t\t\t\ttitle={type === 'email' ? 'Emails' : 'PDFs'}\n\t\t\t\tdata={actionBarData}\n\t\t\t\tsetData={setActionBarData}\n\t\t\t\tactive={actionBarActiveTab}\n\t\t\t\tsetActive={setActionBarActiveTab}\n\t\t\t\thandleSearch={(search) => {\n\t\t\t\t\tupdatePageInfo({ search });\n\t\t\t\t\tsetPaginationModel({ ...paginationModel, pageNo: 1 });\n\t\t\t\t}}\n\t\t\t\tdisabledViews={['Kanban', 'Calendar', 'Gantt',viewTypes.GRID]}\n\t\t\t\tfields={schemaFields}\n\t\t\t\tselectedIds={selectedRow}\n\t\t\t\tbutton={false}\n\t\t\t/>\n\t\t\t\t\t{actionBarActiveTab === viewTypes.TABLE && (\n\t\t\t\t\t\t<MaterialTable\n\t\t\t\t\t\t\trows={tableRows || []}\n\t\t\t\t\t\t\tcolumns={tableColumns}\n\t\t\t\t\t\t\tpaginationModel={paginationModel}\n\t\t\t\t\t\t\ttotalPages={total}\n\t\t\t\t\t\t\tcolumnOrder={['mrt-row-select', ...generatedColumns.orderKeys]}\n\t\t\t\t\t\t\tstates={{ isLoading: isFetching }}\n\t\t\t\t\t\t\tonSortingChange={(sort) => updatePageInfo({ sort })}\n\t\t\t\t\t\t\tenableColumnDragging={false}\n\t\t\t\t\t\t\tenableEditing={false}\n\t\t\t\t\t\t\tonSelectRow={(r) =>\n\t\t\t\t\t\t\t\tsetSelectedRow(r.map((ele) => ele.original.id))\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tenableAddCustomField={false}\n\t\t\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t\t\t\tisResetRow={false}\n\t\t\t\t\t\t\thandleColumnOrdering={(colOrder) =>\n\t\t\t\t\t\t\t\tupdateGeneratedColumns({ orderKeys: colOrder.slice(1) })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonColumnVisibility={(columns: MaterialTableColumnProps[]) =>\n\t\t\t\t\t\t\t\tupdateGeneratedColumns({ columns: columns })\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{actionBarActiveTab === viewTypes.GRID && (\n\t\t\t\t\t\t<GridCard\n\t\t\t\t\t\t\tdata={tableRows}\n\t\t\t\t\t\t\trowActionMenu={rowActionMenu}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{!actionBarActiveTab && (\n\t\t\t\t\t\t<Fallback\n\t\t\t\t\t\t\theading={t('rental.settings.termsAndConditions.title')}\n\t\t\t\t\t\t\tsubHeading='No data available'\n\t\t\t\t\t\t\ticon={<img src={logo.invoiceFallback} />}>\n\t\t\t\t\t\t</Fallback>\n\t\t\t\t\t)}\n\n\t\t\t\t\t<Footer\n\t\t\t\t\t\ttotal={total}\n\t\t\t\t\t\tpaginationModel={{\n\t\t\t\t\t\t\t...paginationModel,\n\t\t\t\t\t\t\tlimit: activePage.page_size\n\t\t\t\t\t\t}}\n\t\t\t\t\t\thandlePaginationModel={handlePaginationModel}\n\t\t\t\t\t\tresource=''\n\t\t\t\t\t/>\n\n\t\t\t\t\t{/* Action Menu */}\n\t\t\t\t\t<Menu\n\t\t\t\t\t\tanchorEl={actionAnchorEl}\n\t\t\t\t\t\topen={Boolean(actionAnchorEl)}\n\t\t\t\t\t\tonClose={() => setActionAnchorEl(null)}>\n\t\t\t\t\t\t<MenuItem>\n\t\t\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t\t\t{t('common.upload')}\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem>\n\t\t\t\t\t\t\t<Typography type='s4' color='theme.secondary.1000'>\n\t\t\t\t\t\t\t\t{t('common.print')}\n\t\t\t\t\t\t\t</Typography>\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</Menu>\n\t\t\t\t\t{showTemplateModal && (\n\t\t\t\t\t\t<TemplateModal \n\t\t\t\t\t\t\temail={showTemplateModal} \n\t\t\t\t\t\t\tonClose={() => setShowTemplateModal(null)} \n\t\t\t\t\t\t\topen={showTemplateModal !== null} \n\t\t\t\t\t\t\tcompanies={companies}\n\t\t\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t{showCompanySelectionModal && (\n\t\t\t\t\t\t<CompanySelectionModal \n\t\t\t\t\t\t\tisOpen={showCompanySelectionModal !== null} \n\t\t\t\t\t\t\tsetIsOpen={setShowCompanySelectionModal} \n\t\t\t\t\t\t\tcompanies={companies} \n\t\t\t\t\t\t\temail={showCompanySelectionModal}\n\t\t\t\t\t\t\ttemplateRoutes={ROUTES}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t</section>\n\t);\n};\n\nexport default Templates;\n"],"names":["setBaseUrl","type","module","modulePath","t","useTranslation","activePage","aPage","updatePageInfo","schemaFields","generatedColumns","updateGeneratedColumns","usePages","useDeepMemo","actionAnchorEl","setActionAnchorEl","useState","viewEmails","localStorage","getItem","actionBarData","setActionBarData","JSON","parse","label","position","actionBarActiveTab","setActionBarActiveTab","viewTypes","TABLE","paginationModel","setPaginationModel","pageNo","limit","totalCount","skip","rows","setRows","isFetching","selectedRow","setSelectedRow","showTemplateModal","setShowTemplateModal","showCompanySelectionModal","setShowCompanySelectionModal","companies","setCompanies","navigate","useNavigate","pLimit","page_size","total","Math","ceil","permissions","usePermissions","ROUTES","templateRoutes","SubjectPermissions","Subjects","canAdd","canEdit","rowActionMenu","handleAction","email","length","ADD_TEMPLATE","_id","state","company_id","_a","id","_b","value","enqueueSnackbar","variant","handleNewEmail","disabled","row","getEmails","useCallback","async","sort","filterQueryString","search","searchFiters","types","push","uFilters","appendConditionSafely","join","response","getV1Subjects","getToken","order","desc","filters","data","pagination","tableRows","useMemo","tableColumns","transformTableColumns","columns","currencySymbol","original","currency_data","symbol","defaultCurrencySymbol","translationFn","enableFooter","statusClasses","cleanUp","useEffect","companiesArr","fetchApi","apiKey","getCopmanies","setItem","stringify","jsxs","className","children","jsx","ActionBar","title","setData","active","setActive","handleSearch","disabledViews","GRID","fields","selectedIds","button","MaterialTable","totalPages","columnOrder","orderKeys","states","isLoading","onSortingChange","enableColumnDragging","enableEditing","onSelectRow","r","map","ele","enableAddCustomField","isResetRow","handleColumnOrdering","colOrder","slice","onColumnVisibility","GridCard","Fallback","heading","subHeading","icon","src","logo","invoiceFallback","Footer","handlePaginationModel","model","resource","Menu","anchorEl","open","Boolean","onClose","MenuItem","Typography","color","TemplateModal","CompanySelectionModal","isOpen","setIsOpen"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* API Configuration Module
|
|
3
|
-
*
|
|
4
|
-
* This module provides runtime configuration for API base URLs and other environment-specific settings.
|
|
5
|
-
* The configuration must be initialized by the consuming application before using any API-related features.
|
|
6
|
-
*/
|
|
7
|
-
export interface ApiConfig {
|
|
8
|
-
backendBaseUrl: string;
|
|
9
|
-
s3BucketUrl: string;
|
|
10
|
-
socketBaseUrl: string;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Initialize the API configuration.
|
|
14
|
-
* This function must be called by the consuming application during startup.
|
|
15
|
-
*
|
|
16
|
-
* @param config - The API configuration object
|
|
17
|
-
* @throws Error if configuration is already initialized
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* import { initializeApiConfig } from '@erpsquad/common/utils';
|
|
22
|
-
*
|
|
23
|
-
* initializeApiConfig({
|
|
24
|
-
* backendBaseUrl: import.meta.env.VITE_BACKEND_BASE_URL,
|
|
25
|
-
* s3BucketUrl: import.meta.env.VITE_S3_BUCKET_URL,
|
|
26
|
-
* socketBaseUrl: import.meta.env.VITE_SOCKET_BASE_URL,
|
|
27
|
-
* });
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
export declare function initializeApiConfig(config: ApiConfig): void;
|
|
31
|
-
/**
|
|
32
|
-
* Get the current API configuration.
|
|
33
|
-
*
|
|
34
|
-
* @returns The current API configuration
|
|
35
|
-
* @throws Error if configuration has not been initialized
|
|
36
|
-
*/
|
|
37
|
-
export declare function getApiConfig(): ApiConfig;
|
|
38
|
-
/**
|
|
39
|
-
* Check if API configuration has been initialized.
|
|
40
|
-
*
|
|
41
|
-
* @returns True if configuration is initialized, false otherwise
|
|
42
|
-
*/
|
|
43
|
-
export declare function isApiConfigInitialized(): boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Reset the API configuration (useful for testing).
|
|
46
|
-
* This should not be used in production code.
|
|
47
|
-
*/
|
|
48
|
-
export declare function resetApiConfig(): void;
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
let apiConfig = null;
|
|
2
|
-
function initializeApiConfig(config) {
|
|
3
|
-
if (apiConfig) {
|
|
4
|
-
console.warn("API configuration is already initialized. Overwriting with new values.");
|
|
5
|
-
}
|
|
6
|
-
if (!config.backendBaseUrl) {
|
|
7
|
-
throw new Error("backendBaseUrl is required in API configuration");
|
|
8
|
-
}
|
|
9
|
-
apiConfig = { ...config };
|
|
10
|
-
console.log("API configuration initialized:", {
|
|
11
|
-
backendBaseUrl: apiConfig.backendBaseUrl,
|
|
12
|
-
s3BucketUrl: apiConfig.s3BucketUrl,
|
|
13
|
-
socketBaseUrl: apiConfig.socketBaseUrl
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
function getApiConfig() {
|
|
17
|
-
if (!apiConfig) {
|
|
18
|
-
throw new Error(
|
|
19
|
-
"API configuration not initialized. Please call initializeApiConfig() before using API features. See documentation: https://github.com/erpforce/common#api-configuration"
|
|
20
|
-
);
|
|
21
|
-
}
|
|
22
|
-
return apiConfig;
|
|
23
|
-
}
|
|
24
|
-
function isApiConfigInitialized() {
|
|
25
|
-
return apiConfig !== null;
|
|
26
|
-
}
|
|
27
|
-
function resetApiConfig() {
|
|
28
|
-
apiConfig = null;
|
|
29
|
-
}
|
|
30
|
-
export {
|
|
31
|
-
getApiConfig,
|
|
32
|
-
initializeApiConfig,
|
|
33
|
-
isApiConfigInitialized,
|
|
34
|
-
resetApiConfig
|
|
35
|
-
};
|
|
36
|
-
//# sourceMappingURL=index.esm.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../src/utils/api-config.ts"],"sourcesContent":["/**\n * API Configuration Module\n * \n * This module provides runtime configuration for API base URLs and other environment-specific settings.\n * The configuration must be initialized by the consuming application before using any API-related features.\n */\n\nexport interface ApiConfig {\n backendBaseUrl: string;\n s3BucketUrl: string;\n socketBaseUrl: string;\n}\n\n// Internal configuration storage\nlet apiConfig: ApiConfig | null = null;\n\n/**\n * Initialize the API configuration.\n * This function must be called by the consuming application during startup.\n * \n * @param config - The API configuration object\n * @throws Error if configuration is already initialized\n * \n * @example\n * ```typescript\n * import { initializeApiConfig } from '@erpsquad/common/utils';\n * \n * initializeApiConfig({\n * backendBaseUrl: import.meta.env.VITE_BACKEND_BASE_URL,\n * s3BucketUrl: import.meta.env.VITE_S3_BUCKET_URL,\n * socketBaseUrl: import.meta.env.VITE_SOCKET_BASE_URL,\n * });\n * ```\n */\nexport function initializeApiConfig(config: ApiConfig): void {\n if (apiConfig) {\n console.warn('API configuration is already initialized. Overwriting with new values.');\n }\n\n // Validate required fields\n if (!config.backendBaseUrl) {\n throw new Error('backendBaseUrl is required in API configuration');\n }\n\n apiConfig = { ...config };\n\n console.log('API configuration initialized:', {\n backendBaseUrl: apiConfig.backendBaseUrl,\n s3BucketUrl: apiConfig.s3BucketUrl,\n socketBaseUrl: apiConfig.socketBaseUrl,\n });\n}\n\n/**\n * Get the current API configuration.\n * \n * @returns The current API configuration\n * @throws Error if configuration has not been initialized\n */\nexport function getApiConfig(): ApiConfig {\n if (!apiConfig) {\n throw new Error(\n 'API configuration not initialized. Please call initializeApiConfig() before using API features. ' +\n 'See documentation: https://github.com/erpforce/common#api-configuration'\n );\n }\n\n return apiConfig;\n}\n\n/**\n * Check if API configuration has been initialized.\n * \n * @returns True if configuration is initialized, false otherwise\n */\nexport function isApiConfigInitialized(): boolean {\n return apiConfig !== null;\n}\n\n/**\n * Reset the API configuration (useful for testing).\n * This should not be used in production code.\n */\nexport function resetApiConfig(): void {\n apiConfig = null;\n}\n"],"names":[],"mappings":"AAcA,IAAI,YAA8B;AAoB3B,SAAS,oBAAoB,QAAyB;AACzD,MAAI,WAAW;AACX,YAAQ,KAAK,wEAAwE;AAAA,EACzF;AAGA,MAAI,CAAC,OAAO,gBAAgB;AACxB,UAAM,IAAI,MAAM,iDAAiD;AAAA,EACrE;AAEA,cAAY,EAAE,GAAG,OAAA;AAEjB,UAAQ,IAAI,kCAAkC;AAAA,IAC1C,gBAAgB,UAAU;AAAA,IAC1B,aAAa,UAAU;AAAA,IACvB,eAAe,UAAU;AAAA,EAAA,CAC5B;AACL;AAQO,SAAS,eAA0B;AACtC,MAAI,CAAC,WAAW;AACZ,UAAM,IAAI;AAAA,MACN;AAAA,IAAA;AAAA,EAGR;AAEA,SAAO;AACX;AAOO,SAAS,yBAAkC;AAC9C,SAAO,cAAc;AACzB;AAMO,SAAS,iBAAuB;AACnC,cAAY;AAChB;"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});let i=null;exports.getApiConfig=function(){if(!i)throw new Error("API configuration not initialized. Please call initializeApiConfig() before using API features. See documentation: https://github.com/erpforce/common#api-configuration");return i},exports.initializeApiConfig=function(e){if(!e.backendBaseUrl)throw new Error("backendBaseUrl is required in API configuration");i={...e}},exports.isApiConfigInitialized=function(){return null!==i},exports.resetApiConfig=function(){i=null};
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/utils/api-config.ts"],"sourcesContent":["/**\n * API Configuration Module\n * \n * This module provides runtime configuration for API base URLs and other environment-specific settings.\n * The configuration must be initialized by the consuming application before using any API-related features.\n */\n\nexport interface ApiConfig {\n backendBaseUrl: string;\n s3BucketUrl: string;\n socketBaseUrl: string;\n}\n\n// Internal configuration storage\nlet apiConfig: ApiConfig | null = null;\n\n/**\n * Initialize the API configuration.\n * This function must be called by the consuming application during startup.\n * \n * @param config - The API configuration object\n * @throws Error if configuration is already initialized\n * \n * @example\n * ```typescript\n * import { initializeApiConfig } from '@erpsquad/common/utils';\n * \n * initializeApiConfig({\n * backendBaseUrl: import.meta.env.VITE_BACKEND_BASE_URL,\n * s3BucketUrl: import.meta.env.VITE_S3_BUCKET_URL,\n * socketBaseUrl: import.meta.env.VITE_SOCKET_BASE_URL,\n * });\n * ```\n */\nexport function initializeApiConfig(config: ApiConfig): void {\n if (apiConfig) {\n console.warn('API configuration is already initialized. Overwriting with new values.');\n }\n\n // Validate required fields\n if (!config.backendBaseUrl) {\n throw new Error('backendBaseUrl is required in API configuration');\n }\n\n apiConfig = { ...config };\n\n console.log('API configuration initialized:', {\n backendBaseUrl: apiConfig.backendBaseUrl,\n s3BucketUrl: apiConfig.s3BucketUrl,\n socketBaseUrl: apiConfig.socketBaseUrl,\n });\n}\n\n/**\n * Get the current API configuration.\n * \n * @returns The current API configuration\n * @throws Error if configuration has not been initialized\n */\nexport function getApiConfig(): ApiConfig {\n if (!apiConfig) {\n throw new Error(\n 'API configuration not initialized. Please call initializeApiConfig() before using API features. ' +\n 'See documentation: https://github.com/erpforce/common#api-configuration'\n );\n }\n\n return apiConfig;\n}\n\n/**\n * Check if API configuration has been initialized.\n * \n * @returns True if configuration is initialized, false otherwise\n */\nexport function isApiConfigInitialized(): boolean {\n return apiConfig !== null;\n}\n\n/**\n * Reset the API configuration (useful for testing).\n * This should not be used in production code.\n */\nexport function resetApiConfig(): void {\n apiConfig = null;\n}\n"],"names":["apiConfig","Error","config","backendBaseUrl"],"mappings":"oEAcA,IAAIA,EAA8B,0BA6C3B,WACH,IAAKA,EACD,MAAM,IAAIC,MACN,2KAKR,OAAOD,CACX,8BAlCO,SAA6BE,GAMhC,IAAKA,EAAOC,eACR,MAAM,IAAIF,MAAM,mDAGpBD,EAAY,IAAKE,EAOrB,iCAwBO,WACH,OAAqB,OAAdF,CACX,yBAMO,WACHA,EAAY,IAChB"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* API Configuration Module
|
|
3
|
-
*
|
|
4
|
-
* This module provides runtime configuration for API base URLs and other environment-specific settings.
|
|
5
|
-
* The configuration must be initialized by the consuming application before using any API-related features.
|
|
6
|
-
*/
|
|
7
|
-
export interface ApiConfig {
|
|
8
|
-
backendBaseUrl: string;
|
|
9
|
-
s3BucketUrl: string;
|
|
10
|
-
socketBaseUrl: string;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Initialize the API configuration.
|
|
14
|
-
* This function must be called by the consuming application during startup.
|
|
15
|
-
*
|
|
16
|
-
* @param config - The API configuration object
|
|
17
|
-
* @throws Error if configuration is already initialized
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* import { initializeApiConfig } from '@erpsquad/common/utils';
|
|
22
|
-
*
|
|
23
|
-
* initializeApiConfig({
|
|
24
|
-
* backendBaseUrl: import.meta.env.VITE_BACKEND_BASE_URL,
|
|
25
|
-
* s3BucketUrl: import.meta.env.VITE_S3_BUCKET_URL,
|
|
26
|
-
* socketBaseUrl: import.meta.env.VITE_SOCKET_BASE_URL,
|
|
27
|
-
* });
|
|
28
|
-
* ```
|
|
29
|
-
*/
|
|
30
|
-
export declare function initializeApiConfig(config: ApiConfig): void;
|
|
31
|
-
/**
|
|
32
|
-
* Get the current API configuration.
|
|
33
|
-
*
|
|
34
|
-
* @returns The current API configuration
|
|
35
|
-
* @throws Error if configuration has not been initialized
|
|
36
|
-
*/
|
|
37
|
-
export declare function getApiConfig(): ApiConfig;
|
|
38
|
-
/**
|
|
39
|
-
* Check if API configuration has been initialized.
|
|
40
|
-
*
|
|
41
|
-
* @returns True if configuration is initialized, false otherwise
|
|
42
|
-
*/
|
|
43
|
-
export declare function isApiConfigInitialized(): boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Reset the API configuration (useful for testing).
|
|
46
|
-
* This should not be used in production code.
|
|
47
|
-
*/
|
|
48
|
-
export declare function resetApiConfig(): void;
|