@erpsquad/common 1.8.29 → 1.8.30
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/api-client/api.inventory/api.d.ts +5 -2
- package/dist/api-client/api.manufacturing/api.d.ts +15 -102
- package/dist/api-client/api.purchase/api.d.ts +3 -2
- package/dist/api-client/api.system-feature/api.d.ts +0 -2
- 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 +1 -1
- package/dist/components/action-bar/action-bar/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 +1 -1
- package/dist/components/filter/filter/index.js.map +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/index.d.ts +1 -2
- package/dist/components/index.esm.js +429 -435
- 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/material-table/aggregation-fns/index/index.esm.js +0 -10
- package/dist/components/material-table/aggregation-fns/index/index.esm.js.map +1 -1
- package/dist/components/material-table/aggregation-fns/index/index.js +1 -1
- package/dist/components/material-table/aggregation-fns/index/index.js.map +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/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/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 +2 -2
- package/dist/components/upload/upload/index.js.map +1 -1
- package/dist/contexts/AuthContext/index.esm.js +1 -1
- 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/index.d.ts +1 -138
- package/dist/index.esm.js +521 -533
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.esm.js +0 -32
- package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.esm.js.map +1 -1
- package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.js +36 -36
- package/dist/node_modules/@glideapps/glide-data-grid/dist/js/index/index.js.map +1 -1
- package/dist/src/api-client/api.accounting/api.d.ts +750 -0
- package/dist/src/api-client/api.drive/api.d.ts +44 -0
- package/dist/src/api-client/api.inventory/api.d.ts +282 -0
- package/dist/src/api-client/api.manufacturing/api.d.ts +476 -0
- package/dist/src/api-client/api.purchase/api.d.ts +330 -0
- package/dist/src/api-client/api.rbac/api.d.ts +99 -0
- package/dist/src/api-client/api.rental/api.d.ts +752 -0
- package/dist/src/api-client/api.sales/api.d.ts +429 -0
- package/dist/src/api-client/api.system-feature/api.d.ts +148 -0
- package/dist/src/api-client/api.user/api.d.ts +14 -0
- package/dist/src/api-client/index.d.ts +20 -0
- package/dist/{components → src/components}/accordion/accordion.d.ts +1 -1
- package/dist/{components → src/components}/action-bar/action-bar.d.ts +1 -1
- package/dist/src/components/checkbox/checkbox.d.ts +4 -0
- package/dist/{components → src/components}/date-picker/date-picker.d.ts +1 -1
- package/dist/{components → src/components}/footer/footer.d.ts +1 -1
- package/dist/src/components/form-control/form-builder/form-builder-element/media.d.ts +4 -0
- package/dist/src/components/form-control/form-builder/form-builder-element/phone.d.ts +3 -0
- package/dist/src/components/form-control/form-builder/form-builder-element/select.d.ts +4 -0
- package/dist/src/components/form-control/form-builder/form-builder-element/text.d.ts +4 -0
- package/dist/src/components/form-control/form-builder/form-builder-element/time.d.ts +4 -0
- package/dist/src/components/form-control/form-parser/form-switcher.d.ts +2 -0
- package/dist/src/components/icons/action-arrow.d.ts +4 -0
- package/dist/src/components/icons/add-circle.d.ts +4 -0
- package/dist/src/components/icons/arrow-bidirectional.d.ts +4 -0
- package/dist/src/components/icons/arrow-circle-down.d.ts +4 -0
- package/dist/src/components/icons/arrow-down-three.d.ts +4 -0
- package/dist/src/components/icons/arrow-down-two.d.ts +4 -0
- package/dist/src/components/icons/arrow-down.d.ts +4 -0
- package/dist/src/components/icons/arrow-up-down.d.ts +4 -0
- package/dist/src/components/icons/arrow-up-two.d.ts +4 -0
- package/dist/src/components/icons/assignments.d.ts +4 -0
- package/dist/src/components/icons/blank-circle.d.ts +4 -0
- package/dist/src/components/icons/block-filled.d.ts +6 -0
- package/dist/src/components/icons/calendar-add.d.ts +4 -0
- package/dist/src/components/icons/calendar.d.ts +4 -0
- package/dist/src/components/icons/checkbox-square.d.ts +4 -0
- package/dist/src/components/icons/circular-arrow-setting.d.ts +6 -0
- package/dist/src/components/icons/clock.d.ts +4 -0
- package/dist/src/components/icons/close.d.ts +6 -0
- package/dist/src/components/icons/coin-outline.d.ts +4 -0
- package/dist/src/components/icons/copy.d.ts +4 -0
- package/dist/src/components/icons/coupon.d.ts +4 -0
- package/dist/src/components/icons/cross-hire.d.ts +6 -0
- package/dist/src/components/icons/custom-styled-icon.d.ts +6 -0
- package/dist/src/components/icons/dashboard.d.ts +4 -0
- package/dist/src/components/icons/document-download.d.ts +4 -0
- package/dist/src/components/icons/document.d.ts +4 -0
- package/dist/src/components/icons/dollar-circle-filled.d.ts +6 -0
- package/dist/src/components/icons/dollar-circle.d.ts +4 -0
- package/dist/src/components/icons/edit.d.ts +4 -0
- package/dist/src/components/icons/email.d.ts +4 -0
- package/dist/src/components/icons/export.d.ts +6 -0
- package/dist/src/components/icons/eye-off.d.ts +4 -0
- package/dist/src/components/icons/eye-plus-circle.d.ts +6 -0
- package/dist/src/components/icons/eye.d.ts +4 -0
- package/dist/src/components/icons/filled-circle.d.ts +4 -0
- package/dist/src/components/icons/filter-remove.d.ts +4 -0
- package/dist/src/components/icons/filter.d.ts +4 -0
- package/dist/src/components/icons/folder-save.d.ts +4 -0
- package/dist/src/components/icons/grid.d.ts +4 -0
- package/dist/src/components/icons/hashtag.d.ts +4 -0
- package/dist/src/components/icons/image.d.ts +4 -0
- package/dist/src/components/icons/import.d.ts +4 -0
- package/dist/src/components/icons/info-circle.d.ts +4 -0
- package/dist/src/components/icons/info.d.ts +6 -0
- package/dist/src/components/icons/link-horizontal.d.ts +4 -0
- package/dist/src/components/icons/link.d.ts +4 -0
- package/dist/src/components/icons/location.d.ts +4 -0
- package/dist/src/components/icons/lowest-lead-time.d.ts +4 -0
- package/dist/src/components/icons/lowest-min-qty.d.ts +4 -0
- package/dist/src/components/icons/lowest-price.d.ts +4 -0
- package/dist/src/components/icons/more.d.ts +4 -0
- package/dist/src/components/icons/notification.d.ts +4 -0
- package/dist/src/components/icons/paper-clip.d.ts +4 -0
- package/dist/src/components/icons/paragraph.d.ts +4 -0
- package/dist/src/components/icons/payment-request.d.ts +6 -0
- package/dist/src/components/icons/phone.d.ts +4 -0
- package/dist/src/components/icons/printer.d.ts +4 -0
- package/dist/src/components/icons/process-calendar.d.ts +4 -0
- package/dist/src/components/icons/promotion.d.ts +6 -0
- package/dist/src/components/icons/radio-button.d.ts +4 -0
- package/dist/src/components/icons/receipt-filled.d.ts +6 -0
- package/dist/src/components/icons/receipt-outline.d.ts +4 -0
- package/dist/src/components/icons/receipt.d.ts +6 -0
- package/dist/src/components/icons/refresh-icon.d.ts +4 -0
- package/dist/src/components/icons/replace.d.ts +4 -0
- package/dist/src/components/icons/save.d.ts +6 -0
- package/dist/src/components/icons/search-status.d.ts +4 -0
- package/dist/src/components/icons/search.d.ts +4 -0
- package/dist/src/components/icons/settings-fallback.d.ts +7 -0
- package/dist/src/components/icons/sort-arrow-icon.d.ts +4 -0
- package/dist/src/components/icons/stacked-layer.d.ts +6 -0
- package/dist/src/components/icons/start-filled.d.ts +6 -0
- package/dist/src/components/icons/three-dot-icon.d.ts +4 -0
- package/dist/src/components/icons/tick-circle-filled.d.ts +6 -0
- package/dist/src/components/icons/tick-circle.d.ts +4 -0
- package/dist/src/components/icons/tick-octagon.d.ts +4 -0
- package/dist/src/components/icons/tick.d.ts +4 -0
- package/dist/src/components/icons/toggle-switch.d.ts +4 -0
- package/dist/src/components/icons/trash.d.ts +4 -0
- package/dist/src/components/icons/wave.d.ts +6 -0
- package/dist/src/components/icons/with-out-tick-octagon.d.ts +4 -0
- package/dist/src/components/icons/work-centre.d.ts +6 -0
- package/dist/src/components/index.d.ts +125 -0
- package/dist/{components → src/components}/location-select.d.ts +1 -1
- package/dist/{components → src/components}/material-table/material-table.d.ts +1 -1
- package/dist/{components → src/components}/phone-input/phone-input.d.ts +1 -1
- package/dist/src/components/radio/radio.d.ts +4 -0
- package/dist/src/components/select/select.d.ts +3 -0
- package/dist/src/components/switches/android-12-switch.d.ts +4 -0
- package/dist/src/components/text-field/text-field.d.ts +3 -0
- package/dist/{components → src/components}/time-picker/time-picker.d.ts +1 -1
- package/dist/{components → src/components}/upload-media/upload-media.d.ts +1 -1
- package/dist/src/constants/index.d.ts +13 -0
- package/dist/src/contexts/index.d.ts +5 -0
- package/dist/src/hooks/index.d.ts +16 -0
- package/dist/src/index.d.ts +138 -0
- package/dist/src/layout/index.d.ts +2 -0
- package/dist/src/redux/index.d.ts +9 -0
- package/dist/src/styles/index.d.ts +2 -0
- package/dist/src/theme/index.d.ts +4 -0
- package/dist/src/types/index.d.ts +100 -0
- package/dist/src/utils/index.d.ts +31 -0
- package/dist/src/views/index.d.ts +2 -0
- package/dist/style.css +0 -2
- package/dist/styles/index.d.ts +1 -1
- package/dist/utils/api/index.esm.js +4 -4
- 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/common/index.esm.js +6 -6
- 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/index.d.ts +1 -2
- package/dist/utils/index.esm.js +50 -54
- 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/form-builder/redux/reducer/index.esm.js +0 -8
- package/dist/views/form-builder/redux/reducer/index.esm.js.map +1 -1
- package/dist/views/form-builder/redux/reducer/index.js +1 -1
- package/dist/views/form-builder/redux/reducer/index.js.map +1 -1
- package/dist/views/index.d.ts +1 -1
- package/dist/views/index.esm.js +0 -2
- package/dist/views/index.esm.js.map +1 -1
- package/dist/views/index.js +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 +2 -1
- package/dist/_virtual/ArrowBack/index.esm.js +0 -5
- package/dist/_virtual/ArrowBack/index.esm.js.map +0 -1
- package/dist/_virtual/ArrowBack/index.js +0 -2
- package/dist/_virtual/ArrowBack/index.js.map +0 -1
- package/dist/_virtual/ArrowForward/index.esm.js +0 -5
- package/dist/_virtual/ArrowForward/index.esm.js.map +0 -1
- package/dist/_virtual/ArrowForward/index.js +0 -2
- package/dist/_virtual/ArrowForward/index.js.map +0 -1
- package/dist/_virtual/IndeterminateCheckBox/index.esm.js +0 -5
- package/dist/_virtual/IndeterminateCheckBox/index.esm.js.map +0 -1
- package/dist/_virtual/IndeterminateCheckBox/index.js +0 -2
- package/dist/_virtual/IndeterminateCheckBox/index.js.map +0 -1
- package/dist/_virtual/NorthEast/index.esm.js +0 -5
- package/dist/_virtual/NorthEast/index.esm.js.map +0 -1
- package/dist/_virtual/NorthEast/index.js +0 -2
- package/dist/_virtual/NorthEast/index.js.map +0 -1
- package/dist/_virtual/Visibility/index.esm.js +0 -5
- package/dist/_virtual/Visibility/index.esm.js.map +0 -1
- package/dist/_virtual/Visibility/index.js +0 -2
- package/dist/_virtual/Visibility/index.js.map +0 -1
- package/dist/components/charts/line-chart/area-line-chart/index.esm.js +0 -40
- package/dist/components/charts/line-chart/area-line-chart/index.esm.js.map +0 -1
- package/dist/components/charts/line-chart/area-line-chart/index.js +0 -2
- package/dist/components/charts/line-chart/area-line-chart/index.js.map +0 -1
- package/dist/components/checkbox/checkbox.d.ts +0 -4
- package/dist/components/filter/fields/index.esm.js +0 -180
- package/dist/components/filter/fields/index.esm.js.map +0 -1
- package/dist/components/filter/fields/index.js +0 -2
- package/dist/components/filter/fields/index.js.map +0 -1
- package/dist/components/form-control/form-builder/form-builder-element/media.d.ts +0 -4
- package/dist/components/form-control/form-builder/form-builder-element/phone.d.ts +0 -3
- package/dist/components/form-control/form-builder/form-builder-element/select.d.ts +0 -4
- package/dist/components/form-control/form-builder/form-builder-element/text.d.ts +0 -4
- package/dist/components/form-control/form-builder/form-builder-element/time.d.ts +0 -4
- package/dist/components/form-control/form-parser/form-switcher.d.ts +0 -2
- package/dist/components/icons/action-arrow.d.ts +0 -4
- package/dist/components/icons/add-circle.d.ts +0 -4
- package/dist/components/icons/arrow-bidirectional.d.ts +0 -4
- package/dist/components/icons/arrow-circle-down.d.ts +0 -4
- package/dist/components/icons/arrow-down-three.d.ts +0 -4
- package/dist/components/icons/arrow-down-two.d.ts +0 -4
- package/dist/components/icons/arrow-down.d.ts +0 -4
- package/dist/components/icons/arrow-up-down.d.ts +0 -4
- package/dist/components/icons/arrow-up-two.d.ts +0 -4
- package/dist/components/icons/assignments.d.ts +0 -4
- package/dist/components/icons/blank-circle.d.ts +0 -4
- package/dist/components/icons/block-filled.d.ts +0 -6
- package/dist/components/icons/calendar-add.d.ts +0 -4
- package/dist/components/icons/calendar.d.ts +0 -4
- package/dist/components/icons/checkbox-square.d.ts +0 -4
- package/dist/components/icons/circular-arrow-setting.d.ts +0 -6
- package/dist/components/icons/clock.d.ts +0 -4
- package/dist/components/icons/close.d.ts +0 -6
- package/dist/components/icons/coin-outline.d.ts +0 -4
- package/dist/components/icons/copy.d.ts +0 -4
- package/dist/components/icons/coupon.d.ts +0 -4
- package/dist/components/icons/cross-hire.d.ts +0 -6
- package/dist/components/icons/custom-styled-icon.d.ts +0 -6
- package/dist/components/icons/dashboard.d.ts +0 -4
- package/dist/components/icons/document-download.d.ts +0 -4
- package/dist/components/icons/document.d.ts +0 -4
- package/dist/components/icons/dollar-circle-filled.d.ts +0 -6
- package/dist/components/icons/dollar-circle.d.ts +0 -4
- package/dist/components/icons/edit.d.ts +0 -4
- package/dist/components/icons/email.d.ts +0 -4
- package/dist/components/icons/export.d.ts +0 -6
- package/dist/components/icons/eye-off.d.ts +0 -4
- package/dist/components/icons/eye-plus-circle.d.ts +0 -6
- package/dist/components/icons/eye.d.ts +0 -4
- package/dist/components/icons/filled-circle.d.ts +0 -4
- package/dist/components/icons/filter-remove.d.ts +0 -4
- package/dist/components/icons/filter.d.ts +0 -4
- package/dist/components/icons/folder-save.d.ts +0 -4
- package/dist/components/icons/grid.d.ts +0 -4
- package/dist/components/icons/hashtag.d.ts +0 -4
- package/dist/components/icons/image.d.ts +0 -4
- package/dist/components/icons/import.d.ts +0 -4
- package/dist/components/icons/info-circle.d.ts +0 -4
- package/dist/components/icons/info.d.ts +0 -6
- package/dist/components/icons/link-horizontal.d.ts +0 -4
- package/dist/components/icons/link.d.ts +0 -4
- package/dist/components/icons/location.d.ts +0 -4
- package/dist/components/icons/lowest-lead-time.d.ts +0 -4
- package/dist/components/icons/lowest-min-qty.d.ts +0 -4
- package/dist/components/icons/lowest-price.d.ts +0 -4
- package/dist/components/icons/more.d.ts +0 -4
- package/dist/components/icons/notification.d.ts +0 -4
- package/dist/components/icons/paper-clip.d.ts +0 -4
- package/dist/components/icons/paragraph.d.ts +0 -4
- package/dist/components/icons/payment-request.d.ts +0 -6
- package/dist/components/icons/phone.d.ts +0 -4
- package/dist/components/icons/printer.d.ts +0 -4
- package/dist/components/icons/process-calendar.d.ts +0 -4
- package/dist/components/icons/promotion.d.ts +0 -6
- package/dist/components/icons/radio-button.d.ts +0 -4
- package/dist/components/icons/receipt-filled.d.ts +0 -6
- package/dist/components/icons/receipt-outline.d.ts +0 -4
- package/dist/components/icons/receipt.d.ts +0 -6
- package/dist/components/icons/refresh-icon.d.ts +0 -4
- package/dist/components/icons/replace.d.ts +0 -4
- package/dist/components/icons/save.d.ts +0 -6
- package/dist/components/icons/search-status.d.ts +0 -4
- package/dist/components/icons/search.d.ts +0 -4
- package/dist/components/icons/settings-fallback.d.ts +0 -7
- package/dist/components/icons/sort-arrow-icon.d.ts +0 -4
- package/dist/components/icons/stacked-layer.d.ts +0 -6
- package/dist/components/icons/start-filled.d.ts +0 -6
- package/dist/components/icons/three-dot-icon.d.ts +0 -4
- package/dist/components/icons/tick-circle-filled.d.ts +0 -6
- package/dist/components/icons/tick-circle.d.ts +0 -4
- package/dist/components/icons/tick-octagon.d.ts +0 -4
- package/dist/components/icons/tick.d.ts +0 -4
- package/dist/components/icons/toggle-switch.d.ts +0 -4
- package/dist/components/icons/trash.d.ts +0 -4
- package/dist/components/icons/wave.d.ts +0 -6
- package/dist/components/icons/with-out-tick-octagon.d.ts +0 -4
- package/dist/components/icons/work-centre.d.ts +0 -6
- package/dist/components/material-editable-table/components/inline-edit-fields/index.esm.js +0 -312
- package/dist/components/material-editable-table/components/inline-edit-fields/index.esm.js.map +0 -1
- package/dist/components/material-editable-table/components/inline-edit-fields/index.js +0 -4
- package/dist/components/material-editable-table/components/inline-edit-fields/index.js.map +0 -1
- package/dist/components/material-editable-table/material-editable-table/index.esm.js +0 -1164
- package/dist/components/material-editable-table/material-editable-table/index.esm.js.map +0 -1
- package/dist/components/material-editable-table/material-editable-table/index.js +0 -28
- package/dist/components/material-editable-table/material-editable-table/index.js.map +0 -1
- package/dist/components/material-editable-table/material-editable-table.d.ts +0 -40
- package/dist/components/material-table/aggregation-fns/index.d.ts +0 -13
- package/dist/components/material-table/components/default-aggregation.d.ts +0 -9
- package/dist/components/material-table/components/header-cell.d.ts +0 -5
- package/dist/components/material-table/components/inline-edit-fields.d.ts +0 -17
- package/dist/components/material-table/components/number-aggregation/index.esm.js +0 -133
- package/dist/components/material-table/components/number-aggregation/index.esm.js.map +0 -1
- package/dist/components/material-table/components/number-aggregation/index.js +0 -5
- package/dist/components/material-table/components/number-aggregation/index.js.map +0 -1
- package/dist/components/material-table/components/number-aggregation.d.ts +0 -9
- package/dist/components/radio/radio.d.ts +0 -4
- package/dist/components/select/select.d.ts +0 -3
- package/dist/components/switches/android-12-switch.d.ts +0 -2
- package/dist/components/text-field/text-field.d.ts +0 -3
- package/dist/node_modules/@mui/icons-material/ArrowBack/index.esm.js +0 -18
- package/dist/node_modules/@mui/icons-material/ArrowBack/index.esm.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/ArrowBack/index.js +0 -2
- package/dist/node_modules/@mui/icons-material/ArrowBack/index.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/ArrowForward/index.esm.js +0 -18
- package/dist/node_modules/@mui/icons-material/ArrowForward/index.esm.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/ArrowForward/index.js +0 -2
- package/dist/node_modules/@mui/icons-material/ArrowForward/index.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.esm.js +0 -18
- package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.esm.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.js +0 -2
- package/dist/node_modules/@mui/icons-material/IndeterminateCheckBox/index.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/NorthEast/index.esm.js +0 -18
- package/dist/node_modules/@mui/icons-material/NorthEast/index.esm.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/NorthEast/index.js +0 -2
- package/dist/node_modules/@mui/icons-material/NorthEast/index.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/Visibility/index.esm.js +0 -18
- package/dist/node_modules/@mui/icons-material/Visibility/index.esm.js.map +0 -1
- package/dist/node_modules/@mui/icons-material/Visibility/index.js +0 -2
- package/dist/node_modules/@mui/icons-material/Visibility/index.js.map +0 -1
- package/dist/utils/fileSize/index.esm.js +0 -22
- package/dist/utils/fileSize/index.esm.js.map +0 -1
- package/dist/utils/fileSize/index.js +0 -2
- package/dist/utils/fileSize/index.js.map +0 -1
- package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.esm.js +0 -48
- package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.js +0 -2
- package/dist/views/beforeAuth/components/activity-tag-data/activity-tag-data/index.js.map +0 -1
- package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.esm.js +0 -50
- package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.js +0 -2
- package/dist/views/beforeAuth/components/calendar-data/calendar-data/index.js.map +0 -1
- package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.esm.js +0 -57
- package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.js +0 -2
- package/dist/views/beforeAuth/components/gantt-data/gantt-data/index.js.map +0 -1
- package/dist/views/beforeAuth/components/grid-data/grid-data/index.esm.js +0 -41
- package/dist/views/beforeAuth/components/grid-data/grid-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/grid-data/grid-data/index.js +0 -2
- package/dist/views/beforeAuth/components/grid-data/grid-data/index.js.map +0 -1
- package/dist/views/beforeAuth/components/index/index.esm.js +0 -1144
- package/dist/views/beforeAuth/components/index/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/index/index.js +0 -206
- package/dist/views/beforeAuth/components/index/index.js.map +0 -1
- package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.esm.js +0 -72
- package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.js +0 -2
- package/dist/views/beforeAuth/components/kanbann-content/kanbann-raw/index.js.map +0 -1
- package/dist/views/beforeAuth/components/list-content/column-raw/index.esm.js +0 -54
- package/dist/views/beforeAuth/components/list-content/column-raw/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/list-content/column-raw/index.js +0 -2
- package/dist/views/beforeAuth/components/list-content/column-raw/index.js.map +0 -1
- package/dist/views/beforeAuth/components/list-content/list-data/index.esm.js +0 -61
- package/dist/views/beforeAuth/components/list-content/list-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/list-content/list-data/index.js +0 -2
- package/dist/views/beforeAuth/components/list-content/list-data/index.js.map +0 -1
- package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.esm.js +0 -21
- package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.js +0 -2
- package/dist/views/beforeAuth/components/multiline-data/multiline-data/index.js.map +0 -1
- package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.esm.js +0 -21
- package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.js +0 -2
- package/dist/views/beforeAuth/components/tabs-data/tabs-data/index.js.map +0 -1
- package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.esm.js +0 -306
- package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.esm.js.map +0 -1
- package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.js +0 -2
- package/dist/views/beforeAuth/components/user-dropdown-data/user-dropdown-data/index.js.map +0 -1
- package/dist/{@types → src/@types}/common.d.ts +0 -0
- package/dist/{@types → src/@types}/page.d.ts +0 -0
- package/dist/{@types → src/@types}/pagination-model.d.ts +0 -0
- package/dist/{assets → src/assets}/dynamic-svg-icon/dynamic-svg-icon.d.ts +0 -0
- package/dist/{assets → src/assets}/images.d.ts +0 -0
- package/dist/{assets → src/assets}/view-modal/calendar-icon.d.ts +0 -0
- package/dist/{assets → src/assets}/view-modal/chart-icon.d.ts +0 -0
- package/dist/{assets → src/assets}/view-modal/gantt-icon.d.ts +0 -0
- package/dist/{assets → src/assets}/view-modal/grid-icon.d.ts +0 -0
- package/dist/{assets → src/assets}/view-modal/kanban-icon.d.ts +0 -0
- package/dist/{assets → src/assets}/view-modal/table-icon.d.ts +0 -0
- package/dist/{components → src/components}/Dashboard/dashboard-card.d.ts +0 -0
- package/dist/{components → src/components}/Dashboard/dashboard-header.d.ts +0 -0
- package/dist/{components → src/components}/activity-tag/activity-tag.d.ts +0 -0
- package/dist/{components → src/components}/activityArea/activityArea.d.ts +0 -0
- package/dist/{components → src/components}/activityLog/activity-log.d.ts +0 -0
- package/dist/{components → src/components}/alert/alert.d.ts +0 -0
- package/dist/{components → src/components}/appbar/appbar.d.ts +0 -0
- package/dist/{components → src/components}/approval-wrapper/approval-wrapper.d.ts +0 -0
- package/dist/{components → src/components}/avatar/avatar.d.ts +0 -0
- package/dist/{components → src/components}/board/board.d.ts +0 -0
- package/dist/{components → src/components}/board/columnHeader.d.ts +0 -0
- package/dist/{components → src/components}/bread-crumb/bread-crumb.d.ts +0 -0
- package/dist/{components → src/components}/button/button.d.ts +0 -0
- package/dist/{components → src/components}/calculation-summary/calculation-summary.d.ts +0 -0
- package/dist/{components → src/components}/calculation-summary/components/discount-summary.d.ts +0 -0
- package/dist/{components → src/components}/calculation-summary/components/items-summary.d.ts +0 -0
- package/dist/{components → src/components}/calculation-summary/components/subtotal-summary.d.ts +0 -0
- package/dist/{components → src/components}/calculation-summary/components/taxes-and-charges-summary.d.ts +0 -0
- package/dist/{components → src/components}/calculation-summary/components/total-summary.d.ts +0 -0
- package/dist/{components → src/components}/calendar/calendar.d.ts +0 -0
- package/dist/{components → src/components}/card-wrapper/card-wrapper.d.ts +0 -0
- package/dist/{components → src/components}/change-user-password-modal/change-user-password-modal.d.ts +0 -0
- package/dist/{components → src/components}/charts/ChartLegends.d.ts +0 -0
- package/dist/{components → src/components}/charts/areaLinerChart.d.ts +0 -0
- package/dist/{components → src/components}/charts/bar-chart/bar-chart.d.ts +0 -0
- package/dist/{components → src/components}/charts/barChart/barChart.d.ts +0 -0
- package/dist/{components → src/components}/charts/barLineChart/barLinechart.d.ts +0 -0
- package/dist/{components → src/components}/charts/donut-chart/donut-chart.d.ts +0 -0
- package/dist/{components → src/components}/charts/donutChart/DonutChart.d.ts +0 -0
- package/dist/{components → src/components}/charts/groupBarChart/GroupBarChart.d.ts +0 -0
- package/dist/{components → src/components}/charts/line-chart/area-line-chart.d.ts +0 -0
- package/dist/{components → src/components}/charts/line-chart/area-lineChart.d.ts +0 -0
- package/dist/{components → src/components}/charts/line-chart/line-chart.d.ts +0 -0
- package/dist/{components → src/components}/charts/multiLineChart/multi-line-chart.d.ts +0 -0
- package/dist/{components → src/components}/chip/chip.d.ts +0 -0
- package/dist/{components → src/components}/chip-generator/chip-generator.d.ts +0 -0
- package/dist/{components → src/components}/color-picker-input/color-picker-input.d.ts +0 -0
- package/dist/{components → src/components}/confirm-modal/confirm-modal.d.ts +0 -0
- package/dist/{components → src/components}/country-select/country-select.d.ts +0 -0
- package/dist/{components → src/components}/custom-snackbar/custom-snackbar.d.ts +0 -0
- package/dist/{components → src/components}/custom-toggle-switch/custom-toggle-switch.d.ts +0 -0
- package/dist/{components → src/components}/date-range-picker/date-range-picker.d.ts +0 -0
- package/dist/{components → src/components}/date-time-picker/date-time-picker.d.ts +0 -0
- package/dist/{components → src/components}/dropdown-button/dropdown-button.d.ts +0 -0
- package/dist/{components → src/components}/dynamic-layout-wrapper/dynamic-layout-wrapper.d.ts +0 -0
- package/dist/{components → src/components}/dynamic-modal.d.ts +0 -0
- package/dist/{components → src/components}/editor/custom-editor.d.ts +0 -0
- package/dist/{components → src/components}/entity-view-wrapper/entity-view-wrapper.d.ts +0 -0
- package/dist/{components → src/components}/examples/FlexibleReduxExample.d.ts +0 -0
- package/dist/{components → src/components}/expandable-summary-wrapper/expandable-summary-wrapper.d.ts +0 -0
- package/dist/{components → src/components}/fallback/fallback.d.ts +0 -0
- package/dist/{components → src/components}/filter/components/add-filter.d.ts +0 -0
- package/dist/{components → src/components}/filter/components/add-group.d.ts +0 -0
- package/dist/{components → src/components}/filter/components/combinator-select.d.ts +0 -0
- package/dist/{components → src/components}/filter/components/delete-group.d.ts +0 -0
- package/dist/{components → src/components}/filter/components/field-select.d.ts +0 -0
- package/dist/{components → src/components}/filter/components/operator-select.d.ts +0 -0
- package/dist/{components → src/components}/filter/components/remove-action.d.ts +0 -0
- package/dist/{components → src/components}/filter/components/value-editor.d.ts +0 -0
- package/dist/{components → src/components}/filter/fields.d.ts +0 -0
- package/dist/{components → src/components}/filter/filter.d.ts +0 -0
- package/dist/{components → src/components}/footer.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/element-controller.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/button.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/checkbox.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/chip-or-placeholder.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/date-range-picker.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/date-time.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/date.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/dynamic-currency-input.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/dynamic-element-hoc.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/dynamic-input-select.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/dynamic-select.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/dynamic-tags-input.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/dynamic-text-editor.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/index.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/info.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/location-add-modal/location-add-modal.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/number-input.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/radio-button.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/section.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/select-configuration.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/table.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-builder/form-builder-element/toggle-button.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-parser/data.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-parser/form-parser.d.ts +0 -0
- package/dist/{components → src/components}/form-control/form-parser/form-section.d.ts +0 -0
- package/dist/{components → src/components}/form-control/index.d.ts +0 -0
- package/dist/{components → src/components}/form-header/form-header.d.ts +0 -0
- package/dist/{components → src/components}/gantt/gantt.d.ts +0 -0
- package/dist/{components → src/components}/grid/custom-grid-card/custom-grid-card.d.ts +0 -0
- package/dist/{components → src/components}/grid/grid-card/grid-card.d.ts +0 -0
- package/dist/{components → src/components}/grid/grid-wrapper/grid-wrapper.d.ts +0 -0
- package/dist/{components → src/components}/grid-fallback/grid-fallback.d.ts +0 -0
- package/dist/{components → src/components}/header/components/notification-menu/notification-menu.d.ts +0 -0
- package/dist/{components → src/components}/header/header-enhanced.d.ts +0 -0
- package/dist/{components → src/components}/header/header.d.ts +0 -0
- package/dist/{components → src/components}/header/redux/actionCreator.d.ts +0 -0
- package/dist/{components → src/components}/header/redux/reducer.d.ts +0 -0
- package/dist/{components → src/components}/header/redux/state.d.ts +0 -0
- package/dist/{components → src/components}/header copy.d.ts +0 -0
- package/dist/{components → src/components}/header-card/header-card.d.ts +0 -0
- package/dist/{components → src/components}/hr-line/hr-line.d.ts +0 -0
- package/dist/{components → src/components}/icons/check-box.d.ts +0 -0
- package/dist/{components → src/components}/icons/index.d.ts +0 -0
- package/dist/{components → src/components}/icons/rectangle-filled.d.ts +0 -0
- package/dist/{components → src/components}/icons/rectangle.d.ts +0 -0
- package/dist/{components → src/components}/info-card/info-card.d.ts +0 -0
- package/dist/{components → src/components}/inventory-reports-title-bar/component/reportFilter.d.ts +0 -0
- package/dist/{components → src/components}/inventory-reports-title-bar/inventory-reports-title-bar.d.ts +0 -0
- package/dist/{components → src/components}/inventory-reports-title-bar/redux/actionCreator.d.ts +0 -0
- package/dist/{components → src/components}/inventory-reports-title-bar/redux/reducer.d.ts +0 -0
- package/dist/{components → src/components}/inventory-reports-title-bar/redux/state.d.ts +0 -0
- package/dist/{components → src/components}/inventory-reports-title-bar/report-buttons/report-buttons.d.ts +0 -0
- package/dist/{components → src/components}/list/list.d.ts +0 -0
- package/dist/{components → src/components}/loader.d.ts +0 -0
- package/dist/{components → src/components}/loaders/erp-loader.d.ts +0 -0
- package/dist/{components → src/components}/loaders/form-loader.d.ts +0 -0
- package/dist/{components → src/components}/loaders/index.d.ts +0 -0
- package/dist/{components → src/components}/loaders/modal-loader.d.ts +0 -0
- package/dist/{components → src/components}/loaders/page-loader.d.ts +0 -0
- package/dist/{components/material-editable-table → src/components/material-table}/aggregation-fns/index.d.ts +0 -0
- package/dist/{components/material-editable-table → src/components/material-table}/components/default-aggregation.d.ts +0 -0
- package/dist/{components/material-editable-table → src/components/material-table}/components/header-cell.d.ts +0 -0
- package/dist/{components/material-editable-table → src/components/material-table}/components/inline-edit-fields.d.ts +0 -0
- package/dist/{components/material-editable-table → src/components/material-table}/components/number-aggregation.d.ts +0 -0
- package/dist/{components → src/components}/menu/menu.d.ts +0 -0
- package/dist/{components → src/components}/modal/modal.d.ts +0 -0
- package/dist/{components → src/components}/module-button/module-button.d.ts +0 -0
- package/dist/{components → src/components}/mulitline/multiline.d.ts +0 -0
- package/dist/{components → src/components}/multi-select/multi-select.d.ts +0 -0
- package/dist/{components → src/components}/page-navigator/components/add-page-modal.d.ts +0 -0
- package/dist/{components → src/components}/page-navigator/components/add-page.d.ts +0 -0
- package/dist/{components → src/components}/page-navigator/components/page-action.d.ts +0 -0
- package/dist/{components → src/components}/page-navigator/components/shared-page-modal.d.ts +0 -0
- package/dist/{components → src/components}/page-navigator/components/shared-page-view.d.ts +0 -0
- package/dist/{components → src/components}/page-navigator/page-navigator.d.ts +0 -0
- package/dist/{components → src/components}/pagination/pagination.d.ts +0 -0
- package/dist/{components → src/components}/parties-modal/parties-modal.d.ts +0 -0
- package/dist/{components → src/components}/parties-modal/utils/constant.d.ts +0 -0
- package/dist/{components → src/components}/parties-modal/validator.d.ts +0 -0
- package/dist/{components → src/components}/protected-route.d.ts +0 -0
- package/dist/{components → src/components}/providers/ERPUIProvider.d.ts +0 -0
- package/dist/{components → src/components}/providers/index.d.ts +0 -0
- package/dist/{components → src/components}/quick-approval-modal/quick-approval-modal.d.ts +0 -0
- package/dist/{components → src/components}/reports/dynamic-report/dynamic-report.d.ts +0 -0
- package/dist/{components → src/components}/reports/dynamic-report/dynamic-rows.d.ts +0 -0
- package/dist/{components → src/components}/reports-title-bar/redux/actionCreator.d.ts +0 -0
- package/dist/{components → src/components}/reports-title-bar/redux/reducer.d.ts +0 -0
- package/dist/{components → src/components}/reports-title-bar/redux/state.d.ts +0 -0
- package/dist/{components → src/components}/reports-title-bar/report-buttons/report-buttons.d.ts +0 -0
- package/dist/{components → src/components}/reports-title-bar/reports-title-bar.d.ts +0 -0
- package/dist/{components → src/components}/reset-password-modal/reset-password-modal.d.ts +0 -0
- package/dist/{components → src/components}/rfq-response/item-response-details.d.ts +0 -0
- package/dist/{components → src/components}/save-filter-modal/save-filter-modal.d.ts +0 -0
- package/dist/{components → src/components}/schedule-report/schedule-report-modal.d.ts +0 -0
- package/dist/{components → src/components}/schedule-report/schedule-report.d.ts +0 -0
- package/dist/{components → src/components}/schedule-report/utils/common.d.ts +0 -0
- package/dist/{components → src/components}/schedule-report/utils/constant.d.ts +0 -0
- package/dist/{components → src/components}/schedule-report/utils/type.d.ts +0 -0
- package/dist/{components → src/components}/schedule-report/validator.d.ts +0 -0
- package/dist/{components → src/components}/search-bar/search-bar.d.ts +0 -0
- package/dist/{components → src/components}/searchable-select.d.ts +0 -0
- package/dist/{components → src/components}/select/controller/chip-or-placeholder.d.ts +0 -0
- package/dist/{components → src/components}/select/controller/controller-select.d.ts +0 -0
- package/dist/{components → src/components}/select/select-search.d.ts +0 -0
- package/dist/{components → src/components}/share-modal/redux/actionCreator.d.ts +0 -0
- package/dist/{components → src/components}/share-modal/redux/reducer.d.ts +0 -0
- package/dist/{components → src/components}/share-modal/redux/state.d.ts +0 -0
- package/dist/{components → src/components}/share-modal/share-modal-enhanced.d.ts +0 -0
- package/dist/{components → src/components}/share-modal/share-modal.d.ts +0 -0
- package/dist/{components → src/components}/sidebar/sidebar.d.ts +0 -0
- package/dist/{components → src/components}/snackbar/snackbar.d.ts +0 -0
- package/dist/{components → src/components}/sub-header-doc/sub-header-doc.d.ts +0 -0
- package/dist/{components → src/components}/tab-bar-ui/tab-bar-ui.d.ts +0 -0
- package/dist/{components → src/components}/tabs/tabs.d.ts +0 -0
- package/dist/{components → src/components}/text-area/text-area.d.ts +0 -0
- package/dist/{components → src/components}/time-range-picker/time-range-picker.d.ts +0 -0
- package/dist/{components → src/components}/title-dropdown-button/title-dropdown-button.d.ts +0 -0
- package/dist/{components → src/components}/toast/toast.d.ts +0 -0
- package/dist/{components → src/components}/toggle/toggle.d.ts +0 -0
- package/dist/{components → src/components}/toggle-switch/toggle-switch.d.ts +0 -0
- package/dist/{components → src/components}/tooltip/Tooltip.d.ts +0 -0
- package/dist/{components → src/components}/typography/typography.d.ts +0 -0
- package/dist/{components → src/components}/upload/file-confirmation.d.ts +0 -0
- package/dist/{components → src/components}/upload/upload.d.ts +0 -0
- package/dist/{components → src/components}/upload-excel/file-confirmation.d.ts +0 -0
- package/dist/{components → src/components}/upload-excel/upload-excel.d.ts +0 -0
- package/dist/{components → src/components}/user-dropdown/user-dropdown.d.ts +0 -0
- package/dist/{components → src/components}/value-field/value-field.d.ts +0 -0
- package/dist/{components → src/components}/view-modal/view-modal.d.ts +0 -0
- package/dist/{config → src/config}/index.d.ts +0 -0
- package/dist/{constants → src/constants}/action-bar.d.ts +0 -0
- package/dist/{constants → src/constants}/all-language.d.ts +0 -0
- package/dist/{constants → src/constants}/auth.d.ts +0 -0
- package/dist/{constants → src/constants}/common.d.ts +0 -0
- package/dist/{constants → src/constants}/defaultColumns.d.ts +0 -0
- package/dist/{constants → src/constants}/lang/ar.d.ts +0 -0
- package/dist/{constants → src/constants}/lang/en.d.ts +0 -0
- package/dist/{constants → src/constants}/lang/es.d.ts +0 -0
- package/dist/{constants → src/constants}/modules.d.ts +0 -0
- package/dist/{constants → src/constants}/mui.constants.d.ts +0 -0
- package/dist/{constants → src/constants}/pathnames/index.d.ts +0 -0
- package/dist/{constants → src/constants}/pathnames/pathname.accounting.d.ts +0 -0
- package/dist/{constants → src/constants}/pathnames/pathname.crm.d.ts +0 -0
- package/dist/{constants → src/constants}/pathnames/pathname.d.ts +0 -0
- package/dist/{constants → src/constants}/pathnames/pathname.document.d.ts +0 -0
- package/dist/{constants → src/constants}/pathnames/pathname.hrms.d.ts +0 -0
- package/dist/{constants → src/constants}/pathnames/pathname.inventory.d.ts +0 -0
- package/dist/{constants → src/constants}/pathnames/pathname.manufacturing.d.ts +0 -0
- package/dist/{constants → src/constants}/pathnames/pathname.office.d.ts +0 -0
- package/dist/{constants → src/constants}/pathnames/pathname.procurement.d.ts +0 -0
- package/dist/{constants → src/constants}/pathnames/pathname.project.d.ts +0 -0
- package/dist/{constants → src/constants}/pathnames/pathname.quotes.d.ts +0 -0
- package/dist/{constants → src/constants}/pathnames/pathname.rental.d.ts +0 -0
- package/dist/{constants → src/constants}/pathnames/pathname.user.d.ts +0 -0
- package/dist/{constants → src/constants}/resource-lang.d.ts +0 -0
- package/dist/{constants → src/constants}/route-page-map.d.ts +0 -0
- package/dist/{constants → src/constants}/status.d.ts +0 -0
- package/dist/{contexts → src/contexts}/AuthContext.d.ts +0 -0
- package/dist/{contexts → src/contexts}/languageContext.d.ts +0 -0
- package/dist/{contexts → src/contexts}/page-context.d.ts +0 -0
- package/dist/{contexts → src/contexts}/permission-context.d.ts +0 -0
- package/dist/{hooks → src/hooks}/apiHelper.d.ts +0 -0
- package/dist/{hooks → src/hooks}/common.d.ts +0 -0
- package/dist/{hooks → src/hooks}/use-deep-memo.d.ts +0 -0
- package/dist/{hooks → src/hooks}/use-material-calculations.d.ts +0 -0
- package/dist/{hooks → src/hooks}/use-translations.d.ts +0 -0
- package/dist/{hooks → src/hooks}/useCheckSkuAndName.d.ts +0 -0
- package/dist/{hooks → src/hooks}/useDataFetcher.d.ts +0 -0
- package/dist/{hooks → src/hooks}/useLanguageFallback.d.ts +0 -0
- package/dist/{hooks → src/hooks}/useLocationFilter.d.ts +0 -0
- package/dist/{hooks → src/hooks}/useReduxIntegration.d.ts +0 -0
- package/dist/{layout → src/layout}/fullScreen/fullScreen.d.ts +0 -0
- package/dist/{layout → src/layout}/sidebarScreen/sidebarScreen.d.ts +0 -0
- package/dist/{redux → src/redux}/actionCreator.d.ts +0 -0
- package/dist/{redux → src/redux}/apiConfig.d.ts +0 -0
- package/dist/{redux → src/redux}/hooks.d.ts +0 -0
- package/dist/{redux → src/redux}/module-reducer.d.ts +0 -0
- package/dist/{redux → src/redux}/slices/headerSlice.d.ts +0 -0
- package/dist/{redux → src/redux}/slices/index.d.ts +0 -0
- package/dist/{redux → src/redux}/slices/inventoryReportsTitleBarSlice.d.ts +0 -0
- package/dist/{redux → src/redux}/slices/reportsTitleBarSlice.d.ts +0 -0
- package/dist/{redux → src/redux}/slices/shareSlice.d.ts +0 -0
- package/dist/{redux → src/redux}/toolkit.d.ts +0 -0
- package/dist/{redux → src/redux}/types.d.ts +0 -0
- package/dist/{server.d.ts → src/server.d.ts} +0 -0
- package/dist/{styles → src/styles}/themes/index.d.ts +0 -0
- package/dist/{theme → src/theme}/color.d.ts +0 -0
- package/dist/{theme → src/theme}/theme-impl.d.ts +0 -0
- package/dist/{theme → src/theme}/themeSelector.d.ts +0 -0
- package/dist/{theme → src/theme}/themeWrapper.d.ts +0 -0
- package/dist/{theme → src/theme}/typography.d.ts +0 -0
- package/dist/{utils → src/utils}/api.d.ts +0 -0
- package/dist/{utils → src/utils}/calculation.d.ts +0 -0
- package/dist/{utils → src/utils}/color.d.ts +0 -0
- package/dist/{utils → src/utils}/common-utility.d.ts +1 -1
- /package/dist/{utils → src/utils}/common.d.ts +0 -0
- /package/dist/{utils → src/utils}/constant.d.ts +0 -0
- /package/dist/{utils → src/utils}/country.d.ts +0 -0
- /package/dist/{utils → src/utils}/date-range.d.ts +0 -0
- /package/dist/{utils → src/utils}/dateFormat.d.ts +0 -0
- /package/dist/{utils → src/utils}/dateValidation.d.ts +0 -0
- /package/dist/{utils → src/utils}/deformat-text.d.ts +0 -0
- /package/dist/{utils → src/utils}/export-filters.d.ts +0 -0
- /package/dist/{utils → src/utils}/fileSize.d.ts +0 -0
- /package/dist/{utils → src/utils}/form-builder-conversion.d.ts +0 -0
- /package/dist/{utils → src/utils}/form-builder-deconversion.d.ts +0 -0
- /package/dist/{utils → src/utils}/format-text.d.ts +0 -0
- /package/dist/{utils → src/utils}/i18n.d.ts +0 -0
- /package/dist/{utils → src/utils}/language.d.ts +0 -0
- /package/dist/{utils → src/utils}/menu-filter.d.ts +0 -0
- /package/dist/{utils → src/utils}/metaComponent.d.ts +0 -0
- /package/dist/{utils → src/utils}/migration-utils.d.ts +0 -0
- /package/dist/{utils → src/utils}/navigation-utils.d.ts +0 -0
- /package/dist/{utils → src/utils}/route-utils.d.ts +0 -0
- /package/dist/{utils → src/utils}/server.d.ts +0 -0
- /package/dist/{utils → src/utils}/setup.d.ts +0 -0
- /package/dist/{utils → src/utils}/translations.d.ts +0 -0
- /package/dist/{views → src/views}/404.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/accounting.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/crm.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/dashboard/dashboard.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/dashboard/redux/actionCreator.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/dashboard/redux/reducer.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/dashboard/redux/state.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/document.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/hrms.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/inventory.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/manufacturing.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/office.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/page-view/page-view.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/page-view/redux/actionCreator.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/page-view/redux/reducer.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/page-view/redux/state.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/page-view/utils/default-data.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/page-view/utils/local-data.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/procurement.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/project.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/purchase.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/quotes.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/rental.d.ts +0 -0
- /package/dist/{views → src/views}/afterAuth/user.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/change-password/change-password.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/activity-tag-data/activity-tag-data.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/calendar-data/calendar-data.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/drive-dashboard-data/drive-dashboard-data.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/gantt-data/gantt-data.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/grid-data/grid-data.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/index.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/kanbann-content/kanbann-raw.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/list-content/column-raw.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/list-content/list-data.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/multiline-data/multiline-data.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/share-modal-data/share-modal-data.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/shared-pages-data/shared-pages-data.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/tabs-data/tabs-data.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/user-dashboard-data/user-dashboard-data.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/user-dropdown-data/user-dropdown-data.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/components/user-profile-data/user-profile-data.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/forgot-password/forgot-password.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/landing/landing.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/login/index.d.ts +0 -0
- /package/dist/{views → src/views}/beforeAuth/reset-password/reset-password.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/custom-form.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/element-edit-forms/checkbox.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/element-edit-forms/column-width.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/element-edit-forms/field-select.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/element-edit-forms/index.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/element-edit-forms/section.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/element-edit-forms/select.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/element-edit-forms/table-form.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/element-edit-forms/text.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/field_properties.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/form-fields.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/index.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/redux/actionCreator.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/redux/state.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/types.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/utils/common.d.ts +0 -0
- /package/dist/{views → src/views}/form-builder/utils/index.d.ts +0 -0
- /package/dist/{views → src/views}/privateRoute.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/add-template/add-template.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/add-template/index.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/company-selection-modal/company-selection-modal.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/company-selection-modal/index.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/EditorCanvas.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/EditorHeader.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/EditorSection.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/EditorSidebar.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/SectionFlowEditor.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/SectionFormatPanel.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/controllers/AlignmentControl.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/controllers/ButtonControls.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/controllers/CodeControls.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/controllers/DividerControls.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/controllers/ImageControls.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/controllers/SignatureControls.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/controllers/TableControls.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/controllers/TextControls.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/controllers/border-control.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/components/index.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/edit-section-modal/edit-section-modal.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/edit-section-modal/index.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/index.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/routes.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/template-modal/html-thumbnail-preview.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/template-modal/index.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/template-modal/template-modal.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/template-name-modal/index.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/template-name-modal/template-name-modal.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/templates.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/types/editor.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/types/index.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/utils/common.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/utils/constant.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/utils/default-data.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/utils/index.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/utils/style-extractor.d.ts +0 -0
- /package/dist/{views → src/views}/template-editor/utils/types.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":["../../../../src/components/upload/upload.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Typography from \"../typography/typography\";\nimport Box from \"@mui/material/Box\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport \"./upload.scss\";\nimport { useDropzone } from \"react-dropzone\";\nimport Toast from '../toast/toast';\nimport {\n CircularProgress,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Divider,\n IconButton,\n} from \"@mui/material\";\nimport RemoveIcon from \"@mui/icons-material/Remove\";\nimport { Add } from \"@mui/icons-material\";\nimport Button from \"../button/button\";\nimport Checkbox from \"../checkbox/checkbox\";\nimport Avatar from \"../avatar/avatar\";\nimport images from \"../../assets/images\";\nimport Chip from \"../chip/chip\";\nimport { auth } from \"../../constants/auth\";\nimport { KeyboardArrowDown, KeyboardArrowUp, Clear } from \"@mui/icons-material\";\nimport FileConfirmationDialog from \"./file-confirmation\"\n\n\ninterface UploadProps {\n open: boolean;\n title: string;\n multiple?: boolean;\n accept?: string;\n onClose: () => void;\n onConfirm: () => void;\n onSubmit: (files: any[]) => void;\n existingDriveData?: any;\n fileUploaded?: (value: boolean) => void | undefined;\n type: any\n\n\n}\ninterface CustomNavigator extends Navigator {\n connection?: {\n downlink?: number;\n };\n}\nconst formatBytes = (bytes: number, decimals = 2) => {\n if (bytes === 0) return \"0 Bytes\";\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\n};\n\nconst Upload = (props: UploadProps) => {\n const {\n open,\n title,\n onClose,\n onConfirm,\n accept = \"*\",\n onSubmit,\n multiple = true,\n existingDriveData,\n fileUploaded , \n type\n \n } = props;\n\n const [files, setFiles] = useState<\n {\n file: File;\n isPrivate: boolean;\n checkboxDisabled: boolean;\n status: string;\n uploadProgress: number;\n fileSize: number;\n fileName: string;\n fileType: string;\n location: string;\n message: string;\n }[]\n >([]);\n\n interface IToast {\n type: 'normal' | 'alert';\n message: string;\n }\n const [isUploading, setIsUploading] = useState(false);\n const [isCollapsed, setIsCollapsed] = useState(false);\n const [isDialogMinimized, setIsDialogMinimized] = useState(false);\n const [isDragOver, setIsDragOver] = useState(false);\n const [abortController, setAbortController] = useState(new AbortController());\n const authToken = localStorage.getItem(auth.storageTokenKeyName);\n const [allDriveData, setAllDriveData] = useState();\n const [isConfirmDialogOpen, setIsConfirmDialogOpen] = useState(false);\n const [selectedFileTitle, setSelectedFileTitle] = useState();\n const [toast, setToast] = useState<IToast | null>(null);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDropAccepted: (newFiles) => {\n setFiles([\n ...files,\n ...newFiles.map((file) => ({\n file,\n isPrivate: false,\n checkboxDisabled: false,\n status: \"pending\",\n uploadProgress: 0,\n fileSize: file.size,\n fileName: file.name,\n fileType: file.type,\n location: \"\",\n message: \"\",\n })),\n ]);\n setIsDragOver(false);\n },\n onDragEnter: () => {\n setIsDragOver(true);\n },\n onDragLeave: () => {\n setIsDragOver(false);\n },\n noClick: true,\n noKeyboard: true,\n multiple: multiple,\n accept: accept ? convertAcceptObject(accept) : accept,\n });\n\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n const driveTitles = existingDriveData?.map(item => item['title'])\n setAllDriveData(driveTitles);\n }, [existingDriveData]);\n\n useEffect(() => {\n const handleBeforeUnload = (event: any) => {\n if (isUploading) {\n const message =\n \"Are you sure you want to leave? Your uploads are not complete.\";\n event.returnValue = message; // Standard for most browsers\n return message; // For some older browsers\n }\n };\n if (fileInputRef.current) {\n fileInputRef.current.multiple = multiple;\n }\n\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\n\n return () => {\n // Clean up the event listener when the component unmounts\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\n };\n }, [isUploading, multiple]);\n\n const getInternetSpeed = () => {\n const customNavigator = navigator as CustomNavigator;\n if (\"connection\" in customNavigator && customNavigator.connection) {\n return customNavigator.connection.downlink;\n } else {\n return null;\n }\n };\n\n function convertAcceptObject(types: string) {\n const accepts = types.split(\",\").map((item) => item.trim());\n const acceptObject = accepts.reduce((acc: any, type: string) => {\n acc[type] = [];\n return acc;\n }, {});\n return acceptObject;\n }\n\n const renderFileIcon = (file: any) => {\n const fileType = file?.type.split(\"/\")[0];\n switch (fileType) {\n case \"image\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#FFEBEB\" }}\n >\n <Avatar size={20} src={images.upload.documentPDF}></Avatar>\n </div>\n );\n case \"application\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#FFEBEB\" }}\n >\n <Avatar size={20} src={images.upload.documentPDF}></Avatar>\n </div>\n );\n case \"text\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#EBF9F2\" }}\n >\n <Avatar size={20} src={images.upload.docFile}></Avatar>\n </div>\n );\n default:\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#EBF9F2\" }}\n >\n <Avatar size={20} src={images.upload.docFile}></Avatar>\n </div>\n );\n }\n };\n\n const BASE_URL = `${import.meta.env.VITE_BACKEND_BASE_URL}/document/v1/file-upload/`;\n\n const handleConfirm = async () => {\n setIsUploading(true);\n // Create a new AbortController for each confirmation\n const controller = new AbortController();\n setAbortController(controller);\n \n const filteredFiles = files.filter((file : any) => file.status !== \"canceled\").length;\n for (let i = 0; i < files.length; i++) {\n if (files[i].uploadProgress === 100 || files[i].status !== \"pending\") {\n continue;\n }\n\n const file = files[i];\n \n const fileSize = file?.fileSize;\n try {\n if (fileSize > 10 * 1024 * 1024) {\n const uploadResponse = await handleMultipartUpload(file, i, controller);\n if (uploadResponse) {\n setTimeout(()=>{fileUploaded(true) } , 1000);\n }\n } else {\n await handleRegularUpload(file, i, controller, filteredFiles);\n }\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[i] = {\n ...updatedFiles[i],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n } finally {\n setIsUploading(false);\n }\n }\n };\n\n\n \n\n let tempCount = 0;\n const handleRegularUpload = async (\n file: any,\n index: number,\n controller: any,\n fileCount : number\n ) => {\n try {\n const format = ['docx', 'doc', 'csv', 'pdf', 'xls', 'xlsx', 'vnd.ms-excel', 'excel', 'txt'];\n const mimeType = file?.mimeType || file?.fileType || '';\n\t\t\tconst isValid = format.some(f => mimeType.includes(f));\n \n if (isValid && file?.fileSize && file?.fileSize >= 5242880) {\n return setToast({\n type: 'alert',\n message: 'File size must be within 5 MB!'\n });\n }\n const preSignedUrlsResponse = await fetch(\n `${BASE_URL}?key=${file?.fileName}&partCount=1&mimeType=${file?.fileType}&is_private=${!file?.isPrivate}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n \"file-size\": file?.fileSize,\n \"x-token\": authToken,\n },\n signal: controller.signal\n },\n );\n const preSignedUrlsData = await preSignedUrlsResponse.json();\n if (preSignedUrlsData?.status_code == 400) {\n // alert(preSignedUrlsData?.message);\n setToast({\n type: 'alert',\n message: preSignedUrlsData?.message\n });\n return;\n }\n const preSignedUrl = preSignedUrlsData.data?.preSignedData?.presignedUrl;\n const location = preSignedUrlsData.data?.preSignedData?.location;\n const partParams = {\n Body: file?.file.slice(0, file?.fileSize),\n url: preSignedUrl,\n };\n const contentLength = file.fileSize;\n // const maxChunkSize = 1024 * 1024 * 1024; // 10 MB maximum chunk size\n // const chunkSize = Math.min(contentLength * 0.1, maxChunkSize);\n const chunkSize = 1024 * 1024 * 1024 * 1024 // 1MB chunk size\n let bytesUploaded = 0;\n\n while (bytesUploaded < contentLength) {\n const start = bytesUploaded;\n const end = Math.min(bytesUploaded + chunkSize, contentLength);\n\n // Send chunk of the file\n await fetch(partParams.url, {\n method: \"PUT\",\n body: file.file.slice(start, end),\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n },\n });\n\n // Update progress\n bytesUploaded = end;\n const progress = Math.round((bytesUploaded / contentLength) * 100);\n\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n checkboxDisabled: true,\n status: \"uploading\",\n uploadProgress: progress,\n };\n return updatedFiles;\n });\n }\n \n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"completed\",\n location ,\n message: \"Uploaded Successfully\",\n };\n tempCount = tempCount + 1;\n \n if(fileCount == tempCount){\n onSubmit(updatedFiles);\n tempCount = 0;\n \n }\n return updatedFiles;\n });\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n }\n \n };\n\n const handleMultipartUpload = async (\n file: any,\n index: number,\n controller: any,\n ) => {\n\n try {\n const partSize =\n (getInternetSpeed() || 10) * 1024 * 1024 < 5 * 1024 * 1024\n ? 5 * 1024 * 1024\n : (getInternetSpeed() || 10) * 1024 * 1024;\n const parts = Math.ceil(file?.fileSize / partSize);\n const preSignedUrlsResponse = await fetch(\n `${BASE_URL}?key=${file?.fileName}&partCount=${parts}&mimeType=${file?.fileType}&is_private=${!file?.isPrivate}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n \"file-size\": file?.fileSize,\n \"x-token\": authToken,\n },\n signal: controller.signal,\n },\n );\n const preSignedUrlsData = await preSignedUrlsResponse.json();\n\n if (preSignedUrlsData && preSignedUrlsData?.status_code && preSignedUrlsData?.status_code == 400) {\n setToast({ message: preSignedUrlsData?.message || \"Internal Server Error\", type: \"error\" });\n return null;\n }\n\n const preSignedUrls = preSignedUrlsData.data.preSignedData?.preSignedUrls;\n if (preSignedUrls.length > 0) { \n const uploadId =\n preSignedUrls[0].presignedUrl.match(/uploadId=([^&]+)/)[1];\n for (let i = 0; i < preSignedUrls.length; i++) {\n const partNum = preSignedUrls[i].partNumber;\n const preSignedUrl = preSignedUrls[i].presignedUrl;\n const start = (partNum - 1) * partSize;\n const end = Math.min(start + partSize, file?.fileSize);\n const partParams = {\n Body: file?.file?.slice(start, end),\n url: preSignedUrl,\n };\n await fetch(partParams.url, {\n method: \"PUT\",\n body: partParams.Body,\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n },\n });\n const progress = Math.round(((i + 1) * 100) / parts);\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n checkboxDisabled: true,\n status: \"uploading\",\n uploadProgress: progress,\n };\n return updatedFiles;\n });\n }\n const markCompleteResponse = await fetch(`${BASE_URL}mark-complete`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-token\": authToken,\n },\n body: JSON.stringify({\n fileName: file?.fileName,\n uploadId: uploadId,\n }),\n });\n const markCompleteData = await markCompleteResponse.json();\n const location = markCompleteData?.data?.location;\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"completed\",\n location: location,\n message: \"Uploaded Successfully\",\n };\n \n onSubmit(updatedFiles);\n return updatedFiles;\n });\n } else {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: \"Did not get pre-signed URLs\",\n };\n return updatedFiles;\n });\n }\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n }\n };\n\n const handleChipClick = () => {\n if (fileInputRef.current) {\n // If multiple is true, set input for multiple files\n if (props.multiple) {\n fileInputRef.current.setAttribute(\"multiple\", \"true\");\n } else {\n // If multiple is false, set input for a single file\n fileInputRef.current.removeAttribute(\"multiple\");\n }\n fileInputRef.current.click();\n }\n };\n\n //checking if the file already exists or not in the drive \n const handleFileChange = (e: any) => {\n \n const selectedFiles = e.target.files;\n \n const fileTitles = Array.from(selectedFiles).map(file => {\n const fileName = file.name;\n const nameWithoutExtension = fileName.substring(0, fileName.lastIndexOf('.')) || fileName;\n return nameWithoutExtension;\n })[0];\n\n setSelectedFileTitle(fileTitles);\n\n setIsConfirmDialogOpen(allDriveData?.includes(fileTitles));\n const newFiles = Array.from(selectedFiles).map((file: any) => ({\n file,\n isPrivate: false,\n checkboxDisabled: false,\n status: \"pending\",\n uploadProgress: 0,\n fileSize: file?.size,\n fileName: file?.name,\n fileType: file?.type,\n location: \"\",\n message: \"\",\n }));\n setFiles((prevFiles: any) => [...prevFiles, ...newFiles]);\n setIsUploading(false);\n \n\n };\n\n const removeFile = (indexToRemove: number) => {\n \n setFiles((prevFiles) =>\n prevFiles.map((file, index) =>\n index === indexToRemove ? { ...file, status: \"canceled\" } : file,\n ),\n );\n\n };\n\n\n\n const toggleIsPrivate = (index: number) => {\n setFiles((prevFiles) =>\n prevFiles.map((item, i) =>\n i === index ? { ...item, isPrivate: !item.isPrivate } : item,\n ),\n );\n };\n\n const toggleCollapse = () => {\n setIsCollapsed((prevIsCollapsed) => !prevIsCollapsed);\n };\n\n const handleMinimizeClick = () => {\n setIsDialogMinimized(!isDialogMinimized);\n isDialogMinimized ? onConfirm() : onClose();\n };\n\n const handleDialogClose = () => {\n if (files.length > 0) {\n if (\n confirm(\n \"Your uploads are not complete. Would you like to cancel all ongoing uploads?\",\n )\n ) {\n // Abort the ongoing requests when the dialog is closed\n abortController.abort();\n if (abortController?.signal?.aborted) {\n onClose();\n }\n setFiles([]);\n }\n } else {\n onClose();\n }\n };\n useEffect(() => {\n open && setFiles([]);\n }, [open]);\n\n const onCloseConfirmPopup = () => {\n setIsConfirmDialogOpen(false);\n }\n\n const onReplace = async () => {\n const baseUrl = `${import.meta.env.VITE_BACKEND_BASE_URL}`;\n const fileId = existingDriveData?.filter(file => file.title === selectedFileTitle)[0].id;\n const headers = {\n \"Content-type\": \"application/json; charset=utf-8\",\n };\n const authToken = localStorage.getItem(auth.storageTokenKeyName) || '';\n headers[\"x-token\"] = authToken;\n await fetch(`${baseUrl}/document/v1/drive/${fileId}`, {\n method: \"DELETE\",\n headers,\n });\n\n onCloseConfirmPopup();\n }\n\n const onKeepBoth = () => {\n onCloseConfirmPopup();\n }\n return (\n <>\n <Dialog open={open} onClose={onClose} className=\"upload\">\n <DialogTitle className=\"upload--head\">\n <Box className=\"upload--title\">\n <Typography\n type=\"s3\"\n ml={1}\n weight=\"medium\"\n color=\"theme.secondary.1000\"\n >\n {title}\n </Typography>\n </Box>\n <div>\n <IconButton disableRipple onClick={handleMinimizeClick}>\n <RemoveIcon />\n </IconButton>\n <IconButton disableRipple onClick={handleDialogClose}>\n <CloseIcon />\n </IconButton>\n </div>\n </DialogTitle>\n <Divider />\n <DialogContent className=\"upload--content\">\n {files.length === 0 ? (\n <div\n className={`upload--fileContent ${isDragActive ? \"drag-active\" : \"\"\n }`}\n >\n <div {...getRootProps()} className=\"drop-view\">\n {!isDragOver ? (\n <>\n <input {...getInputProps()} ref={fileInputRef} />\n <p className=\"upload--text\">\n Drag and Drop files here or upload from\n </p>\n\n <div className=\"device-wrap\">\n <div className=\"select-button\" onClick={handleChipClick}>\n <img src={images.upload.monitor} />\n <Typography type=\"s5\">My Device</Typography>\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={async () => {\n // handleFileChange(e) ; \n handleConfirm();\n }}\n accept={accept}\n />\n </div>\n <div className=\"select-button\" onClick={handleChipClick}>\n <img src={images.upload.camera} />\n <Typography type=\"s5\">Camera</Typography>\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n accept={accept}\n />\n </div>\n </div>\n </>\n ) : (\n <div className=\"after-drop\">\n <img src={images.upload.documentUpload} />\n <Typography type=\"s3\">\n Drag & Drop your files here\n </Typography>\n </div>\n )}\n </div>\n </div>\n ) : (\n <div className=\"main-container\">\n <div className=\"body-section\">\n <div className=\"document-section\">\n <div className=\"document-body\">\n {files.map((file: any, index: number) => (\n <div className=\"upload-list\" key={index}>\n <div className=\"document-cover\" key={file?.file?.name}>\n <div className=\"document-name\">\n {renderFileIcon(file?.file)}\n <div className=\"document-title\">\n <div className=\"document-box\">\n <div className=\"document-desc\">\n {file?.file?.name}\n </div>\n <div className=\"document-size\">\n {formatBytes(file?.file?.size)}\n <span\n className={\n file?.status === \"completed\" &&\n file?.message.length > 0\n ? \"success-file\"\n : \"fail-file\"\n }\n >\n {file?.message}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div className=\"document-choices\">\n {file?.status !== \"canceled\" ? (\n <>\n <div className=\"checkbox\">\n <Checkbox\n checked={file?.isPrivate || type == 'public'}\n onChange={() => toggleIsPrivate(index)}\n disabled={file?.checkboxDisabled || type == 'public'}\n />\n <div className=\"checkbox-text\">Public</div>\n </div>\n <div\n className=\"delete-icon\"\n onClick={() => removeFile(index)}\n >\n <Avatar\n size={24}\n src={images.upload.trash}\n ></Avatar>\n </div>\n </>\n ) : (\n <Typography type=\"s4\" className=\"canceled-text\">\n Upload Canceled\n </Typography>\n )}\n </div>\n </div>\n <div className=\"document-progress\">\n {file?.uploadProgress > 0 && (\n <LinearProgress\n color=\"success\"\n variant=\"determinate\"\n value={file?.uploadProgress}\n />\n )}\n </div>\n </div>\n ))}\n </div>\n </div>\n {multiple && (\n <>\n <Chip\n className=\"add-file\"\n variant=\"outlined\"\n type=\"normal\"\n label={\"Add File\"}\n icon={<Add />}\n onClick={handleChipClick}\n />\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n accept={accept}\n />\n </>\n )}\n </div>\n </div>\n )}\n </DialogContent>\n <Divider />\n <DialogActions className=\"upload--actions\">\n <Button variant=\"text\" onClick={handleDialogClose}>\n Cancel\n </Button>\n <Button\n color=\"secondary\"\n onClick={handleConfirm}\n disabled={!files.length || isUploading}\n >\n Upload\n </Button>\n </DialogActions>\n </Dialog>\n {isDialogMinimized && (\n <div className=\"bottom-corner-box\">\n <div className=\"top-section\">\n <div className=\"top-text\">\n Uploading {files.length} Item{files.length !== 1 ? \"s\" : \"\"}\n </div>\n <div className=\"top-options\">\n <div className=\"btn\" onClick={handleMinimizeClick}>\n <RemoveIcon />\n </div>\n <div className=\"btn\" onClick={toggleCollapse}>\n <div className=\"arrow-btn\">\n {isCollapsed ? <KeyboardArrowUp /> : <KeyboardArrowDown />}\n </div>\n </div>\n <div className=\"btn\" onClick={handleDialogClose}>\n <Clear />\n </div>\n </div>\n </div>\n <div className=\"box-list\">\n {!isCollapsed &&\n files.map((file: any, index: number) => (\n <div className=\"bottom-section\">\n <div className=\"doc-icon\">{renderFileIcon(file?.file)}</div>\n <div className=\"file-detail\">\n <div className=\"file-name\">\n <div className=\"file-text\">\n {file?.file?.name}\n {index}\n </div>\n </div>\n <div className=\"file-status\">\n {file?.status !== \"canceled\" ? (\n <>\n {file.uploadProgress === 0 && (\n <div className=\"avatar-container\">\n <Avatar\n size={20}\n className=\"avatar\"\n src={images.upload.empty}\n ></Avatar>\n <Avatar\n size={20}\n onClick={() => removeFile(index)}\n src={images.upload.close}\n className=\"close-icon\"\n ></Avatar>\n </div>\n )}\n {file?.uploadProgress > 0 &&\n file?.uploadProgress < 100 && (\n <CircularProgress\n color=\"success\"\n variant=\"determinate\"\n value={file?.uploadProgress}\n />\n )}\n {file?.uploadProgress === 100 && (\n <div className=\"avatar-container\">\n <Avatar\n size={20}\n className=\"avatar\"\n src={images.upload.tick}\n ></Avatar>\n <Avatar\n size={20}\n src={images.upload.folder}\n className=\"close-icon\"\n ></Avatar>\n </div>\n )}\n </>\n ) : (\n <Typography type=\"s4\" className=\"canceled-text\">\n Upload Canceled\n </Typography>\n )}\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n {isConfirmDialogOpen && <FileConfirmationDialog title={selectedFileTitle} open={isConfirmDialogOpen} onClose={onCloseConfirmPopup} onReplace={onReplace} onKeepBoth={onKeepBoth} isFile = {true} />}\n\n <Toast\n open={Boolean(toast)}\n type={toast?.type}\n message={toast?.message}\n handleClose={() => setToast(null)}\n anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}\n />\n </>\n );\n};\n\nexport default Upload;\n"],"names":["type","authToken","RemoveIcon","CloseIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":["../../../../src/components/upload/upload.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Typography from \"../typography/typography\";\nimport Box from \"@mui/material/Box\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport \"./upload.scss\";\nimport { useDropzone } from \"react-dropzone\";\nimport Toast from '../toast/toast';\nimport {\n CircularProgress,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Divider,\n IconButton,\n} from \"@mui/material\";\nimport RemoveIcon from \"@mui/icons-material/Remove\";\nimport { Add } from \"@mui/icons-material\";\nimport Button from \"../button/button\";\nimport Checkbox from \"../checkbox/checkbox\";\nimport Avatar from \"../avatar/avatar\";\nimport images from \"../../assets/images\";\nimport Chip from \"../chip/chip\";\nimport { auth } from \"../../constants/auth\";\nimport { KeyboardArrowDown, KeyboardArrowUp, Clear } from \"@mui/icons-material\";\nimport FileConfirmationDialog from \"./file-confirmation\"\n\n\ninterface UploadProps {\n open: boolean;\n title: string;\n multiple?: boolean;\n accept?: string;\n onClose: () => void;\n onConfirm: () => void;\n onSubmit: (files: any[]) => void;\n existingDriveData?: any;\n fileUploaded?: (value: boolean) => void | undefined;\n type: any\n\n\n}\ninterface CustomNavigator extends Navigator {\n connection?: {\n downlink?: number;\n };\n}\nconst formatBytes = (bytes: number, decimals = 2) => {\n if (bytes === 0) return \"0 Bytes\";\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\n};\n\nconst Upload = (props: UploadProps) => {\n const {\n open,\n title,\n onClose,\n onConfirm,\n accept = \"*\",\n onSubmit,\n multiple = true,\n existingDriveData,\n fileUploaded , \n type\n \n } = props;\n\n const [files, setFiles] = useState<\n {\n file: File;\n isPrivate: boolean;\n checkboxDisabled: boolean;\n status: string;\n uploadProgress: number;\n fileSize: number;\n fileName: string;\n fileType: string;\n location: string;\n message: string;\n }[]\n >([]);\n\n interface IToast {\n type: 'normal' | 'alert';\n message: string;\n }\n const [isUploading, setIsUploading] = useState(false);\n const [isCollapsed, setIsCollapsed] = useState(false);\n const [isDialogMinimized, setIsDialogMinimized] = useState(false);\n const [isDragOver, setIsDragOver] = useState(false);\n const [abortController, setAbortController] = useState(new AbortController());\n const authToken = localStorage.getItem(auth.storageTokenKeyName);\n const [allDriveData, setAllDriveData] = useState();\n const [isConfirmDialogOpen, setIsConfirmDialogOpen] = useState(false);\n const [selectedFileTitle, setSelectedFileTitle] = useState();\n const [toast, setToast] = useState<IToast | null>(null);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDropAccepted: (newFiles) => {\n setFiles([\n ...files,\n ...newFiles.map((file) => ({\n file,\n isPrivate: false,\n checkboxDisabled: false,\n status: \"pending\",\n uploadProgress: 0,\n fileSize: file.size,\n fileName: file.name,\n fileType: file.type,\n location: \"\",\n message: \"\",\n })),\n ]);\n setIsDragOver(false);\n },\n onDragEnter: () => {\n setIsDragOver(true);\n },\n onDragLeave: () => {\n setIsDragOver(false);\n },\n noClick: true,\n noKeyboard: true,\n multiple: multiple,\n accept: accept ? convertAcceptObject(accept) : accept,\n });\n\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n const driveTitles = existingDriveData?.map(item => item['title'])\n setAllDriveData(driveTitles);\n }, [existingDriveData]);\n\n useEffect(() => {\n const handleBeforeUnload = (event: any) => {\n if (isUploading) {\n const message =\n \"Are you sure you want to leave? Your uploads are not complete.\";\n event.returnValue = message; // Standard for most browsers\n return message; // For some older browsers\n }\n };\n if (fileInputRef.current) {\n fileInputRef.current.multiple = multiple;\n }\n\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\n\n return () => {\n // Clean up the event listener when the component unmounts\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\n };\n }, [isUploading, multiple]);\n\n const getInternetSpeed = () => {\n const customNavigator = navigator as CustomNavigator;\n if (\"connection\" in customNavigator && customNavigator.connection) {\n return customNavigator.connection.downlink;\n } else {\n return null;\n }\n };\n\n function convertAcceptObject(types: string) {\n const accepts = types.split(\",\").map((item) => item.trim());\n const acceptObject = accepts.reduce((acc: any, type: string) => {\n acc[type] = [];\n return acc;\n }, {});\n return acceptObject;\n }\n\n const renderFileIcon = (file: any) => {\n const fileType = file?.type.split(\"/\")[0];\n switch (fileType) {\n case \"image\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#FFEBEB\" }}\n >\n <Avatar size={20} src={images.upload.documentPDF}></Avatar>\n </div>\n );\n case \"application\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#FFEBEB\" }}\n >\n <Avatar size={20} src={images.upload.documentPDF}></Avatar>\n </div>\n );\n case \"text\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#EBF9F2\" }}\n >\n <Avatar size={20} src={images.upload.docFile}></Avatar>\n </div>\n );\n default:\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#EBF9F2\" }}\n >\n <Avatar size={20} src={images.upload.docFile}></Avatar>\n </div>\n );\n }\n };\n\n const BASE_URL = `${import.meta.env.VITE_BACKEND_BASE_URL}/document/v1/file-upload/`;\n\n const handleConfirm = async () => {\n setIsUploading(true);\n // Create a new AbortController for each confirmation\n const controller = new AbortController();\n setAbortController(controller);\n \n const filteredFiles = files.filter((file : any) => file.status !== \"canceled\").length;\n for (let i = 0; i < files.length; i++) {\n if (files[i].uploadProgress === 100 || files[i].status !== \"pending\") {\n continue;\n }\n\n const file = files[i];\n \n const fileSize = file?.fileSize;\n try {\n if (fileSize > 10 * 1024 * 1024) {\n const uploadResponse = await handleMultipartUpload(file, i, controller);\n if (uploadResponse) {\n setTimeout(()=>{fileUploaded(true) } , 1000);\n }\n } else {\n await handleRegularUpload(file, i, controller, filteredFiles);\n }\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[i] = {\n ...updatedFiles[i],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n } finally {\n setIsUploading(false);\n }\n }\n };\n\n\n \n\n let tempCount = 0;\n const handleRegularUpload = async (\n file: any,\n index: number,\n controller: any,\n fileCount : number\n ) => {\n try {\n const format = ['docx', 'doc', 'csv', 'pdf', 'xls', 'xlsx', 'vnd.ms-excel', 'excel', 'txt'];\n const mimeType = file?.mimeType || file?.fileType || '';\n\t\t\tconst isValid = format.some(f => mimeType.includes(f));\n \n if (isValid && file?.fileSize && file?.fileSize >= 5242880) {\n return setToast({\n type: 'alert',\n message: 'File size must be within 5 MB!'\n });\n }\n const preSignedUrlsResponse = await fetch(\n `${BASE_URL}?key=${file?.fileName}&partCount=1&mimeType=${file?.fileType}&is_private=${!file?.isPrivate}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n \"file-size\": file?.fileSize,\n \"x-token\": authToken,\n },\n signal: controller.signal\n },\n );\n const preSignedUrlsData = await preSignedUrlsResponse.json();\n if (preSignedUrlsData?.status_code == 400) {\n // alert(preSignedUrlsData?.message);\n setToast({\n type: 'alert',\n message: preSignedUrlsData?.message\n });\n return;\n }\n const preSignedUrl = preSignedUrlsData.data?.preSignedData?.presignedUrl;\n const location = preSignedUrlsData.data?.preSignedData?.location;\n const partParams = {\n Body: file?.file.slice(0, file?.fileSize),\n url: preSignedUrl,\n };\n const contentLength = file.fileSize;\n // const maxChunkSize = 1024 * 1024 * 1024; // 10 MB maximum chunk size\n // const chunkSize = Math.min(contentLength * 0.1, maxChunkSize);\n const chunkSize = 1024 * 1024 * 1024 * 1024 // 1MB chunk size\n let bytesUploaded = 0;\n\n while (bytesUploaded < contentLength) {\n const start = bytesUploaded;\n const end = Math.min(bytesUploaded + chunkSize, contentLength);\n\n // Send chunk of the file\n await fetch(partParams.url, {\n method: \"PUT\",\n body: file.file.slice(start, end),\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n },\n });\n\n // Update progress\n bytesUploaded = end;\n const progress = Math.round((bytesUploaded / contentLength) * 100);\n\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n checkboxDisabled: true,\n status: \"uploading\",\n uploadProgress: progress,\n };\n return updatedFiles;\n });\n }\n \n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"completed\",\n location ,\n message: \"Uploaded Successfully\",\n };\n tempCount = tempCount + 1;\n \n if(fileCount == tempCount){\n onSubmit(updatedFiles);\n tempCount = 0;\n \n }\n return updatedFiles;\n });\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n }\n \n };\n\n const handleMultipartUpload = async (\n file: any,\n index: number,\n controller: any,\n ) => {\n\n try {\n const partSize =\n (getInternetSpeed() || 10) * 1024 * 1024 < 5 * 1024 * 1024\n ? 5 * 1024 * 1024\n : (getInternetSpeed() || 10) * 1024 * 1024;\n const parts = Math.ceil(file?.fileSize / partSize);\n const preSignedUrlsResponse = await fetch(\n `${BASE_URL}?key=${file?.fileName}&partCount=${parts}&mimeType=${file?.fileType}&is_private=${!file?.isPrivate}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n \"file-size\": file?.fileSize,\n \"x-token\": authToken,\n },\n signal: controller.signal,\n },\n );\n const preSignedUrlsData = await preSignedUrlsResponse.json();\n\n if (preSignedUrlsData && preSignedUrlsData?.status_code && preSignedUrlsData?.status_code == 400) {\n setToast({ message: preSignedUrlsData?.message || \"Internal Server Error\", type: \"error\" });\n return null;\n }\n\n const preSignedUrls = preSignedUrlsData.data.preSignedData?.preSignedUrls;\n if (preSignedUrls.length > 0) { \n const uploadId =\n preSignedUrls[0].presignedUrl.match(/uploadId=([^&]+)/)[1];\n for (let i = 0; i < preSignedUrls.length; i++) {\n const partNum = preSignedUrls[i].partNumber;\n const preSignedUrl = preSignedUrls[i].presignedUrl;\n const start = (partNum - 1) * partSize;\n const end = Math.min(start + partSize, file?.fileSize);\n const partParams = {\n Body: file?.file?.slice(start, end),\n url: preSignedUrl,\n };\n await fetch(partParams.url, {\n method: \"PUT\",\n body: partParams.Body,\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n },\n });\n const progress = Math.round(((i + 1) * 100) / parts);\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n checkboxDisabled: true,\n status: \"uploading\",\n uploadProgress: progress,\n };\n return updatedFiles;\n });\n }\n const markCompleteResponse = await fetch(`${BASE_URL}mark-complete`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-token\": authToken,\n },\n body: JSON.stringify({\n fileName: file?.fileName,\n uploadId: uploadId,\n }),\n });\n const markCompleteData = await markCompleteResponse.json();\n const location = markCompleteData?.data?.location;\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"completed\",\n location: location,\n message: \"Uploaded Successfully\",\n };\n \n onSubmit(updatedFiles);\n return updatedFiles;\n });\n } else {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: \"Did not get pre-signed URLs\",\n };\n return updatedFiles;\n });\n }\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n }\n };\n\n const handleChipClick = () => {\n if (fileInputRef.current) {\n // If multiple is true, set input for multiple files\n if (props.multiple) {\n fileInputRef.current.setAttribute(\"multiple\", \"true\");\n } else {\n // If multiple is false, set input for a single file\n fileInputRef.current.removeAttribute(\"multiple\");\n }\n fileInputRef.current.click();\n }\n };\n\n //checking if the file already exists or not in the drive \n const handleFileChange = (e: any) => {\n \n const selectedFiles = e.target.files;\n \n const fileTitles = Array.from(selectedFiles).map(file => {\n const fileName = file.name;\n const nameWithoutExtension = fileName.substring(0, fileName.lastIndexOf('.')) || fileName;\n return nameWithoutExtension;\n })[0];\n\n setSelectedFileTitle(fileTitles);\n\n setIsConfirmDialogOpen(allDriveData?.includes(fileTitles));\n const newFiles = Array.from(selectedFiles).map((file: any) => ({\n file,\n isPrivate: false,\n checkboxDisabled: false,\n status: \"pending\",\n uploadProgress: 0,\n fileSize: file?.size,\n fileName: file?.name,\n fileType: file?.type,\n location: \"\",\n message: \"\",\n }));\n setFiles((prevFiles: any) => [...prevFiles, ...newFiles]);\n setIsUploading(false);\n \n\n };\n\n const removeFile = (indexToRemove: number) => {\n \n setFiles((prevFiles) =>\n prevFiles.map((file, index) =>\n index === indexToRemove ? { ...file, status: \"canceled\" } : file,\n ),\n );\n\n };\n\n\n\n const toggleIsPrivate = (index: number) => {\n setFiles((prevFiles) =>\n prevFiles.map((item, i) =>\n i === index ? { ...item, isPrivate: !item.isPrivate } : item,\n ),\n );\n };\n\n const toggleCollapse = () => {\n setIsCollapsed((prevIsCollapsed) => !prevIsCollapsed);\n };\n\n const handleMinimizeClick = () => {\n setIsDialogMinimized(!isDialogMinimized);\n isDialogMinimized ? onConfirm() : onClose();\n };\n\n const handleDialogClose = () => {\n if (files.length > 0) {\n if (\n confirm(\n \"Your uploads are not complete. Would you like to cancel all ongoing uploads?\",\n )\n ) {\n // Abort the ongoing requests when the dialog is closed\n abortController.abort();\n if (abortController?.signal?.aborted) {\n onClose();\n }\n setFiles([]);\n }\n } else {\n onClose();\n }\n };\n useEffect(() => {\n open && setFiles([]);\n }, [open]);\n\n const onCloseConfirmPopup = () => {\n setIsConfirmDialogOpen(false);\n }\n\n const onReplace = async () => {\n const baseUrl = `${import.meta.env.VITE_BACKEND_BASE_URL}`;\n const fileId = existingDriveData?.filter(file => file.title === selectedFileTitle)[0].id;\n const headers = {\n \"Content-type\": \"application/json; charset=utf-8\",\n };\n const authToken = localStorage.getItem(auth.storageTokenKeyName) || '';\n headers[\"x-token\"] = authToken;\n await fetch(`${baseUrl}/document/v1/drive/${fileId}`, {\n method: \"DELETE\",\n headers,\n });\n\n onCloseConfirmPopup();\n }\n\n const onKeepBoth = () => {\n onCloseConfirmPopup();\n }\n return (\n <>\n <Dialog open={open} onClose={onClose} className=\"upload\">\n <DialogTitle className=\"upload--head\">\n <Box className=\"upload--title\">\n <Typography\n type=\"s3\"\n ml={1}\n weight=\"medium\"\n color=\"theme.secondary.1000\"\n >\n {title}\n </Typography>\n </Box>\n <div>\n <IconButton disableRipple onClick={handleMinimizeClick}>\n <RemoveIcon />\n </IconButton>\n <IconButton disableRipple onClick={handleDialogClose}>\n <CloseIcon />\n </IconButton>\n </div>\n </DialogTitle>\n <Divider />\n <DialogContent className=\"upload--content\">\n {files.length === 0 ? (\n <div\n className={`upload--fileContent ${isDragActive ? \"drag-active\" : \"\"\n }`}\n >\n <div {...getRootProps()} className=\"drop-view\">\n {!isDragOver ? (\n <>\n <input {...getInputProps()} ref={fileInputRef} />\n <p className=\"upload--text\">\n Drag and Drop files here or upload from\n </p>\n\n <div className=\"device-wrap\">\n <div className=\"select-button\" onClick={handleChipClick}>\n <img src={images.upload.monitor} />\n <Typography type=\"s5\">My Device</Typography>\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={async () => {\n // handleFileChange(e) ; \n handleConfirm();\n }}\n accept={accept}\n />\n </div>\n <div className=\"select-button\" onClick={handleChipClick}>\n <img src={images.upload.camera} />\n <Typography type=\"s5\">Camera</Typography>\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n accept={accept}\n />\n </div>\n </div>\n </>\n ) : (\n <div className=\"after-drop\">\n <img src={images.upload.documentUpload} />\n <Typography type=\"s3\">\n Drag & Drop your files here\n </Typography>\n </div>\n )}\n </div>\n </div>\n ) : (\n <div className=\"main-container\">\n <div className=\"body-section\">\n <div className=\"document-section\">\n <div className=\"document-body\">\n {files.map((file: any, index: number) => (\n <div className=\"upload-list\" key={index}>\n <div className=\"document-cover\" key={file?.file?.name}>\n <div className=\"document-name\">\n {renderFileIcon(file?.file)}\n <div className=\"document-title\">\n <div className=\"document-box\">\n <div className=\"document-desc\">\n {file?.file?.name}\n </div>\n <div className=\"document-size\">\n {formatBytes(file?.file?.size)}\n <span\n className={\n file?.status === \"completed\" &&\n file?.message.length > 0\n ? \"success-file\"\n : \"fail-file\"\n }\n >\n {file?.message}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div className=\"document-choices\">\n {file?.status !== \"canceled\" ? (\n <>\n <div className=\"checkbox\">\n <Checkbox\n checked={file?.isPrivate || type == 'public'}\n onChange={() => toggleIsPrivate(index)}\n disabled={file?.checkboxDisabled || type == 'public'}\n />\n <div className=\"checkbox-text\">Public</div>\n </div>\n <div\n className=\"delete-icon\"\n onClick={() => removeFile(index)}\n >\n <Avatar\n size={24}\n src={images.upload.trash}\n ></Avatar>\n </div>\n </>\n ) : (\n <Typography type=\"s4\" className=\"canceled-text\">\n Upload Canceled\n </Typography>\n )}\n </div>\n </div>\n <div className=\"document-progress\">\n {file?.uploadProgress > 0 && (\n <LinearProgress\n color=\"success\"\n variant=\"determinate\"\n value={file?.uploadProgress}\n />\n )}\n </div>\n </div>\n ))}\n </div>\n </div>\n {multiple && (\n <>\n <Chip\n className=\"add-file\"\n variant=\"outlined\"\n type=\"normal\"\n label={\"Add File\"}\n icon={<Add />}\n onClick={handleChipClick}\n />\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n accept={accept}\n />\n </>\n )}\n </div>\n </div>\n )}\n </DialogContent>\n <Divider />\n <DialogActions className=\"upload--actions\">\n <Button variant=\"text\" onClick={handleDialogClose}>\n Cancel\n </Button>\n <Button\n color=\"secondary\"\n onClick={handleConfirm}\n disabled={!files.length || isUploading}\n >\n Upload\n </Button>\n </DialogActions>\n </Dialog>\n {isDialogMinimized && (\n <div className=\"bottom-corner-box\">\n <div className=\"top-section\">\n <div className=\"top-text\">\n Uploading {files.length} Item{files.length !== 1 ? \"s\" : \"\"}\n </div>\n <div className=\"top-options\">\n <div className=\"btn\" onClick={handleMinimizeClick}>\n <RemoveIcon />\n </div>\n <div className=\"btn\" onClick={toggleCollapse}>\n <div className=\"arrow-btn\">\n {isCollapsed ? <KeyboardArrowUp /> : <KeyboardArrowDown />}\n </div>\n </div>\n <div className=\"btn\" onClick={handleDialogClose}>\n <Clear />\n </div>\n </div>\n </div>\n <div className=\"box-list\">\n {!isCollapsed &&\n files.map((file: any, index: number) => (\n <div className=\"bottom-section\">\n <div className=\"doc-icon\">{renderFileIcon(file?.file)}</div>\n <div className=\"file-detail\">\n <div className=\"file-name\">\n <div className=\"file-text\">\n {file?.file?.name}\n {index}\n </div>\n </div>\n <div className=\"file-status\">\n {file?.status !== \"canceled\" ? (\n <>\n {file.uploadProgress === 0 && (\n <div className=\"avatar-container\">\n <Avatar\n size={20}\n className=\"avatar\"\n src={images.upload.empty}\n ></Avatar>\n <Avatar\n size={20}\n onClick={() => removeFile(index)}\n src={images.upload.close}\n className=\"close-icon\"\n ></Avatar>\n </div>\n )}\n {file?.uploadProgress > 0 &&\n file?.uploadProgress < 100 && (\n <CircularProgress\n color=\"success\"\n variant=\"determinate\"\n value={file?.uploadProgress}\n />\n )}\n {file?.uploadProgress === 100 && (\n <div className=\"avatar-container\">\n <Avatar\n size={20}\n className=\"avatar\"\n src={images.upload.tick}\n ></Avatar>\n <Avatar\n size={20}\n src={images.upload.folder}\n className=\"close-icon\"\n ></Avatar>\n </div>\n )}\n </>\n ) : (\n <Typography type=\"s4\" className=\"canceled-text\">\n Upload Canceled\n </Typography>\n )}\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n {isConfirmDialogOpen && <FileConfirmationDialog title={selectedFileTitle} open={isConfirmDialogOpen} onClose={onCloseConfirmPopup} onReplace={onReplace} onKeepBoth={onKeepBoth} isFile = {true} />}\n\n <Toast\n open={Boolean(toast)}\n type={toast?.type}\n message={toast?.message}\n handleClose={() => setToast(null)}\n anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}\n />\n </>\n );\n};\n\nexport default Upload;\n"],"names":["type","authToken","RemoveIcon","CloseIcon"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),s=require("react"),l=,/* empty css */i=;/* empty css */;/* empty css */var a=require("react-dropzone"),t=,/* empty css */n=,/* empty css */o=,/* empty css */r=,/* empty css */d=,/* empty css */c=,/* empty css */u=,/* empty css */m=,/* empty css */p=,/* empty css */v=,/* empty css */x=,/* empty css */h=,/* empty css */g=,/* empty css */f=,/* empty css */j=,/* empty css */y=,/* empty css */N=,/* empty css */b=,/* empty css */C=,/* empty css */k=,/* empty css */S=,/* empty css */D=;/* empty css */const P=(e,s=2)=>{if(0===e)return"0 Bytes";const l=s<0?0:s,i=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,i)).toFixed(l))+" "+["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][i]};exports.default=w=>{const{open:T,title:q,onClose:z,onConfirm:B,accept:A="*",onSubmit:_,multiple:E=!0,existingDriveData:F,fileUploaded:U,type:I}=w,[M,$]=s.useState([]),[K,L]=s.useState(!1),[R,O]=s.useState(!1),[Y,G]=s.useState(!1),[J,V]=s.useState(!1),[W,Z]=s.useState(new AbortController),H=localStorage.getItem(m.auth.storageTokenKeyName),[Q,X]=s.useState(),[ee,se]=s.useState(!1),[le,ie]=s.useState(),[ae,te]=s.useState(null),{getRootProps:ne,getInputProps:oe,isDragActive:re}=a.useDropzone({onDropAccepted:e=>{$([...M,...e.map(e=>({file:e,isPrivate:!1,checkboxDisabled:!1,status:"pending",uploadProgress:0,fileSize:e.size,fileName:e.name,fileType:e.type,location:"",message:""}))]),V(!1)},onDragEnter:()=>{V(!0)},onDragLeave:()=>{V(!1)},noClick:!0,noKeyboard:!0,multiple:E,accept:A?(ce=A,ce.split(",").map(e=>e.trim()).reduce((e,s)=>(e[s]=[],e),{})):A}),de=s.useRef(null);var ce;s.useEffect(()=>{const e=null==F?void 0:F.map(e=>e.title);X(e)},[F]),s.useEffect(()=>{const e=e=>{if(K){const s="Are you sure you want to leave? Your uploads are not complete.";return e.returnValue=s,s}};return de.current&&(de.current.multiple=E),window.addEventListener("beforeunload",e),()=>{window.removeEventListener("beforeunload",e)}},[K,E]);const ue=()=>{const e=navigator;return"connection"in e&&e.connection?e.connection.downlink:null},me=s=>{switch(null==s?void 0:s.type.split("/")[0]){case"image":case"application":/* @__PURE__ */
|
|
2
2
|
return e.jsx("div",{className:Y?"document-icon-sm":"document-icon-lg",style:{backgroundColor:"#FFEBEB"},children:/* @__PURE__ */e.jsx(d.Avatar,{size:20,src:c.images.upload.documentPDF})});default:/* @__PURE__ */
|
|
3
|
-
return e.jsx("div",{className:Y?"document-icon-sm":"document-icon-lg",style:{backgroundColor:"#EBF9F2"},children:/* @__PURE__ */e.jsx(d.Avatar,{size:20,src:c.images.upload.docFile})})}},pe="
|
|
3
|
+
return e.jsx("div",{className:Y?"document-icon-sm":"document-icon-lg",style:{backgroundColor:"#EBF9F2"},children:/* @__PURE__ */e.jsx(d.Avatar,{size:20,src:c.images.upload.docFile})})}},pe="http://127.0.0.1:4011/document/v1/file-upload/",ve=async()=>{L(!0);const e=new AbortController;Z(e);const s=M.filter(e=>"canceled"!==e.status).length;for(let i=0;i<M.length;i++){if(100===M[i].uploadProgress||"pending"!==M[i].status)continue;const a=M[i],t=null==a?void 0:a.fileSize;try{t>10485760?await ge(a,i,e)&&setTimeout(()=>{U(!0)},1e3):await he(a,i,e,s)}catch(l){$(e=>{const s=[...e];return s[i]={...s[i],status:"failed",message:l.message||"Internal Server Error"},s})}finally{L(!1)}}};let xe=0;const he=async(e,s,l,i)=>{var a,t,n,o;try{const r=["docx","doc","csv","pdf","xls","xlsx","vnd.ms-excel","excel","txt"],d=(null==e?void 0:e.mimeType)||(null==e?void 0:e.fileType)||"";if(r.some(e=>d.includes(e))&&(null==e?void 0:e.fileSize)&&(null==e?void 0:e.fileSize)>=5242880)return te({type:"alert",message:"File size must be within 5 MB!"});const c=await fetch(`${pe}?key=${null==e?void 0:e.fileName}&partCount=1&mimeType=${null==e?void 0:e.fileType}&is_private=${!(null==e?void 0:e.isPrivate)}`,{headers:{"Content-Type":"application/json","file-size":null==e?void 0:e.fileSize,"x-token":H},signal:l.signal}),u=await c.json();if(400==(null==u?void 0:u.status_code))return void te({type:"alert",message:null==u?void 0:u.message});const m=null==(t=null==(a=u.data)?void 0:a.preSignedData)?void 0:t.presignedUrl,p=null==(o=null==(n=u.data)?void 0:n.preSignedData)?void 0:o.location,v={Body:null==e?void 0:e.file.slice(0,null==e?void 0:e.fileSize),url:m},x=e.fileSize,h=1099511627776;let g=0;for(;g<x;){const l=g,i=Math.min(g+h,x);await fetch(v.url,{method:"PUT",body:e.file.slice(l,i),headers:{"Content-Type":"application/octet-stream"}}),g=i;const a=Math.round(g/x*100);$(e=>{const l=[...e];return l[s]={...l[s],checkboxDisabled:!0,status:"uploading",uploadProgress:a},l})}$(e=>{const l=[...e];return l[s]={...l[s],status:"completed",location:p,message:"Uploaded Successfully"},xe+=1,i==xe&&(_(l),xe=0),l})}catch(r){$(e=>{const l=[...e];return l[s]={...l[s],status:"failed",message:r.message||"Internal Server Error"},l})}},ge=async(e,s,l)=>{var i,a,t;try{const n=1024*(ue()||10)*1024<5242880?5242880:1024*(ue()||10)*1024,o=Math.ceil((null==e?void 0:e.fileSize)/n),r=await fetch(`${pe}?key=${null==e?void 0:e.fileName}&partCount=${o}&mimeType=${null==e?void 0:e.fileType}&is_private=${!(null==e?void 0:e.isPrivate)}`,{headers:{"Content-Type":"application/json","file-size":null==e?void 0:e.fileSize,"x-token":H},signal:l.signal}),d=await r.json();if(d&&(null==d?void 0:d.status_code)&&400==(null==d?void 0:d.status_code))return te({message:(null==d?void 0:d.message)||"Internal Server Error",type:"error"}),null;const c=null==(i=d.data.preSignedData)?void 0:i.preSignedUrls;if(c.length>0){const l=c[0].presignedUrl.match(/uploadId=([^&]+)/)[1];for(let t=0;t<c.length;t++){const l=c[t].partNumber,i=c[t].presignedUrl,r=(l-1)*n,d=Math.min(r+n,null==e?void 0:e.fileSize),u={Body:null==(a=null==e?void 0:e.file)?void 0:a.slice(r,d),url:i};await fetch(u.url,{method:"PUT",body:u.Body,headers:{"Content-Type":"application/octet-stream"}});const m=Math.round(100*(t+1)/o);$(e=>{const l=[...e];return l[s]={...l[s],checkboxDisabled:!0,status:"uploading",uploadProgress:m},l})}const i=await fetch(`${pe}mark-complete`,{method:"POST",headers:{"Content-Type":"application/json","x-token":H},body:JSON.stringify({fileName:null==e?void 0:e.fileName,uploadId:l})}),r=await i.json(),d=null==(t=null==r?void 0:r.data)?void 0:t.location;$(e=>{const l=[...e];return l[s]={...l[s],status:"completed",location:d,message:"Uploaded Successfully"},_(l),l})}else $(e=>{const l=[...e];return l[s]={...l[s],status:"failed",message:"Did not get pre-signed URLs"},l})}catch(n){$(e=>{const l=[...e];return l[s]={...l[s],status:"failed",message:n.message||"Internal Server Error"},l})}},fe=()=>{de.current&&(w.multiple?de.current.setAttribute("multiple","true"):de.current.removeAttribute("multiple"),de.current.click())},je=e=>{const s=e.target.files,l=Array.from(s).map(e=>{const s=e.name;return s.substring(0,s.lastIndexOf("."))||s})[0];ie(l),se(null==Q?void 0:Q.includes(l));const i=Array.from(s).map(e=>({file:e,isPrivate:!1,checkboxDisabled:!1,status:"pending",uploadProgress:0,fileSize:null==e?void 0:e.size,fileName:null==e?void 0:e.name,fileType:null==e?void 0:e.type,location:"",message:""}));$(e=>[...e,...i]),L(!1)},ye=e=>{$(s=>s.map((s,l)=>l===e?{...s,status:"canceled"}:s))},Ne=()=>{G(!Y),Y?B():z()},be=()=>{var e;M.length>0?confirm("Your uploads are not complete. Would you like to cancel all ongoing uploads?")&&(W.abort(),(null==(e=null==W?void 0:W.signal)?void 0:e.aborted)&&z(),$([])):z()};s.useEffect(()=>{T&&$([])},[T]);const Ce=()=>{se(!1)};/* @__PURE__ */
|
|
4
4
|
return e.jsxs(e.Fragment,{children:[
|
|
5
5
|
/* @__PURE__ */e.jsxs(v.default,{open:T,onClose:z,className:"upload",children:[
|
|
6
6
|
/* @__PURE__ */e.jsxs(x.default,{className:"upload--head",children:[
|
|
@@ -58,6 +58,6 @@ return e.jsxs("div",{className:"bottom-section",children:[
|
|
|
58
58
|
/* @__PURE__ */e.jsx(d.Avatar,{size:20,className:"avatar",src:c.images.upload.empty}),
|
|
59
59
|
/* @__PURE__ */e.jsx(d.Avatar,{size:20,onClick:()=>ye(l),src:c.images.upload.close,className:"close-icon"})]}),(null==s?void 0:s.uploadProgress)>0&&(null==s?void 0:s.uploadProgress)<100&&/* @__PURE__ */e.jsx(D.default,{color:"success",variant:"determinate",value:null==s?void 0:s.uploadProgress}),100===(null==s?void 0:s.uploadProgress)&&/* @__PURE__ */e.jsxs("div",{className:"avatar-container",children:[
|
|
60
60
|
/* @__PURE__ */e.jsx(d.Avatar,{size:20,className:"avatar",src:c.images.upload.tick}),
|
|
61
|
-
/* @__PURE__ */e.jsx(d.Avatar,{size:20,src:c.images.upload.folder,className:"close-icon"})]})]}):/* @__PURE__ */e.jsx(i.Typography,{type:"s4",className:"canceled-text",children:"Upload Canceled"})})]})]})})})]}),ee&&/* @__PURE__ */e.jsx(p.default,{title:le,open:ee,onClose:Ce,onReplace:async()=>{const e=null==F?void 0:F.filter(e=>e.title===le)[0].id,s={"Content-type":"application/json; charset=utf-8"},l=localStorage.getItem(m.auth.storageTokenKeyName)||"";s["x-token"]=l,await fetch(`
|
|
61
|
+
/* @__PURE__ */e.jsx(d.Avatar,{size:20,src:c.images.upload.folder,className:"close-icon"})]})]}):/* @__PURE__ */e.jsx(i.Typography,{type:"s4",className:"canceled-text",children:"Upload Canceled"})})]})]})})})]}),ee&&/* @__PURE__ */e.jsx(p.default,{title:le,open:ee,onClose:Ce,onReplace:async()=>{const e=null==F?void 0:F.filter(e=>e.title===le)[0].id,s={"Content-type":"application/json; charset=utf-8"},l=localStorage.getItem(m.auth.storageTokenKeyName)||"";s["x-token"]=l,await fetch(`http://127.0.0.1:4011/document/v1/drive/${e}`,{method:"DELETE",headers:s}),Ce()},onKeepBoth:()=>{Ce()},isFile:!0}),
|
|
62
62
|
/* @__PURE__ */e.jsx(t.default,{open:Boolean(ae),type:null==ae?void 0:ae.type,message:null==ae?void 0:ae.message,handleClose:()=>te(null),anchorOrigin:{horizontal:"right",vertical:"bottom"}})]})};
|
|
63
63
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/upload/upload.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Typography from \"../typography/typography\";\nimport Box from \"@mui/material/Box\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport \"./upload.scss\";\nimport { useDropzone } from \"react-dropzone\";\nimport Toast from '../toast/toast';\nimport {\n CircularProgress,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Divider,\n IconButton,\n} from \"@mui/material\";\nimport RemoveIcon from \"@mui/icons-material/Remove\";\nimport { Add } from \"@mui/icons-material\";\nimport Button from \"../button/button\";\nimport Checkbox from \"../checkbox/checkbox\";\nimport Avatar from \"../avatar/avatar\";\nimport images from \"../../assets/images\";\nimport Chip from \"../chip/chip\";\nimport { auth } from \"../../constants/auth\";\nimport { KeyboardArrowDown, KeyboardArrowUp, Clear } from \"@mui/icons-material\";\nimport FileConfirmationDialog from \"./file-confirmation\"\n\n\ninterface UploadProps {\n open: boolean;\n title: string;\n multiple?: boolean;\n accept?: string;\n onClose: () => void;\n onConfirm: () => void;\n onSubmit: (files: any[]) => void;\n existingDriveData?: any;\n fileUploaded?: (value: boolean) => void | undefined;\n type: any\n\n\n}\ninterface CustomNavigator extends Navigator {\n connection?: {\n downlink?: number;\n };\n}\nconst formatBytes = (bytes: number, decimals = 2) => {\n if (bytes === 0) return \"0 Bytes\";\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\n};\n\nconst Upload = (props: UploadProps) => {\n const {\n open,\n title,\n onClose,\n onConfirm,\n accept = \"*\",\n onSubmit,\n multiple = true,\n existingDriveData,\n fileUploaded , \n type\n \n } = props;\n\n const [files, setFiles] = useState<\n {\n file: File;\n isPrivate: boolean;\n checkboxDisabled: boolean;\n status: string;\n uploadProgress: number;\n fileSize: number;\n fileName: string;\n fileType: string;\n location: string;\n message: string;\n }[]\n >([]);\n\n interface IToast {\n type: 'normal' | 'alert';\n message: string;\n }\n const [isUploading, setIsUploading] = useState(false);\n const [isCollapsed, setIsCollapsed] = useState(false);\n const [isDialogMinimized, setIsDialogMinimized] = useState(false);\n const [isDragOver, setIsDragOver] = useState(false);\n const [abortController, setAbortController] = useState(new AbortController());\n const authToken = localStorage.getItem(auth.storageTokenKeyName);\n const [allDriveData, setAllDriveData] = useState();\n const [isConfirmDialogOpen, setIsConfirmDialogOpen] = useState(false);\n const [selectedFileTitle, setSelectedFileTitle] = useState();\n const [toast, setToast] = useState<IToast | null>(null);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDropAccepted: (newFiles) => {\n setFiles([\n ...files,\n ...newFiles.map((file) => ({\n file,\n isPrivate: false,\n checkboxDisabled: false,\n status: \"pending\",\n uploadProgress: 0,\n fileSize: file.size,\n fileName: file.name,\n fileType: file.type,\n location: \"\",\n message: \"\",\n })),\n ]);\n setIsDragOver(false);\n },\n onDragEnter: () => {\n setIsDragOver(true);\n },\n onDragLeave: () => {\n setIsDragOver(false);\n },\n noClick: true,\n noKeyboard: true,\n multiple: multiple,\n accept: accept ? convertAcceptObject(accept) : accept,\n });\n\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n const driveTitles = existingDriveData?.map(item => item['title'])\n setAllDriveData(driveTitles);\n }, [existingDriveData]);\n\n useEffect(() => {\n const handleBeforeUnload = (event: any) => {\n if (isUploading) {\n const message =\n \"Are you sure you want to leave? Your uploads are not complete.\";\n event.returnValue = message; // Standard for most browsers\n return message; // For some older browsers\n }\n };\n if (fileInputRef.current) {\n fileInputRef.current.multiple = multiple;\n }\n\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\n\n return () => {\n // Clean up the event listener when the component unmounts\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\n };\n }, [isUploading, multiple]);\n\n const getInternetSpeed = () => {\n const customNavigator = navigator as CustomNavigator;\n if (\"connection\" in customNavigator && customNavigator.connection) {\n return customNavigator.connection.downlink;\n } else {\n return null;\n }\n };\n\n function convertAcceptObject(types: string) {\n const accepts = types.split(\",\").map((item) => item.trim());\n const acceptObject = accepts.reduce((acc: any, type: string) => {\n acc[type] = [];\n return acc;\n }, {});\n return acceptObject;\n }\n\n const renderFileIcon = (file: any) => {\n const fileType = file?.type.split(\"/\")[0];\n switch (fileType) {\n case \"image\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#FFEBEB\" }}\n >\n <Avatar size={20} src={images.upload.documentPDF}></Avatar>\n </div>\n );\n case \"application\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#FFEBEB\" }}\n >\n <Avatar size={20} src={images.upload.documentPDF}></Avatar>\n </div>\n );\n case \"text\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#EBF9F2\" }}\n >\n <Avatar size={20} src={images.upload.docFile}></Avatar>\n </div>\n );\n default:\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#EBF9F2\" }}\n >\n <Avatar size={20} src={images.upload.docFile}></Avatar>\n </div>\n );\n }\n };\n\n const BASE_URL = `${import.meta.env.VITE_BACKEND_BASE_URL}/document/v1/file-upload/`;\n\n const handleConfirm = async () => {\n setIsUploading(true);\n // Create a new AbortController for each confirmation\n const controller = new AbortController();\n setAbortController(controller);\n \n const filteredFiles = files.filter((file : any) => file.status !== \"canceled\").length;\n for (let i = 0; i < files.length; i++) {\n if (files[i].uploadProgress === 100 || files[i].status !== \"pending\") {\n continue;\n }\n\n const file = files[i];\n \n const fileSize = file?.fileSize;\n try {\n if (fileSize > 10 * 1024 * 1024) {\n const uploadResponse = await handleMultipartUpload(file, i, controller);\n if (uploadResponse) {\n setTimeout(()=>{fileUploaded(true) } , 1000);\n }\n } else {\n await handleRegularUpload(file, i, controller, filteredFiles);\n }\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[i] = {\n ...updatedFiles[i],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n } finally {\n setIsUploading(false);\n }\n }\n };\n\n\n \n\n let tempCount = 0;\n const handleRegularUpload = async (\n file: any,\n index: number,\n controller: any,\n fileCount : number\n ) => {\n try {\n const format = ['docx', 'doc', 'csv', 'pdf', 'xls', 'xlsx', 'vnd.ms-excel', 'excel', 'txt'];\n const mimeType = file?.mimeType || file?.fileType || '';\n\t\t\tconst isValid = format.some(f => mimeType.includes(f));\n \n if (isValid && file?.fileSize && file?.fileSize >= 5242880) {\n return setToast({\n type: 'alert',\n message: 'File size must be within 5 MB!'\n });\n }\n const preSignedUrlsResponse = await fetch(\n `${BASE_URL}?key=${file?.fileName}&partCount=1&mimeType=${file?.fileType}&is_private=${!file?.isPrivate}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n \"file-size\": file?.fileSize,\n \"x-token\": authToken,\n },\n signal: controller.signal\n },\n );\n const preSignedUrlsData = await preSignedUrlsResponse.json();\n if (preSignedUrlsData?.status_code == 400) {\n // alert(preSignedUrlsData?.message);\n setToast({\n type: 'alert',\n message: preSignedUrlsData?.message\n });\n return;\n }\n const preSignedUrl = preSignedUrlsData.data?.preSignedData?.presignedUrl;\n const location = preSignedUrlsData.data?.preSignedData?.location;\n const partParams = {\n Body: file?.file.slice(0, file?.fileSize),\n url: preSignedUrl,\n };\n const contentLength = file.fileSize;\n // const maxChunkSize = 1024 * 1024 * 1024; // 10 MB maximum chunk size\n // const chunkSize = Math.min(contentLength * 0.1, maxChunkSize);\n const chunkSize = 1024 * 1024 * 1024 * 1024 // 1MB chunk size\n let bytesUploaded = 0;\n\n while (bytesUploaded < contentLength) {\n const start = bytesUploaded;\n const end = Math.min(bytesUploaded + chunkSize, contentLength);\n\n // Send chunk of the file\n await fetch(partParams.url, {\n method: \"PUT\",\n body: file.file.slice(start, end),\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n },\n });\n\n // Update progress\n bytesUploaded = end;\n const progress = Math.round((bytesUploaded / contentLength) * 100);\n\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n checkboxDisabled: true,\n status: \"uploading\",\n uploadProgress: progress,\n };\n return updatedFiles;\n });\n }\n \n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"completed\",\n location ,\n message: \"Uploaded Successfully\",\n };\n tempCount = tempCount + 1;\n \n if(fileCount == tempCount){\n onSubmit(updatedFiles);\n tempCount = 0;\n \n }\n return updatedFiles;\n });\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n }\n \n };\n\n const handleMultipartUpload = async (\n file: any,\n index: number,\n controller: any,\n ) => {\n\n try {\n const partSize =\n (getInternetSpeed() || 10) * 1024 * 1024 < 5 * 1024 * 1024\n ? 5 * 1024 * 1024\n : (getInternetSpeed() || 10) * 1024 * 1024;\n const parts = Math.ceil(file?.fileSize / partSize);\n const preSignedUrlsResponse = await fetch(\n `${BASE_URL}?key=${file?.fileName}&partCount=${parts}&mimeType=${file?.fileType}&is_private=${!file?.isPrivate}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n \"file-size\": file?.fileSize,\n \"x-token\": authToken,\n },\n signal: controller.signal,\n },\n );\n const preSignedUrlsData = await preSignedUrlsResponse.json();\n\n if (preSignedUrlsData && preSignedUrlsData?.status_code && preSignedUrlsData?.status_code == 400) {\n setToast({ message: preSignedUrlsData?.message || \"Internal Server Error\", type: \"error\" });\n return null;\n }\n\n const preSignedUrls = preSignedUrlsData.data.preSignedData?.preSignedUrls;\n if (preSignedUrls.length > 0) { \n const uploadId =\n preSignedUrls[0].presignedUrl.match(/uploadId=([^&]+)/)[1];\n for (let i = 0; i < preSignedUrls.length; i++) {\n const partNum = preSignedUrls[i].partNumber;\n const preSignedUrl = preSignedUrls[i].presignedUrl;\n const start = (partNum - 1) * partSize;\n const end = Math.min(start + partSize, file?.fileSize);\n const partParams = {\n Body: file?.file?.slice(start, end),\n url: preSignedUrl,\n };\n await fetch(partParams.url, {\n method: \"PUT\",\n body: partParams.Body,\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n },\n });\n const progress = Math.round(((i + 1) * 100) / parts);\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n checkboxDisabled: true,\n status: \"uploading\",\n uploadProgress: progress,\n };\n return updatedFiles;\n });\n }\n const markCompleteResponse = await fetch(`${BASE_URL}mark-complete`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-token\": authToken,\n },\n body: JSON.stringify({\n fileName: file?.fileName,\n uploadId: uploadId,\n }),\n });\n const markCompleteData = await markCompleteResponse.json();\n const location = markCompleteData?.data?.location;\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"completed\",\n location: location,\n message: \"Uploaded Successfully\",\n };\n \n onSubmit(updatedFiles);\n return updatedFiles;\n });\n } else {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: \"Did not get pre-signed URLs\",\n };\n return updatedFiles;\n });\n }\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n }\n };\n\n const handleChipClick = () => {\n if (fileInputRef.current) {\n // If multiple is true, set input for multiple files\n if (props.multiple) {\n fileInputRef.current.setAttribute(\"multiple\", \"true\");\n } else {\n // If multiple is false, set input for a single file\n fileInputRef.current.removeAttribute(\"multiple\");\n }\n fileInputRef.current.click();\n }\n };\n\n //checking if the file already exists or not in the drive \n const handleFileChange = (e: any) => {\n \n const selectedFiles = e.target.files;\n \n const fileTitles = Array.from(selectedFiles).map(file => {\n const fileName = file.name;\n const nameWithoutExtension = fileName.substring(0, fileName.lastIndexOf('.')) || fileName;\n return nameWithoutExtension;\n })[0];\n\n setSelectedFileTitle(fileTitles);\n\n setIsConfirmDialogOpen(allDriveData?.includes(fileTitles));\n const newFiles = Array.from(selectedFiles).map((file: any) => ({\n file,\n isPrivate: false,\n checkboxDisabled: false,\n status: \"pending\",\n uploadProgress: 0,\n fileSize: file?.size,\n fileName: file?.name,\n fileType: file?.type,\n location: \"\",\n message: \"\",\n }));\n setFiles((prevFiles: any) => [...prevFiles, ...newFiles]);\n setIsUploading(false);\n \n\n };\n\n const removeFile = (indexToRemove: number) => {\n \n setFiles((prevFiles) =>\n prevFiles.map((file, index) =>\n index === indexToRemove ? { ...file, status: \"canceled\" } : file,\n ),\n );\n\n };\n\n\n\n const toggleIsPrivate = (index: number) => {\n setFiles((prevFiles) =>\n prevFiles.map((item, i) =>\n i === index ? { ...item, isPrivate: !item.isPrivate } : item,\n ),\n );\n };\n\n const toggleCollapse = () => {\n setIsCollapsed((prevIsCollapsed) => !prevIsCollapsed);\n };\n\n const handleMinimizeClick = () => {\n setIsDialogMinimized(!isDialogMinimized);\n isDialogMinimized ? onConfirm() : onClose();\n };\n\n const handleDialogClose = () => {\n if (files.length > 0) {\n if (\n confirm(\n \"Your uploads are not complete. Would you like to cancel all ongoing uploads?\",\n )\n ) {\n // Abort the ongoing requests when the dialog is closed\n abortController.abort();\n if (abortController?.signal?.aborted) {\n onClose();\n }\n setFiles([]);\n }\n } else {\n onClose();\n }\n };\n useEffect(() => {\n open && setFiles([]);\n }, [open]);\n\n const onCloseConfirmPopup = () => {\n setIsConfirmDialogOpen(false);\n }\n\n const onReplace = async () => {\n const baseUrl = `${import.meta.env.VITE_BACKEND_BASE_URL}`;\n const fileId = existingDriveData?.filter(file => file.title === selectedFileTitle)[0].id;\n const headers = {\n \"Content-type\": \"application/json; charset=utf-8\",\n };\n const authToken = localStorage.getItem(auth.storageTokenKeyName) || '';\n headers[\"x-token\"] = authToken;\n await fetch(`${baseUrl}/document/v1/drive/${fileId}`, {\n method: \"DELETE\",\n headers,\n });\n\n onCloseConfirmPopup();\n }\n\n const onKeepBoth = () => {\n onCloseConfirmPopup();\n }\n return (\n <>\n <Dialog open={open} onClose={onClose} className=\"upload\">\n <DialogTitle className=\"upload--head\">\n <Box className=\"upload--title\">\n <Typography\n type=\"s3\"\n ml={1}\n weight=\"medium\"\n color=\"theme.secondary.1000\"\n >\n {title}\n </Typography>\n </Box>\n <div>\n <IconButton disableRipple onClick={handleMinimizeClick}>\n <RemoveIcon />\n </IconButton>\n <IconButton disableRipple onClick={handleDialogClose}>\n <CloseIcon />\n </IconButton>\n </div>\n </DialogTitle>\n <Divider />\n <DialogContent className=\"upload--content\">\n {files.length === 0 ? (\n <div\n className={`upload--fileContent ${isDragActive ? \"drag-active\" : \"\"\n }`}\n >\n <div {...getRootProps()} className=\"drop-view\">\n {!isDragOver ? (\n <>\n <input {...getInputProps()} ref={fileInputRef} />\n <p className=\"upload--text\">\n Drag and Drop files here or upload from\n </p>\n\n <div className=\"device-wrap\">\n <div className=\"select-button\" onClick={handleChipClick}>\n <img src={images.upload.monitor} />\n <Typography type=\"s5\">My Device</Typography>\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={async () => {\n // handleFileChange(e) ; \n handleConfirm();\n }}\n accept={accept}\n />\n </div>\n <div className=\"select-button\" onClick={handleChipClick}>\n <img src={images.upload.camera} />\n <Typography type=\"s5\">Camera</Typography>\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n accept={accept}\n />\n </div>\n </div>\n </>\n ) : (\n <div className=\"after-drop\">\n <img src={images.upload.documentUpload} />\n <Typography type=\"s3\">\n Drag & Drop your files here\n </Typography>\n </div>\n )}\n </div>\n </div>\n ) : (\n <div className=\"main-container\">\n <div className=\"body-section\">\n <div className=\"document-section\">\n <div className=\"document-body\">\n {files.map((file: any, index: number) => (\n <div className=\"upload-list\" key={index}>\n <div className=\"document-cover\" key={file?.file?.name}>\n <div className=\"document-name\">\n {renderFileIcon(file?.file)}\n <div className=\"document-title\">\n <div className=\"document-box\">\n <div className=\"document-desc\">\n {file?.file?.name}\n </div>\n <div className=\"document-size\">\n {formatBytes(file?.file?.size)}\n <span\n className={\n file?.status === \"completed\" &&\n file?.message.length > 0\n ? \"success-file\"\n : \"fail-file\"\n }\n >\n {file?.message}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div className=\"document-choices\">\n {file?.status !== \"canceled\" ? (\n <>\n <div className=\"checkbox\">\n <Checkbox\n checked={file?.isPrivate || type == 'public'}\n onChange={() => toggleIsPrivate(index)}\n disabled={file?.checkboxDisabled || type == 'public'}\n />\n <div className=\"checkbox-text\">Public</div>\n </div>\n <div\n className=\"delete-icon\"\n onClick={() => removeFile(index)}\n >\n <Avatar\n size={24}\n src={images.upload.trash}\n ></Avatar>\n </div>\n </>\n ) : (\n <Typography type=\"s4\" className=\"canceled-text\">\n Upload Canceled\n </Typography>\n )}\n </div>\n </div>\n <div className=\"document-progress\">\n {file?.uploadProgress > 0 && (\n <LinearProgress\n color=\"success\"\n variant=\"determinate\"\n value={file?.uploadProgress}\n />\n )}\n </div>\n </div>\n ))}\n </div>\n </div>\n {multiple && (\n <>\n <Chip\n className=\"add-file\"\n variant=\"outlined\"\n type=\"normal\"\n label={\"Add File\"}\n icon={<Add />}\n onClick={handleChipClick}\n />\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n accept={accept}\n />\n </>\n )}\n </div>\n </div>\n )}\n </DialogContent>\n <Divider />\n <DialogActions className=\"upload--actions\">\n <Button variant=\"text\" onClick={handleDialogClose}>\n Cancel\n </Button>\n <Button\n color=\"secondary\"\n onClick={handleConfirm}\n disabled={!files.length || isUploading}\n >\n Upload\n </Button>\n </DialogActions>\n </Dialog>\n {isDialogMinimized && (\n <div className=\"bottom-corner-box\">\n <div className=\"top-section\">\n <div className=\"top-text\">\n Uploading {files.length} Item{files.length !== 1 ? \"s\" : \"\"}\n </div>\n <div className=\"top-options\">\n <div className=\"btn\" onClick={handleMinimizeClick}>\n <RemoveIcon />\n </div>\n <div className=\"btn\" onClick={toggleCollapse}>\n <div className=\"arrow-btn\">\n {isCollapsed ? <KeyboardArrowUp /> : <KeyboardArrowDown />}\n </div>\n </div>\n <div className=\"btn\" onClick={handleDialogClose}>\n <Clear />\n </div>\n </div>\n </div>\n <div className=\"box-list\">\n {!isCollapsed &&\n files.map((file: any, index: number) => (\n <div className=\"bottom-section\">\n <div className=\"doc-icon\">{renderFileIcon(file?.file)}</div>\n <div className=\"file-detail\">\n <div className=\"file-name\">\n <div className=\"file-text\">\n {file?.file?.name}\n {index}\n </div>\n </div>\n <div className=\"file-status\">\n {file?.status !== \"canceled\" ? (\n <>\n {file.uploadProgress === 0 && (\n <div className=\"avatar-container\">\n <Avatar\n size={20}\n className=\"avatar\"\n src={images.upload.empty}\n ></Avatar>\n <Avatar\n size={20}\n onClick={() => removeFile(index)}\n src={images.upload.close}\n className=\"close-icon\"\n ></Avatar>\n </div>\n )}\n {file?.uploadProgress > 0 &&\n file?.uploadProgress < 100 && (\n <CircularProgress\n color=\"success\"\n variant=\"determinate\"\n value={file?.uploadProgress}\n />\n )}\n {file?.uploadProgress === 100 && (\n <div className=\"avatar-container\">\n <Avatar\n size={20}\n className=\"avatar\"\n src={images.upload.tick}\n ></Avatar>\n <Avatar\n size={20}\n src={images.upload.folder}\n className=\"close-icon\"\n ></Avatar>\n </div>\n )}\n </>\n ) : (\n <Typography type=\"s4\" className=\"canceled-text\">\n Upload Canceled\n </Typography>\n )}\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n {isConfirmDialogOpen && <FileConfirmationDialog title={selectedFileTitle} open={isConfirmDialogOpen} onClose={onCloseConfirmPopup} onReplace={onReplace} onKeepBoth={onKeepBoth} isFile = {true} />}\n\n <Toast\n open={Boolean(toast)}\n type={toast?.type}\n message={toast?.message}\n handleClose={() => setToast(null)}\n anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}\n />\n </>\n );\n};\n\nexport default Upload;\n"],"names":["formatBytes","bytes","decimals","dm","i","Math","floor","log","parseFloat","pow","toFixed","props","open","title","onClose","onConfirm","accept","onSubmit","multiple","existingDriveData","fileUploaded","type","files","setFiles","useState","isUploading","setIsUploading","isCollapsed","setIsCollapsed","isDialogMinimized","setIsDialogMinimized","isDragOver","setIsDragOver","abortController","setAbortController","AbortController","authToken","localStorage","getItem","auth","storageTokenKeyName","allDriveData","setAllDriveData","isConfirmDialogOpen","setIsConfirmDialogOpen","selectedFileTitle","setSelectedFileTitle","toast","setToast","getRootProps","getInputProps","isDragActive","useDropzone","onDropAccepted","newFiles","map","file","isPrivate","checkboxDisabled","status","uploadProgress","fileSize","size","fileName","name","fileType","location","message","onDragEnter","onDragLeave","noClick","noKeyboard","types","split","item","trim","reduce","acc","fileInputRef","useRef","useEffect","driveTitles","handleBeforeUnload","event","returnValue","current","window","addEventListener","removeEventListener","getInternetSpeed","customNavigator","navigator","connection","downlink","renderFileIcon","jsx","className","style","backgroundColor","children","Avatar","src","images","upload","documentPDF","docFile","BASE_URL","handleConfirm","async","controller","filteredFiles","filter","length","handleMultipartUpload","setTimeout","handleRegularUpload","error","prevFiles","updatedFiles","tempCount","index","fileCount","format","mimeType","some","includes","f","preSignedUrlsResponse","fetch","headers","signal","preSignedUrlsData","json","status_code","preSignedUrl","_b","_a","data","preSignedData","presignedUrl","_d","_c","partParams","Body","slice","url","contentLength","chunkSize","bytesUploaded","start","end","min","method","body","progress","round","partSize","parts","ceil","preSignedUrls","uploadId","match","partNum","partNumber","markCompleteResponse","JSON","stringify","markCompleteData","handleChipClick","setAttribute","removeAttribute","click","handleFileChange","e","selectedFiles","target","fileTitles","Array","from","substring","lastIndexOf","removeFile","indexToRemove","handleMinimizeClick","handleDialogClose","confirm","abort","aborted","onCloseConfirmPopup","jsxs","Fragment","Dialog","DialogTitle","Box","Typography","ml","weight","color","IconButton","disableRipple","onClick","RemoveIcon","CloseIcon","Divider","DialogContent","documentUpload","ref","monitor","display","onChange","camera","Checkbox","checked","toggleIsPrivate","disabled","trash","LinearProgress","variant","value","Chip","label","icon","Add","DialogActions","Button","prevIsCollapsed","KeyboardArrowUp","KeyboardArrowDown","Clear","empty","close","CircularProgress","tick","folder","FileConfirmationDialog","onReplace","fileId","id","onKeepBoth","isFile","Toast","Boolean","handleClose","anchorOrigin","horizontal","vertical"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/upload/upload.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from \"react\";\n\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport Typography from \"../typography/typography\";\nimport Box from \"@mui/material/Box\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport \"./upload.scss\";\nimport { useDropzone } from \"react-dropzone\";\nimport Toast from '../toast/toast';\nimport {\n CircularProgress,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n Divider,\n IconButton,\n} from \"@mui/material\";\nimport RemoveIcon from \"@mui/icons-material/Remove\";\nimport { Add } from \"@mui/icons-material\";\nimport Button from \"../button/button\";\nimport Checkbox from \"../checkbox/checkbox\";\nimport Avatar from \"../avatar/avatar\";\nimport images from \"../../assets/images\";\nimport Chip from \"../chip/chip\";\nimport { auth } from \"../../constants/auth\";\nimport { KeyboardArrowDown, KeyboardArrowUp, Clear } from \"@mui/icons-material\";\nimport FileConfirmationDialog from \"./file-confirmation\"\n\n\ninterface UploadProps {\n open: boolean;\n title: string;\n multiple?: boolean;\n accept?: string;\n onClose: () => void;\n onConfirm: () => void;\n onSubmit: (files: any[]) => void;\n existingDriveData?: any;\n fileUploaded?: (value: boolean) => void | undefined;\n type: any\n\n\n}\ninterface CustomNavigator extends Navigator {\n connection?: {\n downlink?: number;\n };\n}\nconst formatBytes = (bytes: number, decimals = 2) => {\n if (bytes === 0) return \"0 Bytes\";\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\n};\n\nconst Upload = (props: UploadProps) => {\n const {\n open,\n title,\n onClose,\n onConfirm,\n accept = \"*\",\n onSubmit,\n multiple = true,\n existingDriveData,\n fileUploaded , \n type\n \n } = props;\n\n const [files, setFiles] = useState<\n {\n file: File;\n isPrivate: boolean;\n checkboxDisabled: boolean;\n status: string;\n uploadProgress: number;\n fileSize: number;\n fileName: string;\n fileType: string;\n location: string;\n message: string;\n }[]\n >([]);\n\n interface IToast {\n type: 'normal' | 'alert';\n message: string;\n }\n const [isUploading, setIsUploading] = useState(false);\n const [isCollapsed, setIsCollapsed] = useState(false);\n const [isDialogMinimized, setIsDialogMinimized] = useState(false);\n const [isDragOver, setIsDragOver] = useState(false);\n const [abortController, setAbortController] = useState(new AbortController());\n const authToken = localStorage.getItem(auth.storageTokenKeyName);\n const [allDriveData, setAllDriveData] = useState();\n const [isConfirmDialogOpen, setIsConfirmDialogOpen] = useState(false);\n const [selectedFileTitle, setSelectedFileTitle] = useState();\n const [toast, setToast] = useState<IToast | null>(null);\n\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n onDropAccepted: (newFiles) => {\n setFiles([\n ...files,\n ...newFiles.map((file) => ({\n file,\n isPrivate: false,\n checkboxDisabled: false,\n status: \"pending\",\n uploadProgress: 0,\n fileSize: file.size,\n fileName: file.name,\n fileType: file.type,\n location: \"\",\n message: \"\",\n })),\n ]);\n setIsDragOver(false);\n },\n onDragEnter: () => {\n setIsDragOver(true);\n },\n onDragLeave: () => {\n setIsDragOver(false);\n },\n noClick: true,\n noKeyboard: true,\n multiple: multiple,\n accept: accept ? convertAcceptObject(accept) : accept,\n });\n\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n const driveTitles = existingDriveData?.map(item => item['title'])\n setAllDriveData(driveTitles);\n }, [existingDriveData]);\n\n useEffect(() => {\n const handleBeforeUnload = (event: any) => {\n if (isUploading) {\n const message =\n \"Are you sure you want to leave? Your uploads are not complete.\";\n event.returnValue = message; // Standard for most browsers\n return message; // For some older browsers\n }\n };\n if (fileInputRef.current) {\n fileInputRef.current.multiple = multiple;\n }\n\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\n\n return () => {\n // Clean up the event listener when the component unmounts\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\n };\n }, [isUploading, multiple]);\n\n const getInternetSpeed = () => {\n const customNavigator = navigator as CustomNavigator;\n if (\"connection\" in customNavigator && customNavigator.connection) {\n return customNavigator.connection.downlink;\n } else {\n return null;\n }\n };\n\n function convertAcceptObject(types: string) {\n const accepts = types.split(\",\").map((item) => item.trim());\n const acceptObject = accepts.reduce((acc: any, type: string) => {\n acc[type] = [];\n return acc;\n }, {});\n return acceptObject;\n }\n\n const renderFileIcon = (file: any) => {\n const fileType = file?.type.split(\"/\")[0];\n switch (fileType) {\n case \"image\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#FFEBEB\" }}\n >\n <Avatar size={20} src={images.upload.documentPDF}></Avatar>\n </div>\n );\n case \"application\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#FFEBEB\" }}\n >\n <Avatar size={20} src={images.upload.documentPDF}></Avatar>\n </div>\n );\n case \"text\":\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#EBF9F2\" }}\n >\n <Avatar size={20} src={images.upload.docFile}></Avatar>\n </div>\n );\n default:\n return (\n <div\n className={\n isDialogMinimized ? \"document-icon-sm\" : \"document-icon-lg\"\n }\n style={{ backgroundColor: \"#EBF9F2\" }}\n >\n <Avatar size={20} src={images.upload.docFile}></Avatar>\n </div>\n );\n }\n };\n\n const BASE_URL = `${import.meta.env.VITE_BACKEND_BASE_URL}/document/v1/file-upload/`;\n\n const handleConfirm = async () => {\n setIsUploading(true);\n // Create a new AbortController for each confirmation\n const controller = new AbortController();\n setAbortController(controller);\n \n const filteredFiles = files.filter((file : any) => file.status !== \"canceled\").length;\n for (let i = 0; i < files.length; i++) {\n if (files[i].uploadProgress === 100 || files[i].status !== \"pending\") {\n continue;\n }\n\n const file = files[i];\n \n const fileSize = file?.fileSize;\n try {\n if (fileSize > 10 * 1024 * 1024) {\n const uploadResponse = await handleMultipartUpload(file, i, controller);\n if (uploadResponse) {\n setTimeout(()=>{fileUploaded(true) } , 1000);\n }\n } else {\n await handleRegularUpload(file, i, controller, filteredFiles);\n }\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[i] = {\n ...updatedFiles[i],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n } finally {\n setIsUploading(false);\n }\n }\n };\n\n\n \n\n let tempCount = 0;\n const handleRegularUpload = async (\n file: any,\n index: number,\n controller: any,\n fileCount : number\n ) => {\n try {\n const format = ['docx', 'doc', 'csv', 'pdf', 'xls', 'xlsx', 'vnd.ms-excel', 'excel', 'txt'];\n const mimeType = file?.mimeType || file?.fileType || '';\n\t\t\tconst isValid = format.some(f => mimeType.includes(f));\n \n if (isValid && file?.fileSize && file?.fileSize >= 5242880) {\n return setToast({\n type: 'alert',\n message: 'File size must be within 5 MB!'\n });\n }\n const preSignedUrlsResponse = await fetch(\n `${BASE_URL}?key=${file?.fileName}&partCount=1&mimeType=${file?.fileType}&is_private=${!file?.isPrivate}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n \"file-size\": file?.fileSize,\n \"x-token\": authToken,\n },\n signal: controller.signal\n },\n );\n const preSignedUrlsData = await preSignedUrlsResponse.json();\n if (preSignedUrlsData?.status_code == 400) {\n // alert(preSignedUrlsData?.message);\n setToast({\n type: 'alert',\n message: preSignedUrlsData?.message\n });\n return;\n }\n const preSignedUrl = preSignedUrlsData.data?.preSignedData?.presignedUrl;\n const location = preSignedUrlsData.data?.preSignedData?.location;\n const partParams = {\n Body: file?.file.slice(0, file?.fileSize),\n url: preSignedUrl,\n };\n const contentLength = file.fileSize;\n // const maxChunkSize = 1024 * 1024 * 1024; // 10 MB maximum chunk size\n // const chunkSize = Math.min(contentLength * 0.1, maxChunkSize);\n const chunkSize = 1024 * 1024 * 1024 * 1024 // 1MB chunk size\n let bytesUploaded = 0;\n\n while (bytesUploaded < contentLength) {\n const start = bytesUploaded;\n const end = Math.min(bytesUploaded + chunkSize, contentLength);\n\n // Send chunk of the file\n await fetch(partParams.url, {\n method: \"PUT\",\n body: file.file.slice(start, end),\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n },\n });\n\n // Update progress\n bytesUploaded = end;\n const progress = Math.round((bytesUploaded / contentLength) * 100);\n\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n checkboxDisabled: true,\n status: \"uploading\",\n uploadProgress: progress,\n };\n return updatedFiles;\n });\n }\n \n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"completed\",\n location ,\n message: \"Uploaded Successfully\",\n };\n tempCount = tempCount + 1;\n \n if(fileCount == tempCount){\n onSubmit(updatedFiles);\n tempCount = 0;\n \n }\n return updatedFiles;\n });\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n }\n \n };\n\n const handleMultipartUpload = async (\n file: any,\n index: number,\n controller: any,\n ) => {\n\n try {\n const partSize =\n (getInternetSpeed() || 10) * 1024 * 1024 < 5 * 1024 * 1024\n ? 5 * 1024 * 1024\n : (getInternetSpeed() || 10) * 1024 * 1024;\n const parts = Math.ceil(file?.fileSize / partSize);\n const preSignedUrlsResponse = await fetch(\n `${BASE_URL}?key=${file?.fileName}&partCount=${parts}&mimeType=${file?.fileType}&is_private=${!file?.isPrivate}`,\n {\n headers: {\n \"Content-Type\": \"application/json\",\n \"file-size\": file?.fileSize,\n \"x-token\": authToken,\n },\n signal: controller.signal,\n },\n );\n const preSignedUrlsData = await preSignedUrlsResponse.json();\n\n if (preSignedUrlsData && preSignedUrlsData?.status_code && preSignedUrlsData?.status_code == 400) {\n setToast({ message: preSignedUrlsData?.message || \"Internal Server Error\", type: \"error\" });\n return null;\n }\n\n const preSignedUrls = preSignedUrlsData.data.preSignedData?.preSignedUrls;\n if (preSignedUrls.length > 0) { \n const uploadId =\n preSignedUrls[0].presignedUrl.match(/uploadId=([^&]+)/)[1];\n for (let i = 0; i < preSignedUrls.length; i++) {\n const partNum = preSignedUrls[i].partNumber;\n const preSignedUrl = preSignedUrls[i].presignedUrl;\n const start = (partNum - 1) * partSize;\n const end = Math.min(start + partSize, file?.fileSize);\n const partParams = {\n Body: file?.file?.slice(start, end),\n url: preSignedUrl,\n };\n await fetch(partParams.url, {\n method: \"PUT\",\n body: partParams.Body,\n headers: {\n \"Content-Type\": \"application/octet-stream\",\n },\n });\n const progress = Math.round(((i + 1) * 100) / parts);\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n checkboxDisabled: true,\n status: \"uploading\",\n uploadProgress: progress,\n };\n return updatedFiles;\n });\n }\n const markCompleteResponse = await fetch(`${BASE_URL}mark-complete`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n \"x-token\": authToken,\n },\n body: JSON.stringify({\n fileName: file?.fileName,\n uploadId: uploadId,\n }),\n });\n const markCompleteData = await markCompleteResponse.json();\n const location = markCompleteData?.data?.location;\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"completed\",\n location: location,\n message: \"Uploaded Successfully\",\n };\n \n onSubmit(updatedFiles);\n return updatedFiles;\n });\n } else {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: \"Did not get pre-signed URLs\",\n };\n return updatedFiles;\n });\n }\n } catch (error: any) {\n setFiles((prevFiles) => {\n const updatedFiles = [...prevFiles];\n updatedFiles[index] = {\n ...updatedFiles[index],\n status: \"failed\",\n message: error.message || \"Internal Server Error\",\n };\n return updatedFiles;\n });\n }\n };\n\n const handleChipClick = () => {\n if (fileInputRef.current) {\n // If multiple is true, set input for multiple files\n if (props.multiple) {\n fileInputRef.current.setAttribute(\"multiple\", \"true\");\n } else {\n // If multiple is false, set input for a single file\n fileInputRef.current.removeAttribute(\"multiple\");\n }\n fileInputRef.current.click();\n }\n };\n\n //checking if the file already exists or not in the drive \n const handleFileChange = (e: any) => {\n \n const selectedFiles = e.target.files;\n \n const fileTitles = Array.from(selectedFiles).map(file => {\n const fileName = file.name;\n const nameWithoutExtension = fileName.substring(0, fileName.lastIndexOf('.')) || fileName;\n return nameWithoutExtension;\n })[0];\n\n setSelectedFileTitle(fileTitles);\n\n setIsConfirmDialogOpen(allDriveData?.includes(fileTitles));\n const newFiles = Array.from(selectedFiles).map((file: any) => ({\n file,\n isPrivate: false,\n checkboxDisabled: false,\n status: \"pending\",\n uploadProgress: 0,\n fileSize: file?.size,\n fileName: file?.name,\n fileType: file?.type,\n location: \"\",\n message: \"\",\n }));\n setFiles((prevFiles: any) => [...prevFiles, ...newFiles]);\n setIsUploading(false);\n \n\n };\n\n const removeFile = (indexToRemove: number) => {\n \n setFiles((prevFiles) =>\n prevFiles.map((file, index) =>\n index === indexToRemove ? { ...file, status: \"canceled\" } : file,\n ),\n );\n\n };\n\n\n\n const toggleIsPrivate = (index: number) => {\n setFiles((prevFiles) =>\n prevFiles.map((item, i) =>\n i === index ? { ...item, isPrivate: !item.isPrivate } : item,\n ),\n );\n };\n\n const toggleCollapse = () => {\n setIsCollapsed((prevIsCollapsed) => !prevIsCollapsed);\n };\n\n const handleMinimizeClick = () => {\n setIsDialogMinimized(!isDialogMinimized);\n isDialogMinimized ? onConfirm() : onClose();\n };\n\n const handleDialogClose = () => {\n if (files.length > 0) {\n if (\n confirm(\n \"Your uploads are not complete. Would you like to cancel all ongoing uploads?\",\n )\n ) {\n // Abort the ongoing requests when the dialog is closed\n abortController.abort();\n if (abortController?.signal?.aborted) {\n onClose();\n }\n setFiles([]);\n }\n } else {\n onClose();\n }\n };\n useEffect(() => {\n open && setFiles([]);\n }, [open]);\n\n const onCloseConfirmPopup = () => {\n setIsConfirmDialogOpen(false);\n }\n\n const onReplace = async () => {\n const baseUrl = `${import.meta.env.VITE_BACKEND_BASE_URL}`;\n const fileId = existingDriveData?.filter(file => file.title === selectedFileTitle)[0].id;\n const headers = {\n \"Content-type\": \"application/json; charset=utf-8\",\n };\n const authToken = localStorage.getItem(auth.storageTokenKeyName) || '';\n headers[\"x-token\"] = authToken;\n await fetch(`${baseUrl}/document/v1/drive/${fileId}`, {\n method: \"DELETE\",\n headers,\n });\n\n onCloseConfirmPopup();\n }\n\n const onKeepBoth = () => {\n onCloseConfirmPopup();\n }\n return (\n <>\n <Dialog open={open} onClose={onClose} className=\"upload\">\n <DialogTitle className=\"upload--head\">\n <Box className=\"upload--title\">\n <Typography\n type=\"s3\"\n ml={1}\n weight=\"medium\"\n color=\"theme.secondary.1000\"\n >\n {title}\n </Typography>\n </Box>\n <div>\n <IconButton disableRipple onClick={handleMinimizeClick}>\n <RemoveIcon />\n </IconButton>\n <IconButton disableRipple onClick={handleDialogClose}>\n <CloseIcon />\n </IconButton>\n </div>\n </DialogTitle>\n <Divider />\n <DialogContent className=\"upload--content\">\n {files.length === 0 ? (\n <div\n className={`upload--fileContent ${isDragActive ? \"drag-active\" : \"\"\n }`}\n >\n <div {...getRootProps()} className=\"drop-view\">\n {!isDragOver ? (\n <>\n <input {...getInputProps()} ref={fileInputRef} />\n <p className=\"upload--text\">\n Drag and Drop files here or upload from\n </p>\n\n <div className=\"device-wrap\">\n <div className=\"select-button\" onClick={handleChipClick}>\n <img src={images.upload.monitor} />\n <Typography type=\"s5\">My Device</Typography>\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={async () => {\n // handleFileChange(e) ; \n handleConfirm();\n }}\n accept={accept}\n />\n </div>\n <div className=\"select-button\" onClick={handleChipClick}>\n <img src={images.upload.camera} />\n <Typography type=\"s5\">Camera</Typography>\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n accept={accept}\n />\n </div>\n </div>\n </>\n ) : (\n <div className=\"after-drop\">\n <img src={images.upload.documentUpload} />\n <Typography type=\"s3\">\n Drag & Drop your files here\n </Typography>\n </div>\n )}\n </div>\n </div>\n ) : (\n <div className=\"main-container\">\n <div className=\"body-section\">\n <div className=\"document-section\">\n <div className=\"document-body\">\n {files.map((file: any, index: number) => (\n <div className=\"upload-list\" key={index}>\n <div className=\"document-cover\" key={file?.file?.name}>\n <div className=\"document-name\">\n {renderFileIcon(file?.file)}\n <div className=\"document-title\">\n <div className=\"document-box\">\n <div className=\"document-desc\">\n {file?.file?.name}\n </div>\n <div className=\"document-size\">\n {formatBytes(file?.file?.size)}\n <span\n className={\n file?.status === \"completed\" &&\n file?.message.length > 0\n ? \"success-file\"\n : \"fail-file\"\n }\n >\n {file?.message}\n </span>\n </div>\n </div>\n </div>\n </div>\n <div className=\"document-choices\">\n {file?.status !== \"canceled\" ? (\n <>\n <div className=\"checkbox\">\n <Checkbox\n checked={file?.isPrivate || type == 'public'}\n onChange={() => toggleIsPrivate(index)}\n disabled={file?.checkboxDisabled || type == 'public'}\n />\n <div className=\"checkbox-text\">Public</div>\n </div>\n <div\n className=\"delete-icon\"\n onClick={() => removeFile(index)}\n >\n <Avatar\n size={24}\n src={images.upload.trash}\n ></Avatar>\n </div>\n </>\n ) : (\n <Typography type=\"s4\" className=\"canceled-text\">\n Upload Canceled\n </Typography>\n )}\n </div>\n </div>\n <div className=\"document-progress\">\n {file?.uploadProgress > 0 && (\n <LinearProgress\n color=\"success\"\n variant=\"determinate\"\n value={file?.uploadProgress}\n />\n )}\n </div>\n </div>\n ))}\n </div>\n </div>\n {multiple && (\n <>\n <Chip\n className=\"add-file\"\n variant=\"outlined\"\n type=\"normal\"\n label={\"Add File\"}\n icon={<Add />}\n onClick={handleChipClick}\n />\n <input\n type=\"file\"\n {...getInputProps({ multiple: true })}\n ref={fileInputRef}\n style={{ display: \"none\" }}\n onChange={handleFileChange}\n accept={accept}\n />\n </>\n )}\n </div>\n </div>\n )}\n </DialogContent>\n <Divider />\n <DialogActions className=\"upload--actions\">\n <Button variant=\"text\" onClick={handleDialogClose}>\n Cancel\n </Button>\n <Button\n color=\"secondary\"\n onClick={handleConfirm}\n disabled={!files.length || isUploading}\n >\n Upload\n </Button>\n </DialogActions>\n </Dialog>\n {isDialogMinimized && (\n <div className=\"bottom-corner-box\">\n <div className=\"top-section\">\n <div className=\"top-text\">\n Uploading {files.length} Item{files.length !== 1 ? \"s\" : \"\"}\n </div>\n <div className=\"top-options\">\n <div className=\"btn\" onClick={handleMinimizeClick}>\n <RemoveIcon />\n </div>\n <div className=\"btn\" onClick={toggleCollapse}>\n <div className=\"arrow-btn\">\n {isCollapsed ? <KeyboardArrowUp /> : <KeyboardArrowDown />}\n </div>\n </div>\n <div className=\"btn\" onClick={handleDialogClose}>\n <Clear />\n </div>\n </div>\n </div>\n <div className=\"box-list\">\n {!isCollapsed &&\n files.map((file: any, index: number) => (\n <div className=\"bottom-section\">\n <div className=\"doc-icon\">{renderFileIcon(file?.file)}</div>\n <div className=\"file-detail\">\n <div className=\"file-name\">\n <div className=\"file-text\">\n {file?.file?.name}\n {index}\n </div>\n </div>\n <div className=\"file-status\">\n {file?.status !== \"canceled\" ? (\n <>\n {file.uploadProgress === 0 && (\n <div className=\"avatar-container\">\n <Avatar\n size={20}\n className=\"avatar\"\n src={images.upload.empty}\n ></Avatar>\n <Avatar\n size={20}\n onClick={() => removeFile(index)}\n src={images.upload.close}\n className=\"close-icon\"\n ></Avatar>\n </div>\n )}\n {file?.uploadProgress > 0 &&\n file?.uploadProgress < 100 && (\n <CircularProgress\n color=\"success\"\n variant=\"determinate\"\n value={file?.uploadProgress}\n />\n )}\n {file?.uploadProgress === 100 && (\n <div className=\"avatar-container\">\n <Avatar\n size={20}\n className=\"avatar\"\n src={images.upload.tick}\n ></Avatar>\n <Avatar\n size={20}\n src={images.upload.folder}\n className=\"close-icon\"\n ></Avatar>\n </div>\n )}\n </>\n ) : (\n <Typography type=\"s4\" className=\"canceled-text\">\n Upload Canceled\n </Typography>\n )}\n </div>\n </div>\n </div>\n ))}\n </div>\n </div>\n )}\n {isConfirmDialogOpen && <FileConfirmationDialog title={selectedFileTitle} open={isConfirmDialogOpen} onClose={onCloseConfirmPopup} onReplace={onReplace} onKeepBoth={onKeepBoth} isFile = {true} />}\n\n <Toast\n open={Boolean(toast)}\n type={toast?.type}\n message={toast?.message}\n handleClose={() => setToast(null)}\n anchorOrigin={{ horizontal: 'right', vertical: 'bottom' }}\n />\n </>\n );\n};\n\nexport default Upload;\n"],"names":["formatBytes","bytes","decimals","dm","i","Math","floor","log","parseFloat","pow","toFixed","props","open","title","onClose","onConfirm","accept","onSubmit","multiple","existingDriveData","fileUploaded","type","files","setFiles","useState","isUploading","setIsUploading","isCollapsed","setIsCollapsed","isDialogMinimized","setIsDialogMinimized","isDragOver","setIsDragOver","abortController","setAbortController","AbortController","authToken","localStorage","getItem","auth","storageTokenKeyName","allDriveData","setAllDriveData","isConfirmDialogOpen","setIsConfirmDialogOpen","selectedFileTitle","setSelectedFileTitle","toast","setToast","getRootProps","getInputProps","isDragActive","useDropzone","onDropAccepted","newFiles","map","file","isPrivate","checkboxDisabled","status","uploadProgress","fileSize","size","fileName","name","fileType","location","message","onDragEnter","onDragLeave","noClick","noKeyboard","types","split","item","trim","reduce","acc","fileInputRef","useRef","useEffect","driveTitles","handleBeforeUnload","event","returnValue","current","window","addEventListener","removeEventListener","getInternetSpeed","customNavigator","navigator","connection","downlink","renderFileIcon","jsx","className","style","backgroundColor","children","Avatar","src","images","upload","documentPDF","docFile","BASE_URL","handleConfirm","async","controller","filteredFiles","filter","length","handleMultipartUpload","setTimeout","handleRegularUpload","error","prevFiles","updatedFiles","tempCount","index","fileCount","format","mimeType","some","includes","f","preSignedUrlsResponse","fetch","headers","signal","preSignedUrlsData","json","status_code","preSignedUrl","_b","_a","data","preSignedData","presignedUrl","_d","_c","partParams","Body","slice","url","contentLength","chunkSize","bytesUploaded","start","end","min","method","body","progress","round","partSize","parts","ceil","preSignedUrls","uploadId","match","partNum","partNumber","markCompleteResponse","JSON","stringify","markCompleteData","handleChipClick","setAttribute","removeAttribute","click","handleFileChange","e","selectedFiles","target","fileTitles","Array","from","substring","lastIndexOf","removeFile","indexToRemove","handleMinimizeClick","handleDialogClose","confirm","abort","aborted","onCloseConfirmPopup","jsxs","Fragment","Dialog","DialogTitle","Box","Typography","ml","weight","color","IconButton","disableRipple","onClick","RemoveIcon","CloseIcon","Divider","DialogContent","documentUpload","ref","monitor","display","onChange","camera","Checkbox","checked","toggleIsPrivate","disabled","trash","LinearProgress","variant","value","Chip","label","icon","Add","DialogActions","Button","prevIsCollapsed","KeyboardArrowUp","KeyboardArrowDown","Clear","empty","close","CircularProgress","tick","folder","FileConfirmationDialog","onReplace","fileId","id","onKeepBoth","isFile","Toast","Boolean","handleClose","anchorOrigin","horizontal","vertical"],"mappings":"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"}
|
|
@@ -29,7 +29,7 @@ const defaultProvider = {
|
|
|
29
29
|
changeUserPassword: () => Promise.resolve()
|
|
30
30
|
};
|
|
31
31
|
const AuthContext = createContext(defaultProvider);
|
|
32
|
-
setBaseUrl(`${"
|
|
32
|
+
setBaseUrl(`${"http://127.0.0.1:4011"}/rbac`);
|
|
33
33
|
const AuthProvider = ({ children }) => {
|
|
34
34
|
const [user, setUser] = useState(defaultProvider.user);
|
|
35
35
|
const [authToken, setAuthToken] = useState("");
|