oa-componentbook 0.0.0-sit1.1
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/README.md +92 -0
- package/build/MockData.js +2311 -0
- package/build/components/oa-component-accordion/Accordion.js +195 -0
- package/build/components/oa-component-accordion/styles.js +13 -0
- package/build/components/oa-component-auto-complete/CustomAutoComplete.js +167 -0
- package/build/components/oa-component-bar-chart/BarChart.js +295 -0
- package/build/components/oa-component-bread-crumb/CustomBreadCrumb.js +47 -0
- package/build/components/oa-component-button/CustomButton.js +108 -0
- package/build/components/oa-component-button/styles.js +41 -0
- package/build/components/oa-component-checkbox/CustomCheckBox.js +115 -0
- package/build/components/oa-component-checkbox/styles.js +12 -0
- package/build/components/oa-component-count-card/CustomCountCard.js +74 -0
- package/build/components/oa-component-count-card/styles.js +12 -0
- package/build/components/oa-component-datepicker/CustomDatePicker.js +134 -0
- package/build/components/oa-component-demo-border-radius/BorderRadiusDemo.js +35 -0
- package/build/components/oa-component-demo-border-radius/styles.js +12 -0
- package/build/components/oa-component-demo-color-variables/ColorVariablesDemo.js +34 -0
- package/build/components/oa-component-demo-color-variables/styles.js +12 -0
- package/build/components/oa-component-demo-elevation/ElevationDemo.js +22 -0
- package/build/components/oa-component-demo-elevation/styles.js +12 -0
- package/build/components/oa-component-demo-spacing/SpacingScales.js +26 -0
- package/build/components/oa-component-demo-spacing/styles.js +259 -0
- package/build/components/oa-component-drawer/CustomDrawer.js +178 -0
- package/build/components/oa-component-drawer/styles.js +16 -0
- package/build/components/oa-component-dropdown/CustomDropdown.js +102 -0
- package/build/components/oa-component-dropdown/customClass.css +9 -0
- package/build/components/oa-component-dropdown/styles.js +12 -0
- package/build/components/oa-component-feedback-form/FeedbackForm.js +75 -0
- package/build/components/oa-component-feedback-tooltip/FeedbackTooltip.js +69 -0
- package/build/components/oa-component-form-item/CustomFormItem.js +74 -0
- package/build/components/oa-component-header/CustomHeader.js +104 -0
- package/build/components/oa-component-header/styles.js +12 -0
- package/build/components/oa-component-icons/CustomIcon.js +92 -0
- package/build/components/oa-component-icons/MaterialIcon.js +70 -0
- package/build/components/oa-component-icons/SizedSvg.js +42 -0
- package/build/components/oa-component-info/CustomInfo.js +119 -0
- package/build/components/oa-component-info/styles.js +15 -0
- package/build/components/oa-component-input/CustomInput.js +131 -0
- package/build/components/oa-component-input-number/CustomInputNumber.js +140 -0
- package/build/components/oa-component-lable/CustomLable.js +37 -0
- package/build/components/oa-component-lable/styles.js +12 -0
- package/build/components/oa-component-loader/CustomLoader.js +66 -0
- package/build/components/oa-component-modal/CustomModal.js +153 -0
- package/build/components/oa-component-modal/styles.js +14 -0
- package/build/components/oa-component-notification/CustomNotification.js +152 -0
- package/build/components/oa-component-notification/styles.js +12 -0
- package/build/components/oa-component-notification/usage-example.md +44 -0
- package/build/components/oa-component-pagination/CustomPagination.js +111 -0
- package/build/components/oa-component-pagination/styles.js +12 -0
- package/build/components/oa-component-popover/CustomPopover.js +58 -0
- package/build/components/oa-component-progress-bar/CustomProgressBar.js +68 -0
- package/build/components/oa-component-progress-bar/styles.js +12 -0
- package/build/components/oa-component-radio/CustomRadio.js +112 -0
- package/build/components/oa-component-radio/styles.js +13 -0
- package/build/components/oa-component-rating/CustomRating.js +13 -0
- package/build/components/oa-component-select/CustomSelect.js +432 -0
- package/build/components/oa-component-steps/CustomSteps.js +117 -0
- package/build/components/oa-component-steps/styles.js +12 -0
- package/build/components/oa-component-table/CustomTable.js +300 -0
- package/build/components/oa-component-table/CustomTableV1.js +610 -0
- package/build/components/oa-component-table/styles.js +14 -0
- package/build/components/oa-component-table/stylesV1.js +19 -0
- package/build/components/oa-component-tabs/CustomTabs.js +102 -0
- package/build/components/oa-component-tabs/styles.js +13 -0
- package/build/components/oa-component-tag/CustomTag.js +66 -0
- package/build/components/oa-component-tag/styles.js +75 -0
- package/build/components/oa-component-textarea/CustomTextArea.js +74 -0
- package/build/components/oa-component-textarea/styles.js +16 -0
- package/build/components/oa-component-timeline/CustomTimeline.js +65 -0
- package/build/components/oa-component-timeline/styles.js +15 -0
- package/build/components/oa-component-timepicker/CustomTimePicker.js +104 -0
- package/build/components/oa-component-toggle/CustomToggle.js +111 -0
- package/build/components/oa-component-toggle/styles.js +43 -0
- package/build/components/oa-component-tooltip/CustomTooltip.js +70 -0
- package/build/components/oa-component-typography/Typography.js +58 -0
- package/build/components/oa-component-typography/styles.js +13 -0
- package/build/components/oa-component-upload/CustomUpload.js +332 -0
- package/build/components/oa-component-upload/styles.js +13 -0
- package/build/components/oa-component-viewer/CustomViewer.js +273 -0
- package/build/components/oa-component-viewer/styles.js +14 -0
- package/build/constants/ratingConstants.js +194 -0
- package/build/dev/oa-component-document-viewer/CustomDocumentViewer.js +367 -0
- package/build/dev/oa-component-document-viewer/styles.js +12 -0
- package/build/dev/oa-component-timeline/CustomTimeline.js +53 -0
- package/build/dev/oa-component-timeline/styles.js +15 -0
- package/build/dev/oa-component-upload/CustomUpload.js +285 -0
- package/build/dev/oa-component-upload/styles.js +13 -0
- package/build/dev/oa-component-viewer/CustomViewer.js +326 -0
- package/build/dev/oa-component-viewer/styles.js +14 -0
- package/build/dev/oa-widget-document-modal/DocumentSideModal.js +166 -0
- package/build/dev/oa-widget-document-modal/styles.js +12 -0
- package/build/dev/oa-widget-document-side-drawer/DocumentSideDrawer.js +196 -0
- package/build/dev/oa-widget-document-side-drawer/styles.js +12 -0
- package/build/dev/oa-widget-document-upload-card/DocUploadCardWidget.js +179 -0
- package/build/dev/oa-widget-document-upload-card/styles.js +13 -0
- package/build/global-css/BorderRadius.js +22 -0
- package/build/global-css/ColorVariables.js +26 -0
- package/build/global-css/ColorVariablesMap.js +29 -0
- package/build/global-css/CustomDropDownThemes.js +31 -0
- package/build/global-css/Elevation.js +35 -0
- package/build/global-css/GlobalCss.js +26 -0
- package/build/global-css/GridLayout.js +25 -0
- package/build/global-css/SpacingScales.js +11 -0
- package/build/global-css/Typographies.js +26 -0
- package/build/global-css/TypographiesMap.js +71 -0
- package/build/global-css/color-options.js +8 -0
- package/build/global-css/commonStyles.js +11 -0
- package/build/global-css/tooltip-placement-option.js +8 -0
- package/build/global-css/typography-options.js +8 -0
- package/build/images/AC.png +0 -0
- package/build/images/Car.png +0 -0
- package/build/images/Cooler.png +0 -0
- package/build/images/Default.png +0 -0
- package/build/images/Footwear.png +0 -0
- package/build/images/Furniture.png +0 -0
- package/build/images/Glasses.png +0 -0
- package/build/images/HA.png +0 -0
- package/build/images/Laptop.png +0 -0
- package/build/images/Luggage.png +0 -0
- package/build/images/Microwave.png +0 -0
- package/build/images/Mobile.png +0 -0
- package/build/images/PdfSampleImage.png +0 -0
- package/build/images/Refrigerator.png +0 -0
- package/build/images/Shirts.png +0 -0
- package/build/images/Tablets.png +0 -0
- package/build/images/Television.png +0 -0
- package/build/images/TwoWheeler.png +0 -0
- package/build/images/Wallet.png +0 -0
- package/build/images/WashingMachine.png +0 -0
- package/build/images/WaterPurifier.png +0 -0
- package/build/images/Wearable.png +0 -0
- package/build/images/ajax-loader.gif +0 -0
- package/build/images/astronaut_emptystate.png +0 -0
- package/build/images/caution.svg +3 -0
- package/build/images/close.svg +3 -0
- package/build/images/current-location.svg +3 -0
- package/build/images/delete.svg +8 -0
- package/build/images/exportGrp01.png +0 -0
- package/build/images/exportGrp02.png +0 -0
- package/build/images/exportGrp03.png +0 -0
- package/build/images/hand-icon.svg +4 -0
- package/build/images/iphone.svg +9 -0
- package/build/images/left-icon.svg +28 -0
- package/build/images/map_pointer.svg +25 -0
- package/build/images/modal-img.svg +8 -0
- package/build/images/oaChat.svg +5 -0
- package/build/images/offer.svg +3 -0
- package/build/images/oneassist-logo.png +0 -0
- package/build/images/outOfStock.png +0 -0
- package/build/images/right-icon.svg +28 -0
- package/build/images/search_ic.svg +3 -0
- package/build/images/search_not_found.svg +7 -0
- package/build/images/upload.svg +8 -0
- package/build/images/zoom.svg +4 -0
- package/build/index.js +763 -0
- package/build/layout/DetailDataLayout/DetailDataLayout.js +20 -0
- package/build/layout/DetailDataLayout/components/Form.js +22 -0
- package/build/layout/DetailDataLayout/components/Header.js +32 -0
- package/build/layout/DetailDataLayout/style.css +9 -0
- package/build/layout/DetailDataLayout/styles.js +12 -0
- package/build/layout/EntityOverviewLayout/EntityOverviewLayout.js +235 -0
- package/build/layout/EntityOverviewLayout/reducer/entityOverviewLayoutReducer.js +63 -0
- package/build/layout/EntityOverviewLayout/styles.js +13 -0
- package/build/layout/GenricLayOut/GenricLayOut.js +2293 -0
- package/build/layout/GenricLayOut/components/AppliedFilters.js +84 -0
- package/build/layout/GenricLayOut/components/CardList.js +34 -0
- package/build/layout/GenricLayOut/components/DropdownSearch.js +48 -0
- package/build/layout/GenricLayOut/components/Header.js +74 -0
- package/build/layout/GenricLayOut/components/Modal.js +85 -0
- package/build/layout/GenricLayOut/components/ProfileSection.js +87 -0
- package/build/layout/GenricLayOut/components/Search.js +51 -0
- package/build/layout/GenricLayOut/components/StaticFilter.css +73 -0
- package/build/layout/GenricLayOut/components/StaticFilter.js +37 -0
- package/build/layout/GenricLayOut/reducer/layoutReducer.js +294 -0
- package/build/layout/GenricLayOut/resolver/staticConfigResolver.js +98 -0
- package/build/layout/GenricLayOut/styles.js +25 -0
- package/build/layout/paymentAndConsent/CancelScreen.js +46 -0
- package/build/layout/paymentAndConsent/ConsentCard.js +68 -0
- package/build/layout/paymentAndConsent/DetailsCard.js +75 -0
- package/build/layout/paymentAndConsent/DetailsList.js +38 -0
- package/build/layout/paymentAndConsent/Header.js +33 -0
- package/build/layout/paymentAndConsent/InProgressScreen.js +46 -0
- package/build/layout/paymentAndConsent/Loader.js +21 -0
- package/build/layout/paymentAndConsent/Modal.js +28 -0
- package/build/layout/paymentAndConsent/PaymentAndConsent.js +22 -0
- package/build/layout/paymentAndConsent/PaymentCard.js +83 -0
- package/build/layout/paymentAndConsent/Section.js +34 -0
- package/build/layout/paymentAndConsent/SuccessScreen.js +46 -0
- package/build/layout/paymentAndConsent/TimeLineCard.js +28 -0
- package/build/layout/paymentAndConsent/TncList.js +32 -0
- package/build/layout/paymentAndConsent/style.js +12 -0
- package/build/utils/common.js +20 -0
- package/build/utils/download-file.js +23 -0
- package/build/utils/fix-decimal-places.js +24 -0
- package/build/utils/get-uuid.js +41 -0
- package/build/utils/hex-to-rgb.js +30 -0
- package/build/utils/index.js +78 -0
- package/build/utils/random-generators.js +19 -0
- package/build/utils/rupee-formatters.js +69 -0
- package/build/utils/type-checkers.js +16 -0
- package/build/widgets/oa-form-widget/FormWidget.js +544 -0
- package/build/widgets/oa-form-widget/FormWidgetStyle.js +18 -0
- package/build/widgets/oa-widget-add-spare-part/AddSparePartCollapseWidget.js +461 -0
- package/build/widgets/oa-widget-add-spare-part/AddSparePartWidget.js +355 -0
- package/build/widgets/oa-widget-add-spare-part/styles.js +12 -0
- package/build/widgets/oa-widget-address/AddressWidget.js +55 -0
- package/build/widgets/oa-widget-address/styles.js +13 -0
- package/build/widgets/oa-widget-approval/ApprovalWidget.js +200 -0
- package/build/widgets/oa-widget-approval/ApprovalWidgetNew.js +492 -0
- package/build/widgets/oa-widget-approval/styles.js +13 -0
- package/build/widgets/oa-widget-chat/ChatWidget.js +261 -0
- package/build/widgets/oa-widget-chat/styles.js +17 -0
- package/build/widgets/oa-widget-close-claim/CloseClaimWidget.js +256 -0
- package/build/widgets/oa-widget-close-claim/styles.js +12 -0
- package/build/widgets/oa-widget-collapsible-key-value/CollapsibleKeyValueWidget.js +395 -0
- package/build/widgets/oa-widget-collapsible-key-value/styles.js +16 -0
- package/build/widgets/oa-widget-content-panel/ContentPanel.js +82 -0
- package/build/widgets/oa-widget-content-panel/styles.js +12 -0
- package/build/widgets/oa-widget-custom-details/CustomDetails.js +41 -0
- package/build/widgets/oa-widget-customer-rating-card/CustomerRatingCard.js +147 -0
- package/build/widgets/oa-widget-customer-rating-card/styles.js +12 -0
- package/build/widgets/oa-widget-date-dropdown/DateDropDown.js +385 -0
- package/build/widgets/oa-widget-date-dropdown/styles.js +12 -0
- package/build/widgets/oa-widget-detailcard/MembershipDetailCard.js +182 -0
- package/build/widgets/oa-widget-detailcard/styles.js +12 -0
- package/build/widgets/oa-widget-document-upload/DocUploadWidget.js +264 -0
- package/build/widgets/oa-widget-document-upload/styles.js +13 -0
- package/build/widgets/oa-widget-document-upload-card/DocUploadCardWidget.js +178 -0
- package/build/widgets/oa-widget-document-upload-card/styles.js +13 -0
- package/build/widgets/oa-widget-dropdown-search-input/DropdownSearchInput.js +200 -0
- package/build/widgets/oa-widget-dropdown-search-input/styles.js +12 -0
- package/build/widgets/oa-widget-feedback/FeedbackWidget.js +83 -0
- package/build/widgets/oa-widget-feedback/styles.js +13 -0
- package/build/widgets/oa-widget-form/CustomFormWidget.js +51 -0
- package/build/widgets/oa-widget-form/styles.js +12 -0
- package/build/widgets/oa-widget-googlerating/GoogleRating.js +55 -0
- package/build/widgets/oa-widget-googlerating/styles.js +12 -0
- package/build/widgets/oa-widget-guide/GuideWidget.js +70 -0
- package/build/widgets/oa-widget-guide/GuideWidgetStyle.js +12 -0
- package/build/widgets/oa-widget-header/CustomHeaderWidget.js +98 -0
- package/build/widgets/oa-widget-header/styles.js +12 -0
- package/build/widgets/oa-widget-hub-automation-modal/HubAutomationDeleteBiker.js +24 -0
- package/build/widgets/oa-widget-hub-automation-modal/HubAutomationModal.js +34 -0
- package/build/widgets/oa-widget-hub-automation-modal/HubAutomationModalStyle.js +13 -0
- package/build/widgets/oa-widget-image-carousel/ImageCarouselWidget.js +256 -0
- package/build/widgets/oa-widget-image-carousel/styles.js +23 -0
- package/build/widgets/oa-widget-image-gallery/FullscreenViewer.js +169 -0
- package/build/widgets/oa-widget-image-gallery/ImageGallery.js +87 -0
- package/build/widgets/oa-widget-image-gallery/ThumbnailGrid.js +146 -0
- package/build/widgets/oa-widget-image-gallery/imageCache.js +15 -0
- package/build/widgets/oa-widget-image-gallery/imageGalleryStyle.js +16 -0
- package/build/widgets/oa-widget-input-pattern-pin/CustomPinPatternCaptureWidget.js +395 -0
- package/build/widgets/oa-widget-input-pattern-pin/styles.js +12 -0
- package/build/widgets/oa-widget-item-info-card/InfoCardListWidget.js +60 -0
- package/build/widgets/oa-widget-item-info-card/ItemInfoCardWidget.js +77 -0
- package/build/widgets/oa-widget-item-info-card/styles.css +50 -0
- package/build/widgets/oa-widget-item-info-card/styles.js +14 -0
- package/build/widgets/oa-widget-key-value/KeyValueWidget.js +121 -0
- package/build/widgets/oa-widget-key-value/styles.js +14 -0
- package/build/widgets/oa-widget-kpi/KPICardWidget.js +86 -0
- package/build/widgets/oa-widget-kpi/styles.js +12 -0
- package/build/widgets/oa-widget-location-access/LocationAccessWidget.js +92 -0
- package/build/widgets/oa-widget-location-access/styles.js +12 -0
- package/build/widgets/oa-widget-map-base-location/AddressDetails.js +84 -0
- package/build/widgets/oa-widget-map-base-location/AddressForm.js +106 -0
- package/build/widgets/oa-widget-map-base-location/CustomModalComponent.js +58 -0
- package/build/widgets/oa-widget-map-base-location/MapBaseLocation.js +93 -0
- package/build/widgets/oa-widget-map-base-location/MapComponent.js +167 -0
- package/build/widgets/oa-widget-map-base-location/styles.js +12 -0
- package/build/widgets/oa-widget-membershipcard/MembershipCard.js +266 -0
- package/build/widgets/oa-widget-membershipcard/styles.js +13 -0
- package/build/widgets/oa-widget-multiple-collapse-with-slots/MultipleCollapseWithSlots.js +85 -0
- package/build/widgets/oa-widget-multiple-collapse-with-slots/checkactive.svg +8 -0
- package/build/widgets/oa-widget-multiple-collapse-with-slots/checkhover.svg +8 -0
- package/build/widgets/oa-widget-multiple-collapse-with-slots/styles.js +16 -0
- package/build/widgets/oa-widget-notes/NotesWidget.js +135 -0
- package/build/widgets/oa-widget-notes/styles.js +13 -0
- package/build/widgets/oa-widget-pincode-base-location/PincodeBaseLocation.js +281 -0
- package/build/widgets/oa-widget-pincode-base-location/styles.js +12 -0
- package/build/widgets/oa-widget-plan-card/PlanCard.js +183 -0
- package/build/widgets/oa-widget-plan-card/styles.js +13 -0
- package/build/widgets/oa-widget-preview/Preview.js +172 -0
- package/build/widgets/oa-widget-preview/ZoomImageComponent.js +95 -0
- package/build/widgets/oa-widget-preview/styles.js +12 -0
- package/build/widgets/oa-widget-profile-data/ProfileDataWidget.js +117 -0
- package/build/widgets/oa-widget-profile-data/styles.js +13 -0
- package/build/widgets/oa-widget-progressive-steps/ProgressiveStepsWidget.js +362 -0
- package/build/widgets/oa-widget-progressive-steps/styles.js +12 -0
- package/build/widgets/oa-widget-reimbursement-breakup/ReimbursementBreakupWidget.js +141 -0
- package/build/widgets/oa-widget-reimbursement-breakup/styles.js +12 -0
- package/build/widgets/oa-widget-repair-service/RepairServiceWidget.js +79 -0
- package/build/widgets/oa-widget-repair-service/styles.js +12 -0
- package/build/widgets/oa-widget-reupload-drawer/ReUploadDrawer.js +164 -0
- package/build/widgets/oa-widget-send-payment-link/SendPaymentLinkWidget.js +224 -0
- package/build/widgets/oa-widget-send-payment-link/styles.js +15 -0
- package/build/widgets/oa-widget-servicecard/ServiceCard.js +185 -0
- package/build/widgets/oa-widget-servicecard/styles.js +13 -0
- package/build/widgets/oa-widget-sidebar/SidebarWidget.js +105 -0
- package/build/widgets/oa-widget-sidebar/components/Header.js +33 -0
- package/build/widgets/oa-widget-sidebar/sidebar.css +0 -0
- package/build/widgets/oa-widget-sidebar/styles.js +13 -0
- package/build/widgets/oa-widget-spare-part/SparePartsCollapseWidget.js +127 -0
- package/build/widgets/oa-widget-spare-part/SparePartsWidget.js +294 -0
- package/build/widgets/oa-widget-spare-part/styles.js +18 -0
- package/build/widgets/oa-widget-stage-timeline/StageTimelineWidget.js +159 -0
- package/build/widgets/oa-widget-stage-timeline/styles.js +29 -0
- package/build/widgets/oa-widget-track-shipment/TrackShipmentWidget.js +232 -0
- package/build/widgets/oa-widget-track-shipment/styles.js +13 -0
- package/build/widgets/oa-widget-track-shipment-list/TrackShipmentWidgetList.js +103 -0
- package/build/widgets/oa-widget-track-shipment-list/fn.js +81 -0
- package/build/widgets/oa-widget-track-shipment-list/styles.js +13 -0
- package/build/widgets/oa-widget-upload-download/UploadDownloadWidget.js +167 -0
- package/build/widgets/oa-widget-upload-download/styles.js +14 -0
- package/build/widgets/oa-widget-user-management/UserManagementWidget.js +352 -0
- package/build/widgets/oa-widget-user-management/styles.js +15 -0
- package/build/widgets/oa-widget-view-history/ViewHistoryWidget.js +181 -0
- package/build/widgets/oa-widget-view-history/styles.js +12 -0
- package/build/widgets/oa-widget-view-previous-description/ViewPreviousDescriptionWidget.js +188 -0
- package/build/widgets/oa-widget-view-previous-description/styles.js +16 -0
- package/package.json +100 -0
|
@@ -0,0 +1,461 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.symbol.description.js");
|
|
4
|
+
require("core-js/modules/es.weak-map.js");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
10
|
+
require("core-js/modules/es.array.includes.js");
|
|
11
|
+
require("core-js/modules/es.string.includes.js");
|
|
12
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
13
|
+
require("core-js/modules/es.regexp.test.js");
|
|
14
|
+
require("core-js/modules/es.parse-int.js");
|
|
15
|
+
require("core-js/modules/es.string.trim.js");
|
|
16
|
+
require("core-js/modules/es.array.reduce.js");
|
|
17
|
+
require("core-js/modules/es.parse-float.js");
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
20
|
+
var _antd = require("antd");
|
|
21
|
+
var _icons = require("@ant-design/icons");
|
|
22
|
+
var _InfoOutlined = _interopRequireDefault(require("@material-ui/icons/InfoOutlined"));
|
|
23
|
+
var _CustomDrawer = _interopRequireDefault(require("../../components/oa-component-drawer/CustomDrawer"));
|
|
24
|
+
var _CustomInput = _interopRequireDefault(require("../../components/oa-component-input/CustomInput"));
|
|
25
|
+
var _Typography = _interopRequireDefault(require("../../components/oa-component-typography/Typography"));
|
|
26
|
+
var _CustomCheckBox = _interopRequireDefault(require("../../components/oa-component-checkbox/CustomCheckBox"));
|
|
27
|
+
var _CustomInfo = _interopRequireDefault(require("../../components/oa-component-info/CustomInfo"));
|
|
28
|
+
var _styles = require("../oa-widget-spare-part/styles");
|
|
29
|
+
var _MaterialIcon = _interopRequireDefault(require("../../components/oa-component-icons/MaterialIcon"));
|
|
30
|
+
var _CustomNotification = _interopRequireDefault(require("../../components/oa-component-notification/CustomNotification"));
|
|
31
|
+
var _styles2 = require("./styles");
|
|
32
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
33
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
34
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
35
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
36
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
37
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
38
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
39
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
40
|
+
const {
|
|
41
|
+
Panel
|
|
42
|
+
} = _antd.Collapse;
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* A collapsible widget for adding spare parts.
|
|
46
|
+
*
|
|
47
|
+
* This component allows users to add spare parts, including specifying the cost, discount, and HSN code for each part.
|
|
48
|
+
* It provides functionality for searching, selecting, and submitting spare parts.
|
|
49
|
+
* The component also handles notifications and validations for the added spare part information.
|
|
50
|
+
*/
|
|
51
|
+
function AddSparePartCollapseWidget(_ref) {
|
|
52
|
+
let {
|
|
53
|
+
items,
|
|
54
|
+
onSubmit,
|
|
55
|
+
onClose,
|
|
56
|
+
open,
|
|
57
|
+
selectedItems,
|
|
58
|
+
disableDiscount,
|
|
59
|
+
disableHsn
|
|
60
|
+
} = _ref;
|
|
61
|
+
const [filteredItems, setFilteredItems] = (0, _react.useState)([]);
|
|
62
|
+
const [selectedItemIds, setSelectedItemIds] = (0, _react.useState)(new Set());
|
|
63
|
+
const [formValues, setFormValues] = (0, _react.useState)({});
|
|
64
|
+
const [searchValue, setSearchValue] = (0, _react.useState)('');
|
|
65
|
+
const [activeKey, setActiveKey] = (0, _react.useState)([]);
|
|
66
|
+
const notificationRef = (0, _react.useRef)(null);
|
|
67
|
+
const itemRefs = (0, _react.useRef)({});
|
|
68
|
+
const openNotification = parameters => {
|
|
69
|
+
var _notificationRef$curr;
|
|
70
|
+
return notificationRef === null || notificationRef === void 0 || (_notificationRef$curr = notificationRef.current) === null || _notificationRef$curr === void 0 ? void 0 : _notificationRef$curr.openNotification(parameters);
|
|
71
|
+
};
|
|
72
|
+
(0, _react.useEffect)(() => {
|
|
73
|
+
const initialFormValues = {};
|
|
74
|
+
const initialSelectedItems = new Set();
|
|
75
|
+
selectedItems.forEach(item => {
|
|
76
|
+
initialFormValues[item.scopeId] = {
|
|
77
|
+
cost: item.cost !== null && item.cost !== undefined ? item.cost : '',
|
|
78
|
+
discount: item.discount !== null && item.discount !== undefined ? item.discount : '',
|
|
79
|
+
hsnId: item.hsnId || ''
|
|
80
|
+
};
|
|
81
|
+
initialSelectedItems.add(item.scopeId);
|
|
82
|
+
});
|
|
83
|
+
setFormValues(initialFormValues);
|
|
84
|
+
setSelectedItemIds(initialSelectedItems);
|
|
85
|
+
setActiveKey(Array.from(initialSelectedItems).map(String)); // Set initially selected items as active keys
|
|
86
|
+
}, [selectedItems]);
|
|
87
|
+
(0, _react.useEffect)(() => {
|
|
88
|
+
var _selectedItems$map$fi, _items$filter;
|
|
89
|
+
const sortedItems = [...((_selectedItems$map$fi = selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.map(item => items && items.find(i => i.id === item.scopeId)).filter(Boolean)) !== null && _selectedItems$map$fi !== void 0 ? _selectedItems$map$fi : []), ...((_items$filter = items === null || items === void 0 ? void 0 : items.filter(item => !selectedItems.some(selected => selected.scopeId === item.id))) !== null && _items$filter !== void 0 ? _items$filter : [])];
|
|
90
|
+
setFilteredItems(sortedItems);
|
|
91
|
+
}, [items, selectedItems]);
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Handles changes in the search input.
|
|
95
|
+
*
|
|
96
|
+
* When the search input value is cleared, it resets the filtered items to the original list of items.
|
|
97
|
+
* When the search input value is not empty, it filters the items based on the search value.
|
|
98
|
+
*
|
|
99
|
+
* @param {React.ChangeEvent<HTMLInputElement>} event - The event triggered by changing the search input value.
|
|
100
|
+
*/
|
|
101
|
+
const handleSearchChange = event => {
|
|
102
|
+
const {
|
|
103
|
+
value
|
|
104
|
+
} = event.target;
|
|
105
|
+
setSearchValue(value);
|
|
106
|
+
if (!value) {
|
|
107
|
+
const sortedItems = [...selectedItems.map(selectedItem => items && items.find(i => i.id === selectedItem.scopeId)).filter(Boolean), ...items.filter(item => !selectedItems.some(selected => selected.scopeId === item.id))];
|
|
108
|
+
setFilteredItems(sortedItems);
|
|
109
|
+
} else {
|
|
110
|
+
const val = items.filter(item => item.name.toLowerCase().includes(value.toLowerCase()));
|
|
111
|
+
setFilteredItems(val);
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Handles item selection/deselection.
|
|
117
|
+
*
|
|
118
|
+
* When an item is selected, it adds the item to the set of selected items and expands only the newly selected item's panel.
|
|
119
|
+
* When an item is deselected, it removes the item from the set of selected items and collapses all panels.
|
|
120
|
+
*
|
|
121
|
+
* It also clears the search value on item selection.
|
|
122
|
+
*
|
|
123
|
+
* @param {number} itemId - The ID of the item to be selected/deselected.
|
|
124
|
+
*/
|
|
125
|
+
const onSelectItem = itemId => {
|
|
126
|
+
const newSelectedItems = new Set(selectedItemIds);
|
|
127
|
+
if (newSelectedItems.has(itemId)) {
|
|
128
|
+
newSelectedItems.delete(itemId);
|
|
129
|
+
setActiveKey([]); // Collapse all panels when an item is deselected
|
|
130
|
+
} else {
|
|
131
|
+
newSelectedItems.add(itemId);
|
|
132
|
+
setActiveKey([String(itemId)]); // Expand only the newly selected item's panel
|
|
133
|
+
}
|
|
134
|
+
setSelectedItemIds(newSelectedItems);
|
|
135
|
+
setSearchValue(''); // Clear search value on item selection
|
|
136
|
+
|
|
137
|
+
const sortedItems = [...selectedItems.map(selectedItem => items && items.find(i => i.id === selectedItem.scopeId)).filter(Boolean), ...items.filter(item => !selectedItems.some(selected => selected.scopeId === item.id))];
|
|
138
|
+
setFilteredItems(sortedItems);
|
|
139
|
+
setTimeout(() => {
|
|
140
|
+
if (itemRefs.current[itemId]) {
|
|
141
|
+
itemRefs.current[itemId].scrollIntoView({
|
|
142
|
+
behavior: 'smooth',
|
|
143
|
+
block: 'center'
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
}, 0);
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Checks if a given value is numeric.
|
|
151
|
+
*
|
|
152
|
+
* This function verifies if the provided value is a numeric string,
|
|
153
|
+
* optionally allowing two decimal places. An empty string is also
|
|
154
|
+
* considered valid, allowing for clearing inputs.
|
|
155
|
+
*
|
|
156
|
+
* @param {string} value - The value to check.
|
|
157
|
+
* @returns {boolean} - Returns true if the value is numeric or empty, otherwise false.
|
|
158
|
+
*/
|
|
159
|
+
|
|
160
|
+
const isNumeric = value => {
|
|
161
|
+
if (value === '') return true;
|
|
162
|
+
return /^\d+(\.\d{0,2})?$/.test(value);
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Handles changes in the fields of the items.
|
|
167
|
+
*
|
|
168
|
+
* When a field of an item is changed, it updates the form values with the new value.
|
|
169
|
+
* It also checks if the entered value is numeric and if not, it displays an error notification.
|
|
170
|
+
*
|
|
171
|
+
* @param {number} itemId - The ID of the item to update.
|
|
172
|
+
* @param {string} field - The name of the field to update.
|
|
173
|
+
* @param {string|number} value - The new value of the field.
|
|
174
|
+
*/
|
|
175
|
+
const onFieldChange = (itemId, field, value) => {
|
|
176
|
+
if (field === 'hsnId' || (field === 'discount' || field === 'cost') && isNumeric(value)) {
|
|
177
|
+
if (field === 'discount') {
|
|
178
|
+
var _formValues$itemId;
|
|
179
|
+
if (parseInt((_formValues$itemId = formValues[itemId]) === null || _formValues$itemId === void 0 ? void 0 : _formValues$itemId.cost, 10) < parseInt(value, 10)) {
|
|
180
|
+
openNotification({
|
|
181
|
+
title: 'Error',
|
|
182
|
+
description: 'Discount cannot be greater than Cost.',
|
|
183
|
+
type: 'failure'
|
|
184
|
+
});
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
const updatedFormValues = _objectSpread(_objectSpread({}, formValues), {}, {
|
|
189
|
+
[itemId]: _objectSpread(_objectSpread({}, formValues[itemId]), {}, {
|
|
190
|
+
[field]: value
|
|
191
|
+
})
|
|
192
|
+
});
|
|
193
|
+
setFormValues(updatedFormValues);
|
|
194
|
+
} else {
|
|
195
|
+
// openNotification({
|
|
196
|
+
// title: 'Error',
|
|
197
|
+
// description: 'Please enter only numeric values 146.',
|
|
198
|
+
// type: 'failure',
|
|
199
|
+
// });
|
|
200
|
+
}
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
/**
|
|
204
|
+
* Handles key presses on numeric fields.
|
|
205
|
+
*
|
|
206
|
+
* When a non-numeric key is pressed, it prevents the default action and displays an error notification.
|
|
207
|
+
*
|
|
208
|
+
* @param {React.KeyboardEvent} event - The event triggered by the key press.
|
|
209
|
+
*/
|
|
210
|
+
const handleKeyPress = event => {
|
|
211
|
+
if (!/[\d.]/.test(event.key) || event.key === '.' && event.target.value.includes('.')) {
|
|
212
|
+
event.preventDefault();
|
|
213
|
+
openNotification({
|
|
214
|
+
title: 'Error',
|
|
215
|
+
description: 'Please enter only numeric values.',
|
|
216
|
+
type: 'failure'
|
|
217
|
+
});
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
const handlePaste = e => {
|
|
221
|
+
var _e$clipboardData$getD, _e$clipboardData;
|
|
222
|
+
const pastedData = (_e$clipboardData$getD = e === null || e === void 0 || (_e$clipboardData = e.clipboardData) === null || _e$clipboardData === void 0 || (_e$clipboardData = _e$clipboardData.getData('Text')) === null || _e$clipboardData === void 0 ? void 0 : _e$clipboardData.trim()) !== null && _e$clipboardData$getD !== void 0 ? _e$clipboardData$getD : '';
|
|
223
|
+
|
|
224
|
+
// Allow only numbers with optional decimal part (up to 2 digits after .)
|
|
225
|
+
const validDecimalPattern = /^\d+(\.\d{0,2})?$/;
|
|
226
|
+
if (!validDecimalPattern.test(pastedData)) {
|
|
227
|
+
e.preventDefault();
|
|
228
|
+
openNotification({
|
|
229
|
+
title: 'Invalid Paste',
|
|
230
|
+
description: 'Only numeric values with up to 2 decimal places are allowed.',
|
|
231
|
+
type: 'failure'
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Handles the submission of the spare parts information.
|
|
238
|
+
*
|
|
239
|
+
* First, it checks if at least one scope is selected. If not, it displays an error notification.
|
|
240
|
+
* Then, it constructs the data to submit by combining the selected scope IDs with the corresponding form values.
|
|
241
|
+
* It also checks if all mandatory fields are filled. If not, it displays an error notification.
|
|
242
|
+
* Finally, it calls the passed onSubmit function with the data to submit.
|
|
243
|
+
*/
|
|
244
|
+
const handleSubmission = () => {
|
|
245
|
+
if (selectedItemIds.size === 0) {
|
|
246
|
+
openNotification({
|
|
247
|
+
title: 'Error',
|
|
248
|
+
description: 'Please select at least one scope.',
|
|
249
|
+
type: 'failure'
|
|
250
|
+
});
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
const toSubmit = Array.from(selectedItemIds).reduce((acc, itemId) => {
|
|
254
|
+
acc.push(_objectSpread({
|
|
255
|
+
scopeId: itemId
|
|
256
|
+
}, formValues[itemId]));
|
|
257
|
+
return acc;
|
|
258
|
+
}, []);
|
|
259
|
+
const allFieldsFilled = toSubmit.every(item => {
|
|
260
|
+
const mandatoryFields = ['cost', 'discount', 'hsnId'].filter(field => {
|
|
261
|
+
if (disableDiscount && field === 'discount') return false;
|
|
262
|
+
if (disableHsn && field === 'hsnId') return false;
|
|
263
|
+
return true;
|
|
264
|
+
});
|
|
265
|
+
return mandatoryFields.every(field => item[field] !== '' && item[field] !== null && item[field] !== undefined);
|
|
266
|
+
});
|
|
267
|
+
if (!allFieldsFilled) {
|
|
268
|
+
openNotification({
|
|
269
|
+
title: 'Error',
|
|
270
|
+
description: 'Details missing! Please check and complete all spare part information',
|
|
271
|
+
type: 'failure'
|
|
272
|
+
});
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
toSubmit.every(item => {
|
|
276
|
+
const cost = parseFloat(item.cost);
|
|
277
|
+
const discount = parseFloat(item.discount);
|
|
278
|
+
const field = items.find(f => f.id === item.scopeId);
|
|
279
|
+
const fieldName = field ? field.name : "ScopeId ".concat(item.scopeId);
|
|
280
|
+
if (discount > cost) {
|
|
281
|
+
openNotification({
|
|
282
|
+
title: 'Error',
|
|
283
|
+
description: "Discount cannot be greater than cost for ".concat(fieldName),
|
|
284
|
+
type: 'failure'
|
|
285
|
+
});
|
|
286
|
+
return false;
|
|
287
|
+
}
|
|
288
|
+
return true;
|
|
289
|
+
});
|
|
290
|
+
onSubmit(toSubmit);
|
|
291
|
+
};
|
|
292
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_CustomDrawer.default, {
|
|
293
|
+
buttonConfig: [{
|
|
294
|
+
callback: handleSubmission,
|
|
295
|
+
label: 'Save',
|
|
296
|
+
type: 'primary',
|
|
297
|
+
htmlType: 'submit'
|
|
298
|
+
}],
|
|
299
|
+
onClose: onClose,
|
|
300
|
+
open: open,
|
|
301
|
+
title: "Add spare part",
|
|
302
|
+
width: 480,
|
|
303
|
+
className: "paddingBot"
|
|
304
|
+
}, /*#__PURE__*/_react.default.createElement(_styles.MainStyles, null, /*#__PURE__*/_react.default.createElement(_CustomInput.default, {
|
|
305
|
+
placeholder: "Search spare part",
|
|
306
|
+
onChange: handleSearchChange,
|
|
307
|
+
value: searchValue,
|
|
308
|
+
style: {
|
|
309
|
+
marginBottom: 16
|
|
310
|
+
},
|
|
311
|
+
prefix: /*#__PURE__*/_react.default.createElement(_icons.SearchOutlined, null)
|
|
312
|
+
}), /*#__PURE__*/_react.default.createElement(_antd.Collapse, {
|
|
313
|
+
accordion: true,
|
|
314
|
+
activeKey: activeKey,
|
|
315
|
+
onChange: setActiveKey
|
|
316
|
+
}, filteredItems.map(item => {
|
|
317
|
+
var _formValues$item$id, _formValues$item$id2, _formValues$item$id3, _formValues$item$id4, _formValues$item$id5, _formValues$item$id6, _formValues$item$id7;
|
|
318
|
+
const isSelected = selectedItemIds.has(item.id);
|
|
319
|
+
const selectedItem = selectedItems && selectedItems.find(i => i.scopeId === item.id);
|
|
320
|
+
const isItemDisabled = selectedItem ? selectedItem.disableSelected : false;
|
|
321
|
+
return /*#__PURE__*/_react.default.createElement(Panel, {
|
|
322
|
+
header: /*#__PURE__*/_react.default.createElement("div", {
|
|
323
|
+
style: {
|
|
324
|
+
display: 'flex',
|
|
325
|
+
justifyContent: 'space-between'
|
|
326
|
+
}
|
|
327
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.default, {
|
|
328
|
+
className: "type-t2-700",
|
|
329
|
+
color: "primary-content"
|
|
330
|
+
}, item.name), /*#__PURE__*/_react.default.createElement(_CustomCheckBox.default, {
|
|
331
|
+
onClick: e => {
|
|
332
|
+
e.stopPropagation(); // Prevent event propagation to the panel
|
|
333
|
+
onSelectItem(item.id);
|
|
334
|
+
},
|
|
335
|
+
checked: isSelected,
|
|
336
|
+
disabled: isItemDisabled,
|
|
337
|
+
style: {
|
|
338
|
+
marginRight: 8
|
|
339
|
+
},
|
|
340
|
+
tabIndex: 0 // Make checkbox focusable
|
|
341
|
+
,
|
|
342
|
+
role: "button" // Add ARIA role
|
|
343
|
+
,
|
|
344
|
+
onKeyDown: e => {
|
|
345
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
346
|
+
e.preventDefault(); // Prevent default scroll behavior
|
|
347
|
+
onSelectItem(item.id);
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
})),
|
|
351
|
+
key: item.id,
|
|
352
|
+
ref: el => {
|
|
353
|
+
itemRefs.current[item.id] = el;
|
|
354
|
+
} // Store a ref to the panel
|
|
355
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
356
|
+
className: "padding-bottom-32",
|
|
357
|
+
onClick: e => e.stopPropagation(),
|
|
358
|
+
role: "button",
|
|
359
|
+
tabIndex: 0,
|
|
360
|
+
onKeyDown: e => {
|
|
361
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
362
|
+
e.stopPropagation();
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
366
|
+
className: "padding-bottom-4"
|
|
367
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.default, {
|
|
368
|
+
className: "type-b2-400",
|
|
369
|
+
color: "primary-content"
|
|
370
|
+
}, "Spare part price (without GST)")), /*#__PURE__*/_react.default.createElement(_CustomInput.default, {
|
|
371
|
+
prefix: "\u20B9",
|
|
372
|
+
placeholder: "Enter price without GST",
|
|
373
|
+
onChange: e => onFieldChange(item.id, 'cost', e.target.value),
|
|
374
|
+
onKeyPress: handleKeyPress,
|
|
375
|
+
onPaste: handlePaste,
|
|
376
|
+
inputMode: "numeric",
|
|
377
|
+
pattern: "[0-9]+(\\.[0-9]{0,2})?",
|
|
378
|
+
value: ((_formValues$item$id = formValues[item.id]) === null || _formValues$item$id === void 0 ? void 0 : _formValues$item$id.cost) !== null && ((_formValues$item$id2 = formValues[item.id]) === null || _formValues$item$id2 === void 0 ? void 0 : _formValues$item$id2.cost) !== undefined ? (_formValues$item$id3 = formValues[item.id]) === null || _formValues$item$id3 === void 0 ? void 0 : _formValues$item$id3.cost : '',
|
|
379
|
+
disabled: isItemDisabled
|
|
380
|
+
})), !disableDiscount && /*#__PURE__*/_react.default.createElement("div", {
|
|
381
|
+
className: "padding-bottom-32",
|
|
382
|
+
onClick: e => e.stopPropagation(),
|
|
383
|
+
role: "button",
|
|
384
|
+
tabIndex: 0,
|
|
385
|
+
onKeyDown: e => {
|
|
386
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
387
|
+
e.stopPropagation();
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
391
|
+
className: "padding-bottom-4"
|
|
392
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.default, {
|
|
393
|
+
className: "type-b2-400",
|
|
394
|
+
color: "primary-content"
|
|
395
|
+
}, "Discount (Without GST)")), /*#__PURE__*/_react.default.createElement(_CustomInput.default, {
|
|
396
|
+
prefix: "\u20B9",
|
|
397
|
+
placeholder: "Enter discount",
|
|
398
|
+
onChange: e => onFieldChange(item.id, 'discount', e.target.value),
|
|
399
|
+
onKeyPress: handleKeyPress,
|
|
400
|
+
onPaste: handlePaste,
|
|
401
|
+
inputMode: "numeric",
|
|
402
|
+
pattern: "[0-9]*",
|
|
403
|
+
value: ((_formValues$item$id4 = formValues[item.id]) === null || _formValues$item$id4 === void 0 ? void 0 : _formValues$item$id4.discount) !== null && ((_formValues$item$id5 = formValues[item.id]) === null || _formValues$item$id5 === void 0 ? void 0 : _formValues$item$id5.discount) !== undefined ? (_formValues$item$id6 = formValues[item.id]) === null || _formValues$item$id6 === void 0 ? void 0 : _formValues$item$id6.discount : '',
|
|
404
|
+
disabled: isItemDisabled
|
|
405
|
+
})), !disableHsn && /*#__PURE__*/_react.default.createElement("div", {
|
|
406
|
+
className: "padding-bottom-4",
|
|
407
|
+
onClick: e => e.stopPropagation(),
|
|
408
|
+
role: "button",
|
|
409
|
+
tabIndex: 0,
|
|
410
|
+
onKeyDown: e => {
|
|
411
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
412
|
+
e.stopPropagation();
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
}, /*#__PURE__*/_react.default.createElement(_Typography.default, {
|
|
416
|
+
className: "type-b2-400",
|
|
417
|
+
color: "primary-content"
|
|
418
|
+
}, "HSN Code")), !disableHsn && /*#__PURE__*/_react.default.createElement(_CustomInput.default, {
|
|
419
|
+
placeholder: "HSN Code",
|
|
420
|
+
onChange: e => onFieldChange(item.id, 'hsnId', e.target.value),
|
|
421
|
+
value: ((_formValues$item$id7 = formValues[item.id]) === null || _formValues$item$id7 === void 0 ? void 0 : _formValues$item$id7.hsnId) || '',
|
|
422
|
+
disabled: isItemDisabled || disableHsn,
|
|
423
|
+
onClick: e => e.stopPropagation()
|
|
424
|
+
}));
|
|
425
|
+
})), /*#__PURE__*/_react.default.createElement(_styles2.StickyInfo, null, /*#__PURE__*/_react.default.createElement(_CustomInfo.default, {
|
|
426
|
+
description: "Note: 18% GST will be levied on the added spare part price.",
|
|
427
|
+
iconConfig: {
|
|
428
|
+
icon: /*#__PURE__*/_react.default.createElement(_MaterialIcon.default, {
|
|
429
|
+
color: "warning",
|
|
430
|
+
size: 24,
|
|
431
|
+
icon: _InfoOutlined.default
|
|
432
|
+
}),
|
|
433
|
+
position: 'left'
|
|
434
|
+
}
|
|
435
|
+
}))), /*#__PURE__*/_react.default.createElement(_CustomNotification.default, {
|
|
436
|
+
ref: notificationRef
|
|
437
|
+
})));
|
|
438
|
+
}
|
|
439
|
+
AddSparePartCollapseWidget.defaultProps = {
|
|
440
|
+
disableDiscount: false,
|
|
441
|
+
disableHsn: false
|
|
442
|
+
};
|
|
443
|
+
AddSparePartCollapseWidget.propTypes = {
|
|
444
|
+
items: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
445
|
+
id: _propTypes.default.number.isRequired,
|
|
446
|
+
name: _propTypes.default.string.isRequired
|
|
447
|
+
})).isRequired,
|
|
448
|
+
onSubmit: _propTypes.default.func.isRequired,
|
|
449
|
+
onClose: _propTypes.default.func.isRequired,
|
|
450
|
+
open: _propTypes.default.bool.isRequired,
|
|
451
|
+
selectedItems: _propTypes.default.arrayOf(_propTypes.default.shape({
|
|
452
|
+
scopeId: _propTypes.default.number.isRequired,
|
|
453
|
+
cost: _propTypes.default.string,
|
|
454
|
+
discount: _propTypes.default.string,
|
|
455
|
+
hsnId: _propTypes.default.string,
|
|
456
|
+
disableSelected: _propTypes.default.bool
|
|
457
|
+
})).isRequired,
|
|
458
|
+
disableDiscount: _propTypes.default.bool,
|
|
459
|
+
disableHsn: _propTypes.default.bool
|
|
460
|
+
};
|
|
461
|
+
var _default = exports.default = AddSparePartCollapseWidget;
|