{"version":3,"sources":["components/ComponentHOC/ComponentHOC.tsx","utils/helpers.tsx","utils/endpoints.ts","utils/constants.ts","types/enum.tsx","utils/http.tsx","components/ToastShow/ToastAlert.tsx","components/Textbox/Textbox.tsx","utils/auth.ts","utils/regex.tsx","components/Loading/loading.tsx","components/Button/Button.tsx","components/CheckableButton/CheckableButton.tsx","components/Select/Select.tsx","components/InputLoading/inputLoading.tsx","components/EnumerationTypeSelect/EnumerationTypeSelect.tsx","components/EnumerationTypeSelect/api.tsx","components/ButtonPrintIcon/api.tsx","components/ButtonPrintIcon/ButtonPrintIcon.tsx","components/ModalForm/ModalForm.tsx","utils/SignalRHttp.tsx","utils/notificationHub.tsx","components/ButtonToolbar/ButtonToolbar.tsx","components/ButtonToolbarCreateUser/ButtonToolbarCreateUser.tsx","components/ButtonToolbarHolidaysType/ButtonToolbarHolidaysType.tsx","layouts/DashboardLayout/context/LayoutContext.tsx","components/ButtonToolbarMyOwnRequest/ButtonToolbarMyOwnRequest.tsx","components/ButtonToolbarMyOwnRequest/api.tsx","components/ButtonToolbarProcessFilter/ButtonToolbarProcessFilter.tsx","components/ButtonToolbarProcessFilter/api.ts","components/ButtonToolbarArchiveFile/ButtonToolbarArchiveFile.tsx","components/ButtonToolbarCreateArchive/ButtonToolbarCreateArchive.tsx","components/ButtonToolbarCreateItem/ButtonToolbarCreateItem.tsx","components/ButtonToolbarCreateManual/ButtonToolbarCreateManual.tsx","components/ButtonToolbarCreateReports/ButtonToolbarCreateReports.tsx","components/ButtonToolbarCreateWarehouse/ButtonToolbarCreateWarehouse.tsx","components/ButtonToolbarCreateWarehouseIo/ButtonToolbarCreateWarehouseIo.tsx","components/ButtonToolbarEditSalesForms/ButtonToolbarEditSalesForms.tsx","components/ButtonToolbarEditSalesForms/api.tsx","components/ButtonToolbarEnumerationFilter/ButtonToolbarEnumerationFilter.tsx","components/ButtonToolbarEnumerationFilter/api.tsx","components/ButtonToolbarPersonnelCartable/ButtonToolbarPersonnelCartable.tsx","components/ButtonToolbarPersonnelCartable/api.tsx","components/ButtonToolbarPersonType/ButtonToolbarPersonType.tsx","components/ButtonToolbarShowDeletedFilter/ButtonToolbarShowDeletedFilter.tsx","components/ButtonToolbarStartProcess/api.tsx","components/ButtonToolbarStartProcess/ButtonToolbarStartProcess.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/WarehouseDictionary/api.tsx","components/ButtonToolbarWarehouse/ButtonToolbarWarehouse.tsx","components/Search/Search.tsx","components/SwitchBtn/SwitchBtn.tsx","components/DictionaryTypeSelect/DictionaryTypeSelect.tsx","components/DictionaryTypeSelect/api.ts","pages/Secretariats/LettersPage/components/Toolbar/ButtonPrintToolbar/ButtonPrintToolbar.tsx","pages/Secretariats/LettersPage/components/Toolbar/ButtonPrintToolbar/api.tsx","pages/Secretariats/LettersPage/components/Toolbar/ButtonToolbarProcessStarting/ButtonToolbarProcessStarting.tsx","pages/Secretariats/LettersPage/components/Toolbar/ButtonToolbarProcessStarting/api.ts","pages/Secretariats/LettersPage/components/Toolbar/ButtonToolbarSecretariatFilter/ButtonToolbarSecretariatFilter.tsx","pages/Secretariats/LettersPage/components/Toolbar/ButtonToolbarSecretariatFilter/api.ts","components/ButtonToolbarDesign/ButtonToolbarDesign.tsx","components/ButtonToolbarShowActiveRowsOnlyFilter/ButtonToolbarShowActiveRowsOnlyFilter.tsx","components/Toolbar/Toolbar.tsx","components/EventCalendar/component/CalendarDay/CalendarDay.tsx","components/Time/Time.tsx","components/EventCalendar/component/EventForm/EventForm.tsx","components/EventCalendar/api.tsx","components/EventCalendar/EventCalendar.tsx","components/Message/Message.tsx","components/Pagination/Pagination.tsx","components/DataGrid/GridSetting.tsx","components/DatePicker/DatePicker.tsx","components/DataGrid/DateFilter.tsx","components/DataGrid/DataGrid.tsx","pages/OfficeAutomation/FormBuilder/api.tsx","components/CheckableButtonList/CheckableButtonList.tsx","components/Position/api.tsx","components/Position/Position.tsx","components/Price/Price.tsx","components/RangeSlider/RangeSlider.tsx","pages/OfficeAutomation/FormBuilder/components/DynamicFormsPage/StepInForms.tsx","components/AutoCompleteDictionary/api.tsx","components/AutoCompleteDictionary/AutoCompleteDictionary.tsx","components/Person/api.ts","components/Person/PersonGrid.tsx","components/Person/Person.tsx","pages/OfficeAutomation/FormBuilder/components/DynamicDictionary.tsx","pages/OfficeAutomation/FormBuilder/components/InputDetector.tsx","pages/OfficeAutomation/FormBuilder/components/DynamicFormDataEntry/DynamicFormDataEntry.tsx","pages/OfficeAutomation/FormBuilder/components/DynamicFormDataEntry/api.tsx","components/DynamicComponentHOC/DynamicComponentHOC.tsx","components/Footerbar/Footerbar.tsx","components/CustomerPosition/CustomerPosition.tsx","components/CustomerPosition/api.tsx","components/FollowupPositionId/FollowupPositionId.tsx","components/FollowupPositionId/api.tsx","pages/ClientPortal/ServiceRequestForm/components/ItemsDictionary/ItemsDictionary.tsx","pages/ClientPortal/ServiceRequestForm/components/ItemsDictionary/api.tsx","pages/ClientPortal/ServiceRequestForm/components/Serials/Serials.tsx","pages/ClientPortal/ServiceRequestForm/components/Serials/api.tsx","components/BrowseFile/BrowseFile.tsx","components/Input/Input.tsx","assets/image/word.png","assets/image/excel.png","assets/image/pdf.png","assets/image/powerpoint.png","pages/DashboardPage/components/Board/api.tsx","components/FileInput/FileInput.tsx","components/Headerbar/Headerbar.tsx","pages/AfterSales/component/CustomerInfo/CustomerInfo.tsx","pages/AfterSales/component/CustomerInfo/api.tsx","pages/OfficeAutomation/Cartable/api/api.ts","components/Tabbar/Tabbar.tsx","components/CardBoxAttachment/CardBoxAttachment.tsx","components/Fileviewer/Fileviewer.tsx","pages/OfficeAutomation/Cartable/components/ActionList/components/Attachment/api/api.ts","pages/OfficeAutomation/Cartable/components/ActionList/components/Attachment/VersionList/VersionList.tsx","pages/OfficeAutomation/Cartable/components/ActionList/components/Attachment/Attachment.tsx","pages/Secretariats/LettersPage/api/api.tsx","pages/Secretariats/LettersPage/components/LetterForm/components/LetterRelated/component/RelatedForm.tsx","pages/Secretariats/LettersPage/components/LetterForm/components/LetterRelated/LetterRelated.tsx","components/KeyWord/KeyWord.tsx","components/LetterSubject/LetterSubject.tsx","components/LetterSubject/api.tsx","components/ReceiverPosition/api.tsx","components/ReceiverPosition/ReceiverPosition.tsx","pages/SystemManagement/Jobs/components/SpecialReference/components/SubMenu/SubMenu.tsx","pages/Secretariats/LettersPage/components/LetterForm/components/LetterInformationForm/IndicatorNoDictionary/IndicatorNoDictionary.tsx","pages/Secretariats/LettersPage/components/LetterForm/components/LetterInformationForm/IndicatorNoDictionary/api.tsx","pages/Secretariats/LettersPage/components/LetterForm/components/LetterInformationForm/LetterInformationForm.tsx","pages/Secretariats/LettersPage/components/LetterForm/components/LetterReceiver/component/ReceiverForm.tsx","pages/Secretariats/LettersPage/components/LetterForm/components/LetterReceiver/LetterReceiver.tsx","pages/Secretariats/LettersPage/components/LetterForm/components/LetterSend/ViewSendForm.tsx","pages/Secretariats/LettersPage/components/LetterForm/components/LetterSend/LetterSend.tsx","pages/Secretariats/LettersPage/components/LetterForm/LetterForm.tsx","pages/ClientPortal/CustomerGeneralRequestForm/components/GeneralRequestsClassificationId/GeneralRequestsClassificationId.tsx","pages/ClientPortal/CustomerGeneralRequestForm/components/GeneralRequestsClassificationId/api.tsx","pages/OfficeAutomation/Cartable/components/ArchiveForm/api.tsx","components/checkbox/checkbox.tsx","components/LoadingIcon/LoadingIcon.tsx","components/TreeView/TreeView.tsx","components/TreeView/api.tsx","pages/Secretariats/Archive/ArchiveStructure/components/ArchiveFolderForm/ArchiveFolderForm.tsx","pages/Secretariats/Archive/ArchiveStructure/components/ArchiveFolderForm/api.tsx","pages/OfficeAutomation/Cartable/components/ArchiveForm/ArchiveForm.tsx","layouts/DashboardLayout/components/Header/component/profile/api.ts","layouts/DashboardLayout/components/Header/component/profile/components/person.tsx","pages/OfficeAutomation/Cartable/components/DailyLeaveRequestForm/RemainingDayCount.tsx","pages/OfficeAutomation/Cartable/components/DailyLeaveRequestForm/api.tsx","pages/OfficeAutomation/Cartable/components/GeneralRequestForm/api.tsx","pages/OfficeAutomation/Cartable/components/GeneralRequestForm/GeneralRequestForm.tsx","pages/OfficeAutomation/Cartable/components/HourlyLeaveForm/api.tsx","pages/OfficeAutomation/Cartable/components/JobSendForm/JobSendForm.tsx","pages/OfficeAutomation/Cartable/components/JobSendForm/api.tsx","pages/OfficeAutomation/Cartable/components/LetterSendForm/LetterSendForm.tsx","pages/ClientPortal/ECommerce/components/ItemGroupMenu/ItemGroupLabelSlider.tsx","pages/OfficeAutomation/Cartable/components/Signature/SignatureBaseUrl.ts","pages/OfficeAutomation/Cartable/components/Signature/api.tsx","assets/image/RejectedSignature_FA.png","pages/OfficeAutomation/Cartable/components/AcceptSelfService/AcceptSelfService.tsx","pages/Secretariats/Archive/ArchiveTree/components/DocumentsForm/DocumentArchiveForm.tsx","pages/Secretariats/Archive/ArchiveTree/components/DocumentsForm/api.tsx","pages/MeetingManagement/Meeting/components/InvitationForm/InvitationForm.tsx","pages/MeetingManagement/MeetingApproval/MeetingApprovalForm.tsx","pages/MeetingManagement/MeetingApproval/api.tsx","components/ButtonArrow/ButtonArrow.tsx","pages/MeetingManagement/Meeting/components/AttendeesPeople/api.tsx","components/FormWithTitle/FormWithTitle.tsx","pages/MeetingManagement/Meeting/components/AttendeesPeople/AttendeesPeople.tsx","pages/MeetingManagement/Meeting/components/InvitedPeopleList/api.tsx","pages/MeetingManagement/Meeting/components/MeetingForm/MeetingForm.tsx","pages/MeetingManagement/Meeting/components/MeetingForm/api.tsx","pages/OfficeAutomation/Features/BulletinBoard/api.tsx","pages/MeetingManagement/Meeting/components/InvitedPeopleForm/InvitPeopleForm.tsx","pages/MeetingManagement/Meeting/components/Invitaion/Invitaion.tsx","pages/MeetingManagement/Meeting/components/Invitaion/api.tsx","pages/MeetingManagement/Meeting/components/InvitedPeopleList/InvitedPeopleList.tsx","pages/MeetingManagement/Meeting/MeetingTabForm.tsx","pages/OfficeAutomation/BaseInformation/PeoplePage/components/PersonContactList/component/PersonContactForm/component/MapLocation.tsx","components/Address/Address.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/Customers/CustomerBranchesForm.tsx","pages/InventoryAndSales/Sales/PriceList/api.tsx","pages/InventoryAndSales/Sales/PriceList/components/PriceListDictionary/PriceListDictionary.tsx","components/TableTree/TableTree.tsx","components/TableTree/api.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/GeographicalClassification/components/GeographicalClassificationForm.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/GeographicalClassification/api.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/GeographicalClassification/GeographicalClassification.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/Customers/api.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/Customers/PersonDictionaryWithAdd.tsx","pages/OfficeAutomation/BaseInformation/PeoplePage/components/api/api.ts","pages/OfficeAutomation/BaseInformation/PeoplePage/components/PersonContactList/component/PersonContactForm/PersonContactForm.tsx","pages/OfficeAutomation/BaseInformation/PeoplePage/components/PersonContactList/PersonContactList.tsx","pages/OfficeAutomation/BaseInformation/PeoplePage/components/PersonLegalList/component/PersonLegalForm/PersonLegalForm.tsx","pages/OfficeAutomation/BaseInformation/PeoplePage/components/PersonRealList/components/PersonRealForm/PersonRealForm.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/Customers/PersonFormInTab.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/Customers/CustomerForm.tsx","pages/OfficeAutomation/Settings/City/api.tsx","pages/OfficeAutomation/Settings/City/components/CityDictionary.tsx","pages/OfficeAutomation/Settings/Province/api.tsx","pages/OfficeAutomation/Settings/Province/components/ProvinceDictionary.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/Customers/CustomerTaxForm.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/CustomerDictionary/api.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/CustomerDictionary/CustomerDictionary.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/Customers/RelatedCustomer.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/Customers/CustomerTabForm.tsx","pages/InventoryAndSales/Sales/PriceList/components/CurrencyDictionary/CurrencyDictionary.tsx","pages/InventoryAndSales/Sales/PriceList/components/CurrencyDictionary/api.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/AddressBox/AddressBox.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/AddressBox/api.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/CustomerPhoneDictionary/api.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/CustomerPhoneDictionary/CustomerPhoneDictionary.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/CustomerPhones/CustomerPhoneList.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/CustomerPhones/api.tsx","pages/InventoryAndSales/Sales/SalesOrder/api.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary.tsx","pages/InventoryAndSales/Sales/components/PriceDetails.tsx","pages/InventoryAndSales/Sales/components/ItemsForSell/api.tsx","pages/InventoryAndSales/Sales/components/ItemsForSell/ItemsForSell.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/WarehouseDictionary/WarehouseDictionaryWithAccess.tsx","pages/InventoryAndSales/Sales/SalesOrder/SalesOrderDetailForm.tsx","pages/InventoryAndSales/Sales/SalesOrder/SalesOrderForm.tsx","pages/InventoryAndSales/Sales/components/WarehouseForDetail.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/WarehouseTreeForm/api.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/WarehouseTreeForm/WarehouseTreeForm.tsx","pages/InventoryAndSales/Sales/SalesPreInvoice/api.tsx","pages/InventoryAndSales/Sales/SalesPreInvoice/components/SalesPreInvoiceDetail/ItemSelector.tsx","pages/InventoryAndSales/Sales/SalesPreInvoice/components/SalesPreInvoiceDetail/PriceFields.tsx","pages/InventoryAndSales/Sales/SalesPreInvoice/SalesPreInvoiceDetail.tsx","pages/InventoryAndSales/Sales/SalesInvoice/api.tsx","pages/InventoryAndSales/Sales/SalesPreInvoice/components/SalesPreInvoiceSourceId.tsx","pages/InventoryAndSales/Sales/SalesPreInvoice/SalesPreInvoiceForm.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/SalesInvoiceDetail/ItemSelector.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/SalesInvoiceDetail/PriceFields.tsx","pages/InventoryAndSales/Sales/SalesInvoice/SalesInvoiceDetailForm.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/DocsClassification/DocsClassification.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/DocsClassification/api.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/SalesInvoiceSourceId.tsx","pages/InventoryAndSales/Sales/SalesInvoice/SalesInvoiceForm.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/SalesInvoiceNo/api.tsx","pages/ClientPortal/ECommerce/components/Cart/components/api.tsx","pages/ClientPortal/ECommerce/components/Cart/components/CustomerSalesOrderDetailForm.tsx","pages/ClientPortal/ECommerce/components/Cart/components/CustomerSalesOrder.tsx","pages/InventoryAndSales/Inventory/WarehouseIO/api.tsx","pages/InventoryAndSales/Inventory/WarehouseIO/components/SellectableWarehouseItem/api.tsx","pages/InventoryAndSales/Inventory/WarehouseIO/components/SellectableWarehouseItem/SellectableWarehouseItem.tsx","pages/InventoryAndSales/Inventory/WarehouseIO/components/InventoryRemittance/ItemStockList.tsx","pages/InventoryAndSales/Inventory/WarehouseIO/components/InventoryRemittance/InventoryRemittanceDetailForm.tsx","pages/InventoryAndSales/Inventory/WarehouseIO/components/WarehouseIOTypeForm.tsx","pages/InventoryAndSales/Inventory/WarehouseIO/components/InventoryRemittance/InventoryRemittanceForm.tsx","pages/InventoryAndSales/Inventory/WarehouseIO/components/InventoryRemittance/api.tsx","pages/InventoryAndSales/Inventory/WarehouseIO/WarehouseIOForm.tsx","utils/dynamicForms.ts","pages/MeetingManagement/MeetingApproval/MeetingApprovalList.tsx","pages/MeetingManagement/Meeting/components/InvitationForm/api.tsx","pages/OfficeAutomation/Cartable/components/JobInvoiceForm/JobInvoiceForm.tsx","pages/ClientPortal/JobDeliveryForm/JobDeliveryForm.tsx","pages/ClientPortal/JobDeliveryForm/api.tsx","pages/OfficeAutomation/Cartable/components/LetterSendForm/LetterSendContent.tsx","pages/OfficeAutomation/Cartable/components/LetterSendForm/api.tsx","pages/ClientPortal/ServiceRequestForm/ServiceRequestForm.tsx","pages/ClientPortal/ServiceRequestForm/api.tsx","pages/ClientPortal/CustomerGeneralRequestForm/CustomerGeneralRequestForm.tsx","pages/ClientPortal/CustomerGeneralRequestForm/api.tsx","pages/OfficeAutomation/Cartable/components/DailyLeaveRequestForm/DailyLeaveRequestForm.tsx","pages/OfficeAutomation/Cartable/components/HourlyLeaveForm/HourlyLeaveForm.tsx","pages/OfficeAutomation/Cartable/components/Signature/Signature.tsx","pages/InventoryAndSales/Sales/Order/OrderForm.tsx","pages/InventoryAndSales/Sales/SalesPreInvoice/CustomerCreditControl/CustomerCreditControlForm.tsx","pages/InventoryAndSales/Sales/SalesPreInvoice/CustomerCreditControl/api.tsx","pages/AfterSales/api.tsx","pages/AfterSales/component/RefrenceHistory/ActionsOfReference.tsx","pages/AfterSales/component/RefrenceHistory/api/api.tsx","pages/AfterSales/component/RefrenceHistory/ReferenceHistory.tsx","pages/SystemManagement/Jobs/components/SpecialReference/components/BpmnTaskDictionary/BpmnTaskDictionary.tsx","pages/SystemManagement/Jobs/components/SpecialReference/components/BpmnTaskDictionary/api.tsx","pages/SystemManagement/Jobs/components/SpecialReference/components/BpmnTaskUserDictionary/BpmnTaskUserDictionary.tsx","pages/SystemManagement/Jobs/components/SpecialReference/components/ReferenceDictionary/ReferenceDictionary.tsx","pages/SystemManagement/Jobs/components/SpecialReference/components/ReferenceDictionary/api.tsx","pages/SystemManagement/Jobs/components/SpecialReference/SpecialReference.tsx","pages/SystemManagement/Jobs/components/SpecialReference/api.tsx","pages/AfterSales/DeviceDeliveries/api.tsx","pages/AfterSales/DeviceDeliveries/DevicePropertyValues/DevicePropertyValues.tsx","pages/AfterSales/DeviceDeliveries/DeviceDeliveryForm.tsx","pages/AfterSales/Settings/CustomerGeneralRequestClassification/api/api.tsx","pages/AfterSales/Settings/DeviceProperties/api.tsx","pages/AfterSales/Settings/PaymentCoverageTypeSetting/api/api.tsx","pages/AfterSales/Settings/ServiceRequestClassifications/api/api.tsx","pages/DashboardPage/api/api.tsx","components/Widget/Widget.tsx","pages/Secretariats/Archive/ArchiveTree/components/AttachmentViewer/CardBoxAttachment/CardBoxAttachment.tsx","pages/DashboardPage/components/Board/AttachmentViewer.tsx","pages/DashboardPage/components/Board/WidgetBoardDetail.tsx","pages/DashboardPage/components/Board/WidgetBoard.tsx","pages/DashboardPage/components/Calendar/WidgetCalendar.tsx","pages/DashboardPage/components/Clock/WidgetClock.tsx","pages/DashboardPage/components/Positions/WidgetPositions.tsx","pages/DashboardPage/components/Quote/WidgetQuote.tsx","pages/DashboardPage/components/MyOwnRequests/MyOwnRequests.tsx","pages/DashboardPage/components/SaleWidget/SaleWidget.tsx","pages/DashboardPage/DashboardPage.tsx","pages/OfficeAutomation/BaseInformation/GroupPositionPage/GroupPositionList/components/OtherGroups/components/api/api.tsx","pages/OfficeAutomation/BaseInformation/GroupPositionPage/GroupPositionList/components/OtherGroups/components/GroupPositionForm/GroupPositionForm.tsx","pages/OfficeAutomation/BaseInformation/GroupPositionPage/GroupPositionList/components/PositionAssigningToGroup/components/AssignedPositionList/AssignedPositionList.tsx","pages/OfficeAutomation/BaseInformation/GroupPositionPage/GroupPositionList/components/PositionAssigningToGroup/components/PositionList/PositionList.tsx","pages/OfficeAutomation/BaseInformation/GroupPositionPage/GroupPositionList/components/PositionAssigningToGroup/PositionAssigningToGroup.tsx","pages/OfficeAutomation/BaseInformation/GroupPositionPage/GroupPositionList/components/OtherGroups/OtherGroups.tsx","pages/OfficeAutomation/BaseInformation/GroupPositionPage/GroupPositionList/components/DefaultGroups/api/api.tsx","pages/OfficeAutomation/BaseInformation/GroupPositionPage/GroupPositionList/components/DefaultGroups/DefaultGroupMembers.tsx","pages/OfficeAutomation/BaseInformation/GroupPositionPage/GroupPositionList/components/DefaultGroups/DefaultGroups.tsx","pages/OfficeAutomation/BaseInformation/OrganizationaPage/api/api.tsx","pages/OfficeAutomation/BaseInformation/OrganizationaPage/components/OrganizationForm/OrganizationForm.tsx","pages/OfficeAutomation/BaseInformation/OrganizationaPage/components/OrganizationRoles/AddRoleForm.tsx","pages/OfficeAutomation/BaseInformation/OrganizationaPage/components/OrganizationRoles/OrganizationRoles.tsx","pages/OfficeAutomation/BaseInformation/OrganizationaPage/components/PositionForm/GroupPositionDictionarySelect.tsx","pages/OfficeAutomation/BaseInformation/OrganizationaPage/components/PositionForm/PositionForm.tsx","pages/OfficeAutomation/BaseInformation/OrganizationaPage/OrganizationalStructure.tsx","pages/OfficeAutomation/BaseInformation/PersonalArchive/PersonalArchiveStructure/components/ArchiveFolderForm/ArchiveFolderForm.tsx","pages/OfficeAutomation/BaseInformation/PersonalArchive/PersonalArchiveStructure/components/ArchiveFolderForm/api.tsx","pages/OfficeAutomation/BaseInformation/PersonalArchive/PersonalArchiveStructure/components/ArchiveForm/ArchiveForm.tsx","pages/OfficeAutomation/BaseInformation/PersonalArchive/PersonalArchiveStructure/components/ArchiveForm/api.tsx","pages/SystemManagement/Jobs/components/RefrenceHistory/ReferenceHistory.tsx","pages/SystemManagement/Jobs/components/RefrenceHistory/api/api.tsx","pages/OfficeAutomation/BaseInformation/PersonalArchive/PersonalArchiveTree/api.tsx","pages/Secretariats/Archive/ArchiveTree/components/AttachmentViewer/api.tsx","pages/Secretariats/Archive/ArchiveTree/components/AttachmentViewer/AttachmentViewer.tsx","pages/OfficeAutomation/BaseInformation/PersonalArchive/PersonalArchiveTree/components/JobList/api.tsx","pages/OfficeAutomation/BaseInformation/PersonalArchive/PersonalArchiveTree/components/JobList/SelectJobList.tsx","pages/OfficeAutomation/BaseInformation/PersonalArchive/PersonalArchiveTree/components/JobList/JobList.tsx","components/ButtonToolbarSearch/ButtonToolbarSearch.tsx","components/ToolbarInTab/ToolbarInTab.tsx","pages/OfficeAutomation/BaseInformation/PeoplePage/components/PersonLegalList/PersonLegalList.tsx","pages/OfficeAutomation/BaseInformation/PeoplePage/components/PersonRealList/PersonRealList.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/api.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/Conversion.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/api.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/UnitForm.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/barcodes/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemBarcodes/ItemBarcodesForm.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemBarcodes/ItemBarcodesList.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemBarcodes/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemBarcodes/ItemBarcodes.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemForm/components/ItemPropertiesValues.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemForm/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemProperties/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemProperties/ItemPropertiesForm.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemProperties/ItemPropertiesList.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemProperties/ItemProperties.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemTaxes/ItemTaxesForm.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemTaxes/ItemTaxes.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemTaxes/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemBranch/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemMainPropertyVariation/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemMainPropertyVariation/ItemMainPropertyValuesList.tsx","pages/InventoryAndSales/Inventory/ItemTree/components/ItemMainPropertyVariation/ItemMainPropertyVariation.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemBranch/ItemBranch.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemGroupBranch/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemGroupBranch/ItemGroupBranch.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemGroupLeaf/ItemGroupLeafForm.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemGroupLeaf/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemGroupLeaf/KeysList.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemGroupLeaf/ItemFormatsForm.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemGroupLeaf/ItemGroupLeaf.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemGroupRoot/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemGroupRoot/ItemGroupRoot.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemLeaf/components/Main.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemLeaf/components/Unit.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemLeaf/components/Packing.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemLeaf/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemLeaf/components/Tax.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemLeaf/ItemLeaf.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemVariationBranch/components/Main.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemVariationBranch/components/Packing.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemVariationBranch/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemVariationBranch/components/Tax.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemVariationBranch/components/Unit.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemVariationBranch/ItemVariationBranch.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemVariationLeaf/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemVariationLeaf/components/Main.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemVariationLeaf/components/Packing.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemVariationLeaf/components/Tax.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemVariationLeaf/components/Unit.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroup/ItemVariationLeaf/ItemVariationLeaf.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemGroupCodeSetting.tsx","pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/components/WarehouseAccesses/api.tsx","pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/components/WarehouseDetailForm/WarehouseDetailForm.tsx","pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/components/WarehouseDetailForm/api.tsx","pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/components/WarehouseForm/WarehouseAccesses.tsx","pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/components/WarehouseForm/WarehouseForm.tsx","pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/components/WarehouseForm/api.tsx","pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/components/WarehouseItemGroup/api.tsx","pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/components/WarehouseItemGroup/ItemsList.tsx","pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/components/WarehouseItemGroup/WarehouseItemGroup.tsx","pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/components/WarehouseAccesses/WarehouseAccesses.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/PeymentMethod/api.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/PeymentMethod/PeymentMethodForm.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesDocsClassification/api.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesDocsClassification/DocsClassificationForm.tsx","pages/InventoryAndSales/Sales/PriceList/components/PriceListAccess.tsx","components/DataGridEditable/EditableInput.tsx","components/DataGridEditable/GridSetting.tsx","components/DataGridEditable/DateFilter.tsx","components/DataGridEditable/DataGridEditable.tsx","pages/InventoryAndSales/Sales/PriceList/components/PriceListDetail/api.tsx","pages/InventoryAndSales/Sales/PriceList/components/ItemsForPriceList/api.tsx","pages/InventoryAndSales/Sales/PriceList/components/ItemsForPriceList/ItemsForPriceList.tsx","pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/components/WarehouseDictionarySelect/WarehouseDictionarySelect.tsx","pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/components/WarehouseDictionarySelect/api.tsx","pages/InventoryAndSales/Sales/PriceList/components/PriceListDetail/PriceInput.tsx","pages/InventoryAndSales/Sales/PriceList/components/PriceListDetail/PriceListDetailBulkAdd.tsx","pages/InventoryAndSales/Sales/PriceList/components/PriceListDetail/PriceListGroupEditForm.tsx","pages/InventoryAndSales/Sales/PriceList/components/PriceListDetail/PriceListDetail.tsx","pages/InventoryAndSales/Sales/PriceList/components/PriceListForm.tsx","components/GroupPerson/GroupPerson.tsx","components/GroupPerson/api.tsx","components/ModalStepper/ModalStepper.tsx","pages/OfficeAutomation/Cartable/types.ts","pages/OfficeAutomation/Cartable/components/ReferenceStepper/components/ReferenceForm/ReferenceForm.tsx","components/ProgresBarTask/ProgresBarTask.tsx","pages/OfficeAutomation/Cartable/components/ReferenceStepper/components/ReferenceContent/ReferenceContent.tsx","pages/OfficeAutomation/Cartable/components/ReferenceStepper/ReferenceStepper.tsx","pages/OfficeAutomation/Cartable/components/ReverseHistory/ReverseHistory.tsx","pages/OfficeAutomation/Cartable/components/ReverseHistory/api.tsx","pages/OfficeAutomation/Cartable/components/Terminated/Terminated.tsx","pages/OfficeAutomation/Cartable/components/ActionList/api/api.ts","pages/OfficeAutomation/Cartable/components/ActionList/components/ActionForm/ActionForm.tsx","pages/OfficeAutomation/Cartable/components/ActionList/components/RefrenceAndActionsForm/RefrenceAndActions.tsx","pages/OfficeAutomation/Cartable/components/ActionList/components/RefrenceAndActionsForm/api/api.tsx","pages/OfficeAutomation/Cartable/components/ActionList/components/Actions/Actions.tsx","pages/OfficeAutomation/Cartable/components/ActionList/components/JobActionList/api.tsx","pages/OfficeAutomation/Cartable/components/ActionList/components/JobActionList/JobActionList.tsx","pages/OfficeAutomation/Cartable/components/ActionList/components/ReferencesTree/ReferencesTree.tsx","pages/OfficeAutomation/Cartable/components/ActionList/components/ReferencesTree/api.tsx","pages/OfficeAutomation/Cartable/components/ActionList/ActionList.tsx","components/ButtonToolbarProcessStarting/ButtonToolbarProcessStarting.tsx","components/ButtonToolbarProcessStarting/api.ts","pages/OfficeAutomation/Cartable/components/Toolbar/Toolbar.tsx","pages/OfficeAutomation/Cartable/CartablePage.tsx","pages/OfficeAutomation/Chat/components/ContactList.tsx","utils/httpFile.tsx","pages/OfficeAutomation/Chat/api/api.tsx","pages/OfficeAutomation/Chat/components/MessageBox.tsx","pages/OfficeAutomation/Chat/components/GroupMembers.tsx","assets/image/logo.png","utils/chatHub.tsx","pages/OfficeAutomation/Personal/PersonalPlaning/api.tsx","pages/OfficeAutomation/Personal/PersonalPlaning/components/ActionList/components/ActionForm/ActionForm.tsx","pages/OfficeAutomation/Personal/PersonalPlaning/components/ActionList/api/api.ts","pages/OfficeAutomation/Personal/PersonalPlaning/components/ActionList/Actions.tsx","pages/OfficeAutomation/Personal/PersonalPlaning/components/PersonalPlaningForm.tsx","pages/OfficeAutomation/Personal/personalCalendar/component/CalendarDay/CalendarDay.tsx","pages/OfficeAutomation/Personal/personalCalendar/component/EventForm/EventForm.tsx","pages/OfficeAutomation/Personal/personalCalendar/api.tsx","pages/OfficeAutomation/Personal/personalCalendar/PersonalCalendar.tsx","pages/OfficeAutomation/Settings/DailyLeaveClassification/api/api.tsx","pages/OfficeAutomation/Settings/PostLevelPage/components/PostLevelForm.tsx","pages/OfficeAutomation/Settings/PostLevelPage/api/api.tsx","pages/OfficeAutomation/Settings/ProcessSetting/api/api.tsx","components/Application/Application.tsx","components/Application/api.tsx","pages/SystemManagement/Settings/Users/api.tsx","pages/SystemManagement/Settings/ImportProcessesForm.tsx","pages/OfficeAutomation/Settings/ProcessSetting/components/AssignmentRules/api/api.tsx","pages/OfficeAutomation/Settings/ProcessSetting/components/AssignmentRules/AssignmentRules.tsx","components/ProcessIcon/api.tsx","components/ProcessIcon/ProcessIcon.tsx","pages/OfficeAutomation/Settings/ProcessSetting/components/ProcessIconModal/ProcessIconModal.tsx","components/TypeSettingForm/TypeSettingForm.tsx","pages/Secretariats/Archive/ArchiveStructure/components/ArchiveRules/api.tsx","pages/Secretariats/Archive/ArchiveStructure/components/ArchiveForm/ArchiveAccess.tsx","pages/Secretariats/Archive/ArchiveStructure/components/ArchiveForm/ArchiveForm.tsx","pages/Secretariats/Archive/ArchiveStructure/components/ArchiveForm/api.tsx","pages/OfficeAutomation/Features/BulletinBoard/Boards/components/BoardAccess.tsx","pages/Secretariats/Archive/ArchiveTree/api/api.tsx","pages/Secretariats/Archive/ArchiveTree/components/JobList/api.tsx","pages/Secretariats/Archive/ArchiveTree/components/JobList/SelectJobList.tsx","pages/Secretariats/Archive/ArchiveTree/components/JobList/JobList.tsx","pages/Secretariats/LettersPage/components/ReserveForm/ReserveForm.tsx","pages/Secretariats/LettersPage/components/ReserveForm/api.tsx","pages/Secretariats/secretariats/api/api.tsx","pages/Secretariats/secretariats/components/IndicatorPatternsDictionary/IndicatorPatternForm.tsx","pages/Secretariats/secretariats/components/IndicatorPatternsDictionary/api.tsx","pages/Secretariats/secretariats/components/IndicatorPatternsDictionary/IndicatorPatternsDictionary.tsx","pages/Secretariats/secretariats/components/SecretariatMembers/api/api.tsx","pages/Secretariats/secretariats/components/PatternForm.tsx","pages/Secretariats/secretariats/components/SecretariatForm/SecretariatForm.tsx","pages/Secretariats/secretariats/components/SecretariatMembers/SecretariatMembers.tsx","pages/SystemManagement/BranchForm/api.tsx","pages/SystemManagement/Jobs/api.tsx","pages/SystemManagement/PeriodForm/api.tsx","pages/SystemManagement/Settings/OrganizationalAccesses/api/api.tsx","pages/SystemManagement/Settings/OrganizationalAccesses/components/OrganizationRoles/AddRoleForm.tsx","pages/SystemManagement/Settings/OrganizationalAccesses/components/OrganizationRoles/OrganizationRoles.tsx","pages/SystemManagement/Settings/OrganizationalAccesses/OrganizationalAccesses.tsx","pages/SystemManagement/Settings/Users/components/UserList/components/TreeUserRole/PositionRoleForm.tsx","pages/SystemManagement/Settings/Users/components/UserList/components/TreeUserRole/PositionTree.tsx","pages/SystemManagement/Settings/Users/components/UserList/components/TreeUserRole/TreeUserRole.tsx","pages/SystemManagement/Settings/Users/components/UserList/components/User/UserForm.tsx","pages/InventoryAndSales/Inventory/WarehouseItem/api.tsx","pages/InventoryAndSales/Inventory/WarehouseItem/ItemTreeForm.tsx","pages/InventoryAndSales/Inventory/WarehouseItem/WarehouseItemForm.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/BusinessActivityType/api.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/BusinessActivityType/BusinessActivityTypeForm.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/CustomerClassification/api.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/CustomerClassification/CustomerClassificationForm.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesOrderStatus/api.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesOrderStatus/SalesOrderStatusForm.tsx","pages/SystemManagement/Settings/MessageSetting/api.tsx","pages/SystemManagement/Settings/MessageSetting/MessageForm.tsx","pages/SystemManagement/Settings/MessageSetting/MessagePattern/api.tsx","pages/SystemManagement/Settings/MessageSetting/MessagePattern/MessagePatternForm.tsx","pages/SystemManagement/Settings/MessageSetting/MessagePattern/MessagePattern.tsx","pages/AfterSales/CustomerPositionList/api.tsx","pages/AfterSales/CustomerPositionList/CustomersUserForm.tsx","pages/ClientPortal/ECommerce/api.tsx","components/GroupingPrice/GroupingPrice.tsx","pages/ClientPortal/ECommerce/components/ItemCard/ItemCardImg.tsx","pages/ClientPortal/ECommerce/components/ItemCard/ItemCounterBtn.tsx","pages/ClientPortal/ECommerce/components/ItemCard/ItemCountSeter.tsx","pages/ClientPortal/ECommerce/components/ItemCard/ItemCard.tsx","pages/ClientPortal/ECommerce/components/ItemCard/ItemCards.tsx","pages/ClientPortal/ECommerce/components/ItemCardsHeader/ItemCardsHeader.tsx","pages/ClientPortal/ECommerce/components/ItemGroupMenu/ItemGroupLabel.tsx","pages/ClientPortal/ECommerceDEMO/components/FilterBox/FilterBox.tsx","pages/ClientPortal/ECommerce/ECommerce.tsx","pages/ClientPortal/ECommerce/components/ItemBuyBtn/ItemBuyImg.tsx","pages/ClientPortal/ECommerce/components/ItemBuyBtn/components/ItemBox.tsx","pages/ClientPortal/ECommerce/components/ItemBuyBtn/components/Cart.tsx","pages/ClientPortal/ECommerce/ItemDetail/components/Gallary/ImgBox.tsx","pages/ClientPortal/ECommerce/ItemDetail/components/Gallary/Gallery.tsx","pages/ClientPortal/ECommerce/ItemDetail/components/IncreaserDecreaser/IncreaserDecreaser.tsx","pages/ClientPortal/ECommerce/components/Cart/components/CartItem.tsx","pages/ClientPortal/ECommerceDEMO/components/ItemCard/ItemCounterBtn.tsx","pages/ClientPortal/ECommerceDEMO/components/ItemCard/ItemCountSeter.tsx","pages/ClientPortal/ECommerceDEMO/api.tsx","pages/ClientPortal/ECommerceDEMO/components/ItemCard/ItemCardImg.tsx","pages/ClientPortal/ECommerceDEMO/components/data/dataImg.tsx","pages/ClientPortal/ECommerceDEMO/components/ItemCard/ItemCard.tsx","pages/ClientPortal/ECommerceDEMO/components/ItemGroupMenu/ItemGroupLabelSlider.tsx","pages/ClientPortal/ECommerceDEMO/components/ItemCard/ItemCards.tsx","pages/ClientPortal/ECommerceDEMO/components/ItemGroupMenu/ItemGroupLabel.tsx","pages/ClientPortal/ECommerceDEMO/components/data/data.tsx","pages/ClientPortal/ECommerceDEMO/components/ItemCardsHeader/ItemCardsHeader.tsx","pages/ClientPortal/ECommerceDEMO/components/ItemDetail/components/IncreaserDecreaser/IncreaserDecreaser.tsx","pages/ClientPortal/ECommerceDEMO/components/Cart/components/CustomerSalesOrder.tsx","pages/ClientPortal/ECommerceDEMO/components/Cart/components/api.tsx","pages/ClientPortal/ECommerceDEMO/components/ItemBuyBtn/ItemBuyImg.tsx","pages/ClientPortal/ECommerceDEMO/components/Cart/components/CartItem.tsx","pages/ClientPortal/ECommerceDEMO/components/ItemDetail/components/Gallary/Gallery.tsx","pages/ClientPortal/MyOwnOrders/api.tsx","pages/ClientPortal/MyOwnOrders/MyOwnOrdersList.tsx","pages/ClientPortal/CustomerFeedBack/CustomerFeedBack.tsx","pages/ClientPortal/CustomerFeedBack/api.tsx","pages/ClientPortal/MyOwnRequests/api.tsx","pages/ClientPortal/MyOwnRequests/components/ReplyForm.tsx","pages/ClientPortal/MyOwnRequests/components/RequestsMessageBox.tsx","components/ModalStepper/ModalFormList.tsx","pages/ClientPortal/MyOwnRequests/components/RequestDetails.tsx","pages/ClientPortal/MyOwnRequests/components/RequestView.tsx","pages/ClientPortal/MyOwnRequests/MyOwnRequestsList.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/InventoryDocsClassification/api.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/InventoryDocsClassification/DocsClassificationForm.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/InventorySystemSetting/SystemSettingGroupTitle.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/InventorySystemSetting/SelectBoxHandle.tsx","pages/OfficeAutomation/Settings/ProcessSetting/components/ProcessDictionary/ProcessDictinary.tsx","pages/InventoryAndSales/Sales/SalesInvoice/components/WarehouseDictionary/WarehouseDictionary.tsx","components/CheckboxList/CheckBoxList.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/InventorySystemSetting/SystemSettingForm.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/ItemMainProperty/api.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/ItemMainProperty/ItemMainPropertyValues/ItemMainPropertyValueForm.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/ItemMainProperty/ItemMainPropertyValues/ItemMainPropertyValues.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/Currency/api.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/Customers/ImportCustomersForm.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesInvoiceStatus/api.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesInvoiceStatus/SalesInvoiceStatusForm.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesPreInvoiceStatus/api.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesPreInvoiceStatus/SalesPreInvoiceStatusForm.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesSystemSetting/SelectBoxHandle.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesSystemSetting/SystemSettingForm.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesSystemSetting/SystemSettingGroupTitle.tsx","pages/InventoryAndSales/Sales/components/api.tsx","pages/InventoryAndSales/Sales/components/SalesEditForm.tsx","pages/InventoryAndSales/Sales/SalesReturnInvoice/api.tsx","pages/InventoryAndSales/Sales/SalesReturnInvoice/SalesReturnInvoiceDetailForm.tsx","pages/InventoryAndSales/Sales/SalesReturnInvoice/SalesReturnInvoiceDetailsList.tsx","pages/InventoryAndSales/Sales/SalesReturnInvoice/components/SalesReturnInvoiceSourceId.tsx","pages/InventoryAndSales/Sales/SalesReturnInvoice/SalesReturnInvoiceForm.tsx","pages/MeetingManagement/Meeting/api.tsx","pages/MeetingManagement/Settings/MeetingClassification/api.tsx","pages/MeetingManagement/Settings/MeetingPlace/api.tsx","pages/OfficeAutomation/Cartable/MyRequests/api.tsx","pages/OfficeAutomation/Features/BulletinBoard/Boards/components/BoardForm.tsx","pages/OfficeAutomation/Features/Calendar/Events/api.tsx","pages/OfficeAutomation/Features/Calendar/Events/CalendarEventsForm.tsx","pages/OfficeAutomation/Features/Calendar/OrganizationEvents/api.tsx","pages/OfficeAutomation/Features/Calendar/OrganizationEvents/components/SelectDay.tsx","pages/OfficeAutomation/Features/Calendar/OrganizationEvents/OrganizationEventsForm.tsx","pages/OfficeAutomation/Features/SharingCenterArticle/api.tsx","pages/OfficeAutomation/Features/SharingCenterArticle/SharingCenteres/components/SharingCenteresAccess.tsx","pages/OfficeAutomation/Features/SharingCenterArticle/SharingCenteres/components/SharingCenteresForm.tsx","pages/OfficeAutomation/FormBuilder/components/CreateForm.tsx","pages/OfficeAutomation/FormBuilder/components/InputAvailable.tsx","pages/OfficeAutomation/FormBuilder/components/InputSetting.tsx","pages/OfficeAutomation/FormBuilder/components/DefaultSetting.tsx","pages/OfficeAutomation/FormBuilder/components/DataCollection/api.tsx","pages/OfficeAutomation/FormBuilder/components/DataCollection/DataCollectionPropertiesForm.tsx","pages/OfficeAutomation/FormBuilder/components/DataCollection/DataCollectionForm.tsx","pages/OfficeAutomation/FormBuilder/components/DynamicFormsPage/api.tsx","pages/OfficeAutomation/FormBuilder/components/DynamicFormsPage/DynamicFormData.tsx","pages/OfficeAutomation/Settings/City/CityForm.tsx","pages/OfficeAutomation/Settings/Province/ProvinceForm.tsx","pages/OfficeAutomation/Settings/SharingCenterArticleClassification/api.tsx","pages/SystemManagement/PersonnelCartable/api.tsx","pages/SystemManagement/PersonnelCartable/components/JobAndReference/JobAndReference.tsx","pages/SystemManagement/PersonnelCartable/components/JobAndReference/api.tsx","pages/SystemManagement/Reports/components/api.tsx","pages/SystemManagement/Reports/components/FeedApiForm.tsx","pages/SystemManagement/Reports/components/FeedApis.tsx","pages/SystemManagement/Reports/components/FeedMethodsForm.tsx","pages/SystemManagement/Reports/components/FeedMethods.tsx","pages/SystemManagement/Reports/components/EnumsDictionary.tsx","pages/SystemManagement/Reports/components/ParameterDataTypeDictionary.tsx","pages/SystemManagement/Reports/components/ParameterEnumDictionary.tsx","pages/SystemManagement/Reports/components/ParameterDictionaryValuse.tsx","pages/SystemManagement/Reports/components/ParameterOperatorTypesSelect.tsx","pages/SystemManagement/Reports/components/FeedParametersForm.tsx","pages/SystemManagement/Reports/components/FeedParameters.tsx","pages/SystemManagement/Reports/components/ReportTemplates.tsx","pages/SystemManagement/Reports/components/WithFeed.tsx","components/Databases/Databases.tsx","components/Databases/api.tsx","layouts/DashboardLayout/components/Sidebar/component/OperatorOptions.tsx","layouts/DashboardLayout/components/Sidebar/component/FilterReportForm.tsx","pages/SystemManagement/Reports/components/ImportReportForm.tsx","pages/SystemManagement/Reports/api.tsx","pages/TreasuryAndAccounting/Treasury/BaseDefinitionAndSetting/BankAccountType/api.tsx","pages/TreasuryAndAccounting/Treasury/BaseDefinitionAndSetting/BankAccountType/BankAccountTypeForm.tsx","pages/TreasuryAndAccounting/Treasury/BaseDefinitionAndSetting/BankPOS/api.tsx","pages/TreasuryAndAccounting/Treasury/BaseDefinitionAndSetting/BankPOS/BankPOSForm.tsx","pages/TreasuryAndAccounting/Treasury/BaseDefinitionAndSetting/DocsClassification/api.tsx","pages/TreasuryAndAccounting/Treasury/BaseDefinitionAndSetting/DocsClassification/DocsClassificationForm.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/Bank/api.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/Bank/BankForm.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/BankAccounts/api.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/BankAccounts/components/DocsClassification/DocsClassification.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/BankAccounts/components/DocsClassification/api.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/BankAccounts/BankAccountsForm.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/CashAccount/api.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/CashAccount/components/api.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/CashAccount/CashAccountAccesses.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/CashAccount/components/CashAccountAccess.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/CashAccount/CashAccountForm.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/TreasurySubject/api.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/TreasurySubject/TreasurySubjectForm.tsx","pages/TreasuryAndAccounting/Treasury/Receipt/api.tsx","pages/TreasuryAndAccounting/Treasury/Receipt/components/DocsClassification/DocsClassification.tsx","pages/TreasuryAndAccounting/Treasury/Receipt/components/DocsClassification/api.tsx","pages/TreasuryAndAccounting/Treasury/Receipt/ReceiptForm.tsx","pages/ClientPortal/MyOwnInvoice/api.tsx","pages/ClientPortal/MyOwnInvoice/components/CustomerSalesInvoice/CustomerSalesInvoiceDetailForm.tsx","pages/ClientPortal/MyOwnInvoice/components/CustomerSalesInvoice/CustomerSalesInvoice.tsx","pages/ClientPortal/MyOwnInvoice/components/CustomerSalesInvoice/api.tsx","pages/InventoryAndSales/Inventory/InventoryRequests/api.tsx","pages/InventoryAndSales/Sales/SalesRequest/api.tsx","pages/InventoryAndSales/Sales/SalesContract/api.tsx","pages/InventoryAndSales/Sales/SalesContract/components/GuaranteeForm.tsx","pages/InventoryAndSales/Sales/SalesContract/components/DocsClassification/DocsClassification.tsx","pages/InventoryAndSales/Sales/SalesContract/components/DocsClassification/api.tsx","pages/InventoryAndSales/Sales/SalesContract/SalesContractDetailForm.tsx","pages/InventoryAndSales/Sales/SalesContract/components/MainForm.tsx","pages/InventoryAndSales/Sales/SalesContract/SalesContractForm.tsx","utils/routes.tsx","pages/OfficeAutomation/BaseInformation/PersonalArchive/PersonalArchiveTree/PersonalArchiveTree.tsx","pages/OfficeAutomation/BaseInformation/PersonalArchive/PersonalArchiveStructure/PersonalArchiveStructure.tsx","pages/OfficeAutomation/BaseInformation/PersonalArchive/PersonalArchiveStructure/api.tsx","pages/OfficeAutomation/FormBuilder/FormBuilder.tsx","pages/OfficeAutomation/FormBuilder/components/DynamicFormsPage/DynamicFormsPage.tsx","pages/OfficeAutomation/Settings/Province/Province.tsx","pages/OfficeAutomation/Settings/City/City.tsx","pages/OfficeAutomation/Settings/DailyLeaveClassification/DailyLeaveClassification.tsx","pages/OfficeAutomation/Settings/GeneralRequestClassifications/GeneralRequestClassifications.tsx","pages/OfficeAutomation/Settings/GeneralRequestClassifications/api.tsx","pages/OfficeAutomation/Settings/SharingCenterArticleClassification/SharingCenterArticleClassification.tsx","pages/OfficeAutomation/Settings/PostLevelPage/PostLevelPage.tsx","pages/OfficeAutomation/Settings/PersonTitles/PersonTitles.tsx","pages/OfficeAutomation/Settings/PersonTitles/api.tsx","pages/OfficeAutomation/Settings/ReferenceSubjectSetting/ReferenceSubjectSetting.tsx","pages/OfficeAutomation/Settings/ReferenceSubjectSetting/api/api.tsx","pages/OfficeAutomation/Settings/SendMethodSetting/SendMethodSetting.tsx","pages/OfficeAutomation/Settings/SendMethodSetting/api.tsx","pages/OfficeAutomation/Personal/PersonalPlaning/PersonalPlaning.tsx","pages/OfficeAutomation/BaseInformation/PeoplePage/PeoplePage.tsx","pages/OfficeAutomation/BaseInformation/GroupPositionPage/GroupPositionList/GroupPositionList.tsx","pages/OfficeAutomation/Features/Calendar/Events/CalendarEvents.tsx","pages/OfficeAutomation/Features/Calendar/OrganizationEvents/OrganizationEvents.tsx","pages/OfficeAutomation/Features/BulletinBoard/Boards/Boards.tsx","pages/OfficeAutomation/Features/SharingCenterArticle/SharingCenteres/SharingCenteres.tsx","pages/SystemManagement/PersonnelCartable/PersonnelCartable.tsx","pages/OfficeAutomation/Cartable/MyRequests/MyRequests.tsx","pages/Secretariats/secretariats/secretariats.tsx","pages/Secretariats/LettersPage/LettersPage.tsx","pages/Secretariats/Archive/ArchiveTree/ArchiveTree.tsx","pages/Secretariats/Archive/ArchiveStructure/ArchiveStructure.tsx","pages/Secretariats/Archive/ArchiveStructure/api/api.tsx","pages/Secretariats/Settings/IndicatorPatterns/IndicatorPatterns.tsx","pages/Secretariats/Settings/IndicatorPatterns/api.tsx","pages/Secretariats/Settings/LetterSubjectTypeSetting/LetterSubjectTypeSetting.tsx","pages/Secretariats/Settings/LetterSubjectTypeSetting/api/api.tsx","pages/Secretariats/Settings/DocumnetArchiveRequestClassification/DocumnetArchiveRequestClassification.tsx","pages/Secretariats/Settings/DocumnetArchiveRequestClassification/api.tsx","pages/MeetingManagement/Meeting/Meeting.tsx","pages/MeetingManagement/Settings/MeetingClassification/MeetingClassification.tsx","pages/MeetingManagement/Settings/MeetingPlace/MeetingPlace.tsx","pages/InventoryAndSales/Inventory/InventoryRequests/InventoryRequests.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/Unit.tsx","pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/WarehouseStructure.tsx","pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/api/api.tsx","pages/InventoryAndSales/Inventory/ItemTree/ItemTree.tsx","pages/InventoryAndSales/Inventory/ItemGroups/ItemGroups.tsx","pages/InventoryAndSales/Inventory/WarehouseItem/WarehouseItem.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/barcodes/barcodes.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/ItemMainProperty/ItemMainProperty.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/InventoryDocsClassification/DocsClassification.tsx","pages/InventoryAndSales/Inventory/WarehouseIO/WarehouseIo.tsx","pages/InventoryAndSales/Sales/SalesRequest/SalesRequest.tsx","pages/InventoryAndSales/Sales/PriceList/PriceList.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/Currency/Currency.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/Customers/Customers.tsx","pages/InventoryAndSales/Sales/SalesOrder/SalesOrder.tsx","pages/InventoryAndSales/Sales/SalesPreInvoice/SalesPreInvoice.tsx","pages/InventoryAndSales/Sales/SalesInvoice/SalesInvoice.tsx","pages/InventoryAndSales/Sales/SalesReturnInvoice/SalesReturnInvoice.tsx","pages/InventoryAndSales/Sales/SalesContract/SalesContract.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/CustomerClassification/CustomerClassification.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/BusinessActivityType/BusinessActivityType.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesOrderStatus/SalesOrderStatus.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesInvoiceStatus/SalesInvoiceStatus.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesPreInvoiceStatus/SalesPreInvoiceStatus.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesSystemSetting/SalesSystemSetting.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesSystemSetting/api.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/PeymentMethod/PeymentMethod.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/InventorySystemSetting/InventorySystemSetting.tsx","pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/InventorySystemSetting/api.tsx","pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesDocsClassification/DocsClassification.tsx","pages/SystemManagement/Settings/Users/components/UserList/components/UserList.tsx","pages/OfficeAutomation/Settings/ProcessSetting/ProcessSetting.tsx","pages/SystemManagement/Jobs/Jobs.tsx","pages/SystemManagement/Reports/Reports.tsx","pages/SystemManagement/ReportsDatabases/ReportsDatabases.tsx","pages/SystemManagement/ReportsDatabases/api.tsx","pages/SystemManagement/Settings/MessageSetting/MessageSetting.tsx","pages/SystemManagement/BranchForm/BranchForm.tsx","pages/SystemManagement/PeriodForm/PeriodForm.tsx","pages/SystemManagement/ChatSettingForm/ChatSettingForm.tsx","pages/SystemManagement/ChatSettingForm/api.tsx","pages/AfterSales/CustomerPositionList/CustomerPositionList.tsx","pages/AfterSales/CustomerRequests.tsx","pages/AfterSales/DeviceDeliveries/DeviceDeliveries.tsx","pages/AfterSales/Settings/ServiceRequestClassifications/ServiceRequestClassifications.tsx","pages/AfterSales/Settings/CustomerGeneralRequestClassification/CustomerGeneralRequestClassification.tsx","pages/AfterSales/Settings/DeviceProperties/DeviceProperties.tsx","pages/AfterSales/Settings/PaymentCoverageTypeSetting/PaymentCoverageTypeSetting.tsx","pages/ClientPortal/MyOwnRequests/MyOwnRequestsPage.tsx","pages/ClientPortal/MyOwnOrders/MyOwnOrdersPage.tsx","pages/ClientPortal/MyOwnInvoice/MyOwnInvoice.tsx","pages/OfficeAutomation/Chat/Chat.tsx","pages/ClientPortal/ECommerceDEMO/ECommerceDEMO.tsx","pages/ClientPortal/ECommerce/ItemDetail/ItemDetail.tsx","pages/ClientPortal/ECommerce/ItemDetail/api.tsx","pages/ClientPortal/ECommerceDEMO/components/ItemDetail/ItemDetail.tsx","pages/ClientPortal/ECommerceDEMO/components/Cart/Cart.tsx","pages/ClientPortal/ECommerce/components/Cart/Cart.tsx","pages/NotFoundPage/NotFoundPage.tsx","pages/UnAuthorizedPage/UnAuthorizedPage.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/BankAccounts/BankAccounts.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/Bank/Bank.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/TreasurySubject/TreasurySubject.tsx","pages/TreasuryAndAccounting/Treasury/BaseInformation/CashAccount/CashAccount.tsx","pages/TreasuryAndAccounting/Treasury/BaseDefinitionAndSetting/DocsClassification/DocsClassification.tsx","pages/TreasuryAndAccounting/Treasury/BaseDefinitionAndSetting/BankPOS/BankPOS.tsx","pages/TreasuryAndAccounting/Treasury/BaseDefinitionAndSetting/BankAccountType/BankAccountType.tsx","pages/TreasuryAndAccounting/Treasury/Receipt/Receipt.tsx","layouts/DashboardLayout/components/BreadCrumb/BreadCrumb.tsx","assets/image/iranFlag.png","layouts/DashboardLayout/components/Footer/Footer.tsx","layouts/DashboardLayout/components/Footer/api.tsx","components/BellNotification/BellNotification.tsx","components/BellNotification/api.tsx","assets/image/uflag.jpg","layouts/DashboardLayout/components/Sidebar/api.ts","layouts/DashboardLayout/components/Header/component/flagImg/image.tsx","layouts/DashboardLayout/components/Header/component/flagImg/listFlagLang.tsx","assets/image/user-transformed.png","pages/OfficeAutomation/BaseInformation/PersonSignature/api.tsx","pages/OfficeAutomation/BaseInformation/PersonSignature/componenet/PersonSignatureForm.tsx","pages/OfficeAutomation/BaseInformation/PersonSignature/PersonSignature.tsx","utils/callHub.tsx","layouts/DashboardLayout/components/Header/component/profile/components/ChangePasswordForm.tsx","layouts/DashboardLayout/components/Header/component/profile/components/ContactData.tsx","layouts/DashboardLayout/components/Header/component/profile/components/SubstituteForm.tsx","layouts/DashboardLayout/components/Header/component/profile/components/UserInfoForm.tsx","layouts/DashboardLayout/components/Header/component/profile/profile.tsx","pages/SettingPage/Help/Help.tsx","layouts/DashboardLayout/components/Header/component/SettingMenu/components/WidgetForm.tsx","layouts/DashboardLayout/components/Header/component/SettingMenu/components/NotifSettingForm.tsx","layouts/DashboardLayout/components/Header/component/SettingMenu/components/SharingCenterArticleUser/api.tsx","layouts/DashboardLayout/components/Header/component/SettingMenu/components/SharingCenterArticleUser/SharingCenterArticleUserForm.tsx","layouts/DashboardLayout/components/Header/component/SettingMenu/components/SharingCenterArticleUser/SharingCenterArticleUser.tsx","layouts/DashboardLayout/components/Header/component/SettingMenu/SettingMenu.tsx","components/ChatNotification/ChatNotification.tsx","components/FormsNotification/FormsNotification.tsx","layouts/DashboardLayout/components/Header/component/fullScreanButton/FullScreanButton.tsx","components/EventNotification/components/TabEventNotification.tsx","components/EventNotification/EventNotification.tsx","components/EventNotification/api.tsx","components/BoardNotification/BoardNotification.tsx","pages/ClientPortal/ECommerce/components/ItemBuyBtn/LeftSidebar.tsx","layouts/DashboardLayout/components/Header/Header.tsx","layouts/DashboardLayout/components/Main/Main.tsx","layouts/DashboardLayout/components/Sidebar/component/topSidebar/topSidebar.tsx","layouts/DashboardLayout/components/Sidebar/Sidebar.tsx","layouts/DashboardLayout/DashboardLayout.tsx","utils/AuthHandler.tsx","App.tsx","reportWebVitals.ts","index.tsx"],"names":["ComponentHOC","_ref","component","Component","type","mode","link","_jsx","Navigate","to","urlParams","URLSearchParams","window","location","search","result","i","Array","from","keys","get","trans","key","params","defaultValue","lang","localStorage","getItem","data","paramList","defaultV","val","JSON","parse","slice","length","replace","toLowerCase","_val","concat","undefined","changeDateFormat","date","split","replaceAll","t","convertToISO","dateString","includes","datePart","timePart","dateParts","year","month","day","map","Number","hours","minutes","timeParts","Date","toISOString","findRoutesTitle","targetRoutes","wantedRoute","foundRoute","foundRouteTitle","hasComponent","Object","every","item","route","title","routes","renderRoutes","routeList","PositionId","Routes","children","app","_jsxs","Route","path","j","index","element","_Fragment","k","_routes$app","_routes$app$k","_routes$app2","_routes$app2$k","_routes$app3","_routes$app3$k","_routes$app4","_routes$app4$k","_routes$app8","_routes$app8$k","_routes$app9","_routes$app9$k","_routes$app10","_routes$app11","_routes$app11$k","_routes$app12","_routes$app12$k","_routes$app13","_routes$app5","_routes$app5$k","_routes$app6","_routes$app6$k","_routes$app7","_routes$app7$k","findValueByKey","object","objKey","value","forEach","useOutsideClick","callback","ref","useRef","useEffect","handleClick","event","current","contains","target","document","addEventListener","removeEventListener","dateConverter","jy","jm","jd","gy2","days","getPageSize","name","newSize","sizePage","locallist","hedTables","flag","push","setItem","stringify","getGridSetting","settings","uuidv4","c","r","Math","random","toString","exportCSVFile","headers","items","fileTitle","unshift","csv","objArray","array","str","line","convertToCSV","exportedFilenmae","blob","Blob","Uint8Array","navigator","msSaveOrOpenBlob","createElement","download","url","URL","createObjectURL","setAttribute","style","visibility","body","appendChild","click","removeChild","downloadCSV","arguments","startindex","fileName","itemsFormatted","obj","hed","postDataForPrint","repData","http","baseURL","process","ENDPOINTS","reportST","saveData","method","then","res","catch","err","Promise","reject","async","GetReportWithJsonData","id","getReport","_objData","FormData","append","open","sessionStorage","addItemToBasket","Basket","_Basket","_Basket2","_Basket3","order","count","Id","values","getBasketData","isNumber","isNaN","GroupingPriceFunction","price","_price","padWithZeros","num","difference","repeat","RoundWithRoundingPlace","roundingPlace","prec","pow","abs","round","FloorWithRoundingPlace","floor","convertAddress","converData","error","numberPattern","validateInput","input","RegExp","test","validateInputAsNumber","RoundOutputOperation","number","textChange","regex","text","application","browse","dictionary","menu","dataSource","SharingCenterArticleUserApi","load","attachment","BaseDefinitionAndSetting","Country","dictionaryId","Province","City","SharingCenterApi","SharingCenterArticleClassification","SharingCenter","endDate","file","access","afterSalesApi","history","transfer","stop","insertNote","userId","customerInfo","customerInProgressRequests","CurrentReferencePositions","postRefrence","postReferenceList","customerList","detailCode","addUserWithDetailCode","deviceProperty","list","DeviceDelivery","customerServiceRequestClassification","PaymentCoverageType","CustomerGeneralRequestClassification","databases","report","groupedReports","reportFeed","bpmnApi","getAll","getStarting","getStartForm","getViewForm","getProcessTasks","exportProcessMakerFile","postProcessesFiles","getProcessId","getProcessDictionaryAll","TaskUser","Task","bpmnProcessIcon","bpmnProcessApplication","delete","setDefault","messageHub","tokenFile","cleanUp","chatWeb","appSettings","resetCache","Chatuser","userInfo","Widget","bords","widgetListName","bord","bordUrl","dayMessage","dayEvents","weekEvents","personalTask","dayInfo","bordAttachment","personDayEvents","bulletinBoard","fileUrl","personalPlanningApi","personalAction","Attachment","PersonalTask","status","icon","tadbirAuthorizeApi","organizationRole","positionRole","resources","enumeration","enumTypes","archive","personalArchive","getId","archives","organizationalArchiveAccess","JobOrganizationalArchiveDetail","fileList","attachmentText","help","removeArchivedJob","JobPersonalArchiveDetail","organizationalArchive","Tree","organizationalArchiveDetail","savedArchive","personalArchiveDetail","documentArchive","referenceId","documentArchiveRequestClassification","userApi","personUser","userList","users","reset","lockout","UserAuthorize","assignmentRole","profileApi","profile","ChangePassword","BaseInformation","person","all","email","DictionaryOrganization","chatUserList","updatePicture","searchByNumber","PersonContact","Load","default","landLine","mobile","addresses","phones","brows","nationalEcoCode","CurrentPersonContact","PersonRealTitle","PersonSignature","active","inactive","PersonLegalTitle","postLevel","position","dictionaryOrganizationType","getPosition","dictionaryList","dictionaryWithAcc","substitute","substituteId","groupPosition","browsedefaults","details","defaultGroupsdetails","organization","canAdd","byType","edit","getChildren","getNode","deleteNode","moveNode","cartable","base","getDynamicForms","undo","accept","terminated","cancelTerminated","requester","JobReferrer","ReferencesActions","ReferencesTree","attachmentFile","DeleteFile","ongoing","hasFollowUp","setJobInProgress","myRequests","notifications","notificationsDictionary","refer","reverse","reverseList","jobDelivery","action","jobActions","attachments","loadAttachment","signature","sendMethod","JobSend","job","jobId","jobList","DictionaryReference","GeneralRequest","GeneralRequestId","GeneralRequestList","GeneralRequestClassification","jobInvoice","reference","postReference","actions","referenceSubject","DailyLeaveRequestClassification","dailyLeave","PrintData","leaveDaysRemains","HourlyLeave","PersonnelCartable","attachmentDetail","JobAndReference","clientPortal","startUpProcess","startForm","DynamicForms","chat","Responsible","feedBack","customerServiceRequest","detail","reply","cancel","serials","resend","validate","CustomerPositionList","CustomerPositionId","followupResponsible","CustomerGeneralRequest","secretariat","indicatorPatterns","SecretariatIndicatorPattern","dictionaryAll","allowUpdate","secretariatAccess","letterSubject","letterReceiver","receiverDictionary","letterSignature","letter","chooseRelated","defaultAttachment","defaultFileAttachment","indicator","reserved","loadLetter","dictionaryReserved","related","secretariatNo","letterSent","calendar","reminder","OrganizationEvents","Calendar","WeekendOrganizationEvents","GregorianOrganizationEvents","LunarOrganizationEvents","SolarOrganizationEvents","CalendarEvents","NationalWeekendOrganizationEvents","OrganizationalWeekendOrganizationEvents","Transfer","Count","PersonalEvent","Management","period","Branch","JobManagement","JobEntireTree","designer","viewer","reportGroup","browsTemplate","reportTemplate","ENDPOINTSINVENTORYANDSALES","SaleWidget","Sales","SalesRequest","PaymentMethod","CustomerSalesInvoiceApis","CustomerSalesInvoice","CustomersStoreApi","CustomersStore","SellableItemsTree","SellableItemsList","ItemPrice","groupLeaves","constraint","SalesOrderApis","SalesOrder","addFirst","Calculate","nextOrderNo","FromSource","Details","resendJob","workFlow","printData","CustomerSalesOrderApis","CustomerSalesOrder","BaseInformationApi","load1","Currency","conversionRatio","PriceListApis","listDictionary","clone","ecommercePriceListlistDictionary","PriceListDetailApis","browseList","bulk","batch","editable","itemsTree","itemsPaging","Customer","Import","nextCode","personCustomer","credit","getEditableColumns","putEditableColumns","SalesOrderStatus","SalesInvoiceStatus","SalesPreInvoiceStatus","CustomerClassification","SalesDocsClassification","BusinessActivityType","GeographicalClassification","SalesSystemSetting","groupTitle","CustomerRelationType","SalesInvoice","middle","nextInvoiceNo","getOrGenerate","generate","workflow","optionalDiscount","FromSourceWithIncrease","void","sync","invoiceCustomer","invoiceDate","invoiceNo","EditInvoiceStatus","invoiceCottage","SalesReturnInvoice","SalesContract","kindDictionary","SalesPreInvoice","WithDetails","Calculat","workflowFromSource","Inventory","InventoryRequest","WarehouseIOApis","InventoryRemittance","addWorkflow","putWorkflow","warehouseIOKindDictionary","nextNo","refrenceId","ItemOtherPropertyValue","ItemPriceApis","ItemsTree","ItemsList","ItemBarcode","ItemTax","ItemOtherProperty","Properties","ItemItemOtherProperty","PropertiesEdit","ItemApis","ItemTree","ItemGroupRootsFormat","store","subItemGroup","itemGroup","itemGroupRoot","itemGroupLeaf","itemGroupBranch","itemBranch","itemLeaf","newItemVariation","itemVariationBranch","itemVariationLeaf","itemGroupDictionary","ItemGroupList","getFull","checkLevel","checkCode","getRootes","getLeafList","attach","attachThumbnail","WarehouseItem","editList","itemDetail","sellectableWarehouseItemList","sellectableWarehouseItemDetail","warhouseItemGroup","Warehouse","dictionaryHasAccess","WarehouseDetail","Unit","taxdictionary","defaultUnit","WarehouseItemGroup","hasItemGroup","BaseDefinitionAndSettingApi","Barcode","ItemMainProperty","ItemMainPropertyValues","physicalQuantity","inventorySystemSetting","InventoryDocsClassification","ENDPOINTSNOTIFYING","messageSettingsApis","messageSetting","MessagePatternsApis","MessagePattern","ENDPOINTSREPORT","Report","tree","Export","withFeed","reportView","feedApi","feedMethod","createMenu","Databases","reinitialize","setAsDefault","ReportFeed","loadApi","loadMethod","browseApi","browseMethod","operatorTypes","parameterTypes","parameterEnums","methodEnumTypes","GenericDictionary","GenericDictionaryValues","gnerate","service","parameters","templates","templatesList","ENDPOINTSDYNAMICFORMS","DynamicFormApis","JobId","allForms","formKey","checkEmpty","dynamicForm","CheckExist","dataCollection","dataCollectionProperties","dataCollectionPropertiesDictionary","ENDPOINTSMEETINGMANAGEMENT","CalenderApis","MeetingApis","Meeting","Invitation","InvitedId","PresenceType","AttendanceId","approvalForSign","putMinute","finishMeeting","conflict","Signature","MeetingApproval","List","MeetingId","BaseDefinitionAndSettingsApi","MeetingClassification","MeetingPlace","ENDPOINTSTREASURYANDACCOUNTING","Treasury","Bank","BankAccounts","TreasurySubject","CashAccount","BankAccountType","DocsClassification","BankPOS","PaymentServiceProvider","Receipt","Accounting","AUTH_URL_CALL","AUTH_TOKEN_URL","APP_URL","INVENTORYANDSALES_URL","DYNAMICFORMS_URL","MEETINGMANAGEMENT_URL","NOTIFYING_URL","TREASURY_AND_ACCOUNTING_URL","CHAT_URL","CALL_URL","REPORT_URL","NOTIFICATION_URL","STORAGE_URL","ICON_TYPE","GUID_EMPTY","weekdays_en","weekdays_fa","EMOJIS","DisplayableFormats","maximumTimeOut","CartableType","ActivityStatus","MeetingStatus","JobStatus","ReferenceStatus","Priority","AssignTypes","Sex","LegalType","ContactType","OrganizationType","HolidayType","CalendarType","CalendarEventType","ReminderStatus","PersonalCalendarEventStatus","TaskStatus","LetterRelationType","LetterSecurity","LetterType","LetterUrgency","TaxTypeItem","MessageType","InvitationStatus","InputTypes","InvitedPersonType","PropertyType","RoleOperationType","CustomerDictionaryShowMethod","warehouseIOType","InputTextType","InputTextTypePlaceholder","tel","nationalCode","birthCertNo","econNo","nationalIdentifier","PostalCode","KeyCodesObject","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","forbiddenCount","handleExit","Idtoken","href","axios","create","Accept","timeout","interceptors","request","use","config","token","duration","auth","checkTokenExpire","attempt","resolve","setTimeout","classList","add","console","log","response","remove","Confirm","confirm","_res$data","_res$data$Data","_res$data$Data$","_res$data2","re","Toast","Message","Data","_res$data3","_res$data$Data$2","_res$data4","_err$response","_err$response2","_err$response4","_err$response4$data","_err$response5","_err$response5$data","statusCode","_err$response3","Response","message","_err$response6","_err$response6$data","_err$response7","_err$response7$data","_err$response7$data$D","_err$response10","_err$response10$data","_err$response8","_err$response9","_err$response9$data","_err$response13","_err$response13$data","_err$response11","_err$response12","massage","messageType","yesFunc","noFunc","timeID","getTime","node","showDataFlag","toastStyle","success","warning","info","toastBackgroundColor","customColor","_document$getElementB","_document$getElementB2","getElementById","yes","_document$getElementB3","_document$getElementB4","e","_document$getElementB5","preventDefault","className","yesBtn","noBtn","focus","activeElement","_document$getElementB6","no","_document$getElementB7","_document$getElementB8","showData","_document$getElementB10","_document$getElementB11","stopPropagation","arrow","child","lastElementChild","_document$getElementB9","dataList2","_trans","_trans$replaceAll","_trans$replaceAll$rep","MessagemessageType","insertAdjacentHTML","join","parent","clientHeight","heightChild","sideSection","height","tanslatedText","confirmDelete","toastEl","getElementsByClassName","_document$getElementB12","_document$getElementB13","_document$getElementB14","_document$getElementB15","_document$getElementB16","_document$getElementB17","_document$getElementB19","_document$getElementB18","_document$getElementB20","ToastShow","Textbox","React","memo","withLabel","useEval","fixedLanguage","useGroupingPrice","UsepadWithZeros","decimals","capsLock","onBlurHandler","fixedlabel","autoFocus","useTrans","recordedData","ExtraDescription","min","max","labelText","required","textboxType","minHeight","minLength","maxLength","textboxName","Change","onChange","readonly","resetForm","setValid","placeholder","customClass","letterCounter","withChangeDir","usePrevDefaultValue","step","asNumber","TEXTBOX_VAL","setTEXTBOX_VAL","useState","disabled","regexMsgShow","setRegexMsgShow","maxLengthMsgShow","setMaxLengthMsgShow","requiredMsgShow","setRequiredMsgShow","setCount","inputRef","Checkrequired","maxLengthCheck","checkRegexValidation","hasNewLine","newValue","valditaionRegex","validationRegexResult","_newValue","toUpperCase","REGEX","setCustomValidity","valditionMsg","reportValidity","endsWith","startsWith","eval","tagName","handleKeyDown","OverlayTrigger","placement","delay","show","hide","overlay","Tooltip","width","direction","maxWidth","FontAwesomeIcon","marginRight","onClick","offset","rows","onBlur","onMouseDown","pattern","onKeyDown","autoComplete","padding","htmlFor","dangerouslySetInnerHTML","__html","UserTabs","getToken","code","code_verifier","removeItem","access_token","id_token","refresh_token","expires_in","exp","now","cookie","cacheNames","caches","cache","clearCacheStorage","refreshToken","expire","_UserTabs","openedlogoutWindow","close","isTokenExpired","verifier_","challenge","require","pkceChallenge","code_challenge","authentication","textarea","userName","systemKey","RegistryNumber","actualTime","password","datePicker","format","unitCode","wareHouseCode","CodeFormat","Condition","Guid","Loading","langueg","marginTop","Button","btnType","outline","Icon","form","timeIDRef","ctrlKey","keyCode","CheckableButton","labelNowrap","inputName","checked","defaultChecked","onchange","onclick","readOnly","labelFalseText","check","setCheck","loading","setloading","boxShadow","minWidth","SelectBox","forwardRef","selectType","showOption","options","lable","icons","isDisabled","defaultvalue","selectedValue","setSelectedValue","currentValueIndex","findIndex","Select","menuPortalTarget","styles","menuPortal","zIndex","option","_ref2","isFocused","isSelected","cursor","control","provided","state","valueContainer","margin","indicatorsContainer","menuList","maxHeight","overFlow","isSearchable","color","selected","indexOf","fontSize","InputLoad","msg","rotate","setRotate","onKeyPress","display","EnumerationTypeSelect","enumTypeSelect","label","optionsEnumerationTypeSelect","setEnumerationTypeSelect","setLoading","errcode","setErrcode","getEnumerationTypeSelectAsync","enumerationType","respons","getEnumerationTypeSelectApi","_error$response","_e$target","onChangeHandler","removeReport","ButtonPrintIcon","customBtn","Callback","objectTag","reportDomain","buttonToolbarReportStarting","showSubMenu","setShowSubMenu","setOptions","selectoptions","setSelectOptions","showCreateReport","setShowCreateReport","reportName","setReportName","reportPath","setReportPath","scope","setScope","showOperations","setShowOperations","formButton","showOperationsRef","formRef","sendDataAsync","postReport","getDataAsync","Name","Title","clickToCloseSubMenu","selectboxValSetter","blur","setasdefault","reportTemplateId","setAsDefaultReport","ModalForm","onHide","_formRef$current","PrintTemplateName","PrintTemplateFileName","IsDefault","formSubmit","marginLeft","onFocus","size","float","_buttonToolbarReportS","_buttonToolbarReportS2","paddingLeft","marginBottom","tabIndex","left","getBoundingClientRect","top","removeReportAsync","UserContext","createContext","modalProfileKey","modalWidth","checkClose","modalHeight","getModalWidth","useChangingHeaderFun","buttonPrintObj","setHeight","innerHeight","setWidth","innerWidth","leftx","setLeftx","boxWidth","setBoxWidth","boxHeight","setBoxHeight","fullscreen","setfullscreen","mouseleftx","setMouseleftx","boxleftx","setBoxleftx","mouseleftY","setMouseleftY","boxleftY","setBoxleftY","activeIndex","setActiveIndex","topy","setTopy","touchX","setTouchX","touchY","setTouchY","touchIndex","setTouchIndex","sendSize","setSendSize","getflag","setgetFlag","userMadeChanges","setUserMadeChanges","myStateRef","boxWidthRef","boxHeightRef","disableDrag","el","boxRef","timeIDRes","onresize","modalKey","modalsSize","localflag","mouseDown","_boxRef$current","_boxRef$current2","x","offsetLeft","screenX","y","offsetTop","screenY","resizeLeft","_boxRef$current7","resizeRight","_boxRef$current8","resizeTouchRight","_boxRef$current9","touches","resizeTouchLeft","_boxRef$current10","mouseMove","useCallback","clientY","touchMove","removeListeners","mouseUp","removeTouchListeners","touchEnd","kydown","_document$activeEleme","modalList","_modalList","querySelector","overflow","modalElement","firstElement","querySelectorAll","handleTabKeyPress","_document$activeEleme2","_document$activeEleme3","lastElement","shiftKey","role","onTouchStart","_boxRef$current5","_boxRef$current3","_boxRef$current4","dir","apiFunction","getDataForPrintAsync","setModalFullscreen","Provider","_boxRef$current6","signalRHttp","DefaultHttpClient","constructor","super","authHeaders","Authorization","send","er","NotificationConnection","HubConnectionBuilder","withUrl","httpClient","accessTokenFactory","_localStorage$getItem","withAutomaticReconnect","build","ButtonToolbar","faIcon","isFocos","hotKey","RefreshWithNotif","disable","large","editInGrid","alarme","Updated","createCallback","isBeginner","hotKeyText","buttonToolbar","buttonKey","connection","setConnection","connectionRef","countRef","currentTarget","getAttribute","Shortcut","_buttonKey$current","_buttonKey$current2","elements","returnValue","on","ButtonToolbarCreateUser","buttonToolbarProcessStarting","ButtonToolbarHolidaysType","getOrganizationTypeAsync","LAYOUT_CONTEXT_INIT_STATE","setLang","sidebarIsOpen","toggleSidebar","handleImgFlag","img","ImgFlag","currentUserPosition","Description","notificount","chatNotificount","resourceVersion","widgetFormFlag","setCurrentUserPosition","user","setUserPerson","setTabId","UserPerson","tabId","setNotificount","setWidgetFormFlag","setChatNotificount","setResourceVersion","currentApplication","setCurrentApplication","dropObj","dragObj","env","setEnv","setDragObj","setDropObj","setBasket","basket","emptyBasket","setEmptyBasket","bool","LayoutContext","ButtonToolbarMyOwnRequest","_Object$values","positionId","posId","setPosId","buttonToolbarMyOwnRequest","layoutContext","useContext","clickToclose","_buttonToolbarMyOwnRe","ButtonToolbarProcessFilter","listOption","directionLiList","setDirectionLiList","getProcessAsync","rect","windowInnerWidth","right","ButtonToolbarArchiveFile","ButtonToolbarCreateArchive","showSubMenuRef","ButtonToolbarCreateitem","ButtonToolbarCreateManual","ButtonToolbarCreateReports","ButtonToolbarCreateWarehouse","ButtonToolbarCreateWarehouseIo","ButtonToolbarEditSalesForms","formName","buttonToolbarEditSalesForms","roleOperationType","Edit","getEditSalesForms","ButtonToolbarEnumerationFilter","buttonToolbarlist","getpersonalTaskStatusAsync","getToolbarEnumerationFilter","opList","windowWidth","ButtonToolbarPersonnelCartable","handleChangePersonnelCartable","Personnel","setPersonnel","getPersonnelCartableDictionaryAsync","getPersonnelCartableDictionaryApi","fontWeight","overflowY","ButtonToolbarPersonType","ButtonToolbarShowDeletedFilter","ButtonToolbarStartProcess","buttonToolbarStartProcess","ApplicationId","getWarehouseDictionaryWithAccessApi","ButtonToolbarWarehouse","_JSON$parse","showInventoryForm","setShowInventoryForm","inventory","setInventory","Search","autoSearch","defultSerach","checkStop","setIsFocos","flipSearchIcon","searchInputVal","setSearchInputVal","focos","setFocos","isSearched","setIsSearched","refFocos","changeSearchInputVal","getData","canWork","clearTimeout","_document","_document2","_document2$activeElem","_document3","_document3$activeElem","metaKey","flip","SwitchBtn","handleModeCard","cardStyle","firstMode","secondMode","setColor","setShape","DictionarySelectBox","revert","keyForDictionary","baseUrl","endPoint","addCustomValue","dictionarySelectBox","setDictionarySelectBox","defaultval","setdefault","getDictionarySelectBoxAsync","getDictionarySelectBox","handleOnChange","ButtonPrintToolbar","reportGroupId","setReportGroupId","ButtonToolbarProcessStarting","applicationId","getProcessStarting","ButtonToolbarSecretariatFilter","ButtonToolbarDesign","ButtonToolbarShowActiveRowsOnlyFilter","Toolbar","_layoutContext$curren","handleClickToolbar","handleSelectedFilterPersonType","handleSelectedFilterProcess","handleSelectedJobstatusFilter","handleSelectedcreateUser","handleSelectedFilterPersonalTaskStatus","handleSelectedHolidaysType","handleSelectedMyOwnRequestStartForm","handleSelectedStartProcess","handleSelectedStartingProcessToolbar","handleSelectedProcessFilterToolbar","handleShowDeletedFilterToolbar","handleShowActiveRowsOnlyFilterToolbar","handleSelectedProcessWithIdFilterToolbar","handleCreateArchive","handleCreateWarehouse","handleCreateReports","handleCreateItem","handleCreateManual","handleSearch","handlePrint","handleSelectedArchive","setShowMode","editSalesFormsCallBack","showMode","emptyList","view","refresh","members","people","upload","specialreference","assignRule","assignApp","assignIcon","finish","move","OrganizationTypeFilter","forceStop","copy","paste","reserve","Print","Importprocesses","Delivery","excel","warehouse","save","boxes","properties","tax","barcode","insertnote","design","ConversionRatio","voiding","editSalesForms","helpBtn","more","settingPattern","recovery","SyncRole","createWarehouseIoForm","handleCreateWarehouseIo","reportDesign","reportDesignCallBack","shortcutList","setShortcutList","openToolbar","setOpenToolbar","personnelCartableName","setPersonnelCartableName","ShortcutList","StorageShortcut","toggleToolbar","CalendarDay","_currentDayEventList$","dayNum","selectedDay","selectedDays","description","sendClickDaysUp","sendSelectedDaysUp","CalendarEvent","YearOfMonth","eventList","holiday","firstDay","currentDayNumber","formSubmitted","setDay","Year","showTooltip","setShowTooltip","currentDayEventList","setCurrentDayEventList","setDefaultChecked","isHoliday","some","filter","dayId","newFilter","eventMessage","handleSelectedDayOnclick","Time","IdString","limited","timeInputValue","setTimeInputValue","minute","hour","fixNumber","minuteToHour","timeValue","setTimeValue","minutesValue","setMinutesValue","hourValue","setHourValue","textTime","setTextTime","MsgShow","setMsgShow","MsgText","setMsgText","cheakTime","Mtime","time","EventForm","sendEventMessageUp","setShowEventForm","sendFormSubmissionUp","setSelectedDays","setDays","userChanges","setUserChanges","sendNodeAsync","sendEventApi","handleBeforeUnload","dayStr","onSubmit","fa","en","eventData","MinuteNo","HourNo","YearNo","MonthNo","DayNo","withtrans","times","justifyContent","transform","PaginationNavbar","pageNum","pageSize","handleGoPage","first","end","HandlePrevPage","HandleNextPage","handlechangePageSize","selectedPersonsId","totalRecords","goPage","validPageSize","forms","ceil","GridSetting","_refBox$current","_refBox$current2","parentName","HoverSource","setHoverSource","startIndex","setRemovedColumns","removedColumns","columns","handleOrderList","handleFilterList","Method","orderList","setOrderList","filterList","setFilterList","showGridSetting","setShowGridSetting","columnStatus","setColumnStatus","refBox","clickedOutside","hover","setHover","toggleSortingFormat","createSortingFormat","itemExists","Sorting","newSortingFormat","deleteaOrder","deleteafilter","newfilterList","changeColumnsStatus","remoObject","handleRemoveOrderList","handleRemoveSettings","handleRemoveFilterList","changeHoverSource","removedlist","Datepicker","withTime","setIsoTime","disableDayPicker","onOpenPickNewDate","portal","range","fixMainPosition","maxDate","minDate","errorFlag","calendarPosition","rest","timePickerRef","isOpenRef","editDate","digits","persian_fa","setValue","RecordedData","newDate","setNewDate","ConverDate","DateObject","persian","_e$","date1","valueOf","_e$2","date2","_date","NewDate","getFullYear","getMonth","getDate","getHours","getMinutes","setHours","setMinutes","handleTabKeyPresse","_document$activeEleme4","_timePickerRef$curren","_timePickerRef$curren2","nextElementSibling","firstChild","_document$activeEleme5","_document$activeEleme6","_timePickerRef$curren3","_timePickerRef$curren4","previousElementSibling","modalForm","cardBody","_modalForm$","_nextInput$className","inputs","currentIndex","nextInput","validationChecking","isTyping","digit","numbers","strings","editDate1","editDate2","toDate","selectValue","_timePickerRef$curren5","select","DatePicker","inputClass","locale","_ref3","onOpen","onClose","plugins","TimePicker","hideSeconds","fixRelativePosition","_ref4","getElementsByTagName","ar","arabic","arabic_ar","DateFilter","setDate","inputIdRef","IsoTime","DataGrid","theadData","tbodyData","minCellWidth","moveRows","multiSelect","multiSelecttype","selectedRowProp","resetMultiSelect","View","useLanguage","customFuction","convertDateColNames","selectList","selectItem","theaxCells","selectedRowObjectCallback","rowSelected","handleEdit","handleResend","handleDelete","handleView","handleDownload","handleAttachment","handleAttachmentText","handleCreate","handlefiltering","filterStr","orderFormat","orderFormatList","multiSelectCallback","checkedRowEventCallback","DoubleClick","handleEnter","scrollHeight","ViewParametr","translatedHeader","responseList","useChangingNumberPlacement","selectedRow","setSelectedRow","checkedAll","setCheckedAll","operationSubIndex","setOperationSubIndex","setFlag","SubIndexRef","tbody","rtlDataGridDirection","tableElement","selectedIndex","hasOperation","hasmultiSelector","setHasmultiSelector","pages","localFlag","widthColumns","a","ummont","operationList","splice","removed","hedcolums","setHedcolums","createHeaders","head","setHead","widths","switchHed","elindex","gridTemplateColumnsStyle","tableHeight","activeIndexRef","currentOperation","setCurrentOperation","setAutoFocus","filterListValuse","setFilterListValuse","sortingFormat","setSortingFormat","filterFlag","setFilterFlag","hoverSource","operationPosition","setOperationPosition","RowsRef","draggedRowId","setDraggedRowId","targetId","setTargetId","nodeName","Filterlist","OrderFormat","_document$activeEleme8","toggleActiveRow","toggleShowOperations","_document$activeEleme7","operationIndex","blurBtn","_event$currentTarget$","_event$currentTarget$2","parentElement","rowIndex","goPageFormat","_hedcolums$","Rows","tr","SelectAll","hasSelect","seletedList","index1","multiSelector","selectorEvent","Operation","item2","index2","ExclamationIcon","multiSelectAll","checkboxs","filtering","filterString","_selectedRowProp$","item1","newJs","lastList","hedList","valueList","stopImmediatePropagation","gridColumns","col","clientX","width2","DefaultMinCellWidth","_tableElement$current","offsetWidth","n","gridTemplateColumns","newhedcolums","isInList","_tbodyData$2","_tbodyData$","flag2","hedlist","onMouseUp","handleMouseUp","getTh","putIndex","selectIndex","arryHed","selectHed","setTh","flexDirection","newList","filterMaker","row","handleMouseDown","rowId","onMouseOver","targetRowId","draggedIndex","targetIndex","updatedRows","movedRow","handleMouseOver","onContextMenu","onDoubleClick","cell","_row$cell$text","_row$cell$text2","_responseList$index","Popover","backgroundColor","Body","Reversed","convert","postForm","deleteForm","putForm","getFormByKey","getAllForms","checkForm","getDynamicDictionaryDictionaryApi","DynamicFormPropertyId","CheckableButtonList","checkableBtnLabelList","checkableListLabel","verticalDirection","checkableButtonName","checkbaleType","getPositionDictionaryListApi","searchString","Position","DescriptionKey","hasBorder","valueString","allowType","returnObj","setPositions","valueName","setValueName","setShow","validat","setValidat","rquird","setRquird","allowTyping","setAllowTyping","setDisabled","options_PostLevel_keys","options_PostLevel_values","getPositionListAsync","res2","getPositionDictionaryApi","setValeu","Auto","scrollIntoView","block","behavior","_inputRef$current","_inputRef$current$val","Price","displayLetters","PriceInputValue","setPriceInputValue","PriceValue","setPriceValue","currency","setCurrency","textPrice","setTextPrice","inputPriceRef","textPricesource","currencySource","updatePriceInput","numvalue","newPrice","priceArray","threeBox","box","indexBox","boxText","itemIndex","MPrice","fontFamily","onInput","_event$target","RangeSlider","Range","rangeInputValue","setRangeInputValue","setSelectIndex","onMouseMove","StepInForms","property","handleOpenStep","isOpen","setIsOpen","paddingRight","getDictionaryListApi","secendUrl","AutoCompleteDictionary","autoCompleteName","searchedHandleFun","disabledItems","setList","listBoxPosition","setListBoxPosition","options_keys","options_values","getListAsync","handleSetListBoxPosition","_inputRef$current2","_inputRef$current3","getPersonGrids","orderBy","filterlist","PageNumber","PageSize","OrderByString","SearchString","FilterString","PersonGrid","_response$Data","personIdCallBack","serch","setResponse","selectedObj","setSelectedObj","forceUpdate","setForceUpdate","setResetForm","setMessageType","setOrderBy","setSearch","setPageNum","setPageSize","setPages","setFilterlist","submit","getReferenceActionsAsync","PageNum","pageSizeChangedByUser","TotalRecords","selectedObjCallback","handleNextPage","handlePrevPage","Person","WithSearch","setPerson","showSerch","setShowSerch","setDefaultValue","seachedValue","setSearchedValue","DynamicDictionary","DynamicObj","setDynamicDictionarys","getDynamicDictionaryListAsync","KeyId","InputDetector","_content","handleStepper","hidden","EnableDisplacement","firstAutoValue","formBuilderMode","typeName","stepperIndex","handleTime","todayDate","settodayDate","content","PositionDictionary","Customers","ProgressBar","RadioButton","Keywords","checkBox","selectBox","timeLength","defaultValueDateTimeNow","DatePickerState","InputType","emptySpace","messageTitle","Step","DynamicFormDataEntry","defaultInputList","copyPermission","PRJ_UID","handleCopy","handleShowReferenceStepper","setInputs","setData","setTimes","openStepStatus","setOpenStepStatus","showReferenceStepper","setShowReferenceStepper","catchMessage","setCatchMessage","handleSubmit","StepIndex","putInformationForm","postDataForm","JsonData","getFormInformationAsync","getFormInformationByJobId","getFormInformationById","_err$response2$data","_respons$Data","FormFields","_err$response$data","getFormByKeyAsync","Obj","OpenStephandler","DynamicComponentHOC","sourceDataParam","ParentForm","buttonPrintObjCallBack","inDynamicForms","componentName","useGenerate","sourceId","SourceData","showInDetail","JobNo","componentParams","TaskId","processId","RequesterPositionId","taskTitle","modeParams","stepParams","closeForm","handleCancelForm","reload","paramsObject","Type","taskId","Footerbar","footerContents","CustomerPositionDictionary","CustomerPosition","setCustomerPositions","CustomerPositionRef","validRef","personsList","setPersonsList","optionList","getCustomerPositionListAsync","getCustomerPositionDictionaryApi","isCoustomer","_res$Data","_res$Data$","_res$Data2","_res$Data2$","personId","FollowupPositionId","followupPositionIds","setFollowupPositionIds","FollowupPositionIdRef","getFollowupPositionIdListAsync","getFollowupPositionIdDictionaryListApi","ItemsDictionary","customerPositionId","serialId","setItemsId","itemsValid","optionsItems","setOptionsItems","options_Items_values","options_Items_keys","getItemsAsync","serial","getItemsApi","Radio","CheckBox","Serials","CorrectedSerial","setSerialId","setSerialName","optionsSerials","setOptionsSerials","options_Serials_values","options_Serials_keys","getSerialsAsync","getSerialsApi","ChangeValue","BrowseFile","_uploadRef$current","_uploadRef$current$fi","_uploadRef$current$fi2","_uploadRef$current2","_uploadRef$current2$f","_uploadRef$current3","_uploadRef$current3$f","_uploadRef$current3$f2","_uploadRef$current4","_uploadRef$current4$f","setFileClick","fileClick","showBox","multiple","uploadRef","handleUploadOnclick","files","Input","blobToBase64","_","reader","FileReader","onloadend","readAsDataURL","loadAttachmentViewerBase64","attachId","endpoint","responseType","FileInput","defultFileName","Validity","src","hideSrc","maxSize","setFileName","selectedItem","setSelectedItem","showFile","setShowFile","setLoad","resetSrc","setResetSrc","buttonType","setButtonType","cheackFile","_file$target","buttonTypeParam","_file$target2","_window","_file$target3","_file$target4","_file$target5","_file$target6","_file$target6$files$","_file$target7","_file$target8","_file$target8$files$","Image","Delete","handleSlider","loadAttachmentViewerAsync","DelOption","pop","alt","word","pdf","powerpoint","fileIconFormat","Headerbar","headerContents","shakingKey","withPading","headerContentsState","setHeaderContentsState","CustomerInfo","responseRequests","setResponseRequests","getCustomerInfoAsync","requesterPositionId","CustomerId","HeaderInfo","ContractsInfo","LocksInfo","ContactsInfo","getCartable","SelectedPosition","pageNumber","cartableType","getJobRequester","ReferReverse","ReferDescription","sendMsg","sendMessageToPerformer","getDataForPrint","useWarmSignature","acceptReference","DeleteReference","ReferenceId","FinishedReference","sendMessageToRequester","CancelFinishedReference","RejectReference","rejectDescription","postReferences","referenceList","TabBar","addDisable","defaultTab","curentTab","disableTab","disableIndex","showWithIcon","tabChange","Click","Tabs","defaultActiveKey","activeKey","onSelect","Tab","eventKey","CardBoxAttachment","haveVersion","asDefault","handleClickSlider","handleDeleteRow","handleDownloadTrigger","handleCheckbox","handleVersionTrigger","handleSetAsDefault","setTarget","ShowTrigger","setShowTrigger","CurrentOperation","handleTrigger","Card","Img","variant","Text","Fileviewer","File","showDownLoad","downloadFileAsync","showArchive","getAttachments","ownerId","endpoints","returnThumbnail","DeleteAttachments","getDownloadUrlAttachmentAsync","attachIds","putVersion","versionId","VersionList","attachFile","getAllData","versionList","setVersionList","versionLoading","setVersionLoading","selectedId","setSelectedId","getVersionAsync","getVersions","asyncOperation","createDownloadlink","handleEditRow","deleteVersion","clickedButtonName","downloadTrigger","selectedIdCallback","headerData","footerData","showInGrid","inTab","mood","getListEndpoint","getListOwnerId","actionFormEditId","setActionFormEditId","showModalCarousel","setshowModalCarousel","listid","setId","showVersions","setShowVersions","setIndex","showUpload","setShowUpload","exist","setExist","setFile","setName","setMessage","setAttachFile","atachId","isList","getAttachmentsAsync","version","checkbox","old","deleteId","ListId","_error$response$data","_error$response2","_error$response2$data","b","loadAttachmentAsync","putAsDefault","alert","FileName","Carousel","indicators","interval","touch","defaultActiveIndex","mapIndex","Item","Thumbnail","PutAttachments","fileId","PutAttachment","PostAttachments","postAttachment","newFile","lastModified","dataTransfer","DataTransfer","getLetterList","secretariatId","SecretariatId","getChooseRelatedList","letterId","getSecretariatNo","letterType","RelatedForm","_response$Data2","Relatedlistcallback","setLetterId","setSearchString","flgWithAttachments","setFlgWithAttachments","setReload","setMode","setOrderFormat","setselectList","getLetterListAsync","RelatedLetters","LetterId","LetterRelationTypeEnum","letterMode","IndicatorNo","RegisterTime","LetterSubject","LetterNo","LetterDate","Sender","Secretariat","selectedRowCallback","LetterRelated","getRelatedLetters","LetterRelatedId","setLetterRelatedId","Total_records","setTotal_records","relatedmode","setRelatedMode","showrelated","setShowrelated","relatedlist","setRelatedlist","setSelectList","setResetMultiSelect","addLettertoList","handleRemove","removeListId","getRelatedlistAsync","getRelatedList","KeyWord","setKeyWords","keyWords","change","setChange","addOption","alignItems","setLetterSubject","LetterSubjectsList","setLetterSubjectsList","LetterSubjectRef","getLetterSubjectListAsync","getLetterSubjectApi","getReceiverPositionDictionaryListApi","ReceiverPosition","setReceiverPositions","getReceiverPositionListAsync","receiverId","getReceiverPositionDictionaryApi","SubMenu","activeId","setactiveId","SubMenuRef","activeIdRef","keydown","IndicatorNoDictionary","defaultObj","setIndicatorNoDictionary","setIndicatorNoDictionarys","IndicatorNoDictionaryRef","ShowRef","getIndicatorNoDictionaryListAsync","getIndicatorNoDictionaryApi","checkChange","Value","LetterInformationForm","_response$LetterRecei","_response$LetterRecei2","_letter$LetterReceive","_letter$LetterReceive2","_letter$LetterReceive3","getInformation","changeSecretariatId","setReceiver","changeTab","receiver","editInIndicator","setLetter","letterReceivers","setLetterReceivers","selectedImage","setSelectedImage","selectedImage64","setSelectedImage64","setRegisterTime","letterDate","setLetterDate","setIndicator","hasSendAttachment","setHasSendAttachment","setSecretariatId","setSecretariatNo","showstep","setShowstep","indicatorNo","setIndicatorNo","singleIndicator","setSingleIndicator","letterTextMode","setLetterTextMode","editor","setEditor","editorData","setEditorData","htmlString","sethtmlString","showAloneAttach","setShowAloneAttach","svgRef","MakehtmlPng","htmlContent","getLetterAsync","_res$Data$Indicator","_res$Data2$Indicator","getLetter","Letter","LetterText","Indicator","HasSendAttachment","LetterReceivers","GroupPositionId","getLetterByReferenceIdAsync","_res$Data3","_res$Data3$Indicator","_res$Data4","_res$Data4$Indicator","_res$Data4$Indicator$","_res$Data5","_res$Data6","_res$Data6$Indicator","_res$Data7","_res$Data7$Indicator","getLetterByReferenceId","Incoming","LetterDefaultAttachmentId","addToIndicatorAsync","addToIndicator","trim","getSecretariatNoAsync","onInvalid","_event$target$LetterN","SenderPositionId","SenderDescription","_event$target2","_event$target2$Letter","_event$target3","_event$target3$letter","_event$target4","_event$target4$SendAt","_event$target5","_event$target5$SendAt","IndicatorStatic","IndicatorSerial","SendAttachmentDescription","_event$target6","_event$target6$SendAt","_event$target7","_event$target7$Letter","_event$target8","_event$target8$Letter","_event$target9","_event$target9$letter","isoTime","IsCopy","ReceiverDescription","CKEditor","onReady","ui","getEditableElement","insertBefore","toolbar","onError","willEditorRestart","onOk","insertHtml","DecoupledEditor","contentsLangDirection","removePlugins","placeholderProps","types","placeholderBrackets","onload","onerror","getBase64","Url","LetterDefaultAttachmentThumbnail","SingleIndicator","getSecretariatAsync","bol","ReceiverForm","Receiverlistcallback","_event$target$Text","_event$target$IsCopy","_event$target$IsDefau","ReceiverLetter","LetterReceiver","_Receiverlist$2","getReceiverLetters","defaultReceiver","LetterReceiverId","setLetterReceiverId","Receivermode","setReceiverMode","showReceiverForm","setShowReceiverForm","Receiverlist","setReceiverlist","getReceiverlistAsync","getReceiverlist","Receiver","_Receiverlist$","newItem","ViewSendForm","SentTime","setSentTime","ReceiveTime","setReceiveTime","SendOperatorPositionId","LetterSendMethodId","ReceiverPerson","SentDescription","IsReceived","ReceiveDescription","LetterSend","positionObjectList","tableData","tableHeadData","showForm","setShowForm","activateCheckbox","setActivateCheckbox","checkedData","setCheckedData","isAllForms","setIsAllForms","setresetMultiSelect","checkAllcheckboxes","cheklist","ReceiverId","onRowClicked","originalObject","DeadLineDate","DeadLineOriginalDate","LetterForm","letterSelectedId","setCurentTab","informationData","setInformationData","relatedList","setRelatedList","letterReceiverList","setLetterReceiverList","setPositionObjectList","postLetter","putDataAsync","putLetter","getLetterReceiverPositionsAsync","Receivers","Historys","getSentHistory","positionObjList","itemHistory","SendMethodId","IsSent","image","ReceiverList","fristLetter","tab","GeneralRequestsClassificationId","GeneralRequestsClassification","setGeneralRequestsClassification","job_classification_val","job_classification","getCustomerGeneralRequestClassification","PostArchive","getOrganizationArchive","ParentId","getArchivedJob","Checkbox","divClick","border","LoadingIcon","TreeContext","Row","italic","childrenparams","Childrenparams","Titleparams","defultShow","setDefultShow","defultparam","defultparams","addNewNode","getChildrenUrl","multiselect","setRow","setChildren","childrenRef","setOpen","openRef","setChecked","setType","moseEnter","setDrag","setDrop","dragedId","dropedId","setSelectListContext","selectListContext","finded","selectObj","addToList","getChildren1","selectId","onMouseLeave","onMouseEnter","IsArchive","maxLevel","SubRow","TreeView","selectedRowsCallback","moveNude","resetCheckBox","selectedRowObject","dragDrop","ListResponse","selectedList","setSelectedIndex","setTableHeight","setWidthColumns","activeRowId","setActiveRowId","listt","setListt","dragId","setDragId","dropId","setDropId","dragBoxPo","setDragBoxPo","dragBox","setErr","setUserList","mychilde","assign","mouseDragMove","pageX","pageY","removeDragListeners","mouseDragUp","setItemList","ArchiveFolderForm","nodeData","setNodeData","getNodeDataAsync","sendNodeDataAsync","sendNode","RootId","parseInt","ArchiveForm","archivedList","setArchivedList","setListResponse","setSelectedList","idCallback","setIdCallback","setParent","deleteArchivedAsync","getarchiveStructureAsync","addList","getProfile","getAllSubstitute","getSubstitute","PersonRef","getPersonListAsync","getPersonApi","RemainingDayCount","optionsRemainingDayCount","setOptionsRemainingDayCount","getRemainingDayCountAsync","postGeneralRequest","returnReferenceId","GeneralRequestForm","_GeneralRequestDTO","_GeneralRequestDTO2","_GeneralRequestDTO3","_GeneralRequestDTO3$G","_GeneralRequestDTO4","_GeneralRequestDTO4$G","_GeneralRequestDTO5","_GeneralRequestDTO5$G","GeneralRequestDTO","getGeneralRequestAsync","getGeneralRequestByReferenceId","prId","putGeneralRequest","RequesterPosition","Applicant","applicant","GeneralRequestClassificationId","JobSendForm","untilDate","setUntilDate","localMode","setLocalMode","getJobSendHistoryAsync","getJobSendData","RequestDate","JobSendHistoryRequestClassificationId","SubstitutePersonId","LeaveDaysNo","putJobSendData","OperatorPositionId","JobSendMethodId","postJobSendData","StartDate","LetterSendForm","LetterSendHistoryId","allFormData","handleSubmitedData","leaveDaysNo","setLeaveDaysNo","requestDate","setRequestDate","ItemGroupLabelSlider","isArrow","BoxRef","showScroll","setShowScroll","cloase","setClose","chackArrow","scrollLeft","scrollWidth","clientWidth","handleRight","_BoxRef$current","scrollTo","onScroll","handleLeft","_BoxRef$current2","SignatureBaseUrl","SalesInvoices","SalesPreInvoices","automation","getPersonSignatureIdApi","sendSignature","baseUrlKey","_SignatureBaseUrl$Par","_SignatureBaseUrl$Par2","_SignatureBaseUrl$Par3","_SignatureBaseUrl$Par4","AcceptSelfService","handleAcceptReferenceAsync","DocumentArchiveForm","_response$Keywords","ArchiveList","setProcessId","reverseResponse","setReverseResponse","showAccept","setShowAccept","selectedImages","setSelectedImages","isPhysical","setIsPhysical","showTree","setShowTree","documentArchiveRequestData","setDocumentArchiveRequestData","setSelected","getDocumentsAsync","documentsId","IsPhysical","getDocumentsByReferenceId","getDynaFormProcessIdAsync","postDocuments","putDocuments","DocumentArchiveRequest","DocumentArchiveRequestClassificationId","DocumentArchiveClassificationId","RequestNo","handaleSelectedArchives","MeetingApprovalForm","ApprovalId","setPosition","fromDate","setFromDate","getMeetingApprovalAsync","sendMeetingApproval","_event$target$Descrip","TaskDescription","EstimateTime","estimateTime","PerformerPositionId","ButtonArrow","backward","fastBackward","forward","fastForward","getInvitedList","FormWithTitle","showFristRow","cardClass","dynamicTitle","defualtClose","titleClass","positionTitle","transActive","showTitle","closeOption","textAnimation","AttendeesPeople","meetingId","setMood","Moodassign","setMoodassign","assignmentResponse","setAssignmentResponse","assignedList","setAssignedList","savedData","setSavedData","assignedSelectList","setAssignedSelectList","positionstr","setPositionstr","positionAssignmentstr","setPositionAssignmentstr","showModal","setShowModal","modalData","setModalData","submitted","setSubmitted","Dataassign","getPositionsListAsync","Positionresponse","TU_RELATION","InvitedPerson","sendAttendeesListAsync","sendAttendeesList","getPositionsListSearchingAsync","getAttendeesListAsync","makeData","AttendeesList","getAttendeesList","assignmentdata","elm","isSameId","currentItem","find","paddingBottom","updatedData","getInvitedPeopleListById","MeetingForm","setInvitaionObj","setAcceptExpireTime","setListPosition","listPosition","handleData","predictedStartTime","setPredictedStartTime","predictedDate","setPredictedDate","predictedTimeLength","setPredictedTimeLength","predictedEndTime","setPredictedEndTime","predictedload","setPredictedload","startTime","setStartTime","endTime","setEndTime","meetingClassification","setMeetingClassification","invitaionDataRef","showAttendeesPeople","setShowAttendeesPeople","defaultPeopleList","setDefaultPeopleList","getMeetingAsync","getMeetingById","AcceptExpireTime","InvitationText","newListPosition","BossPositionId","BossDescription","ExecuterPositionId","ExecuterDescription","RequesterDescription","SecretaryPositionId","handlePredictedTimeLength","PredictedStartTime","PredictedEndTime","fr","personList","_invitaionDataRef$cur","_invitaionDataRef$cur2","personData","PositionDescription","InvitedPersonTypeEnum","InvitedPeople","getInvitedPeopleListAsync","meetingMinutes","MeetingMinutes","StartTime","EndTime","_event$target$Meeting","placedata","_event$target$Title","_event$target$Meeting2","_event$target$Meeting3","_event$target$Meeting4","_event$target$Necessa","_listPosition$Request","_listPosition$Request2","_listPosition$Secreta","_listPosition$Secreta2","_listPosition$Execute","_listPosition$Execute2","_listPosition$BossPos","_listPosition$BossPos2","_event$target$Invitat","_event$target$Meeting5","MeetingHoldingType","NecessaryHoldingTools","MeetingAgenda","MeetingNo","MeetingClassificationId","MeetingPlaceId","getBoardList","getGroupPositionList","getPositionList","InvitPeopleForm","InvitedListhandler","usedListId","InvitedList","getInvitedListAsync","Invitaion","intab","InvitaionFormSubmit","acceptExpireTime","InvitaionData","setContent","setDefaultTab","setError","setUsedListId","invitedPeople","setInvitedPeople","invitedPeopleListRef","acceptExpireDateRef","getInvitedPersonTypeAsync","getInvitedPersonType","tabs","listUsed","InvitedPeopleList","showActionForm","setShowActionForm","MeetingTabForm","MeetingData","invitaionData","formRefs","invitaionObj","sendmeeting","PrjUid","_formRef$current$hide","checkValidity","hidebutton","MapInfo","Mapir","setToken","transformRequest","MapLocation","sendLocationCallback","markerArray","setMarkerArray","coord","setCoord","point","setPoint","pointRef","onDataLoading","onStyleLoad","center","Map","lngLat","lat","lng","fetch","json","Marker","coordinates","anchor","userLocation","Address","personContact","hideDetail","withMap","showMap","setShowMap","personLocation","setpersonLocation","address","Latitude","geom","Longitude","plaque","unit","postalCode","Altitude","CustomerBranchesForm","CustomerBranchesCallBack","CustomerBranches","loading2","setLoading2","province","setProvince","editForm","setEditForm","indexEditForm","setIndexEditForm","branchMode","setBreanchMode","branchList","setBranchList","newBranch","branch","BranchCode","getPriceList","PriceListDictionary","withNullOption","setPriceListDictionary","getPriceListDictionaryAsync","getPriceListDictionary","IsManual","IsPublic","ComplementaryTitle","IdParams","openLevel","localLIst","setLocalLIst","childrenList","setChildrenLocalLIst","checkParentId","setCheckParentId","valueToCopy","accessDrop","makeParentsList","ParentsList","trueLength","haveNull","truelocalLength","Fkay","fi","kydownToCopy","clipboard","writeText","onMouseOut","DragMouseEnter","compressed","IsLeaf","TableTree","reff","GeographicalClassificationForm","showGeographicalClassificationForm","setNode","AddNodeToParent","getNodeAsync","putNodeAsync","editNode","_event$target$Code","DescriptionEN","LevelLimitation","Code","_event$target2$Code","condition","itemCodeHandeler","TreeMode","setShowGeographicalClassificationForm","showPositionForm","setShowPositionForm","showRoleForm","setShowRoleForm","Fullydata","setFullydata","setmode","handleViewModalForm","deletListAsync","getFullyAsync","scrollbarWidth","drag","drop","sendTreeGeographical","getCustomers","orderByString","PersonDictionaryWithAdd","setShowPersonForm","getPersonLegalList","personType","getPersonRealList","getPerson","setPersonAsync","deletePersonAsync","putPicture","isLegal","personLegalorRealId","PersonContactForm","showPersonContactFormCallback","newPersonContactDataCallback","ContactTypeEnum","save_Exit","setSave_Exit","latitude","longitude","_event$target$Altitud","Plaque","altitude","_event$target$Altitud2","PersonContactList","_BodyPersonContact","personContactDataListCallback","personContactDataListProp","selectedObject","setSelectedObject","editIndex","setEditIndex","contactmode","setContactmode","showPersonContactForm","setShowPersonContactForm","personContactDataList","setPersonContactDataList","HeadPersonContact","BodyPersonContact","handleViewRow","personContactList","personContactData","ans","selectedObjectCallback","PersonLegalForm","_personLegalDTO","_personLegalDTO$Perso","_personLegalDTO2","_personLegalDTO2$Pers","_personLegalDTO3","_personLegalDTO3$Pers","_personLegalDTO4","_personLegalDTO4$Pers","_personLegalDTO5","_personLegalDTO5$Pers","_personLegalDTO6","_personLegalDTO6$Pers","_personLegalDTO7","_personLegalDTO7$Pers","_personLegalDTO8","_personLegalDTO8$Pers","_personLegalDTO9","_personLegalDTO9$Pers","_personLegalDTO10","_personLegalDTO10$Per","_personLegalDTO11","_personLegalDTO11$Per","_personLegalDTO12","_personLegalDTO12$Per","_personLegalDTO13","_personLegalDTO13$Per","_personLegalDTO14","_personLegalDTO14$Per","_personLegalDTO15","_personLegalDTO15$Per","_personLegalDTO16","_personLegalDTO16$Per","_personLegalDTO17","_personLegalDTO17$Per","_personLegalDTO18","_personLegalDTO18$Per","_personLegalDTO19","_personLegalDTO19$Per","_personLegalDTO20","_personLegalDTO21","_personLegalDTO22","_personLegalDTO23","_personResponse$data","_personResponse$data$","_personResponse$data2","_personResponse$data3","_personLegalDTO24","_personLegalDTO25","_personLegalDTO26","_personLegalDTO27","_personLegalDTO28","_personLegalDTO29","personLegalDTO","personDataForSend","personLegalDTOAddress","showSaveClose","ButtonInTop","idPerson","handleAddPerson","personResponse","setPersonResponse","setPersonId","showModalContact","setShowModalContact","dataChange","setDataChange","setUserName","dataRecovered","setDataRecovered","showPositionList","setShowPositionList","formLegalName","sendPersonAsync","_response$data$Data","_response$data$Data$P","contact","PersonContacts","PersonLegalDTO","PersonLegal","PersonLegalPicture","_response$data$Data$P2","dataurl","filename","arr","mime","match","bstr","atob","u8arr","charCodeAt","dataURLtoFile","Positions","_personData$PersonLeg","_personData","_personData$PersonLeg2","_personData$PersonLeg3","PersonLegalTitleId","LegalName","LegalNameEN","NationalIdentifier","EconNo","ChiefOfficer","Contact","personInfo","Email","Phone","Mobile","UserName","personPicture","sendpersonPictureAsync","_e$target2","_e$target2$files","paddingTop","handleBtnContact","_personResponse$Perso","PersonRealForm","_personReal","_personReal2","_personReal3","_personReal4","_personReal5","_personReal6","_personReal7","_personReal8","_personReal9","_personReal10","_personReal11","_personReal12","_personReal13","_personReal14","_personReal15","_personReal16","_personReal17","_personReal18","_personReal19","_personReal20","_personReal21","_personReal22","_personReal23","_personReal24","_personReal25","_personReal26","_personReal27","_personReal28","_personReal29","_personReal30","_personReal31","_personReal32","_personReal33","_personReal34","_personReal35","_personReal36","_personReal37","_personReal38","_personReal39","_personReal40","_personReal41","_personData2","_personData2$PersonRe","_personData3","_personData3$PersonRe","_personData4","_personData4$PersonRe","_personData5","_personData5$PersonRe","_personData6","_personData6$UserName","_personData7","_personData8","_personData9","_personData9$PersonRe","_personData9$PersonRe2","_personData10","_personData10$PersonR","_personData11","_personData11$PersonR","_personData12","_personData13","_personData14","personReal1","idPersonReal","personRealDTOAddress","datePickerISO_TIME","setDatePickerISO_TIME","BirthDate","marriageDate","setMarriageDate","MarriageDate","modify","setModify","_response$data$Data2","_response$data$Data2$","_response$data$Data3","_response$data$Data4","PersonRealDTO","PersonReal","_response$data$Data5","PersonRealPicture","_personData$PersonRea","_personData$PersonRea2","_personData$PersonRea3","PersonRealTitleId","FirstName","FirstNameEN","LastName","LastNameEN","FatherName","FatherNameEN","BirthCertNo","BirthPlace","IssuePlace","NationalCode","PersonFormInTab","setNewPerson","CustomerForm","setNextCode","showPersonForm","newPerson","geographical","setGeographical","objDictionary","setObjDictionary","VisitorPosition","DistributorPosition","getNextCustomerCodeAsync","getNextCustomerCode","getGeographicalClassificationAsync","getGeographicalClassification","GeographicalClassificationId","VisitorPositionDescription","DistributorPositionDescription","_objDictionary$Visito","_objDictionary$Visito2","_objDictionary$Distri","_objDictionary$Distri2","_objDictionary$Distri3","_objDictionary$Distri4","_objDictionary$Visito3","_objDictionary$Visito4","_objDictionary$Distri5","_objDictionary$Distri6","_objDictionary$Distri7","_objDictionary$Distri8","CustomerOrganizationId","CustomerPersonId","CustomerPersonDescription","CreditValue","CreditLetterValue","CustomerCode","CustomerReferrer","CustomerClassificationId","CustomerServicingStatus","PriceListId","PriceList","VisitorPositionId","DistributorPositionId","YearlySaleTarget","PriceListDiscountPercent","CustomerStatus","getListCity","CityDictionary","provinceId","city","setCity","cityRef","getCityDictionaryAsync","getCityDictionary","getListProvince","ProvinceDictionary","countryId","ProvinceName","ProvinceRef","getProvinceDictionaryAsync","getProvinceDictionary","CustomerTaxForm","CustomerTax","ProvinceId","country","setCountry","CustomerCharacteristic","CustomerTaxType","BusinessActivityTypeId","CityId","getCustomerDictionaryListApi","customerId","CustomerDictionary","ShowMethod","checkHasAccess","CustomerName","setCustomers","noAccessError","setNoAccessError","errorMessage","setErrorMessage","options_Customer_keys","options_Customer_values","getCustomerListAsync","getCustomerDictionaryApi","RelatedCustomerForm","_editForm$CustomerRel","CustomerRelationsCallBack","CustomerRelations","relatedMode","customer","setCustomer","relationType","setRelationType","_event$target$Custome","_event$target$Custome2","CustomerRelatedId","CustomerRelationTypeId","CustomerRelated","newRelated","filteredData","CustomerTabform","_Customer$Customer","_Customer$Customer2","_Customer$Customer3","setCustomerCallBack","taxData","CustomerData","BranchesData","formdata","customerData","putCustomer","getNewCustomer","getCustomer","CurrencyDictionary","setCurrencyDictionary","getCurrencyDictionaryAsync","getCurrencyDictionaryApi","firstItem","AddressBox","AddressHandeler","Current","getAddressBoxAsync","getAddressBox","_err$data","addressSection","PersonId","postAddressBox","parentObj","sendTreeCode","getCustomerPhoneDictionaryListApi","CustomerPhoneDictionary","getCustomerPhoneDictionaryApi","_options_Customer_val","_options_Customer_key","userSelecter","CustomerPhoneList","rowObject","handlePhone","Reload","styleCondition","showCustomerPhoneForm","setShowCustomerPhoneForm","getReferenceCustomerPhonesAsync","getCustomerPhoneListApi","resKey","postCustomerPhoneListApi","getSalesOrder","getPriceListDetail","priceListId","warehouseId","WarehouseDetailId","ItemId","ItemCode","WarehouseId","getOrderConstraint","UnitDictionary","setUnitDictionary","PriceDetails","priceListDetail","textAlign","SalesUnitDiscount","textDecorationLine","SalesUnitPrice","borderRadius","SalesUnitMinOrderQty","SalesUnitMaxOrderQty","SalesUnitId","Unit1Id","Unit1","Unit2","getSellableItemsTree","warehouseDetailId","isFiscal","IsCustomer","getSellableItemsList","ItemsForSell","setselecetrow","getItemTreeForSellAsync","WarehouseDictionaryWithAccess","WarehouseDictionary","setWarehouseDictionary","getWarehouseDictionaryAsync","SalesOrderDetailForm","_warehouseData$Wareho","_priceListDetail$0$Qt4","_priceListDetail$9","_priceListDetail$10","_priceListDetail$11","_priceListDetail$12","_priceListDetail$13","_priceListDetail3","_priceListDetail$14","_priceListDetail$15","_priceListDetail$0$Qt5","_priceListDetail$16","_priceListDetail$0$Qt6","_priceListDetail$17","_priceListDetail4","_priceListDetail$18","lastWarehouse","OrderConstraint","setLastWarehouse","priceList","SalesOrderDetailCallBack","salesWarehouse","salesOrderId","setPriceListDetail","detailPriceData","setDetailPriceData","UnitPrice","Discount","SubTotalPrice","TaxRate","Qty","itemData","setItemData","dictionaryName","setDictionaryName","showPriceListDetail","setShowPriceListDetail","warehouseData","setWarehouseData","itemSearch","setItemSearch","resetFormIfNeeded","Qty1","Qty2","getPriceListDetailAsync","newPriceListDetail","MainUnitId","Unit1MaxOrderQty","Unit2MaxOrderQty","Unit1MinOrderQty","Unit2MinOrderQty","Unit1Price","Unit2Price","Unit1Discount","Unit2Discount","QtyRoundingPlace","Qty1RoundingPlace","Qty2RoundingPlace","ItemDescription","IsFiscal","pre","_newPriceListDetail$","UnitId","changeQty","newQty","_priceListDetail","_priceListDetail2","_priceListDetail$2","newDetailPriceData","HasDetailRange","MaxOrderQty","DiscountPercent","totalTaxRate","TaxHandler","ItemTaxList","_newDetailPriceData","_newDetailPriceData2","_newDetailPriceData3","_newDetailPriceData4","_newDetailPriceData5","_newDetailPriceData6","_newDetailPriceData7","_newDetailPriceData8","_priceListDetail$0$Qt2","_priceListDetail$3","_priceListDetail$0$Qt3","_priceListDetail$4","_newDetailPriceData9","_newDetailPriceData10","_newDetailPriceData11","_newDetailPriceData12","_newDetailPriceData13","_newDetailPriceData14","_newDetailPriceData15","_newDetailPriceData16","_newDetailPriceData17","_newDetailPriceData18","_newDetailPriceData19","PriceRoundingPlace","ItemTechnicalCode","MinOrderQty","QtyMainUnit","QtyStatisticalUnit","IsAbsoluteUnitConversionRatio","UnitDiscount","HasTax","Unit2Id","_priceListDetail$5","_priceListDetail$6","_priceListDetail$7","_priceListDetail$8","flexWrap","_event$target$ItemTec","_priceListDetail$0$Qt","_priceListDetail$","WarehouseTitle","SalesOrderId","SourceId","Tax","parseFloat","_obj$Name","_obj$Name2","WarehouseDetailsCount","prev","Unit1RoundingPlace","FloorTaxDuty","SalesOrderForm","_selectedPhoneDetail$","_selectedPhoneDetail$2","_selectedPhoneDetail$3","_customerInfo$Nationa","relod","haveSource","setHaveSource","noAccess","setNoAccess","setCustomerInfo","salesOrderDate","setSalesOrderDate","showAddressBox","setShowAddressBox","orderRef1","showCustomerform","setShowCustomerform","setPriceList","salesOrderDetail","setSalesOrderDetail","dataGridLoading","setDataGridLoading","setOrderConstraint","totalRows","setTotalRows","ItemCount","TotalTax","TotalDiscount","payment","setPayment","totalprice","Prepayment","receive","setReceive","GrandTotalPrice","salesOrderNo","setSalesOrderNo","dateLoading","setDateLoading","detailMode","setDetailMode","OrderRef","salesOrderStatusId","setSalesOrderStatusId","changeAddress","setChangeAddress","typePhoneContact","setTypePhonContact","SendSMS","setSendSMS","selectedPhoneDetail","setSelectedPhoneDetail","phone","requiredFields","setRequiredFields","setSalesOrderDetailHandler","sendDataForCalcAsync","_person$Name2","_person$Id2","_OrderRef$current","_OrderRef$current$Pri","_OrderRef$current$Pay","_customer$CustomerPho5","_customer$CustomerPho6","_customer$CustomerPho7","_customer$CustomerPho8","_customer$CustomerMob5","_customer$CustomerMob6","_customer$CustomerMob7","_customer$CustomerMob8","_OrderRef$current$Add","_OrderRef$current$Add2","_OrderRef$current$Cus","_OrderRef$current$Cus2","_OrderRef$current$Del","_OrderRef$current$Des","_OrderRef$current$Pre","newsalesOrderDetail","TotalPrice","RecipientPersonDescription","RecipientPersonId","CurrencyId","newPriceList","SalesOrderNo","SalesOrderDate","PaymentMethodId","CustomerPhone","CustomerMobilePhone","CustomerAddress","CustomerEconNo","CustomerNationalCode","DeliveryAddress","IsCurrency","CurrencyRate","SalesOrderDetailDTOList","SalesOrderStatusId","_res$Data8","_res$Data9","_res$Data10","CalculateSalesOrder","newItemCount","getDefaultPersonContactAsync","getPersonCustomer","_res2$Data","_res2$Data4","SundryCustomer","SundryCustomerId","_res2$Data2","_res2$Data2$Customer","_res2$Data3","getDefaultPersonContact","getOrderConstraintAsync","withLoading","DocNo","RequiredFields","getOrderAsync","getSalesOrderByReferenceId","getSalesOrderById","handleOpenDetailForm","EcommerceWarehouseId","newObj","AllowDuplicateItems","handlesetOrderDetail","_person$Name","_person$Id","_event$target$PriceLi","_event$target$Payment","_customer$CustomerPho","_customer$CustomerPho2","_customer$CustomerPho3","_customer$CustomerPho4","_event$target2$Custom","_customer$CustomerMob","_customer$CustomerMob2","_customer$CustomerMob3","_customer$CustomerMob4","_event$target$Address","_event$target$Address2","_event$target$Custome3","_event$target$Deliver","_event$target$Prepaym","postSalesOrder","putSalesOrderWorkFlow","putSalesOrder","_error$response$data$","_error$response$data$2","_error$response$data$3","_error$response$data$4","_error$response$data$5","_error$response$data$6","_error$response$data$7","_error$response$data$8","_error$response$data$9","salesorderno","IsDocNoEditable","IsNewDocCurrentDate","ChangeDocCustomer","OnlyCustomer","UseCustomerPriceList","PhoneNumber","MobilePhone","NationalId","salesOrderStatus","DetailDTO","WarehouseForDetail","Detailes","setDetail","warehousegroup","setwarehousegroup","_WarehouseDictionary$8","_formRef$current2","_formRef$current3","_formRef$current4","_WarehouseDictionary$","_formRef$current5","_formRef$current6","_WarehouseDictionary$2","_formRef$current7","_formRef$current8","handleChangeMainWarehouse","_WarehouseDictionary$3","_WarehouseDictionary$4","_WarehouseDictionary$5","_WarehouseDictionary$6","_WarehouseDictionary$7","WarehouseTreeForm","WarehouseIdHandeler","getWarehouseTreeFormAsync","getSalesPreInvoice","getPreInvoiceConstraint","getPreInvoiceById","ItemSelector","fetchPriceListDetail","PriceFields","_priceListDetail5","_priceListDetail6","numberOfSalesUnit","rate","Constraint","setRate","updateQuantity","qty","setQty","qty1","qty2","handleQuantityChange","qtyType","handleUnitPriceChange","SalesPreInvoiceDetailForm","PreInvoiceConstraint","SalesPreInvoiceDetailCallBack","salesPreInvoiceId","ExpireDate","setExpireDate","showWarehouseTree","setShowWarehouseTree","setNumberOfSalesUnit","firstQty","setFirstQty","saveExit","setSaveExit","savedNewQty","setSavedNewQty","priceListArray","QtyInChange","_itemData$Id","newPriceData","calculatePriceData","DetailPrice","PriceListUnitId","calculateDiscountedPrice","calculateDiscount","_matchedPriceData","_matchedPriceData2","_matchedPriceData3","_matchedPriceData4","_matchedPriceData5","_matchedPriceData6","_matchedPriceData7","_currentPriceList$","_matchedPriceData8","_matchedPriceData9","currentPriceList","matchedPriceData","findMatchingPriceData","priceData","fetchTaxRate","itemId","newPriceListDetails","StatisticalUnitId","updatePriceListDetails","withPriceListDetail","useSelectedObj","handleItemCode","isLeafSelected","_event$target$Unit1Id","_event$target$Unit2Id","_event$target$Qty","_event$target$Qty2","_event$target$Unit1Pr","_event$target$Unit2Pr","_event$target$SubTota","_event$target$Discoun","_event$target$Discoun2","_event$target$Price","_event$target$Tax","_event$target$PartyNo","_event$target2$CargoW","SalesPreInvoiceId","PartyNo","CargoWeight","HasExpireDate","getSalesInvoice","CalculateSalesInvoice","getInvoiceConstraint","getSources","SalesPreInvoiceSourceId","SourceObjCallBack","sourceType","setSourceType","showSources","setShowSources","sourceData","getSourcesAsync","pagNum","GenerateFromSourceAsync","GenerateFromSource","SalesPreInvoiceForm","_salesPreInvoiceDetai3","_salesPreInvoiceDetai4","_response$SalesPreInv","_salesPreInvoiceDetai5","salesPreInvoiceDate","setSalesPreInvoiceDate","invoiceRef1","salesPreInvoiceDetail","setSalesPreInvoiceDetail","setPreInvoiceConstraint","docsClassification","setDocsClassification","Addition","Deduction","setOptionalDiscount","increased","setIncreased","showWarehouseForDetail","setShowWarehouseForDetail","salespreinvoiceno","setSalespreinvoiceno","salesPreInvoiceStatusId","setSalesPreInvoiceStatusId","PreInvoiceRef","currencyInfo","setCurrencyInfo","mobilePhone","setSalesPreInvoiceDetailHandler","_PreInvoiceRef$curren","_salesPreInvoiceDate$","_salesPreInvoiceDate$2","_PreInvoiceRef$curren2","_PreInvoiceRef$curren3","_PreInvoiceRef$curren4","_PreInvoiceRef$curren5","_PreInvoiceRef$curren6","_PreInvoiceRef$curren7","_PreInvoiceRef$curren8","_PreInvoiceRef$curren9","_PreInvoiceRef$curren10","_listPosition$SalesMa3","_listPosition$SalesMa4","_PreInvoiceRef$curren11","_listPosition$Visitor3","_listPosition$Visitor4","_PreInvoiceRef$curren12","_listPosition$Distrib2","_PreInvoiceRef$curren13","_PreInvoiceRef$curren14","_PreInvoiceRef$curren15","_PreInvoiceRef$curren16","_PreInvoiceRef$curren17","_PreInvoiceRef$curren18","_PreInvoiceRef$curren19","_PreInvoiceRef$curren20","_PreInvoiceRef$curren21","_PreInvoiceRef$curren22","newsalesPreInvoiceDetail","SalesPreInvoiceNo","SalesPreInvoiceDate","SalesManagerPositionId","SalesManagerPosition","SalesManagerPositionDescription","SalesManagerPositionDescriptionEN","VisitorPositionDescriptionEN","DistributorPositionDescriptionEN","IsCurrancyPreInvoice","CreditPayment","SalesPreInvoiceDetailDTOList","TAS_UID","_res$Data11","CalculateSalesPreInvoice","_res2$Data5","_res2$Data6","getPreInvoiceConstraintAsync","_res$Data12","getPreInvoiceAsync","getSalesPreInvoiceOrGenerate","_res$Data13","_res$Data14","_res$Data15","_res$Data16","_res$Data17","_res$Data18","_res$Data19","_res$Data20","_res$Data21","_res$Data22","_res$Data23","_res$Data24","_res$Data25","_res$Data26","_res$Data27","_res$Data28","_res$Data29","_res$Data30","optionalDiscountHandlerAsync","OptionalDiscount","DetailDTOList","optionalDiscountHandler","handlesetPreInvoiceDetail","_listPosition$SalesMa","_listPosition$SalesMa2","_event$target$SalesMa","_listPosition$Visitor","_listPosition$Visitor2","_event$target$Visitor","_listPosition$Distrib","_event$target$Distrib","_event$target$IsCurra","_event$target$Additio","_event$target$Deducti","_event$target$Additio2","_event$target$Deducti2","_event$target$CreditP","postSalesPreInvoice","exteraData","postSalesPreInvoiceWorkFlow","_ENDPOINTSINVENTORYAN","putSalesPreInvoiceWorkflow","SalesPreInvoiceStatusId","putSalesPreInvoice","_error$response$data$10","_error$response$data$11","handleSourceData","IsClassificationIgnored","_salesPreInvoiceDetai2","_salesPreInvoiceDetai","handleEditDetails","SalesInvoiceDetailForm","invoiceConstraint","SalesInvoiceDetailCallBack","SalesInvoiceId","expireDate","CalculateTax","_detailPriceData$Disc","_event$target$SubTota2","HasProductTracking","IsDocClassified","getDocsClassificationAsync","getDocsClassification","SalesInvoiceSourceId","SalesInvoiceForm","_invoiceRef$current44","_invoiceRef$current45","salesInvoiceDate","setSalesInvoiceDate","cottageDate","setCottageDate","salesInvoiceDetail","setSalesInvoiceDetail","setInvoiceConstraint","setResponseList","DebitPayment","NonDebitPayment","nextInvoiceNumber","setNextInvoiceNumber","invoiceRef","setSalesInvoiceDetailHandler","_invoiceRef$current","_invoiceRef$current$s","_invoiceRef$current2","_invoiceRef$current2$","_invoiceRef$current3","_invoiceRef$current3$","_invoiceRef$current4","_invoiceRef$current4$","_invoiceRef$current5","_invoiceRef$current5$","_invoiceRef$current6","_invoiceRef$current6$","_invoiceRef$current7","_invoiceRef$current7$","_invoiceRef$current8","_invoiceRef$current8$","_invoiceRef$current$A","_invoiceRef$current$A2","_invoiceRef$current9","_invoiceRef$current9$","_invoiceRef$current10","_invoiceRef$current11","_invoiceRef$current12","_invoiceRef$current13","_invoiceRef$current14","_invoiceRef$current15","_listPosition$Distrib3","_listPosition$Distrib4","_invoiceRef$current16","_invoiceRef$current17","_invoiceRef$current18","_invoiceRef$current19","_invoiceRef$current20","_invoiceRef$current21","_invoiceRef$current22","_invoiceRef$current23","_invoiceRef$current24","_invoiceRef$current25","_invoiceRef$current26","_invoiceRef$current27","_invoiceRef$current28","_invoiceRef$current29","_invoiceRef$current30","_invoiceRef$current31","_invoiceRef$current32","_invoiceRef$current33","_invoiceRef$current34","_invoiceRef$current35","_invoiceRef$current36","_invoiceRef$current37","_invoiceRef$current38","_invoiceRef$current39","_invoiceRef$current40","_invoiceRef$current41","_invoiceRef$current42","_invoiceRef$current43","Classification","newsalesInvoiceDetail","SalesInvoiceNo","salesInvoiceNo","SalesInvoiceDate","DocsClassificationId","docsClassificationId","CottageDate","CottageNo","PaymentRemark","IsCurrancyInvoice","SalesInvoiceDetailDTOList","_error$response2$data2","_error$response2$data3","_res2$Data7","_res2$Data8","getInvoiceConstraintAsync","getInvoiceAsync","getSalesInvoiceOrGenerate","_res$Data31","_res$Data32","_res$Data33","getSalesInvoiceById","CurrencyRoundingPlace","getSalesInvoiceNoAsync","getSalesInvoiceNo","handlesetPriceListDetail","_event$target$Currenc","_event$target2$salesI","_event$target3$salesI","_event$target5$docsCl","_event$target7$Custom","_event$target8$Custom","_event$target$Cottage","_event$target$Payment2","_event$target$DebitPa","_event$target$NonDebi","postSalesInvoice","sendSMS","postSalesInvoiceWorkFlow","putSalesInvoiceworkflow","putSalesInvoice","_error$response$data$12","salesinvoiceno","SalesInvoiceStatusId","getCustomerPriceListDetail","CustomerSalesOrderDetailForm","CustomerSalesOrderDetailCallBack","CustomerSalesWarehouse","PriceListIsManual","PriceListHasDetailRang","_event$target$UnitId","_event$target$UnitId2","_event$target$UnitPri","CustomerSalesOrderId","PriceListHasDetailRange","_selectedPhoneDetail$4","basketData","useClient","navigate","useNavigate","CustomerSalesOrderDetailViewDTO","SalesOrderDetails","orders","_items$TaxObject$orde","_items$TaxObject","_orders$OrderItemId","_items$TaxObject$orde2","_items$TaxObject2","_orders$OrderItemId2","OrderItemId","TaxObject","ItemEN","UnitEN","SalesUnit","makeOrderFromBasket","EcommercePriceListId","_formRef$current$Addr","_formRef$current$Addr2","_formRef$current$Cust","_formRef$current$Cust2","_formRef$current$Paym","PersonDescription","sendBasketAsync","Recipient","putWarehouseIO","getWarehouses","currentWarehouse","constraintWarehouseIo","warhouseIdList","warehouseIdList","encodeURI","postWarehouseIOWorkFlow","putWarehouseIOworkflow","getSellectableWarehouseItemTree","getSellectableWarehouseItems","getSellectableWarehouseItemDetail","SellectableWarehouseItem","_data$Data","fetchItem","getItemTreeFormAsync","ItemStockList","_data$ItemStockList2","_data$ItemStockList3","_data$ItemStockList4","_data$ItemStockList5","_data$ItemStockList6","_data$ItemStockList6$","_data$ItemStockList7","_data$ItemStockList7$","sendDataCallBack","firstValue","setFirstValue","selectedTotalValuseObj","setSelectedTotalValuseObj","_data$ItemStockList","_data$ItemStockList$f","Stock","InventoryRemittanceDetailForm","warehouseIODetail","dictionaryNameUnit","setDictionaryNameUnit","detailWarehouseData","setDetailWarehouseData","QtyOut2","QtyOut1","ItemValue","ItemValueOut","WageCost","itemStokList","setItemStokList","TechnicalCode","getItemDetailAsync","UnitOut1Id","UnitOut2Id","UnitOut2","UnitOut1","_event$target$UnitOut","_event$target$UnitOut2","_event$target$QtyOut","_event$target$QtyOut2","_event$target$ItemVal","_event$target$ItemVal2","_event$target$WageCos","_event$target$Descrip2","_event$target$QCNo","QCNo","QtySource","DeliveryCost","OtherCost","OverloadCost","DataHasExpireDate","warehouseIOForms","_response$WarehouseIO","_response$WarehouseIO2","_response$WarehouseIO3","warehouseIoEnaumType","handleSendData","showWarehouseTypeForm","recipientPerson","setRecipientPerson","accountPartyPerson","setAccountPartyPerson","deliverPerson","setDeliverPerson","applicantPosition","setApplicantPosition","myform","warehouseIoDetail","setWarehouseIoDetail","InventoryRemittanceDetailDTOList","totalRow","setTotalRow","showDetailForm","setShowDetailForm","setTime","getWarehouseIoNoAsync","getWarehouseIoNo","WarehouseIONo","newData","newItemes","_event$currentTarget","_event$currentTarget2","_event$currentTarget3","IsRegisteredByQuantity","IsRegisteredByPrice","WarehouseIOKindId","WarehouseIOType","WarehouseIODate","BillOfLadingNo","CalculateQuantityFromAnalysis","AccountPartyPersonId","AccountPartyPersonDescription","DeliverPersonId","DeliverPersonDescription","ApplicantPositionId","ApplicantPositionDescription","NoItemWarehouseIO","RetrievalUser","WarehouseIOTypeForm","props","FormComponent","WarehouseIOForm","setShowWarehouseIoForm","allWarehouseIOData","setAllWarehouseIOData","selectedWarehouseIoResponse","setSelectedWarehouseIoResponse","setConstraint","childrenButtonPrintObj","setChildrenButtonPrintObj","displayType","selectedWarehouseIo","setSelectedWarehouseIo","setShowWarehouseTypeForm","handleSendDataAsync","_response$","getWarehouseIoByIdAsync","_error$response4","_error$response3","totalRes","getWarehouseIOByReferenceId","constraimtResponse","getConstaintWarehouseIoAsync","responseWithNewWarehouseIONo","DocNoDictionary","WarehouseIOTypeEnum","DYNAMICFORMS","titleToShow","showJobInfo","_responseAttendees$Da","responseAttendees","setResponseAttendees","showMeetingApprovalForm","setShowMeetingApprovalForm","LocalMode","showSendForSign","setShowSendForSign","DeleteMeetingApproval","getReferenceMeetingApprovalsAsync","getMeetingApprovals","getMeetingAttendees","FinishMeetingAndStartApprovalsAsync","prjUid","SendMessage","sendMeetingForSign","invitationStatus","setInvitationStatus","getAccept","Accepted","Rejected","putAcceptAsync","putAccept","_event$target$Presenc","InvoiceId","setAction","invoicePricedisabl","setInvoicePricedisabl","getInvoiceData","InvoiceNumber","HasPayment","InvoiceDescription","HasInvoice","InvoicePrice","IsPaid","PayDescription","sendInvoiceData","DeliveredTime","setDeliveredTime","deliverForm","setDeliverForm","rateRange","setRateRange","sendDeliverFormAsync","sendDeliverForm","getDeliverFormAsync","getDeliverForm","getRateAsync","DeliveredByPositionId","progressbar","CustomerFeedBackDescription","Progress","canSubmit","setCanSubmit","getReceivers","postLetterSends","receivedData","updatedArray","filteredArray","validList","_position$Id","_serviceRequest$Corre","_serviceRequest$Corre2","_serviceRequest$Corre3","setServiceRequestDate","serviceRequest","setServiceRequest","showStep","setShowStep","serialName","correctedSerialId","setCorrectedSerialId","itemsId","correctedItemDescription","setCorrectedItemDescription","validatePosition","setValidatePosition","setCustomerPosition","setItemsValid","showCustomerInfo","setShowCustomerInfo","postServiceRequest","getRequestAsync","getRequestById","CorrectedItemDescription","getRequest","checkValidateAsync","_event$target$Correct","RequesterMobileNumber","WorkHours","Serial","InstallationLocation","FollowupResponsiblePositionId","CustomerServiceRequestClassificationId","PaymentCoverageTypeId","EstimatePayment","EstimateDescription","CorrectedDescription","_event$target2$ItemId","_event$target3$Serial","setGeneralRequestDate","setGeneralRequest","CustomerGeneralRequestClassificationId","_event$target$ItemDes","CustomerGeneralRequestDTO","DailyLeaveId","getDailyLeaveAsync","getDailyLeaveData","getDailyLeaveDataByreferenceId","_e$target$RemainingDa","_e$target2$RemainingD","DailyLeaveRequestClassificationId","putDailyLeaveData","_e$target3","_e$target3$RemainingD","postDailyLeaveData","EndDate","HourlyLeaveId","leaveHours","setleaveHours","changeTime","getHourlyLeaveAsync","getHourlyLeaveData","getHourlyLeaveDataByReferenceId","startTimeMilisecond","endTimeMilisecond","putHourlyLeaveData","postHourlyLeaveData","showSignList","setShowSignList","setSignature","signatureHistory","setSignatureHistory","SignatureId","setSignId","res3","parentFrom","_SignatureBaseUrl$par5","_SignatureBaseUrl$par6","_SignatureBaseUrl$par7","_SignatureBaseUrl$par8","getSignatureHistory","_SignatureBaseUrl$par","_SignatureBaseUrl$par2","_SignatureBaseUrl$par3","_SignatureBaseUrl$par4","getSignature","getMeetingSignature","Sign","rejectedImage","_item$PositionDescrip","_item$PositionDescrip2","PositionTitle","SignatureDescription","getDefaultSignature","usenavigate","_creditList$Data","setPositionId","creditList","setCreditList","headerItem","setHeaderItem","getCustomerCreditAsync","getCustomerCredit","Header","newHeaderItemObj","AccountBalance","Footer","TotalTag","getAfterSale","ActionsOfReference","_response$Data$Data","gridData","showattachment","setshowAttachment","setEndpoint","getReferenceActionsOfReferenceAsync","getActionsOfReferences","ReferenceHistory","serviceRequestId","showActionOfReference","setShowActionOfReference","ReferenceAndActionsasync","BpmnTask","setBpmnTask","setBpmnTasks","BpmnTaskRef","getBpmnTaskListAsync","getBpmnTaskApi","BpmnTaskUser","bpmnTaskId","setBpmnTaskUser","ReferenceDictionary","optionsReferenceDictionary","setOptionsReferenceDictionary","setApp","Default","options_ReferenceDictionary_values","options_ReferenceDictionary_keys","ReferenceDictionaryApiAsync","getReferenceDictionarys","PerformerPositionDescription","newSelectedList","deleteaOption","SpecialReference","selectedJob","bpmnTask","bpmnTaskUser","referrerList","setReferrerList","newreferrerList","Performer","refrencList","referrer","ParentReferenceId","ReferrerPositionId","ReferenceSubjectId","priority","HasFollowUp","SecretReference","secretReference","AssignType","Reference","SendMessageToPerformer","getDeviceDeliverie","DevicePropertyValueList","deviceDeliveryId","DevicePropertyValueDataListCallback","DevicePropertyValueDataListProp","getAllDevicePropertiesAsync","getAllDeviceProperties","_e$target$item$Id","_e$target$item$Id2","DefaultValue","PropertyName","DeviceDeliveryForm","DeviceDeliveryDate","setDeviceDeliveryDate","setDeviceDelivery","ReceivedTime","setReceivedTime","showProperties","setShowProperties","devicePropertyValue","setDevicePropertyValue","postDeviceDelivery","getDeviceDeliveryAsync","submitDevicePropertyValueList","PhoneToFollowUp","DelivereePerson","ReceivedByPositionId","DeliverDescription","PermissionExitPositionId","DevicePropertyValues","deleteCustomerGeneralRequestClassification","deleteDevicePropertie","deletePaymentCoverageType","deleteServiceRequestClassification","getBords","removable","fullScreen","savedWidgets","Link","handleRemoveWidget","alone","isPropagationStopped","AttachmentViewer","listAttachment","loadingFile","setLoadingFile","getFileAsync","_listAttachment$","WidgetBoardDetail","_response$BulletinBoa","bordData","getAttachmentViewersAsync","BulletinBoardId","BulletinBoardAttachments","WidgetBoard","bordSelected","setBordSelected","showBord","setShowBord","startBords","pageSi","getBordsAsync","getWidth","nextLabel","_selectedIndex$target","flex","objectPosition","WebkitLineClamp","verticalAlign","textDecoration","fill","CarIndex","WidgetCalendar","events","setevents","getEvetsAsync","CalendarEventTime","engDays","months","WidgetClock","today","seconds","setSeconds","secondsRef","getSeconds","minutesRef","hoursRef","persianDate","engDayName","getDay","engDayIndex","currentDay","setcurrentDay","getDayInfoAsync","Weekday","setInterval","DayInfo","WidgetPositions","userPositions","setUserPositions","ProfileList","getProfileAsync","changeCurrentUserPosition","WidgetQuote","setDayMessage","getDayMessageAsync","MyOwnRequests","Requests","setRequests","WidgetSales","progress1","setProgress1","progress2","setProgress2","getSalesInfoAsync","monthly","MonthlySale","MonthlySaleTarget","yearly","YearlySale","MonthlyInvoiceCount","MonthlyTitle","YearlyInvoiceCount","YearlyTitle","widgets","getOtherGroups","GroupPositionForm","DataForSend","idGroupPosition","GroupPositionStatus","SystemKey","SystemReserved","sendGroupPosition","AssignedPositionList","BodyPositionList","hasMultiSelect","searchData","setSearchData","selectListCallBack","PositionListResponse","PositionListFiltered","PositionList","PositionAssigningToGroup","ShowDefaultGroups","setUpdate","AssignSelectList","setAssignSelectList","setReset","responsePosition","setResponsePosition","assignPositionListData","setAssignPositionListData","dataForSend","setDataForSend","sendData","setGroupPositionList","setGroupPositionListAsync","GroupPositionDetailResponse","groupPositionId","PositionListResponseFiltered","AssignPositionList","_GroupPositionDetailR","GroupPositionIdResponse","newList2","OtherGroups","showFormData","setShowFormData","showFormMembers","setShowFormMembers","getOtherGroupsAsync","clickedCancelBtn","groupPositionIdCallback","getDefaultGroups","getDefaultGroupDetail","DefaultGroupMembers","selectedDefaultGroup","setSelectedDefaultGroup","showDeleted","setShowDeleted","getDefaultGrouporganizationIdAsync","DefaultGroups","formCancleBtn","setFormCancleBtn","getDefaultGroupsAsync","getPositionOrganizationList","organizationId","getExceptOrganizationRolesList","addNewRolesAsync","OrganizationForm","Qualification","AddRoleForm","treeType","setsearch","set","obj2","nameList","len","elem","setTree","parentId","Children","newTypeObject","ty","old_index","new_index","array_move","tabletr","serchWord","OrganizationRoles","showAddForm","setShowAddForm","setTreeType","exceptListResponse","setExceptListResponse","isIn","inList","getOrganizationRolesList","getExceptListAsync","deletRolesAsync","addNewRoles","pasteList","GroupPositionDictionary","optionsgroupPositionDictionary","setOptionsgroupPositionDictionary","groupPositionDictionaryApiAsync","isReserved","getgroupPositionDictionarys","PositionForm","selectedPosition","setSelectedPosition","showPositions","setShowPositions","groupPositionDictionary","setGroupPositionDictionary","getPositionorganizationIdAsync","AddNewPosition","editPosition","defaultFormData","getNewPosition","TitleEN","PostLevel","GroupPositionIds","FromDate","PostLevelId","UntilDate","EditForm","getArchiveDataAsync","putArchiveData","jobEntireTreeAsync","getJobFileArchive","PersonalArchiveDetailId","inPersonal","customStyle","loadingText","setLoadingText","showDetailsForm","setShowDetailsForm","setAttachmentText","setHelp","showHelpModal","setShowHelpModal","MessageTextType","setMessageTextType","preprocessingOptions","setPreprocessingOptions","returenThumbnail","getAttachmentViewers","getAttachmentDetailAsync","_res$Data2$Keywords","AttachmentText","UpdateAttachmentDetails","PreprocessingOptions","AttachId","GetAttachmentText","imageBox","buttonBox","bottom","downloadBtn","SelectJobList","addToJobList","setReferenceId","setRowObject","setJobId","referenceIdRef","selectedProcessFilterId","setSelectedProcessFilterId","setGridSetting","typeOfDataGrid","setTypeOfDataGrid","getWithOrder","getCartableAsync","Ongoing","JobList","setJobList","Referred","Finished","viewContent","ButtonToolbarSearch","setKey","clickClose","_refFocos$current","_refFocos$current$val","ToolbarInTab","persons","setWindowInnerWidth","handleWindowResize","PersonLegalList","personLegalList","HeadPersonLegal","selectedPersonId","setSelectedPersonId","responsePerson","setResponsePerson","setorderBy","idPersonLegal","setIdPersonLegal","clickToolbarCallback","handleDeletePersonLegal","getPersonLegalListAsync","deletePerson","_forms$PersonLegal","_forms$PersonLegal2","personIdCallback","PersonRealList","personRealList","HeadPersonReal","setIdPersonReal","handleDeletePersonReal","getPersonRealListAsync","_forms$PersonReal","_forms$PersonReal2","getUnits","getUnit","Conversion","ConversionInputValue","setConversionInputValue","ConversionValue","setConversionValue","setdefaultUnit","textConversion","setTextConversion","inputConversionRef","updateConversionInput","getConversionAsync","physicalQuantityId","getConversion","UnitForm","_response$Unit","_response$Unit2","_response$Unit3","_response$Unit4","_response$Unit5","_response$Unit6","_response$Unit7","_response$Unit8","_response$Unit9","_response$Unit10","_response$Unit11","handleCopyItem","setPhysicalQuantityId","canPaste","setCanPaste","sendUnitsApi","getUnitAsync","readText","checkPaste","TaxUnitCode","Abbreviation","PhysicalQuantityId","PhysicalQuantity","ConversionRatioWithDefaultUnit","pasteHandler","getListBarcodes","DeleteItemTree","DeleteItemTreeDetail","getItemGroupTree","getItemGroup","checkLevelItem","getItemGroupRootsFormat","ItemBarcodeForm","ItemBarcodelistcallback","ItemBarcodeType","setItemBarcodeType","setTitle","sendBarcodes","ItemBarcodeName","BarcodeType","ItemBarcodeList","BarcodesListcallback","getAllItemBarcodesAsync","getAllItemBarcode","getItemBarcodes","IsIndependent","ItemBarcodesId","setItemBarcodesId","Barcodesmode","setBarcodesMode","showitemBarcodesesForm","setShowitemBarcodesesForm","Barcodeslist","setBarcodeslist","sendItemBarcodesAsync","sendItemBarcodes","getItemBarcodeslistAsync","newItems","newbarcodeslist","p","BarcodeId","newBarcodesList","addBarcodestoList","ItemPropertiesValues","_response$Undetermine","_response$DeterminedI","_response$DeterminedI2","_response$Undetermine2","ItemPropertiesValuesDataListCallback","ItemPropertiesValuesDataListProp","sendDevicePropertiesValueAsync","metode","sendDevicePropertiesValue","UndeterminedItemProperties","_e$target$item$ItemOt5","_e$target$item$ItemOt6","ItemOtherPropertyId","PropertyValue","DeterminedItemProperties","_e$target$item$ItemOt7","_e$target$item$ItemOt8","ItemOtherPropertyValueId","_e$target$item$ItemOt","_e$target$item$ItemOt2","_e$target$item$ItemOt3","_e$target$item$ItemOt4","getAllItemProperties","ItemPropertiesForm","Propertilistcallback","propertyType","setPropertyType","sendProperty","postProperty","ItemPropertiesList","PropertiesListcallback","formLoading","setFormLoading","getAllItemPropertiesAsync","ItemProperties","_cartable","getPropertiItems","ItemPropertiId","setItemPropertiId","Propertimode","setPropertiMode","showitemPropertiesForm","setShowitemPropertiesForm","Propertilist","setPropertilist","sendItemPropertiesAsync","getItemPropertiesAsync","newPropertiList","addPropertitoList","ItemTaxesForm","ItemTaxeslistcallback","ItemTaxesType","setItemTaxesType","TaxTypeItemEnum","ItemTaxesName","ItemTaxes","getItemTaxes","ItemTaxesId","setItemTaxesId","ItemTaxesmode","setItemTaxesMode","showItemTaxesesForm","setShowItemTaxesesForm","ItemTaxeslist","setItemTaxeslist","sendItemTaxAsync","getItemTaxeslistAsync","newItemTaxesList","addItemTaxestoList","getItemBranch","getAllItemMainPropertyValues","ItemMainPropertyValuesList","ItemMainPropertyId","getAllItemMainPropertyValuesAsync","ItemMainPropertyVariation","ItemMainPropertyDescription","SelectedItemMainPropertyValues","checkData","showLeafMode","showItemMainPropertyValuesList","setShowItemMainPropertyValuesList","ItemLevelSpecificationslist","setItemLevelSpecificationslist","ItemItemLevelSpecificationsId","setItemItemLevelSpecificationsId","SummaryDescription","SummaryDescriptionEN","ItemBranch","selectedItemMainPropertyValues","setSelectedItemMainPropertyValues","descriptions","setDescriptions","sendItemGroupAsync","sendItemBranch","GroupLeafId","ParentCode","ParentLayerLeafId","ItemLayerType","CodeLength","summaryDescription","summaryDescriptionEN","getItemGroupBranch","ItemGroupBranch","sendItemGroupBranch","ItemGroupLeafForm","ItemGroupLeafData","ItemType","getItemGroupLeaf","getAllKeys","KeysList","VariationObj","getAllKeysAsync","CodeFormatLetter","ItemFormatsForm","submitItemFormats","ItemFormatsCodeFormat","setItemFormatsCodeFormat","showKeysList","setShowKeysList","itemGroupFormat","setItemGroupFormat","ItemLayerFormatlevels","setItemLayerFormatlevels","levels","setlevels","responseLength","setResponseLength","formatLetters","countSpecificLetter","string","char","getItemGroupRootsFormatAsync","LeafCodeFormat","pos","self","ItemLayerLevelCount","ItemLevelSpecificationList","char_count","stringToUniqueArray","letter_Count","charAt","KeyDescription","DescriptionByCodeFormat","ItemGroupLeaf","sendItemGroupLeaf","_event$target$ItemLay","ItemLayerCodeFormat","LayerCodeFormat","ItemVariationLevelSpecificationList","_event$target3$Code","ItemGroupFormat","_event$target4$Code","_event$target5$Code","getItemGroupRoot","ItemGroupRoot","sendItemGroupRoot","MainForm","submitMain","_event$target$Technic","_unites$Statistical4","_unites$Statistical5","_unites$Main","_unites$Main2","_unites$Main3","_unites$Statistical6","_unites$Statistical7","_unites$Main4","_unites$Statistical8","_unites$Statistical9","_unites$Main5","_unites$Statistical10","_unites$Statistical11","_unites$Main6","_unites$Statistical12","_unites$Statistical13","_unites$Main7","_unites$Statistical14","_unites$Statistical15","_unites$Main8","_unites$Statistical16","_unites$Statistical17","_unites$Statistical18","_unites$Main9","_unites$Statistical19","submitUnit","unites","setUnites","unitConversion","setUnitConversion","_unites$Statistical","_unites$Statistical2","_unites$Statistical3","PurchaseUnitId","Statistical","pr","Main","priceListUnit","MainUnitFloatingPoint","PackingForm","_data$Dimensions","_data$Dimensions2","_data$Dimensions3","submitPacking","hasPacking","setHasPacking","HasPacking","hasSerial","setHasSerial","HasSerial","_event$target$NetWeig","_event$target2$Packin","_event$target3$Packin","_event$target4$Packin","_event$target5$Packin","_event$target6$length","_event$target7$width","_event$target8$height","_event$target9$HasPac","_event$target10","_event$target10$HasPr","_event$target11","_event$target11$HasEx","_event$target12","_event$target12$HasSe","_event$target13","_event$target13$IsSer","_event$target14","_event$target14$HasSe","NetWeight","PackingUnitId","PackingQty","PackingWeight","PackingVolume","Dimensions","IsSerialObligatory","HasSerialQty","getItemLeaf","TaxForm","submitTax","TaxUnitId","TaxItemId","ItemLeafForm","mainData","UnitData","packingData","sendItemLeaf","putItemLeaf","getItemLeafAsync","_event$target6$HasPac","_event$target7$HasPro","_event$target8$length","_event$target9$width","_event$target10$heigh","getItemVariationBranch","getNewItemVariation","ItemVariationBranchForm","sendItemVariationBranch","putItemVariationBranch","getItemVariationBranchAsync","getNewItemVariationAsync","getItemVariationLeaf","DetailedDescription","SelectedItemMainProperty","_event$target7$length","_event$target8$width","_event$target9$height","ItemVariationLeafForm","sendItemVariationLeaf","putItemVariationLeaf","getItemVariationLeafAsync","ItemGroupCodeSettingForm","itemGrouplevels","setItemGrouplevels","codeFormat","sendGroupCodeFormat","getWarehouseAccess","WarehouseDetailForm","WarehouseAccess","accessDatahandler","accessData","breakPoint1","Groupresponse","list2","getAccessDataAsync","WarehouseForm","showAccess","setShowAccess","boardData","setBoardData","getWarehouseDataAsync","WarehouseAccesses","postWarehouseData","NameEN","PricingMethod","putWarehouseData","getAllItemList","getItemListId","ItemList","getAllItemListAsync","ItemGroupIds","postItemList","WarehouseItemGroupId","setWarehouseItemGroupId","WarehouseItemGroupmode","setWarehouseItemGroupMode","showWarehouseItemGroupForm","setShowWarehouseItemGroupForm","getItemListAsync","deleteItemList","massageType","setMassageType","massageType2","setMassageType2","SetWarehouseAccessAsync","sendWarehouseAccess","TaskUserresponse","getTaskUserAsync","getListPeymentMethod","PeymentMethodForm","_localStorage","getPeymentMethodId","getPeymentMethod","PeymentMethodTitle","PeymentMethodTitleEN","PeymentMethodSystemKey","putPeymentMethodApi","getListDocsClassification","DocsClassificationForm","getDocsClassificationId","DocsClassificationTitle","DocsClassificationTitleEN","StartDocsNo","putDocsClassificationApi","PriceListAccess","setRes2","searching","assignmentsearching","EditableInput","onBlurCallBack","columnsWithOption","column","defaultValueOption","checkedInput","setCheckedInput","CheckPriceList","DataGridEditable","editablecolumns","changeingDataCallback","editAllGrid","RowKey","setEditAllGrid","dependsValue","inEditCol","setInEditCol","changedDataRef","rtlDataGridEditableDirection","addRowChange","ChangedData","checkChangedRow","removePriceListDetail","removelist","postPriceListDetailBulkAddApi","getItemPriceTree","isWarehouseItem","hasPriceUnit","hasPriceListUnitOnly","getItemPriceList","ItemsForPriceList","defualtHasPriceUnit","setHasPriceUnit","getItemsForPriceListAsync","WarehouseDictionarySelect","_optionsWarehouseDict","_selectedItemList$","_selectedItemList$2","_selectedItemList$3","selectedItemCallBack","PriceListObj","optionsWarehouseDictionarySelect","setOptionsWarehouseDictionarySelect","setWarehouse","selectedItemList","setSelectedItemList","setHasPriceListUnitOnly","WarehouseDictionarySelectApiAsync","showWarehousesWithWarehouseDetails","getWarehouseDictionary","allWarehouses","SelectItemCode","HasPriceUnit","_Warehouse$WarehouseD","_Warehouse$WarehouseD2","_Warehouse$WarehouseD3","_Warehouse$WarehouseD4","_Warehouse$WarehouseD5","AllItems","_selectedItemList$ite","_selectedItemList$ite2","HasPriceListUnitOnly","From","To","PriceInput","valueNum","setValueNum","PriceListDetailBulkAddForm","_itemCodeData$selecte","_itemCodeData$selecte2","saveWarehouseInPriceList","haveDetail","setAll","fixedPrice","setFixedPrice","setPrice","werhoseList","setWerhoseList","selectedWerhose","setSelectedWerhose","itemCodeData","setItemCodeData","needToCall","setNeedToCall","unitPriceValue","setUnitPriceValue","warehouseCodes","_event$target$Warehou","_event$target3$from","_event$target4$To","_event$target2$Wareho","_warehouseCodes","_warehouseCodes$","_warehouseCodes2","_warehouseCodes2$","_event$target5$from","_event$target6$To","_event$target$MinOrde","_event$target$MaxOrde","_event$target7$Discou","_event$target8$Discou","TargetPriceListId","_itemCodeData$allWare","_itemCodeData$allWare2","_event$target10$Disco","_event$target11$Disco","_event$target$MaxOrde2","SourcePriceListId","Percent","_itemCodeData$allWare3","_itemCodeData$allWare4","PriceListGroupEditForm","_userChanges$MinOrder","_userChanges$MaxOrder","_event$target$Roundin","RoundingPlace","putPriceListDetailBatchApi","PriceListDetail","EditType","False","All","SingleRow","Columns","showGroupEdit","setShowGroupEdit","setEditablecolumns","showPriceListBulkAdd","setShowPriceListBulkAdd","changedDataObj","setChangedDataObj","getEditablecolumnsAsync","saveChangeingData","PostlistData","PutlistData","putPriceListDetail","SaveWarehouseId","PriceListForm","PriceListData","setPriceListData","converted","setConverted","clonePriceList","sourcePriceListId","sendPriceList","resConstraint","getPriceListConstraint","getPriceListId","PriceListAccesses","HasRelation","FirstUsedDate","LastUsedDate","HasDetail","GroupPerson","TextBoxName","setReminder","resultData","setResultData","showWrapper","setShowWrapper","debounceOnAutoCompleteChange","debounce","autoCompleteInputRef","setAsAutoCompleteValue","innerText","deleteItemFromSelectedData","filteredDataList","wraper","CartableReminder","PostReminder","ReminderTime","passListContext","ModalStepper","_formList$counter","_formList$counter2","_formList$counter3","_formList$counter4","_formList$counter5","_formList$counter6","_formList$counter7","_formList$counter8","_formList$counter9","_formList$","_formList$2","_formList$3","_formList$4","_formList$5","_formList$6","_formList$7","_formList$8","_formList$9","_formList$10","parentMode","formList","progress","setProgress","counter","setCounter","pass","setPass","passList","setPassList","circleClick","complete","Tindex","Parameters","ProjectId","ReferenceForm","taskMode","handleSubmitedDataForAllForms","assignType","actualTimeInputValue","setActualTimeInputValue","formData","setFormData","currentFormData","isSubmitted","isAllformSubmitted","ReferenceSubject","ProgresBarTask","taskList","selectAtLeastOneTask","handleCircleClick","TaskTitle","ReferenceContent","pageIndex","taskPositionList","sendDataToWizard","handlePassStep","references","setReferences","passList2","setPassList2","page","setPage","lastStep","firstStep","handleSubmission","fillReferences","sendDataTo","fetchedData","contentPage","next","prevPage","scrollTop","clearedRowData","isExist","clearedData","onRowDoubleClick","pagedata","checkPassList","isSelect","activ","circle","updatedArr","ReferenceStepper","_response$JobInfo2","_response$Tasks$0$Pos","_response$Tasks$","_response$Tasks$2","hideReferenceAndFinish","setReferenceList","setSelectAtLeastOneTask","setParentReferenceId","getReferenceAsync","Tasks","getReference","SelectAtLeastOneTask","_error$response3$data","SELF_SERVICE","AcceptTime","TaskIndex","taskPositions","_response$JobInfo","rowItem","JobInfo","acceptReferenceAsync","handlePass","stepStatus","lenght","getDataFromContent","currentPage","ReverseHistory","_reverseResponse$Data","_reverseResponse$Data2","setTotalRecords","reverseLoading","setReverseLoading","getReverseListAsync","getReverseList","TerminatedForm","ExecutiveTermination","_event$target$RejectD","_event$target2$sendMe","RejectDescription","getDynamicForm","ActionForm","actualTimeAlert","setActualTimeAlert","buttonRef","startDateView","setStartDateView","getAction","ActualDuration","Hour","Minutes","ActualTimeInput","sendAction","showDynamicForm","setShowDynamicForm","ShowDynamicFormViewLoading","setShowDynamicFormViewLoading","setDynamicForm","treeRowObject","setTreeRowObject","ReferencesActionsasync","GetReferencesActions","getDynamicFormAsync","Actions","_response$Data2$Data","_response$Data3","_response$Data4","_response$Data5","showReferenceAndActions","setShowReferenceAndActions","showTerminatedForm","setShowTerminatedForm","handleCreateAction","DeleteAction","getActions","chatWithRequester","JobActionList","showActions","getReferenceJobActionListAsync","getJobActionList","ReferenceTree","getReferencesActions","ActionList","_dynamicForm$","haveReverse","handleFinishedReference","setShowActions","showReference","setShowReference","currentModalWidth","setCurrentModalWidth","ShowReferDescriptionForm","setShowReferDescriptionForm","showArchiveForm","setShowArchiveForm","tabContent","ReverseDescription","fromEntries","entries","storage","setStorage","_buttonToolbarProcess","print","attachHover","Send","CartablePage","showDynamicFormView","setShowDynamicFormView","selectedStartingProcessId","setSelectedStartingProcessId","showReminder","setShowReminder","showAttachment","setShowAttachment","ShowReferenceAndActions","ShowReferenceTree","setShowReferenceTree","showJobSendForm","setShowJobSendForm","filterAndSort","setFilterAndSort","setUpdated","setButtonPrintObj","processViewCallback","ProcessId","getJobReferrer","chatWithReferrer","ongoingReferenceAsync","undoReferenceAsync","UnderFollowupAsync","Draft","getStartFormAsync","getFormViewAsync","ongoingReference","UnderFollowup","undoReference","handleDeleteReference","Archive","showReferenceStepperCallback","referenceId2","printdata","newwin","write","outerHTML","Followup","searchSTR","_filterAndSort$OrderF","NewRecords","_NewReferene","_NewReferene$referenc","requesterStorage","NewReferene","IconHover","ContactList","sendContactToShowChat","contactSelectList","onlinUserList","setContactSelectList","handleCreateGroup","createGroup","cancelForward","forwardMsg","UserListSearch","getGroupList","getContacts","getHistoryUserList","UserList","HistoryUserList","groupList","removeGroup","leftFromGroup","deleteChat","contactName","showUserType","setShowUserType","contactList","setContactList","HistoryContactList","setHistoryContactList","favoriteFilter","setfavoriteFilter","masrjin","setmasrjin","organizationType","setOrganizationType","searchStr","setsearchStr","noData","setNoData","lastContactName","listInnerRef","listContactRef","longPressTriggered","setLongPressTriggered","fristClick","onLongPress","start","passive","clear","ownClick","Press","DblClick","ScrollData","onClickGlobe","_HistoryUserList$","onClickContact","onClickGroupList","Searchhandleer","latestMessageUserIdOrGroupId","favorite","getPersonContactsAsync","onTouchEnd","isDirect","latestMessagePersonOrGroupName","textOverflow","whiteSpace","latestMessage","haveMsg","unreadCount","isGroupOwner","isOnline","httpFile","_err$response3$data","_err$response4$data$D","sendFileList","getFile","getUsersasync","getCustomersUsersasync","MessageBox","DeleteMessage","CreateRequest","showCarouselFile","MessageData","forwardMsgList","attached_file","received_message","replyList","setForwardMsg","setForwardMsgList","sendRepliesUp","isReplied","setIsReplied","playVoice","setPlayVoice","audioURL","setAudioURL","formTextbox","chatMessage","addTime","sent_Date","isDeleted","handleReplyOnclick","tokenfile","getTokenFile","buffer","binary","bytes","byteLength","String","fromCharCode","btoa","_arrayBufferToBase64","urlify","urlRegex","offsetHeight","offsetParent","pageYOffset","pageXOffset","elementInViewport","fileInformations","isRead","sendUser","parentNode","replyToMessageId","replyToUser","replyToMessageText","controls","thumbnail","userSelect","fileSize","FileSize","toFixed","contentEditable","GroupMembersAssign","addUser","GroupMembers","newlist","ChatConnection","nextRetryDelayInMilliseconds","retryContext","elapsedMilliseconds","configureLogging","LogLevel","Warning","getPersonalPlanningList","personalTaskStatusFilter","personalTaskStatus","PersonalTaskId","ActualTime","personalTaskId","PersonalPlaningForm","personalTaskDate","setPersonalTaskDate","getJobAsync","PersonalTaskDate","postPersonalPlanning","putPersonalPlanning","PersonalTaskStatus","sendHolidaysApi","deleteDailyLeaven","PostLevelForm","sendPostLevelApi","getPostLevel","getPostLevelIdApi","getProcessApplication","Application","ApplicationListCallback","optionsApplication","setOptionsApplication","options_Application_values","options_Application_keys","ApplicationApiAsync","Apps","reduce","acc","curr","sendDataasync","query","setDefaultAsync","setDefaultProcces","deleteProcessApplication","_app$target","_app$target2","listId","getUsers","addPositionRole","delPositionRole","RetrieveRolesList","ImportProcessesForm","selectedFile","setSelectedFile","fileData","AssignmentRules","radioList","setRadioList","assignmentMethod","setAssignmentMethod","loading3","setLoading3","assignVariable","setAssignVariable","breakPoint2","setTaskUserAsync","setTaskUser","getTaskUser","AssignVariable","BpmnTaskUserList","USR_UID","getRadioListAsync","getRadioList","changeDataGrid","changeDataGridassign","_item$Title","getProcessIcons","ProcessIcon","sendOptionId","defaultIcon","setDefaultIcon","erroreMsg","setErroreMsg","selectedOption","setSelectedOption","getProcesIconAsync","getProcesIcon","IconId","IconType","IconName","getProcessIconsAsync","ProcessIconModal","iconId","setIconId","postProcessIconasync","TypeSettingForm","showIsDefault","SystemKeyValue","TextboxValue","SelectBoxValue","SelectBoxName","Enum","ArchiveAccess","OrganizationalArchiveAccesses","postArchiveData","BoardAccess","OrganizationalArchiveDetailId","getDataWithSerch","organizationalArchiveDetailIds","generalSearchString","isArchivist","ReserveForm","setLetterType","getSecretariat","fromNumber","toNumber","sendReserve","FromNumber","ToNumber","getListSecretariats","putSecretariats","IndicatorPatternForm","setNewId","indicatorStatic","setIndicatorStatic","setPattern","IndicatorPatternModal","setIndicatorPatternModal","Pattern","IndicatorPatternsDictionary","handleUpdate","UpdateState","optionsIndicatorPatterns","setOptionsIndicatorPatterns","newId","options_IndicatorPatterns_values","options_IndicatorPatterns_keys","getIndicatorPatternsAsync","getIndicatorPatternsApi","AddNewOption","PatternForm","_HeadPatterns","Patterns","setPatterns","selectedPattern","setSelectedPattern","showPatterns","setShowPatterns","BodyPatterns","HeadPatterns","getPatternorganizationIdAsync","AddNewPattern","editPattern","getSecretariatIndicatorPatternList","getNewPattern","IndicatorPatternId","StartSerial","SecretariatForm","_response$Secretariat5","_response$Secretariat6","_response$Secretariat7","_response$Secretariat8","_response$Secretariat9","_response$Secretariat10","_response$Secretariat11","_response$Secretariat12","_response$Secretariat13","_response$Secretariat14","_response$Secretariat15","_response$Secretariat16","_response$Secretariat17","_response$Secretariat18","_response$Secretariat19","_response$Secretariat20","_response$Secretariat21","_response$Secretariat22","_response$Secretariat23","_response$Secretariat24","_response$Secretariat25","_response$Secretariat26","_response$Secretariat27","_response$Secretariat28","_response$Secretariat29","_response$Secretariat30","_response$Secretariat31","_response$Secretariat32","_response$Secretariat33","_response$Secretariat34","_response$Secretariat35","_response$Secretariat36","_response$Secretariat37","_response$Secretariat38","_response$Secretariat39","_response$Secretariat40","_response$Secretariat41","_response$Secretariat42","_response$Secretariat43","_response$Secretariat44","_response$Secretariat45","_response$Secretariat46","setAllowUpdate","updatePatternsDictionary","setUpdatePatternsDictionary","getsecretariatAsync","_res$Data$Secretariat","getsecretariat","getAllowUpdateAsync","getAllowUpdate","SecretariatIndicatorPatterns","_response$Secretariat4","_response$Secretariat","_response$Secretariat2","_response$Secretariat3","IndicatorPatternId1","StartSerial1","IndicatorPatternId2","StartSerial2","IndicatorPatternId3","StartSerial3","SecretariatMembers","setSecretariatMembersAsync","setSecretariatMembers","getSecretariatMembers","DeleteBranch","getJobs","DeletePeriod","RetrieveRolesListAsync","PositionRoleForm","addNewPositionRoles","relad","getDictionaryRolesList","SyncRoleAsync","backList","RoleId","HasAccess","PositionTree","dataPo","setDataPo","selectedIdList","setSelectedIdList","selectedRole","setSelectedRole","selectedListPo","setSelectedListPo","selectedIdListPo","setSelectedIdListPo","selectedRolePo","setSelectedRolePo","stopEdit","setStopEdit","lastEditedList","theadDataPo","objPo","setTreePo","obj2Po","titlePo","getTreeRoleAsync","response2","PositionRoles","setPo","tabletrPo","delList","newselectedRole","TreeUserRole","getUserPositionsAsync","getUserPositions","UserForm","creatType","valid","setEmail","userData","postPerson","error2","createGrouplyAsync","postUsersGrouply","personEmail","getPersonEmail","getListWarehouseItem","postWarehouseItemApi","getWarehouseItemTree","getWarehouseItems","getWarehouseItemDetail","Items","WarehouseItemForm","_inventory$Id","_JSON$parse3","_inventory$Name","showAmount","setShowAmount","_JSON$parse2","_event$target$OrderQt","_event$target$OrderQt2","_event$target2$OrderP","_event$target$OrderPo","_event$target$OrderPo2","_inventory$WarehouseD","OrderQty","MinQty","MaxQty","OrderPoint","HasOrderPoint","CabinetCode","getListBusinessActivityType","BusinessActivityTypeForm","getBusinessActivityTypeId","getBusinessActivityType","putBusinessActivityTypeApi","BusinessActivityTypeSelect","getListCustomerClassification","CustomerClassificationForm","getCustomerClassificationId","getCustomerClassification","putCustomerClassificationApi","CustomerClassificationSelect","getListSalesOrderStatus","SalesOrderStatusForm","getSalesOrderStatusId","getSalesOrderStatus","SalesOrderStatusCheckbox","SalesOrderStatusTitle","SalesOrderStatusTitleEN","SalesOrderStatusSystemKey","putSalesOrderStatusApi","SalesOrderStatusSelect","getMessages","MessageForm","sendMessagesApi","getMessageAsync","getMessage","ServerAddress","SenderAccounts","Username","Password","ApiKey","Protocol","MessageSendMethod","getMessagePatterns","messageSettingId","MessagePatternForm","_response$MessagePatt","_response$MessagePatt2","_response$MessagePatt3","_response$MessagePatt4","_response$MessagePatt5","_response$MessagePatt6","_response$MessagePatt7","sendMessagePatternsApi","getMessagePatternAsync","getMessagePattern","_MessagePattern$targe","MessageSettingId","PatternCode","PatternSubject","PatternText","PatternParameters","PatternSeparators","PolicyKey","showEventForm","CustomersUserForm","personName","findDetailCode","personDetailCode","getPersonDetailCode","getItemStoreListApi","rootId","pagenum","fromPrice","toPrice","groupLeafId","getItemGroupLabels","loadCardImageWithSize","GroupingPrice","styleClass","styleClassDescription","styleClassValue","ItemCardImg","attchId","setSrc","loadImageAsync","draggable","objectFit","ItemCounterBtn","_ItemData$ItemPriceLi9","_ItemData$ItemPriceLi10","_ItemData$ItemPriceLi11","_ItemData$ItemPriceLi12","_ItemData$ItemPriceLi13","_ItemData$ItemPriceLi14","classStyle","closePluse","showSumCount","stock","multiCounter","ItemData","defultValue","priceIndex","propertiesId","startDel","setStartDel","startDelRef","CountRef","setRound","stopDeletingRef","ItemPriceListDetails","_ItemData$order","_ItemData$order$prope","_ItemData$order2","_ItemData$order2$prop","_ItemData$order3","_Basket$ItemData$Id","_Basket$ItemData$Id4","_Basket$ItemData$Id4$","_Basket$ItemData$Id4$2","_Basket$ItemData$Id5","_Basket$ItemData$Id5$","_Basket$ItemData$Id2","_Basket$ItemData$Id2$","_Basket$ItemData$Id2$2","_Basket$ItemData$Id3","_Basket$ItemData$Id3$","_Basket$ItemData$Id3$2","_ItemData$ItemPriceLi5","_ItemData$ItemPriceLi6","_ItemData$ItemPriceLi7","_ItemData$ItemPriceLi8","SalesUnitRoundingPlace","handleIncrement","_ItemData$ItemPriceLi3","_ItemData$ItemPriceLi4","newcount","validation","_ItemData$ItemPriceLi","_ItemData$ItemPriceLi2","ItemCountSeter","cardsListPage","useDefaultButton","activeBtn","setActiveBtn","pluseInRight","positionRelative","countBox","setCountBox","sumCount","setSumCount","itemOrder","setItemOrder","_Basket$ItemData$Id5$2","_Basket$ItemData$Id6","_Basket$ItemData$Id6$","_Basket$ItemData$Id6$2","_ItemData","_ItemData2","_ItemData2$order$prop","_ItemData3","_ItemData3$order$prop","_ItemData4","_ItemData4$order","_ItemData4$order$prop","addItem","ItemCard","_orderItems$order$pro7","itemGroupId","showPackingPriceColumns","ecommrceConstraint","setProperties","setPropertiesId","offerIndex","setOfferIndex","orderItems","setOrderItems","locking","setLocking","_ItemData$properties","_ItemData$properties2","_ItemData$properties3","_ItemData$ItemPriceLi15","_ItemData$ItemPriceLi16","_ItemData$ItemPriceLi17","_ItemData$ItemPriceLi18","_ItemData$ItemPriceLi19","_ItemData$ItemPriceLi20","_ItemData$ItemPriceLi21","_ItemData$ItemPriceLi22","_ItemData$ItemPriceLi23","_ItemData$ItemPriceLi24","_ItemData$ItemPriceLi25","_ItemData$ItemPriceLi26","_ItemData$ItemPriceLi27","_ItemData$ItemPriceLi28","_ItemData$ItemPriceLi29","_ItemData$ItemPriceLi30","_ItemData$ItemPriceLi31","_ItemData$ItemPriceLi32","_ItemData$ItemPriceLi33","_ItemData$ItemPriceLi34","_ItemData$ItemPriceLi35","_ItemData$ItemPriceLi36","_ItemData$ItemPriceLi37","_ItemData$ItemPriceLi38","_ItemData$ItemPriceLi39","_ItemData$ItemPriceLi40","_ItemData$ItemPriceLi41","_ItemData$ItemPriceLi42","_ItemData$ItemPriceLi43","_ItemData$ItemPriceLi44","_ItemData$ItemPriceLi45","_ItemData$ItemPriceLi46","_ItemData$ItemPriceLi47","_ItemData$ItemPriceLi48","_ItemData$ItemPriceLi49","_ItemData$ItemPriceLi50","_ItemData$ItemPriceLi51","_ItemData$ItemPriceLi52","_ItemData$ItemPriceLi53","_ItemData$ItemPriceLi54","_ItemData$ItemPriceLi55","_ItemData$ItemPriceLi56","_ItemData$ItemPriceLi57","_ItemData$ItemPriceLi58","_ItemData$ItemPriceLi59","_ItemData$ItemPriceLi60","_ItemData$ItemPriceLi61","_ItemData$ItemPriceLi62","_ItemData$ItemPriceLi63","_ItemData$ItemPriceLi64","_ItemData$ItemPriceLi65","_ItemData$ItemPriceLi66","_ItemData$ItemPriceLi67","_ItemData$ItemPriceLi68","_ItemData$ItemPriceLi69","_ItemData$ItemPriceLi70","_ItemData$ItemPriceLi71","_ItemData$ItemPriceLi72","_ItemData$ItemPriceLi73","_ItemData$ItemPriceLi74","_ItemData$ItemPriceLi75","_ItemData$ItemPriceLi76","_ItemData$ItemPriceLi77","_ItemData$ItemPriceLi78","_ItemData$ItemPriceLi79","_ItemData$ItemPriceLi80","_ItemData$ItemPriceLi81","_ItemData$ItemPriceLi82","_orderItems$order$pro","_orderItems$order$pro2","_orderItems$order$pro3","_orderItems$order$pro4","_orderItems$order$pro5","_orderItems$order$pro6","DefaultAttachmentId","ItemName","PriceListUnit","discountPrice","PriceAfterDiscount","CoverPrice","PackingPrice","ShowPackingPrice","ItemCards","_boxRef$current11","stopFetching","fetchData","dataGroup","filterId","goTop","setGoTop","setShowPackingPriceColumns","modalRef","handleScroll","flexGrow","scrollDown","ItemCardsHeader","ItemGroupLebal","IsActive","shape","checkColor","setCheckColor","hex_color","substring","g","FilterBox","_filterData$data","_filterData$data2","setfilterObj","filterData","handleFilter","handleRemoveFilter","filterObj","option2","ECommercePage","setEcommerceConstraint","setItemGroupId","setDataGroup","defaultCardStyle","setCardStyle","groupLabels","setGroupLabels","breadCrumb","setBreadCrumb","itemGroupIdRef","useLocation","setStopFetching","getECommerceAsync","minPrice","maxPrice","getConstraintAsync","getConstraint","breadCrumbsItem","Bread","newBread","clickBreadCrumb","CurrencyHelp","ItemBuyImg","aspectRatio","ItemBox","_order$OrderItemId","_order$OrderItemId2","_order$OrderItemId3","_item$Attachments$","_order$OrderItemId4","_order$OrderItemId5","_order$properties","_order$properties$Var","_order$properties2","_item$increaserDecrea","_order$OrderItemId6","_order$OrderItemId7","_item$ItemPriceListDe3","_item$ItemPriceListDe4","_item$ItemPriceListDe5","_item$ItemPriceListDe6","_item$TaxObject$order","_item$TaxObject","_order$OrderItemId8","_item$ItemPriceListDe7","_item$ItemPriceListDe8","_item$ItemPriceListDe9","_item$ItemPriceListDe10","_item$ItemPriceListDe11","_item$ItemPriceListDe12","_item$ItemPriceListDe13","_item$ItemPriceListDe14","_item$TaxObject$order2","_item$TaxObject2","_order$OrderItemId9","_item$ItemPriceListDe15","_item$ItemPriceListDe16","UpdateTotal","handleSelectedItem","minQty","setMinQty","maxQty","setMaxQty","_item$ItemPriceListDe","_item$ItemPriceListDe2","Attachments","Variation1Code","Variation2Code","increaserDecreaser","Cart","showCartsubtotal","priceInfo","priceUpdate","showCardStyle","withClose","clearBasket","backPrevPage","cartSubtotal","ImgBox","showGallery","loadCardImage","Gallery","selectImg","setRespons","previous","IncreaserDecreaser","checkBoxHandle","discription","CartItem","_item$properties","_item$ItemPriceListDe17","_item$ItemPriceListDe18","_item$ItemPriceListDe19","_item$TaxObject$order3","_item$TaxObject3","_item$ItemPriceListDe20","_item$ItemPriceListDe21","_item$ItemPriceListDe22","_item$ItemPriceListDe23","_item$ItemPriceListDe24","_item$ItemPriceListDe25","_item$ItemPriceListDe26","_item$TaxObject$order4","_item$TaxObject4","_item$ItemPriceListDe27","_item$ItemPriceListDe28","handlePriceUpdate","handleSelectedIncreaserDecreaser","handleShowIncreaseDecrease","WarrantyDiscription","DataImg","openBadge","setOpenBadge","pkey","_ItemData$properties$","pValue","_ItemData$properties$2","_p$","off","nameProductFa","GroupId","GroupDetailId","nameProductEn","like","notification","companyName","FixedFeature","matrial","customerDefaultContact","setCustomerDefaultContact","RecipientDescription","getMyOwnOrders","MyOwnOrdersList","tabName","jobstatusFilter","setJobstatusFilter","getMyOwnOrdersAsync","CustomerFeedBackForm","IsDelive","CustomerFeedBackRate","putCustomerFeedBack","isDeliver","customerFeedBackRate","customerFeedBackDescription","getMyOwnRequests","jobStatus","getRequestDetails","getRequestView","ReplyForm","jobid","postReply","replyDescription","RequestsMessageBox","handleAttachmentOnclick","messageValue","reply_data","getFiles","getFileList","filesId","PaperclipIcon","ModalFormList","formIndex","RequestDetails","showReplyForm","setShowReplyForm","selectedselectedReferenceId","setSelectedselectedReferenceId","hasReply","setHasReply","messagesEndRef","modeFlag","_messagesEndRef$curre2","Size","_messagesEndRef$curre","getReferenceRequestsDetailsAsync","Referrer","ReferenceDate","RequestView","MyOwnRequestsList","showViewForm","setShowViewForm","showCustomerFeedBackForm","setShowCustomerFeedBackForm","FinishedAndWaitingForEvaluatio","chatWithFollowupResponsible","handleCancelRequest","getMyOwnRequestsAsync","SystemSettingGroupItem","handleClickItemGroup","selectedGroupTitle","SelectBoxHandle","selectedSelectBox","setSelectedSelectBox","findItem","ProcessDictionary","ProcessListDictionary","setProcessListDictionary","getProcessListDictionaryAsync","getProcessListDictionary","hasWarehouseDetails","CheckBoxList","_Object$keys","listItems","setListItems","changeItem","handleChange","SystemSettingForm","cards","_item$Values","_item$Values2","_item$Values3","SelectedValue","Values","listItem","Dictanory","getListItemMainProperty","getListItemMainPropertyValues","ItemGroupKeyId","ItemMainPropertyValueForm","_response$Value","propertyId","colorValue","getItemMainPropertyAsync","getItemMainPropertyValues","_e$target$Value","postItemMainPropertyValues","_e$target2$Value","putItemMainPropertyValues","ItemGroupKeyObj","getListItemMainPropertyValuesAsync","getListCurrenceis","ImportCustomersForm","importCustomer","getListSalesInvoiceStatus","SalesInvoiceStatusForm","getSalesInvoiceStatusId","getSalesInvoiceStatus","SalesInvoiceStatusCheckbox","SalesInvoiceStatusTitle","SalesInvoiceStatusTitleEN","SalesInvoiceStatusSystemKey","putSalesInvoiceStatusApi","SalesInvoiceStatusSelect","getListSalesPreInvoiceStatus","SalesPreInvoiceStatusForm","getSalesPreInvoiceStatusId","getSalesPreInvoiceStatus","SalesPreInvoiceStatusCheckbox","SalesPreInvoiceStatusTitle","SalesPreInvoiceStatusTitleEN","SalesPreInvoiceStatusSystemKey","putSalesPreInvoiceStatusApi","SalesPreInvoiceStatusSelect","SystemSetting_EcommercePriceListPolicy","SalesEditForm","editType","dateObject","cottageDateObject","salesInvoiceStatusId","setSalesInvoiceStatusId","defaultCustomerInfo","setDefaultCustomerInfo","queryString","_event$target$editinv","editinvoiceno","_event$target2$cottag","cottageNo","cottageno","_event$target$Custome4","putSalesInvoiceDictionary","_event$target$Custome5","_event$target$Custome6","putNationalEcoCode","ecoCode","gregorian","IsSundry","getSalesReturnInvoice","getInvoiceReturnConstraint","SalesReturnInvoiceDetailForm","originalQty","showInvalidValue","setShowInvalidValue","_event$target$Unit1Id2","_event$target2$Unit2I","_warehouseData$Wareho2","_warehouseData$Wareho3","_warehouseData$Wareho4","_event$target3$Qty","SalesInvoiceDetailId","SalesReturnInvoiceDetailsList","salesInvoiceDetails","SalesReturnInvoiceSourceId","loadingDetails","setLoadingDetails","SalesReturnInvoiceDetailDTOList","SalesReturnInvoiceForm","salesReturnInvoiceDate","setReturnSalesInvoiceDate","setSalesInvoiceDetails","returnConstraint","setReturnConstraint","selectedInvoiceDetails","setSelectedInvoiceDetails","showEditForm","setShowEditForm","salesReturnInvoice","setSalesReturnInvoice","setOriginalQty","selectedInvoiceDetailHandler","newItemTax","newItemTotalDiscount","newItemTotalPrice","_invoiceRef$current$C","_invoiceRef$current$d","_invoiceRef$current$d2","_invoiceRef$current$P","_invoiceRef$current$P2","_invoiceRef$current$C2","_invoiceRef$current$C3","_invoiceRef$current$C4","_invoiceRef$current$S","_invoiceRef$current$V","_invoiceRef$current$D","_invoiceRef$current$D2","_invoiceRef$current$C5","_invoiceRef$current$P3","_invoiceRef$current$I","_invoiceRef$current$D3","_invoiceRef$current$D4","_invoiceRef$current$D5","_invoiceRef$current$D6","_invoiceRef$current$N","_invoiceRef$current$C6","_invoiceRef$current$P4","_res2$Data$Customer","getReturnInvoiceConstraintAsync","_Object$values$filter","_event$target$SalesRe","SalesReturnInvoiceNo","SalesReturnInvoiceDate","postSalesReturnInvoice","salesReturninvoiceno","getMeeting","getMeetingClassificationList","getMeetingPlaceList","getMyRequests","BoardForm","_response$BulletinBoa2","_response$BulletinBoa3","_response$BulletinBoa4","_response$BulletinBoa5","_response$BulletinBoa6","_response$BulletinBoa7","_response$BulletinBoa8","_response$BulletinBoa9","getDataForShow","boardType","setBoardType","canSendSMS","setCanSendSMS","sendBulletinBoard","sendMessage","getBoardId","BulletinBoard","_myform$current","_myform$current$title","_myform$current2","_myform$current2$Noti","_myform$current3","_myform$current3$link","BulletinBoardType","NotificationType","linkAddress","formattedDate","BulletinBoardAccesses","NotifyBySMS","getAllEvents","CalendarEventsForm","sendEventsApi","getEventAsync","getEvent","CalendarEventMonth","CalendarEventDay","IsHoliday","ValidityFromDate","ValidityUntilDate","getAllOrganizationEvents","SelectDay","endpoit","setflag","allWeekend","setAllWeekend","transferEvents","setTransferEvents","transferHolidaysList","setTransferHolidaysList","weekdays","selectDay","setSelectDay","endpot","DayList","weekends","transferSolarOrganizationEvents","transferLunarOrganizationEvents","transferGregorianOrganizationEvents","transferCalendarEvents","transferSolarHolidays","transferLunarHolidays","transferGregorianHolidays","callHolidaysApi","addTransferHolidays","addDay","OrganizationEventsForm","sendOrganizationEventsApi","getOrganizationEvents","getOrganizationEventsn","EventTime","getSharingCenterList","SharingCenterAccess","SharingCenterForm","_response$Article","_response$Article2","_response$Article3","_response$Article4","_response$Article5","SharingCenterData","setSharingCenterData","SharingCenterType","setSharingCenterType","sendSharingCenter","notify","getSharingCenterId","Article","Accesses","ClassificationId","CreateInputForm","handleNewForm","applicationIds","setApplicationIds","_event$target$formTit","_event$target$systemK","_event$target$FormTit","_event$target$FormPri","formTitle","FormTitleEN","FormPriority","IsWorkflowEnable","HasSignature","DynamicFormApplications","InputAvailable","backendType","dropDown","DictionaryAvailable","InputSetting","filledSystemKey","systemKeys","handleNewSetting","indexTextBox","setIndexTextBox","minLengthBox","setMinLengthBox","maxLengthBox","setMaxLengthBox","setresetForm","modeTextBox","setModeTextBox","textType","setTextType","dateDefaultValue","setDateDefaultValue","setDirection","datePickerState","setDatePickerState","setDefaultValueDateTimeNow","listTypeText","setListTypeText","newInputTextType","_event$target$size","_event$target$label","_event$target$require","_event$target$disable","_event$target$default","_event$target$default2","_event$target$default3","_event$target$default4","_event$target$default5","_event$target$message","_event$target2$messag","_event$target$directi","_event$target$hidden","_event$target$Organiz","_event$target$placeho","_event$target$InputTy","_event$target$maxLeng","_event$target$minHeig","_event$target$min","_event$target$max","_event$target$max2","_event$target$minLeng","_event$target$maxLeng2","_event$target$maxLeng3","_event$target$LengthT","_event$target3$defaul","_event$target$isOpen","LengthTextBox","labelStyle","KeyWords","checkTypeText","DefaultSetting","handleSettingForm","postDataCollection","postPropertyDataCollection","getDataCollection","getDataCollectionProperties","DataCollectionPropertiesForm","showPropertiesForm","setShowPropertiesForm","getDataCollectionPropertiesAsync","_event$target$Value","OwnerId","_event$target$Activit","DataCollectionForm","getDataCollectionAsync","_event$target$TitleEN","_event$target$SystemK","getFormInformationCompleted","DynamicFormData","formObj","informationForm","setInformationForm","setStartIndex","setTranslatedHeader","deleteInformationForm","FormKey","getFormInformationCompletedAsync","getFormInformationFormkeydAsync","getFormInformationFormkey","ObjectLabels","FormName","CityForm","getCityId","getCity","putCityApi","ProvinceForm","getProvinceId","getProvince","CountryId","putProvinceApi","getListSharingCenterArticle","getPersonnelCartable","PersonnelId","JobAndReferenceasync","GetJobAndReference","sendWithFeed","getFeedApiDictionaryApi","getFeedMethodsDictionaryApi","deletetemplates","deleteParameter","FeedApiForm","apiList","setApiList","getFeedApiDictionaryApiAsync","handleDeleteItem","deleteApiFeed","FeedApiUrl","Service","sendFeedApi","FeedApi","ApiSelectedList","FeedApiListCallback","setFeedApis","showFeedApiForm","setShowFeedApiForm","getFeedApiListAsync","FeedMethodsForm","setFeedMethodsForm","methodList","setMethodList","getFeedMethodDictionaryApiAsync","deleteMethodFeed","MethodName","ClassName","sendFeedMethodsForm","FeedMethods","FeedMethodList","FeedMethodsListCallback","setFeedMethodss","showFeedMethodsForm","setShowFeedMethodsForm","getFeedMethodsListAsync","EnumsDictionary","feedType","withoutLable","IsEnum","optionsenum","setOptionsenum","getenumAsync","ParameterDataTypeDictionary","isMethod","optionsParameterDataType","setOptionsParameterDataType","getParameterDataTypeAsync","getParameterDataTypeApi","ParameterEnumDictionary","enumType","optionsParameterEnum","setOptionsParameterEnum","getParameterEnumAsync","dataType","enumName","getParameterEnumMethod","ParameterDictionary","isOptional","Parameter","setParameter","ParameterRef","getParameterDictionaryAsync","getParameterDictionary","_inputRef$current3$va","ParameterOperatorTypesSelect","ParameterOperatorTypesListCallback","optionsParameterOperatorTypes","setOptionsParameterOperatorTypes","ParameterOperatorTypesApiAsync","FeedParametersForm","_editForm$ParameterDa","_editForm$ParameterDa2","FeedParametersListCallback","feedId","handleUserChange","setDataType","setEnumType","ParameterOperatorTypes","setParameterOperatorTypes","selectBoxGuid","setSelectBoxGuid","_e$target$Sequence","_e$target$ParameterNa","ParameterOperatorTypesObj","ReportFeedId","Sequence","ParameterName","ParameterNameEN","ParameterDataType","OperatorTypesCount","IsOptional","ParameterDefaultValue","newResponse","putParameter","postParameter","_e$target$Service","_e$target$Service2","_e$target$dtoFullName","ServiceValue","serviceKey","dtoFullName","GenerateParameterFromDTO","includeReporting","FeedParameters","feeds","feedsList","setFeedsList","FeedId","ParametersObj","ReportFeedMethodId","ReportFeedApiId","ReportTemplates","reportMainInfo","ReportTemplatesListCallback","handleUserChanges","IsDashboard","getTemplatesAsync","reportId","ReportId","ReportFileName","AttachmentId","ReportName","SignatureType","ReportTemplateFileName","_e$target$SignatureTy","_e$target$ReportTempl","_e$target$ReportTempl2","_e$target$IsDefault","putTemplates","postTemplates","WithFeedForm","_WithFeedForm$Report","_WithFeedForm$Report2","_WithFeedForm$Report3","_WithFeedForm$Report4","_WithFeedForm$Report5","_WithFeedForm$Report6","_WithFeedForm$Report7","_WithFeedForm$Report8","_feeds$Method","_feeds$Api","_feeds$Method2","_feeds$Api2","saveCallback","setWithFeedForm","setFeedType","feedParameters","setFeedParameters","setFeeds","Api","feedList","setFeedList","reportTemplates","setReportTemplates","isDashboard","setIsDashboard","setReportMainInfo","_data$Report","_data$Report2","getNewWithFeedForm","_res$Data$Report","_res$Data$Report2","_newFeeds","_newFeeds2","_newFeeds$Api","newFeeds","MethodSelectedList","Feeds","ReportFeedApi","feed","ReportFeedMethod","ApplicationIds","defultTemplate","Scope","PriorityInList","_item$ParametersObj","newArry","DatabasesListCallback","optionsDatabases","setOptionsDatabases","DatabasesApiAsync","OperatorOptions","_optionBox$current","_optionBox$current$ge","_optionBox$current2","_optionBox$current2$g","setDatesValue","operatorType","setOperatorType","selectedKeys","setSelectedKeys","optionKeys","setOptionKeys","dateForm","setDateForm","btn","optionBox","deleteOption","selectKeys","DatepickerDataHandler","DatepickerDataHandler2","_dateDefaultValue","_dateDefaultValue2","_dateDefaultValue3","OperatorTypes","selectListKeys","FilterReportForm","designType","databasesList","setDatabasesList","getAllFilterReportAsync","IsMethod","ReportParameters","_e$target$","databasesString","_e$target$Databases","ImportReportForm","selectedFiles","setSelectedFiles","removeFile","prevFiles","_item$file","_item$file$type","Tu","getBankAccountType","postBankAccountType","BankAccountTypeForm","getBankAccountTypeByIdAsync","getBankAccountTypeById","_event$target$checkbo","Status","getBankPOS","postBankPOS","BankPOSForm","bankAccountId","setBankAccountId","connectionType","setConnectionType","getBankPOSByIdAsync","getBankPOSById","_event$target$BankAcc","_event$target$Connect","_event$target$Port","_event$target$PortSpe","_event$target$Merchan","_event$target$Termina","BankAccountId","ConnectionType","PaymentServiceProviderId","PaymentSwitchNumber","Port","PortSpeed","MerchantNumber","TerminalNumber","_e$target$ActivitySta","getBank","postBank","BankForm","getBankByIdAsync","getBankById","_event$target$BankNam","_event$target$BankNam2","BankName","BankNameEN","getBankAccounts","postBankAccount","BankAccountsForm","bankAccountTypeId","setBankAccountTypeId","bankId","setBankId","registerDate","setRegisterDate","getBankAccountByIdAsync","getBankAccountById","_event$target$BankId","_event$target$BankAcc2","_event$target$ShabaCo","_event$target$BranchC","_event$target$OwnerPe","_event$target$OwnerPe2","_event$target$BankTra","_event$target$HasCheq","_event$target$HasPos","_event$target$FirstPe","AccDetailId","BankAccountTypeId","OwnerPersonId","AccBranchId","DocClassificationId","BankId","AccountId","BankAccountNo","ShabaCode","OwnerPersonName","OwnerPersonNameEN","RegisterDate","BankTransactionFeePolicyKey","HasChequeBook","HasPos","FirstPeriodRemain","getCashAccount","postCashAccount","getCashAccountAccess","CashAccountAccesses","sendCashAccountAccess","CashAccountAccess","CashAccountForm","getCashAccountByIdAsync","getCashAccountById","_event$target$CashNam","_event$target$CashNam2","CashName","CashNameEN","getTreasurySubjects","postTreasurySubjects","TreasurySubjectForm","getTreasurySubjectsByIdAsync","getTreasurySubjectsById","_event$target$Subject","SubjectType","getReceipts","postReceipt","ReceiptForm","receiptDate","setReceiptDate","getReceiptByIdAsync","getReceiptById","_event$target$Treasur","_event$target$CashAcc","_event$target$PRJ_UID","_event$target$IsWorkf","_event$target$Receipt","_event$target$PayerPo","_event$target$PayerPo2","_event$target$IsGroup","_event$target$TotalRe","BranchId","PeriodId","TreasurySubjectId","CashAccountId","RecipientPositionId","PayerPositionId","IsWorkflowStarted","ReceiptNo","ReceiptDate","PayerPositionName","PayerPositionNameEN","IsGrouped","TotalReceipt","getMyOwnInvoice","CustomerSalesInvoiceDetailForm","_selectedObj$SubTotal","_response$CustomerSal","_response$CustomerSal2","CustomerSalesInvoiceDetailViewDTO","getInventoryRequest","getSalesRequest","getSalesContract","getContractConstraint","GuaranteeForm","contractConstraint","guaranteeStartDate","setGuaranteeStartDate","guaranteeEndDate","setGuaranteeEndDate","GuaranteeConditions","editorEN","setEditorEN","editorDataEN","setEditorDataEN","GuaranteeConditionsEN","conditionsLang","setConditionsLang","salesContractNo","setSalesContractNo","useImperativeHandle","GuaranteeStartDate","GuaranteeEndDate","ShowENFields","GuaranteeDocuments","GuaranteeDocumentsEN","GuaranteeValue","SalesContractDetailForm","salesContractDetailCallBack","salesContractId","salesContractDetail","setSalesContractDetail","Conditions","ConditionsEN","salesContractDate","setSalesContractDate","startDate","setStartDate","setEndDate","setSalesContractDetailHandler","_formRef$current$Sale","_formRef$current$Sale2","_formRef$current$Sale3","_formRef$current$Visi","_formRef$current$Visi2","_formRef$current$Oper","_formRef$current$Oper2","_formRef$current$Sale4","_formRef$current$Cont","_formRef$current$Subj","_formRef$current$Subj2","_formRef$current$Good","_formRef$current$Good2","_formRef$current$Good3","_formRef$current$Good4","_formRef$current$Tole","_formRef$current$Desc","_formRef$current$Desc2","_formRef$current$Deli","_formRef$current$Prep","SalesContractKindId","SalesContractNo","SalesContractType","SalesContractDate","ContractingNo","Subject","SubjectEN","GoodPerformance","GoodPerformancePercent","Tolerance","OperatorPositionDescription","SalesContractDetailDTOList","_response$salesContra","salesContractDetailDTOList","handlesetContractDetail","salesContractno","SalesContractForm","setContractConstraint","mainFormRef","guaranteeFormRef","handlesalesContractDetailFormSubmit","guaranteeData","mainFormData","postSalesContract","getContractConstraintAsync","getContractAsync","getSalesContractByReferenceId","getSalesContractById","ROUTES","OfficeAutomation","PersonalArchiveTree","gridLoading","setGridLoading","PersonArchiveForm","setPersonArchiveForm","archiveFiles","setArchiveFiles","setResetCheckBox","jobSelected","setJobSelected","showHistory","setShowHistory","DeleteRow","getJobFileArchiveAsync","getPersonalArchiveTreeAsync","overflowX","Prg","reloadHandler","personalArchiveStructure","PersonalArchiveStructure","ShowArchiveFolder","setShowArchiveFolder","showRulesForm","setShowRulesForm","FormBuilder","showCreateForm","setShowCreateForm","showDefaultSetting","setShowDefaultSetting","defaultSettingObj","setDefaultSettingObj","listToolBar","setListToolBar","dragItem","setDragItem","positionOnPage","setPositionOnPage","selectInputForm","setSelectInputForm","showSetting","setShowSetting","editInput","setEditInput","indexEditInput","setIndexEditInput","setForms","editInputStatus","setEditInputStatus","colSelectMove","setColSelectMove","loadingAfterSetting","setLoadingAfterSetting","formsLoading","showFormInViewMode","setShowFormInViewMode","FormInViewMode","setFormInViewMode","preview","setPreview","inputMode","setInputMode","formMode","setFormMode","countList","setCountList","textArea","objectStep","setObjectStep","stateBoxInput","setStateBoxInput","showResetBtn","setShowResetBtn","selectingItemForDelete","setSelectingItemForDelete","deleteTimerMode","setDeleteTimerMode","dynamicFormApplications","setDynamicFormApplications","isWorkflowEnable","setIsWorkflowEnable","spaceIndexRef","deleteTimer","showDataCollectForm","setShowDataCollectForm","dataDictionary","setDataDictionary","checkClickHold","checkTimeHold","Requester","defaultDescription","formBx","selectInput","moveDragInput","DropInput","_e$target$className","newInput","CheckStepper","indexInList","stepInfo","newInputs","fristStep","addNewInput","inpo","countLetList","_inputs$inpo","_inputs$inpo2","_inputs$inpo3","_inputs$inpo4","_inputs$inpo5","_inputs$inpo6","_inputs$inpo7","_inputs$inpo8","removeInput","inputsIndex","getFormsAsync","getFormByNameAsync","_respons$Data2","_respons$Data3","_respons$Data4","_respons$Data5","_respons$Data6","_respons$Data7","_respons$Data8","_respons$Data9","_respons$Data10","_respons$Data11","_respons$Data12","updateCountForEditMode","FormTitle","newCountList","closeInputsForm","inputList","FormObject","stepIndex","isStepUnvalued","kyW","objectLabels","_informationForm$Dyna","_informationForm$Dyna2","_data$DynamicForms","_informationForm$Dyna3","_informationForm$Dyna4","_data$DynamicForms2","_informationForm$Dyna5","_informationForm$Dyna6","_data$DynamicForms3","_informationForm$Dyna7","_informationForm$Dyna8","_data$DynamicForms4","_informationForm$Dyna9","_informationForm$Dyna10","_data$DynamicForms5","_informationForm$Dyna11","_informationForm$Dyna12","_data$DynamicForms6","FormCards","DynamicFormsAccesses","_data$DynamicForms7","_data$DynamicForms8","_data$DynamicForms9","_data$DynamicForms10","_data$DynamicForms11","_data$DynamicForms12","_data$DynamicForms$Is","_data$DynamicForms13","_data$DynamicForms$Ha","_data$DynamicForms14","_data$DynamicForms15","_data$DynamicForms16","swapElements","newArray","temp","checkDrag","handleSelectMove","CheckExistAsync","_data$DynamicForms17","getDictionaryAvailableAsync","typeNameEn","handleCloseCreateForm","newInputList","detailForm","_newInputList$detailF","_newInputList$detailF2","handleDeleteForms","opacity","inputCopy","newIndex","ischanage","handlePaste","cancelFun","showspace","cx","cy","closeSetting","settingChange","DynamicFormsPage","Settings","getProvinceAsync","getCityAsync","dailyLeaveRequestClassificationSetting","getDailyLeaveClassificationAsync","getAllDailyLeave","getDailyLeave","getDailyLeaven","DailyLeave","putDailyLeave","DailyLeaveSelect","generalRequestClassificationSetting","getListGeneralRequest","getGeneralRequestasync","getGeneralRequest","sharingCenterClassificationSetting","getSharingCenterArticleAsync","getSharingCenterArticleasync","getSharingCenterArticle","putSharingCenterArticle","postLevelSetting","deleteRowHandler","deletePostLevel","getPostLevelAsync","viewRowHandler","editRowHandler","getPostLevelApi","showFormHandler","personTitles","Cancelcallback","PersonTitle","setPersonTitle","PersonType","setPersonType","getPersonTitlesAsync","getPersonTitlesApi","getPersonTitlebyId","getTitleId","deletePersonTitlesApi","sendTitlesAsync","sendPersonTitlesApi","referenceSubjectSetting","getReferenceSubjectAsync","getListReferenceSubject","getReferenceSubjectt","getReferenceSubject","listData","putReferenceSubject","ReferenceSubjectSelect","jobSendMethod","SendMethodSetting","getSendMethodAsync","getListJobSend","getJobSubjectt","getJobSend","putJobSend","JobSendSelect","PersonalPlaning","personalTasks","showPersonalPlaningForm","setShowPersonalPlaningForm","setpersonalTaskStatusFilter","changeTaskStatuAsync","changeTaskStatus","personalCalendar","PersonalCalendar","startDay","dayValues","dayDictionary","setDayDictionary","setWeekdays","eventDays","setEventDays","emptyDays","setEmptyDays","calendarEvents","setCalendarEvents","selectedMonthNo","setSelectedMonthNo","selectedYearNo","setSelectedYearNo","selectedDayNo","setSelectedDayNo","setEventList","setFirstDay","setFormSubmitted","EventFormShowFunction","HolidayFormShowFunction","filteredDays","removedDuplicate","manageShowData","Events","FirstDayOfWeek","empty","eventDay","MonthDaysRange","getCalendarDayAsync","getCalendarDay","dayDic","getCalendarAsync","getCalendar","PersonalEvents","sortedDay","sort","clickNextMonth","MonthName","clickPreMonth","_eventDays$indexOf","_data$CalendarEvents$","CurrentDayOfMonth","PeoplePage","refcurentTab","setUser","refuser","organizationalStructure","OrganizationalStructure","_theadData","showOrganizationForm","setShowOrganizationForm","showActiveRowsOnly","setShowActiveRowsOnly","canAddChildTo","canAddChildToOrganizationAsync","getActiveRowsOnly","getFully","positions","features","getCalendarEventsAsync","organizationEvents","setEndpoit","showSelectDay","setShowSelectDay","deleteOrganizationEvent","getOrganizationEventsAsync","fristShow","getCountOrganizationEvents","isFrist","organizationCalendar","EventCalendar","dayLoading","setDayLoading","_res$Data$CalendarEve","deleteEventApiAsync","deleteEventApi","_data$CalendarEvents$2","Boards","setShowData","showExtensionForm","setShowExtensionForm","seteEndDate","accessDataList","setAccessDataList","getaccessListAsync","accessList","bulletinBoardId","getBoardListAsync","sendBordAccess","updateBordEndDate","SharingCenters","SharingCenterId","getSharingCenterListAsync","referred","draft","finished","followUp","onGoing","advancedSearch","personnelCartable","processFilter","setProcessFilter","ShowDynamicFormLoading","setShowDynamicFormLoading","PersonnelObj","setPersonnelObj","getPersonnelCartablesAsync","MyRequests","getMyRequestsAsync","SecretariatAndArchive","secretariatManagement","Secretariats","referenceRul","setReferenceRules","showPatternForm","setShowPatternForm","showSecretariatForm","setShowSecretariatForm","getSecretariatsAsync","SecretariatAccesses","postSecretariats","showLetterForm","setShowLetterForm","showReserveForm","setShowReserveForm","ArchiveTree","organizationArchiveForm","setOrganizationArchiveForm","getDataWithSerchAsync","deleteJobFileArchive","Editable","getArchiveTreeAsync","archiveStructure","ArchiveStructure","DeleteHandler","DeleteOrganizationalArchiveDetail","DeleteOrganizationalArchive","sendorganizationalArchiveAccess","OrganizationalArchiveId","getorganizationalArchiveAccess","IndicatorPatterns","getListIndicatorPatternAsync","getListIndicatorPattern","getIndicatorPatternt","getIndicatorPattern","putIndicatorPattern","letterSubjectTypeSetting","LetterSubjectTypeSetting","getListLetterSubjectAsync","getListLetterSubject","getLetterSubjectt","getLetterSubject","putLetterSubject","LetterSubjectSelect","documnetArchiveRequestClassification","getDocumnetArchiveRequestClassificationAsync","getListDocumnetArchiveRequestClassification","getDocumnetArchiveRequestClassificationasync","getDocumnetArchiveRequestClassification","DocumnetArchiveRequestClassification","putDocumnetArchiveRequestClassification","DocumnetArchiveRequestClassificationSelect","MeetingManagement","meeting","showMeetingForm","setShowMeetingForm","getMeetingClassificationListAsync","getMeetingClassificationAsync","getMeetingClassification","putMeetingClassification","meetingPlaces","getMeetingPlaceListAsync","getMeetingPlaceAsync","getMeetingPlace","Capacity","HoldingTools","putMeetingPlace","InventoryManagement","inventoryRequests","InventoryRequests","showInventoryRequestForm","setShowInventoryRequestForm","getInventoryRequestsAsync","measurementUnits","warehouses","WarehouseStructure","ShowWarehouseDetail","setShowWarehouseDetail","showCreate","setShowCreate","itemList","DeleteWarehouseDetail","DeleteWarehouse","getWarehouseStructureAsync","_selectedObj$ParentsL","_selectedObj$ParentsL2","_selectedObj$ParentsL3","_selectedObj$ParentsL4","_selectedObj$ParentsL5","_selectedObj$ParentsL6","showBarcode","setShowBarcode","showTax","setShowTax","ShowItemTreeDetail","setShowItemTreeDetail","setCheckData","rootsFormat","setRootsFormat","setLevels","selectedCreateItemTreeCallback","handleOpenForm","handleShowForm","getItemTreeAsync","ItemGroupRoots","_err$data2","ItemLevelType","copyItemHandler","ItemGroups","update","levelsdata","showItemGroup","setShowItemGroup","handleCreateWarehouseItem","deleteItemGroupTree","getWarehouseItemAsync","barcodes","getBarcodesAsync","getBarcodesasync","getBarcodes","BarcodeRawData","BarcodeFormat","Barcodes","putBarcodes","BarcodesSelect","getItemMainPropertiesAsync","getItemMainPropertyasync","getItemMainProperty","putItemMainProperty","ItemMainPropertySelect","ItemGroupCodeFormat","getListDocsPaginationAsync","operations","warehouseIo","WarehouseIo","showWarehouseIoForm","warehouseIoType","setWarehouseIoType","getWarehouseIoAsync","SalesRequests","showSalesRequestForm","setShowSalesRequestForm","getSalesRequestsAsync","pricelist","getPriceListAsync","sendPriceAccess","_response$Deta","_response$Data3$Data","showConversionForm","setShowConversionForm","getListCurrenceisAsync","getCurrencyasync","_data$Data2","_data$Data3","_data$Data4","_data$Data5","_data$Data6","_data$Data7","getCurrency","Deta","_e$target$checkbox","_e$target$CurrencyTit","_e$target$CurrencyTit2","_e$target$CurrencyRou","_e$target$CurrencySig","_e$target$CurrencyDes","_e$target$CurrencyDes2","_e$target$checkbox2","_e$target$CurrencyTit3","_e$target$CurrencyTit4","_e$target$CurrencyRou2","_e$target$CurrencySig2","_e$target$CurrencyDes3","_e$target$CurrencyDes4","CurrencyTitle","CurrencyTitleEN","CurrencySign","CurrencyDescription","CurrencyDescriptionEN","putCurrencies","_e$target$CurrencyId","_e$target$ConversionR","CurrencyConversionDate","customers","showImportCustomersForm","setShowImportCustomersForm","getCustomerssAsync","getEditablecolumns","SalesOrders","showSalesOrderForm","setShowSalesOrderForm","getSalesOrdersAsync","salesPreinvoice","showSalesPreInvoiceForm","setShowSalesPreInvoiceForm","getSalesPreInvoicesAsync","salesInvoice","showSalesInvoiceForm","setShowSalesInvoiceForm","setEditType","salesInvoiceVoidAsync","salesInvoiceSyncAsync","getSalesInvoicesAsync","SalesReturnInvoices","salesContract","showSalesContractForm","setShowSalesContractrForm","_filterAndSort$Contra","ContractFormat","contract","customerclassification","getCustomerClassificationAsync","businessActivityTypes","getBusinessActivityTypeAsync","geographicalClassification","getSalesOrderStatusAsync","salesInvoiceStatus","getSalesInvoiceStatusAsync","salesPreInvoiceStatus","getSalesPreInvoiceStatusAsync","salesSystemSettings","setGroupTitle","setSelectedGroupTitle","settingCards","setSettingCards","filterCards","setFilterCards","loadingCards","setLoadingCards","getSystemSettingGroupTitleAsync","getSystemSettingGroupTitle","getSystemSettingAsync","getSystemSetting","newCardObj","CardTitle","createdCollectionCards","_e$target$SystemKey","_e$target$SystemKey2","_e$target$SystemKey2$","_item$Values$split","findSelectListItem","_e$target$SystemKey3","_e$target$SystemKey$","_e$target$SystemKey4","_e$target$SystemKey5","_e$target$SystemKey5$","newDataObj","putSystemSettingApi","paymentMethods","PeymentMethod","Async","inventorySystemSettings","salesDocumentClassification","ManagementReports","SystemManagement","setCreatType","setpersonId","showUserRoleForm","setShowUserRoleForm","organizationTypeFilter","setOrganizationTypeFilter","resetPassword","ResetLockout","getUsersAsync","UserId","accessesInOrganizationalStructure","OrganizationalAccesses","processes","processSetting","ProcessSetting","Fulldata","setFullData","ReferenceRule","setassignApp","defaultShow","setDefaultShow","setAssignIcon","showImportProcessesForm","setShowImportProcessesForm","getMenuAsync","getProcessById","prj_uid","pom","bb","exportAsync","Jobs","JobsList","showSpecialReference","setShowSpecialReference","ShowStopForm","setShowStopForm","setJobInProgressAsync","getJobssAsync","forceStopDescription","Reports","_selectedObj$ReportTr","filterReportId","setFilterReportId","setDesignType","showImportReportForm","setShowImportReportForm","handleSyncAsync","handleCreateMenu","handleDesignRow","ReportTree","IsPrintTemplate","contentDisposition","fileNameMatch","reportsDatabases","ReportsDatabasesForm","handleCreateDatabas","getReportsDatabasesorganizationIdAsync","setAsDefaultAsync","messageSettings","showSettingPattern","setShowSettinPatern","getMessageSettingAsync","branches","PostBranch","getBranchorganizationIdAsync","PutBranch","getAllBranch","getBranch","BranchStatus","periods","PostPeriod","getPeriodorganizationIdAsync","PutPeriod","getAllPeriod","getPeriod","PeriodStatus","chatSettings","setSettings","getSettings","KeepFilesDuration","keepfilesduration","TotalFilesSizeThreshold","totalfilessizethreshold","sendSettings","ResetCache","deleteClearoldfilesaccording","AfterSalesServices","showCustomersUserForm","setShowCustomersUserForm","customerRequests","CustomerRequests","showInsertNote","setShowInsertNote","setServiceRequestId","resendReferenceAsync","handleCreateServiceRequest","handleCancelServiceRequest","cancelServiceRequest","transferObject","JobStatusEnum","UnderReview","InProgress","getAfterSalesAsync","sendSms","ForceStop","Note","note","DeviceDeliveries","setStep","showDeviceDeliveryForm","setShowDeviceDeliveryForm","getDeviceDeliveriesAsync","ServiceRequestClassificationsSetting","getServiceRequestClassificationsAsync","getAllServiceRequestClassifications","getServiceRequestClassifications","getServiceRequestClassificationsn","ServiceRequestClassifications","putServiceRequestClassifications","ServiceRequestClassificationsSelect","getCustomerGeneralRequestClassificationAsync","getAllCustomerGeneralRequestClassification","getCustomerGeneralRequestClassificationn","putCustomerGeneralRequestClassification","CustomerGeneralRequestClassificationSelect","deviceProperties","getDeviceProperties","putDeviceProperties","PaymentCoverageTypeSetting","getPaymentCoverageTypeAsync","getAllPaymentCoverageType","getPaymentCoverageType","getPaymentCoverageTypen","putPaymentCoverageType","PaymentCoverageTypeSelect","ClientPortal","myOwnRequests","MyOwnRequestsPage","MyOwnOrdersPage","myOwnInvoices","getMyOwnInvoiceAsync","TadbirChat","Chat","_message$chatMessage","_corentFile$file","_replyList$fileInform3","allchats","setAllChats","allchatsRef","sendFileref","chats","setChats","chatsRef","setContactName","contactNameRef","setReplyList","showModalFile","setShowModalFile","sendFileLoading","setSendFileLoading","loadingContactList","setLoadingContactList","corentFile","setCorentFile","choiceUser","setChoiceUser","showEmoji","setShowEmoji","getFirst","setGetFirst","userListsearch","setUserListsearch","setHistoryUserList","setGroupList","groupMembers","setgroupMembers","formboxHeight","formboxHeightState","setFormboxHeightState","showArrowDown","setShowArrowDown","showRecordVoice","setShowRecordVoice","startRecordVoice","setStartRecordVoice","setOnlinUserList","selectListContactRef","recordB","corentContactMsg","HistoryUserListRef","contactListRef","latestChat","messagesnotSeeRef","CarouselRef","audioCtx","CarouselFileList","setCarouselFileList","viewerData","setViewerData","carouselFlag","setCarouselFlag","showGeneralRequestForm","setShowGeneralRequestForm","ContactAdapter","invoke","IsGroupOwner","_layoutContext$curren2","getonlinUser","_layoutContext$curren3","selectCarousel","vioceRecord","chunks","mediaDevices","getUserMedia","audio","stream","mediaRecorder","MediaRecorder","AudioContext","source","createMediaStreamSource","analyser","createAnalyser","fftSize","bufferLength","frequencyBinCount","connect","visualize","onstop","getTracks","ondataavailable","scrollToBottom","handleUploadOnchange","_connectionState","scrollTonotSee","_messagesnotSeeRef$cu","getMassagessWithScroll","notifyMe","mas","Notification","permission","requestPermission","productAdapter","getContactsList","Customerlist","CustomerRes","addLineGroupe","groupeName","_contactNameRef$curre","_contactNameRef$curre2","_contactNameRef$curre3","_contactNameRef$curre4","Dictionary","forwardFile","FileInformations","_connectionStarted","responseId","msgId","updatedChat","_layoutContext$curren5","_replyList$fileInform2","UserMsg","_layoutContext$curren4","_replyList$fileInform","_chatMessage$fileInfo","ChatMessage","onfocus","scrollFlag","messageItem","senderId","_messageItem$fileInfo","groupId","_messageItem$fileInfo2","_contactNameRef$curre7","_messageItem$fileInfo3","_messageItem$fileInfo4","_contactNameRef$curre8","_contactNameRef$curre9","_messageItem$fileInfo7","_messageItem$fileInfo8","_messageItem$fileInfo5","_messageItem$fileInfo6","groupName","_contactNameRef$curre10","_messageItem$fileInfo9","_messageItem$fileInfo10","_contactNameRef$curre11","_contactNameRef$curre12","_messageItem$fileInfo13","_messageItem$fileInfo14","_messageItem$fileInfo11","_messageItem$fileInfo12","message1","_contactNameRef$curre14","_contactNameRef$curre13","_contactNameRef$curre15","_contactNameRef$curre16","_contactNameRef$curre17","_layoutContext$curren6","prfList","JobRequester","_JobRequester","_JobRequester$Id","screen","handleDrag","removeSendFile","newLidt","onDragEnter","onDragLeave","onDragOver","onDrop","GroupName","addContactToSelectList","_contactNameRef$curre5","_contactNameRef$curre6","ElementscrollHeight","cancleSendFile","_layoutContext$curren7","_layoutContext$curren8","_layoutContext$curren9","_layoutContext$curren10","scrollMargin","addToForwardList","letterSpacing","fileSizeList","onPaste","pasteEvent","clipboardData","kind","getAsFile","_e$target$value","fromCodePoint","handleAddEmoji","noneApplication","dashboard","DashboardPage","widgetList","setWidgetList","Board","setBoard","tasks","setTask","getWidgetListAsync","bordFlag","localwidgetList","ECommerce","Items2","filteredList","ItemDetailPage","_dataLocal$ItemDescri","_location$state2","_location$state3","_dataLocal$ItemDescri2","_dataLocal$VariationN","_dataLocal$VariationN2","_dataLocal$VariationN3","_dataLocal$ItemPriceL4","queryParams","imgSelected","setImgSelected","selectedPropertiesKeys","setSelectedPropertiesKeys","selectedPropertiesValue","setSelectedPropertiesValue","showIncreaseDecrease","setShowIncreaseDecrease","showGallary","setShowGallary","selectedIncreaseDecrease","setSelectedIncreaseDecrease","checkBoxId","setCheckBox","company","setCompany","setLike","itemNotif","setItemNotif","dataLocal","setDataLocal","setBasketData","totalBasketData","setTotalBasketData","detailActiveRef","setShowCartsubtotal","taxObj","setTaxObj","setPriceInfo","itemsPrice","loadingBasketData","setLoadingBasketData","countBadge","setCountBadge","filterItems","setFilterItems","showDetailModal","setShowDetailModal","itemReview","setItemReview","parentCountBox","setParentCountBox","previes","funSetPropertiesKeys","properteName","q","getItemAsync","_itemData$Data","_location$state","taxHandler","v1","v2","defaultProperty","Variation1List","Variation2List","defaultPropertyValue","VariationList","VariationCode","VariationName","ItemVariations","newItemsPrice","newCartSubtotal","basketDataTotal","_items$ItemPriceListD","_items$ItemPriceListD2","_taxObj$orders$OrderI","_items$ItemPriceListD3","_items$ItemPriceListD4","_items$ItemPriceListD5","_items$ItemPriceListD6","_items$ItemPriceListD7","_items$ItemPriceListD8","_items$ItemPriceListD9","_items$ItemPriceListD10","_taxObj$orders$OrderI2","ClickThumbNailImg","badge","_detailActiveRef$curr","_dataLocal$Attachment","_dataLocal$Attachment2","_dataLocal$VariationL","_dataLocal$VariationL2","_dataLocal$VariationL3","_dataLocal$VariationL4","_dataLocal$VariationL5","_dataLocal$VariationL6","_dataLocal$VariationL7","_dataLocal$VariationL8","_dataLocal$ItemPriceL","_dataLocal$ItemPriceL2","_dataLocal$ItemPriceL3","valueCodes","ItemReview","_item$Code","_filterItems$","_filterItems$2","_order$properties3","_order$properties4","GroupLeafItemId","GroupLeafItemDescription","ItemDescriptionEN","handleShareUrl","_dataLocal$Attachment3","Rate","VariationNamesList","_e$ItemVariations","_e$ItemVariations2","ItemDetailPage2","propertiesKeys","setPropertiesKeys","propertiesValue","setPropertiesValue","defaultPropertyId","propertyKey","_item$properties$prop","_item$properties$prop2","_dataLocal$increaserD","selectItemId","fristOrder","deleteItem","cart2","CartPage2","selectedIncreaserDecreaser","setSelectedIncreaserDecreaser","showCustomerSalesOrder","setShowCustomerSalesOrder","cart","CartPage","pageNotFound","NotFoundPage","unauthorized","UnAuthorizedPage","bankAccounts","getBankAccountsAsync","bank","getBankAsync","treasurySubject","getTreasurySubjectsAsync","getCashAccountAsync","documentClassification","bankPOS","getBankPOSAsync","getBankAccountTypeAsync","getReceiptsAsync","BreadCrumb","setFocus","indexRef","PATH_SNIPPETS","pathSnippets","links","parentRoute","handleNavigate","rout","extraBreadCrumbItems","breadCrumbsItems","_links$indexRef$curre","_links$indexRef$curre2","_links$indexRef$curre3","_links$indexRef$curre4","linkLength","_layoutContext$dragOb3","_layoutContext$dragOb4","_layoutContext$dragOb5","_layoutContext$dragOb6","inEdit","setInEdit","checkResize","setCheckResize","editabledItem","setEditabledItem","showEditIcon","setShowEditIcon","editValue","setEditValue","getCalendaryear","changeApplication","applicationName","shortcuts","_layoutContext$dragOb2","_layoutContext$dragOb","Drop","_item$AliasName","_item$AliasName2","AliasName","BellNotification","getNotificationCount","enterNavigat","getResources","language","iranFlag","uflag","getImgvDir","listFlagLang","PersonSignatureForm","sendPostLevelAsync","sendPersonSignatureApi","PersonSignaturePage","setshowForm","handleActivity","SetActivePersonSignatureApi","handleChangeDefault","getPersonSignatureAsync","callConnection","ChangePasswordForm","passwordData","NewPassword","ConfirmPassword","ConfirmNewPassword","ContactData","CallerNum","setcontact","getcontactAsync","getcontact","SubstituteForm","Substitute","setSubstitute","selectedSubstitute","setSelectedSubstitute","showSubstitutes","setShowSubstitutes","setpages","getSubstituteAsync","substitutePositionId","postSubstitute","putSubstitute","getSubstituteOrganizationIdAsync","getNewSubstitute","SubstituteStatus","UserInfoForm","InfoData","Profile","profileBtnRef","showProfile","setShowProfile","showPasswordForm","setShowPasswordForm","showSubstituteForm","setShowSubstituteForm","showPersonSignature","setShowPersonSignature","profileOptions","setProfileOptions","currentProfileOption","setCurrentProfileOption","NotificationConnectionState","setNotificationConnectionState","callConnectionState","setcallConnectionState","userInfoForm","setUserInfoForm","newReference","setNewReference","callerNum","setCallerNum","showDataForm","setShowDataForm","userNameRef","currentProfileRef","profileOptionsRef","notificountRef","userInTab","updatePositionsNotSeenCount","_profileOptionsRef$cu","profileOption","NotSeenCount","handleOptionClicked","local","Attach","_res$ProfileList$","hash","savedNotifSettings","arrowInMenu","_profileOptionsRef$cu2","positionHaveReference","_positionHaveReferenc","_positionHaveReferenc2","CallerNumber","toLocaleLowerCase","CallerName","CompanyInfo","PersonPicture","Help","setText","com","setCom","Storage","breakPoint","storageLengthDividedByTwo","halfStorageDataArray","_document$querySelect","shortcut","altKey","WidgetForm","setShowWidgetForm","checkboxList","setCheckboxList","_event$target$item","NotifSettingForm","setShowNotifSettingForm","getNotifSettingListAsync","getSharingCenterArticleUserList","SharingCenterArticleUserForm","_response$Attachments","SharingCenterArticleData","articleId","SharingCenterArticleUser","showSharingCenterArticleUserForm","setShowSharingCenterArticleUserForm","SettingMenu","setShowMenu","showMenu","showwidgetform","shownotifSettingForm","showSharingCenter","setShowSharingCenter","showHelpRefRef","heigth_header","showhelp","refreshProfileSetting","refreshformsSize","ChatNotification","FormsNotification","formstring","formsTitles","FullScreanButton","setFullScreen","fullscreenRef","handleExitFullScreen","fullscreenElement","exitFullscreen","handleFullScreen","requestFullscreen","navigationUI","TabEventNotification","EventNotification","handleClose","organizationEvent","reminders","showList","setShowList","responseContent","setResponseContent","getAllEventsAsync","handleNotif","BoardNotification","newBoard","setNewBoard","LeftSidebar","settingMenuBtn","_e$target2$className","_settingMenuBtn$curre","showFlagList","setShowFlagList","openSidebar","handleToggleSidebar","toggleSettingMenu","TopSidebar","itemsName","itemIcons","selectedOptionSmallSelect","setselectedOptionSmallSelect","iconApp","setIconApp","chechChangeApp","func","handleChangeForSmallSelect","nativeEvent","getApplicationsAsync","newrespons","_Current","_Current2","_Current3","_Current4","logo","Sidebar","idCurrentMenu","setIdCurrentMenu","sidebarMenu","setSidebarMenu","setOpenSidebar","openSidebarRef","hasErr","setHasErr","touchstartX","touchendX","sidebarRef","changedTouches","handleIsOpenSubmenu","TitleKey","parentItem","_parentItem$SubMenuLi","_parentItem$SubMenuLi2","_parentItem$SubMenuLi3","_parentItem$SubMenuLi4","_parentItem$SubMenuLi5","SubMenuList","onDragStart","BriefTitle","SubMenuItem","indx","DashboardLayout","setSidebarIsOpen","setImg","IMG","UserPosition","checkKeyDown","AuthHandler","App","demoUserInfo","setDemoUserInfo","pathname","login","ResourceVersion","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","library","far","fas","ReactDOM","render","StrictMode","HashRouter"],"mappings":"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","file":"static/js/main.41f1308e.chunk.js","sourcesContent":["import React from \"react\";\r\nimport { Navigate, RouteProps } from \"react-router-dom\";\r\n\r\nexport interface ComponentHOCProps extends RouteProps {\r\n component: any,\r\n type?: any,\r\n mode?: any,\r\n link?: any\r\n}\r\n\r\nexport const ComponentHOC = ({ component: Component, type, mode, link }: ComponentHOCProps ) => {\r\n return (\r\n link ? : (\r\n type ? : (mode ? : )\r\n )\r\n )\r\n};\r\n","import { ComponentHOC } from \"components/ComponentHOC/ComponentHOC\";\r\nimport { useEffect, useRef } from \"react\";\r\nimport { Route, Routes } from \"react-router-dom\";\r\nimport { BaseRouteProps, FoundRouteType, KeyValueObject } from \"types/types\";\r\nimport { REPORT_URL } from \"./constants\";\r\nimport { http } from \"./http\";\r\nimport { ENDPOINTS } from \"./endpoints\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { findAllByRole } from \"@testing-library/react\";\r\n\r\n// export function submitForm(event): boolean { // بررسی می کند که آیا فیلد های ریکوایرد خالی هستند یا خیر\r\n// event.preventDefault()\r\n// let result = true;\r\n// let requiredInputs = document.querySelectorAll(\".required-input\");\r\n// if (requiredInputs.length !== 0) {\r\n// requiredInputs.forEach((requiredInput) => {\r\n//\r\n// if ((requiredInput as HTMLInputElement).value.length == 0) {\r\n// (requiredInput.nextSibling?.firstChild as HTMLElement).style.display = \"inline-block\";\r\n// result = false;\r\n// } else {\r\n// (requiredInput.nextSibling?.firstChild as HTMLElement).style.display = \"none\";\r\n// }\r\n// })\r\n// }\r\n// return result;\r\n// }\r\nexport function urlParams() {\r\n const urlParams = new URLSearchParams(window.location.search);\r\n const result: { [key: string]: string } = {};\r\n for (let i of Array.from(urlParams.keys()))\r\n result[i] = urlParams.get(i) || \"\";\r\n\r\n return result;\r\n}\r\n/* string wordWithoutLanguage = word.Remove(word.Length - 2, 2);\r\nstring wordLanguage = word.Substring(word.Length - 2, 2);\r\nif (wordLanguage == \"EN\")\r\n return resourceSet.GetString(wordWithoutLanguage) + resourceSet.GetString(\"EN\");\r\nelse\r\n return resourceSet.GetString(word);\r\n */\r\nexport function trans(\r\n key: string,\r\n params?: string | (KeyValueObject | (string | number | boolean)[]),\r\n defaultValue?: string\r\n) {\r\n let lang: any = localStorage.getItem(\"lang\");\r\n let data: any = localStorage.getItem(lang);\r\n const paramList = params && typeof params != \"string\" ? params : {};\r\n const defaultV = defaultValue || (typeof params == \"string\" ? params : key);\r\n let val = defaultValue;\r\n if (data && key) {\r\n data = JSON.parse(data);\r\n if (key.slice(-2) == \"EN\" && key.length > 2) {\r\n key = key.replace(\"EN\", \"\");\r\n if (data[key.toLowerCase()]) {\r\n val = data[key.toLowerCase()] + \" \" + trans(\"EN\");\r\n } else {\r\n val =\r\n data[key.toLowerCase().replace(\"form\", \"\")] + \" \" + trans(\"EN\") ||\r\n defaultV + \" \" + trans(\"EN\");\r\n }\r\n } else {\r\n if (data[key.toLowerCase()]) {\r\n val = data[key.toLowerCase()];\r\n } else {\r\n val = data[key.toLowerCase().replace(\"form\", \"\")] || defaultV;\r\n }\r\n }\r\n }\r\n for (let i in paramList) {\r\n val = val?.replace(`{${i}}`, paramList[i]);\r\n }\r\n\r\n if (val == undefined) {\r\n return key as string;\r\n } else {\r\n return val as string;\r\n }\r\n}\r\n(window as any).t = trans;\r\n\r\nexport function changeDateFormat(date) {\r\n let newDate = date.split(\"T\")[0].replaceAll(\"-\", \"/\");\r\n return (\r\n newDate +\r\n \" \" +\r\n date.split(\"T\")[1].split(\":\")[0] +\r\n \":\" +\r\n date.split(\"T\")[1].split(\":\")[1]\r\n );\r\n}\r\n\r\n\r\nexport const convertToISO = (dateString) => {\r\n // Ensure the input format is YYYY/MM/DD\r\n if(!dateString.includes(\"T\")){\r\n const [datePart, timePart] = dateString.split(\" \");\r\n const dateParts = datePart.split(\"/\");\r\n if (dateParts.length !== 3) return \"Invalid Date Format\";\r\n \r\n const [year, month, day] = dateParts.map(Number);\r\n if (!year || !month || !day) return \"Invalid Date\";\r\n \r\n let hours = 0, minutes = 0;\r\n if (timePart) {\r\n const timeParts = timePart.split(\":\");\r\n if (timeParts.length === 2) {\r\n [hours, minutes] = timeParts.map(Number);\r\n }\r\n }\r\n \r\n // Create a Date object in local time\r\n const date = new Date(year, month - 1, day, hours, minutes);\r\n \r\n // Convert to ISO string in UTC\r\n return date.toISOString();\r\n }else{\r\n return dateString\r\n\r\n }\r\n};\r\n\r\n\r\n\r\nexport function cleanObject(obj) {\r\n for (var propName in obj) {\r\n if (obj[propName] === null || obj[propName] === undefined) {\r\n delete obj[propName];\r\n }\r\n }\r\n return obj;\r\n}\r\n\r\nexport function findRoutesTitle(\r\n targetRoutes,\r\n wantedRoute: string\r\n): FoundRouteType {\r\n let foundRoute: FoundRouteType = {\r\n foundRouteTitle: \"\",\r\n hasComponent: false,\r\n };\r\n\r\n Object.keys(targetRoutes).every((item) => {\r\n if (targetRoutes[item].route === wantedRoute) {\r\n foundRoute.foundRouteTitle = targetRoutes[item].title;\r\n if (targetRoutes[item].component !== undefined) {\r\n foundRoute.hasComponent = true;\r\n }\r\n return false;\r\n } else if (\r\n foundRoute.foundRouteTitle === \"\" &&\r\n targetRoutes[item].routes !== undefined\r\n ) {\r\n foundRoute = findRoutesTitle(targetRoutes[item].routes, wantedRoute);\r\n }\r\n return true;\r\n });\r\n\r\n return foundRoute;\r\n}\r\n\r\nexport const renderRoutes = (routeList: BaseRouteProps, PositionId) => {\r\n const routes = (routeList || {}) as any;\r\n\r\n return (\r\n \r\n {Object.keys(routes).map((app: any) =>\r\n routes[app].routes ? (\r\n \r\n routes[k]?.routes ?(\r\n {Object.keys(routes[app].routes).map((j: any, index) => (\r\n }\r\n />\r\n ))}\r\n :\r\n }\r\n />\r\n )\r\n \r\n ) : (\r\n <>\r\n {routes[app] &&\r\n Object.keys(routes[app]).map((k: any) =>\r\n routes[app]?.[k]?.routes ? (\r\n \r\n routes[app]?.[k]?.routes ?(\r\n {Object.keys(routes[app]?.[k]?.routes).map(\r\n (j: any, index) => (\r\n \r\n }\r\n />\r\n )\r\n )}\r\n :\r\n }\r\n />\r\n )\r\n \r\n ) : (\r\n <>\r\n }\r\n />\r\n \r\n )\r\n )}\r\n \r\n )\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport function findValueByKey(object: Object, objKey: string) {\r\n let value: string = \"\";\r\n Object.keys(object).forEach((key) => {\r\n if (key === objKey) {\r\n value = object[key];\r\n }\r\n });\r\n return value;\r\n}\r\n\r\nexport const useOutsideClick = (callback) => {\r\n const ref = useRef();\r\n\r\n useEffect(() => {\r\n const handleClick = (event) => {\r\n if (ref.current && !ref.current.contains(event.target)) {\r\n callback();\r\n }\r\n };\r\n\r\n document.addEventListener(\"click\", handleClick);\r\n\r\n return () => {\r\n document.removeEventListener(\"click\", handleClick);\r\n };\r\n }, [ref]);\r\n\r\n return ref;\r\n};\r\n\r\nexport const useInsideClick = (callback) => {\r\n const ref = useRef();\r\n\r\n useEffect(() => {\r\n const handleClick = (event) => {\r\n if (ref.current && ref.current.contains(event.target)) {\r\n callback();\r\n }\r\n };\r\n\r\n document.addEventListener(\"click\", handleClick);\r\n\r\n return () => {\r\n document.removeEventListener(\"click\", handleClick);\r\n };\r\n }, [ref]);\r\n\r\n return ref;\r\n};\r\n\r\nexport const isInViewport = function (element: HTMLElement): boolean {\r\n const distance = element.getBoundingClientRect();\r\n\r\n return (\r\n distance.top >= 0 &&\r\n distance.left >= 0 &&\r\n distance.bottom <=\r\n (window.innerHeight || document.documentElement.clientHeight) &&\r\n distance.right <=\r\n (window.innerWidth || document.documentElement.clientWidth)\r\n );\r\n};\r\n\r\nexport function dateConverter(\r\n year: number,\r\n month: number,\r\n day: number\r\n): number[] {\r\n //تبدیل تاریخ میلادی به شمسی\r\n var g_d_m, jy, jm, jd, gy2, days;\r\n g_d_m = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334];\r\n gy2 = month > 2 ? year + 1 : year;\r\n days =\r\n 355666 +\r\n 365 * year +\r\n ~~((gy2 + 3) / 4) -\r\n ~~((gy2 + 99) / 100) +\r\n ~~((gy2 + 399) / 400) +\r\n day +\r\n g_d_m[month - 1];\r\n jy = -1595 + 33 * ~~(days / 12053);\r\n days %= 12053;\r\n jy += 4 * ~~(days / 1461);\r\n days %= 1461;\r\n if (days > 365) {\r\n jy += ~~((days - 1) / 365);\r\n days = (days - 1) % 365;\r\n }\r\n if (days < 186) {\r\n jm = 1 + ~~(days / 31);\r\n jd = 1 + (days % 31);\r\n } else {\r\n jm = 7 + ~~((days - 186) / 30);\r\n jd = 1 + ((days - 186) % 30);\r\n }\r\n return [jy, jm, jd];\r\n}\r\n\r\nexport function getPageSize(name, newSize?) {\r\n //گرفتن پیج سایز از لوکال استوریج\r\n\r\n let sizePage;\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n let flag = true;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] == name) {\r\n sizePage = item[3];\r\n flag = false;\r\n if (newSize) {\r\n sizePage = newSize;\r\n item[3] = newSize;\r\n }\r\n if (sizePage) {\r\n } else {\r\n sizePage = newSize ? newSize : 10;\r\n }\r\n }\r\n });\r\n if (flag) {\r\n sizePage = 10;\r\n locallist.push([name, [], [], 10, [], \"\"]);\r\n }\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n\r\n return sizePage;\r\n}\r\nexport function getGridSetting(name) {\r\n //گرفتن پیج سایز از لوکال استوریج\r\n\r\n let settings;\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n let flag = true;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] == name) {\r\n settings = [item[4] ? item[4] : \"\", item[5] ? item[5] : []];\r\n\r\n flag = false;\r\n }\r\n });\r\n if (flag) {\r\n settings = [\"\", []];\r\n }\r\n\r\n return settings;\r\n}\r\n\r\nexport function formatMinutes(minutes) {\r\n return minutes < 10 ? `0${minutes}` : minutes;\r\n}\r\n\r\nexport function formatSeconds(seconds) {\r\n return seconds < 10 ? `0${seconds}` : seconds;\r\n}\r\n\r\nexport function uuidv4() {\r\n return \"xxxxxxxx-xxxx-xxxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\r\n var r = (Math.random() * 16) | 0,\r\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\r\n return v.toString(16);\r\n });\r\n}\r\n\r\nfunction convertToCSV(objArray) {\r\n var array = typeof objArray != \"object\" ? JSON.parse(objArray) : objArray;\r\n var str = \"\";\r\n\r\n for (var i = 0; i < array.length; i++) {\r\n var line = \"\";\r\n for (var index in array[i]) {\r\n if (line != \"\") line += \",\";\r\n\r\n line += array[i][index];\r\n }\r\n\r\n str += line + \"\\r\\n\";\r\n }\r\n return str;\r\n}\r\n\r\nfunction exportCSVFile(headers, items, fileTitle) {\r\n if (headers) {\r\n items.unshift(headers);\r\n }\r\n\r\n // Convert Object to JSON\r\n let jsonObject = JSON.stringify(items);\r\n\r\n let csv: any = \"\\ufeff\";\r\n csv += convertToCSV(jsonObject);\r\n let exportedFilenmae = fileTitle + \".csv\" || \"export.csv\";\r\n\r\n let blob = new Blob([new Uint8Array([0xef, 0xbb, 0xbf]), csv], {\r\n type: \"text/csv;charset=utf-8;\",\r\n });\r\n\r\n if (navigator.msSaveOrOpenBlob) {\r\n // IE 10+\r\n navigator.msSaveOrOpenBlob(blob, exportedFilenmae);\r\n } else {\r\n let link = document.createElement(\"a\");\r\n if (link.download !== undefined) {\r\n // feature detection\r\n // Browsers that support HTML5 download attribute\r\n let url = URL.createObjectURL(blob);\r\n link.setAttribute(\"href\", url);\r\n link.setAttribute(\"download\", exportedFilenmae);\r\n link.style.visibility = \"hidden\";\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n }\r\n}\r\n\r\nexport function downloadCSV(data = [], startindex, fileName) {\r\n let headers = {};\r\n if (data?.length > 0) {\r\n Object.keys(data[0]).map((item, index) => {\r\n if (index >= startindex) {\r\n headers[item] = trans(item);\r\n }\r\n });\r\n let itemsFormatted: any = [];\r\n data.forEach((item) => {\r\n let obj = {};\r\n Object.keys(headers).map((hed) => {\r\n obj[hed] =\r\n `${item[hed]}`.length > 0\r\n ? `${item[hed]}`.replaceAll(\",\", \" \").replaceAll(/[\\r\\n]/gm, \" \")\r\n : \" \";\r\n });\r\n itemsFormatted.push(obj);\r\n });\r\n exportCSVFile(headers, itemsFormatted, fileName);\r\n } else {\r\n }\r\n}\r\n\r\nexport const postDataForPrint = (repData, type) =>\r\n http({\r\n baseURL: `${process.env.REACT_APP_REPORTING_SERVICE_URL}`,\r\n url: ENDPOINTS.reportST[type == 1 ? \"viewer\" : \"designer\"].saveData,\r\n method: \"post\",\r\n data: repData,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport async function GetReportWithJsonData(id, repData=null, type) {\r\nlet url= `${\r\n `${process.env.REACT_APP_REPORTING_SERVICE_URL}`+\r\n ENDPOINTS.reportST[type == 1 ? \"viewer\" : \"designer\"].getReport\r\n}/${id}`\r\n\r\n if(repData){\r\n let _objData: any = new FormData();\r\n _objData.append(\"repData\", JSON.stringify(repData));\r\n const res = await postDataForPrint(_objData, type);\r\n window.open(url+`?dataId=${res}&userDataId=${sessionStorage.getItem(\"accept-data\")}`,\r\n \"_blank\"\r\n );\r\n }else{\r\n window.open(url,\r\n \"_blank\"\r\n );\r\n }\r\n\r\n}\r\nexport async function addItemToBasket(item, id) {\r\n let Basket: any = localStorage.getItem(\"Basket\");\r\n if (Basket) {\r\n Basket = JSON.parse(Basket);\r\n if (+item.order[id].count == 0) {\r\n if (Basket[item.Id]) {\r\n delete Basket?.[item.Id].order[id];\r\n if (Object.values(Basket?.[item.Id].order).length == 0) {\r\n delete Basket?.[item.Id];\r\n }\r\n }\r\n } else {\r\n if (Basket[item.Id] != undefined) {\r\n Basket[item.Id].order = {\r\n ...Basket[item.Id].order,\r\n [id]: item.order[id],\r\n };\r\n } else {\r\n Basket = {\r\n ...Basket,\r\n [item.Id]: item,\r\n };\r\n }\r\n }\r\n } else {\r\n Basket = {\r\n [item.Id]: item,\r\n };\r\n }\r\n localStorage.setItem(\"Basket\", JSON.stringify(Basket));\r\n}\r\n\r\nexport function getBasketData() {\r\n let Basket: any = localStorage.getItem(\"Basket\");\r\n if (Basket) {\r\n Basket = Object.values(JSON.parse(Basket));\r\n } else {\r\n Basket = [];\r\n }\r\n return Basket;\r\n}\r\n\r\nfunction isNumber(value) {\r\n return typeof value === \"number\" && !isNaN(value);\r\n}\r\nexport function GroupingPriceFunction(price) {\r\n if(price!=undefined){\r\n price=price.toString()\r\n \r\n if ( price!=undefined&& (isNumber(price) || isNumber(+price)|| isNumber(+(price.replaceAll(\",\", \"\"))))) {\r\n if (price && price.length > 0) {\r\n price = price.replaceAll(\",\", \"\");\r\n }\r\n return price?.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n } else {\r\n return price+\"\";\r\n }\r\n}\r\n}\r\n\r\nexport function padWithZeros(num, str) {\r\n if (str == \"null\") {\r\n return \"\";\r\n } else {\r\n let difference = num - str.length;\r\n if (difference > 0) {\r\n return \"0\".repeat(difference) + str;\r\n }\r\n return str;\r\n }\r\n}\r\n\r\n/* export function padWithZeros(length, str) {\r\n str = str.toString();\r\n\r\n return str.padStart(length, '0');\r\n}\r\n\r\n */\r\n\r\n/* export function roundOrTruncate(number, RoundingPlace, floor:boolean) {\r\n try {\r\n\r\n \r\n\r\n if (number) {\r\n if (floor) {\r\n const factor = Math.pow(10, RoundingPlace);\r\n return Math.floor(+number * factor) / factor;\r\n } else {\r\n const prec = Math.pow(10, Math.abs(RoundingPlace) );\r\n if(RoundingPlace>=0){\r\n return Math.round(number / prec) * prec;\r\n }else{\r\n return Math.round(number * prec) / prec;\r\n }\r\n }\r\n } else {\r\n return number;\r\n }\r\n } catch (error) {\r\n return 0\r\n }\r\n}\r\n */\r\n\r\n\r\n\r\n\r\n\r\n/// \r\n/// گرد کردن عدد مورد نظر
\r\n/// مثال
\r\n/// = 11.16 -> = -1 -> 11.20
\r\n/// = 11.16 -> = 0 -> 11.00
\r\n/// = 11.16 -> = 1 -> 10.00
\r\n///
\r\nexport function RoundWithRoundingPlace(value: number, roundingPlace: number = 0): number {\r\n if (value === 0) {\r\n return 0;\r\n }\r\n const prec = Math.pow(10, Math.abs(roundingPlace) );\r\n if(roundingPlace>=0){\r\n return Math.round(value / prec) * prec;\r\n }else{\r\n return Math.round(value * prec) / prec;\r\n }\r\n}\r\n\r\n/// \r\n///گ عدد مورد نظر
\r\n/// مثال
\r\n/// = 11.16 -> = -1 -> 11.20
\r\n/// = 11.16 -> = 0 -> 11.00
\r\n/// = 11.16 -> = 1 -> 10.00
\r\n///
\r\nexport function FloorWithRoundingPlace(value: number, roundingPlace: number = 0): number {\r\n if (value === 0) {\r\n return 0;\r\n }\r\n const prec = Math.pow(10, Math.abs(roundingPlace) );\r\n if(roundingPlace>=0){\r\n return Math.floor(value / prec) * prec;\r\n }else{\r\n return Math.floor(value * prec) / prec;\r\n }\r\n}\r\n/// \r\n/// گرد کردن عدد مورد نظر
\r\n/// مثال
\r\n/// = 11.16 -> = -1 -> 11.20
\r\n/// = 11.16 -> = 0 -> 11.00
\r\n/// = 11.16 -> = 1 -> 10.00
\r\n///
\r\nexport function CeilWithRoundingPlace(value: number, roundingPlace: number = 0): number {\r\n if (value === 0) {\r\n return 0;\r\n }\r\n const prec = Math.pow(10, Math.abs(roundingPlace) );\r\n if(roundingPlace>=0){\r\n return Math.ceil(value / prec) * prec;\r\n }else{\r\n return Math.ceil(value * prec) / prec;\r\n }\r\n}\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\nexport function convertAddress(obj) {\r\n let str = \"\";\r\n try {\r\n const converData = JSON.parse(obj);\r\n Object.keys(converData).forEach((item, index) => {\r\n if (\r\n converData[item] &&\r\n item !== \"extradescription\" &&\r\n item !== \"description\"\r\n ) {\r\n str += `${trans(item)} : ${converData[item]} `;\r\n }\r\n return str;\r\n });\r\n } catch (error) {\r\n str = obj;\r\n }\r\n\r\n return str;\r\n}\r\n\r\n\r\nconst sqlInjectionPattern = `^[^<>']*$`;\r\nconst numberPattern=/^[0-9,]*$/\r\n\r\nexport const validateInput = (input) => {\r\n if ( new RegExp(sqlInjectionPattern).test(input)) {\r\n return true; \r\n }\r\n return false;\r\n};\r\n\r\nexport const validateInputAsNumber= (input) => {\r\n if ( new RegExp(numberPattern).test(input)) {\r\n return true; \r\n }\r\n return false;\r\n};\r\nexport const RoundOutputOperation = (number) => {\r\n return RoundWithRoundingPlace(number,-2)\r\n};\r\n\r\nexport const textChange = (title) => {\r\nif(/\\d+(\\.\\d+)?/g.test(title)){\r\n var regex = /[\\u0600-\\u06FF]+/;\r\n var numRegex = /\\d+/g;\r\n\r\n let text = \"\";\r\n title.split(\" \").forEach((item: any, index) => {\r\n if (regex.test(item as any)) {\r\n text += item + \" \";\r\n } else {\r\n text +=\r\n \" \" +\r\n '
' +\r\n item +\r\n \"
\" +\r\n \" \";\r\n }\r\n });\r\n title = text;\r\n return title.replaceAll(/\\d+/g, (i) => {\r\n return `
${i}
`;\r\n });\r\n}\r\nelse{\r\n return title\r\n}\r\n\r\n\r\n \r\n};","export const ENDPOINTS = {\r\n application: {\r\n browse: \"Application\",\r\n dictionary: \"Application/Dictionary\",\r\n },\r\n menu: \"Menu\",\r\n dataSource: \"DataSource\",\r\n SharingCenterArticleUserApi: {\r\n browse: \"SharingCenterArticleUser/ArticleList\",\r\n load: \"SharingCenterArticleUser\",\r\n attachment: \"SharingCenterArticleUser/Attachment\",\r\n },\r\n BaseDefinitionAndSetting: {\r\n Country: {\r\n browse: \"BaseDefinitionAndSettingApi/Country\",\r\n load: \"BaseDefinitionAndSettingApi/Country/id\",\r\n dictionary: \"BaseDefinitionAndSettingApi/Country/Dictionary\",\r\n dictionaryId: \"BaseDefinitionAndSettingApi/Country/Dictionary/Id\",\r\n },\r\n Province: {\r\n browse: \"BaseDefinitionAndSettingApi/Province\",\r\n load: \"BaseDefinitionAndSettingApi/Province/id\",\r\n dictionary: \"BaseDefinitionAndSettingApi/Province/Dictionary\",\r\n dictionaryId: \"BaseDefinitionAndSettingApi/Province/Dictionary/id\",\r\n },\r\n City: {\r\n browse: \"BaseDefinitionAndSettingApi/City\",\r\n load: \"BaseDefinitionAndSettingApi/City/id\",\r\n dictionary: \"BaseDefinitionAndSettingApi/City/Dictionary\",\r\n },\r\n },\r\n SharingCenterApi: {\r\n SharingCenterArticleClassification: {\r\n browse: \"SharingCenterApi/SharingCenterArticleClassification\",\r\n load: \"SharingCenterApi/SharingCenterArticleClassification/id\",\r\n dictionary:\r\n \"SharingCenterApi/SharingCenterArticleClassification/Dictionary\",\r\n },\r\n SharingCenter: {\r\n browse: \"SharingCenterApi/SharingCenterArticle\",\r\n load: \"SharingCenterApi/SharingCenterArticle/List\",\r\n endDate: \"SharingCenterApi/SharingCenterArticle/EndDate\",\r\n id: \"SharingCenterApi/SharingCenterArticle/id\",\r\n file: \"SharingCenterApi/SharingCenterArticle/Attachment/File\",\r\n attachment: \"SharingCenterApi/SharingCenterArticle/Attachment\",\r\n access: \"SharingCenterApi/SharingCenterArticle/Access\",\r\n },\r\n },\r\n\r\n afterSalesApi: {\r\n browse: \"AfterSalesApi/AfterSale/CustomerRequests\",\r\n history: \"AfterSalesApi/AfterSale/CustomerRequests/History\",\r\n transfer: \"AfterSalesApi/AfterSale/CustomerRequests/Transfer\",\r\n stop: \"AfterSalesApi/AfterSale/ForceStop\",\r\n insertNote: \"AfterSalesApi/AfterSale/InsertNote\",\r\n userId: \"AfterSalesApi/AfterSale/Requester/User\",\r\n customerInfo: \"AfterSalesApi/AfterSale/CustomerInfo\",\r\n customerInProgressRequests:\r\n \"AfterSalesApi/AfterSale/CustomerInProgressRequests\",\r\n CurrentReferencePositions:\r\n \"AfterSalesApi/AfterSale/Dictionary/CurrentReferencePositions\",\r\n postRefrence: \"AfterSalesApi/AfterSale/Reference/Special\",\r\n postReferenceList: \"AfterSalesApi/AfterSale/Reference/List/Special\",\r\n customerList: \"AfterSalesApi/AfterSale/Customers\",\r\n detailCode: \"AfterSalesApi/AfterSale/Customers/GetDetailCode\",\r\n addUserWithDetailCode:\r\n \"AfterSalesApi/AfterSale/Customers/AddUserWithDetailCode\",\r\n\r\n deviceProperty: {\r\n browse: \"AfterSalesApi/DeviceProperty\",\r\n list: \"AfterSalesApi/DeviceProperty/List\",\r\n load: \"AfterSalesApi/DeviceProperty/id\",\r\n dictionary: \"AfterSalesApi/DeviceProperty/GetDictionaryList\",\r\n },\r\n DeviceDelivery: {\r\n browse: \"AfterSalesApi/DeviceDelivery\",\r\n list: \"AfterSalesApi/DeviceDelivery/GetList\",\r\n load: \"AfterSalesApi/DeviceDelivery/id\",\r\n dictionary: \"AfterSalesApi/DeviceDelivery/GetDictionaryList\",\r\n },\r\n customerServiceRequestClassification: {\r\n browse: \"AfterSalesApi/CustomerServiceRequestClassification\",\r\n load: \"AfterSalesApi/CustomerServiceRequestClassification/id\",\r\n dictionary:\r\n \"AfterSalesApi/CustomerServiceRequestClassification/Dictionary\",\r\n },\r\n PaymentCoverageType: {\r\n browse: \"AfterSalesApi/PaymentCoverageType\",\r\n load: \"AfterSalesApi/PaymentCoverageType/id\",\r\n dictionary: \"AfterSalesApi/PaymentCoverageType/Dictionary\",\r\n },\r\n CustomerGeneralRequestClassification: {\r\n browse: \"AfterSalesApi/CustomerGeneralRequestClassification\",\r\n load: \"AfterSalesApi/CustomerGeneralRequestClassification/id\",\r\n dictionary:\r\n \"AfterSalesApi/CustomerGeneralRequestClassification/Dictionary\",\r\n },\r\n },\r\n databases: {\r\n browse: \"Databases\",\r\n load: \"Databases/id \",\r\n },\r\n report: {\r\n browse: \"Report\",\r\n load: \"Report/id \",\r\n groupedReports: \"Report/GetGroupedReports \",\r\n reportFeed: \"Report/UpdateReportFeed \",\r\n },\r\n\r\n bpmnApi: {\r\n process: {\r\n getAll: \"BPMNApi/Process/CurrentPosition/Dictionary/All\",\r\n getStarting: \"BPMNApi/Process/CurrentPosition/StartUpProcess\",\r\n getStartForm: \"BPMNApi/Process/CurrentPosition/StartForm\",\r\n getViewForm: \"BPMNApi/Process/CurrentPosition/StartForm\",\r\n getProcessTasks: \"BPMNApi/Process/ProjectsAndTasks\", // Projects => ~ Process\r\n exportProcessMakerFile: \"BPMNApi/Process/ExportProcessMakerFile\",\r\n postProcessesFiles: \"BPMNApi/Process/ImportProcessMakerFiles\",\r\n getProcessId: \"BPMNApi/Process/ProcessId\",\r\n getProcessDictionaryAll: \"BPMNApi/Process/Dictionary/All\",\r\n },\r\n TaskUser: {\r\n browse: \"BPMNApi/Bpmn_Task_User\",\r\n dictionary: \"BPMNApi/Bpmn_Task_User/Dictionary\",\r\n },\r\n Task: {\r\n browse: \"BPMNApi/Bpmn_Task\",\r\n dictionary: \"BPMNApi/Bpmn_Task/Dictionary\",\r\n },\r\n bpmnProcessIcon: {\r\n browse: \"BPMNApi/BpmnProcessSetting\",\r\n load: \"BPMNApi/BpmnProcessSetting/AssignIconToProcess\",\r\n },\r\n bpmnProcessApplication: {\r\n delete: \"BPMNApi/BpmnProcessApplication\",\r\n load: \"BPMNApi/BpmnProcessApplication/AssignApplicationToProcess\",\r\n browse: \"BPMNApi/BpmnProcessApplication/Dictionary\",\r\n setDefault: \"BPMNApi/BpmnProcessApplication/SetDefaultApplication\",\r\n },\r\n },\r\n\r\n messageHub: {\r\n browse: \"/ChatFile/GetFile\",\r\n tokenFile: \"/ChatFile/GetFileToken\",\r\n load: \"/ChatFile/Send \",\r\n cleanUp:\"/ChatFile/Cleanup\"\r\n },\r\n chatWeb: {\r\n appSettings: {\r\n load: \"/api/AppSettings \",\r\n resetCache: \"/api/AppSettings/ResetCache \",\r\n },\r\n },\r\n Chatuser: {\r\n userInfo: \"/UserInfo/username\",\r\n },\r\n\r\n Widget: {\r\n bords: \"Widget/Widgets/BulletinBoard\",\r\n widgetListName: \"Widget/Widgets\",\r\n bord: \"Widget/Widgets/BulletinBoard/Id\",\r\n bordUrl: \"Widget/Widgets/BulletinBoard/Attachment\",\r\n dayMessage: \"Widget/Widgets/DayMessage\",\r\n dayEvents: \"Widget/Widgets/DayEvents\",\r\n weekEvents: \"Widget/Widgets/WeekEvents\",\r\n personalTask: \"Widget/Widgets/PersonalTasks\",\r\n dayInfo: \"Widget/Widgets/DayInfo\",\r\n bordAttachment: \"Widget/Widgets/BulletinBoard/Attachment\",\r\n personDayEvents: \"Widget/PersonDayEvents\",\r\n },\r\n bulletinBoard: {\r\n browse: \"BulletinBoardApi/BulletinBoard\",\r\n load: \"BulletinBoardApi/BulletinBoard/List\",\r\n endDate: \"BulletinBoardApi/BulletinBoard/EndDate\",\r\n id: \"BulletinBoardApi/BulletinBoard/id\",\r\n file: \"BulletinBoardApi/BulletinBoard/Attachment/File\",\r\n fileUrl: \"BulletinBoardApi/BulletinBoard/Attachment/Url\",\r\n attachment: \"BulletinBoardApi/BulletinBoard/Attachment\",\r\n access: \"BulletinBoardApi/BulletinBoard/Access\",\r\n },\r\n personalPlanningApi: {\r\n personalAction: {\r\n browse: \"PersonalPlanningApi/PersonalAction\",\r\n load: \"PersonalPlanningApi/PersonalAction/id\",\r\n Attachment: \"PersonalPlanningApi/PersonalAction/Attachment\",\r\n },\r\n PersonalTask: {\r\n browse: \"PersonalPlanningApi/PersonalTask\",\r\n load: \"PersonalPlanningApi/PersonalTask/id\",\r\n Attachment: \"PersonalPlanningApi/PersonalTask/Attachment\",\r\n status: \"PersonalPlanningApi/PersonalTask/status\",\r\n },\r\n },\r\n\r\n icon: \"Icon\",\r\n tadbirAuthorizeApi: {\r\n dictionary: \"TadbirAuthorizeApi/Role/Dictionary\",\r\n browse: \"TadbirAuthorizeApi/Role\",\r\n organizationRole: {\r\n browse: \"TadbirAuthorizeApi/OrganizationRole/UnAssignedRoles/Dictionary\",\r\n load: \"TadbirAuthorizeApi/OrganizationRole/List\",\r\n dictionary:\r\n \"TadbirAuthorizeApi/OrganizationRole/AssignedRoles/Dictionary\",\r\n },\r\n positionRole: {\r\n browse: \"TadbirAuthorizeApi/PositionRole/AssignedRoles\",\r\n load: \"TadbirAuthorizeApi/PositionRole/id\",\r\n dictionary: \"TadbirAuthorizeApi/PositionRole/UnAssignedRoles/Dictionary\",\r\n },\r\n },\r\n resources: \"Resource\",\r\n enumeration: \"EnumerationApi/Enumeration\",\r\n enumTypes: \"EnumerationApi/Enumeration/EnumTypes\",\r\n\r\n archive: {\r\n personalArchive: {\r\n getId: \"ArchiveApi/PersonalArchive/id\",\r\n browse: \"ArchiveApi/PersonalArchive\",\r\n dictionary: \"ArchiveApi/PersonalArchive/Dictionary\",\r\n archives: \"ArchiveApi/PersonalArchive/PersonalArchiveWithDetailById\",\r\n },\r\n organizationalArchiveAccess: {\r\n browse: \"ArchiveApi/OrganizationalArchiveAccess\",\r\n },\r\n JobOrganizationalArchiveDetail: {\r\n browse: \"ArchiveApi/JobOrganizationalArchiveDetail\",\r\n search: \"ArchiveApi/JobOrganizationalArchiveDetail/Search\",\r\n load: \"ArchiveApi/JobOrganizationalArchiveDetail/id\",\r\n attachment: \"ArchiveApi/JobOrganizationalArchiveDetail/Attachment\",\r\n fileList: \"ArchiveApi/JobOrganizationalArchiveDetail/Attachment/List\",\r\n attachmentText:\r\n \"ArchiveApi/JobOrganizationalArchiveDetail/Attachment/Text\",\r\n help: \"ArchiveApi/JobOrganizationalArchiveDetail/Attachment/OCR/Help\",\r\n file: \"ArchiveApi/JobOrganizationalArchiveDetail/Attachment/File\",\r\n removeArchivedJob: \"ArchiveApi/JobOrganizationalArchiveDetail/jobId\",\r\n },\r\n JobPersonalArchiveDetail: {\r\n browse: \"ArchiveApi/JobPersonalArchiveDetail\",\r\n load: \"ArchiveApi/JobPersonalArchiveDetail/id\",\r\n },\r\n organizationalArchive: {\r\n browse: \"ArchiveApi/OrganizationalArchive\",\r\n Tree: \"ArchiveApi/OrganizationalArchive/Tree\",\r\n load: \"ArchiveApi/OrganizationalArchive/id\",\r\n dictionary: \"ArchiveApi/OrganizationalArchive/Dictionary\",\r\n archives:\r\n \"ArchiveApi/OrganizationalArchive/OrganizationalArchiveWithDetailById\",\r\n },\r\n organizationalArchiveDetail: {\r\n browse: \"ArchiveApi/OrganizationalArchiveDetail\",\r\n load: \"ArchiveApi/OrganizationalArchiveDetail/id\",\r\n savedArchive: \"ArchiveApi/OrganizationalArchiveDetail/jobId\",\r\n dictionary: \"ArchiveApi/OrganizationalArchiveDetail/Dictionary\",\r\n },\r\n personalArchiveDetail: {\r\n browse: \"ArchiveApi/personalArchiveDetail\",\r\n load: \"ArchiveApi/personalArchiveDetail/id\",\r\n dictionary: \"ArchiveApi/personalArchiveDetail/Dictionary\",\r\n },\r\n documentArchive: {\r\n browse: \"ArchiveApi/DocumentArchiveRequest\",\r\n load: \"ArchiveApi/DocumentArchiveRequest/id\",\r\n referenceId: \"ArchiveApi/DocumentArchiveRequest/referenceId\",\r\n attachment: \"ArchiveApi/DocumentArchiveRequest/Attachment\",\r\n attachmentText: \"ArchiveApi/DocumentArchiveRequest/Attachment/Text\",\r\n },\r\n documentArchiveRequestClassification: {\r\n browse: \"ArchiveApi/DocumentArchiveRequestClassification\",\r\n load: \"ArchiveApi/DocumentArchiveRequestClassification/id\",\r\n attachment: \"ArchiveApi/DocumentArchiveRequestClassification/Attachment\",\r\n dictionary: \"ArchiveApi/DocumentArchiveRequestClassification/dictionary\",\r\n },\r\n },\r\n userApi: {\r\n userId: \"UserApi/UserManagement\",\r\n personUser: \"BaseInformationApi/Person/PersonUser\",\r\n userList: \"UserApi/UserManagement\",\r\n users: \"UserApi/UserManagement/Users\",\r\n\r\n reset: \"UserApi/UserManagement/ResetPassword\",\r\n lockout: \"UserApi/UserManagement/ResetLockout\",\r\n },\r\n UserAuthorize: {\r\n assignmentRole: \"UserApi/UserAuthorize/AssignmentRole\",\r\n },\r\n profileApi: {\r\n profile: \"ProfileApi/Profile/Profile\",\r\n ChangePassword: \"ProfileApi/Profile/Profile/ChangePassword\",\r\n userInfo: \"ProfileApi/Profile/Profile/UserInfo\",\r\n },\r\n BaseInformation: {\r\n person: {\r\n browse: \"BaseInformationApi/Person\",\r\n all: \"BaseInformationApi/Person/All\",\r\n\r\n load: \"BaseInformationApi/Person/id\",\r\n email: \"BaseInformationApi/Person/DefaultEmail/Id\",\r\n\r\n dictionary: \"BaseInformationApi/Person/DictionaryByType\",\r\n dictionaryId: \"BaseInformationApi/Person/Dictionary\",\r\n DictionaryOrganization:\r\n \"BaseInformationApi/Person/DictionaryByOrganizationType\",\r\n chatUserList: \"BaseInformationApi/Person/Chat/Users\",\r\n updatePicture: \"BaseInformationApi/Person/Picture\",\r\n searchByNumber: \"BaseInformationApi/Person/SearchByPhoneOrMobile\",\r\n },\r\n PersonContact: {\r\n Load: \"BaseInformationApi/PersonContact\",\r\n default: \"BaseInformationApi/CustomerPosition/SummaryInfo\",\r\n landLine: \"BaseInformationApi/CustomerPosition/LandlineDictionary\",\r\n mobile: \"BaseInformationApi/CustomerPosition/MobileDictionary\",\r\n addresses: \"BaseInformationApi/PersonContact/Addresses\",\r\n dictionary: \"BaseInformationApi/PersonContact/Dictionary\",\r\n phones: \"BaseInformationApi/PersonContact/PhonesDictionary\",\r\n brows: \"BaseInformationApi/CustomerPosition/Contact\",\r\n nationalEcoCode: \"BaseInformationApi/CustomerPosition/NationalEcoCode\",\r\n },\r\n CurrentPersonContact: {\r\n Load: \"BaseInformationApi/CurrentPersonContact\",\r\n default: \"BaseInformationApi/CurrentPersonContact/Default\",\r\n addresses: \"BaseInformationApi/CurrentPersonContact/Addresses\",\r\n dictionary: \"BaseInformationApi/CurrentPersonContact/Dictionary\",\r\n phones: \"BaseInformationApi/CurrentPersonContact/PhonesDictionary\",\r\n },\r\n\r\n PersonRealTitle: {\r\n browse: \"BaseDefinitionAndSettingApi/PersonRealTitle\",\r\n load: \"BaseDefinitionAndSettingApi/PersonRealTitle/id\",\r\n dictionary: \"BaseDefinitionAndSettingApi/PersonRealTitle/dictionary\",\r\n },\r\n PersonSignature: {\r\n browse: \"BaseInformationApi/PersonSignature\",\r\n load: \"BaseInformationApi/PersonSignature/Default\",\r\n list: \"BaseInformationApi/PersonSignature/List\",\r\n default: \"BaseInformationApi/PersonSignature/SetDefault\",\r\n active: \"BaseInformationApi/PersonSignature/SetActive\",\r\n inactive: \"BaseInformationApi/PersonSignature/SetInactive\",\r\n delete: \"BaseInformationApi/PersonSignature\",\r\n },\r\n PersonLegalTitle: {\r\n browse: \"BaseDefinitionAndSettingApi/PersonLegalTitle\",\r\n load: \"BaseDefinitionAndSettingApi/PersonLegalTitle/id\",\r\n dictionary: \"BaseDefinitionAndSettingApi/PersonLegalTitle/dictionary\",\r\n },\r\n postLevel: {\r\n browse: \"BaseDefinitionAndSettingApi/PostLevel\",\r\n load: \"BaseDefinitionAndSettingApi/PostLevel/id\",\r\n dictionary: \"BaseDefinitionAndSettingApi/PostLevel/dictionary\",\r\n },\r\n position: {\r\n load: \"BaseInformationApi/Position/organizationId\",\r\n dictionaryOrganizationType: \"BaseInformationApi/Position/DictionaryByOrganizationType\",\r\n getId: \"BaseInformationApi/Position/Id\",\r\n getPosition: \"BaseInformationApi/Position/personId\",\r\n browse: \"BaseInformationApi/Position\",\r\n\r\n dictionaryList: \"BaseInformationApi/Position/Dictionary\",\r\n dictionaryWithAcc: \"BaseInformationApi/Position/DictionaryWithAccDetails\",\r\n dictionary: \"BaseInformationApi/Position/Dictionary/Id\",\r\n substitute: \"BaseInformationApi/Position/Substitute\",\r\n substituteId: \"BaseInformationApi/Position/Substitute/id\",\r\n userId: \"BaseInformationApi/Position/User\",\r\n },\r\n groupPosition: {\r\n browse: \"BaseInformationApi/GroupPosition\",\r\n browsedefaults: \"BaseInformationApi/GroupPosition/DefaultGroups\",\r\n\r\n load: \"BaseInformationApi/GroupPosition/id\",\r\n details: \"BaseInformationApi/GroupPosition/Details\",\r\n defaultGroupsdetails: \"BaseInformationApi/GroupPosition/Details\",\r\n dictionary: \"BaseInformationApi/GroupPosition/Dictionary\",\r\n },\r\n organization: {\r\n browse: \"BaseInformationApi/Organization/GetTree\",\r\n canAdd: \"BaseInformationApi/Organization/canAddChildTo\",\r\n getId: \"BaseInformationApi/Organization/id\",\r\n byType: \"BaseInformationApi/Organization/OrganizationsByType\",\r\n load: \"BaseInformationApi/Organization/AddNodeToParent\",\r\n edit: \"BaseInformationApi/Organization\",\r\n getChildren: \"BaseInformationApi/Organization/GetChildren/\",\r\n getNode: \"BaseInformationApi/Organization/GetNodeByParentId/\",\r\n deleteNode: \"BaseInformationApi/Organization/Delete\",\r\n moveNode: \"BaseInformationApi/Organization/move\",\r\n },\r\n },\r\n cartable: {\r\n base: \"CartableApi\",\r\n browse: \"CartableApi/Cartable\",\r\n load: \"CartableApi/Cartable/id\",\r\n delete: \"CartableApi/Cartable/ReferenceId\",\r\n getDynamicForms: \"CartableApi/Cartable/DynamicFormsByReferenceId\",\r\n undo: \"CartableApi/Cartable/ReferenceUndo\",\r\n accept: \"CartableApi/Cartable/ReferenceAccept\",\r\n terminated: \"CartableApi/Cartable/ReferenceTerminated\",\r\n cancelTerminated: \"CartableApi/Cartable/ReferenceTerminatedCancel\",\r\n reject: \"CartableApi/Cartable/JobReject\",\r\n requester: \"CartableApi/Cartable/Requester/User\",\r\n JobReferrer: \"CartableApi/Cartable/Referrer/User\",\r\n ReferencesActions: \"CartableApi/Cartable/ReferencesActions\",\r\n ReferencesTree: \"CartableApi/Cartable/ReferencesTree\",\r\n attachment: \"CartableApi/Cartable/Attachment\",\r\n attachmentFile: \"CartableApi/Cartable/Attachment/File\",\r\n DeleteFile: \"CartableApi/Cartable/Attachment_DeleteFile\",\r\n ongoing: \"CartableApi/Cartable/ReferenceOngoing\",\r\n hasFollowUp: \"CartableApi/Cartable/ReferenceHasFollowUp\",\r\n setJobInProgress: \"CartableApi/Cartable/SetJobInProgress\",\r\n myRequests: \"CartableApi/Cartable/MyRequests\",\r\n notifications: \"CartableApi/Cartable/CurrentNotSeenCount\",\r\n notificationsDictionary:\r\n \"CartableApi/Cartable/CurrentNotSeenCount/Dictionary\",\r\n refer: {\r\n load: \"CartableApi/Cartable/Refer\",\r\n reverse: \"CartableApi/Cartable/ReferenceReverse\",\r\n reverseList: \"CartableApi/Cartable/ReferenceReverse/List\",\r\n },\r\n jobDelivery: {\r\n load: \"CartableApi/JobDelivery\",\r\n },\r\n action: {\r\n browse: \"CartableApi/Action\",\r\n load: \"CartableApi/Action/id\",\r\n jobActions: \"CartableApi/Action/JobActionList\",\r\n attachments: \"CartableApi/Action/Attachment\",\r\n loadAttachment: \"CartableApi/Action/FileAttachment\",\r\n DeleteFile: \"CartableApi/Action/Attachment_DeleteFile\",\r\n },\r\n signature: {\r\n browse: \"CartableApi/Signature\",\r\n load: \"CartableApi/Signature/id\",\r\n },\r\n sendMethod: {\r\n browse: \"BaseDefinitionAndSettingApi/SendMethod\",\r\n load: \"BaseDefinitionAndSettingApi/SendMethod/id\",\r\n dictionary: \"BaseDefinitionAndSettingApi/SendMethod/dictionary\",\r\n },\r\n JobSend: {\r\n browse: \"CartableApi/JobSentHistory\",\r\n load: \"CartableApi/JobSentHistory/id\",\r\n },\r\n job: {\r\n browse: \"CartableApi/Job\",\r\n jobId: \"CartableApi/Job/id\",\r\n load: \"CartableApi/Job/referenceId\",\r\n jobList: \"CartableApi/Job/list\",\r\n stop: \"CartableApi/Job/ForceStop\",\r\n DictionaryReference: \"CartableApi/Job/Dictionary/Reference\",\r\n\r\n // load: \"CartableApi/Job/id\"\r\n },\r\n GeneralRequest: {\r\n browse: \"CartableApi/GeneralRequest\",\r\n GeneralRequestId: \"CartableApi/GeneralRequest/id\",\r\n load: \"CartableApi/GeneralRequest/referenceId\",\r\n attachment: \"CartableApi/JoGeneralRequestb/Attachment\",\r\n DeleteFile: \"CartableApi/GeneralRequest/Attachment_DeleteFile\",\r\n GeneralRequestList: \"CartableApi/GeneralRequest/list\",\r\n },\r\n GeneralRequestClassification: {\r\n browse: \"BaseDefinitionAndSettingApi/GeneralRequestClassification\",\r\n load: \"BaseDefinitionAndSettingApi/GeneralRequestClassification/id\",\r\n dictionary:\r\n \"BaseDefinitionAndSettingApi/GeneralRequestClassification/Dictionary\",\r\n },\r\n\r\n jobInvoice: {\r\n browse: \"CartableApi/JobInvoice\",\r\n load: \"CartableApi/JobInvoice/id\",\r\n dictionary: \"CartableApi/JobInvoice/Dictionary\",\r\n },\r\n reference: {\r\n browse: \"CartableApi/Reference/list\",\r\n postReference: \"CartableApi/Reference\",\r\n attachments: \"CartableApi/Reference/Attachment\",\r\n DeleteFile: \"CartableApi/Reference/Attachment_DeleteFile\",\r\n actions: \"CartableApi/Reference/ReferenceAndActionsById\",\r\n },\r\n referenceSubject: {\r\n browse: \"BaseDefinitionAndSettingApi/ReferenceSubject\",\r\n load: \"BaseDefinitionAndSettingApi/ReferenceSubject/id\",\r\n dictionary: \"BaseDefinitionAndSettingApi/ReferenceSubject/dictionary\",\r\n },\r\n DailyLeaveRequestClassification: {\r\n browse: \"BaseDefinitionAndSettingApi/DailyLeaveRequestClassification\",\r\n load: \"BaseDefinitionAndSettingApi/DailyLeaveRequestClassification/id\",\r\n dictionary:\r\n \"BaseDefinitionAndSettingApi/DailyLeaveRequestClassification/dictionary\",\r\n },\r\n dailyLeave: {\r\n browse: \"CartableApi/DailyLeaveRequest\",\r\n load: \"CartableApi/DailyLeaveRequest/id\",\r\n PrintData: \"CartableApi/DailyLeaveRequest/PrintData\",\r\n leaveDaysRemains: \"CartableApi/DailyLeaveRequest/LeaveDaysRemains\",\r\n referenceId: \"CartableApi/DailyLeaveRequest/referenceId\",\r\n },\r\n HourlyLeave: {\r\n browse: \"CartableApi/HourlyLeaveRequest\",\r\n load: \"CartableApi/HourlyLeaveRequest/id\",\r\n PrintData: \"CartableApi/HourlyLeaveRequest/PrintData\",\r\n referenceId: \"CartableApi/HourlyLeaveRequest/referenceId\",\r\n },\r\n PersonnelCartable: {\r\n browse: \"PersonnelApi/PersonnelCartable\",\r\n dictionary: \"PersonnelApi/PersonnelCartable/Subordinates/Dictionary\",\r\n attachmentDetail: \"PersonnelApi/PersonnelCartable/Attachment/List/Detail\",\r\n attachment: \"PersonnelApi/PersonnelCartable/Attachment\",\r\n JobAndReference: \"PersonnelApi/PersonnelCartable/JobAndReference\",\r\n },\r\n },\r\n clientPortal: {\r\n startUpProcess: \"ClientPortalApi/ClientPortal/StartUpProcess\", //dictionary\r\n startForm: \"ClientPortalApi/ClientPortal/StartForm\",\r\n DynamicForms: \"ClientPortalApi/ClientPortal/DynamicForms\", \r\n chat: \"ClientPortalApi/ClientPortal/Chat/CommunicationWithCustomersMembers\", //dictionary\r\n Responsible: \"ClientPortalApi/ClientPortal/FollowupResponsible/User\",\r\n feedBack: \"ClientPortalApi/ClientPortal/CustomerFeedBack\",\r\n\r\n customerServiceRequest: {\r\n browse: \"ClientPortalApi/customerServiceRequest\",\r\n load: \"ClientPortalApi/customerServiceRequest/id\",\r\n reference: \"ClientPortalApi/customerServiceRequest/referenceId\",\r\n list: \"ClientPortalApi/customerServiceRequest/list\",\r\n detail: \"ClientPortalApi/customerServiceRequest/Detail/List\",\r\n attachment: \"ClientPortalApi/customerServiceRequest/Attachment\",\r\n DeleteFile:\r\n \"ClientPortalApi/customerServiceRequest/Attachment_DeleteFile\",\r\n reply: \"ClientPortalApi/customerServiceRequest/Reply\",\r\n cancel: \"ClientPortalApi/customerServiceRequest/Cancel\",\r\n serials: \"ClientPortalApi/customerServiceRequest/CustomerSerials\",\r\n items: \"ClientPortalApi/customerServiceRequest/CustomerItems\",\r\n },\r\n clientPortal: {\r\n browse: \"ClientPortalApi/ClientPortal\",\r\n load: \"ClientPortalApi/ClientPortal/id\",\r\n reference: \"ClientPortalApi/ClientPortal/referenceId\",\r\n list: \"ClientPortalApi/ClientPortal/list\",\r\n detail: \"ClientPortalApi/ClientPortal/Detail/List\",\r\n attachment: \"ClientPortalApi/ClientPortal/Attachment\",\r\n DeleteFile: \"ClientPortalApi/ClientPortal/Attachment_DeleteFile\",\r\n reply: \"ClientPortalApi/ClientPortal/Reply\",\r\n resend: \"ClientPortalApi/ClientPortal/Resend\",\r\n cancel: \"ClientPortalApi/ClientPortal/Cancel\",\r\n feedBack: \"ClientPortalApi/ClientPortal/CustomerFeedBack\",\r\n serials: \"ClientPortalApi/ClientPortal/CustomerSerials\",\r\n items: \"ClientPortalApi/ClientPortal/CustomerItems\",\r\n validate: \"ClientPortalApi/ClientPortal/Validate/RequesterPosition\",\r\n CustomerPositionList:\r\n \"ClientPortalApi/ClientPortal/CustomerPosition/Dictionary\",\r\n CustomerPositionId:\r\n \"ClientPortalApi/ClientPortal/CustomerPosition/Dictionary/PositionId\",\r\n followupResponsible:\r\n \"ClientPortalApi/ClientPortal/FollowupResponsible/Dictionary\",\r\n },\r\n CustomerGeneralRequest: {\r\n browse: \"ClientPortalApi/CustomerGeneralRequest\",\r\n load: \"ClientPortalApi/CustomerGeneralRequest/id\",\r\n reference: \"ClientPortalApi/CustomerGeneralRequest/referenceId\",\r\n list: \"ClientPortalApi/CustomerGeneralRequest/list\",\r\n detail: \"ClientPortalApi/CustomerGeneralRequest/Detail/List\",\r\n attachment: \"ClientPortalApi/CustomerGeneralRequest/Attachment\",\r\n DeleteFile:\r\n \"ClientPortalApi/CustomerGeneralRequest/Attachment_DeleteFile\",\r\n reply: \"ClientPortalApi/CustomerGeneralRequest/Reply\",\r\n cancel: \"ClientPortalApi/CustomerGeneralRequest/Cancel\",\r\n feedBack: \"ClientPortalApi/CustomerGeneralRequest/CustomerFeedBack\",\r\n serials: \"ClientPortalApi/CustomerGeneralRequest/CustomerSerials\",\r\n items: \"ClientPortalApi/CustomerGeneralRequest/CustomerItems\",\r\n },\r\n },\r\n secretariat: {\r\n indicatorPatterns: {\r\n browse: \"SecretariatApi/IndicatorPatterns\",\r\n dictionary: \"SecretariatApi/IndicatorPatterns/Dictionary\",\r\n load: \"SecretariatApi/IndicatorPatterns/id\",\r\n },\r\n SecretariatIndicatorPattern: {\r\n browse: \"SecretariatApi/SecretariatIndicatorPattern\",\r\n dictionary: \"SecretariatApi/SecretariatIndicatorPattern/Dictionary\",\r\n load: \"SecretariatApi/SecretariatIndicatorPattern/id\",\r\n },\r\n secretariat: {\r\n browse: \"SecretariatApi/Secretariat\",\r\n dictionary: \"SecretariatApi/Secretariat/Dictionary\",\r\n dictionaryAll: \"SecretariatApi/Secretariat/Dictionary/All\",\r\n load: \"SecretariatApi/Secretariat/id\",\r\n allowUpdate: \"SecretariatApi/Secretariat/AllowUpdate\",\r\n },\r\n secretariatAccess: {\r\n browse: \"SecretariatApi/SecretariatAccess\",\r\n dictionary: \"SecretariatApi/SecretariatAccess/Dictionary\",\r\n load: \"SecretariatApi/SecretariatAccess/id\",\r\n },\r\n letterSubject: {\r\n browse: \"SecretariatApi/LetterSubject\",\r\n load: \"SecretariatApi/LetterSubject/id\",\r\n dictionary: \"SecretariatApi/LetterSubject/Dictionary\",\r\n },\r\n letterReceiver: {\r\n browse: \"SecretariatApi/LetterReceiver\",\r\n load: \"SecretariatApi/LetterReceiver/id\",\r\n dictionary: \"SecretariatApi/LetterReceiver/Dictionary\",\r\n dictionaryId: \"SecretariatApi/LetterReceiver/Dictionary/id\",\r\n receiverDictionary: \"SecretariatApi/LetterReceiver/Dictionary/JobId\",\r\n },\r\n letterSignature: {\r\n browse: \"SecretariatApi/LetterSignature\",\r\n load: \"SecretariatApi/LetterSignature/id\",\r\n },\r\n letter: {\r\n browse: \"SecretariatApi/Letter/list\",\r\n chooseRelated: \"SecretariatApi/Letter/list/chooseRelated\",\r\n reference: \"SecretariatApi/Letter/referenceId\",\r\n letter: \"SecretariatApi/Letter\",\r\n defaultAttachment: \"SecretariatApi/Letter/DefaultAttachment\",\r\n defaultFileAttachment: \"SecretariatApi/Letter/DefaultFileAttachment\",\r\n attachment: \"SecretariatApi/Letter/Attachment\",\r\n DeleteFile: \"SecretariatApi/Letter/Attachment_DeleteFile\",\r\n },\r\n indicator: {\r\n browse: \"SecretariatApi/Indicator/list\",\r\n reserved: \"SecretariatApi/Indicator/Reserved\",\r\n loadLetter: \"SecretariatApi/Indicator/LetterId\",\r\n dictionaryReserved: \"SecretariatApi/Indicator/Dictionary/Reserved\",\r\n chooseRelated: \"SecretariatApi/Indicator/list/chooseRelated\",\r\n load: \"SecretariatApi/Indicator/id\",\r\n reference: \"SecretariatApi/Indicator/referenceId\",\r\n indicator: \"SecretariatApi/Indicator\",\r\n related: \"SecretariatApi/Indicator/Relatedlist\",\r\n secretariatNo: \"SecretariatApi/Indicator/NewIndicator/secretariatId\",\r\n defaultAttachment: \"SecretariatApi/Indicator/DefaultAttachment\",\r\n defaultFileAttachment: \"SecretariatApi/Indicator/DefaultFileAttachment\",\r\n attachmentFile: \"SecretariatApi/Indicator/Attachment/File\",\r\n attachment: \"SecretariatApi/Indicator/Attachment\",\r\n DeleteFile: \"SecretariatApi/Indicator/Attachment_DeleteFile\",\r\n PrintData: \"SecretariatApi/Indicator/PrintData\",\r\n },\r\n letterSent: {\r\n browse: \"SecretariatApi/LetterSentHistory\",\r\n load: \"SecretariatApi/LetterSentHistory/id\",\r\n list: \"SecretariatApi/LetterSentHistory/List\",\r\n },\r\n },\r\n\r\n calendar: {\r\n calendar: {\r\n browse: \"CalendarApi/Calendar\",\r\n load: \"CalendarApi/Calendar/Day\",\r\n year: \"CalendarApi/Calendar/CurrentYear\",\r\n },\r\n reminder: {\r\n browse: \"CalendarApi/Reminder\",\r\n load: \"CalendarApi/Reminder/Dictionary\",\r\n },\r\n event: {\r\n browse: \"CalendarApi/CalendarEvent\",\r\n load: \"CalendarApi/CalendarEvent/id\",\r\n },\r\n OrganizationEvents: {\r\n browse: \"CalendarApi/CalendarOrganizationalEvent\",\r\n load: \"CalendarApi/CalendarOrganizationalEvent/id\",\r\n Calendar: \"CalendarApi/CalendarOrganizationalEvent/Calendar\",\r\n WeekendOrganizationEvents:\r\n \"CalendarApi/CalendarOrganizationalEvent/Transfer/WeekendOrganizationEvents\",\r\n GregorianOrganizationEvents:\r\n \"CalendarApi/CalendarOrganizationalEvent/Transfer/GregorianOrganizationEvents\",\r\n LunarOrganizationEvents:\r\n \"CalendarApi/CalendarOrganizationalEvent/Transfer/LunarOrganizationEvents\",\r\n SolarOrganizationEvents:\r\n \"CalendarApi/CalendarOrganizationalEvent/Transfer/SolarOrganizationEvents\",\r\n CalendarEvents:\r\n \"CalendarApi/CalendarOrganizationalEvent/Transfer/CalendarEvents\",\r\n NationalWeekendOrganizationEvents:\r\n \"CalendarApi/CalendarOrganizationalEvent/Transfer/NationalWeekendOrganizationEvents\",\r\n OrganizationalWeekendOrganizationEvents:\r\n \"CalendarApi/CalendarOrganizationalEvent/Transfer/OrganizationalWeekendOrganizationEvents\",\r\n Transfer:\r\n \"CalendarApi/CalendarOrganizationalEvent/CalendarEvent/Transfer\",\r\n Count: \"CalendarApi/CalendarOrganizationalEvent/CalendarEvent/Count\",\r\n list: \"CalendarApi/CalendarOrganizationalEvent/List\",\r\n },\r\n PersonalEvent: {\r\n browse: \"CalendarApi/CalendarPersonalEvent\",\r\n load: \"CalendarApi/CalendarPersonalEvent/id\",\r\n },\r\n },\r\n\r\n Management: {\r\n period: {\r\n browse: \"ManagementApi/Period\",\r\n load: \"ManagementApi/Period/id\",\r\n dictionary: \"ManagementApi/Period/dictionary\",\r\n },\r\n Branch: {\r\n browse: \"ManagementApi/Branch\",\r\n load: \"ManagementApi/Branch/id\",\r\n dictionary: \"ManagementApi/Branch/dictionary\",\r\n },\r\n JobManagement: {\r\n browse: \"ManagementApi/JobManagement\",\r\n jobList: \"ManagementApi/JobManagement/list\",\r\n JobEntireTree: \"ManagementApi/JobManagement/JobEntireTree\",\r\n CurrentReferencePositions:\r\n \"ManagementApi/JobManagement/Dictionary/CurrentReferencePositions\",\r\n postRefrence: \"ManagementApi/JobManagement/Reference/Special\",\r\n postReferenceList: \"ManagementApi/JobManagement/Reference/List/Special\",\r\n attachment: \"ManagementApi/JobManagement/Attachment\",\r\n stop: \"ManagementApi/JobManagement/ForceStop\",\r\n },\r\n },\r\n reportST: {\r\n designer: {\r\n saveData: \"/ReportDesigner/SaveFeedData\",\r\n getReport: \"/ReportDesigner/GetReportByJsonData\",\r\n },\r\n viewer: {\r\n saveData: \"/ReportViewer/SaveFeedData\",\r\n getReport: \"/ReportViewer/GetReportWithJsonData\",\r\n },\r\n reportGroup: {\r\n dictionary: \"/api/ReportGroup/ReportGroupDictionary\",\r\n },\r\n report: {\r\n brows: \"/Report\",\r\n browsTemplate: \"/Report/PrintTemplate\",\r\n setDefault: \"/Report/Default\",\r\n dictionary: \"/Report/PrintTemplatesDictionary\",\r\n reportTemplate:'/Report/ReportTemplate'\r\n },\r\n },\r\n};\r\n\r\nexport const ENDPOINTSINVENTORYANDSALES = {\r\n Widget: {\r\n SaleWidget: \"Widget/CustomerSaleWidget\",\r\n },\r\n Sales: {\r\n\r\n SalesRequest:\"Sales/SalesRequest\",\r\n PaymentMethod: {\r\n dictionary: \"Sales/BaseDefinitionAndSettingApi/PaymentMethod/Dictionary\",\r\n },\r\n CustomerSalesInvoiceApis: {\r\n CustomerSalesInvoice: {\r\n browse: \"Sales/CustomersStoreApi/CustomerSalesInvoice\",\r\n load:'Sales/CustomersStoreApi/CustomerSalesInvoice/Id',\r\n },\r\n },\r\n CustomersStoreApi: {\r\n CustomersStore: {\r\n browse: \"Sales/CustomersStoreApi/CustomersStore/Items\",\r\n load: \"Sales/CustomersStoreApi/CustomersStore/ItemDetail\",\r\n SellableItemsTree: \"Sales/CustomersStoreApi/CustomersStore/SellableItemsTree\",\r\n SellableItemsList: \"Sales/CustomersStoreApi/CustomersStore/SellableItemsList\",\r\n ItemPrice: \"Sales/CustomersStoreApi/CustomersStore/ItemPrice\",\r\n groupLeaves: \"Sales/CustomersStoreApi/CustomersStore/ItemGroupLeaves\",\r\n constraint:'Sales/CustomersStoreApi/CustomersStore/Constraint'\r\n },\r\n },\r\n SalesOrderApis: {\r\n SalesOrder: {\r\n browse: \"Sales/SalesOrder\",\r\n addFirst: \"Sales/SalesOrder/Workflow/AddFirst\",\r\n load: \"Sales/SalesOrder/id\",\r\n referenceId: \"Sales/SalesOrder/ReferenceId\",\r\n Calculate: \"Sales/SalesOrder/Calculate\",\r\n nextOrderNo: \"Sales/SalesOrder/NextOrderNo\",\r\n constraint: \"Sales/SalesOrder/Constraint\",\r\n list: \"Sales/SalesOrder/List\",\r\n FromSource: \"Sales/SalesOrder/FromSource\",\r\n Details: \"Sales/SalesOrder/Details\",\r\n resendJob: \"Sales/SalesOrder/Job/OrderId/Resend\",\r\n workFlow: \"Sales/SalesOrder/Workflow\",\r\n printData:'Sales/SalesOrder/PrintData'\r\n },\r\n },\r\n CustomerSalesOrderApis: {\r\n CustomerSalesOrder: {\r\n browse: \"Sales/CustomersStoreApi/CustomerSalesOrder\",\r\n load: \"Sales/CustomersStoreApi/CustomerSalesOrder/Id\",\r\n constraint:\"Sales/CustomersStoreApi/CustomerSalesOrder/Constraint\"\r\n },\r\n },\r\n BaseInformationApi: {\r\n signature: {\r\n browse: \"Sales/BaseInformationApi/SalesSignature\",\r\n load1: \"Sales/BaseInformationApi/SalesSignature/id\",\r\n load: \"Sales/BaseInformationApi/SalesSignature/ReferenceId\",\r\n },\r\n Currency: {\r\n browse: \"Sales/BaseInformationApi/Currency\",\r\n load: \"Sales/BaseInformationApi/Currency/id\",\r\n dictionary: \"Sales/BaseInformationApi/Currency/Dictionary/Detail\",\r\n conversionRatio: \"Sales/BaseInformationApi/Currency/ConversionRatio\",\r\n },\r\n PriceListApis: {\r\n browse: \"Sales/BaseInformationApi/PriceList\",\r\n constraint: \"Sales/BaseInformationApi/PriceList/Constraint\",\r\n list: \"Sales/BaseInformationApi/PriceList\",\r\n listDictionary: \"Sales/BaseInformationApi/PriceList/Dictionary/Detail\",\r\n id: \"Sales/BaseInformationApi/PriceList/id\",\r\n clone: \"Sales/BaseInformationApi/PriceList/Clone\",\r\n file: \"Sales/BaseInformationApi/PriceList/Attachment/File\",\r\n attachment: \"Sales/BaseInformationApi/PriceList/Attachment\",\r\n access: \"Sales/BaseInformationApi/PriceList/Access\",\r\n ecommercePriceListlistDictionary:'Sales/BaseInformationApi/PriceList/Dictionary/NoManual'\r\n },\r\n PriceListDetailApis: {\r\n browse: \"Sales/BaseInformationApi/PriceListDetail\",\r\n browseList: \"Sales/BaseInformationApi/PriceListDetail\",\r\n bulk: \"Sales/BaseInformationApi/PriceListDetail/BatchAdd\",\r\n batch: \"Sales/BaseInformationApi/PriceListDetail/BatchEdit\",\r\n editable:\r\n \"Sales/BaseInformationApi/PriceListDetail/EditableColumnInDataGrid\",\r\n id: \"Sales/BaseInformationApi/PriceListDetail/id\",\r\n file: \"Sales/BaseInformationApi/PriceListDetail/Attachment/File\",\r\n attachment: \"Sales/BaseInformationApi/PriceListDetail/Attachment\",\r\n access: \"Sales/BaseInformationApi/PriceListDetail/Access\",\r\n itemsTree: \"Sales/BaseInformationApi/PriceListDetail/SelectableItemsTree\",\r\n itemsPaging: \"Sales/BaseInformationApi/PriceListDetail/SelectableItemsList\",\r\n },\r\n Customer: {\r\n browse: \"Sales/BaseInformationApi/Customer\",\r\n Import: \"Sales/BaseInformationApi/Customer/Import\",\r\n load: \"Sales/BaseInformationApi/Customer/id\",\r\n nextCode: \"Sales/BaseInformationApi/Customer/NextCustomerCode\",\r\n dictionary: \"Sales/BaseInformationApi/Customer/Dictionary\",\r\n dictionaryId: \"Sales/BaseInformationApi/Customer/Dictionary/Id\",\r\n personCustomer: \"Sales/BaseInformationApi/Customer/CustomerPersonId\",\r\n credit: \"Sales/BaseInformationApi/Customer/Credit\",\r\n getEditableColumns:\r\n \"Sales/BaseInformationApi/Customer/EditableColumnInDataGrid\",\r\n putEditableColumns: \"Sales/BaseInformationApi/Customer/ListEdit\",\r\n },\r\n },\r\n BaseDefinitionAndSetting: {\r\n PaymentMethod: {\r\n browse: \"Sales/BaseDefinitionAndSettingApi/PaymentMethod\",\r\n load: \"Sales/BaseDefinitionAndSettingApi/PaymentMethod/id\",\r\n dictionary:\r\n \"Sales/BaseDefinitionAndSettingApi/PaymentMethod/Dictionary\",\r\n },\r\n SalesOrderStatus: {\r\n browse: \"Sales/BaseDefinitionAndSettingApi/SalesOrderStatus\",\r\n load: \"Sales/BaseDefinitionAndSettingApi/SalesOrderStatus/id\",\r\n dictionary:\r\n \"Sales/BaseDefinitionAndSettingApi/SalesOrderStatus/Dictionary\",\r\n },\r\n SalesInvoiceStatus: {\r\n browse: \"Sales/BaseDefinitionAndSettingApi/SalesInvoiceStatus\",\r\n load: \"Sales/BaseDefinitionAndSettingApi/SalesInvoiceStatus/id\",\r\n dictionary:\r\n \"Sales/BaseDefinitionAndSettingApi/SalesInvoiceStatus/Dictionary\",\r\n },\r\n SalesPreInvoiceStatus: {\r\n browse: \"Sales/BaseDefinitionAndSettingApi/SalesPreInvoiceStatus\",\r\n load: \"Sales/BaseDefinitionAndSettingApi/SalesPreInvoiceStatus/id\",\r\n dictionary:\r\n \"Sales/BaseDefinitionAndSettingApi/SalesPreInvoiceStatus/Dictionary\",\r\n },\r\n CustomerClassification: {\r\n browse: \"Sales/BaseDefinitionAndSettingApi/CustomerClassification\",\r\n load: \"Sales/BaseDefinitionAndSettingApi/CustomerClassification/id\",\r\n dictionary:\r\n \"Sales/BaseDefinitionAndSettingApi/CustomerClassification/Dictionary\",\r\n },\r\n SalesDocsClassification: {\r\n browse: \"Sales/BaseDefinitionAndSettingApi/SalesDocsClassification\",\r\n load: \"Sales/BaseDefinitionAndSettingApi/SalesDocsClassification/id\",\r\n dictionary:\r\n \"Sales/BaseDefinitionAndSettingApi/SalesDocsClassification/Dictionary/Detail\",\r\n },\r\n BusinessActivityType: {\r\n browse: \"Sales/BaseDefinitionAndSettingApi/BusinessActivityType\",\r\n load: \"Sales/BaseDefinitionAndSettingApi/BusinessActivityType/id\",\r\n dictionary:\r\n \"Sales/BaseDefinitionAndSettingApi/BusinessActivityType/Dictionary\",\r\n },\r\n\r\n GeographicalClassification: {\r\n browse:\r\n \"Sales/BaseDefinitionAndSettingApi/GeographicalClassification/GetFullyLoadTree\",\r\n canAdd:\r\n \"Sales/BaseDefinitionAndSettingApi/GeographicalClassification/canAddChildTo\",\r\n getId:\r\n \"Sales/BaseDefinitionAndSettingApi/GeographicalClassification/id\",\r\n load: \"Sales/BaseDefinitionAndSettingApi/GeographicalClassification/AddNodeToParent\",\r\n edit: \"Sales/BaseDefinitionAndSettingApi/GeographicalClassification/UpdateNode\",\r\n getChildren:\r\n \"Sales/BaseDefinitionAndSettingApi/GeographicalClassification/GetChildren/\",\r\n getNode:\r\n \"Sales/BaseDefinitionAndSettingApi/GeographicalClassification/GetNodeByParentId\",\r\n deleteNode:\r\n \"Sales/BaseDefinitionAndSettingApi/GeographicalClassification/DeleteNode\",\r\n moveNode:\r\n \"Sales/BaseDefinitionAndSettingApi/GeographicalClassification/move\",\r\n },\r\n SalesSystemSetting: {\r\n browse: \"Sales/BaseDefinitionAndSettingApi/SalesSystemSetting\",\r\n groupTitle:\r\n \"Sales/BaseDefinitionAndSettingApi/SalesSystemSetting/GroupTitle\",\r\n },\r\n CustomerRelationType:{\r\n dictionary:'Sales/BaseDefinitionAndSettingApi/CustomerRelationType/Dictionary'\r\n }\r\n },\r\n SalesInvoice: {\r\n load: \"Sales/SalesInvoice\",\r\n middle: \"Sales/SalesInvoice/Workflow/AddMiddle\",\r\n Calculate: \"Sales/SalesInvoice/Calculate\",\r\n browse: \"Sales/SalesInvoice/id\",\r\n referenceId: \"Sales/SalesInvoice/ReferenceId\",\r\n constraint: \"Sales/SalesInvoice/Constraint\",\r\n nextInvoiceNo: \"Sales/SalesInvoice/NextInvoiceNo\",\r\n getOrGenerate: \"Sales/SalesInvoice/Workflow/GetOrGenerate\",\r\n generate: \"Sales/SalesInvoice/GenerateFromSource\",\r\n workflow: \"Sales/SalesInvoice/Workflow\",\r\n optionalDiscount: \"Sales/SalesInvoice/ShareDiscount\",\r\n FromSourceWithIncrease:\r\n \"Sales/SalesInvoice/Workflow/FromSourceWithIncrease\",\r\n FromSource: \"Sales/SalesInvoice/Workflow/FromSource\",\r\n void: \"Sales/SalesInvoice/Void\",\r\n sync: \"Sales/SalesInvoice/TadbirSync\",\r\n invoiceCustomer: \"Sales/SalesInvoice/InvoiceCustomerInformation\",\r\n invoiceDate: \"Sales/SalesInvoice/InvoiceDate\",\r\n invoiceNo: \"Sales/SalesInvoice/InvoiceNo\",\r\n EditInvoiceStatus: \"Sales/SalesInvoice/InvoiceStatus\",\r\n invoiceCottage: \"Sales/SalesInvoice/InvoiceCottage\",\r\n customerInfo: \"Sales/SalesInvoice/CustomerInfo\",\r\n printData:'Sales/SalesInvoice/PrintData'\r\n },\r\n SalesReturnInvoice: {\r\n load: \"Sales/SalesReturnInvoice\",\r\n middle: \"Sales/SalesInvoice/Workflow/AddMiddle\",\r\n Calculate: \"Sales/SalesInvoice/Calculate\",\r\n browse: \"Sales/SalesReturnInvoice/id\",\r\n constraint: \"Sales/SalesReturnInvoice/Constraint\",\r\n nextInvoiceNo: \"Sales/SalesReturnInvoice/Constraint\",\r\n getOrGenerate: \"Sales/SalesInvoice/Workflow/GetOrGenerate\",\r\n generate: \"Sales/SalesReturnInvoice/GenerateFromSource\",\r\n workflow: \"Sales/SalesInvoice/Workflow\",\r\n optionalDiscount: \"Sales/SalesInvoice/ShareDiscount\",\r\n FromSourceWithIncrease: \"Sales/SalesInvoice/FromSourceWithIncrease\",\r\n FromSource: \"Sales/SalesInvoice/FromSource\",\r\n void: \"Sales/SalesInvoice/Void\",\r\n printData:'Sales/SalesReturnInvoice/PrintData'\r\n },\r\n\r\n SalesContract: {\r\n \r\n browse: \"Sales/SalesContract\",\r\n addFirst: \"Sales/SalesOrder/Workflow/AddFirst\",\r\n load: \"Sales/SalesContract/id\",\r\n referenceId: \"Sales/SalesContract/ReferenceId\",\r\n Calculate: \"Sales/SalesOrder/Calculate\",\r\n nextOrderNo: \"Sales/SalesOrder/NextOrderNo\",\r\n constraint: \"Sales/SalesContract/Constraint\",\r\n list: \"Sales/SalesOrder/List\",\r\n FromSource: \"Sales/SalesOrder/FromSource\",\r\n Details: \"Sales/SalesOrder/Details\",\r\n resendJob: \"Sales/SalesContract/Job/SalesContract/Resend\",\r\n workFlow: \"Sales/SalesOrder/Workflow\",\r\n printData:'Sales/SalesContract/PrintData',\r\n kindDictionary:'Sales/SalesContractKind/Dictionary'\r\n },\r\n SalesPreInvoice: {\r\n load: \"Sales/SalesPreInvoice\",\r\n WithDetails: \"Sales/SalesPreInvoice/WithDetails\",\r\n Calculat: \"Sales/SalesPreInvoice/Calculate\",\r\n referenceId: \"Sales/SalesPreInvoice/ReferenceId\",\r\n workflowFromSource: \"Sales/SalesPreInvoice/Workflow/FromSource\",\r\n getOrGenerate: \"Sales/SalesPreInvoice/Workflow/GetOrGenerate\",\r\n constraint: \"Sales/SalesPreInvoice/Constraint\",\r\n generate: \"Sales/SalesPreInvoice/GenerateFromSource\",\r\n workflow: \"Sales/SalesPreInvoice/Workflow\",\r\n nextInvoiceNo: \"Sales/SalesPreInvoice/NextPreInvoiceNo\",\r\n optionalDiscount: \"Sales/SalesPreInvoice/ShareDiscount\",\r\n FromSourceWithIncrease:\r\n \"Sales/SalesPreInvoice/Workflow/FromSourceWithIncrease\",\r\n getId: \"Sales/SalesPreInvoice/id\",\r\n printData:'Sales/SalesPreInvoice/PrintData'\r\n },\r\n },\r\n Inventory: {\r\n InventoryRequest:\"Inventory/InventoryRequest\",\r\n WarehouseIOApis: {\r\n InventoryRemittance:{\r\n browse: \"Inventory/WarehouseIO/InventoryRemittance\",\r\n referenceId: \"Inventory/WarehouseIO/InventoryRemittance\",\r\n addWorkflow:\"Inventory/WarehouseIO/Workflow/InventoryRemittance/AddMiddle\",\r\n putWorkflow:'Inventory/WarehouseIO/Workflow/InventoryRemittance'\r\n },\r\n browse: \"Inventory/WarehouseIO\",\r\n warehouseIOKindDictionary: \"Inventory/WarehouseIOKind/Dictionary\",\r\n load: \"Inventory/WarehouseIO/id\",\r\n getOrGenerate: \"Inventory/WarehouseIO/Workflow/GetOrGenerate\",\r\n constraint: \"Inventory/WarehouseIO/Constraint\",\r\n nextNo:'Inventory/WarehouseIO/NextWarehouseIONo',\r\n refrenceId:'Inventory/WarehouseIO/ReferenceId',\r\n printData:'Inventory/WarehouseIO/PrintData'\r\n },\r\n ItemOtherPropertyValue: {\r\n browse: \"Inventory/ItemApi/ItemOtherPropertyValue\",\r\n },\r\n ItemPriceApis: {\r\n ItemPrice: \"Inventory/ItemPriceApi/ItemPrice\",\r\n SellableItemsTree: \"Inventory/ItemPriceApi/ItemPrice/SellableItemsTree\",\r\n SellableItemsList: \"Inventory/ItemPriceApi/ItemPrice/SellableItemsList\",\r\n ItemsTree: \"Inventory/ItemPriceApi/ItemPrice/ItemsTree\",\r\n ItemsList: \"Inventory/ItemPriceApi/ItemPrice/ItemsList\",\r\n },\r\n ItemBarcode: {\r\n browse: \"Inventory/ItemApi/ItemBarcode\",\r\n },\r\n ItemTax: {\r\n browse: \"Inventory/ItemApi/ItemTax\",\r\n },\r\n ItemOtherProperty: {\r\n browse: \"Inventory/ItemOtherPropertyApi/ItemOtherProperty\",\r\n Properties: \"Inventory/ItemOtherPropertyApi/ItemOtherProperty/Properties\",\r\n },\r\n ItemItemOtherProperty: {\r\n browse: \"Inventory/ItemApi/ItemItemOtherProperty\",\r\n Properties: \"Inventory/ItemApi/ItemItemOtherProperty\",\r\n PropertiesEdit: \"Inventory/ItemApi/ItemItemOtherProperty/EditGrid\",\r\n },\r\n ItemApis: {\r\n /* Item: {\r\n browse: \"Inventory/ItemApi/Item\",\r\n store: \"Inventory/ItemApi/Item/ItemStoreList\",\r\n details: \"Inventory/ItemApi/Item/Details\",\r\n subItemGroup: \"Inventory/ItemApi/Item/SubItemGroup\",\r\n itemGroup: \"Inventory/ItemApi/Item/ItemGroup\",\r\n itemGroupRoot: \"Inventory/ItemApi/Item/ItemGroupRoot\",\r\n itemGroupDictionary: \"Inventory/ItemApi/Item/ItemGroupDictionary\",\r\n Properties: \"Inventory/ItemApi/Item/ItemProperties\",\r\n ItemGroupList: \"Inventory/ItemApi/Item/ItemGroupList\",\r\n getFull: \"Inventory/ItemApi/Item/GetFullyLoadTree\",\r\n canAdd: \"Inventory/ItemApi/Item/canAddChildTo\",\r\n getId: \"Inventory/ItemApi/Item/id\",\r\n load: \"Inventory/ItemApi/Item/AddNodeToParent\",\r\n edit: \"Inventory/ItemApi/Item/UpdateNode\",\r\n getChildren: \"Inventory/ItemApi/Item/GetChildren/\",\r\n getNode: \"Inventory/ItemApi/Item/GetNodeByParentId/\",\r\n checkLevel: \"Inventory/ItemApi/Item/NewItemConstraints\",\r\n checkCode: \"Inventory/ItemApi/Item/EditConstraints\",\r\n getRootes: \"Inventory/ItemApi/Item/GetRootes\",\r\n deleteNode: \"Inventory/ItemApi/Item/DeleteNode\",\r\n moveNode: \"Inventory/ItemApi/Item/move\",\r\n attach: \"Inventory/ItemApi/Item/Attachment/File\",\r\n attachThumbnail: \"Inventory/ItemApi/Item/Attachment/Thumbnail\",\r\n attachment: \"Inventory/ItemApi/Item/Attachment\",\r\n }, */\r\n ItemTree: {\r\n browse: \"Inventory/ItemTreeApi/ItemTree\",\r\n ItemGroupRootsFormat:\r\n \"Inventory/ItemTreeApi/ItemTree/ItemGroupRootsFormat\",\r\n store: \"Inventory/ItemTreeApi/ItemTree/ItemStoreList\",\r\n details: \"Inventory/ItemTreeApi/ItemTree/Details\",\r\n subItemGroup: \"Inventory/ItemTreeApi/ItemTree/SubItemGroup\",\r\n itemGroup: \"Inventory/ItemTreeApi/ItemTree/ItemGroup\",\r\n itemGroupRoot: \"Inventory/ItemTreeApi/ItemTree/ItemGroupRoot\",\r\n itemGroupLeaf: \"Inventory/ItemTreeApi/ItemTree/ItemGroupLeaf\",\r\n itemGroupBranch: \"Inventory/ItemTreeApi/ItemTree/ItemGroupBranch\",\r\n itemBranch: \"Inventory/ItemTreeApi/ItemTree/ItemBranch\",\r\n itemLeaf: \"Inventory/ItemTreeApi/ItemTree/ItemLeaf\",\r\n newItemVariation: \"Inventory/ItemTreeApi/ItemTree/NewItemVariation\",\r\n itemVariationBranch:\r\n \"Inventory/ItemTreeApi/ItemTree/ItemVariationBranch\",\r\n itemVariationLeaf: \"Inventory/ItemTreeApi/ItemTree/ItemVariationLeaf\",\r\n itemGroupDictionary:\r\n \"Inventory/ItemTreeApi/ItemTree/ItemGroupDictionary\",\r\n Properties: \"Inventory/ItemTreeApi/ItemTree/ItemProperties\",\r\n ItemGroupList: \"Inventory/ItemTreeApi/ItemTree/ItemGroupList\",\r\n getFull: \"Inventory/ItemTreeApi/ItemTree/GetFullyLoadTree\",\r\n canAdd: \"Inventory/ItemTreeApi/ItemTree/canAddChildTo\",\r\n getId: \"Inventory/ItemTreeApi/ItemTree/id\",\r\n load: \"Inventory/ItemTreeApi/pi/ItemTree/AddNodeToParent\",\r\n edit: \"Inventory/ItemTreeApi/ItemTree/UpdateNode\",\r\n getChildren: \"Inventory/ItemTreeApi/ItemTree/GetWithChildren/\",\r\n getNode: \"Inventory/ItemTreeApi//ItemTree/GetNodeByParentId/\",\r\n checkLevel: \"Inventory/ItemTreeApi/ItemTree/NewItemConstraints\",\r\n checkCode: \"Inventory/ItemTreeApi/ItemTree/EditConstraints\",\r\n getRootes: \"Inventory/ItemTreeApi/ItemTree/GetRoots\",\r\n getLeafList: \"Inventory/ItemTreeApi/ItemTree/GetLeafList\",\r\n deleteNode: \"Inventory/ItemTreeApi/ItemTree/DeleteNode\",\r\n moveNode: \"Inventory/ItemTreeApi/ItemTree/move\",\r\n attach: \"Inventory/ItemTreeApi/ItemTree/Attachment/File\",\r\n attachThumbnail: \"Inventory/ItemTreeApi/ItemTree/Attachment/Thumbnail\",\r\n\r\n attachment: \"Inventory/ItemTreeApi/ItemTree/Attachment\",\r\n },\r\n },\r\n BaseInformationApi: {\r\n WarehouseItem: {\r\n \r\n browse: \"Inventory/BaseInformationApi/WarehouseItem\",\r\n editList: \"Inventory/BaseInformationApi/WarehouseItem/List\",\r\n bulk: \"Inventory/BaseInformationApi/WarehouseItem/Bulk\",\r\n editable:\r\n \"Inventory/BaseInformationApi/WarehouseItem/EditableColumnsInDataGrid\",\r\n getRootes:\r\n \"Inventory/BaseInformationApi/WarehouseItem/AvailableToAdd/Tree\",\r\n load: \"Inventory/BaseInformationApi/WarehouseItem/id\",\r\n file: \"Inventory/BaseInformationApi/WarehouseItem/Attachment/File\",\r\n attachment: \"Inventory/BaseInformationApi/WarehouseItem/Attachment\",\r\n access: \"Inventory/BaseInformationApi/WarehouseItem/Access\",\r\n ItemsList:\r\n \"Inventory/BaseInformationApi/WarehouseItem/SelectableItemsList\",\r\n ItemsTree:\r\n \"Inventory/BaseInformationApi/WarehouseItem/SelectableItemsTree\",\r\n itemDetail:'Inventory/BaseInformationApi/WarehouseItem/ItemDetail',\r\n sellectableWarehouseItemList:'Inventory/BaseInformationApi/WarehouseItem',\r\n sellectableWarehouseItemDetail:'Inventory/BaseInformationApi/WarehouseItem/ItemDetail'\r\n },\r\n \r\n\r\n warhouseItemGroup: {\r\n browse: \"Inventory/BaseInformationApi/WarehouseItemGroup\",\r\n },\r\n Warehouse: {\r\n browse: \"Inventory/BaseInformationApi/Warehouse\",\r\n load: \"Inventory/BaseInformationApi/Warehouse/id\",\r\n dictionary: \"Inventory/BaseInformationApi/Warehouse/Dictionary/Detail\",\r\n dictionaryHasAccess:\r\n \"Inventory/BaseInformationApi/Warehouse/DictionaryHasAccess/Detail\",\r\n getNode: \"Inventory/BaseInformationApi/Warehouse/Detail\",\r\n access: \"Inventory/BaseInformationApi/Warehouse/Access\",\r\n },\r\n WarehouseDetail: {\r\n browse: \"Inventory/BaseInformationApi/WarehouseDetail\",\r\n load: \"Inventory/BaseInformationApi/WarehouseDetail/id\",\r\n savedArchive: \"Inventory/BaseInformationApi/WarehouseDetail/jobId\",\r\n dictionary: \"Inventory/BaseInformationApi/WarehouseDetail/Dictionary\",\r\n },\r\n\r\n Unit: {\r\n browse: \"Inventory/BaseInformationApi/Unit\",\r\n load: \"Inventory/BaseInformationApi/Unit/id\",\r\n dictionary: \"Inventory/BaseInformationApi/Unit/Dictionary\",\r\n taxdictionary: \"Inventory/BaseInformationApi/Unit/Dictionary/TaxUnit\",\r\n dictionaryId: \"Inventory/BaseInformationApi/Unit/Dictionary\",\r\n defaultUnit: \"Inventory/BaseInformationApi/Unit/DefaultUnit\",\r\n },\r\n WarehouseItemGroup: {\r\n browse: \"Inventory/BaseInformationApi/WarehouseItemGroup\",\r\n load: \"Inventory/BaseInformationApi/WarehouseItemGroup/id\",\r\n hasItemGroup:\r\n \"Inventory/BaseInformationApi/WarehouseItemGroup/HasItemGroup\",\r\n },\r\n },\r\n BaseDefinitionAndSettingApi: {\r\n Barcode: {\r\n browse: \"Inventory/BaseDefinitionAndSettingApi/Barcode\",\r\n load: \"Inventory/BaseDefinitionAndSettingApi/Barcode/id\",\r\n dictionary: \"Inventory/BaseDefinitionAndSettingApi/Barcode/Dictionary\",\r\n },\r\n ItemMainProperty: {\r\n browse: \"Inventory/BaseDefinitionAndSettingApi/ItemMainProperty/Keys\",\r\n // load ?\r\n load: \"Inventory/BaseDefinitionAndSettingApi/ItemMainProperty/Keys/id\",\r\n dictionary:\r\n \"Inventory/BaseDefinitionAndSettingApi/ItemMainProperty/Keys/Dictionary\",\r\n },\r\n ItemMainPropertyValues: {\r\n browse: \"Inventory/BaseDefinitionAndSettingApi/ItemMainProperty/Values\",\r\n list: \"Inventory/BaseDefinitionAndSettingApi/ItemMainProperty/Values/List\",\r\n // load ?\r\n load: \"Inventory/BaseDefinitionAndSettingApi/ItemMainProperty/Values/id\",\r\n dictionary:\r\n \"Inventory/BaseDefinitionAndSettingApi/ItemMainProperty/Values/Dictionary\",\r\n },\r\n physicalQuantity: {\r\n dictionary:\r\n \"/Inventory/BaseDefinitionAndSettingApi/PhysicalQuantity/Dictionary\",\r\n },\r\n inventorySystemSetting: {\r\n browse: \"Inventory/BaseDefinitionAndSettingApi/InventorySystemSetting\",\r\n groupTitle:\r\n \"Inventory/BaseDefinitionAndSettingApi/InventorySystemSetting/GroupTitle\",\r\n },\r\n InventoryDocsClassification: {\r\n browse:\r\n \"Inventory/BaseDefinitionAndSettingApi/InventoryDocsClassification\",\r\n load: \"Inventory/BaseDefinitionAndSettingApi/InventoryDocsClassification/id\",\r\n dictionary:\r\n \"Inventory/BaseDefinitionAndSettingApi/InventoryDocsClassification/Dictionary/Detail\",\r\n },\r\n },\r\n },\r\n};\r\nexport const ENDPOINTSNOTIFYING = {\r\n messageSettingsApis: {\r\n messageSetting: {\r\n browse: \"MessageSettingApi/MessageSetting\",\r\n load: \"MessageSettingApi/MessageSetting/id\",\r\n dictionary: \"MessageSettingApi/MessageSetting/Dictionary\",\r\n },\r\n },\r\n MessagePatternsApis: {\r\n MessagePattern: {\r\n browse: \"MessagePatternApi/MessagePattern\",\r\n load: \"MessagePatternApi/MessagePattern/id\",\r\n dictionary: \"MessagePatternApi/MessagePattern/Dictionary\",\r\n },\r\n },\r\n};\r\n\r\nexport const ENDPOINTSREPORT = {\r\n Report: {\r\n tree: \"Report/ReportTree\",\r\n report: \"Report\",\r\n Import: \"Report/Import\",\r\n Export: \"Report/Export\",\r\n withFeed: \"Report/WithFeed\",\r\n reportView: \"Report/View\",\r\n feedApi: \"Report/WithFeedApi\",\r\n feedMethod: \"Report/WithFeedMethod\",\r\n dictionary: \"MessageSettingApi/MessageSetting/Dictionary\",\r\n createMenu:'Report/ResendToAutomation',\r\n sync:'Report/AddDefaultReports'\r\n },\r\n\r\n Databases: {\r\n dictionary: \"Databases/Dictionary\",\r\n browse: \"Databases\",\r\n reinitialize: \"Databases/Reinitialize\",\r\n setAsDefault:'Databases/SetDefault'\r\n },\r\n ReportFeed: {\r\n loadApi: \"ReportFeed/Api/List\",\r\n loadMethod: \"ReportFeed/Method/List\",\r\n browseApi: \"ReportFeed/Api\",\r\n browseMethod: \"ReportFeed/Method\",\r\n operatorTypes: \"ReportFeed/OperatorTypes\",\r\n parameterTypes: \"ReportFeed/ParameterTypes\",\r\n parameterEnums: \"ReportFeed/EnumValues\",\r\n methodEnumTypes: \"ReportFeed/MethodEnumTypes\",\r\n GenericDictionary: \"ReportFeed/GenericDictionary/Types\",\r\n GenericDictionaryValues: \"ReportFeed/GenericDictionary/Values\",\r\n gnerate: \"ReportFeed/GenerateParametersFromDTO\",\r\n service: \"ReportFeed/Service/List\",\r\n parameters:'ReportFeed/Parameter',\r\n templates:'Report/ReportTemplate',\r\n templatesList:'Report/ReportTemplates'\r\n },\r\n};\r\nexport const ENDPOINTSDYNAMICFORMS = {\r\n DynamicFormApis: {\r\n id: \"DynamicFormsManagement/DynamicFormApis/DynamicForm/Data/Id\",\r\n JobId: \"DynamicFormsManagement/DynamicFormApis/DynamicForm/JobId\",\r\n allForms: \"DynamicFormsManagement/DynamicFormApis/DynamicForm/AllForms\",\r\n list: \"DynamicFormsManagement/DynamicFormApis/DynamicForm/Data\",\r\n data: \"DynamicFormsManagement/DynamicFormApis/DynamicForm/Data\",\r\n formKey: \"DynamicFormsManagement/DynamicFormApis/DynamicForm/FormKey\",\r\n checkEmpty: \"DynamicFormsManagement/DynamicFormApis/DynamicForm/CheckEmpty\",\r\n dynamicForm: \"DynamicFormsManagement/DynamicFormApis/DynamicForm\",\r\n CheckExist: \"DynamicFormsManagement/DynamicFormApis/DynamicForm/CheckExist\",\r\n dataCollection:\r\n \"DynamicFormsManagement/DynamicFormApis/DynamicFormProperty/Keys\",\r\n dataCollectionProperties:\r\n \"DynamicFormsManagement/DynamicFormApis/DynamicFormProperty/Values\",\r\n dataCollectionPropertiesDictionary:\r\n \"DynamicFormsManagement/DynamicFormApis/DynamicFormProperty/Values/Dictionary\",\r\n },\r\n};\r\n\r\nexport const ENDPOINTSMEETINGMANAGEMENT = {\r\n CalenderApis: {\r\n browse: \"MeetingApi/MeetingCalendar\",\r\n },\r\n MeetingApis: {\r\n Meeting: {\r\n browse: \"MeetingApi/Meeting\",\r\n load: \"MeetingApi/Meeting/id\",\r\n accept: \"MeetingApi/Meeting/Accept\",\r\n Invitation: \"MeetingApi/Meeting/Invitation/Id\",\r\n InvitedId: \"MeetingApi/Meeting/InvitedPeople/Id\",\r\n PresenceType: \"MeetingApi/Meeting/PresenceType\",\r\n AttendanceId: \"MeetingApi/Meeting/Attendees/List\",\r\n approvalForSign:\r\n \"MeetingApi/Meeting/MeetingMinuteAndApprovalForSign/Reference\",\r\n putMinute: \"MeetingApi/Meeting/MeetingMinutes\",\r\n finishMeeting: \"MeetingApi/Meeting/FinishMeetingAndStartApprovals\",\r\n list: \"MeetingApi/Meeting/List\",\r\n conflict: \"MeetingApi/Meeting/Place/Conflict\",\r\n Signature: \"MeetingApi/Meeting/Signature\",\r\n },\r\n MeetingApproval: {\r\n browse: \"MeetingApi/MeetingApproval\",\r\n List: \"MeetingApi/MeetingApproval/List\",\r\n MeetingId: \"MeetingApi/MeetingApproval/MeetingId\",\r\n load: \"MeetingApi/MeetingApproval/id\",\r\n },\r\n BaseDefinitionAndSettingsApi: {\r\n MeetingClassification: {\r\n browse: \"BaseDefinitionAndSettingsApi/MeetingClassification\",\r\n load: \"BaseDefinitionAndSettingsApi/MeetingClassification/id\",\r\n list: \"BaseDefinitionAndSettingsApi/MeetingClassification/List\",\r\n dictionary:\r\n \"BaseDefinitionAndSettingsApi/MeetingClassification/dictionary\",\r\n },\r\n MeetingPlace: {\r\n browse: \"BaseDefinitionAndSettingsApi/MeetingPlace\",\r\n load: \"BaseDefinitionAndSettingsApi/MeetingPlace/id\",\r\n list: \"BaseDefinitionAndSettingsApi/MeetingPlace/List\",\r\n dictionary: \"BaseDefinitionAndSettingsApi/MeetingPlace/dictionary\",\r\n },\r\n },\r\n },\r\n};\r\nexport const ENDPOINTSTREASURYANDACCOUNTING = {\r\n Treasury: {\r\n BaseInformationApi: {\r\n Bank: {\r\n brows: \"Treasury/BaseInformationApi/Bank\",\r\n load: \"Treasury/BaseInformationApi/Bank/id\",\r\n dictionary: \"Treasury/BaseInformationApi/Bank/Dictionary\",\r\n },\r\n BankAccounts: {\r\n brows: \"Treasury/BaseInformationApi/BankAccount\",\r\n load: \"Treasury/BaseInformationApi/BankAccount/id\",\r\n dictionary: \"Treasury/BaseInformationApi/BankAccount/Dictionary\",\r\n },\r\n TreasurySubject: {\r\n brows: \"Treasury/BaseInformationApi/TreasurySubject\",\r\n load: \"Treasury/BaseInformationApi/TreasurySubject/id\",\r\n dictionary: \"Treasury/BaseInformationApi/TreasurySubject/Dictionary\",\r\n },\r\n CashAccount: {\r\n access: \"Treasury/BaseInformationApi/CashAccount/Access\",\r\n brows: \"Treasury/BaseInformationApi/CashAccount\",\r\n load: \"Treasury/BaseInformationApi/CashAccount/id\",\r\n dictionary: \"/Treasury/BaseInformationApi/CashAccount/Dictionary\",\r\n },\r\n },\r\n BaseDefinitionAndSettingApi: {\r\n BankAccountType: {\r\n dictionary:\r\n \"Treasury/BaseDefinitionAndSettingApi/BankAccountType/Dictionary\",\r\n brows: \"Treasury/BaseDefinitionAndSettingApi/BankAccountType\",\r\n load: \"Treasury/BaseDefinitionAndSettingApi/BankAccountType/id\",\r\n },\r\n DocsClassification: {\r\n browse: \"Treasury/BaseDefinitionAndSettingApi/DocClassification\",\r\n load: \"Treasury/BaseDefinitionAndSettingApi/DocClassification/id\",\r\n dictionary:\r\n \"Treasury/BaseDefinitionAndSettingApi/DocClassification/Dictionary\",\r\n },\r\n BankPOS: {\r\n brows: \"Treasury/BaseInformationApi/BankPOS\",\r\n load: \"Treasury/BaseInformationApi/BankPOS/id\",\r\n dictionary: \"Treasury/BaseInformationApi/BankPOS/Dictionary\",\r\n },\r\n PaymentServiceProvider: {\r\n dictionary:\r\n \"Treasury/BaseDefinitionAndSettingApi/PaymentServiceProvider/Dictionary\",\r\n },\r\n },\r\n Receipt: {\r\n brows: \"Treasury/Receipt\",\r\n load: \"Treasury/Receipt/id\",\r\n dictionary: \"Treasury/Receipt/Dictionary\",\r\n attachment: \"Treasury/Receipt/Attachment\",\r\n },\r\n },\r\n Accounting: {\r\n browse: \"MeetingApi/MeetingCalendar\",\r\n },\r\n};\r\n","export const AUTH_URL_CALL = `${process.env.REACT_APP_AUTH_URL}/authorize?response_type=code&client_id=${process.env.REACT_APP_AUTH_CLIENT_ID}&redirect_uri=${process.env.REACT_APP_AUTH_REDIRECT_URL}&scope=${process.env.REACT_APP_AUTH_CLIENT_SCOPE}&code_challenge_method=S256&code_challenge=`;\r\nexport const AUTH_TOKEN_URL = `${process.env.REACT_APP_AUTH_URL}/token`;\r\nexport const APP_URL = `${process.env.REACT_APP_URL}/api/${process.env.REACT_APP_V}`;\r\nexport const INVENTORYANDSALES_URL = `${process.env.REACT_APP_INVENTORY_AND_SALES}/api/${process.env.REACT_APP_V}`;\r\nexport const DYNAMICFORMS_URL = `${process.env.REACT_APP_DYNAMIC_FORMS_URL}/api/${process.env.REACT_APP_V}`; \r\nexport const MEETINGMANAGEMENT_URL= `${process.env.REACT_APP_MEETING_MANAGEMENT_URL}/api/${process.env.REACT_APP_V}`;\r\nexport const NOTIFYING_URL = `${process.env.REACT_APP_NOTIFYING_SERVICE_URL}/api/${process.env.REACT_APP_V}`;\r\nexport const TREASURY_AND_ACCOUNTING_URL = `${process.env.REACT_APP_TREASURY_AND_ACCOUNTING}/api/${process.env.REACT_APP_V}`;\r\nexport const CHAT_URL = `${process.env.REACT_APP_CHAT_SERVICE_URL}/hubs/chat`;\r\nexport const CALL_URL = `${process.env.REACT_APP_CALL_SERVICE_URL}/callHub`;\r\nexport const REPORT_URL = `${process.env.REACT_APP_REPORTING_APISERVICE_URL}/api`;\r\nexport const NOTIFICATION_URL = `${process.env.REACT_APP_URL}/hubs/notification`;\r\nexport const STORAGE_URL = `${process.env.REACT_APP_FILEDOWNLOAD_SERVICE_URL}/File/`;\r\nexport const ICON_TYPE = `fas`;\r\nexport const GUID_EMPTY = `00000000-0000-0000-0000-000000000000`;\r\nexport const weekdays_en = [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"];\r\nexport const weekdays_fa = [\"Saturday\", \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\"];\r\nexport const EMOJIS = [ 0x1F64A,0x1F640,0x1F638,0x1F63C,0x1F600,0x1F601,0x1F602,0x1F603,0x1F604,0x1F605,0x1F606,0x1F607,0x1F608,0x1F609,0x1F60A,\r\n 0x1F60B,0x1F60C,0x1F60D,0x1F60E,0x1F60F,0x1F610,0x1F611,0x1F612,0x1F613,0x1F614,0x1F615,0x1F616,0x1F617,0x1F618,\r\n 0x1F619,0x1F61A,0x1F61B,0x1F61C,0x1F61D,0x1F61E,0x1F61F,0x1F620,0x1F621,0x1F622,0x1F623,0x1F624,0x1F625,\r\n 0x1F626,0x1F627,0x1F628,0x1F629, 0x1F62A,0x1F62B,0x1F62C,0x1F62D,0x1F62E,0x1F62F,0x1F630,0x1F631,0x1F632,\r\n 0x1F633,0x1F33A,0x1F33C,0x1F337,0x1F339,0x1F634,0x1F635,0x1F636,0x1F637,0x1F922,0x1F923,0x1F926,0x1F92B,0x1F92C,0x1F92E,0x1F525,0x1F44D,\r\n 0x1F446,0x1F447,0x1F448,0x1F449,0x1F414 ,0x1F64F,0x1F44A,0x1F91D,0x1F44B,0x1F44C,0x1F389,0x1F5A4,0x1F497,0x1F494,0x1F494,0x1F493,\r\n 0x1F381,0x1F9E1,0x1F388,0x1F38A,0x1F411,0xFE0F ];\r\n\r\n\r\nexport const BaseUrlsKey ={\r\n automation: APP_URL,\r\n Meetings:MEETINGMANAGEMENT_URL\r\n}\r\n\r\n\r\nexport const DisplayableFormats = [\"html\", \"htm\",\"jpeg\", \"jpg\", \"png\", \"gif\", \"svg\",\"pdf\",\"swf\",\"mp3\", \"wav\", \"ogg\",\"mp4\",\r\n \"webm\", \"ogg\",\"pdf\",\"txt\",\"xml\",\"doc\", \"docx\", \"ppt\", \"ppt\",\"json\",\"rtf\",\"md\",\"tex\"]\r\nexport const keyboardLetterMap = {\r\n 65: 'a',\r\n 66: 'b',\r\n 67: 'c',\r\n 68: 'd',\r\n 69: 'e',\r\n 70: 'f',\r\n 71: 'g',\r\n 72: 'h',\r\n 73: 'i',\r\n 74: 'j',\r\n 75: 'k',\r\n 76: 'l',\r\n 77: 'm',\r\n 78: 'n',\r\n 79: 'o',\r\n 80: 'p',\r\n 81: 'q',\r\n 82: 'r',\r\n 83: 's',\r\n 84: 't',\r\n 85: 'u',\r\n 86: 'v',\r\n 87: 'w',\r\n 88: 'x',\r\n 89: 'y',\r\n 90: 'z',\r\n};\r\nexport const maximumTimeOut=90000","export enum CartableType {\r\n Draft = 1,\r\n Current = 2,\r\n Referred = 3,\r\n Finished = 4,\r\n Followup = 5,\r\n Ongoing = 6,\r\n}\r\n\r\nexport enum ActivityStatus {\r\n Deleted = 0,\r\n Active = 1,\r\n Inactive = 2,\r\n}\r\n\r\nexport enum MeetingStatus {\r\n Notified = 1,\r\n PendingToAccept = 2,\r\n PendingToHold = 3,\r\n InProgress = 4,\r\n Finished = 5,\r\n Canceled = 6,\r\n}\r\n\r\nexport enum MeetingStatus {\r\n Offline = 1,\r\n Online = 2,\r\n Mix = 3,\r\n}\r\n\r\nexport enum JobStatus {\r\n UnderReview = 1,\r\n InProgress = 2,\r\n Finished = 3,\r\n Rejected = 4,\r\n Canceled = 5,\r\n ForceStop = 6,\r\n FinishedAndWaitingForEvaluatio = 7,\r\n}\r\nexport enum ReferenceStatus {\r\n Draft = 1,\r\n Current = 2,\r\n Referred = 3,\r\n Finished = 4,\r\n ReferredReply = 5,\r\n ReferredUndo = 6,\r\n}\r\n\r\nexport enum Priority {\r\n Normal = 1,\r\n Important = 2,\r\n Emergency = 3,\r\n}\r\nexport enum AssignTypes {\r\n MANUAL,\r\n BALANCED,\r\n SELF_SERVICE,\r\n EVALUATE,\r\n REPORT_TO,\r\n}\r\n//endregion\r\n//region CalendarEnums\r\n//region BaseInformationEnums\r\nexport enum Sex {\r\n Male = 1,\r\n Female = 2,\r\n}\r\nexport enum LegalType {\r\n Company = 1,\r\n Organization = 2,\r\n Office = 3,\r\n}\r\nexport enum ContactType {\r\n Phone = 1,\r\n Mobile = 2,\r\n Email = 3,\r\n Address = 4,\r\n Fax = 5,\r\n Extension = 6,\r\n PostalCode = 7,\r\n Location = 8,\r\n ECEOrganizationCode = 9,\r\n}\r\n\r\nexport enum OrganizationType {\r\n Employees = 1,\r\n Shareholders = 2,\r\n Customers = 3,\r\n ShoppingCenter = 4,\r\n Contractors = 5,\r\n Others = 6,\r\n}\r\n//endregion\r\n//region CalendarEnums\r\nexport enum HolidayType {\r\n National = 1,\r\n Organizational = 2,\r\n}\r\nexport enum CalendarType {\r\n Solar = 1,\r\n Lunar = 2,\r\n Gregorian = 3,\r\n}\r\nexport enum CalendarEventType {\r\n PersonalEvent = 0,\r\n NationalEvent = 1,\r\n NationalHoliday = 2,\r\n NationalWeekend = 3,\r\n OrganizationalHoliday = 4,\r\n OrganizationalEvent = 5,\r\n OrganizationalWeekend = 6,\r\n}\r\nexport enum ReminderStatus {\r\n InProgress = 1,\r\n Postponed = 2,\r\n Done = 3,\r\n Canceled = 4,\r\n}\r\nexport enum PersonalCalendarEventStatus {\r\n NotSet = 1,\r\n Done = 2,\r\n Canceled = 3,\r\n}\r\nexport enum TaskStatus {\r\n Active = 1,\r\n Canceled = 2,\r\n Finished = 3,\r\n Suspended = 4,\r\n Deleted = 5,\r\n}\r\n/*export enum CalendarEventStatus\r\n{\r\n NotSeen = 1,\r\n Seen = 2,\r\n InProgress = 3,\r\n Done = 4\r\n}*/\r\n\r\nexport enum LetterRelationType {\r\n Reply = 1,\r\n Following = 2,\r\n According = 3,\r\n}\r\nexport enum LetterSecurity {\r\n Normal = 1,\r\n Confidential = 2,\r\n StrictlyConfidential = 3,\r\n}\r\nexport enum LetterType {\r\n Incoming = 1,\r\n Outcoming= 2,\r\n Internal = 3,\r\n}\r\n\r\nexport enum LetterUrgency {\r\n Normal = 1,\r\n Urgent = 2,\r\n StrictlyUrgent = 3,\r\n Immediate = 4,\r\n}\r\nexport enum TaxTypeItem {\r\n VAT = 0,\r\n OtherTaxes = 1,\r\n}\r\n\r\nexport enum MessageType {\r\n info = 0,\r\n success = 1,\r\n error = 2,\r\n warning = 3,\r\n confirm = 4,\r\n noDialog = 5,\r\n confirmDelete=6\r\n}\r\n\r\nexport enum InvitationStatus {\r\n Received = 1,\r\n Seen = 2,\r\n Accepted = 3,\r\n Rejected = 4,\r\n}\r\n\r\nexport enum InputTypes {\r\n text = 0,\r\n date = 1,\r\n timeLength = 2,\r\n dropDown = 3,\r\n RadioButton = 4,\r\n checkBox = 5,\r\n fileUpdate = 6,\r\n ProgressBar = 7,\r\n price = 8,\r\n emptySpace = 9,\r\n label = 10,\r\n Message = 11,\r\n time = 12,\r\n PositionDictionary = 13,\r\n Step = 14,\r\n}\r\n\r\nexport enum InvitedPersonType {\r\n Main = 1,\r\n Ordinary = 2,\r\n Guest = 3,\r\n}\r\nexport enum PropertyType {\r\n Text = 1,\r\n Number = 2,\r\n List = 3,\r\n CheckBox = 4,\r\n Date = 5,\r\n Time = 6,\r\n Price = 7,\r\n Dictanory = 8,\r\n CheckBoxList=9\r\n}\r\nexport enum RoleOperationType {\r\n Add = 0,\r\n Edit = 1,\r\n View = 2,\r\n Delete = 3,\r\n\r\n}\r\nexport enum CustomerDictionaryShowMethod {\r\n OnlyCustomer = 0,\r\n OnlyCustomerRelations = 1,\r\n All = 2,\r\n}\r\nexport enum warehouseIOType {\r\n InventoryReceipt= 0,\r\n ReturnedReceipt= 1,\r\n TransferReceipt= 2,\r\n InventoryRemittance= 3,\r\n ReturnRemittance= 4,\r\n TransferRemittance= 5,\r\n InventoryBalancing= 6,\r\n DirectDelivery= 7,\r\n Conversion= 8,\r\n PeriodInit= 9\r\n}\r\n\r\n\r\nexport const InputTextType = {\r\n // textType\r\n 0: \"text\",\r\n 1: \"textarea\",\r\n 2: \"email\",\r\n 3: \"userName\",\r\n // 4:\"password\",\r\n 5: \"systemKey\",\r\n // numberType\r\n 6: \"number\",\r\n 7: \"tel\",\r\n 8: \"mobile\",\r\n 9: \"nationalCode\",\r\n 10: \"birthCertNo\",\r\n 11: \"econNo\",\r\n 12: \"nationalIdentifier\",\r\n 13: \"PostalCode\",\r\n};\r\n\r\nexport const InputTextTypePlaceholder = {\r\n // textType\r\n email: \"ABCD@gmail.com\",\r\n // numberType\r\n number: \"1234\",\r\n tel: \"1234\",\r\n mobile: \"091234\",\r\n nationalCode: \"1234\",\r\n birthCertNo: \"1234\",\r\n econNo: \"1234\",\r\n nationalIdentifier: \"1234\",\r\n PostalCode: \"1234\",\r\n};\r\n//endregion SecretariatEnums\r\nexport const KeyCodesObject = {\r\n A: 65,\r\n B: 66,\r\n C: 67,\r\n D: 68,\r\n E: 69,\r\n F: 70,\r\n G: 71,\r\n H: 72,\r\n I: 73,\r\n J: 74,\r\n K: 75,\r\n L: 76,\r\n M: 77,\r\n N: 78,\r\n O: 79,\r\n P: 80,\r\n Q: 81,\r\n R: 82,\r\n S: 83,\r\n T: 84,\r\n U: 85,\r\n V: 86,\r\n W: 87,\r\n X: 88,\r\n Y: 89,\r\n Z: 90,\r\n};\r\n","import axios from \"axios\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { MessageType } from \"types/enum\";\r\nimport { auth } from \"./auth\";\r\nimport { APP_URL } from \"./constants\";\r\nimport { trans } from \"./helpers\";\r\n\r\n\r\nlet forbiddenCount =0\r\nexport let UserTabs: any = [];\r\nconst delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\nfunction clearSessionStorage() {\r\n sessionStorage.clear();\r\n localStorage.setItem('clearSessionStorage', Date.now()+\"\");\r\n}\r\n\r\n\r\nasync function handleExit() {\r\n const Idtoken = localStorage.getItem(\"id_token\")\r\n //sessionStorage.removeItem(\"accept-data\");\r\n //localStorage.removeItem(\"token\");\r\n //localStorage.removeItem(\"id_token\");\r\n //localStorage.removeItem(\"refresh_token\");\r\n //localStorage.removeItem(\"token_expire\");\r\n //localStorage.removeItem(\"CurrentApplication\");\r\n //localStorage.removeItem(\"tabs\");\r\n\r\n try {\r\n window.location.href = `${process.env.REACT_APP_AUTH_URL}/endsession?id_token_hint=${Idtoken}&post_logout_redirect_uri=${process.env.REACT_APP_AUTH_REDIRECT_URL}/?logout=true`\r\n\r\n // const openedWindow = window.open(`${process.env.REACT_APP_AUTH_URL}/endsession?id_token_hint=${Idtoken}&post_logout_redirect_uri=${process.env.REACT_APP_AUTH_REDIRECT_URL}`);\r\n // await delay(300)\r\n // openedWindow?.close();\r\n // clearSessionStorage()\r\n // window.location.href = \"/\"\r\n } catch (error) {\r\n\r\n }\r\n}\r\n\r\nexport const http = axios.create({\r\n baseURL: APP_URL,\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Access-Control-Allow-Methods\": \"GET,PUT,POST,DELETE,PATCH,OPTIONS\",\r\n },\r\n timeout: 40000,\r\n});\r\n\r\nhttp.interceptors.request.use(\r\nasync function (config: any) {\r\n const lang = localStorage.getItem(\"lang\");\r\n const token = localStorage.getItem(\"token\");\r\n const ex = localStorage.getItem(\"token_expire\");\r\n let res = true;\r\n if (token) {\r\n res =await auth.checkTokenExpire();\r\n } else {\r\n auth.attempt();\r\n }\r\n\r\n if(!localStorage.getItem(\"token\")){\r\n await delay(300)\r\n if (localStorage.getItem(\"token\")) {\r\n res =await auth.checkTokenExpire();\r\n } else {\r\n auth.attempt();\r\n }\r\n }\r\n\r\n if (\r\n config.method == \"post\" ||\r\n config.method == \"put\" ||\r\n config.method == \"delete\"\r\n ) {\r\n document.body.classList.add(\"loading-indicator-\"+lang);\r\n }\r\n if (sessionStorage.getItem(\"accept-data\")) {\r\n config.headers[\"Accept-Data\"] = sessionStorage.getItem(\"accept-data\");\r\n }else{\r\n if(!config.url.includes(\"Profile\")&&!config.url.includes(\"Resource\")&&!config.url.includes(\"UserInfo\")){\r\n console.log(\"ddd\" ,config.url)\r\n handleExit() \r\n }\r\n }\r\n if (res) {\r\n if (sessionStorage.getItem(\"accept-data\")) {\r\n config.headers[\"Accept-Data\"] = sessionStorage.getItem(\"accept-data\");\r\n }\r\n if (\r\n config.headers[\"Accept-Language\"] == undefined ||\r\n config.headers[\"Accept-Language\"] == \"\"\r\n )\r\n config.headers[\"Accept-Language\"] = lang;\r\n config.headers[\"Authorization\"] = \"Bearer \" + localStorage.getItem(\"token\");\r\n return config;\r\n } else {\r\n auth.attempt();\r\n if (\r\n config.headers[\"Accept-Language\"] == undefined ||\r\n config.headers[\"Accept-Language\"] == \"\"\r\n )\r\n config.headers[\"Accept-Language\"] = lang;\r\n config.headers[\"Authorization\"] = \"Bearer \" + localStorage.getItem(\"token\");\r\n return config;\r\n }\r\n },\r\n function (error) {\r\n\r\n }\r\n);\r\n\r\n\r\nhttp.interceptors.response.use(\r\n async (res) => {\r\n const lang = localStorage.getItem(\"lang\");\r\n try {\r\n\r\n if (res.config.method == \"get\") {\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n return res;\r\n } else {\r\n if (res.data.MessageType == MessageType[\"confirm\"]||res.data.MessageType == MessageType[\"confirmDelete\"]) {\r\n res.config.params.Confirm = true;\r\n const confirm = await new Promise((resolve) => {\r\n let re: any;\r\n Toast(\r\n res.data.Message,\r\n res.data.MessageType,\r\n () => {\r\n re = http(res.config);\r\n resolve(re);\r\n },\r\n res?.data?.Data?.[0]?.MessageType ?res?.data?.Data : \"\",\r\n () => {\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n }\r\n );\r\n });\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n return confirm;\r\n } else {\r\n if (res?.data?.Data && res.data.Data[0]?.MessageType) {\r\n Toast(\r\n res?.data.Message,\r\n MessageType[res.data.MessageType]?res.data.MessageType:0,\r\n () => {},\r\n res?.data?.Data\r\n );\r\n\r\n return res;\r\n } else {\r\n if(res.data.MessageType && res.data.MessageType!=MessageType[\"noDialog\"] ){\r\n Toast(res.data.Message,MessageType[res.data.MessageType]?res.data.MessageType:0,\r\n );\r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n return res;\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n },\r\n\r\n async (err) => {\r\n\r\n \r\n const lang = localStorage.getItem(\"lang\");\r\n\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n const statusCode = err?.response?.status;\r\n if(err?.response?.data instanceof Blob){\r\n err.response.data=JSON.parse(await new Response(err?.response?.data).text())\r\n } \r\n if(forbiddenCount==20){\r\n handleExit()\r\n }\r\n if (statusCode == 401) {\r\n forbiddenCount =0\r\n try {\r\n /* const Idtoken = localStorage.getItem(\"id_token\");\r\n localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"refresh_token\");\r\n localStorage.removeItem(\"id_token\");\r\n localStorage.removeItem(\"token_expire\");\r\n localStorage.removeItem(\"CurrentApplication\");\r\n\r\n if (UserTabs.length == 0) {\r\n const openedlogoutWindow = window.open(\r\n `${process.env.REACT_APP_AUTH_URL}/endsession?id_token_hint=${Idtoken}&post_logout_redirect_uri=${process.env.REACT_APP_AUTH_REDIRECT_URL}`\r\n );\r\n\r\n UserTabs = [...UserTabs, openedlogoutWindow];\r\n }\r\n\r\n UserTabs?.forEach((item) => {\r\n item?.close();\r\n });\r\n UserTabs = [];\r\n\r\n window.location.href = \"/\";\r\n */\r\n\r\n await auth.checkTokenExpire();\r\n const token = localStorage.getItem(\"token\");\r\n err.response.config.headers[\"Authorization\"] = \"Bearer \" + token\r\n await new Promise((resolve) => {\r\n let re = http(err?.response.config);\r\n resolve(re);\r\n });\r\n } catch (error) {}\r\n } else if (statusCode == 403) {\r\n forbiddenCount +=1\r\n if(err.config.method != \"get\"){\r\n Toast(\"noaccess\" ,MessageType.error)\r\n }\r\n err.response.data ={\r\n data:null ,\r\n MessageType : MessageType[\"error\"],\r\n Message:\"noaccess\"\r\n }\r\n return Promise.reject(err);\r\n\r\n }else if (!err?.message.includes(\"timeout\") &&err?.response?.data?.MessageType != MessageType[\"confirm\"]&&err?.response?.data?.MessageType != MessageType[\"confirmDelete\"]) { //confirm with error managed in api functions\r\n forbiddenCount =0\r\n if (err?.response?.data?.Data && err?.response?.data?.Data[0]?.MessageType) {\r\n Toast(\r\n err?.response?.data.Message,\r\n MessageType.error,\r\n \r\n () => {},\r\n err?.response?.data?.Data\r\n );\r\n } else if (!err?.response?.data?.Message) {\r\n Toast( trans(\"msg_serverexceptionerror\") +(err?.response?.status? \" ( \"+err?.response?.status+\" )\" :\"\"),MessageType.error);\r\n } else {\r\n \r\n if(err?.response?.data?.MessageType!=MessageType[\"noDialog\"] )\r\n Toast(err.response.data.Message,MessageType.error);\r\n return Promise.reject(err);\r\n\r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n \r\n } else if (err?.message.includes(\"timeout \")) {\r\n forbiddenCount =0\r\n Toast(trans(\"Msg_ServerTimeOutError\"),MessageType.error);\r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n return Promise.reject(err);\r\n }\r\n);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\nfunction Toast(\r\n massage: any = \"\",\r\n messageType:\r\n | MessageType.confirm\r\n | MessageType.confirmDelete\r\n | MessageType.error\r\n | MessageType.info\r\n | MessageType.noDialog\r\n | MessageType.success\r\n | MessageType.warning,\r\n yesFunc?: any,\r\n data?,\r\n noFunc?\r\n) {\r\n const timeID = new Date().getTime() + \"toast\";\r\n let node;\r\n let showDataFlag = false;\r\n const toastStyle =\r\n messageType == MessageType.error\r\n ? \"error\"\r\n : messageType == MessageType.success\r\n ? \"success\"\r\n : messageType == MessageType.warning\r\n ? \"warning\"\r\n : messageType == MessageType.info\r\n ? \"info\"\r\n : messageType == MessageType.confirm\r\n ? \"warning\"\r\n : \"error\";\r\n\r\n const toastBackgroundColor =\r\n messageType == MessageType.error\r\n ? \"danger\"\r\n : messageType == MessageType.success\r\n ? \"success\"\r\n : messageType == MessageType.warning\r\n ? \"warning\"\r\n : messageType == MessageType.info\r\n ? \"info\"\r\n : messageType == MessageType.confirm\r\n ? \"warning\"\r\n : \"danger\";\r\n\r\n const customColor =\r\n messageType == MessageType.error\r\n ? \"#dc3545\"\r\n : messageType == MessageType.success\r\n ? \"#198754\"\r\n : messageType == MessageType.warning\r\n ? \"#ffc107\"\r\n : messageType == MessageType.info\r\n ? \"#0dcaf0\"\r\n : messageType == MessageType.confirm\r\n ? \"#ffc107\"\r\n : \"#dc3545\";\r\n\r\n\r\n \r\n const handleClick = (event) => {\r\n if (\r\n messageType == MessageType.success &&\r\n event.target !== document.getElementById(timeID)\r\n ) {\r\n document.getElementById(\"backScreen\")?.remove();\r\n document.getElementById(timeID)?.remove();\r\n }\r\n document.removeEventListener(\"click\", handleClick);\r\n };\r\n document.addEventListener(\"click\", handleClick);\r\n\r\n const yes = () => {\r\n document.getElementById(\"backScreen\")?.remove();\r\n document.getElementById(timeID)?.remove();\r\n if (yesFunc) {\r\n yesFunc();\r\n }\r\n };\r\n\r\n document.addEventListener(\"keydown\", (e: any) => {\r\n\r\n if (e.key === \"Tab\") {\r\n if (!document.getElementById(timeID)?.contains(e.target as any)) {\r\n e.preventDefault();\r\n }\r\n if (e.target.className == \"btn btn-danger py-0 mx-2\") {\r\n e.preventDefault();\r\n }\r\n if (e.target.className == \"btn btn-outline-danger py-0\") {\r\n e.preventDefault();\r\n }\r\n\r\n const yesBtn = document.getElementById(timeID + \"yes\") as any;\r\n const noBtn = document.getElementById(timeID + \"no\") as any;\r\n if (e.target === yesBtn) {\r\n noBtn.focus();\r\n e.preventDefault(); // جلوگیری از حرکت پیش‌فرض Tab\r\n }\r\n // اگر فوکوس روی دکمه دوم باشد، به دکمه اول برویم\r\n else if (document.activeElement === noBtn) {\r\n yesBtn.focus();\r\n e.preventDefault(); // جلوگیری از حرکت پیش‌فرض Tab\r\n }\r\n }\r\n });\r\n\r\n setTimeout(() => {\r\n document.getElementById(\"progress\")?.classList.add(\"active-progress\");\r\n }, 10);\r\n\r\n const no = () => {\r\n document.getElementById(\"backScreen\")?.remove();\r\n document.getElementById(timeID)?.remove();\r\n if (noFunc) {\r\n noFunc();\r\n }\r\n };\r\n const showData = (e) => {\r\n e.stopPropagation();\r\n const arrow = document.getElementById(\"arrow\") as any;\r\n if (showDataFlag) {\r\n let e = document.getElementById(timeID + \"UL\");\r\n var child = e?.lastElementChild;\r\n while (child) {\r\n e?.removeChild(child);\r\n child = e?.lastElementChild;\r\n }\r\n showDataFlag = false;\r\n arrow.classList.remove(\"arrowTop\");\r\n } else {\r\n let dataList2 = data.map((item, index) => {\r\n return `
\r\n ${trans(item.Message)\r\n ?.replaceAll(\"\\\\n\", \"
\")\r\n ?.replaceAll(\"n\\\\\", \"
\")\r\n ?.replaceAll(\"\\\\\\n\", \"
\")}\r\n
\r\n ${index !== data.length - 1 ? \"-----------\" : \"\"} \r\n
`;\r\n });\r\n document\r\n .getElementById(timeID + \"UL\")\r\n ?.insertAdjacentHTML(\"beforeend\", `${dataList2.join(\"\")}`);\r\n showDataFlag = true;\r\n arrow.classList.add(\"arrowTop\");\r\n }\r\n let parent = document.getElementById(timeID)?.clientHeight as any;\r\n let heightChild = document.getElementById(timeID + \"UL\")\r\n ?.clientHeight as any;\r\n let sideSection = document.getElementById(\"side-section\") as any;\r\n if (sideSection?.style) {\r\n sideSection.style.height = parent + heightChild + \"px\";\r\n }\r\n };\r\n const tanslatedText = trans(\r\n massage == undefined ? \"msg_serverexceptionerror\" : massage\r\n );\r\n\r\n if (\r\n messageType != MessageType.confirm &&\r\n messageType != MessageType.confirmDelete\r\n ) {\r\n if (data) {\r\n node = `\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n

\r\n ${tanslatedText\r\n .replaceAll(\"\\\\n\", \"
\")\r\n .replaceAll(\"n\\\\\", \"
\")}\r\n

\r\n
\r\n
\r\n
\r\n\r\n
\r\n
جزئیات
\r\n
\r\n
\r\n\r\n
`;\r\n } else {\r\n node = `\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n ${tanslatedText\r\n .replaceAll(\"\\\\n\", \"
\")\r\n .replaceAll(\"\\n\", \"
\")}\r\n

\r\n \r\n
\r\n \r\n
\r\n\r\n
boqq
\r\n
`;\r\n }\r\n } else {\r\n node = `\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
${\r\n messageType == MessageType.confirmDelete\r\n ? `\r\n \r\n `\r\n : `\r\n \r\n`\r\n }
\r\n

\r\n ${tanslatedText\r\n .replaceAll(\"\\\\n\", \"
\")\r\n .replaceAll(\"n\\\\\", \"
\")}\r\n

\r\n
\r\n
\r\n ${\r\n data\r\n ? `
\r\n
جزئیات
`\r\n : \"\"\r\n }\r\n \r\n
\r\n \r\n
\r\n\r\n
`;\r\n\r\n // else {\r\n // node = `\r\n //
\r\n //
\r\n // \r\n\r\n //
\r\n //
\r\n //
\r\n // ${messageType==MessageType.confirmDelete? `\r\n // \r\n // `:`\r\n // \r\n // `}\r\n //

\r\n // ${tanslatedText.replaceAll(\"\\\\n\", \"
\").replaceAll(\r\n // \"n\\\\\",\r\n // \"
\"\r\n // )}\r\n //

\r\n //
\r\n // \r\n //
\r\n\r\n //
\r\n\r\n //
`;\r\n // }\r\n }\r\n\r\n let toastEl = document.getElementById(\"tostErroreBox\");\r\n let add = false;\r\n\r\n if (\r\n messageType == MessageType.confirm ||\r\n messageType == MessageType.confirmDelete\r\n ) {\r\n if (!document.getElementsByClassName(\"alerttoast\").length) {\r\n toastEl?.insertAdjacentHTML(\"afterbegin\", node);\r\n add = true;\r\n }\r\n } else {\r\n toastEl?.insertAdjacentHTML(\"afterbegin\", node);\r\n add = true;\r\n }\r\n\r\n if (\r\n messageType == MessageType.confirm ||\r\n messageType == MessageType.confirmDelete\r\n ) {\r\n if (add) {\r\n document\r\n .getElementById(\"DashboardLayout\")\r\n ?.insertAdjacentHTML(\r\n \"afterbegin\",\r\n '
'\r\n );\r\n document\r\n .getElementById(\r\n timeID + (MessageType.confirmDelete === messageType ? \"no\" : \"yes\")\r\n )\r\n ?.focus();\r\n document.getElementById(timeID + \"yes\")?.addEventListener(\"click\", yes);\r\n document.getElementById(timeID + \"no\")?.addEventListener(\"click\", no);\r\n document.getElementById(timeID + \"close\")?.addEventListener(\"click\", no);\r\n document\r\n .getElementById(timeID + \"show\")\r\n ?.addEventListener(\"click\", showData);\r\n }\r\n } else {\r\n if (data) {\r\n document\r\n .getElementById(timeID + \"show\")\r\n ?.addEventListener(\"click\", showData);\r\n }\r\n document.getElementById(timeID + \"close\")?.addEventListener(\"click\", no);\r\n }\r\n if (\r\n messageType != MessageType.confirm &&\r\n messageType != MessageType.confirmDelete\r\n ) {\r\n if (data) {\r\n // setTimeout(()=>{\r\n // document.getElementById(timeID)?.remove()\r\n //\r\n // }, 5000)\r\n //\r\n } else {\r\n setTimeout(() => {\r\n document.getElementById(timeID)?.remove();\r\n }, 6000);\r\n }\r\n }\r\n\r\n /* let list:any = document.getElementById(\"tostErroreBox\")\r\n \r\n while (list && list.hasChildNodes()) {\r\n setInterval( list.removeChild(list.firstChild), 5000);\r\n }\r\n */\r\n}\r\n\r\nfunction ToastShow() {\r\n return
;\r\n}\r\n\r\nexport { ToastShow, Toast };\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport {\r\n GroupingPriceFunction,\r\n padWithZeros,\r\n RoundWithRoundingPlace,\r\n trans,\r\n validateInput,\r\n validateInputAsNumber,\r\n} from \"utils/helpers\";\r\nimport { REGEX } from \"utils/regex\";\r\nimport \"./style.scss\";\r\n\r\ninterface TextboxPropsType {\r\n labelText?: string;\r\n required?: boolean;\r\n useEval?: boolean;\r\n maxLength?: number;\r\n minLength?: number;\r\n minHeight?: number;\r\n min?: number;\r\n max?: number;\r\n textboxName: string;\r\n textboxType:\r\n | \"number\"\r\n | \"text\"\r\n | \"textarea\"\r\n | \"email\"\r\n | \"tel\"\r\n | \"mobile\"\r\n | \"userName\"\r\n | \"password\"\r\n | \"systemKey\"\r\n | \"formKey\"\r\n | \"nationalCode\"\r\n | \"birthCertNo\"\r\n | \"econNo\"\r\n | \"RegistryNumber\"\r\n | \"nationalIdentifier\"\r\n | \"PostalCode\"\r\n | \"format\"\r\n | \"unitCode\"\r\n | \"wareHouseCode\"\r\n | \"CodeFormat\"\r\n | \"Condition\";\r\n defaultValue?: any;\r\n value?: any;\r\n ExtraDescription?: any;\r\n mode?: any;\r\n readonly?: boolean;\r\n Change?: (ans: any) => void;\r\n onChange?: (ans: any) => void;\r\n setValid?: (ans: any) => void;\r\n onBlurHandler?: (ans: any) => void;\r\n resetForm?: boolean;\r\n autoFocus?: boolean;\r\n placeholder?: string;\r\n recordedData?: any;\r\n fixedlabel?: any;\r\n decimals?: any;\r\n round?: any;\r\n useTrans?: boolean;\r\n useGroupingPrice?: boolean;\r\n UsepadWithZeros?: boolean;\r\n capsLock?: boolean;\r\n fixedLanguage?: \"en\" | \"fa\" | null;\r\n withLabel?: any;\r\n customClass?:any;\r\n letterCounter?:any;\r\n withChangeDir?:any;\r\n usePrevDefaultValue?:any;\r\n step?:number\r\n asNumber?:boolean\r\n}\r\nexport const Textbox = React.memo(({\r\n withLabel = true,\r\n useEval = true,\r\n fixedLanguage = null,\r\n useGroupingPrice,\r\n UsepadWithZeros = false,\r\n decimals = null,\r\n round = true,\r\n capsLock = false,\r\n onBlurHandler,\r\n fixedlabel,\r\n autoFocus,\r\n useTrans = true,\r\n recordedData,\r\n ExtraDescription,\r\n min,\r\n max,\r\n labelText,\r\n required,\r\n textboxType,\r\n minHeight,\r\n minLength = 0,\r\n maxLength = 900,\r\n textboxName,\r\n value,\r\n defaultValue = \"\",\r\n Change,\r\n onChange,\r\n mode,\r\n readonly = false,\r\n resetForm,\r\n setValid,\r\n placeholder,\r\n customClass,\r\n letterCounter,\r\n withChangeDir=false,\r\n usePrevDefaultValue=false,\r\n step,\r\n asNumber=false//در صورتی که اینپوت با تایپ تکست همراه(،) برای جداسازی عدد ها نیاز داشته باشیم و بخواهیم به جز عدد کاراکتر دیگری قبول نکند.\r\n\r\n}: TextboxPropsType) => {\r\n const [TEXTBOX_VAL, setTEXTBOX_VAL] = useState((textboxType==\"text\"&&defaultValue==0)?defaultValue+\"\": defaultValue );\r\n const disabled = mode == \"view\" ? true : readonly ? true : false;\r\n let [regexMsgShow, setRegexMsgShow] = useState(false);\r\n let [maxLengthMsgShow, setMaxLengthMsgShow] = useState(false);\r\n let [requiredMsgShow, setRequiredMsgShow] = useState(false); // check and delete unnecessary state\r\n let [count,setCount]=useState(defaultValue?defaultValue.length:0)\r\n const inputRef=useRef()\r\n\r\n\r\n function Checkrequired(event) {\r\n maxLengthCheck(event);\r\n if (event.target.value.length == 0 && required) {\r\n setRequiredMsgShow(true);\r\n }\r\n onBlurHandler && onBlurHandler(event.target.value);\r\n if (UsepadWithZeros && maxLength) {\r\n setTEXTBOX_VAL(\r\n padWithZeros(maxLength, event.target.value ? event.target.value : \"\")\r\n );\r\n }\r\n if (decimals != null && event.target.value) {\r\n setTEXTBOX_VAL(\r\n RoundWithRoundingPlace(\r\n +event.target.value.replaceAll(\",\", \"\")\r\n ? +event.target.value.replaceAll(\",\", \"\")\r\n : 0,\r\n decimals\r\n ) + \"\"\r\n );\r\n }\r\n // setTEXTBOX_VAL(event);\r\n }\r\n\r\n function checkRegexValidation(event) {\r\n const hasNewLine = event.target.value.includes('\\n') || event.target.value.includes('\\r');//find enter key\r\n let newValue = event.target.value+\"\"\r\n if(hasNewLine){\r\n // event.target.value=event.target.value.replace(/[\\r\\n]+/g, '')//remove enter key\r\n }\r\n setRequiredMsgShow(false);\r\n if(letterCounter){\r\n setCount(event.target.value.length)\r\n }\r\n if (event.target.value != defaultValue) {\r\n Change &&\r\n Change({\r\n [textboxName]:\r\n event.target.value.length == 0 ? \" \" : event.target.value,\r\n });\r\n } else {\r\n Change && Change({ [textboxName]: null });\r\n }\r\n if (capsLock) {\r\n event.target.value = event.target.value.toUpperCase();\r\n }\r\n let valditaionRegex;\r\n let validationRegexResult;\r\n valditaionRegex = new RegExp(REGEX[textboxType].regex);\r\n validationRegexResult = valditaionRegex.test(event.target.value);\r\n\r\n if (!validationRegexResult) {\r\n event.target.setCustomValidity(REGEX[textboxType].valditionMsg);\r\n event.target.reportValidity();\r\n setRegexMsgShow(true);\r\n } else if (validationRegexResult) {\r\n event.target.setCustomValidity(\"\");\r\n setRegexMsgShow(false);\r\n }\r\n\r\n if((validateInput(event.target.value) && !asNumber) || ( validateInput(event.target.value) &&asNumber && validateInputAsNumber(event.target.value))){\r\n if(newValue&&useEval&& newValue.endsWith(\"=\")&& newValue.startsWith(\"=\")&&newValue.length>1){\r\n newValue= newValue.replaceAll(\"=\",\"\")\r\n newValue = eval(newValue)+\"\"\r\n inputRef.current.value=newValue\r\n }\r\n if(decimals!=null && inputRef.current ){\r\n inputRef.current.value = RoundWithRoundingPlace(useGroupingPrice?+newValue.replaceAll(\",\", \"\"):+newValue, decimals) \r\n }\r\n if(event.target.max && +newValue>+event.target.max){\r\n event.target.setCustomValidity(trans(\"Msg_Validation_InvalidMaxLength\"));\r\n event.target.reportValidity();\r\n setTEXTBOX_VAL(\r\n useGroupingPrice\r\n ? value.replaceAll(\",\", \"\")\r\n :value\r\n );\r\n onChange && onChange(event);\r\n }else{\r\n event.target.setCustomValidity(\"\");\r\n setTEXTBOX_VAL(\r\n useGroupingPrice\r\n ? newValue?.replaceAll(\",\", \"\")\r\n : newValue\r\n );\r\n onChange && onChange(event);\r\n }\r\n \r\n }\r\n\r\n\r\n }\r\n function maxLengthCheck(e) {\r\n e.stopPropagation();\r\n if (maxLength !== undefined && maxLength) {\r\n if (TEXTBOX_VAL && TEXTBOX_VAL?.length > maxLength) {\r\n // چون ست کردن یوز استیت یک قدم عقب تر است شرط == جواب میدهد\r\n e.target.setCustomValidity(trans(\"Msg_Validation_InvalidMaxLength\"));\r\n e.target.reportValidity();\r\n setMaxLengthMsgShow(true);\r\n let id = setTimeout(() => {\r\n setMaxLengthMsgShow(false);\r\n }, 2000); // هشدار حداکثر طول بعد از 3 ثانیه ناپدید می شود\r\n }else{\r\n e.target.setCustomValidity(\"\");\r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n if (UsepadWithZeros && maxLength && defaultValue) {\r\n setTEXTBOX_VAL(padWithZeros(maxLength, defaultValue));\r\n } else {\r\n if (decimals != null && defaultValue) {\r\n setTEXTBOX_VAL(RoundWithRoundingPlace(+defaultValue, decimals) + \"\");\r\n } else { \r\n setTEXTBOX_VAL((textboxType==\"text\"&&defaultValue==0)?defaultValue+\"\": defaultValue);\r\n }\r\n }\r\n }, [defaultValue ]);\r\n \r\n useEffect(() => {\r\n if (resetForm) setTEXTBOX_VAL(defaultValue); \r\n }, [resetForm]); \r\n\r\nuseEffect(()=>{\r\n if(usePrevDefaultValue ){ \r\n setTEXTBOX_VAL(RoundWithRoundingPlace(+defaultValue, decimals) + \"\");\r\n }\r\n},[usePrevDefaultValue])\r\n\r\n useEffect(() => {\r\n window.addEventListener(\r\n \"keydown\",\r\n (e) => {\r\n const target = e.target as HTMLElement;\r\n if (e.key === \"Enter\" && target.tagName !== \"TEXTAREA\") {\r\n e.preventDefault();\r\n }\r\n },\r\n true\r\n );\r\n return () => {\r\n window.removeEventListener(\r\n \"keydown\",\r\n (e) => {\r\n if (e.key === \"Enter\") {\r\n e.preventDefault();\r\n }\r\n },\r\n true\r\n );\r\n };\r\n }, []);\r\n const textChange = (title) => {\r\n var regex = /[\\u0600-\\u06FF]+/;\r\n var numRegex=/\\d+/g\r\n\r\n let text = \"\";\r\n title.split(\" \").forEach((item: any,index) => {\r\n if((regex.test(item as any))){\r\n text += item + \" \"\r\n }else{\r\n\r\n text +=\r\n ' '+ '
' +\r\n item +\r\n \"
\"+ ' '\r\n }\r\n\r\n });\r\n title=text\r\n return title.replaceAll(/\\d+/g, (i)=>{ return `
${i }
`})\r\n };\r\n const handleKeyDown = (event) => { \r\n if ( event.key !== \"Backspace\" \r\n && event.key !== \"Delete\"\r\n && event.key !== \"ArrowLeft\"\r\n && event.key !== \"ArrowRight\"\r\n && event.key !== \"-\"\r\n && event.key !== \"/\"\r\n && event.key !== \".\" && !/^\\d$/.test(event.key) )\r\n { event.preventDefault(); }\r\n };\r\n return (\r\n
\r\n
\r\n {withLabel && (\r\n \r\n {trans(labelText + \"\")}\r\n \r\n }\r\n >\r\n \r\n {labelText && (\r\n \r\n )}\r\n {required && labelText && (\r\n \r\n *\r\n \r\n )}\r\n
\r\n \r\n )}\r\n {(ExtraDescription ||\r\n (mode == \"edit\" &&\r\n recordedData != undefined &&\r\n recordedData != TEXTBOX_VAL) ||\r\n (mode == \"create\" &&\r\n recordedData != TEXTBOX_VAL &&\r\n TEXTBOX_VAL != undefined &&\r\n TEXTBOX_VAL.length > 0 &&\r\n recordedData != undefined)) && (\r\n <>\r\n \r\n {trans(\"PreviousValue\") + \" : \" + recordedData}\r\n \r\n }\r\n >\r\n \r\n \r\n {!ExtraDescription && (\r\n {\r\n setTEXTBOX_VAL(recordedData);\r\n onChange && onChange({ recordedData });\r\n }}\r\n style={{ marginRight: \"5px\" }}\r\n icon={[\"fas\", \"undo\"]}\r\n className=\"text-primary pr-2\"\r\n />\r\n )}\r\n \r\n \r\n \r\n )}\r\n
\r\n 0 &&\r\n !ExtraDescription ? (\r\n \r\n {TEXTBOX_VAL ? TEXTBOX_VAL : \"\"}\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n >\r\n {textboxType === \"textarea\" ? (\r\n e.stopPropagation()}\r\n className={`text-box__textarea form-control ${\r\n required && \" required-input\"\r\n } `}\r\n onChange={checkRegexValidation}\r\n maxLength={maxLength ? maxLength : 900}\r\n required={required}\r\n disabled={disabled}\r\n placeholder={placeholder}\r\n >\r\n ) : (\r\n {\r\n e.stopPropagation();\r\n if(textboxType==\"number\"){handleKeyDown(e)}\r\n }}\r\n onBlur={Checkrequired}\r\n autoComplete=\"off\"\r\n name={textboxName}\r\n onMouseDown={(e) => e.stopPropagation()}\r\n value={\r\n TEXTBOX_VAL\r\n ? useGroupingPrice\r\n ? GroupingPriceFunction(TEXTBOX_VAL)\r\n : TEXTBOX_VAL\r\n : \"\"\r\n }\r\n type={textboxType}\r\n className={` text-box__box ${\r\n textboxType == \"number\" ||\r\n textboxType == \"tel\" ||\r\n useGroupingPrice\r\n ? \" form-control NumberFontSize \"\r\n : \"form-control\" \r\n } ${required && \" required-input\"} ${customClass?customClass:''}`}\r\n onChange={(e)=>{inputRef.current.focus() ;checkRegexValidation(e)}}\r\n \r\n maxLength={maxLength ? maxLength:undefined}\r\n minLength={minLength ?minLength:undefined }\r\n required={required}\r\n disabled={disabled}\r\n style={{\r\n padding: fixedlabel\r\n ? `5px 5px 5px ${fixedlabel.length * 12}px`\r\n : \"\",\r\n direction:\r\n textboxType == \"email\" ||\r\n textboxType == \"systemKey\" ||\r\n textboxType == \"formKey\" ||\r\n // textboxType == \"number\" ||\r\n fixedlabel ||\r\n fixedLanguage == \"en\" ||\r\n labelText?.includes(\"EN\")\r\n ? \"ltr\"\r\n : \"unset\",\r\n }}\r\n />\r\n )}\r\n \r\n {fixedlabel && (\r\n \r\n )}\r\n
\r\n {required && (\r\n \r\n {trans(\"Msg_Validation_ValueIsRequired\", [\"\"])}\r\n \r\n )}\r\n\r\n\r\n{\r\n withChangeDir &&\r\n \r\n \r\n\r\n}\r\n{\r\n letterCounter &&\r\n \r\n {count+'/'+maxLength} {trans('character')} \r\n\r\n}\r\n\r\n \r\n {(textboxType&&TEXTBOX_VAL && TEXTBOX_VAL !== \"\" ) ? REGEX[textboxType].valditionMsg:null}\r\n \r\n {maxLength ? (\r\n {`${trans(\"Msg_Validation_InvalidMaxLength\")}`}\r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n );\r\n});\r\n\r\n\r\n\r\n","import axios from \"axios\";\r\nimport { AUTH_TOKEN_URL, AUTH_URL_CALL } from \"./constants\";\r\nimport { urlParams } from \"./helpers\";\r\nimport { promises } from \"dns\";\r\nexport let UserTabs: any = [];\r\nlet forbiddenCount =0\r\n\r\nconst clearCacheStorage = async () => {\r\n try {\r\n const cacheNames = await caches.keys();\r\n await Promise.all(cacheNames.map(cache => caches.delete(cache)));\r\n console.log('Cache storage cleared!');\r\n } catch (error) {\r\n console.error('Error clearing cache storage:', error);\r\n }\r\n };\r\n\r\nconst getToken = (code: any, code_verifier: any) => {\r\n \r\n axios({\r\n url: AUTH_TOKEN_URL,\r\n method: 'post',\r\n headers: {\r\n \"Accept\": \"*/*\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n \"Authorization\": \"Basic \" + process.env.REACT_APP_AUTH,//ReactClientId:bae8ef2b-b621-f3b1-00ae-e48a4e49ed19\r\n },\r\n timeout: 40000,\r\n data:\r\n \"grant_type=authorization_code\" +\r\n \"&code=\" + code +\r\n \"&client_id=\" + process.env.REACT_APP_AUTH_CLIENT_ID +\r\n \"&client_secret=\" + process.env.REACT_APP_AUTH_SECRET +\r\n \"&redirect_uri=\" + process.env.REACT_APP_AUTH_REDIRECT_URL +\r\n \"&code_verifier=\" + code_verifier +\r\n \"&scope=\" + process.env.REACT_APP_AUTH_CLIENT_SCOPE\r\n }).then((response) => {\r\n localStorage.removeItem('codeverfier');\r\n localStorage.setItem(\"token\", response.data.access_token);\r\n localStorage.setItem(\"id_token\", response.data.id_token);\r\n localStorage.setItem(\"refresh_token\", response.data.refresh_token);\r\n localStorage.setItem(\"token_expire\", response.data.expires_in);\r\n var exp = Date.now() + (response.data.expires_in * 1000);\r\n localStorage.setItem(\"token_expire_date\", exp.toString());\r\n document.cookie = \"logedIn=true\"\r\n window.location.href =\"/\"\r\n return response\r\n }).catch((error) => {\r\n forbiddenCount +=1\r\n if(forbiddenCount==5){\r\n clearCacheStorage()\r\n }\r\n localStorage.removeItem('codeverfier');\r\n attempt()\r\n return Promise.reject(error)\r\n \r\n });\r\n}\r\n\r\n\r\n\r\nasync function refreshToken() {\r\n let res = true;\r\n var expire: any = localStorage.getItem(\"token_expire_date\");\r\n\r\n if (Date.now() >= expire) {\r\n await axios({\r\n url: AUTH_TOKEN_URL,\r\n method: 'post',\r\n headers: {\r\n \"Accept\": \"*/*\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded\",\r\n \"Authorization\": \"Basic \" + process.env.REACT_APP_AUTH,\r\n },\r\n timeout: 40000,\r\n data:\r\n \"grant_type=refresh_token\" +\r\n \"&refresh_token=\" + localStorage.getItem(\"refresh_token\") +\r\n \"&scope=offline_access\" +\r\n \"&client_id=\" + process.env.REACT_APP_AUTH_CLIENT_ID +\r\n \"&client_secret=\" + process.env.REACT_APP_AUTH_SECRET +\r\n \"&redirect_uri=\" + process.env.REACT_APP_AUTH_REDIRECT_URL\r\n }).then((response) => {\r\n localStorage.setItem(\"id_token\", response.data.id_token);\r\n localStorage.setItem(\"refresh_token\", response.data.refresh_token);\r\n localStorage.setItem(\"token\", response.data.access_token);\r\n localStorage.setItem(\"token_expire\", response.data.expires_in);\r\n var exp = Date.now() + (response.data.expires_in * 1000);\r\n document.cookie = \"logedIn=true\"\r\n localStorage.setItem(\"token_expire_date\", exp.toString());\r\n }).catch((error) => {\r\n localStorage.setItem(\"catch-token\",JSON.stringify(error) );\r\n const Idtoken = localStorage.getItem(\"id_token\");\r\n localStorage.removeItem(\"token\");\r\n localStorage.removeItem(\"refresh_token\");\r\n localStorage.removeItem(\"id_token\");\r\n localStorage.removeItem(\"token_expire\");\r\n localStorage.removeItem(\"CurrentApplication\");\r\n \r\n if (UserTabs.length == 0) {\r\n const openedlogoutWindow = window.open(\r\n `${process.env.REACT_APP_AUTH_URL}/endsession?id_token_hint=${Idtoken}&post_logout_redirect_uri=${process.env.REACT_APP_AUTH_REDIRECT_URL}`\r\n );\r\n \r\n UserTabs = [...UserTabs, openedlogoutWindow];\r\n }\r\n \r\n UserTabs?.forEach((item) => {\r\n item?.close();\r\n });\r\n UserTabs = [];\r\n \r\n window.location.href = \"/\";\r\n res = false;\r\n \r\n });\r\n \r\n }\r\n return res;\r\n}\r\n\r\nfunction authentication() {\r\n const pkceChallenge = require(\"pkce-challenge\");\r\n const challenge = pkceChallenge(43);\r\n localStorage.setItem('codeverfier', challenge.code_verifier);\r\n window.location.href = AUTH_URL_CALL + challenge.code_challenge;\r\n //window.location.href = process.env.REACT_APP_CURRENT_URL +\"/\"\r\n \r\n}\r\nfunction isTokenExpired() {\r\n var expire: any = localStorage.getItem(\"token_expire_date\");\r\n if (Date.now() >= expire) {\r\n localStorage.removeItem(\"token_expire\")\r\n return true;\r\n }else{\r\n document.cookie = \"logedIn=true\"\r\n return false;\r\n }\r\n}\r\n async function checkTokenExpire() {\r\n var res = true\r\n if (isTokenExpired()) {\r\n res =await refreshToken();\r\n }else{\r\n document.cookie = \"logedIn=true\"\r\n }\r\n return res\r\n}\r\nfunction attempt() {\r\n let res:any = true\r\n if (localStorage.getItem(\"token\")) {\r\n // check expiration\r\n res = checkTokenExpire();\r\n }\r\n else {\r\n if (localStorage.getItem('codeverfier') && urlParams().code != undefined) {\r\n var verifier_ = localStorage.getItem('codeverfier');\r\n var code = urlParams().code;\r\n // setResult(true);\r\n getToken(code, verifier_);\r\n }\r\n else {\r\n authentication();\r\n }\r\n }\r\n return res\r\n \r\n\r\n}\r\n\r\nexport const auth = {\r\n attempt,\r\n getToken,\r\n refreshToken,\r\n checkTokenExpire,\r\n}","import { trans } from \"utils/helpers\"\r\nexport const REGEX = {\r\n number: {\r\n //regex: \"^[0-9]|Backspace|Delete|ArrowRight|ArrowLeft|Home|End|Tab+$\",\r\n regex: \"^-?([0-9]+|[0-9]*\\.[0-9]+)$\",\r\n valditionMsg: trans('Msg_Validation_InvalidCharacter'),\r\n },\r\n text: {\r\n regex: \".*$\",\r\n valditionMsg: trans('Msg_Validation_InvalidCharacter'),\r\n },\r\n textarea: {\r\n regex: \".*$\\r?\\n?\",\r\n valditionMsg: trans('Msg_Validation_InvalidCharacter'),\r\n },\r\n email: {\r\n regex: \"^[a-zA-Z0-9._:$!%-]+@[a-zA-Z0-9.-]+.[a-zA-Z]$\",\r\n valditionMsg: trans(\"Msg_Validation_InvalidCharacter\"),// این رجکس رو توی استک اور فلو پیدا کردم\r\n },\r\n tel: {\r\n regex: \"^[0-9]{1,15}$\",\r\n valditionMsg: trans(\"Msg_Validation_ValueIsIncorrect\"),\r\n },\r\n mobile: {\r\n regex: \"^0-?[0-9]{10}$\",\r\n valditionMsg: trans(\"Msg_Validation_ValueIsIncorrect\"),\r\n },\r\n PostalCode: {\r\n regex: \"^[0-9]{10}$\",\r\n valditionMsg: trans(\"Msg_Validation_ValueIsIncorrect\"),\r\n },\r\n userName: {\r\n regex: \"^[a-zA-Z0-9@_]*$\",\r\n valditionMsg: trans(\"Msg_Validation_InvalidCharacter\"),\r\n },\r\n systemKey: {\r\n regex: \"^[a-zA-Z0-9]*$\",\r\n valditionMsg: trans(\"Msg_Validation_InvalidFormat\"),\r\n },\r\n formKey: {\r\n regex: \"[a-zA-Z0-9_]*$\",\r\n valditionMsg: trans(\"Msg_Validation_InvalidFormat\"),\r\n },\r\n nationalCode: {\r\n regex: \"^[0-9]{10}$\",\r\n valditionMsg: trans(\"Msg_Validation_ValueIsIncorrect\"),\r\n },\r\n nationalIdentifier: {\r\n regex: \"^[0-9]{10,14}$\",\r\n valditionMsg: trans(\"Msg_Validation_ValueIsIncorrect\"),\r\n },\r\n econNo: {\r\n regex: \"^[0-9]{10,14}$\",\r\n valditionMsg: trans(\"Msg_Validation_ValueIsIncorrect\"),\r\n },\r\n RegistryNumber: {\r\n regex: \"^[0-9]{4,10}$\",\r\n valditionMsg: trans(\"Msg_Validation_ValueIsIncorrect\"),\r\n },\r\n birthCertNo: {\r\n regex: \"^[0-9]{1,10}$\",\r\n valditionMsg: trans(\"Msg_Validation_ValueIsIncorrect\"),\r\n },\r\n actualTime: {\r\n regex: \"^[0-9][0-9]:[0-6][0-9]$\",\r\n valditionMsg: trans(\"Msg_Validation_InvalidFormat\"),\r\n\r\n },\r\n\r\n password: {\r\n // regex: \"(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{8,}\",\r\n // regex: \"^\\w{4}$\",\r\n regex: \"^[A-Za-z0-9\\s$&+,:;=?@#|'<>.^*()%!-]{4,}$\",\r\n valditionMsg: trans(\"Msg_Validation_InvalidCharacter\"),\r\n },\r\n datePicker: {\r\n regex:\"^1[3-5][0-9][0-9]{1}$\",\r\n valditionMsg: trans(\"Msg_Validation_InvalidFormat\"),\r\n },\r\n format:{\r\n regex:\"[A-Z]\",\r\n valditionMsg: trans(\"Msg_Validation_InvalidCharacter\"),\r\n },\r\n unitCode:{\r\n regex:\"[0-9]{3,}\",\r\n valditionMsg: trans(\"Msg_Validation_InvalidFormat\"),\r\n },\r\n wareHouseCode:{\r\n regex:\"[0-9]{1,3}\",\r\n valditionMsg: trans(\"msg_validation_valueisincorrect\")\r\n },\r\n CodeFormat:{\r\n regex:\"^A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*$\",\r\n valditionMsg: trans(\"msg_invalidcodeformat\")\r\n },\r\n Condition:{\r\n regex:\"^[a-zA-Z0-9@!=&><+*%, (, )]*$\",\r\n valditionMsg: trans(\"msg_invalidcodeformat\")\r\n },\r\n Guid:{\r\n regex:\"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$\",\r\n valditionMsg: trans(\"msg_invalidcodeformat\")\r\n }\r\n\r\n}\r\n\r\n/* \"Msg_Validation_ErrorInvalidLength\tطول مجاز رعایت نشده است\t\r\nMsg_Validation_InvalidCharacter\tکاراکتر غیرمجاز\t\r\nMsg_Validation_InvalidFormat\tفرمت غیرمجاز\t\r\nMsg_Validation_PasswordAndConfirmPasswordIsNotSame\tرمز عبور و تکرار آن یکسان نیستند\t\r\nMsg_Validation_ValidMaxLength\tحداکثر طول مجاز\t\r\nMsg_Validation_ValidMinLength\tحداقل طول مجاز\t\r\nMsg_Validation_ValidMinMaxLength\tحداقل و حداکثر طول مجاز\t\r\nMsg_Validation_ValueIsIncorrect\tمقدار صحیح نمی باشد\t\r\nMsg_Validation_ValueIsRequired\tمقدار نمی تواند خالی باشد\t\r\n\" */","import React, { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nexport const Loading = () => {\r\n\r\n let langueg = localStorage.getItem(\"lang\");\r\n\r\n\r\n\r\n return (\r\n
\r\n
\r\n
{trans(\"Loading\")}
\r\n
\r\n
\r\n );\r\n};\r\n","import { trans } from \"utils/helpers\"\r\nimport \"./style.scss\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\ninterface ButtonPropsType {\r\n btnType: \"submit\" | \"cancel\" | \"primary\"|\"primaryFill\" ,\r\n onClick?: (e:any) => void,\r\n value: string | JSX.Element,\r\n disabled?: boolean\r\n Icon?: boolean\r\n outline?: boolean\r\n form?: string\r\n ref?: any\r\n customClass?:any\r\n \r\n}\r\nexport const Button = ({ref, btnType, onClick, customClass,value,outline=true, disabled,Icon=false , form}: ButtonPropsType ,) => {\r\n\r\n const timeIDRef = useRef(new Date().getTime() + \"Button\");\r\n\r\n\r\n useEffect(() => {\r\n \r\n let flag = true\r\n const callback = (event: KeyboardEvent) => {\r\n if(!Icon){\r\n\r\n if(( event.ctrlKey && event.keyCode == 83)&&btnType==\"submit\" ){\r\n event.preventDefault()\r\n event.stopPropagation()\r\n document.getElementById(timeIDRef.current+btnType)?.click()\r\n return false \r\n } \r\n if(event.key == \"Escape\"&&btnType ==\"cancel\"){ \r\n event.stopPropagation()\r\n event.preventDefault()\r\n document.getElementById(timeIDRef.current+btnType)?.click()\r\n \r\n return false\r\n }\r\n }\r\n };\r\n \r\n document.addEventListener('keydown', callback);\r\n\r\n \r\n return () => {\r\n document.removeEventListener('keydown', callback);\r\n };\r\n }, []);\r\n\r\n \r\n return (\r\n <>\r\n {typeof (value) == \"string\" ?\r\n \r\n : value\r\n } \r\n \r\n\r\n )\r\n}","// import { trans } from \"../utils/helpers\"\r\nimport { useEffect, useState, useRef } from \"react\";\r\nimport { trans } from \"utils/helpers\"\r\nimport \"./style.scss\"\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\ninterface checkableButtonPropsType {\r\n labelText: any,\r\n labelFalseText?: any,\r\n defaultValue?:any,\r\n inputName?: string,\r\n mode?: string,\r\n width?: string,\r\n checked?: any,\r\n title?: any,\r\n value?:any,\r\n labelNowrap?: any,\r\n readOnly?: boolean,\r\n defaultChecked? : boolean,\r\n useTrans? : boolean,\r\n required?: boolean,\r\n type: \"checkbox\" | \"radio\" | \"checkradio\",\r\n onclick?: (e:any) => void;\r\n Change?: (e:any) => void;\r\n onchange?: (e:any ,event?:any) => void\r\n}\r\nexport const CheckableButton = ({width=\"100%\" ,value ,required, useTrans=true, labelText,labelNowrap=false, defaultValue, inputName, type, mode,title, checked =false, defaultChecked,Change, onchange ,onclick ,readOnly ,labelFalseText}: checkableButtonPropsType) => {\r\n const [check, setCheck] = useState(checked);\r\n const [loading, setloading] = useState(false);\r\n useEffect(() => {\r\n \r\n setloading(true)\r\n setCheck(checked)\r\n }, [checked]);\r\n useEffect(() => {\r\n if(loading){\r\n setloading(false)\r\n\r\n }\r\n \r\n }, [loading]);\r\n\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport Select from \"react-select\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\n\r\nimport \"./style.scss\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n// extends React.HTMLAttributes \r\ninterface Props {\r\n selectType: \"select\" | \"selectImg\" | \"selectThin\" | \"selectIcon\" | 'multiSelect';\r\n options?: any[];\r\n value?: any;\r\n lable?: string,\r\n mode?: string,\r\n required?: boolean;\r\n showOption?: boolean;\r\n resetForm?: boolean;\r\n // children?:any,\r\n name: string,\r\n val: any[],\r\n useTrans?:boolean,\r\n onChange?: (e) => void,\r\n onClick?: (e) => void,\r\n icons?: any;\r\n recordedData?:any;\r\n isDisabled?:any;\r\n Change?:any\r\n\r\n}\r\n\r\nexport const SelectBox: React.FC = React.forwardRef(({ recordedData,Change,useTrans=true, selectType,onClick, onChange,showOption=true , options, val, value, lable, required, name, mode ,resetForm, icons,isDisabled}, ref: any) => {\r\n const disabled = (mode == \"view\" || isDisabled ? true : false);\r\n const defaultvalue = value ? value : (val ? val[0] : undefined)\r\n const [selectedValue, setSelectedValue] = useState(defaultvalue);\r\n\r\n const currentValueIndex = val && val.findIndex(item => item === defaultvalue)\r\n const colourStyles = {\r\n menuPortal: base => ({ ...base, zIndex: 99999999 }),\r\n option: (styles, { data, isDisabled, isFocused, isSelected }) => {\r\n return {\r\n ...styles,\r\n // backgroundColor: (isSelected ||isFocused) ? 'blue' : 'white',\r\n // color: (isSelected ||isFocused) ? 'white' : 'black',\r\n cursor: 'pointer',\r\n\r\n }\r\n },\r\n \r\n control: (provided, state) => ({\r\n ...provided,\r\n minHeight: '30px',\r\n height: '30px',\r\n\r\n }),\r\n\r\n valueContainer: (provided, state) => ({\r\n ...provided,\r\n height: '30px',\r\n padding: '0 6px',\r\n cursor:'pointer'\r\n\r\n \r\n }),\r\n\r\n input: (provided, state) => ({\r\n ...provided,\r\n margin: '0px',\r\n \r\n }),\r\n indicatorsContainer: (provided, state) => ({\r\n ...provided,\r\n height: '30px',\r\n \r\n }),\r\n menuList: (provided) => ({\r\n ...provided,\r\n maxHeight: '400px', // ارتفاع لیست کشویی داخلی\r\n overFlow:'auto'\r\n }),\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(value){\r\n setSelectedValue(value)\r\n // Change && Change(value)//درصورتی ک مقدار داشته باشیم و بخواهیم بدون رویداد آنچیج، کال بک برگردانیم به کامپوننت والد برای استفاده از مقدار و ست کردن استیت در والد\r\n }else{\r\n Change && Change(!!val?.length?val[0]:'')//درصورتی ک مقدار دنداریم و بخواهیم بدون رویداد آنچیج،اولین عنصر آرایه را به صورت کال بک برگردانیم به کامپوننت والد برای استفاده از مقدار و ست کردن استیت در والد\r\n }\r\n }, [value,val?.length]);\r\n\r\n return selectType == \"selectImg\" ? (\r\n )\r\n : selectType == \"selectIcon\" ? (\r\n <>\r\n {lable ?\r\n
\r\n \r\n {required ? * : ''}\r\n
\r\n :\r\n null}\r\n \r\n \r\n \r\n )\r\n : (\r\n <>\r\n
\r\n {lable ?\r\n \r\n {trans(lable)}\r\n \r\n }>\r\n\r\n
\r\n \r\n {required ? * : ''}\r\n
\r\n \r\n :\r\n null}\r\n {/* Create Mode in SelectBox ?? */}\r\n {((mode==\"edit\" && recordedData!=undefined&& recordedData != selectedValue)||(mode==\"create\"&&recordedData != selectedValue&&selectedValue!=undefined&&selectedValue.length>0&& recordedData!=undefined )) &&\r\n <>\r\n \r\n {trans(\"PreviousValue\")+ \" : \" + useTrans ? trans(options?.[(val.indexOf(recordedData+\"\"))]) : (options?.[(val.indexOf(recordedData+\"\"))])}\r\n \r\n }>\r\n \r\n \r\n {setSelectedValue(recordedData); onChange && onChange({target:{value: recordedData}})}} style={{marginRight:\"5px\"}} icon={[\"fas\", \"undo\"]} className=\"text-primary pr-2\"/>\r\n \r\n \r\n \r\n }\r\n
\r\n \r\n \r\n );\r\n \r\n});\r\n\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n\r\ninterface InputLoadPropsType {\r\n labelText?: string,\r\n msg?: string,\r\n onClick: () => void,\r\n required?:boolean\r\n}\r\nexport const InputLoad = ({ labelText , onClick , required , msg}: InputLoadPropsType) => {\r\n const [rotate , setRotate] = useState(false);\r\n\r\n\r\n return (\r\n\r\n <>\r\n\r\n\r\n {trans(labelText+\"\")}\r\n \r\n }\r\n >\r\n
\r\n {labelText ? (\r\n
\r\n \r\n {required ? * : \"\"}\r\n
\r\n ) : null}\r\n
\r\n \r\n {}} value={\"\"} onChange={()=>{}} onClick={onClick} className=\"sync-box \" />\r\n
{setRotate(true) ; onClick() ; setTimeout(()=>{ setRotate(false) }, 1500)}} > \r\n \r\n
\r\n
\r\n {msg ? \"مقادیر دریافت نشد \"+msg : \" \"}\r\n
\r\n\r\n \r\n \r\n )\r\n}","import { SelectBox } from \"components/Select/Select\";\r\nimport { CheckableButtonList } from \"components/CheckableButtonList/CheckableButtonList\";\r\nimport React, { InputHTMLAttributes, useEffect, useState } from \"react\";\r\nimport { Enumeration } from \"types/types\";\r\nimport { getEnumerationTypeSelectApi } from \"./api\"\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { setDefaultPersonSignatureApi } from \"pages/OfficeAutomation/BaseInformation/PersonSignature/api\";\r\n\r\ninterface EnumerationTypeSelectProp extends InputHTMLAttributes {\r\n label: string;\r\n name: string;\r\n value?: any;\r\n mode?: any;\r\n enumTypeSelect?:string;\r\n Change?: (ans: any) => void,\r\n onChange?:(data:any)=>void,\r\n required?: boolean,\r\n recordedData?:any\r\n}\r\nexport const EnumerationTypeSelect = React.memo(({enumTypeSelect, label, name=\"\", value,onChange,Change ,mode, required ,recordedData}: EnumerationTypeSelectProp) => {\r\n const [optionsEnumerationTypeSelect, setEnumerationTypeSelect] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [errcode, setErrcode] = useState();\r\n\r\n\r\n\r\n const getEnumerationTypeSelectAsync = async ()=>{\r\n setLoading(false)\r\n try {\r\n const res = await getEnumerationTypeSelectApi(enumTypeSelect)\r\n setEnumerationTypeSelect(res?.Data)\r\n \r\n console.log(Object.keys(res?.Data)[0],'test');\r\n onChange&& onChange(Object.keys(res?.Data)[0] )\r\n } catch (error:any) {\r\n setErrcode(error.response?.status)\r\n\r\n }\r\n setLoading(true)\r\n }\r\n\r\n const onChangeHandler = (e) =>{\r\n if(onChange){onChange(e.target.value)};\r\n\r\n if(e.target.value != (value?value:Object.keys(optionsEnumerationTypeSelect as Enumeration)[0]) ){\r\n Change&&Change({[name] :e.target?.value})\r\n }else{\r\n Change&&Change({[name] :null}) \r\n }\r\n }\r\n \r\n\r\n useEffect(() => {\r\n getEnumerationTypeSelectAsync()\r\n return () => {\r\n \r\n setErrcode(\"\")\r\n };\r\n }, []);\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n \r\n {optionsEnumerationTypeSelect && loading ?\r\n {onChangeHandler(e);}}\r\n lable={label}\r\n required={required} \r\n selectType=\"select\"\r\n value={value?value:Object.keys(optionsEnumerationTypeSelect as Enumeration)[0]}\r\n options={Object.values(optionsEnumerationTypeSelect as Enumeration)}\r\n val={Object.keys(optionsEnumerationTypeSelect as Enumeration)}\r\n name={name}\r\n mode={mode}\r\n useTrans={true}\r\n recordedData={recordedData}\r\n >\r\n : \r\n }\r\n \r\n );\r\n});\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getEnumerationTypeSelectApi =( async (enumerationType) => await http({\r\n url: ENDPOINTS.enumeration,\r\n method: 'get',\r\n params: {\r\n enumerationType\r\n }\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\n","import { Toast } from \"components/ToastShow/ToastShow\";\r\nimport { REPORT_URL } from \"utils/constants\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getReport = (objectTag) => http({\r\n baseURL:REPORT_URL ,\r\n url: ENDPOINTS.reportST.report.dictionary,\r\n method: 'get',\r\n params: {\r\n objectTag: objectTag\r\n }\r\n}).then((response) => (response.data))\r\n\r\n\r\n\r\n\r\n\r\nexport const postReport =( async (data) => await http({\r\n baseURL:REPORT_URL ,\r\n url: ENDPOINTS.reportST.report.browsTemplate,\r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n)\r\n\r\n\r\nexport const removeReport =( async (Id) => await http({\r\n baseURL:REPORT_URL ,\r\n url: ENDPOINTS.reportST.report.reportTemplate,\r\n method: 'delete',\r\n params: {\r\n id:Id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)\r\nexport const setAsDefaultReport =( async (Id,objectTag) => await http({\r\n baseURL:REPORT_URL ,\r\n url: ENDPOINTS.reportST.report.setDefault,\r\n method: 'put',\r\n params: {\r\n reportTemplateId:Id,\r\n objectTag:objectTag\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)\r\nexport const getApplications = () => http({\r\n url: ENDPOINTS.application.browse,\r\n method: 'get',\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { Button } from \"components/Button/Button\"\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\"\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\"\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\"\r\nimport { Textbox } from \"components/Textbox/Textbox\"\r\nimport { Toast } from \"components/ToastShow/ToastAlert\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { MessageType } from \"types/enum\"\r\nimport { ICON_TYPE } from \"utils/constants\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { getReport, postReport, removeReport, setAsDefaultReport } from \"./api\"\r\nimport \"./style.scss\"\r\n\r\n\r\ninterface ButtonToolbarprint {\r\n onClick?: () => void,\r\n Callback: (id: any) => void,\r\n objectTag?: string,\r\n reportDomain?: string,\r\n customBtn?:boolean\r\n\r\n}\r\nexport const ButtonPrintIcon=({ customBtn,Callback,objectTag,reportDomain }:ButtonToolbarprint ) => {\r\n const buttonToolbarReportStarting = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState()\r\n const [selectoptions, setSelectOptions] = useState()\r\n const [showCreateReport, setShowCreateReport] = useState(false)\r\n const [reportName, setReportName] = useState()\r\n const [reportPath, setReportPath] = useState()\r\n const [scope, setScope] = useState()\r\n\r\n const [loading, setLoading] = useState()\r\n const [rotate , setRotate] = useState(false);\r\n const [showOperations, setShowOperations] = useState(false);\r\n const formButton = useRef();\r\n const showOperationsRef = useRef(false);\r\n const formRef=useRef()\r\n const boxRef=useRef()\r\n\r\n\r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n async function sendDataAsync(data) {\r\n \r\n try {\r\n const res = await postReport(data)\r\n Callback && Callback(res.Data+\"Design\")\r\n setShowCreateReport(false)\r\n getDataAsync()\r\n } catch (error) {\r\n \r\n }\r\n\r\n\r\n }\r\n async function getDataAsync() {\r\n let option:any = []\r\n setRotate(true)\r\n setLoading(false)\r\n try { \r\n if(objectTag){\r\n const res = await getReport(objectTag)\r\n Object.keys(res).map(item=>{ \r\n option.push({Id:item,Name :res[item].Title })\r\n })\r\n }\r\n option.push({Id:\"Design\" ,Name :\"create\" })\r\n setOptions(option)\r\n setLoading(true)\r\n } catch (error) {\r\n let option:any = []\r\n option.push({Id:\"Design\" ,Name :\"create\" })\r\n setOptions(option)\r\n setLoading(true)\r\n }\r\n \r\n }\r\n\r\n\r\n function clickToCloseSubMenu(e){\r\n if(e.target.type != \"button\")\r\n setShowSubMenu(false)\r\n document.removeEventListener(\"click\" ,clickToCloseSubMenu)\r\n }\r\n function hideSubMenuFunction(e) {\r\n document.addEventListener(\"click\",clickToCloseSubMenu)\r\n \r\n }\r\n\r\n\r\n function selectboxValSetter(id) {\r\n setSelectOptions(id)\r\n if(id != \"Design\"){\r\n Callback && Callback(id);\r\n }else{\r\n setShowCreateReport(true)\r\n }\r\n setShowSubMenu(false)\r\n if(buttonToolbarReportStarting.current) (buttonToolbarReportStarting.current as HTMLButtonElement).blur();\r\n \r\n }\r\n async function removeReportAsync(id) {\r\n try {\r\n await removeReport(id)\r\n getDataAsync()\r\n } catch (error) {\r\n \r\n }\r\n }\r\n async function setasdefault(id) {\r\n try {\r\n await setAsDefaultReport(id,objectTag)\r\n showOperationsRef.current = false\r\n setShowOperations(false)\r\n getDataAsync()\r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n function formSubmit(e){\r\n e.preventDefault()\r\n let report= {\r\n PrintTemplateName: reportName,\r\n // PrintTemplateNameEN:\r\n PrintTemplateFileName:reportPath+\".mrt\",\r\n objectTag: objectTag,\r\n scope: +scope,\r\n IsDefault:formRef.current?.IsDefault.checked\r\n }\r\n sendDataAsync(report);\r\n }\r\n \r\n useEffect(() => {\r\n if(showSubMenu){\r\n\r\n getDataAsync()\r\n }\r\n }, [objectTag,showSubMenu]);\r\n\r\n return (\r\n\r\n <> \r\n {showCreateReport &&\r\n { setShowCreateReport(false) }} show={showCreateReport}>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {setReportName(e.target.value)}}\r\n defaultValue={\"\"}\r\n labelText=\"PrintTemplateName\"\r\n mode={\"edit\"}\r\n />\r\n
\r\n
\r\n {setReportPath(e.target.value)}}\r\n defaultValue={\"\"}\r\n labelText=\"PrintTemplateFileName\"\r\n mode={\"edit\"}\r\n />\r\n
\r\n
\r\n {/* DV */}\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n }\r\n {objectTag && \r\n
\r\n \r\n
\r\n }\r\n \r\n )\r\n }","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport React, {\r\n useState,\r\n useCallback,\r\n useEffect,\r\n useRef,\r\n createContext,\r\n} from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { GetReportWithJsonData, trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nimport { MessageType } from \"types/enum\";\r\nimport { ButtonPrintIcon } from \"components/ButtonPrintIcon/ButtonPrintIcon\";\r\n\r\ninterface ModalFormProp {\r\n title: string;\r\n mode?: string;\r\n modalProfileKey?: string;\r\n onHide: () => void;\r\n show: boolean;\r\n children?: React.ReactNode | any;\r\n modalWidth?;\r\n modalHeight?;\r\n checkClose?;\r\n getModalWidth?: (param: any) => void;\r\n useChangingHeaderFun?:boolean,\r\n buttonPrintObj?:any\r\n}\r\nexport const UserContext = createContext([]);\r\n\r\nexport const ModalForm = ({\r\n title,\r\n mode,\r\n modalProfileKey,\r\n onHide,\r\n show,\r\n children,\r\n modalWidth,\r\n checkClose = true,\r\n modalHeight = 40,\r\n getModalWidth,\r\n useChangingHeaderFun=false,\r\n buttonPrintObj\r\n}: ModalFormProp) => {\r\n const [height, setHeight] = useState(window.innerHeight);\r\n const [width, setWidth] = useState(window.innerWidth);\r\n const [leftx, setLeftx] = useState(\"5%\");\r\n const [boxWidth, setBoxWidth] = useState(70);\r\n const [boxHeight, setBoxHeight] = useState(modalHeight);\r\n const [fullscreen, setfullscreen] = useState(false);\r\n const [mouseleftx, setMouseleftx] = useState();\r\n const [boxleftx, setBoxleftx] = useState();\r\n const [mouseleftY, setMouseleftY] = useState();\r\n const [boxleftY, setBoxleftY] = useState();\r\n const [activeIndex, setActiveIndex] = useState(null);\r\n const [topy, setTopy] = useState(\"5%\");\r\n const [touchX, setTouchX] = useState();\r\n const [touchY, setTouchY] = useState();\r\n const [touchIndex, setTouchIndex] = useState(null);\r\n const [sendSize, setSendSize] = useState(\r\n modalWidth < 50 || window.innerWidth < 900\r\n );\r\n const [getflag, setgetFlag] = useState(true);\r\n const [userMadeChanges, setUserMadeChanges] = useState(false);\r\n const myStateRef = React.useRef(userMadeChanges);\r\n const boxWidthRef = React.useRef(boxWidth);\r\n const boxHeightRef = React.useRef(boxHeight);\r\n let disableDrag: boolean = false;\r\n const lang = localStorage.getItem(\"lang\");\r\n const el = document.getElementById(\"modalform\");\r\n const boxRef = useRef();\r\n const timeID = new Date().getTime() + \"modalform\";\r\n const timeIDRes = useRef(timeID);\r\n const ref = useRef();\r\n\r\n window.onresize = () => {\r\n setWidth(window.innerWidth);\r\n setHeight(window.innerHeight);\r\n };\r\n\r\n function hide() {\r\n if (\r\n sessionStorage.getItem(\"changingforms\") + \"\" == \"true\" &&\r\n checkClose &&\r\n mode != \"view\"\r\n ) {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // onHide();\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n onHide();\r\n });\r\n } else {\r\n onHide();\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n return () => {\r\n let modalKey = modalProfileKey ? modalProfileKey : title;\r\n let modalsSize = localStorage.getItem(\"modalsSize\");\r\n let locallist;\r\n let localflag = true;\r\n if (modalsSize == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(modalsSize);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] == modalKey) {\r\n localflag = false;\r\n item[1] = boxWidthRef.current;\r\n item[2] = boxHeightRef.current;\r\n }\r\n });\r\n if (localflag) {\r\n locallist.push([modalKey, boxWidthRef.current, boxHeightRef.current]);\r\n }\r\n localStorage.setItem(\"modalsSize\", JSON.stringify(locallist));\r\n };\r\n }, []);\r\n const setModalFullscreen = () => {\r\n setfullscreen(!fullscreen);\r\n };\r\n\r\n // on touch or mouse click\r\n\r\n const mouseDown = (e) => {\r\n e.stopPropagation();\r\n const x = boxRef?.current?.offsetLeft;\r\n setMouseleftx(e.screenX);\r\n setBoxleftx(x);\r\n const y = boxRef?.current?.offsetTop;\r\n setMouseleftY(e.screenY);\r\n setBoxleftY(y);\r\n setActiveIndex(1);\r\n };\r\n\r\n const touchStart = (e) => {\r\n e.stopPropagation();\r\n const x = boxRef?.current?.offsetLeft;\r\n setTouchX(e.touches[0].screenX);\r\n setBoxleftx(x);\r\n const y = boxRef?.current?.offsetTop;\r\n setTouchY(e.touches[0].screenY);\r\n setBoxleftY(y);\r\n setTouchIndex(1);\r\n };\r\n\r\n // resize UP & DOWN\r\n\r\n const resizeUp = (e) => {\r\n e.stopPropagation();\r\n const y = boxRef?.current?.offsetTop;\r\n setBoxleftY(y);\r\n setMouseleftY(e.screenY);\r\n setActiveIndex(4);\r\n };\r\n\r\n const resizeDown = (e) => {\r\n e.stopPropagation();\r\n\r\n const y = boxRef?.current?.offsetTop;\r\n setBoxleftY(y);\r\n setMouseleftY(e.screenY);\r\n setActiveIndex(5);\r\n };\r\n\r\n // resize LEFT & RIGHT\r\n\r\n const resizeLeft = (e) => {\r\n e.stopPropagation();\r\n const x = boxRef?.current?.offsetLeft;\r\n\r\n setBoxleftx(x);\r\n setMouseleftx(e.screenX);\r\n setActiveIndex(2);\r\n };\r\n\r\n const resizeRight = (e) => {\r\n e.stopPropagation();\r\n const x = boxRef?.current?.offsetLeft;\r\n\r\n setBoxleftx(x);\r\n setMouseleftx(e.screenX);\r\n setActiveIndex(3);\r\n };\r\n\r\n const resizeTouchRight = (e) => {\r\n e.stopPropagation();\r\n const x = boxRef?.current?.offsetLeft;\r\n\r\n setBoxleftx(x);\r\n setTouchX(e.touches[0].screenX);\r\n setTouchIndex(3);\r\n };\r\n\r\n const resizeTouchLeft = (e) => {\r\n e.stopPropagation();\r\n const x = boxRef?.current?.offsetLeft;\r\n\r\n setBoxleftx(x);\r\n setTouchX(e.touches[0].screenX);\r\n setTouchIndex(2);\r\n };\r\n\r\n // if any text selected\r\n\r\n const textSelection = () => {\r\n const selection = document.getSelection();\r\n const selectonRange: any = selection?.focusOffset;\r\n\r\n if (selectonRange > 0) {\r\n disableDrag = true;\r\n } else {\r\n disableDrag = false;\r\n }\r\n };\r\n\r\n // mouse and touch travel on screen\r\n\r\n const mouseMove = useCallback(\r\n (e) => {\r\n if (disableDrag) {\r\n e.preventDefault();\r\n return;\r\n } else if (activeIndex == 1) {\r\n setLeftx(boxleftx - (mouseleftx - e.screenX) + \"px\");\r\n if (e.clientY > 5) {\r\n setTopy(boxleftY - (mouseleftY - e.screenY) + \"px\");\r\n }\r\n } else if (activeIndex == 2) {\r\n if (mouseleftx - e.screenX < 420) {\r\n if (\r\n mouseleftx - e.screenX + (boxWidth * window.innerWidth) / 100 >\r\n 450\r\n ) {\r\n setLeftx(boxleftx - (mouseleftx - e.screenX) + \"px\");\r\n setBoxWidth(\r\n ((mouseleftx - e.screenX) / window.innerWidth) * 100 + boxWidth\r\n );\r\n boxWidthRef.current =\r\n ((mouseleftx - e.screenX) / window.innerWidth) * 100 + boxWidth;\r\n }\r\n }\r\n } else if (activeIndex == 3) {\r\n if (mouseleftx - e.screenX < 420) {\r\n if (\r\n (boxWidth * window.innerWidth) / 100 - (mouseleftx - e.screenX) >\r\n 450\r\n ) {\r\n setBoxWidth(\r\n boxWidth - ((mouseleftx - e.screenX) / window.innerWidth) * 100\r\n );\r\n boxWidthRef.current =\r\n boxWidth - ((mouseleftx - e.screenX) / window.innerWidth) * 100;\r\n }\r\n }\r\n } else if (activeIndex == 4) {\r\n if (\r\n (boxHeight * window.innerHeight) / 100 + (mouseleftY - e.screenY) >\r\n 300\r\n ) {\r\n setTopy(boxleftY - (mouseleftY - e.screenY) + \"px\");\r\n setBoxHeight(\r\n ((mouseleftY - e.screenY) / window.innerHeight) * 100 + boxHeight\r\n );\r\n boxHeightRef.current =\r\n ((mouseleftY - e.screenY) / window.innerHeight) * 100 + boxHeight;\r\n }\r\n } else if (activeIndex == 5) {\r\n if (\r\n (boxHeight * window.innerHeight) / 100 - (mouseleftY - e.screenY) >\r\n 300\r\n ) {\r\n setBoxHeight(\r\n boxHeight - ((mouseleftY - e.screenY) / window.innerHeight) * 100\r\n );\r\n boxHeightRef.current =\r\n boxHeight - ((mouseleftY - e.screenY) / window.innerHeight) * 100;\r\n }\r\n }\r\n },\r\n [activeIndex]\r\n );\r\n\r\n const touchMove = useCallback(\r\n (e) => {\r\n if (disableDrag) {\r\n e.preventDefault();\r\n return;\r\n } else if (touchIndex == 1) {\r\n setLeftx(boxleftx - (touchX - e.touches[0].screenX) + \"px\");\r\n setTopy(boxleftY - (touchY - e.touches[0].screenY) + \"px\");\r\n } else if (touchIndex == 2) {\r\n setLeftx(boxleftx - (touchX - e.touches[0].screenX) + \"px\");\r\n setBoxWidth(\r\n ((touchX - e.touches[0].screenX) / window.innerWidth) * 100 + boxWidth\r\n );\r\n boxWidthRef.current =\r\n ((touchX - e.touches[0].screenX) / window.innerWidth) * 100 +\r\n boxWidth;\r\n } else if (touchIndex == 3) {\r\n setBoxWidth(\r\n boxWidth - ((touchX - e.touches[0].screenX) / window.innerWidth) * 100\r\n );\r\n boxWidthRef.current =\r\n boxWidth -\r\n ((touchX - e.touches[0].screenX) / window.innerWidth) * 100;\r\n }\r\n },\r\n [touchIndex]\r\n );\r\n\r\n // remove events\r\n\r\n \r\n\r\n const removeListeners = useCallback(() => {\r\n setActiveIndex(null);\r\n setBoxleftY(null);\r\n setMouseleftY(null);\r\n setBoxleftx(null);\r\n setMouseleftx(null);\r\n setTouchY(null);\r\n setTouchX(null);\r\n\r\n window.removeEventListener(\"mousemove\", mouseMove);\r\n window.removeEventListener(\"mouseup\", removeListeners, true);\r\n window.removeEventListener(\"mouseup\", mouseUp);\r\n }, [mouseMove, touchMove]);\r\n\r\n const removeTouchListeners = useCallback(() => {\r\n setTouchIndex(null);\r\n setBoxleftY(null);\r\n setTouchY(null);\r\n setBoxleftx(null);\r\n setTouchX(null);\r\n setMouseleftY(null);\r\n setMouseleftx(null);\r\n\r\n el!.removeEventListener(\"touchmove\", touchMove);\r\n el!.removeEventListener(\"touchend\", removeTouchListeners);\r\n }, [touchMove, mouseMove]);\r\n\r\n // mouse and touch removed from screen\r\n\r\n const mouseUp = useCallback(() => {\r\n setActiveIndex(null);\r\n removeListeners();\r\n }, [setActiveIndex, removeListeners]);\r\n\r\n const touchEnd = useCallback(() => {\r\n setTouchIndex(null);\r\n removeTouchListeners();\r\n }, [setTouchIndex, removeTouchListeners]);\r\n\r\n useEffect(() => {\r\n if (activeIndex !== null) {\r\n window.addEventListener(\"mousemove\", mouseMove);\r\n window.addEventListener(\"mouseup\", mouseUp);\r\n }\r\n }, [mouseDown]);\r\n\r\n useEffect(() => {\r\n if (touchIndex !== null) {\r\n el?.addEventListener(\"touchmove\", touchMove);\r\n el?.addEventListener(\"touchend\", touchEnd);\r\n }\r\n }, [touchMove]);\r\n\r\n useEffect(() => {\r\n if (getflag) {\r\n getModalWidth && getModalWidth(sendSize);\r\n let modalKey = modalProfileKey ? modalProfileKey : title;\r\n\r\n let modalsSize = localStorage.getItem(\"modalsSize\");\r\n let locallist;\r\n\r\n if (modalsSize == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(modalsSize);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] == modalKey) {\r\n setBoxWidth(item[1]);\r\n boxWidthRef.current = item[1];\r\n setBoxHeight(item[2]);\r\n boxHeightRef.current = item[2];\r\n }\r\n });\r\n }\r\n setgetFlag(false);\r\n }, [children]);\r\n\r\n useEffect(() => {\r\n if (sendSize != (boxWidth < 50 || window.innerWidth < 900)) {\r\n getModalWidth && getModalWidth(!sendSize);\r\n setSendSize(!sendSize);\r\n }\r\n }, [boxWidth, width]);\r\n\r\n const kydown = (event) => {\r\n if(event.key != \"Enter\"&&event.code != \"Space\" &&event.code != \"ArrowUp\"&&event.code != \"ArrowDown\"){\r\n event.stopPropagation();\r\n }\r\n if (\r\n event.key == \"Escape\" &&\r\n !document.activeElement?.className.includes(\"input\")\r\n ) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n let modalList = document.getElementsByClassName(\"modal-form\");\r\n if (modalList.length == 1) {\r\n document.removeEventListener(\"keydown\", kydown, true);\r\n hide();\r\n } else {\r\n if (\r\n modalList[modalList?.length - 1] != undefined &&\r\n modalList[modalList?.length - 1]?.id == timeIDRes.current\r\n ) {\r\n hide();\r\n }\r\n }\r\n }\r\n };\r\n const getDataForPrintAsync =async (id) => {\r\n if(buttonPrintObj?.Id){\r\n if(id.includes(\"Design\")){\r\n const res = await buttonPrintObj.apiFunction(buttonPrintObj?.Id)\r\n GetReportWithJsonData( id.replace(\"Design\" , \"\"), res.Data ,2)\r\n }else if(id.includes(\"Default\")){\r\n const res = await buttonPrintObj.apiFunction(buttonPrintObj?.Id)\r\n GetReportWithJsonData( id.replace(\"Default\" , \"\"), res.Data ,2)\r\n }else{\r\n const res = await buttonPrintObj.apiFunction(buttonPrintObj?.Id)\r\n\r\n GetReportWithJsonData( id, res.Data ,1 )\r\n }\r\n }\r\n try {\r\n } catch (error) {\r\n \r\n }\r\n};\r\n // ** stop scrolling window when modal is opened\r\n useEffect(() => {\r\n const body: HTMLBodyElement | null = document.querySelector(\"body\");\r\n body!.style.overflow = \"hidden\";\r\n document.addEventListener(\"keydown\", kydown, true);\r\n if (window.innerWidth < 900) {\r\n setfullscreen(true);\r\n }\r\n return () => {\r\n document.removeEventListener(\"keydown\", kydown, true);\r\n body!.style.overflow = \"auto\";\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n try {\r\n const modalElement = boxRef.current;\r\n const firstElement = modalElement.querySelectorAll(\".tabStart\")[0];\r\n firstElement.focus();\r\n const handleTabKeyPress = (event) => {\r\n if (event.key === \"Tab\") {\r\n if (document.activeElement?.className.includes(\"tab\")) {\r\n let lastElement =\r\n modalElement.querySelectorAll(\".tabEnd \")[\r\n modalElement.querySelectorAll(\".tabEnd\").length - 1\r\n ];\r\n if (\r\n event.shiftKey &&\r\n document.activeElement?.className.includes(\"tabStart\")\r\n ) {\r\n event.preventDefault();\r\n lastElement?.focus();\r\n } else if (\r\n !event.shiftKey &&\r\n lastElement == document.activeElement\r\n ) {\r\n event.preventDefault();\r\n firstElement?.focus();\r\n }\r\n }\r\n }\r\n };\r\n modalElement.addEventListener(\"keydown\", handleTabKeyPress);\r\n return () => {\r\n modalElement.removeEventListener(\"keydown\", handleTabKeyPress);\r\n };\r\n } catch (error) {}\r\n }, []);\r\n\r\n const textChange = (title) => {\r\n var regex = /[\\u0600-\\u06FF]+/;\r\n var numRegex=/\\d+/g\r\n\r\n let text = \"\";\r\n title.split(\"/\").forEach((item: any,index) => {\r\nif(regex.test(item as any)){\r\n text += item + (index==title.split(\"/\").length-1?mode==\"create\"?'/':'':\"/\")\r\n}else{\r\n text +=\r\n '
' +\r\n item +\r\n \"
\" +\r\n (index==title.split(\"/\").length-1?mode==\"create\"?'/':'':\"/\")\r\n}\r\n });\r\n title=text\r\n return title.replaceAll(/\\d+/g, (i)=>{ return `
${i }
`})\r\n };\r\n\r\n return (\r\n <>\r\n {show && (\r\n <>\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n { buttonPrintObj && {getDataForPrintAsync(e)}} />}\r\n\r\n
\r\n {window.innerWidth < 500 ? (\r\n <>\r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n\r\n \r\n {\r\n e.stopPropagation();\r\n hide();\r\n }}\r\n type=\"button\"\r\n className=\"ps-3 mt-1 modal-form__content-header-close-btn border-none alert-primary\"\r\n >\r\n ×\r\n \r\n\r\n\r\n
\r\n {/* { buttonPrintObj && {getDataForPrintAsync(e)}} />} */}\r\n
\r\n\r\n \r\n {\r\n myStateRef.current = e;\r\n setUserMadeChanges(e);\r\n },\r\n ]}\r\n >\r\n {children}\r\n \r\n
\r\n
\r\n\r\n {/*
\r\n
*/}\r\n \r\n \r\n
\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { DefaultHttpClient } from '@microsoft/signalr';\r\nimport { auth } from 'utils/auth';\r\n\r\n\r\n\r\n\r\nconst getAuthHeaders = () => {\r\n \r\n const token = localStorage.getItem(\"token\") \r\n return {\r\n Authorization: \"Bearer \" +token\r\n };\r\n };\r\n \r\n export class signalRHttp extends DefaultHttpClient {\r\n constructor() {\r\n super(console); // the base class wants a signalR.ILogger\r\n }\r\n public async send( request: signalR.HttpRequest\r\n ): Promise {\r\n const token = localStorage.getItem(\"token\") \r\n let res = true\r\n if (token) {\r\n res =await auth.checkTokenExpire();\r\n } else {\r\n auth.attempt();\r\n }\r\n if (res) {\r\n \r\n } else {\r\n auth.attempt()\r\n }\r\n try {\r\n const authHeaders = getAuthHeaders();\r\n if(request != undefined){\r\n request.headers = { ...request.headers, ...authHeaders };\r\n }\r\n const response = await super.send(request);\r\n return response;\r\n } catch (er) {\r\n if (er) {\r\n const error = er as signalR.HttpError;\r\n if (error.statusCode == 401) {\r\n \r\n //token expired - trying a refresh via refresh token\r\n /* await auth.attempt(); */\r\n /* const authHeaders = getAuthHeaders(); */\r\n /* request.headers = { ...request.headers, ...authHeaders }; */\r\n }\r\n } else {\r\n throw er;\r\n }\r\n }\r\n //re try the request\r\n return super.send(request);\r\n }\r\n }","import { HubConnectionBuilder } from \"@microsoft/signalr\";\r\nimport { NOTIFICATION_URL } from \"./constants\";\r\nimport { signalRHttp } from \"./SignalRHttp\";\r\n\r\n\r\nexport const NotificationConnection: any = new HubConnectionBuilder()\r\n.withUrl(NOTIFICATION_URL, { headers: { \"cookie\": \" \" } ,httpClient: new signalRHttp(), accessTokenFactory: () => { return localStorage.getItem(\"token\")??'' } })\r\n.withAutomaticReconnect()\r\n.build();","import { IconName, IconPrefix } from \"@fortawesome/fontawesome-svg-core\"\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\nimport \"./style.scss\"\r\nimport { NotificationConnection } from \"utils/notificationHub\"\r\nimport { KeyCodesObject } from \"types/enum\"\r\n\r\ninterface ButtonToolbarProps {\r\n faIcon: [IconPrefix, IconName], // اجباری یا اختیاری؟\r\n text: \"help\" | \"edit\" | \"view\" | \"create\" | \"refresh\" | \"delete\" | string,\r\n hotKey?: \"F8\" | \"F9\" | \"F10\" | \"F11\" | \"F12\"|\"F\",\r\n onClick?: () => void,\r\n options?: any, // تایپ آپشنز مشخص شود\r\n id?: any, // تایپ آپشنز مشخص شود\r\n isFocos?: any,\r\n RefreshWithNotif?: any,\r\n disable?:any,\r\n large?:any,\r\n editInGrid?:any,\r\n Updated?:any,\r\n alarme?:boolean,\r\n createCallback?: (ans: any) => void\r\n}\r\nexport const ButtonToolbar: React.FC = ({\r\n faIcon,\r\n isFocos =false,\r\n text,\r\n onClick,\r\n options = [{ val: 1, text: \"Create\" }],\r\n id,\r\n hotKey,\r\n RefreshWithNotif=false,\r\n disable,\r\n large=false,\r\n editInGrid,\r\n alarme=false,\r\n Updated=null,\r\n createCallback\r\n}) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n let hotKeyText: string | undefined = hotKey;\r\n const buttonToolbar = useRef(null);\r\n const buttonKey = useRef(hotKey);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [connection, setConnection] = useState(NotificationConnection);\r\n const [count, setCount] = useState();\r\n const connectionRef = useRef(NotificationConnection);\r\n const countRef = useRef(0);\r\n const timeID = useRef(new Date().getTime() + \"ButtonToolbar\");\r\n useEffect(() => {\r\n if (localStorage.Shortcut != null) {\r\n Object.keys(JSON.parse(localStorage.Shortcut)).forEach(item=>{\r\n if(item == text.toLowerCase()){\r\n buttonKey.current = JSON.parse(localStorage.Shortcut)[item]\r\n }\r\n })\r\n }\r\n }, [localStorage.Shortcut]);\r\n \r\n useEffect(() => {\r\n let flag = true\r\n const callback = (event: KeyboardEvent) => {\r\n if((( event.ctrlKey && buttonKey.current?.includes(\"+\") && event.keyCode == KeyCodesObject[buttonKey?.current?.replace(\"Ctrl+\" , \"\").toUpperCase()])) ){\r\n const elements = Array.from(document.getElementsByClassName('toolbar-btn-wrapper '+text));\r\n let stop= false\r\n elements.map((element, index) => {\r\n if((+element?.id.replace(\"ButtonToolbar\" , \"\"))>+timeID.current.replace(\"ButtonToolbar\" , \"\")){\r\n stop = true\r\n }\r\n })\r\n if(!stop){\r\n if(document.getElementsByClassName(\"fullscreen-bg-modal\").length>elements.length ){\r\n onClick && onClick();\r\n countRef.current =0;setCount(0)\r\n event.returnValue = false;\r\n }else{\r\n onClick && onClick();\r\n countRef.current =0;setCount(0)\r\n event.returnValue = false;\r\n }\r\n }\r\n }else if((buttonKey.current != undefined && buttonKey.current == event.key && isFocos ==false)||(text.toLowerCase()==\"create\"&&event.key==\"Insert\") ){ \r\n const elements = Array.from(document.getElementsByClassName('toolbar-btn-wrapper '+text));\r\n let stop= false\r\n elements.map((element, index) => {\r\n if((+element?.id.replace(\"ButtonToolbar\" , \"\"))>+timeID.current.replace(\"ButtonToolbar\" , \"\")){\r\n stop = true\r\n }\r\n })\r\n if(!stop){\r\n if(document.getElementsByClassName(\"fullscreen-bg-modal\").length> elements.length){\r\n onClick && onClick();\r\n countRef.current =0;setCount(0)\r\n event.returnValue = false;\r\n }else{\r\n onClick && onClick();\r\n countRef.current =0;setCount(0)\r\n event.returnValue = false;\r\n }\r\n }\r\n } \r\n };\r\n if(!disable){\r\n document.addEventListener('keydown', callback);\r\n }\r\n return () => {\r\n document.removeEventListener('keydown', callback);\r\n };\r\n }, [id ,disable]);\r\n\r\n useEffect(() => {\r\n if( RefreshWithNotif&&text == \"Refresh\" && window.location.href.includes(\"cartable/current\")){\r\n connectionRef.current = NotificationConnection\r\n setConnection(NotificationConnection);\r\n if (connection || NotificationConnection ||connectionRef.current) {\r\n NotificationConnection.on('SendNewCartableNotification', async (method, message) => {\r\n countRef.current = countRef.current+ 1\r\n setCount(countRef.current)\r\n });\r\n } \r\n }else{\r\n connectionRef.current = null\r\n setConnection(null);\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if( RefreshWithNotif&&text == \"Refresh\" && window.location.href.includes(\"cartable/current\")&&Updated!=null){\r\n countRef.current =0;\r\n setCount(0) \r\n }\r\n }, [Updated]);\r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n }\r\n function selectboxValSetter(event) {\r\n createCallback && createCallback(event.currentTarget.getAttribute('data-value'));\r\n setShowSubMenu(false)\r\n if (buttonToolbar.current) (buttonToolbar.current as HTMLButtonElement).blur();\r\n }\r\n return (\r\n
\r\n \r\n
\r\n )\r\n}","import { IconName, IconPrefix } from \"@fortawesome/fontawesome-svg-core\"\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\n\r\ninterface ButtonToolbarCreateUser {\r\n onClick?: () => void,\r\n Callback: (id: any) => void,\r\n\r\n}\r\nexport const ButtonToolbarCreateUser: React.FC = ({ onClick, Callback }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState([{Id:\"create\" , Name :\"create\" },{Id:\"createGrouply\" , Name :\"createusergrouply\" }])\r\n const [selectoptions, setSelectOptions] = useState()\r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n }\r\n function selectboxValSetter(event) {\r\n setSelectOptions(event.currentTarget.getAttribute('data-value'))\r\n Callback && Callback(event.currentTarget.getAttribute('data-value'));\r\n setShowSubMenu(false)\r\n if (buttonToolbarProcessStarting.current) (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n }\r\n\r\n\r\n return (\r\n <> {options &&
\r\n \r\n
\r\n }\r\n \r\n )\r\n }","import { IconName, IconPrefix } from \"@fortawesome/fontawesome-svg-core\"\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { ICON_TYPE } from \"utils/constants\"\r\nimport { trans } from \"utils/helpers\"\r\n\r\n\r\ninterface ButtonToolbarHolidaysType {\r\n onClick?: () => void,\r\n Callback: (id: any) => void,\r\n\r\n}\r\nexport const ButtonToolbarHolidaysType: React.FC = ({ onClick, Callback }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState([{Id:\"SolarHolidays\" , Name :\"TransferSolarHolidays\" },{Id:\"LunarHolidays\" , Name :\"TransferLunarHolidays\" },{Id:\"GregorianHolidays\" , Name :\"TransferGregorianHolidays\" },{Id:\"NationalWeekendHolidays\" , Name :\"NationalWeekendHolidays\" },{Id:\"OrganizationalWeekendHolidays\" , Name :\"OrganizationalWeekendHolidays\" },{Id:\"create\" , Name :\"create\" }])\r\n const [selectoptions, setSelectOptions] = useState()\r\n const [loading, setLoading] = useState()\r\n const [rotate , setRotate] = useState(false);\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n }\r\n function selectboxValSetter(event) {\r\n setSelectOptions(event.currentTarget.getAttribute('data-value'))\r\n Callback && Callback(event.currentTarget.getAttribute('data-value'));\r\n setShowSubMenu(false)\r\n if (buttonToolbarProcessStarting.current) (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n }\r\n async function getOrganizationTypeAsync() {\r\n\r\n try {\r\n \r\n \r\n } catch (error) {\r\n \r\n }\r\n \r\n }\r\n useEffect(() => {\r\n if(showSubMenu &&options==null){\r\n getOrganizationTypeAsync()\r\n }\r\n }, [showSubMenu]);\r\n\r\n\r\n return (\r\n <>
\r\n \r\n
\r\n \r\n \r\n )\r\n }","import React from \"react\";\r\nimport { ApplicationDTO, ProfileListItemDTO, UserPosition } from \"types/types\";\r\n\r\ninterface LayoutContext {\r\n lang: 'fa' | 'en' | 'ar',\r\n setLang: (lang: any) => void,\r\n sidebarIsOpen: boolean;\r\n toggleSidebar: () => void;\r\n ImgFlag: string,\r\n handleImgFlag: (img: string) => void;\r\n currentUserPosition: any,\r\n notificount: number,\r\n chatNotificount: any,\r\n resourceVersion: any,\r\n widgetFormFlag: any,\r\n setCurrentUserPosition: (user: any) => void,\r\n setUserPerson: (id)=> void,\r\n setTabId: (id)=> void,\r\n tabId:any,\r\n UserPerson:any,\r\n setWidgetFormFlag: (count: boolean) => void,\r\n setNotificount: (count: number) => void,\r\n setChatNotificount: (count: any) => void,\r\n setResourceVersion: (count: any) => void,\r\n currentApplication: ApplicationDTO | any,\r\n setCurrentApplication: (application: ApplicationDTO | any) => void\r\n dropObj: any,\r\n dragObj:any,\r\n env:any,\r\n setEnv: (obj: any) => void,\r\n setDragObj: (obj: any) => void,\r\n setDropObj: (obj: any) => void,\r\n setBasket: () => void,\r\n basket:any,\r\n emptyBasket?:boolean,\r\n setEmptyBasket?:(bool) => void\r\n}\r\n\r\nexport const LAYOUT_CONTEXT_INIT_STATE: LayoutContext = {\r\n lang: localStorage.getItem('lang') as any || 'fa',\r\n setLang: (lang: any) => { },\r\n sidebarIsOpen: true,\r\n toggleSidebar: () => { },\r\n handleImgFlag: (img: string) => { },\r\n ImgFlag: \"\",\r\n currentUserPosition: {\r\n Description: \"\", Id: \"\",\r\n },\r\n notificount: 0,\r\n chatNotificount: 0,\r\n resourceVersion: 0,\r\n widgetFormFlag: false,\r\n setCurrentUserPosition: (user: ProfileListItemDTO) => { },\r\n setUserPerson: (id) => { },\r\n setTabId: (id) => { },\r\n UserPerson:\"\" ,\r\n tabId:null ,\r\n setNotificount: (count: any) => { },\r\n setWidgetFormFlag: (count: any) => { },\r\n setChatNotificount: (count:any) => { },\r\n setResourceVersion: (count:any) => { },\r\n currentApplication: {\r\n Id: \"\", Name: \"\"\r\n },\r\n setCurrentApplication: (application: ApplicationDTO | any) => { },\r\n dropObj: {},\r\n dragObj:{},\r\n env:{},\r\n setEnv: (obj: any) => {},\r\n setDragObj: (obj: any) => {},\r\n setDropObj: (obj: any) => {},\r\n setBasket: () => {},\r\n basket:false,\r\n emptyBasket:true,\r\n setEmptyBasket:(bool) => {}\r\n};\r\n\r\nexport const LayoutContext = React.createContext(\r\n LAYOUT_CONTEXT_INIT_STATE\r\n);\r\n","\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\"\r\nimport { useContext, useEffect, useRef, useState } from \"react\"\r\nimport { ICON_TYPE } from \"utils/constants\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { getMyOwnRequest } from \"./api\"\r\ninterface ButtonToolbarMyOwnRequestProps {\r\n onClick?: () => void,\r\n Callback: (ans: any) => void,\r\n positionId?: string,\r\n}\r\nexport const ButtonToolbarMyOwnRequest: React.FC = ({ onClick, Callback, positionId }) => {\r\n const [posId, setPosId] = useState(positionId);\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarMyOwnRequest = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const layoutContext = useContext(LayoutContext);\r\n const [options, setOptions] = useState()\r\n async function getDataAsync() {\r\n try {\r\n\r\n const response = await getMyOwnRequest();\r\n\r\n\r\n setOptions(response.Data);\r\n } catch (error) {\r\n\r\n setOptions(null)\r\n }\r\n\r\n }\r\n useEffect(() => {\r\n getDataAsync();\r\n\r\n }, [layoutContext.currentUserPosition, layoutContext.currentApplication]);\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n function hideSubMenuFunction() {\r\n // setShowSubMenu(false)\r\n }\r\n function selectboxValSetter(event) {\r\n options.forEach(item => {\r\n if(item.Id == event.currentTarget.getAttribute('data-value')){\r\n\r\n Callback && Callback({Id:event.currentTarget.getAttribute('data-value') , Name:item.Description});\r\n }\r\n });\r\n setShowSubMenu(false)\r\n if (buttonToolbarMyOwnRequest.current) (buttonToolbarMyOwnRequest.current as HTMLButtonElement).blur();\r\n }\r\n function clickToclose(e) {\r\n if (!buttonToolbarMyOwnRequest.current?.contains(e.target)) {\r\n setShowSubMenu(false);\r\n }\r\n }\r\n useEffect(() => {\r\n if (showSubMenu) {\r\n document.body.addEventListener(\"click\", clickToclose, true);\r\n }\r\n return () => {\r\n document.body.removeEventListener(\"click\", clickToclose, true);\r\n };\r\n }, [showSubMenu]);\r\n return (\r\n <> {options && Object.values(options)?.length > 0 &&
\r\n \r\n
\r\n }\r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getMyOwnRequest = ( ) => http({\r\n url: ENDPOINTS.clientPortal.startUpProcess,\r\n method: 'get',\r\n\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err)\r\n })\r\n\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { getProcess } from \"./api\"\r\nimport \"./style.scss\"\r\nimport { ICON_TYPE } from \"utils/constants\"\r\ninterface ButtonToolbarProcessFilter {\r\n onClick?: () => void,\r\n Callback: (id: string) => void,\r\n}\r\nexport const ButtonToolbarProcessFilter: React.FC = ({ onClick, Callback }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef();\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState(null)\r\n const [selectoptions, setSelectOptions] = useState()\r\n const [loading, setLoading] = useState()\r\n const [rotate , setRotate] = useState(false);\r\n const listOption = useRef()\r\n const[directionLiList,setDirectionLiList] = useState(false)\r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n }\r\n async function getProcessAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getProcess()\r\n setOptions(res) \r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n }\r\n function selectboxValSetter(event) {\r\n setSelectOptions(event.currentTarget.getAttribute('data-value'))\r\n Callback && Callback(event.currentTarget.getAttribute('data-value'));\r\n setShowSubMenu(false)\r\n if (buttonToolbarProcessStarting.current) (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n }\r\n\r\n useEffect(() => {\r\n if(showSubMenu &&options==null){\r\n getProcessAsync()\r\n }\r\n }, [showSubMenu]);\r\n\r\n function offset(){\r\n var rect = buttonToolbarProcessStarting.current.getBoundingClientRect()\r\n const windowInnerWidth = window.innerWidth\r\n const listOptionWidth = listOption.current.getBoundingClientRect()\r\n if(listOptionWidth.width < windowInnerWidth - rect.right){\r\n setDirectionLiList(false)\r\n }else{\r\n setDirectionLiList(true)\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n \r\n )\r\n }","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getProcess = () => http({\r\n url: ENDPOINTS.bpmnApi.process.getAll,\r\n method: 'get',\r\n\r\n}).then((response) => (response.data))","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useRef, useState } from \"react\"\r\nimport { ICON_TYPE } from \"utils/constants\"\r\nimport { trans } from \"utils/helpers\"\r\ninterface ButtonToolbarArchiveFileProps {\r\n onClick?: () => void,\r\n Callback: (ans) => void,\r\n positionId?: string,\r\n}\r\nexport const ButtonToolbarArchiveFile: React.FC = ({ onClick, Callback, positionId }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const ButtonToolbarArchiveFile = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState([{Id:\"0\" , Name : \"Jobs\"},{Id:\"1\" , Name : \"Documents\"}])\r\n\r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n }\r\n function selectboxValSetter(event) {\r\n Callback && Callback(event);\r\n setShowSubMenu(false)\r\n if (ButtonToolbarArchiveFile.current) (ButtonToolbarArchiveFile.current as HTMLButtonElement).blur();\r\n }\r\n return (\r\n <> {options && options?.length > 0 &&
\r\n \r\n
\r\n }\r\n \r\n )\r\n}","import { IconName, IconPrefix } from \"@fortawesome/fontawesome-svg-core\"\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\n\r\ninterface ButtonToolbarCreateArchive {\r\n onClick?: () => void,\r\n Callback: (id: any) => void,\r\n id?,\r\n\r\n\r\n \r\n}\r\nexport const ButtonToolbarCreateArchive: React.FC = ({ id, onClick, Callback }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState([{Id:1 , Name :`${trans(\"File\")}/${trans(\"TreeBranch\")}` },{Id:2 , Name :`${trans(\"Archive\")}/${trans(\"TreeRoot\")}`}])\r\n const [selectoptions, setSelectOptions] = useState()\r\n const [count, setCount] = useState();\r\n const showSubMenuRef = useRef(false);\r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n showSubMenuRef.current = true\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n showSubMenuRef.current = true\r\n\r\n }\r\n function selectboxValSetter(event) {\r\n setSelectOptions(event.currentTarget.getAttribute('data-value'))\r\n Callback && Callback(event.currentTarget.getAttribute('data-value'));\r\n setShowSubMenu(false)\r\n if (buttonToolbarProcessStarting.current) (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n }\r\n useEffect(() => {\r\n \r\n let flag = true\r\n const callback = (event: KeyboardEvent) => {\r\n event.stopPropagation()\r\n if(\"F4\" == event.key ){ \r\n showSubMenuRef.current = !showSubMenuRef.current \r\n setShowSubMenu(showSubMenuRef.current)\r\n } \r\n flag = true\r\n };\r\n document.addEventListener('keydown', callback);\r\n return () => {\r\n document.removeEventListener('keydown', callback);\r\n };\r\n }, [id]);\r\n\r\n return (\r\n <> {options &&
\r\n \r\n
\r\n }\r\n \r\n )\r\n }","import { IconName, IconPrefix } from \"@fortawesome/fontawesome-svg-core\"\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\n\r\ninterface ButtonToolbarCreateitem {\r\n onClick?: (e) => void,\r\n Callback?: (id: any) => void,\r\n id?,\r\n type?,\r\n\r\n\r\n \r\n}\r\nexport const ButtonToolbarCreateitem: React.FC = ({type, id, onClick, Callback }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef(null);\r\n // const [options, setOptions] = useState([{Id:1 , Name :`/${trans(\"TreeBranch\")}` },{Id:2 , Name :`/${trans(\"TreeRoot\")}`}])\r\n const [selectoptions, setSelectOptions] = useState()\r\n const [count, setCount] = useState();\r\n const showSubMenuRef = useRef(false);\r\n\r\n\r\n useEffect(() => {\r\n \r\n let flag = true\r\n const callback = (event: KeyboardEvent) => {\r\n event.stopPropagation()\r\n if(\"F4\" == event.key && type==2 ){ \r\n event.preventDefault() \r\n onClick && onClick(2)\r\n } \r\n if(\"F6\" == event.key && type==1 ){ \r\n event.preventDefault() \r\n onClick && onClick(1)\r\n } \r\n flag = true\r\n };\r\n document.addEventListener('keydown', callback);\r\n return () => {\r\n document.removeEventListener('keydown', callback);\r\n };\r\n }, [id]);\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n )\r\n }","import { IconName, IconPrefix } from \"@fortawesome/fontawesome-svg-core\"\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\n\r\ninterface ButtonToolbarCreateManual {\r\n onClick?: () => void,\r\n Callback: (id: any) => void,\r\n id?,\r\n\r\n\r\n \r\n}\r\nexport const ButtonToolbarCreateManual: React.FC = ({ id, onClick, Callback }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState([{Id:1 , Name :`${trans(\"Manual\")}` },{Id:2 , Name :`${trans(\"grouply\")}`}])\r\n const [selectoptions, setSelectOptions] = useState()\r\n const [count, setCount] = useState();\r\n const showSubMenuRef = useRef(false);\r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n showSubMenuRef.current = true\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n showSubMenuRef.current = true\r\n\r\n }\r\n function selectboxValSetter(event) {\r\n setSelectOptions(event.currentTarget.getAttribute('data-value'))\r\n Callback && Callback(event.currentTarget.getAttribute('data-value'));\r\n setShowSubMenu(false)\r\n if (buttonToolbarProcessStarting.current) (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n }\r\n useEffect(() => {\r\n \r\n let flag = true\r\n const callback = (event: KeyboardEvent) => {\r\n event.stopPropagation()\r\n if(\"F4\" == event.key ){ \r\n showSubMenuRef.current = !showSubMenuRef.current \r\n setShowSubMenu(showSubMenuRef.current)\r\n } \r\n flag = true\r\n };\r\n document.addEventListener('keydown', callback);\r\n return () => {\r\n document.removeEventListener('keydown', callback);\r\n };\r\n }, [id]);\r\n\r\n return (\r\n <> {options &&
\r\n \r\n
\r\n }\r\n \r\n )\r\n }","import { IconName, IconPrefix } from \"@fortawesome/fontawesome-svg-core\"\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\n\r\ninterface ButtonToolbarCreateReports {\r\n onClick?: () => void,\r\n Callback: (id: any) => void,\r\n id?,\r\n\r\n\r\n \r\n}\r\nexport const ButtonToolbarCreateReports: React.FC = ({ id, onClick, Callback }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState([{Id:1 , Name :`${trans(\"WithFeedApi\")}` },{Id:2 , Name :`${trans(\"WithFeedMethod\")}`}])\r\n const [selectoptions, setSelectOptions] = useState()\r\n const [count, setCount] = useState();\r\n const showSubMenuRef = useRef(false);\r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n showSubMenuRef.current = true\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n showSubMenuRef.current = true\r\n\r\n }\r\n function selectboxValSetter(event) {\r\n setSelectOptions(event.currentTarget.getAttribute('data-value'))\r\n Callback && Callback(event.currentTarget.getAttribute('data-value'));\r\n setShowSubMenu(false)\r\n if (buttonToolbarProcessStarting.current) (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n }\r\n useEffect(() => {\r\n \r\n let flag = true\r\n const callback = (event: KeyboardEvent) => {\r\n event.stopPropagation()\r\n if(\"F4\" == event.key ){ \r\n showSubMenuRef.current = !showSubMenuRef.current \r\n setShowSubMenu(showSubMenuRef.current)\r\n } \r\n flag = true\r\n };\r\n document.addEventListener('keydown', callback);\r\n return () => {\r\n document.removeEventListener('keydown', callback);\r\n };\r\n }, [id]);\r\n\r\n return (\r\n <> {options &&
\r\n \r\n
\r\n }\r\n \r\n )\r\n }","import { IconName, IconPrefix } from \"@fortawesome/fontawesome-svg-core\"\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\n\r\ninterface ButtonToolbarCreateWarehouse {\r\n onClick?: () => void,\r\n Callback: (id: any) => void,\r\n id?,\r\n\r\n\r\n \r\n}\r\nexport const ButtonToolbarCreateWarehouse: React.FC = ({ id, onClick, Callback }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState([{Id:2 , Name :`${trans(\"Warehouse\")}`},{Id:1 , Name :`${trans(\"WarehouseDetail\")}` }])\r\n const [selectoptions, setSelectOptions] = useState()\r\n const [count, setCount] = useState();\r\n const showSubMenuRef = useRef(false);\r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n showSubMenuRef.current = true\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n showSubMenuRef.current = true\r\n\r\n }\r\n function selectboxValSetter(event) {\r\n setSelectOptions(event.currentTarget.getAttribute('data-value'))\r\n Callback && Callback(event.currentTarget.getAttribute('data-value'));\r\n setShowSubMenu(false)\r\n if (buttonToolbarProcessStarting.current) (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n }\r\n useEffect(() => {\r\n \r\n let flag = true\r\n const callback = (event: KeyboardEvent) => {\r\n event.stopPropagation()\r\n if(\"F4\" == event.key ){ \r\n showSubMenuRef.current = !showSubMenuRef.current \r\n setShowSubMenu(showSubMenuRef.current)\r\n } \r\n flag = true\r\n };\r\n document.addEventListener('keydown', callback);\r\n return () => {\r\n document.removeEventListener('keydown', callback);\r\n };\r\n }, [id]);\r\n\r\n return (\r\n <> {options &&
\r\n \r\n
\r\n }\r\n \r\n )\r\n }","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\ninterface ButtonToolbarCreateWarehouseIo {\r\n Callback: (id: any) => void;\r\n id?;\r\n}\r\nexport const ButtonToolbarCreateWarehouseIo: React.FC<\r\n ButtonToolbarCreateWarehouseIo\r\n> = ({ id, Callback }) => {\r\n let profile = { isBeginner: true }; //let profile = ButtonToolbarCreateWarehouseIo.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState([\r\n { Id: 0, Name: `${trans(\"InventoryReceipt\")}` },\r\n { Id: 1, Name: `${trans(\"ReturnedReceipt\")}` },\r\n { Id: 2, Name: `${trans(\"TransferReceipt\")}` },\r\n { Id: 3, Name: `${trans(\"InventoryRemittance\")}` },\r\n { Id: 4, Name: `${trans(\"ReturnRemittance\")}` },\r\n { Id: 5, Name: `${trans(\"TransferRemittance\")}` },\r\n { Id: 6, Name: `${trans(\"InventoryBalancing\")}` },\r\n { Id: 7, Name: `${trans(\"DirectDelivery\")}` },\r\n { Id: 8, Name: `${trans(\"Conversion\")}` },\r\n { Id: 9, Name: `${trans(\"PeriodInit\")}` },\r\n ]);\r\n const [selectoptions, setSelectOptions] = useState();\r\n const showSubMenuRef = useRef(false);\r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true);\r\n showSubMenuRef.current = true;\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false);\r\n showSubMenuRef.current = true;\r\n }\r\n function selectboxValSetter(event) {\r\n setSelectOptions(event.currentTarget.getAttribute(\"data-value\"));\r\n Callback && Callback(event.currentTarget.getAttribute(\"data-value\"));\r\n setShowSubMenu(false);\r\n if (buttonToolbarProcessStarting.current)\r\n (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n }\r\n useEffect(() => {\r\n let flag = true;\r\n const callback = (event: KeyboardEvent) => {\r\n event.stopPropagation();\r\n if (\"F4\" == event.key) {\r\n showSubMenuRef.current = !showSubMenuRef.current;\r\n setShowSubMenu(showSubMenuRef.current);\r\n }\r\n flag = true;\r\n };\r\n document.addEventListener(\"keydown\", callback);\r\n return () => {\r\n document.removeEventListener(\"keydown\", callback);\r\n };\r\n }, [id]);\r\n\r\n return (\r\n <>\r\n {\" \"}\r\n {options && (\r\n
\r\n {}}\r\n onFocus={showSubMenuFunction}\r\n onBlur={hideSubMenuFunction}\r\n className=\"btn btn-outline-primary toolbar-btn d-flex flex-column mx-1 justify-content-center align-items-center\"\r\n >\r\n \r\n F4\r\n
\r\n \r\n {trans(\"create\")}\r\n \r\n {options &&\r\n options.map((option, index) =>\r\n selectoptions && option.Id == selectoptions ? (\r\n \r\n {option.Name}\r\n
\r\n ) : (\r\n \r\n {option.Name}\r\n \r\n )\r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\"\r\nimport { useContext, useEffect, useRef, useState } from \"react\"\r\nimport { ICON_TYPE } from \"utils/constants\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { getEditSalesForms } from \"./api\"\r\ninterface ButtonToolbarEditSalesFormsProps {\r\n onClick?: () => void,\r\n Callback: (ans: any) => void,\r\n formName:string\r\n}\r\nexport const ButtonToolbarEditSalesForms: React.FC = ({formName, onClick, Callback }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarEditSalesForms = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const layoutContext = useContext(LayoutContext);\r\n const [options, setOptions] = useState()\r\n async function getDataAsync() {\r\n try {\r\n const response = await getEditSalesForms(formName);\r\n setOptions(response.Data);\r\n } catch (error) {\r\n\r\n setOptions(null)\r\n }\r\n\r\n }\r\n useEffect(() => {\r\n getDataAsync();\r\n\r\n }, [layoutContext.currentUserPosition, layoutContext.currentApplication]);\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n }\r\n function selectboxValSetter(event) {\r\n Callback && Callback(event);\r\n setShowSubMenu(false)\r\n if (buttonToolbarEditSalesForms.current) (buttonToolbarEditSalesForms.current as HTMLButtonElement).blur();\r\n }\r\n return (\r\n <> {options && Object.values(options)?.length > 0 &&
\r\n \r\n
\r\n }\r\n \r\n )\r\n}","import { RoleOperationType } from \"types/enum\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\nexport const getEditSalesForms = (formName ) => http({\r\n url: ENDPOINTS.UserAuthorize.assignmentRole,\r\n method: 'get',\r\n params:{\r\n roleOperationType: RoleOperationType.Edit,\r\n formName:formName\r\n }\r\n\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err)\r\n })\r\n\r\n","import { IconName, IconPrefix } from \"@fortawesome/fontawesome-svg-core\"\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { getToolbarEnumerationFilter } from \"./api\"\r\nimport { ICON_TYPE } from \"utils/constants\"\r\n\r\ninterface ButtonToolbarEnumerationFilterProps {\r\n onClick?: () => void,\r\n Callback: (id: any) => void,\r\n enumerationType: string,\r\n}\r\nexport const ButtonToolbarEnumerationFilter: React.FC = ({enumerationType ,onClick, Callback }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef(null);\r\n const buttonToolbarlist = useRef(null);\r\n\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState()\r\n const [selectoptions, setSelectOptions] = useState(null)\r\n const [loading, setLoading] = useState()\r\n const [rotate , setRotate] = useState(false);\r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n }\r\n function selectboxValSetter(event) {\r\n setSelectOptions(event.currentTarget.getAttribute('data-value'))\r\n Callback && Callback(event.currentTarget.getAttribute('data-value'));\r\n setShowSubMenu(false)\r\n if (buttonToolbarProcessStarting.current) (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n }\r\n async function getpersonalTaskStatusAsync() {\r\n setLoading(false)\r\n\r\n try {\r\n const res = await getToolbarEnumerationFilter(enumerationType)\r\n let list = Object.keys(res?.Data)\r\n let opList = list.map(item=>{\r\n return {\r\n Id : item ,\r\n Name : res?.Data[item],\r\n }\r\n })\r\n opList.push({Id:\"0\" , Name:\"All\"})\r\n setOptions(opList)\r\n \r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n\r\n }\r\n useEffect(() => {\r\n if(showSubMenu &&options==null){\r\n getpersonalTaskStatusAsync()\r\n }\r\n }, [showSubMenu]);\r\n\r\n useEffect(() => {\r\n if(buttonToolbarlist.current && loading){\r\n const rect= buttonToolbarlist.current.getBoundingClientRect();\r\n const windowWidth = window.innerWidth;\r\n if (rect.right > windowWidth){\r\n buttonToolbarlist.current.style.left = '0';\r\n }\r\n else {\r\n buttonToolbarlist.current.style.right = '0'\r\n \r\n }\r\n }\r\n },[window,loading])\r\n\r\n return (\r\n <>
\r\n \r\n
\r\n \r\n \r\n )\r\n }","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getToolbarEnumerationFilter = (enumerationType) => http({\r\n url: ENDPOINTS.enumeration,\r\n method: 'get',\r\n params: {\r\n enumerationType\r\n }\r\n}).then((response) => (response.data))","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { ICON_TYPE } from \"utils/constants\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { getPersonnelCartableDictionaryApi } from \"./api\"\r\nimport \"./style.scss\"\r\n\r\ninterface ButtonToolbarProps {\r\n onClick?:()=>void,\r\n handleChangePersonnelCartable?:(e)=>void,\r\n disable?:any,\r\n\r\n}\r\nexport const ButtonToolbarPersonnelCartable: React.FC = ({\r\n\r\n onClick,\r\n handleChangePersonnelCartable,\r\n disable,\r\n\r\n}) => {\r\n let profile = { isBeginner: true };\r\n const buttonToolbar = useRef(null);\r\n \r\n const [options, setOptions] = useState(null)\r\n const [loading, setLoading] = useState()\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [rotate , setRotate] = useState(false);\r\n\r\n const [Personnel, setPersonnel] = useState< any>();\r\n\r\n\r\n\r\n\r\n const getPersonnelCartableDictionaryAsync = async ()=>{\r\n setLoading(false)\r\n try {\r\n const res = await getPersonnelCartableDictionaryApi()\r\n let list:any =[]\r\n Object.keys(res.Data).map(item=>{\r\n list.push({\r\n Id:item,\r\n Name:res.Data[item],\r\n })\r\n })\r\n setOptions(list)\r\n handleChangePersonnelCartable&& handleChangePersonnelCartable({Id: list[0].Id , Name: list[0].Name})\r\n setPersonnel({Id: list[0].Id , Name: list[0].Name})\r\n } catch (error:any) {\r\n handleChangePersonnelCartable&& handleChangePersonnelCartable(\" \")\r\n \r\n setOptions(null)\r\n }\r\n setLoading(true)\r\n }\r\n\r\n function selectboxValSetter(obj) {\r\n setPersonnel(obj)\r\n handleChangePersonnelCartable && handleChangePersonnelCartable(obj);\r\n setShowSubMenu(false)\r\n if (buttonToolbar.current) (buttonToolbar.current as HTMLButtonElement).blur();\r\n }\r\n useEffect(() => {\r\n if(Personnel ==null){\r\n getPersonnelCartableDictionaryAsync()\r\n }\r\n\r\n },[])\r\n\r\n return (\r\n <>\r\n {options!=null&&\r\n
\r\n \r\n
\r\n }\r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getPersonnelCartableDictionaryApi =( async () => await http({\r\n\r\n url: ENDPOINTS.cartable.PersonnelCartable.dictionary,\r\n method: 'get',\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\n\r\ninterface ButtonToolbarOrganizationType {\r\n onClick?: () => void,\r\n Callback: (string: any) => void,\r\n\r\n}\r\nexport const ButtonToolbarPersonType: React.FC = ({ onClick, Callback }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [selectoptions, setSelectOptions] = useState(\"PersonLegalTitle\")\r\n \r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n }\r\n function selectboxValSetter(event) {\r\n setSelectOptions(event.currentTarget.getAttribute('data-value'))\r\n Callback && Callback(event.currentTarget.getAttribute('data-value'));\r\n setShowSubMenu(false)\r\n if (buttonToolbarProcessStarting.current) (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n }\r\n\r\n\r\n \r\n\r\n return (\r\n <>
\r\n \r\n
\r\n \r\n \r\n )\r\n }","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\ninterface ButtonToolbarShowDeletedFilter {\r\n onClick?: () => void,\r\n Callback: (id: any) => void,\r\n positionId?: string,\r\n}\r\nexport const ButtonToolbarShowDeletedFilter: React.FC = ({ onClick, Callback, positionId }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState()\r\n const [selectoptions, setSelectOptions] = useState()\r\n \r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n async function getDataAsync() {\r\n let option:any = []\r\n\r\n option.push({Id:1 ,Name :\"showDeleted\" })\r\n let selected = localStorage.getItem(\"ShowDeletedFilter\")\r\n if(selected){\r\n setSelectOptions(selected)\r\n Callback && Callback(selected);\r\n\r\n \r\n\r\n }\r\n setOptions(option)\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n }\r\n function selectboxValSetter(event) {\r\n if(selectoptions){\r\n setSelectOptions(null)\r\n localStorage.setItem(\"ShowDeletedFilter\" , \"0\" )\r\n Callback && Callback(\"0\");\r\n setShowSubMenu(false)\r\n if (buttonToolbarProcessStarting.current) (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n \r\n\r\n }else{\r\n setSelectOptions(event.currentTarget.getAttribute('data-value'))\r\n localStorage.setItem(\"ShowDeletedFilter\" ,event.currentTarget.getAttribute('data-value') )\r\n Callback && Callback(event.currentTarget.getAttribute('data-value'));\r\n setShowSubMenu(false)\r\n if (buttonToolbarProcessStarting.current) (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n \r\n }\r\n }\r\n\r\n useEffect(() => {\r\n getDataAsync()\r\n\r\n }, []);\r\n\r\n return (\r\n <> {options &&
\r\n \r\n
\r\n }\r\n \r\n )\r\n }","import { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext } from \"react\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nlet CurrentApplication:any =localStorage.getItem(\"CurrentApplication\")\r\n\r\nexport const getStartProcess = ( currentApplication) => http({\r\n url: ENDPOINTS.bpmnApi.process.getStarting,\r\n method: 'get',\r\n params:{\r\n ApplicationId : currentApplication\r\n }\r\n\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err)\r\n })\r\n\r\n","\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\"\r\nimport { useContext, useEffect, useRef, useState } from \"react\"\r\nimport { ICON_TYPE } from \"utils/constants\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { getStartProcess } from \"./api\"\r\ninterface ButtonToolbarStartProcessProps {\r\n onClick?: () => void,\r\n Callback: (ans: any) => void,\r\n positionId?: string,\r\n}\r\nexport const ButtonToolbarStartProcess: React.FC = ({ onClick, Callback, positionId }) => {\r\n const [posId, setPosId] = useState(positionId);\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarStartProcess = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const layoutContext = useContext(LayoutContext);\r\n const [options, setOptions] = useState()\r\n async function getDataAsync() {\r\n try {\r\n const response = await getStartProcess(layoutContext.currentApplication.Id);\r\n\r\n\r\n setOptions(response.Data);\r\n } catch (error) {\r\n\r\n setOptions(null)\r\n }\r\n\r\n }\r\n useEffect(() => {\r\n getDataAsync();\r\n\r\n }, [layoutContext.currentUserPosition, layoutContext.currentApplication]);\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n }\r\n function selectboxValSetter(event) {\r\n Callback && Callback(event.currentTarget.getAttribute('data-value'));\r\n setShowSubMenu(false)\r\n if (buttonToolbarStartProcess.current) (buttonToolbarStartProcess.current as HTMLButtonElement).blur();\r\n }\r\n return (\r\n <> {options && Object.values(options)?.length > 0 &&
\r\n \r\n
\r\n }\r\n \r\n )\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\nexport const getWarehouseDictionaryWithAccessApi = (async ( ) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Warehouse.dictionaryHasAccess,\r\n method: 'get',\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)\r\n\r\nexport const getWarehouseDictionary =( async (hasWarehouseDetails=true) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Warehouse.dictionary,\r\n method: 'get',\r\n params:{\r\n showWarehousesWithWarehouseDetails:hasWarehouseDetails\r\n }\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\"\r\nimport { getWarehouseDictionaryWithAccessApi } from \"pages/InventoryAndSales/Sales/SalesInvoice/components/WarehouseDictionary/api\"\r\nimport { useContext, useEffect, useRef, useState } from \"react\"\r\nimport { ICON_TYPE } from \"utils/constants\"\r\nimport { trans } from \"utils/helpers\"\r\nimport \"./style.scss\"\r\n\r\ninterface ButtonToolbarProps {\r\n onClick?:()=>void,\r\n disable?:any,\r\n\r\n}\r\nexport const ButtonToolbarWarehouse: React.FC = ({\r\n\r\n onClick,\r\n disable,\r\n\r\n}) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbar = useRef(null);\r\n\r\n const [showInventoryForm, setShowInventoryForm] = useState< any>();\r\n const [options, setOptions] = useState()\r\n const [selectoptions, setSelectOptions] = useState()\r\n const showSubMenuRef = useRef(false);\r\n const [inventory, setInventory] = useState< any>();\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n\r\n/* function Submit(e){\r\n e.preventDefault() \r\n if(e.target.Warehouse.value){\r\n if(e.target.Warehouse.value !=undefined && inventory !=undefined){\r\n localStorage.setItem(\"Inventory\" ,JSON.stringify({Id:inventory.Id , Name:inventory.Name.Description}) )\r\n onClick&& onClick()\r\n }\r\n setShowInventoryForm(false)\r\n }\r\n \r\n }\r\n */\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n showSubMenuRef.current = true\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n showSubMenuRef.current = true\r\n\r\n }\r\n function selectboxValSetter(event , obj) {\r\n setSelectOptions(event.currentTarget.getAttribute('data-value'))\r\n\r\n if( obj.Id !=undefined){\r\n localStorage.setItem(\"Inventory\" ,JSON.stringify({Id:obj.Id , Name:obj.Name}) )\r\n onClick&& onClick()\r\n } \r\n setShowSubMenu(false)\r\n if (buttonToolbar.current) (buttonToolbar.current as HTMLButtonElement).blur();\r\n }\r\n\r\n async function getDataAsync() {\r\n try {\r\n const res = await getWarehouseDictionaryWithAccessApi()\r\n setOptions(res.Data);\r\n } catch (error) {\r\n\r\n setOptions(null)\r\n }\r\n\r\n }\r\n useEffect(() => {\r\n getDataAsync();\r\n\r\n }, [layoutContext.currentUserPosition, layoutContext.currentApplication]);\r\n return (\r\n <>\r\n{/* {showInventoryForm&& \r\n setShowInventoryForm(false)} show={showInventoryForm}>\r\n
\r\n
\r\n
\r\n
\r\n setInventory(obj)} \r\n mode={\"create\"}\r\n required={true}\r\n />\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n */}\r\n\r\n {options &&
\r\n \r\n
\r\n }\r\n \r\n )\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans, validateInput } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\ninterface searchPropsType {\r\n label?: string\r\n autoFocus?: any\r\n autoSearch?: any\r\n defultSerach?: string\r\n isFocos?: boolean\r\n checkStop?: boolean\r\n type?: 'search-input' | 'search-icon' \r\n onChange?: (e) => void;\r\n setIsFocos?: (e) => void;\r\n}\r\nexport const Search = ({autoSearch=false , defultSerach=\"\", label,checkStop=true ,type = 'search-input',onChange ,setIsFocos ,isFocos ,autoFocus}: searchPropsType) => {\r\n const flipSearchIcon = localStorage.getItem(\"lang\") == \"fa\" ? \"horizontal\" : undefined;\r\n const [searchInputVal, setSearchInputVal] = useState(null);\r\n const [focos, setFocos] = useState(false);\r\n const [isSearched, setIsSearched] = useState(null);\r\n const refFocos = useRef(focos);\r\n const timeID = useRef(new Date().getTime() + \"SearchBox\");\r\n\r\n const changeSearchInputVal = (event) => {\r\n if(validateInput(event.target.value)){\r\n setSearchInputVal(event?.currentTarget.value);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const getData = setTimeout(() => {\r\n if(searchInputVal != null&&autoSearch){\r\n onChange && onChange(searchInputVal)\r\n }\r\n \r\n }, 800)\r\n if((searchInputVal==\"\") &&(isSearched||defultSerach)){\r\n setIsSearched(null)\r\n onChange && onChange(null)\r\n }\r\n const elements = Array.from(document.getElementsByClassName('search-bar'));\r\n let stop= false\r\n let canWork= false\r\n if(checkStop){\r\n elements.map((element, index) => {\r\n if((+element?.id.replace(\"SearchBox\" , \"\")) > +timeID.current.replace(\"SearchBox\" , \"\")+100){\r\n stop = true\r\n }\r\n })\r\n }\r\n if(!stop){\r\n if(document.getElementsByClassName(\"fullscreen-bg-modal\").length {\r\n if ( document.activeElement?.className.includes(\"search\") &&searchInputVal?.length>0 && (event.code === 'Enter'||event.code === 'NumpadEnter'||event.code === 'Space')&&!stop && !document.activeElement?.className.includes(\"filterInput\") ) { \r\n if(event.code === 'Space') {\r\n onChange && onChange(searchInputVal+\" \")\r\n }else{\r\n onChange && onChange(searchInputVal)\r\n }\r\n setIsSearched(true)\r\n clearTimeout(getData)\r\n }\r\n\r\n };\r\n document.addEventListener('keydown', callback);\r\n return () => {\r\n clearTimeout(getData)\r\n document.removeEventListener('keydown', callback);\r\n };\r\n\r\n }, [searchInputVal])\r\n useEffect(() => {\r\n let flag = true\r\n const callback = (event: KeyboardEvent) => {\r\n if(document.getElementsByClassName(\"fullscreen-bg-modal\").length == 0){\r\n\r\n if (!(event.metaKey || event.ctrlKey) ) {\r\n\r\n event.stopPropagation()\r\n \r\n if(!window.location.href.includes(\"message\") && document?.activeElement?.className.indexOf(\"ck\") == -1 &&document?.activeElement?.tagName != \"TEXTAREA\" && document?.activeElement?.tagName != \"INPUT\" && ((95 {\r\n document.removeEventListener('keydown', callback);\r\n };\r\n }, []);\r\n\r\n\r\n\r\n\r\n\r\n return ( type === 'search-input' ?\r\n (
\r\n {label && }\r\n
\r\n
\r\n {}\r\n
\r\n {setIsFocos && setIsFocos(true)}} onBlur={()=>{setIsFocos && setIsFocos(false)}} ref={refFocos} id=\"GeneralSearchBox\" autoFocus={autoFocus} onMouseDown={(e) => e.stopPropagation()} value={searchInputVal ==null ?defultSerach:searchInputVal} onChange={changeSearchInputVal} className=\"search-bar__input form-control\" type=\"text\" placeholder={trans(`Search`)} />\r\n
{setSearchInputVal(\"\") ;}} className={`search-bar__del-search-filter ${(searchInputVal == null ||searchInputVal == \"\") ? \"d-none\" : \"\"}`}>\r\n \r\n
\r\n
\r\n
)\r\n :\r\n (
\r\n
\r\n
\r\n {}\r\n
\r\n {setIsFocos && setIsFocos(true)}} onBlur={()=>{setIsFocos && setIsFocos(false) ;setSearchInputVal(\"\") ;onChange && onChange(\"\")}} onMouseDown={(e) => e.stopPropagation()} value={searchInputVal ==null ?\"\":searchInputVal} onChange={changeSearchInputVal} className=\"search-bar-icon__input form-control\" type=\"text\" placeholder={trans(`Search`)} />\r\n
\r\n
)\r\n \r\n )\r\n}","import { useState } from 'react';\r\nimport './style.scss'\r\nimport { trans } from 'utils/helpers';\r\n\r\ninterface SwitchBtnProps{\r\n handleModeCard : (e:boolean)=>void\r\n cardStyle:boolean,\r\n setColor?: 'defaultColor' | 'customerColor',\r\n setShape?: 'Square' | 'circle',\r\n firstMode:string,\r\n secondMode:string,\r\n}\r\n\r\nexport const SwitchBtn = ({handleModeCard,cardStyle,firstMode,secondMode,setColor='defaultColor',setShape='Square'}:SwitchBtnProps) => {\r\n \r\n return ( \r\n
\r\n
{trans(firstMode)}
\r\n
{handleModeCard(!cardStyle)}}>\r\n {}}/>\r\n
\r\n
\r\n \r\n
{trans(secondMode)}
\r\n
\r\n );\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { getDictionarySelectBox } from \"./api\";\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\n\r\ninterface DictionaryTypeSelectProps {\r\n value?: any;\r\n mode?: string;\r\n resetForm?: boolean;\r\n revert?: boolean;\r\n name: string;\r\n label: string;\r\n endPoint: string;\r\n baseUrl?: string;\r\n required?: boolean;\r\n keyForDictionary?: string;\r\n transe?: boolean;\r\n params?: any;\r\n recordedData?: any;\r\n Change?: (e) => void;\r\n onChange?: (e: any, obj?: any) => void;\r\n useTrans?: boolean;\r\n addCustomValue?:any\r\n}\r\nexport const DictionarySelectBox = React.memo(({\r\n recordedData,\r\n revert = false,\r\n params,\r\n label,\r\n required = false,\r\n keyForDictionary,\r\n baseUrl,\r\n useTrans = false,\r\n endPoint,\r\n value,\r\n name,\r\n mode,\r\n resetForm,\r\n onChange,\r\n Change,\r\n addCustomValue=false\r\n}: DictionaryTypeSelectProps) => {\r\n const [dictionarySelectBox, setDictionarySelectBox] = useState();\r\n const [defaultval, setdefault] = useState(value);\r\n const [errcode, setErrcode] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const getDictionarySelectBoxAsync = async () => {\r\n setLoading(false);\r\n const res = await getDictionarySelectBox(endPoint, baseUrl, params);\r\n if (res?.Data == null) {\r\n setDictionarySelectBox({});\r\n } else {\r\n if (res?.Data) {\r\n if(addCustomValue){\r\n setDictionarySelectBox({[addCustomValue]:null,...res?.Data});\r\n \r\n }else{\r\n \r\n setDictionarySelectBox(res?.Data);\r\n }\r\n if (!value) {\r\n if(!keyForDictionary){\r\n onChange &&\r\n onChange(Object.keys(res?.Data)[0], {\r\n Id: Object.keys(res?.Data)[0],\r\n Name: Object.values(res?.Data)[0],\r\n });\r\n }else{\r\n onChange &&\r\n onChange(Object.keys(res?.Data)[0],Object.values(res?.Data)[0]);\r\n }\r\n } else {\r\n if(!keyForDictionary){\r\n onChange &&\r\n onChange(value, {\r\n Id: value,\r\n // Name: Object.values(res?.Data)[value],\r\n Name: res?.Data[value],\r\n\r\n });\r\n }else{\r\n onChange &&\r\n onChange(value,res?.Data[value]);\r\n }\r\n }\r\n \r\n } else {\r\n setDictionarySelectBox(res);\r\n if(!keyForDictionary){\r\n onChange &&\r\n onChange(Object.keys(res)[0], {\r\n Id: Object.keys(res)[0],\r\n Name: Object.values(res)[0],\r\n });\r\n }else{\r\n onChange &&\r\n onChange(Object.keys(res)[0], Object.values(res)[0]);\r\n\r\n }\r\n }\r\n }\r\n try {\r\n } catch (error: any) {\r\n setErrcode(error.response?.status);\r\n setDictionarySelectBox(null);\r\n }\r\n setLoading(true);\r\n };\r\n\r\n const handleOnChange = (e) => {\r\n if(!keyForDictionary){\r\n onChange &&\r\n onChange(e.target.value, {\r\n Id: e.target.value,\r\n Name: dictionarySelectBox[e.target.value],\r\n });\r\n }else{\r\n onChange &&\r\n onChange(e.target.value, dictionarySelectBox[e.target.value]);\r\n }\r\n Change && Change(true);\r\n\r\n if (\r\n e.target &&\r\n e.target.value != (value ? value : Object.keys(dictionarySelectBox)[0])\r\n ) {\r\n Change && Change({ [name]: e.target.value });\r\n } else {\r\n Change && Change({ [name]: null });\r\n }\r\n };\r\n\r\n\r\n useEffect(() => {\r\n getDictionarySelectBoxAsync();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if( params && !!Object.keys(params).length)\r\n getDictionarySelectBoxAsync();\r\n }, [params && JSON.stringify(params)]);\r\n\r\n\r\n useEffect(() => {\r\n setdefault(value);\r\n }, [resetForm]);\r\n\r\n return (\r\n <>\r\n {dictionarySelectBox && loading ? (\r\n <>\r\n {\r\n handleOnChange(e);\r\n }}\r\n lable={label}\r\n selectType={\"select\"}\r\n options={\r\n revert\r\n ? Object.keys(dictionarySelectBox)\r\n :( keyForDictionary? Object.values(dictionarySelectBox).map((item:any)=>item[keyForDictionary+\"\"]) : Object.values(dictionarySelectBox))\r\n }\r\n val={Object.keys(dictionarySelectBox)}\r\n name={name}\r\n value={value}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={required}\r\n useTrans={useTrans}\r\n recordedData={recordedData}\r\n />\r\n
\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n});\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getDictionarySelectBox = (async (endPoint,baseUrl?,params?) => await http({\r\n baseURL:baseUrl,\r\n url: endPoint,\r\n method: 'get',\r\n params : {\r\n ...params\r\n }\r\n})\r\n .then((response) => (response.data))\r\n\r\n)","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { getReport, postReport } from \"./api\"\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\"\r\nimport { Textbox } from \"components/Textbox/Textbox\"\r\nimport { Button } from \"components/Button/Button\"\r\nimport { ICON_TYPE, REPORT_URL } from \"utils/constants\"\r\nimport { Toast } from \"components/ToastShow/ToastAlert\"\r\nimport { removeReport } from \"components/ButtonPrintIcon/api\"\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\"\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\"\r\nimport { ENDPOINTS } from \"utils/endpoints\"\r\nimport { MessageType } from \"types/enum\"\r\ninterface ButtonToolbarprint {\r\n onClick?: () => void,\r\n Callback: (id: any) => void,\r\n objectTag?: string,\r\n reportDomain?: string,\r\n\r\n}\r\nexport const ButtonPrintToolbar: React.FC = ({ onClick, Callback,objectTag ,reportDomain=\"OfficeAutomation\" }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarReportStarting = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState()\r\n const [selectoptions, setSelectOptions] = useState()\r\n const [showCreateReport, setShowCreateReport] = useState(false)\r\n \r\n const [reportName, setReportName] = useState()\r\n const [reportPath, setReportPath] = useState()\r\n const [scope, setScope] = useState()\r\n const [reportGroupId, setReportGroupId] = useState()\r\n const [showOperations, setShowOperations] = useState(false);\r\n const formButton = useRef();\r\n const showOperationsRef = useRef(false);\r\n const [loading, setLoading] = useState()\r\n const [rotate , setRotate] = useState(false);\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n async function sendDataAsync(data) {\r\n \r\n try {\r\n const res = await postReport(data)\r\n Callback && Callback(res.Data+\"Design\")\r\n setShowCreateReport(false)\r\n getDataAsync()\r\n } catch (error) {\r\n \r\n }\r\n\r\n\r\n }\r\n async function getDataAsync() {\r\n setRotate(true)\r\n setLoading(false)\r\n try {\r\n let option:any = []\r\n if(objectTag){\r\n const res = await getReport(objectTag)\r\n Object.keys(res).map(item=>{\r\n \r\n option.push({Id:item,Name :res[item] })\r\n })\r\n \r\n }\r\n if(option.length >0){\r\n \r\n option.push({Id:\"Default\"+option[0].Id ,Name :trans(\"edit\")+\" \"+ trans(\"defaulttemplate\") })\r\n }\r\n option.push({Id:\"Design\" ,Name :\"create\" })\r\n setLoading(true)\r\n setOptions(option)\r\n } catch (error) {\r\n let option:any = []\r\n option.push({Id:\"Design\" ,Name :\"create\" })\r\n setOptions(option)\r\n setLoading(true)\r\n }\r\n }\r\n\r\n function selectboxValSetter(id) {\r\n setSelectOptions(id)\r\n if(id != \"Design\"){\r\n Callback && Callback(id);\r\n }else{\r\n setShowCreateReport(true)\r\n }\r\n setShowSubMenu(false)\r\n if(buttonToolbarReportStarting.current) (buttonToolbarReportStarting.current as HTMLButtonElement).blur();\r\n \r\n }\r\n\r\n function formSubmit(e){\r\n e.preventDefault()\r\n let report= {\r\n \"reportName\": reportName,\r\n \"ReportFileName\":reportPath+\".mrt\",\r\n \"isUseInDashboard\": false,\r\n \"reportGroupId\": reportGroupId,\r\n \"objectTag\": objectTag,\r\n \"scope\": +scope,\r\n }\r\n /* let applications = applicationIds?.map(item=>{return item.Id}) */\r\n sendDataAsync(report);\r\n }\r\n function clickToCloseSubMenu(e){\r\n if(e.target.type != \"button\")\r\n setShowSubMenu(false)\r\n document.removeEventListener(\"click\" ,clickToCloseSubMenu)\r\n}\r\nfunction hideSubMenuFunction(e) {\r\n document.addEventListener(\"click\",clickToCloseSubMenu)\r\n \r\n}\r\n\r\n async function removeReportAsync(id) {\r\n try {\r\n await removeReport(id)\r\n getDataAsync()\r\n } catch (error) {\r\n \r\n }\r\n}\r\n useEffect(() => {\r\n \r\n getDataAsync()\r\n }, [objectTag]);\r\n\r\n return (\r\n\r\n <> \r\n {showCreateReport &&\r\n { setShowCreateReport(false) }} show={showCreateReport}>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {setReportName(e.target.value)}}\r\n defaultValue={\"\"}\r\n labelText=\"PrintTemplateName\"\r\n mode={\"edit\"}\r\n />\r\n
\r\n
\r\n {setReportPath(e.target.value)}}\r\n defaultValue={\"\"}\r\n labelText=\"reportPath\"\r\n mode={\"edit\"}\r\n />\r\n
\r\n
\r\n {/* DV */}\r\n \r\n
\r\n
\r\n {setReportGroupId(e) }} \r\n required={true} \r\n mode={\"view\"} \r\n name=\"ReportGroupDictionary\" \r\n value={reportDomain}\r\n label=\"ReportGroup\"\r\n baseUrl={REPORT_URL}\r\n endPoint={ENDPOINTS.reportST.reportGroup.dictionary}\r\n params={{reportDomain:reportDomain}} />\r\n
\r\n\r\n
\r\n
\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n }\r\n {objectTag && \r\n
\r\n \r\n
\r\n }\r\n \r\n )\r\n }","import { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { MessageType } from \"types/enum\";\r\nimport { REPORT_URL } from \"utils/constants\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getReport = (objectTag) => http({\r\n baseURL:REPORT_URL ,\r\n url: ENDPOINTS.reportST.report.dictionary,\r\n method: 'get',\r\n params: {\r\n objectTag: objectTag\r\n }\r\n}).then((response) => (response.data))\r\n\r\n\r\n\r\n\r\nexport const postReport =( async (data) => await http({\r\n baseURL:REPORT_URL ,\r\n url: ENDPOINTS.reportST.report.browsTemplate,\r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n // Toast(err.response.data.Message , \"error\")\r\n Toast(err.response.data.Message , MessageType.error)\r\n\r\n return Promise.reject( err);\r\n})\r\n)\r\n\r\n\r\n\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\"\r\nimport { useContext, useEffect, useRef, useState } from \"react\"\r\nimport { ICON_TYPE } from \"utils/constants\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { getProcessStarting } from \"./api\"\r\nimport \"./style.scss\"\r\ninterface ButtonToolbarProcessStartingProps {\r\n onClick?: () => void,\r\n Callback: (ans: any) => void,\r\n positionId?: string,\r\n}\r\nexport const ButtonToolbarProcessStarting: React.FC = ({ onClick, Callback, positionId }) => {\r\n const [posId, setPosId] = useState(positionId);\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const layoutContext = useContext(LayoutContext);\r\n const [options, setOptions] = useState()\r\n async function getDataAsync() {\r\n try {\r\n const response = await getProcessStarting(layoutContext.currentApplication.Id , layoutContext.currentUserPosition.PositionId);\r\n setOptions(response.Data);\r\n } catch (error) {\r\n setOptions(null)\r\n }\r\n\r\n }\r\n useEffect(() => {\r\n getDataAsync();\r\n\r\n }, [layoutContext.currentUserPosition , layoutContext.currentApplication]);\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n }\r\n function selectboxValSetter(event) {\r\n Callback && Callback(event.currentTarget.getAttribute('data-value'));\r\n setShowSubMenu(false)\r\n if (buttonToolbarProcessStarting.current) (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n }\r\n return (\r\n <> {options && options?.length > 0 &&
\r\n \r\n
\r\n }\r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getProcessStarting = ( ApplicationId,positionId: any) => http({\r\n url: ENDPOINTS.bpmnApi.process.getStarting,\r\n method: 'get',\r\n params: {\r\n \r\n applicationId : ApplicationId\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err)\r\n })\r\n\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { getProcess } from \"./api\"\r\nimport \"./style.scss\"\r\nimport { ICON_TYPE } from \"utils/constants\"\r\ninterface ButtonToolbarSecretariatFilter {\r\n onClick?: () => void,\r\n Callback: (id: any) => void,\r\n positionId?: string,\r\n}\r\nexport const ButtonToolbarSecretariatFilter: React.FC = ({ onClick, Callback, positionId }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState()\r\n const [selectoptions, setSelectOptions] = useState()\r\n const [loading, setLoading] = useState()\r\n const [rotate , setRotate] = useState(false);\r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n async function getDataAsync() {\r\n setLoading(false)\r\n\r\n try {\r\n \r\n const res = await getProcess()\r\n let option:any = []\r\n if (res.Data){\r\n \r\n option = Object.keys(res.Data).map(item=>{\r\n return {Id:item ,Name : res.Data[item] }\r\n })\r\n }\r\n option.push({Id:\"\" ,Name :\"All\" })\r\n let selected = localStorage.getItem(\"SecretariatFilter\")\r\n if(selected){\r\n setSelectOptions(selected)\r\n \r\n }\r\n setOptions(option)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n }\r\n function selectboxValSetter(event) {\r\n setSelectOptions(event.currentTarget.getAttribute('data-value'))\r\n localStorage.setItem(\"SecretariatFilter\" ,event.currentTarget.getAttribute('data-value') )\r\n Callback && Callback(event.currentTarget.getAttribute('data-value'));\r\n setShowSubMenu(false)\r\n if (buttonToolbarProcessStarting.current) (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n }\r\n useEffect(() => {\r\n if(showSubMenu &&options==null){\r\n getDataAsync()\r\n }\r\n }, [showSubMenu]);\r\n\r\n\r\n return (\r\n <> \r\n
\r\n \r\n
\r\n \r\n \r\n )\r\n }","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getProcess = () => http({\r\n url: ENDPOINTS.secretariat.secretariat.dictionaryAll,\r\n method: 'get',\r\n // params: {\r\n // positionId: positionId\r\n // }\r\n}).then((response) => (response.data))","\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\"\r\nimport { useContext, useEffect, useRef, useState } from \"react\"\r\nimport { ICON_TYPE } from \"utils/constants\"\r\nimport { trans } from \"utils/helpers\"\r\n\r\ninterface ButtonToolbarDesign {\r\n\r\n Callback: (ans: any) => void,\r\n \r\n}\r\nexport const ButtonToolbarDesign: React.FC = ({ Callback }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarEditSalesForms = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState(['FileWithNewVersion','EditCurrentVersion'])\r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n }\r\n function selectboxValSetter(event) {\r\n Callback && Callback(event);\r\n setShowSubMenu(false)\r\n if (buttonToolbarEditSalesForms.current) (buttonToolbarEditSalesForms.current as HTMLButtonElement).blur();\r\n }\r\n return (\r\n <> {options && Object.values(options)?.length > 0 &&
\r\n \r\n
\r\n }\r\n \r\n )\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\ninterface ButtonToolbarShowActiveRowsOnlyFilter {\r\n onClick?: () => void,\r\n Callback: (id: any) => void,\r\n positionId?: string,\r\n}\r\nexport const ButtonToolbarShowActiveRowsOnlyFilter: React.FC = ({ onClick, Callback, positionId }) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n const buttonToolbarProcessStarting = useRef(null);\r\n const [showSubMenu, setShowSubMenu] = useState(false);\r\n const [options, setOptions] = useState()\r\n const [selectoptions, setSelectOptions] = useState(null)\r\n \r\n\r\n function showSubMenuFunction() {\r\n setShowSubMenu(true)\r\n }\r\n async function getDataAsync() {\r\n let option:any = []\r\n\r\n option.push({Id:0 ,Name :\"all\" },{Id:1 ,Name :\"getActiveRowsOnly\" })\r\n let selected = localStorage.getItem(\"ShowActiveRowsOnlyFilter\")\r\n if(selected){\r\n setSelectOptions(selected)\r\n Callback && Callback(selected);\r\n\r\n }else{\r\n setSelectOptions(1)\r\n }\r\n setOptions(option)\r\n }\r\n function hideSubMenuFunction() {\r\n setShowSubMenu(false)\r\n }\r\n function selectboxValSetter(type) {\r\n setSelectOptions(type)\r\n localStorage.setItem(\"ShowActiveRowsOnlyFilter\" ,type )\r\n Callback && Callback(type);\r\n setShowSubMenu(false)\r\n if (buttonToolbarProcessStarting.current) (buttonToolbarProcessStarting.current as HTMLButtonElement).blur();\r\n \r\n \r\n }\r\n\r\n useEffect(() => {\r\n getDataAsync()\r\n\r\n }, []);\r\n\r\n return (\r\n <> {options &&
\r\n \r\n
\r\n }\r\n \r\n )\r\n }","import { ButtonToolbar } from \"components/ButtonToolbar/ButtonToolbar\";\r\nimport { ButtonToolbarCreateUser } from \"components/ButtonToolbarCreateUser/ButtonToolbarCreateUser\";\r\nimport { ButtonToolbarHolidaysType } from \"components/ButtonToolbarHolidaysType/ButtonToolbarHolidaysType\";\r\nimport { ButtonToolbarMyOwnRequest } from \"components/ButtonToolbarMyOwnRequest/ButtonToolbarMyOwnRequest\";\r\nimport { ButtonToolbarProcessFilter } from \"components/ButtonToolbarProcessFilter/ButtonToolbarProcessFilter\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\n\r\nimport { ButtonToolbarArchiveFile } from \"components/ButtonToolbarArchiveFile/ButtonToolbarArchiveFile\";\r\nimport { ButtonToolbarCreateArchive } from \"components/ButtonToolbarCreateArchive/ButtonToolbarCreateArchive\";\r\nimport { ButtonToolbarCreateitem } from \"components/ButtonToolbarCreateItem/ButtonToolbarCreateItem\";\r\nimport { ButtonToolbarCreateManual } from \"components/ButtonToolbarCreateManual/ButtonToolbarCreateManual\";\r\nimport { ButtonToolbarCreateReports } from \"components/ButtonToolbarCreateReports/ButtonToolbarCreateReports\";\r\nimport { ButtonToolbarCreateWarehouse } from \"components/ButtonToolbarCreateWarehouse/ButtonToolbarCreateWarehouse\";\r\nimport { ButtonToolbarCreateWarehouseIo } from \"components/ButtonToolbarCreateWarehouseIo/ButtonToolbarCreateWarehouseIo\";\r\nimport { ButtonToolbarEditSalesForms } from \"components/ButtonToolbarEditSalesForms/ButtonToolbarEditSalesForms\";\r\nimport { ButtonToolbarEnumerationFilter } from \"components/ButtonToolbarEnumerationFilter/ButtonToolbarEnumerationFilter\";\r\nimport { ButtonToolbarPersonnelCartable } from \"components/ButtonToolbarPersonnelCartable/ButtonToolbarPersonnelCartable\";\r\nimport { ButtonToolbarPersonType } from \"components/ButtonToolbarPersonType/ButtonToolbarPersonType\";\r\nimport { ButtonToolbarShowDeletedFilter } from \"components/ButtonToolbarShowDeletedFilter/ButtonToolbarShowDeletedFilter\";\r\nimport { ButtonToolbarStartProcess } from \"components/ButtonToolbarStartProcess/ButtonToolbarStartProcess\";\r\nimport { ButtonToolbarWarehouse } from \"components/ButtonToolbarWarehouse/ButtonToolbarWarehouse\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { SwitchBtn } from \"components/SwitchBtn/SwitchBtn\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { ButtonPrintToolbar } from \"pages/Secretariats/LettersPage/components/Toolbar/ButtonPrintToolbar/ButtonPrintToolbar\";\r\nimport { ButtonToolbarProcessStarting } from \"pages/Secretariats/LettersPage/components/Toolbar/ButtonToolbarProcessStarting/ButtonToolbarProcessStarting\";\r\nimport { ButtonToolbarSecretariatFilter } from \"pages/Secretariats/LettersPage/components/Toolbar/ButtonToolbarSecretariatFilter/ButtonToolbarSecretariatFilter\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nimport { ButtonToolbarDesign } from \"components/ButtonToolbarDesign/ButtonToolbarDesign\";\r\nimport { ButtonToolbarShowActiveRowsOnlyFilter } from \"components/ButtonToolbarShowActiveRowsOnlyFilter/ButtonToolbarShowActiveRowsOnlyFilter\";\r\n\r\ninterface props {\r\n handleClickToolbar: (clickedButtonName: string) => void;\r\n handleSelectedFilterPersonType?: (clickedButtonName: any) => void;\r\n handleSelectedFilterProcess?: (clickedButtonName: any) => void;\r\n handleSelectedJobstatusFilter?: (clickedButtonName: any) => void;\r\n handleSelectedcreateUser?: (clickedButtonName: any) => void;\r\n handleSelectedProcessWithIdFilterToolbar?: (clickedButtonName: any) => void;\r\n handleSelectedFilterPersonalTaskStatus?: (clickedButtonName: any) => void;\r\n handleSelectedHolidaysType?: (clickedButtonName: any) => void;\r\n handleSelectedMyOwnRequestStartForm?: (clickedButtonName: any) => void;\r\n handleSelectedStartProcess?: (clickedButtonName: any) => void;\r\n handleSelectedStartingProcessToolbar?: (selectedStarting: string) => void;\r\n handleSelectedProcessFilterToolbar?: (selectedProcessFilter: any) => void;\r\n handleShowDeletedFilterToolbar?: (selectedFilter: any) => void;\r\n handleShowActiveRowsOnlyFilterToolbar?: (selectedFilter: any) => void;\r\n handleCreateArchive?: (selectedFilter: any) => void;\r\n handleCreateWarehouse?: (selectedFilter: any) => void;\r\n handleCreateReports?: (selectedFilter: any) => void;\r\n handleCreateItem?: (selectedProcessFilter: any) => void;\r\n handleCreateManual?: (selected: any) => void;\r\n handleSelectedArchive?: null | ((selectedProcessFilter: any) => void);\r\n handleSearch?: (str: any) => void;\r\n handlePrint?: (str: any) => void;\r\n handleChangePersonnelCartable?: (str: any) => void;\r\n setShowMode?: (str: any) => void;\r\n editSalesFormsCallBack?: (str: any) => void;\r\n showMode?: boolean;\r\n id?: string;\r\n emptyList?: boolean;\r\n reminder?: boolean;\r\n create?: boolean;\r\n view?: boolean;\r\n refresh?: boolean;\r\n edit?: boolean;\r\n search?: boolean;\r\n defultSerach?: any;\r\n remove?: boolean;\r\n attach?: boolean;\r\n members?: boolean;\r\n people?: boolean;\r\n download?: boolean;\r\n upload?: boolean;\r\n reference?: boolean;\r\n specialreference?: boolean;\r\n assignRule?: boolean;\r\n action?: boolean;\r\n history?: boolean;\r\n related?: boolean;\r\n Tree?: boolean;\r\n assignApp?: boolean;\r\n assignIcon?: boolean;\r\n report?: boolean;\r\n finish?: boolean;\r\n move?: boolean;\r\n OrganizationTypeFilter?: boolean;\r\n reply?: boolean;\r\n cancel?: boolean;\r\n current?: boolean;\r\n archive?: boolean;\r\n reverse?: boolean;\r\n forceStop?: boolean;\r\n info?: boolean;\r\n chat?: boolean;\r\n copy?: boolean;\r\n paste?: boolean;\r\n calendar?: boolean;\r\n transfer?: boolean;\r\n pattern?: boolean;\r\n reserve?: boolean;\r\n Export?: boolean;\r\n Print?: boolean;\r\n Import?: boolean;\r\n Importprocesses?: boolean;\r\n Delivery?: boolean;\r\n excel?: boolean;\r\n save?: boolean;\r\n editInGrid?: boolean;\r\n price?: boolean;\r\n boxes?: boolean;\r\n warehouse?: boolean;\r\n PersonnelCartable?: boolean;\r\n properties?: boolean;\r\n tax?: boolean;\r\n barcode?: boolean;\r\n user?: boolean;\r\n insertnote?: boolean;\r\n objectTag?: string;\r\n alarme?: boolean;\r\n design?: boolean;\r\n ConversionRatio?: boolean;\r\n voiding?: boolean;\r\n editSalesForms?: string;\r\n helpBtn?: boolean;\r\n more?: any;\r\n settingPattern?: boolean;\r\n recovery?: boolean;\r\n values?:boolean;\r\n SyncRole?:boolean;\r\n createWarehouseIoForm?:any\r\n handleCreateWarehouseIo?:any\r\n reportDesign?:any,\r\n reportDesignCallBack?:any,\r\n createMenu?:boolean\r\n sync?:boolean\r\n}\r\nexport const Toolbar: React.FC = ({\r\n handleClickToolbar,\r\n handleSelectedFilterPersonType,\r\n handleSelectedFilterProcess,\r\n handleSelectedJobstatusFilter,\r\n handleSelectedcreateUser,\r\n handleSelectedFilterPersonalTaskStatus,\r\n handleSelectedHolidaysType,\r\n handleSelectedMyOwnRequestStartForm,\r\n handleSelectedStartProcess,\r\n handleSelectedStartingProcessToolbar,\r\n handleSelectedProcessFilterToolbar,\r\n handleShowDeletedFilterToolbar,\r\n handleShowActiveRowsOnlyFilterToolbar,\r\n handleSelectedProcessWithIdFilterToolbar,\r\n handleCreateArchive,\r\n handleCreateWarehouse,\r\n handleCreateReports,\r\n handleCreateItem,\r\n handleCreateManual,\r\n handleSearch,\r\n handlePrint,\r\n handleSelectedArchive,\r\n handleChangePersonnelCartable,\r\n setShowMode,\r\n editSalesFormsCallBack,\r\n showMode = false,\r\n id,\r\n emptyList,\r\n create,\r\n action,\r\n reminder,\r\n view = true,\r\n refresh = true,\r\n edit,\r\n search,\r\n defultSerach = null,\r\n remove,\r\n attach,\r\n members,\r\n people,\r\n download,\r\n upload,\r\n reference,\r\n specialreference,\r\n assignRule,\r\n related,\r\n history,\r\n Tree,\r\n assignApp,\r\n assignIcon,\r\n report,\r\n finish,\r\n move,\r\n OrganizationTypeFilter,\r\n reply,\r\n cancel,\r\n current,\r\n reverse,\r\n archive,\r\n forceStop,\r\n info,\r\n chat,\r\n copy,\r\n paste,\r\n calendar,\r\n transfer,\r\n pattern,\r\n reserve,\r\n Export,\r\n Print = false,\r\n Import,\r\n Importprocesses,\r\n Delivery,\r\n excel = true,\r\n warehouse = false,\r\n save,\r\n editInGrid,\r\n price,\r\n boxes,\r\n properties,\r\n tax,\r\n barcode,\r\n PersonnelCartable,\r\n insertnote,\r\n objectTag,\r\n user,\r\n alarme,\r\n design,\r\n ConversionRatio,\r\n voiding,\r\n editSalesForms,\r\n helpBtn = true,\r\n more = true,\r\n settingPattern = false,\r\n recovery = false,\r\n values=false,\r\n SyncRole=false,\r\n createWarehouseIoForm,\r\n handleCreateWarehouseIo,\r\n reportDesign=false,\r\n reportDesignCallBack,\r\n createMenu=false,\r\n sync=false\r\n}) => {\r\n const [shortcutList, setShortcutList] = useState({});\r\n\r\n const [openToolbar, setOpenToolbar] = useState(false);\r\n const [isFocos, setIsFocos] = useState(false);\r\n const [personnelCartableName, setPersonnelCartableName] =\r\n useState(\"\");\r\n const layoutContext = useContext(LayoutContext); \r\n const toggleToolbar = () => {\r\n setOpenToolbar(!openToolbar);\r\n };\r\n\r\n const handleSelectedLetterProcessStarting = (id: string) => {\r\n handleSelectedStartingProcessToolbar &&\r\n handleSelectedStartingProcessToolbar(id);\r\n };\r\n\r\n const handleSelectedLetterFilterProcess = (id: string) => {\r\n handleSelectedProcessFilterToolbar &&\r\n handleSelectedProcessFilterToolbar(id);\r\n };\r\n\r\n useEffect(() => {\r\n // window.addEventListener(\"keydown\" , keydown)\r\n let StorageShortcut = localStorage.getItem(\"Shortcut\");\r\n let ShortcutList;\r\n if (StorageShortcut == null) {\r\n setShortcutList({});\r\n } else {\r\n ShortcutList = JSON.parse(StorageShortcut);\r\n setShortcutList(ShortcutList);\r\n }\r\n }, []);\r\n return (\r\n
\r\n
\r\n
\r\n {setShowMode && (\r\n \r\n )}\r\n {search ? (\r\n \r\n ) : null}\r\n
\r\n
\r\n \r\n {more && (\r\n \r\n +\r\n \r\n )}\r\n\r\n \r\n {personnelCartableName}\r\n \r\n }\r\n >\r\n
\r\n {PersonnelCartable ? (\r\n {\r\n handleChangePersonnelCartable &&\r\n handleChangePersonnelCartable(e);\r\n setPersonnelCartableName(e.Name);\r\n }}\r\n onClick={() => {\r\n handleClickToolbar(\"refresh\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"currentwarehouse\")}\r\n \r\n }\r\n >\r\n
\r\n {warehouse &&\r\n layoutContext.currentApplication?.Name ==\r\n \"InventoryManagement\" ? (\r\n {\r\n handleClickToolbar(\"refresh\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"design\")}\r\n \r\n }\r\n >\r\n
\r\n {design ? (\r\n {\r\n handleClickToolbar(\"design\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"design\")}\r\n \r\n }\r\n >\r\n
\r\n {reportDesign ? (\r\n {\r\n reportDesignCallBack && reportDesignCallBack(e)}}\r\n \r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n\r\n\r\n \r\n {trans(\"select ItemGroup\")}\r\n \r\n }\r\n >\r\n
\r\n {boxes ? (\r\n {\r\n handleClickToolbar(\"boxes\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n {save ? \r\n {trans(\"save\")}\r\n \r\n }\r\n >\r\n
\r\n \r\n {\r\n handleClickToolbar(\"save\");\r\n }}\r\n />\r\n \r\n
\r\n \r\n : null}\r\n {cancel ? (\r\n \r\n {trans(\"cancel\")}\r\n \r\n }\r\n >\r\n
\r\n {\r\n handleClickToolbar(\"cancel\");\r\n }}\r\n />\r\n
\r\n \r\n ):<> }\r\n \r\n {trans(\"Filter\") + \" \" + trans(\"Process\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedProcessWithIdFilterToolbar ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Filter\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedProcessFilterToolbar ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Filter\")}\r\n \r\n }\r\n >\r\n \r\n
\r\n {handleShowActiveRowsOnlyFilterToolbar ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Filter\")}\r\n \r\n }\r\n >\r\n
\r\n {handleShowDeletedFilterToolbar ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"PersonType\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedFilterPersonType ? (\r\n
\r\n {\r\n if (handleSelectedFilterPersonType) {\r\n handleSelectedFilterPersonType(e);\r\n }\r\n }}\r\n />\r\n
\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Filter\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedFilterProcess ? (\r\n {\r\n if (handleSelectedFilterProcess) {\r\n handleSelectedFilterProcess(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"Filter\") + \" \" + trans(\"status\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedJobstatusFilter ? (\r\n {\r\n if (handleSelectedJobstatusFilter) {\r\n handleSelectedJobstatusFilter(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Filter\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedFilterPersonalTaskStatus ? (\r\n {\r\n if (handleSelectedFilterPersonalTaskStatus) {\r\n handleSelectedFilterPersonalTaskStatus(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"reserve\")}\r\n \r\n }\r\n >\r\n
\r\n {reserve ? (\r\n {\r\n handleClickToolbar(\"reserve\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"transfer\")}\r\n \r\n }\r\n >\r\n
\r\n {transfer ? (\r\n {\r\n handleClickToolbar(\"transfer\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"paste\")}\r\n \r\n }\r\n >\r\n
\r\n {paste ? (\r\n {\r\n handleClickToolbar(\"paste\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"pattern\")}\r\n \r\n }\r\n >\r\n
\r\n {pattern ? (\r\n {\r\n handleClickToolbar(\"pattern\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"copy\")}\r\n \r\n }\r\n >\r\n
\r\n {copy ? (\r\n {\r\n handleClickToolbar(\"copy\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"accepted\")}\r\n \r\n }\r\n >\r\n
\r\n {Import ? (\r\n {\r\n handleClickToolbar(\"import\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(window.location.href.includes('reports')?'ImportReport': window.location.href.includes('customers')?\"importcustomers\" :\"importprocess\")}\r\n \r\n }\r\n >\r\n
\r\n {Importprocesses ? (\r\n {\r\n handleClickToolbar(\"import\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Delivery\")}\r\n \r\n }\r\n >\r\n
\r\n {Delivery ? (\r\n {\r\n handleClickToolbar(\"Delivery\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(window.location.href.includes('reports')?'ExportReport':\"exportprocess\")}\r\n \r\n }\r\n >\r\n
\r\n {Export ? (\r\n {\r\n handleClickToolbar(\"export\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"print\")}\r\n \r\n }\r\n >\r\n
\r\n {!emptyList && Print ? (\r\n {\r\n handlePrint && handlePrint(e);\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"excel\")}\r\n \r\n }\r\n >\r\n
\r\n {excel ? (\r\n {\r\n handleClickToolbar(\"excel\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"void\")}\r\n \r\n }\r\n >\r\n
\r\n {voiding ? (\r\n {\r\n handleClickToolbar(\"voiding\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"currencyRate\")}\r\n \r\n }\r\n >\r\n
\r\n {ConversionRatio ? (\r\n {\r\n handleClickToolbar(\"ConversionRatio\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"info\")}\r\n \r\n }\r\n >\r\n
\r\n {info ? (\r\n {\r\n handleClickToolbar(\"info\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"forceStop\")}\r\n \r\n }\r\n >\r\n
\r\n {forceStop ? (\r\n {\r\n handleClickToolbar(\"forceStop\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"insertnote\")}\r\n \r\n }\r\n >\r\n
\r\n {insertnote ? (\r\n {\r\n handleClickToolbar(\"insertnote\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"chat\")}\r\n \r\n }\r\n >\r\n
\r\n {chat ? (\r\n {\r\n handleClickToolbar(\"chat\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"report\")}\r\n \r\n }\r\n >\r\n
\r\n {report ? (\r\n {\r\n handleClickToolbar(\"report\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"reminder\")}\r\n \r\n }\r\n >\r\n
\r\n {reminder ? (\r\n {\r\n handleClickToolbar(\"reminder\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Upload\")}\r\n \r\n }\r\n >\r\n
\r\n {upload ? (\r\n {\r\n handleClickToolbar(\"Upload\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"action\")}\r\n \r\n }\r\n >\r\n
\r\n {action ? (\r\n {\r\n handleClickToolbar(\"action\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"Download\")}\r\n \r\n }\r\n >\r\n
\r\n {download ? (\r\n {\r\n handleClickToolbar(\"Download\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"transfer\")}\r\n \r\n }\r\n >\r\n
\r\n {move ? (\r\n {\r\n handleClickToolbar(\"move\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"members\")}\r\n \r\n }\r\n >\r\n
\r\n {members ? (\r\n {\r\n handleClickToolbar(\"members\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"people\")}\r\n \r\n }\r\n >\r\n
\r\n {people ? (\r\n {\r\n handleClickToolbar(\"people\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"Role\")}\r\n \r\n }\r\n >\r\n
\r\n {assignRule ? (\r\n {\r\n handleClickToolbar(\"AssignRule\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"createuserwithdetailcode\")}\r\n \r\n }\r\n >\r\n
\r\n {user ? (\r\n {\r\n handleClickToolbar(\"user\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"history\")}\r\n \r\n }\r\n >\r\n
\r\n {history ? (\r\n {\r\n handleClickToolbar(\"history\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"related\")}\r\n \r\n }\r\n >\r\n
\r\n {related ? (\r\n {\r\n handleClickToolbar(\"related\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Tree\")}\r\n \r\n }\r\n >\r\n
\r\n {Tree ? (\r\n {\r\n handleClickToolbar(\"Tree\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"App\")}\r\n \r\n }\r\n >\r\n
\r\n {assignApp ? (\r\n {\r\n handleClickToolbar(\"assignApp\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Icon\")}\r\n \r\n }\r\n >\r\n
\r\n {assignIcon ? (\r\n {\r\n handleClickToolbar(\"assignicon\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"reply\")}\r\n \r\n }\r\n >\r\n
\r\n {reply ? (\r\n {\r\n handleClickToolbar(\"reply\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n {attach ? (\r\n \r\n {trans(\r\n window.location.href.includes(\"item\")\r\n ? \"picture\"\r\n : \"attach\"\r\n )}\r\n \r\n }\r\n >\r\n
\r\n handleClickToolbar(\"attach\")}\r\n />\r\n
\r\n \r\n ) : null}\r\n\r\n \r\n {trans(\"finish\")}\r\n \r\n }\r\n >\r\n
\r\n {finish ? (\r\n {\r\n handleClickToolbar(\"finish\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"reverse\")}\r\n \r\n }\r\n >\r\n
\r\n {reverse ? (\r\n {\r\n handleClickToolbar(\"reverse\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"reference\")}\r\n \r\n }\r\n >\r\n
\r\n {reference ? (\r\n {\r\n handleClickToolbar(\"reference\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"specialreference\")}\r\n \r\n }\r\n >\r\n
\r\n {specialreference ? (\r\n {\r\n handleClickToolbar(\"specialreference\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"settoinprogress\")}\r\n \r\n }\r\n >\r\n
\r\n {current ? (\r\n {\r\n handleClickToolbar(\"current\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Archive\")}\r\n \r\n }\r\n >\r\n
\r\n {archive ? (\r\n {\r\n handleClickToolbar(\"archive\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"archive\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedArchive ? (\r\n {\r\n handleSelectedArchive && handleSelectedArchive(e);\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"tax\")}\r\n \r\n }\r\n >\r\n
\r\n {tax ? (\r\n {\r\n handleClickToolbar(\"tax\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"barcode\")}\r\n \r\n }\r\n >\r\n
\r\n {barcode ? (\r\n {\r\n handleClickToolbar(\"barcode\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"properties\")}\r\n \r\n }\r\n >\r\n
\r\n {properties ? (\r\n {\r\n handleClickToolbar(\"properties\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"values\")}\r\n \r\n }\r\n >\r\n
\r\n {values ? (\r\n {\r\n handleClickToolbar(\"values\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"delete\")}\r\n \r\n }\r\n >\r\n
\r\n {remove ? (\r\n {\r\n handleClickToolbar(\"remove\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"price\")}\r\n \r\n }\r\n >\r\n
\r\n {price ? (\r\n {\r\n handleClickToolbar(\"price\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"SyncRole\")}\r\n \r\n }\r\n >\r\n
\r\n {SyncRole ? (\r\n {\r\n handleClickToolbar(\"SyncRole\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n\r\n\r\n \r\n {trans(\"sync\")}\r\n \r\n }\r\n >\r\n
\r\n {sync ? (\r\n {\r\n handleClickToolbar(\"sync\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n\r\n \r\n {trans(\"refresh\")}\r\n \r\n }\r\n >\r\n
\r\n {refresh ? (\r\n {\r\n handleClickToolbar(\"refresh\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedStartingProcessToolbar ? (\r\n \r\n ) : null}\r\n
\r\n \r\n <>\r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedMyOwnRequestStartForm ? (\r\n {\r\n if (handleSelectedMyOwnRequestStartForm) {\r\n handleSelectedMyOwnRequestStartForm(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedStartProcess ? (\r\n {\r\n if (handleSelectedStartProcess) {\r\n handleSelectedStartProcess(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n <>\r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedHolidaysType ? (\r\n {\r\n if (handleSelectedHolidaysType) {\r\n handleSelectedHolidaysType(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n <>\r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {create ? (\r\n {\r\n handleClickToolbar(\"create\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedcreateUser ? (\r\n {\r\n if (handleSelectedcreateUser) {\r\n handleSelectedcreateUser(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {handleCreateArchive ? (\r\n {\r\n if (handleCreateArchive) {\r\n handleCreateArchive(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {handleCreateWarehouse && handleCreateWarehouse != undefined ? (\r\n {\r\n if (handleCreateWarehouse) {\r\n handleCreateWarehouse(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {handleCreateReports && handleCreateReports != undefined ? (\r\n {\r\n if (handleCreateReports) {\r\n handleCreateReports(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n {handleCreateItem && (\r\n <>\r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {handleCreateItem && handleCreateItem != undefined ? (\r\n {\r\n if (handleCreateItem) {\r\n handleCreateItem(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {handleCreateItem &&\r\n window.location.href.includes(\"item-groups\") &&\r\n handleCreateItem != undefined ? (\r\n {\r\n if (handleCreateItem) {\r\n handleCreateItem(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n )}\r\n {handleCreateManual && (\r\n <>\r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {handleCreateManual && handleCreateManual != undefined ? (\r\n {\r\n if (handleCreateManual) {\r\n handleCreateManual(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {handleCreateItem &&\r\n window.location.href.includes(\"item-groups\") &&\r\n handleCreateItem != undefined ? (\r\n {\r\n if (handleCreateItem) {\r\n handleCreateItem(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n )}\r\n \r\n {trans(\"view\")}\r\n \r\n }\r\n >\r\n
\r\n {view ? (\r\n {\r\n handleClickToolbar(\"view\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"edit\")}\r\n \r\n }\r\n >\r\n
\r\n {edit ? (\r\n {\r\n e == 1\r\n ? handleClickToolbar(\"edit\")\r\n : e == 2\r\n ? handleClickToolbar(\"editgrid\")\r\n : handleClickToolbar(\"groupedit\");\r\n }}\r\n options={\r\n editInGrid\r\n ? [\r\n { val: 1, text: trans(\"EditRow\") },\r\n { val: 2, text: trans(\"EditTable\") },\r\n { val: 3, text: trans(\"GroupEdit\") },\r\n ]\r\n : null\r\n }\r\n id={id}\r\n hotKey={shortcutList[\"edit\"]}\r\n faIcon={[ICON_TYPE, \"edit\"]}\r\n text=\"Edit\"\r\n onClick={\r\n editInGrid\r\n ? () => {}\r\n : () => {\r\n handleClickToolbar(\"edit\");\r\n }\r\n }\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"edit\")}\r\n \r\n }\r\n >\r\n
\r\n {editSalesForms ? (\r\n {\r\n editSalesFormsCallBack && editSalesFormsCallBack(e);\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n {trans(\"edit\")}\r\n \r\n }\r\n >\r\n
\r\n {createWarehouseIoForm ? (\r\n {\r\n if (handleCreateWarehouseIo) {\r\n handleCreateWarehouseIo(e);\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"Hover_CreateMenu_Reports\")}\r\n \r\n }\r\n >\r\n
\r\n {createMenu ? (\r\n {\r\n handleClickToolbar(\"createMenu\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n\r\n\r\n\r\n \r\n {trans(\"messagePatterns\")}\r\n \r\n }\r\n >\r\n
\r\n {settingPattern ? (\r\n {\r\n handleClickToolbar(\"settingPattern\");\r\n }}\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n {helpBtn && (\r\n \r\n {trans(\"help\")}\r\n \r\n }\r\n >\r\n
\r\n {\r\n handleClickToolbar(\"help\");\r\n }}\r\n />\r\n
\r\n \r\n )}\r\n\r\n \r\n {trans(\"recovery\")}\r\n \r\n }\r\n >\r\n
\r\n {recovery && (\r\n {\r\n handleClickToolbar(\"recovery\");\r\n }}\r\n />\r\n )}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useState, useEffect, useRef } from \"react\"\r\nimport { CalendarEventType } from \"types/enum\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport './../../style.scss';\r\n\r\n\r\ninterface Props {\r\n dayNum: number // day number \r\n firstDay: number[] // first days of submitted events\r\n currentDayNumber: number // day number of today\r\n sendSelectedDaysUp: (selectedDay: { day: number, Year: number,month: number, checked: boolean,id:string,description:string }) => void\r\n sendClickDaysUp?: (selectedDay: any) => void\r\n selectedDays ? :any\r\n\r\n eventList: { dayId: number, eventMessage: string, id: number }[]\r\n selectedDay?: number\r\n\r\n month: number\r\n YearOfMonth: number\r\n CalendarEvent?: number\r\n holiday: number[] | undefined | null\r\n formSubmitted: boolean,\r\n id?:any\r\n description?:any\r\n}\r\n\r\nexport const CalendarDay = ({ dayNum,selectedDay,selectedDays,description ,sendClickDaysUp,id, sendSelectedDaysUp,CalendarEvent , YearOfMonth , eventList, month, holiday, firstDay, currentDayNumber, formSubmitted }: Props) => {\r\n const [day, setDay] = useState<{ day: number, Year: number,month: number, checked: boolean }>({ checked: false,day:dayNum ,month:month , Year :YearOfMonth });\r\n const [showTooltip, setShowTooltip] = useState(false);\r\n const [currentDayEventList, setCurrentDayEventList] = useState(false);\r\n const [defaultChecked, setDefaultChecked] = useState(null);\r\n\r\n\r\n const isHoliday = (holiday && holiday?.some(day => day === dayNum) ||(CalendarEvent && CalendarEvent == CalendarEventType[\"NationalWeekend\"] || CalendarEvent == CalendarEventType[\"NationalHoliday\"] )) // check if current day is holiday\r\n \r\n const isFirstDay = true // check if current day is first day of submitted event\r\n // const isFirstDay = firstDay?.some(day => day === dayNum) // check if current day is first day of submitted event\r\n\r\n\r\n\r\n\r\n\r\n const handleSelectedDayOnclick = () => {\r\n // setDay(state => ({ ...state, checked: !state.checked }))\r\n sendSelectedDaysUp({day:dayNum ,month:month , Year :YearOfMonth , checked: day.checked,id,description })\r\n }\r\n \r\n\r\n // reset all checkbox after event-form submitted ...\r\n useEffect(() => {\r\n let filter= eventList.filter(event => event.dayId === dayNum) // current day events\r\n if( filter.length >1||( CalendarEvent && CalendarEvent != CalendarEventType[\"NationalEvent\"] && CalendarEvent != CalendarEventType[\"NationalHoliday\"] && CalendarEvent != CalendarEventType[\"NationalWeekend\"] &&CalendarEvent !=CalendarEventType[\"OrganizationalWeekend\"]) ||CalendarEvent == undefined ){\r\n\r\n }\r\n let newFilter:any =[]\r\n filter.forEach(item=>{\r\n if(item.eventMessage.length > 1){\r\n newFilter.push(item) \r\n }\r\n })\r\n \r\n setCurrentDayEventList(newFilter)\r\n\r\n \r\n if (formSubmitted) {\r\n setDay(state => ({ ...state, checked: false }))\r\n }\r\n }, [formSubmitted , eventList])\r\n \r\n useEffect(() => {\r\n if(currentDayNumber == dayNum){\r\n sendClickDaysUp && sendClickDaysUp(day)\r\n }\r\n }, [currentDayNumber ])\r\n\r\n\r\n useEffect(() => {\r\n let flag = false\r\n selectedDays.map(item=>{\r\n if(item.day == dayNum && item.month ==month && item.Year ==YearOfMonth ){\r\n flag = true\r\n setDay(item)\r\n }\r\n })\r\n if(!flag && day.checked){\r\n setDay(state => ({ ...state, checked: false }))\r\n }\r\n \r\n }, [selectedDays ])\r\n\r\n\r\n return (\r\n <>\r\n \r\n {dayNum}\r\n \r\n
{sendClickDaysUp && sendClickDaysUp(day)}} className=\"eventcalendar__tbody-cell-content mt-4 d-flex flex-column\">\r\n {currentDayEventList.length > 0 &&\r\n \r\n {isFirstDay && currentDayEventList[0]?.eventMessage}\r\n \r\n }\r\n {currentDayEventList.length > 1 &&\r\n { setShowTooltip(true) }} className=\"text-primary text-end ms-0 ms-md-1\">بیشتر ...\r\n }\r\n
\r\n \r\n\r\n {showTooltip &&\r\n
\r\n
\r\n { setShowTooltip(false) }} style={{ cursor: \"pointer\" }} />\r\n {dayNum}/{month}/{YearOfMonth}\r\n
\r\n
\r\n {currentDayEventList.map(event => (\r\n \r\n {event.eventMessage}\r\n \r\n ))}\r\n
\r\n
\r\n }\r\n \r\n )\r\n}","import { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { REGEX } from \"utils/regex\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n\r\ninterface TimeProps {\r\n name: string,\r\n resetForm?: boolean,\r\n limited?: boolean,\r\n defaultValue?: number,\r\n max?: number,\r\n label?: string,\r\n IdString?: string,\r\n mode?: string,\r\n type?:\"dateTime\"|\"Time\" ,\r\n useTrans?:boolean,\r\n required?: boolean,\r\n Change?: (e) => void,\r\n onChange?: (e) => void,\r\n}\r\nexport const Time = ({type =\"Time\" , Change ,onChange, name,useTrans=true,IdString=\"\", limited,max, defaultValue, label,mode, resetForm , required}: TimeProps) => {\r\n let actualTimeRegex = new RegExp(REGEX.actualTime.regex);\r\n const [timeInputValue, setTimeInputValue] = useState(defaultValue ? minuteToHour(defaultValue) : \"\" );\r\n const [timeValue, setTimeValue] = useState(0);\r\n const [minutesValue, setMinutesValue] = useState(0);\r\n const [hourValue, setHourValue] = useState(0);\r\n const [textTime, setTextTime] = useState();\r\n\r\n\r\n let [MsgShow, setMsgShow] = useState(false);\r\n let [MsgText , setMsgText] = useState(false);\r\n\r\n \r\n function fixNumber(number: number) {\r\n if (number >= 0 && number < 10)\r\n return `0${number}`\r\n return number;\r\n }\r\n\r\n function minuteToHour(minute: number) {\r\n \r\n let hour = Math.floor(minute / 60);\r\n minute = minute % 60;\r\n return `${fixNumber(hour)}:${fixNumber(minute)}`;\r\n }\r\n\r\n function updateMinutesInput(event) { \r\n let time:any = event.target.value\r\n if( !Number.isNaN(+time)){\r\n if(time){\r\n if(time>60){\r\n event.target.setCustomValidity(trans(`Msg_Validation_ValidMaxMinutes`));\r\n setMsgText( trans(`Msg_Validation_ValidMaxMinutes`));\r\n setMsgShow(true);\r\n event.target.reportValidity();\r\n\r\n }else{\r\n if(hourValue ===\"00\" &&minutesValue ===\"00\" ){\r\n }else{\r\n \r\n event.target.setCustomValidity(\"\");\r\n setMsgText(\"\");\r\n setMsgShow(false);\r\n\r\n }\r\n }\r\n\r\n }else{\r\n }\r\n setTextTime(((+time+ (hourValue ? +hourValue*60 : 0))+\"دقیقه\"))\r\n setMinutesValue(+time)\r\n }\r\n }\r\n function updateHourInput(event) { \r\n let time:any = event.target.value\r\n if( !Number.isNaN(+time)){\r\n\r\n if(type === \"Time\"){\r\n setHourValue(time)\r\n setTextTime(((+minutesValue+ +time*60)+\"دقیقه\"))\r\n\r\n\r\n }else{\r\n if(time>24){\r\n event.target.setCustomValidity(trans(\"Msg_Validation_ValueIsIncorrect\"));\r\n setMsgText(trans(\"Msg_Validation_ValueIsIncorrect\"));\r\n setMsgShow(true);\r\n event.target.reportValidity();\r\n\r\n }else{\r\n event.target.setCustomValidity(\"\");\r\n setMsgText(\"\");\r\n setMsgShow(false);\r\n\r\n setHourValue(time)\r\n setTextTime(((+minutesValue+ +time*60)+\"دقیقه\"))\r\n\r\n }\r\n\r\n\r\n }\r\n }\r\n }\r\n function cheakTime(event) {\r\n let check = false ;\r\n if(hourValue >=0 || minutesValue >=0){\r\n if(hourValue>=0){\r\n if(minutesValue!== undefined && minutesValue>=0){\r\n if(max&&(+hourValue * 60 + +minutesValue>max)){\r\n check = true\r\n event.target.classList.add(\"shake\");\r\n setTimeout(() => {\r\n event.target.classList.remove(\"shake\");\r\n }, 350);\r\n event.target.value = timeInputValue;\r\n }else{\r\n\r\n setTimeValue(+hourValue * 60 + +minutesValue) \r\n }\r\n }else{\r\n if(max&&(+hourValue * 60 >max)){\r\n check = true\r\n\r\n event.target.classList.add(\"shake\");\r\n setTimeout(() => {\r\n event.target.classList.remove(\"shake\");\r\n }, 350);\r\n event.target.value = timeInputValue;\r\n }else{\r\n\r\n setTimeValue(+hourValue * 60 ) \r\n }\r\n }\r\n \r\n }else{\r\n if(max&&( +minutesValue>max)){\r\n check = true\r\n\r\n event.target.classList.add(\"shake\");\r\n setTimeout(() => {\r\n event.target.classList.remove(\"shake\");\r\n }, 350);\r\n event.target.value = timeInputValue;\r\n }else{\r\n\r\n setTimeValue( +minutesValue) \r\n }\r\n \r\n }\r\n }else{\r\n \r\n event.target.classList.add(\"shake\");\r\n setTimeout(() => {\r\n event.target.classList.remove(\"shake\");\r\n }, 350);\r\n event.target.value = timeInputValue;\r\n \r\n }\r\n if(check&&max){\r\n setHourValue((max-(max %60)) /60);\r\n setMinutesValue(max %60);\r\n setTextTime(((max)+\"دقیقه\"))\r\n setTimeValue(max);\r\n }else{\r\n defaultValue != hourValue*60 + minutesValue ? Change&&Change({[name] :timeValue}):Change&&Change({[name]:null});\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (defaultValue){ \r\n setHourValue((defaultValue-(defaultValue %60)) /60);\r\n setMinutesValue(defaultValue %60);\r\n setTextTime(((defaultValue)+\"دقیقه\"))\r\n setTimeValue(defaultValue);\r\n }\r\n }, [defaultValue]);\r\n\r\n useEffect(() => {\r\n if (resetForm){\r\n setTimeInputValue(\"\")\r\n setTimeValue(0)\r\n }\r\n }, [resetForm])\r\n useEffect(() => {\r\n\r\n let time:any = timeInputValue.split(\":\")\r\n let Mtime:any\r\n if(time[1]){\r\n Mtime = (time[0]*60)+(+time[1])\r\n }else{\r\n Mtime = +time[0]\r\n }\r\n setTimeValue(Mtime) \r\n }, [timeInputValue])\r\n useEffect(() => {\r\n onChange&&onChange(timeValue)\r\n }, [timeValue])\r\n return (\r\n
\r\n \r\n {trans(label+\"\")}\r\n \r\n }\r\n >\r\n
\r\n {label ? (\r\n
\r\n \r\n {required ? * : \"\"}\r\n
\r\n ) : null}\r\n
\r\n \r\n \r\n
\r\n e.stopPropagation() }\r\n disabled={mode ===\"view\" ? true : false}\r\n onChange={updateMinutesInput}\r\n onBlur={cheakTime}\r\n type=\"text\"\r\n name=\"\"\r\n id={IdString}\r\n className={`action-form__time-input form-control-custom w-25 ${mode ===\"view\" ? \" disabled\" : \"\"}` }\r\n value={minutesValue < 10 ? `0${minutesValue}`: minutesValue}\r\n //autoComplete={\"off\"}\r\n />\r\n : \r\n e.stopPropagation() }\r\n disabled={mode ===\"view\" ? true : false}\r\n onChange={updateHourInput}\r\n onBlur={cheakTime}\r\n type=\"text\"\r\n name=\"\"\r\n id={IdString}\r\n className={`action-form__time-input form-control-custom w-25 ${mode ===\"view\" ? \" disabled\" : \"\"}` }\r\n value={hourValue == 0 ? `0${0}`: +hourValue}\r\n // autoComplete={\"off\"}\r\n />\r\n
\r\n
\r\n {type === \"Time\" && textTime}\r\n
\r\n
\r\n \r\n {MsgText}\r\n \r\n
\r\n
\r\n \r\n );\r\n}\r\n ","import { Button } from \"components/Button/Button\"\r\nimport { sendEventApi } from \"components/EventCalendar/api\"\r\nimport { Textbox } from \"components/Textbox/Textbox\"\r\nimport { Time } from \"components/Time/Time\"\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { useEffect, useState } from \"react\"\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\"\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface Props {\r\n selectedDays: any[],\r\n year:any ,\r\n month:any ,\r\n sendEventMessageUp: (eventData: {dayId: number, eventMessage: string, id: number}[]) => void\r\n setShowEventForm: React.Dispatch>\r\n sendFormSubmissionUp: (submitted: boolean) => void\r\n setSelectedDays: React.Dispatch>,\r\n}\r\n\r\nexport const EventForm = ({year , month , selectedDays, sendEventMessageUp, setShowEventForm, sendFormSubmissionUp, setSelectedDays}:Props) => {\r\n const [days, setDays] = useState([]);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n \r\n async function sendNodeAsync(data ,method) {\r\n try{\r\n await sendEventApi(data , method);\r\n }catch(err:any){\r\n\r\n }\r\n }\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault()\r\n const data = e.target.eventMessage.value\r\n const id = Math.floor(Math.random() * 100000)\r\n if(!data.length){\r\n // Toast(trans(\"Msg_EnterMessage\"), \"warning\")\r\n Toast(\"ChooseADay\", MessageType.warning)\r\n return\r\n } \r\n let CalendarType ={\r\n fa :1 ,\r\n en :2 ,\r\n er:3\r\n }\r\n const eventData = selectedDays.map(num => ({\r\n CalendarEventType:+e.target.CalendarEventType.value,\r\n dayId: num,\r\n eventMessage: data,\r\n id\r\n })) \r\n let lang = localStorage.getItem('lang') || \"fa\"\r\n\r\n const eventDataSend = selectedDays.map(num => ({\r\n MinuteNo:+e.target.Time[0].value % 60,\r\n HourNo: (+e.target.Time[0].value-(+e.target.Time[0].value % 60))/60,\r\n YearNo: year ,\r\n MonthNo:month ,\r\n DayNo: num.day ,\r\n Description: e.target.eventMessage.value ,\r\n CalendarType: +CalendarType[lang] ,\r\n CalendarEventType:+e.target.CalendarEventType.value,\r\n }))\r\n eventDataSend.forEach(item=>{\r\n sendNodeAsync(item,\"post\")\r\n })\r\n sendEventMessageUp(eventData)\r\n sendFormSubmissionUp(true)\r\n setSelectedDays([])\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n setShowEventForm(false)\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n \r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n let dayStr = selectedDays.map(item=>{\r\n return `${year}/${month}/${item.day}`\r\n }) \r\n setDays(dayStr)\r\n }, []);\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {/* DV */}\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n mode={\"create\"}\r\n label=\"CalendarEventType\"\r\n name=\"CalendarEventType\" \r\n value={\"\"} \r\n enumTypeSelect=\"CalendarEventType\"\r\n />\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"textarea\"\r\n textboxName=\"eventMessage\"\r\n labelText=\"Description\"\r\n maxLength={900}\r\n defaultValue={''}\r\n mode={\"create\"}\r\n \r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getCalendar = (async (year?, month?) => await http({\r\n url: ENDPOINTS.calendar.calendar.browse,\r\n method: 'get',\r\n params: {\r\n year: year,\r\n month: month\r\n }\r\n})\r\n .then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject(err);\r\n }));\r\n\r\nexport const getCalendarDay = (async (year, month, day) => await http({\r\n url: ENDPOINTS.calendar.calendar.load,\r\n method: 'get',\r\n params: {\r\n year: year,\r\n month: month,\r\n day: day\r\n }\r\n})\r\n.then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n}));\r\n\r\nexport const sendEventApi = (data , method) => http({\r\n url: ENDPOINTS.calendar.OrganizationEvents.Calendar,\r\n method: method,\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\nexport const putEventApi = (data) => http({\r\n url:ENDPOINTS.calendar.OrganizationEvents.browse,\r\n method: 'put',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n \r\nexport const deleteEventApi = (data) => http({\r\n url: ENDPOINTS.calendar.OrganizationEvents.list,\r\n method: 'delete',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n}) ","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Loading } from 'components/Loading/loading';\r\nimport { ModalForm } from 'components/ModalForm/ModalForm';\r\nimport { Toast } from 'components/ToastShow/ToastAlert';\r\nimport { Toolbar } from 'components/Toolbar/Toolbar';\r\nimport { useEffect, useState } from 'react';\r\nimport { ICON_TYPE } from 'utils/constants';\r\nimport { trans } from 'utils/helpers';\r\nimport { deleteEventApi, getCalendar, getCalendarDay } from './api';\r\nimport { CalendarDay } from './component/CalendarDay/CalendarDay';\r\nimport { EventForm } from './component/EventForm/EventForm';\r\nimport './style.scss';\r\nimport { MessageType } from 'types/enum';\r\n\r\n// fake data for test\r\n//const weekdays_fa = [trans(\"Saturday\"), trans(\"Sunday\"), trans(\"Monday\"), trans(\"Tuesday\"), trans(\"Wednesday\"), trans(\"Thursday\"), trans(\"Friday\")];\r\nconst weekdays_fa = [\"Saturday\", \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\"];\r\nconst weekdays_en = [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"];\r\n\r\nexport const EventCalendar = () => {\r\n // let days: React.ReactElement[] = [];\r\n let startDay ;\r\n const lang = localStorage.getItem('lang');\r\n const [dayDictionary, setDayDictionary] = useState();\r\n const weekdays = lang == \"en\" ? weekdays_en : weekdays_fa;\r\n const [loading, setLoading] = useState(false);\r\n const [dayLoading, setDayLoading] = useState(false);\r\n const [data, setData] = useState();\r\n const [days, setDays] = useState([]);\r\n const [eventDays, setEventDays] = useState();\r\n const [emptyDays, setEmptyDays] = useState();\r\n const [selectedMonthNo, setSelectedMonthNo] = useState(0);\r\n const [selectedYearNo, setSelectedYearNo] = useState(0);\r\n const [selectedDayNo, setSelectedDayNo] = useState(0);\r\n const [showEventForm, setShowEventForm] = useState(false)\r\n const [selectedDays, setSelectedDays] = useState([])\r\n const [eventList, setEventList] = useState<{ dayId: number, eventMessage: string, id: number }[]>([])\r\n const [firstDay, setFirstDay] = useState([]) // first days of submitted events\r\n const [formSubmitted, setFormSubmitted] = useState(false)\r\n const [errcode, setErrcode] = useState();\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [mode,setMode]=useState<'create' | 'view' | 'edit'>('create')\r\n\r\n let customFuction: any = []\r\n customFuction.push([(e) => { EventFormShowFunction() }, \"calendar\", \"event\"]);\r\n customFuction.push([(e) => { HolidayFormShowFunction() }, \"calendar\", \"holiday\"]);\r\n\r\n const EventFormShowFunction = () => {\r\n if (selectedDays.length) {\r\n setShowEventForm(true)\r\n setFormSubmitted(false)\r\n } else Toast(\"ChooseADay\", MessageType.warning)\r\n // Toast(\"ChooseADay\", 'warning')\r\n };\r\n const HolidayFormShowFunction = () => {\r\n if (selectedDays.length) {\r\n setShowEventForm(true)\r\n setFormSubmitted(false)\r\n } else Toast(\"ChooseADay\", MessageType.warning)\r\n //Toast(\"ChooseADay\", 'warning')\r\n };\r\n const clickNextMonth = () => {\r\n if (selectedMonthNo === 0) {\r\n data ? setSelectedMonthNo(data.MonthNo + 1) : setSelectedMonthNo(new Date().getMonth());\r\n } else {\r\n if (selectedMonthNo === 12) {\r\n setSelectedMonthNo(1);\r\n data ? setSelectedYearNo(data.YearOfMonth + 1) : setSelectedYearNo(new Date().getFullYear());\r\n } else\r\n setSelectedMonthNo(selectedMonthNo + 1);\r\n }\r\n };\r\n const clickPreMonth = () => {\r\n if (selectedMonthNo === 0) {\r\n data ? setSelectedMonthNo(data.MonthNo - 1) : setSelectedMonthNo(new Date().getMonth());\r\n } else {\r\n if (selectedMonthNo === 1) {\r\n setSelectedMonthNo(12);\r\n data ? setSelectedYearNo(data.YearOfMonth - 1) : setSelectedYearNo(new Date().getFullYear());\r\n } else\r\n setSelectedMonthNo(selectedMonthNo - 1);\r\n }\r\n };\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\": alert(\"print \"); break;\r\n // case \"excel\": alert(\"excel \"); break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n case \"create\": {\r\n if (selectedDays.length) {\r\n setShowEventForm(true)\r\n setFormSubmitted(false)\r\n setMode('create')\r\n } else Toast(\"ChooseADay\", MessageType.warning)\r\n //Toast(\"ChooseADay\", 'warning')\r\n break;\r\n }\r\n case 'remove':{deleteEventApiAsync()}break;\r\n\r\n }\r\n };\r\n \r\n \r\n const sendSelectedDaysUp = (selectedDay: { day: number, Year: number,month: number, checked: boolean ,id:string}) => {\r\n const { day, checked , Year ,month ,id } = selectedDay;\r\n if (!checked) {\r\n setSelectedDays(state => [...state, {...selectedDay ,checked:!selectedDay.checked,id}])\r\n } else {\r\n const filteredDays = selectedDays.filter(item => (item.day != selectedDay.day ||item.month != selectedDay.month ||item.Year != selectedDay.Year ))\r\n setSelectedDays(filteredDays)\r\n }\r\n }\r\n \r\n\r\n const sendEventMessageUp = (eventData: { dayId: number, eventMessage: string, id: number }[]) => {\r\n setEventList(eventData)\r\n const sortedDay = eventData.map(item => item.dayId).sort(function (a, b) { return b - a })\r\n for (let i = 0; i < sortedDay.length; i++) {\r\n if (sortedDay[i] - sortedDay[i + 1] > 1) setFirstDay(state => [...state, sortedDay[i], sortedDay[sortedDay.length - 1]])\r\n else if (sortedDay[i] - sortedDay[i + 1] === 1) setFirstDay(state => [...state, sortedDay[sortedDay.length - 1]])\r\n else if (sortedDay.length === 1) setFirstDay(state => [...state, sortedDay[i]])\r\n }\r\n manageShowData()\r\n }\r\n\r\n let removedDuplicate = firstDay.filter((day, index) => {\r\n return firstDay.indexOf(day) === index;\r\n });\r\n\r\n const sendFormSubmissionUp = (submitted) => {\r\n setFormSubmitted(submitted)\r\n }\r\n const manageShowData = (days = data, Events: any = data?.CalendarEvents) => {\r\n if (days && Events) {\r\n startDay = weekdays.findIndex(day => day === days?.FirstDayOfWeek);\r\n let day: any = [];\r\n let empty: any = [];\r\n let eventDay = Events.map(item => {\r\n return item?.DayNo\r\n })\r\n for (let i = 0; i < startDay; i++) {\r\n empty.push(
)\r\n }\r\n for (let i = 0; i < days.MonthDaysRange; i++) {\r\n day.push(i)\r\n }\r\n setEmptyDays(empty)\r\n setEventDays(eventDay)\r\n setDays(day)\r\n }\r\n }\r\n const getCalendarDayAsync = async (day) => {\r\n setSelectedDayNo(day)\r\n if(day> 0){\r\n setDayLoading(false);\r\n try {\r\n const res = await getCalendarDay(data?.YearOfMonth, data?.MonthNo, day)\r\n let dayDic = Object.keys(res.Data).map(item => {\r\n return [item, res.Data[item]]\r\n })\r\n setDayDictionary(dayDic);\r\n } catch (error: any) {\r\n setErrcode(error.response.status)\r\n }\r\n setDayLoading(true);\r\n }\r\n }\r\n \r\n const getCalendarAsync = async () => {\r\n setLoading(false);\r\n\r\n try {\r\n setEventList([])\r\n setDays([])\r\n const res = await getCalendar(selectedYearNo > 0 ? selectedYearNo : undefined, selectedMonthNo > 0 ? selectedMonthNo : undefined)\r\n const eventData = res.Data?.CalendarEvents?.map(item => ({\r\n CalendarEventType: +item.CalendarEventType,\r\n dayId: item.DayNo,\r\n eventMessage: item.Description,\r\n id:item.Id\r\n }))\r\n sendEventMessageUp(eventData)\r\n manageShowData(res.Data, res.Data.CalendarEvents);\r\n setData(res.Data);\r\n } catch (error: any) {\r\n }\r\n setLoading(true);\r\n }\r\n\r\n const deleteEventApiAsync=async()=>{\r\n const removeItem=[] as any\r\n selectedDays.map((item)=>{\r\n eventList.map(e=>{\r\n if(item.id==e.id){\r\n removeItem.push(item.id)\r\n }\r\n })\r\n })\r\n setForceUpdate(!forceUpdate)\r\n \r\ntry{\r\n await deleteEventApi(removeItem)\r\n setForceUpdate(!forceUpdate)\r\n setSelectedDays([])\r\n\r\n}\r\ncatch(error){\r\n\r\n}\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n getCalendarAsync();\r\n }, [forceUpdate]);\r\n\r\n useEffect(() => {\r\n getCalendarAsync();\r\n }, [selectedMonthNo, selectedYearNo]);\r\n\r\n\r\n\r\n\r\n return (\r\n
\r\n \r\n \r\n {\r\n loading && days ?\r\n\r\n
\r\n
\r\n {dayDictionary && \r\n
\r\n
\r\n
\r\n { {trans(dayDictionary[0][0])}}\r\n { dayDictionary[0][1]}\r\n
\r\n
\r\n { {trans(dayDictionary[1][0])}}\r\n {dayDictionary[1][1]}\r\n\r\n
\r\n
\r\n { {trans(dayDictionary[2][0])}}\r\n {dayDictionary[2][1]}\r\n\r\n
\r\n
\r\n
\r\n }\r\n
\r\n \r\n
\r\n {data?.YearOfMonth}\r\n {data?.MonthName}\r\n
\r\n \r\n
\r\n\r\n
\r\n {selectedDays.map(item=>{\r\n return
\r\n
{ setSelectedMonthNo(item.month);}}>\r\n {item.Year}/{item.month}/{item.day}\r\n
\r\n
{sendSelectedDaysUp(item)}}>\r\n \r\n
\r\n
\r\n\r\n })}\r\n
\r\n\r\n
\r\n\r\n
\r\n {weekdays.map(day => (\r\n
{trans(day)}
\r\n ))\r\n }\r\n
\r\n {emptyDays}\r\n\r\n
\r\n {days.map((item, index) =>{ \r\n return (\r\n eventDays.includes(index + 1) ?\r\n { getCalendarDayAsync(e.day) }}\r\n selectedDay={selectedDayNo}\r\n key={index + 1}\r\n dayNum={index + 1}\r\n month={data?.MonthNo}\r\n YearOfMonth={data?.YearOfMonth}\r\n sendSelectedDaysUp={sendSelectedDaysUp}\r\n selectedDays={selectedDays}\r\n eventList={eventList}\r\n holiday={days.OrganizationEvents}\r\n firstDay={removedDuplicate}\r\n currentDayNumber={data.CurrentDayOfMonth}\r\n formSubmitted={formSubmitted}\r\n CalendarEvent={data?.CalendarEvents[eventDays.indexOf(index + 1)]?.CalendarEventType}\r\n id={data?.CalendarEvents[eventDays.indexOf(index + 1)]?.Id}\r\n />\r\n :\r\n { getCalendarDayAsync(e.day) }}\r\n selectedDay={selectedDayNo}\r\n key={index + 1}\r\n dayNum={index + 1}\r\n month={data?.MonthNo}\r\n YearOfMonth={data?.YearOfMonth}\r\n sendSelectedDaysUp={sendSelectedDaysUp}\r\n selectedDays={selectedDays}\r\n eventList={eventList}\r\n holiday={days.OrganizationEvents}\r\n firstDay={removedDuplicate}\r\n currentDayNumber={data.CurrentDayOfMonth}\r\n formSubmitted={formSubmitted}\r\n />\r\n\r\n\r\n )})}\r\n
\r\n { \r\n dayLoading ?\r\n dayDictionary &&\r\n
\r\n {dayDictionary[3][0] == \"Holiday\" &&

{dayDictionary[3][1]}

}\r\n {dayDictionary[3][0] == \"NotHoliday\" &&

}\r\n
\r\n : \r\n
\r\n
\r\n
\r\n }\r\n
\r\n\r\n : \r\n }\r\n {\r\n showEventForm && (\r\n { setShowEventForm(false) }} show={showEventForm}>\r\n {setForceUpdate(!forceUpdate)}}\r\n setShowEventForm={setShowEventForm}\r\n />\r\n )\r\n }\r\n
\r\n )\r\n}","/* import React from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\n\r\ninterface props {\r\n message: string\r\n type: 'info' | 'alert' | 'error'\r\n}\r\n\r\nexport const Message: React.FC = ({message, type}) => { \r\n return (\r\n
\r\n
\r\n
\r\n {type === 'info' && }\r\n {type === 'alert' && }\r\n {type === 'error' && }\r\n
\r\n
{trans(message)}
\r\n
\r\n
\r\n );\r\n};\r\n */\r\n\r\n\r\n \r\n\r\n\r\nimport React from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\n\r\ninterface props {\r\n message: string\r\n title?: string\r\n times?: boolean\r\n withtrans?: boolean\r\n type: 'info' | 'alert' | 'error'|'instruction'\r\n}\r\n\r\nexport const Message: React.FC = ({message,withtrans=true , type,title , times = false}) => { \r\n return (\r\n<> {times ? \r\n \r\n
\r\n
\r\n
\r\n
\r\n {type === 'info' && }\r\n {type === 'alert' && }\r\n {type === 'error' && }\r\n {type === 'instruction' && }\r\n
\r\n
{trans(message)}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n :\r\n\r\n
\r\n {title&&\r\n
{trans(title)}
\r\n }\r\n\r\n
\r\n
\r\n {type === 'info' && }\r\n {type === 'alert' && }\r\n {type === 'error' && }\r\n {type === 'instruction' && }\r\n
\r\n\r\n

1) ?withtrans? trans(message).replaceAll('\\n' , '
'): message.replaceAll('\\n' , '
') : trans(\"NoDataForPreview\")}}>

\r\n
\r\n
\r\n\r\n\r\n}\r\n );\r\n}; ","import { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface Props {\r\n totalRecords?: any;\r\n pageNum: number;\r\n pageSize: number;\r\n HandlePrevPage: () => void;\r\n HandleNextPage: () => void;\r\n handlechangePageSize: (e) => void;\r\n first: () => void;\r\n end: () => void;\r\n handleGoPage?: (e) => void;\r\n selectedPersonsId?: string[]\r\n}\r\nexport const PaginationNavbar = ({\r\n pageNum,\r\n pageSize,\r\n handleGoPage,\r\n first,\r\n end,\r\n HandlePrevPage,\r\n HandleNextPage,\r\n handlechangePageSize,\r\n selectedPersonsId,\r\n totalRecords\r\n}: Props) => {\r\n const goPage = useRef(\"\");\r\n const validPageSize = [5,10,15, 20, 25, 30, 40, 50, 100, 200];\r\n const focos = useRef(false);\r\n\r\n function kydown(event) {\r\n let forms = document.querySelectorAll(\"form \")\r\n let flag = true\r\n if (event.code === 'Enter'&& focos.current ){\r\n handleGoPage && handleGoPage(goPage.current)\r\n }else{\r\n\r\n \r\n Array.from(forms).map(item=>{\r\n if(item.className.includes(\"edit\")||item.className.includes(\"create\")){\r\n flag = false\r\n }\r\n })\r\n if(flag){\r\n if(event.key == \"PageDown\"){\r\n HandleNextPage()\r\n \r\n \r\n }else if(event.key == \"PageUp\"){\r\n HandlePrevPage()\r\n \r\n }else if(event.key == \"Home\"){\r\n end()\r\n \r\n }else if(event.key == \"End\"){\r\n first()\r\n } \r\n\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n document.addEventListener('keydown', kydown)\r\n return () => document.removeEventListener(\"keydown\", kydown);\r\n \r\n\r\n}, [])\r\n return (\r\n <>\r\n\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n \r\n
  • \r\n
  • \r\n 0 ? () => { \r\n // Toast(trans('pleaseUncheckSelectedPersons') , \"warning\")\r\n Toast(trans('pleaseUncheckSelectedPersons') , MessageType.warning)\r\n\r\n } : HandlePrevPage}\r\n >\r\n \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
  • \r\n 0 ? () => { \r\n // Toast(trans('pleaseUncheckSelectedPersons') , \"warning\")\r\n Toast(trans('pleaseUncheckSelectedPersons') , MessageType.warning)\r\n\r\n } : HandleNextPage}\r\n >\r\n \r\n \r\n
  • \r\n
  • \r\n \r\n
  • \r\n
\r\n
\r\n {handleGoPage &&\r\n
{e.preventDefault() ;handleGoPage(goPage.current) }} className=\"wrap-pagination__grand-child d-flex justify-content-between align-items-center\">\r\n
\r\n {trans(\"Goto\")}:\r\n
\r\n
\r\n focos.current = true} onBlur={()=>focos.current = false} type=\"number\" name=\"\" id=\"\" onChange={(e)=>{goPage.current = e.target.value}} className=\"pagination__input-number form-control-custom\" min={1} max={totalRecords > pageSize ? Math.ceil(totalRecords / pageSize) : 1} />\r\n
\r\n\r\n
\r\n \r\n {trans('Go')}\r\n \r\n
\r\n
}\r\n
\r\n
\r\n
\r\n {trans(\"NumberOfRecordsPerPage\")}:\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n {trans(\"TotalRecords\")}:{totalRecords}\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n","\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans, useOutsideClick } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\ninterface Form{\r\n Title?:string,\r\n Method?:string,\r\n columns?:any,\r\n removedColumns?:any,\r\n filter?:any,\r\n order?:any,\r\n handleOrderList: (e?: any) => void;\r\n handleFilterList: (e?: any) => void;\r\n setRemovedColumns: (e?: any) => void;\r\n setHoverSource: (e?: any) => void;\r\n HoverSource?:any,\r\n Status?:number,\r\n Task?:any,\r\n modalWidth?:any\r\n startIndex?:any\r\n parentName?:any\r\n}\r\n\r\n\r\nexport const GridSetting: React.FC
= ({parentName,HoverSource,setHoverSource ,startIndex ,setRemovedColumns, removedColumns ,columns , filter ,order,handleOrderList,handleFilterList , Task , Method, modalWidth}) => {\r\n const [orderList , setOrderList] = useState(order)\r\n const [filterList , setFilterList] = useState(filter)\r\n const [showGridSetting, setShowGridSetting] = useState(false);\r\n const [showOperations, setShowOperations] = useState(false);\r\n const [columnStatus, setColumnStatus] = useState({});\r\n const clickedOutside = () => {\r\n setShowOperations(false)\r\n // setIdCurrentMenu({})\r\n }\r\n const refBox =useOutsideClick(clickedOutside);\r\n\r\n\r\n const [hover, setHover] = useState(HoverSource);\r\n\r\n\r\n function toggleSortingFormat(text) {\r\n for (let i = 0; i < orderList.length; i++) {\r\n if (orderList[i].includes(text)) {\r\n if (orderList[i].includes(\"asc\"))\r\n return [\"up\", i]\r\n else if (orderList[i].includes(\"desc\"))\r\n return [\"down\", i]\r\n\r\n }\r\n }\r\n return \"\";\r\n}\r\n\r\nfunction createSortingFormat(text) {\r\n\r\n\r\n let itemExists = false;\r\n let Sorting: any = [];\r\n let newSortingFormat: string[] = [];\r\n\r\n for (let i = 0; i < orderList.length; i++) {\r\n if (orderList[i].includes(text)) { // اگر عنوان ستون داخل یکی از رشته ها بود\r\n itemExists = true;\r\n if (orderList[i].includes(\"asc\")) {\r\n newSortingFormat.push(orderList[i].replace(\"asc\", \"desc\"));\r\n }\r\n else if (orderList[i].includes(\"desc\")) {\r\n newSortingFormat.push(orderList[i].replace(\"desc\", \"asc\"));\r\n\r\n }\r\n\r\n } else {\r\n // یعنی اگر پیمایش آرایه به آخر رسید\r\n newSortingFormat.push(orderList[i]);\r\n }\r\n }\r\n if (itemExists) {\r\n Sorting = newSortingFormat\r\n } else {\r\n // Sorting = JSON.parse(JSON.stringify(sortingFormat))\r\n newSortingFormat.push(`${text} asc`)\r\n\r\n Sorting = newSortingFormat\r\n // setSortingFormat((old) => { return [...old, `${text} asc`] })\r\n }\r\n // setSortingFormat(Sorting)\r\n\r\n setOrderList(Sorting)\r\n\r\n}\r\n\r\nfunction deleteaOrder(e) {\r\n let newSortingFormat: string[] = [];\r\n orderList.forEach(item => {\r\n if(!item.includes(e)){\r\n newSortingFormat.push(item)\r\n }\r\n\r\n });\r\n\r\n setOrderList(newSortingFormat)\r\n}\r\nfunction deleteafilter(e) {\r\n\r\n let newfilterList:any=\"\"\r\n if(filterList.length > 0){\r\n filterList.split(\",\").forEach(item=>{\r\n if(!item.includes(e) && item.length >2){\r\n newfilterList+= ( item+\",\")\r\n \r\n\r\n }\r\n })\r\n\r\n setFilterList(newfilterList)\r\n }\r\n}\r\n\r\n\r\nfunction changeColumnsStatus(item) {\r\n let remoObject = JSON.parse(JSON.stringify(columnStatus))\r\n if(remoObject[item]){\r\n\r\n deleteafilter(item)\r\n deleteaOrder(item)\r\n }\r\n \r\n setColumnStatus({...remoObject , [item] : (remoObject[item] != null ? !remoObject[item] :false )})\r\n \r\n}\r\nfunction handleRemoveOrderList() {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n\r\n }\r\n\r\n locallist.forEach(item => {\r\n if (item[0] === parentName) {\r\n \r\n item[5] = []\r\n\r\n\r\n\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n handleOrderList && handleOrderList([])\r\n\r\n}\r\nasync function handleRemoveSettings() {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n \r\n }\r\n locallist.forEach(item => {\r\n if (item[0] === parentName) { \r\n item[6] = []\r\n item[5] = []\r\n item[4] = \"\"\r\n item[2] = []\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n handleOrderList && handleOrderList([])\r\n handleFilterList && handleFilterList(\"\")\r\n setRemovedColumns([])\r\n setShowOperations(false)\r\n setShowGridSetting(false)\r\n}\r\n\r\n\r\nfunction handleRemoveFilterList(e) {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n\r\n }\r\n\r\n locallist.forEach(item => {\r\n if (item[0] === parentName) {\r\n \r\n item[4] = \"\"\r\n\r\n\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n handleFilterList && handleFilterList(\"\")\r\n\r\n}\r\n\r\n\r\n\r\n function handleSaveSettings(e) {\r\n e.preventDefault()\r\n let removedlist:any = []\r\n document.forms[\"AdvancedSetting\"][\"columns\"].forEach(item=>{\r\n \r\n if(!item.checked)\r\n removedlist.push(item.defaultValue)\r\n })\r\n\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n\r\n }\r\n locallist.forEach(item => {\r\n if (item[0] === parentName) {\r\n item[4] = filterList\r\n item[5] = orderList\r\n item[6] = removedlist\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n handleFilterList(filterList)\r\n handleOrderList(orderList)\r\n setRemovedColumns(removedlist)\r\n setShowOperations(false)\r\n setShowGridSetting(false)\r\n\r\n }\r\n function changeHoverSource(e) {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n\r\n }\r\n locallist.forEach(item => {\r\n if (item[0] === parentName) {\r\n item[7] = e\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n\r\n }\r\n\r\nuseEffect(() => {\r\n if(showGridSetting){\r\n\r\n\r\n let remoObject:any ={}\r\n removedColumns.forEach(item => {\r\n remoObject[item] = false\r\n });\r\n setColumnStatus({...columnStatus , ...remoObject})\r\n }\r\n }, [showGridSetting]);\r\n\r\n useEffect(() => {\r\n\r\n setHover(HoverSource);\r\n \r\n }, [HoverSource]);\r\n\r\n\r\n\r\n\r\n\r\n return ( \r\n\r\n <>\r\n\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
{\r\n setShowOperations(false)\r\n setShowGridSetting(true)}}>\r\n {setShowGridSetting(true)}} style={{marginLeft:\"10px\"}} icon={[ICON_TYPE, \"sliders\"]}/> \r\n

{trans(\"MoreOptions\")}

\r\n
\r\n
\r\n
{handleRemoveSettings()}} >\r\n
{handleRemoveSettings()}}>\r\n {handleRemoveSettings()}} style={{marginLeft:\"10px\"}} icon={[ICON_TYPE, \"arrow-rotate-left\"]}/> \r\n

{trans(\"ResetCustomSettings\")}

\r\n
\r\n
\r\n {order.length > 0 && \r\n
\r\n
{ handleRemoveOrderList()}}>\r\n { handleRemoveOrderList()}} style={{marginLeft:\"10px\"}} icon={[ICON_TYPE, \"sort\"]}/> \r\n

{trans(\"RemoveSorts\")}

\r\n
\r\n
\r\n }\r\n {(filter && filter.length > 0 )&& \r\n
\r\n
{handleRemoveFilterList(\"\")}}>\r\n {handleRemoveFilterList(\"\")}} style={{marginLeft:\"10px\"}} icon={[ICON_TYPE, \"filter\"]}/> \r\n

{trans(\"removeFilters\")}

\r\n
\r\n
\r\n }\r\n
\r\n
\r\n \r\n {\r\n showGridSetting &&\r\n setShowGridSetting(false)} show={showGridSetting}>\r\n \r\n
\r\n {orderList.length > 0&&\r\n
\r\n

{trans(\"Sort\")}

\r\n
\r\n {orderList&&orderList.map((item ,index)=>(\r\n columnStatus[item.split(\" \")[0]] !== false ?\r\n\r\n
\r\n
\r\n \r\n {toggleSortingFormat(item)[0] === \"up\" ?\r\n <> { createSortingFormat(item) }}/> :\r\n (toggleSortingFormat(item)[0] === \"down\" ?\r\n <> { createSortingFormat(item) }}/> : null)\r\n }\r\n \r\n \r\n
\r\n
\r\n {\r\n item.includes('Icon') ? \r\n :\r\n trans(item.split(\" \")[0])\r\n }\r\n
\r\n \r\n
{deleteaOrder(item.split(\" \")[0])}}>\r\n \r\n
\r\n
\r\n :<>\r\n ))\r\n \r\n \r\n }\r\n
\r\n
\r\n\r\n }\r\n {(filterList != undefined && filterList.length > 1)&&\r\n
\r\n

{trans(\"filter\")}

\r\n
\r\n\r\n {filterList.length > 1&&filterList.slice(0,filterList.length-1).split(\",\").map((item ,index)=>(\r\n columnStatus[item.split(\"=\")[0]]!== false ?\r\n
\r\n
\r\n {trans(item.split(\"=\")[0]) } :{item.split(\"=\")[1]}\r\n
\r\n \r\n
{deleteafilter(item.split(\" \")[0])}}>\r\n \r\n
\r\n
\r\n :<>\r\n ))\r\n \r\n \r\n }\r\n
\r\n
\r\n\r\n }\r\n
\r\n

{trans(\"columns\")}

\r\n
\r\n\r\n {columns&&columns.map((item ,index)=>(\r\n <>\r\n {(index >= startIndex && item!==\"SelectAll\" &&item!==\"Operation\" ) &&\r\n <>\r\n {removedColumns.includes(item) ? \r\n\r\n
\r\n
\r\n {\r\n item.includes('Icon') ? \r\n :\r\n trans(item)\r\n }\r\n
\r\n \r\n
{e.stopPropagation(); changeColumnsStatus(item) }}>\r\n \r\n \r\n
\r\n
\r\n :\r\n
\r\n
\r\n {\r\n item.includes('Icon') ? \r\n :\r\n trans(item)\r\n }\r\n
\r\n \r\n
{e.stopPropagation(); changeColumnsStatus(item) }}>\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n }\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n }\r\n \r\n \r\n ))\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n

{trans(\"HoverSource\")}

\r\n
\r\n
\r\n
\r\n
\r\n {trans(\"ColumnHeader\") }\r\n
\r\n \r\n
{setHoverSource(\"ColumnHeader\" );setHover(\"ColumnHeader\" );e.stopPropagation(); changeHoverSource(\"ColumnHeader\") }}>\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {trans(\"ColumnData\") }\r\n
\r\n \r\n
{setHoverSource(\"ColumnData\" );setHover(\"ColumnData\" );e.stopPropagation(); changeHoverSource(\"ColumnData\") }}>\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n \r\n\r\n );\r\n}","import { useEffect, useRef, useState } from \"react\";\r\nimport DatePicker, { DateObject } from \"react-multi-date-picker\";\r\nimport TimePicker from \"react-multi-date-picker/plugins/time_picker\";\r\nimport type { Value } from \"react-multi-date-picker\";\r\nimport persian from \"react-date-object/calendars/persian\";\r\nimport persian_fa from \"react-date-object/locales/persian_fa\";\r\nimport arabic from \"react-date-object/calendars/arabic\";\r\nimport arabic_ar from \"react-date-object/locales/arabic_ar\";\r\nimport { trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { REGEX } from \"utils/regex\";\r\n\r\ninterface DatepickerProps {\r\n lable?: string;\r\n required?: boolean;\r\n setIsoTime: (isoTime: any) => void;\r\n Change?: (e) => void;\r\n val: string | Value;\r\n id?: any;\r\n resetForm?: boolean;\r\n withTime?: boolean;\r\n disableDayPicker?: boolean;\r\n fixMainPosition?: boolean;\r\n mode?: string;\r\n format?: string;\r\n onOpenPickNewDate?: boolean;\r\n portal?: boolean;\r\n name?: any;\r\n range?: any;\r\n className?: any;\r\n parentName?: any;\r\n type?: \"date\" | \"time\";\r\n recordedData?: any;\r\n min?: number;\r\n max?: number;\r\n errorFlag?: any;\r\n maxDate?: any;\r\n minDate?: any;\r\n useTrans?: boolean;\r\n calendarPosition?: string;\r\n placeholder?: string | null;\r\n}\r\n\r\nexport default function Datepicker({\r\n lable,\r\n required,\r\n resetForm,\r\n withTime,\r\n placeholder,\r\n setIsoTime,\r\n Change,\r\n val,\r\n id = undefined,\r\n type,\r\n disableDayPicker = false,\r\n onOpenPickNewDate = false,\r\n portal = true,\r\n range = false,\r\n fixMainPosition = false,\r\n mode,\r\n format,\r\n parentName = \"\",\r\n name = \"DatePicker\",\r\n className = \"\",\r\n recordedData,\r\n min,\r\n max,\r\n maxDate,\r\n minDate,\r\n errorFlag = false,\r\n useTrans = true,\r\n calendarPosition = \"bottom-right\",\r\n\r\n ...rest\r\n}: DatepickerProps) {\r\n const timePickerRef = useRef(null);\r\n const isOpenRef = useRef(null);\r\n\r\n let editDate;\r\n let flag: any = null;\r\n const digits = persian_fa.digits;\r\n const disabled = mode == \"view\" ? true : false;\r\n const [value, setValue] = useState(val);\r\n const RecordedData: any = withTime\r\n ? recordedData\r\n : recordedData\r\n ? recordedData?.toString().slice(0, 10)\r\n : null;\r\n let lang = localStorage.getItem(\"lang\");\r\n let date;\r\n const [newDate, setNewDate] = useState();\r\n const ConverDate = new DateObject({\r\n date: new Date(\r\n RecordedData?.slice(0, 4),\r\n RecordedData?.slice(5, 7) - 1,\r\n RecordedData?.slice(8, 10)\r\n ),\r\n calendar: persian,\r\n });\r\n\r\n const onChange = (e) => {\r\n if (e != null) {\r\n if (type === \"time\") {\r\n setIsoTime(`${e}`);\r\n } else {\r\n if (range) {\r\n let date1 = new Date(e[0]?.valueOf() as number);\r\n if (e[1]) {\r\n let date2 = new Date(e[1]?.valueOf() as number);\r\n setIsoTime([date1.toISOString(), date2.toISOString()]);\r\n } else {\r\n setIsoTime([date1.toISOString()]);\r\n }\r\n } else {\r\n date = new Date(e.valueOf() as number);\r\n // به دلیل عقب افتادن استیت باید از متغییر استفاد کرد\r\n let NewDate = `${date.getFullYear()}/${\r\n +(date.getMonth() + 1) < 10\r\n ? \"0\" + (date.getMonth() + 1)\r\n : +(date.getMonth() + 1)\r\n }/${+date.getDate() < 10 ? \"0\" + date.getDate() : +date.getDate()}`;\r\n setNewDate(\r\n `${date.getFullYear()}/${\r\n +(date.getMonth() + 1) < 10\r\n ? \"0\" + (date.getMonth() + 1)\r\n : +(date.getMonth() + 1)\r\n }/${+date.getDate() < 10 ? \"0\" + date.getDate() : +date.getDate()}`\r\n );\r\n\r\n // به این دلیل که این متد در هنگام تبدیل به ساعت ایران ما را به یه روز قبل اانتقال میدهد toISOString از فرمت بالا بجای متد\r\n if (withTime) {\r\n NewDate != val?.toString().slice(0, 10) ||\r\n date.getHours().toString() != val?.toString().slice(11, 13) ||\r\n date.getMinutes().toString() != val?.toString().slice(14, 16)\r\n ? Change && Change({ [name]: date.toISOString() })\r\n : Change && Change({ [name]: null });\r\n } else { \r\n date.setHours(new Date().getHours())\r\n date.setMinutes(new Date().getMinutes())\r\n NewDate != val?.toString().slice(0, 10)\r\n ? Change && Change({ [name]: date.toISOString() })\r\n : Change && Change({ [name]: null });\r\n }\r\n setIsoTime(date?.toISOString());\r\n }\r\n }\r\n } else {\r\n setNewDate(\" \");\r\n setIsoTime(e);\r\n }\r\n };\r\n\r\n function handleTabKeyPresse(event) {\r\n if (event.key === \"Tab\") {\r\n if (event.shiftKey) {\r\n if (\r\n isOpenRef.current &&\r\n (disableDayPicker\r\n ? document.activeElement?.className.includes(\"rmdp-up\") &&\r\n document.activeElement?.nextElementSibling?.getAttribute(\r\n \"name\"\r\n ) == \"hour\"\r\n : document.activeElement?.className.includes(\"rmdp-left\"))\r\n ) {\r\n timePickerRef.current?.firstChild?.focus();\r\n }\r\n flag = true;\r\n } else {\r\n if (\r\n isOpenRef.current &&\r\n document.activeElement?.className.includes(\"rmdp-down\") &&\r\n document.activeElement.previousElementSibling?.getAttribute(\"name\") !=\r\n \"hour\"\r\n ) {\r\n timePickerRef.current?.firstChild?.focus();\r\n }\r\n flag = false;\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n let input: any = document.querySelectorAll(\".rmdp-input\");\r\n let modalForm = document.querySelectorAll(\".modal-content\");\r\n let cardBody = document.querySelector(\".card-body\");\r\n Array.from(input).map((item: any, index) => {\r\n item?.addEventListener(\"blur\", (e) => {\r\n if (flag != null) {\r\n const activeElement: any = document.activeElement as HTMLElement;\r\n const inputs = modalForm[0]\r\n ? modalForm[0]?.querySelectorAll(\r\n \".modal-body, .form-control-custom,.form-control,.rmdp-input,.checkable-btn__input\"\r\n )\r\n : document.querySelectorAll(\r\n \".modal-body, .form-control-custom,.form-control,.rmdp-input,.checkable-btn__input,.btn\"\r\n );\r\n const currentIndex = Array.from(inputs).indexOf(item);\r\n const nextInput = !flag\r\n ? inputs[currentIndex + 1]\r\n : inputs[currentIndex - 1];\r\n if (!nextInput?.className?.includes(\"btn\")) {\r\n nextInput.click();\r\n nextInput.focus();\r\n } else {\r\n cardBody?.click();\r\n nextInput.focus();\r\n }\r\n flag = null;\r\n }\r\n });\r\n });\r\n\r\n modalForm[0]\r\n ? document.addEventListener(\"keydown\", handleTabKeyPresse)\r\n : document.addEventListener(\"keydown\", handleTabKeyPresse);\r\n return () => {\r\n modalForm[0]\r\n ? document.removeEventListener(\"keydown\", handleTabKeyPresse)\r\n : document.removeEventListener(\"keydown\", handleTabKeyPresse);\r\n };\r\n }, []);\r\n\r\n const validationChecking = (date: any, { input, isTyping }: any) => {\r\n let value = input.value;\r\n\r\n for (let digit of digits) {\r\n value = value.replace(new RegExp(digit, \"g\"), digits.indexOf(digit));\r\n }\r\n if (withTime) {\r\n const strings = value.split(\":\");\r\n const numbers = strings.map(Number);\r\n const [hour, minutes] = numbers;\r\n if (input.value && numbers.some((number) => isNaN(number))) {\r\n //return false; //in case user enter something other than digits\r\n }\r\n\r\n if (hour < 0 || hour > 23) return false;\r\n if (minutes < 0 || minutes > 59) return false;\r\n }\r\n\r\n if (!isTyping) {\r\n onChange(date);\r\n return setValue(date);\r\n } // user selects the date from the calendar and no needs for validation.\r\n if (!disableDayPicker) {\r\n const strings = value.split(\"/\");\r\n const numbers = strings.map(Number);\r\n const [year, month, day] = numbers;\r\n\r\n if (input.value && numbers.some((number) => isNaN(number))) {\r\n return false; //in case user enter something other than digits\r\n }\r\n\r\n let valditaionRegex = new RegExp(REGEX.datePicker.regex);\r\n let validationRegexResult;\r\n validationRegexResult = valditaionRegex.test(year);\r\n\r\n if (\r\n ((year.toString().length == 4 || value.includes(\"/\")) &&\r\n !validationRegexResult &&\r\n (year < (min ? min : 1399) || year > (max ? max : 1500))) ||\r\n year.toString().length > 4\r\n )\r\n return false;\r\n\r\n if (month > 12 || month < 0) return false; //month < 0 in case user want to type 01\r\n if (day < 0 || (date && day > date.day)) return false;\r\n if (strings.some((val) => val.startsWith(\"00\"))) return false;\r\n\r\n //onChange(date)\r\n setValue(date);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (value != null) {\r\n if (type === \"time\") {\r\n editDate = new DateObject({ date: new Date(val as string) });\r\n setValue(editDate);\r\n } else {\r\n if (range) {\r\n let editDate1 = new DateObject({\r\n date: new Date(val?.[0] as string),\r\n format: \"YYYY/MM/DD hh:mm:ss.SSS a\",\r\n });\r\n let editDate2 = new DateObject({\r\n date: new Date(val?.[1] as string),\r\n format: \"YYYY/MM/DD hh:mm:ss.SSS a\",\r\n });\r\n setIsoTime([editDate1.toDate(), editDate2.toDate()]);\r\n setValue(null);\r\n } else {\r\n editDate = new DateObject({\r\n date: new Date(val as string),\r\n format: \"YYYY/MM/DD hh:mm:ss.SSS a\",\r\n });\r\n setIsoTime(editDate.toDate().toISOString());\r\n setValue(null);\r\n }\r\n }\r\n }\r\n }, [resetForm]);\r\n const delay = (duration) =>\r\n new Promise((resolve) => setTimeout(resolve, duration));\r\n\r\n async function selectValue() {\r\n await delay(20);\r\n isOpenRef.current = true;\r\n timePickerRef.current.children[0]?.select();\r\n }\r\n\r\n useEffect(() => {\r\n if (val != null) {\r\n if (type === \"time\") {\r\n editDate = new DateObject({ date: new Date(val as string) });\r\n } else {\r\n if (range) {\r\n editDate = [\r\n new DateObject({\r\n date: new Date(val[0] as string),\r\n format: \"YYYY/MM/DD hh:mm:ss.SSS a\",\r\n }),\r\n new DateObject({\r\n date: new Date(val[1] as string),\r\n format: \"YYYY/MM/DD hh:mm:ss.SSS a\",\r\n }),\r\n ];\r\n }\r\n }\r\n\r\n setValue(editDate);\r\n }\r\n }, [id, val]); // آیا دیت پیکر با آیدی کار کند یا val ؟\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {trans(lable + \"\")}\r\n \r\n }\r\n >\r\n
\r\n {lable ? (\r\n \r\n \r\n {required ? * : \"\"}\r\n
\r\n ) : null}\r\n
\r\n \r\n
\r\n\r\n {mode == \"edit\" &&\r\n RecordedData != null &&\r\n RecordedData !=\r\n (newDate\r\n ? newDate == \" \"\r\n ? null\r\n : newDate\r\n : val?.toString().slice(0, 10)) && (\r\n
\r\n \r\n {trans(\"PreviousValue\") + \" : \" + ConverDate?.format()}\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n\r\n {\r\n {\r\n fa:\r\n type === \"date\" || type === undefined ? (\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n {\r\n onChange(date);\r\n return validationChecking(date, { isTyping, input });\r\n }}\r\n onOpen={() => {\r\n selectValue();\r\n }}\r\n onClose={() => {\r\n isOpenRef.current = false;\r\n }}\r\n name={name}\r\n plugins={withTime ? [] : []}\r\n disabled={disabled}\r\n fixMainPosition={fixMainPosition}\r\n fixRelativePosition={fixMainPosition}\r\n placeholder={placeholder ? placeholder : \"\"}\r\n />\r\n {!lable && required && *}\r\n
\r\n ) : (\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n {\r\n selectValue();\r\n }}\r\n minDate={minDate}\r\n maxDate={maxDate}\r\n inputClass={`rmdp-input ${\r\n className ? className : \" form-control-custom\"\r\n } ${disabled ? \"disabled\" : \"\"} `}\r\n disableDayPicker\r\n format={format ? format : \"HH:mm\"}\r\n onChange={(date, { isTyping, input }) => {\r\n onChange(date);\r\n return validationChecking(date, { isTyping, input });\r\n }}\r\n value={value}\r\n ref={timePickerRef}\r\n name={name}\r\n id={id}\r\n // onChange={validationChecking}\r\n onClose={() => {\r\n isOpenRef.current = false;\r\n timePickerRef.current &&\r\n setValue(\r\n (timePickerRef.current as any).getElementsByTagName(\r\n \"input\"\r\n )[0].value\r\n );\r\n }}\r\n plugins={[]}\r\n calendar={persian}\r\n locale={persian_fa}\r\n disabled={disabled}\r\n calendarPosition=\"bottom-right\"\r\n fixMainPosition={fixMainPosition}\r\n fixRelativePosition={fixMainPosition}\r\n placeholder={placeholder ? placeholder : \"\"}\r\n />\r\n {!lable && required && *}\r\n \r\n ),\r\n en:\r\n type === \"date\" || type === undefined ? (\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n ] : []}\r\n onChange={(e) => {\r\n setValue(e as any);\r\n onChange(e);\r\n }}\r\n name={name}\r\n id={id}\r\n onOpen={() => {\r\n selectValue();\r\n }}\r\n onClose={() => {\r\n isOpenRef.current = false;\r\n }}\r\n disabled={disabled}\r\n fixMainPosition={fixMainPosition}\r\n fixRelativePosition={fixMainPosition}\r\n placeholder={placeholder ? placeholder : \"\"}\r\n />\r\n {!lable && required && *}\r\n \r\n ) : (\r\n {\r\n e.stopPropagation();\r\n }}\r\n >\r\n {\r\n selectValue();\r\n }}\r\n onClose={() => {\r\n isOpenRef.current = false;\r\n timePickerRef.current &&\r\n setValue(\r\n (timePickerRef.current as any).getElementsByTagName(\r\n \"input\"\r\n )[0].value\r\n );\r\n }}\r\n onChange={(e) => {\r\n setValue(e as any);\r\n onChange(e);\r\n }}\r\n plugins={[]}\r\n disabled={disabled}\r\n fixMainPosition={fixMainPosition}\r\n fixRelativePosition={fixMainPosition}\r\n placeholder={placeholder ? placeholder : \"\"}\r\n />\r\n {!lable && required && *}\r\n \r\n ),\r\n ar: (\r\n
\r\n {\r\n setValue(e as any);\r\n onChange(e);\r\n }}\r\n name={name}\r\n disabled={disabled}\r\n fixMainPosition={fixMainPosition}\r\n fixRelativePosition={fixMainPosition}\r\n placeholder={placeholder ? placeholder : \"\"}\r\n />\r\n {!lable && required && *}\r\n
\r\n ),\r\n }[lang as string]\r\n }\r\n \r\n {errorFlag ? trans(\"InvalidEndDate\") : \"\"}\r\n \r\n \r\n );\r\n}\r\n","import { useState, useRef, useEffect } from \"react\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\ninterface DateFilterPropsType {\r\n id?: string,\r\n defaultValue?: any,\r\n hasBorder?: boolean,\r\n resetForm?: boolean,\r\n required?: boolean,\r\n value?: string,\r\n mode?: string,\r\n name?: string,\r\n Change?: (e) => void,\r\n onChange?: (e) => void,\r\n}\r\n\r\nexport const DateFilter = ({defaultValue, id, value ,required , name=\"\", Change ,onChange}: DateFilterPropsType) => {\r\n const [date, setDate] = useState(defaultValue);\r\n const inputIdRef = useRef();\r\n \r\n useEffect(() => {\r\n\r\n if (defaultValue && defaultValue!= undefined && defaultValue.length > 0) {\r\n setDate(defaultValue.split(\"&\"))\r\n }\r\n }, [defaultValue]);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n {setDate(IsoTime)}} val={date } />\r\n\r\n
\r\n\r\n \r\n )\r\n}","import React, { useCallback, useEffect, useRef, useState } from \"react\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { PaginationNavbar } from \"components/Pagination/Pagination\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { OverlayTrigger, Popover, Tooltip } from \"react-bootstrap\";\r\nimport { GUID_EMPTY, ICON_TYPE } from \"utils/constants\";\r\nimport { GroupingPriceFunction, trans } from \"utils/helpers\";\r\nimport { GridSetting } from \"./GridSetting\";\r\nimport \"./style.scss\";\r\nimport { DateFilter } from \"./DateFilter\";\r\nimport { DateObject } from \"react-multi-date-picker\";\r\nimport persian from \"react-date-object/calendars/persian\";\r\nimport persian_fa from \"react-date-object/locales/persian_fa\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\nconst createHeaders = (headers, parentName, startIndex, setRemovedColumns) => {\r\n let head = headers;\r\n let setHead: any = [];\r\n let widths = [];\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] == parentName) {\r\n if (item[1].length == head.length - startIndex) {\r\n let switchHed = false;\r\n item[1].forEach((el) => {\r\n if (head.indexOf(el) == -1) {\r\n switchHed = true;\r\n }\r\n });\r\n if (!switchHed) {\r\n head = item[1];\r\n widths = item[2];\r\n head.forEach((item, index) => {\r\n setHead.push(\r\n widths[index]\r\n ? {\r\n text: item,\r\n ref: useRef(),\r\n Id: headers.indexOf(item),\r\n width: widths[index],\r\n }\r\n : { text: item, ref: useRef(), Id: headers.indexOf(item) }\r\n );\r\n });\r\n if (item[6] && item[6] != undefined) {\r\n setRemovedColumns(item[6]);\r\n }\r\n }\r\n } else {\r\n widths = item[2];\r\n head.forEach((el, elindex) => {\r\n if (elindex >= startIndex) {\r\n if (item[1].indexOf(el) != -1) {\r\n setHead.push(\r\n widths[item[1].indexOf(el)] &&\r\n widths[item[1].indexOf(el)] != undefined\r\n ? {\r\n text: el,\r\n ref: useRef(),\r\n Id: headers.indexOf(el),\r\n width: widths[item[1].indexOf(el)],\r\n }\r\n : { text: el, ref: useRef(), Id: headers.indexOf(el) }\r\n );\r\n } else {\r\n setHead.push({\r\n text: el,\r\n ref: useRef(),\r\n Id: headers.indexOf(el),\r\n });\r\n }\r\n }\r\n });\r\n if (item[6] && item[6] != undefined) {\r\n setRemovedColumns(item[6]);\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (setHead.length == 0) {\r\n head.forEach((item, index) => {\r\n if (index >= startIndex) {\r\n setHead.push(\r\n widths[index] && widths[index] != undefined\r\n ? {\r\n text: item,\r\n ref: useRef(),\r\n Id: headers.indexOf(item),\r\n width: widths[index],\r\n }\r\n : { text: item, ref: useRef(), Id: headers.indexOf(item) }\r\n );\r\n }\r\n });\r\n }\r\n return setHead;\r\n};\r\ninterface DataGridPropsType {\r\n theadData: any;\r\n tbodyData: any;\r\n minCellWidth?: number;\r\n moveRows?: boolean;\r\n multiSelect?: boolean;\r\n multiSelecttype?: number;\r\n selectedRowProp?: any;\r\n resetMultiSelect?: boolean;\r\n View?: boolean;\r\n useLanguage?: boolean;\r\n parentName?: any;\r\n customFuction?: any;\r\n convertDateColNames?: any;\r\n startIndex?: number;\r\n selectList?: (e?: any) => void;\r\n selectItem?: (e) => void;\r\n theaxCells?: (e) => void;\r\n selectedRowObjectCallback?: (obj: any, index, event) => void;\r\n rowSelected?: any;\r\n handleEdit?: ((id: string) => void) | null;\r\n handleDelete?: ((id: string) => void) | null;\r\n handleView?: ((id: string) => void) | null;\r\n handleDownload?: (id: string) => void;\r\n handleAttachment?: (id: string) => void;\r\n handleAttachmentText?: string;\r\n handleCreate?: (flag: boolean) => void;\r\n handlefiltering?: (filterStr: string | object) => void;\r\n filterStr?: string;\r\n totalRecords?: number;\r\n pageNum?: number;\r\n pageSize?: number;\r\n HandlePrevPage?: () => void;\r\n HandleNextPage?: () => void;\r\n handlechangePageSize?: (e) => void;\r\n first?: () => void;\r\n end?: () => void;\r\n handleGoPage?: (e) => void;\r\n orderFormat?: (e) => void;\r\n orderFormatList?: any;\r\n multiSelectCallback?: (e: any) => void;\r\n checkedRowEventCallback?: (e: any, item: any) => void;\r\n DoubleClick?: (e: any) => void;\r\n handleEnter?: (e: any) => void;\r\n //ActiveRow?: number;\r\n scrollHeight?: any;\r\n ViewParametr?: string;\r\n disabled?: boolean;\r\n handleResend?: any;\r\n translatedHeader?: any;\r\n responseList?: any;\r\n useChangingNumberPlacement?:any\r\n}\r\n\r\nexport const DataGrid: React.FC = React.memo(\r\n ({\r\n theadData,\r\n tbodyData,\r\n minCellWidth,\r\n moveRows = false,\r\n multiSelect,\r\n multiSelecttype = 1,\r\n selectedRowProp,\r\n resetMultiSelect,\r\n View = false,\r\n useLanguage = false,\r\n parentName,\r\n customFuction = [],\r\n convertDateColNames = [],\r\n startIndex = 1,\r\n selectList,\r\n selectItem,\r\n theaxCells,\r\n selectedRowObjectCallback,\r\n rowSelected,\r\n handleEdit,\r\n handleResend,\r\n handleDelete,\r\n handleView,\r\n handleDownload,\r\n handleAttachment,\r\n handleAttachmentText,\r\n handleCreate,\r\n handlefiltering,\r\n filterStr,\r\n totalRecords,\r\n pageNum,\r\n pageSize,\r\n HandlePrevPage,\r\n HandleNextPage,\r\n handlechangePageSize,\r\n first,\r\n end,\r\n handleGoPage,\r\n orderFormat,\r\n orderFormatList,\r\n multiSelectCallback,\r\n checkedRowEventCallback,\r\n DoubleClick,\r\n handleEnter,\r\n //ActiveRow,\r\n scrollHeight = totalRecords === 0 && tbodyData?.length === 1 ? 55 : null,\r\n ViewParametr = \"ViewIcon\",\r\n disabled = false,\r\n translatedHeader = null,\r\n responseList,\r\n useChangingNumberPlacement=false\r\n }) => {\r\n //const [activeRow, setActiveRow] = useState( -2);\r\n const [selectedRow, setSelectedRow] = useState([]);\r\n const [checkedAll, setCheckedAll] = useState(false);\r\n const [operationSubIndex, setOperationSubIndex] = useState(-2);\r\n const [flag, setFlag] = useState(false);\r\n const myStateRef = useRef(null);\r\n const SubIndexRef = useRef(operationSubIndex);\r\n const tbody = JSON.parse(JSON.stringify(tbodyData));\r\n const rtlDataGridDirection =\r\n localStorage.getItem(\"lang\") === \"fa\" ? true : false;\r\n const tableElement = useRef(null);\r\n let selectedIndex: any;\r\n const hasOperation =\r\n handleDelete ||\r\n handleEdit ||\r\n handleView ||\r\n handleDownload ||\r\n handleAttachment ||\r\n handleResend ||\r\n customFuction.length > 0\r\n ? true\r\n : false;\r\n const [hasmultiSelector, setHasmultiSelector] = useState(multiSelect);\r\n let localFlag = true;\r\n let pages;\r\n let columns = JSON.parse(JSON.stringify(theadData));\r\n let widthColumns = [];\r\n let a = false;\r\n let ummont = true;\r\n let operationList = [\r\n ...customFuction,\r\n handleDelete,\r\n handleEdit,\r\n handleView,\r\n handleDownload,\r\n handleAttachment,\r\n ].filter((e) => {\r\n if (e) {\r\n return e;\r\n }\r\n });\r\n\r\n if (multiSelect) columns.splice(startIndex, 0, \"SelectAll\");\r\n if (hasOperation) columns.splice(startIndex, 0, \"Operation\");\r\n\r\n let removed: any = [];\r\n let [hedcolums, setHedcolums] = useState(\r\n createHeaders(columns, parentName, startIndex, (e) => {\r\n removed = e;\r\n })\r\n );\r\n\r\n let DefaultMinCellWidth = 30;\r\n let gridTemplateColumnsStyle: string[] = [];\r\n let tableHeight = tbody?.length * 25 + 25 + \"px\";\r\n\r\n const [activeIndex, setActiveIndex] = useState(null);\r\n const [removedColumns, setRemovedColumns] = useState(removed);\r\n const activeIndexRef = useRef(activeIndex);\r\n const [currentOperation, setCurrentOperation] = useState(-1);\r\n const [showOperations, setShowOperations] = useState(false);\r\n const [autoFocus, setAutoFocus] = useState(false);\r\n const [filterList, setFilterList] = useState(\r\n filterStr ? filterStr : []\r\n );\r\n const [filterListValuse, setFilterListValuse] = useState([]);\r\n const [sortingFormat, setSortingFormat] = useState(\r\n orderFormatList ? orderFormatList : []\r\n );\r\n const [filterFlag, setFilterFlag] = useState(true);\r\n const [hoverSource, setHoverSource] = useState();\r\n const [operationPosition, setOperationPosition] = useState(0);\r\n const timeID = useRef(new Date().getTime() + \"DataGrid\");\r\n const RowsRef = useRef();\r\n const [draggedRowId, setDraggedRowId] = useState(null);\r\n const [targetId, setTargetId] = useState(null);\r\n theaxCells && theaxCells(hedcolums);\r\n\r\n async function handleRemoveFilterList() {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n item[4] = \"\";\r\n item[5] = [];\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n try {\r\n handlefiltering && handlefiltering({ Filterlist: \"\", OrderFormat: [] });\r\n } catch (error) {}\r\n }\r\n\r\n const kydown = (event) => {\r\n pages =\r\n totalRecords && pageSize && totalRecords > pageSize\r\n ? Math.ceil(totalRecords / pageSize)\r\n : 1;\r\n const elements = Array.from(\r\n document.getElementsByClassName(\"data-grid-wrapper\")\r\n );\r\n let stop = false;\r\n let canWork = false;\r\n elements.map((element, index) => {\r\n if (\r\n +element?.id.replace(\"DataGrid\", \"\") >\r\n +timeID.current.replace(\"DataGrid\", \"\")\r\n ) {\r\n stop = true;\r\n }\r\n });\r\n if (!stop) {\r\n if (\r\n document.getElementsByClassName(\"fullscreen-bg-modal\").length <\r\n elements.length\r\n ) {\r\n canWork = true;\r\n } else {\r\n canWork = false;\r\n }\r\n\r\n if (\r\n canWork &&\r\n document.activeElement?.nodeName != \"TEXTAREA\" &&\r\n document.activeElement?.nodeName != \"INPUT\" &&\r\n document.activeElement?.nodeName != \"SELECT\" &&\r\n document.activeElement?.nodeName != \"BUTTON\"\r\n ) {\r\n if (event.ctrlKey && event.key.includes(\"Delete\")) {\r\n event.preventDefault();\r\n handleRemoveFilterList();\r\n event.returnValue = false;\r\n return false;\r\n }\r\n if (myStateRef.current > -2) {\r\n if (event.key == \"ArrowDown\") {\r\n if (hasOperation && SubIndexRef.current !== -2) {\r\n if (operationList.length === SubIndexRef.current + 1) {\r\n SubIndexRef.current = 0;\r\n setOperationSubIndex(SubIndexRef.current);\r\n } else {\r\n SubIndexRef.current += 1;\r\n setOperationSubIndex(SubIndexRef.current);\r\n }\r\n } else {\r\n if (tbody.length === myStateRef.current + 1) {\r\n if (HandleNextPage && pages !== pageNum) {\r\n HandleNextPage();\r\n }\r\n } else if (tbody.length > myStateRef.current + 1) {\r\n myStateRef.current += 1;\r\n toggleActiveRow(event, myStateRef.current);\r\n }\r\n }\r\n } else if (event.key === \"ArrowUp\") {\r\n if (hasOperation && SubIndexRef.current !== -2) {\r\n if (0 === SubIndexRef.current) {\r\n SubIndexRef.current = operationList.length - 1;\r\n setOperationSubIndex(SubIndexRef.current);\r\n } else {\r\n SubIndexRef.current -= 1;\r\n setOperationSubIndex(SubIndexRef.current);\r\n }\r\n } else {\r\n if (0 >= myStateRef.current) {\r\n if (HandlePrevPage && pageNum !== 1) {\r\n HandlePrevPage();\r\n }\r\n } else if (0 < myStateRef.current) {\r\n myStateRef.current -= 1;\r\n toggleActiveRow(event, myStateRef.current);\r\n }\r\n }\r\n } else if (\r\n (event.code === \"Enter\" || event.code === \"NumpadEnter\") &&\r\n !document.activeElement?.className.includes(\"filterInput\") &&\r\n !document.activeElement?.className.includes(\"input\")\r\n ) {\r\n // document.getElementById(`trbody${index}`)?.click()\r\n if (\r\n hasOperation &&\r\n SubIndexRef.current !== -2 &&\r\n operationList[SubIndexRef.current] &&\r\n document?.activeElement?.className.indexOf(\"ck\") === -1 &&\r\n document?.activeElement?.tagName != \"TEXTAREA\" &&\r\n document?.activeElement?.tagName != \"INPUT\"\r\n ) {\r\n if (typeof operationList[SubIndexRef.current] == \"function\") {\r\n operationList[SubIndexRef.current](\r\n tbodyData[myStateRef.current].Id\r\n );\r\n } else if (\r\n typeof operationList[SubIndexRef.current][0] == \"function\"\r\n ) {\r\n operationList[SubIndexRef.current][0](\r\n tbodyData[myStateRef.current].Id\r\n );\r\n }\r\n } else {\r\n if (handleEnter) {\r\n handleEnter(tbodyData[myStateRef.current]);\r\n }\r\n\r\n //DoubleClick ? DoubleClick(tbodyData[myStateRef.current]) : (handleView &&handleView(tbodyData[myStateRef.current].Id))\r\n }\r\n } else if (event.key === \"ArrowRight\") {\r\n if (hasOperation) {\r\n toggleShowOperations(myStateRef.current);\r\n SubIndexRef.current = 0;\r\n setOperationSubIndex(SubIndexRef.current);\r\n }\r\n } else if (event.key === \"ArrowLeft\") {\r\n if (hasOperation) {\r\n toggleShowOperations(-1);\r\n SubIndexRef.current = -2;\r\n setOperationSubIndex(SubIndexRef.current);\r\n }\r\n }\r\n if (\r\n document.activeElement?.className.includes(\"filterInput\") &&\r\n event.key == \"Enter\"\r\n ) {\r\n //// filtering()\r\n }\r\n } else if (event.key === \"ArrowDown\") {\r\n toggleActiveRow(event, 0);\r\n myStateRef.current = 0;\r\n } else if (event.key === \"ArrowUp\") {\r\n toggleActiveRow(event, pageSize && pageSize - 1);\r\n myStateRef.current = pageSize && pageSize - 1;\r\n }\r\n }\r\n }\r\n };\r\n useEffect(() => {\r\n if (\r\n (myStateRef.current === -2 || rowSelected == null) &&\r\n ((totalRecords && totalRecords > 0) || totalRecords == null)\r\n ) {\r\n myStateRef.current = 0;\r\n selectedRowObjectCallback &&\r\n selectedRowObjectCallback(tbodyData[0], 0, \"\");\r\n }\r\n document.addEventListener(\"keydown\", kydown);\r\n return () => {\r\n document.removeEventListener(\"keydown\", kydown);\r\n };\r\n }, [rowSelected]);\r\n\r\n function toggleShowOperations(operationIndex) {\r\n setCurrentOperation(operationIndex);\r\n if (operationIndex === currentOperation || currentOperation === -1) {\r\n setShowOperations(!showOperations);\r\n } else setShowOperations(true);\r\n }\r\n\r\n function blurBtn(event) {\r\n event.currentTarget.parentElement?.parentElement?.blur();\r\n }\r\n\r\n async function toggleActiveRow(event, rowIndex) {\r\n event.stopPropagation();\r\n myStateRef.current = rowIndex;\r\n // setActiveRow(rowIndex);\r\n // فرستادن مقدار آیدی به والد\r\n selectedRowObjectCallback &&\r\n (await selectedRowObjectCallback(tbodyData[rowIndex], rowIndex, event));\r\n }\r\n\r\n function createSortingFormat(text, event) {\r\n let itemExists = false;\r\n let goPageFormat = false;\r\n\r\n let Sorting: any = [];\r\n /* if (sortingFormat.length == 0) {\r\n setSortingFormat([`${text} asc`])\r\n } else */\r\n if (event.ctrlKey) {\r\n let newSortingFormat: string[] = [];\r\n for (let i = 0; i < sortingFormat.length; i++) {\r\n if (sortingFormat[i].includes(text)) {\r\n // اگر عنوان ستون داخل یکی از رشته ها بود\r\n itemExists = true;\r\n if (sortingFormat[i].includes(\"asc\")) {\r\n newSortingFormat.push(sortingFormat[i].replace(\"asc\", \"desc\"));\r\n } else if (sortingFormat[i].includes(\"desc\")) {\r\n // اگر ترتیب ستون نزولی بود کاری انجام نمی دهیم تا نام این ستون دیگر در لیست مرتب سازی قرار نگیرد\r\n }\r\n if (i == 0) {\r\n goPageFormat = true;\r\n }\r\n } else {\r\n // یعنی اگر پیمایش آرایه به آخر رسید\r\n newSortingFormat.push(sortingFormat[i]);\r\n }\r\n }\r\n if (itemExists) {\r\n Sorting = newSortingFormat;\r\n } else {\r\n // Sorting = JSON.parse(JSON.stringify(sortingFormat))\r\n newSortingFormat.push(`${text} asc`);\r\n if (newSortingFormat.length === 1) {\r\n goPageFormat = true;\r\n }\r\n Sorting = newSortingFormat;\r\n // setSortingFormat((old) => { return [...old, `${text} asc`] })\r\n }\r\n } else {\r\n let newSortingFormat: string[] = [];\r\n\r\n if (sortingFormat.length > 0 && sortingFormat[0].includes(text)) {\r\n if (sortingFormat[0].includes(\"asc\")) {\r\n newSortingFormat.push(sortingFormat[0].replace(\"asc\", \"desc\"));\r\n }\r\n Sorting = newSortingFormat;\r\n } else {\r\n newSortingFormat.push(`${text} asc`);\r\n Sorting = newSortingFormat;\r\n }\r\n }\r\n // setSortingFormat(Sorting)\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n item[5] = Sorting;\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n orderFormat && orderFormat(Sorting);\r\n if ((goPageFormat && pageNum !== 1) || event.ctrlKey) {\r\n handleGoPage && handleGoPage(1);\r\n }\r\n }\r\n function toggleSortingFormat(text) {\r\n for (let i = 0; i < sortingFormat.length; i++) {\r\n if (sortingFormat[i].split(\" \")[0] == text) {\r\n if (sortingFormat[i].includes(\"asc\")) return [\"up\", i];\r\n else if (sortingFormat[i].includes(\"desc\")) return [\"down\", i];\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n // useEffect(() => {\r\n // }, [sortingFormat])\r\n\r\n if (hasOperation) {\r\n if (\r\n hedcolums[2] &&\r\n hedcolums[2].width &&\r\n hedcolums[2].width !== undefined\r\n ) {\r\n if (hasmultiSelector) {\r\n gridTemplateColumnsStyle[0] = \"24px\";\r\n gridTemplateColumnsStyle[1] = \"24px\";\r\n for (let i = 2; i < hedcolums.length; i++) {\r\n if (!removedColumns.includes(hedcolums[i].text)) {\r\n if (hedcolums[i].text.includes(\"Icon\")) {\r\n gridTemplateColumnsStyle.push(\r\n `${\r\n hedcolums[i].width === undefined\r\n ? \"24px\"\r\n : hedcolums[i].width\r\n }`\r\n );\r\n } else {\r\n if (hedcolums[i].width === \"24px\") {\r\n gridTemplateColumnsStyle.push(hedcolums[i].width);\r\n } else {\r\n gridTemplateColumnsStyle.push(\r\n `${\r\n hedcolums[i].width === undefined\r\n ? \"120px\"\r\n : hedcolums[i].width\r\n }`\r\n );\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n gridTemplateColumnsStyle[0] = \"24px\";\r\n for (let i = 1; i < hedcolums.length; i++) {\r\n if (!removedColumns.includes(hedcolums[i].text)) {\r\n if (hedcolums[i].text.includes(\"Icon\")) {\r\n gridTemplateColumnsStyle.push(\r\n `${\r\n hedcolums[i].width === undefined\r\n ? \"24px\"\r\n : hedcolums[i].width\r\n }`\r\n );\r\n } else {\r\n if (\r\n hedcolums[i].width === \"24px\" ||\r\n hedcolums[i].width === \"24px\"\r\n ) {\r\n gridTemplateColumnsStyle.push(hedcolums[i].width);\r\n } else {\r\n gridTemplateColumnsStyle.push(\r\n `${\r\n hedcolums[i].width === undefined\r\n ? \"120px\"\r\n : hedcolums[i].width\r\n }`\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (hasmultiSelector) {\r\n gridTemplateColumnsStyle[0] = \"24px\";\r\n gridTemplateColumnsStyle[1] = \"24px\";\r\n for (let i = 2; i < hedcolums.length; i++) {\r\n if (!removedColumns.includes(hedcolums[i].text)) {\r\n if (hedcolums[i].text.includes(\"Icon\")) {\r\n gridTemplateColumnsStyle.push(\"24px\");\r\n } else {\r\n gridTemplateColumnsStyle.push(\"minmax(120px,auto)\");\r\n }\r\n }\r\n }\r\n } else {\r\n gridTemplateColumnsStyle[0] = \"24px\";\r\n\r\n for (let i = 1; i < hedcolums.length; i++) {\r\n if (!removedColumns.includes(hedcolums[i].text)) {\r\n if (hedcolums[i].text.includes(\"Icon\")) {\r\n gridTemplateColumnsStyle.push(\"24px\");\r\n } else {\r\n gridTemplateColumnsStyle.push(\"minmax(120px,auto)\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (hedcolums[1]?.width && hedcolums[1].width !== undefined) {\r\n for (let i = 0; i < hedcolums.length; i++) {\r\n if (!removedColumns.includes(hedcolums[i].text)) {\r\n if (hedcolums[i].text.includes(\"Icon\")) {\r\n gridTemplateColumnsStyle.push(\r\n `${\r\n hedcolums[i].width === undefined ? \"24px\" : hedcolums[i].width\r\n }`\r\n );\r\n } else {\r\n if (hedcolums[i].width === \"24px\") {\r\n gridTemplateColumnsStyle.push(hedcolums[i].width);\r\n } else {\r\n if (hedcolums[i].width === undefined) {\r\n gridTemplateColumnsStyle.push(\r\n `${i == 0 && hasmultiSelector ? \"24px\" : \"120px\"}`\r\n );\r\n } else {\r\n gridTemplateColumnsStyle.push(`${hedcolums[i].width}`);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (hasmultiSelector) {\r\n gridTemplateColumnsStyle[0] = \"24px\";\r\n\r\n for (let i = 1; i < hedcolums.length; i++) {\r\n if (!removedColumns.includes(hedcolums[i].text)) {\r\n if (hedcolums[i].text.includes(\"Icon\")) {\r\n gridTemplateColumnsStyle.push(\"24px\");\r\n } else {\r\n gridTemplateColumnsStyle.push(\"minmax(120px,auto)\");\r\n }\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < hedcolums.length; i++) {\r\n if (!removedColumns.includes(hedcolums[i].text)) {\r\n if (hedcolums[i].text.includes(\"Icon\")) {\r\n gridTemplateColumnsStyle.push(\"24px\");\r\n } else {\r\n gridTemplateColumnsStyle.push(\"minmax(120px,auto)\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n let Rows = tbodyData?.map((item, index) => {\r\n // محتوای جدول\r\n let tr: any = JSON.parse(JSON.stringify(item));\r\n\r\n if (hasmultiSelector) {\r\n tr.SelectAll = (\r\n {\r\n multiSelector(item);\r\n selectorEvent(e, item);\r\n }}\r\n />\r\n );\r\n\r\n /* tr.splice(1, 0, // در اینجا محتوای ستون عملیات قرار مقدار دهی می شود\r\n {multiSelector(item)}} />\r\n \r\n ); */\r\n }\r\n\r\n if (hasOperation) {\r\n tr.Operation = (\r\n
\r\n {}}\r\n onFocus={(e) => {\r\n if (\r\n window.innerHeight - e.target.getBoundingClientRect().top <\r\n (customFuction.length + 2) * 25\r\n ) {\r\n setOperationPosition((customFuction.length + 2) * 25);\r\n } else {\r\n setOperationPosition(0);\r\n }\r\n toggleShowOperations(index);\r\n SubIndexRef.current = 0;\r\n }}\r\n onBlur={() => {\r\n toggleShowOperations(index);\r\n setShowOperations(false);\r\n SubIndexRef.current = -3;\r\n }}\r\n >\r\n \r\n \r\n {customFuction &&\r\n customFuction.map((item2, index2) => {\r\n if (item2[3] !== undefined && item2[3].length > 1) {\r\n if (item[item2[3]] === item2[4]) {\r\n return (\r\n \r\n item2[0](item)}\r\n >\r\n \r\n

{trans(item2[2])}

\r\n
\r\n \r\n );\r\n }\r\n } else {\r\n return (\r\n \r\n item2[0](item)}\r\n >\r\n \r\n

{trans(item2[2])}

\r\n \r\n \r\n );\r\n }\r\n })}\r\n {handleDelete && (\r\n \r\n {\r\n handleDelete(item[\"Id\"]);\r\n }}\r\n >\r\n \r\n

{trans(\"Delete\")}

\r\n \r\n \r\n )}\r\n {handleEdit && (\r\n \r\n handleEdit(item[\"Id\"])}\r\n >\r\n \r\n

{trans(\"Edit\")}

\r\n \r\n \r\n )}\r\n\r\n {handleResend &&\r\n item?.ExclamationIcon === \"circle-exclamation,red\" && (\r\n \r\n \r\n \r\n

{trans(\"resend\")}

\r\n \r\n \r\n )}\r\n\r\n {handleView && (\r\n \r\n handleView(item[\"Id\"])}\r\n >\r\n \r\n

{trans(\"View\")}

\r\n \r\n \r\n )}\r\n {handleDownload && (\r\n \r\n handleDownload(item[\"Id\"])}\r\n >\r\n \r\n

{trans(\"Download\")}

\r\n \r\n \r\n )}\r\n {handleAttachment && (\r\n \r\n handleAttachment(item[\"Id\"])}\r\n >\r\n \r\n

\r\n {handleAttachmentText\r\n ? handleAttachmentText\r\n : trans(\"Attachment\")}\r\n

\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return tr;\r\n });\r\n\r\n const handleMouseDown = (rowId) => {\r\n // console.log({rowId})\r\n RowsRef.current = Rows;\r\n setDraggedRowId(rowId);\r\n };\r\n\r\n const handleMouseOver = (targetRowId) => {\r\n if (draggedRowId !== null && draggedRowId !== targetRowId) {\r\n const draggedIndex = RowsRef.current.findIndex(\r\n (row) => row.Id === draggedRowId\r\n );\r\n const targetIndex = RowsRef.current.findIndex(\r\n (row) => row.Id === targetRowId\r\n );\r\n const updatedRows = [...RowsRef.current];\r\n\r\n const [movedRow] = updatedRows.splice(draggedIndex, 1);\r\n updatedRows.splice(targetIndex, 0, movedRow);\r\n RowsRef.current = updatedRows;\r\n\r\n setTargetId(targetRowId);\r\n }\r\n };\r\n\r\n const handleMouseUp = () => {\r\n setDraggedRowId(null);\r\n setTargetId(null);\r\n };\r\n\r\n function getTh(e, index) {\r\n e.stopPropagation();\r\n selectedIndex = index;\r\n }\r\n function setTh(e, index) {\r\n if (selectedIndex > 0) {\r\n let putIndex = index;\r\n if (hasOperation) {\r\n if (putIndex > 1) {\r\n let selectIndex: any = selectedIndex;\r\n let arryHed = hedcolums;\r\n let selectHed = arryHed[selectIndex];\r\n arryHed.splice(selectIndex, 1);\r\n arryHed.splice(putIndex, 0, selectHed);\r\n setHedcolums(arryHed);\r\n setTimeout(() => {\r\n setFlag(!flag);\r\n }, 5);\r\n }\r\n } else {\r\n if (putIndex > 0) {\r\n let selectIndex: any = selectedIndex;\r\n let arryHed = hedcolums;\r\n let selectHed = arryHed[selectIndex];\r\n arryHed.splice(selectIndex, 1);\r\n arryHed.splice(putIndex, 0, selectHed);\r\n setHedcolums(arryHed);\r\n setTimeout(() => {\r\n setFlag(!flag);\r\n }, 5);\r\n }\r\n setFlag(!flag);\r\n }\r\n }\r\n }\r\n\r\n function multiSelectAll(e) {\r\n let checkboxs: any = Object.values(\r\n document.getElementsByClassName(`${parentName} checkBox`)\r\n );\r\n if (multiSelecttype !== 2) {\r\n if (e.target.checked) {\r\n setCheckedAll(true);\r\n checkboxs.forEach((item) => {\r\n item.checked = true;\r\n });\r\n setSelectedRow([]);\r\n setSelectedRow(tbody);\r\n selectList && selectList([parentName, tbody]);\r\n setFlag(!flag);\r\n } else {\r\n setCheckedAll(false);\r\n checkboxs.forEach((item) => {\r\n item.checked = false;\r\n });\r\n setSelectedRow([]);\r\n setFlag(!flag);\r\n selectList && selectList([parentName, []]);\r\n }\r\n setFlag(!flag);\r\n } else {\r\n if (!e.target.checked) {\r\n setCheckedAll(false);\r\n checkboxs.forEach((item) => {\r\n item.checked = false;\r\n });\r\n setSelectedRow([]);\r\n setFlag(!flag);\r\n selectList && selectList([parentName, []]);\r\n multiSelectCallback && multiSelectCallback(false);\r\n } else {\r\n selectList && selectList([parentName, tbody]);\r\n multiSelectCallback && multiSelectCallback(true);\r\n }\r\n }\r\n\r\n // ***** for test *****\r\n }\r\n async function onContextMenu(e, index, id) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n\r\n myStateRef.current = index;\r\n selectedRowObjectCallback &&\r\n (await selectedRowObjectCallback(tbodyData[index], index, e));\r\n document.getElementById(\"Operation\" + index + parentName)?.focus();\r\n toggleShowOperations(index);\r\n SubIndexRef.current = 0;\r\n\r\n if (\r\n myStateRef.current === index ||\r\n (rowSelected && rowSelected.Id === id && myStateRef.current !== 0)\r\n ) {\r\n }\r\n return false;\r\n }\r\n\r\n useEffect(() => {\r\n setSelectedRow([]);\r\n setCheckedAll(false);\r\n }, [parentName]);\r\n\r\n useEffect(() => {\r\n if (selectedRowProp) {\r\n let seletedList: any = selectedRow;\r\n\r\n selectedRowProp.forEach((item) => {\r\n let flag = false;\r\n selectedRow.forEach((item2) => {\r\n if (item2.Id === item.Id) {\r\n flag = true;\r\n }\r\n });\r\n if (!flag) {\r\n seletedList.push(item);\r\n }\r\n });\r\n\r\n let checkboxs: any = Object.values(\r\n document.getElementsByClassName(`${parentName} checkBox`)\r\n );\r\n\r\n if (selectedRowProp[0]?.Id === \"All\") {\r\n setCheckedAll(true);\r\n setSelectedRow([]);\r\n setSelectedRow(tbody);\r\n if (checkboxs.length > 0) {\r\n checkboxs.forEach((item1) => {\r\n item1.checked = true;\r\n });\r\n }\r\n } else {\r\n if (checkboxs.length > 0) {\r\n checkboxs.forEach((item1) => {\r\n let flag = false;\r\n seletedList.forEach((item2) => {\r\n if (item1.id.slice(9, 45) === item2.Id) {\r\n flag = true;\r\n item1.checked = true;\r\n item1.disabled = false;\r\n }\r\n });\r\n if (!flag) {\r\n item1.checked = false;\r\n if (multiSelecttype !== 3) {\r\n item1.disabled = true;\r\n } else {\r\n item1.disabled = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n // setSelectedRow(seletedList)\r\n // selectList && selectList([parentName, seletedList])\r\n }\r\n }\r\n }, [tbodyData, selectedRowProp]);\r\n\r\n function selectorEvent(e, item) {\r\n checkedRowEventCallback &&\r\n checkedRowEventCallback(e.target.checked, item);\r\n }\r\n\r\n function multiSelector(e) {\r\n selectItem && selectItem(e);\r\n if (multiSelecttype === 3) {\r\n let seletedList: any = [];\r\n if (selectedRowProp?.length > 0) {\r\n seletedList = selectedRowProp;\r\n }\r\n let index1 = seletedList.findIndex((item, index) => {\r\n if (item.Id === e.Id) {\r\n return true;\r\n }\r\n });\r\n if (index1 > -1) {\r\n seletedList.splice(index1, 1);\r\n setCheckedAll(false);\r\n } else {\r\n seletedList.splice(0, 0, e);\r\n setSelectedRow(seletedList);\r\n }\r\n selectList && selectList([parentName, seletedList]);\r\n } else {\r\n let seletedList: any = selectedRow;\r\n let index1 = selectedRow.findIndex((item, index) => {\r\n if (item.Id === e.Id) {\r\n return true;\r\n }\r\n });\r\n if (index1 > -1) {\r\n seletedList.splice(index1, 1);\r\n setCheckedAll(false);\r\n } else {\r\n seletedList.splice(0, 0, e);\r\n setSelectedRow(seletedList);\r\n }\r\n selectList && selectList([parentName, selectedRow]);\r\n }\r\n }\r\n function hasSelect(e) {\r\n let seletedList: any = selectedRow;\r\n let index1 = seletedList.findIndex((item, index) => {\r\n if (item.Id === e.Id) {\r\n return true;\r\n }\r\n });\r\n if (index1 > -1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function filterMaker(e) {\r\n setAutoFocus(true);\r\n let newList: any = [];\r\n let flag = false;\r\n filterList.forEach((item, index) => {\r\n if (item !== e) {\r\n newList.push(item);\r\n } else {\r\n flag = true;\r\n setFilterListValuse(filterListValuse.splice(index, 1));\r\n }\r\n });\r\n if (!flag) {\r\n newList.push(e);\r\n setFilterList(newList);\r\n }\r\n if (flag) {\r\n filtering(newList);\r\n }\r\n return flag;\r\n }\r\n\r\n function filtering(List = filterList) {\r\n let filterString = \"\";\r\n if (document.forms[\"Filtering\" + parentName][\"filter\"]) {\r\n if (\r\n document.forms[\"Filtering\" + parentName][\"filter\"].length > 1 &&\r\n List.length > 0\r\n ) {\r\n document.forms[\"Filtering\" + parentName][\"filter\"].forEach((item) => {\r\n if (List.includes(item.id) && item.value.length > 0) {\r\n filterString += `${item.id}='${item.value}',`;\r\n }\r\n });\r\n } else {\r\n if (\r\n List.includes(\r\n document.forms[\"Filtering\" + parentName][\"filter\"].id\r\n ) &&\r\n document.forms[\"Filtering\" + parentName][\"filter\"].value.length > 0\r\n ) {\r\n filterString += `${\r\n document.forms[\"Filtering\" + parentName][\"filter\"].id\r\n }='${document.forms[\"Filtering\" + parentName][\"filter\"].value}',`;\r\n }\r\n }\r\n if (filterString.length > 0) {\r\n handlefiltering && handlefiltering(filterString);\r\n } else {\r\n if (filterFlag) {\r\n setFilterList(List);\r\n } else {\r\n handlefiltering && handlefiltering(filterString);\r\n }\r\n }\r\n } else {\r\n handlefiltering && handlefiltering(\"\");\r\n }\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n item[4] = filterString;\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n }\r\n\r\n useEffect(() => {\r\n if (filterStr && typeof filterStr == \"string\" && filterStr.length > 1) {\r\n let newJs: any = filterStr.split(\",\");\r\n let lastList: any = [];\r\n newJs.forEach((item) => {\r\n lastList.push(item.split(\"=\"));\r\n });\r\n let hedList: any = [];\r\n let valueList: any = [];\r\n lastList.forEach((item) => {\r\n if (item[0].length > 0) {\r\n hedList.push(item[0]);\r\n valueList.push(item[1].replace(/'/g, \"\"));\r\n }\r\n });\r\n setFilterList(hedList);\r\n setFilterListValuse(valueList);\r\n setFilterFlag(false);\r\n }\r\n }, [filterStr]);\r\n\r\n // const renderTooltip = (tooltipText) => (\r\n // \r\n // {trans(tooltipText)}\r\n // \r\n // );\r\n const mouseDown = (index) => {\r\n setActiveIndex(index);\r\n activeIndexRef.current = index;\r\n };\r\n const mouseMove = useCallback(\r\n (e) => {\r\n e.stopImmediatePropagation();\r\n // Return an array of px values\r\n\r\n let gridColumns = hedcolums.map((col, i) => {\r\n if (!removedColumns.includes(col.text)) {\r\n if (i === activeIndex) {\r\n // Calculate the column width\r\n if (tableElement.current !== null) {\r\n if (rtlDataGridDirection) {\r\n // سایز سلول در حالت راست چین\r\n\r\n const width =\r\n col.ref.current.getBoundingClientRect().right - e.clientX;\r\n let width2 =\r\n (col.ref.current.getBoundingClientRect().width - width) / 2;\r\n if (width >= DefaultMinCellWidth - 5) {\r\n return `${\r\n col.ref.current.getBoundingClientRect().width - width2\r\n }px`;\r\n } else {\r\n mouseUp(\"\");\r\n Toast(\r\n trans(\"msg_deletecolumnconfirm\"),\r\n MessageType.confirmDelete,\r\n () => {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n item[6] = [...removedColumns, col.text];\r\n }\r\n });\r\n setRemovedColumns([...removedColumns, col.text]);\r\n localStorage.setItem(\r\n \"userHeadTable\",\r\n JSON.stringify(locallist)\r\n );\r\n }\r\n );\r\n return `${DefaultMinCellWidth + 5}px`;\r\n }\r\n } else {\r\n // سایز سلول در حالت چپ چین\r\n const width =\r\n e.clientX -\r\n (\r\n tableElement.current as HTMLElement\r\n )?.getBoundingClientRect().left -\r\n col.ref.current.offsetLeft;\r\n if (width >= DefaultMinCellWidth - 5) {\r\n return `${width}px`;\r\n } else {\r\n mouseUp(\"\");\r\n // Toast(\r\n // trans(\"msg_deletecolumnconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // () => {\r\n // let hedTables = localStorage.getItem(\"userHeadTable\");\r\n // let locallist;\r\n // if (hedTables == null) {\r\n // locallist = [];\r\n // } else {\r\n // locallist = JSON.parse(hedTables);\r\n // }\r\n // locallist.forEach((item) => {\r\n // if (item[0] === parentName) {\r\n // item[6] = [...removedColumns, col.text];\r\n // }\r\n // });\r\n // setRemovedColumns([...removedColumns, col.text]);\r\n\r\n // localStorage.setItem(\r\n // \"userHeadTable\",\r\n // JSON.stringify(locallist)\r\n // );\r\n // }\r\n // );\r\n Toast(\r\n trans(\"msg_deletecolumnconfirm\"),\r\n MessageType.confirmDelete,\r\n () => {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n item[6] = [...removedColumns, col.text];\r\n }\r\n });\r\n setRemovedColumns([...removedColumns, col.text]);\r\n\r\n localStorage.setItem(\r\n \"userHeadTable\",\r\n JSON.stringify(locallist)\r\n );\r\n }\r\n );\r\n return `${DefaultMinCellWidth + 5}px`;\r\n }\r\n }\r\n }\r\n }\r\n // Otherwise return the previous width (no changes)\r\n return `${col.ref.current.offsetWidth}px`;\r\n } else {\r\n return null;\r\n }\r\n });\r\n gridColumns.filter((n) => n);\r\n if (tableElement.current) {\r\n (tableElement.current as HTMLElement).style.gridTemplateColumns =\r\n gridColumns.join(\" \");\r\n }\r\n\r\n if (gridColumns.length > 0) {\r\n widthColumns = JSON.parse(JSON.stringify(gridColumns));\r\n }\r\n },\r\n [activeIndex, DefaultMinCellWidth]\r\n );\r\n const removeListeners = useCallback(() => {\r\n window.removeEventListener(\"mousemove\", mouseMove);\r\n window.removeEventListener(\"mouseup\", mouseUp);\r\n window.removeEventListener(\"mouseup\", removeListeners);\r\n }, [mouseMove]);\r\n const mouseUp = useCallback(\r\n (e) => {\r\n if (activeIndex) {\r\n let newhedcolums = hedcolums;\r\n newhedcolums[activeIndex].width = widthColumns[activeIndex];\r\n setTimeout(() => {\r\n setHedcolums(newhedcolums);\r\n }, 5);\r\n }\r\n\r\n removeListeners();\r\n setActiveIndex(null);\r\n activeIndexRef.current = null;\r\n },\r\n [setActiveIndex, removeListeners]\r\n );\r\n\r\n useEffect(() => {\r\n let checkboxs: any = Object.values(\r\n document.getElementsByClassName(`${parentName} checkBox`)\r\n );\r\n checkboxs.forEach((item) => {\r\n item.checked = false;\r\n });\r\n setSelectedRow([]);\r\n setFlag(!flag);\r\n setCheckedAll(false);\r\n }, [resetMultiSelect]);\r\n\r\n useEffect(() => {\r\n if (multiSelecttype !== 2) {\r\n let checkboxs: any = Object.values(\r\n document.getElementsByClassName(`${parentName} checkBox`)\r\n );\r\n checkboxs.forEach((item1) => {\r\n let flag = false;\r\n selectedRow.forEach((item2) => {\r\n if (item1.id.slice(9, 45) === item2.Id) {\r\n flag = true;\r\n }\r\n });\r\n if (flag) {\r\n item1.checked = true;\r\n } else {\r\n item1.checked = false;\r\n }\r\n });\r\n }\r\n }, [tbodyData]);\r\n\r\n useEffect(() => {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n if (item[7]) {\r\n setHoverSource(item[7]);\r\n } else {\r\n setHoverSource(\"ColumnData\");\r\n }\r\n }\r\n });\r\n\r\n let isInList = false;\r\n if (rowSelected != null) {\r\n tbodyData.forEach((item, index) => {\r\n if (item.Id == rowSelected.Id) {\r\n isInList = true;\r\n if (tbodyData[0]?.Id == GUID_EMPTY) {\r\n selectedRowObjectCallback &&\r\n selectedRowObjectCallback(null, null, null);\r\n } else\r\n selectedRowObjectCallback &&\r\n selectedRowObjectCallback(item, index, \"\");\r\n }\r\n });\r\n if (!isInList) {\r\n if (tbodyData[0]?.Id == GUID_EMPTY) {\r\n selectedRowObjectCallback &&\r\n selectedRowObjectCallback(null, null, null);\r\n } else\r\n selectedRowObjectCallback &&\r\n selectedRowObjectCallback(tbodyData[0], 0, \"\");\r\n }\r\n }\r\n return () => {\r\n if (ummont) {\r\n let flag2 = false;\r\n let hedlist = hedcolums.map((item) => {\r\n return item.text;\r\n });\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n if (localFlag) {\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n item[1] = hedlist;\r\n localFlag = false;\r\n flag2 = true;\r\n }\r\n });\r\n if (!flag2) {\r\n locallist.push([parentName, hedlist, widthColumns]);\r\n }\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n }\r\n ummont = false;\r\n }\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (activeIndex !== null) {\r\n window.addEventListener(\"mousemove\", mouseMove);\r\n window.addEventListener(\"mouseup\", mouseUp);\r\n }\r\n a = true;\r\n return () => {\r\n if (a) {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n if (localFlag) {\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n if (ummont)\r\n if (widthColumns.length > 0) {\r\n item[2] = widthColumns;\r\n }\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n }\r\n removeListeners();\r\n }\r\n };\r\n }, [mouseMove, mouseUp]);\r\n return (\r\n <>\r\n \r\n {\r\n e.preventDefault();\r\n filtering();\r\n }}\r\n >\r\n \r\n 2 ? \"theadTr\" : \"\"\r\n }`}\r\n >\r\n \r\n {hedcolums.map(({ ref, text }, index) => (\r\n <>\r\n {!removedColumns.includes(text) && (\r\n \r\n {trans(text)}\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n >\r\n 0 ? \"theadTr \" : \"\"} ${\r\n scrollHeight ? \"scrollable\" : \"\"\r\n }`}\r\n >\r\n
\r\n {text === \"SelectAll\" ? (\r\n {}\r\n }\r\n className={`${\r\n hasOperation\r\n ? \"data-grid__cell-bodytext\"\r\n : \"data-grid__header-cell-span\"\r\n }`}\r\n >\r\n {\" \"}\r\n {}}\r\n onClick={multiSelectAll}\r\n id={\"checkboxAll\"}\r\n />{\" \"}\r\n \r\n ) : hasOperation && index === 0 ? (\r\n {\r\n orderFormat && orderFormat(e);\r\n }}\r\n handleFilterList={(e) => {\r\n handlefiltering && handlefiltering(e);\r\n }}\r\n />\r\n ) : (\r\n {\r\n getTh(e, index);\r\n }}\r\n onMouseUp={(e) => {\r\n setTh(e, index);\r\n }}\r\n >\r\n {\r\n createSortingFormat(text, e);\r\n }}\r\n style={{\r\n width: \"100%\",\r\n marginRight: disabled\r\n ? \"2px\"\r\n : text.includes(\"Icon\")\r\n ? \"2px\"\r\n : toggleSortingFormat(text)[0]\r\n ? \"28px\"\r\n : \"\",\r\n }}\r\n className=\"data-grid__cell-text\"\r\n >\r\n {text === \"Operation\" ? (\r\n handleCreate && (\r\n handleCreate(true)}\r\n >\r\n +\r\n
\r\n )\r\n ) : text.includes(\"Icon\") ? (\r\n text.replace(\"Icon\", \"\").length > 0 ? (\r\n \r\n ) : (\r\n \"\"\r\n )\r\n ) : (\r\n <>\r\n {translatedHeader?.[text]\r\n ? translatedHeader?.[text]\r\n : trans(text)}{\" \"}\r\n {handlefiltering && (\r\n {\r\n e.stopPropagation();\r\n filterMaker(text);\r\n }}\r\n >\r\n {\r\n \r\n }{\" \"}\r\n \r\n )}\r\n \r\n )}\r\n \r\n {(hasOperation && index === 0) ||\r\n (!hasOperation && index === 0) ? null : (\r\n <>\r\n {toggleSortingFormat(text)[0] && (\r\n {\r\n createSortingFormat(text, e);\r\n }}\r\n className=\"data-grid__sorting-icon-wrapper\"\r\n id={\"data-grid__header-cell\" + index}\r\n >\r\n {toggleSortingFormat(text)[0] ===\r\n \"up\" ? (\r\n <>\r\n
\r\n {+toggleSortingFormat(text)[1] +\r\n 1}{\" \"}\r\n
\r\n
\r\n {\" \"}\r\n
{\" \"}\r\n \r\n ) : toggleSortingFormat(text)[0] ===\r\n \"down\" ? (\r\n <>\r\n
\r\n {+toggleSortingFormat(text)[1] +\r\n 1}\r\n
\r\n
\r\n {\" \"}\r\n {\" \"}\r\n
\r\n \r\n ) : null}\r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n {filterList.includes(text) && (\r\n
\r\n {text.includes(\"Date\") ||\r\n text.includes(\"Time\") ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {\r\n filtering();\r\n }}\r\n />\r\n
\r\n )}\r\n \r\n {index === 0 && (\r\n <>\r\n {hasOperation || multiSelect ? (\r\n \r\n ) : (\r\n mouseDown(index)}\r\n className={`data-grid__resize-handle ${\r\n activeIndex === index ? \"active\" : \"idle\"\r\n }`}\r\n />\r\n )}\r\n \r\n )}\r\n {index > 0 ? (\r\n text.includes(\"Icon\") ? (\r\n \r\n ) : text.includes(\"multiSelect\") ? (\r\n \r\n ) : (\r\n mouseDown(index)}\r\n className={`data-grid__resize-handle ${\r\n activeIndex === index ? \"active\" : \"idle\"\r\n }`}\r\n />\r\n )\r\n ) : text.includes(\"multiSelect\") ? (\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n )}\r\n {index == 0 && responseList && (\r\n \r\n {trans(\"alerttt\")}\r\n \r\n }\r\n >\r\n 0 ? \"theadTr \" : \"\"} ${\r\n scrollHeight ? \"scrollable\" : \"\"\r\n }`}\r\n >\r\n
\r\n \r\n \r\n
\r\n \r\n <>\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n \r\n {totalRecords === 0 && tbody.length === 1 ? (\r\n <>\r\n ) : (\r\n \r\n {(moveRows && RowsRef.current ? RowsRef.current : Rows)?.map(\r\n (row, index1) => {\r\n if (rowSelected && rowSelected.Id === row.Id) {\r\n myStateRef.current = index1;\r\n }\r\n return (\r\n <>\r\n handleMouseDown(row.Id)\r\n : undefined\r\n }\r\n onMouseOver={\r\n moveRows\r\n ? (event) => handleMouseOver(row.Id)\r\n : undefined\r\n }\r\n onContextMenu={(e) => {\r\n onContextMenu(e, index1, row.Id);\r\n }}\r\n tabIndex={-1}\r\n onDoubleClick={() => {\r\n DoubleClick\r\n ? DoubleClick(row)\r\n : handleView && handleView(row.Id);\r\n }}\r\n id={`trbody${index1}`}\r\n key={index1}\r\n className={`data-grid__tr ${\r\n View ? (row[ViewParametr] ? \"boldTr\" : \"\") : \" \"\r\n } ${\r\n draggedRowId &&\r\n draggedRowId == row.Id &&\r\n \" dragging \"\r\n } ${\r\n draggedRowId &&\r\n targetId == row.Id &&\r\n \" drag-target \"\r\n } `}\r\n onClick={(event) => {\r\n toggleActiveRow(event, index1);\r\n }}\r\n >\r\n {hedcolums.map(\r\n (cell, index2) =>\r\n !removedColumns.includes(cell.text) && (\r\n <>\r\n \r\n \r\n {cell.text.includes(\"Icon\")\r\n ? row[`${cell.text}Hover`]\r\n ? row[`${cell.text}Hover`]\r\n : hoverSource ===\r\n \"ColumnData\"\r\n ? typeof row[cell.text] ==\r\n \"string\"\r\n ? row[\r\n cell.text\r\n ]?.replaceAll(\r\n \"،\",\r\n \"\\n\"\r\n )\r\n : row[cell.text]\r\n : trans(cell.text)\r\n : hoverSource === \"ColumnData\"\r\n ? typeof row[cell.text] ==\r\n \"string\"\r\n ? row[\r\n cell.text\r\n ]?.replaceAll(\"،\", \"\\n\")\r\n : row[cell.text]\r\n : trans(cell.text)}\r\n \r\n \r\n ) : (\r\n !row[cell.text]?<>: \r\n {row[`${cell.text}Hover`]\r\n ? row[`${cell.text}Hover`]\r\n : hoverSource === \"ColumnData\"\r\n ? row[cell.text]\r\n : trans(cell.text)}\r\n \r\n )\r\n ) : (\r\n <>\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n {typeof row[cell.text] ===\r\n \"boolean\" ||\r\n row[cell.text] === \"false\" ||\r\n row[cell.text] === \"true\" ? (\r\n row[cell.text] === true ||\r\n row[cell.text] === \"true\" ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )\r\n ) : cell.text.includes(\"Icon\") ? (\r\n row[cell.text] &&\r\n row[cell.text].length > 1 ? (\r\n \r\n ) : (\r\n <>\r\n )\r\n ) : cell.text.includes(\"Debtor\") ||\r\n cell.text.includes(\"Creditor\") ||\r\n cell.text.includes(\"Price\") ||\r\n cell.text.includes(\"Discount\") ||\r\n cell.text.includes(\r\n \"Prepayment\"\r\n ) ||\r\n cell.text.includes(\"Tax\") ? (\r\n GroupingPriceFunction(\r\n row[cell.text]\r\n )\r\n ) : convertDateColNames.includes(\r\n cell.text\r\n ) ? (\r\n row[cell.text]? new DateObject(row[cell.text])\r\n .convert(persian, persian_fa)\r\n .format():null\r\n ) :\r\n /\\d+(\\.\\d+)?/g.test(row[cell.text]) && useChangingNumberPlacement&&(!cell.text.includes(\"Time\")&&!cell.text.includes(\"Date\"))?\r\n <>\r\n
{\r\n return `
${i}
`;\r\n }\r\n ),\r\n }}>
\r\n \r\n :(row[cell.text])}\r\n \r\n \r\n \r\n \r\n {index2 == 0 && responseList && (\r\n \r\n {responseList[index1]?.Message}\r\n \r\n }\r\n >\r\n \r\n \r\n
\r\n {responseList[index1] ? (\r\n <>\r\n {responseList[index1]\r\n .MessageType == 0 && (\r\n
\r\n \r\n
\r\n )}\r\n {responseList[index1]\r\n .MessageType == 1 && (\r\n
\r\n \r\n
\r\n )}\r\n {responseList[index1]\r\n .MessageType == 2 && (\r\n
\r\n \r\n
\r\n )}\r\n {responseList[index1]\r\n .MessageType == 2 && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n ) : (\r\n <>\r\n
\r\n \r\n
\r\n \r\n )}\r\n
\r\n \r\n \r\n \r\n )}\r\n \r\n )\r\n )}\r\n \r\n \r\n );\r\n }\r\n )}\r\n \r\n )}\r\n \r\n {totalRecords === 0 && tbody.length === 1 ? (\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n {pageNum &&\r\n pageSize &&\r\n HandleNextPage &&\r\n HandlePrevPage &&\r\n handlechangePageSize &&\r\n first &&\r\n end && (\r\n \r\n )}\r\n \r\n );\r\n }\r\n);\r\n","import { DYNAMICFORMS_URL } from \"utils/constants\";\r\nimport { ENDPOINTSDYNAMICFORMS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const postForm =( (data) => http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.dynamicForm,\r\n method: \"post\",\r\n data:data\r\n})\r\n\r\n.then((respons) => (respons.data))\r\n.catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)\r\n\r\nexport const deleteForm =( (formKey) => http({\r\n baseURL:DYNAMICFORMS_URL ,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.dynamicForm,\r\n method: 'delete',\r\n params: {\r\n formKey:formKey\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)\r\n\r\nexport const putForm = (data) => http({\r\n baseURL:DYNAMICFORMS_URL ,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.dynamicForm,\r\n method: 'put',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\nexport const getFormByKey = (formKey) => http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.formKey,\r\n method: 'get',\r\n params: {\r\n formKey: formKey,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getAllForms = () => http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.allForms,\r\n method: 'get',\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\nexport const getDictionaryAvailable = () => http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.dataCollection,\r\n method: 'get',\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\nexport const checkForm = (formKey) => http({\r\n baseURL:DYNAMICFORMS_URL ,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.checkEmpty,\r\n method: 'get',\r\n params:{\r\n formKey: formKey\r\n }\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\nexport const CheckExist = (FormKey,FormTitle,Id?) => http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.CheckExist,\r\n method: 'get',\r\n params: {\r\n Id:Id,\r\n FormKey:FormKey,\r\n FormTitle:FormTitle,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getDynamicDictionaryDictionaryApi = (async (\r\n DynamicFormPropertyId\r\n) => await http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.dataCollectionPropertiesDictionary,\r\n method: 'get',\r\n params:{\r\n\r\n DynamicFormPropertyId\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data.Data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)","import { trans } from \"utils/helpers\";\r\nimport { CheckableButton } from \"../CheckableButton/CheckableButton\"\r\nimport \"./style.scss\"\r\ninterface CheckableButtonListPropsType {\r\n checkableBtnLabelList: string[],\r\n checkableListLabel?: string,\r\n value?: string,\r\n verticalDirection: boolean,\r\n checkableButtonName?: string, // اگر چک باکس باشد نیازی به نام ندارد\r\n checkbaleType: \"checkbox\" | \"radio\",\r\n useTrans?:boolean,\r\n disable?:boolean,\r\n required?:boolean,\r\n mode?:string,\r\n}\r\nexport const CheckableButtonList = ({mode,disable=false,required=false,value,useTrans=true, checkableBtnLabelList, checkableListLabel, verticalDirection, checkableButtonName, checkbaleType }: CheckableButtonListPropsType) => {\r\n return (\r\n
\r\n \r\n {checkableListLabel ? : null}\r\n {required && *}\r\n
\r\n
\r\n\r\n {checkableBtnLabelList.map((label, index) => (\r\n \r\n /* \r\n */\r\n ))}\r\n
\r\n
\r\n
\r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\nexport const getPositionDictionaryApi = (async (id) => await http({\r\n url: ENDPOINTS.BaseInformation.position.dictionary,\r\n method: 'get',\r\n params: {\r\n id: id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)\r\nexport const getPositionDictionaryListApi = (async (search,id) => await http({\r\n url: ENDPOINTS.BaseInformation.position.dictionaryList,\r\n method: 'get',\r\n params: {\r\n searchString:search\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)","import { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getPositionDictionaryApi, getPositionDictionaryListApi } from \"./api\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n\r\ninterface PositionPropsType {\r\n label?: string,\r\n hasBorder?: boolean,\r\n valueString?: string,\r\n\r\n resetForm?: boolean,\r\n required?: boolean,\r\n returnObj?: boolean,\r\n allowType?: boolean,\r\n value?: string,\r\n DescriptionKey?: string,\r\n mode?: string,\r\n name: string,\r\n Change?: (e) => void,\r\n onChange?: (e) => void,\r\n}\r\n\r\nexport const Position = ({DescriptionKey, label, hasBorder, value, valueString ,allowType=false,mode,returnObj=false ,resetForm,required , name=\"\", Change ,onChange}: PositionPropsType) => {\r\n const [position, setPositions] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag, setFlag] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [rquird , setRquird] = useState(false);\r\n const [allowTyping , setAllowTyping] = useState(valueString&& allowType );\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const [disabled, setDisabled] = useState(mode == \"view\" ? true : false);\r\n const countRef = useRef(0)\r\n let options_PostLevel_keys, options_PostLevel_values;\r\n\r\n\r\n async function getPositionListAsync(search?, id?) {\r\n try {\r\n if (id) {\r\n const res2 = await getPositionDictionaryApi( id);\r\n if(Object.values(res2.Data)[0] && Object.values(res2.Data)[0] != undefined){\r\n\r\n setValeu( Object.values(res2.Data)[0], Object.keys(res2.Data)[0])\r\n setValueName( Object.values(res2.Data)[0])\r\n if(!returnObj)\r\n onChange && onChange(Object.values(res2.Data)[0])\r\n else\r\n onChange && onChange({Id:Object.keys(res2.Data)[0] , Name:Object.values(res2.Data)[0]})\r\n }else{\r\n \r\n }\r\n \r\n } else {\r\n const res = await getPositionDictionaryListApi(search, id);\r\n setPositions(res.Data)\r\n options_PostLevel_values = Object.values(res.Data)\r\n options_PostLevel_keys = Object.keys(res.Data)\r\n setShow(true)\r\n }\r\n setFlag(!flag)\r\n } catch (err: any) {\r\n \r\n }\r\n }\r\n\r\n\r\n const Auto = (e) => {\r\n setValidat(false)\r\n setRquird(false)\r\n setShow(true)\r\n Change && Change(true)\r\n getPositionListAsync(e.target.value, \"\")\r\n setFlag(!flag)\r\n }\r\n\r\n function userSelecter(){\r\n setValeu(options_PostLevel_values[countRef.current],options_PostLevel_keys[countRef.current])\r\n\r\n // setValeu(options_PostLevel_values[countRef.current],Object.keys(options_PostLevel_keys)[countRef.current])\r\n setShow(false)\r\n }\r\n\r\n const kydown = (event) => { \r\n\r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < options_PostLevel_values.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = options_PostLevel_values.length-1;\r\n }\r\n }\r\n document.getElementById(\"PositionIndex\"+countRef.current)?.scrollIntoView({block:'end',behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n\r\n }\r\n\r\n\r\n \r\n const CheckPosition =async (e)=>{\r\n \r\n setTimeout(async() => {\r\n \r\n if(e.target.value.length == 0&& inputRef.current?.value?.length == 0 && e.target.value==\"\"){\r\n inputIdRef.current.value = null\r\n if(required)\r\n setRquird(true)\r\n }else{\r\n setRquird(false)\r\n try{\r\n const res = await getPositionDictionaryListApi(e.target.value,\"\")\r\n if(Object.keys(res).length==0){\r\n setValidat(true)\r\n }\r\n if(Object.keys(res).length == 1){\r\n setValeu(Object.values(res)[0], Object.keys(res)[0] )\r\n }\r\n }catch(err:any){\r\n setValidat(true)\r\n }\r\n }\r\n }, 200);\r\n await delay(200)\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n }\r\n\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n\r\n\r\n\r\n\r\n const setValeu = (value, id) => {\r\n if(inputIdRef != null && inputIdRef.current != null){\r\n\r\n setRquird(false)\r\n inputRef.current.value = value\r\n inputIdRef.current.value = id\r\n setPositions(null)\r\n\r\n if(!returnObj)\r\n onChange && onChange(value)\r\n else\r\n onChange && onChange({Id:id , Name:value})\r\n\r\n setFlag(!flag)\r\n }\r\n }\r\n\r\n \r\n useEffect(() => {\r\n if (value) {\r\n getPositionListAsync(null, value)\r\n }else if(valueString&&allowType){\r\n onChange && onChange({Id:\" \" , Name:valueString})\r\n }\r\n }, [value ,resetForm]);\r\n\r\n \r\n useEffect(() => {\r\n setDisabled(mode == \"view\" ? true : false)\r\n \r\n }, [mode]);\r\n\r\n\r\n if (position) options_PostLevel_values = Object.values(position).map(item => {\r\n return item\r\n })\r\n if (position) options_PostLevel_keys = Object.keys(position).map(item => {\r\n return item\r\n })\r\n\r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) {\r\n setShow(false);\r\n }\r\n }\r\n\r\n useEffect(() =>{\r\n if(show){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n\r\n } \r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n\r\n \r\n },[show ,options_PostLevel_values])\r\n\r\n\r\n return (\r\n <>\r\n
\r\n {label && \r\n \r\n {trans(label)}\r\n \r\n }>\r\n
\r\n \r\n {required && *}\r\n {(allowType&&mode!=\"view\")&&\r\n <>\r\n {\r\n allowTyping ?\r\n {setAllowTyping(false)}} style={{marginRight:\"5px\"}} icon={[\"fas\", \"magnifying-glass\"]} className=\"text-primary pr-2\"/>\r\n :\r\n {setAllowTyping(true)}} style={{marginRight:\"5px\"}} icon={[\"fas\", \"magnifying-glass-minus\"]} className=\"text-danger pr-2\"/>\r\n\r\n }\r\n \r\n }\r\n
\r\n \r\n }\r\n\r\n\r\n \r\n \r\n {(!allowTyping||!allowType)?\r\n <>\r\n {e.stopPropagation(); Auto(e) }} onFocus={() => {getPositionListAsync(!allowTyping ? valueName:null); setShow(true) }} ref={inputRef} list=\"PositionList\" name={DescriptionKey?DescriptionKey:\"browser\"} className={\"text-box__box form-control\" + \" browser\"+name} type={'text'} id={\"browser\"+name} onChange={Auto} disabled={disabled} />\r\n {\r\n show &&\r\n
\r\n {options_PostLevel_values && options_PostLevel_values.map((item, index) => {\r\n return
{ setValeu(item, options_PostLevel_keys[index]) }} key={options_PostLevel_keys[index]} >{item}
\r\n })}\r\n
\r\n }\r\n \r\n :\r\n {onChange&&onChange( {Id:\" \" , Name:e.target.value});inputIdRef.current.value = e.target.value }} onChange={(e)=>{setValueName(e.target.value)}} ref={inputRef} name=\"browser\" className={\"text-box__box form-control\" + \" browser\"+name} type={'text'} id={\"browser\"+name} disabled={disabled} />\r\n\r\n }\r\n
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n {required && {trans(\"Msg_Validation_ValueIsRequired\", [\"\"])}}\r\n
\r\n \r\n
\r\n \r\n )\r\n}","import { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { REGEX } from \"utils/regex\";\r\nimport \"./style.scss\";\r\n\r\ninterface PriceProps {\r\n name: string;\r\n resetForm?: boolean;\r\n limited?: boolean;\r\n defaultValue?: number;\r\n label?: string;\r\n mode?: string;\r\n useTrans?: boolean;\r\n required?: boolean;\r\n displayLetters?: boolean;\r\n placeholder?: string | null;\r\n onChange?: any;\r\n}\r\nexport const Price = ({\r\n placeholder,\r\n name,\r\n displayLetters = true,\r\n limited,\r\n useTrans = true,\r\n defaultValue,\r\n label,\r\n mode,\r\n resetForm,\r\n required,\r\n onChange,\r\n}: PriceProps) => {\r\n const [PriceInputValue, setPriceInputValue] = useState(\"\");\r\n const [PriceValue, setPriceValue] = useState();\r\n let options: any = [\r\n { text: \"دلار\", id: 2 },\r\n { text: \"تومان\", id: 0 },\r\n { text: \"ریال\", id: 1 },\r\n ];\r\n\r\n const [MsgShow, setMsgShow] = useState(false);\r\n let [MsgText, setMsgText] = useState(false);\r\n const [currency, setCurrency] = useState(0);\r\n const [textPrice, setTextPrice] = useState();\r\n const inputPriceRef = useRef(null);\r\n const textPricesource = {\r\n 0: null,\r\n 1: \"یک\",\r\n 2: \"دو\",\r\n 3: \"سه\",\r\n 4: \"چهار\",\r\n 5: \"پنج\",\r\n 6: \"شش\",\r\n 7: \"هفت\",\r\n 8: \"هشت\",\r\n 9: \"نه\",\r\n 10: \"ده\",\r\n 11: \"یازده\",\r\n 12: \"دوازده\",\r\n 13: \"سیزده\",\r\n 14: \"چهارده\",\r\n 15: \"پانزده\",\r\n 16: \"شانزده\",\r\n 17: \"هفده\",\r\n 18: \"هجده\",\r\n 19: \"نوزده\",\r\n 20: \"بیست\",\r\n 30: \"سی\",\r\n 40: \"چهل\",\r\n 50: \"پنجاه\",\r\n 60: \"شصت\",\r\n 70: \"هفتاد\",\r\n 80: \"هشتاد\",\r\n 90: \"نود\",\r\n 100: \"صد\",\r\n 200: \"دویست\",\r\n 300: \"سیصد\",\r\n 400: \"چهارصد\",\r\n 500: \"پانصد\",\r\n 600: \"ششصد\",\r\n 700: \"هفتصد\",\r\n 800: \"هشتصد\",\r\n 900: \"نهصد\",\r\n };\r\n\r\n const currencySource = {\r\n 0: \"\",\r\n 1: \"هزار\",\r\n 2: \"میلیون\",\r\n 3: \"میلیارد\",\r\n 4: \"تریلیارد\",\r\n };\r\n\r\n function fixNumber(number: number) {\r\n if (number >= 0 && number < 10) return `0${number}`;\r\n return number;\r\n }\r\n\r\n function reverseString(str) {\r\n var splitString = str.split(\"\");\r\n var reverseArray = splitString.reverse();\r\n var joinArray = reverseArray.join(\"\");\r\n return joinArray;\r\n }\r\n\r\n function updatePriceInput(numvalue) {\r\n let value: any = numvalue + \"\";\r\n let text: any = [];\r\n let Price: any = reverseString(value.replaceAll(\",\", \"\"));\r\n if (Price.length <= 15) {\r\n if (\r\n value.replaceAll(\",\", \"\")[0] != \"0\" &&\r\n !Number.isNaN(+value.replaceAll(\",\", \"\"))\r\n ) {\r\n setMsgText(null);\r\n setMsgShow(false);\r\n let newPrice: any = \"\";\r\n let priceArray: any = [];\r\n let threeBox: any = [];\r\n Price.split(\"\").forEach((item, index) => {\r\n if (index % 3 == 0 && index > 0) {\r\n priceArray.push(threeBox);\r\n threeBox = [];\r\n threeBox.push(item);\r\n newPrice = `${item},${newPrice}`;\r\n } else {\r\n threeBox.push(item);\r\n newPrice = `${item}` + newPrice;\r\n }\r\n });\r\n if (threeBox.length > 0) {\r\n priceArray.push(threeBox);\r\n }\r\n priceArray.reverse().forEach((box, indexBox) => {\r\n let boxText: any = [];\r\n let flag = false;\r\n box.reverse().forEach((item, itemIndex) => {\r\n if (flag) {\r\n boxText.push(null);\r\n } else {\r\n if (box.length - (itemIndex + 1) == 1 && +item == 1) {\r\n boxText.push(\r\n textPricesource[\r\n +item * Math.pow(10, box.length - (itemIndex + 1)) +\r\n +box.reverse()[0]\r\n ]\r\n );\r\n flag = true;\r\n } else {\r\n boxText.push(\r\n textPricesource[\r\n +item * Math.pow(10, box.length - (itemIndex + 1))\r\n ]\r\n );\r\n }\r\n }\r\n });\r\n\r\n if (boxText.filter((el) => el != null).length == 0) {\r\n } else {\r\n text.push(\r\n `${boxText.filter((el) => el != null).join(\" و \")} ${\r\n currencySource[priceArray.length - (indexBox + 1)]\r\n }`\r\n );\r\n }\r\n });\r\n setTextPrice(text.length > 0 ? text.join(\" و \") + \" ریال \" : null);\r\n setPriceInputValue(newPrice);\r\n let MPrice: any;\r\n }\r\n } else {\r\n //setMsgText(\"Input value exceeds the limit\")\r\n //setMsgShow(true)\r\n }\r\n }\r\n\r\n /* function cheakPrice(event) {\r\n //let result = actualPriceRegex.test(event.target.value);\r\n if ( true) {\r\n setPriceInputValue(event.target.value); \r\n } else {\r\n if(event.target.value.includes(\":\")){\r\n let Price:any = PriceInputValue.split(\":\")\r\n setPriceInputValue(`${fixNumber(+Price[0])}:${fixNumber(+Price[1])}`)\r\n }else{\r\n if(/^[0-9]+$/.test(event.target.value)){\r\n setPriceValue(event.target.value) \r\n setPriceInputValue( minuteToHour(event.target.value))\r\n \r\n }else{\r\n \r\n event.target.classList.add(\"shake\");\r\n \r\n event.target.value = PriceInputValue;\r\n }\r\n }\r\n }\r\n } */\r\n\r\n useEffect(() => {\r\n if (defaultValue) {\r\n updatePriceInput(defaultValue);\r\n }\r\n }, [defaultValue]);\r\n useEffect(() => {\r\n if (resetForm) {\r\n setPriceInputValue(\"\");\r\n setPriceValue(0);\r\n }\r\n }, [resetForm]);\r\n useEffect(() => {\r\n /* let actualPriceInput = (document.querySelector(`[name=${name}]`) as HTMLInputElement);\r\n actualPriceInput.value = PriceInputValue; */\r\n let Price: any = PriceInputValue.split(\":\");\r\n let MPrice: any;\r\n if (Price[1]) {\r\n MPrice = Price[0] * 60 + +Price[1];\r\n } else {\r\n MPrice = +Price[0];\r\n }\r\n\r\n setPriceValue(MPrice);\r\n }, [PriceInputValue]);\r\n return (\r\n
\r\n \r\n {trans(label + \"\")}\r\n \r\n }\r\n >\r\n
\r\n {label && (\r\n \r\n )}\r\n
\r\n \r\n \r\n {textPrice}\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n >\r\n
\r\n e.stopPropagation() }\r\n disabled={mode == \"view\" ? true : false}\r\n onInput={(event: any) => {\r\n updatePriceInput(event.target?.value);\r\n }}\r\n type=\"text\"\r\n className={`action-form__Price-input form-control-custom ${\r\n mode == \"view\" ? \" disabled\" : \"\"\r\n }`}\r\n id={name}\r\n value={PriceInputValue}\r\n placeholder={placeholder ? placeholder : \"\"}\r\n onChange={onChange}\r\n />\r\n {displayLetters &&
{textPrice}
}\r\n
\r\n \r\n\r\n
\r\n \r\n {MsgText}\r\n \r\n
\r\n
\r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\ninterface RangeSliderPropsType {\r\n resetForm: boolean,\r\n hasBorder?: boolean,\r\n label?: string,\r\n mode?: string,\r\n defaultValue?: number,\r\n name: string,\r\n type?: string,\r\n Range?: any,\r\n required?:boolean,\r\n useTrans?:boolean,\r\n Change?: (e) => void,\r\n}\r\nexport const RangeSlider = ({ hasBorder,Change, label, useTrans=true, defaultValue, name,type=\"line\",Range , resetForm ,mode ,required}: RangeSliderPropsType) => {\r\n const rangeSliderRef = useRef(null);\r\n const [rangeInputValue, setRangeInputValue] = useState(defaultValue ? defaultValue : \"0\");\r\n const [disabled, setDisabled] = useState(mode ==\"view\" ? true : false);\r\n const [selectIndex, setSelectIndex] = useState(0);\r\n\r\n function updateRangeInputValue(event) {\r\n event.stopPropagation();\r\n setRangeInputValue(event.currentTarget.value);\r\n defaultValue != event.currentTarget.value ? Change&&Change({[name] :event.currentTarget.value}):Change&&Change({[name] :null});\r\n }\r\n\r\n function MouseMove(event) {\r\n event.stopPropagation();\r\n \r\n }\r\n useEffect(() => {\r\n if (resetForm)\r\n setRangeInputValue(\"0\")\r\n }, [resetForm])\r\n useEffect(() => {\r\n if (defaultValue) setRangeInputValue(`${defaultValue}`)\r\n }, [defaultValue])\r\n return (\r\n <>\r\n {type == \"line\" ?\r\n
\r\n {label && }\r\n {` %${rangeInputValue} `}\r\n\r\n \r\n
\r\n :\r\n\r\n
\r\n \r\n\r\n {Range && \r\n <>\r\n {` ${trans(Range[selectIndex+1])} `}\r\n
\r\n\r\n { Object.keys(Range).map((item , index)=>{\r\n if(index>selectIndex){\r\n return {setSelectIndex(index)}} className=\"text-warning\" />\r\n }else{\r\n return {setSelectIndex(index)}} className=\"text-warning\" />\r\n }\r\n \r\n \r\n })\r\n }\r\n
\r\n \r\n\r\n }\r\n
\r\n \r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}","\r\n\r\nimport React, { useState } from \"react\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\n\r\ninterface props {\r\n\r\n title?: string\r\n property?: any\r\n handleOpenStep?: (e:any)=>void;\r\n}\r\n\r\nexport const StepInForms: React.FC = ({title ,property ,handleOpenStep }) => { \r\n const [isOpen, setIsOpen] = useState(true);\r\n\r\n\r\n return (\r\n\r\n\r\n
\r\n
{property?.label ?(property?.label.includes(\"Step\") ? trans('step') + \" \"+property?.label.replace(\"Step\",\"\") :property?.label ) : trans('step')}
\r\n
{handleOpenStep && handleOpenStep(!isOpen); setIsOpen(!isOpen)}} >{!isOpen ? :}
\r\n
\r\n );\r\n}; ","import { http } from \"utils/http\";\r\n\r\nexport const getDictionaryListApi = (async (baseUrl=undefined,url,search='',params={} ,secendUrl=null , id=undefined) => await http({\r\n baseURL: baseUrl,\r\n url: (id&&secendUrl)? secendUrl:url,\r\n method: 'get',\r\n params: {\r\n searchString:search,\r\n Id:id,\r\n ...params\r\n }\r\n}).then((res) => {\r\n\r\n return (res.data.Data!=undefined||res.data.Data==null)?res.data.Data:res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getDictionaryListApi } from \"./api\";\r\n\r\ninterface AutoCompleteDictionaryPropsType {\r\n label?: string;\r\n hasBorder?: boolean;\r\n valueString?: string;\r\n disabled?: any;\r\n resetForm?: boolean;\r\n required?: boolean;\r\n returnObj?: boolean;\r\n value?: string;\r\n autoCompleteName?: any;\r\n mode?: string;\r\n ShowMethod?: any; //if useAlllist is true, when input is empty we can get all list instedof relations list\r\n name: string;\r\n Change?: (e) => void;\r\n onChange?: (e) => void;\r\n baseUrl: any;\r\n url: any;\r\n params?: any;\r\n className?: any;\r\n searchedHandleFun?: any;\r\n disabledItems?: any;\r\n secendUrl?: any;\r\n}\r\n\r\nexport const AutoCompleteDictionary = ({\r\n label,\r\n disabled = false,\r\n value,\r\n autoCompleteName,\r\n valueString,\r\n mode,\r\n returnObj = false,\r\n resetForm,\r\n required,\r\n name = \"\",\r\n Change,\r\n onChange,\r\n baseUrl,\r\n url,\r\n params,\r\n className,\r\n searchedHandleFun,\r\n secendUrl,\r\n disabledItems = [],\r\n}: AutoCompleteDictionaryPropsType) => {\r\n const [list, setList] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [selectedValue, setSelectedValue] = useState(value ? value : \"\");\r\n const [flag, setFlag] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [allowTyping, setAllowTyping] = useState(valueString);\r\n const [count, setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const countRef = useRef(0);\r\n const [listBoxPosition, setListBoxPosition] = useState();\r\n let options_keys, options_values;\r\n async function getListAsync(search?, id?) {\r\n try {\r\n const res = await getDictionaryListApi(baseUrl, url, search, params ,secendUrl,id);\r\n if (id) {\r\n if (res[id] && res[id] != undefined) {\r\n setValeu(res[id], id);\r\n setValueName(res[id]);\r\n if (!returnObj) onChange && onChange(id);\r\n else onChange && onChange({ Id: id, Name: res[id] });\r\n Change && Change({ [name]: res[id] });\r\n setList(res);\r\n options_values = Object.values(res[id]);\r\n options_keys = Object.keys(id);\r\n }\r\n setSelectedValue(id);\r\n } else {\r\n setList(res);\r\n options_values = Object.values(res);\r\n options_keys = Object.keys(res);\r\n setShow(true);\r\n }\r\n } catch (error: any) {}\r\n }\r\n\r\n const Auto = (e) => {\r\n setShow(true);\r\n inputIdRef.current.value = null;\r\n getListAsync(e.target.value, \"\");\r\n setFlag(!flag);\r\n searchedHandleFun && searchedHandleFun(e.target.value);\r\n };\r\n\r\n function userSelecter() {\r\n setValeu(options_values[countRef.current], options_keys[countRef.current]);\r\n\r\n // setValeu(options_values[countRef.current],Object.keys(options_keys)[countRef.current])\r\n setShow(false);\r\n }\r\n\r\n const kydown = (event) => {\r\n if (event.key === \"ArrowDown\") {\r\n if (countRef.current < options_values.length - 1) {\r\n countRef.current = countRef.current + 1;\r\n } else {\r\n countRef.current = 0;\r\n }\r\n }\r\n\r\n if (event.key === \"ArrowUp\") {\r\n if (countRef.current > 0) {\r\n countRef.current = countRef.current - 1;\r\n } else {\r\n countRef.current = options_values.length - 1;\r\n }\r\n }\r\n document\r\n .getElementById(\"Index\" + countRef.current)\r\n ?.scrollIntoView({ block: \"end\", behavior: \"smooth\" });\r\n setCount(countRef.current);\r\n\r\n if (event.key === \"Enter\") {\r\n userSelecter();\r\n }\r\n };\r\n\r\n const Check = async (e) => {\r\n setTimeout(async () => {\r\n if (\r\n e.target.value.length == 0 &&\r\n inputRef.current?.value?.length == 0 &&\r\n e.target?.value == \"\"\r\n ) {\r\n onChange && onChange({ Id: null, Name: null });\r\n if (inputIdRef.current) inputIdRef.current.value = null;\r\n } else {\r\n try {\r\n if (!inputIdRef.current.value) {\r\n const res = await getDictionaryListApi(\r\n baseUrl,\r\n url,\r\n inputIdRef.current.value ? null : e.target.value,\r\n value,\r\n secendUrl\r\n );\r\n if (Object.keys(res).length == 0) {\r\n }\r\n if (Object.keys(res).length == 1) {\r\n setValeu(Object.values(res)[0], Object.keys(res)[0]);\r\n }\r\n }\r\n } catch (err: any) {}\r\n }\r\n }, 200);\r\n await delay(200);\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n\r\n };\r\n\r\n const delay = (duration) =>\r\n new Promise((resolve) => setTimeout(resolve, duration));\r\n\r\n const setValeu = (value, id) => {\r\n if (inputIdRef != null && inputIdRef.current != null) {\r\n inputRef.current.value = value;\r\n inputIdRef.current.value = id;\r\n setList(null);\r\n\r\n if (!returnObj) onChange && onChange(id);\r\n else onChange && onChange({ Id: id, Name: value });\r\n setSelectedValue(id);\r\n setFlag(!flag);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (value) {\r\n if (valueString) {\r\n onChange && onChange({ Id: value, Name: valueString });\r\n } else {\r\n getListAsync(null, value);\r\n }\r\n }\r\n }, [value, resetForm]);\r\n \r\n\r\n useEffect(() => {\r\n if( params && !!Object.keys(params).length)\r\n getListAsync(null);\r\n }, [params && JSON.stringify(params)]);\r\n\r\n\r\n if (list)\r\n options_values = Object.values(list).map((item) => {\r\n return item;\r\n });\r\n if (list)\r\n options_keys = Object.keys(list).map((item) => {\r\n return item;\r\n });\r\n\r\n function clickToclose(e) {\r\n let input = document.querySelector(\"#browser\" + name);\r\n if (e.target.id !== input?.id) {\r\n setShow(false);\r\n }\r\n }\r\n\r\n const handleSetListBoxPosition = () => {\r\n setListBoxPosition(inputRef.current?.getBoundingClientRect());\r\n };\r\n\r\n useEffect(() => {\r\n if (show) {\r\n document.addEventListener(\"keydown\", kydown);\r\n document.body.addEventListener(\"click\", clickToclose);\r\n }\r\n return () => {\r\n document.removeEventListener(\"keydown\", kydown);\r\n document.body.removeEventListener(\"click\", clickToclose);\r\n };\r\n }, [show, options_values]);\r\n\r\n useEffect(() => {\r\n if (show) {\r\n document.addEventListener(\"scroll\", handleSetListBoxPosition, true);\r\n document.addEventListener(\"resize\", handleSetListBoxPosition, true);\r\n }\r\n if (!show) {\r\n document.removeEventListener(\"scroll\", handleSetListBoxPosition, true);\r\n document.removeEventListener(\"resize\", handleSetListBoxPosition, true);\r\n }\r\n return () => {\r\n document.removeEventListener(\"scroll\", handleSetListBoxPosition, true);\r\n document.removeEventListener(\"resize\", handleSetListBoxPosition, true);\r\n };\r\n }, [inputRef.current, document, show, window]);\r\n\r\n useEffect(() => {\r\n setListBoxPosition(inputRef.current?.getBoundingClientRect());\r\n }, [show]);\r\n\r\n useEffect(() => {\r\n if (resetForm == true) {\r\n inputRef.current.value = null;\r\n inputIdRef.current.value = null;\r\n }\r\n }, [resetForm]);\r\n\r\n\r\n return (\r\n <>\r\n
\r\n {label && (\r\n \r\n {trans(label)}\r\n \r\n }\r\n >\r\n \r\n \r\n {trans(`${label}`)}\r\n \r\n {required && (\r\n \r\n *\r\n \r\n )}\r\n
\r\n \r\n )}\r\n \r\n {mode == \"view\" && disabled && value && valueString ? (\r\n <>\r\n \r\n\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n\r\n {!allowTyping ? (\r\n
\r\n {\r\n e.stopPropagation();\r\n Auto(e);\r\n }}\r\n onFocus={(e) => {\r\n getListAsync(!allowTyping ? e.target.value : null);\r\n setShow(true);\r\n }}\r\n ref={inputRef}\r\n list={name}\r\n name={\"browser\" + name}\r\n className={\"text-box__box form-control\" + \" browser\" + name}\r\n type={\"text\"}\r\n id={\"browser\" + name}\r\n onChange={Auto}\r\n disabled={disabled || mode == \"view\"}\r\n />\r\n\r\n {show && (\r\n \r\n {options_values &&\r\n options_values.map((item, index) => {\r\n return (\r\n {\r\n if (!disabledItems.includes(options_keys[index]))\r\n setValeu(item, options_keys[index]);\r\n }}\r\n key={options_keys[index]}\r\n >\r\n {item}\r\n
\r\n );\r\n })}\r\n \r\n )}\r\n \r\n ) : (\r\n {\r\n onChange && onChange({ Id: \" \", Name: e.target.value });\r\n inputIdRef.current.value = e.target.value;\r\n }}\r\n onChange={(e) => {\r\n setValueName(e.target.value);\r\n }}\r\n ref={inputRef}\r\n name={\"browser\" + name}\r\n className={\"text-box__box form-control\" + \" browser\" + name}\r\n type={\"text\"}\r\n id={\"browser\" + name}\r\n disabled={disabled}\r\n />\r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getPersonApi = (async (search, id) => await http({\r\n\r\n url: id ? ENDPOINTS.BaseInformation.person.dictionaryId : ENDPOINTS.BaseInformation.person.dictionary,\r\n method: 'get',\r\n params: {\r\n SearchString: search,\r\n Id: id\r\n }\r\n})\r\n .then((respons) => (respons.data.Data))\r\n)\r\nexport const getPersonGrids = (async (pageNum, pageSize ,searchString ,orderBy,filterlist) => await http({\r\n url: ENDPOINTS.BaseInformation.person.all,\r\n method: 'get',\r\n params:{\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString:orderBy,\r\n SearchString : searchString ,\r\n FilterString:filterlist,\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)","\r\n\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { getPageSize } from \"utils/helpers\";\r\nimport { getPersonGrids } from \"./api\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Search } from \"components/Search/Search\";\r\n\r\n\r\n\r\n\r\ninterface Form {\r\n serch: string,\r\n personIdCallBack: (id:string) => void,\r\n}\r\nexport const PersonGrid = ({personIdCallBack, serch}: Form) => {\r\n\r\n const [response, setResponse] = useState(null);\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pages, setPages] = useState(0);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n\r\n\r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"PersonGrid\" ,e.currentTarget.value )\r\n getReferenceActionsAsync(1)\r\n };\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else setPageNum(+value);getReferenceActionsAsync(+value);\r\n } else {\r\n\r\n }\r\n };\r\n const handleNextPage = () => {\r\n if(pageNum < pages){\r\n setPageNum(pageNum + 1);\r\n getReferenceActionsAsync(pageNum + 1);\r\n };\r\n };\r\n const handlePrevPage = () => {\r\n if(pageNum > 1){\r\n setPageNum((pageNum)=>{return +pageNum - 1});\r\n getReferenceActionsAsync(pageNum - 1);\r\n };\r\n };\r\n\r\n const submit = () => {\r\n personIdCallBack(selectedObj.Id)\r\n }\r\n\r\n\r\n\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n }\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n setSelectedObj(null)\r\n if (str === \"\") {\r\n setSearch(null)\r\n } else {\r\n setSearch(str)\r\n \r\n }\r\n }\r\n\r\n async function getReferenceActionsAsync(PageNum = pageNum) {\r\n setLoading(false)\r\n setResponse(null)\r\n let pageSizeChangedByUser = getPageSize(\"PersonGrid\" )\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const res = await getPersonGrids(PageNum, pageSizeChangedByUser,search?search: serch ,orderBy.length == 0 ?null: orderBy.join(\",\") ,filterlist);\r\n setResponse(res.Data);\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) ;\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n useEffect(() => {\r\n getReferenceActionsAsync();\r\n }, [forceUpdate,search,orderBy,filterlist]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n getReferenceActionsAsync();\r\n }\r\n }, [resetForm]);\r\n\r\n\r\n return (\r\n <> \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {loading ?\r\n <>\r\n {\r\n response?.Data?.length > 0 ?\r\n <>\r\n {setFilterlist(str) }}\r\n filterStr={filterlist}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n startIndex={1}\r\n theadData={Object.keys(response.Data[0])}\r\n tbodyData={response.Data}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedObjCallback}\r\n totalRecords={response.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() =>{getReferenceActionsAsync(pages); setPageNum(pages)}}\r\n end={() =>{getReferenceActionsAsync(1); setPageNum(1)}}\r\n handleGoPage={handleGoPage}\r\n DoubleClick={submit}\r\n />\r\n \r\n : \r\n }\r\n \r\n : \r\n }\r\n
\r\n
\r\n
\r\n \r\n\r\n );\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { AutoCompleteDictionary } from \"components/AutoCompleteDictionary/AutoCompleteDictionary\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { PersonGrid } from \"./PersonGrid\";\r\nimport \"./style.scss\";\r\ninterface PersonPropsType {\r\n required?: boolean;\r\n value?: string;\r\n label?: string;\r\n mode?: string;\r\n WithSearch?: boolean;\r\n name: string;\r\n DescriptionKey?: string;\r\n resetForm?: boolean;\r\n returnObj?: boolean;\r\n Change?: (e) => void;\r\n setPerson?: any;\r\n valueString?:any\r\n}\r\n\r\nexport const Person = ({\r\n DescriptionKey,\r\n value,\r\n mode,\r\n name,\r\n required,\r\n label = \"person\",\r\n resetForm,\r\n WithSearch = true,\r\n returnObj = false,\r\n Change,\r\n setPerson,\r\n valueString\r\n}: PersonPropsType) => {\r\n const [showSerch, setShowSerch] = useState(false);\r\n const [defaultValue, setDefaultValue] = useState(value);\r\n const [seachedValue, setSearchedValue] = useState(\"\");\r\n\r\n const personIdCallBack = (e) => {\r\n setShowSerch(false);\r\n setDefaultValue(e)\r\n };\r\n\r\n\r\n useEffect(() => {\r\n setDefaultValue(value);\r\n }, [value]);\r\n\r\n return (\r\n <>\r\n {showSerch && (\r\n {\r\n setShowSerch(false);\r\n }}\r\n show={showSerch}\r\n title={\"person\"}\r\n >\r\n \r\n \r\n )}\r\n
\r\n\r\n {\r\n console.log({e});\r\n if(returnObj) {setPerson&&setPerson(e)}\r\n else{\r\n setPerson&& setPerson(e.Id)\r\n }\r\n }}\r\n searchedHandleFun={(e) => {\r\n setSearchedValue(e);\r\n }}\r\n className={(WithSearch && mode != \"view\")?\"text-box col-11\" : \"text-box\"}\r\n name={name}\r\n label={label}\r\n baseUrl={undefined}\r\n url={ENDPOINTS.BaseInformation.person.dictionary}\r\n secendUrl={ ENDPOINTS.BaseInformation.person.dictionaryId}\r\n value={defaultValue}\r\n mode={mode}\r\n \r\n />\r\n {WithSearch && mode != \"view\" && (\r\n {\r\n setShowSerch(true);\r\n }}\r\n className=\"checkButton mt-4 d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n onClick={(e) => {}}\r\n />\r\n )}\r\n
\r\n \r\n );\r\n};\r\n\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { getDynamicDictionaryDictionaryApi } from \"../api\";\r\n\r\ninterface DynamicDictionaryPropsType {\r\n label?: string,\r\n hasBorder?: boolean,\r\n valueString?: string,\r\n\r\n resetForm?: boolean,\r\n required?: boolean,\r\n returnObj?: boolean,\r\n allowType?: boolean,\r\n value?: string,\r\n DescriptionKey?: string,\r\n mode?: string,\r\n DynamicObj?: any,\r\n name: string,\r\n Change?: (e) => void,\r\n onChange?: (e) => void,\r\n}\r\n\r\nexport const DynamicDictionary = ({DescriptionKey, DynamicObj , label, hasBorder, value, valueString ,allowType=false,mode,returnObj=false ,resetForm,required , name=\"\", Change ,onChange}: DynamicDictionaryPropsType) => {\r\n const [DynamicDictionary, setDynamicDictionarys] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag, setFlag] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [rquird , setRquird] = useState(false);\r\n const [allowTyping , setAllowTyping] = useState(valueString&& allowType );\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const [disabled, setDisabled] = useState(mode == \"view\" ? true : false);\r\n const countRef = useRef(0)\r\n let options_PostLevel_keys, options_PostLevel_values;\r\n\r\n\r\n async function getDynamicDictionaryListAsync(search?, id?) {\r\n try {\r\n if (id) {\r\n const res2 = await getDynamicDictionaryDictionaryApi(DynamicObj.KeyId );\r\n if(Object.values(res2)[0] && Object.values(res2)[0] != undefined){\r\n\r\n setValeu( Object.values(res2)[0], Object.keys(res2)[0])\r\n setValueName( Object.values(res2)[0])\r\n if(!returnObj)\r\n onChange && onChange(Object.values(res2)[0])\r\n else\r\n onChange && onChange({Id:Object.keys(res2)[0] , Name:Object.values(res2)[0]})\r\n }else{\r\n \r\n }\r\n \r\n } else {\r\n const res = await getDynamicDictionaryDictionaryApi(DynamicObj.KeyId );\r\n setDynamicDictionarys(res)\r\n options_PostLevel_values = Object.values(res)\r\n options_PostLevel_keys = Object.keys(res)\r\n setShow(true)\r\n }\r\n setFlag(!flag)\r\n } catch (err: any) {\r\n \r\n }\r\n }\r\n\r\n\r\n const Auto = (e) => {\r\n setValidat(false)\r\n setRquird(false)\r\n setShow(true)\r\n Change && Change(true)\r\n getDynamicDictionaryListAsync(e.target.value, \"\")\r\n setFlag(!flag)\r\n }\r\n\r\n function userSelecter(){\r\n setValeu(options_PostLevel_values[countRef.current],options_PostLevel_keys[countRef.current])\r\n\r\n // setValeu(options_PostLevel_values[countRef.current],Object.keys(options_PostLevel_keys)[countRef.current])\r\n setShow(false)\r\n }\r\n\r\n const kydown = (event) => { \r\n\r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < options_PostLevel_values.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = options_PostLevel_values.length-1;\r\n }\r\n }\r\n document.getElementById(\"DynamicDictionaryIndex\"+countRef.current)?.scrollIntoView({block:'end',behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n\r\n }\r\n\r\n\r\n \r\n const CheckDynamicDictionary =async (e)=>{\r\n \r\n setTimeout(async() => {\r\n \r\n if(e.target.value.length == 0&& inputRef.current?.value?.length == 0 && e.target.value==\"\"){\r\n inputIdRef.current.value = null\r\n if(required)\r\n setRquird(true)\r\n }else{\r\n setRquird(false)\r\n try{\r\n const res = await getDynamicDictionaryDictionaryApi(DynamicObj.KeyId)\r\n if(Object.keys(res).length==0){\r\n setValidat(true)\r\n }\r\n if(Object.keys(res).length == 1){\r\n setValeu(Object.values(res)[0], Object.keys(res)[0] )\r\n }\r\n }catch(err:any){\r\n setValidat(true)\r\n }\r\n }\r\n }, 200);\r\n await delay(200)\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n }\r\n\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n\r\n\r\n\r\n\r\n const setValeu = (value, id) => {\r\n if(inputIdRef != null && inputIdRef.current != null){\r\n\r\n setRquird(false)\r\n inputRef.current.value = value\r\n inputIdRef.current.value = id\r\n setDynamicDictionarys(null)\r\n\r\n if(!returnObj)\r\n onChange && onChange(value)\r\n else\r\n onChange && onChange({Id:id , Name:value})\r\n\r\n setFlag(!flag)\r\n }\r\n }\r\n\r\n \r\n useEffect(() => {\r\n if (value) {\r\n getDynamicDictionaryListAsync(null, value)\r\n }else if(valueString&&allowType){\r\n onChange && onChange({Id:\" \" , Name:valueString})\r\n }\r\n }, [value ,resetForm]);\r\n\r\n \r\n useEffect(() => {\r\n setDisabled(mode == \"view\" ? true : false)\r\n \r\n }, [mode]);\r\n\r\n\r\n if (DynamicDictionary) options_PostLevel_values = Object.values(DynamicDictionary).map(item => {\r\n return item\r\n })\r\n if (DynamicDictionary) options_PostLevel_keys = Object.keys(DynamicDictionary).map(item => {\r\n return item\r\n })\r\n\r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) {\r\n // setShow(false);\r\n }\r\n }\r\n\r\n useEffect(() =>{\r\n if(show){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n\r\n } \r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n\r\n \r\n },[show ,options_PostLevel_values])\r\n\r\n\r\n\r\n return (\r\n <>\r\n
\r\n {label && \r\n \r\n {trans(label)}\r\n \r\n }>\r\n
\r\n \r\n {required && *}\r\n {(allowType&&mode!=\"view\")&&\r\n <>\r\n {\r\n allowTyping ?\r\n {setAllowTyping(false)}} style={{marginRight:\"5px\"}} icon={[\"fas\", \"magnifying-glass\"]} className=\"text-primary pr-2\"/>\r\n :\r\n {setAllowTyping(true)}} style={{marginRight:\"5px\"}} icon={[\"fas\", \"magnifying-glass-minus\"]} className=\"text-danger pr-2\"/>\r\n\r\n }\r\n \r\n }\r\n
\r\n \r\n }\r\n\r\n\r\n \r\n \r\n {(!allowTyping||!allowType)?\r\n <>\r\n {e.stopPropagation(); Auto(e) }} onFocus={() => {getDynamicDictionaryListAsync(!allowTyping ? valueName:null); setShow(true) }} ref={inputRef} list=\"DynamicDictionaryList\" name={DescriptionKey?DescriptionKey:\"browser\"} className={\"text-box__box form-control\" + \" browser\"+name} type={'text'} id={\"browser\"+name} onChange={Auto} disabled={disabled} />\r\n {\r\n show &&\r\n
\r\n {options_PostLevel_values && options_PostLevel_values.map((item, index) => {\r\n return
{ setValeu(item, options_PostLevel_keys[index]) }} key={options_PostLevel_keys[index]} >{item}
\r\n })}\r\n
\r\n }\r\n \r\n :\r\n {onChange&&onChange( {Id:\" \" , Name:e.target.value});inputIdRef.current.value = e.target.value }} onChange={(e)=>{setValueName(e.target.value)}} ref={inputRef} name=\"browser\" className={\"text-box__box form-control\" + \" browser\"+name} type={'text'} id={\"browser\"+name} disabled={disabled} />\r\n\r\n }\r\n
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n {required && {trans(\"Msg_Validation_ValueIsRequired\", [\"\"])}}\r\n
\r\n \r\n
\r\n \r\n )\r\n}","import { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { CheckableButtonList } from \"components/CheckableButtonList/CheckableButtonList\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Price } from \"components/Price/Price\";\r\nimport { RangeSlider } from \"components/RangeSlider/RangeSlider\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Time } from \"components/Time/Time\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport React,{ useContext, useState } from \"react\";\r\nimport { InputTextType,InputTextTypePlaceholder, OrganizationType } from \"types/enum\";\r\nimport { StepInForms } from \"./DynamicFormsPage/StepInForms\";\r\nimport { Person } from \"components/Person/Person\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { DynamicDictionary } from \"./DynamicDictionary\";\r\nimport { AutoCompleteDictionary } from \"components/AutoCompleteDictionary/AutoCompleteDictionary\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\n\r\ninterface InputDetectorPropes {\r\n typeName:string;\r\n property:any;\r\n handleTime?:(e:string)=>void;\r\n mode?:'create' | 'view' | 'edit';\r\n EnableDisplacement?:boolean;\r\n formBuilderMode?:boolean;\r\n firstAutoValue?:boolean;\r\n stepperIndex?:any;\r\n hidden?:boolean;\r\n handleStepper?:()=>void;\r\n handleOpenStep?:(e)=>void;\r\n}\r\nexport const InputDetector = React.memo(({handleStepper,handleOpenStep,hidden,EnableDisplacement=false,firstAutoValue,formBuilderMode=false,typeName,property,mode,stepperIndex,handleTime}:InputDetectorPropes) => {\r\n const [todayDate, settodayDate] = useState(new Date().toISOString());\r\n const layoutContext = useContext(LayoutContext);\r\n let content = {\r\n\r\n PositionDictionary:{type: 'PositionDictionary',body:(\r\n
\r\n
\r\n \r\n
\r\n )},\r\n Sex:{type: 'Sex',body:(\r\n
\r\n
\r\n \r\n
\r\n )},\r\n Position:{type: 'Position',body:(\r\n
\r\n
\r\n \r\n
\r\n )},\r\n Person:{type: 'Person',body:(\r\n
\r\n
\r\n \r\n
\r\n )},\r\n ProgressBar: {type: 'ProgressBar',body:(\r\n
\r\n
\r\n \r\n
\r\n )},\r\n \r\n // fileUpload: {type: 'fileUpload',body:(\r\n //
\r\n //
\r\n // \r\n //
\r\n // )},\r\n \r\n RadioButton: {type: 'RadioButton',body:(\r\n
\r\n
\r\n \r\n
\r\n )},\r\n \r\n checkBox: {type: 'checkBox',body:(\r\n
\r\n
\r\n \r\n
\r\n )},\r\n \r\n selectBox: {type: 'selectBox',body:(\r\n
\r\n
\r\n \r\n
\r\n )},\r\n \r\n timeLength: {type: 'timeLength',body:(\r\n
\r\n
\r\n \r\n
\r\n )},\r\n \r\n time: {type: 'time',body:(\r\n
\r\n
\r\n {handleTime && handleTime(e)}} \r\n required={property.required} \r\n useTrans={false}\r\n format={\"HH:mm\"}\r\n placeholder={formBuilderMode ?\"۱۳:۲۶\":null}\r\n onOpenPickNewDate={true}\r\n />\r\n
\r\n )},\r\n \r\n date: {type: 'date',body:(\r\n
\r\n
\r\n {handleTime && handleTime(e); }} \r\n withTime={property?.DatePickerState != 'normal' ? true:false} \r\n disableDayPicker={property?.DatePickerState == \"disableDayPicker\" ? true:false} \r\n required={property.required} \r\n onOpenPickNewDate={true} \r\n useTrans={false}\r\n placeholder={(formBuilderMode ? (property?.DatePickerState != 'normal' ? \"۱۴۰۳/۰۴/۰۴ ۱۳:۲۶\": \"۱۴۰۳/۰۴/۰۴\" ): \"\")} \r\n />\r\n
)},\r\n \r\n text: {type: 'text',body:(\r\n
\r\n \r\n
\r\n \r\n
\r\n )},\r\n \r\n price:{type: 'price',body:(\r\n
\r\n
\r\n\r\n \r\n
\r\n )},\r\n\r\n emptySpace:{type: 'emptySpace',body:(\r\n
\r\n )},\r\n \r\n // label:{type: 'label',body:(\r\n //
\r\n //
{property?.labelText ? property?.labelText : 'label'}
\r\n //
\r\n // )},\r\n Message:{type: 'Message',body:(\r\n
\r\n \r\n
\r\n )},\r\n Step:{type: 'Step',body:(\r\n
\r\n \r\n
\r\n )}\r\n}\r\n\r\n\r\n return ( \r\n <>\r\n {content[(typeName==\"textArea\"||typeName==\"number\") ? 'text': typeName]!=undefined? content[(typeName==\"textArea\"||typeName==\"number\") ? 'text': typeName]?.body\r\n :<>\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n }\r\n \r\n );\r\n})\r\n","import { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getFormByKey } from \"../../api\";\r\nimport { InputDetector } from \"../InputDetector\";\r\nimport { getFormInformationByJobId,getFormInformationById, postDataForm, putInformationForm } from \"./api\";\r\nimport './style.scss';\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface DynamicFormDataEntryPropes {\r\n formKey:string;\r\n defaultInputList?:any;\r\n formBuilderMode?:boolean;\r\n id?:string;\r\n jobId?:string;\r\n PRJ_UID?:string;\r\n mode:'create' | 'view' | 'edit';\r\n copyPermission?:boolean;\r\n EnableDisplacement?:boolean;\r\n firstAutoValue?:boolean;\r\n step?:any,\r\n onHide?:(e:boolean)=>void;\r\n handleCopy?:(formKey:any)=>void;\r\n handleShowReferenceStepper?:(referenceId:any)=>void;\r\n}\r\n\r\nexport const DynamicFormDataEntry = ({formKey,firstAutoValue=true,step=null, EnableDisplacement=false,formBuilderMode=false,defaultInputList,copyPermission=false,id,jobId,PRJ_UID,handleCopy,onHide,mode ,handleShowReferenceStepper}:DynamicFormDataEntryPropes) => {\r\n const [inputs,setInputs] = useState([])\r\n const [data,setData] = useState([])\r\n const [loading,setLoading] = useState(true)\r\n const [times,setTimes] = useState({})\r\n const [openStepStatus,setOpenStepStatus] = useState({})\r\n const [showReferenceStepper, setShowReferenceStepper] = useState(false);\r\n const [catchMessage, setCatchMessage] = useState({type:\"info\",msg:\"NoDataForPreview\"});\r\n\r\n const handleSubmit = async(event) => { \r\n event.preventDefault()\r\n const obj :any= {}\r\n inputs.map((input)=>{\r\n if((step == input.StepIndex||step==null)&&input?.systemKey !=undefined &&input.typeName != 'step' ){\r\n if(input.typeName == 'textArea' ||input.typeName == 'text' || input.typeName == 'price' || input.typeName == 'RadioButton'|| input.typeName == 'radio' || input.typeName == 'PositionDictionary'){\r\n obj[input.systemKey] = (input.typeName == 'text' && input?.InputType == 6 ) ? event.target[input.systemKey].value : event.target[input.systemKey].value \r\n }else if(input.typeName == 'timeLength'){\r\n obj[input.systemKey] = event.target[input.systemKey][0].value \r\n }else if(input.typeName == 'checkBox'){\r\n obj[input.systemKey] = event.target[input.systemKey].checked+\"\"\r\n }else if(input.typeName == 'date' ||input.typeName == 'time' ){\r\n obj[input.systemKey] = times[input.systemKey] \r\n }else if(input.typeName == 'Position' ||input.typeName == 'Person' ){\r\n obj[input.systemKey+\"Description\"] = event.target[input.systemKey+\"Description\"].value\r\n obj[input.systemKey] = event.target[input.systemKey].value \r\n }\r\n else if(input.typeName == 'slider'){\r\n obj[input.systemKey] = +event.target[input.systemKey].value \r\n }\r\n }\r\n })\r\n try {\r\n if(mode == 'edit'){\r\n await putInformationForm(data.Id,formKey,` ${JSON.stringify(obj)} `)\r\n onHide && onHide(true) \r\n }else if(mode == 'create'){\r\n const res = await postDataForm(formKey,` ${JSON.stringify({JsonData :obj ,PRJ_UID: PRJ_UID })} `)\r\n\r\n if (showReferenceStepper) {\r\n handleShowReferenceStepper && handleShowReferenceStepper(!(res.MessageType ==MessageType.success) ? false:res.Data);\r\n } else {\r\n onHide && onHide(true) \r\n }\r\n\r\n }\r\n \r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n async function getFormByKeyAsync(formKey) {\r\n setLoading(false)\r\n try{\r\n const respons = await getFormByKey(formKey)\r\n setInputs(JSON.parse( respons.Data?.DynamicForms.FormFields))\r\n setCatchMessage({type:\"info\",msg:\"NoDataForPreview\"})\r\n\r\n }catch(err:any){\r\n setCatchMessage({type:\"error\" , msg:err?.response?.data?.Message})\r\n\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n async function getFormInformationAsync() {\r\n setLoading(false)\r\n try{\r\n if(jobId){\r\n const respons = await getFormInformationByJobId((jobId),formKey)\r\n setData(respons?.Data)\r\n }else{\r\n const respons = await getFormInformationById((id),formKey)\r\n setData(respons?.Data)\r\n }\r\n setCatchMessage({type:\"info\",msg:\"NoDataForPreview\"})\r\n }catch(err:any){\r\n setCatchMessage({type:\"error\" , msg:err?.response?.data?.Message})\r\n\r\n }\r\n setLoading(true)\r\n }\r\n \r\n function OpenStephandler(isOpen , index) {\r\n \r\n setOpenStepStatus( { ...openStepStatus, [index]:!isOpen})\r\n\r\n }\r\n\r\n useEffect(()=>{\r\n if(mode != 'create'&&(jobId ? jobId:id)) {\r\n getFormInformationAsync()\r\n }\r\n if(defaultInputList){\r\n setInputs(defaultInputList)\r\n }else{\r\n getFormByKeyAsync(formKey)\r\n }\r\n },[defaultInputList])\r\n\r\n\r\n return ( \r\n <>\r\n {loading ?\r\n <>\r\n {(inputs&& data)?\r\n
{handleSubmit(e)}}>\r\n
\r\n
\r\n { inputs?.map((Obj,index)=>{\r\n\r\n \r\n return <>\r\n {\r\n <>\r\n {(step >= Obj.StepIndex||step==null) ?\r\n <>{\r\n ((openStepStatus[Obj.StepIndex] && Obj.typeName != \"Step\") ||(step==1&&Obj.typeName == \"Step\")) ?<>\r\n :\r\n
\r\n
\r\n {OpenStephandler(e , Obj.StepIndex)}} firstAutoValue={firstAutoValue} formBuilderMode={formBuilderMode} EnableDisplacement={EnableDisplacement} mode={step > Obj.StepIndex ?\"view\" : mode} typeName={Obj.typeName} property={{...Obj , defaultValue : data?.[Obj.systemKey]}} handleTime={(e)=>{setTimes({...times,[Obj.systemKey]:e})}}/> \r\n \r\n
\r\n
\r\n }\r\n :\r\n <> \r\n }\r\n \r\n }\r\n \r\n })}\r\n
\r\n
\r\n {mode != 'view' ?\r\n
\r\n \r\n {(handleShowReferenceStepper && (step==1 || mode == \"create\")) && (\r\n setShowReferenceStepper(true)}\r\n />\r\n )}\r\n
\r\n :\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n : \r\n }\r\n \r\n :\r\n \r\n }\r\n \r\n );\r\n}\r\n\r\n\r\n\r\n\r\n","import { DYNAMICFORMS_URL } from \"utils/constants\";\r\nimport { ENDPOINTSDYNAMICFORMS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const postDataForm =( async (formKey,data) => await http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.data,\r\n method: \"post\",\r\n params:{\r\n formKey:formKey\r\n },\r\n data:data,\r\n})\r\n\r\n.then((respons) => (respons.data))\r\n)\r\n\r\n\r\nexport const getFormInformationByJobId = (async ( id,formKey ) => await http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.JobId,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params:{\r\n jobId:id,\r\n formKey:formKey,\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const getFormInformationById = (async ( id,formKey ) => await http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.id,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params:{\r\n id:id,\r\n formKey:formKey,\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const putInformationForm =( async (id,formKey,data) => await http({\r\n baseURL:DYNAMICFORMS_URL ,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.data,\r\n method: 'put',\r\n \r\n\r\n params: {\r\n id:id,\r\n formKey:formKey\r\n },\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)","import { DynamicFormDataEntry } from \"pages/OfficeAutomation/FormBuilder/components/DynamicFormDataEntry/DynamicFormDataEntry\";\r\nimport { ComponentParams } from \"types/types\";\r\nimport { findValueByKey } from \"utils/helpers\";\r\n\r\nexport interface DynamicComponentHOCProps {\r\n component: any,\r\n componentName?: any,\r\n componentParams: string,\r\n referenceId?: any,\r\n processId?: any,\r\n RequesterPositionId?: any,\r\n taskTitle?: any,\r\n Id?: any,\r\n jobId?: any,\r\n sourceId?: any,\r\n SourceData?: any,\r\n showInDetail?: any,\r\n JobNo?: any,\r\n TaskId?: any,\r\n modeParams?: any,\r\n useGenerate?: any,\r\n stepParams?: any,\r\n Name?: any,\r\n handleCancelForm: () => void,\r\n onHide: (usenavigate?) => void,\r\n reload?: (ans: boolean) => void,\r\n closeForm?: () => void,\r\n handleShowReferenceStepper?: (referenceId: string) => void\r\n buttonPrintObjCallBack?: (obj: any) => void\r\n inDynamicForms?: any;\r\n\r\n}\r\n\r\nexport const DynamicComponentHOC = ({buttonPrintObjCallBack,inDynamicForms,componentName ,useGenerate,sourceId,SourceData, component: Component,showInDetail,JobNo, componentParams,TaskId,jobId=null, referenceId, onHide, processId,RequesterPositionId,taskTitle, Id,Name , modeParams,stepParams,closeForm, handleCancelForm, reload, handleShowReferenceStepper }: DynamicComponentHOCProps) => {\r\n let mode: string = \"create\";\r\n let type;\r\n let step;\r\n let sourceDataParam;\r\n let ParentForm;\r\n if (componentParams && componentParams != \"\") {\r\n let paramsObject: ComponentParams = JSON.parse(componentParams.toLowerCase());\r\n sourceDataParam =JSON.parse(componentParams).SourceData ;\r\n mode = findValueByKey(paramsObject, \"mode\") ;\r\n type =JSON.parse(componentParams).Type ?JSON.parse(componentParams).Type:JSON.parse(componentParams).type\r\n // findValueByKey(paramsObject, \"type\") ;\r\n step = findValueByKey(paramsObject, \"step\") ;\r\n ParentForm = findValueByKey(JSON.parse(componentParams), \"ParentForm\") ;\r\n \r\n }\r\n return (\r\n <>\r\n {componentName ? \r\n \r\n :\r\n \r\n\r\n }\r\n \r\n )\r\n};\r\n","import { useContext } from \"react\";\r\nimport \"./style.scss\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\ninterface FooterContent {\r\n key: string,\r\n value: string\r\n}\r\ninterface FooterbarPropsType {\r\n footerContents: FooterContent[],\r\n hasBorder?: boolean\r\n}\r\nexport const Footerbar = ({\r\n footerContents,\r\n hasBorder\r\n}: FooterbarPropsType) => {\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n Object.keys(footerContents).map((key, i) => (\r\n key.toLowerCase().includes(\"description\") ?\r\n
\r\n {trans(key)}: \r\n {footerContents[key]}\r\n
\r\n :\r\n
\r\n {trans(key)}: \r\n {footerContents[key]}\r\n
\r\n ))\r\n }\r\n
\r\n
\r\n
\r\n );\r\n}","import { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { OrganizationType } from \"types/enum\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getCustomerPositionDictionaryApi, getUserPositions } from \"./api\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { PersonGrid } from \"components/Person/PersonGrid\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\n\r\ninterface CustomerPositionPropsType {\r\n label?: string,\r\n hasBorder?: boolean,\r\n resetForm?: boolean,\r\n required?: boolean,\r\n value?: string,\r\n mode?: string,\r\n name: string,\r\n Change?: (e) => void,\r\n onChange?: (e) => void,\r\n}\r\n\r\nexport const CustomerPositionDictionary = ({ label, hasBorder, value, mode ,resetForm,required , name=\"\", Change ,onChange}: CustomerPositionPropsType) => {\r\n const [CustomerPosition, setCustomerPositions] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag, setFlag] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const CustomerPositionRef = useRef(CustomerPosition);\r\n const validRef = useRef(false);\r\n const countRef = useRef(0)\r\n const [showSerch , setShowSerch] = useState(false);\r\n const [personsList, setPersonsList] = useState();\r\n const PersonRef = useRef(personsList);\r\n\r\n let optionList : any =[]\r\n\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n const personIdCallBack =async (e)=>{\r\n const lang = localStorage.getItem(\"lang\");\r\n try {\r\n document.body.classList.add(\"loading-indicator-\"+lang);\r\n const res = await getUserPositions(e)\r\n\r\n setShowSerch(false)\r\n inputIdRef.current.value=res.Data?.[0]?.Id\r\n getCustomerPositionListAsync(null,res.Data?.[0]?.Id)\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n } catch (error) {\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n async function getCustomerPositionListAsync(search, id) {\r\n \r\n try {\r\n const res = await getCustomerPositionDictionaryApi(search, id,(layoutContext.currentUserPosition.OrganizationType == OrganizationType.Customers||mode==\"view\"));\r\n if(Object.keys(res.Data).length>0){\r\n if (id) {\r\n setValeu(res.Data[id] , id)\r\n setValueName(res.Data[id])\r\n onChange && onChange({Name:res.Data[id] , Id : id})\r\n }\r\n\r\n }else{\r\n onChange && onChange(null)\r\n }\r\n setCustomerPositions(res.Data) \r\n CustomerPositionRef.current = res.Data\r\n setFlag(!flag)\r\n } catch (err: any) {\r\n onChange && onChange(null)\r\n\r\n }\r\n\r\n }\r\n\r\n const Auto = (e) => {\r\n validRef.current = false\r\n setValidat(false)\r\n setShow(true)\r\n getCustomerPositionListAsync(e.target.value, \"\")\r\n setFlag(!flag)\r\n\r\n }\r\n\r\n function userSelecter(){\r\n setValeu(optionList[countRef.current],Object.keys(CustomerPosition)[countRef.current])\r\n setShow(false)\r\n }\r\n\r\n const kydown = (event) => { \r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < optionList.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = optionList.length-1;\r\n }\r\n }\r\n document.getElementById(\"CustomerPositionIndex\"+countRef.current)?.scrollIntoView({block:'end',behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n }\r\n const CheckCustomerPosition =async (e)=>{\r\n \r\n setTimeout(() => {\r\n \r\n if(!validRef.current){\r\n \r\n if(CustomerPosition!=undefined && Object.values(CustomerPosition).length == 1){\r\n setValeu(Object.values(CustomerPosition)[0] , Object.keys(CustomerPosition)[0])\r\n e.target.setCustomValidity(\"\");\r\n }else{\r\n if(inputRef?.current){\r\n onChange && onChange(null)\r\n // setValeu(null,null)\r\n }\r\n if(inputRef?.current?.value.length >0 && inputRef?.current?.value!=\"\"){\r\n //e.target.setCustomValidity(trans(\"Msg_Validation_ValueIsIncorrect\"));\r\n //setValidat(true);\r\n //e.target.reportValidity();\r\n }\r\n setCustomerPositions(null);\r\n }\r\n }\r\n }, 200);\r\n await delay(200)\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n }\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n\r\n\r\n\r\n const setValeu = (newValue, id) => {\r\n if(inputIdRef != null && inputIdRef.current != null){\r\n validRef.current = true\r\n inputRef.current.value = newValue\r\n inputIdRef.current.value = id\r\n CustomerPositionRef.current = null;\r\n ((value==null &&id)|| id != value) ? Change&&Change({[name] :id}):Change&&Change({[name]:null});\r\n onChange && onChange({Name:newValue , Id : id})\r\n setCustomerPositions(null)\r\n setFlag(!flag)\r\n setCustomerPositions({[inputIdRef.current.value]:inputRef.current.value})\r\n setValidat(false)\r\n }\r\n }\r\n useEffect(() => {\r\n if(value){\r\n getCustomerPositionListAsync(null,value)\r\n }else if(value == null){\r\n setValueName(null)\r\n\r\n\r\n }\r\n }, [value,resetForm]);\r\n\r\n\r\n useEffect(() =>{\r\n if(show ){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n\r\n } \r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n\r\n \r\n },[show ,optionList])\r\n\r\n \r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) { \r\n setShow(false);\r\n }\r\n }\r\n\r\n\r\n\r\n if(CustomerPosition){\r\n optionList = Object.values(CustomerPosition)\r\n }\r\n return (\r\n <>\r\n\r\n {showSerch &&\r\n {setShowSerch(false)}} show={showSerch} title={\"person\" } >\r\n \r\n \r\n }\r\n
\r\n \r\n {trans(label ? label : \"CustomerPosition\")}\r\n \r\n }>\r\n\r\n
\r\n \r\n {required && *}\r\n
\r\n \r\n \r\n
\r\n { setShow(true);Auto(e)}} ref={inputRef} list=\"CustomerPositionList\" name=\"browser\" className=\"text-box__box form-control \" type={'text'} id={\"browser\"+name} onMouseDown={(e)=>e.stopPropagation() } onChange={Auto} disabled={mode ==\"view\" ? true : false} />\r\n\r\n {mode != 'view' &&\r\n } btnType=\"primary\"onClick={(e)=>{}} />\r\n }\r\n
\r\n \r\n {\r\n show && \r\n
\r\n {optionList && optionList.map((item , index)=>{\r\n return
{setValeu(item,Object.keys(CustomerPosition)[index])}} key={Object.keys(CustomerPosition)[index]} >{item}
\r\n })} \r\n
\r\n } \r\n
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n
\r\n
\r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const getCustomerPositionDictionaryApi = (search , id, isCoustomer) => http({\r\n url:isCoustomer ? ENDPOINTS.clientPortal.clientPortal.CustomerPositionId : ENDPOINTS.clientPortal.clientPortal.CustomerPositionList,\r\n method: 'get',\r\n params: {\r\n positionId: id,\r\n searchString:search\r\n\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n\r\nexport const getUserPositions = (personId) => http({\r\n url: ENDPOINTS.BaseInformation.position.getPosition,\r\n method: 'get',\r\n params: {\r\n personId: personId\r\n }\r\n}).then((res) => {\r\n // \r\n return res?.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getFollowupPositionIdDictionaryListApi } from \"./api\";\r\ninterface FollowupPositionIdPropsType {\r\n label: string,\r\n hasBorder?: boolean,\r\n resetForm?: boolean,\r\n required?: boolean,\r\n value?: string,\r\n mode?: string,\r\n name: string,\r\n Change?: (e) => void,\r\n}\r\n\r\nexport const FollowupPositionId = ({ label, hasBorder, value, mode ,resetForm,required , name, Change}: FollowupPositionIdPropsType) => {\r\n const [followupPositionIds, setFollowupPositionIds] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag, setFlag] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const FollowupPositionIdRef = useRef(followupPositionIds);\r\n const validRef = useRef(false);\r\n const countRef = useRef(0)\r\n let optionList : any =[]\r\n\r\n\r\n async function getFollowupPositionIdListAsync(search, id) {\r\n try {\r\n const res = await getFollowupPositionIdDictionaryListApi(search, id);\r\n if (id){\r\n setValeu(res[id] , id)\r\n setValueName(res[id])\r\n }\r\n setFollowupPositionIds(res) \r\n FollowupPositionIdRef.current = res\r\n setFlag(!flag)\r\n } catch (err: any) {\r\n\r\n }\r\n }\r\n\r\n const Auto = (e) => {\r\n validRef.current = false\r\n setValidat(false)\r\n setShow(true)\r\n getFollowupPositionIdListAsync(e.target.value, \"\")\r\n setFlag(!flag)\r\n }\r\n\r\n function userSelecter(){\r\n setValeu(optionList[countRef.current],Object.keys(followupPositionIds)[countRef.current])\r\n setShow(false)\r\n }\r\n \r\n const kydown = (event) => { \r\n\r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < optionList.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = optionList.length-1;\r\n }\r\n }\r\n document.getElementById(\"FollowupPositionIndex\"+countRef.current)?.scrollIntoView({behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n }\r\n\r\n const CheckFollowupPositionId =async (e)=>{\r\n\r\n setTimeout(() => {\r\n \r\n if(!validRef.current){\r\n \r\n if(followupPositionIds!=undefined && Object.values(followupPositionIds).length == 1){\r\n setValeu(Object.values(followupPositionIds)[0] , Object.keys(followupPositionIds)[0])\r\n e.target.setCustomValidity(\"\");\r\n }else{\r\n if(inputRef?.current){\r\n setValeu(null,null)\r\n }\r\n \r\n if(inputRef?.current?.value.length >0 && inputRef?.current?.value!=\"\"){\r\n e.target.setCustomValidity(trans(\"Msg_Validation_ValueIsIncorrect\"));\r\n setValidat(true);\r\n e.target.reportValidity();\r\n }\r\n setFollowupPositionIds(null);\r\n \r\n }\r\n }\r\n }, 200);\r\n await delay(200)\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n }\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n\r\n const setValeu = (newValue, id) => {\r\n if(inputIdRef != null && inputIdRef.current != null){\r\n validRef.current = true\r\n inputRef.current.value = newValue\r\n inputIdRef.current.value = id\r\n FollowupPositionIdRef.current = null;\r\n ((value==null &&id)|| id != value) ? Change&&Change({[name] :newValue}):Change&&Change({[name]:null});\r\n setFollowupPositionIds(null)\r\n setFlag(!flag)\r\n setFollowupPositionIds({[inputIdRef.current.value]:inputRef.current.value})\r\n setValidat(false)\r\n }\r\n\r\n }\r\n useEffect(() => {\r\n if(value){\r\n getFollowupPositionIdListAsync(null,value)\r\n }else if(value == null){\r\n setValueName(null)\r\n }\r\n }, [value]);\r\n\r\n\r\n\r\n useEffect(() =>{\r\n if(show ){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n\r\n } \r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n\r\n \r\n },[show ,optionList])\r\n\r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) { \r\n setShow(false);\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n if(followupPositionIds){\r\n optionList = Object.values(followupPositionIds)\r\n \r\n }\r\n\r\n return (\r\n <>\r\n
\r\n\r\n \r\n {required && *}\r\n \r\n { setShow(true);Auto(e)}} ref={inputRef} list=\"CustomerPositionList\" name=\"browser\" className=\"text-box__box form-control \" id={\"browser\"+name} onMouseDown={(e)=>e.stopPropagation() } onChange={Auto} disabled={mode ==\"view\" ? true : false} />\r\n {\r\n show && \r\n
\r\n {optionList && optionList.map((item , index)=>{\r\n return
{setValeu(item,Object.keys(followupPositionIds)[index]); inputRef.current.setCustomValidity(\"\");}} key={Object.keys(followupPositionIds)[index]} >{item}
\r\n })} \r\n
\r\n } \r\n
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n
\r\n
\r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\nexport const getFollowupPositionIdDictionaryListApi = (async (search,id) => await http({\r\n url: ENDPOINTS.clientPortal.clientPortal.followupResponsible,\r\n method: 'get',\r\n params: {\r\n positionId: id,\r\n searchString:search\r\n }\r\n}).then((res) => {\r\n return res.data.Data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)","import { CheckableButtonList } from \"components/CheckableButtonList/CheckableButtonList\";\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { InputHTMLAttributes, useEffect, useState } from \"react\";\r\nimport { Enumeration } from \"types/types\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getItemsApi } from \"./api\";\r\n\r\ninterface ItemsProp extends InputHTMLAttributes {\r\n type: \"SelectBox\" | \"Radio\" | \"CheckBox\";\r\n label?: string;\r\n name: string;\r\n value?: any;\r\n customerPositionId?: any;\r\n serialId?: any;\r\n mode?: string;\r\n required?:boolean ;\r\n itemsValid?:boolean ;\r\n setItemsId?: (Id:any) => void,\r\n Change?: (e) => void,\r\n\r\n}\r\nexport const ItemsDictionary = ({ type, label=\"Items\", name, value,customerPositionId=null ,mode ,serialId, required,Change ,setItemsId ,itemsValid}: ItemsProp) => {\r\n const [optionsItems, setOptionsItems] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [errcode, setErrcode] = useState();\r\n let [MsgShow, setMsgShow] = useState(false);\r\n let [MsgText , setMsgText] = useState(false);\r\n let options_Items_values:any =[];\r\n let options_Items_keys:any =[];\r\n const getItemsAsync = async ()=>{\r\n setLoading(false)\r\n try {\r\n setErrcode(\"\")\r\n const res = await getItemsApi(serialId ,customerPositionId)\r\n setOptionsItems(res?.Data ) \r\n if(res?.Data){\r\n setItemsId && setItemsId(\" \")\r\n }else{\r\n setItemsId && setItemsId(null)\r\n }\r\n } catch (error:any) {\r\n setItemsId && setItemsId(null)\r\n setErrcode(error?.response?.status)\r\n \r\n\r\n }\r\n setLoading(true)\r\n }\r\n useEffect(() => {\r\n if(serialId && mode != \"view\"){\r\n getItemsAsync()\r\n }else{\r\n setOptionsItems({})\r\n\r\n setLoading(true)\r\n }\r\n return () => {\r\n \r\n setErrcode(\"\")\r\n };\r\n \r\n \r\n }, [serialId ,value]);\r\n\r\n\r\n useEffect(() => {\r\n if(itemsValid){\r\n setMsgText(\"item cannot be empty \")\r\n setMsgShow(true)\r\n }else{\r\n setMsgText(false)\r\n setMsgShow(false)\r\n\r\n }\r\n \r\n }, [itemsValid]);\r\n\r\n\r\n if (optionsItems) options_Items_values =[ \" \",...Object.values(optionsItems)];\r\n if (optionsItems) options_Items_keys = [\" \",...Object.keys(optionsItems )];\r\n return (\r\n <>\r\n {(optionsItems ||value )&& loading ?\r\n {\r\n Radio: (\r\n <>\r\n {options_Items_values && (\r\n \r\n )}\r\n \r\n ),\r\n SelectBox: (\r\n <>\r\n {mode == \"view\" ?\r\n \r\n \r\n\r\n\r\n :\r\n { setItemsId && setItemsId(optionsItems?.[e.target.value]) ;e.target.value !=(value?value:options_Items_keys[0]) ?Change&&Change({[name] :e.target.value}):Change&&Change({[name] :null}) }}\r\n required={required}\r\n mode={mode}\r\n lable={label}\r\n selectType=\"select\"\r\n value={options_Items_keys[options_Items_values.indexOf(value)]}\r\n options={options_Items_values}\r\n val={options_Items_keys}\r\n name={name}\r\n >\r\n }\r\n \r\n ),\r\n CheckBox: (\r\n <>\r\n {options_Items_values && (\r\n \r\n )}\r\n \r\n ),\r\n }[type as string]\r\n : \r\n\r\n }\r\n
\r\n \r\n {MsgText}\r\n \r\n
\r\n \r\n );\r\n};\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getItemsApi = (serialId ,customerPositionId=null) => http({\r\n url: ENDPOINTS.clientPortal.clientPortal.items,\r\n method: 'get',\r\n params: {\r\n serial: serialId ,\r\n customerPositionId:customerPositionId\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n\r\n })\r\n\r\n","import { CheckableButtonList } from \"components/CheckableButtonList/CheckableButtonList\";\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { InputHTMLAttributes, useEffect, useState } from \"react\";\r\nimport { Enumeration } from \"types/types\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getSerialsApi } from \"./api\";\r\n\r\ninterface SerialsProp extends InputHTMLAttributes {\r\n type: \"SelectBox\" | \"Radio\" | \"CheckBox\";\r\n label?: string;\r\n name: string;\r\n value?: any;\r\n CorrectedSerial?: any;\r\n customerPositionId?: any;\r\n mode?: string;\r\n required?: boolean;\r\n setSerialId?: (Id: any) => void,\r\n setSerialName?: (Id: any) => void,\r\n Change?: (e) => void,\r\n\r\n\r\n}\r\nexport const Serials = ({ type, label=\"Serial\", name,customerPositionId=null, value,CorrectedSerial, mode, required,Change, setSerialId, setSerialName }: SerialsProp) => {\r\n const [optionsSerials, setOptionsSerials] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [errcode, setErrcode] = useState();\r\n\r\n let options_Serials_values: any = [];\r\n let options_Serials_keys: any = [];\r\n const getSerialsAsync = async () => {\r\n setLoading(false)\r\n try {\r\n if(customerPositionId){\r\n const res = await getSerialsApi(customerPositionId)\r\n setOptionsSerials(res?.Data)\r\n if(value==null){\r\n setSerialId && setSerialId(Object.keys(res?.Data)[0])\r\n\r\n }else{\r\n \r\n setSerialId && setSerialId(value)\r\n\r\n }\r\n setSerialName && setSerialName(Object.values(res?.Data)[0])\r\n }\r\n } catch (error: any) {\r\n setOptionsSerials(null)\r\n setSerialId && setSerialId(null)\r\n setSerialName && setSerialName(null)\r\n setErrcode(error?.response?.status)\r\n }\r\n setLoading(true)\r\n }\r\n const ChangeValue = (e) => {\r\n if (optionsSerials) {\r\n setSerialId && setSerialId(e.target.value)\r\n setSerialName && setSerialName(optionsSerials[e.target.value])\r\n\r\n }\r\n }\r\n useEffect(() => {\r\n if (mode != \"view\") {\r\n getSerialsAsync()\r\n } else {\r\n setOptionsSerials({})\r\n setLoading(true)\r\n }\r\n return () => {\r\n\r\n setErrcode(\"\")\r\n };\r\n\r\n\r\n }, [customerPositionId]);\r\n if (optionsSerials) options_Serials_values = Object.keys(optionsSerials as Enumeration);\r\n if (optionsSerials) options_Serials_keys = Object.keys(optionsSerials as Enumeration);\r\n return (\r\n <>\r\n\r\n {optionsSerials && loading ?\r\n {\r\n Radio: (\r\n <>\r\n {options_Serials_values && (\r\n \r\n )}\r\n \r\n ),\r\n SelectBox: (\r\n <>\r\n {mode == \"view\" ?\r\n \r\n\r\n\r\n :\r\n {ChangeValue(e);e.target.value !=(value?value:options_Serials_keys[0]) ?Change&&Change({[name] :e.target.value}):Change&&Change({[name] :null}) }}\r\n required={required}\r\n mode={mode}\r\n lable={label}\r\n selectType=\"select\"\r\n value={value}\r\n options={options_Serials_values}\r\n val={options_Serials_keys}\r\n name={name}\r\n >\r\n\r\n\r\n }\r\n\r\n \r\n ),\r\n CheckBox: (\r\n <>\r\n {options_Serials_values && (\r\n \r\n )}\r\n \r\n ),\r\n }[type as string]\r\n : <>\r\n\r\n \r\n\r\n \r\n }\r\n \r\n );\r\n};\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getSerialsApi = (customerPositionId) => http({\r\n url: ENDPOINTS.clientPortal.clientPortal.serials,\r\n method: 'get',\r\n params:{\r\n customerPositionId :customerPositionId\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport React, { useEffect, useRef } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport \"./style.scss\"\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\ninterface BrowseFileProp {\r\n onChange?: (event) => void;\r\n accept?:any;\r\n multiple?: any;\r\n disabled?: any;\r\n fileClick?:any\r\n showBox?:any\r\n required?:any\r\n setFileClick?: (event) => void;\r\n value?:any\r\n}\r\nexport const BrowseFile = ({setFileClick ,fileClick,value='',showBox,disabled ,required,accept, onChange ,multiple=false, ...rest}: BrowseFileProp) => {\r\n const uploadRef = useRef(null)\r\n let lang = localStorage.getItem(\"lang\");\r\n const handleUploadOnclick = () => {\r\n uploadRef.current!.click()\r\n }\r\n useEffect(() => {\r\n if (fileClick){\r\n handleUploadOnclick()\r\n setFileClick && setFileClick(false)\r\n }\r\n \r\n }, [fileClick])\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n { !showBox&& {\r\n \"fa\":(\r\n <>\r\n {!multiple &&\r\n \r\n }\r\n \r\n \r\n \r\n ),\r\n \"en\": (\r\n <>\r\n {!multiple &&\r\n \r\n }\r\n \r\n \r\n )\r\n }[lang as string]}\r\n
\r\n );\r\n};\r\n","import React, { FC, InputHTMLAttributes ,useState} from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport './style.scss';\r\nimport { BrowseFile } from \"components/BrowseFile/BrowseFile\";\r\n\r\ninterface InputProps extends InputHTMLAttributes{\r\n id ?:string;\r\n lable?:string;\r\n required ?:boolean\r\n multiple ?:boolean\r\n maxLength?:number |any\r\n mode?:string\r\n type?:string\r\n accept?:string\r\n onChange?: (event) => void;\r\n fileClick?:any\r\n showBox?:any\r\n setFileClick?: (event) => void;\r\n value?:any\r\n}\r\n\r\nexport const Input =React.forwardRef(({showBox, value,setFileClick ,fileClick , multiple ,mode , id,accept,lable,type ,onChange, required, ...rest}:InputProps, ref: any)=>{\r\n const disabled = (mode ==\"view\" ? true : false);\r\n return(\r\n
\r\n {(lable&&!showBox) ? : null}\r\n {type == \"file\" ?\r\n \r\n {onChange && onChange(e)} }accept={accept} {...rest} />\r\n : \r\n \r\n }\r\n \r\n
\r\n )\r\n})","export default __webpack_public_path__ + \"static/media/word.3520590c.png\";","export default __webpack_public_path__ + \"static/media/excel.f7ad5380.png\";","export default __webpack_public_path__ + \"static/media/pdf.46de4458.png\";","export default __webpack_public_path__ + \"static/media/powerpoint.6fbb7ab6.png\";","import { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\n\r\nexport const getAttachmentViewers = (ownerId ) => http({\r\n url: ENDPOINTS.Widget.bord,\r\n method: 'get',\r\n params: {\r\n BulletinBoardId: ownerId\r\n }\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject( err);\r\n })\r\n\r\nexport const DeleteAttachmentViewers= (attachId ,endpoints) => http({\r\n url: endpoints,\r\n method: 'delete',\r\n params: {\r\n attachId: attachId\r\n }\r\n\r\n}).then(response => {\r\n return response.data\r\n}\r\n\r\n)\r\n\r\n\r\nexport const GetHelp= () => http({\r\n url: ENDPOINTS.archive.JobOrganizationalArchiveDetail.help,\r\n method: 'get',\r\n}).then(response => {\r\n return response.data\r\n}\r\n\r\n)\r\n\r\nexport const PostAttachmentViewers = (data, ownerId , endpoints ,Name) =>\r\n http({\r\n url: endpoints,\r\n method: 'post',\r\n params: {\r\n OwnerId: ownerId,\r\n fileName:Name\r\n },\r\n data: data,\r\n headers: {\r\n \"content-type\": \"multipart/form-data\",\r\n Accept: \"*/*\",\r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\nexport const PutAttachmentViewers = (data, ownerId , endpoints ,id) =>\r\n http({\r\n url: endpoints+\"Id\",\r\n method: 'put',\r\n params: {\r\n Id: id\r\n },\r\n data: data,\r\n headers: {\r\n \"content-type\": \"multipart/form-data\",\r\n Accept: \"*/*\",\r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n\r\n\r\nfunction blobToBase64(blob) {\r\n return new Promise((resolve, _) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result);\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\nexport const loadAttachmentViewerBase64 = (attachId , endpoint=null) => http({\r\n // url: ENDPOINTS.bulletinBoard.file,\r\n url:endpoint ? endpoint: ENDPOINTS.Widget.bordAttachment,\r\n method: 'get',\r\n params: {\r\n attachId: attachId\r\n },\r\n responseType: \"blob\"\r\n}).then(async(response) => {\r\n\r\n return blobToBase64(response.data)\r\n}).catch((err) => {\r\n // \r\n return Promise.reject( err);\r\n});\r\n\r\nexport const loadAttachmentViewer = (attachId ) => http({\r\n url: ENDPOINTS.bulletinBoard.file,\r\n method: 'get',\r\n params: {\r\n attachId: attachId\r\n },\r\n responseType: \"blob\"\r\n}).then(response => {\r\n return response.data\r\n}).catch((err) => {\r\n // \r\n return Promise.reject( err);\r\n});\r\nexport const getDownloadUrlAttachmentAsync = (attachId ) => http({\r\n url: ENDPOINTS.Widget.bordUrl,\r\n method: 'get',\r\n params: {\r\n attachId: attachId\r\n },\r\n responseType:\"blob\"\r\n}).then(response => {\r\n return response.data\r\n}).catch((err) => {\r\n // \r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const UpdateAttachmentDetails = (data ) => http({\r\n url: ENDPOINTS.bulletinBoard.attachment,\r\n method: 'put',\r\n data:data\r\n}).then(response => {\r\n return response.data;\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const getAttachmentDetail = (Id ) => http({\r\n url: ENDPOINTS.bulletinBoard.attachment,\r\n method: 'get',\r\n params:{\r\n attachId : Id\r\n }\r\n}).then(response => {\r\n return response.data;\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Input } from \"components/Input/Input\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nimport img from '../../assets/image/logo.png'\r\nimport word from '../../assets/image/word.png'\r\nimport excel from '../../assets/image/excel.png'\r\nimport pdf from '../../assets/image/pdf.png'\r\nimport powerpoint from '../../assets/image/powerpoint.png'\r\nimport { Fileviewer } from \"components/Fileviewer/Fileviewer\";\r\nimport { loadAttachmentViewerBase64 } from \"pages/DashboardPage/components/Board/api\";\r\nimport { RoleOperationType } from \"types/enum\";\r\n\r\ninterface Props {\r\n lable: any;\r\n name: any;\r\n src?: string;\r\n endpoint?: any;\r\n accept?: string;\r\n file?: any;\r\n onChange?: any;\r\n mode?: string;\r\n hideSrc?: boolean;\r\n resetForm?: boolean;\r\n multiple?: boolean;\r\n maxSize?: any;\r\n maxHeight?: any;\r\n maxWidth?: any;\r\n defultFileName?: any;\r\n Validity?: any;\r\n required?: any;\r\n id?: any;\r\n showBox?: any;\r\n useTrans?:boolean;\r\n Change?: (ans: any) => void,\r\n\r\n}\r\nexport const FileInput = ({Change , multiple=false , lable,useTrans=true,endpoint=null,defultFileName,required,showBox=false,Validity, name, src, accept, onChange, mode, hideSrc=false , resetForm ,file ,maxSize=256000,id ,maxHeight ,maxWidth }: Props) => {\r\n\r\n\r\n\r\n let [MsgShow, setMsgShow] = useState(false);\r\n let [MsgText , setMsgText] = useState(false);\r\n const [fileName , setFileName] = useState(defultFileName);\r\n const [selectedItem, setSelectedItem] = useState([]);\r\n const [fileClick, setFileClick] = useState(false);\r\n\r\n const [showFile, setShowFile] = useState(false);\r\n const [load, setLoad] = useState();\r\n const [resetSrc,setResetSrc]=useState(false)\r\n const [buttonType,setButtonType]=useState()\r\n\r\n const cheackFile = (file,buttonTypeParam=null) => {\r\n if (!!file?.target?.files.length){\r\n Change && Change({[\"FileInput\"] :\" \" })\r\n if(multiple){\r\n onChange(file)\r\n setSelectedItem( [...selectedItem ,...file?.target?.files])\r\n \r\n \r\n }else{\r\n \r\n onChange(file)\r\n let img = new Image()\r\n img.src = window?.URL.createObjectURL(file?.target?.files[0])\r\n setFileName(file?.target?.files[0].name)\r\n if (maxSize >0 && (file?.target?.files && file?.target?.files[0]?.size > maxSize)) {\r\n file.target.setCustomValidity(`File must not exceed ${maxSize >1024000 ? maxSize/1024000+\"MB\" : maxSize/1000+\"KB\" }!`);\r\n setMsgText(`File must not exceed ${maxSize >1024000 ? maxSize/1024000+\"MB\" : maxSize/1000+\"KB\" }!`);\r\n setMsgShow(true);\r\n file.target.value =\"\"\r\n setFileName(null)\r\n file.target.reportValidity();\r\n \r\n } else if(maxHeight && maxWidth && (img.width > maxWidth || img.height > maxHeight) ){\r\n file.target.setCustomValidity(`File Dimensions must not exceed ${maxWidth}px * ${maxHeight}px `);\r\n setMsgText(`File Dimensions must not exceed ${maxWidth}px * ${maxHeight}px `);\r\n setMsgShow(true);\r\n file.target.value =\"\"\r\n setFileName(null)\r\n \r\n file.target.reportValidity();\r\n } else if(!(file?.target?.files && file?.target?.files[0]?.size > 0)) {\r\n file.target.setCustomValidity(`The file cannot be empty`);\r\n setMsgText(`The file cannot be empty`);\r\n setMsgShow(true);\r\n file.target.value =\"\"\r\n setFileName(null)\r\n file.target.reportValidity();\r\n \r\n } else {\r\n if(!Validity){\r\n file.target.setCustomValidity(\"\");\r\n setMsgText(\"\");\r\n setMsgShow(false);\r\n }\r\n \r\n }\r\n }\r\n setResetSrc(false)\r\n }else{\r\n if(buttonTypeParam==RoleOperationType.Delete){\r\n setResetSrc(true)\r\n }\r\n }\r\n\r\n };\r\n\r\n function DelOption(e) {\r\n let list:any=[] \r\n const ListSelected:any = [...selectedItem]\r\n ListSelected.map(item=>{\r\n if(item != e){\r\n list.push(item)\r\n }\r\n })\r\n setSelectedItem(list) \r\n }\r\n async function loadAttachmentViewerAsync(e) {\r\n try {\r\n const res:any = await loadAttachmentViewerBase64(e ,endpoint);\r\n setLoad(res);\r\n return res\r\n } catch (error) {\r\n setLoad(\" \")\r\n return \" \"\r\n }\r\n}\r\nfunction handleSlider() {\r\n if(!showFile)\r\n document.getElementById(\"DashboardLayout\")?.insertAdjacentHTML(\"afterbegin\", '
')\r\n \r\n if(id){\r\n\r\n loadAttachmentViewerAsync(id);\r\n }\r\n setShowFile(true)\r\n}\r\nfunction fileIconFormat(item) {\r\n let format = item.split('.').pop().toLowerCase();\r\n if(format == \"xlsx\" ){\r\n return {`\r\n }else if(format == \"docx\") {\r\n return {`\r\n } else if (format == \"pdf\") {\r\n return {`\r\n } else if (format == \"txt\") {\r\n } else if (format == \"pptx\") {\r\n return {`\r\n } else if (format == \"mp3\") {\r\n\r\n }else{\r\n return \r\n }\r\n}\r\n useEffect(() => {\r\n if (Validity){\r\n setMsgText(Validity);\r\n setMsgShow(true);\r\n }else{\r\n setMsgText(\"\")\r\n setMsgShow(false);\r\n }\r\n \r\n}, [Validity])\r\n\r\n useEffect(() => {\r\n if (resetForm){\r\n onChange(src)\r\n }\r\n \r\n}, [resetForm])\r\n useEffect(() => {\r\n console.log(\"srcsrc\" ,src) \r\n}, [src])\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n\r\n {showFile &&\r\n
\r\n {setShowFile(false);document.getElementById(\"backScreen\")?.remove()}} size=\"3x\" color='white' icon={['fas', 'times']} style={{zIndex:\"9999\" , cursor: 'pointer' , position:\"absolute\" }} />\r\n
\r\n \r\n
\r\n
\r\n }\r\n \r\n
\r\n \r\n {MsgText}\r\n \r\n
\r\n {/* {selectedImage && ( */}\r\n\r\n {multiple ?\r\n
\r\n {selectedItem.length >0 && [...selectedItem].map((item, index) => (\r\n item.name.length >0 &&\r\n
\r\n {item.name}\r\n
DelOption(item)} >\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n :\r\n <>\r\n {!hideSrc && \r\n <>\r\n \r\n {src && fileName && !resetSrc? (\r\n (fileName.includes(\"jpeg\")||fileName.includes(\"jpg\")||fileName.includes(\"png\")||fileName.includes(\"jfif\")) ?\r\n <>\r\n
{if(showBox && mode!=\"view\"){setFileClick(true)}else{handleSlider() }}} className=\"Wrap_img_inputFile\">\r\n \r\n
\r\n {mode!=\"view\"&&\r\n
\r\n
{cheackFile('',RoleOperationType.Delete as any);setButtonType(RoleOperationType.Delete)}} className=\"ms-2 text-center\" style={{cursor: \"pointer\"}}>\r\n \r\n
\r\n
{setFileClick(true);setButtonType(RoleOperationType.Edit)}} className=\"text-center\" style={{cursor: \"pointer\"}}>\r\n \r\n
\r\n
\r\n }\r\n \r\n :\r\n ((fileName.includes(\"pdf\")||(fileName.includes(\"txt\"))) ?
\r\n \r\n
:<> \r\n
{if(showBox && mode!=\"view\")setFileClick(true)}} className=\"Wrap_img_inputFile\">{fileIconFormat(fileName)}
)\r\n ) :\r\n
{if(showBox && mode!=\"view\")setFileClick(true)}} className=\"Wrap_img_inputFile\">\r\n
\r\n \r\n
\r\n
\r\n }\r\n \r\n }\r\n \r\n }\r\n \r\n );\r\n};\r\n","import { GroupingPriceFunction, trans } from \"utils/helpers\";\r\nimport './style.scss'\r\nimport { useEffect, useState } from \"react\";\r\n\r\ninterface HeaderbarPropsType {\r\n headerContents: any\r\n hasBorder?: boolean\r\n withPading?: boolean\r\n startIndex?: number\r\n shakingKey?: any\r\n}\r\nexport const Headerbar = ({\r\n headerContents,\r\n hasBorder,\r\n shakingKey=[],\r\n withPading=true,\r\n startIndex = 0\r\n}: HeaderbarPropsType) => { \r\n const [headerContentsState , setHeaderContentsState]= useState(headerContents)\r\n\r\n useEffect(() => {\r\n if(headerContentsState){\r\n setHeaderContentsState(null)\r\n }\r\n }, [headerContents])\r\n useEffect(() => {\r\n if(headerContentsState==null){\r\n setHeaderContentsState(headerContents)\r\n }\r\n\r\n }, [headerContentsState])\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n headerContentsState&& Object.keys(headerContentsState).map((key, i) => (\r\n \r\n !key.includes(\"Id\") && startIndex <= i && (\r\n (key + headerContentsState[key]).length <= 55 ?\r\n
\r\n \r\n {e.stopPropagation()}} >{trans(key)}: \r\n {e.stopPropagation()}} style={{direction:\"ltr\"}} >{typeof headerContentsState[key]==\"boolean\" ? :(key.includes(\"Price\") ||key.includes(\"Discount\") || key.includes(\"Tax\") ?GroupingPriceFunction(headerContentsState[key]) : headerContentsState[key]) }\r\n
\r\n : \r\n
\r\n {e.stopPropagation()}} >{trans(key)}: \r\n {e.stopPropagation()}} style={{direction:\"ltr\"}} className={`d-inline-block mb-1 `} >{typeof headerContentsState[key]==\"boolean\" ? : (key.includes(\"Price\") || key.includes(\"Discount\")|| key.includes(\"Tax\")?GroupingPriceFunction(headerContentsState[key]) : headerContentsState[key]) }\r\n
\r\n )\r\n ))\r\n }\r\n
\r\n
\r\n
\r\n );\r\n}","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { getCustomerInProgressRequests, getCustomerInfo } from \"./api\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\n\r\n\r\ninterface CustomerInfoForm {\r\n customerPositionId?:any\r\n\r\n}\r\n\r\nexport const CustomerInfo = ({ \r\n customerPositionId,\r\n}:CustomerInfoForm) => {\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [response, setResponse] = useState();\r\n const [responseRequests, setResponseRequests] = useState();\r\n\r\n async function getCustomerInfoAsync() {\r\n setLoading(false)\r\n\r\n try {\r\n const res = await getCustomerInfo(customerPositionId)\r\n if(res.Data.length >0){\r\n setResponse(JSON.parse(JSON.parse(res.Data)))\r\n }\r\n const res2 = await getCustomerInProgressRequests(customerPositionId)\r\n if(res2.Data.length >0){\r\n setResponseRequests(res2.Data)\r\n }\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n useEffect(() => {\r\n getCustomerInfoAsync();\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n {loading ?\r\n <>\r\n {response && response.HeaderInfo && }\r\n
\r\n
{trans(\"ContractsInfo\")}
\r\n {response && response.ContractsInfo.length > 0 ?\r\n
\r\n <>\r\n \r\n \r\n
\r\n : \r\n }\r\n
\r\n
\r\n
{trans(\"LocksInfo\")}
\r\n {response && response.LocksInfo.length > 0 ?\r\n
\r\n <>\r\n \r\n \r\n
\r\n : \r\n }\r\n
\r\n \r\n
\r\n
{trans(\"customerinprogressrequests\")}
\r\n {responseRequests && responseRequests.length > 0 ?\r\n
\r\n <>\r\n \r\n \r\n
\r\n : \r\n }\r\n
\r\n
\r\n
{trans(\"ContactsInfo\")}
\r\n {response && response.ContactsInfo.length > 0 ?\r\n
\r\n <>\r\n \r\n \r\n
\r\n : \r\n }\r\n
\r\n\r\n { !response && }\r\n \r\n : \r\n }\r\n
\r\n
\r\n\r\n );\r\n}","\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getCustomerInfo = (requesterPositionId) => http({\r\n url: ENDPOINTS.afterSalesApi.customerInfo,\r\n method: 'get',\r\n params: {\r\n requesterPositionId:requesterPositionId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getCustomerInProgressRequests = (CustomerId) => http({\r\n url: ENDPOINTS.afterSalesApi.customerInProgressRequests,\r\n method: 'get',\r\n params: {\r\n customerPositionId :CustomerId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});","\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getCartable = (PageNumber: number, PageSize: number, CartableType, processId, SelectedPosition?: any, orderFormat: string = \"\", str?: any, filterlist?: any) => http({\r\n url: ENDPOINTS.cartable.browse,//must be replace by cartable endpoints\r\n method: \"get\",\r\n params: {\r\n pageNumber: PageNumber,\r\n pageSize: PageSize,\r\n processId: processId,\r\n cartableType: CartableType,\r\n OrderByString: orderFormat,\r\n SearchString: str,\r\n FilterString: filterlist\r\n }\r\n}).then(response => {return response})\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\nexport const getJobRequester = (jobId) => http({\r\n url: ENDPOINTS.cartable.requester,\r\n method: 'get',\r\n params: {\r\n jobId: jobId,\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n\r\n })\r\nexport const getJobReferrer = (referenceId) => http({\r\n url: ENDPOINTS.cartable.JobReferrer,\r\n method: 'get',\r\n params: {\r\n referenceId: referenceId,\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n\r\n })\r\nexport const getStartForm = (processId: any, SelectedPosition?: any) => http({\r\n url: ENDPOINTS.bpmnApi.process.getStartForm,\r\n method: 'get',\r\n params: {\r\n processId: processId,\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n\r\n })\r\nexport const getViewForm = (processId: any, SelectedPosition?: any) => http({\r\n url: ENDPOINTS.bpmnApi.process.getViewForm,\r\n method: 'get',\r\n params: {\r\n processId: processId,\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n\r\n })\r\n\r\nexport const ReferReverse = (referenceId: string, ReferDescription: string,sendMsg) => http({\r\n method: 'post',\r\n url: ENDPOINTS.cartable.refer.reverse,\r\n params: {\r\n referenceId: referenceId,\r\n ReferDescription: ReferDescription,\r\n sendMessageToPerformer:sendMsg\r\n }\r\n}).then((res) => {\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getDataForPrint = ( Id) => http({\r\n url: ENDPOINTS.cartable.dailyLeave.PrintData,\r\n method: \"get\",\r\n params:{\r\n JobId:Id,\r\n useWarmSignature: true \r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n// export const returnReference = (referenceId: string) => http({\r\n// method: 'post',\r\n// url: ENDPOINTS.cartable.undo,\r\n// params: {\r\n// referenceId: referenceId,\r\n\r\n// }\r\n// }).then((res) => {\r\n// \r\n\r\n// }).catch((err) => {\r\n// Toast(err.massage, 'error')\r\n// return Promise.reject(err);\r\n// });\r\nexport const UnderFollowup = (referenceId: string, status) => http({\r\n method: 'post',\r\n url: ENDPOINTS.cartable.hasFollowUp,\r\n params: {\r\n referenceId: referenceId,\r\n hasFollowUp: status\r\n\r\n }\r\n}).then((res) => {\r\n\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const ongoingReference = (referenceId: string, status) => http({\r\n method: 'post',\r\n url: ENDPOINTS.cartable.ongoing,\r\n params: {\r\n referenceId: referenceId,\r\n ongoing: status\r\n\r\n }\r\n}).then((res) => {\r\n\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const acceptReference = (referenceId: string) => http({\r\n method: 'post',\r\n url: ENDPOINTS.cartable.accept,\r\n params: {\r\n referenceId: referenceId,\r\n\r\n }\r\n}).then((res) => {\r\n \r\n\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const undoReference = (referenceId: string) => http({\r\n method: 'post',\r\n url: ENDPOINTS.cartable.undo,\r\n params: {\r\n referenceId: referenceId,\r\n\r\n }\r\n}).then((res) => {\r\n\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const DeleteReference = (ReferenceId: string) => http({\r\n method: 'DELETE',\r\n url: ENDPOINTS.cartable.delete,\r\n params: {\r\n referenceId: ReferenceId,\r\n\r\n }\r\n}).then((res) => {\r\n\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const FinishedReference = (ReferenceId: string,sendMsg ,text) => http({\r\n method: 'post',\r\n url: ENDPOINTS.cartable.terminated,\r\n params: {\r\n referenceId: ReferenceId,\r\n sendMessageToRequester:sendMsg,\r\n \r\n },\r\n data:text\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const CancelFinishedReference = (ReferenceId: string) => http({\r\n method: 'post',\r\n url: ENDPOINTS.cartable.cancelTerminated,\r\n params: {\r\n referenceId: ReferenceId,\r\n\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const RejectReference = (ReferenceId: string ,text,sendMsg) => http({\r\n method: 'post',\r\n url: ENDPOINTS.cartable.reject,\r\n params: {\r\n referenceId: ReferenceId,\r\n rejectDescription:text,\r\n sendMessageToRequester:sendMsg\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getReference = (referenceId: any) => http({\r\n url: ENDPOINTS.cartable.refer.load,\r\n method: 'get',\r\n params: {\r\n referenceId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const postReferences = (referenceList: any ) => http({\r\n method: 'post',\r\n url: ENDPOINTS.cartable.reference.browse,\r\n\r\n data: referenceList,\r\n}).then((res) => {\r\n // \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getAttachmentsByReferenceId = (referenceId) => http({\r\n url: ENDPOINTS.cartable.reference.attachments,\r\n method: 'get',\r\n params: {\r\n ownerId: referenceId\r\n }\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n\r\n\r\n\r\n\r\nexport const sendInvoiceData = (data, method) => http({\r\n method: method,\r\n url: ENDPOINTS.cartable.jobInvoice.browse,\r\n data: data,\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getInvoiceData = (jobId) => http({\r\n url: ENDPOINTS.cartable.jobInvoice.browse,\r\n method: \"get\",\r\n params:{\r\n jobId:jobId\r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\n\r\n","import React from \"react\";\r\nimport { Tabs, Tab } from \"react-bootstrap\";\r\nimport { trans } from \"utils/helpers\";\r\nimport './style.scss'\r\n\r\ninterface props {\r\n content: any[];\r\n defaultTab: string;\r\n curentTab?: string;\r\n disabled?: boolean;\r\n disableTab?: any;\r\n disableIndex?: any;\r\n icon?:any;\r\n showWithIcon?:boolean;\r\n addDisable?:boolean;\r\n tabChange: (ans: any) => void,\r\n Click?: (ans: any) => void,\r\n}\r\nexport const TabBar: React.FC = ({addDisable,content,defaultTab,curentTab,disabled,disableTab,disableIndex,icon,showWithIcon=false,tabChange,Click}: props) => {\r\n\r\n\r\n \r\n return (\r\n {\r\n tabChange(e);\r\n }}\r\n\r\n >\r\n {content.map((item, index) => {\r\n if (disabled) {\r\n if (index <= 1) {\r\n return ( {return false }}\r\n disabled={disabled ? index > 1 : false}\r\n key={index}\r\n eventKey={item.title}\r\n title={trans(item.title)}\r\n className=\"\"\r\n\r\n >\r\n {item.body}\r\n )\r\n }else{\r\n return ({if(disableTab ?disableTab === item.title : false){Click && Click(e)} }}\r\n disabled={disabled ? (disableIndex ? index > disableIndex : index > 1 ) :(disableTab ?disableTab ==item.title : false )}\r\n key={index}\r\n eventKey={item.title}\r\n title={trans(item.title)}\r\n className=\"\"\r\n >\r\n {item.body}\r\n )\r\n }\r\n\r\n } else {\r\n return ({if(disableTab ?disableTab ==item.title : false){Click && Click(e)} }}\r\n disabled={ addDisable ? item.disable:(disabled ? index > 1 :(disableTab ?disableTab ==item.title : false ))} \r\n key={index}\r\n eventKey={item.title}\r\n title={showWithIcon ? curentTab != item.title ? item.icon : trans(item.title) :trans(item.title)}\r\n className=''\r\n >\r\n {item.body}\r\n )\r\n }\r\n }\r\n )}\r\n \r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useEffect, useRef, useState} from \"react\";\r\nimport { Card, Overlay, OverlayTrigger, Popover, Tooltip } from \"react-bootstrap\"\r\nimport { trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\n\r\ninterface Prop {\r\n img: string,\r\n text: string,\r\n handleClickSlider: (e) => void,\r\n handleVersionTrigger: (e) => void,\r\n handleDownloadTrigger:(e)=>void\r\n handleCheckbox: (e , item) => void,\r\n handleDeleteRow?: (e) => void,\r\n handleEdit?: (e) => void,\r\n handleSetAsDefault?:(e)=>void\r\n id: string,\r\n reset?: boolean,\r\n haveVersion?: boolean,\r\n fileName:string,\r\n asDefault?:any\r\n}\r\n\r\nexport const CardBoxAttachment = ({haveVersion, img, text,asDefault, handleClickSlider,handleDeleteRow, id, handleDownloadTrigger,handleEdit , handleCheckbox ,handleVersionTrigger, fileName ,reset,handleSetAsDefault}: Prop) => {\r\n const [target, setTarget] = useState(null);\r\n const [ShowTrigger, setShowTrigger] = useState(false);\r\n const [check, setCheck] = useState(false);\r\n const [CurrentOperation, setCurrentOperation] = useState(\"\");\r\n\r\n\r\n function handleTrigger(e) {\r\n e.stopPropagation()\r\n setTarget(e.target);\r\n setCurrentOperation(id);\r\n if (id == CurrentOperation) {\r\n setShowTrigger(!ShowTrigger)\r\n } else {\r\n setShowTrigger(true)\r\n }\r\n }\r\n\r\n const current = useRef().current;\r\n\r\n useEffect(() => {\r\n setCheck(false)\r\n\r\n }, [reset])\r\n\r\n\r\n\r\n\r\n return (\r\n \r\n
\r\n
\r\n {}} type=\"checkbox\" id={id} title={fileName} onClick={(e)=>{handleCheckbox(e,{Id:id , Name:fileName}) ; setCheck(!check)}} />\r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n \r\n {text}\r\n \r\n }\r\n >\r\n
\r\n \r\n \r\n \r\n {text}\r\n \r\n \r\n
\r\n \r\n\r\n\r\n\r\n
\r\n )\r\n}","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { ICON_TYPE } from 'utils/constants';\r\nimport { trans } from 'utils/helpers';\r\nimport \"./style.scss\";\r\nexport const Fileviewer = ({ File,showDownLoad=true, src ,downloadFileAsync=()=>{}, showArchive=false ,showFile=false}) => {\r\n\r\n\r\n \r\n return (\r\n <>\r\n \r\n <>
{trans(\"msg_cannotshowfile\")} {trans(\"download\")}
\r\n
{showDownLoad&& {trans(\"download\")}}\r\n\r\n {/* {(format == \"jpeg\"||format == \"png\"||format == \"jpg\"||format == \"heic\") && <> {showDownLoad&&{trans(\"download\")} }}\r\n {format == \"webp\" && <> {showDownLoad&&{trans(\"download\")}}}\r\n {format == \"txt\" && <>
{Src}
{showDownLoad&&{trans(\"download\")}}}\r\n {!support && <>
{trans(\"msg_cannotshowfile\")}
{showDownLoad&&{trans(\"download\")} }}\r\n */}\r\n \r\n ); \r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { http } from \"utils/http\";\r\n\r\nexport const getAttachments = (ownerId, endpoints, baseURL, params, showMode) =>\r\n http({\r\n ...baseURL && {baseURL:baseURL},\r\n url: endpoints + (showMode ? \"/List\" : \"/List/Detail\"),\r\n method: \"get\",\r\n params: {\r\n ownerId: ownerId,\r\n returnThumbnail: showMode,\r\n ...params,\r\n },\r\n })\r\n .then((response) => response.data)\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const DeleteAttachments = (attachId, endpoints, baseURL) =>\r\n http({\r\n ...baseURL && {baseURL:baseURL},\r\n url: endpoints,\r\n method: \"delete\",\r\n params: {\r\n attachId: attachId,\r\n },\r\n })\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const PostAttachments = (data, endpoints, baseURL) =>\r\n http({\r\n ...baseURL && {baseURL:baseURL},\r\n url: endpoints,\r\n method: \"post\",\r\n\r\n data: data,\r\n headers: {\r\n \"content-type\": \"multipart/form-data\",\r\n Accept: \"*/*\",\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\nexport const PutAttachments = (data, ownerId, endpoints, id, baseURL) =>\r\n http({\r\n ...baseURL && {baseURL:baseURL},\r\n url: endpoints,\r\n method: \"put\",\r\n params: {\r\n fileId: id,\r\n },\r\n data: data,\r\n headers: {\r\n \"content-type\": \"multipart/form-data\",\r\n Accept: \"*/*\",\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nfunction blobToBase64(blob) {\r\n return new Promise((resolve, _) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result);\r\n reader.readAsDataURL(blob);\r\n });\r\n}\r\n\r\nexport const loadAttachment = (attachId, endpoints, baseURL, params) =>\r\n http({\r\n ...baseURL && {baseURL:baseURL},\r\n url: endpoints + \"/File\",\r\n method: \"get\",\r\n params: {\r\n attachId: attachId,\r\n ...params,\r\n },\r\n responseType: \"blob\",\r\n })\r\n .then(async (response) => {\r\n return blobToBase64(response.data);\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getDownloadUrlAttachmentAsync = (\r\n attachIds,\r\n endpoints,\r\n baseURL,\r\n) =>\r\n http({\r\n ...baseURL && {baseURL:baseURL},\r\n url: endpoints + \"/Url\",\r\n method: \"post\",\r\n data: attachIds,\r\n })\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getVersions = (endpoints, baseURL, attachId,getAllData) =>\r\n http({\r\n ...baseURL && {baseURL:baseURL},\r\n url: endpoints + (getAllData?\"/Version/All\": \"/Version\"),\r\n method: \"get\",\r\n params: {\r\n attachId,\r\n },\r\n })\r\n .then((response) => response.data)\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const deleteVersion = (endpoints, baseURL, attachId, versionId) =>\r\n http({\r\n ...baseURL && {baseURL:baseURL},\r\n url: endpoints + \"/Version\",\r\n method: \"delete\",\r\n params: {\r\n attachId,\r\n versionId,\r\n },\r\n })\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const putVersion = (endpoints, baseURL, attachId, versionId) =>\r\n http({\r\n ...baseURL && {baseURL:baseURL},\r\n url: endpoints + \"/Version/Revert\",\r\n method: \"put\",\r\n params: {\r\n attachId,\r\n versionId,\r\n },\r\n })\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n export const getVersion = (endpoints, baseURL, attachId, versionId) =>\r\n http({\r\n ...baseURL && {baseURL:baseURL},\r\n url: endpoints + \"/Version/Revert\",\r\n method: \"put\",\r\n params: {\r\n attachId,\r\n versionId,\r\n },\r\n })\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\n export const putAsDefault = (endpoints, baseURL,ownerId ,id) =>\r\n http({\r\n ...baseURL && {baseURL:baseURL},\r\n url: endpoints + \"/Default\",\r\n method: \"put\",\r\n params: {\r\n ownerId,\r\n id,\r\n },\r\n })\r\n .then((response) => {\r\n return response.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });","import { useEffect, useState } from \"react\";\r\nimport {\r\n deleteVersion,\r\n getDownloadUrlAttachmentAsync,\r\n getVersions,\r\n putVersion,\r\n} from \"../api/api\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { STORAGE_URL } from \"utils/constants\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\nexport const VersionList = ({reload , endpoint, baseURL, attachFile, getAllData }) => {\r\n const [versionList, setVersionList] = useState([]);\r\n const [versionLoading, setVersionLoading] = useState(false);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n // const [editId, setEditId] = useState();\r\n const [catchMessage, setCatchMessage] = useState({\r\n type: \"info\",\r\n msg: \"NoDataForPreview\",\r\n });\r\n\r\n const getVersionAsync = async () => {\r\n setVersionLoading(false);\r\n try {\r\n const response = await getVersions(\r\n endpoint,\r\n baseURL,\r\n attachFile.id,\r\n getAllData\r\n );\r\n setVersionList(response.Data);\r\n if (response.Data.length == 0) {\r\n setVersionList([]);\r\n setCatchMessage({ type: \"info\", msg: \"NoDataForPreview\" });\r\n }\r\n } catch (error: any) {\r\n setCatchMessage({ type: \"error\", msg: error });\r\n }\r\n setVersionLoading(true);\r\n };\r\n\r\n const selectedIdCallback = (obj, index) => {\r\n setSelectedId(obj.Id);\r\n };\r\n\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"refresh\":\r\n setForceUpdate(!forceUpdate);\r\n getVersionAsync();\r\n break;\r\n\r\n case \"download\":\r\n if (versionList.length > 0 || selectedId != null) {\r\n downloadTrigger();\r\n } else {\r\n // Toast(trans(\"nofileselected\"), \"warning\");\r\n Toast(trans(\"nofileselected\"), MessageType.warning);\r\n\r\n }\r\n break;\r\n case \"remove\":\r\n {\r\n if (versionList.length > 0 || selectedId != null) {\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\", \"alert\", () => {\r\n // handleDeleteRow();\r\n // });\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete, () => {\r\n handleDeleteRow();\r\n });\r\n } else {\r\n // Toast(trans(\"nofileselected\"), \"warning\");\r\n Toast(trans(\"nofileselected\"), MessageType.warning);\r\n\r\n }\r\n }\r\n break;\r\n case \"recovery\":\r\n if (versionList.length > 0 || selectedId != null) {\r\n handleEditRow();\r\n } else {\r\n // Toast(trans(\"nofileselected\"), \"warning\");\r\n Toast(trans(\"nofileselected\"), MessageType.warning);\r\n\r\n }\r\n }\r\n };\r\n\r\n const handleViewRow = async () => {\r\n setVersionLoading(false);\r\n try {\r\n await putVersion(endpoint, baseURL, attachFile.id, selectedId);\r\n setForceUpdate(!forceUpdate);\r\n } catch (error) {}\r\n\r\n setVersionLoading(true);\r\n };\r\n\r\n async function downloadTrigger() {\r\n let tagList: any = [];\r\n let res = await getDownloadUrlAttachmentAsync(\r\n [attachFile.id],\r\n endpoint,\r\n baseURL\r\n );\r\n\r\n for (let i = 0; i < res?.Data.length; i++) {\r\n const result = await asyncOperation(\"message\", 400);\r\n createDownloadlink(`${res?.Data[i]}`, attachFile.title);\r\n }\r\n\r\n try {\r\n } catch (error) {}\r\n }\r\n\r\n const asyncOperation = (message, delay) => {\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(message);\r\n }, delay);\r\n });\r\n };\r\n\r\n function createDownloadlink(href, title) {\r\n const a = document.createElement(\"a\");\r\n\r\n a.href = STORAGE_URL + href;\r\n a.download = title;\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n return null;\r\n }\r\n\r\n const handleEditRow = async () => {\r\n setVersionLoading(false);\r\n try {\r\n await putVersion(endpoint, baseURL, attachFile.id, selectedId);\r\n reload()\r\n //setForceUpdate(!forceUpdate);\r\n } catch (error) {}\r\n\r\n setVersionLoading(true);\r\n };\r\n\r\n const handleDeleteRow = async () => {\r\n setVersionLoading(false);\r\n try {\r\n await deleteVersion(endpoint, baseURL, attachFile.id, selectedId);\r\n setForceUpdate(!forceUpdate);\r\n } catch (error) {}\r\n\r\n setVersionLoading(true);\r\n };\r\n\r\n useEffect(() => {\r\n getVersionAsync();\r\n }, [forceUpdate]);\r\n\r\n return (\r\n <>\r\n \r\n {versionLoading ? (\r\n !!versionList.length ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { Button } from \"components/Button/Button\";\r\nimport { CardBoxAttachment } from \"components/CardBoxAttachment/CardBoxAttachment\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { FileInput } from \"components/FileInput/FileInput\";\r\nimport { Fileviewer } from \"components/Fileviewer/Fileviewer\";\r\nimport { Footerbar } from \"components/Footerbar/Footerbar\";\r\nimport { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { SwitchBtn } from \"components/SwitchBtn/SwitchBtn\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Carousel } from \"react-bootstrap\";\r\nimport { STORAGE_URL } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { DeleteAttachments, getAttachments, getDownloadUrlAttachmentAsync, loadAttachment, PostAttachments, putAsDefault, PutAttachments } from \"./api/api\";\r\nimport \"./style.scss\";\r\nimport { VersionList } from './VersionList/VersionList';\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface props {\r\n onHide: () => void\r\n ownerId?: string\r\n baseURL?: any\r\n mood?: string\r\n getListEndpoint?: any\r\n getListOwnerId?: any\r\n params?: any\r\n inTab?: string\r\n endpoint?: string\r\n showInGrid?: boolean\r\n haveVersion?: boolean\r\n}\r\nexport const Attachment = ({ haveVersion=false, showInGrid=false , ownerId,baseURL=null,inTab, mood, onHide,getListEndpoint,params, getListOwnerId , endpoint}: props) => {\r\n\r\n\r\n let headerData, footerData;\r\n\r\n const [response, setResponse] = useState(null);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [actionFormEditId, setActionFormEditId] = useState();\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [showModalCarousel, setshowModalCarousel] = useState(false);\r\n const [listid, setId] = useState([]);\r\n const [showVersions, setShowVersions] = useState(false);\r\n const [load, setLoad] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [index, setIndex] = useState();\r\n const [showUpload, setShowUpload] = useState(false);\r\n const [flag, setFlag] = useState(false);\r\n const [exist, setExist] = useState(false);\r\n const [file, setFile] = useState();\r\n const [Name, setName] = useState();\r\n const [showMode, setShowMode] = useState(true);\r\n const [selectedRow, setSelectedRow] = useState();\r\n const [catchMessage, setCatchMessage] = useState({type:\"info\",msg:\"NoDataForPreview\"});\r\n const [message, setMessage] = useState( \"NoDataForPreview\");\r\n const [attachFile,setAttachFile]=useState()\r\n\r\n\r\n\r\n\r\n /* #region pagination */\r\n\r\n const selectedIdCallback = (obj, index) => {\r\n setSelectedId(obj.Id);\r\n }\r\n\r\n\r\n const handleViewRow = () => {\r\n setActionFormEditId(selectedId);\r\n }\r\n \r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n const handleDeleteRow = async(atachId , isList = false ) => {\r\n setLoading(false)\r\n try {\r\n if(isList){\r\n try {\r\n await Promise.all(atachId.forEach(async(item) =>{\r\n try {\r\n const res = await DeleteAttachments( item.item.Id ,endpoint,baseURL ); \r\n } catch (error) {\r\n }\r\n })\r\n )\r\n } catch (error) {\r\n }\r\n }else{\r\n const res = await DeleteAttachments( atachId ,endpoint ,baseURL); \r\n }\r\n } catch (error) {\r\n \r\n }\r\n try{\r\n await delay(200)\r\n setId([])\r\n getAttachmentsAsync()\r\n setFile(null)\r\n\r\n }catch(err){\r\n }\r\n setLoading(true)\r\n }\r\n\r\n function handleDownload() {\r\n if(showMode){\r\n if (listid.length > 0) {\r\n let list:any = []\r\n listid.forEach(item => {\r\n list.push({id:item.event.target.id, name :item.event.target.title })\r\n })\r\n downloadTrigger(list)\r\n setFlag(!flag)\r\n setId([])\r\n }else{\r\n // Toast(trans(\"nofileselected\"), \"warning\")\r\n Toast(trans(\"nofileselected\"), MessageType.warning)\r\n\r\n }\r\n }else{\r\n if(selectedRow){\r\n downloadTrigger([{id:selectedRow.Id,title:selectedRow.FileName}])\r\n setFlag(!flag)\r\n setId([])\r\n }\r\n }\r\n }\r\n function version (e) {\r\n setShowVersions(true)\r\n setAttachFile(e)\r\n\r\n \r\n }\r\n function checkbox(e , item) {\r\n if (e.target.checked === true) {\r\n setId((old) => [...old, {item:item , event:e}])\r\n } else if (listid.length !== 0 && e.target.checked === false) {\r\n let deleteId = listid.filter(file => {\r\n return item.Id !== file.item.Id\r\n })\r\n setId(deleteId)\r\n }\r\n }\r\n\r\n function createDownloadlink(href, title) {\r\n const a = document.createElement('a');\r\n \r\n a.href = STORAGE_URL+href;\r\n a.download = title;\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n return null\r\n }\r\n \r\n\r\n const asyncOperation = (message, delay) => {\r\n return new Promise((resolve) => {\r\n setTimeout(() => {\r\n resolve(message);\r\n }, delay);\r\n });\r\n };\r\n \r\n async function downloadTrigger(e) {\r\n\r\n let ListId = e.map(item=>{\r\n return item.id\r\n })\r\n if(getListOwnerId && getListEndpoint){\r\n let tagList:any = []\r\n let res = await getDownloadUrlAttachmentAsync(ListId,endpoint ,baseURL);\r\n \r\n for (let i = 0; i < res?.Data.length; i++) {\r\n const result = await asyncOperation(\"message\", 400);\r\n createDownloadlink(`${res?.Data[i]}`, e[i].name)\r\n }\r\n \r\n }else{\r\n\r\n let res = await getDownloadUrlAttachmentAsync(ListId,endpoint ,baseURL);\r\n \r\n for (let i = 0; i < res?.Data.length; i++) {\r\n const result = await asyncOperation(\"message\", 400);\r\n createDownloadlink(`${res?.Data[i]}`, e[i].name)\r\n }\r\n\r\n }\r\n try {\r\n } catch (error) {\r\n \r\n }\r\n \r\n }\r\n\r\n\r\n function changehandlefile(e) {\r\n setExist(false)\r\n let flag= false\r\n\r\n if(!flag){\r\n var file = e.target.files[0]\r\n var blob = file.slice(0, file.size); \r\n let newFile = new File([blob], `${new Date().getTime()}.${e.target.files[0].name.split('.').pop().toLowerCase()}`, {\r\n type: file.type,\r\n lastModified: file.lastModified,\r\n } );\r\n // setFile(newFile)\r\n setFile({url: URL.createObjectURL(newFile) ,file:newFile}); \r\n\r\n setName( e.target.files[0].name)\r\n const dataTransfer = new DataTransfer();\r\n dataTransfer.items.add(newFile);\r\n let input:any = document.getElementById(\"fileinputIdLegal\")\r\n if(input != undefined){\r\n input!.files = dataTransfer.files; \r\n }\r\n \r\n }\r\n }\r\n function uploadSubmit(e) {\r\n e.preventDefault();\r\n if (file) {\r\n if(actionFormEditId){\r\n PutAttachment();\r\n }else{\r\n postAttachment();\r\n }\r\n }\r\n }\r\n\r\n async function postAttachment() {\r\n try {\r\n var _objData = new FormData();\r\n _objData.append(\"file\", file?.file);\r\n _objData.append(\"OwnerId\", ownerId? ownerId : \"\" );\r\n _objData.append(\"FileName\", Name);\r\n if(response==null || response.length==0){\r\n _objData.append(\"IsDefault\", \"true\");\r\n }\r\n const res = await PostAttachments(_objData ,endpoint ,baseURL);\r\n setShowUpload(false);\r\n getAttachmentsAsync()\r\n setFile(null)\r\n } catch (error) {\r\n \r\n }\r\n }\r\n async function PutAttachment() {\r\n try {\r\n var _objData = new FormData();\r\n _objData.append(\"file\", file?.file);\r\n const res = await PutAttachments(_objData, ownerId ,endpoint ,actionFormEditId,baseURL);\r\n setShowUpload(false);\r\n getAttachmentsAsync()\r\n setFile(null)\r\n } catch (error) {\r\n }\r\n }\r\n\r\n /* #endregion */\r\n\r\n /* #region toolbarActions */\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\": alert(\"print \"); break;\r\n case \"refresh\": setForceUpdate(!forceUpdate);getAttachmentsAsync(); break;\r\n case \"create\":setActionFormEditId(null); setShowUpload(true); break;\r\n case \"view\": if (selectedId) handleViewRow(); break;\r\n case \"remove\": if (listid.length > 0||selectedRow!=null){\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , ()=>{handleDeleteRow(showMode?listid:selectedRow.Id , showMode)})\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete, ()=>{handleDeleteRow(showMode?listid:selectedRow.Id , showMode)})\r\n\r\n }else{ Toast(trans(\"nofileselected\"), MessageType.warning)}; break;\r\n case \"help\": alert(\"call api help\"); break;\r\n case \"download\": handleDownload(); break;\r\n }\r\n };\r\n /* #endregion */\r\n\r\n\r\n \r\n\r\n async function getAttachmentsAsync() {\r\n setLoading(false)\r\n try {\r\n \r\n if(getListOwnerId && getListEndpoint){\r\n const res = await getAttachments(getListOwnerId , getListEndpoint ,baseURL ,params ,showMode)\r\n setResponse(res.Data ) \r\n }else{\r\n const res = await getAttachments(ownerId , endpoint ,baseURL ,params ,showMode)\r\n setResponse(res.Data ) \r\n }\r\n setCatchMessage({type:\"info\",msg:\"NoDataForPreview\"})\r\n } catch (error:any) {\r\n setResponse(null)\r\n setMessage(error?.response?.data?.Message)\r\n setCatchMessage({type:\"error\" , msg:error?.response?.data?.Message})\r\n }\r\n setLoading(true)\r\n }\r\n \r\n function handleSlider(e) {\r\n let b = document.querySelectorAll(\".CardBoxAttachment__img\");\r\n for (let i = 0; i < b.length; i++) {\r\n if (e.target.id === b[i].id) {\r\n setIndex(i);\r\n }\r\n }\r\n loadAttachmentAsync(e.target.id);\r\n setshowModalCarousel(true);\r\n }\r\n\r\n\r\n function selectCarousel(I) {\r\n setIndex(I)\r\n let b = document.querySelectorAll(\".CardBoxAttachment__img\");\r\n for (let i = 0; i < b.length; i++) {\r\n loadAttachmentAsync(b[I].id);\r\n\r\n }\r\n }\r\n\r\n const handleSetAsDefault=async(id)=>{\r\n\r\n\r\n try{\r\n await putAsDefault(endpoint ,baseURL,ownerId,id)\r\n }catch(error){\r\n\r\n }\r\n\r\n }\r\n async function loadAttachmentAsync(e) {\r\n try {\r\n if(getListOwnerId && getListEndpoint){\r\n const res:any = await loadAttachment(e ,getListEndpoint ,baseURL,params );\r\n \r\n setLoad(res);\r\n return res\r\n }else{\r\n\r\n const res:any = await loadAttachment(e ,endpoint ,baseURL ,params);\r\n setLoad(res);\r\n return res\r\n }\r\n } catch (error) {\r\n setLoad(\" \")\r\n return \" \"\r\n }\r\n }\r\n useEffect(() => {\r\n if(mood !== \"create\"){\r\n if(inTab && inTab===\"Attachment\"){\r\n getAttachmentsAsync();\r\n }else if(inTab == null ||inTab === undefined ){\r\n getAttachmentsAsync();\r\n }\r\n }\r\n }, [ownerId ,inTab ,showMode])\r\n\r\n\r\n\r\n\r\n return (\r\n <> \r\n \r\n {((inTab && inTab===\"Attachment\")||(inTab == null ||inTab === undefined))&& <>\r\n \r\n
\r\n
\r\n {showInGrid&&\r\n
\r\n \r\n
\r\n }\r\n
\r\n \r\n
\r\n
\r\n {headerData && }\r\n
\r\n
\r\n {loading ?\r\n (response && response?.length > 0 ?\r\n <>\r\n
\r\n
{ setshowModalCarousel(false); setLoad(\"\") }} style={{top:\"40px\",right:\"60px\"}}>✕
\r\n
\r\n \r\n {response.map((item,mapIndex) => (\r\n \r\n {load ? :\r\n \r\n }\r\n \r\n\r\n ))}\r\n \r\n
\r\n
\r\n \r\n {showMode ?\r\n
\r\n
\r\n\r\n {response.map((item,mapIndex) => (\r\n\r\n {setActionFormEditId(item.Id);setShowUpload(true)}} key={mapIndex} img={`data:image/jpg;base64,${item.Thumbnail}`} reset={flag} text={item.FileName} handleClickSlider={handleSlider} id={item.Id}\r\n handleDeleteRow={handleDeleteRow} handleVersionTrigger={version} handleCheckbox={checkbox} fileName={item.FileName} handleDownloadTrigger={downloadTrigger}\r\n asDefault={true} handleSetAsDefault={(e)=>handleSetAsDefault(e)}\r\n />\r\n \r\n ))}\r\n
\r\n\r\n
\r\n :\r\n\r\n <>\r\n {setSelectedRow(e)}}\r\n rowSelected={selectedRow}\r\n />\r\n \r\n\r\n\r\n }\r\n {footerData && }\r\n\r\n \r\n :<> \r\n ) \r\n\r\n : }\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n showVersions &&\r\n setShowVersions(false)} show={showVersions}>\r\n { setShowVersions(false);getAttachmentsAsync();}} getAllData={false} endpoint={endpoint} baseURL={baseURL} attachFile={attachFile} />\r\n \r\n\r\n\r\n }\r\n\r\n { showUpload && {setShowUpload(false);setFile(null)}} show={showUpload}>\r\n \r\n
\r\n {exist &&
}\r\n\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n \r\n\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getLetterList = (async (pageNumber ,pageSize , searchString ,orderBy , secretariatId=\"\",filterlist) => await http({\r\n url: ENDPOINTS.secretariat.indicator.browse,\r\n method: 'get',\r\n params: {\r\n PageNumber : pageNumber,\r\n PageSize : pageSize,\r\n SearchString : searchString,\r\n OrderByString : orderBy,\r\n SecretariatId : secretariatId,\r\n FilterString: filterlist\r\n\r\n\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getChooseRelatedList = (async (pageNumber ,pageSize , searchString ,orderBy , letterId=\"\",filterlist) => await http({\r\n url: ENDPOINTS.secretariat.indicator.chooseRelated,\r\n method: 'get',\r\n params: {\r\n PageNumber : pageNumber,\r\n PageSize : pageSize,\r\n SearchString : searchString,\r\n OrderByString : orderBy,\r\n letterId : letterId,\r\n FilterString: filterlist\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const getRelatedList = (async (pageNumber ,pageSize ,letterId) => await http({\r\n url: ENDPOINTS.secretariat.indicator.related,\r\n method: 'get',\r\n params: {\r\n PageNumber : pageNumber,\r\n PageSize : pageSize,\r\n LetterId : letterId\r\n\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getLetter = (async (id) => await http({\r\n url: ENDPOINTS.secretariat.indicator.loadLetter,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n LetterId : id\r\n\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nfunction blobToBase64(blob) {\r\n return new Promise((resolve, _) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result);\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\nexport const loadAttachmentViewerBase64 = (attachId ) => http({\r\n url:ENDPOINTS.cartable.attachmentFile,\r\n method: 'get',\r\n params: {\r\n attachId: attachId\r\n },\r\n responseType: \"blob\"\r\n}).then(async(response) => {\r\n\r\n return blobToBase64(response.data)\r\n}).catch((err) => {\r\n // \r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\n\r\nexport const getLetterByReferenceId = (async (referenceId) => await http({\r\n url: ENDPOINTS.secretariat.letter.reference,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n referenceId : referenceId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const getDefaultFileAttachment = (letterId ) => http({\r\n url: ENDPOINTS.secretariat.letter.defaultFileAttachment,\r\n method: 'get',\r\n params: {\r\n ownerId : letterId,\r\n\r\n },\r\n responseType: \"blob\"\r\n\r\n}).then(response => { \r\n return response.data.stream().getReader().read().then(res => res.value);\r\n}\r\n\r\n).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const postLetter = (async (letter , processId ,referenceId) => await http({\r\n url: ENDPOINTS.secretariat.letter.letter, \r\n method: \"post\",\r\n data:letter,\r\n params:{\r\n referenceId : referenceId,\r\n PRJ_UID:processId\r\n\r\n }\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const putLetter = (async (letter ,referenceId) => await http({\r\n url: ENDPOINTS.secretariat.letter.letter,\r\n method: \"put\",\r\n data:letter,\r\n params:{\r\n referenceId :referenceId\r\n }\r\n\r\n\r\n}).then((res) => {\r\n\r\n return res\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getSecretariatNo = (async (id ,letterType) => await http({\r\n url: ENDPOINTS.secretariat.indicator.secretariatNo,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n secretariatId : id,\r\n letterType :letterType\r\n }\r\n}).then((res) => {\r\n\r\n return res\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const addToIndicator = (async (indicator ,method) => await http({\r\n url: ENDPOINTS.secretariat.indicator.indicator,\r\n method: method,\r\n data: indicator\r\n}).then((res) => {\r\n\r\n return res\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getSignature = (async (positionId , jobId ) => await http({\r\n url: ENDPOINTS.secretariat.letterSignature.browse,\r\n method: \"get\",\r\n params:{\r\n positionId : positionId ,\r\n jobId : jobId\r\n }\r\n}).then((res) => {\r\n\r\n return res\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const sendSignature = (async (data , method ) => await http({\r\n url: ENDPOINTS.secretariat.letterSignature.browse,\r\n method: method,\r\n data:data\r\n}).then((res) => {\r\n\r\n return res\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getReceiverlist = (async (id ) => await http({\r\n url: ENDPOINTS.secretariat.letterReceiver.browse,\r\n method: \"get\",\r\n params:{\r\n letterId:id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\n\r\nexport const getReceivers = ( id) => http({\r\n url: ENDPOINTS.secretariat.letterReceiver.receiverDictionary,\r\n method: \"get\",\r\n params:{\r\n jobId:id\r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getSentHistory = ( id) => http({\r\n url: ENDPOINTS.secretariat.letterSent.browse,\r\n method: \"get\",\r\n params:{\r\n jobId:id\r\n }\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getDataForPrint = ( id) => http({\r\n url: ENDPOINTS.secretariat.indicator.PrintData,\r\n method: \"get\",\r\n params:{\r\n letterId:id,\r\n useWarmSignature: true\r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\n","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { getChooseRelatedList } from \"pages/Secretariats/LettersPage/api/api\";\r\nimport { getPageSize, trans } from \"utils/helpers\";\r\nimport { LetterRelationType } from \"types/enum\";\r\nimport { Search } from \"components/Search/Search\";\r\n\r\n\r\ninterface RelatedFormProps {\r\n letter: any;\r\n onHide: () => void;\r\n Relatedlistcallback: (list) => void;\r\n }\r\n\r\nexport const RelatedForm = ({letter,onHide ,Relatedlistcallback }:RelatedFormProps) => {\r\n\r\n let keys, cartable = [];\r\n const [response, setResponse] = useState(null);\r\n const [letterId, setLetterId] = useState(null);\r\n const [searchString, setSearchString] = useState(null);\r\n const [flgWithAttachments, setFlgWithAttachments] = useState(null);\r\n const [forceUpdate, setForceUpdate] = useState(false); // integer state\r\n const [reload, setReload] = useState(false); // integer state\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(20);\r\n const [mode, setMode] = useState();\r\n const [orderFormat, setOrderFormat] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [selectList, setselectList] = useState([]);\r\n const [pages, setPages] = useState(0);\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n\r\n let customFuction: any = []\r\n\r\n\r\n /* pagination area*/\r\n\r\n\r\n const makeRelatedList = (event) => {\r\n event.preventDefault();\r\n let RelatedLetters:any =[]\r\n if(selectList[1]!=undefined && selectList[1].length >0){\r\n RelatedLetters = selectList[1].map(item=>{ \r\n return {\r\n Id: item.LetterId,\r\n LetterRelationTypeEnum: +event.target.letterMode.value ,\r\n LetterRelationType: trans(LetterRelationType[+event.target.letterMode.value] ) ,\r\n LetterType:item.LetterType,\r\n IndicatorNo: item.IndicatorNo ,\r\n RegisterTime: item.RegisterTime ,\r\n LetterSubject: item.LetterSubject ,\r\n LetterNo: item.LetterNo ,\r\n LetterDate: item.LetterDate,\r\n Sender: item.Sender ,\r\n Secretariat: item.Secretariat \r\n \r\n \r\n \r\n }\r\n })\r\n \r\n Relatedlistcallback(RelatedLetters)\r\n onHide()\r\n } \r\n }\r\n\r\n\r\n\r\n const getWithOrder = (order: string[]) => {\r\n setOrderFormat(order.join(\",\"))\r\n }\r\n\r\n const handlechangePageSize = (e: any) => {\r\n setPageSize(e.currentTarget.value);\r\n setPageNum(1);\r\n getPageSize(\"RelatedForm\" , e.currentTarget.value )\r\n getLetterListAsync()\r\n };\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else setPageNum(value);\r\n } else {\r\n\r\n }\r\n };\r\n\r\n const HandleNextPage = () => {\r\n if (pageNum < pages) setPageNum((pageNum) => { return +pageNum + 1 });\r\n };\r\n const HandlePrevPage = () => {\r\n if (pageNum > 1) setPageNum((pageNum) => { return +pageNum - 1 });\r\n };\r\n /* pagination area */\r\n const selectedRowCallback = (obj, index) => {\r\n setLetterId(obj?.Id);\r\n };\r\n async function getLetterListAsync(PageNum = pageNum) {\r\n setLoading(false);\r\n setResponse(null);\r\n let pageSizeChangedByUser = getPageSize(\"RelatedForm\" )\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const res = await getChooseRelatedList (PageNum, pageSizeChangedByUser ,search ,orderBy.length == 0 ?null: orderBy.join(\",\"),letter,filterlist);\r\n setResponse(res.Data);\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) ;\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n setLetterId(null);\r\n\r\n if (str === \"\") {\r\n setSearchString(null)\r\n getLetterListAsync(1)\r\n \r\n } else {\r\n setSearchString(str)\r\n getLetterListAsync(1)\r\n }\r\n }\r\n useEffect(() => {\r\n setResponse([])\r\n getLetterListAsync();\r\n }, [ reload, forceUpdate,pageNum, searchString, orderFormat ,flgWithAttachments,orderBy ]);\r\n\r\n /* #region manage server data */\r\n //with pagination \r\n if (response && response?.Data?.length > 0) {\r\n keys = Object.keys(response?.Data[0]);\r\n cartable = response?.Data\r\n } else if (response && response?.Data?.length == 0) {\r\n keys = [];\r\n cartable = [];\r\n }\r\n /* #endregion */\r\n\r\n\r\n\r\n\r\n return (\r\n <> \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {loading ?\r\n (cartable.length > 0 && keys ?\r\n { }}\r\n multiSelect={true}\r\n parentName={\"RelatedForm\" }\r\n theadData={keys}\r\n tbodyData={cartable}\r\n startIndex={3}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedRowCallback}\r\n totalRecords={response?.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={HandleNextPage}\r\n HandlePrevPage={HandlePrevPage}\r\n handlechangePageSize={handlechangePageSize}\r\n first={() => {getLetterListAsync(pages);setPageNum(pages)}}\r\n end={() => {getLetterListAsync(1);setPageNum(1)}}\r\n handleGoPage={handleGoPage}\r\n />\r\n : )\r\n : \r\n }\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n )\r\n}","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\n\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm, UserContext } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { getRelatedList } from \"pages/Secretariats/LettersPage/api/api\";\r\nimport { downloadCSV, trans } from \"utils/helpers\";\r\nimport { RelatedForm } from \"./component/RelatedForm\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface LetterRelatedPropsType {\r\n onHide?: () => void;\r\n getRelatedLetters: (data) => void;\r\n letterId:string;\r\n mode:any;\r\n inTab:any;\r\n}\r\n\r\nexport const LetterRelated = ({getRelatedLetters ,letterId ,mode,inTab }:LetterRelatedPropsType) => {\r\n\r\n\r\n let [response, setResponse] = useState(null);\r\n const [LetterRelatedId, setLetterRelatedId] = useState(null);\r\n const [Total_records, setTotal_records] = useState();\r\n const [relatedmode, setRelatedMode] = useState();\r\n const [orderFormat, setOrderFormat] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [showrelated, setShowrelated] = useState(false);\r\n const [catchMessage, setCatchMessage] = useState({type:\"info\",msg:\"NoDataForPreview\"});\r\n const [relatedlist, setRelatedlist] = useState([]);\r\n const [selectList , setSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n\r\n const [userMadeChanges, setUserMadeChanges] = useContext(UserContext);\r\n\r\n /* pagination area*/\r\n\r\n\r\n const addLettertoList = (newList) => {\r\n setLoading(false)\r\n \r\n setRelatedlist([...relatedlist ,...newList ])\r\n \r\n let List:any =[] ;\r\n [...relatedlist ,...newList ].forEach(item=>{\r\n if( item.Id !=GUID_EMPTY){\r\n List.push(\r\n {\r\n LetterRelatedId : item.Id ,\r\n LetterRelationType : item.LetterRelationTypeEnum,\r\n \r\n }\r\n )\r\n }\r\n })\r\n setTotal_records(List.length)\r\n getRelatedLetters(List)\r\n setLoading(true)\r\n\r\n\r\n }\r\n\r\n const getWithOrder = (order: string[]) => {\r\n setOrderFormat(order.join(\",\"))\r\n }\r\n\r\n\r\n\r\n const selectedRowCallback = (obj, index) => {\r\n setLetterRelatedId(obj?.Id);\r\n };\r\n const selectListCallBack =(list)=>{\r\n \r\n setSelectList(list[1])\r\n }\r\n const handleRemove =()=>{\r\n setLoading(false)\r\n let removeListId=selectList.map(item=>{return item.Id})\r\n let newList:any = []\r\n let list:any = []\r\n relatedlist.map(item=>{\r\n if(!removeListId.includes(item.Id)){\r\n newList.push(item)\r\n list.push( {\r\n LetterRelatedId : item.Id ,\r\n LetterRelationType : item.LetterRelationTypeEnum,\r\n \r\n })\r\n }\r\n })\r\n setResetMultiSelect(!resetMultiSelect)\r\n setSelectList([])\r\n setRelatedlist(newList)\r\n setTotal_records(newList.length)\r\n getRelatedLetters(list)\r\n setLoading(true)\r\n\r\n \r\n \r\n }\r\n\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"finish\": alert(\"call api finish \" + letterId); break;\r\n case \"current\": alert(\"call api current \" + letterId); break;\r\n case \"archive\": alert(\"call api archive \" + letterId); break;\r\n case \"view\": if (LetterRelatedId) { setRelatedMode(\"view\"); } else { Toast(trans(\"Msg_SelectRow\"), MessageType.warning) } break;\r\n case \"print\": alert(\"print \");break;\r\n case \"remove\":if(selectList.length >0){Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete, handleRemove)}else{Toast(\"Msg_SelectRow\" ,MessageType.warning)} ;break;\r\n case \"excel\":downloadCSV(relatedlist ,2 ,trans(\"LetterRelated\"));break;\r\n case \"related\": setRelatedMode(\"create\") ; setShowrelated(true); break;\r\n }\r\n };\r\n\r\n async function getRelatedlistAsync(letterId) {\r\n setLoading(false)\r\n\r\n try { \r\n const res = await getRelatedList(1, 20, letterId);\r\n setTotal_records(res.Data.Total_records)\r\n addLettertoList(res.Data.Data)\r\n setCatchMessage({type:\"info\",msg:\"NoDataForPreview\"})\r\n } catch (error:any) {\r\n setCatchMessage({type:\"error\" , msg:error?.response?.data?.Message})\r\n }\r\n setLoading(true)\r\n }\r\n useEffect(() => {\r\n setResponse([])\r\n if((letterId && mode==\"view\" && inTab ==\"LetterRelated\" )||(letterId && mode==\"edit\"&& inTab ==\"LetterRelated\" )){\r\n if(relatedlist.length ==0){\r\n getRelatedlistAsync(letterId)\r\n }\r\n }else{\r\n if(inTab ==\"LetterRelated\"){\r\n setLoading(true)\r\n }\r\n }\r\n }, [letterId ,inTab]);\r\n\r\n\r\n return (\r\n\r\n <>{inTab == \"LetterRelated\" &&\r\n
\r\n {mode != \"view\" && \r\n \r\n }\r\n {loading ?\r\n
\r\n
\r\n
\r\n {\r\n (relatedlist.length > 0 ?\r\n { }}\r\n orderFormat={getWithOrder}\r\n multiSelect={true}\r\n selectList={selectListCallBack}\r\n resetMultiSelect={resetMultiSelect}\r\n parentName={\"LetterRelated\" }\r\n startIndex={2}\r\n theadData={Object.keys(relatedlist[0])}\r\n scrollHeight={\"350px\"}\r\n tbodyData={relatedlist}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedRowCallback}\r\n totalRecords={Total_records}\r\n />\r\n : )\r\n }\r\n
\r\n
\r\n
\r\n : \r\n }\r\n {showrelated &&\r\n setShowrelated(false)} show={showrelated}>\r\n { setUserMadeChanges(true) ;addLettertoList(e)}} onHide={() => setShowrelated(false)} />\r\n \r\n }\r\n
\r\n }\r\n \r\n )\r\n}","import { InputHTMLAttributes, useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\n\r\n\r\ninterface KeyWordProp extends InputHTMLAttributes {\r\n setKeyWords: (list) => void;\r\n label?: string;\r\n name: string;\r\n value?: any;\r\n mode?: any;\r\n keyWords?: any;\r\n required?: boolean;\r\n Change?: (e) => void;\r\n recordedData?: any;\r\n\r\n \r\n}\r\nexport const KeyWord = ({ setKeyWords,Change, label=\"keywords\", name, value,keyWords, mode ,required,recordedData=[] }: KeyWordProp) => {\r\n \r\n const [resetForm, setResetForm] = useState(false);\r\n const [change, setChange] = useState(false);\r\n const [selectedItem, setSelectedItem] = useState(keyWords ?keyWords : []);\r\n\r\n\r\n function addOption(e) {\r\n e.stopPropagation()\r\n e.preventDefault()\r\n let event:any = document.getElementById(\"KeyWordForm\")\r\n if(event[\"Keyword\"].value.length > 0) {\r\n setSelectedItem(selectedItem.concat([event[\"Keyword\"].value])) \r\n setKeyWords(selectedItem.concat([event[\"Keyword\"].value])) \r\n setResetForm(true)\r\n setChange(false)\r\n }\r\n }\r\n function DelOption(e) {\r\n let list:any=[] \r\n selectedItem.forEach(item => {\r\n if(item != e){\r\n list.push(item)\r\n }\r\n }); \r\n setSelectedItem(list) \r\n setKeyWords(list) \r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n if(resetForm){\r\n setResetForm(false)\r\n }\r\n \r\n }, [resetForm]);\r\n \r\n useEffect(() => {\r\n if(keyWords && recordedData){\r\n setSelectedItem(keyWords)\r\n if(recordedData.length == selectedItem.length){\r\n let flag = true\r\n recordedData.forEach(element => {\r\n if(!selectedItem.includes(element))\r\n flag=false \r\n });\r\n !flag? Change&&Change({[name] :selectedItem}):Change&&Change({[name] :null});\r\n }else{\r\n Change&&Change({[name] :selectedItem})\r\n }\r\n }\r\n }, [keyWords]);\r\n return (\r\n <>\r\n <>\r\n { \r\n mode != \"view\" ? \r\n
\r\n
\r\n {}} />\r\n\r\n \r\n
\r\n
1 ?\"4px\" :\"-7px\" , width:\"10%\"}}>\r\n } btnType=\"submit\" onClick={addOption} />\r\n
\r\n
\r\n :\r\n \r\n\r\n\r\n\r\n }\r\n {\r\n mode !== \"view\" &&\r\n
\r\n { selectedItem.map((item, index) => (\r\n item.length >0 &&\r\n
\r\n {item}\r\n
DelOption(item)} >\r\n \r\n
\r\n\r\n \r\n
\r\n ))}\r\n
\r\n\r\n }\r\n \r\n \r\n );\r\n};\r\n","import { useEffect, useState, useRef } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getLetterSubjectApi } from \"./api\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\ninterface LetterSubjectPropsType {\r\n label?: string,\r\n hasBorder?: boolean,\r\n required?: boolean,\r\n value?:string,\r\n name:any,\r\n mode?:string,\r\n resetForm?:any,\r\n Change?: (e) => void,\r\n setLetterSubject?: (e) => void,\r\n}\r\n\r\nexport const LetterSubject = ({ label, name,hasBorder,value,mode ,required , resetForm ,Change , setLetterSubject}: LetterSubjectPropsType) => {\r\n const [LetterSubjectsList, setLetterSubjectsList] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag , setFlag] = useState(false);\r\n const [show , setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [rquird , setRquird] = useState(false);\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const LetterSubjectRef = useRef(LetterSubjectsList);\r\n const validRef = useRef(false);\r\n const countRef = useRef(0)\r\n\r\n let optionList :any = []\r\n\r\n\r\n async function getLetterSubjectListAsync(search,id) {\r\n try{\r\n const res = await getLetterSubjectApi(search,id);\r\n if (id){\r\n setValeu(res[id] , id)\r\n setValueName(res[id])\r\n }\r\n setLetterSubjectsList({ ...res }) \r\n LetterSubjectRef.current = { ...res }\r\n setFlag(!flag)\r\n }catch(err:any){\r\n \r\n }\r\n }\r\n \r\n const Auto = (e)=>{\r\n validRef.current = false\r\n setValidat(false)\r\n setRquird(false)\r\n setShow(true)\r\n getLetterSubjectListAsync(e.target.value,\"\")\r\n setFlag(!flag)\r\n }\r\n\r\n function userSelecter(){\r\n setValeu(optionList[countRef.current],Object.keys(LetterSubjectsList)[countRef.current])\r\n setShow(false)\r\n }\r\n const kydown = (event) => { \r\n if(document.activeElement?.id.includes(\"browser\"+name)){\r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < optionList.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = optionList.length-1;\r\n }\r\n }\r\n document.getElementById(\"LetterSubjectsListIndex\"+countRef.current)?.scrollIntoView({block:'end',behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n if(event.key === \"Enter\" ){\r\n userSelecter()\r\n }\r\n\r\n }\r\n }\r\n \r\n\r\n\r\n\r\n\r\n const setValeu = (newValue , id)=>{\r\n \r\n validRef.current = true\r\n inputRef.current.value=newValue;\r\n LetterSubjectRef.current = null;\r\n ((value==null &&id)|| id != value) ? Change&&Change({[name] :newValue}):Change&&Change({[name]:null});\r\n \r\n setLetterSubjectsList(null)\r\n setFlag(!flag)\r\n inputRef.current.setCustomValidity(\"\")\r\n setLetterSubject && setLetterSubject(inputRef.current.value)\r\n setValidat(false)\r\n \r\n }\r\n\r\n\r\n useEffect(() =>{\r\n if(show ){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n \r\n } \r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n \r\n \r\n },[show ,optionList])\r\n \r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) { \r\n setShow(false);\r\n }\r\n }\r\n \r\n\r\n if(LetterSubjectsList){\r\n optionList = Object.values(LetterSubjectsList)\r\n }\r\n return (\r\n <>\r\n
\r\n \r\n {trans(label ? label :\"ChooseLetterSubject\")}\r\n \r\n }\r\n >\r\n
\r\n {label ? (\r\n
\r\n \r\n {required ? * : \"\"}\r\n
\r\n ) : null}\r\n
\r\n \r\n\r\n {setShow(true);Auto(e)}} ref={inputRef} list=\"LetterSubjectList\" className=\"text-box__box form-control \" id={\"browser\"+name} onMouseDown={(e)=>e.stopPropagation() } onChange={Auto} disabled={mode ==\"view\" ? true : false} />\r\n {/*
Test
*/}\r\n {\r\n show && \r\n
\r\n {optionList && optionList.map((item , index)=>{\r\n return
{setValeu(item,Object.keys(LetterSubjectsList)[index])}} key={Object.keys(LetterSubjectsList)[index]} >{item}
\r\n })} \r\n
\r\n } \r\n
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n {required && {trans(\"Msg_Validation_ValueIsRequired\", [\"\"])}}\r\n
\r\n
\r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getLetterSubjectApi = (async (searchString, id) => await http({\r\n url: ENDPOINTS.secretariat.letterSubject.dictionary,\r\n method: 'get',\r\n params:{\r\n searchString:searchString\r\n }\r\n\r\n})\r\n .then((respons) => (respons.data.Data))\r\n)\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\nexport const getReceiverPositionDictionaryApi = (async (id) => await http({\r\n url: ENDPOINTS.secretariat.letterReceiver.dictionaryId,\r\n method: 'get',\r\n params: {\r\n receiverId: id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)\r\nexport const getReceiverPositionDictionaryListApi = (async (search,id) => await http({\r\n url: ENDPOINTS.secretariat.letterReceiver.dictionary,\r\n method: 'get',\r\n params: {\r\n searchString:search\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)","import { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getReceiverPositionDictionaryApi, getReceiverPositionDictionaryListApi } from \"./api\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\ninterface ReceiverPositionPropsType {\r\n label?: string,\r\n valueString?: string,\r\n hasBorder?: boolean,\r\n resetForm?: boolean,\r\n required?: boolean,\r\n returnObj?: boolean,\r\n allowType?: boolean,\r\n value?: string,\r\n mode?: string,\r\n name: string,\r\n Change?: (e) => void,\r\n onChange?: (e) => void,\r\n}\r\n\r\nexport const ReceiverPosition = ({valueString, label, hasBorder, value, mode,returnObj=false ,allowType,resetForm,required , name=\"\", Change ,onChange}: ReceiverPositionPropsType) => {\r\n const [ReceiverPosition, setReceiverPositions] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag, setFlag] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [rquird , setRquird] = useState(false);\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const [disabled, setDisabled] = useState(mode == \"view\" ? true : false);\r\n const countRef = useRef(0)\r\n const [allowTyping , setAllowTyping] = useState(valueString&& allowType );\r\n\r\n let options_PostLevel_keys, options_PostLevel_values;\r\n\r\n\r\n async function getReceiverPositionListAsync(search?, id?) {\r\n try {\r\n if (id) {\r\n const res2 = await getReceiverPositionDictionaryApi( id);\r\n if(Object.values(res2.Data)[0] && Object.values(res2.Data)[0] != undefined){\r\n\r\n setValeu( Object.values(res2.Data)[0], Object.keys(res2.Data)[0])\r\n setValueName( Object.values(res2.Data)[0])\r\n if(!returnObj)\r\n onChange && onChange(Object.values(res2.Data)[0])\r\n else\r\n onChange && onChange({Id: Object.keys(res2.Data)[0] , Name:Object.values(res2.Data)[0]})\r\n }else{\r\n \r\n }\r\n } else {\r\n const res = await getReceiverPositionDictionaryListApi(search, id);\r\n setReceiverPositions(res.Data)\r\n options_PostLevel_values = Object.values(res.Data)\r\n options_PostLevel_keys = Object.keys(res.Data)\r\n setShow(true)\r\n }\r\n setFlag(!flag)\r\n } catch (err: any) {\r\n\r\n }\r\n }\r\n\r\n const Auto = (e) => {\r\n setValidat(false)\r\n setRquird(false)\r\n setShow(true)\r\n Change && Change(true)\r\n getReceiverPositionListAsync(e.target.value, \"\")\r\n setFlag(!flag)\r\n\r\n }\r\n function userSelecter(){\r\n setValeu(options_PostLevel_values[countRef.current],options_PostLevel_keys[countRef.current])\r\n // setValeu(options_PostLevel_values[countRef.current],Object.keys(options_PostLevel_keys)[countRef.current])\r\n\r\n setShow(false)\r\n }\r\n const kydown = (event) => { \r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < options_PostLevel_values.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = options_PostLevel_values.length-1;\r\n }\r\n }\r\n document.getElementById(\"ReceiverPositionIndex\"+countRef.current)?.scrollIntoView({block:'end',behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n \r\n }\r\n \r\n const CheckReceiverPosition =async (e)=>{\r\n setTimeout(async() => {\r\n \r\n if(e.target.value.length == 0&& inputRef.current?.value?.length == 0 && e.target.value==\"\"){\r\n inputIdRef.current.value = null\r\n if(required)\r\n setRquird(true)\r\n }else{\r\n setRquird(false)\r\n try{\r\n const res = await getReceiverPositionDictionaryListApi(e.target.value,\"\")\r\n if(Object.keys(res.Data).length==0){\r\n setValidat(true)\r\n }\r\n if(Object.keys(res.Data).length == 1){\r\n setValeu(Object.values(res.Data)[0] , Object.keys(res.Data)[0] )\r\n }\r\n\r\n }catch(err:any){\r\n setValidat(true)\r\n }\r\n }\r\n }, 200);\r\n await delay(200)\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n }\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n\r\n\r\n\r\n\r\n\r\n const setValeu = (value, id) => {\r\n if(inputIdRef != null && inputIdRef.current != null){\r\n\r\n setRquird(false)\r\n inputRef.current.value = value\r\n inputIdRef.current.value = id\r\n setReceiverPositions(null)\r\n\r\n if(!returnObj)\r\n onChange && onChange(value)\r\n else\r\n onChange && onChange({Id:id , Name:value})\r\n\r\n setFlag(!flag)\r\n\r\n }\r\n}\r\n useEffect(() => {\r\n if (value) {\r\n getReceiverPositionListAsync(null, value)\r\n\r\n }else if(valueString&&allowType){\r\n onChange && onChange({Id:\" \" , Name:valueString})\r\n }\r\n }, [value ,resetForm,valueString]);\r\n\r\n useEffect(() => {\r\n setDisabled(mode == \"view\" ? true : false)\r\n \r\n }, [mode]);\r\n\r\n\r\n if (ReceiverPosition) options_PostLevel_values = Object.values(ReceiverPosition).map(item => {\r\n return item\r\n })\r\n if (ReceiverPosition) options_PostLevel_keys = Object.keys(ReceiverPosition).map(item => {\r\n return item\r\n })\r\n\r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) {\r\n setShow(false);\r\n }\r\n }\r\n\r\n useEffect(() =>{\r\n if(show){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n\r\n } \r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n\r\n \r\n },[show ,options_PostLevel_values])\r\n return (\r\n <>\r\n
\r\n \r\n {required && *}\r\n {(allowType&&mode!=\"view\")&&\r\n <>\r\n {\r\n allowTyping ?\r\n {setAllowTyping(false)}} style={{marginRight:\"5px\"}} icon={[\"fas\", \"magnifying-glass\"]} className=\"text-primary pr-2\"/>\r\n :\r\n {setAllowTyping(true)}} style={{marginRight:\"5px\"}} icon={[\"fas\", \"magnifying-glass-minus\"]} className=\"text-danger pr-2\"/>\r\n\r\n }\r\n \r\n }\r\n \r\n {(!allowTyping||!allowType)?\r\n <>\r\n {e.stopPropagation(); Auto(e) }} onFocus={() => {getReceiverPositionListAsync(!allowTyping ? valueName:null); setShow(true) }} ref={inputRef} list=\"ReceiverPositionList\" name=\"browser\" className={\"text-box__box form-control\" + \" browser\"+name} type={'text'} id={\"browser\"+name} onChange={Auto} disabled={disabled} />\r\n {\r\n show &&\r\n
\r\n {options_PostLevel_values && options_PostLevel_values.map((item, index) => {\r\n return
{ setValeu(item, options_PostLevel_keys[index]) }} key={options_PostLevel_keys[index]} >{item}
\r\n })}\r\n
\r\n }\r\n \r\n :\r\n {onChange&&onChange( {Id:\" \" , Name:e.target.value});inputIdRef.current.value = e.target.value }} onChange={(e)=>{setValueName(e.target.value)}} ref={inputRef} name=\"browser\" className={\"text-box__box form-control\" + \" browser\"+name} type={'text'} id={\"browser\"+name} disabled={disabled} />\r\n }\r\n \r\n
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n {required && {trans(\"Msg_Validation_ValueIsRequired\", [\"\"])}}\r\n
\r\n \r\n
\r\n \r\n )\r\n}","import { useEffect, useState, useRef } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\ninterface SubMenuPropsType {\r\n options?: any,\r\n onClick: (value, key) => void,\r\n onHide: () => void,\r\n}\r\n\r\nexport const SubMenu = ({ options , onClick ,onHide}: SubMenuPropsType) => {\r\n const [activeId , setactiveId] = useState();\r\n const SubMenuRef = useRef(options);\r\n const activeIdRef = useRef(activeId);\r\n let options_PostLevel_keys:any = [] \r\n let options_PostLevel_values:any =[] ;\r\n\r\n\r\n\r\n\r\n\r\n const keydown = (event) => {\r\n event.stopPropagation()\r\n if (event.key == \"ArrowDown\") {\r\n if(activeId==null &&activeIdRef.current==null ){\r\n setactiveId(0)\r\n activeIdRef.current = 0\r\n }else{\r\n activeIdRef.current +=1\r\n if(SubMenuRef.current && document.getElementById(Object.keys(SubMenuRef.current)[activeIdRef.current])){\r\n document.getElementById(Object.keys(SubMenuRef.current)[activeIdRef.current])?.scrollIntoView({behavior:\"smooth\"})\r\n setactiveId(activeIdRef.current )\r\n\r\n }\r\n }\r\n\r\n }else if(event.key == \"ArrowUp\"){\r\n event.stopPropagation()\r\n if(activeId==null &&activeIdRef.current==null ){\r\n setactiveId(0)\r\n activeIdRef.current = 0\r\n }else{\r\n activeIdRef.current -=1\r\n if(SubMenuRef.current && document.getElementById(Object.keys(SubMenuRef.current)[activeIdRef.current])){\r\n document.getElementById(Object.keys(SubMenuRef.current)[activeIdRef.current])?.scrollIntoView({behavior:\"smooth\"})\r\n setactiveId(activeIdRef.current )\r\n }\r\n }\r\n\r\n\r\n }else if(event.key == \"Enter\"){\r\n event.stopPropagation()\r\n if(activeId==null &&activeIdRef.current==null ){\r\n\r\n }else{\r\n if(SubMenuRef.current && document.getElementById(Object.keys(SubMenuRef.current)[activeIdRef.current])){\r\n onClick(Object.values(SubMenuRef.current)[activeIdRef.current],Object.keys(SubMenuRef.current)[activeIdRef.current])\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n }\r\n useEffect(() => {\r\n document.addEventListener('keydown', keydown );\r\n return () => { document.removeEventListener(\"keydown\", keydown ); }\r\n \r\n }, [])\r\n useEffect(() => {\r\n SubMenuRef.current = options\r\n \r\n }, [options])\r\n\r\n\r\n if(options){\r\n options_PostLevel_values = Object.values(options)\r\n options_PostLevel_keys = Object.keys(options)\r\n }\r\n \r\n return (\r\n <>\r\n {options && \r\n
\r\n {options && options_PostLevel_values.map((item , index)=>{\r\n\r\n return
{onClick(item,options_PostLevel_keys[index])}} key={options_PostLevel_keys[index]} >{item}
\r\n })} \r\n
\r\n \r\n }\r\n \r\n )\r\n}","import { useEffect, useState, useRef } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getIndicatorNoDictionaryApi } from \"./api\";\r\nimport { setTimeout } from \"timers\";\r\nimport { SubMenu } from \"pages/SystemManagement/Jobs/components/SpecialReference/components/SubMenu/SubMenu\";\r\ninterface IndicatorNoDictionaryPropsType {\r\n label?: string,\r\n letterType?: any,\r\n hasBorder?: boolean,\r\n required?: boolean,\r\n value?:string,\r\n secretariatId?:string,\r\n mode?:string\r\n resetForm?:any,\r\n defaultObj?:any,\r\n Change?: (e) => void,\r\n setIndicatorNoDictionary?: (e) => void,\r\n}\r\n\r\nexport const IndicatorNoDictionary = ({ defaultObj , letterType ,secretariatId,value,mode ,required ,Change , setIndicatorNoDictionary}: IndicatorNoDictionaryPropsType) => {\r\n const [IndicatorNoDictionary, setIndicatorNoDictionarys] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag , setFlag] = useState(false);\r\n const [show , setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [rquird , setRquird] = useState(false);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const IndicatorNoDictionaryRef = useRef(IndicatorNoDictionary);\r\n const ShowRef = useRef(show);\r\n const validRef = useRef(false);\r\n \r\n\r\n async function getIndicatorNoDictionaryListAsync(search,id) {\r\n try{\r\n const res = await getIndicatorNoDictionaryApi(letterType,secretariatId ,search)\r\n if(id){\r\n setValueName(res.Data[id])\r\n }else{\r\n setIndicatorNoDictionarys({...defaultObj ,...res.Data}) \r\n IndicatorNoDictionaryRef.current = {...defaultObj ,...res.Data}\r\n }\r\n if(Object.keys(res.Data).length ==0){ \r\n setValeu(Object.values(defaultObj)[0] , Object.keys(defaultObj)[0] )\r\n }\r\n setFlag(!flag) \r\n }catch(err:any){\r\n }\r\n }\r\n \r\n const Auto = (e)=>{\r\n validRef.current = false\r\n setValidat(false)\r\n setRquird(false)\r\n getIndicatorNoDictionaryListAsync(e.target.value,\"\")\r\n setFlag(!flag)\r\n\r\n }\r\n const CheckIndicatorNoDictionary =async (e)=>{\r\n setTimeout(() => {\r\n if(!validRef.current){\r\n e.target.setCustomValidity(trans(\"Msg_Validation_ValueIsIncorrect\"));\r\n setValidat(true)\r\n setIndicatorNoDictionary && setIndicatorNoDictionary(null)\r\n e.target.reportValidity();\r\n }\r\n }, 200);\r\n }\r\n\r\n const setValeu = (value , id, checkChange = true)=>{\r\n if(inputIdRef != null && inputIdRef.current != null){\r\n validRef.current = true;\r\n inputRef.current.value=value;\r\n inputIdRef.current.value=id;\r\n IndicatorNoDictionaryRef.current = null;\r\n if(checkChange){\r\n value !=\"\" ? Change&&Change({\"secretariatNo\" :value}):Change&&Change({\"secretariatNo\" :null});\r\n }\r\n if(mode != \"view\"){\r\n setIndicatorNoDictionarys(null)\r\n setFlag(!flag)\r\n inputRef.current.setCustomValidity(\"\")\r\n setValidat(false)\r\n setIndicatorNoDictionary && setIndicatorNoDictionary({Value : inputRef.current.value , Id : id})\r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n if(value){\r\n getIndicatorNoDictionaryListAsync(null,value)\r\n }else if(value == null){\r\n setValueName(null)\r\n }\r\n }, [value]);\r\n useEffect(() => {\r\n if(defaultObj ){\r\n setValeu(Object.values(defaultObj)[0] , Object.keys(defaultObj)[0] ,false )\r\n }else if(value == null){\r\n setValueName(null)\r\n }\r\n }, [defaultObj ]);\r\n\r\n useEffect(() =>{\r\n if(show ){\r\n document.body.addEventListener(\"click\", clickToclose)\r\n } \r\n return () => { document.body.removeEventListener('click', clickToclose) }\r\n },[show ])\r\n \r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browserIndicatorNo\");\r\n if (e.target.id !== input?.id) { \r\n setShow(false);\r\n }\r\n }\r\n return (\r\n <>\r\n
\r\n \r\n {required && *}\r\n \r\n { ShowRef.current = true ; setShow(true);}} ref={inputRef} list=\"IndicatorNoDictionaryList\" name=\"browser\" className=\"text-box__box form-control \" id={\"browserIndicatorNo\"} onMouseDown={(e)=>e.stopPropagation() } onChange={Auto} disabled={mode ==\"view\" ? true : false} />\r\n {\r\n show && \r\n {setShow(false)}} />\r\n } \r\n
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n {required && {trans(\"Msg_Validation_ValueIsRequired\", [\"\"])}}\r\n
\r\n
\r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getIndicatorNoDictionaryApi = (async (letterType, secretariatId ,search) => await http({\r\n\r\n url: ENDPOINTS.secretariat.indicator.dictionaryReserved,\r\n method: 'get',\r\n params: {\r\n letterType: letterType,\r\n secretariatId: secretariatId,\r\n searchString:search\r\n }\r\n})\r\n .then((respons) => (respons.data))\r\n)\r\n","import DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document';\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { ButtonPrintIcon } from \"components/ButtonPrintIcon/ButtonPrintIcon\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { FileInput } from \"components/FileInput/FileInput\";\r\nimport { KeyWord } from \"components/KeyWord/KeyWord\";\r\nimport { LetterSubject } from \"components/LetterSubject/LetterSubject\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { ReceiverPosition } from \"components/ReceiverPosition/ReceiverPosition\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { addToIndicator, getDataForPrint, getLetter, getLetterByReferenceId, getSecretariatNo, loadAttachmentViewerBase64 } from \"pages/Secretariats/LettersPage/api/api\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { LetterType, MessageType } from \"types/enum\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { GetReportWithJsonData, trans } from \"utils/helpers\";\r\nimport { getSecretariat } from \"../../../ReserveForm/api\";\r\nimport { IndicatorNoDictionary } from \"./IndicatorNoDictionary/IndicatorNoDictionary\";\r\nimport { Fileviewer } from 'components/Fileviewer/Fileviewer';\r\nimport { EnumerationTypeSelect } from 'components/EnumerationTypeSelect/EnumerationTypeSelect';\r\nimport { DictionarySelectBox } from 'components/DictionaryTypeSelect/DictionaryTypeSelect';\r\nimport { ENDPOINTS } from 'utils/endpoints';\r\n\r\n\r\n\r\ninterface LetterInformationFormPropsType {\r\n onHide: () => void;\r\n getInformation: (data,image ,method ,Indicator ) => void;\r\n changeSecretariatId: (SecretariatId) => void;\r\n setReceiver: (receiver) => void;\r\n changeTab: (tabName) => void;\r\n setLetterId: (id) => void;\r\n letterId:string;\r\n mode:any;\r\n type:any;\r\n step?:any,\r\n receiver?:any,\r\n referenceId?:any,\r\n Id?:any,\r\n jobId?:any,\r\n inTab?:any,\r\n editInIndicator?:any,\r\n\r\n}\r\nexport const LetterInformationForm = ({\r\n onHide,\r\n getInformation,\r\n changeSecretariatId,\r\n setReceiver,\r\n changeTab,\r\n setLetterId,\r\n letterId ,\r\n type ,\r\n mode,\r\n receiver,\r\n step=2,\r\n referenceId,\r\n Id, \r\n jobId, \r\n inTab,\r\n editInIndicator,\r\n\r\n}:LetterInformationFormPropsType) => { \r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(mode===\"create\");\r\n const [letter, setLetter] = useState(null);\r\n const [response, setResponse] = useState(null);\r\n const [letterReceivers, setLetterReceivers] = useState(null);\r\n const [selectedImage, setSelectedImage] = useState();\r\n const [selectedImage64, setSelectedImage64] = useState();\r\n const formRef = useRef(null)\r\n const [RegisterTime, setRegisterTime] = useState();\r\n const [letterDate, setLetterDate] = useState();\r\n const [indicator, setIndicator] = useState();\r\n const [hasSendAttachment, setHasSendAttachment] = useState(false);\r\n const [secretariatId, setSecretariatId] = useState();\r\n const [secretariatNo, setSecretariatNo] = useState();\r\n const [showstep, setShowstep] = useState({3:true});\r\n const [keyWords, setKeyWords] = useState([]);\r\n const [indicatorNo, setIndicatorNo] = useState();\r\n const [singleIndicator, setSingleIndicator] = useState(null);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [letterTextMode,setLetterTextMode] = useState(true)\r\n const [editor, setEditor] = useState();\r\n const [editorData, setEditorData] = useState();\r\n const [htmlString, sethtmlString] = useState(null);\r\n const [showAloneAttach, setShowAloneAttach] = useState(false);\r\n const [load, setLoad] = useState();\r\n const [fileName, setFileName] = useState< any>();\r\n const svgRef = useRef(null);\r\n\r\n\r\n\r\n\r\n\r\n const MakehtmlPng = (e) => {\r\n let text ='

لورم ایپسوم متن ساختگی با تولید

 سادگی نامفهوم از صنعت چاپ، و با استفاده از طراحان گرافیک است، چاپگرها و متون بلکه روزنامه و مجله در ستون و سطرآنچنان که لازم است، و برای شرایط فعلی تکنولوژی مورد نیاز، و کاربردهای متنوع با هدف بهبود ابزارهای کاربردی می باشد، کتابهای زیادی در شصت و سه درصد گذشته حال و آینده، شناخت فراوان جامعه و متخصصان را می طلبد، تا با نرم افزارها شناخت بیشتری را برای طراحان رایانه ای علی الخصوص طراحان خلاقی، و فرهنگ پیشرو در زبان فارسی ایجاد کرد، در این صورت می توان امید داشت که تمام و دشواری موجود در ارائه راهکارها، و شرایط سخت تایپ به پایان رسد و زمان مورد نیاز شامل حروفچینی دستاوردهای اصلی، و جوابگوی سوالات پیوسته اهل دنیای موجود طراحی اساسا مورد استفاده قرار گیرد.

111111
234545345 
33455 345
4345345345345
534545 3455
6345345345
734534534535
934545345345
7345454

10

454
454
454
454
454
4545
454545
4545
4545
4545
444
111111
234545345 
33455 345
4345345345345
534545 3455
6345345345
734534534535
934545345345
7345454

10

454
454
454
454
454
4545
454545
4545
4545
4545
444
'\r\n // Generate the content for the Word document\r\n let htmlContent = text.replace(\"\",'
' )\r\n //sethtmlString(htmlContent)\r\n htmlContent = htmlContent.replaceAll(\"')\r\n\r\n setShowAloneAttach(true)\r\n return res\r\n\r\n } catch (error) {\r\n setLoad(\" \")\r\n return \" \"\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n\r\n const LetterSubmit = (event) => {\r\n event.preventDefault();\r\n if(!selectedImage&&mode==\"create\"&&type == \"Incoming\"){Toast(\"Msg_LetterAttachmentIsRequired\",MessageType.error); return false }\r\n setShowstep({1:false , 2:false,3:false})\r\n if (mode === \"create\" || letter == null ) { \r\n if(type !== \"Incoming\"){\r\n let Letter:any = {\r\n LetterType: +LetterType[type.trim()],\r\n LetterNo: event?.target?.LetterNo?.value,\r\n LetterSecurity: +event.target.LetterSecurity.value,\r\n LetterUrgency: +event.target.LetterUrgency.value,\r\n LetterSubject: event.target.LetterSubject.value,\r\n SenderPositionId: event.target.Sender.value.includes(\"-\") ? event.target.Sender.value : null,\r\n SenderDescription: event.target.Sender.value,\r\n LetterText: letterTextMode ? event.target.LetterText.value : editorData,\r\n }\r\n getInformation(Letter , selectedImage?.File ,\"post\",null)\r\n }else{\r\n let Letter:any = {\r\n LetterType: +LetterType[type.trim()],\r\n LetterSecurity: +event.target.LetterSecurity.value,\r\n LetterUrgency: +event.target.LetterUrgency.value,\r\n LetterSubject: event.target.LetterSubject.value,\r\n SenderPositionId: event.target.Sender.value.includes(\"-\") ? event.target.Sender.value : null,\r\n SenderDescription: event.target.Sender.value,\r\n LetterText: letterTextMode ? event.target.LetterText.value : editorData,\r\n LetterNo: event?.target?.LetterNo?.value,\r\n LetterDate: event?.target?.letterDate?.value ,\r\n\r\n }\r\n\r\n let Indicator:any={\r\n LetterType: +LetterType[type.trim()] ,\r\n SecretariatId: event.target.Secretariat.value,\r\n IndicatorStatic: `${indicatorNo.Value}`?.slice(0, -1*(indicatorNo.Id.length)),\r\n IndicatorSerial:+indicatorNo.Id,\r\n Description:event.target.Description.value,\r\n SendAttachmentDescription:event.target?.SendAttachmentDescription?.value ? event.target?.SendAttachmentDescription?.value : \"\",\r\n HasSendAttachment:event.target.HasSendAttachment.value == \"true\",\r\n Keywords:keyWords.join(\",\")\r\n \r\n }\r\n getInformation(Letter , selectedImage.File ,\"post\",Indicator)\r\n }\r\n }else{\r\n if(step ==2 || editInIndicator){\r\n if(indicator && indicator?.Id){\r\n let Indicator:any={\r\n Id : indicator.Id,\r\n LetterType : indicator.LetterType,\r\n Description:event.target.Description.value,\r\n SendAttachmentDescription:event.target.HasSendAttachment.value == \"true\" ? event.target.SendAttachmentDescription.value :\"\",\r\n HasSendAttachment:event.target.HasSendAttachment.value == \"true\",\r\n Keywords:keyWords?.join(\",\")\r\n }\r\n addToIndicatorAsync(Indicator , \"put\" )\r\n\r\n }else{\r\n let Indicator:any={\r\n letterId : letterId ,\r\n SecretariatId: event.target.Secretariat.value,\r\n IndicatorStatic: `${indicatorNo.Value}`?.slice(0, -1*(indicatorNo.Id.length)),\r\n IndicatorSerial:+indicatorNo.Id,\r\n LetterType: +LetterType[type.trim()] ,\r\n Description:event.target.Description.value,\r\n SendAttachmentDescription:event.target?.SendAttachmentDescription?.value,\r\n HasSendAttachment:event.target.HasSendAttachment.value == \"true\",\r\n Keywords:keyWords?.join(\",\")\r\n }\r\n addToIndicatorAsync(Indicator ,\"post\")\r\n }\r\n }else{\r\n\r\n if(type !== \"Incoming\"){\r\n\r\n let Letter:any = {\r\n Id : letterId ,\r\n LetterType: letter.LetterType,\r\n LetterNo: event?.target?.LetterNo?.value,\r\n LetterSecurity: +event.target.LetterSecurity.value,\r\n LetterUrgency: +event.target.LetterUrgency.value,\r\n LetterSubject: event.target.LetterSubject.value,\r\n SenderPositionId: event.target.Sender.value.includes(\"-\") ? event.target.Sender.value : null,\r\n SenderDescription: event.target.Sender.value,\r\n LetterText: letterTextMode ? event.target.LetterText.value : editorData,\r\n }\r\n getInformation(Letter , selectedImage.File ,\"put\",null)\r\n }else{\r\n let Letter:any = {\r\n Id : letterId ,\r\n LetterType: +LetterType[type.trim()],\r\n LetterSecurity: +event.target.LetterSecurity.value,\r\n LetterUrgency: +event.target.LetterUrgency.value,\r\n LetterSubject: event.target.LetterSubject.value,\r\n SenderPositionId: event.target.Sender.value.includes(\"-\") ? event.target.Sender.value : null,\r\n SenderDescription: event.target.Sender.value,\r\n LetterText: letterTextMode ? event.target.LetterText.value : editorData,\r\n LetterNo: event?.target?.LetterNo?.value,\r\n LetterDate: event?.target?.letterDate?.value ,\r\n }\r\n let Indicator:any={\r\n letterId : letterId ,\r\n SecretariatId: event.target.Secretariat.value,\r\n IndicatorStatic: indicator.IndicatorStatic,\r\n IndicatorSerial:indicator.IndicatorSerial,\r\n SendAttachmentDescription:indicator.SendAttachmentDescription,\r\n HasSendAttachment:indicator.HasSendAttachment,\r\n LetterType: indicator.LetterType ,\r\n Id:indicator.Id,\r\n RegisterTime:RegisterTime,\r\n Description:event.target.Description.value,\r\n Keywords:keyWords.join(\",\")\r\n }\r\n getInformation(Letter , selectedImage.File ,\"put\",Indicator)\r\n }\r\n }\r\n }\r\n}\r\n\r\nconst changeHandlePic = (e: any) => {\r\n if (e.target.files && e.target.files.length > 0) {\r\n getBase64([...e.target.files][0])\r\n setSelectedImage({Url: URL.createObjectURL([...e.target.files][0] ) ,File:[...e.target.files][0]});\r\n }\r\n};\r\n\r\nasync function getLetterAsync(id) {\r\n setLoading(false)\r\n try {\r\n const res = await getLetter(id); \r\n setResponse(res.Data)\r\n setLetterTextMode(!res.Data.Letter.LetterText.includes(\"<\"))\r\n \r\n setEditorData(res.Data.Letter.LetterText)\r\n setLetter(res.Data.Letter)\r\n setLetterId(res.Data.Letter.Id)\r\n setIndicator(res.Data.Indicator)\r\n setHasSendAttachment(res.Data.Indicator.HasSendAttachment)\r\n setKeyWords(res.Data?.Indicator?.Keywords?res.Data?.Indicator?.Keywords.split(\",\"):[])\r\n setLetterDate(res.Data.Letter.LetterDate)\r\n if(res.Data.LetterReceivers){\r\n if(res.Data.LetterReceivers[0].PositionId ){\r\n \r\n setLetterReceivers(res.Data.LetterReceivers[0].PositionId )\r\n }else if(res.Data.LetterReceivers.GroupPositionId ){\r\n \r\n setLetterReceivers(res.Data.LetterReceivers[0].GroupPositionId )\r\n }\r\n }\r\n if(editInIndicator){\r\n setShowstep({1:true , 2:false})\r\n }\r\n \r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n}\r\nasync function getLetterByReferenceIdAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getLetterByReferenceId(referenceId); \r\n setResponse(res.Data)\r\n \r\n setLetterTextMode(!res.Data.Letter.LetterText.includes(\"<\"))\r\n setEditorData(res.Data.Letter.LetterText)\r\n \r\n setLetter(res.Data.Letter)\r\n setLetterId(res.Data.Letter.Id)\r\n setKeyWords(res.Data?.Indicator?.Keywords?res.Data?.Indicator?.Keywords?.split(\",\"):[])\r\n setLetterDate(res.Data.Letter.LetterDate)\r\n setIndicator(res.Data?.Indicator)\r\n setHasSendAttachment(res.Data?.Indicator?.HasSendAttachment)\r\n if(res.Data.Letter.LetterType == LetterType.Incoming&&res.Data.LetterDefaultAttachmentId){\r\n \r\n loadAttachmentViewerAsync(res.Data.LetterDefaultAttachmentId)\r\n }\r\n\r\n if((res.Data.Indicator==null) && (!res.Data?.Indicator?.Id) && mode==\"edit\"){\r\n if(step==1){\r\n setShowstep({1:false , 2:true})\r\n \r\n }else{\r\n setShowstep({1:false , 2:false})\r\n }\r\n }\r\n if(res.Data.LetterReceivers){\r\n if(res.Data.LetterReceivers[0].PositionId ){\r\n setLetterReceivers(res.Data.LetterReceivers[0].PositionId )\r\n }else if(res.Data.LetterReceivers[0].GroupPositionId ){\r\n setLetterReceivers(res.Data.LetterReceivers[0].GroupPositionId )\r\n }\r\n }\r\n} catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n}\r\n\r\nfunction getBase64(file) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n setSelectedImage64(reader.result)\r\n };\r\n reader.onerror = function (error) {\r\n };\r\n}\r\n\r\nasync function getSecretariatNoAsync(letterId) {\r\n try {\r\n const res = await getSecretariatNo(letterId ,singleIndicator ? 0 : LetterType[type.trim()]); \r\n setSecretariatNo(res.data ) \r\n } catch (error) {\r\n \r\n }\r\n}\r\nasync function addToIndicatorAsync(Indicator , method) {\r\n try {\r\n const res = await addToIndicator(Indicator ,method); \r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide()\r\n } catch (error) {\r\n \r\n }\r\n}\r\n\r\nasync function getSecretariatAsync(key,obj) {\r\n try {\r\n // const res = await getSecretariat(id ); \r\n setSingleIndicator(obj?.SingleIndicator)\r\n setSecretariatId(obj?.Id)\r\n } catch (error) {\r\n \r\n }\r\n}\r\n\r\nconst handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n};\r\nconst getDataForPrintAsync =async (id) => {\r\n\r\n if(indicator){\r\n const res = await getDataForPrint(letter?.Id)\r\n let printData:any={...res.Data}\r\n /* if(res.Data.LetterText.includes(\"<\")){\r\n let text = await MakehtmlPng(res.Data.LetterText)\r\n } */\r\n printData = {...res.Data , LetterText : MakehtmlPng(res.Data.LetterText) }\r\n if(id.includes(\"Design\")){\r\n GetReportWithJsonData( id.replace(\"Design\" , \"\"), printData ,2)\r\n sethtmlString(null)\r\n }else if(id.includes(\"Default\")){\r\n GetReportWithJsonData( id.replace(\"Default\" , \"\"),printData ,2)\r\n sethtmlString(null)\r\n \r\n }else{\r\n GetReportWithJsonData( id, printData ,1 )\r\n sethtmlString(null)\r\n \r\n }\r\n \r\n }\r\n try {\r\n\r\n } catch (error) {\r\n \r\n }\r\n};\r\n\r\n\r\n \r\n\r\n\r\nuseEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n}, [userChanges]);\r\n\r\nuseEffect( () => {\r\n if(Id&& mode != \"create\" && inTab === \"LetterForm\"){\r\n getLetterAsync(Id)\r\n\r\n }else if(referenceId&& mode !== \"create\" && inTab === \"LetterForm\"){\r\n getLetterByReferenceIdAsync()\r\n\r\n }\r\n if(step > 1 ||type === \"Incoming\" || (mode!=\"create\" &&indicator?.SecretariatId!= null )){\r\n\r\n\r\n }\r\n}, [Id ,referenceId, mode ,inTab]);\r\n\r\nuseEffect( () => {\r\n if(secretariatId ){\r\n getSecretariatNoAsync(secretariatId)\r\n }\r\n}, [secretariatId]);\r\n\r\n\r\n\r\n return (\r\n
\r\n {htmlString&&\r\n
\r\n }\r\n {showAloneAttach&&\r\n
\r\n {setShowAloneAttach(false);document.getElementById(\"backScreen\")?.remove()}} size=\"3x\" color='white' icon={['fas', 'times']} style={{zIndex:\"9999\" , cursor: 'pointer' , position:\"absolute\" }} />\r\n
\r\n \r\n
\r\n
\r\n \r\n } \r\n {loading ?\r\n
\r\n {(indicator&&indicator.Id&&letter.LetterType!=LetterType.Incoming)&&\r\n
\r\n {mode!=='create' && {getDataForPrintAsync(e)}} />}\r\n
\r\n \r\n }\r\n
{changeTab(\"LetterForm\")}} id=\"InformationForm\" onSubmit={LetterSubmit} className={\"conta iner \" +mode}>\r\n
1||type === \"Incoming\") && \"card\"}`}>\r\n \r\n {(step > 1||type === \"Incoming\" || (mode!=\"create\" &&indicator?.SecretariatId!= null )) &&\r\n
\r\n
{trans(\"step\")}-1
\r\n
{ showstep[1] ? setShowstep({ ...showstep, 1: false }) : setShowstep({ ...showstep, 1: true }) }} >{showstep[1] ? : }
\r\n
\r\n }\r\n
\r\n
\r\n {(type ||letter?.LetterType )&&\r\n
\r\n \r\n
\r\n }\r\n {type === \"Incoming\" && \r\n <>\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n lable='LetterDate'\r\n resetForm={resetForm}\r\n required={true}\r\n setIsoTime={(isoTime: string) => { setLetterDate(isoTime) }}\r\n val={letter?.LetterDate }\r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"LetterNo\"\r\n resetForm={resetForm}\r\n required={true}\r\n defaultValue={letter?.LetterNo ?letter?.LetterNo : \"\"}\r\n labelText=\"LetterNo\"\r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n
\r\n \r\n }\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={step > 1 ? \"view\" : mode}\r\n name=\"LetterSecurity\"\r\n value={letter?.LetterSecurity ?letter?.LetterSecurity : \"\"}\r\n enumTypeSelect='LetterSecurity'\r\n label='LetterSecurity'\r\n /> \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={step > 1 ? \"view\" : mode}\r\n name=\"LetterUrgency\"\r\n value={letter?.LetterUrgency ?letter?.LetterUrgency : \"\"}\r\n enumTypeSelect='LetterUrgency'\r\n label='LetterUrgency'\r\n /> \r\n
\r\n\r\n {type === \"Incoming\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n onchange={(checked,e)=>{ setReceiver({...receiver ,IsCopy:checked})} }\r\n defaultValue={1}\r\n type='checkbox'\r\n labelText='IsCopy'\r\n defaultChecked={ false}\r\n inputName='IsCopy'\r\n mode={mode}\r\n />\r\n
\r\n }\r\n \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n label={\"LetterSubject\"}\r\n mode={step > 1 ? \"view\" : mode}\r\n required={true}\r\n name=\"LetterSubject\"\r\n value={letter?.LetterSubject ?letter?.LetterSubject : \"\"}\r\n /> \r\n
\r\n\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={type != \"Incoming\"}\r\n label=\"Sender\"\r\n name=\"Sender\"\r\n returnObj={true}\r\n resetForm={resetForm}\r\n valueString={letter?.SenderPositionId?null :letter?.SenderDescription }\r\n\r\n value={ letter?.SenderPositionId ?letter?.SenderPositionId : \"\" }\r\n mode={step > 1 ? \"view\" : mode}\r\n /> \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={type != \"Incoming\"}\r\n returnObj={true}\r\n onChange={(e)=>{ setReceiver({...receiver,Id:e.Id ,Name:e.Name })} }\r\n label=\"Addressee\"\r\n name=\"Receiver\"\r\n resetForm={resetForm}\r\n valueString={letterReceivers?null :response?.LetterReceivers?.[0]?.ReceiverDescription }\r\n value={letterReceivers ? letterReceivers :(letter?.LetterReceivers?.[0].PositionId ?letter?.LetterReceivers?.[0].PositionId :letter?.LetterReceivers?.[0].GroupPositionId ) }\r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n
\r\n {type == \"Incoming\"&&\r\n\r\n
\r\n
{trans(\"text\")}
\r\n
{ showstep[3] ? setShowstep({ ...showstep, 3: false }) : setShowstep({ ...showstep, 3: true }) }} >{showstep[3] ? : }
\r\n
\r\n }\r\n
\r\n {mode!=\"view\"&&\r\n
\r\n\r\n \r\n
\r\n \r\n }\r\n
\r\n {!letterTextMode ? \r\n
\r\n \r\n {\r\n editor.ui.getEditableElement().parentElement.insertBefore(\r\n editor.ui.view.toolbar.element,\r\n editor.ui.getEditableElement()\r\n );\r\n setEditor(editor)\r\n }}\r\n onError={(error, { willEditorRestart }) => {\r\n if (willEditorRestart) {\r\n editor.ui.view.toolbar.element.remove();\r\n }\r\n }}\r\n onOk={(editor) => {\r\n editor.insertHtml(editorData)\r\n }}\r\n onChange={(event, editor) => {\r\n const data = editor.getData();\r\n setEditorData(data)\r\n }}\r\n editor={DecoupledEditor}\r\n config={{\r\n fontFamily: {\r\n options: [\r\n 'default',\r\n 'Ubuntu, Arial, sans-serif',\r\n ' Vazir, Vazir, Vazir',\r\n ' IRANSans, IRANSans, IRANSans',\r\n 'B Zar, Arial, sans-serif',\r\n 'Ubuntu Mono, Courier New, Courier, monospace'\r\n ]\r\n },\r\n contentsLangDirection : 'rtl',\r\n removePlugins: [\"EasyImage\", \"ImageUpload\", \"MediaEmbed\"],\r\n placeholderProps: {\r\n types: [\"First Name\", \"Date\"],\r\n },\r\n placeholderBrackets: {\r\n open: \"{\",\r\n close: \"}\",\r\n }\r\n \r\n }}\r\n />\r\n
\r\n\r\n :\r\n {setUserChanges({...userChanges , ...e})}}\r\n minHeight={5}\r\n textboxType=\"textarea\"\r\n textboxName=\"LetterText\"\r\n resetForm={resetForm}\r\n defaultValue={letter?.LetterText ?letter?.LetterText : \"\"}\r\n labelText=\"LetterText\"\r\n mode={step > 1 ? \"view\" : mode}\r\n /> \r\n }\r\n
\r\n {\r\n \r\n \r\n }\r\n\r\n
\r\n\r\n
\r\n
\r\n 1||mode==\"edit\") ? \"view\" : mode}\r\n lable=\"LetterImage\"\r\n name=\"defaultAttachment\"\r\n onChange={changeHandlePic}\r\n src={selectedImage ? (selectedImage.Url) : (response?.LetterDefaultAttachmentThumbnail ? 'data:image/jpg;base64,' + response?.LetterDefaultAttachmentThumbnail : '')}\r\n />\r\n
\r\n
\r\n
\r\n {(step > 1 ||type === \"Incoming\" || (mode!=\"create\" &&indicator?.SecretariatId!= null )) &&\r\n
\r\n
\r\n
{trans(\"step\")}-2
\r\n
{showstep[2]?setShowstep({...showstep , 2:false}):setShowstep({...showstep , 2:true}) }}>{showstep[2] ? :}
\r\n
\r\n
\r\n
\r\n
\r\n getSecretariatAsync(e,obj)}\r\n Change={(e)=>{setUserChanges({...userChanges , ...e})}}\r\n label =\"Secretariat\"\r\n mode={indicator?\"view\" : mode}\r\n name=\"Secretariat\"\r\n value={indicator?.SecretariatId ?indicator?.SecretariatId : \"\"}\r\n endPoint={ENDPOINTS.secretariat.secretariat.dictionary}\r\n /> \r\n
\r\n {(secretariatId && singleIndicator!=null) && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n letterType={type ? LetterType[type.trim()] : LetterType[letter.LetterType]}\r\n value={\"\"}\r\n required={true}\r\n mode={indicator?\"view\" : mode}\r\n setIndicatorNoDictionary={setIndicatorNo}\r\n secretariatId={secretariatId}\r\n defaultObj={indicator? {[indicator.IndicatorSerial]:indicator.IndicatorStatic+indicator.IndicatorSerial} :secretariatNo}\r\n />\r\n
\r\n }\r\n {(indicator && indicator.RegisterTime)&& \r\n
\r\n {setRegisterTime(isoTime) }}\r\n val={indicator?.RegisterTime }\r\n mode={\"view\"}\r\n />\r\n
\r\n }\r\n
\r\n\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n resetForm={resetForm}\r\n defaultValue={indicator?.Description ?indicator?.Description : \"\"}\r\n labelText=\"Description\"\r\n mode={editInIndicator ? \"edit\" : mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n recordedData={indicator?.Keywords?indicator?.Keywords.split(\",\"):[]}\r\n setKeyWords={setKeyWords}\r\n keyWords={keyWords}\r\n mode={editInIndicator ? \"edit\" : mode}\r\n name=\"KeyWords\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n onchange={(bol,e)=>{setHasSendAttachment(bol)}}\r\n title={trans(\"HasSendAttachment\")}\r\n defaultValue={indicator?.HasSendAttachment}\r\n defaultChecked={indicator?.HasSendAttachment}\r\n labelText={trans(\"has\")}\r\n labelFalseText={trans(\"hasnot\")}\r\n inputName={\"HasSendAttachment\"}\r\n type=\"checkradio\"\r\n mode={indicator?\"view\" : mode}\r\n /> \r\n
\r\n
\r\n {hasSendAttachment&& \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n minHeight={3}\r\n textboxType=\"textarea\"\r\n textboxName=\"SendAttachmentDescription\"\r\n resetForm={resetForm}\r\n defaultValue={indicator?.SendAttachmentDescription ?indicator?.SendAttachmentDescription : \"\"}\r\n labelText=\"SendAttachmentDescription\"\r\n mode={indicator?\"view\" : mode}\r\n />\r\n
\r\n }\r\n\r\n
\r\n \r\n
\r\n
\r\n }\r\n \r\n
\r\n : \r\n \r\n }\r\n
\r\n\r\n \r\n \r\n );\r\n};\r\n","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { ReceiverPosition } from \"components/ReceiverPosition/ReceiverPosition\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useState } from \"react\";\r\n\r\n\r\ninterface ReceiverFormProps {\r\n letter: any;\r\n onHide: () => void;\r\n Receiverlistcallback: (list) => void;\r\n }\r\n\r\nexport const ReceiverForm = ({letter,onHide ,Receiverlistcallback }:ReceiverFormProps) => {\r\n\r\n const [reload, setReload] = useState(false); // integer state\r\n const [mode, setMode] = useState();\r\n const [receiver, setReceiver] = useState()\r\n\r\n /* pagination area*/\r\n const makeReceiverList = (event) => {\r\n event.preventDefault();\r\n let ReceiverLetter:any ={\r\n Id:receiver.Id ,\r\n Name:receiver.Name ,\r\n Description\t:event.target.Text?.value,\r\n IsCopy\t:event.target.IsCopy?.checked,\r\n IsDefault:event.target.IsDefault?.checked\r\n }\r\n Receiverlistcallback(ReceiverLetter)\r\n \r\n }\r\n return (\r\n <> \r\n
\r\n
\r\n
\r\n
\r\n { setReceiver(e)} }\r\n label=\"Receiver\"\r\n name=\"Receiver\"\r\n value={\"\"}\r\n mode={\"edit\"}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n )\r\n}","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\n\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm, UserContext } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { downloadCSV, trans } from \"utils/helpers\";\r\nimport { ReceiverForm } from \"./component/ReceiverForm\";\r\nimport { getReceiverlist } from \"pages/Secretariats/LettersPage/api/api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface LetterReceiverPropsType {\r\n onHide?: () => void;\r\n getReceiverLetters: (data) => void;\r\n letterId:string;\r\n defaultReceiver:any;\r\n mode:any;\r\n inTab:any;\r\n}\r\n\r\nexport const LetterReceiver = ({getReceiverLetters,defaultReceiver ,letterId ,mode,inTab }:LetterReceiverPropsType) => {\r\n\r\n\r\n let [response, setResponse] = useState(null);\r\n const [LetterReceiverId, setLetterReceiverId] = useState(null);\r\n const [Total_records, setTotal_records] = useState();\r\n const [Receivermode, setReceiverMode] = useState();\r\n const [orderFormat, setOrderFormat] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [showReceiverForm, setShowReceiverForm] = useState(false);\r\n const [catchMessage, setCatchMessage] = useState({type:\"info\",msg:\"NoDataForPreview\"});\r\n const [Receiverlist, setReceiverlist] = useState([]);\r\n const [selectList , setSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n\r\n let customFuction: any = []\r\n\r\n /* pagination area*/\r\n\r\n\r\n const addReceivertoList = (newItem) => {\r\n setLoading(false) \r\n let ListId=Receiverlist.map(item=>{return item.Id})\r\n if(!ListId.includes(newItem.Id)|| newItem.Id==\" \"){\r\n setReceiverlist([...Receiverlist ,newItem ])\r\n setTotal_records([...Receiverlist ,newItem ].length)\r\n getReceiverLetters([...Receiverlist ,newItem ])\r\n setShowReceiverForm(false)\r\n }else{\r\n // Toast(\"msg_delete_useddata\",\"error\")\r\n Toast(\"msg_delete_useddata\",MessageType.error)\r\n\r\n }\r\n setLoading(true)\r\n }\r\n\r\n const getWithOrder = (order: string[]) => {\r\n setOrderFormat(order.join(\",\"))\r\n }\r\n const selectedRowCallback = (obj, index) => {\r\n setLetterReceiverId(obj?.Id);\r\n };\r\n const selectListCallBack =(list)=>{\r\n \r\n setSelectList(list[1])\r\n }\r\n const handleRemove =()=>{\r\n setLoading(false)\r\n let removeListId=selectList.map(item=>{return item.Id})\r\n let newList:any = []\r\n Receiverlist.map(item=>{\r\n if(!removeListId.includes(item.Id)){\r\n newList.push(item)\r\n }\r\n })\r\n setResetMultiSelect(!resetMultiSelect)\r\n setSelectList([])\r\n setReceiverlist(newList)\r\n setTotal_records(newList.length)\r\n getReceiverLetters(newList)\r\n setLoading(true)\r\n\r\n \r\n \r\n }\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"finish\": alert(\"call api finish \" + letterId); break;\r\n case \"current\": alert(\"call api current \" + letterId); break;\r\n case \"archive\": alert(\"call api archive \" + letterId); break;\r\n case \"view\": if (LetterReceiverId) { setReceiverMode(\"view\"); } else { Toast(trans(\"Msg_SelectRow\"), MessageType.warning) } break;\r\n case \"print\": alert(\"print \");break;\r\n case \"excel\": downloadCSV(Receiverlist ,1 ,trans(\"LetterReceiver\"));break;\r\n case \"create\": setShowReceiverForm(true);break;\r\n case \"remove\":if(selectList.length >0){Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete , handleRemove)}else{Toast(\"Msg_SelectRow\" ,MessageType.warning)} ;break;\r\n\r\n }\r\n };\r\n\r\n async function getReceiverlistAsync() {\r\n setLoading(false)\r\n try { \r\n const res = await getReceiverlist( letterId);\r\n let newList = res.Data.map(item=>{\r\n \r\n let data ={\r\n\r\n Id:item.GroupPositionId ? item.GroupPositionId : item.PositionId ,\r\n Name:item.Receiver ,\r\n Description\t:item.Description,\r\n IsCopy\t:item.IsCopy,\r\n IsDefault\t:item.IsDefault,\r\n\r\n }\r\n return data.Id ==null ?{...data,Id:\" \"} :data\r\n })\r\n setReceiverlist( newList)\r\n getReceiverLetters(newList)\r\n setCatchMessage({type:\"info\",msg:\"NoDataForPreview\"})\r\n } catch (error:any) {\r\n setCatchMessage({type:\"error\" , msg:error?.response?.data?.Message})\r\n }\r\n setLoading(true)\r\n }\r\n useEffect(() => {\r\n setResponse([])\r\n if(inTab ===\"LetterReceivers\"){\r\n if((Receiverlist.length ===0&&defaultReceiver)||(Receiverlist?.[0]?.Id !=defaultReceiver?.Id)){\r\n setReceiverlist([defaultReceiver])\r\n getReceiverLetters([defaultReceiver])\r\n if(letterId){\r\n getReceiverlistAsync() \r\n }\r\n }\r\n setLoading(true)\r\n }\r\n \r\n }, [inTab ,defaultReceiver]);\r\n \r\n useEffect(() => {\r\n\r\n if(inTab ===\"LetterReceivers\"){\r\n if(Receiverlist.length >0){ \r\n let newList:any = [] \r\n Receiverlist.map(item=>{\r\n if(item != undefined){\r\n if(item.IsDefault && defaultReceiver){\r\n newList.push(defaultReceiver) \r\n }else\r\n newList.push(item) \r\n\r\n }\r\n })\r\n setReceiverlist(newList)\r\n getReceiverLetters(newList)\r\n }\r\n setLoading(true)\r\n }\r\n }, [defaultReceiver , inTab]);\r\n \r\n \r\n /* #endregion */\r\n\r\n return (\r\n < >\r\n {inTab == \"LetterReceivers\" && \r\n
\r\n {mode != \"view\" &&\r\n \r\n } \r\n {loading ?\r\n
\r\n
\r\n
\r\n {\r\n (Receiverlist.length > 0 && Receiverlist[0]?.Id!== undefined ?\r\n { }}\r\n multiSelect={true}\r\n selectList={selectListCallBack}\r\n orderFormat={getWithOrder}\r\n resetMultiSelect={resetMultiSelect}\r\n parentName={\"LetterReceiver\" }\r\n startIndex={1}\r\n theadData={[\"Id\" , \"Name\" ,\"Description\" ,\"IsCopy\" , \"IsDefault\"]}\r\n scrollHeight={\"350px\"}\r\n tbodyData={Receiverlist}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedRowCallback}\r\n totalRecords={Total_records}\r\n />\r\n : )\r\n }\r\n
\r\n
\r\n
\r\n : \r\n }\r\n {showReceiverForm &&\r\n setShowReceiverForm(false)} show={showReceiverForm}>\r\n { addReceivertoList(e)}} onHide={() => setShowReceiverForm(false)} />\r\n \r\n }\r\n
\r\n }\r\n \r\n )\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\ninterface ViewSendFormPropsType {\r\n selectedRow?: any,\r\n onHide: () => void,\r\n}\r\n\r\nexport const ViewSendForm = ({\r\n selectedRow,\r\n onHide,\r\n}: ViewSendFormPropsType) => {\r\n const [SentTime, setSentTime] = useState();\r\n const [ReceiveTime, setReceiveTime] = useState();\r\n const [resetForm, setResetForm] = useState(false);\r\n const [showstep, setShowstep] = useState({});\r\n\r\n return (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{trans(\"send\")}
\r\n
{showstep[1]?setShowstep({...showstep , 1:false}):setShowstep({...showstep , 1:true}) }} >{showstep[1] ? :}
\r\n
\r\n
\r\n
\r\n
\r\n 0 ?\"view\" :\"edit\"}\r\n value={ selectedRow.SendOperatorPositionId }\r\n resetForm={resetForm}\r\n />\r\n
\r\n
\r\n 0 ?\"view\" :\"edit\"}\r\n />\r\n
\r\n
\r\n {(selectedRow.Id!= undefined &&selectedRow.Id.length > 0) ? \r\n \r\n :\r\n 0 ?\"view\" :\"edit\"}\r\n resetForm={resetForm}\r\n lable=\"SentTime\"\r\n setIsoTime={(isoTime: string) => { setSentTime(isoTime) }}\r\n val={selectedRow?.SentTime ? selectedRow?.SentTime : SentTime} //resetForm ? new Date().toISOString() : \r\n /> \r\n }\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n 0 ?\"view\" :\"edit\"}\r\n resetForm={resetForm}\r\n textboxType=\"text\"\r\n textboxName=\"ReceiverPerson\"\r\n labelText=\"ReceiverPerson\"\r\n maxLength={50} \r\n defaultValue={selectedRow.ReceiverPerson ?selectedRow.ReceiverPerson :\"\"}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n 0 ?\"view\" :\"edit\"}\r\n resetForm={resetForm}\r\n textboxType=\"textarea\"\r\n textboxName=\"SentDescription\"\r\n labelText=\"SentDescription\"\r\n maxLength={900}\r\n defaultValue={selectedRow.SentDescription}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
{trans(\"receive\")}
\r\n
{showstep[2]?setShowstep({...showstep , 2:false}):setShowstep({...showstep , 2:true}) }}>{showstep[2] ? :}
\r\n
\r\n
\r\n
\r\n
\r\n { setReceiveTime(isoTime) }}\r\n val={selectedRow?.ReceiveTime ? selectedRow?.ReceiveTime : ReceiveTime} //resetForm ? new Date().toISOString() : \r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { ViewSendForm } from \"./ViewSendForm\";\r\n\r\n\r\ninterface props {\r\n inTab: string\r\n positionObjectList: any\r\n\r\n}\r\n\r\nexport const LetterSend: React.FC = ({ inTab ,positionObjectList }) => {\r\n let taskTitle, TAS_UID, assignType, description: string\r\n let tableData: any[] = []\r\n let tableHeadData: string[] = []\r\n\r\n\r\n const [orderFormat, setOrderFormat] = useState();\r\n let [selectedRow, setSelectedRow] = useState({});\r\n const [showForm, setShowForm] = useState(false);\r\n //const [positionObjectList, setpositionObjectList] = useState([]);\r\n const [activateCheckbox, setActivateCheckbox] = useState([]);\r\n const [checkedData, setCheckedData] = useState({});\r\n const [isAllForms, setIsAllForms] = useState(false);\r\n const [resetMultiSelect, setresetMultiSelect] = useState(false);\r\n\r\n\r\n\r\n\r\n const checkedRowEventCallback = (checked, obj) => {\r\n if (!checked) {\r\n checkAllcheckboxes()\r\n } else {\r\n setIsAllForms(false)\r\n }\r\n checkAllcheckboxes()\r\n }\r\n\r\n const onCheckboxClicked = (obj) => {\r\n checkAllcheckboxes()\r\n setCheckedData(obj)\r\n }\r\n\r\n const onRowClicked = (obj, index, event) => {\r\n let originalObject = JSON.parse(JSON.stringify(obj)) \r\n originalObject.DeadLineDate = originalObject.DeadLineOriginalDate\r\n if (event?.target?.type != \"checkbox\") {\r\n \r\n } else {\r\n setresetMultiSelect(!resetMultiSelect)\r\n checkedRowEventCallback(false, obj)\r\n checkAllcheckboxes()\r\n }\r\n };\r\n\r\n const onRowDoubleClick = (obj) => {\r\n setSelectedRow(obj);\r\n setIsAllForms(false)\r\n setShowForm(true)\r\n };\r\n\r\n const getWithOrder = (order: string[]) => {\r\n setOrderFormat(order.join(\",\"))\r\n }\r\n\r\n\r\n const checkAllcheckboxes = () => {\r\n let cheklist: any = []\r\n positionObjectList.map(obj => {\r\n if (obj.SendOperatorPositionId!=undefined && obj.SendOperatorPositionId.length >0 ) {\r\n cheklist.push({ Id: obj.ReceiverId })\r\n }\r\n })\r\n if (cheklist.length == positionObjectList.length) {\r\n setActivateCheckbox([{ Id: \"All\" }])\r\n } else {\r\n setActivateCheckbox(cheklist)\r\n }\r\n }\r\n\r\n if (inTab ==\"SendInformation\" && positionObjectList && positionObjectList.length > 0) {\r\n tableHeadData = Object.keys(positionObjectList[0])\r\n tableData =positionObjectList\r\n }\r\n\r\n return (\r\n <>\r\n {inTab ==\"SendInformation\" &&\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {tableData && tableData.length > 0 &&\r\n }\r\n
\r\n
\r\n
\r\n
\r\n {showForm && \r\n setShowForm(false)} show={showForm}>\r\n {setShowForm(false)}}\r\n />\r\n \r\n }\r\n
\r\n }\r\n \r\n )\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { Attachment } from \"pages/OfficeAutomation/Cartable/components/ActionList/components/Attachment/Attachment\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { getReceivers, getSentHistory, postLetter, putLetter } from \"../../api/api\";\r\nimport { LetterRelated } from \"./components/LetterRelated/LetterRelated\";\r\nimport { LetterInformationForm } from \"./components/LetterInformationForm/LetterInformationForm\";\r\nimport { LetterReceiver } from \"./components/LetterReceiver/LetterReceiver\";\r\nimport { LetterSend } from \"./components/LetterSend/LetterSend\";\r\nimport { LetterType, MessageType } from \"types/enum\";\r\ninterface Form {\r\n onHide: () => void;\r\n reload?: (flag) => void;\r\n handleShowReferenceStepper?: (referenceId: string) => void;\r\n\r\n Id?: any;\r\n jobId?: any;\r\n mode: any;\r\n type?: any;\r\n step?:any;\r\n processId?: any;\r\n referenceId?: any;\r\n letterSelectedId?: any;\r\n editInIndicator?: any;\r\n inDynamicForms?: any;\r\n}\r\nexport const LetterForm = ({ inDynamicForms=false,onHide,jobId, Id,letterSelectedId,editInIndicator=false , mode,step, reload ,handleShowReferenceStepper, type ,processId ,referenceId}: Form) => {\r\n\r\n const [curentTab, setCurentTab] = useState(\"LetterForm\")\r\n const [informationData, setInformationData] = useState()\r\n const [relatedList, setRelatedList] = useState()\r\n const [letterReceiverList, setLetterReceiverList] = useState()\r\n const [letterId, setLetterId] = useState(letterSelectedId)\r\n const [receiver, setReceiver] = useState(null)\r\n const [showReferenceStepper, setShowReferenceStepper] = useState(false);\r\n const [positionObjectList, setPositionObjectList] = useState([]);\r\n\r\n const InformationData = async (data, image, method ,Indicator ) => {\r\n let ReceiverList:any = []\r\n if(letterReceiverList !=undefined && letterReceiverList.length>0 && type != \"Incoming\"){\r\n letterReceiverList.map(item=>{\r\n if(item.Id.includes(\"GroupPosition\")){\r\n ReceiverList.push({\r\n GroupPositionId : item.Id.replace(\"_GroupPosition\" , \"\")==\" \"? null:item.Id.replace(\"_GroupPosition\" , \"\") ,\r\n ReceiverDescription: item.Name,\r\n IsCopy:item.IsCopy,\r\n Description:item.Description ,\r\n IsDefault : item.IsDefault\r\n\r\n })\r\n \r\n }else{\r\n ReceiverList.push({\r\n PositionId : item.Id.replace(\"_Position\" , \"\")==\" \"? null:item.Id.replace(\"_Position\" , \"\") ,\r\n ReceiverDescription: item.Name,\r\n IsCopy:item.IsCopy,\r\n Description:item.Description ,\r\n IsDefault : item.IsDefault\r\n })\r\n }\r\n \r\n })\r\n }else if(receiver){\r\n if(receiver.Id.includes(\"GroupPosition\")){\r\n ReceiverList.push({\r\n GroupPositionId : receiver.Id.replace(\"_GroupPosition\" , \"\")==\" \"? null:receiver.Id.replace(\"_GroupPosition\" , \"\") ,\r\n ReceiverDescription: receiver.Name,\r\n IsCopy:receiver.IsCopy,\r\n Description:receiver.Description ,\r\n IsDefault : receiver.IsDefault\r\n\r\n })\r\n \r\n }else{\r\n ReceiverList.push({\r\n PositionId : receiver.Id.replace(\"_Position\" , \"\")==\" \"? null:receiver.Id.replace(\"_Position\" , \"\") ,\r\n ReceiverDescription: receiver.Name,\r\n IsCopy:receiver.IsCopy,\r\n Description:receiver.Description ,\r\n IsDefault : receiver.IsDefault\r\n })\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n let fristLetter:any = {\r\n \"Letter\": data,\r\n \"LetterRelateds\": relatedList,\r\n \"LetterReceivers\" : ReceiverList\r\n }\r\n if(Indicator){\r\n fristLetter.Indicator = Indicator\r\n }\r\n let _objData = new FormData\r\n\r\n _objData.append(\"LetterDTO\", JSON.stringify(fristLetter));\r\n // _objData.append(\"PRJ_UID\", JSON.stringify(processId));\r\n // _objData.append(\"KeyWords\", KeyWords);\r\n _objData.append(\"file\", image);\r\n\r\n\r\n try {\r\n let res:any = {}\r\n if (letterId && method === \"put\") {\r\n res = await putDataAsync(fristLetter , referenceId)\r\n } else {\r\n res = await sendDataAsync(_objData, \"post\" ,referenceId ?referenceId:null ,processId)\r\n // setLetterId(res)\r\n }\r\n if (showReferenceStepper) {\r\n handleShowReferenceStepper && handleShowReferenceStepper(!(res.MessageType ==MessageType.success) ? false:res.Data);\r\n } else {\r\n\r\n \r\n onHide()\r\n }\r\n } catch (error) {\r\n\r\n }\r\n setInformationData(data)\r\n }\r\n const RelatedData = (data) => {\r\n setRelatedList(data)\r\n }\r\n\r\n const sendDataAsync = async (letter, method ,referenceId ,processId) => {\r\n try {\r\n return await postLetter(letter, processId ,referenceId )\r\n } catch (error) {\r\n }\r\n }\r\n\r\n const putDataAsync = async (letter ,referenceId) => {\r\n try {\r\n const res = await putLetter(letter ,referenceId)\r\n return res.data\r\n } catch (error) {\r\n }\r\n }\r\n const getLetterReceiverPositionsAsync = async() => {\r\n \r\n try {\r\n if(jobId){\r\n const Receivers = await getReceivers(jobId)\r\n \r\n const Historys = await getSentHistory(jobId)\r\n let positionObjList :any= []\r\n Object.keys(Receivers.Data).map(item=>{\r\n \r\n let itemHistory:any = []\r\n if(Historys.Data){\r\n itemHistory = Historys.Data.filter(obj=> obj.LetterReceiverId == item)\r\n }\r\n if(itemHistory[0]){\r\n positionObjList.push({\r\n \"Id\" : itemHistory[0].Id,\r\n \"JobId\": jobId,\r\n \"SendOperatorPositionId\": itemHistory[0].SendOperatorPositionId,\r\n \"ReceiverId\" : item,\r\n \"SendMethodId\":itemHistory[0].SendMethodId,\r\n \"Receiver\" :Receivers.Data[item] ,\r\n \"ReceiverPerson\": itemHistory[0].ReceiverPerson,\r\n \"SentDescription\": itemHistory[0].SentDescription,\r\n \"SentTime\": itemHistory[0].SentTime,\r\n \"IsSent\": itemHistory[0].IsSent,\r\n \"IsReceived\":itemHistory[0].IsReceived,\r\n \"ReceiveTime\": itemHistory[0].ReceiveTime,\r\n \"ReceiveDescription\": itemHistory[0].ReceiveDescription,\r\n })\r\n }\r\n })\r\n\r\n setPositionObjectList(positionObjList)\r\n }\r\n } catch (error) { \r\n setPositionObjectList([])\r\n }\r\n \r\n\r\n}\r\n useEffect(() => {\r\n if(mode !=\"create\"){\r\n getLetterReceiverPositionsAsync()\r\n\r\n }\r\n\r\n}, [ mode ,referenceId])\r\n\r\n let content = [\r\n { title: \"LetterForm\", body: ({ setReceiver({ ...e , ...{ IsDefault:true ,Description:\"\" ,IsCopy:false} })} } changeSecretariatId={(e)=>{} }Id={Id} jobId={jobId} inTab={curentTab} step={step} type={type} referenceId={referenceId} setLetterId={setLetterId} changeTab={setCurentTab} mode={mode} letterId={letterId} getInformation={InformationData} onHide={onHide} />), },\r\n type != \"Incoming\" && { title: \"LetterReceivers\", body: (1 ? \"view\" : mode} letterId={letterId} defaultReceiver={receiver} getReceiverLetters={setLetterReceiverList} />), },\r\n { title: \"LetterRelated\", body: (), },\r\n positionObjectList.length >0 &&{ title: \"SendInformation\", body: (), },\r\n false && { title: \"Attachment\", body: (), },\r\n //{ title: \"LetterRelated\", body: (), },\r\n //{ title: \"LetterShow\", body: (), },\r\n // { title: \"PersonRealTest\", body: (), },\r\n\r\n ];\r\n\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n } \r\n\r\n\r\n /* pagination area*/\r\n\r\n return (\r\n <>\r\n \r\n
\r\n {\r\n (((mode != \"view\"||editInIndicator ) && curentTab != \"LetterShow\")) &&\r\n <>\r\n
\r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { getCustomerGeneralRequestClassification } from \"./api\";\r\n\r\n\r\ninterface GeneralRequestsClassificationIdProp {\r\n value?: any\r\n mode?: string\r\n resetForm?: boolean\r\n name: string\r\n Change?: (e) => void,\r\n}\r\nexport const GeneralRequestsClassificationId = ({ value, name , mode ,resetForm ,Change }:GeneralRequestsClassificationIdProp) => {\r\n const [GeneralRequestsClassification, setGeneralRequestsClassification] = useState();\r\n const [defaultval, setdefault] = useState(value);\r\n\r\n\r\n let job_classification_val, job_classification;\r\n useEffect(() => {\r\n getCustomerGeneralRequestClassification().then((response) => setGeneralRequestsClassification(response.Data));\r\n return () => {\r\n \r\n setdefault(\"\")\r\n };\r\n \r\n }, []);\r\n useEffect(() => {\r\n setdefault(value)\r\n }, [resetForm]);\r\n if (GeneralRequestsClassification) job_classification = Object.values(GeneralRequestsClassification);\r\n if (GeneralRequestsClassification) job_classification_val = Object.keys(GeneralRequestsClassification);\r\n\r\n \r\n return (\r\n <>\r\n {Change && Change(true)}}\r\n lable=\"requestclassification\"\r\n selectType=\"select\"\r\n options={job_classification}\r\n val={job_classification_val}\r\n name={name}\r\n value={value}\r\n resetForm={resetForm}\r\n mode={mode}\r\n /> \r\n
\r\n \r\n\r\n );\r\n};","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getCustomerGeneralRequestClassification = (async () => await http({\r\n url: ENDPOINTS.afterSalesApi.CustomerGeneralRequestClassification.dictionary,\r\n method: 'get',\r\n})\r\n .then((response) => (response.data))\r\n\r\n)","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getPerson = (async (search) => await http({\r\n url: ENDPOINTS.BaseInformation.person.dictionary,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n SearchString: search,\r\n }\r\n})\r\n .then((respons) => (respons.data.Data))\r\n)\r\n\r\n\r\n\r\nexport const PostArchive = (async (data , type) => await http({\r\n url:type==1 ? ENDPOINTS.archive.JobPersonalArchiveDetail.browse :ENDPOINTS.archive.JobOrganizationalArchiveDetail.browse ,\r\n method: 'post',\r\n data: data\r\n})\r\n.then(response => response.data)\r\n.catch(err => {\r\n return Promise.reject(err);\r\n}\r\n))\r\n\r\n\r\n \r\nexport const getOrganizationArchive = (id: any) => http({\r\n url: ENDPOINTS.archive.organizationalArchive.archives,\r\n method: \"get\",\r\n params: {\r\n ParentId: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n});\r\nexport const getArchivedJob = (id: any) => http({\r\n url: ENDPOINTS.archive.organizationalArchiveDetail.savedArchive,\r\n method: \"get\",\r\n params: {\r\n jobId: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n});\r\n\r\nexport const getPersonalArchive = (id: any) => http({\r\n url: ENDPOINTS.archive.personalArchive.archives,\r\n method: \"get\",\r\n params: {\r\n ParentId: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n});\r\nexport const deleteArchived = (id: any) => http({\r\n url: ENDPOINTS.archive.JobOrganizationalArchiveDetail.removeArchivedJob,\r\n method: \"delete\",\r\n params: {\r\n jobId: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n});","// import { trans } from \"../utils/helpers\"\r\nimport { useEffect, useState, useRef } from \"react\";\r\nimport { trans } from \"utils/helpers\"\r\n\r\ninterface checkableButtonPropsType {\r\n parentName?: string,\r\n id?: string,\r\n mode?: string,\r\n checked?: boolean\r\n readOnly?: boolean\r\n defaultChecked? : boolean\r\n disabled? : boolean\r\n type: number\r\n onclick?: (e:any) => void;\r\n divClick?: (e:any) => void;\r\n}\r\nexport const Checkbox = ({ disabled, parentName, type, mode, checked, defaultChecked ,onclick ,divClick ,id}: checkableButtonPropsType) => {\r\n\r\n\r\n\r\n return (\r\n
\r\n {type == 1?\r\n {}} onClick={onclick}/>\r\n :\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n }\r\n\r\n
\r\n )\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport \"./style.scss\";\r\nexport const LoadingIcon = () => {\r\n return (\r\n \r\n
\r\n \r\n
\r\n\r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Checkbox } from \"components/checkbox/checkbox\";\r\nimport { LoadingIcon } from \"components/LoadingIcon/LoadingIcon\";\r\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getChildren1 } from \"./api\";\r\nimport \"./style.scss\";\r\n\r\nexport const TreeContext = createContext([]);\r\n\r\nconst createHeaders = (headers, parentName, startIndex ,Titleparams) => {\r\n\r\n let head = headers;\r\n \r\n let widths = []\r\n let setHead: any = []\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n\r\n\r\n\r\n }\r\n locallist.forEach(item => {\r\n if (item[0] == parentName) {\r\n if (item[1].length == (head.length - startIndex) - 1) {\r\n let switchHed = false\r\n item[1].forEach(el => {\r\n if (head.indexOf(el) == -1) {\r\n switchHed = true\r\n }\r\n });\r\n if(item[1].length==1)widths = item[2];\r\n if (!switchHed) {\r\n head = item[1]\r\n widths = item[2]\r\n head.forEach((item, index) => {\r\n setHead.push(widths[index] ? { text: item, ref: useRef(), Id: headers.indexOf(item), width: widths[index] } : { text: item, ref: useRef(), Id: headers.indexOf(item) })\r\n });\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (setHead.length == 0) {\r\n head.forEach((item, index) => {\r\n if (index >= startIndex + 1) {\r\n setHead.push((widths[index]||(head.length - startIndex) - 1==1) ? { text: item, ref: useRef(), Id: headers.indexOf(item), width: widths[ (head.length - startIndex) - 1==1 ?0 :index] } : { text: item, ref: useRef(), Id: headers.indexOf(item) })\r\n }\r\n });\r\n }\r\n return setHead\r\n\r\n}\r\n\r\n\r\n\r\ninterface TreeView {\r\n Data;\r\n theadData;\r\n parentName;\r\n startIndex;\r\n minCellWidth?;\r\n selectedRowObjectCallback?: (obj: object) => void;\r\n selectedRowsCallback?: (obj: any) => void;\r\n addNewNode?: (obj: any) => void;\r\n moveNude?: (drag, drop) => void;\r\n getChildrenUrl?;\r\n selectedRowObject?;\r\n resetCheckBox?;\r\n params?;\r\n Childrenparams?;\r\n Titleparams?;\r\n defultparams?;\r\n defultShow?;\r\n multiselect?;\r\n dragDrop?;\r\n disabled?;\r\n IsArchive?;\r\n ListResponse?: any;\r\n selectedList?: any;\r\n maxLevel?: number;\r\n italic?:string;\r\n scrollHeight?:any;\r\n maxWidth?:boolean;\r\n}\r\n\r\n\r\n\r\nfunction Row(data) {\r\n\r\n const italic = data.italic\r\n const childrenparams = data.Childrenparams\r\n const Titleparams = data.Titleparams\r\n const [defultShow, setDefultShow] = useState(data.defultShow);\r\n const defultparam = data.defultparams\r\n const parentName = data.parentName\r\n const head = data.head\r\n const addNewNode = data.addNewNode\r\n const Url = data.getChildrenUrl\r\n const multiselect = data.multiselect\r\n const widthColumns = data.widthColumns\r\n const activeId = data.activeId\r\n const params = data.params\r\n const [row, setRow] = useState(data.row);\r\n const [children, setChildren] = useState(data.row[childrenparams]);\r\n const childrenRef = useRef(children);\r\n const num = JSON.parse(JSON.stringify(data.num))\r\n const [open, setOpen] = useState(defultShow);\r\n const openRef = useRef(open);\r\n const [flag, setFlag] = useState(true);\r\n const [checked, setChecked] = useState(data.checked);\r\n const [selectList, setSelectList] = useState(data.selectList);\r\n const [type, setType] = useState(1);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const moseEnter = useRef(false);\r\n\r\n\r\n\r\n\r\n\r\n const [setDrag, setDrop, dragedId, dropedId ,setSelectListContext,selectListContext] = useContext(TreeContext);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n function getTh(e) {\r\n setDrag(e)\r\n }\r\n function setTh(e) {\r\n setDrop(e)\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n\r\n async function MouseEnter(e) {\r\n if (dragedId?.Id) {\r\n moseEnter.current = true\r\n try {\r\n await delay(1000)\r\n } catch (error) {\r\n\r\n }\r\n\r\n if (moseEnter.current) {\r\n setOpen(true);\r\n openRef.current = true\r\n if (!open) getChildren(row.Id);\r\n\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n function toggleActiveRow(obj, str = \"\") {\r\n\r\n if (typeof obj == \"string\") {\r\n let finded = false\r\n childrenRef.current.forEach(item => {\r\n if (item.Id == obj) {\r\n\r\n finded = true\r\n setFlag(!flag)\r\n data.selectObj(item)\r\n }\r\n });\r\n if (!finded) {\r\n setFlag(!flag)\r\n data.selectObj(obj)\r\n }\r\n } else {\r\n setFlag(!flag)\r\n data.selectObj(obj)\r\n }\r\n\r\n\r\n }\r\n function addToList(obj, e) {\r\n let flag = true\r\n let newList:any = []\r\n selectListContext.forEach(item => {\r\n if(item.Id==obj.Id){\r\n setChecked(false)\r\n flag = false\r\n }else{\r\n newList.push(item)\r\n }\r\n \r\n });\r\n if(flag){\r\n setChecked(true)\r\n newList.push(obj)\r\n\r\n }\r\n setSelectListContext(newList)\r\n\r\n\r\n }\r\n\r\n\r\n\r\n async function getChildren(id) {\r\n setLoading(true)\r\n try {\r\n if(Url){\r\n\r\n const respons = await getChildren1(Url,defultparam ,params, id)\r\n if (respons.data[0]) {\r\n setChildren([])\r\n setFlag(!flag)\r\n setRow(respons.data[0])\r\n setChildren(respons.data[0][childrenparams])\r\n childrenRef.current = respons.data[0][childrenparams]\r\n } else if (respons.data.Data[0]) {\r\n setChildren([])\r\n setFlag(!flag)\r\n setRow(respons.data.Data[0])\r\n setChildren(respons.data.Data[0][childrenparams])\r\n childrenRef.current = respons.data.Data[0][childrenparams]\r\n } else {\r\n \r\n }\r\n setFlag(!flag)\r\n }\r\n\r\n /*if (respons.data.Data[0]) {\r\n setChildren([])\r\n setFlag(!flag)\r\n if (respons.data.Data[0]) {\r\n setRow(respons.data.Data[0])\r\n setChildren(respons.data.Data[0][childrenparams])\r\n childrenRef.current = respons.data.Data[0][childrenparams]\r\n\r\n\r\n } else {\r\n setChildren([])\r\n childrenRef.current = []\r\n }\r\n\r\n setFlag(!flag)\r\n // setOpen(!open)\r\n return respons.data\r\n } else {\r\n setChildren([])\r\n setFlag(!flag)\r\n if (respons.data[0]) {\r\n setRow(respons.data[0])\r\n setChildren(respons.data[0][childrenparams])\r\n childrenRef.current = respons.data[0][childrenparams]\r\n } else {\r\n setChildren([])\r\n childrenRef.current = []\r\n }\r\n setFlag(!flag)\r\n // setOpen(!open)\r\n return respons.data\r\n }*/\r\n\r\n\r\n\r\n \r\n } catch (error) {\r\n\r\n }\r\n setLoading(false)\r\n\r\n }\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n if(selectListContext.length == 0){\r\n setChecked(false)\r\n }\r\n\r\n }, [ selectListContext]);\r\n useEffect(() => {\r\n selectListContext.forEach(item => {\r\n if(item.Id==row.Id){\r\n setChecked(true)\r\n }\r\n \r\n });\r\n\r\n\r\n }, [ ]);\r\n\r\n useEffect(() => {\r\n\r\n if (data.selectId && data.selectId == row.Id) {\r\n getChildren(row.Id)\r\n }\r\n\r\n }, [data.selectId]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n setSelectList(data.selectList)\r\n }, [data.selectList]);\r\n\r\n\r\n const kydown = (event) => {\r\n if (event.key == \"ArrowLeft\") {\r\n setOpen(true)\r\n openRef.current = true\r\n getChildren(row.Id)\r\n\r\n } else if (event.key == \"ArrowRight\") {\r\n if (!openRef.current) {\r\n toggleActiveRow((row.ParentId))\r\n }\r\n setOpen(false)\r\n openRef.current = false\r\n } else if (event.key == \"ArrowDown\") {\r\n toggleActiveRow(document.getElementById(row.Id)?.nextElementSibling?.id, \"Down\")\r\n\r\n } else if (event.key == \"ArrowUp\") {\r\n toggleActiveRow(document.getElementById(row.Id)?.previousElementSibling?.id, \"Up\")\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n document.removeEventListener(\"keydown\", kydown);\r\n if (activeId == row.Id) {\r\n\r\n document.addEventListener('keydown', kydown)\r\n return () => { document.removeEventListener(\"keydown\", kydown); }\r\n }\r\n\r\n }, [activeId]);\r\n\r\n\r\n return (\r\n <>\r\n
{ moseEnter.current = false }} onMouseEnter={MouseEnter} onClick={() => { toggleActiveRow(row) }}>\r\n }\r\n >\r\n <>\r\n {\r\n\r\n head.map((item, index) => (\r\n index == 0 ?\r\n \r\n { getTh(row) }} onMouseUp={() => { setTh(row) }}>\r\n \r\n {\r\n ( multiselect && num >0) && { e.stopPropagation(); setChecked(null); setType(1); addToList(row, true) }} onclick={(e) => { e.stopPropagation(); addToList(row, e.target.checked) }} />\r\n }\r\n {(data.maxLevel ==null || num { setOpen(!open); setDefultShow(false); openRef.current = !openRef.current; if (!open) getChildren(row.Id); }}>\r\n {loading ?
\r\n : open ? :\r\n \r\n }\r\n \r\n :\r\n
{ setOpen(!open); setDefultShow(false); openRef.current = !openRef.current; if (!open) getChildren(row.Id); }}>\r\n
\r\n }\r\n
\r\n {row[Titleparams].includes(\".\") ? row[Titleparams].split(\".\").map((item, index) => (trans(item) + \" _ \"))\r\n : trans(row[Titleparams])}\r\n
\r\n
\r\n \r\n : \r\n {trans(item.text)}\r\n \r\n }\r\n >\r\n
\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n {open && children.map((SubRow) => (\r\n \r\n ))\r\n \r\n }\r\n {(addNewNode && open) && \r\n {addNewNode(row) }}>\r\n }\r\n >\r\n <>\r\n \r\n { getTh(row) }} onMouseUp={() => { setTh(row) }}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n \r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const TreeView: React.FC = ({\r\n Data,\r\n theadData,\r\n parentName,\r\n startIndex,\r\n minCellWidth,\r\n selectedRowObjectCallback,\r\n selectedRowsCallback,\r\n moveNude,\r\n getChildrenUrl,\r\n resetCheckBox,\r\n selectedRowObject,\r\n params = \"parentId\",\r\n Childrenparams = \"Children\",\r\n Titleparams = \"Description\",\r\n defultparams,\r\n defultShow = false,\r\n multiselect = false,\r\n dragDrop = false,\r\n disabled = false,\r\n IsArchive = false,\r\n ListResponse = [],\r\n selectedList = {},\r\n maxLevel ,\r\n italic,\r\n scrollHeight = null,\r\n maxWidth = false,\r\n addNewNode ,\r\n\r\n}) => {\r\n const rtlDataGridDirection = localStorage.getItem(\"lang\") == \"fa\" ? true : false;\r\n const [selectList, setSelectList] = useState(selectedList);\r\n const [selectedIndex, setSelectedIndex] = useState();\r\n const [flag, setFlag] = useState(false);\r\n const [data, setData] = useState()\r\n const [hedcolums, setHedcolums]: any = useState(createHeaders(theadData, parentName, startIndex ,Titleparams));\r\n const [tableHeight, setTableHeight] = useState('auto');\r\n const [activeIndex, setActiveIndex] = useState(null);\r\n const [widthColumns, setWidthColumns] = useState([]);\r\n const tableElement = useRef();\r\n const [activeRowId, setActiveRowId] = useState(-1);\r\n const [listt, setListt] = useState(selectedList);\r\n const [dragId, setDragId] = useState();\r\n const [dropId, setDropId] = useState();\r\n const [selectListContext, setSelectListContext] = useState([]);\r\n const [dragBoxPo, setDragBoxPo] = useState([]);\r\n const dragBox = useRef(null);\r\n const [err, setErr] = useState(false);\r\n\r\n //let listt:any ={}\r\n\r\n\r\n let DefaultMinCellWidth = minCellWidth ? minCellWidth : 100;\r\n let gridTemplateColumnsStyle: string[] = [];\r\n let ColumnsStyleSize: string[] = [];\r\n let localFlag = true\r\n let ummont = true\r\n\r\n\r\n\r\n function setUserList(e, mychilde) {\r\n\r\n\r\n\r\n\r\n setListt(Object.assign(listt, e))\r\n if (Object.keys(e)[0].length == 36 && Object.keys(e)[0].includes(\"-\")) {\r\n\r\n\r\n } else {\r\n ListResponse && Object.values(ListResponse).forEach((item1: any, index1) => {\r\n if (Object.values(e)[0] != null) {\r\n if (item1.replaceAll(\".\", \"\").includes(Object.keys(e)[0])) {\r\n setListt(Object.assign(listt, { [item1]: Object.values(e)[0] }))\r\n }\r\n } else {\r\n if (item1.replaceAll(\".\", \"\") === (Object.keys(e)[0])) {\r\n setListt(Object.assign(listt, { [item1]: Object.values(e)[0] }))\r\n }\r\n\r\n }\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n // setitemsList({...userList ,...e })\r\n let filter: any = []\r\n\r\n Object.values(listt).forEach((item, index) => {\r\n if (item) {\r\n\r\n if ((Object.keys(listt)[index].length == 36 && Object.keys(listt)[index].includes(\"-\")) || Object.keys(listt)[index].includes(\".\")) {\r\n filter.push(Object.keys(listt)[index])\r\n\r\n }\r\n if (Object.keys(listt)[index] == \"AdminRole\") {\r\n filter.push(Object.keys(listt)[index])\r\n\r\n }\r\n }\r\n })\r\n // setSelectList(listt)\r\n selectedRowsCallback && selectedRowsCallback(filter)\r\n\r\n\r\n }\r\n/* if (theadData.length < startIndex + 3) {\r\n gridTemplateColumnsStyle[0] = \"100%\";\r\n } else { gridTemplateColumnsStyle[0] = \"250px\"; }\r\n */\r\n if (hedcolums[0] && hedcolums[0].width) {\r\n for (let i = 0; i < hedcolums.length; i++) {\r\n gridTemplateColumnsStyle[i] = (`${hedcolums[i].width}`);\r\n }\r\n\r\n } else {\r\n for (let i = 1; i < hedcolums.length; i++) {\r\n gridTemplateColumnsStyle[i] = (\"minmax(100px,2fr)\");\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n function getTh(e) {\r\n e.stopPropagation();\r\n setSelectedIndex(e.target.id[23])\r\n\r\n }\r\n\r\n\r\n function setTh(e) {\r\n\r\n let putIndex = e.target.id[23]\r\n if (putIndex > 0 && selectedIndex > 0) {\r\n let selectIndex: any = selectedIndex;\r\n let arryHed = hedcolums;\r\n let selectHed = arryHed[selectIndex]\r\n arryHed.splice(selectIndex, 1)\r\n arryHed.splice(putIndex, 0, selectHed)\r\n setHedcolums(arryHed)\r\n }\r\n setFlag(!flag)\r\n\r\n }\r\n const mouseDown = (index) => {\r\n setActiveIndex(index);\r\n }\r\n\r\n const mouseMove = useCallback((e) => {\r\n e.stopImmediatePropagation();\r\n // Return an array of px values\r\n const gridColumns = hedcolums.map((col, i) => {\r\n \r\n if (i == activeIndex) {\r\n\r\n // Calculate the column width\r\n if (tableElement.current !== null) {\r\n if (rtlDataGridDirection) {// سایز سلول در حالت راست چین\r\n\r\n const width = col.ref.current.getBoundingClientRect().right - e.clientX;\r\n\r\n if (width >= DefaultMinCellWidth) {\r\n if(maxWidth){\r\n if(tableElement.current.offsetWidth+50 <= width){\r\n return `${tableElement.current.offsetWidth}px`;\r\n }else{\r\n return `${width}px`;\r\n }\r\n }else{\r\n return `${width}px`;\r\n\r\n }\r\n } else {\r\n return `${DefaultMinCellWidth}px`;\r\n }\r\n } else { // سایز سلول در حالت چپ چین\r\n const width = e.clientX - (tableElement.current as HTMLElement)?.getBoundingClientRect().left - col.ref.current.offsetLeft;\r\n if (width >= DefaultMinCellWidth) {\r\n return `${width}px`;\r\n }\r\n }\r\n }\r\n }\r\n // Otherwise return the previous width (no changes)\r\n return `${col.ref.current.offsetWidth}px`;\r\n });\r\n\r\n\r\n\r\n if (gridColumns.length > 0) {\r\n setWidthColumns(JSON.parse(JSON.stringify(gridColumns)))\r\n\r\n }\r\n\r\n setFlag(!flag)\r\n // setwidthColumns(gridColumns)\r\n if (tableElement.current) {\r\n (tableElement.current as HTMLElement).style.gridTemplateColumns = gridColumns.join(' ');\r\n setFlag(!flag)\r\n }\r\n }, [activeIndex, hedcolums, DefaultMinCellWidth]);\r\n\r\n\r\n\r\n const removeListeners = useCallback(() => {\r\n window.removeEventListener('mousemove', mouseMove);\r\n window.removeEventListener('mouseup', removeListeners);\r\n }, [mouseMove]);\r\n const mouseUp = useCallback(() => {\r\n setActiveIndex(null);\r\n removeListeners();\r\n }, [setActiveIndex, removeListeners]);\r\n\r\n function toggleActiveRow(obj) {\r\n if (typeof obj == \"string\") {\r\n let finded = false\r\n Data.forEach(item => {\r\n if (item.Id == obj) {\r\n finded = true\r\n setActiveRowId(item.Id)\r\n selectedRowObjectCallback && selectedRowObjectCallback(item);\r\n }\r\n });\r\n if (!finded) {\r\n setActiveRowId(obj)\r\n }\r\n\r\n } else {\r\n if (obj) {\r\n setActiveRowId(obj.Id)\r\n selectedRowObjectCallback && selectedRowObjectCallback(obj);\r\n\r\n }\r\n }\r\n\r\n // setActiveRow(rowIndex);\r\n // فرستادن مقدار آیدی به والد\r\n\r\n\r\n }\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (ummont) {\r\n let flag2 = false\r\n let hedlist = hedcolums.map(item => {\r\n return item.text\r\n })\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n\r\n }\r\n if (localFlag) {\r\n locallist.forEach(item => {\r\n if (item[0] == parentName) {\r\n item[1] = hedlist\r\n localFlag = false\r\n flag2 = true\r\n }\r\n });\r\n if (!flag2) {\r\n locallist.push([parentName, hedlist, widthColumns]);\r\n }\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n }\r\n ummont = false\r\n\r\n }\r\n\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (activeIndex !== null) {\r\n window.addEventListener('mousemove', mouseMove);\r\n window.addEventListener('mouseup', mouseUp);\r\n }\r\n\r\n let a = true\r\n\r\n return () => {\r\n if (a) {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n\r\n }\r\n if (localFlag) {\r\n locallist.forEach(item => {\r\n if (item[0] == parentName) {\r\n if (ummont)\r\n if (widthColumns.length > 0) {\r\n item[2] = widthColumns\r\n }\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n }\r\n\r\n\r\n }\r\n removeListeners();\r\n\r\n }\r\n }, [mouseMove, mouseUp]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n setData(data)\r\n setTableHeight(Data.length * 25 + 25 + \"px\"); // عدد 25 متناسب با ارتفاع سطر ها در نظر گرفته شده است global.$height_dataGrid_tr\r\n\r\n }, [Data]);\r\n useEffect(() => {\r\n selectedRowsCallback && selectedRowsCallback(selectListContext)\r\n }, [selectListContext]);\r\n useEffect(() => {\r\n\r\n setSelectListContext([])\r\n \r\n }, [resetCheckBox]);\r\n\r\n // -------------------------------------drag & drop func----------------------------------------------------------------------\r\n\r\n\r\n useEffect(() => {\r\n if (dragDrop) {\r\n if (dropId?.Id && dragId?.Id && (dropId.Id != dragId.Id)) {\r\n moveNude && moveNude(dragId.Id, dropId.Id)\r\n } else {\r\n if (dragBox.current) {\r\n (dragBox.current as HTMLElement).style.display = \"none\"\r\n\r\n }\r\n }\r\n }\r\n setDropId(null)\r\n setDragId(null)\r\n\r\n }, [dropId]);\r\n\r\n\r\n\r\n\r\n\r\n\r\n const mouseDragMove = useCallback((e) => {\r\n e.stopImmediatePropagation();\r\n\r\n if (dragDrop) {\r\n\r\n if (e && e.target && e.target.className && e.target.className.length > 0 && !e.target.className.includes(\"table-tree\")) {\r\n setErr(true)\r\n } else {\r\n setErr(false)\r\n }\r\n\r\n // Return an array of px values\r\n \r\n setDragBoxPo([e.pageX, e.pageY])\r\n\r\n if (dragId?.Id) {\r\n // dragBox?.current?.style?.display = \"block\"\r\n if (dragBox.current) {\r\n (dragBox.current as HTMLElement).style.display = \"flex\"\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n }\r\n\r\n\r\n }, [dragId]);\r\n\r\n\r\n\r\n\r\n const removeDragListeners = useCallback(() => {\r\n window.removeEventListener('mousemove', mouseDragMove);\r\n window.removeEventListener('mouseup', removeDragListeners);\r\n }, [mouseDragMove]);\r\n const mouseDragUp = useCallback((e) => {\r\n\r\n e.stopPropagation();\r\n\r\n if (dragBox.current) {\r\n (dragBox.current as HTMLElement).style.display = \"none\"\r\n\r\n }\r\n\r\n removeDragListeners();\r\n }, [setDragId, removeDragListeners]);\r\n\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n if (dragId !== null) {\r\n window.addEventListener('mousemove', mouseDragMove);\r\n window.addEventListener('mouseup', mouseDragUp);\r\n }\r\n\r\n\r\n\r\n return () => {\r\n\r\n removeDragListeners();\r\n\r\n }\r\n }, [mouseDragMove, mouseDragUp]);\r\n\r\n\r\n return (\r\n <>\r\n {Data && (\r\n
\r\n {IsArchive&&\r\n
\r\n {selectListContext.length>0 && selectListContext.length+ \":\"+trans(\"SelectedItems\")}\r\n
\r\n }\r\n
{err ? :

{dragId && dragId.Description}

}
\r\n
\r\n \r\n
\r\n {row[item.text] == null ? \" \" : (typeof (row[item.text]) == \"object\" ? row[item.text].length : row[item.text])}\r\n
\r\n
\r\n
\r\n \r\n \r\n {/* mouseDown(0)}\r\n className={`table-tree__resize-handle ${activeIndex === 0 ? 'active' : 'idle'}`}\r\n /> \r\n */}\r\n {hedcolums.map(({ ref, text }, index) => (\r\n \r\n {trans(text)} \r\n \r\n }\r\n >\r\n \r\n \r\n\r\n ))}\r\n \r\n \r\n \r\n \r\n {Data.map(item => {\r\n return \r\n })}\r\n\r\n \r\n \r\n
\r\n \r\n
{trans(text)}
\r\n
\r\n mouseDown(index)}\r\n className={`table-tree__resize-handle ${activeIndex === index ? 'active' : ''}`}\r\n />\r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { http } from \"utils/http\";\r\n\r\nexport const getChildren1 = (Url ,defultparam, params ,id) => http({\r\n url: Url,\r\n method: \"get\",\r\n params: {\r\n [params]: id,\r\n ...defultparam\r\n }\r\n}).then((res) => {\r\n \r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n","import { Button } from \"components/Button/Button\"\r\nimport { Loading } from \"components/Loading/loading\"\r\nimport { Textbox } from \"components/Textbox/Textbox\"\r\nimport { Toast } from \"components/ToastShow/ToastAlert\"\r\nimport { useEffect, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { getSubNode, sendNode } from \"./api\"\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\"\r\nimport { MessageType } from \"types/enum\"\r\n\r\n\r\ninterface props {\r\n showForm: (e:boolean) => void\r\n selectedObj: any\r\n mode: any\r\n\r\n}\r\n\r\ninterface OrganizationalArchiveDetail {\r\n RootId: string // id اولین سطر\r\n ParentId: string // id سطر انتخابی\r\n Description: string\r\n Code: string\r\n Format: string\r\n LevelLimitation: number\r\n ActivityStatus: number \r\n}\r\n\r\nexport const ArchiveFolderForm = ({showForm, selectedObj, mode}: props) => {\r\n const [nodeData, setNodeData] = useState()\r\n const [loading, setLoading] = useState(false)\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n const getNodeDataAsync = async() => {\r\n setLoading(false)\r\n try {\r\n const res = await getSubNode(selectedObj.Id)\r\n setNodeData(res.Data) \r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n\r\n }\r\n\r\n const sendNodeDataAsync = async(method , data) => {\r\n try {\r\n const res = await sendNode(data ,method )\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(true) \r\n } catch (error) {\r\n \r\n } \r\n\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(false)\r\n });\r\n }else{\r\n showForm(false) \r\n };\r\n\r\n\r\n }\r\n\r\n const handleSubmit = (event) => {\r\n event.preventDefault()\r\n if(mode === 'create'){\r\n if( (selectedObj?.RootId == null) ){\r\n const data = {\r\n RootId: selectedObj?.Id , \r\n ParentId: null, \r\n Description: event.target.Description.value,\r\n // Securitylevel : +event.target.Securitylevel.value\r\n } \r\n sendNodeDataAsync( \"post\", data)\r\n }else{\r\n const data = {\r\n RootId: selectedObj.RootId , \r\n ParentId: selectedObj?.Id, \r\n Description: event.target.Description.value,\r\n // Securitylevel : +event.target.Securitylevel.value\r\n } \r\n sendNodeDataAsync( \"post\", data)\r\n }\r\n }else if (mode === 'edit'){\r\n const data = {\r\n Id: selectedObj.Id,\r\n ParentId: nodeData.ParentId, \r\n RootId: nodeData.RootId, \r\n ActivityStatus: parseInt(event.target.ActivityStatus.value), \r\n Description: event.target.Description.value,\r\n // Securitylevel : +event.target.Securitylevel.value\r\n }\r\n sendNodeDataAsync(\"put\" , data)\r\n }\r\n } \r\n useEffect(()=>{\r\n if(selectedObj && mode != \"create\"){\r\n getNodeDataAsync()\r\n }else{\r\n setLoading(true)\r\n }\r\n },[])\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {loading ?\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n maxLength={900}\r\n mode={mode}\r\n required={true}\r\n defaultValue={mode === 'edit' || mode === 'view' ? nodeData && nodeData?.Title || nodeData?.Description : ''}\r\n />\r\n
\r\n {mode !=\"create\"&& \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n name=\"ActivityStatus\"\r\n label=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={mode === 'edit' || mode === 'view' ? nodeData && nodeData?.ActivityStatus : ''}\r\n mode={mode}\r\n />\r\n
\r\n }\r\n {mode !==\"view\" &&\r\n
\r\n
\r\n }\r\n
\r\n \r\n :\r\n \r\n \r\n \r\n }\r\n
\r\n
\r\n\r\n
\r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\"\r\nimport { http } from \"utils/http\"\r\n\r\n\r\n\r\n\r\n\r\nexport const sendNode = (data: any , method) => http({\r\n url: ENDPOINTS.archive.organizationalArchiveDetail.browse,\r\n method: method,\r\n data: data,\r\n params:{}\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\n\r\n\r\n\r\nexport const getFirstNode = (id: any) => http({\r\n url: ENDPOINTS.archive.organizationalArchive.load,\r\n method: \"get\",\r\n params: {\r\n Id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\nexport const getSubNode = (id: any) => http({\r\n url: ENDPOINTS.archive.organizationalArchiveDetail.load,\r\n method: \"get\",\r\n params: {\r\n Id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n","import { Button } from \"components/Button/Button\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\n\r\nimport { PostArchive, deleteArchived, getArchivedJob, getOrganizationArchive ,getPersonalArchive } from \"./api\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { TreeView } from \"components/TreeView/TreeView\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { ArchiveFolderForm } from \"pages/Secretariats/Archive/ArchiveStructure/components/ArchiveFolderForm/ArchiveFolderForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { passListContext } from \"components/ModalStepper/ModalStepper\";\r\nimport { MessageType } from \"types/enum\";\r\ninterface GroupPositionPropsType {\r\n onHide: () => void\r\n type: any\r\n Id: any\r\n jobId: any\r\n inDynamicForms?: any;\r\n\r\n}\r\n\r\nexport const ArchiveForm = ({inDynamicForms=false , Id, type=2, onHide ,jobId}: GroupPositionPropsType) => {\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [data, setData] = useState()\r\n const [archivedList, setArchivedList] = useState()\r\n const [ListResponse, setListResponse] = useState()\r\n const [loading, setLoading] = useState(false)\r\n const [showForm, setShowForm] = useState(false)\r\n const [selectedList, setSelectedList] = useState([])\r\n const [idCallback, setIdCallback] = useState(\"2\")\r\n const [parent, setParent] = useState(null)\r\n const [messageType, setMessageType] = useState(\"info\")\r\n\r\n\r\n async function submit(e) {\r\n e.preventDefault();\r\n let addList:any = []\r\n selectedList.forEach((item , index )=> {\r\n addList.push(item.Id)\r\n \r\n });\r\n try {\r\n if(addList.length>0){\r\n if(type==1 ){\r\n let data = {\r\n \"JobIdList\": [jobId],\r\n \"PersonalArchiveDetailIdList\":addList\r\n }\r\n await PostArchive(data ,type );\r\n onHide()\r\n setResetForm(true);\r\n }else{\r\n let data = {\r\n \"JobIdList\":[ jobId],\r\n \"OrganizationalArchiveDetailIdList\": addList\r\n }\r\n await PostArchive(data ,type );\r\n onHide()\r\n setResetForm(true);\r\n }\r\n }else\r\n // Toast(\"Msg_ChooseLocationForArchive\" , \"error\")\r\n Toast(\"Msg_ChooseLocationForArchive\" , MessageType.error)\r\n\r\n } catch (error) {\r\n \r\n }\r\n }\r\n async function deleteArchivedAsync(e){\r\n try {\r\n const respons = await deleteArchived(jobId)\r\n getarchiveStructureAsync(type)\r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n async function getarchiveStructureAsync(type) {\r\n setLoading(false)\r\n if(type==1){\r\n const respons = await getPersonalArchive(null)\r\n if(respons.Data.length>0){\r\n setData(respons.Data)\r\n }\r\n }else{\r\n const respons = await getOrganizationArchive(null)\r\n if(respons.Data.length>0){\r\n setData(respons.Data)\r\n }\r\n try {\r\n const archive = await getArchivedJob(jobId)\r\n setArchivedList(archive.Data) \r\n } catch (error) {\r\n \r\n }\r\n\r\n }\r\n setLoading(true)\r\n }\r\n \r\n useEffect(() => {\r\n getarchiveStructureAsync(type)\r\n\r\n // setPassList(\"ArchiveForm\")\r\n \r\n }, []);\r\n useEffect(() => {\r\n if(idCallback){\r\n setIdCallback(null)\r\n }\r\n }, [idCallback]);\r\n\r\n \r\n\r\n\r\n return (\r\n
\r\n\r\n {\r\n showForm &&\r\n setShowForm(false)} show={showForm}>\r\n { setIdCallback(parent.Id) ;setShowForm(false);}} \r\n selectedObj={parent} \r\n mode={\"create\"} \r\n />\r\n \r\n }\r\n {(archivedList&&archivedList.length >0 )&& \r\n
\r\n
\r\n
{trans(\"ArchivedIn\")}
\r\n
\r\n
\r\n
\r\n
\r\n {archivedList.map(item=>(\r\n
\r\n {item}\r\n
\r\n ))}\r\n
\r\n\r\n
\r\n {Toast(trans(\"Msg_AreYouSureRemoveJobFromAllArchives\"), \"warning\" , \"alert\" ,deleteArchivedAsync)}}\r\n onClick={() => {Toast(trans(\"Msg_AreYouSureRemoveJobFromAllArchives\"), MessageType.confirm ,deleteArchivedAsync)}}\r\n\r\n />\r\n \r\n
\r\n
\r\n
\r\n \r\n }\r\n
\r\n
\r\n
{trans(\"Msg_ChooseLocationForArchive\")}
\r\n
\r\n
\r\n\r\n
\r\n <>\r\n {\r\n loading ? (\r\n data ?\r\n {setParent(id) ; setShowForm(true)}}\r\n IsArchive={true}\r\n multiselect={true}\r\n selectedRowObjectCallback={(e)=>{}}\r\n selectedRowObject={idCallback}\r\n getChildrenUrl={type==1?ENDPOINTS.archive.personalArchive.archives: ENDPOINTS.archive.organizationalArchive.archives}\r\n theadData={[\"Id\" , \"ParentId\", \"DetailList\" , \"Title\" ]}\r\n startIndex={2}\r\n Titleparams={\"Title\"}\r\n Childrenparams={'DetailList'}\r\n scrollHeight={\"370px\"}\r\n defultShow={false}\r\n Data={data} \r\n parentName={\"ArchiveFiles\"}\r\n selectedRowsCallback={setSelectedList}\r\n ListResponse={ListResponse}\r\n \r\n />\r\n : \r\n )\r\n : \r\n }\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n }","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getProfile = () => http({\r\n url: ENDPOINTS.profileApi.profile,\r\n method: 'get',\r\n\r\n}).then((res) => {\r\n \r\n return res.data.Data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const getCurrentNotSeenCountDictionary = () => http({\r\n url: ENDPOINTS.cartable.notificationsDictionary,\r\n method: 'get',\r\n\r\n}).then((res) => {\r\n \r\n return res.data.Data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const getUserInfo = () => http({\r\n baseURL:process.env.REACT_APP_CHAT_SERVICE_URL,\r\n url: ENDPOINTS.Chatuser.userInfo, \r\n method: 'get',\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\n\r\nexport const getAllSubstitute = (async (pageNumber: number, pageSize: number ,orderFormat:string =\"\" , filterlist , Search)=> await http({\r\n url: ENDPOINTS.BaseInformation.position.substitute,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString:Search,\r\n OrderByString : orderFormat,\r\n FilterString:filterlist,\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\n\r\n\r\nexport const getSubstitute = (async (id) => await http({\r\n url: ENDPOINTS.BaseInformation.position.substituteId,\r\n headers: { \"Accept-Language\": \"en\" },\r\n\r\n method: 'get',\r\n params: { Id: id }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const postSubstitute = (data) => http({\r\n url: ENDPOINTS.BaseInformation.position.substitute,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n\r\nexport const putSubstitute = (data) => http({\r\n url: ENDPOINTS.BaseInformation.position.substitute,\r\n method: 'put',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\nexport const deleteSubstitute = (id) => http({\r\n url: ENDPOINTS.BaseInformation.position.substitute,\r\n method: 'DELETE',\r\n params: {\r\n substitutePositionId :id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\nexport const getUserInfoForm = () => http({\r\n url: ENDPOINTS.profileApi.userInfo,\r\n method: 'get'\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n\r\nexport const postUserInfoForm = (data) => http({\r\n url: ENDPOINTS.profileApi.profile,\r\n method: 'put',\r\n data:data\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\nexport const getPersonApi = (async (search, id) => await http({\r\n\r\n url: id.length >1 ? ENDPOINTS.BaseInformation.person.dictionaryId : ENDPOINTS.BaseInformation.person.DictionaryOrganization,\r\n method: 'get',\r\n params: {\r\n SearchString: search,\r\n Id: id\r\n }\r\n}) \r\n .then((respons) => (respons.data.Data))\r\n)\r\nexport const getcontact = (async (num) => await http({\r\n\r\n url:ENDPOINTS.BaseInformation.person.searchByNumber ,\r\n method: 'get',\r\n params: {\r\n PhoneNumber: num,\r\n \r\n }\r\n}) \r\n .then((respons) => (respons.data))\r\n)\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const getWidgetList = (IsPublic) => http({\r\n url: ENDPOINTS.Widget.widgetListName,\r\n method: 'get',\r\n params:{\r\n IsPublic:IsPublic\r\n }\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n","import { useEffect, useState, useRef } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getPersonApi } from \"../api\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n\r\ninterface PersonPropsType {\r\n label?: string,\r\n hasBorder?: boolean,\r\n required?: boolean,\r\n value?:string,\r\n name:any,\r\n mode?:string,\r\n resetForm?:any,\r\n Change?: (e) => void,\r\n setPerson?: (e) => void,\r\n}\r\n\r\nexport const Person = ({ label, name,hasBorder,value,mode ,required , resetForm ,Change , setPerson}: PersonPropsType) => {\r\n const [personsList, setPersonsList] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag , setFlag] = useState(false);\r\n const [show , setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [rquird , setRquird] = useState(false);\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const PersonRef = useRef(personsList);\r\n const validRef = useRef(false);\r\n const countRef = useRef(0)\r\n\r\n let optionList :any = []\r\n\r\n\r\n async function getPersonListAsync(search,id) {\r\n try{\r\n const res = await getPersonApi(search,id);\r\n if (id){\r\n setValeu(res[id] , id)\r\n setValueName(res[id])\r\n }\r\n setPersonsList({ ...res}) \r\n PersonRef.current = { ...res}\r\n setFlag(!flag)\r\n }catch(err:any){\r\n \r\n }\r\n }\r\n \r\n const Auto = (e)=>{\r\n validRef.current = false\r\n setValidat(false)\r\n setRquird(false)\r\n setShow(true)\r\n getPersonListAsync(e.target.value,\"\")\r\n setFlag(!flag)\r\n }\r\n\r\n function userSelecter(){\r\n setValeu(optionList[countRef.current],Object.keys(personsList)[countRef.current])\r\n setShow(false)\r\n }\r\n const kydown = (event) => { \r\n\r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < optionList.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = optionList.length-1;\r\n }\r\n }\r\n document.getElementById(\"personsListIndex\"+countRef.current)?.scrollIntoView({behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n }\r\n \r\n\r\n const CheckPerson =async (e)=>{\r\n setTimeout(() => { \r\n if(!validRef.current){ \r\n if(personsList!=undefined && Object.values(personsList).length == 1){\r\n setValeu(Object.values(personsList)[0] , Object.keys(personsList)[0])\r\n e.target.setCustomValidity(\"\");\r\n }else{\r\n if(inputRef.current){\r\n setValeu(null,null) \r\n }\r\n if(inputRef?.current?.value.length >0&&inputRef?.current?.value!=\"\"){\r\n e.target.setCustomValidity(trans(\"Msg_Validation_ValueIsIncorrect\"));\r\n setValidat(true);\r\n e.target.reportValidity();\r\n }\r\n setPerson && setPerson(null);\r\n }\r\n }\r\n }, 200);\r\n await delay(200)\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n }\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n const setValeu = (newValue , id)=>{\r\n if(inputIdRef != null && inputIdRef.current != null){\r\n validRef.current = true\r\n inputRef.current.value=newValue;\r\n inputIdRef.current.value=id;\r\n PersonRef.current = null;\r\n ((value==null &&id)|| id != value) ? Change&&Change({[name] :newValue}):Change&&Change({[name]:null});\r\n \r\n setPersonsList(null)\r\n setFlag(!flag)\r\n inputRef.current.setCustomValidity(\"\")\r\n setPerson && setPerson(inputIdRef.current.value)\r\n setValidat(false)\r\n }\r\n }\r\n useEffect(() => {\r\n if(value){\r\n getPersonListAsync(null,value)\r\n\r\n }else if(value == null){\r\n setValueName(null)\r\n }\r\n }, [value]);\r\n\r\n useEffect(() =>{\r\n if(show ){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n \r\n } \r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n \r\n \r\n },[show ,optionList])\r\n \r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) { \r\n setShow(false);\r\n }\r\n }\r\n \r\n\r\n if(personsList){\r\n optionList = Object.values(personsList)\r\n }\r\n return (\r\n <>\r\n
\r\n \r\n {trans(label ? label :\"ChoosePerson\")}\r\n \r\n }>\r\n
\r\n \r\n {required && *}\r\n
\r\n \r\n \r\n \r\n {setShow(true);Auto(e)}} ref={inputRef} list=\"PersonList\" name=\"browser\" className=\"text-box__box form-control \" id={\"browser\"+name} onMouseDown={(e)=>e.stopPropagation() } onChange={Auto} disabled={mode ==\"view\" ? true : false} />\r\n {\r\n show && \r\n
\r\n {optionList && optionList.map((item , index)=>{\r\n return
{setValeu(item,Object.keys(personsList)[index])}} key={Object.keys(personsList)[index]} >{item}
\r\n })} \r\n
\r\n } \r\n
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n {required && {trans(\"Msg_Validation_ValueIsRequired\", [\"\"])}}\r\n
\r\n
\r\n \r\n )\r\n}","import { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { InputHTMLAttributes, useContext, useEffect, useState } from \"react\";\r\nimport { getLeaveDaysRemainsApi } from \"./api\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\n\r\ninterface RemainingDayCountProp extends InputHTMLAttributes {\r\n value?: any;\r\n mode?: string;\r\n required?: boolean;\r\n RequesterPositionId?: string;\r\n}\r\n\r\nexport const RemainingDayCount = ({ value, mode, required,RequesterPositionId }: RemainingDayCountProp) => {\r\n const [optionsRemainingDayCount, setOptionsRemainingDayCount] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [errcode, setErrcode] = useState();\r\n const layoutContext = useContext(LayoutContext); \r\n\r\n const getRemainingDayCountAsync = async () => {\r\n setLoading(false)\r\n try {\r\n const res = await getLeaveDaysRemainsApi((RequesterPositionId&&mode!=\"create\"&&value==null ) ?RequesterPositionId : layoutContext.currentUserPosition.PositionId)\r\n setOptionsRemainingDayCount(res?.Data )\r\n\r\n } catch (error: any) {\r\n \r\n setErrcode(error?.response?.status)\r\n }\r\n setLoading(true)\r\n }\r\n\r\n useEffect(() => {\r\n if (mode == \"create\"&&(value==null||value==undefined)) {\r\n getRemainingDayCountAsync()\r\n } else {\r\n setLoading(true)\r\n }\r\n if(value||value==0){\r\n setOptionsRemainingDayCount(value)\r\n }\r\n }, []);\r\n return (\r\n <> \r\n \r\n {(optionsRemainingDayCount||optionsRemainingDayCount==0)&& loading ?\r\n
\r\n \r\n
\r\n : <>\r\n \r\n \r\n }\r\n \r\n );\r\n};\r\n","\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\nexport const getLeaveDaysRemainsApi = (PositionId) => http({\r\n url: ENDPOINTS.cartable.dailyLeave.leaveDaysRemains,\r\n method: 'get',\r\n params:{\r\n PositionId\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n\r\n\r\nexport const postDailyLeaveData = (data, processId) => http({\r\n method: \"post\",\r\n url: ENDPOINTS.cartable.dailyLeave.browse,\r\n data: data,\r\n params:{\r\n PRJ_UID : processId\r\n }\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\nexport const putDailyLeaveData = (data ,referenceId) => http({\r\n method: \"put\",\r\n url: ENDPOINTS.cartable.dailyLeave.browse,\r\n data: data,\r\n params:{\r\n referenceId : referenceId\r\n }\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getDailyLeaveData = ( Id) => http({\r\n url: ENDPOINTS.cartable.dailyLeave.load,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n Id:Id\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\nexport const getDailyLeaveDataByreferenceId = ( Id) => http({\r\n url: ENDPOINTS.cartable.dailyLeave.referenceId,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n referenceId:Id\r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});","\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getPosition = (positionId: any) => http({\r\n url: ENDPOINTS.BaseInformation.position.dictionary,\r\n method: 'get',\r\n params: {\r\n id: positionId\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n\r\n })\r\n\r\nexport const getGeneralRequestByReferenceId = (referenceId: any) => http({\r\n url: ENDPOINTS.cartable.GeneralRequest.load,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n referenceId: referenceId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getReverseList = (referenceId: any) => http({\r\n url: ENDPOINTS.cartable.refer.reverseList,\r\n method: 'get',\r\n params: {\r\n referenceId: referenceId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\n\r\n\r\nexport const getGeneralRequest = (GeneralRequestId: any) => http({\r\n url: ENDPOINTS.cartable.GeneralRequest.GeneralRequestId,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n Id: GeneralRequestId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const postGeneralRequest = (data: any, returnReferenceId ,processId) => http({\r\n url: ENDPOINTS.cartable.GeneralRequest.browse,\r\n method: 'post',\r\n data: data,\r\n params: {\r\n PRJ_UID: processId\r\n }\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const putGeneralRequest = (data: any ,referenceId) => http({\r\n url: ENDPOINTS.cartable.GeneralRequest.browse,\r\n method: 'put',\r\n data: data,\r\n params:{\r\n referenceId:referenceId\r\n }\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getProcessId = (formName) => http({\r\n url: ENDPOINTS.bpmnApi.process.getProcessId ,\r\n method: 'get',\r\n params:{\r\n formName:formName\r\n }\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n","import { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { UserContext } from \"components/ModalForm/ModalForm\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { GeneralRequestDTO } from \"pages/OfficeAutomation/Cartable/types\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getGeneralRequest, getGeneralRequestByReferenceId, getProcessId, postGeneralRequest, putGeneralRequest } from \"./api\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface GeneralRequestFormPropsType {\r\n onHide: (usenavigate?) => void;\r\n handleCancelForm: (ans: boolean) => void;\r\n handleShowReferenceStepper?: (referenceId: string) => void;\r\n referenceId?: string;\r\n processId?: string;\r\n Description?: string;\r\n Id?: string;\r\n mode;\r\n}\r\nexport const GeneralRequestForm = ({\r\n handleCancelForm,\r\n referenceId,\r\n processId,\r\n Id,\r\n Description,\r\n mode,\r\n onHide,\r\n handleShowReferenceStepper,\r\n}: GeneralRequestFormPropsType) => {\r\n let GeneralRequestDTO: GeneralRequestDTO | any;\r\n\r\n const [showReferenceStepper, setShowReferenceStepper] = useState(false);\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const layoutContext = useContext(LayoutContext);\r\n const [response, setResponse] = useState();\r\n\r\n const [userMadeChanges, setUserMadeChanges] = useContext(UserContext);\r\n\r\n\r\n async function getGeneralRequestAsync() {\r\n setLoading(false);\r\n try {\r\n \r\n if(Id){\r\n const res = await getGeneralRequest(Id );\r\n setResponse(res);\r\n GeneralRequestDTO = res.Data;\r\n\r\n }else if(referenceId){\r\n\r\n const res = await getGeneralRequestByReferenceId(referenceId);\r\n setResponse(res);\r\n GeneralRequestDTO = res.Data;\r\n }\r\n \r\n\r\n \r\n } catch (error){ }\r\n setLoading(true);\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if(mode != \"create\" || (Id&&Id?.length>0)){\r\n if ((referenceId||Id) && !showReferenceStepper) getGeneralRequestAsync();\r\n\r\n }\r\n }, [referenceId ,Id]);\r\n\r\n const handleGeneralRequestFormSubmit = (event) => {\r\n event.preventDefault();\r\n if (mode == \"edit\") {\r\n let data: GeneralRequestDTO = {\r\n Id: response.Data.Id,\r\n Description: event.target.Description.value,\r\n RequesterPositionId: event.target.RequesterPosition.value,\r\n Applicant: event.target.applicant.value,\r\n GeneralRequestClassificationId: event.target.GeneralRequestClassification.value,\r\n };\r\n sendDataAsync(data, \"put\" );\r\n } else {\r\n let data: GeneralRequestDTO = {\r\n Description: event.target.Description.value,\r\n RequesterPositionId: event.target.RequesterPosition.value,\r\n Applicant: event.target.applicant.value,\r\n GeneralRequestClassificationId: event.target.GeneralRequestClassification.value,\r\n\r\n \r\n };\r\n sendDataAsync(data, \"post\" );\r\n }\r\n };\r\n\r\n\r\n async function sendDataAsync(data: GeneralRequestDTO, method ) {\r\n try {\r\n let res;\r\n if (method === \"post\"){\r\n if(processId == null){\r\n const prId = await getProcessId(\"GeneralRequestForm\")\r\n res = await postGeneralRequest(data, true , prId.Data);\r\n }else{\r\n\r\n res = await postGeneralRequest(data, true , processId);\r\n }\r\n\r\n\r\n }else res = await putGeneralRequest(data ,referenceId);\r\n if (showReferenceStepper) {\r\n handleShowReferenceStepper && handleShowReferenceStepper(!(res.MessageType ==MessageType.success) ? false: method === \"post\" ? res.Data : referenceId);\r\n } else {\r\n handleCancelForm(false);\r\n onHide(true);\r\n }\r\n } catch (err: any) { }\r\n }\r\n if (response ) {\r\n GeneralRequestDTO = {GeneralRequest : response.Data};\r\n }\r\n \r\n\r\n return (\r\n\r\n <>\r\n\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n {loading ? (\r\n
\r\n
\r\n
\r\n {\r\n \r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {mode != \"view\" ? (\r\n
\r\n {!Description && \r\n
\r\n ) : (\r\n <>\r\n )}\r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n","\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\n\r\nexport const postHourlyLeaveData = (data, processId) => http({\r\n method: \"post\",\r\n url: ENDPOINTS.cartable.HourlyLeave.browse,\r\n data: data,\r\n params:{\r\n PRJ_UID : processId\r\n }\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\nexport const putHourlyLeaveData = (data ,referenceId) => http({\r\n method: \"put\",\r\n url: ENDPOINTS.cartable.HourlyLeave.browse,\r\n data: data,\r\n params:{\r\n referenceId:referenceId\r\n }\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getHourlyLeaveData = ( Id) => http({\r\n url: ENDPOINTS.cartable.HourlyLeave.load,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n Id:Id\r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\nexport const getHourlyLeaveDataByReferenceId = ( Id) => http({\r\n url: ENDPOINTS.cartable.HourlyLeave.referenceId,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n referenceId:Id\r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getDataForPrint = ( Id) => http({\r\n url: ENDPOINTS.cartable.HourlyLeave.PrintData,\r\n method: \"get\",\r\n params:{\r\n JobId:Id,\r\n useWarmSignature: true \r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { UserContext } from \"components/ModalForm/ModalForm\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getJobSendData, postJobSendData, putJobSendData } from \"./api\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface JobSendFormPropsType {\r\n mode?: any,\r\n processId?: any,\r\n Id?: any,\r\n step:any,\r\n onHide: () => void,\r\n inDynamicForms?: any;\r\n\r\n}\r\n\r\nexport const JobSendForm = ({\r\n mode,\r\n processId,\r\n Id,\r\n step=1,\r\n onHide,\r\n inDynamicForms=false\r\n\r\n}: JobSendFormPropsType) => {\r\n const [SentTime, setSentTime] = useState();\r\n const [untilDate, setUntilDate] = useState();\r\n\r\n const [response, setResponse] = useState();\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [userMadeChanges, setUserMadeChanges] = useContext(UserContext);\r\n const [localMode, setLocalMode] = useState(\"create\");\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n\r\n async function formSubmit(e) {\r\n e.preventDefault()\r\n let data\r\n let method\r\n if(response.Id ){\r\n method = \"put\"\r\n if(step > 1){\r\n data = {\r\n \"Id\" : response.Id ,\r\n \"RequesterPositionId\": response.RequesterPositionId,\r\n \"RequestDate\":response.RequestDate,\r\n \"JobSendHistoryRequestClassificationId\":response.JobSendHistoryRequestClassificationId,\r\n \"StartDate\": SentTime,\r\n \"EndDate\":untilDate,\r\n \"Description\": response.Description,\r\n \"SubstitutePersonId\": response.SubstitutePersonId,\r\n \"RemainingDayCount\" : e.target.RemainingDayCount.value,\r\n \"LeaveDaysNo\" : e.target.LeaveDaysNo.value,\r\n }\r\n }else{\r\n data = {\r\n \"Id\" : response.Id ,\r\n \"RequesterPositionId\": response.RequesterPositionId,\r\n \"RequestDate\":response.RequestDate,\r\n \"JobSendHistoryRequestClassificationId\":response.JobSendHistoryRequestClassificationId,\r\n \"StartDate\": SentTime,\r\n \"EndDate\":untilDate,\r\n \"Description\": response.Description,\r\n \"SubstitutePersonId\": response.SubstitutePersonId,\r\n \"LeaveDaysNo\" : e.target.LeaveDaysNo.value,\r\n }\r\n }\r\n try {\r\n const res = await putJobSendData(data)\r\n setResetForm(true)\r\n onHide()\r\n }catch (error) {\r\n\r\n }\r\n\r\n }else{\r\n method = \"post\"\r\n data = {\r\n\r\n \"JobId\": Id,\r\n \"OperatorPositionId\": e.target.OperatorPositionId.value,\r\n \"JobSendMethodId\": e.target.JobSendMethodId.value,\r\n \"SentTime\": SentTime,\r\n \"SentDescription\": e.target.SentDescription.value,\r\n \"ReceiverPerson\": e.target.ReceiverPerson.value,\r\n \"IsSent\": e.target.IsSent.value==\"true\",\r\n }\r\n try {\r\n const res = await postJobSendData(data,processId)\r\n setResetForm(true)\r\n onHide()\r\n }catch (error) {\r\n \r\n }\r\n }\r\n }\r\n\r\n async function getJobSendHistoryAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getJobSendData(Id )\r\n if(res.Data){\r\n setSentTime(res.Data.SentTime)\r\n setResponse(res.Data)\r\n }else{\r\n setResponse({})\r\n\r\n }\r\n } catch (error) {\r\n setResponse({})\r\n }\r\n setLoading(true)\r\n }\r\n \r\n useEffect(() => {\r\n if (resetForm) { \r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if ((mode == \"edit\" && step ==1) ) {\r\n setLocalMode(\"create\")\r\n }else if(step ==3 ||mode == \"edit\"){\r\n setLocalMode(\"edit\") \r\n }else{\r\n setLocalMode(mode)\r\n }\r\n }, [mode]);\r\n\r\n useEffect(() => {\r\n if( step >=1 || mode != \"create\"){\r\n getJobSendHistoryAsync()\r\n }else{\r\n setLoading(true)\r\n setResponse({})\r\n }\r\n }, []);\r\n\r\n\r\n\r\n return (\r\n
\r\n {loading ?\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n resetForm={resetForm}\r\n lable=\"SentTime\"\r\n setIsoTime={(isoTime: string) => { setSentTime(isoTime) }}\r\n val={response?.StartDate ? response?.StartDate : SentTime} //resetForm ? new Date().toISOString() : \r\n />\r\n
\r\n
\r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n resetForm={resetForm}\r\n textboxType=\"text\"\r\n textboxName=\"ReceiverPerson\"\r\n labelText=\"ReceiverPerson\"\r\n maxLength={50} \r\n defaultValue={response.ReceiverPerson ?response.ReceiverPerson :\"\"}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n 1 || mode==\"view\") ? true: false}\r\n mode={step >1 ? \"view\" : mode}\r\n resetForm={resetForm}\r\n textboxType=\"textarea\"\r\n textboxName=\"SentDescription\"\r\n labelText=\"Description\"\r\n maxLength={900}\r\n defaultValue={response.SentDescription}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {localMode !== \"view\" ?\r\n <>\r\n
\r\n
\r\n
\r\n : \r\n }\r\n
\r\n );\r\n}","\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\n\r\nexport const postJobSendData = (data, processId) => http({\r\n method: \"post\",\r\n url: ENDPOINTS.cartable.JobSend.browse,\r\n data: data,\r\n params:{\r\n PRJ_UID : processId\r\n }\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\nexport const putJobSendData = (data) => http({\r\n method: \"put\",\r\n url: ENDPOINTS.cartable.JobSend.browse,\r\n data: data,\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getJobSendData = ( Id) => http({\r\n url: ENDPOINTS.cartable.JobSend.load,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n JobId:Id\r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { UserContext } from \"components/ModalForm/ModalForm\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface LetterSendFormPropsType {\r\n mode?: any,\r\n jobId?: any,\r\n Name?: any,\r\n LetterSendHistoryId?: any,\r\n processId?: any,\r\n selectedRow?: any,\r\n Id?: any,\r\n referenceId?: any,\r\n step:any,\r\n showForm:any,\r\n isAllForms:any,\r\n allFormData:any,\r\n onHide: () => void,\r\n setShowForm: (e) => void,\r\n handleShowReferenceStepper?: (referenceId: string) => void;\r\n handleSubmitedData?: (data: any ,flag ) => void;\r\n\r\n}\r\n\r\nexport const LetterSendForm = ({\r\n mode,\r\n jobId,\r\n Name,\r\n LetterSendHistoryId,\r\n processId,\r\n selectedRow,\r\n Id,\r\n referenceId,\r\n step=1,\r\n showForm,\r\n allFormData,\r\n isAllForms,\r\n onHide,\r\n setShowForm,\r\n handleShowReferenceStepper,\r\n handleSubmitedData,\r\n\r\n}: LetterSendFormPropsType) => {\r\n const [SentTime, setSentTime] = useState();\r\n const [ReceiveTime, setReceiveTime] = useState();\r\n const [untilDate, setUntilDate] = useState();\r\n const [leaveDaysNo, setLeaveDaysNo] = useState();\r\n const [requestDate, setRequestDate] = useState();\r\n const [response, setResponse] = useState();\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [userMadeChanges, setUserMadeChanges] = useContext(UserContext);\r\n const [showstep, setShowstep] = useState({});\r\n const [localMode, setLocalMode] = useState(\"create\");\r\n const layoutContext = useContext(LayoutContext);\r\n const [showReferenceStepper, setShowReferenceStepper] = useState(false);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n async function formSubmit(e) {\r\n e.preventDefault()\r\n setShowstep({2:false , 1:false})\r\n let data={}\r\n let method\r\n method = \"post\"\r\n data = {\r\n \"Id\":selectedRow.Id,\r\n\r\n \"JobId\": Id,\r\n \"SendOperatorPositionId\": e.target.SendOperatorPositionId.value,\r\n \"ReceiverId\" :selectedRow.ReceiverId,\r\n \"SendMethodId\": e.target.LetterSendMethodId.value,\r\n \"Receiver\" : selectedRow.Receiver,\r\n \"ReceiverPerson\": e.target.ReceiverPerson.value,\r\n \"SentDescription\": e.target.SentDescription.value,\r\n \"SentTime\": SentTime,\r\n \"IsSent\": e.target.IsSent.checked,\r\n \"IsReceived\": e.target.IsReceived.checked,\r\n \"ReceiveTime\": ReceiveTime,\r\n \"ReceiveDescription\": e.target.ReceiveDescription.value,\r\n\r\n\r\n }\r\n try {\r\n handleSubmitedData && handleSubmitedData(data ,isAllForms )\r\n\r\n }catch (error) {\r\n \r\n }\r\n \r\n }\r\n\r\n\r\n \r\n useEffect(() => {\r\n if (resetForm) { \r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if ((mode == \"edit\" && step ==1) ) {\r\n setLocalMode(\"create\")\r\n }else if(step ==3 ||mode == \"edit\"){\r\n setLocalMode(\"edit\") \r\n }else{\r\n setLocalMode(mode)\r\n }\r\n }, [mode]);\r\n\r\n useEffect(() => {\r\n if( step >=1 || mode != \"create\"){\r\n setLoading(true)\r\n }else{\r\n setLoading(true)\r\n setResponse({})\r\n }\r\n }, []);\r\n\r\n\r\n\r\n return (\r\n
\r\n {loading ?\r\n
\r\n
\r\n
\r\n
\r\n
{trans(\"send\")}
\r\n
{showstep[1]?setShowstep({...showstep , 1:false}):setShowstep({...showstep , 1:true}) }} >{showstep[1] ? :}
\r\n
\r\n
\r\n
\r\n
\r\n 0 ?\"view\" :\"edit\"}\r\n value={mode == \"create\" ? layoutContext.currentUserPosition.PositionId : selectedRow.SendOperatorPositionId }\r\n resetForm={resetForm}\r\n />\r\n
\r\n
\r\n 0 ?\"view\" :\"edit\"}\r\n />\r\n
\r\n
\r\n {(selectedRow.Id!= undefined &&selectedRow.Id.length > 0) ? \r\n \r\n :\r\n 0 ?\"view\" :\"edit\"}\r\n resetForm={resetForm}\r\n lable=\"SentTime\"\r\n setIsoTime={(isoTime: string) => { setSentTime(isoTime) }}\r\n val={selectedRow?.SentTime ? selectedRow?.SentTime : null} //resetForm ? new Date().toISOString() : \r\n /> \r\n }\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n 0 ?\"view\" :\"edit\"}\r\n resetForm={resetForm}\r\n textboxType=\"text\"\r\n textboxName=\"ReceiverPerson\"\r\n labelText=\"ReceiverPerson\"\r\n maxLength={50} \r\n defaultValue={selectedRow.ReceiverPerson ?selectedRow.ReceiverPerson :\"\"}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n 1 || mode==\"view\") ? true: false}\r\n mode={selectedRow.Id!= undefined &&selectedRow.Id.length > 0 ?\"view\" :\"edit\"}\r\n resetForm={resetForm}\r\n textboxType=\"textarea\"\r\n textboxName=\"SentDescription\"\r\n labelText=\"SentDescription\"\r\n maxLength={900}\r\n defaultValue={selectedRow.SentDescription}\r\n />\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
{trans(\"receive\")}
\r\n
{showstep[2]?setShowstep({...showstep , 2:false}):setShowstep({...showstep , 2:true}) }}>{showstep[2] ? :}
\r\n
\r\n
\r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n resetForm={resetForm}\r\n lable=\"ReceiveTime\"\r\n setIsoTime={(isoTime: string) => { setReceiveTime(isoTime) }}\r\n val={selectedRow?.ReceiveTime ? selectedRow?.ReceiveTime : null} //resetForm ? new Date().toISOString() : \r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n 1 || mode==\"view\") ? true: false}\r\n mode={step >1 ? \"view\" : mode}\r\n resetForm={resetForm}\r\n textboxType=\"textarea\"\r\n textboxName=\"ReceiveDescription\"\r\n labelText=\"ReceiveDescription\"\r\n maxLength={900}\r\n defaultValue={selectedRow.ReceiveDescription}\r\n />\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n {localMode !== \"view\" ?\r\n <>\r\n
\r\n\r\n
\r\n
\r\n : \r\n\r\n\r\n \r\n }\r\n\r\n \r\n\r\n
\r\n );\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\n\r\ninterface ItemGroupLabelSliderProps{ \r\n children?: React.ReactNode | any;\r\n isArrow?:boolean\r\n}\r\n\r\nexport const ItemGroupLabelSlider = ({children,isArrow}:ItemGroupLabelSliderProps) => {\r\n var size = 0\r\n const BoxRef = useRef(null)\r\n const [showScroll, setShowScroll] = useState(true);\r\n const [cloase,setClose] = useState<'left'|'right'|'none'>('none')\r\n\r\n const handleRight = () =>{\r\n size = size + 20\r\n const { scrollLeft, scrollWidth, clientWidth }:any = BoxRef.current\r\n if(scrollLeft<0){\r\n BoxRef.current?.scrollTo({left :scrollLeft+150,top:0, behavior: \"smooth\"})\r\n }\r\n }\r\n\r\n \r\n const handleLeft = () =>{\r\n size = size - 20\r\n const { scrollLeft, scrollWidth, clientWidth }:any = BoxRef.current\r\n if(scrollWidth+scrollLeft > clientWidth){\r\n BoxRef.current?.scrollTo({left :scrollLeft-150,top:0, behavior: \"smooth\"})\r\n }\r\n }\r\n \r\n const chackArrow = () =>{\r\n const { scrollLeft, scrollWidth, clientWidth }:any = BoxRef.current\r\n if(scrollWidth + scrollLeft <= clientWidth){\r\n setClose('left')\r\n }else if(scrollLeft >= 0){\r\n setClose('right')\r\n }else{\r\n setClose('none')\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const { scrollLeft, scrollWidth, clientWidth }:any = BoxRef.current\r\n if(scrollWidth <= clientWidth){\r\n setShowScroll(false)\r\n }\r\n // if(scrollWidth == clientWidth){\r\n // setShowScroll(false)\r\n // }\r\n chackArrow()\r\n\r\n }, [ ]); \r\n return ( \r\n
\r\n {(!isArrow && showScroll) &&\r\n \r\n }\r\n
chackArrow()} className=\" itemSlider__scrollBx d-flex w-100 pb-2\">\r\n <> \r\n {children}\r\n \r\n
\r\n {(!isArrow && showScroll)&& \r\n \r\n }\r\n
\r\n );\r\n}\r\n \r\n","import { APP_URL, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\n\r\nexport const SignatureBaseUrl ={\r\n SalesInvoices:{\r\n baseUrl:INVENTORYANDSALES_URL,\r\n endpoint:ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.signature\r\n },\r\n SalesPreInvoices:{\r\n baseUrl:INVENTORYANDSALES_URL,\r\n endpoint:ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.signature\r\n },\r\n automation:{\r\n baseUrl:APP_URL,\r\n endpoint:ENDPOINTS.cartable.signature.browse\r\n },\r\n\r\n}","import { BaseUrlsKey, MEETINGMANAGEMENT_URL } from \"utils/constants\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nimport { ENDPOINTSMEETINGMANAGEMENT } from \"utils/endpoints\";\r\nimport { SignatureBaseUrl } from \"./SignatureBaseUrl\";\r\n\r\n\r\n\r\nexport const getDefaultSignature = (async (personId ) => await http({\r\n url: ENDPOINTS.BaseInformation.PersonSignature.load,\r\n method: \"get\",\r\n params:{\r\n personId :personId ,\r\n \r\n }\r\n}).then((res) => {\r\n\r\n return res\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const getPersonSignatureIdApi =( async ( Id ) => await http({\r\n url: ENDPOINTS.BaseInformation.PersonSignature.list,\r\n method: \"get\",\r\n params:{\r\n personId:Id\r\n }\r\n\r\n})\r\n.then((respons) => { \r\n return respons.data\r\n\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const getSignature = (async ( referenceId ,parentFrom,jobId ) => await http({\r\n baseURL:SignatureBaseUrl[parentFrom]?.baseUrl ?SignatureBaseUrl[parentFrom]?.baseUrl:undefined,\r\n url:SignatureBaseUrl[parentFrom]?.endpoint.load ?SignatureBaseUrl[parentFrom]?.endpoint.load: ENDPOINTS.cartable.signature.load,\r\n method: \"get\",\r\n params:{\r\n referenceId : referenceId,\r\n SourceData:parentFrom,\r\n JobId:jobId\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getMeetingSignature = ( ( MeetingId ,PositionId ) => http({\r\n baseURL:MEETINGMANAGEMENT_URL , \r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.Signature,\r\n method: \"get\",\r\n params:{\r\n MeetingId:MeetingId,\r\n PositionId : PositionId\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getSignatureHistory = (async ( referenceId ,parentFrom ,jobId ) => await http({\r\n baseURL:SignatureBaseUrl[parentFrom]?.baseUrl ?SignatureBaseUrl[parentFrom]?.baseUrl:undefined,\r\n url:SignatureBaseUrl[parentFrom]?.endpoint.browse ?SignatureBaseUrl[parentFrom]?.endpoint.browse :ENDPOINTS.cartable.signature.browse,\r\n method: \"get\",\r\n params:{\r\n referenceId : referenceId,\r\n SourceData:parentFrom,\r\n JobId:jobId\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const sendSignature = (async (baseUrlKey ,data , method ,referenceId,ParentForm ,JobId) => await http({\r\n baseURL:SignatureBaseUrl[ParentForm]?.baseUrl ?SignatureBaseUrl[ParentForm]?.baseUrl :undefined,\r\n url:SignatureBaseUrl[ParentForm]?.endpoint.browse ?SignatureBaseUrl[ParentForm]?.endpoint.browse: ENDPOINTS.cartable.signature.browse,\r\n method: method,\r\n params:{\r\n ReferenceId:referenceId,\r\n JobId:JobId,\r\n SourceData:ParentForm\r\n },\r\n data:data\r\n}).then((res) => {\r\n\r\n return res\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n","export default \"data:image/png;base64,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\"","import { Button } from \"components/Button/Button\";\r\nimport { useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport './style.scss'\r\n\r\ninterface AcceptSelfServiceProps {\r\n handleAcceptReferenceAsync? : () =>void;\r\n onHide? : (e:any) => void;\r\n \r\n}\r\n\r\nexport const AcceptSelfService = ({onHide,handleAcceptReferenceAsync}:AcceptSelfServiceProps) => {\r\n\r\n return ( \r\n
\r\n
\r\n \r\n\r\n
\r\n {trans(\"Msg_DoYouWantToAcceptTheTask\")}\r\n
\r\n
\r\n
\r\n {handleAcceptReferenceAsync && handleAcceptReferenceAsync()}}\r\n />\r\n
\r\n
\r\n );\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { acceptReference } from \"pages/OfficeAutomation/Cartable/api/api\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getDocuments, getDocumentsByReferenceId, getDynaFormProcessId, getReverseList, postDocuments, putDocuments } from \"./api\";\r\nimport { KeyWord } from \"components/KeyWord/KeyWord\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { FileInput } from \"components/FileInput/FileInput\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { Attachment } from \"pages/OfficeAutomation/Cartable/components/ActionList/components/Attachment/Attachment\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { TreeView } from \"components/TreeView/TreeView\";\r\nimport { ArchiveFolderForm } from \"pages/Secretariats/Archive/ArchiveStructure/components/ArchiveFolderForm/ArchiveFolderForm\";\r\nimport { getOrganizationArchive } from \"pages/OfficeAutomation/Cartable/components/ArchiveForm/api\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { AcceptSelfService } from \"pages/OfficeAutomation/Cartable/components/AcceptSelfService/AcceptSelfService\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface DocumentsFormPropsType {\r\n onHide: () => void;\r\n handleCancelForm: (ans: boolean) => void;\r\n handleShowReferenceStepper?: (referenceId: string) => void;\r\n referenceId?: string;\r\n ArchiveList?: any;\r\n Id?: string;\r\n mode;\r\n inDynamicForms?: any;\r\n\r\n}\r\nexport const DocumentArchiveForm = ({\r\n handleCancelForm,\r\n referenceId,\r\n ArchiveList,\r\n Id,\r\n mode,\r\n onHide,\r\n handleShowReferenceStepper,\r\n inDynamicForms=false\r\n}: DocumentsFormPropsType) => {\r\n\r\n let references: any;\r\n\r\n const [showReferenceStepper, setShowReferenceStepper] = useState(false);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const layoutContext = useContext(LayoutContext);\r\n const [response, setResponse] = useState();\r\n const [processId, setProcessId] = useState();\r\n const [reverseResponse, setReverseResponse] = useState();\r\n const [showAccept, setShowAccept] = useState(true);\r\n\r\n const [keyWords, setKeyWords] = useState([]);\r\n const [selectedImages, setSelectedImages] = useState();\r\n const [isPhysical, setIsPhysical] = useState();\r\n const [curentTab, setCurentTab] = useState(\"Documents\")\r\n const [message, setMessage] = useState(\"invalid position\");\r\n const [messageType, setMessageType] = useState(null);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [showTree, setShowTree] = useState(false);\r\n const [documentArchiveRequestData, setDocumentArchiveRequestData] = useState();\r\n\r\n\r\n\r\n const [selectedList, setSelectedList] = useState([])\r\n const [idCallback, setIdCallback] = useState(\"2\")\r\n const [parent, setParent] = useState(null)\r\n const [data, setData] = useState()\r\n const [showForm, setShowForm] = useState(false)\r\n const [selected, setSelected] = useState()\r\n const [ListResponse, setListResponse] = useState()\r\n\r\n let tbodyData: any = [];\r\n let theadData: any = []\r\n async function getDocumentsAsync() {\r\n setLoading(false);\r\n try { \r\n \r\n if(Id){\r\n const res = await getDocuments(Id );\r\n setResponse(res.Data);\r\n setKeyWords(res.Data?.Keywords.replaceAll(\"'\" , \"\").split(\",\"))\r\n setIsPhysical(res.Data?.IsPhysical)\r\n }else if(referenceId){\r\n const res = await getDocumentsByReferenceId(referenceId);\r\n setResponse(res);\r\n setKeyWords(res.Data?.Keywords.replaceAll(\"'\" , \"\").split(\",\"))\r\n setIsPhysical(res.Data?.IsPhysical)\r\n }\r\n } catch (error:any){\r\n\r\n setMessage(error.data.Message)\r\n setMessageType(\"error\")\r\n }\r\n \r\n setLoading(true)\r\n }\r\n async function getDynaFormProcessIdAsync() {\r\n try {\r\n const res = await getDynaFormProcessId(\"DocumentArchiveForm\" );\r\n setProcessId(res.Data)\r\n } catch (error){ }\r\n }\r\n\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // onHide()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide()\r\n });\r\n }else{\r\n onHide()\r\n };\r\n\r\n\r\n}\r\n\r\nconst handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n};\r\n\r\n\r\nuseEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n}, [userChanges]);\r\n\r\n\r\n useEffect(() => {\r\n if(mode != \"create\" ){\r\n if ((referenceId||Id) && !showReferenceStepper) getDocumentsAsync();\r\n\r\n }else{\r\n getDynaFormProcessIdAsync()\r\n }\r\n }, [referenceId ,Id]);\r\n\r\n const handleDocumentsFormSubmit =async (event) => {\r\n event.preventDefault();\r\n let addList:any = [];\r\n\r\n let DocumentArchiveRequest:any = {}\r\n if (mode == \"edit\") {\r\n DocumentArchiveRequest = {\r\n Id: Id,\r\n Description: event.target.Description.value,\r\n RequesterPositionId: event.target.RequesterPosition.value,\r\n Applicant: event.target.applicant.value,\r\n IsPhysical: event.target.IsPhysical.checked,\r\n DocumentArchiveRequestClassificationId :event.target.IsPhysical.checked ? event.target.DocumentArchiveClassificationId.value:null ,\r\n IsCopy: event.target.IsCopy.checked,\r\n Keywords:\"'\"+keyWords.join(\"','\")+\"'\"\r\n };\r\n sendDataAsync(DocumentArchiveRequest, \"put\" );\r\n } else {\r\n if(selectedImages){\r\n DocumentArchiveRequest = {\r\n Description: event.target.Description.value,\r\n RequesterPositionId: event.target.RequesterPosition.value,\r\n Applicant: event.target.applicant.value,\r\n IsPhysical: event.target.IsPhysical.checked,\r\n IsCopy: event.target.IsCopy.checked,\r\n DocumentArchiveRequestClassificationId :event.target.IsPhysical.checked ? event.target.DocumentArchiveClassificationId.value:null ,\r\n Keywords:\"'\"+keyWords.join(\"','\")+\"'\"\r\n };\r\n if(ArchiveList){\r\n\r\n ArchiveList.forEach((item , index )=> {\r\n addList.push(item.Id)\r\n });\r\n let data = {\r\n \"DocumentArchiveRequest\":DocumentArchiveRequest,\r\n \"OrganizationalArchiveDetailIdList\": addList\r\n }\r\n\r\n let _objData = new FormData\r\n \r\n _objData.append(\"DocumentArchiveDTO\", JSON.stringify(data));\r\n \r\n const ListSelected:any =[...selectedImages?.file] \r\n ListSelected.map(item=>{\r\n _objData.append(\"files\", item);\r\n \r\n })\r\n sendDataAsync(_objData, \"post\" );\r\n \r\n \r\n }else{\r\n setDocumentArchiveRequestData(DocumentArchiveRequest)\r\n setShowTree(true)\r\n\r\n const respons = await getOrganizationArchive(null)\r\n if(respons.Data.length>0){\r\n setData(respons.Data)\r\n }\r\n\r\n }\r\n\r\n }else{\r\n \r\n // Toast(\"Msg_LetterAttachmentIsRequired\",\"error\")\r\n Toast(\"Msg_LetterAttachmentIsRequired\",MessageType.error)\r\n\r\n }\r\n }\r\n };\r\n\r\n async function handaleSelectedArchives(e) {\r\n e.preventDefault()\r\n let addList:any = []\r\n if(selectedList.length > 0){\r\n selectedList.forEach((item , index )=> {\r\n addList.push(item.Id)\r\n \r\n });\r\n let data = {\r\n \"DocumentArchiveRequest\":documentArchiveRequestData,\r\n \"OrganizationalArchiveDetailIdList\": addList\r\n }\r\n let _objData = new FormData\r\n \r\n _objData.append(\"DocumentArchiveDTO\", JSON.stringify(data));\r\n const ListSelected:any = [...selectedImages?.file]\r\n ListSelected.map(item=>{\r\n _objData.append(\"files\", item);\r\n \r\n })\r\n sendDataAsync(_objData, \"post\" );\r\n }else{\r\n // Toast(trans(\"msg_chooselocationforarchive\"), \"warning\")\r\n Toast(trans(\"msg_chooselocationforarchive\"),MessageType.warning)\r\n\r\n }\r\n }\r\n async function acceptReferenceAsync() {\r\n try {\r\n const res = await acceptReference(references.Id);\r\n setShowAccept(false)\r\n } catch (error) {\r\n\r\n }\r\n \r\n}\r\n\r\n\r\nfunction getBase64(file) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n };\r\n reader.onerror = function (error) {\r\n };\r\n}\r\n\r\nconst changeHandlePic = (e: any) => {\r\n if (e.target.files && e.target.files.length > 0) {\r\n getBase64(e.target.files[0])\r\n // setSelectedImages(e.target.files);\r\n setSelectedImages({url: URL.createObjectURL([...e.target.files][0] ) ,file:[...e.target.files]}); \r\n\r\n }\r\n};\r\n\r\n\r\nasync function sendDataAsync(data, method ) {\r\n try {\r\n let res;\r\n if (method === \"post\") res = await postDocuments(data, true , processId);\r\n else res = await putDocuments(data);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n if (showReferenceStepper) {\r\n handleShowReferenceStepper && handleShowReferenceStepper(!(res.MessageType ==MessageType.success) ? false:res.Data);\r\n } else {\r\n handleCancelForm(false);\r\n onHide();\r\n setDocumentArchiveRequestData(null)\r\n setShowForm(false)\r\n }\r\n } catch (err: any) { }\r\n}\r\n\r\nconst tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n}\r\n\r\n\r\n\r\n\r\n\r\n let content = [\r\n { title: \"Documents\", body: ( <>\r\n {(references?.AssignType == 2 && showAccept)&&\r\n {acceptReferenceAsync()}} onHide={(e)=>{e.stopPropagation(); setShowAccept(false)}}/>\r\n\r\n }\r\n
\r\n {loading ? (\r\n <>{messageType ==null?\r\n
\r\n
\r\n
\r\n
\r\n { mode != \"create\" && \r\n <>\r\n
\r\n \r\n
\r\n
\r\n { }}\r\n val={response?.RequestDate}\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n />\r\n
\r\n \r\n }\r\n \r\n
\r\n {\r\n \r\n }\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n textboxName=\"applicant\"\r\n labelText=\"applicant\"\r\n defaultValue={response?.Applicant}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultValue={1}\r\n onchange={setIsPhysical}\r\n type='checkbox'\r\n labelText='IsPhysical'\r\n defaultChecked={ response?.IsPhysical}\r\n inputName='IsPhysical'\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultValue={1}\r\n type='checkbox'\r\n labelText='IsCopy'\r\n defaultChecked={ response?.IsCopy}\r\n inputName='IsCopy'\r\n mode={mode}\r\n />\r\n
\r\n \r\n {isPhysical && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n name=\"DocumentArchiveClassificationId\"\r\n label=\"documentarchiverequestclassification\"\r\n endPoint={ENDPOINTS.archive.documentArchiveRequestClassification.dictionary}\r\n value={response?.DocumentArchiveRequestClassificationId}\r\n mode={mode}\r\n />\r\n
\r\n }\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"textarea\"\r\n labelText=\"Description\"\r\n resetForm={resetForm}\r\n textboxName=\"Description\"\r\n defaultValue={response?.Description}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n recordedData={response?.Keywords?.replaceAll(\"'\" , \"\").split(\",\")}\r\n setKeyWords={setKeyWords}\r\n keyWords={keyWords}\r\n mode={ mode}\r\n name=\"KeyWords\"\r\n />\r\n
\r\n
\r\n {mode == \"create\" && \r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n {mode != \"view\" ? (\r\n
\r\n
\r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n
\r\n :\r\n \r\n }\r\n ) : (\r\n \r\n )}\r\n
\r\n ) },\r\n mode !=\"create\"&&{title: \"Attachment\", body: ( {cancel()}} inTab={curentTab} mood={mode} endpoint={ENDPOINTS.archive.documentArchive.attachment} ownerId={Id} />) },\r\n \r\n ];\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n if (data ) {\r\n theadData = Object.keys(data[0])\r\n tbodyData = data;\r\n }\r\n \r\n return (\r\n\r\n\r\n <>\r\n \r\n {\r\n showForm &&\r\n setShowForm(false)} show={showForm}>\r\n { setIdCallback(parent.Id) ;setShowForm(false);}} \r\n selectedObj={parent} \r\n mode={\"create\"} \r\n />\r\n \r\n }\r\n {showTree&& \r\n setShowTree(false)} show={showTree}>\r\n
\r\n
\r\n <>\r\n {\r\n loading ? (\r\n data ?\r\n {setParent(id) ; setShowForm(true)}}\r\n IsArchive={true}\r\n multiselect={true}\r\n selectedRowObjectCallback={setSelected}\r\n selectedRowObject={idCallback}\r\n getChildrenUrl={ ENDPOINTS.archive.organizationalArchive.archives}\r\n theadData={[\"Id\" , \"ParentId\", \"DetailList\" , \"Title\" ]}\r\n startIndex={2}\r\n Titleparams={\"Title\"}\r\n Childrenparams={'DetailList'}\r\n scrollHeight={\"370px\"}\r\n defultShow={false}\r\n Data={data} \r\n parentName={\"ArchiveFiles\"}\r\n selectedRowsCallback={setSelectedList}\r\n ListResponse={ListResponse}\r\n \r\n />\r\n : \r\n )\r\n : \r\n }\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n \r\n \r\n\r\n );\r\n};","\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getDocumentsByReferenceId = (referenceId: any) => http({\r\n url: ENDPOINTS.archive.documentArchive.referenceId,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n referenceId: referenceId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\nexport const getReverseList = (referenceId: any) => http({\r\n url: ENDPOINTS.cartable.refer.reverseList,\r\n method: 'get',\r\n params: {\r\n referenceId: referenceId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n //اطلاعات\r\n return Promise.reject(err.response );\r\n});\r\n\r\nexport const getDocuments = (documentsId: any) => http({\r\n url: ENDPOINTS.archive.documentArchive.load,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n Id: documentsId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\nexport const postDocuments = (data: any, returnReferenceId ,processId) => http({\r\n url: ENDPOINTS.archive.documentArchive.browse,\r\n method: 'post',\r\n data: data,\r\n params: { \r\n PRJ_UID: processId\r\n }\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\nexport const putDocuments = (data: any) => http({\r\n url: ENDPOINTS.archive.documentArchive.browse,\r\n method: 'put',\r\n data: data\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\nexport const getDynaFormProcessId = (name: any) => http({\r\n url: ENDPOINTS.bpmnApi.process.getProcessId,\r\n method: 'get',\r\n params: {\r\n formName :name \r\n }\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n","import { Button } from \"components/Button/Button\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { putAccept ,getAccept} from \"./api\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport './style.scss'\r\nimport { InvitationStatus } from \"types/enum\";\r\nimport { trans } from \"utils/helpers\";\r\ninterface InvitationFormPropsType {\r\n onHide?;\r\n Id?:string\r\n referenceId?:string\r\n jobId?:string\r\n mode?:any\r\n}\r\nexport const InvitationForm = ({ \r\n \r\n onHide,\r\n Id,\r\n referenceId,\r\n jobId,\r\n mode,\r\n}: InvitationFormPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [invitationStatus,setInvitationStatus] = useState<'Accepted'|'reject'|'unset'>('unset')\r\n const [response, setResponse] = useState(null);\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n const [loading, setLoading] = useState(false);\r\n\r\n\r\n\r\n\r\n async function getDataAsync() {\r\n setLoading(false)\r\n try{\r\n let res = await getAccept(jobId );\r\n if(res.Data.InvitationStatus == InvitationStatus.Accepted){\r\n setInvitationStatus(\"Accepted\")\r\n }else if(res.Data.InvitationStatus == InvitationStatus.Rejected){\r\n setInvitationStatus(\"reject\")\r\n }else{\r\n setInvitationStatus(\"unset\")\r\n }\r\n setResponse(res.Data)\r\n }catch(err:any){\r\n\r\n }\r\n setLoading(true)\r\n\r\n }\r\n async function putAcceptAsync(data) {\r\n try {\r\n let res = await putAccept(data );\r\n onHide && onHide();\r\n \r\n } catch (err: any) {\r\n\r\n\r\n }\r\n }\r\n const Submit = (event) => {\r\n event.preventDefault();\r\n let data:any={\r\n \"JobId\": jobId,\r\n \"PositionId\": layoutContext.currentUserPosition.PositionId,\r\n \"InvitationStatus\": invitationStatus==\"Accepted\"? InvitationStatus.Accepted : InvitationStatus.Rejected ,\r\n }\r\n if(invitationStatus==\"Accepted\")data.PresenceType = +event.target.PresenceType?.value;\r\n putAcceptAsync(data)\r\n\r\n }\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if ( referenceId ) {\r\n getDataAsync()\r\n }\r\n }, [referenceId]);\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {trans(\"InvitationText\")} : {response?.InvitationText}\r\n
\r\n
\r\n {trans(\"NecessaryHoldingTools\")} : {response?.NecessaryHoldingTools}\r\n
\r\n
\r\n
\r\n
{invitationStatus == 'unset' ? 'آیا میخواهیداین دعوت را بپذیرید؟':invitationStatus == 'Accepted' ? 'این دعوت پذیرفته شد':'این دعوت رد شد' }
\r\n
\r\n {invitationStatus != 'Accepted' &&
\r\n
\r\n {invitationStatus == 'Accepted' &&\r\n
\r\n \r\n
\r\n }\r\n {/*
\r\n \r\n
*/}\r\n { mode !=\"view\" && invitationStatus != 'unset'?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n } \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n );\r\n}","import { Button } from \"components/Button/Button\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { UserContext } from \"components/ModalForm/ModalForm\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Time } from \"components/Time/Time\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { sendMeetingApproval } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface MeetingApprovalFormPropsType {\r\n onHide: () => void;\r\n handleShowReferenceStepper?: (referenceId: string) => void;\r\n referenceId?: string;\r\n MeetingId?: string;\r\n Description?: string;\r\n ApprovalId?: string;\r\n reset;\r\n mode;\r\n}\r\nexport const MeetingApprovalForm = ({\r\n reset,\r\n referenceId,\r\n MeetingId,\r\n ApprovalId,\r\n Description,\r\n mode,\r\n onHide,\r\n handleShowReferenceStepper,\r\n}: MeetingApprovalFormPropsType) => {\r\n let MeetingApprovalDTO: any;\r\n\r\n const [showReferenceStepper, setShowReferenceStepper] = useState(false);\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [response, setResponse] = useState();\r\n const [position, setPosition] = useState();\r\n\r\n const [userMadeChanges, setUserMadeChanges] = useContext(UserContext);\r\n\r\n const [fromDate, setFromDate] = useState();\r\n\r\n async function getMeetingApprovalAsync() {\r\n setLoading(false);\r\n try {\r\n \r\n if(ApprovalId){\r\n\r\n\r\n }else if(referenceId){\r\n\r\n\r\n }\r\n \r\n\r\n \r\n } catch (error){ }\r\n setLoading(true);\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if(mode != \"create\" || (ApprovalId&&ApprovalId?.length>0)){\r\n if ((referenceId||ApprovalId) && !showReferenceStepper) getMeetingApprovalAsync();\r\n\r\n }\r\n }, [referenceId ,ApprovalId]);\r\n\r\n const handleonHideMeetingApprovalFormSubmit = (event) => {\r\n event.preventDefault();\r\n if (mode == \"edit\") {\r\n let data = {\r\n Id: response.Data.Id,\r\n Description: event.target.Description.value,\r\n RequesterPositionId: event.target.RequesterPosition.value,\r\n Applicant: event.target.applicant.value,\r\n };\r\n sendDataAsync(data, \"put\" );\r\n } else {\r\n let data = {\r\n MeetingId:MeetingId,\r\n \"PerformerPositionId\": position?.Id,\r\n \"PerformerPositionDescription\": position?.Name,\r\n Description: event.target?.Description?.value,\r\n \"TaskDescription\": event.target.TaskDescription.value,\r\n EstimateTime: +event.target.estimateTime[0].value,\r\n DeadLineDate: fromDate,\r\n\r\n\r\n \r\n };\r\n sendDataAsync(data, \"post\" );\r\n }\r\n };\r\n\r\n\r\n async function sendDataAsync(data, method ) {\r\n try {\r\n const res = await sendMeetingApproval(data , method)\r\n reset()\r\n onHide()\r\n } catch (err: any) { }\r\n\r\n }\r\n \r\n\r\n return (\r\n\r\n <>\r\n \r\n
\r\n {loading ? (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {setPosition(e)}}\r\n value={\r\n response?.PerformerPositionId\r\n ? response?.PerformerPositionId\r\n : null\r\n }\r\n mode={mode}\r\n />\r\n \r\n
\r\n
\r\n { setFromDate(isoTime) }}\r\n val={MeetingApprovalDTO?.DeadLineDate ? MeetingApprovalDTO.DeadLineDate :null}\r\n />\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n {mode != \"view\" ? (\r\n
\r\n {!Description && \r\n
\r\n ) : (\r\n <>\r\n )}\r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n","import { MEETINGMANAGEMENT_URL } from \"utils/constants\";\r\nimport { ENDPOINTSMEETINGMANAGEMENT } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getMeetingApprovals = (async (meetingId) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.MeetingApproval.MeetingId,\r\n method: 'get',\r\n params: {\r\n meetingId\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getMeetingAttendees = (async (meetingId) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.AttendanceId,\r\n method: 'get',\r\n params: {\r\n Id:meetingId\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const sendMeetingForSign = (async (data) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.approvalForSign,\r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const DeleteMeetingApproval = (async (id) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.MeetingApproval.List,\r\n method: 'get',\r\n params: {\r\n \r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const sendMeetingApproval = (async (data , method) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.MeetingApproval.browse,\r\n method:method,\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const FinishMeetingAndStartApprovals = (meetingId) => http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.finishMeeting,\r\n method: \"post\",\r\n params:{\r\n prjUid:\"566685613638ede210db845092569520\",\r\n meetingId:meetingId\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport React from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport \"./style.scss\"\r\n\r\ninterface ButtonArrowProp {\r\n onClick?: () => void;\r\n type: \"backward\" | \"forward\" | \"fastBackward\" | \"fastForward\";\r\n}\r\nexport const ButtonArrow = ({ onClick, type }: ButtonArrowProp) => {\r\n return (\r\n
\r\n {\r\n {\r\n backward: (\r\n \r\n \r\n \r\n ),\r\n \r\n fastBackward: (\r\n \r\n ),\r\n forward: (\r\n \r\n \r\n \r\n \r\n ),\r\n fastForward: (\r\n \r\n ),\r\n }[type]\r\n }\r\n
\r\n );\r\n};\r\n","import { MEETINGMANAGEMENT_URL } from \"utils/constants\";\r\nimport { ENDPOINTSMEETINGMANAGEMENT } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getAttendeesList = (async (id) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.AttendanceId,\r\n method: 'get',\r\n params: {Id : id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getInvitedList = (async (id) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.InvitedId,\r\n method: 'get',\r\n params: {Id : id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const sendAttendeesList = (async (id , list) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.PresenceType,\r\n method: 'put',\r\n params: {meetingId : id},\r\n data:list\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)","import { trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nimport { useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\ninterface FormWithTitleProps {\r\n children: React.ReactNode | any;\r\n title:string;\r\n cardClass?:string;\r\n titleClass?:string;\r\n showTitle?:boolean;\r\n textAnimation?:string;\r\n \r\n closeOption?:boolean;\r\n transActive?:boolean;\r\n defualtClose?:boolean;\r\n dynamicTitle?:any;\r\n showFristRow?:any;\r\n positionTitle?:'rightTitle'|'centerTitle'|'leftTitle'\r\n}\r\nexport const FormWithTitle = ({children,showFristRow=false,title,cardClass='mt-2',dynamicTitle,defualtClose=false,titleClass,positionTitle='rightTitle',transActive=true,showTitle=true,closeOption=false,textAnimation}:FormWithTitleProps) => {\r\n const [show, setShow] = useState(!defualtClose );\r\n\r\n return ( \r\n
\r\n {showTitle &&\r\n
\r\n
{ dynamicTitle != null && Object.keys(dynamicTitle).length > 1 ? Object.keys(dynamicTitle).map((e,index)=>(dynamicTitle[e] != undefined ? {trans(e)+` : `+dynamicTitle[e]+( Object.keys(dynamicTitle).length != index+1 ? ` _ `:``)}:<>)) :transActive ? trans(title):title}
\r\n {closeOption&&\r\n \r\n
{show?setShow(false):setShow(true) }} >{!show ? :}
\r\n }\r\n\r\n
\r\n }\r\n
\r\n {children}\r\n
\r\n
\r\n );\r\n};\r\n","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ButtonArrow } from \"components/ButtonArrow/ButtonArrow\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { getAttendeesList, getInvitedList, sendAttendeesList } from \"./api\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\n\r\n\r\ninterface Form{\r\n onHide:(e) => void,\r\n\r\n meetingId?:any\r\n mode:any\r\n}\r\n\r\n\r\nexport const AttendeesPeople: React.FC
= ({onHide ,meetingId , mode}) => {\r\n const [mood , setMood] = useState(\"users\")\r\n const [Moodassign , setMoodassign] = useState(\"users\")\r\n const [flag , setFlag] = useState(false)\r\n const [response , setResponse] = useState([])\r\n const [assignmentResponse , setAssignmentResponse] = useState([])\r\n const [selectList , setSelectList] = useState([])\r\n const [assignedList , setAssignedList] = useState([])\r\n const [savedData , setSavedData] = useState([])\r\n const [assignedSelectList , setAssignedSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [positionstr , setPositionstr] = useState()\r\n const [positionAssignmentstr , setPositionAssignmentstr] = useState()\r\n const [width, setWidth] = useState(window.innerWidth);\r\n const [showModal, setShowModal] = useState(false);\r\n const [modalData, setModalData] = useState<{add: boolean, Delete: boolean, view: boolean, edit: boolean} | undefined>();\r\n const [submitted, setSubmitted] = useState(false)\r\n\r\n\r\n\r\n window.onresize = () => {\r\n setWidth(window.innerWidth)\r\n }\r\n\r\n let keys, Data:any = [], Dataassign:any = [];\r\n\r\n async function getPositionsListAsync(SearchString) {\r\n\r\n const Positionresponse = await getInvitedList(meetingId);\r\n let list:any=[]\r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.PositionId\r\n obj.TU_RELATION=1\r\n obj.Title=item.InvitedPerson\r\n list.push(obj) \r\n });\r\n setResponse(list) \r\n }\r\n async function sendAttendeesListAsync(list) {\r\n\r\n try { \r\n const res = await sendAttendeesList(meetingId ,list);\r\n onHide(false)\r\n } catch (error) {\r\n \r\n }\r\n\r\n \r\n }\r\n async function getPositionsListSearchingAsync(SearchString) {\r\n\r\n\r\n \r\n const Positionresponse = await getInvitedList(meetingId); \r\n let list:any=[]\r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.PositionId\r\n obj.TU_RELATION=1\r\n obj.Title=item.InvitedPerson\r\n list.push(obj) \r\n });\r\n\r\n setAssignmentResponse(list) \r\n \r\n\r\n }\r\n\r\n\r\n\r\n async function getAttendeesListAsync() {\r\n\r\n let makeData:any =[] \r\n try {\r\n const AttendeesList = await getAttendeesList(meetingId)\r\n if(AttendeesList){\r\n AttendeesList.Data.map(item=>{\r\n makeData.push({Id:item.GroupPositionId ? item.GroupPositionId :item.PositionId,TU_RELATION :item.GroupPositionId ? 2 :1 , Title:item.InvitedPerson })\r\n })\r\n setSavedData(makeData)\r\n setAssignedList(makeData)\r\n }\r\n \r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n\r\n\r\n function backward() {\r\n setAssignedSelectList([])\r\n setResetMultiSelect(!resetMultiSelect)\r\n\r\n\r\n const updatedData = selectList.map(item => {\r\n return {...item, ...modalData}\r\n })\r\n \r\n setAssignedList(assignedList.concat(updatedData))\r\n setFlag(!flag)\r\n setSelectList([])\r\n setSubmitted(false)\r\n }\r\n\r\n\r\n\r\n function forward() {\r\n setResetMultiSelect(!resetMultiSelect)\r\n let list:any =[]\r\n assignedList.forEach((item1,index1) => {\r\n let flag = true\r\n\r\n assignedSelectList.forEach((item2 , index2 ) => {\r\n if(item2.Id ==item1.Id ){\r\n flag = false\r\n }\r\n });\r\n if(flag){\r\n list.push(item1)\r\n }\r\n });\r\n\r\n setAssignedList(list)\r\n }\r\n\r\n\r\n\r\n const selectListCallBack =(list)=>{\r\n \r\n setSelectList(list[1])\r\n }\r\n\r\n const assignedselectListCallBack =(list)=>{\r\n setAssignedSelectList(list[1])\r\n }\r\n\r\n const referenceFormSubmit =(e)=>{\r\n e.preventDefault()\r\n\r\n if(assignedList.length==0){\r\n // Toast(\"msg_assigneduserscannotempty\" , \"error\")\r\n Toast(\"msg_assigneduserscannotempty\" , MessageType.error)\r\n\r\n }else{\r\n e.preventDefault();\r\n let Data = assignedList.map(item=>{\r\n return item.Id\r\n })\r\n\r\n sendAttendeesListAsync(Data.length>0 ? Data : [] )\r\n }\r\n }\r\n\r\n const searching =(e)=>{\r\n setPositionstr(e == \"\" ? null:e)\r\n getPositionsListAsync(e == \"\" ? null:e)\r\n }\r\n\r\n const assignmentsearching =(e)=>{\r\n setPositionAssignmentstr(e == \"\" ? null:e)\r\n getPositionsListSearchingAsync(e == \"\" ? null:e)\r\n }\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n getPositionsListAsync(positionstr); \r\n getPositionsListSearchingAsync(positionAssignmentstr)\r\n }, [mood]);\r\n\r\n useEffect(() => {\r\n if(mode != \"create\"){\r\n\r\n getAttendeesListAsync();\r\n }\r\n }, []);\r\n\r\n\r\n if(response && assignedList){\r\n let assignmentdata:any =[]\r\n\r\n assignedList.forEach(elm => {\r\n if(Moodassign==\"groups\"){\r\n if(elm.TU_RELATION==2)assignmentdata.push(elm)\r\n \r\n }else if(Moodassign==\"users\"){\r\n if(elm.TU_RELATION==1)assignmentdata.push(elm)\r\n }else{\r\n assignmentdata.push(elm)\r\n }\r\n });\r\n\r\n \r\n\r\n // assignmentResponse.forEach(item1 => {\r\n // let flag =false\r\n\r\n // assignmentdata.forEach(item2 => {\r\n // if(item1.Id == item2.Id){\r\n // flag = true\r\n // }\r\n // });\r\n\r\n\r\n // if(flag){\r\n // Dataassign.push(item1)\r\n // }\r\n // });\r\n\r\n assignmentResponse.map(obj => {\r\n const isSameId = assignmentdata.some(item => item.Id === obj.Id)\r\n const currentItem = assignmentdata.find(item => item.Id === obj.Id)\r\n\r\n \r\n if(currentItem) { \r\n const {add, view, edit, Delete} = currentItem;\r\n\r\n if(isSameId){\r\n Dataassign.push({...obj, add, view, edit, Delete})\r\n }\r\n }\r\n })\r\n\r\n\r\n\r\n response.map(item1=>{\r\n let flag = true\r\n assignedList.forEach(item2 => {\r\n if(item1.Id ==item2.Id){\r\n flag=false\r\n }\r\n });\r\n if(flag){\r\n Data.push(item1) \r\n }\r\n })\r\n\r\n }\r\n \r\n \r\n\r\n return ( <>\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n {mode !=\"view\"&&<>\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n {response &&\r\n \r\n } \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {forward()}}/>\r\n \r\n
\r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {mode !=\"view\"&&\r\n
\r\n
\r\n }\r\n \r\n \r\n );\r\n}","import { MEETINGMANAGEMENT_URL } from \"utils/constants\";\r\nimport { ENDPOINTSMEETINGMANAGEMENT } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getInvitedPeopleListById = (async (searchString , Id) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.InvitedId,\r\n method: 'get',\r\n params: {\r\n\r\n SearchString : searchString ,\r\n\r\n Id:Id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)","import { Button } from \"components/Button/Button\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Time } from \"components/Time/Time\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { InvitedPersonType, MessageType } from \"types/enum\";\r\nimport { MEETINGMANAGEMENT_URL } from \"utils/constants\";\r\nimport { ENDPOINTSMEETINGMANAGEMENT } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { AttendeesPeople } from \"../AttendeesPeople/AttendeesPeople\";\r\nimport { getInvitedPeopleListById } from \"../InvitedPeopleList/api\";\r\nimport { checkPlaceConflict, getMeetingById, updateMeetingMinutes } from \"./api\";\r\n\r\ninterface MeetingFormProps {\r\n showForm:()=>void;\r\n onHide?: () => void;\r\n reload:(e:boolean)=>void;\r\n handleData:(e:any)=>void;\r\n setListPosition:(e:any)=>void;\r\n setInvitaionObj:(e:any)=>void;\r\n setAcceptExpireTime:(e:any)=>void;\r\n selectedObj?:any;\r\n jobId?:any;\r\n processId?:any;\r\n referenceId?:any;\r\n mode:any;\r\n step?:any,\r\n listPosition?:any,\r\n formRef:any,\r\n\r\n}\r\n\r\nexport const MeetingForm = ({selectedObj,setInvitaionObj ,setAcceptExpireTime ,processId,referenceId,setListPosition,listPosition,jobId,mode,showForm,handleData,reload,onHide ,step,formRef}:MeetingFormProps) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [userChanges, setUserChanges] = useState({}); \r\n const [predictedStartTime, setPredictedStartTime] = useState(null); \r\n const [predictedDate, setPredictedDate] = useState(null); \r\n const [predictedTimeLength, setPredictedTimeLength] = useState(null); \r\n const [predictedEndTime, setPredictedEndTime] = useState(null); \r\n const [predictedload, setPredictedload] = useState(null); \r\n const [startTime, setStartTime] = useState(null); \r\n const [endTime, setEndTime] = useState(null); \r\n const [meetingClassification, setMeetingClassification] = useState(null); \r\n const invitaionDataRef = useRef(null)\r\n const [showAttendeesPeople, setShowAttendeesPeople] = useState(false); \r\n const [defaultPeopleList, setDefaultPeopleList] = useState({}); \r\n\r\n\r\n\r\n\r\n const handleMeetingFormSubmit =async (event) => {\r\n event.preventDefault();\r\n try {\r\n let placedata = {\"MeetingPlaceId\": event.target.MeetingPlace?.value,\r\n \"StartTime\": predictedDate.split(\"T\")[0]+\"T\"+ predictedStartTime.split(\"T\")[1],\r\n \"PredictedTimeLength\":predictedTimeLength}\r\n let res:boolean = false\r\n if((step<2&&mode!=\"create\")){\r\n res = true\r\n }else{\r\n res = await checkPlaceConflict(placedata)\r\n }\r\n if(res){\r\n let data:any={\r\n \"Title\":event.target.Title?.value,\r\n \"MeetingClassificationId\": event.target.MeetingClassification?.value ? event.target.MeetingClassification.value:null,\r\n \"MeetingHoldingType\" : +event.target.MeetingHoldingType?.value,\r\n \"MeetingPlaceId\": event.target.MeetingPlace?.value ,\r\n \"NecessaryHoldingTools\":event.target.NecessaryHoldingTools?.value,\r\n \"RequesterPositionId\": listPosition?.['RequesterPositionId']?.Id ? listPosition?.['RequesterPositionId'].Id : null,\r\n \"RequesterDescription\":listPosition?.['RequesterPositionId']?.Name ? listPosition?.['RequesterPositionId'].Name : null,\r\n \"SecretaryPositionId\":listPosition?.['SecretaryPositionId']?.Id ? listPosition?.['SecretaryPositionId'].Id : null,\r\n \"SecretaryDescription\":listPosition?.['SecretaryPositionId']?.Name ? listPosition?.['SecretaryPositionId'].Name : null,\r\n \"ExecuterPositionId\":listPosition?.['ExecuterPositionId']?.Id ? listPosition?.['ExecuterPositionId'].Id : null,\r\n \"ExecuterDescription\":listPosition?.['ExecuterPositionId']?.Name ? listPosition?.['ExecuterPositionId'].Name : null,\r\n \"BossPositionId\": listPosition?.['BossPositionId']?.Id ? listPosition?.['BossPositionId'].Id : null,\r\n \"BossDescription\":listPosition?.['BossPositionId']?.Name ? listPosition?.['BossPositionId'].Name : null,\r\n \"PredictedStartTime\": predictedDate.split(\"T\")[0]+\"T\"+ predictedStartTime.split(\"T\")[1],\r\n \"PredictedTimeLength\": predictedTimeLength? predictedTimeLength : null,\r\n \"InvitationText\":event.target.InvitationText?.value,\r\n \"MeetingAgenda\": event.target.MeetingAgenda?.value, \r\n }\r\n if(mode!=\"create\" )data.Id =response.Id \r\n handleData(data)\r\n/* if((step<2&&mode!=\"create\")){\r\n let obj = {\r\n Meeting: {\r\n ...data,\r\n Id: response.Id , \r\n AcceptExpireTime:invitaionDataRef.current.Meeting.AcceptExpireTime,\r\n InvitationText:invitaionDataRef.current.Meeting.InvitationText,\r\n MeetingNo: event.target?.MeetingNo?.value ,\r\n } ,\r\n InvitedPeople:invitaionDataRef.current.InvitedPeople\r\n }\r\n }else{\r\n setMeetingFormData(data)\r\n setShowInvitPeopleForm(true)\r\n } */\r\n }\r\n\r\n } catch (error) {\r\n \r\n } \r\n }\r\n const updateMeetingMinutesAsync = async(event) => {\r\n event.preventDefault();\r\n try {\r\n await updateMeetingMinutes({meetingId :response.Id ,meetingMinutes: event.target.MeetingMinutes.value , startTime:startTime ,endTime:endTime})\r\n setUserChanges({});\r\n onHide&&onHide()\r\n showForm()\r\n } catch (error) {\r\n \r\n }\r\n\r\n }\r\n\r\n async function getMeetingAsync() {\r\n setLoading(false)\r\n try {\r\n const data = await getMeetingById(jobId ? jobId:selectedObj?.Id );\r\n setResponse(data.Data);\r\n if((step<2&&mode!=\"create\")){\r\n let obj = {\r\n Meeting: {\r\n AcceptExpireTime:data.Data.AcceptExpireTime,\r\n InvitationText:data.Data.InvitationText,\r\n } \r\n }\r\n setInvitaionObj(obj)\r\n invitaionDataRef.current = obj\r\n let newListPosition ={\r\n BossPositionId:{\r\n Id: data.Data.BossPositionId ,\r\n Name: data.Data.BossDescription ,\r\n },\r\n ExecuterPositionId:{\r\n Id: data.Data.ExecuterPositionId ,\r\n Name: data.Data.ExecuterDescription ,\r\n },\r\n RequesterPositionId:{\r\n Id: data.Data.RequesterPositionId ,\r\n Name: data.Data.RequesterDescription ,\r\n },\r\n SecretaryPositionId:{\r\n Id: data.Data.SecretaryPositionId ,\r\n Name: data.Data.SecretaryPositionId ,\r\n },\r\n }\r\n setListPosition(newListPosition)\r\n }\r\n handlePredictedTimeLength(data.Data.PredictedStartTime ,data.Data.PredictedEndTime)\r\n\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n\r\n }\r\n\r\n \r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm()\r\n });\r\n }else{\r\n showForm() \r\n }\r\n }\r\n async function getInvitedPeopleListAsync() {\r\n\r\n\r\n try {\r\n const res = await getInvitedPeopleListById(null ,jobId?jobId :selectedObj?.Id); \r\n let obj:any = {} \r\n let personList:any = []\r\n res.Data.map(item=>{\r\n let personData = {\r\n PositionId : item.PositionId,\r\n PositionDescription: item.InvitedPerson,\r\n InvitedPersonType: item.InvitedPersonTypeEnum\r\n }\r\n personList.push(personData)\r\n if(obj[InvitedPersonType[item.InvitedPersonTypeEnum]]==undefined){\r\n\r\n obj[InvitedPersonType[item.InvitedPersonTypeEnum]]=[{PositionId:item.PositionId,Description:item.InvitedPerson}] \r\n }else{\r\n\r\n obj[InvitedPersonType[item.InvitedPersonTypeEnum]]=[...obj[InvitedPersonType[item.InvitedPersonTypeEnum]] , {PositionId:item.PositionId,Description:item.InvitedPerson}] \r\n }\r\n })\r\n if((step<2&&mode!=\"create\")){\r\n invitaionDataRef.current = { Meeting:invitaionDataRef.current?.Meeting , InvitedPeople:obj }\r\n setInvitaionObj({ Meeting:invitaionDataRef.current?.Meeting , InvitedPeople:obj , }) \r\n }\r\n\r\n setDefaultPeopleList(obj) \r\n } catch (error) {\r\n \r\n }\r\n \r\n\r\n\r\n}\r\n \r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n const handlePredictedTimeLength = (fr ,en) => {\r\n setPredictedTimeLength( Math.abs(new Date(fr).getTime()-new Date(en).getTime())/1000 )\r\n };\r\n\r\nuseEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n}, [userChanges]);\r\n\r\n useEffect(() => {\r\n if(mode != 'create'){\r\n \r\n getMeetingAsync();\r\n }else{\r\n setLoading(true)\r\n }\r\n if((step<2&&mode!=\"create\")){\r\n getInvitedPeopleListAsync()\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n \r\n useEffect(() => {\r\n setPredictedload(false)\r\n if(predictedDate&&predictedStartTime){\r\n setPredictedEndTime( new Date(predictedDate.split(\"T\")[0]+\"T\"+ predictedStartTime.split(\"T\")[1]).getTime()+(predictedTimeLength*60000));\r\n \r\n setAcceptExpireTime(new Date(predictedDate.split(\"T\")[0]+\"T\"+ predictedStartTime.split(\"T\")[1]).getTime()-(24*60000*60) ) \r\n }\r\n \r\n\r\n }, [predictedTimeLength ,predictedStartTime ,predictedDate]);\r\n useEffect(() => {\r\n setPredictedload(true)\r\n \r\n }, [predictedload]);\r\n \r\n\r\n \r\n return (\r\n
\r\n\r\n\r\n {showAttendeesPeople && \r\n 3 ? \"view\" : mode}\r\n onHide={() => setShowAttendeesPeople(false)}\r\n show={showAttendeesPeople}\r\n title=\"AttendeesPeople\"\r\n >\r\n setShowAttendeesPeople(false)}\r\n mode={step > 3 ? \"view\" : mode}\r\n />\r\n \r\n }\r\n
\r\n {loading ? \r\n
\r\n {step>3&&\r\n
\r\n
\r\n
\r\n
\r\n { setStartTime(isoTime) }}\r\n val={ response?.StartTime ? response?.StartTime : null} withTime ={true} \r\n disableDayPicker={true}\r\n format={\"HH:mm\"}\r\n \r\n /> \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={ mode}\r\n resetForm={resetForm}\r\n lable=\"EndTime\"\r\n setIsoTime={(isoTime: string) => { setEndTime(isoTime) }}\r\n val={ response?.EndTime ? response?.EndTime : null} //resetForm ? new Date().toISOString() : \r\n withTime ={true}\r\n disableDayPicker={true}\r\n format={\"HH:mm\"}\r\n onOpenPickNewDate={true} \r\n /> \r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"textarea\"\r\n textboxName=\"MeetingMinutes\"\r\n labelText=\"MeetingMinutes\"\r\n maxLength={900}\r\n defaultValue={response?.MeetingMinutes}\r\n resetForm={resetForm}\r\n mode={mode}\r\n /> \r\n
\r\n \r\n
\r\n
\r\n\r\n { mode !=\"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
}\r\n\r\n
\r\n } \r\n\r\n
\r\n \r\n {step>2&&\r\n
\r\n {setShowAttendeesPeople(true)}}\r\n /> \r\n
\r\n } \r\n
\r\n
\r\n
\r\n {(response?.MeetingNo!=null&& response?.MeetingNo!=undefined)&&\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"MeetingNo\"\r\n labelText=\"MeetingNo\"\r\n defaultValue={response?.MeetingNo + \"\"}\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n\r\n />\r\n
\r\n \r\n }\r\n
\r\n {setMeetingClassification(obj)} }\r\n baseUrl={MEETINGMANAGEMENT_URL}\r\n endPoint={ENDPOINTSMEETINGMANAGEMENT.MeetingApis.BaseDefinitionAndSettingsApi.MeetingClassification.dictionary}\r\n resetForm={resetForm}\r\n value={response?.MeetingClassificationId}\r\n mode={step>1?\"view\": mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"Title\"\r\n labelText=\"Description\"\r\n defaultValue={response?.Title ? response?.Title:meetingClassification?.Name}\r\n resetForm={resetForm}\r\n mode={step>1?\"view\": mode}\r\n required={true}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n label=\"MeetingHoldingType\"\r\n name=\"MeetingHoldingType\"\r\n value ={response?.MeetingHoldingType}\r\n mode={step>1?\"view\": mode}\r\n enumTypeSelect='MeetingHoldingType'\r\n />\r\n
\r\n
\r\n 1?\"view\": mode}\r\n />\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n 1?\"view\": mode}\r\n returnObj={true}\r\n required={true}\r\n onChange={(e)=>{setListPosition({...listPosition ,\"RequesterPositionId\" : e })}}\r\n />\r\n
\r\n\r\n
\r\n {setListPosition({...listPosition ,\"BossPositionId\" : e })}}\r\n mode={step>1?\"view\": mode}\r\n required={true}\r\n />\r\n
\r\n\r\n\r\n
\r\n 1?\"view\": mode}\r\n returnObj={true}\r\n onChange={(e)=>{setListPosition({...listPosition ,\"SecretaryPositionId\" : e })}}\r\n />\r\n
\r\n
\r\n {setListPosition({...listPosition ,\"ExecuterPositionId\" : e })}}\r\n mode={step>1?\"view\": mode}\r\n />\r\n
\r\n\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={step>1?\"view\": mode}\r\n resetForm={resetForm}\r\n lable=\"PredictedDate\"\r\n setIsoTime={(isoTime: string) => { setPredictedDate(isoTime) }}\r\n val={ response?.PredictedStartTime ? response?.PredictedStartTime : null} //resetForm ? new Date().toISOString() : \r\n required ={true}\r\n /> \r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n lable=\"StartTime\"\r\n setIsoTime={(isoTime: string) => { setPredictedStartTime(isoTime) }}\r\n val={ response?.PredictedStartTime ? response?.PredictedStartTime : null } //resetForm ? new Date().toISOString() :\r\n withTime ={true} \r\n disableDayPicker={true}\r\n format={\"HH:mm\"}\r\n errorFlag={false}\r\n Change={(e)=>{setUserChanges({...userChanges , ...e})}}\r\n /> \r\n
\r\n
\r\n 1?\"view\": mode}\r\n name=\"PredictedTimeLength\"\r\n IdString=\"PredictedTimeLength\"\r\n resetForm={resetForm}\r\n onChange={setPredictedTimeLength}\r\n defaultValue={ predictedTimeLength ? predictedTimeLength : 60}\r\n label=\"PredictedTimeLength\"\r\n /> \r\n
\r\n
\r\n {predictedload&&\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={\"view\"}\r\n lable=\"PredictedEndTime\"\r\n onOpenPickNewDate={true}\r\n setIsoTime={(isoTime: string) => {setPredictedEndTime(predictedEndTime) }}\r\n val={predictedEndTime } //resetForm ? new Date().toISOString() : \r\n withTime ={true} \r\n /> \r\n }\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"textarea\"\r\n minHeight={2}\r\n textboxName=\"NecessaryHoldingTools\"\r\n labelText=\"NecessaryHoldingTools\"\r\n defaultValue={response?.NecessaryHoldingTools}\r\n resetForm={resetForm}\r\n mode={step>1?\"view\": mode}\r\n />\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"textarea\"\r\n textboxName=\"MeetingAgenda\"\r\n labelText=\"MeetingAgenda\"\r\n maxLength={900}\r\n minHeight={10}\r\n defaultValue={response?.MeetingAgenda}\r\n resetForm={resetForm}\r\n mode={step>1?\"view\": mode}\r\n />\r\n
\r\n
\r\n {/* { step<2&&\r\n <>\r\n { mode !=\"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n }\r\n \r\n } */}\r\n \r\n
\r\n\r\n
\r\n : \r\n \r\n }\r\n
\r\n
\r\n )\r\n}\r\n","import { MEETINGMANAGEMENT_URL } from \"utils/constants\";\r\nimport { ENDPOINTSMEETINGMANAGEMENT } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getMeetingById = (async (id) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.load,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {Id : id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const sendmeeting = (data , method ,processId ,referenceId) => http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.browse,\r\n method: method,\r\n params:{\r\n PrjUid: processId,\r\n referenceId:referenceId\r\n },\r\n data:data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const updateMeetingMinutes = (data) => http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.putMinute,\r\n method: \"put\",\r\n data : data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\nexport const checkPlaceConflict = (data) => http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.conflict ,\r\n method: \"put\",\r\n data:data\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\nexport const sendBulletinBoard = (data , method ,SendSMS) => http({\r\n url: ENDPOINTS.bulletinBoard.browse,\r\n method: method,\r\n data:data,\r\n params:{\r\n sendMessage:SendSMS\r\n }\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const deleteBord = (id) => http({\r\n url: ENDPOINTS.bulletinBoard.browse,\r\n method: \"DELETE\",\r\n params:{\r\n Id:id\r\n }\r\n}).then(response => response.data)\r\n\r\n.catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n\r\nexport const getBoardId = (id) => http({\r\n url: ENDPOINTS.bulletinBoard.id,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n Id:id,\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const getBoardList = (pageNumber , pageSize, orderFormat: string = \"\", searchString?: any, filterlist?: any) => http({\r\n url: ENDPOINTS.bulletinBoard.load,\r\n method: \"get\",\r\n params:{\r\n PageNumber:pageNumber,\r\n PageSize:pageSize,\r\n OrderByString: orderFormat,\r\n SearchString: searchString,\r\n FilterString: filterlist\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\nexport const updateBordEndDate = (id , endDate) => http({\r\n url: ENDPOINTS.bulletinBoard.endDate,\r\n method: \"put\",\r\n // headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n BulletinBoardId: id ,\r\n endDate:endDate\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\nexport const sendBordAccess = (data , id) => http({\r\n url: ENDPOINTS.bulletinBoard.access,\r\n method: \"put\",\r\n data:data,\r\n params:{\r\n bulletinBoardId:id\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const getBordAccess = (bulletinBoardId) => http({\r\n url: ENDPOINTS.bulletinBoard.access,\r\n method: \"get\",\r\n params:{\r\n bulletinBoardId:bulletinBoardId\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n\r\n //----------------------ACCESS---------------------\r\n \r\nexport const getGroupPositionList =( async ( searchString) => await http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.dictionary,\r\n method: \"get\",\r\n params:{\r\n SearchString : searchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((response) => (response.data)) \r\n.catch(err => {\r\n return Promise.reject(err);\r\n})\r\n)\r\n\r\nexport const getPositionList =( async (searchString ) => await http({\r\n url: ENDPOINTS.BaseInformation.position.browse,\r\n method: \"get\",\r\n params : {\r\n searchString : searchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((response) => (response.data)) \r\n.catch(err => {\r\n return Promise.reject(err);\r\n})\r\n)\r\n\r\n\r\n","\r\nimport { ButtonArrow } from \"components/ButtonArrow/ButtonArrow\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { getPositionList } from \"pages/OfficeAutomation/Features/BulletinBoard/api\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\n\r\n\r\ninterface Form{\r\n Title?:string,\r\n Status?:number,\r\n showForm:(e) => void,\r\n InvitedListhandler:(e) => void,\r\n modalWidth?:any\r\n InvitedList?:any\r\n usedListId?:any\r\n InvitedPersonType?:any\r\n defaultPeopleList?:any\r\n inTab?:any\r\n mode:any\r\n}\r\n\r\n\r\nexport const InvitPeopleForm: React.FC
= ({showForm,InvitedListhandler,defaultPeopleList,InvitedPersonType ,usedListId=[],inTab,InvitedList, modalWidth , mode}) => {\r\n const [mood , setMood] = useState(\"users\")\r\n const [Moodassign , setMoodassign] = useState(\"users\")\r\n const [flag , setFlag] = useState(false)\r\n const [response , setResponse] = useState([])\r\n const [assignmentResponse , setAssignmentResponse] = useState([])\r\n const [selectList , setSelectList] = useState([])\r\n const [assignedList , setAssignedList] = useState([])\r\n const [savedData , setSavedData] = useState([])\r\n const [assignedSelectList , setAssignedSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [positionstr , setPositionstr] = useState()\r\n const [positionAssignmentstr , setPositionAssignmentstr] = useState()\r\n const [width, setWidth] = useState(window.innerWidth);\r\n const [modalData, setModalData] = useState<{add: boolean, Delete: boolean, view: boolean, edit: boolean} | undefined>();\r\n const [submitted, setSubmitted] = useState(false)\r\n\r\n\r\n window.onresize = () => {\r\n setWidth(window.innerWidth)\r\n }\r\n\r\n let keys, Data:any = [], Dataassign:any = [];\r\n\r\n async function getPositionsListAsync(SearchString) {\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n \r\n Positionresponse.Data.forEach(item => {\r\n if(!usedListId.includes(item.Id)){\r\n\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.InvitedPersonType=InvitedPersonType\r\n obj.Title=item.Description\r\n list.push(obj) \r\n }\r\n });\r\n\r\n\r\n setResponse(list) \r\n\r\n \r\n }\r\n async function getPositionsListSearchingAsync(SearchString) { \r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.InvitedPersonType=InvitedPersonType\r\n obj.Title=item.Description\r\n list.push(obj) \r\n \r\n });\r\n setAssignmentResponse(list) \r\n }\r\n\r\n\r\n\r\n async function getInvitedListAsync() {\r\n\r\n let makeData:any =[] \r\n\r\n if(InvitedList){\r\n InvitedList.map(item=>{\r\n makeData.push({Id:item.GroupPositionId ? item.GroupPositionId :item.PositionId,InvitedPersonType:InvitedPersonType ,TU_RELATION :item.GroupPositionId ? 2 :1 , Title:item.Description })\r\n })\r\n setSavedData(makeData)\r\n setAssignedList(makeData)\r\n }else if(defaultPeopleList){\r\n defaultPeopleList.map(item=>{\r\n makeData.push({Id:item.PositionId,InvitedPersonType:1 ,TU_RELATION :1 , Title:item.Description })\r\n })\r\n setSavedData(makeData)\r\n setAssignedList(makeData)\r\n\r\n }\r\n }\r\n\r\n function backward() {\r\n setAssignedSelectList([])\r\n setResetMultiSelect(!resetMultiSelect)\r\n\r\n\r\n const updatedData = selectList.map(item => {\r\n return {...item, ...modalData}\r\n })\r\n \r\n setAssignedList(assignedList.concat(updatedData))\r\n setFlag(!flag)\r\n setSelectList([])\r\n setSubmitted(false)\r\n }\r\n\r\n\r\n\r\n function forward() {\r\n setResetMultiSelect(!resetMultiSelect)\r\n let list:any =[]\r\n assignedList.forEach((item1,index1) => {\r\n let flag = true\r\n\r\n assignedSelectList.forEach((item2 , index2 ) => {\r\n if(item2.Id ==item1.Id ){\r\n flag = false\r\n }\r\n });\r\n if(flag){\r\n list.push(item1)\r\n }\r\n });\r\n\r\n setAssignedList(list)\r\n }\r\n\r\n\r\n\r\n const selectListCallBack =(list)=>{\r\n \r\n setSelectList(list[1])\r\n }\r\n\r\n const assignedselectListCallBack =(list)=>{\r\n setAssignedSelectList(list[1])\r\n }\r\n\r\n const referenceFormSubmit =(e)=>{\r\n e.preventDefault()\r\n\r\n if(assignedList.length==0){\r\n // Toast(\"msg_assigneduserscannotempty\" , \"error\")\r\n Toast(\"msg_assigneduserscannotempty\" , MessageType.error)\r\n\r\n }else{\r\n e.preventDefault();\r\n let Data = assignedList.map(item=>{\r\n \r\n let obj ={\r\n [item.TU_RELATION == 1 ? \"PositionId\" :\"GroupPositionId\" ] : item.Id,\r\n [item.TU_RELATION == 1 ? \"PositionDescription\" :\"GroupPositionDescription\" ] : item.Title,\r\n InvitedPersonType:InvitedPersonType\r\n\r\n }\r\n return obj\r\n })\r\n\r\n InvitedListhandler(Data.length>0 ? Data : [] )\r\n }\r\n }\r\n\r\n const searching =(e)=>{\r\n setPositionstr(e == \"\" ? null:e)\r\n getPositionsListAsync(e == \"\" ? null:e)\r\n }\r\n\r\n const assignmentsearching =(e)=>{\r\n setPositionAssignmentstr(e == \"\" ? null:e)\r\n getPositionsListSearchingAsync(e == \"\" ? null:e)\r\n }\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n if(inTab){\r\n\r\n getPositionsListAsync(positionstr); \r\n getPositionsListSearchingAsync(positionAssignmentstr)\r\n }\r\n }, [mood ,usedListId ,inTab]);\r\n\r\n useEffect(() => {\r\n if(defaultPeopleList){\r\n getInvitedListAsync();\r\n }\r\n }, [defaultPeopleList]);\r\n useEffect(() => {\r\n\r\n if(inTab ){\r\n let Data = assignedList.map(item=>{\r\n \r\n let obj ={\r\n [item.TU_RELATION == 1 ? \"PositionId\" :\"GroupPositionId\" ] : item.Id,\r\n [item.TU_RELATION == 1 ? \"PositionDescription\" :\"GroupPositionDescription\" ] : item.Title,\r\n InvitedPersonType:InvitedPersonType\r\n }\r\n return obj\r\n })\r\n\r\n \r\n InvitedListhandler(Data.length>0 ? Data : [] )\r\n\r\n }\r\n \r\n\r\n }, [inTab ,assignedList]);\r\n\r\n\r\n if(response && assignedList){\r\n let assignmentdata:any =[]\r\n\r\n assignedList.forEach(elm => {\r\n if(Moodassign==\"users\"){\r\n if(elm.TU_RELATION==1)assignmentdata.push(elm)\r\n }else{\r\n assignmentdata.push(elm)\r\n }\r\n });\r\n assignmentResponse.map(obj => {\r\n const isSameId = assignmentdata.some(item => item.Id === obj.Id)\r\n const currentItem = assignmentdata.find(item => item.Id === obj.Id)\r\n if(currentItem) { \r\n const {add, view, edit, Delete} = currentItem;\r\n if(isSameId){\r\n Dataassign.push({...obj, add, view, edit, Delete})\r\n }\r\n }\r\n })\r\n response.map(item1=>{\r\n let flag = true\r\n assignedList.forEach(item2 => {\r\n if(item1.Id ==item2.Id){\r\n flag=false\r\n }\r\n });\r\n if(flag){\r\n Data.push(item1) \r\n }\r\n })\r\n }\r\n \r\n return ( <>\r\n {inTab &&\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {response &&\r\n } \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {forward()}}/>\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n{/*
\r\n
*/}\r\n \r\n }\r\n \r\n );\r\n}","\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { InvitPeopleForm } from \"../InvitedPeopleForm/InvitPeopleForm\";\r\nimport { getInvitedPersonType } from \"./api\";\r\n\r\n\r\n\r\nexport const Invitaion = ({intab=\"\", InvitaionFormSubmit,acceptExpireTime ,defaultPeopleList ,mode,formRef ,InvitaionData}) => {\r\n\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [content, setContent] = useState([]);\r\n const [curentTab, setCurentTab] = useState(\"main\")\r\n const [defaultTab, setDefaultTab] = useState(\"main\")\r\n const [response, setResponse] = useState()\r\n const [error, setError] = useState()\r\n const [usedListId, setUsedListId] = useState([])\r\n const [invitedPeople, setInvitedPeople] = useState({1:[],2:[],3:[]})\r\n const invitedPeopleListRef = useRef({1:[],2:[],3:[]});\r\n const acceptExpireDateRef = useRef(null);\r\n\r\n function onSubmit(e){\r\n e.preventDefault()\r\n let data = {\r\n \"AcceptExpireTime\":acceptExpireDateRef.current, \r\n InvitationText:e.target.InvitationText.value,\r\n InvitedPeople:[...invitedPeopleListRef.current[1],...invitedPeopleListRef.current[2],...invitedPeopleListRef.current[3]]\r\n }\r\n InvitaionFormSubmit(data)\r\n }\r\n\r\n\r\n async function getInvitedPersonTypeAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getInvitedPersonType()\r\n setResponse(res.Data)\r\n setDefaultTab(Object.values(res.Data)[0])\r\n setCurentTab(Object.values(res.Data)[0])\r\n let tabs = Object.keys(res.Data).map(item=>{\r\n return { title: res.Data[item], body: ({InvitedListhandler(e,+item)}}showForm={()=>{}} mode={\"create\"} />), }\r\n })\r\n setContent([\r\n ...tabs\r\n ])\r\n } catch (error:any) {\r\n setError(error.response.data.Message)\r\n \r\n }\r\n setLoading(true)\r\n }\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n }\r\n \r\n function InvitedListhandler(list , type){\r\n invitedPeopleListRef.current ={...invitedPeople ,[type]:list}\r\n setInvitedPeople({...invitedPeople, [type]:list})\r\n let listUsed = usedListId\r\n list.map(item=>{\r\n if(!listUsed.includes(item.PositionId)){\r\n listUsed.push(item.PositionId)\r\n }\r\n })\r\n setUsedListId(listUsed)\r\n }\r\n\r\n useEffect(() => {\r\n if(response){\r\n let tabs = Object.keys(response).map(item=>{\r\n return { title: response[item], body: ({InvitedListhandler(e,+item)}}showForm={()=>{}} mode={\"create\"} />), }\r\n })\r\n setContent(tabs)\r\n }\r\n }, [curentTab ,defaultPeopleList]);\r\n\r\n useEffect(() => {\r\n setError(null)\r\n getInvitedPersonTypeAsync();\r\n }, []);\r\n\r\n\r\n return (\r\n <>\r\n {loading ?\r\n <>\r\n {error ?\r\n \r\n : \r\n <>\r\n {intab==\"invitation\"&&\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {acceptExpireDateRef.current = isoTime ; }}\r\n val={InvitaionData?.AcceptExpireTime ? InvitaionData?.AcceptExpireTime : acceptExpireTime} //resetForm ? new Date().toISOString() : \r\n required={true}\r\n /> \r\n
\r\n
\r\n \r\n
\r\n {/*
\r\n
*/}\r\n \r\n \r\n \r\n \r\n }\r\n\r\n \r\n }\r\n \r\n :\r\n }\r\n \r\n\r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getInvitedPersonType =( async () => await http({\r\n url: ENDPOINTS.enumeration,\r\n method: 'get',\r\n params: {\r\n enumerationType :\"InvitedPersonType\"\r\n }\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\n","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getInvitedPeopleListById } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\nexport const InvitedPeopleList = ({meetingId, onHide,mode,JobId }: any) => {\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [response, setResponse] = useState(null);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showActionForm, setShowActionForm] = useState(false);\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n\r\n\r\n\r\n const selectedIdCallback = (obj, index) => {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\" && showActionForm){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alert\", ()=>{setSelectedId(obj.Id) ;sessionStorage.setItem(\"changingforms\" , \"false\");});\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{setSelectedId(obj.Id) ;sessionStorage.setItem(\"changingforms\" , \"false\");});\r\n\r\n }else{\r\n setSelectedId(obj.Id);\r\n };\r\n }\r\n\r\n \r\n async function getInvitedPeopleListAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getInvitedPeopleListById( search ,JobId?JobId :meetingId); \r\n setResponse(res); \r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n \r\n setLoading(true)\r\n }\r\n useEffect(() => {\r\n getInvitedPeopleListAsync()\r\n\r\n }, [ forceUpdate ,filterlist,search ]);\r\n\r\n\r\n\r\n \r\n return (\r\n <>\r\n
\r\n {loading ?\r\n (response?.Data.length > 0 ?\r\n
\r\n
\r\n <>\r\n {setFilterlist(str)}}\r\n filterStr={filterlist}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n parentName={\"InvitedPeopleList\"}\r\n theadData={Object.keys(response?.Data[0])}\r\n tbodyData={response?.Data}\r\n minCellWidth={80}\r\n startIndex={4}\r\n selectedRowObjectCallback={selectedIdCallback} \r\n />\r\n \r\n
\r\n
\r\n : \r\n )\r\n : \r\n }\r\n\r\n
\r\n \r\n\r\n );\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\n\r\n//import { getCustomerForm, sendCustomer } from \"./api\";\r\n\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { InvitationForm } from \"./components/InvitationForm/InvitationForm\";\r\nimport { MeetingForm } from \"./components/MeetingForm/MeetingForm\";\r\nimport { Invitaion } from \"./components/Invitaion/Invitaion\";\r\nimport { sendmeeting } from \"./components/MeetingForm/api\";\r\nimport { InvitedPeopleList } from \"./components/InvitedPeopleList/InvitedPeopleList\";\r\n\r\ninterface MeetingTabFormPropsType {\r\n onHide: () => void;\r\n reload:(e:boolean)=>void;\r\n closeForm?:()=>void;\r\n showForm:any;\r\n mode: any;\r\n selectedObj: any;\r\n jobId?:any;\r\n sourceId?:any;\r\n processId?:any;\r\n referenceId?:any;\r\n step:any;\r\n}\r\nexport const MeetingTabForm = ({ onHide,reload,closeForm,step,selectedObj,showForm, mode,processId,sourceId,jobId ,referenceId }: MeetingTabFormPropsType) => {\r\n const [curentTab, setCurentTab] = useState(\"MeetingForm\")\r\n const MeetingData = useRef();\r\n const invitaionData = useRef();\r\n const formRefs = [useRef(), useRef()];\r\n const [loading , setLoading] = useState(false)\r\n const [listPosition,setListPosition] = useState({})\r\n const [invitaionObj, setInvitaionObj] = useState(null); \r\n const [acceptExpireTime, setAcceptExpireTime] = useState(null); \r\n const lang = localStorage.getItem(\"lang\");\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n \r\n\r\n\r\n\r\n let content = [\r\n\r\n { title: \"MeetingForm\",body: (MeetingData.current = e} showForm={showForm} step={step} mode={mode} reload={reload} onHide={()=>onHide()}/>), },\r\n \r\n { title:step>1?\"invitedpeople\" : \"invitation\",body: (\r\n <>{\r\n step>1 ?\r\n {}}\r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n :\r\n {invitaionData.current =e} }/> \r\n }\r\n \r\n \r\n \r\n \r\n), },\r\n ];\r\n\r\n\r\n\r\n\r\n async function sendDataAsync(data, method) {\r\n try {\r\n \r\n const res = await sendmeeting(data, method ,processId ,referenceId);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n closeForm &&closeForm()\r\n onHide&&onHide()\r\n showForm()\r\n } catch (err: any) {\r\n\r\n }\r\n }\r\n\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n } \r\n async function formSubmit() {\r\n await delay(20)\r\n try {\r\n if(mode==\"create\"){\r\n let obj = {\r\n Meeting: {\r\n ...MeetingData.current,\r\n AcceptExpireTime:invitaionData.current.AcceptExpireTime,\r\n InvitationText:invitaionData.current.InvitationText,\r\n } ,\r\n InvitedPeople:invitaionData.current.InvitedPeople\r\n }\r\n sendDataAsync(obj , \"post\")\r\n }else{\r\n let obj = {\r\n Meeting: {\r\n ...MeetingData.current,\r\n AcceptExpireTime:invitaionData.current.AcceptExpireTime,\r\n InvitationText:invitaionData.current.InvitationText,\r\n } ,\r\n InvitedPeople:invitaionData.current.InvitedPeople\r\n }\r\n sendDataAsync(obj , \"put\")\r\n\r\n }\r\n \r\n } catch (error) {\r\n\r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n}\r\n\r\n\r\n const handleSubmitAllForms = async(e) => {\r\n let flag=true ; \r\n await Promise.all(\r\n formRefs.map(async (formRef:any) => {\r\n if(formRef.current.checkValidity()&&flag){\r\n formRef.current.hidebutton?.click();\r\n }else if(flag){\r\n flag = false\r\n setCurentTab(formRef.current.name)\r\n await delay(50)\r\n formRef.current.reportValidity()\r\n }\r\n })\r\n );\r\n await delay(50)\r\n if(MeetingData.current!=undefined && invitaionData.current!=undefined){\r\n formSubmit()\r\n }else{\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n } \r\n\r\n };\r\n\r\n\r\nuseEffect(() => {\r\n if (mode!=\"create\"&& selectedObj?.Id) {\r\n\r\n }else{\r\n setLoading(true)\r\n }\r\n}, []);\r\n\r\nuseEffect(() => {\r\n \r\n\r\n\r\n}, [invitaionObj]);\r\n\r\n\r\n return (\r\n <>\r\n \r\n
\r\n { (mode != \"view\" && step<2)?\r\n \r\n
\r\n {mode==\"view\" ?\r\n MeetingData.current = e} showForm={showForm} step={step} mode={mode} reload={reload} onHide={()=>onHide()}/>\r\n :\r\n \r\n\r\n }\r\n \r\n\r\n \r\n )\r\n}","import { useRef, useState } from \"react\";\r\nimport Mapir from \"mapir-react-component\";\r\nimport \"./style.scss\";\r\n\r\nconst MapInfo = Mapir.setToken({\r\n transformRequest: url => {\r\n return {\r\n url: url,\r\n headers: {\r\n \"x-api-key\": 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImJkOTlkOTQ2NDg5NjVmZjk5NmVlZTEyMzJhYWY1ZDI3YWViOTEzMmY3Y2M5MjE2YmExZDIwMTc0YWNlOTE0Y2UyMzU2YTg4YmZmMjc2ZWRmIn0.eyJhdWQiOiIxNzI5NiIsImp0aSI6ImJkOTlkOTQ2NDg5NjVmZjk5NmVlZTEyMzJhYWY1ZDI3YWViOTEzMmY3Y2M5MjE2YmExZDIwMTc0YWNlOTE0Y2UyMzU2YTg4YmZmMjc2ZWRmIiwiaWF0IjoxNjQ2NTc0ODMzLCJuYmYiOjE2NDY1NzQ4MzMsImV4cCI6MTY0ODk5MDQzMywic3ViIjoiIiwic2NvcGVzIjpbImJhc2ljIl19.Z8zTkbwSQEaa2TPdTqNiUpS-wCq-koBYmovv4e9_YUj3qHMOAjmk4md3u6izRG68aR8Paq27gY4iJ54nDJcQq5988V2q92cedg7nAafTjreCmYhWWt2FuRPZ3UCW9LBxUnDYnyNxrN3HP55PuCtr3M7V3RZzP6JoMIePjPqJgSaX9U30cVyVpRKdqvmeG_6kFyl4iBicFBTiX_bFkTNYcIJ57Z77AIoYYjWjVuzAjydMYag62t5f_fiKbjf8tgfyUowFzSX8jDX7Za48ZGjHtuytt7ZQyiE_8TaE-BzpXNHrNxLS4pfQyqY8D-y6YK6LIHUB28aMernGLb2nXHxr7Q', //Mapir api key\r\n \"Mapir-SDK\": \"reactjs\"\r\n }\r\n };\r\n }\r\n});\r\ninterface MapLocationPropsType {\r\n\r\n sendLocationCallback: (ans: any) => void,\r\n\r\n}\r\nexport const MapLocation = ({sendLocationCallback}:MapLocationPropsType) => {\r\n const [markerArray, setMarkerArray] = useState([]);\r\n const [coord, setCoord] = useState([59.52, 36.33]);\r\n const [point, setPoint] = useState();\r\n const [loading, setLoading] = useState();\r\n const pointRef = useRef(null);\r\n\r\n function reverseFunction(map, e) {\r\n var url = `https://map.ir/reverse/no?lat=${e.lngLat.lat}&lon=${\r\n e.lngLat.lng\r\n }`;\r\n fetch(url, {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"x-api-key\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI6ImJkOTlkOTQ2NDg5NjVmZjk5NmVlZTEyMzJhYWY1ZDI3YWViOTEzMmY3Y2M5MjE2YmExZDIwMTc0YWNlOTE0Y2UyMzU2YTg4YmZmMjc2ZWRmIn0.eyJhdWQiOiIxNzI5NiIsImp0aSI6ImJkOTlkOTQ2NDg5NjVmZjk5NmVlZTEyMzJhYWY1ZDI3YWViOTEzMmY3Y2M5MjE2YmExZDIwMTc0YWNlOTE0Y2UyMzU2YTg4YmZmMjc2ZWRmIiwiaWF0IjoxNjQ2NTc0ODMzLCJuYmYiOjE2NDY1NzQ4MzMsImV4cCI6MTY0ODk5MDQzMywic3ViIjoiIiwic2NvcGVzIjpbImJhc2ljIl19.Z8zTkbwSQEaa2TPdTqNiUpS-wCq-koBYmovv4e9_YUj3qHMOAjmk4md3u6izRG68aR8Paq27gY4iJ54nDJcQq5988V2q92cedg7nAafTjreCmYhWWt2FuRPZ3UCW9LBxUnDYnyNxrN3HP55PuCtr3M7V3RZzP6JoMIePjPqJgSaX9U30cVyVpRKdqvmeG_6kFyl4iBicFBTiX_bFkTNYcIJ57Z77AIoYYjWjVuzAjydMYag62t5f_fiKbjf8tgfyUowFzSX8jDX7Za48ZGjHtuytt7ZQyiE_8TaE-BzpXNHrNxLS4pfQyqY8D-y6YK6LIHUB28aMernGLb2nXHxr7Q\"\r\n }\r\n })\r\n .then(response => response.json())\r\n .then(data => {setPoint(data) ;pointRef.current = data});\r\n const array:any = [];\r\n \r\n array.push(\r\n {if(pointRef.current){sendLocationCallback(pointRef.current)}}}\r\n anchor=\"bottom\"\r\n />\r\n );\r\n setMarkerArray(array);\r\n }\r\n\r\n\r\n\r\n return (\r\n
\r\n {setLoading(true)}}onStyleLoad={(e)=>{setLoading(false)}} center={coord} Map={MapInfo} onClick={reverseFunction} userLocation >\r\n {markerArray}\r\n \r\n \r\n
\r\n );\r\n};\r\n","import { Button } from \"components/Button/Button\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { MapLocation } from \"pages/OfficeAutomation/BaseInformation/PeoplePage/components/PersonContactList/component/PersonContactForm/component/MapLocation\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { LocationType } from \"types/types\";\r\ninterface PersonContactFormPropsType {\r\n personContact?: any;\r\n mode?: any;\r\n withMap?: any;\r\n hideDetail?: boolean;\r\n onChange?: (e) => void;\r\n required?:any\r\n}\r\nexport const Address = ({\r\n onChange,\r\n personContact,\r\n hideDetail = false,\r\n mode,\r\n withMap = true,\r\n required\r\n}: PersonContactFormPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [showMap, setShowMap] = useState(false);\r\n const [personLocation, setpersonLocation] = useState();\r\n\r\n const sendLocationCallback = (e) => {\r\n const data:LocationType= {\r\n address: e.address,\r\n Latitude: e.geom.coordinates[1],\r\n Longitude: e.geom.coordinates[0],\r\n }\r\n setpersonLocation({\r\n address: data.address,\r\n Latitude: data.Latitude,\r\n Longitude: data.Longitude,\r\n });\r\n\r\n setShowMap(false);\r\n };\r\n return (\r\n <>\r\n {showMap && (\r\n setShowMap(false)}\r\n show={showMap}\r\n title=\"PersonContact\"\r\n >\r\n \r\n
\r\n )}\r\n\r\n <>\r\n
\r\n
\r\n \r\n
\r\n {hideDetail ? (\r\n <>\r\n ) : (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n )}\r\n\r\n\r\n {withMap && (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setShowMap(true);\r\n }}\r\n />\r\n
\r\n \r\n )}\r\n
\r\n \r\n \r\n );\r\n};\r\n","import { Loading } from \"components/Loading/loading\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans, uuidv4 } from \"utils/helpers\";\r\n\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { CityDictionary } from \"pages/OfficeAutomation/Settings/City/components/CityDictionary\";\r\nimport { ProvinceDictionary } from \"pages/OfficeAutomation/Settings/Province/components/ProvinceDictionary\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\n\r\ninterface CustomerBranchesFormPropsType {\r\n onHide: () => void\r\n CustomerBranchesCallBack: (e) => void\r\n mode: any,\r\n CustomerBranches:any\r\n CustomerId?: string,\r\n\r\n}\r\nexport const CustomerBranchesForm = ({ \r\n onHide,\r\n CustomerBranchesCallBack,\r\n mode,\r\n CustomerBranches,\r\n CustomerId\r\n\r\n}: CustomerBranchesFormPropsType) => {\r\n \r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading2 , setLoading2] = useState(true)\r\n const [userChanges, setUserChanges] = useState({});\r\n const [province, setProvince] = useState(null);\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [editForm,setEditForm] = useState({});\r\n const [indexEditForm,setIndexEditForm] = useState(0)\r\n const [branchMode,setBreanchMode] = useState<'create'|'edit'>('create')\r\n const [branchList, setBranchList] = useState([]);\r\n\r\n\r\n\r\n const handleDeleteRow = async(id: string =selectedObj.Id) => {\r\n setBranchList(branchList.filter((branch)=>branch.Id != id))\r\n }\r\n\r\n const handleEdit = (id)=>{\r\n branchList.map((branch,index)=>{\r\n if(branch.Id == id){\r\n setEditForm(branch)\r\n setIndexEditForm(index)\r\n }\r\n })\r\n }\r\n\r\n const handleSubmit = (event) => {\r\n event.preventDefault();\r\n let data:any = {}\r\n data = {\r\n Id : branchMode == 'create' ? uuidv4() :editForm.Id , \r\n CustomerId:CustomerId,\r\n BranchCode: event.target.BranchCode.value ,\r\n PostalCode: event.target.PostalCode.value \r\n }\r\n if(branchMode == 'create'){\r\n setBranchList([...branchList , data ])\r\n CustomerBranchesCallBack([...branchList , data ])\r\n }else{\r\n let newBranch =JSON.parse(JSON.stringify(branchList)) \r\n newBranch.splice(indexEditForm,1,data)\r\n CustomerBranchesCallBack(newBranch)\r\n setBranchList(newBranch)\r\n }\r\n setResetForm(true);\r\n \r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n useEffect(() => {\r\n if(CustomerBranches && CustomerBranches.length > 0){\r\n\r\n let newBranch = CustomerBranches?.map((branch)=>{ \r\n return{\r\n Id : branch.Id , \r\n CustomerId:CustomerId,\r\n BranchCode:branch.BranchCode,\r\n PostalCode: branch.PostalCode,\r\n }\r\n })\r\n setBranchList(newBranch)\r\n }\r\n },[CustomerBranches])\r\n return (\r\n\r\n <>\r\n {mode!=\"view\"&&\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {\r\n branchMode == 'create' ? \r\n
\r\n }\r\n
\r\n\r\n { branchList?.length > 0 ?\r\n <>\r\n {Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" ,()=> handleDeleteRow(e))}}\r\n handleDelete={(e)=>{Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete ,()=> handleDeleteRow(e))}}\r\n\r\n handleEdit={(e)=>{handleEdit(e);setBreanchMode('edit') }}\r\n />\r\n \r\n : }\r\n
\r\n\r\n \r\n\r\n );\r\n}","\r\nimport { http } from \"utils/http\";\r\n\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\n\r\n\r\nexport const sendPriceList = (data , method) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListApis.browse,\r\n method: method,\r\n data:data\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const clonePriceList = (data ,sourcePriceListId) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListApis.clone,\r\n method: \"post\",\r\n params:{\r\n sourcePriceListId\r\n },\r\n data:data\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const deletePrice = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListApis.browse,\r\n method: \"DELETE\",\r\n params:{\r\n id:id\r\n }\r\n}).then(response => response.data)\r\n\r\n.catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n\r\nexport const getPriceListId = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListApis.id,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n Id:id,\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const getPriceListConstraint = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListApis.constraint,\r\n method: \"get\",\r\n params:{\r\n Id:id,\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const getPriceList= (pageNumber , pageSize, orderFormat: string = \"\", searchString?: any, filterlist?: any) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListApis.browse,\r\n method: \"get\",\r\n params:{\r\n PageNumber:pageNumber,\r\n PageSize:pageSize,\r\n OrderByString: orderFormat,\r\n SearchString: searchString,\r\n FilterString: filterlist\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n\r\n\r\nexport const sendPriceAccess = (data , id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListApis.access,\r\n method: \"put\",\r\n data:data,\r\n params:{\r\n PriceListId:id\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const getPriceAccess = (PriceListId) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListApis.access,\r\n method: \"get\",\r\n params:{\r\n PriceListId:PriceListId\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n\r\n //----------------------ACCESS---------------------\r\n \r\nexport const getGroupPositionList =( async ( searchString) => await http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.dictionary,\r\n method: \"get\",\r\n params:{\r\n SearchString : searchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((response) => (response.data)) \r\n.catch(err => {\r\n return Promise.reject(err);\r\n})\r\n)\r\n\r\nexport const getPositionList =( async (searchString ) => await http({\r\n url: ENDPOINTS.BaseInformation.position.browse,\r\n method: \"get\",\r\n params : {\r\n searchString : searchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((response) => (response.data)) \r\n.catch(err => {\r\n return Promise.reject(err);\r\n})\r\n)\r\n\r\n\r\nexport const getPriceListDictionary = (async (value=null) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListApis.listDictionary,\r\n method: 'get',\r\n params:{\r\n Id:value\r\n }\r\n \r\n})\r\n .then((response) => (response.data))\r\n\r\n)\r\n\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getPriceListDictionary } from \"../../api\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { MessageType } from \"types/enum\";\r\ninterface PriceListDictionaryPropsType {\r\n label: string;\r\n hasBorder?: boolean;\r\n resetForm: boolean;\r\n required?: boolean;\r\n isDisabled?: boolean;\r\n showOption?: boolean;\r\n withNullOption?: boolean;\r\n value?: string;\r\n mode?: string;\r\n name: string;\r\n Change?: (e) => void;\r\n onChange?: (e, obj?) => void;\r\n}\r\n\r\nexport const PriceListDictionary = ({\r\n label,\r\n hasBorder,\r\n value,\r\n mode,\r\n resetForm,\r\n required,\r\n isDisabled=false,\r\n showOption=true,\r\n withNullOption=false,\r\n name = \"\",\r\n Change,\r\n onChange,\r\n\r\n}: PriceListDictionaryPropsType) => {\r\n const [PriceListDictionary, setPriceListDictionary] = useState();\r\n const [defaultval, setdefault] = useState(value);\r\n const [errcode, setErrcode] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const getPriceListDictionaryAsync = async () => {\r\n setLoading(false);\r\n try {\r\n const res = await getPriceListDictionary(value as any);\r\n\r\n if (res?.Data) {\r\n if(withNullOption){\r\n setPriceListDictionary({[GUID_EMPTY]: {\r\n Id:\tGUID_EMPTY,\r\n Title:\"\",\r\n IsManual:\tfalse,\r\n IsPublic:\ttrue,\r\n } ,...res?.Data});\r\n }else{\r\n setPriceListDictionary(res?.Data);\r\n }\r\n if (value) {\r\n // onChange && onChange(res?.Data[value]);\r\n \r\n } else {\r\n onChange && onChange( withNullOption ? {\r\n Id:\tGUID_EMPTY,\r\n Title:\"\",\r\n IsManual:\tfalse,\r\n IsPublic:\ttrue,\r\n } : Object.values(res?.Data)[0]);\r\n }\r\n }\r\n \r\n } catch (error: any) {\r\n setErrcode(error.response.status);\r\n setPriceListDictionary(null);\r\n }\r\n setLoading(true);\r\n }\r\n \r\n const handleOnChange = (e) => {\r\n onChange && onChange(PriceListDictionary[e.target.value]);\r\n Change && Change(true);\r\n\r\n setdefault(PriceListDictionary[e.target.value].Id)\r\n\r\n if (\r\n e.target &&\r\n e.target.value != (value ? value : Object.keys(PriceListDictionary)[0])\r\n ) {\r\n Change && Change({ [name]: e.target.value });\r\n } else {\r\n Change && Change({ [name]: null });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getPriceListDictionaryAsync();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (value && PriceListDictionary&&PriceListDictionary[value] ) {\r\n\r\n onChange && onChange(PriceListDictionary[value]);\r\n setdefault(value)\r\n }\r\n }, [value, PriceListDictionary,defaultval]);\r\n\r\n useEffect(() => {\r\n setdefault(value);\r\n }, [resetForm]); \r\n return (\r\n <>\r\n {PriceListDictionary && loading ? (\r\n <>\r\n { if(!showOption){Toast(trans(\"Msg_ChooseWarehouse\"), \"error\") ; }}}\r\n onClick={(e)=>{ if(!showOption){Toast(trans(\"Msg_ChooseWarehouse\"), MessageType.error) ; }}}\r\n\r\n isDisabled={isDisabled}\r\n showOption={showOption}\r\n onChange={(e) => {\r\n handleOnChange(e);\r\n }}\r\n lable={label}\r\n selectType={\"select\"}\r\n options={Object.values(PriceListDictionary).map((item: any) => {\r\n return item.Title;\r\n })}\r\n val={Object.keys(PriceListDictionary)}\r\n name={name}\r\n value={defaultval}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={required}\r\n />\r\n
\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Checkbox } from \"components/checkbox/checkbox\";\r\nimport { LoadingIcon } from \"components/LoadingIcon/LoadingIcon\";\r\nimport React, { createContext, useCallback, useContext, useEffect, useRef, useState } from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getChildren1 } from \"./api\";\r\nimport \"./style.scss\";\r\n\r\nexport const TreeContext = createContext([]);\r\n\r\nconst createHeaders = (headers, parentName, startIndex) => {\r\n\r\n let head = headers;\r\n\r\n let widths = []\r\n let setHead: any = []\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n\r\n\r\n\r\n }\r\n locallist.forEach(item => {\r\n if (item[0] === parentName) {\r\n if (item[1].length === (head.length - startIndex)-1 ) {\r\n let switchHed = false\r\n item[1].forEach(el => {\r\n if (head.indexOf(el) === -1) {\r\n switchHed = true\r\n }\r\n });\r\n if (!switchHed) {\r\n head = item[1]\r\n widths = item[2]\r\n head.forEach((item, index) => {\r\n setHead.push(widths[index] ? { text: item, ref: useRef(), Id: headers.indexOf(item), width: widths[index] } : { text: item, ref: useRef(), Id: headers.indexOf(item) })\r\n });\r\n }\r\n }else{\r\n\r\n widths = item[2]\r\n head.forEach((el, elindex) => {\r\n if (elindex >= startIndex+1) {\r\n if (item[1].indexOf(el)!= -1 ) {\r\n setHead.push((widths[item[1].indexOf(el)] && widths[item[1].indexOf(el)] != undefined) ? { text: el, ref: useRef(), Id: headers.indexOf(el), width: widths[item[1].indexOf(el)] } : { text: el, ref: useRef(), Id: headers.indexOf(el) })\r\n }else{\r\n setHead.push( { text: el, ref: useRef(), Id: headers.indexOf(el) })\r\n\r\n }\r\n }\r\n \r\n });\r\n\r\n }\r\n }\r\n });\r\n\r\n if (setHead.length === 0) {\r\n head.forEach((item, index) => {\r\n if (index >= startIndex+1 ) {\r\n setHead.push(widths[index] ? { text: item, ref: useRef(), Id: headers.indexOf(item), width: widths[index] } : { text: item, ref: useRef(), Id: headers.indexOf(item) })\r\n }\r\n });\r\n }\r\n\r\n return setHead\r\n\r\n}\r\n\r\n\r\n\r\ninterface TableTree {\r\n Data;\r\n theadData;\r\n parentName;\r\n startIndex;\r\n minCellWidth?;\r\n selectedRowObjectCallback?: (obj: object) => void;\r\n selectedRowsCallback?: (obj: object) => void;\r\n DoubleClick?: (obj: object) => void;\r\n moveNude?: (drag, drop) => void;\r\n getChildrenUrl?;\r\n selectedRowObject?;\r\n params?;\r\n IdParams?;\r\n Childrenparams?;\r\n Titleparams?;\r\n ComplementaryTitle?;\r\n defultparams?;\r\n baseUrl?;\r\n defultShow?;\r\n multiselect?;\r\n dragDrop?;\r\n disabled?;\r\n ListResponse?: any;\r\n compressed?: any;\r\n selectedList?: any;\r\n maxLevel?: number|null;\r\n openLevel?: number;\r\n italic?:string;\r\n search?:any;\r\n maxWidth ?: boolean,\r\n makeParentsList ?: boolean,\r\n}\r\n\r\n\r\n\r\nfunction Row(data) {\r\n\r\n const italic = data.italic\r\n const childrenparams = data.Childrenparams\r\n const Titleparams = data.Titleparams\r\n const ComplementaryTitle = data.ComplementaryTitle\r\n const defultparam = data.defultparams\r\n const baseUrl = data.baseUrl\r\n const parentName = data.parentName\r\n const head = data.head\r\n const Url = data.getChildrenUrl\r\n const multiselect = data.multiselect\r\n const widthColumns = data.widthColumns\r\n const activeId = data.activeId\r\n const params = data.params\r\n const IdParams = data.IdParams\r\n\r\n const [row, setRow] = useState(data.row);\r\n const [children, setChildren] = useState(data.row[childrenparams]);\r\n const childrenRef = useRef(children);\r\n const num = JSON.parse(JSON.stringify(data.num))\r\n const [defultShow, setDefultShow] = useState((data.openLevel && num >data.openLevel) ? false : data.defultShow);\r\n const [open, setOpen] = useState(defultShow);\r\n const openRef = useRef(open);\r\n const [flag, setFlag] = useState(true);\r\n const [checked, setChecked] = useState(data.checked);\r\n const [localLIst, setLocalLIst] = useState({});\r\n const [childrenList, setChildrenLocalLIst] = useState({});\r\n const [selectList, setSelectList] = useState(data.selectList);\r\n const [type, setType] = useState(1);\r\n const [loading, setLoading] = useState(false);\r\n const [checkParentId, setCheckParentId] = useState();\r\n const moseEnter = useRef(false);\r\n const valueToCopy = useRef(null);\r\n\r\n const [setDrag, setDrop, dragedId] = useContext(TreeContext);\r\n\r\n\r\n function getTh(e) {\r\n setDrag(e)\r\n }\r\n function setTh(e) {\r\n setDrop(e)\r\n }\r\n function DragMouseEnter(row , num , text) {\r\n valueToCopy.current = row[text]\r\n if(dragedId){\r\n if( (num >dragedId.num) ){\r\n data.setCheckParentId(num-dragedId.num)\r\n \r\n }else{\r\n setDrag({...dragedId , accessDrop : true})\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n useEffect(() => {\r\n\r\n if(dragedId ){\r\n if (data.checkParentId && data.checkParentId.length >1) {\r\n if(dragedId.Id ===data.checkParentId){\r\n setDrag({...dragedId , accessDrop : false})\r\n\r\n }else{\r\n setDrag({...dragedId , accessDrop : true})\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n }, [data.checkParentId]);\r\n useEffect(() => {\r\n if(dragedId ){\r\n if (checkParentId >1) {\r\n data.setCheckParentId(checkParentId-1)\r\n\r\n }else if(checkParentId === 1){\r\n setCheckParentId(row.Id)\r\n }\r\n }\r\n }, [checkParentId]);\r\n\r\n\r\n\r\n\r\n\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n\r\n async function MouseEnter(e) {\r\n // document.addEventListener(\"keydown\", kydownToCopy)\r\n if (dragedId?.Id) {\r\n moseEnter.current = true\r\n try {\r\n await delay(1000)\r\n } catch (error) {\r\n\r\n }\r\n if (moseEnter.current) {\r\n setOpen(true);\r\n openRef.current = true\r\n if (!open) getChildren(IdParams ?row[IdParams] : row.Id);\r\n\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n function toggleActiveRow(obj, str = \"\") {\r\n if (typeof obj == \"string\") {\r\n let finded = false\r\n childrenRef.current.forEach(item => {\r\n if (item.Id === obj) {\r\n finded = true\r\n setFlag(!flag)\r\n data.selectObj(item)\r\n }\r\n });\r\n if (!finded) {\r\n setFlag(!flag)\r\n data.selectObj(obj)\r\n }\r\n } else {\r\n setFlag(!flag)\r\n if(data.makeParentsList){\r\n if(obj.ParentsList&&obj.ParentsList.length>0){\r\n data.selectObj({...obj , ParentsList:[row[Titleparams],...obj.ParentsList]})\r\n }else{\r\n data.selectObj({...obj , ParentsList:[row[Titleparams]]})\r\n\r\n }\r\n }else data.selectObj(obj)\r\n }\r\n\r\n\r\n }\r\n\r\n function addToList(item, e) {\r\n\r\n setChecked(e)\r\n data.setItemList({ [item.Id]: e }, true)\r\n setType(1)\r\n }\r\n\r\n function setItemList(e, mychilde) {\r\n\r\n if (mychilde) {\r\n setLocalLIst(Object.assign(localLIst, e))\r\n\r\n let trueLength = 0\r\n let haveNull = false\r\n Object.values(localLIst).forEach(item => {\r\n if (item) {\r\n trueLength += 1\r\n }\r\n if (item == null) {\r\n haveNull = true\r\n //trueLength = 1\r\n }\r\n })\r\n\r\n if ((trueLength < children.length && trueLength > 0) || haveNull) {\r\n setType(2)\r\n data.setItemList({ [row.Id]: null }, true)\r\n setChecked(null)\r\n } else if (trueLength === children.length && trueLength !== 0) {\r\n setType(1)\r\n setChecked(true)\r\n data.setItemList({ [row.Id]: true }, true)\r\n setOpen(true)\r\n openRef.current = true\r\n } else if (trueLength === 0 && Object.values(e)[0] != null) {\r\n if (haveNull) {\r\n\r\n } else {\r\n setType(1)\r\n setChecked(false)\r\n data.setItemList({ [row.Id]: false }, true)\r\n }\r\n }\r\n } \r\n setChildrenLocalLIst(Object.assign(childrenList, e))\r\n let trueLength = 0\r\n Object.values(childrenList).forEach(item => {\r\n if (item) {\r\n trueLength += 1\r\n }\r\n })\r\n\r\n if (trueLength !== 0 && trueLength > 0) {\r\n setType(2)\r\n }\r\n\r\n\r\n let truelocalLength = 0\r\n Object.values(localLIst).forEach(item => {\r\n if (item) {\r\n truelocalLength += 1\r\n }\r\n })\r\n if ((truelocalLength === children.length && truelocalLength !== 0)) {\r\n setType(1)\r\n }\r\n\r\n data.setItemList(e, false)\r\n\r\n }\r\n\r\n\r\n async function getChildren(id) {\r\n setLoading(true)\r\n try {\r\n if(Url){\r\n const respons = await getChildren1(Url,defultparam ,params, id,baseUrl)\r\n if (respons.data[0]) {\r\n setChildren([])\r\n setFlag(!flag)\r\n setRow(respons.data[0])\r\n setChildren(respons.data[0][childrenparams])\r\n childrenRef.current = respons.data[0][childrenparams]\r\n } else if (respons.data.Data[0]) {\r\n setChildren([])\r\n setFlag(!flag)\r\n setRow(respons.data.Data[0])\r\n setChildren(respons.data.Data[0][childrenparams])\r\n childrenRef.current = respons.data.Data[0][childrenparams]\r\n } else {\r\n setChildren([])\r\n setFlag(!flag)\r\n }\r\n setFlag(!flag)\r\n }\r\n } catch (error) {\r\n\r\n }\r\n setLoading(false)\r\n\r\n }\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n if (data.selectId && data.selectId === row.Id) {\r\n getChildren(IdParams ?row[IdParams] : row.Id)\r\n }\r\n\r\n }, [data.selectId]);\r\n\r\n useEffect(() => {\r\n if(data.openLevel && num {\r\n if (data.checked != null) {\r\n // setLocalLIst(Object.assign(localLIst,{[row.Id] : data.checked }))\r\n // data.setItemList({[row.Id] : data.checked },true)\r\n \r\n if (selectList) {\r\n let Fkay: any = undefined\r\n let fi = false\r\n Object.keys(selectList).forEach((item, index) => {\r\n\r\n if (item === row.Id && !fi) {\r\n if (Object.values(selectList)[index] == null) {\r\n setType(2)\r\n setChecked(null)\r\n data.setItemList({ [row.Id]: Object.values(selectList)[index] }, true)\r\n } else {\r\n setType(1)\r\n setChecked(Object.values(selectList)[index])\r\n data.setItemList({ [row.Id]: Object.values(selectList)[index] }, true)\r\n }\r\n } else {\r\n if (item.startsWith(row.Id) && Object.values(selectList)[index] != null && !fi) {\r\n if (Fkay !== undefined && Fkay !== Object.values(selectList)[index]) {\r\n setType(2)\r\n setChecked(null)\r\n data.setItemList({ [row.Id]: null }, true)\r\n Fkay = null\r\n fi = true\r\n }\r\n if (!fi) {\r\n Fkay = Object.values(selectList)[index]\r\n }\r\n }\r\n }\r\n\r\n })\r\n if (Fkay != null) {\r\n setType(1)\r\n setChecked(Fkay)\r\n data.setItemList({ [row.Id]: Fkay }, true)\r\n\r\n }\r\n }\r\n setChecked(data.checked)\r\n }\r\n\r\n\r\n\r\n }, [data.checked]);\r\n\r\n\r\n useEffect(() => {\r\n\r\n setSelectList(data.selectList)\r\n\r\n }, [data.selectList]);\r\n\r\n\r\n useEffect(() => {\r\n\r\n // setLocalLIst(Object.assign(localLIst,{[row.Id] : data.checked }))\r\n if (selectList) {\r\n let Fkay: any = undefined\r\n let fi = false\r\n Object.keys(selectList).forEach((item, index) => {\r\n\r\n if (item === row.Id && !fi) {\r\n if (Object.values(selectList)[index] == null) {\r\n setType(2)\r\n setChecked(null)\r\n data.setItemList({ [row.Id]: Object.values(selectList)[index] }, true)\r\n } else {\r\n setType(1)\r\n setChecked(Object.values(selectList)[index])\r\n data.setItemList({ [row.Id]: Object.values(selectList)[index] }, true)\r\n }\r\n } else {\r\n if (item.startsWith(row.Id) && Object.values(selectList)[index] != null && !fi) {\r\n if (Fkay !== undefined && Fkay !== Object.values(selectList)[index]) {\r\n setType(2)\r\n setChecked(null)\r\n data.setItemList({ [row.Id]: null }, true)\r\n Fkay = null\r\n fi = true\r\n }\r\n if (!fi) {\r\n Fkay = Object.values(selectList)[index]\r\n }\r\n }\r\n }\r\n })\r\n if (Fkay != null) {\r\n setType(1)\r\n setChecked(Fkay)\r\n data.setItemList({ [row.Id]: Fkay }, true)\r\n }\r\n }\r\n }, [data.selectList]);\r\n const kydown = (event) => {\r\n if(document.getElementsByClassName(\"fullscreen-bg-modal\").length === 0){\r\n if (event.key === \"ArrowLeft\") {\r\n setOpen(true)\r\n openRef.current = true\r\n getChildren(IdParams ?row[IdParams] : row.Id)\r\n\r\n } else if (event.key === \"ArrowRight\") {\r\n if (!openRef.current) {\r\n toggleActiveRow((row.ParentId))\r\n }\r\n setOpen(false)\r\n openRef.current = false\r\n } else if (event.key === \"ArrowDown\") {\r\n toggleActiveRow(document.getElementById(row.Id)?.nextElementSibling?.id, \"Down\")\r\n } else if (event.key === \"ArrowUp\") {\r\n toggleActiveRow(document.getElementById(row.Id)?.previousElementSibling?.id, \"Up\")\r\n }\r\n }\r\n }\r\n const kydownToCopy = (event) => {\r\n if (valueToCopy.current && event.ctrlKey && event.key == 'c') {\r\n\r\n navigator.clipboard.writeText( valueToCopy.current)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n document.removeEventListener(\"keydown\", kydown);\r\n if (activeId === row.Id) {\r\n\r\n document.addEventListener('keydown', kydown)\r\n return () => { document.removeEventListener(\"keydown\", kydown); }\r\n }\r\n\r\n }, [activeId]);\r\n\r\n\r\n \r\n \r\n useEffect(() => {\r\n if(data?.search && data?.search.includes(\"..\")){\r\n if((data.maxLevel ==null || num0 && row[Titleparams].includes(data.search.split(\"..\")[data.num])){\r\n setOpen(true)\r\n openRef.current = true\r\n getChildren(IdParams ?row[IdParams] : row.Id)\r\n }\r\n }\r\n\r\n}, [data.search]);\r\n\r\n return (\r\n <>\r\n { data.DoubleClick && data.DoubleClick(row) }} className={`table-tree__tr ${activeId === row.Id ? \"active\" : \"\"} `} style={{ maxWidth: \"250px\" }} onMouseOut={()=> document.removeEventListener(\"keydown\", kydownToCopy) } onMouseLeave={() => { moseEnter.current = false ;document.removeEventListener(\"keydown\", kydownToCopy) }} onMouseEnter={MouseEnter} onClick={() => { toggleActiveRow(row) }}>\r\n }\r\n >\r\n <>\r\n {\r\n\r\n head.map((item, index) => (\r\n index === 0 ?\r\n \r\n { row[Titleparams]}\r\n \r\n }\r\n >\r\n \r\n {DragMouseEnter(row, num , item.text)}} onMouseDown={() => { getTh({...row ,num:num}) }} onMouseUp={() => { setTh(row) }}>\r\n \r\n {\r\n multiselect && {if(!data.disabled){ e.stopPropagation(); setChecked(null); setType(1); addToList(row, true) }}} onclick={(e) => { e.stopPropagation(); addToList(row, e.target.checked) }} />\r\n }\r\n {((data.maxLevel ==null || num { setOpen(!open); setDefultShow(false); openRef.current = !openRef.current; if (!open) getChildren(IdParams ?row[IdParams] : row.Id); }}>\r\n {loading ?
\r\n : open ? :\r\n \r\n }\r\n \r\n :\r\n
{ setOpen(!open); setDefultShow(false); openRef.current = !openRef.current; if (!open) getChildren(IdParams ?row[IdParams] : row.Id); }}>\r\n
\r\n }\r\n
\r\n {(row[Titleparams]&&row[Titleparams].includes(\".\")) ? row[Titleparams].split(\".\").map((item, index) => (trans(item) + \" _ \"))\r\n :((data.search ?(row[item.text].includes(data.search.split(\"..\")[data.search.includes(\"..\")? data.num:0 ]) ?(<>{row[item.text].replace(data.search.split(\"..\")[data.search.includes(\"..\")? data.num:0 ],\"*#\").split(\"*#\")[0]}{data.search.split(\"..\")[data.search.includes(\"..\")? data.num:0 ]}{row[item.text].replace(data.search.split(\"..\")[data.search.includes(\"..\")? data.num:0 ],\"*#\").split(\"*#\")[1]}) : trans(row[Titleparams]) ): ( ComplementaryTitle?row[ComplementaryTitle] +\" - \" + trans(row[Titleparams]) : trans(row[Titleparams])) ))}\r\n
\r\n
\r\n \r\n \r\n : \r\n { row[item.text] }\r\n \r\n }\r\n >\r\n { valueToCopy.current = row[item.text]}} className={`table-tree__body-cell ${row[italic] ?\"italicTd\" : \"\" } `} >\r\n \r\n
\r\n {row[item.text] == null ? \" \" : (typeof (row[item.text]) == \"object\" ? row[item.text].length : row[item.text] )}\r\n
\r\n
\r\n \r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n {(open &&children)&& children.map((SubRow) => (\r\n \r\n ))\r\n }\r\n \r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const TableTree: React.FC = ({\r\n Data,\r\n theadData,\r\n parentName,\r\n startIndex,\r\n minCellWidth,\r\n selectedRowObjectCallback,\r\n selectedRowsCallback,\r\n DoubleClick,\r\n moveNude,\r\n getChildrenUrl,\r\n selectedRowObject,\r\n params = \"parentId\",\r\n Childrenparams = \"Children\",\r\n Titleparams = \"Description\",\r\n ComplementaryTitle ,\r\n IdParams ,\r\n defultparams,\r\n baseUrl,\r\n defultShow = false,\r\n multiselect = false,\r\n dragDrop = false,\r\n disabled = false,\r\n ListResponse = [],\r\n selectedList = {},\r\n maxLevel ,\r\n openLevel ,\r\n compressed=false ,\r\n italic,\r\n search,\r\n maxWidth = false,\r\n makeParentsList=false\r\n\r\n\r\n}) => {\r\n const rtlDataGridDirection = localStorage.getItem(\"lang\") === \"fa\" ? true : false;\r\n const [selectList, setSelectList] = useState(selectedList);\r\n const [selectedIndex, setSelectedIndex] = useState();\r\n const [flag, setFlag] = useState(false);\r\n const [data, setData] = useState()\r\n const [hedcolums, setHedcolums]: any = useState(createHeaders(theadData, parentName, startIndex));\r\n const [tableHeight, setTableHeight] = useState('auto');\r\n const [activeIndex, setActiveIndex] = useState(null);\r\n const [widthColumns, setWidthColumns] = useState([]);\r\n const tableElement = useRef(null);\r\n const [activeRowId, setActiveRowId] = useState(-1);\r\n const [listt, setListt] = useState(selectedList);\r\n\r\n const [dragId, setDragId] = useState();\r\n const [dropId, setDropId] = useState();\r\n const [dragBoxPo, setDragBoxPo] = useState([]);\r\n const dragBox = useRef(null);\r\n const [err, setErr] = useState(false);\r\n\r\n //let listt:any ={}\r\n\r\n\r\n let DefaultMinCellWidth = minCellWidth ? minCellWidth : 100;\r\n let gridTemplateColumnsStyle: string[] = [];\r\n let localFlag = true\r\n let ummont = true\r\n\r\n\r\n\r\n function setUserList(e, mychilde) {\r\n\r\n\r\n\r\n setListt(Object.assign(listt, e))\r\n if (Object.keys(e)[0].length == 36 && Object.keys(e)[0].includes(\"-\")) {\r\n } else {\r\n \r\n ListResponse && Object.values(ListResponse).forEach((item1: any, index1) => {\r\n if (Object.values(e)[0] != null) {\r\n if (item1.startsWith(Object.keys(e)[0])) {\r\n setListt(Object.assign(listt, { [item1]: Object.values(e)[0] }))\r\n }\r\n } else {\r\n if (item1 === (Object.keys(e)[0])) {\r\n setListt(Object.assign(listt, { [item1]: Object.values(e)[0] }))\r\n }\r\n\r\n }\r\n })\r\n }\r\n // setitemsList({...userList ,...e })\r\n let filter: any = []\r\n Object.values(listt).forEach((item, index) => {\r\n if (item) {\r\n if ((Object.keys(listt)[index].length == 36 && Object.keys(listt)[index].includes(\"-\")) || Object.keys(listt)[index].includes(\".\")) {\r\n filter.push(Object.keys(listt)[index])\r\n }\r\n if (Object.keys(listt)[index] == \"AdminRole\") {\r\n filter.push(Object.keys(listt)[index])\r\n }\r\n }\r\n })\r\n // setSelectList(listt)\r\n selectedRowsCallback && selectedRowsCallback(filter)\r\n }\r\n \r\n if (theadData.length < startIndex + 3) {\r\n gridTemplateColumnsStyle[0] = \"100%\";\r\n } else { gridTemplateColumnsStyle[0] = \"250px\"; }\r\n\r\n if (hedcolums[1] && hedcolums[1].width) {\r\n for (let i = 0; i < hedcolums.length; i++) {\r\n gridTemplateColumnsStyle[i] = (`minmax(${hedcolums[i].width},2fr)`);\r\n }\r\n\r\n } else {\r\n for (let i = 1; i < hedcolums.length; i++) {\r\n gridTemplateColumnsStyle[i] = (\"minmax(100px,2fr)\");\r\n }\r\n }\r\n function getTh(e) {\r\n e.stopPropagation();\r\n setSelectedIndex(e.target.id[23])\r\n\r\n }\r\n\r\n\r\n function setTh(e) {\r\n\r\n let putIndex = e.target.id[23]\r\n if (putIndex > 0 && selectedIndex > 0) {\r\n let selectIndex: any = selectedIndex;\r\n let arryHed = hedcolums;\r\n let selectHed = arryHed[selectIndex]\r\n arryHed.splice(selectIndex, 1)\r\n arryHed.splice(putIndex, 0, selectHed)\r\n setHedcolums(arryHed)\r\n }\r\n setFlag(!flag)\r\n\r\n }\r\n const mouseDown = (index) => {\r\n setActiveIndex(index);\r\n }\r\n\r\n const mouseMove = useCallback((e) => {\r\n e.stopImmediatePropagation();\r\n // Return an array of px values\r\n const gridColumns = hedcolums.map((col, i) => {\r\n let reff:any = tableElement.current\r\n\r\n if (i === activeIndex) {\r\n\r\n // Calculate the column width\r\n if (tableElement.current !== null) {\r\n if (rtlDataGridDirection) {// سایز سلول در حالت راست چین\r\n\r\n const width = col.ref.current.getBoundingClientRect().right - e.clientX;\r\n\r\n if (width >= DefaultMinCellWidth) {\r\n if(maxWidth){\r\n if(reff.offsetWidth+50 <= width){\r\n return `${reff.offsetWidth}px`;\r\n }else{\r\n return `${width}px`;\r\n }\r\n }else{\r\n return `${width}px`;\r\n\r\n }\r\n } else {\r\n return `${DefaultMinCellWidth}px`;\r\n }\r\n } else { // سایز سلول در حالت چپ چین\r\n const width = e.clientX - (tableElement.current as HTMLElement)?.getBoundingClientRect().left - col.ref.current.offsetLeft;\r\n if (width >= DefaultMinCellWidth) {\r\n return `${width}px`;\r\n }\r\n }\r\n }\r\n }\r\n // Otherwise return the previous width (no changes)\r\n return `${col.ref.current.offsetWidth}px`;\r\n });\r\n\r\n\r\n\r\n if (gridColumns.length > 0) {\r\n setWidthColumns(JSON.parse(JSON.stringify(gridColumns)))\r\n\r\n }\r\n\r\n setFlag(!flag)\r\n // setwidthColumns(gridColumns)\r\n\r\n // Assign the px values to the table\r\n if (tableElement.current) {\r\n (tableElement.current as HTMLElement).style.gridTemplateColumns = gridColumns.join(' ');\r\n\r\n setFlag(!flag)\r\n }\r\n\r\n\r\n }, [activeIndex, hedcolums, DefaultMinCellWidth]);\r\n\r\n\r\n\r\n const removeListeners = useCallback(() => {\r\n window.removeEventListener('mousemove', mouseMove);\r\n window.removeEventListener('mouseup', removeListeners);\r\n }, [mouseMove]);\r\n const mouseUp = useCallback(() => {\r\n setActiveIndex(null);\r\n removeListeners();\r\n }, [setActiveIndex, removeListeners]);\r\n\r\n function toggleActiveRow(obj) {\r\n if (typeof obj == \"string\") {\r\n let finded = false\r\n Data.forEach(item => {\r\n if (item.Id === obj) {\r\n finded = true\r\n setActiveRowId(item.Id)\r\n selectedRowObjectCallback && selectedRowObjectCallback(item);\r\n }\r\n });\r\n if (!finded) {\r\n setActiveRowId(obj)\r\n }\r\n\r\n } else {\r\n if (obj) {\r\n setActiveRowId(obj.Id)\r\n selectedRowObjectCallback && selectedRowObjectCallback(obj);\r\n\r\n }\r\n }\r\n\r\n // setActiveRow(rowIndex);\r\n // فرستادن مقدار آیدی به والد\r\n\r\n\r\n }\r\n\r\n useEffect(() => {\r\n if(activeRowId==-1&&Data[0]!=undefined &&typeof Data[0] != \"string\"){\r\n setActiveRowId(Data[0].Id)\r\n selectedRowObjectCallback && selectedRowObjectCallback(Data[0]);\r\n }\r\n }, [Data])\r\n\r\n useEffect(() => {\r\n\r\n\r\n return () => {\r\n if (ummont) {\r\n let flag2 = false\r\n let hedlist = hedcolums.map(item => {\r\n return item.text\r\n })\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n\r\n }\r\n if (localFlag) {\r\n locallist.forEach(item => {\r\n if (item[0] === parentName) {\r\n item[1] = hedlist\r\n localFlag = false\r\n flag2 = true\r\n }\r\n });\r\n if (!flag2) {\r\n locallist.push([parentName, hedlist, widthColumns]);\r\n }\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n }\r\n ummont = false\r\n\r\n }\r\n\r\n }\r\n\r\n }, [])\r\n\r\n useEffect(() => {\r\n\r\n if (activeIndex !== null) {\r\n window.addEventListener('mousemove', mouseMove);\r\n window.addEventListener('mouseup', mouseUp);\r\n }\r\n\r\n let a = true\r\n\r\n return () => {\r\n if (a) {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n\r\n }\r\n if (localFlag) {\r\n locallist.forEach(item => {\r\n if (item[0] === parentName) {\r\n if (ummont)\r\n if (widthColumns.length > 0) {\r\n item[2] = widthColumns\r\n }\r\n\r\n\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n }\r\n\r\n\r\n }\r\n removeListeners();\r\n\r\n }\r\n }, [mouseMove, mouseUp]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n setData(data)\r\n setTableHeight(Data.length * 25 + 25 + \"px\"); // عدد 25 متناسب با ارتفاع سطر ها در نظر گرفته شده است global.$height_dataGrid_tr\r\n\r\n }, [Data]);\r\n\r\n // -------------------------------------drag & drop func----------------------------------------------------------------------\r\n\r\n\r\n useEffect(() => {\r\n if (dragDrop) {\r\n if (dropId?.Id && dragId?.Id && (dropId.Id !== dragId.Id)) {\r\n moveNude && moveNude(dragId.Id, dropId.Id)\r\n } else {\r\n if (dragBox.current) {\r\n (dragBox.current as HTMLElement).style.display = \"none\"\r\n\r\n }\r\n }\r\n }\r\n setDropId(null)\r\n setDragId(null)\r\n }, [dropId]);\r\n\r\n const mouseDragMove = useCallback((e) => {\r\n e.stopImmediatePropagation();\r\n if (dragDrop) {\r\n if (e && e.target && e.target.className && e.target.className.length > 0 && !e.target.className.includes(\"table-tree\")) {\r\n setErr(true)\r\n } else {\r\n setErr(false)\r\n }\r\n // Return an array of px values\r\n\r\n setDragBoxPo([e.pageX, e.pageY])\r\n if (dragId?.Id) {\r\n // dragBox?.current?.style?.display = \"block\"\r\n if (dragBox.current) {\r\n (dragBox.current as HTMLElement).style.display = \"flex\"\r\n\r\n }\r\n }\r\n }\r\n }, [dragId]);\r\n\r\n const removeDragListeners = useCallback(() => {\r\n window.removeEventListener('mousemove', mouseDragMove);\r\n window.removeEventListener('mouseup', removeDragListeners);\r\n }, [mouseDragMove]);\r\n const mouseDragUp = useCallback((e) => {\r\n e.stopPropagation();\r\n if (dragBox.current) {\r\n (dragBox.current as HTMLElement).style.display = \"none\"\r\n setDropId(null)\r\n setDragId(null)\r\n }\r\n\r\n removeDragListeners();\r\n }, [setDragId, removeDragListeners]);\r\n\r\n useEffect(() => {\r\n if (dragId !== null) {\r\n window.addEventListener('mousemove', mouseDragMove);\r\n window.addEventListener('mouseup', mouseDragUp);\r\n }\r\n return () => {\r\n\r\n removeDragListeners();\r\n\r\n }\r\n }, [mouseDragMove, mouseDragUp]);\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n {Data && (\r\n
\r\n {(dragId && dragId.Id)&& \r\n
{(err || !dragId?.accessDrop) ? :

{(dragId )&& dragId.Description}

}
\r\n }\r\n \r\n \r\n \r\n\r\n {/* mouseDown(0)}\r\n className={`table-tree__resize-handle ${activeIndex === 0 ? 'active' : 'idle'}`}\r\n /> \r\n */}\r\n {hedcolums.map(({ ref, text }, index) => (\r\n\r\n\r\n \r\n {trans(text)}\r\n \r\n }\r\n >\r\n \r\n \r\n\r\n ))}\r\n \r\n \r\n \r\n\r\n \r\n {Data.map(item => {\r\n return \r\n })}\r\n \r\n\r\n \r\n\r\n\r\n
\r\n \r\n
{trans(text)}
\r\n
\r\n\r\n mouseDown(index)}\r\n className={`table-tree__resize-handle ${activeIndex === index ? 'active' : ''}`}\r\n />\r\n\r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n","import { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\nexport const getChildren1 = (Url ,defultparam, params ,id,baseUrl) => http({\r\n baseURL:baseUrl ,\r\n url: Url,\r\n method: \"get\",\r\n params: {\r\n [params]: id,\r\n ...defultparam\r\n }\r\n}).then((res) => {\r\n \r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n","import { Button } from \"components/Button/Button\";\r\n\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { AddNodeToParent, editNode, getNode } from \"../api\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface GeographicalClassificationFormPropsType {\r\n selectedObj;\r\n showForm;\r\n mode;\r\n onHide?:()=>void,\r\n showGeographicalClassificationForm?:any\r\n\r\n}\r\nexport const GeographicalClassificationForm = ({ \r\n selectedObj,\r\n showForm,\r\n mode,\r\n onHide,\r\n showGeographicalClassificationForm\r\n}: GeographicalClassificationFormPropsType) => {\r\n \r\n let Description,condition , Qualification :any;\r\n const [resetForm, setResetForm] = useState(false);\r\n const [node, setNode] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n if (mode == \"edit\" ||mode == \"view\" ) {\r\n Description = selectedObj.Description\r\n }\r\n async function sendNodeAsync(data) {\r\n try{\r\n const res = await AddNodeToParent(data);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm()\r\n \r\n }catch(err:any){\r\n\r\n }\r\n }\r\n\r\n async function getNodeAsync() {\r\n try{\r\n const res = await getNode(selectedObj.Id);\r\n setNode(res.Data)\r\n\r\n\r\n }catch(err:any){\r\n\r\n }\r\n }\r\n\r\n async function putNodeAsync(data) {\r\n try{\r\n const res = await editNode(data);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm()\r\n \r\n }catch(err:any){\r\n \r\n }\r\n }\r\n\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(false)\r\n });\r\n }else{\r\n showForm(false) \r\n };\r\n \r\n \r\n }\r\n \r\n const handlePersonContactFormSubmit = (event) => {\r\n event.preventDefault();\r\n if(mode==\"edit\"){\r\n let data={\r\n \"id\":selectedObj.Id,\r\n \"ParentId\": selectedObj.ParentId,\r\n \"ActivityStatus\": +event.target.ActivityStatus.value,\r\n \"Description\": event.target.Description.value,\r\n \"DescriptionEN\": event.target.DescriptionEN.value,\r\n \"LevelLimitation\":showGeographicalClassificationForm==1? +event.target.LevelLimitation.value:node?.LevelLimitation,\r\n \"Code\": event.target?.Code?.value\r\n }\r\n putNodeAsync(data)\r\n onHide && onHide()\r\n \r\n }else{\r\n let data={\r\n \"ParentId\": selectedObj?.Id ? selectedObj.Id :null,\r\n \"Description\": event.target.Description.value,\r\n \"DescriptionEN\": event.target.DescriptionEN.value,\r\n \"LevelLimitation\":showGeographicalClassificationForm==1? +event.target.LevelLimitation.value:selectedObj.LevelLimitation-1,\r\n \"Code\": event.target?.Code?.value\r\n\r\n }\r\n sendNodeAsync(data)\r\n onHide && onHide()\r\n }\r\n \r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (mode == \"edit\" ||mode == \"view\" ) {\r\n getNodeAsync()\r\n }\r\n }, [selectedObj]);\r\n\r\n\r\n \r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"text\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n maxLength={900}\r\n defaultValue={node ? node?.Description : Description}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"DescriptionEN\"\r\n labelText=\"DescriptionEN\"\r\n maxLength={900}\r\n defaultValue={node ? node?.DescriptionEN : Description}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n {showGeographicalClassificationForm==1 &&
\r\n \r\n
}\r\n \r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n label=\"ActivityStatus\"\r\n name=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value ={node ? node?.ActivityStatus :condition }\r\n mode={mode}\r\n />\r\n
\r\n }\r\n\r\n\r\n\r\n { mode !=\"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n );\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const AddNodeToParent = (data:any) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.GeographicalClassification.load,\r\n method: \"post\",\r\n data:data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\n \r\nexport const editNode = (data:any) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.GeographicalClassification.edit,\r\n method: \"put\",\r\n data : data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n \r\nexport const getNode = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.GeographicalClassification.getId,\r\n method: \"get\",\r\n params : {\r\n Id : id\r\n }\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const getFully = () => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.GeographicalClassification.browse,\r\n method: \"get\",\r\n\r\n}).then((res) => {\r\n // Toast(\"Information received successfully\" , \"success\") \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n \r\nexport const deleteNode = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.GeographicalClassification.deleteNode,\r\n method: \"delete\",\r\n params : {\r\n Id : id\r\n }\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n ","\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { deleteNode, getFully } from './api';\r\n\r\nimport { GeographicalClassificationForm } from \"./components/GeographicalClassificationForm\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { MessageType } from \"types/enum\";\r\ninterface GeographicalClassificationPropsType{\r\n onHide:()=>void,\r\n itemCodeHandeler?: (e) => void,\r\n\r\n}\r\nexport const GeographicalClassification = ({onHide,itemCodeHandeler}:GeographicalClassificationPropsType) => {\r\n const TreeMode={Root:1,Branch:2}\r\n const [showGeographicalClassificationForm, setShowGeographicalClassificationForm] = useState(TreeMode.Root)\r\n const [showPositionForm, setShowPositionForm] = useState(false)\r\n const [showRoleForm, setShowRoleForm] = useState(false)\r\n const [forceUpdate, setForceUpdate] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n const [defultShow, setDefultShow] = useState(true)\r\n const [Fullydata, setFullydata] = useState([])\r\n const [selectedObj, setSelectedObj] = useState(null)\r\n const [idCallback, setIdCallback] = useState(\"2\")\r\n const [mode, setmode] = useState()\r\n const [catchMessage, setCatchMessage] = useState({type:\"info\",msg:\"NoDataForPreview\"});\r\n\r\n let theadData: any = []\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"tree\":setSelectedObj(null);getFullyAsync();setDefultShow(!defultShow);break;\r\n case \"view\": if (selectedObj){ setmode(\"view\"); setShowGeographicalClassificationForm(selectedObj.ParentId?TreeMode.Branch:TreeMode.Root);} else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\") \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n }; break;\r\n case \"edit\": if (selectedObj){ setmode(\"edit\"); setShowGeographicalClassificationForm(selectedObj.ParentId?TreeMode.Branch:TreeMode.Root);} else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\") \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n }; break;\r\n case \"print\":alert(\"print \");break;\r\n case \"remove\":if (selectedObj) { \r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\", \"alert\", deletListAsync) \r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete, deletListAsync) \r\n }else { \r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n\r\n }; break;\r\n // case \"excel\":alert(\"excel \");break;\r\n case \"refresh\":setForceUpdate(!forceUpdate);break;\r\n \r\n case \"create\":{ setmode(\"create\");setShowGeographicalClassificationForm(TreeMode.Root);setSelectedObj(null); ;} break;\r\n }\r\n };\r\n const handleViewModalForm = () => {\r\n setIdCallback(selectedObj?.Id)\r\n setShowGeographicalClassificationForm(0)\r\n setShowPositionForm(false)\r\n setIdCallback(\" \")\r\n setForceUpdate(!forceUpdate)\r\n }\r\n async function deletListAsync() {\r\n try {\r\n await deleteNode(selectedObj.Id)\r\n setForceUpdate(!forceUpdate)\r\n } catch (err: any) {\r\n\r\n }\r\n\r\n }\r\n\r\nconst sendTreeGeographical = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n if(selectedObj){\r\n itemCodeHandeler && itemCodeHandeler(selectedObj)\r\n }else{\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\") \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n }\r\n\r\n\r\n}\r\n async function moveNudeAsync(drag, drop) {\r\n try {\r\n // const response = await moveNude(drag, drop)\r\n // setReload(!reload)\r\n // return true\r\n\r\n } catch (err: any) {\r\n\r\n }\r\n\r\n }\r\n\r\n async function getFullyAsync() {\r\n setLoading(false)\r\n try {\r\n \r\n const respons = await getFully()\r\n setFullydata(respons.Data)\r\n setCatchMessage({type:\"info\",msg:\"NoDataForPreview\"})\r\n } catch (error:any) {\r\n setCatchMessage({type:\"error\" , msg:error?.response?.data?.Message})\r\n }\r\n\r\n setLoading(true)\r\n }\r\n\r\n const selectedCreateItemTreeCallback =async (e) => {\r\n setmode(\"create\")\r\n const lang = localStorage.getItem(\"lang\");\r\n document.body.classList.add(\"loading-indicator-\"+lang);\r\n if(e==1&& !selectedObj){\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning);\r\n\r\n }else{\r\n setShowGeographicalClassificationForm(TreeMode.Branch)\r\n\r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n }\r\n\r\n\r\n useEffect(() => {\r\n setShowGeographicalClassificationForm(0)\r\n setSelectedObj(null)\r\n getFullyAsync()\r\n }, [forceUpdate]);\r\n\r\n\r\n\r\n return (\r\n <>\r\n {showGeographicalClassificationForm ? : null}\r\n \r\n
\r\n
\r\n <>\r\n {\r\n loading ? (\r\n (Fullydata&&Fullydata.length>0) ?\r\n \r\n : \r\n )\r\n : \r\n }\r\n {!window.location.href.includes(\"geographical\")&&\r\n
\r\n
\r\n\r\n }\r\n \r\n
\r\n
\r\n \r\n )\r\n}","\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getCustomers = (async(pageNumber,pageSize,searchString,orderByString,filterString) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.browse,\r\n method: 'get',\r\n params:{\r\n PageNumber:pageNumber,\r\n PageSize:pageSize,\r\n OrderByString:orderByString,\r\n SearchString:searchString,\r\n FilterString:filterString,\r\n }\r\n}).then((res) =>{\r\n\r\n return res.data\r\n}).catch((err) =>{\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const getCustomer = (async (id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.load,\r\n method: 'get',\r\n params: { Id: id }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\nexport const getNextCustomerCode = (async () => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.nextCode,\r\n method: 'get',\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\nexport const getGeographicalClassification = (async (id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.GeographicalClassification.getId,\r\n params:{\r\n id\r\n },\r\n method: 'get',\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const postCustomer = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.browse,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n\r\nexport const putCustomer = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.browse,\r\n method: 'put',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\nexport const importCustomer = (data,organizationId\r\n) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.Import,\r\n method: 'post',\r\n data: data,\r\n params:{\r\n organizationId\r\n\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\nexport const deleteCustomer = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.browse,\r\n method: 'DELETE',\r\n params: {\r\n id :id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\nexport const getPersonApi = (async (search, id) => await http({\r\n\r\n url: id.length >1 ? ENDPOINTS.BaseInformation.person.dictionaryId : ENDPOINTS.BaseInformation.person.dictionary,\r\n method: 'get',\r\n params: {\r\n SearchString: search,\r\n Id: id\r\n }\r\n}) \r\n .then((respons) => (respons.data.Data))\r\n)\r\nexport const getEditablecolumns = (async () => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.getEditableColumns,\r\n method: 'get',\r\n\r\n}) \r\n .then((respons) => (respons.data.Data))\r\n)\r\nexport const putEditableList = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.putEditableColumns,\r\n method: 'put',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getPersonApi } from \"./api\";\r\ninterface PersonPropsType {\r\n label?: string,\r\n hasBorder?: boolean,\r\n required?: boolean,\r\n value?:string,\r\n name:any,\r\n mode?:string,\r\n resetForm?:any,\r\n Change?: (e) => void,\r\n setPerson?: (e) => void,\r\n setShowPersonForm: (e) => void,\r\n}\r\n\r\nexport const PersonDictionaryWithAdd = ({setShowPersonForm, label, name,hasBorder,value,mode ,required , resetForm ,Change , setPerson}: PersonPropsType) => {\r\n const [personsList, setPersonsList] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag , setFlag] = useState(false);\r\n const [show , setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [rquird , setRquird] = useState(false);\r\n const [count,setCount] = useState(2);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const PersonRef = useRef(personsList);\r\n const validRef = useRef(false);\r\n const countRef = useRef(2)\r\n\r\n let optionList :any = []\r\n\r\n\r\n async function getPersonListAsync(search,id) {\r\n try{\r\n const res = await getPersonApi(search,id);\r\n if (id){\r\n setValeu(res[id] , id)\r\n setValueName(res[id])\r\n }\r\n setPersonsList({ ...res }) \r\n PersonRef.current = { ...res }\r\n setFlag(!flag)\r\n }catch(err:any){\r\n \r\n }\r\n }\r\n \r\n const Auto = (e)=>{\r\n validRef.current = false\r\n setValidat(false)\r\n setRquird(false)\r\n setShow(true)\r\n getPersonListAsync(e.target.value,\"\")\r\n setFlag(!flag)\r\n }\r\n\r\n function userSelecter(){\r\n setValeu(optionList[countRef.current],Object.keys(personsList)[countRef.current])\r\n setShow(false)\r\n }\r\n const kydown = (event) => { \r\n\r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < optionList.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = optionList.length-1;\r\n }\r\n }\r\n document.getElementById(\"personsListIndex\"+countRef.current)?.scrollIntoView({behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n }\r\n \r\n\r\n const CheckPerson =async (e)=>{\r\n setTimeout(() => { \r\n if(!validRef.current){ \r\n if(personsList!=undefined && Object.values(personsList).length == 1){\r\n setValeu(Object.values(personsList)[0] , Object.keys(personsList)[0])\r\n e.target.setCustomValidity(\"\");\r\n }else{\r\n if(inputRef.current){\r\n setValeu(null,null) \r\n }\r\n if(inputRef?.current?.value.length >0&&inputRef?.current?.value!=\"\"){\r\n e.target.setCustomValidity(trans(\"Msg_Validation_ValueIsIncorrect\"));\r\n setValidat(true);\r\n e.target.reportValidity();\r\n }\r\n setPerson && setPerson(null);\r\n }\r\n }\r\n }, 200);\r\n await delay(200)\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n }\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n const setValeu = (newValue , id)=>{\r\n \r\n if(inputIdRef != null && inputIdRef.current != null){\r\n validRef.current = true\r\n inputRef.current.value=newValue;\r\n inputIdRef.current.value=id;\r\n PersonRef.current = null;\r\n ((value==null &&id)|| id != value) ? Change&&Change({[name] :newValue}):Change&&Change({[name]:null});\r\n \r\n setPersonsList(null)\r\n setFlag(!flag)\r\n inputRef.current.setCustomValidity(\"\")\r\n setPerson && setPerson({Id:inputIdRef.current.value ,Name:inputRef.current.value })\r\n setValidat(false)\r\n }\r\n }\r\n useEffect(() => {\r\n if(value){\r\n getPersonListAsync(null,value)\r\n\r\n }else if(value == null){\r\n setValueName(null)\r\n }\r\n }, [value]);\r\n\r\n useEffect(() =>{\r\n if(show ){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n \r\n } \r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n \r\n \r\n },[show ,optionList])\r\n \r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) { \r\n setShow(false);\r\n }\r\n }\r\n \r\n\r\n if(personsList){\r\n optionList = Object.values(personsList)\r\n }\r\n return (\r\n <>\r\n\r\n\r\n\r\n
\r\n \r\n {required && *}\r\n \r\n {setShow(true);Auto(e)}} ref={inputRef} list=\"PersonList\" name=\"browser\" className=\"text-box__box form-control \" id={\"browser\"+name} onMouseDown={(e)=>e.stopPropagation() } onChange={Auto} disabled={mode !=\"create\" ? true : false} />\r\n {\r\n show && \r\n
\r\n {optionList && optionList.map((item , index)=>{\r\n return
{setValeu(item,Object.keys(personsList)[index])}} key={Object.keys(personsList)[index]} >{item}
\r\n })} \r\n
\r\n } \r\n
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n {required && {trans(\"Msg_Validation_ValueIsRequired\", [\"\"])}}\r\n
\r\n
\r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getPersonLegalList = (PageNumber: number, PageSize: number,orderFormat:string =\"\" ,filterlist , Search) => http({\r\n url: ENDPOINTS.BaseInformation.person.browse,\r\n method: \"get\",\r\n params: {\r\n PageNumber: PageNumber,\r\n PageSize: PageSize,\r\n personType: \"personlegal\",\r\n SearchString:Search,\r\n FilterString:filterlist,\r\n OrderByString : orderFormat\r\n }\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const getPersonRealList = (PageNumber: number, PageSize: number ,orderFormat:string =\"\" , filterlist , Search) => http({\r\n url: ENDPOINTS.BaseInformation.person.browse,\r\n method: \"get\",\r\n params: {\r\n PageNumber: PageNumber,\r\n PageSize: PageSize,\r\n SearchString:Search,\r\n FilterString:filterlist,\r\n OrderByString : orderFormat,\r\n personType: \"personreal\",\r\n }\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const getPerson = (personId: any) => http({\r\n url: ENDPOINTS.BaseInformation.person.load,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n Id: personId\r\n }\r\n}).then((res) => {\r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const setPersonAsync = ( method , _objData ) => http({\r\n method: method,\r\n url: ENDPOINTS.BaseInformation.person.browse, \r\n data: _objData,\r\n \r\n headers: { \"content-type\": \"multipart/form-data\",\r\n Accept: \"*/*\",\r\n },\r\n\r\n}).then((res) => {\r\n \r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\nexport const deletePersonAsync = ( id ) => http({\r\n method: \"delete\",\r\n url: ENDPOINTS.BaseInformation.person.browse, \r\n params:{\r\n Id:id\r\n }\r\n}).then((res) => {\r\n \r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\nexport const putPicture = ( id , data,isLegal ) => http({\r\n method: \"put\",\r\n url: ENDPOINTS.BaseInformation.person.updatePicture, \r\n params:{\r\n personLegalorRealId:id,\r\n isLegal:isLegal\r\n },\r\n data:data\r\n \r\n}).then((res) => {\r\n \r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})","import { Button } from \"components/Button/Button\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { PersonContact } from \"pages/OfficeAutomation/BaseInformation/PeoplePage/types\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { convertAddress, trans, uuidv4 } from \"utils/helpers\";\r\nimport { ContactType } from \"types/enum\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { MapLocation } from \"./component/MapLocation\";\r\nimport { Address } from \"components/Address/Address\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\ninterface PersonContactFormPropsType {\r\n personContact?: any,\r\n mode?: any,\r\n showPersonContactFormCallback: (ans: boolean,relod?:boolean) => void,\r\n newPersonContactDataCallback: (ans: PersonContact, exist) => void,\r\n}\r\nexport const PersonContactForm = ({ personContact, mode, showPersonContactFormCallback, newPersonContactDataCallback }: PersonContactFormPropsType) => {\r\n\r\n let data: any;\r\n // const [contactType_, setContactType_] = useState(personContact?.ContactFixType || \"Phone\");\r\n const [resetForm, setResetForm] = useState(false);\r\n const [type, setType] = useState(mode ==\"create\"?1 : personContact?.ContactTypeEnum)\r\n \r\n const [save_Exit, setSave_Exit] = useState(false);\r\n const [showMap, setShowMap] = useState(false);\r\n const [personLocation, setpersonLocation] = useState();\r\n\r\n const handlePersonContactFormSubmit = (event) => {\r\n event.preventDefault();\r\n let Value:any = \"\"\r\n if(event.target.ContactType.value == \"4\"){\r\n Value =JSON.stringify({\r\n address: event.target.Address.value,\r\n plaque: event.target.Plaque.value,\r\n unit: event.target.Unit.value,\r\n altitude: event.target.Altitude?.value,\r\n longitude: event.target.Longitude.value,\r\n latitude: event.target.Latitude.value ,\r\n PostalCode: event.target.PostalCode.value,\r\n })\r\n }else if(event.target.ContactType.value == \"8\"){\r\n Value =JSON.stringify({ \r\n altitude: event.target.Altitude?.value,\r\n longitude: event.target.Longitude.value,\r\n latitude: event.target.Latitude.value \r\n })\r\n }else{\r\n Value = event.target.value.value\r\n }\r\n if (personContact&&mode==\"edit\") {\r\n data = {\r\n Id: personContact?.Id,\r\n ContactTypeEnum: +event.target.ContactType.value ,\r\n ContactType: trans(ContactType[event.target.ContactType.value]) ,\r\n Value: Value,\r\n Description: event.target.Description.value,\r\n\r\n }\r\n } else {\r\n data = {\r\n Id: uuidv4(),\r\n ContactTypeEnum: +event.target.ContactType.value,\r\n ContactType: trans(ContactType[event.target.ContactType.value]),\r\n Value: Value,\r\n Description: event.target.Description.value,\r\n\r\n }\r\n }\r\n\r\n newPersonContactDataCallback(data, mode !=\"create\");\r\n\r\n if (save_Exit) {\r\n showPersonContactFormCallback(false ,true)\r\n }\r\n \r\n\r\n }\r\n\r\n const handleContactType = (e) => {\r\n setType(+e)\r\n };\r\n const sendLocationCallback = (e) => {\r\n \r\n setpersonLocation({\r\n\r\n address:e.address,\r\n latitude:e.geom.coordinates[1],\r\n longitude:e.geom.coordinates[0],\r\n\r\n })\r\n\r\n setShowMap(false)\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n return (\r\n
\r\n\r\n {showMap &&\r\n setShowMap(false)}\r\n show={showMap}\r\n title=\"PersonContact\"\r\n >\r\n \r\n \r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {\r\n {\r\n 1: (\r\n
\r\n \r\n
\r\n ),\r\n 2: (\r\n
\r\n \r\n
\r\n ),\r\n 3: (\r\n
\r\n \r\n
\r\n ),\r\n\r\n 4: (\r\n <>\r\n
\r\n \r\n ),\r\n 5:(\r\n
\r\n \r\n
\r\n ),\r\n 6:(\r\n
\r\n \r\n
\r\n ),\r\n 7:(\r\n<>\r\n ),\r\n 8: (\r\n <>\r\n\r\n \r\n ),\r\n 9: (\r\n
\r\n \r\n
\r\n ),\r\n\r\n }[type]\r\n }\r\n\r\n
\r\n \r\n
\r\n {mode !== \"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n }\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport { PersonContactForm } from \"./component/PersonContactForm/PersonContactForm\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { PersonContact } from \"pages/OfficeAutomation/BaseInformation/PeoplePage/types\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface PersonContactListPropsType {\r\n personId: string;\r\n mode: any;\r\n TotalRecords: any;\r\n personContactDataListProp: PersonContact[];\r\n personContactDataListCallback: (ans: PersonContact[]) => void;\r\n}\r\nexport const PersonContactList = ({\r\n personId,\r\n TotalRecords,\r\n mode,\r\n personContactDataListCallback,\r\n personContactDataListProp,\r\n}: PersonContactListPropsType) => {\r\n const [loading, setLoading] = useState(true);\r\n const [selectedObject, setSelectedObject] = useState(\r\n null\r\n );\r\n const [editIndex, setEditIndex] = useState(0);\r\n\r\n const [contactmode, setContactmode] = useState();\r\n const [showPersonContactForm, setShowPersonContactForm] = useState(false);\r\n const [personContactDataList, setPersonContactDataList] = useState<\r\n PersonContact[]\r\n >(personContactDataListProp); // این تایپ مشخص شود\r\n\r\n let HeadPersonContact: string[] = [];\r\n let BodyPersonContact: any = [];\r\n const showPersonContactFormCallback = (ans: boolean, reload?: boolean) => {\r\n if (reload) {\r\n setSelectedObject(null);\r\n }\r\n setShowPersonContactForm(ans); // برای زمانی که اگر کاربر روی دکمه انصراف کلیک کرد، فرم بسته شود\r\n };\r\n const newPersonContactDataCallback = (ans: PersonContact, exist) => {\r\n const isUnique = !BodyPersonContact.some(\r\n (item) => item.Value === ans.Value \r\n );\r\n if (isUnique) {\r\n if (exist) {\r\n let personContactList: any = personContactDataList.map((item) => {\r\n if (item.Id == ans.Id) return ans;\r\n else return item;\r\n });\r\n setPersonContactDataList(personContactList);\r\n personContactDataListCallback(personContactList);\r\n } else {\r\n let personContactList: any = personContactDataList;\r\n personContactList.push(ans);\r\n setPersonContactDataList(personContactList);\r\n personContactDataListCallback(personContactList);\r\n }\r\n }else{\r\nToast(trans('Msg_Validation_DuplicateValue') , MessageType.error)\r\n }\r\n };\r\n\r\n const selectedObjectCallback = (obj, index) => {\r\n setSelectedObject(personContactDataList[index]);\r\n setEditIndex(index);\r\n };\r\n const handleEditRow = (e) => {\r\n setContactmode(\"edit\");\r\n setShowPersonContactForm(true);\r\n };\r\n const handleViewRow = (e) => {\r\n setContactmode(\"view\");\r\n setShowPersonContactForm(true);\r\n };\r\n const handleDeleteRow = (e = selectedObject?.Id) => {\r\n setLoading(false);\r\n let personContactList: any = [];\r\n personContactDataList.map((item) => {\r\n if (item.Id != e) personContactList.push(item);\r\n });\r\n setPersonContactDataList(personContactList);\r\n setSelectedObject(null);\r\n personContactDataListCallback(personContactList);\r\n setLoading(true);\r\n };\r\n const handleCreateRow = () => {\r\n setContactmode(\"create\");\r\n setShowPersonContactForm(true);\r\n };\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"help\":\r\n break;\r\n case \"edit\":\r\n if (selectedObject?.Id) handleEditRow(selectedObject?.Id);\r\n break;\r\n case \"create\":\r\n handleCreateRow();\r\n break;\r\n case \"view\":\r\n if (selectedObject?.Id) handleViewRow(selectedObject?.Id);\r\n break;\r\n case \"remove\":\r\n if (selectedObject?.Id)\r\n // Toast(\r\n // trans(\"msg_deleteconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // handleDeleteRow\r\n // );\r\n Toast(\r\n trans(\"msg_deleteconfirm\"),\r\n MessageType.confirmDelete,\r\n handleDeleteRow\r\n );\r\n\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n if (personContactDataList) {\r\n if (personContactDataList.length != 0) {\r\n HeadPersonContact = Object.keys(personContactDataList[0]);\r\n // BodyPersonContact = JSON.parse(JSON.stringify( personContactDataList))\r\n BodyPersonContact = JSON.parse(JSON.stringify(personContactDataList)).map(\r\n (personContactData: any) => {\r\n if (\r\n (personContactData.ContactTypeEnum == 4 ||\r\n personContactData.ContactTypeEnum == 8) &&\r\n personContactData.Value.includes('\"')\r\n ) {\r\n if (typeof JSON.parse(personContactData.Value) === \"object\") {\r\n let data = JSON.parse(personContactData.Value);\r\n if (personContactData.ContactTypeEnum == 4) {\r\n if (data.address !== undefined) {\r\n personContactData.Value = `${data.address} ${trans(\r\n \"plaque\"\r\n )}:${data.plaque} ${trans(\"unit\")}:${data.unit} ${trans(\r\n \"PostalCode\"\r\n )}:${data.PostalCode}`;\r\n }\r\n } else {\r\n if (data.Altitude !== undefined) {\r\n personContactData.Value = `${trans(\"Altitude\")}:${\r\n data.Altitude\r\n } ${trans(\"Latitude\")}:${data.Latitude} ${trans(\r\n \"Longitude\"\r\n )}:${data.Longitude}`;\r\n }\r\n }\r\n } else {\r\n }\r\n }\r\n\r\n return personContactData;\r\n }\r\n );\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n {showPersonContactForm && (\r\n \r\n )}\r\n\r\n {loading ? (\r\n <>\r\n {personContactDataListProp ? (\r\n BodyPersonContact.length > 0 ? (\r\n <>\r\n {Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" ,()=> handleDeleteRow(e))}}\r\n handleView={handleViewRow}\r\n //totalRecords={TotalRecords}\r\n />\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}{\" \"}\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { FileInput } from \"components/FileInput/FileInput\";\r\nimport { PersonContact, PersonLegalDTO, Person } from \"pages/OfficeAutomation/BaseInformation/PeoplePage/types\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { putPicture, setPersonAsync } from '../../../api/api';\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { getPerson } from \"pages/OfficeAutomation/BaseInformation/PeoplePage/components/api/api\";\r\nimport { PersonContactList } from \"pages/OfficeAutomation/BaseInformation/PeoplePage/components/PersonContactList/PersonContactList\";\r\nimport { trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nimport { ContactType, MessageType } from \"types/enum\";\r\nimport { Address } from \"components/Address/Address\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\n\r\ninterface PersonLegalFormPropsType {\r\n\r\n handleCancelForm: (cancelBtn: boolean) => void\r\n idPerson?: any;\r\n showSaveClose?: any;\r\n ButtonInTop?: boolean;\r\n\r\n handleAddPerson: (ans: any) => void,\r\n mode?: string;\r\n}\r\nexport const PersonLegalForm = ({\r\n showSaveClose=true,\r\n handleCancelForm,\r\n ButtonInTop,\r\n idPerson,\r\n handleAddPerson,\r\n mode\r\n}: PersonLegalFormPropsType) => {\r\n let personLegalDTO: PersonLegalDTO | undefined, personData: Person, personDataForSend, method;\r\n let personLegalDTOAddress;\r\n const [personResponse, setPersonResponse] = useState();\r\n\r\n const [personId, setPersonId] = useState();\r\n const [resetForm, setResetForm] = useState(false);\r\n const [selectedImage, setSelectedImage] = useState();\r\n const [showModalContact, setShowModalContact] = useState(false);\r\n const [personContactDataList, setPersonContactDataList] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const [save_Exit, setSave_Exit] = useState(false);\r\n const [dataChange, setDataChange] = useState(false);\r\n const [userName, setUserName] = useState(\"\");\r\n const [userChanges, setUserChanges] = useState({});\r\n const [dataRecovered, setDataRecovered] = useState({});\r\n const [showPositionList, setShowPositionList] = useState(false);\r\n\r\n const [Total_records, setTotal_records] = useState(5);\r\n const formLegalName = useRef(null);\r\n\r\n\r\n\r\n const changeHandlePic = (e: any) => {\r\n if (e?.target?.files && e?.target?.files?.length > 0) {\r\n // setSelectedImage(e.target.files[0]);\r\n setSelectedImage({url: URL.createObjectURL([...e.target.files][0] ) ,file:[...e.target.files][0]}); \r\n\r\n }\r\n };\r\n\r\n\r\n\r\n async function sendPersonAsync(method , _objData) {\r\n try{\r\n const res = await setPersonAsync(method , _objData);\r\n handleAddPerson(res.data)\r\n setResetForm(true);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n localStorage.removeItem(\"formsInChang\")\r\n setUserChanges({})\r\n setDataRecovered({})\r\n if (save_Exit) {\r\n handleCancelForm(true);\r\n }\r\n if( mode ==\"edit\" ){\r\n handleCancelForm(true);\r\n }\r\n setDataChange(false)\r\n\r\n }catch(err:any){\r\n\r\n\r\n }\r\n }\r\n\r\n async function sendpersonPictureAsync(id , _objData) {\r\n try {\r\n const res = await putPicture(id , _objData ,true);\r\n \r\n\r\n } catch (err: any) {\r\n }\r\n }\r\n\r\n\r\n\r\n function sendDataToServer(event) {\r\n event.preventDefault();\r\n let data = {\r\n PersonLegalTitleId: event.target.Title.value,\r\n LegalName: event.target.LegalName.value,\r\n LegalNameEN: event.target.LegalNameEN.value,\r\n RegistryNumber: event.target.RegistryNumber.value.trim()==\"\"?null : event.target.RegistryNumber.value ,\r\n NationalIdentifier: event.target.NationalIdentifier.value,\r\n EconNo: event.target.EconNo.value,\r\n Description: event.target.Description.value,\r\n LegalType: +event.target.LegalType.value,\r\n ChiefOfficer: event.target.ChiefOfficer.value,\r\n };\r\n let address = (event.target.Address.value||event.target.Plaque.value|| event.target.Unit.value||event.target.PostalCode.value)? JSON.stringify({ address: event.target.Address.value, plaque: event.target.Plaque.value, unit: event.target.Unit.value, PostalCode: event.target.PostalCode.value, Longitude: event.target.Longitude.value,Latitude: event.target.Latitude.value }):null;\r\n let Contact:any=[]\r\n if(personContactDataList)\r\n personContactDataList.forEach(item => { if (item.Id != GUID_EMPTY) { Contact.push({ Id:item.Id,Value: item.Value, ContactType: +item.ContactTypeEnum, Description: item.Description }) } })\r\n\r\n let personInfo: (Person|any) = {\r\n PersonLegalDTO: {\r\n PersonLegal: data,\r\n LegalType: +event.target.LegalType.key,\r\n Email: event.target.Email.value,\r\n Address: address,\r\n Phone: event.target.Phone.value,\r\n Mobile: event.target.Mobile.value\r\n\r\n },\r\n PersonContacts: Contact,\r\n UserName:event.target.UserName.value\r\n\r\n };\r\n if (personId) {\r\n personInfo.Id=personId\r\n personDataForSend = personInfo\r\n method = \"put\";\r\n var _objData = new FormData();\r\n \r\n _objData.append(\"PersonDTO\", JSON.stringify(personDataForSend));\r\n if(selectedImage){\r\n let personPicture = new FormData();\r\n personPicture.append(\"personPicture\", selectedImage?.file);\r\n sendpersonPictureAsync( personResponse.data.Data.PersonLegalDTO.PersonLegal.Id, personPicture)\r\n }\r\n sendPersonAsync(method ,_objData )\r\n } else {\r\n personDataForSend = personInfo;\r\n method = \"post\";\r\n var _objData = new FormData();\r\n _objData.append(\"PersonDTO\", JSON.stringify(personDataForSend));\r\n if(selectedImage){\r\n _objData.append(\"PersonPicture\", selectedImage?.file);\r\n }\r\n sendPersonAsync(method ,_objData )\r\n }\r\n\r\n }\r\n function dataURLtoFile(dataurl, filename) {\r\n \r\n var arr = dataurl.split(','),\r\n mime = arr[0].match(/:(.*?);/)[1],\r\n bstr = atob(arr[1]), \r\n n = bstr.length, \r\n u8arr = new Uint8Array(n);\r\n \r\n while(n--){\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n \r\n return new File([u8arr], filename, {type:mime});\r\n }\r\n \r\n async function getDataAsync(Id) {\r\n setLoading(false)\r\n setSelectedImage(null)\r\n \r\n try {\r\n const response = await getPerson(Id);\r\n setPersonResponse(response); \r\n // setSelectedImage(response.data.Data.PersonLegalDTO.PersonLegal?.PersonLegalPicture)\r\n let contact = response.data.Data?.PersonContacts.map(item => {\r\n \r\n return {\r\n Id: item.Id,\r\n ContactTypeEnum: item.ContactType ,\r\n Description: item.Description,\r\n ContactType: trans(ContactType[item.ContactType]) ,\r\n Value: item.Value\r\n }\r\n })\r\n setPersonContactDataList(contact);\r\n if(response.data.Data.PersonLegalDTO.PersonLegal?.PersonLegalPicture){\r\n let file = dataURLtoFile('data:image/png;base64,'+response.data.Data.PersonLegalDTO.PersonLegal?.PersonLegalPicture , \"1.jpg\")\r\n // setSelectedImage(file)\r\n setSelectedImage({url: URL.createObjectURL(file) ,file:file}); \r\n\r\n \r\n }\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n localStorage.removeItem(\"formsInChang\")\r\n } catch (error) {\r\n \r\n }\r\n\r\n setLoading(true)\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n \r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n setSelectedImage(null)\r\n }\r\n }, [resetForm]);\r\n\r\n\r\n useEffect(() => {\r\n if(userChanges!=undefined&& Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n \r\n let forms:any=JSON.parse(localStorage.getItem(\"formsInChang\" )+\"\")\r\n forms ={...forms , \"PersonLegal\" :{...userChanges , Id:idPerson } }\r\n localStorage.setItem(\"formsInChang\" , JSON.stringify(forms))\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n if(userChanges!=undefined && Object.keys(userChanges).length >0){\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n localStorage.removeItem(\"formsInChang\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }\r\n\r\n}, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (sessionStorage.getItem(\"changingforms\")==\"true\"&&localStorage.getItem(\"formsInChang\")!=null){\r\n let forms = JSON.parse(localStorage.getItem(\"formsInChang\")+\"\") \r\n if(forms){\r\n setDataRecovered(forms[\"PersonLegal\"])\r\n setUserChanges(forms[\"PersonLegal\"])\r\n\r\n }\r\n }\r\n if (idPerson) {\r\n if(mode != \"create\"){\r\n if(dataChange){\r\n // Toast(trans(\"modalclosemessage\") , \"warning\" , \"alert\" , ()=>{setPersonId(idPerson);getDataAsync(idPerson)})\r\n Toast(trans(\"modalclosemessage\") , MessageType.confirm , ()=>{setPersonId(idPerson);getDataAsync(idPerson)})\r\n\r\n }else{\r\n setPersonId(idPerson)\r\n getDataAsync(idPerson)\r\n }\r\n }\r\n }else if(mode == \"create\"){\r\n setPersonId(null)\r\n setResetForm(true);\r\n\r\n }\r\n }, [idPerson , mode]);\r\n \r\n if (idPerson && personResponse ) {\r\n personData = Object.assign({}, personResponse.data.Data);\r\n personLegalDTO = personData.PersonLegalDTO;\r\n personLegalDTO&& (personLegalDTO.Positions = personData.Positions)\r\n try {\r\n if (typeof (personData.PersonLegalDTO?.Address) === \"string\")\r\n personLegalDTOAddress = JSON.parse(personData?.PersonLegalDTO?.Address)\r\n } catch {\r\n personLegalDTOAddress = personData.PersonLegalDTO?.Address\r\n }\r\n } else {\r\n personLegalDTO = undefined;\r\n }\r\n\r\n const personContactDataListCallback = (ans: PersonContact[]) => {\r\n if(ans.length!=personResponse?.PersonContacts?.length){\r\n\r\n setUserChanges({...userChanges , ...{PersonContact: ans}})\r\n }else{\r\n setUserChanges({...userChanges , ...{PersonContact: null}})\r\n }\r\n setPersonContactDataList(ans);\r\n }\r\n const handleBtnContact = () => {\r\n setShowModalContact(true);\r\n \r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n loading ?\r\n\r\n
\r\n {ButtonInTop&&\r\n
\r\n {mode !== \"view\" ? <>\r\n {(!personId&&showSaveClose) && { setSave_Exit(true) }}\r\n />}\r\n
\r\n }\r\n
\r\n
\r\n \r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n value={dataRecovered?.Title ? dataRecovered?.Title :personLegalDTO?.PersonLegal?.PersonLegalTitleId} \r\n name=\"Title\"\r\n label=\"Title\"\r\n endPoint={ENDPOINTS.BaseInformation.PersonLegalTitle.dictionary}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"LegalName\"\r\n labelText=\"LegalName\"\r\n maxLength={100}\r\n required={true}\r\n recordedData={personLegalDTO?.PersonLegal?.LegalName}\r\n defaultValue={dataRecovered?.LegalName ? dataRecovered?.LegalName :personLegalDTO?.PersonLegal?.LegalName}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"LegalNameEN\"\r\n labelText=\"LegalNameEN\"\r\n maxLength={100}\r\n fixedLanguage={\"en\"}\r\n recordedData={personLegalDTO?.PersonLegal?.LegalNameEN}\r\n defaultValue={dataRecovered?.LegalNameEN ? dataRecovered?.LegalNameEN :personLegalDTO?.PersonLegal?.LegalNameEN}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n mode={mode} \r\n value={dataRecovered?.LegalType ? dataRecovered?.LegalType :personLegalDTO?.PersonLegal?.LegalType} \r\n name=\"LegalType\" \r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"nationalIdentifier\"\r\n textboxName=\"NationalIdentifier\"\r\n labelText=\"NationalIdentifier\"\r\n maxLength={14}\r\n recordedData={personLegalDTO?.PersonLegal?.NationalIdentifier}\r\n defaultValue={dataRecovered?.NationalIdentifier ? dataRecovered?.NationalIdentifier :personLegalDTO?.PersonLegal?.NationalIdentifier}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n textboxType=\"econNo\"\r\n textboxName=\"EconNo\"\r\n labelText=\"EconNo\"\r\n maxLength={25}\r\n recordedData={personLegalDTO?.PersonLegal?.EconNo}\r\n defaultValue={dataRecovered?.EconNo ? dataRecovered?.EconNo :personLegalDTO?.PersonLegal?.EconNo}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"ChiefOfficer\"\r\n labelText=\"ChiefOfficer\"\r\n recordedData={personLegalDTO?.PersonLegal?.ChiefOfficer}\r\n defaultValue={dataRecovered?.ChiefOfficer ? dataRecovered?.ChiefOfficer :personLegalDTO?.PersonLegal?.ChiefOfficer}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"RegistryNumber\"\r\n textboxName=\"RegistryNumber\"\r\n labelText=\"RegistryNumber\"\r\n recordedData={personLegalDTO?.PersonLegal?.RegistryNumber}\r\n defaultValue={dataRecovered?.RegistryNumber ? dataRecovered?.RegistryNumber :personLegalDTO?.PersonLegal?.RegistryNumber}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n maxLength={900}\r\n recordedData={personLegalDTO?.PersonLegal?.Description}\r\n defaultValue={dataRecovered?.Description ? dataRecovered?.Description :personLegalDTO?.PersonLegal?.Description}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n <>\r\n\r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"Phone\"\r\n labelText=\"Phone\"\r\n recordedData={personLegalDTO?.Phone}\r\n defaultValue={dataRecovered?.Phone ? dataRecovered?.Phone :personLegalDTO?.Phone}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n textboxType=\"mobile\"\r\n textboxName=\"Mobile\"\r\n labelText=\"Mobile\"\r\n maxLength={11}\r\n recordedData={personLegalDTO?.Mobile}\r\n defaultValue={dataRecovered?.Mobile ? dataRecovered?.Mobile : personLegalDTO?.Mobile}\r\n resetForm={resetForm}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n onChange={(e)=>{setUserName(e.target.value)}}\r\n textboxType=\"userName\"\r\n resetForm={resetForm}\r\n textboxName=\"UserName\"\r\n labelText=\"UserName\"\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={userName.length > 0}\r\n recordedData={personLegalDTO?.Email}\r\n textboxType=\"text\"\r\n textboxName=\"Email\"\r\n labelText=\"Email\"\r\n defaultValue={dataRecovered?.Email ? dataRecovered?.Email :personLegalDTO?.Email}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n {console.log(\"personLegalDTO\" ,personLegalDTO)}\r\n {( personLegalDTO?.Positions.length > 0&& mode!=\"create\")&& \r\n \r\n {setShowPositionList(true)}}\r\n />\r\n
}\r\n
\r\n
\r\n
\r\n
\r\n {!ButtonInTop&&\r\n
\r\n { mode !==\"view\" ? <>\r\n {(!personId&&showSaveClose) && {setSave_Exit(true)}}\r\n />}\r\n
\r\n } \r\n \r\n :\r\n }\r\n\r\n
\r\n \r\n {showModalContact && \r\n setShowModalContact(false)}\r\n show={showModalContact}\r\n title=\"PersonContact\"\r\n >\r\n \r\n
\r\n \r\n }\r\n {showPositionList &&\r\n setShowPositionList(false)}\r\n show={showPositionList}\r\n title=\"Positions\"\r\n >\r\n
\r\n {(personLegalDTO&&personLegalDTO?.Positions )&&\r\n \r\n {}} \r\n />\r\n }\r\n
\r\n\r\n \r\n }\r\n \r\n );\r\n};\r\n","import { Button } from \"components/Button/Button\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { FileInput } from \"components/FileInput/FileInput\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { PersonContactList } from \"pages/OfficeAutomation/BaseInformation/PeoplePage/components/PersonContactList/PersonContactList\";\r\nimport { Person } from \"pages/OfficeAutomation/BaseInformation/PeoplePage/types\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { ContactType, MessageType } from \"types/enum\";\r\nimport { changeDateFormat, trans } from \"utils/helpers\";\r\nimport { getPerson, putPicture, setPersonAsync } from \"../../../api/api\";\r\nimport { Address } from \"components/Address/Address\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { DateObject } from \"react-multi-date-picker\";\r\nimport persian from \"react-date-object/calendars/persian\";\r\n\r\ninterface PersonRealFormPropsType {\r\n handleCancelForm: (cancelBtn: boolean) => void\r\n handleAddPerson: (ans: any) => void,\r\n idPersonReal?: any;\r\n showSaveClose?: any;\r\n ButtonInTop?: boolean;\r\n mode?: string;\r\n}\r\n\r\nexport const PersonRealForm = ({\r\n handleCancelForm,\r\n handleAddPerson,\r\n showSaveClose=true,\r\n idPersonReal,\r\n ButtonInTop=false,\r\n mode\r\n}: PersonRealFormPropsType) => {\r\n let personReal1, personData, personDataForSend, method, data;\r\n let personRealDTOAddress:any={}\r\n const [datePickerISO_TIME, setDatePickerISO_TIME] = useState(personReal1?.BirthDate ? personReal1?.BirthDate : null);\r\n const [marriageDate, setMarriageDate] = useState(personReal1?.MarriageDate ? personReal1?.MarriageDate : null);\r\n const [personResponse, setPersonResponse] = useState();\r\n const [modify, setModify] = useState(false);\r\n const [personId, setPersonId] = useState();\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n ////file upload\r\n const [selectedImage, setSelectedImage] = useState();\r\n const [showModalContact, setShowModalContact] = useState(false);\r\n const [showPositionList, setShowPositionList] = useState(false);\r\n const [personContactDataList, setPersonContactDataList] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n const [save_Exit, setSave_Exit] = useState(false);\r\n const [Total_records, setTotal_records] = useState(5);\r\n const [userName, setUserName] = useState(\"\");\r\n const [userChanges, setUserChanges] = useState({});\r\n const [dataRecovered, setDataRecovered] = useState({});\r\n\r\n const changeHandlePic = (e: any) => {\r\n if (e?.target?.files && e?.target?.files?.length > 0) {\r\n // setSelectedImage(e.target.files[0]); \r\n setSelectedImage({url: URL.createObjectURL([...e.target.files][0] ) ,file:[...e.target.files][0]}); \r\n\r\n }\r\n // else{\r\n // setSelectedImage(null);\r\n // }\r\n };\r\n const handleBtnContact = () => {\r\n setShowModalContact(true);\r\n\r\n }\r\n\r\n\r\n const datePickerIsoTimeCallback = (isoTime) => {\r\n setDatePickerISO_TIME(isoTime);\r\n };\r\n\r\n\r\n async function sendPersonAsync(method, _objData) {\r\n try {\r\n const res = await setPersonAsync(method, _objData);\r\n handleAddPerson(res.data)\r\n setResetForm(true);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n localStorage.removeItem(\"formsInChang\")\r\n setUserChanges({})\r\n setDataRecovered({})\r\n if (save_Exit) {\r\n handleCancelForm(true);\r\n }\r\n if (mode == \"edit\") {\r\n handleCancelForm(true);\r\n }\r\n } catch (err: any) {\r\n }\r\n }\r\n async function sendpersonPictureAsync(id , _objData) {\r\n try {\r\n const res = await putPicture(id , _objData ,false);\r\n \r\n\r\n } catch (err: any) {\r\n }\r\n }\r\n\r\n function sendDataToServer(event) {\r\n event.preventDefault();\r\n data = {\r\n Sex: +event.target.Sex.value,\r\n PersonRealTitleId: event.target.Title.value,\r\n FirstName: event.target.FirstName.value,\r\n FirstNameEN: event.target.FirstNameEN.value,\r\n LastName: event.target.LastName.value,\r\n LastNameEN: event.target.LastNameEN.value,\r\n FatherName: event.target.FatherName.value,\r\n FatherNameEN: event.target.FatherNameEN.value,\r\n BirthCertNo: event.target.BirthCertNo.value,\r\n BirthDate: datePickerISO_TIME,\r\n MarriageDate: marriageDate,\r\n BirthPlace: event.target.BirthPlace.value,\r\n IssuePlace: event.target.IssuePlace.value,\r\n NationalCode: event.target.NationalCode.value,\r\n EconNo: event.target.EconNo.value,\r\n Description: event.target.Description.value,\r\n };\r\n let address = (event.target.Address.value||event.target.Plaque.value|| event.target.Unit.value||event.target.PostalCode.value)? JSON.stringify({ address: event.target.Address.value, plaque: event.target.Plaque.value, unit: event.target.Unit.value, PostalCode: event.target.PostalCode.value , Longitude: event.target.Longitude.value,Latitude: event.target.Latitude.value }):null;\r\n let Contact: any = []\r\n personContactDataList.forEach(item => { if (item.Id != GUID_EMPTY) { Contact.push({ Id:item.Id,Value: item.Value, ContactType: +item.ContactTypeEnum, Description: item.Description }) } })\r\n\r\n let personInfo: Person = {\r\n PersonRealDTO: {\r\n PersonReal: data,\r\n Email: event.target.Email.value,\r\n Address: address,\r\n Mobile: event.target.Mobile.value,\r\n Phone: event.target.Phone.value,\r\n\r\n },\r\n PersonContacts: Contact,\r\n UserName: event.target.UserName.value\r\n };\r\n if (personId) {//personContext.id\r\n personInfo.Id = personId\r\n personDataForSend = personInfo\r\n method = \"put\";\r\n let _objData = new FormData();\r\n _objData.append(\"PersonDTO\", JSON.stringify(personDataForSend));\r\n \r\n let personPicture = new FormData();\r\n personPicture.append(\"personPicture\", selectedImage?.file);\r\n sendpersonPictureAsync( personResponse.PersonRealDTO.PersonReal.Id, personPicture)\r\n sendPersonAsync(method, _objData)\r\n } else {\r\n personDataForSend = personInfo;\r\n method = \"post\";\r\n let _objData = new FormData();\r\n _objData.append(\"PersonDTO\", JSON.stringify(personDataForSend));\r\n _objData.append(\"PersonPicture\", selectedImage?.file);\r\n sendPersonAsync(method, _objData)\r\n }\r\n }\r\n function dataURLtoFile(dataurl, filename) {\r\n var arr = dataurl.split(','),\r\n mime = arr[0].match(/:(.*?);/)[1],\r\n bstr = atob(arr[1]),\r\n n = bstr.length,\r\n u8arr = new Uint8Array(n);\r\n while (n--) {\r\n u8arr[n] = bstr.charCodeAt(n);\r\n }\r\n return new File([u8arr], filename, { type: mime });\r\n }\r\n async function getDataAsync(Id) {\r\n \r\n \r\n \r\n setLoading(false)\r\n setSelectedImage(null)\r\n try {\r\n const response = await getPerson(Id);\r\n setDatePickerISO_TIME(response.data.Data?.PersonRealDTO.PersonReal?.BirthDate)\r\n setMarriageDate(response.data.Data?.PersonRealDTO.PersonReal?.MarriageDate)\r\n setPersonResponse(response.data.Data);\r\n let contact = response.data.Data?.PersonContacts.map(item => {\r\n return {\r\n Id: item.Id,\r\n ContactTypeEnum: item.ContactType ,\r\n Description: item.Description,\r\n ContactType: trans(ContactType[item.ContactType]) ,\r\n Value: item.Value\r\n }\r\n })\r\n setPersonContactDataList(contact);\r\n if (response.data.Data?.PersonRealDTO.PersonReal.PersonRealPicture) {\r\n dataURLtoFile('data:image/png;base64,' + response.data.Data?.PersonRealDTO.PersonReal.PersonRealPicture, \"1.jpg\")\r\n }\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n localStorage.removeItem(\"formsInChang\")\r\n setLoading(true)\r\n\r\n } catch (error) {\r\n\r\n }\r\n\r\n setLoading(true)\r\n }\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n useEffect(() => {\r\n if (sessionStorage.getItem(\"changingforms\")==\"true\"&&localStorage.getItem(\"formsInChang\")!=null){\r\n let forms = JSON.parse(localStorage.getItem(\"formsInChang\")+\"\") \r\n if(forms){\r\n setDataRecovered(forms[\"PersonReal\"])\r\n setUserChanges(forms[\"PersonReal\"])\r\n\r\n }\r\n }\r\n if (idPersonReal&&mode !== \"create\") {\r\n if (mode !== \"create\") {\r\n setPersonId(idPersonReal)\r\n getDataAsync(idPersonReal)\r\n \r\n }\r\n } else if (mode == \"create\") {\r\n setPersonId(null)\r\n setResetForm(true);\r\n setLoading(true)\r\n }else{\r\n setLoading(true)\r\n }\r\n }, [idPersonReal, mode]);\r\n\r\n \r\n \r\n useEffect(() => {\r\n if(userChanges!=undefined&& Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n let forms:any=JSON.parse(localStorage.getItem(\"formsInChang\" )+\"\")\r\n forms ={...forms , \"PersonReal\" :{...userChanges , Id:idPersonReal } }\r\n localStorage.setItem(\"formsInChang\" , JSON.stringify(forms))\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n localStorage.removeItem(\"formsInChang\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n \r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false)\r\n setSelectedImage(null)\r\n }\r\n }, [resetForm])\r\n \r\n \r\n if (personId && personResponse) {\r\n personData = Object.assign({}, personResponse);\r\n personReal1 = personData?.PersonRealDTO.PersonReal;\r\n try {\r\n if (typeof (personData.PersonRealDTO?.Address) === \"string\")\r\n personRealDTOAddress = JSON.parse(personData.PersonRealDTO?.Address)\r\n } catch {\r\n personRealDTOAddress = personData.PersonRealDTO?.Address\r\n }\r\n } else {\r\n personReal1 = undefined;\r\n }\r\n \r\n const personContactDataListCallback = (ans) => {\r\n if(ans.length!=personResponse?.PersonContacts?.length){\r\n \r\n setUserChanges({...userChanges , ...{PersonContact: ans}})\r\n }else{\r\n setUserChanges({...userChanges , ...{PersonContact: null}})\r\n }\r\n setPersonContactDataList(ans);\r\n }\r\n const PersonRealForm = useRef(null);\r\n \r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {\r\n loading ?\r\n setModify(true)}\r\n >\r\n {ButtonInTop&&\r\n
\r\n {mode !== \"view\" ? <>\r\n {(!personId&&showSaveClose) && { setSave_Exit(true) }}\r\n />}\r\n
\r\n }\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n mode={mode} \r\n name=\"Title\"\r\n label=\"Title\" \r\n endPoint={ENDPOINTS.BaseInformation.PersonRealTitle.dictionary}\r\n value={dataRecovered?.Title ? dataRecovered?.Title :personReal1?.PersonRealTitleId} \r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n textboxType=\"text\"\r\n textboxName=\"FirstName\"\r\n labelText={\"FirstName\"}\r\n maxLength={50}\r\n recordedData={personReal1?.FirstName}\r\n defaultValue={ dataRecovered?.FirstName ? dataRecovered?.FirstName : personReal1?.FirstName}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n textboxType=\"text\"\r\n textboxName=\"FirstNameEN\"\r\n labelText={\"FirstNameEN\"}\r\n fixedLanguage={\"en\"}\r\n maxLength={50}\r\n recordedData={personReal1?.FirstNameEN}\r\n defaultValue={ dataRecovered?.FirstNameEN ? dataRecovered?.FirstNameEN : personReal1?.FirstNameEN}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n textboxType=\"text\"\r\n textboxName=\"LastName\"\r\n labelText={\"LastName\"}\r\n required={true}\r\n maxLength={100}\r\n recordedData={personReal1?.LastName}\r\n defaultValue={dataRecovered?.LastName ? dataRecovered?.LastName :personReal1?.LastName}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n textboxType=\"text\"\r\n textboxName=\"LastNameEN\"\r\n labelText={\"LastNameEN\"}\r\n fixedLanguage={\"en\"}\r\n maxLength={100}\r\n recordedData={personReal1?.LastNameEN\t}\r\n defaultValue={dataRecovered?.LastNameEN\t ? dataRecovered?.LastNameEN\t :personReal1?.LastNameEN\t}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n required={true} \r\n mode={mode}\r\n label=\"Sex\"\r\n enumTypeSelect=\"Sex\" \r\n name=\"Sex\" \r\n value={dataRecovered?.Sex ? dataRecovered?.Sex :personReal1?.Sex} \r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n textboxType=\"text\"\r\n textboxName=\"FatherName\"\r\n labelText={\"FatherName\"}\r\n maxLength={50}\r\n recordedData={personReal1?.FatherName}\r\n defaultValue={dataRecovered?.FatherName ? dataRecovered?.FatherName :personReal1?.FatherName}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n textboxType=\"text\"\r\n textboxName=\"FatherNameEN\"\r\n labelText={\"FatherNameEN\"}\r\n fixedLanguage={\"en\"}\r\n maxLength={50}\r\n recordedData={personReal1?.FatherNameEN}\r\n defaultValue={dataRecovered?.FatherNameEN ? dataRecovered?.FatherNameEN :personReal1?.FatherNameEN}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n mode={mode}\r\n resetForm={resetForm}\r\n textboxType=\"text\"\r\n textboxName=\"BirthPlace\"\r\n labelText=\"BirthPlace\"\r\n maxLength={50}\r\n recordedData={personReal1?.BirthPlace}\r\n defaultValue={dataRecovered?.BirthPlace ? dataRecovered?.BirthPlace :personReal1?.BirthPlace}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n textboxType=\"text\"\r\n textboxName=\"IssuePlace\"\r\n labelText=\"IssuePlace\"\r\n maxLength={50}\r\n recordedData={personReal1?.IssuePlace}\r\n defaultValue={dataRecovered?.IssuePlace ? dataRecovered?.IssuePlace :personReal1?.IssuePlace}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n mode={mode}\r\n lable=\"BirthDate\"\r\n name=\"BirthDate\"\r\n resetForm={resetForm}\r\n maxDate={new DateObject({ calendar: persian })}\r\n setIsoTime={datePickerIsoTimeCallback}\r\n val={dataRecovered?.BirthDate ?changeDateFormat(dataRecovered?.BirthDate) : (personReal1?.BirthDate ? personReal1?.BirthDate : null)}\r\n id={personReal1?.Id}\r\n recordedData={personReal1?.BirthDate}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n mode={mode}\r\n resetForm={resetForm}\r\n textboxType=\"birthCertNo\"\r\n textboxName=\"BirthCertNo\"\r\n labelText={\"BirthCertNo\"}\r\n maxLength={10}\r\n recordedData={personReal1?.BirthCertNo}\r\n defaultValue={dataRecovered?.BirthCertNo ? dataRecovered?.BirthCertNo :personReal1?.BirthCertNo}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n textboxType=\"nationalCode\"\r\n textboxName=\"NationalCode\"\r\n labelText=\"NationalCode\"\r\n maxLength={10}\r\n recordedData={personReal1?.NationalCode}\r\n defaultValue={dataRecovered?.NationalCode ? dataRecovered?.NationalCode :personReal1?.NationalCode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n textboxType=\"econNo\"\r\n textboxName=\"EconNo\"\r\n labelText=\"EconNo\"\r\n maxLength={14}\r\n recordedData={personReal1?.EconNo}\r\n defaultValue={dataRecovered?.EconNo ? dataRecovered?.EconNo :personReal1?.EconNo}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n mode={mode}\r\n lable=\"MarriageDate\"\r\n name=\"MarriageDate\"\r\n resetForm={resetForm}\r\n setIsoTime={setMarriageDate}\r\n maxDate={new DateObject({ calendar: persian })}\r\n val={dataRecovered?.MarriageDate ?changeDateFormat(dataRecovered?.MarriageDate) : (personReal1?.MarriageDate ? personReal1?.MarriageDate : null)}\r\n id={personReal1?.Id}\r\n recordedData={personReal1?.MarriageDate}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n labelText={\"Description\"}\r\n maxLength={900}\r\n recordedData={personReal1?.Description}\r\n defaultValue={dataRecovered?.Description ? dataRecovered?.Description :personReal1?.Description}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n showBox={true}\r\n maxWidth={1000}\r\n maxHeight={1000}\r\n hideSrc={false}\r\n maxSize={10000000000}\r\n accept=\".jpg,.png\"\r\n resetForm={resetForm}\r\n mode={mode}\r\n lable=\"PersonRealPicture\"\r\n name=\"PersonRealPicture\"\r\n defultFileName=\"PersonRealPicture.jpg\"\r\n onChange={changeHandlePic}\r\n src={selectedImage ? selectedImage?.url : (personReal1?.PersonRealPicture ? 'data:image/jpg;base64,' + personReal1.PersonRealPicture : '')}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n <>\r\n
\r\n \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n required={true}\r\n textboxType=\"mobile\"\r\n textboxName=\"Mobile\"\r\n labelText=\"Mobile\"\r\n maxLength={11}\r\n recordedData={personData?.PersonRealDTO?.Mobile}\r\n defaultValue={dataRecovered?.Mobile ? dataRecovered?.Mobile : personData?.PersonRealDTO?.Mobile}\r\n resetForm={resetForm}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"Phone\"\r\n labelText=\"Phone\"\r\n recordedData={personData?.PersonRealDTO?.Phone}\r\n defaultValue={dataRecovered?.Phone ? dataRecovered?.Phone :personData?.PersonRealDTO?.Phone}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n 0 ? \"view\":mode}\r\n recordedData={personData?.UserName}\r\n defaultValue={dataRecovered?.UserName ? dataRecovered?.UserName :personData?.UserName}\r\n resetForm={resetForm}\r\n Change={(e)=>{setUserChanges({...userChanges , ...e})}}\r\n onChange={(e) => { setUserName(e.target.value) }}\r\n textboxType=\"userName\"\r\n textboxName=\"UserName\"\r\n labelText=\"UserName\"\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={personData?.PersonRealDTO?.Email?.length>0 ? \"view\":mode}\r\n required={userName.length > 0}\r\n textboxType=\"email\"\r\n textboxName=\"Email\"\r\n labelText=\"Email\"\r\n recordedData={personData?.PersonRealDTO?.Email}\r\n defaultValue={dataRecovered?.Email ? dataRecovered?.Email :personData?.PersonRealDTO?.Email}\r\n resetForm={resetForm}\r\n />\r\n
\r\n \r\n \r\n
\r\n {( personData?.Positions.length > 0&& mode!=\"create\")&& \r\n \r\n {setShowPositionList(true)}}\r\n />\r\n
}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {!ButtonInTop&&\r\n
\r\n {mode !== \"view\" ? <>\r\n {(!personId&&showSaveClose) && { setSave_Exit(true) }}\r\n />}\r\n
\r\n }\r\n \r\n : \r\n }\r\n\r\n
\r\n \r\n {showModalContact &&\r\n setShowModalContact(false)}\r\n show={showModalContact}\r\n title=\"PersonContact\"\r\n >\r\n \r\n
\r\n \r\n }\r\n {showPositionList &&\r\n setShowPositionList(false)}\r\n show={showPositionList}\r\n title=\"Positions\"\r\n >\r\n
\r\n {}}\r\n\r\n />\r\n
\r\n\r\n \r\n }\r\n \r\n\r\n \r\n );\r\n};\r\n","import { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { useState } from \"react\";\r\n\r\n//import { getCustomerForm, sendCustomer } from \"./api\";\r\nimport { PersonLegalForm } from \"pages/OfficeAutomation/BaseInformation/PeoplePage/components/PersonLegalList/component/PersonLegalForm/PersonLegalForm\";\r\nimport { PersonRealForm } from \"pages/OfficeAutomation/BaseInformation/PeoplePage/components/PersonRealList/components/PersonRealForm/PersonRealForm\";\r\n\r\ninterface Form {\r\n setShowPersonForm: (e) => void;\r\n setNewPerson: (e) => void;\r\n setResetForm: (e) => void;\r\n mode: any;\r\n\r\n}\r\nexport const PersonFormInTab = ({ setShowPersonForm, mode, setNewPerson ,setResetForm }: Form) => {\r\n\r\n const [curentTab, setCurentTab] = useState(\"PersonRealForm\")\r\n\r\n\r\n\r\n let content = [\r\n { title: \"PersonRealForm\", body: (\r\n {setShowPersonForm(false)}}\r\n handleAddPerson={(e)=>{ setNewPerson(e.Data);setResetForm(true);setShowPersonForm(false)}}\r\n />\r\n), },\r\n { title: \"PersonLegalForm\", body: (\r\n {setShowPersonForm(false)}}\r\n handleAddPerson={(e)=>{ setNewPerson(e.Data);setResetForm(true);setShowPersonForm(false)}}\r\n />\r\n), },\r\n ];\r\n\r\n\r\n\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n } \r\n\r\n return (\r\n <>\r\n \r\n \r\n )\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm, UserContext } from \"components/ModalForm/ModalForm\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { PriceListDictionary } from \"../../PriceList/components/PriceListDictionary/PriceListDictionary\";\r\nimport { GeographicalClassification } from \"../GeographicalClassification/GeographicalClassification\";\r\nimport { getGeographicalClassification, getNextCustomerCode } from \"./api\";\r\nimport { PersonDictionaryWithAdd } from \"./PersonDictionaryWithAdd\";\r\nimport { PersonFormInTab } from \"./PersonFormInTab\";\r\n\r\n\r\n\r\ninterface CustomerFormPropsType {\r\n onHide: () => void\r\n submit: (e) => void\r\n mode: any,\r\n formRef?: any,\r\n Customer?: any,\r\n selectedObj: any,\r\n reload?:()=>void,\r\n}\r\nexport const CustomerForm = ({ \r\n onHide,\r\n submit,\r\n \r\n mode,\r\n formRef,\r\n Customer,\r\n selectedObj,\r\n reload\r\n}: CustomerFormPropsType) => {\r\n\r\n \r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading , setLoading] = useState(false)\r\n const [showTree,setShowTree] = useState()\r\n\r\n const [userMadeChanges, setUserMadeChanges] = useContext(UserContext);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [nextCode, setNextCode] = useState();\r\n const [showPersonForm, setShowPersonForm] = useState(false);\r\n const [person, setPerson] = useState({});\r\n const [newPerson, setNewPerson] = useState(null);\r\n const [geographical,setGeographical] = useState(null)\r\n const [objDictionary,setObjDictionary] = useState({VisitorPosition:{},DistributorPosition:{}})\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const getNextCustomerCodeAsync = async ()=>{\r\n setLoading(false)\r\n try{\r\n const res = await getNextCustomerCode(); \r\n setNextCode(res.Data) \r\n \r\n }catch(err:any){\r\n\r\n }\r\n setLoading(true)\r\n }\r\n const getGeographicalClassificationAsync = async (id)=>{\r\n try{\r\n const res = await getGeographicalClassification(id); \r\n setGeographical(res.Data) \r\n \r\n }catch(err:any){\r\n\r\n }\r\n \r\n }\r\n\r\n const itemCodeHandeler = (obj) => {\r\n setLoading(false)\r\n setGeographical(obj)\r\n setShowTree(false)\r\n setLoading(true)\r\n\r\n };\r\n\r\n const handleSubmit = (event) => {\r\n event.preventDefault();\r\n let data:any = {}\r\n if (Customer == null) {\r\n\r\n\r\n data = {\r\n CustomerOrganizationId: event.target.CustomerOrganizationId.value,\r\n CustomerPersonId: event.target.CustomerPersonId.value,\r\n CustomerPersonDescription: person?.Name,\r\n CreditValue: +event.target.CreditValue.value,\r\n CreditLetterValue: +event.target.CreditLetterValue.value,\r\n CustomerCode: event.target.CustomerCode.value,\r\n Description: event.target.Description.value,\r\n DescriptionEN: event.target.DescriptionEN.value,\r\n CustomerReferrer: event.target.CustomerReferrer.value,\r\n CustomerClassificationId: event.target.CustomerClassification.value,\r\n CustomerServicingStatus: +event.target.CustomerServicingStatus.value,\r\n GeographicalClassificationId: geographical?.Id,\r\n PriceListId: event.target.PriceList.value ? event.target.PriceList.value : null,\r\n VisitorPositionId: event.target.VisitorPosition.value ?event.target.VisitorPosition.value :null,\r\n VisitorPositionDescription: objDictionary?.VisitorPosition?.Name ? objDictionary?.VisitorPosition?.Name:null,\r\n // VisitorPositionDescriptionEN: event.target.VisitorPositionDescriptionEN.value,\r\n\r\n DistributorPositionId: objDictionary.DistributorPosition?.Id??null,\r\n DistributorPositionDescription: objDictionary?.DistributorPosition?.Name ?objDictionary?.DistributorPosition?.Name:null ,\r\n // DistributorPositionDescriptionEN: event.target.DistributorPositionDescriptionEN.value,\r\n YearlySaleTarget:+event.target.YearlySaleTarget.value.replaceAll(',',''),\r\n PriceListDiscountPercent:+event.target.PriceListDiscountPercent.value\r\n\r\n /*\"AccDetailsId\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\r\n */\r\n }\r\n submit(data)\r\n } else {\r\n \r\n data = {\r\n Id: Customer?.Id,\r\n CustomerOrganizationId: event.target.CustomerOrganizationId.value,\r\n ActivityStatus:+event.target.CustomerStatus.value,\r\n CustomerPersonId: event.target.CustomerPersonId.value,\r\n CreditValue: +event.target.CreditValue.value,\r\n CreditLetterValue: +event.target.CreditLetterValue.value,\r\n CustomerCode: event.target.CustomerCode.value,\r\n Description: event.target.Description.value,\r\n CustomerPositionId\t:Customer.CustomerPositionId,\r\n DescriptionEN: event.target.DescriptionEN.value,\r\n CustomerReferrer: event.target.CustomerReferrer.value,\r\n CustomerClassificationId: event.target.CustomerClassification.value,\r\n CustomerPersonDescription:person.Name,\r\n CustomerServicingStatus: +event.target.CustomerServicingStatus.value,\r\n GeographicalClassificationId: geographical?.Id,\r\n\r\n PriceListId: event.target.PriceList.value ?event.target.PriceList.value : null,\r\n VisitorPositionId: event.target.VisitorPosition.value ?event.target.VisitorPosition.value :null,\r\n VisitorPositionDescription: objDictionary?.VisitorPosition?.Name ? objDictionary?.VisitorPosition?.Name:null,\r\n // VisitorPositionDescriptionEN: event.target.VisitorPositionDescriptionEN.value,\r\n\r\n DistributorPositionId: objDictionary.DistributorPosition?.Id??null,\r\n DistributorPositionDescription: objDictionary?.DistributorPosition?.Name ?objDictionary?.DistributorPosition?.Name:null ,\r\n // DistributorPositionDescriptionEN: event.target.DistributorPositionDescriptionEN.value,\r\n YearlySaleTarget:+event.target.YearlySaleTarget.value.replaceAll(',',''),\r\n PriceListDiscountPercent:+event.target.PriceListDiscountPercent.value\r\n\r\n /*\"AccDetailsId\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\r\n */\r\n }\r\n submit(data) \r\n }\r\n }\r\n\r\n\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\nuseEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n}, [userChanges]);\r\n \r\n \r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n useEffect(() => {\r\n if (mode!=\"create\"&& selectedObj?.Id&& Customer) {\r\n setLoading(true)\r\n if(Customer?.GeographicalClassificationId)\r\n getGeographicalClassificationAsync(Customer?.GeographicalClassificationId)\r\n setObjDictionary({VisitorPosition:Customer.VisitorPositionDescription,DistributorPosition:Customer.DistributorPositionDescription})\r\n }else{\r\n getNextCustomerCodeAsync()\r\n setLoading(true)\r\n }\r\n }, [Customer]);\r\n\r\n\r\n return (\r\n <>\r\n {showPersonForm && \r\n {setShowPersonForm(false)}} show={showPersonForm} title={\"person\" } >\r\n <>\r\n \r\n \r\n \r\n \r\n }\r\n <>\r\n \r\n {showTree&& \r\n setShowTree(false)} show={showTree}>\r\n {setShowTree(false)}}/>\r\n \r\n }\r\n \r\n {loading? \r\n <>\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n setPerson={setPerson}\r\n resetForm={resetForm}\r\n required={true}\r\n value={newPerson ? newPerson : Customer?.CustomerPersonId}\r\n mode={mode}\r\n /> \r\n {mode!=\"view\"&&\r\n
\r\n } btnType=\"primary\"onClick={(e)=>setShowPersonForm(true)} />\r\n
\r\n }\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {setUserChanges({...userChanges , ...e})}} textboxName={\"GeographicalClassificationId\"} textboxType=\"text\" resetForm={resetForm} labelText={\"GeographicalClassification\"} mode={mode} value={geographical?.Description} defaultValue={geographical?.Description} />\r\n {mode!=\"view\"&&\r\n
\r\n } btnType=\"primary\"onClick={(e)=>setShowTree(true)} />\r\n
\r\n }\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n {\r\n setObjDictionary({...objDictionary,DistributorPosition:e})}}\r\n returnObj={true}\r\n mode={mode}\r\n />\r\n
\r\n {/*
\r\n \r\n
*/}\r\n
\r\n setObjDictionary({...objDictionary,VisitorPosition:e})}\r\n />\r\n
\r\n {/*
\r\n \r\n
*/}\r\n\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n value={Customer?.ActivityStatus ? Customer?.ActivityStatus : null} \r\n name=\"CustomerStatus\" \r\n mode={mode} \r\n label=\"Status\"\r\n enumTypeSelect=\"ActivityStatus\" \r\n />\r\n
\r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n :\r\n }\r\n \r\n \r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getListCity = (async(pageNumber,pageSize,searchString,orderByString,filterString) => await http({\r\n \r\n url : ENDPOINTS.BaseDefinitionAndSetting.City.browse,\r\n method: 'get',\r\n params:{\r\n PageNumber:pageNumber,\r\n PageSize:pageSize,\r\n OrderByString:orderByString,\r\n SearchString:searchString,\r\n FilterString:filterString,\r\n }\r\n}).then((res) =>{\r\n\r\n return res.data\r\n}).catch((err) =>{\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\nexport const getCity = (async (Id) => await http({\r\n \r\n url: ENDPOINTS.BaseDefinitionAndSetting.City.load,\r\n method: 'get',\r\n params: {Id : Id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const postCityApi = (data) => http({\r\n \r\n url: ENDPOINTS.BaseDefinitionAndSetting.City.browse,\r\n method: \"post\",\r\n data:data,\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\nexport const putCityApi = (data) => http({\r\n \r\n url: ENDPOINTS.BaseDefinitionAndSetting.City.browse,\r\n method: \"put\",\r\n data:data,\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const getCityDictionary = (async (id,provinceId,search) => await http({\r\n \r\n url: ENDPOINTS.BaseDefinitionAndSetting.City.dictionary,\r\n method: 'get',\r\n params: {\r\n provinceId:provinceId,\r\n Id:id,\r\n searchString:search,\r\n }\r\n})\r\n .then((response) => (response.data))\r\n\r\n)\r\n\r\nexport const deleteCityApi = (id) => http({\r\n \r\n url : ENDPOINTS.BaseDefinitionAndSetting.City.browse,\r\n method: 'delete',\r\n params:{\r\n id:id\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});","import { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { OrganizationType } from \"types/enum\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getCityDictionary } from \"../api\";\r\ninterface CustomerPositionPropsType {\r\n label: string,\r\n hasBorder?: boolean,\r\n resetForm: boolean,\r\n required?: boolean,\r\n value?: string,\r\n mode?: string,\r\n name: string,\r\n Change?: (e) => void,\r\n onChange?: (e) => void,\r\n provinceId?:string,\r\n}\r\n\r\nexport const CityDictionary = ({ label, provinceId, hasBorder, value, mode ,resetForm,required , name=\"\", Change ,onChange}: CustomerPositionPropsType) => {\r\n const [city, setCity] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag, setFlag] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const cityRef = useRef(city);\r\n const validRef = useRef(false);\r\n const countRef = useRef(0)\r\n\r\n let optionList : any =[]\r\n async function getCityDictionaryAsync( id?,provinceId?, search?) {\r\n try {\r\n const res = await getCityDictionary(id,provinceId,search);\r\n if(Object.keys(res.Data).length>0){\r\n if (id) {\r\n setValeu(res.Data[id] , id)\r\n setValueName(res.Data[id])\r\n onChange && onChange({Name:res.Data[id] , Id : id})\r\n }\r\n\r\n }else{\r\n onChange && onChange(null)\r\n }\r\n setCity(res.Data) \r\n cityRef.current = res.Data\r\n setFlag(!flag)\r\n } catch (err: any) {\r\n onChange && onChange(null)\r\n\r\n }\r\n\r\n }\r\n\r\n const Auto = (e) => {\r\n validRef.current = false\r\n setValidat(false)\r\n setShow(true)\r\n getCityDictionaryAsync(e.target.value,provinceId,\"\")\r\n setFlag(!flag)\r\n\r\n }\r\n\r\n function userSelecter(){\r\n setValeu(optionList[countRef.current],Object.keys(city)[countRef.current])\r\n setShow(false)\r\n }\r\n\r\n const kydown = (event) => { \r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < optionList.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = optionList.length-1;\r\n }\r\n }\r\n document.getElementById(\"cityDictionary\"+countRef.current)?.scrollIntoView({behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n }\r\n const CheckCity =async (e)=>{\r\n \r\n setTimeout(() => {\r\n \r\n if(!validRef.current){\r\n \r\n if(city!=undefined && Object.values(city).length == 1){\r\n setValeu(Object.values(city)[0] , Object.keys(city)[0])\r\n e.target.setCustomValidity(\"\");\r\n }else{\r\n if(inputRef?.current){\r\n setValeu(null,null)\r\n }\r\n \r\n if(inputRef?.current?.value.length >0 && inputRef?.current?.value!=\"\"){\r\n e.target.setCustomValidity(trans(\"Msg_Validation_ValueIsIncorrect\"));\r\n setValidat(true);\r\n e.target.reportValidity();\r\n }\r\n setCity(null);\r\n \r\n }\r\n }\r\n }, 200);\r\n await delay(200)\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n }\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n\r\n\r\n\r\n const setValeu = (newValue, id) => {\r\n if(inputIdRef != null && inputIdRef.current != null && newValue){\r\n validRef.current = true\r\n inputRef.current.value = newValue\r\n inputIdRef.current.value = id\r\n cityRef.current = null;\r\n ((value==null &&id)|| id != value) ? Change&&Change({[name] :id}):Change&&Change({[name]:null});\r\n onChange && onChange({Name:newValue , Id : id})\r\n setCity(null)\r\n setFlag(!flag)\r\n setCity({[inputIdRef.current.value]:inputRef.current.value})\r\n setValidat(false)\r\n }\r\n }\r\n useEffect(() => {\r\n if(value){\r\n getCityDictionaryAsync(value,provinceId,null)\r\n }else if(value == null){\r\n setValueName(null)\r\n\r\n }\r\n }, [value,resetForm]);\r\n\r\n useEffect(()=>{\r\n if(!provinceId){\r\n }\r\n inputRef.current.value = null\r\n inputIdRef.current.value = null\r\n },[provinceId])\r\n\r\n useEffect(() =>{\r\n if(show ){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n\r\n } \r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n\r\n \r\n },[show ,optionList])\r\n\r\n \r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) { \r\n setShow(false);\r\n }\r\n }\r\n\r\n\r\n\r\n if(city){\r\n optionList = Object.values(city)\r\n }\r\n return (\r\n <>\r\n
\r\n\r\n \r\n {required && *}\r\n \r\n { setShow(true);Auto(e)}} ref={inputRef} list=\"CityDictionary\" name=\"browser\" className=\"text-box__box form-control \" type={'text'} id={\"browser\"+name} onMouseDown={(e)=>e.stopPropagation() } onChange={Auto} disabled={mode ==\"view\" || provinceId == null ? true : false} />\r\n {\r\n show && \r\n
\r\n {optionList && optionList.map((item , index)=>{\r\n return
{setValeu(item,Object.keys(city)[index])}} key={Object.keys(city)[index]} >{item}
\r\n })} \r\n
\r\n } \r\n
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n
\r\n
\r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getListProvince = (async(pageNumber,pageSize,searchString,orderByString,filterString) => await http({\r\n \r\n url : ENDPOINTS.BaseDefinitionAndSetting.Province.browse,\r\n method: 'get',\r\n params:{\r\n PageNumber:pageNumber,\r\n PageSize:pageSize,\r\n OrderByString:orderByString,\r\n SearchString:searchString,\r\n FilterString:filterString,\r\n }\r\n}).then((res) =>{\r\n return res.data\r\n}).catch((err) =>{\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\nexport const getProvince = (async (Id) => await http({ \r\n url: ENDPOINTS.BaseDefinitionAndSetting.Province.load,\r\n method: 'get',\r\n params: {Id : Id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n)\r\n\r\n\r\nexport const postProvinceApi = (data) => http({\r\n url: ENDPOINTS.BaseDefinitionAndSetting.Province.browse,\r\n method: \"post\",\r\n data:data,\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\nexport const putProvinceApi = (data) => http({\r\n \r\n url: ENDPOINTS.BaseDefinitionAndSetting.Province.browse,\r\n method: \"put\",\r\n data:data,\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const getProvinceDictionary = (async (search,countryId,id) => await http({\r\n \r\n url: ENDPOINTS.BaseDefinitionAndSetting.Province.dictionary,\r\n method: 'get',\r\n params: {\r\n countryId:countryId,\r\n searchString:search,\r\n Id:id,\r\n }\r\n})\r\n .then((response) => (response.data))\r\n\r\n)\r\n\r\nexport const deleteProvinceApi = (id) => http({\r\n \r\n url : ENDPOINTS.BaseDefinitionAndSetting.Province.browse,\r\n method: 'delete',\r\n params:{\r\n id:id\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});","import { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { OrganizationType } from \"types/enum\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getProvinceDictionary } from \"../api\";\r\ninterface CustomerPositionPropsType {\r\n label: string,\r\n hasBorder?: boolean,\r\n resetForm?: boolean,\r\n required?: boolean,\r\n value?: string,\r\n ProvinceName?: string,\r\n mode?: string,\r\n name: string,\r\n Change?: (e) => void,\r\n onChange?: (e) => void,\r\n countryId?: string,\r\n}\r\n\r\nexport const ProvinceDictionary = ({ label, countryId,ProvinceName, hasBorder, value, mode ,resetForm,required , name=\"\", Change ,onChange}: CustomerPositionPropsType) => {\r\n const [province, setProvince] = useState();\r\n const [valueName, setValueName] = useState(ProvinceName);\r\n const [flag, setFlag] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const ProvinceRef = useRef(province);\r\n const validRef = useRef(false);\r\n const countRef = useRef(0)\r\n\r\n let optionList : any =[]\r\n\r\n async function getProvinceDictionaryAsync(search?, id?) {\r\n \r\n try {\r\n const res = await getProvinceDictionary(search,countryId,id);\r\n if(Object.keys(res.Data).length>0){\r\n if (id) {\r\n setValeu(res.Data[id] , id)\r\n setValueName(res.Data[id])\r\n onChange && onChange({Name:res.Data[id] , Id : id})\r\n }\r\n\r\n }else{\r\n onChange && onChange(null)\r\n }\r\n setProvince(res.Data) \r\n ProvinceRef.current = res.Data\r\n setFlag(!flag)\r\n } catch (err: any) {\r\n onChange && onChange(null)\r\n\r\n }\r\n\r\n }\r\n\r\n const Auto = (e) => {\r\n validRef.current = false\r\n setValidat(false)\r\n setShow(true)\r\n getProvinceDictionaryAsync(e.target.value,\"\")\r\n setFlag(!flag)\r\n\r\n }\r\n\r\n function userSelecter(){\r\n setValeu(optionList[countRef.current],Object.keys(province)[countRef.current])\r\n setShow(false)\r\n }\r\n\r\n const kydown = (event) => { \r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < optionList.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = optionList.length-1;\r\n }\r\n }\r\n document.getElementById(\"ProvinceDictionary\"+countRef.current)?.scrollIntoView({behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n }\r\n const CheckProvince =async (e)=>{\r\n \r\n setTimeout(() => {\r\n \r\n if(!validRef.current){\r\n \r\n if(province!=undefined && Object.values(province).length == 1){\r\n setValeu(Object.values(province)[0] , Object.keys(province)[0])\r\n e.target.setCustomValidity(\"\");\r\n }else{\r\n if(inputRef?.current){\r\n setValeu(null,null)\r\n }\r\n\r\n if(inputRef?.current?.value.length >0 && inputRef?.current?.value!=\"\"){\r\n e.target.setCustomValidity(trans(\"Msg_Validation_ValueIsIncorrect\"));\r\n setValidat(true);\r\n e.target.reportValidity();\r\n }\r\n setProvince(null);\r\n \r\n }\r\n }\r\n }, 200);\r\n await delay(200)\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n }\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n\r\n\r\n\r\n const setValeu = (newValue, id) => {\r\n if(inputIdRef != null && inputIdRef.current != null ){\r\n validRef.current = true\r\n inputRef.current.value = newValue\r\n inputIdRef.current.value = id\r\n ProvinceRef.current = null;\r\n ((value==null &&id)|| id != value) ? Change&&Change({[name] :id}):Change&&Change({[name]:null});\r\n onChange && onChange({Name:newValue , Id : id})\r\n setProvince(null)\r\n setFlag(!flag)\r\n setProvince({[inputIdRef.current.value]:inputRef.current.value})\r\n setValidat(false)\r\n }\r\n }\r\n useEffect(() => {\r\n if(value && mode!=\"view\"){\r\n getProvinceDictionaryAsync(null,value)\r\n }else if(value == null){\r\n \r\n\r\n }\r\n }, [value,resetForm]);\r\n\r\n\r\n useEffect(() =>{\r\n if(show ){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n\r\n } \r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n\r\n \r\n },[show ,optionList])\r\n\r\n \r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) { \r\n setShow(false);\r\n }\r\n }\r\n\r\n\r\n\r\n if(province){\r\n optionList = Object.values(province)\r\n }\r\n return (\r\n <>\r\n
\r\n\r\n \r\n {required && *}\r\n \r\n { setShow(true);Auto(e)}} ref={inputRef} list=\"ProvinceDictionary\" name=\"browser\" className=\"text-box__box form-control \" type={'text'} id={\"browser\"+name} onMouseDown={(e)=>e.stopPropagation() } onChange={Auto} disabled={mode ==\"view\" ? true : false} />\r\n {\r\n show && \r\n
\r\n {optionList && optionList.map((item , index)=>{\r\n return
{setValeu(item,Object.keys(province)[index])}} key={Object.keys(province)[index]} >{item}
\r\n })} \r\n
\r\n } \r\n
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n
\r\n
\r\n \r\n )\r\n}","import { Loading } from \"components/Loading/loading\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { CityDictionary } from \"pages/OfficeAutomation/Settings/City/components/CityDictionary\";\r\nimport { ProvinceDictionary } from \"pages/OfficeAutomation/Settings/Province/components/ProvinceDictionary\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { CountryDictionary } from \"pages/OfficeAutomation/Settings/Country/components/CountryDictionary\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\n\r\ninterface CustomerTaxFormPropsType {\r\n onHide: () => void\r\n submit: (e) => void\r\n mode: any,\r\n formRef?: any,\r\n\r\n CustomerId?: string,\r\n CustomerTax: any,\r\n reload?:()=>void,\r\n}\r\nexport const CustomerTaxForm = ({ \r\n onHide,\r\n submit,\r\n mode,\r\n formRef,\r\n CustomerId,\r\n CustomerTax,\r\n reload\r\n}: CustomerTaxFormPropsType) => {\r\n \r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading2 , setLoading2] = useState(true)\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n const [province, setProvince] = useState(CustomerTax?.ProvinceId);\r\n const [country, setCountry] = useState(null);\r\n const handleSubmit = (event) => {\r\n event.preventDefault();\r\n\r\n let data:any = {}\r\n if (CustomerTax == null) {\r\n data = {\r\n CustomerId:CustomerId,\r\n CustomerCharacteristic:+ event.target.CustomerCharacteristic.value,\r\n CustomerTaxType: +event.target.CustomerTaxType.value,\r\n BusinessActivityTypeId: event.target.BusinessActivityTypeId.value==\"\"? null :event.target.BusinessActivityTypeId.value ,\r\n CityId: event.target.CityId.value ? event.target.CityId.value :null,\r\n ProvinceId: event.target.ProvinceId.value ? event.target.ProvinceId.value:null,\r\n }\r\n submit(data)\r\n } else {\r\n\r\n data = {\r\n CustomerId:CustomerId,\r\n CustomerCharacteristic:+ event.target.CustomerCharacteristic.value,\r\n CustomerTaxType: +event.target.CustomerTaxType.value,\r\n BusinessActivityTypeId: event.target.BusinessActivityTypeId.value==\"\"? null :event.target.BusinessActivityTypeId.value ,\r\n CityId: event.target.CityId.value ? event.target.CityId.value :null,\r\n ProvinceId: event.target.ProvinceId.value ? event.target.ProvinceId.value:null,\r\n Id: CustomerTax?.Id,\r\n }\r\n submit(data)\r\n // putNodeAsync(data) \r\n }\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // onHide()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide()\r\n });\r\n }else{\r\n onHide()\r\n };\r\n\r\n\r\n }\r\n\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n return (\r\n\r\n <>\r\n {loading2? \r\n <>\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n onChange={(e)=> setProvince(e?.Id ?e?.Id :null)}\r\n label={\"Province\"}\r\n resetForm={resetForm}\r\n name={\"ProvinceId\"}\r\n mode={mode}\r\n // countryId={country?.Id}\r\n value={CustomerTax?.ProvinceId }/>\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n label={\"City\"}\r\n resetForm={resetForm}\r\n name={\"CityId\"}\r\n provinceId={province}\r\n mode={mode}\r\n value={CustomerTax?.CityId }/>\r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n value={CustomerTax?.ActivityStatus ? CustomerTax?.ActivityStatus : null} \r\n name=\"CustomerTaxStatus\" \r\n enumTypeSelect=\"ActivityStatus\"\r\n mode={mode} \r\n label=\"Status\" \r\n />\r\n
\r\n }\r\n
\r\n \r\n
\r\n \r\n :\r\n }\r\n \r\n\r\n );\r\n}","import { OrganizationType } from \"types/enum\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\nexport const getCustomerDictionaryApi = (async (id ) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.dictionaryId,\r\n method: 'get',\r\n params: {\r\n customerId: id,\r\n }\r\n}).then((res) => {\r\n\r\n return res.data.Data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)\r\nexport const getCustomerDictionaryListApi = (async (search ,value ) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.dictionary,\r\n method: 'get',\r\n params: {\r\n searchString:search,\r\n customerId:value\r\n }\r\n}).then((res) => {\r\n\r\n return res.data.Data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getCustomerDictionaryApi, getCustomerDictionaryListApi } from \"./api\";\r\n\r\ninterface CustomerPropsType {\r\n label?: string,\r\n hasBorder?: boolean,\r\n valueString?: string,\r\n disabled?:any,\r\n resetForm?: boolean,\r\n required?: boolean,\r\n returnObj?: boolean,\r\n allowType?: boolean,\r\n value?: string,\r\n CustomerName?: string,\r\n mode?: string,\r\n ShowMethod?: any,//if useAlllist is true, when input is empty we can get all list instedof relations list\r\n name: string,\r\n Change?: (e) => void,\r\n onChange?: (e) => void,\r\n checkHasAccess?:any\r\n}\r\n\r\nexport const CustomerDictionary = ({ ShowMethod=null,label,disabled=false,checkHasAccess, hasBorder, value,CustomerName , valueString ,allowType=false,mode,returnObj=false ,resetForm,required , name=\"\", Change ,onChange}: CustomerPropsType) => {\r\n const [Customer, setCustomers] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag, setFlag] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [rquird , setRquird] = useState(false);\r\n const [noAccessError,setNoAccessError]=useState(false)\r\n const [errorMessage,setErrorMessage]=useState('')\r\n const [allowTyping , setAllowTyping] = useState(valueString&& allowType );\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n\r\n const countRef = useRef(0)\r\n const [listBoxPosition,setListBoxPosition]=useState()\r\n let options_Customer_keys, options_Customer_values;\r\n\r\n\r\n async function getCustomerListAsync(search?, id?) {\r\n try {\r\n if (id) {\r\n const res2 = await getCustomerDictionaryApi( id );\r\n if(Object.values(res2)[0] && Object.values(res2)[0] != undefined){\r\n setValeu( Object.values(res2)[0], Object.keys(res2)[0])\r\n setValueName( Object.values(res2)[0])\r\n if(!returnObj)\r\n onChange && onChange(Object.values(res2)[0])\r\n else\r\n onChange && onChange({Id:Object.keys(res2)[0] , Name:Object.values(res2)[0]})\r\n }else{\r\n } \r\n } else {\r\n\r\n const res = await getCustomerDictionaryListApi(search , ShowMethod!=null? value:null );\r\n setCustomers(res)\r\n options_Customer_values = Object.values(res)\r\n options_Customer_keys = Object.keys(res)\r\n setShow(true)\r\n }\r\n setFlag(!flag)\r\n setNoAccessError(false)\r\n } catch (error: any) {\r\n if(error.response?.status===403){\r\n setNoAccessError(true)\r\n setErrorMessage(error.response.data?.Message)\r\n checkHasAccess()\r\n \r\n }else{\r\n setNoAccessError(false)\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n const Auto = (e) => {\r\n setValidat(false)\r\n setRquird(false)\r\n setShow(true)\r\n Change && Change(true)\r\n inputIdRef.current.value = null\r\n getCustomerListAsync(e.target.value, \"\")\r\n setFlag(!flag)\r\n\r\n }\r\n\r\n function userSelecter(){\r\n setValeu(options_Customer_values[countRef.current],options_Customer_keys[countRef.current])\r\n //setValeu(options_Customer_values[countRef.current],Object.keys(options_Customer_keys)[countRef.current])\r\n setShow(false)\r\n }\r\n\r\n const kydown = (event) => { \r\n\r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < options_Customer_values.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = options_Customer_values.length-1;\r\n }\r\n }\r\n document.getElementById(\"CustomerIndex\"+countRef.current)?.scrollIntoView({block:'end',behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n\r\n }\r\n\r\n\r\n \r\n const CheckCustomer =async (e)=>{ \r\n setTimeout(async() => {\r\n if(e.target.value.length == 0&& inputRef.current?.value?.length == 0 && e.target?.value==\"\"){\r\n onChange && onChange({Id:null , Name:null})\r\n if(inputIdRef.current)\r\n inputIdRef.current.value = null\r\n if(required)\r\n setRquird(true)\r\n }else{\r\n setRquird(false)\r\n try{\r\n if(!inputIdRef.current.value){\r\n const res = await getCustomerDictionaryListApi(inputIdRef.current.value ? null :e.target.value , ShowMethod!=null? value:null)\r\n if(Object.keys(res).length==0){\r\n setValidat(true)\r\n }\r\n if(Object.keys(res).length == 1){\r\n setValeu(Object.values(res)[0], Object.keys(res)[0] )\r\n }\r\n }\r\n }catch(err:any){\r\n setValidat(true)\r\n }\r\n }\r\n }, 200);\r\n await delay(200)\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n }\r\n\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n\r\n\r\n\r\n\r\n const setValeu = (value, id) => { \r\n if(inputIdRef != null && inputIdRef.current != null){\r\n\r\n setRquird(false)\r\n inputRef.current.value = value\r\n inputIdRef.current.value = id\r\n setCustomers(null)\r\n\r\n if(!returnObj)\r\n onChange && onChange(value)\r\n else\r\n onChange && onChange({Id:id , Name:value})\r\n\r\n setFlag(!flag)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (value) {\r\n if((mode!=\"view\"&&disabled==false)){\r\n getCustomerListAsync(null, value)\r\n }else{\r\n onChange && onChange({Id:value , Name:CustomerName\t})\r\n }\r\n }else if(valueString&&allowType){\r\n onChange && onChange({Id:\" \" , Name:valueString})\r\n }\r\n }, [value ,resetForm]);\r\n\r\n if (Customer) options_Customer_values = Object.values(Customer).map(item => {\r\n return item\r\n })\r\n if (Customer) options_Customer_keys = Object.keys(Customer).map(item => {\r\n return item\r\n })\r\n\r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) {\r\n setShow(false);\r\n }\r\n }\r\n\r\n\r\n const handleSetListBoxPosition=()=>{\r\n setListBoxPosition(inputRef.current?.getBoundingClientRect())\r\n }\r\n\r\n\r\n useEffect(() =>{\r\n if(show){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n } \r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n },[show ,options_Customer_values])\r\n\r\n\r\n\r\n useEffect(()=>{\r\n if(show){\r\n document.addEventListener('scroll',handleSetListBoxPosition,true)\r\n document.addEventListener('resize',handleSetListBoxPosition,true)\r\n }\r\n if(!show){ \r\n document.removeEventListener('scroll',handleSetListBoxPosition,true)\r\n document.removeEventListener('resize',handleSetListBoxPosition,true)\r\n }\r\n return() => {\r\n document.removeEventListener('scroll',handleSetListBoxPosition,true)\r\n document.removeEventListener('resize',handleSetListBoxPosition,true)\r\n }\r\n },[inputRef.current,document,show,window])\r\n \r\n\r\n \r\n useEffect(()=>{\r\n setListBoxPosition(inputRef.current?.getBoundingClientRect())\r\n },[show])\r\n\r\n \r\n\r\n return (\r\n <>\r\n {(mode!=\"view\"&&disabled==false)?\r\n
\r\n {label && \r\n \r\n {trans(label)}\r\n \r\n }>\r\n
\r\n \r\n {required && *}\r\n {(allowType&&mode!=\"view\")&&\r\n <>\r\n {\r\n allowTyping ?\r\n {setAllowTyping(false)}} style={{marginRight:\"5px\"}} icon={[\"fas\", \"magnifying-glass\"]} className=\"text-primary pr-2\"/>\r\n :\r\n {setAllowTyping(true)}} style={{marginRight:\"5px\"}} icon={[\"fas\", \"magnifying-glass-minus\"]} className=\"text-danger pr-2\"/>\r\n\r\n }\r\n \r\n }\r\n
\r\n \r\n }\r\n\r\n\r\n \r\n \r\n {(!allowTyping||!allowType)?\r\n
\r\n {e.stopPropagation(); Auto(e) }} onFocus={(e) => {getCustomerListAsync(!allowTyping ? e.target.value:null); setShow(true) }} ref={inputRef} list=\"CustomerList\" name=\"browser\" className={\"text-box__box form-control\" + \" browser\"+name} type={'text'} id={\"browser\"+name} onChange={Auto} disabled={ disabled||mode==\"view\" || noAccessError} />\r\n \r\n {(show && !noAccessError) &&
\r\n {options_Customer_values && options_Customer_values.map((item, index) => {\r\n return
{ setValeu(item, options_Customer_keys[index]) }} key={options_Customer_keys[index]} >{item}
\r\n })}\r\n
}\r\n {noAccessError &&\r\n
{trans(errorMessage)}
\r\n }\r\n \r\n
\r\n :\r\n {\r\n onChange&&onChange( {Id:\" \" , Name:e.target.value});inputIdRef.current.value = e.target.value }} onChange={(e)=>{setValueName(e.target.value)\r\n }} ref={inputRef} name=\"browser\" className={\"text-box__box form-control\" + \" browser\"+name} type={'text'} id={\"browser\"+name} disabled={disabled} />\r\n\r\n }\r\n {!noAccessError &&
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n {required && {trans(\"Msg_Validation_ValueIsRequired\", [\"\"])}}\r\n
}\r\n \r\n
\r\n : \r\n \r\n\r\n\r\n }\r\n\r\n \r\n )\r\n}","import { Toast } from \"components/ToastShow/ToastAlert\";\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans, uuidv4 } from \"utils/helpers\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Person } from \"components/Person/Person\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { CustomerDictionary } from \"../../SalesInvoice/components/CustomerDictionary/CustomerDictionary\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface RelatedCustomerFormPropsType {\r\n onHide: () => void;\r\n CustomerRelationsCallBack: (e) => void;\r\n mode: any;\r\n CustomerRelations: any;\r\n CustomerId?: string;\r\n}\r\nexport const RelatedCustomerForm = ({\r\n onHide,\r\n CustomerRelationsCallBack,\r\n mode,\r\n CustomerRelations,\r\n CustomerId,\r\n}: RelatedCustomerFormPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [editForm, setEditForm] = useState({});\r\n const [indexEditForm, setIndexEditForm] = useState(0);\r\n const [relatedMode, setRelatedMode] = useState<\"create\" | \"edit\">(\"create\");\r\n const [relatedList, setRelatedList] = useState(CustomerRelations);\r\n const [customer, setCustomer] = useState();\r\n const [relationType, setRelationType] = useState();\r\n\r\n const handleDeleteRow = async (id: string = selectedObj.Id) => {\r\n const filteredData=relatedList.filter((item) => item.Id != id)\r\n setRelatedList(filteredData);\r\n CustomerRelationsCallBack(filteredData);\r\n };\r\n\r\n\r\n const handleEdit = (id) => {\r\n relatedList.map((item, index) => {\r\n if (item.Id == id) {\r\n setEditForm(item);\r\n setIndexEditForm(index);\r\n }\r\n });\r\n };\r\n\r\n const handleSubmit = (event) => {\r\n event.preventDefault();\r\n let data: any = {};\r\n data = {\r\n Id: relatedMode == \"create\" ? uuidv4() : editForm.Id,\r\n // CustomerId: CustomerId?CustomerId:null,\r\n CustomerRelatedId: event.target.CustomerRelatedId?.value,\r\n CustomerRelationTypeId: event.target.CustomerRelationTypeId?.value,\r\n CustomerRelated: customer.Name,\r\n CustomerRelationType: relationType.Name,\r\n };\r\n\r\n if (relatedMode == \"create\") {\r\n setRelatedList([...relatedList, data]);\r\n CustomerRelationsCallBack([...relatedList, data]);\r\n } else {\r\n let newRelated = JSON.parse(JSON.stringify(relatedList));\r\n newRelated.splice(indexEditForm, 1, data);\r\n CustomerRelationsCallBack(newRelated);\r\n setRelatedList(newRelated);\r\n }\r\n setResetForm(true);\r\n setResetForm(true);\r\n };\r\n\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n\r\n useEffect(() => {\r\n if (Object.values(userChanges).filter((item) => item != null).length > 0) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n } else {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n if(CustomerRelations && CustomerRelations.length > 0){\r\n CustomerRelationsCallBack(CustomerRelations);\r\n setRelatedList(CustomerRelations);\r\n }\r\n },[CustomerRelations])\r\n\r\n return (\r\n <>\r\n {mode != \"view\" && (\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setCustomer(e);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setRelationType(obj);\r\n }}\r\n />\r\n
\r\n
\r\n {relatedMode == \"create\" ? (\r\n
\r\n )}\r\n
\r\n {relatedList?.length > 0 ? (\r\n <>\r\n {\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\", \"alert\", () =>\r\n // handleDeleteRow(e)\r\n // );\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete, () =>\r\n handleDeleteRow(e)\r\n );\r\n }}\r\n handleEdit={(e) => {\r\n handleEdit(e);\r\n setRelatedMode(\"edit\");\r\n }}\r\n />\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n );\r\n};\r\n","import { Button } from \"components/Button/Button\";\r\nimport { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\n\r\n//import { getCustomerForm, sendCustomer } from \"./api\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { CustomerBranchesForm } from \"./CustomerBranchesForm\";\r\nimport { CustomerForm } from \"./CustomerForm\";\r\nimport { CustomerTaxForm } from \"./CustomerTaxForm\";\r\nimport { RelatedCustomerForm } from \"./RelatedCustomer\";\r\nimport { getCustomer, postCustomer, putCustomer } from \"./api\";\r\n\r\ninterface Form {\r\n onHide: (e) => void;\r\n reload?: () => void;\r\n setCustomerCallBack?: (e) => void\r\n mode: any;\r\n selectedObj: any;\r\n}\r\nexport const CustomerTabform = ({ onHide,selectedObj, mode, reload ,setCustomerCallBack }: Form) => {\r\n const lang = localStorage.getItem(\"lang\");\r\n\r\n const [curentTab, setCurentTab] = useState(\"Customer\")\r\n const taxData = useRef();\r\n const CustomerData = useRef();\r\n const BranchesData = useRef();\r\n const CustomerRelations = useRef();\r\n\r\n const formRefs = [useRef(), useRef()];\r\n const [Customer , setCustomer ] = useState< any>();\r\n const [loading , setLoading] = useState(false)\r\n let content = [\r\n { title: \"Customer\", body: ({CustomerData.current=e}} selectedObj={selectedObj} onHide={ ()=>{onHide(false)}} mode={mode} />), },\r\n { title: \"Tax\", body: ({taxData.current=e}} onHide={ ()=>{onHide(false)}} mode={mode} />)},\r\n { title: \"Branches\", body: ({BranchesData.current=e}} onHide={ ()=>{onHide(false)}} mode={mode} />)},\r\n { title: \"Relatedcustomers\", body: ({CustomerRelations.current=e}} onHide={ ()=>{onHide(false)}} mode={mode} />)}\r\n\r\n ];\r\n\r\n\r\n\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n } \r\n async function formSubmit() { \r\n document.body.classList.add(\"loading-indicator-\"+lang);\r\n let list\r\n if(BranchesData.current){\r\n list = JSON.parse(JSON.stringify(BranchesData.current))\r\n }\r\n if(list){\r\n Object.values(list).map((e:any)=>{\r\n delete e.Id ;\r\n })\r\n }\r\n\r\n await delay(50)\r\n let formdata: any = {}\r\n let customerData = { ...CustomerData.current }\r\n formdata.CustomerOrganizationId = customerData['CustomerOrganizationId']\r\n delete customerData['CustomerOrganizationId']\r\n formdata.Customer = { ...customerData }\r\n formdata.CustomerTax = { ...taxData.current }\r\n formdata.CustomerRelations=CustomerRelations.current ? [...CustomerRelations.current] : []\r\n if(list){\r\n formdata.CustomerBranches =[...list]\r\n }else{\r\n formdata.CustomerBranches = []\r\n }\r\n try {\r\n if(mode==\"create\"){\r\n const res = await postCustomer(formdata);\r\n setCustomerCallBack&& setCustomerCallBack(res.Data)\r\n reload && reload()\r\n }else await putCustomer(formdata);\r\n onHide(false)\r\n reload && reload()\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n } catch (error) {\r\n\r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n}\r\n\r\n\r\nconst delay = (duration) =>\r\nnew Promise(resolve => setTimeout(resolve, duration));\r\nconst handleSubmitAllForms = async(e) => {\r\n \r\n let flag=true ; \r\n await Promise.all(\r\n formRefs.map(async (formRef:any) => {\r\n if(formRef.current.checkValidity()&&flag){\r\n formRef.current.hidebutton?.click();\r\n }else if(flag){\r\n flag = false\r\n setCurentTab(formRef.current.name)\r\n await delay(50)\r\n formRef.current.reportValidity()\r\n }\r\n })\r\n );\r\n await delay(50)\r\n if(CustomerData.current!=undefined && taxData.current!=undefined){\r\n formSubmit()\r\n }else document.body.classList.remove(\"loading-indicator-\"+lang);\r\n\r\n};\r\n\r\nconst getNewCustomer = async ()=>{\r\n setLoading(false)\r\n try{\r\n const res = await getCustomer(selectedObj.Id); \r\n setCustomer(res.Data) \r\n }catch(err:any){\r\n\r\n}\r\n setLoading(true)\r\n}\r\n\r\nuseEffect(() => {\r\n if (mode!=\"create\"&& selectedObj?.Id) {\r\n getNewCustomer();\r\n }else{\r\n setLoading(true)\r\n }\r\n}, []);\r\n\r\n /* pagination area*/\r\n return (\r\n <>\r\n {loading ?\r\n <>\r\n \r\n
\r\n { mode != \"view\"?\r\n \r\n
\r\n \r\n : \r\n }\r\n \r\n )\r\n}","import { useEffect, useState } from \"react\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { getCurrencyDictionaryApi } from \"./api\";\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\n\r\ninterface DictionaryTypeSelectProps {\r\n value?: any;\r\n mode?: string;\r\n resetForm?: boolean;\r\n name: string;\r\n label: string;\r\n baseUrl?: string;\r\n required?: boolean;\r\n transe?: boolean;\r\n disabled?: boolean;\r\n params?: any;\r\n recordedData?: any;\r\n Change?: (e) => void;\r\n onChange?: (e: any, obj?: any) => void;\r\n useTrans?: boolean;\r\n}\r\nexport const CurrencyDictionary = ({\r\n recordedData,\r\n params,\r\n label,\r\n required = false,\r\n baseUrl,\r\n useTrans = false,\r\n disabled,\r\n value,\r\n name,\r\n mode,\r\n resetForm,\r\n onChange,\r\n Change,\r\n}: DictionaryTypeSelectProps) => {\r\n const [CurrencyDictionary, setCurrencyDictionary] = useState();\r\n const [defaultval, setdefault] = useState(value);\r\n const [errcode, setErrcode] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const getCurrencyDictionaryAsync = async () => {\r\n setLoading(false);\r\n try {\r\n const res = await getCurrencyDictionaryApi(baseUrl, params);\r\n // if(res?.Data){\r\n // setCurrencyDictionary(res?.Data)\r\n // onChange && onChange(res?.Data[0],{Id:res?.Data[0].Id , Name:res?.Data[0].Title\t})\r\n // }else{\r\n // setCurrencyDictionary(res)\r\n // onChange && onChange(res[0],{Id:res[0] , Name:res[0]})\r\n\r\n // }\r\n if (res?.Data) {\r\n setCurrencyDictionary(res?.Data);\r\n } else {\r\n onChange && onChange(Object.values(res?.Data)[0]);\r\n }\r\n } catch (error: any) {\r\n setErrcode(error.response?.status);\r\n // setCurrencyDictionary(null)\r\n }\r\n setLoading(true);\r\n };\r\n\r\n const handleOnChange = (e) => {\r\n onChange && onChange(CurrencyDictionary[e.target.value]);\r\n\r\n Change && Change(true);\r\n const firstItem = Object.values(CurrencyDictionary)[0] as any;\r\n\r\n if (e.target && e.target.value != (value ? value : firstItem.Id)) {\r\n Change && Change({ [name]: e.target.value });\r\n } else {\r\n Change && Change({ [name]: null });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (value && CurrencyDictionary) {\r\n onChange && onChange(CurrencyDictionary[value]);\r\n }\r\n }, [CurrencyDictionary, value]);\r\n useEffect(() => {\r\n if (params) {\r\n //getCurrencyDictionaryAsync()\r\n }\r\n }, [params]);\r\n\r\n useEffect(() => {\r\n setdefault(value);\r\n }, [resetForm]);\r\n useEffect(() => {\r\n getCurrencyDictionaryAsync();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {CurrencyDictionary && loading ? (\r\n <>\r\n {\r\n handleOnChange(e);\r\n }}\r\n lable={label}\r\n selectType={\"select\"}\r\n options={Object.values(CurrencyDictionary).map((item: any) => {\r\n return item.Title;\r\n })}\r\n val={Object.keys(CurrencyDictionary)}\r\n name={name}\r\n value={value}\r\n isDisabled={disabled}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={required}\r\n useTrans={useTrans}\r\n recordedData={recordedData}\r\n />\r\n
\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { OrganizationType } from \"types/enum\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\nexport const getCurrencyDictionaryApi = (async ( id ,personId) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Currency.dictionary,\r\n method: 'get',\r\n params: {\r\n personId:personId,\r\n id: id,\r\n \r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)\r\n","import { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getAddressBox, postAddressBox } from \"./api\";\r\nimport { Address } from \"components/Address/Address\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { ContactType, MessageType } from \"types/enum\";\r\nimport { AddressType } from \"types/types\";\r\ninterface Prop {\r\n AddressHandeler: (e) => void,\r\n personId:string ,\r\n Current?:boolean ,\r\n onHide: () => void,\r\n status:'selectMode'|'createMode'|null,\r\n\r\n}\r\n\r\n\r\n\r\nexport const AddressBox = ({ AddressHandeler ,Current=false,onHide ,status ,personId}: Prop) => {\r\n const [data, setData] = useState()\r\n const [forceUpdate, setForceUpdate] = useState(false)\r\n const [selectedObj, setSelectedObj] = useState()\r\n const [idCallback, setIdCallback] = useState(null)\r\n const [loading, setLoading] = useState(false);\r\n const [message, setMessage] = useState(\"NoDataForPreview\");\r\n const [noAccessError,setNoAccessError]=useState(false)\r\n\r\n \r\n const setselecetrow = (e) => {\r\n setSelectedObj(e)\r\n\r\n\r\n }\r\n const sendTreeCode = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n\r\n if(selectedObj){\r\n let parentObj:any=null\r\n if(selectedObj.RootId!=null){\r\n data.map(item=>{\r\n if(item.Id ==selectedObj.RootId ){\r\n parentObj = item\r\n }\r\n })\r\n\r\n }\r\n if(parentObj){\r\n AddressHandeler({...selectedObj , Title: parentObj.Title +\",\"+selectedObj.Title })\r\n }else{\r\n AddressHandeler(selectedObj)\r\n\r\n }\r\n }else{\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning)\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n const onSubmit = async(event)=>{\r\n setLoading(false)\r\n const addressSection:AddressType={\r\n Address: event.target.Address.value,\r\n Plaque: event.target.Plaque.value,\r\n Unit: event.target.Unit.value,\r\n PostalCode: event.target.PostalCode.value,\r\n }\r\n try{\r\n \r\n let data = {\r\n PersonId:personId,\r\n ContactType: ContactType.Address,\r\n Value:JSON.stringify(addressSection),\r\n Description:event.target.Description.value,\r\n ExtraDescription:event.target.ExtraDescription.value,\r\n IsDefault:event.target.IsDefault.checked,\r\n }\r\n await postAddressBox(data ,Current)\r\n setLoading(true)\r\n onHide()\r\n AddressHandeler(addressSection)\r\n } catch (error) {\r\n \r\n } \r\n }\r\n\r\n async function getAddressBoxAsync() {\r\n setLoading(false)\r\n try{\r\n\r\n const respons = await getAddressBox(personId ,Current)\r\n setData(respons.Data)\r\n setNoAccessError(false)\r\n }catch(err:any){\r\n console.log(err);\r\n \r\n if(err?.status===403){\r\n setNoAccessError(true)\r\n }else{\r\n setNoAccessError(false)\r\n\r\n }\r\n setMessage(err?.data?.Message)\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n \r\n\r\n useEffect(() => {\r\n setData(null)\r\n getAddressBoxAsync()\r\n }, [forceUpdate]);\r\n\r\n\r\n useEffect(() => {\r\n if(idCallback){\r\n setIdCallback(null)\r\n }\r\n }, [idCallback]);\r\n\r\n\r\n\r\n return (\r\n <>\r\n\r\n\r\n
\r\n {\r\n loading ? (\r\n <>\r\n {status == 'createMode' && !noAccessError &&\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {status == 'createMode' &&\r\n
\r\n
\r\n }\r\n \r\n
\r\n }\r\n \r\n \r\n {\r\n data ?\r\n
\r\n
\r\n \r\n
\r\n
: \r\n\r\n\r\n }\r\n \r\n ): \r\n }\r\n
\r\n {status == 'selectMode' && !noAccessError &&\r\n
\r\n
\r\n }\r\n\r\n\r\n \r\n )\r\n}\r\n\r\n\r\n\r\n\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getAddressBox = (Id ,Current) => http({\r\n url:Current ? ENDPOINTS.BaseInformation.CurrentPersonContact.addresses : ENDPOINTS.BaseInformation.PersonContact.addresses,\r\n method: 'get',\r\n params:{\r\n personId:Id\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\nexport const postAddressBox = (data ,Current ) => http({\r\n url:Current ? ENDPOINTS.BaseInformation.CurrentPersonContact.Load : ENDPOINTS.BaseInformation.PersonContact.Load,\r\n method: 'post',\r\n data:data\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});","import { ContactType, OrganizationType } from \"types/enum\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\nexport const getCustomerPhoneDictionaryApi = (async (id ,personId ,Current) => await http({\r\n url: Current ? ENDPOINTS.BaseInformation.CurrentPersonContact.phones : ENDPOINTS.BaseInformation.PersonContact.phones,\r\n method: 'get',\r\n params: {\r\n personId:personId,\r\n id: id,\r\n }\r\n}).then((res) => {\r\n\r\n return res.data.Data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)\r\nexport const getCustomerPhoneDictionaryListApi = (async (search,id ,personId ,Current,type=1) => await http({\r\n url: Current ? ENDPOINTS.BaseInformation.CurrentPersonContact.phones :\r\n type===ContactType.Phone?\r\n ENDPOINTS.BaseInformation.PersonContact.landLine\r\n :ENDPOINTS.BaseInformation.PersonContact.mobile,\r\n method: 'get',\r\n params: {\r\n personId:personId,\r\n searchString:search\r\n }\r\n}).then((res) => {\r\n\r\n return res.data.Data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)","import { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport {\r\n getCustomerPhoneDictionaryApi,\r\n getCustomerPhoneDictionaryListApi,\r\n} from \"./api\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport React from \"react\";\r\n\r\ninterface CustomerPropsType {\r\n label?: string;\r\n hasBorder?: boolean;\r\n valueString?: string;\r\n personId?: string;\r\n\r\n resetForm?: boolean;\r\n Current?: boolean;\r\n required?: boolean;\r\n returnObj?: boolean;\r\n allowType?: boolean;\r\n value?: string;\r\n mode?: string;\r\n name: string;\r\n Change?: (e) => void;\r\n onChange?: (e) => void;\r\n type?: any;\r\n}\r\n\r\nexport const CustomerPhoneDictionary = React.memo(\r\n ({\r\n label,\r\n Current = false,\r\n hasBorder,\r\n value,\r\n valueString,\r\n personId,\r\n allowType = false,\r\n mode,\r\n returnObj = false,\r\n resetForm,\r\n required,\r\n name = \"\",\r\n Change,\r\n onChange,\r\n type,\r\n }: CustomerPropsType) => {\r\n const [Customer, setCustomers] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag, setFlag] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [validat, setValidat] = useState(false);\r\n const [rquird, setRquird] = useState(false);\r\n const [allowTyping, setAllowTyping] = useState(valueString && allowType);\r\n const [count, setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const [disabled, setDisabled] = useState(mode == \"view\" ? true : false);\r\n const countRef = useRef(0);\r\n const [listBoxPosition, setListBoxPosition] = useState();\r\n let options_Customer_keys, options_Customer_values;\r\n\r\n async function getCustomerListAsync(search?, id?) {\r\n try {\r\n if (id) {\r\n const res2 = await getCustomerPhoneDictionaryApi(\r\n id,\r\n personId,\r\n Current\r\n );\r\n\r\n if (Object.values(res2)[0] && Object.values(res2)[0] != undefined) {\r\n setValeu(Object.values(res2)[0], Object.keys(res2)[0]);\r\n setValueName(Object.values(res2)[0]);\r\n if (!returnObj) onChange && onChange(Object.values(res2)[0]);\r\n else {\r\n onChange &&\r\n onChange({\r\n Id: Object.keys(res2)[0],\r\n Name: Object.values(res2)[0],\r\n });\r\n }\r\n } else {\r\n }\r\n } else {\r\n const res = await getCustomerPhoneDictionaryListApi(\r\n search,\r\n id,\r\n personId,\r\n Current,\r\n type\r\n );\r\n setCustomers(res);\r\n options_Customer_values = Object.values(res);\r\n options_Customer_keys = Object.keys(res);\r\n setShow(true);\r\n }\r\n setFlag(!flag);\r\n } catch (err: any) {}\r\n }\r\n\r\n const Auto = (e) => {\r\n setValidat(false);\r\n setRquird(false);\r\n setShow(true);\r\n Change && Change(true);\r\n getCustomerListAsync(e.target.value, \"\");\r\n setFlag(!flag);\r\n };\r\n\r\n function userSelecter() {\r\n if (\r\n options_Customer_values?.[countRef.current] &&\r\n options_Customer_keys?.[countRef.current]\r\n ) {\r\n setValeu(\r\n options_Customer_values[countRef.current],\r\n options_Customer_keys[countRef.current]\r\n );\r\n setShow(false);\r\n }\r\n\r\n // setValeu(options_Customer_values[countRef.current],Object.keys(options_Customer_keys)[countRef.current])\r\n }\r\n\r\n const kydown = (event) => {\r\n if (event.key === \"ArrowDown\") {\r\n if (countRef.current < options_Customer_values.length - 1) {\r\n countRef.current = countRef.current + 1;\r\n } else {\r\n countRef.current = 0;\r\n }\r\n }\r\n\r\n if (event.key === \"ArrowUp\") {\r\n if (countRef.current > 0) {\r\n countRef.current = countRef.current - 1;\r\n } else {\r\n countRef.current = options_Customer_values.length - 1;\r\n }\r\n }\r\n document\r\n .getElementById(\"CustomerIndex\" + countRef.current)\r\n ?.scrollIntoView({ block: \"end\", behavior: \"smooth\" });\r\n setCount(countRef.current);\r\n\r\n if (event.key === \"Enter\") {\r\n userSelecter();\r\n }\r\n };\r\n\r\n const CheckCustomer = async (e) => {\r\n setTimeout(async () => {\r\n if (\r\n e.target.value.length == 0 &&\r\n inputRef.current?.value?.length == 0 &&\r\n e.target.value == \"\"\r\n ) {\r\n inputIdRef.current.value = null;\r\n if (required) setRquird(true);\r\n } else {\r\n setRquird(false);\r\n try {\r\n const res = await getCustomerPhoneDictionaryListApi(\r\n e.target.value,\r\n \"\",\r\n personId,\r\n Current,\r\n type\r\n );\r\n if (Object.keys(res).length == 0 || !res) {\r\n setValidat(true);\r\n }\r\n if (Object.keys(res).length == 1) {\r\n setValeu(Object.values(res)[0], Object.keys(res)[0]);\r\n }\r\n } catch (err: any) {\r\n setValidat(true);\r\n }\r\n }\r\n }, 200);\r\n await delay(200);\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n };\r\n\r\n const delay = (duration) =>\r\n new Promise((resolve) => setTimeout(resolve, duration));\r\n\r\n const setValeu = (value, id) => {\r\n if (inputIdRef != null && inputIdRef.current != null) {\r\n setRquird(false);\r\n inputRef.current.value =\r\n value?.split(\":\")[1] != undefined\r\n ? value?.split(\":\")[1]\r\n : value?.split(\":\")[0];\r\n inputIdRef.current.value = id;\r\n setCustomers(null);\r\n\r\n if (!returnObj) onChange && onChange(value);\r\n else onChange && onChange({ Id: id, Name: value });\r\n\r\n setFlag(!flag);\r\n }\r\n };\r\n\r\n function onInvalid(e) {\r\n if (!(inputRef.current.value.trim().length > 0)) {\r\n setRquird(true);\r\n } else {\r\n setValidat(true);\r\n }\r\n }\r\n\r\n\r\n \r\n useEffect(() => {\r\n if (value) {\r\n getCustomerListAsync(null, value);\r\n } else if (valueString && valueString.length > 1) {\r\n onChange && onChange({ Id: \" \", Name: valueString });\r\n inputRef.current.value = valueString;\r\n inputIdRef.current.value = valueString;\r\n }\r\n }, [value, valueString, resetForm]);\r\n useEffect(() => {\r\n setDisabled(mode == \"view\" ? true : false);\r\n }, [mode]);\r\n\r\n if (Customer)\r\n options_Customer_values = Object.values(Customer).map((item) => {\r\n return item;\r\n });\r\n if (Customer)\r\n options_Customer_keys = Object.keys(Customer).map((item) => {\r\n return item;\r\n });\r\n\r\n function clickToclose(e) {\r\n let input = document.querySelector(\"#browser\" + name);\r\n if (e.target.id !== input?.id) {\r\n setShow(false);\r\n }\r\n }\r\n const handleSetListBoxPosition=()=>{\r\n setListBoxPosition(inputRef.current?.getBoundingClientRect())\r\n }\r\n\r\n useEffect(() => {\r\n if (show) {\r\n document.addEventListener(\"keydown\", kydown);\r\n document.body.addEventListener(\"click\", clickToclose);\r\n }\r\n return () => {\r\n document.removeEventListener(\"keydown\", kydown);\r\n document.body.removeEventListener(\"click\", clickToclose);\r\n };\r\n }, [show, options_Customer_values]);\r\n\r\n useEffect(()=>{\r\n if(show){\r\n document.addEventListener('scroll',handleSetListBoxPosition,true)\r\n document.addEventListener('resize',handleSetListBoxPosition,true)\r\n }\r\n if(!show){\r\n document.removeEventListener('scroll',handleSetListBoxPosition,true)\r\n document.removeEventListener('resize',handleSetListBoxPosition,true)\r\n }\r\n return() => {\r\n document.removeEventListener('scroll',handleSetListBoxPosition,true)\r\n document.removeEventListener('resize',handleSetListBoxPosition,true)\r\n }\r\n },[inputRef.current,document,window,show])\r\n\r\n useEffect(() => {\r\n setListBoxPosition(inputRef.current?.getBoundingClientRect());\r\n }, [show]);\r\n\r\n return (\r\n <>\r\n
\r\n {label && (\r\n \r\n {trans(label)}\r\n \r\n }\r\n >\r\n \r\n \r\n {trans(`${label}`)}\r\n \r\n {required && (\r\n \r\n *\r\n \r\n )}\r\n {allowType && mode != \"view\" && (\r\n <>\r\n {allowTyping ? (\r\n {\r\n setAllowTyping(false);\r\n }}\r\n style={{ marginRight: \"5px\" }}\r\n icon={[\"fas\", \"magnifying-glass\"]}\r\n className=\"text-primary pr-2\"\r\n />\r\n ) : (\r\n {\r\n setAllowTyping(true);\r\n }}\r\n style={{ marginRight: \"5px\" }}\r\n icon={[\"fas\", \"magnifying-glass-minus\"]}\r\n className=\"text-danger pr-2\"\r\n />\r\n )}\r\n \r\n )}\r\n
\r\n \r\n )}\r\n\r\n \r\n\r\n {!allowTyping || !allowType ? (\r\n <>\r\n {\r\n e.stopPropagation();\r\n Auto(e);\r\n }}\r\n onFocus={() => {\r\n getCustomerListAsync(!allowTyping ? valueName : null);\r\n setShow(true);\r\n }}\r\n ref={inputRef}\r\n list=\"CustomerList\"\r\n name=\"browser\"\r\n className={\"text-box__box form-control\" + \" browser\" + name}\r\n type={\"text\"}\r\n id={\"browser\" + name}\r\n onChange={Auto}\r\n disabled={disabled}\r\n />\r\n {show && (\r\n \r\n {options_Customer_values &&\r\n options_Customer_values.map((item, index) => {\r\n return (\r\n <>\r\n {\" \"}\r\n {\r\n setValeu(item, options_Customer_keys[index]);\r\n }}\r\n key={item.Id}\r\n >\r\n \r\n {item.split(\":\")[1]}\r\n \r\n
\r\n {item.split(\":\")[0]}\r\n
\r\n \r\n \r\n );\r\n })}\r\n \r\n )}\r\n \r\n ) : (\r\n {\r\n onChange && onChange({ Id: \" \", Name: e.target.value });\r\n inputIdRef.current.value = e.target.value;\r\n }}\r\n onChange={(e) => {\r\n setValueName(e.target.value);\r\n }}\r\n ref={inputRef}\r\n name=\"browser\"\r\n className={\"text-box__box form-control\" + \" browser\" + name}\r\n type={\"text\"}\r\n id={\"browser\" + name}\r\n disabled={disabled}\r\n />\r\n )}\r\n
\r\n {required || validat && (\r\n \r\n {trans(\"Msg_Validation_ValueIsIncorrect\")}\r\n \r\n )}\r\n {required && (\r\n \r\n {trans(\"Msg_Validation_ValueIsRequired\", [\"\"])}\r\n \r\n )}\r\n
\r\n \r\n \r\n );\r\n }\r\n);\r\n","import { Button } from 'components/Button/Button';\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getCustomerPhoneListApi, postCustomerPhoneListApi } from \"./api\";\r\nimport { ContactType, MessageType } from 'types/enum';\r\n\r\nexport const CustomerPhoneList = ({rowObject, handlePhone,personId, Current=false , referenceId, onHide, handleShowReferenceStepper=()=>{},Reload , styleCondition ,showForm=false,type }: any) => {\r\n\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [response, setResponse] = useState(null);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showCustomerPhoneForm, setShowCustomerPhoneForm] = useState(false);\r\n const [mode, setmode] = useState(\"\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [selectedObj,setSelectedObj]=useState()\r\n\r\n\r\n\r\n\r\n\r\n const handleCreateCustomerPhone = () => {\r\n setmode(\"create\")\r\n setShowCustomerPhoneForm(true);\r\n }\r\n\r\n \r\n const selectedIdCallback = (obj, index) => {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\" && showCustomerPhoneForm){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alert\", ()=>{setSelectedId(obj.Id) ;sessionStorage.setItem(\"changingforms\" , \"false\");});\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{setSelectedId(obj.Id) ;sessionStorage.setItem(\"changingforms\" , \"false\");});\r\n\r\n }else{\r\n setSelectedId(obj.Id);\r\n setSelectedObj(obj)\r\n };\r\n }\r\n\r\n const handleSubmit = async(event)=>{\r\n event.preventDefault();\r\n try{\r\n setLoading(false)\r\n let data = {\r\n PersonId:personId,\r\n ContactType:type,\r\n Value:event.target.Value.value,\r\n Description:event.target.Description.value,\r\n ExtraDescription:event.target.ExtraDescription.value,\r\n IsDefault:event.target.IsDefault.checked,\r\n }\r\n await postCustomerPhoneListApi(data ,Current)\r\n onHide()\r\n handlePhone(data)\r\n } catch (error) {\r\n } \r\n setLoading(true)\r\n }\r\n\r\n\r\n\r\n async function getReferenceCustomerPhonesAsync() {\r\n setLoading(false)\r\n\r\n try {\r\n const res = await getCustomerPhoneListApi(personId ,Current,type); \r\n let data:any = []\r\n Object.keys(res).map(resKey=>{\r\n data = [...data,{'Id':resKey,'value':res[resKey]}]\r\n })\r\n setResponse(data);\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n \r\n setLoading(true)\r\n }\r\n useEffect(() => {\r\n getReferenceCustomerPhonesAsync()\r\n\r\n }, [ forceUpdate ]);\r\n useEffect(() => {\r\n if(showForm){\r\n handleCreateCustomerPhone()\r\n }\r\n }, []);\r\n\r\n\r\n \r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {/*
\r\n {setTypeContect('tel')}}/>\r\n {setTypeContect('mobile')}}/>\r\n
*/}\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n {/* {showCustomerPhoneForm &&\r\n setShowCustomerPhoneForm(false)}\r\n mode={mode}\r\n reset={(e)=>{getReferenceCustomerPhonesAsync()}}\r\n id={selectedId}\r\n referenceId={referenceId}\r\n />\r\n } */}\r\n {loading ?\r\n (response?.length > 0 ?\r\n
\r\n
\r\n <>\r\n \r\n \r\n
\r\n
\r\n : \r\n )\r\n : \r\n }\r\n \r\n \r\n \r\n
\r\n \r\n\r\n );\r\n}","import { ContactType } from \"types/enum\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getCustomerPhoneListApi = (async (personId ,Current,type=1) => await http({\r\n url: Current ? ENDPOINTS.BaseInformation.CurrentPersonContact.phones : type===ContactType.Phone?\r\n ENDPOINTS.BaseInformation.PersonContact.landLine\r\n :ENDPOINTS.BaseInformation.PersonContact.mobile,\r\n method: 'get',\r\n params: {\r\n personId:personId,\r\n }\r\n}).then((res) => {\r\n\r\n return res.data.Data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)\r\n\r\nexport const postCustomerPhoneListApi = (data ,Current) => http({\r\n url: Current ? ENDPOINTS.BaseInformation.CurrentPersonContact.Load : ENDPOINTS.BaseInformation.PersonContact.brows,\r\n method: 'post',\r\n data:data\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getSalesOrder = (pageNumber: number, pageSize: number, searchString, orderBy, filterlist ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.browse,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n \r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getSalesOrderById = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.load,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n Id:Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getSalesOrderByReferenceId = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.referenceId,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n ReferenceId:Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getTaxList = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemTax.browse,\r\n method: 'get',\r\n params: {\r\n id:Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getPriceListDetail = (Id,priceListId ,code , warehouseId=null ,personId,WarehouseDetailId=null ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemPriceApis.ItemPrice,\r\n method: 'get',\r\n params: {\r\n ItemId:Id,\r\n ItemCode:code , \r\n PriceListId:priceListId,\r\n WarehouseId:warehouseId,\r\n CustomerPersonId:personId,\r\n WarehouseDetailId\r\n \r\n \r\n\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const postSalesOrder = (data ,processId=null,SendSMS=false ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: processId ? ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.addFirst : ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.browse,\r\n method: 'post',\r\n data:data,\r\n params:{\r\n Confirm:false,\r\n PRJ_UID:processId,\r\n SendSMS:SendSMS\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const CalculateSalesOrder = (data ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.Calculate,\r\n method: 'post',\r\n data:data,\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{Confirm:false}\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const putSalesOrder = (data ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.browse,\r\n method: 'put',\r\n data:data\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getOrderConstraint = ( ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.constraint,\r\n method: 'get',\r\n\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getDefaultPersonContact = (Id ) => http({\r\n\r\n url: ENDPOINTS.BaseInformation.PersonContact.default,\r\n method: 'get',\r\n params:{\r\n personId:Id\r\n }\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getPersonCustomer = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.load,\r\n method: 'get',\r\n params:{\r\n id:Id\r\n }\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getSources = (type ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: type==1? ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.browse :ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.browse ,\r\n method: 'get',\r\n\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const GenerateFromSource = (SourceId, SourceData ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n //url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.generate,\r\n method: 'get',\r\n params:{\r\n SourceData ,\r\n SourceId\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const optionalDiscountHandler = (data ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n //url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.optionalDiscount,\r\n method: 'post',\r\n data:data\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const postResendJobOrder = (Id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.resendJob,\r\n method: 'post',\r\n params:{\r\n Id:Id ,\r\n }\r\n})\r\nexport const putSalesOrderWorkFlow = (data,referenceId) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.workFlow,\r\n method: 'put',\r\n data:data,\r\n params:{\r\n referenceId:referenceId\r\n }\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getDataForPrint = ( Id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.printData,\r\n method: \"get\",\r\n params:{\r\n id:Id,\r\n useWarmSignature: true \r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});","import { AutoCompleteDictionary } from \"components/AutoCompleteDictionary/AutoCompleteDictionary\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\ninterface UnitDictionaryPropsType {\r\n label?: string,\r\n name: string,\r\n hasBorder?: boolean,\r\n required?: boolean,\r\n value?:string,\r\n mode?:string\r\n resetForm?:any,\r\n Change?: (e) => void,\r\n setUnitDictionary?: (e) => void,\r\n returnObj?:any,\r\n disabledItems?:any\r\n}\r\n\r\nexport const UnitDictionary = ({ label=\"Unit\", returnObj,hasBorder,value,mode ,name,required , resetForm ,Change , disabledItems ,setUnitDictionary}: UnitDictionaryPropsType) => {\r\n\r\n return (\r\n <>\r\n {setUnitDictionary&&setUnitDictionary({Value :e.Name , Id : e.Id})}} value={value} returnObj={returnObj} Change={Change} resetForm={resetForm}/>\r\n \r\n )\r\n}","import { GroupingPriceFunction, trans } from \"utils/helpers\";\r\n\r\nexport function PriceDetails({ priceListDetail }) {\r\n\r\n \r\n return (\r\n
\r\n
\r\n
\r\n {trans(\"PriceByQuantity\")}\r\n
\r\n
\r\n
\r\n
\r\n {priceListDetail.map((item) => (\r\n
\r\n
\r\n {item.SalesUnitDiscount!=0&&\r\n \r\n {GroupingPriceFunction(item.SalesUnitPrice)}\r\n
\r\n\r\n }\r\n \r\n {item.SalesUnitDiscount?GroupingPriceFunction(\r\n item.SalesUnitPrice - item.SalesUnitDiscount):\r\n GroupingPriceFunction(\r\n item.SalesUnitPrice - item.SalesUnitDiscount)\r\n }\r\n
\r\n \r\n
\r\n \r\n \r\n {(item.SalesUnitMinOrderQty+\"\").slice(0,5)} الی{\" \"}\r\n {item.SalesUnitMaxOrderQty ? item.SalesUnitMaxOrderQty : \"نامحدود \"}\r\n {item?.SalesUnitId==item?.Unit1Id?item?.Unit1:item?.Unit2}\r\n \r\n
\r\n
\r\n \r\n ))}\r\n \r\n \r\n \r\n );\r\n}\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getSellableItemsTree = (id: any ,warehouseDetailId ,priceListId=null,isFiscal=true ,IsCustomer=false) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url:IsCustomer?ENDPOINTSINVENTORYANDSALES.Sales.CustomersStoreApi.CustomersStore.SellableItemsTree\r\n :ENDPOINTSINVENTORYANDSALES.Inventory.ItemPriceApis[isFiscal?'ItemsTree':'SellableItemsTree'],\r\n method: \"get\",\r\n params: {\r\n \r\n ParentId: null ,\r\n warehouseId: id==\"allWarehouses\"? null: id ,\r\n priceListId:priceListId,\r\n warehouseDetailId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\nexport const getSellableItemsList = (id: any ,warehouseDetailId ,priceListId=null ,pageNumber,pageSize,orderByString,searchString,filterString,isFiscal=true ,IsCustomer=false) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url:IsCustomer ?ENDPOINTSINVENTORYANDSALES.Sales.CustomersStoreApi.CustomersStore.SellableItemsList\r\n :ENDPOINTSINVENTORYANDSALES.Inventory.ItemPriceApis[isFiscal?'ItemsList':'SellableItemsList'],\r\n method: \"get\",\r\n params: {\r\n ParentId: null ,\r\n warehouseId: id? id : null,\r\n priceListId:priceListId,\r\n PageNumber:pageNumber,\r\n PageSize:pageSize,\r\n OrderByString:orderByString,\r\n SearchString:searchString,\r\n FilterString:filterString,\r\n warehouseDetailId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});","import { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { SwitchBtn } from \"components/SwitchBtn/SwitchBtn\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { getPageSize, trans } from \"utils/helpers\";\r\nimport { getSellableItemsList, getSellableItemsTree } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface Prop {\r\n itemCodeHandeler: (e, bool) => void;\r\n onHide: () => void;\r\n warehouseId?: any;\r\n searchString?: any;\r\n warehouseDetailId?: any;\r\n priceListId?: any;\r\n IsCustomer?: any;\r\n isFiscal?:any\r\n}\r\n\r\nexport const ItemsForSell = ({\r\n itemCodeHandeler,\r\n onHide,\r\n priceListId,\r\n IsCustomer=false,\r\n warehouseId,\r\n searchString,\r\n warehouseDetailId,\r\n isFiscal=true\r\n}: Prop) => {\r\n const [data, setData] = useState();\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [selectedObj, setSelectedObj] = useState();\r\n const [idCallback, setIdCallback] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [message, setMessage] = useState(\"NoDataForPreview\");\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pages, setPages] = useState(0);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [showMode, setShowMode] = useState(false);\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(searchString);\r\n\r\n const setselecetrow = (e) => {\r\n setSelectedObj(e);\r\n };\r\n const sendTreeCode = (e, obj = selectedObj) => {\r\n e?.preventDefault();\r\n e?.stopPropagation();\r\n if (obj) {\r\n itemCodeHandeler(obj, !showMode);\r\n } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\");\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning);\r\n\r\n }\r\n };\r\n\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n setSelectedObj(null);\r\n if (str === \"\") {\r\n setSearch(null);\r\n } else {\r\n setSearch(str);\r\n }\r\n };\r\n\r\n const handlechangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"ItemsForSell2\", e.currentTarget.value);\r\n getItemTreeForSellAsync(1);\r\n };\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) {\r\n } else setPageNum(+value);\r\n getItemTreeForSellAsync(+value);\r\n } else {\r\n }\r\n };\r\n const handleNextPage = () => {\r\n if (pageNum < pages) {\r\n setPageNum(pageNum + 1);\r\n getItemTreeForSellAsync(pageNum + 1);\r\n }\r\n };\r\n const handlePrevPage = () => {\r\n if (pageNum > 1) {\r\n setPageNum((pageNum) => {\r\n return +pageNum - 1;\r\n });\r\n getItemTreeForSellAsync(pageNum - 1);\r\n }\r\n };\r\n\r\n \r\n console.log(warehouseDetailId);\r\n \r\n async function getItemTreeForSellAsync(PageNum = pageNum) {\r\n setLoading(false);\r\n let pageSizeChangedByUser = getPageSize(\"ItemsForSell2\");\r\n setPageSize(pageSizeChangedByUser);\r\n try {\r\n if (showMode) {\r\n const respons = await getSellableItemsTree(\r\n warehouseId == \"allWarehouses\" ? null : warehouseId,\r\n warehouseDetailId,\r\n priceListId,\r\n isFiscal,\r\n IsCustomer\r\n );\r\n setData(respons.Data);\r\n } else {\r\n const respons = await getSellableItemsList(\r\n warehouseId == \"allWarehouses\" ? null : warehouseId,\r\n warehouseDetailId,\r\n priceListId,\r\n PageNum,\r\n pageSizeChangedByUser,\r\n orderBy.length == 0 ? null : orderBy.join(\",\"),\r\n search,\r\n filterlist,\r\n isFiscal,\r\n IsCustomer\r\n );\r\n setPages(\r\n respons.Data.TotalRecords > pageSizeChangedByUser\r\n ? Math.ceil(respons.Data.TotalRecords / pageSizeChangedByUser)\r\n : 1\r\n );\r\n setData(respons.Data);\r\n }\r\n } catch (err: any) {\r\n setMessage(err?.data?.Message);\r\n }\r\n setLoading(true);\r\n }\r\n\r\n useEffect(() => {\r\n setData(null);\r\n getItemTreeForSellAsync();\r\n }, [forceUpdate, showMode, search, filterlist, orderBy]);\r\n\r\n useEffect(() => {\r\n if (idCallback) {\r\n setIdCallback(null);\r\n }\r\n }, [idCallback]);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n {\r\n sendTreeCode(e);\r\n }}\r\n />\r\n {\r\n onHide();\r\n }}\r\n />\r\n
\r\n {loading ? (\r\n data ? (\r\n <>\r\n {!showMode ? (\r\n
\r\n {data?.Data ? (\r\n {\r\n sendTreeCode(null, e);\r\n }}\r\n selectedRowObjectCallback={setselecetrow}\r\n totalRecords={data.TotalRecords}\r\n pageNum={pageNum}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n handlefiltering={(str) => {\r\n setFilterlist(str);\r\n }}\r\n filterStr={filterlist}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handlechangePageSize}\r\n first={() => {\r\n getItemTreeForSellAsync(pages);\r\n setPageNum(pages);\r\n }}\r\n end={() => {\r\n getItemTreeForSellAsync(1);\r\n setPageNum(1);\r\n }}\r\n handleGoPage={handleGoPage}\r\n />\r\n ) : (\r\n <>\r\n )}\r\n
\r\n ) : (\r\n
\r\n {data && data?.length > 0 && (\r\n {\r\n sendTreeCode(null, e);\r\n }}\r\n getChildrenUrl={\r\n IsCustomer?ENDPOINTSINVENTORYANDSALES.Sales.CustomersStoreApi.CustomersStore.SellableItemsTree\r\n :ENDPOINTSINVENTORYANDSALES.Inventory.ItemPriceApis[isFiscal?'ItemsTree':'SellableItemsTree']\r\n \r\n }\r\n theadData={[\r\n \"Id\",\r\n \"ParentId\",\r\n \"Children\",\r\n \"Description\",\r\n \"Code\",\r\n ]}\r\n startIndex={2}\r\n defultparams={{\r\n warehouseId:warehouseId,\r\n priceListId,\r\n warehouseDetailId\r\n }}\r\n Titleparams={\"Description\"}\r\n Childrenparams={\"Children\"}\r\n defultShow={false}\r\n Data={data}\r\n parentName={\"ItemsForSell\"}\r\n />\r\n )}\r\n
\r\n )}\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import { useEffect, useState } from \"react\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { getWarehouseDictionaryWithAccessApi } from \"./api\";\r\n\r\n\r\ninterface DictionaryTypeSelectProps {\r\n value?: any;\r\n mode?: string;\r\n resetForm?: boolean;\r\n name: string;\r\n label: string;\r\n baseUrl?: string;\r\n required?: boolean;\r\n transe?:boolean;\r\n params?:any;\r\n recordedData?:any;\r\n Change?: (e) => void;\r\n onChange?: (e: any , obj?:any) => void,\r\n useTrans?:boolean;\r\n\r\n}\r\nexport const WarehouseDictionaryWithAccess = ({recordedData ,params ,label ,required=false ,baseUrl ,useTrans=false ,value ,name ,mode ,resetForm ,onChange ,Change }:DictionaryTypeSelectProps) => {\r\n const [WarehouseDictionary, setWarehouseDictionary] = useState();\r\n const [defaultval, setdefault] = useState(value);\r\n const [errcode, setErrcode] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n \r\n\r\n const getWarehouseDictionaryAsync = async ()=>{\r\n setLoading(false)\r\n try {\r\n const res = await getWarehouseDictionaryWithAccessApi()\r\n if(res?.Data){\r\n setWarehouseDictionary(res?.Data)\r\n if(!value)\r\n onChange && onChange(Object.keys(res?.Data)[0],{Id:Object.keys(res?.Data)[0] , Name:Object.values(res?.Data)[0]\t}) \r\n else\r\n onChange && onChange(value,{Id:value , Name:res?.Data[value]\t}) \r\n\r\n }\r\n\r\n } catch (error:any) {\r\n setErrcode(error.response?.status)\r\n setWarehouseDictionary(null)\r\n }\r\n setLoading(true)\r\n }\r\n\r\n const handleOnChange = (e) =>{\r\n onChange&&onChange(e.target.value ,{Id:e.target.value , Name:WarehouseDictionary[e.target.value]});\r\n Change && Change(true)\r\n\r\n if(e.target && e.target.value !=(value ? value : Object.keys(WarehouseDictionary)[0])){\r\n Change&&Change({[name] :e.target.value}) \r\n }else{\r\n Change&&Change({[name] :null}) }\r\n }\r\n \r\n\r\n useEffect(() => {\r\n getWarehouseDictionaryAsync()\r\n\r\n }, []);\r\n useEffect(() => {\r\n if(params){\r\n //getWarehouseDictionaryAsync()\r\n \r\n } \r\n }, [params]);\r\n\r\n useEffect(() => {\r\n setdefault(value)\r\n }, [resetForm]);\r\n \r\n\r\n return (\r\n <>\r\n {WarehouseDictionary && loading ?\r\n <>\r\n {handleOnChange(e)}}\r\n lable={label}\r\n selectType={'select'}\r\n options={Object.values(WarehouseDictionary).map((item:any)=>{return item.Description})}\r\n val={Object.keys(WarehouseDictionary) }\r\n name={name}\r\n value={value}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={required}\r\n useTrans={useTrans}\r\n recordedData={recordedData}\r\n /> \r\n
\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n\r\n );\r\n};","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { UnitDictionary } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { FloorWithRoundingPlace, RoundWithRoundingPlace, trans, uuidv4 } from \"utils/helpers\";\r\nimport { getPriceListDetail } from \"./api\";\r\n\r\nimport { PriceDetails } from \"../components/PriceDetails\";\r\nimport { SalesOrderDetailType } from \"./type\";\r\nimport { ItemsForSell } from \"../components/ItemsForSell/ItemsForSell\";\r\nimport { WarehouseDictionaryWithAccess } from \"../SalesInvoice/components/WarehouseDictionary/WarehouseDictionaryWithAccess\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface SalesOrderFormProps {\r\n onHide: () => void;\r\n SalesOrderDetailCallBack?: (e: any) => void;\r\n selectedObj?: any;\r\n mode: any;\r\n priceList?: any;\r\n lastWarehouse?: any;\r\n OrderConstraint?: any;\r\n setLastWarehouse: (e: any) => void;\r\n salesWarehouse: any;\r\n personId?: any;\r\n currency?: any;\r\n salesOrderId?: any;\r\n}\r\n\r\nexport const SalesOrderDetailForm = ({\r\n lastWarehouse = null,\r\n OrderConstraint,\r\n setLastWarehouse,\r\n priceList,\r\n selectedObj,\r\n mode,\r\n onHide,\r\n SalesOrderDetailCallBack,\r\n salesWarehouse,\r\n personId,\r\n currency,\r\n salesOrderId,\r\n}: SalesOrderFormProps) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [showTree, setShowTree] = useState();\r\n const [priceListDetail, setPriceListDetail] = useState([]);\r\n const [detailPriceData, setDetailPriceData] = useState({\r\n UnitPrice: 0,\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n TaxRate: 0,\r\n Qty: mode != \"create\" ? selectedObj?.Qty : null,\r\n });\r\n const [itemData, setItemData] = useState(null);\r\n const [dictionaryName, setDictionaryName] = useState({});\r\n const [save_Exit, setSave_Exit] = useState(false);\r\n const [showPriceListDetail, setShowPriceListDetail] = useState(false);\r\n const [warehouseData, setWarehouseData] = useState(lastWarehouse);\r\n const [itemSearch, setItemSearch] = useState(\"\");\r\n const formRef = useRef();\r\n\r\n const handleSalesOrderFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let data: SalesOrderDetailType = {\r\n Id: mode != \"create\" ? selectedObj?.Id : uuidv4(),\r\n WarehouseId: warehouseData.WarehouseId,\r\n WarehouseDetailId: warehouseData.WarehouseDetailId,\r\n Warehouse: warehouseData.WarehouseTitle,\r\n WarehouseDetail: warehouseData?.WarehouseDetail,\r\n SalesOrderId: salesOrderId,\r\n ItemId: itemData.ItemId,\r\n UnitId: event.target.UnitId.value == \"\" ? null : event.target.UnitId.value,\r\n SourceId: selectedObj?.SourceId,\r\n SourceData: selectedObj?.SourceData,\r\n Item: itemData.ItemDescription,\r\n ItemCode: itemData.Code,\r\n Qty: +event.target.Qty.value,\r\n UnitPrice: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : +event.target.UnitPrice.value.replaceAll(\",\", \"\"),\r\n Unit: dictionaryName.Unit ? dictionaryName.Unit : null,\r\n Price: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : +event.target.Price.value.replaceAll(\",\", \"\"), //تخفیف کم میشود\r\n Discount: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : +event.target.Discount.value.replaceAll(\",\", \"\"),\r\n SubTotalPrice: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : +event.target.SubTotalPrice.value.replaceAll(\",\", \"\"),\r\n Description: event.target.Description.value,\r\n // DescriptionEN: event.target.DescriptionEN.value,\r\n Tax:\r\n !OrderConstraint.IsFiscal || !OrderConstraint.HasTax\r\n ? 0\r\n : parseFloat(event.target.Tax.value.replace(/,/g, \"\"))\r\n ? parseFloat(event.target.Tax.value.replace(/,/g, \"\"))\r\n : 0,\r\n TaxRate:\r\n !OrderConstraint.IsFiscal || !OrderConstraint.HasTax\r\n ? 0\r\n : detailPriceData.TaxRate,\r\n DiscountPercent: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : +event.target.DiscountPercent.value.replaceAll(\",\", \"\"),\r\n ItemTechnicalCode: event.target.ItemTechnicalCode?.value,\r\n QtyRoundingPlace:priceListDetail[0]?.Qty1RoundingPlace??selectedObj?.Qty1RoundingPlace,\r\n };\r\n SalesOrderDetailCallBack?.(data) && resetFormIfNeeded();\r\n };\r\n\r\n const resetFormIfNeeded = () => {\r\n if (mode === \"create\") {\r\n setResetForm(true);\r\n setUserChanges({});\r\n setItemData(null);\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty1: 1,\r\n Qty2: 1,\r\n TaxRate: 0,\r\n });\r\n setPriceListDetail([]);\r\n }\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n if (save_Exit) {\r\n onHide();\r\n }\r\n };\r\n\r\n const itemCodeHandeler = (obj, bool) => {\r\n if (obj.IsLeaf || bool) {\r\n // setLoading(false)\r\n setItemData({...obj,ItemId:obj.Id});\r\n getPriceListDetailAsync(obj.Id);\r\n setShowTree(false);\r\n // setLoading(true)\r\n setShowPriceListDetail(true);\r\n } else {\r\n // Toast(trans(\"msg_itemleafisnotselected\"), \"error\");\r\n Toast(trans(\"msg_itemleafisnotselected\"), MessageType.error);\r\n\r\n }\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // onHide();\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n onHide();\r\n });\r\n } else {\r\n onHide();\r\n }\r\n }\r\n\r\n const getPriceListDetailAsync = async (Id = null, Code = null) => {\r\n // setLoading(false)\r\n try {\r\n const res = await getPriceListDetail(\r\n Id,\r\n priceList?.Id,\r\n Code,\r\n warehouseData.WarehouseId,\r\n personId,\r\n warehouseData.WarehouseDetailId\r\n );\r\n const newPriceListDetail=res.Data.map((item)=>{\r\n return {...item,\r\n SalesUnitMaxOrderQty:item.SalesUnitId === item.MainUnitId?item.Unit1MaxOrderQty:item.Unit2MaxOrderQty,\r\n SalesUnitMinOrderQty:item.SalesUnitId === item.MainUnitId?item.Unit1MinOrderQty:item.Unit2MinOrderQty,\r\n SalesUnitPrice:item.SalesUnitId === item.MainUnitId?item.Unit1Price:item.Unit2Price,\r\n SalesUnitId:item.SalesUnitId ,\r\n SalesUnitDiscount:item.SalesUnitId === item.MainUnitId?item.Unit1Discount:item.Unit2Discount,\r\n QtyRoundingPlace:item.SalesUnitId === item.MainUnitId?item.Qty1RoundingPlace:item.Qty2RoundingPlace,\r\n \r\n } \r\n })\r\n setPriceListDetail(newPriceListDetail);\r\n setItemData({\r\n ...itemData,\r\n ItemDescription: res.Data[0].ItemDescription,\r\n ItemId: res.Data[0].ItemId,\r\n Code: res.Data[0].ItemCode,\r\n });\r\n if (!OrderConstraint.IsFiscal)\r\n setDetailPriceData((pre) => {\r\n return { ...pre, UnitId: newPriceListDetail[0]?.SalesUnitId };\r\n });\r\n } catch {\r\n setItemSearch(Code);\r\n setShowTree(true);\r\n }\r\n };\r\n\r\n const changeQty = (newQty: any, PriceList = [], tax: any = null) => {\r\n \r\n let newDetailPriceData: any = null;\r\n if (\r\n priceList &&\r\n !priceList.IsManual &&\r\n !priceList.length &&\r\n !priceListDetail.length &&\r\n mode === \"edit\"\r\n ) {\r\n //این شرط برای اولین بار است که ادیت میزنیم و لیست قیمت نداریم پس باید لیست قیمت بگیریم و کلا از تابع بریم بیرون چون با ست شدن لیست قیمت دوباره وارد همین تابع میشیم\r\n setDetailPriceData({ ...detailPriceData, Qty:RoundWithRoundingPlace(newQty,selectedObj.QtyRoundingPlace) }); //برای وقتی که مود ادیت هست و برای بار اول به تعداد یکی اضافه میکنیم چون این تابع ریترن داره و مقدار با عدد جدید ست نمیشه اینجا ست میکنیم.\r\n getPriceListDetailAsync(detailPriceData.ItemId);\r\n return null; // to not go continue function beacuse this function set priceListDetail to causes to run useEffect and run changeQty\r\n }\r\n if(priceList?.HasDetailRange &&\r\n priceListDetail[priceListDetail.length - 1]\r\n ?.SalesUnitMaxOrderQty+1 === detailPriceData.Qty && priceListDetail[priceListDetail.length - 1]\r\n ?.SalesUnitMaxOrderQty!==null){\r\n // در لیست قیمت بازه ای اگر مود ادیت است و اولین بار هست که قراره به مقدار یکی اضافه بشه باید تشخیص بدهیم مقدار جدید از ماکسیمم لیست قیمت بیشتر نشود\r\n newQty=newQty-1\r\n }\r\n\r\n if (priceList && !priceList.IsManual && OrderConstraint.IsFiscal) {\r\n [...(priceList.length > 0 ? PriceList : priceListDetail)].map((e) => {\r\n if (\r\n (+e.SalesUnitMaxOrderQty >= newQty || e.MaxOrderQty == null) &&\r\n +e.SalesUnitMinOrderQty <= newQty\r\n ) {\r\n newDetailPriceData = e;\r\n }\r\n });\r\n } else {\r\n newDetailPriceData =\r\n (priceList && priceList.length) > 0 ? PriceList[0] : priceListDetail[0];\r\n newDetailPriceData = {\r\n ...detailPriceData,\r\n ...newDetailPriceData,\r\n SalesUnitPrice: detailPriceData.UnitPrice\r\n ? detailPriceData.UnitPrice\r\n : 0,\r\n DiscountPercent: detailPriceData?.DiscountPercent\r\n ? detailPriceData?.DiscountPercent\r\n : 0,\r\n };\r\n }\r\n\r\n const totalTaxRate = priceList?.IsManual\r\n ? detailPriceData.TaxRate\r\n : TaxHandler(priceListDetail?.[0]?.ItemTaxList);\r\n\r\n\r\n setDetailPriceData((pre) => {\r\n return {\r\n Price: RoundWithRoundingPlace(\r\n (+newQty *\r\n (+newDetailPriceData?.SalesUnitPrice *\r\n (100 - +newDetailPriceData?.DiscountPercent))) /\r\n 100,\r\n currency?.PriceRoundingPlace,\r\n \r\n ),\r\n Discount: RoundWithRoundingPlace(\r\n (+newQty *\r\n +newDetailPriceData?.SalesUnitPrice *\r\n newDetailPriceData?.DiscountPercent) /\r\n 100,\r\n currency?.PriceRoundingPlace,\r\n \r\n ),\r\n SubTotalPrice: +newQty * +newDetailPriceData?.SalesUnitPrice,\r\n Qty:\r\n ((+newDetailPriceData?.SalesUnitMaxOrderQty >= newQty ||newDetailPriceData?.SalesUnitMaxOrderQty==null) &&\r\n +newDetailPriceData?.SalesUnitMinOrderQty <= newQty) ||\r\n (priceList && priceList.IsManual)\r\n ?RoundWithRoundingPlace(newQty,priceListDetail[0]?.QtyRoundingPlace??selectedObj?.QtyRoundingPlace,) \r\n : RoundWithRoundingPlace(pre.Qty,priceListDetail[0]?.QtyRoundingPlace??selectedObj?.QtyRoundingPlace,) ,\r\n ItemTechnicalCode: newDetailPriceData?.ItemTechnicalCode,\r\n MaxOrderQty: newDetailPriceData?.SalesUnitMaxOrderQty,\r\n MinOrderQty: newDetailPriceData?.SalesUnitMinOrderQty,\r\n QtyMainUnit: newDetailPriceData?.QtyMainUnit,\r\n QtyStatisticalUnit: newDetailPriceData?.QtyStatisticalUnit,\r\n IsAbsoluteUnitConversionRatio:\r\n newDetailPriceData?.IsAbsoluteUnitConversionRatio,\r\n PriceListId: newDetailPriceData?.PriceListId,\r\n UnitDiscount: newDetailPriceData?.SalesUnitDiscount,\r\n UnitId:\r\n newDetailPriceData?.SalesUnitId ,\r\n UnitPrice: newDetailPriceData?.SalesUnitPrice,\r\n TaxRate: OrderConstraint.HasTax ? totalTaxRate : 0,\r\n DiscountPercent: +newDetailPriceData?.DiscountPercent.toString().slice(\r\n 0,\r\n 5\r\n ),\r\n };\r\n });\r\n };\r\n const TaxHandler = (list) => {\r\n // const res = await getTaxList(Id);\r\n let totalTaxRate = 0;\r\n if (!!list?.length) {\r\n list?.map((item) => {\r\n totalTaxRate += item.TaxRate;\r\n });\r\n return totalTaxRate;\r\n } else {\r\n return 0;\r\n }\r\n };\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n const initializeFormWithSelectedObject = () => {\r\n setItemData({\r\n ...selectedObj,\r\n Code: selectedObj.ItemCode,\r\n ItemDescription: selectedObj.Item,\r\n ItemId:selectedObj.ItemId\r\n });\r\n setDetailPriceData({\r\n ...selectedObj,\r\n TaxRate: OrderConstraint.HasTax ? selectedObj.TaxRate : 0,\r\n SalesUnitMaxOrderQty:null,\r\n SalesUnitMinOrderQty:1,\r\n MaxOrderQty:null,\r\n MinOrderQty:1,\r\n SalesUnitPrice:selectedObj.SalesUnitId === selectedObj.Unit1Id?selectedObj.Unit1Price:selectedObj.Unit2Price,\r\n SalesUnitId:selectedObj.SalesUnitId === selectedObj.Unit1Id?selectedObj.Unit1Id:selectedObj.Unit2Id,\r\n SalesUnitDiscount:selectedObj.Discount,\r\n \r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (selectedObj?.Id && mode !== \"create\") {\r\n initializeFormWithSelectedObject();\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (Object.values(userChanges).filter((item) => item != null).length > 0) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n } else {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (mode == \"edit\" && !!priceListDetail.length) {\r\n\r\n changeQty(\r\n selectedObj.ItemId == itemData.ItemId\r\n ? detailPriceData.Qty\r\n : priceListDetail[0]?.SalesUnitMinOrderQty?priceListDetail[0]?.SalesUnitMinOrderQty:1,\r\n priceListDetail\r\n );\r\n }\r\n if (mode == \"create\" && !!priceListDetail.length) {\r\n changeQty(\r\n priceListDetail[0]?.SalesUnitMinOrderQty\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty:\r\n 1,\r\n priceListDetail\r\n );\r\n }\r\n }, [priceListDetail]);\r\n\r\n return (\r\n
\r\n {showTree && (\r\n setShowTree(false)}\r\n show={showTree}\r\n >\r\n {\r\n setShowTree(false);\r\n }}\r\n itemCodeHandeler={itemCodeHandeler}\r\n isFiscal={OrderConstraint.IsFiscal}\r\n />\r\n \r\n )}\r\n\r\n
\r\n \r\n {loading ? (\r\n
\r\n
\r\n
\r\n
\r\n {(selectedObj?.WarehouseId || mode=='create') && {\r\n setWarehouseData({\r\n WarehouseId: e,\r\n WarehouseTitle: obj?.Name?.Description,\r\n WarehouseDetailsCount:\r\n obj?.Name?.WarehouseDetailsCount,\r\n });\r\n if (e !== selectedObj?.WarehouseId) {\r\n setUserChanges({});\r\n setItemData(null);\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty1: 1,\r\n Qty2: 1,\r\n TaxRate: 0,\r\n });\r\n setPriceListDetail([]);\r\n }\r\n }}\r\n mode={mode}\r\n required={true}\r\n />}\r\n
\r\n\r\n {(warehouseData?.WarehouseDetailsCount > 0 ||\r\n warehouseData?.WarehouseDetailId) && (\r\n
\r\n {\r\n setWarehouseData((prev) => {\r\n return {\r\n ...prev,\r\n WarehouseDetailId: e,\r\n WarehouseDetail: obj?.Name,\r\n };\r\n });\r\n }}\r\n baseUrl={INVENTORYANDSALES_URL}\r\n endPoint={\r\n ENDPOINTSINVENTORYANDSALES.Inventory\r\n .BaseInformationApi.WarehouseDetail.dictionary\r\n }\r\n value={\r\n mode != \"create\" ? selectedObj?.WarehouseDetailId : null\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n )}\r\n\r\n \r\n {\r\n if (e && e != itemData?.Code && !showTree) {\r\n getPriceListDetailAsync(null, e);\r\n }\r\n }}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n onChange={(e) => {\r\n if (e.target.value === null || e.target.value === \"\") {\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty: 1,\r\n });\r\n setItemData({});\r\n } else {\r\n if (\r\n e.target.value != itemData?.Code &&\r\n e.target.value.length > 2 &&\r\n isNaN(e.target.value)\r\n ) {\r\n setItemSearch(e.target.value);\r\n setShowTree(true);\r\n }\r\n }\r\n }}\r\n textboxName={\"itemCode\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"itemCode\"}\r\n mode={mode}\r\n value={itemData?.Code}\r\n defaultValue={itemData?.Code}\r\n />\r\n {mode != \"view\" && (\r\n
\r\n setShowTree(true)}\r\n type=\"button\"\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n onClick={(e) => setShowTree(true)}\r\n />\r\n
\r\n )}\r\n
\r\n\r\n {itemData && itemData?.ItemDescription && (\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n withChangeDir={true}\r\n textboxName=\"ItemDescription\"\r\n textboxType=\"text\"\r\n labelText=\"itemDescription\"\r\n value={itemData?.ItemDescription}\r\n defaultValue={itemData?.ItemDescription}\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n required={false}\r\n />\r\n
\r\n )}\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"ItemTechnicalCode\"\r\n textboxType=\"text\"\r\n labelText=\"TechnicalCode\"\r\n value={detailPriceData.ItemTechnicalCode + \"\"}\r\n defaultValue={\r\n detailPriceData?.ItemTechnicalCode\r\n ? detailPriceData.ItemTechnicalCode\r\n : null\r\n }\r\n resetForm={resetForm}\r\n mode=\"view\"\r\n required={false}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Qty\"\r\n textboxType=\"number\"\r\n labelText=\"Qty\"\r\n customClass={\"arrow-none\"}\r\n step={10 **(priceListDetail[0]?.QtyRoundingPlace??selectedObj?.QtyRoundingPlace)}\r\n value={\r\n detailPriceData?.Qty\r\n ? detailPriceData.Qty\r\n : !!priceListDetail.length &&\r\n priceListDetail[0]?.SalesUnitMinOrderQty\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty:\r\n 1 + \"\"\r\n }\r\n defaultValue={\r\n detailPriceData?.Qty\r\n ? detailPriceData.Qty\r\n : !!priceListDetail.length &&\r\n priceListDetail[0]?.SalesUnitMinOrderQty\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty:\r\n \r\n 1+'' + \"\"\r\n }\r\n usePrevDefaultValue={\r\n priceList?.HasDetailRange &&\r\n priceListDetail[priceListDetail.length - 1]\r\n ?.SalesUnitMaxOrderQty+1 === detailPriceData.Qty\r\n }\r\n min={\r\n priceListDetail.length > 0\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty\r\n :10** (priceListDetail[0]?.QtyRoundingPlace??selectedObj?.QtyRoundingPlace)\r\n\r\n :10** (priceListDetail[0]?.QtyRoundingPlace??selectedObj?.QtyRoundingPlace)\r\n\r\n }\r\n max={\r\n priceListDetail.length > 0\r\n ? priceListDetail[priceListDetail.length - 1]\r\n ?.SalesUnitMaxOrderQty\r\n : undefined\r\n }\r\n decimals={priceListDetail[0]?.Unit1RoundingPlace}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={true}\r\n onChange={(e) => {\r\n changeQty(+e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={detailPriceData.UnitId}\r\n label=\"Unit\"\r\n name=\"UnitId\"\r\n required={false}\r\n mode={\"view\"}\r\n resetForm={resetForm}\r\n setUnitDictionary={(e) => {\r\n setDictionaryName({ ...dictionaryName, Unit: e.Value });\r\n }}\r\n />\r\n
\r\n {OrderConstraint?.IsFiscal && (\r\n <>\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"UnitPrice\"\r\n textboxType=\"text\"\r\n labelText=\"UnitPrice\"\r\n value={\r\n detailPriceData?.UnitPrice\r\n ? detailPriceData.UnitPrice + \"\"\r\n : 0\r\n }\r\n decimals={currency?.PriceRoundingPlace}\r\n round={false}\r\n defaultValue={\r\n detailPriceData?.UnitPrice\r\n ? detailPriceData.UnitPrice + \"\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n mode={\r\n priceList?.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n onChange={(e) => {\r\n if (priceList?.IsManual) {\r\n setDetailPriceData((pre) => {\r\n return {\r\n ...pre,\r\n UnitPrice: +e.target.value.replaceAll(\r\n \",\",\r\n \"\"\r\n ),\r\n SubTotalPrice:\r\n +e.target.value.replaceAll(\",\", \"\") *\r\n pre.Qty,\r\n Price: RoundWithRoundingPlace(\r\n (+detailPriceData.Qty *\r\n (+e.target.value.replaceAll(\",\", \"\") *\r\n (100 -\r\n (detailPriceData.DiscountPercent\r\n ? +detailPriceData.DiscountPercent\r\n : 0)))) /\r\n 100,\r\n currency?.PriceRoundingPlace,\r\n \r\n ),\r\n };\r\n });\r\n } else {\r\n setDetailPriceData((pre) => {\r\n return {\r\n ...pre,\r\n UnitPrice: +e.target.value.replaceAll(\r\n \",\",\r\n \"\"\r\n ),\r\n SubTotalPrice:\r\n +e.target.value.replaceAll(\",\", \"\") *\r\n pre.Qty,\r\n };\r\n });\r\n }\r\n }}\r\n required={false}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"SubTotalPrice\"\r\n textboxType=\"text\"\r\n labelText=\"مبلغ\"\r\n value={\r\n detailPriceData?.SubTotalPrice\r\n ? detailPriceData.SubTotalPrice\r\n : 0\r\n }\r\n decimals={currency?.PriceRoundingPlace}\r\n round={false}\r\n defaultValue={\r\n detailPriceData?.SubTotalPrice\r\n ? detailPriceData.SubTotalPrice + \"\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n mode={\r\n priceList?.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n \r\n )}\r\n
\r\n {OrderConstraint?.IsFiscal && (\r\n <>\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"DiscountPercent\"\r\n textboxType=\"number\"\r\n customClass={'arrow-none'}\r\n useTrans={false}\r\n labelText={trans(\"DiscountPercent\")+'%'}\r\n value={detailPriceData?.DiscountPercent + \"\"}\r\n onChange={(e) =>\r\n setDetailPriceData((pre) => {\r\n return {\r\n ...pre,\r\n DiscountPercent: +e.target.value,\r\n Discount:\r\n (+e.target.value * pre.SubTotalPrice) / 100,\r\n Price:\r\n pre.SubTotalPrice -\r\n (+e.target.value * pre.SubTotalPrice) / 100,\r\n };\r\n })\r\n }\r\n usePrevDefaultValue={detailPriceData?.DiscountPercent==100}\r\n max={100}\r\n min={0}\r\n defaultValue={\r\n detailPriceData?.DiscountPercent\r\n ? detailPriceData.DiscountPercent + \"\"\r\n : detailPriceData?.DiscountPercent == 0\r\n ? \"0\"\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={\r\n priceList?.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n required={false}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Discount\"\r\n textboxType=\"text\"\r\n labelText=\"Discount\"\r\n value={RoundWithRoundingPlace(\r\n detailPriceData?.Discount,\r\n currency?.PriceRoundingPlace,\r\n \r\n )}\r\n defaultValue={\r\n detailPriceData?.Discount\r\n ? RoundWithRoundingPlace(\r\n detailPriceData?.Discount,\r\n currency?.PriceRoundingPlace,\r\n \r\n ) + \"\"\r\n : detailPriceData?.Discount == 0\r\n ? \"0\"\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n decimals={currency?.PriceRoundingPlace}\r\n round={false}\r\n onChange={(e) => {\r\n setDetailPriceData({\r\n ...detailPriceData,\r\n Price:\r\n detailPriceData.SubTotalPrice -\r\n +e.target.value.replaceAll(\",\", \"\"),\r\n UnitDiscount: +e.target.value.replaceAll(\",\", \"\"),\r\n DiscountPercent: +(\r\n (+e.target.value.replaceAll(\",\", \"\") /\r\n detailPriceData.SubTotalPrice) *\r\n 100\r\n )\r\n .toString()\r\n .slice(0, 5),\r\n });\r\n }}\r\n\r\n mode={\r\n priceList?.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Price\"\r\n textboxType=\"text\"\r\n labelText=\"totalprice\"\r\n value={\r\n detailPriceData.Price\r\n ? detailPriceData.Price + \"\"\r\n : 0\r\n }\r\n defaultValue={\r\n detailPriceData?.Price\r\n ? detailPriceData?.Price + \"\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n decimals={currency?.PriceRoundingPlace}\r\n round={false}\r\n mode={\r\n priceList?.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"TaxRate\"\r\n textboxType=\"number\"\r\n customClass={'arrow-none'}\r\n useTrans={false}\r\n labelText={trans('TaxRate')+'%'}\r\n defaultValue={\r\n OrderConstraint.HasTax && detailPriceData?.TaxRate?detailPriceData?.TaxRate\r\n + \"\"\r\n : \"0\"\r\n }\r\n value={\r\n OrderConstraint.HasTax && detailPriceData?.TaxRate?detailPriceData?.TaxRate\r\n + \"\"\r\n : \"0\"\r\n }\r\n mode={\r\n \"view\"\r\n }\r\n required={false}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Tax\"\r\n textboxType=\"text\"\r\n labelText=\"Tax\"\r\n decimals={currency?.PriceRoundingPlace}\r\n round={OrderConstraint.FloorTaxDuty}\r\n defaultValue={\r\n OrderConstraint.HasTax&&\r\n detailPriceData?.TaxRate\r\n ?OrderConstraint?.FloorTaxDuty?FloorWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,\r\n currency?.PriceRoundingPlace,\r\n \r\n ) + \"\": RoundWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,\r\n currency?.PriceRoundingPlace,\r\n \r\n ) + \"\"\r\n : \"0\"\r\n }\r\n value={\r\n OrderConstraint.HasTax && detailPriceData?.TaxRate\r\n ?OrderConstraint?.FloorTaxDuty?FloorWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,\r\n currency?.PriceRoundingPlace,\r\n \r\n ) + \"\": RoundWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,\r\n currency?.PriceRoundingPlace,\r\n \r\n ) + \"\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n mode={'view'\r\n }\r\n required={false}\r\n // onChange={(e) => {\r\n // if (priceList?.IsManual) {\r\n // setDetailPriceData({\r\n // ...detailPriceData,\r\n // TaxRate:\r\n // (+e.target.value.replaceAll(\",\", \"\") * 100) /\r\n // detailPriceData.Price,\r\n // });\r\n // }\r\n // }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"GrandTotalPrice\"\r\n textboxType=\"text\"\r\n labelText=\"payableamount\"\r\n value={\r\n detailPriceData?.TaxRate\r\n ? +detailPriceData.Price +\r\n (+detailPriceData?.TaxRate *\r\n +detailPriceData?.Price) /\r\n 100 +\r\n \"\"\r\n : detailPriceData?.Price\r\n ? detailPriceData?.Price + \"\"\r\n : \"0\"\r\n }\r\n defaultValue={\r\n detailPriceData?.TaxRate\r\n ? +detailPriceData.Price +\r\n (+detailPriceData?.TaxRate *\r\n +detailPriceData?.Price) /\r\n 100 +\r\n \"\"\r\n : detailPriceData?.Price\r\n ? detailPriceData?.Price + \"\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n decimals={currency?.PriceRoundingPlace}\r\n round={false}\r\n mode={\r\n priceList?.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n defaultValue={\r\n mode != \"create\" ? selectedObj?.Description : null\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={false}\r\n maxLength={150}\r\n letterCounter={true}\r\n />\r\n
\r\n\r\n <>\r\n {mode != \"view\" ? (\r\n
\r\n {mode === \"create\" && (\r\n
\r\n ) : (\r\n
\r\n {\r\n cancel();\r\n }}\r\n />\r\n
\r\n )}\r\n \r\n \r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n {!!priceListDetail.length &&\r\n priceList?.HasDetailRange &&\r\n (mode === \"create\" || (mode === \"edit\" && showPriceListDetail)) && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Address } from \"components/Address/Address\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Person } from \"components/Person/Person\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport {\r\n ContactType,\r\n CustomerDictionaryShowMethod,\r\n MessageType,\r\n} from \"types/enum\";\r\nimport { GUID_EMPTY, ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { convertAddress, GetReportWithJsonData, RoundOutputOperation, RoundWithRoundingPlace, trans } from \"utils/helpers\";\r\nimport { CustomerTabform } from \"../BaseDefinitionAndSetting/Customers/CustomerTabForm\";\r\nimport { CurrencyDictionary } from \"../PriceList/components/CurrencyDictionary/CurrencyDictionary\";\r\nimport { PriceListDictionary } from \"../PriceList/components/PriceListDictionary/PriceListDictionary\";\r\nimport { AddressBox } from \"../SalesInvoice/components/AddressBox/AddressBox\";\r\nimport { CustomerDictionary } from \"../SalesInvoice/components/CustomerDictionary/CustomerDictionary\";\r\nimport { CustomerPhoneDictionary } from \"../SalesInvoice/components/CustomerPhoneDictionary/CustomerPhoneDictionary\";\r\nimport { CustomerPhoneList } from \"../SalesInvoice/components/CustomerPhones/CustomerPhoneList\";\r\nimport {\r\n CalculateSalesOrder,\r\n getDataForPrint,\r\n getDefaultPersonContact,\r\n getOrderConstraint,\r\n getPersonCustomer,\r\n getSalesOrderById,\r\n getSalesOrderByReferenceId,\r\n postSalesOrder,\r\n putSalesOrder,\r\n putSalesOrderWorkFlow,\r\n} from \"./api\";\r\nimport { SalesOrderDetailForm } from \"./SalesOrderDetailForm\";\r\nimport { ButtonPrintIcon } from \"components/ButtonPrintIcon/ButtonPrintIcon\";\r\n\r\ninterface SalesOrderFormProps {\r\n onHide?: (usenavigate?) => void;\r\n buttonPrintObjCallBack?: (obj?) => void;\r\n relod: () => void;\r\n jobId?: any;\r\n processId?: any;\r\n referenceId?: any;\r\n mode: any;\r\n step?: any;\r\n SourceData?: any;\r\n sourceDataParam?: any;\r\n taskId?: any;\r\n Id?: any;\r\n rowObject?: any;\r\n handleShowReferenceStepper?: (referenceId: string) => void;\r\n}\r\n\r\nexport const SalesOrderForm = ({\r\n mode,\r\n buttonPrintObjCallBack,\r\n relod,\r\n onHide,\r\n rowObject,\r\n handleShowReferenceStepper,\r\n step,\r\n taskId,\r\n jobId,\r\n Id,\r\n sourceDataParam,\r\n SourceData,\r\n processId,\r\n referenceId,\r\n}: SalesOrderFormProps) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [haveSource, setHaveSource] = useState(\r\n SourceData ? SourceData : sourceDataParam\r\n );\r\n const [response, setResponse] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [noAccess, setNoAccess] = useState(false);\r\n const [customerInfo, setCustomerInfo] = useState(null);\r\n const [customer, setCustomer] = useState(null);\r\n const [salesOrderDate, setSalesOrderDate] = useState();\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [showForm, setShowForm] = useState(false);\r\n const [showAddressBox, setShowAddressBox] = useState<\r\n \"createMode\" | \"selectMode\" | null\r\n >(null);\r\n const orderRef1 = useRef(null);\r\n const [showCustomerPhoneForm, setShowCustomerPhoneForm] = useState(false);\r\n const [showCustomerform, setShowCustomerform] = useState(false);\r\n const [priceList, setPriceList] = useState(null);\r\n const [currency, setCurrency] = useState(null);\r\n const [salesOrderDetail, setSalesOrderDetail] = useState([]);\r\n const [dataGridLoading, setDataGridLoading] = useState(true);\r\n const [lastWarehouse, setLastWarehouse] = useState(null);\r\n const [OrderConstraint, setOrderConstraint] = useState({});\r\n const [totalRows, setTotalRows] = useState({\r\n ItemCount: 0,\r\n TotalTax: 0,\r\n TotalDiscount: 0,\r\n SubTotalPrice: 0,\r\n });\r\n const [payment, setPayment] = useState({ totalprice: 0, Prepayment: 0 });\r\n const [receive, setReceive] = useState({\r\n GrandTotalPrice: 0,\r\n Prepayment: 0,\r\n });\r\n const [todayDate, settodayDate] = useState(new Date().toISOString());\r\n const [person, setPerson] = useState(null);\r\n const [dataChange, setDataChange] = useState(false);\r\n const [salesOrderNo, setSalesOrderNo] = useState(false);\r\n const [showReferenceStepper, setShowReferenceStepper] =\r\n useState(false);\r\n const [dateLoading, setDateLoading] = useState(true); //for calc fun is runing\r\n\r\n const [detailMode, setDetailMode] = useState<\"create\" | \"edit\" | \"view\">(\r\n mode\r\n );\r\n const OrderRef = useRef(null);\r\n const [salesOrderStatusId, setSalesOrderStatusId] = useState();\r\n const [changeAddress, setChangeAddress] = useState();\r\n const [typePhoneContact, setTypePhonContact] = useState();\r\n const [SendSMS, setSendSMS] = useState(false);\r\n const [selectedPhoneDetail, setSelectedPhoneDetail] = useState({\r\n phone: \"\",\r\n mobile: \"\",\r\n });\r\n const [requiredFields, setRequiredFields] = useState();\r\n let IsFiscal = (mode == \"create\" ? ( OrderConstraint.IsFiscal) :response?.GrandTotalPrice )\r\n\r\n\r\n function setSalesOrderDetailHandler(data) {\r\n setDataGridLoading(false);\r\n setSalesOrderDetail(data);\r\n setDataGridLoading(true);\r\n }\r\n const handleSalesOrderDetailFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let SubTotalPrice: any = 0;\r\n let newsalesOrderDetail = JSON.parse(JSON.stringify(salesOrderDetail)).map(\r\n (e: any) => {\r\n SubTotalPrice = +e.TotalPrice + SubTotalPrice;\r\n delete e.Id;\r\n return e;\r\n }\r\n );\r\n let data: any = {\r\n RecipientPersonDescription: person?.Name\r\n ?? null,\r\n RecipientPersonId: person?.Id\r\n ?? null,\r\n CurrencyId: !OrderConstraint.IsFiscal ? undefined : currency?.Id,\r\n SalesOrderNo: event.target.salesOrderNo.value,\r\n SalesOrderDate: salesOrderDate,\r\n PriceListId: event.target.PriceList?.value,\r\n PaymentMethodId: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : event.target.PaymentMethodId?.value,\r\n CustomerId: customerInfo.Id,\r\n CustomerName: customer.Name,\r\n CustomerPhone: customer.SundryCustomer\r\n ? event.target?.CustomerPhone?.value\r\n : customer?.CustomerPhone?.Name.split(\":\")[1]\r\n ? customer?.CustomerPhone?.Name.split(\":\")[1]\r\n : customer?.CustomerPhone?.Name ?? null,\r\n CustomerMobilePhone: customer.SundryCustomer\r\n ? event.target?.CustomerMobilePhone?.value\r\n : customer?.CustomerMobilePhone?.Name.split(\":\")[1]\r\n ? customer?.CustomerMobilePhone?.Name.split(\":\")[1]\r\n : customer?.CustomerMobilePhone?.Name ?? null,\r\n CustomerAddress: event.target.Address?.value ?? null,\r\n CustomerEconNo: event.target.CustomerEconNo?.value,\r\n CustomerNationalCode: event.target.CustomerNationalCode?.value,\r\n DeliveryAddress: event.target.DeliveryAddress?.value,\r\n Description: event.target.Description?.value,\r\n IsCurrency: !OrderConstraint.IsFiscal ? undefined : !currency.IsDefault,\r\n CurrencyRate: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : currency.CurrencyRate,\r\n TotalDiscount: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : +totalRows?.TotalDiscount,\r\n TotalPrice: !OrderConstraint.IsFiscal ? undefined : +payment.totalprice,\r\n TotalTax:\r\n !OrderConstraint.IsFiscal || !OrderConstraint.HasTax\r\n ? 0\r\n : +totalRows?.TotalTax,\r\n GrandTotalPrice: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : +totalRows?.SubTotalPrice -\r\n +totalRows?.TotalDiscount +\r\n +totalRows?.TotalTax,\r\n Prepayment: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : +event.target.Prepayment?.value.replaceAll(\",\", \"\"),\r\n SubTotalPrice: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : +totalRows?.SubTotalPrice,\r\n SalesOrderDetailDTOList: newsalesOrderDetail,\r\n IsFiscal: OrderConstraint.IsFiscal,\r\n };\r\n\r\n try {\r\n if (mode == \"create\") {\r\n const res = await postSalesOrder(data, processId, SendSMS);\r\n if (showReferenceStepper) {\r\n handleShowReferenceStepper &&\r\n handleShowReferenceStepper(\r\n !(res.MessageType == MessageType.success) ? false : res.Data\r\n );\r\n } else {\r\n if (res.MessageType == MessageType.success) {\r\n setResetForm(true);\r\n onHide && onHide(true);\r\n relod();\r\n }\r\n }\r\n } else {\r\n if (jobId) {\r\n data = {\r\n ...data,\r\n Id: response.Id,\r\n SalesOrderStatusId: salesOrderStatusId,\r\n JobId: jobId,\r\n JobNo: response?.JobNo,\r\n };\r\n await putSalesOrderWorkFlow(data, referenceId);\r\n } else {\r\n data = {\r\n ...data,\r\n Id: response.Id,\r\n SalesOrderStatusId: salesOrderStatusId,\r\n };\r\n await putSalesOrder(data);\r\n }\r\n }\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n onHide && onHide();\r\n } catch (error: any) {\r\n if (error.response?.data?.MessageType == MessageType.confirm) {\r\n // Toast(error.response.data.Message, \"warning\", \"alert\", () => {\r\n // setResponse(error.response.data.Data);\r\n // setSalesOrderDetail(\r\n // error.response.data.Data?.SalesOrderDetailDTOList\r\n // );\r\n // let newItemCount = 0;\r\n // error.response.data.Data?.SalesOrderDetailDTOList.map((item) => {\r\n // newItemCount += item.Qty;\r\n // });\r\n // setTotalRows({\r\n // ItemCount: newItemCount,\r\n // TotalTax: OrderConstraint.HasTax\r\n // ? error.response.data.Data?.TotalTax\r\n // : 0,\r\n // TotalDiscount: error.response.data.Data?.TotalDiscount,\r\n // SubTotalPrice: error.response.data.Data?.SubTotalPrice,\r\n // });\r\n // setPayment({\r\n // totalprice: error.response.data.Data?.totalprice,\r\n // Prepayment: error.response.data.Data?.Prepayment,\r\n // });\r\n // setReceive({\r\n // GrandTotalPrice: error.response.data.Data?.GrandTotalPrice,\r\n // Prepayment: error.response.data.Data?.Prepayment,\r\n // });\r\n // });\r\n Toast(error.response.data.Message, MessageType.confirm, () => {\r\n setResponse(error.response.data.Data);\r\n setSalesOrderDetail(\r\n error.response.data.Data?.SalesOrderDetailDTOList\r\n );\r\n let newItemCount = 0;\r\n error.response.data.Data?.SalesOrderDetailDTOList.map((item) => {\r\n newItemCount += item.Qty;\r\n });\r\n setTotalRows({\r\n ItemCount: newItemCount,\r\n TotalTax: OrderConstraint.HasTax\r\n ? error.response.data.Data?.TotalTax\r\n : 0,\r\n TotalDiscount: error.response.data.Data?.TotalDiscount,\r\n SubTotalPrice: error.response.data.Data?.SubTotalPrice,\r\n });\r\n setPayment({\r\n totalprice: error.response.data.Data?.totalprice,\r\n Prepayment: error.response.data.Data?.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: error.response.data.Data?.GrandTotalPrice,\r\n Prepayment: error.response.data.Data?.Prepayment,\r\n });\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getDataForPrintAsync =async (id) => {\r\n if(response?.Id){\r\n if(id.includes(\"Design\")){\r\n const res = await getDataForPrint(response?.Id)\r\n GetReportWithJsonData( id.replace(\"Design\" , \"\"), res.Data ,2)\r\n }else if(id.includes(\"Default\")){\r\n const res = await getDataForPrint(response?.Id)\r\n GetReportWithJsonData( id.replace(\"Default\" , \"\"), res.Data ,2)\r\n }else{\r\n const res = await getDataForPrint(response?.Id)\r\n/* const dataStr = JSON.stringify(res.Data);\r\n const blob = new Blob([dataStr], { type: 'application/json' });\r\n const url = URL.createObjectURL(blob); */\r\n GetReportWithJsonData( id, res.Data ,1 )\r\n }\r\n }\r\n try {\r\n } catch (error) {\r\n \r\n }\r\n};\r\n const sendDataForCalcAsync = async (newPriceList) => {\r\n setDateLoading(false);\r\n let SubTotalPrice: any = 0;\r\n let newsalesOrderDetail = JSON.parse(JSON.stringify(salesOrderDetail)).map(\r\n (e: any) => {\r\n SubTotalPrice = +e.TotalPrice + SubTotalPrice;\r\n\r\n return e;\r\n }\r\n );\r\n\r\n let data = {\r\n RecipientPersonDescription: \r\n person?.Name\r\n ?? null,\r\n RecipientPersonId: person?.Id\r\n ?? null,\r\n CurrencyId: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : newPriceList?.CurrencyId,\r\n SalesOrderNo: OrderRef.current.salesOrderNo.value,\r\n SalesOrderDate: salesOrderDate,\r\n PriceListId: newPriceList\r\n ? newPriceList.Id\r\n : OrderRef.current?.PriceList?.value,\r\n PaymentMethodId: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : OrderRef.current.PaymentMethodId?.value,\r\n CustomerId: customerInfo?.Id,\r\n CustomerName: customer?.Name,\r\n CustomerPhone: customer?.CustomerPhone?.Name.split(\":\")[1]\r\n ? customer?.CustomerPhone?.Name.split(\":\")[1]\r\n : customer?.CustomerPhone?.Name ?? null,\r\n CustomerMobilePhone: customer?.CustomerMobilePhone?.Name.split(\":\")[1]\r\n ? customer?.CustomerMobilePhone?.Name.split(\":\")[1]\r\n : customer?.CustomerMobilePhone?.Name ?? null,\r\n CustomerAddress: OrderRef.current.Address?.value ?? null,\r\n CustomerEconNo: OrderRef.current.CustomerEconNo?.value,\r\n CustomerNationalCode: OrderRef.current.CustomerNationalCode?.value,\r\n DeliveryAddress: OrderRef.current.DeliveryAddress?.value,\r\n Description: OrderRef.current.Description?.value,\r\n IsCurrency: !OrderConstraint.IsFiscal ? undefined : !currency.IsDefault,\r\n CurrencyRate: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : currency.CurrencyRate,\r\n TotalDiscount: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : +totalRows.TotalDiscount,\r\n TotalPrice: !OrderConstraint.IsFiscal ? undefined : +payment.totalprice,\r\n TotalTax:\r\n !OrderConstraint.IsFiscal || !OrderConstraint.HasTax\r\n ? 0\r\n : +totalRows.TotalTax,\r\n GrandTotalPrice: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : +totalRows?.SubTotalPrice -\r\n +totalRows?.TotalDiscount +\r\n +totalRows?.TotalTax,\r\n Prepayment: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : +OrderRef.current.Prepayment?.value.replaceAll(\",\", \"\"),\r\n SubTotalPrice: !OrderConstraint.IsFiscal\r\n ? undefined\r\n : +totalRows?.SubTotalPrice,\r\n SalesOrderDetailDTOList: newsalesOrderDetail,\r\n IsFiscal: OrderConstraint.IsFiscal,\r\n Id: response?.Id,\r\n SalesOrderStatusId: salesOrderStatusId,\r\n JobId: jobId,\r\n JobNo: response?.JobNo,\r\n };\r\n try {\r\n if (mode !== \"view\" && newPriceList.Id != priceList.Id) {\r\n const res = await CalculateSalesOrder(data);\r\n setSalesOrderNo(res.Data?.SalesOrderNo);\r\n setResponse(res.Data);\r\n setSalesOrderDetail(res.Data?.SalesOrderDetailDTOList);\r\n let newItemCount = 0;\r\n res.Data?.SalesOrderDetailDTOList.map((item) => {\r\n newItemCount += item.Qty;\r\n });\r\n setTotalRows({\r\n ItemCount: newItemCount,\r\n TotalTax: OrderConstraint.HasTax ? res.Data?.TotalTax : 0,\r\n TotalDiscount: res.Data?.TotalDiscount,\r\n SubTotalPrice: res.Data?.SubTotalPrice,\r\n });\r\n setPayment({\r\n totalprice: res.Data?.totalprice,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: res.Data?.GrandTotalPrice,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n }\r\n setPriceList(newPriceList);\r\n } catch (error) {\r\n setPriceList(priceList);\r\n }\r\n setDateLoading(true);\r\n };\r\n\r\n async function getDefaultPersonContactAsync(personId) {\r\n try {\r\n const res2 = await getPersonCustomer(personId);\r\n setCustomer((pre) => {\r\n return {\r\n ...pre,\r\n Id: res2.Data.Customer.Id,\r\n Name: res2.Data.Customer.CustomerPersonDescription,\r\n SundryCustomer:\r\n res2.Data.Customer.Id == OrderConstraint?.SundryCustomerId,\r\n };\r\n });\r\n if (res2.Data.Customer.Id == OrderConstraint?.SundryCustomerId) {\r\n setCustomerInfo({ ...res2?.Data?.Customer });\r\n } else {\r\n if (mode != \"view\") {\r\n const res = await getDefaultPersonContact(\r\n res2?.Data?.Customer?.CustomerPersonId\r\n );\r\n if (res?.MessageType == MessageType.error && res2?.Data == null) {\r\n } else setCustomerInfo({ ...res.Data, ...res2?.Data?.Customer });\r\n } else setCustomerInfo({ ...res2?.Data?.Customer });\r\n }\r\n } catch (error) {}\r\n }\r\n\r\n async function getOrderConstraintAsync(withLoading = false) {\r\n if (withLoading) setLoading(false);\r\n try {\r\n const res = await getOrderConstraint();\r\n setSalesOrderNo(res.Data.DocNo);\r\n setOrderConstraint(res.Data);\r\n setRequiredFields(JSON.parse(res.Data.RequiredFields));\r\n if (withLoading) setLoading(true);\r\n return res.Data;\r\n } catch (error) {}\r\n if (withLoading) setLoading(true);\r\n }\r\n\r\n async function getOrderAsync() {\r\n setLoading(false);\r\n\r\n try {\r\n let constraint ={} as any\r\n if(mode!='view') {constraint= await getOrderConstraintAsync()}\r\n let res: any;\r\n if (referenceId) {\r\n res = await getSalesOrderByReferenceId(referenceId);\r\n // res = await getSalesOrderById(rowObject ? rowObject.Id : jobId);\r\n } else {\r\n res = await getSalesOrderById(rowObject ? rowObject.Id : jobId);\r\n }\r\n setSalesOrderNo(res.Data.SalesOrderNo);\r\n if (mode=='view') setOrderConstraint({IsFiscal:res.Data.IsFiscal,})\r\n setResponse(res.Data);\r\n if(res.Data.Id && res.Data.Id!=GUID_EMPTY){\r\n if(orderRef1.current!=null){\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack({\r\n Id: res.Data.Id ,\r\n reportDomain:\"OfficeAutomation\",\r\n objectTag:\"SalesOrderForm\",\r\n apiFunction:getDataForPrint\r\n })}\r\n }else{\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack(null) \r\n }\r\n let count = 0;\r\n res.Data.SalesOrderDetailDTOList.map((item) => {\r\n count += +item.Qty;\r\n });\r\n setSalesOrderDetail(res.Data.SalesOrderDetailDTOList);\r\n setTotalRows({\r\n ItemCount: count,\r\n TotalTax:mode=='view' || constraint.HasTax ? res.Data.TotalTax : 0,\r\n TotalDiscount: res.Data.TotalDiscount,\r\n SubTotalPrice: res.Data.SubTotalPrice,\r\n });\r\n setPayment({\r\n totalprice: res.Data.totalprice,\r\n Prepayment: res.Data.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: res.Data.GrandTotalPrice,\r\n Prepayment: res.Data.Prepayment,\r\n });\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n\r\n const handlesetOrderDetail = (newObj) => {\r\n if (OrderConstraint.AllowDuplicateItems || detailMode == \"edit\") {\r\n setTotalRows({\r\n ItemCount:\r\n detailMode == \"create\"\r\n ? RoundOutputOperation(totalRows.ItemCount + +newObj.Qty)\r\n : RoundOutputOperation(totalRows.ItemCount + (+newObj.Qty - +selectedObj.Qty)),\r\n TotalTax:OrderConstraint.HasTax?\r\n detailMode == \"create\"\r\n ? totalRows.TotalTax + +newObj.Tax\r\n : totalRows.TotalTax + (+newObj.Tax - +selectedObj.Tax):0,\r\n TotalDiscount:\r\n detailMode == \"create\"\r\n ? totalRows.TotalDiscount + +newObj.Discount\r\n : totalRows.TotalDiscount +\r\n (+newObj.Discount - +selectedObj.Discount),\r\n SubTotalPrice:\r\n detailMode == \"create\"\r\n ? totalRows.SubTotalPrice + +newObj.SubTotalPrice\r\n : totalRows.SubTotalPrice +\r\n (+newObj.SubTotalPrice - +selectedObj.SubTotalPrice),\r\n });\r\n if (detailMode == \"create\") {\r\n setSalesOrderDetailHandler([...salesOrderDetail, newObj]);\r\n } else {\r\n let newItemes = salesOrderDetail.map((item: any) => {\r\n if (item.Id == newObj.Id) {\r\n return newObj;\r\n } else return item;\r\n });\r\n setSalesOrderDetailHandler(newItemes);\r\n }\r\n // Toast(\"msg_saveddatasuccessfully\", \"success\");\r\n Toast(\"msg_saveddatasuccessfully\", MessageType.success);\r\n\r\n setDataChange(true);\r\n return true;\r\n } else {\r\n let Dupli = salesOrderDetail.find((e: any) => e.ItemId == newObj.ItemId);\r\n if (!Dupli || salesOrderDetail.length == 0) {\r\n setTotalRows({\r\n ItemCount:\r\n detailMode == \"create\"\r\n ? RoundOutputOperation(totalRows.ItemCount + +newObj.Qty)\r\n : RoundOutputOperation(totalRows.ItemCount + (+newObj.Qty - +selectedObj.Qty)),\r\n TotalTax:\r\n OrderConstraint.HasTax?\r\n detailMode == \"create\"\r\n ? totalRows.TotalTax + +newObj.Tax\r\n : totalRows.TotalTax + (+newObj.Tax - +selectedObj.Tax):0,\r\n TotalDiscount:\r\n detailMode == \"create\"\r\n ? totalRows.TotalDiscount + +newObj.Discount\r\n : totalRows.TotalDiscount +\r\n (+newObj.Discount - +selectedObj.Discount),\r\n SubTotalPrice:\r\n detailMode == \"create\"\r\n ? totalRows.SubTotalPrice + +newObj.SubTotalPrice\r\n : totalRows.SubTotalPrice +\r\n (+newObj.SubTotalPrice - +selectedObj.SubTotalPrice),\r\n });\r\n if (detailMode == \"create\") {\r\n setSalesOrderDetailHandler([...salesOrderDetail, newObj]);\r\n } else {\r\n let newItemes = salesOrderDetail.map((item: any) => {\r\n if (item.Id == newObj.Id) {\r\n return newObj;\r\n } else return item;\r\n });\r\n setSalesOrderDetailHandler(newItemes);\r\n }\r\n // Toast(\"msg_saveddatasuccessfully\", \"success\");\r\n Toast(\"msg_saveddatasuccessfully\", MessageType.success);\r\n\r\n setDataChange(true);\r\n return true;\r\n } else {\r\n // Toast(\"msg_duplicateitems\", \"error\");\r\n Toast(\"msg_duplicateitems\", MessageType.error);\r\n\r\n return false;\r\n }\r\n }\r\n };\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // onHide && onHide();\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n onHide && onHide();\r\n });\r\n } else {\r\n onHide && onHide();\r\n }\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n\r\n const handleDeleteRow = async (id: string = selectedObj.Id) => {\r\n let newPriceListDetail: any = [...salesOrderDetail];\r\n let obj = newPriceListDetail.filter((e) => e.Id == id)[0];\r\n\r\n setTotalRows({\r\n ItemCount: RoundOutputOperation(totalRows.ItemCount - +obj.Qty),\r\n TotalTax: OrderConstraint.HasTax?totalRows.TotalTax - +obj.Tax:0 ,\r\n TotalDiscount: totalRows.TotalDiscount - +obj.Discount,\r\n SubTotalPrice: totalRows.SubTotalPrice - +obj.SubTotalPrice,\r\n });\r\n setSalesOrderDetailHandler(newPriceListDetail.filter((e) => e.Id != id));\r\n };\r\n\r\n const handleOpenDetailForm = () => {\r\n if (priceList || !IsFiscal) {\r\n if (customerInfo?.CustomerPersonId || customer?.SundryCustomer) {\r\n setDetailMode(\"create\");\r\n setShowForm(true);\r\n } else {\r\n // Toast(\"msg_customernotselected\", \"error\");\r\n Toast(\"msg_customernotselected\", MessageType.error);\r\n\r\n }\r\n } else {\r\n Toast(\"msg_choosepricelist\",MessageType.error);\r\n // Toast(\"msg_choosepricelist\", \"error\");\r\n }\r\n };\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (Object.values(userChanges).filter((item) => item != null).length > 0) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n } else {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (mode != \"create\") {\r\n getOrderAsync();\r\n } else {\r\n getOrderConstraintAsync(true);\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n useEffect(() => {\r\n setPayment({\r\n ...payment,\r\n totalprice: +totalRows.SubTotalPrice - +totalRows.TotalDiscount,\r\n });\r\n }, [totalRows]);\r\n\r\n useEffect(() => {\r\n setReceive({\r\n ...receive,\r\n GrandTotalPrice: +payment.totalprice + +totalRows.TotalTax,\r\n });\r\n }, [payment]);\r\n\r\n const kydown = (event) => {\r\n if (event.key == \"Insert\") {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n handleOpenDetailForm();\r\n }\r\n };\r\n useEffect(() => {\r\n document.addEventListener(\"keydown\", kydown, true);\r\n return () => {\r\n document.removeEventListener(\"keydown\", kydown, true);\r\n };\r\n }, [customer, OrderConstraint, priceList]);\r\n\r\n return (\r\n
\r\n {showForm ? (\r\n {\r\n setShowForm(false);\r\n }}\r\n show={showForm}\r\n title={\"SalesOrderDetailForm\"}\r\n >\r\n {\r\n setShowForm(false);\r\n }}\r\n priceList={IsFiscal ? priceList : null}\r\n OrderConstraint={OrderConstraint}\r\n selectedObj={selectedObj}\r\n SalesOrderDetailCallBack={(e) => handlesetOrderDetail(e)}\r\n personId={customerInfo?.CustomerPersonId}\r\n currency={currency}\r\n salesOrderId={response?.Id}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {showCustomerPhoneForm ? (\r\n {\r\n setShowCustomerPhoneForm(false);\r\n }}\r\n show={showCustomerPhoneForm}\r\n title={\"CustomerPhoneForm\"}\r\n >\r\n {\r\n setShowCustomerPhoneForm(false);\r\n }}\r\n handlePhone={(e) => {\r\n typePhoneContact == ContactType.Phone\r\n ? setSelectedPhoneDetail({ ...selectedPhoneDetail, phone: e })\r\n : setSelectedPhoneDetail({ ...selectedPhoneDetail, mobile: e });\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {showAddressBox ? (\r\n {\r\n setShowAddressBox(null);\r\n }}\r\n mode={mode}\r\n show={showAddressBox && true}\r\n title={\"Address\"}\r\n >\r\n {\r\n setShowAddressBox(null);\r\n }}\r\n status={showAddressBox}\r\n AddressHandeler={(e) => {\r\n setChangeAddress(JSON.stringify(e).toLowerCase());\r\n setCustomerInfo({\r\n ...customerInfo,\r\n Address: JSON.stringify(e).toLowerCase(),\r\n });\r\n setShowAddressBox(null);\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {showCustomerform ? (\r\n {\r\n setShowCustomerform(false);\r\n }}\r\n show={showCustomerform}\r\n title={\"Customer\"}\r\n >\r\n {\r\n setResponse({ ...response, CustomerId: e });\r\n }}\r\n selectedObj={customer}\r\n mode={mode}\r\n onHide={() => {\r\n setShowCustomerform(false);\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {loading ? (\r\n
\r\n
\r\n
\r\n {mode != \"view\" && \r\n
\r\n \r\n {handleShowReferenceStepper &&\r\n (step == 1 || mode == \"create\") && (\r\n setShowReferenceStepper(true)}\r\n />\r\n )}\r\n {!jobId && (\r\n {\r\n cancel();\r\n }}\r\n />\r\n )}\r\n
\r\n }\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {/* {(response?.Id!==GUID_EMPTY && response?.Id) && \r\n {getDataForPrintAsync(e)}} />\r\n \r\n } */}\r\n
\r\n
\r\n {\r\n setSalesOrderNo(e.target.value);\r\n }}\r\n mode={mode}\r\n />\r\n
\r\n {dateLoading && (\r\n
\r\n {\r\n setSalesOrderDate(isoTime);\r\n }}\r\n required={true}\r\n val={\r\n response\r\n ? response.SalesOrderDate\r\n : OrderConstraint.IsNewDocCurrentDate\r\n ? todayDate\r\n : null\r\n }\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n setNoAccess(true)}\r\n name=\"CustomerName\"\r\n label=\"CustomerName\"\r\n resetForm={resetForm}\r\n value={response?.CustomerId}\r\n ShowMethod={OrderConstraint?.ChangeDocCustomer}\r\n CustomerName={response?.CustomerName}\r\n mode={\r\n OrderConstraint?.CustomerDictionaryShowMethod ==\r\n CustomerDictionaryShowMethod.OnlyCustomer && haveSource\r\n ? \"view\"\r\n : mode\r\n }\r\n returnObj={true}\r\n required={true}\r\n onChange={(e) => {\r\n if (e.Id) {\r\n setCustomer((prev) => {\r\n return { ...e, ...prev };\r\n });\r\n getDefaultPersonContactAsync(e.Id);\r\n } else {\r\n setCustomerInfo(null);\r\n setCustomer(null);\r\n }\r\n }}\r\n />\r\n {mode == \"create\" && !noAccess && (\r\n \r\n {\r\n e.preventDefault();\r\n setShowCustomerform(true);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
\r\n )}\r\n
\r\n {IsFiscal && (\r\n <>\r\n
\r\n {\r\n !!salesOrderDetail.length &&\r\n e.Id != GUID_EMPTY &&\r\n response?.PriceListId != e.Id\r\n ? sendDataForCalcAsync(e)\r\n : setPriceList(e);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setCurrency(e);\r\n }}\r\n resetForm={resetForm}\r\n value={\r\n priceList?.CurrencyId\r\n ? priceList.CurrencyId\r\n : response?.CurrencyId\r\n }\r\n mode={priceList?.CurrencyId ? \"view\" : mode}\r\n required={true}\r\n />\r\n
\r\n \r\n )}\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerEconNo\"\r\n labelText=\"CustomerEconNo\"\r\n defaultValue={\r\n response?.CustomerEconNo\r\n ? response.CustomerEconNo\r\n : customerInfo?.EconNo\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n\r\n {/* {mode=='create' &&
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={SendSMS}\r\n defaultValue={SendSMS}\r\n readOnly={mode==='view'}\r\n checked={SendSMS}\r\n onchange={setSendSMS}\r\n labelText={\"NotifyBySMS\"}\r\n inputName={\"NotifyBySMS\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
} */}\r\n\r\n {!customer?.SundryCustomer ? (\r\n
\r\n
\r\n {\r\n setCustomer((prev) => {\r\n return { ...prev, CustomerPhone: e };\r\n });\r\n }}\r\n />\r\n
\r\n\r\n {mode != \"view\" && (\r\n \r\n {\r\n e.preventDefault();\r\n setShowCustomerPhoneForm(true);\r\n setTypePhonContact(ContactType.Phone);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
\r\n )}\r\n
\r\n ) : (\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerPhone\"\r\n labelText=\"CustomerPhone\"\r\n defaultValue={\r\n response?.CustomerPhone ? response?.CustomerPhone : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields?.CustomerPhone}\r\n />\r\n
\r\n )}\r\n\r\n {!customer?.SundryCustomer ? (\r\n
\r\n
\r\n {\r\n setCustomer((prev) => {\r\n return { ...prev, CustomerMobilePhone: e };\r\n });\r\n }}\r\n Change={() => {}}\r\n />\r\n
\r\n {mode != \"view\" && (\r\n \r\n {\r\n e.preventDefault();\r\n setShowCustomerPhoneForm(true);\r\n setTypePhonContact(ContactType.Mobile);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
\r\n )}\r\n
\r\n ) : (\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerMobilePhone\"\r\n labelText=\"CustomerMobilePhone\"\r\n defaultValue={\r\n response?.CustomerMobilePhone\r\n ? response?.CustomerMobilePhone\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields?.CustomerMobilePhone}\r\n />\r\n
\r\n )}\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"CustomerNationalCode\"\r\n textboxType=\"nationalCode\"\r\n labelText=\"CustomerNationalCode\"\r\n defaultValue={\r\n response?.CustomerNationalCode\r\n ? response.CustomerNationalCode\r\n : customerInfo?.NationalId?.trim()\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields?.CustomerNationalCode}\r\n />\r\n
\r\n\r\n \r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={\r\n response?.RecipientPersonId\r\n ? response.RecipientPersonId\r\n : customerInfo?.RecipientPersonId\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n WithSearch={false}\r\n setPerson={setPerson}\r\n returnObj={true}\r\n name={\"RecipientPersonDescription\"}\r\n label=\"RecipientPerson\"\r\n required={requiredFields?.RecipientPersonId}\r\n valueString={response?.RecipientPersonDescription}\r\n />\r\n
\r\n \r\n {mode == \"edit\" && (\r\n
\r\n {\r\n setSalesOrderStatusId(e.salesOrderStatus);\r\n }}\r\n onChange={(id, obj) => {\r\n setSalesOrderStatusId(obj.Id);\r\n }}\r\n required={true}\r\n mode={\"edit\"}\r\n baseUrl={INVENTORYANDSALES_URL}\r\n endPoint={\r\n ENDPOINTSINVENTORYANDSALES.Sales\r\n .BaseDefinitionAndSetting.SalesOrderStatus.dictionary\r\n }\r\n label=\"salesOrderStatus\"\r\n name=\"salesOrderStatus\"\r\n value={response?.SalesOrderStatusId}\r\n />\r\n
\r\n )}\r\n {!customer?.SundryCustomer ? (\r\n
\r\n
\r\n {\r\n setShowAddressBox(\"selectMode\");\r\n return false;\r\n }}\r\n withMap={false}\r\n hideDetail={true}\r\n personContact={\r\n changeAddress\r\n ? convertAddress(changeAddress)\r\n : response?.CustomerAddress\r\n ? response?.CustomerAddress\r\n : convertAddress(customerInfo?.Address)\r\n }\r\n mode={\"view\"}\r\n required={requiredFields?.CustomerAddress}\r\n />\r\n
\r\n\r\n {mode != \"view\" && (\r\n <>\r\n \r\n {\r\n e.preventDefault();\r\n setShowAddressBox(\"createMode\");\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
\r\n {mode !== \"view\" && (\r\n \r\n {\r\n e.preventDefault();\r\n setShowAddressBox(\"selectMode\");\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n \r\n )}\r\n \r\n )}\r\n \r\n ) : (\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Address\"\r\n textboxType=\"text\"\r\n labelText=\"Address\"\r\n defaultValue={\r\n response?.CustomerAddress\r\n ? response.CustomerAddress\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields?.CustomerAddress}\r\n />\r\n
\r\n )}\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"DeliveryAddress\"\r\n textboxType=\"text\"\r\n labelText=\"DeliveryAddress\"\r\n defaultValue={\r\n response?.DeliveryAddress ? response.DeliveryAddress : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields?.DeliveryAddress}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Description\"\r\n textboxType=\"textarea\"\r\n labelText=\"Description\"\r\n minHeight={1}\r\n defaultValue={response?.Description}\r\n resetForm={resetForm}\r\n mode={mode}\r\n maxLength={900}\r\n letterCounter={true}\r\n required={requiredFields?.Description}\r\n />\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {mode != \"view\" && (\r\n \r\n <>\r\n \r\n {trans(\"add\")}\r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {dataGridLoading ? (\r\n <>\r\n {(\r\n mode == \"view\"\r\n ? salesOrderDetail.length > 0\r\n : OrderConstraint.DetailDTO\r\n ) ? (\r\n <>\r\n {\r\n setSelectedObj(e);\r\n setShowForm(true);\r\n setDetailMode(\"view\");\r\n }}\r\n parentName={\"SalesOrderDetailList\"}\r\n startIndex={14}\r\n theadData={\r\n mode !== \"view\"\r\n ? Object.keys(OrderConstraint.DetailDTO)\r\n : Object.keys(salesOrderDetail[0])\r\n }\r\n tbodyData={\r\n salesOrderDetail?.length > 0\r\n ? salesOrderDetail\r\n : [OrderConstraint.DetailDTO]\r\n }\r\n totalRecords={\r\n salesOrderDetail?.length > 0 ? undefined : 0\r\n }\r\n scrollHeight={\"67vh\"}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedObjCallback}\r\n handleEdit={\r\n mode != \"view\"\r\n ? (e) => {\r\n setSelectedObj(e);\r\n setDetailMode(\"edit\");\r\n setShowForm(true);\r\n }\r\n : undefined\r\n }\r\n rowSelected={selectedObj}\r\n handleDelete={\r\n mode != \"view\"\r\n ? (e) => {\r\n // Toast(\r\n // trans(\"msg_deleteconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // () => handleDeleteRow(e)\r\n // );\r\n Toast(\r\n trans(\"msg_deleteconfirm\"),\r\n MessageType.confirmDelete,\r\n () => handleDeleteRow(e)\r\n );\r\n }\r\n : undefined\r\n }\r\n handleView={(e) => {\r\n setSelectedObj(e);\r\n setDetailMode(\"view\");\r\n setShowForm(true);\r\n }}\r\n />\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n {IsFiscal && (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {\r\n setReceive({\r\n ...receive,\r\n Prepayment: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n\r\n \r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { GUID_EMPTY, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { getWarehouseDictionaryWithAccessApi } from \"../SalesInvoice/components/WarehouseDictionary/api\";\r\n\r\nexport function WarehouseForDetail({ Detailes ,setDetail,selectedObj}) {\r\n const [warehouseData,setWarehouseData] = useState(null)\r\n const [loading, setLoading] = useState(false);\r\n const [warehousegroup, setwarehousegroup] = useState(true);\r\n const [WarehouseDictionary, setWarehouseDictionary] = useState({});\r\n const formRef = useRef(null)\r\n\r\n\r\n\r\n\r\n function submit(){\r\n let newList:any = []\r\n \r\n Detailes.map((item)=>{\r\n \r\n \r\n newList.push({...item,\r\n WarehouseId:warehousegroup ?warehouseData?.WarehouseId : warehouseData?.[\"WarehouseId\"+item?.ItemCode] ? warehouseData?.[\"WarehouseId\"+item?.ItemCode] :formRef.current?.[\"WarehouseId\"+item?.ItemCode]?.value ,\r\n WarehouseDetailId:warehousegroup ?warehouseData?.WarehouseDetailId : warehouseData?.[\"WarehouseDetailId\"+item?.ItemCode] ? warehouseData?.[\"WarehouseDetailId\"+item?.ItemCode] :formRef.current?.[\"WarehouseDetailId\"+item?.ItemCode]?.value ,\r\n Warehouse: warehousegroup ?warehouseData?.WarehouseTitle : warehouseData?.[\"WarehouseTitle\"+item?.ItemCode] ?warehouseData?.[\"WarehouseTitle\"+item?.ItemCode] : WarehouseDictionary?.[formRef.current?.[\"WarehouseId\"+item?.ItemCode]?.value]?.Description ,\r\n WarehouseDetail:warehousegroup ?\r\n warehouseData?.WarehouseDetail :\r\n warehouseData?.[\"WarehouseDetail\"+item?.ItemCode]\r\n ?warehouseData?.[\"WarehouseDetail\"+item?.ItemCode] :\r\n WarehouseDictionary?.[formRef.current?.[\"WarehouseDetailId\"+item?.ItemCode]?.value]?.Description ,\r\n } )\r\n })\r\n setDetail(newList)\r\n }\r\n\r\n\r\n const getWarehouseDictionaryAsync = async ()=>{\r\n setLoading(false) \r\n try {\r\n const res = await getWarehouseDictionaryWithAccessApi()\r\n if(res?.Data){\r\n setWarehouseDictionary(res?.Data)\r\n let Warehouse :any= Object.values(res?.Data)[0]\r\n if(selectedObj?.WarehouseId!=GUID_EMPTY){\r\n let WarehouseDetailsCount=0\r\n Object.keys(res?.Data).forEach((item)=>{\r\n if(item==selectedObj?.WarehouseId){\r\n WarehouseDetailsCount=res.Data[item].WarehouseDetailsCount\r\n }\r\n })\r\n setWarehouseData({\r\n WarehouseId:selectedObj?.WarehouseId,\r\n WarehouseTitle:selectedObj?.Warehouse,\r\n WarehouseDetailsCount:WarehouseDetailsCount \r\n })\r\n }\r\n else{\r\n setWarehouseData({\r\n WarehouseId:Object.keys(res?.Data)[0],\r\n WarehouseTitle:Warehouse.Description\t ,\r\n WarehouseDetailsCount:Warehouse?.WarehouseDetailsCount\t})\r\n }\r\n }\r\n } catch (error:any) {\r\n setWarehouseDictionary(null)\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n useEffect(() => {\r\n getWarehouseDictionaryAsync()\r\n\r\n }, []);\r\n\r\n\r\n\r\n const handleChangeMainWarehouse=(e,item)=>{\r\n \r\n \r\nif(WarehouseDictionary[e.target.value]?.WarehouseDetailsCount>0){\r\n setWarehouseData((prev)=>{return{...prev,[\"WarehouseId\"+item?.ItemCode]:e.target.value ,[\"WarehouseTitle\"+item?.ItemCode] :WarehouseDictionary[e.target.value]?.Description ,[\"WarehouseDetailsCount\"+item?.ItemCode] :WarehouseDictionary[e.target.value]?.WarehouseDetailsCount\t}})\r\n\r\n}else{\r\n setWarehouseData((prev)=>{return{...prev,[\"WarehouseId\"+item?.ItemCode]:e.target.value ,[\"WarehouseTitle\"+item?.ItemCode] :WarehouseDictionary[e.target.value]?.Description ,[\"WarehouseDetailsCount\"+item?.ItemCode] :WarehouseDictionary[e.target.value]?.WarehouseDetailsCount,[\"WarehouseDetailId\"+item?.ItemCode]:null,[\"WarehouseDetail\"+item?.ItemCode]:null}})\r\n}\r\n\r\n }\r\n\r\n return (\r\n
\r\n\r\n
\r\n
\r\n {loading ?\r\n \r\n \r\n <>\r\n
\r\n
\r\n
\r\n {setwarehousegroup(!warehousegroup)}}\r\n />\r\n
\r\n {warehousegroup&&<>\r\n
\r\n {setWarehouseData({\r\n WarehouseId:e.target.value , WarehouseTitle:WarehouseDictionary[e.target.value].Description , WarehouseDetailsCount:WarehouseDictionary[e.target.value]?.WarehouseDetailsCount\t})} }\r\n lable={\"Warehouse\"}\r\n selectType={'select'}\r\n options={Object.values(WarehouseDictionary).map((item:any)=>{return item.Description})}\r\n val={Object.keys(WarehouseDictionary) }\r\n name={\"Warehouse\"}\r\n value={warehouseData?.WarehouseId ? warehouseData?.WarehouseId : undefined}\r\n mode={\"edit\"}\r\n /> \r\n
\r\n {warehouseData?.WarehouseDetailsCount >0 &&\r\n
\r\n {setWarehouseData((prev)=>{return{...prev ,WarehouseDetailId:e ,WarehouseDetail:obj?.Name }})}}\r\n baseUrl={INVENTORYANDSALES_URL}\r\n endPoint={ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseDetail.dictionary}\r\n value={warehouseData?.WarehouseDetailId}\r\n mode={\"edit\"}\r\n />\r\n
\r\n }\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {Detailes.map((item) => (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n handleChangeMainWarehouse(e,item);\r\n ; } }\r\n lable={\"Warehouse\"}\r\n selectType={'select'}\r\n options={Object.values(WarehouseDictionary).map((item:any)=>{return item.Description})}\r\n val={Object.keys(WarehouseDictionary) }\r\n name={\"WarehouseId\"+item?.ItemCode}\r\n value={ warehouseData?.[\"WarehouseId\"+item?.ItemCode]? warehouseData?.[\"WarehouseId\"+item?.ItemCode]: warehouseData?.WarehouseId?warehouseData?.WarehouseId: ( item.WarehouseId )}\r\n mode={warehousegroup?\"view\":\"edit\"}\r\n /> \r\n\r\n
\r\n {((warehouseData?.[\"WarehouseDetailsCount\"+item?.ItemCode]!=undefined) ?(warehouseData?.[\"WarehouseDetailsCount\"+item?.ItemCode]>0):(warehouseData?.WarehouseDetailsCount>0) ) &&\r\n
\r\n {setWarehouseData((prev)=>{return{...prev ,[\"WarehouseDetailId\"+item?.ItemCode] :e ,[\"WarehouseDetail\"+item?.ItemCode]:obj?.Name }})\r\n\r\n }\r\n \r\n \r\n }\r\n baseUrl={INVENTORYANDSALES_URL}\r\n endPoint={ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseDetail.dictionary}\r\n value={warehousegroup? warehouseData?.WarehouseDetailId : item.WarehouseDetailId?item.WarehouseDetailId: warehouseData?.[\"WarehouseDetailId\"+item?.ItemCode] ?warehouseData?.[\"WarehouseDetailId\"+item?.ItemCode]: ( warehouseData?.WarehouseDetailId )}\r\n mode={warehousegroup?\"view\":\"edit\"}\r\n />\r\n
\r\n }\r\n
\r\n ))}\r\n \r\n
\r\n \r\n :\r\n }\r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getWarehouseTree = () => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Warehouse.browse,\r\n method: \"get\",\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});","import { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getWarehouseTree } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\ninterface Prop {\r\n WarehouseIdHandeler: (e) => void,\r\n onHide: () => void,\r\n \r\n}\r\n\r\n\r\n\r\nexport const WarehouseTreeForm = ({ WarehouseIdHandeler }: Prop) => {\r\n const [data, setData] = useState()\r\n const [forceUpdate, setForceUpdate] = useState(false)\r\n const [selectedObj, setSelectedObj] = useState()\r\n const [idCallback, setIdCallback] = useState(null)\r\n const [loading, setLoading] = useState(false);\r\n const [message, setMessage] = useState(\"NoDataForPreview\");\r\n\r\n\r\n \r\n const setselecetrow = (e) => {\r\n setSelectedObj(e)\r\n\r\n\r\n }\r\n const sendTreeCode = (e:any=null , obj= selectedObj) => {\r\n e?.preventDefault()\r\n e?.stopPropagation()\r\n if(obj){\r\n let parentObj:any=null\r\n if(obj.RootId!=null){\r\n data.map(item=>{\r\n if(item.Id ==obj.RootId ){\r\n parentObj = item\r\n }\r\n })\r\n\r\n }\r\n if(parentObj){\r\n WarehouseIdHandeler({...obj , Title: parentObj.Title +\",\"+obj.Title })\r\n }else{\r\n WarehouseIdHandeler(obj)\r\n\r\n }\r\n }else{\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning)\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n\r\n async function getWarehouseTreeFormAsync() {\r\n setLoading(false)\r\n try{\r\n\r\n const respons = await getWarehouseTree()\r\n setData(respons.Data)\r\n }catch(err:any){\r\n setMessage(err?.data?.Message)\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n \r\n\r\n useEffect(() => {\r\n setData(null)\r\n getWarehouseTreeFormAsync()\r\n }, [forceUpdate]);\r\n\r\n\r\n useEffect(() => {\r\n if(idCallback){\r\n setIdCallback(null)\r\n }\r\n }, [idCallback]);\r\n\r\n\r\n\r\n return (\r\n <>\r\n\r\n\r\n
\r\n
\r\n
\r\n {\r\n loading ? (\r\n data ?\r\n
\r\n {sendTreeCode(null,e)}}\r\n selectedRowObject={idCallback}\r\n getChildrenUrl={ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Warehouse.getNode}\r\n theadData={Object.keys(data[0])}\r\n startIndex={4}\r\n maxLevel={1}\r\n Titleparams={\"Title\"}\r\n Childrenparams={'DetailList'}\r\n defultShow={false}\r\n Data={data}\r\n parentName={\"WarehouseTreeForm\"}\r\n /> \r\n
: )\r\n : \r\n }\r\n
\r\n\r\n\r\n\r\n \r\n )\r\n}\r\n\r\n\r\n\r\n\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getSalesPreInvoice = (pageNumber: number, pageSize: number, searchString, orderBy, filterlist ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.load,\r\n // headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n \r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getSalesPreInvoiceById = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.load,\r\n headers: { \"Accept-Language\": \"en\" },\r\n\r\n method: 'get',\r\n params: {\r\n Id:Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getSalesPreInvoiceOrGenerate = (SourceData,SourceId,ReferenceId,JobId ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.getOrGenerate,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n SourceData,\r\n ReferenceId,\r\n JobId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getPriceListDetail = (Id,priceListId ,code , warehouseId ,warehouseDetailId,personId ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemPriceApis.ItemPrice,\r\n method: 'get',\r\n params: {\r\n ItemId:Id,\r\n ItemCode:code , \r\n PriceListId:priceListId,\r\n WarehouseId:warehouseId,\r\n CustomerPersonId:personId,\r\n //warehouseDetailId:warehouseDetailId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const GenerateFromSource = (SourceId, SourceData ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n headers: { \"Accept-Language\": \"en\" },\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.generate,\r\n method: 'get',\r\n params:{\r\n SourceData ,\r\n SourceId\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const postSalesPreInvoice = (data ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.load,\r\n method: 'post',\r\n data:data,\r\n params:{Confirm:false}\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const postSalesPreInvoiceWorkFlow = (data ,referenceId ,increased) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice?.[increased ?\"FromSourceWithIncrease\" :\"workflowFromSource\"],\r\n method: 'post',\r\n data:data,\r\n params:{\r\n Confirm:false,\r\n referenceId:referenceId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const putSalesPreInvoiceWorkflow = (data,referenceId ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.workflow,\r\n method: 'put',\r\n params:{referenceId },\r\n data:data\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const putSalesPreInvoice = (data ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.load,\r\n method: 'put',\r\n data:data\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getPreInvoiceConstraint = ( ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.constraint,\r\n method: 'get',\r\n\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getDefaultPersonContact = (Id ) => http({\r\n\r\n url: ENDPOINTS.BaseInformation.PersonContact.default,\r\n method: 'get',\r\n params:{\r\n personId:Id\r\n }\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getPersonCustomer = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.load,\r\n method: 'get',\r\n params:{\r\n id:Id\r\n }\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const optionalDiscountHandler = (data ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.optionalDiscount,\r\n method: 'post',\r\n data:data\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getPreInvoiceById = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.getId,\r\n headers: { \"Accept-Language\": \"en\" },\r\n\r\n method: 'get',\r\n params: {\r\n Id:Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getPreInvoiceByReferenceId = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.referenceId,\r\n headers: { \"Accept-Language\": \"en\" },\r\n\r\n method: 'get',\r\n params: {\r\n ReferenceId:Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const CalculateSalesPreInvoice = (data ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.Calculat,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'post',\r\n data:data,\r\n params:{Confirm:false}\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getDataForPrint = ( Id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.printData,\r\n method: \"get\",\r\n params:{\r\n id:Id,\r\n useWarmSignature: true \r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { WarehouseDictionaryWithAccess } from \"pages/InventoryAndSales/Sales/SalesInvoice/components/WarehouseDictionary/WarehouseDictionaryWithAccess\";\r\n\r\n\r\ninterface WarehouseData {\r\n WarehouseId?: string;\r\n WarehouseTitle?: string;\r\n WarehouseDetailsCount?: number;\r\n WarehouseDetailId?: string;\r\n WarehouseDetail?: string;\r\n}\r\n\r\ninterface ItemData {\r\n Code?: string;\r\n Item?: string;\r\n}\r\n\r\ninterface DetailPriceData {\r\n ItemTechnicalCode: string;\r\n Price: number;\r\n Discount: number;\r\n SubTotalPrice: number;\r\n Qty1: number;\r\n Qty2: number;\r\n TaxRate: number;\r\n}\r\n\r\ninterface Props {\r\n mode: \"view\" | \"edit\" | 'create'; // You can change the mode types if necessary\r\n resetForm:any;\r\n setWarehouseData: (e) => void;\r\n setDetailPriceData: (e) => void;\r\n fetchPriceListDetail: (e ,i) => void;\r\n setUserChanges: (e) => void;\r\n setShowTree: (e) => void;\r\n setItemData: (e) => void;\r\n warehouseData:any;\r\n detailPriceData:any;\r\n itemData:any;\r\n}\r\n\r\nconst ItemSelector: React.FC = ({setItemData,setDetailPriceData,detailPriceData, itemData,mode, resetForm ,setWarehouseData ,warehouseData ,fetchPriceListDetail ,setUserChanges ,setShowTree}) => {\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n
\r\n { (warehouseData || mode=='create' )&& <>
\r\n {\r\n setWarehouseData({\r\n WarehouseId: e,\r\n WarehouseTitle: obj?.Name?.Description,\r\n WarehouseDetailsCount:\r\n obj?.Name?.WarehouseDetailsCount,\r\n });\r\n if (e !== warehouseData?.WarehouseId) {\r\n setItemData(null);\r\n setUserChanges({});\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty1: 1,\r\n Qty2: 1,\r\n TaxRate: 0,\r\n });\r\n \r\n }\r\n }}\r\n mode={mode}\r\n required={true}\r\n />\r\n
\r\n {(warehouseData?.WarehouseDetailsCount > 0 ||\r\n warehouseData?.WarehouseDetailId) && (\r\n
\r\n {\r\n setWarehouseData((prev) => {\r\n return {\r\n ...prev,\r\n WarehouseDetailId: e,\r\n WarehouseDetail: obj?.Name,\r\n };\r\n });\r\n }}\r\n baseUrl={INVENTORYANDSALES_URL}\r\n endPoint={\r\n ENDPOINTSINVENTORYANDSALES.Inventory\r\n .BaseInformationApi.WarehouseDetail.dictionary\r\n }\r\n value={warehouseData.WarehouseDetailId}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n )}\r\n \r\n }\r\n {warehouseData && (\r\n \r\n {\r\n if (e && e != itemData?.Code) {\r\n fetchPriceListDetail(null, e);\r\n }\r\n }} \r\n Change={setUserChanges}\r\n onChange={(e) => {\r\n if (\r\n e?.target.value === null ||\r\n e?.target.value === \"\"\r\n ) {\r\n setItemData({});\r\n }\r\n }}\r\n textboxName={\"itemCode\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"itemCode\"}\r\n mode={mode}\r\n value={itemData?.Code}\r\n defaultValue={itemData?.Code}\r\n />\r\n {mode != \"view\" && (\r\n
\r\n setShowTree(true)}\r\n type=\"button\"\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n onClick={(e) => setShowTree(true)}\r\n />\r\n
\r\n )}\r\n
\r\n )}\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ItemSelector;\r\n","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { UnitDictionary } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { RoundWithRoundingPlace } from \"utils/helpers\";\r\n\r\ninterface Props {\r\n mode: \"view\" | \"edit\";\r\n resetForm: any;\r\n setUserChanges: (e: any) => void;\r\n numberOfSalesUnit: number;\r\n priceList: any;\r\n priceListDetail: any[];\r\n currency: any;\r\n rate: any;\r\n Constraint: any;\r\n detailPriceData: any;\r\n setRate: (e: any) => void;\r\n setPriceListDetail: (e: any) => void;\r\n updateQuantity: (e: any, list?: any, type?: any) => void;\r\n setDictionaryName: (e: any) => void;\r\n}\r\n\r\nconst PriceFields: React.FC = ({\r\n mode,\r\n resetForm,\r\n setUserChanges,\r\n numberOfSalesUnit,\r\n priceList,\r\n priceListDetail,\r\n currency,\r\n rate,\r\n Constraint,\r\n detailPriceData,\r\n setRate,\r\n setPriceListDetail,\r\n updateQuantity,\r\n setDictionaryName,\r\n}) => {\r\n const [qty, setQty] = useState({\r\n qty1: detailPriceData.Qty1,\r\n qty2: detailPriceData.Qty2,\r\n });\r\n\r\n const handleQuantityChange = (\r\n e: React.ChangeEvent,\r\n qtyType: \"Qty1\" | \"Qty2\"\r\n ) => {\r\n const value = +e.target.value;\r\n if (\r\n (numberOfSalesUnit === (qtyType === \"Qty1\" ? 1 : 2) ||\r\n (!detailPriceData.IsAbsoluteUnitConversionRatio &&\r\n detailPriceData.IsAbsoluteUnitConversionRatio != null)) &&\r\n value >= +e.target.min &&\r\n (e.target.max ? value <= +e.target.max : true)\r\n ) {\r\n if (\r\n !detailPriceData.IsAbsoluteUnitConversionRatio &&\r\n detailPriceData.IsAbsoluteUnitConversionRatio != null\r\n ) {\r\n setRate(\r\n (qtyType === \"Qty1\" ? value : qty.qty1) /\r\n (qtyType === \"Qty1\" ? qty.qty2 : value)\r\n );\r\n }\r\n updateQuantity(\r\n value,\r\n [],\r\n !detailPriceData.IsAbsoluteUnitConversionRatio &&\r\n detailPriceData.IsAbsoluteUnitConversionRatio != null\r\n ? qtyType\r\n : null\r\n );\r\n }\r\n };\r\n\r\n const handleUnitPriceChange = (\r\n e: React.ChangeEvent,\r\n qtyType: \"Qty1\" | \"Qty2\"\r\n ) => {\r\n const value = +e.target.value.replaceAll(\",\", \"\");\r\n if (qtyType === \"Qty1\") {\r\n if (numberOfSalesUnit == 1) {\r\n setPriceListDetail((pre) => {\r\n return [\r\n {\r\n ...pre[0],\r\n SalesUnitPrice: +e.target.value.replaceAll(\",\", \"\"),\r\n UnitPrice: +e.target.value.replaceAll(\",\", \"\") * rate,\r\n },\r\n ];\r\n });\r\n } else {\r\n setPriceListDetail((pre) => {\r\n return [\r\n {\r\n ...pre[0],\r\n SalesUnitPrice: +e.target.value.replaceAll(\",\", \"\") / rate,\r\n UnitPrice: +e.target.value.replaceAll(\",\", \"\"),\r\n },\r\n ];\r\n });\r\n }\r\n } else {\r\n if (numberOfSalesUnit == 2) {\r\n setPriceListDetail((pre) => {\r\n return [\r\n {\r\n ...pre[0],\r\n SalesUnitPrice: +e.target.value.replaceAll(\",\", \"\"),\r\n UnitPrice: +e.target.value.replaceAll(\",\", \"\") / rate,\r\n },\r\n ];\r\n });\r\n } else {\r\n setPriceListDetail((pre) => {\r\n return [\r\n {\r\n ...pre[0],\r\n SalesUnitPrice: +e.target.value.replaceAll(\",\", \"\") * rate,\r\n UnitPrice: +e.target.value.replaceAll(\",\", \"\"),\r\n },\r\n ];\r\n });\r\n }\r\n }\r\n };\r\n useEffect(() => {\r\n setQty({ qty1: detailPriceData.Qty1, qty2: detailPriceData.Qty2 });\r\n }, [detailPriceData]);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n 0\r\n ? priceListDetail[0][\r\n numberOfSalesUnit === 1\r\n ? \"SalesUnitMinOrderQty\"\r\n : \"MinOrderQty\"\r\n ] || 10 ** detailPriceData.Qty1RoundingPlace\r\n : 10 ** detailPriceData.Qty1RoundingPlace\r\n }\r\n max={\r\n priceListDetail.length > 0\r\n ? priceListDetail[priceListDetail.length - 1]\r\n ?.MaxOrderQty == null\r\n ? undefined\r\n : \r\n priceListDetail[priceListDetail.length - 1]?.[\r\n numberOfSalesUnit == 1\r\n ? \"SalesUnitMaxOrderQty\"\r\n : \"MaxOrderQty\"\r\n ] \r\n : undefined\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={true}\r\n onChange={(e) => handleQuantityChange(e, \"Qty1\")}\r\n />\r\n
\r\n
\r\n {\r\n setDictionaryName((pre) => {\r\n return { ...pre, Unit1: e.Value };\r\n });\r\n }}\r\n />\r\n
\r\n
\r\n handleUnitPriceChange(e, \"Qty1\")}\r\n required={false}\r\n />\r\n
\r\n
\r\n {numberOfSalesUnit == 1 && (\r\n \r\n )}\r\n
\r\n\r\n {detailPriceData?.Unit2Id ? (\r\n <>\r\n
\r\n 0\r\n ? priceListDetail[0][\r\n numberOfSalesUnit === 2\r\n ? \"SalesUnitMinOrderQty\"\r\n : \"MinOrderQty\"\r\n ] || 10 ** detailPriceData.Qty2RoundingPlace\r\n : 10 ** detailPriceData.Qty2RoundingPlace\r\n }\r\n max={\r\n priceListDetail.length > 0\r\n ? priceListDetail[priceListDetail.length - 1]\r\n ?.MaxOrderQty == null\r\n ? undefined\r\n : \r\n priceListDetail[priceListDetail.length - 1]?.[\r\n numberOfSalesUnit == 2\r\n ? \"SalesUnitMaxOrderQty\"\r\n : \"MaxOrderQty\"\r\n ]\r\n \r\n : undefined\r\n }\r\n usePrevDefaultValue={\r\n priceList.HasDetailRange &&\r\n numberOfSalesUnit == 2 &&\r\n priceListDetail[priceListDetail.length - 1]\r\n ?.SalesUnitMaxOrderQty === detailPriceData.Qty2\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={false}\r\n onChange={(e) => {\r\n handleQuantityChange(e, \"Qty2\");\r\n }}\r\n />\r\n
\r\n
\r\n \r\n setDictionaryName((pre) => {\r\n return { ...pre, Unit2: e.Value };\r\n })\r\n }\r\n />\r\n
\r\n
\r\n handleUnitPriceChange(e, \"Qty2\")}\r\n required={false}\r\n />\r\n
\r\n {numberOfSalesUnit == 2 && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default PriceFields;\r\n","import { Button } from \"components/Button/Button\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\nimport { FloorWithRoundingPlace, RoundWithRoundingPlace, trans, uuidv4 } from \"utils/helpers\";\r\n\r\nimport { MessageType } from \"types/enum\";\r\nimport { ItemsForSell } from \"../components/ItemsForSell/ItemsForSell\";\r\nimport { PriceDetails } from \"../components/PriceDetails\";\r\nimport { WarehouseTreeForm } from \"../SalesInvoice/components/WarehouseTreeForm/WarehouseTreeForm\";\r\nimport { getPriceListDetail } from \"./api\";\r\nimport ItemSelector from \"./components/SalesPreInvoiceDetail/ItemSelector\";\r\nimport PriceFields from \"./components/SalesPreInvoiceDetail/PriceFields\";\r\n\r\ninterface SalesPreInvoiceFormProps {\r\n onHide: () => void;\r\n SalesPreInvoiceDetailCallBack?: (e: any) => void;\r\n selectedObj?: any;\r\n mode: any;\r\n priceList?: any;\r\n PreInvoiceConstraint?: any;\r\n lastWarehouse?: any;\r\n setLastWarehouse: (e: any) => void;\r\n personId?: any;\r\n SourceData?: any;\r\n currency?: any;\r\n salesPreInvoiceId?: any;\r\n}\r\n\r\nexport const SalesPreInvoiceDetailForm = ({\r\n lastWarehouse = null,\r\n PreInvoiceConstraint,\r\n setLastWarehouse,\r\n priceList,\r\n selectedObj,\r\n mode,\r\n onHide,\r\n personId,\r\n SalesPreInvoiceDetailCallBack,\r\n SourceData,\r\n currency,\r\n salesPreInvoiceId,\r\n}: SalesPreInvoiceFormProps) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [ExpireDate, setExpireDate] = useState();\r\n const [showTree, setShowTree] = useState();\r\n const [showWarehouseTree, setShowWarehouseTree] = useState();\r\n const [priceListDetail, setPriceListDetail] = useState([]);\r\n const [detailPriceData, setDetailPriceData] = useState({\r\n Price: \"0\",\r\n Discount: \"0\",\r\n SubTotalPrice: \"0\",\r\n TaxRate: \"0\",\r\n Qty1: mode != \"create\" ? selectedObj?.Qty1 : 1,\r\n Qty2: mode != \"create\" ? selectedObj?.Qty2 : 1,\r\n });\r\n const [itemData, setItemData] = useState(null);\r\n const [warehouseData, setWarehouseData] = useState(lastWarehouse);\r\n const [dictionaryName, setDictionaryName] = useState({});\r\n const [rate, setRate] = useState(1);\r\n const [numberOfSalesUnit, setNumberOfSalesUnit] = useState(1);\r\n const [firstQty, setFirstQty] = useState(null);\r\n const [saveExit, setSaveExit] = useState(false);\r\n const [showPriceListDetail, setShowPriceListDetail] = useState(false);\r\n const [savedNewQty, setSavedNewQty] = useState(null);\r\n\r\n const handleSalesPreInvoiceFormSubmit = async (event) => {\r\n event.preventDefault();\r\n if(!priceList.IsManual&&priceList.IsAbsoluteUnitConversionRatio && detailPriceData.Qty1/detailPriceData.Qty2!==rate){\r\n // Toast('msg_invalidqtyunit','error')\r\n Toast('msg_invalidqtyunit',MessageType.error)\r\n\r\n }else{\r\n\r\n const data = {\r\n Id: mode !== \"create\" ? selectedObj?.Id : uuidv4(),\r\n SalesPreInvoiceId: salesPreInvoiceId,\r\n SourceId: mode !== \"create\" ? selectedObj?.SourceId : undefined,\r\n SourceData: mode !== \"create\" ? selectedObj?.SourceData : undefined,\r\n // IsAbsoluteUnitConversionRatio\t: selectedObj?.IsAbsoluteUnitConversionRatio\t,\r\n ItemId: itemData.ItemId,\r\n WarehouseId: warehouseData.WarehouseId,\r\n WarehouseDetailId: warehouseData.WarehouseDetailId,\r\n Unit1Id: event.target.Unit1Id?.value || null,\r\n Unit2Id: event.target.Unit2Id?.value || null,\r\n SalesUnitId: detailPriceData?.SalesUnitId,\r\n ItemCode: itemData?.Code ? itemData?.Code : itemData?.ItemCode,\r\n Item: itemData?.Item,\r\n Qty1: +event.target.Qty1?.value,\r\n Unit1: dictionaryName?.Unit1 || null,\r\n Qty2: +event.target.Qty2?.value,\r\n Unit2: dictionaryName.Unit2 || null,\r\n SalesUnitPrice: detailPriceData.SalesUnitPrice,\r\n ConversionRatio: rate,\r\n Unit1Price:\r\n numberOfSalesUnit === 1\r\n ? detailPriceData.SalesUnitPrice\r\n : parseFloat(event.target.Unit1Price?.value.replace(/,/g, \"\")),\r\n Unit2Price:\r\n numberOfSalesUnit === 2\r\n ? detailPriceData.SalesUnitPrice\r\n : parseFloat(event.target.Unit2Price?.value.replace(/,/g, \"\")),\r\n \r\n SubTotalPrice: parseFloat(\r\n event.target.SubTotalPrice?.value.replace(/,/g, \"\")\r\n ),\r\n DiscountPercent: parseFloat(\r\n event.target.DiscountPercent?.value.replace(/,/g, \"\")\r\n ),\r\n Discount: parseFloat(event.target.Discount?.value.replace(/,/g, \"\")),\r\n Price: parseFloat(event.target.Price?.value.replace(/,/g, \"\")),\r\n Tax: !PreInvoiceConstraint.HasTax\r\n ? 0\r\n : parseFloat(event.target.Tax?.value.replace(/,/g, \"\")),\r\n TaxRate: !PreInvoiceConstraint.HasTax ? 0 : priceListDetail[0].TaxRate,\r\n ItemTechnicalCode: event.target.ItemTechnicalCode?.value,\r\n PartyNo: event.target?.PartyNo?.value,\r\n ExpireDate: ExpireDate,\r\n CargoWeight: +event.target?.CargoWeight?.value || 0,\r\n Description: event.target.Description?.value,\r\n Warehouse: warehouseData.WarehouseTitle,\r\n WarehouseDetail: warehouseData?.WarehouseDetail,\r\n Qty1RoundingPlace:priceListDetail[0]?.Qty1RoundingPlace,\r\n Qty2RoundingPlace:priceListDetail[0]?.Qty2RoundingPlace,\r\n IsAbsoluteUnitConversionRatio:priceListDetail[0]?.IsAbsoluteUnitConversionRatio\r\n };\r\n \r\n setLastWarehouse(warehouseData);\r\n SalesPreInvoiceDetailCallBack?.(data) && resetFormIfNeeded();\r\n }\r\n };\r\n\r\n const resetFormIfNeeded = () => {\r\n if (mode === \"create\") {\r\n setResetForm(true);\r\n setItemData(null);\r\n setUserChanges({});\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty1: 1,\r\n Qty2: 1,\r\n TaxRate: 0,\r\n });\r\n setPriceListDetail([]);\r\n }\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n if (saveExit) onHide();\r\n };\r\n\r\n const handleItemCode = (obj, isLeafSelected) => {\r\n if (obj.IsLeaf || isLeafSelected) {\r\n setItemData(obj);\r\n setSavedNewQty(null);\r\n fetchPriceListDetail(obj.Id);\r\n setShowTree(false);\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n TaxRate: 0,\r\n Qty1: 1,\r\n Qty2: 1,\r\n });\r\n if (mode === \"edit\") {\r\n setShowPriceListDetail(true);\r\n }\r\n } else {\r\n // Toast(\"msg_itemleafisnotselected\", \"error\");\r\n Toast(\"msg_itemleafisnotselected\", MessageType.error);\r\n\r\n }\r\n };\r\n\r\n const handleWarehouseSelection = (obj) => {\r\n setWarehouseData(obj);\r\n setShowWarehouseTree(false);\r\n };\r\n\r\n const updateQuantity = async (\r\n newQty,\r\n priceListArray = [],\r\n QtyInChange=null\r\n ) => {\r\n if ((QtyInChange==null&&priceListDetail[priceListDetail.length - 1].SalesUnitMaxOrderQty)||(QtyInChange==\"Qty\"+numberOfSalesUnit&&priceListDetail[priceListDetail.length - 1].SalesUnitMaxOrderQty) ) {\r\n //when we get priceList, we should detect that whether newQty is more than SalesUnitMaxOrderQty and change Qty to SalesUnitMaxOrderQty\r\n newQty =\r\n priceListDetail[priceListDetail.length - 1].SalesUnitMaxOrderQty <=\r\n newQty\r\n ? priceListDetail[priceListDetail.length - 1].SalesUnitMaxOrderQty\r\n : newQty;\r\n }\r\n\r\n if (\r\n (firstQty == null || !(priceListDetail?.length > 0)) &&\r\n priceList.HasDetailRange &&\r\n mode === \"edit\" &&\r\n ((numberOfSalesUnit == 1 && newQty !== selectedObj.Qty1) ||\r\n (numberOfSalesUnit == 2 && newQty !== selectedObj.Qty2))\r\n ) {\r\n setSavedNewQty(newQty); //to countinue with newQty and prevent to reset newQty\r\n // چون که شرط رترن میکنه و از تابع خارج میشه مقدار جدید (نیوکیوتیوای ) ذخیره نمیشه و مقدار قبلیشو میگیره و باید مقدار جدیدشو حفظ کنیم\r\n \r\n setFirstQty(selectedObj?.ItemId);\r\n fetchPriceListDetail(itemData?.Id ?? selectedObj?.ItemId); //in create mode uses itemData and edit,view mode uses selectedObj?.ItemId\r\n return null;\r\n }\r\n\r\n if(!PreInvoiceConstraint.IsAbsoluteUnitConversionRatio!=null&& detailPriceData.Unit1Id && detailPriceData.Unit2Id &&!PreInvoiceConstraint.IsAbsoluteUnitConversionRatio&&QtyInChange){\r\n let newPriceData:any ={}\r\n if(QtyInChange==\"Qty1\"){\r\n if(numberOfSalesUnit==1){\r\n newPriceData =await calculatePriceData(newQty, priceListArray);\r\n }else{\r\n newPriceData =await calculatePriceData( detailPriceData.Qty2, priceListArray);\r\n }\r\n }else{\r\n if(numberOfSalesUnit==1){\r\n newPriceData =await calculatePriceData(detailPriceData.Qty1, priceListArray);\r\n }else{\r\n newPriceData =await calculatePriceData(newQty, priceListArray);\r\n }\r\n }\r\n let DetailPrice = {\r\n ...newPriceData,\r\n // TaxRate: taxRate || detailPriceData.TaxRate,\r\n Qty1: RoundWithRoundingPlace(QtyInChange ==\"Qty1\"? newQty: detailPriceData.Qty1,priceListDetail[0]?.Qty1RoundingPlace),\r\n Qty2: RoundWithRoundingPlace(QtyInChange ==\"Qty1\"? detailPriceData.Qty2 :newQty,priceListDetail[0]?.Qty2RoundingPlace) ,\r\n }\r\n if(newPriceData.PriceListUnitId==newPriceData.SalesUnitId ){\r\n //درصورتی ک واحد فروش باواحد لیست قیمت برابر باشد از منطق قبل که قیمت واحد لیست قیمت را دست نزنیم و قیمت واحد فروش را تغییر دهیم نمیتوان استفاده کرد. و باید در این حالت واحد فروش و لیست قیمت را .که یکی هستند ثابت نگه داریم و واحد دیگر را تغییر دهیم \r\n setDetailPriceData({\r\n ...DetailPrice,\r\n UnitPrice: (numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) * newPriceData.SalesUnitPrice/ (numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1),//بسازیمsaleUnitPriceوSubTotalPrice را براساس unitPrice باید \r\n SalesUnitPrice: newPriceData.SalesUnitPrice, \r\n SubTotalPrice: (numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) * newPriceData.SalesUnitPrice,\r\n Price: calculateDiscountedPrice((numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), {SalesUnitPrice: newPriceData.SalesUnitPrice ,DiscountPercent:DetailPrice.DiscountPercent}),\r\n Discount: calculateDiscount((numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), {SalesUnitPrice: newPriceData.SalesUnitPrice ,DiscountPercent:DetailPrice.DiscountPercent}),\r\n });\r\n }else{\r\n setDetailPriceData({\r\n ...DetailPrice,\r\n SalesUnitPrice: (newPriceData.UnitPrice*(numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1))/(numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), \r\n SubTotalPrice: (numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) * (newPriceData.UnitPrice*(numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1))/(numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2),\r\n Price: calculateDiscountedPrice((numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), {SalesUnitPrice: (newPriceData.UnitPrice*(numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1))/(numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) ,DiscountPercent:DetailPrice.DiscountPercent}),\r\n Discount: calculateDiscount((numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), {SalesUnitPrice: (newPriceData.UnitPrice*(numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1))/(numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) ,DiscountPercent:DetailPrice.DiscountPercent}),\r\n });\r\n }\r\n }else{\r\n let newPriceData =await calculatePriceData(newQty, priceListArray);\r\n\r\n setDetailPriceData({\r\n ...newPriceData,\r\n Qty1:RoundWithRoundingPlace((numberOfSalesUnit === 1?1:priceListDetail[0]?.ConversionRatio)*newQty ,priceListDetail[0]?.Qty1RoundingPlace),\r\n Qty2: RoundWithRoundingPlace(newQty/(numberOfSalesUnit === 2?1:priceListDetail[0]?.ConversionRatio) ,priceListDetail[0]?.Qty2RoundingPlace) ,\r\n });\r\n\r\n }\r\n };\r\n\r\n const calculatePriceData = (newQty, priceListArray) => { \r\n const currentPriceList = !!priceListArray.length\r\n ? priceListArray\r\n : priceListDetail;\r\n let matchedPriceData = findMatchingPriceData(currentPriceList, newQty);\r\n \r\n matchedPriceData=matchedPriceData?matchedPriceData:{...currentPriceList[0],Unit2Price:0,Unit1Price:0,SalesUnitPrice:0,DiscountPercent:0,}\r\n return {\r\n ...matchedPriceData,\r\n UnitPrice:matchedPriceData?.UnitPrice || matchedPriceData?.UnitPrice==0?matchedPriceData?.UnitPrice: matchedPriceData?.SalesUnitId === matchedPriceData?.Unit1Id\r\n ? matchedPriceData?.Unit2Price\r\n : matchedPriceData?.Unit1Price,\r\n Price: calculateDiscountedPrice(newQty, matchedPriceData),\r\n //to set TaxRate when pricelist is manual then we sould use detailPriceData.TaxRate because we nedd to save taxrate when unitprice are changing and currentPriceList[0] is 0 because was set at first\r\n TaxRate: PreInvoiceConstraint.HasTax\r\n ? priceList.IsManual\r\n ? detailPriceData.TaxRate\r\n : currentPriceList[0]?.TaxRate\r\n : 0,\r\n Discount: calculateDiscount(newQty, matchedPriceData),\r\n DiscountPercent: priceList.IsManual\r\n ? +detailPriceData?.DiscountPercent\r\n : +matchedPriceData?.DiscountPercent,\r\n SubTotalPrice: newQty * matchedPriceData?.SalesUnitPrice,\r\n };\r\n };\r\n\r\n const findMatchingPriceData = (priceList, qty) =>\r\n priceList.find(\r\n (e) =>\r\n (e.SalesUnitMaxOrderQty == null || +e.SalesUnitMaxOrderQty >= qty) &&\r\n +e.SalesUnitMinOrderQty <= qty\r\n );\r\n\r\n const calculateDiscountedPrice = (qty, priceData) =>\r\n RoundWithRoundingPlace(\r\n qty *\r\n ((priceData?.SalesUnitPrice * (100 - priceData?.DiscountPercent)) /\r\n 100),\r\n currency.PriceRoundingPlace,\r\n \r\n );\r\n\r\n const calculateDiscount = (qty, priceData) => {\r\n if (priceList.IsManual) {\r\n return RoundWithRoundingPlace(\r\n qty *\r\n ((detailPriceData?.SalesUnitPrice *\r\n detailPriceData?.DiscountPercent) /\r\n 100),\r\n currency.PriceRoundingPlace,\r\n \r\n );\r\n } else {\r\n return RoundWithRoundingPlace(\r\n qty * ((priceData?.SalesUnitPrice * priceData?.DiscountPercent) / 100),\r\n currency.PriceRoundingPlace,\r\n );\r\n }\r\n };\r\n\r\n const fetchTaxRate = (list) => {\r\n let totalTaxRate = 0;\r\n if (list && !!list.length) {\r\n list.map((item) => {\r\n totalTaxRate += item.TaxRate;\r\n });\r\n }\r\n return totalTaxRate;\r\n };\r\n\r\n const fetchPriceListDetail = async (itemId = null, code = null) => {\r\n try {\r\n const { Data } = await getPriceListDetail(\r\n itemId,\r\n priceList?.IsManual ? null : priceList?.Id,\r\n code,\r\n warehouseData?.WarehouseId\r\n ? warehouseData?.WarehouseId\r\n : selectedObj?.WarehouseId,\r\n warehouseData?.WarehouseDetailId,\r\n personId\r\n );\r\n setShowPriceListDetail(true)\r\n const newPriceListDetails=Data.map((item)=>{\r\n return {...item,\r\n SalesUnitMaxOrderQty:item.SalesUnitId === item.MainUnitId?item.Unit1MaxOrderQty:item.Unit2MaxOrderQty,\r\n SalesUnitMinOrderQty:item.SalesUnitId === item.MainUnitId?item.Unit1MinOrderQty:item.Unit2MinOrderQty,\r\n MaxOrderQty:item.SalesUnitId === item.MainUnitId?item.Unit2MaxOrderQty:item.Unit1MaxOrderQty,\r\n MinOrderQty:item.SalesUnitId === item.MainUnitId?item.Unit2MinOrderQty:item.Unit1MinOrderQty,\r\n SalesUnitPrice:item.SalesUnitId === item.MainUnitId?item.Unit1Price:item.Unit2Price,\r\n SalesUnitId:item.SalesUnitId,\r\n SalesUnitDiscount:item.SalesUnitId === item.MainUnitId?item.Unit1Discount:item.Unit2Discount,\r\n Unit1Id:item.MainUnitId,\r\n Unit2Id:item.StatisticalUnitId\r\n //تعیین واحد فروش،کمترین و بیشترین مقدار فروش و کمترین و بیشترین مقدار واحد قیمت ، واحد اول و دوم\r\n //Determining the sales unit,because we use sales unit for countinuing programm and doing calculate\r\n }\r\n })\r\n updatePriceListDetails([\r\n { ...newPriceListDetails[0], TaxRate: await fetchTaxRate(newPriceListDetails[0].ItemTaxList) },\r\n ...newPriceListDetails.slice(1),\r\n ]);\r\n } catch {}\r\n };\r\n\r\n const updatePriceListDetails = async (\r\n data,\r\n withPriceListDetail = true,\r\n useSelectedObj = false\r\n ) => {\r\n const [firstItem] = useSelectedObj ? [selectedObj] : data;\r\n setNumberOfSalesUnit(\r\n firstItem.SalesUnitId === firstItem.Unit1Id ||\r\n firstItem.SalesUnitId == GUID_EMPTY\r\n ? 1\r\n : 2\r\n );\r\n //if(mode==\"create\") PreInvoiceConstraint.HasTax? setTotalTaxRate(await fetchTaxRate(firstItem.ItemTaxList)):setTotalTaxRate(0)\r\n setRate(firstItem?.ConversionRatio);\r\n \r\n \r\n if (withPriceListDetail) setPriceListDetail(data);\r\n setItemData({\r\n ...itemData,\r\n Item: firstItem.Item ? firstItem.Item : firstItem?.ItemDescription,\r\n ItemId: firstItem.ItemId,\r\n Code: firstItem.ItemCode ? firstItem?.ItemCode : firstItem?.Code,\r\n });\r\n };\r\n\r\n\r\n const cancel = () => {\r\n if (sessionStorage.getItem(\"changingforms\") === \"true\") {\r\n // Toast(\"modalclosemessage\", \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // onHide();\r\n // });\r\n Toast(\"modalclosemessage\", MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n onHide();\r\n });\r\n } else {\r\n onHide();\r\n }\r\n };\r\n\r\n\r\n\r\n const initializeFormWithSelectedObject = () => {\r\n setWarehouseData({\r\n WarehouseId: selectedObj.WarehouseId,\r\n WarehouseDetailId: selectedObj?.WarehouseDetailId,\r\n // Title: selectedObj.WarehouseDetail\r\n // ? `${selectedObj.Warehouse},${selectedObj.WarehouseDetail}`\r\n // : selectedObj.Warehouse,\r\n WarehouseDetail:selectedObj?.WarehouseDetail,\r\n WarehouseTitle:selectedObj?.Warehouse\r\n });\r\n setDetailPriceData({\r\n ...selectedObj,\r\n UnitPrice:\r\n selectedObj.SalesUnitId === selectedObj.Unit1Id\r\n ? selectedObj?.Unit2Price\r\n : selectedObj?.Unit1Price,\r\n TaxRate: PreInvoiceConstraint.HasTax ? selectedObj.TaxRate : 0,\r\n });\r\n\r\n updatePriceListDetails(\r\n [{ ...selectedObj,\r\n\r\n SalesUnitMaxOrderQty:null,\r\n SalesUnitMinOrderQty:0,\r\n MaxOrderQty:null,\r\n MinOrderQty:0,\r\n SalesUnitPrice:selectedObj.SalesUnitId === selectedObj.Unit1Id?selectedObj.Unit1Price:selectedObj.Unit2Price,\r\n SalesUnitId:selectedObj.SalesUnitId ,\r\n SalesUnitDiscount:selectedObj.Discount,\r\n \r\n }],\r\n true,\r\n true\r\n );\r\n };\r\n useEffect(() => {\r\n if (resetForm) setResetForm(false);\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode !== \"create\") {\r\n initializeFormWithSelectedObject();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (mode === \"create\" && priceListDetail.length > 0) {\r\n updateQuantity(\r\n priceListDetail[0]?.SalesUnitMinOrderQty\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty\r\n : 1,\r\n []\r\n );\r\n }\r\n if (mode !== \"create\" && priceListDetail.length > 0) {\r\n updateQuantity(\r\n selectedObj.ItemId == itemData.ItemId\r\n ? savedNewQty ?? +detailPriceData?.[\"Qty\" + numberOfSalesUnit]\r\n : priceListDetail[0]?.SalesUnitMinOrderQty\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty\r\n : 1,\r\n []\r\n );\r\n //when mode is edit this fun run becuase maybe user select current item through handleItemCode\r\n //when mode is edit this fun run becuase maybe user select new item through handleItemCode\r\n }\r\n }, [priceListDetail]);\r\n\r\n console.log(warehouseData?.WarehouseDetailId);\r\n \r\n\r\n\r\n return (\r\n
\r\n {showTree && (\r\n setShowTree(false)}\r\n show={showTree}\r\n >\r\n {\r\n setShowTree(false);\r\n }}\r\n itemCodeHandeler={handleItemCode}\r\n />\r\n \r\n )}\r\n\r\n {showWarehouseTree && (\r\n setShowWarehouseTree(false)}\r\n show={showWarehouseTree}\r\n >\r\n {\r\n setShowWarehouseTree(false);\r\n }}\r\n WarehouseIdHandeler={handleWarehouseSelection}\r\n />\r\n \r\n )}\r\n\r\n
\r\n \r\n {loading ? (\r\n
\r\n
\r\n\r\n\r\n\r\n {setUserChanges({ ...userChanges, ...e })}}\r\n setShowTree={setShowTree} \r\n setItemData={setItemData} \r\n warehouseData={warehouseData}\r\n detailPriceData={detailPriceData} \r\n itemData={itemData}/>\r\n\r\n\r\n\r\n\r\n{setUserChanges({ ...userChanges, ...e })}}\r\n numberOfSalesUnit={numberOfSalesUnit} \r\n priceList={priceList}\r\n priceListDetail={priceListDetail} \r\n currency={currency} \r\n Constraint={PreInvoiceConstraint}\r\n rate={rate}\r\n setRate={setRate}\r\n detailPriceData={detailPriceData} \r\n setPriceListDetail={setPriceListDetail}\r\n updateQuantity={updateQuantity}\r\n setDictionaryName={setDictionaryName}/>\r\n \r\n\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"DiscountPercent\"\r\n textboxType=\"text\"\r\n useTrans={false}\r\n labelText={trans(\"DiscountPercent\")+'%'}\r\n value={\r\n detailPriceData?.DiscountPercent\r\n ? detailPriceData?.DiscountPercent + \"\"\r\n : 0\r\n }\r\n onChange={(e) =>\r\n setDetailPriceData({\r\n ...detailPriceData,\r\n DiscountPercent: +e.target.value,\r\n Discount:\r\n (+e.target.value * detailPriceData?.SubTotalPrice) /\r\n 100,\r\n Price:\r\n detailPriceData?.SubTotalPrice -\r\n (+e.target.value * detailPriceData?.SubTotalPrice) /\r\n 100,\r\n })\r\n }\r\n defaultValue={\r\n detailPriceData?.DiscountPercent\r\n ? detailPriceData.DiscountPercent + \"\"\r\n : detailPriceData.DiscountPercent == 0\r\n ? \"0\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n mode={\r\n priceList.IsManual && mode != \"view\" ? \"create\" : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n max={100}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Discount\"\r\n textboxType=\"text\"\r\n labelText=\"Discount\"\r\n value={\r\n detailPriceData?.Discount\r\n ? detailPriceData?.Discount\r\n : 0\r\n }\r\n defaultValue={\r\n detailPriceData?.Discount\r\n ? detailPriceData?.Discount\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n decimals={currency.PriceRoundingPlace}\r\n round={false}\r\n onChange={(e) => {\r\n setDetailPriceData({\r\n ...detailPriceData,\r\n Price:\r\n detailPriceData?.SubTotalPrice -\r\n +e.target.value.replaceAll(\",\", \"\"),\r\n Discount: +e.target.value.replaceAll(\",\", \"\"),\r\n DiscountPercent:\r\n (+e.target.value.replaceAll(\",\", \"\") /\r\n detailPriceData?.SubTotalPrice) *\r\n 100,\r\n });\r\n }}\r\n mode={\r\n priceList.IsManual && mode != \"view\" ? \"create\" : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Price\"\r\n textboxType=\"text\"\r\n labelText=\"totalprice\"\r\n value={detailPriceData.Price + \"\"}\r\n defaultValue={\r\n detailPriceData?.Price ? detailPriceData.Price : null\r\n }\r\n decimals={currency.PriceRoundingPlace}\r\n round={false}\r\n resetForm={resetForm}\r\n mode={\r\n priceList.IsManual && mode != \"view\" ? \"create\" : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n
\r\n {\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"TaxRate\"\r\n textboxType=\"text\"\r\n useTrans={false}\r\n labelText={trans('TaxRate')+'%'}\r\n value={\r\n PreInvoiceConstraint.HasTax && detailPriceData?.TaxRate\r\n ? detailPriceData?.TaxRate + \"\"\r\n : 0\r\n }\r\n defaultValue={\r\n PreInvoiceConstraint.HasTax && detailPriceData?.TaxRate\r\n ? detailPriceData?.TaxRate\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n mode={\r\n \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n max={100}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n useGroupingPrice\r\n textboxName=\"Tax\"\r\n textboxType=\"text\"\r\n labelText=\"Tax\"\r\n decimals={currency.PriceRoundingPlace}\r\n defaultValue={\r\n PreInvoiceConstraint.HasTax && detailPriceData?.TaxRate\r\n ? PreInvoiceConstraint?.FloorTaxDuty ?\r\n FloorWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData?.Price) /\r\n 100,\r\n currency.PriceRoundingPlace,\r\n \r\n ) + \"\"\r\n :RoundWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData?.Price) /\r\n 100,\r\n currency.PriceRoundingPlace,\r\n \r\n ) + \"\"\r\n : \"0\"\r\n }\r\n value={\r\n PreInvoiceConstraint.HasTax && detailPriceData?.TaxRate\r\n ?PreInvoiceConstraint?.FloorTaxDuty?FloorWithRoundingPlace(\r\n (+detailPriceData?.TaxRate *\r\n +detailPriceData?.Price) /\r\n 100,\r\n currency.PriceRoundingPlace,\r\n \r\n ) + \"\": RoundWithRoundingPlace(\r\n (+detailPriceData?.TaxRate *\r\n +detailPriceData?.Price) /\r\n 100,\r\n currency.PriceRoundingPlace,\r\n \r\n ) + \"\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n mode={\r\n \"view\"\r\n }\r\n required={false}\r\n // onChange={(e) => {\r\n // if (priceList.IsManual) {\r\n // setDetailPriceData({\r\n // ...detailPriceData,\r\n // TaxRate:\r\n // (+e.target.value.replaceAll(\",\", \"\") * 100) /\r\n // detailPriceData.Price,\r\n // });\r\n // }\r\n // }}\r\n />\r\n
\r\n
\r\n }\r\n\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"GrandTotalPrice\"\r\n textboxType=\"text\"\r\n labelText=\"payableamount\"\r\n value={\r\n +detailPriceData.Price +\r\n (+detailPriceData?.TaxRate * +detailPriceData?.Price) /\r\n 100 +\r\n \"\"\r\n }\r\n defaultValue={\r\n +detailPriceData.Price +\r\n (+detailPriceData?.TaxRate * +detailPriceData?.Price) /\r\n 100 +\r\n \"\"\r\n }\r\n resetForm={resetForm}\r\n decimals={currency.PriceRoundingPlace}\r\n round={false}\r\n mode={\r\n priceList.IsManual && mode != \"view\" ? \"create\" : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n
\r\n\r\n {detailPriceData?.HasExpireDate && (\r\n
\r\n {\r\n setExpireDate(isoTime);\r\n }}\r\n val={mode != \"create\" ? selectedObj?.ExpireDate : null} //resetForm ? new Date().toISOString() :\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n resetForm={resetForm}\r\n required={false}\r\n />\r\n
\r\n )}\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n labelText=\"Remarks\"\r\n minHeight={1}\r\n defaultValue={\r\n mode != \"create\" ? selectedObj?.Description : null\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={false}\r\n maxLength={150}\r\n letterCounter={true}\r\n />\r\n
\r\n\r\n <>\r\n {mode != \"view\" ? (\r\n
\r\n {mode === \"create\" && (\r\n
\r\n ) : (\r\n
\r\n {\r\n cancel();\r\n }}\r\n />\r\n
\r\n )}\r\n \r\n \r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n <>\r\n {!!priceListDetail.length &&\r\n priceList.HasDetailRange &&\r\n (mode === \"create\" || (mode === \"edit\" && showPriceListDetail)) && (\r\n \r\n )}\r\n \r\n
\r\n \r\n );\r\n};\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getSalesInvoice = (pageNumber: number, pageSize: number, searchString, orderBy, filterlist ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.load,\r\n method: 'get',\r\n \r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist\r\n \r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getSalesInvoiceById = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.browse,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n Id:Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getSalesInvoiceByReferenceId = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.referenceId,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n ReferenceId:Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getTaxList = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemTax.browse,\r\n method: 'get',\r\n params: {\r\n id:Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getPriceListDetail = (Id,priceListId ,code , warehouseId ,warehouseDetailId,personId ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemPriceApis.ItemPrice,\r\n method: 'get',\r\n params: {\r\n ItemId:Id,\r\n ItemCode:code , \r\n PriceListId:priceListId,\r\n WarehouseId:warehouseId,\r\n CustomerPersonId:personId,\r\n\r\n //warehouseDetailId:warehouseDetailId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n \r\n});\r\n\r\nexport const postSalesInvoice = (data,SendSMS=false ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.load,\r\n method: 'post',\r\n data:data,\r\n params:{Confirm:false,SendSMS:SendSMS}\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getSalesInvoiceOrGenerate = (SourceData,SourceId,ReferenceId,JobId ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.getOrGenerate,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n SourceData,\r\n ReferenceId,\r\n JobId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const postSalesInvoiceWorkFlow = (data ,referenceId ,increased,SendSMS=false ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice?.[increased ? \"FromSourceWithIncrease\" : \"FromSource\"],\r\n method: 'post',\r\n data:data,\r\n params:{\r\n Confirm:false,\r\n referenceId:referenceId,\r\n sendSMS:SendSMS\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n}); \r\nexport const putSalesInvoiceworkflow = (data ,referenceId ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.workflow,\r\n method: 'put',\r\n params:{referenceId},\r\n data:data\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const putSalesInvoice = (data ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.load,\r\n method: 'put',\r\n data:data\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n}); \r\n\r\n\r\n\r\n\r\n\r\nexport const CalculateSalesInvoice = (data ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.Calculate,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'post',\r\n data:data,\r\n params:{Confirm:false}\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getInvoiceConstraint = ( ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.constraint,\r\n method: 'get',\r\n\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getDefaultPersonContact = (Id ) => http({\r\n\r\n url: ENDPOINTS.BaseInformation.PersonContact.default,\r\n method: 'get',\r\n params:{\r\n personId:Id\r\n }\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getPersonCustomer = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.load,\r\n method: 'get',\r\n params:{\r\n id:Id\r\n }\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getSources = (type,pageNumber=1,pageSize=10 ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: type==1? ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.browse:type==2?ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.load: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.load ,\r\n method: 'get',\r\nparams:{\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n}\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const GenerateFromSource = (SourceId, SourceData ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.generate,\r\n method: 'get',\r\n params:{\r\n SourceData ,\r\n SourceId\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const optionalDiscountHandler = (data ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.optionalDiscount,\r\n method: 'post',\r\n data:data\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const salesInvoiceViod = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.void,\r\n method: 'delete',\r\n params:{\r\n Id:id\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const salesInvoiceSync = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.sync,\r\n method: 'post',\r\n params:{\r\n id:id,\r\n Confirm:false\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getDataForPrint = ( Id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.printData,\r\n method: \"get\",\r\n params:{\r\n id:Id,\r\n useWarmSignature: true \r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { getPageSize, trans } from \"utils/helpers\";\r\nimport { getSources } from \"../../SalesInvoice/api\";\r\nimport { GenerateFromSource } from \"../api\";\r\n\r\n\r\ninterface DictionaryTypeSelectProps {\r\n value?: any;\r\n mode?: string;\r\n resetForm?: boolean;\r\n dataChange?: boolean;\r\n Change?: (e) => void;\r\n SourceObjCallBack: (e: any , obj?:any) => void,\r\n setHaveSource?:any\r\n\r\n\r\n\r\n}\r\nexport const SalesPreInvoiceSourceId = ({value,dataChange ,mode ,resetForm ,SourceObjCallBack ,Change,setHaveSource }:DictionaryTypeSelectProps) => {\r\n const [defaultval, setdefault] = useState(value);\r\n const [sourceType, setSourceType] = useState();\r\n const [showSources, setShowSources] = useState();\r\n const [selectedObj, setSelectedObj] = useState()\r\n const [loading, setLoading] = useState(false)\r\n const [data, setData] = useState()\r\n const sourceData =[\"WithoutSource\" ,\"SalesOrders\" ]\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(25);\r\n const [pages, setPages] = useState(0);\r\n\r\n async function getSourcesAsync(pagNum = pageNum) {\r\n setLoading(false)\r\n try {\r\n let pageSizeChangedByUser = getPageSize(\"SalesPreInvoiceSourceId\")\r\n setPageSize(pageSizeChangedByUser)\r\n const res = await getSources(sourceType,pagNum,pageSizeChangedByUser)\r\n setData(res.Data.Data)\r\n setShowSources(true)\r\n if (res.Data.Data.length > 0) {\r\n setData(res.Data)\r\n \r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) ;\r\n \r\n }\r\n } catch (error) {\r\n\r\n }\r\n setLoading(true)\r\n }\r\n async function GenerateFromSourceAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await GenerateFromSource(selectedObj.Id ,sourceData[+sourceType ])\r\n SourceObjCallBack(res.Data ,sourceType )\r\n setShowSources(false)\r\n } catch (error) {\r\n\r\n }\r\n setLoading(true)\r\n }\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n setPageNum(+value);\r\n getSourcesAsync(+value);\r\n } else {\r\n }\r\n };\r\n const handleNextPage = () => {\r\n if (data.TotalRecords && ((data.TotalRecords / pageSize) > pageNum)) {\r\n setPageNum((pageNum) => { return +pageNum + 1 });\r\n getSourcesAsync(pageNum + 1);\r\n\r\n }\r\n };\r\n const handlePrevPage = () => {\r\n if (pageNum > 1) {\r\n setPageNum((pageNum) => { return +pageNum - 1 });\r\n getSourcesAsync(pageNum - 1);\r\n }\r\n };\r\n\r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"SalesPreInvoiceSourceId\", e.currentTarget.value)\r\n getSourcesAsync(1);\r\n };\r\n\r\n useEffect(() => {\r\n setdefault(value)\r\n }, [resetForm]);\r\n\r\n\r\n return (\r\n <>\r\n\r\n <>\r\n {showSources&&\r\n {setShowSources(false)}} mode={mode} show={showSources } title={\"Source\" } >\r\n \r\n
\r\n {loading ?\r\n
\r\n {setSelectedObj(e);GenerateFromSourceAsync()}}\r\n parentName={\"Sources\"}\r\n theadData={Object.keys(data.Data[0])}\r\n tbodyData={data.Data}\r\n startIndex={2}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={setSelectedObj}\r\n totalRecords={data.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() => { getSourcesAsync(pages); setPageNum(pages) }}\r\n end={() => { getSourcesAsync(1); setPageNum(1) }}\r\n handleGoPage={handleGoPage}\r\n\r\n />\r\n
\r\n
\r\n
\r\n :\r\n }\r\n\r\n
\r\n
\r\n \r\n }\r\n\r\n \r\n
\r\n
\r\n {setSourceType(e.target.value);\r\n if(e.target.value=='بدون منبع')\r\n setHaveSource(false)\r\n }}\r\n lable={\"Source\"}\r\n selectType={'select'}\r\n options={[\"WithoutSource\" ,\"SalesOrder\" ]}\r\n val={[null , \"1\"]}\r\n name={\"SourceId\"}\r\n value={sourceData.indexOf(value)+\"\" }\r\n resetForm={resetForm}\r\n mode={dataChange&&( sourceType==trans(\"withoutSource\")||sourceType==null)? \"view\" : mode}\r\n /> \r\n
\r\n {(sourceType !=null&& sourceType!= trans(\"WithoutSource\") )&&\r\n
\r\n } btnType=\"primary\" />\r\n
\r\n }\r\n\r\n
\r\n \r\n \r\n\r\n );\r\n};","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Address } from \"components/Address/Address\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport {\r\n ContactType,\r\n CustomerDictionaryShowMethod,\r\n MessageType,\r\n} from \"types/enum\";\r\nimport { GUID_EMPTY, ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { convertAddress, GetReportWithJsonData, GroupingPriceFunction, RoundOutputOperation, trans } from \"utils/helpers\";\r\nimport { CustomerTabform } from \"../BaseDefinitionAndSetting/Customers/CustomerTabForm\";\r\nimport { CurrencyDictionary } from \"../PriceList/components/CurrencyDictionary/CurrencyDictionary\";\r\nimport { PriceListDictionary } from \"../PriceList/components/PriceListDictionary/PriceListDictionary\";\r\nimport { AddressBox } from \"../SalesInvoice/components/AddressBox/AddressBox\";\r\nimport { CustomerDictionary } from \"../SalesInvoice/components/CustomerDictionary/CustomerDictionary\";\r\nimport { CustomerPhoneDictionary } from \"../SalesInvoice/components/CustomerPhoneDictionary/CustomerPhoneDictionary\";\r\nimport { CustomerPhoneList } from \"../SalesInvoice/components/CustomerPhones/CustomerPhoneList\";\r\nimport { WarehouseForDetail } from \"../components/WarehouseForDetail\";\r\nimport { SalesPreInvoiceDetailForm } from \"./SalesPreInvoiceDetail\";\r\nimport {\r\n CalculateSalesPreInvoice,\r\n getDataForPrint,\r\n getDefaultPersonContact,\r\n getPersonCustomer,\r\n getPreInvoiceById,\r\n getPreInvoiceByReferenceId,\r\n getPreInvoiceConstraint,\r\n getSalesPreInvoiceOrGenerate,\r\n optionalDiscountHandler,\r\n postSalesPreInvoice,\r\n postSalesPreInvoiceWorkFlow,\r\n putSalesPreInvoice,\r\n putSalesPreInvoiceWorkflow,\r\n} from \"./api\";\r\nimport { SalesPreInvoiceSourceId } from \"./components/SalesPreInvoiceSourceId\";\r\nimport { Person } from \"components/Person/Person\";\r\nimport { ButtonPrintIcon } from \"components/ButtonPrintIcon/ButtonPrintIcon\";\r\n\r\ninterface SalesPreInvoiceFormProps {\r\n onHide?: (usenavigate?) => void;\r\n buttonPrintObjCallBack?: (obj) => void;\r\n relod: () => void;\r\n jobId?: any;\r\n processId?: any;\r\n taskId?: any;\r\n SourceData?: any;\r\n sourceDataParam?: any;\r\n sourceId?: any;\r\n referenceId?;\r\n step?: any;\r\n JobNo?: any;\r\n useGenerate?: any;\r\n rowObject?: any;\r\n mode: any;\r\n}\r\n\r\nexport const SalesPreInvoiceForm = ({\r\n mode,\r\n relod,\r\n buttonPrintObjCallBack,\r\n onHide,\r\n rowObject,\r\n step,\r\n referenceId,\r\n taskId,\r\n jobId,\r\n JobNo,\r\n useGenerate = true,\r\n processId,\r\n sourceDataParam,\r\n SourceData,\r\n sourceId,\r\n}: SalesPreInvoiceFormProps) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [haveSource, setHaveSource] = useState(\r\n SourceData ? SourceData : sourceDataParam\r\n );\r\n const [response, setResponse] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [listPosition, setListPosition] = useState({});\r\n const [customerInfo, setCustomerInfo] = useState(null);\r\n const [customer, setCustomer] = useState(null);\r\n const [salesPreInvoiceDate, setSalesPreInvoiceDate] = useState();\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [showForm, setShowForm] = useState(false);\r\n const [showAddressBox, setShowAddressBox] = useState<\r\n \"createMode\" | \"selectMode\" | null\r\n >(null);\r\n const invoiceRef1 = useRef(null);\r\n const [showCustomerPhoneForm, setShowCustomerPhoneForm] = useState(false);\r\n const [showCustomerform, setShowCustomerform] = useState(false);\r\n const [priceList, setPriceList] = useState(null);\r\n const [salesPreInvoiceDetail, setSalesPreInvoiceDetail] = useState([]);\r\n const [dataGridLoading, setDataGridLoading] = useState(true);\r\n const [lastWarehouse, setLastWarehouse] = useState(null);\r\n const [PreInvoiceConstraint, setPreInvoiceConstraint] = useState({});\r\n const [docsClassification, setDocsClassification] = useState(null);\r\n const [totalRows, setTotalRows] = useState({\r\n ItemCount: 0,\r\n TotalTax: 0,\r\n TotalDiscount: 0,\r\n SubTotalPrice: 0,\r\n });\r\n const [payment, setPayment] = useState({\r\n totalprice: 0,\r\n Addition: 0,\r\n Deduction: 0,\r\n Prepayment: 0,\r\n });\r\n const [receive, setReceive] = useState({\r\n GrandTotalPrice: 0,\r\n Prepayment: 0,\r\n });\r\n const [todayDate, settodayDate] = useState(\r\n new Date().toISOString()\r\n );\r\n const [dateLoading, setDateLoading] = useState(true); //for calc fun is runing\r\n const [optionalDiscount, setOptionalDiscount] = useState(null);\r\n const [detailMode, setDetailMode] = useState<\"create\" | \"edit\" | \"view\">(\r\n mode\r\n );\r\n const [dataChange, setDataChange] = useState(false);\r\n const [increased, setIncreased] = useState(false);\r\n const [showWarehouseForDetail, setShowWarehouseForDetail] =\r\n useState(false);\r\n const [warehouseData, setWarehouseData] = useState(lastWarehouse);\r\n const [noAccess, setNoAccess] = useState(false);\r\n\r\n const [salespreinvoiceno, setSalespreinvoiceno] = useState();\r\n const [salesPreInvoiceStatusId, setSalesPreInvoiceStatusId] = useState();\r\n const [person, setPerson] = useState(null);\r\n\r\n const [changeAddress, setChangeAddress] = useState();\r\n const [typePhoneContact, setTypePhonContact] = useState();\r\n const PreInvoiceRef = useRef(null);\r\n const [ExpireDate, setExpireDate] = useState();\r\n\r\n const [currencyInfo, setCurrencyInfo] = useState();\r\n const [selectedPhoneDetail, setSelectedPhoneDetail] = useState({\r\n phone: \"\",\r\n mobilePhone: \"\",\r\n });\r\n const [requiredFields, setRequiredFields] = useState();\r\n\r\n function setSalesPreInvoiceDetailHandler(data) {\r\n setDataGridLoading(false);\r\n setSalesPreInvoiceDetail(data);\r\n setDataGridLoading(true);\r\n }\r\n\r\n const handleSalesPreInvoiceDetailFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let SubTotalPrice: any = 0;\r\n let newsalesPreInvoiceDetail = JSON.parse(\r\n JSON.stringify(salesPreInvoiceDetail)\r\n )?.map((e: any) => {\r\n SubTotalPrice = +e.TotalPrice + SubTotalPrice;\r\n if (response?.Id == GUID_EMPTY) {\r\n delete e.Id;\r\n } else {\r\n }\r\n return e;\r\n });\r\n\r\n let data: any = {\r\n RecipientPersonDescription: \r\n person?.Name??\r\n null,\r\n RecipientPersonId: person?.Id\r\n ?? null,\r\n CurrencyId: event.target.CurrencyId.value,\r\n SalesPreInvoiceNo: event.target.SalesPreInvoiceNo.value,\r\n SalesPreInvoiceDate: salesPreInvoiceDate,\r\n ExpireDate: ExpireDate,\r\n PriceListId: event.target.PriceList?.value,\r\n PaymentMethodId: event.target.PaymentMethodId?.value,\r\n CustomerId: customerInfo?.Id,\r\n CustomerName: customer.Name,\r\n CustomerPhone: customer.SundryCustomer\r\n ? event.target?.CustomerPhone?.value\r\n : customer?.CustomerPhone?.Name.split(\":\")[1]\r\n ? customer?.CustomerPhone?.Name.split(\":\")[1]\r\n : customer?.CustomerPhone?.Name ?? null,\r\n CustomerMobilePhone: customer.SundryCustomer\r\n ? event.target?.CustomerMobilePhone?.value\r\n : customer?.CustomerMobilePhone?.Name.split(\":\")[1]\r\n ? customer?.CustomerMobilePhone?.Name.split(\":\")[1]\r\n : customer?.CustomerMobilePhone?.Name ?? null,\r\n CustomerAddress: event.target.Address?.value ?? null,\r\n CustomerEconNo: event.target.CustomerEconNo?.value,\r\n CustomerNationalCode: event.target.CustomerNationalCode?.value,\r\n SalesManagerPositionId: listPosition?.SalesManagerPosition?.Id,\r\n SalesManagerPositionDescription: listPosition?.SalesManagerPosition?.Name,\r\n SalesManagerPositionDescriptionEN:\r\n event.target.SalesManagerPositionDescriptionEN?.value,\r\n VisitorPositionId: listPosition?.VisitorPosition?.Id,\r\n VisitorPositionDescription: listPosition?.VisitorPosition?.Name,\r\n VisitorPositionDescriptionEN:\r\n event.target.VisitorPositionDescriptionEN?.value,\r\n DistributorPositionDescription: listPosition?.DistributorPosition?.Name,\r\n DistributorPositionDescriptionEN:\r\n event.target.DistributorPositionDescriptionEN?.value,\r\n DeliveryAddress: event.target.DeliveryAddress?.value,\r\n IsCurrancyPreInvoice: event.target.IsCurrancyPreInvoice?.checked,\r\n // CurrencyPrepayment: +event.target.CurrencyPrepayment?.value,\r\n Description: event.target.Description?.value,\r\n IsCurrency: false,\r\n SourceId: sourceId,\r\n SourceData: haveSource ? haveSource : response?.SourceData,\r\n Addition: +event.target.Addition?.value.replaceAll(\",\", \"\"),\r\n Deduction: +event.target.Deduction?.value.replaceAll(\",\", \"\"),\r\n TotalDiscount: +totalRows?.TotalDiscount,\r\n TotalPrice: +payment.totalprice,\r\n TotalTax: PreInvoiceConstraint ? +totalRows?.TotalTax : 0,\r\n GrandTotalPrice:\r\n +totalRows?.SubTotalPrice -\r\n +totalRows?.TotalDiscount +\r\n +totalRows?.TotalTax +\r\n +event.target.Addition?.value.replaceAll(\",\", \"\") -\r\n +event.target.Deduction?.value.replaceAll(\",\", \"\"),\r\n CreditPayment: +event.target.CreditPayment?.value.replaceAll(\",\", \"\"),\r\n Prepayment: +event.target.Prepayment?.value.replaceAll(\",\", \"\"),\r\n SubTotalPrice: +totalRows?.SubTotalPrice,\r\n SalesPreInvoiceDetailDTOList: newsalesPreInvoiceDetail,\r\n };\r\n try {\r\n if (mode == \"create\") {\r\n const res = await postSalesPreInvoice(data);\r\n if (res.MessageType == MessageType.success) {\r\n onHide && onHide(true);\r\n relod();\r\n }\r\n } else {\r\n const exteraData = {\r\n JobId: response.JobId ? response.JobId : jobId,\r\n JobNo: response.JobNo ? response.JobNo : JobNo,\r\n TAS_UID: taskId,\r\n };\r\n if (jobId) {\r\n if (response?.Id == GUID_EMPTY) {\r\n const res = await postSalesPreInvoiceWorkFlow(\r\n { ...data, ...exteraData },\r\n referenceId,\r\n increased\r\n );\r\n getPreInvoiceAsync();\r\n } else {\r\n const res = await putSalesPreInvoiceWorkflow(\r\n {\r\n ...data,\r\n ...exteraData,\r\n Id: response?.Id,\r\n SalesPreInvoiceStatusId: salesPreInvoiceStatusId,\r\n },\r\n referenceId\r\n );\r\n }\r\n } else {\r\n const res = await putSalesPreInvoice({\r\n ...data,\r\n ...exteraData,\r\n Id: response?.Id,\r\n SalesPreInvoiceStatusId: salesPreInvoiceStatusId,\r\n });\r\n onHide && onHide();\r\n relod();\r\n }\r\n }\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n } catch (error: any) { \r\n if (error.response.data.MessageType == MessageType.confirm) { \r\n // Toast(error.response.data.Message, \"warning\", \"alert\", () => {\r\n // setResponse(error.response.data.Data);\r\n\r\n // setSalesPreInvoiceDetail(\r\n // error.response.data.Data?.SalesPreInvoiceDetailDTOList\r\n // );\r\n // let newItemCount = 0;\r\n // error.response.data.Data?.SalesPreInvoiceDetailDTOList.map((item) => {\r\n // newItemCount += item.Qty1;\r\n // });\r\n // setTotalRows({\r\n // ItemCount: newItemCount,\r\n // TotalTax: PreInvoiceConstraint.HasTax\r\n // ? error.response.data.Data?.TotalTax\r\n // : 0,\r\n // TotalDiscount: error.response.data.Data?.TotalDiscount,\r\n // SubTotalPrice: error.response.data.Data?.SubTotalPrice,\r\n // });\r\n // setPayment({\r\n // totalprice: error.response.data.Data?.TotalPrice,\r\n // Addition: error.response.data.Data?.Addition,\r\n // Deduction: error.response.data.Data?.Deduction,\r\n // Prepayment: error.response.data.Data?.Prepayment,\r\n // });\r\n // setReceive({\r\n // GrandTotalPrice: error.response.data.Data?.GrandTotalPrice,\r\n // Prepayment: error.response.data.Data?.Prepayment,\r\n // });\r\n // });\r\n setDateLoading(false);\r\n Toast(error.response.data.Message, MessageType.confirm, () => {\r\n setResponse({...error.response.data.Data,ExpireDate:ExpireDate,SalesPreInvoiceDate:salesPreInvoiceDate});\r\n\r\n setSalesPreInvoiceDetail(\r\n error.response.data.Data?.SalesPreInvoiceDetailDTOList\r\n );\r\n let newItemCount = 0;\r\n error.response.data.Data?.SalesPreInvoiceDetailDTOList.map((item) => {\r\n newItemCount += item.Qty1;\r\n });\r\n setTotalRows({\r\n ItemCount: newItemCount,\r\n TotalTax: PreInvoiceConstraint.HasTax\r\n ? error.response.data.Data?.TotalTax\r\n : 0,\r\n TotalDiscount: error.response.data.Data?.TotalDiscount,\r\n SubTotalPrice: error.response.data.Data?.SubTotalPrice,\r\n });\r\n setPayment({\r\n totalprice: error.response.data.Data?.TotalPrice,\r\n Addition: error.response.data.Data?.Addition,\r\n Deduction: error.response.data.Data?.Deduction,\r\n Prepayment: error.response.data.Data?.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: error.response.data.Data?.GrandTotalPrice,\r\n Prepayment: error.response.data.Data?.Prepayment,\r\n });\r\n setDateLoading(true)\r\n });\r\n }\r\n }\r\n };\r\n const sendDataForCalcAsync = async (newPriceList) => {\r\n setDateLoading(false);\r\n\r\n let SubTotalPrice: any = 0;\r\n\r\n let newsalesPreInvoiceDetail = JSON.parse(\r\n JSON.stringify(salesPreInvoiceDetail)\r\n ).map((e: any) => {\r\n SubTotalPrice = +e.TotalPrice + SubTotalPrice;\r\n //delete e.Id;\r\n return e;\r\n });\r\n\r\n let data: any = {\r\n CurrencyId: newPriceList?.CurrencyId,\r\n SalesPreInvoiceNo: PreInvoiceRef.current.SalesPreInvoiceNo?.value,\r\n SalesPreInvoiceDate: salesPreInvoiceDate,\r\n ExpireDate: ExpireDate,\r\n PriceListId: newPriceList\r\n ? newPriceList.Id\r\n : salesPreInvoiceDate.current?.PriceList?.value,\r\n PaymentMethodId: PreInvoiceRef.current.PaymentMethodId?.value,\r\n CustomerId: customerInfo?.Id,\r\n CustomerName: customer?.Name,\r\n CustomerPhone: customer?.SundryCustomer\r\n ? PreInvoiceRef.current?.CustomerPhone?.value\r\n : customer?.CustomerPhone?.Name.split(\":\")[1]\r\n ? customer?.CustomerPhone?.Name.split(\":\")[1]\r\n : customer?.CustomerPhone?.Name ?? null,\r\n CustomerMobilePhone: customer?.SundryCustomer\r\n ? PreInvoiceRef.current?.CustomerMobilePhone?.value\r\n : customer?.CustomerMobilePhone?.Name.split(\":\")[1]\r\n ? customer?.CustomerMobilePhone?.Name.split(\":\")[1]\r\n : customer?.CustomerMobilePhone?.Name ?? null,\r\n CustomerAddress: PreInvoiceRef.current.Address?.value ?? null,\r\n CustomerEconNo: PreInvoiceRef.current.CustomerEconNo?.value,\r\n CustomerNationalCode: PreInvoiceRef.current.CustomerNationalCode?.value,\r\n RecipientPersonDescription: person?.Name\r\n ?? null,\r\n RecipientPersonId: person?.Id\r\n ?? null,\r\n SalesManagerPositionId: listPosition?.SalesManagerPosition?.Id,\r\n SalesManagerPositionDescription: listPosition?.SalesManagerPosition?.Name,\r\n SalesManagerPositionDescriptionEN:\r\n PreInvoiceRef.current.SalesManagerPositionDescriptionEN?.value,\r\n VisitorPositionId: listPosition?.VisitorPosition?.Id,\r\n VisitorPositionDescription: listPosition?.VisitorPosition?.Name,\r\n VisitorPositionDescriptionEN:\r\n PreInvoiceRef.current.VisitorPositionDescriptionEN?.value,\r\n DistributorPositionDescription: listPosition?.DistributorPosition?.Name,\r\n DistributorPositionDescriptionEN:\r\n PreInvoiceRef.current.DistributorPositionDescriptionEN?.value,\r\n DeliveryAddress: PreInvoiceRef.current.DeliveryAddress?.value,\r\n IsCurrancyPreInvoice: PreInvoiceRef.current.IsCurrancyPreInvoice?.checked,\r\n // CurrencyPrepayment: +PreInvoiceRef.current.CurrencyPrepayment?.value,\r\n Description: PreInvoiceRef.current.Description?.value,\r\n IsCurrency: false,\r\n SourceId: sourceId,\r\n SourceData: haveSource ? haveSource : response?.SourceData,\r\n Addition: +PreInvoiceRef.current.Addition?.value.replaceAll(\",\", \"\"),\r\n Deduction: +PreInvoiceRef.current.Deduction?.value.replaceAll(\",\", \"\"),\r\n TotalDiscount: +totalRows?.TotalDiscount,\r\n TotalPrice: +payment.totalprice,\r\n TotalTax: PreInvoiceConstraint ? +totalRows?.TotalTax : 0,\r\n GrandTotalPrice:\r\n +totalRows?.SubTotalPrice -\r\n +totalRows?.TotalDiscount +\r\n +totalRows?.TotalTax +\r\n +PreInvoiceRef.current.Addition?.value.replaceAll(\",\", \"\") -\r\n +PreInvoiceRef.current.Deduction?.value.replaceAll(\",\", \"\"),\r\n CreditPayment: +PreInvoiceRef.current.CreditPayment?.value.replaceAll(\r\n \",\",\r\n \"\"\r\n ),\r\n Prepayment: +PreInvoiceRef.current.Prepayment?.value.replaceAll(\",\", \"\"),\r\n SubTotalPrice: +totalRows?.SubTotalPrice,\r\n SalesPreInvoiceDetailDTOList: newsalesPreInvoiceDetail,\r\n JobId: response.JobId ? response.JobId : jobId,\r\n JobNo: response.JobNo ? response.JobNo : JobNo,\r\n TAS_UID: taskId,\r\n Id: response.Id,\r\n };\r\n try {\r\n if ((mode !== \"view\" || jobId) && priceList.Id != newPriceList.Id) {\r\n const res = await CalculateSalesPreInvoice(data);\r\n setResponse({...res.Data ,ExpireDate: ExpireDate});\r\n\r\n setSalesPreInvoiceDetail(res.Data?.SalesPreInvoiceDetailDTOList);\r\n let newItemCount = 0;\r\n res.Data?.SalesPreInvoiceDetailDTOList.map((item) => {\r\n newItemCount += item.Qty1;\r\n });\r\n setTotalRows({\r\n ItemCount: newItemCount,\r\n TotalTax: PreInvoiceConstraint.HasTax ? res.Data?.TotalTax : 0,\r\n TotalDiscount: res.Data?.TotalDiscount,\r\n SubTotalPrice: res.Data?.SubTotalPrice,\r\n });\r\n setPayment({\r\n totalprice: res.Data?.totalprice,\r\n Addition: res.Data?.Addition,\r\n Deduction: res.Data?.Deduction,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: res.Data?.GrandTotalPrice,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n }\r\n setPriceList(newPriceList);\r\n\r\n } catch (error) {\r\n setPriceList(priceList);\r\n }\r\n\r\n setDateLoading(true);\r\n };\r\n async function getDefaultPersonContactAsync(personId) {\r\n try {\r\n const res2 = await getPersonCustomer(personId);\r\n\r\n setCustomer((pre) => {\r\n return {\r\n ...pre,\r\n Id: res2.Data.Customer.Id,\r\n Name: res2.Data.Customer.CustomerPersonDescription,\r\n SundryCustomer:\r\n res2.Data.Customer.Id == PreInvoiceConstraint?.SundryCustomerId,\r\n };\r\n });\r\n if (res2.Data.Customer.Id == PreInvoiceConstraint?.SundryCustomerId) {\r\n setCustomerInfo({ ...res2?.Data?.Customer });\r\n } else {\r\n if (mode != \"view\") {\r\n const res = await getDefaultPersonContact(\r\n res2?.Data?.Customer?.CustomerPersonId\r\n );\r\n setCustomerInfo({ ...res.Data, ...res2?.Data?.Customer });\r\n } else setCustomerInfo({ ...res2?.Data?.Customer });\r\n }\r\n\r\n setListPosition({\r\n VisitorPosition: {\r\n Id: res2?.Data?.Customer.VisitorPositionId,\r\n Name: res2?.Data?.Customer.VisitorPositionDescription,\r\n },\r\n });\r\n } catch (error) {}\r\n }\r\n async function getPreInvoiceConstraintAsync(withLoading = false) {\r\n if (withLoading) setLoading(false);\r\n\r\n try {\r\n const res = await getPreInvoiceConstraint();\r\n setSalespreinvoiceno(res.Data?.DocNo);\r\n setPreInvoiceConstraint(res.Data);\r\n setRequiredFields(JSON.parse(res.Data.RequiredFields));\r\n if (withLoading) setLoading(true);\r\n return res.Data;\r\n } catch (error) {}\r\n if (withLoading) setLoading(true);\r\n }\r\n function addWarehouse(e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n let newList: any = [];\r\n\r\n salesPreInvoiceDetail.map((item) => {\r\n newList.push({\r\n ...item,\r\n WarehouseId: warehouseData?.WarehouseId,\r\n WarehouseDetailId: warehouseData?.WarehouseDetailId,\r\n Warehouse: warehouseData.WarehouseTitle,\r\n WarehouseDetail: warehouseData?.WarehouseDetail,\r\n });\r\n });\r\n setSalesPreInvoiceDetail(newList);\r\n }\r\n\r\n async function getPreInvoiceAsync() {\r\n setLoading(false);\r\n const constraint = await getPreInvoiceConstraintAsync();\r\n if (jobId) {\r\n let res: any;\r\n if (useGenerate && (sourceDataParam && mode != \"view\")) {\r\n res = await getSalesPreInvoiceOrGenerate(\r\n sourceDataParam,\r\n sourceId,\r\n referenceId,\r\n jobId\r\n );\r\n setResponse(res.Data);\r\n } else {\r\n if (referenceId) {\r\n res = await getPreInvoiceByReferenceId(referenceId);\r\n //res = await getPreInvoiceById(jobId);\r\n } else {\r\n res = await getPreInvoiceById(jobId);\r\n }\r\n setResponse(res.Data);\r\n }\r\n\r\n if (res.Data != null) {\r\n if(res.Data.Id && res.Data.Id!=GUID_EMPTY){\r\n if(invoiceRef1.current!=null){\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack({\r\n Id: res.Data.Id ,\r\n reportDomain:\"OfficeAutomation\",\r\n objectTag:\"SalesPreInvoiceForm\",\r\n apiFunction:getDataForPrint\r\n })}\r\n }else{\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack(null) \r\n }\r\n let count = 0;\r\n res.Data.SalesPreInvoiceDetailDTOList.map((item) => {\r\n count += +item?.Qty1;\r\n });\r\n setHaveSource(res.Data.SourceData);\r\n setSalesPreInvoiceDetail(res.Data.SalesPreInvoiceDetailDTOList);\r\n setTotalRows({\r\n ItemCount: count,\r\n TotalTax: constraint?.HasTax ? res.Data?.TotalTax : 0,\r\n TotalDiscount: res.Data?.TotalDiscount,\r\n SubTotalPrice: res.Data?.SubTotalPrice,\r\n });\r\n setPayment({\r\n totalprice: res.Data?.totalprice,\r\n Addition: res.Data?.Addition,\r\n Deduction: res.Data?.Deduction,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: res.Data?.GrandTotalPrice,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n }\r\n } else {\r\n const res = await getPreInvoiceById(rowObject.Id);\r\n setHaveSource(res.Data.SourceData);\r\n if(res.Data.Id && res.Data.Id!=GUID_EMPTY){\r\n if(invoiceRef1.current!=null){\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack({\r\n Id: res.Data.Id ,\r\n reportDomain:\"OfficeAutomation\",\r\n objectTag:\"SalesPreInvoiceForm\",\r\n apiFunction:getDataForPrint\r\n })\r\n }\r\n }\r\n else{\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack(null) \r\n }\r\n setResponse(res.Data);\r\n let count = 0;\r\n res.Data.SalesPreInvoiceDetailDTOList.map((item) => {\r\n count += +item?.Qty1;\r\n });\r\n setSalesPreInvoiceDetail(res.Data.SalesPreInvoiceDetailDTOList);\r\n setTotalRows({\r\n ItemCount: count,\r\n TotalTax: constraint.HasTax ? res.Data?.TotalTax : 0,\r\n TotalDiscount: res.Data?.TotalDiscount,\r\n SubTotalPrice: res.Data?.SubTotalPrice,\r\n });\r\n setPayment({\r\n totalprice: res.Data?.totalprice,\r\n Addition: res.Data?.Addition,\r\n Deduction: res.Data?.Deduction,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: res.Data?.GrandTotalPrice,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n if (mode == \"view\") {\r\n setPreInvoiceConstraint({\r\n ...PreInvoiceConstraint,\r\n DetailDTO: res.Data.SalesPreInvoiceDetailDTOList[0],\r\n });\r\n }\r\n }\r\n\r\n try {\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n async function optionalDiscountHandlerAsync() {\r\n let data = {\r\n PriceRoundingPlace: currencyInfo?.PriceRoundingPlace,\r\n OptionalDiscount: +optionalDiscount,\r\n Addition: +payment.Addition,\r\n Deduction: +payment.Deduction,\r\n DetailDTOList: salesPreInvoiceDetail,\r\n };\r\n\r\n try {\r\n const res = await optionalDiscountHandler(data);\r\n setTotalRows({\r\n ItemCount: res.Data.ItemCount,\r\n TotalTax: PreInvoiceConstraint.HasTax ? res.Data.TotalTax : 0,\r\n TotalDiscount: res.Data.TotalDiscount,\r\n SubTotalPrice: res.Data.SubTotalPrice,\r\n });\r\n setSalesPreInvoiceDetailHandler(res.Data.SalesPreInvoiceDetailDTOList);\r\n } catch (error) {}\r\n }\r\n\r\n const handlesetPreInvoiceDetail = (newObj) => {\r\n if (detailMode == \"create\") setIncreased(true);\r\n if (PreInvoiceConstraint.AllowDuplicateItems || detailMode == \"edit\") {\r\n setTotalRows({\r\n ItemCount:\r\n detailMode == \"create\"\r\n ? RoundOutputOperation(totalRows.ItemCount + +newObj.Qty1)\r\n : RoundOutputOperation(totalRows.ItemCount + (+newObj.Qty1 - +selectedObj.Qty1)),\r\n TotalTax:\r\n detailMode == \"create\"\r\n ? totalRows.TotalTax + +newObj.Tax\r\n : totalRows.TotalTax + (+newObj.Tax - +selectedObj.Tax),\r\n TotalDiscount:\r\n detailMode == \"create\"\r\n ? totalRows.TotalDiscount + +newObj.Discount\r\n : totalRows.TotalDiscount +\r\n (+newObj.Discount - +selectedObj.Discount),\r\n SubTotalPrice:\r\n detailMode == \"create\"\r\n ? totalRows.SubTotalPrice + +newObj.SubTotalPrice\r\n : totalRows.SubTotalPrice +\r\n (+newObj.SubTotalPrice - +selectedObj.SubTotalPrice),\r\n });\r\n if (detailMode == \"create\") {\r\n setSalesPreInvoiceDetailHandler([...salesPreInvoiceDetail, newObj]);\r\n } else {\r\n let newItemes = salesPreInvoiceDetail?.map((item: any) => {\r\n if (item.Id == newObj.Id) {\r\n return newObj;\r\n } else return item;\r\n });\r\n setSalesPreInvoiceDetailHandler(newItemes);\r\n }\r\n // Toast(\"msg_saveddatasuccessfully\", \"success\");\r\n Toast(\"msg_saveddatasuccessfully\", MessageType.success);\r\n\r\n setDataChange(true);\r\n return true;\r\n } else {\r\n let Dupli = salesPreInvoiceDetail?.find(\r\n (e: any) => e.ItemId == newObj.ItemId\r\n );\r\n if (!Dupli || salesPreInvoiceDetail.length == 0) {\r\n setTotalRows({\r\n ItemCount:\r\n detailMode == \"create\"\r\n ? RoundOutputOperation(totalRows.ItemCount + +newObj.Qty1)\r\n : RoundOutputOperation(totalRows.ItemCount + (+newObj.Qty1 - +selectedObj.Qty1)),\r\n TotalTax:\r\n detailMode == \"create\"\r\n ? +totalRows.TotalTax + +newObj.Tax\r\n : +totalRows.TotalTax + (+newObj.Tax - +selectedObj.Tax),\r\n TotalDiscount:\r\n detailMode == \"create\"\r\n ? totalRows.TotalDiscount + +newObj.Discount\r\n : totalRows.TotalDiscount +\r\n (+newObj.Discount - +selectedObj.Discount),\r\n SubTotalPrice:\r\n detailMode == \"create\"\r\n ? totalRows.SubTotalPrice + +newObj.SubTotalPrice\r\n : totalRows.SubTotalPrice +\r\n (+newObj.SubTotalPrice - +selectedObj.SubTotalPrice),\r\n });\r\n if (detailMode == \"create\") {\r\n setSalesPreInvoiceDetailHandler([...salesPreInvoiceDetail, newObj]);\r\n } else {\r\n let newItemes = salesPreInvoiceDetail?.map((item: any) => {\r\n if (item.Id == newObj.Id) {\r\n return newObj;\r\n } else return item;\r\n });\r\n setSalesPreInvoiceDetailHandler(newItemes);\r\n }\r\n // Toast(\"msg_saveddatasuccessfully\", \"success\");\r\n Toast(\"msg_saveddatasuccessfully\", MessageType.success);\r\n\r\n setDataChange(true);\r\n return true;\r\n } else {\r\n // Toast(\"msg_duplicateitems\", \"error\");\r\n Toast(\"msg_duplicateitems\", MessageType.error);\r\n\r\n return false;\r\n }\r\n }\r\n };\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n };\r\n\r\n const getDataForPrintAsync =async (id) => {\r\n if(response?.Id){\r\n if(id.includes(\"Design\")){\r\n const res = await getDataForPrint(response?.Id)\r\n GetReportWithJsonData( id.replace(\"Design\" , \"\"), res.Data ,2)\r\n }else if(id.includes(\"Default\")){\r\n const res = await getDataForPrint(response?.Id)\r\n GetReportWithJsonData( id.replace(\"Default\" , \"\"), res.Data ,2)\r\n }else{\r\n const res = await getDataForPrint(response?.Id)\r\n/* const dataStr = JSON.stringify(res.Data);\r\n const blob = new Blob([dataStr], { type: 'application/json' });\r\n const url = URL.createObjectURL(blob); */\r\n GetReportWithJsonData( id, res.Data ,1 )\r\n }\r\n }\r\n try {\r\n } catch (error) {\r\n \r\n }\r\n};\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // onHide && onHide();\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n onHide && onHide();\r\n });\r\n } else {\r\n onHide && onHide();\r\n }\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n\r\n const handleDeleteRow = async (id: string = selectedObj.Id) => {\r\n let newPriceListDetail: any = [...salesPreInvoiceDetail];\r\n let obj = newPriceListDetail.filter((e) => e.Id == id)[0];\r\n\r\n setTotalRows({\r\n ItemCount: RoundOutputOperation(totalRows.ItemCount - +obj.Qty1),\r\n TotalTax: totalRows.TotalTax - +obj.Tax,\r\n TotalDiscount: totalRows.TotalDiscount - +obj.Discount,\r\n SubTotalPrice: totalRows.SubTotalPrice - +obj.SubTotalPrice,\r\n });\r\n setSalesPreInvoiceDetailHandler(\r\n newPriceListDetail.filter((e) => e.Id != id)\r\n );\r\n };\r\n const handleEditDetails = (e) => {\r\n if (\r\n salesPreInvoiceDetail.length > 0 &&\r\n (!salesPreInvoiceDetail?.[0]?.WarehouseId ||\r\n salesPreInvoiceDetail[0].WarehouseId == GUID_EMPTY)\r\n ) {\r\n // Toast(\"Msg_ChooseWarehouse\", \"error\");\r\n Toast(\"Msg_ChooseWarehouse\", MessageType.error);\r\n\r\n } else {\r\n if (priceList == null || !priceList || priceList.Id == GUID_EMPTY) {\r\n // Toast(trans(\"Msg_ChoosePriceList\"), \"error\");\r\n Toast(trans(\"Msg_ChoosePriceList\"), MessageType.error);\r\n\r\n } else {\r\n setSelectedObj(e);\r\n setDetailMode(\"edit\");\r\n setShowForm(true);\r\n }\r\n }\r\n };\r\n\r\n const handleSourceData = (obj, type) => {\r\n setResponse(obj);\r\n setHaveSource(type);\r\n setPriceList({ ...priceList, Id: obj.PriceListId });\r\n setSalesPreInvoiceDetailHandler(obj.SalesPreInvoiceDetailDTOList);\r\n setTotalRows({\r\n ItemCount: obj?.ItemCount,\r\n TotalTax: obj?.TotalTax,\r\n TotalDiscount: obj?.TotalDiscount,\r\n SubTotalPrice: obj?.SubTotalPrice,\r\n });\r\n setCustomer((prev) => {\r\n return { ...prev, Id: obj?.CustomerId, Name: obj?.CustomerName };\r\n });\r\n };\r\n\r\n const handleOpenDetailForm = () => {\r\n if (\r\n priceList.Id != GUID_EMPTY &&\r\n (customerInfo?.CustomerPersonId || customer?.SundryCustomer)\r\n ) {\r\n if (\r\n salesPreInvoiceDetail.length > 0 &&\r\n (!salesPreInvoiceDetail?.[0]?.WarehouseId ||\r\n salesPreInvoiceDetail[0].WarehouseId == GUID_EMPTY)\r\n ) {\r\n // Toast(\"Msg_ChooseWarehouse\", \"error\");\r\n Toast(\"Msg_ChooseWarehouse\",MessageType.error);\r\n\r\n } else {\r\n setShowForm(true);\r\n setDetailMode(\"create\");\r\n }\r\n } else {\r\n if (!customer?.Id) {\r\n // Toast(\"Msg_customer\", \"error\");\r\n Toast(\"msg_customernotselected\", MessageType.error);\r\n } else {\r\n // Toast(\"msg_choosepricelist\", \"error\");\r\n Toast(\"msg_choosepricelist\", MessageType.error);\r\n\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (Object.values(userChanges).filter((item) => item != null).length > 0) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n } else {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (mode != \"create\") {\r\n getPreInvoiceAsync();\r\n } else {\r\n getPreInvoiceConstraintAsync(true);\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n useEffect(() => {\r\n setPayment((prev) => {\r\n return {\r\n ...prev,\r\n totalprice: +totalRows?.SubTotalPrice - +totalRows?.TotalDiscount,\r\n };\r\n });\r\n }, [totalRows]);\r\n useEffect(() => {\r\n setReceive((prev) => {\r\n return {\r\n ...prev,\r\n GrandTotalPrice:\r\n +payment.totalprice +\r\n +payment?.Addition +\r\n +totalRows?.TotalTax -\r\n +payment?.Deduction,\r\n };\r\n });\r\n }, [payment]);\r\n\r\n return (\r\n
\r\n {showForm ? (\r\n {\r\n setShowForm(false);\r\n }}\r\n show={showForm}\r\n title={\"SalesPreInvoiceDetailForm\"}\r\n >\r\n {\r\n setShowForm(false);\r\n }}\r\n priceList={priceList}\r\n selectedObj={selectedObj}\r\n PreInvoiceConstraint={PreInvoiceConstraint}\r\n SalesPreInvoiceDetailCallBack={(e) => handlesetPreInvoiceDetail(e)}\r\n personId={customerInfo?.CustomerPersonId}\r\n SourceData={SourceData}\r\n currency={currencyInfo}\r\n salesPreInvoiceId={response.Id}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {showWarehouseForDetail && (\r\n {\r\n setShowWarehouseForDetail(false);\r\n }}\r\n show={showWarehouseForDetail}\r\n title={\"Warehouse\"}\r\n >\r\n {\r\n setSelectedObj(null);\r\n setSalesPreInvoiceDetail(e);\r\n setShowWarehouseForDetail(false);\r\n }}\r\n selectedObj={selectedObj}\r\n />\r\n \r\n )}\r\n {showCustomerPhoneForm ? (\r\n {\r\n setShowCustomerPhoneForm(false);\r\n }}\r\n show={showCustomerPhoneForm}\r\n title={\"CustomerPhoneForm\"}\r\n >\r\n {\r\n setShowCustomerPhoneForm(false);\r\n }}\r\n type={typePhoneContact}\r\n handlePhone={(e) => {\r\n typePhoneContact == ContactType.Phone\r\n ? setSelectedPhoneDetail({ ...selectedPhoneDetail, phone: e })\r\n : setSelectedPhoneDetail({ ...selectedPhoneDetail, mobile: e });\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {showAddressBox ? (\r\n {\r\n setShowAddressBox(null);\r\n }}\r\n mode={mode}\r\n show={showAddressBox && true}\r\n title={\"Address\"}\r\n >\r\n {\r\n setShowAddressBox(null);\r\n }}\r\n status={showAddressBox}\r\n AddressHandeler={(e) => {\r\n setChangeAddress(JSON.stringify(e).toLowerCase());\r\n setCustomerInfo({\r\n ...customerInfo,\r\n Address: JSON.stringify(e).toLowerCase(),\r\n });\r\n setShowAddressBox(null);\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {showCustomerform ? (\r\n {\r\n setShowCustomerform(false);\r\n }}\r\n show={showCustomerform}\r\n title={\"Customer\"}\r\n >\r\n {\r\n setShowCustomerform(false);\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {loading ? (\r\n \r\n {/*
\r\n { (response?.Id!==GUID_EMPTY && response?.Id) && {getDataForPrintAsync(e)}} />}\r\n
*/}\r\n \r\n
\r\n
\r\n \r\n
\r\n {\r\n handleSourceData(e, type);\r\n }}\r\n value={haveSource ? haveSource : \"undefined\"}\r\n resetForm={resetForm}\r\n dataChange={dataChange}\r\n mode={mode == \"view\" || jobId ? \"view\" : mode}\r\n setHaveSource={setHaveSource}\r\n />\r\n
\r\n {(!PreInvoiceConstraint.IsClassificationIgnored ||\r\n docsClassification) && (\r\n
\r\n {\r\n setSalespreinvoiceno(e.target.value);\r\n }}\r\n mode={mode}\r\n />\r\n
\r\n )}\r\n {dateLoading && (\r\n <>\r\n {\" \"}\r\n
\r\n {\r\n setSalesPreInvoiceDate(isoTime);\r\n }}\r\n val={\r\n response?.SalesPreInvoiceDate &&\r\n response?.SalesPreInvoiceDate != \"0001/01/01\" &&\r\n mode != \"create\"\r\n ? response?.SalesPreInvoiceDate\r\n : PreInvoiceConstraint?.IsNewDocCurrentDate\r\n ? todayDate\r\n : null\r\n } //resetForm ? new Date().toISOString() :\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setExpireDate(isoTime);\r\n }}\r\n val={mode != \"create\" ? response?.ExpireDate : null} //resetForm ? new Date().toISOString() :\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n resetForm={resetForm}\r\n />\r\n
\r\n \r\n )}\r\n\r\n
\r\n
\r\n setNoAccess(true)}\r\n name=\"CustomerName\"\r\n label=\"CustomerName\"\r\n resetForm={resetForm}\r\n value={haveSource ? response?.CustomerId : \"\"}\r\n ShowMethod={PreInvoiceConstraint?.ChangeDocCustomer}\r\n CustomerName={response?.CustomerName}\r\n mode={\r\n haveSource &&\r\n PreInvoiceConstraint?.CustomerDictionaryShowMethod ==\r\n CustomerDictionaryShowMethod.OnlyCustomer\r\n ? \"view\"\r\n : mode\r\n }\r\n returnObj={true}\r\n required={true}\r\n onChange={(e) => {\r\n if (e.Id) {\r\n setCustomer((prev) => {\r\n return { ...e, ...prev };\r\n });\r\n getDefaultPersonContactAsync(e.Id);\r\n }\r\n }}\r\n />\r\n
\r\n {mode == \"create\" && !noAccess && (\r\n
\r\n {\r\n e.preventDefault();\r\n setShowCustomerform(true);\r\n }}\r\n className=\"checkButton\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
\r\n )}\r\n
\r\n\r\n
\r\n 0 &&\r\n (!salesPreInvoiceDetail?.[0]?.WarehouseId ||\r\n salesPreInvoiceDetail[0].WarehouseId == GUID_EMPTY)\r\n )\r\n }\r\n name=\"PriceList\"\r\n label=\"PriceList\"\r\n resetForm={resetForm}\r\n value={\r\n PreInvoiceConstraint?.UseCustomerPriceList &&\r\n customerInfo?.PriceListId\r\n ? customerInfo?.PriceListId\r\n : priceList == null ||\r\n !priceList ||\r\n priceList.Id == GUID_EMPTY\r\n ? response?.PriceListId\r\n : priceList.Id\r\n }\r\n mode={\r\n (salesPreInvoiceDetail.length > 0 &&\r\n (!salesPreInvoiceDetail?.[0]?.WarehouseId ||\r\n salesPreInvoiceDetail[0].WarehouseId ==\r\n GUID_EMPTY)) ||\r\n (PreInvoiceConstraint?.UseCustomerPriceList &&\r\n customerInfo?.PriceListId)\r\n ? \"view\"\r\n : mode\r\n }\r\n withNullOption={response && response?.PriceListId == null}\r\n onChange={(e) => {\r\n salesPreInvoiceDetail.length > 0 &&\r\n e?.Id != GUID_EMPTY &&\r\n (response?.PriceListId != e?.Id ||\r\n (priceList && e?.Id != priceList?.Id))\r\n ? sendDataForCalcAsync(e)\r\n : setPriceList(e);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setCurrencyInfo(obj);\r\n }}\r\n name=\"CurrencyId\"\r\n label=\"Currency\"\r\n resetForm={resetForm}\r\n value={\r\n priceList?.CurrencyId\r\n ? priceList?.CurrencyId\r\n : response?.CurrencyId\r\n }\r\n mode={priceList?.CurrencyId ? \"view\" : mode}\r\n required={true}\r\n />\r\n
\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerEconNo\"\r\n labelText=\"CustomerEconNo\"\r\n defaultValue={\r\n response?.CustomerEconNo\r\n ? response?.CustomerEconNo\r\n : customerInfo?.EconNo\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields.CustomerEconNo}\r\n />\r\n
\r\n {!customer?.SundryCustomer ? (\r\n
\r\n
\r\n {\r\n setCustomer((prev) => {\r\n return { ...prev, CustomerPhone: e };\r\n });\r\n }}\r\n />\r\n
\r\n {mode !== \"view\" && (\r\n \r\n {\r\n e.preventDefault();\r\n setShowCustomerPhoneForm(true);\r\n setTypePhonContact(ContactType.Phone);\r\n }}\r\n className=\"checkButton\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
\r\n )}\r\n
\r\n ) : (\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerPhone\"\r\n labelText=\"CustomerPhone\"\r\n defaultValue={\r\n response?.CustomerPhone ? response?.CustomerPhone : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n )}\r\n {!customer?.SundryCustomer ? (\r\n
\r\n
\r\n {\r\n setCustomer((prev) => {\r\n return { ...prev, CustomerMobilePhone: e };\r\n });\r\n }}\r\n />\r\n
\r\n {mode !== \"view\" && (\r\n
\r\n {\r\n e.preventDefault();\r\n setShowCustomerPhoneForm(true);\r\n setTypePhonContact(ContactType.Mobile);\r\n }}\r\n className=\"checkButton\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
\r\n )}\r\n
\r\n ) : (\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerMobilePhone\"\r\n labelText=\"CustomerMobilePhone\"\r\n defaultValue={\r\n response?.CustomerMobilePhone\r\n ? response?.CustomerMobilePhone\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields.CustomerMobilePhone}\r\n />\r\n
\r\n )}\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"CustomerNationalCode\"\r\n textboxType=\"nationalCode\"\r\n labelText=\"CustomerNationalCode\"\r\n defaultValue={\r\n response?.CustomerNationalCode\r\n ? response?.CustomerNationalCode\r\n : customerInfo?.NationalId\r\n ? customerInfo?.NationalId\r\n : null\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields.CustomerNationalCode}\r\n />\r\n
\r\n\r\n \r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={\r\n response?.RecipientPersonId\r\n ? response?.RecipientPersonId\r\n : customerInfo?.RecipientPersonId\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n WithSearch={false}\r\n setPerson={setPerson}\r\n returnObj={true}\r\n name={\"RecipientPersonDescription\"}\r\n label=\"RecipientPerson\"\r\n required={requiredFields.RecipientPersonId}\r\n valueString={response?.RecipientPersonDescription}\r\n />\r\n
\r\n \r\n\r\n {/*
\r\n {mode=='edit' && \r\n {\r\n setSalesPreInvoiceStatusId(e.SalesPreInvoiceStatus) }} \r\n required={true}\r\n onChange={(id,obj)=>{\r\n setSalesPreInvoiceStatusId(obj?.Id)\r\n }} \r\n mode={\"edit\"}\r\n baseUrl={INVENTORYANDSALES_URL} \r\n endPoint={ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.SalesPreInvoiceStatus.dictionary}\r\n label=\"SalesPreInvoiceStatus\"\r\n name=\"SalesPreInvoiceStatus\" \r\n value={response?.SalesPreInvoiceStatusId}\r\n \r\n />\r\n }\r\n
*/}\r\n\r\n {!customer?.SundryCustomer ? (\r\n
\r\n
\r\n {\r\n setShowAddressBox(\"selectMode\");\r\n return false;\r\n }}\r\n withMap={false}\r\n hideDetail={true}\r\n personContact={\r\n changeAddress\r\n ? convertAddress(changeAddress)\r\n : response?.CustomerAddress\r\n ? response?.CustomerAddress\r\n : convertAddress(customerInfo?.Address)\r\n }\r\n mode={mode}\r\n required={requiredFields.CustomerAddress}\r\n />\r\n
\r\n {mode !== \"view\" && (\r\n
\r\n {\r\n e.preventDefault();\r\n setShowAddressBox(\"createMode\");\r\n }}\r\n className=\"checkButton\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
\r\n )}\r\n {mode !== \"view\" && (\r\n
\r\n {\r\n e.preventDefault();\r\n setShowAddressBox(\"selectMode\");\r\n }}\r\n className=\"checkButton\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
\r\n )}\r\n
\r\n ) : (\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Address\"\r\n textboxType=\"text\"\r\n labelText=\"Address\"\r\n defaultValue={\r\n response?.CustomerAddress\r\n ? response?.CustomerAddress\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields.CustomerAddress}\r\n />\r\n
\r\n )}\r\n\r\n {/*
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxName=\"Prepayment\"\r\n textboxType=\"number\"\r\n labelText=\"Prepayment\"\r\n defaultValue={response?.Prepayment}\r\n resetForm={resetForm}\r\n mode={mode == 'view'?\"view\": mode}\r\n required={true}\r\n />\r\n
*/}\r\n {/*
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxName=\"VisitorPositionDescriptionEN\"\r\n textboxType=\"text\"\r\n labelText=\"VisitorPositionDescriptionEN\"\r\n defaultValue={response?.VisitorPositionDescriptionEN}\r\n resetForm={resetForm}\r\n mode={mode == 'view'?\"view\": mode}\r\n />\r\n
*/}\r\n {/*
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxName=\"DistributorPositionDescriptionEN\"\r\n textboxType=\"text\"\r\n labelText=\"DistributorPositionDescriptionEN\"\r\n defaultValue={response?.DistributorPositionDescriptionEN}\r\n resetForm={resetForm}\r\n mode={mode == 'view'?\"view\": mode}\r\n />\r\n
*/}\r\n {/*
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxName=\"SalesManagerPositionDescriptionEN\"\r\n textboxType=\"text\"\r\n labelText=\"SalesManagerPositionDescriptionEN\"\r\n defaultValue={response?.SalesManagerPositionDescriptionEN}\r\n resetForm={resetForm}\r\n mode={mode == 'view'?\"view\": mode}\r\n />\r\n
*/}\r\n\r\n
\r\n {\r\n setListPosition({ ...listPosition, VisitorPosition: e });\r\n }}\r\n />\r\n
\r\n\r\n
\r\n {\r\n setListPosition({\r\n ...listPosition,\r\n SalesManagerPosition: e,\r\n });\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"DeliveryAddress\"\r\n textboxType=\"text\"\r\n labelText=\"DeliveryAddress\"\r\n defaultValue={\r\n response?.DeliveryAddress ? response.DeliveryAddress : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields.DeliveryAddress}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Description\"\r\n textboxType=\"textarea\"\r\n labelText=\"Description\"\r\n minHeight={1}\r\n defaultValue={response?.Description}\r\n resetForm={resetForm}\r\n mode={mode}\r\n maxLength={900}\r\n letterCounter={true}\r\n required={requiredFields.Description}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\" \"}\r\n {mode != \"view\" && (\r\n \r\n \r\n {trans(\"add\")}\r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n {(response?.Id === GUID_EMPTY || !response?.Id) &&\r\n haveSource &&\r\n mode != \"view\" &&\r\n salesPreInvoiceDetail?.length <=\r\n response?.SalesPreInvoiceDetailDTOList?.length && (\r\n {\r\n setShowWarehouseForDetail(true);\r\n }}\r\n className=\" mb-1 btn btn-primary btn-sm d-flex align-items-center \"\r\n style={{\r\n width: \"100px\",\r\n maxHeight: \"30px\",\r\n marginRight: \"10px\",\r\n }}\r\n >\r\n \r\n {trans(\"choosewarehouse\")}\r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n <>\r\n {!!salesPreInvoiceDetail?.length &&\r\n ((jobId && mode == \"edit\") || haveSource) && (\r\n <>\r\n {/*
\r\n { setWarehouseData({WarehouseId:e , WarehouseTitle:obj?.Name?.Description , WarehouseDetailsCount:obj?.Name?.WarehouseDetailsCount\t})} }\r\n mode={mode}\r\n required={true}\r\n />\r\n
\r\n {warehouseData?.WarehouseDetailsCount >0 &&\r\n
\r\n {setWarehouseData({...warehouseData ,WarehouseDetailId:e ,WarehouseDetail:obj?.Name })}}\r\n baseUrl={INVENTORYANDSALES_URL}\r\n endPoint={ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseDetail.dictionary}\r\n value={warehouseData?.WarehouseDetailId}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n } */}\r\n \r\n )}\r\n \r\n {mode != \"view\" && (\r\n
\r\n {\r\n setOptionalDiscount(\r\n e.target.value.replaceAll(\",\", \"\")\r\n );\r\n }}\r\n value={\r\n optionalDiscount > 0\r\n ? GroupingPriceFunction(+optionalDiscount)\r\n : null\r\n }\r\n className=\"text-box__box form-control col-2 me-2 \"\r\n placeholder={trans(\"Discount\")}\r\n disabled={\r\n salesPreInvoiceDetail?.length == 0 ||\r\n !priceList?.IsManual\r\n ? true\r\n : false\r\n }\r\n />\r\n {\r\n if (\r\n salesPreInvoiceDetail?.length > 0 &&\r\n priceList?.IsManual\r\n ) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n optionalDiscountHandlerAsync();\r\n }\r\n }}\r\n className={`btn ${\r\n salesPreInvoiceDetail?.length == 0 ||\r\n !priceList?.IsManual\r\n ? \"btn-outline-secondary disabled\"\r\n : \"btn-primary\"\r\n } btn-sm d-flex align-items-center justify-content-between me-1 `}\r\n >\r\n \r\n {trans(\"sharediscount\")}\r\n \r\n \r\n
\r\n
\r\n )}\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {dataGridLoading ? (\r\n <>\r\n {(\r\n mode == \"view\"\r\n ? salesPreInvoiceDetail?.length > 0\r\n : PreInvoiceConstraint?.DetailDTO\r\n ) ? (\r\n <>\r\n {\r\n setSelectedObj(e);\r\n setShowForm(true);\r\n setDetailMode(\"view\");\r\n }}\r\n convertDateColNames={[\"ExpireDate\"]}\r\n useLanguage={true}\r\n parentName={\"SalesPreInvoiceDetailList\"}\r\n startIndex={22}\r\n theadData={\r\n mode !== \"view\"\r\n ? Object.keys(PreInvoiceConstraint?.DetailDTO)\r\n : Object.keys(salesPreInvoiceDetail?.[0])\r\n }\r\n tbodyData={\r\n salesPreInvoiceDetail?.length > 0\r\n ? salesPreInvoiceDetail\r\n : [PreInvoiceConstraint?.DetailDTO]\r\n }\r\n totalRecords={\r\n salesPreInvoiceDetail?.length > 0 ? undefined : 0\r\n }\r\n scrollHeight={\"67vh\"}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedObjCallback}\r\n rowSelected={selectedObj}\r\n handleEdit={\r\n mode !== \"view\" ? (e) => handleEditDetails(e) : null\r\n }\r\n handleDelete={\r\n mode !== \"view\"\r\n ? (e) => {\r\n mode !== \"view\" &&\r\n // Toast(\r\n // trans(\"msg_deleteconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // () => handleDeleteRow(e)\r\n // );\r\n Toast(\r\n trans(\"msg_deleteconfirm\"),\r\n MessageType.confirmDelete,\r\n () => handleDeleteRow(e)\r\n );\r\n }\r\n : null\r\n }\r\n handleView={(e) => {\r\n if (\r\n priceList == null ||\r\n !priceList ||\r\n priceList.Id == GUID_EMPTY\r\n ) {\r\n // Toast(trans(\"Msg_ChoosePriceList\"), \"error\");\r\n Toast(trans(\"Msg_ChoosePriceList\"), MessageType.error);\r\n\r\n } else {\r\n setSelectedObj(e);\r\n setDetailMode(\"view\");\r\n setShowForm(true);\r\n }\r\n }}\r\n />\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setPayment({\r\n ...payment,\r\n Addition: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {\r\n setPayment({\r\n ...payment,\r\n Deduction: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n setReceive({\r\n ...receive,\r\n Prepayment: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {\r\n setReceive({\r\n ...receive,\r\n CreditPayment: +e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n />\r\n
\r\n
\r\n {mode != \"view\" \r\n && (\r\n
\r\n 0) ||\r\n !salesPreInvoiceDetail?.[0]?.WarehouseId ||\r\n salesPreInvoiceDetail[0].WarehouseId == GUID_EMPTY\r\n }\r\n value=\"save\"\r\n btnType=\"submit\"\r\n />\r\n \r\n
\r\n )\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { WarehouseDictionaryWithAccess } from \"../WarehouseDictionary/WarehouseDictionaryWithAccess\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Button } from \"components/Button/Button\";\r\n\r\n\r\ninterface WarehouseData {\r\n WarehouseId?: string;\r\n WarehouseTitle?: string;\r\n WarehouseDetailsCount?: number;\r\n WarehouseDetailId?: string;\r\n WarehouseDetail?: string;\r\n}\r\n\r\ninterface ItemData {\r\n Code?: string;\r\n Item?: string;\r\n}\r\n\r\ninterface DetailPriceData {\r\n ItemTechnicalCode: string;\r\n Price: number;\r\n Discount: number;\r\n SubTotalPrice: number;\r\n Qty1: number;\r\n Qty2: number;\r\n TaxRate: number;\r\n}\r\n\r\ninterface Props {\r\n mode: \"view\" | \"edit\" | 'create'; // You can change the mode types if necessary\r\n resetForm:any;\r\n setWarehouseData: (e) => void;\r\n setDetailPriceData: (e) => void;\r\n fetchPriceListDetail: (e ,i) => void;\r\n setUserChanges: (e) => void;\r\n setShowTree: (e) => void;\r\n setItemData: (e) => void;\r\n warehouseData:any;\r\n detailPriceData:any;\r\n itemData:any;\r\n}\r\n\r\nconst ItemSelector: React.FC = ({setItemData,setDetailPriceData,detailPriceData, itemData,mode, resetForm ,setWarehouseData ,warehouseData ,fetchPriceListDetail ,setUserChanges ,setShowTree}) => {\r\n\r\n\r\n\r\n\r\n return (\r\n
\r\n\r\n {(warehouseData || mode=='create') && <>\r\n
\r\n {\r\n setWarehouseData({\r\n WarehouseId: e,\r\n WarehouseTitle: obj?.Name?.Description,\r\n WarehouseDetailsCount: obj?.Name?.WarehouseDetailsCount,\r\n });\r\n console.log(\"warehouseData?.WarehouseId\" ,warehouseData , e)\r\n if (e !== warehouseData?.WarehouseId) {\r\n setItemData(null);\r\n setUserChanges({});\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty1: 1,\r\n Qty2: 1,\r\n TaxRate: 0,\r\n });\r\n }\r\n }}\r\n mode={mode}\r\n required={true}\r\n />\r\n
\r\n\r\n {(warehouseData?.WarehouseDetailsCount > 0 || warehouseData?.WarehouseDetailId) && (\r\n
\r\n {\r\n setWarehouseData((prev) => ({\r\n ...prev,\r\n WarehouseDetailId: e,\r\n WarehouseDetail: obj?.Name,\r\n }));\r\n }}\r\n baseUrl={INVENTORYANDSALES_URL}\r\n endPoint={ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseDetail.dictionary}\r\n value={warehouseData?.WarehouseDetailId}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n )}\r\n }\r\n\r\n {warehouseData && (\r\n
\r\n {\r\n if (e && e !== itemData?.Code) {\r\n fetchPriceListDetail(null, e);\r\n }\r\n }}\r\n Change={setUserChanges}\r\n textboxName={\"itemCode\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"itemCode\"}\r\n mode={mode}\r\n value={itemData?.Code}\r\n defaultValue={itemData?.Code}\r\n onChange={(e) => {\r\n if (!e.target.value) {\r\n setItemData({});\r\n }\r\n }}\r\n />\r\n {mode !== \"view\" && (\r\n
\r\n setShowTree(true)}\r\n type=\"button\"\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n onClick={() => setShowTree(true)}\r\n />\r\n
\r\n )}\r\n
\r\n )}\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ItemSelector;\r\n","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { UnitDictionary } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { RoundWithRoundingPlace } from \"utils/helpers\";\r\n\r\ninterface Props {\r\n mode: \"view\" | \"edit\";\r\n resetForm: any;\r\n setUserChanges: (e: any) => void;\r\n numberOfSalesUnit: number;\r\n priceList: any;\r\n priceListDetail: any[];\r\n currency: any;\r\n rate: any;\r\n Constraint: any;\r\n detailPriceData: any;\r\n setRate: (e: any) => void;\r\n setPriceListDetail: (e: any) => void;\r\n updateQuantity: (e: any, list?: any, type?: any) => void;\r\n setDictionaryName: (e: any) => void;\r\n}\r\n\r\nconst PriceFields: React.FC = ({\r\n mode,\r\n resetForm,\r\n setUserChanges,\r\n numberOfSalesUnit,\r\n priceList,\r\n priceListDetail,\r\n currency,\r\n rate,\r\n Constraint,\r\n detailPriceData,\r\n setRate,\r\n setPriceListDetail,\r\n updateQuantity,\r\n setDictionaryName,\r\n}) => {\r\n const [qty, setQty] = useState({\r\n qty1: detailPriceData.Qty1,\r\n qty2: detailPriceData.Qty2,\r\n });\r\n\r\n const handleQuantityChange = (\r\n e: React.ChangeEvent,\r\n qtyType: \"Qty1\" | \"Qty2\"\r\n ) => {\r\n const value = +e.target.value;\r\n if (\r\n (numberOfSalesUnit === (qtyType === \"Qty1\" ? 1 : 2) ||\r\n (!detailPriceData.IsAbsoluteUnitConversionRatio &&\r\n detailPriceData.IsAbsoluteUnitConversionRatio != null)) &&\r\n value >= +e.target.min &&\r\n (e.target.max ? value <= +e.target.max : true)\r\n ) {\r\n if (\r\n !detailPriceData.IsAbsoluteUnitConversionRatio &&\r\n detailPriceData.IsAbsoluteUnitConversionRatio != null\r\n ) {\r\n setRate(\r\n (qtyType === \"Qty1\" ? value : qty.qty1) /\r\n (qtyType === \"Qty1\" ? qty.qty2 : value)\r\n );\r\n }\r\n updateQuantity(\r\n value,\r\n [],\r\n !detailPriceData.IsAbsoluteUnitConversionRatio &&\r\n detailPriceData.IsAbsoluteUnitConversionRatio != null\r\n ? qtyType\r\n : null\r\n );\r\n }\r\n };\r\n\r\n const handleUnitPriceChange = (\r\n e: React.ChangeEvent,\r\n qtyType: \"Qty1\" | \"Qty2\"\r\n ) => {\r\n const value = +e.target.value.replaceAll(\",\", \"\");\r\n if (qtyType === \"Qty1\") {\r\n if (numberOfSalesUnit == 1) {\r\n setPriceListDetail((pre) => {\r\n return [\r\n {\r\n ...pre[0],\r\n SalesUnitPrice: +e.target.value.replaceAll(\",\", \"\"),\r\n UnitPrice: +e.target.value.replaceAll(\",\", \"\") * rate,\r\n },\r\n ];\r\n });\r\n } else {\r\n setPriceListDetail((pre) => {\r\n return [\r\n {\r\n ...pre[0],\r\n SalesUnitPrice: +e.target.value.replaceAll(\",\", \"\") / rate,\r\n UnitPrice: +e.target.value.replaceAll(\",\", \"\"),\r\n },\r\n ];\r\n });\r\n }\r\n } else {\r\n if (numberOfSalesUnit == 2) {\r\n setPriceListDetail((pre) => {\r\n return [\r\n {\r\n ...pre[0],\r\n SalesUnitPrice: +e.target.value.replaceAll(\",\", \"\"),\r\n UnitPrice: +e.target.value.replaceAll(\",\", \"\") / rate,\r\n },\r\n ];\r\n });\r\n } else {\r\n setPriceListDetail((pre) => {\r\n return [\r\n {\r\n ...pre[0],\r\n SalesUnitPrice: +e.target.value.replaceAll(\",\", \"\") * rate,\r\n UnitPrice: +e.target.value.replaceAll(\",\", \"\"),\r\n },\r\n ];\r\n });\r\n }\r\n }\r\n };\r\n useEffect(() => {\r\n setQty({ qty1: detailPriceData.Qty1, qty2: detailPriceData.Qty2 });\r\n }, [detailPriceData]);\r\n return (\r\n <>\r\n
\r\n
\r\n 0\r\n ? priceListDetail[0][\r\n numberOfSalesUnit === 1\r\n ? \"SalesUnitMinOrderQty\"\r\n : \"MinOrderQty\"\r\n ] || 10 ** detailPriceData.Qty1RoundingPlace\r\n : 10 ** detailPriceData.Qty1RoundingPlace\r\n }\r\n max={\r\n priceListDetail.length > 0\r\n ? priceListDetail[priceListDetail.length - 1]?.MaxOrderQty ==\r\n null\r\n ? undefined\r\n : priceListDetail[priceListDetail.length - 1]?.[\r\n numberOfSalesUnit == 1\r\n ? \"SalesUnitMaxOrderQty\"\r\n : \"MaxOrderQty\"\r\n ]\r\n : undefined\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={true}\r\n onChange={(e) => handleQuantityChange(e, \"Qty1\")}\r\n />\r\n
\r\n
\r\n \r\n setDictionaryName((prev) => ({ ...prev, Unit1: e.Value }))\r\n }\r\n />\r\n
\r\n
\r\n handleUnitPriceChange(e, \"Qty1\")}\r\n required={false}\r\n />\r\n
\r\n
\r\n {numberOfSalesUnit === 1 && (\r\n \r\n )}\r\n
\r\n
\r\n\r\n {detailPriceData.Unit2Id && (\r\n
\r\n
\r\n 0\r\n ? priceListDetail[0][\r\n numberOfSalesUnit === 2\r\n ? \"SalesUnitMinOrderQty\"\r\n : \"MinOrderQty\"\r\n ] || 10 ** detailPriceData.Qty2RoundingPlace\r\n : 10 ** detailPriceData.Qty2RoundingPlace\r\n }\r\n usePrevDefaultValue={\r\n priceList.HasDetailRange &&\r\n numberOfSalesUnit == 2 &&\r\n priceListDetail[priceListDetail.length - 1]\r\n ?.[\r\n numberOfSalesUnit ==2\r\n ? \"SalesUnitMaxOrderQty\"\r\n : \"MaxOrderQty\"\r\n ] === detailPriceData.Qty2\r\n }\r\n max={\r\n priceListDetail.length > 0\r\n ? priceListDetail[priceListDetail.length - 1]?.MaxOrderQty ==\r\n null\r\n ? undefined\r\n : priceListDetail[priceListDetail.length - 1]?.[\r\n numberOfSalesUnit == 2\r\n ? \"SalesUnitMaxOrderQty\"\r\n : \"MaxOrderQty\"\r\n ]\r\n : undefined\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={false}\r\n onChange={(e) => handleQuantityChange(e, \"Qty2\")}\r\n />\r\n
\r\n
\r\n \r\n setDictionaryName((prev) => ({ ...prev, Unit2: e.Value }))\r\n }\r\n />\r\n
\r\n
\r\n handleUnitPriceChange(e, \"Qty2\")}\r\n required={false}\r\n />\r\n
\r\n\r\n
\r\n {numberOfSalesUnit === 2 && (\r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default PriceFields;\r\n","import { Button } from \"components/Button/Button\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { MessageType } from \"types/enum\";\r\nimport {\r\n FloorWithRoundingPlace,\r\n RoundWithRoundingPlace,\r\n trans,\r\n uuidv4\r\n} from \"utils/helpers\";\r\nimport { ItemsForSell } from \"../components/ItemsForSell/ItemsForSell\";\r\nimport { PriceDetails } from \"../components/PriceDetails\";\r\nimport {\r\n getPriceListDetail\r\n} from \"./api\";\r\nimport ItemSelector from \"./components/SalesInvoiceDetail/ItemSelector\";\r\nimport PriceFields from \"./components/SalesInvoiceDetail/PriceFields\";\r\nimport { SalesInvoiceDetailType } from \"./type\";\r\nimport { WarehouseTreeForm } from \"./components/WarehouseTreeForm/WarehouseTreeForm\";\r\n\r\ninterface SalesInvoiceFormProps {\r\n onHide: () => void;\r\n SalesInvoiceDetailCallBack?: (e: any) => void;\r\n selectedObj?: any;\r\n docsClassification?: any;\r\n mode: any;\r\n priceList?: any;\r\n lastWarehouse?: any;\r\n invoiceConstraint?: any;\r\n setLastWarehouse: (e: any) => void;\r\n personId?:any;\r\n currency?:any\r\n SalesInvoiceId?:any\r\n}\r\n\r\nexport const SalesInvoiceDetailForm = ({\r\n lastWarehouse = null,\r\n invoiceConstraint,\r\n setLastWarehouse,\r\n priceList,\r\n selectedObj,\r\n docsClassification,\r\n mode,\r\n onHide,\r\n SalesInvoiceDetailCallBack,\r\n personId,\r\n currency,\r\n SalesInvoiceId\r\n}: SalesInvoiceFormProps) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [expireDate, setExpireDate] = useState(null);\r\n const [showTree, setShowTree] = useState(false);\r\n const [showWarehouseTree, setShowWarehouseTree] = useState(false);\r\n const [priceListDetail, setPriceListDetail] = useState([]);\r\n const [detailPriceData, setDetailPriceData] = useState({\r\n Price: 0,\r\n Discount: '',\r\n SubTotalPrice: 0,\r\n TaxRate: \"0\",\r\n Qty1: mode !== 'create' ? selectedObj?.Qty1 : 1,\r\n Qty2: mode !== 'create' ? selectedObj?.Qty2 : 1,\r\n });\r\n const [itemData, setItemData] = useState(null);\r\n const [warehouseData, setWarehouseData] = useState(lastWarehouse);\r\n const [dictionaryName, setDictionaryName] = useState({});\r\n const [saveExit, setSaveExit] = useState(false);\r\n const [rate, setRate] = useState(1);\r\n const [firstQty, setFirstQty] = useState(null);\r\n const [numberOfSalesUnit, setNumberOfSalesUnit] = useState(1);\r\n const [showPriceListDetail,setShowPriceListDetail]=useState(false)\r\n const [savedNewQty,setSavedNewQty]=useState(null)\r\n\r\n\r\n\r\n \r\n const handleSalesInvoiceFormSubmit = async (event) => {\r\n event.preventDefault();\r\n const data: SalesInvoiceDetailType = {\r\n Id: mode !== 'create' ? selectedObj?.Id : uuidv4(),\r\n SalesInvoiceId: SalesInvoiceId,\r\n SourceId: mode !== 'create' ? selectedObj?.SourceId:undefined,\r\n SourceData: mode !== 'create' ? selectedObj?.SourceData:undefined,\r\n // IsAbsoluteUnitConversionRatio\t: selectedObj.IsAbsoluteUnitConversionRatio\t,\r\n ItemId: itemData?.ItemId,\r\n WarehouseId: warehouseData?.WarehouseId,\r\n WarehouseDetailId: warehouseData?.WarehouseDetailId,\r\n Unit1Id: event.target.Unit1Id?.value || null,\r\n Unit2Id: event.target.Unit2Id?.value || null,\r\n SalesUnitId: detailPriceData.SalesUnitId,\r\n ItemCode: itemData?.Code?itemData?.Code:itemData?.ItemCode,\r\n Item: itemData?.Item ,\r\n Qty1: +event.target.Qty1?.value,\r\n Unit1: dictionaryName?.Unit1 || null,\r\n Qty2: +event.target.Qty2?.value,\r\n Unit2: dictionaryName?.Unit2 || null,\r\n SalesUnitPrice: detailPriceData.SalesUnitPrice,\r\n ConversionRatio: rate,\r\n Unit1Price:numberOfSalesUnit===1?detailPriceData.SalesUnitPrice:parseFloat(event.target.Unit1Price?.value.replace(/,/g, '')),\r\n Unit2Price:numberOfSalesUnit===2?detailPriceData?.SalesUnitPrice:parseFloat(event.target.Unit2Price?.value.replace(/,/g, '')),\r\n SubTotalPrice:event.target.SubTotalPrice?.value? parseFloat(event.target.SubTotalPrice?.value.replace(/,/g, '')):0,\r\n DiscountPercent:parseFloat(event.target.DiscountPercent?.value.replace(/,/g, '')),\r\n Discount: parseFloat(event.target.Discount?.value.replace(/,/g, '')),\r\n Price: event.target.Price.value ? parseFloat(event.target.Price?.value.replace(/,/g, '')):0,\r\n Tax: ((docsClassification?.CalculateTax ||(docsClassification?.CalculateTax==null&& invoiceConstraint.HasTax)) ? parseFloat(event.target.Tax?.value.replace(/,/g, '')): 0),\r\n TaxRate:((docsClassification?.CalculateTax ||(docsClassification?.CalculateTax==null&& invoiceConstraint.HasTax)) ?priceListDetail[0].TaxRate: 0),\r\n ItemTechnicalCode: event.target.ItemTechnicalCode?.value,\r\n PartyNo: event.target?.PartyNo?.value,\r\n ExpireDate: expireDate,\r\n CargoWeight: +event.target?.CargoWeight?.value || 0,\r\n Description: event.target.Description?.value,\r\n Warehouse: warehouseData.WarehouseTitle,\r\n WarehouseDetail: warehouseData?.WarehouseDetail,\r\n Qty1RoundingPlace:priceListDetail[0]?.Qty1RoundingPlace,\r\n Qty2RoundingPlace:priceListDetail[0]?.Qty2RoundingPlace,\r\n IsAbsoluteUnitConversionRatio:priceListDetail[0]?.IsAbsoluteUnitConversionRatio \r\n };\r\n\r\n\r\n SalesInvoiceDetailCallBack?.(data) && resetFormIfNeeded()\r\n setLastWarehouse(warehouseData);\r\n // SalesInvoiceDetailCallBack?.(data) ;\r\n };\r\n\r\n const resetFormIfNeeded = () => {\r\n if (mode === 'create') {\r\n setResetForm(true);\r\n setItemData(null);\r\n setUserChanges({});\r\n setDetailPriceData({ Price: 0, Discount: 0, SubTotalPrice: 0, Qty1: 1, Qty2: 1 , TaxRate: 0 });\r\n setPriceListDetail([]);\r\n }\r\n sessionStorage.setItem('changingforms', 'false');\r\n if (saveExit) onHide();\r\n };\r\n\r\n const handleItemCode = (obj, isLeafSelected) => {\r\n if (obj.IsLeaf || isLeafSelected) {\r\n setItemData(obj);\r\n setSavedNewQty(null)\r\n fetchPriceListDetail(obj.Id);\r\n setShowTree(false);\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n TaxRate: 0,\r\n Qty1: 1,\r\n Qty2: 1,\r\n });\r\n if(mode==='edit'){\r\n setShowPriceListDetail(true)\r\n }\r\n } else {\r\n // Toast('msg_itemleafisnotselected', 'error');\r\n Toast('msg_itemleafisnotselected', MessageType.error);\r\n\r\n }\r\n };\r\n\r\n\r\n\r\n\r\n const handleWarehouseSelection = (obj) => {\r\n setWarehouseData(obj);\r\n setShowWarehouseTree(false);\r\n };\r\n\r\n const updateQuantity =async (newQty, priceListArray = [] ,QtyInChange=null) => {\r\n if ((QtyInChange==null&&priceListDetail[priceListDetail.length - 1].SalesUnitMaxOrderQty)||(QtyInChange==\"Qty\"+numberOfSalesUnit&&priceListDetail[priceListDetail.length - 1].SalesUnitMaxOrderQty) ) \r\n {\r\n //when we get priceList, we should detect that whether newQty is more than SalesUnitMaxOrderQty and change Qty to SalesUnitMaxOrderQty\r\n newQty= priceListDetail[priceListDetail.length-1].SalesUnitMaxOrderQty<=newQty?priceListDetail[priceListDetail.length-1].SalesUnitMaxOrderQty:newQty\r\n }\r\n if(((firstQty==null|| !(priceListDetail.length >0)) && priceList?.HasDetailRange && mode==='edit') && ((numberOfSalesUnit==1 && newQty!==selectedObj.Qty1) ||( numberOfSalesUnit==2 && newQty!==selectedObj.Qty2))){\r\n setSavedNewQty(newQty) //to countinue with newQty and prevent to reset newQty\r\n // چون که شرط رترن میکنه و از تابع خارج میشه مقدار جدید (نیوکیوتیوای ) ذخیره نمیشه و مقدار قبلیشو میگیره و باید مقدار جدیدشو حفظ کنیم\r\n \r\n setFirstQty(selectedObj?.ItemId)\r\n fetchPriceListDetail(itemData?.Id??selectedObj?.ItemId)\r\n }//in create mode uses itemData and edit,view mode uses selectedObj?.ItemId\r\n // console.log(\"QtyInChange\" ,QtyInChange ,newQty ,!invoiceConstraint.IsAbsoluteUnitConversionRatio,QtyInChange ) \r\n if(!invoiceConstraint.IsAbsoluteUnitConversionRatio!=null &&detailPriceData.Unit1Id && detailPriceData.Unit2Id &&!invoiceConstraint.IsAbsoluteUnitConversionRatio&&QtyInChange){\r\n let newPriceData:any ={}\r\n if(QtyInChange==\"Qty1\"){\r\n if(numberOfSalesUnit==1){\r\n newPriceData =await calculatePriceData(newQty, priceListArray);\r\n }else{\r\n newPriceData =await calculatePriceData( detailPriceData.Qty2, priceListArray);\r\n }\r\n }else{\r\n if(numberOfSalesUnit==1){\r\n newPriceData =await calculatePriceData(detailPriceData.Qty1, priceListArray);\r\n }else{\r\n newPriceData =await calculatePriceData(newQty, priceListArray);\r\n }\r\n }\r\n let DetailPrice = {\r\n ...newPriceData,\r\n // TaxRate: taxRate || detailPriceData.TaxRate,\r\n Qty1: RoundWithRoundingPlace(QtyInChange ==\"Qty1\"? newQty: detailPriceData.Qty1,priceListDetail[0]?.Qty1RoundingPlace),\r\n Qty2: RoundWithRoundingPlace(QtyInChange ==\"Qty1\"? detailPriceData.Qty2 :newQty,priceListDetail[0]?.Qty2RoundingPlace) ,\r\n }\r\n \r\n if(newPriceData.PriceListUnitId==newPriceData.SalesUnitId ){\r\n //درصورتی ک واحد فروش باواحد لیست قیمت برابر باشد از منطق قبل که قیمت واحد لیست قیمت را دست نزنیم و قیمت واحد فروش را تغییر دهیم نمیتوان استفاده کرد. و باید در این حالت واحد فروش و لیست قیمت را .که یکی هستند ثابت نگه داریم و واحد دیگر را تغییر دهیم \r\n setDetailPriceData({\r\n ...DetailPrice,\r\n UnitPrice: (numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) * newPriceData.SalesUnitPrice/ (numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1),//بسازیمsaleUnitPriceوSubTotalPrice را براساس unitPrice باید \r\n SalesUnitPrice: newPriceData.SalesUnitPrice, \r\n SubTotalPrice: (numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) * newPriceData.SalesUnitPrice,\r\n Price: calculateDiscountedPrice((numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), {SalesUnitPrice: newPriceData.SalesUnitPrice ,DiscountPercent:DetailPrice.DiscountPercent}),\r\n Discount: calculateDiscount((numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), {SalesUnitPrice: newPriceData.SalesUnitPrice ,DiscountPercent:DetailPrice.DiscountPercent}),\r\n });\r\n }else{\r\n setDetailPriceData({\r\n ...DetailPrice,\r\n SalesUnitPrice: (newPriceData.UnitPrice*(numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1))/(numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), \r\n SubTotalPrice: (numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) * (newPriceData.UnitPrice*(numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1))/(numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2),\r\n Price: calculateDiscountedPrice((numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), {SalesUnitPrice: (newPriceData.UnitPrice*(numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1))/(numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) ,DiscountPercent:DetailPrice.DiscountPercent}),\r\n Discount: calculateDiscount((numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), {SalesUnitPrice: (newPriceData.UnitPrice*(numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1))/(numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) ,DiscountPercent:DetailPrice.DiscountPercent}),\r\n });}\r\n }else{\r\n let newPriceData =await calculatePriceData(newQty, priceListArray);\r\n console.log(\"newPriceData\" ,newPriceData,\r\n { Qty1:RoundWithRoundingPlace((numberOfSalesUnit === 1?1:priceListDetail[0]?.ConversionRatio)*newQty ,priceListDetail[0]?.Qty1RoundingPlace),\r\n Qty2: RoundWithRoundingPlace(newQty/(numberOfSalesUnit === 2?1:priceListDetail[0]?.ConversionRatio) ,priceListDetail[0]?.Qty2RoundingPlace) ,}\r\n ) \r\n\r\n setDetailPriceData({\r\n ...newPriceData,\r\n Qty1:RoundWithRoundingPlace((numberOfSalesUnit === 1?1:priceListDetail[0]?.ConversionRatio)*newQty ,priceListDetail[0]?.Qty1RoundingPlace),\r\n Qty2: RoundWithRoundingPlace(newQty/(numberOfSalesUnit === 2?1:priceListDetail[0]?.ConversionRatio) ,priceListDetail[0]?.Qty2RoundingPlace) ,\r\n });\r\n\r\n }\r\n };\r\n\r\n const calculatePriceData = (newQty, priceListArray) => {\r\n const currentPriceList = !!priceListArray.length ? priceListArray : priceListDetail;\r\n let matchedPriceData = findMatchingPriceData(currentPriceList, newQty);\r\n matchedPriceData=matchedPriceData?matchedPriceData:{...currentPriceList[0],Unit2Price:0,Unit1Price:0,SalesUnitPrice:0,DiscountPercent:0,}\r\n\r\n return {\r\n ...matchedPriceData,\r\n UnitPrice:matchedPriceData?.UnitPrice || matchedPriceData?.UnitPrice==0?matchedPriceData?.UnitPrice: matchedPriceData?.SalesUnitId === matchedPriceData?.Unit1Id\r\n ? matchedPriceData?.Unit2Price\r\n : matchedPriceData?.Unit1Price,\r\n Price: calculateDiscountedPrice(newQty, matchedPriceData),\r\n Discount: calculateDiscount(newQty, matchedPriceData),\r\n //to set TaxRate when pricelist is manual then we sould use detailPriceData.TaxRate because we nedd to save taxrate when unitprice are changing and currentPriceList[0] is 0 because was set at first\r\n TaxRate:(docsClassification?.CalculateTax ||(docsClassification?.CalculateTax==null&& invoiceConstraint.HasTax))?priceList.IsManual?detailPriceData.TaxRate: currentPriceList[0]?.TaxRate:0,\r\n DiscountPercent:priceList.IsManual?+detailPriceData.DiscountPercent:+matchedPriceData?.DiscountPercent,\r\n SubTotalPrice: newQty * matchedPriceData?.SalesUnitPrice,\r\n };\r\n };\r\n\r\n \r\n const findMatchingPriceData = (priceList, qty) =>\r\n priceList\r\n .find(\r\n (e) =>\r\n (e.SalesUnitMaxOrderQty == null || +e.SalesUnitMaxOrderQty >= qty) &&\r\n +e.SalesUnitMinOrderQty <= qty\r\n );\r\n\r\n const calculateDiscountedPrice = (qty, priceData) =>{\r\n \r\n return RoundWithRoundingPlace(\r\n qty * ((priceData?.SalesUnitPrice * (100 - priceData?.DiscountPercent)) / 100),\r\n currency.PriceRoundingPlace,\r\n );\r\n \r\n }\r\n\r\n const calculateDiscount = (qty, priceData) =>{\r\n if(priceList.IsManual){\r\n return RoundWithRoundingPlace(\r\n qty * ((detailPriceData?.SalesUnitPrice * ((detailPriceData?.DiscountPercent??0))) / 100),\r\n currency.PriceRoundingPlace,\r\n \r\n );\r\n }\r\n else{\r\n return RoundWithRoundingPlace(\r\n qty * ((priceData?.SalesUnitPrice * ( priceData?.DiscountPercent)) / 100),\r\n currency.PriceRoundingPlace,\r\n \r\n );\r\n }\r\n }\r\n \r\n\r\n const fetchTaxRate = (list) => {\r\n let totalTaxRate = 0;\r\n if(list && !!list.length){\r\n list.map((item) => {\r\n totalTaxRate += item.TaxRate;\r\n });\r\n }\r\n return totalTaxRate;\r\n};\r\n\r\n\r\nconst fetchPriceListDetail = async (itemId = null, code = null) => {\r\n try {\r\n const { Data } = await getPriceListDetail(\r\n itemId,\r\n priceList?.IsManual ? null : priceList?.Id,\r\n code,\r\n warehouseData?.WarehouseId?warehouseData?.WarehouseId:selectedObj?.WarehouseId,\r\n warehouseData?.WarehouseDetailId,\r\n personId\r\n );\r\n\r\n const newPriceListDetails=Data.map((item)=>{\r\n return {...item,\r\n SalesUnitMaxOrderQty:item.SalesUnitId === item.MainUnitId?item.Unit1MaxOrderQty:item.Unit2MaxOrderQty,\r\n SalesUnitMinOrderQty:item.SalesUnitId === item.MainUnitId?item.Unit1MinOrderQty:item.Unit2MinOrderQty,\r\n MaxOrderQty:item.SalesUnitId === item.MainUnitId?item.Unit2MaxOrderQty:item.Unit1MaxOrderQty,\r\n MinOrderQty:item.SalesUnitId === item.MainUnitId?item.Unit2MinOrderQty:item.Unit1MinOrderQty,\r\n SalesUnitPrice:item.SalesUnitId === item.MainUnitId?item.Unit1Price:item.Unit2Price,\r\n SalesUnitId:item.SalesUnitId,\r\n SalesUnitDiscount:item.SalesUnitId === item.MainUnitId?item.Unit1Discount:item.Unit2Discount,\r\n Unit1Id:item.MainUnitId,\r\n Unit2Id:item.StatisticalUnitId\r\n //تعیین واحد فروش،کمترین و بیشترین مقدار فروش و کمترین و بیشترین مقدار واحد قیمت ، واحد اول و دوم\r\n //Determining the sales unit,because we use sales unit for countinuing programm and doing calculate\r\n }\r\n })\r\n\r\n\r\n updatePriceListDetails([{...newPriceListDetails[0] , TaxRate: fetchTaxRate(newPriceListDetails[0].ItemTaxList)} ,...newPriceListDetails.slice(1) ]);\r\n } catch {}\r\n};\r\n\r\n\r\n const updatePriceListDetails = async (data ,withPriceListDetail=true,useSelectedObj=false ) => {\r\n const [firstItem] =useSelectedObj?[selectedObj]: data;\r\n setNumberOfSalesUnit(firstItem.SalesUnitId === firstItem.Unit1Id ? 1 : 2);\r\n // if(mode==\"create\"){\r\n // const tax=fetchTaxRate(firstItem.ItemTaxList);\r\n // (docsClassification?.CalculateTax ||(docsClassification?.CalculateTax==null&& invoiceConstraint.HasTax)) ? setTotalTaxRate(tax):setTotalTaxRate(0)\r\n // }\r\n\r\n setRate(firstItem?.ConversionRatio);\r\n if(withPriceListDetail) setPriceListDetail(data);\r\n setItemData({\r\n ...itemData,\r\n Item: firstItem?.Item ?firstItem?.Item : firstItem?.ItemDescription\t,\r\n ItemId: firstItem?.ItemId,\r\n Code: firstItem?.ItemCode ?firstItem?.ItemCode : firstItem?.Code,\r\n });\r\n };\r\n\r\n const cancel = () => {\r\n if (sessionStorage.getItem('changingforms') === 'true') {\r\n // Toast('modalclosemessage', 'warning', 'alertWithoutClose', () => {\r\n // sessionStorage.setItem('changingforms', 'false');\r\n // setUserChanges({});\r\n // onHide();\r\n // });\r\n Toast('modalclosemessage', MessageType.confirm, () => {\r\n sessionStorage.setItem('changingforms', 'false');\r\n setUserChanges({});\r\n onHide();\r\n });\r\n } else {\r\n onHide();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (resetForm) setResetForm(false);\r\n }, [resetForm]);\r\n\r\n \r\n\r\n\r\n const initializeFormWithSelectedObject = () => {\r\n setWarehouseData({\r\n WarehouseId: selectedObj.WarehouseId ,\r\n WarehouseDetailId: selectedObj?.WarehouseDetailId ,\r\n Title: selectedObj.WarehouseDetail\r\n ? `${selectedObj.Warehouse},${selectedObj.WarehouseDetail}`\r\n : selectedObj.Warehouse,\r\n });\r\n\r\n setDetailPriceData({...selectedObj , UnitPrice:selectedObj.SalesUnitId === selectedObj.Unit1Id ? selectedObj?.Unit2Price : selectedObj?.Unit1Price,\r\n TaxRate:(docsClassification?.CalculateTax ||(docsClassification?.CalculateTax==null&& invoiceConstraint.HasTax)) ?selectedObj.TaxRate:0\r\n })\r\n updatePriceListDetails([{...selectedObj,\r\n SalesUnitMaxOrderQty:null,\r\n SalesUnitMinOrderQty:0,\r\n MaxOrderQty:null,\r\n MinOrderQty:0,\r\n SalesUnitPrice:selectedObj.SalesUnitId === selectedObj.Unit1Id?selectedObj.Unit1Price:selectedObj.Unit2Price,\r\n SalesUnitId:selectedObj.SalesUnitId ,\r\n SalesUnitDiscount:selectedObj.Discount,\r\n }] , true,true)\r\n console.log(\"selectedObj\" ,selectedObj)\r\n };\r\n useEffect(() => {\r\n if (selectedObj && mode !== 'create') {\r\n initializeFormWithSelectedObject();\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if ( mode === 'create' &&priceListDetail.length > 0) {\r\n \r\n updateQuantity(priceListDetail[0]?.SalesUnitMinOrderQty?priceListDetail[0]?.SalesUnitMinOrderQty:1,[]);\r\n\r\n }\r\n if (mode !== 'create'&&priceListDetail.length > 0 ) {\r\n //first changing qty1 we should use savedQty to prevent to reset qty\r\n updateQuantity(selectedObj.ItemId==itemData.ItemId?savedNewQty??+detailPriceData?.['Qty' + numberOfSalesUnit]:priceListDetail[0]?.SalesUnitMinOrderQty?priceListDetail[0]?.SalesUnitMinOrderQty:1,[]);\r\n //when mode is edit this fun run becuase maybe user select current item through handleItemCode\r\n //when mode is edit this fun run becuase maybe user select new item through handleItemCode\r\n \r\n }\r\n }, [priceListDetail]);\r\n\r\n\r\n\r\n return (\r\n
\r\n {showTree && (\r\n setShowTree(false)}\r\n show={showTree}\r\n >\r\n {\r\n setShowTree(false);\r\n }}\r\n itemCodeHandeler={handleItemCode}\r\n />\r\n \r\n )}\r\n {showWarehouseTree && (\r\n setShowWarehouseTree(false)}\r\n show={showWarehouseTree}\r\n >\r\n {\r\n setShowWarehouseTree(false);\r\n }}\r\n WarehouseIdHandeler={handleWarehouseSelection}\r\n />\r\n \r\n )}\r\n
\r\n \r\n {loading ? (\r\n
\r\n
\r\n {setUserChanges({ ...userChanges, ...e })}}\r\n setShowTree={setShowTree} \r\n setItemData={setItemData} \r\n warehouseData={warehouseData}\r\n detailPriceData={detailPriceData} \r\n itemData={itemData}/>\r\n\r\n {setUserChanges({ ...userChanges, ...e })}}\r\n numberOfSalesUnit={numberOfSalesUnit} \r\n priceList={priceList}\r\n priceListDetail={priceListDetail} \r\n currency={currency} \r\n Constraint={invoiceConstraint}\r\n rate={rate}\r\n setRate={setRate}\r\n detailPriceData={detailPriceData} \r\n setPriceListDetail={setPriceListDetail}\r\n updateQuantity={updateQuantity}\r\n setDictionaryName={setDictionaryName}/>\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"DiscountPercent\"\r\n textboxType=\"text\"\r\n useTrans={false}\r\n labelText={trans(\"DiscountPercent\")+'%'}\r\n value={detailPriceData.DiscountPercent?detailPriceData.DiscountPercent + \"\":0}\r\n onChange={(e) =>\r\n setDetailPriceData({\r\n ...detailPriceData,\r\n DiscountPercent: +e.target.value,\r\n Discount:\r\n (+e.target.value * detailPriceData.SubTotalPrice) /\r\n 100,\r\n Price:\r\n detailPriceData.SubTotalPrice -\r\n (+e.target.value * detailPriceData.SubTotalPrice) /\r\n 100,\r\n })\r\n }\r\n \r\n defaultValue={\r\n detailPriceData.DiscountPercent\r\n ?detailPriceData.DiscountPercent+'':\r\n detailPriceData.DiscountPercent==0 ?'0':\r\n '0'}\r\n \r\n resetForm={resetForm}\r\n mode={(priceList.IsManual&&mode!=\"view\" ) ? \"create\" : \"view\"}\r\n useGroupingPrice={true}\r\n required={false}\r\n max={100}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Discount\"\r\n textboxType=\"text\"\r\n labelText=\"Discount\"\r\n value={detailPriceData.Discount?detailPriceData.Discount:0}\r\n defaultValue={\r\n detailPriceData.Discount\r\n ?detailPriceData.Discount+'':\r\n detailPriceData.Discount==0 ?'0':\r\n '0'}\r\n resetForm={resetForm}\r\n decimals={currency.PriceRoundingPlace}\r\n round={false}\r\n onChange={(e) => {\r\n setDetailPriceData({\r\n ...detailPriceData,\r\n Price:\r\n detailPriceData.SubTotalPrice -\r\n +e.target.value.replaceAll(\",\", \"\"),\r\n Discount: +e.target.value.replaceAll(\",\", \"\"),\r\n DiscountPercent:\r\n (+e.target.value.replaceAll(\",\", \"\") /\r\n detailPriceData.SubTotalPrice) *\r\n 100,\r\n });\r\n }}\r\n mode={(priceList.IsManual&&mode!=\"view\" ) ? \"create\" : \"view\"}\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n \r\n
\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Price\"\r\n textboxType=\"text\"\r\n labelText=\"totalprice\"\r\n value={detailPriceData.Price + \"\"}\r\n defaultValue={detailPriceData.Price}\r\n resetForm={resetForm}\r\n decimals={currency.PriceRoundingPlace}\r\n round={false}\r\n mode={(priceList.IsManual&&mode!=\"view\" ) ? \"create\" : \"view\"}\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n { (docsClassification?.CalculateTax ||(docsClassification?.CalculateTax==null)) && \r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"TaxRate\"\r\n textboxType=\"text\"\r\n useTrans={false}\r\n labelText={trans('TaxRate')+'%'}\r\n value={ invoiceConstraint.HasTax && detailPriceData.TaxRate\r\n ?detailPriceData.TaxRate:\r\n '0'}\r\n\r\n defaultValue={\r\n invoiceConstraint.HasTax && detailPriceData.TaxRate\r\n ?detailPriceData.TaxRate:\r\n '0'}\r\n \r\n resetForm={resetForm}\r\n mode={ \"view\"}\r\n useGroupingPrice={true}\r\n required={false}\r\n max={100}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Tax\"\r\n textboxType=\"text\"\r\n labelText=\"Tax\"\r\n decimals={currency.PriceRoundingPlace}\r\n defaultValue={\r\n invoiceConstraint.HasTax && detailPriceData.TaxRate ?(\r\n invoiceConstraint?.FloorTaxDuty?\r\n FloorWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,currency.PriceRoundingPlace,\r\n ) \r\n :\r\n RoundWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,currency.PriceRoundingPlace,\r\n ) ) +\"\":\"0\"\r\n \r\n }\r\n value={\r\n invoiceConstraint.HasTax &&detailPriceData.TaxRate ?(\r\n invoiceConstraint?.FloorTaxDuty?\r\n FloorWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,currency.PriceRoundingPlace,\r\n ) \r\n :\r\n RoundWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,currency.PriceRoundingPlace,\r\n ) ) +\"\":\"0\"\r\n \r\n }\r\n // onChange={(e) => {\r\n // if (priceList.IsManual) {\r\n // setDetailPriceData({\r\n // ...detailPriceData,\r\n // TaxRate:\r\n // (+e.target.value.replaceAll(\",\", \"\") * 100) /\r\n // detailPriceData.Price,\r\n // });\r\n // }\r\n // }}\r\n resetForm={resetForm}\r\n mode={'view'}\r\n required={false}\r\n />\r\n
\r\n
}\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"GrandTotalPrice\"\r\n textboxType=\"text\"\r\n labelText=\"payableamount\"\r\n value={+detailPriceData.Price+(+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100 + \"\" }\r\n defaultValue={+detailPriceData.Price+(+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100 + \"\"}\r\n resetForm={resetForm}\r\n decimals={currency.PriceRoundingPlace}\r\n round={false}\r\n mode={(priceList.IsManual&&mode!=\"view\" ) ? \"create\" : \"view\"}\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n
\r\n\r\n
\r\n {detailPriceData.HasProductTracking && (\r\n <>\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"PartyNo\"\r\n labelText=\"PartyNo\"\r\n defaultValue={\r\n mode != \"create\" ? selectedObj?.PartyNo : null\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={false}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"CargoWeight\"\r\n textboxType=\"number\"\r\n labelText=\"CargoWeight\"\r\n defaultValue={\r\n mode != \"create\" ? selectedObj?.CargoWeight : null\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={false}\r\n />\r\n
\r\n \r\n )}\r\n {detailPriceData.HasExpireDate && (\r\n
\r\n {\r\n setExpireDate(isoTime);\r\n }}\r\n val={mode != \"create\" ? selectedObj?.ExpireDate : null} //resetForm ? new Date().toISOString() :\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n resetForm={resetForm}\r\n required={false}\r\n />\r\n
\r\n )}\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n minHeight={1}\r\n labelText=\"Remarks\"\r\n defaultValue={\r\n mode != \"create\" ? selectedObj?.Description : null\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={false}\r\n maxLength={150}\r\n letterCounter={true}\r\n />\r\n
\r\n
\r\n <>\r\n {mode != \"view\" ? (\r\n
\r\n { mode ==='create' &&
\r\n ) : (\r\n
\r\n {\r\n cancel();\r\n }}\r\n />\r\n
\r\n )}\r\n \r\n \r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n {(!!priceListDetail.length && (priceList?.HasDetailRange &&(mode==='create' || (mode==='edit' &&showPriceListDetail))) ) &&(\r\n \r\n )}\r\n
\r\n \r\n );\r\n};\r\n","import { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getDocsClassification } from \"./api\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\n\r\n\r\ninterface DictionaryTypeSelectProps {\r\n value?: any;\r\n mode?: string;\r\n resetForm?: boolean;\r\n name: string;\r\n label: string;\r\n endPoint: string;\r\n baseUrl?: string;\r\n required?: boolean;\r\n transe?:boolean;\r\n params?:any;\r\n recordedData?:any;\r\n Change?: (e) => void;\r\n onChange?: (e: any , obj?:any) => void,\r\n useTrans?:boolean;\r\n IsDocClassified?:boolean;\r\n\r\n}\r\nexport const DocsClassification = ({IsDocClassified,recordedData ,params ,label ,required=false ,baseUrl ,useTrans=false ,endPoint ,value ,name ,mode ,resetForm ,onChange ,Change }:DictionaryTypeSelectProps) => {\r\n const [DocsClassification, setDocsClassification] = useState();\r\n const [defaultval, setdefault] = useState(value);\r\n const [errcode, setErrcode] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n \r\n\r\n const getDocsClassificationAsync = async ()=>{\r\n setLoading(false)\r\n try {\r\n const res = await getDocsClassification(endPoint,baseUrl,params)\r\n if(res?.Data){\r\n let data = IsDocClassified ? res?.Data : {[GUID_EMPTY]:{Title:' ' , Id:GUID_EMPTY},...res?.Data}\r\n setDocsClassification(data)\r\n if(value){\r\n onChange && onChange(value, res?.Data[value] ) \r\n }\r\n else{ \r\n onChange && onChange(Object.keys(data)[0], res?.Data[Object.keys(data)[0]] ) \r\n }\r\n }\r\n\r\n } catch (error:any) {\r\n setErrcode(error.response?.status)\r\n setDocsClassification(null)\r\n }\r\n setLoading(true)\r\n }\r\n\r\n const handleOnChange = (e) =>{\r\n onChange&&onChange(e.target.value ,DocsClassification[e.target.value]);\r\n Change && Change(true)\r\n\r\n if(e.target && e.target.value !=(value ? value : Object.keys(DocsClassification)[0])){\r\n Change&&Change({[name] :e.target.value}) \r\n }else{\r\n Change&&Change({[name] :null}) }\r\n }\r\n \r\n\r\n useEffect(() => {\r\n getDocsClassificationAsync()\r\n }, []);\r\n useEffect(() => {\r\n if(params){\r\n getDocsClassificationAsync()\r\n \r\n } \r\n }, [params]);\r\n\r\n useEffect(() => {\r\n setdefault(value)\r\n }, [resetForm]);\r\n \r\n return (\r\n <>\r\n {DocsClassification && loading ?\r\n <>\r\n \r\n {handleOnChange(e)}}\r\n lable={label}\r\n selectType={'select'}\r\n options={Object.values(DocsClassification).map((item:any)=>item.Title)}\r\n val={Object.keys(DocsClassification)}\r\n name={name}\r\n value={value}\r\n resetForm={resetForm}\r\n mode={!IsDocClassified ? \"view\" : mode}\r\n required={required}\r\n useTrans={useTrans}\r\n recordedData={recordedData}\r\n /> \r\n
\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n\r\n );\r\n};","import { http } from \"utils/http\";\r\n\r\n\r\nexport const getDocsClassification = (async (endPoint,baseUrl?,params?) => await http({\r\n baseURL:baseUrl,\r\n url: endPoint,\r\n method: 'get',\r\n params : {\r\n ...params\r\n }\r\n})\r\n .then((response) => (response.data))\r\n\r\n)","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { getPageSize, trans } from \"utils/helpers\";\r\nimport { GenerateFromSource, getSources } from \"../api\";\r\n\r\n\r\ninterface DictionaryTypeSelectProps {\r\n value?: any;\r\n mode?: string;\r\n resetForm?: boolean;\r\n dataChange?: boolean;\r\n\r\n Change?: (e) => void;\r\n SourceObjCallBack: (e: any , obj?:any) => void,\r\n\r\n\r\n}\r\nexport const SalesInvoiceSourceId = ({value ,mode ,dataChange ,resetForm ,SourceObjCallBack ,Change }:DictionaryTypeSelectProps) => {\r\n const [defaultval, setdefault] = useState(value);\r\n const [sourceType, setSourceType] = useState(null);\r\n const [showSources, setShowSources] = useState();\r\n const [selectedObj, setSelectedObj] = useState()\r\n const [loading, setLoading] = useState(false)\r\n const [data, setData] = useState()\r\n const sourceData =[\"WithoutSource\" ,\"SalesOrders\",\"SalesPreInvoices\" ]\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(25);\r\n const [pages, setPages] = useState(0);\r\n\r\n async function getSourcesAsync(pagNum = pageNum) {\r\n setLoading(false)\r\n try {\r\n let pageSizeChangedByUser = getPageSize(\"SalesInvoiceSourceId\")\r\n setPageSize(pageSizeChangedByUser)\r\n const res = await getSources(sourceType,pagNum,pageSizeChangedByUser)\r\n\r\n setData(res.Data.Data)\r\n setShowSources(true)\r\n if (res.Data.Data.length > 0) {\r\n setData(res.Data)\r\n \r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) ;\r\n \r\n }\r\n } catch (error) {\r\n \r\n }\r\n\r\n setLoading(true)\r\n\r\n }\r\n async function GenerateFromSourceAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await GenerateFromSource(selectedObj.Id ,sourceData[+sourceType ])\r\n SourceObjCallBack(res.Data ,sourceType )\r\n setShowSources(false)\r\n } catch (error) {\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n setPageNum(+value);\r\n getSourcesAsync(+value);\r\n } else {\r\n }\r\n };\r\n const handleNextPage = () => {\r\n \r\n if (data.TotalRecords && ((data.TotalRecords / pageSize) > pageNum)) {\r\n setPageNum((pageNum) => { return +pageNum + 1 });\r\n getSourcesAsync(pageNum + 1);\r\n\r\n }\r\n };\r\n const handlePrevPage = () => {\r\n if (pageNum > 1) {\r\n setPageNum((pageNum) => { return +pageNum - 1 });\r\n getSourcesAsync(pageNum - 1);\r\n }\r\n };\r\n\r\n\r\n\r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"SalesInvoiceSourceId\", e.currentTarget.value)\r\n getSourcesAsync(1);\r\n };\r\n useEffect(() => {\r\n setdefault(value)\r\n }, [resetForm]);\r\n \r\n\r\n return (\r\n <>\r\n\r\n <>\r\n {showSources&&\r\n {setShowSources(false)}} mode={mode} show={showSources } title={\"Source\" } > \r\n
\r\n {loading ?\r\n
\r\n { getSourcesAsync(pages); setPageNum(pages) }}\r\n end={() => { getSourcesAsync(1); setPageNum(1) }}\r\n handleGoPage={handleGoPage}\r\n />\r\n
\r\n
\r\n
\r\n :\r\n }\r\n
\r\n
\r\n \r\n }\r\n\r\n \r\n
\r\n
\r\n {setSourceType(e.target.value)}}\r\n lable={\"Source\"}\r\n selectType={'select'}\r\n options={[\"WithoutSource\" ,\"SalesOrder\" ,\"SalesPreInvoice\"]}\r\n val={[null , \"1\" , \"2\"]}\r\n name={\"SourceId\"}\r\n value={sourceData.indexOf(value)+\"\"}\r\n resetForm={resetForm}\r\n mode={dataChange&&( sourceType==trans(\"withoutSource\")||sourceType==null)? \"view\" : mode}\r\n \r\n /> \r\n
\r\n {(sourceType !=null&& sourceType!= trans(\"WithoutSource\") )&&\r\n
\r\n } btnType=\"primary\" />\r\n
\r\n }\r\n\r\n
\r\n \r\n \r\n\r\n );\r\n};","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Address } from \"components/Address/Address\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Person } from \"components/Person/Person\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { ContactType, CustomerDictionaryShowMethod, MessageType } from \"types/enum\";\r\nimport { GUID_EMPTY, ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { convertAddress, GetReportWithJsonData, GroupingPriceFunction, RoundOutputOperation, trans } from \"utils/helpers\";\r\nimport { CustomerTabform } from \"../BaseDefinitionAndSetting/Customers/CustomerTabForm\";\r\nimport { CurrencyDictionary } from \"../PriceList/components/CurrencyDictionary/CurrencyDictionary\";\r\nimport { PriceListDictionary } from \"../PriceList/components/PriceListDictionary/PriceListDictionary\";\r\nimport { SalesInvoiceDetailForm } from \"./SalesInvoiceDetailForm\";\r\nimport {\r\n CalculateSalesInvoice,\r\n getDataForPrint,\r\n getDefaultPersonContact,\r\n getInvoiceConstraint,\r\n getPersonCustomer,\r\n getSalesInvoiceById,\r\n getSalesInvoiceByReferenceId,\r\n getSalesInvoiceOrGenerate,\r\n optionalDiscountHandler,\r\n postSalesInvoice,\r\n postSalesInvoiceWorkFlow,\r\n putSalesInvoice,\r\n putSalesInvoiceworkflow,\r\n} from \"./api\";\r\nimport { AddressBox } from \"./components/AddressBox/AddressBox\";\r\nimport { CustomerDictionary } from \"./components/CustomerDictionary/CustomerDictionary\";\r\nimport { CustomerPhoneDictionary } from \"./components/CustomerPhoneDictionary/CustomerPhoneDictionary\";\r\nimport { CustomerPhoneList } from \"./components/CustomerPhones/CustomerPhoneList\";\r\nimport { DocsClassification } from \"./components/DocsClassification/DocsClassification\";\r\nimport { getSalesInvoiceNo } from \"./components/SalesInvoiceNo/api\";\r\nimport { SalesInvoiceSourceId } from \"./components/SalesInvoiceSourceId\";\r\nimport { ButtonPrintIcon } from \"components/ButtonPrintIcon/ButtonPrintIcon\";\r\n\r\ninterface SalesInvoiceFormProps {\r\n onHide?: (usenavigate?) => void;\r\n handleCancelForm?: () => void;\r\n relod: () => void;\r\n jobId?: any;\r\n JobNo?: any;\r\n processId?: any;\r\n referenceId?: any;\r\n taskId?: any;\r\n mode: any;\r\n step?: any;\r\n rowObject?: any;\r\n SourceData?: any;\r\n sourceDataParam?: any;\r\n useGenerate?: any;\r\n sourceId?: any;\r\n buttonPrintObjCallBack?:(any)=>void\r\n}\r\n\r\nexport const SalesInvoiceForm = ({\r\n mode,\r\n relod,\r\n onHide,\r\n handleCancelForm,\r\n rowObject,\r\n step,\r\n referenceId,\r\n taskId,\r\n jobId,\r\n JobNo,\r\n processId,\r\n sourceDataParam,\r\n SourceData,\r\n useGenerate=true,\r\n sourceId,\r\n buttonPrintObjCallBack\r\n}: SalesInvoiceFormProps) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [haveSource, setHaveSource] = useState(null);\r\n const [response, setResponse] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [listPosition, setListPosition] = useState({});\r\n const [customerInfo, setCustomerInfo] = useState(null);\r\n const [customer, setCustomer] = useState(null);\r\n const [salesInvoiceDate, setSalesInvoiceDate] = useState();\r\n const [cottageDate, setCottageDate] = useState();\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [showForm, setShowForm] = useState(false);\r\n const [showAddressBox, setShowAddressBox] = useState<\r\n \"createMode\" | \"selectMode\" | null\r\n >(null);\r\n const [showCustomerPhoneForm, setShowCustomerPhoneForm] = useState(false);\r\n const [showCustomerform, setShowCustomerform] = useState(false);\r\n const [priceList, setPriceList] = useState(null);\r\n const [salesInvoiceDetail, setSalesInvoiceDetail] = useState([]);\r\n const [dataGridLoading, setDataGridLoading] = useState(true);\r\n const [lastWarehouse, setLastWarehouse] = useState(null);\r\n const [invoiceConstraint, setInvoiceConstraint] = useState({});\r\n const [responseList, setResponseList] = useState(null);\r\n\r\n const [docsClassification, setDocsClassification] = useState(null);\r\n const [totalRows, setTotalRows] = useState({\r\n ItemCount: 0,\r\n TotalTax: 0,\r\n TotalDiscount: 0,\r\n SubTotalPrice: 0,\r\n });\r\n const [payment, setPayment] = useState({\r\n totalprice: 0,\r\n Addition: 0,\r\n Deduction: 0,\r\n Prepayment: 0,\r\n });\r\n const [receive, setReceive] = useState({\r\n GrandTotalPrice: 0,\r\n Prepayment: 0,\r\n DebitPayment: 0,\r\n NonDebitPayment: 0,\r\n });\r\n const [todayDate, settodayDate] = useState(\r\n new Date().toISOString()\r\n );\r\n const [optionalDiscount, setOptionalDiscount] = useState(null);\r\n const [dataChange, setDataChange] = useState(false);\r\n const [detailMode, setDetailMode] = useState<\"create\" | \"edit\" | \"view\">(mode);\r\n const [increased, setIncreased] = useState(false);\r\n const [currencyInfo, setCurrencyInfo] = useState();\r\n const [changeAddress, setChangeAddress] = useState();\r\n const [typePhoneContact, setTypePhonContact] = useState();\r\n const [SendSMS, setSendSMS] = useState(false);\r\n const [nextInvoiceNumber,setNextInvoiceNumber]=useState()\r\n const [person, setPerson] = useState(null);\r\n const [noAccess, setNoAccess] = useState(false);\r\n const [dateLoading,setDateLoading]=useState(true)//for calc fun is runing\r\n const [selectedPhoneDetail, setSelectedPhoneDetail] = useState({\r\n phone:'',\r\n mobilePhone:''\r\n });\r\n const [requiredFields,setRequiredFields]=useState()\r\n const invoiceRef = useRef(null);\r\n const invoiceRef1 = useRef(null);\r\n const lang = localStorage.getItem(\"lang\");\r\n\r\n\r\n \r\n\r\n function setSalesInvoiceDetailHandler(data) {\r\n setDataGridLoading(false);\r\n setSalesInvoiceDetail(data);\r\n setDataGridLoading(true);\r\n }\r\n const handleSalesInvoiceDetailFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let SubTotalPrice: any = 0;\r\n let newsalesInvoiceDetail = JSON.parse(JSON.stringify(salesInvoiceDetail)).map((e: any) => {\r\n SubTotalPrice = +e.TotalPrice + SubTotalPrice;\r\n delete e.Id;\r\n return e;\r\n });\r\n\r\n let data: any = {\r\n RecipientPersonDescription:person?.Name??null,\r\n RecipientPersonId: person?.Id??null,\r\n CurrencyId: event.target?.CurrencyId?.value,\r\n SalesInvoiceNo: event.target?.salesInvoiceNo?.value?event.target?.salesInvoiceNo?.value:nextInvoiceNumber ,\r\n SalesInvoiceDate: salesInvoiceDate,\r\n DocsClassificationId: (event.target?.docsClassificationId&&event.target?.docsClassificationId?.value!==GUID_EMPTY)?event.target?.docsClassificationId.value:null,\r\n PriceListId: event.target.PriceList?.value,\r\n PaymentMethodId: event.target.PaymentMethodId?.value,\r\n CustomerId: customerInfo.Id,\r\n CustomerName: customer.Name,\r\n CustomerPhone:customer.SundryCustomer?event.target?.CustomerPhone?.value: customer?.CustomerPhone?.Name.split(\":\")[1]?customer?.CustomerPhone?.Name.split(\":\")[1] :customer?.CustomerPhone?.Name??null,\r\n CustomerMobilePhone:customer.SundryCustomer?event.target?.CustomerMobilePhone?.value: customer?.CustomerMobilePhone?.Name.split(\":\")[1]?customer?.CustomerMobilePhone?.Name.split(\":\")[1] :customer?.CustomerMobilePhone?.Name??null,\r\n CustomerAddress: event.target.Address?.value??null,\r\n CustomerEconNo: event.target.CustomerEconNo?.value,\r\n CustomerNationalCode: event.target.CustomerNationalCode?.value,\r\n SalesManagerPositionId: listPosition?.SalesManagerPosition?.Id,\r\n SalesManagerPositionDescription: listPosition?.SalesManagerPosition?.Name,\r\n SalesManagerPositionDescriptionEN:\r\n event.target.SalesManagerPositionDescriptionEN?.value,\r\n VisitorPositionId: listPosition?.VisitorPosition?.Id,\r\n VisitorPositionDescription: listPosition?.VisitorPosition?.Name,\r\n VisitorPositionDescriptionEN:\r\n event.target.VisitorPositionDescriptionEN?.value,\r\n DistributorPositionId: listPosition?.DistributorPosition?.Id,\r\n DistributorPositionDescription: listPosition?.DistributorPosition?.Name,\r\n DistributorPositionDescriptionEN:\r\n event.target.DistributorPositionDescriptionEN?.value,\r\n CottageDate: cottageDate,\r\n DeliveryAddress: event.target.DeliveryAddress?.value,\r\n CottageNo: event.target.CottageNo?.value,\r\n PaymentRemark: event.target.PaymentRemark?.value,\r\n IsCurrancyInvoice: event.target.IsCurrancyInvoice?.checked,\r\n // CurrencyPrepayment: +event.target.CurrencyPrepayment?.value,\r\n Description: event.target.Description?.value,\r\n SourceId: response?.SourceId,\r\n SourceData: haveSource?haveSource:response?.SourceData,\r\n IsCurrency: !currencyInfo?.IsDefault,\r\n CurrencyRate: currencyInfo?.CurrencyRate,\r\n Addition: +event.target.Addition?.value.replaceAll(\",\", \"\"),\r\n Deduction: +event.target.Deduction?.value.replaceAll(\",\", \"\"),\r\n TotalDiscount: +totalRows?.TotalDiscount,\r\n TotalPrice: +payment.totalprice,\r\n TotalTax: (docsClassification?.CalculateTax ||(docsClassification?.CalculateTax==null&& invoiceConstraint.HasTax)) ? +totalRows?.TotalTax: 0,\r\n GrandTotalPrice:\r\n +totalRows?.SubTotalPrice -\r\n +totalRows?.TotalDiscount +\r\n +totalRows?.TotalTax +\r\n +event.target.Addition?.value.replaceAll(\",\", \"\") -\r\n +event.target.Deduction?.value.replaceAll(\",\", \"\"),\r\n DebitPayment: +event.target.DebitPayment?.value.replaceAll(\",\", \"\"),\r\n NonDebitPayment: +event.target.NonDebitPayment?.value.replaceAll(\",\", \"\"),\r\n CreditPayment: +event.target.CreditPayment?.value.replaceAll(\",\", \"\"),\r\n Prepayment: +event.target.Prepayment?.value.replaceAll(\",\", \"\"),\r\n SubTotalPrice: +totalRows?.SubTotalPrice,\r\n SalesInvoiceDetailDTOList: newsalesInvoiceDetail,\r\n };\r\n try {\r\n if (mode == \"create\") {\r\n const res = await postSalesInvoice(data, SendSMS);\r\n if (res.MessageType == MessageType.success) {\r\n onHide && onHide(true);\r\n relod();\r\n }\r\n } else {\r\n if (jobId) {\r\n if (response.Id == GUID_EMPTY) {\r\n const res = await postSalesInvoiceWorkFlow(\r\n {\r\n ...data,\r\n JobId: jobId,\r\n JobNo: response.JobNo ? response.JobNo : JobNo,\r\n TAS_UID: taskId,\r\n Id: response.Id,\r\n },\r\n referenceId,\r\n increased,\r\n SendSMS\r\n );\r\n getInvoiceAsync();\r\n } else {\r\n const res = await putSalesInvoiceworkflow(\r\n {\r\n ...data,\r\n JobId: jobId,\r\n JobNo: response.JobNo ? response.JobNo : JobNo,\r\n TAS_UID: taskId,\r\n Id: response?.Id,\r\n },\r\n referenceId\r\n );\r\n }\r\n } else {\r\n const res = await putSalesInvoice({\r\n ...data,\r\n JobId: response.JobId,\r\n JobNo: response.JobNo ? response.JobNo : JobNo,\r\n TAS_UID: taskId,\r\n Id: response?.Id,\r\n });\r\n }\r\n // await putSalesInvoiceDetail(data)\r\n }\r\n } catch (error:any) {\r\n\r\n\r\n if(error.response.data.MessageType==MessageType.confirm){ \r\n // Toast(error.response.data.Message, \"warning\", \"alert\",\r\n // () => {\r\n // setResponse(error.response.data.Data);\r\n // setSalesInvoiceDetail(error.response.data.Data?.SalesInvoiceDetailDTOList\t);\r\n // let newItemCount = 0;\r\n // error.response.data.Data?.SalesInvoiceDetailDTOList.map((item) => {\r\n // newItemCount += item.Qty1;\r\n // });\r\n // setTotalRows({\r\n // ItemCount: newItemCount,\r\n // TotalTax:error.response.data.Data.TotalTax ,\r\n // TotalDiscount: error.response.data.Data?.TotalDiscount,\r\n // SubTotalPrice: error.response.data.Data?.SubTotalPrice,\r\n // });\r\n // setPayment({\r\n // totalprice: error.response.data.Data?.totalprice,\r\n // Addition: error.response.data.Data?.Addition,\r\n // Deduction: error.response.data.Data?.Deduction,\r\n // Prepayment: error.response.data.Data?.Prepayment,\r\n // });\r\n // setReceive({\r\n // GrandTotalPrice: error.response.data.Data?.GrandTotalPrice,\r\n // Prepayment: error.response.data.Data?.Prepayment,\r\n // DebitPayment: error.response.data.Data?.DebitPayment,\r\n // NonDebitPayment: error.response.data.Data?.NonDebitPayment,\r\n // });\r\n // setResponseList(null)\r\n // },\r\n // );\r\n setDateLoading(false);\r\n Toast(error.response.data.Message, MessageType.confirm,\r\n () => {\r\n setResponse({...error.response.data.Data,SalesInvoiceDate:salesInvoiceDate});\r\n setSalesInvoiceDetail(error.response.data.Data?.SalesInvoiceDetailDTOList\t);\r\n let newItemCount = 0;\r\n error.response.data.Data?.SalesInvoiceDetailDTOList.map((item) => {\r\n newItemCount += item.Qty1;\r\n });\r\n setTotalRows({\r\n ItemCount: newItemCount,\r\n TotalTax:error.response.data.Data.TotalTax ,\r\n TotalDiscount: error.response.data.Data?.TotalDiscount,\r\n SubTotalPrice: error.response.data.Data?.SubTotalPrice,\r\n });\r\n setPayment({\r\n totalprice: error.response.data.Data?.totalprice,\r\n Addition: error.response.data.Data?.Addition,\r\n Deduction: error.response.data.Data?.Deduction,\r\n Prepayment: error.response.data.Data?.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: error.response.data.Data?.GrandTotalPrice,\r\n Prepayment: error.response.data.Data?.Prepayment,\r\n DebitPayment: error.response.data.Data?.DebitPayment,\r\n NonDebitPayment: error.response.data.Data?.NonDebitPayment,\r\n });\r\n setResponseList(null)\r\n setDateLoading(true)\r\n\r\n },\r\n );\r\n }\r\n\r\n\r\n }\r\n document.body.classList.remove(\"loading-indicator-\" + lang);\r\n };\r\n\r\n\r\n\r\n\r\n\r\n const sendDataForCalcAsync = async (newPriceList ,Classification=null) => {\r\n // setResponseList(null)\r\n let SubTotalPrice: any = 0;\r\n let newsalesInvoiceDetail = JSON.parse(\r\n JSON.stringify(salesInvoiceDetail)\r\n ).map((e: any) => {\r\n SubTotalPrice = +e.TotalPrice + SubTotalPrice;\r\n \r\n return e;\r\n });\r\n\r\n let data: any = {\r\n RecipientPersonDescription: person?.Name??null,\r\n RecipientPersonId: person?.Id??null,\r\n CurrencyId: newPriceList?.CurrencyId,\r\n SalesInvoiceNo: invoiceRef.current?.salesInvoiceNo?.value ?invoiceRef.current?.salesInvoiceNo?.value:nextInvoiceNumber,\r\n SalesInvoiceDate: salesInvoiceDate,\r\n DocsClassificationId:invoiceRef.current?.docsClassificationId?.value!==GUID_EMPTY?invoiceRef.current?.docsClassificationId?.value:null,\r\n PriceListId: newPriceList ?newPriceList.Id :invoiceRef.current?.PriceList?.value,\r\n PaymentMethodId: invoiceRef.current?.PaymentMethodId?.value,\r\n CustomerId: customerInfo?.Id,\r\n CustomerName: customer?.Name,\r\n CustomerPhone:customer.SundryCustomer?invoiceRef.current?.CustomerPhone?.value: customer?.CustomerPhone?.Name.split(\":\")[1]?customer?.CustomerPhone?.Name.split(\":\")[1] :customer?.CustomerPhone?.Name??null,\r\n CustomerMobilePhone:customer.SundryCustomer?invoiceRef.current?.CustomerMobilePhone?.value: customer?.CustomerMobilePhone?.Name.split(\":\")[1]?customer?.CustomerMobilePhone?.Name.split(\":\")[1] :customer?.CustomerMobilePhone?.Name??null,\r\n CustomerAddress: invoiceRef.current.Address?.value??null,\r\n CustomerEconNo: invoiceRef.current?.CustomerEconNo?.value,\r\n CustomerNationalCode: invoiceRef.current?.CustomerNationalCode?.value,\r\n SalesManagerPositionId: listPosition?.SalesManagerPosition?.Id,\r\n SalesManagerPositionDescription: listPosition?.SalesManagerPosition?.Name,\r\n SalesManagerPositionDescriptionEN:\r\n invoiceRef.current?.SalesManagerPositionDescriptionEN?.value,\r\n VisitorPositionId: listPosition?.VisitorPosition?.Id,\r\n VisitorPositionDescription: listPosition?.VisitorPosition?.Name,\r\n VisitorPositionDescriptionEN:\r\n invoiceRef.current?.VisitorPositionDescriptionEN?.value,\r\n DistributorPositionId: listPosition?.DistributorPosition?.Id,\r\n DistributorPositionDescription: listPosition?.DistributorPosition?.Name,\r\n DistributorPositionDescriptionEN:\r\n invoiceRef.current?.DistributorPositionDescriptionEN?.value,\r\n CottageDate: cottageDate,\r\n DeliveryAddress: invoiceRef.current?.DeliveryAddress?.value,\r\n CottageNo: invoiceRef.current?.CottageNo?.value,\r\n PaymentRemark: invoiceRef.current?.PaymentRemark?.value,\r\n IsCurrancyInvoice: invoiceRef.current?.IsCurrancyInvoice?.checked,\r\n //CurrencyPrepayment: +invoiceRef.current?.CurrencyPrepayment?.value,\r\n Description: invoiceRef.current?.Description?.value,\r\n SourceId: response?.SourceId,\r\n SourceData: haveSource?haveSource:response?.SourceData,\r\n IsCurrency: !currencyInfo?.IsDefault,\r\n CurrencyRate: currencyInfo?.CurrencyRate,\r\n Addition: +invoiceRef.current?.Addition?.value.replaceAll(\",\", \"\"),\r\n Deduction: +invoiceRef.current?.Deduction?.value.replaceAll(\",\", \"\"),\r\n TotalDiscount: +totalRows?.TotalDiscount,\r\n TotalPrice: +payment.totalprice,\r\n TotalTax: (docsClassification?.CalculateTax ||(docsClassification?.CalculateTax==null&& invoiceConstraint.HasTax)) ? +totalRows?.TotalTax: 0,\r\n GrandTotalPrice:\r\n +totalRows?.SubTotalPrice -\r\n +totalRows?.TotalDiscount +\r\n +totalRows?.TotalTax +\r\n +invoiceRef.current?.Addition?.value.replaceAll(\",\", \"\") -\r\n +invoiceRef.current?.Deduction?.value.replaceAll(\",\", \"\"),\r\n DebitPayment: +invoiceRef.current?.DebitPayment?.value.replaceAll(\",\", \"\"),\r\n NonDebitPayment: +invoiceRef.current?.NonDebitPayment?.value.replaceAll(\",\", \"\"),\r\n CreditPayment: +invoiceRef.current?.CreditPayment?.value.replaceAll(\",\", \"\"),\r\n Prepayment: +invoiceRef.current?.Prepayment?.value.replaceAll(\",\", \"\"),\r\n SubTotalPrice: +totalRows?.SubTotalPrice,\r\n SalesInvoiceDetailDTOList: newsalesInvoiceDetail,\r\n JobId: jobId,\r\n JobNo: response.JobNo ? response.JobNo : JobNo,\r\n TAS_UID: taskId,\r\n Id: response.Id,\r\n };\r\n setDateLoading(false)\r\n\r\n \r\n try {\r\n \r\n if ((mode !== \"view\"&& priceList.Id != newPriceList?.Id)||newPriceList==null) {\r\n const res = await CalculateSalesInvoice(data);\r\n setResponse(res.Data);\r\n\r\n\r\n setSalesInvoiceDetail(res.Data?.SalesInvoiceDetailDTOList\t);\r\n let newItemCount = 0;\r\n res.Data?.SalesInvoiceDetailDTOList.map((item) => {\r\n newItemCount += item.Qty1;\r\n });\r\n setTotalRows({\r\n ItemCount: newItemCount,\r\n TotalTax:res.Data.TotalTax ,\r\n TotalDiscount: res.Data?.TotalDiscount,\r\n SubTotalPrice: res.Data?.SubTotalPrice,\r\n });\r\n setPayment({\r\n totalprice: res.Data?.totalprice,\r\n Addition: res.Data?.Addition,\r\n Deduction: res.Data?.Deduction,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: res.Data?.GrandTotalPrice,\r\n Prepayment: res.Data?.Prepayment,\r\n DebitPayment: res.Data?.DebitPayment,\r\n NonDebitPayment: res.Data?.NonDebitPayment,\r\n });\r\n setResponseList(null)\r\n\r\n }\r\n setPriceList(newPriceList);\r\n } catch (error:any) {\r\n if(error.response?.data?.Data[0]&&error.response?.data?.Data?.[0]?.Message){\r\n let obj = {}\r\n error.response.data.Data.map(item=>{\r\n obj[item.Data] = item\r\n })\r\n setResponseList(obj)\r\n }\r\n setPriceList(priceList);\r\n } \r\n if(Classification) setDocsClassification(Classification)\r\n setDateLoading(true)\r\n\r\n };\r\n\r\n\r\n \r\n\r\n async function getDefaultPersonContactAsync(personId) {\r\n\r\n \r\n if (personId != customerInfo?.Id || customerInfo == null)\r\n try {\r\n\r\n const res2 = await getPersonCustomer(personId);\r\n\r\n setCustomer((pre) => {\r\n return {\r\n ...pre,\r\n Id: res2.Data.Customer.Id,\r\n Name: res2.Data.Customer.CustomerPersonDescription,\r\n SundryCustomer: res2.Data.Customer.Id == invoiceConstraint?.SundryCustomerId,\r\n };\r\n });\r\n if (res2.Data.Customer.Id == invoiceConstraint?.SundryCustomerId\t) {\r\n setCustomerInfo({ ...res2?.Data?.Customer });\r\n } else {\r\n if(mode!=\"view\"){\r\n const res = await getDefaultPersonContact(\r\n res2?.Data?.Customer?.CustomerPersonId\r\n );\r\n setCustomerInfo({ ...res.Data, ...res2?.Data?.Customer });\r\n\r\n }else setCustomerInfo({ ...res2?.Data?.Customer });\r\n\r\n }\r\n\r\n\r\n\r\n setListPosition({\r\n DistributorPosition: {\r\n Id: res2?.Data?.Customer.DistributorPositionId,\r\n Name: res2?.Data?.Customer.DistributorPositionDescription,\r\n },\r\n VisitorPosition: {\r\n Id: res2?.Data?.Customer.VisitorPositionId,\r\n Name: res2?.Data?.Customer.VisitorPositionDescription,\r\n },\r\n });\r\n } catch (error) {}\r\n }\r\n async function getInvoiceConstraintAsync(withLoading = false) {\r\n if (withLoading) setLoading(false);\r\n try {\r\n const res = await getInvoiceConstraint();\r\n setInvoiceConstraint(res.Data);\r\n setNextInvoiceNumber(res.Data?.DocNo)\r\n setRequiredFields(JSON.parse(res.Data.RequiredFields))\r\n if (withLoading) setLoading(true);\r\n return res.Data\r\n } catch (error) {}\r\n if (withLoading) setLoading(true);\r\n }\r\n\r\n async function getInvoiceAsync() {\r\n setLoading(false);\r\n const constraint= await getInvoiceConstraintAsync();\r\n try {\r\n if (jobId) {\r\n let res:any\r\n if(useGenerate && (sourceDataParam && mode!='view') ){\r\n res = await getSalesInvoiceOrGenerate(\r\n sourceDataParam ,\r\n sourceId,\r\n referenceId,\r\n jobId\r\n );\r\n\r\n }else{\r\n\r\n //res = await getSalesInvoiceById(jobId);\r\n res = await getSalesInvoiceByReferenceId(referenceId);\r\n }\r\n if(res.Data.Id !=GUID_EMPTY) setNextInvoiceNumber(res.Data.SalesInvoiceNo)\r\n if(res.Data.Id && res.Data.Id!=GUID_EMPTY){\r\n if(invoiceRef1.current!=null){\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack({\r\n Id: res.Data.Id ,\r\n reportDomain:\"OfficeAutomation\",\r\n objectTag:\"SalesInvoiceForm\",\r\n apiFunction:getDataForPrint\r\n })\r\n }\r\n }else{\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack(null) \r\n }\r\n setResponse(res.Data);\r\n let count = 0;\r\n res.Data.SalesInvoiceDetailDTOList.map((item) => {\r\n count += +item?.Qty1;\r\n });\r\n setHaveSource(res.Data.SourceData);\r\n setSalesInvoiceDetail(res.Data.SalesInvoiceDetailDTOList);\r\n \r\n setTotalRows({\r\n ItemCount: count,\r\n TotalTax: res.Data.TotalTax,\r\n TotalDiscount: res.Data?.TotalDiscount,\r\n SubTotalPrice: res.Data?.SubTotalPrice,\r\n });\r\n setPayment({\r\n totalprice: res.Data?.totalprice,\r\n Addition: res.Data?.Addition,\r\n Deduction: res.Data?.Deduction,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n\r\n setReceive({\r\n GrandTotalPrice: res.Data?.GrandTotalPrice,\r\n Prepayment: res.Data?.Prepayment,\r\n DebitPayment: res.Data?.DebitPayment,\r\n NonDebitPayment: res.Data?.NonDebitPayment,\r\n });\r\n \r\n } else {\r\n const res = await getSalesInvoiceById(rowObject.Id);\r\n setHaveSource(res.Data.SourceData);\r\n if(res.Data.Id && res.Data.Id!=GUID_EMPTY){\r\n if(invoiceRef1.current!=null){\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack({\r\n Id: res.Data.Id ,\r\n reportDomain:\"OfficeAutomation\",\r\n objectTag:\"SalesInvoiceForm\",\r\n apiFunction:getDataForPrint\r\n })} \r\n }else{\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack(null) \r\n }\r\n setResponse(res.Data);\r\n let count = 0;\r\n res.Data.SalesInvoiceDetailDTOList.map((item) => {\r\n count += +item?.Qty1;\r\n });\r\n setSalesInvoiceDetail(res.Data.SalesInvoiceDetailDTOList);\r\n setTotalRows({\r\n ItemCount: count,\r\n TotalTax:res.Data.TotalTax,\r\n TotalDiscount: res.Data?.TotalDiscount,\r\n SubTotalPrice: res.Data?.SubTotalPrice,\r\n });\r\n setPayment({\r\n totalprice: res.Data?.totalprice,\r\n Addition: res.Data?.Addition,\r\n Deduction: res.Data?.Deduction,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: res.Data?.GrandTotalPrice,\r\n Prepayment: res.Data?.Prepayment,\r\n DebitPayment: res.Data?.DebitPayment,\r\n NonDebitPayment: res.Data?.NonDebitPayment,\r\n });\r\n }\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n\r\n async function optionalDiscountHandlerAsync() {\r\n let data = {\r\n CurrencyRoundingPlace: currencyInfo?.CurrencyRoundingPlace,\r\n OptionalDiscount: +optionalDiscount,\r\n Addition: +payment.Addition,\r\n Deduction: +payment.Deduction,\r\n DetailDTOList: salesInvoiceDetail,\r\n };\r\n try {\r\n const res = await optionalDiscountHandler(data);\r\n setTotalRows({\r\n ItemCount: res.Data.ItemCount,\r\n TotalTax:(docsClassification?.CalculateTax ||(docsClassification?.CalculateTax==null&& invoiceConstraint.HasTax))? res.Data.TotalTax:0,\r\n TotalDiscount: res.Data.TotalDiscount,\r\n SubTotalPrice: res.Data.SubTotalPrice,\r\n });\r\n\r\n \r\n setSalesInvoiceDetailHandler(res.Data.SalesInvoiceDetailDTOList);\r\n } catch (error) {}\r\n }\r\n\r\n\r\n\r\n const handleOpenDetailForm=()=>{\r\n if (priceList) {\r\n if(customerInfo?.CustomerPersonId|| customer?.SundryCustomer){\r\n setShowForm(true);\r\n setDetailMode(\"create\");\r\n }else{\r\n // Toast(\"please select customer\", \"error\");\r\n Toast(\"please select customer\", MessageType.error);\r\n\r\n }\r\n } else {\r\n // Toast(\"msg_choosepricelist\", \"error\");\r\n Toast(\"msg_choosepricelist\",MessageType.error);\r\n\r\n }\r\n \r\n}\r\n\r\n const handlesetPriceListDetail = (newObj) => {\r\n if (detailMode == \"create\") setIncreased(true);\r\n if (invoiceConstraint.AllowDuplicateItems || detailMode == \"edit\") {\r\n setTotalRows({\r\n ItemCount:\r\n detailMode == \"create\"\r\n ? RoundOutputOperation(totalRows.ItemCount + +newObj.Qty1)\r\n : RoundOutputOperation(totalRows.ItemCount + (+newObj.Qty1 - +selectedObj.Qty1)),\r\n TotalTax:\r\n detailMode == \"create\"\r\n ? totalRows.TotalTax + +newObj.Tax\r\n : totalRows.TotalTax + (+newObj.Tax - +selectedObj.Tax),\r\n TotalDiscount:\r\n detailMode == \"create\"\r\n ? totalRows.TotalDiscount + +newObj.Discount\r\n : totalRows.TotalDiscount +\r\n (+newObj.Discount - +selectedObj.Discount),\r\n SubTotalPrice:\r\n detailMode == \"create\"\r\n ? totalRows.SubTotalPrice + +newObj.SubTotalPrice\r\n : totalRows.SubTotalPrice +\r\n (+newObj.SubTotalPrice - +selectedObj.SubTotalPrice),\r\n });\r\n\r\n \r\n if (detailMode == \"create\") {\r\n setSalesInvoiceDetailHandler([...salesInvoiceDetail, newObj]);\r\n } else {\r\n let newItemes = salesInvoiceDetail?.map((item: any) => {\r\n if (item.Id == newObj.Id) {\r\n return newObj;\r\n } else return item;\r\n });\r\n setSalesInvoiceDetailHandler(newItemes);\r\n }\r\n setDataChange(true);\r\n return true\r\n } else {\r\n \r\n let Dupli = salesInvoiceDetail?.find(\r\n (e: any) => e.ItemId == newObj.ItemId\r\n );\r\n if (!Dupli || salesInvoiceDetail.length == 0) {\r\n setTotalRows({\r\n ItemCount:\r\n detailMode == \"create\"\r\n ? RoundOutputOperation(totalRows.ItemCount + newObj.Qty1)\r\n : RoundOutputOperation(totalRows.ItemCount + (+newObj.Qty1 - +selectedObj.Qty1)),\r\n TotalTax:\r\n detailMode == \"create\"\r\n ? totalRows.TotalTax + +newObj.Tax\r\n : totalRows.TotalTax + (+newObj.Tax - +selectedObj.Tax),\r\n TotalDiscount:\r\n detailMode == \"create\"\r\n ? totalRows.TotalDiscount + +newObj.Discount\r\n : totalRows.TotalDiscount +\r\n (+newObj.Discount - +selectedObj.Discount),\r\n SubTotalPrice:\r\n detailMode == \"create\"\r\n ? totalRows.SubTotalPrice + +newObj.SubTotalPrice\r\n : totalRows.SubTotalPrice +\r\n (+newObj.SubTotalPrice - +selectedObj.SubTotalPrice),\r\n });\r\n if (detailMode == \"create\") {\r\n setSalesInvoiceDetailHandler([...salesInvoiceDetail, newObj]);\r\n } else {\r\n let newItemes = salesInvoiceDetail?.map((item: any) => {\r\n if (item.Id == newObj.Id) {\r\n return newObj;\r\n } else return item;\r\n });\r\n setSalesInvoiceDetailHandler(newItemes);\r\n }\r\n setDataChange(true);\r\n // Toast(\"msg_saveddatasuccessfully\", \"success\");\r\n Toast(\"msg_saveddatasuccessfully\", MessageType.success);\r\n\r\n return true\r\n } else {\r\n // Toast(\"msg_duplicateitems\", \"error\");\r\n Toast(\"msg_duplicateitems\", MessageType.error);\r\n\r\n return false\r\n }\r\n }\r\n };\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // onHide && onHide();\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n onHide && onHide();\r\n });\r\n } else {\r\n onHide && onHide();\r\n }\r\n }\r\n\r\n const getDataForPrintAsync =async (id) => {\r\n if(response?.Id){\r\n if(id.includes(\"Design\")){\r\n const res = await getDataForPrint(response?.Id)\r\n GetReportWithJsonData( id.replace(\"Design\" , \"\"), res.Data ,2)\r\n }else if(id.includes(\"Default\")){\r\n const res = await getDataForPrint(response?.Id)\r\n GetReportWithJsonData( id.replace(\"Default\" , \"\"), res.Data ,2)\r\n }else{\r\n const res = await getDataForPrint(response?.Id)\r\n/* const dataStr = JSON.stringify(res.Data);\r\n const blob = new Blob([dataStr], { type: 'application/json' });\r\n const url = URL.createObjectURL(blob); */\r\n GetReportWithJsonData( id, res.Data ,1 )\r\n }\r\n }\r\n try {\r\n } catch (error) {\r\n \r\n }\r\n};\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n\r\n const handleDeleteRow = async (id: string = selectedObj.Id) => {\r\n let newPriceListDetail: any = [...salesInvoiceDetail];\r\n let obj = newPriceListDetail.filter((e) => e.Id == id)[0];\r\n\r\n setTotalRows({\r\n ItemCount: RoundOutputOperation(totalRows.ItemCount - +obj.Qty1),\r\n TotalTax: totalRows.TotalTax - +obj.Tax,\r\n TotalDiscount: totalRows.TotalDiscount - +obj.Discount,\r\n SubTotalPrice: totalRows.SubTotalPrice - +obj.SubTotalPrice,\r\n });\r\n setSalesInvoiceDetailHandler(newPriceListDetail.filter((e) => e.Id != id));\r\n };\r\n\r\n const handleSourceData = (obj, type) => {\r\n setResponse(obj);\r\n setHaveSource(type);\r\n setPriceList({ ...priceList, Id: obj.PriceListId });\r\n setSalesInvoiceDetailHandler(obj.SalesInvoiceDetailDTOList);\r\n setTotalRows({\r\n ItemCount: obj?.ItemCount,\r\n TotalTax: obj?.TotalTax,\r\n TotalDiscount: obj?.TotalDiscount,\r\n SubTotalPrice: obj?.SubTotalPrice,\r\n });\r\n setCustomer((prev)=>{return{ ...prev,Id: obj?.CustomerId, Name: obj?.CustomerName }});\r\n };\r\n useEffect(() => {\r\n if (Object.values(userChanges).filter((item) => item != null).length > 0) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n } else {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (mode != \"create\") {\r\n getInvoiceAsync();\r\n } else {\r\n getInvoiceConstraintAsync(true);\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n useEffect(() => {\r\n setPayment((prev) => {\r\n return {\r\n ...prev,\r\n totalprice: +totalRows?.SubTotalPrice - +totalRows?.TotalDiscount,\r\n };\r\n });\r\n }, [totalRows]);\r\n useEffect(() => {\r\n setReceive((prev) => {\r\n return {\r\n ...prev,\r\n GrandTotalPrice:\r\n +payment.totalprice +\r\n +payment?.Addition +\r\n +totalRows?.TotalTax -\r\n +payment?.Deduction,\r\n };\r\n });\r\n }, [payment]);\r\n\r\n const getSalesInvoiceNoAsync = async ()=>{\r\n\r\n try {\r\n const res = await getSalesInvoiceNo(docsClassification?.Id!=GUID_EMPTY ?docsClassification?.Id:null)\r\n setNextInvoiceNumber(res.Data)\r\n \r\n } catch (error:any) {\r\n\r\n }\r\n\r\n }\r\n\r\nuseEffect(() => {\r\n if((mode!=\"view\") && docsClassification?.Id!=GUID_EMPTY && !invoiceConstraint.IsClassificationIgnored ){\r\n getSalesInvoiceNoAsync()\r\n\r\n }else if (mode==\"view\")setNextInvoiceNumber(response?.SalesInvoiceNo)\r\n\r\n \r\n }, [docsClassification]);\r\n\r\n\r\n\r\n\r\n return (\r\n
\r\n {showForm ? (\r\n {\r\n setShowForm(false);\r\n }}\r\n show={showForm}\r\n title={\"SalesInvoiceDetailForm\"}\r\n >\r\n {\r\n setShowForm(false);\r\n }}\r\n docsClassification={docsClassification}\r\n priceList={priceList}\r\n invoiceConstraint={invoiceConstraint}\r\n selectedObj={selectedObj}\r\n SalesInvoiceDetailCallBack={(e) => handlesetPriceListDetail(e)}\r\n personId={customerInfo?.CustomerPersonId}\r\n currency={currencyInfo}\r\n SalesInvoiceId={response?.Id}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {showCustomerPhoneForm ? (\r\n {\r\n setShowCustomerPhoneForm(false);\r\n }}\r\n show={showCustomerPhoneForm}\r\n title={\"CustomerPhoneForm\"}\r\n >\r\n {\r\n setShowCustomerPhoneForm(false);\r\n }}\r\n type={typePhoneContact}\r\n handlePhone={(e) => {\r\n typePhoneContact==ContactType.Phone?setSelectedPhoneDetail({...selectedPhoneDetail, phone:e}):setSelectedPhoneDetail({...selectedPhoneDetail, mobile:e})\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {showAddressBox ? (\r\n {\r\n setShowAddressBox(null);\r\n }}\r\n mode={mode}\r\n show={showAddressBox && true}\r\n title={\"Address\"}\r\n >\r\n {\r\n setShowAddressBox(null);\r\n }}\r\n status={showAddressBox}\r\n AddressHandeler={(e) => {\r\n setChangeAddress(JSON.stringify(e).toLowerCase());\r\n setCustomerInfo({\r\n ...customerInfo,\r\n Address: JSON.stringify(e).toLowerCase(),\r\n });\r\n setShowAddressBox(null);\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {showCustomerform ? (\r\n {\r\n setShowCustomerform(false);\r\n }}\r\n show={showCustomerform}\r\n title={\"Customer\"}\r\n >\r\n {\r\n setShowCustomerform(false);\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {loading ? (\r\n
\r\n {/*
\r\n { (response?.Id!==GUID_EMPTY && response?.Id) && {getDataForPrintAsync(e)}} />}\r\n
*/}\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {\r\n handleSourceData(e, type);\r\n }}\r\n value={haveSource ? haveSource : \"undefined\"}\r\n resetForm={resetForm}\r\n dataChange={dataChange}\r\n mode={mode }\r\n />\r\n
\r\n\r\n {invoiceConstraint?.IsDocClassified && (\r\n
\r\n {\r\n if((docsClassification?.CalculateTax!=obj?.CalculateTax)&&docsClassification!=null){sendDataForCalcAsync(null , obj) }else setDocsClassification(obj);\r\n }}\r\n \r\n />\r\n
\r\n )}\r\n {(invoiceConstraint.IsDocClassified ||\r\n docsClassification) && (\r\n
\r\n {setNextInvoiceNumber(e.target.value);}}\r\n mode={mode}\r\n />\r\n
\r\n )}\r\n { dateLoading &&
\r\n {\r\n setSalesInvoiceDate(isoTime);\r\n }}\r\n val={\r\n response?.SalesInvoiceDate\r\n ? response?.SalesInvoiceDate\r\n : invoiceConstraint?.IsNewDocCurrentDate\r\n ? todayDate\r\n : null\r\n } //resetForm ? new Date().toISOString() :\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n />\r\n
}\r\n\r\n
\r\n
\r\n\r\n setNoAccess(true)}\r\n name=\"CustomerName\"\r\n label=\"CustomerName\"\r\n resetForm={resetForm}\r\n value={haveSource?response?.CustomerId:''}\r\n ShowMethod={invoiceConstraint?.ChangeDocCustomer}\r\n CustomerName={response?.CustomerName\t}\r\n mode={(haveSource&&invoiceConstraint?.CustomerDictionaryShowMethod==CustomerDictionaryShowMethod.OnlyCustomer) ?\"view\": mode}\r\n returnObj={true}\r\n required={true}\r\n onChange={(e) => {\r\n if(e.Id){\r\n setCustomer((prev) => {\r\n return { ...e, ...prev };\r\n });\r\n getDefaultPersonContactAsync(e.Id);\r\n }\r\n }}\r\n \r\n />\r\n
\r\n {(mode=='create'&&!haveSource) && !noAccess && \r\n {\r\n e.preventDefault();\r\n setShowCustomerform(true);\r\n \r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
}\r\n
\r\n\r\n\r\n
\r\n {\r\n salesInvoiceDetail.length>0&&e.Id != GUID_EMPTY &&(response?.PriceListId != e.Id || (priceList&&e.Id!= priceList?.Id)) ? sendDataForCalcAsync(e) : setPriceList(e);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setCurrencyInfo(obj);\r\n }}\r\n name=\"CurrencyId\"\r\n label=\"Currency\"\r\n resetForm={resetForm}\r\n value={\r\n priceList?.CurrencyId\r\n ? priceList?.CurrencyId\r\n : response?.CurrencyId\r\n }\r\n mode={priceList?.CurrencyId ? \"view\" : mode}\r\n required={true}\r\n />\r\n
\r\n\r\n {/* {mode=='create' &&
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={SendSMS}\r\n defaultValue={SendSMS}\r\n readOnly={mode==='view'}\r\n checked={SendSMS}\r\n onchange={setSendSMS}\r\n labelText={\"NotifyBySMS\"}\r\n inputName={\"NotifyBySMS\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
} */}\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerEconNo\"\r\n labelText=\"CustomerEconNo\"\r\n defaultValue={\r\n response?.CustomerEconNo\r\n ? response?.CustomerEconNo\r\n : customerInfo?.EconNo\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields.CustomerEconNo}\r\n />\r\n
\r\n {!customer?.SundryCustomer ? (\r\n
\r\n
\r\n {\r\n setCustomer((prev)=>{return{ ...prev, CustomerPhone: e }});\r\n\r\n }}\r\n />\r\n
\r\n { mode!=='view' && \r\n {\r\n e.preventDefault();\r\n setShowCustomerPhoneForm(true);\r\n setTypePhonContact(ContactType.Phone);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
}\r\n
\r\n ) : (\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerPhone\"\r\n labelText=\"CustomerPhone\"\r\n defaultValue={\r\n response?.CustomerPhone ? response?.CustomerPhone : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields.CustomerPhone}\r\n />\r\n
\r\n )}\r\n\r\n\r\n\r\n{!customer?.SundryCustomer ? (\r\n
\r\n
\r\n {\r\n setCustomer((prev)=>{return{ ...prev, CustomerMobilePhone: e }});\r\n }}\r\n />\r\n
\r\n { mode!=='view' && \r\n {\r\n e.preventDefault();\r\n setShowCustomerPhoneForm(true);\r\n setTypePhonContact(ContactType.Mobile);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
}\r\n
\r\n ) : (\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerMobilePhone\"\r\n labelText=\"CustomerMobilePhone\"\r\n defaultValue={\r\n response?.CustomerMobilePhone\r\n ? response?.CustomerMobilePhone\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields.CustomerMobilePhone}\r\n />\r\n
\r\n )}\r\n\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"CustomerNationalCode\"\r\n textboxType=\"nationalCode\"\r\n labelText=\"CustomerNationalCode\"\r\n defaultValue={\r\n response?.CustomerNationalCode\r\n ? response?.CustomerNationalCode\r\n : customerInfo?.NationalId\r\n }\r\n resetForm={resetForm}\r\n mode={mode }\r\n required={requiredFields.CustomerNationalCode}\r\n />\r\n
\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={\r\n response?.RecipientPersonId\r\n ? response?.RecipientPersonId\r\n : customerInfo?.RecipientPersonId\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n WithSearch={false}\r\n setPerson={setPerson}\r\n returnObj={true}\r\n name={\"RecipientPersonDescription\"}\r\n label=\"RecipientPerson\"\r\n required={requiredFields.RecipientPersonId}\r\n valueString={response?.RecipientPersonDescription}\r\n\r\n />\r\n
\r\n\r\n {!customer?.SundryCustomer ? (\r\n
\r\n
\r\n {\r\n setShowAddressBox(\"selectMode\");\r\n return false;\r\n }}\r\n withMap={false}\r\n hideDetail={true}\r\n personContact={\r\n changeAddress\r\n ? convertAddress(changeAddress)\r\n : response?.CustomerAddress\r\n ? response?.CustomerAddress\r\n : convertAddress(customerInfo?.Address)\r\n }\r\n mode={\"view\"}\r\n required={requiredFields.CustomerAddress}\r\n />\r\n
\r\n {mode!=='view' &&
\r\n {\r\n e.preventDefault();\r\n setShowAddressBox(\"createMode\");\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
}\r\n \r\n {mode!=='view' &&
\r\n {\r\n e.preventDefault();\r\n setShowAddressBox(\"selectMode\");\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center \"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
}\r\n
\r\n ) : (\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Address\"\r\n textboxType=\"text\"\r\n labelText=\"Address\"\r\n defaultValue={\r\n response?.CustomerAddress\r\n ? response?.CustomerAddress\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode }\r\n required={requiredFields.CustomerAddress}\r\n />\r\n
\r\n )}\r\n\r\n \r\n\r\n {/*
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxName=\"Prepayment\"\r\n textboxType=\"number\"\r\n labelText=\"Prepayment\"\r\n defaultValue={response?.Prepayment}\r\n resetForm={resetForm}\r\n mode={mode == 'view'?\"view\": mode}\r\n required={true}\r\n />\r\n
*/}\r\n {/*
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxName=\"VisitorPositionDescriptionEN\"\r\n textboxType=\"text\"\r\n labelText=\"VisitorPositionDescriptionEN\"\r\n defaultValue={response?.VisitorPositionDescriptionEN}\r\n resetForm={resetForm}\r\n mode={mode == 'view'?\"view\": mode}\r\n />\r\n
*/}\r\n {/*
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxName=\"DistributorPositionDescriptionEN\"\r\n textboxType=\"text\"\r\n labelText=\"DistributorPositionDescriptionEN\"\r\n defaultValue={response?.DistributorPositionDescriptionEN}\r\n resetForm={resetForm}\r\n mode={mode == 'view'?\"view\": mode}\r\n />\r\n
*/}\r\n {/*
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxName=\"SalesManagerPositionDescriptionEN\"\r\n textboxType=\"text\"\r\n labelText=\"SalesManagerPositionDescriptionEN\"\r\n defaultValue={response?.SalesManagerPositionDescriptionEN}\r\n resetForm={resetForm}\r\n mode={mode == 'view'?\"view\": mode}\r\n />\r\n
*/}\r\n\r\n
\r\n {\r\n setListPosition({ ...listPosition, VisitorPosition: e });\r\n }}\r\n required={requiredFields.VisitorPositionId}\r\n />\r\n
\r\n
\r\n {\r\n setListPosition({\r\n ...listPosition,\r\n DistributorPosition: e,\r\n });\r\n }}\r\n required={requiredFields.DistributorPositionId}\r\n />\r\n
\r\n\r\n
\r\n {\r\n setListPosition({\r\n ...listPosition,\r\n SalesManagerPosition: e,\r\n });\r\n }}\r\n required={requiredFields.SalesManagerPositionId}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"DeliveryAddress\"\r\n textboxType=\"text\"\r\n labelText=\"DeliveryAddress\"\r\n defaultValue={\r\n response?.DeliveryAddress\r\n ? response.DeliveryAddress:''\r\n }\r\n resetForm={resetForm}\r\n mode={mode }\r\n required={requiredFields.DeliveryAddress}\r\n />\r\n
\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Description\"\r\n textboxType=\"textarea\"\r\n labelText=\"Description\"\r\n minHeight={1}\r\n defaultValue={response?.Description}\r\n resetForm={resetForm}\r\n mode={mode }\r\n maxLength={900}\r\n letterCounter={true}\r\n required={requiredFields.Description}\r\n />\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n {mode !== \"view\" && (\r\n
\r\n \r\n \r\n {trans(\"add\")}\r\n \r\n \r\n
\r\n
\r\n )}\r\n\r\n
\r\n
\r\n {mode!=\"view\"&&\r\n
\r\n {\r\n setOptionalDiscount(\r\n e.target.value.replaceAll(\",\", \"\")\r\n );\r\n }}\r\n value={\r\n optionalDiscount > 0\r\n ? GroupingPriceFunction(+optionalDiscount)\r\n : null\r\n }\r\n className=\"text-box__box form-control col-2 me-1 \"\r\n placeholder={trans(\"Discount\")}\r\n disabled={\r\n salesInvoiceDetail.length == 0 ||\r\n !priceList?.IsManual\r\n ? true\r\n : false\r\n }\r\n />\r\n {\r\n if (\r\n salesInvoiceDetail.length > 0 &&\r\n priceList?.IsManual\r\n ) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n optionalDiscountHandlerAsync();\r\n }\r\n }}\r\n className={`btn ${\r\n salesInvoiceDetail.length == 0 ||\r\n !priceList?.IsManual\r\n ? \"btn-outline-secondary disabled\"\r\n : \"btn-primary\"\r\n } btn-sm d-flex align-items-center justify-content-between me-1 `}\r\n >\r\n \r\n {trans(\"sharediscount\")}\r\n \r\n \r\n
\r\n
\r\n }\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {dataGridLoading ? (\r\n <>\r\n {(mode==\"view\" ? (salesInvoiceDetail?.length > 0 ): invoiceConstraint?.DetailDTO ) ? (\r\n <>\r\n {\r\n setSelectedObj(e);\r\n setShowForm(true);\r\n setDetailMode('view')\r\n }}\r\n parentName={\"SalesInvoiceDetailList\"}\r\n startIndex={22}\r\n theadData={mode!=='view'?Object.keys(invoiceConstraint?.DetailDTO):\r\n Object.keys(salesInvoiceDetail?.[0])\r\n }\r\n tbodyData={\r\n salesInvoiceDetail?.length > 0\r\n ? salesInvoiceDetail\r\n : [invoiceConstraint?.DetailDTO]\r\n }\r\n totalRecords={\r\n salesInvoiceDetail?.length > 0 ? undefined : 0\r\n }\r\n scrollHeight={\"67vh\"}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedObjCallback}\r\n handleEdit={\r\n mode != \"view\"\r\n ? (e) => {\r\n setSelectedObj(e);\r\n setDetailMode(\"edit\");\r\n setShowForm(true);\r\n }\r\n : undefined\r\n }\r\n rowSelected={selectedObj}\r\n handleDelete={\r\n mode != \"view\"\r\n ? (e) => {\r\n // Toast(\r\n // trans(\"msg_deleteconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // () => handleDeleteRow(e)\r\n // );\r\n Toast(\r\n trans(\"msg_deleteconfirm\"),\r\n MessageType.confirmDelete,\r\n () => handleDeleteRow(e)\r\n );\r\n }\r\n : undefined\r\n }\r\n handleView={(e) => {\r\n setSelectedObj(e);\r\n setDetailMode(\"view\");\r\n setShowForm(true);\r\n }}\r\n />\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setPayment({\r\n ...payment,\r\n Addition: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {\r\n setPayment({\r\n ...payment,\r\n Deduction: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n setReceive({\r\n ...receive,\r\n Prepayment: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n useGroupingPrice={true}\r\n />\r\n
\r\n
\r\n {\r\n setReceive({\r\n ...receive,\r\n DebitPayment: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n useGroupingPrice={true}\r\n />\r\n
\r\n
\r\n {\r\n setReceive({\r\n ...receive,\r\n NonDebitPayment: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n useGroupingPrice={true}\r\n />\r\n
\r\n
\r\n {\r\n setReceive({\r\n ...receive,\r\n CreditPayment: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n useGroupingPrice={true}\r\n />\r\n
\r\n
\r\n \r\n {mode != \"view\" && (\r\n
\r\n
\r\n ) \r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getSalesInvoiceNo = (async (docsClassificationId) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.nextInvoiceNo,\r\n method: 'get',\r\n params : {\r\n docsClassificationId:docsClassificationId\r\n }\r\n})\r\n .then((response) => (response.data))\r\n\r\n)","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getDefaultPersonContact = (personId ) => http({\r\n\r\n url:ENDPOINTS.BaseInformation.PersonContact.default,\r\n method: 'get',\r\n params:{personId}\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const sendBasketAsync = (data , method ) => http({\r\n\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.CustomerSalesOrderApis.CustomerSalesOrder.browse,\r\n method: method,\r\n data\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getSalesOrderById = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.CustomerSalesOrderApis.CustomerSalesOrder.load,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getOrderConstraint = ( ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.CustomerSalesOrderApis.CustomerSalesOrder.constraint,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getCustomerPriceListDetail = (Id,priceListId ,code , warehouseId=null ,personId,WarehouseDetailId=null ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.CustomersStoreApi.CustomersStore.ItemPrice,\r\n method: 'get',\r\n params: {\r\n ItemId:Id,\r\n ItemCode:code , \r\n PriceListId:priceListId,\r\n WarehouseId:warehouseId,\r\n CustomerPersonId:personId,\r\n WarehouseDetailId\r\n \r\n \r\n\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { UnitDictionary } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { FloorWithRoundingPlace, RoundWithRoundingPlace, trans, uuidv4 } from \"utils/helpers\";\r\n\r\nimport { getPriceListDetail } from \"pages/InventoryAndSales/Sales/SalesOrder/api\";\r\nimport { ItemsForSell } from \"pages/InventoryAndSales/Sales/components/ItemsForSell/ItemsForSell\";\r\nimport { PriceDetails } from \"pages/InventoryAndSales/Sales/components/PriceDetails\";\r\nimport { getCustomerPriceListDetail } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface CustomerSalesOrderFormProps {\r\n onHide: () => void;\r\n CustomerSalesOrderDetailCallBack?: (e: any) => void;\r\n selectedObj?: any;\r\n mode: any;\r\n priceList?: any;\r\n lastWarehouse?: any;\r\n OrderConstraint?: any;\r\n setLastWarehouse: (e: any) => void;\r\n CustomerSalesWarehouse: any;\r\n personId?: any;\r\n}\r\n\r\nexport const CustomerSalesOrderDetailForm = ({\r\n lastWarehouse = null,\r\n OrderConstraint,\r\n setLastWarehouse,\r\n priceList,\r\n selectedObj,\r\n mode,\r\n onHide,\r\n CustomerSalesOrderDetailCallBack,\r\n CustomerSalesWarehouse,\r\n personId,\r\n}: CustomerSalesOrderFormProps) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [showTree, setShowTree] = useState();\r\n const [priceListDetail, setPriceListDetail] = useState([]);\r\n const [detailPriceData, setDetailPriceData] = useState({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n TaxRate: 0,\r\n Qty: mode != \"create\" ? selectedObj?.Qty : null,\r\n });\r\n const [itemData, setItemData] = useState(null);\r\n const [rate, setRate] = useState(1);\r\n const [dictionaryName, setDictionaryName] = useState({});\r\n\r\n const [save_Exit, setSave_Exit] = useState(false);\r\n\r\n const handleCustomerSalesOrderFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let data = {\r\n Id: mode != \"create\" ? selectedObj?.Id : uuidv4(),\r\n CustomerSalesOrderId: selectedObj?.CustomerSalesOrderId,\r\n ItemId: itemData?.ItemId,\r\n UnitId:\r\n event.target.UnitId?.value == \"\" ? null : event.target.UnitId?.value,\r\n SourceId: selectedObj?.SourceId,\r\n SourceData: selectedObj?.SourceData,\r\n Item: itemData.ItemDescription,\r\n ItemCode: itemData?.Code,\r\n Qty: +event.target.Qty?.value,\r\n UnitPrice: +event.target.UnitPrice?.value.replaceAll(\",\", \"\"),\r\n Unit: dictionaryName?.Unit ? dictionaryName?.Unit : null,\r\n Price:OrderConstraint.IsFiscal? +event.target.Price?.value.replaceAll(\",\", \"\"):undefined, //تخفیف کم میشود\r\n Discount: OrderConstraint.IsFiscal?+event.target.Discount?.value.replaceAll(\",\", \"\"):undefined,\r\n SubTotalPrice:OrderConstraint.IsFiscal? +event.target.SubTotalPrice?.value.replaceAll(\",\", \"\"):undefined,\r\n Description: event.target.Description?.value,\r\n // DescriptionEN: event.target.DescriptionEN.value,\r\n Tax: !OrderConstraint?.HasTax || !OrderConstraint.IsFiscal\r\n ? undefined\r\n : parseFloat(event.target.Tax?.value.replace(/,/g, \"\")),\r\n TaxRate: !OrderConstraint.HasTax || !OrderConstraint.IsFiscal ? undefined : detailPriceData.TaxRate,\r\n DiscountPercent:OrderConstraint.IsFiscal? +event.target.DiscountPercent?.value.replaceAll(\",\", \"\"):undefined,\r\n ItemTechnicalCode: event.target.ItemTechnicalCode?.value,\r\n QtyRoundingPlace:priceListDetail[0]?.Qty1RoundingPlace??selectedObj?.Qty1RoundingPlace,\r\n\r\n };\r\n\r\n CustomerSalesOrderDetailCallBack && CustomerSalesOrderDetailCallBack(data);\r\n setItemData(null);\r\n setResetForm(true);\r\n setUserChanges({});\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty: mode != \"create\" ? selectedObj?.Qty : 1,\r\n });\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n // Toast(\"msg_saveddatasuccessfully\", \"success\");\r\n Toast(\"msg_saveddatasuccessfully\", MessageType.success);\r\n\r\n\r\n try {\r\n } catch (error) {}\r\n if (save_Exit) {\r\n onHide();\r\n }\r\n };\r\n\r\n const itemCodeHandeler = (obj, bool) => {\r\n if (obj.IsLeaf || bool) {\r\n setItemData(obj);\r\n getPriceListDetailAsync(obj.Id);\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty1: 1,\r\n Qty2: 1,\r\n TaxRate: 0,\r\n });\r\n setShowTree(false);\r\n } else {\r\n // Toast(trans(\"msg_itemleafisnotselected\"), \"error\");\r\n Toast(trans(\"msg_itemleafisnotselected\"), MessageType.error);\r\n\r\n }\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // onHide();\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n onHide();\r\n });\r\n } else {\r\n onHide();\r\n }\r\n }\r\n\r\n const getPriceListDetailAsync = async (Id = null, Code = null) => {\r\n // setLoading(false)\r\n try {\r\n const res = await getCustomerPriceListDetail(\r\n Id,\r\n priceList,\r\n Code,\r\n CustomerSalesWarehouse,\r\n personId\r\n );\r\n if (res.Data && res.Data[0]) {\r\n setRate(res.Data[0]?.ConversionRatio);\r\n }\r\n const newPriceListDetail=res.Data.map((item)=>{\r\n return {...item,\r\n SalesUnitMaxOrderQty:item.SalesUnitId === item.MainUnitId?item.Unit1MaxOrderQty:item.Unit2MaxOrderQty,\r\n SalesUnitMinOrderQty:item.SalesUnitId === item.MainUnitId?item.Unit1MinOrderQty:item.Unit2MinOrderQty,\r\n SalesUnitPrice:item.SalesUnitId === item.MainUnitId?item.Unit1Price:item.Unit2Price,\r\n SalesUnitId:item.SalesUnitId,\r\n SalesUnitDiscount:item.SalesUnitId === item.MainUnitId?item.Unit1Discount:item.Unit2Discount,\r\n QtyRoundingPlace:item.SalesUnitId === item.MainUnitId?item.Qty1RoundingPlace:item.Qty2RoundingPlace,\r\n \r\n } \r\n })\r\n setPriceListDetail(newPriceListDetail);\r\n setItemData({\r\n ...itemData,\r\n ItemDescription: res.Data[0].ItemDescription,\r\n ItemId: res.Data[0].ItemId,\r\n Code: res.Data[0].ItemCode,\r\n });\r\n if (!OrderConstraint?.IsFiscal)\r\n setDetailPriceData((pre) => {\r\n return { ...pre, UnitId: newPriceListDetail[0].SalesUnitId };\r\n });\r\n // changeQty(res.Data[0].SalesUnitMinOrderQty, res.Data, totalTaxRate);\r\n } catch {}\r\n };\r\n\r\n const changeQty = (newQty: any, PriceList = [], tax: any = null) => {\r\n let newDetailPriceData: any = null;\r\n\r\n if (!priceListDetail.length && mode === \"edit\" && !OrderConstraint?.PriceListIsManual) {\r\n //این شرط برای اولین بار است که ادیت میزنیم و لیست قیمت نداریم پس باید لیست قیمت بگیریم و کلا از تابع بریم بیرون چون با ست شدن لیست قیمت دوباره وارد همین تابع میشیم\r\n setDetailPriceData({ ...detailPriceData, Qty:RoundWithRoundingPlace(newQty,selectedObj.QtyRoundingPlace) }); //برای وقتی که مود ادیت هست و برای بار اول به تعداد یکی اضافه میکنیم چون این تابع ریترن داره و مقدار با عدد جدید ست نمیشه اینجا ست میکنیم.\r\n getPriceListDetailAsync(detailPriceData.ItemId);\r\n return null; // to not go continue function beacuse this function set priceListDetail to causes to run useEffect and run changeQty\r\n }\r\n\r\n\r\n if(OrderConstraint?.PriceListHasDetailRang&&\r\n priceListDetail[priceListDetail.length - 1]\r\n ?.SalesUnitMaxOrderQty+1 === detailPriceData.Qty && priceListDetail[priceListDetail.length - 1]\r\n ?.SalesUnitMaxOrderQty!==null){\r\n // در لیست قیمت بازه ای اگر مود ادیت است و اولین بار هست که قراره به مقدار یکی اضافه بشه باید تشخیص بدهیم مقدار جدید از ماکسیمم لیست قیمت بیشتر نشود\r\n newQty=newQty-1\r\n }\r\n\r\n if (!OrderConstraint?.PriceListIsManual && OrderConstraint?.IsFiscal) {\r\n priceListDetail.reverse().map((e) => {\r\n if (\r\n (+e.SalesUnitMaxOrderQty >= newQty || e.MaxOrderQty == null) &&\r\n +e.SalesUnitMinOrderQty <= newQty\r\n ) {\r\n newDetailPriceData = e;\r\n }\r\n });\r\n } else {\r\n newDetailPriceData =\r\n priceList?.length > 0 ? PriceList[0] : priceListDetail[0];\r\n newDetailPriceData = {\r\n ...detailPriceData,\r\n ...newDetailPriceData,\r\n SalesUnitPrice: detailPriceData.UnitPrice,\r\n DiscountPercent: detailPriceData?.DiscountPercent,\r\n };\r\n }\r\n\r\n const totalTaxRate = TaxHandler(priceListDetail?.[0]?.ItemTaxList);\r\n setDetailPriceData((pre) => {\r\n return {\r\n Price: RoundWithRoundingPlace(\r\n (+newQty *\r\n (+newDetailPriceData?.SalesUnitPrice *\r\n (100 - +newDetailPriceData?.DiscountPercent))) /\r\n 100,\r\n\r\n OrderConstraint?.PriceRoundingPlace,\r\n \r\n ),\r\n\r\n Discount: RoundWithRoundingPlace(\r\n (+newQty *\r\n +newDetailPriceData?.SalesUnitPrice *\r\n newDetailPriceData?.DiscountPercent) /\r\n 100,\r\n OrderConstraint?.PriceRoundingPlace,\r\n \r\n ),\r\n SubTotalPrice: +newQty * +newDetailPriceData?.SalesUnitPrice,\r\n Qty:\r\n ((+newDetailPriceData?.SalesUnitMaxOrderQty >= newQty ||newDetailPriceData?.SalesUnitMaxOrderQty==null) &&\r\n +newDetailPriceData?.SalesUnitMinOrderQty <= newQty) ||\r\n (priceList && priceList?.IsManual)\r\n ?RoundWithRoundingPlace(newQty,priceListDetail[0].QtyRoundingPlace??selectedObj.QtyRoundingPlace,) \r\n : RoundWithRoundingPlace(pre.Qty,priceListDetail[0].QtyRoundingPlace??selectedObj.QtyRoundingPlace,) ,\r\n ItemTechnicalCode: newDetailPriceData?.ItemTechnicalCode,\r\n MaxOrderQty: newDetailPriceData?.SalesUnitMaxOrderQty,\r\n MinOrderQty: newDetailPriceData?.SalesUnitMinOrderQty,\r\n QtyMainUnit: newDetailPriceData?.QtyMainUnit,\r\n QtyStatisticalUnit: newDetailPriceData?.QtyStatisticalUnit,\r\n IsAbsoluteUnitConversionRatio:\r\n newDetailPriceData?.IsAbsoluteUnitConversionRatio,\r\n PriceListId: newDetailPriceData?.PriceListId,\r\n UnitDiscount: newDetailPriceData?.SalesUnitDiscount,\r\n UnitId: newDetailPriceData?.SalesUnitId,\r\n UnitPrice: newDetailPriceData?.SalesUnitPrice,\r\n TaxRate: OrderConstraint?.HasTax ? totalTaxRate : 0,\r\n DiscountPercent: newDetailPriceData?.DiscountPercent,\r\n };\r\n });\r\n };\r\n\r\n const TaxHandler = (list) => {\r\n let totalTaxRate = 0;\r\n list?.map((item) => {\r\n totalTaxRate += item.TaxRate;\r\n });\r\n return totalTaxRate;\r\n };\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n const initializeFormWithSelectedObject = () => {\r\n setItemData({\r\n ...selectedObj,\r\n Code: selectedObj.ItemCode,\r\n ItemDescription: selectedObj.Item,\r\n });\r\n setDetailPriceData({\r\n ...selectedObj,\r\n TaxRate: OrderConstraint.HasTax ? selectedObj.TaxRate : 0,\r\n SalesUnitMaxOrderQty:null,\r\n SalesUnitMinOrderQty:1,\r\n MaxOrderQty:null,\r\n MinOrderQty:1,\r\n SalesUnitPrice:selectedObj.SalesUnitId === selectedObj.Unit1Id?selectedObj.Unit1Price:selectedObj.Unit2Price,\r\n SalesUnitId:selectedObj.SalesUnitId === selectedObj.Unit1Id?selectedObj.Unit1Id:selectedObj.Unit2Id,\r\n SalesUnitDiscount:selectedObj.Discount,\r\n \r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (selectedObj?.Id && mode !== \"create\") {\r\n initializeFormWithSelectedObject();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (Object.values(userChanges).filter((item) => item != null).length > 0) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n } else {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n\r\n useEffect(() => {\r\n if (mode == \"edit\" && !!priceListDetail.length) {\r\n changeQty(\r\n selectedObj.ItemId == itemData.ItemId\r\n ? detailPriceData.Qty\r\n : priceListDetail[0]?.SalesUnitMinOrderQty,\r\n priceListDetail\r\n );\r\n }\r\n if (mode == \"create\" && !!priceListDetail.length) {\r\n changeQty(\r\n priceListDetail[0]?.SalesUnitMinOrderQty\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty\r\n : 1,\r\n priceListDetail\r\n );\r\n }\r\n }, [priceListDetail]);\r\n\r\n return (\r\n
\r\n {showTree && (\r\n setShowTree(false)}\r\n show={showTree}\r\n >\r\n {\r\n setShowTree(false);\r\n }}\r\n itemCodeHandeler={itemCodeHandeler}\r\n isFiscal={OrderConstraint.IsFiscal}\r\n />\r\n \r\n )}\r\n\r\n
\r\n \r\n {loading ? (\r\n
\r\n
\r\n
\r\n \r\n {\r\n if (e && e != itemData?.Code) {\r\n getPriceListDetailAsync(null, e);\r\n }\r\n }}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n onChange={(e) => {\r\n if (\r\n e?.target.value === null ||\r\n e?.target.value === \"\"\r\n ) {\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty: mode != \"create\" ? selectedObj?.Qty1 : 1,\r\n });\r\n setItemData({});\r\n setRate(null);\r\n }\r\n }}\r\n textboxName={\"itemCode\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"itemCode\"}\r\n mode={mode}\r\n value={itemData?.Code}\r\n defaultValue={itemData?.Code}\r\n />\r\n {mode != \"view\" && (\r\n
\r\n setShowTree(true)}\r\n type=\"button\"\r\n className=\"checkButton\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n onClick={(e) => setShowTree(true)}\r\n />\r\n
\r\n )}\r\n
\r\n\r\n {itemData && itemData?.ItemDescription && (\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"ItemDescription\"\r\n textboxType=\"text\"\r\n labelText=\"ItemReview\"\r\n value={itemData?.ItemDescription}\r\n defaultValue={itemData?.ItemDescription}\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n required={false}\r\n />\r\n
\r\n )}\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"ItemTechnicalCode\"\r\n textboxType=\"text\"\r\n labelText=\"TechnicalCode\"\r\n value={detailPriceData.ItemTechnicalCode + \"\"}\r\n defaultValue={\r\n detailPriceData?.ItemTechnicalCode\r\n ? detailPriceData?.ItemTechnicalCode\r\n : null\r\n }\r\n resetForm={resetForm}\r\n mode=\"view\"\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n customClass={\"arrow-none\"}\r\n step={10 **(priceListDetail[0]?.QtyRoundingPlace??selectedObj?.QtyRoundingPlace)}\r\n \r\n textboxName=\"Qty\"\r\n textboxType=\"number\"\r\n labelText=\"Qty\"\r\n value={\r\n detailPriceData?.Qty\r\n ? detailPriceData.Qty\r\n : !!priceListDetail.length &&\r\n priceListDetail[0]?.SalesUnitMinOrderQty\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty\r\n : 1 + \"\"\r\n }\r\n defaultValue={\r\n detailPriceData?.Qty\r\n ? detailPriceData.Qty\r\n : !!priceListDetail.length &&\r\n priceListDetail[0]?.SalesUnitMinOrderQty\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty\r\n : 1 + \"\"\r\n }\r\n usePrevDefaultValue={\r\n OrderConstraint.PriceListHasDetailRange &&\r\n priceListDetail[priceListDetail.length - 1]\r\n ?.SalesUnitMaxOrderQty === detailPriceData.Qty\r\n }\r\n min={\r\n priceListDetail.length > 0\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty\r\n :10** (priceListDetail[0]?.QtyRoundingPlace??selectedObj?.QtyRoundingPlace)\r\n\r\n :10** (priceListDetail[0]?.QtyRoundingPlace??selectedObj?.QtyRoundingPlace)\r\n\r\n }\r\n max={\r\n priceListDetail.length > 0\r\n ? priceListDetail[priceListDetail.length - 1]\r\n ?.SalesUnitMaxOrderQty\r\n : undefined\r\n }\r\n decimals={priceListDetail[0]?.Unit1RoundingPlace}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={true}\r\n onChange={(e) => {\r\n changeQty(+e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={detailPriceData?.UnitId}\r\n label=\"Unit\"\r\n name=\"UnitId\"\r\n required={false}\r\n mode={\"view\"}\r\n resetForm={resetForm}\r\n setUnitDictionary={(e) => {\r\n setDictionaryName({ ...dictionaryName, Unit: e.Value });\r\n }}\r\n />\r\n
\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"UnitPrice\"\r\n textboxType=\"text\"\r\n labelText=\"UnitPrice\"\r\n value={detailPriceData?.UnitPrice}\r\n round={false}\r\n defaultValue={\r\n (detailPriceData?.UnitPrice\r\n ? detailPriceData?.UnitPrice\r\n : 0) + \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n useGroupingPrice={true}\r\n onChange={(e) =>\r\n setDetailPriceData({\r\n ...detailPriceData,\r\n UnitPrice: +e.target.value.replaceAll(\",\", \"\"),\r\n SubTotalPrice:\r\n +e.target.value.replaceAll(\",\", \"\") *\r\n detailPriceData.Qty,\r\n })\r\n }\r\n required={false}\r\n />\r\n
\r\n {OrderConstraint?.IsFiscal &&
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"SubTotalPrice\"\r\n textboxType=\"text\"\r\n labelText=\"مبلغ\"\r\n value={detailPriceData?.SubTotalPrice}\r\n round={false}\r\n defaultValue={\r\n detailPriceData?.SubTotalPrice\r\n ? detailPriceData?.SubTotalPrice + \"\"\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
}\r\n
\r\n {OrderConstraint?.IsFiscal && \r\n <>\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"DiscountPercent\"\r\n textboxType=\"text\"\r\n useTrans={false}\r\n labelText={trans(\"DiscountPercent\")+'%'}\r\n value={detailPriceData?.DiscountPercent + \"\"}\r\n onChange={(e) =>\r\n setDetailPriceData({\r\n ...detailPriceData,\r\n DiscountPercent: +e.target.value,\r\n Discount:\r\n (+e.target.value *\r\n detailPriceData?.SubTotalPrice) /\r\n 100,\r\n Price:\r\n detailPriceData?.SubTotalPrice -\r\n (+e.target.value *\r\n detailPriceData?.SubTotalPrice) /\r\n 100,\r\n })\r\n }\r\n defaultValue={\r\n detailPriceData?.DiscountPercent > 0\r\n ? detailPriceData?.DiscountPercent\r\n : detailPriceData?.DiscountPercent == 0\r\n ? 0\r\n : null\r\n }\r\n max={100}\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Discount\"\r\n textboxType=\"text\"\r\n labelText=\"Discount\"\r\n value={detailPriceData?.Discount * rate}\r\n defaultValue={\r\n (detailPriceData?.Discount\r\n ? detailPriceData?.Discount\r\n : null) *\r\n rate +\r\n \"\"\r\n }\r\n resetForm={resetForm}\r\n round={false}\r\n onChange={(e) => {\r\n setDetailPriceData({\r\n ...detailPriceData,\r\n Price:\r\n detailPriceData?.SubTotalPrice -\r\n +e.target.value.replaceAll(\",\", \"\"),\r\n UnitDiscount: +e.target.value.replaceAll(\",\", \"\"),\r\n DiscountPercent:\r\n (+e.target.value.replaceAll(\",\", \"\") /\r\n detailPriceData?.SubTotalPrice) *\r\n 100,\r\n });\r\n }}\r\n mode={\"view\"}\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Price\"\r\n textboxType=\"text\"\r\n labelText=\"totalprice\"\r\n value={detailPriceData.Price + \"\"}\r\n defaultValue={detailPriceData?.Price}\r\n resetForm={resetForm}\r\n decimals={OrderConstraint?.PriceRoundingPlace}\r\n round={false}\r\n mode={\r\n priceList?.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"TaxRate\"\r\n textboxType=\"text\"\r\n useTrans={false}\r\n labelText={trans('TaxRate')+'%'}\r\n value={ OrderConstraint.HasTax && detailPriceData?.TaxRate\r\n ? detailPriceData?.TaxRate\r\n \r\n : 0}\r\n \r\n defaultValue={\r\n OrderConstraint.HasTax && detailPriceData?.TaxRate\r\n ? detailPriceData?.TaxRate\r\n \r\n : 0\r\n }\r\n max={100}\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Tax\"\r\n textboxType=\"text\"\r\n labelText=\"Tax\"\r\n decimals={OrderConstraint?.PriceRoundingPlace}\r\n round={OrderConstraint?.FloorTaxDuty}\r\n defaultValue={\r\n OrderConstraint?.HasTax && detailPriceData?.TaxRate\r\n ?OrderConstraint?.FloorTaxDuty?FloorWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,\r\n OrderConstraint?.PriceRoundingPlace,\r\n \r\n ) + \"\": RoundWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,\r\n OrderConstraint?.PriceRoundingPlace,\r\n \r\n ) + \"\"\r\n : \"0\"\r\n }\r\n value={\r\n OrderConstraint?.HasTax&& detailPriceData?.TaxRate\r\n ? OrderConstraint?.FloorTaxDuty?FloorWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,\r\n OrderConstraint?.PriceRoundingPlace,\r\n \r\n ) + \"\": RoundWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,\r\n OrderConstraint?.PriceRoundingPlace,\r\n \r\n ) + \"\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n mode={\r\n \r\n \"view\"\r\n }\r\n required={false}\r\n // onChange={(e) => {\r\n // if (priceList.IsManual) {\r\n // setDetailPriceData({\r\n // ...detailPriceData,\r\n // TaxRate:\r\n // (+e.target.value.replaceAll(\",\", \"\") * 100) /\r\n // detailPriceData.Price,\r\n // });\r\n // }\r\n // }}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"GrandTotalPrice\"\r\n textboxType=\"text\"\r\n labelText=\"payableamount\"\r\n value={\r\n detailPriceData?.TaxRate\r\n ? +detailPriceData.Price +\r\n (+detailPriceData?.TaxRate *\r\n +detailPriceData?.Price) /\r\n 100 +\r\n \"\"\r\n : detailPriceData?.Price\r\n ? detailPriceData?.Price + \"\"\r\n : \"\"\r\n }\r\n defaultValue={\r\n detailPriceData?.TaxRate\r\n ? +detailPriceData.Price +\r\n (+detailPriceData?.TaxRate *\r\n +detailPriceData?.Price) /\r\n 100 +\r\n \"\"\r\n : detailPriceData?.Price\r\n ? detailPriceData?.Price + \"\"\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n decimals={OrderConstraint?.PriceRoundingPlace}\r\n round={false}\r\n mode={\r\n priceList?.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
\r\n
\r\n }\r\n
\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n defaultValue={\r\n mode != \"create\" ? selectedObj?.Description : null\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={false}\r\n />\r\n
\r\n\r\n <>\r\n {mode != \"view\" ? (\r\n
\r\n
\r\n ) : (\r\n
\r\n {\r\n cancel();\r\n }}\r\n />\r\n
\r\n )}\r\n \r\n \r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n {!!priceListDetail.length &&\r\n OrderConstraint?.PriceListHasDetailRange &&\r\n mode == \"create\" && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Address } from \"components/Address/Address\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Person } from \"components/Person/Person\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { AddressBox } from \"pages/InventoryAndSales/Sales/SalesInvoice/components/AddressBox/AddressBox\";\r\nimport { CustomerPhoneDictionary } from \"pages/InventoryAndSales/Sales/SalesInvoice/components/CustomerPhoneDictionary/CustomerPhoneDictionary\";\r\nimport { CustomerPhoneList } from \"pages/InventoryAndSales/Sales/SalesInvoice/components/CustomerPhones/CustomerPhoneList\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { convertAddress, RoundOutputOperation, trans, uuidv4 } from \"utils/helpers\";\r\nimport { getDefaultPersonContact, getSalesOrderById, sendBasketAsync,getOrderConstraint } from \"./api\";\r\nimport { CustomerSalesOrderDetailForm } from \"./CustomerSalesOrderDetailForm\";\r\nimport { ContactType, MessageType } from \"types/enum\";\r\n\r\ninterface CustomerSalesOrderProps {\r\n onHide: () => void;\r\n mode?: any;\r\n basketData: any;\r\n processId?: any;\r\n useClient?: any;\r\n Id?:any\r\n}\r\n\r\nexport const CustomerSalesOrder = ({\r\n basketData,\r\n onHide,\r\n mode,\r\n processId,\r\n useClient,\r\n Id\r\n}: CustomerSalesOrderProps) => {\r\n const [loading, setLoading] = useState(true);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [todayDate, settodayDate] = useState(\r\n new Date().toISOString()\r\n );\r\n const [customer, setCustomer] = useState(null);\r\n const [selectedPhoneDetail, setSelectedPhoneDetail] = useState({\r\n phone:'',\r\n mobile:''\r\n });\r\n\r\n const [customerInfo, setCustomerInfo] = useState(null);\r\n const [showCustomerPhoneForm, setShowCustomerPhoneForm] = useState(false);\r\n\r\n const [showAddressBox, setShowAddressBox] = useState<\r\n \"createMode\" | \"selectMode\" | null\r\n >(null);\r\n const [detailMode, setDetailMode] = useState<\"create\" | \"edit\" | \"view\">(\r\n mode\r\n );\r\n const [showForm, setShowForm] = useState(false);\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [salesOrderDetail, setSalesOrderDetail] = useState([]);\r\n const [dataGridLoading, setDataGridLoading] = useState(true);\r\n const [totalRows, setTotalRows] = useState({\r\n ItemCount: 0,\r\n TotalTax: 0,\r\n TotalDiscount: 0,\r\n SubTotalPrice: 0,\r\n });\r\n const layoutContext = useContext(LayoutContext);\r\n const [OrderConstraint, setOrderConstraint] = useState({});\r\n const [payment, setPayment] = useState({ totalprice: 0, Prepayment: 0 });\r\n const [typePhoneContact, setTypePhonContact] = useState();\r\n const [receive, setReceive] = useState({\r\n GrandTotalPrice: 0,\r\n Prepayment: 0,\r\n });\r\n const [lastWarehouse, setLastWarehouse] = useState(null);\r\n const [changeAddress, setChangeAddress] = useState();\r\n const [person, setPerson] = useState(null);\r\n const formRef=useRef(null)\r\n const [disable,setDisabled]=useState(true)\r\n const [requiredFields,setRequiredFields]=useState()\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n };\r\n async function getOrderConstraintAsync(withLoading = false) {\r\n if (withLoading) setLoading(false);\r\n try {\r\n const res = await getOrderConstraint();\r\n setOrderConstraint(res.Data);\r\n setRequiredFields(JSON.parse(res.Data.RequiredFields))\r\n } catch (error) {}\r\n if (withLoading) setLoading(true);\r\n }\r\n\r\n function setSalesOrderDetailHandler(data) {\r\n setDataGridLoading(false);\r\n setSalesOrderDetail(data);\r\n setDataGridLoading(true);\r\n }\r\n\r\n const handlesetPriceListDetail = (newObj) => {\r\n setTotalRows({\r\n ItemCount:\r\n detailMode == \"create\"\r\n ?RoundOutputOperation( totalRows.ItemCount + +newObj.Qty)\r\n : RoundOutputOperation(totalRows.ItemCount + (+newObj.Qty - +selectedObj.Qty)),\r\n TotalTax:\r\n !OrderConstraint.IsFiscal?0: detailMode == \"create\"\r\n ? totalRows.TotalTax + +newObj.Tax\r\n : totalRows.TotalTax + (+newObj.Tax - +selectedObj.Tax),\r\n TotalDiscount:\r\n !OrderConstraint.IsFiscal?0: detailMode == \"create\"\r\n ? totalRows.TotalDiscount + +newObj.Discount\r\n : totalRows.TotalDiscount +\r\n (+newObj.Discount - +selectedObj.Discount),\r\n SubTotalPrice:\r\n !OrderConstraint.IsFiscal?0: detailMode == \"create\"\r\n ? totalRows.SubTotalPrice + +newObj.SubTotalPrice\r\n : totalRows.SubTotalPrice +\r\n (+newObj.SubTotalPrice - +selectedObj.SubTotalPrice),\r\n });\r\n if (detailMode == \"create\") {\r\n setSalesOrderDetailHandler([...salesOrderDetail, newObj]);\r\n } else {\r\n let newItemes = salesOrderDetail?.map((item: any) => {\r\n if (item.Id == newObj.Id) {\r\n return newObj;\r\n } else return item;\r\n });\r\n setSalesOrderDetailHandler(newItemes);\r\n }\r\n };\r\n async function getDefaultPersonContactAsync() {\r\n try {\r\n // const res2 = await getPersonCustomer(personId)\r\n const res = await getDefaultPersonContact(\r\n layoutContext.UserPerson.PersonId\r\n );\r\n setCustomerInfo({ ...res.Data });\r\n } catch (error) {}\r\n }\r\n const navigate = useNavigate();\r\n const handleCustomerSalesOrderFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let SalesOrderDetails: any = [];\r\n console.log(\"salesOrderDetail\" ,salesOrderDetail)\r\n if (processId || useClient) {\r\n salesOrderDetail.map((item) => {\r\n SalesOrderDetails.push({\r\n ItemId: item.ItemId,\r\n Qty: item.Qty,\r\n UnitId: item.UnitId,\r\n Description: item.Description,\r\n });\r\n });\r\n } else {\r\n salesOrderDetail.map((item) => {\r\n SalesOrderDetails.push({\r\n ItemId: item.ItemId,\r\n Qty: item.Qty,\r\n UnitId: item.UnitId,\r\n Description: item.Description,\r\n });\r\n });\r\n }\r\n\r\n let data = {\r\n CustomerName: customer?.Name\r\n ? customer?.Name\r\n : layoutContext.currentUserPosition.PersonDescription\t,\r\n CustomerPhone: customer?.CustomerPhone?.Name.split(\":\")[1]?customer?.CustomerPhone?.Name.split(\":\")[1] :customer?.CustomerPhone?.Name??null,\r\n CustomerMobilePhone: customer?.CustomerMobilePhone?.Name.split(\":\")[1]?customer?.CustomerMobilePhone?.Name.split(\":\")[1] :customer?.CustomerMobilePhone?.Name??null,\r\n CustomerAddress: formRef.current.Address?.value??null,\r\n CustomerEconNo: formRef.current.CustomerEconNo?.value,\r\n CustomerNationalCode: formRef.current.CustomerNationalCode?.value,\r\n SalesOrderDate: todayDate,\r\n Description: formRef.current.Description.value,\r\n PaymentMethodId: formRef.current.PaymentMethodId?.value,\r\n SalesOrderDetails: SalesOrderDetails,\r\n RecipientPersonId: person?.Id ? person.Id : null,\r\n RecipientPersonDescription: person?.Name ? person.Name : null,\r\n };\r\n\r\n try {\r\n await sendBasketAsync(data, \"post\");\r\n onHide();\r\n if (!(processId || useClient)) {\r\n localStorage.removeItem(\"Basket\");\r\n navigate(\"/e-commerce/Items\");\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n\r\n\r\n\r\n async function makeOrderFromBasket() {\r\n setLoading(false);\r\n try {\r\n // await getOrderConstraintAsync();\r\n let SalesOrderDetails: any = [];\r\n let priceData = {\r\n TotalTax: 0,\r\n TotalDiscount: 0,\r\n SubTotalPrice: 0,\r\n totalprice: 0,\r\n Prepayment: 0,\r\n GrandTotalPrice: 0,\r\n };\r\n let count = 0;\r\n basketData.map((items) => {\r\n Object.values(items.order).map((orders: any) => {\r\n count += +orders.count;\r\n priceData.TotalDiscount +=\r\n orders.OrderItemId.SalesUnitDiscount * +orders.count;\r\n priceData.SubTotalPrice +=\r\n orders.OrderItemId.SalesUnitPrice * +orders.count;\r\n priceData.totalprice +=\r\n (orders.OrderItemId.SalesUnitPrice -\r\n orders.OrderItemId.SalesUnitDiscount) *\r\n +orders.count;\r\n priceData.TotalTax += (orders.OrderItemId.SalesUnitPrice -\r\n orders.OrderItemId.SalesUnitDiscount) *\r\n +orders.count*(items?.TaxObject?.[orders?.OrderItemId?.ItemId]??0)/100\r\n\r\n\r\n SalesOrderDetails.push({\r\n Id: uuidv4(),\r\n SalesOrderId: uuidv4(),\r\n ItemId: orders.OrderItemId.ItemId,\r\n UnitId: orders.OrderItemId.SalesUnitId,\r\n SourceId: null,\r\n SourceData: null,\r\n ItemEN: null,\r\n UnitEN: null,\r\n DescriptionEN: null,\r\n ItemCode: orders.OrderItemId.ItemCode,\r\n Item: orders.OrderItemId.ItemDescription,\r\n ItemTechnicalCode: null,\r\n Qty: +orders.count,\r\n Unit: orders.OrderItemId.SalesUnit,\r\n UnitPrice: orders.OrderItemId.SalesUnitPrice,\r\n SubTotalPrice: orders.OrderItemId.SalesUnitPrice * +orders.count,\r\n Discount: orders.OrderItemId.SalesUnitDiscount * +orders.count,\r\n DiscountPercent: orders.OrderItemId.DiscountPercent,\r\n Price:\r\n (orders.OrderItemId.SalesUnitPrice -\r\n orders.OrderItemId.SalesUnitDiscount) *\r\n +orders.count,\r\n Tax: (orders.OrderItemId.SalesUnitPrice -\r\n orders.OrderItemId.SalesUnitDiscount) *\r\n +orders.count*(items?.TaxObject?.[orders?.OrderItemId?.ItemId]??0)/100,\r\n Description: null,\r\n });\r\n });\r\n });\r\n\r\n setSalesOrderDetail(SalesOrderDetails);\r\n setTotalRows({\r\n ItemCount: count,\r\n TotalTax: priceData?.TotalTax,\r\n TotalDiscount: priceData?.TotalDiscount,\r\n SubTotalPrice: priceData?.SubTotalPrice,\r\n });\r\n setPayment({\r\n totalprice: priceData?.totalprice,\r\n Prepayment: priceData?.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: priceData?.GrandTotalPrice,\r\n Prepayment: priceData?.Prepayment,\r\n });\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n\r\n async function getOrderAsync() {\r\n setLoading(false);\r\n try {\r\n if(mode!='view'){\r\n await getOrderConstraintAsync();\r\n }\r\n const res = await getSalesOrderById(Id);\r\n // setSalesOrderNo(res.Data?.SalesOrderNo)\r\n setResponse(res.Data);\r\n if(mode=='view'){\r\n setOrderConstraint({IsFiscal:res.Data.IsFiscal})\r\n }\r\n let count = 0;\r\n res.Data.CustomerSalesOrderDetailViewDTO.map((item) => {\r\n count += +item?.Qty;\r\n });\r\n setSalesOrderDetail(res.Data.CustomerSalesOrderDetailViewDTO);\r\n\r\n setTotalRows({\r\n ItemCount: count,\r\n TotalTax: res.Data?.TotalTax,\r\n TotalDiscount: res.Data?.TotalDiscount,\r\n SubTotalPrice: res.Data?.SubTotalPrice,\r\n });\r\n setPayment({\r\n totalprice: res.Data?.totalprice,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: res.Data?.GrandTotalPrice,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\nconst handleDeleteRow = async (id: string = selectedObj.Id) => {\r\n let newPriceListDetail: any = [...salesOrderDetail];\r\n let obj = newPriceListDetail.filter((e) => e.Id == id)[0];\r\n\r\n setTotalRows({\r\n ItemCount: RoundOutputOperation(totalRows.ItemCount - +obj.Qty),\r\n TotalTax: totalRows.TotalTax - +obj.Tax,\r\n TotalDiscount: totalRows.TotalDiscount - +obj.Discount,\r\n SubTotalPrice: totalRows.SubTotalPrice - +obj.SubTotalPrice,\r\n });\r\n setSalesOrderDetailHandler(newPriceListDetail.filter((e) => e.Id != id));\r\n };\r\n\r\n useEffect(() => {\r\n getDefaultPersonContactAsync();\r\n }, []);\r\n useEffect(() => {\r\n if (basketData && !(processId || useClient)) makeOrderFromBasket();\r\n if (mode != \"create\") {\r\n getOrderAsync();\r\n } else {\r\n getOrderConstraintAsync(true);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setPayment({\r\n ...payment,\r\n totalprice:\r\n +totalRows?.SubTotalPrice -\r\n +totalRows?.TotalDiscount +\r\n ( OrderConstraint.HasTax ? totalRows.TotalTax:0),\r\n });\r\n }, [totalRows]);\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n {showForm ? (\r\n {\r\n setShowForm(false);\r\n }}\r\n show={showForm}\r\n title={\"SalesOrderDetailForm\"}\r\n >\r\n {\r\n setShowForm(false);\r\n }}\r\n priceList={OrderConstraint?.EcommercePriceListId}\r\n OrderConstraint={OrderConstraint}\r\n selectedObj={selectedObj}\r\n CustomerSalesOrderDetailCallBack={(e) =>\r\n handlesetPriceListDetail(e)\r\n }\r\n personId={layoutContext.currentUserPosition.PersonId}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {showCustomerPhoneForm ? (\r\n {\r\n setShowCustomerPhoneForm(false);\r\n }}\r\n show={showCustomerPhoneForm}\r\n title={\"CustomerPhoneForm\"}\r\n >\r\n {\r\n setShowCustomerPhoneForm(false);\r\n }}\r\n type={typePhoneContact}\r\n handlePhone={(e) => {\r\n typePhoneContact==ContactType.Phone?setSelectedPhoneDetail({...selectedPhoneDetail, phone:e}):setSelectedPhoneDetail({...selectedPhoneDetail, mobile:e})\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {showAddressBox ? (\r\n {\r\n setShowAddressBox(null);\r\n }}\r\n mode={mode}\r\n show={showAddressBox && true}\r\n title={\"Address\"}\r\n >\r\n {\r\n setShowAddressBox(null);\r\n }}\r\n status={showAddressBox}\r\n AddressHandeler={(e) => {\r\n setCustomerInfo({\r\n ...customerInfo,\r\n Address: JSON.stringify(e).toLowerCase(),\r\n });\r\n setShowAddressBox(null);\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n {loading ? (\r\n
\r\n
\r\n
\r\n \r\n {response?.SalesOrderNo &&\r\n
\r\n \r\n
\r\n \r\n }\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n {\r\n setCustomer((prev)=>{return{ ...prev, CustomerPhone: e }});\r\n }}\r\n />\r\n
\r\n \r\n {mode != \"view\" && (\r\n \r\n {\r\n e.preventDefault();\r\n setShowCustomerPhoneForm(true);\r\n setTypePhonContact(ContactType.Phone);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n\r\n {\r\n setCustomer((prev)=>{return{ ...prev, CustomerMobilePhone: e }});\r\n\r\n }}\r\n />\r\n
\r\n {mode != \"view\" && (\r\n \r\n {\r\n e.preventDefault();\r\n setShowCustomerPhoneForm(true);\r\n setTypePhonContact(ContactType.Mobile);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
\r\n )}\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n {/*
\r\n
\r\n
{setShowAddressBox('selectMode');return false}} withMap={false} hideDetail={true} personContact={\r\n response?.CustomerAddress?response?.CustomerAddress:''}mode={\"view\"}/> \r\n\r\n
*/}\r\n\r\n
\r\n
\r\n {\r\n setShowAddressBox(\"selectMode\");\r\n return false;\r\n }}\r\n withMap={false}\r\n hideDetail={true}\r\n personContact={\r\n changeAddress\r\n ? convertAddress(changeAddress)\r\n : response?.CustomerAddress\r\n ? response?.CustomerAddress\r\n : convertAddress(customerInfo?.Address)\r\n }\r\n mode={\"view\"}\r\n required={requiredFields?.CustomerAddress}\r\n />\r\n
\r\n\r\n {mode != \"view\" && (\r\n <>\r\n \r\n {\r\n e.preventDefault();\r\n setShowAddressBox(\"createMode\");\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
\r\n { mode!=='view' && \r\n {\r\n e.preventDefault();\r\n setShowAddressBox(\"selectMode\");\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
}\r\n \r\n )}\r\n \r\n\r\n
\r\n \r\n
\r\n \r\n <>\r\n
\r\n \r\n
\r\n
\r\n {mode != \"view\" && (\r\n {\r\n setDetailMode(\"create\");\r\n setShowForm(true);\r\n }}\r\n className=\"col-2 mb-1 btn btn-success btn-sm d-flex align-items-center justify-content-between \"\r\n style={{\r\n width: \"70px\",\r\n maxHeight: \"30px\",\r\n marginRight: \"20px\",\r\n minWidth: \"70px\",\r\n }}\r\n >\r\n <>\r\n \r\n {trans(\"add\")}\r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {dataGridLoading ? (\r\n <>\r\n {(mode==\"view\" ? salesOrderDetail?.length > 0 :(OrderConstraint?.DetailDTO &&mode!=\"view\")||(salesOrderDetail?.length > 0&&mode==\"view\")) ? (\r\n <>\r\n {\r\n setSelectedObj(e);\r\n setDetailMode(mode==\"create\" ?\"edit\":mode);\r\n setShowForm(true);\r\n }}\r\n parentName={\"SalesOrderDetailList\"}\r\n startIndex={8}\r\n theadData={mode!=='view'?Object.keys(OrderConstraint?.DetailDTO):Object.keys(salesOrderDetail?.[0])}\r\n tbodyData={\r\n salesOrderDetail?.length > 0\r\n ? salesOrderDetail\r\n : [OrderConstraint.DetailDTO]\r\n }\r\n totalRecords={\r\n salesOrderDetail?.length > 0 ? undefined : 0\r\n }\r\n scrollHeight={\"67vh\"}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={\r\n selectedObjCallback\r\n }\r\n handleEdit={\r\n mode != \"view\"\r\n ? (e) => {\r\n setSelectedObj(e);\r\n setDetailMode(\"edit\");\r\n setShowForm(true);\r\n }\r\n : undefined\r\n }\r\n handleDelete={\r\n mode != \"view\"\r\n ? (e) => {\r\n // Toast(\r\n // trans(\"msg_deleteconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // () => handleDeleteRow(e)\r\n // );\r\n Toast(\r\n trans(\"msg_deleteconfirm\"),\r\n MessageType.confirmDelete,\r\n () => handleDeleteRow(e)\r\n );\r\n }\r\n : undefined\r\n }\r\n rowSelected={selectedObj}\r\n handleView={(e) => {\r\n setSelectedObj(e);\r\n setDetailMode(\"view\");\r\n setShowForm(true);\r\n }}\r\n />\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {mode != \"view\" && (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const putWarehouseIO = (data,type) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis[type].browse,\r\n method: \"put\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getWarehouses = (\r\n pageNumber: number,\r\n pageSize: number,\r\n searchString,\r\n orderBy,\r\n filterlist,\r\n currentWarehouse\r\n) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis.browse,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n warehouseId: currentWarehouse,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getWarehouseIoId = (id) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis.load,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\nexport const constraintWarehouseIo = (warehouseIOType,warhouseIdList) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis.constraint,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n warehouseIOType,\r\n warehouseIdList:encodeURI(warhouseIdList)\r\n }\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\n export const getWarehouseIoNo = (docsClassificationId,id=null) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis.nextNo,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n docsClassificationId,\r\n id\r\n }\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n export const getWarehouseIOByReferenceId = (ReferenceId ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis.refrenceId,\r\n \r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n \r\n ReferenceId,\r\n \r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\n export const getWarehouseIOOrGenerate = (SourceData,SourceId,ReferenceId,JobId ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis.getOrGenerate,\r\n \r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n SourceData,\r\n ReferenceId,\r\n JobId\r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n export const postWarehouseIOWorkFlow = (data ,referenceId,type ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis[type].addWorkflow,\r\n method: 'post',\r\n data:data,\r\n params:{referenceId},\r\n \r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject(err);\r\n }); \r\n \r\n export const putWarehouseIOworkflow = (data ,referenceId,type ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis[type].putWorkflow,\r\n method: 'put',\r\n params:{referenceId},\r\n data:data\r\n \r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n export const getDataForPrint = ( Id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis.printData,\r\n method: \"get\",\r\n params:{\r\n id:Id,\r\n useWarmSignature: true \r\n }\r\n \r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n });","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getSellectableWarehouseItemTree = (id: any,warehouseDetailId ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseItem.ItemsTree,\r\n method: \"get\",\r\n params: {\r\n ParentId: null ,\r\n warehouseId:id==\"allWarehouses\"? null: id ,\r\n \r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\nexport const getSellectableWarehouseItems = (id: any ,warehouseDetailId ,pageNumber,pageSize,orderByString,searchString,filterString) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url:ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseItem.sellectableWarehouseItemList,\r\n method: \"get\",\r\n params: {\r\n ParentId: null ,\r\n warehouseId: id,\r\n PageNumber:pageNumber,\r\n PageSize:pageSize,\r\n OrderByString:orderByString,\r\n SearchString:searchString,\r\n FilterString:filterString,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\nexport const getSellectableWarehouseItemDetail= (itemId,warehouseId,warehouseDetailId) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseItem.sellectableWarehouseItemDetail,\r\n method: \"get\",\r\n params:{\r\n itemId,\r\n warehouseId,\r\n warehouseDetailId\r\n }\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })","import { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { SwitchBtn } from \"components/SwitchBtn/SwitchBtn\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { getPageSize, trans } from \"utils/helpers\";\r\nimport {\r\n getSellectableWarehouseItems,\r\n getSellectableWarehouseItemTree,\r\n getSellectableWarehouseItemDetail,\r\n} from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface SellectableWarehouseItemProp {\r\n itemCodeHandeler: (e, bool) => void;\r\n onHide: () => void;\r\n warehouseId?: any;\r\n fetchItem?: any;\r\n warehouseDetailId?: any;\r\n}\r\n\r\nexport const SellectableWarehouseItem = ({\r\n itemCodeHandeler,\r\n warehouseId,\r\n fetchItem=false,\r\n warehouseDetailId,\r\n onHide,\r\n}: SellectableWarehouseItemProp) => {\r\n const [data, setData] = useState();\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [selectedObj, setSelectedObj] = useState();\r\n const [idCallback, setIdCallback] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [message, setMessage] = useState(\"NoDataForPreview\");\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pages, setPages] = useState(0);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [selectList, setSelectList] = useState([]);\r\n const [showMode, setShowMode] = useState(false);\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n\r\n const setselecetrow = (e) => {\r\n setSelectedObj(e);\r\n };\r\n const sendTreeCode = async (e, obj = selectedObj) => {\r\n e?.preventDefault();\r\n e?.stopPropagation();\r\n if (obj) {\r\n try {\r\n if(fetchItem){\r\n const res = await getSellectableWarehouseItemDetail(obj.ItemId,warehouseId,warehouseDetailId);\r\n itemCodeHandeler(res.Data, !showMode);\r\n }else itemCodeHandeler(obj, !showMode);\r\n } catch (error) {}\r\n } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\");\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning);\r\n\r\n }\r\n };\r\n\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n setSelectedObj(null);\r\n if (str === \"\") {\r\n setSearch(null);\r\n getItemTreeFormAsync(1);\r\n } else {\r\n setSearch(str);\r\n getItemTreeFormAsync(1);\r\n }\r\n };\r\n\r\n const handlechangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"ItemTreeForm2\", e.currentTarget.value);\r\n getItemTreeFormAsync(1);\r\n };\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) {\r\n } else setPageNum(+value);\r\n getItemTreeFormAsync(+value);\r\n } else {\r\n }\r\n };\r\n const handleNextPage = () => {\r\n if (pageNum < pages) {\r\n setPageNum(pageNum + 1);\r\n getItemTreeFormAsync(pageNum + 1);\r\n }\r\n };\r\n const handlePrevPage = () => {\r\n if (pageNum > 1) {\r\n setPageNum((pageNum) => {\r\n return +pageNum - 1;\r\n });\r\n getItemTreeFormAsync(pageNum - 1);\r\n }\r\n };\r\n async function getItemTreeFormAsync(PageNum = pageNum) {\r\n setLoading(false);\r\n let pageSizeChangedByUser = getPageSize(\"ItemTreeForm2\");\r\n setPageSize(pageSizeChangedByUser);\r\n try {\r\n if (showMode) {\r\n const respons = await getSellectableWarehouseItemTree(\r\n warehouseId == \"allWarehouses\" ? null : warehouseId,\r\n warehouseDetailId\r\n );\r\n setData(respons.Data);\r\n } else {\r\n const respons = await getSellectableWarehouseItems(\r\n warehouseId == \"allWarehouses\" ? null : warehouseId,\r\n warehouseDetailId,\r\n PageNum,\r\n pageSizeChangedByUser,\r\n orderBy.length == 0 ? null : orderBy.join(\",\"),\r\n search,\r\n filterlist\r\n );\r\n setPages(\r\n respons.Data.TotalRecords > pageSizeChangedByUser\r\n ? Math.ceil(respons.Data.TotalRecords / pageSizeChangedByUser)\r\n : 1\r\n );\r\n setData(respons.Data);\r\n }\r\n } catch (err: any) {\r\n setMessage(err?.data?.Message);\r\n }\r\n setLoading(true);\r\n }\r\n\r\n useEffect(() => {\r\n setData(null);\r\n getItemTreeFormAsync();\r\n }, [forceUpdate, showMode, search, filterlist, orderBy]);\r\n\r\n useEffect(() => {\r\n if (idCallback) {\r\n setIdCallback(null);\r\n }\r\n }, [idCallback]);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {}}\r\n id={selectedObj}\r\n handleSearch={searchHandler}\r\n search={true}\r\n warehouse={false}\r\n emptyList={data?.Data?.length == 0}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n {\r\n sendTreeCode(e);\r\n }}\r\n />\r\n {\r\n onHide();\r\n }}\r\n />\r\n
\r\n {loading ? (\r\n data ? (\r\n <>\r\n {!showMode ? (\r\n
\r\n {data?.Data ? (\r\n {\r\n sendTreeCode(null, e);\r\n }}\r\n selectedRowObjectCallback={setselecetrow}\r\n totalRecords={data.TotalRecords}\r\n pageNum={pageNum}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n handlefiltering={(str) => {\r\n setFilterlist(str);\r\n }}\r\n startIndex={2}\r\n filterStr={filterlist}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handlechangePageSize}\r\n first={() => {\r\n getItemTreeFormAsync(pages);\r\n setPageNum(pages);\r\n }}\r\n end={() => {\r\n getItemTreeFormAsync(1);\r\n setPageNum(1);\r\n }}\r\n handleGoPage={handleGoPage}\r\n />\r\n ) : (\r\n <>\r\n )}\r\n
\r\n ) : (\r\n
\r\n {data && data?.length > 0 && (\r\n {\r\n sendTreeCode(null, e);\r\n }}\r\n getChildrenUrl={\r\n ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi\r\n .WarehouseItem.ItemsTree\r\n }\r\n theadData={[\r\n \"Id\",\r\n \"ParentId\",\r\n \"Children\",\r\n \"Description\",\r\n \"Code\",\r\n ]}\r\n startIndex={2}\r\n defultparams={{\r\n warehouseId: warehouseId\r\n ? warehouseId == \"allWarehouses\"\r\n ? null\r\n : warehouseId\r\n : JSON.parse(localStorage.getItem(\"Inventory\") + \"\")\r\n ?.Id,\r\n }}\r\n Titleparams={\"Description\"}\r\n Childrenparams={\"Children\"}\r\n defultShow={false}\r\n Data={data}\r\n parentName={\"ItemTreeForm\"}\r\n />\r\n )}\r\n
\r\n )}\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import { SelectBox } from \"components/Select/Select\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\ninterface ItemStockListProps {\r\n mode?: \"edit\" | \"create\" | \"view\";\r\n defaultValue: any;\r\n data: any;\r\n sendDataCallBack?: any;\r\n}\r\nexport const ItemStockList = ({\r\n mode,\r\n defaultValue,\r\n data,\r\n sendDataCallBack,\r\n}) => {\r\n const [firstValue, setFirstValue] = useState({\r\n ExpireDate: null,\r\n PartyNo: null,\r\n });\r\n\r\n const [selectedTotalValuseObj, setSelectedTotalValuseObj] = useState({\r\n ExpireDate: defaultValue?.ExpireDate,\r\n PartyNo: defaultValue?.PartyNo,\r\n });\r\n\r\n\r\n useEffect(() => {\r\n sendDataCallBack &&\r\n sendDataCallBack({\r\n ...selectedTotalValuseObj,\r\n Stock: data?.ItemStockList?.find(\r\n (item) =>\r\n item.PartyNo == selectedTotalValuseObj?.PartyNo &&\r\n item.ExpireDate == selectedTotalValuseObj?.ExpireDate\r\n )?.Stock,\r\n });\r\n }, [selectedTotalValuseObj]);\r\n\r\n return (\r\n
\r\n
\r\n {\r\n !firstValue.PartyNo &&\r\n setFirstValue({ ...firstValue, ExpireDate: e.target.value });\r\n setSelectedTotalValuseObj((prev) => {\r\n return {\r\n ...prev,\r\n ExpireDate: e.target.value,\r\n };\r\n });\r\n }}\r\n Change={(e) =>\r\n setSelectedTotalValuseObj((prev) => {\r\n return {\r\n ...prev,\r\n ExpireDate: e,\r\n };\r\n })\r\n }\r\n required={true}\r\n mode={mode}\r\n lable=\"ExpireDate\"\r\n selectType=\"select\"\r\n value={defaultValue?.ExpireDate}\r\n options={data?.ItemStockList?.filter((item) =>\r\n !firstValue.PartyNo ? item : item.PartyNo == firstValue?.PartyNo\r\n ).map((item) => item.ExpireDate)}\r\n val={data?.ItemStockList?.filter((item) =>\r\n !firstValue?.PartyNo ? item : item.PartyNo == firstValue?.PartyNo\r\n ).map((item) => item.ExpireDate)}\r\n name={\"ExpireDate\"}\r\n >\r\n
\r\n\r\n
\r\n {\r\n !firstValue.ExpireDate &&\r\n setFirstValue({ ...firstValue, PartyNo: e.target.value });\r\n setSelectedTotalValuseObj((prev) => {\r\n return {\r\n ...prev,\r\n PartyNo: e.target.value,\r\n };\r\n });\r\n }}\r\n Change={(e) =>\r\n setSelectedTotalValuseObj((prev) => {\r\n return { ...prev, PartyNo: e };\r\n })\r\n }\r\n required={true}\r\n mode={mode}\r\n lable=\"PartyNo\"\r\n selectType=\"select\"\r\n value={defaultValue?.PartyNo}\r\n options={data?.ItemStockList?.filter((item) =>\r\n !firstValue?.ExpireDate\r\n ? item\r\n : item.ExpireDate == firstValue?.ExpireDate\r\n ).map((item) => item.PartyNo)}\r\n val={data?.ItemStockList?.filter((item) =>\r\n !firstValue?.ExpireDate\r\n ? item\r\n : item.ExpireDate == firstValue?.ExpireDate\r\n ).map((item) => item.PartyNo)}\r\n name={\"PartyNo\"}\r\n >\r\n
\r\n {mode !== \"view\" && (\r\n
\r\n \r\n item.PartyNo == selectedTotalValuseObj?.PartyNo &&\r\n item.ExpireDate == selectedTotalValuseObj?.ExpireDate\r\n )?.Stock\r\n }\r\n defaultValue={\r\n data?.ItemStockList?.find(\r\n (item) =>\r\n item.PartyNo == selectedTotalValuseObj?.PartyNo &&\r\n item.ExpireDate == selectedTotalValuseObj?.ExpireDate\r\n )?.Stock\r\n }\r\n mode={\"view\"}\r\n />\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { UnitDictionary } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\n\r\nimport { uuidv4 } from \"utils/helpers\";\r\nimport { SellectableWarehouseItem } from \"../SellectableWarehouseItem/SellectableWarehouseItem\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { getSellectableWarehouseItemDetail } from \"../SellectableWarehouseItem/api\";\r\nimport { ItemStockList } from \"./ItemStockList\";\r\n\r\ninterface SalesInvoiceFormProps {\r\n onHide: () => void;\r\n warehouseIODetail?: any;\r\n mode: any;\r\n warehouseId: any;\r\n selectedObj?: any;\r\n WarehouseDetailId?: any;\r\n}\r\n\r\nexport const InventoryRemittanceDetailForm = ({\r\n mode,\r\n onHide,\r\n warehouseIODetail,\r\n warehouseId,\r\n selectedObj,\r\n WarehouseDetailId,\r\n}: SalesInvoiceFormProps) => {\r\n const [showTree, setShowTree] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [itemData, setItemData] = useState();\r\n const [dictionaryNameUnit, setDictionaryNameUnit] = useState({});\r\n const [detailWarehouseData, setDetailWarehouseData] = useState({\r\n QtyOut2: 0,\r\n QtyOut1: 0,\r\n ItemValue: 0,\r\n ItemValueOut: 0,\r\n WageCost: 0,\r\n });\r\n const [resetForm, setResetForm] = useState(false);\r\n const [itemStokList, setItemStokList] = useState();\r\n\r\n const itemCodeHandeler = (obj) => {\r\n setLoading(false);\r\n setItemData({\r\n Code: obj.ItemCode,\r\n Id: obj.Id,\r\n Description: obj.ItemDescription,\r\n TechnicalCode: obj.ItemTechnicalCode,\r\n ItemStockList: obj.ItemStockList,\r\n HasProductTracking: obj.HasProductTracking,\r\n HasExpireDate: obj.HasExpireDate,\r\n });\r\n setDetailWarehouseData({\r\n ...obj,\r\n UnitOut1Id: obj.MainUnitId,\r\n UnitOut2Id: obj.StatisticalUnitId,\r\n UnitOut2: obj.Unit2,\r\n UnitOut1: obj.Unit1,\r\n QtyOut1: obj.QtyMainUnit,\r\n QtyOut2: obj.QtyStatisticalUnit,\r\n ItemValue: 0,\r\n ItemValueOut: 0,\r\n WageCost: 0,\r\n });\r\n setResetForm(true);\r\n setDictionaryNameUnit({ UnitOut2: obj.Unit2, UnitOut1: obj.Unit1 });\r\n setShowTree(false);\r\n setLoading(true);\r\n };\r\n\r\n console.log({ selectedObj });\r\n\r\n const handleSubmit = (event) => {\r\n event.preventDefault();\r\n let data = {\r\n Id: mode != \"create\" ? selectedObj?.Id : uuidv4(),\r\n ItemId: itemData?.Id,\r\n ItemCode: itemData?.Code,\r\n Item: itemData?.Description,\r\n ItemTechnicalCode: itemData?.ItemTechnicalCode,\r\n HasProductTracking: itemData?.HasProductTracking,\r\n HasExpireDate: itemData?.HasExpireDate,\r\n ExpireDate:\r\n itemData?.HasExpireDate || itemStokList?.ExpireDate\r\n ? itemStokList?.ExpireDate\r\n : null,\r\n PartyNo:\r\n itemData?.HasProductTracking || itemStokList?.PartyNo\r\n ? itemStokList?.PartyNo\r\n : null,\r\n UnitOut1Id: event.target.UnitOut1Id?.value,\r\n UnitOut1: dictionaryNameUnit.UnitOut1,\r\n UnitOut2Id: event.target.UnitOut2Id?.value,\r\n UnitOut2: dictionaryNameUnit.UnitOut2,\r\n QtyOut1: +event.target.QtyOut1?.value,\r\n QtyOut2: +event.target.QtyOut2?.value,\r\n ItemValue: +event.target.ItemValue?.value,\r\n ItemValueOut: +event.target.ItemValueOut?.value,\r\n WageCost: +event.target.WageCost?.value,\r\n Description: event.target.Description?.value,\r\n DescriptionEN: event.target.DescriptionEN?.value,\r\n QCNo: event.target.QCNo?.value,\r\n QtySource: 0,\r\n DeliveryCost: 0,\r\n OtherCost: 0,\r\n OverloadCost: 0,\r\n // UnitIn1Id: event.target.UnitIn1Id?.value,\r\n // UnitIn1:dictionaryNameUnit.UnitIn1,\r\n // UnitIn2Id: event.target.UnitIn2Id?.value,\r\n // UnitIn2:dictionaryNameUnit.UnitIn2,\r\n // Calculated: event.target.Calculated?.checked,\r\n // CalculatedBySystem: event.target.CalculatedBySystem?.checked,\r\n // CalculatedByAlteration: event.target.CalculatedByAlteration?.checked,\r\n // ManualRegistered: event.target.ManualRegistered?.checked,\r\n // QtyIn1: +event.target.QtyIn1?.value,\r\n // QtyIn2: +event.target.QtyIn2?.value,\r\n // ItemValueIn: +event.target.ItemValueIn?.value,\r\n };\r\n\r\n warehouseIODetail?.(data);\r\n onHide && onHide();\r\n };\r\n\r\n const getItemDetailAsync = async () => {\r\n try {\r\n const res = await getSellectableWarehouseItemDetail(\r\n selectedObj?.ItemId,\r\n warehouseId,\r\n WarehouseDetailId\r\n );\r\n setItemData({\r\n Code: res.Data.ItemCode,\r\n Id: res.Data.Id,\r\n Description: res.Data.ItemDescription,\r\n TechnicalCode: res.Data.ItemTechnicalCode,\r\n ItemStockList: res.Data.ItemStockList,\r\n\r\n HasProductTracking: res.Data.HasProductTracking,\r\n HasExpireDate: res.Data.HasExpireDate,\r\n });\r\n setDetailWarehouseData({ ...selectedObj });\r\n } catch (error) {}\r\n };\r\n\r\n const updateQuantity = async (newQty, QtyInChange) => {\r\n setDetailWarehouseData({\r\n ...detailWarehouseData,\r\n QtyOut1:\r\n QtyInChange == \"QtyOut1\"\r\n ? newQty\r\n : newQty / detailWarehouseData.ConversionRatio,\r\n QtyOut2:\r\n QtyInChange == \"QtyOut2\"\r\n ? newQty\r\n : newQty * detailWarehouseData.ConversionRatio,\r\n });\r\n };\r\n\r\n const initializeFormWithSelectedObject = () => {\r\n setDetailWarehouseData({ ...selectedObj });\r\n setItemData({\r\n Code: selectedObj.ItemCode,\r\n Id: selectedObj.ItemId,\r\n Description: selectedObj.Item,\r\n TechnicalCode: selectedObj.ItemTechnicalCode,\r\n HasProductTracking: selectedObj.HasProductTracking,\r\n HasExpireDate: selectedObj.HasExpireDate,\r\n });\r\n };\r\n useEffect(() => {\r\n if (mode !== \"create\") {\r\n if (\r\n // mode == \"edit\" &&\r\n selectedObj.HasProductTracking ||\r\n selectedObj.HasExpireDate \r\n ) {\r\n getItemDetailAsync();\r\n } else {\r\n initializeFormWithSelectedObject();\r\n }\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n return (\r\n
\r\n {showTree && (\r\n setShowTree(false)}\r\n show={showTree}\r\n >\r\n {\r\n setShowTree(false);\r\n }}\r\n fetchItem={true}\r\n itemCodeHandeler={itemCodeHandeler}\r\n warehouseId={warehouseId}\r\n warehouseDetailId={WarehouseDetailId}\r\n />\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n {\r\n if (e?.target.value === null || e?.target.value === \"\") {\r\n setDetailWarehouseData({});\r\n setItemData({});\r\n }\r\n }}\r\n textboxName={\"itemCode\"}\r\n textboxType=\"text\"\r\n labelText={\"itemCode\"}\r\n mode={mode}\r\n value={itemData?.Code}\r\n defaultValue={itemData?.Code}\r\n />\r\n {mode != \"view\" && (\r\n
\r\n setShowTree(true)}\r\n type=\"button\"\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n onClick={(e) => setShowTree(true)}\r\n />\r\n
\r\n )}\r\n
\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={detailWarehouseData?.UnitIn1Id}\r\n label=\"UnitIn1Id\"\r\n name=\"UnitIn1Id\"\r\n required={false}\r\n // resetForm={resetForm}\r\n setUnitDictionary={(e) => {\r\n setDictionaryName({ ...dictionaryName, UnitIn1: e.Value });\r\n }}\r\n />\r\n
*/}\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={detailWarehouseData?.UnitIn2Id}\r\n label=\"UnitIn2Id\"\r\n name=\"UnitIn2Id\"\r\n required={false}\r\n // resetForm={resetForm}\r\n setUnitDictionary={(e) => {\r\n setDictionaryName({ ...dictionaryName, UnitIn2: e.Value });\r\n }}\r\n />\r\n
*/}\r\n\r\n {itemData?.HasProductTracking ||\r\n (itemData?.DataHasExpireDate && (\r\n
\r\n setItemStokList(obj)}\r\n defaultValue={detailWarehouseData}\r\n data={itemData}\r\n mode={mode}\r\n />\r\n
\r\n ))}\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={detailWarehouseData?.UnitOut1Id}\r\n label=\"UnitOut1\"\r\n name=\"UnitOut1Id\"\r\n required={true}\r\n resetForm={resetForm}\r\n setUnitDictionary={(e) => {\r\n setDictionaryNameUnit({\r\n ...dictionaryNameUnit,\r\n UnitOut1: e?.Value,\r\n });\r\n }}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"QtyOut1\"\r\n textboxType=\"text\"\r\n labelText=\"QtyOut1\"\r\n value={detailWarehouseData?.QtyOut1}\r\n defaultValue={detailWarehouseData?.QtyOut1 + \"\"}\r\n mode={mode}\r\n onChange={(e) => {\r\n updateQuantity(+e.target.value, \"QtyOut1\");\r\n }}\r\n />\r\n
\r\n\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"QtyIn1\"\r\n textboxType=\"text\"\r\n labelText=\"QtyIn1\"\r\n value={detailWarehouseData?.QtyIn1}\r\n defaultValue={detailWarehouseData?.QtyIn1}\r\n />\r\n
*/}\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"QtyIn2\"\r\n textboxType=\"text\"\r\n labelText=\"QtyIn2\"\r\n value={detailWarehouseData?.QtyIn2}\r\n defaultValue={detailWarehouseData?.QtyIn2}\r\n mode={mode}\r\n\r\n />\r\n
*/}\r\n {detailWarehouseData?.UnitOut2Id && (\r\n <>\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={detailWarehouseData?.UnitOut2Id}\r\n label=\"UnitOut2\"\r\n name=\"UnitOut2Id\"\r\n required={true}\r\n resetForm={resetForm}\r\n setUnitDictionary={(e) => {\r\n setDictionaryNameUnit({\r\n ...dictionaryNameUnit,\r\n UnitOut2: e?.Value,\r\n });\r\n }}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"QtyOut2\"\r\n textboxType=\"text\"\r\n labelText=\"QtyOut2\"\r\n value={detailWarehouseData?.QtyOut2}\r\n defaultValue={detailWarehouseData?.QtyOut2 + \"\"}\r\n mode={mode}\r\n onChange={(e) => {\r\n updateQuantity(+e.target.value, \"QtyOut2\");\r\n }}\r\n />\r\n
\r\n \r\n )}\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"QtySource\"\r\n textboxType=\"text\"\r\n labelText=\"QtySource\"\r\n value={detailWarehouseData?.QtySource}\r\n defaultValue={detailWarehouseData?.QtySource}\r\n />\r\n
*/}\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"ItemValue\"\r\n textboxType=\"text\"\r\n labelText=\"ItemValue\"\r\n onChange={(e) => {\r\n setDetailWarehouseData({\r\n ...detailWarehouseData,\r\n ItemValue: +e.target.value,\r\n ItemValueOut:\r\n +e.target.value + detailWarehouseData.WageCost,\r\n });\r\n }}\r\n value={detailWarehouseData?.ItemValue}\r\n defaultValue={detailWarehouseData?.ItemValue}\r\n mode={mode}\r\n />\r\n
\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"ItemValueIn\"\r\n textboxType=\"text\"\r\n labelText=\"ItemValueIn\"\r\n mode={\"view\"}\r\n value={detailWarehouseData?.ItemValueIn ?? totalValueIn}\r\n defaultValue={detailWarehouseData?.ItemValueIn ?? totalValueIn + \"\"}\r\n />\r\n
*/}\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"ItemValueOut\"\r\n textboxType=\"text\"\r\n labelText=\"ItemValueOut\"\r\n value={detailWarehouseData?.ItemValueOut}\r\n defaultValue={detailWarehouseData?.ItemValueOut}\r\n mode={\"view\"}\r\n onChange={(e) =>\r\n setDetailWarehouseData({\r\n ...detailWarehouseData,\r\n ItemValue: +e.target.value,\r\n ItemValueOut: +e.target.value,\r\n })\r\n }\r\n />\r\n
\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"DeliveryCost\"\r\n textboxType=\"text\"\r\n labelText=\"DeliveryCost\"\r\n onChange={(e) => {\r\n setTotalValueIn(totalValueIn + +e.target.value);\r\n }}\r\n value={detailWarehouseData?.DeliveryCost}\r\n defaultValue={detailWarehouseData?.DeliveryCost}\r\n />\r\n
*/}\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"OtherCost\"\r\n textboxType=\"text\"\r\n labelText=\"OtherCost\"\r\n onChange={(e) => {\r\n setTotalValueIn(totalValueIn + +e.target.value);\r\n }}\r\n value={detailWarehouseData?.OtherCost}\r\n defaultValue={detailWarehouseData?.OtherCost}\r\n />\r\n
*/}\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"OverloadCost\"\r\n textboxType=\"text\"\r\n labelText=\"OverloadCost\"\r\n onChange={(e) => {\r\n setTotalValueIn(totalValueIn + +e.target.value);\r\n }}\r\n value={detailWarehouseData?.OverloadCost}\r\n defaultValue={detailWarehouseData?.OverloadCost}\r\n />\r\n
*/}\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"WageCost\"\r\n textboxType=\"text\"\r\n labelText=\"WageCost\"\r\n onChange={(e) => {\r\n setDetailWarehouseData({\r\n ...detailWarehouseData,\r\n WageCost: +e.target.value,\r\n ItemValueOut:\r\n +e.target.value + detailWarehouseData.ItemValue,\r\n });\r\n }}\r\n value={detailWarehouseData?.WageCost}\r\n defaultValue={detailWarehouseData?.WageCost}\r\n mode={mode}\r\n />\r\n
\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"QCNo\"\r\n textboxType=\"text\"\r\n labelText=\"QCNo\"\r\n value={detailWarehouseData?.QCNo}\r\n defaultValue={detailWarehouseData?.QCNo}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Description\"\r\n textboxType=\"textarea\"\r\n labelText=\"Description\"\r\n value={detailWarehouseData?.Description}\r\n defaultValue={detailWarehouseData?.Description}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"DescriptionEN\"\r\n textboxType=\"textarea\"\r\n labelText=\"DescriptionEN\"\r\n value={detailWarehouseData?.DescriptionEN}\r\n defaultValue={detailWarehouseData?.DescriptionEN}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n labelText={\"Calculated\"}\r\n inputName={\"Calculated\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n labelText={\"CalculatedBySystem\"}\r\n inputName={\"CalculatedBySystem\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
*/}\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n labelText={\"CalculatedByAlteration\"}\r\n inputName={\"CalculatedByAlteration\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
*/}\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n labelText={\"ManualRegistered\"}\r\n inputName={\"ManualRegistered\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
*/}\r\n
\r\n <>\r\n {mode != \"view\" ? (\r\n
\r\n
\r\n ) : (\r\n
\r\n onHide()}\r\n />\r\n
\r\n )}\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n","import { warehouseIOType } from \"types/enum\";\r\nimport { InventoryRemittanceForm } from \"./InventoryRemittance/InventoryRemittanceForm\";\r\n\r\n\r\nconst warehouseIOForms = {\r\n [warehouseIOType.InventoryRemittance]: InventoryRemittanceForm,\r\n \r\n };\r\ninterface WarehouseIOTypeFormProps {\r\n type: any;//string => exmaple InventoryRemittance\r\n warehouseIoEnaumType?:any//enum => exmaple InventoryRemittance is enum 3 so result is 3\r\n onHide: () => void;\r\n reload: () => void;\r\n [key: string]: any; \r\n }\r\n \r\n const WarehouseIOTypeForm: React.FC = ({ type,warehouseIoEnaumType, ...props }) => {\r\n const FormComponent = warehouseIOForms[warehouseIoEnaumType] || null;\r\n return FormComponent ? :
;\r\n };\r\n \r\n export default WarehouseIOTypeForm;\r\n ","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Person } from \"components/Person/Person\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { MessageType, warehouseIOType } from \"types/enum\";\r\nimport { GUID_EMPTY, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\nimport {\r\n getWarehouseIoNo,\r\n} from \"./api\";\r\n\r\nimport { DocsClassification } from \"pages/InventoryAndSales/Sales/SalesInvoice/components/DocsClassification/DocsClassification\";\r\nimport { WarehouseDictionaryWithAccess } from \"pages/InventoryAndSales/Sales/SalesInvoice/components/WarehouseDictionary/WarehouseDictionaryWithAccess\";\r\nimport { InventoryRemittanceDetailForm } from \"./InventoryRemittanceDetailForm\";\r\nimport { InventoryRemittanceDTO } from \"./type\";\r\n\r\ninterface Props {\r\n mode: string;\r\n showForm: boolean;\r\n selectedObj: any;\r\n jobId?: any;\r\n JobNo?: any;\r\n processId?: any;\r\n referenceId?: any;\r\n taskId?: any;\r\n onHide: (e) => void;\r\n reload: () => void;\r\n warehouseIoEnaumType?: any;\r\n setShowWarehouseIoForm;\r\n sourceId?: any;\r\n SourceData?: any;\r\n sourceDataParam?: any;\r\n data?:any\r\n handleSendData?:any\r\n constraint?:any\r\n showWarehouseTypeForm?:any\r\n}\r\n\r\nexport const InventoryRemittanceForm = ({\r\n mode,\r\n selectedObj,\r\n onHide,\r\n taskId,\r\n jobId,\r\n JobNo,\r\n warehouseIoEnaumType,//enum => exmaple InventoryRemittance is enum 3 so result is 3\r\n data,\r\n handleSendData,\r\n constraint\r\n,\r\n showWarehouseTypeForm\r\n}: Props) => {\r\n \r\n const [fromDate, setFromDate] = useState(null);\r\n const [haveSource, setHaveSource] = useState(null);\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [recipientPerson, setRecipientPerson] = useState({});\r\n const [accountPartyPerson, setAccountPartyPerson] = useState({});\r\n const [deliverPerson, setDeliverPerson] = useState({});\r\n const [response, setResponse] = useState(data);\r\n const [applicantPosition, setApplicantPosition] = useState({});\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n const [docsClassification, setDocsClassification] = useState({});\r\n const myform = useRef(null);\r\n const [warehouseIoDetail, setWarehouseIoDetail] = useState(data.InventoryRemittanceDetailDTOList);\r\n const [detailMode, setDetailMode] = useState([]);\r\n\r\n const [totalRow, setTotalRow] = useState({\r\n QtyOut1: data.ItemCount,\r\n });\r\n const [showDetailForm, setShowDetailForm] = useState(false);\r\n const [selectedRow, setSelectedRow] = useState(null);\r\n const [warehouseData, setWarehouseData] = useState();\r\n const [time, setTime] = useState(new Date().toISOString());\r\n const [nextInvoiceNumber, setNextInvoiceNumber] = useState();\r\n const [requiredFields, setRequiredFields] = useState();\r\n\r\n\r\n\r\n const getWarehouseIoNoAsync = async () => {\r\n try {\r\n const res = await getWarehouseIoNo(\r\n docsClassification?.Id != GUID_EMPTY ? docsClassification?.Id : null,\r\n response.WarehouseId,\r\n warehouseIoEnaumType,\r\n response.WarehouseIONo!==0?response.Id:null\r\n );\r\n setNextInvoiceNumber(res.Data);\r\n } catch (error: any) {}\r\n };\r\n\r\n\r\n \r\n \r\n\r\n const handleSubmit = async (event: React.FormEvent) => {\r\n event.preventDefault();\r\n const data: InventoryRemittanceDTO = {\r\n SourceId: response?.SourceId,\r\n SourceData: haveSource ? haveSource : response?.SourceData,\r\n IsRegisteredByQuantity: false,\r\n IsRegisteredByPrice: false,\r\n /* RecipientPersonDescriptionEN: \"\",\r\n AccountPartyPersonDescriptionEN: \"\",\r\n DeliverPersonDescriptionEN: \"\",\r\n ApplicantPositionDescriptionEN: \"\", */\r\n\r\n ItemCount: totalRow.QtyOut1,\r\n DocsClassificationId:\r\n event.currentTarget?.docsClassificationId &&\r\n event.currentTarget.docsClassificationId.value !== GUID_EMPTY\r\n ? event.currentTarget.docsClassificationId.value\r\n : null,\r\n WarehouseIOKindId: event.currentTarget.WarehouseIOKindId.value,\r\n WarehouseId: event.currentTarget.WarehouseId.value,\r\n WarehouseDetail:warehouseData.WarehouseDetail,\r\n WarehouseDetailId:warehouseData.WarehouseDetailId,\r\n Warehouse:warehouseData.WarehouseTitle,\r\n WarehouseIOType: +warehouseIOType.InventoryRemittance,\r\n WarehouseIONo: parseInt(event.currentTarget.WarehouseIONo.value, 10),\r\n WarehouseIODate: fromDate || \"\",\r\n BillOfLadingNo: event.currentTarget.BillOfLadingNo.value,\r\n CalculateQuantityFromAnalysis:\r\n event.currentTarget.CalculateQuantityFromAnalysis.checked,\r\n RecipientPersonId: recipientPerson.Id,\r\n RecipientPersonDescription: recipientPerson.Name,\r\n AccountPartyPersonId: accountPartyPerson.Id,\r\n AccountPartyPersonDescription: accountPartyPerson.Name,\r\n DeliverPersonId: deliverPerson.Id,\r\n DeliverPersonDescription: deliverPerson.Name,\r\n ApplicantPositionId: applicantPosition.Id,\r\n ApplicantPositionDescription: applicantPosition.Name,\r\n Description: event.currentTarget?.Description?.value,\r\n InventoryRemittanceDetailDTOList: warehouseIoDetail,\r\n };\r\n\r\n handleSendData({...data, JobId: jobId,\r\n JobNo: response?.JobNo ? response?.JobNo : JobNo,\r\n TAS_UID: taskId,\r\n Id: response?.Id});\r\n showWarehouseTypeForm!=3 && onHide && onHide(true)\r\n };\r\n\r\n const handleCallBackWarehouseIODetail = (newData) => {\r\n if (detailMode == \"create\") {\r\n setWarehouseIoDetail([...warehouseIoDetail, newData]);\r\n } else {\r\n let newItemes = warehouseIoDetail?.map((item: any) => {\r\n if (item.Id == newData.Id) {\r\n return newData;\r\n } else {\r\n return item;\r\n }\r\n });\r\n setWarehouseIoDetail(newItemes);\r\n }\r\n setTotalRow({\r\n QtyOut1: totalRow.QtyOut1 + newData.QtyOut1,\r\n });\r\n };\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // onHide && onHide();\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n onHide && onHide(true);\r\n });\r\n } else {\r\n onHide && onHide(true);\r\n }\r\n }\r\n\r\n\r\n \r\n\r\n const handleDeleteRow = async (id: string = selectedObj?.Id) => {\r\n let newPriceListDetail: any = [...warehouseIoDetail];\r\n let obj = newPriceListDetail.filter((e) => e.Id == id)[0];\r\n\r\n setTotalRow({\r\n QtyOut1: totalRow.QtyOut1 - obj.QtyOut1,\r\n });\r\n setWarehouseIoDetail(newPriceListDetail.filter((e) => e.Id != id));\r\n };\r\n\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedRow(obj);\r\n };\r\n\r\n useEffect(() => {\r\n setRequiredFields(JSON.parse(constraint?.RequiredFields));\r\n if (constraint?.IsDocClassified ) {\r\n if(mode == \"create\" || response.WarehouseIONo===0){\r\n getWarehouseIoNoAsync();\r\n }else{\r\n setNextInvoiceNumber(response.WarehouseIONo)\r\n }\r\n }\r\n\r\n }, []);\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n
\r\n {showDetailForm && (\r\n {\r\n setShowDetailForm(false);\r\n }}\r\n show={showDetailForm}\r\n title={\"warehouseIODetail\"}\r\n >\r\n setShowDetailForm(false)}\r\n warehouseId={warehouseData?.WarehouseId}\r\n WarehouseDetailId={warehouseData?.WarehouseDetailId}\r\n selectedObj={selectedRow}\r\n />\r\n \r\n )}\r\n\r\n <>\r\n
\r\n
\r\n {mode != \"view\" ? (\r\n
\r\n 0)}\r\n value=\"save\"\r\n btnType=\"submit\"\r\n disabled={\r\n !constraint.NoItemWarehouseIO && !warehouseIoDetail?.length\r\n }\r\n />\r\n\r\n {\r\n cancel();\r\n }}\r\n />\r\n
\r\n ) : (\r\n
\r\n {\r\n cancel();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n labelText=\"WarehouseIONo\"\r\n textboxName=\"WarehouseIONo\"\r\n resetForm={resetForm}\r\n readonly={!constraint?.IsDocNoEditable}\r\n defaultValue={\r\n constraint?.IsDocClassified\r\n ? nextInvoiceNumber\r\n : response?.WarehouseIONo?.toString()\r\n \r\n }\r\n mode={constraint.IsDocNoEditable ? mode : \"view\"}\r\n required={requiredFields?.WarehouseIONo}\r\n />\r\n
\r\n {constraint.IsDocClassified && (\r\n
\r\n {\r\n setDocsClassification(obj);\r\n if (\r\n (e != docsClassification.Id &&\r\n nextInvoiceNumber &&\r\n !constraint?.IsClassificationIgnored) ||\r\n (mode == \"edit\" &&\r\n !response?.DocsClassificationId &&\r\n !docsClassification.Id &&\r\n constraint?.IsClassificationIgnored)\r\n ) {\r\n //توضیح کامل شرط:\r\n //وقتی مد ایجاد هست شرط اول اجرا شده\r\n //وقتی مد ویرایش هست و در ریسپانس مقدار داکس کلسیفیکیش داریم شرط اول اجرا میشه\r\n //در مد ادیت اگر ریسپانس مقدار داکس کلسیفیکیشن نداشته باشد شرط دوم اجرا شده به این صورت که چون میخواد جدید داکس کلسیفیکیشن بگیره پس باید درخواست بزنه و شماره جدید بگیره و فقط یکبار باید این اتفاق بیوفته چون ایگنور داریم و دفعات بعدی اگر داکس تغییر کرد نباید شماره جدید بگیره پس باید بررسی کنیم داکس مقدار نداشته باشه و یا ریسپانس داکس مقدار نداشته باشه\r\n getWarehouseIoNoAsync();\r\n }\r\n }}\r\n />\r\n
\r\n )}\r\n\r\n
\r\n \r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n mode={constraint?.IsNewDocCurrentDate ? \"view\" : mode}\r\n resetForm={resetForm}\r\n lable=\"WarehouseIODate\"\r\n setIsoTime={(isoTime: string) => {\r\n setFromDate(isoTime);\r\n }}\r\n val={response?.WarehouseIODate ?? time}\r\n required={requiredFields?.WarehouseIODate}\r\n />\r\n
\r\n
\r\n {\r\n setWarehouseData({\r\n WarehouseId: e,\r\n WarehouseTitle: obj.Name.Description,\r\n WarehouseDetailsCount: obj.Name.WarehouseDetailsCount,\r\n });\r\n }}\r\n mode={mode}\r\n value={response?.WarehouseId}\r\n required={requiredFields?.WarehouseId}\r\n />\r\n
\r\n\r\n {(warehouseData?.WarehouseDetailsCount > 0 ||\r\n warehouseData?.WarehouseDetailId) && (\r\n
\r\n {\r\n setWarehouseData((prev) => {\r\n return {\r\n ...prev,\r\n WarehouseDetailId: e,\r\n WarehouseDetail: obj?.Name,\r\n };\r\n });\r\n }}\r\n baseUrl={INVENTORYANDSALES_URL}\r\n endPoint={\r\n ENDPOINTSINVENTORYANDSALES.Inventory\r\n .BaseInformationApi.WarehouseDetail.dictionary\r\n }\r\n value={\r\n mode != \"create\" ? selectedObj?.WarehouseDetailId : null\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n )}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n {mode === \"view\" && (\r\n
\r\n \r\n
\r\n )}\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n label=\"WarehouseIOType\"\r\n enumTypeSelect=\"WarehouseIOType\"\r\n name=\"WarehouseIOType\"\r\n mode={mode}\r\n value={response?.WarehouseIOType}\r\n />\r\n
*/}\r\n\r\n \r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n labelText=\"BillOfLadingNo\"\r\n textboxName=\"BillOfLadingNo\"\r\n resetForm={resetForm}\r\n defaultValue={response?.BillOfLadingNo}\r\n mode={mode}\r\n required={requiredFields?.BillOfLadingNo}\r\n />\r\n
\r\n {/* \r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n label=\"ProductionType\"\r\n enumTypeSelect=\"ProductionType\"\r\n name=\"ProductionType\"\r\n mode={mode}\r\n value={response?.ProductionType}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n label=\"ValuationType\"\r\n enumTypeSelect=\"ValuationType\"\r\n name=\"ValuationType\"\r\n mode={mode}\r\n value={response?.ValuationType}\r\n />\r\n
*/}\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={response?.RecipientPersonId}\r\n resetForm={resetForm}\r\n mode={mode}\r\n WithSearch={false}\r\n setPerson={setRecipientPerson}\r\n returnObj={true}\r\n name={\"RecipientPerson\"}\r\n label=\"RecipientPerson\"\r\n required={requiredFields?.RecipientPersonId}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={response?.AccountPartyPersonId}\r\n resetForm={resetForm}\r\n mode={mode}\r\n WithSearch={false}\r\n setPerson={setAccountPartyPerson}\r\n returnObj={true}\r\n name={\"AccountPartyPerson\"}\r\n label=\"AccountPartyPerson\"\r\n required={requiredFields?.AccountPartyPersonId}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={response?.DeliverPersonId}\r\n resetForm={resetForm}\r\n mode={mode}\r\n WithSearch={false}\r\n setPerson={setDeliverPerson}\r\n returnObj={true}\r\n name={\"DeliverPerson\"}\r\n label=\"DeliverPersonDescription\"\r\n required={requiredFields?.DeliverPersonId}\r\n />\r\n
\r\n
\r\n \r\n
\r\n\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n labelText=\"AccountPartyPersonDescription\"\r\n textboxName=\"AccountPartyPersonDescription\"\r\n resetForm={resetForm}\r\n defaultValue={response?.AccountPartyPersonDescription}\r\n mode={mode}\r\n />\r\n
*/}\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Description\"\r\n textboxType=\"textarea\"\r\n labelText=\"Description\"\r\n value={response?.Description}\r\n defaultValue={response?.Description}\r\n mode={mode}\r\n required={requiredFields?.Description}\r\n />\r\n
\r\n
\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={\r\n response ? response?.AutoGenerateTransferReceipt : false\r\n }\r\n defaultValue={\r\n response ? response?.AutoGenerateTransferReceipt : false\r\n }\r\n labelText={\"AutoGenerateTransferReceipt\"}\r\n inputName={\"AutoGenerateTransferReceipt\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
*/}\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={response?.CalculateQuantityFromAnalysis}\r\n defaultValue={response?.CalculateQuantityFromAnalysis}\r\n labelText={\"CalculateQuantityFromAnalysis\"}\r\n inputName={\"CalculateQuantityFromAnalysis\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
\r\n {/*
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={response?.IsRegisteredByQuantity }\r\n defaultValue={ response?.IsRegisteredByQuantity }\r\n labelText={\"IsRegisteredByQuantity\"}\r\n inputName={\"IsRegisteredByQuantity\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={ response?.IsRegisteredByPrice \r\n }\r\n defaultValue={ response?.IsRegisteredByPrice \r\n }\r\n labelText={\"IsRegisteredByPrice\"}\r\n inputName={\"IsRegisteredByPrice\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
*/}\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n {mode != \"view\" && (\r\n {\r\n if (warehouseData?.WarehouseId) {\r\n setShowDetailForm(true);\r\n setDetailMode(\"create\");\r\n } else {\r\n // Toast(\"msg-selectedwarehouse\", \"error\");\r\n Toast(\"msg-selectedwarehouse\", MessageType.error);\r\n }\r\n }}\r\n className=\"col-2 mb-1 btn btn-success btn-sm d-flex align-items-center justify-content-between \"\r\n style={{\r\n width: \"70px\",\r\n maxHeight: \"30px\",\r\n marginRight: \"20px\",\r\n minWidth: \"70px\",\r\n }}\r\n >\r\n <>\r\n \r\n {trans(\"add\")}\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {(\r\n mode == \"view\"\r\n ? warehouseIoDetail?.length > 0\r\n : constraint?.DetailDTO\r\n ) ? (\r\n <>\r\n {\r\n setSelectedRow(e);\r\n setDetailMode(mode=='edit'?'edit':'view');\r\n setShowDetailForm(true);\r\n }}\r\n parentName={\"warehouseIoDetail\"}\r\n theadData={\r\n mode !== \"view\"\r\n ? Object.keys(constraint?.DetailDTO)\r\n : Object.keys(warehouseIoDetail?.[0])\r\n }\r\n tbodyData={warehouseIoDetail}\r\n totalRecords={warehouseIoDetail?.length > 0 ? undefined : 0}\r\n scrollHeight={\"67vh\"}\r\n minCellWidth={80}\r\n startIndex={13}\r\n selectedRowObjectCallback={selectedObjCallback}\r\n handleEdit={\r\n mode != \"view\"\r\n ? (e) => {\r\n setSelectedRow(e);\r\n setDetailMode(\"edit\");\r\n setShowDetailForm(true);\r\n }\r\n : undefined\r\n }\r\n rowSelected={selectedRow}\r\n handleDelete={\r\n mode != \"view\"\r\n ? (e) => {\r\n // Toast(\r\n // trans(\"msg_deleteconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // () => handleDeleteRow(e)\r\n // );\r\n Toast(\r\n trans(\"msg_deleteconfirm\"),\r\n MessageType.confirmDelete,\r\n () => handleDeleteRow(e)\r\n );\r\n }\r\n : undefined\r\n }\r\n handleView={(e) => {\r\n setSelectedRow(e);\r\n setDetailMode(\"view\");\r\n setShowDetailForm(true);\r\n }}\r\n />\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\nexport const postWarehouseIO = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis.InventoryRemittance.browse,\r\n method: \"post\",\r\n \r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const putWarehouseIO = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis.browse,\r\n method: \"put\",\r\n \r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getWarehouses = (\r\n pageNumber: number,\r\n pageSize: number,\r\n searchString,\r\n orderBy,\r\n filterlist,\r\n currentWarehouse\r\n) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis.browse,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n warehouseId: currentWarehouse,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\n export const getRemitanceOrGenerate = (SourceData,SourceId,ReferenceId,JobId ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis.getOrGenerate,\r\n\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n SourceData,\r\n ReferenceId,\r\n JobId\r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\n\r\n export const getRemitanceByReferenceId = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis.load,\r\n\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n ReferenceId:Id\r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject(err);\r\n });\r\nexport const constraintWarehouseIo = (warehouseIOType) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis.constraint,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n warehouseIOType\r\n }\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\n export const getWarehouseIoNo = (docsClassificationId,warehouseId,warehouseIOType,id=null) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.WarehouseIOApis.nextNo,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n docsClassificationId,\r\n id,\r\n warehouseId,\r\n warehouseIOType\r\n }\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n ","import { ModalForm } from \"components/ModalForm/ModalForm\";\r\n\r\nimport { MessageType, warehouseIOType } from \"types/enum\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { convertToISO, trans } from \"utils/helpers\";\r\nimport {\r\n constraintWarehouseIo,\r\n getDataForPrint,\r\n getWarehouseIOByReferenceId,\r\n getWarehouseIoId,\r\n getWarehouseIOOrGenerate,\r\n postWarehouseIOWorkFlow,\r\n putWarehouseIO,\r\n putWarehouseIOworkflow,\r\n} from \"./api\";\r\nimport WarehouseIOTypeForm from \"./components/WarehouseIOTypeForm\";\r\n\r\ninterface Props {\r\n mode: string;\r\n showForm: boolean;\r\n selectedObj: any;\r\n processId?: any;\r\n onHide: () => void;\r\n reload: () => void;\r\n type?: any;\r\n setForceUpdate?: any;\r\n referenceId?: any;\r\n taskId?: any;\r\n jobId?: any;\r\n JobNo?: any;\r\n setShowWarehouseIoForm?: any;\r\n forceUpdate;\r\n sourceDataParam?: any;\r\n sourceId?: any;\r\n useGenerate?: any;\r\n buttonPrintObjCallBack?: any;\r\n}\r\n\r\nexport const WarehouseIOForm = ({\r\n mode,\r\n showForm,\r\n selectedObj,\r\n processId,\r\n referenceId,\r\n taskId,\r\n jobId,\r\n JobNo,\r\n onHide,\r\n reload,\r\n type = \"InventoryRemittance\",\r\n setForceUpdate,\r\n setShowWarehouseIoForm,\r\n forceUpdate,\r\n sourceDataParam,\r\n sourceId,\r\n useGenerate = true,\r\n buttonPrintObjCallBack,\r\n}: Props) => {\r\n const [loading, setLoading] = useState(false);\r\n const [response, setResponse] = useState(null);\r\n const [allWarehouseIOData, setAllWarehouseIOData] = useState([]);\r\n const [selectedWarehouseIoResponse, setSelectedWarehouseIoResponse] =\r\n useState(null);\r\n const [constraint, setConstraint] = useState({});\r\n const [childrenButtonPrintObj, setChildrenButtonPrintObj] = useState();\r\n const displayType = { dataGrid: 1, modalForm: 2, singleForm: 3 };\r\n const [selectedWarehouseIo, setSelectedWarehouseIo] = useState();\r\n const [showWarehouseTypeForm, setShowWarehouseTypeForm] =\r\n useState(false);\r\n\r\n const selectedObjCallback = (obj) => {\r\n setSelectedWarehouseIo(obj);\r\n setSelectedWarehouseIoResponse(obj);\r\n if(response.find(item=>item.Id==obj.Id).WarehouseIONo!=0){\r\n setChildrenButtonPrintObj({\r\n Id: obj.Id,\r\n reportDomain: \"OfficeAutomation\",\r\n objectTag: type,\r\n apiFunction: getDataForPrint,\r\n })\r\n }\r\n else{\r\n setChildrenButtonPrintObj(null) \r\n }\r\n //setShowWarehouseTypeForm(displayType.modalForm);\r\n };\r\n\r\n async function handleSendDataAsync(data = allWarehouseIOData) {\r\n if (constraint.IsDocClassified) {\r\n console.log({data});\r\n \r\n // درصورتی که تنطیمات طبقه بندی وجود داشته باشد، اگر حواله انباری بدون طبقه بندی باشد اجازه ارسال فرم ندارد\r\n const findItemWithoutDocsClassification = data.find(\r\n (item) => !item.DocsClassificationId\r\n );\r\n if (findItemWithoutDocsClassification) {\r\n Toast(trans(\"Msg_SetWarehouseIOClassification\"), MessageType.error);\r\n return;\r\n }\r\n }\r\n \r\n data=data.map(item=>{\r\n return {...item , WarehouseIODate\t: convertToISO(item.WarehouseIODate)\t}\r\n })\r\n try { \r\n if (mode == \"create\") {\r\n // const res = await postWarehouseIO(data);\r\n const res = await postWarehouseIOWorkFlow(data, processId, type);\r\n if (res.MessageType == MessageType.success) {\r\n // onHide && onHide(true);\r\n reload();\r\n }\r\n } else {\r\n if (jobId) {\r\n if (\r\n response[0]?.WarehouseIONo == 0 ||\r\n selectedWarehouseIoResponse?.WarehouseIONo == 0\r\n ) {\r\n const res = await postWarehouseIOWorkFlow(data, referenceId, type);\r\n getWarehouseIoByIdAsync();\r\n } else {\r\n const res = await putWarehouseIOworkflow(data, referenceId, type);\r\n }\r\n } else {\r\n const res = await putWarehouseIO(data, type);\r\n }\r\n // await putWarehouseIODetail(data)\r\n }\r\n onHide && onHide();\r\n } catch (error: any) {\r\n if (\r\n error.response &&\r\n error.response?.data.MessageType == MessageType.confirm\r\n ) {\r\n Toast(trans(error.response?.data.Message), MessageType.confirm, () => {\r\n const result = [\r\n ...response.filter(\r\n (item1) =>\r\n !error.response?.data.Data.some(\r\n (item2) => item2.Id === item1.Id\r\n )\r\n ),\r\n ...error.response?.data.Data,\r\n ];\r\n\r\n setResponse(result);\r\n setAllWarehouseIOData(result);\r\n });\r\n }\r\n }\r\n }\r\n\r\n const getConstaintWarehouseIoAsync = async (\r\n withLoading = false,\r\n warhouseIdList\r\n ) => {\r\n if (withLoading) {\r\n setResponse({});\r\n setLoading(false);\r\n }\r\n\r\n try {\r\n const res = await constraintWarehouseIo(\r\n warehouseIOType[type],\r\n warhouseIdList\r\n );\r\n setConstraint(res.Data);\r\n if (withLoading) setLoading(true);\r\n return res.Data;\r\n } catch (error) {\r\n if (withLoading) setLoading(true);\r\n }\r\n };\r\n\r\n async function getWarehouseIoByIdAsync() {\r\n setLoading(false);\r\n try {\r\n let totalRes: any; // برای جمع آوری نهایی ریسپانس ها از هر درخواست گت و تبدیل به آرایه زیرا در بعضی از درخواست ها ریسپانس آرایه نیست و باید به آرایه تبدیل شود.\r\n let warehouseIdList;\r\n if (jobId) {\r\n //بررسی صفحه کارتابل\r\n let res;\r\n if (useGenerate || (sourceDataParam && mode != \"view\")) {\r\n res = await getWarehouseIOOrGenerate(\r\n sourceDataParam,\r\n sourceId,\r\n referenceId,\r\n jobId\r\n );\r\n } else {\r\n res = await getWarehouseIOByReferenceId(referenceId);\r\n }\r\n\r\n if (res.Data.length > 1) {\r\n //اگر تعداد حواله بیشتر از یک باشد باید دیتاگرید نمایش دهیم ک از داخل آن فرم حواله دلخواه باز شود\r\n setShowWarehouseTypeForm(displayType.dataGrid);\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack(null) \r\n } else {\r\n //اگر ریسپانس شامل آارایه با یک حواله باشد به صورت مستقیم فرم همان حواله انبار باز می شود.\r\n setShowWarehouseTypeForm(displayType.singleForm);\r\n if (!!res.Data.length && res.Data[0].WarehouseIONo != 0) {\r\n buttonPrintObjCallBack &&\r\n buttonPrintObjCallBack({\r\n Id: res.Data[0].Id,\r\n reportDomain: \"OfficeAutomation\",\r\n objectTag: type,\r\n apiFunction: getDataForPrint,\r\n });\r\n }else{\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack(null) \r\n }\r\n }\r\n\r\n warehouseIdList = res.Data.map((item, index) => {\r\n return encodeURI(item.WarehouseId);\r\n }); //تعیین لیست انبار برای درخواست به کانسرینت\r\n\r\n totalRes = res.Data;\r\n } else {\r\n let res = await getWarehouseIoId(selectedObj.Id);\r\n //اگر گت توسط آیدی انجام شود، به صورت مستقیم فرم همان حواله انبار باز می شود.\r\n setShowWarehouseTypeForm(displayType.singleForm);\r\n if ( res.Data.WarehouseIONo != 0) {\r\n buttonPrintObjCallBack &&\r\n buttonPrintObjCallBack({\r\n Id: res.Data.Id,\r\n reportDomain: \"OfficeAutomation\",\r\n objectTag: type,\r\n apiFunction: getDataForPrint,\r\n });\r\n }else{\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack(null) \r\n }\r\n warehouseIdList = res.Data.WarehouseId;\r\n totalRes = [res.Data]; \r\n }\r\n\r\n const constraimtResponse = await getConstaintWarehouseIoAsync(\r\n false,\r\n warehouseIdList\r\n );\r\n\r\n if (\r\n totalRes[0].WarehouseIONo === 0 &&\r\n !constraimtResponse.IsDocClassified\r\n ) {\r\n //اگر شماره حواله های انبار 0 باشد باید از کانسترینت شماره بگیریم\r\n const responseWithNewWarehouseIONo = totalRes.map((item) => {\r\n return {\r\n ...item,\r\n WarehouseIONo:\r\n constraimtResponse.DocNoDictionary[\r\n Object.keys(constraimtResponse.DocNoDictionary).find(\r\n (warehouseId) => warehouseId == item.WarehouseId\r\n ) as any\r\n ],\r\n };\r\n });\r\n setAllWarehouseIOData(responseWithNewWarehouseIONo); //نیاز به اپدیت استیت داریم زیرا امکان ذخیره بدون باز کردن فرم وجود دارد و باید حتما دیتا با شماره جدید ارسال شود\r\n } else {\r\n //اگر حواله انبار شماره دارد و صفر نیست نیاز به تغییر شماره نداریم\r\n setAllWarehouseIOData(totalRes);\r\n }\r\n\r\n setResponse(totalRes); //برای تشخیص اینکه در وضعیت پست یا پوت هست بر اساس شماره، در ریسپانس شماره عوض نمیکنیم.و از ریسپانس اصلی استفاده میکنیم\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n\r\n useEffect(() => {\r\n getWarehouseIoByIdAsync();\r\n }, []);\r\n\r\n return (\r\n
\r\n {loading && (response || selectedWarehouseIoResponse) ? (\r\n showWarehouseTypeForm == 3 ? (\r\n //فرم حواله بصورت مستقیم باز میشود در زمانی که ریسپانس فقط یک حواله دارد\r\n exmaple InventoryRemittance\r\n selectedObj={selectedObj}\r\n showWarehouseTypeForm={showWarehouseTypeForm}\r\n mode={mode}\r\n processId={processId}\r\n showForm={showForm}\r\n referenceId={referenceId}\r\n taskId={taskId}\r\n handleSendData={(data) => {\r\n setAllWarehouseIOData(\r\n allWarehouseIOData.map((item) =>\r\n item.Id == data.Id ? data : item\r\n )\r\n );\r\n handleSendDataAsync([data]);\r\n }}\r\n jobId={jobId}\r\n JobNo={JobNo}\r\n sourceDataParam={sourceDataParam}\r\n data={response[0]}\r\n reload={() => {\r\n setForceUpdate(!forceUpdate);\r\n }}\r\n constraint={constraint}\r\n onHide={() => {\r\n setShowWarehouseIoForm(false);\r\n }}\r\n warehouseIoEnaumType={\r\n //enum => exmaple InventoryRemittance is enum 3 so result is 3\r\n selectedObj\r\n ? selectedObj?.WarehouseIOTypeEnum\r\n : warehouseIOType[type]\r\n }\r\n setShowWarehouseIoForm={setShowWarehouseIoForm}\r\n />\r\n ) : (\r\n //وقتی روی یکی از سطرهای دیتاگرید کلیک میکنیم فرم حواله دلخواه باز میشود برای زمانی که ریسپانس بیش از یک حواله دارد\r\n\r\n <>\r\n {\" \"}\r\n setShowWarehouseTypeForm(1)}\r\n show={showWarehouseTypeForm == 2}\r\n title={type}\r\n buttonPrintObj={childrenButtonPrintObj}\r\n >\r\n exmaple InventoryRemittance\r\n selectedObj={selectedObj}\r\n mode={mode}\r\n processId={processId}\r\n showForm={showForm}\r\n referenceId={referenceId}\r\n taskId={taskId}\r\n jobId={jobId}\r\n JobNo={JobNo}\r\n constraint={constraint}\r\n handleSendData={(e) =>\r\n setAllWarehouseIOData(\r\n allWarehouseIOData.map((item) =>\r\n item.Id == e.Id ? e : item\r\n )\r\n )\r\n }\r\n sourceDataParam={sourceDataParam}\r\n data={selectedWarehouseIoResponse}\r\n reload={() => {\r\n setForceUpdate(!forceUpdate);\r\n }}\r\n onHide={() => {\r\n setShowWarehouseTypeForm(1);\r\n }}\r\n warehouseIoEnaumType={\r\n //enum => exmaple InventoryRemittance is enum 3 so result is 3\r\n selectedObj\r\n ? selectedObj?.WarehouseIOTypeEnum\r\n : warehouseIOType[type]\r\n }\r\n setShowWarehouseIoForm={setShowWarehouseIoForm}\r\n />\r\n \r\n {\r\n setSelectedWarehouseIo(e);\r\n setSelectedWarehouseIoResponse(e);\r\n setShowWarehouseTypeForm(displayType.modalForm);\r\n }}\r\n />\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n\r\n
\r\n {mode != \"view\" && showWarehouseTypeForm != 3 && (\r\n
\r\n 0)}\r\n value=\"save\"\r\n btnType=\"submit\"\r\n onClick={(e) => handleSendDataAsync()}\r\n />\r\n\r\n {\r\n setShowWarehouseTypeForm(false);\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\n","\r\n\r\nimport { ServiceRequestForm } from \"pages/ClientPortal/ServiceRequestForm/ServiceRequestForm\";\r\nimport { JobInvoiceForm } from \"pages/OfficeAutomation/Cartable/components/JobInvoiceForm/JobInvoiceForm\";\r\nimport { LetterForm } from \"pages/Secretariats/LettersPage/components/LetterForm/LetterForm\";\r\nimport { trans } from \"./helpers\";\r\nimport { CustomerGeneralRequest } from \"pages/ClientPortal/CustomerGeneralRequestForm/CustomerGeneralRequestForm\";\r\nimport { JobDeliveryForm } from \"pages/ClientPortal/JobDeliveryForm/JobDeliveryForm\";\r\nimport { ArchiveForm } from \"pages/OfficeAutomation/Cartable/components/ArchiveForm/ArchiveForm\";\r\nimport { DailyLeaveForm } from \"pages/OfficeAutomation/Cartable/components/DailyLeaveRequestForm/DailyLeaveRequestForm\";\r\nimport { GeneralRequestForm } from \"pages/OfficeAutomation/Cartable/components/GeneralRequestForm/GeneralRequestForm\";\r\nimport { HourlyLeaveForm } from \"pages/OfficeAutomation/Cartable/components/HourlyLeaveForm/HourlyLeaveForm\";\r\nimport { JobSendForm } from \"pages/OfficeAutomation/Cartable/components/JobSendForm/JobSendForm\";\r\nimport { LetterSendContent } from \"pages/OfficeAutomation/Cartable/components/LetterSendForm/LetterSendContent\";\r\nimport { Signature } from \"pages/OfficeAutomation/Cartable/components/Signature/Signature\";\r\nimport { DocumentArchiveForm } from \"pages/Secretariats/Archive/ArchiveTree/components/DocumentsForm/DocumentArchiveForm\";\r\nimport { InvitationForm } from \"pages/MeetingManagement/Meeting/components/InvitationForm/InvitationForm\";\r\nimport { MeetingApprovalList } from \"pages/MeetingManagement/MeetingApproval/MeetingApprovalList\";\r\nimport { MeetingTabForm } from \"pages/MeetingManagement/Meeting/MeetingTabForm\";\r\nimport { SalesOrderForm } from \"pages/InventoryAndSales/Sales/SalesOrder/SalesOrderForm\";\r\nimport { SalesPreInvoiceForm } from \"pages/InventoryAndSales/Sales/SalesPreInvoice/SalesPreInvoiceForm\";\r\nimport { SalesInvoiceForm } from \"pages/InventoryAndSales/Sales/SalesInvoice/SalesInvoiceForm\";\r\nimport { CustomerCreditControlForm } from \"pages/InventoryAndSales/Sales/SalesPreInvoice/CustomerCreditControl/CustomerCreditControlForm\";\r\nimport { CustomerSalesOrder } from \"pages/ClientPortal/ECommerce/components/Cart/components/CustomerSalesOrder\";\r\nimport { OrderForm } from \"pages/InventoryAndSales/Sales/Order/OrderForm\";\r\nimport { WarehouseIOForm } from \"pages/InventoryAndSales/Inventory/WarehouseIO/WarehouseIOForm\";\r\n\r\nexport const DYNAMICFORMS = {\r\n \"MeetingApprovalForm\":{\r\n title: 'MeetingApprovalForm',\r\n titleToShow: trans('MeetingApproval'),\r\n showJobInfo: false,\r\n route: null,\r\n component: MeetingApprovalList,\r\n },\r\n \"InvitationForm\":{\r\n title: 'InvitationForm',\r\n titleToShow: trans('Invitation'),\r\n showJobInfo: false,\r\n route: null,\r\n component: InvitationForm,\r\n },\r\n \"MeetingForm\":{\r\n title: 'MeetingForm',\r\n titleToShow: trans('Meeting'),\r\n showJobInfo: false,\r\n route: null,\r\n component: MeetingTabForm,\r\n },\r\n \"LetterForm\":{\r\n title: 'LetterForm',\r\n titleToShow: trans('Letter'),\r\n showJobInfo: false,\r\n route: null,\r\n component: LetterForm,\r\n },\r\n \"JobInvoiceForm\":{\r\n title: 'JobInvoiceForm',\r\n titleToShow: trans('JobInvoiceForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: JobInvoiceForm,\r\n },\r\n \"JobDeliveryForm\": {\r\n title: 'JobDeliveryForm',\r\n titleToShow: trans('JobDeliveryForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: JobDeliveryForm,\r\n },\r\n \"JobSendForm\": {\r\n title: 'JobSendForm',\r\n titleToShow: trans('JobSendForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: JobSendForm,\r\n },\r\n \"LetterSendForm\": {\r\n title: 'LetterSendForm',\r\n titleToShow: trans('LetterSendForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: LetterSendContent,\r\n },\r\n \"ServiceRequestForm\": {\r\n title: 'ServiceRequestForm',\r\n titleToShow: trans('ServiceRequestForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: ServiceRequestForm,\r\n },\r\n \"CustomerGeneralRequestForm\": {\r\n title: 'CustomerGeneralRequestForm',\r\n titleToShow: trans('CustomerGeneralRequest'),\r\n showJobInfo: false,\r\n route: null,\r\n component: CustomerGeneralRequest,\r\n },\r\n \"GeneralRequestForm\": {\r\n title: 'GeneralRequestForm',\r\n titleToShow: trans('GeneralRequestForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: GeneralRequestForm,\r\n },\r\n \"DailyLeaveForm\": {\r\n title: 'DailyLeaveForm',\r\n titleToShow: trans('DailyLeaveForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: DailyLeaveForm,\r\n },\r\n \"HourlyLeaveForm\": {\r\n title: 'HourlyLeaveForm',\r\n titleToShow: trans('HourlyLeaveForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: HourlyLeaveForm,\r\n },\r\n \"SignatureForm\" : {\r\n title: 'SignatureForm',\r\n titleToShow: trans('SignatureForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: Signature,\r\n },\r\n \"ArchiveForm\": {\r\n title: 'ArchiveForm',\r\n titleToShow: trans('ArchiveForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: ArchiveForm,\r\n },\r\n \"DocumentArchiveForm\": {\r\n title: 'DocumentArchiveForm',\r\n titleToShow: trans('DocumentArchiveForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: DocumentArchiveForm,\r\n },\r\n \"CustomerSalesOrderForm\": {\r\n title: 'CustomerSalesOrderForm',\r\n titleToShow: trans('CustomerSalesOrderForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: SalesOrderForm,\r\n },\r\n \"SalesOrderForm\": {\r\n title: 'SalesOrderForm',\r\n titleToShow: trans('SalesOrderForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: SalesOrderForm,\r\n },\r\n \"OrderForm\": {\r\n title: 'OrderForm',\r\n titleToShow: trans('OrderForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: OrderForm,\r\n },\r\n \"WarehouseIOForm\": {\r\n title: 'WarehouseIOForm',\r\n titleToShow: trans('WarehouseIOForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: WarehouseIOForm,\r\n },\r\n \"SalesPreInvoiceForm\": {\r\n title: 'SalesPreInvoiceForm',\r\n titleToShow: trans('SalesPreInvoiceForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: SalesPreInvoiceForm,\r\n },\r\n \"SalesInvoiceForm\": {\r\n title: 'SalesInvoiceForm',\r\n titleToShow: trans('SalesInvoiceForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: SalesInvoiceForm,\r\n },\r\n \"CustomerCreditControlForm\": {\r\n title: 'CustomerCreditControlForm',\r\n titleToShow: trans('CustomerCreditControlForm'),\r\n showJobInfo: false,\r\n route: null,\r\n component: CustomerCreditControlForm,\r\n }\r\n}\r\n","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, trans } from \"utils/helpers\";\r\nimport { DeleteMeetingApproval, FinishMeetingAndStartApprovals, getMeetingApprovals, getMeetingAttendees, sendMeetingForSign } from \"./api\";\r\nimport { MeetingApprovalForm } from \"./MeetingApprovalForm\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface MeetingApprovalListProps {\r\n sourceId: string,\r\n mode: string,\r\n step: number,\r\n referenceId?: number,\r\n handleCancelForm:()=>void;\r\n onHide?: () => void;\r\n closeForm?: () => void;\r\n}\r\n\r\nexport const MeetingApprovalList = ({sourceId ,handleCancelForm,closeForm, onHide ,step ,mode ,referenceId}: MeetingApprovalListProps) => {\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [response, setResponse] = useState(null);\r\n const [responseAttendees, setResponseAttendees] = useState(null);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showMeetingApprovalForm, setShowMeetingApprovalForm] = useState(false);\r\n const [LocalMode, setLocalMode] = useState(\"\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [showSendForSign, setShowSendForSign] = useState(false);\r\n const [fromDate, setFromDate] = useState();\r\n\r\n\r\n const handleCreateMeetingApproval = () => {\r\n setLocalMode(\"create\")\r\n setShowMeetingApprovalForm(true);\r\n }\r\n const handleEditRow = () => {\r\n setLocalMode(\"edit\")\r\n setShowMeetingApprovalForm(true);\r\n }\r\n const handleDeleteRow =async (id: string) => {\r\n try {\r\n await DeleteMeetingApproval(id);\r\n getReferenceMeetingApprovalsAsync()\r\n } catch (error) {\r\n\r\n }\r\n }\r\n const SendMeetingForSignAsync =async (e) => {\r\n e.preventDefault()\r\n try {\r\n let data = {\r\n \"ReferenceId\": referenceId,\r\n \"Id\": sourceId,\r\n \"DeadLineDate\": fromDate,\r\n \"SendMessage\": e.target.SendMessage.checked\r\n }\r\n await sendMeetingForSign(data)\r\n handleCancelForm&& handleCancelForm()\r\n onHide&& onHide()\r\n closeForm&&closeForm()\r\n setShowSendForSign(false)\r\n } catch (error) {\r\n\r\n }\r\n }\r\n const handleViewRow = () => {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alert\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setLocalMode(\"view\")\r\n // setShowMeetingApprovalForm(true);\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setLocalMode(\"view\")\r\n setShowMeetingApprovalForm(true);\r\n });\r\n }else{\r\n setLocalMode(\"view\")\r\n setShowMeetingApprovalForm(true);\r\n };\r\n }\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\": alert(\"print \"); break;\r\n case \"excel\": downloadCSV(response?.Data?.Data ,1 ,trans(\"MeetingApprovals\")); break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n case \"create\": handleCreateMeetingApproval(); break;\r\n case \"view\": if (selectedId) handleViewRow(); break;\r\n case \"edit\": if (selectedId) handleEditRow(); break;\r\n case \"help\": alert(\"call api help\"); break;\r\n // case \"remove\": if (selectedId) {handleDeleteRow(selectedId) } else { Toast(trans(\"Msg_SelectRow\"), \"warning\") } break;\r\n case \"remove\": if (selectedId) {handleDeleteRow(selectedId) } else { Toast(trans(\"Msg_SelectRow\"), MessageType.warning) } break;\r\n\r\n }\r\n };\r\n async function getReferenceMeetingApprovalsAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getMeetingApprovals(sourceId); \r\n setResponse(res);\r\n if(step>1){\r\n const res = await getMeetingAttendees(sourceId); \r\n setResponseAttendees(res); \r\n }\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n async function FinishMeetingAndStartApprovalsAsync() {\r\n try {\r\n const res = await FinishMeetingAndStartApprovals(sourceId); \r\n closeForm &&closeForm()\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n \r\n }\r\n useEffect(() => {\r\n getReferenceMeetingApprovalsAsync()\r\n\r\n }, [forceUpdate,orderBy ,filterlist,search ]);\r\n \r\n return (\r\n <>\r\n {showSendForSign &&\r\n setShowSendForSign(false)}\r\n show={showSendForSign}\r\n title=\"SendForSign\"\r\n > \r\n
\r\n
\r\n
\r\n { setFromDate(isoTime) }}\r\n val={null}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n }\r\n\r\n\r\n
\r\n {((!(step >1))&& mode!=\"view\")&&\r\n
\r\n
\r\n {setShowSendForSign(true)}}\r\n /> \r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n {(((step >1))&& mode==\"view\")&&\r\n
\r\n
\r\n {FinishMeetingAndStartApprovalsAsync()}}\r\n /> \r\n
\r\n\r\n
\r\n }\r\n {showMeetingApprovalForm &&\r\n setShowMeetingApprovalForm(false)}\r\n show={showMeetingApprovalForm}\r\n title=\"MeetingApprovalForm\"\r\n > \r\n setShowMeetingApprovalForm(false)}\r\n mode={LocalMode}\r\n reset={(e) => { getReferenceMeetingApprovalsAsync(); } }\r\n ApprovalId={selectedId}\r\n MeetingId={sourceId}\r\n />\r\n \r\n }\r\n {loading ?\r\n <>\r\n {step >1&&\r\n <>\r\n {((responseAttendees?.Data?.length > 0 ) ?\r\n
\r\n
\r\n <>\r\n {}}\r\n\r\n />\r\n \r\n
\r\n
\r\n : \r\n )}\r\n }\r\n {(response?.Data.length > 0 ?\r\n
\r\n
\r\n <>\r\n {setFilterlist(str) }}\r\n filterStr={filterlist}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n parentName={\"MeetingApprovals\"}\r\n theadData={Object.keys(response.Data[0])}\r\n tbodyData={response.Data}\r\n startIndex={2}\r\n minCellWidth={80}\r\n\r\n handleEdit={mode!=\"view\" ? handleEditRow:null}\r\n handleDelete={mode!=\"view\" ?handleDeleteRow:null}\r\n handleView={mode!=\"view\" ?handleViewRow:null}\r\n\r\n />\r\n \r\n
\r\n
\r\n : \r\n )}\r\n\r\n \r\n \r\n : \r\n }\r\n\r\n
\r\n \r\n\r\n );\r\n}","import { MEETINGMANAGEMENT_URL } from \"utils/constants\";\r\nimport { ENDPOINTSMEETINGMANAGEMENT } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const putAccept = ( (data) => http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.accept ,\r\n method: 'put',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getAccept = ( (jobId) => http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.Invitation ,\r\n method: 'get',\r\n params: {\r\n jobId\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { UserContext } from \"components/ModalForm/ModalForm\";\r\nimport { RangeSlider } from \"components/RangeSlider/RangeSlider\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Time } from \"components/Time/Time\";\r\nimport { Action, Invoice } from \"pages/OfficeAutomation/Cartable/types\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getInvoiceData, sendInvoiceData } from \"../../api/api\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { log } from \"console\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Price } from \"components/Price/Price\";\r\nimport { MessageType } from \"types/enum\";\r\ninterface JobInvoiceFormPropsType {\r\n mode?: any,\r\n jobId?: any,\r\n InvoiceId?: any,\r\n processId?: any,\r\n taskId,\r\n Id?: any,\r\n step:any,\r\n onHide: () => void,\r\n inDynamicForms?: any\r\n}\r\n\r\nexport const JobInvoiceForm = ({\r\n \r\n mode,\r\n jobId,\r\n InvoiceId,\r\n processId,\r\n taskId,\r\n Id,\r\n step=1,\r\n onHide,\r\n inDynamicForms=false\r\n \r\n}: JobInvoiceFormPropsType) => {\r\n let data, method;\r\n const [action, setAction] = useState();\r\n const [fromDate, setFromDate] = useState(new Date().toISOString());\r\n const [untilDate, setUntilDate] = useState(new Date().toISOString());\r\n const [response, setResponse] = useState();\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [invoicePricedisabl, setInvoicePricedisabl] = useState(true);\r\n const [userMadeChanges, setUserMadeChanges] = useContext(UserContext);\r\n const [dataChange, setDataChange] = useContext(UserContext);\r\n const [showstep, setShowstep] = useState({});\r\n const [localMode, setLocalMode] = useState(\"create\");\r\n\r\n async function formSubmit(e) {\r\n e.preventDefault()\r\n let data:any\r\n let method\r\n if(step > 1){\r\n method = \"put\"\r\n if(step > 2){\r\n data = {\r\n Id : response?.Id,\r\n JobId : jobId,\r\n InvoiceNumber : e.target.InvoiceNumber.value,\r\n HasPayment : e.target.HasPayment.checked,\r\n InvoiceDescription : e.target.InvoiceDescription.value,\r\n InvoiceId : response.InvoiceId,\r\n HasInvoice : response.HasInvoice, \r\n InvoicePrice : response.InvoicePrice, \r\n TAS_UID: taskId, \r\n IsPaid : e.target.IsPaid.checked ,\r\n PayDescription: e.target.PayDescription.value ,\r\n }\r\n }else{\r\n data = {\r\n Id : response.Id,\r\n JobId : jobId,\r\n InvoiceNumber : e.target.InvoiceNumber.value,\r\n HasPayment : e.target.HasPayment.checked,\r\n InvoiceDescription : e.target.InvoiceDescription.value,\r\n InvoiceId : response.InvoiceId,\r\n HasInvoice : response.HasInvoice, \r\n InvoicePrice : response.InvoicePrice, \r\n TAS_UID: taskId, \r\n }\r\n }\r\n\r\n }else{\r\n if(response?.Id){ \r\n method = \"put\"\r\n data = { \r\n Id : response.Id,\r\n JobId : jobId,\r\n HasInvoice : !invoicePricedisabl, \r\n InvoicePrice : +e.target.InvoicePrice.value.replaceAll(\",\" ,\"\"),\r\n InvoiceDescription : e.target.InvoiceDescription.value,\r\n TAS_UID : taskId\r\n }\r\n }else{\r\n\r\n method = \"post\"\r\n data = { \r\n JobId : jobId,\r\n HasInvoice : !invoicePricedisabl, \r\n InvoiceDescription : e.target.InvoiceDescription.value,\r\n InvoicePrice : +e.target.InvoicePrice.value.replaceAll(\",\" ,\"\"),\r\n TAS_UID : taskId\r\n }\r\n\r\n }\r\n }\r\n try {\r\n const res = await sendInvoiceData(data, method)\r\n setResetForm(true)\r\n onHide()\r\n\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n\r\n async function getInvoiceAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getInvoiceData(jobId )\r\n setResponse(res.Data)\r\n\r\n } catch (error) {\r\n setResponse({})\r\n }\r\n\r\n setLoading(true)\r\n\r\n\r\n\r\n}\r\n\r\n\r\nfunction change(checked) {\r\n if(checked){\r\n setInvoicePricedisabl(false)\r\n }else{\r\n setInvoicePricedisabl(true)\r\n }\r\n}\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (resetForm) { \r\n\r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (mode == \"edit\" && step ==1) {\r\n setLocalMode(\"create\")\r\n }else{\r\n setLocalMode(mode)\r\n \r\n }\r\n\r\n }, [mode]);\r\n\r\n useEffect(() => {\r\n if( step >=1){\r\n getInvoiceAsync()\r\n }\r\n }, []);\r\n\r\n\r\n return (\r\n
\r\n {loading ?\r\n\r\n
\r\n\r\n
= 1 && \"card\"} `}>\r\n {step > 1 && \r\n
\r\n
{trans(\"step\")}-1
\r\n
{showstep[1]?setShowstep({...showstep , 1:false}):setShowstep({...showstep , 1:true}) }} >{showstep[1] ? :}
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n {step > 1 &&\r\n
\r\n
\r\n
{trans(\"step\")}-2
\r\n
{showstep[2]?setShowstep({...showstep , 2:false}):setShowstep({...showstep , 2:true}) }}>{showstep[2] ? :}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n }\r\n {(step ==3) && \r\n
\r\n
\r\n
{trans(\"step\")}-3
\r\n
{showstep[3]?setShowstep({...showstep , 3:false}):setShowstep({...showstep , 3:true}) }}>{showstep[3] ? :}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n {localMode !== \"view\" ?\r\n <>\r\n
\r\n
\r\n : \r\n }\r\n\r\n \r\n );\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { RangeSlider } from \"components/RangeSlider/RangeSlider\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getDeliverForm, getRate, sendDeliverForm } from \"./api\";\r\n\r\n\r\ninterface props {\r\n mode?: any\r\n hide?: () => void\r\n reload?: () => void\r\n Id?:any\r\n jobId?:any\r\n taskId?:any\r\n step?:any\r\n inDynamicForms?: any;\r\n}\r\n\r\nexport const JobDeliveryForm = ({inDynamicForms=false ,step=1,taskId, mode=\"create\", hide,reload ,jobId , Id}:props) => {\r\n \r\n const [DeliveredTime, setDeliveredTime] = useState();\r\n const [deliverForm, setDeliverForm] = useState(new Date().toISOString());\r\n const [rateRange, setRateRange] = useState();\r\n const [resetForm, setResetForm] = useState(false);\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n const handleSubmit = (event) => {\r\n event.preventDefault()\r\n if (mode == \"edit\") {\r\n let data:any\r\n if(step ==1){\r\n data = {\r\n \"TAS_UID\" : taskId ,\r\n \"JobId\":jobId,\r\n \"DeliveredTime\": DeliveredTime,\r\n \"ReceiverPerson\":event.target.ReceiverPerson.value,\r\n \"DeliveredByPositionId\": event.target.DeliveredByPositionId.value,\r\n \"Description\": event.target.Description.value,\r\n }\r\n sendDeliverFormAsync(data, \"post\");\r\n }else if(step ==2){\r\n data = {\r\n \"JobId\":jobId,\r\n \"IsDelivered\": event.target.checkbox.checked,\r\n \"CustomerFeedBackRate\": event.target.progressbar.value,\r\n \"CustomerFeedBackDescription\": event.target.CustomerFeedBackDescription.value, \r\n }\r\n sendDeliverFormAsync(data, \"put\");\r\n }\r\n //notWork\r\n\r\n } else {\r\n let data:any\r\n data = {\r\n \"TAS_UID\" : taskId ,\r\n \"JobId\":jobId,\r\n \"DeliveredTime\": DeliveredTime,\r\n \"ReceiverPerson\":event.target.ReceiverPerson.value,\r\n \"DeliveredByPositionId\": event.target.DeliveredByPositionId.value,\r\n \"Description\": event.target.Description.value,\r\n }\r\n sendDeliverFormAsync(data, \"post\");\r\n }\r\n }\r\n\r\n async function sendDeliverFormAsync(data, method) {\r\n try {\r\n let res = await sendDeliverForm(data ,method );\r\n hide && hide();\r\n reload && reload()\r\n } catch (err: any) {\r\n\r\n\r\n }\r\n }\r\n\r\n async function getDeliverFormAsync() {\r\n try {\r\n const res = await getDeliverForm(jobId ,taskId );\r\n setDeliveredTime(res.Data.DeliveredTime)\r\n setDeliverForm(res.Data)\r\n } catch (err: any) {\r\n \r\n\r\n }\r\n }\r\n async function getRateAsync() {\r\n try {\r\n const res = await getRate();\r\n setRateRange(res?.Data)\r\n \r\n } catch (err: any) {\r\n\r\n\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n \r\n getRateAsync();\r\n if (jobId){\r\n getDeliverFormAsync();\r\n } \r\n }, [jobId]);\r\n\r\n\r\n\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n <>\r\n\r\n {step > 1 && \r\n
{trans(\"step\")}-1
\r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n\r\n />\r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n resetForm={resetForm}\r\n defaultValue={deliverForm.Description}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n {step >1 &&\r\n \r\n
\r\n
{trans(\"step\")}-2
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n {mode != \"view\" ? (\r\n
\r\n
\r\n ) : (<>)\r\n }\r\n
\r\n
\r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getRate = () => http({\r\n url: ENDPOINTS.enumeration,\r\n method: 'get',\r\n params: {\r\n enumerationType: \"Rate\",\r\n \r\n },\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n // \r\n return Promise.reject(err);\r\n});\r\nexport const sendDeliverForm = (data ,method ) => http({\r\n url: ENDPOINTS.cartable.jobDelivery.load,\r\n method: method,\r\n data:data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n // \r\n return Promise.reject(err);\r\n});\r\nexport const getDeliverForm = (Id , taskId ) => http({\r\n url: ENDPOINTS.cartable.jobDelivery.load,\r\n headers: { \"Accept-Language\": \"en\" },\r\n\r\n method: \"get\",\r\n params:{\r\n TAS_UID:taskId ,\r\n jobId : Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n // \r\n return Promise.reject(err);\r\n});\r\n","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\n\r\nimport React, { useContext, useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { getReceivers, getSentHistory, postLetterSends } from \"./api\";\r\nimport { LetterSendForm } from \"./LetterSendForm\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface props {\r\n\r\n Id: string\r\n jobId: string\r\n\r\n\r\n onHide: () => void,\r\n reload?: (e) => void,\r\n\r\n}\r\n\r\nexport const LetterSendContent: React.FC = ({ jobId, Id, onHide, reload }) => {\r\n let taskTitle, TAS_UID, assignType, description: string\r\n let tableData: any[] = []\r\n let tableHeadData: string[] = []\r\n\r\n\r\n const [orderFormat, setOrderFormat] = useState();\r\n let [selectedRow, setSelectedRow] = useState({});\r\n const [showForm, setShowForm] = useState(false);\r\n //const [positionObjectList, setpositionObjectList] = useState([]);\r\n const [activateCheckbox, setActivateCheckbox] = useState([]);\r\n const [checkedData, setCheckedData] = useState({});\r\n const [positionObjectList, setPositionObjectList] = useState([]);\r\n const [isAllForms, setIsAllForms] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [canSubmit, setCanSubmit] = useState(false);\r\n const [resetMultiSelect, setresetMultiSelect] = useState(false);\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n\r\n\r\n // if (taskList[page]) {\r\n // taskTitle = taskList[page].TaskTitle\r\n // assignType = taskList[page].AssignType\r\n // tableData = taskList[page].Positions\r\n // //TAS_UID = taskList[page].TaskId\r\n // }\r\n\r\n const handleSubmission = async (event) => {\r\n event.preventDefault()\r\n //remove all empty positionObjectList\r\n if (!positionObjectList) { // add more rules later for form completion\r\n // Toast(trans('pleaseFillTheForms'), 'warning')\r\n Toast(trans('pleaseFillTheForms'), MessageType.warning)\r\n\r\n } else {\r\n let newList = positionObjectList.map(item=>{\r\n if(item.Id.length >0){\r\n return {\r\n \"Id\" : item.Id,\r\n \"JobId\": jobId,\r\n \"LetterReceiverId\": item.ReceiverId,\r\n \"SendOperatorPositionId\":item.SendOperatorPositionId,\r\n \"SendMethodId\": item.SendMethodId,\r\n \"IsSent\": item.IsSent,\r\n \"SentTime\":item.SentTime,\r\n \"SentDescription\": item.SentDescription,\r\n \"ReceiverPerson\":item.ReceiverPerson,\r\n \"IsReceived\": item.IsReceived,\r\n \"ReceiveTime\":item.ReceiveTime,\r\n \"ReceiveDescription\": item.ReceiveDescription,\r\n }\r\n }else{\r\n return {\r\n \"JobId\": jobId,\r\n \"LetterReceiverId\": item.ReceiverId,\r\n \"SendOperatorPositionId\":item.SendOperatorPositionId,\r\n \"SendMethodId\": item.SendMethodId,\r\n \"IsSent\": item.IsSent,\r\n \"SentTime\":item.SentTime,\r\n \"SentDescription\": item.SentDescription,\r\n \"ReceiverPerson\":item.ReceiverPerson,\r\n \"IsReceived\": item.IsReceived,\r\n \"ReceiveTime\":item.ReceiveTime,\r\n \"ReceiveDescription\": item.ReceiveDescription,\r\n }\r\n\r\n }\r\n\r\n })\r\n const res = await postLetterSends(newList ,(newList[0].Id != undefined&&newList[0].Id.length >0)?\"put\" :\"post\" );\r\n try {\r\n onHide()\r\n } catch (error) {\r\n\r\n }\r\n }\r\n }\r\n\r\n const checkedRowEventCallback = (checked, obj) => {\r\n if (!checked) {\r\n checkAllcheckboxes()\r\n } else {\r\n setIsAllForms(false)\r\n // setShowForm(true)\r\n }\r\n checkAllcheckboxes()\r\n \r\n\r\n }\r\n\r\n const listOfCheckedRows = (list) => {\r\n//setChecklist(list)\r\n }\r\n const getLetterReceiverPositionsAsync = async() => {\r\n setLoading(false)\r\n try {\r\n const Receivers = await getReceivers(jobId)\r\n const Historys = await getSentHistory(jobId)\r\n\r\n\r\n\r\n let positionObjList = Object.keys(Receivers.Data).map(item=>{\r\n \r\n let itemHistory:any = []\r\n if(Historys.Data){\r\n itemHistory = Historys.Data.filter(obj=> obj.LetterReceiverId == item)\r\n }\r\n if(itemHistory[0]){\r\n return {\r\n \"Id\" : itemHistory[0].Id,\r\n \"JobId\": jobId,\r\n \"SendOperatorPositionId\": itemHistory[0].SendOperatorPositionId,\r\n \"ReceiverId\" : item,\r\n \"SendMethodId\":itemHistory[0].SendMethodId,\r\n \"Receiver\" :Receivers.Data[item] ,\r\n \"ReceiverPerson\": itemHistory[0].ReceiverPerson,\r\n \"SentDescription\": itemHistory[0].SentDescription,\r\n \"SentTime\": itemHistory[0].SentTime,\r\n \"IsSent\": itemHistory[0].IsSent,\r\n \"IsReceived\":itemHistory[0].IsReceived,\r\n \"ReceiveTime\": itemHistory[0].ReceiveTime,\r\n \"ReceiveDescription\": itemHistory[0].ReceiveDescription,\r\n }\r\n }else{\r\n return {\r\n \"Id\" : \"\",\r\n \"JobId\": jobId,\r\n \"SendOperatorPositionId\": \"\",\r\n \"ReceiverId\" : item,\r\n \"SendMethodId\":\"\",\r\n \"Receiver\" :Receivers.Data[item] ,\r\n \"ReceiverPerson\": \"\",\r\n \"SentDescription\": \"\",\r\n \"SentTime\": \"\",\r\n \"IsSent\": false,\r\n \"IsReceived\":false,\r\n \"ReceiveTime\": \"\",\r\n \"ReceiveDescription\": \"\",\r\n }\r\n\r\n }\r\n })\r\n setPositionObjectList(positionObjList)\r\n } catch (error) { \r\n \r\n }\r\n setLoading(true)\r\n\r\n }\r\n\r\n const multiSelectEventCallback = (checked) => {\r\n\r\n if (checked) {\r\n setIsAllForms(true)\r\n setShowForm(true)\r\n } else {\r\n\r\n const filteredArray = positionObjectList.map(item => {\r\n/* if (item.TAS_UID == taskList[page].TaskId) {\r\n let clear = clearedRowData(item);\r\n return clear\r\n } else {\r\n return item\r\n } */\r\n })\r\n //remove check of checkBox\r\n setresetMultiSelect(!resetMultiSelect)\r\n }\r\n }\r\n\r\n const onCheckboxClicked = (obj) => {\r\n checkAllcheckboxes()\r\n setCheckedData(obj)\r\n\r\n // setSelectedRow(obj)\r\n }\r\n\r\n const onRowClicked = (obj, index, event) => {\r\n let originalObject = JSON.parse(JSON.stringify(obj)) \r\n originalObject.DeadLineDate = originalObject.DeadLineOriginalDate\r\n if (event?.target?.type != \"checkbox\") {\r\n \r\n } else {\r\n setresetMultiSelect(!resetMultiSelect)\r\n checkedRowEventCallback(false, obj)\r\n checkAllcheckboxes()\r\n }\r\n };\r\n\r\n const onRowDoubleClick = (obj) => {\r\n // let originalObject = JSON.parse(JSON.stringify(obj)) \r\n // originalObject.DeadLineDate = originalObject.DeadLineOriginalDate\r\n \r\n setSelectedRow(obj);\r\n setIsAllForms(false)\r\n setShowForm(true)\r\n \r\n \r\n };\r\n\r\n const getWithOrder = (order: string[]) => {\r\n setOrderFormat(order.join(\",\"))\r\n }\r\n\r\n const handleSubmitedData = (receivedData ,flag) => { // handle submitted data from a LetterSend form\r\n if(!flag){\r\n if (receivedData !== undefined) {\r\n const filteredArray = positionObjectList.filter(obj => obj.ReceiverId !== receivedData.ReceiverId )\r\n let updatedArray = [receivedData, ...filteredArray]\r\n let validList = updatedArray.filter(obj => obj.SendOperatorPositionId.length >0 )\r\n\r\n setPositionObjectList([...updatedArray])\r\n setActivateCheckbox([{ Id: receivedData.PerformerPositionId }])\r\n if(validList.length == positionObjectList.length){\r\n setCanSubmit(true)\r\n\r\n }\r\n }\r\n\r\n\r\n }else{\r\n let updatedArray = positionObjectList.map(item=>{\r\n return {\r\n \"Id\":receivedData.Id,\r\n \"JobId\": receivedData.JobId,\r\n \"SendOperatorPositionId\":receivedData.SendOperatorPositionId,\r\n \"ReceiverId\" :item.ReceiverId,\r\n \"SendMethodId\": receivedData.SendMethodId,\r\n \"Receiver\" : item.Receiver,\r\n \"ReceiverPerson\": receivedData.ReceiverPerson,\r\n \"SentDescription\": receivedData.SentDescription,\r\n \"SentTime\": receivedData.SentTime,\r\n \"IsSent\": receivedData.IsSent,\r\n \"IsReceived\": receivedData.IsReceived,\r\n \"ReceiveTime\": receivedData.ReceiveTime,\r\n \"ReceiveDescription\": receivedData.ReceiveDescription,\r\n }\r\n })\r\n\r\n setPositionObjectList([...updatedArray])\r\n setActivateCheckbox([{ Id: receivedData.PerformerPositionId }])\r\n setCanSubmit(true)\r\n\r\n }\r\n\r\n setShowForm(false)\r\n\r\n }\r\n const checkAllcheckboxes = () => {\r\n\r\n let cheklist: any = []\r\n positionObjectList.map(obj => {\r\n if (obj.SendOperatorPositionId!=undefined && obj.SendOperatorPositionId.length >0 ) {\r\n cheklist.push({ Id: obj.ReceiverId })\r\n }\r\n })\r\n if (cheklist.length == positionObjectList.length) {\r\n setActivateCheckbox([{ Id: \"All\" }])\r\n } else {\r\n setActivateCheckbox(cheklist)\r\n }\r\n }\r\n\r\n // useEffect(() => {\r\n // checkAllcheckboxes()\r\n // }, [])\r\n\r\n useEffect(() => {\r\n checkAllcheckboxes()\r\n\r\n }, [positionObjectList ])\r\n useEffect(() => {\r\n getLetterReceiverPositionsAsync()\r\n\r\n }, [ ])\r\n\r\n\r\n\r\n\r\n\r\n if (positionObjectList && positionObjectList.length > 0) {\r\n tableHeadData = Object.keys(positionObjectList[0])\r\n tableData =positionObjectList\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {loading ? \r\n
\r\n{/* \r\n */}
\r\n {tableData && tableData.length > 0 &&\r\n }\r\n
\r\n
\r\n \r\n :\r\n \r\n }\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n {showForm && \r\n setShowForm(false)} show={showForm}>\r\n <>\r\n {setShowForm(false)}}\r\n showForm={showForm}\r\n isAllForms={isAllForms}\r\n />\r\n \r\n\r\n \r\n }\r\n
\r\n\r\n )\r\n}","import { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const postLetterSendData = (data, processId) => http({\r\n method: \"post\",\r\n url: ENDPOINTS.secretariat.letterSent.browse,\r\n data: data,\r\n params:{\r\n PRJ_UID : processId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const putLetterSendData = (data) => http({\r\n method: \"put\",\r\n url: ENDPOINTS.secretariat.letterSent.browse,\r\n data: data,\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getLetterSendData = ( Id) => http({\r\n url: ENDPOINTS.secretariat.letterSent.load,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n jobId:Id\r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\nexport const getReceivers = ( Id) => http({\r\n url: ENDPOINTS.secretariat.letterReceiver.receiverDictionary,\r\n method: \"get\",\r\n params:{\r\n jobId:Id\r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getSentHistory = ( Id) => http({\r\n url: ENDPOINTS.secretariat.letterSent.browse,\r\n method: \"get\",\r\n params:{\r\n jobId:Id\r\n }\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const postLetterSends = ( data , method) => http({\r\n url: ENDPOINTS.secretariat.letterSent.list,\r\n method: method,\r\n data:data\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CustomerPositionDictionary } from \"components/CustomerPosition/CustomerPosition\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { FollowupPositionId } from \"components/FollowupPositionId/FollowupPositionId\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Price } from \"components/Price/Price\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Time } from \"components/Time/Time\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { MessageType, OrganizationType } from \"types/enum\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { checkValidate, getRequest, getRequestById, postServiceRequest } from \"./api\";\r\nimport { ItemsDictionary } from \"./components/ItemsDictionary/ItemsDictionary\";\r\nimport { Serials } from \"./components/Serials/Serials\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { FileInput } from \"components/FileInput/FileInput\";\r\nimport { CustomerInfo } from \"pages/AfterSales/component/CustomerInfo/CustomerInfo\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\n\r\n\r\ninterface props {\r\n mode?: any,\r\n onHide?: (usenavigate?) => void,\r\n reload?: () => void,\r\n processId?: any,\r\n jobId?: any,\r\n Id?: any,\r\n referenceId?: any,\r\n step?: any,\r\n showInDetail?: any,\r\n JobNo?: any,\r\n inDynamicForms?: any;\r\n\r\n}\r\n\r\nexport const ServiceRequestForm = ({ inDynamicForms=false , showInDetail = false, JobNo, step = 1, mode = \"create\", onHide, reload, processId, referenceId, jobId ,Id }: props) => {\r\n \r\n const layoutContext = useContext(LayoutContext);\r\n const [RequestDate, setServiceRequestDate] = useState();\r\n const [serviceRequest, setServiceRequest] = useState();\r\n const [showStep, setShowStep] = useState({3:true});\r\n const [serialId, setSerialId] = useState();\r\n const [serialName, setSerialName] = useState();\r\n const [correctedSerialId, setCorrectedSerialId] = useState();\r\n const [position, setPosition] = useState(null);\r\n const [itemsId, setItemsId] = useState(\"\");\r\n const [correctedItemDescription, setCorrectedItemDescription] = useState(\"\");\r\n const [validatePosition, setValidatePosition] = useState(false);\r\n const [CustomerPosition, setCustomerPosition] = useState(null);\r\n const [itemsValid, setItemsValid] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [message, setMessage] = useState(\"invalid position\");\r\n const [messageType, setMessageType] = useState(null);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [selectedImage, setSelectedImage] = useState();\r\n const [showCustomerInfo, setShowCustomerInfo] = useState(false);\r\n\r\n const changeHandlePic = (e: any) => {\r\n if (e.target.files && e.target.files.length > 0) {\r\n // setSelectedImage(e.target.files);\r\n setSelectedImage({url: URL.createObjectURL([...e.target.files][0] ) ,file:[...e.target.files]}); \r\n }\r\n };\r\n\r\n const handleSubmit = async(event) => { \r\n event.preventDefault()\r\n if (itemsId == undefined || itemsId == \" \" ) {\r\n setItemsValid(true)\r\n } else {\r\n setShowStep({1:false,2:false,3:false})\r\n if (mode === \"edit\") {\r\n let data = {\r\n \"Id\": serviceRequest.Id,\r\n \"RequesterPositionId\": serviceRequest.RequesterPositionId,\r\n \"Applicant\": serviceRequest.Applicant,\r\n \"RequesterMobileNumber\": serviceRequest.RequesterMobileNumber,\r\n \"WorkHours\": serviceRequest.WorkHours,\r\n \"ItemDescription\": serviceRequest.ItemDescription,\r\n \"Serial\": serviceRequest.Serial,\r\n \"Description\": serviceRequest.Description,\r\n \"ExtraDescription\": serviceRequest.ExtraDescription,\r\n \"InstallationLocation\": serviceRequest.InstallationLocation,\r\n \"FollowupResponsiblePositionId\": event.target.FollowupResponsiblePositionId.value.length > 0 ? event.target.FollowupResponsiblePositionId.value : null,\r\n \"CustomerServiceRequestClassificationId\": event.target.CustomerServiceRequestClassificationId.value,\r\n \"PaymentCoverageTypeId\": event.target.PaymentCoverageTypeId.value,\r\n \"EstimateTime\": +event?.target.EstimateTime[0].value,\r\n \"EstimatePayment\": +event?.target.EstimatePayment.value.replaceAll(\",\", \"\"),\r\n \"EstimateDescription\": event?.target.EstimateDescription.value,\r\n\r\n \"CorrectedItemDescription\": correctedItemDescription!=serviceRequest.ItemDescription ? correctedItemDescription :null,\r\n \"CorrectedSerial\":correctedSerialId!= serviceRequest.Serial ? correctedSerialId :null ,\r\n \"CorrectedDescription\": (correctedItemDescription==serviceRequest.ItemDescription&&correctedSerialId== serviceRequest.Serial)? null: event.target?.CorrectedDescription?.value,\r\n }\r\n sendDataAsync(data, \"put\");\r\n } else {\r\n let data = {\r\n \"PerformerPositionId\":(position && position?.Id)? position?.Id : layoutContext.currentUserPosition.PositionId,\r\n \"CustomerServiceRequest\": {\r\n \"RequesterPositionId\": position?.Id ,\r\n \"Applicant\": (serialName &&position&& serialName.includes(position?.Name.split(\"-\")[0].trim())) ? event.target.applicant.value : event.target.applicant.value + '_' + serialName,\r\n \"RequesterMobileNumber\": event.target.RequesterMobileNumber.value ,\r\n \"WorkHours\": event.target.WorkHours.value ,\r\n \"RequestDate\": RequestDate,\r\n \"ItemDescription\": itemsId ? itemsId : event?.target?.ItemId?.value,\r\n \"Serial\": serialId ? serialId : event?.target?.Serials?.value,\r\n \"ItemId\": null,\r\n \"Description\": event.target.Description.value,\r\n \"InstallationLocation\": event.target.InstallationLocation.value,\r\n }\r\n }\r\n let _objData = new FormData\r\n _objData.append(\"CustomerServiceRequestDTO\", JSON.stringify(data));\r\n if (selectedImage) {\r\n const ListSelected:any = [...selectedImage?.file]\r\n ListSelected.map(item=>{\r\n _objData.append(\"Files\", item);\r\n })\r\n }\r\n sendDataAsync(_objData, \"post\");\r\n }\r\n }\r\n }\r\n async function sendDataAsync(data, method) {\r\n try {\r\n await postServiceRequest(data, method, processId);\r\n onHide && onHide(true);\r\n reload && reload()\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n } catch (err: any) {\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n }\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // onHide && onHide();\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n onHide && onHide();\r\n });\r\n }else{\r\n onHide && onHide();\r\n };\r\n\r\n\r\n }\r\n\r\n async function getRequestAsync() {\r\n setMessageType(null)\r\n setLoading(false)\r\n try {\r\n if(Id){\r\n const res = await getRequestById(Id);\r\n setServiceRequest(res.Data)\r\n setCorrectedSerialId(res.Data.CorrectedSerial)\r\n setCorrectedItemDescription(res.Data.CorrectedItemDescription)\r\n }else if (referenceId) {\r\n const res = await getRequest(referenceId ? referenceId : jobId);\r\n setServiceRequest(res.Data)\r\n setCorrectedSerialId(res.Data.CorrectedSerial)\r\n setCorrectedItemDescription(res.Data.CorrectedItemDescription)\r\n }\r\n } catch (err: any) {\r\n setMessage(err?.data?.Message)\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n async function checkValidateAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await checkValidate();\r\n if(res.Data == null){\r\n setValidatePosition(true)\r\n }else{\r\n setCustomerPosition(res.Data)\r\n }\r\n } catch (err: any) {\r\n setValidatePosition(null)\r\n }\r\n setLoading(true)\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n\r\n if(mode == \"create\" ){\r\n checkValidateAsync()\r\n }else{\r\n setCustomerPosition(\"\")\r\n }\r\n if (Id || referenceId) {\r\n getRequestAsync();\r\n }\r\n }, [Id, referenceId]);\r\n\r\n return (\r\n <>\r\n {showCustomerInfo &&\r\n { setShowCustomerInfo(false) }} show={showCustomerInfo}>\r\n \r\n \r\n }\r\n {loading ? \r\n <>{(validatePosition !=null && messageType ==null) ?\r\n
\r\n
\r\n {(serviceRequest?.ExtraDescription&&layoutContext.currentUserPosition.OrganizationType != OrganizationType.Customers)&&\r\n \r\n\r\n }\r\n
1 || showInDetail) && \"card\"} card mb-3 `}>\r\n {(step > 1 || showInDetail) &&\r\n
\r\n {showInDetail ?\r\n
{trans(\"ServiceRequest\")} - {JobNo}
\r\n :\r\n
{trans(\"step\")}-1
\r\n }\r\n
{ showStep[1] ? setShowStep({ ...showStep, 1: false }) : setShowStep({ ...showStep, 1: true }) }} >{showStep[1] ? : }
\r\n
\r\n }\r\n \r\n
\r\n
\r\n {mode != \"create\" &&\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n lable=\"RequestDate\"\r\n setIsoTime={(isoTime: string) => { setServiceRequestDate(isoTime); }}\r\n val={ serviceRequest?.RequestDate ? serviceRequest?.RequestDate : null} //resetForm ? new Date().toISOString() : \r\n mode={\"view\"}\r\n />\r\n
\r\n }\r\n {\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n onChange={setPosition}\r\n name=\"RequesterPositionId\"\r\n required={true}\r\n label=\"asker\"\r\n mode={layoutContext.currentUserPosition.OrganizationType == OrganizationType.Customers ? \"view\" : (step > 1 ? \"view\" : mode)}\r\n value={mode == \"create\" ?( layoutContext.currentUserPosition.PositionId ): serviceRequest?.RequesterPositionId}\r\n />\r\n
\r\n {(jobId&&mode!=\"create\")&&\r\n } btnType=\"primary\"onClick={(e)=>{}} />\r\n }\r\n
\r\n\r\n }\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"applicant\"\r\n required={true}\r\n labelText=\"applicant\"\r\n \r\n defaultValue={serviceRequest?.Applicant}\r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"mobile\"\r\n required={true}\r\n textboxName=\"RequesterMobileNumber\"\r\n labelText=\"RequesterMobileNumber\"\r\n \r\n defaultValue={serviceRequest?.RequesterMobileNumber}\r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"WorkHours\"\r\n labelText=\"WorkHours\"\r\n \r\n defaultValue={serviceRequest?.WorkHours}\r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n
\r\n {\r\n ((position?.Id?.length > 0 ||CustomerPosition != null) && step <= 1 && mode !== \"edit\") &&\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n customerPositionId={position?.Id}\r\n setSerialName={setSerialName}\r\n setSerialId={setSerialId}\r\n type=\"SelectBox\"\r\n name=\"Serials\"\r\n CorrectedSerial={step >1 ? null:serviceRequest?.CorrectedSerial}\r\n value={serviceRequest?.Serial}\r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n
\r\n }\r\n {( step <= 1 && mode == \"create\") &&\r\n
\r\n {serialId ?\r\n {setUserChanges({...userChanges , ...e})}}\r\n customerPositionId={position?.Id}\r\n itemsValid={itemsValid}\r\n setItemsId={(e) => { setItemsId(e); setItemsValid(false) }}\r\n serialId={serialId}\r\n type=\"SelectBox\"\r\n name=\"ItemId\"\r\n value={serviceRequest?.ItemId}\r\n mode={step > 1 ? \"view\" : mode}\r\n required={true}\r\n />\r\n :\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxName=\"ItemId\"\r\n labelText=\"Items\"\r\n textboxType=\"text\"\r\n required={true}\r\n defaultValue={serviceRequest?.ItemId }\r\n \r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n }\r\n
\r\n }\r\n {(step > 1 || mode != \"create\") &&\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxName=\"ItemDescription\"\r\n labelText=\"ItemDescription\"\r\n textboxType=\"text\"\r\n ExtraDescription={(step <=1&&serviceRequest?.CorrectedItemDescription?.length>1) ?true:false}\r\n recordedData={(step <=1&&serviceRequest?.CorrectedItemDescription?.length>1) ? serviceRequest?.ItemDescription:null}\r\n defaultValue={(step <=1&&serviceRequest?.CorrectedItemDescription?.length>1) ? serviceRequest?.CorrectedItemDescription:serviceRequest?.ItemDescription }\r\n minHeight={mode === \"view\" ? 2 : 3}\r\n \r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n
\r\n }\r\n {(step <= 1&& serviceRequest?.CorrectedDescription)&&\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultValue={serviceRequest?.CorrectedDescription}\r\n textboxName=\"CorrectedDescription\"\r\n labelText=\"CorrectedDescription\"\r\n textboxType=\"text\"\r\n minHeight={mode === \"view\" ? 2 : 3}\r\n \r\n mode={step > 1 ? \"view\" : mode}\r\n\r\n />\r\n
\r\n }\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultValue={serviceRequest?.InstallationLocation}\r\n textboxName=\"InstallationLocation\"\r\n labelText=\"InstallationLocation\"\r\n textboxType=\"text\"\r\n minHeight={mode === \"view\" ? 2 : 3}\r\n \r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n defaultValue={serviceRequest?.Description}\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n textboxType=\"textarea\"\r\n minHeight={mode == \"view\" ? 2 : 3}\r\n \r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n
\r\n {(mode==\"create\") &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n \r\n
\r\n {(step == 2 && !showInDetail) &&\r\n
\r\n
\r\n
{trans(\"step\")}-2
\r\n
{ showStep[2] ? setShowStep({ ...showStep, 2: false }) : setShowStep({ ...showStep, 2: true }) }}>{showStep[2] ? : }
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n name=\"CustomerServiceRequestClassificationId\"\r\n value={serviceRequest?.CustomerServiceRequestClassificationId}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n name=\"FollowupResponsiblePositionId\"\r\n label=\"FollowupResponsiblePosition\"\r\n mode={mode}\r\n value={serviceRequest?.FollowupResponsiblePositionId}\r\n \r\n\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n name=\"PaymentCoverageTypeId\"\r\n label=\"PaymentCoverageType\"\r\n endPoint={ENDPOINTS.afterSalesApi.PaymentCoverageType.dictionary}\r\n value={serviceRequest?.PaymentCoverageTypeId}\r\n mode={mode}\r\n />\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n name=\"EstimateTime\"\r\n IdString=\"EstimateTime\"\r\n \r\n defaultValue={serviceRequest?.EstimateTime}\r\n label=\"EstimateTime\"\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultValue={serviceRequest?.EstimateDescription}\r\n textboxName=\"EstimateDescription\"\r\n labelText=\"EstimateDescription\"\r\n textboxType=\"textarea\"\r\n minHeight={mode == \"view\" ? 2 : 3}\r\n \r\n mode={mode}\r\n />\r\n
\r\n
\r\n {((mode==\"view\"&&((serviceRequest?.CorrectedItemDescription!=undefined &&serviceRequest?.CorrectedItemDescription!= serviceRequest.ItemDescription)||(serviceRequest?.CorrectedSerial!=undefined &&serviceRequest?.CorrectedSerial!= serviceRequest.Serial)))||(mode!=\"view\"))&&\r\n
\r\n
\r\n
{trans(\"CorrectSelectedItem\")}
\r\n
{ showStep[3] ? setShowStep({ ...showStep, 3: false }) : setShowStep({ ...showStep, 3: true }) }}>{showStep[3] ? : }
\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n customerPositionId={serviceRequest?.RequesterPositionId}\r\n setSerialId={setCorrectedSerialId}\r\n label=\"CorrectedSerial\"\r\n type=\"SelectBox\"\r\n name=\"CorrectedSerial\"\r\n value={serviceRequest?.CorrectedSerial ? serviceRequest?.CorrectedSerial : serviceRequest?.Serial }\r\n mode={mode}\r\n />\r\n
\r\n {(correctedSerialId||correctedItemDescription) &&\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n customerPositionId={serviceRequest?.RequesterPositionId}\r\n itemsValid={itemsValid}\r\n setItemsId={(e) => { setCorrectedItemDescription(e); setItemsValid(false) }}\r\n serialId={correctedSerialId}\r\n type=\"SelectBox\"\r\n name=\"ItemId\"\r\n label=\"CorrectedItemDescription\"\r\n value={serviceRequest?.CorrectedItemDescription? serviceRequest?.CorrectedItemDescription : serviceRequest?.ItemDescription}\r\n mode={mode}\r\n />\r\n
\r\n }\r\n {(correctedSerialId||correctedItemDescription) &&\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultValue={serviceRequest?.CorrectedDescription}\r\n textboxName=\"CorrectedDescription\"\r\n labelText=\"CorrectedDescription\"\r\n textboxType=\"textarea\"\r\n minHeight={mode == \"view\" ? 2 : 3}\r\n \r\n mode={mode}\r\n />\r\n
\r\n }\r\n
\r\n
\r\n
\r\n }\r\n
\r\n \r\n
\r\n\r\n\r\n }\r\n\r\n\r\n\r\n
\r\n
\r\n {!showInDetail &&\r\n
\r\n {mode != \"view\" ? (\r\n <>\r\n\r\n
\r\n }\r\n
\r\n
\r\n :\r\n \r\n\r\n }\r\n \r\n :}\r\n \r\n )\r\n}","\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getPosition = (positionId: any) => http({\r\n url: ENDPOINTS.BaseInformation.position.dictionary,\r\n method: 'get',\r\n params: {\r\n id: positionId\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err.response);\r\n })\r\n\r\n\r\n \r\nexport const getRequest = (Id: any) => http({\r\n url: ENDPOINTS.clientPortal.customerServiceRequest.reference,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n referenceId: Id\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err.response );\r\n })\r\nexport const getRequestById = (Id: any) => http({\r\n url: ENDPOINTS.clientPortal.customerServiceRequest.load,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n Id: Id\r\n }\r\n}).then((response) => (response.data))\r\n.catch(err => {\r\n return Promise.reject(err.response );\r\n})\r\n\r\n\r\nexport const postServiceRequest = (data: any, method, PRJ_UID) => http({\r\n url: ENDPOINTS.clientPortal.customerServiceRequest.browse,\r\n method: method,\r\n data: data,\r\n params: {\r\n PRJ_UID: PRJ_UID\r\n }\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getMyOwnReqvfduest = (FormName) => http({\r\n url: ENDPOINTS.clientPortal.startUpProcess,\r\n method: 'get',\r\n params:{\r\n FormName:FormName\r\n }\r\n\r\n}).then((response) => (response.data))\r\n.catch(err => {\r\n return Promise.reject(err)\r\n})\r\n\r\nexport const checkValidate = () => http({\r\n url: ENDPOINTS.clientPortal.clientPortal.validate,\r\n method: 'get',\r\n\r\n\r\n}).then((response) => (response.data))\r\n.catch(err => {\r\n return Promise.reject(err)\r\n})\r\n\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CustomerPositionDictionary } from \"components/CustomerPosition/CustomerPosition\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { FileInput } from \"components/FileInput/FileInput\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm, UserContext } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { checkValidate, getMyOwnRequest, getRequest, getRequestById, postGeneralRequest } from \"./api\";\r\nimport { GeneralRequestsClassificationId } from \"./components/GeneralRequestsClassificationId/GeneralRequestsClassificationId\";\r\nimport { CustomerInfo } from \"pages/AfterSales/component/CustomerInfo/CustomerInfo\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface props {\r\n mode?: any,\r\n onHide?: () => void,\r\n reload?: () => void,\r\n processId?: any,\r\n jobId?: any,\r\n referenceId?: any,\r\n Id?: any,\r\n step?: any,\r\n showInDetail?: any,\r\n JobNo?: any,\r\n inDynamicForms?: any;\r\n}\r\n\r\nexport const CustomerGeneralRequest = ({inDynamicForms=false , showInDetail = false, JobNo, step = 1, mode = \"create\", onHide, reload, processId, referenceId, jobId ,Id }: props) => {\r\n const layoutContext = useContext(LayoutContext);\r\n const [RequestDate, setGeneralRequestDate] = useState();\r\n const [GeneralRequest, setGeneralRequest] = useState(new Date().toISOString());\r\n const [showStep, setShowStep] = useState({});\r\n const [position, setPosition] = useState(null);\r\n const [validatePosition, setValidatePosition] = useState(false);\r\n const [CustomerPosition, setCustomerPosition] = useState(null);\r\n const [userMadeChanges, setUserMadeChanges] = useContext(UserContext);\r\n const [loading, setLoading] = useState(false);\r\n const [message, setMessage] = useState(\"invalid position\");\r\n const [messageType, setMessageType] = useState(null);\r\n const [selectedImage, setSelectedImage] = useState();\r\n\r\n const [showCustomerInfo, setShowCustomerInfo] = useState(false);\r\n\r\n\r\n const changeHandlePic = (e: any) => {\r\n if (e.target.files && e.target.files.length > 0) {\r\n // setSelectedImage(e.target.files);\r\n setSelectedImage({url: URL.createObjectURL([...e.target.files][0] ) ,file:[...e.target.files]}); \r\n\r\n }\r\n };\r\n const handleSubmit = async(event) => {\r\n event.preventDefault()\r\n if (mode === \"edit\") {\r\n let data = {\r\n \"Id\": GeneralRequest.Id,\r\n \"RequesterPositionId\": GeneralRequest.RequesterPositionId,\r\n \"Applicant\": GeneralRequest.Applicant,\r\n \"RequesterMobileNumber\": GeneralRequest.RequesterMobileNumber,\r\n \"RequestNo\":GeneralRequest.RequestNo,\r\n \"RequestDate\": GeneralRequest.RequestDate,\r\n \"Description\": GeneralRequest.Description,\r\n \"ExtraDescription\": GeneralRequest.ExtraDescription,\r\n \"CustomerGeneralRequestClassificationId\": event.target.CustomerGeneralRequestClassificationId.value,\r\n \"FollowupResponsiblePositionId\": GeneralRequest.FollowupResponsiblePositionId,\r\n }\r\n sendDataAsync(data, \"put\");\r\n } else {\r\n let data = {\r\n \"PerformerPositionId\":(position && position?.Id)? position?.Id : layoutContext.currentUserPosition.PositionId,\r\n \"CustomerGeneralRequest\": {\r\n \"RequesterPositionId\":(position && position?.Id) ? position?.Id : layoutContext.currentUserPosition.PositionId,\r\n \"Applicant\": event.target.applicant.value,\r\n \"RequesterMobileNumber\": event.target.RequesterMobileNumber.value,\r\n \"RequestDate\": RequestDate,\r\n \"CustomerGeneralRequestClassificationId\": event.target.CustomerGeneralRequestClassificationId.value,\r\n \"ItemDescription\": event?.target?.ItemDescription?.value,\r\n \"Description\": event.target.Description.value,\r\n \"ExtraDescription\": event.target.ExtraDescription.value,\r\n }\r\n }\r\n let formdata: any = {}\r\n formdata.CustomerGeneralRequestDTO = data\r\n let _objData = new FormData\r\n\r\n _objData.append(\"CustomerGeneralRequestDTO\", JSON.stringify(data));\r\n if (selectedImage) {\r\n const ListSelected:any = [...selectedImage?.file]\r\n ListSelected.map(item=>{\r\n _objData.append(\"Files\", item);\r\n \r\n })\r\n }\r\n sendDataAsync(_objData, \"post\");\r\n }\r\n\r\n\r\n }\r\n async function sendDataAsync(data, method) {\r\n try {\r\n await postGeneralRequest(data, method, processId);\r\n onHide && onHide();\r\n reload && reload()\r\n } catch (err: any) {\r\n\r\n }\r\n }\r\n async function getRequestAsync() {\r\n setLoading(false)\r\n try {\r\n if(Id){\r\n const res = await getRequestById(Id);\r\n setGeneralRequest(res.Data)\r\n }else if (referenceId) {\r\n const res = await getRequest(referenceId ? referenceId : jobId);\r\n setGeneralRequest(res.Data)\r\n } \r\n } catch (err: any) {\r\n setMessage(err?.data?.Message)\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n async function checkValidateAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await checkValidate();\r\n if(res.Data == null){\r\n setValidatePosition(true)\r\n }else{\r\n setCustomerPosition(res.Data)\r\n }\r\n } catch (err: any) {\r\n setValidatePosition(null)\r\n }\r\n setLoading(true)\r\n }\r\n\r\n useEffect(() => {\r\n if(mode == \"create\" ){\r\n checkValidateAsync()\r\n }\r\n if (Id || referenceId) {\r\n getRequestAsync();\r\n }\r\n }, [Id, referenceId]);\r\n\r\n return (\r\n <> \r\n {showCustomerInfo &&\r\n { setShowCustomerInfo(false) }} show={showCustomerInfo}>\r\n \r\n \r\n }\r\n \r\n {loading ? \r\n <>{(validatePosition !=null && messageType ==null)?\r\n
\r\n
\r\n
1 || showInDetail) && \"card\"} card mb-3 `}>\r\n {(step > 1 || showInDetail) &&\r\n
\r\n {showInDetail ?\r\n
{trans(\"GeneralRequest\")} - {JobNo}
\r\n :\r\n
{trans(\"step\")}-1
\r\n }\r\n
{ showStep[1] ? setShowStep({ ...showStep, 1: false }) : setShowStep({ ...showStep, 1: true }) }} >{showStep[1] ? : }
\r\n
\r\n }\r\n
\r\n
\r\n {mode != \"create\" &&\r\n
\r\n { setGeneralRequestDate(isoTime); }}\r\n val={ GeneralRequest?.RequestDate ? GeneralRequest?.RequestDate : null} //resetForm ? new Date().toISOString() : \r\n mode={\"view\"}\r\n />\r\n
\r\n }\r\n {\r\n ( CustomerPosition == null )&&\r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n value={mode == \"create\" ?( layoutContext.currentUserPosition.PositionId ): GeneralRequest?.RequesterPositionId}\r\n />\r\n
\r\n {(jobId&&mode!=\"create\")&&\r\n } btnType=\"primary\"onClick={(e)=>{}} />\r\n }\r\n
\r\n }\r\n\r\n
\r\n 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n
\r\n {(mode==\"create\") &&\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {!showInDetail &&\r\n
\r\n {mode != \"view\" ? (\r\n <>\r\n
\r\n }\r\n
\r\n
\r\n :\r\n \r\n }\r\n \r\n :}\r\n \r\n )\r\n}","\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getPosition = (positionId: any) => http({\r\n url: ENDPOINTS.BaseInformation.position.dictionary,\r\n method: 'get',\r\n params: {\r\n id: positionId\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err.response );\r\n })\r\nexport const getRequest = (Id: any) => http({\r\n url: ENDPOINTS.clientPortal.CustomerGeneralRequest.reference,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n referenceId: Id\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err.response );\r\n })\r\nexport const getRequestById = (Id: any) => http({\r\n url: ENDPOINTS.clientPortal.CustomerGeneralRequest.load,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n Id: Id\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err.response );\r\n })\r\n\r\n\r\nexport const postGeneralRequest = (data: any, method, PRJ_UID) => http({\r\n url: ENDPOINTS.clientPortal.CustomerGeneralRequest.browse,\r\n method: method,\r\n data: data,\r\n params: {\r\n PRJ_UID: PRJ_UID\r\n }\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getMyOwnRequest = (FormName) => http({\r\n url: ENDPOINTS.clientPortal.startUpProcess,\r\n method: 'get',\r\n params:{\r\n FormName:FormName\r\n }\r\n\r\n}).then((response) => (response.data))\r\n.catch(err => {\r\n return Promise.reject(err)\r\n})\r\n\r\nexport const checkValidate = () => http({\r\n url: ENDPOINTS.clientPortal.clientPortal.validate,\r\n method: 'get',\r\n\r\n\r\n}).then((response) => (response.data))\r\n.catch(err => {\r\n return Promise.reject(err)\r\n})\r\n\r\n","import { Button } from \"components/Button/Button\";\r\nimport { ButtonPrintIcon } from \"components/ButtonPrintIcon/ButtonPrintIcon\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { UserContext } from \"components/ModalForm/ModalForm\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Person } from \"layouts/DashboardLayout/components/Header/component/profile/components/person\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { GetReportWithJsonData, trans } from \"utils/helpers\";\r\nimport { getDataForPrint } from \"../../api/api\";\r\nimport { getDailyLeaveData, getDailyLeaveDataByreferenceId, postDailyLeaveData, putDailyLeaveData } from \"./api\";\r\nimport { RemainingDayCount } from \"./RemainingDayCount\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface DailyLeaveFormPropsType {\r\n mode?: any,\r\n Name?: any,\r\n DailyLeaveId?: any,\r\n jobId?: any,\r\n processId?: any,\r\n taskId,\r\n referenceId?: any,\r\n step:any,\r\n Id?: any,\r\n onHide: (usenavigate?) => void,\r\n handleCancelForm: () => void,\r\n handleShowReferenceStepper?: (referenceId: string) => void;\r\n inDynamicForms?: any;\r\n\r\n}\r\n\r\nexport const DailyLeaveForm = ({\r\n mode,\r\n jobId,\r\n Name,\r\n DailyLeaveId,\r\n processId,\r\n taskId,\r\n Id,\r\n referenceId,\r\n step=1,\r\n onHide,\r\n handleCancelForm,\r\n handleShowReferenceStepper,\r\n inDynamicForms=false,\r\n\r\n\r\n}: DailyLeaveFormPropsType) => {\r\n const [fromDate, setFromDate] = useState();\r\n const [untilDate, setUntilDate] = useState();\r\n const [leaveDaysNo, setLeaveDaysNo] = useState();\r\n const [requestDate, setRequestDate] = useState();\r\n const [response, setResponse] = useState();\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [userMadeChanges, setUserMadeChanges] = useContext(UserContext);\r\n const [showstep, setShowstep] = useState({});\r\n const [localMode, setLocalMode] = useState(\"create\");\r\n const layoutContext = useContext(LayoutContext);\r\n const [showReferenceStepper, setShowReferenceStepper] = useState(false);\r\n const [flag,setFlag] = useState(false);\r\n const [todayDate, settodayDate] = useState(new Date().toISOString());\r\n\r\n const validationDates = () =>{\r\n if(fromDate && untilDate && fromDate?.toString().slice(0,10) > untilDate?.toString().slice(0,10)){\r\n setFlag(true)\r\n }else{\r\n setFlag(false)\r\n }\r\n }\r\n\r\n\r\n async function formSubmit(e) {\r\n e.preventDefault()\r\n let data\r\n let method\r\n if(flag){\r\n // Toast(trans(\"InvalidEndDate\"),\"error\");\r\n Toast(trans(\"InvalidEndDate\"),MessageType.error);\r\n\r\n }else{\r\n if(response?.Id ){\r\n method = \"put\"\r\n if(step > 1){\r\n data = {\r\n \"Id\" : response?.Id ,\r\n \"RequesterPositionId\": response?.RequesterPositionId,\r\n \"RequestDate\":response?.RequestDate,\r\n \"DailyLeaveRequestClassificationId\":response?.DailyLeaveRequestClassificationId,\r\n \"StartDate\": fromDate,\r\n \"EndDate\":untilDate,\r\n \"Description\": response?.Description,\r\n \"SubstitutePersonId\": response?.SubstitutePersonId,\r\n \"RemainingDayCount\" : e.target?.RemainingDayCount?.value,\r\n \"LeaveDaysNo\" : e.target.LeaveDaysNo.value,\r\n }\r\n }else{\r\n data = {\r\n \"Id\" : response?.Id ,\r\n \"RequesterPositionId\": response?.RequesterPositionId,\r\n \"RequestDate\":response?.RequestDate,\r\n \"DailyLeaveRequestClassificationId\":e.target.DailyLeaveRequestClassification.value,\r\n \"StartDate\": fromDate,\r\n \"EndDate\":untilDate,\r\n \"Description\": e.target.Description.value,\r\n \"SubstitutePersonId\": e.target.SubstitutePersonId.value ? e.target.SubstitutePersonId.value:null,\r\n \"LeaveDaysNo\" : e.target.LeaveDaysNo.value,\r\n \"RemainingDayCount\" : e.target?.RemainingDayCount?.value,\r\n }\r\n }\r\n try {\r\n const res = await putDailyLeaveData(data ,referenceId)\r\n setResetForm(true)\r\n onHide()\r\n }catch (error) {\r\n\r\n }\r\n\r\n }else{\r\n method = \"post\"\r\n data = {\r\n \"RequesterPositionId\": e.target.RequesterPositionId.value,\r\n \"RequestDate\": requestDate,\r\n \"DailyLeaveRequestClassificationId\": e.target.DailyLeaveRequestClassification.value,\r\n \"StartDate\":fromDate,\r\n \"EndDate\": untilDate,\r\n \"Description\": e.target.Description.value,\r\n \"SubstitutePersonId\": e.target.SubstitutePersonId.value ? e.target.SubstitutePersonId.value:null,\r\n \"LeaveDaysNo\" : e.target.LeaveDaysNo.value,\r\n \"RemainingDayCount\" : e.target?.RemainingDayCount?.value,\r\n }\r\n try {\r\n const res = await postDailyLeaveData(data,processId)\r\n if (showReferenceStepper) {\r\n handleShowReferenceStepper && handleShowReferenceStepper(!(res.MessageType ==MessageType.success) ? false:res.Data);\r\n } else {\r\n setResetForm(true)\r\n onHide(true)\r\n }\r\n\r\n }catch (error) {\r\n \r\n }\r\n }\r\n }\r\n}\r\n\r\n async function getDailyLeaveAsync() {\r\n setLoading(false)\r\n try {\r\n if(Id){\r\n const res = await getDailyLeaveData(Id )\r\n setResponse(res.Data)\r\n\r\n }else if(referenceId){\r\n const res = await getDailyLeaveDataByreferenceId(referenceId )\r\n setResponse(res.Data)\r\n }\r\n } catch (error) {\r\n setResponse({})\r\n }\r\n setLoading(true)\r\n }\r\n const getDataForPrintAsync =async (id) => {\r\n\r\n if(jobId){\r\n if(id.includes(\"Design\")){\r\n const res = await getDataForPrint(jobId)\r\n GetReportWithJsonData( id.replace(\"Design\" , \"\"), res.Data ,2)\r\n }else if(id.includes(\"Default\")){\r\n const res = await getDataForPrint(jobId)\r\n GetReportWithJsonData( id.replace(\"Default\" , \"\"), res.Data ,2)\r\n \r\n }else{\r\n const res = await getDataForPrint(jobId)\r\n GetReportWithJsonData( id, res.Data ,1 )\r\n }\r\n }\r\n try {\r\n\r\n } catch (error) {\r\n \r\n }\r\n };\r\n \r\n useEffect(() => {\r\n if (resetForm) { \r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if ((mode == \"edit\" && step ==1) ) {\r\n setLocalMode(\"create\")\r\n }else if(step ==3 ||mode == \"edit\"){\r\n setLocalMode(\"edit\") \r\n }else{\r\n setLocalMode(mode)\r\n }\r\n }, [mode]);\r\n\r\n useEffect(() => {\r\n if( step >=1 || mode != \"create\"||Id){\r\n getDailyLeaveAsync()\r\n }else{\r\n setLoading(true)\r\n setResponse({})\r\n }\r\n }, [Id]);\r\n useEffect(() => {\r\n if(untilDate && fromDate){\r\n setLeaveDaysNo((Math.round(Math.abs(new Date(fromDate).getTime()-new Date(untilDate).getTime())/(1000 * 3600 * 24)))+1)\r\n }\r\n }, [untilDate ,fromDate]);\r\n \r\n useEffect(()=>{\r\n validationDates()\r\n },[untilDate,fromDate])\r\n\r\n return (\r\n
\r\n {loading ?\r\n
\r\n
\r\n
\r\n {jobId&&\r\n
\r\n {getDataForPrintAsync(e)}} />\r\n
\r\n }\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n resetForm={resetForm}\r\n lable=\"fromDate\"\r\n setIsoTime={(isoTime: string) => { setFromDate(isoTime) }}\r\n val={response?.StartDate ? response?.StartDate : todayDate} //resetForm ? new Date().toISOString() : \r\n errorFlag={flag}\r\n />\r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n resetForm={resetForm}\r\n lable=\"untilDate\"\r\n setIsoTime={(isoTime: string) => { setUntilDate(isoTime) }}\r\n val={response?.EndDate ? response?.EndDate : null} //resetForm ? new Date().toISOString() : \r\n errorFlag={flag}\r\n />\r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n resetForm={resetForm}\r\n textboxType=\"number\"\r\n textboxName=\"LeaveDaysNo\"\r\n labelText=\"forTheDuration\"\r\n maxLength={50} \r\n defaultValue={response?.LeaveDaysNo ?response?.LeaveDaysNo :leaveDaysNo}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n 1 || mode==\"view\") ? true: false}\r\n mode={step >1 ? \"view\" : mode}\r\n resetForm={resetForm}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n \r\n defaultValue={response?.Description}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n\r\n\r\n
\r\n {localMode !== \"view\" ?\r\n <>\r\n
\r\n\r\n
\r\n
\r\n : \r\n\r\n\r\n \r\n }\r\n\r\n \r\n\r\n
\r\n );\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { ButtonPrintIcon } from \"components/ButtonPrintIcon/ButtonPrintIcon\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { UserContext } from \"components/ModalForm/ModalForm\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Person } from \"layouts/DashboardLayout/components/Header/component/profile/components/person\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { GetReportWithJsonData, trans } from \"utils/helpers\";\r\nimport { getDataForPrint, getHourlyLeaveData, getHourlyLeaveDataByReferenceId, postHourlyLeaveData, putHourlyLeaveData } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface HourlyLeaveFormPropsType {\r\n mode?: any,\r\n jobId?: any,\r\n Name?: any,\r\n HourlyLeaveId?: any,\r\n processId?: any,\r\n taskId,\r\n Id?: any,\r\n referenceId?: any,\r\n step:any,\r\n onHide: (usenavigate?) => void,\r\n handleCancelForm: () => void,\r\n handleShowReferenceStepper?: (referenceId: string) => void;\r\n inDynamicForms?: any;\r\n\r\n}\r\n\r\nexport const HourlyLeaveForm = ({\r\n mode,\r\n jobId,\r\n Name,\r\n HourlyLeaveId,\r\n processId,\r\n taskId,\r\n Id,\r\n referenceId,\r\n step=1,\r\n onHide,\r\n handleCancelForm,\r\n handleShowReferenceStepper,\r\n inDynamicForms=false,\r\n\r\n\r\n}: HourlyLeaveFormPropsType) => {\r\n const [fromDate, setFromDate] = useState(null);\r\n const [untilDate, setUntilDate] = useState(null);\r\n const [leaveHours, setleaveHours] = useState(null);\r\n\r\n const [requestDate, setRequestDate] = useState(null);\r\n const [response, setResponse] = useState();\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [userMadeChanges, setUserMadeChanges] = useContext(UserContext);\r\n const [localMode, setLocalMode] = useState(\"create\");\r\n const layoutContext = useContext(LayoutContext);\r\n const [showReferenceStepper, setShowReferenceStepper] = useState(false);\r\n const [flag,setFlag] = useState(false);\r\n const [todayDate, settodayDate] = useState(new Date().toISOString());\r\n\r\n const validationDates = () =>{\r\n if(fromDate && untilDate && Date.parse(fromDate) > Date.parse(untilDate)){\r\n setFlag(true)\r\n }else{\r\n setFlag(false)\r\n }\r\n } \r\n\r\n async function formSubmit(e) {\r\n e.preventDefault()\r\n let data\r\n let method\r\n if(flag){\r\n // Toast(trans(\"InvalidEndDate\"),\"error\");\r\n Toast(trans(\"InvalidEndDate\"),MessageType.error);\r\n\r\n }else{\r\n if(response?.Id ){\r\n method = \"put\"\r\n data = {\r\n \"Id\" : response?.Id ,\r\n \"RequesterPositionId\": response?.RequesterPositionId,\r\n \"RequestDate\":requestDate,\r\n \"StartTime\": requestDate.split(\"T\")[0]+\"T\"+fromDate.split(\"T\")[1],\r\n \"EndTime\":requestDate.split(\"T\")[0]+\"T\"+untilDate.split(\"T\")[1],\r\n \"Description\": e.target.Description.value,\r\n \"SubstitutePersonId\":e.target.SubstitutePersonId.value ? e.target.SubstitutePersonId.value:null,\r\n \"LeaveTime\": leaveHours\r\n }\r\n \r\n try {\r\n const res = await putHourlyLeaveData(data , referenceId)\r\n if (showReferenceStepper) {\r\n handleShowReferenceStepper && handleShowReferenceStepper(!(res.MessageType ==MessageType.success) ? false:referenceId);\r\n } else {\r\n setResetForm(true)\r\n onHide()\r\n }\r\n }catch (error) {\r\n\r\n }\r\n\r\n }else{\r\n method = \"post\"\r\n data = {\r\n \"RequesterPositionId\": e.target.RequesterPositionId.value,\r\n \"SubstitutePersonId\": e.target.SubstitutePersonId.value ? e.target.SubstitutePersonId.value:null,\r\n \"RequestDate\": requestDate,\r\n \"StartTime\":requestDate.split(\"T\")[0]+\"T\"+fromDate.split(\"T\")[1],\r\n \"EndTime\":requestDate.split(\"T\")[0]+\"T\"+ untilDate.split(\"T\")[1],\r\n \"Description\": e.target.Description.value,\r\n \"LeaveTime\": leaveHours\r\n }\r\n try {\r\n const res = await postHourlyLeaveData(data,processId)\r\n if (showReferenceStepper) {\r\n handleShowReferenceStepper && handleShowReferenceStepper(!(res.MessageType ==MessageType.success) ? false:res.Data);\r\n } else {\r\n setResetForm(true)\r\n onHide(true)\r\n }\r\n\r\n }catch (error) {\r\n \r\n }\r\n }\r\n }\r\n}\r\n function changeTime(time:any) {\r\n if(time){\r\n\r\n return `${Math.floor( time/60)}:${Math.floor( Math.abs(time)%60)} `\r\n }else{\r\n return \"\"\r\n }\r\n \r\n }\r\n\r\n async function getHourlyLeaveAsync() {\r\n setLoading(false)\r\n try {\r\n if(Id){\r\n const res = await getHourlyLeaveData(Id )\r\n setResponse(res.Data)\r\n }else if(referenceId){\r\n\r\n const res = await getHourlyLeaveDataByReferenceId(referenceId )\r\n setResponse(res.Data)\r\n }\r\n } catch (error) {\r\n setResponse({})\r\n }\r\n \r\n setLoading(true)\r\n }\r\n const getDataForPrintAsync =async (id) => {\r\n if(jobId){\r\n if(id.includes(\"Design\")){\r\n const res = await getDataForPrint(jobId)\r\n GetReportWithJsonData( id.replace(\"Design\" , \"\"), res.Data ,2)\r\n }else if(id.includes(\"Default\")){\r\n const res = await getDataForPrint(jobId)\r\n GetReportWithJsonData( id.replace(\"Default\" , \"\"), res.Data ,2)\r\n \r\n }else{\r\n const res = await getDataForPrint(jobId)\r\n /* const dataStr = JSON.stringify(res.Data);\r\n const blob = new Blob([dataStr], { type: 'application/json' });\r\n const url = URL.createObjectURL(blob); */\r\n GetReportWithJsonData( id, res.Data ,1 )\r\n \r\n }\r\n \r\n }\r\n try {\r\n\r\n } catch (error) {\r\n \r\n }\r\n };\r\n \r\n \r\n useEffect(() => {\r\n if (resetForm) { \r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if ((mode == \"edit\" && step ==1) ) {\r\n setLocalMode(\"create\")\r\n }else if(step ==3 ||mode == \"edit\"){\r\n setLocalMode(\"view\") \r\n }else{\r\n setLocalMode(mode)\r\n }\r\n }, [mode]);\r\n\r\n useEffect(() => {\r\n if( (step >=1 ||referenceId != null ) && mode != \"create\"||Id){\r\n getHourlyLeaveAsync()\r\n }else{\r\n setLoading(true)\r\n setResponse({})\r\n }\r\n }, [Id , referenceId]);\r\n\r\n useEffect(() => {\r\n if(untilDate && fromDate){\r\n let startTimeMilisecond = fromDate.split(\"T\")[1].split(\":\")\r\n let endTimeMilisecond = untilDate.split(\"T\")[1].split(\":\")\r\n startTimeMilisecond[2]=\"00\"\r\n endTimeMilisecond[2]=\"00\"\r\n let fr =fromDate.split(\"T\")[0]+\"T\"+startTimeMilisecond.join(\":\");\r\n let en = untilDate.split(\"T\")[0]+\"T\"+endTimeMilisecond.join(\":\");\r\n setleaveHours( Math.floor( Math.abs(new Date(fr).getTime()-new Date(en).getTime())/60000) ==0 ? 1 :Math.floor( Math.abs( Math.ceil(new Date(en).getTime()) - Math.ceil(new Date(fr).getTime()))/60000) )\r\n // setleaveHours( Math.floor( Math.abs(new Date(untilDate).getTime()-new Date(fromDate).getTime())/60000))\r\n }\r\n },[untilDate ,fromDate]);\r\n\r\n useEffect(()=>{\r\n validationDates()\r\n },[untilDate,fromDate])\r\n\r\n return (\r\n
\r\n {loading ?\r\n
\r\n
\r\n
= 1 && \"card\"} ${mode == \"create\" && \"card\"} `}>\r\n
\r\n {mode!=='create' && {getDataForPrintAsync(e)}} />} \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n resetForm={resetForm}\r\n lable=\"Date\"\r\n type={\"date\"}\r\n setIsoTime={(isoTime:string) => { setRequestDate(isoTime) }}\r\n val={ response?.RequestDate ? response?.RequestDate : todayDate }\r\n />\r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n lable=\"StartTime\"\r\n setIsoTime={(isoTime: string) => { setFromDate(isoTime) }}\r\n val={ response?.StartTime ? response?.StartTime : null } //resetForm ? new Date().toISOString() :\r\n withTime ={true} \r\n disableDayPicker={true}\r\n format={\"HH:mm\"}\r\n errorFlag={flag}\r\n /> \r\n
\r\n
\r\n 1 ? \"view\" : mode}\r\n Change={setUserMadeChanges}\r\n lable=\"endTime\"\r\n setIsoTime={(isoTime: string) => { setUntilDate(isoTime) }}\r\n val={ response?.EndTime ? response?.EndTime : null }\r\n withTime ={true} \r\n disableDayPicker={true}\r\n format={\"HH:mm\"}\r\n errorFlag={flag}\r\n /> \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n 1 || mode==\"view\") ? true: false}\r\n mode={step >1 ? \"view\" : mode}\r\n resetForm={resetForm}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n maxLength={500}\r\n defaultValue={response?.Description}\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n {localMode !== \"view\" ?\r\n <>\r\n
\r\n\r\n
\r\n
\r\n : \r\n\r\n\r\n \r\n }\r\n\r\n \r\n\r\n
\r\n );\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { ItemGroupLabelSlider } from \"pages/ClientPortal/ECommerce/components/ItemGroupMenu/ItemGroupLabelSlider\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getDefaultSignature, getMeetingSignature, getPersonSignatureIdApi, getSignature, getSignatureHistory, sendSignature } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\nimport rejectedImage from 'assets/image/RejectedSignature_FA.png'\r\n\r\ninterface SignaturePropsType {\r\n onHide?;\r\n Name?;\r\n Id?:string\r\n referenceId?:string\r\n taskId?:string\r\n taskTitle?:any\r\n jobId?:string\r\n mode?:any\r\n SourceData?:any\r\n sourceId?:any\r\n ParentForm?:any\r\n inDynamicForms?:any\r\n}\r\n\r\nexport const Signature = ({ \r\n \r\n onHide,\r\n Name,\r\n Id,\r\n referenceId,\r\n taskId,\r\n taskTitle,\r\n jobId,\r\n mode,\r\n SourceData,\r\n sourceId,\r\n ParentForm,\r\n inDynamicForms=false,\r\n}: SignaturePropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const layoutContext = useContext(LayoutContext);\r\n const [selectedImage, setSelectedImage] = useState(null);\r\n const [showSignList, setShowSignList] = useState(false);\r\n const [response, setResponse] = useState([]);\r\n const [signature, setSignature] = useState();\r\n const [signatureHistory, setSignatureHistory] = useState();\r\n const [showstep, setShowstep] = useState({});\r\n const [loading, setLoading] = useState(false);\r\n const [disabled, setDisabled] = useState(false);\r\n\r\n\r\n\r\n \r\n async function sendNodeAsync(data) {\r\n const res = await sendSignature((SourceData!=undefined &&SourceData.includes(\"Meeting\"))?SourceData:\"automation\" , data, \"post\" ,referenceId ,ParentForm,jobId)\r\n try{\r\n onHide && onHide()\r\n }catch(err:any){\r\n\r\n }\r\n \r\n } \r\n async function getDataAsync() {\r\n setLoading(false)\r\n try{\r\n\r\n if(SourceData!=undefined && SourceData.includes(\"Meeting\")){\r\n const res = await getMeetingSignature(sourceId,layoutContext.currentUserPosition.PositionId)\r\n setSignature(res.Data)\r\n if(res.Data!= null) setDisabled(true)\r\n\r\n if(res.Data){ \r\n const res2 = await getPersonSignatureIdApi(layoutContext.UserPerson.PersonId);\r\n res2.Data.map(item=>{\r\n if(item.Id == res.Data.SignatureId){\r\n setSignId(item)\r\n }\r\n })\r\n }\r\n }else{\r\n const res3 = await getSignatureHistory(referenceId, ParentForm ,jobId)\r\n const res = await getSignature(referenceId,ParentForm,jobId)\r\n setSignatureHistory(res3.Data)\r\n setSignature(res.Data)\r\n if(res.Data){ \r\n const res2 = await getPersonSignatureIdApi(layoutContext.UserPerson.PersonId);\r\n res2.Data.map(item=>{\r\n if(item.Id == res.Data.SignatureId){\r\n setSignId(item)\r\n }\r\n })\r\n }\r\n }\r\n }catch(err:any){\r\n\r\n }\r\n setLoading(true)\r\n\r\n }\r\n\r\n async function putNodeAsync(data) {\r\n try{\r\n const res = await sendSignature((SourceData!=undefined &&SourceData.includes(\"Meeting\"))?SourceData:\"automation\" , data, \"put\",referenceId, ParentForm, jobId)\r\n }catch(err:any){\r\n\r\n }\r\n }\r\n \r\n\r\n \r\n async function SignCheck(e ,event) { \r\n try{\r\n if(e){\r\n const res = await getDefaultSignature(layoutContext.UserPerson.PersonId)\r\n if(res.data.Data.length >0){\r\n setSelectedImage(res.data.Data[0])\r\n }else{\r\n // Toast(\"Msg_AddYourSignatureFirst\" , \"error\" )\r\n Toast(\"Msg_AddYourSignatureFirst\" , MessageType.error )\r\n\r\n setSelectedImage(false)\r\n event.preventDefault();\r\n }\r\n }else{\r\n setSelectedImage(null)\r\n }\r\n }catch(err:any){\r\n \r\n }\r\n }\r\n\r\n\r\n function setSignId(obj) {\r\n setSelectedImage(obj)\r\n }\r\n\r\n async function choseSign(e) {\r\n e.stopPropagation()\r\n if(!disabled){\r\n setShowSignList(true) \r\n try {\r\n const res = await getPersonSignatureIdApi(layoutContext.UserPerson.PersonId);\r\n setResponse(res.Data); \r\n } catch (error) {\r\n \r\n }\r\n\r\n }\r\n \r\n }\r\n \r\n const handlePersonContactFormSubmit = (event) => {\r\n \r\n event.preventDefault();\r\n \r\n if(mode==\"edit\"){ \r\n if(signature?.Id){\r\n let data={\r\n \"Id\": signature?.Id,\r\n \"OwnerId\" : sourceId ? sourceId:null,\r\n \"TAS_UID\":taskId,\r\n \"PositionId\":layoutContext.currentUserPosition.PositionId,\r\n \"PositionDescription\":layoutContext.currentUserPosition.Description,\r\n \"PositionTitle\": layoutContext.currentUserPosition.PositionTitle\t ,\r\n \"PersonDescription\": layoutContext.currentUserPosition.PersonDescription\t ,\r\n \"SignatureId\":event.target.Signature[0].checked ? selectedImage?.Id : null ,\r\n \"SignatureDescription\": event.target.SignatureDescription.value,\r\n \"SignatureTime\": new Date(),\r\n \"jobId\":jobId,\r\n \"IsSigned\":selectedImage ? true:false\r\n }\r\n putNodeAsync(data)\r\n }else{\r\n let data={\r\n \"OwnerId\" : sourceId ? sourceId:null,\r\n \"PositionDescription\":layoutContext.currentUserPosition.Description,\r\n \"PositionId\":layoutContext.currentUserPosition.PositionId,\r\n \"SignatureId\":selectedImage?.Id,\r\n \"TAS_UID\":taskId,\r\n \"PositionTitle\": layoutContext.currentUserPosition.PositionTitle\t ,\r\n \"PersonDescription\": layoutContext.currentUserPosition.PersonDescription\t ,\r\n \"SignatureDescription\": event.target.SignatureDescription.value,\r\n \"SignatureTime\": new Date(),\r\n \"jobId\":jobId,\r\n \"IsSigned\": selectedImage ? true:false\r\n }\r\n\r\n sendNodeAsync(data )\r\n }\r\n \r\n }else{\r\n \r\n let data={\r\n \"OwnerId\" : sourceId ? sourceId:null,\r\n \"PositionId\":layoutContext.currentUserPosition.PositionId,\r\n \"PositionDescription\":layoutContext.currentUserPosition.Description,\r\n \"PositionTitle\": layoutContext.currentUserPosition.PositionTitle\t ,\r\n \"PersonDescription\": layoutContext.currentUserPosition.PersonDescription\t ,\r\n \"SignatureId\":selectedImage.Id,\r\n \"TAS_UID\":taskId,\r\n \"SignatureDescription\": event.target.SignatureDescription.value,\r\n \"SignatureTime\": new Date(),\r\n \"jobId\":jobId,\r\n \"IsSigned\": selectedImage ? true:false\r\n }\r\n sendNodeAsync(data )\r\n }\r\n \r\n }\r\n\r\n\r\n \r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n\r\n\r\n if ( referenceId ) {\r\n getDataAsync()\r\n }\r\n }, [referenceId]);\r\n\r\n\r\n\r\n \r\n return (\r\n <>\r\n { showSignList &&\r\n {setShowSignList(false)}} show={showSignList}>\r\n
\r\n {response?.length >0 && \r\n
\r\n {\r\n response.map((item , index)=>(\r\n
{setSignId(item);setShowSignList(false) } } className={`col-lg-2 SignCard ${item?.IsDefault ? \"Signactive\": \"\" }`} >\r\n { item.Sign? \r\n : \r\n \r\n } \r\n {\r\n item?.IsDefault && \r\n
\r\n {trans(\"Default\")}\r\n
\r\n } \r\n
\r\n ))\r\n }\r\n
\r\n } \r\n
\r\n
\r\n }\r\n {loading?\r\n <>\r\n {signatureHistory&& signatureHistory.length > 1 && \r\n
\r\n
{trans('Sign')}
\r\n
\r\n }\r\n \r\n {signatureHistory && signatureHistory.map((item , index)=>(\r\n (signature && signature?.TAS_UID &&item.PositionId == layoutContext.currentUserPosition.PositionId && index == signatureHistory.length-1&&mode!=\"view\") ?\r\n <>: \r\n
\r\n
\r\n {!showstep[index] && \r\n \r\n {trans(item?.Description)}\r\n \r\n }>\r\n {\r\n
\r\n \r\n {trans(item.PositionDescription)}\r\n \r\n }>\r\n <>\r\n {\r\n \r\n
\r\n
\r\n {item?.PositionDescription?.split('-')[0]}\r\n
\r\n
\r\n { item?.PositionDescription?.split('-')[1] }\r\n
\r\n
}\r\n \r\n {\r\n item.Sign?\r\n \r\n :\r\n \r\n }\r\n\r\n
\r\n }\r\n \r\n }\r\n
\r\n
\r\n ))\r\n }\r\n
\r\n \r\n :\r\n \r\n }\r\n {mode !=\"view\" &&\r\n
\r\n
\r\n
{taskTitle}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {trans(\"ClickToChangeSign\")}\r\n \r\n }\r\n >\r\n \r\n {selectedImage ? (\r\n
\r\n \r\n {\r\n selectedImage?.IsDefault && \r\n
\r\n {trans(\"Default\")}\r\n
\r\n }\r\n
\r\n ) :\r\n
\r\n \r\n \r\n
\r\n } \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n { (mode !=\"view\" && !disabled)&&\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n
\r\n
\r\n }\r\n \r\n\r\n );\r\n}","import { CustomerSalesOrder } from \"pages/ClientPortal/ECommerce/components/Cart/components/CustomerSalesOrder\";\r\nimport { useEffect } from \"react\";\r\nimport { SalesOrderForm } from \"../SalesOrder/SalesOrderForm\";\r\n\r\ninterface OrderFormProps {\r\n onHide?: (usenavigate?) => void;\r\n relod: () => void;\r\n jobId?: any;\r\n processId?: any;\r\n referenceId?: any;\r\n mode: any;\r\n step?: any;\r\n taskId?:any;\r\n Id?:any;\r\n rowObject?: any;\r\n handleShowReferenceStepper?: (referenceId: string) => void;\r\n buttonPrintObjCallBack?: (obj: any) => void;\r\n}\r\n\r\n\r\n\r\nexport const OrderForm = ({\r\n mode,\r\n relod,\r\n onHide,\r\n rowObject,\r\n handleShowReferenceStepper,\r\n buttonPrintObjCallBack,\r\n step,\r\n taskId,\r\n jobId,\r\n Id,\r\n processId,\r\n referenceId,\r\n}: OrderFormProps) => {\r\n\r\n\r\n useEffect(() => {\r\n\r\n \r\n }, []);\r\n\r\n return (\r\n
\r\n {window.location.href.includes(\"cartable\")||window.location.href.includes(\"jobs\")?\r\n \r\n \r\n \r\n :\r\n { onHide && onHide(usenavigate); } }\r\n processId={processId}\r\n basketData={undefined} \r\n Id={Id}\r\n\r\n />\r\n\r\n }\r\n\r\n
\r\n );\r\n};\r\n","import { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { getCustomerCredit } from \"./api\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Footerbar } from \"components/Footerbar/Footerbar\";\r\nimport { getDefaultPersonContact } from \"../api\";\r\nimport { GroupingPriceFunction, trans } from \"utils/helpers\";\r\n\r\ninterface CustomerCreditControlFormPropsType {\r\n RequesterPositionId?: any;\r\n}\r\n\r\nexport function CustomerCreditControlForm({\r\n RequesterPositionId,\r\n}: CustomerCreditControlFormPropsType) {\r\n const [positionId, setPositionId] = useState(RequesterPositionId);\r\n\r\n const [creditList, setCreditList] = useState(null);\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [headerItem, setHeaderItem] = useState(null);\r\n const [noAccess,setNoAccess]=useState(false)\r\n\r\n const getCustomerCreditAsync = async () => {\r\n try {\r\n const res = await getCustomerCredit(positionId);\r\n setCreditList(res?.Data);\r\n setNoAccess(false)\r\n } catch (error:any) {\r\n setMessageType(error.response.data.Message);\r\n error.response.status==403?setNoAccess(true):setNoAccess(false)\r\n }\r\n setLoading(false);\r\n };\r\n\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n };\r\n\r\n const getDefaultPersonContactAsync = async () => {\r\n try {\r\n let res = await getDefaultPersonContact(\r\n creditList.Header.CustomerPersonId\r\n );\r\n\r\n if (res?.Data?.Address) {\r\n let newHeaderItemObj = {\r\n ...res?.Data,\r\n Address: JSON.parse(res?.Data?.Address),\r\n };\r\n\r\n let str = \"\";\r\n Object.keys(newHeaderItemObj.Address).map((item) => {\r\n if (\r\n newHeaderItemObj.Address[item] !== \"\" &&\r\n newHeaderItemObj.Address[item] !== null\r\n ) {\r\n if (item !== \"address\") {\r\n str += trans(item) + newHeaderItemObj.Address[item] + \" \";\r\n } else {\r\n str += newHeaderItemObj.Address[item] + \" \";\r\n }\r\n }\r\n });\r\n\r\n setHeaderItem({ ...newHeaderItemObj, Address: str });\r\n } else {\r\n setHeaderItem(res?.Data);\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n useEffect(() => {\r\n if (creditList) {\r\n getDefaultPersonContactAsync();\r\n }\r\n }, [creditList]);\r\n\r\n useEffect(() => {\r\n getCustomerCreditAsync();\r\n }, []);\r\n\r\n return (\r\n
\r\n {/* headerbar component */}\r\n {headerItem ? : noAccess?<>: }\r\n {/* data grid */}\r\n {!loading ? (\r\n !!creditList?.Data?.length ? (\r\n
\r\n \r\n \r\n
\r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n}\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getCustomerCredit = (positionId) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.credit,\r\n\r\n method: \"get\",\r\n params: {\r\n positionId,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getAfterSale = (pageNumber: number, pageSize: number, searchString, orderBy, filterlist ,applicationId) => http({\r\n url: ENDPOINTS.afterSalesApi.browse,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n applicationId: applicationId,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const setJobInProgress = (id: any) => http({\r\n url: ENDPOINTS.cartable.setJobInProgress,\r\n method: 'post',\r\n params: {\r\n jobId: id,\r\n }\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n})\r\n.catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getStartForm = (processId: any) => http({\r\n url: ENDPOINTS.bpmnApi.process.getStartForm,\r\n method: 'get',\r\n params: {\r\n processId: processId\r\n\r\n }\r\n}).then((response) => (response.data))\r\n.catch(err => {\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n\r\n\r\n\r\nexport const cancelServiceRequest = (id) => http({\r\n url: ENDPOINTS.clientPortal.customerServiceRequest.cancel,\r\n method: 'post',\r\n params: {\r\n Id: id\r\n }\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const ForceStop = (jobId: any, description , sendSms) => http({\r\n url: ENDPOINTS.afterSalesApi.stop,\r\n method: 'put',\r\n params: {\r\n JobId: jobId,\r\n forceStopDescription: description,\r\n sendMessageToRequester:sendSms\r\n }\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const insertNote = (jobId: any, description ) => http({\r\n url: ENDPOINTS.afterSalesApi.insertNote,\r\n method: 'put',\r\n params: {\r\n jobId : jobId,\r\n note: description,\r\n }\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getRequesterUserId = (jobId: any) => http({\r\n url: ENDPOINTS.afterSalesApi.userId,\r\n method: 'get',\r\n params: {\r\n JobId: jobId\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getViewForm = (processId: any) => http({\r\n url: ENDPOINTS.bpmnApi.process.getViewForm,\r\n method: 'get',\r\n params: {\r\n processId: processId,\r\n }\r\n}).then((response) => (response.data))\r\n.catch(err => {\r\n return Promise.reject(err);\r\n})\r\n\r\nexport const resendReference = (jobId: any) => http({\r\n url: ENDPOINTS.clientPortal.clientPortal.resend,\r\n method: 'post',\r\n params: {\r\n jobId: jobId\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const jobTransfer = (jobId: any ) => http({\r\n url: ENDPOINTS.afterSalesApi.transfer,\r\n method: 'get',\r\n params: {\r\n jobId: jobId \r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { getPageSize, trans } from \"utils/helpers\";\r\nimport { getActionsOfReferences } from \"./api/api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\nexport const ActionsOfReference = ({ referenceId }: any) => {\r\n\r\n let gridColumns, gridData = [];\r\n\r\n let Total_records, pages;\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [response, setResponse] = useState(null);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showActionForm, setShowActionForm] = useState(false);\r\n const [mode, setmode] = useState(\"\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(5);\r\n const [showattachment, setshowAttachment] = useState(false);\r\n const [endpoint, setEndpoint] = useState();\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n\r\n\r\n const handlechangePageSize = (e: any) => {\r\n setPageSize(e.currentTarget.value);\r\n setPageNum(1);\r\n getPageSize(\"ActionsOfReference\" ,e.currentTarget.value)\r\n getReferenceActionsOfReferenceAsync();\r\n };\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else setPageNum(value);\r\n } else {\r\n }\r\n };\r\n const HandleNextPage = () => {\r\n if (pageNum < pages) setPageNum((pageNum) => { return +pageNum + 1 });\r\n };\r\n const HandlePrevPage = () => {\r\n if (pageNum > 1) setPageNum((pageNum) => { return +pageNum - 1 });\r\n };\r\n\r\n\r\n const handleAttachmentRow = (id) => {\r\n setSelectedId(id)\r\n setEndpoint( ENDPOINTS.cartable.action.attachments)\r\n setmode(\"attach\") \r\n setshowAttachment(true)\r\n }\r\n\r\n\r\n const selectedIdCallback = (obj, index) => {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\" && showActionForm){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alert\", ()=>{setSelectedId(obj.Id) ;sessionStorage.setItem(\"changingforms\" , \"false\");});\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{setSelectedId(obj.Id) ;sessionStorage.setItem(\"changingforms\" , \"false\");});\r\n\r\n }else{\r\n setSelectedId(obj.Id);\r\n };\r\n }\r\n /* #endregion */ \r\n\r\n\r\n async function getReferenceActionsOfReferenceAsync() {\r\n setLoading(false)\r\n let sizePage = getPageSize(\"ActionsOfReference\")\r\n setPageSize(sizePage)\r\n try {\r\n const res = await getActionsOfReferences(pageNum, sizePage, referenceId ,orderBy.length == 0 ?null: orderBy.join(\",\") ,filterlist ,search); \r\n setResponse(res);\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n \r\n setLoading(true)\r\n }\r\n useEffect(() => {\r\n getReferenceActionsOfReferenceAsync()\r\n\r\n }, [pageNum, forceUpdate,orderBy ,filterlist,search ]);\r\n\r\n\r\n\r\n \r\n\r\n if (response &&\r\n response?.Data && response.Data?.Data?.length>0) {\r\n gridColumns = Object.keys(response.Data.Data[0]);\r\n gridData = response.Data.Data;\r\n\r\n Total_records = response.Data.TotalRecords;\r\n }\r\n pages = Total_records > pageSize ? Math.ceil(Total_records / pageSize) : 1;\r\n return (\r\n <>\r\n
\r\n {loading ?\r\n (response?.Data?.Data.length > 0 ?\r\n
\r\n
\r\n <>\r\n {setFilterlist(str) }}\r\n filterStr={filterlist}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n parentName={\"ActionsOfReference\"}\r\n theadData={gridColumns}\r\n tbodyData={gridData}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedIdCallback}\r\n handleAttachment={handleAttachmentRow}\r\n totalRecords={Total_records}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={HandleNextPage}\r\n HandlePrevPage={HandlePrevPage}\r\n handlechangePageSize={handlechangePageSize}\r\n first={() => setPageNum(pages)}\r\n end={() => setPageNum(1)}\r\n handleGoPage={handleGoPage}\r\n scrollHeight={\"150px\"}\r\n />\r\n \r\n
\r\n
\r\n : \r\n )\r\n : \r\n }\r\n\r\n
\r\n \r\n\r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getReferencesActions = (jobId ) => http({\r\n url: ENDPOINTS.afterSalesApi.history,\r\n method: 'get',\r\n params: {\r\n JobId:jobId ,\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\n export const getActionsOfReferences = (PageNumber: number, PageSize: number, ReferenceId: any,orderBy,filterlist ,SearchString) => http({\r\n url: ENDPOINTS.cartable.action.browse,\r\n method: 'get',\r\n params: {\r\n pageNumber: PageNumber,\r\n pageSize: PageSize,\r\n referenceId: ReferenceId,\r\n OrderByString:orderBy,\r\n FilterString:filterlist,\r\n SearchString:SearchString,\r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n\r\n\r\n","import { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { getReferencesActions } from \"./api/api\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { ActionsOfReference } from \"./ActionsOfReference\";\r\ninterface ReferenceHistoryPropsType {\r\n \r\n mode?: any,\r\n serviceRequestId: any,\r\n onHide: () => void\r\n\r\n}\r\n\r\nexport const ReferenceHistory = ({\r\n\r\n serviceRequestId,\r\n\r\n}: ReferenceHistoryPropsType) => {\r\n const [response , setResponse] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n const [selectedRow, setSelectedRow] = useState();\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [showActionOfReference, setShowActionOfReference] = useState(false);\r\n\r\nasync function ReferenceAndActionsasync(serviceRequestId) {\r\n setLoading(false)\r\n try {\r\n const res = await getReferencesActions(serviceRequestId )\r\n \r\n setResponse(res.Data)\r\n } catch (error) {\r\n setResponse([])\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n\r\n}\r\n\r\n useEffect( () => {\r\n ReferenceAndActionsasync(serviceRequestId)\r\n \r\n }, [serviceRequestId]);\r\n\r\n return (\r\n \r\n\r\n <>\r\n
\r\n {\r\n loading ? (\r\n response ?\r\n {setSelectedRow(e ) ;setShowActionOfReference(true) }}\r\n compressed={true}\r\n theadData={ Object.keys(response)}\r\n parentName={\"ReferenceHistory\"}\r\n startIndex={4}\r\n Childrenparams={\"ReferenceList\"}\r\n defultShow={true}\r\n /> \r\n : ) \r\n\r\n : \r\n }\r\n
\r\n\r\n {showActionOfReference &&\r\n { setShowActionOfReference(false) }} show={showActionOfReference}>\r\n \r\n \r\n }\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n );\r\n}","import { useEffect, useState, useRef } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getBpmnTaskApi } from \"./api\";\r\nimport { setTimeout } from \"timers\";\r\nimport { SubMenu } from \"../SubMenu/SubMenu\";\r\ninterface BpmnTaskPropsType {\r\n label?: string,\r\n processId?: string,\r\n hasBorder?: boolean,\r\n required?: boolean,\r\n value?:string,\r\n mode?:string\r\n resetForm?:any,\r\n Change?: (e) => void,\r\n setBpmnTask?: (e) => void,\r\n}\r\n\r\nexport const BpmnTask = ({ processId ,label, hasBorder,value,mode ,required , resetForm ,Change , setBpmnTask}: BpmnTaskPropsType) => {\r\n const [BpmnTask, setBpmnTasks] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag , setFlag] = useState(false);\r\n const [show , setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [rquird , setRquird] = useState(false);\r\n const [activeId , setactiveId] = useState();\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const BpmnTaskRef = useRef(BpmnTask);\r\n const activeIdRef = useRef(activeId);\r\n const ShowRef = useRef(show);\r\n const validRef = useRef(false);\r\n \r\n\r\n async function getBpmnTaskListAsync(search,id) {\r\n try{\r\n const res = await getBpmnTaskApi(search,id ,processId);\r\n if(id){\r\n setValeu(res[id] , id)\r\n setValueName(res[id])\r\n }\r\n setBpmnTasks({ ...res}) \r\n BpmnTaskRef.current = res\r\n setFlag(!flag)\r\n }catch(err:any){\r\n \r\n }\r\n }\r\n\r\n const Auto = (e)=>{\r\n validRef.current = false\r\n setValidat(false)\r\n setRquird(false)\r\n getBpmnTaskListAsync(e.target.value,\"\")\r\n setFlag(!flag)\r\n\r\n }\r\n const CheckBpmnTask =async (e)=>{\r\n setTimeout(() => { \r\n if(!validRef.current){ \r\n if(BpmnTask!=undefined && Object.values(BpmnTask).length == 1){\r\n setValeu(Object.values(BpmnTask)[0] , Object.keys(BpmnTask)[0])\r\n e.target.setCustomValidity(\"\");\r\n }else{\r\n if(inputRef.current){\r\n setValeu(null,null) \r\n }\r\n if(inputRef?.current?.value.length >0 && inputRef?.current?.value!=\"\"){\r\n e.target.setCustomValidity(trans(\"Msg_Validation_ValueIsIncorrect\"));\r\n setValidat(true);\r\n e.target.reportValidity();\r\n }\r\n setBpmnTask && setBpmnTask(null);\r\n }\r\n\r\n }\r\n }, 200);\r\n }\r\n\r\n const setValeu = (newValue , id)=>{\r\n if(inputIdRef != null && inputIdRef.current != null){\r\n\r\n validRef.current = true\r\n inputRef.current.value=newValue;\r\n inputIdRef.current.value=id;\r\n BpmnTaskRef.current = null;\r\n ((value==null &&id)|| id != value) ? Change&&Change({\"person\" :newValue}):Change&&Change({\"person\":null});\r\n\r\n setBpmnTasks(null)\r\n setFlag(!flag)\r\n inputRef.current.setCustomValidity(\"\")\r\n setBpmnTask && setBpmnTask({Value : inputRef.current.value , Id : id})\r\n setValidat(false)\r\n }\r\n }\r\n useEffect(() => {\r\n if(value){\r\n getBpmnTaskListAsync(null,value)\r\n }else if(value == null){\r\n setValueName(null)\r\n }\r\n }, [value]);\r\n\r\n useEffect(() =>{\r\n if(show ){\r\n document.body.addEventListener(\"click\", clickToclose)\r\n } \r\n return () => { document.body.removeEventListener('click', clickToclose) }\r\n \r\n \r\n },[show ])\r\n \r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browserBpmnTaskId\");\r\n if (e.target.id !== input?.id) { \r\n setShow(false);\r\n }\r\n }\r\n return (\r\n <>\r\n
\r\n \r\n {required && *}\r\n \r\n { Auto(e) ; setShow(true);}} ref={inputRef} list=\"BpmnTaskList\" name=\"browser\" className=\"text-box__box form-control \" id={\"browserBpmnTaskId\"} onMouseDown={(e)=>e.stopPropagation() } onChange={Auto} disabled={mode ==\"view\" ? true : false} />\r\n {\r\n show && \r\n {setShow(false)}} />\r\n } \r\n
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n {required && {trans(\"Msg_Validation_ValueIsRequired\", [\"\"])}}\r\n
\r\n
\r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getBpmnTaskApi = (async (search, id ,processId) => await http({\r\n\r\n url: ENDPOINTS.bpmnApi.Task.dictionary,\r\n method: 'get',\r\n params: {\r\n processId: processId,\r\n SearchString: search,\r\n Id: id\r\n }\r\n})\r\n .then((respons) => (respons.data.Data))\r\n)\r\n","import { useEffect, useState, useRef } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getBpmnTaskUserApi } from \"./api\";\r\nimport { SubMenu } from \"../SubMenu/SubMenu\";\r\nimport { AutoCompleteDictionary } from \"components/AutoCompleteDictionary/AutoCompleteDictionary\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\ninterface BpmnTaskUserPropsType {\r\n label?: string,\r\n bpmnTaskId?: string,\r\n hasBorder?: boolean,\r\n required?: boolean,\r\n value?:string,\r\n mode?:string\r\n resetForm?:any,\r\n Change?: (e) => void,\r\n setBpmnTaskUser?: (e) => void,\r\n returnObj?:boolean,\r\n name?:any\r\n}\r\n\r\nexport const BpmnTaskUser = ({ bpmnTaskId ,name,returnObj,label, hasBorder,value,mode ,required , resetForm ,Change , setBpmnTaskUser}: BpmnTaskUserPropsType) => {\r\n\r\n\r\n\r\n\r\n\r\nconsole.log(bpmnTaskId);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n // async function getBpmnTaskUserListAsync(search,id,bpmnTaskId) {\r\n // try{\r\n // const res = await getBpmnTaskUserApi(search,id ,bpmnTaskId);\r\n // if(id){\r\n // setValueName(res[id])\r\n // }else{\r\n // setBpmnTaskUsers(res) \r\n // options_PostLevel_values = Object.values(res) \r\n // options_PostLevel_keys = Object.keys(res)\r\n // }\r\n // if(Object.values(res).length ===1){\r\n // setValeu(Object.values(res)[0],Object.keys(res)[0])\r\n // }\r\n // setFlag(!flag)\r\n // }catch(err:any){\r\n \r\n // }\r\n // }\r\n \r\n // const Auto = (e)=>{\r\n // validRef.current = false\r\n \r\n // Change && Change(true)\r\n // setValidat(false)\r\n // setRquird(false)\r\n // getBpmnTaskUserListAsync(e.target.value,\"\",bpmnTaskId)\r\n // setFlag(!flag)\r\n\r\n // }\r\n // const CheckBpmnTaskUser =async (e)=>{\r\n // setTimeout(() => {\r\n // if(!validRef.current){\r\n // //e.target.setCustomValidity(trans(\"Msg_Validation_ValueIsIncorrect\"));\r\n // // setValidat(true)\r\n // setBpmnTaskUser && setBpmnTaskUser(null)\r\n // // e.target.reportValidity();\r\n // }\r\n \r\n // }, 200);\r\n // }\r\n // const setValeu = (value , id)=>{\r\n // if(inputIdRef != null && inputIdRef.current != null){\r\n\r\n // validRef.current = true\r\n\r\n // inputRef.current.value=value\r\n // inputIdRef.current.value=id\r\n\r\n // setBpmnTaskUsers(null)\r\n // setFlag(!flag)\r\n // inputRef.current.setCustomValidity(\"\")\r\n // setValidat(false)\r\n // setBpmnTaskUser && setBpmnTaskUser({Value : inputRef.current.value , Id : id})\r\n // }\r\n // }\r\n // useEffect(() => {\r\n // if(value){\r\n // getBpmnTaskUserListAsync(null,value,bpmnTaskId)\r\n\r\n // }else if(value == null){\r\n // setValueName(null)\r\n // }\r\n // }, [value ]);\r\n // useEffect(() => {\r\n // if(bpmnTaskId == null ){\r\n // inputRef.current.value=null\r\n // inputIdRef.current.value=null\r\n\r\n // setValueName(null)\r\n // setBpmnTaskUser && setBpmnTaskUser(null)\r\n\r\n // }else {\r\n // getBpmnTaskUserListAsync(null,value,bpmnTaskId)\r\n\r\n // }\r\n // }, [bpmnTaskId]);\r\n\r\n\r\n // if(BpmnTaskUser){\r\n // options_PostLevel_values = Object.values(BpmnTaskUser)\r\n // options_PostLevel_keys = Object.keys(BpmnTaskUser)\r\n // }\r\n \r\n // useEffect(() =>{\r\n // if(show ){\r\n // document.body.addEventListener(\"click\", clickToclose)\r\n // } \r\n // return () => { document.body.removeEventListener('click', clickToclose) }\r\n \r\n \r\n // },[show ])\r\n \r\n // function clickToclose(e){\r\n // let input = document.querySelector(\"#browserBpmnTaskUserId\");\r\n // if (e.target.id !== input?.id) { \r\n // setShow(false);\r\n // }\r\n // }\r\n return (\r\n <>\r\n
\r\n setBpmnTaskUser&&setBpmnTaskUser({Value :e.Name , Id : e.Id})} label={trans(\"receiver\")+\" \" +trans(\"reference\")} baseUrl={undefined} params={{\r\n TaskId: bpmnTaskId,\r\n }} url={ENDPOINTS.bpmnApi.TaskUser.dictionary} required name={name} value={value && value} mode={mode}/>\r\n\r\n\r\n {/* \r\n {setShow(true);}} ref={inputRef} list=\"BpmnTaskUserList\" name=\"browser2\" className=\"text-box__box form-control \" id={\"browserBpmnTaskUserId\"} onMouseDown={(e)=>e.stopPropagation() } onChange={Auto} />\r\n {\r\n show && \r\n {setShow(false)}} />\r\n\r\n } \r\n
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n {required && {trans(\"Msg_Validation_ValueIsRequired\", [\"\"])}}\r\n
*/}\r\n
\r\n \r\n )\r\n}","import { SelectBox } from \"components/Select/Select\";\r\nimport { InputHTMLAttributes, useContext, useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getReferenceDictionarys } from \"./api\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\ninterface ReferenceDictionaryProp extends InputHTMLAttributes {\r\n type: \"SelectBox\" | \"Radio\" | \"CheckBox\";\r\n label?: string;\r\n name: string;\r\n value?: any;\r\n mode?: any;\r\n endpoint?: any;\r\n JobId?: any;\r\n required?: boolean;\r\n selectedList?: (e) => void,\r\n}\r\nexport const ReferenceDictionary = ({endpoint, type, label, name, value, mode ,JobId,required,selectedList }: ReferenceDictionaryProp) => {\r\n const [optionsReferenceDictionary, setOptionsReferenceDictionary] = useState();\r\n const [errcode, setErrcode] = useState();\r\n const [app, setApp] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [selectedItem, setSelectedItem] = useState([]);\r\n const layoutContext = useContext(LayoutContext);\r\n let Default:any = value\r\n let options_ReferenceDictionary_values:any =[];\r\n let options_ReferenceDictionary_keys:any =[];\r\n\r\n const ReferenceDictionaryApiAsync = async ()=>{\r\n setLoading(false)\r\n try {\r\n const res = await getReferenceDictionarys(JobId ,endpoint)\r\n setOptionsReferenceDictionary(res.Data)\r\n } catch (error:any) {\r\n setErrcode(error.response.status)\r\n\r\n }\r\n setLoading(true)\r\n\r\n }\r\n function addOption(e) {\r\n e.stopPropagation()\r\n e.preventDefault()\r\n let Name \r\n\r\n if(app){\r\n let PerformerPositionId = app.target.value\r\n let flag = false\r\n selectedItem.forEach(item => {\r\n if(item.PerformerPositionId ==PerformerPositionId ){\r\n flag =true\r\n }\r\n });\r\n if(!flag){\r\n let obj:any ={}\r\n optionsReferenceDictionary.map(item=>{\r\n if(item.PerformerPositionId ==PerformerPositionId ){\r\n obj ={\r\n PerformerPositionDescription : item.PerformerPositionDescription,\r\n PerformerPositionId : item.PerformerPositionId,\r\n ReferenceId : item.ReferenceId ,\r\n }\r\n }\r\n })\r\n \r\n setSelectedItem([...selectedItem,obj])\r\n selectedList&& selectedList([...selectedItem,obj])\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n function deleteaOption(e) {\r\n let newSelectedList:any =[] \r\n selectedItem.forEach(item=>{\r\n if(item.PerformerPositionId !=e.PerformerPositionId ){\r\n newSelectedList.push(item) \r\n }\r\n })\r\n \r\n setSelectedItem(newSelectedList)\r\n selectedList&& selectedList(newSelectedList)\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n ReferenceDictionaryApiAsync()\r\n\r\n \r\n }, [layoutContext.currentUserPosition.PositionId ]);\r\n\r\n if (optionsReferenceDictionary) options_ReferenceDictionary_values =optionsReferenceDictionary.map(item => {\r\n return item.PerformerPositionDescription \r\n })\r\n if (optionsReferenceDictionary) options_ReferenceDictionary_keys = optionsReferenceDictionary.map(item => {\r\n return item.PerformerPositionId \r\n })\r\n if (value && optionsReferenceDictionary && options_ReferenceDictionary_keys.indexOf(value) != -1) {\r\n Default = value\r\n } else if (optionsReferenceDictionary && options_ReferenceDictionary_values.indexOf(value) != -1) {\r\n Default = options_ReferenceDictionary_values.indexOf(value) + 1\r\n }\r\n \r\n \r\n\r\n return (\r\n <>\r\n {label ? : null}\r\n {loading ?\r\n <>\r\n
\r\n
\r\n 1 ? mode : \"view\"}\r\n lable=\"referrer\"\r\n selectType=\"select\"\r\n value={Default}\r\n options={options_ReferenceDictionary_values}\r\n val={options_ReferenceDictionary_keys}\r\n name={name}\r\n > \r\n
\r\n {(optionsReferenceDictionary && Object.values(optionsReferenceDictionary).length >1) &&\r\n
\r\n } btnType=\"submit\" />\r\n
\r\n \r\n }\r\n
\r\n
\r\n \r\n { selectedItem.map((item, index) => (\r\n
\r\n
\r\n {trans(item.PerformerPositionDescription) } \r\n
\r\n \r\n
{deleteaOption(item)}}>\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n\r\n \r\n : \r\n }\r\n
\r\n\r\n \r\n
\r\n \r\n );\r\n};\r\n","import { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getReferenceDictionarys = (JobId,endpoint) => http({\r\n url: endpoint.CurrentReferencePositions,\r\n method: 'get',\r\n params:{\r\n JobId:JobId\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\n","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Time } from \"components/Time/Time\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { postReferences } from \"./api\";\r\nimport { BpmnTask } from \"./components/BpmnTaskDictionary/BpmnTaskDictionary\";\r\nimport { BpmnTaskUser } from \"./components/BpmnTaskUserDictionary/BpmnTaskUserDictionary\";\r\nimport { ReferenceDictionary } from \"./components/ReferenceDictionary/ReferenceDictionary\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\ninterface SpecialReferencePropsType {\r\n \r\n mode?: any,\r\n jobId: any,\r\n selectedJob: any,\r\n referenceId?: any,\r\n endpoint?: any,\r\n processId?: any,\r\n onHide: () => void\r\n\r\n}\r\n\r\nexport const SpecialReference = ({\r\n\r\n selectedJob,\r\n jobId,\r\n referenceId,\r\n endpoint,\r\n processId,\r\n onHide,\r\n\r\n}: SpecialReferencePropsType) => {\r\n\r\n\r\n const [response , setResponse] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n const [mode, setMode] = useState(\"create\");\r\n const [bpmnTask, setBpmnTask] = useState();\r\n const [bpmnTaskUser, setBpmnTaskUser] = useState();\r\n const [referrerList, setReferrerList] = useState([]);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [fromDate, setFromDate] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\nasync function ReferenceAndActionsasync(jobId) {\r\n setLoading(false)\r\n try {\r\n // const res = await GetReferencesActions(jobId )\r\n // setResponse(res.Data)\r\n } catch (error) {\r\n setResponse([])\r\n }\r\n setLoading(true)\r\n\r\n}\r\n\r\n\r\nconst handleSubmitedData = async(event) => {\r\n event.preventDefault()\r\n let newreferrerList:any = []\r\n if(referrerList.length ==0){\r\n newreferrerList.push({\r\n PerformerPositionDescription : selectedJob.Performer,\r\n PerformerPositionId : selectedJob.PerformerPositionId,\r\n ReferenceId : selectedJob.ReferenceId ,\r\n\r\n })\r\n }else{\r\n newreferrerList = referrerList\r\n }\r\n try { \r\n if(newreferrerList.length > 0){\r\n\r\n let refrencList:any = newreferrerList.map(referrer=>{\r\n let obj:any={}\r\n obj.ParentReferenceId = referrer.ReferenceId \r\n obj.JobId = jobId\r\n obj.TAS_UID = bpmnTask.Id\r\n obj.PerformerPositionId = bpmnTaskUser.Id\r\n obj.ReferrerPositionId = referrer?.PerformerPositionId\r\n obj.ReferenceSubjectId = event.target?.referenceSubject.value\r\n obj.Description = event.target?.description.value\r\n obj.Priority = +event.target?.priority.value\r\n obj.EstimateTime = +event.target?.estimateTime[0].value\r\n obj.DeadLineDate = fromDate\r\n obj.HasFollowUp = event.target?.hasFollowUp.checked\r\n obj.SecretReference = event.target?.secretReference.checked\r\n obj.AssignType = 0\r\n \r\n return {Reference:obj, SendMessageToPerformer:event.target?.sendMessageToPerformer.checked}\r\n }) \r\n \r\n const res = await postReferences(refrencList ,endpoint);\r\n }\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide()\r\n } catch (error) {\r\n\r\n }\r\n \r\n}\r\n\r\n\r\nconst handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\nuseEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n}, [userChanges]);\r\n\r\n useEffect( () => {\r\n ReferenceAndActionsasync(jobId)\r\n \r\n }, [jobId]);\r\n\r\n\r\n \r\n\r\n return(\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n\r\n {setUserChanges({...userChanges , ...e})}}\r\n processId={processId}\r\n value={\"\"}\r\n required={true}\r\n mode={mode}\r\n setBpmnTask={setBpmnTask}\r\n />\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {(bpmnTaskUser&&bpmnTask) && <>\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {/* DV */}\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n type='SelectBox'\r\n name='priority'\r\n label='priority'\r\n enumTypeSelect=\"priority\"\r\n value={ null}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n onOpenPickNewDate={false}\r\n lable='DeadLineDate'\r\n resetForm={resetForm}\r\n type='date'\r\n setIsoTime={(isoTime: string) => { setFromDate(isoTime) }}\r\n val={null}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n name=\"estimateTime\"\r\n IdString=\"estimateTime\"\r\n resetForm={resetForm}\r\n defaultValue={0}\r\n label=\"estimateTime\"\r\n \r\n />\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n type='checkbox'\r\n labelText='HasFollowUp'\r\n defaultChecked={ false}\r\n inputName='hasFollowUp'\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n type='checkbox'\r\n labelText='SecretReference'\r\n defaultChecked={ false}\r\n inputName='secretReference'\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"textarea\"\r\n textboxName=\"description\"\r\n resetForm={resetForm}\r\n defaultValue={bpmnTask.Value ?bpmnTask.Value :\"\"}\r\n labelText=\"Description\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"text\"\r\n textboxName=\"position\"\r\n resetForm={resetForm}\r\n defaultValue={ \"\"}\r\n labelText=\"Position\"\r\n mode={'view'}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n }\r\n
\r\n
\r\n \r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\n\r\nexport const postReferences = (reference: any ,endpoint) => http({\r\n method: 'post',\r\n url: endpoint.postReferenceList,\r\n \r\n data: reference,\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getDeviceDeliverie = (pageNumber: number, pageSize: number, searchString, orderBy, filterlist ) => http({\r\n url: ENDPOINTS.afterSalesApi.DeviceDelivery.browse,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getDeviceDeliveryById = (id) => http({\r\n url: ENDPOINTS.afterSalesApi.DeviceDelivery.load,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n\r\n params: {\r\n Id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const postDeviceDelivery = (data ,method) => http({\r\n url: ENDPOINTS.afterSalesApi.DeviceDelivery.browse,\r\n method: method,\r\n data:data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getAllDeviceProperties = (async (deviceDeliveryId) => await http({\r\n url: ENDPOINTS.afterSalesApi.deviceProperty.list,\r\n method: 'get',\r\n params:{\r\n deviceDeliveryId:deviceDeliveryId\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n)\r\n","import { useEffect, useState } from \"react\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { getAllDeviceProperties } from \"../api\";\r\n\r\ninterface DevicePropertyValueListPropsType {\r\n mode: any,\r\n deviceDeliveryId: any,\r\n DevicePropertyValueDataListProp: [],\r\n DevicePropertyValueDataListCallback: (ans: []) => void,\r\n onHide: () => void,\r\n}\r\nexport const DevicePropertyValueList = ({mode, deviceDeliveryId=null,onHide,DevicePropertyValueDataListCallback, DevicePropertyValueDataListProp }: DevicePropertyValueListPropsType) => {\r\n\r\n const [response, setResponse] = useState(null);\r\n const [resetForm, setResetForm] = useState(false);\r\n\r\n const [loading, setLoading] = useState(false);\r\n\r\n \r\n const submitHandler =(e)=>{\r\n e.preventDefault()\r\n let data:any =[]\r\n response.map((item , index)=>{\r\n data.push({\r\n \"Sequence\": index,\r\n \"DevicePropertyId\": item.Id,\r\n \"PropertyValue\": item.PropertyType==4 ? e.target[item.Id]?.checked+\"\": e.target[item.Id]?.value \r\n })\r\n\r\n\r\n })\r\n DevicePropertyValueDataListCallback(data)\r\n\r\n onHide()\r\n }\r\n\r\n async function getAllDevicePropertiesAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getAllDeviceProperties(deviceDeliveryId);\r\n setResponse(res.Data);\r\n // setMessageType(\"info\")\r\n } catch (error) {\r\n // setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n useEffect(() => {\r\n getAllDevicePropertiesAsync()\r\n }, [ deviceDeliveryId]);\r\n\r\n return (\r\n
\r\n
\r\n {loading ? \r\n
\r\n {response?.map(item=>(\r\n \r\n
\r\n\r\n \r\n {\r\n {\r\n 1: (\r\n \r\n ),\r\n 2: (\r\n \r\n ),\r\n 3: ( \r\n \r\n \r\n ),\r\n 4: (\r\n <>\r\n
\r\n \r\n
\r\n \r\n )\r\n }[item.PropertyType]\r\n \r\n }
\r\n\r\n \r\n )) }\r\n
\r\n :\r\n } \r\n { mode !=\"view\" &&\r\n
\r\n
\r\n } \r\n \r\n \r\n\r\n
\r\n );\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CustomerPositionDictionary } from \"components/CustomerPosition/CustomerPosition\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { FollowupPositionId } from \"components/FollowupPositionId/FollowupPositionId\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { DevicePropertyValueList } from \"./DevicePropertyValues/DevicePropertyValues\";\r\nimport { getDeviceDeliveryById, postDeviceDelivery } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\ninterface props {\r\n mode?: any,\r\n onHide: () => void,\r\n reload: () => void,\r\n Id?: any,\r\n step?: any,\r\n\r\n}\r\n\r\nexport const DeviceDeliveryForm = ({ step = 1, mode = \"create\", onHide, reload,Id }: props) => {\r\n const layoutContext = useContext(LayoutContext);\r\n const [DeviceDeliveryDate, setDeviceDeliveryDate] = useState();\r\n const [DeviceDelivery, setDeviceDelivery] = useState();\r\n const [resetForm, setResetForm] = useState(false);\r\n const [showStep, setShowStep] = useState({});\r\n const [position, setPosition] = useState(null);\r\n const [ReceivedTime, setReceivedTime] = useState(null);\r\n const [showProperties, setShowProperties] = useState(false);\r\n const [devicePropertyValue, setDevicePropertyValue] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleSubmit = async(event) => { \r\n event.preventDefault()\r\n if (mode === \"edit\") {\r\n let data = {\r\n \"Id\": DeviceDelivery.Id,\r\n \"CustomerPositionId\": DeviceDelivery.CustomerPositionId,\r\n \"PhoneToFollowUp\": DeviceDelivery.PhoneToFollowUp,\r\n \"DelivereePerson\": DeviceDelivery.DelivereePerson,\r\n \"ReceivedByPositionId\": DeviceDelivery.ReceivedByPositionId,\r\n \"ReceivedTime\": DeviceDelivery.ReceivedTime,\r\n \"ReceiverDescription\": DeviceDelivery.ReceiverDescription,\r\n \"ReceiverPerson\": event.target.ReceiverPerson.value,\r\n \"DeliveredByPositionId\": event.target.DeliveredByPositionId.value,\r\n \"DeliveredTime\": new Date().toISOString(),\r\n \"DeliverDescription\": event.target.DeliverDescription.value,\r\n \"PermissionExitPositionId\": event.target.PermissionExitPositionId.value,\r\n }\r\n sendDataAsync(data, \"put\");\r\n } else {\r\n let data = {\r\n DeviceDelivery:{\r\n \"CustomerPositionId\": event.target.CustomerPositionId.value,\r\n \"PhoneToFollowUp\": event.target.PhoneToFollowUp.value,\r\n \"DelivereePerson\": event.target.DelivereePerson.value,\r\n \"ReceivedByPositionId\": event.target.ReceivedByPositionId.value,\r\n \"ReceivedTime\":new Date().toISOString(),\r\n \"ReceiverDescription\": event.target.ReceiverDescription.value,\r\n },\r\n DevicePropertyValues:devicePropertyValue\r\n }\r\n\r\n sendDataAsync(data, \"post\");\r\n }\r\n \r\n }\r\n async function sendDataAsync(data, method) {\r\n try {\r\n let res = await postDeviceDelivery(data, method);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide();\r\n reload();\r\n } catch (err: any) {\r\n\r\n }\r\n }\r\n async function getDeviceDeliveryAsync() {\r\n setLoading(false)\r\n try {\r\n if(Id){\r\n const res = await getDeviceDeliveryById(Id);\r\n // setDeviceDeliveryDate(res.Data.DeviceDeliveryDate)\r\n setDeviceDelivery(res.Data)\r\n\r\n }\r\n } catch (err: any) {\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n function submitDevicePropertyValueList (e:any) {\r\n setDevicePropertyValue(e);\r\n setUserChanges({...userChanges , \"DevicePropertyValues\":e})\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // onHide();\r\n\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide();\r\n\r\n });\r\n }else{\r\n onHide(); \r\n };\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n\r\n if (Id &&(step!=1||mode!=\"create\" )) {\r\n getDeviceDeliveryAsync();\r\n }else{\r\n setLoading(true)\r\n }\r\n }, [Id]);\r\n\r\n return (\r\n <>\r\n {showProperties && \r\n setShowProperties(false)}\r\n show={showProperties}\r\n title=\"deviceproperties\"\r\n >\r\n { submitDevicePropertyValueList(e)}}\r\n DevicePropertyValueDataListProp={devicePropertyValue}\r\n onHide={() => setShowProperties(false)}\r\n deviceDeliveryId={(step!=1||mode!=\"create\" )? Id:null}\r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n
\r\n \r\n }\r\n\r\n\r\n {loading ? \r\n <>\r\n
\r\n
\r\n
1 ) && \"card\"} card mb-3 `}>\r\n {(step > 1 ) &&\r\n
\r\n
{trans(\"DeviceReception\")}
\r\n
{ showStep[1] ? setShowStep({ ...showStep, 1: false }) : setShowStep({ ...showStep, 1: true }) }} >{showStep[1] ? : }
\r\n
\r\n }\r\n \r\n
\r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n lable=\"ReceivedTime\"\r\n setIsoTime={(isoTime: string) => { setReceivedTime(isoTime); }}\r\n val={ mode==\"create\" ? new Date().toISOString() : DeviceDelivery?.ReceivedTime } //resetForm ? new Date().toISOString() : \r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n />\r\n
\r\n }\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n onChange={setPosition}\r\n name=\"CustomerPositionId\"\r\n required={true}\r\n label=\"CustomerPosition\"\r\n mode={step > 1 ? \"view\" : mode}\r\n value={mode == \"create\" ?(null ): DeviceDelivery?.CustomerPositionId}\r\n resetForm={resetForm}\r\n\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"DelivereePerson\"\r\n labelText=\"DelivereePerson\"\r\n resetForm={resetForm}\r\n defaultValue={DeviceDelivery?.DelivereePerson}\r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"mobile\"\r\n textboxName=\"PhoneToFollowUp\"\r\n labelText=\"PhoneToFollowUp\"\r\n resetForm={resetForm}\r\n defaultValue={DeviceDelivery?.PhoneToFollowUp}\r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n name=\"ReceivedByPositionId\"\r\n label=\"ReceivedByPosition\"\r\n mode={step > 1 ? \"view\" : mode}\r\n value={mode == \"create\" ? null : DeviceDelivery?.ReceivedByPositionId}\r\n resetForm={resetForm}\r\n\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultValue={DeviceDelivery?.ReceiverDescription}\r\n textboxName=\"ReceiverDescription\"\r\n labelText=\"ReceiverDescription\"\r\n textboxType=\"textarea\"\r\n minHeight={mode === \"view\" ? 2 : 3}\r\n resetForm={resetForm}\r\n mode={step > 1 ? \"view\" : mode}\r\n />\r\n
\r\n
\r\n {setShowProperties(true)}}\r\n /> \r\n
\r\n
\r\n
\r\n \r\n
\r\n {(step == 2 ) &&\r\n
\r\n
\r\n
{trans(\"DeviceRelease\")}
\r\n
{ showStep[2] ? setShowStep({ ...showStep, 2: false }) : setShowStep({ ...showStep, 2: true }) }}>{showStep[2] ? : }
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"ReceiverPerson\"\r\n labelText=\"ReceiverPerson\"\r\n resetForm={resetForm}\r\n defaultValue={DeviceDelivery?.ReceiverPerson}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n name=\"DeliveredByPositionId\"\r\n label=\"DeliveredByPosition\"\r\n required={true}\r\n mode={mode}\r\n value={DeviceDelivery?.DeliveredByPositionId}\r\n resetForm={resetForm}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n name=\"PermissionExitPositionId\"\r\n label=\"PermissionExitPosition\"\r\n mode={mode}\r\n value={mode == \"create\" ?( layoutContext.currentUserPosition.PositionId ): DeviceDelivery?.PermissionExitPositionId}\r\n resetForm={resetForm}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultValue={DeviceDelivery?.DeliverDescription}\r\n textboxName=\"DeliverDescription\"\r\n labelText=\"DeliverDescription\"\r\n textboxType=\"textarea\"\r\n minHeight={1}\r\n resetForm={resetForm}\r\n mode={'create'}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n {mode != \"view\" ? (\r\n <>\r\n
\r\n
\r\n
\r\n \r\n :}\r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getAllCustomerGeneralRequestClassification = (async (searchString, orderBy) => await http({\r\n url: ENDPOINTS.afterSalesApi.CustomerGeneralRequestClassification.browse,\r\n method: 'get',\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy\r\n }\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\nexport const getCustomerGeneralRequestClassificationn = (async (id) => await http({\r\n url: ENDPOINTS.afterSalesApi.CustomerGeneralRequestClassification.load,\r\n method: 'get',\r\n params: { Id: id }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const postCustomerGeneralRequestClassification = (data) => http({\r\n url: ENDPOINTS.afterSalesApi.CustomerGeneralRequestClassification.browse,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n\r\nexport const putCustomerGeneralRequestClassification = (data) => http({\r\n url: ENDPOINTS.afterSalesApi.CustomerGeneralRequestClassification.browse,\r\n method: 'put',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\nexport const deleteCustomerGeneralRequestClassification = (id) => http({\r\n url: ENDPOINTS.afterSalesApi.CustomerGeneralRequestClassification.browse,\r\n method: 'delete',\r\n params: {\r\n Id: id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getAllDeviceProperties = (async (pageNum, pageSize , searchString, orderBy ,filterlist) => await http({\r\n url: ENDPOINTS.afterSalesApi.deviceProperty.browse,\r\n method: 'get',\r\n params: {\r\n searchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString:filterlist,\r\n PageSize: pageSize,\r\n PageNumber: pageNum,\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n)\r\n\r\n\r\nexport const postDeviceProperties = (data) => http({\r\n url: ENDPOINTS.afterSalesApi.deviceProperty.browse,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n\r\nexport const putDeviceProperties = (data) => http({\r\n url: ENDPOINTS.afterSalesApi.deviceProperty.browse,\r\n method: 'put',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\nexport const deleteDevicePropertie = (id) => http({\r\n url: ENDPOINTS.afterSalesApi.deviceProperty.browse,\r\n method: 'delete',\r\n params: {\r\n id: id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\nexport const getProperty = (id) => http({\r\n url: ENDPOINTS.afterSalesApi.deviceProperty.load,\r\n method: 'get',\r\n params: {\r\n Id: id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getAllPaymentCoverageType = (async (searchString, orderBy) => await http({\r\n url: ENDPOINTS.afterSalesApi.PaymentCoverageType.browse,\r\n method: 'get',\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy\r\n }\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\nexport const getPaymentCoverageTypen = (async (id) => await http({\r\n url: ENDPOINTS.afterSalesApi.PaymentCoverageType.load,\r\n method: 'get',\r\n params: { Id: id }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const postPaymentCoverageType = (data) => http({\r\n url: ENDPOINTS.afterSalesApi.PaymentCoverageType.browse,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n\r\nexport const putPaymentCoverageType = (data) => http({\r\n url: ENDPOINTS.afterSalesApi.PaymentCoverageType.browse,\r\n method: 'put',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\nexport const deletePaymentCoverageType = (id) => http({\r\n url: ENDPOINTS.afterSalesApi.PaymentCoverageType.browse,\r\n method: 'delete',\r\n params:{\r\n Id:id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getAllServiceRequestClassifications = (async (searchString, orderBy) => await http({\r\n url: ENDPOINTS.afterSalesApi.customerServiceRequestClassification.browse,\r\n method: 'get',\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n)\r\n\r\nexport const getServiceRequestClassificationsn = (async (id) => await http({\r\n url: ENDPOINTS.afterSalesApi.customerServiceRequestClassification.load,\r\n method: 'get',\r\n params: { Id: id }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const postServiceRequestClassifications = (data) => http({\r\n url: ENDPOINTS.afterSalesApi.customerServiceRequestClassification.browse,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n\r\nexport const putServiceRequestClassifications = (data) => http({\r\n url: ENDPOINTS.afterSalesApi.customerServiceRequestClassification.browse,\r\n method: 'put',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\nexport const deleteServiceRequestClassification = (id) => http({\r\n url: ENDPOINTS.afterSalesApi.customerServiceRequestClassification.browse,\r\n method: 'delete',\r\n params: {\r\n Id: id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getEvets = () => http({\r\n url: ENDPOINTS.Widget.weekEvents,\r\n method: 'get'\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n});\r\n\r\nexport const getpersonalTask = () => http({\r\n url: ENDPOINTS.Widget.personalTask,\r\n method: 'get'\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n});\r\n\r\nexport const getDayInfo = () => http({\r\n url: ENDPOINTS.Widget.dayInfo,\r\n method: 'get'\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n});\r\nexport const getBords = (pageSize ,pageNum) => http({\r\n url: ENDPOINTS.Widget.bords,\r\n method: 'get',\r\n params:{\r\n PageSize: pageSize ,\r\n PageNumber: pageNum\r\n }\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n});\r\nexport const dayMessageAsync = () => http({\r\n url: ENDPOINTS.Widget.dayMessage,\r\n method: 'get',\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const getWidgetList = (IsPublic) => http({\r\n url: ENDPOINTS.Widget.widgetListName,\r\n method: 'get',\r\n params:{\r\n IsPublic:IsPublic\r\n }\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const getSalesInfo = () => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Widget.SaleWidget,\r\n method: 'get',\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\"\r\nimport { useContext } from \"react\"\r\nimport { Link } from \"react-router-dom\"\r\nimport { trans } from \"utils/helpers\"\r\nimport './style.scss'\r\n\r\ninterface props {\r\n title: string\r\n icon: any\r\n id: string\r\n color?: 'primary' | 'danger' | 'success' | 'info' | 'secondary' | 'white' | 'customerPrimaryColor'\r\n children?: React.ReactNode\r\n removable?: boolean\r\n url?: string\r\n fullScreen?: boolean\r\n}\r\n\r\nexport const Widget = ({title, icon, children, removable=true, id, color='white', url, fullScreen=false}: props) => {\r\n let savedWidgets = JSON.parse(localStorage.getItem('widgetList') as string) \r\n const layoutContext = useContext(LayoutContext);\r\n\r\n\r\n const handleRemoveWidget = () => {\r\n if(savedWidgets !== null){\r\n savedWidgets[id] = false\r\n localStorage.setItem('widgetList', JSON.stringify(savedWidgets))\r\n layoutContext.setWidgetFormFlag(!layoutContext.widgetFormFlag)\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {trans(title)}\r\n
\r\n
\r\n {url && \r\n \r\n \r\n \r\n }\r\n {removable && savedWidgets !== null && }\r\n
\r\n
\r\n
\r\n {children}\r\n
\r\n
\r\n
\r\n \r\n \r\n )\r\n}","import \"./style.scss\";\r\n\r\n\r\ninterface Prop {\r\n img: string,\r\n handleClickSlider: (e) => void,\r\n id: string,\r\n alone?: boolean,\r\n handleDownloadTrigger:(e)=>void\r\n fileName:string\r\n\r\n}\r\n\r\nexport const CardBoxAttachment = ({ alone=false ,img, handleClickSlider, id,handleDownloadTrigger, fileName }: Prop) => {\r\n \r\n\r\n \r\n\r\n\r\n\r\n return (\r\n <>\r\n {alone ?\r\n
{e.isPropagationStopped(); handleClickSlider(e)}} >\r\n \r\n \r\n {/*
\r\n {fileName}\r\n
*/}\r\n
\r\n :\r\n
{e.isPropagationStopped(); handleClickSlider(e)}} >\r\n \r\n\r\n {/*
\r\n {fileName}\r\n
*/}\r\n
\r\n \r\n \r\n }\r\n \r\n )\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Fileviewer } from \"components/Fileviewer/Fileviewer\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\n\r\nimport { CardBoxAttachment } from \"pages/Secretariats/Archive/ArchiveTree/components/AttachmentViewer/CardBoxAttachment/CardBoxAttachment\";\r\nimport { getDownloadUrlAttachmentAsync, loadAttachmentViewer, loadAttachmentViewerBase64 } from \"./api\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { STORAGE_URL } from \"utils/constants\";\r\n\r\ninterface props {\r\n ownerId?: string\r\n listAttachment?: any\r\n endpoint?: any\r\n showDownLoad?:boolean\r\n \r\n}\r\nexport const AttachmentViewer = ({showDownLoad=true,ownerId ,listAttachment,endpoint=null,}: props) => {\r\n\r\n\r\n const [load, setLoad] = useState();\r\n const [fileName, setFileName] = useState< any>();\r\n const [index, setIndex] = useState();\r\n const [showFile, setShowFile] = useState(false);\r\n const [loadingFile, setLoadingFile] = useState(false);\r\n const [showAloneAttach, setShowAloneAttach] = useState(false);\r\n const [file, setFile] = useState();\r\n\r\n const layoutContext = useContext(LayoutContext); \r\n\r\n\r\n async function getFileAsync(id , name) {\r\n try { \r\n let res = await getDownloadUrlAttachmentAsync(id);\r\n console.log(\"res\" ,res)\r\n const a = document.createElement('a');\r\n a.style.display = 'none';\r\n // var bb = new Blob([res], {type: 'text/plain'}); \r\n a.href = window.URL.createObjectURL(res) \r\n a.download = name;\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n\r\n\r\n function handleSlider(obj , i) {\r\n setIndex(i);\r\n setFileName(obj.FileName);\r\n setFile(obj);\r\n loadAttachmentViewerAsync(obj.Id);\r\n if(layoutContext.sidebarIsOpen){\r\n layoutContext.toggleSidebar();\r\n\r\n }\r\n setShowFile(true)\r\n }\r\n\r\n\r\n async function loadAttachmentViewerAsync(e) {\r\n setLoadingFile(false)\r\n try {\r\n const res:any = await loadAttachmentViewerBase64(e ,endpoint);\r\n setLoad(res);\r\n if(listAttachment.length ==1)setShowAloneAttach(true)\r\n setLoadingFile(true)\r\n return res\r\n\r\n } catch (error) {\r\n setLoadingFile(true)\r\n setLoad(\" \")\r\n return \" \"\r\n }\r\n\r\n }\r\n\r\n function next() {\r\n setShowFile(false)\r\n if(index+1 ==listAttachment?.length ){\r\n handleSlider(listAttachment[0] , 0)\r\n }else{\r\n handleSlider(listAttachment[index+1] , index+1)\r\n }\r\n setShowFile(true)\r\n }\r\n\r\n function prev() {\r\n setShowFile(false)\r\n if(index ==0 ){\r\n handleSlider(listAttachment[listAttachment?.length-1] , listAttachment?.length-1)\r\n }else{\r\n handleSlider(listAttachment[index-1] , index-1)\r\n }\r\n setShowFile(true)\r\n }\r\n\r\n useEffect(() => {\r\n if(listAttachment.length ==1){\r\n setFileName(listAttachment[0].FileName);\r\n setFile(listAttachment[0]);\r\n loadAttachmentViewerAsync(listAttachment[0]?.Id);\r\n }\r\n }, [ listAttachment]);\r\n\r\n return (\r\n <> \r\n\r\n\r\n {showFile &&\r\n <>\r\n
\r\n
\r\n
\r\n {setShowFile(false);document.getElementById(\"backScreen\")?.remove()}} size=\"3x\" color='white' icon={['fas', 'times']} style={{zIndex:\"9999\" , cursor: 'pointer' , position:\"absolute\" }}/>\r\n {getFileAsync(file.Id ,file.FileName )}} size=\"2x\" color='white' icon={['fas', 'download']} style={{zIndex:\"9999\" , cursor: 'pointer' , position:\"absolute\" ,marginRight:\"50px\" }}/>\r\n
\r\n
\r\n
{next()}} style={{right:\"0\", height:\"100vh\", position: \"absolute\" , flexDirection: \"column\" , display:\"flex\" , justifyContent:\"center\" , margin:\"30px\"}}>
\r\n \r\n
{prev()}} style={{left:\"0\", height:\"100vh\", position: \"absolute\", flexDirection: \"column\" , display:\"flex\" , justifyContent:\"center\" , margin:\"30px\"}}>
\r\n
\r\n
\r\n \r\n }\r\n
\r\n
\r\n
\r\n {listAttachment && listAttachment?.length > 1 ?\r\n <>\r\n
\r\n {listAttachment.map((item , index) => (\r\n {handleSlider(item , index)} } id={item.Id}\r\n fileName={item.FileName} handleDownloadTrigger={(e)=>{e.preventDefault() ; getFileAsync(item.Id ,\"\" )} }/>\r\n ))}\r\n
\r\n \r\n :<> \r\n {showAloneAttach&&\r\n <>\r\n {loadingFile?\r\n
\r\n \r\n
\r\n :\r\n \r\n }\r\n \r\n } \r\n \r\n }\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\n\r\n\r\n\r\n","import { Loading } from 'components/Loading/loading';\r\nimport { useEffect, useState } from 'react';\r\nimport { AttachmentViewer } from './AttachmentViewer';\r\nimport { getAttachmentViewers } from './api';\r\nimport './style.scss';\r\n\r\n\r\ninterface props {\r\n bordData: any\r\n}\r\n\r\n\r\nexport const WidgetBoardDetail = ({bordData}:props) => {\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [response, setResponse] = useState();\r\n\r\n async function getAttachmentViewersAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getAttachmentViewers(bordData.Id )\r\n setResponse(res.Data ) \r\n } catch (error:any) {\r\n \r\n }\r\n setLoading(true)\r\n }\r\n\r\n useEffect(() => {\r\n if(bordData?.Id){\r\n getAttachmentViewersAsync()\r\n }\r\n }, [ bordData]);\r\n\r\n\r\n return (\r\n <>\r\n {loading ?\r\n <>\r\n
\r\n
{bordData.Title}
\r\n

\r\n

\r\n
\r\n
\r\n
\r\n

\r\n {response?.Link && \r\n {response?.Link}\r\n }\r\n
\r\n {response &&response?.BulletinBoardAttachments?.length >0 ?\r\n <>\r\n \r\n \r\n :<> \r\n }\r\n \r\n : \r\n }\r\n \r\n )\r\n}","import { Widget } from 'components/Widget/Widget';\r\nimport { LayoutContext } from 'layouts/DashboardLayout/context/LayoutContext';\r\nimport { getBords } from 'pages/DashboardPage/api/api';\r\nimport { useContext, useEffect, useState } from 'react';\r\nimport Carousel from 'react-bootstrap/Carousel';\r\nimport { trans } from 'utils/helpers';\r\n\r\nimport { ModalForm } from 'components/ModalForm/ModalForm';\r\nimport './style.scss';\r\nimport { WidgetBoardDetail } from './WidgetBoardDetail';\r\nimport { GUID_EMPTY } from 'utils/constants';\r\n\r\n\r\ninterface props {\r\n id: string\r\n}\r\n\r\n\r\nexport const WidgetBoard = ({id}:props) => {\r\n const [index, setIndex] = useState(0);\r\n const [pages, setPages] = useState(1);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(3);\r\n const [response, setResponse] = useState();\r\n const [bordSelected, setBordSelected] = useState();\r\n const [showBord, setShowBord] = useState(false);\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n\r\n\r\n\r\n async function getBordsAsync(pageSi = pageSize){\r\n try {\r\n const res = await getBords(pageSi ,pageNum)\r\n setPages( res.Data.TotalRecords > pageSi ? Math.ceil(res.Data.TotalRecords / pageSi) : 1)\r\n setResponse(res.Data.Data)\r\n \r\n } catch (error) {\r\n \r\n }\r\n }\r\n async function startBords(){\r\n try {\r\n const size = await getWidth()\r\n getBordsAsync(size)\r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n function getWidth(){\r\n let size = 0\r\n if(!layoutContext.sidebarIsOpen){\r\n if(window.innerWidth > 1440 ){\r\n setPageSize(4)\r\n size = 4\r\n }else if(window.innerWidth > 1076){\r\n setPageSize(3)\r\n size = 3\r\n }else if(window.innerWidth > 753){\r\n setPageSize(2)\r\n size = 2\r\n }else{\r\n setPageSize(1)\r\n size = 1\r\n }\r\n }else{\r\n if(window.innerWidth > 1753 ){\r\n setPageSize(4)\r\n size = 4\r\n }else if(window.innerWidth > 1347){\r\n setPageSize(3)\r\n size = 3\r\n }else if(window.innerWidth > 753){\r\n setPageSize(2)\r\n size = 2\r\n }else{\r\n setPageSize(1)\r\n size = 1\r\n }\r\n }\r\n return size\r\n }\r\n \r\n window.onresize = () => {\r\n getWidth()\r\n } \r\n\r\n useEffect(() => {\r\n getWidth()\r\n}, [ layoutContext.sidebarIsOpen]);\r\n useEffect(() => {\r\n startBords()\r\n\r\n}, [ pageNum]);\r\n\r\n\r\n const handleSelect = (selectedIndex) => {\r\n if(selectedIndex.target.className.includes(\"next\")){\r\n if(pageNum>1){\r\n setPageNum(pageNum-1) \r\n }else{\r\n setPageNum(pages) \r\n }\r\n }else if(selectedIndex.target.className.includes(\"prev\")){\r\n if(pageNum\r\n {(response&&response[0]?.Id !=GUID_EMPTY)&&\r\n \r\n
\r\n \r\n \r\n
\r\n {response && response.map((i, index) => (\r\n <>\r\n {(index < pageSize && i.Id !=GUID_EMPTY) && \r\n
\r\n
{i.Title }
\r\n

\r\n

\r\n {i.Thumbnail &&
{``}
} \r\n
1?'4':'5'}} className='widget-carousel__textBox' dangerouslySetInnerHTML={{__html:i.Description}}>
\r\n
\r\n

\r\n {setBordSelected(i);setShowBord(true)}}>{trans(\"ReadMore\")}\r\n
\r\n } \r\n \r\n ))\r\n }\r\n
\r\n
\r\n {pages>1&& new Array(pages-1).fill(\"item\").map((item,CarIndex)=>(\r\n\r\n \r\n
\r\n {response && response.map((i, index) => (\r\n <>\r\n {(index < pageSize && i.Id !=GUID_EMPTY) && \r\n
\r\n
{i.Title }
\r\n

\r\n

\r\n {i.Thumbnail &&
{``}
} \r\n
\r\n
\r\n

\r\n {setBordSelected(i);setShowBord(true)}}>{trans(\"ReadMore\")}\r\n
\r\n }\r\n \r\n ))\r\n }\r\n
\r\n
\r\n ))}\r\n\r\n
\r\n
\r\n
\r\n }\r\n {showBord && \r\n setShowBord(false)} show={showBord}>\r\n \r\n \r\n \r\n }\r\n \r\n )\r\n}","import { Widget } from 'components/Widget/Widget'\r\nimport { getEvets } from 'pages/DashboardPage/api/api'\r\nimport { useContext, useEffect, useState } from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport './style.scss'\r\nimport { LayoutContext } from 'layouts/DashboardLayout/context/LayoutContext'\r\nimport { OrganizationType } from 'types/enum'\r\n\r\n\r\ninterface props {\r\n id: string\r\n}\r\n\r\nexport const WidgetCalendar = ({id}:props) => {\r\n const [events, setevents] = useState()\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n async function getEvetsAsync() {\r\n try {\r\n const res = await getEvets()\r\n setevents(res.Data) \r\n } catch (error) {\r\n setevents([])\r\n }\r\n }\r\n useEffect(() => {\r\n if(layoutContext?.currentUserPosition?.OrganizationType!=OrganizationType.Customers)\r\n getEvetsAsync()\r\n }, [])\r\n return (\r\n <>\r\n {(events&&events.length > 0)&&\r\n\r\n \r\n
\r\n
    \r\n {events ?\r\n <>\r\n {events.length > 0 ?\r\n <>\r\n {\r\n events.map((item, index) => (\r\n
    \r\n \r\n
  • {item.Description}
  • \r\n \r\n \r\n

    {item.CalendarEventTime}

    \r\n \r\n\r\n
    \r\n ))\r\n }\r\n \r\n :\r\n <>\r\n\r\n }\r\n \r\n :\r\n
    \r\n
    \r\n
    \r\n }\r\n
\r\n
\r\n
\r\n }\r\n \r\n )\r\n}","import { Widget } from \"components/Widget/Widget\";\r\nimport { getDayInfo } from \"pages/DashboardPage/api/api\";\r\nimport { useState, useEffect, useRef } from \"react\"\r\nimport { dateConverter, trans } from \"utils/helpers\";\r\nimport \"./style.scss\"\r\n\r\nconst days = [\"شنبه\", \"یکشنبه\", \"دوشنبه\", \"سه شنبه\", \"چهارشنبه\", \"پنجشنبه\", \"جمعه\"];\r\nconst engDays = ['Saturday', 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday']\r\nconst months = [\"فروردین\",\"اردیبهشت\",\"خرداد\",\"تیر\",\"مرداد\",\"شهریور\",\"مهر\",\"آبان\",\"آذر\",\"دی\",\"بهمن\",\"اسفند\"]\r\n\r\ninterface props {\r\n id: string\r\n}\r\n\r\nexport const WidgetClock = ({id}:props) => {\r\n const today = new Date()\r\n\r\n const [hours, setHours] = useState(0);\r\n const [minutes, setMinutes] = useState(0);\r\n const [seconds, setSeconds] = useState(0);\r\n const secondsRef = useRef(new Date().getSeconds());\r\n const minutesRef = useRef(0);\r\n const hoursRef = useRef(0);\r\n\r\n const [events, setevents] = useState()\r\n \r\n const persianDate = dateConverter(today.getFullYear(), today.getMonth() + 1, today.getDate())\r\n const engDayName = engDays[today.getDay()+1];\r\n const engDayIndex = engDays.findIndex(day => day === engDayName)\r\n \r\n const [currentDay, setcurrentDay] = useState(days.find((day, index) => index === engDayIndex));\r\n const currentMonth = months.find((month, index) => index+1 === persianDate[1])\r\n const currentYear = persianDate[0]\r\n\r\n\r\n async function getDayInfoAsync() {\r\n try {\r\n const res = await getDayInfo()\r\n secondsRef.current = new Date().getSeconds()\r\n setHours(res.Data.HourNo)\r\n setMinutes(res.Data.MinuteNo)\r\n minutesRef.current = res.Data.MinuteNo\r\n hoursRef.current = res.Data.HourNo\r\n setcurrentDay(res.Data.Weekday)\r\n setevents(res.Data)\r\n \r\n } catch (error) {\r\n setevents({})\r\n\r\n }\r\n }\r\n\r\n\r\n useEffect(() => {\r\n getDayInfoAsync()\r\n }, [])\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n setInterval(() => {\r\n \r\n if(+secondsRef.current == 59 ||+secondsRef.current >=59 ){\r\n setSeconds(0)\r\n secondsRef.current=0\r\n minutesRef.current += 1\r\n setMinutes(+minutesRef.current)\r\n if(+minutesRef.current == 59 ||+minutesRef.current>=60 ){\r\n setMinutes(0)\r\n minutesRef.current = 0\r\n hoursRef.current +=1\r\n setHours(+hoursRef.current)\r\n if(+hoursRef.current==23){\r\n hoursRef.current = 0\r\n setHours(0)\r\n } \r\n }\r\n \r\n }\r\n secondsRef.current +=1\r\n setSeconds(secondsRef.current )\r\n\r\n }, 1000);\r\n }, []);\r\n\r\n\r\n return (\r\n \r\n {events ?\r\n <>{\r\n events.HourNo ?\r\n <>\r\n
\r\n
\r\n {\" \"+trans(\"today\")+ \" \" } {trans(currentDay)}\r\n {events.DayInfo}\r\n \r\n
\r\n
\r\n {seconds < 10 ?`0${seconds}`: seconds} :\r\n {minutes< 10 ?`0${minutes}`: minutes} :\r\n {hours< 10 ?`0${hours}`: hours} \r\n
\r\n {events.CalendarEvents}\r\n
\r\n \r\n :\r\n <>\r\n }\r\n \r\n :\r\n
\r\n
\r\n
\r\n }\r\n
\r\n )\r\n}","import { Widget } from \"components/Widget/Widget\";\r\nimport { getProfile } from \"layouts/DashboardLayout/components/Header/component/profile/api\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { ProfileDTO } from \"types/types\";\r\nimport './style.scss';\r\n\r\ninterface props {\r\n id: string\r\n}\r\n\r\nexport const WidgetPositions = ({ id }: props) => {\r\n const [userPositions, setUserPositions] = useState([]);\r\n let layoutContext = useContext(LayoutContext);\r\n\r\n async function getProfileAsync() {\r\n try {\r\n const res: ProfileDTO = await getProfile();\r\n setUserPositions(res.ProfileList)\r\n \r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n function changeCurrentUserPosition(item) {\r\n layoutContext.setCurrentUserPosition(item);\r\n localStorage.removeItem(\"CurrentApplication\");\r\n\r\n sessionStorage.setItem(\"accept-data\", item.PositionId);\r\n }\r\n\r\n useEffect(() => {\r\n getProfileAsync()\r\n }, []);\r\n\r\n return (\r\n \r\n {userPositions?.length > 0 ?\r\n
\r\n
    \r\n {userPositions && userPositions.map(item => (\r\n
  • \r\n { changeCurrentUserPosition(item) }} to={\"/cartable/current\"}>\r\n {item.Description}\r\n \r\n
  • \r\n ))}\r\n
\r\n
:\r\n
\r\n
\r\n
\r\n }\r\n
\r\n )\r\n}","import { Widget } from \"components/Widget/Widget\"\r\nimport { dayMessageAsync } from \"pages/DashboardPage/api/api\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport './style.scss'\r\nimport { OrganizationType } from \"types/enum\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\n\r\ninterface props {\r\n id: string\r\n}\r\n\r\nexport const WidgetQuote = ({id}:props) => {\r\n\r\n const [dayMessage, setDayMessage] = useState([]);\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n \r\n async function getDayMessageAsync() {\r\n try {\r\n const res = await dayMessageAsync();\r\n if(res.Data){\r\n\r\n setDayMessage(res.Data) \r\n }else{\r\n\r\n setDayMessage({}) \r\n }\r\n\r\n } catch (error) {\r\n setDayMessage({}) \r\n }\r\n\r\n \r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n if(layoutContext?.currentUserPosition?.OrganizationType!=OrganizationType.Customers)\r\n getDayMessageAsync()\r\n }, []);\r\n\r\n\r\n\r\n return (\r\n <>\r\n {dayMessage?.Title && \r\n \r\n {dayMessage ? \r\n \r\n
\r\n \r\n {dayMessage.Title}\r\n
\r\n :\r\n
\r\n
\r\n
\r\n }\r\n
\r\n }\r\n \r\n )\r\n}","import { Widget } from 'components/Widget/Widget'\r\nimport { getpersonalTask } from 'pages/DashboardPage/api/api'\r\nimport { useEffect, useState } from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport './style.scss'\r\n\r\n\r\ninterface props {\r\n id: string\r\n}\r\n\r\nexport const MyOwnRequests = ({id}:props) => {\r\n const [Requests, setRequests] = useState(null)\r\n // async function getRequestsAsync() {\r\n // try {\r\n // const res = await getRequests()\r\n // setRequests(res) \r\n \r\n // } catch (error) {\r\n // setRequests([])\r\n // }\r\n // }\r\n // useEffect(() => {\r\n // getRequestsAsync()\r\n // }, [])\r\n return (\r\n <>\r\n {(Requests&&Requests.length >0) &&\r\n \r\n
\r\n
    \r\n {Requests ?\r\n <>\r\n {Requests.length > 0 ?\r\n <>\r\n {\r\n Requests.map((item, index) => (\r\n
    \r\n \r\n {/*
  • {item.Requests}
  • */}\r\n \r\n\r\n\r\n
    \r\n ))\r\n }\r\n \r\n :\r\n <>\r\n \r\n }\r\n \r\n :\r\n
    \r\n
    \r\n
    \r\n }\r\n
\r\n
\r\n
\r\n }\r\n \r\n )\r\n}","import { Widget } from \"components/Widget/Widget\";\r\nimport { getSalesInfo } from \"pages/DashboardPage/api/api\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\n\r\nimport { trans } from \"utils/helpers\";\r\n\r\ninterface props {\r\n id: string;\r\n}\r\n\r\nexport const WidgetSales = ({ id }: props) => {\r\n const [response, setResponse] = useState();\r\n const [progress1, setProgress1] = useState(0);\r\n const [progress2, setProgress2] = useState(0);\r\n\r\n async function getSalesInfoAsync() {\r\n try {\r\n const res = await getSalesInfo();\r\n setResponse(res.Data);\r\n\r\n //show 2 float number without rounding\r\n let monthly =\r\n ((res.Data.MonthlySale / res.Data.MonthlySaleTarget) * 100)\r\n .toString()\r\n .split(\".\")[0] +\r\n \".\" +\r\n ((res.Data.MonthlySale / res.Data.MonthlySaleTarget) * 100)\r\n .toString()\r\n .split(\".\")[1]\r\n .slice(0, 2);\r\n let yearly =\r\n ((res.Data.YearlySale / res.Data.YearlySaleTarget) * 100)\r\n .toString()\r\n .split(\".\")[0] +\r\n \".\" +\r\n ((res.Data.MonthlySale / res.Data.MonthlySaleTarget) * 100)\r\n .toString()\r\n .split(\".\")[1]\r\n .slice(0, 2);\r\n setProgress1(monthly);\r\n setProgress2(yearly);\r\n } catch (error) {\r\n // setResponse({});\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n getSalesInfoAsync();\r\n }, []);\r\n\r\n return (\r\n <>\r\n {response?.YearlySaleTarget != null &&\r\n response?.MonthlySaleTarget != null && (\r\n \r\n \r\n {response ? (\r\n <>\r\n
\r\n
\r\n
\r\n
{trans(\"monthlysale\")}
\r\n
{response.MonthlySaleTarget} / {response?.MonthlySale}
\r\n
\r\n
\r\n
{trans(\"MonthlyInvoiceCount\")}
\r\n
\r\n {response?.MonthlyInvoiceCount}\r\n
\r\n
\r\n {response?.MonthlySaleTarget && (\r\n \r\n {response?.MonthlyTitle}\r\n \r\n }\r\n >\r\n
\r\n \r\n {trans(\"monthlysaletargetpercent\")}\r\n \r\n 50 && progress1 <= 75\r\n ? \"warning\"\r\n : progress1 > 75 && progress1 <= 100\r\n ? \"primary\"\r\n : \"success\"\r\n }\r\n label={progress1 + \"%\"}\r\n now={+progress1}\r\n />\r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
{trans(\"Yearlysale\")}
\r\n
{response.YearlySaleTarget} / {response?.YearlySale}
\r\n
\r\n
\r\n
{trans(\"YearlyInvoiceCount\")}
\r\n
\r\n {response?.YearlyInvoiceCount}\r\n
\r\n
\r\n\r\n {response?.YearlySaleTarget && (\r\n \r\n {response.YearlyTitle}\r\n \r\n }\r\n >\r\n
\r\n \r\n {trans(\"yearlysaletargetpercent\")}\r\n \r\n 50 && progress1 <= 75\r\n ? \"warning\"\r\n : progress2 > 75 && progress1 <= 100\r\n ? \"primary\"\r\n : \"success\"\r\n }\r\n label={progress2 + \"%\"}\r\n now={+progress2}\r\n />\r\n
\r\n \r\n )}\r\n
\r\n
\r\n \r\n ) : (\r\n
\r\n
\r\n
\r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport React, { useContext, useEffect, useState } from \"react\";\r\nimport { OrganizationType } from \"types/enum\";\r\nimport { getpersonalTask, getSalesInfo, getWidgetList } from \"./api/api\";\r\nimport { WidgetBoard } from \"./components/Board/WidgetBoard\";\r\nimport { WidgetCalendar } from \"./components/Calendar/WidgetCalendar\";\r\nimport { WidgetClock } from \"./components/Clock/WidgetClock\";\r\nimport { WidgetPositions } from \"./components/Positions/WidgetPositions\";\r\nimport { WidgetPersonalTask } from \"./components/PersonalTask/WidgetPersonalTask\";\r\nimport { WidgetQuote } from \"./components/Quote/WidgetQuote\";\r\nimport { MyOwnRequests } from \"./components/MyOwnRequests/MyOwnRequests\";\r\nimport \"./style.scss\";\r\nimport { WidgetSales } from \"./components/SaleWidget/SaleWidget\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\nconst widgets: { element: React.ReactNode; id: string }[] = [\r\n { element: , id: \"DayInfo\" },\r\n { element: , id: \"DayMessage\" },\r\n { element: , id: \"cartable\" },\r\n { element: , id: \"WeekEvents\" },\r\n // { element: , id: \"PersonalTasks\" },\r\n { element: , id: \"MyOwnRequests\" },\r\n];\r\n\r\nexport const DashboardPage = () => {\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n const [widgetList, setWidgetList] = useState(null);\r\n const [Board, setBoard] = useState(false);\r\n const [tasks, setTask] = useState([]);\r\n\r\n async function getEvetsAsync() {\r\n try {\r\n const res = await getpersonalTask();\r\n setTask(res);\r\n } catch (error) {\r\n setTask([]);\r\n }\r\n }\r\n\r\n async function getWidgetListAsync() {\r\n try {\r\n let obj = {};\r\n const res = await getWidgetList(\r\n layoutContext?.currentUserPosition?.OrganizationType ==\r\n OrganizationType.Customers\r\n );\r\n let list: any = [];\r\n let bordFlag = false;\r\n res.Data.forEach((id) => {\r\n if (id != \"Board\") {\r\n obj[id] = true;\r\n const item = widgets.find((item) => item.id === id);\r\n list.push(item);\r\n } else {\r\n setBoard(true);\r\n obj[id] = true;\r\n bordFlag = true;\r\n }\r\n });\r\n if (!bordFlag) {\r\n setBoard(false);\r\n obj[\"Board\"] = false;\r\n }\r\n setWidgetList(list);\r\n localStorage.setItem(\"widgetList\", JSON.stringify(obj));\r\n\r\n localStorage.removeItem(\"widgets\");\r\n return res.Data;\r\n } catch (error) {}\r\n }\r\n\r\n useEffect(() => {\r\n getEvetsAsync();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (\r\n localStorage.getItem(\"widgetList\") == null &&\r\n layoutContext?.currentUserPosition?.OrganizationType != undefined\r\n ) {\r\n getWidgetListAsync();\r\n } else if (\r\n layoutContext?.currentUserPosition?.OrganizationType != undefined\r\n ) {\r\n let list: any = [];\r\n let localwidgetList: any = localStorage.getItem(\"widgetList\");\r\n Object.keys(JSON.parse(localwidgetList)).forEach((id) => {\r\n if (id !== \"Board\" && JSON.parse(localwidgetList)[id]) {\r\n const item = widgets.find((item) => item.id === id);\r\n list.push(item);\r\n }\r\n });\r\n\r\n const item: any = Object.keys(JSON.parse(localwidgetList)).find(\r\n (item) => item == \"Board\"\r\n );\r\n if (JSON.parse(localwidgetList)[item]) {\r\n setBoard(true);\r\n } else {\r\n setBoard(false);\r\n if (\r\n layoutContext?.currentUserPosition?.OrganizationType ==\r\n OrganizationType.Customers\r\n ) {\r\n setBoard(true);\r\n } else {\r\n }\r\n }\r\n setWidgetList(list === null ? widgets : list ? list : []);\r\n }\r\n }, [\r\n layoutContext.widgetFormFlag,\r\n layoutContext?.currentUserPosition?.OrganizationType,\r\n ]);\r\n\r\n console.log(window.innerWidth);\r\n\r\n return (\r\n
\r\n {\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {trans(\"cartable\")} {trans(\"current\")}\r\n
\r\n
\r\n {layoutContext.notificount > 99\r\n ? \"99+\"\r\n : layoutContext.notificount == 0\r\n ? 0\r\n : layoutContext.notificount}\r\n   {trans(\"Msg_NewTaskCount\")}\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {trans(\"message\")}\r\n
\r\n
\r\n {layoutContext.chatNotificount > 99\r\n ? \"99+\"\r\n : layoutContext.chatNotificount == 0\r\n ? 0\r\n : layoutContext.chatNotificount}\r\n   {trans(\"Msg_UnreadMessageCount\")}\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n {trans(\"personaltask\")}\r\n
\r\n
\r\n {tasks?.length > 99\r\n ? \"99+\"\r\n : tasks?.length == 0\r\n ? 0\r\n : tasks?.length}\r\n   {trans(\"Msg_IncompleteTaskCount\")}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n }\r\n
\r\n {Board && (\r\n
\r\n \r\n
\r\n )}\r\n {widgetList && (\r\n \r\n {widgetList.map((item) => (\r\n
\r\n {item != undefined && item.id != \"PersonalTasks\" && (\r\n
{item.element}
\r\n )}\r\n
\r\n ))}\r\n {layoutContext?.currentUserPosition?.OrganizationType ==\r\n OrganizationType.Customers && }\r\n
\r\n )}\r\n \r\n \r\n );\r\n};\r\n","import { Toast } from \"components/ToastShow/ToastAlert\"\r\nimport { ENDPOINTS } from \"utils/endpoints\"\r\nimport { http } from \"utils/http\"\r\n\r\nexport const getOtherGroups = (PageNumber: number, PageSize: number , orderFormat: string = \"\", SearchString?:any ,filterlist?:any) => http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.browse,\r\n method: \"get\",\r\n params: {\r\n PageNumber: PageNumber,\r\n PageSize: PageSize,\r\n OrderByString: orderFormat,\r\n SearchString: SearchString,\r\n FilterString:filterlist\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const deleteGroupPosition = (id) => http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.browse,\r\n method: \"delete\",\r\n params: {\r\n id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const getGroupPositionId = (id: string) => http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.load,\r\n method: \"get\",\r\n params: {\r\n Id: id\r\n\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const setGroupPositionList = (data) => http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.details,\r\n method: \"put\",\r\n data: data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const getGroupPositionDetail = (groupPositionId ) => http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.details,\r\n method: \"get\",\r\n params: {\r\n groupPositionId: groupPositionId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const getPositionList = (SearchString=null) => http({\r\n url: ENDPOINTS.BaseInformation.position.browse,\r\n method: \"get\",\r\n params:{\r\n searchString : SearchString\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n// export const getGroupPosition = (GroupPositionId: any) => http({ //TODO سمت بک اند تکمیل نیست\r\n// url: ENDPOINTS.BaseInformation.GroupPosition.load,\r\n// method: 'get',\r\n// params: {\r\n// personId: GroupPositionId\r\n// }\r\n// }).then((respons) => (respons))\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const sendGroupPosition = (data: string, method) => http({\r\n method: method,\r\n url: ENDPOINTS.BaseInformation.groupPosition.browse,\r\n data : data\r\n\r\n\r\n}).then((res) => {\r\n \r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const getGroupPosition = (id) => http({\r\n method: \"get\",\r\n url: ENDPOINTS.BaseInformation.groupPosition.load,\r\n params:{\r\n Id : id\r\n }\r\n\r\n\r\n}).then((res) => {\r\n \r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});","import { Button } from \"components/Button/Button\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { GroupPosition } from \"pages/OfficeAutomation/BaseInformation/GroupPositionPage/types\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { getGroupPosition, sendGroupPosition } from \"../api/api\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\ninterface GroupPositionFormProp{\r\n handleCancelForm: (clickedCancelBtn: boolean) => void;\r\n idGroupPosition?:any;\r\n mode?:any;\r\n reload:()=> void;\r\n}\r\nexport const GroupPositionForm =({handleCancelForm,idGroupPosition,mode,reload}:GroupPositionFormProp)=>{\r\n let DataForSend,method;\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading, setLoading] = useState(false);\r\n\r\n\r\n async function sendDataToServer(event) {\r\n event.preventDefault();\r\n event.target.reportValidity();\r\n if (mode != \"create\") {\r\n let data :GroupPosition= {\r\n ActivityStatus : +event.target.GroupPositionStatus.value ,\r\n SystemKey:event.target.systemKey.value,\r\n Title: event.target.Title.value,\r\n SystemReserved: response.SystemReserved,\r\n };\r\n DataForSend ={...data, Id: idGroupPosition.Id }; \r\n method = \"put\";\r\n } else {\r\n let data :GroupPosition= {\r\n Title: event.target.Title.value,\r\n SystemKey: event.target.systemKey.value \r\n };\r\n DataForSend = data;\r\n method = \"post\";\r\n }\r\n\r\n try {\r\n const res = await sendGroupPosition(DataForSend , method)\r\n setResetForm(true);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n handleCancelForm(true)\r\n reload()\r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n async function getDataAsync() {\r\n setLoading(false);\r\n\r\n try {\r\n const res = await getGroupPosition(idGroupPosition.Id)\r\n setResponse(res.data.Data)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true);\r\n }\r\n\r\n \r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // handleCancelForm(true)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n handleCancelForm(true)\r\n });\r\n }else{\r\n handleCancelForm(true)\r\n };\r\n\r\n\r\n}\r\n\r\nconst handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n};\r\n\r\n\r\nuseEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n}, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (mode != \"create\") {\r\n setUserChanges({});\r\n getDataAsync()\r\n }else{\r\n setLoading(true);\r\n }\r\n }, [idGroupPosition]);\r\n\r\n return(<>\r\n
\r\n
\r\n
\r\n {loading ? \r\n \r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n resetForm={resetForm}\r\n textboxType=\"text\"\r\n textboxName=\"Title\"\r\n labelText={\"Title\"}\r\n maxLength={50}\r\n defaultValue={response?.Title}\r\n mode={mode}\r\n required={true}\r\n // defaultValue={personReal1 ? personReal1.Title : \"\"}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n defaultValue={response?.SystemKey}\r\n required={true}\r\n textboxName={\"systemKey\"} \r\n textboxType={\"systemKey\"} \r\n resetForm={resetForm} \r\n labelText={\"systemKey\"} \r\n mode={mode} \r\n />\r\n
\r\n {mode != \"create\" && \r\n
\r\n \r\n
\r\n }\r\n\r\n {mode != \"view\" ? \r\n
\r\n
\r\n :<>\r\n }\r\n\r\n {/*
*/}\r\n \r\n :\r\n \r\n }\r\n
\r\n
\r\n
\r\n )\r\n}","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getPositionList } from \"../../../OtherGroups/components/api/api\";\r\n\r\n\r\n\r\ninterface AssignedPositionList{\r\n PositionId,\r\n reset,\r\n selectList?: (e) => void;\r\n data,\r\n hasMultiSelect,\r\n}\r\n\r\n\r\nexport const AssignedPositionList: React.FC = ({\r\n PositionId,\r\n reset,\r\n selectList,\r\n data,\r\n hasMultiSelect\r\n})=>{\r\n let BodyPositionList:any\r\n const [searchData, setSearchData] = useState(data);\r\n const [searchString, setSearchString] = useState(\"\");\r\n const [selectedList, setSelectedList] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const selectListCallBack =(list)=>{\r\n setSelectedList(list[1])\r\n\r\n selectList && selectList(list)\r\n \r\n }\r\n useEffect(() => {\r\n selectListCallBack([])\r\n setSelectedList([])\r\n getDataAsync(searchString)\r\n }, [ reset]);\r\n\r\n\r\n useEffect(() => {\r\n getDataAsync(searchString)\r\n }, [ data]);\r\n\r\n \r\n const Searching = (str)=>{\r\n setSearchString(str)\r\n getDataAsync(str)\r\n }\r\n\r\n\r\n async function getDataAsync(SearchString) { \r\n setLoading(false)\r\n try {\r\n const PositionListResponse = await getPositionList(SearchString); \r\n let PositionListFiltered:any = []\r\n data.forEach(item1 => {\r\n PositionListResponse.Data.forEach(item2 => {\r\n\r\n if(item1?.PositionId ? item1.PositionId == item2.Id : item1.Id == item2.Id){\r\n PositionListFiltered.push(item1)\r\n }\r\n \r\n });\r\n \r\n });\r\n setSearchData(PositionListFiltered)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n } \r\n \r\n \r\n\r\n\r\n if (searchData && searchData.length>0 ) {\r\n let FilteredSeleced:any = []\r\n/* if(selectedList && selectedList.length > 0){ \r\n searchData.forEach(item1 => {\r\n let flag = false\r\n selectedList.forEach(item2 => {\r\n if(item1.Id == item2.Id){\r\n flag = true\r\n } \r\n });\r\n if(!flag ){\r\n FilteredSeleced.push(item1)\r\n }\r\n \r\n });\r\n BodyPositionList = selectedList.concat(FilteredSeleced)\r\n }else{\r\n } */\r\n BodyPositionList = searchData\r\n\r\n}\r\n\r\n\r\n return(\r\n <>\r\n
\r\n
\r\n
\r\n {trans(\"assignedpositionlist\")}\r\n \r\n
\r\n {loading ?(\r\n \r\n searchData?.length>0 ? (\r\n <>\r\n \r\n \r\n ) : (\r\n \r\n ))\r\n : \r\n }\r\n
\r\n
\r\n \r\n )\r\n}","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getPositionList } from \"../../../OtherGroups/components/api/api\";\r\n\r\n\r\ninterface PositionList {\r\n selectList?: (e) => void;\r\n reset?: boolean;\r\n data?;\r\n\r\n}\r\n\r\nexport const PositionList: React.FC = ({\r\n selectList ,\r\n reset,\r\n data\r\n\r\n})=>{\r\n let BodyPositionList=[];\r\n const [searchData, setSearchData] = useState(data);\r\n const [searchString, setSearchString] = useState(\"\");\r\n const [selectedList, setSelectedList] = useState();\r\n\r\n const selectListCallBack =(list)=>{\r\n setSelectedList(list[1])\r\n selectList && selectList(list)\r\n \r\n }\r\n useEffect(() => {\r\n selectListCallBack([])\r\n setSelectedList([])\r\n getDataAsync(searchString)\r\n\r\n }, [ reset]);\r\n useEffect(() => {\r\n getDataAsync(searchString)\r\n\r\n }, [ data]);\r\n \r\n const Searching = (str)=>{\r\n \r\n setSearchString(str)\r\n getDataAsync(str)\r\n }\r\n\r\n\r\n async function getDataAsync(SearchString) { \r\n let PositionListFiltered:any = []\r\n try {\r\n const PositionListResponse = await getPositionList(SearchString); \r\n \r\n PositionListResponse.Data.forEach(item1 => {\r\n data.forEach(item2 => {\r\n if(item1.Id == item2.Id){\r\n PositionListFiltered.push(item1)\r\n }\r\n })\r\n });\r\n setSearchData(PositionListFiltered)\r\n } catch (error) {\r\n \r\n }\r\n } \r\n \r\n if (searchData && searchData.length>0 ) {\r\n let FilteredSeleced:any = []\r\n if(selectedList && selectedList.length > 0){\r\n \r\n /* searchData.forEach(item1 => {\r\n let flag = false\r\n selectedList.forEach(item2 => {\r\n if(item1.Id == item2.Id){\r\n flag = true \r\n }\r\n });\r\n if(!flag ){\r\n FilteredSeleced.push(item1)\r\n } \r\n });\r\n BodyPositionList = selectedList.concat(FilteredSeleced) */\r\n BodyPositionList = searchData\r\n }else{\r\n BodyPositionList = searchData\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n return(\r\n <>\r\n
\r\n
\r\n
\r\n {trans(\"PositionList\")}\r\n \r\n
\r\n { data ? (\r\n <>\r\n { data?.length >0 ?(\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n \r\n )\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { ButtonArrow } from \"components/ButtonArrow/ButtonArrow\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { UserContext } from \"components/ModalForm/ModalForm\";\r\nimport React, { useContext, useEffect, useState } from \"react\";\r\nimport { getGroupPositionDetail, getGroupPositionId, getPositionList, setGroupPositionList } from \"../OtherGroups/components/api/api\";\r\nimport { AssignedPositionList } from \"./components/AssignedPositionList/AssignedPositionList\";\r\nimport { PositionList } from \"./components/PositionList/PositionList\";\r\n\r\n\r\n\r\ninterface PositionAssigningToGroup {\r\n PositionId,\r\n mode,\r\n ShowDefaultGroups?,\r\n showModal?: (e) => void;\r\n setUpdate?: (e) => void;\r\n}\r\n\r\n\r\nexport const PositionAssigningToGroup : React.FC = ({\r\n PositionId,\r\n mode,\r\n ShowDefaultGroups=false,\r\n showModal,\r\n setUpdate\r\n}) => {\r\n\r\n const [selectList , setSelectList] = useState()\r\n const [AssignSelectList , setAssignSelectList] = useState()\r\n const [reset, setReset] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n const [responsePosition, setResponsePosition] = useState();\r\n const [assignPositionListData ,setAssignPositionListData] = useState()\r\n const [dataForSend ,setDataForSend] = useState()\r\n const [userMadeChanges, setUserMadeChanges] = useContext(UserContext);\r\n function backward(){\r\n setUserMadeChanges(true)\r\n if(selectList[1] && selectList[1].length>0){\r\n let newList:any =[ ]\r\n responsePosition.forEach(item1 => {\r\n let flag = true\r\n selectList[1].forEach(item2 => {\r\n if(item1.Id==item2.Id){\r\n flag = false\r\n }\r\n });\r\n\r\n if(flag){\r\n newList.push(item1)\r\n }\r\n \r\n });\r\n\r\n setResponsePosition(newList)\r\n setAssignPositionListData(assignPositionListData.concat((selectList[1])))\r\n setSelectList([])\r\n setReset(!reset)\r\n }\r\n setAssignSelectList([])\r\n setSelectList([])\r\n }\r\n function forward(){\r\n setUserMadeChanges(true)\r\n if(AssignSelectList[1] && AssignSelectList[1].length>0){\r\n let newList:any =[ ]\r\n let newList2:any =[ ]\r\n AssignSelectList[1].forEach(item=>{\r\n newList2.push({Id:item.PositionId ?item.PositionId :item.Id ,Description:item.Description})\r\n\r\n })\r\n setResponsePosition(responsePosition.concat(newList2))\r\n assignPositionListData.forEach(item1 => {\r\n let flag = true\r\n AssignSelectList[1].forEach(item2 => {\r\n if(item1.Id==item2.Id){\r\n flag = false\r\n }\r\n });\r\n if(flag){\r\n newList.push(item1)\r\n }\r\n });\r\n setAssignPositionListData(newList)\r\n setSelectList([])\r\n setReset(!reset)\r\n }\r\n\r\n setAssignSelectList([])\r\n setSelectList([])\r\n }\r\n const showActionFormCallback =(e)=>{\r\n showModal && showModal(false)\r\n\r\n }\r\n const sendData =()=>{\r\n let GroupPositionDetail=assignPositionListData.map(item=>{\r\n return({\r\n \"GroupPositionId\": PositionId.Id,\r\n \"PositionId\": item.PositionId ?item.PositionId :item.Id ,\r\n \r\n })\r\n\r\n \r\n })\r\n setGroupPositionListAsync(GroupPositionDetail)\r\n }\r\n\r\n\r\n\r\n async function getDataAsync() { \r\n setLoading(true)\r\n let GroupPositionDetailResponse:any={Data :[]}\r\n try {\r\n GroupPositionDetailResponse = await getGroupPositionDetail(PositionId.Id );\r\n } catch (error) {\r\n setAssignPositionListData(true)\r\n } \r\n const PositionListResponse = await getPositionList(); \r\n let PositionListResponseFiltered:any = []\r\n let AssignPositionList:any = []\r\n PositionListResponse.Data.forEach(item1=>{\r\n let flag = true\r\n GroupPositionDetailResponse.Data?.Data.forEach(item2 => {\r\n if(item1.Id==item2.PositionId){\r\n flag = false\r\n }\r\n });\r\n if(flag){\r\n PositionListResponseFiltered.push(item1)\r\n }else{\r\n AssignPositionList.push(item1)\r\n \r\n }\r\n })\r\n setAssignPositionListData(AssignPositionList);\r\n setResponsePosition(PositionListResponseFiltered);\r\n try {\r\n } catch (error) {\r\n setResponsePosition(true)\r\n }\r\n\r\n try {\r\n const GroupPositionIdResponse = await getGroupPositionId(PositionId.Id)\r\n setDataForSend(GroupPositionIdResponse.Data)\r\n } catch (error) {\r\n } \r\n setLoading(false)\r\n }\r\n\r\n\r\n async function setGroupPositionListAsync(data) { //TODO\r\n try {\r\n const response = await setGroupPositionList(data);\r\n setUpdate && setUpdate(false) \r\n showModal && showModal(false) \r\n } catch (error) {\r\n getDataAsync()\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n getDataAsync()\r\n },[PositionId]);\r\n\r\n return (\r\n\r\n <>\r\n {loading ?\r\n \r\n : \r\n
\r\n
\r\n {\r\n mode !=\"view\" ?\r\n <>\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {backward()}}/>\r\n {forward()}}/>\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n :
\r\n \r\n
\r\n }\r\n
\r\n
\r\n }\r\n \r\n );\r\n};\r\n","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { GroupPositionForm } from \"./components/GroupPositionForm/GroupPositionForm\";\r\nimport { PositionAssigningToGroup } from \"../PositionAssigningToGroup/PositionAssigningToGroup\";\r\nimport { deleteGroupPosition, getOtherGroups } from \"./components/api/api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\nexport const OtherGroups = () => {\r\n const [forceUpdate, setForceUpdate] = useState(true); // integer state\r\n const [loading, setLoading] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [showFormData, setShowFormData] = useState(false);\r\n const [showFormMembers, setShowFormMembers] = useState(false);\r\n const [selectedObj, setSelectedObj] = useState();\r\n const [mode, setMode] = useState()\r\n const [messageType, setMessageType] = useState(\"info\")\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [search, setSearch] = useState(null);\r\n const [pages, setPages] = useState(0);\r\n\r\n\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"reference\":alert(\"call api reference with Id :\");break;\r\n case \"view\": if (selectedObj?.Id) handleViewRow(); break;\r\n case \"edit\": if (selectedObj?.Id && !selectedObj?.SystemReserved ) handleEditRow();break;\r\n case \"print\":alert(\"print \");break;\r\n case \"excel\":downloadCSV(response.Data ,1 ,trans(\"OtherGroups\"));break;\r\n // case \"remove\": if (selectedObj?.Id) Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , handleDeleteRow); break;\r\n case \"remove\": if (selectedObj?.Id) Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete , handleDeleteRow); break;\r\n\r\n case \"refresh\":setForceUpdate(!forceUpdate);break;\r\n case \"members\": if (selectedObj?.Id){setShowFormData(false); setShowFormMembers(!showFormMembers); setMode(\"members\")}; break;\r\n case \"create\":\r\n setMode(\"create\");\r\n setShowFormData(true);\r\n break;\r\n }\r\n };\r\n\r\n\r\n \r\n\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n if(str ==\"\" ){\r\n setSearch(null)\r\n }else{\r\n setSearch(str)\r\n }\r\n }\r\n async function getOtherGroupsAsync(PageNum = pageNum) {\r\n setLoading(false);\r\n setResponse(null);\r\n let pageSizeChangedByUser = getPageSize(\"OtherGroups\" );\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const res = await getOtherGroups(PageNum, pageSizeChangedByUser,orderBy?.join(\",\") ,search ,filterlist);\r\n setResponse(res.Data);\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) ;\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true);\r\n }\r\n\r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"OtherGroups\" ,e.currentTarget.value )\r\n getOtherGroupsAsync(1)\r\n };\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else setPageNum(+value);getOtherGroupsAsync(+value);\r\n } else {\r\n\r\n }\r\n };\r\n const handleNextPage = () => {\r\n if(pageNum < pages){\r\n setPageNum(pageNum + 1);\r\n getOtherGroupsAsync(pageNum + 1);\r\n }\r\n };\r\n const handlePrevPage = () => {\r\n if(pageNum > 1){\r\n setPageNum((pageNum)=>{return +pageNum - 1});\r\n getOtherGroupsAsync(pageNum - 1);\r\n }\r\n };\r\n\r\n const groupPositionIdCallback = (obj, index) => {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{ \r\n // if(mode==\"edit\"&& obj.SystemReserved){\r\n // setShowFormData(false)\r\n // }\r\n // setSelectedObj(obj);sessionStorage.setItem(\"changingforms\" , \"false\")});\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{ \r\n if(mode==\"edit\"&& obj.SystemReserved){\r\n setShowFormData(false)\r\n }\r\n setSelectedObj(obj);sessionStorage.setItem(\"changingforms\" , \"false\")});\r\n }else{\r\n if(mode==\"edit\"&& obj.SystemReserved){\r\n setShowFormData(false)\r\n }\r\n setSelectedObj(obj) \r\n };\r\n }\r\n\r\n const handleViewRow = () => {\r\n setMode(\"view\");\r\n setShowFormMembers(true)\r\n }\r\n\r\n const handleEditRow = () => {\r\n setMode(\"edit\")\r\n setShowFormData(true);\r\n }\r\n\r\n const handleViewModalForm = () => {\r\n setShowFormMembers(false)\r\n setShowFormData(false)\r\n }\r\n const handleCancelForm = (clickedCancelBtn) => {\r\n setShowFormData(false);\r\n\r\n }\r\n const handleDeleteRow = async() => {\r\n try {\r\n await deleteGroupPosition(selectedObj?.Id)\r\n setForceUpdate(!forceUpdate)\r\n } catch (error) {\r\n \r\n }\r\n}\r\n \r\n useEffect(() => {\r\n getOtherGroupsAsync();\r\n setForceUpdate(true)\r\n }, [forceUpdate,search,orderBy,filterlist]);\r\n\r\n return (\r\n <>\r\n\r\n \r\n {showFormData ?\r\n {setShowFormData(false)}} show={showFormData} title={\"GroupPositionForm\" } >setForceUpdate(!forceUpdate)} idGroupPosition={selectedObj} handleCancelForm={handleCancelForm} />: null}\r\n {showFormMembers ? {setShowFormMembers(false)}} modalWidth={mode == \"view\" ? 75 : \"\"} show={showFormMembers} modalProfileKey={\"Users\"} title={trans(\"Users\")+ \" : \" +selectedObj?.Title } > : null}\r\n
\r\n
\r\n {loading ? (\r\n <>\r\n { response?.Data?.length > 0 ? (\r\n {Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" ,handleDeleteRow)}}\r\n handleDelete={(e)=>{Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete ,handleDeleteRow)}}\r\n\r\n totalRecords={response.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() =>{ getOtherGroupsAsync(pages);setPageNum(pages)}}\r\n end={() => {getOtherGroupsAsync(1);setPageNum(1)}}\r\n handleGoPage={handleGoPage}\r\n />\r\n ) : }\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n","import { Toast } from \"components/ToastShow/ToastAlert\"\r\nimport { ENDPOINTS } from \"utils/endpoints\"\r\nimport { http } from \"utils/http\"\r\n\r\nexport const getDefaultGroups = (PageNumber: number, PageSize: number , orderFormat: string = \"\", SearchString?:any ,filterlist?:any) => http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.browsedefaults,\r\n method: \"get\",\r\n params: {\r\n PageNumber: PageNumber,\r\n PageSize: PageSize,\r\n OrderByString: orderFormat,\r\n SearchString: SearchString,\r\n FilterString:filterlist\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const getDefaultGroupDetail = (groupPositionId ,PageNumber: number, PageSize: number , orderFormat: string = \"\", SearchString?:any ,filterlist?:any) => http({\r\n url:ENDPOINTS.BaseInformation.groupPosition.defaultGroupsdetails,\r\n method: \"get\",\r\n params: {\r\n PageNumber: PageNumber,\r\n PageSize: PageSize,\r\n OrderByString: orderFormat,\r\n SearchString: SearchString,\r\n FilterString:filterlist,\r\n groupPositionId: groupPositionId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\n\r\n\r\nexport const deleteGroupPosition = (id) => http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.browse,\r\n method: \"delete\",\r\n params: {\r\n id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const getGroupPositionId = (id: string) => http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.load,\r\n method: \"get\",\r\n params: {\r\n Id: id\r\n\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const setGroupPositionList = (data) => http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.details,\r\n method: \"put\",\r\n data: data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const getGroupPositionDetail = (groupPositionId) => http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.details,\r\n method: \"get\",\r\n params: {\r\n groupPositionId: groupPositionId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const getPositionList = (SearchString=null) => http({\r\n url: ENDPOINTS.BaseInformation.position.browse,\r\n method: \"get\",\r\n params:{\r\n searchString : SearchString\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n// export const getGroupPosition = (GroupPositionId: any) => http({ //TODO سمت بک اند تکمیل نیست\r\n// url: ENDPOINTS.BaseInformation.GroupPosition.load,\r\n// method: 'get',\r\n// params: {\r\n// personId: GroupPositionId\r\n// }\r\n// }).then((respons) => (respons))\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const sendGroupPosition = (data: string, method) => http({\r\n method: method,\r\n url: ENDPOINTS.BaseInformation.groupPosition.browse,\r\n data : data\r\n\r\n\r\n}).then((res) => {\r\n \r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const getGroupPosition = (id) => http({\r\n method: \"get\",\r\n url: ENDPOINTS.BaseInformation.groupPosition.load,\r\n params:{\r\n Id : id\r\n }\r\n\r\n\r\n}).then((res) => {\r\n \r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getPageSize, trans } from \"utils/helpers\";\r\nimport { getDefaultGroupDetail } from \"./api/api\";\r\nimport { Search } from \"components/Search/Search\";\r\n\r\n\r\ninterface DefaultGroupMembersPropsType {\r\n selectedObj;\r\n\r\n}\r\nexport const DefaultGroupMembers = ({ \r\n selectedObj,\r\n\r\n}: DefaultGroupMembersPropsType) => {\r\n\r\n const [response , setResponse ] = useState< any>(null);\r\n const [selectedDefaultGroup , setSelectedDefaultGroup ] = useState< any>();\r\n\r\n const [loading , setLoading] = useState(false)\r\n const [messageType , setMessageType] = useState< any>(\"info\")\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [filterList, setFilterList] = useState(\"\");\r\n const [PageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(5);\r\n const [search, setSearch] = useState(null);\r\n const [showDeleted, setShowDeleted] = useState(false);\r\n const [pages,setPages] = useState(1);\r\n\r\n\r\n\r\n const getWithOrder = (order: string[]) => {\r\n setOrderBy(order)\r\n }\r\n \r\n const Searching = (str)=>{ \r\n setSearch(str)\r\n }\r\n \r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(+e.currentTarget.value);\r\n getPageSize(\"DefaultGroupMembers\" ,+e.currentTarget.value);\r\n getDefaultGrouporganizationIdAsync(selectedObj.Id ,1);\r\n };\r\n \r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) {}\r\n else {setPageNum(+value);getDefaultGrouporganizationIdAsync(selectedObj.Id ,value)};\r\n } else {\r\n \r\n }\r\n };\r\n const handleNextPage = () => { \r\n\r\n if (PageNum < pages) {\r\n setPageNum(PageNum + 1);\r\n getDefaultGrouporganizationIdAsync(selectedObj.Id ,PageNum + 1);\r\n };\r\n };\r\n const handlePrevPage = () => {\r\n\r\n if (PageNum > 1) {\r\n setPageNum((pageNum) => { return +pageNum - 1 });\r\n getDefaultGrouporganizationIdAsync(selectedObj.Id ,PageNum - 1);\r\n };\r\n };\r\n \r\n\r\n\r\n\r\n\r\n function selectedDefaultGroupCallback(obj) {\r\n setSelectedDefaultGroup(obj) \r\n \r\n }\r\n \r\n\r\n\r\n\r\n async function getDefaultGrouporganizationIdAsync(id,pageNum = PageNum) { \r\n setLoading(false)\r\n setResponse(null)\r\n let pageSizeChangedByUser = getPageSize(\"DefaultGroupMembers\" )\r\n setPageSize(pageSizeChangedByUser)\r\n try{\r\n const res = await getDefaultGroupDetail(id,pageNum, pageSizeChangedByUser , orderBy.join(\",\") ,search );\r\n setResponse(res.Data)\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1)\r\n setMessageType(\"info\")\r\n }catch(err:any){\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n setPageNum(1)\r\n getDefaultGrouporganizationIdAsync(selectedObj.Id,1);\r\n }, [ selectedObj,search,orderBy,filterList,showDeleted]);\r\n\r\n\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n {loading ?\r\n (response?.Data?.length>0 ?\r\n {getDefaultGrouporganizationIdAsync(selectedObj.Id ,pages);setPageNum(pages)}}\r\n end={() => {getDefaultGrouporganizationIdAsync(selectedObj.Id,1);setPageNum(1)}}\r\n handleGoPage={handleGoPage} \r\n /> \r\n : \r\n )\r\n : \r\n }\r\n
\r\n
\r\n
\r\n );\r\n}","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\nimport { getDefaultGroups } from \"./api/api\";\r\nimport { DefaultGroupMembers } from \"./DefaultGroupMembers\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\nexport const DefaultGroups = () => {\r\n const [forceUpdate, setForceUpdate] = useState(true); // integer state\r\n const [loading, setLoading] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [showFormData, setShowFormData] = useState(false);\r\n const [showFormMembers, setShowFormMembers] = useState(false);\r\n const [selectedObj, setSelectedObj] = useState();\r\n const [formCancleBtn, setFormCancleBtn] = useState();\r\n const [mode, setMode] = useState()\r\n const [messageType, setMessageType] = useState(\"info\")\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [search, setSearch] = useState(null);\r\n const [pages, setPages] = useState(0);\r\n\r\n\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"reference\":alert(\"call api reference with Id :\");break;\r\n case \"view\": if (selectedObj?.Id) handleViewRow(); break;\r\n case \"excel\":downloadCSV(response.Data ,1 ,trans(\"DefaultGroups\"));break;\r\n case \"refresh\":setForceUpdate(!forceUpdate);break;\r\n case \"members\": if (selectedObj?.Id){setShowFormData(false); setShowFormMembers(!showFormMembers); setMode(\"members\")}; break;\r\n }\r\n };\r\n\r\n\r\n \r\n\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n if(str ==\"\" ){\r\n setSearch(null)\r\n }else{\r\n setSearch(str)\r\n }\r\n }\r\n async function getDefaultGroupsAsync(PageNum = pageNum) {\r\n setLoading(false);\r\n setResponse(null);\r\n let pageSizeChangedByUser = getPageSize(\"DefaultGroups\" );\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const res = await getDefaultGroups(PageNum, pageSizeChangedByUser,orderBy?.join(\",\") ,search ,filterlist);\r\n setResponse(res.Data);\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) ;\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true);\r\n }\r\n\r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"DefaultGroups\" ,e.currentTarget.value )\r\n getDefaultGroupsAsync(1)\r\n };\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else setPageNum(+value);getDefaultGroupsAsync(+value);\r\n } else {\r\n\r\n }\r\n };\r\n const handleNextPage = () => {\r\n if(pageNum < pages){\r\n setPageNum(pageNum + 1);\r\n getDefaultGroupsAsync(pageNum + 1);\r\n }\r\n };\r\n const handlePrevPage = () => {\r\n if(pageNum > 1){\r\n setPageNum((pageNum)=>{return +pageNum - 1});\r\n getDefaultGroupsAsync(pageNum - 1);\r\n }\r\n };\r\n\r\n const groupPositionIdCallback = (obj, index) => {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{setSelectedObj(obj);sessionStorage.setItem(\"changingforms\" , \"false\")});\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{setSelectedObj(obj);sessionStorage.setItem(\"changingforms\" , \"false\")});\r\n\r\n }else{\r\n setSelectedObj(obj) \r\n };\r\n }\r\n\r\n const handleViewRow = () => {\r\n setMode(\"view\");\r\n setShowFormMembers(!showFormMembers)\r\n setShowFormData(false); \r\n }\r\n\r\n const handleViewModalForm = () => {\r\n setShowFormMembers(false)\r\n\r\n }\r\n\r\n useEffect(() => {\r\n getDefaultGroupsAsync();\r\n setForceUpdate(true)\r\n }, [forceUpdate,search,orderBy,filterlist]);\r\n\r\n return (\r\n <>\r\n\r\n \r\n {showFormData && !formCancleBtn ?\r\n <>\r\n \r\n\r\n : null}\r\n {showFormMembers ? : null}\r\n
\r\n
\r\n {loading ? (\r\n <>\r\n { response?.Data?.length > 0 ? (\r\n { getDefaultGroupsAsync(pages);setPageNum(pages)}}\r\n end={() => {getDefaultGroupsAsync(1);setPageNum(1)}}\r\n handleGoPage={handleGoPage}\r\n />\r\n ) : }\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\n\r\nexport const getOrganizationList = () => http({\r\n url: ENDPOINTS.BaseInformation.organization.getNode,\r\n method: \"get\",\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const getPositionOrganizationList = (id,PageNumber: number, PageSize: number ,orderFormat:string =\"\" , filterlist , Search ,showDeleted) => http({\r\n url: ENDPOINTS.BaseInformation.position.load,\r\n method: \"get\",\r\n params: {\r\n organizationId:id,\r\n PageNumber: PageNumber,\r\n PageSize: PageSize,\r\n SearchString:Search,\r\n FilterString:filterlist,\r\n OrderByString : orderFormat,\r\n showDeleted :showDeleted\r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\nexport const canAddChildToOrganization = (id) => http({\r\n url: ENDPOINTS.BaseInformation.organization.canAdd,\r\n method: \"get\",\r\n params: {\r\n parentId:id\r\n\r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\nexport const getPosition = (id) => http({\r\n url: ENDPOINTS.BaseInformation.position.getId,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n Id:id\r\n\r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n \r\n \r\n export const AddNodeToParent = (data:any) => http({\r\n url: ENDPOINTS.BaseInformation.organization.load,\r\n method: \"post\",\r\n data:data\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n\r\n \r\n \r\n export const editNode = (data:any) => http({\r\n url: ENDPOINTS.BaseInformation.organization.edit,\r\n method: \"put\",\r\n data : data\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n \r\n export const getNode = (id) => http({\r\n url: ENDPOINTS.BaseInformation.organization.getId,\r\n method: \"get\",\r\n params : {\r\n Id : id\r\n }\r\n \r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n\r\n export const getFully = (showActiveRowsOnly=true) => http({\r\n url: ENDPOINTS.BaseInformation.organization.browse,\r\n method: \"get\",\r\n params:{\r\n getActiveRowsOnly:showActiveRowsOnly\r\n }\r\n \r\n }).then((res) => {\r\n // Toast(\"Information received successfully\" , \"success\") \r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n export const deleteNode = (id) => http({\r\n url: ENDPOINTS.BaseInformation.organization.deleteNode,\r\n method: \"delete\",\r\n\r\n params : {\r\n Confirm:false,\r\n Id : id\r\n }\r\n \r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n export const moveNude = (drag , drop) => http({\r\n url: ENDPOINTS.BaseInformation.organization.moveNode,\r\n method: \"put\",\r\n params : {\r\n currentId : drag ,\r\n newParentId : drop\r\n }\r\n \r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n \r\n export const AddNewPosition = (data:any) => http({\r\n url: ENDPOINTS.BaseInformation.position.browse,\r\n method: \"post\",\r\n data : data\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n \r\n \r\n export const editPosition = (data:any) => http({\r\n url: ENDPOINTS.BaseInformation.position.browse,\r\n method: \"put\",\r\n data : data\r\n }).then((res) => { \r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n\r\n\r\n \r\n \r\n \r\n export const deletePosition = (id) => http({\r\n url: ENDPOINTS.BaseInformation.position.browse,\r\n method: \"delete\",\r\n params:{\r\n Id:id\r\n }\r\n }).then((res) => { \r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n export const getRolesList = (async () => await http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.dictionary,\r\n method: 'get',\r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n })\r\n \r\n )\r\n \r\n\r\n\r\n\r\n export const getOrganizationRolesList = (async (organizationId:any ,SearchString ) => await http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.organizationRole.dictionary,\r\n method: 'get',\r\n params:{\r\n SearchString: SearchString? SearchString :null,\r\n organizationId :organizationId\r\n }\r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n })\r\n \r\n )\r\n \r\n export const getExceptOrganizationRolesList = (async (organizationId ,SearchString ) => await http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.organizationRole.browse,\r\n method: 'get',\r\n params:{\r\n SearchString: SearchString? SearchString :null,\r\n organizationId :organizationId\r\n }\r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n })\r\n \r\n )\r\n \r\n export const addNewRolesAsync = (async (organizationId ,data ) => await http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.organizationRole.load,\r\n method: 'post',\r\n params:{\r\n organizationId :organizationId\r\n },\r\n data:data\r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n })\r\n \r\n )\r\n export const deletRolesAsync = (async (organizationId ,data ) => await http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.organizationRole.load,\r\n method: 'DELETE',\r\n params:{\r\n organizationId :organizationId\r\n },\r\n data:data\r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n })\r\n \r\n )\r\n \r\n export const getgroupPositionDictionarys = (async () => await http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.dictionary,\r\n method: 'get',\r\n params:{\r\n isReserved:false\r\n }\r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n })\r\n \r\n )\r\n ","import { Button } from \"components/Button/Button\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { AddNodeToParent, editNode, getNode } from \"../../api/api\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface OrganizationFormPropsType {\r\n selectedObj;\r\n showForm;\r\n mode;\r\n\r\n}\r\nexport const OrganizationForm = ({ \r\n selectedObj,\r\n showForm,\r\n mode\r\n}: OrganizationFormPropsType) => {\r\n \r\n let Title , Qualification :any;\r\n const [resetForm, setResetForm] = useState(false);\r\n const [node, setNode] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading, setLoading] = useState(false);\r\n\r\n if (mode == \"edit\" ||mode == \"view\" ) {\r\n Title = selectedObj.Description\r\n }\r\n async function sendNodeAsync(data) {\r\n try{\r\n const res = await AddNodeToParent(data);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm()\r\n \r\n }catch(err:any){\r\n\r\n }\r\n }\r\n\r\n async function getNodeAsync() {\r\n setLoading(false);\r\n\r\n try{\r\n const res = await getNode(selectedObj.Id);\r\n setNode(res.Data)\r\n\r\n\r\n }catch(err:any){\r\n\r\n }\r\n setLoading(true);\r\n\r\n }\r\n\r\n async function putNodeAsync(data) {\r\n try{\r\n const res = await editNode(data);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm()\r\n \r\n }catch(err:any){\r\n \r\n }\r\n }\r\n\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(false)\r\n });\r\n }else{\r\n showForm(false) \r\n };\r\n \r\n \r\n }\r\n \r\n const handlePersonContactFormSubmit = (event) => {\r\n event.preventDefault();\r\n if(mode==\"edit\"){\r\n let data={\r\n \"id\":selectedObj.Id,\r\n \"ParentId\": selectedObj.ParentId,\r\n \"Count\": 0,\r\n \"ActivityStatus\": +event.target.ActivityStatus.value,\r\n \"OrganizationType\": +event.target.OrganizationType.value,\r\n \"Description\": event.target.Title.value,\r\n \"Qualification\":event.target.Qualification.value\r\n }\r\n putNodeAsync(data)\r\n \r\n }else{\r\n let data={\r\n \"ParentId\": selectedObj.Id,\r\n \"OrganizationType\": +event.target.OrganizationType.value,\r\n \"Description\": event.target.Title.value,\r\n \"Qualification\":event.target.Qualification.value\r\n }\r\n sendNodeAsync(data)\r\n }\r\n \r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (mode == \"edit\" ||mode == \"view\" ) {\r\n getNodeAsync()\r\n }else{\r\n setLoading(true)\r\n }\r\n }, [selectedObj]);\r\n\r\n \r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {loading ?\r\n (
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"text\"\r\n textboxName=\"Title\"\r\n labelText=\"Title\"\r\n maxLength={900}\r\n defaultValue={node ? node?.Description : Title}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n\r\n\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"Qualification\"\r\n labelText=\"Qualification\"\r\n maxLength={900}\r\n defaultValue={node ? node?.Qualification : Qualification}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n required={true}\r\n label=\"OrganizationType\"\r\n name=\"OrganizationType\"\r\n value ={ node?.OrganizationType}\r\n mode={mode} \r\n enumTypeSelect=\"OrganizationType\"\r\n />\r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n label=\"ActivityStatus\"\r\n name=\"ActivityStatus\"\r\n value ={node?.ActivityStatus }\r\n mode={mode}\r\n enumTypeSelect=\"ActivityStatus\"\r\n />\r\n
\r\n }\r\n\r\n\r\n\r\n { mode !=\"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
)\r\n :\r\n ()\r\n }\r\n
\r\n
\r\n
\r\n \r\n\r\n );\r\n}","\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { addNewRolesAsync, getExceptOrganizationRolesList } from \"../../api/api\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\ninterface propsOrganizationalStructure {\r\n selectedObj:any;\r\n treeType:any;\r\n onHide: (mod) => void;\r\n reload: () => void;\r\n}\r\nexport const AddRoleForm = ({selectedObj ,onHide,reload,treeType} :propsOrganizationalStructure )=> {\r\n const [data, setData] = useState()\r\n const [ListResponse, setListResponse] = useState()\r\n const [loading, setLoading] = useState(false)\r\n const [selected, setSelected] = useState()\r\n const [selectedList, setSelectedList] = useState([])\r\n const [idCallback, setIdCallback] = useState(\"2\")\r\n const [messageType, setMessageType] = useState(\"info\")\r\n // const [theadData , setTheadData] = useState()\r\n const [search, setsearch] = useState(null);\r\n const [defultShow, setDefultShow] = useState(false);\r\n const [message, setMessage] = useState(\"NoDataForPreview\")\r\n\r\n\r\n let tbodyData: any = [];\r\n let theadData: any = []\r\n let obj: any = {}\r\n\r\n function set(name, value) {\r\n let obj2 = obj; \r\n var nameList = name.split('.');\r\n var len = nameList.length;\r\n for(var i = 0; i {\r\n tree.push({\r\n Id : parentId+item ,\r\n parentId : parentId ,\r\n Children : setTree(obj2[item] , parentId+item+\".\" ) ,\r\n Description : item\r\n })\r\n })\r\n\r\n }\r\n return tree\r\n}\r\n\r\nfunction array_move(arr, old_index, new_index) {\r\n if (new_index >= arr.length) {\r\n var k = new_index - arr.length + 1;\r\n while (k--) {\r\n arr.push(undefined);\r\n }\r\n }\r\n arr.splice(new_index, 0, arr.splice(old_index, 1)[0]);\r\n return arr; // for testing\r\n};\r\n\r\n\r\n\r\nasync function getListAsync() {\r\n setLoading(false)\r\n const response = await getExceptOrganizationRolesList(selectedObj.Id, \"\")\r\n if(response){\r\n \r\n let newTypeObject:any = {}\r\n if(treeType){\r\n Object.keys(response.Data).forEach(item => {\r\n var nameList = response.Data[item].split('.');\r\n let ty = array_move(nameList, 3, 1)\r\n newTypeObject = Object.assign(newTypeObject,{[item] :ty.join(\".\") })\r\n set( ty.join(\".\"), item);\r\n });\r\n setListResponse(newTypeObject)\r\n }else{\r\n setListResponse(response.Data)\r\n Object.keys(response.Data).forEach(item => {\r\n set( response.Data[item], item);\r\n });\r\n }\r\n \r\n let tabletr = setTree(obj , \"\")\r\n if(tabletr.length >0){\r\n setData(tabletr)\r\n }\r\n }else setMessageType(\"info\")\r\n try {\r\n } catch (err: any) {\r\n setMessageType(\"error\")\r\n setMessage(err.response.data.Message)\r\n }\r\n setLoading(true)\r\n}\r\n\r\nasync function addNewRoles() {\r\n let addList:any = []\r\n Object.values(ListResponse).forEach((item , index )=> {\r\n if(selectedList.includes(item) ){\r\n addList.push(Object.keys(ListResponse)[index])\r\n }\r\n });\r\n try {\r\n const response = await addNewRolesAsync(selectedObj.Id, addList)\r\n onHide(false)\r\n reload() \r\n } catch (err: any) {\r\n \r\n }\r\n}\r\nconst delay = (duration) =>\r\nnew Promise(resolve => setTimeout(resolve, duration));\r\n\r\nconst Searchhandleer =async (str) => {\r\n setLoading(false)\r\n obj = {}\r\n \r\n setData(null)\r\n if (str == \"\"||str==null) {\r\n setsearch(null)\r\n setDefultShow(false)\r\n getListAsync()\r\n }else{\r\n setDefultShow(true)\r\n setsearch(str)\r\n if(ListResponse && ListResponse != undefined){\r\n let newTypeObject:any = {}\r\n\r\n Object.keys(ListResponse).forEach(item => {\r\n if(str != \"\"&&str != null ){\r\n let flag = true\r\n ListResponse[item].split('.').forEach(word=>{\r\n if(flag ){\r\n if(str.split(\" \").length > 1){\r\n str.split(\" \").forEach(serchWord=>{\r\n if(trans(word).includes(serchWord)){\r\n flag = false\r\n return ;\r\n }\r\n })\r\n }else{\r\n if(trans(word).includes(str)){\r\n flag = false\r\n return ;\r\n }\r\n }\r\n }\r\n })\r\n if(!flag){\r\n newTypeObject = Object.assign(newTypeObject,{[item] :ListResponse[item] })\r\n set( ListResponse[item], item);\r\n }\r\n }else{\r\n newTypeObject = Object.assign(newTypeObject,{[item] :ListResponse[item] })\r\n set( ListResponse[item], item);\r\n }\r\n });\r\n\r\n setListResponse(newTypeObject)\r\n let tabletr = setTree(obj , \"\")\r\n if(tabletr.length >0){\r\n await delay(5)\r\n setData(JSON.parse(JSON.stringify(tabletr)))\r\n }\r\n setLoading(true)\r\n\r\n }\r\n }\r\n \r\n}\r\n\r\n\r\n useEffect(() => {\r\n getListAsync()\r\n }, [ treeType]);\r\n\r\n useEffect(() => {\r\n\r\n }, [ search]);\r\n\r\n if (data) {\r\n theadData = Object.keys(data[0])\r\n tbodyData = data;\r\n }\r\n\r\n\r\n\r\n \r\n return (\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n <>\r\n {\r\n loading ? (\r\n data ?\r\n \r\n : \r\n )\r\n : \r\n }\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n )\r\n}","\r\nimport { useEffect, useState } from \"react\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { addNewRolesAsync, deletRolesAsync, getExceptOrganizationRolesList, getOrganizationRolesList } from \"../../api/api\";\r\nimport { AddRoleForm } from \"./AddRoleForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface propsOrganizationalStructure {\r\n selectedObj:any\r\n}\r\nexport const OrganizationRoles = ({selectedObj}:propsOrganizationalStructure) => {\r\n const [data, setData] = useState()\r\n const [forceUpdate, setForceUpdate] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n const [showAddForm, setShowAddForm] = useState(false)\r\n const [selected, setSelected] = useState()\r\n const [idCallback, setIdCallback] = useState(\"2\")\r\n const [messageType, setMessageType] = useState(\"info\")\r\n const [message, setMessage] = useState(\"NoDataForPreview\")\r\n const [selectedList, setSelectedList] = useState([])\r\n const [treeType, setTreeType] = useState(false)\r\n const [ListResponse, setListResponse] = useState()\r\n const [exceptListResponse, setExceptListResponse] = useState()\r\n const [search, setsearch] = useState(null);\r\n const [defultShow, setDefultShow] = useState(false);\r\n\r\n\r\n let theadData: any = []\r\n let obj: any = {}\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"tree\":setTreeType(!treeType);break;\r\n case \"print\":alert(\"print \");break;\r\n case \"remove\":deletListAsync();break;\r\n case \"copy\":copyList();break;\r\n case \"paste\":pasteList();break;\r\n // case \"excel\":alert(\"excel \");break;\r\n case \"create\":setShowAddForm(!showAddForm);break;\r\n case \"refresh\":setForceUpdate(!forceUpdate);break;\r\n\r\n }\r\n };\r\n\r\n\r\n\r\n async function addNewRoles(List) {\r\n \r\n let addList:any = []\r\n if(ListResponse){\r\n\r\n Object.keys(List).forEach((item , index )=> {\r\n if(!Object.keys(ListResponse).includes(item) ){\r\n addList.push(item)\r\n }\r\n \r\n });\r\n }else{\r\n addList = Object.keys(List)\r\n }\r\n \r\n \r\n try {\r\n \r\n await addNewRolesAsync(selectedObj.Id,addList )\r\n setForceUpdate(!forceUpdate)\r\n\r\n } catch (err: any) {\r\n \r\n }\r\n \r\n }\r\n\r\n\r\n\r\n\r\n function pasteList() {\r\n const List:any = localStorage.getItem(\"storageCopy\" )\r\n addNewRoles(JSON.parse(List) )\r\n\r\n}\r\n function copyList() {\r\n \r\n // Toast(\"TextCopiedToClipboard\" , \"success\")\r\n Toast(\"TextCopiedToClipboard\" , MessageType.success)\r\n\r\n localStorage.setItem(\"storageCopy\" ,JSON.stringify(ListResponse) )\r\n\r\n}\r\nfunction isIn(name ,inList) {\r\n let flag = false\r\n if(!inList){\r\n exceptListResponse.forEach(item => {\r\n if(item.startsWith(name+\".\")){\r\n flag = true\r\n return true\r\n }\r\n });\r\n return flag\r\n }else{\r\n return true\r\n }\r\n}\r\n\r\n\r\nfunction set(name, value) {\r\n var obj2 = obj; \r\n var nameList = name.split('.');\r\n let inList =false\r\n var len = nameList.length;\r\n let elem = nameList[0];\r\n for(var i = 0; i {\r\n tree.push({\r\n Id : parentId+item ,\r\n parentId : parentId ,\r\n Children : setTree(obj2[item] , parentId+item+\".\" ) ,\r\n Description : item\r\n })\r\n})\r\n\r\n}\r\nreturn tree\r\n}\r\n\r\nfunction array_move(arr, old_index, new_index) {\r\n if (new_index >= arr.length) {\r\n var k = new_index - arr.length + 1;\r\n while (k--) {\r\n arr.push(undefined);\r\n }\r\n }\r\n arr.splice(new_index, 0, arr.splice(old_index, 1)[0]);\r\n return arr; // for testing\r\n};\r\n\r\n\r\nasync function getListAsync() {\r\n setLoading(false)\r\n let newTypeObject:any = {}\r\n try {\r\n const response = await getOrganizationRolesList(selectedObj.Id , \"\")\r\n if(response.Data){\r\n if(treeType){\r\n Object.keys(response.Data).forEach(item => {\r\n var nameList = response.Data[item].split('.');\r\n let ty = array_move(nameList, 3, 1)\r\n newTypeObject = Object.assign(newTypeObject,{[item] :ty.join(\".\") })\r\n set( ty.join(\".\"), item);\r\n });\r\n setListResponse(newTypeObject)\r\n }else{\r\n setListResponse(response.Data)\r\n if(response.Data){\r\n Object.keys(response.Data).forEach(item => {\r\n set( response.Data[item], item);\r\n });\r\n }else{\r\n setData(null)\r\n \r\n }\r\n }\r\n let tabletr = setTree(obj , \"\")\r\n if(tabletr.length >0){\r\n setData(tabletr)\r\n }\r\n }else{\r\n setData(null)\r\n }\r\n } catch (err: any) {\r\n setMessageType(\"error\")\r\n setMessage(err.response.data.Message)\r\n }\r\n setLoading(true)\r\n}\r\n\r\n\r\nasync function getExceptListAsync() {\r\n setLoading(false)\r\n try {\r\n const response = await getExceptOrganizationRolesList(selectedObj.Id, \"\")\r\n let newTypeObject:any = {}\r\n setExceptListResponse(response.Data ?Object.values(response.Data) :[])\r\n } catch (err: any) {\r\n setMessageType(\"error\")\r\n setMessage(err.response.data.Message)\r\n }\r\n setLoading(true)\r\n}\r\n\r\n\r\nasync function deletListAsync(){\r\n let newList:any = []\r\n selectedList.forEach((item , index)=>{\r\n Object.values(ListResponse)?.forEach((item2:any,index2) => {\r\n if((item.split(\".\").length - 1 ==3 && item2.includes(item)) || (item2.includes(item+\".\"))||(!item.includes(\".\")&& item2.includes(item)))\r\n newList.push(Object.keys(ListResponse)[index2])\r\n \r\n \r\n });\r\n \r\n })\r\n \r\n try {\r\n if(newList.length > 0){\r\n\r\n //Toast(trans(`msg_deleteitemsconfirm`) , \"warning\" , \"alert\" , async()=>{await deletRolesAsync(selectedObj.Id, newList); setForceUpdate(!forceUpdate)} )\r\n Toast(trans(`msg_deleteitemsconfirm`) ,MessageType.confirmDelete , async()=>{await deletRolesAsync(selectedObj.Id, newList); setForceUpdate(!forceUpdate)})\r\n }else{\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"),MessageType.warning)\r\n\r\n }\r\n } catch (err: any) {\r\n \r\n }\r\n\r\n}\r\n\r\nconst Searchhandleer = (str) => {\r\n if (str === \"\"||str==null) {\r\n setsearch(null)\r\n setDefultShow(false)\r\n getListAsync()\r\n }else{\r\n setsearch(str)\r\n setDefultShow(true)\r\n if(ListResponse && ListResponse !== undefined){\r\n setLoading(false)\r\n obj = {}\r\n setData(null)\r\n Object.keys(ListResponse).forEach(item => {\r\n if(str!= \"\"){\r\n let flag = true\r\n ListResponse[item].split('.').forEach(word=>{\r\n if(flag && trans(word).includes(str)){\r\n flag = false\r\n return ;\r\n }\r\n })\r\n if(!flag){\r\n set( ListResponse[item], item);\r\n \r\n }\r\n \r\n }else{\r\n set( ListResponse[item], item);\r\n \r\n }\r\n });\r\n\r\n let tabletr = setTree(obj , \"\")\r\n if(tabletr.length >0){\r\n \r\n setData(tabletr)\r\n }\r\n setLoading(true)\r\n}\r\n\r\n }\r\n}\r\n useEffect(() => {\r\n getExceptListAsync()\r\n }, [forceUpdate , treeType]);\r\n useEffect(() => {\r\n if(exceptListResponse){\r\n\r\n getListAsync()\r\n }\r\n \r\n }, [exceptListResponse]);\r\n \r\n\r\n\r\n if (data) {\r\n theadData = Object.keys(data[0])\r\n }\r\n\r\n\r\n\r\n return (\r\n <>\r\n {showAddForm ?{setShowAddForm(!showAddForm)}} show={showAddForm} title={\"AvailableAccessRoles\"} >{setForceUpdate(!forceUpdate)} } onHide={setShowAddForm} /> : null}\r\n\r\n
\r\n \r\n
\r\n
\r\n <>\r\n {\r\n loading ? (\r\n data ?\r\n \r\n : \r\n )\r\n : \r\n }\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import { SelectBox } from \"components/Select/Select\";\r\nimport { InputHTMLAttributes, useContext, useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { getgroupPositionDictionarys } from \"../../api/api\";\r\ninterface groupPositionDictionaryProp extends InputHTMLAttributes {\r\n\r\n label?: string;\r\n name: string;\r\n value?: any;\r\n mode?: any;\r\n required?: boolean;\r\n selectedList?: (e) => void,\r\n}\r\nexport const GroupPositionDictionary = ({label, name, value, mode ,required,selectedList }: groupPositionDictionaryProp) => {\r\n const [optionsgroupPositionDictionary, setOptionsgroupPositionDictionary] = useState();\r\n const [errcode, setErrcode] = useState();\r\n const [app, setApp] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [selectedItem, setSelectedItem] = useState([]);\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n\r\n const groupPositionDictionaryApiAsync = async ()=>{\r\n setLoading(false)\r\n try {\r\n const res = await getgroupPositionDictionarys()\r\n setOptionsgroupPositionDictionary(res.Data)\r\n } catch (error:any) {\r\n setOptionsgroupPositionDictionary(null)\r\n setErrcode(error.response.status)\r\n\r\n }\r\n setLoading(true)\r\n\r\n }\r\n function addOption(e) {\r\n e.stopPropagation()\r\n e.preventDefault()\r\n let Name \r\n\r\n if(app){\r\n let groupPositionId = app.target.value\r\n let flag = false\r\n selectedItem.forEach(item => {\r\n if(item.Id ==groupPositionId ){\r\n flag =true\r\n }\r\n });\r\n if(!flag){\r\n let data:any \r\n Object.keys(optionsgroupPositionDictionary).map(item=>{\r\n if(item ==groupPositionId ){\r\n setSelectedItem([...selectedItem,{Id:groupPositionId ,Description:optionsgroupPositionDictionary[groupPositionId] }])\r\n selectedList&& selectedList([...selectedItem,{Id:groupPositionId ,Description:optionsgroupPositionDictionary[groupPositionId] }])\r\n }\r\n })\r\n \r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n function deleteaOption(e) {\r\n let newSelectedList:any =[] \r\n selectedItem.forEach(item=>{\r\n if(item.Id !=e ){\r\n newSelectedList.push(item) \r\n }\r\n })\r\n \r\n setSelectedItem(newSelectedList)\r\n selectedList&& selectedList(newSelectedList)\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n groupPositionDictionaryApiAsync()\r\n\r\n \r\n }, [layoutContext.currentUserPosition.PositionId ]);\r\n\r\n\r\n \r\n\r\n return (\r\n <>\r\n {loading ?\r\n <>\r\n {optionsgroupPositionDictionary !=null ?\r\n\r\n <>\r\n
\r\n
\r\n 1 ? mode : \"view\"}\r\n lable={label}\r\n selectType=\"select\"\r\n value={value}\r\n options={Object.values(optionsgroupPositionDictionary)}\r\n val={Object.keys(optionsgroupPositionDictionary)}\r\n name={name}\r\n > \r\n
\r\n {(optionsgroupPositionDictionary && Object.values(optionsgroupPositionDictionary).length >1) &&\r\n
\r\n } btnType=\"submit\" />\r\n
\r\n \r\n }\r\n
\r\n
\r\n \r\n { selectedItem.map((item, index) => (\r\n
\r\n
\r\n {trans(item.Description) } \r\n
\r\n
{deleteaOption(item.Id)}}>\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n\r\n \r\n :<>\r\n\r\n\r\n }\r\n \r\n \r\n : \r\n }\r\n\r\n \r\n );\r\n};\r\n","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Person } from \"components/Person/Person\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\nimport { AddNewPosition, deletePosition, editPosition, getPosition, getPositionOrganizationList } from \"../../api/api\";\r\nimport { GroupPositionDictionary } from \"./GroupPositionDictionarySelect\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface PositionFormPropsType {\r\n selectedObj;\r\n\r\n}\r\nexport const PositionForm = ({ \r\n selectedObj,\r\n\r\n}: PositionFormPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [fromDate, setFromDate] = useState(null);\r\n const [untilDate, setUntilDate] = useState(null);\r\n const [response , setResponse ] = useState< any>(null);\r\n const [position , setPosition ] = useState< any>();\r\n const [selectedPosition , setSelectedPosition ] = useState< any>();\r\n const [mode , setMode ] = useState< any>();\r\n const [showPositions , setShowPositions ] = useState< any>(false);\r\n const [loading , setLoading] = useState(false)\r\n const [loading2 , setLoading2] = useState(false)\r\n const [messageType , setMessageType] = useState< any>(\"info\")\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [filterList, setFilterList] = useState(\"\");\r\n const [PageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(5);\r\n const [search, setSearch] = useState(null);\r\n const [showDeleted, setShowDeleted] = useState(false);\r\n const [pages,setPages] = useState(1);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [groupPositionDictionary, setGroupPositionDictionary] = useState([]);\r\n const [flag,setFlag] = useState(false);\r\n\r\n \r\n\r\n\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"reference\":\r\n alert(\"call api reference with Id :\");\r\n break;\r\n case \"view\":if(selectedPosition){\r\n defaultFormData();\r\n mode != \"view\" ?setShowPositions(true) : setShowPositions(!showPositions)\r\n setMode(\"view\") ;\r\n } break;\r\n case \"edit\":if(selectedPosition){\r\n defaultFormData();\r\n mode != \"edit\" ?setShowPositions(true) : setShowPositions(!showPositions)\r\n setMode(\"edit\") ;\r\n } break;\r\n case \"print\":\r\n alert(\"print \");\r\n break;\r\n case \"remove\":if(!showPositions){if (selectedPosition)\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , handleDeleteRow);} break;\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete , handleDeleteRow);} break;\r\n\r\n case \"excel\":\r\n downloadCSV(response?.Data ,3 ,trans(\"PositionForm\"));\r\n break;\r\n case \"refresh\":\r\n setResetForm(true);\r\n getPositionorganizationIdAsync(selectedObj.Id);\r\n break;\r\n case \"create\":\r\n setPosition(null);\r\n setResetForm(true);\r\n setLoading2(true);\r\n mode != \"create\" ?setShowPositions(true) : setShowPositions(!showPositions);\r\n setMode( \"create\");\r\n \r\n break;\r\n }\r\n };\r\n \r\n\r\n\r\n\r\n\r\n const getWithOrder = (order: string[]) => {\r\n setOrderBy(order)\r\n }\r\n \r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(+e.currentTarget.value);\r\n getPageSize(\"PositionForm\" ,+e.currentTarget.value);\r\n getPositionorganizationIdAsync(selectedObj.Id ,1);\r\n };\r\n \r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) {}\r\n else {setPageNum(+value);getPositionorganizationIdAsync(selectedObj.Id ,value)};\r\n } else {\r\n \r\n }\r\n };\r\n const handleNextPage = () => { \r\n\r\n if (PageNum < pages) {\r\n setPageNum(PageNum + 1);\r\n getPositionorganizationIdAsync(selectedObj.Id ,PageNum + 1);\r\n };\r\n };\r\n const handlePrevPage = () => {\r\n\r\n if (PageNum > 1) {\r\n setPageNum((pageNum) => { return +pageNum - 1 });\r\n getPositionorganizationIdAsync(selectedObj.Id ,PageNum - 1);\r\n };\r\n };\r\n \r\n\r\n\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n if(str ==\"\" ){\r\n setSearch(null)\r\n }else{\r\n setSearch(str)\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n\r\n const handleDeleteRow = async() => {\r\n try {\r\n const res = await deletePosition(selectedPosition.Id)\r\n getPositionorganizationIdAsync(selectedObj.Id)\r\n setResetForm(true)\r\n\r\n } catch (error) {\r\n \r\n }\r\n }\r\n function selectedPositionCallback(obj) {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{setSelectedPosition(obj);sessionStorage.setItem(\"changingforms\" , \"false\"); setUserChanges({}) });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{setSelectedPosition(obj);sessionStorage.setItem(\"changingforms\" , \"false\"); setUserChanges({}) });\r\n\r\n }else{\r\n setSelectedPosition(obj) \r\n };\r\n }\r\n \r\n\r\n async function sendNodeAsync(data) {\r\n try{\r\n const res = await AddNewPosition(data);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n setResetForm(true)\r\n setShowPositions(false)\r\n getPositionorganizationIdAsync(selectedObj.Id)\r\n }catch(err:any){\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n async function putNodeAsync(data) {\r\n try{\r\n const res = await editPosition(data);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n setResetForm(true)\r\n setShowPositions(false)\r\n getPositionorganizationIdAsync(selectedObj.Id)\r\n }catch(err:any){\r\n\r\n }\r\n }\r\n\r\n async function getPositionorganizationIdAsync(id,pageNum = PageNum) { \r\n setLoading(false)\r\n setResponse(null)\r\n let pageSizeChangedByUser = getPageSize(\"PositionForm\" )\r\n setPageSize(pageSizeChangedByUser)\r\n try{\r\n const res = await getPositionOrganizationList(id,pageNum, pageSizeChangedByUser , orderBy.join(\",\") , filterList ,search ,showDeleted);\r\n setResponse(res.Data)\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1)\r\n setMessageType(\"info\")\r\n }catch(err:any){\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n\r\n const defaultFormData = async (id=selectedPosition.Id)=>{ \r\n setLoading2(false)\r\n \r\n try{\r\n const res = await getPosition(id); \r\n setPosition(res.Data.Position) \r\n }catch(err:any){\r\n\r\n }\r\n setLoading2(true)\r\n }\r\n\r\n\r\n const getNewPosition = async ()=>{\r\n setLoading2(false)\r\n try{\r\n const res = await getPosition(selectedPosition.Id); \r\n setPosition(res.Data.Position) \r\n }catch(err:any){\r\n\r\n }\r\n setLoading2(true)\r\n }\r\n const selectedShowDeletedFilterCallback = async (e)=>{\r\n if(e==0){\r\n setShowDeleted(false)\r\n\r\n }else{\r\n setShowDeleted(true)\r\n }\r\n }\r\n\r\n\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // setShowPositions(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n setShowPositions(false)\r\n });\r\n }else{\r\n setShowPositions(false) \r\n };\r\n\r\n\r\n }\r\n\r\n \r\n const validationDates = () =>{\r\n if(fromDate && untilDate && fromDate?.toString().slice(0,10) > untilDate?.toString().slice(0,10)){\r\n setFlag(true)\r\n }else{\r\n setFlag(false)\r\n }\r\n}\r\n\r\n\r\n const handlePersonContactFormSubmit = (event) => {\r\n event.preventDefault();\r\n if(flag){\r\n // Toast(trans(\"InvalidEndDate\"),\"error\");\r\n Toast(trans(\"InvalidEndDate\"),MessageType.error);\r\n\r\n }else{\r\n if(mode==\"edit\"){\r\n let data={\r\n \"Id\" : selectedPosition.Id,\r\n \"OrganizationId\": selectedObj.Id,\r\n \"IsDefault\": event.target.checkbox.checked,\r\n \"FromDate\":fromDate? fromDate : null ,\r\n \"UntilDate\": untilDate? untilDate : null ,\r\n \"Title\": event.target.Title.value ,\r\n \"TitleEN\": event.target.TitleEN.value ,\r\n \"PersonId\": event.target.PersonId.value,\r\n \"PostLevelId\" : event.target.PostLevel.value,\r\n }\r\n\r\n\r\n putNodeAsync(data)\r\n }else{\r\n\r\n let data={\r\n \"OrganizationId\": selectedObj.Id,\r\n \"IsDefault\": event.target.checkbox.checked,\r\n \"FromDate\":fromDate? fromDate : null ,\r\n \"UntilDate\": untilDate? untilDate : null ,\r\n \"PersonId\": event.target.PersonId.value,\r\n \"Title\": event.target.Title.value ,\r\n \"TitleEN\": event.target.TitleEN.value ,\r\n \"PostLevelId\" : event.target.PostLevel.value,\r\n }\r\n sendNodeAsync({Position:data ,GroupPositionIds:groupPositionDictionary.map(item=>{return item.Id})})\r\n }\r\n }\r\n }\r\n\r\n \r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n \r\n useEffect(() => {\r\n setUntilDate(null)\r\n setFromDate(null)\r\n setPosition(null)\r\n\r\n }, [showPositions]);\r\n\r\n useEffect(() => {\r\n setPageNum(1)\r\n getPositionorganizationIdAsync(selectedObj.Id,1);\r\n }, [ selectedObj,search,orderBy,filterList,showDeleted]);\r\n\r\n useEffect(() => {\r\n if(mode != \"create\" &&showPositions ){\r\n\r\n getNewPosition()\r\n \r\n }\r\n }, [selectedPosition]);\r\n\r\n useEffect(()=>{\r\n validationDates()\r\n },[untilDate,fromDate])\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n { \r\n showPositions &&\r\n <>\r\n {loading2 ?\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n resetForm={resetForm} \r\n value={position?.PersonId ? position?.PersonId : null}\r\n mode={mode}\r\n /> \r\n\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n lable=\"fromDate\"\r\n setIsoTime={(isoTime: string) => { setFromDate(isoTime) }}\r\n val={ position?.FromDate ? position?.FromDate : null} //resetForm ? new Date().toISOString() : \r\n errorFlag={flag}\r\n />\r\n
\r\n \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n label= \"PostLevel\"\r\n name= \"PostLevel\"\r\n endPoint={ENDPOINTS.BaseInformation.postLevel.dictionary}\r\n resetForm={resetForm}\r\n value={position?.PostLevelId ?position?.PostLevelId : null }\r\n mode={mode} \r\n />\r\n
\r\n \r\n {\r\n mode==\"create\"&&\r\n
\r\n \r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n defaultValue={position?.Title ? position?.Title : selectedObj.Description}\r\n textboxType=\"text\"\r\n textboxName=\"Title\"\r\n labelText=\"Title\"\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultValue={position?.TitleEN ? position?.TitleEN : null}\r\n textboxType=\"text\"\r\n textboxName=\"TitleEN\"\r\n fixedLanguage={\"en\"}\r\n labelText=\"TitleEN\"\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n lable=\"untilDate\"\r\n setIsoTime={(isoTime: string) => { setUntilDate(isoTime) }}\r\n val={position?.UntilDate ? position?.UntilDate : null} //resetForm ? new Date().toISOString() : \r\n errorFlag={flag}\r\n /> \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={mode == \"create\" ? true : (position?.IsDefault)}\r\n defaultValue={mode == \"create\" ? true : (position?.IsDefault)}\r\n labelText={\"isdefault\"}\r\n inputName={\"checkbox\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
\r\n
\r\n { mode !==\"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n } \r\n
\r\n :
}\r\n \r\n }\r\n {loading ?\r\n (response?.Data?.length>0 ?\r\n
\r\n {defaultFormData(e.Id);setMode(\"edit\"); setShowPositions(true)}}\r\n orderFormat={getWithOrder}\r\n orderFormatList={orderBy}\r\n handlefiltering={(str)=>{setFilterList(str) ; }}\r\n filterStr={filterList}\r\n parentName={\"PositionForm\"}\r\n multiSelect={false}\r\n theadData={Object.keys(response?.Data[0])}\r\n minCellWidth={80}\r\n tbodyData={response?.Data}\r\n selectedRowObjectCallback={selectedPositionCallback} \r\n startIndex={6} \r\n useLanguage={true} \r\n scrollHeight={\"300px\"} \r\n totalRecords={response?.TotalRecords}\r\n pageNum={PageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() => {getPositionorganizationIdAsync(selectedObj.Id ,pages);setPageNum(pages)}}\r\n end={() => {getPositionorganizationIdAsync(selectedObj.Id,1);setPageNum(1)}}\r\n handleGoPage={handleGoPage} \r\n />
\r\n : \r\n )\r\n : \r\n }\r\n
\r\n
\r\n
\r\n );\r\n}","\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { canAddChildToOrganization, deleteNode, getFully } from './api/api';\r\nimport { OrganizationForm } from \"./components/OrganizationForm/OrganizationForm\";\r\nimport { OrganizationRoles } from \"./components/OrganizationRoles/OrganizationRoles\";\r\nimport { PositionForm } from \"./components/PositionForm/PositionForm\";\r\nimport './style.scss';\r\nimport { MessageType } from \"types/enum\";\r\n\r\nexport const OrganizationalStructure = () => {\r\n const [showOrganizationForm, setShowOrganizationForm] = useState(false)\r\n const [showPositionForm, setShowPositionForm] = useState(false)\r\n const [showRoleForm, setShowRoleForm] = useState(false)\r\n const [forceUpdate, setForceUpdate] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n const [defultShow, setDefultShow] = useState(true)\r\n const [Fullydata, setFullydata] = useState()\r\n const [selectedObj, setSelectedObj] = useState(null)\r\n const [idCallback, setIdCallback] = useState(\"2\")\r\n const [showActiveRowsOnly, setShowActiveRowsOnly] = useState(1)\r\n const [mode, setmode] = useState()\r\n const [messageType, setMessageType] = useState(\"info\")\r\n\r\n let theadData: any = []\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"tree\":setSelectedObj(null);getFullyAsync();setDefultShow(!defultShow);break;\r\n case \"view\": if (selectedObj){ setmode(\"view\"); setShowOrganizationForm(!showOrganizationForm);} else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\") \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n }; break;\r\n case \"edit\": if (selectedObj){ setmode(\"edit\"); setShowOrganizationForm(!showOrganizationForm);} else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\") \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n }; break;\r\n case \"print\":alert(\"print \");break;\r\n case \"remove\":if (selectedObj) {\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete, deletListAsync)\r\n }else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n }; break;\r\n // case \"excel\":alert(\"excel \");break;\r\n case \"refresh\":setForceUpdate(!forceUpdate);break;\r\n case \"create\": if (selectedObj) { setmode(\"create\"); canAddChildTo(selectedObj) } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\") \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n }; break;\r\n case \"people\": if (selectedObj){ setmode(\"edit\");setShowPositionForm(!showOrganizationForm);}else { \r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n }; break;\r\n case \"assignrule\": if (selectedObj){setmode(\"edit\"); setShowRoleForm(!showRoleForm);} else { \r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\") \r\n\r\n }; break;\r\n }\r\n };\r\n const handleViewModalForm = () => {\r\n setIdCallback(selectedObj.Id)\r\n setShowOrganizationForm(false)\r\n setShowPositionForm(false)\r\n setIdCallback(\" \")\r\n\r\n }\r\n async function deletListAsync() {\r\n try {\r\n await deleteNode(selectedObj.Id)\r\n setForceUpdate(!forceUpdate)\r\n } catch (err: any) {\r\n\r\n }\r\n\r\n }\r\n\r\n async function moveNudeAsync(drag, drop) {\r\n try {\r\n // const response = await moveNude(drag, drop)\r\n // setReload(!reload)\r\n // return true\r\n\r\n } catch (err: any) {\r\n\r\n }\r\n\r\n }\r\n\r\n const canAddChildTo = async(obj) => {\r\n try {\r\n const can: any =await canAddChildToOrganizationAsync(obj.Id)\r\n setShowOrganizationForm(!showOrganizationForm)\r\n } catch (error) {\r\n // Toast(\"Msg_CanNotAddChildForThisNode\", \"error\")\r\n Toast(\"Msg_CanNotAddChildForThisNode\",MessageType.error)\r\n\r\n }\r\n \r\n }\r\n async function getFullyAsync() {\r\n setLoading(false)\r\n try {\r\n console.log(\"showActiveRowsOnly\" ,showActiveRowsOnly)\r\n const respons = await getFully(showActiveRowsOnly==1)\r\n setFullydata(respons.Data)\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n\r\n setLoading(true)\r\n }\r\n\r\n async function canAddChildToOrganizationAsync(id) {\r\n // try {\r\n // const respons = await canAddChildToOrganization(id)\r\n // return respons\r\n // } catch (error) {\r\n // return false\r\n // }\r\n }\r\n const selectedShowActiveRowsOnlyFilterCallback = async (e)=>{\r\n if(e==0){\r\n setShowActiveRowsOnly(false)\r\n\r\n }else{\r\n setShowActiveRowsOnly(true)\r\n }\r\n}\r\n\r\n useEffect(() => {\r\n setShowOrganizationForm(false)\r\n setSelectedObj(null)\r\n getFullyAsync()\r\n }, [forceUpdate ,showActiveRowsOnly]);\r\n\r\n if ( Fullydata) {\r\n theadData = Object.keys(Fullydata[0])\r\n }\r\n\r\n\r\n\r\n return (\r\n <>\r\n {showOrganizationForm ? : null}\r\n {showPositionForm ? : null}\r\n {showRoleForm ? { setShowRoleForm(!showRoleForm) }} show={showRoleForm} modalProfileKey={\"Users\"} title={trans(\"AssignedAccessRoles\") + \" : \" + selectedObj.Description} > : null}\r\n \r\n
\r\n
\r\n <>\r\n {\r\n loading ? (\r\n Fullydata ?\r\n \r\n : \r\n )\r\n : \r\n }\r\n \r\n
\r\n
\r\n \r\n )\r\n}","import { Button } from \"components/Button/Button\"\r\nimport { Toast } from \"components/ToastShow/ToastAlert\"\r\nimport { Textbox } from \"components/Textbox/Textbox\"\r\nimport { useEffect, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { sendNode, getFirstNode, getSubNode } from \"./api\"\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\"\r\nimport { MessageType } from \"types/enum\"\r\n\r\n\r\ninterface props {\r\n showForm: (e:boolean) => void\r\n selectedObj: any\r\n mode: any\r\n\r\n}\r\n\r\ninterface PersonalalArchiveDetail {\r\n RootId: string // id اولین سطر\r\n ParentId: string // id سطر انتخابی\r\n Description: string\r\n Code: string\r\n Format: string\r\n LevelLimitation: number\r\n ActivityStatus: number \r\n}\r\n\r\nexport const ArchiveFolderForm = ({showForm, selectedObj, mode}: props) => {\r\n const [nodeData, setNodeData] = useState()\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n\r\n const getNodeDataAsync = async() => {\r\n try {\r\n const res = await getSubNode(selectedObj.Id)\r\n setNodeData(res.Data) \r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n const sendNodeDataAsync = async(method , data) => {\r\n try {\r\n const res = await sendNode(data ,method )\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(false); \r\n } catch (error) {\r\n \r\n }\r\n \r\n }\r\n const handleSubmit = (event) => {\r\n event.preventDefault()\r\n if(mode === 'create'){\r\n if( (selectedObj?.RootId == null) ){\r\n const data = {\r\n RootId: selectedObj?.Id , \r\n ParentId: null, \r\n Description: event.target.Description.value,\r\n // Securitylevel : +event.target.Securitylevel.value\r\n } \r\n sendNodeDataAsync( \"post\", data)\r\n }else{\r\n const data = {\r\n RootId: selectedObj.RootId , \r\n ParentId: selectedObj?.Id, \r\n Description: event.target.Description.value,\r\n // Securitylevel : +event.target.Securitylevel.value\r\n } \r\n sendNodeDataAsync( \"post\", data)\r\n }\r\n }else if (mode === 'edit'){\r\n const data = {\r\n Id: selectedObj.Id,\r\n ParentId: nodeData.ParentId, \r\n RootId: nodeData.RootId, \r\n ActivityStatus: parseInt(event.target.ActivityStatus.value), \r\n Description: event.target.Description.value,\r\n // Securitylevel : +event.target.Securitylevel.value\r\n }\r\n sendNodeDataAsync(\"put\" , data)\r\n }\r\n } \r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(false)\r\n });\r\n }else{\r\n showForm(false) \r\n };\r\n\r\n\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n \r\n useEffect(()=>{\r\n if(selectedObj && mode != \"create\"){\r\n getNodeDataAsync()\r\n }\r\n },[])\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n maxLength={900}\r\n mode={mode}\r\n required={true}\r\n defaultValue={mode === 'edit' || mode === 'view' ? nodeData && nodeData?.Title || nodeData?.Description : ''}\r\n />\r\n
\r\n {mode!=\"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n name=\"ActivityStatus\"\r\n label=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={mode === 'edit' || mode === 'view' ? nodeData && nodeData?.ActivityStatus : ''}\r\n mode={mode}\r\n />\r\n
\r\n } \r\n {mode !==\"view\" &&\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n\r\n
\r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\"\r\nimport { http } from \"utils/http\"\r\n\r\n\r\n\r\n\r\n\r\nexport const sendNode = (data: any , method) => http({\r\n url: ENDPOINTS.archive.personalArchiveDetail.browse,\r\n method: method,\r\n data: data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n});\r\n\r\n\r\n\r\n\r\nexport const getFirstNode = (Id: any) => http({\r\n url: ENDPOINTS.archive.personalArchive.browse,\r\n method: \"get\",\r\n params: {\r\n Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n // return Promise.reject(err);\r\n});\r\n\r\nexport const getSubNode = (Id: any) => http({\r\n url: ENDPOINTS.archive.personalArchiveDetail.load,\r\n method: \"get\",\r\n params: {\r\n Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n // return Promise.reject(err);\r\n});\r\n","import { useEffect, useState } from \"react\";\r\nimport { putArchiveData, postArchiveData, getArchiveDataWithId } from \"./api\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface props {\r\n showForm: () => void\r\n selectedObj: any\r\n mode: any\r\n\r\n}\r\n\r\n\r\nexport const ArchiveForm = ({showForm, selectedObj, mode}: props) => {\r\n let gridColumns: any[] = []; let gridData: any[] = [];\r\n const [response, setResponse] = useState(null);\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [EditForm, setEditForm] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n \r\n\r\n const handleSubmit = (e) => {\r\n e.preventDefault();\r\n if (mode === 'create') {\r\n postArchiveData({\r\n Title: e.target.Title.value,\r\n })\r\n .then(() => {sessionStorage.setItem(\"changingforms\" , \"false\");setUserChanges({}); setResetForm(true);showForm() });\r\n } else if (mode === 'edit') {\r\n putArchiveData({ \r\n Id: selectedObj.Id,\r\n Title: e.target.Title.value, \r\n ActivityStatus: parseInt(e.target.ActivityStatus.value),\r\n })\r\n .then(() => { sessionStorage.setItem(\"changingforms\" , \"false\");setUserChanges({}) ; setResetForm(true); setEditForm(null) ;showForm()}) \r\n \r\n }\r\n\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // setEditForm(null);\r\n // showForm()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n setEditForm(null);\r\n showForm()\r\n });\r\n }else{\r\n setEditForm(null);\r\n showForm() \r\n };\r\n }\r\n\r\n\r\n async function getArchiveDataAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getArchiveDataWithId(selectedObj.Id);\r\n setEditForm(res.Data);\r\n \r\n } catch (error) {\r\n }\r\n setLoading(true)\r\n }\r\n \r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) setResetForm(false);\r\n }, [resetForm]);\r\n\r\n\r\n useEffect(() => {\r\n if(mode!=\"create\")\r\n getArchiveDataAsync()\r\n else setLoading(true)\r\n\r\n }, []);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n if (response?.length > 0) {\r\n gridColumns = Object.keys(response[0]);\r\n gridData = response;\r\n }\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {loading ?\r\n\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true} \r\n textboxName={\"Title\"}\r\n textboxType=\"text\" \r\n resetForm={resetForm}\r\n labelText={\"Title\"} \r\n mode={mode === \"view\" ? \"view\" : null}\r\n defaultValue={EditForm?.Title} \r\n />\r\n
\r\n {mode!=\"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n name=\"ActivityStatus\"\r\n label=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={EditForm?.ActivityStatus}\r\n mode={mode === \"view\" ? \"view\" : null}\r\n />\r\n
\r\n }\r\n {mode !== 'view' &&\r\n
\r\n
\r\n }\r\n
\r\n : \r\n }\r\n
\r\n
\r\n \r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getArchiveData = () => http({\r\n url: ENDPOINTS.archive.personalArchive.dictionary,\r\n method: 'get',\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\nexport const postArchiveData = (data) => http({\r\n url: ENDPOINTS.archive.personalArchive.browse,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\nexport const putArchiveData = (data) => http({\r\n url: ENDPOINTS.archive.personalArchive.browse,\r\n method: 'put',\r\n data: data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n\r\nexport const getArchiveDataWithId = (id) => http({\r\n url: ENDPOINTS.archive.personalArchive.getId,\r\n method: 'get',\r\n params:{\r\n Id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n\r\n","import { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { JobEntireTree } from \"./api/api\";\r\ninterface ReferenceHistoryPropsType {\r\n jobId: any,\r\n}\r\n\r\nexport const ReferenceHistory = ({\r\n jobId,\r\n \r\n}: ReferenceHistoryPropsType) => {\r\n\r\n const [response , setResponse] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n\r\n async function jobEntireTreeAsync(jobId) {\r\n setLoading(false)\r\n try {\r\n const res = await JobEntireTree(jobId )\r\n setResponse(res.Data)\r\n } catch (error) {\r\n setResponse([])\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n useEffect( () => {\r\n jobEntireTreeAsync(jobId)\r\n }, [jobId]);\r\n return (\r\n <>\r\n
\r\n {\r\n loading ? (\r\n response ?\r\n \r\n : ) \r\n\r\n : \r\n }\r\n
\r\n \r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const JobEntireTree = (id ) => http({\r\n url: ENDPOINTS.Management.JobManagement.JobEntireTree ,\r\n method: 'get',\r\n params: {\r\n Id:id ,\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n});\r\n\r\n","import { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\"\r\nimport { http } from \"utils/http\"\r\n\r\n\r\nexport const getPersonArchive = (id: any) => http({\r\n url: ENDPOINTS.archive.personalArchive.archives,\r\n method: \"get\", \r\n params: {\r\n ParentId: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const getJobFileArchive = (Id: any ,pageNumber,pageSize) => http({\r\n url: ENDPOINTS.archive.JobPersonalArchiveDetail.browse,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n PersonalArchiveDetailId: Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const deleteJobFileArchive = (Id: any) => http({\r\n url: ENDPOINTS.archive.JobPersonalArchiveDetail.browse,\r\n method: \"delete\",\r\n params: {\r\n Id: Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\n\r\nexport const getViewForm = (processId: any, SelectedPosition?: any) => http({\r\n url: ENDPOINTS.bpmnApi.process.getViewForm,\r\n method: 'get',\r\n params: {\r\n processId: processId,\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n","import { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\n\r\nexport const getAttachmentViewers = (ownerId ) => http({\r\n url: ENDPOINTS.archive.JobOrganizationalArchiveDetail.fileList,\r\n method: 'get',\r\n params: {\r\n ownerId: ownerId,\r\n returenThumbnail:true\r\n }\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject( err);\r\n })\r\n\r\nexport const DeleteAttachmentViewers= (attachId ,endpoints) => http({\r\n url: endpoints,\r\n method: 'delete',\r\n params: {\r\n attachId: attachId\r\n }\r\n\r\n}).then(response => {\r\n return response.data\r\n}\r\n\r\n)\r\n\r\nexport const GetAttachmentText= (attachId ,PreprocessingOptions) => http({\r\n url: ENDPOINTS.archive.JobOrganizationalArchiveDetail.attachmentText,\r\n method: 'get',\r\n params: {\r\n AttachId: attachId ,\r\n ...PreprocessingOptions\r\n }\r\n\r\n}).then(response => {\r\n return response.data\r\n}\r\n\r\n)\r\nexport const GetHelp= () => http({\r\n url: ENDPOINTS.archive.JobOrganizationalArchiveDetail.help,\r\n method: 'get',\r\n}).then(response => {\r\n return response.data\r\n}\r\n\r\n)\r\n\r\nexport const PostAttachmentViewers = (data, ownerId , endpoints ,Name) =>\r\n http({\r\n url: endpoints,\r\n method: 'post',\r\n params: {\r\n OwnerId: ownerId,\r\n fileName:Name\r\n },\r\n data: data,\r\n headers: {\r\n \"content-type\": \"multipart/form-data\",\r\n Accept: \"*/*\",\r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n });\r\n \r\nexport const PutAttachmentViewers = (data, ownerId , endpoints ,id) =>\r\n http({\r\n url: endpoints+\"Id\",\r\n method: 'put',\r\n params: {\r\n Id: id\r\n },\r\n data: data,\r\n headers: {\r\n \"content-type\": \"multipart/form-data\",\r\n Accept: \"*/*\",\r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n });\r\n \r\n\r\n\r\nfunction blobToBase64(blob) {\r\n return new Promise((resolve, _) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result);\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\nexport const loadAttachmentViewerBase64 = (attachId ) => http({\r\n url: ENDPOINTS.archive.JobOrganizationalArchiveDetail.file,\r\n method: 'get',\r\n params: {\r\n attachId: attachId\r\n },\r\n responseType: \"blob\"\r\n}).then(async(response) => {\r\n\r\n return blobToBase64(response.data)\r\n}).catch((err) => {\r\n // \r\n return Promise.reject( err);\r\n});\r\n\r\nexport const loadAttachmentViewer = (attachId ) => http({\r\n url: ENDPOINTS.archive.JobOrganizationalArchiveDetail.file,\r\n method: 'get',\r\n params: {\r\n attachId: attachId\r\n },\r\n responseType: \"blob\"\r\n}).then(response => {\r\n return response.data\r\n}).catch((err) => {\r\n // \r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const UpdateAttachmentDetails = (data ) => http({\r\n url: ENDPOINTS.archive.JobOrganizationalArchiveDetail.attachment,\r\n method: 'put',\r\n data:data\r\n}).then(response => {\r\n return response.data;\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const getAttachmentDetail = (Id ) => http({\r\n url: ENDPOINTS.archive.JobOrganizationalArchiveDetail.attachment,\r\n method: 'get',\r\n params:{\r\n attachId : Id\r\n }\r\n}).then(response => {\r\n return response.data;\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Fileviewer } from \"components/Fileviewer/Fileviewer\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { CardBoxAttachment } from \"./CardBoxAttachment/CardBoxAttachment\";\r\nimport { GetAttachmentText, GetHelp, UpdateAttachmentDetails, getAttachmentDetail, getAttachmentViewers, loadAttachmentViewer, loadAttachmentViewerBase64 } from \"./api\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { KeyWord } from \"components/KeyWord/KeyWord\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\n\r\ninterface props {\r\n ownerId?: string\r\n inPersonal?: boolean\r\n customStyle?:any\r\n}\r\nexport const AttachmentViewer = ({ ownerId ,inPersonal=false,customStyle}: props) => {\r\n\r\n const [response, setResponse] = useState(null);\r\n const [showModalCarousel, setshowModalCarousel] = useState(false);\r\n const [load, setLoad] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [loadingText, setLoadingText] = useState(true);\r\n const [index, setIndex] = useState();\r\n const [fileName, setFileName] = useState< any>();\r\n const [showFile, setShowFile] = useState(false);\r\n const [showDetailsForm, setShowDetailsForm] = useState(false);\r\n const [file, setFile] = useState();\r\n const [attachmentText, setAttachmentText] = useState();\r\n const [help, setHelp] = useState();\r\n const [showHelpModal, setShowHelpModal] = useState(false);\r\n const [messageType, setMessageType] = useState( \"info\");\r\n const [MessageTextType, setMessageTextType] = useState( \"info\");\r\n const [message, setMessage] = useState( \"NoDataForPreview\");\r\n const [keyWords, setKeyWords] = useState([]);\r\n const [preprocessingOptions, setPreprocessingOptions] = useState( {\r\n \"PreprocessingOptions.Grayscale\" : false,\r\n \"PreprocessingOptions.Denoise\" :false,\r\n \"PreprocessingOptions.BinaryInversion\" : false,\r\n \"PreprocessingOptions.BitwiseConversion\" : false,\r\n \"PreprocessingOptions.GaussianThresholding\" : false,\r\n \"PreprocessingOptions.IncreaseBrightness\" :false,\r\n \"PreprocessingOptions.IncreaseContrast\" : false,\r\n });\r\n\r\n async function getFileAsync(id , name) {\r\n try { \r\n const list = await loadAttachmentViewer(id );\r\n const blob = new Blob([list])\r\n const a = document.createElement('a');\r\n a.style.display = 'none';\r\n a.href = URL.createObjectURL(blob)\r\n a.download = name;\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n\r\n async function getAttachmentViewersAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getAttachmentViewers(ownerId )\r\n setResponse(res.Data ) \r\n } catch (error:any) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n \r\n async function getAttachmentDetailAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getAttachmentDetail(file.Id )\r\n \r\n setAttachmentText(res.Data?.AttachmentText)\r\n setKeyWords(res.Data?.Keywords?.replaceAll(\"'\" , \"\").split(\",\"))\r\n } catch (error:any) {\r\n setMessageTextType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n async function GetAttachmentTextAsync(e) {\r\n e.preventDefault()\r\n setLoadingText(false)\r\n try{\r\n let text = await GetAttachmentText(file.Id , preprocessingOptions)\r\n setAttachmentText(text)\r\n }catch(e){\r\n setMessageType(\"error\")\r\n \r\n }\r\n setLoadingText(true)\r\n \r\n }\r\n async function GetHelpAsync(e) {\r\n e.preventDefault()\r\n \r\n try{\r\n let image = await GetHelp()\r\n setHelp(image)\r\n setShowHelpModal(true)\r\n }catch(e){\r\n setMessageType(\"error\")\r\n \r\n }\r\n \r\n \r\n }\r\n \r\n function handleSlider(obj , i) {\r\n setIndex(i);\r\n setFileName(obj.FileName);\r\n setFile(obj);\r\n loadAttachmentViewerAsync(obj.Id);\r\n setshowModalCarousel(true);\r\n }\r\n async function UpdateAttachmentDetailsAsync(e) {\r\n e.preventDefault()\r\n try{\r\n let data = {\r\n \"AttachId\": file.Id,\r\n \"Keywords\": \"'\"+keyWords.join(\"','\")+\"'\",\r\n \"AttachmentText\":attachmentText\r\n }\r\n await UpdateAttachmentDetails(data )\r\n }catch(e){\r\n }\r\n }\r\n\r\n async function loadAttachmentViewerAsync(e) {\r\n try {\r\n const res:any = await loadAttachmentViewerBase64(e );\r\n setLoad(res);\r\n return res\r\n } catch (error) {\r\n setLoad(\" \")\r\n return \" \"\r\n }\r\n }\r\n\r\n function showFileHandler(e) {\r\n document.getElementById(\"DashboardLayout\")?.insertAdjacentHTML(\"afterbegin\", '
')\r\n setShowFile(true)\r\n }\r\n\r\n useEffect(() => {\r\n \r\n if(ownerId){\r\n getAttachmentViewersAsync();\r\n }\r\n }, [ownerId ])\r\n\r\n useEffect(() => {\r\n if(showDetailsForm && file?.Id){\r\n getAttachmentDetailAsync();\r\n }\r\n if(!showDetailsForm){\r\n setKeyWords([])\r\n setAttachmentText(null)\r\n setMessageTextType(\"info\")\r\n }\r\n }, [showDetailsForm ])\r\n\r\n function next() {\r\n setShowFile(false)\r\n if(index+1 ==response?.length ){\r\n handleSlider(response[0] , 0)\r\n }else{\r\n handleSlider(response[index+1] , index+1)\r\n }\r\n setShowFile(true)\r\n }\r\n\r\n function prev() {\r\n setShowFile(false)\r\n if(index ==0 ){\r\n handleSlider(response[response?.length-1] , response?.length-1)\r\n }else{\r\n handleSlider(response[index-1] , index-1)\r\n }\r\n setShowFile(true)\r\n }\r\n\r\n\r\n return (\r\n <> \r\n {showDetailsForm &&\r\n { setShowDetailsForm(false) }} show={showDetailsForm}>\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {setPreprocessingOptions({...preprocessingOptions ,\"PreprocessingOptions.Grayscale\":!preprocessingOptions[\"PreprocessingOptions.Grayscale\"] })}}\r\n defaultChecked={false}\r\n defaultValue={false}\r\n labelText={\"Grayscale\"}\r\n inputName={\"Grayscale\"}\r\n type=\"checkbox\"\r\n mode={\"create\"}\r\n /> \r\n
\r\n
\r\n {setPreprocessingOptions({...preprocessingOptions ,\"PreprocessingOptions.Denoise\":!preprocessingOptions[\"PreprocessingOptions.Denoise\"] })}}\r\n defaultChecked={false}\r\n defaultValue={false}\r\n labelText={\"Denoise\"}\r\n inputName={\"Denoise\"}\r\n type=\"checkbox\"\r\n mode={\"create\"}\r\n /> \r\n
\r\n
\r\n {setPreprocessingOptions({...preprocessingOptions ,\"PreprocessingOptions.BinaryInversion\":!preprocessingOptions[\"PreprocessingOptions.BinaryInversion\"] })}}\r\n defaultChecked={false}\r\n defaultValue={false}\r\n labelText={\"BinaryInversion\"}\r\n inputName={\"BinaryInversion\"}\r\n type=\"checkbox\"\r\n mode={\"create\"}\r\n /> \r\n
\r\n
\r\n {setPreprocessingOptions({...preprocessingOptions ,\"PreprocessingOptions.BitwiseConversion\":!preprocessingOptions[\"PreprocessingOptions.BitwiseConversion\"] })}}\r\n defaultChecked={false}\r\n defaultValue={false}\r\n labelText={\"BitwiseConversion\"}\r\n inputName={\"BitwiseConversion\"}\r\n type=\"checkbox\"\r\n mode={\"create\"}\r\n /> \r\n
\r\n
\r\n {setPreprocessingOptions({...preprocessingOptions ,\"PreprocessingOptions.GaussianThresholding\":!preprocessingOptions[\"PreprocessingOptions.GaussianThresholding\"] })}}\r\n defaultChecked={false}\r\n defaultValue={false}\r\n labelText={\"GaussianThresholding\"}\r\n inputName={\"GaussianThresholding\"}\r\n type=\"checkbox\"\r\n mode={\"create\"}\r\n /> \r\n
\r\n
\r\n {setPreprocessingOptions({...preprocessingOptions ,\"PreprocessingOptions.IncreaseBrightness\":!preprocessingOptions[\"PreprocessingOptions.IncreaseBrightness\"] })}}\r\n defaultChecked={false}\r\n defaultValue={false}\r\n labelText={\"IncreaseBrightness\"}\r\n inputName={\"IncreaseBrightness\"}\r\n type=\"checkbox\"\r\n mode={\"create\"}\r\n /> \r\n
\r\n
\r\n {setPreprocessingOptions({...preprocessingOptions ,\"PreprocessingOptions.IncreaseContrast\":!preprocessingOptions[\"PreprocessingOptions.IncreaseContrast\"] })}}\r\n defaultChecked={false}\r\n defaultValue={false}\r\n labelText={\"IncreaseContrast\"}\r\n inputName={\"IncreaseContrast\"}\r\n type=\"checkbox\"\r\n mode={\"create\"}\r\n /> \r\n
\r\n
\r\n \r\n \r\n
\r\n {loadingText ? \r\n <>\r\n {attachmentText ?\r\n
\r\n \r\n
\r\n :<> {MessageTextType== \"info\" ? <> : } \r\n } \r\n \r\n :\r\n \r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n }\r\n {showHelpModal &&\r\n { setShowHelpModal(false) }} show={showHelpModal}>\r\n
\r\n \r\n
\r\n
\r\n }\r\n {showModalCarousel &&\r\n
\r\n
\r\n
\r\n {fileName}\r\n
\r\n
{setshowModalCarousel(false); }}>\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {!inPersonal &&\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n }\r\n {showFile &&\r\n
\r\n {setShowFile(false);document.getElementById(\"backScreen\")?.remove()}} size=\"3x\" color='white' icon={['fas', 'times']} style={{zIndex:\"9999\" , cursor: 'pointer' , position:\"absolute\" }} />\r\n {getFileAsync(file.Id ,file.FileName )}} size=\"3x\" color='white' icon={['fas', 'download']} style={{zIndex:\"9999\" , cursor: 'pointer' , position:\"absolute\" ,marginRight:\"50px\" }} />\r\n
\r\n
{next()}} style={{right:\"-10px\", height:\"100vh\", position: \"absolute\" , flexDirection: \"column\" , display:\"flex\" , justifyContent:\"center\" , margin:\"10px\"}}>
\r\n \r\n
{prev()}} style={{left:\"40px\", height:\"100vh\", position: \"absolute\", flexDirection: \"column\" , display:\"flex\" , justifyContent:\"center\" , margin:\"10px\"}}>
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n {loading ?\r\n (response && response?.length > 0 ?\r\n <>\r\n
\r\n {response.map((item , index) => (\r\n {handleSlider(item , index)} } id={item.Id}\r\n fileName={item.FileName} handleDownloadTrigger={(e)=>{e.preventDefault() ; getFileAsync(item.Id ,item.FileName )} }/>\r\n ))}\r\n
\r\n \r\n :<> \r\n )\r\n : \r\n }\r\n
\r\n
\r\n \r\n );\r\n}\r\n\r\n\r\n\r\n\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getPosition = (positionId: any) => http({\r\n url: ENDPOINTS.BaseInformation.position.dictionary,\r\n method: 'get',\r\n params: {\r\n id: positionId\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n\r\n })\r\n\r\nexport const getJobByReferenceId = (referenceId: any) => http({\r\n url: ENDPOINTS.cartable.job.load,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n referenceId: referenceId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getReverseList = (referenceId: any) => http({\r\n url: ENDPOINTS.cartable.refer.reverseList,\r\n method: 'get',\r\n params: {\r\n referenceId: referenceId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getCartable = (PageNumber: number, PageSize: number, CartableType, processId, SelectedPosition?: any, orderFormat: string = \"\", str?: any, filterlist?: any) => http({\r\n url: ENDPOINTS.cartable.browse,//must be replace by cartable endpoints\r\n method: \"get\",\r\n params: {\r\n pageNumber: PageNumber,\r\n pageSize: PageSize,\r\n processId: processId,\r\n cartableType: CartableType,\r\n OrderByString: orderFormat,\r\n SearchString: str,\r\n FilterString: filterlist\r\n }\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n\r\n \r\nexport const PostArchive = (async (data ) => await http({\r\n url: ENDPOINTS.archive.JobPersonalArchiveDetail.browse ,\r\n method: 'post',\r\n data: data\r\n\r\n\r\n})\r\n.then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n }\r\n ))\r\n\r\n","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { CartableType } from \"types/enum\";\r\nimport { getGridSetting, getPageSize } from \"utils/helpers\";\r\nimport { getCartable } from \"./api\";\r\n\r\n\r\n\r\ninterface propsSelectJobList {\r\n type?: any; // => type is CartableType\r\n curentTab?: any; \r\n jobList?: any; \r\n addToJobList?: (ans: any) => void;\r\n\r\n}\r\nexport const SelectJobList = ({ type ,curentTab ,jobList,addToJobList}: propsSelectJobList) => {\r\n let keys, cartable = [];\r\n let Total_records, pages;\r\n let [response, setResponse] = useState(null);\r\n const [referenceId, setReferenceId] = useState(null);\r\n const [rowObject, setRowObject] = useState(null);\r\n const [jobId, setJobId] = useState(null);\r\n const referenceIdRef = useRef(referenceId);\r\n let [selectedProcessFilterId, setSelectedProcessFilterId] = useState(null);\r\n\r\n const [forceUpdate, setForceUpdate] = useState(false); // integer state\r\n const [reload, setReload] = useState(true); // integer state\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(20);\r\n const [orderFormat, setOrderFormat] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [GridSetting, setGridSetting] = useState(false);\r\n const [typeOfDataGrid, setTypeOfDataGrid] = useState(type);\r\n\r\n const layoutContext = useContext(LayoutContext);\r\n const [search, setsearch] = useState(null);\r\n\r\n\r\n\r\n\r\n const getWithOrder = (order: string[]) => {\r\n setOrderFormat(order)\r\n }\r\n\r\n const handlechangePageSize = (e: any) => {\r\n setPageSize(e.currentTarget.value);\r\n setPageNum(1);\r\n getPageSize(\"SelectJobList\" + type + `${selectedProcessFilterId}`, e.currentTarget.value)\r\n getCartableAsync()\r\n };\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else { setPageNum(value); getCartableAsync(value); }\r\n } else {\r\n\r\n }\r\n };\r\n const HandleNextPage = () => {\r\n if (pageNum < pages) {\r\n setPageNum(pageNum + 1);\r\n getCartableAsync(pageNum + 1);\r\n }\r\n };\r\n const HandlePrevPage = () => {\r\n if (pageNum > 1) {\r\n setPageNum((pageNum) => { return +pageNum - 1 });\r\n getCartableAsync(pageNum - 1);\r\n }\r\n };\r\n /* pagination area */\r\n\r\n\r\n\r\n\r\n const selectedRowCallback = (obj, index) => {\r\n referenceIdRef.current = obj.Id\r\n setReferenceId(obj?.Id);\r\n setRowObject(obj);\r\n setJobId(obj?.JobId)\r\n };\r\n\r\n \r\n useEffect(() => {\r\n let settings = getGridSetting(\"SelectJobList\" + type + `${selectedProcessFilterId}`)\r\n getWithOrder(settings[1])\r\n referenceIdRef.current = null\r\n setReferenceId(null);\r\n setRowObject(null);\r\n setJobId(null)\r\n setFilterlist(settings[0])\r\n setGridSetting(true)\r\n setTypeOfDataGrid(type)\r\n }, [type ,selectedProcessFilterId]);\r\n async function getCartableAsync(pagNum = pageNum) {\r\n setLoading(false)\r\n let sizePage = getPageSize(\"SelectJobList\" + type + `${selectedProcessFilterId}`)\r\n setPageSize(sizePage)\r\n\r\n try {\r\n if(curentTab == type){\r\n\r\n const res = await getCartable(pagNum, sizePage, type, selectedProcessFilterId, layoutContext.currentUserPosition.PositionId, orderFormat?.join(\",\"), search, filterlist);\r\n setResponse(res?.Data);\r\n setMessageType(\"info\")\r\n }\r\n \r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n useEffect(() => {\r\n\r\n setResponse({ Data: [] })\r\n \r\n if(reload ){\r\n getCartableAsync();\r\n setTypeOfDataGrid(type)\r\n setReload(false)\r\n }\r\n \r\n }, [reload]);\r\n\r\n\r\n useEffect(() => {\r\n setResponse({ Data: [] })\r\n referenceIdRef.current = null\r\n setReferenceId(null);\r\n setRowObject(null);\r\n setJobId(null)\r\n getCartableAsync(); \r\n\r\n }, [ curentTab , orderFormat , search, filterlist , forceUpdate, selectedProcessFilterId]);\r\n\r\n useEffect(() => {\r\n // setReferenceId(null)\r\n // setRowObject(null)\r\n referenceIdRef.current = null\r\n }, [forceUpdate, pageNum, type, selectedProcessFilterId]);\r\n\r\n\r\n/* \r\n\r\n\r\n\r\n /* #region manage server data */\r\n //with pagination \r\n if (response &&\r\n response.Data && response.Data[0]) {\r\n keys = Object.keys(response.Data[0]);\r\n cartable = response.Data;\r\n Total_records = response.TotalRecords;\r\n } else if (response && response?.Data?.length == 0) {\r\n keys = [];\r\n cartable = [];\r\n }\r\n pages = Total_records > pageSize ? Math.ceil(Total_records / pageSize) : 1;\r\n /* #endregion */\r\n\r\n // modal width from modal form\r\n\r\n\r\n \r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {loading ?\r\n (cartable.length > 0 && keys ?\r\n {\r\n setFilterlist(str);\r\n }}\r\n multiSelect={true}\r\n filterStr={filterlist}\r\n orderFormat={getWithOrder}\r\n orderFormatList={orderFormat}\r\n startIndex={( typeOfDataGrid === CartableType.Current|| typeOfDataGrid === CartableType.Ongoing) ?12 :11} selectItem={(e) => { }}\r\n parentName={\"SelectJobList\" + type + `${selectedProcessFilterId}`}\r\n theadData={keys}\r\n tbodyData={cartable}\r\n minCellWidth={80}\r\n selectList={(e)=>{addToJobList && addToJobList(e[1])}}\r\n selectedRowProp={jobList}\r\n multiSelecttype={3}\r\n \r\n selectedRowObjectCallback={selectedRowCallback}\r\n rowSelected={rowObject}\r\n totalRecords={Total_records}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={HandleNextPage}\r\n HandlePrevPage={HandlePrevPage}\r\n handlechangePageSize={handlechangePageSize}\r\n first={() => { getCartableAsync(pages); setPageNum(pages) }}\r\n end={() => { getCartableAsync(1); setPageNum(1) }}\r\n handleGoPage={handleGoPage}\r\n />\r\n : )\r\n : \r\n }\r\n
\r\n
\r\n
\r\n \r\n )\r\n}","import { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { useState } from \"react\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { SelectJobList } from \"./SelectJobList\";\r\nimport { CartableType, MessageType } from \"types/enum\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { PostArchive } from \"./api\";\r\n\r\n\r\ninterface JobListPropsType {\r\n ArchiveList:any ;\r\n onHide: () => void;\r\n reload?: (ans: boolean) => void;\r\n selectedIdList?: (ans: any) => void;\r\n\r\n}\r\nexport const JobList = ({\r\n ArchiveList,\r\n reload,\r\n onHide,\r\n}: JobListPropsType) => {\r\n\r\n\r\n const [curentTab, setCurentTab] = useState(\"Current\")\r\n const [jobList, setJobList] = useState({Current:[] , Referred:[] ,Finished:[] })\r\n \r\n\r\n\r\n\r\n\r\n const addToJobList = (list , type) => {\r\n let newObj = JSON.parse(JSON.stringify(jobList))\r\n newObj[type] = list\r\n setJobList(newObj)\r\n\r\n \r\n}\r\n\r\n const onSubmit =async (e) => {\r\n let addList:any = []\r\n ArchiveList.forEach((item , index )=> {\r\n addList.push(item.Id)\r\n \r\n });\r\n let joblistId = [...jobList.Current , ...jobList.Referred, ...jobList.Finished].map(item=>{\r\n return item.JobId\r\n })\r\n \r\n let data = {\r\n \"JobIdList\":joblistId,\r\n \"PersonalArchiveDetailIdList\": addList\r\n }\r\n await PostArchive(data );\r\n onHide()\r\n try {\r\n \r\n } catch (error) {\r\n \r\n }\r\n\r\n\r\n\r\n \r\n}\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n }\r\n\r\n let viewContent = [\r\n {\r\n title: \"Current\", body: ({addToJobList(e,\"Current\")}} curentTab={CartableType[curentTab]}/>),\r\n },\r\n {\r\n title: \"Referred\", body: ({addToJobList(e,\"Referred\")}} curentTab={CartableType[curentTab]}/>),\r\n },\r\n {\r\n title: \"Finished\", body: ({addToJobList(e,\"Finished\")}} curentTab={CartableType[curentTab]}/>),\r\n },\r\n ];\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n","import { IconName, IconPrefix } from \"@fortawesome/fontawesome-svg-core\"\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { ICON_TYPE } from \"utils/constants\"\r\nimport { trans } from \"utils/helpers\"\r\n\r\ninterface ButtonToolbarSearchProps {\r\n faIcon: [IconPrefix, IconName], // اجباری یا اختیاری؟\r\n text: \"help\" | \"edit\" | \"view\" | \"create\" | \"refresh\" | \"delete\" | string,\r\n hotKey?: \"F8\" | \"F9\" | \"F10\" | \"F11\" | \"F12\"|\"F\"|\"S\",\r\n options?: any, // تایپ آپشنز مشخص شود\r\n id?: any, // تایپ آپشنز مشخص شود\r\n isFocos?: any,\r\n defultSerach?: any,\r\n createCallback?: (ans: any) => void\r\n label?: string\r\n type?: 'search-input' | 'search-icon' \r\n onChange?: (e) => void;\r\n setIsFocos?: (e) => void;\r\n\r\n}\r\nexport const ButtonToolbarSearch: React.FC = ({\r\n faIcon,\r\n isFocos =false,\r\n defultSerach,\r\n text,\r\n options = [{ val: 1, text: \"Create\" }],\r\n id,\r\n hotKey,\r\n createCallback,\r\n label,\r\n type,\r\n onChange,\r\n setIsFocos,\r\n}) => {\r\n let profile = { isBeginner: true }; //let profile = localStorage.getItem(\"profile\"); // type --> Profile\r\n let hotKeyText: string | undefined = hotKey;\r\n const ButtonToolbarSearch = useRef(null);\r\n const buttonKey = useRef(hotKey);\r\n const [key, setKey] = useState(false);\r\n const [showSerch, setShowSerch] = useState(false);\r\n const countRef = useRef(0);\r\n const [searchInputVal, setSearchInputVal] = useState(null);\r\n const [focos, setFocos] = useState(false);\r\n const refFocos = useRef(focos);\r\n \r\n const changeSearchInputVal = (event) => {\r\n \r\n setSearchInputVal(event?.currentTarget.value);\r\n }\r\n\r\n function clickClose(e){\r\n if(e.target.tagName != \"INPUT\"&&e.target.tagName != \"path\" &&e.target.tagName != \"svg\" && refFocos?.current?.value?.length == 0){\r\n setShowSerch(false)\r\n }\r\n }\r\n useEffect(() => {\r\n const getData = setTimeout(() => {\r\n if(searchInputVal != null){\r\n onChange && onChange(searchInputVal)\r\n }\r\n }, 800)\r\n const callback = (event: KeyboardEvent) => {\r\n if (event.code === 'Enter'&&document.getElementsByClassName(\"fullscreen-bg-modal\").length == 0 && !document.activeElement?.className.includes(\"filterInput\") ) { \r\n onChange && onChange(searchInputVal)\r\n clearTimeout(getData) \r\n }\r\n };\r\n document.addEventListener('keydown', callback);\r\n return () => {\r\n clearTimeout(getData)\r\n document.removeEventListener('keydown', callback);\r\n };\r\n \r\n }, [searchInputVal])\r\n useEffect(() => {\r\n if (localStorage.Shortcut != null) {\r\n Object.keys(JSON.parse(localStorage.Shortcut)).forEach(item=>{\r\n if(item == text.toLowerCase()){\r\n setKey(JSON.parse(localStorage.Shortcut)[item])\r\n buttonKey.current = JSON.parse(localStorage.Shortcut)[item]\r\n \r\n }\r\n })\r\n\r\n\r\n }\r\n\r\n }, [localStorage.Shortcut]);\r\n \r\n useEffect(() => {\r\n if(showSerch){\r\n document.addEventListener(\"click\", clickClose)\r\n\r\n }else{\r\n document.removeEventListener(\"click\", clickClose)\r\n }\r\n return () => document.removeEventListener(\"click\", clickClose);\r\n\r\n }, [showSerch]);\r\n \r\n useEffect(() => {\r\n if(defultSerach){\r\n setShowSerch(true)\r\n // setSearchInputVal(defultSerach)\r\n }\r\n\r\n }, [defultSerach]);\r\n \r\n\r\n\r\n\r\n\r\n\r\n return (\r\n
{e.stopPropagation(); setShowSerch(true);countRef.current=0}} style={{width : showSerch ? \"190px\" : \"\"}} className=\"toolbar-btn-wrapper \">\r\n \r\n
\r\n )\r\n}","import { ButtonToolbar } from \"components/ButtonToolbar/ButtonToolbar\";\r\nimport { ButtonToolbarCreateUser } from \"components/ButtonToolbarCreateUser/ButtonToolbarCreateUser\";\r\nimport { ButtonToolbarHolidaysType } from \"components/ButtonToolbarHolidaysType/ButtonToolbarHolidaysType\";\r\nimport { ButtonToolbarMyOwnRequest } from \"components/ButtonToolbarMyOwnRequest/ButtonToolbarMyOwnRequest\";\r\nimport { ButtonToolbarProcessFilter } from \"components/ButtonToolbarProcessFilter/ButtonToolbarProcessFilter\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { ButtonToolbarProcessStarting } from \"pages/Secretariats/LettersPage/components/Toolbar/ButtonToolbarProcessStarting/ButtonToolbarProcessStarting\";\r\nimport { ButtonToolbarSecretariatFilter } from \"pages/Secretariats/LettersPage/components/Toolbar/ButtonToolbarSecretariatFilter/ButtonToolbarSecretariatFilter\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { ButtonToolbarCreateArchive } from \"components/ButtonToolbarCreateArchive/ButtonToolbarCreateArchive\";\r\nimport { ButtonToolbarArchiveFile } from \"components/ButtonToolbarArchiveFile/ButtonToolbarArchiveFile\";\r\nimport { ButtonToolbarStartProcess } from \"components/ButtonToolbarStartProcess/ButtonToolbarStartProcess\";\r\nimport { ButtonToolbarShowDeletedFilter } from \"components/ButtonToolbarShowDeletedFilter/ButtonToolbarShowDeletedFilter\";\r\nimport { ButtonPrintToolbar } from \"pages/Secretariats/LettersPage/components/Toolbar/ButtonPrintToolbar/ButtonPrintToolbar\";\r\nimport { ButtonToolbarPersonType } from \"components/ButtonToolbarPersonType/ButtonToolbarPersonType\";\r\nimport { ButtonToolbarSearch } from \"components/ButtonToolbarSearch/ButtonToolbarSearch\";\r\nimport { ButtonToolbarEnumerationFilter } from \"components/ButtonToolbarEnumerationFilter/ButtonToolbarEnumerationFilter\";\r\nimport \"../Toolbar/style.scss\";\r\n\r\ninterface props {\r\n handleClickToolbar: (clickedButtonName: string) => void;\r\n handleSelectedFilterPersonType?:(clickedButtonName: any) => void;\r\n handleSelectedFilterProcess?: (clickedButtonName: any) => void;\r\n handleSelectedJobstatusFilter?: (clickedButtonName: any) => void;\r\n handleSelectedcreateUser?: (clickedButtonName: any) => void;\r\n handleSelectedProcessWithIdFilterToolbar?: (clickedButtonName: any) => void;\r\n handleSelectedFilterPersonalTaskStatus?: (clickedButtonName: any) => void;\r\n handleSelectedHolidaysType?: (clickedButtonName: any) => void;\r\n handleSelectedMyOwnRequestStartForm?: (clickedButtonName: any) => void;\r\n handleSelectedStartProcess?: (clickedButtonName: any) => void;\r\n handleSelectedStartingProcessToolbar?: (selectedStarting: string) => void;\r\n handleSelectedProcessFilterToolbar?: (selectedProcessFilter: any) => void;\r\n handleShowDeletedFilterToolbar?: (selectedProcessFilter: any) => void;\r\n handleCreateArchive?: (selectedProcessFilter: any) => void;\r\n handleSelectedArchive?: (selectedProcessFilter: any) => void;\r\n handleSearch?: (str: any) => void;\r\n handlePrint?: (str: any) => void;\r\n id?:string;\r\n emptyList?: boolean;\r\n reminder?: boolean;\r\n create?: boolean;\r\n view?: boolean;\r\n refresh?: boolean;\r\n edit?: boolean;\r\n search?: boolean;\r\n defultSerach?: any;\r\n remove?: boolean;\r\n attach?: boolean;\r\n members?: boolean;\r\n persons?: boolean;\r\n download?: boolean;\r\n upload?: boolean;\r\n reference?: boolean;\r\n specialreference?: boolean;\r\n assignRule?: boolean;\r\n action?: boolean;\r\n history?: boolean;\r\n related?: boolean;\r\n Tree?: boolean;\r\n assignApp?: boolean;\r\n assignIcon?: boolean;\r\n report?: boolean;\r\n finish?: boolean;\r\n move?: boolean;\r\n OrganizationTypeFilter?: boolean;\r\n reply?: boolean;\r\n cancel?: boolean;\r\n current?: boolean;\r\n archive?: boolean;\r\n reverse?: boolean;\r\n forceStop?: boolean;\r\n info?: boolean;\r\n chat?: boolean;\r\n copy?: boolean;\r\n paste?: boolean;\r\n calendar?: boolean;\r\n transfer?: boolean;\r\n pattern?: boolean;\r\n reserve?: boolean;\r\n Export?: boolean;\r\n Import?: boolean;\r\n Importprocesses?: boolean;\r\n Delivery?: boolean;\r\n excel?: boolean;\r\n objectTag?: string;\r\n \r\n}\r\nexport const ToolbarInTab: React.FC = ({\r\n handleClickToolbar,\r\n handleSelectedFilterPersonType,\r\n handleSelectedFilterProcess,\r\n handleSelectedJobstatusFilter,\r\n handleSelectedcreateUser,\r\n handleSelectedFilterPersonalTaskStatus,\r\n handleSelectedHolidaysType,\r\n handleSelectedMyOwnRequestStartForm,\r\n handleSelectedStartProcess,\r\n handleSelectedStartingProcessToolbar,\r\n handleSelectedProcessFilterToolbar,\r\n handleShowDeletedFilterToolbar,\r\n handleSelectedProcessWithIdFilterToolbar,\r\n handleCreateArchive,\r\n handleSearch,\r\n handlePrint,\r\n handleSelectedArchive,\r\n id,\r\n emptyList,\r\n create,\r\n action,\r\n reminder,\r\n view=true,\r\n refresh=true,\r\n edit,\r\n search,\r\n defultSerach=null,\r\n remove,\r\n attach,\r\n members,\r\n persons,\r\n download,\r\n upload,\r\n reference,\r\n specialreference,\r\n assignRule,\r\n related,\r\n history,\r\n Tree,\r\n assignApp,\r\n assignIcon,\r\n report,\r\n finish,\r\n move,\r\n OrganizationTypeFilter,\r\n reply,\r\n cancel,\r\n current,\r\n reverse,\r\n archive,\r\n forceStop,\r\n info,\r\n chat,\r\n copy,\r\n paste,\r\n calendar,\r\n transfer,\r\n pattern,\r\n reserve,\r\n Export,\r\n Import,\r\n Importprocesses,\r\n Delivery,\r\n excel=true,\r\n objectTag,\r\n}) => {\r\n\r\n const [windowInnerWidth,setWindowInnerWidth]=useState(window.innerWidth);\r\n const [shortcutList, setShortcutList] = useState({});\r\n\r\n const [openToolbar, setOpenToolbar] = useState(false);\r\n const [isFocos, setIsFocos] = useState(false);\r\n const toggleToolbar = () => {\r\n setOpenToolbar(!openToolbar)\r\n }\r\n\r\n\r\n const handleSelectedLetterProcessStarting = (id: string) => {\r\n handleSelectedStartingProcessToolbar && handleSelectedStartingProcessToolbar(id);\r\n }\r\n\r\n\r\n const handleSelectedLetterFilterProcess = (id: string) => {\r\n handleSelectedProcessFilterToolbar && handleSelectedProcessFilterToolbar(id);\r\n }\r\n\r\n\r\n useEffect(()=>{\r\n function handleWindowResize() {\r\n if(window.innerWidth> 782 ||window.innerWidth> 778 ||window.innerWidth> 993 ||window.innerWidth> 997 ){\r\n\r\n }\r\n setWindowInnerWidth(window.innerWidth);\r\n }\r\n\r\n window.addEventListener('resize', handleWindowResize);\r\n\r\n return () => {\r\n window.removeEventListener('resize', handleWindowResize);\r\n };\r\n },[])\r\n\r\n\r\n\r\n useEffect(() => {\r\n // window.addEventListener(\"keydown\" , keydown)\r\n let StorageShortcut = localStorage.getItem(\"Shortcut\")\r\n let ShortcutList\r\n if (StorageShortcut == null) {\r\n setShortcutList({})\r\n } else {\r\n ShortcutList = JSON.parse(StorageShortcut)\r\n setShortcutList(ShortcutList)\r\n \r\n }\r\n \r\n }, [])\r\n return (\r\n
\r\n
850 && windowInnerWidth < 995 )? {position:\"absolute\" ,left:\"0\",top:\"-75px\",zIndex:\"4\"} : windowInnerWidth >995 ? {position:\"absolute\" ,left:\"0\",top:\"-60px\",zIndex:\"4\"}:{}}>\r\n
\r\n
\r\n {(search && windowInnerWidth <= 780) ? : null}\r\n
\r\n
\r\n
\r\n {windowInnerWidth <= 780 && }\r\n {windowInnerWidth > 780 &&\r\n \r\n {trans(\"search\")}\r\n \r\n }\r\n >\r\n
\r\n {search ? (\r\n \r\n ) : null}\r\n
\r\n \r\n }\r\n \r\n {trans(\"Filter\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {handleSelectedFilterProcess ? (\r\n {if(handleSelectedFilterProcess){handleSelectedFilterProcess(e)}} }\r\n />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"Filter\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {handleSelectedJobstatusFilter ? (\r\n {if(handleSelectedJobstatusFilter){handleSelectedJobstatusFilter(e)}} }\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Filter\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {handleSelectedFilterPersonalTaskStatus ? (\r\n {if(handleSelectedFilterPersonalTaskStatus){handleSelectedFilterPersonalTaskStatus(e)}} }\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"reserve\")}\r\n \r\n }\r\n >\r\n
\r\n {reserve ? (\r\n { handleClickToolbar(\"reserve\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"transfer\")}\r\n \r\n }\r\n >\r\n
\r\n {!emptyList && transfer ? (\r\n { handleClickToolbar(\"transfer\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"paste\")}\r\n \r\n }\r\n >\r\n
\r\n {paste ? (\r\n { handleClickToolbar(\"paste\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"pattern\")}\r\n \r\n }\r\n >\r\n
\r\n {pattern ? (\r\n { handleClickToolbar(\"pattern\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"copy\")}\r\n \r\n }\r\n >\r\n
\r\n {copy ? (\r\n { handleClickToolbar(\"copy\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"accepted\")}\r\n \r\n }\r\n >\r\n
\r\n {Import ? (\r\n { handleClickToolbar(\"import\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"importprocess\")}\r\n \r\n }\r\n >\r\n
\r\n {Importprocesses ? (\r\n { handleClickToolbar(\"import\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Delivery\")}\r\n \r\n }\r\n >\r\n
\r\n {Delivery ? (\r\n { handleClickToolbar(\"Delivery\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"exportprocess\")}\r\n \r\n }\r\n >\r\n
\r\n {Export ? (\r\n { handleClickToolbar(\"export\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"print\")}\r\n \r\n }\r\n >\r\n
\r\n {!emptyList ? (\r\n {handlePrint&& handlePrint(e) }} />\r\n ) : null}\r\n\r\n \r\n
\r\n \r\n \r\n {trans(\"excel\")}\r\n \r\n }\r\n >\r\n
\r\n {!emptyList &&excel ? (\r\n { handleClickToolbar(\"excel\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"info\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {!emptyList && info ? (\r\n { handleClickToolbar(\"info\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"forceStop\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {!emptyList && forceStop ? (\r\n { handleClickToolbar(\"forceStop\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n \r\n {trans(\"chat\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {!emptyList && chat ? (\r\n { handleClickToolbar(\"chat\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n \r\n {trans(\"report\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {report ? (\r\n { handleClickToolbar(\"report\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"reminder\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {reminder ? (\r\n { handleClickToolbar(\"reminder\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Upload\")}\r\n \r\n }\r\n >\r\n
\r\n {upload ?\r\n ( { handleClickToolbar(\"Upload\") }} />)\r\n : null\r\n }\r\n
\r\n \r\n \r\n {trans(\"action\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {action ? (\r\n { handleClickToolbar(\"action\") }} />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"Filter\")}\r\n \r\n }\r\n >\r\n
\r\n\r\n {handleSelectedProcessWithIdFilterToolbar ? \r\n
\r\n \r\n
\r\n :null\r\n }\r\n\r\n
\r\n \r\n \r\n \r\n {trans(\"Download\")}\r\n \r\n }\r\n >\r\n
\r\n {!emptyList && download ?\r\n ( { handleClickToolbar(\"Download\") }} />)\r\n : null}\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n {trans(\"transfer\")}\r\n \r\n }\r\n >\r\n
\r\n {move ? (\r\n { handleClickToolbar(\"move\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n \r\n {trans(\"members\")}\r\n \r\n }\r\n >\r\n
\r\n {members ? (\r\n { handleClickToolbar(\"members\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"persons\")}\r\n \r\n }\r\n >\r\n
\r\n {persons ? (\r\n { handleClickToolbar(\"persons\") }} />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"Role\")}\r\n \r\n }\r\n >\r\n
\r\n {assignRule ? (\r\n { handleClickToolbar(\"AssignRule\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"history\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {history ? (\r\n { handleClickToolbar(\"history\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"related\")}\r\n \r\n }\r\n >\r\n
\r\n {related ? (\r\n { handleClickToolbar(\"related\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Tree\")}\r\n \r\n }\r\n >\r\n
\r\n {Tree ? (\r\n { handleClickToolbar(\"Tree\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"App\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {assignApp ? (\r\n { handleClickToolbar(\"assignApp\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Icon\")}\r\n \r\n }\r\n >\r\n
\r\n {assignIcon ? (\r\n { handleClickToolbar(\"assignicon\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n \r\n {trans(\"reply\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {reply ? (\r\n { handleClickToolbar(\"reply\") }} />\r\n ) : null}\r\n
\r\n \r\n\r\n\r\n {!emptyList && attach ?\r\n \r\n {trans(\"attach\")}\r\n \r\n }\r\n >\r\n
\r\n handleClickToolbar(\"attach\")} />\r\n
\r\n \r\n : null}\r\n\r\n \r\n {trans(\"Filter\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedProcessFilterToolbar ? \r\n
\r\n \r\n
\r\n :null\r\n }\r\n\r\n
\r\n \r\n \r\n {trans(\"Filter\")}\r\n \r\n }\r\n >\r\n
\r\n {handleShowDeletedFilterToolbar ? \r\n
\r\n \r\n
\r\n :null\r\n }\r\n\r\n
\r\n \r\n\r\n \r\n {trans(\"PersonType\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedFilterPersonType ? \r\n
\r\n {if(handleSelectedFilterPersonType){handleSelectedFilterPersonType(e)}}}\r\n />\r\n
\r\n :null\r\n }\r\n\r\n
\r\n \r\n\r\n \r\n {trans(\"finish\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {finish ? (\r\n { handleClickToolbar(\"finish\") }} />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"reverse\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {reverse ? (\r\n { handleClickToolbar(\"reverse\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"reference\")}\r\n \r\n }\r\n >\r\n
\r\n {reference ? (\r\n { handleClickToolbar(\"reference\") } } />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"specialreference\")}\r\n \r\n }\r\n >\r\n
\r\n {!emptyList && specialreference ? (\r\n { handleClickToolbar(\"specialreference\") } } />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"cancel\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {cancel ? (\r\n { handleClickToolbar(\"cancel\") }} />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"Current\")}\r\n \r\n }\r\n >\r\n
\r\n {current ? (\r\n { handleClickToolbar(\"current\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Archive\")}\r\n \r\n }\r\n >\r\n
\r\n {archive ? (\r\n { handleClickToolbar(\"archive\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"archive\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedArchive ? (\r\n {handleSelectedArchive && handleSelectedArchive(e)}} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"delete\")}\r\n \r\n }\r\n >\r\n
\r\n {!emptyList && remove ? (\r\n { handleClickToolbar(\"remove\"); }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"refresh\")}\r\n \r\n }\r\n >\r\n
\r\n { refresh ? (\r\n { handleClickToolbar(\"refresh\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {handleSelectedStartingProcessToolbar ? (\r\n \r\n ) : null}\r\n
\r\n \r\n <>\r\n \r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedMyOwnRequestStartForm ? (\r\n {if(handleSelectedMyOwnRequestStartForm){handleSelectedMyOwnRequestStartForm(e)}} }\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedStartProcess ? (\r\n {if(handleSelectedStartProcess){handleSelectedStartProcess(e)}} }\r\n />\r\n ) : null}\r\n
\r\n \r\n <>\r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {handleSelectedHolidaysType ? (\r\n {if(handleSelectedHolidaysType){handleSelectedHolidaysType(e)}} }\r\n />\r\n ) : null}\r\n
\r\n \r\n <>\r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {create ? (\r\n { handleClickToolbar(\"create\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {handleSelectedcreateUser ? (\r\n {if(handleSelectedcreateUser){handleSelectedcreateUser(e)}} }\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {handleCreateArchive ? (\r\n {if(handleCreateArchive){handleCreateArchive(e)}} }\r\n />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"view\")}\r\n \r\n }\r\n >\r\n
\r\n {!emptyList && view? (\r\n { handleClickToolbar(\"view\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"edit\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {!emptyList && edit ? (\r\n { handleClickToolbar(\"edit\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"help\")}\r\n \r\n }\r\n >\r\n
\r\n { handleClickToolbar(\"help\") }} />\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n );\r\n}","import { useContext, useEffect, useState } from \"react\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Response } from \"types/types\";\r\nimport { deletePersonAsync, getPersonLegalList } from \"../api/api\";\r\nimport { PersonLegalForm } from \"./component/PersonLegalForm/PersonLegalForm\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { downloadCSV, getGridSetting, getPageSize, trans } from \"utils/helpers\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { ToolbarInTab } from \"components/ToolbarInTab/ToolbarInTab\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface PersonLegalListProp {\r\n\r\n curentTab?:string;\r\n\r\n}\r\nexport const PersonLegalList = ({ curentTab}: PersonLegalListProp) => {\r\n let personLegalList = [];\r\n let HeadPersonLegal: string[] = []; \r\n let Total_records, pages;\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [selectedPersonId, setSelectedPersonId] = useState();\r\n const [responsePerson, setResponsePerson] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [orderBy, setorderBy] = useState([]);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [person, setPerson] = useState();\r\n\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n\r\n\r\n\r\n\r\n\r\n const [idPersonLegal, setIdPersonLegal] = useState(null);\r\n const [showForm, setShowForm] = useState(null);\r\n const [forceUpdate, setForceUpdate] = useState(true); // integer state\r\n const [mode, setMode] = useState()\r\n const [selectedList, setSelectedList] = useState()\r\n const [search, setSearch] = useState(null);\r\n\r\n// let filterlist =\"\"\r\n \r\n\r\n\r\n\r\nconst clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"reference\":alert(\"call api reference with Id :\");break;\r\n case \"view\": if (idPersonLegal){setMode(\"view\"); setShowForm(true)}; break;\r\n case \"edit\": if(idPersonLegal){setMode(\"edit\"); setShowForm(true)};break;\r\n case \"print\":alert(\"print \");break;\r\n case \"excel\":downloadCSV(responsePerson?.Data ,1 ,trans(\"PersonLegalList\"));break;\r\n case \"remove\": if (idPersonLegal)handleDeletePersonLegal(idPersonLegal); break;\r\n case \"refresh\":setForceUpdate(!forceUpdate);break;\r\n case \"create\":\r\n setMode(\"create\")\r\n setShowForm(true)\r\n setIdPersonLegal(null);\r\n break;\r\n }\r\n};\r\n\r\n\r\nconst Searchhandleer = (str) => {\r\n setPageNum(1);\r\n if(str ==\"\" ){\r\n setSearch(null)\r\n }else{\r\n setSearch(str)\r\n }\r\n}\r\n\r\n const getWithOrder = (order: string[]) => {\r\n setorderBy(order)\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n const handlechangePageSize = (e: any) => {\r\n setPageSize(e.currentTarget.value);\r\n setPageNum(1);\r\n getPageSize(\"PersonLegal\" ,e.currentTarget.value )\r\n getPersonLegalListAsync(e.currentTarget.value)\r\n };\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) {}\r\n else setPageNum(value);\r\n } else {\r\n \r\n }\r\n };\r\n\r\n const HandleNextPage = () => {\r\n if (pageNum < pages)\r\n setPageNum((pageNum) => {\r\n return pageNum + 1;\r\n });\r\n };\r\n const HandlePrevPage = () => {\r\n if (pageNum > 1)\r\n setPageNum((pageNum) => {\r\n return pageNum - 1;\r\n });\r\n };\r\n\r\n const personIdCallback = (obj , index) => {\r\n\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{ \r\n // sessionStorage.setItem(\"changingforms\" , \"false\"); \r\n // setSelectedPersonId(obj.Id);\r\n // setIdPersonLegal(obj.Id);\r\n // localStorage.removeItem(\"formsInChang\"); });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{ \r\n sessionStorage.setItem(\"changingforms\" , \"false\"); \r\n setSelectedPersonId(obj.Id);\r\n setIdPersonLegal(obj.Id);\r\n localStorage.removeItem(\"formsInChang\"); });\r\n }else{\r\n setSelectedPersonId(obj.Id);\r\n setIdPersonLegal(obj.Id); }\r\n\r\n };\r\n\r\n const handleEditPersonLegal = (id: string) => {\r\n setShowForm(true);\r\n setIdPersonLegal(id);\r\n setMode(\"edit\")\r\n };\r\n async function deletePerson(id){\r\n\r\n try {\r\n const response = await deletePersonAsync(id)\r\n getPersonLegalListAsync();\r\n\r\n\r\n } catch (err: any) {\r\n \r\n }\r\n \r\n }\r\n \r\n const handleDeletePersonLegal = (id: string) => {\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , ()=>{deletePerson(id)}) \r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete , ()=>{deletePerson(id)}) \r\n\r\n setIdPersonLegal(id) \r\n\r\n\r\n }\r\n const handleViewPersonLegal = (id: string) => {\r\n setShowForm(true);\r\n setIdPersonLegal(id);\r\n setMode(\"view\")\r\n\r\n };\r\n\r\n // \r\n\r\n async function getPersonLegalListAsync(size=pageSize) {\r\n // setResponsePerson(null)\r\n setLoading(false)\r\n let pageSizeChangedByUser = getPageSize(\"PersonLegal\" )\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const response = await getPersonLegalList(pageNum, pageSizeChangedByUser ?pageSizeChangedByUser : size ,orderBy.join(\",\"),filterlist ,search);\r\n setResponsePerson(response.Data)\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n \r\n setLoading(true);\r\n }\r\n\r\n\r\n // let objPersonLegal: any = {};\r\n useEffect(() => {\r\n if(curentTab == \"PersonLegal\")\r\n getPersonLegalListAsync();\r\n }, [pageNum, person ,orderBy ,filterlist ,forceUpdate, search,curentTab]);\r\n \r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n let settings = getGridSetting(\"PersonLegal\" )\r\n setorderBy(settings[1])\r\n setFilterlist(settings[0])\r\n if((sessionStorage.getItem(\"changingforms\")==\"true\"||localStorage.getItem(\"formsInChang\")!=null)&&curentTab == \"PersonLegal\"){\r\n let forms = JSON.parse(localStorage.getItem(\"formsInChang\")+\"\") \r\n if(forms && forms[\"PersonLegal\"] ){\r\n // Toast(trans(\"AreYouSureToRecoverUnsavedData\"),\"warning\",\"alert\",()=>{\r\n // forms[\"PersonLegal\"]?.Id ? setMode(\"edit\"):setMode(\"create\")\r\n // sessionStorage.setItem(\"changingforms\" , \"true\");\r\n // setIdPersonLegal(forms[\"PersonLegal\"]?.Id)\r\n // setShowForm(true)\r\n // },\"\",\"\",()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // localStorage.removeItem(\"formsInChang\");\r\n // })\r\n Toast(trans(\"AreYouSureToRecoverUnsavedData\"),MessageType.confirm,()=>{\r\n forms[\"PersonLegal\"]?.Id ? setMode(\"edit\"):setMode(\"create\")\r\n sessionStorage.setItem(\"changingforms\" , \"true\");\r\n setIdPersonLegal(forms[\"PersonLegal\"]?.Id)\r\n setShowForm(true)\r\n },\"\",()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n localStorage.removeItem(\"formsInChang\");\r\n })\r\n } \r\n \r\n }\r\n \r\n }, [curentTab]);\r\n\r\n if (responsePerson && responsePerson.Data.length > 0) {\r\n personLegalList = responsePerson.Data;\r\n HeadPersonLegal = Object.keys(personLegalList[0]);\r\n Total_records = responsePerson.TotalRecords;\r\n }\r\n pages = Total_records > pageSize ? Math.ceil(Total_records / pageSize) : 1;\r\n\r\n const handleAddPerson = (ans) => {\r\n setPerson(ans);\r\n }\r\n\r\n return (\r\n <>\r\n { (curentTab == \"PersonLegal\")&&\r\n <>\r\n {showForm ?\r\n {setShowForm(false)}} show={showForm} modalProfileKey={\"PersonLegalForm\"} title={trans(\"PersonLegalForm\") } >\r\n { \r\n !idPersonLegal ?\r\n {setShowForm(false)}}\r\n handleAddPerson={handleAddPerson}\r\n />\r\n :\r\n {setShowForm(false)}}\r\n handleAddPerson={handleAddPerson}\r\n idPerson={idPersonLegal}\r\n />\r\n }\r\n \r\n : null}\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n {loading ? (\r\n <>\r\n {responsePerson &&responsePerson?.Data.length>0 ? ( //{responsePerson != responsePersonPre ? <> //uncomment when using DataGridAg => prevent seconde render\r\n {setFilterlist(str) ; }}\r\n filterStr={filterlist}\r\n DoubleClick={(e)=>{setIdPersonLegal(e.Id) ;clickToolbarCallback(\"view\")}}\r\n orderFormat={getWithOrder}\r\n orderFormatList={orderBy}\r\n multiSelect={false}\r\n selectList={setSelectedList}\r\n parentName={\"PersonLegal\"}\r\n theadData={HeadPersonLegal}\r\n minCellWidth={80}\r\n tbodyData={personLegalList}\r\n selectedRowObjectCallback={personIdCallback}\r\n handleEdit={handleEditPersonLegal}\r\n handleDelete={handleDeletePersonLegal}\r\n handleView={handleViewPersonLegal}\r\n totalRecords={Total_records}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={HandleNextPage}\r\n HandlePrevPage={HandlePrevPage}\r\n handlechangePageSize={handlechangePageSize}\r\n first={() => setPageNum(pages)}\r\n end={() => setPageNum(1)}\r\n handleGoPage={handleGoPage}\r\n />\r\n ):\r\n \r\n \r\n }\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n \r\n\r\n \r\n }\r\n\r\n \r\n );\r\n};\r\n","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { downloadCSV, getGridSetting, getPageSize, trans } from \"utils/helpers\";\r\nimport { deletePersonAsync, getPersonRealList } from \"../api/api\";\r\nimport { PersonRealForm } from \"./components/PersonRealForm/PersonRealForm\";\r\nimport \"./style.scss\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { ToolbarInTab } from \"components/ToolbarInTab/ToolbarInTab\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface PersonRealListProp{\r\n curentTab?:string;\r\n}\r\nexport const PersonRealList = ({ curentTab}:PersonRealListProp) => {\r\n\r\n let [responsePerson, setResponsePerson] = useState();\r\n let personRealList = [];\r\n let HeadPersonReal: string[] = [];\r\n let Total_records, pages;\r\n const [loading, setLoading] = useState(false);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [orderBy, setorderBy] = useState([]);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [person, setPerson] = useState();\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [idPersonReal, setIdPersonReal] = useState(null);\r\n const [showForm, setShowForm] = useState(null);\r\n const [forceUpdate, setForceUpdate] = useState(true); // integer state\r\n const [mode, setMode] = useState()\r\n const [selectedList, setSelectedList] = useState()\r\n const [search, setSearch] = useState(null);\r\n\r\n// let filterlist =\"\"\r\n \r\n\r\nconst clickToolbarCallback = (clickedButtonName: string) => {\r\n console.log(\"clickedButtonName\" ,clickedButtonName)\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"reference\":alert(\"call api reference with Id :\");break;\r\n case \"view\": if (idPersonReal){setMode(\"view\"); setShowForm(true)}; break;\r\n case \"edit\": if(idPersonReal){setMode(\"edit\"); setShowForm(true)};break;\r\n case \"print\":alert(\"print \");break;\r\n case \"excel\":downloadCSV(responsePerson?.Data ,1 ,trans(\"PersonRealList\"));break;\r\n case \"remove\": if (idPersonReal)handleDeletePersonReal(idPersonReal); break;\r\n case \"refresh\":setForceUpdate(!forceUpdate);break;\r\n case \"create\":\r\n setMode(\"create\")\r\n setShowForm(true)\r\n // setIdPersonReal(null);\r\n break;\r\n }\r\n};\r\n\r\n\r\n\r\nconst Searchhandleer = (str) => {\r\n setPageNum(1);\r\n if(str ==\"\" ){\r\n setSearch(null)\r\n }else{\r\n setSearch(str)\r\n }\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const getWithOrder = (order: string[]) => {\r\n setorderBy(order)\r\n }\r\n\r\n\r\n const personIdCallback = (obj , index) => {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setIdPersonReal(obj.Id);\r\n // localStorage.removeItem(\"formsInChang\");\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setIdPersonReal(obj.Id);\r\n localStorage.removeItem(\"formsInChang\");\r\n });\r\n }else{\r\n setIdPersonReal(obj.Id);\r\n }\r\n }\r\n\r\n const handleEditPersonReal = (id: any) => {\r\n setMode(\"edit\")\r\n setIdPersonReal(id)\r\n setShowForm(true)\r\n }\r\n\r\n async function deletePerson(id){\r\n try {\r\n const response = await deletePersonAsync(id)\r\n getPersonRealListAsync();\r\n } catch (err: any) {\r\n \r\n }\r\n \r\n }\r\n \r\n const handleDeletePersonReal = (id: string) => {\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , ()=>{deletePerson(id)}) \r\n Toast(trans(\"msg_deleteconfirm\"),MessageType.confirmDelete , ()=>{deletePerson(id)}) \r\n\r\n setIdPersonReal(id) \r\n\r\n\r\n }\r\n const handleViewPersonReal = (id: string) => {\r\n setMode(\"view\")\r\n setIdPersonReal(id) \r\n setShowForm(true)\r\n }\r\n\r\n const handlechangePageSize = (e: any) => {\r\n setPageSize(e.currentTarget.value);\r\n setPageNum(1);\r\n getPageSize(\"PersonReal\" ,e.currentTarget.value )\r\n getPersonRealListAsync(e.currentTarget.value)\r\n };\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) {}\r\n else setPageNum(value);\r\n } else {\r\n \r\n }\r\n };\r\n const HandleNextPage = () => {\r\n if (pageNum < pages) setPageNum((pageNum) => { return +pageNum + 1 });\r\n };\r\n const HandlePrevPage = () => {\r\n \r\n if (pageNum > 1) setPageNum((pageNum) => { return +pageNum - 1 });\r\n };\r\n\r\n const handleAddPerson =(ans)=>{\r\n setPerson(ans);\r\n }\r\n \r\n\r\n \r\n\r\n async function getPersonRealListAsync(size=pageSize) {\r\n setLoading(false)\r\n let pageSizeChangedByUser = getPageSize(\"PersonReal\" )\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const response = await getPersonRealList(pageNum, pageSizeChangedByUser ?pageSizeChangedByUser : size, orderBy.join(\",\") , filterlist ,search);\r\n setResponsePerson(response.Data)\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true);\r\n }\r\n\r\n useEffect(() => {\r\n let settings = getGridSetting(\"PersonReal\")\r\n setorderBy(settings[1])\r\n setFilterlist(settings[0])\r\n if(sessionStorage.getItem(\"changingforms\")==\"true\"||localStorage.getItem(\"formsInChang\")!=null){\r\n let forms = JSON.parse(localStorage.getItem(\"formsInChang\")+\"\") \r\n if(forms){\r\n if(forms[\"PersonReal\"] ){\r\n // Toast(trans(\"AreYouSureToRecoverUnsavedData\"),\"warning\",\"alertWithoutClose\",()=>{\r\n // forms[\"PersonReal\"]?.Id ? setMode(\"edit\"):setMode(\"create\")\r\n // sessionStorage.setItem(\"changingforms\" , \"true\");\r\n // setIdPersonReal(forms[\"PersonReal\"]?.Id)\r\n // setShowForm(true)\r\n // },\"\",\"\",()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // localStorage.removeItem(\"formsInChang\");\r\n // })\r\n Toast(trans(\"AreYouSureToRecoverUnsavedData\"),MessageType.confirm,()=>{\r\n forms[\"PersonReal\"]?.Id ? setMode(\"edit\"):setMode(\"create\")\r\n sessionStorage.setItem(\"changingforms\" , \"true\");\r\n setIdPersonReal(forms[\"PersonReal\"]?.Id)\r\n setShowForm(true)\r\n },\"\",()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n localStorage.removeItem(\"formsInChang\");\r\n })\r\n } \r\n\r\n }\r\n \r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if(curentTab == \"PersonReal\"){\r\n getPersonRealListAsync();\r\n setIdPersonReal(null)\r\n }\r\n }, [pageNum, person ,forceUpdate, orderBy , filterlist ,search,curentTab]);\r\n\r\n if (responsePerson && responsePerson?.Data.length > 0) {\r\n HeadPersonReal = Object.keys(responsePerson.Data[0]);\r\n // HeadPersonReal.splice(1, 0, \"operations\"); // در اینجا به آپریشنز را به عنوان ستون دوم قرار می دهیم\r\n personRealList = responsePerson.Data;\r\n Total_records = responsePerson.TotalRecords;\r\n }\r\n pages = Total_records > pageSize ? Math.ceil(Total_records / pageSize) : 1;\r\n\r\n\r\n return (\r\n <>\r\n { (curentTab == \"PersonReal\")&&\r\n <>\r\n {showForm ?\r\n {setShowForm(false)}} show={showForm} modalProfileKey={\"PersonRealForm\"} title={trans(\"PersonRealForm\") } >\r\n\r\n {!idPersonReal ? {setShowForm(false)}}\r\n handleAddPerson={handleAddPerson}\r\n />\r\n :\r\n {setShowForm(false)}}\r\n idPersonReal={idPersonReal}\r\n handleAddPerson={handleAddPerson}\r\n />\r\n }\r\n\r\n\r\n \r\n\r\n // (personContext.id ? : )idPersonReal\r\n : null}\r\n {console.log(\"e0ee--\" ,e )}} handleClickToolbar={(e)=>{console.log(\"ee\",e ) ; clickToolbarCallback(e) } } />\r\n
\r\n
\r\n
\r\n {loading ? (<>\r\n {responsePerson && responsePerson?.Data.length>0 ? //{responsePerson != responsePersonPre ? <> //uncomment when using DataGridAg => prevent seconde render\r\n {setFilterlist(str)}}\r\n filterStr={filterlist}\r\n DoubleClick={(e)=>{setIdPersonReal(e.Id) ;clickToolbarCallback(\"view\")}}\r\n orderFormat={getWithOrder}\r\n orderFormatList={orderBy}\r\n selectList={setSelectedList}\r\n parentName={\"PersonReal\"}\r\n theadData={HeadPersonReal}\r\n minCellWidth={80}\r\n tbodyData={personRealList}\r\n selectedRowObjectCallback={personIdCallback}\r\n handleEdit={handleEditPersonReal}\r\n handleDelete={handleDeletePersonReal}\r\n handleView={handleViewPersonReal}\r\n totalRecords={Total_records}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={HandleNextPage}\r\n HandlePrevPage={HandlePrevPage}\r\n handlechangePageSize={handlechangePageSize}\r\n first={() => setPageNum(pages)}\r\n end={() => setPageNum(1)}\r\n handleGoPage={handleGoPage}\r\n multiSelect={false}\r\n />\r\n :\r\n }\r\n ) :\r\n }\r\n
\r\n
\r\n
\r\n \r\n }\r\n \r\n );\r\n};\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getUnits = (async (pageNum, pageSize ,searchString ,orderBy,filterlist) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Unit.browse,\r\n method: 'get',\r\n params:{\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString:orderBy,\r\n SearchString : searchString ,\r\n FilterString:filterlist,\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const getUnit = (async (id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Unit.load,\r\n method: 'get',\r\n params: {Id : id},\r\n headers: {\"Accept-Language\": \"en\"},\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const deleteUnit = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Unit.browse,\r\n method: 'delete',\r\n params:{\r\n id:id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const sendUnitsApi = (data , method) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Unit.browse,\r\n method: method,\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n","\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { REGEX } from \"utils/regex\";\r\nimport { getConversion } from \"./api\";\r\n\r\ninterface ConversionProps {\r\n name: string,\r\n resetForm?: boolean,\r\n defaultValue?: number,\r\n label?: string,\r\n mode?: string,\r\n Id?:string,\r\n required?: boolean,\r\n}\r\nexport const Conversion = ({ name,Id, defaultValue, label,mode, resetForm , required}: ConversionProps) => {\r\n const [ConversionInputValue, setConversionInputValue] = useState( \"\" );\r\n const [ConversionValue, setConversionValue] = useState();\r\n\r\n const [MsgShow, setMsgShow] = useState(false);\r\n let [MsgText , setMsgText] = useState(false);\r\n const [currency , setCurrency] = useState(0);\r\n const [defaultUnit , setdefaultUnit] = useState(null);\r\n const [value , setValue] = useState(1);\r\n const [textConversion , setTextConversion] = useState();\r\n const inputConversionRef = useRef(null);\r\n\r\n\r\n\r\n\r\n\r\n function updateConversionInput(numvalue) { \r\n setValue(numvalue)\r\n\r\n\r\n\r\n }\r\n\r\n async function getConversionAsync(id) { \r\n try {\r\n const res = await getConversion(id)\r\n setdefaultUnit(res.Data)\r\n \r\n } catch (error) {\r\n setdefaultUnit(null)\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n updateConversionInput(defaultValue) \r\n }, [defaultValue]);\r\n useEffect(() => {\r\n if (resetForm){\r\n setConversionInputValue(\"\")\r\n setConversionValue(0)\r\n }\r\n \r\n }, [resetForm])\r\n useEffect(() => {\r\n if(Id)\r\n getConversionAsync(Id)\r\n }, [Id])\r\n return (\r\n
\r\n\r\n {label && }\r\n e.stopPropagation() }\r\n disabled={mode ==\"view\" ? true : false}\r\n onChange={(event:any)=>{ updateConversionInput(event.target?.value)} }\r\n value={value}\r\n type=\"number\"\r\n className={`action-form__Conversion-input form-control-custom ${mode ==\"view\" ? \" disabled\" : \"\"}` }\r\n id={name}\r\n \r\n />\r\n {(defaultUnit&&value)&&\r\n
\r\n معادل با {value} {defaultUnit} \r\n
\r\n }\r\n\r\n\r\n
\r\n );\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getUnitDictionaryApi = (async (search, id ) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: id? ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Unit.dictionaryId : ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Unit.dictionary,\r\n method: 'get',\r\n params: {\r\n SearchString: search,\r\n Id: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getConversion = (async ( id ) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Unit.defaultUnit,\r\n method: 'get',\r\n params: {\r\n physicalQuantityId: id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\n","import { Button } from \"components/Button/Button\";\r\n\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getUnit, sendUnitsApi } from \"./api\";\r\nimport { Conversion } from \"./components/Conversion\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface UnitFormPropsType {\r\n selectedObj;\r\n showForm: (e: boolean) => void;\r\n mode;\r\n relod: () => void;\r\n handleCopyItem?:any\r\n}\r\nexport const UnitForm = ({\r\n selectedObj,\r\n showForm,\r\n mode,\r\n relod,\r\n handleCopyItem\r\n}: UnitFormPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [physicalQuantityId, setPhysicalQuantityId] = useState();\r\n const [fromDate, setFromDate] = useState(null);\r\n const [untilDate, setUntilDate] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [flag, setFlag] = useState(false);\r\n const [canPaste,setCanPaste] = useState(false)\r\n\r\n async function sendNodeAsync(data, method) {\r\n try {\r\n const res = await sendUnitsApi(data, method);\r\n\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n relod();\r\n showForm(false);\r\n } catch (err: any) {}\r\n }\r\n\r\n async function getUnitAsync() {\r\n setLoading(false);\r\n\r\n try {\r\n if (selectedObj.Id) {\r\n const res = await getUnit(selectedObj.Id);\r\n setResponse(res.Data);\r\n // setPhysicalQuantityId(res.Data.Unit.PhysicalQuantityId);\r\n } else {\r\n setResponse(null);\r\n }\r\n } catch (err: any) {}\r\n setLoading(true);\r\n }\r\n\r\n const validationDates = () => {\r\n if (\r\n fromDate &&\r\n untilDate &&\r\n fromDate?.toString().slice(0, 10) > untilDate?.toString().slice(0, 10)\r\n ) {\r\n setFlag(true);\r\n } else {\r\n setFlag(false);\r\n }\r\n };\r\n\r\n const handlePersonContactFormSubmit = (Unit) => {\r\n Unit.preventDefault();\r\n if (flag) {\r\n // Toast(trans(\"InvalidEndDate\"), \"error\");\r\n Toast(trans(\"InvalidEndDate\"), MessageType.error);\r\n\r\n } else {\r\n if (mode == \"edit\") {\r\n let data = {\r\n Id: selectedObj.Id,\r\n IsDefault: Unit.target.checkbox.checked,\r\n Description: Unit.target.Description.value,\r\n DescriptionEN: Unit.target.DescriptionEN.value,\r\n TaxUnitCode: Unit.target.TaxUnitCode.value\r\n ? Unit.target.TaxUnitCode.value\r\n : null,\r\n Abbreviation: Unit.target.Abbreviation.value,\r\n PhysicalQuantityId: Unit.target.PhysicalQuantity.value,\r\n ActivityStatus: +Unit.target.ActivityStatus.value,\r\n QtyRoundingPlace: +Unit.target.QtyRoundingPlace.value,\r\n SystemKey:Unit.target.SystemKey.value?Unit.target.SystemKey.value:null,\r\n };\r\n sendNodeAsync(\r\n {\r\n Unit: data,\r\n ConversionRatioWithDefaultUnit: +Unit.target.Conversion.value,\r\n },\r\n \"put\"\r\n );\r\n } else {\r\n let data = {\r\n IsDefault: Unit.target.checkbox.checked,\r\n Description: Unit.target.Description.value,\r\n DescriptionEN: Unit.target.DescriptionEN.value,\r\n TaxUnitCode: Unit.target.TaxUnitCode.value\r\n ? Unit.target.TaxUnitCode.value\r\n : null,\r\n Abbreviation: Unit.target.Abbreviation.value,\r\n PhysicalQuantityId: Unit.target.PhysicalQuantity.value,\r\n QtyRoundingPlace: +Unit.target.QtyRoundingPlace.value,\r\n SystemKey:Unit.target.SystemKey.value?Unit.target.SystemKey.value:null,\r\n };\r\n sendNodeAsync(\r\n {\r\n Unit: data,\r\n ConversionRatioWithDefaultUnit: +Unit.target.Conversion.value,\r\n },\r\n \"post\"\r\n );\r\n }\r\n }\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // showForm(false);\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n showForm(false);\r\n });\r\n } else {\r\n showForm(false);\r\n }\r\n }\r\n\r\n async function checkPaste() {\r\n try {\r\n let data =await navigator.clipboard.readText()\r\n\r\n if(data && JSON.parse(data)){\r\n setCanPaste(true)\r\n }\r\n \r\n } catch (error) {\r\n setCanPaste(false)\r\n\r\n }\r\n}\r\n\r\n\r\nconst pasteHandler = async() => {\r\n const text =JSON.parse( await navigator.clipboard.readText());\r\n setResponse(text)\r\n try {\r\n } catch (error) {\r\n \r\n } \r\n}\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getUnitAsync();\r\n } else {\r\n setLoading(true);\r\n }\r\n }, [selectedObj]);\r\n useEffect(() => {\r\n validationDates();\r\n }, [untilDate, fromDate]);\r\n useEffect(()=>{\r\n if(mode!==\"view\"){\r\n checkPaste()\r\n }\r\n },[])\r\n\r\n return (\r\n
\r\n
\r\n {loading ? (\r\n
\r\n
\r\n
\r\n
\r\n \" +\r\n trans(\"Help_RoundingPlace_Negative\")\r\n }\r\n type={\"info\"}\r\n />\r\n
\r\n
\r\n {(canPaste&&mode!=\"view\")&&\r\n
{pasteHandler()}} className=\"col-2 btn btn-primary btn-sm d-flex align-items-center justify-content-between \" style={{width:'89px' , maxHeight:\"30px\", marginRight:\"20px\" , position:\"absolute\" , left:\"5px\"}}>\r\n {trans('paste')}\r\n \r\n
\r\n }\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n required={true}\r\n maxLength={900}\r\n defaultValue={response?.Unit?.Description}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"number\"\r\n textboxName=\"QtyRoundingPlace\"\r\n labelText=\"QtyRoundingPlace\"\r\n maxLength={900}\r\n required={true}\r\n defaultValue={\r\n response?.Unit?.QtyRoundingPlace\r\n ? response?.Unit?.QtyRoundingPlace + \"\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"DescriptionEN\"\r\n labelText=\"DescriptionEN\"\r\n maxLength={900}\r\n defaultValue={response?.Unit?.DescriptionEN}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"SystemKey\"\r\n labelText=\"SystemKey\"\r\n defaultValue={response?.Unit?.SystemKey}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"unitCode\"\r\n textboxName=\"TaxUnitCode\"\r\n labelText=\"TaxUnitCode\"\r\n defaultValue={response?.Unit?.TaxUnitCode}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"Abbreviation\"\r\n labelText=\"Abbreviation\"\r\n maxLength={900}\r\n required={true}\r\n defaultValue={response?.Unit?.Abbreviation}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n\r\n {mode != \"create\" && (\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"ActivityStatus\"\r\n label=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={response?.Unit?.ActivityStatus}\r\n mode={mode}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n\r\n {mode != \"view\" ? (\r\n
\r\n
\r\n ) : (\r\n
\r\n {\r\n cancel();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getListBarcodes = (async (searchString, orderBy, pageNumber,\r\n pageSize) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.Barcode.browse,\r\n method: 'get',\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy,\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n \r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const deleteBarcodes = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.Barcode.browse,\r\n method: 'delete',\r\n params: {Id : id}\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const getBarcodes = (async (id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.Barcode.load,\r\n method: 'get',\r\n params: {Id : id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const postBarcodes = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.Barcode.browse, \r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const putBarcodes = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.Barcode.browse,\r\n method: 'put',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const DeleteItemTree =( async (id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.browse,\r\n method: \"delete\",\r\n params:{\r\n id : id\r\n }\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\n\r\nexport const DeleteItemTreeDetail =( async (id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.browse,\r\n method: \"delete\",\r\n params:{\r\n id : id\r\n }\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\n\r\nexport const getItemGroupTree = (id: any) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.getRootes,\r\n method: \"get\",\r\n params: {\r\n ParentId: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\n\r\n\r\nexport const getItemGroup = (warehouseId ,pageNumber,pageSize,orderByString,searchString,filterString) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.getLeafList,\r\n method: \"get\",\r\n params: {\r\n warehouseId: warehouseId,\r\n PageNumber:pageNumber,\r\n PageSize:pageSize,\r\n OrderByString:orderByString,\r\n SearchString:searchString,\r\n FilterString:filterString,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const checkLevel = (id=null) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.checkLevel,\r\n method: \"get\",\r\n params: {\r\n id: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\nexport const checkLevelItem = (id=null) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.checkCode,\r\n method: \"get\",\r\n params: {\r\n id: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\n\r\nexport const sendGroupCodeFormat = (format) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.ItemGroupRootsFormat,\r\n method: \"post\",\r\n params: {\r\n codeFormat: format\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\nexport const putGroupCodeFormat = (format) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.ItemGroupRootsFormat,\r\n method: \"put\",\r\n params: {\r\n codeFormat: format\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\nexport const getItemGroupRootsFormat = () => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.ItemGroupRootsFormat,\r\n method: \"get\",\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\n\r\n","\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans, uuidv4 } from \"utils/helpers\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\n\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { KeyWord } from \"components/KeyWord/KeyWord\";\r\n\r\nimport { Time } from \"components/Time/Time\";\r\nimport persian from \"react-date-object/calendars/persian\";\r\nimport persian_fa from \"react-date-object/locales/persian_fa\";\r\nimport { DateObject } from \"react-multi-date-picker\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\ninterface Form {\r\n onHide: () => void;\r\n ItemBarcodelistcallback?: (list) => void;\r\n reload?: () => void;\r\n}\r\nexport const ItemBarcodeForm = ({ItemBarcodelistcallback, onHide ,reload}: Form) => {\r\n\r\n\r\n\r\n const [mode, setMode] = useState(\"create\");\r\n const [resetForm, setResetForm] = useState(false);\r\n const [editForm, setEditForm] = useState();\r\n const [ItemBarcodeType, setItemBarcodeType] = useState(1);\r\n const [title, setTitle] = useState();\r\n const [keyWords, setKeyWords] = useState([]);\r\n const [fromDate, setFromDate] = useState(null);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n\r\n\r\n\r\n\r\n async function sendBarcodes(data) {\r\n try {\r\n await sendBarcodes(data)\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n reload && reload()\r\n onHide()\r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n\r\n const submit = (e) => {\r\n e.preventDefault();\r\n let DefaultValue:any = \"\"\r\n \r\n const date = new DateObject(fromDate).convert(persian, persian_fa)\r\n switch (+ItemBarcodeType) {\r\n case 1 : DefaultValue= e.target.DefaultValue.value ; break;\r\n case 2 : DefaultValue= e.target.DefaultValue.value ; break;\r\n case 3 : DefaultValue= keyWords.join(\",\") ; break;\r\n case 4 : DefaultValue= e.target.DefaultValue.checked+\"\" ; break;\r\n case 6 : DefaultValue=date.format( ) ; break;\r\n case 7 : DefaultValue= e.target.DefaultValue.value ; break;\r\n\r\n }\r\n let data ={\r\n \r\n ItemBarcodeName: e.target.ItemBarcodeName.value,\r\n DefaultValue:DefaultValue, \r\n ItemBarcodeType: +e.target.ItemBarcodeType.value,\r\n }\r\n if(ItemBarcodeType==3 && keyWords.length ==0){\r\n // Toast(\"Msg_Validation_ValueIsRequired\" ,\"warning\")\r\n Toast(\"Msg_Validation_ValueIsRequired\" ,MessageType.warning)\r\n\r\n\r\n }else{\r\n sendBarcodes(data)\r\n ItemBarcodelistcallback&& ItemBarcodelistcallback(data)\r\n\r\n }\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // setEditForm(null);\r\n // onHide()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n setEditForm(null);\r\n onHide()\r\n });\r\n }else{\r\n setEditForm(null);\r\n onHide() \r\n };\r\n\r\n }\r\n\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n \r\n }\r\n }, [resetForm]);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n
\r\n <>\r\n
\r\n\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} onChange={(e)=>{setTitle(e.target.value) }} required={true} textboxName={\"ItemBarcodeName\"} textboxType=\"text\" resetForm={resetForm} labelText={\"Description\"} mode={mode} defaultValue={editForm?.ItemBarcodeName} />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n name=\"BarcodeType\" \r\n label=\"BarcodeType\"\r\n enumTypeSelect=\"BarcodeType\"\r\n mode={mode} \r\n />\r\n
\r\n
\r\n {\r\n {\r\n 1: (\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n defaultValue={editForm?.DefaultValue}\r\n textboxType=\"text\"\r\n textboxName=\"DefaultValue\"\r\n labelText={ title ? title :\"text\"}\r\n resetForm={resetForm}\r\n mode={mode}\r\n \r\n />\r\n ),\r\n 2: (\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n mode={mode}\r\n defaultValue={editForm?.DefaultValue}\r\n textboxType=\"number\"\r\n textboxName=\"DefaultValue\"\r\n labelText={ title ? title :\"number\"}\r\n resetForm={resetForm}\r\n />\r\n ),\r\n 3: (\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n label={ title ? title :\"List\"}\r\n setKeyWords={setKeyWords}\r\n keyWords={keyWords}\r\n recordedData={editForm?.DefaultValue.split(\",\")}\r\n mode={mode}\r\n name=\"DefaultValue\"\r\n />\r\n ),\r\n 4: (\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={editForm?.DefaultValue == \"true\"}\r\n defaultValue={editForm?.DefaultValue == \"true\"}\r\n labelText={ title ? title :\"checkbox\"}\r\n inputName={\"DefaultValue\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
\r\n ),\r\n 6: (\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n lable={ title ? title :\"Date\"}\r\n setIsoTime={(isoTime: string) => { setFromDate(isoTime) }}\r\n val={ null} //resetForm ? new Date().toISOString() : \r\n />\r\n ),\r\n 7: (\r\n \r\n ),\r\n }[ItemBarcodeType]\r\n \r\n }\r\n
\r\n {mode !=\"create\" &&\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n name=\"ActivityStatus\"\r\n label=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={editForm?.ActivityStatus}\r\n mode={mode}\r\n />\r\n
\r\n }\r\n { mode !=\"view\"?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n\r\n } \r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n\r\n );\r\n}","\r\n\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, trans } from \"utils/helpers\";\r\n\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { getAllItemBarcode } from \"./api\";\r\nimport { ItemBarcodeForm } from \"./ItemBarcodesForm\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface Form {\r\n onHide: () => void;\r\n BarcodesListcallback: (list) => void;\r\n}\r\nexport const ItemBarcodeList = ({onHide ,BarcodesListcallback}: Form) => {\r\n\r\n const [response, setResponse] = useState(null);\r\n const [selectedObj, setSelectedObj] = useState< any>(null);\r\n const [mode, setMode] = useState(\"create\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [showForm, setShowForm] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [selectList , setSelectList] = useState()\r\n\r\n\r\n const selectedIdCallback = (obj, index) => {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{setSelectedObj(obj);sessionStorage.setItem(\"changingforms\" , \"false\"); setUserChanges({}) });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{setSelectedObj(obj);sessionStorage.setItem(\"changingforms\" , \"false\"); setUserChanges({}) });\r\n\r\n }else{\r\n setSelectedObj(obj) \r\n };\r\n }\r\n\r\n const searchHandler = (str) => {\r\n if(str ==\"\" ){\r\n setSearch(null)\r\n }else{\r\n setSearch(str)\r\n }\r\n }\r\n\r\n async function getAllItemBarcodesAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getAllItemBarcode(search ,orderBy.length == 0 ?null: orderBy.join(\",\") );\r\n setResponse(res.Data);\r\n setMessageType(\"info\");\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n const handleCreateAction = () => {\r\n setMode(\"create\")\r\n setShowForm(true)\r\n }\r\n\r\n const selectListCallBack =(list)=>{\r\n setSelectList(list[1])\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n const makeBarcodesList = (event) => {\r\n if(selectList != undefined){\r\n event.preventDefault(); \r\n BarcodesListcallback([...selectList])\r\n onHide()\r\n }else{\r\n }\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // onHide()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide()\r\n });\r\n }else{\r\n onHide() \r\n };\r\n\r\n }\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload)\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n getAllItemBarcodesAsync();\r\n }, [forceUpdate ,search , orderBy ]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n getAllItemBarcodesAsync();\r\n }\r\n }, [resetForm]);\r\n\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\": alert(\"print \"); break;\r\n case \"excel\":downloadCSV(response?.Data ,1 ,trans(\"ItemBarcodesList\"));break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n case \"help\": alert(\"call api help\"); break;\r\n case \"create\": handleCreateAction(); break;\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n <>\r\n {showForm&& \r\n <>\r\n {setForceUpdate(!forceUpdate)}} onHide={()=>{setShowForm(false)}} />\r\n \r\n }\r\n {loading ?\r\n response?.length > 0 ?\r\n <>\r\n {}}\r\n multiSelect={true}\r\n selectList={selectListCallBack}\r\n parentName={\"ItemBarcodesList\"}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n startIndex={1}\r\n theadData={Object.keys(response[0])}\r\n tbodyData={response}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedIdCallback}\r\n />\r\n \r\n : \r\n :\r\n }\r\n { mode !=\"view\"?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n\r\n } \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n );\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getAllItemBarcode = (searchString, orderBy) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.Barcode.browse,\r\n method: 'get',\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const postBarcode = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.Barcode.browse, \r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n});\r\nexport const getItemBarcodeslist = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemBarcode.browse, \r\n method: 'get',\r\n params:{\r\n id:id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const sendItemBarcodes = (list) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemBarcode.browse,\r\n method: \"post\",\r\n data:list\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\nexport const removeItemBarcodes = (list) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemBarcode.browse,\r\n method: \"delete\",\r\n data:list\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { downloadCSV, trans } from \"utils/helpers\";\r\nimport { ItemBarcodeList } from \"./ItemBarcodesList\";\r\nimport { getItemBarcodeslist, removeItemBarcodes, sendItemBarcodes } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface ItemBarcodesPropsType {\r\n onHide?: () => void;\r\n getItemBarcodes?: (data) => void;\r\n mode:any;\r\n IsIndependent?:any;\r\n inTab?:any;\r\n Id?:any;\r\n \r\n}\r\n\r\nexport const ItemBarcode = ({getItemBarcodes,IsIndependent=false,Id ,mode,inTab }:ItemBarcodesPropsType) => {\r\n\r\n\r\n const [response, setResponse] = useState(null);\r\n const [ItemBarcodesId, setItemBarcodesId] = useState(null);\r\n const [Barcodesmode, setBarcodesMode] = useState();\r\n const [orderFormat, setOrderFormat] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [showitemBarcodesesForm, setShowitemBarcodesesForm] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [Barcodeslist, setBarcodeslist] = useState([]);\r\n const [selectList , setSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [forceUpdate, setForceUpdate] = useState();\r\n\r\n let customFuction: any = []\r\n\r\n /* pagination area*/\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"finish\": alert(\"call api finish \" ); break;\r\n case \"current\": alert(\"call api current \" ); break;\r\n case \"archive\": alert(\"call api archive \" ); break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n case \"view\": if (ItemBarcodesId) { setBarcodesMode(\"view\"); } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning)\r\n\r\n } break;\r\n case \"print\": alert(\"print \");break;\r\n case \"excel\": downloadCSV(Barcodeslist ,1 ,trans(\"ItemBarcode\"));break;\r\n case \"create\": setShowitemBarcodesesForm(true);break;\r\n case \"remove\":if(selectList.length >0){\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , handleRemove)\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete, handleRemove)\r\n\r\n }else{\r\n // Toast(\"Msg_SelectRow\" , \"warning\")\r\n Toast(\"Msg_SelectRow\" , MessageType.warning)\r\n\r\n } ;break;\r\n\r\n }\r\n };\r\n const addBarcodestoList = (newItems) => {\r\n setLoading(false) \r\n if(IsIndependent){\r\n let newbarcodeslist:any = [] \r\n newItems.map(item =>{\r\n let checkList= Barcodeslist.find(p => p.Id == item.Id)\r\n if(!checkList){\r\n newbarcodeslist.push({BarcodeId:item.Id , ItemId:Id}) \r\n }else{\r\n // Toast(\"msg_delete_useddata\",\"error\")\r\n Toast(\"msg_delete_useddata\",MessageType.error)\r\n\r\n }\r\n })\r\n sendItemBarcodesAsync(newbarcodeslist)\r\n }else{\r\n let newBarcodesList = Barcodeslist\r\n if(Barcodeslist.length == 0){\r\n setBarcodeslist(newItems)\r\n setResetMultiSelect(!resetMultiSelect)\r\n setSelectList([])\r\n getItemBarcodes&& getItemBarcodes(newItems)\r\n }else{\r\n newItems.map(item =>{\r\n let checkList= Barcodeslist.find(p => p.Id == item.Id)\r\n if(!checkList){\r\n newBarcodesList = [...newBarcodesList,item]\r\n }else{\r\n newBarcodesList = [...newBarcodesList,item]\r\n // Toast(\"msg_delete_useddata\",\"error\")\r\n Toast(\"msg_delete_useddata\",MessageType.error)\r\n\r\n }\r\n })\r\n setBarcodeslist(newBarcodesList)\r\n setResetMultiSelect(!resetMultiSelect)\r\n setSelectList([])\r\n getItemBarcodes&& getItemBarcodes(newBarcodesList)\r\n } \r\n }\r\n setLoading(true)\r\n }\r\n\r\n const getWithOrder = (order: string[]) => {\r\n setOrderFormat(order.join(\",\"))\r\n }\r\n const selectedRowCallback = (obj, index) => {\r\n setItemBarcodesId(obj?.Id);\r\n };\r\n const selectListCallBack =(list)=>{\r\n \r\n setSelectList(list[1])\r\n }\r\n const handleRemove =async()=>{\r\n \r\n let removeListId=selectList.map(item=>{return item.Id})\r\n\r\n if(IsIndependent){\r\n setLoading(false)\r\n try {\r\n const res = await removeItemBarcodes(removeListId)\r\n setForceUpdate(!forceUpdate)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n }else{\r\n setLoading(false)\r\n let newList:any = []\r\n Barcodeslist.map(item=>{\r\n if(!removeListId.includes(item.Id)){\r\n newList.push(item)\r\n }\r\n })\r\n setResetMultiSelect(!resetMultiSelect)\r\n setSelectList([])\r\n setBarcodeslist(newList)\r\n getItemBarcodes&&getItemBarcodes(newList)\r\n\r\n setLoading(true)\r\n }\r\n } \r\n const sendItemBarcodesAsync =async (list) => {\r\n setLoading(false)\r\n try {\r\n const res = await sendItemBarcodes(list)\r\n setShowitemBarcodesesForm(false)\r\n setForceUpdate(!forceUpdate)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n }\r\n\r\n async function getItemBarcodeslistAsync() {\r\n setLoading(false)\r\n try { \r\n const res:any = await getItemBarcodeslist(Id)\r\n setBarcodeslist( res.Data)\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n useEffect(() => {\r\n if((inTab ===\"Barcodes\"||IsIndependent)&& mode!=\"create\" ){\r\n getItemBarcodeslistAsync();\r\n }\r\n }, [forceUpdate,inTab]);\r\n useEffect(() => {\r\n\r\n if(inTab ===\"Barcodes\"){\r\n if(Barcodeslist?.length >0){ \r\n let newList:any = [] \r\n Barcodeslist.map(item=>{\r\n if(item != undefined){\r\n newList.push(item) \r\n\r\n }\r\n })\r\n setBarcodeslist(newList)\r\n getItemBarcodes&&getItemBarcodes(newList)\r\n }\r\n setLoading(true)\r\n }\r\n }, [ inTab]);\r\n \r\n\r\n \r\n /* #endregion */\r\n\r\n return (\r\n < >\r\n {(inTab == \"Barcodes\"||IsIndependent) && \r\n
\r\n\r\n {mode != \"view\" &&\r\n \r\n } \r\n {loading ?\r\n
\r\n
\r\n
\r\n {\r\n (Barcodeslist?.length > 0 ?\r\n { }}\r\n orderFormat={getWithOrder}\r\n multiSelect={mode!=\"view\"}\r\n selectList={selectListCallBack}\r\n resetMultiSelect={resetMultiSelect}\r\n parentName={\"Barcodes\" }\r\n startIndex={1}\r\n theadData={Object.keys(Barcodeslist[0])}\r\n scrollHeight={\"350px\"}\r\n tbodyData={Barcodeslist}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedRowCallback}\r\n />\r\n : )\r\n }\r\n
\r\n
\r\n
\r\n : \r\n }\r\n {showitemBarcodesesForm &&\r\n setShowitemBarcodesesForm(false)} show={showitemBarcodesesForm}>\r\n {addBarcodestoList(e)}} onHide={() => setShowitemBarcodesesForm(false)} />\r\n \r\n }\r\n
\r\n }\r\n \r\n )\r\n}","import { useEffect, useState } from \"react\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { getAllDeviceProperties, sendDevicePropertiesValue } from \"../api\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\n\r\ninterface ItemPropertiesValuesListPropsType {\r\n mode: any,\r\n Id: any,\r\n formRef?: any,\r\n inTab?: any,\r\n IsIndependent?:boolean\r\n ItemPropertiesValuesDataListProp?: [],\r\n ItemPropertiesValuesDataListCallback?: (ans: []) => void,\r\n onHide?: () => void;\r\n\r\n}\r\nexport const ItemPropertiesValues = ({mode, Id=null,IsIndependent=false,inTab ,formRef,ItemPropertiesValuesDataListCallback,onHide ,ItemPropertiesValuesDataListProp }: ItemPropertiesValuesListPropsType) => {\r\n\r\n const [response, setResponse] = useState([]);\r\n const [resetForm, setResetForm] = useState(false);\r\n\r\n const [loading, setLoading] = useState(false);\r\n\r\n \r\n const submitHandler =(e)=>{\r\n e.preventDefault()\r\n let data:any =[]\r\n if(IsIndependent){\r\n response.DeterminedItemProperties.map((item , index)=>{\r\n data.push({\r\n \"Id\":item.ItemOtherPropertyValueId,\r\n \"ItemId\":Id,\r\n \"Sequence\": index,\r\n \"ItemOtherPropertyId\": item.ItemOtherPropertyId,\r\n \"PropertyValue\": item.PropertyType==4 ? e.target[item.ItemOtherPropertyId]?.checked+\"\": e.target[item.ItemOtherPropertyId]?.value \r\n })\r\n })\r\n sendDevicePropertiesValueAsync(data,\"put\")\r\n }else{\r\n response.UndeterminedItemProperties.map((item , index)=>{\r\n data.push({\r\n \"Sequence\": index,\r\n \"ItemOtherPropertyId\": item.ItemOtherPropertyId,\r\n \"PropertyValue\": item.PropertyType==4 ? e.target[item.ItemOtherPropertyId]?.checked+\"\": e.target[item.ItemOtherPropertyId]?.value \r\n })\r\n })\r\n ItemPropertiesValuesDataListCallback&& ItemPropertiesValuesDataListCallback(data)\r\n }\r\n }\r\n const submitPostHandler =(e)=>{\r\n e.preventDefault()\r\n let data:any =[]\r\n response.UndeterminedItemProperties.map((item , index)=>{\r\n data.push({\r\n \"ItemId\":Id,\r\n \"Sequence\": index,\r\n \"ItemOtherPropertyId\": item.ItemOtherPropertyId,\r\n \"PropertyValue\": item.PropertyType==4 ? e.target[item.ItemOtherPropertyId]?.checked+\"\": e.target[item.ItemOtherPropertyId]?.value \r\n })\r\n })\r\n sendDevicePropertiesValueAsync(data,\"post\")\r\n }\r\n const submitPutHandler =(e)=>{\r\n e.preventDefault()\r\n let data:any =[]\r\n response.DeterminedItemProperties.map((item , index)=>{\r\n data.push({\r\n \"Id\":item.ItemOtherPropertyValueId,\r\n \"ItemId\":Id,\r\n \"Sequence\": index,\r\n \"ItemOtherPropertyId\": item.ItemOtherPropertyId,\r\n \"PropertyValue\": item.PropertyType==4 ? e.target[item.ItemOtherPropertyId]?.checked+\"\": e.target[item.ItemOtherPropertyId]?.value \r\n })\r\n })\r\n sendDevicePropertiesValueAsync(data,\"put\")\r\n }\r\n\r\n async function getAllDevicePropertiesAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getAllDeviceProperties(Id , (IsIndependent||mode!=\"create\"));\r\n setResponse(res.Data);\r\n // setMessageType(\"info\")\r\n } catch (error) {\r\n // setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n async function sendDevicePropertiesValueAsync(list,metode) {\r\n setLoading(false)\r\n try {\r\n const res = await sendDevicePropertiesValue(list,metode);\r\n setResetForm(!resetForm)\r\n // setMessageType(\"info\")\r\n } catch (error) {\r\n // setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n \r\n\r\n useEffect(() => {\r\n if(IsIndependent||inTab ===\"ItemProperties\"){\r\n getAllDevicePropertiesAsync();\r\n }\r\n }, [inTab ,resetForm]);\r\n\r\n\r\n return (\r\n <> \r\n
\r\n {loading ? \r\n
\r\n {(response.UndeterminedItemProperties.length>0&&IsIndependent) ?\r\n <>\r\n
\r\n \r\n
\r\n {response.UndeterminedItemProperties.length >0&& response.UndeterminedItemProperties?.map(item=>(\r\n \r\n
\r\n\r\n \r\n {\r\n {\r\n 1: (\r\n \r\n ),\r\n 2: (\r\n \r\n ),\r\n 3: ( \r\n \r\n \r\n ),\r\n 4: (\r\n <>\r\n
\r\n \r\n
\r\n \r\n )\r\n }[item.PropertyType]\r\n \r\n }
\r\n\r\n \r\n )) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n {response.DeterminedItemProperties.length >0&& response.DeterminedItemProperties?.map(item=>(\r\n \r\n
\r\n\r\n \r\n {\r\n {\r\n 1: (\r\n \r\n ),\r\n 2: (\r\n \r\n ),\r\n 3: ( \r\n \r\n \r\n ),\r\n 4: (\r\n <>\r\n
\r\n \r\n
\r\n \r\n )\r\n }[item.PropertyType]\r\n \r\n }
\r\n\r\n \r\n )) }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n :\r\n <>\r\n
\r\n
\r\n {IsIndependent ?\r\n <>\r\n {response.DeterminedItemProperties.length >0&& response.DeterminedItemProperties?.map(item=>(\r\n
\r\n \r\n \r\n {\r\n {\r\n 1: (\r\n \r\n ),\r\n 2: (\r\n \r\n ),\r\n 3: ( \r\n \r\n \r\n ),\r\n 4: (\r\n <>\r\n
\r\n \r\n
\r\n \r\n )\r\n }[item.PropertyType]\r\n \r\n }\r\n
\r\n )) }\r\n \r\n \r\n :\r\n <>\r\n {response.UndeterminedItemProperties.length >0&& response.UndeterminedItemProperties?.map(item=>(\r\n
\r\n {\r\n {\r\n 1: (\r\n \r\n ),\r\n 2: (\r\n \r\n ),\r\n 3: ( \r\n \r\n \r\n ),\r\n 4: (\r\n <>\r\n
\r\n \r\n
\r\n \r\n )\r\n }[item.PropertyType]\r\n\r\n }\r\n
\r\n )) }\r\n \r\n \r\n }\r\n
\r\n {IsIndependent ?\r\n
\r\n
\r\n :\r\n \r\n }\r\n
\r\n \r\n }\r\n
\r\n :\r\n } \r\n
\r\n \r\n );\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getAllDeviceProperties = (id,withValue) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.Properties ,\r\n method: \"get\",\r\n params:{\r\n id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\nexport const sendDevicePropertiesValue = (list,method) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemOtherPropertyValue.browse,\r\n method: method,\r\n data:list\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getAllItemProperties = (pageNum, pageSize , searchString, orderBy ,filterlist) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemOtherProperty.browse,\r\n method: \"get\",\r\n params: {\r\n searchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString:filterlist,\r\n PageSize: pageSize,\r\n PageNumber: pageNum,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\nexport const postProperty = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemOtherProperty.browse,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\nexport const removeItemProperties = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemItemOtherProperty.browse,\r\n method: 'delete',\r\n data: data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n","\r\n\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\n\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { KeyWord } from \"components/KeyWord/KeyWord\";\r\n\r\nimport { Time } from \"components/Time/Time\";\r\nimport persian from \"react-date-object/calendars/persian\";\r\nimport persian_fa from \"react-date-object/locales/persian_fa\";\r\nimport { DateObject } from \"react-multi-date-picker\";\r\nimport { postProperty } from \"./api\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\ninterface Form {\r\n onHide: () => void;\r\n Propertilistcallback?: (list) => void;\r\n reload?: () => void;\r\n}\r\nexport const ItemPropertiesForm = ({Propertilistcallback, onHide ,reload}: Form) => {\r\n\r\n\r\n\r\n const [mode, setMode] = useState(\"create\");\r\n const [resetForm, setResetForm] = useState(false);\r\n const [editForm, setEditForm] = useState();\r\n const [propertyType, setPropertyType] = useState(1);\r\n const [title, setTitle] = useState();\r\n const [keyWords, setKeyWords] = useState([]);\r\n const [fromDate, setFromDate] = useState(null);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n\r\n\r\n\r\n\r\n async function sendProperty(data) {\r\n try {\r\n await postProperty(data)\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n reload && reload()\r\n onHide()\r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n\r\n const submit = (e) => {\r\n e.preventDefault();\r\n let DefaultValue:any = \"\"\r\n \r\n const date = new DateObject(fromDate).convert(persian, persian_fa)\r\n switch (+propertyType) {\r\n case 1 : DefaultValue= e.target.DefaultValue.value ; break;\r\n case 2 : DefaultValue= e.target.DefaultValue.value ; break;\r\n case 3 : DefaultValue= keyWords.join(\",\") ; break;\r\n case 4 : DefaultValue= e.target.DefaultValue.checked+\"\" ; break;\r\n case 6 : DefaultValue=date.format( ) ; break;\r\n case 7 : DefaultValue= e.target.DefaultValue.value ; break;\r\n\r\n }\r\n let data ={\r\n \r\n PropertyName: e.target.PropertyName.value,\r\n DefaultValue:DefaultValue, \r\n PropertyType: +e.target.PropertyType.value,\r\n }\r\n if(propertyType==3 && keyWords.length ==0){\r\n // Toast(\"Msg_Validation_ValueIsRequired\" ,\"warning\")\r\n Toast(\"Msg_Validation_ValueIsRequired\" ,MessageType.warning)\r\n\r\n\r\n }else{\r\n sendProperty(data)\r\n Propertilistcallback&& Propertilistcallback(data)\r\n\r\n }\r\n }\r\n\r\n function cancel() {\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // setEditForm(null);\r\n // onHide()\r\n // });\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n setEditForm(null);\r\n onHide()\r\n });\r\n }else{\r\n setEditForm(null);\r\n onHide() \r\n };\r\n\r\n }\r\n\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n \r\n }\r\n }, [resetForm]);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n
\r\n <>\r\n
\r\n\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} onChange={(e)=>{setTitle(e.target.value) }} required={true} textboxName={\"PropertyName\"} textboxType=\"text\" resetForm={resetForm} labelText={\"PropertyName\"} mode={mode} defaultValue={editForm?.PropertyName} />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n required={true} \r\n onChange={(e)=>{setPropertyType(e)}}\r\n enumTypeSelect=\"PropertyType\"\r\n label=\"PropertyType\" \r\n mode={mode} type=\"SelectBox\" \r\n name=\"PropertyType\" \r\n value={editForm?.PropertyType}/>\r\n
\r\n
\r\n {\r\n {\r\n 1: (\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n defaultValue={editForm?.DefaultValue}\r\n textboxType=\"text\"\r\n textboxName=\"DefaultValue\"\r\n labelText={ title ? title :\"text\"}\r\n resetForm={resetForm}\r\n mode={mode}\r\n \r\n />\r\n ),\r\n 2: (\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n mode={mode}\r\n defaultValue={editForm?.DefaultValue}\r\n textboxType=\"number\"\r\n textboxName=\"DefaultValue\"\r\n labelText={ title ? title :\"number\"}\r\n resetForm={resetForm}\r\n />\r\n ),\r\n 3: (\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n label={ title ? title :\"List\"}\r\n setKeyWords={setKeyWords}\r\n keyWords={keyWords}\r\n recordedData={editForm?.DefaultValue.split(\",\")}\r\n mode={mode}\r\n name=\"DefaultValue\"\r\n />\r\n ),\r\n 4: (\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={editForm?.DefaultValue == \"true\"}\r\n defaultValue={editForm?.DefaultValue == \"true\"}\r\n labelText={ title ? title :\"checkbox\"}\r\n inputName={\"DefaultValue\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
\r\n ),\r\n 6: (\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n lable={ title ? title :\"Date\"}\r\n setIsoTime={(isoTime: string) => { setFromDate(isoTime) }}\r\n val={ null} //resetForm ? new Date().toISOString() : \r\n />\r\n ),\r\n 7: (\r\n \r\n ),\r\n }[propertyType]\r\n \r\n }\r\n
\r\n {mode !=\"create\" &&\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n name=\"ActivityStatus\"\r\n label=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={editForm?.ActivityStatus}\r\n mode={mode}\r\n />\r\n
\r\n }\r\n { mode !=\"view\"?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n\r\n } \r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n\r\n );\r\n}","\r\n\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\n\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { getAllItemProperties } from \"./api\";\r\nimport { ItemPropertiesForm } from \"./ItemPropertiesForm\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface Form {\r\n onHide: () => void;\r\n PropertiesListcallback: (list) => void;\r\n formRefs?:any;\r\n\r\n}\r\nexport const ItemPropertiesList = ({ onHide ,PropertiesListcallback}: Form) => {\r\n\r\n\r\n const [response, setResponse] = useState(null);\r\n const [selectedObj, setSelectedObj] = useState< any>(null);\r\n const [mode, setMode] = useState(\"create\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [editForm, setEditForm] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [formLoading,setFormLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [propertyType, setPropertyType] = useState(1);\r\n const [showForm, setShowForm] = useState(false);\r\n const [title, setTitle] = useState();\r\n const [keyWords, setKeyWords] = useState([]);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [fromDate, setFromDate] = useState(null);\r\n const [pages, setPages] = useState(0);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [selectList , setSelectList] = useState()\r\n\r\n\r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"ItemPropertiesList\" ,e.currentTarget.value )\r\n getAllItemPropertiesAsync(1)\r\n };\r\n\r\n\r\n function handleGoPage(value): void {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else {setPageNum(+value);getAllItemPropertiesAsync(+value)}\r\n } else {\r\n }\r\n }\r\n \r\n const handleNextPage = () => {\r\n if(pageNum < pages){\r\n setPageNum(pageNum + 1);\r\n getAllItemPropertiesAsync(pageNum + 1);\r\n };\r\n };\r\n const handlePrevPage = () => {\r\n if(pageNum > 1){\r\n setPageNum((pageNum)=>{return +pageNum - 1});\r\n getAllItemPropertiesAsync(pageNum - 1);\r\n };\r\n };\r\n\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n if(str ==\"\" ){\r\n setSearch(null)\r\n }else{\r\n setSearch(str)\r\n }\r\n }\r\n\r\n\r\n\r\n const selectedIdCallback = (obj, index) => {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{setSelectedObj(obj);sessionStorage.setItem(\"changingforms\" , \"false\"); setUserChanges({}) });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{setSelectedObj(obj);sessionStorage.setItem(\"changingforms\" , \"false\"); setUserChanges({}) });\r\n\r\n }else{\r\n setSelectedObj(obj) \r\n };\r\n }\r\n\r\n\r\n // const handleDeleteRow = async() => {\r\n // try {\r\n // const res = await deleteItemProperties(selectedObj.Id)\r\n // setForceUpdate(!forceUpdate)\r\n // } catch (error) {\r\n \r\n // }\r\n // }\r\n\r\n\r\n async function getAllItemPropertiesAsync(PageNum =pageNum) {\r\n setLoading(false)\r\n let pageSizeChangedByUser = getPageSize(\"ItemPropertiesList\" )\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const res = await getAllItemProperties(PageNum, pageSizeChangedByUser ,search ,orderBy.length == 0 ?null: orderBy.join(\",\") ,filterlist);\r\n setResponse(res.Data);\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) \r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n const handleCreateAction = () => {\r\n\r\n setEditForm(null)\r\n setMode(\"create\")\r\n setShowForm(true)\r\n\r\n }\r\n\r\n const selectListCallBack =(list)=>{\r\n \r\n setSelectList(list[1])\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n const makePropertiesList = (event) => {\r\n if(selectList != undefined){\r\n\r\n event.preventDefault(); \r\n PropertiesListcallback([...selectList])\r\n onHide()\r\n }else{\r\n }\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // onHide()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide()\r\n });\r\n }else{\r\n onHide() \r\n };\r\n\r\n }\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n getAllItemPropertiesAsync();\r\n }, [forceUpdate ,search , orderBy , filterlist , pageNum]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n getAllItemPropertiesAsync();\r\n }\r\n }, [resetForm]);\r\n useEffect(() => {\r\n if(showForm &&selectedObj && mode != \"create\"){\r\n setEditForm(null);\r\n \r\n }else{\r\n if(showForm) setFormLoading(true)\r\n }\r\n \r\n }, [selectedObj ,showForm]);\r\n\r\n\r\n\r\n\r\n\r\n /* #endregion */\r\n\r\n /* #region toolbarActions */\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\": alert(\"print \"); break;\r\n case \"excel\":downloadCSV(response?.Data ,1 ,trans(\"ItemPropertiesList\"));break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n case \"help\": alert(\"call api help\"); break;\r\n case \"create\": handleCreateAction(); break;\r\n // case \"remove\": if (selectedObj?.Id)Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , handleDeleteRow); break;\r\n\r\n\r\n }\r\n };\r\n /* #endregion */\r\n\r\n\r\n return (\r\n <>\r\n
\r\n\r\n \r\n
\r\n
\r\n <>\r\n {showForm&& \r\n <>\r\n {setForceUpdate(!forceUpdate)}} onHide={()=>{setShowForm(false)}} />\r\n \r\n }\r\n {loading ?\r\n response?.Data?.length > 0 ?\r\n <>\r\n { }}\r\n multiSelect={true}\r\n selectList={selectListCallBack}\r\n parentName={\"ItemPropertiesList\"}\r\n handlefiltering={(str)=>{setFilterlist(str) }}\r\n filterStr={filterlist}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n startIndex={1}\r\n theadData={Object.keys(response.Data[0])}\r\n tbodyData={response.Data}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedIdCallback}\r\n totalRecords={response.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n // handleDelete={(e)=>{Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" ,handleDeleteRow)}}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() =>{getAllItemPropertiesAsync(pages); setPageNum(pages)}}\r\n end={() =>{getAllItemPropertiesAsync(1); setPageNum(1)}}\r\n handleGoPage={handleGoPage}\r\n />\r\n \r\n : \r\n :\r\n }\r\n { mode !=\"view\"?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n\r\n } \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n );\r\n}","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { downloadCSV, trans } from \"utils/helpers\";\r\nimport { ItemPropertiesList } from \"./ItemPropertiesList\";\r\nimport { removeItemProperties } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface ItemPropertiPropsType {\r\n onHide?: () => void;\r\n getPropertiItems?: (data) => void;\r\n mode:any;\r\n inTab?:any;\r\n selectedObj?:any;\r\n IsIndependent?:any;\r\n}\r\n\r\nexport const ItemProperties = ({getPropertiItems,selectedObj ,IsIndependent=false ,mode,inTab,onHide }:ItemPropertiPropsType) => {\r\n\r\n let keys, cartable = [];\r\n let pages;\r\n let [response, setResponse] = useState(null);\r\n const [ItemPropertiId, setItemPropertiId] = useState(null);\r\n const [Propertimode, setPropertiMode] = useState();\r\n const [orderFormat, setOrderFormat] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [showitemPropertiesForm, setShowitemPropertiesForm] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [Propertilist, setPropertilist] = useState([]);\r\n const [selectList , setSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n\r\n let customFuction: any = []\r\n\r\n /* pagination area*/\r\n \r\n const addPropertitoList = (newItems) => {\r\n setLoading(false) \r\n if(IsIndependent){\r\n let newPropertiList:any = []\r\n\r\n newItems.map(item =>{\r\n let checkList= Propertilist.find(p => p.Id == item.Id)\r\n if(!checkList){\r\n newPropertiList.push({ItemOtherPropertyId:item.Id , ItemId:selectedObj.Id}) \r\n }else{\r\n // Toast(\"msg_delete_useddata\",\"error\")\r\n Toast(\"msg_delete_useddata\",MessageType.error)\r\n\r\n }\r\n })\r\n sendItemPropertiesAsync(newPropertiList)\r\n\r\n }else{\r\n let newPropertiList = Propertilist\r\n \r\n \r\n if(Propertilist.length == 0){\r\n setPropertilist(newItems)\r\n setResetMultiSelect(!resetMultiSelect)\r\n setSelectList([])\r\n \r\n getPropertiItems && getPropertiItems(newItems)\r\n }else{\r\n newItems.map(item =>{\r\n let checkList= Propertilist.find(p => p.Id == item.Id)\r\n if(!checkList){\r\n newPropertiList = [...newPropertiList,item]\r\n }else{\r\n // Toast(\"msg_delete_useddata\",\"error\")\r\n Toast(\"msg_delete_useddata\",MessageType.error)\r\n\r\n }\r\n })\r\n setPropertilist(newPropertiList)\r\n \r\n \r\n setResetMultiSelect(!resetMultiSelect)\r\n setSelectList([])\r\n \r\n getPropertiItems && getPropertiItems(newPropertiList)\r\n \r\n } \r\n\r\n setLoading(true)\r\n }\r\n }\r\n\r\n const sendItemPropertiesAsync =async (list) => {\r\n setLoading(false)\r\n try {\r\n // const res = await sendItemProperties(list)\r\n setShowitemPropertiesForm(false)\r\n setForceUpdate(!forceUpdate)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n }\r\n const getItemPropertiesAsync =async () => {\r\n setLoading(false)\r\n try {\r\n // const res = await getItemProperties(selectedObj.Id)\r\n // setPropertilist(res.Data)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n }\r\n\r\n const getWithOrder = (order: string[]) => {\r\n setOrderFormat(order.join(\",\"))\r\n }\r\n const selectedRowCallback = (obj, index) => {\r\n setItemPropertiId(obj?.Id);\r\n };\r\n const selectListCallBack =(list)=>{\r\n \r\n setSelectList(list[1])\r\n }\r\n const handleRemove =async()=>{\r\n let removeListId=selectList.map(item=>{return item.Id})\r\n if(IsIndependent){\r\n \r\n setLoading(false)\r\n try {\r\n const res = await removeItemProperties(removeListId)\r\n setForceUpdate(!forceUpdate)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n \r\n }else{\r\n setLoading(false)\r\n let newList:any = []\r\n Propertilist.map(item=>{\r\n if(!removeListId.includes(item.Id)){\r\n newList.push(item)\r\n }\r\n })\r\n setResetMultiSelect(!resetMultiSelect)\r\n setSelectList([])\r\n setPropertilist(newList)\r\n getPropertiItems&& getPropertiItems(newList)\r\n setLoading(true)\r\n }\r\n\r\n \r\n \r\n }\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"finish\": alert(\"call api finish \" ); break;\r\n case \"current\": alert(\"call api current \" ); break;\r\n case \"archive\": alert(\"call api archive \" ); break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n case \"view\": if (ItemPropertiId) { setPropertiMode(\"view\"); } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"),MessageType.warning)\r\n\r\n } break;\r\n case \"print\": alert(\"print \");break;\r\n case \"excel\": downloadCSV(Propertilist ,1 ,trans(\"ItemProperti\"));break;\r\n case \"create\": setShowitemPropertiesForm(true);break;\r\n case \"remove\":if(selectList.length >0){\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , handleRemove)\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete , handleRemove)\r\n\r\n }else{\r\n // Toast(\"Msg_SelectRow\" , \"warning\")\r\n Toast(\"Msg_SelectRow\" , MessageType.warning)\r\n\r\n } ;break;\r\n\r\n }\r\n };\r\n\r\n\r\n\r\n useEffect(() => {\r\n if(inTab ===\"ItemProperties\"||IsIndependent){\r\n getItemPropertiesAsync();\r\n\r\n }\r\n }, [forceUpdate ,inTab ]);\r\n\r\n useEffect(() => {\r\n if(inTab ===\"ItemProperties\"){\r\n if(Propertilist?.length >0){ \r\n let newList:any = [] \r\n Propertilist.map(item=>{\r\n if(item != undefined){\r\n newList.push(item) \r\n\r\n }\r\n })\r\n setPropertilist(newList)\r\n getPropertiItems&& getPropertiItems(newList)\r\n }\r\n setLoading(true)\r\n }\r\n }, [ inTab]);\r\n \r\n\r\n if (Propertilist && Propertilist.length > 0 && Propertilist[0].Id!== undefined && Propertilist[0].Id.length >0 ) {\r\n keys = Object.keys(Propertilist[0]);\r\n cartable = Propertilist\r\n } else if (response && response?.length === 0) {\r\n keys = [];\r\n cartable = [];\r\n }\r\n \r\n\r\n\r\n return (\r\n < >\r\n {(inTab == \"ItemProperties\"||IsIndependent) && \r\n
\r\n\r\n {mode != \"view\" &&\r\n \r\n } \r\n {loading ?\r\n
\r\n
\r\n
\r\n {\r\n (cartable.length > 0 && keys ?\r\n { }}\r\n orderFormat={getWithOrder}\r\n multiSelect={mode != \"view\" ?true:false}\r\n selectList={selectListCallBack}\r\n resetMultiSelect={resetMultiSelect}\r\n parentName={\"ItemProperties\" }\r\n startIndex={1}\r\n theadData={keys}\r\n scrollHeight={\"350px\"}\r\n tbodyData={cartable}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedRowCallback}\r\n \r\n />\r\n : )\r\n }\r\n
\r\n
\r\n
\r\n : \r\n }\r\n {showitemPropertiesForm &&\r\n setShowitemPropertiesForm(false)} show={showitemPropertiesForm}>\r\n {addPropertitoList(e)}} onHide={() => setShowitemPropertiesForm(false)} />\r\n \r\n }\r\n
\r\n }\r\n \r\n )\r\n}","import { useEffect, useState } from \"react\";\r\nimport { trans, uuidv4 } from \"utils/helpers\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\n\r\nimport persian from \"react-date-object/calendars/persian\";\r\nimport persian_fa from \"react-date-object/locales/persian_fa\";\r\nimport { DateObject } from \"react-multi-date-picker\";\r\nimport { MessageType, TaxTypeItem } from \"types/enum\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\ninterface Form {\r\n onHide: () => void;\r\n ItemTaxeslistcallback?: (list) => void;\r\n reload?: () => void;\r\n}\r\nexport const ItemTaxesForm = ({ItemTaxeslistcallback, onHide ,reload}: Form) => {\r\n\r\n\r\n\r\n const [mode, setMode] = useState(\"create\");\r\n const [resetForm, setResetForm] = useState(false);\r\n const [editForm, setEditForm] = useState();\r\n const [ItemTaxesType, setItemTaxesType] = useState(1);\r\n const [title, setTitle] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n\r\n const submit = (e) => {\r\n e.preventDefault();\r\n \r\n let data ={\r\n Id:uuidv4(),\r\n TaxTypeItemEnum:e.target.TaxTypeItem.value ,\r\n TaxTypeItem:trans(TaxTypeItem[e.target.TaxTypeItem.value]) ,\r\n TaxRate: +e.target.TaxRate.value, \r\n }\r\n \r\n ItemTaxeslistcallback&& ItemTaxeslistcallback(data)\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // setEditForm(null);\r\n // onHide()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n setEditForm(null);\r\n onHide()\r\n });\r\n }else{\r\n setEditForm(null);\r\n onHide() \r\n };\r\n\r\n }\r\n\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n \r\n }\r\n }, [resetForm]);\r\n\r\n\r\n return (\r\n <>\r\n
\r\n <>\r\n
\r\n\r\n
\r\n
\r\n { setUserChanges({ ...userChanges, ...e }); } }\r\n type=\"SelectBox\"\r\n name=\"TaxTypeItem\"\r\n mode={mode}\r\n label=\"TaxTypeItem\" \r\n enumTypeSelect=\"TaxTypeItem\" />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} onChange={(e)=>{setTitle(e.target.value) }} required={true} textboxName={\"TaxRate\"} textboxType=\"number\" resetForm={resetForm} labelText={\"TaxRate\"} mode={mode} defaultValue={editForm?.ItemTaxesName} />\r\n
\r\n
\r\n\r\n
\r\n\r\n { mode !=\"view\"?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n\r\n } \r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n \r\n\r\n );\r\n}","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { downloadCSV, trans } from \"utils/helpers\";\r\nimport { ItemTaxesForm } from \"./ItemTaxesForm\";\r\nimport { getAllItemTaxes, postTax, removeItemTaxes } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface ItemTaxesPropsType {\r\n onHide?: () => void;\r\n getItemTaxes?: (data) => void;\r\n mode:any;\r\n inTab?:any;\r\n IsIndependent?:any;\r\n Id?:any;\r\n \r\n}\r\n\r\nexport const ItemTaxes = ({getItemTaxes,IsIndependent=false , Id ,mode,inTab ,onHide}:ItemTaxesPropsType) => {\r\n\r\n\r\n const [response, setResponse] = useState(null);\r\n const [ItemTaxesId, setItemTaxesId] = useState(null);\r\n const [ItemTaxesmode, setItemTaxesMode] = useState();\r\n const [orderFormat, setOrderFormat] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [showItemTaxesesForm, setShowItemTaxesesForm] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [ItemTaxeslist, setItemTaxeslist] = useState([]);\r\n const [selectList , setSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n\r\n let customFuction: any = []\r\n\r\n\r\n \r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"finish\": alert(\"call api finish \" ); break;\r\n case \"current\": alert(\"call api current \" ); break;\r\n case \"archive\": alert(\"call api archive \" ); break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n\r\n case \"view\": if (ItemTaxesId) { setItemTaxesMode(\"view\"); } else { \r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning)\r\n\r\n } break;\r\n case \"print\": alert(\"print \");break;\r\n case \"excel\": downloadCSV(ItemTaxeslist ,1 ,trans(\"ItemTaxes\"));break;\r\n case \"create\": setShowItemTaxesesForm(true);break;\r\n case \"remove\":if(selectList.length >0){\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , handleRemove)\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete , handleRemove)\r\n\r\n }else{\r\n // Toast(\"Msg_SelectRow\" , \"warning\")\r\n Toast(\"Msg_SelectRow\" , MessageType.warning)\r\n\r\n } ;break;\r\n\r\n }\r\n };\r\n\r\n const addItemTaxestoList =async (newItems) => { \r\n if(IsIndependent){\r\n \r\n let tax={\r\n \"ItemId\": Id,\r\n \"TaxTypeItem\": +newItems.TaxTypeItemEnum,\r\n \"TaxRate\": newItems.TaxRate\r\n }\r\n sendItemTaxAsync(tax)\r\n\r\n\r\n }else{\r\n\r\n let newItemTaxesList = ItemTaxeslist\r\n \r\n setLoading(false) \r\n \r\n if(ItemTaxeslist.length == 0){\r\n setItemTaxeslist([newItems])\r\n setResetMultiSelect(!resetMultiSelect)\r\n setSelectList([])\r\n getItemTaxes&& getItemTaxes([newItems])\r\n }else{ \r\n let checkList= ItemTaxeslist.find(p => p.Id == newItems.Id)\r\n if(!checkList){\r\n newItemTaxesList = [...newItemTaxesList,newItems]\r\n }else{\r\n // Toast(\"msg_delete_useddata\",\"error\")\r\n Toast(\"msg_delete_useddata\",MessageType.error)\r\n\r\n }\r\n setItemTaxeslist(newItemTaxesList)\r\n setResetMultiSelect(!resetMultiSelect)\r\n setSelectList([]) \r\n getItemTaxes&& getItemTaxes(newItemTaxesList)\r\n } \r\n setShowItemTaxesesForm(false)\r\n setLoading(true)\r\n }\r\n }\r\n\r\n const handleRemove =async()=>{\r\n setLoading(false)\r\n let removeListId=selectList.map(item=>{return item.Id})\r\n if(IsIndependent){\r\n setLoading(false)\r\n try {\r\n const res = await removeItemTaxes(removeListId)\r\n setForceUpdate(!forceUpdate)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n }else{\r\n let newList:any = []\r\n ItemTaxeslist.map(item=>{\r\n if(!removeListId.includes(item.Id)){\r\n newList.push(item)\r\n }\r\n })\r\n setResetMultiSelect(!resetMultiSelect)\r\n setSelectList([])\r\n setItemTaxeslist(newList)\r\n getItemTaxes&&getItemTaxes(newList)\r\n }\r\n setLoading(true)\r\n\r\n \r\n \r\n }\r\n const getWithOrder = (order: string[]) => {\r\n setOrderFormat(order.join(\",\"))\r\n }\r\n const selectedRowCallback = (obj, index) => {\r\n setItemTaxesId(obj?.Id);\r\n };\r\n const selectListCallBack =(list)=>{ \r\n setSelectList(list[1])\r\n }\r\n\r\n const sendItemTaxAsync =async (item) => {\r\n setLoading(false)\r\n try {\r\n const res = await postTax(item)\r\n setShowItemTaxesesForm(false)\r\n setForceUpdate(!forceUpdate)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n\r\n \r\n \r\n async function getItemTaxeslistAsync() {\r\n setLoading(false)\r\n try { \r\n const res = await getAllItemTaxes(Id)\r\n setItemTaxeslist(res.Data)\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n useEffect(() => {\r\n setResponse([])\r\n if((inTab ===\"ItemTaxes\"||IsIndependent)&& mode!=\"create\"){\r\n getItemTaxeslistAsync()\r\n \r\n }\r\n \r\n }, [forceUpdate ,inTab]);\r\n \r\n useEffect(() => {\r\n\r\n if(inTab ===\"ItemTaxes\"){\r\n if(ItemTaxeslist?.length >0){ \r\n let newList:any = [] \r\n ItemTaxeslist.map(item=>{\r\n if(item != undefined){\r\n newList.push(item) \r\n\r\n }\r\n })\r\n setItemTaxeslist(newList)\r\n getItemTaxes&& getItemTaxes(newList)\r\n }\r\n setLoading(true)\r\n }\r\n }, [ inTab]);\r\n \r\n\r\n \r\n /* #endregion */\r\n\r\n return (\r\n < >\r\n {(inTab ===\"ItemTaxes\"||IsIndependent) && \r\n
\r\n\r\n {mode != \"view\" &&\r\n \r\n } \r\n {loading ?\r\n
\r\n
\r\n
\r\n {\r\n (ItemTaxeslist?.length > 0 ?\r\n { }}\r\n orderFormat={getWithOrder}\r\n multiSelect={mode!=\"view\"}\r\n selectList={selectListCallBack}\r\n resetMultiSelect={resetMultiSelect}\r\n parentName={\"ItemTaxes\" }\r\n startIndex={IsIndependent?1:mode==\"view\"?1:2}\r\n theadData={Object.keys(ItemTaxeslist[0])}\r\n scrollHeight={\"350px\"}\r\n tbodyData={ItemTaxeslist}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedRowCallback}\r\n \r\n />\r\n : )\r\n }\r\n
\r\n
\r\n
\r\n : \r\n }\r\n {showItemTaxesesForm &&\r\n setShowItemTaxesesForm(false)} show={showItemTaxesesForm}>\r\n {addItemTaxestoList(e)}} onHide={() => setShowItemTaxesesForm(false)} />\r\n \r\n }\r\n
\r\n }\r\n \r\n )\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getAllItemTaxes = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemTax.browse,\r\n method: \"get\",\r\n params: {\r\n id: id,\r\n \r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\nexport const postTax = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemTax.browse,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\nexport const removeItemTaxes = (list) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemTax.browse,\r\n method: \"delete\",\r\n data:list\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject(err.response );\r\n });","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const sendItemBranch = (async ( data , method) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemBranch,\r\n method: method,\r\n data:data\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const getItemBranch = (async ( id ) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemBranch,\r\n method: \"get\",\r\n params:{\r\n id:id\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getAllItemMainPropertyValues = (pageNum, pageSize , searchString, orderBy ,filterlist,id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.ItemMainPropertyValues.list,\r\n method: \"get\",\r\n params: {\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString:filterlist,\r\n PageSize: pageSize,\r\n PageNumber: pageNum,\r\n id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getPageSize, trans } from \"utils/helpers\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { getAllItemMainPropertyValues } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface Form {\r\n onHide: () => void;\r\n PropertiesListcallback: (list) => void;\r\n\r\n ItemMainPropertyId?:any;\r\n\r\n}\r\nexport const ItemMainPropertyValuesList = ({ onHide ,PropertiesListcallback ,ItemMainPropertyId}: Form) => {\r\n\r\n\r\n const [response, setResponse] = useState(null);\r\n const [selectedObj, setSelectedObj] = useState< any>(null);\r\n const [mode, setMode] = useState(\"create\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [pages, setPages] = useState(0);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [selectList , setSelectList] = useState()\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n\r\n\r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"ItemMainPropertyValuesList\" ,e.currentTarget.value )\r\n getAllItemMainPropertyValuesAsync(1)\r\n };\r\n\r\n\r\n function handleGoPage(value): void {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else {setPageNum(+value);getAllItemMainPropertyValuesAsync(+value)}\r\n } else {\r\n }\r\n }\r\n \r\n const handleNextPage = () => {\r\n if(pageNum < pages){\r\n setPageNum(pageNum + 1);\r\n getAllItemMainPropertyValuesAsync(pageNum + 1);\r\n };\r\n };\r\n const handlePrevPage = () => {\r\n if(pageNum > 1){\r\n setPageNum((pageNum)=>{return +pageNum - 1});\r\n getAllItemMainPropertyValuesAsync(pageNum - 1);\r\n };\r\n };\r\n const selectedIdCallback = (obj, index) => {\r\n setSelectedObj(obj) \r\n \r\n }\r\n\r\n async function getAllItemMainPropertyValuesAsync(PageNum =pageNum) {\r\n setLoading(false)\r\n let pageSizeChangedByUser = getPageSize(\"ItemMainPropertyValuesList\" )\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const res = await getAllItemMainPropertyValues(PageNum, pageSizeChangedByUser ,search ,orderBy.length == 0 ?null: orderBy.join(\",\") ,filterlist,ItemMainPropertyId);\r\n setResponse(res.Data);\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) \r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n const selectListCallBack =(list)=>{\r\n \r\n setSelectList(list[1])\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n const makePropertiesList = (event) => {\r\n event.preventDefault(); \r\n PropertiesListcallback(selectList)\r\n onHide()\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // onHide()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide()\r\n });\r\n }else{\r\n onHide() \r\n };\r\n\r\n }\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n getAllItemMainPropertyValuesAsync();\r\n }, [forceUpdate ,search , orderBy , filterlist , pageNum]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n getAllItemMainPropertyValuesAsync();\r\n }\r\n }, [resetForm]);\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n <>\r\n {loading ?\r\n response&& response?.Data?.length > 0 ?\r\n <>\r\n { }}\r\n parentName={\"ItemMainPropertyValuesList\"}\r\n handlefiltering={(str)=>{setFilterlist(str) }}\r\n filterStr={filterlist}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n multiSelect={mode!=\"view\"}\r\n selectList={selectListCallBack}\r\n resetMultiSelect={resetMultiSelect}\r\n startIndex={1}\r\n theadData={Object.keys(response?.Data[0])}\r\n tbodyData={response?.Data}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedIdCallback}\r\n totalRecords={response.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n // handleDelete={(e)=>{Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" ,handleDeleteRow)}}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() =>{getAllItemMainPropertyValuesAsync(pages); setPageNum(pages)}}\r\n end={() =>{getAllItemMainPropertyValuesAsync(1); setPageNum(1)}}\r\n handleGoPage={handleGoPage}\r\n />\r\n \r\n : \r\n :\r\n }\r\n { mode !=\"view\"?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n\r\n } \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n );\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ItemMainPropertyValuesList } from \"./ItemMainPropertyValuesList\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\n\r\n\r\ninterface ItemMainPropertyVariationPropsType {\r\n ItemMainPropertyId?: any,\r\n ItemMainPropertyDescription?: any,\r\n SelectedItemMainPropertyValues?: (data) => void;\r\n mode?: any,\r\n checkData?: any,\r\n showLeafMode?: boolean,\r\n}\r\n\r\nexport const ItemMainPropertyVariation = ({\r\n ItemMainPropertyId,\r\n ItemMainPropertyDescription,\r\n SelectedItemMainPropertyValues,\r\n mode,\r\n checkData,\r\n showLeafMode= false,\r\n}: ItemMainPropertyVariationPropsType) => {\r\n\r\n\r\n const [reset, setReset] = useState(false);\r\n\r\n const [showItemMainPropertyValuesList,setShowItemMainPropertyValuesList] = useState()\r\n const [ItemLevelSpecificationslist, setItemLevelSpecificationslist] = useState([]);\r\n const [selectList , setSelectList] = useState([])\r\n\r\n const [ItemItemLevelSpecificationsId, setItemItemLevelSpecificationsId] = useState(null);\r\n\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n\r\n const selectedRowCallback = (obj, index) => {\r\n setItemItemLevelSpecificationsId(obj?.Id);\r\n };\r\n const selectListCallBack =(list)=>{\r\n setSelectList(list[1])\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if ( mode === \"create\"){\r\n setReset(true);\r\n }\r\n }, [ mode]);\r\n\r\n useEffect(() => {\r\n if (reset) {\r\n setReset(false);\r\n }\r\n\r\n }, [reset]);\r\n useEffect(() => {\r\n if (ItemMainPropertyId) {\r\n setReset(false);\r\n }\r\n\r\n }, [ItemMainPropertyId]);\r\n useEffect(() => {\r\n if (ItemLevelSpecificationslist) {\r\n SelectedItemMainPropertyValues&& SelectedItemMainPropertyValues(ItemLevelSpecificationslist);\r\n }\r\n\r\n }, [ItemLevelSpecificationslist]);\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n {showItemMainPropertyValuesList &&\r\n setShowItemMainPropertyValuesList(null)} show={showItemMainPropertyValuesList}>\r\n {setItemLevelSpecificationslist(e)}} onHide={() => setShowItemMainPropertyValuesList(null)} />\r\n \r\n }\r\n
\r\n \r\n
\r\n
\r\n
\r\n {\r\n (ItemLevelSpecificationslist?.length > 0 ?\r\n (\r\n {Id : item.Id , \r\n Description :checkData.Description+\" \"+ item.Description , \r\n SummaryDescription : item.Description , \r\n DescriptionEN:checkData.DescriptionEN+\" \"+item.DescriptionEN , \r\n SummaryDescriptionEN:item.DescriptionEN , \r\n Code: item.Code , \r\n Value: item.Value , \r\n\r\n }\r\n ))\r\n \r\n \r\n : ItemLevelSpecificationslist}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedRowCallback}\r\n />\r\n : )\r\n }\r\n
\r\n
\r\n
\r\n\r\n \r\n );\r\n}\r\n\r\n","import { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getItemBranch, sendItemBranch } from \"./api\";\r\nimport { ItemMainPropertyVariation } from \"../../components/ItemMainPropertyVariation/ItemMainPropertyVariation\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface ItemBranchType {\r\n mode?: any,\r\n checkData?: any,\r\n showForm: (e:boolean) => void\r\n selectedObj:any;\r\n}\r\n\r\nexport const ItemBranch = ({mode,selectedObj,checkData,showForm}:ItemBranchType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response,setResponse] = useState()\r\n const [loading,setLoading] = useState(false)\r\n const [canPaste,setCanPaste] = useState()\r\n const [selectedItemMainPropertyValues, setSelectedItemMainPropertyValues] = useState();\r\n const [descriptions, setDescriptions] = useState({Description: checkData.Description , DescriptionEN:checkData.DescriptionEN});\r\n\r\n const sendItemGroupAsync = async(method , data) => {\r\n try {\r\n const res = await sendItemBranch(data ,method )\r\n showForm(true) \r\n } catch (error) {\r\n \r\n } \r\n }\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n let data ={\r\n \"GroupLeafId\": checkData?.GroupLeafId,\r\n ParentId: selectedObj.Id,\r\n Code: ((checkData?.ParentCode ? checkData?.ParentCode+ event.target?.Code?.value :checkData?.ParentCode+ event.target?.Code?.value).replace(\"undefined\",\"\")),\r\n SummaryDescription :checkData.ItemMainPropertyId?\"\" :event.target.SummaryDescription.value,\r\n SummaryDescriptionEN :checkData.ItemMainPropertyId?\"\": event.target.SummaryDescriptionEN.value, \r\n \"Description\": checkData.Description ,\r\n \"DescriptionEN\":checkData.DescriptionEN,\r\n \"ParentLayerLeafId\": checkData.ParentLayerLeafId,\r\n \"ItemLayerType\": checkData.ItemLayerType, \r\n \"SelectedItemMainProperty\": checkData.ItemMainPropertyId,\r\n \"SelectedItemMainPropertyValues\": selectedItemMainPropertyValues ? selectedItemMainPropertyValues.map(item=>(item.Id)):null\r\n }\r\n\r\n if(checkData.ItemMainPropertyId&& (!selectedItemMainPropertyValues ||selectedItemMainPropertyValues?.length==0)){\r\n // Toast(trans(`Msg_ErrorNoSelectedLine`) , \"error\")\r\n Toast(trans(`Msg_ErrorNoSelectedLine`) , MessageType.error)\r\n\r\n }else{\r\n if(mode==\"create\"){\r\n sendItemGroupAsync(\"post\" ,data)\r\n }else{\r\n sendItemGroupAsync(\"put\" ,{...data , Id: response.Id ,ParentId:response.ParentId ,IsLeaf:response.IsLeaf})\r\n \r\n }\r\n }\r\n }\r\n \r\n async function getDataAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getItemBranch(selectedObj.Id);\r\n setResponse(res.Data);\r\n \r\n } catch (error) {\r\n }\r\n setLoading(true)\r\n }\r\n async function checkPaste() {\r\n try {\r\n \r\n let data =await navigator.clipboard.readText()\r\n if(data && JSON.parse(data)){\r\n setCanPaste(true)\r\n }\r\n } catch (error) {\r\n setCanPaste(false)\r\n\r\n }\r\n }\r\n const pasteHandler = async() => {\r\n const text =JSON.parse( await navigator.clipboard.readText());\r\n setResponse(text)\r\n try {\r\n } catch (error) {\r\n \r\n } \r\n }\r\n useEffect(() => {\r\n if(selectedObj?.Id && mode !=\"create\"){\r\n getDataAsync()\r\n }else{\r\n setLoading(true)\r\n }\r\n checkPaste()\r\n }, [selectedObj]);\r\n\r\n return (\r\n<>\r\n{\r\n loading ? \r\n\r\n
\r\n
\r\n { (mode != \"create\" && response)||(mode == \"create\") ?\r\n
\r\n
\r\n {(canPaste&&mode!=\"view\")&&\r\n
{pasteHandler()}} className=\"col-2 btn btn-primary btn-sm d-flex align-items-center justify-content-between \" style={{width:'89px' , maxHeight:\"30px\", marginRight:\"20px\" , position:\"absolute\" , left:\"5px\"}}>\r\n {trans('paste')}\r\n \r\n
\r\n }\r\n {(!checkData.ItemMainPropertyId||mode==\"view\")?\r\n <>\r\n \r\n
\r\n \r\n
\r\n
\r\n {setDescriptions({...descriptions ,summaryDescription:e })}}\r\n textboxName=\"SummaryDescription\"\r\n resetForm={resetForm}\r\n required={!checkData.ItemMainPropertyId }\r\n defaultValue={response?.SummaryDescription\t ? response.SummaryDescription\t : (!checkData.ItemMainPropertyId ?checkData?.ItemMainPropertyDescription :null) }\r\n labelText=\"itemSummaryDescription\"\r\n mode={mode}\r\n />\r\n
\r\n{/*
\r\n {setDescriptions({...descriptions ,Description:e })}}\r\n required={!checkData.ItemMainPropertyId }\r\n textboxType=\"text\"\r\n textboxName=\"Description\"\r\n resetForm={resetForm}\r\n defaultValue={ response?.Description ? response?.Description : ((descriptions.Description ? descriptions.Description: descriptions.summaryDescription))}\r\n labelText=\"itemDescription\"\r\n mode={mode}\r\n />\r\n
*/}\r\n \r\n\r\n
\r\n {setDescriptions({...descriptions ,SummaryDescriptionEN:e })}}\r\n\r\n textboxType=\"text\"\r\n textboxName=\"SummaryDescriptionEN\"\r\n resetForm={resetForm}\r\n defaultValue={response?.SummaryDescriptionEN? response?.SummaryDescriptionEN : checkData?.summaryDescriptionEN}\r\n labelText=\"itemSummaryDescriptionEN\"\r\n mode={mode}\r\n />\r\n
\r\n{/*
\r\n {setDescriptions({...descriptions ,DescriptionEN:e })}}\r\n textboxType=\"text\"\r\n textboxName=\"DescriptionEN\"\r\n resetForm={resetForm}\r\n defaultValue={response?.DescriptionEN ? response?.DescriptionEN : (descriptions.DescriptionEN ? descriptions.DescriptionEN: descriptions.SummaryDescriptionEN)}\r\n labelText=\"itemDescriptionEN\"\r\n mode={mode}\r\n />\r\n
*/}\r\n\r\n\r\n\r\n\r\n :<>\r\n\r\n }\r\n
\r\n {checkData.ItemMainPropertyId ?\r\n \r\n\r\n :\r\n <>\r\n \r\n }\r\n
\r\n {mode !== \"view\" ?\r\n <>\r\n
\r\n
\r\n :\r\n \r\n }\r\n
\r\n\r\n
\r\n :\r\n \r\n }\r\n \r\n );\r\n \r\n}\r\n ","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const sendItemGroupBranch = (async ( data , method) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemGroupBranch,\r\n method: method,\r\n data:data\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getItemGroupBranch = (async ( id ) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemGroupBranch,\r\n method: \"get\",\r\n params:{\r\n id:id\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)","import { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getItemGroupBranch, sendItemGroupBranch } from \"./api\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\n\r\ninterface ItemGroupBranchType {\r\n\r\n mode?: any,\r\n checkData?: any,\r\n showForm: (e:boolean) => void\r\n selectedObj:any;\r\n}\r\n\r\nexport const ItemGroupBranch = ({mode,selectedObj,checkData,showForm}:ItemGroupBranchType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response,setResponse] = useState()\r\n const [loading, setLoading] = useState(false);\r\n const [descriptions, setDescriptions] = useState({});\r\n const [canPaste, setCanPaste] = useState(false);\r\n\r\n const sendItemGroupAsync = async(method , data) => {\r\n try {\r\n const res = await sendItemGroupBranch(data ,method )\r\n\r\n showForm(true) \r\n } catch (error) {\r\n \r\n } \r\n }\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n let data ={\r\n ParentId: selectedObj.Id,\r\n Code: (checkData?.ParentCode ? checkData?.ParentCode+ event.target?.Code?.value :checkData?.ParentCode+ event.target?.Code?.value).replace(\"undefined\",\"\") ,\r\n SummaryDescription : event.target.SummaryDescription.value,\r\n SummaryDescriptionEN : event.target.SummaryDescriptionEN.value, \r\n }\r\n sendItemGroupAsync(\"post\" ,data)\r\n }\r\n\r\n\r\n async function getDataAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getItemGroupBranch(selectedObj.Id);\r\n setResponse(res.Data);\r\n \r\n } catch (error) {\r\n }\r\n setLoading(true)\r\n }\r\n async function checkPaste() {\r\n try {\r\n \r\n let data =await navigator.clipboard.readText()\r\n if(data && JSON.parse(data)){\r\n setCanPaste(true)\r\n }\r\n } catch (error) {\r\n setCanPaste(false)\r\n\r\n }\r\n }\r\n const pasteHandler = async() => {\r\n const text =JSON.parse( await navigator.clipboard.readText());\r\n setResponse(text)\r\n try {\r\n } catch (error) {\r\n \r\n } \r\n }\r\n useEffect(() => {\r\n if(selectedObj?.Id && mode !=\"create\"){\r\n getDataAsync()\r\n }else{\r\n setLoading(true)\r\n }\r\n if(mode!=\"view\")\r\n checkPaste()\r\n }, [selectedObj]);\r\n\r\n return (\r\n\r\n
\r\n
\r\n { (loading) ?\r\n
\r\n
\r\n {(canPaste&&mode!=\"view\")&&\r\n
{pasteHandler()}} className=\"col-2 btn btn-primary btn-sm d-flex align-items-center justify-content-between \" style={{width:'89px' , maxHeight:\"30px\", marginRight:\"20px\" , position:\"absolute\" , left:\"0\"}}>\r\n {trans('paste')}\r\n \r\n
\r\n }\r\n
\r\n \r\n
\r\n\r\n
\r\n {setDescriptions({...descriptions ,summaryDescription:e })}}\r\n textboxType=\"text\"\r\n textboxName=\"SummaryDescription\"\r\n resetForm={resetForm}\r\n defaultValue={response?.SummaryDescription ? response.SummaryDescription : null}\r\n labelText=\"itemSummaryDescription\"\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setDescriptions({...descriptions ,Description:e })}}\r\n textboxType=\"text\"\r\n textboxName=\"SummaryDescriptionEN\"\r\n resetForm={resetForm}\r\n defaultValue={response?.Description ? response?.Description : (descriptions.Description ? descriptions.Description: descriptions.summaryDescription)}\r\n labelText=\"itemSummaryDescriptionEN\"\r\n mode={mode}\r\n />\r\n
\r\n \r\n
\r\n
\r\n {mode !== \"view\" ?\r\n <>\r\n
\r\n
\r\n :\r\n \r\n }\r\n
\r\n\r\n
\r\n );;\r\n}\r\n ","import { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\n\r\ninterface ItemGroupLeafFormType {\r\n mode?: any,\r\n checkData?: any,\r\n selectedObj:any;\r\n ItemGroupLeafData:any;\r\n}\r\n\r\nexport const ItemGroupLeafForm = ({mode,selectedObj,ItemGroupLeafData,checkData}:ItemGroupLeafFormType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [descriptions, setDescriptions] = useState({});\r\n\r\n return (<>\r\n <>\r\n { (mode != \"create\" && ItemGroupLeafData)||(mode == \"create\") ?\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n {setDescriptions({...descriptions ,summaryDescription:e })}}\r\n textboxType=\"text\"\r\n textboxName=\"SummaryDescription\"\r\n resetForm={resetForm}\r\n defaultValue={ItemGroupLeafData?.SummaryDescription ? ItemGroupLeafData.SummaryDescription : null}\r\n labelText=\"ItemGroupSummaryDescription\"\r\n mode={mode}\r\n />\r\n
\r\n{/*
\r\n {setDescriptions({...descriptions ,Description:e })}}\r\n textboxType=\"text\"\r\n textboxName=\"Description\"\r\n resetForm={resetForm}\r\n defaultValue={ItemGroupLeafData?.Description ? ItemGroupLeafData?.Description : ((descriptions.Description &&descriptions.Description.length>0 )? descriptions.Description: descriptions.summaryDescription)}\r\n labelText=\"ItemGroupDescription\"\r\n mode={mode}\r\n />\r\n
*/}\r\n{/* \r\n
\r\n
*/}\r\n
\r\n {setDescriptions({...descriptions ,SummaryDescriptionEN:e })}}\r\n textboxType=\"text\"\r\n textboxName=\"SummaryDescriptionEN\"\r\n resetForm={resetForm}\r\n defaultValue={ItemGroupLeafData?.SummaryDescriptionEN ? ItemGroupLeafData.SummaryDescriptionEN : null}\r\n labelText=\"ItemGroupSummaryDescriptionEN\"\r\n mode={mode}\r\n />\r\n
\r\n{/*
\r\n {setDescriptions({...descriptions ,DescriptionEN:e })}}\r\n textboxType=\"text\"\r\n textboxName=\"DescriptionEN\"\r\n resetForm={resetForm}\r\n defaultValue={ ItemGroupLeafData?.DescriptionEN ? ItemGroupLeafData?.DescriptionEN : (descriptions.DescriptionEN ? descriptions.DescriptionEN: descriptions.SummaryDescriptionEN)}\r\n labelText=\"ItemGroupDescriptionEN\"\r\n mode={mode}\r\n />\r\n
*/}\r\n
\r\n\r\n\r\n \r\n
\r\n :\r\n \r\n }\r\n \r\n\r\n \r\n );;\r\n}\r\n ","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const sendItemGroupLeaf = (async ( data , method) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemGroupLeaf,\r\n method: method,\r\n data:data\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const getItemGroupLeaf = (async ( id ) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemGroupLeaf,\r\n method: \"get\",\r\n params:{\r\n id:id\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const getAllKeys = (pageNum, pageSize , searchString, orderBy ,filterlist) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.ItemMainProperty.browse,\r\n method: \"get\",\r\n params: {\r\n searchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString:filterlist,\r\n PageSize: pageSize,\r\n PageNumber: pageNum,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n","\r\n\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getPageSize, trans } from \"utils/helpers\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { getAllKeys } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface Form {\r\n onHide: () => void;\r\n PropertiesListcallback: (list) => void;\r\n formRefs?:any;\r\n VariationObj?:any;\r\n mode?:any;\r\n\r\n}\r\nexport const KeysList = ({ onHide ,PropertiesListcallback ,VariationObj ,mode}: Form) => {\r\n\r\n\r\n const [response, setResponse] = useState(null);\r\n const [selectedObj, setSelectedObj] = useState< any>(null);\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [pages, setPages] = useState(0);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n\r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"KeysList\" ,e.currentTarget.value )\r\n getAllKeysAsync(1)\r\n };\r\n\r\n\r\n function handleGoPage(value): void {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else {setPageNum(+value);getAllKeysAsync(+value)}\r\n } else {\r\n }\r\n }\r\n \r\n const handleNextPage = () => {\r\n if(pageNum < pages){\r\n setPageNum(pageNum + 1);\r\n getAllKeysAsync(pageNum + 1);\r\n };\r\n };\r\n const handlePrevPage = () => {\r\n if(pageNum > 1){\r\n setPageNum((pageNum)=>{return +pageNum - 1});\r\n getAllKeysAsync(pageNum - 1);\r\n };\r\n };\r\n\r\n\r\n\r\n\r\n\r\n const selectedIdCallback = (obj, index) => {\r\n setSelectedObj(obj) \r\n \r\n }\r\n\r\n\r\n \r\n\r\n\r\n async function getAllKeysAsync(PageNum =pageNum) {\r\n setLoading(false)\r\n let pageSizeChangedByUser = getPageSize(\"KeysList\" )\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const res = await getAllKeys(PageNum, pageSizeChangedByUser ,search ,orderBy.length == 0 ?null: orderBy.join(\",\") ,filterlist);\r\n if(mode!=\"view\"){\r\n setResponse(res.Data.Data);\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) \r\n }else{\r\n let newList:any = []\r\n res.Data.map(item=>{\r\n if(item.Id == VariationObj.ItemMainPropertyId){\r\n newList.push(item)\r\n }\r\n })\r\n setResponse(newList);\r\n setPages(1) \r\n }\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n const makePropertiesList = (event) => {\r\n event.preventDefault(); \r\n if(VariationObj && VariationObj.CodeFormatLetter.length< +selectedObj?.CodeLength){\r\n // Toast(\"Msg_ErrorMatchingCodeLengthAndCodeFormat\" , \"error\")\r\n Toast(\"Msg_ErrorMatchingCodeLengthAndCodeFormat\" , MessageType.error)\r\n\r\n \r\n }else{\r\n\r\n PropertiesListcallback(selectedObj)\r\n }\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // onHide()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide()\r\n });\r\n }else{\r\n onHide() \r\n };\r\n\r\n }\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n getAllKeysAsync();\r\n }, [forceUpdate ,search , orderBy , filterlist , pageNum]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n getAllKeysAsync();\r\n }\r\n }, [resetForm]);\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n <>\r\n {loading ?\r\n response?.length > 0 ?\r\n <>\r\n { }}\r\n parentName={\"KeysList\"}\r\n handlefiltering={(str)=>{setFilterlist(str) }}\r\n filterStr={filterlist}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n startIndex={1}\r\n theadData={Object.keys(response[0])}\r\n tbodyData={response}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedIdCallback}\r\n totalRecords={response.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n // handleDelete={(e)=>{Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" ,handleDeleteRow)}}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() =>{getAllKeysAsync(pages); setPageNum(pages)}}\r\n end={() =>{getAllKeysAsync(1); setPageNum(1)}}\r\n handleGoPage={handleGoPage}\r\n />\r\n \r\n : \r\n :\r\n }\r\n { mode !=\"view\"?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n\r\n } \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n );\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { KeysList } from \"./KeysList\";\r\nimport { getItemGroupRootsFormat } from \"../../api\";\r\nimport { getItemGroupLeaf } from \"./api\";\r\n\r\n\r\ninterface ItemFormatsFormPropsType {\r\n id?: any,\r\n mode?: any,\r\n inTab?: any,\r\n formRef?: any,\r\n data?:any;\r\n checkData: any;\r\n ItemGroupLeafData: any;\r\n submitItemFormats: (data) => void;\r\n\r\n}\r\n\r\nexport const ItemFormatsForm = ({\r\n id,\r\n mode,\r\n inTab,\r\n formRef,\r\n data,\r\n checkData,\r\n ItemGroupLeafData,\r\n submitItemFormats,\r\n \r\n}: ItemFormatsFormPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [ItemFormatsCodeFormat,setItemFormatsCodeFormat] = useState({})\r\n const [showKeysList,setShowKeysList] = useState()\r\n const [loading, setLoading] = useState(false);\r\n const [response,setResponse] = useState()\r\n const [itemGroupFormat,setItemGroupFormat] = useState()\r\n const [ItemLayerFormatlevels,setItemLayerFormatlevels] = useState(1)\r\n const [levels,setlevels] = useState(null)\r\n const [responseLength,setResponseLength] = useState()\r\n const formatLetters={\r\n 0:\"A\",\r\n 1:\"B\",\r\n 2:\"C\",\r\n 3:\"D\",\r\n 4:\"E\",\r\n 5:\"F\",\r\n 6:\"G\",\r\n 7:\"H\",\r\n 8:\"I\",\r\n 9:\"J\",\r\n 10:\"K\",\r\n 11:\"L\",\r\n }\r\n\r\n\r\n function countSpecificLetter(string, letter) {\r\n if(string&&letter){\r\n string = string.toLowerCase();\r\n letter = letter.toLowerCase();\r\n let count = 0;\r\n for (let char of string) {\r\n if (char === letter) {\r\n count++;\r\n }\r\n }\r\n return count;\r\n }else return 0\r\n }\r\n\r\n\r\n\r\n async function getItemGroupRootsFormatAsync() {\r\n setLoading(false)\r\n try {\r\n \r\n\r\n const res = await getItemGroupRootsFormat();\r\n let str = res?.Data[0]+ (ItemGroupLeafData?.LeafCodeFormat ?ItemGroupLeafData?.LeafCodeFormat : \"\" ) ; \r\n let levels = str.split('').filter((item, pos, self) => self.indexOf(item) === pos); \r\n setResponse( res?.Data[0]) \r\n setResponseLength((res.Data[0].split('').filter((item, pos, self) => self.indexOf(item) === pos)).length)\r\n setlevels(levels.length - (res.Data[0].split('').filter((item, pos, self) => self.indexOf(item) === pos)).length)\r\n // setlevels(levels.length)\r\n let itemGroupFormat ={}\r\n levels.map((item , index)=>{\r\n itemGroupFormat= {...itemGroupFormat , [formatLetters[index]]: countSpecificLetter(str ,formatLetters[index] )}\r\n })\r\n\r\n setItemGroupFormat(itemGroupFormat)\r\n\r\n if(mode!=\"create\"){\r\n if(id){\r\n const res2 = await getItemGroupLeaf(id);\r\n setItemLayerFormatlevels(res2.Data.ItemLayerLevelCount)\r\n if(res2.Data.ItemLevelSpecificationList.length>0){\r\n let obj:any={}\r\n res2.Data.ItemLevelSpecificationList.map(item=>{\r\n obj[item.CodeFormatLetter ] = {\r\n CodeFormatLetter:Array(char_count(ItemGroupLeafData.LeafCodeFormat ,item.CodeFormatLetter)).fill(item.CodeFormatLetter).join(\"\") ,\r\n ItemMainPropertyDescription :item.ItemMainPropertyDescription ,\r\n ItemMainPropertyId:item.ItemMainPropertyId ,\r\n }\r\n })\r\n setItemFormatsCodeFormat(obj)\r\n }\r\n\r\n }else if(ItemGroupLeafData?.ItemLevelSpecificationList){\r\n if(ItemGroupLeafData?.ItemLevelSpecificationList.length>0){\r\n let obj:any={}\r\n ItemGroupLeafData?.ItemLevelSpecificationList.map(item=>{\r\n obj[item.CodeFormatLetter] = {\r\n CodeFormatLetter:Array(char_count(ItemGroupLeafData.LeafCodeFormat ,item.CodeFormatLetter)).fill(item.CodeFormatLetter).join(\"\") ,\r\n ItemMainPropertyDescription :item.ItemMainPropertyDescription ,\r\n ItemMainPropertyId:item.ItemMainPropertyId ,\r\n }\r\n })\r\n setItemFormatsCodeFormat(obj)\r\n }\r\n }\r\n }else if(ItemGroupLeafData) {\r\n setItemLayerFormatlevels(ItemGroupLeafData.ItemLayerLevelCount)\r\n\r\n if(ItemGroupLeafData?.ItemLevelSpecificationList.length>0){\r\n let obj:any={}\r\n ItemGroupLeafData?.ItemLevelSpecificationList.map(item=>{\r\n obj[item.CodeFormatLetter] = {\r\n CodeFormatLetter:Array(char_count(ItemGroupLeafData.LeafCodeFormat ,item.CodeFormatLetter)).fill(item.CodeFormatLetter).join(\"\") ,\r\n ItemMainPropertyDescription :item.ItemMainPropertyDescription ,\r\n ItemMainPropertyId:item.ItemMainPropertyId ,\r\n }\r\n })\r\n setItemFormatsCodeFormat(obj)\r\n }\r\n }\r\n }\r\n catch (error) {\r\n }\r\n setLoading(true)\r\n\r\n }\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n useEffect(() => {\r\n // if(inTab==\"ItemCodeFormat\" )\r\n getItemGroupRootsFormatAsync()\r\n\r\n }, []);\r\n\r\n function stringToUniqueArray(e:any=1, index) {\r\n let obj:any = ItemFormatsCodeFormat;\r\n if(obj[formatLetters[index+responseLength+1]]){\r\n obj[formatLetters[index+responseLength+1]] = {\r\n ItemMainPropertyDescription:ItemFormatsCodeFormat[formatLetters[index+responseLength+1]].ItemMainPropertyDescription ,\r\n ItemMainPropertyId:ItemFormatsCodeFormat[formatLetters[index+responseLength+1]].ItemMainPropertyId ,\r\n CodeFormatLetter: formatLetters[index+responseLength+1].repeat(+e)\r\n }\r\n }else{\r\n obj[formatLetters[index+responseLength+1]] = {\r\n CodeFormatLetter:formatLetters[index+responseLength+1],\r\n ItemMainPropertyDescription :null,\r\n ItemMainPropertyId:null,\r\n }\r\n }\r\n setItemFormatsCodeFormat(obj)\r\n submitItemFormats&& submitItemFormats(obj)\r\n //}else{\r\n // submitItemFormats&& submitItemFormats(ItemFormatsCodeFormat)\r\n //}\r\n setItemGroupFormat((pre)=> ({...pre , [formatLetters[index+responseLength+1]]: +e}))\r\n }\r\n function char_count(str, letter) {\r\n var letter_Count = 0;\r\n for (var position = 0; position < str.length; position++) {\r\n if (str.charAt(position) == letter) {\r\n letter_Count += 1;\r\n }\r\n }\r\n \r\n // Return the final count of occurrences\r\n return letter_Count;\r\n }\r\n useEffect(() => {\r\n\r\n if(ItemGroupLeafData && ItemGroupLeafData.ItemLevelSpecificationList.length>0){\r\n let obj:any={}\r\n \r\n ItemGroupLeafData.ItemLevelSpecificationList.map(item=>{\r\n obj[item.CodeFormatLetter] ={\r\n CodeFormatLetter: Array(char_count(ItemGroupLeafData.LeafCodeFormat ,item.CodeFormatLetter)).fill(item.CodeFormatLetter).join(\"\") ,\r\n ItemMainPropertyDescription :item.ItemMainPropertyDescription ,\r\n ItemMainPropertyId:item.ItemMainPropertyId ,\r\n }\r\n })\r\n getItemGroupRootsFormatAsync()\r\n setItemFormatsCodeFormat(obj)\r\n submitItemFormats&& submitItemFormats(obj)\r\n }\r\n \r\n }, [ mode ,ItemGroupLeafData]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n\r\n return (\r\n <>\r\n {showKeysList &&\r\n setShowKeysList(null)} show={showKeysList}>\r\n {setItemFormatsCodeFormat({...ItemFormatsCodeFormat , [showKeysList.CodeFormatLetter[0]]:{CodeFormatLetter:showKeysList.CodeFormatLetter ,ItemMainPropertyId:e.Id , ItemMainPropertyDescription : e.Title, KeyDescription: e.Title } } ); \r\n submitItemFormats&& submitItemFormats({...ItemFormatsCodeFormat , [showKeysList.CodeFormatLetter[0]]:{CodeFormatLetter:showKeysList.CodeFormatLetter ,ItemMainPropertyId:e.Id , ItemMainPropertyDescription : e.Title, KeyDescription: e.Title } } )\r\n ;setShowKeysList(null)}} onHide={() => setShowKeysList(null)} />\r\n \r\n }\r\n { (loading) ?\r\n
\r\n
\r\n\r\n
\r\n {\r\n let newValue = parseInt(e.target.value, 10); \r\n if(newValue>9)newValue=9\r\n if (newValue && newValue > 0) {\r\n const currentLevels = responseLength; \r\n const diff = (newValue - (currentLevels));\r\n for (let i = levels; i < newValue; i++) {\r\n stringToUniqueArray(1, i-(responseLength-1)); \r\n }\r\n setlevels(newValue);\r\n } else {\r\n setlevels(responseLength); \r\n }\r\n }}\r\n defaultValue={levels}\r\n min={1}\r\n max={9}\r\n required={true}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setItemLayerFormatlevels(e.target.value) }}\r\n defaultValue={ItemLayerFormatlevels }\r\n min={1}\r\n max={levels-1==0?1:levels-1}\r\n required={true}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n\r\n\r\n\r\n\r\n {itemGroupFormat&&\r\n
\r\n (Array(+itemGroupFormat[item]).fill(item).join(\"\"))).join(\"\").replace(response,\"\")}\r\n value={Object.keys(itemGroupFormat).slice(0, +levels+responseLength).map(item=>(Array(+itemGroupFormat[item]).fill(item).join(\"\"))).join(\"\").replace(response,\"\")} \r\n resetForm={resetForm}\r\n capsLock={true}\r\n labelText=\"itemcodeformat\"\r\n mode={\"view\"}\r\n />\r\n
\r\n }\r\n {response&&\r\n
\r\n \r\n
\r\n }\r\n\r\n
\r\n\r\n {ItemFormatsCodeFormat&&\r\n
\r\n\r\n {ItemFormatsCodeFormat&&Object.values(ItemFormatsCodeFormat).map((item:any,index)=>(\r\n <>{+levels>index?\r\n <>\r\n {ItemLayerFormatlevels==index?\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n {stringToUniqueArray(e.target.value,index-1) }}\r\n defaultValue={ countSpecificLetter(Object.keys(itemGroupFormat).map(item=>(Array(+itemGroupFormat[item]).fill(item).join(\"\"))).join(\"\") ,responseLength? formatLetters[index+responseLength]:formatLetters[index] )+\"\" }\r\n required={true}\r\n resetForm={resetForm}\r\n labelText={ trans(\"LevelCodeLength\") +\" \" + (index+responseLength+1)+ `(${formatLetters[index+responseLength]})`}\r\n mode={item?.ItemMainPropertyId ?\"view\": mode}\r\n min={ 1}\r\n \r\n />\r\n
\r\n {item.CodeFormatLetter} : \r\n
\r\n \r\n
\r\n
\r\n {mode!= \"view\"?\r\n } btnType=\"cancel\"onClick={(e)=>{}} />\r\n :\r\n <>\r\n {item.ItemMainPropertyId &&\r\n } btnType=\"cancel\"onClick={(e)=>{}} />\r\n }\r\n \r\n }\r\n
\r\n
\r\n
\r\n \r\n :\r\n\r\n
\r\n
\r\n
\r\n {stringToUniqueArray(e.target.value,index-1) }}\r\n defaultValue={ countSpecificLetter(Object.keys(itemGroupFormat).map(item=>(Array(+itemGroupFormat[item]).fill(item).join(\"\"))).join(\"\") ,responseLength? formatLetters[index+responseLength]:formatLetters[index] )+\"\" }\r\n required={true}\r\n resetForm={resetForm}\r\n labelText={ trans(\"LevelCodeLength\") +\" \" + (index+responseLength+1)+ `(${formatLetters[index+responseLength]})`}\r\n mode={item?.ItemMainPropertyId ?\"view\": mode}\r\n min={1}\r\n />\r\n
\r\n {item.CodeFormatLetter} : \r\n
\r\n \r\n
\r\n
\r\n {mode!= \"view\"?\r\n } btnType=\"cancel\"onClick={(e)=>{}} />\r\n :\r\n <>\r\n {item.ItemMainPropertyId &&\r\n } btnType=\"cancel\"onClick={(e)=>{}} />\r\n }\r\n \r\n }\r\n
\r\n
\r\n
\r\n }\r\n \r\n : <>\r\n }\r\n \r\n ))}\r\n
\r\n }\r\n
\r\n \r\n
\r\n
\r\n :\r\n \r\n }\r\n\r\n \r\n );\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Button } from \"components/Button/Button\";\r\nimport { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ItemGroupLeafForm } from \"./ItemGroupLeafForm\";\r\nimport { getItemGroupLeaf, sendItemGroupLeaf } from \"./api\";\r\nimport { ItemFormatsForm } from \"./ItemFormatsForm\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { padWithZeros, trans } from \"utils/helpers\";\r\n\r\n\r\ninterface ItemGroupLeafType {\r\n\r\n mode?: any,\r\n checkData?: any,\r\n showForm: (e:boolean) => void\r\n\r\n selectedObj:any;\r\n}\r\n\r\nexport const ItemGroupLeaf = ({mode,selectedObj,checkData,showForm}:ItemGroupLeafType) => {\r\n\r\n\r\n const [ItemFormatsCodeFormat,setItemFormatsCodeFormat] = useState({})\r\n const [curentTab, setCurentTab] = useState(\"GroupLeaf\")\r\n const [response,setResponse] = useState()\r\n const [canPaste,setCanPaste] = useState()\r\n\r\n const [loading,setLoading] = useState(false)\r\n\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n } \r\n\r\n async function getDataAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getItemGroupLeaf(selectedObj.Id);\r\n setResponse(res.Data); \r\n\r\n \r\n } catch (error) {\r\n }\r\n setLoading(true)\r\n }\r\n\r\n const sendItemGroupAsync = async(method , data) => {\r\n try {\r\n const res = await sendItemGroupLeaf(data ,method )\r\n showForm(true) \r\n } catch (error) {\r\n \r\n } \r\n }\r\n const onInvalid = (e) => {\r\n if(e.target.name==\"LayerCodeFormat\"){\r\n setCurentTab(\"ItemCodeFormat\")\r\n }\r\n }\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n let ItemLevelSpecificationList:any =[]\r\n Object.values(ItemFormatsCodeFormat).map((item:any, index)=>{\r\n if(index<+event.target?.ItemLayerCodeFormat?.value && index< +event.target.LayerCodeFormat.value){\r\n ItemLevelSpecificationList.push({\r\n CodeFormatLetter:item.CodeFormatLetter[0] ,\r\n ItemMainPropertyDescription: event.target[item.CodeFormatLetter+\"KeyDescription\"].value ,\r\n ItemMainPropertyId:item.ItemMainPropertyId ,\r\n })\r\n\r\n }\r\n\r\n \r\n })\r\n let ItemVariationLevelSpecificationList:any =[]\r\n Object.values(ItemFormatsCodeFormat).map((item:any, index)=>{\r\n if(index>= +event.target.ItemLayerCodeFormat.value && index< +event.target.LayerCodeFormat.value)\r\n ItemVariationLevelSpecificationList.push({\r\n CodeFormatLetter:item.CodeFormatLetter[0] ,\r\n ItemMainPropertyDescription: event.target[item.CodeFormatLetter+\"KeyDescription\"].value ,\r\n ItemMainPropertyId:item.ItemMainPropertyId ,\r\n })\r\n\r\n \r\n })\r\n if(mode==\"create\"){\r\n let data ={\r\n ParentId: selectedObj.Id,\r\n ItemType : +event.target.ItemType.value,\r\n ItemLayerLevelCount:+event.target.ItemLayerCodeFormat.value ,\r\n Code: ((checkData?.ParentCode ? checkData?.ParentCode+ event.target?.Code?.value :checkData?.ParentCode+ event.target?.Code?.value).replace(\"undefined\",\"\")) ,\r\n \"Description\": checkData.Description ,\r\n \"DescriptionEN\":checkData.DescriptionEN,\r\n SummaryDescription : event.target.SummaryDescription.value,\r\n DescriptionByCodeFormat : event.target.DescriptionByCodeFormat.value,\r\n SummaryDescriptionEN : event.target.SummaryDescriptionEN.value, \r\n LeafCodeFormat :event.target.ItemGroupFormat.value,\r\n ItemLevelSpecificationList:ItemLevelSpecificationList,\r\n ItemVariationLevelSpecificationList:ItemVariationLevelSpecificationList\r\n }\r\n sendItemGroupAsync(\"post\" ,data)\r\n }else{\r\n let data ={\r\n Id: selectedObj.Id,\r\n ItemType : +event.target.ItemType.value,\r\n ItemLayerLevelCount:+event.target.ItemLayerCodeFormat.value , \r\n ParentId: selectedObj.ParentId,\r\n Code: ((checkData?.ParentCode ? checkData?.ParentCode+ event.target?.Code?.value :checkData?.ParentCode+ event.target?.Code?.value).replace(\"undefined\",\"\") ),\r\n DescriptionByCodeFormat : event.target.DescriptionByCodeFormat.value,\r\n // Code: checkData?.ParentCode+padWithZeros(+checkData.CodeLength , event.target?.Code?.value) ,\r\n \"Description\": checkData.Description ,\r\n \"DescriptionEN\":checkData.DescriptionEN,\r\n SummaryDescription : event.target.SummaryDescription.value,\r\n SummaryDescriptionEN : event.target.SummaryDescriptionEN.value, \r\n LeafCodeFormat :event.target.ItemGroupFormat.value,\r\n ItemLevelSpecificationList:ItemLevelSpecificationList,\r\n ItemVariationLevelSpecificationList:ItemVariationLevelSpecificationList,\r\n }\r\n sendItemGroupAsync(\"put\" ,data)\r\n }\r\n } \r\n \r\n async function checkPaste() {\r\n try {\r\n \r\n let data =await navigator.clipboard.readText()\r\n if(data && JSON.parse(data)){\r\n setCanPaste(true)\r\n }\r\n } catch (error) {\r\n setCanPaste(false)\r\n\r\n }\r\n }\r\n const pasteHandler = async() => {\r\n const text =JSON.parse( await navigator.clipboard.readText());\r\n setResponse(text)\r\n try {\r\n } catch (error) {\r\n \r\n } \r\n }\r\n\r\n useEffect(() => {\r\n if(selectedObj?.Id && mode !=\"create\"){\r\n getDataAsync()\r\n }else{\r\n setLoading(true)\r\n }\r\n checkPaste()\r\n }, [selectedObj]);\r\n let content = [\r\n { title: \"GroupLeaf\", body: (), },\r\n { title: \"ItemCodeFormat\", body: (), },\r\n ];\r\n return (\r\n <>\r\n
\r\n {(canPaste&&mode!=\"view\")&&\r\n
{pasteHandler()}} className=\"col-2 btn btn-primary btn-sm d-flex align-items-center justify-content-between \" style={{width:'89px' , maxHeight:\"30px\", marginRight:\"20px\" , position:\"absolute\" , left:\"5px\"}}>\r\n {trans('paste')}\r\n \r\n
\r\n }\r\n {loading ? \r\n \r\n : \r\n \r\n }\r\n
\r\n {mode !== \"view\" ?\r\n <>\r\n
\r\n \r\n \r\n );;\r\n}\r\n ","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const sendItemGroupRoot = (async ( data , method) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemGroupRoot,\r\n method: method,\r\n data:data\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const getItemGroupRoot = (async ( id ) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemGroupRoot,\r\n method: \"get\",\r\n params:{\r\n id:id\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)","import { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getItemGroupRoot, sendItemGroupRoot } from \"./api\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\ninterface ItemGroupRootType {\r\n mode?: any;\r\n checkData?: any;\r\n showForm: (e: boolean) => void;\r\n\r\n selectedObj: any;\r\n}\r\n\r\nexport const ItemGroupRoot = ({\r\n mode,\r\n selectedObj,\r\n checkData,\r\n showForm,\r\n}: ItemGroupRootType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [canPaste, setCanPaste] = useState(false);\r\n const [descriptions, setDescriptions] = useState({});\r\n\r\n const sendItemGroupAsync = async (method, data) => {\r\n try {\r\n const res = await sendItemGroupRoot(data, method);\r\n\r\n showForm(true);\r\n } catch (error) {}\r\n };\r\n const pasteHandler = async () => {\r\n const text = JSON.parse(await navigator.clipboard.readText());\r\n setResponse(text);\r\n try {\r\n } catch (error) {}\r\n };\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault();\r\n if (mode == \"create\") {\r\n let data = {\r\n Code: event.target?.Code?.value,\r\n \"Description\": checkData.Description ,\r\n \"DescriptionEN\":checkData.DescriptionEN,\r\n SummaryDescription: event.target.SummaryDescription.value,\r\n SummaryDescriptionEN: event.target.SummaryDescriptionEN.value,\r\n };\r\n sendItemGroupAsync(\"post\", data);\r\n } else {\r\n let data = {\r\n Id: response.Id,\r\n Code: response.Code,\r\n \"Description\": checkData.Description ,\r\n \"DescriptionEN\":checkData.DescriptionEN,\r\n SummaryDescription: event.target.SummaryDescription.value,\r\n SummaryDescriptionEN: event.target.SummaryDescriptionEN.value,\r\n };\r\n sendItemGroupAsync(\"put\", data);\r\n }\r\n }\r\n\r\n async function getDataAsync() {\r\n setLoading(false);\r\n try {\r\n const res = await getItemGroupRoot(selectedObj.Id);\r\n setResponse(res.Data);\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n async function checkPaste() {\r\n try {\r\n let data = await navigator.clipboard.readText();\r\n if (data && JSON.parse(data)) {\r\n setCanPaste(true);\r\n }\r\n } catch (error) {\r\n setCanPaste(false);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (selectedObj?.Id && mode != \"create\") {\r\n getDataAsync();\r\n } else {\r\n setLoading(true);\r\n }\r\n if (mode != \"view\") checkPaste();\r\n }, [selectedObj]);\r\n\r\n return (\r\n \r\n
\r\n {(mode != \"create\" && response) || mode == \"create\" ? (\r\n
\r\n
\r\n {canPaste && mode != \"view\" && (\r\n {\r\n pasteHandler();\r\n }}\r\n className=\"col-2 btn btn-primary btn-sm d-flex align-items-center justify-content-between \"\r\n style={{\r\n width: \"89px\",\r\n maxHeight: \"30px\",\r\n marginRight: \"20px\",\r\n position: \"absolute\",\r\n left: \"0\",\r\n }}\r\n >\r\n {trans(\"paste\")}\r\n \r\n
\r\n )}\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n setDescriptions({ ...descriptions, summaryDescription: e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"SummaryDescription\"\r\n resetForm={resetForm}\r\n defaultValue={\r\n response?.SummaryDescription\r\n ? response.SummaryDescription\r\n : null\r\n }\r\n labelText=\"ItemGroupSummaryDescription\"\r\n mode={mode}\r\n />\r\n
\r\n{/*
\r\n {\r\n setDescriptions({ ...descriptions, Description: e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"Description\"\r\n resetForm={resetForm}\r\n defaultValue={\r\n response?.Description\r\n ? response?.Description\r\n : descriptions.Description\r\n ? descriptions.Description\r\n : descriptions.summaryDescription\r\n }\r\n labelText={\"ItemGroupDescription\"}\r\n mode={mode}\r\n />\r\n
*/}\r\n{/*
\r\n
*/}\r\n
\r\n {\r\n setDescriptions({\r\n ...descriptions,\r\n SummaryDescriptionEN: e,\r\n });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"SummaryDescriptionEN\"\r\n resetForm={resetForm}\r\n defaultValue={\r\n response?.SummaryDescriptionEN\r\n ? response.SummaryDescriptionEN\r\n : null\r\n }\r\n labelText=\"ItemGroupSummaryDescriptionEN\"\r\n mode={mode}\r\n />\r\n
\r\n{/*
\r\n {\r\n setDescriptions({ ...descriptions, DescriptionEN: e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"DescriptionEN\"\r\n resetForm={resetForm}\r\n defaultValue={\r\n response?.DescriptionEN\r\n ? response?.DescriptionEN\r\n : descriptions.DescriptionEN\r\n ? descriptions.DescriptionEN\r\n : descriptions.SummaryDescriptionEN\r\n }\r\n labelText=\"ItemGroupDescriptionEN\"\r\n mode={mode}\r\n />\r\n
*/}\r\n
\r\n\r\n
\r\n {mode !== \"view\" ? (\r\n <>\r\n
\r\n
\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { ItemMainPropertyVariation } from \"../../../components/ItemMainPropertyVariation/ItemMainPropertyVariation\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface MainFormPropsType {\r\n id?: any,\r\n mode?: any,\r\n inTab?: any,\r\n formRef?: any,\r\n data?:any;\r\n checkData: any;\r\n submitMain?: (data) => void;\r\n\r\n}\r\n\r\nexport const MainForm = ({\r\n id,\r\n mode,\r\n inTab,\r\n formRef,\r\n data,\r\n checkData,\r\n submitMain,\r\n \r\n \r\n}: MainFormPropsType) => {\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [descriptions, setDescriptions] = useState({Description: checkData.Description , DescriptionEN:checkData.DescriptionEN});\r\n const [selectedItemMainPropertyValues, setSelectedItemMainPropertyValues] = useState();\r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n let data ={\r\n Code: (checkData?.ParentCode ? checkData?.ParentCode+ event.target?.Code?.value :checkData?.ParentCode+ event.target?.Code?.value).replace(\"undefined\",\"\") ,\r\n \"Description\": descriptions.Description?descriptions.Description: event.target.Description?.value,\r\n \"DescriptionEN\":descriptions.DescriptionEN?descriptions.DescriptionEN:event.target.DescriptionEN?.value,\r\n SummaryDescription :checkData.ItemMainPropertyId?\"\": event.target.SummaryDescription.value,\r\n SummaryDescriptionEN :checkData.ItemMainPropertyId?\"\": event.target.SummaryDescriptionEN.value,\r\n TechnicalCode : event.target.TechnicalCode?.value,\r\n // DescriptionByCodeFormat : event.target.DescriptionByCodeFormat.value, \r\n \"SelectedItemMainProperty\": checkData.ItemMainPropertyId,\r\n \"SelectedItemMainPropertyValues\": selectedItemMainPropertyValues ? selectedItemMainPropertyValues.map(item=>(item.Id)):null\r\n }\r\n if(checkData.ItemMainPropertyId&& (!selectedItemMainPropertyValues ||selectedItemMainPropertyValues?.length==0)){\r\n // Toast(trans(`Msg_ErrorNoSelectedLine`) , \"error\")\r\n Toast(trans(`Msg_ErrorNoSelectedLine`) , MessageType.error)\r\n\r\n }else{\r\n submitMain&& submitMain(data)\r\n }\r\n }\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n return (\r\n
\r\n
\r\n { (mode != \"create\" && data)||(mode == \"create\") ?\r\n
\r\n
\r\n {(!checkData.ItemMainPropertyId||mode==\"view\")?\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {setDescriptions({...descriptions ,summaryDescription:e })}}\r\n textboxType=\"text\"\r\n textboxName=\"SummaryDescription\"\r\n resetForm={resetForm}\r\n defaultValue={data?.SummaryDescription ? data.SummaryDescription : !checkData.ItemMainPropertyId ?checkData?.ItemMainPropertyDescription :null }\r\n labelText=\"itemSummaryDescription\"\r\n required={!checkData.ItemMainPropertyId }\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setDescriptions({...descriptions ,Description:e })}}\r\n required={!checkData.ItemMainPropertyId }\r\n textboxType=\"text\"\r\n textboxName=\"Description\"\r\n resetForm={resetForm}\r\n defaultValue={ data?.Description ? data?.Description : ((descriptions.Description ? descriptions.Description: descriptions.summaryDescription))}\r\n labelText=\"itemDescription\"\r\n mode={mode}\r\n />\r\n
\r\n\r\n\r\n
\r\n {setDescriptions({...descriptions ,SummaryDescriptionEN:e })}}\r\n textboxType=\"text\"\r\n textboxName=\"SummaryDescriptionEN\"\r\n resetForm={resetForm}\r\n defaultValue={data?.SummaryDescriptionEN ? data.SummaryDescriptionEN : null}\r\n labelText=\"itemSummaryDescriptionEN\"\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setDescriptions({...descriptions ,DescriptionEN:e })}}\r\n textboxType=\"text\"\r\n textboxName=\"DescriptionEN\"\r\n resetForm={resetForm}\r\n defaultValue={data?.DescriptionEN ? data?.DescriptionEN : (descriptions.DescriptionEN ? descriptions.DescriptionEN: descriptions.SummaryDescriptionEN)}\r\n labelText=\"itemDescriptionEN\"\r\n mode={mode}\r\n />\r\n
\r\n :<>\r\n }\r\n\r\n\r\n
\r\n
\r\n\r\n{/*
\r\n \r\n
*/}\r\n\r\n\r\n
\r\n \r\n\r\n {checkData.ItemMainPropertyId ?\r\n \r\n :\r\n <>\r\n \r\n }\r\n
\r\n :\r\n \r\n }\r\n
\r\n \r\n
\r\n );\r\n}","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { UnitDictionary } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\n\r\n\r\ninterface UnitFormPropsType {\r\n id?: any,\r\n mode?: any,\r\n inTab?: any,\r\n formRef?: any,\r\n data?:any,\r\n checkData?:any,\r\n submitUnit?: (data) => void;\r\n\r\n}\r\n\r\nexport const UnitForm = ({\r\n id,\r\n mode,\r\n data,\r\n inTab,\r\n formRef,\r\n checkData,\r\n submitUnit\r\n \r\n \r\n \r\n}: UnitFormPropsType) => {\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [unites, setUnites] = useState({});\r\n const[unitConversion,setUnitConversion] = useState(data?.IsAbsoluteUnitConversionRatio )\r\n\r\n\r\n\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n let data = {\r\n PurchaseUnitId: event.target.PurchaseUnitId.value==\"null\"?null:event.target.PurchaseUnitId.value,\r\n SalesUnitId:event.target.SalesUnitId.value==\"null\"?null:event.target.SalesUnitId.value,\r\n QtyMainUnit:unites?.Statistical?.Value ? event.target.QtyMainUnit.value==\"\"?null:event.target.QtyMainUnit.value:null,\r\n QtyStatisticalUnit : unites?.Statistical?.Value ?event.target.QtyStatisticalUnit.value==\"\"?null:event.target.QtyStatisticalUnit.value:null, \r\n IsAbsoluteUnitConversionRatio: unites?.Statistical?.Value ? event.target.IsAbsoluteUnitConversionRatio.checked:null,\r\n MainUnitId: event.target.MainUnitId.value,\r\n StatisticalUnitId: (event.target.StatisticalUnitId.value==\"\"||event.target.StatisticalUnitId.value==\"null\")?null:event.target.StatisticalUnitId.value,\r\n PriceListUnitId: (event.target.PriceListUnitId.value==\"\"||event.target.PriceListUnitId.value==\"null\")?null:event.target.PriceListUnitId.value,\r\n\r\n }\r\n \r\n submitUnit&& submitUnit(data)\r\n }\r\n \r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n \r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n return (\r\n\r\n
\r\n
\r\n { (mode != \"create\" && data)||(mode == \"create\") ?\r\n \r\n
\r\n
\r\n
\r\n
\r\n {setUnites((pr)=>{return {...pr,Main:e}})}}\r\n disabledItems={[unites?.Statistical?.Id?unites?.Statistical?.Id:data?.StatisticalUnitId]}\r\n />\r\n
\r\n
\r\n {setUnites((pr)=>{return {...pr,Statistical:e}})}}\r\n required={unitConversion}\r\n disabledItems={[unites?.Main?.Id?unites?.Main?.Id:data?.MainUnitId]}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n item!=null)}\r\n val={[\"null\", unites?.Main?.Id , unites?.Statistical?.Id?unites?.Statistical?.Id:null].filter(item=>item!=null)}\r\n name={\"PurchaseUnitId\"}\r\n >\r\n
\r\n
\r\n { setUnites((pr)=>{return {...pr,priceListUnit:e.target.value}})}}\r\n options={[\"\" ,unites?.Main?.Value,unites?.Statistical?.Value?unites?.Statistical?.Value:null ].filter(item=>item!=null)}\r\n val={[\"null\", unites?.Main?.Id , unites?.Statistical?.Id?unites?.Statistical?.Id:null].filter(item=>item!=null)}\r\n name={\"PriceListUnitId\"}\r\n >\r\n
\r\n
\r\n item!=null)}\r\n val={[\"null\", unites?.Main?.Id , unites?.Statistical?.Id?unites?.Statistical?.Id:null].filter(item=>item!=null)}\r\n name={\"SalesUnitId\"}\r\n >\r\n
\r\n\r\n
\r\n
\r\n {unites?.Statistical?.Value&&\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {unites?.Main?.Value}\r\n
\r\n
\r\n
\r\n =\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {unites?.Statistical?.Value}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n }\r\n
\r\n :\r\n \r\n }\r\n
\r\n \r\n
\r\n );\r\n}","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { UnitDictionary } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary\";\r\nimport { Loading } from \"components/Loading/loading\";\r\n\r\n\r\ninterface PackingFormPropsType {\r\n id?: any,\r\n data?:any;\r\n mode?: any,\r\n inTab?: any,\r\n formRef?: any,\r\n submitPacking?: (data) => void;\r\n\r\n}\r\n\r\nexport const PackingForm = ({\r\n id,\r\n data,\r\n mode,\r\n inTab,\r\n formRef,\r\n submitPacking\r\n \r\n \r\n}: PackingFormPropsType) => {\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [hasPacking, setHasPacking] = useState(data?.HasPacking);\r\n const [hasSerial, setHasSerial] = useState(data?.HasSerial);\r\n\r\n \r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n let data = {\r\n NetWeight: event.target?.NetWeight?.value==\"\"?null:event.target.NetWeight.value ,\r\n ...(hasPacking&& {PackingUnitId: event.target?.PackingUnitId?.value==\"\"?null:event.target.PackingUnitId.value ,\r\n PackingQty: event.target?.PackingQty?.value==\"\"?null:event.target.PackingQty.value ,\r\n PackingWeight: event.target?.PackingWeight?.value==\"\"?null:event.target.PackingWeight.value ,\r\n PackingVolume: event.target?.PackingVolume?.value==\"\"?null:event.target.PackingVolume.value} ),\r\n Dimensions:`${event.target?.length?.value}*${event.target?.width?.value}*${event.target?.height?.value} ` , \r\n HasPacking: event.target?.HasPacking?.checked,\r\n HasProductTracking: event.target?.HasProductTracking?.checked,\r\n HasExpireDate: event.target?.HasExpireDate?.checked,\r\n HasSerial: event.target?.HasSerial?.checked,\r\n ...(hasSerial&&{\r\n IsSerialObligatory: event.target?.IsSerialObligatory?.checked,\r\n HasSerialQty: event.target?.HasSerialQty?.checked,\r\n })\r\n }\r\n\r\n submitPacking&& submitPacking(data)\r\n try {\r\n // await sendPacking(secretariatId , letterType ?letterType:0 , event.target.FromNumber.value ,event.target.ToNumber.value )\r\n // setResetForm(true)\r\n\r\n } catch (error) {\r\n\r\n }\r\n \r\n }\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n \r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n\r\n return (\r\n\r\n
\r\n
\r\n { (mode != \"create\" && data)||(mode == \"create\") ?\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n {setHasPacking(e)}}\r\n inputName={\"HasPacking\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
\r\n {hasPacking&&\r\n <>\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n }\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {setHasSerial(e)}}\r\n labelText={\"HasSerial\"}\r\n inputName={\"HasSerial\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
\r\n {hasSerial&&\r\n <>\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n }\r\n
\r\n\r\n
\r\n :\r\n \r\n }\r\n
\r\n \r\n
\r\n );\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const sendItemLeaf = (async (data) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemLeaf,\r\n method: 'post',\r\n data:data\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const putItemLeaf = (async (data) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemLeaf,\r\n method: 'put',\r\n data:data\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const getItemLeaf = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemLeaf,\r\n method: \"get\",\r\n params:{\r\n Id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});","import { useEffect, useState } from \"react\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\n\r\n\r\ninterface TaxFormPropsType {\r\n id?: any,\r\n mode?: any,\r\n data?: any,\r\n inTab?: any,\r\n formRef?: any,\r\n submitTax?: (data) => void;\r\n\r\n}\r\n\r\nexport const TaxForm = ({\r\n id,\r\n mode,\r\n data,\r\n inTab,\r\n formRef,\r\n submitTax,\r\n \r\n \r\n}: TaxFormPropsType) => {\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n\r\n\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n let data ={\r\n TaxUnitId : event.target.TaxUnitId.value==\"\"?null:event.target.TaxUnitId.value ,\r\n TaxItemId :event.target.TaxItemId.value==\"\"?null:event.target.TaxItemId.value ,\r\n }\r\n submitTax && submitTax(data)\r\n try {\r\n // await sendTax(secretariatId , letterType ?letterType:0 , event.target.FromNumber.value ,event.target.ToNumber.value )\r\n // setResetForm(true)\r\n\r\n } catch (error) {\r\n\r\n }\r\n \r\n }\r\n \r\n async function getDataAsync() {\r\n try {\r\n // return await getTax(id); \r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (id && mode !== \"create\")\r\n getDataAsync().then((res) => {\r\n // setTax(res.Data);\r\n }).catch((err) => {\r\n // setTax(undefined);\r\n });\r\n }, [id , mode]);\r\n\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n \r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n\r\n\r\n return (\r\n\r\n
\r\n
\r\n { (mode != \"create\" && data)||(mode == \"create\") ?\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n :\r\n \r\n } \r\n
\r\n \r\n
\r\n );\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { MainForm } from \"./components/Main\";\r\nimport { UnitForm } from \"./components/Unit\";\r\nimport { PackingForm } from \"./components/Packing\";\r\nimport { putItemLeaf, sendItemLeaf } from \"./api\";\r\nimport { TaxForm } from \"./components/Tax\";\r\nimport { getItemLeaf } from \"./api\"; \r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\n \r\ninterface Form { \r\n showForm: (e) => void;\r\n reload?: (flag) => void;\r\n Id?: any;\r\n mode: any;\r\n selectedObj: any;\r\n checkData: any\r\n\r\n}\r\nexport const ItemLeafForm = ({ showForm, Id,selectedObj,mode,checkData, reload }: Form) => {\r\n\r\n const [curentTab, setCurentTab] = useState(\"main\")\r\n const [response,setResponse] = useState()\r\n const [loading,setLoading] = useState(false)\r\n const mainData = useRef()\r\n const [canPaste,setCanPaste] = useState()\r\n const lang = localStorage.getItem(\"lang\");\r\n\r\n const UnitData = useRef()\r\n const packingData = useRef()\r\n const taxData = useRef()\r\n\r\n const formRefs = [useRef(), useRef(),useRef(),useRef()];\r\n\r\n\r\n\r\n let content = [\r\n { title: \"main\", body: ({mainData.current=e}} formRef={formRefs[0]} inTab={curentTab} mode={mode} data={response} />), },\r\n { title: \"Unit\", body: ({UnitData.current=e}} inTab={curentTab} mode={mode} data={response} />), },\r\n { title: \"Packing\", body: ({packingData.current=e}} inTab={curentTab} mode={mode} data={response} />), },\r\n { title: \"Tax\", body: ({taxData.current=e}} inTab={curentTab} mode={mode} data={response} />), },\r\n ];\r\n\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n } \r\n async function formSubmit() {\r\n if(mode==\"create\"){\r\n try {\r\n await delay(50)\r\n let data = {\r\n ParentId: selectedObj.Id,\r\n \"GroupLeafId\": checkData.GroupLeafId,\r\n \"ParentLayerLeafId\": checkData.ParentLayerLeafId ?checkData.ParentLayerLeafId :response?.ParentLayerLeafId ,\r\n \"ItemLayerType\": checkData.ItemLayerType,\r\n ...{...mainData.current ,...UnitData.current,...packingData.current,...taxData.current}, \r\n \r\n }\r\n await sendItemLeaf(data )\r\n showForm(true)\r\n\r\n } catch (error) {\r\n \r\n }\r\n }else{\r\n try {\r\n await delay(50)\r\n let formdata: any = {}\r\n formdata = {Id:selectedObj.Id ,\r\n ParentId: selectedObj.ParentId,\r\n \"GroupLeafId\": checkData?.GroupLeafId,\r\n IsLeaf:response.IsLeaf,\r\n \"ParentLayerLeafId\": checkData.ParentLayerLeafId ?checkData.ParentLayerLeafId :response?.ParentLayerLeafId,\r\n \"ItemLayerType\": checkData.ItemLayerType,\r\n ...mainData.current ,...UnitData.current,...packingData.current,...taxData.current }\r\n\r\n await putItemLeaf(formdata )\r\n showForm(true)\r\n } catch (error) {\r\n \r\n }\r\n }\r\n \r\n}\r\n\r\nconst getItemLeafAsync =async () => {\r\n setLoading(false)\r\n try {\r\n const res = await getItemLeaf(selectedObj.Id)\r\n setResponse(res?.Data)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n}\r\nasync function checkPaste() {\r\n try {\r\n \r\n let data =await navigator.clipboard.readText()\r\n if(data && JSON.parse(data)){\r\n setCanPaste(true)\r\n }\r\n } catch (error) {\r\n setCanPaste(false)\r\n\r\n }\r\n}\r\nconst pasteHandler = async() => {\r\n const text =JSON.parse( await navigator.clipboard.readText());\r\n setResponse(text)\r\n try {\r\n } catch (error) {\r\n \r\n } \r\n}\r\nuseEffect(() => {\r\n if(selectedObj?.Id && mode !=\"create\"){\r\n getItemLeafAsync()\r\n }else{\r\n setLoading(true)\r\n }\r\n checkPaste()\r\n}, [selectedObj]);\r\n\r\n\r\n\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n const handleSubmitAllForms = async(e) => {\r\n document.body.classList.add(\"loading-indicator-\"+lang);\r\n let flag=true ; \r\n await Promise.all(\r\n formRefs.map(async (formRef:any, index) => { \r\n if(formRef.current.checkValidity()&&flag){ \r\n formRef.current.hidebutton?.click(); \r\n }else if(flag){ \r\n flag = false \r\n setCurentTab(formRef.current.name) \r\n await delay(50) \r\n formRef.current.reportValidity() \r\n } \r\n }) \r\n ); \r\n \r\n await delay(50) \r\n if(mainData.current!=undefined && taxData.current!=undefined&&flag){ \r\n \r\n formSubmit() \r\n }else{\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n } \r\n \r\n }; \r\n return (\r\n <>\r\n {loading ? \r\n <>\r\n {(canPaste&&mode!=\"view\")&&\r\n
{pasteHandler()}} className=\"col-2 btn btn-primary btn-sm d-flex align-items-center justify-content-between \" style={{zIndex:\"1\", width:'89px' , maxHeight:\"30px\", marginRight:\"20px\" , position:\"absolute\" , left:\"5px\"}}>\r\n {trans('paste')}\r\n \r\n
\r\n }\r\n \r\n
\r\n { mode != \"view\"?\r\n
\r\n \r\n :\r\n \r\n }\r\n \r\n )\r\n}","import { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { ItemMainPropertyVariation } from \"../../../components/ItemMainPropertyVariation/ItemMainPropertyVariation\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface MainFormPropsType {\r\n id?: any,\r\n mode?: any,\r\n inTab?: any,\r\n formRef?: any,\r\n data?:any;\r\n checkData: any;\r\n\r\n submitMain?: (data) => void;\r\n\r\n}\r\n\r\nexport const MainForm = ({\r\n id,\r\n mode,\r\n inTab,\r\n formRef,\r\n data,\r\n checkData,\r\n submitMain,\r\n \r\n \r\n}: MainFormPropsType) => {\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [selectedItemMainPropertyValues, setSelectedItemMainPropertyValues] = useState();\r\n const [descriptions, setDescriptions] = useState({Description: checkData.Description , DescriptionEN:checkData.DescriptionEN});\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n let data ={\r\n Code: (checkData.ItemMainPropertyId? checkData?.ParentCode :checkData?.ParentCode+ event.target?.Code?.value).replace(\"undefined\",\"\") ,\r\n TechnicalCode : event.target.TechnicalCode?.value,\r\n \"Description\": checkData.Description ,\r\n \"DescriptionEN\":checkData.DescriptionEN,\r\n SummaryDescription :checkData.ItemMainPropertyId?\"\": event.target.SummaryDescription.value,\r\n SummaryDescriptionEN :checkData.ItemMainPropertyId?\"\": event.target.SummaryDescriptionEN.value,\r\n \"SelectedItemMainProperty\": checkData.ItemMainPropertyId,\r\n \"SelectedItemMainPropertyValues\": selectedItemMainPropertyValues ? selectedItemMainPropertyValues.map(item=>(item.Id)):null\r\n\r\n }\r\n if(checkData.ItemMainPropertyId&& (!selectedItemMainPropertyValues ||selectedItemMainPropertyValues?.length==0)){\r\n // Toast(trans(`Msg_ErrorNoSelectedLine`) , \"error\")\r\n Toast(trans(`Msg_ErrorNoSelectedLine`) , MessageType.error)\r\n\r\n }else{\r\n submitMain&& submitMain(data)\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n\r\n return (\r\n\r\n
\r\n
\r\n { (mode != \"create\" && data)||(mode == \"create\") ?\r\n
\r\n
\r\n {(!checkData.ItemMainPropertyId||mode==\"view\")?\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {setDescriptions({...descriptions ,summaryDescription:e })}} \r\n textboxType=\"text\"\r\n textboxName=\"SummaryDescription\"\r\n resetForm={resetForm}\r\n defaultValue={data?.SummaryDescription ? data.SummaryDescription : !checkData.ItemMainPropertyId ?checkData?.ItemMainPropertyDescription :null }\r\n labelText=\"itemSummaryDescription\"\r\n required={!checkData.ItemMainPropertyId }\r\n mode={mode}\r\n />\r\n
\r\n{/*
\r\n {setDescriptions({...descriptions ,Description:e })}}\r\n required={!checkData.ItemMainPropertyId }\r\n textboxType=\"text\"\r\n textboxName=\"Description\"\r\n resetForm={resetForm}\r\n defaultValue={ data?.Description ? data?.Description : ((descriptions.Description ? descriptions.Description: descriptions.summaryDescription))}\r\n labelText=\"itemDescription\"\r\n mode={mode}\r\n />\r\n
*/}\r\n\r\n\r\n{/*
\r\n {setDescriptions({...descriptions ,DescriptionEN:e })}}\r\n textboxType=\"text\"\r\n textboxName=\"DescriptionEN\"\r\n resetForm={resetForm}\r\n defaultValue={data?.DescriptionEN ? data.DescriptionEN : null}\r\n labelText=\"itemDescriptionEN\"\r\n mode={mode}\r\n />\r\n
*/}\r\n
\r\n {setDescriptions({...descriptions ,SummaryDescriptionEN:e })}}\r\n textboxType=\"text\"\r\n textboxName=\"SummaryDescriptionEN\"\r\n resetForm={resetForm}\r\n defaultValue={data?.SummaryDescriptionEN ? data?.SummaryDescriptionEN : (descriptions.SummaryDescriptionEN ? descriptions.SummaryDescriptionEN: descriptions.DescriptionEN)}\r\n labelText=\"itemSummaryDescriptionEN\"\r\n mode={mode}\r\n />\r\n
\r\n :<>\r\n }\r\n
\r\n \r\n {checkData.ItemMainPropertyId ?\r\n :<>\r\n }\r\n\r\n
\r\n :\r\n \r\n }\r\n
\r\n \r\n
\r\n );\r\n}","import { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { UnitDictionary } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\n\r\ninterface PackingFormPropsType {\r\n id?: any,\r\n data?:any;\r\n mode?: any,\r\n inTab?: any,\r\n formRef?: any,\r\n submitPacking?: (data) => void;\r\n\r\n}\r\n\r\nexport const PackingForm = ({\r\n id,\r\n data,\r\n mode,\r\n inTab,\r\n formRef,\r\n submitPacking\r\n \r\n \r\n}: PackingFormPropsType) => {\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [hasPacking, setHasPacking] = useState(data?.HasPacking);\r\n const [hasSerial, setHasSerial] = useState(data?.HasSerial);\r\n\r\n \r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n let data = {\r\n NetWeight: event.target?.NetWeight?.value==\"\"?null:event.target.NetWeight.value ,\r\n ...(hasPacking&& {PackingUnitId: event.target?.PackingUnitId?.value==\"\"?null:event.target.PackingUnitId.value ,\r\n PackingQty: event.target?.PackingQty?.value==\"\"?null:event.target.PackingQty.value ,\r\n PackingWeight: event.target?.PackingWeight?.value==\"\"?null:event.target.PackingWeight.value ,\r\n PackingVolume: event.target?.PackingVolume?.value==\"\"?null:event.target.PackingVolume.value} ),\r\n HasPacking: event.target?.HasPacking?.checked,\r\n HasProductTracking: event.target?.HasProductTracking?.checked,\r\n Dimensions:`${event.target?.length?.value}*${event.target?.width?.value}*${event.target?.height?.value} ` , \r\n HasExpireDate: event.target?.HasExpireDate?.checked,\r\n HasSerial: event.target?.HasSerial?.checked,\r\n ...(hasSerial&&{\r\n IsSerialObligatory: event.target?.IsSerialObligatory?.checked,\r\n HasSerialQty: event.target?.HasSerialQty?.checked,\r\n })\r\n }\r\n\r\n submitPacking&& submitPacking(data)\r\n\r\n \r\n }\r\n useEffect(() => {\r\n if (resetForm) {\r\n \r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n { (mode != \"create\" && data)||(mode == \"create\") ?\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {setHasPacking(e)}}\r\n inputName={\"HasPacking\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
\r\n {hasPacking&&\r\n <>\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n }\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {setHasSerial(e)}}\r\n labelText={\"HasSerial\"}\r\n inputName={\"HasSerial\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
\r\n {hasSerial&&\r\n <>\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n }\r\n
\r\n\r\n
\r\n :\r\n \r\n }\r\n
\r\n \r\n
\r\n \r\n\r\n );\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const sendItemVariationBranch = (async (data) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemVariationBranch,\r\n method: 'post',\r\n data:data\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const putItemVariationBranch = (async (data) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemVariationBranch,\r\n method: 'put',\r\n data:data\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const getItemVariationBranch = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemVariationBranch,\r\n method: \"get\",\r\n params:{\r\n Id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\nexport const getNewItemVariation = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.newItemVariation,\r\n method: \"get\",\r\n params:{\r\n parentId:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});","import { useEffect, useState } from \"react\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\n\r\n\r\ninterface TaxFormPropsType {\r\n id?: any,\r\n mode?: any,\r\n data?: any,\r\n inTab?: any,\r\n formRef?: any,\r\n submitTax?: (data) => void;\r\n\r\n}\r\n\r\nexport const TaxForm = ({\r\n id,\r\n mode,\r\n data,\r\n inTab,\r\n formRef,\r\n submitTax,\r\n \r\n \r\n}: TaxFormPropsType) => {\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n\r\n\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n let data ={\r\n TaxUnitId : event.target.TaxUnitId.value==\"\"?null:event.target.TaxUnitId.value ,\r\n TaxItemId :event.target.TaxItemId.value==\"\"?null:event.target.TaxItemId.value ,\r\n }\r\n submitTax && submitTax(data)\r\n }\r\n \r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n \r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n\r\n\r\n return (\r\n\r\n
\r\n
\r\n {( (mode != \"create\" && data)||(mode == \"create\") )?\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n :\r\n \r\n } \r\n
\r\n \r\n
\r\n );\r\n}","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { UnitDictionary } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\n\r\n\r\ninterface UnitFormPropsType {\r\n id?: any,\r\n mode?: any,\r\n inTab?: any,\r\n formRef?: any,\r\n checkData?: any,\r\n data?:any,\r\n submitUnit?: (data) => void;\r\n\r\n}\r\n\r\nexport const UnitForm = ({\r\n id,\r\n mode,\r\n data,\r\n inTab,\r\n formRef,\r\n checkData,\r\n submitUnit\r\n \r\n \r\n \r\n}: UnitFormPropsType) => {\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [unites, setUnites] = useState({});\r\n const[unitConversion,setUnitConversion] = useState(data?.IsAbsoluteUnitConversionRatio )\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n let data = {\r\n PurchaseUnitId: event.target.PurchaseUnitId.value==\"null\"?null:event.target.PurchaseUnitId.value,\r\n SalesUnitId:event.target.SalesUnitId.value==\"null\"?null:event.target.SalesUnitId.value,\r\n QtyMainUnit:unites?.Statistical?.Value ? event.target.QtyMainUnit.value==\"\"?null:event.target.QtyMainUnit.value:null,\r\n QtyStatisticalUnit : unites?.Statistical?.Value ?event.target.QtyStatisticalUnit.value==\"\"?null:event.target.QtyStatisticalUnit.value:null, \r\n IsAbsoluteUnitConversionRatio: unites?.Statistical?.Value ? event.target.IsAbsoluteUnitConversionRatio.checked:null,\r\n MainUnitId: event.target.MainUnitId.value,\r\n StatisticalUnitId: (event.target.StatisticalUnitId.value==\"\"||event.target.StatisticalUnitId.value==\"null\")?null:event.target.StatisticalUnitId.value,\r\n PriceListUnitId: (event.target.PriceListUnitId.value==\"\"||event.target.PriceListUnitId.value==\"null\")?null:event.target.PriceListUnitId.value,\r\n\r\n }\r\n\r\n submitUnit&& submitUnit(data)\r\n }\r\n \r\n useEffect(() => {\r\n if (resetForm) {\r\n \r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n\r\n return (\r\n
\r\n
\r\n { (mode != \"create\" && data)||(mode == \"create\") ?\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n {setUnites((pr)=>{return {...pr,Main:e}})}}\r\n disabledItems={[unites?.Statistical?.Id?unites?.Statistical?.Id:data?.StatisticalUnitId]}\r\n\r\n />\r\n
\r\n
\r\n {setUnites((pr)=>{return {...pr,Statistical:e}})}}\r\n required={unitConversion}\r\n disabledItems={[unites?.Main?.Id?unites?.Main?.Id:data?.MainUnitId]}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n item!=null)}\r\n val={[\"null\", unites?.Main?.Id , unites?.Statistical?.Id?unites?.Statistical?.Id:null].filter(item=>item!=null)}\r\n name={\"PurchaseUnitId\"}\r\n >\r\n
\r\n
\r\n { setUnites((pr)=>{return {...pr,priceListUnit:e.target.value}})}}\r\n options={[\"\" ,unites?.Main?.Value,unites?.Statistical?.Value?unites?.Statistical?.Value:null ].filter(item=>item!=null)}\r\n val={[\"null\", unites?.Main?.Id , unites?.Statistical?.Id?unites?.Statistical?.Id:null].filter(item=>item!=null)}\r\n name={\"PriceListUnitId\"}\r\n >\r\n
\r\n
\r\n item!=null)}\r\n val={[\"null\", unites?.Main?.Id , unites?.Statistical?.Id?unites?.Statistical?.Id:null].filter(item=>item!=null)}\r\n name={\"SalesUnitId\"}\r\n >\r\n
\r\n{/*
\r\n \r\n
\r\n
\r\n \r\n
*/}\r\n
\r\n
\r\n {unites?.Statistical?.Value&&\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {unites?.Main?.Value}\r\n
\r\n
\r\n
\r\n =\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {unites?.Statistical?.Value}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n }\r\n\r\n
\r\n :\r\n \r\n }\r\n
\r\n \r\n
\r\n );\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { MainForm } from \"./components/Main\";\r\nimport { PackingForm } from \"./components/Packing\";\r\nimport { getNewItemVariation, putItemVariationBranch, sendItemVariationBranch } from \"./api\";\r\nimport { TaxForm } from \"./components/Tax\";\r\nimport { getItemVariationBranch } from \"./api\"; \r\nimport { VariationsForm } from \"./components/VariationsForm\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { UnitForm } from \"./components/Unit\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { trans } from \"utils/helpers\";\r\n \r\ninterface Form { \r\n showForm: (e) => void;\r\n reload?: (flag) => void;\r\n Id?: any;\r\n mode: any;\r\n selectedObj: any;\r\n checkData: any\r\n\r\n}\r\nexport const ItemVariationBranchForm = ({ showForm, Id,selectedObj,mode,checkData, reload }: Form) => {\r\n\r\n const [curentTab, setCurentTab] = useState(\"main\")\r\n const [response,setResponse] = useState()\r\n const [loading,setLoading] = useState(false)\r\n const [canPaste,setCanPaste] = useState()\r\n\r\n const itemPropertiesData = useRef([])\r\n const mainData = useRef()\r\n const VariationsData = useRef()\r\n const UnitData = useRef()\r\n const packingData = useRef()\r\n const taxData = useRef()\r\n const lang = localStorage.getItem(\"lang\");\r\n\r\n const formRefs = [useRef(), useRef(),useRef(), useRef()];\r\n\r\n\r\n\r\n\r\n let content = [\r\n { title: \"main\", body: ({mainData.current=e}} formRef={formRefs[0]} inTab={curentTab} mode={mode} data={response} />), },\r\n { title: \"Unit\", body: ({UnitData.current=e}} inTab={curentTab} mode={mode} data={response} />), },\r\n { title: \"Packing\", body: ({packingData.current=e}} inTab={curentTab} mode={mode} data={response} />), },\r\n { title: \"Tax\", body: ({taxData.current=e}} inTab={curentTab} mode={mode} data={response} />), },\r\n // mode!=\"edit\"&&{ title: \"ItemProperties\", body: ({itemPropertiesData.current=e}} mode={mode} inTab={curentTab} />), },\r\n\r\n ];\r\n\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n } \r\n async function formSubmit() {\r\n if(mode==\"create\"){\r\n try {\r\n await delay(50)\r\n let data = {\r\n ParentId: selectedObj.Id,\r\n \"ParentLayerLeafId\": checkData.ParentLayerLeafId ,\r\n \"GroupLeafId\": checkData.GroupLeafId,\r\n \"ItemLayerType\": checkData.ItemLayerType,\r\n ...{...mainData.current ,...UnitData.current,...packingData.current,...taxData.current }, \r\n }\r\n await sendItemVariationBranch(data )\r\n showForm(true)\r\n } catch (error) {\r\n \r\n }\r\n }else{\r\n await delay(50)\r\n let formdata: any = {}\r\n formdata = {\r\n Id:selectedObj.Id ,\r\n ParentId: selectedObj?.ParentId,\r\n \"ParentLayerLeafId\": checkData.ParentLayerLeafId,\r\n \"GroupLeafId\": checkData.GroupLeafId,\r\n IsLeaf:response.IsLeaf,\r\n \"ItemLayerType\": checkData.ItemLayerType,\r\n ...mainData.current ,...UnitData.current,...packingData.current,...taxData.current }\r\n try {\r\n await putItemVariationBranch(formdata )\r\n showForm(true)\r\n } catch (error) {\r\n \r\n }\r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n}\r\n\r\nconst getItemVariationBranchAsync =async () => {\r\n setLoading(false)\r\n try {\r\n const res = await getItemVariationBranch(selectedObj.Id)\r\n setResponse(res?.Data)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n}\r\nconst getNewItemVariationAsync =async () => {\r\n setLoading(false)\r\n try {\r\n const res = await getNewItemVariation(selectedObj.Id)\r\n setResponse(res?.Data)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n}\r\nasync function checkPaste() {\r\n try {\r\n \r\n let data =await navigator.clipboard.readText()\r\n if(data && JSON.parse(data)){\r\n setCanPaste(true)\r\n }\r\n } catch (error) {\r\n setCanPaste(false)\r\n\r\n }\r\n}\r\nconst pasteHandler = async() => {\r\n const text =JSON.parse( await navigator.clipboard.readText());\r\n setResponse(text)\r\n try {\r\n } catch (error) {\r\n \r\n } \r\n}\r\nuseEffect(() => {\r\n if(selectedObj?.Id && mode !=\"create\"){\r\n getItemVariationBranchAsync()\r\n }else if(selectedObj?.Id && mode ==\"create\") {\r\n getNewItemVariationAsync()\r\n }else{\r\n setLoading(true)\r\n }\r\n checkPaste()\r\n}, [selectedObj]);\r\n\r\n\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n const handleSubmitAllForms = async(e) => {\r\n document.body.classList.add(\"loading-indicator-\"+lang);\r\n let flag=true ; \r\n await Promise.all(\r\n formRefs.map(async (formRef:any, index) => { \r\n if(mode==\"create\"||index<4) \r\n if(formRef.current.checkValidity()&&flag){ \r\n formRef.current.hidebutton?.click(); \r\n }else if(flag){ \r\n flag = false \r\n setCurentTab(formRef.current.name) \r\n await delay(50) \r\n formRef.current.reportValidity() \r\n } \r\n }) \r\n ); \r\n await delay(50) \r\n if(mainData.current!=undefined && taxData.current!=undefined&&flag){ \r\n formSubmit() \r\n } else{\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n } \r\n \r\n }; \r\n return (\r\n <>\r\n {loading ? \r\n <>\r\n {(canPaste&&mode!=\"view\")&&\r\n
{pasteHandler()}} className=\"col-2 btn btn-primary btn-sm d-flex align-items-center justify-content-between \" style={{zIndex:\"1\", width:'89px' , maxHeight:\"30px\", marginRight:\"20px\" , position:\"absolute\" , left:\"5px\"}}>\r\n {trans('paste')}\r\n \r\n
\r\n }\r\n \r\n
\r\n { mode != \"view\"?\r\n
\r\n \r\n :\r\n \r\n }\r\n \r\n )\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const sendItemVariationLeaf = (async (data) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemVariationLeaf,\r\n method: 'post',\r\n data:data\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const putItemVariationLeaf = (async (data) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemVariationLeaf,\r\n method: 'put',\r\n data:data\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const getItemVariationLeaf = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemVariationLeaf,\r\n method: \"get\",\r\n params:{\r\n Id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});","import { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { ItemMainPropertyVariation } from \"../../../components/ItemMainPropertyVariation/ItemMainPropertyVariation\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\"\r\nimport DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document'\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface MainFormPropsType {\r\n id?: any,\r\n mode?: any,\r\n inTab?: any,\r\n formRef?: any,\r\n data?:any;\r\n checkData: any;\r\n\r\n submitMain?: (data) => void;\r\n\r\n}\r\n\r\nexport const MainForm = ({\r\n id,\r\n mode,\r\n inTab,\r\n formRef,\r\n data,\r\n checkData,\r\n submitMain,\r\n \r\n \r\n}: MainFormPropsType) => {\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [selectedItemMainPropertyValues, setSelectedItemMainPropertyValues] = useState();\r\n const [descriptions, setDescriptions] = useState({Description: checkData.Description , DescriptionEN:checkData.DescriptionEN,summaryDescription:\"\"});\r\n const [editor, setEditor] = useState();\r\n const [editorData, setEditorData] = useState(data?.DetailedDescription\t);\r\n\r\n function formSubmit(event) {\r\n event.preventDefault(); \r\n let data ={\r\n Code: (checkData.ItemMainPropertyId? checkData?.ParentCode :checkData?.ParentCode+ event.target?.Code?.value).replace(\"undefined\",\"\") ,\r\n // Alias : event.target.Alias.value,\r\n // TechnicalCode : mode==\"create\" ?\"\" :event.target.TechnicalCode?.value,کامنت شد چون دلیل خالی بودن کد فنی نمیدانستیم\r\n TechnicalCode : event.target.TechnicalCode?.value,\r\n Description : (!checkData.ItemMainPropertyId||mode==\"view\") ? event.target.Description.value:checkData.Description ,\r\n DescriptionEN :(!checkData.ItemMainPropertyId||mode==\"view\")? event.target.DescriptionEN.value:checkData.DescriptionEN ,\r\n SummaryDescription :checkData.ItemMainPropertyId?\"\": event.target.SummaryDescription.value,\r\n SummaryDescriptionEN : checkData.ItemMainPropertyId?\"\": event.target.SummaryDescriptionEN.value,\r\n DetailedDescription : editorData,\r\n SelectedItemMainProperty: checkData.ItemMainPropertyId,\r\n SelectedItemMainPropertyValues:selectedItemMainPropertyValues? selectedItemMainPropertyValues.map(item=>(item.Id)):[]\r\n }\r\n if(checkData.ItemMainPropertyId&& (!selectedItemMainPropertyValues ||selectedItemMainPropertyValues?.length==0)){\r\n // Toast(trans(`Msg_ErrorNoSelectedLine`) , \"error\")\r\n Toast(trans(`Msg_ErrorNoSelectedLine`) , MessageType.error)\r\n\r\n }else{\r\n submitMain&& submitMain(data)\r\n }\r\n }\r\n \r\n\r\n useEffect(() => {\r\n if ( mode === \"create\"){\r\n setResetForm(true);\r\n }\r\n }, [ mode]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n\r\n return (\r\n\r\n
\r\n
\r\n { (mode != \"create\" && data)||(mode == \"create\") ?\r\n
\r\n
\r\n {(!checkData.ItemMainPropertyId||mode==\"view\")?\r\n <>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {setDescriptions({...descriptions ,summaryDescription:e.target.value ,Description:checkData.Description+\" \"+e.target.value })}}\r\n textboxType=\"text\"\r\n textboxName=\"SummaryDescription\"\r\n resetForm={resetForm}\r\n defaultValue={data?.SummaryDescription ? data.SummaryDescription : null }\r\n labelText=\"itemSummaryDescription\"\r\n required={!checkData.ItemMainPropertyId }\r\n mode={mode}\r\n />\r\n
\r\n :<> \r\n }\r\n {(!checkData.ItemMainPropertyId||mode==\"view\")&&\r\n
\r\n {if(e!=descriptions.Description ) setDescriptions({...descriptions ,Description:e })}}\r\n onChange={(e)=>{setDescriptions({...descriptions ,Description:e.target.value })}}\r\n\r\n required={!checkData.ItemMainPropertyId }\r\n textboxType=\"text\"\r\n textboxName=\"Description\"\r\n resetForm={resetForm}\r\n defaultValue={(data?.Description&&mode!=\"create\")\t? data?.Description\t : ((descriptions.Description ? descriptions.Description: checkData.Description ))}\r\n labelText=\"itemDescription\"\r\n mode={mode}\r\n />\r\n
}\r\n {(!checkData.ItemMainPropertyId||mode==\"view\")&&\r\n
\r\n {setDescriptions({...descriptions ,SummaryDescriptionEN:e })}}\r\n textboxType=\"text\"\r\n textboxName=\"SummaryDescriptionEN\"\r\n resetForm={resetForm}\r\n defaultValue={data?.SummaryDescriptionEN ? data.SummaryDescriptionEN : null}\r\n labelText=\"itemSummaryDescriptionEN\"\r\n mode={mode}\r\n />\r\n
\r\n }\r\n {(!checkData.ItemMainPropertyId||mode==\"view\")&&\r\n
\r\n {setDescriptions({...descriptions ,DescriptionEN:e })}}\r\n textboxType=\"text\"\r\n textboxName=\"DescriptionEN\"\r\n resetForm={resetForm}\r\n defaultValue={data?.DescriptionEN ? data?.DescriptionEN : (descriptions.DescriptionEN ? descriptions.DescriptionEN: descriptions.SummaryDescriptionEN)}\r\n labelText=\"itemDescriptionEN\"\r\n mode={mode}\r\n />\r\n
\r\n }\r\n
\r\n
\r\n \r\n\r\n\r\n
\r\n {trans('DetailedDescription')}\r\n {\r\n editor.ui.getEditableElement().parentElement.insertBefore(\r\n editor.ui.view.toolbar.element,\r\n editor.ui.getEditableElement()\r\n );\r\n setEditor(editor)\r\n }}\r\n onError={(error, { willEditorRestart }) => {\r\n if (willEditorRestart) {\r\n editor.ui.view.toolbar.element.remove();\r\n }\r\n }}\r\n onOk={(editor) => {\r\n editor.insertHtml(editorData)\r\n }}\r\n onChange={(event, editor) => {\r\n const data = editor.getData();\r\n setEditorData(data)\r\n }}\r\n editor={DecoupledEditor}\r\n config={{\r\n removePlugins: [\"EasyImage\", \"ImageUpload\", \"MediaEmbed\"]\r\n }}\r\n />\r\n
\r\n\r\n
\r\n {checkData.ItemMainPropertyId ?\r\n :<>\r\n }\r\n
\r\n :\r\n \r\n }\r\n
\r\n \r\n
\r\n );\r\n}","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { UnitDictionary } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary\";\r\nimport { Loading } from \"components/Loading/loading\";\r\n\r\n\r\ninterface PackingFormPropsType {\r\n id?: any,\r\n data?:any;\r\n mode?: any,\r\n inTab?: any,\r\n formRef?: any,\r\n submitPacking?: (data) => void;\r\n\r\n}\r\n\r\nexport const PackingForm = ({\r\n id,\r\n data,\r\n mode,\r\n inTab,\r\n formRef,\r\n submitPacking\r\n \r\n \r\n}: PackingFormPropsType) => {\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [hasPacking, setHasPacking] = useState(data?.HasPacking);\r\n const [hasSerial, setHasSerial] = useState(data?.HasSerial);\r\n\r\n\r\n \r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n let data = {\r\n NetWeight: event.target?.NetWeight?.value==\"\"?null:event.target.NetWeight.value ,\r\n ...(hasPacking&& {PackingUnitId: event.target?.PackingUnitId?.value==\"\"?null:event.target.PackingUnitId.value ,\r\n PackingQty: event.target?.PackingQty?.value==\"\"?null:event.target.PackingQty.value ,\r\n PackingWeight: event.target?.PackingWeight?.value==\"\"?null:event.target.PackingWeight.value ,\r\n PackingVolume: event.target?.PackingVolume?.value==\"\"?null:event.target.PackingVolume.value} ),\r\n HasPacking: event.target?.HasPacking?.checked,\r\n Dimensions:`${event.target?.length?.value}*${event.target?.width?.value}*${event.target?.height?.value} ` , \r\n\r\n HasProductTracking: event.target?.HasProductTracking?.checked,\r\n HasExpireDate: event.target?.HasExpireDate?.checked,\r\n HasSerial: event.target?.HasSerial?.checked,\r\n ...(hasSerial&&{\r\n IsSerialObligatory: event.target?.IsSerialObligatory?.checked,\r\n HasSerialQty: event.target?.HasSerialQty?.checked,\r\n })\r\n }\r\n\r\n submitPacking&& submitPacking(data)\r\n }\r\n \r\n\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n \r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n\r\n return (\r\n\r\n
\r\n
\r\n { (mode != \"create\" && data)||(mode == \"create\") ?\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n {setHasPacking(e)}}\r\n inputName={\"HasPacking\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
\r\n {hasPacking&&\r\n <>\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n }\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {setHasSerial(e)}}\r\n labelText={\"HasSerial\"}\r\n inputName={\"HasSerial\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
\r\n {hasSerial&&\r\n <>\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n }\r\n
\r\n\r\n
\r\n :\r\n \r\n }\r\n
\r\n \r\n
\r\n );\r\n}","import { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\n\r\n\r\ninterface TaxFormPropsType {\r\n id?: any,\r\n mode?: any,\r\n data?: any,\r\n inTab?: any,\r\n formRef?: any,\r\n submitTax?: (data) => void;\r\n\r\n}\r\n\r\nexport const TaxForm = ({\r\n id,\r\n mode,\r\n data,\r\n inTab,\r\n formRef,\r\n submitTax,\r\n \r\n \r\n}: TaxFormPropsType) => {\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n\r\n\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n let data ={\r\n TaxUnitId : event.target.TaxUnitId.value==\"\"?null:event.target.TaxUnitId.value ,\r\n TaxItemId :event.target.TaxItemId.value==\"\"?null:event.target.TaxItemId.value ,\r\n }\r\n submitTax && submitTax(data)\r\n\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n \r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n\r\n\r\n return (\r\n\r\n
\r\n
\r\n { (mode != \"create\" && data)||(mode == \"create\") ?\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n :\r\n \r\n } \r\n
\r\n \r\n
\r\n );\r\n}","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { UnitDictionary } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\n\r\n\r\ninterface UnitFormPropsType {\r\n id?: any,\r\n mode?: any,\r\n inTab?: any,\r\n formRef?: any,\r\n data?:any,\r\n checkData?:any,\r\n submitUnit?: (data) => void;\r\n\r\n}\r\n\r\nexport const UnitForm = ({\r\n id,\r\n mode,\r\n data,\r\n inTab,\r\n formRef,\r\n checkData,\r\n submitUnit\r\n \r\n \r\n \r\n}: UnitFormPropsType) => {\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [unites, setUnites] = useState({});\r\n const[unitConversion,setUnitConversion] = useState(data?.IsAbsoluteUnitConversionRatio )\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n let data = {\r\n PurchaseUnitId: event.target.PurchaseUnitId.value==\"null\"?null:event.target.PurchaseUnitId.value,\r\n SalesUnitId:event.target.SalesUnitId.value==\"null\"?null:event.target.SalesUnitId.value,\r\n QtyMainUnit:unites?.Statistical?.Value ? event.target.QtyMainUnit.value==\"\"?null:event.target.QtyMainUnit.value:null,\r\n QtyStatisticalUnit : unites?.Statistical?.Value ?event.target.QtyStatisticalUnit.value==\"\"?null:event.target.QtyStatisticalUnit.value:null, \r\n IsAbsoluteUnitConversionRatio: unites?.Statistical?.Value ? event.target.IsAbsoluteUnitConversionRatio.checked:null,\r\n MainUnitId: event.target.MainUnitId.value,\r\n StatisticalUnitId: (event.target.StatisticalUnitId.value==\"\"||event.target.StatisticalUnitId.value==\"null\")?null:event.target.StatisticalUnitId.value,\r\n PriceListUnitId: (event.target.PriceListUnitId.value==\"\"||event.target.PriceListUnitId.value==\"null\")?null:event.target.PriceListUnitId.value,\r\n }\r\n \r\n\r\n submitUnit&& submitUnit(data)\r\n }\r\n \r\n useEffect(() => {\r\n if (resetForm) {\r\n \r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n\r\n\r\n return (\r\n\r\n
\r\n
\r\n { (mode != \"create\" && data)||(mode == \"create\") ?\r\n \r\n
\r\n
\r\n
\r\n
\r\n {setUnites((pr)=>{return {...pr,Main:e}})}}\r\n disabledItems={[unites?.Statistical?.Id?unites?.Statistical?.Id:data?.StatisticalUnitId]}\r\n\r\n />\r\n
\r\n
\r\n {setUnites((pr)=>{return {...pr,Statistical:e}})}}\r\n required={unitConversion}\r\n disabledItems={[unites?.Main?.Id?unites?.Main?.Id:data?.MainUnitId]}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n item!=null)}\r\n val={[\"null\", unites?.Main?.Id , unites?.Statistical?.Id?unites?.Statistical?.Id:null].filter(item=>item!=null)}\r\n name={\"PurchaseUnitId\"}\r\n >\r\n
\r\n
\r\n { setUnites((pr)=>{return {...pr,priceListUnit:e.target.value}})}}\r\n options={[\"\" ,unites?.Main?.Value,unites?.Statistical?.Value?unites?.Statistical?.Value:null ].filter(item=>item!=null)}\r\n val={[\"null\", unites?.Main?.Id , unites?.Statistical?.Id?unites?.Statistical?.Id:null].filter(item=>item!=null)}\r\n name={\"PriceListUnitId\"}\r\n >\r\n
\r\n
\r\n item!=null)}\r\n val={[\"null\", unites?.Main?.Id , unites?.Statistical?.Id?unites?.Statistical?.Id:null].filter(item=>item!=null)}\r\n name={\"SalesUnitId\"}\r\n >\r\n
\r\n\r\n{/*
\r\n \r\n
\r\n
\r\n \r\n
*/}\r\n
\r\n
\r\n {unites?.Statistical?.Value&&\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {unites?.Main?.Value}\r\n
\r\n
\r\n
\r\n =\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {unites?.Statistical?.Value}\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n }\r\n\r\n
\r\n :\r\n \r\n }\r\n
\r\n \r\n
\r\n );\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getNewItemVariation } from \"../ItemVariationBranch/api\";\r\nimport { getItemVariationLeaf, putItemVariationLeaf, sendItemVariationLeaf } from \"./api\";\r\nimport { MainForm } from \"./components/Main\";\r\nimport { PackingForm } from \"./components/Packing\";\r\nimport { TaxForm } from \"./components/Tax\";\r\nimport { UnitForm } from \"./components/Unit\";\r\n \r\ninterface Form { \r\n showForm: (e) => void;\r\n reload?: (flag) => void;\r\n Id?: any;\r\n mode: any;\r\n selectedObj: any;\r\n checkData: any\r\n\r\n}\r\nexport const ItemVariationLeafForm = ({ showForm, Id,selectedObj,mode,checkData, reload }: Form) => {\r\n\r\n const [curentTab, setCurentTab] = useState(\"main\")\r\n const [response,setResponse] = useState()\r\n const [loading,setLoading] = useState(false)\r\n const [canPaste,setCanPaste] = useState()\r\n\r\n const mainData = useRef()\r\n const UnitData = useRef()\r\n const packingData = useRef()\r\n const taxData = useRef()\r\n const lang = localStorage.getItem(\"lang\");\r\n\r\n const formRefs = [useRef(), useRef(),useRef(), useRef()];\r\n\r\n\r\n\r\n\r\n let content = [\r\n { title: \"main\", body: ({mainData.current=e}} formRef={formRefs[0]} inTab={curentTab} mode={mode} data={response} />), },\r\n { title: \"Unit\", body: ({UnitData.current=e}} inTab={curentTab} mode={mode} data={response} />), },\r\n { title: \"Packing\", body: ({packingData.current=e}} inTab={curentTab} mode={mode} data={response} />), },\r\n { title: \"Tax\", body: ({taxData.current=e}} inTab={curentTab} mode={mode} data={response} />), },\r\n // mode!=\"edit\"&&{ title: \"ItemProperties\", body: ({itemPropertiesData.current=e}} mode={mode} inTab={curentTab} />), },\r\n\r\n ];\r\n\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n } \r\n async function formSubmit() {\r\n if(mode==\"create\"){\r\n try {\r\n await delay(50)\r\n let data = {\r\n ParentId: selectedObj.Id,\r\n \"ParentLayerLeafId\": checkData.ParentLayerLeafId,\r\n \"GroupLeafId\": checkData.GroupLeafId,\r\n \"ItemLayerType\": checkData.ItemLayerType,\r\n ...{...mainData.current ,...UnitData.current,...packingData.current,...taxData.current }, \r\n }\r\n await sendItemVariationLeaf(data)\r\n showForm(true)\r\n } catch (error) {\r\n \r\n }\r\n }else{\r\n await delay(50)\r\n let formdata: any = {}\r\n formdata = {\r\n Id:response.Id ,\r\n ParentId: response?.ParentId,\r\n \"ParentLayerLeafId\": response.ParentLayerLeafId,\r\n \"GroupLeafId\": response.GroupLeafId,\r\n IsLeaf:response.IsLeaf,\r\n \"ItemLayerType\": checkData.ItemLayerType,\r\n ...mainData.current ,...UnitData.current,...packingData.current,...taxData.current }\r\n try {\r\n await putItemVariationLeaf(formdata )\r\n showForm(true)\r\n } catch (error) {\r\n \r\n }\r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n}\r\n\r\nconst getItemVariationLeafAsync =async () => {\r\n setLoading(false)\r\n try {\r\n const res = await getItemVariationLeaf(selectedObj.Id)\r\n setResponse(res?.Data)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n}\r\n\r\nconst getNewItemVariationAsync =async () => {\r\n setLoading(false)\r\n try {\r\n const res = await getNewItemVariation(selectedObj.Id)\r\n setResponse(res?.Data)\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n}\r\nasync function checkPaste() {\r\n try {\r\n \r\n let data =await navigator.clipboard.readText()\r\n if(data && JSON.parse(data)){\r\n setCanPaste(true)\r\n }\r\n } catch (error) {\r\n setCanPaste(false)\r\n\r\n }\r\n}\r\nconst pasteHandler = async() => {\r\n const text =JSON.parse( await navigator.clipboard.readText());\r\n setResponse(text)\r\n try {\r\n } catch (error) {\r\n \r\n } \r\n}\r\nuseEffect(() => {\r\n if(selectedObj?.Id && mode !=\"create\"){\r\n getItemVariationLeafAsync()\r\n }else if(selectedObj?.Id && mode ==\"create\") {\r\n getNewItemVariationAsync()\r\n }else{\r\n setLoading(true)\r\n\r\n }\r\n checkPaste()\r\n}, [selectedObj]);\r\n\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n const handleSubmitAllForms = async(e) => {\r\n document.body.classList.add(\"loading-indicator-\"+lang);\r\n let flag=true ; \r\n await Promise.all(\r\n formRefs.map(async (formRef:any, index) => { \r\n if(mode==\"create\"||index<4) \r\n if(formRef.current.checkValidity()&&flag){ \r\n formRef.current.hidebutton?.click(); \r\n }else if(flag){ \r\n flag = false \r\n setCurentTab(formRef.current.name) \r\n await delay(50) \r\n formRef.current.reportValidity() \r\n } \r\n }) \r\n ); \r\n await delay(50) \r\n if(mainData.current!=undefined && taxData.current!=undefined&&flag){ \r\n formSubmit() \r\n }else{\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n } \r\n \r\n }; \r\n return (\r\n <>\r\n {\r\n loading ?\r\n <>\r\n {(canPaste&&mode!=\"view\")&&\r\n
{pasteHandler()}} className=\"col-2 btn btn-primary btn-sm d-flex align-items-center justify-content-between \" style={{zIndex:\"1\", width:'89px' , maxHeight:\"30px\", marginRight:\"20px\" , position:\"absolute\" , left:\"5px\"}}>\r\n {trans('paste')}\r\n \r\n
\r\n }\r\n \r\n
\r\n { mode != \"view\"?\r\n
\r\n \r\n :\r\n \r\n }\r\n \r\n )\r\n}","import { Message } from \"components/Message/Message\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getItemGroupRootsFormat, putGroupCodeFormat, sendGroupCodeFormat } from \"./api\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\ninterface ItemGroupCodeSettingFormPropsType {\r\n\r\n onHide: (e:boolean) => void;}\r\n\r\nexport const ItemGroupCodeSettingForm = ({\r\n \r\n onHide\r\n \r\n}: ItemGroupCodeSettingFormPropsType) => {\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [response,setResponse] = useState()\r\n const [itemGroupFormat,setItemGroupFormat] = useState()\r\n const [itemGrouplevels,setItemGrouplevels] = useState()\r\n const formatLetters={\r\n 0:\"A\",\r\n 1:\"B\",\r\n 2:\"C\",\r\n 3:\"D\",\r\n }\r\n\r\n function countSpecificLetter(string, letter) {\r\n // Convert both the string and the letter to lowercase to make the function case-insensitive\r\n if(string){\r\n string = string.toLowerCase();\r\n letter = letter.toLowerCase();\r\n \r\n // Initialize a counter\r\n let count = 0;\r\n \r\n // Iterate through each character in the string\r\n for (let char of string) {\r\n if (char === letter) {\r\n count++;\r\n }\r\n }\r\n \r\n // Return the count\r\n return count;\r\n }else return 0\r\n }\r\n async function formSubmit(e) {\r\n e.preventDefault()\r\n try {\r\n if(response){\r\n await putGroupCodeFormat(e.target.ItemGroupFormat.value); \r\n }else{\r\n await sendGroupCodeFormat(e.target.ItemGroupFormat.value); \r\n\r\n }\r\n\r\n onHide(false)\r\n } catch (error) {\r\n \r\n \r\n }\r\n \r\n }\r\n async function getItemGroupRootsFormatAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getItemGroupRootsFormat();\r\n let str = res?.Data[0] ; \r\n let levels = str.split('').filter((item, pos, self) => self.indexOf(item) === pos); \r\n \r\n setResponse(str) \r\n setItemGrouplevels(levels.length)\r\n let itemGroupFormat ={}\r\n levels.map((item , index)=>{\r\n itemGroupFormat= {...itemGroupFormat , [formatLetters[index]]: countSpecificLetter(str ,formatLetters[index] )}\r\n })\r\n setItemGroupFormat(itemGroupFormat)\r\n \r\n } catch (error) {\r\n \r\n \r\n }\r\n setLoading(true)\r\n\r\n }\r\n \r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n useEffect(() => {\r\n getItemGroupRootsFormatAsync()\r\n\r\n }, []);\r\n\r\n\r\n\r\n\r\n return (\r\n <>\r\n\r\n
\r\n {loading ?\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n {setItemGrouplevels(e.target.value)}}\r\n defaultValue={itemGrouplevels }\r\n min={2}\r\n max={3}\r\n required={true}\r\n resetForm={resetForm}\r\n labelText=\"ItemGroupLevels\"\r\n mode={\"create\"}\r\n />\r\n
\r\n
\r\n {itemGrouplevels &&\r\n <>\r\n
\r\n {Array(+itemGrouplevels).fill(\",\").map((item,index)=>(\r\n
\r\n {setItemGroupFormat({...itemGroupFormat , [formatLetters[index]]: +e.target.value})}}\r\n defaultValue={ countSpecificLetter(response ,formatLetters[index] )+\"\" }\r\n required={true}\r\n resetForm={resetForm}\r\n labelText={ trans(\"LevelCodeLength\") +\" \" + (index+1)}\r\n mode={\"create\"}\r\n />\r\n
\r\n\r\n\r\n ))}\r\n \r\n
\r\n
\r\n{/*
\r\n {setItemGroupFormat({...itemGroupFormat , [formatLetters[3]]: +e.target.value})}}\r\n defaultValue={ countSpecificLetter(response ,formatLetters[3] )+\"\" }\r\n required={true}\r\n resetForm={resetForm}\r\n labelText={ trans(\"LevelCodeLength\") +\" \" + (trans(\"item\"))}\r\n mode={\"create\"}\r\n />\r\n
*/}\r\n
\r\n
\r\n {itemGroupFormat&&\r\n
\r\n (Array(+itemGroupFormat[item]).fill(item).join(\"\"))).join(\"\")}\r\n value={Object.keys(itemGroupFormat).map(item=>(Array(+itemGroupFormat[item]).fill(item).join(\"\"))).join(\"\")}\r\n resetForm={resetForm}\r\n capsLock={true}\r\n labelText=\"FinalItemGroupFormat\"\r\n mode={\"view\"}\r\n />\r\n
\r\n \r\n }\r\n
\r\n \r\n }\r\n\r\n
\r\n \r\n
\r\n : \r\n \r\n }\r\n \r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n );\r\n}\r\n\r\n","\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\nexport const getGroupPositionList =( async ( SearchString) => await http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.dictionary,\r\n method: \"get\",\r\n params:{\r\n SearchString : SearchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\nexport const getPositionList =( async (SearchString ) => await http({\r\n url: ENDPOINTS.BaseInformation.position.browse,\r\n method: \"get\",\r\n params : {\r\n searchString : SearchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\n\r\n\r\nexport const getWarehouseAccess =( async (id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Warehouse.access,\r\n method: \"get\",\r\n params:{\r\n WarehouseId : id\r\n }\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\nexport const sendWarehouseAccess =( async (data ,method ,warehouseId) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Warehouse.access,\r\n method: 'put',\r\n params:{\r\n warehouseId:warehouseId\r\n },\r\n data:data,\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\n\r\nexport const DeleteWarehouse =( async (id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Warehouse.browse,\r\n method: \"delete\",\r\n params:{\r\n Id : id\r\n }\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\n\r\nexport const DeleteWarehouseDetail =( async (id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseDetail.browse,\r\n method: \"delete\",\r\n params:{\r\n Id : id\r\n }\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\n\r\n\r\n\r\n\r\n\r\n// export const getWarehouse =( async ( WarehouseId ) => await http({\r\n// baseURL:INVENTORYANDSALES_URL,\r\n// url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Warehouse.access,\r\n// method: \"get\",\r\n// params:{\r\n// WarehouseId: WarehouseId \r\n// }\r\n \r\n \r\n// })\r\n// .then((respons) => (respons.data))\r\n// )\r\n","import { Button } from \"components/Button/Button\"\r\nimport { Loading } from \"components/Loading/loading\"\r\nimport { Textbox } from \"components/Textbox/Textbox\"\r\nimport { Toast } from \"components/ToastShow/ToastAlert\"\r\nimport { useEffect, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { getSubNode, sendNode } from \"./api\"\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\"\r\nimport { MessageType } from \"types/enum\"\r\n\r\n\r\ninterface props {\r\n showForm: () => void\r\n selectedObj: any\r\n mode: any\r\n\r\n}\r\n\r\n\r\nexport const WarehouseDetailForm = ({showForm, selectedObj, mode}: props) => {\r\n const [nodeData, setNodeData] = useState()\r\n const [loading, setLoading] = useState(false)\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n const getNodeDataAsync = async() => {\r\n setLoading(false)\r\n try {\r\n const res = await getSubNode(selectedObj.Id)\r\n setNodeData(res.Data) \r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n\r\n }\r\n\r\n const sendNodeDataAsync = async(method , data) => {\r\n try {\r\n const res = await sendNode(data ,method )\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm() \r\n } catch (error) {\r\n \r\n } \r\n\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm()\r\n });\r\n }else{\r\n showForm() \r\n };\r\n }\r\n\r\n\r\n const handleSubmit = (event) => {\r\n event.preventDefault()\r\n if(mode === 'create'){\r\n\r\n const data = {\r\n RootId: selectedObj?.Id , \r\n ParentId: null, \r\n Description: event.target.Description.value,\r\n DescriptionEN: event.target.DescriptionEN.value,\r\n LevelLimitation: +event.target.LevelLimitation.value,\r\n Code: event.target?.Code?.value, \r\n } \r\n sendNodeDataAsync( \"post\", data)\r\n\r\n }else if (mode === 'edit'){\r\n const data = {\r\n Id: selectedObj.Id,\r\n ParentId: nodeData.ParentId, \r\n RootId: nodeData.RootId, \r\n ActivityStatus: parseInt(event.target.ActivityStatus.value), \r\n Description: event.target.Description.value,\r\n DescriptionEN: event.target.DescriptionEN.value,\r\n LevelLimitation: event.target.LevelLimitation.value,\r\n Code: event.target?.Code?.value, \r\n }\r\n sendNodeDataAsync(\"put\" , data)\r\n }\r\n } \r\n useEffect(()=>{\r\n if(selectedObj && mode != \"create\"){\r\n getNodeDataAsync()\r\n }else{\r\n setLoading(true)\r\n }\r\n },[])\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {loading ?\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n maxLength={900}\r\n mode={mode}\r\n required={true}\r\n defaultValue={mode === 'edit' || mode === 'view' ? nodeData && nodeData?.Title || nodeData?.Description : ''}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"DescriptionEN\"\r\n labelText=\"DescriptionEN\"\r\n maxLength={900}\r\n mode={mode}\r\n defaultValue={mode === 'edit' || mode === 'view' ? nodeData && nodeData?.Title || nodeData?.DescriptionEN : ''}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"wareHouseCode\"\r\n textboxName=\"Code\"\r\n labelText=\"Code\"\r\n maxLength={3}\r\n mode={mode}\r\n required={true}\r\n defaultValue={mode === 'edit' || mode === 'view' ? nodeData && nodeData?.Code : ''}\r\n />\r\n
\r\n\r\n {/*
\r\n \r\n
*/}\r\n {mode !=\"create\"&& \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n name=\"ActivityStatus\"\r\n label=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={mode === 'edit' || mode === 'view' ? nodeData && nodeData?.ActivityStatus : ''}\r\n mode={mode}\r\n />\r\n
\r\n }\r\n {mode !==\"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n }\r\n
\r\n :\r\n \r\n }\r\n
\r\n
\r\n\r\n
\r\n )\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS } from \"utils/endpoints\"\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\"\r\n\r\n\r\n\r\n\r\n\r\nexport const sendNode = (data: any , method) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseDetail.browse,\r\n method: method,\r\n data: data,\r\n params:{}\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\n\r\n\r\n\r\nexport const getFirstNode = (id: any) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Warehouse.load,\r\n method: \"get\",\r\n params: {\r\n Id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\nexport const getSubNode = (id: any) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseDetail.load,\r\n method: \"get\",\r\n params: {\r\n Id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ButtonArrow } from \"components/ButtonArrow/ButtonArrow\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { getGroupPositionList, getPositionList } from \"../WarehouseAccesses/api\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\n\r\n\r\ninterface Form{\r\n Title?:string,\r\n assignmentMethod?:string,\r\n Status?:number,\r\n showForm:(e) => void,\r\n accessDatahandler:(e) => void,\r\n modalWidth?:any\r\n Warehouse?:any\r\n accessData?:any\r\n mode:any\r\n}\r\n\r\n\r\nexport const WarehouseAccess: React.FC
= ({showForm,accessDatahandler ,accessData, modalWidth , mode,Warehouse}) => {\r\n const [mood , setMood] = useState(\"users\")\r\n const [Moodassign , setMoodassign] = useState(\"users\")\r\n const [flag , setFlag] = useState(false)\r\n const [response , setResponse] = useState([])\r\n const [assignmentResponse , setAssignmentResponse] = useState([])\r\n const [selectList , setSelectList] = useState([])\r\n const [assignedList , setAssignedList] = useState([])\r\n const [savedData , setSavedData] = useState([])\r\n const [assignedSelectList , setAssignedSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [positionstr , setPositionstr] = useState()\r\n const [positionAssignmentstr , setPositionAssignmentstr] = useState()\r\n const [width, setWidth] = useState(window.innerWidth);\r\n const [modalData, setModalData] = useState<{add: boolean, Delete: boolean, view: boolean, edit: boolean} | undefined>();\r\n const [submitted, setSubmitted] = useState(false)\r\n\r\n\r\n const breakPoint1 = modalWidth < 50 || width < 750\r\n\r\n\r\n window.onresize = () => {\r\n setWidth(window.innerWidth)\r\n }\r\n\r\n let keys, Data:any = [], Dataassign:any = [];\r\n\r\n async function getPositionsListAsync(SearchString) {\r\n if(mood==\"groups\"){\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list:any=[]\r\n\r\n for (let x in Groupresponse.Data) {\r\n list.push({Id:x ,TU_RELATION:2 ,Title:Groupresponse.Data[x] }) \r\n }\r\n setResponse(list)\r\n }else if(mood==\"users\"){\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n \r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n\r\n\r\n setResponse(list) \r\n\r\n }else{\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list2:any=[]\r\n \r\n for (let x in Groupresponse.Data) {\r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=2\r\n obj.Title=Groupresponse.Data[x]\r\n list2.push(obj) \r\n }\r\n \r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n\r\n setResponse(list.concat(list2)) \r\n }\r\n }\r\n async function getPositionsListSearchingAsync(SearchString) {\r\n /* if(Moodassign==\"groups\"){\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list:any=[]\r\n for (let x in Groupresponse) {\r\n list.push({Id:x ,TU_RELATION:2 ,Title:Groupresponse[x] }) \r\n }\r\n \r\n setAssignmentResponse(list)\r\n \r\n }else if(Moodassign==\"users\"){\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n for (let x in Positionresponse) {\r\n \r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=1\r\n obj.Title=Positionresponse[x]\r\n list.push(obj) \r\n }\r\n setAssignmentResponse(list) \r\n }else */{\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list2:any=[]\r\n for (let x in Groupresponse.Data) {\r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=2\r\n obj.Title=Groupresponse.Data[x]\r\n list2.push(obj) \r\n }\r\n \r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n setAssignmentResponse(list.concat(list2)) \r\n }\r\n\r\n }\r\n\r\n\r\n\r\n async function getAccessDataAsync() {\r\n let makeData:any =[] \r\n if(accessData){\r\n accessData.map(item=>{\r\n makeData.push({Id:item.GroupPositionId ? item.GroupPositionId :item.PositionId,TU_RELATION :item.GroupPositionId ? 2 :1 , Title:item.Description })\r\n })\r\n setSavedData(makeData)\r\n setAssignedList(makeData)\r\n }\r\n }\r\n\r\n function changeDataGrid(e) {\r\n setMood(e)\r\n }\r\n function hide() {\r\n showForm(false)\r\n }\r\n function changeDataGridassign(e) {\r\n setMoodassign(e)\r\n }\r\n function backward(){\r\n setAssignedSelectList([])\r\n setResetMultiSelect(!resetMultiSelect)\r\n const updatedData = selectList.map(item => {\r\n return {...item, ...modalData}\r\n }) \r\n setAssignedList(assignedList.concat(updatedData))\r\n setFlag(!flag)\r\n setSelectList([])\r\n setSubmitted(false)\r\n }\r\n\r\n\r\n\r\n function forward() {\r\n setResetMultiSelect(!resetMultiSelect)\r\n let list:any =[]\r\n assignedList.forEach((item1,index1) => {\r\n let flag = true\r\n\r\n assignedSelectList.forEach((item2 , index2 ) => {\r\n if(item2.Id ==item1.Id ){\r\n flag = false\r\n }\r\n });\r\n if(flag){\r\n list.push(item1)\r\n }\r\n });\r\n\r\n setAssignedList(list)\r\n }\r\n\r\n\r\n\r\n const selectListCallBack =(list)=>{ \r\n setSelectList(list[1])\r\n }\r\n\r\n const assignedselectListCallBack =(list)=>{\r\n setAssignedSelectList(list[1])\r\n }\r\n\r\n const referenceFormSubmit =(e)=>{\r\n e.preventDefault()\r\n\r\n if(assignedList.length==0){\r\n // Toast(\"msg_assigneduserscannotempty\" , \"error\")\r\n Toast(\"msg_assigneduserscannotempty\" , MessageType.error)\r\n\r\n }else{\r\n e.preventDefault();\r\n let Data = assignedList.map(item=>{\r\n let obj ={\r\n [item.TU_RELATION == 1 ? \"PositionId\" :\"GroupPositionId\" ] : item.Id,\r\n Description: item.Title\r\n }\r\n return obj\r\n })\r\n accessDatahandler(Data.length>0 ? Data : [] )\r\n }\r\n }\r\n\r\n const searching =(e)=>{\r\n setPositionstr(e == \"\" ? null:e)\r\n getPositionsListAsync(e == \"\" ? null:e)\r\n }\r\n\r\n const assignmentsearching =(e)=>{\r\n setPositionAssignmentstr(e == \"\" ? null:e)\r\n getPositionsListSearchingAsync(e == \"\" ? null:e)\r\n }\r\n useEffect(() => {\r\n getPositionsListAsync(positionstr); \r\n getPositionsListSearchingAsync(positionAssignmentstr)\r\n }, [mood]);\r\n\r\n useEffect(() => {\r\n if(mode != \"create\"){\r\n getAccessDataAsync();\r\n }\r\n }, []);\r\n\r\n\r\n if(response && assignedList){\r\n let assignmentdata:any =[]\r\n assignedList.forEach(elm => {\r\n if(Moodassign==\"groups\"){\r\n if(elm.TU_RELATION==2)assignmentdata.push(elm)\r\n }else if(Moodassign==\"users\"){\r\n if(elm.TU_RELATION==1)assignmentdata.push(elm)\r\n }else{\r\n assignmentdata.push(elm)\r\n }\r\n });\r\n assignmentResponse.map(obj => {\r\n const isSameId = assignmentdata.some(item => item.Id === obj.Id)\r\n const currentItem = assignmentdata.find(item => item.Id === obj.Id)\r\n\r\n \r\n if(currentItem) { \r\n const {add, view, edit, Delete} = currentItem;\r\n\r\n if(isSameId){\r\n Dataassign.push({...obj, add, view, edit, Delete})\r\n }\r\n }\r\n })\r\n response.map(item1=>{\r\n let flag = true\r\n assignedList.forEach(item2 => {\r\n if(item1.Id ==item2.Id){\r\n flag=false\r\n }\r\n });\r\n if(flag){\r\n Data.push(item1) \r\n }\r\n })\r\n\r\n }\r\n \r\n \r\n\r\n return ( <>\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n{/* \r\n \r\n */}\r\n
\r\n
\r\n {response &&\r\n } \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {forward()}}/>\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n{/* \r\n \r\n \r\n */}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n}","import { useEffect, useState } from \"react\";\r\nimport { putWarehouseData, postWarehouseData, getWarehouseDataWithId } from \"./api\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { WarehouseAccess } from \"./WarehouseAccesses\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface props {\r\n showForm: (e:boolean) => void\r\n selectedObj: any\r\n mode: any\r\n\r\n}\r\n\r\n\r\nexport const WarehouseForm = ({showForm, selectedObj, mode}: props) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [EditForm, setEditForm] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [showAccess, setShowAccess] = useState(false);\r\n const [boardData, setBoardData] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n\r\n\r\n const handleSubmit = async(e) => {\r\n e.preventDefault() \r\n if(mode == \"create\"){\r\n const data = {\r\n Name: e.target.Name.value,\r\n NameEN: e.target.NameEN.value,\r\n Code:e.target.Code.value,\r\n PricingMethod:+e.target.PricingMethod.value,\r\n }\r\n setBoardData(data)\r\n setShowAccess(true)\r\n }else{\r\n const data = {\r\n Id: selectedObj.Id,\r\n Name: e.target.Name.value,\r\n NameEN: e.target.NameEN.value,\r\n Code:e.target.Code.value, \r\n PricingMethod:+e.target.PricingMethod.value, \r\n ActivityStatus: parseInt(e.target.ActivityStatus.value),\r\n }\r\n \r\n try {\r\n const res = await putWarehouseData(data)\r\n getWarehouseDataAsync(); \r\n setResetForm(true); \r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n setEditForm(null) \r\n showForm(true)\r\n } catch (error) { }\r\n\r\n } \r\n}\r\n\r\n\r\n\r\n\r\nasync function accessDatahandler(data) {\r\n if(mode == \"create\"){\r\n let formdata:any ={}\r\n formdata.Warehouse = boardData\r\n formdata.WarehouseAccesses = data ;\r\n try {\r\n const res = await postWarehouseData(formdata)\r\n getWarehouseDataAsync(); \r\n setResetForm(true);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n showForm(true)\r\n } catch (error) {\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n\r\n }\r\n }\r\n}\r\n\r\nfunction cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(false)\r\n });\r\n }else{\r\n showForm(false) \r\n };\r\n\r\n\r\n}\r\n\r\n async function getWarehouseDataAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getWarehouseDataWithId(selectedObj.Id);\r\n setEditForm(res.Data);\r\n \r\n } catch (error) {\r\n }\r\n setLoading(true)\r\n }\r\n \r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) setResetForm(false);\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if(selectedObj?.Id && mode !=\"create\"){\r\n getWarehouseDataAsync()\r\n }else{\r\n setLoading(true)\r\n }\r\n }, [selectedObj]);\r\n\r\n return (\r\n <>\r\n { showAccess &&\r\n setShowAccess(false)} show={showAccess}>\r\n \r\n \r\n }\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n {loading ?\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true} \r\n textboxName={\"Name\"}\r\n textboxType=\"text\" \r\n resetForm={resetForm}\r\n labelText={\"Name\"} \r\n mode={mode}\r\n defaultValue={EditForm?.Name} \r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxName={\"NameEN\"}\r\n textboxType=\"text\" \r\n resetForm={resetForm}\r\n labelText={\"NameEN\"} \r\n mode={mode}\r\n defaultValue={EditForm?.NameEN} \r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true} \r\n textboxName={\"Code\"}\r\n textboxType=\"wareHouseCode\" \r\n resetForm={resetForm}\r\n labelText={\"Code\"} \r\n mode={mode}\r\n maxLength={3}\r\n defaultValue={EditForm?.Code} \r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true} \r\n label=\"PricingMethod\"\r\n enumTypeSelect=\"PricingMethod\"\r\n name=\"PricingMethod\"\r\n mode={mode }\r\n value={EditForm?.PricingMethod} \r\n />\r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n name=\"ActivityStatus\"\r\n label=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={EditForm?.ActivityStatus}\r\n mode={mode === \"view\" ? \"view\" : null}\r\n />\r\n
\r\n }\r\n \r\n {mode !== 'view' ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n }\r\n
\r\n : \r\n }\r\n
\r\n
\r\n \r\n );\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getWarehouseDataWithId = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Warehouse.load,\r\n method: 'get',\r\n params:{\r\n Id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\nexport const postWarehouseData = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Warehouse.browse,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\nexport const putWarehouseData = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Warehouse.browse,\r\n method: 'put',\r\n data: data,\r\n params:{\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getAllItemList = (pageNum, pageSize , orderBy,searchString ,filterlist) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.ItemGroupList,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString: orderBy,\r\n SearchString: searchString,\r\n FilterString:filterlist,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\n\r\nexport const getItemListId = (async (pageNum,pageSize,orderBy,searchString,filterlist,Id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.warhouseItemGroup.browse,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString: orderBy,\r\n SearchString: searchString,\r\n FilterString:filterlist,\r\n warehouseId : Id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n);\r\n\r\nexport const postItemList = (async (data) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.warhouseItemGroup.browse,\r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n);\r\n\r\n\r\nexport const deleteItemList = (data,warehouseId) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.warhouseItemGroup.browse,\r\n method: 'delete',\r\n params:{\r\n warehouseId:warehouseId\r\n },\r\n data: data\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n","\r\n\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\n\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { getAllItemList, postItemList } from \"./api\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface Form {\r\n onHide: () => void;\r\n reload: ()=> void;\r\n warehouseId?:any;\r\n formRefs?:any;\r\n\r\n}\r\nexport const ItemList = ({warehouseId, onHide ,reload}: Form) => {\r\n\r\n\r\n const [response, setResponse] = useState(null);\r\n const [selectedObj, setSelectedObj] = useState< any>(null);\r\n const [mode, setMode] = useState(\"create\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [showForm, setShowForm] = useState(false);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [pages, setPages] = useState(0);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [selectList , setSelectList] = useState()\r\n\r\n\r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"ItemList\" ,e.currentTarget.value )\r\n getAllItemListAsync(1)\r\n };\r\n\r\n function handleGoPage(value): void {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else {setPageNum(+value);getAllItemListAsync(+value)}\r\n } else {\r\n }\r\n }\r\n \r\n const handleNextPage = () => {\r\n if(pageNum < pages){\r\n setPageNum(pageNum + 1);\r\n getAllItemListAsync(pageNum + 1);\r\n };\r\n };\r\n const handlePrevPage = () => {\r\n if(pageNum > 1){\r\n setPageNum((pageNum)=>{return +pageNum - 1});\r\n getAllItemListAsync(pageNum - 1);\r\n };\r\n };\r\n\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n if(str ==\"\" ){\r\n setSearch(null)\r\n }else{\r\n setSearch(str)\r\n }\r\n }\r\n\r\n\r\n\r\n const selectedIdCallback = (obj, index) => {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{setSelectedObj(obj);sessionStorage.setItem(\"changingforms\" , \"false\"); setUserChanges({}) });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{setSelectedObj(obj);sessionStorage.setItem(\"changingforms\" , \"false\"); setUserChanges({}) });\r\n\r\n }else{\r\n setSelectedObj(obj) \r\n };\r\n }\r\n\r\n\r\n\r\n async function getAllItemListAsync(PageNum =pageNum) {\r\n setLoading(false)\r\n let pageSizeChangedByUser = getPageSize(\"ItemList\" )\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const res = await getAllItemList(PageNum, pageSizeChangedByUser ,orderBy.length == 0 ?null: orderBy.join(\",\") ,search ,filterlist);\r\n setResponse(res.Data);\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) \r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n const selectListCallBack =(list)=>{\r\n \r\n setSelectList(list[1])\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n const submit = async () => {\r\n setLoading(false)\r\n try {\r\n let data = {\r\n ItemGroupIds: selectList.map(item =>{return item.Id}) ,\r\n WarehouseId: warehouseId , \r\n }\r\n await postItemList(data)\r\n onHide()\r\n } catch (error) {\r\n \r\n }\r\n reload()\r\n setLoading(true)\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // onHide()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide()\r\n });\r\n }else{\r\n onHide() \r\n };\r\n\r\n }\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n getAllItemListAsync();\r\n }, [forceUpdate ,search , orderBy , filterlist , pageNum]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n getAllItemListAsync();\r\n }\r\n }, [resetForm]);\r\n\r\n\r\n\r\n /* #endregion */\r\n\r\n /* #region toolbarActions */\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\": alert(\"print \"); break;\r\n case \"excel\":downloadCSV(response?.Data ,1 ,trans(\"ItemList\"));break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n case \"help\": alert(\"call api help\"); break;\r\n\r\n\r\n }\r\n };\r\n /* #endregion */\r\n\r\n\r\n return (\r\n <>\r\n
\r\n\r\n \r\n
\r\n
\r\n <>\r\n {loading ?\r\n response?.Data?.length > 0 ?\r\n <>\r\n { }}\r\n multiSelect={true}\r\n selectList={selectListCallBack}\r\n parentName={\"ItemList\"}\r\n handlefiltering={(str)=>{setFilterlist(str) }}\r\n filterStr={filterlist}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n startIndex={1}\r\n theadData={Object.keys(response.Data[0])}\r\n tbodyData={response.Data}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedIdCallback}\r\n totalRecords={response.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n scrollHeight={\"35vh\"} \r\n // handleDelete={(e)=>{Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" ,handleDeleteRow)}}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() =>{getAllItemListAsync(pages); setPageNum(pages)}}\r\n end={() =>{getAllItemListAsync(1); setPageNum(1)}}\r\n handleGoPage={handleGoPage}\r\n />\r\n \r\n : \r\n :\r\n }\r\n { mode !=\"view\"?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n\r\n } \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n );\r\n}","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\nimport { getItemListId ,deleteItemList } from \"./api\";\r\nimport { ItemList } from \"./ItemsList\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface WarehouseItemGroupPropsType {\r\n onHide: () => void;\r\n mode:any;\r\n warehouseId?:any,\r\n \r\n}\r\n\r\nexport const WarehouseItemGroup = ({ onHide, mode,warehouseId }:WarehouseItemGroupPropsType) => {\r\n\r\n\r\n const [response, setResponse] = useState(null);\r\n const [WarehouseItemGroupId, setWarehouseItemGroupId] = useState(null);\r\n const [WarehouseItemGroupmode, setWarehouseItemGroupMode] = useState();\r\n const [orderFormat, setOrderFormat] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [showWarehouseItemGroupForm, setShowWarehouseItemGroupForm] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [selectList , setSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pages, setPages] = useState(0);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n\r\n let customFuction: any = []\r\n\r\n /* pagination area*/\r\n \r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"WarehouseItemGroup\" ,e.currentTarget.value )\r\n getItemListAsync(1)\r\n };\r\n\r\n const SearchHandler = (str) => {\r\n setPageNum(1);\r\n if(str ==\"\" ){\r\n setSearch(null)\r\n }else{\r\n setSearch(str)\r\n }\r\n }\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else setPageNum(+value);getItemListAsync(+value);\r\n } else {\r\n\r\n }\r\n };\r\n const handleNextPage = () => {\r\n if(pageNum < pages){\r\n setPageNum(pageNum + 1);\r\n getItemListAsync(pageNum + 1);\r\n };\r\n };\r\n const handlePrevPage = () => {\r\n if(pageNum > 1){\r\n setPageNum((pageNum)=>{return +pageNum - 1});\r\n getItemListAsync(pageNum - 1);\r\n };\r\n };\r\n\r\n\r\n const selectedRowCallback = (obj, index) => {\r\n setWarehouseItemGroupId(obj?.Id);\r\n };\r\n const selectListCallBack =(list)=>{\r\n \r\n setSelectList(list[1])\r\n }\r\n\r\n \r\n\r\n\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"finish\": alert(\"call api finish \" ); break;\r\n case \"current\": alert(\"call api current \" ); break;\r\n case \"archive\": alert(\"call api archive \" ); break;\r\n case \"view\": if (WarehouseItemGroupId) { setWarehouseItemGroupMode(\"view\"); } else { \r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning)\r\n\r\n } break;\r\n case \"print\": alert(\"print \");break;\r\n case \"refresh\": setForceUpdate(!forceUpdate);setSelectList(null); break;\r\n case \"excel\": downloadCSV(response?.Data ,1 ,trans(\"WarehouseItemGroup\"));break;\r\n case \"create\": setShowWarehouseItemGroupForm(true);break;\r\n case \"remove\":if(selectList?.length >0){\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , handleRemove)\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete, handleRemove)\r\n\r\n }else{\r\n // Toast(\"Msg_SelectRow\" , \"warning\")\r\n Toast(\"Msg_SelectRow\" , MessageType.warning)\r\n\r\n } ;break;\r\n\r\n }\r\n };\r\n\r\n\r\n async function getItemListAsync(PageNum = pageNum) {\r\n setLoading(false)\r\n setResponse(null)\r\n let pageSizeChangedByUser = getPageSize(\"WarehouseItemGroup\" )\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const res = await getItemListId(PageNum, pageSizeChangedByUser,orderBy.length == 0 ?null: orderBy.join(\",\"),search ,filterlist,warehouseId);\r\n setResponse(res.Data);\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) ;\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n async function handleRemove(){\r\n setLoading(false)\r\n try {\r\n let removeListId=selectList.map(item=>{return item.Id})\r\n const res = await deleteItemList(removeListId,warehouseId);\r\n } catch (error) {\r\n \r\n }\r\n setSelectList(null)\r\n setForceUpdate(!forceUpdate)\r\n setLoading(true)\r\n }\r\n \r\n \r\n useEffect(()=>{\r\n getItemListAsync()\r\n }, [forceUpdate,search,orderBy,filterlist]);\r\n \r\n\r\n \r\n /* #endregion */\r\n\r\n return (\r\n < >\r\n \r\n
\r\n\r\n {mode != \"view\" &&\r\n \r\n } \r\n {loading ?\r\n
\r\n
\r\n
\r\n {\r\n (response?.Data?.length > 0 ?\r\n {setFilterlist(str) }}\r\n filterStr={filterlist}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n selectItem={(e) => { }}\r\n multiSelect={true}\r\n selectList={selectListCallBack}\r\n resetMultiSelect={resetMultiSelect}\r\n parentName={\"WarehouseItemGroup\" }\r\n startIndex={1}\r\n theadData={Object.keys(response.Data[0])}\r\n tbodyData={response.Data} \r\n scrollHeight={\"30vh\"}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedRowCallback}\r\n totalRecords={response.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() =>{getItemListAsync(pages); setPageNum(pages)}}\r\n end={() =>{getItemListAsync(1); setPageNum(1)}}\r\n handleGoPage={handleGoPage}\r\n \r\n />\r\n : )\r\n }\r\n
\r\n
\r\n
\r\n : \r\n }\r\n {showWarehouseItemGroupForm &&\r\n setShowWarehouseItemGroupForm(false)} show={showWarehouseItemGroupForm}>\r\n {setForceUpdate(!forceUpdate)}} onHide={() => setShowWarehouseItemGroupForm(false)} />\r\n \r\n }\r\n { \r\n
\r\n
\r\n\r\n } \r\n
\r\n \r\n \r\n )\r\n}","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ButtonArrow } from \"components/ButtonArrow/ButtonArrow\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { getGroupPositionList, getPositionList, getWarehouseAccess, sendWarehouseAccess } from \"./api\";\r\nimport \"./style.scss\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface Form{\r\n Title?:string,\r\n assignmentMethod?:string,\r\n Status?:number,\r\n \r\n showForm:(e) => void,\r\n modalWidth?:any\r\n Warehouse?:any\r\n}\r\n\r\n\r\nexport const WarehouseAccesses: React.FC
= ({showForm, modalWidth , Warehouse}) => {\r\n const [mood , setMood] = useState(\"users\")\r\n const [Moodassign , setMoodassign] = useState(\"users\")\r\n const [flag , setFlag] = useState(false)\r\n const [response , setResponse] = useState([])\r\n const [assignmentResponse , setAssignmentResponse] = useState([])\r\n const [selectList , setSelectList] = useState([])\r\n const [assignedList , setAssignedList] = useState([])\r\n const [savedData , setSavedData] = useState([])\r\n const [assignedSelectList , setAssignedSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [positionstr , setPositionstr] = useState()\r\n const [positionAssignmentstr , setPositionAssignmentstr] = useState()\r\n const [width, setWidth] = useState(window.innerWidth);\r\n const [showModal, setShowModal] = useState(false);\r\n const [modalData, setModalData] = useState<{add: boolean, Delete: boolean, view: boolean, edit: boolean} | undefined>();\r\n const [submitted, setSubmitted] = useState(false)\r\n const [loading , setLoading] = useState(false)\r\n const [loading2 , setLoading2] = useState(false)\r\n const [massageType , setMassageType] = useState(\"info\")\r\n const [massageType2 , setMassageType2] = useState(\"info\")\r\n\r\n\r\n const breakPoint1 = modalWidth < 50 || width < 750\r\n // const breakPoint2 = modalWidth < 80 || width < 1100\r\n // const breakPoint3 = modalWidth > 90 || width > 1100\r\n\r\n window.onresize = () => {\r\n setWidth(window.innerWidth)\r\n }\r\n\r\n let keys, Data:any = [], Dataassign:any = [];\r\n async function getPositionsListAsync(SearchString) {\r\n setLoading(false)\r\n try {\r\n\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[] \r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n \r\n setResponse(list) \r\n \r\n } catch (error) {\r\n setMassageType(\"error\")\r\n }\r\n setLoading(true)\r\n\r\n }\r\n async function getPositionsListSearchingAsync(SearchString) {\r\n /* if(Moodassign==\"groups\"){\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list:any=[]\r\n for (let x in Groupresponse) {\r\n list.push({Id:x ,TU_RELATION:2 ,Title:Groupresponse[x] }) \r\n }\r\n \r\n setAssignmentResponse(list)\r\n \r\n }else if(Moodassign==\"users\"){\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n for (let x in Positionresponse) {\r\n \r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=1\r\n obj.Title=Positionresponse[x]\r\n list.push(obj) \r\n }\r\n setAssignmentResponse(list) \r\n }else */{\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list2:any=[]\r\n \r\n for (let x in Groupresponse.Data) {\r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=2\r\n obj.Title=Groupresponse.Data[x]\r\n list2.push(obj) \r\n }\r\n \r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n\r\n setAssignmentResponse(list.concat(list2)) \r\n }\r\n }\r\n\r\n async function SetWarehouseAccessAsync(data ,warehouseId) {\r\n try {\r\n const response = await sendWarehouseAccess(data,'put' ,warehouseId);\r\n \r\n showForm(false)\r\n } catch (error) {\r\n \r\n }\r\n\r\n }\r\n\r\n async function getTaskUserAsync() {\r\n setLoading2(false)\r\n \r\n try {\r\n const TaskUserresponse = await getWarehouseAccess(Warehouse); \r\n let makeData:any =[] \r\n\r\n if(TaskUserresponse){\r\n TaskUserresponse.Data.map(item=>{\r\n makeData.push({Id:item.GroupPositionId ? item.GroupPositionId :item.PositionId,TU_RELATION :item.GroupPositionId ? 2 :1 , Title:item.Description })\r\n })\r\n setSavedData(makeData)\r\n setAssignedList(makeData)\r\n }\r\n \r\n } catch (error) {\r\n setMassageType2('error')\r\n }\r\n setLoading2(true)\r\n }\r\n function hide() {\r\n showForm(false)\r\n }\r\n\r\n\r\n const getStatusFromModal = (data, formSubmitted)=> {\r\n setModalData(data)\r\n setSubmitted(formSubmitted)\r\n }\r\n\r\n\r\n function backward() {\r\n setAssignedSelectList([])\r\n setResetMultiSelect(!resetMultiSelect)\r\n\r\n\r\n const updatedData = selectList.map(item => {\r\n return {...item, ...modalData}\r\n })\r\n \r\n setAssignedList(assignedList.concat(updatedData))\r\n setFlag(!flag)\r\n setSelectList([])\r\n setSubmitted(false)\r\n }\r\n\r\n\r\n\r\n function forward() {\r\n setResetMultiSelect(!resetMultiSelect)\r\n let list:any =[]\r\n assignedList.forEach((item1,index1) => {\r\n let flag = true\r\n\r\n assignedSelectList.forEach((item2 , index2 ) => {\r\n if(item2.Id ==item1.Id ){\r\n flag = false\r\n }\r\n });\r\n if(flag){\r\n list.push(item1)\r\n }\r\n });\r\n\r\n setAssignedList(list)\r\n }\r\n\r\n\r\n\r\n const selectListCallBack =(list)=>{\r\n setSelectList(list[1])\r\n }\r\n\r\n const assignedselectListCallBack =(list)=>{\r\n setAssignedSelectList(list[1])\r\n }\r\n\r\n const referenceFormSubmit =(e)=>{\r\n e.preventDefault()\r\n\r\n if(assignedList.length==0){\r\n // Toast(\"msg_assigneduserscannotempty\" , \"error\")\r\n Toast(\"msg_assigneduserscannotempty\" , MessageType.error)\r\n\r\n }else{\r\n e.preventDefault();\r\n let Data = assignedList.map(item=>{\r\n let obj ={\r\n \r\n [item.TU_RELATION == 1 ? \"PositionId\" :\"GroupPositionId\" ] : item.Id,\r\n\r\n }\r\n return obj\r\n })\r\n\r\n SetWarehouseAccessAsync(Data.length>0 ? Data : [] ,Warehouse)\r\n }\r\n }\r\n\r\n const searching =(e)=>{\r\n setPositionstr(e == \"\" ? null:e)\r\n getPositionsListAsync(e == \"\" ? null:e)\r\n }\r\n\r\n const assignmentsearching =(e)=>{\r\n setPositionAssignmentstr(e == \"\" ? null:e)\r\n getPositionsListSearchingAsync(e == \"\" ? null:e)\r\n }\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n getPositionsListAsync(positionstr); \r\n getPositionsListSearchingAsync(positionAssignmentstr)\r\n }, [mood]);\r\n\r\n useEffect(() => {\r\n getTaskUserAsync();\r\n }, []);\r\n\r\n\r\n if(response && assignedList){\r\n let assignmentdata:any =[]\r\n\r\n assignedList.forEach(elm => {\r\n if(Moodassign==\"groups\"){\r\n if(elm.TU_RELATION==2)assignmentdata.push(elm)\r\n \r\n }else if(Moodassign==\"users\"){\r\n if(elm.TU_RELATION==1)assignmentdata.push(elm)\r\n }else{\r\n assignmentdata.push(elm)\r\n }\r\n });\r\n\r\n \r\n\r\n // assignmentResponse.forEach(item1 => {\r\n // let flag =false\r\n\r\n // assignmentdata.forEach(item2 => {\r\n // if(item1.Id == item2.Id){\r\n // flag = true\r\n // }\r\n // });\r\n\r\n\r\n // if(flag){\r\n // Dataassign.push(item1)\r\n // }\r\n // });\r\n\r\n assignmentResponse.map(obj => {\r\n const isSameId = assignmentdata.some(item => item.Id === obj.Id)\r\n const currentItem = assignmentdata.find(item => item.Id === obj.Id)\r\n\r\n \r\n if(currentItem) { \r\n const {add, view, edit, Delete} = currentItem;\r\n\r\n if(isSameId){\r\n Dataassign.push({...obj, add, view, edit, Delete})\r\n }\r\n }\r\n })\r\n\r\n\r\n\r\n response.map(item1=>{\r\n let flag = true\r\n assignedList.forEach(item2 => {\r\n if(item1.Id ==item2.Id){\r\n flag=false\r\n }\r\n });\r\n if(flag){\r\n Data.push(item1) \r\n }\r\n })\r\n\r\n }\r\n \r\n \r\n\r\n return ( <>\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {loading ?\r\n <>\r\n {response ? \r\n : \r\n } \r\n \r\n : \r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {forward()}}/>\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {loading2 ?\r\n <>\r\n {Dataassign ? \r\n \r\n : \r\n } \r\n \r\n : \r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n );\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\n\r\nexport const getPeymentMethod = async (Id) =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.PaymentMethod\r\n .load,\r\n method: \"get\",\r\n params: { Id: Id },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postPeymentMethodApi = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.PaymentMethod\r\n .browse,\r\n method: \"post\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const putPeymentMethodApi = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.PaymentMethod\r\n .browse,\r\n method: \"put\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getPeymentMethodDictionary = async () =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.PaymentMethod\r\n .dictionary,\r\n method: \"get\",\r\n }).then((response) => response.data);\r\n\r\nexport const deleteListPeymentMethod = (id) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.PaymentMethod\r\n .browse,\r\n method: \"delete\",\r\n params: {\r\n id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getListPeymentMethod = async (\r\n searchString,\r\n orderBy,\r\n pageNum,\r\n pageSize\r\n) =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.PaymentMethod\r\n .browse,\r\n method: \"get\",\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy,\r\n PageSize: pageSize,\r\n PageNumber: pageNum,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport {\r\n postPeymentMethodApi,\r\n putPeymentMethodApi,\r\n getPeymentMethod,\r\n} from \"./api\";\r\nimport { ListFormat } from \"typescript\";\r\ninterface PeymentMethodFormProps{\r\n reload:()=>void,\r\n mode:string,\r\n onHide:()=>any,\r\n selectedObj:any\r\n}\r\n\r\nexport const PeymentMethodForm = ({ reload, mode, onHide, selectedObj }) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n const applicationId = JSON.parse(\r\n localStorage?.getItem(\"CurrentApplication\") as string\r\n ).Id;\r\n\r\n const submit =async (e) => {\r\n e.preventDefault();\r\n try {\r\n \r\n if (mode === \"create\") {\r\n await postPeymentMethodApi({\r\n IsDefault: e.target.IsDefault.checked,\r\n Title: e.target.PeymentMethodTitle.value,\r\n TitleEN: e.target.PeymentMethodTitleEN.value,\r\n SystemKey: e.target.PeymentMethodSystemKey.value,\r\n ActivityStatus: +e.target.ActivityStatus.value,\r\n }).then(() => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n reload();\r\n onHide();\r\n });\r\n } else {\r\n await putPeymentMethodApi({\r\n Id: selectedObj.Id,\r\n IsDefault: e.target.IsDefault.checked,\r\n Title: e.target.PeymentMethodTitle.value,\r\n TitleEN: e.target.PeymentMethodTitleEN.value,\r\n SystemKey: e.target.PeymentMethodSystemKey.value,\r\n ActivityStatus: +e.target.ActivityStatus.value,\r\n }).then(() => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setResponse(null);\r\n setUserChanges({});\r\n reload();\r\n onHide();\r\n });\r\n }\r\n } catch (error) {\r\n \r\n }\r\n };\r\n\r\n async function getPeymentMethodId() {\r\n setLoading(false);\r\n try {\r\n const data = await getPeymentMethod(selectedObj?.Id);\r\n setResponse(data.Data);\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode !== \"create\") {\r\n getPeymentMethodId();\r\n } else {\r\n setResponse(null);\r\n setLoading(true);\r\n }\r\n }, [mode, selectedObj]);\r\n\r\n return (\r\n
\r\n {loading ? (\r\n \r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"PeymentMethodTitle\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"Description\"}\r\n mode={mode}\r\n defaultValue={response?.Title}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"PeymentMethodTitleEN\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"TitleEN\"}\r\n mode={mode}\r\n defaultValue={response?.TitleEN}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"PeymentMethodSystemKey\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"SystemKey\"}\r\n mode={mode}\r\n defaultValue={response?.SystemKey}\r\n />\r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n name=\"ActivityStatus\"\r\n mode={mode}\r\n label=\"Status\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={response?.ActivityStatus}\r\n />\r\n
\r\n }\r\n
\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={response?.IsDefault}\r\n defaultValue={response?.IsDefault}\r\n labelText={\"IsDefault\"}\r\n inputName={\"IsDefault\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
\r\n
\r\n
\r\n\r\n {mode != \"view\" ? (\r\n
\r\n
\r\n ) : (\r\n
\r\n {\r\n onHide();\r\n }}\r\n />\r\n
\r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\n\r\nexport const getDocsClassification = async (Id) =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesDocsClassification.load,\r\n method: \"get\",\r\n params: { Id: Id },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postDocsClassificationApi = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesDocsClassification.browse,\r\n method: \"post\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const putDocsClassificationApi = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesDocsClassification.browse,\r\n method: \"put\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getDocsClassificationDictionary = async () =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesDocsClassification.dictionary,\r\n method: \"get\",\r\n }).then((response) => response.data);\r\n\r\nexport const deleteListDocsClassification = (id) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesDocsClassification.browse,\r\n method: \"delete\",\r\n params: {\r\n id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getListDocsClassification = async (\r\n searchString,\r\n orderBy,\r\n pageNum,\r\n pageSize,\r\n applicationId\r\n) =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesDocsClassification.browse,\r\n method: \"get\",\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy,\r\n PageSize: pageSize,\r\n PageNumber: pageNum,\r\n ApplicationId: applicationId,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport {\r\n postDocsClassificationApi,\r\n putDocsClassificationApi,\r\n getDocsClassification,\r\n} from \"./api\";\r\nimport { ListFormat } from \"typescript\";\r\n\r\nexport const DocsClassificationForm = ({\r\n reload,\r\n mode,\r\n onHide,\r\n selectedObj,\r\n}) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n const applicationId = JSON.parse(\r\n localStorage?.getItem(\"CurrentApplication\") as string\r\n ).Id;\r\n\r\n const submit = (e) => {\r\n e.preventDefault();\r\n if (mode === \"create\") {\r\n postDocsClassificationApi({\r\n IsDefault: e.target.IsDefault.checked,\r\n CalculateTax: e.target.CalculateTax.checked,\r\n Title: e.target.DocsClassificationTitle.value,\r\n TitleEN: e.target.DocsClassificationTitleEN.value,\r\n StartDocsNo: +e.target.StartDocsNo.value,\r\n ApplicationId: applicationId,\r\n }).then(() => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n reload();\r\n onHide();\r\n });\r\n } else {\r\n putDocsClassificationApi({\r\n Id: selectedObj.Id,\r\n IsDefault: e.target.IsDefault.checked,\r\n CalculateTax: e.target.CalculateTax.checked,\r\n Title: e.target.DocsClassificationTitle.value,\r\n TitleEN: e.target.DocsClassificationTitleEN.value,\r\n StartDocsNo: +e.target.StartDocsNo.value,\r\n ApplicationId: applicationId,\r\n }).then(() => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setResponse(null);\r\n setUserChanges({});\r\n reload();\r\n onHide();\r\n });\r\n }\r\n };\r\n\r\n async function getDocsClassificationId() {\r\n setLoading(false);\r\n try {\r\n const data = await getDocsClassification(selectedObj?.Id);\r\n setResponse(data.Data);\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode !== \"create\") {\r\n getDocsClassificationId();\r\n } else {\r\n setResponse(null);\r\n setLoading(true);\r\n }\r\n }, [mode]);\r\n\r\n return (\r\n
\r\n {loading ? (\r\n \r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"DocsClassificationTitle\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"Description\"}\r\n mode={mode}\r\n defaultValue={response?.Title}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"DocsClassificationTitleEN\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"TitleEN\"}\r\n mode={mode}\r\n defaultValue={response?.TitleEN}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"StartDocsNo\"}\r\n textboxType=\"number\"\r\n resetForm={resetForm}\r\n labelText={\"StartDocsNo\"}\r\n mode={mode}\r\n defaultValue={response?.StartDocsNo+\"\"}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={response?.IsDefault}\r\n defaultValue={response?.IsDefault}\r\n labelText={\"IsDefault\"}\r\n inputName={\"IsDefault\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={response?.CalculateTax}\r\n defaultValue={response?.CalculateTax}\r\n labelText={\"CalculateTax\"}\r\n inputName={\"CalculateTax\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
\r\n
\r\n
\r\n\r\n {mode != \"view\" ? (\r\n
\r\n
\r\n ) : (\r\n
\r\n {\r\n onHide();\r\n }}\r\n />\r\n
\r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ButtonArrow } from \"components/ButtonArrow/ButtonArrow\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { getPositionList } from \"../api\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\ninterface Form{\r\n Title?:string,\r\n assignmentMethod?:string,\r\n Status?:number,\r\n showForm:(e) => void,\r\n accessDatahandler:(e) => void,\r\n modalWidth?:any\r\n archive?:any\r\n accessData?:any\r\n mode:any\r\n}\r\n\r\n\r\nexport const PriceListAccess: React.FC
= ({showForm,accessDatahandler ,accessData, modalWidth , mode,archive}) => {\r\n const [flag , setFlag] = useState(false)\r\n const [response , setResponse] = useState([])\r\n const [assignmentResponse , setAssignmentResponse] = useState([])\r\n const [selectList , setSelectList] = useState([])\r\n const [assignedList , setAssignedList] = useState([])\r\n const [savedData , setSavedData] = useState([])\r\n const [assignedSelectList , setAssignedSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [positionstr , setPositionstr] = useState()\r\n const [positionAssignmentstr , setPositionAssignmentstr] = useState()\r\n const [width, setWidth] = useState(window.innerWidth);\r\n const [modalData, setModalData] = useState<{add: boolean, Delete: boolean, view: boolean, edit: boolean} | undefined>();\r\n const [submitted, setSubmitted] = useState(false)\r\n \r\n const [res2,setRes2]=useState(null)\r\n\r\n\r\n\r\n const breakPoint1 = modalWidth < 50 || width < 750\r\n\r\n\r\n window.onresize = () => {\r\n setWidth(window.innerWidth)\r\n }\r\n\r\n let keys, Data:any = [], Dataassign:any = [];\r\n\r\n async function getPositionsListAsync(SearchString) {\r\n \r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n \r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n\r\n\r\n\r\nif(!SearchString){\r\n setRes2(list)\r\n}\r\n\r\n setResponse(list)\r\n \r\n \r\n\r\n \r\n }\r\n async function getPositionsListSearchingAsync(SearchString) {\r\n \r\n\r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n\r\n setAssignmentResponse(list) \r\n \r\n\r\n }\r\n\r\n\r\n\r\n async function getAccessDataAsync() {\r\n\r\n let makeData:any =[] \r\n \r\n if(accessData){ \r\n accessData.map(item=>{\r\n makeData.push({Id:item.GroupPositionId ? item.GroupPositionId :item.PositionId,TU_RELATION :item.GroupPositionId ? 2 :1 , Title:item.Description })\r\n })\r\n setSavedData(makeData)\r\n setAssignedList(makeData)\r\n }\r\n }\r\n\r\n\r\n function hide() {\r\n showForm(false)\r\n }\r\n\r\n\r\n\r\n\r\n function backward() {\r\n setAssignedSelectList([])\r\n setResetMultiSelect(!resetMultiSelect)\r\n\r\n\r\n const updatedData = selectList.map(item => {\r\n return {...item, ...modalData}\r\n })\r\n \r\n setAssignedList(assignedList.concat(updatedData))\r\n setFlag(!flag)\r\n setSelectList([])\r\n setSubmitted(false)\r\n }\r\n\r\n\r\n\r\n function forward() {\r\n setResetMultiSelect(!resetMultiSelect)\r\n let list:any =[]\r\n assignedList.forEach((item1,index1) => {\r\n let flag = true\r\n\r\n assignedSelectList.forEach((item2 , index2 ) => {\r\n if(item2.Id ==item1.Id ){\r\n flag = false\r\n }\r\n });\r\n if(flag){\r\n list.push(item1)\r\n }\r\n });\r\n\r\n setAssignedList(list)\r\n }\r\n\r\n\r\n\r\n const selectListCallBack =(list)=>{\r\n \r\n setSelectList(list[1])\r\n }\r\n\r\n const assignedselectListCallBack =(list)=>{\r\n setAssignedSelectList(list[1])\r\n }\r\n\r\n const referenceFormSubmit =(e)=>{\r\n e.preventDefault()\r\n e.preventDefault();\r\n let Data = assignedList.map(item=>{\r\n let obj ={\r\n [item.TU_RELATION == 1 ? \"PositionId\" :\"GroupPositionId\" ] : item.Id,\r\n [item.TU_RELATION == 1 ? \"PositionDescription\" :\" \" ] : item.Title,\r\n\r\n }\r\n return obj\r\n })\r\n accessDatahandler(Data?.length>0 ? Data : [] )\r\n \r\n }\r\n\r\n const searching =(e)=>{\r\n setPositionstr(e == \"\" ? null:e)\r\n getPositionsListAsync(e == \"\" ? null:e)\r\n \r\n \r\n }\r\n\r\n const assignmentsearching =(e)=>{\r\n setPositionAssignmentstr(e == \"\" ? null:e)\r\n getPositionsListSearchingAsync(e == \"\" ? null:e)\r\n \r\n }\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n getPositionsListAsync(positionstr); \r\n getPositionsListSearchingAsync(positionAssignmentstr)\r\n }, []);\r\n\r\n useEffect(() => {\r\n if(mode != \"create\"){\r\n\r\n getAccessDataAsync();\r\n }\r\n }, []);\r\n\r\n\r\n if(response && assignedList){\r\n let assignmentdata:any =[]\r\n\r\n assignedList.forEach(elm => {\r\n \r\n if(elm.TU_RELATION==1)assignmentdata.push(elm)\r\n \r\n });\r\n\r\n \r\n\r\n\r\n assignmentResponse.map(obj => {\r\n const isSameId = assignmentdata.some(item => item.Id === obj.Id)\r\n const currentItem = assignmentdata.find(item => item.Id === obj.Id)\r\n\r\n \r\n if(currentItem) { \r\n const {add, view, edit, Delete} = currentItem;\r\n\r\n if(isSameId){\r\n \r\n Dataassign.push({...obj, add, view, edit, Delete})\r\n \r\n }\r\n }\r\n })\r\n\r\n\r\n\r\n // Dataassign=[]\r\n response.map(item1=>{\r\n let flag = true\r\n assignedList.forEach(item2 => {\r\n if(item1.Id ==item2.Id){\r\n // Dataassign.push({...item2 , Title:item1.Title})\r\n\r\n \r\n flag=false\r\n }\r\n });\r\n \r\n if(flag){\r\n Data.push(item1) \r\n }\r\n })\r\n \r\n\r\n\r\n }\r\n \r\n\r\n\r\n\r\n\r\n\r\n return ( <>\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n searching(e)} />\r\n
\r\n
\r\n {response &&\r\n \r\n } \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {forward()}}/>\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n assignmentsearching(e)} />\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n}","\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { GroupingPriceFunction, trans } from \"utils/helpers\";\r\n\r\n\r\n\r\n\r\n\r\ninterface EditableInputPropsType {\r\n onBlurCallBack: (e?: any) => void;\r\n defaultValue:any;\r\n type:any;\r\n defaultValueOption:any;\r\n columnsWithOption:any;\r\n column:any;\r\n}\r\n\r\nexport const EditableInput = ({ onBlurCallBack,columnsWithOption,column, defaultValue, type, defaultValueOption }: EditableInputPropsType) => {\r\n const [valueName, setValueName] = useState(defaultValue);\r\n const [flag, setFlag] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const validRef = useRef(false);\r\n const countRef = useRef(0)\r\n const [checkedInput,setCheckedInput]=useState(false)\r\n\r\n let optionList : any =defaultValueOption\r\n\r\n\r\n const Auto = (e) => {\r\n validRef.current = false\r\n if((e.target.value.length ==0||e.target.value==-1|| e.target.value== trans(\"CallForPrice\") )&&(columnsWithOption.includes(column)||column.includes(columnsWithOption[0]))&&(!column.includes(\"Min\"))&&(!column.includes(\"Max\"))){\r\n inputRef.current.value = trans(\"CallForPrice\")\r\n inputIdRef.current.value = -1;\r\n }else{\r\n let regex = /^[0-9,.]+$/\r\n if(type==\"Decimal\"){\r\n if( regex.test(e.target.value)|| e.target.value.length==0){\r\n inputIdRef.current.value = e.target.value\r\n }else inputRef.current.value = inputIdRef.current.value\r\n }else inputIdRef.current.value = e.target.value \r\n }\r\n setValidat(false)\r\n setShow(true)\r\n setFlag(!flag)\r\n\r\n }\r\n\r\n function userSelecter(){\r\n if(optionList.length){\r\n setValeu(optionList[countRef.current],-1)\r\n setShow(false)\r\n\r\n }\r\n }\r\n\r\n const kydown = (event) => { \r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < optionList?.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef?.current -1;\r\n }else{\r\n countRef.current = optionList?.length-1;\r\n }\r\n }\r\n document.getElementById(\"EditableInput\"+countRef.current)?.scrollIntoView({behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n }\r\n const CheckPriceList =async (e)=>{\r\n if(type!=='Boolean'){\r\n if(!(e.target.value.length>0) && optionList&&(!column.includes(\"Min\"))&&(!column.includes(\"Max\"))){\r\n inputRef.current.value =trans(\"CallForPrice\")\r\n inputIdRef.current.value = -1;\r\n onBlurCallBack( -1)\r\n }else\r\n if(inputRef.current.value<0){\r\n inputRef.current.value=0\r\n }\r\n onBlurCallBack((inputIdRef.current.value==\"\"&& (defaultValue?.length>0|| !isNaN(defaultValue)))?(type ==\"Decimal\"?\"0\":\"\"): inputIdRef.current.value.replaceAll(\",\", \"\"))\r\n }else{\r\n onBlurCallBack(inputIdRef.current.checked)\r\n }\r\n\r\n }\r\n\r\n const setValeu = (newValue, id) => {\r\n if(inputIdRef != null && inputIdRef.current != null){\r\n validRef.current = true\r\n inputRef.current.value = newValue\r\n inputIdRef.current.value = id;\r\n setFlag(!flag)\r\n setValidat(false)\r\n }\r\n }\r\n\r\n useEffect(() =>{\r\n if(show ){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n }\r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n },[show ,optionList])\r\n\r\n useEffect(() =>{\r\n if(defaultValue==-1){\r\n inputRef.current.value =trans(\"CallForPrice\")\r\n inputIdRef.current.value = -1;\r\n }\r\n },[])\r\n\r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\");\r\n if (e.target.id !== input?.id) { \r\n setShow(false);\r\n }\r\n }\r\n\r\n\r\n\r\n return (\r\n <>\r\n\r\n {\r\n type!==\"Boolean\" ?\r\n <>\r\n \r\n { setShow(true);Auto(e)}} ref={inputRef} list=\"EditableInput\" name=\"browser\" className=\"text-box__box form-control \" type={type==\"Decimal\"?'text':'text'} id={\"browser\"} onMouseDown={(e)=>e.stopPropagation() } onChange={Auto} />\r\n \r\n :\r\n <>\r\n CheckPriceList(e)}/>\r\n \r\n\r\n \r\n \r\n}\r\n \r\n \r\n \r\n )\r\n}","\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport \"./style.scss\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\ninterface Form{\r\n Title?:string,\r\n Method?:string,\r\n columns?:any,\r\n removedColumns?:any,\r\n filter?:any,\r\n order?:any,\r\n handleOrderList: (e?: any) => void;\r\n handleFilterList: (e?: any) => void;\r\n setRemovedColumns: (e?: any) => void;\r\n setHoverSource: (e?: any) => void;\r\n HoverSource?:any,\r\n Status?:number,\r\n Task?:any,\r\n modalWidth?:any\r\n startIndex?:any\r\n parentName?:any\r\n}\r\n\r\n\r\nexport const GridSetting: React.FC
= ({parentName,HoverSource,setHoverSource ,startIndex ,setRemovedColumns, removedColumns ,columns , filter ,order,handleOrderList,handleFilterList , Task , Method, modalWidth}) => {\r\n const [orderList , setOrderList] = useState(order)\r\n const [filterList , setFilterList] = useState(filter)\r\n const [showGridSetting, setShowGridSetting] = useState(false);\r\n const [showOperations, setShowOperations] = useState(false);\r\n const [columnStatus, setColumnStatus] = useState({});\r\n const refBox = useRef()\r\n\r\n\r\n\r\n\r\n const [hover, setHover] = useState(HoverSource);\r\n\r\n\r\n function toggleSortingFormat(text) {\r\n for (let i = 0; i < orderList.length; i++) {\r\n if (orderList[i].includes(text)) {\r\n if (orderList[i].includes(\"asc\"))\r\n return [\"up\", i]\r\n else if (orderList[i].includes(\"desc\"))\r\n return [\"down\", i]\r\n\r\n }\r\n }\r\n return \"\";\r\n}\r\n\r\nfunction createSortingFormat(text) {\r\n\r\n\r\n let itemExists = false;\r\n let Sorting: any = [];\r\n let newSortingFormat: string[] = [];\r\n\r\n for (let i = 0; i < orderList.length; i++) {\r\n if (orderList[i].includes(text)) { // اگر عنوان ستون داخل یکی از رشته ها بود\r\n itemExists = true;\r\n if (orderList[i].includes(\"asc\")) {\r\n newSortingFormat.push(orderList[i].replace(\"asc\", \"desc\"));\r\n }\r\n else if (orderList[i].includes(\"desc\")) {\r\n newSortingFormat.push(orderList[i].replace(\"desc\", \"asc\"));\r\n\r\n }\r\n\r\n } else {\r\n // یعنی اگر پیمایش آرایه به آخر رسید\r\n newSortingFormat.push(orderList[i]);\r\n }\r\n }\r\n if (itemExists) {\r\n Sorting = newSortingFormat\r\n } else {\r\n // Sorting = JSON.parse(JSON.stringify(sortingFormat))\r\n newSortingFormat.push(`${text} asc`)\r\n\r\n Sorting = newSortingFormat\r\n // setSortingFormat((old) => { return [...old, `${text} asc`] })\r\n }\r\n // setSortingFormat(Sorting)\r\n\r\n setOrderList(Sorting)\r\n\r\n}\r\n\r\nfunction deleteaOrder(e) {\r\n let newSortingFormat: string[] = [];\r\n orderList.forEach(item => {\r\n if(!item.includes(e)){\r\n newSortingFormat.push(item)\r\n }\r\n\r\n });\r\n\r\n setOrderList(newSortingFormat)\r\n}\r\nfunction deleteafilter(e) {\r\n\r\n let newfilterList:any=\"\"\r\n if(filterList.length > 0){\r\n filterList.split(\",\").forEach(item=>{\r\n if(!item.includes(e) && item.length >2){\r\n newfilterList+= ( item+\",\")\r\n \r\n\r\n }\r\n })\r\n\r\n setFilterList(newfilterList)\r\n }\r\n}\r\n\r\n\r\nfunction changeColumnsStatus(item) {\r\n let remoObject = JSON.parse(JSON.stringify(columnStatus))\r\n if(remoObject[item]){\r\n\r\n deleteafilter(item)\r\n deleteaOrder(item)\r\n }\r\n \r\n setColumnStatus({...remoObject , [item] : (remoObject[item] != null ? !remoObject[item] :false )})\r\n \r\n}\r\nfunction handleRemoveOrderList() {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n\r\n }\r\n\r\n locallist.forEach(item => {\r\n if (item[0] === parentName) {\r\n \r\n item[5] = []\r\n\r\n\r\n\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n handleOrderList && handleOrderList([])\r\n\r\n}\r\nasync function handleRemoveSettings() {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n \r\n }\r\n locallist.forEach(item => {\r\n if (item[0] === parentName) { \r\n item[6] = []\r\n item[5] = []\r\n item[4] = \"\"\r\n item[2] = []\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n handleOrderList && handleOrderList([])\r\n handleFilterList && handleFilterList(\"\")\r\n setRemovedColumns([])\r\n setShowOperations(false)\r\n setShowGridSetting(false)\r\n}\r\n\r\n\r\nfunction handleRemoveFilterList(e) {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n\r\n }\r\n\r\n locallist.forEach(item => {\r\n if (item[0] === parentName) {\r\n \r\n item[4] = \"\"\r\n\r\n\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n handleFilterList && handleFilterList(\"\")\r\n\r\n}\r\n\r\n\r\n\r\n function handleSaveSettings(e) {\r\n e.preventDefault()\r\n let removedlist:any = []\r\n document.forms[\"AdvancedSetting\"][\"columns\"].forEach(item=>{\r\n \r\n if(!item.checked)\r\n removedlist.push(item.defaultValue)\r\n })\r\n\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n\r\n }\r\n locallist.forEach(item => {\r\n if (item[0] === parentName) {\r\n item[4] = filterList\r\n item[5] = orderList\r\n item[6] = removedlist\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n handleFilterList(filterList)\r\n handleOrderList(orderList)\r\n \r\n \r\n setRemovedColumns(removedlist)\r\n setShowOperations(false)\r\n setShowGridSetting(false)\r\n\r\n }\r\n function changeHoverSource(e) {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables)\r\n\r\n }\r\n locallist.forEach(item => {\r\n if (item[0] === parentName) {\r\n item[7] = e\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n\r\n }\r\n\r\nuseEffect(() => {\r\n if(showGridSetting){\r\n\r\n\r\n let remoObject:any ={}\r\n removedColumns.forEach(item => {\r\n remoObject[item] = false\r\n });\r\n setColumnStatus({...columnStatus , ...remoObject})\r\n }\r\n }, [showGridSetting]);\r\n\r\n useEffect(() => {\r\n\r\n setHover(HoverSource);\r\n \r\n }, [HoverSource]);\r\n\r\n\r\n \r\n\r\n return ( \r\n\r\n <>\r\n\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
{setShowGridSetting(true);setShowOperations(false);}}>\r\n {setShowGridSetting(true)}} style={{marginLeft:\"10px\"}} icon={[ICON_TYPE, \"sliders\"]}/> \r\n

{trans(\"MoreOptions\")}

\r\n
\r\n
\r\n
{handleRemoveSettings()}} >\r\n
{handleRemoveSettings()}}>\r\n {handleRemoveSettings()}} style={{marginLeft:\"10px\"}} icon={[ICON_TYPE, \"arrow-rotate-left\"]}/> \r\n

{trans(\"ResetCustomSettings\")}

\r\n
\r\n
\r\n {order.length > 0 && \r\n
\r\n
{ handleRemoveOrderList()}}>\r\n { handleRemoveOrderList()}} style={{marginLeft:\"10px\"}} icon={[ICON_TYPE, \"sort\"]}/> \r\n

{trans(\"RemoveSorts\")}

\r\n
\r\n
\r\n }\r\n {(filter && filter.length > 0 )&& \r\n
\r\n
{handleRemoveFilterList(\"\")}}>\r\n {handleRemoveFilterList(\"\")}} style={{marginLeft:\"10px\"}} icon={[ICON_TYPE, \"filter\"]}/> \r\n

{trans(\"removeFilters\")}

\r\n
\r\n
\r\n }\r\n
\r\n
\r\n \r\n {\r\n showGridSetting &&\r\n setShowGridSetting(false)} show={showGridSetting}>\r\n \r\n
\r\n {orderList.length > 0&&\r\n
\r\n

{trans(\"Sort\")}

\r\n
\r\n {orderList&&orderList.map((item ,index)=>(\r\n columnStatus[item.split(\" \")[0]] !== false ?\r\n\r\n
\r\n
\r\n \r\n {toggleSortingFormat(item)[0] === \"up\" ?\r\n <> { createSortingFormat(item) }}/> :\r\n (toggleSortingFormat(item)[0] === \"down\" ?\r\n <> { createSortingFormat(item) }}/> : null)\r\n }\r\n \r\n \r\n
\r\n
\r\n {\r\n item.includes('Icon') ? \r\n :\r\n trans(item.split(\" \")[0])\r\n }\r\n
\r\n \r\n
{deleteaOrder(item.split(\" \")[0])}}>\r\n \r\n
\r\n
\r\n :<>\r\n ))\r\n \r\n \r\n }\r\n
\r\n
\r\n\r\n }\r\n {(filterList != undefined && filterList.length > 1)&&\r\n
\r\n

{trans(\"filter\")}

\r\n
\r\n\r\n {filterList.length > 1&&filterList.slice(0,filterList.length-1).split(\",\").map((item ,index)=>(\r\n columnStatus[item.split(\"=\")[0]]!== false ?\r\n
\r\n
\r\n {trans(item.split(\"=\")[0]) } :{item.split(\"=\")[1]}\r\n
\r\n \r\n
{deleteafilter(item.split(\" \")[0])}}>\r\n \r\n
\r\n
\r\n :<>\r\n ))\r\n \r\n \r\n }\r\n
\r\n
\r\n\r\n }\r\n
\r\n

{trans(\"columns\")}

\r\n
\r\n\r\n {columns&&columns.map((item ,index)=>(\r\n <>\r\n {(index >= startIndex && item!==\"SelectAll\" &&item!==\"Operation\" ) &&\r\n <>\r\n {removedColumns.includes(item) ? \r\n\r\n
\r\n
\r\n {\r\n item.includes('Icon') ? \r\n :\r\n trans(item)\r\n }\r\n
\r\n \r\n
{e.stopPropagation(); changeColumnsStatus(item) }}>\r\n \r\n \r\n
\r\n
\r\n :\r\n
\r\n
\r\n {\r\n item.includes('Icon') ? \r\n :\r\n trans(item)\r\n }\r\n
\r\n \r\n
{e.stopPropagation(); changeColumnsStatus(item) }}>\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n }\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n }\r\n \r\n \r\n ))\r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n

{trans(\"HoverSource\")}

\r\n
\r\n
\r\n
\r\n
\r\n {trans(\"ColumnHeader\") }\r\n
\r\n \r\n
{setHoverSource(\"ColumnHeader\" );setHover(\"ColumnHeader\" );e.stopPropagation(); changeHoverSource(\"ColumnHeader\") }}>\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {trans(\"ColumnData\") }\r\n
\r\n \r\n
{setHoverSource(\"ColumnData\" );setHover(\"ColumnData\" );e.stopPropagation(); changeHoverSource(\"ColumnData\") }}>\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n \r\n\r\n );\r\n}","import { useState, useRef, useEffect } from \"react\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\ninterface DateFilterPropsType {\r\n id?: string,\r\n defaultValue?: any,\r\n hasBorder?: boolean,\r\n resetForm?: boolean,\r\n required?: boolean,\r\n value?: string,\r\n mode?: string,\r\n name?: string,\r\n Change?: (e) => void,\r\n onChange?: (e) => void,\r\n}\r\n\r\nexport const DateFilter = ({defaultValue, id, value ,required , name=\"\", Change ,onChange}: DateFilterPropsType) => {\r\n const [date, setDate] = useState(defaultValue);\r\n const inputIdRef = useRef();\r\n \r\n useEffect(() => {\r\n\r\n if (defaultValue && defaultValue!= undefined && defaultValue.length > 0) {\r\n setDate(defaultValue.split(\"&\"))\r\n }\r\n }, [defaultValue]);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n {setDate(IsoTime)}} val={date } />\r\n\r\n
\r\n\r\n \r\n )\r\n}","import React, { useCallback, useEffect, useRef, useState } from \"react\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { PaginationNavbar } from \"components/Pagination/Pagination\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { EditableInput } from \"./EditableInput\";\r\nimport { GridSetting } from \"./GridSetting\";\r\nimport \"./style.scss\";\r\nimport { DateFilter } from \"./DateFilter\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\nconst createHeaders = (headers, parentName, startIndex, setRemovedColumns) => {\r\n let head = headers;\r\n\r\n let setHead: any = [];\r\n let widths = [];\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] == parentName) {\r\n if (item[1].length == head.length - startIndex) {\r\n let switchHed = false;\r\n item[1].forEach((el) => {\r\n if (head.indexOf(el) == -1) {\r\n switchHed = true;\r\n }\r\n });\r\n if (!switchHed) {\r\n head = item[1];\r\n widths = item[2];\r\n head.forEach((item, index) => {\r\n setHead.push(\r\n widths[index]\r\n ? {\r\n text: item,\r\n ref: useRef(),\r\n Id: headers.indexOf(item),\r\n width: widths[index],\r\n }\r\n : { text: item, ref: useRef(), Id: headers.indexOf(item) }\r\n );\r\n });\r\n\r\n if (item[6] && item[6] != undefined) {\r\n setRemovedColumns(item[6]);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n if (setHead.length == 0) {\r\n head.forEach((item, index) => {\r\n if (index >= startIndex) {\r\n setHead.push(\r\n widths[index] && widths[index] != undefined\r\n ? {\r\n text: item,\r\n ref: useRef(),\r\n Id: headers.indexOf(item),\r\n width: widths[index],\r\n }\r\n : { text: item, ref: useRef(), Id: headers.indexOf(item) }\r\n );\r\n }\r\n });\r\n }\r\n return setHead;\r\n};\r\ninterface DataGridEditablePropsType {\r\n theadData: any;\r\n tbodyData: any;\r\n minCellWidth?: number;\r\n multiSelect?: boolean;\r\n editablecolumns?: any;\r\n multiSelecttype?: number;\r\n selectedRowProp?: any;\r\n resetMultiSelect?: boolean;\r\n View?: boolean;\r\n parentName?: any;\r\n customFuction?: any;\r\n startIndex?: number;\r\n selectList?: (e?: any) => void;\r\n selectItem?: (e) => void;\r\n theaxCells?: (e) => void;\r\n selectedRowObjectCallback?: (obj: any, index, event) => void;\r\n changeingDataCallback?: (data: any) => void;\r\n editAllGrid?: any;\r\n RowKey?: any;\r\n rowSelected?: any;\r\n handleEdit?: (id: string) => void;\r\n handleDelete?: ((id: string) => void) | null;\r\n handleView?: (id: string) => void;\r\n handleDownload?: (id: string) => void;\r\n handleAttachment?: (id: string) => void;\r\n handleCreate?: (flag: boolean) => void;\r\n handlefiltering?: (filterStr: string | object) => void;\r\n filterStr?: string;\r\n totalRecords?: number;\r\n pageNum?: number;\r\n pageSize?: number;\r\n HandlePrevPage?: () => void;\r\n HandleNextPage?: () => void;\r\n handlechangePageSize?: (e) => void;\r\n first?: () => void;\r\n end?: () => void;\r\n handleGoPage?: (e) => void;\r\n orderFormat?: (e) => void;\r\n orderFormatList?: any;\r\n multiSelectCallback?: (e: any) => void;\r\n checkedRowEventCallback?: (e: any, item: any) => void;\r\n DoubleClick?: (e: any) => void;\r\n //ActiveRow?: number;\r\n scrollHeight?: any;\r\n ViewParametr?: string;\r\n disabled?: boolean;\r\n mode?: any;\r\n showForm?: boolean;\r\n defaultValueOption?: any;\r\n columnsWithOption?: any;\r\n setEditAllGrid?: any;\r\n dependsValue?: any;\r\n useChangingNumberPlacement?:any\r\n}\r\n\r\nexport const DataGridEditable: React.FC = ({\r\n theadData,\r\n tbodyData,\r\n minCellWidth,\r\n editablecolumns,\r\n multiSelect,\r\n multiSelecttype = 1,\r\n selectedRowProp,\r\n resetMultiSelect,\r\n View = false,\r\n parentName,\r\n customFuction = [],\r\n startIndex = 1,\r\n selectList,\r\n selectItem,\r\n theaxCells,\r\n selectedRowObjectCallback,\r\n changeingDataCallback,\r\n editAllGrid,\r\n RowKey,\r\n rowSelected,\r\n handleEdit,\r\n handleDelete,\r\n handleView,\r\n handleDownload,\r\n handleAttachment,\r\n handleCreate,\r\n handlefiltering,\r\n filterStr,\r\n totalRecords,\r\n pageNum,\r\n pageSize,\r\n HandlePrevPage,\r\n HandleNextPage,\r\n handlechangePageSize,\r\n first,\r\n end,\r\n handleGoPage,\r\n orderFormat,\r\n orderFormatList,\r\n multiSelectCallback,\r\n checkedRowEventCallback,\r\n DoubleClick,\r\n //ActiveRow,\r\n scrollHeight = totalRecords === 0 && tbodyData.length === 1 ? 55 : null,\r\n ViewParametr = \"ViewIcon\",\r\n disabled = false,\r\n showForm = false,\r\n mode = false,\r\n defaultValueOption,\r\n columnsWithOption,\r\n setEditAllGrid,\r\n dependsValue,\r\n useChangingNumberPlacement=false\r\n}) => {\r\n ///const [activeRow, setActiveRow] = useState( -2);\r\n const [selectedRow, setSelectedRow] = useState([]);\r\n const [checkedAll, setCheckedAll] = useState(false);\r\n const [operationSubIndex, setOperationSubIndex] = useState(-2);\r\n const [flag, setFlag] = useState(false);\r\n const [inEditCol, setInEditCol] = useState([]);\r\n //const [changedData, setChangedData] = useState({});\r\n const changedDataRef = useRef({});\r\n const myStateRef = useRef(null);\r\n const SubIndexRef = useRef(operationSubIndex);\r\n const tbody = JSON.parse(JSON.stringify(tbodyData));\r\n const rtlDataGridEditableDirection =\r\n localStorage.getItem(\"lang\") === \"fa\" ? true : false;\r\n const tableElement = useRef(null);\r\n let selectedIndex: any;\r\n const hasOperation =\r\n handleDelete ||\r\n handleEdit ||\r\n handleView ||\r\n handleDownload ||\r\n handleAttachment ||\r\n customFuction.length > 0\r\n ? true\r\n : false;\r\n const [hasmultiSelector, setHasmultiSelector] = useState(multiSelect);\r\n let localFlag = true;\r\n let pages;\r\n let columns = JSON.parse(JSON.stringify(theadData));\r\n let widthColumns = [];\r\n let a = false;\r\n let ummont = true;\r\n let operationList = [\r\n ...customFuction,\r\n handleDelete,\r\n handleEdit,\r\n handleView,\r\n handleDownload,\r\n handleAttachment,\r\n ].filter((e) => {\r\n if (e) {\r\n return e;\r\n }\r\n });\r\n\r\n if (multiSelect) columns.splice(startIndex, 0, \"SelectAll\");\r\n if (hasOperation) columns.splice(startIndex, 0, \"Operation\");\r\n\r\n let removed: any = [];\r\n let [hedcolums, setHedcolums] = useState(\r\n createHeaders(columns, parentName, startIndex, (e) => {\r\n removed = e;\r\n })\r\n );\r\n\r\n let DefaultMinCellWidth = 30;\r\n let gridTemplateColumnsStyle: string[] = [];\r\n let tableHeight = tbody?.length * 25 + 25 + \"px\";\r\n\r\n const [activeIndex, setActiveIndex] = useState(null);\r\n const [removedColumns, setRemovedColumns] = useState(removed);\r\n const activeIndexRef = useRef(activeIndex);\r\n const [currentOperation, setCurrentOperation] = useState(-1);\r\n const [showOperations, setShowOperations] = useState(false);\r\n const [autoFocus, setAutoFocus] = useState(false);\r\n const [filterList, setFilterList] = useState(filterStr ? filterStr : []);\r\n const [filterListValuse, setFilterListValuse] = useState([]);\r\n const [sortingFormat, setSortingFormat] = useState(\r\n orderFormatList ? orderFormatList : []\r\n );\r\n const [filterFlag, setFilterFlag] = useState(true);\r\n const [hoverSource, setHoverSource] = useState();\r\n const [operationPosition, setOperationPosition] = useState(0);\r\n theaxCells && theaxCells(hedcolums);\r\n\r\n async function handleRemoveFilterList() {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n item[4] = \"\";\r\n item[5] = [];\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n try {\r\n handlefiltering && handlefiltering({ Filterlist: \"\", OrderFormat: [] });\r\n } catch (error) {}\r\n }\r\n\r\n const kydown = (event) => {\r\n pages =\r\n totalRecords && pageSize && totalRecords > pageSize\r\n ? Math.ceil(totalRecords / pageSize)\r\n : 1;\r\n if (document.getElementsByClassName(\"fullscreen-bg-modal\").length === 0) {\r\n if (event.ctrlKey && event.key.includes(\"Delete\")) {\r\n event.preventDefault();\r\n handleRemoveFilterList();\r\n event.returnValue = false;\r\n return false;\r\n }\r\n if (myStateRef.current > -2) {\r\n if (event.key == \"ArrowDown\") {\r\n if (hasOperation && SubIndexRef.current !== -2) {\r\n if (operationList.length === SubIndexRef.current + 1) {\r\n SubIndexRef.current = 0;\r\n setOperationSubIndex(SubIndexRef.current);\r\n } else {\r\n SubIndexRef.current += 1;\r\n setOperationSubIndex(SubIndexRef.current);\r\n }\r\n } else {\r\n if (tbody.length === myStateRef.current + 1) {\r\n if (HandleNextPage && pages !== pageNum) {\r\n HandleNextPage();\r\n }\r\n } else if (tbody.length > myStateRef.current + 1) {\r\n myStateRef.current += 1;\r\n //PROF\r\n toggleActiveRow(event, myStateRef.current);\r\n }\r\n }\r\n } else if (event.key === \"ArrowUp\") {\r\n if (hasOperation && SubIndexRef.current !== -2) {\r\n if (0 === SubIndexRef.current) {\r\n SubIndexRef.current = operationList.length - 1;\r\n setOperationSubIndex(SubIndexRef.current);\r\n } else {\r\n SubIndexRef.current -= 1;\r\n setOperationSubIndex(SubIndexRef.current);\r\n }\r\n } else {\r\n if (0 >= myStateRef.current) {\r\n if (HandlePrevPage && pageNum !== 1) {\r\n HandlePrevPage();\r\n }\r\n } else if (0 < myStateRef.current) {\r\n myStateRef.current -= 1;\r\n toggleActiveRow(event, myStateRef.current);\r\n }\r\n }\r\n } else if (\r\n event.key === \"Enter\" &&\r\n document?.activeElement?.className.indexOf(\"ck\") === -1 &&\r\n document?.activeElement?.tagName != \"TEXTAREA\" &&\r\n document?.activeElement?.tagName != \"INPUT\"\r\n ) {\r\n // document.getElementById(`trbody${index}`)?.click()\r\n if (\r\n hasOperation &&\r\n SubIndexRef.current !== -2 &&\r\n operationList[SubIndexRef.current]\r\n ) {\r\n if (typeof operationList[SubIndexRef.current] == \"function\") {\r\n operationList[SubIndexRef.current](\r\n tbodyData[myStateRef.current].Id\r\n );\r\n } else if (\r\n typeof operationList[SubIndexRef.current][0] == \"function\"\r\n ) {\r\n operationList[SubIndexRef.current][0](\r\n tbodyData[myStateRef.current].Id\r\n );\r\n }\r\n } else {\r\n //DoubleClick ? DoubleClick(tbodyData[myStateRef.current]) : (handleView &&handleView(tbodyData[myStateRef.current].Id))\r\n }\r\n } else if (event.key === \"ArrowRight\") {\r\n if (hasOperation) {\r\n toggleShowOperations(myStateRef.current);\r\n SubIndexRef.current = 0;\r\n setOperationSubIndex(SubIndexRef.current);\r\n }\r\n } else if (event.key === \"ArrowLeft\") {\r\n if (hasOperation) {\r\n toggleShowOperations(-1);\r\n SubIndexRef.current = -2;\r\n setOperationSubIndex(SubIndexRef.current);\r\n }\r\n }\r\n if (\r\n document.activeElement?.className.includes(\"filterInput\") &&\r\n event.key == \"Enter\"\r\n ) {\r\n //// filtering()\r\n }\r\n } else if (event.key === \"ArrowDown\") {\r\n toggleActiveRow(event, 0);\r\n myStateRef.current = 0;\r\n } else if (event.key === \"ArrowUp\") {\r\n toggleActiveRow(event, pageSize && pageSize - 1);\r\n myStateRef.current = pageSize && pageSize - 1;\r\n }\r\n }\r\n };\r\n useEffect(() => {\r\n if (\r\n (myStateRef.current === -2 || rowSelected == null) &&\r\n ((totalRecords && totalRecords > 0) || totalRecords == null)\r\n ) {\r\n myStateRef.current = 0;\r\n // setActiveRow(0);\r\n // فرستادن مقدار آیدی به والد\r\n selectedRowObjectCallback &&\r\n selectedRowObjectCallback(tbodyData[0], 0, \"\");\r\n }\r\n document.addEventListener(\"keydown\", kydown);\r\n\r\n return () => {\r\n document.removeEventListener(\"keydown\", kydown);\r\n };\r\n }, [rowSelected]);\r\n // useEffect(() => {\r\n // if(rowSelected==null){\r\n // myStateRef.current = 0\r\n // //setActiveRow(0);\r\n // /* // فرستادن مقدار آیدی به والد\r\n // selectedRowObjectCallback && selectedRowObjectCallback(tbodyData[0], 0 ,\"\"); */\r\n // }\r\n // }, [rowSelected])\r\n\r\n function toggleShowOperations(operationIndex) {\r\n setCurrentOperation(operationIndex);\r\n if (operationIndex === currentOperation || currentOperation === -1) {\r\n setShowOperations(!showOperations);\r\n } else setShowOperations(true);\r\n }\r\n\r\n function blurBtn(event) {\r\n event.currentTarget.parentElement?.parentElement?.blur();\r\n }\r\n\r\n async function toggleActiveRow(event, rowIndex) {\r\n event.stopPropagation();\r\n myStateRef.current = rowIndex;\r\n // setActiveRow(rowIndex);\r\n // فرستادن مقدار آیدی به والد\r\n selectedRowObjectCallback &&\r\n (await selectedRowObjectCallback(tbodyData[rowIndex], rowIndex, event));\r\n }\r\n\r\n function createSortingFormat(text, event) {\r\n let itemExists = false;\r\n let goPageFormat = false;\r\n\r\n let Sorting: any = [];\r\n /* if (sortingFormat.length == 0) {\r\n setSortingFormat([`${text} asc`])\r\n } else */\r\n if (event.ctrlKey) {\r\n let newSortingFormat: string[] = [];\r\n for (let i = 0; i < sortingFormat.length; i++) {\r\n if (sortingFormat[i].includes(text)) {\r\n // اگر عنوان ستون داخل یکی از رشته ها بود\r\n itemExists = true;\r\n if (sortingFormat[i].includes(\"asc\")) {\r\n newSortingFormat.push(sortingFormat[i].replace(\"asc\", \"desc\"));\r\n } else if (sortingFormat[i].includes(\"desc\")) {\r\n // اگر ترتیب ستون نزولی بود کاری انجام نمی دهیم تا نام این ستون دیگر در لیست مرتب سازی قرار نگیرد\r\n }\r\n if (i == 0) {\r\n goPageFormat = true;\r\n }\r\n } else {\r\n // یعنی اگر پیمایش آرایه به آخر رسید\r\n newSortingFormat.push(sortingFormat[i]);\r\n }\r\n }\r\n if (itemExists) {\r\n Sorting = newSortingFormat;\r\n } else {\r\n // Sorting = JSON.parse(JSON.stringify(sortingFormat))\r\n newSortingFormat.push(`${text} asc`);\r\n if (newSortingFormat.length === 1) {\r\n goPageFormat = true;\r\n }\r\n Sorting = newSortingFormat;\r\n // setSortingFormat((old) => { return [...old, `${text} asc`] })\r\n }\r\n } else {\r\n let newSortingFormat: string[] = [];\r\n\r\n if (sortingFormat.length > 0 && sortingFormat[0].includes(text)) {\r\n if (sortingFormat[0].includes(\"asc\")) {\r\n newSortingFormat.push(sortingFormat[0].replace(\"asc\", \"desc\"));\r\n }\r\n Sorting = newSortingFormat;\r\n } else {\r\n newSortingFormat.push(`${text} asc`);\r\n Sorting = newSortingFormat;\r\n }\r\n }\r\n // setSortingFormat(Sorting)\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n item[5] = Sorting;\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n orderFormat && orderFormat(Sorting);\r\n if ((goPageFormat && pageNum !== 1) || event.ctrlKey) {\r\n handleGoPage && handleGoPage(1);\r\n }\r\n }\r\n function toggleSortingFormat(text) {\r\n for (let i = 0; i < sortingFormat.length; i++) {\r\n if (sortingFormat[i].split(\" \")[0] == text) {\r\n if (sortingFormat[i].includes(\"asc\")) return [\"up\", i];\r\n else if (sortingFormat[i].includes(\"desc\")) return [\"down\", i];\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n // useEffect(() => {\r\n // }, [sortingFormat])\r\n\r\n if (hasOperation) {\r\n if (\r\n hedcolums[2] &&\r\n hedcolums[2].width &&\r\n hedcolums[2].width !== undefined\r\n ) {\r\n if (hasmultiSelector) {\r\n gridTemplateColumnsStyle[0] = \"24px\";\r\n gridTemplateColumnsStyle[1] = \"24px\";\r\n for (let i = 2; i < hedcolums.length; i++) {\r\n if (!removedColumns.includes(hedcolums[i].text)) {\r\n if (hedcolums[i].text.includes(\"Icon\")) {\r\n gridTemplateColumnsStyle.push(\r\n `${\r\n hedcolums[i].width === undefined ? \"24px\" : hedcolums[i].width\r\n }`\r\n );\r\n } else {\r\n if (hedcolums[i].width === \"24px\") {\r\n gridTemplateColumnsStyle.push(hedcolums[i].width);\r\n } else {\r\n gridTemplateColumnsStyle.push(\r\n `${\r\n hedcolums[i].width === undefined\r\n ? \"120px\"\r\n : hedcolums[i].width\r\n }`\r\n );\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n gridTemplateColumnsStyle[0] = \"24px\";\r\n\r\n for (let i = 1; i < hedcolums.length; i++) {\r\n if (!removedColumns.includes(hedcolums[i].text)) {\r\n if (hedcolums[i].text.includes(\"Icon\")) {\r\n gridTemplateColumnsStyle.push(\r\n `${\r\n hedcolums[i].width === undefined ? \"24px\" : hedcolums[i].width\r\n }`\r\n );\r\n } else {\r\n if (\r\n hedcolums[i].width === \"24px\" ||\r\n hedcolums[i].width === \"24px\"\r\n ) {\r\n gridTemplateColumnsStyle.push(hedcolums[i].width);\r\n } else {\r\n gridTemplateColumnsStyle.push(\r\n `${\r\n hedcolums[i].width === undefined\r\n ? \"120px\"\r\n : hedcolums[i].width\r\n }`\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (hasmultiSelector) {\r\n gridTemplateColumnsStyle[0] = \"24px\";\r\n gridTemplateColumnsStyle[1] = \"24px\";\r\n for (let i = 2; i < hedcolums.length; i++) {\r\n if (!removedColumns.includes(hedcolums[i].text)) {\r\n if (hedcolums[i].text.includes(\"Icon\")) {\r\n gridTemplateColumnsStyle.push(\"24px\");\r\n } else {\r\n gridTemplateColumnsStyle.push(\"minmax(120px,auto)\");\r\n }\r\n }\r\n }\r\n } else {\r\n gridTemplateColumnsStyle[0] = \"24px\";\r\n\r\n for (let i = 1; i < hedcolums.length; i++) {\r\n if (!removedColumns.includes(hedcolums[i].text)) {\r\n if (hedcolums[i].text.includes(\"Icon\")) {\r\n gridTemplateColumnsStyle.push(\"24px\");\r\n } else {\r\n gridTemplateColumnsStyle.push(\"minmax(120px,auto)\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (hedcolums[1]?.width && hedcolums[1].width !== undefined) {\r\n for (let i = 0; i < hedcolums.length; i++) {\r\n if (!removedColumns.includes(hedcolums[i].text)) {\r\n if (hedcolums[i].text.includes(\"Icon\")) {\r\n gridTemplateColumnsStyle.push(\r\n `${\r\n hedcolums[i].width === undefined ? \"24px\" : hedcolums[i].width\r\n }`\r\n );\r\n } else {\r\n if (hedcolums[i].width === \"24px\") {\r\n gridTemplateColumnsStyle.push(hedcolums[i].width);\r\n } else {\r\n gridTemplateColumnsStyle.push(\r\n `${\r\n hedcolums[i].width === undefined\r\n ? \"120px\"\r\n : hedcolums[i].width\r\n }`\r\n );\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (hasmultiSelector) {\r\n gridTemplateColumnsStyle[0] = \"24px\";\r\n for (let i = 1; i < hedcolums.length; i++) {\r\n if (!removedColumns.includes(hedcolums[i].text)) {\r\n if (hedcolums[i].text.includes(\"Icon\")) {\r\n gridTemplateColumnsStyle.push(\"24px\");\r\n } else {\r\n gridTemplateColumnsStyle.push(\"minmax(120px,auto)\");\r\n }\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < hedcolums.length; i++) {\r\n if (!removedColumns.includes(hedcolums[i].text)) {\r\n if (hedcolums[i].text.includes(\"Icon\")) {\r\n gridTemplateColumnsStyle.push(\"24px\");\r\n } else {\r\n gridTemplateColumnsStyle.push(\"minmax(120px,auto)\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n let Rows = tbodyData.map((item, index) => {\r\n // محتوای جدول\r\n let tr: any = JSON.parse(JSON.stringify(item));\r\n\r\n if (hasmultiSelector) {\r\n tr.SelectAll = (\r\n {\r\n multiSelector(item);\r\n selectorEvent(e, item);\r\n }}\r\n />\r\n );\r\n\r\n /* tr.splice(1, 0, // در اینجا محتوای ستون عملیات قرار مقدار دهی می شود\r\n \r\n {multiSelector(item)}} />\r\n \r\n ); */\r\n }\r\n\r\n if (hasOperation) {\r\n tr.Operation = (\r\n
\r\n {}}\r\n onFocus={(e) => {\r\n if (\r\n window.innerHeight - e.target.getBoundingClientRect().top <\r\n (customFuction.length + 2) * 25\r\n ) {\r\n setOperationPosition((customFuction.length + 2) * 25);\r\n } else {\r\n setOperationPosition(0);\r\n }\r\n toggleShowOperations(index);\r\n SubIndexRef.current = 0;\r\n }}\r\n onBlur={() => {\r\n toggleShowOperations(index);\r\n setShowOperations(false);\r\n SubIndexRef.current = -3;\r\n }}\r\n >\r\n \r\n \r\n {customFuction &&\r\n customFuction.map((item2, index2) => {\r\n if (item2[3] !== undefined && item2[3].length > 1) {\r\n if (item[item2[3]] === item2[4]) {\r\n return (\r\n \r\n item2[0](item)}\r\n >\r\n \r\n

{trans(item2[2])}

\r\n
\r\n \r\n );\r\n }\r\n } else {\r\n return (\r\n \r\n item2[0](item)}\r\n >\r\n \r\n

{trans(item2[2])}

\r\n \r\n \r\n );\r\n }\r\n })}\r\n {handleDelete && (\r\n \r\n {\r\n handleDelete(item[\"Id\"]);\r\n }}\r\n >\r\n \r\n

{trans(\"Delete\")}

\r\n \r\n \r\n )}\r\n {handleEdit && (\r\n \r\n handleEdit(item[\"Id\"])}\r\n >\r\n \r\n

{trans(\"Edit\")}

\r\n \r\n \r\n )}\r\n {handleView && (\r\n \r\n handleView(item[\"Id\"])}\r\n >\r\n \r\n

{trans(\"View\")}

\r\n \r\n \r\n )}\r\n {handleDownload && (\r\n \r\n handleDownload(item[\"Id\"])}\r\n >\r\n \r\n

{trans(\"Download\")}

\r\n \r\n \r\n )}\r\n {handleAttachment && (\r\n \r\n handleAttachment(item[\"Id\"])}\r\n >\r\n \r\n

{trans(\"Attachment\")}

\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n return tr;\r\n });\r\n\r\n function getTh(e, index) {\r\n e.stopPropagation();\r\n selectedIndex = index;\r\n }\r\n function setTh(e, index) {\r\n if (selectedIndex > 0) {\r\n let putIndex = index;\r\n if (hasOperation) {\r\n if (putIndex > 1) {\r\n let selectIndex: any = selectedIndex;\r\n let arryHed = hedcolums;\r\n let selectHed = arryHed[selectIndex];\r\n arryHed.splice(selectIndex, 1);\r\n arryHed.splice(putIndex, 0, selectHed);\r\n\r\n setHedcolums(arryHed);\r\n setTimeout(() => {\r\n setFlag(!flag);\r\n }, 5);\r\n }\r\n } else {\r\n if (putIndex > 0) {\r\n let selectIndex: any = selectedIndex;\r\n let arryHed = hedcolums;\r\n let selectHed = arryHed[selectIndex];\r\n arryHed.splice(selectIndex, 1);\r\n arryHed.splice(putIndex, 0, selectHed);\r\n setHedcolums(arryHed);\r\n\r\n setTimeout(() => {\r\n setFlag(!flag);\r\n }, 5);\r\n }\r\n setFlag(!flag);\r\n }\r\n }\r\n }\r\n\r\n function multiSelectAll(e) {\r\n let checkboxs: any = Object.values(\r\n document.getElementsByClassName(`${parentName} checkBox`)\r\n );\r\n if (multiSelecttype !== 2) {\r\n if (e.target.checked) {\r\n setCheckedAll(true);\r\n checkboxs.forEach((item) => {\r\n item.checked = true;\r\n });\r\n setSelectedRow([]);\r\n setSelectedRow(tbody);\r\n selectList && selectList([parentName, tbody]);\r\n setFlag(!flag);\r\n } else {\r\n setCheckedAll(false);\r\n checkboxs.forEach((item) => {\r\n item.checked = false;\r\n });\r\n setSelectedRow([]);\r\n setFlag(!flag);\r\n selectList && selectList([parentName, []]);\r\n }\r\n setFlag(!flag);\r\n } else {\r\n if (!e.target.checked) {\r\n setCheckedAll(false);\r\n checkboxs.forEach((item) => {\r\n item.checked = false;\r\n });\r\n setSelectedRow([]);\r\n setFlag(!flag);\r\n selectList && selectList([parentName, []]);\r\n multiSelectCallback && multiSelectCallback(false);\r\n } else {\r\n selectList && selectList([parentName, tbody]);\r\n multiSelectCallback && multiSelectCallback(true);\r\n }\r\n }\r\n\r\n // ***** for test *****\r\n }\r\n async function onContextMenu(e, index, id) {\r\n e.preventDefault();\r\n myStateRef.current = index;\r\n selectedRowObjectCallback &&\r\n (await selectedRowObjectCallback(tbodyData[index], index, e));\r\n document.getElementById(\"Operation\" + index)?.focus();\r\n toggleShowOperations(index);\r\n SubIndexRef.current = 0;\r\n\r\n if (\r\n myStateRef.current === index ||\r\n (rowSelected && rowSelected.Id === id && myStateRef.current !== 0)\r\n ) {\r\n }\r\n return false;\r\n }\r\n\r\n useEffect(() => {\r\n setSelectedRow([]);\r\n setCheckedAll(false);\r\n }, [parentName]);\r\n\r\n useEffect(() => {\r\n if (selectedRowProp) {\r\n let seletedList: any = selectedRow;\r\n\r\n selectedRowProp.forEach((item) => {\r\n let flag = false;\r\n selectedRow.forEach((item2) => {\r\n if (item2.Id === item.Id) {\r\n flag = true;\r\n }\r\n });\r\n if (!flag) {\r\n seletedList.push(item);\r\n }\r\n });\r\n\r\n let checkboxs: any = Object.values(\r\n document.getElementsByClassName(`${parentName} checkBox`)\r\n );\r\n\r\n if (selectedRowProp[0]?.Id === \"All\") {\r\n setCheckedAll(true);\r\n setSelectedRow([]);\r\n setSelectedRow(tbody);\r\n if (checkboxs.length > 0) {\r\n checkboxs.forEach((item1) => {\r\n item1.checked = true;\r\n });\r\n }\r\n } else {\r\n if (checkboxs.length > 0) {\r\n checkboxs.forEach((item1) => {\r\n let flag = false;\r\n seletedList.forEach((item2) => {\r\n if (item1.id.slice(9, 45) === item2.Id) {\r\n flag = true;\r\n item1.checked = true;\r\n item1.disabled = false;\r\n }\r\n });\r\n if (!flag) {\r\n item1.checked = false;\r\n if (multiSelecttype !== 3) {\r\n item1.disabled = true;\r\n } else {\r\n item1.disabled = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n // setSelectedRow(seletedList)\r\n // selectList && selectList([parentName, seletedList])\r\n }\r\n }\r\n }, [tbodyData, selectedRowProp]);\r\n\r\n function selectorEvent(e, item) {\r\n checkedRowEventCallback && checkedRowEventCallback(e.target.checked, item);\r\n }\r\n\r\n function multiSelector(e) {\r\n selectItem && selectItem(e);\r\n if (multiSelecttype === 3) {\r\n let seletedList: any = [];\r\n if (selectedRowProp?.length > 0) {\r\n seletedList = selectedRowProp;\r\n }\r\n let index1 = seletedList.findIndex((item, index) => {\r\n if (item.Id === e.Id) {\r\n return true;\r\n }\r\n });\r\n if (index1 > -1) {\r\n seletedList.splice(index1, 1);\r\n setCheckedAll(false);\r\n } else {\r\n seletedList.splice(0, 0, e);\r\n setSelectedRow(seletedList);\r\n }\r\n selectList && selectList([parentName, seletedList]);\r\n } else {\r\n let seletedList: any = selectedRow;\r\n let index1 = selectedRow.findIndex((item, index) => {\r\n if (item.Id === e.Id) {\r\n return true;\r\n }\r\n });\r\n if (index1 > -1) {\r\n seletedList.splice(index1, 1);\r\n setCheckedAll(false);\r\n } else {\r\n seletedList.splice(0, 0, e);\r\n setSelectedRow(seletedList);\r\n }\r\n selectList && selectList([parentName, selectedRow]);\r\n }\r\n }\r\n function hasSelect(e) {\r\n let seletedList: any = selectedRow;\r\n let index1 = seletedList.findIndex((item, index) => {\r\n if (item.Id === e.Id) {\r\n return true;\r\n }\r\n });\r\n if (index1 > -1) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n function filterMaker(e) {\r\n setAutoFocus(true);\r\n let newList: any = [];\r\n let flag = false;\r\n filterList.forEach((item, index) => {\r\n if (item !== e) {\r\n newList.push(item);\r\n } else {\r\n flag = true;\r\n setFilterListValuse(filterListValuse.splice(index, 1));\r\n }\r\n });\r\n if (!flag) {\r\n newList.push(e);\r\n setFilterList(newList);\r\n }\r\n if (flag) {\r\n filtering(newList);\r\n }\r\n return flag;\r\n }\r\n\r\n function filtering(List = filterList) {\r\n let filterString = \"\";\r\n if (document.forms[\"Filtering\" + parentName][\"filter\"]) {\r\n if (\r\n document.forms[\"Filtering\" + parentName][\"filter\"].length > 1 &&\r\n List.length > 0\r\n ) {\r\n document.forms[\"Filtering\" + parentName][\"filter\"].forEach((item) => {\r\n if (List.includes(item.id) && item.value.length > 0) {\r\n filterString += `${item.id}='${item.value}',`;\r\n }\r\n });\r\n } else {\r\n if (\r\n List.includes(\r\n document.forms[\"Filtering\" + parentName][\"filter\"].id\r\n ) &&\r\n document.forms[\"Filtering\" + parentName][\"filter\"].value.length > 0\r\n ) {\r\n filterString += `${\r\n document.forms[\"Filtering\" + parentName][\"filter\"].id\r\n }='${document.forms[\"Filtering\" + parentName][\"filter\"].value}',`;\r\n }\r\n }\r\n if (filterString.length > 0) {\r\n handlefiltering && handlefiltering(filterString);\r\n } else {\r\n if (filterFlag) {\r\n setFilterList(List);\r\n } else {\r\n handlefiltering && handlefiltering(filterString);\r\n }\r\n }\r\n } else {\r\n handlefiltering && handlefiltering(\"\");\r\n }\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n item[4] = filterString;\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n }\r\n function updateInEditColList(name) {\r\n setEditAllGrid(0);\r\n\r\n if (inEditCol.includes(name)) {\r\n /* setEditAllGrid(0);\r\n\r\n let flag = true;\r\n for (const property in changedDataRef.current) {\r\n if (\r\n changedDataRef.current[property][name] &&\r\n changedDataRef.current[property][name] != undefined\r\n ) {\r\n flag = false;\r\n\r\n break;\r\n }\r\n }\r\n if (!flag) {\r\n Toast(\r\n trans(\"modalclosemessage\"),\r\n \"warning\",\r\n \"alertWithoutClose\",\r\n () => {\r\n let newList = inEditCol.filter((item) => item != name);\r\n let newObj = JSON.parse(JSON.stringify(changedDataRef.current));\r\n for (const property in newObj) {\r\n delete newObj[property][name];\r\n }\r\n if (newList.length == 0) {\r\n changedDataRef.current = {};\r\n changeingDataCallback &&\r\n changeingDataCallback(changedDataRef.current);\r\n } else {\r\n changedDataRef.current = newObj;\r\n changeingDataCallback &&\r\n changeingDataCallback(changedDataRef.current);\r\n }\r\n\r\n setInEditCol(newList);\r\n }\r\n );\r\n } else {\r\n setEditAllGrid(0);\r\n let newList = inEditCol.filter((item) => item != name);\r\n setInEditCol(newList);\r\n } */\r\n setEditAllGrid(3);\r\n setInEditCol([...inEditCol, name]);\r\n } else {\r\n setEditAllGrid(3);\r\n setInEditCol([...inEditCol, name]);\r\n }\r\n }\r\n function checkChangedRow(ChangedData , data){\r\n let change = false ; \r\n Object.keys(editablecolumns).map(item =>{\r\n if(ChangedData[item]!= data[item]&&ChangedData[item]!=undefined){\r\n change=true}\r\n })\r\n return change\r\n }\r\n\r\n async function addRowChange(text, row, cell) {\r\n if ((text != row[cell] ) ||(+text != row[cell] && +text?.length > 0) || typeof text == \"boolean\") {\r\n if (!!dependsValue?.length && cell === dependsValue[0]) {\r\n if (text && text != -1 && text != 0) {\r\n changedDataRef.current = {\r\n ...changedDataRef.current,\r\n [row[RowKey]]: {\r\n ...row,\r\n ...changedDataRef.current[row.Id],\r\n [cell]: typeof text == \"boolean\" ? text : +text,\r\n [dependsValue[1]]: true,\r\n },\r\n };\r\n } else {\r\n changedDataRef.current = {\r\n ...changedDataRef.current,\r\n [row[RowKey]]: {\r\n ...row,\r\n ...changedDataRef.current[row.Id],\r\n [cell]: typeof text == \"boolean\" ? text : +text,\r\n [dependsValue[1]]: false,\r\n },\r\n };\r\n }\r\n changeingDataCallback && changeingDataCallback(changedDataRef.current);\r\n } else {\r\n changedDataRef.current = {\r\n ...changedDataRef.current,\r\n [row[RowKey]]: {\r\n ...row,\r\n ...changedDataRef.current[row.Id],\r\n [cell]: typeof text == \"boolean\" ? text : +text,\r\n },\r\n };\r\n console.log(\"changedDataRef.current2222\" ,text , +text)\r\n\r\n changeingDataCallback && changeingDataCallback(changedDataRef.current);\r\n }\r\n } else {\r\n let obj = {\r\n ...changedDataRef.current,\r\n [row[RowKey]]: {\r\n ...changedDataRef.current[row.Id],\r\n [cell]: text == row[cell] ? text :null ,\r\n },\r\n };\r\n delete obj[row[RowKey]][cell];\r\n if (!(Object.keys(obj[row[RowKey]]).length > 0)||checkChangedRow(row[cell] , row) ) {\r\n delete obj[row[RowKey]];\r\n }\r\n let complexData = \r\n changedDataRef.current = obj;\r\n changeingDataCallback && changeingDataCallback(changedDataRef.current);\r\n // setChangedData(obj)\r\n }\r\n }\r\n useEffect(() => {\r\n if (editAllGrid && editAllGrid !== 3) {\r\n setInEditCol(Object.keys(editablecolumns));\r\n } else if (!editAllGrid) {\r\n setInEditCol([]);\r\n }\r\n }, [editAllGrid]);\r\n\r\n useEffect(() => {\r\n if (filterStr && typeof filterStr == \"string\" && filterStr.length > 1) {\r\n let newJs: any = filterStr.split(\",\");\r\n let lastList: any = [];\r\n newJs.forEach((item) => {\r\n lastList.push(item.split(\"=\"));\r\n });\r\n let hedList: any = [];\r\n let valueList: any = [];\r\n lastList.forEach((item) => {\r\n if (item[0].length > 0) {\r\n hedList.push(item[0]);\r\n valueList.push(item[1].replace(/'/g, \"\"));\r\n }\r\n });\r\n setFilterList(hedList);\r\n setFilterListValuse(valueList);\r\n setFilterFlag(false);\r\n }\r\n }, [filterStr]);\r\n\r\n // const renderTooltip = (tooltipText) => (\r\n // \r\n // {trans(tooltipText)}\r\n // \r\n // );\r\n const mouseDown = (index) => {\r\n setActiveIndex(index);\r\n activeIndexRef.current = index;\r\n };\r\n const mouseMove = useCallback(\r\n (e) => {\r\n e.stopImmediatePropagation();\r\n // Return an array of px values\r\n\r\n let gridColumns = hedcolums.map((col, i) => {\r\n if (!removedColumns.includes(col.text)) {\r\n if (i === activeIndex) {\r\n // Calculate the column width\r\n if (tableElement.current !== null) {\r\n if (rtlDataGridEditableDirection) {\r\n // سایز سلول در حالت راست چین\r\n\r\n const width =\r\n col.ref.current.getBoundingClientRect().right - e.clientX;\r\n let width2 =\r\n (col.ref.current.getBoundingClientRect().width - width) / 2;\r\n if (width >= DefaultMinCellWidth - 5) {\r\n return `${\r\n col.ref.current.getBoundingClientRect().width - width2\r\n }px`;\r\n } else {\r\n mouseUp(\"\");\r\n Toast(\r\n trans(\"msg_deletecolumnconfirm\"),\r\n MessageType.confirmDelete,\r\n () => {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n item[6] = [...removedColumns, col.text];\r\n }\r\n });\r\n\r\n setRemovedColumns([...removedColumns, col.text]);\r\n localStorage.setItem(\r\n \"userHeadTable\",\r\n JSON.stringify(locallist)\r\n );\r\n }\r\n );\r\n return `${DefaultMinCellWidth + 5}px`;\r\n }\r\n } else {\r\n // سایز سلول در حالت چپ چین\r\n const width =\r\n e.clientX -\r\n (tableElement.current as HTMLElement)?.getBoundingClientRect()\r\n .left -\r\n col.ref.current.offsetLeft;\r\n if (width >= DefaultMinCellWidth - 5) {\r\n return `${width}px`;\r\n } else {\r\n mouseUp(\"\");\r\n Toast(\r\n trans(\"msg_deletecolumnconfirm\"),\r\n MessageType.confirmDelete,\r\n () => {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n item[6] = [...removedColumns, col.text];\r\n }\r\n });\r\n\r\n setRemovedColumns([...removedColumns, col.text]);\r\n\r\n localStorage.setItem(\r\n \"userHeadTable\",\r\n JSON.stringify(locallist)\r\n );\r\n }\r\n );\r\n return `${DefaultMinCellWidth + 5}px`;\r\n }\r\n }\r\n }\r\n }\r\n // Otherwise return the previous width (no changes)\r\n return `${col.ref.current.offsetWidth}px`;\r\n } else {\r\n return null;\r\n }\r\n });\r\n gridColumns.filter((n) => n);\r\n if (tableElement.current) {\r\n (tableElement.current as HTMLElement).style.gridTemplateColumns =\r\n gridColumns.join(\" \");\r\n }\r\n\r\n if (gridColumns.length > 0) {\r\n widthColumns = JSON.parse(JSON.stringify(gridColumns));\r\n }\r\n },\r\n [activeIndex, DefaultMinCellWidth]\r\n );\r\n const removeListeners = useCallback(() => {\r\n window.removeEventListener(\"mousemove\", mouseMove);\r\n window.removeEventListener(\"mouseup\", mouseUp);\r\n window.removeEventListener(\"mouseup\", removeListeners);\r\n }, [mouseMove]);\r\n const mouseUp = useCallback(\r\n (e) => {\r\n if (activeIndex) {\r\n let newhedcolums = hedcolums;\r\n newhedcolums[activeIndex].width = widthColumns[activeIndex];\r\n setTimeout(() => {\r\n setHedcolums(newhedcolums);\r\n }, 5);\r\n }\r\n\r\n removeListeners();\r\n setActiveIndex(null);\r\n activeIndexRef.current = null;\r\n },\r\n [setActiveIndex, removeListeners]\r\n );\r\n\r\n useEffect(() => {\r\n let checkboxs: any = Object.values(\r\n document.getElementsByClassName(`${parentName} checkBox`)\r\n );\r\n checkboxs.forEach((item) => {\r\n item.checked = false;\r\n });\r\n setSelectedRow([]);\r\n setFlag(!flag);\r\n setCheckedAll(false);\r\n }, [resetMultiSelect]);\r\n\r\n useEffect(() => {\r\n if (multiSelecttype !== 2) {\r\n let checkboxs: any = Object.values(\r\n document.getElementsByClassName(`${parentName} checkBox`)\r\n );\r\n checkboxs.forEach((item1) => {\r\n let flag = false;\r\n selectedRow.forEach((item2) => {\r\n if (item1.id.slice(9, 45) === item2.Id) {\r\n flag = true;\r\n }\r\n });\r\n if (flag) {\r\n item1.checked = true;\r\n } else {\r\n item1.checked = false;\r\n }\r\n });\r\n }\r\n }, [tbodyData]);\r\n\r\n useEffect(() => {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n if (item[7]) {\r\n setHoverSource(item[7]);\r\n } else {\r\n setHoverSource(\"ColumnData\");\r\n }\r\n }\r\n });\r\n\r\n return () => {\r\n if (ummont) {\r\n let flag2 = false;\r\n let hedlist = hedcolums.map((item) => {\r\n return item.text;\r\n });\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n if (localFlag) {\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n item[1] = hedlist;\r\n localFlag = false;\r\n flag2 = true;\r\n }\r\n });\r\n if (!flag2) {\r\n locallist.push([parentName, hedlist, widthColumns]);\r\n }\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n }\r\n ummont = false;\r\n }\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (activeIndex !== null) {\r\n window.addEventListener(\"mousemove\", mouseMove);\r\n window.addEventListener(\"mouseup\", mouseUp);\r\n }\r\n a = true;\r\n return () => {\r\n if (a) {\r\n let hedTables = localStorage.getItem(\"userHeadTable\");\r\n let locallist;\r\n if (hedTables == null) {\r\n locallist = [];\r\n } else {\r\n locallist = JSON.parse(hedTables);\r\n }\r\n if (localFlag) {\r\n locallist.forEach((item) => {\r\n if (item[0] === parentName) {\r\n if (ummont)\r\n if (widthColumns.length > 0) {\r\n item[2] = widthColumns;\r\n }\r\n }\r\n });\r\n localStorage.setItem(\"userHeadTable\", JSON.stringify(locallist));\r\n }\r\n removeListeners();\r\n }\r\n };\r\n }, [mouseMove, mouseUp]);\r\n\r\n return (\r\n <>\r\n
\r\n {\r\n e.preventDefault();\r\n filtering();\r\n }}\r\n >\r\n \r\n 2 ? \"theadTr\" : \"\"\r\n }`}\r\n >\r\n \r\n {hedcolums.map(({ ref, text }, index) => (\r\n <>\r\n {!removedColumns.includes(text) && (\r\n \r\n {trans(text)}\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n >\r\n 0 ? \"theadTr \" : \"\"}\r\n ${filterList.length > 0 ? \"theadTr \" : \"\"}\r\n ${ scrollHeight ? \"scrollable\" : \"\"\r\n }`}\r\n >\r\n
\r\n {text === \"SelectAll\" ? (\r\n {}\r\n }\r\n className={`${\r\n hasOperation\r\n ? \"data-grid__cell-bodytext\"\r\n : \"data-grid__header-cell-span\"\r\n }`}\r\n >\r\n {}}\r\n onClick={multiSelectAll}\r\n id={\"checkboxAll\"}\r\n />\r\n \r\n ) : hasOperation && index === 0 ? (\r\n {\r\n orderFormat && orderFormat(e);\r\n }}\r\n handleFilterList={(e) => {\r\n handlefiltering && handlefiltering(e);\r\n }}\r\n />\r\n ) : (\r\n {\r\n getTh(e, index);\r\n }}\r\n onMouseUp={(e) => {\r\n setTh(e, index);\r\n }}\r\n >\r\n {editablecolumns?.[text] && (\r\n {\r\n e.stopPropagation();\r\n updateInEditColList(text);\r\n }}\r\n >\r\n {\r\n \r\n }{\" \"}\r\n
\r\n )}\r\n {\r\n createSortingFormat(text, e);\r\n }}\r\n style={{\r\n width: \"100%\",\r\n marginRight: disabled\r\n ? \"2px\"\r\n : text.includes(\"Icon\")\r\n ? \"2px\"\r\n : toggleSortingFormat(text)[0]\r\n ? \"28px\"\r\n : \"\",\r\n }}\r\n className=\"data-grid__cell-text\"\r\n >\r\n {text === \"Operation\" ? (\r\n handleCreate && (\r\n handleCreate(true)}\r\n >\r\n +\r\n
\r\n )\r\n ) : text.includes(\"Icon\") ? (\r\n text.replace(\"Icon\", \"\").length > 0 ? (\r\n \r\n ) : (\r\n \"\"\r\n )\r\n ) : (\r\n <>\r\n {trans(text)}\r\n {handlefiltering && (\r\n {\r\n e.stopPropagation();\r\n filterMaker(text);\r\n }}\r\n >\r\n {\r\n \r\n }{\" \"}\r\n \r\n )}\r\n \r\n )}\r\n \r\n {(hasOperation && index === 0) ||\r\n (!hasOperation && index === 0) ? null : (\r\n <>\r\n {toggleSortingFormat(text)[0] && (\r\n {\r\n createSortingFormat(text, e);\r\n }}\r\n className=\"data-grid__sorting-icon-wrapper\"\r\n id={\"data-grid__header-cell\" + index}\r\n >\r\n {toggleSortingFormat(text)[0] ===\r\n \"up\" ? (\r\n <>\r\n
\r\n {+toggleSortingFormat(text)[1] +\r\n 1}{\" \"}\r\n
\r\n
\r\n {\" \"}\r\n
{\" \"}\r\n \r\n ) : toggleSortingFormat(text)[0] ===\r\n \"down\" ? (\r\n <>\r\n
\r\n {+toggleSortingFormat(text)[1] +\r\n 1}\r\n
\r\n
\r\n {\" \"}\r\n {\" \"}\r\n
\r\n \r\n ) : null}\r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n {filterList.includes(text) &&\r\n
\r\n {(text.includes(\"Date\")||text.includes(\"Time\"))?\r\n \r\n :\r\n \r\n }\r\n { filtering() }} />\r\n
\r\n }\r\n \r\n {index === 0 && (\r\n <>\r\n {hasOperation || multiSelect ? (\r\n \r\n ) : (\r\n mouseDown(index)}\r\n className={`data-grid__resize-handle ${\r\n activeIndex === index ? \"active\" : \"idle\"\r\n }`}\r\n />\r\n )}\r\n \r\n )}\r\n {index > 0 ? (\r\n text.includes(\"Icon\") ? (\r\n \r\n ) : text.includes(\"multiSelect\") ? (\r\n \r\n ) : (\r\n mouseDown(index)}\r\n className={`data-grid__resize-handle ${\r\n activeIndex === index ? \"active\" : \"idle\"\r\n }`}\r\n />\r\n )\r\n ) : text.includes(\"multiSelect\") ? (\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n )}\r\n \r\n ))}\r\n \r\n \r\n {totalRecords === 0 && tbody.length === 1 ? (\r\n <>\r\n ) : (\r\n \r\n {Rows.map((row, index1) => {\r\n if (rowSelected && rowSelected.Id === row.Id) {\r\n myStateRef.current = index1;\r\n }\r\n return (\r\n {\r\n onContextMenu(e, index1, row.Id);\r\n }}\r\n tabIndex={-1}\r\n onDoubleClick={() => {\r\n DoubleClick\r\n ? DoubleClick(row)\r\n : handleView && handleView(row.Id);\r\n }}\r\n id={`trbody${index1}`}\r\n key={index1}\r\n className={`data-grid__tr ${\r\n View ? (row[ViewParametr] ? \"boldTr\" : \"\") : \" \"\r\n } `}\r\n onClick={(event) => {\r\n toggleActiveRow(event, index1);\r\n }}\r\n >\r\n {hedcolums.map(\r\n (cell, index2) =>\r\n !removedColumns.includes(cell.text) && (\r\n \r\n
\r\n {inEditCol?.includes(cell.text) &&\r\n trans(\"previousvalue\")+\" : \"}\r\n {cell.text.includes(\"Icon\")\r\n ? row[`${cell.text}Hover`]\r\n ? row[`${cell.text}Hover`]\r\n : hoverSource === \"ColumnData\"\r\n ? row[cell.text]\r\n : trans(cell.text)\r\n : hoverSource === \"ColumnData\"\r\n ? ((row[cell.text] ==\"-1\"&&!cell.text.includes(\"Min\")&&!cell.text.includes(\"Max\"))? trans(\"CallForPrice\") : row[cell.text])\r\n : trans(cell.text)}\r\n
\r\n \r\n ) : (\r\n <>\r\n )\r\n }\r\n >\r\n \r\n \r\n
\r\n {(editablecolumns[cell.text] ===\r\n \"Boolean\" &&\r\n editAllGrid == 0) ||\r\n (typeof row[cell.text] === \"boolean\" &&\r\n row?.Id != rowSelected?.Id &&\r\n editAllGrid == 2) ||\r\n (typeof row[cell.text] == \"boolean\" &&\r\n !inEditCol?.includes(cell.text) &&\r\n editAllGrid == 3) ? (\r\n row[cell.text] ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n \r\n
\r\n )\r\n ) : cell.text.includes(\"Icon\") ? (\r\n row[cell.text] && (\r\n \r\n )\r\n ) : (inEditCol?.includes(cell.text) &&\r\n editAllGrid === 3) ||\r\n (editAllGrid === 1 &&\r\n inEditCol?.includes(cell.text)) ||\r\n (inEditCol?.includes(cell.text) &&\r\n editAllGrid === 2 &&\r\n row?.Id == rowSelected?.Id) ||\r\n (editAllGrid === 3 &&\r\n editablecolumns[cell.text] ===\r\n \"Boolean\" &&\r\n inEditCol?.includes(cell.text)) ? (\r\n { \r\n addRowChange(text, row, cell.text);\r\n }}\r\n defaultValue={row[cell.text]}\r\n />\r\n ) : defaultValueOption ? (\r\n defaultValueOption[row[cell.text]] ? (\r\n defaultValueOption[row[cell.text]]\r\n ) : (\r\n row[cell.text]\r\n )\r\n ) :\r\n /\\d+(\\.\\d+)?/g.test(row[cell.text]) && useChangingNumberPlacement?\r\n <>\r\n
{\r\n return `
${i}
`;\r\n }\r\n ),\r\n }}>
\r\n \r\n :\r\n (\r\n row[cell.text]\r\n )}\r\n
\r\n \r\n \r\n \r\n )\r\n )}\r\n \r\n );\r\n })}\r\n \r\n )}\r\n \r\n {totalRecords === 0 && tbody.length === 1 ? (\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n {pageNum &&\r\n pageSize &&\r\n HandleNextPage &&\r\n HandlePrevPage &&\r\n handlechangePageSize &&\r\n first &&\r\n end && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","\r\nimport { http } from \"utils/http\";\r\n\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const getPriceListDetail= (priceListId,pageNumber , pageSize,orderBy ,searchString?: any ,filterlist?) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListDetailApis.browseList,\r\n method: \"get\",\r\n params:{\r\n priceListId:priceListId,\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString:searchString,\r\n OrderByString:orderBy,\r\n FilterString:filterlist\r\n\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const removePriceListDetail= (removelist) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListDetailApis.browse,\r\n method: \"delete\",\r\n data:removelist\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n\r\n\r\nexport const getEditablecolumns= () => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListDetailApis.editable,\r\n method: \"get\",\r\n\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const postPriceListDetail= (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListDetailApis.browse,\r\n method: \"post\",\r\n data:data\r\n\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const putPriceListDetail= (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListDetailApis.browse,\r\n method: \"put\",\r\n data:data\r\n\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const postPriceListDetailBulkAddApi= (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListDetailApis.bulk,\r\n method: \"post\",\r\n data:data,\r\n params:{\r\n Confirm:false\r\n }\r\n\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const putPriceListDetailBatchApi= (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListDetailApis.batch,\r\n method: \"put\",\r\n data:data\r\n\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\nexport const getItemPriceTree = (id: any,isWarehouseItem ,warehouseDetailId ,hasPriceUnit,priceListId ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListDetailApis.itemsTree,\r\n method: \"get\",\r\n params: {\r\n hasPriceListUnitOnly:hasPriceUnit,\r\n priceListId:priceListId,\r\n ParentId: null ,\r\n warehouseId: isWarehouseItem? (id==\"allWarehouses\"? null: id ): null\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\nexport const getItemPriceList = (id: any,isWarehouseItem ,warehouseDetailId ,pageNumber,pageSize,orderByString,searchString,filterString,hasPriceUnit,priceListId) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.PriceListDetailApis.itemsPaging,\r\n method: \"get\",\r\n params: {\r\n hasPriceListUnitOnly:hasPriceUnit,\r\n priceListId:priceListId,\r\n ParentId: null ,\r\n warehouseId: isWarehouseItem? id : null,\r\n PageNumber:pageNumber,\r\n PageSize:pageSize,\r\n OrderByString:orderByString,\r\n SearchString:searchString,\r\n FilterString:filterString,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});","import { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { SwitchBtn } from \"components/SwitchBtn/SwitchBtn\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { getPageSize, trans } from \"utils/helpers\";\r\nimport { getItemPriceList, getItemPriceTree } from \"./api\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface Prop {\r\n itemCodeHandeler: (e, bool,hasPriceUnit) => void;\r\n onHide: () => void;\r\n warehouseId?: any;\r\n warehouseDetailId?: any;\r\n priceListId?: any;\r\n isWarehouseItem?: boolean;\r\n defualtHasPriceUnit?: boolean;\r\n}\r\n\r\nexport const ItemsForPriceList = ({\r\n itemCodeHandeler,\r\n isWarehouseItem,\r\n defualtHasPriceUnit,\r\n warehouseId,\r\n warehouseDetailId,\r\n priceListId,\r\n onHide,\r\n}: Prop) => {\r\n const [data, setData] = useState();\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [selectedObj, setSelectedObj] = useState();\r\n const [idCallback, setIdCallback] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [message, setMessage] = useState(\"NoDataForPreview\");\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pages, setPages] = useState(0);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [showMode, setShowMode] = useState(false);\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [hasPriceUnit, setHasPriceUnit] = useState(defualtHasPriceUnit);\r\n\r\n\r\n const setselecetrow = (e) => {\r\n setSelectedObj(e);\r\n };\r\n const sendTreeCode = (e, obj = selectedObj) => {\r\n e?.preventDefault();\r\n e?.stopPropagation();\r\n if (obj) { \r\n itemCodeHandeler(obj, !showMode,hasPriceUnit);\r\n } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\");\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning);\r\n\r\n }\r\n };\r\n\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n setSelectedObj(null);\r\n if (str === \"\") {\r\n setSearch(null);\r\n getItemsForPriceListAsync(1);\r\n } else {\r\n setSearch(str);\r\n getItemsForPriceListAsync(1);\r\n }\r\n };\r\n\r\n const handlechangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"ItemsForPriceList2\", e.currentTarget.value);\r\n getItemsForPriceListAsync(1);\r\n };\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) {\r\n } else setPageNum(+value);\r\n getItemsForPriceListAsync(+value);\r\n } else {\r\n }\r\n };\r\n const handleNextPage = () => {\r\n if (pageNum < pages) {\r\n setPageNum(pageNum + 1);\r\n getItemsForPriceListAsync(pageNum + 1);\r\n }\r\n };\r\n const handlePrevPage = () => {\r\n if (pageNum > 1) {\r\n setPageNum((pageNum) => {\r\n return +pageNum - 1;\r\n });\r\n getItemsForPriceListAsync(pageNum - 1);\r\n }\r\n };\r\n\r\n \r\n \r\n async function getItemsForPriceListAsync(PageNum = pageNum) {\r\n setLoading(false);\r\n let pageSizeChangedByUser = getPageSize(\"ItemsForPriceList2\");\r\n setPageSize(pageSizeChangedByUser);\r\n\r\n try {\r\n if (showMode) {\r\n const respons = await getItemPriceTree(\r\n warehouseId == \"allWarehouses\" ? null : warehouseId,\r\n isWarehouseItem,\r\n warehouseDetailId,\r\n hasPriceUnit,\r\n priceListId\r\n );\r\n setData(respons.Data);\r\n } else {\r\n const respons = await getItemPriceList(\r\n warehouseId == \"allWarehouses\" ? null : warehouseId,\r\n isWarehouseItem,\r\n warehouseDetailId,\r\n PageNum,\r\n pageSizeChangedByUser,\r\n orderBy.length == 0 ? null : orderBy.join(\",\"),\r\n search,\r\n filterlist,\r\n hasPriceUnit,\r\n priceListId\r\n );\r\n setPages(\r\n respons.Data.TotalRecords > pageSizeChangedByUser\r\n ? Math.ceil(respons.Data.TotalRecords / pageSizeChangedByUser)\r\n : 1\r\n );\r\n setData(respons.Data);\r\n }\r\n } catch (err: any) {\r\n setMessage(err?.data?.Message);\r\n }\r\n setLoading(true);\r\n }\r\n\r\n useEffect(() => {\r\n setData(null);\r\n getItemsForPriceListAsync();\r\n }, [forceUpdate, showMode, search, filterlist, orderBy ,hasPriceUnit]);\r\n\r\n useEffect(() => {\r\n if (idCallback) {\r\n setIdCallback(null);\r\n }\r\n }, [idCallback]);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n {\r\n sendTreeCode(e);\r\n }}\r\n />\r\n {\r\n onHide();\r\n }}\r\n />\r\n
\r\n
\r\n\r\n \r\n {loading ? (\r\n data ? (\r\n <>\r\n {!showMode ? (\r\n
\r\n {data?.Data ? (\r\n {\r\n sendTreeCode(null, e);\r\n }}\r\n selectedRowObjectCallback={setselecetrow}\r\n totalRecords={data.TotalRecords}\r\n pageNum={pageNum}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n handlefiltering={(str) => {\r\n setFilterlist(str);\r\n }}\r\n filterStr={filterlist}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handlechangePageSize}\r\n first={() => {\r\n getItemsForPriceListAsync(pages);\r\n setPageNum(pages);\r\n }}\r\n end={() => {\r\n getItemsForPriceListAsync(1);\r\n setPageNum(1);\r\n }}\r\n handleGoPage={handleGoPage}\r\n />\r\n ) : (\r\n <>\r\n )}\r\n
\r\n ) : (\r\n
\r\n {data && data?.length > 0 && (\r\n {\r\n sendTreeCode(null, e);\r\n }}\r\n getChildrenUrl={\r\n ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi\r\n .PriceListDetailApis.itemsTree\r\n }\r\n theadData={[\r\n \"Id\",\r\n \"ParentId\",\r\n \"Children\",\r\n \"Description\",\r\n \"Code\",\r\n ]}\r\n startIndex={2}\r\n defultparams={{\r\n priceListId:priceListId,\r\n warehouseId: warehouseId\r\n ? warehouseId == \"allWarehouses\"\r\n ? null\r\n : warehouseId\r\n : JSON.parse(localStorage.getItem(\"Inventory\") + \"\")\r\n ?.Id,hasPriceListUnitOnly:hasPriceUnit\r\n }}\r\n Titleparams={\"Description\"}\r\n Childrenparams={\"Children\"}\r\n defultShow={false}\r\n Data={data}\r\n parentName={\"ItemsForPriceList\"}\r\n />\r\n )}\r\n
\r\n )}\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import { SelectBox } from \"components/Select/Select\";\r\nimport { InputHTMLAttributes, useContext, useEffect, useState } from \"react\";\r\nimport { trans, uuidv4 } from \"utils/helpers\";\r\nimport { getWarehouseDictionary } from \"./api\";\r\nimport \"./style.scss\";\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { ItemsForPriceList } from \"pages/InventoryAndSales/Sales/PriceList/components/ItemsForPriceList/ItemsForPriceList\";\r\ninterface WarehouseDictionarySelectProp\r\n extends InputHTMLAttributes {\r\n label?: string;\r\n name: string;\r\n value?: any;\r\n PriceListObj?: any;\r\n mode?: any;\r\n required?: boolean;\r\n Change?: (e) => void;\r\n setSelectedList?: (e) => void;\r\n selectedItemCallBack?: (e) => void;\r\n returnObj?:boolean\r\n}\r\nexport const WarehouseDictionarySelect = ({\r\n setSelectedList,\r\n selectedItemCallBack,\r\n label,\r\n name,\r\n value,\r\n PriceListObj,\r\n mode,\r\n required,\r\n Change,\r\n returnObj\r\n}: WarehouseDictionarySelectProp) => {\r\n const [\r\n optionsWarehouseDictionarySelect,\r\n setOptionsWarehouseDictionarySelect,\r\n ] = useState({});\r\n const [errcode, setErrcode] = useState();\r\n const [Warehouse, setWarehouse] = useState();\r\n const [selectedItemList, setSelectedItemList] = useState([]);\r\n const [selectedItem, setSelectedItem] = useState();\r\n const [showTree, setShowTree] = useState();\r\n const [treeType, setTreeType] = useState();\r\n const [hasPriceListUnitOnly, setHasPriceListUnitOnly] = useState(true);\r\n\r\n const WarehouseDictionarySelectApiAsync = async () => {\r\n try {\r\n const res = await getWarehouseDictionary();\r\n setOptionsWarehouseDictionarySelect({\r\n allWarehouses: { Description: \"allWarehouses\" },\r\n ...res.Data,\r\n });\r\n setSelectedItem({\r\n Id: \"allWarehouses\",\r\n Name: \"allWarehouses\",\r\n })\r\n } catch (error: any) {\r\n setErrcode(error.response.status);\r\n }\r\n };\r\n\r\n function addOption(e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n let Id = Warehouse?.Id\r\n ? Warehouse.Id\r\n : Object.keys(optionsWarehouseDictionarySelect)[0];\r\n let WarehouseDetailId=Warehouse?.WarehouseDetailId??null\r\n if (Id ==\"allWarehouses\" ) {\r\n setSelectedItemList({allWarehouses:{ Id: \"allWarehouses\", Name: \"allWarehouses\" , AllItems: true}});\r\n setSelectedItem({ Id: \"allWarehouses\", Name: \"allWarehouses\" ,AllItems: true});\r\n } else {\r\n console.log(\"ssssss\" ,\r\n WarehouseDetailId,\r\n Id,\r\n selectedItemList\r\n )\r\n if (!Object.values(selectedItemList).find((item:any)=>item.Id==Id &&( !item.WarehouseDetailId || (item.WarehouseDetailId && item.WarehouseDetailId==WarehouseDetailId) ))) {\r\n //شرح شرط: اگر انباری با آیدی مشابه در لیست وجود داشته باشد و این انبار شامل انبار فرعی نباشد امکان اضافه کردن مجدد به لیست وجود ندارد پس انبار اصلی تکراری نخواهیم داشت. مگر اینکه انبار دارای انبار فرعی باشد و در آن مورد نیز تکراری نبودن انبار فرعی برسی میشود به قسمت شرط بعد از (||یا).\r\n setSelectedItemList({\r\n ...selectedItemList,\r\n [uuidv4()]:{ Id: Id,\r\n Name: optionsWarehouseDictionarySelect[Id].Description,\r\n WarehouseDetailId: Warehouse.WarehouseDetailId??null,\r\n AllItems: true,\r\n WarehouseDetail: Warehouse.WarehouseDetail??null}\r\n })\r\n\r\n setSelectedItem({\r\n Id: Id,\r\n Name: optionsWarehouseDictionarySelect[Id].Description,\r\n WarehouseDetailId: Warehouse.WarehouseDetailId??null,\r\n AllItems: true,\r\n WarehouseDetail: Warehouse.WarehouseDetail??null,\r\n });\r\n }\r\n }\r\n }\r\n\r\n async function deleteaOption(Id) {\r\n let data = JSON.parse(JSON.stringify(selectedItemList))\r\n delete data[Id] \r\n setSelectedItemList(data);\r\n\r\n \r\n if (Id == selectedItem.Id) {\r\n setSelectedItem(Object.values(selectedItemList)[0]);\r\n }\r\n }\r\n function SelectItemCode(e ,Id ) {\r\n setTreeType({type:e , Id : Id});\r\n setShowTree(true);\r\n }\r\n useEffect(() => {\r\n WarehouseDictionarySelectApiAsync();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if(returnObj){\r\n setSelectedList && setSelectedList(selectedItemList);\r\n }else{\r\n setSelectedList && setSelectedList(selectedItemList.map((item)=>item.Id));\r\n }\r\n }, [selectedItemList]);\r\n\r\n useEffect(() => {\r\n selectedItemCallBack && selectedItemCallBack(selectedItem);\r\n }, [selectedItem]);\r\n\r\n \r\n const itemCodeHandeler = (obj) => {\r\n \r\n setSelectedItemList({\r\n ...selectedItemList,\r\n [treeType.Id]: {\r\n ...selectedItemList[treeType.Id],\r\n [treeType.type]: obj.Code,\r\n },\r\n });\r\n setShowTree(false);\r\n\r\n };\r\n return (\r\n <>\r\n {showTree && (\r\n setShowTree(false)}\r\n show={showTree}\r\n >\r\n {\r\n setShowTree(false);\r\n }}\r\n itemCodeHandeler={(e,mode,hasPriceUnit)=>{\r\n setHasPriceListUnitOnly(hasPriceUnit)\r\n itemCodeHandeler(e)}}\r\n />\r\n \r\n )}\r\n {label ? (\r\n \r\n ) : null}\r\n {true ? (\r\n <>\r\n \r\n
\r\n {\r\n if (Object.keys(selectedItemList).length == 0) {\r\n setSelectedItem({\r\n Id: e.target.value,\r\n Name: optionsWarehouseDictionarySelect[e.target.value]\r\n .Description,\r\n });\r\n }\r\n setWarehouse({\r\n Id: e.target.value,\r\n Name: optionsWarehouseDictionarySelect[e.target.value]\r\n .Description,\r\n });\r\n e.target.value !=\r\n (value\r\n ? value\r\n : Object.keys(optionsWarehouseDictionarySelect)[0])\r\n ? Change && Change({ [name]: e.target.value })\r\n : Change && Change({ [name]: null });\r\n }}\r\n required={required}\r\n mode={\r\n Object.keys(selectedItemList).find(item=>item=='allWarehouses') ? \"view\" : mode\r\n }\r\n lable=\"Warehouses\"\r\n selectType=\"select\"\r\n value={value}\r\n options={Object.values(optionsWarehouseDictionarySelect).map(\r\n (item: any) => {\r\n return item.Description;\r\n }\r\n )}\r\n val={Object.keys(optionsWarehouseDictionarySelect)}\r\n name={name}\r\n >\r\n
\r\n {optionsWarehouseDictionarySelect[Warehouse?.Id]\r\n ?.WarehouseDetailsCount > 0 && (\r\n
\r\n {\r\n setSelectedItem(prev => {\r\n return {\r\n ...prev,\r\n WarehouseDetailId: e,\r\n WarehouseDetail: obj?.Name,\r\n };\r\n })\r\n setWarehouse((prev) => {\r\n return {\r\n ...prev,\r\n WarehouseDetailId: e,\r\n WarehouseDetail: obj?.Name,\r\n };\r\n });\r\n }}\r\n baseUrl={INVENTORYANDSALES_URL}\r\n endPoint={\r\n ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi\r\n .WarehouseDetail.dictionary\r\n }\r\n // value={\r\n // mode != \"create\" ? selectedObj?.WarehouseDetailId : null\r\n // }\r\n // resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n )}\r\n\r\n
\r\n \r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"submit\"\r\n />\r\n
\r\n \r\n
\r\n {Object.keys(selectedItemList).map((item, index) => (\r\n
\r\n \r\n \r\n {trans(selectedItemList[item].Name)+(selectedItemList[item].WarehouseDetail\r\n ? \" - \" +\r\n selectedItemList[item].WarehouseDetail\r\n : \"\")}\r\n
\r\n {\r\n deleteaOption(item);\r\n }}\r\n >\r\n \r\n
\r\n \r\n
\r\n {\r\n setSelectedItemList({...selectedItemList ,[item]:{... selectedItemList[item] , AllItems: e ,HasPriceListUnitOnly:true} })\r\n }}\r\n type=\"checkradio\"\r\n labelText={trans(\"AllItems\")}\r\n labelFalseText={trans(\"limitedItems\")}\r\n defaultChecked={true}\r\n checked={true}\r\n inputName={\"itemCode\"+item}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {!selectedItemList[item].AllItems && (\r\n <>\r\n \r\n {\r\n setSelectedItemList({\r\n ...selectedItemList,\r\n [item]: {\r\n ... selectedItemList[item],\r\n From: e.target.value,\r\n },\r\n });\r\n }}\r\n textboxName={\"from\"}\r\n textboxType=\"text\"\r\n labelText={\"from\"}\r\n mode={mode}\r\n defaultValue={\r\n selectedItemList[item]?.From\r\n }\r\n />\r\n
\r\n SelectItemCode(\"From\" , item)}\r\n type=\"button\"\r\n className=\"checkButton\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n onClick={(e) => SelectItemCode(\"From\" , item)}\r\n />\r\n
\r\n
\r\n \r\n {\r\n setSelectedItemList({\r\n ...selectedItemList,\r\n [item]: {\r\n ... selectedItemList[item],\r\n To: e.target.value,\r\n },\r\n });\r\n }}\r\n textboxName={\"To\"}\r\n textboxType=\"text\"\r\n labelText={\"To\"}\r\n mode={mode}\r\n defaultValue={\r\n selectedItemList[item]?.To\r\n }\r\n />\r\n \r\n
\r\n SelectItemCode(\"To\" , item)}\r\n type=\"button\"\r\n className=\"checkButton\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n onClick={(e) => SelectItemCode(\"To\" , item)}\r\n />\r\n
\r\n \r\n
\r\n {\r\n setSelectedItemList({...selectedItemList ,[item]:{... selectedItemList[item] , HasPriceListUnitOnly: e} })\r\n }}\r\n labelText={\"hasPriceListUnitOnly\"}\r\n inputName={\"hasPriceUnit\"}\r\n type=\"checkbox\"\r\n mode={\"edit\"}\r\n />\r\n \r\n
\r\n \r\n )}\r\n \r\n\r\n\r\n\r\n \r\n ))}\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n );\r\n};\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getWarehouseDictionary =( async () => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.Warehouse.dictionary,\r\n method: 'get',\r\n params:{\r\n showWarehousesWithWarehouseDetails:true\r\n }\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)","import { useEffect, useRef, useState } from \"react\";\r\nimport { GroupingPriceFunction, trans } from \"utils/helpers\";\r\ninterface PriceInputPropsType {\r\n label: string,\r\n hasBorder?: boolean,\r\n resetForm: boolean,\r\n required?: boolean,\r\n value?: string,\r\n mode?: string,\r\n name: string,\r\n Change?: (e) => void,\r\n onChange?: (e) => void,\r\n}\r\n\r\nexport const PriceInput = ({ label, hasBorder, value, mode ,resetForm,required , name=\"\", Change ,onChange}: PriceInputPropsType) => {\r\n const [valueName, setValueName] = useState();\r\n const [valueNum, setValueNum] = useState('تماس بگیرید');\r\n const [flag, setFlag] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const validRef = useRef(false);\r\n const countRef = useRef(0)\r\n\r\n let optionList : any =[{title:trans(\"CallForPrice\") ,value:-1}]\r\n\r\n\r\n\r\n\r\n const Auto = (e) => {\r\n validRef.current = false\r\n inputIdRef.current.value = e.target.value\r\n if(isNaN(+e.target.value) && !e.target.value.includes(',') ){ \r\n inputRef.current.value =\"\"\r\n }else{\r\n onChange && onChange(e.target.value.replaceAll(',',''))\r\n setValueNum(e.target.value)\r\n setValidat(false)\r\n }\r\n setShow(true)\r\n setFlag(!flag)\r\n\r\n }\r\n\r\n function userSelecter(){\r\n setValeu(optionList[countRef.current],-1)\r\n setShow(false)\r\n }\r\n\r\n const kydown = (event) => { \r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < optionList.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = optionList.length-1;\r\n }\r\n }\r\n document.getElementById(\"PriceInput\"+countRef.current)?.scrollIntoView({behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n }\r\n const CheckPriceList =async (e)=>{\r\n \r\n setTimeout(() => {\r\n \r\n \r\n }, 200);\r\n await delay(200)\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n }\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n\r\n\r\n\r\n const setValeu = (newValue, id) => {\r\n if(inputIdRef != null && inputIdRef.current != null){\r\n validRef.current = true\r\n inputRef.current.value = newValue\r\n inputIdRef.current.value = id;\r\n ((value==null &&id)|| id != value) ? Change&&Change({[name] :id}):Change&&Change({[name]:null});\r\n onChange && onChange({Name:newValue , Id : id})\r\n setFlag(!flag)\r\n setValidat(false)\r\n }\r\n }\r\n useEffect(() => {\r\n if(value){\r\n if(value==\"-1\"){\r\n inputIdRef.current.value = -1\r\n setValueName(trans(\"CallForPrice\"))\r\n setValueNum(trans(\"CallForPrice\"))\r\n }\r\n }else if(value == null){\r\n setValueName(null)\r\n }\r\n }, [value,resetForm]);\r\n\r\n\r\n useEffect(() =>{\r\n if(show ){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n }\r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n },[show ,optionList])\r\n\r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) { \r\n setShow(false);\r\n }\r\n }\r\n\r\n\r\n return (\r\n <>\r\n
\r\n\r\n \r\n {required && *}\r\n \r\n { setShow(true);Auto(e)}} ref={inputRef} list=\"PriceInput\" name=\"browser\" className=\"text-box__box form-control \" type={'text'} id={\"browser\"+name} onMouseDown={(e)=>e.stopPropagation() } onChange={Auto} disabled={mode ==\"view\" ? true : false} />\r\n {\r\n show && \r\n
\r\n {optionList && optionList.map((item , index)=>{\r\n return
{setValeu(item.title,-1);setValueNum(trans(\"CallForPrice\"))}} key={item.value} >{item.title}
\r\n })} \r\n
\r\n } \r\n
\r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n
\r\n
\r\n \r\n )\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { WarehouseDictionarySelect } from \"pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/components/WarehouseDictionarySelect/WarehouseDictionarySelect\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { PriceInput } from \"./PriceInput\";\r\nimport { postPriceListDetailBulkAddApi } from \"./api\";\r\nimport { ItemsForPriceList } from \"../ItemsForPriceList/ItemsForPriceList\";\r\n\r\ninterface Prop {\r\n resetForm?: boolean;\r\n onHide: () => void;\r\n PriceListObj?: any;\r\n haveDetail?: any;\r\n saveWarehouseInPriceList?: any;\r\n mode: string;\r\n reload: () => void;\r\n}\r\n\r\nexport const PriceListDetailBulkAddForm = ({\r\n reload,\r\n onHide,\r\n saveWarehouseInPriceList,\r\n haveDetail,\r\n mode,\r\n PriceListObj,\r\n}: Prop) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n const [all, setAll] = useState();\r\n const [fixedPrice, setFixedPrice] = useState(true);\r\n const [Price, setPrice] = useState(false);\r\n const [showTree, setShowTree] = useState();\r\n const [treeType, setTreeType] = useState();\r\n const [werhoseList, setWerhoseList] = useState([]);\r\n const [selectedWerhose, setSelectedWerhose] = useState([]);\r\n const [itemCodeData, setItemCodeData] = useState({});\r\n const [needToCall, setNeedToCall] = useState(true);\r\n const [unitPriceValue, setUnitPriceValue] = useState(0);\r\n const [hasPriceListUnitOnly, setHasPriceListUnitOnly] = useState(true);\r\n\r\n const itemCodeHandeler = (obj) => {\r\n setLoading(false);\r\n\r\n setItemCodeData({\r\n ...itemCodeData,\r\n [selectedWerhose?.Id]: {\r\n ...itemCodeData[selectedWerhose?.Id],\r\n [treeType]: obj.Code,\r\n },\r\n });\r\n setShowTree(false);\r\n setLoading(true);\r\n };\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n useEffect(() => {\r\n if (Object.values(userChanges).filter((item) => item != null).length > 0) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n } else {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n\r\n const submit = async (event) => {\r\n event.preventDefault();\r\n let warehouseCodes: any = [];\r\n if (Object.keys(werhoseList).length > 0) {\r\n warehouseCodes = Object.values(werhoseList).map((item:any)=>(\r\n {\r\n \"WarehouseId\": item.Id=='allWarehouses'?null:item.Id,\r\n \"WarehouseDetailId\": item.WarehouseDetailId,\r\n \"From\":item.AllItems? null: item.From,\r\n \"To\": item.AllItems? null: item.To,\r\n \"HasPriceListUnitOnly\": item.HasPriceListUnitOnly,\r\n }\r\n ))\r\n } else {\r\n if (event.target?.WarehouseDictionary?.value != \"allWarehouses\") {\r\n warehouseCodes = [\r\n {\r\n HasPriceListUnitOnly:hasPriceListUnitOnly,\r\n WarehouseId: event.target?.WarehouseDictionary?.value,\r\n From: null,\r\n To: null,\r\n },\r\n ];\r\n }\r\n if (event.target?.from?.value || event.target?.To?.value) {\r\n warehouseCodes = [\r\n {\r\n HasPriceListUnitOnly:hasPriceListUnitOnly,\r\n WarehouseId: warehouseCodes?.[0]?.WarehouseId\r\n ? warehouseCodes?.[0]?.WarehouseId\r\n : null,\r\n From: event.target?.from?.value,\r\n To: event.target?.To?.value,\r\n },\r\n ];\r\n }\r\n }\r\n if (fixedPrice) {\r\n let data: any = {\r\n TargetPriceListId: PriceListObj.Id,\r\n warehouseCodes: warehouseCodes,\r\n MinOrderQty:PriceListObj?.HasDetailRange? +event.target.MinOrderQty?.value:0,\r\n saveWarehouseInPriceList: saveWarehouseInPriceList,\r\n MaxOrderQty: (!event.target.MaxOrderQty?.value|| !PriceListObj?.HasDetailRange)\r\n ? null\r\n : +event.target.MaxOrderQty.value,\r\n UnitPrice: needToCall\r\n ? -1\r\n : +unitPriceValue,\r\n DiscountPercent:\r\n event.target?.DiscountPercent?.value == \"\"\r\n ? null\r\n : +event.target?.DiscountPercent?.value,\r\n // RoundingPlace: +event.target?.RoundingPlace?.value,\r\n };\r\n // if(needToCall) delete data?.RoundingPlace\r\n if (werhoseList.length == 1 && werhoseList[0] ==(\"allWarehouses\")) {\r\n if (!all?.allWarehouses || warehouseCodes.length == 0) {\r\n delete data.warehouseCodes;\r\n } else {\r\n data.warehouseCodes = [{\r\n HasPriceListUnitOnly:hasPriceListUnitOnly,\r\n WarehouseId: null,\r\n From: itemCodeData?.allWarehouses?.From,\r\n To: itemCodeData?.allWarehouses?.To,\r\n }];\r\n }\r\n }\r\n try {\r\n await postPriceListDetailBulkAddApi(data);\r\n reload();\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n } catch (error) {}\r\n } else {\r\n let data: any = {\r\n TargetPriceListId: PriceListObj.Id,\r\n SourcePriceListId: event.target?.PriceList.value,\r\n [Price ? \"UnitPrice\" : \"Percent\"]: Price\r\n ? needToCall\r\n ? -1\r\n : +unitPriceValue\r\n : event.target.Percent.value,\r\n DiscountPercent:\r\n event.target?.DiscountPercent?.value == \"\"\r\n ? null\r\n : +event.target?.DiscountPercent?.value,\r\n // \"RoundingPlace\": +event.target?.RoundingPlace?.value,\r\n warehouseCodes: warehouseCodes,\r\n saveWarehouseInPriceList: saveWarehouseInPriceList,\r\n MinOrderQty: PriceListObj?.HasDetailRange ?+event.target.MinOrderQty.value:0,\r\n MaxOrderQty: (!event.target.MaxOrderQty?.value||!PriceListObj?.HasDetailRange)\r\n ? null\r\n : +event.target.MaxOrderQty.value,\r\n };\r\n\r\n if (werhoseList.length == 1 && werhoseList[0] ==(\"allWarehouses\")) {\r\n if (!all?.allWarehouses || warehouseCodes.length == 0) {\r\n delete data.warehouseCodes;\r\n } else {\r\n data.warehouseCodes = [{\r\n HasPriceListUnitOnly:hasPriceListUnitOnly,\r\n WarehouseId: null,\r\n From: itemCodeData?.allWarehouses?.From,\r\n To: itemCodeData?.allWarehouses?.To,\r\n }];\r\n }\r\n }\r\n try {\r\n await postPriceListDetailBulkAddApi(data);\r\n reload();\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n } catch (error) {}\r\n }\r\n };\r\n\r\n function addOption(e) {\r\n setTreeType(e);\r\n setShowTree(true);\r\n }\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setUserChanges({});\r\n }\r\n }, [resetForm]);\r\n return (\r\n <>\r\n {showTree && (\r\n setShowTree(false)}\r\n show={showTree}\r\n >\r\n {\r\n setShowTree(false);\r\n }}\r\n itemCodeHandeler={(e,mode,hasPriceUnit)=>{\r\n setHasPriceListUnitOnly(hasPriceUnit)\r\n itemCodeHandeler(e)}}\r\n />\r\n \r\n )}\r\n\r\n {loading ? (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n {!fixedPrice && (\r\n \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName={\"MinOrderQty\"}\r\n textboxType=\"number\"\r\n resetForm={resetForm}\r\n labelText={\"MinOrderQty\"}\r\n mode={mode}\r\n defaultValue={\r\n itemCodeData?.[selectedWerhose?.Id]?.MinOrderQty\r\n }\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n{/*
\r\n {\r\n setAll({ ...all, [selectedWerhose?.Id]: !e });\r\n }}\r\n type=\"checkradio\"\r\n labelText={trans(\"AllItems\")}\r\n labelFalseText={trans(\"limitedItems\")}\r\n defaultChecked={!all?.[selectedWerhose?.Id]}\r\n checked={!all?.[selectedWerhose?.Id]}\r\n inputName=\"itemCode\"\r\n mode={mode}\r\n />\r\n
*/}\r\n {/* {werhoseList.map(item=>(\r\n
\r\n {all?.[selectedWerhose?.Id] && (\r\n <>\r\n \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n onChange={(e) => {\r\n setItemCodeData({\r\n ...itemCodeData,\r\n [selectedWerhose?.Id]: {\r\n ...itemCodeData[selectedWerhose?.Id],\r\n From: e.target.value,\r\n },\r\n });\r\n }}\r\n textboxName={\"from\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"from\"}\r\n mode={mode}\r\n defaultValue={\r\n itemCodeData?.[selectedWerhose?.Id]?.From\r\n }\r\n />\r\n
\r\n addOption(\"From\")}\r\n type=\"button\"\r\n className=\"checkButton\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n onClick={(e) => addOption(\"From\")}\r\n />\r\n
\r\n
\r\n \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n onChange={(e) => {\r\n setItemCodeData({\r\n ...itemCodeData,\r\n [selectedWerhose?.Id]: {\r\n ...itemCodeData[selectedWerhose?.Id],\r\n To: e.target.value,\r\n },\r\n });\r\n }}\r\n textboxName={\"To\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"To\"}\r\n mode={mode}\r\n defaultValue={\r\n itemCodeData?.[selectedWerhose?.Id]?.To\r\n }\r\n />\r\n
\r\n addOption(\"To\")}\r\n type=\"button\"\r\n className=\"checkButton\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n onClick={(e) => addOption(\"To\")}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n \r\n\r\n\r\n\r\n ))} */}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {!fixedPrice && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n \r\n\r\n {Price || fixedPrice ? (\r\n <>\r\n \r\n {\r\n if (e?.Id == -1) {\r\n setNeedToCall(true);\r\n setUnitPriceValue(-1);\r\n } else {\r\n setNeedToCall(false);\r\n setUnitPriceValue(e);\r\n }\r\n }}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name={\"UnitPrice\"}\r\n resetForm={resetForm}\r\n label={\"UnitPrice\"}\r\n mode={mode}\r\n value={\"-1\"}\r\n />\r\n
\r\n {!needToCall && (\r\n <>\r\n \r\n {\r\n // if(e.target.value.startsWith('-')){\r\n // setUserChanges({...userChanges,DiscountPercent:'0'})\r\n // } // prevent to enter negetiv number\r\n if (+e.target.value > 100) {\r\n setUserChanges({\r\n ...userChanges,\r\n DiscountPercent: \"100\",\r\n });\r\n }\r\n }}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName={\"DiscountPercent\"}\r\n textboxType=\"number\"\r\n max={100}\r\n resetForm={resetForm}\r\n labelText={\"DiscountPercent\"}\r\n mode={mode}\r\n value={userChanges?.DiscountPercent}\r\n defaultValue={\r\n userChanges?.DiscountPercent\r\n ? userChanges?.DiscountPercent\r\n : itemCodeData?.[selectedWerhose?.Id]\r\n ?.DiscountPercent\r\n }\r\n />\r\n
\r\n {/*
\r\n \r\n
*/}\r\n \r\n )}\r\n\r\n {(fixedPrice&&PriceListObj?.HasDetailRange) && (\r\n <>\r\n \r\n {\r\n if (e.target.value.startsWith(\"-\")) {\r\n setUserChanges({\r\n ...userChanges,\r\n MinOrderQty: \"0\",\r\n });\r\n }\r\n }}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={userChanges?.MinOrderQty}\r\n textboxName={\"MinOrderQty\"}\r\n textboxType=\"number\"\r\n resetForm={resetForm}\r\n labelText={\"MinOrderQty\"}\r\n min={0}\r\n mode={mode}\r\n defaultValue={\r\n userChanges?.MinOrderQty\r\n ? userChanges?.MinOrderQty\r\n : itemCodeData?.MinOrderQty\r\n ? itemCodeData?.MinOrderQty\r\n : \"0\"\r\n }\r\n />\r\n
\r\n \r\n {\r\n if (e.target.value.startsWith(\"-\")) {\r\n setUserChanges({\r\n ...userChanges,\r\n MaxOrderQty: \"0\",\r\n });\r\n }\r\n }}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={userChanges?.MaxOrderQty}\r\n textboxName={\"MaxOrderQty\"}\r\n textboxType=\"number\"\r\n resetForm={resetForm}\r\n labelText={\"MaxOrderQty\"}\r\n min={0}\r\n mode={mode}\r\n defaultValue={\r\n userChanges?.MaxOrderQty\r\n ? userChanges?.MaxOrderQty\r\n : itemCodeData?.MaxOrderQty\r\n ? itemCodeData?.MaxOrderQty\r\n : null\r\n }\r\n />\r\n \r\n \r\n )}\r\n \r\n ) : (\r\n <>\r\n \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName={\"Percent\"}\r\n textboxType=\"number\"\r\n resetForm={resetForm}\r\n labelText={\"Percent\"}\r\n mode={mode}\r\n defaultValue={itemCodeData?.DiscountPercent}\r\n />\r\n \r\n \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName={\"DiscountPercent\"}\r\n textboxType=\"number\"\r\n resetForm={resetForm}\r\n labelText={\"DiscountPercent\"}\r\n mode={mode}\r\n defaultValue={itemCodeData?.DiscountPercent}\r\n />\r\n \r\n\r\n {/*
\r\n \r\n
*/}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n\r\n {mode != \"view\" ? (\r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n )}\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { Button } from 'components/Button/Button';\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { PriceInput } from \"./PriceInput\";\r\nimport { putPriceListDetailBatchApi } from './api';\r\nimport { FormWithTitle } from 'components/FormWithTitle/FormWithTitle';\r\nimport { Message } from 'components/Message/Message';\r\n\r\ninterface Prop {\r\n resetForm?: boolean,\r\n onHide: () => void,\r\n PriceListObj?: any,\r\n mode:string,\r\n reload:()=>void,\r\n}\r\n\r\nexport const PriceListGroupEditForm = ({ reload,onHide, mode ,PriceListObj}: Prop) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [Price,setPrice] = useState(false)\r\n const [needToCall,setNeedToCall] = useState(false)\r\n\r\n\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n\r\n\r\n const submit = async(event) => {\r\n event.preventDefault();\r\n let data:any ={\r\n \"PriceListId\": PriceListObj.Id,\r\n [Price ? \"UnitPrice\":\"Percent\"] : Price ? +event.target.Price.value :event.target.Percent.value,\r\n \"DiscountPercent\":( event.target.DiscountPercent.value ==\"\" ) ? null : +event.target.DiscountPercent.value ,\r\n \"RoundingPlace\": +event.target?.RoundingPlace?.value,\r\n \"MinOrderQty\":PriceListObj?.HasDetailRange ? +event.target.MinOrderQty.value : 0,\r\n MaxOrderQty:(PriceListObj?.HasDetailRange&& event.target.MaxOrderQty?.value!=\"\")? event.target.MaxOrderQty.value : null,\r\n\r\n }\r\n if(needToCall) delete data.RoundingPlace\r\n \r\n try {\r\n await putPriceListDetailBatchApi(data)\r\n reload()\r\n onHide()\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n } catch (error) {\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide()\r\n }\r\n }\r\n\r\n\r\n useEffect(()=>{\r\n if(resetForm){\r\n setUserChanges({})\r\n }\r\n },[resetForm])\r\n return (\r\n <> \r\n \r\n \r\n <> \r\n
\r\n {PriceListObj?.HasDetailRange&&\r\n \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} onChange={(e) => {\r\n if (e.target.value.startsWith(\"-\")) {\r\n setUserChanges({\r\n ...userChanges,\r\n MinOrderQty: \"0\",\r\n });\r\n }\r\n }} textboxName={\"MinOrderQty\"} textboxType=\"number\" resetForm={resetForm} labelText={\"MinOrderQty\"} mode={mode} defaultValue={userChanges?.MinOrderQty??'0'} /> \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n onChange={(e) => {\r\n if (e.target.value.startsWith(\"-\")) {\r\n setUserChanges({\r\n ...userChanges,\r\n MaxOrderQty: \"0\",\r\n });\r\n }\r\n }}\r\n textboxName={\"MaxOrderQty\"} textboxType=\"number\" resetForm={resetForm} labelText={\"MaxOrderQty\"} mode={mode} \r\n defaultValue={userChanges?.MaxOrderQty??'0'}\r\n /> \r\n
\r\n
\r\n
\r\n } \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {(Price)?\r\n <>\r\n
\r\n {if(e?.Id==-1){setNeedToCall(true)}else{setNeedToCall(false)} }} Change={(e)=>{setUserChanges({...userChanges , ...e})}} name={\"Price\"} resetForm={resetForm} label={\"Price\"} mode={mode} value={ \"\"} /> \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} textboxName={\"DiscountPercent\"} textboxType=\"number\" resetForm={resetForm} labelText={\"DiscountPercent\"} mode={mode} defaultValue={\"\"} /> \r\n
\r\n {!needToCall &&\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n } \r\n\r\n \r\n :\r\n <>\r\n
\r\n {\r\n // if(e.target.value.startsWith('-')){\r\n // setUserChanges({...userChanges,DiscountPercent:'0'})\r\n // } // prevent to enter negetiv number\r\n if (+e.target.value > 100) {\r\n setUserChanges({\r\n ...userChanges,\r\n Percent: \"100\",\r\n });\r\n }\r\n }}\r\n \r\n Change={(e)=>{setUserChanges({...userChanges , ...e})}} textboxName={\"Percent\"} textboxType=\"number\" resetForm={resetForm} labelText={\"Percent\"} mode={mode} defaultValue={userChanges.Percent} /> \r\n
\r\n
\r\n {\r\n // if(e.target.value.startsWith('-')){\r\n // setUserChanges({...userChanges,DiscountPercent:'0'})\r\n // } // prevent to enter negetiv number\r\n if (+e.target.value > 100) {\r\n setUserChanges({\r\n ...userChanges,\r\n DiscountPercent: \"100\",\r\n });\r\n }\r\n }}\r\n Change={(e)=>{setUserChanges({...userChanges , ...e})}} textboxName={\"DiscountPercent\"} textboxType=\"number\" resetForm={resetForm} labelText={\"DiscountPercent\"} mode={mode} defaultValue={userChanges.DiscountPercent} /> \r\n
\r\n
\r\n \r\n
\r\n \r\n }\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n { mode !=\"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n } \r\n
\r\n \r\n \r\n \r\n )\r\n}","import { DataGridEditable } from \"components/DataGridEditable/DataGridEditable\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\nimport {\r\n getEditablecolumns,\r\n getPriceListDetail,\r\n postPriceListDetail,\r\n putPriceListDetail,\r\n removePriceListDetail,\r\n} from \"./api\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { PriceListDetailBulkAddForm } from \"./PriceListDetailBulkAdd\";\r\nimport { PriceListGroupEditForm } from \"./PriceListGroupEditForm\";\r\nimport { MessageType } from \"types/enum\";\r\ninterface props {\r\n PriceListObj: any;\r\n}\r\n\r\nexport const PriceListDetail = ({ PriceListObj }: props) => {\r\n const [loading, setLoading] = useState(false);\r\n const EditType = { False:0,All: 1, SingleRow: 2,Columns:3 };\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [response, setResponse] = useState(null);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pages, setPages] = useState(0);\r\n const [search, setSearch] = useState(null);\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [showForm, setShowForm] = useState(false);\r\n const [mode, setMode] = useState();\r\n const [editAllGrid, setEditAllGrid] = useState(false);\r\n const [showGroupEdit, setShowGroupEdit] = useState(false);\r\n const [editablecolumns, setEditablecolumns] = useState(false);\r\n const [showPriceListBulkAdd, setShowPriceListBulkAdd] = useState(false);\r\n const [changedDataObj, setChangedDataObj] = useState(null);\r\n const [selectList, setSelectList] = useState([]);\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n\r\n const [resetMultiSelect, setResetMultiSelect] = useState(false);\r\n\r\n const getEditablecolumnsAsync = async () => {\r\n try {\r\n const res = await getEditablecolumns();\r\n setEditablecolumns(res.Data);\r\n } catch (error) {}\r\n };\r\n const changeingData = (data) => {\r\n if (data && Object.keys(data).length > 0) {\r\n setChangedDataObj(data);\r\n } else {\r\n setChangedDataObj(null);\r\n }\r\n };\r\n const saveChangeingData = async () => {\r\n if (Object.keys(changedDataObj).length > 0) {\r\n let PostlistData: any = [];\r\n let PutlistData: any = [];\r\n\r\n Object.keys(changedDataObj).map((item) => {\r\n if (changedDataObj[item].Id == null) {\r\n let data = {\r\n ...changedDataObj[item],\r\n PriceListId: PriceListObj.Id,\r\n };\r\n delete data.Operation;\r\n delete data.SelectAll;\r\n PostlistData.push(data);\r\n } else {\r\n let data = {\r\n ...changedDataObj[item],\r\n PriceListId: PriceListObj.Id,\r\n };\r\n delete data.Operation;\r\n delete data.SelectAll;\r\n PutlistData.push(data);\r\n }\r\n });\r\n try {\r\n if (PostlistData.length > 0) {\r\n \r\n\r\n await postPriceListDetail(PostlistData);\r\n }\r\n } catch (error) {}\r\n if (PutlistData.length > 0) {\r\n await putPriceListDetail(PutlistData);\r\n }\r\n setForceUpdate(!forceUpdate);\r\n setChangedDataObj(null);\r\n\r\n setEditAllGrid(EditType.False);\r\n\r\n try {\r\n } catch (error) {}\r\n }\r\n };\r\n\r\n const selectedIdCallback = (obj) => {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // setSelectedObj(obj);\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n setSelectedObj(obj);\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n });\r\n } else {\r\n setSelectedObj(obj);\r\n }\r\n };\r\n\r\n const handleNextPage = () => {\r\n if (pageNum < pages) {\r\n setPageNum(pageNum + 1);\r\n getPriceListDetailAsync(pageNum + 1);\r\n }\r\n };\r\n\r\n const handlePrevPage = () => {\r\n if (pageNum > 1) {\r\n setPageNum((pageNum) => {\r\n return +pageNum - 1;\r\n });\r\n getPriceListDetailAsync(pageNum - 1);\r\n }\r\n };\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(+e.currentTarget.value);\r\n getPageSize(\"PriceListDetail\", e.currentTarget.value);\r\n getPriceListDetailAsync(1);\r\n };\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) {\r\n } else {\r\n setPageNum(+value);\r\n getPriceListDetailAsync(+value);\r\n }\r\n } else {\r\n }\r\n };\r\n\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n if (str == \"\") {\r\n setSearch(null);\r\n } else {\r\n setSearch(str);\r\n }\r\n };\r\n\r\n const handleCreate = () => {\r\n setMode(\"create\");\r\n setShowPriceListBulkAdd(true);\r\n };\r\n const handleEditRow = () => {\r\n setMode(\"edit\");\r\n setShowForm(true);\r\n };\r\n\r\n async function getPriceListDetailAsync(PageNum = pageNum) {\r\n setLoading(false);\r\n setResponse(null);\r\n let pageSizeChangedByUser = getPageSize(\"PriceListDetail\");\r\n setPageSize(pageSizeChangedByUser);\r\n try {\r\n await getEditablecolumnsAsync();\r\n const res = await getPriceListDetail(\r\n PriceListObj.Id,\r\n PageNum,\r\n pageSizeChangedByUser,\r\n orderBy.length == 0 ?null: orderBy.join(\",\"),\r\n search,\r\n filterlist\r\n );\r\n setPages(\r\n res.Data.TotalRecords > pageSizeChangedByUser\r\n ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser)\r\n : 1\r\n );\r\n setResponse(res.Data);\r\n setMessageType(\"info\");\r\n } catch (error) {\r\n setMessageType(\"error\");\r\n }\r\n setLoading(true);\r\n }\r\n const handleRemove = async (id = \"\") => {\r\n if (id) {\r\n setLoading(false);\r\n try {\r\n const res = await removePriceListDetail([id]);\r\n setForceUpdate(!forceUpdate);\r\n } catch (error) {}\r\n setLoading(true);\r\n } else {\r\n let removeListId = selectList.map((item) => {\r\n return item.Id;\r\n });\r\n setLoading(false);\r\n try {\r\n const res = await removePriceListDetail(removeListId);\r\n setForceUpdate(!forceUpdate);\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n };\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\":\r\n alert(\"print\");\r\n break;\r\n case \"excel\":\r\n downloadCSV(response?.Data, 1, trans(\"PriceListDetail\"));\r\n break;\r\n case \"refresh\":\r\n setForceUpdate(!forceUpdate);\r\n setEditAllGrid(EditType.False)\r\n break;\r\n case \"edit\":\r\n if (selectedObj) {\r\n setEditAllGrid(EditType.SingleRow);\r\n }\r\n break;\r\n case \"create\":\r\n handleCreate();\r\n break;\r\n case \"editgrid\":\r\n setEditAllGrid(EditType.All);\r\n break;\r\n case \"groupedit\":\r\n setShowGroupEdit(true);\r\n break;\r\n case \"help\":\r\n alert(\"call api help\");\r\n break;\r\n case \"save\":\r\n saveChangeingData();\r\n break;\r\n case \"remove\":\r\n if (selectList.length > 0) {\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\", \"alert\", handleRemove);\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete, handleRemove);\r\n\r\n } else {\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\", \"alert\", () =>\r\n // handleRemove(selectedObj?.Id)\r\n // );\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete, () =>\r\n handleRemove(selectedObj?.Id)\r\n );\r\n }\r\n break;\r\n case \"cancel\":\r\n setChangedDataObj(null);\r\n setEditAllGrid(EditType?.False);break;\r\n }\r\n };\r\n const selectListCallBack = (list) => {\r\n setSelectList(list[1]);\r\n };\r\n\r\n useEffect(() => {\r\n if (PriceListObj) getPriceListDetailAsync();\r\n }, [forceUpdate, search , orderBy ,filterlist]);\r\n\r\n return (\r\n <>\r\n {showPriceListBulkAdd && (\r\n setShowPriceListBulkAdd(false)}\r\n show={showPriceListBulkAdd}\r\n >\r\n 0 && response.TotalRecords > 0}\r\n reload={() => {\r\n setForceUpdate(!forceUpdate);\r\n setShowPriceListBulkAdd(false);\r\n }}\r\n mode={mode}\r\n onHide={() => {\r\n setShowPriceListBulkAdd(false);\r\n }}\r\n PriceListObj={PriceListObj}\r\n />\r\n \r\n )}\r\n {showGroupEdit && (\r\n setShowGroupEdit(false)}\r\n show={showGroupEdit}\r\n >\r\n {\r\n setForceUpdate(!forceUpdate);\r\n setShowGroupEdit(false);\r\n }}\r\n mode={mode}\r\n onHide={() => {\r\n setShowGroupEdit(false);\r\n }}\r\n PriceListObj={PriceListObj}\r\n />\r\n \r\n )}\r\n\r\n \r\n
\r\n
\r\n
\r\n {loading ? (\r\n response?.Data?.length > 0 ? (\r\n {setOrderBy(order) }:undefined}\r\n orderFormatList={orderBy}\r\n handlefiltering={changedDataObj==null ? (str)=>{setFilterlist(str) }:undefined}\r\n filterStr={filterlist}\r\n editAllGrid={editAllGrid}\r\n editablecolumns={editablecolumns}\r\n setEditAllGrid={setEditAllGrid}\r\n multiSelect={true}\r\n selectList={selectListCallBack}\r\n resetMultiSelect={resetMultiSelect}\r\n mode={mode}\r\n handleDelete={handleRemove}\r\n showForm={showForm}\r\n defaultValueOption={{ \"-1\": trans(\"CallForPrice\") }}\r\n columnsWithOption={[\"Price\"]}\r\n parentName={\"BulletinPriceListDetail\"}\r\n startIndex={6}\r\n theadData={Object.keys(response.Data[0])}\r\n tbodyData={response.Data}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedIdCallback}\r\n totalRecords={response.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() => {\r\n getPriceListDetailAsync(pages);\r\n setPageNum(pages);\r\n }}\r\n end={() => {\r\n getPriceListDetailAsync(1);\r\n setPageNum(1);\r\n }}\r\n handleGoPage={handleGoPage}\r\n />\r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import { Button } from \"components/Button/Button\"\r\nimport Datepicker from \"components/DatePicker/DatePicker\"\r\nimport { Textbox } from \"components/Textbox/Textbox\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { trans } from \"utils/helpers\"\r\n\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\"\r\nimport { Loading } from \"components/Loading/loading\"\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\"\r\nimport { Toast } from \"components/ToastShow/ToastAlert\"\r\nimport { PriceListAccess } from \"./PriceListAccess\"\r\n\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\"\r\nimport { clonePriceList, getPriceListConstraint, getPriceListId, sendPriceList } from \"../api\"\r\nimport { CustomerDictionary } from \"../../SalesInvoice/components/CustomerDictionary/CustomerDictionary\"\r\nimport { CurrencyDictionary } from \"./CurrencyDictionary/CurrencyDictionary\"\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\"\r\nimport { MessageType } from \"types/enum\"\r\n\r\ninterface props {\r\n mode: any\r\n showForm: (e:boolean) => void\r\n selectedObj: any\r\n}\r\n\r\nexport const PriceListForm = ({ mode, showForm, selectedObj }: props) => {\r\n\r\n const [fromDate, setFromDate] = useState(null);\r\n const [untilDate, setUntilDate] = useState(null);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [showAccess, setShowAccess] = useState(false);\r\n const [PriceListData, setPriceListData] = useState(false);\r\n const [converted, setConverted] = useState(false);\r\n const [loading , setLoading] = useState(mode==\"create\");\r\n const [userChanges, setUserChanges] = useState({});\r\n const [constraint, setConstraint] = useState({});\r\n const [flag,setFlag] = useState(false);\r\n\r\n\r\n const myform = useRef(null);\r\n\r\n\r\n async function sendDataAsync(data, method) {\r\n try {\r\n if(mode==\"copy\"){\r\n delete data.PriceList.Id\r\n delete data.PriceList.ActivityStatus\t\r\n const res = await clonePriceList(data, selectedObj.Id);\r\n }else{\r\n const res = await sendPriceList(data, method);\r\n }\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(true)\r\n } catch (err: any) {\r\n\r\n }\r\n }\r\n\r\n \r\n async function getDataAsync(id) {\r\n setLoading(false)\r\n try {\r\n const resConstraint = await getPriceListConstraint(id);\r\n setConstraint(resConstraint.Data)\r\n const res = await getPriceListId(id);\r\n\r\n if(mode==\"copy\"){\r\n setResponse({...res.Data ,Title:trans(\"copy\")+\" \"+ res.Data.Title , TitleEN:trans(\"copy\")+\" \"+ res.Data.TitleEN })\r\n }else{\r\n setResponse(res.Data)\r\n }\r\n } catch (err: any) {\r\n\r\n }\r\n setLoading(true)\r\n\r\n }\r\n\r\n \r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n setUserChanges({})\r\n showForm(false)\r\n });\r\n }else{\r\n showForm(false) \r\n };\r\n\r\n\r\n }\r\n\r\n function accessDatahandler(data) {\r\n let formdata: any = {\r\n\r\n PriceList : PriceListData,\r\n PriceListAccesses : data\r\n }\r\n if (mode == \"create\") {\r\n\r\n\r\n sendDataAsync(formdata, \"post\")\r\n } else {\r\n if(mode==\"copy\"){\r\n sendDataAsync(formdata, \"put\")\r\n\r\n }else{\r\n\r\n sendDataAsync(PriceListData, \"put\")\r\n }\r\n }\r\n }\r\n\r\n const validationDates = () =>{\r\n if(fromDate && untilDate && fromDate?.toString().slice(0,10) > untilDate?.toString().slice(0,10)){\r\n setFlag(true)\r\n }else{\r\n setFlag(false)\r\n }\r\n }\r\n\r\n const handleSubmit = (event) => {\r\n event.preventDefault()\r\n if(flag){\r\n // Toast(trans(\"InvalidEndDate\"),\"error\");\r\n Toast(trans(\"InvalidEndDate\"),MessageType.error);\r\n\r\n }else{\r\n setConverted(true)\r\n\r\n if (mode == \"create\") {\r\n const data = {\r\n TitleEN: event.target.TitleEN.value,\r\n Title: event.target.Title.value,\r\n Description: event.target.Description.value,\r\n CurrencyId: event.target.CurrencyId.value,\r\n StartDate: fromDate,\r\n EndDate: untilDate,\r\n IsDefault: event.target.IsDefault.checked,\r\n SaveWarehouseId: event.target.SaveWarehouseId.checked,\r\n IsPublic: event.target.IsPublic.checked,\r\n IsManual: event.target.IsManual.checked,\r\n HasDetailRange: event.target.HasDetailRange.checked,\r\n }\r\n if (event.target.IsPublic.checked) {\r\n \r\n\r\n sendDataAsync({\r\n PriceList : data,\r\n PriceListAccesses : []\r\n }, \"post\")\r\n \r\n } else {\r\n setPriceListData(data)\r\n setShowAccess(true)\r\n }\r\n\r\n \r\n } else {\r\n\r\n const data = {\r\n Id: selectedObj.Id,\r\n Title: event.target.Title.value,\r\n TitleEN: event.target.TitleEN.value,\r\n Description: event.target.Description.value,\r\n CurrencyId: event.target.CurrencyId.value,\r\n StartDate: fromDate,\r\n EndDate: untilDate,\r\n IsDefault: event.target.IsDefault.checked,\r\n SaveWarehouseId: event.target.SaveWarehouseId.checked,\r\n IsPublic: event.target.IsPublic.checked,\r\n IsManual: event.target.IsManual.checked,\r\n ActivityStatus: +event.target.ActivityStatus.value,\r\n HasDetailRange: event.target.HasDetailRange.checked,\r\n }\r\n \r\n if (event.target.IsPublic.checked) {\r\n if(mode==\"copy\"){\r\n\r\n sendDataAsync({\r\n PriceList : data,\r\n PriceListAccesses : []\r\n }, \"put\")\r\n }else{\r\n sendDataAsync(data, \"put\")\r\n\r\n }\r\n } else {\r\n setPriceListData(data)\r\n setShowAccess(true) \r\n }\r\n }\r\n }\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getDataAsync(selectedObj.Id)\r\n }\r\n }, [selectedObj]);\r\n\r\n\r\n\r\n useEffect(()=>{\r\n validationDates()\r\n },[untilDate,fromDate])\r\n\r\n\r\n\r\n \r\n\r\n return (\r\n <>\r\n
\r\n {showAccess &&\r\n setShowAccess(false)} show={showAccess}>\r\n \r\n \r\n }\r\n {loading ?\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n labelText=\"Title\"\r\n textboxName=\"Title\"\r\n resetForm={resetForm}\r\n defaultValue={response?.Title}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n labelText=\"TitleEN\"\r\n textboxName=\"TitleEN\"\r\n resetForm={resetForm}\r\n defaultValue={response?.TitleEN}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n lable=\"FromDate\"\r\n maxDate={constraint?.FirstUsedDate}\r\n setIsoTime={(isoTime: string) => { setFromDate(isoTime) }}\r\n val={response?.StartDate ? response?.StartDate : null}\r\n errorFlag={flag}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n lable=\"untildate\"\r\n setIsoTime={(isoTime: string) => { setUntilDate(isoTime) }}\r\n val={response?.EndDate ? response?.EndDate : null}\r\n mode={mode}\r\n minDate={constraint?.LastUsedDate}\r\n resetForm={resetForm}\r\n errorFlag={flag}\r\n />\r\n
\r\n {mode !=\"create\" &&\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n name=\"ActivityStatus\"\r\n label=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={response?.ActivityStatus}\r\n mode={mode}\r\n />\r\n
\r\n } \r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"textarea\"\r\n labelText=\"Description\"\r\n textboxName=\"Description\"\r\n resetForm={resetForm}\r\n defaultValue={response?.Description}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={response ? response?.IsManual : false}\r\n defaultValue={response ? response?.IsManual : false}\r\n labelText={trans(\"IsManual\") }\r\n inputName={\"IsManual\"}\r\n readOnly={constraint?.HasRelation ||constraint?.HasDetail }\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={response ? response?.IsPublic : true}\r\n defaultValue={response ? response?.IsPublic : true}\r\n labelText={trans(\"role\")+\" \"+ trans(\"IsPublic\") }\r\n inputName={\"IsPublic\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
\r\n\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={response?.IsDefault}\r\n defaultValue={response?.IsDefault}\r\n labelText={\"IsDefault\"}\r\n inputName={\"IsDefault\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
\r\n \r\n\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={response?.SaveWarehouseId}\r\n defaultValue={response?.SaveWarehouseId}\r\n labelText={\"saveWarehouseInPriceList\"}\r\n inputName={\"SaveWarehouseId\"}\r\n type=\"checkbox\"\r\n mode={mode==\"create\"?\"create\" : \"view\"}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={response ? response?.HasDetailRange : false}\r\n defaultValue={response ? response?.HasDetailRange : false}\r\n labelText={trans(\"HasDetailRange\") }\r\n inputName={\"HasDetailRange\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
\r\n \r\n
\r\n {mode !== \"view\" ?\r\n
\r\n
\r\n
\r\n
\r\n :\r\n
\r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n\r\n : \r\n }\r\n
\r\n )\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport debounce from \"lodash.debounce\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { PostReminder, getPerson } from \"./api\";\r\nimport \"./style.scss\";\r\nimport { MessageType } from \"types/enum\";\r\ninterface GroupPositionPropsType {\r\n onHide: () => void\r\n label?: string,\r\n hasBorder?: boolean,\r\n TextBoxName: string,\r\n value: string,\r\n SourceId: string\r\n}\r\ninterface ResultData {\r\n key: string,\r\n text: string,\r\n}\r\ninterface PersonId {\r\n PersonId: string\r\n}\r\nexport const GroupPerson = ({ label, hasBorder, TextBoxName, value, SourceId , onHide}: GroupPositionPropsType) => {\r\n let key, Value;\r\n const [response, setResponse] = useState();\r\n const [reminder , setReminder] = useState();\r\n const [resetForm, setResetForm] = useState(false);\r\n const [resultData, setResultData] = useState([]);\r\n const [isoTime, setIsoTime] = useState(new Date().toISOString());\r\n const [personId, setPersonId] = useState([]);\r\n const [showWrapper, setShowWrapper] = useState(false);\r\n const [selectedItem, setSelectedItem] = useState([]);\r\n const debounceOnAutoCompleteChange = debounce(updateAutoComplete, 600);\r\n const autoCompleteInputRef = useRef(null);\r\n function updateAutoComplete(event) {\r\n get(event.target.value);\r\n }\r\n function setAsAutoCompleteValue(event) {\r\n setSelectedItem((old) => [...old, { key: event.target.getAttribute('data-key'), text: event.target.innerText }])\r\n }\r\n function deleteItemFromSelectedData(event) {\r\n let filteredDataList = selectedItem.filter((item) => {\r\n return item.key !== event.currentTarget.getAttribute(\"data-key\");\r\n })\r\n for (let i = 0; i < filteredDataList.length; i++) {\r\n setPersonId([{ PersonId: filteredDataList[i].key }]);\r\n }\r\n if (filteredDataList.length == 0) {\r\n setPersonId([]);\r\n\r\n }\r\n setSelectedItem(filteredDataList);\r\n }\r\n\r\n\r\n if (showWrapper == true) {\r\n\r\n document.body.addEventListener(\"click\", (e) => {\r\n let wraper = document.querySelector(\".group-person__auto-complete-result-wrapper\");\r\n let input = document.querySelector(\".group-person__auto-complete-input\");\r\n if (e.target !== wraper && e.target !== input) {\r\n setShowWrapper(false);\r\n }\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n setResultData([]);\r\n if (response) {\r\n key = Object.keys(response);\r\n Value = Object.values(response);\r\n for (let j = 0; j < key.length; j++) {\r\n setResultData((old) => [...old, { key: key[j], text: Value[j] }]);\r\n }\r\n }\r\n }, [response]);\r\n\r\n let a: any[] = [];\r\n useEffect(() => {\r\n if (selectedItem.length > personId.length) {\r\n\r\n for (let i = 0; i < selectedItem.length; i++) {\r\n setPersonId([...personId, { PersonId: selectedItem[i].key }])\r\n }\r\n }\r\n\r\n }, [selectedItem])\r\n async function get(val) {\r\n try {\r\n const res = await getPerson(val)\r\n \r\n setResponse(res);\r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n\r\n async function submit(e) {\r\n e.preventDefault();\r\n try {\r\n let a = {\r\n \"Reminder\": {\r\n \"Title\": e.currentTarget.CartableReminder.value,\r\n \"ReminderTime\": isoTime,\r\n \"SourceId\": SourceId,\r\n \"SourceData\" : \"reference\"\r\n },\r\n \"PersonReminders\": personId\r\n }\r\n \r\n await PostReminder(a);\r\n onHide()\r\n setResetForm(true);\r\n setSelectedItem([]);\r\n setPersonId([]);\r\n \r\n } catch (error) {\r\n \r\n }\r\n\r\n }\r\n\r\n return (\r\n <>\r\n {/* \r\n {headerData && } */}\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n setShowWrapper(true)} onChange={debounceOnAutoCompleteChange} name=\"group-person-auto-complete\" id=\"\" autoComplete=\"off\" />\r\n {showWrapper && resultData.length !== 0 &&\r\n
\r\n {resultData.map((item, index) => (\r\n
\r\n {item.text}\r\n
\r\n ))}\r\n
\r\n }\r\n
\r\n
\r\n
\r\n {selectedItem.map((selectedItem, index) => (\r\n
\r\n {selectedItem.text}\r\n
\r\n \r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n setIsoTime(isoTime)} lable={trans(\"calendarReminder\")} type={\"date\"} />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getPerson = (async (search) => await http({\r\n url: ENDPOINTS.BaseInformation.person.dictionary,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n SearchString: search,\r\n }\r\n})\r\n .then((respons) => (respons.data.Data))\r\n)\r\n\r\n\r\n\r\nexport const PostReminder = (async (data) => await http({\r\n url: ENDPOINTS.calendar.reminder.browse,\r\n method: 'post',\r\n data: data\r\n\r\n\r\n})\r\n.then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n }\r\n ))\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DynamicComponentHOC } from \"components/DynamicComponentHOC/DynamicComponentHOC\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport React, { createContext, useEffect, useState } from \"react\";\r\nimport { ProgressBar } from \"react-bootstrap\";\r\nimport { ComponentParams } from \"types/types\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { DYNAMICFORMS } from \"utils/dynamicForms\";\r\nimport {findValueByKey, trans } from \"utils/helpers\";\r\nimport './style.scss';\r\n\r\n\r\ninterface props {\r\n formList: any,\r\n Id: string,\r\n sourceId?: string,\r\n onHide: () => void,\r\n reload?: (e) => void,\r\n closeForm?: () => void,\r\n JobNo?: any\r\n styleCondition?: any\r\n RequesterPositionId?: any\r\n jobId?: any\r\n taskTitle?: any\r\n inDynamicForms?: any;\r\n disable?:boolean;\r\n parentMode?: any;\r\n useGenerate?: any;\r\n SourceData?: any;\r\n buttonPrintObjCallBack?:(any)=>void\r\n\r\n}\r\nexport const passListContext = createContext([]);\r\n\r\nexport const ModalStepper: React.FC = ({SourceData , buttonPrintObjCallBack,RequesterPositionId, parentMode,inDynamicForms=false, JobNo,useGenerate=true,sourceId,formList, taskTitle, disable=false,styleCondition = false, Id, closeForm, onHide, reload ,jobId }) => {\r\n\r\n const [progress, setProgress] = useState(0);\r\n const [counter, setCounter] = useState(0);\r\n const [pass, setPass] = useState();\r\n const [passList, setPassList] = useState([]);\r\n\r\n function addNewPass(e){\r\n if(!passList.includes(e)){\r\n setPassList([...passList , e])\r\n }\r\n }\r\n //const [references, setReferences] = useState([]);\r\n function circleClick(e) {\r\n let complete = formList.length - 1\r\n setProgress((100 / complete) * e)\r\n setCounter(e)\r\n }\r\n\r\n\r\n\r\n function next() {\r\n let complete = formList.length - 1;\r\n setProgress(progress + (100 / complete))\r\n setCounter(counter + 1)\r\n\r\n\r\n\r\n\r\n }\r\n\r\n function prev() {\r\n let complete = formList.length - 1;\r\n setProgress(progress - (100 / complete))\r\n setCounter(counter - 1)\r\n\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n const formListReverc = JSON.parse(JSON.stringify(formList)) \r\n let Tindex:any\r\n formListReverc.reverse().forEach((item, index) => {\r\n if (item.Parameters && item.Parameters != \"\") {\r\n let paramsObject: ComponentParams = JSON.parse(item.Parameters.toLowerCase());\r\n let mode = findValueByKey(paramsObject, \"mode\");\r\n if (mode != \"view\") {\r\n Tindex = index\r\n }\r\n }\r\n });\r\n if(Tindex != undefined){\r\n Tindex = Math.abs((formList.length-1)-Tindex ) \r\n let complete = formList.length - 1\r\n setProgress((100 / complete) * Tindex)\r\n setCounter(Tindex)\r\n setPass(Tindex)\r\n\r\n }else{\r\n Tindex = Math.abs(formList.length ) \r\n setProgress(100 )\r\n setCounter(Tindex-1)\r\n setPass(Tindex)\r\n\r\n\r\n }\r\n }, [formList])\r\n\r\n\r\n\r\n\r\n return (\r\n \r\n
\r\n {formList.length > 1 ?\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n {formList.map((item, index) => (\r\n <>\r\n {item.Name!=\"SignatureForm\" &&<>\r\n {\r\n \r\n index == counter ?\r\n
\r\n
circleClick(index)}>{trans(item.Name==\"WarehouseIOForm\"?JSON.parse(item.Parameters).Type:item.Name.replace(\"Form\",\"\"))}
\r\n
circleClick(index)} >\r\n {\r\n (index < pass ||passList.includes(item.Name)) ?\r\n <>\r\n \r\n \r\n :
circleClick(index)}>
\r\n }\r\n
\r\n\r\n\r\n
\r\n :\r\n
\r\n
circleClick(index)}>{trans(item.Name==\"WarehouseIOForm\"?JSON.parse(item.Parameters).Type:item.Name.replace(\"Form\",\"\"))}
\r\n
circleClick(index)}>\r\n {\r\n (index < pass ||passList.includes(item.Name)) ?\r\n <>\r\n \r\n \r\n :
circleClick(index)}>
\r\n }\r\n
\r\n
\r\n } }\r\n \r\n ))}\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {counter >= 0 &&\r\n <>\r\n {(formList[counter]?.forms&&formList[counter]?.forms.length>0) ?\r\n <>\r\n onHide()} />\r\n\r\n onHide()} />\r\n \r\n :\r\n onHide()} />\r\n\r\n }\r\n\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n\r\n:\r\n<>\r\n {formList && formList[0] ?\r\n
\r\n\r\n{(formList[0]?.forms&&formList[0]?.forms.length>0) ?<>\r\n \r\n onHide()} />\r\n onHide()} />\r\n\r\n :\r\n onHide()} />\r\n}\r\n
\r\n :\r\n \r\n\r\n }\r\n \r\n\r\n\r\n }\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n )\r\n}\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Priority, ReferenceStatus } from \"types/enum\"\r\n\r\n\r\nexport interface Action {\r\n Id?: string,\r\n ReferenceId?: string,\r\n Description?: string,\r\n StartTime?: string,\r\n EndTime?: string,\r\n ActualTime?: number,\r\n Progress?: number\r\n}\r\nexport interface Invoice {\r\n TAS_UID?:string,\r\n Id?: string,\r\n JobId?: string,\r\n InvoiceId?: string,\r\n HasInvoice?: boolean,\r\n InvoiceNumber?: number,\r\n InvoiceDescription?: string,\r\n InvoicePrice?: number,\r\n\r\n}\r\n\r\nexport interface JobDTO {\r\n Id?: string,\r\n PRJ_UID?: any,//fill by processId\r\n Description: string,\r\n PerformerPositionId: string,\r\n RequesterPositionId: string,//fill by current position \r\n Applicant: string,\r\n \r\n}\r\nexport interface GeneralRequestDTO {\r\n Id?: string,\r\n RequestNo?: any,\r\n RequestDate?: string,\r\n Description: string,\r\n RequesterPositionId: string,//fill by current position \r\n Applicant: string,\r\n GeneralRequestClassificationId: string,\r\n \r\n}\r\n\r\nexport interface ReferenceLocalDTO {\r\n AssignType: string,\r\n Id: string,\r\n TAS_UID: string,\r\n JobId: string,\r\n PerformerPositionId?: string,\r\n ReferrerPositionId: string,\r\n ReferenceSubjectId?: string,\r\n Position?: string,\r\n Description?: string,\r\n ReferenceSubject?: string,\r\n Priority?: Priority,\r\n EstimateTime?: number,\r\n DeadLineDate?: string,\r\n HasFollowUp?: boolean,\r\n SecretReference?: boolean,\r\n SendMessageToPerformer?: boolean,\r\n ParentReferenceId?: string,\r\n}\r\nexport interface Reference {\r\n CompanyId?: string,\r\n JobId: string,\r\n TAS_UID: string,\r\n PositionId: string,\r\n RefereePositionId: string,\r\n ReferenceDate: string,\r\n ReferenceSubjectId: string,\r\n Description: string,\r\n Priority: Priority,\r\n EstimateTime?: number,\r\n DeadLineDate?: string,\r\n ReferenceStatus?: ReferenceStatus,\r\n ViewTime?: string,\r\n // FolderId?: string,\r\n HasFollowUp: boolean,\r\n SecretReference: boolean,\r\n OnGoing: boolean // what is this?\r\n}\r\nexport interface SignatureDTO {\r\n Id?: string,\r\n OwnerId: string,\r\n PositionId: string,\r\n SignatureId: string,\r\n TAS_UID: string,\r\n SignatureTime: string,\r\n SignatureDescription: string,\r\n IsSigned: boolean \r\n}\r\n\r\nexport interface ReferenceSubject {\r\n Title: string,\r\n ReferenceSubjectStatus: number\r\n}\r\nexport enum AssignTypes {\r\n MANUAL,\r\n BALANCED,\r\n SELF_SERVICE,\r\n EVALUATE,\r\n REPORT_TO\r\n \r\n}\r\nexport enum CalendarType {\r\n fa,\r\n en,\r\n er\r\n\r\n\r\n}\r\n","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Time } from \"components/Time/Time\";\r\nimport { AssignTypes } from \"pages/OfficeAutomation/Cartable/types\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { trans, uuidv4 } from \"utils/helpers\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\n\r\n\r\nexport const ReferenceForm: React.FC = ({taskMode=false,PositionTitle , taskTitle, jobId, TAS_UID, Id ,PerformerPositionId,ReferrerPositionId,ParentReferenceId,\r\n handleSubmitedData, allFormData, setShowForm, showForm, isAllForms, handleSubmitedDataForAllForms ,assignType }) => {\r\n let data\r\n const [resetForm, setResetForm] = useState(false);\r\n const [fromDate, setFromDate] = useState();\r\n const [actualTimeInputValue, setActualTimeInputValue] = useState(\"00:00\");\r\n const [formData, setFormData] = useState();\r\n const currentFormData = allFormData.find(obj => (obj.Id == Id && obj.TAS_UID == TAS_UID)) \r\n\r\n\r\n\r\n const formSubmit = async (event) => {\r\n event.preventDefault()\r\n let array = actualTimeInputValue.split(\":\");\r\n\r\n\r\n if (!isAllForms) {\r\n data = {\r\n AssignType : AssignTypes[assignType],\r\n ParentReferenceId:ParentReferenceId,\r\n Id: Id?Id: uuidv4(),\r\n TAS_UID,\r\n JobId: jobId,\r\n PerformerPositionId,\r\n ReferrerPositionId,\r\n ReferenceSubjectId: event.target.referenceSubject.value,\r\n Position: event.target.position.value,\r\n Description: event.target.description.value,\r\n ReferenceSubject: event.target.referenceSubject.key,\r\n Priority: +event.target.priority.value,\r\n EstimateTime: +event.target.estimateTime[0].value,\r\n DeadLineDate: fromDate,\r\n HasFollowUp: event.target.hasFollowUp.checked,\r\n SecretReference: event.target.secretReference.checked,\r\n SendMessageToPerformer: event.target.sendMessageToPerformer.checked,\r\n }\r\n await setFormData(data)\r\n } else {\r\n data = {\r\n AssignType : AssignTypes[assignType],\r\n ParentReferenceId:ParentReferenceId,\r\n Id: undefined,\r\n TAS_UID,\r\n JobId: jobId,\r\n PerformerPositionId: undefined,\r\n ReferrerPositionId,\r\n ReferenceSubjectId: event.target.referenceSubject.value,\r\n Position: undefined,\r\n Description: event.target.description.value,\r\n ReferenceSubject: event.target.referenceSubject.key,\r\n Priority: +event.target.priority.value,\r\n EstimateTime: +event.target.estimateTime[0].value,\r\n DeadLineDate: fromDate,\r\n HasFollowUp: event.target.hasFollowUp.checked,\r\n SecretReference: event.target.secretReference.checked,\r\n SendMessageToPerformer: event.target.sendMessageToPerformer.checked,\r\n }\r\n\r\n await setFormData(data)\r\n }\r\n\r\n\r\n await setShowForm(false)\r\n \r\n }\r\n\r\n\r\n const isSubmitted = (formData !== undefined || null) && (isAllForms === false)\r\n\r\n const isAllformSubmitted = (formData !== undefined || null) && (isAllForms === true)\r\n\r\n\r\n useEffect(() => {\r\n if (!isAllForms) { handleSubmitedData(formData, TAS_UID) }\r\n }, [isSubmitted]);\r\n\r\n useEffect(() => {\r\n if (isAllForms) { handleSubmitedDataForAllForms(formData, TAS_UID) }\r\n }, [isAllformSubmitted]);\r\n\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n { setFromDate(isoTime) }}\r\n val={currentFormData?.DeadLineDate ? currentFormData.DeadLineDate :null}\r\n />\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n
\r\n 0? currentFormData.Description : ( taskTitle ?taskTitle :\"\")}\r\n labelText=\"Description\"\r\n />\r\n
\r\n
\r\n
\r\n {!isAllForms &&
\r\n \r\n
}\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\n\r\ninterface ProgresBarTaskProps {\r\n taskList:any,\r\n selectAtLeastOneTask?:boolean,\r\n counter:number,\r\n passList:any,\r\n progress:number,\r\n styleCondition:boolean,\r\n handleCircleClick?:(index:number)=>void\r\n}\r\n\r\nconst ProgresBarTask = ({taskList,styleCondition,progress,passList,counter,selectAtLeastOneTask,handleCircleClick}:ProgresBarTaskProps) => {\r\n return (\r\n
\r\n
\r\n {taskList.map((item: any, index) =>{\r\n\r\n return(\r\n \r\n {item.TaskTitle}\r\n \r\n }\r\n >\r\n
\r\n
handleCircleClick && handleCircleClick(index)}>\r\n {passList && passList[index] && \r\n \r\n }\r\n {index == 0 && !selectAtLeastOneTask ?\r\n <>\r\n
\r\n {passList && passList[index] && index == 0 &&\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n : \r\n <>\r\n }\r\n
\r\n
handleCircleClick && handleCircleClick(index)} key={index}>{item.TaskTitle}
\r\n
\r\n \r\n )\r\n })}\r\n
\r\n
\r\n );\r\n}\r\n \r\nexport default ProgresBarTask;","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { ModalForm, UserContext } from \"components/ModalForm/ModalForm\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { postReferences } from \"pages/OfficeAutomation/Cartable/api/api\";\r\nimport { AssignTypes, ReferenceLocalDTO } from \"pages/OfficeAutomation/Cartable/types\";\r\nimport persian from \"react-date-object/calendars/persian\";\r\nimport persian_fa from \"react-date-object/locales/persian_fa\";\r\nimport React, { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { ProgressBar } from \"react-bootstrap\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { ReferenceForm } from \"../ReferenceForm/ReferenceForm\";\r\nimport { DateObject } from \"react-multi-date-picker\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport ProgresBarTask from \"components/ProgresBarTask/ProgresBarTask\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface props {\r\n pageIndex: number\r\n jobId: string\r\n taskList: any[]\r\n passList: any[]\r\n taskPositionList: ReferenceLocalDTO[]\r\n sendDataToWizard: (fetchedData: any, contentPage: any, status) => void\r\n handlePassStep: (Step, page) => void\r\n styleCondition: boolean\r\n selectAtLeastOneTask: boolean\r\n referenceId: string,\r\n onHide: () => void,\r\n reload?: (e) => void,\r\n\r\n}\r\n\r\nexport const ReferenceContent: React.FC = ({ pageIndex, jobId, selectAtLeastOneTask,taskList, taskPositionList, sendDataToWizard, styleCondition, handlePassStep, passList, referenceId, onHide, reload }) => {\r\n let taskTitle, TAS_UID, assignType, description: string\r\n let tableData: any[] = []\r\n let tableHeadData: string[] = []\r\n\r\n\r\n const [orderFormat, setOrderFormat] = useState();\r\n const [selectedRow, setSelectedRow] = useState({});\r\n const [showForm, setShowForm] = useState(false);\r\n const [references, setReferences] = useState(taskPositionList);\r\n const [activateCheckbox, setActivateCheckbox] = useState([]);\r\n const [checkedData, setCheckedData] = useState({});\r\n const [isAllForms, setIsAllForms] = useState(false);\r\n const [pass, setPass] = useState(true);\r\n const [passList2, setPassList2] = useState(passList);\r\n const [resetMultiSelect, setresetMultiSelect] = useState(false);\r\n const [progress, setProgress] = useState(0);\r\n const [counter, setCounter] = useState(0);\r\n const [search, setSearch] = useState(null);\r\n const [page, setPage] = useState(pageIndex);\r\n const [userMadeChanges, setUserMadeChanges] = useContext(UserContext);\r\n const layoutContext = useContext(LayoutContext);\r\n const ReferrerPositionId = layoutContext.currentUserPosition.PositionId\r\n\r\n const lastStep = (page === taskList.length - 1)\r\n const firstStep = (page === 0)\r\n\r\n\r\n if (taskList[page]) {\r\n taskTitle = taskList[page].TaskTitle\r\n assignType = taskList[page].AssignType\r\n tableData = taskList[page].Positions\r\n //TAS_UID = taskList[page].TaskId\r\n }\r\n\r\n const handleSubmission = async (event) => {\r\n event.preventDefault()\r\n //remove all empty references\r\n if (!references) { // add more rules later for form completion\r\n // Toast(trans('pleaseFillTheForms'), 'warning')\r\n Toast(trans('pleaseFillTheForms'), MessageType.warning)\r\n\r\n } else {\r\n let fillReferences:any = []\r\n references.forEach(item=>{\r\n let obj:any={}\r\n if(item.ReferenceSubjectId != \"\"){\r\n obj.ParentReferenceId = item.ParentReferenceId\r\n obj.JobId = item.JobId\r\n obj.TAS_UID = item.TAS_UID\r\n obj.PerformerPositionId = item.PerformerPositionId\r\n obj.ReferrerPositionId = item.ReferrerPositionId\r\n obj.ReferenceSubjectId = item.ReferenceSubjectId\r\n obj.Description = item.Description\r\n obj.Priority = item.Priority\r\n obj.EstimateTime = item.EstimateTime\r\n obj.DeadLineDate = item.DeadLineDate\r\n obj.HasFollowUp = item.HasFollowUp\r\n obj.SecretReference = item.SecretReference\r\n obj.AssignType = item.AssignType\r\n obj.EstimateTime = item.EstimateTime\r\n\r\n fillReferences.push({Reference:obj,SendMessageToPerformer:item.SendMessageToPerformer})\r\n }\r\n \r\n })\r\n try {\r\n\r\n const res = await postReferences(fillReferences );\r\n\r\n //reload && reload(true)\r\n onHide()\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n\r\n }\r\n }\r\n\r\n\r\n\r\n function sendDataTo(fetchedData, contentPage) {\r\n\r\n let cheklist: any = []\r\n\r\n\r\n fetchedData.map(obj => {\r\n if (obj.TAS_UID === taskList[page].TaskId && obj.ReferenceSubjectId.trim() != \"\") {\r\n cheklist.push({ Id: obj.Id })\r\n\r\n }\r\n\r\n })\r\n if ((assignType == \"SELF_SERVICE\" && cheklist.length == tableData.length) || (assignType != \"SELF_SERVICE\" && cheklist.length > 0)) {\r\n\r\n // setPassList({...passList , [page] : true })\r\n sendDataToWizard(fetchedData, contentPage, true)\r\n } else {\r\n // setPassList({...passList , [page] : false })\r\n sendDataToWizard(fetchedData, contentPage, false)\r\n }\r\n\r\n\r\n }\r\n\r\n function next() {\r\n setresetMultiSelect(!resetMultiSelect)\r\n if (counter <= taskList.length - 2) {\r\n let complete = taskList.length - 1;\r\n setProgress(progress + (100 / complete))\r\n setCounter(old => old + 1);\r\n setPage(prevPage => prevPage + 1)\r\n }\r\n\r\n if (!styleCondition) { (document.querySelector(\".ProgresBarTask-scroll\") as HTMLElement).scrollTop = counter * 100; }\r\n else { (document.querySelector(\".ProgresBarTask-mb-scroll\") as HTMLElement).scrollLeft = counter * 100; }\r\n\r\n\r\n let el = document.querySelectorAll(\".referencewizard-b-icon,.referencewizard-icon\")\r\n\r\n for (let i = 0; i < el.length; i++) {\r\n el[counter].classList.add(\"check\");\r\n }\r\n\r\n sendDataTo(references, page + 1);\r\n }\r\n\r\n function prev() {\r\n setresetMultiSelect(!resetMultiSelect)\r\n if (counter >= 1) {\r\n let complete = taskList.length - 1;\r\n setProgress(progress - (100 / complete))\r\n setCounter(old => old - 1);\r\n setPage(prevPage => prevPage - 1)\r\n\r\n let el = document.querySelectorAll(\".referencewizard-circle\");\r\n for (let i = 0; i < el.length; i++) {\r\n el[counter].classList.remove(\"activeStep\");\r\n }\r\n }\r\n\r\n if (!styleCondition) { (document.querySelector(\".ProgresBarTask-scroll\") as HTMLElement).scrollTop = ((counter - 2) * 100); }\r\n else { (document.querySelector(\".ProgresBarTask-mb-scroll\") as HTMLElement).scrollLeft = (counter - 2) * 100; }\r\n sendDataTo(references, page - 1);\r\n }\r\n\r\n function circleClick(index) {\r\n setresetMultiSelect(!resetMultiSelect)\r\n let icon = document.querySelectorAll(\".referencewizard-b-icon,.referencewizard__icon\")\r\n let circle = document.querySelectorAll(\".referencewizard-circle\");\r\n \r\n \r\n if (counter < index) {\r\n \r\n\r\n let complete = taskList.length - 1\r\n setProgress((100 / complete) * index)\r\n\r\n for (let i = 0; i < icon.length; i++) {\r\n icon[index].classList.add(\"check\");\r\n }\r\n\r\n } else if (counter > index) {\r\n let complete = taskList.length - 1\r\n setProgress((100 / complete) * index)\r\n\r\n for (let i = 0; i < circle.length; i++) {\r\n circle[index + 1].classList.remove(\"activeStep\");\r\n }\r\n }\r\n setCounter(index)\r\n setPage(index)\r\n\r\n sendDataTo(references, index);\r\n }\r\n const clearedRowData = (obj) => {\r\n \r\n return {\r\n AssignType: AssignTypes[assignType],\r\n ParentReferenceId: obj.ParentReferenceId,\r\n JobId: obj.JobId,\r\n TAS_UID: obj.TAS_UID,\r\n Id: obj.Id,\r\n PerformerPositionId: obj.Id,\r\n ReferrerPositionId: layoutContext.currentUserPosition.PositionId ,\r\n ReferenceSubjectId: \"\",\r\n Position: obj.Position,\r\n Description: \"\",\r\n ReferenceSubject: \"\",\r\n Priority: 0,\r\n EstimateTime: 0,\r\n DeadLineDate: \"\",\r\n HasFollowUp: false,\r\n SecretReference: false,\r\n };\r\n }\r\n const checkedRowEventCallback = (checked, obj) => {\r\n\r\n\r\n const isExist = references.some(item => item.Id === obj.Id && item.TAS_UID === obj.TAS_UID)\r\n\r\n if (!checked) {\r\n if (isExist) {\r\n let clearedData = clearedRowData(obj);\r\n\r\n const filteredArray = references.filter(item => item.Id !== obj.Id ||\r\n (item.Id === obj.Id && item.TAS_UID !== obj.TAS_UID))\r\n //remove check of checkBox\r\n let updatedArray = [...filteredArray, clearedData]\r\n tableData = updatedArray\r\n setReferences([...updatedArray])\r\n }\r\n checkAllcheckboxes()\r\n } else {\r\n setIsAllForms(false)\r\n // setShowForm(true)\r\n }\r\n checkAllcheckboxes()\r\n sendDataTo(references, page);\r\n\r\n }\r\n\r\n const listOfCheckedRows = (list) => {\r\n\r\n\r\n //setChecklist(list)\r\n }\r\n\r\n const multiSelectEventCallback = (checked) => {\r\n\r\n if (checked) {\r\n setIsAllForms(true)\r\n setShowForm(true)\r\n } else {\r\n\r\n const filteredArray = references.map(item => {\r\n if (item.TAS_UID == taskList[page].TaskId) {\r\n let clear = clearedRowData(item);\r\n return clear\r\n } else {\r\n return item\r\n }\r\n })\r\n //remove check of checkBox\r\n sendDataTo(filteredArray, page);\r\n setReferences(filteredArray)\r\n setresetMultiSelect(!resetMultiSelect)\r\n }\r\n }\r\n\r\n const onCheckboxClicked = (obj) => {\r\n checkAllcheckboxes()\r\n setCheckedData(obj)\r\n\r\n // setSelectedRow(obj)\r\n }\r\n\r\n const onRowClicked = (obj, index, event) => {\r\n if(obj!=null){\r\n let originalObject = JSON.parse(JSON.stringify(obj)) \r\n originalObject.DeadLineDate = originalObject.DeadLineOriginalDate\r\n if (event?.target?.type != \"checkbox\") {\r\n setSelectedRow(obj);\r\n setIsAllForms(false)\r\n } else {\r\n setresetMultiSelect(!resetMultiSelect)\r\n checkedRowEventCallback(false, obj)\r\n checkAllcheckboxes()\r\n }\r\n\r\n }\r\n };\r\n\r\n const onRowDoubleClick = (obj) => {\r\n // let originalObject = JSON.parse(JSON.stringify(obj)) \r\n // originalObject.DeadLineDate = originalObject.DeadLineOriginalDate\r\n \r\n setSelectedRow(obj);\r\n setIsAllForms(false)\r\n setShowForm(true)\r\n \r\n \r\n };\r\n\r\n\r\n const getWithOrder = (order: string[]) => {\r\n setOrderFormat(order.join(\",\"))\r\n }\r\n\r\n const handleSubmitedData = (receivedData, taskId) => { // handle submitted data from a reference form\r\n setUserMadeChanges(true)\r\n if (receivedData !== undefined) {\r\n const filteredArray = references.filter(obj => obj.PerformerPositionId !== receivedData.PerformerPositionId ||\r\n (obj.PerformerPositionId === receivedData.PerformerPositionId && obj.TAS_UID !== receivedData.TAS_UID))\r\n\r\n let updatedArray = [receivedData, ...filteredArray]\r\n\r\n setReferences([...updatedArray])\r\n setActivateCheckbox([...activateCheckbox ,{ Id: receivedData.PerformerPositionId }])\r\n setSelectedRow(null)\r\n }\r\n\r\n /* let cheklist: any = []\r\n \r\n tableData.map(obj => {\r\n if (obj.TAS_UID === taskList[page].TaskId && obj.ReferenceSubjectId.trim() != \"\") {\r\n cheklist.push({ Id: obj.Id })\r\n \r\n }\r\n \r\n })\r\n if((assignType == \"SELF_SERVICE\" && cheklist.length == tableData.length) || (assignType != \"SELF_SERVICE\" && cheklist.length >0)){\r\n \r\n setPassList2({...passList , [page] : true })\r\n \r\n }else{\r\n setPassList2({...passList , [page] : false })\r\n \r\n }\r\n \r\n \r\n */\r\n\r\n }\r\n\r\n const handleSubmitedDataForAllForms = (receivedData, taskId) => { // handle submitted data when All forms selected\r\n setUserMadeChanges(true)\r\n\r\n if (receivedData !== undefined && isAllForms) {\r\n let updatedArr = tableData.map(obj => {\r\n return {\r\n ...receivedData, Id: obj.Id, PerformerPositionId: obj.PerformerPositionId,\r\n Position: obj.Position\r\n }\r\n })\r\n const filteredArray = references.filter(obj => obj.TAS_UID !== receivedData.TAS_UID);\r\n\r\n setReferences([...filteredArray, ...updatedArr])\r\n sendDataTo([...filteredArray, ...updatedArr], page);\r\n checkAllcheckboxes()\r\n //let updatedArray = [...filteredArray, updatedArr]\r\n // setReferences([...updatedArray])\r\n setActivateCheckbox([{ Id: \"All\" }])\r\n }\r\n\r\n\r\n }\r\n\r\n // const filterDataBasedOnCheckboxList = () => {\r\n // const isSameId = references.some(obj => obj.PerformerPositionId === checkedData.Id && obj.TAS_UID === TAS_UID)\r\n\r\n // if (isSameId) {\r\n // const filteredArray = references.filter(obj => obj.PerformerPositionId !== checkedData.Id && obj.TAS_UID === TAS_UID)\r\n // setReferences(filteredArray)\r\n // } else return\r\n // }\r\n\r\n const checkAllcheckboxes = () => {\r\n\r\n let cheklist: any = []\r\n let pagedata: any = []\r\n tableData.map(obj => {\r\n if (obj.TAS_UID === taskList[page].TaskId && obj.ReferenceSubjectId.trim() != \"\") {\r\n cheklist.push({ Id: obj.Id })\r\n\r\n }\r\n\r\n })\r\n tableData.map(obj => {\r\n if (obj.TAS_UID === taskList[page].TaskId) {\r\n pagedata.push({ Id: obj.Id })\r\n\r\n }\r\n\r\n })\r\n\r\n if ((assignType == \"SELF_SERVICE\" && cheklist.length == tableData.length) || (assignType != \"SELF_SERVICE\" && cheklist.length > 0)) {\r\n\r\n setPassList2({ ...passList, [page]: true })\r\n\r\n } else {\r\n setPassList2({ ...passList, [page]: false })\r\n\r\n }\r\n\r\n\r\n setActivateCheckbox(cheklist)\r\n\r\n\r\n\r\n }\r\n\r\n\r\n useEffect(() => {\r\n checkAllcheckboxes()\r\n }, [references, taskPositionList ])\r\n useEffect(() => {\r\n let checkPassList = 0\r\n // if (Object.keys(passList2).length == taskList.length) {\r\n for (let page in passList2) {\r\n if (passList2[page]) {\r\n checkPassList +=1\r\n }\r\n }\r\n // } else { checkPassList = 0 ; setPass(true)}\r\n if(selectAtLeastOneTask){\r\n \r\n if(checkPassList >0){\r\n setPass(false)\r\n }else{\r\n setPass(true)\r\n }\r\n }else{\r\n if(checkPassList ==taskList.length){\r\n setPass(false)\r\n }else{\r\n setPass(true)\r\n\r\n }\r\n }\r\n \r\n\r\n }, [passList2])\r\n\r\n // useEffect(() => {\r\n // filterDataBasedOnCheckboxList()\r\n // }, [checkedData])\r\n\r\n if (references && references.length > 0) {\r\n tableHeadData = Object.keys(references[0])\r\n \r\n if (tableData.length > 0)\r\n tableData = []\r\n references.filter((item) => item.TAS_UID === taskList[page].TaskId).map(item=>{\r\n if(item.DeadLineDate){\r\n let newItem = JSON.parse(JSON.stringify(item)) \r\n newItem.DeadLineOriginalDate = JSON.parse(JSON.stringify(item.DeadLineDate)) \r\n const date = new DateObject({\r\n date: item.DeadLineDate,\r\n calendar: persian\r\n })\r\n newItem.DeadLineDate =date.format()\r\n if(search){\r\n let isSelect = false;\r\n activateCheckbox.map(activ=>{\r\n if(activ.Id == newItem.Id){\r\n isSelect = true\r\n }\r\n })\r\n if(newItem.Position.includes(search)||isSelect){\r\n tableData.push(newItem)\r\n }\r\n }else{\r\n tableData.push(newItem) \r\n }\r\n }else{\r\n item.DeadLineOriginalDate =undefined\r\n if(search){\r\n let isSelect = false;\r\n activateCheckbox.map(activ=>{\r\n if(activ.Id == item.Id){\r\n isSelect = true\r\n }\r\n })\r\n if(item.Position.includes(search)||isSelect){\r\n tableData.push(item)\r\n }\r\n }else{\r\n tableData.push(item) \r\n\r\n }\r\n \r\n }\r\n })\r\n if(tableHeadData.indexOf(\"DeadLineOriginalDate\") > 4){\r\n tableHeadData.pop() \r\n }\r\n tableHeadData = [\"DeadLineOriginalDate\",...tableHeadData]\r\n }\r\n return (\r\n
\r\n
\r\n {taskList && taskList.length > 1 ? \r\n (\r\n <>\r\n
\r\n circleClick(index)}/>\r\n
\r\n
\r\n
\r\n \r\n //
\r\n //
\r\n //
\r\n // {!selectAtLeastOneTask ?\r\n // \r\n // :
\r\n // } \r\n //
\r\n // {taskList.map((item, index) => (\r\n // <>\r\n \r\n // \r\n // {item.TaskTitle}\r\n // \r\n // }\r\n // >\r\n // {(!selectAtLeastOneTask ? index <= counter :index == counter ) ?\r\n //
circleClick(index)} >\r\n // {\r\n // passList2 && passList2[index] &&\r\n // <>\r\n // \r\n // \r\n // }\r\n //
\r\n // :\r\n //
circleClick(index)} >\r\n // {\r\n // passList2 && passList2[index] &&\r\n // <>\r\n // \r\n // \r\n // }\r\n //
\r\n // }\r\n \r\n // \r\n // \r\n\r\n \r\n // ))}\r\n //
\r\n //
\r\n\r\n //
\r\n // {taskList.map((item: any, index) => (\r\n //
circleClick(index)} key={index} className={`${styleCondition ? 'referencewizard-b__stepTitle' : 'referencewizard__stepTitle'} ${(!selectAtLeastOneTask ? index <= counter :index == counter)?\"shaking_animation\":\"\" }`}>{item.TaskTitle}
\r\n // ))}\r\n //
\r\n\r\n //
\r\n\r\n //
\r\n ) \r\n :\r\n (\r\n <>\r\n )\r\n }\r\n
\r\n
\r\n \r\n
\r\n {assignType==\"SELF_SERVICE\"&&\r\n \r\n }\r\n
\r\n
{trans(\"ChooseFromPositionListToRefer\")}:
\r\n
\r\n {pass ? \r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n {tableData && tableData.length > 0 &&\r\n }\r\n
\r\n
\r\n
\r\n \r\n\r\n {showForm&&\r\n setShowForm(false)} show={showForm}>\r\n <>\r\n {(taskList[page]&&showForm) && \r\n \r\n }\r\n \r\n\r\n \r\n\r\n }\r\n\r\n\r\n
\r\n\r\n )\r\n}","import { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { acceptReference, getReference, postReferences } from \"../../api/api\";\r\nimport { AssignTypes, ReferenceLocalDTO } from \"../../types\";\r\nimport { ReferenceContent } from \"./components/ReferenceContent/ReferenceContent\";\r\nimport './style.scss';\r\nimport { ReferenceForm } from \"./components/ReferenceForm/ReferenceForm\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { AcceptSelfService } from \"../AcceptSelfService/AcceptSelfService\";\r\nimport { MessageType } from \"types/enum\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\n\r\ninterface props {\r\n\r\n styleCondition: any\r\n Reference?: any\r\n rowObject?: any\r\n referenceId: string\r\n onHide: () => void\r\n reload?: (e) => void\r\n hideReferenceAndFinish?: () => void\r\n}\r\n\r\nexport const ReferenceStepper: React.FC = ({ styleCondition,Reference,rowObject, referenceId, onHide,hideReferenceAndFinish , reload }) => {\r\n\r\n let taskList: any[] = []\r\n let taskPositionList: ReferenceLocalDTO[] = []\r\n const [flag, setFlag] = useState(true);\r\n const [data, setData] = useState([]);\r\n const [response, setResponse] = useState(null);\r\n const [page, setPage] = useState(0);\r\n const [loading, setLoading] = useState(true);\r\n const [referenceList, setReferenceList] = useState([]);\r\n const [passList, setPassList] = useState([]);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [message, setMessage] = useState(\"NoDataForPreview\");\r\n const [selectAtLeastOneTask, setSelectAtLeastOneTask] = useState();\r\n const [showAccept, setShowAccept] = useState(true);\r\n const [ParentReferenceId, setParentReferenceId] = useState();\r\n\r\n const layoutContext = useContext(LayoutContext);\r\n const handleSubmitedData = async(data ,TAS_UID) => {\r\n if(!flag){\r\n if (!data) { // add more rules later for form completion\r\n \r\n } else {\r\n let fillReferences:any = []\r\n \r\n let obj:any={}\r\n if(data.ReferenceSubjectId != \"\"){\r\n obj.ParentReferenceId = data.ParentReferenceId\r\n obj.JobId = data.JobId\r\n obj.TAS_UID = data.TAS_UID\r\n obj.PerformerPositionId = data.PerformerPositionId\r\n obj.ReferrerPositionId = data.ReferrerPositionId\r\n obj.ReferenceSubjectId = data.ReferenceSubjectId\r\n obj.Description = data.Description\r\n obj.Priority = data.Priority\r\n obj.EstimateTime = data.EstimateTime\r\n obj.DeadLineDate = data.DeadLineDate\r\n obj.HasFollowUp = data.HasFollowUp\r\n obj.SecretReference = data.SecretReference\r\n obj.AssignType = data.AssignType\r\n obj.EstimateTime = data.EstimateTime\r\n \r\n fillReferences.push(obj)\r\n }\r\n \r\n \r\n try {\r\n const res = await postReferences([{Reference:obj,SendMessageToPerformer:data.SendMessageToPerformer}]);\r\n \r\n //reload && reload(true)\r\n onHide()\r\n } catch (error) {\r\n \r\n }\r\n \r\n \r\n \r\n }\r\n\r\n }\r\n }\r\n const getDataFromContent = (fetchedData, currentPage, status) => {\r\n\r\n if (fetchedData !== undefined) {\r\n setReferenceList([]) \r\n setPassList({ ...passList, [page]: status })\r\n setReferenceList(fetchedData)\r\n }\r\n setPage(currentPage)\r\n }\r\n\r\n const getReferenceAsync = async () => {\r\n setLoading(false)\r\n try {\r\n if(Reference){\r\n setResponse(Reference);\r\n setData(Reference.Tasks)\r\n }else{\r\n\r\n const res = await getReference(referenceId)\r\n if(res.Data.Tasks.length ==1 &&res.Data.Tasks[0].Positions.length ==1 ){\r\n setFlag(false)\r\n }\r\n setSelectAtLeastOneTask(res.Data.SelectAtLeastOneTask)\r\n setResponse(res.Data);\r\n setData(res.Data.Tasks)\r\n setMessage(res?.Message)\r\n setMessageType({type: \"info\" , Message :res?.Message })\r\n }\r\n } catch (error:any) {\r\n if(error.response?.data.MessageType == MessageType.confirm){\r\n // Toast(\r\n // trans(error.response?.data.Message),\r\n // \"warning\",\r\n // \"alert\",\r\n // () => {\r\n // hideReferenceAndFinish&& hideReferenceAndFinish()\r\n // },\r\n // );\r\n Toast(\r\n trans(error.response?.data.Message),\r\n MessageType.confirm,\r\n () => {\r\n hideReferenceAndFinish&& hideReferenceAndFinish()\r\n },\r\n );\r\n }\r\n setMessageType(\"error\") \r\n setMessage(error?.response?.data?.Message)\r\n\r\n\r\n }\r\n\r\n\r\n setLoading(true)\r\n }\r\n const handlePass = (stepStatus, page) => {\r\n\r\n }\r\n async function acceptReferenceAsync() {\r\n try {\r\n await acceptReference(ParentReferenceId);\r\n setShowAccept(false)\r\n reload&& reload(true)\r\n getReferenceAsync()\r\n } catch (error) {\r\n\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (data.length > 1){\r\n if (styleCondition) {\r\n (document.querySelector(\".ProgresBarTask-mb-scroll\") as HTMLElement).scrollTop = 0;\r\n } else {\r\n (document.querySelector(\".ProgresBarTask-scroll\") as HTMLElement).scrollLeft = 0;\r\n }\r\n }\r\n }, [styleCondition])\r\n\r\n useEffect(() => {\r\n if (referenceId) {\r\n if((rowObject?.AssignType == AssignTypes.SELF_SERVICE&&rowObject?.AcceptTime==null) && showAccept&&rowObject.Id==referenceId){\r\n }else{\r\n setParentReferenceId(referenceId)\r\n getReferenceAsync()\r\n }\r\n }\r\n }, [])\r\n\r\n\r\n\r\n\r\n const fillAllTaskPositionList = () => {\r\n taskPositionList = []\r\n Object.keys(taskList).map((TaskIndex) => {\r\n if (!taskList[TaskIndex])\r\n return\r\n let taskPositions = taskList[TaskIndex].Positions\r\n Object.keys(taskPositions).map((index) => {\r\n let rowItem: ReferenceLocalDTO = {\r\n AssignType :AssignTypes[taskList[TaskIndex].AssignType],\r\n ParentReferenceId: ParentReferenceId,\r\n Id: taskPositions[index] ? taskPositions[index].Id : \"\",\r\n TAS_UID: taskList[TaskIndex].TaskId,\r\n JobId: response?.JobInfo?.Id,\r\n PerformerPositionId: taskPositions[index] ? taskPositions[index].Id : \"\",\r\n ReferrerPositionId: layoutContext.currentUserPosition.PositionId,\r\n ReferenceSubjectId: \"\",\r\n Position: taskPositions[index] ? taskPositions[index].Description : \"\",\r\n Description: \"\",\r\n ReferenceSubject: \"\",\r\n Priority: 1,\r\n EstimateTime: 0,\r\n DeadLineDate: undefined,\r\n HasFollowUp: false,\r\n SecretReference: false,\r\n SendMessageToPerformer: false,\r\n\r\n };\r\n taskPositionList.push(rowItem);\r\n })\r\n })\r\n }\r\n if (response) {\r\n taskList = response.Tasks\r\n fillAllTaskPositionList(); \r\n }\r\n\r\n return (\r\n <>\r\n {((rowObject?.AssignType == AssignTypes.SELF_SERVICE&&rowObject?.AcceptTime==null) && showAccept&&rowObject.Id==ParentReferenceId )&&\r\n {acceptReferenceAsync()}} onHide={(e)=>{e.stopPropagation(); setShowAccept(false)}}/>\r\n \r\n } \r\n {loading ?\r\n (response ?\r\n <>\r\n \r\n {flag ?\r\n 0 ? referenceList : taskPositionList}\r\n sendDataToWizard={getDataFromContent}\r\n styleCondition={styleCondition} />\r\n :<>\r\n
\r\n \r\n
\r\n {(response.Tasks[0].AssignType&&response.Tasks[0].Positions > 1)==\"SELF_SERVICE\"&&\r\n \r\n }\r\n {}}\r\n allFormData={referenceList.lenght > 0 ? referenceList : taskPositionList}\r\n setShowForm={()=>{}}\r\n showForm={true}\r\n isAllForms={false}\r\n />\r\n \r\n }\r\n\r\n \r\n :\r\n \r\n ) :\r\n (
\r\n \r\n
)\r\n }\r\n \r\n )\r\n}","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getReverseList } from \"./api\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\n\r\ninterface searchPropsType {\r\n referenceId?: string\r\n\r\n}\r\nexport const ReverseHistory = ({referenceId }: searchPropsType) => {\r\n\r\n const [TotalRecords, setTotalRecords] = useState();\r\n const [reverseResponse, setReverseResponse] = useState();\r\n const [reverseLoading, setReverseLoading] = useState(false);\r\n let gridColumns, gridData = [];\r\n\r\n \r\n async function getReverseListAsync(){\r\n setReverseLoading(false);\r\n try {\r\n const res = await getReverseList( referenceId); \r\n setTotalRecords(res.Data.TotalRecords) \r\n setReverseResponse(res) \r\n \r\n } catch (error) { }\r\n setReverseLoading(true);\r\n }\r\n \r\n useEffect(() => {\r\n getReverseListAsync()\r\n }, []);\r\n\r\n\r\n\r\n if (reverseResponse) {\r\n gridColumns = Object.keys(reverseResponse.Data.Data[0]);\r\n gridData = reverseResponse.Data.Data;\r\n }\r\n\r\n\r\nreturn ( \r\n <> \r\n {reverseLoading ?\r\n <>\r\n {((reverseResponse?.Data?.Data?.length <=TotalRecords) )&&\r\n
\r\n \r\n
\r\n {}}\r\n scrollHeight={\"150px\"}\r\n />\r\n
\r\n
\r\n
\r\n }\r\n \r\n :<>}\r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getReverseList = (referenceId: any) => http({\r\n url: ENDPOINTS.cartable.refer.reverseList,\r\n method: 'get',\r\n params: {\r\n referenceId: referenceId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\n\r\ninterface props {\r\n mode?: any\r\n onHide?: () => void\r\n submit?: (e,type,sendMsg) => void\r\n rowObject?: any\r\n}\r\n\r\nexport const TerminatedForm = ({rowObject ,submit, mode = \"create\", onHide }: props) => {\r\n\r\n const [type, setType] = useState(rowObject?.ExecutiveTermination ? \"CancelTerminate\" :\"Terminated\");\r\n \r\n const handleSubmit = (event) => {\r\n event.preventDefault()\r\n submit && submit(type , event?.target?.RejectDescription?.value, event?.target?.sendMessageToRequester?.checked)\r\n\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n\r\n {setType(\"reject\")}} defaultValue={\"users\"} labelText={trans(\"reject\")} inputName={\"TerminatedType\"} type={\"radio\"}/>\r\n {rowObject?.ExecutiveTermination?\r\n {setType(\"CancelTerminate\")}} defaultChecked={true } labelText={trans(\"CancelTerminate\")} inputName={\"TerminatedType\"} type={\"radio\"}/>\r\n :\r\n {setType(\"Terminated\")}} defaultChecked={true } labelText={trans(\"Terminate\")} inputName={\"TerminatedType\"} type={\"radio\"}/>\r\n }\r\n
\r\n {(type==\"reject\"||type==\"Terminated\") && \r\n
\r\n
\r\n \r\n
\r\n
\r\n }\r\n\r\n {(!rowObject?.ExecutiveTermination||type==\"reject\") &&\r\n
\r\n \r\n
\r\n }\r\n\r\n\r\n
\r\n
\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}","\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getActions = (PageNumber: number, PageSize: number, ReferenceId: any,orderBy,filterlist ,SearchString) => http({\r\n url: ENDPOINTS.cartable.action.browse,\r\n method: 'get',\r\n params: {\r\n pageNumber: PageNumber,\r\n pageSize: PageSize,\r\n referenceId: ReferenceId,\r\n OrderByString:orderBy,\r\n FilterString:filterlist,\r\n SearchString:SearchString,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const DeleteAction = (id) => http({\r\n url: ENDPOINTS.cartable.action.browse,\r\n method: 'delete',\r\n params: {\r\n Id: id,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const SetExecutiveTermination = (referenceId: any) => http({\r\n url: ENDPOINTS.cartable.job.load,\r\n method: 'put',\r\n params: {\r\n referenceId: referenceId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const getDynamicForm = (referenceId: any) => http({\r\n url: ENDPOINTS.cartable.getDynamicForms,\r\n method: 'get',\r\n params: {\r\n referenceId: referenceId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const getAction = (id: any) => http({\r\n url: ENDPOINTS.cartable.action.load,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n Id: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const sendAction = (data: string, method) => http({\r\n method: method,\r\n url: ENDPOINTS.cartable.action.browse,\r\n data: data\r\n}).then((res) => {\r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n","import { Button } from \"components/Button/Button\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { RangeSlider } from \"components/RangeSlider/RangeSlider\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Time } from \"components/Time/Time\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Action } from \"pages/OfficeAutomation/Cartable/types\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getAction, sendAction } from \"../../api/api\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { DateObject } from \"react-multi-date-picker\";\r\n\r\nimport persian from \"react-date-object/calendars/persian\";\r\nimport { MessageType } from \"types/enum\";\r\ninterface ActionFormPropsType {\r\n id?: any,\r\n mode?: any,\r\n referenceId: any,\r\n onHide: () => void\r\n reset: (ans: boolean) => void\r\n}\r\n\r\nexport const ActionForm = ({\r\n id,\r\n mode,\r\n referenceId,\r\n onHide,\r\n reset,\r\n}: ActionFormPropsType) => {\r\n\r\n let data, method;\r\n const [action, setAction] = useState(undefined);\r\n const [fromDate, setFromDate] = useState();\r\n const [untilDate, setUntilDate] = useState();\r\n const [startTime, setStartTime] = useState();\r\n const [endTime, setEndTime] = useState();\r\n const [actualTimeAlert, setActualTimeAlert] = useState(false);\r\n const [resetForm, setResetForm] = useState(false);\r\n const formRef = useRef(\"\")\r\n const buttonRef = useRef()\r\n const [loading , setLoading] = useState(false) \r\n const [leaveHours, setleaveHours] = useState(null);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [flag,setFlag] = useState(false);\r\n const [todayDate, settodayDate] = useState(new Date().toISOString());\r\n const [startDateView, setStartDateView] = useState(new Date());\r\n\r\n //const buttonRef = createRef()\r\n\r\n const validationDates = () =>{\r\n if(fromDate &&endTime&& untilDate &&startTime && Date.parse(fromDate.split(\"T\")[0]+\"T\"+startTime.split(\"T\")[1]) > Date.parse(untilDate.split(\"T\")[0]+\"T\"+endTime.split(\"T\")[1])){\r\n setFlag(true)\r\n }else{\r\n setFlag(false)\r\n }\r\n }\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault();\r\n if(flag){\r\n // Toast(trans(\"InvalidEndDate\"),\"error\");\r\n Toast(trans(\"InvalidEndDate\"),MessageType.error);\r\n\r\n }else{\r\n if (actualTimeAlert) { // هشدار به کاربر درباره بررسی مجدد فیلد زمان واقعی\r\n setActualTimeAlert(false);\r\n } else {\r\n if (id && mode !== \"create\") {\r\n data = {\r\n Id: id,\r\n ReferenceId: referenceId,\r\n Description: event.target.description.value,\r\n StartTime: fromDate.split(\"T\")[0]+\"T\"+startTime.split(\"T\")[1],\r\n EndTime: untilDate.split(\"T\")[0]+\"T\"+endTime.split(\"T\")[1],\r\n ActualDuration: +event.target.ActualTimeInput[0].value,\r\n Progress: Number(event.target.progressbar.value),\r\n };\r\n method = \"put\";\r\n } else {\r\n data = {\r\n ReferenceId: referenceId,\r\n Description: event.target.description.value,\r\n StartTime: fromDate.split(\"T\")[0]+\"T\"+startTime.split(\"T\")[1],\r\n EndTime: untilDate.split(\"T\")[0]+\"T\"+endTime.split(\"T\")[1],\r\n ActualDuration: +event.target.ActualTimeInput[0].value,\r\n Progress: Number(event.target.progressbar.value),\r\n };\r\n method = \"post\";\r\n } \r\n try {\r\n await sendAction(data, method);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n setResetForm(true);\r\n reset(true);\r\n onHide();\r\n\r\n } catch (error) {\r\n\r\n }\r\n }\r\n }\r\n }\r\n \r\n async function getDataAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getAction(id); \r\n setAction(res.Data); \r\n setleaveHours( res.Data.ActualDuration)\r\n } catch (error) {\r\n // setAction(null); \r\n }\r\n setLoading(true)\r\n\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alert\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // onHide()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide()\r\n });\r\n }else{\r\n onHide()\r\n };\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (id && mode !== \"create\"){\r\n getDataAsync()\r\n }else{\r\n setAction(null)\r\n setLoading(true)\r\n \r\n }\r\n }, [id , mode]);\r\n\r\n useEffect(() => {\r\n if ( mode === \"create\"){\r\n setResetForm(true);\r\n }\r\n }, [ mode]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n \r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n useEffect(() => {\r\n if (todayDate) {\r\n let data = new Date(startDateView);\r\n let Hour = new Date().getHours()\r\n let Minutes = new Date().getMinutes()\r\n data.setHours(Hour,Minutes-1 )\r\n setStartDateView(data);\r\n }\r\n\r\n }, [todayDate]);\r\n\r\n\r\n\r\n \r\n useEffect(() => {\r\n if(untilDate && fromDate){\r\n try {\r\n let startTimeMilisecond = startTime.split(\"T\")[1].split(\":\")\r\n let endTimeMilisecond = endTime.split(\"T\")[1].split(\":\")\r\n startTimeMilisecond[2]=\"00\"\r\n endTimeMilisecond[2]=\"00\"\r\n let fr =fromDate.split(\"T\")[0]+\"T\"+startTimeMilisecond.join(\":\");\r\n let en = untilDate.split(\"T\")[0]+\"T\"+endTimeMilisecond.join(\":\");\r\n setleaveHours( Math.floor( Math.abs(new Date(fr).getTime()-new Date(en).getTime())/60000) ==0 ? 1 :Math.floor( Math.abs( Math.ceil(new Date(en).getTime()) - Math.ceil(new Date(fr).getTime()))/60000) )\r\n } catch (error) {\r\n setleaveHours( null)\r\n }\r\n }\r\n}, [untilDate ,fromDate ,startTime ,endTime ]);\r\n\r\nuseEffect(()=>{\r\n validationDates()\r\n },[untilDate,fromDate,startTime ,endTime ])\r\n\r\n return (\r\n
\r\n {loading ? \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n mode={mode}\r\n onOpenPickNewDate={true}\r\n lable=\"fromDate\"\r\n setIsoTime={(isoTime: string) => { setFromDate(isoTime) }}\r\n val={action !=undefined ?(action==null ? null : action?.StartTime ): todayDate } //resetForm ? new Date().toISOString() : \r\n errorFlag={flag}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n mode={mode}\r\n onOpenPickNewDate={true}\r\n maxDate={new DateObject({ calendar: persian })}\r\n lable=\"untilDate\"\r\n setIsoTime={(isoTime: string) => { setUntilDate(isoTime) }}\r\n val={action !=undefined ? (action==null ? null : action?.EndTime ): todayDate } //resetForm ? new Date().toISOString() : \r\n errorFlag={flag}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n { setStartTime(isoTime) }}\r\n val={action !=undefined ? (action==null ? null : action?.StartTime ): startDateView.toISOString() } //resetForm ? new Date().toISOString() : \r\n withTime ={true} \r\n disableDayPicker={true}\r\n format={\"HH:mm\"}\r\n /> \r\n
\r\n
\r\n { setEndTime(isoTime) }}\r\n val={action !=undefined ? (action==null ? null : action?.EndTime ):todayDate } //resetForm ? new Date().toISOString() : \r\n withTime ={true} \r\n disableDayPicker={true}\r\n format={\"HH:mm\"}\r\n /> \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n mode={mode}\r\n max={leaveHours}\r\n name=\"ActualTimeInput\"\r\n IdString=\"ActualTimeInput\"\r\n resetForm={resetForm}\r\n defaultValue={ leaveHours}\r\n label=\"ActualDuration\"\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"textarea\"\r\n textboxName=\"description\"\r\n defaultValue={action?.Description}\r\n resetForm={resetForm}\r\n labelText=\"description\"\r\n required={true}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} required={true} mode={mode} label=\"Progress\" defaultValue={action?.Progress} name=\"progressbar\" resetForm={resetForm} />\r\n
\r\n
\r\n
\r\n {mode !== \"view\" ?\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n :\r\n }\r\n \r\n );\r\n}","import { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { ModalStepper } from \"components/ModalStepper/ModalStepper\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { DynamicForm } from \"types/types\";\r\nimport { ReverseHistory } from \"../../../ReverseHistory/ReverseHistory\";\r\nimport { getDynamicForm } from \"../../api/api\";\r\nimport { GetReferencesActions } from \"./api/api\";\r\nimport { CartableType } from \"types/enum\";\r\ninterface ReferencesActionsPropsType {\r\n\r\n referenceId: any,\r\n rowObject?: any\r\n cartableType?: any\r\n inTab?: any\r\n}\r\n\r\nexport const ReferencesActions = ({\r\n referenceId,\r\n rowObject,\r\n cartableType,\r\n inTab,\r\n\r\n}: ReferencesActionsPropsType) => {\r\n const [response , setResponse] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [showDynamicForm, setShowDynamicForm] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [ShowDynamicFormViewLoading, setShowDynamicFormViewLoading] = useState(false);\r\n const [dynamicForm, setDynamicForm] = useState(\"GeneralRequestForm\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [treeRowObject, setTreeRowObject] = useState();\r\n\r\n async function ReferencesActionsasync(referenceId) {\r\n setLoading(false)\r\n try {\r\n const res = await GetReferencesActions(referenceId )\r\n setResponse(res.Data)\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n setResponse([])\r\n }\r\n setLoading(true)\r\n }\r\n \r\n async function getDynamicFormAsync(id: string) {\r\n setShowDynamicFormViewLoading(false)\r\n try {\r\n const res = await getDynamicForm(id);\r\n if (res.Data){\r\n \r\n let data :any= []\r\n res.Data.map((item, index)=>{\r\n if(item.Name != \"SignatureForm\"){\r\n if(res.Data?.[index+1] && res.Data?.[index+1]?.Name ==\"SignatureForm\" ){\r\n data.push({...item , \r\n forms :[res.Data[index+1]]\r\n })\r\n }else{\r\n data.push(item)\r\n }\r\n }\r\n\r\n })\r\n setDynamicForm(data);\r\n }\r\n else\r\n setDynamicForm(undefined);\r\n if (dynamicForm) {\r\n setShowDynamicForm(true);\r\n }\r\n else { setShowDynamicForm(false) } \r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setShowDynamicFormViewLoading(true)\r\n }\r\n\r\n useEffect( () => {\r\n if(((inTab&&inTab==\"referenceandactionshistory\")||!inTab) ){\r\n ReferencesActionsasync(referenceId) \r\n }\r\n }, [referenceId ,inTab]);\r\n\r\n useEffect(() => { \r\n if(showDynamicForm){\r\n getDynamicFormAsync(treeRowObject.Id);\r\n }\r\n }, [ showDynamicForm]);\r\n\r\n return (\r\n <>\r\n {((inTab&&inTab==\"referenceandactionshistory\")||!inTab)&&\r\n \r\n
\r\n \r\n {showDynamicForm&&\r\n { setShowDynamicForm(false); }} show={showDynamicForm}> \r\n {ShowDynamicFormViewLoading ? \r\n <>\r\n {showDynamicForm &&\r\n (dynamicForm ? (\r\n { setShowDynamicForm(false); setForceUpdate(true);setShowDynamicForm(true); }}\r\n useGenerate={false}\r\n Id={treeRowObject?.Id}\r\n taskTitle={treeRowObject?.TaskTitle}\r\n formList={dynamicForm}\r\n parentMode={\"view\"}\r\n />\r\n ) : ())\r\n } \r\n \r\n : \r\n }\r\n \r\n }\r\n \r\n {\r\n loading ? (\r\n response?.length>0 ?\r\n { setTreeRowObject(e); setShowDynamicForm(true)}}\r\n parentName={\"ReferencesActions\"+cartableType}\r\n startIndex={4}\r\n maxLevel={1}\r\n defultShow={true}\r\n Childrenparams={\"ActionList\"} \r\n /> \r\n : ) \r\n : \r\n }\r\n
\r\n }\r\n \r\n \r\n );\r\n}","import { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const GetReferencesActions = (referenceId ) => http({\r\n url: ENDPOINTS.cartable.ReferencesActions,\r\n method: 'get',\r\n params: {\r\n referenceId:referenceId \r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Footerbar } from \"components/Footerbar/Footerbar\";\r\nimport { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { CancelFinishedReference, FinishedReference, getJobRequester, RejectReference } from \"pages/OfficeAutomation/Cartable/api/api\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\nimport { TerminatedForm } from \"../../../Terminated/Terminated\";\r\nimport { DeleteAction, getActions } from \"../../api/api\";\r\nimport { ActionForm } from \"../ActionForm/ActionForm\";\r\nimport { Attachment } from \"../Attachment/Attachment\";\r\nimport { ReferencesActions } from \"../RefrenceAndActionsForm/RefrenceAndActions\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\nexport const Actions = ({rowObject, referenceId, onHide, handleShowReferenceStepper=()=>{},Reload , styleCondition ,showForm=false }: any) => {\r\n\r\n let gridColumns, gridData = [];\r\n let headerData, footerData;\r\n let Total_records, pages;\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [response, setResponse] = useState(null);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showActionForm, setShowActionForm] = useState(false);\r\n const [showReferenceAndActions, setShowReferenceAndActions] = useState(false);\r\n const [mode, setmode] = useState(\"\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(5);\r\n const [showattachment, setshowAttachment] = useState(false);\r\n const [endpoint, setEndpoint] = useState();\r\n const [showTerminatedForm, setShowTerminatedForm] = useState(false);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n\r\n /* #endregion */\r\n /* #region pagination */\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n if (str == \"\") {\r\n setSearch(null)\r\n } else {\r\n setSearch(str)\r\n }\r\n }\r\n const handlechangePageSize = (e: any) => {\r\n setPageSize(e.currentTarget.value);\r\n setPageNum(1);\r\n getPageSize(\"Actions\" ,e.currentTarget.value)\r\n getReferenceActionsAsync();\r\n };\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else setPageNum(value);\r\n } else {\r\n }\r\n };\r\n const HandleNextPage = () => {\r\n if (pageNum < pages) setPageNum((pageNum) => { return +pageNum + 1 });\r\n };\r\n const HandlePrevPage = () => {\r\n if (pageNum > 1) setPageNum((pageNum) => { return +pageNum - 1 });\r\n };\r\n /* #endregion */\r\n /* #region dataGridActions */\r\n const handleCreateAction = () => {\r\n setmode(\"create\")\r\n setShowActionForm(true);\r\n }\r\n const handleEditRow = () => {\r\n setmode(\"edit\")\r\n setShowActionForm(true);\r\n }\r\n const handleDeleteRow =async (id: string) => {\r\n try {\r\n await DeleteAction(id);\r\n getReferenceActionsAsync()\r\n } catch (error) {\r\n\r\n }\r\n }\r\n const handleViewRow = () => {\r\n\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alert\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setmode(\"view\")\r\n // setShowActionForm(true);\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setmode(\"view\")\r\n setShowActionForm(true);\r\n });\r\n }else{\r\n setmode(\"view\")\r\n setShowActionForm(true);\r\n };\r\n\r\n }\r\n const handleAttachmentRow = (id) => {\r\n setSelectedId(id)\r\n setEndpoint( ENDPOINTS.cartable.action.attachments)\r\n setmode(\"attach\") \r\n setshowAttachment(true)\r\n }\r\n\r\n const handleAttachment = () => {\r\n setEndpoint(ENDPOINTS.cartable.reference.attachments)\r\n setSelectedId(referenceId)\r\n setmode(\"allattach\")\r\n setshowAttachment(true)\r\n }\r\n \r\n const selectedIdCallback = (obj, index) => {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\" && showActionForm){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alert\", ()=>{setSelectedId(obj.Id) ;sessionStorage.setItem(\"changingforms\" , \"false\");});\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{setSelectedId(obj.Id) ;sessionStorage.setItem(\"changingforms\" , \"false\");});\r\n\r\n }else{\r\n setSelectedId(obj.Id);\r\n };\r\n }\r\n /* #endregion */ \r\n async function chatWithRequester(e) {\r\n try {\r\n const res = await getJobRequester(e);\r\n let item = {\r\n Id:res?.Data.Id ,\r\n name: res?.Data.Description\r\n }\r\n localStorage.setItem(\"JobRequester\",JSON.stringify(item) );\r\n window.open(`#/message`)\r\n } catch (error) {\r\n\r\n }\r\n \r\n }\r\n\r\n /* #region toolbarActions */\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\": alert(\"print \"); break;\r\n case \"excel\": downloadCSV(response?.Data?.Data ,1 ,trans(\"Actions\")); break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n case \"create\": handleCreateAction(); break;\r\n case \"view\": if (selectedId) handleViewRow(); break;\r\n case \"edit\": if (selectedId) handleEditRow(); break;\r\n case \"finish\": if (referenceId) { setShowTerminatedForm(true) } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n \r\n } break;\r\n case \"chat\": if (referenceId) { chatWithRequester(rowObject.JobId) } else { \r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n } break;\r\n case \"help\": alert(\"call api help\"); break;\r\n case \"remove\": if (selectedId) {handleDeleteRow(selectedId) } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\") \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n } break;\r\n case \"attach\": handleAttachment(); break;\r\n case \"history\": if (referenceId) setShowReferenceAndActions(true); break;\r\n case \"reference\":\r\n if (referenceId) {handleShowReferenceStepper && handleShowReferenceStepper(referenceId); onHide() }\r\n break;\r\n }\r\n };\r\n /* #endregion */ \r\n async function handleFinishedReference(type ,text=\"\" ,sendMsg=false) {\r\n try {\r\n if(type===\"Terminated\"){\r\n await FinishedReference(referenceId,sendMsg ,text); \r\n }else if(type===\"CancelTerminate\"){\r\n await CancelFinishedReference(referenceId);\r\n }else{\r\n await RejectReference(referenceId ,text,sendMsg);\r\n }\r\n setShowTerminatedForm(false)\r\n onHide()\r\n Reload&& Reload()\r\n } catch (error) {\r\n \r\n }\r\n \r\n }\r\n\r\n async function getReferenceActionsAsync() {\r\n setLoading(false)\r\n let sizePage = getPageSize(\"Actions\")\r\n setPageSize(sizePage)\r\n try {\r\n const res = await getActions(pageNum, sizePage, referenceId ,orderBy.length == 0 ?null: orderBy.join(\",\") ,filterlist ,search); \r\n setResponse(res);\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n \r\n setLoading(true)\r\n }\r\n useEffect(() => {\r\n getReferenceActionsAsync()\r\n\r\n }, [pageNum, forceUpdate,orderBy ,filterlist,search ]);\r\n useEffect(() => {\r\n if(showForm){\r\n handleCreateAction()\r\n }\r\n }, []);\r\n\r\n\r\n \r\n\r\n if (response &&\r\n response?.Data && response.Data?.Data?.length>0) {\r\n gridColumns = Object.keys(response.Data.Data[0]);\r\n gridData = response.Data.Data;\r\n headerData = response.Data.Header;\r\n footerData = response.Data.Footer;\r\n Total_records = response.Data.TotalRecords;\r\n }\r\n pages = Total_records > pageSize ? Math.ceil(Total_records / pageSize) : 1;\r\n return (\r\n <>\r\n
\r\n \r\n {headerData && }\r\n {showTerminatedForm &&\r\n { setShowTerminatedForm(false) }} show={showTerminatedForm} >\r\n setShowTerminatedForm(false)} />\r\n \r\n } \r\n {showReferenceAndActions &&\r\n { setShowReferenceAndActions(false) }} show={showReferenceAndActions}>\r\n \r\n \r\n }\r\n {showActionForm &&\r\n setShowActionForm(false)}\r\n mode={mode}\r\n reset={(e)=>{getReferenceActionsAsync()}}\r\n id={selectedId}\r\n referenceId={referenceId}\r\n />\r\n }\r\n {loading ?\r\n (response?.Data?.Data.length > 0 ?\r\n
\r\n
\r\n <>\r\n {setFilterlist(str) }}\r\n filterStr={filterlist}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n parentName={\"Actions\"}\r\n theadData={gridColumns}\r\n tbodyData={gridData}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedIdCallback}\r\n handleEdit={handleEditRow}\r\n handleDelete={handleDeleteRow}\r\n handleView={handleViewRow}\r\n handleAttachment={handleAttachmentRow}\r\n totalRecords={Total_records}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={HandleNextPage}\r\n HandlePrevPage={HandlePrevPage}\r\n handlechangePageSize={handlechangePageSize}\r\n first={() => setPageNum(pages)}\r\n end={() => setPageNum(1)}\r\n handleGoPage={handleGoPage}\r\n scrollHeight={\"150px\"}\r\n />\r\n {footerData && }\r\n {showattachment &&\r\n setshowAttachment(false)} show={showattachment}>\r\n setshowAttachment(false)} mood={mode} endpoint={endpoint} ownerId={selectedId} />\r\n \r\n }\r\n \r\n
\r\n
\r\n : \r\n )\r\n : \r\n }\r\n\r\n
\r\n \r\n\r\n );\r\n}","\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getJobActionList = (PageNumber: number, PageSize: number, ReferenceId: any) => http({\r\n url: ENDPOINTS.cartable.action.jobActions,\r\n method: 'get',\r\n params: {\r\n pageNumber: PageNumber,\r\n pageSize: PageSize,\r\n referenceId: ReferenceId,\r\n }\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Footerbar } from \"components/Footerbar/Footerbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { getPageSize, trans } from \"utils/helpers\";\r\nimport { ActionForm } from \"../ActionForm/ActionForm\";\r\nimport { Attachment } from \"../Attachment/Attachment\";\r\nimport { getJobActionList } from \"./api\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\nexport const JobActionList = ({ referenceId ,showActions }: any) => {\r\n\r\n let gridColumns, gridData = [];\r\n let headerData, footerData;\r\n let Total_records, pages;\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [response, setResponse] = useState(null);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showActionForm, setShowActionForm] = useState(false);\r\n const [mode, setmode] = useState(\"\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(5);\r\n const [showattachment, setshowAttachment] = useState(false);\r\n const [endpoint, setEndpoint] = useState();\r\n\r\n /* #endregion */\r\n /* #region pagination */\r\n\r\n const handlechangePageSize = (e: any) => {\r\n setPageSize(e.currentTarget.value);\r\n setPageNum(1);\r\n getPageSize(\"JobActionList\" ,e.currentTarget.value)\r\n getReferenceJobActionListAsync();\r\n };\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else setPageNum(value);\r\n } else {\r\n }\r\n };\r\n const HandleNextPage = () => {\r\n if (pageNum < pages) setPageNum((pageNum) => { return +pageNum + 1 });\r\n };\r\n const HandlePrevPage = () => {\r\n if (pageNum > 1) setPageNum((pageNum) => { return +pageNum - 1 });\r\n };\r\n /* #endregion */\r\n /* #region dataGridJobActionList */\r\n\r\n const handleEditRow = () => {\r\n setmode(\"edit\")\r\n setShowActionForm(true);\r\n }\r\n \r\n const handleViewRow = () => {\r\n setmode(\"view\")\r\n setShowActionForm(true);\r\n }\r\n const handleAttachmentRow = (id) => {\r\n setSelectedId(id)\r\n setEndpoint( ENDPOINTS.cartable.action.attachments)\r\n setmode(\"attach\") \r\n setshowAttachment(true)\r\n }\r\n\r\n\r\n const selectedIdCallback = (obj, index) => {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\" && showActionForm){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alert\", ()=>{setSelectedId(obj.Id) ;sessionStorage.setItem(\"changingforms\" , \"false\");});\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{setSelectedId(obj.Id) ;sessionStorage.setItem(\"changingforms\" , \"false\");});\r\n\r\n }else{\r\n setSelectedId(obj.Id);\r\n };\r\n }\r\n\r\n async function getReferenceJobActionListAsync() {\r\n setLoading(false)\r\n let sizePage = getPageSize(\"JobActionList\")\r\n setPageSize(sizePage)\r\n try {\r\n const res = await getJobActionList(pageNum, sizePage, referenceId); \r\n setResponse(res);\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n \r\n setLoading(true)\r\n }\r\n useEffect(() => {\r\n getReferenceJobActionListAsync()\r\n\r\n }, [pageNum, forceUpdate,showActions ]);\r\n\r\n\r\n \r\n\r\n if (response &&\r\n response?.Data && response.Data?.Data?.length>0) {\r\n gridColumns = Object.keys(response.Data.Data[0]);\r\n gridData = response.Data.Data;\r\n headerData = response.Data.Header;\r\n footerData = response.Data.Footer;\r\n Total_records = response.Data.TotalRecords;\r\n }\r\n pages = Total_records > pageSize ? Math.ceil(Total_records / pageSize) : 1;\r\n return (\r\n <>\r\n
\r\n {showActionForm &&\r\n setShowActionForm(false)}\r\n mode={mode}\r\n reset={(e)=>{getReferenceJobActionListAsync()}}\r\n id={selectedId}\r\n referenceId={referenceId}\r\n />\r\n }\r\n {loading ?\r\n ((response?.Data?.Data.length > 0&& response?.Data.TotalRecords>0 )?\r\n
\r\n \r\n \r\n
\r\n <>\r\n setPageNum(pages)}\r\n end={() => setPageNum(1)}\r\n handleGoPage={handleGoPage}\r\n scrollHeight={\"150px\"}\r\n />\r\n {footerData && }\r\n {showattachment &&\r\n setshowAttachment(false)} show={showattachment}>\r\n setshowAttachment(false)} mood={mode} endpoint={endpoint} ownerId={selectedId} />\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n : <>\r\n )\r\n : \r\n }\r\n\r\n
\r\n \r\n\r\n );\r\n}","import { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getReferencesActions } from \"./api\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { ActionsOfReference } from \"pages/AfterSales/component/RefrenceHistory/ActionsOfReference\";\r\ninterface ReferenceTreePropsType {\r\n \r\n \r\n referenceId: any,\r\n intab: any,\r\n\r\n}\r\n\r\nexport const ReferenceTree = ({\r\n\r\n referenceId,\r\n intab\r\n\r\n}: ReferenceTreePropsType) => {\r\n const [response , setResponse] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [showActionOfReference, setShowActionOfReference] = useState(false);\r\n const [selectedRow, setSelectedRow] = useState();\r\n\r\nasync function ReferenceAndActionsasync(referenceId) {\r\n setLoading(false)\r\n try {\r\n const res = await getReferencesActions(referenceId )\r\n \r\n setResponse(res.Data)\r\n } catch (error) {\r\n setResponse(null)\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n\r\n}\r\n\r\n useEffect( () => {\r\n if(intab)\r\n ReferenceAndActionsasync(referenceId)\r\n \r\n }, [referenceId ,intab]);\r\n\r\n return (\r\n \r\n\r\n <>\r\n
\r\n {\r\n loading ? (\r\n response ?\r\n {setSelectedRow(e ) ;setShowActionOfReference(true) }}\r\n parentName={\"ReferenceTree\"}\r\n startIndex={4}\r\n Childrenparams={\"ReferenceList\"}\r\n defultShow={true}\r\n /> \r\n : ) \r\n\r\n : \r\n }\r\n
\r\n \r\n {showActionOfReference &&\r\n { setShowActionOfReference(false) }} show={showActionOfReference}>\r\n \r\n \r\n }\r\n \r\n\r\n\r\n\r\n\r\n\r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getReferencesActions = (referenceId ) => http({\r\n url: ENDPOINTS.cartable.ReferencesTree,\r\n method: 'get',\r\n params: {\r\n referenceId:referenceId ,\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\n","import { Button } from \"components/Button/Button\";\r\nimport { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { ModalStepper } from \"components/ModalStepper/ModalStepper\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { DynamicForm } from \"types/types\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { GetReportWithJsonData, trans } from \"utils/helpers\";\r\nimport { ReferReverse ,acceptReference,getDataForPrint } from \"../../api/api\";\r\nimport { ReferenceStepper } from \"../ReferenceStepper/ReferenceStepper\";\r\nimport { ReverseHistory } from \"../ReverseHistory/ReverseHistory\";\r\nimport { TerminatedForm } from \"../Terminated/Terminated\";\r\nimport { getDynamicForm } from \"./api/api\";\r\nimport { Actions } from \"./components/Actions/Actions\";\r\nimport { Attachment } from \"./components/Attachment/Attachment\";\r\nimport { ReferencesActions } from \"./components/RefrenceAndActionsForm/RefrenceAndActions\";\r\nimport \"./style.scss\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { ArchiveForm } from \"../ArchiveForm/ArchiveForm\";\r\nimport { AssignTypes } from \"../../types\";\r\nimport { JobActionList } from \"./components/JobActionList/JobActionList\";\r\nimport { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { AcceptSelfService } from \"../AcceptSelfService/AcceptSelfService\";\r\nimport { ReferenceTree } from \"./components/ReferencesTree/ReferencesTree\";\r\nimport { ModalFormList } from \"components/ModalStepper/ModalFormList\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\nexport const ActionList = ({ haveReverse ,buttonPrintObjCallBack, referenceId, onHide, handleShowReferenceStepper , styleCondition ,jobId,rowObject ,handleFinishedReference }: any) => {\r\n let headerData;\r\n const [dynamicForm, setDynamicForm] = useState(\"GeneralRequestForm\");\r\n let [showDynamicForm, setShowDynamicForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showReferenceAndActions, setShowReferenceAndActions] = useState(false);\r\n const [showActions, setShowActions] = useState(false);\r\n const [mode, setmode] = useState(\"\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [showattachment, setshowAttachment] = useState(false);\r\n const [showReference, setShowReference] = useState(false);\r\n const [currentModalWidth, setCurrentModalWidth] = useState(70);\r\n const [ShowReferDescriptionForm, setShowReferDescriptionForm] = useState(false);\r\n const [showTerminatedForm, setShowTerminatedForm] = useState(false);\r\n const [showAccept, setShowAccept] = useState(true);\r\n const [showArchiveForm, setShowArchiveForm] = useState(0);\r\n const [curentTab, setCurentTab] = useState(\"request\")\r\n\r\n\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n } \r\n\r\n const getDataForPrintAsync =async (id) => {\r\n\r\n if(jobId){\r\n if(id.includes(\"Design\")){\r\n const res = await getDataForPrint(jobId)\r\n GetReportWithJsonData( id.replace(\"Design\" , \"\"), res.Data ,2)\r\n }else if(id.includes(\"Default\")){\r\n const res = await getDataForPrint(jobId)\r\n GetReportWithJsonData( id.replace(\"Default\" , \"\"), res.Data ,2)\r\n \r\n }else{\r\n const res = await getDataForPrint(jobId)\r\n GetReportWithJsonData( id, res.Data ,1 )\r\n \r\n }\r\n \r\n }\r\n try {\r\n\r\n } catch (error) {\r\n \r\n }\r\n };\r\n\r\n const handleAttachment = () => {\r\n setSelectedId(referenceId)\r\n setmode(\"allattach\")\r\n setshowAttachment(true)\r\n }\r\n /* #endregion */\r\n const selectedArchiveCallback = () => {\r\n setShowArchiveForm(1)\r\n };\r\n /* #region toolbarActions */\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\": alert(\"print \"); break;\r\n // case \"excel\": alert(\"excel \"); break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n case \"archive\": if (referenceId) { selectedArchiveCallback() } break;\r\n case \"report\": setShowActions(true); break;\r\n case \"reverse\": setShowReferDescriptionForm(true) ; break;\r\n case \"help\": alert(\"call api help\"); break;\r\n case \"attach\": handleAttachment(); break;\r\n case \"history\": if (referenceId) setShowReferenceAndActions(true); break;\r\n case \"finish\": if (referenceId) { setShowTerminatedForm(true) } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n } break;\r\n case \"reference\":\r\n if (referenceId) { handleShowReferenceStepper(referenceId); onHide() }\r\n break;\r\n }\r\n };\r\n /* #endregion */\r\n\r\n async function getDynamicFormAsync(id: string) {\r\n setLoading(false)\r\n try {\r\n const res = await getDynamicForm(id);\r\n if (res.Data){\r\n\r\n let data :any= []\r\n res.Data.map((item, index)=>{\r\n if(item.Name != \"SignatureForm\"){\r\n if(res.Data?.[index+1] && res.Data?.[index+1]?.Name ==\"SignatureForm\" ){\r\n data.push({...item , \r\n forms :[res.Data[index+1]]\r\n })\r\n }else{\r\n data.push(item)\r\n }\r\n }\r\n \r\n })\r\n setDynamicForm(data);\r\n } else\r\n setDynamicForm(undefined);\r\n if (dynamicForm) {\r\n\r\n setShowDynamicForm(true);\r\n }\r\n else { setShowDynamicForm(false) } \r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n async function ReferReverseAsync(e) {\r\n e.preventDefault()\r\n let ReverseDescription = e.target.ReverseDescription.value\r\n if (ReverseDescription.length > 0) {\r\n try {\r\n await ReferReverse(referenceId, ReverseDescription,e?.target?.sendMessageToPerformer.checked);\r\n setShowReferDescriptionForm(false)\r\n setForceUpdate(!forceUpdate)\r\n onHide()\r\n } catch (error) {\r\n }\r\n setShowReferDescriptionForm(false)\r\n }\r\n }\r\n async function acceptReferenceAsync(referenceId) {\r\n try {\r\n await acceptReference(referenceId);\r\n setShowAccept(false)\r\n } catch (error) {\r\n\r\n }\r\n \r\n\r\n }\r\n useEffect(() => { \r\n getDynamicFormAsync(referenceId);\r\n }, [ forceUpdate ]);\r\n\r\n\r\n\r\n let tabContent = [\r\n\r\n { title: \"request\" ,body: (<>\r\n
\r\n \r\n\r\n {haveReverse ?\r\n \r\n : <>\r\n }\r\n {((rowObject?.AssignType == AssignTypes.SELF_SERVICE&&rowObject?.AcceptTime==null) && showAccept)&&\r\n {acceptReferenceAsync(rowObject?.Id)}} onHide={(e)=>{e.stopPropagation(); setShowAccept(false)}}/>\r\n } \r\n {headerData && }\r\n {loading ? \r\n <>\r\n {showDynamicForm &&\r\n (dynamicForm ? (\r\n <>\r\n {onHide()}}\r\n JobNo={rowObject?.JobNo}\r\n disable={((rowObject?.AssignType == AssignTypes.SELF_SERVICE&&rowObject?.AcceptTime==null) && showAccept)}\r\n inDynamicForms={true}\r\n jobId={jobId}\r\n reload={setForceUpdate}\r\n onHide={() => { setShowDynamicForm(false); setForceUpdate(true);setShowDynamicForm(true); }}\r\n Id={rowObject?.Id}\r\n taskTitle={rowObject?.TaskTitle}\r\n formList={dynamicForm}\r\n styleCondition={styleCondition}/>\r\n \r\n \r\n ) : ())\r\n } \r\n \r\n : \r\n }\r\n\r\n
\r\n\r\n ), },\r\n { title: \"referenceandactionshistory\" ,body: ( ), },\r\n { title: \"referencestree\" ,body: ( ), },\r\n ];\r\n return (\r\n <>\r\n\r\n {showActions &&\r\n setShowActions(false)} show={showActions}>\r\n {handleShowReferenceStepper(e);onHide()}}\r\n onHide={() => setShowActions(false)}\r\n mode={mode}\r\n referenceId={referenceId}\r\n />\r\n \r\n }\r\n {showTerminatedForm &&\r\n { setShowTerminatedForm(false) }} show={showTerminatedForm} >\r\n setShowTerminatedForm(false)} />\r\n \r\n } \r\n {showArchiveForm>0 &&\r\n setShowArchiveForm(0)} show={showArchiveForm>0}>\r\n setShowArchiveForm(0)} />\r\n \r\n }\r\n {showReferenceAndActions &&\r\n setShowReferenceAndActions(false)} show={showReferenceAndActions}>\r\n \r\n \r\n }\r\n {showReference &&\r\n { setShowReference(false) }} show={showReference} getModalWidth={setCurrentModalWidth}>\r\n { setShowReference(false) }} referenceId={referenceId} styleCondition={currentModalWidth} />\r\n \r\n }\r\n {ShowReferDescriptionForm &&\r\n setShowReferDescriptionForm(false)} show={ShowReferDescriptionForm}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n }\r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getProcessStarting = ( positionId: any ) => http({\r\n url: ENDPOINTS.bpmnApi.process.getStarting,\r\n method: 'get',\r\n/* params: {\r\n positionId: positionId \r\n } */\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err)\r\n })\r\n\r\n","import { ButtonToolbar } from \"components/ButtonToolbar/ButtonToolbar\";\r\nimport { ButtonToolbarProcessFilter } from \"components/ButtonToolbarProcessFilter/ButtonToolbarProcessFilter\";\r\nimport { ButtonToolbarProcessStarting } from \"components/ButtonToolbarProcessStarting/ButtonToolbarProcessStarting\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport React , {useEffect, useState} from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport \"../../../../../components/Toolbar/style.scss\"\r\n\r\ninterface props {\r\n handleClickToolbar: (clickedButtonName: string) => void;\r\n handleSelectedStartingProcessToolbar?: (selectedStarting: string) => void;\r\n handleSelectedProcessFilterToolbar?: (selectedProcessFilter: string) => void;\r\n handleSearch?: (str: any) => void;\r\n reference?: boolean;\r\n action?: boolean;\r\n reminder?: boolean;\r\n reverse?: boolean;\r\n undo?: boolean;\r\n finish?: boolean;\r\n current?: boolean;\r\n archive?: boolean;\r\n personalArchive?: boolean;\r\n excel: boolean;\r\n print: boolean;\r\n refresh: boolean;\r\n create?: boolean;\r\n edit?: boolean;\r\n attach?: boolean;\r\n attachHover?: string;\r\n view: boolean;\r\n help: boolean;\r\n search: boolean;\r\n remove?: boolean;\r\n Send?: boolean;\r\n report?: boolean;\r\n Updated?: boolean;\r\n RefreshWithNotif?: boolean;\r\n id?: boolean;\r\n}\r\nexport const Toolbar: React.FC = ({\r\n handleClickToolbar,\r\n handleSelectedStartingProcessToolbar,\r\n handleSelectedProcessFilterToolbar,\r\n handleSearch,\r\n reference,\r\n action,\r\n reminder,\r\n reverse,\r\n undo,\r\n finish,\r\n current,\r\n archive,\r\n personalArchive,\r\n excel,\r\n print,\r\n refresh,\r\n create,\r\n edit,\r\n attach,\r\n attachHover,\r\n view,\r\n help,\r\n search,\r\n remove,\r\n RefreshWithNotif,\r\n Send,\r\n report,\r\n Updated,\r\n id,\r\n}) => {\r\n const [shortcutList, setShortcutList] = useState({});\r\n const [openToolbar, setOpenToolbar] = useState(false);\r\n\r\n const toggleToolbar = () => {\r\n setOpenToolbar(!openToolbar)\r\n }\r\n\r\n const handleSelectedProcessStarting = (id: string) => {\r\n handleSelectedStartingProcessToolbar && handleSelectedStartingProcessToolbar(id);\r\n }\r\n const handleSelectedFilterProcess = (id: string) => {\r\n handleSelectedProcessFilterToolbar && handleSelectedProcessFilterToolbar(id);\r\n }\r\n \r\nuseEffect(() => {\r\n// window.addEventListener(\"keydown\" , keydown , true)\r\n let StorageShortcut = localStorage.getItem(\"Shortcut\")\r\n let ShortcutList\r\n if (StorageShortcut == null) {\r\n setShortcutList({})\r\n } else {\r\n ShortcutList = JSON.parse(StorageShortcut)\r\n setShortcutList(ShortcutList)\r\n\r\n }\r\n\r\n}, [])\r\n\r\n \r\n\r\n return (\r\n
\r\n
\r\n
\r\n {search ? : null}\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n {trans(\"Filtercsacasc\")+\" \"+ trans(\"Process\")}\r\n \r\n }\r\n >\r\n
\r\n {handleSelectedProcessFilterToolbar&&\r\n \r\n }\r\n
\r\n \r\n \r\n {trans(\"excel\")}\r\n \r\n }\r\n >\r\n
\r\n {excel ? (\r\n { handleClickToolbar(\"excel\") }} />\r\n\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Print\")}\r\n \r\n }\r\n >\r\n
\r\n {print ? (\r\n { handleClickToolbar(\"print\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"delete\")}\r\n \r\n }\r\n >\r\n
\r\n { remove ? (\r\n { handleClickToolbar(\"remove\"); }} />\r\n ) : null}\r\n
\r\n \r\n \r\n \r\n {trans(\"undo\")}\r\n \r\n }\r\n >\r\n
\r\n {undo ? (\r\n { handleClickToolbar(\"undo\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n\r\n \r\n \r\n {trans(\"Send\")}\r\n \r\n }\r\n >\r\n
\r\n {Send ? (\r\n { handleClickToolbar(\"Send\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Current\")}\r\n \r\n }\r\n >\r\n
\r\n {current ? (\r\n { handleClickToolbar(\"current\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"report\")}\r\n \r\n }\r\n >\r\n
\r\n {report ? (\r\n { handleClickToolbar(\"report\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {personalArchive ? trans(\"personalArchive\") : trans(\"archive\")}\r\n \r\n }\r\n >\r\n
\r\n {archive ? (\r\n { handleClickToolbar(\"archive\") }} />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"reminder\")}\r\n \r\n }\r\n >\r\n
\r\n {reminder ? (\r\n { handleClickToolbar(\"reminder\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n \r\n \r\n {attachHover? trans(\"Attach\")+\" \"+trans(attachHover) : trans(\"Attach\")}\r\n \r\n }\r\n >\r\n
\r\n {attach ? \r\n { handleClickToolbar(\"attach\") }} />\r\n : null}\r\n
\r\n \r\n \r\n {window.location.href.includes(\"cartable\") ? trans(\"executivetermination\") : trans(\"Finish\")}\r\n \r\n }\r\n >\r\n
\r\n {finish ? (\r\n { handleClickToolbar(\"finish\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"reversetoreferer\")}\r\n \r\n }\r\n >\r\n
\r\n {reverse ? (\r\n { handleClickToolbar(\"reverse\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Reference\")}\r\n \r\n }\r\n >\r\n
\r\n {reference ? (\r\n handleClickToolbar(\"reference\")} />\r\n ) : null}\r\n
\r\n \r\n \r\n { trans(\"view\")+\" \"+ trans(\"Action\")}\r\n \r\n }\r\n >\r\n
\r\n {action ? (\r\n { handleClickToolbar(\"action\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"refresh\")}\r\n \r\n }\r\n >\r\n
\r\n {refresh ? (\r\n { handleClickToolbar(\"refresh\") }} />\r\n ) : null}\r\n
\r\n \r\n\r\n \r\n {trans(\"create\")}\r\n \r\n }\r\n >\r\n
\r\n {create ? (\r\n \r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"view\")}\r\n \r\n }\r\n >\r\n\r\n
\r\n {view ? (\r\n { handleClickToolbar(\"view\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"edit\")}\r\n \r\n }\r\n >\r\n
\r\n {edit ? (\r\n { handleClickToolbar(\"edit\") }} />\r\n ) : null}\r\n
\r\n \r\n \r\n {trans(\"Help\")}\r\n \r\n }\r\n >\r\n
\r\n {help ? (\r\n { handleClickToolbar(\"help\") }} />\r\n ) : null}\r\n
\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { DynamicComponentHOC } from \"components/DynamicComponentHOC/DynamicComponentHOC\";\r\nimport { GroupPerson } from \"components/GroupPerson/GroupPerson\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { AssignTypes, CartableType, MessageType } from \"types/enum\";\r\nimport { DynamicForm } from \"types/types\";\r\nimport { DYNAMICFORMS } from \"utils/dynamicForms\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { downloadCSV, getGridSetting, getPageSize, trans } from \"utils/helpers\";\r\nimport { CancelFinishedReference, DeleteReference, FinishedReference, ReferReverse, RejectReference, UnderFollowup, acceptReference, getCartable, getJobReferrer, getJobRequester, getStartForm, getViewForm, ongoingReference, undoReference } from \"./api/api\";\r\nimport { ActionList } from \"./components/ActionList/ActionList\";\r\nimport { Actions } from \"./components/ActionList/components/Actions/Actions\";\r\nimport { Attachment } from \"./components/ActionList/components/Attachment/Attachment\";\r\nimport { ReferencesActions } from \"./components/ActionList/components/RefrenceAndActionsForm/RefrenceAndActions\";\r\nimport { ArchiveForm } from \"./components/ArchiveForm/ArchiveForm\";\r\nimport { getArchivedJob } from \"./components/ArchiveForm/api\";\r\nimport { JobSendForm } from \"./components/JobSendForm/JobSendForm\";\r\nimport { ReferenceStepper } from \"./components/ReferenceStepper/ReferenceStepper\";\r\nimport { TerminatedForm } from \"./components/Terminated/Terminated\";\r\nimport { Toolbar } from \"./components/Toolbar/Toolbar\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\nimport { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { AcceptSelfService } from \"./components/AcceptSelfService/AcceptSelfService\";\r\nimport { ReferenceTree } from \"./components/ActionList/components/ReferencesTree/ReferencesTree\";\r\n\r\n\r\n\r\ninterface propsCartablePage {\r\n type?: any; // => type is CartableType\r\n}\r\nexport const CartablePage = ({ type }: propsCartablePage) => {\r\n let keys, cartable = [];\r\n let Total_records, pages;\r\n let [dynamicForm, setDynamicForm] = useState(\"GeneralRequestForm\");\r\n let [showDynamicForm, setShowDynamicForm] = useState(false);\r\n const [showDynamicFormView, setShowDynamicFormView] = useState (false);\r\n const [response, setResponse] = useState(null);\r\n const [referenceId, setReferenceId] = useState(null);\r\n const [rowObject, setRowObject] = useState(null);\r\n const referenceIdRef = useRef(referenceId);\r\n const [selectedStartingProcessId, setSelectedStartingProcessId] = useState(null);\r\n const [selectedProcessFilterId, setSelectedProcessFilterId] = useState(null);\r\n const [showActionForm, setShowActionForm] = useState(false);\r\n const [showTerminatedForm, setShowTerminatedForm] = useState(false);\r\n const [showReminder, setShowReminder] = useState(false);\r\n const [reload, setReload] = useState(false); // integer state\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(20);\r\n const [mode, setMode] = useState();\r\n const [showReference, setShowReference] = useState(false);\r\n const [currentModalWidth, setCurrentModalWidth] = useState(70);\r\n const [showAttachment, setShowAttachment] = useState(false);\r\n const [ShowReferDescriptionForm, setShowReferDescriptionForm] = useState(false);\r\n const [ShowReferenceAndActions, setShowReferenceAndActions] = useState(false);\r\n const [ShowReferenceTree, setShowReferenceTree] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [ShowDynamicFormViewLoading, setShowDynamicFormViewLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [endpoint, setEndpoint] = useState();\r\n const [showArchiveForm, setShowArchiveForm] = useState(0);\r\n const [showJobSendForm, setShowJobSendForm] = useState(false);\r\n const [typeOfDataGrid, setTypeOfDataGrid] = useState(type);\r\n const layoutContext = useContext(LayoutContext);\r\n const [search, setsearch] = useState(null);\r\n const [showActions, setShowActions] = useState(false);\r\n \r\n const [filterAndSort, setFilterAndSort] = useState(null);\r\n const [showstep, setShowstep] = useState({});\r\n const [showAccept, setShowAccept] = useState(true);\r\n const [Updated, setUpdated] = useState(true);\r\n const [archivedList, setArchivedList] = useState()\r\n const [curentTab, setCurentTab] = useState(\"request\")\r\n const [buttonPrintObj, setButtonPrintObj] = useState()\r\n\r\n let customFuction: any = []\r\n const navigate = useNavigate();\r\n\r\n\r\n if(type ==CartableType.Current ||type === CartableType.Ongoing ) {\r\n customFuction.push([(e) => { setReferenceId(e.Id); setMode(\"view\"); processViewCallback(e?.ProcessId);}, \"eye\", \"view\"])\r\n customFuction.push([(e) => { setReferenceId(e.Id);setMode(\"edit\"); setShowReference(true);}, \"share-from-square\", \"Reference\"])\r\n customFuction.push([(e) => { setReferenceId(e.Id);setMode(\"edit\"); setShowActionForm(true);}, \"bolt\", \"action\"])\r\n customFuction.push([(e) => { chatWithRequester(e.JobId) }, \"paper-plane\", \"ChatWithRequester\"])\r\n customFuction.push([(e) => { chatWithReferrer(e.Id) }, \"paper-plane\", \"ChatWithReferrer\"])\r\n customFuction.push([(e) => { setReferenceId(e.Id); setShowActions(true) }, \"bolt\", trans(\"submit\")+\" \"+trans(\"report\") ])\r\n customFuction.push([(e) => { setReferenceId(e.Id);setShowTerminatedForm(true)}, \"flag-checkered\", \"finish\"])\r\n customFuction.push([(e) => { setShowReferDescriptionForm(true) }, \"reply\", \"reverse\"])\r\n customFuction.push([(e) => { ongoingReferenceAsync(e.Id, true) }, \"hourglass-half\", \"Ongoing\"])\r\n customFuction.push([(e) => { acceptReferenceAsync(e.Id) }, \"check-circle\", \"accept\",\"AssignType\" ,AssignTypes.SELF_SERVICE])\r\n }else if (type == CartableType.Referred){\r\n customFuction.push([(e) => { undoReferenceAsync(e.Id) }, \"undo\", \"Undo\"])\r\n customFuction.push([(e) => { UnderFollowupAsync(e.Id, true) }, \"hourglass-half\", \"UnderFollowup\"])\r\n }\r\n if( type !== CartableType.Draft){\r\n customFuction.push([(e) => { setReferenceId(e.Id); setShowReferenceAndActions(true) }, \"clipboard\", \"referenceandactionshistory\"])\r\n customFuction.push([(e) => { setReferenceId(e.Id); setShowReferenceTree(true) }, \"clipboard\", \"referencestree\"])\r\n }\r\n \r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n } \r\n\r\n const Searchhandleer = (str) => {\r\n setPageNum(1);\r\n referenceIdRef.current = null\r\n setReferenceId(null);\r\n setRowObject(null);\r\n if (str === \"\") {\r\n setsearch(null)\r\n getCartableAsync(1, null )\r\n \r\n } else {\r\n setsearch(str)\r\n getCartableAsync(1 ,str)\r\n }\r\n }\r\n\r\n const handleAttachmentRow = (id) => {\r\n setEndpoint(ENDPOINTS.cartable.reference.attachments)\r\n setReferenceId(id)\r\n setShowAttachment(true)\r\n }\r\n const handlechangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"cartable\" + type + `${selectedProcessFilterId}`, e.currentTarget.value)\r\n getCartableAsync(1)\r\n };\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else { setPageNum(value); getCartableAsync(value); }\r\n } else {\r\n\r\n }\r\n };\r\n\r\n const HandleNextPage = () => {\r\n if (pageNum < pages) {\r\n setPageNum(+pageNum + 1);\r\n getCartableAsync(+pageNum + 1);\r\n }\r\n };\r\n const HandlePrevPage = () => {\r\n if (pageNum > 1) {\r\n setPageNum((pageNum) => { return +pageNum - 1 });\r\n getCartableAsync(+pageNum - 1);\r\n }\r\n };\r\n /* pagination area */\r\n\r\n\r\n\r\n const showDynamicFormViewCallback = (ans: boolean) => {\r\n setShowDynamicFormView(ans);\r\n }\r\n async function getStartFormAsync(id: string) {\r\n const lang = localStorage.getItem(\"lang\");\r\n\r\n document.body.classList.add(\"loading-indicator-\"+lang);\r\n try {\r\n setMode(\"create\");\r\n const res = await getStartForm(id, layoutContext.currentUserPosition.PositionId);\r\n if (res.Data)\r\n setDynamicForm(res.Data);\r\n else\r\n setDynamicForm(undefined);\r\n if (dynamicForm) {\r\n setShowDynamicForm(true);\r\n }\r\n else { setShowDynamicForm(false) }\r\n\r\n } catch (error) {\r\n setDynamicForm(undefined);\r\n setShowDynamicForm(false)\r\n\r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n }\r\n async function getFormViewAsync(id: string) {\r\n \r\n \r\n setShowDynamicFormViewLoading(false)\r\n try {\r\n \r\n const res = await getViewForm(id, layoutContext.currentUserPosition.PositionId);\r\n if (res.Data)\r\n setDynamicForm(res.Data);\r\n else\r\n setDynamicForm(undefined);\r\n if (dynamicForm) {\r\n setShowDynamicFormView(true);\r\n }\r\n else { setShowDynamicFormView(false) }\r\n\r\n } catch (error) {\r\n setDynamicForm(undefined);\r\n setShowDynamicFormView(false)\r\n\r\n }\r\n setShowDynamicFormViewLoading(true)\r\n\r\n }\r\n async function chatWithRequester(e) {\r\n try {\r\n const res = await getJobRequester(e);\r\n if(res?.Data.Id && res?.Data.Id != GUID_EMPTY){\r\n\r\n let item = {\r\n Id:res?.Data.Id ,\r\n name: res?.Data.Description\r\n }\r\n localStorage.setItem(\"JobRequester\",JSON.stringify(item) );\r\n window.open(`#/message`)\r\n }\r\n } catch (error) {\r\n\r\n }\r\n setShowReferDescriptionForm(false)\r\n }\r\n async function chatWithReferrer(e) {\r\n try {\r\n const res = await getJobReferrer(e);\r\n if(res?.Data.Id && res?.Data.Id != GUID_EMPTY){\r\n let item = {\r\n Id:res?.Data.Id ,\r\n name: res?.Data.Description\r\n }\r\n localStorage.setItem(\"JobRequester\",JSON.stringify(item) );\r\n window.open(`#/message`)\r\n }\r\n } catch (error) {\r\n\r\n }\r\n setShowReferDescriptionForm(false)\r\n }\r\n async function ReferreverseAsync(e) {\r\n e.preventDefault()\r\n let ReverseDescription = e.target.ReverseDescription.value\r\n if (ReverseDescription.length > 0) {\r\n try {\r\n await ReferReverse(referenceId, ReverseDescription , e?.target?.sendMessageToPerformer.checked);\r\n //setReload(true)\r\n setShowReferDescriptionForm(false)\r\n getCartableAsync()\r\n } catch (error) {\r\n }\r\n }\r\n }\r\n\r\n async function ongoingReferenceAsync(referenceId, status) {\r\n try {\r\n await ongoingReference(referenceId, status);\r\n } catch (error) {\r\n\r\n }\r\n getCartableAsync()\r\n\r\n }\r\n async function UnderFollowupAsync(referenceId, status) {\r\n try {\r\n await UnderFollowup(referenceId, status);\r\n } catch (error) {\r\n\r\n }\r\n getCartableAsync()\r\n\r\n }\r\n async function acceptReferenceAsync(referenceId) {\r\n try {\r\n await acceptReference(referenceId);\r\n setShowAccept(false)\r\n } catch (error) {\r\n\r\n }\r\n getCartableAsync()\r\n\r\n }\r\n async function undoReferenceAsync(referenceId) {\r\n try {\r\n await undoReference(referenceId);\r\n getCartableAsync()\r\n } catch (error) {\r\n\r\n }\r\n }\r\n async function handleDeleteReference(id = referenceId) {\r\n try {\r\n await DeleteReference(id);\r\n getCartableAsync()\r\n } catch (error) {\r\n\r\n }\r\n }\r\n\r\n const selectedStartingProcessCallback = (id: string) => {\r\n setMode(\"create\");\r\n setSelectedStartingProcessId(id);\r\n setReferenceId(undefined);\r\n getStartFormAsync(id);\r\n };\r\n \r\n const processViewCallback = async (id: string) => {\r\n try {\r\n setSelectedStartingProcessId(id);\r\n getFormViewAsync(id);\r\n if(rowObject &&rowObject?.Archive){\r\n const archive = await getArchivedJob(rowObject?.JobId)\r\n setArchivedList(archive.Data) \r\n }\r\n } catch (error) {\r\n \r\n }\r\n\r\n };\r\n\r\n const selectedProcessFilterCallback = (id: string) => {\r\n if (id === \"00000000000000000000000000000000\") {\r\n setSelectedProcessFilterId(null);\r\n } else {\r\n setSelectedProcessFilterId(id);\r\n }\r\n };\r\n const selectedArchiveCallback = () => {\r\n setShowArchiveForm(1)\r\n };\r\n\r\n const selectedRowCallback = (obj, index) => {\r\n setRowObject(obj);\r\n referenceIdRef.current = obj?.Id\r\n setReferenceId(obj?.Id);\r\n };\r\n\r\n const showReferenceStepperCallback = (referenceId2: string|boolean) => {\r\n if(referenceId2!==false){\r\n if(window.location.href.includes(\"draft\")){\r\n setRowObject({Id:referenceId2 });\r\n }\r\n setReferenceId(referenceId2);\r\n localStorage.setItem(\"ShowNewReferene\", \"null\"); \r\n sessionStorage.setItem(\"changingforms\", \"false\")\r\n setShowReference(true);\r\n setShowDynamicForm(false);\r\n setShowDynamicFormView(false);\r\n }\r\n };\r\n const print = () => {\r\n var printdata = document.getElementsByClassName(\"printForm\")[0] ;\r\n let newwin:any = window.open(\"\");\r\n newwin.document.write(printdata.outerHTML);\r\n newwin.print();\r\n newwin.close();\r\n \r\n };\r\n\r\n const clickToolbarCallback = (clickedButtonName: string, id?) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"reference\":\r\n if (referenceId || id) { setMode(\"edit\"); setShowReference(true); } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\") \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n }\r\n break;\r\n case \"action\":\r\n if (referenceIdRef.current) {\r\n setMode(\"edit\")\r\n setShowActionForm(true);\r\n } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n }\r\n break;\r\n case \"reminder\": if (referenceId) { setMode(\"edit\"); setShowReminder(true); } else { \r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n } break;\r\n case \"archive\": if (referenceId) { selectedArchiveCallback() } break;\r\n case \"current\": alert(\"call api current \" + referenceId); break;\r\n case \"view\": if (referenceId) {setMode(\"view\"); processViewCallback(rowObject?.ProcessId); } else { \r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n } break;\r\n case \"edit\": if (referenceId) { setMode(\"edit\"); processViewCallback(rowObject?.ProcessId);} else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\") \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n } break;\r\n case \"print\": print(); break;\r\n case \"excel\": downloadCSV(response.Data ,( typeOfDataGrid === CartableType.Current|| typeOfDataGrid === CartableType.Ongoing) ?7 :6 ,trans(\"cartable\")+\" \"+trans(CartableType[type])); break;\r\n case \"remove\": if (referenceId){\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" ,()=>{ type === CartableType.Ongoing ? ongoingReferenceAsync(referenceId, false) : type === CartableType.Followup ?UnderFollowupAsync(referenceId, false) : handleDeleteReference() } )}else { Toast(trans(\"Msg_SelectRow\"), \"warning\") } break;\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete,()=>{ type === CartableType.Ongoing ? ongoingReferenceAsync(referenceId, false) : type === CartableType.Followup ?UnderFollowupAsync(referenceId, false) : handleDeleteReference() } )}else \r\n // { Toast(trans(\"Msg_SelectRow\"), \"warning\") } \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n break;\r\n\r\n case \"finish\": if (referenceId) { setShowTerminatedForm(true) } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n } break;\r\n case \"refresh\": setReload(true); break;\r\n case \"reverse\": if (referenceId) { setMode(\"edit\"); setShowReferDescriptionForm(true) } else { \r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n }; break;\r\n case \"undo\": if (referenceId) { setMode(\"edit\"); undoReferenceAsync(referenceId) } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n }; break;\r\n case \"send\": if (referenceId) { setMode(\"create\"); setShowJobSendForm(true) } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\") \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n }; break;\r\n case \"report\": if (referenceId)setShowActions(true); break;\r\n case \"attach\": if (referenceId) {\r\n setEndpoint(ENDPOINTS.cartable.attachment)\r\n setMode(\"edit\")\r\n setShowAttachment(true)\r\n } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning) \r\n\r\n } break; \r\n }\r\n };\r\n useEffect(() => {\r\n setLoading(false)\r\n if(type != typeOfDataGrid){\r\n setResponse({ Data: [] })\r\n }\r\n setTypeOfDataGrid(type)\r\n let settings = getGridSetting(\"cartable\" + type + `${selectedProcessFilterId}`)\r\n setFilterAndSort({Filterlist:settings[0],OrderFormat:settings[1] })\r\n referenceIdRef.current = null\r\n setReferenceId(null);\r\n setRowObject(null);\r\n }, [type ]);\r\n\r\n async function getCartableAsync(pagNum = pageNum ,searchSTR=search ) {\r\n setLoading(false)\r\n keys=[];\r\n cartable=[];\r\n setResponse({ Data: [] })\r\n let sizePage = getPageSize(\"cartable\" + type + `${selectedProcessFilterId}`)\r\n setPageSize(sizePage)\r\n try {\r\n if(type==typeOfDataGrid){\r\n const res = await getCartable(pagNum, sizePage, type, selectedProcessFilterId, layoutContext.currentUserPosition.PositionId, filterAndSort?.OrderFormat?.join(\",\"), searchSTR, filterAndSort?.Filterlist);\r\n setUpdated(!Updated)\r\n layoutContext.setNotificount( res?.data?.Data?.NewRecords )\r\n setResponse(res?.data?.Data);\r\n }\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n useEffect(() => {\r\n setResponse({ Data: [] })\r\n if(reload ){\r\n getCartableAsync();\r\n setReload(false)\r\n }\r\n \r\n }, [reload]);\r\n\r\n\r\n useEffect(() => {\r\n setResponse({ Data: [] })\r\n setRowObject(null);\r\n referenceIdRef.current = null\r\n setReferenceId(null);\r\n if(filterAndSort != null){\r\n getCartableAsync(); \r\n\r\n }\r\n let requesterStorage =localStorage.getItem(\"ShowNewReferene\")\r\n let NewReferene:any = {}\r\n if(requesterStorage == null) {\r\n NewReferene ={};\r\n } else {\r\n NewReferene = JSON.parse(requesterStorage)\r\n }\r\n if(NewReferene?.referenceId?.length > 0){\r\n setRowObject(NewReferene)\r\n setReferenceId(NewReferene.referenceId);\r\n setMode(\"view\"); \r\n processViewCallback(NewReferene.ProcessId); \r\n }\r\n }, [filterAndSort, selectedProcessFilterId, layoutContext.currentUserPosition ]);\r\n\r\n \r\n async function handleFinishedReference(type ,text=\"\",sendMsg=false ) {\r\n try {\r\n if(type===\"Terminated\"){\r\n await FinishedReference(referenceId,sendMsg ,text); \r\n }else if(type===\"CancelTerminate\"){ \r\n await CancelFinishedReference(referenceId);\r\n }else{\r\n await RejectReference(referenceId ,text,sendMsg);\r\n }\r\n setShowTerminatedForm(false)\r\n setShowActionForm(false)\r\n referenceIdRef.current = null\r\n setReferenceId(null);\r\n getCartableAsync(); \r\n } catch (error) {\r\n \r\n }\r\n \r\n }\r\n\r\n let tabContent = [\r\n\r\n { title: \"request\" ,body: (<>\r\n {!showstep[1] &&\r\n {localStorage.setItem(\"ShowNewReferene\", \"null\"); setShowDynamicFormView(false); setReload(true);sessionStorage.setItem(\"changingforms\", \"false\"); setCurentTab(\"request\") ;setLoading(false) }} componentName={DYNAMICFORMS[dynamicForm.Name] ?null:dynamicForm.Name} component={DYNAMICFORMS[dynamicForm.Name] ?DYNAMICFORMS[dynamicForm.Name].component:null}\r\n reload={setReload} Name={dynamicForm?.Name} modeParams={type === CartableType.Finished ?\"view\" : mode} componentParams={dynamicForm.Parameters} processId={selectedStartingProcessId}\r\n referenceId={referenceId} jobId={rowObject?.JobId} handleCancelForm={() => {localStorage.setItem(\"ShowNewReferene\", \"null\");showDynamicFormViewCallback(false);sessionStorage.setItem(\"changingforms\", \"false\");}} handleShowReferenceStepper={showReferenceStepperCallback} />\r\n }\r\n {(archivedList&&archivedList.length >0 )&& \r\n
\r\n
{trans(\"ArchivedIn\")}
\r\n
\r\n
\r\n {archivedList.map(item=>(\r\n
\r\n {item}\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n \r\n }\r\n\r\n ), },\r\n type !=CartableType.Draft&& { title: \"referenceandactionshistory\" ,body: ( ), },\r\n type !=CartableType.Draft&&{ title: \"referencestree\" ,body: ( ), },\r\n\r\n ];\r\n\r\n if (response &&\r\n response.Data && response.Data[0]) {\r\n keys = Object.keys(response.Data[0]);\r\n \r\n cartable = response.Data;\r\n Total_records = response.TotalRecords;\r\n } else if (response && response?.Data?.length === 0) {\r\n keys = [];\r\n cartable = [];\r\n }\r\n pages = Total_records > pageSize ? Math.ceil(Total_records / pageSize) : 1;\r\n const getModalWidth = (modalWidth) => {\r\n setCurrentModalWidth(modalWidth)\r\n }\r\n\r\n \r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n
\r\n {loading ?\r\n (cartable.length > 0 && keys ?\r\n { str.Filterlist != undefined ? setFilterAndSort(str) : setFilterAndSort({...filterAndSort, Filterlist:str})}}\r\n orderFormat={(order)=>{setFilterAndSort({...filterAndSort, OrderFormat:order}) }}\r\n orderFormatList={filterAndSort.OrderFormat}\r\n filterStr={filterAndSort.Filterlist}\r\n DoubleClick={(obj) => { referenceIdRef.current = obj.Id; setReferenceId(obj.Id); if (type === CartableType.Current || type === CartableType.Finished ){ clickToolbarCallback(\"action\", obj.Id)}else{clickToolbarCallback(\"view\", obj.Id)} }}\r\n View={true}\r\n startIndex={( typeOfDataGrid === CartableType.Current|| typeOfDataGrid === CartableType.Ongoing) ?12 :11}\r\n customFuction={customFuction}\r\n handleAttachment={handleAttachmentRow} \r\n handleAttachmentText={trans(\"attachment\")+\" \"+trans(\"reference\")} \r\n selectItem={(e) => { }}\r\n parentName={\"cartable\" + type + `${selectedProcessFilterId}`}\r\n theadData={keys}\r\n tbodyData={cartable}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedRowCallback}\r\n rowSelected={rowObject}\r\n totalRecords={Total_records}\r\n pageNum={pageNum}\r\n ViewParametr={\"EyeIcon\"}\r\n pageSize={pageSize}\r\n handleDelete={type === CartableType.Draft ? handleDeleteReference : type === CartableType.Ongoing ? (id) => { ongoingReferenceAsync(id, false) } : null}\r\n HandleNextPage={HandleNextPage}\r\n HandlePrevPage={HandlePrevPage}\r\n handlechangePageSize={handlechangePageSize}\r\n first={() => { getCartableAsync(pages); setPageNum(pages) }}\r\n end={() => { getCartableAsync(1); setPageNum(1) }}\r\n handleGoPage={handleGoPage}\r\n />\r\n : )\r\n : \r\n }\r\n
\r\n
\r\n {ShowReferDescriptionForm &&\r\n setShowReferDescriptionForm(false)} show={ShowReferDescriptionForm}>\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n }\r\n {showActions &&\r\n setShowActions(false)} show={showActions}>\r\n setReload(true)}\r\n onHide={() => setShowActions(false)}\r\n mode={\"create\"}\r\n referenceId={referenceId}\r\n />\r\n \r\n }\r\n {showActionForm &&\r\n { setShowActionForm(false); setReload(true) }} show={showActionForm} getModalWidth={getModalWidth}>\r\n { setShowActionForm(false); setReload(true) }} referenceId={referenceId} jobId={rowObject?.JobId} handleShowReferenceStepper={showReferenceStepperCallback} styleCondition={currentModalWidth} />\r\n \r\n }\r\n {showTerminatedForm &&\r\n { setShowTerminatedForm(false) }} show={showTerminatedForm} getModalWidth={getModalWidth}>\r\n setShowTerminatedForm(false)} />\r\n \r\n } \r\n\r\n {ShowReferenceAndActions &&\r\n { setShowReferenceAndActions(false) }} show={ShowReferenceAndActions}>\r\n \r\n \r\n }\r\n {ShowReferenceTree &&\r\n { setShowReferenceTree(false) }} show={ShowReferenceTree}>\r\n \r\n \r\n }\r\n\r\n {showAttachment &&\r\n { setShowAttachment(false) }} show={showAttachment}>\r\n { setShowAttachment(false); setReload(true) }} mood={mode} endpoint={ENDPOINTS.cartable.reference.attachments} getListEndpoint={endpoint === ENDPOINTS.cartable.attachment ? endpoint : null}getListOwnerId={referenceId} ownerId={ referenceId} />\r\n \r\n }\r\n {showReminder &&\r\n setShowReminder(false)} show={showReminder}>\r\n setShowReminder(false)} label={trans(\"person\")} hasBorder={false} TextBoxName={\"CartableReminder\"} value={\"\"} SourceId={referenceId} />\r\n \r\n }\r\n {showReference && \r\n { setShowReference(false) }} show={showReference} getModalWidth={getModalWidth}>\r\n {setShowReference(false) ;setShowTerminatedForm(true) }} reload={setReload} onHide={() => { setShowReference(false); setReload(true) }} referenceId={referenceId} styleCondition={currentModalWidth} />\r\n \r\n }\r\n {showJobSendForm &&\r\n setShowJobSendForm(false)} show={showJobSendForm}>\r\n setShowJobSendForm(false)} />\r\n \r\n }\r\n {showArchiveForm>0 &&\r\n setShowArchiveForm(0)} show={showArchiveForm>0}>\r\n setShowArchiveForm(0)} />\r\n \r\n }\r\n\r\n {showDynamicForm &&\r\n { setShowDynamicForm(false);setReload(true); }} show={showDynamicForm}>\r\n {sessionStorage.setItem(\"changingforms\", \"false\") ;setLoading(false);setShowDynamicForm(false); if(usenavigate){ navigate(\"/cartable/draft\")}; setReload(true); }}\r\n componentName={DYNAMICFORMS[dynamicForm.Name] ?null:dynamicForm.Name} component={DYNAMICFORMS[dynamicForm.Name] ?DYNAMICFORMS[dynamicForm.Name].component:null}\r\n reload={setReload} Name={dynamicForm.Name} TaskId={dynamicForm.TaskId\t} componentParams={dynamicForm.Parameters} processId={selectedStartingProcessId}\r\n referenceId={referenceId} handleCancelForm={() =>{sessionStorage.setItem(\"changingforms\", \"false\");setShowDynamicForm(false); }} handleShowReferenceStepper={showReferenceStepperCallback} />\r\n \r\n }\r\n {showDynamicFormView &&\r\n { setShowDynamicFormView(false);setReload(true);setCurentTab(\"request\") }} show={showDynamicFormView}> \r\n {ShowDynamicFormViewLoading ? \r\n <>\r\n {((rowObject?.AssignType == AssignTypes.SELF_SERVICE&&rowObject?.AcceptTime==null)&&(rowObject?.referenceId!=undefined ?rowObject?.referenceId==referenceId : rowObject?.Id==referenceId) && showAccept)&&\r\n {acceptReferenceAsync(rowObject?.Id)}} onHide={(e)=>{e.stopPropagation(); setShowAccept(false)}}/>\r\n \r\n }\r\n \r\n \r\n : \r\n }\r\n \r\n }\r\n
\r\n \r\n )\r\n}\r\n\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport {\r\n memo,\r\n useCallback,\r\n useContext,\r\n useEffect,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { GUID_EMPTY, ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { OrganizationType } from \"types/enum\";\r\nimport \"../style.scss\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n\r\ninterface props {\r\n user: any;\r\n contactName: any;\r\n UserList: any;\r\n groupList: any;\r\n onlinUserList: any;\r\n HistoryUserList: any;\r\n forwardMsg: any;\r\n contactSelectList: any;\r\n mode: any;\r\n searchString: any;\r\n\r\n getContacts: () => void;\r\n getGroupList: () => void;\r\n cancelForward: () => void;\r\n getHistoryUserList: (str) => void;\r\n sendContactToShowChat: (name: any) => void;\r\n setmode: (name: any) => void;\r\n UserListSearch: (str: any) => void;\r\n leftFromGroup: (contact: any) => void;\r\n removeGroup: (contact: any) => void;\r\n deleteChat: (contact: any) => void;\r\n setContactSelectList: (list: any) => void;\r\n handleSubmit: (list: any) => void;\r\n createGroup: (list: any) => void;\r\n handleCreateGroup: (list: any) => void;\r\n handleSearch: (list: any) => void;\r\n}\r\n\r\nconst ContactList = ({\r\n sendContactToShowChat,\r\n setmode,\r\n contactSelectList,\r\n onlinUserList,\r\n searchString,\r\n handleSearch,\r\n setContactSelectList,\r\n mode,\r\n handleCreateGroup,\r\n handleSubmit,\r\n createGroup,\r\n cancelForward,\r\n user,\r\n forwardMsg,\r\n UserListSearch,\r\n getGroupList,\r\n getContacts,\r\n getHistoryUserList,\r\n UserList,\r\n HistoryUserList,\r\n groupList,\r\n removeGroup,\r\n leftFromGroup,\r\n deleteChat,\r\n contactName,\r\n}: props) => {\r\n const [showUserType, setShowUserType] = useState(\"Globe\");\r\n const [contactList, setContactList] = useState([]);\r\n const [HistoryContactList, setHistoryContactList] =\r\n useState(HistoryUserList);\r\n const [loading, setLoading] = useState(true);\r\n const [selectedRow, setSelectedRow] = useState([]);\r\n const [favoriteFilter, setfavoriteFilter] = useState(false);\r\n const [PageSize, setPageSize] = useState(8);\r\n const [masrjin, setmasrjin] = useState(0);\r\n const [organizationType, setOrganizationType] = useState(1);\r\n const [search, setSearch] = useState(false);\r\n const [searchStr, setsearchStr] = useState(searchString);\r\n const [noData, setNoData] = useState(false);\r\n\r\n const lastContactName = useRef();\r\n const layoutContext = useContext(LayoutContext);\r\n const listInnerRef = useRef(null);\r\n const listContactRef = useRef(contactSelectList);\r\n listContactRef.current = contactSelectList;\r\n const [longPressTriggered, setLongPressTriggered] = useState(false);\r\n const timeout = useRef();\r\n const target = useRef();\r\n let fristClick: Boolean = true;\r\n\r\n const [showOperations, setShowOperations] = useState(false);\r\n const formButton = useRef();\r\n const showOperationsRef = useRef(false);\r\n\r\n const onLongPress = (e, item) => {\r\n e.stopPropagation();\r\n if (forwardMsg || mode == \"create\") {\r\n setContactSelectList(item);\r\n }\r\n };\r\n\r\n const Press = (e, item) => {\r\n e.stopPropagation();\r\n if ((listContactRef.current.length > 0 && forwardMsg) || mode == \"create\") {\r\n onLongPress(e, item);\r\n } else {\r\n sendContactToShowChat(item);\r\n }\r\n };\r\n\r\n const start = useCallback(\r\n (event, item) => {\r\n if (event.target) {\r\n event.target.addEventListener(\"touchend\", {\r\n passive: false,\r\n });\r\n target.current = event.target;\r\n }\r\n timeout.current = setTimeout(() => {\r\n onLongPress(event, item);\r\n setLongPressTriggered(true);\r\n }, 1500);\r\n },\r\n [onLongPress]\r\n );\r\n\r\n const clear = useCallback(\r\n (event, item, shouldTriggerClick = true) => {\r\n timeout.current && clearTimeout(timeout.current);\r\n if (shouldTriggerClick && !longPressTriggered) {\r\n // Press(event , item);\r\n }\r\n\r\n setLongPressTriggered(false);\r\n if (target.current) {\r\n target.current.removeEventListener(\"touchend\", {\r\n passive: false,\r\n });\r\n }\r\n },\r\n [longPressTriggered]\r\n );\r\n\r\n function ownClick(e, item) {\r\n fristClick = true;\r\n setTimeout(() => {\r\n if (fristClick) {\r\n Press(e, item);\r\n }\r\n }, 250);\r\n }\r\n\r\n function DblClick(e, item) {\r\n fristClick = false;\r\n onLongPress(e, item);\r\n }\r\n\r\n const getPersonContactsAsync = async (type, str: any = null) => {\r\n setLoading(true);\r\n let favorite = localStorage.getItem(\"Favorite\");\r\n let locallist;\r\n if (favorite == null) {\r\n locallist = {};\r\n } else {\r\n locallist = JSON.parse(favorite);\r\n }\r\n setLoading(false);\r\n };\r\n\r\n const ScrollData = (e) => {\r\n /* \r\n if (listInnerRef.current) {\r\n const { scrollTop, scrollHeight, clientHeight } = listInnerRef.current;\r\n if (scrollTop + clientHeight === scrollHeight) {\r\n \r\n if(masrjin==30){\r\n setPageSize(PageSize+3)\r\n setmasrjin(0)\r\n }else{\r\n setmasrjin(masrjin+10)\r\n \r\n }\r\n }\r\n } */\r\n };\r\n const onClickGlobe = async () => {\r\n setmode(null);\r\n setContactSelectList(null);\r\n await getHistoryUserList(null);\r\n\r\n if (HistoryUserList[0]?.id == GUID_EMPTY) {\r\n setNoData(true);\r\n }\r\n setHistoryContactList(HistoryUserList);\r\n setShowUserType(\"Globe\");\r\n };\r\n const onClickContact = async () => {\r\n try {\r\n const res: any = await getContacts();\r\n setContactSelectList(null);\r\n if (res != undefined && res[0].id == GUID_EMPTY) {\r\n setNoData(true);\r\n }\r\n setHistoryContactList(res);\r\n setShowUserType(\"Contact\");\r\n } catch (error) {}\r\n };\r\n const onClickGroupList = async () => {\r\n setmode(null);\r\n\r\n await getGroupList();\r\n if (\r\n groupList != undefined &&\r\n groupList[0] != undefined &&\r\n groupList[0].id == GUID_EMPTY\r\n ) {\r\n setNoData(true);\r\n }\r\n setHistoryContactList(groupList);\r\n setShowUserType(\"GroupList\");\r\n };\r\n\r\n const changefavoriteFilter = (e) => {\r\n let favorite = localStorage.getItem(\"Favorite\");\r\n let locallist;\r\n if (favorite == null) {\r\n locallist = {};\r\n } else {\r\n locallist = JSON.parse(favorite);\r\n }\r\n\r\n let list = contactList.map((item) => {\r\n let fav = locallist[organizationType]\r\n ? locallist[organizationType]?.includes(\r\n item.latestMessageUserIdOrGroupId\r\n )\r\n : false;\r\n return {\r\n latestMessagePersonOrGroupName: item.latestMessagePersonOrGroupName,\r\n latestMessageUserIdOrGroupId: item.latestMessageUserIdOrGroupId,\r\n isFav: fav,\r\n };\r\n });\r\n setContactList(list);\r\n setfavoriteFilter(!favoriteFilter);\r\n };\r\n\r\n const addToFavorite = (e) => {\r\n let favorite = localStorage.getItem(\"Favorite\");\r\n let locallist;\r\n if (favorite == null) {\r\n locallist = {};\r\n } else {\r\n locallist = JSON.parse(favorite);\r\n }\r\n if (locallist[organizationType] && locallist[organizationType].length > 0) {\r\n if (locallist[organizationType].includes(e.id)) {\r\n locallist[organizationType] = locallist[organizationType].replace(\r\n e.id,\r\n \"\"\r\n );\r\n } else {\r\n locallist[organizationType] += e.id + \"*\";\r\n }\r\n } else {\r\n locallist[organizationType] += e.id + \"*\";\r\n }\r\n localStorage.setItem(\"Favorite\", JSON.stringify(locallist));\r\n };\r\n\r\n function multiSelector(e) {\r\n let seletedList: any = JSON.parse(JSON.stringify(selectedRow));\r\n let index1 = selectedRow.findIndex((item, index) => {\r\n if (item.latestMessageUserIdOrGroupId == e.id) {\r\n return true;\r\n }\r\n });\r\n\r\n if (index1 > -1) {\r\n seletedList.splice(index1, 1);\r\n } else {\r\n seletedList.splice(0, 0, e);\r\n setSelectedRow(seletedList);\r\n }\r\n\r\n sendContactToShowChat(seletedList);\r\n }\r\n\r\n const Searchhandleer = (str) => {\r\n if (str == \"\") {\r\n setsearchStr(null);\r\n } else {\r\n setsearchStr(str);\r\n }\r\n handleSearch(str);\r\n if (showUserType == \"Globe\") {\r\n getHistoryUserList(str);\r\n } else {\r\n UserListSearch(str);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getPersonContactsAsync(organizationType);\r\n }, [organizationType, PageSize]);\r\n\r\n useEffect(() => {\r\n if (contactName) {\r\n lastContactName.current = contactName;\r\n }\r\n }, [contactName]);\r\n\r\n useEffect(() => {\r\n if (showUserType == \"Globe\") {\r\n setHistoryContactList(HistoryUserList);\r\n } else if (showUserType == \"GroupList\") {\r\n setHistoryContactList(groupList);\r\n } else {\r\n setHistoryContactList(UserList);\r\n }\r\n }, [UserList, HistoryUserList, showUserType, groupList]);\r\n\r\n function isInList(e) {\r\n let flag = true;\r\n contactSelectList.forEach((item) => {\r\n if (item.latestMessageUserIdOrGroupId == e) {\r\n flag = false;\r\n }\r\n });\r\n return !flag;\r\n }\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n {trans(\"ChatHistory\")}\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n {layoutContext.currentUserPosition.PositionId && (\r\n \r\n {trans(\"Contacts\")}\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n {trans(\"Groups\")}\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n {layoutContext.currentUserPosition.PositionId &&\r\n layoutContext.currentUserPosition.OrganizationType !=\r\n OrganizationType.Customers && (\r\n \r\n {trans(\"newGroup\")}\r\n \r\n }\r\n >\r\n \r\n {\r\n onClickContact();\r\n createGroup(e);\r\n }}\r\n style={{\r\n height: \"20px\",\r\n paddingRight: \"8px\",\r\n cursor: \"pointer\",\r\n }}\r\n className=\"mx-1 contact-book\"\r\n color=\"grey\"\r\n />\r\n \r\n \r\n )}\r\n
\r\n {forwardMsg ? (\r\n <>\r\n {contactSelectList.length > 0 ? (\r\n
\r\n {`${trans(\"Forwardto\")} ${contactSelectList.length}...`}\r\n
\r\n ) : (\r\n
{trans(\"Forwardto\")}...
\r\n )}\r\n\r\n {\r\n sendContactToShowChat(lastContactName.current);\r\n cancelForward();\r\n }}\r\n style={{ marginRight: \"11px\" }}\r\n className=\"col-1 backIcon\"\r\n >\r\n \r\n
\r\n \r\n ) : (\r\n <>\r\n {mode == \"create\" && (\r\n <>\r\n {contactSelectList.length > 0 ? (\r\n
\r\n
\r\n {`${trans(\"New Group\")} `}\r\n \r\n {contactSelectList.length}\r\n \r\n
\r\n
\r\n ) : (\r\n
{trans(\"New Group\")}...
\r\n )}\r\n {\r\n cancelForward();\r\n setmode(null);\r\n }}\r\n style={{ marginRight: \"11px\" }}\r\n className=\"col-1 backIcon\"\r\n >\r\n \r\n
\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n {(showUserType == \"Contact\" || showUserType == \"Globe\") && (\r\n \r\n )}\r\n \r\n {loading ? (\r\n \r\n ) : (\r\n <>\r\n {HistoryContactList&&HistoryContactList.map((item) => (\r\n <>\r\n {!noData && (\r\n <>\r\n {isInList(item.latestMessageUserIdOrGroupId) ? (\r\n \r\n \r\n ownClick(e, item)}\r\n onDoubleClick={(e) => DblClick(e, item)}\r\n onTouchEnd={(e) => clear(e, item)}\r\n onTouchStart={(e) => start(e, item)}\r\n >\r\n {item.isDirect ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n {item.latestMessagePersonOrGroupName}\r\n
\r\n \r\n {\" \"}\r\n {item.latestMessage}\r\n

\r\n \r\n \r\n \r\n <>\r\n {item.haveMsg || item.unreadCount > 0 ? (\r\n
\r\n \r\n {item.unreadCount > 0\r\n ? item.unreadCount\r\n : null}\r\n \r\n
\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n ) : (\r\n \r\n \r\n ownClick(e, item)}\r\n onDoubleClick={(e) => DblClick(e, item)}\r\n onTouchEnd={(e) => clear(e, item)}\r\n onTouchStart={(e) => start(e, item)}\r\n >\r\n {showUserType != \"Contact\" && (\r\n {\r\n setShowOperations(\r\n item.latestMessageUserIdOrGroupId\r\n );\r\n showOperationsRef.current =\r\n item.latestMessageUserIdOrGroupId;\r\n }}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n }}\r\n style={{\r\n position: \"relative\",\r\n width: \"20px\",\r\n paddingLeft: 0,\r\n marginRight: \"-13px\",\r\n marginBottom: \"4px\",\r\n }}\r\n tabIndex={-1}\r\n type=\"button\"\r\n className=\"operations__trigger-btn\"\r\n onBlur={() => {\r\n setShowOperations(false);\r\n showOperationsRef.current = false;\r\n }}\r\n >\r\n \r\n {(showOperations ==\r\n item.latestMessageUserIdOrGroupId ||\r\n showOperationsRef.current ==\r\n item.latestMessageUserIdOrGroupId) && (\r\n \r\n {!item.isDirect && (\r\n \r\n {\r\n leftFromGroup(item);\r\n }}\r\n >\r\n \r\n\r\n

{trans(\"LeftTheGroup\")}

\r\n \r\n \r\n )}\r\n {showUserType != \"GroupList\" ? (\r\n \r\n {\r\n deleteChat(item);\r\n }}\r\n >\r\n \r\n

{trans(\"Delete\")}

\r\n \r\n \r\n ) : (\r\n item.isGroupOwner && (\r\n \r\n {\r\n removeGroup(item);\r\n }}\r\n >\r\n \r\n

{trans(\"Delete\")}

\r\n \r\n \r\n )\r\n )}\r\n \r\n )}\r\n \r\n )}\r\n\r\n {item.isDirect ? (\r\n \r\n \r\n {(item.isOnline ||\r\n onlinUserList.includes(\r\n item.latestMessageUserIdOrGroupId\r\n )) &&
}\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n {item.latestMessagePersonOrGroupName}\r\n
\r\n \r\n {\" \"}\r\n {item.latestMessage}\r\n

\r\n
\r\n \r\n \r\n <>\r\n {item.haveMsg || item.unreadCount > 0 ? (\r\n
\r\n \r\n {item.unreadCount > 0\r\n ? item.unreadCount\r\n : null}\r\n \r\n
\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n )}\r\n \r\n )}\r\n {noData && (\r\n \r\n {trans(\"NoDataForPreview\")}\r\n \r\n )}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n {contactSelectList.length > 0 && forwardMsg && (\r\n {\r\n handleSubmit(e);\r\n }}\r\n className={`chat__input-btn mx-1 border border-primary d-flex align-items-center justify-content-center `}\r\n >\r\n \r\n \r\n )}\r\n {contactSelectList.length > 0 && mode == \"create\" && (\r\n {\r\n handleCreateGroup(e);\r\n setShowUserType(\"Globe\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n
\r\n\r\n {showUserType == \"Globe\" && (\r\n \r\n
\r\n
\r\n
\r\n setSearch(true)}\r\n >\r\n \r\n \r\n
\r\n {\r\n e.preventDefault();\r\n }}\r\n >\r\n \r\n {\r\n Searchhandleer(e.target.value);\r\n }}\r\n className=\"rounded d-md-none mb-1 chat__message-search\"\r\n placeholder=\"جستجو مخاطبین ...\"\r\n />\r\n setSearch(false)}\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {forwardMsg && (\r\n <>\r\n {contactSelectList.length > 0 ? (\r\n
\r\n {`${trans(\"Forwardto\")}${\r\n contactSelectList.length\r\n } ${trans(\"chat\")}...`}\r\n
\r\n ) : (\r\n
{trans(\"Forwardto\")}...
\r\n )}\r\n\r\n {\r\n sendContactToShowChat(lastContactName.current);\r\n cancelForward();\r\n }}\r\n style={{ marginRight: \"11px\" }}\r\n className=\"col-2 backIcon\"\r\n >\r\n \r\n
\r\n \r\n )}\r\n
\r\n \r\n \r\n {loading ? (\r\n \r\n ) : (\r\n <>\r\n {HistoryContactList.map((item) => (\r\n <>\r\n {!noData && (\r\n <>\r\n {isInList(item.latestMessageUserIdOrGroupId) ? (\r\n \r\n \r\n ownClick(e, item)}\r\n onDoubleClick={(e) => DblClick(e, item)}\r\n onTouchEnd={(e) => clear(e, item)}\r\n onTouchStart={(e) => start(e, item)}\r\n >\r\n {\r\n setShowOperations(\r\n item.latestMessageUserIdOrGroupId\r\n );\r\n showOperationsRef.current =\r\n item.latestMessageUserIdOrGroupId;\r\n }}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n }}\r\n style={{\r\n position: \"relative\",\r\n width: \"20px\",\r\n paddingLeft: 0,\r\n marginRight: \"-13px\",\r\n marginBottom: \"4px\",\r\n }}\r\n tabIndex={-1}\r\n type=\"button\"\r\n className=\"operations__trigger-btn\"\r\n onBlur={() => {\r\n setShowOperations(false);\r\n showOperationsRef.current = false;\r\n }}\r\n >\r\n \r\n {(showOperations ==\r\n item.latestMessageUserIdOrGroupId ||\r\n showOperationsRef.current ==\r\n item.latestMessageUserIdOrGroupId) && (\r\n \r\n {!item.isDirect && (\r\n \r\n {\r\n leftFromGroup(item);\r\n }}\r\n >\r\n \r\n\r\n

{trans(\"LeftTheGroup\")}

\r\n \r\n \r\n )}\r\n \r\n {\r\n deleteChat(item);\r\n }}\r\n >\r\n \r\n

{trans(\"Delete\")}

\r\n \r\n \r\n \r\n )}\r\n \r\n\r\n {item.isDirect ? (\r\n \r\n {/* */}\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n {item.latestMessagePersonOrGroupName}\r\n
\r\n \r\n {\" \"}\r\n {item.latestMessage}\r\n

\r\n \r\n \r\n \r\n <>\r\n {item.haveMsg || item.unreadCount > 0 ? (\r\n
\r\n \r\n {item.unreadCount > 0\r\n ? item.unreadCount\r\n : null}\r\n \r\n
\r\n ) : (\r\n <>\r\n )}\r\n \r\n {!item.isDirect && (\r\n {\r\n leftFromGroup(item);\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n ) : (\r\n \r\n \r\n ownClick(e, item)}\r\n onDoubleClick={(e) => DblClick(e, item)}\r\n onTouchEnd={(e) => clear(e, item)}\r\n onTouchStart={(e) => start(e, item)}\r\n >\r\n {\r\n setShowOperations(\r\n item.latestMessageUserIdOrGroupId\r\n );\r\n showOperationsRef.current =\r\n item.latestMessageUserIdOrGroupId;\r\n }}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n }}\r\n style={{\r\n position: \"relative\",\r\n width: \"20px\",\r\n paddingLeft: 0,\r\n marginRight: \"-13px\",\r\n marginBottom: \"4px\",\r\n }}\r\n tabIndex={-1}\r\n type=\"button\"\r\n className=\"operations__trigger-btn\"\r\n onBlur={() => {\r\n setShowOperations(false);\r\n showOperationsRef.current = false;\r\n }}\r\n >\r\n \r\n {(showOperations ==\r\n item.latestMessageUserIdOrGroupId ||\r\n showOperationsRef.current ==\r\n item.latestMessageUserIdOrGroupId) && (\r\n \r\n {!item.isDirect && (\r\n \r\n {\r\n leftFromGroup(item);\r\n }}\r\n >\r\n \r\n\r\n

{trans(\"LeftTheGroup\")}

\r\n \r\n \r\n )}\r\n \r\n {\r\n deleteChat(item);\r\n }}\r\n >\r\n \r\n

{trans(\"Delete\")}

\r\n \r\n \r\n \r\n )}\r\n \r\n {item.isDirect ? (\r\n \r\n \r\n {(item.isOnline ||\r\n onlinUserList.includes(\r\n item.latestMessageUserIdOrGroupId\r\n )) && (\r\n
\r\n )}\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n {item.latestMessagePersonOrGroupName}\r\n
\r\n \r\n {\" \"}\r\n {item.latestMessage}\r\n

\r\n
\r\n \r\n \r\n <>\r\n {item.haveMsg || item.unreadCount > 0 ? (\r\n
\r\n \r\n {item.unreadCount > 0\r\n ? item.unreadCount\r\n : null}\r\n \r\n
\r\n ) : (\r\n <>\r\n )}\r\n \r\n {!item.isDirect && (\r\n {\r\n leftFromGroup(item);\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n {contactSelectList.length > 0 && forwardMsg && (\r\n {\r\n handleSubmit(e);\r\n }}\r\n className={`chat__input-btn mx-1 border border-primary d-flex align-items-center justify-content-center `}\r\n >\r\n \r\n \r\n )}\r\n {contactSelectList.length > 0 && mode == \"create\" && (\r\n {\r\n handleCreateGroup(e);\r\n setShowUserType(\"Globe\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )}\r\n {showUserType == \"GroupList\" && (\r\n \r\n
\r\n
\r\n
\r\n {forwardMsg && (\r\n <>\r\n {contactSelectList.length > 0 ? (\r\n
\r\n {`${trans(\"Forwardto\")}${\r\n contactSelectList.length\r\n } ${trans(\"chat\")}...`}\r\n
\r\n ) : (\r\n
{trans(\"Forwardto\")}...
\r\n )}\r\n\r\n {\r\n sendContactToShowChat(lastContactName.current);\r\n cancelForward();\r\n }}\r\n style={{ marginRight: \"11px\" }}\r\n className=\"col-2 backIcon\"\r\n >\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n \r\n {loading ? (\r\n \r\n ) : (\r\n <>\r\n {HistoryContactList.map((item) => (\r\n <>\r\n {!noData && (\r\n <>\r\n {isInList(item.latestMessageUserIdOrGroupId) ? (\r\n \r\n \r\n ownClick(e, item)}\r\n onDoubleClick={(e) => DblClick(e, item)}\r\n onTouchEnd={(e) => clear(e, item)}\r\n onTouchStart={(e) => start(e, item)}\r\n >\r\n {\r\n setShowOperations(\r\n item.latestMessageUserIdOrGroupId\r\n );\r\n showOperationsRef.current =\r\n item.latestMessageUserIdOrGroupId;\r\n }}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n }}\r\n style={{\r\n position: \"relative\",\r\n width: \"20px\",\r\n paddingLeft: 0,\r\n marginRight: \"-13px\",\r\n marginBottom: \"4px\",\r\n }}\r\n tabIndex={-1}\r\n type=\"button\"\r\n className=\"operations__trigger-btn\"\r\n onBlur={() => {\r\n setShowOperations(false);\r\n showOperationsRef.current = false;\r\n }}\r\n >\r\n \r\n {(showOperations ==\r\n item.latestMessageUserIdOrGroupId ||\r\n showOperationsRef.current ==\r\n item.latestMessageUserIdOrGroupId) && (\r\n \r\n {!item.isDirect && (\r\n \r\n {\r\n leftFromGroup(item);\r\n }}\r\n >\r\n \r\n\r\n

{trans(\"LeftTheGroup\")}

\r\n \r\n \r\n )}\r\n {showUserType != \"GroupList\" && (\r\n \r\n {\r\n deleteChat(item);\r\n }}\r\n >\r\n \r\n

{trans(\"Delete\")}

\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n\r\n {item.isDirect ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n {item.latestMessagePersonOrGroupName}\r\n
\r\n \r\n {\" \"}\r\n {item.latestMessage}\r\n

\r\n \r\n \r\n \r\n <>\r\n {item.haveMsg || item.unreadCount > 0 ? (\r\n
\r\n \r\n {item.unreadCount > 0\r\n ? item.unreadCount\r\n : null}\r\n \r\n
\r\n ) : (\r\n <>\r\n )}\r\n \r\n {!item.isDirect && (\r\n {\r\n leftFromGroup(item);\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n ) : (\r\n \r\n \r\n ownClick(e, item)}\r\n onDoubleClick={(e) => DblClick(e, item)}\r\n onTouchEnd={(e) => clear(e, item)}\r\n onTouchStart={(e) => start(e, item)}\r\n >\r\n {\r\n setShowOperations(\r\n item.latestMessageUserIdOrGroupId\r\n );\r\n showOperationsRef.current =\r\n item.latestMessageUserIdOrGroupId;\r\n }}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n }}\r\n style={{\r\n position: \"relative\",\r\n width: \"20px\",\r\n paddingLeft: 0,\r\n marginRight: \"-13px\",\r\n marginBottom: \"4px\",\r\n }}\r\n tabIndex={-1}\r\n type=\"button\"\r\n className=\"operations__trigger-btn\"\r\n onBlur={() => {\r\n setShowOperations(false);\r\n showOperationsRef.current = false;\r\n }}\r\n >\r\n \r\n {(showOperations ==\r\n item.latestMessageUserIdOrGroupId ||\r\n showOperationsRef.current ==\r\n item.latestMessageUserIdOrGroupId) && (\r\n \r\n {!item.isDirect && (\r\n \r\n {\r\n leftFromGroup(item);\r\n }}\r\n >\r\n \r\n\r\n

{trans(\"LeftTheGroup\")}

\r\n \r\n \r\n )}\r\n {showUserType != \"GroupList\" && (\r\n \r\n {\r\n deleteChat(item);\r\n }}\r\n >\r\n \r\n

{trans(\"Delete\")}

\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n\r\n {item.isDirect ? (\r\n \r\n \r\n {(item.isOnline ||\r\n onlinUserList.includes(\r\n item.latestMessageUserIdOrGroupId\r\n )) && (\r\n
\r\n )}\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n {item.latestMessagePersonOrGroupName}\r\n
\r\n \r\n {\" \"}\r\n {item.latestMessage}\r\n

\r\n
\r\n \r\n \r\n <>\r\n {item.haveMsg || item.unreadCount > 0 ? (\r\n
\r\n \r\n {item.unreadCount > 0\r\n ? item.unreadCount\r\n : null}\r\n \r\n
\r\n ) : (\r\n <>\r\n )}\r\n \r\n {!item.isDirect && (\r\n {\r\n leftFromGroup(item);\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n {contactSelectList.length > 0 && forwardMsg && (\r\n {\r\n handleSubmit(e);\r\n }}\r\n className={`chat__input-btn mx-1 border border-primary d-flex align-items-center justify-content-center `}\r\n >\r\n \r\n \r\n )}\r\n {contactSelectList.length > 0 && mode == \"create\" && (\r\n {\r\n handleCreateGroup(e);\r\n setShowUserType(\"Globe\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )}\r\n {showUserType == \"Contact\" && (\r\n \r\n
\r\n
\r\n
\r\n setSearch(true)}\r\n >\r\n \r\n \r\n
\r\n {\r\n e.preventDefault();\r\n }}\r\n >\r\n \r\n {\r\n Searchhandleer(e.target.value);\r\n }}\r\n className=\"rounded d-md-none mb-1 chat__message-search\"\r\n placeholder=\"جستجو مخاطبین ...\"\r\n />\r\n setSearch(false)}\r\n >\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n {forwardMsg && (\r\n <>\r\n {contactSelectList.length > 0 ? (\r\n
\r\n {`${trans(\"Forwardto\")}${\r\n contactSelectList.length\r\n } ${trans(\"chat\")}...`}\r\n
\r\n ) : (\r\n
{trans(\"Forwardto\")}...
\r\n )}\r\n\r\n {\r\n sendContactToShowChat(lastContactName.current);\r\n cancelForward();\r\n }}\r\n style={{ marginRight: \"11px\" }}\r\n className=\"col-2 backIcon\"\r\n >\r\n \r\n
\r\n \r\n )}\r\n
\r\n \r\n \r\n {loading ? (\r\n \r\n ) : (\r\n <>\r\n {HistoryContactList.map((item) => (\r\n <>\r\n {!noData && (\r\n <>\r\n {isInList(item.latestMessageUserIdOrGroupId) ? (\r\n \r\n \r\n ownClick(e, item)}\r\n onDoubleClick={(e) => DblClick(e, item)}\r\n onTouchEnd={(e) => clear(e, item)}\r\n onTouchStart={(e) => start(e, item)}\r\n >\r\n {showUserType != \"Contact\" && (\r\n {\r\n setShowOperations(\r\n item.latestMessageUserIdOrGroupId\r\n );\r\n showOperationsRef.current =\r\n item.latestMessageUserIdOrGroupId;\r\n }}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n }}\r\n style={{\r\n position: \"relative\",\r\n width: \"20px\",\r\n paddingLeft: 0,\r\n marginRight: \"-13px\",\r\n marginBottom: \"4px\",\r\n }}\r\n tabIndex={-1}\r\n type=\"button\"\r\n className=\"operations__trigger-btn\"\r\n onBlur={() => {\r\n setShowOperations(false);\r\n showOperationsRef.current = false;\r\n }}\r\n >\r\n \r\n {(showOperations ==\r\n item.latestMessageUserIdOrGroupId ||\r\n showOperationsRef.current ==\r\n item.latestMessageUserIdOrGroupId) && (\r\n \r\n {!item.isDirect && (\r\n \r\n {\r\n leftFromGroup(item);\r\n }}\r\n >\r\n \r\n\r\n

{trans(\"LeftTheGroup\")}

\r\n \r\n \r\n )}\r\n {showUserType != \"GroupList\" && (\r\n \r\n {\r\n deleteChat(item);\r\n }}\r\n >\r\n \r\n

{trans(\"Delete\")}

\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n {item.isDirect ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n
\r\n \r\n {item.latestMessagePersonOrGroupName}\r\n
\r\n \r\n {\" \"}\r\n {item.latestMessage}\r\n

\r\n \r\n \r\n \r\n <>\r\n {item.haveMsg || item.unreadCount > 0 ? (\r\n
\r\n \r\n {item.unreadCount > 0\r\n ? item.unreadCount\r\n : null}\r\n \r\n
\r\n ) : (\r\n <>\r\n )}\r\n \r\n {!item.isDirect && (\r\n {\r\n leftFromGroup(item);\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n ) : (\r\n \r\n \r\n ownClick(e, item)}\r\n onDoubleClick={(e) => DblClick(e, item)}\r\n onTouchEnd={(e) => clear(e, item)}\r\n onTouchStart={(e) => start(e, item)}\r\n >\r\n {showUserType != \"Contact\" && (\r\n {\r\n setShowOperations(\r\n item.latestMessageUserIdOrGroupId\r\n );\r\n showOperationsRef.current =\r\n item.latestMessageUserIdOrGroupId;\r\n }}\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n }}\r\n style={{\r\n position: \"relative\",\r\n width: \"20px\",\r\n paddingLeft: 0,\r\n marginRight: \"-13px\",\r\n marginBottom: \"4px\",\r\n }}\r\n tabIndex={-1}\r\n type=\"button\"\r\n className=\"operations__trigger-btn\"\r\n onBlur={() => {\r\n setShowOperations(false);\r\n showOperationsRef.current = false;\r\n }}\r\n >\r\n \r\n {(showOperations ==\r\n item.latestMessageUserIdOrGroupId ||\r\n showOperationsRef.current ==\r\n item.latestMessageUserIdOrGroupId) && (\r\n \r\n {!item.isDirect && (\r\n \r\n {\r\n leftFromGroup(item);\r\n }}\r\n >\r\n \r\n\r\n

{trans(\"LeftTheGroup\")}

\r\n \r\n \r\n )}\r\n {showUserType != \"GroupList\" && (\r\n \r\n {\r\n deleteChat(item);\r\n }}\r\n >\r\n \r\n

{trans(\"Delete\")}

\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n\r\n {item.isDirect ? (\r\n \r\n \r\n {(item.isOnline ||\r\n onlinUserList.includes(\r\n item.latestMessageUserIdOrGroupId\r\n )) && (\r\n
\r\n )}\r\n \r\n ) : (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n {item.latestMessagePersonOrGroupName}\r\n
\r\n \r\n {\" \"}\r\n {item.latestMessage}\r\n

\r\n
\r\n \r\n \r\n <>\r\n {item.haveMsg || item.unreadCount > 0 ? (\r\n
\r\n \r\n {item.unreadCount > 0\r\n ? item.unreadCount\r\n : null}\r\n \r\n
\r\n ) : (\r\n <>\r\n )}\r\n \r\n {!item.isDirect && (\r\n {\r\n leftFromGroup(item);\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n )}\r\n \r\n )}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n {contactSelectList.length > 0 && forwardMsg && (\r\n {\r\n handleSubmit(e);\r\n }}\r\n className={`chat__input-btn mx-1 border border-primary d-flex align-items-center justify-content-center `}\r\n >\r\n \r\n \r\n )}\r\n {contactSelectList.length > 0 && mode == \"create\" && (\r\n {\r\n handleCreateGroup(e);\r\n setShowUserType(\"Globe\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default memo(ContactList);\r\n","import axios from \"axios\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { MessageType } from \"types/enum\";\r\nimport { auth } from \"./auth\";\r\nimport { APP_URL } from \"./constants\";\r\nimport { trans } from \"./helpers\";\r\n\r\nexport let UserTabs: any = [];\r\nconst delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\nexport const httpFile = axios.create({\r\n baseURL: APP_URL,\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Access-Control-Allow-Methods\": \"GET,PUT,POST,DELETE,PATCH,OPTIONS\",\r\n }\r\n \r\n });\r\n \r\n httpFile.interceptors.request.use(\r\n async function (config: any) {\r\n const lang = localStorage.getItem(\"lang\");\r\n const token = localStorage.getItem(\"token\");\r\n const ex = localStorage.getItem(\"token_expire\");\r\n let res = true;\r\n if (token) {\r\n res =await auth.checkTokenExpire();\r\n } else {\r\n auth.attempt();\r\n }\r\n if(!localStorage.getItem(\"token\")){\r\n await delay(300)\r\n if (localStorage.getItem(\"token\")) {\r\n res =await auth.checkTokenExpire();\r\n } else {\r\n auth.attempt();\r\n }\r\n }\r\n if (\r\n config.method == \"post\" ||\r\n config.method == \"put\" ||\r\n config.method == \"delete\"\r\n ) {\r\n //document.body.classList.add(\"loading-indicator-\"+lang);\r\n }\r\n if (res) {\r\n if (sessionStorage.getItem(\"accept-data\")) {\r\n config.headers[\"Accept-Data\"] = sessionStorage.getItem(\"accept-data\");\r\n }\r\n if (\r\n config.headers[\"Accept-Language\"] == undefined ||\r\n config.headers[\"Accept-Language\"] == \"\"\r\n )\r\n config.headers[\"Accept-Language\"] = lang;\r\n config.headers[\"Authorization\"] = \"Bearer \" + localStorage.getItem(\"token\");\r\n return config;\r\n } else {\r\n auth.attempt();\r\n if (\r\n config.headers[\"Accept-Language\"] == undefined ||\r\n config.headers[\"Accept-Language\"] == \"\"\r\n )\r\n config.headers[\"Accept-Language\"] = lang;\r\n config.headers[\"Authorization\"] = \"Bearer \" + localStorage.getItem(\"token\");\r\n return config;\r\n }\r\n },\r\n function (error) {\r\n \r\n }\r\n );\r\n \r\n \r\n httpFile.interceptors.response.use(\r\n async (res) => {\r\n const lang = localStorage.getItem(\"lang\");\r\n try {\r\n \r\n if (res.config.method == \"get\") {\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n return res;\r\n } else {\r\n if (res.data.MessageType == MessageType[\"confirm\"]) {\r\n res.config.params.Confirm = true;\r\n const confirm = await new Promise((resolve) => {\r\n let re: any;\r\n // Toast(\r\n // res.data.Message,\r\n // \"warning\",\r\n // \"alert\",\r\n // () => {\r\n // re = httpFile(res.config);\r\n // resolve(re);\r\n // },\r\n // \"\",\r\n // \"\",\r\n // () => {\r\n // document.body.classList.remove(\"loading-indicator-\"+lang);\r\n // }\r\n // );\r\n Toast(\r\n res.data.Message,\r\n MessageType.confirm,\r\n () => {\r\n re = httpFile(res.config);\r\n resolve(re);\r\n },\r\n \"\",\r\n () => {\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n }\r\n );\r\n });\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n return confirm;\r\n } else {\r\n if (res?.data?.Data && res.data.Data[0]?.MessageType) {\r\n // Toast(\r\n // res?.data.Message,\r\n // MessageType[res.data.MessageType],\r\n // \"toast\",\r\n // () => {},\r\n // \"\",\r\n // res?.data?.Data\r\n // );\r\n Toast(\r\n res?.data.Message,\r\n MessageType[res.data.MessageType]?res.data.MessageType:0,\r\n \r\n () => {},\r\n \"\",\r\n res?.data?.Data\r\n );\r\n return res;\r\n } else {\r\n if(res.data.MessageType){\r\n // Toast(res.data.Message, MessageType[res.data.MessageType]);\r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n return res;\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n }\r\n },\r\n \r\n async (err) => {\r\n \r\n \r\n const lang = localStorage.getItem(\"lang\");\r\n \r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n const statusCode = err?.response?.status;\r\n \r\n if (statusCode == 401) {\r\n\r\n try {\r\n await auth.checkTokenExpire();\r\n const token = localStorage.getItem(\"token\");\r\n err.response.config.headers[\"Authorization\"] = \"Bearer \" + token\r\n await new Promise((resolve) => {\r\n let re = httpFile(err?.response.config);\r\n resolve(re);\r\n });\r\n } catch (error) {}\r\n } else if (statusCode == 403) {\r\n err.response.data ={\r\n data:null ,\r\n MessageType : MessageType[\"error\"],\r\n Message:\"noaccess\"\r\n }\r\n return Promise.reject(err);\r\n \r\n }else if (!err?.message.includes(\"timeout\")) {\r\n if (err?.response?.data?.MessageType == MessageType[\"confirm\"] && false) {\r\n err.config.params.Confirm = true;\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n const confirm = await new Promise((resolve) => {\r\n let re: any;\r\n // Toast(\r\n // err.response.data.Message,\r\n // \"warning\",\r\n // \"alert\",\r\n // () => {\r\n // re = httpFile(err.config);\r\n // resolve(re);\r\n // },\r\n // \"\",\r\n // \"\",\r\n // () => {\r\n // document.body.classList.remove(\"loading-indicator-\"+lang);\r\n // }\r\n // );\r\n Toast(\r\n err.response.data.Message,\r\n MessageType.confirm,\r\n () => {\r\n re = httpFile(err.config);\r\n resolve(re);\r\n },\r\n \"\",\r\n () => {\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n }\r\n );\r\n });\r\n \r\n return confirm;\r\n } else {\r\n if (\r\n err?.response?.data?.Data &&\r\n err?.response?.data?.Data[0]?.MessageType\r\n ) {\r\n // Toast(\r\n // err?.response?.data.Message,\r\n // \"error\",\r\n // \"toast\",\r\n // () => {},\r\n // \"\",\r\n // err?.response?.data?.Data\r\n // );\r\n Toast(\r\n err?.response?.data.Message,\r\n MessageType.error,\r\n () => {},\r\n \"\",\r\n err?.response?.data?.Data\r\n );\r\n } else if (!err?.response?.data?.Message) {\r\n } else {\r\n Toast(err.response.data.Message, MessageType.error);\r\n return Promise.reject(err);\r\n \r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n }\r\n } else if (err?.message.includes(\"timeout \")) {\r\n Toast(trans(\"Msg_ServerTimeOutError\"), MessageType.error);\r\n }\r\n return Promise.reject(err);\r\n }\r\n );\r\n \r\n ","\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\nimport { httpFile } from \"utils/httpFile\";\r\n\r\nexport const sendFileList = (data) => httpFile({\r\n baseURL:process.env.REACT_APP_CHAT_SERVICE_URL,\r\n url: ENDPOINTS.messageHub.load,\r\n method: 'post',\r\n data: data,\r\n headers: {\r\n \"content-type\": \"multipart/form-data\",\r\n Accept: \"*/*\",\r\n\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nfunction blobToBase64(blob) {\r\n return new Promise((resolve, _) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result);\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\nexport const getFile = (id ) => httpFile({\r\n baseURL:process.env.REACT_APP_CHAT_SERVICE_URL,\r\n url: ENDPOINTS.messageHub.browse, \r\n method: 'get',\r\n params:{\r\n fileId : id\r\n },\r\n responseType: \"blob\"\r\n \r\n}).then((res) => {\r\n return blobToBase64(res.data)\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getTokenFile = (id ) => httpFile({\r\n baseURL:process.env.REACT_APP_CHAT_SERVICE_URL,\r\n url: ENDPOINTS.messageHub.tokenFile , \r\n method: 'get',\r\n params:{\r\n fileId : id\r\n },\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getUsersasync = (str) => http({\r\n url: ENDPOINTS.BaseInformation.person.chatUserList,\r\n method: 'get',\r\n params: {\r\n pageSize: 50,\r\n searchString : str \r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getCustomersUsersasync = (str) => http({\r\n url: ENDPOINTS.clientPortal.chat,\r\n method: 'get',\r\n params: {\r\n pageSize: 50,\r\n searchString : str \r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useCallback, useContext, useEffect, useRef, useState } from \"react\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { getFile, getTokenFile, sendFileList } from \"../api/api\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { MessageType, OrganizationType } from \"types/enum\";\r\nimport { DateObject } from \"react-multi-date-picker\";\r\nimport persian from \"react-date-object/calendars/persian\"\r\nimport persian_fa from \"react-date-object/locales/persian_fa\"\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\n\r\ninterface props {\r\n index: any\r\n user: any\r\n replyList: any\r\n submitted: boolean\r\n received_message: boolean\r\n sendRepliesUp: (data: any) => void\r\n DeleteMessage: () => void\r\n CreateRequest: () => void\r\n setForwardMsg: (data: any) => void\r\n setForwardMsgList: (data: any) => void\r\n showCarouselFile: (data: any , name) => void\r\n attached_file: any\r\n forwardMsgList: any\r\n MessageData: any\r\n}\r\n\r\nexport const MessageBox = ({index,DeleteMessage,CreateRequest,showCarouselFile,MessageData,forwardMsgList, attached_file=[], received_message, replyList,setForwardMsg,setForwardMsgList, sendRepliesUp, submitted, user }: props) => {\r\n const [isReplied, setIsReplied] = useState(false) \r\n const [load, setLoad] = useState();\r\n const [playVoice, setPlayVoice] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [audioURL, setAudioURL] = useState();\r\n const formTextbox = useRef();\r\n const [showOperations, setShowOperations] = useState(false);\r\n const formButton = useRef();\r\n const showOperationsRef = useRef(false);\r\n const [rotate , setRotate] = useState(false);\r\n let fristClick: Boolean = true; \r\n const [longPressTriggered, setLongPressTriggered] = useState(false);\r\n const timeout = useRef();\r\n const target = useRef();\r\n const lang = localStorage.getItem('lang')\r\n const layoutContext = useContext(LayoutContext);\r\n \r\n\r\n let date2 = new DateObject({date:MessageData.chatMessage.addTime.replace(\"T\" , \" \") })\r\n date2.convert(persian, persian_fa) \r\n let sent_Date = date2.format(\"YYYY/MM/DD HH:mm\")\r\n\r\n\r\n function ownClick(e ,item , index){\r\n if(!item?.isDeleted){\r\n fristClick = true;\r\n setTimeout(()=>{\r\n if(fristClick){\r\n let name:any = attached_file [index].fileName ? attached_file [index].fileName : attached_file [index].FileName\r\n if([\"pdf\" , \"txt\" ,\"jpeg\" , \"png\",\"jpg\" ,\"heic\" ].includes(name.split('.').pop()) ){\r\n showCarouselFile(attached_file,index)\r\n }else{\r\n getFileAsync(attached_file[index].id ?attached_file[index].id:attached_file[index].Id ,item?.fileName ? item?.fileName : item?.FileName )\r\n }\r\n }\r\n },250)\r\n }\r\n }\r\n \r\n function DblClick(e ,item , index){\r\n if(!item?.isDeleted){\r\n fristClick = false;\r\n getFileAsync(attached_file[index].id ?attached_file[index].id:attached_file[index].Id\r\n \r\n ,item?.fileName ? item?.fileName : item?.FileName )\r\n }\r\n }\r\n\r\n\r\n const onLongPress = (e ,item) => {\r\n e.stopPropagation()\r\n getFileAsync(attached_file.id ,item?.fileName ? item?.fileName : item?.FileName )\r\n \r\n }\r\n \r\n \r\n \r\n const start = useCallback(\r\n (event , item) => {\r\n if(!item?.isDeleted){\r\n if ( event.target) {\r\n event.target.addEventListener(\"touchend\", {\r\n passive: false\r\n });\r\n target.current = event.target;\r\n } \r\n timeout.current = setTimeout(() => {\r\n onLongPress(event ,item);\r\n setLongPressTriggered(true);\r\n }, 1500);\r\n }\r\n },\r\n [onLongPress, ]\r\n );\r\n\r\n const clear = useCallback(\r\n (event, item, shouldTriggerClick = true) => {\r\n timeout.current && clearTimeout(timeout.current);\r\n if(shouldTriggerClick && !longPressTriggered){\r\n // Press(event , item);\r\n }\r\n \r\n setLongPressTriggered(false);\r\n if ( target.current) {\r\n target.current.removeEventListener(\"touchend\" ,{\r\n passive: false\r\n });\r\n }\r\n },\r\n [ longPressTriggered]\r\n );\r\n\r\n\r\n\r\n\r\n\r\n function elementInViewport(el) {\r\n var top = el.offsetTop;\r\n var left = el.offsetLeft;\r\n var width = el.offsetWidth;\r\n var height = el.offsetHeight;\r\n \r\n while(el.offsetParent) {\r\n el = el.offsetParent;\r\n top += el.offsetTop;\r\n left += el.offsetLeft;\r\n }\r\n \r\n return (\r\n top >= window.pageYOffset &&\r\n left >= window.pageXOffset &&\r\n (top + height) <= (window.pageYOffset + window.innerHeight) &&\r\n (left + width) <= (window.pageXOffset + window.innerWidth)\r\n );\r\n }\r\n\r\n const handleReplyOnclick = () => {\r\n formButton.current.blur()\r\n setIsReplied(!isReplied)\r\n sendRepliesUp({...MessageData })\r\n }\r\n \r\n const copyText = (e) => {\r\n navigator.clipboard.writeText(e)\r\n // Toast(trans(\"TextCopiedToClipboard\") , \"success\")\r\n Toast(trans(\"TextCopiedToClipboard\") , MessageType.success)\r\n\r\n }\r\n \r\n\r\n function _arrayBufferToBase64( buffer ) {\r\n var binary = '';\r\n var bytes = new Uint8Array( buffer );\r\n var len = bytes.byteLength;\r\n for (var i = 0; i < len; i++) {\r\n binary += String.fromCharCode( bytes[ i ] );\r\n }\r\n return window.btoa( binary );\r\n}\r\n\r\n\r\n\r\n async function getFileAsync(id , name) {\r\n\r\n try { \r\n\r\n setLoading(true)\r\n \r\n if(name != \"AppVoice.mp3\" ){\r\n const tokenfile = await getTokenFile(id ); \r\n const a = document.createElement('a');\r\n a.style.display = 'none';\r\n a.download = name;\r\n a.href = `${process.env.REACT_APP_CHAT_SERVICE_URL+ ENDPOINTS.messageHub.browse}/userToken=${tokenfile}?fileId=${id}`\r\n document.body.appendChild(a);\r\n a.click();\r\n \r\n document.body.removeChild(a);\r\n }else{\r\n const list = await getFile(id ); \r\n setAudioURL( _arrayBufferToBase64(list))\r\n setPlayVoice(true) \r\n }\r\n } catch (error) {\r\n \r\n }\r\n setLoading(false)\r\n\r\n }\r\n function isInList(e) {\r\n let flag = true\r\n\r\n forwardMsgList.forEach(item=>{\r\n if(item.chatMessage.id){\r\n if(item.chatMessage.id == e){\r\n flag = false\r\n }\r\n }else{\r\n if(item.chatMessage.message == MessageData.chatMessage.message){\r\n flag = false\r\n\r\n }else if (item.fileInformations){\r\n\r\n if(Object.keys(item.fileInformations) == attached_file ){\r\n flag = false\r\n }\r\n }\r\n }\r\n })\r\n return !flag\r\n\r\n }\r\n\r\n function urlify(text) {\r\n var urlRegex = /([\\w+]+\\:\\/\\/)?([\\w\\d-]+\\.)*[\\w-]+[\\.\\:]\\w+([\\/\\?\\=\\&\\%\\#\\.]?[\\w\\%\\/-]+)*\\/?/gi;\r\n if(urlRegex.test(text)){\r\n return text.replace(urlRegex, function(url) {\r\n let address = \"\"\r\n if(/[a-z]+:\\/\\//.test(url)){\r\n address = url\r\n }else{\r\n address = \"http://\"+url\r\n }\r\n return `${url}`\r\n \r\n })\r\n\r\n }else{\r\n return false\r\n }\r\n\r\n }\r\n useEffect(()=>{\r\n if(( !replyList) && isReplied) setIsReplied(false);\r\n },[ replyList])\r\n useEffect(()=>{\r\n if(formTextbox.current ){\r\n elementInViewport(formTextbox.current)\r\n }\r\n },[])\r\n\r\n\r\n\r\n return(\r\n
\r\n
\r\n \r\n
\r\n
{if(forwardMsgList.length >0)setForwardMsgList(\"\") }} style={{whiteSpace: \"pre-wrap\" ,fontSize: \"15px\"}} className={`border pt-1 d-flex flex-column justify-content-end rounded p-2 ${ isInList(MessageData.chatMessage.id) ? 'border-primary' : ''} ${received_message ? 'chat__chatbox-sender' : ''}`}>\r\n
\r\n
\r\n { MessageData.chatMessage.id.includes(\"sending\") ?\r\n \r\n :\r\n <>\r\n {\r\n MessageData.chatMessage.id.includes(\"notSend\") ?\r\n <>\r\n { }\r\n \r\n :\r\n <>\r\n {!received_message &&\r\n <>\r\n {(!MessageData.chatMessage.isRead) ? \r\n : \r\n <>\r\n \r\n \r\n \r\n }\r\n \r\n }\r\n \r\n }\r\n \r\n \r\n } \r\n {!received_message ? user?.Name : MessageData.sendUser}\r\n
\r\n\r\n\r\n \r\n
\r\n {MessageData.chatMessage.replyToMessageId &&\r\n
{document.getElementById(MessageData.chatMessage.replyToMessageId)?.scrollIntoView({behavior:\"smooth\"});document.getElementById(MessageData.chatMessage.replyToMessageId)?.classList.add(\"fadeInMsg\"); setTimeout(()=>{ document.getElementById(MessageData.chatMessage.replyToMessageId)?.classList.remove(\"fadeInMsg\") },1300)}} className=\"chat__chatbox-reply d-flex flex-column text-muted p-1 rounded mb-2 massage-answer\">\r\n \r\n \r\n {MessageData.replyToUser ?MessageData.replyToUser : MessageData.replyToUser }\r\n \r\n \r\n {\r\n MessageData.replyToMessageText \r\n \r\n }\r\n \r\n
\r\n }\r\n {attached_file ?\r\n
\r\n
\r\n
4 ? 'd-flex flex-row flex-wrap' : ''}`}>\r\n {attached_file?.map((item:any, index)=>(\r\n
4 ? \"30%\" : \"100%\"}}>\r\n
clear(e,item)} onTouchStart={(e)=>start(e,item)} onClick={(e)=>ownClick(e ,item , index)} onDoubleClick={(e)=>DblClick(e ,item, index)} >\r\n {\r\n (item?.FileName == \"AppVoice.mp3\"||item?.fileName == \"AppVoice.mp3\" )?\r\n <>{playVoice ? \r\n <>\r\n \r\n \r\n :\r\n \r\n }\r\n \r\n :\r\n <> \r\n
4?\" columnattachments \" :\" \"} d-flex align-items-center mt-2`}>\r\n \r\n {(item?.fileName ? item?.fileName==\"loading\" : item?.FileName==\"loading\") ? \r\n
{setRotate(true) ;setTimeout(()=>{ setRotate(false) }, 1500)}} > \r\n \r\n
\r\n :\r\n <>\r\n {item?.isDeleted &&\r\n \r\n } \r\n \r\n \r\n\r\n }\r\n
\r\n
\r\n {item?.fileName ? item?.fileName : item?.FileName} \r\n {item?.isDeleted &&\r\n {trans(\"deleted\")} \r\n }\r\n
\r\n { (item?.fileSize ? +item?.fileSize: +item?.FileSize) >1048576 ?((item?.fileSize ? +item?.fileSize: +item?.FileSize) / 1048576).toFixed(2) + \" MB\" : ((item?.fileSize ? +item?.fileSize: +item?.FileSize) / 1024).toFixed(2) + \" KB\" } \r\n
\r\n
\r\n \r\n }\r\n
\r\n
\r\n ))}\r\n
\r\n {(MessageData.chatMessage.message && !(attached_file.length > 0)) &&\r\n
{urlify(MessageData.chatMessage.message)?null :MessageData.chatMessage.message }
\r\n }\r\n
\r\n
\r\n {handleReplyOnclick() } } style={{left: \"1px\" , bottom:\"0\" , position:\"absolute\" }} icon={['fas', 'reply']} className=\"chat__chatbox-reply-btn\" flip={lang === 'fa' ? undefined : 'horizontal'} color={`${'grey'}`} />\r\n
\r\n
\r\n :\r\n
{setForwardMsgList(\"\")}} style={{display:\"flex\" , justifyContent:\"space-between\", width:\"100%\" }}>\r\n
{urlify(MessageData.chatMessage.message)?null :MessageData.chatMessage.message }
\r\n
\r\n {handleReplyOnclick() } } style={{left: \"1px\" , bottom:\"0\" , position:\"absolute\" }} icon={['fas', 'reply']} className=\"chat__chatbox-reply-btn\" flip={lang === 'fa' ? undefined : 'horizontal'} color={`${'grey'}`} />\r\n
\r\n \r\n
\r\n \r\n }\r\n \r\n\r\n
\r\n
\r\n
\r\n {/* زمان: */}\r\n {sent_Date}\r\n\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ButtonArrow } from \"components/ButtonArrow/ButtonArrow\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { Application } from \"components/Application/Application\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { getCustomersUsersasync, getUsersasync } from \"../api/api\";\r\nimport { MessageType, OrganizationType } from \"types/enum\";\r\n\r\n\r\n\r\ninterface Form{\r\n Title?:string,\r\n Method?:string,\r\n Status?:number,\r\n Task?:any,\r\n showForm:(e) => void,\r\n addUser:(e,list) => void,\r\n modalWidth?:any\r\n userList?:any\r\n GroupMembers?:any\r\n contactName?:any\r\n}\r\n\r\n\r\nexport const GroupMembersAssign: React.FC
= ({showForm,Task ,addUser, Method, modalWidth ,contactName ,GroupMembers ,userList}) => {\r\n const assignmentMethod = Method && Method.trim().length > 1 ? Method : \"MANUAL\"\r\n const [mood , setMood] = useState(\"groups\")\r\n const [Moodassign , setMoodassign] = useState(\"All\")\r\n const [flag , setFlag] = useState(false)\r\n const [response , setResponse] = useState([])\r\n const [assignmentResponse , setAssignmentResponse] = useState([])\r\n const [selectList , setSelectList] = useState([])\r\n const [assignedList , setAssignedList] = useState([])\r\n const [savedData , setSavedData] = useState([])\r\n const [assignedSelectList , setAssignedSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [massageType , setMassageType] = useState(\"info\")\r\n const [massageType2 , setMassageType2] = useState(\"info\")\r\n const [loading , setLoading] = useState(false)\r\n const [loading2 , setLoading2] = useState(false)\r\n const [positionstr , setPositionstr] = useState()\r\n const [positionAssignmentstr , setPositionAssignmentstr] = useState()\r\n const [width, setWidth] = useState(window.innerWidth);\r\n\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n window.onresize = () => {\r\n setWidth(window.innerWidth)\r\n }\r\n\r\n let keys, Data:any = [], Dataassign:any = [];\r\n\r\n async function getPositionsListAsync(SearchString) {\r\n setLoading(false)\r\n let list:any = []\r\n if(layoutContext?.currentUserPosition?.OrganizationType == OrganizationType.Customers)\r\n list = await getCustomersUsersasync(SearchString)\r\n else\r\n list = await getUsersasync(SearchString)\r\n let newlist = list.Data.Data.map(item=>{\r\n return{Id:item.Id , Name:item.Description}\r\n })\r\n setResponse(newlist) \r\n setLoading(true)\r\n }\r\n async function getPositionsListSearchingAsync(SearchString) {\r\n\r\n\r\n\r\n\r\n setAssignmentResponse([]) \r\n \r\n\r\n\r\n \r\n }\r\n\r\n\r\n\r\n async function getTaskUserAsync() {\r\n setLoading2(false)\r\n try {\r\n let makeData:any =[] \r\n if(GroupMembers){\r\n GroupMembers.map(item=>{\r\n makeData.push({Id:item.userId, Name:item.userName })\r\n })\r\n \r\n setSavedData(makeData)\r\n setAssignedList(makeData)\r\n }\r\n\r\n\r\n \r\n } catch (error) {\r\n setMassageType2(\"error\")\r\n }\r\n setLoading2(true)\r\n \r\n }\r\n\r\n\r\n\r\n function changeDataGrid(e) {\r\n setMood(e)\r\n\r\n }\r\n function hide() {\r\n showForm(false)\r\n\r\n }\r\n function changeDataGridassign(e) {\r\n setMoodassign(e)\r\n\r\n \r\n }\r\n function backward() {\r\n setAssignedSelectList([])\r\n setResetMultiSelect(!resetMultiSelect)\r\n setAssignedList(assignedList.concat(selectList) )\r\n setFlag(!flag)\r\n setSelectList([])\r\n \r\n }\r\n function forward() {\r\n setResetMultiSelect(!resetMultiSelect)\r\n let list:any =[]\r\n assignedList.forEach((item1,index1) => {\r\n let flag = true\r\n assignedSelectList.forEach((item2 , index2 ) => {\r\n if(item2.Id ==item1.Id ){\r\n flag = false\r\n }\r\n\r\n\r\n });\r\n if(flag){\r\n list.push(item1)\r\n }\r\n });\r\n setAssignedList(list)\r\n \r\n }\r\n const selectListCallBack =(list)=>{ \r\n setSelectList(list[1])\r\n }\r\n const assignedselectListCallBack =(list)=>{\r\n setAssignedSelectList(list[1])\r\n \r\n \r\n }\r\n const referenceFormSubmit =(e)=>{\r\n addUser(e,assignedList )\r\n \r\n\r\n\r\n }\r\n\r\n const searching =(e)=>{\r\n setPositionstr(e == \"\" ? null:e)\r\n getPositionsListAsync(e == \"\" ? null:e)\r\n\r\n }\r\n const assignmentsearching =(e)=>{\r\n setPositionAssignmentstr(e == \"\" ? null:e)\r\n getPositionsListSearchingAsync(e == \"\" ? null:e)\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n getPositionsListAsync(positionstr); \r\n getPositionsListSearchingAsync(positionAssignmentstr)\r\n }, [mood]);\r\n\r\n useEffect(() => {\r\n getTaskUserAsync();\r\n \r\n \r\n }, []);\r\n\r\n\r\n if(response && assignedList ){\r\n let assignmentdata:any =[]\r\n\r\n \r\n response.forEach(item1 => {\r\n let flag =false\r\n assignedList.forEach(item2 => {\r\n if(item1.Id == item2.Id){\r\n flag = true\r\n }\r\n \r\n });\r\n if(flag){\r\n Dataassign.push(item1)\r\n }\r\n \r\n });\r\n \r\n \r\n \r\n response.map(item1=>{\r\n let flag = true\r\n assignedList.forEach(item2 => {\r\n if(item1.Id ==item2.Id){\r\n flag=false\r\n }\r\n });\r\n if(flag){\r\n Data.push(item1) \r\n }\r\n })\r\n \r\n\r\n }\r\n \r\n \r\n\r\n return ( \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {trans(\"users\")}\r\n \r\n
\r\n
\r\n {loading ?\r\n <>\r\n {response ? \r\n : \r\n } \r\n \r\n : \r\n }\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n {forward()}}/>\r\n \r\n
\r\n\r\n
\r\n
\r\n {trans(\"اعضای گروه\")}\r\n \r\n
\r\n
\r\n {loading2 ?\r\n <>\r\n {Dataassign ? \r\n \r\n : \r\n } \r\n \r\n : \r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n );\r\n}","export default \"data:image/png;base64,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\"","import { HubConnectionBuilder, LogLevel } from \"@microsoft/signalr\";\r\nimport { CHAT_URL } from \"./constants\";\r\nimport { signalRHttp } from \"./SignalRHttp\";\r\n\r\n\r\nconst lang = localStorage.getItem(\"lang\")+\"\";\r\nexport const ChatConnection: any = new HubConnectionBuilder()\r\n.withUrl(CHAT_URL, { headers: { \"cookie\": \" \",\"Accept-Language\" : lang }, httpClient: new signalRHttp(), accessTokenFactory: () => { return localStorage.getItem(\"token\")??'' } })\r\n.withAutomaticReconnect({\r\n nextRetryDelayInMilliseconds: retryContext => {\r\n if (retryContext.elapsedMilliseconds < 60000) {\r\n // If we've been reconnecting for less than 60 seconds so far,\r\n // wait between 0 and 10 seconds before the next reconnect attempt.\r\n return Math.random() * 10000;\r\n } else {\r\n // If we've been reconnecting for more than 60 seconds so far, stop reconnecting.\r\n\r\n return null;\r\n }\r\n }\r\n})\r\n.configureLogging(LogLevel.Warning)\r\n.build();\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\n\r\nexport const getPersonalPlanningList = (pageNum , pageSize , orderBy ,searchString ,filterlist ,personalTaskStatusFilter ) => http({\r\n url: ENDPOINTS.personalPlanningApi.PersonalTask.browse,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNum,\r\n pageSize: pageSize,\r\n OrderByString:orderBy,\r\n FilterString:filterlist,\r\n SearchString : searchString ,\r\n personalTaskStatus:personalTaskStatusFilter ==0 ?null :personalTaskStatusFilter\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const getPersonalPlanning = (id: any) => http({\r\n url: ENDPOINTS.personalPlanningApi.PersonalTask.load,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n Id: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const postPersonalPlanning = (data: any) => http({\r\n url: ENDPOINTS.personalPlanningApi.PersonalTask.browse,\r\n method: 'post',\r\n data: data,\r\n\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const changeTaskStatus = (id ,personalTaskStatus) => http({\r\n url: ENDPOINTS.personalPlanningApi.PersonalTask.status,\r\n method: 'put',\r\n params: {\r\n id:id,\r\n personalTaskStatus:personalTaskStatus\r\n },\r\n\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const putPersonalPlanning = (data: any) => http({\r\n url: ENDPOINTS.personalPlanningApi.PersonalTask.browse,\r\n method: 'put',\r\n data: data\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const deletePersonalPlaning = (id: any) => http({\r\n url: ENDPOINTS.personalPlanningApi.PersonalTask.browse,\r\n method: 'delete',\r\n params:{\r\n Id:id\r\n }\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n","import { Button } from \"components/Button/Button\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { RangeSlider } from \"components/RangeSlider/RangeSlider\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Time } from \"components/Time/Time\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Action } from \"pages/OfficeAutomation/Cartable/types\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getAction, sendAction } from \"../../api/api\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { MessageType } from \"types/enum\";\r\ninterface ActionFormPropsType {\r\n id?: any,\r\n mode?: any,\r\n taskId: any,\r\n onHide: () => void\r\n reset: (ans: boolean) => void\r\n}\r\n\r\nexport const ActionForm = ({\r\n id,\r\n mode,\r\n taskId,\r\n onHide,\r\n reset,\r\n}: ActionFormPropsType) => {\r\n\r\n let data, method;\r\n const [action, setAction] = useState(undefined);\r\n const [fromDate, setFromDate] = useState();\r\n const [untilDate, setUntilDate] = useState();\r\n const [actualTimeAlert, setActualTimeAlert] = useState(false);\r\n const [resetForm, setResetForm] = useState(false);\r\n const formRef = useRef(\"\")\r\n const buttonRef = useRef()\r\n const [loading , setLoading] = useState(false) \r\n const [leaveDaysNo, setLeaveDaysNo] = useState();\r\n const [leaveHours, setleaveHours] = useState(null);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [flag,setFlag] = useState(false);\r\n\r\n\r\n\r\n //const buttonRef = createRef()\r\n\r\n const validationDates = () =>{\r\n if(fromDate && untilDate && Date.parse(fromDate) > Date.parse(untilDate)){\r\n setFlag(true)\r\n }else{\r\n setFlag(false)\r\n }\r\n }\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault();\r\n if(flag){\r\n // Toast(trans(\"InvalidEndDate\"),\"error\");\r\n Toast(trans(\"InvalidEndDate\"),MessageType.error);\r\n\r\n }else{\r\n if (actualTimeAlert) { // هشدار به کاربر درباره بررسی مجدد فیلد زمان واقعی\r\n setActualTimeAlert(false);\r\n } else {\r\n if (id && mode !== \"create\") {\r\n data = {\r\n Id: id,\r\n PersonalTaskId: taskId,\r\n Description: event.target.description.value,\r\n StartTime: fromDate,\r\n EndTime: untilDate,\r\n ActualTime: +event.target.ActualTimeInput[0].value,\r\n Progress: Number(event.target.progressbar.value),\r\n };\r\n method = \"put\";\r\n } else {\r\n data = {\r\n PersonalTaskId: taskId,\r\n Description: event.target.description.value,\r\n StartTime: fromDate,\r\n EndTime: untilDate,\r\n ActualTime: +event.target.ActualTimeInput[0].value,\r\n Progress: Number(event.target.progressbar.value),\r\n };\r\n method = \"post\";\r\n } \r\n try {\r\n const res = await sendAction(data, method)\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n setResetForm(true);\r\n reset(true);\r\n \r\n onHide()\r\n\r\n } catch (error) {\r\n\r\n }\r\n }\r\n }\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // onHide()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide()\r\n });\r\n }else{\r\n onHide()\r\n };\r\n\r\n\r\n }\r\n \r\n async function getDataAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getAction(id); \r\n setAction(res.Data)\r\n } catch (error) {\r\n setAction(null); \r\n }\r\n setLoading(true)\r\n\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (id && mode !== \"create\"){\r\n getDataAsync()\r\n }else{\r\n setAction(null)\r\n setLoading(true)\r\n \r\n }\r\n }, [id , mode]);\r\n\r\n useEffect(() => {\r\n if ( mode === \"create\"){\r\n setResetForm(true);\r\n }\r\n }, [ mode]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n \r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n\r\n\r\n\r\n \r\n useEffect(() => {\r\n if(untilDate && fromDate){\r\n/* if(new Date(fromDate).getDate()-new Date(untilDate).getDate() > 0){\r\n setLeaveDaysNo()\r\n }else{ */\r\n\r\n //setLeaveDaysNo(Math.abs(new Date(fromDate).getDate()-new Date(untilDate).getDate())+1)\r\n try {\r\n setleaveHours( Math.floor( Math.abs(new Date(fromDate).getTime()-new Date(untilDate).getTime())/60000) ==0 ? 1 :Math.floor( Math.abs(new Date(fromDate).getTime()-new Date(untilDate).getTime())/60000) )\r\n } catch (error) {\r\n setleaveHours( null)\r\n \r\n }\r\n /* } */\r\n }\r\n}, [untilDate ,fromDate]);\r\n\r\nuseEffect(()=>{\r\n validationDates()\r\n },[untilDate,fromDate])\r\n\r\n\r\n return (\r\n\r\n
\r\n {loading ? \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"textarea\"\r\n textboxName=\"description\"\r\n defaultValue={action?.Description}\r\n resetForm={resetForm}\r\n labelText=\"description\"\r\n required={true}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n withTime={true}\r\n required={true}\r\n mode={mode}\r\n onOpenPickNewDate={true}\r\n resetForm={resetForm}\r\n lable=\"fromDate\"\r\n setIsoTime={(isoTime: string) => { setFromDate(isoTime) }}\r\n val={action !=undefined ?(action==null ? null : action?.StartTime ): null } //resetForm ? new Date().toISOString() : \r\n errorFlag={flag}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n withTime={true}\r\n required={true}\r\n mode={mode}\r\n onOpenPickNewDate={true}\r\n resetForm={resetForm}\r\n lable=\"untilDate\"\r\n setIsoTime={(isoTime: string) => { setUntilDate(isoTime) }}\r\n val={action !=undefined ? (action==null ? null : action?.EndTime ): null } //resetForm ? new Date().toISOString() : \r\n errorFlag={flag}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} required={true} mode={mode} label=\"Progress\" defaultValue={action?.Progress} name=\"progressbar\" resetForm={resetForm} />\r\n
\r\n
\r\n
\r\n {mode !== \"view\" ?\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n :\r\n }\r\n \r\n );\r\n}","\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getActions = (PageNumber: number, PageSize: number, taskId: any) => http({\r\n url: ENDPOINTS.personalPlanningApi.personalAction.browse,\r\n method: 'get',\r\n params: {\r\n pageNumber: PageNumber,\r\n pageSize: PageSize,\r\n personalTaskId: taskId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const getAction = (id: any) => http({\r\n url: ENDPOINTS.personalPlanningApi.personalAction.load,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n Id: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const sendAction = (data: string, method) => http({\r\n method: method,\r\n url: ENDPOINTS.personalPlanningApi.personalAction.browse,\r\n data: data\r\n}).then((res) => {\r\n \r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const deleteAction = (id) => http({\r\n method: \"delete\",\r\n url: ENDPOINTS.personalPlanningApi.personalAction.browse,\r\n params:{\r\n Id:id\r\n }\r\n}).then((res) => {\r\n \r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Footerbar } from \"components/Footerbar/Footerbar\";\r\nimport { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\nimport { deleteAction, getActions } from \"./api/api\";\r\nimport { ActionForm } from \"./components/ActionForm/ActionForm\";\r\nimport { Attachment } from \"pages/OfficeAutomation/Cartable/components/ActionList/components/Attachment/Attachment\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\nexport const Actions = ({ taskId, onHide, handleShowReferenceStepper , styleCondition }: any) => {\r\n\r\n let gridColumns, gridData = [];\r\n let headerData, footerData;\r\n let Total_records, pages;\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [response, setResponse] = useState(null);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [showActionForm, setShowActionForm] = useState(false);\r\n const [mode, setmode] = useState(\"\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(5);\r\n const [showattachment, setshowAttachment] = useState(false);\r\n const [endpoint, setEndpoint] = useState();\r\n /* #endregion */\r\n /* #region pagination */\r\n\r\n const handlechangePageSize = (e: any) => {\r\n setPageSize(e.currentTarget.value);\r\n setPageNum(1);\r\n getPageSize(\"Actions\" ,e.currentTarget.value)\r\n getReferenceActionsAsync();\r\n };\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else setPageNum(value);\r\n } else {\r\n }\r\n };\r\n const HandleNextPage = () => {\r\n if (pageNum < pages) setPageNum((pageNum) => { return +pageNum + 1 });\r\n };\r\n const HandlePrevPage = () => {\r\n if (pageNum > 1) setPageNum((pageNum) => { return +pageNum - 1 });\r\n };\r\n /* #endregion */\r\n /* #region dataGridActions */\r\n const handleCreateAction = () => {\r\n setmode(\"create\")\r\n setShowActionForm(true);\r\n }\r\n const handleEditRow = () => {\r\n setmode(\"edit\")\r\n setShowActionForm(true);\r\n }\r\n const handleDeleteRow = async() => {\r\n try {\r\n const res = await deleteAction(selectedId)\r\n setForceUpdate(!forceUpdate)\r\n \r\n } catch (error) {\r\n \r\n }\r\n }\r\n const handleViewRow = () => {\r\n setmode(\"view\")\r\n setShowActionForm(true);\r\n }\r\n const handleAttachmentRow = (id) => {\r\n setSelectedId(id)\r\n setEndpoint( ENDPOINTS.personalPlanningApi.personalAction.Attachment)\r\n setmode(\"attach\") \r\n setshowAttachment(true)\r\n }\r\n\r\n const handleAttachment = () => {\r\n setEndpoint(ENDPOINTS.personalPlanningApi.personalAction.Attachment)\r\n setSelectedId(taskId)\r\n setmode(\"allattach\")\r\n setshowAttachment(true)\r\n }\r\n \r\n const selectedIdCallback = (obj, index) => {\r\n \r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{setSelectedId(obj.Id);sessionStorage.setItem(\"changingforms\" , \"false\")});\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{setSelectedId(obj.Id);sessionStorage.setItem(\"changingforms\" , \"false\")});\r\n\r\n }else{\r\n setSelectedId(obj.Id) \r\n };\r\n }\r\n /* #endregion */\r\n\r\n /* #region toolbarActions */\r\n const clickToolbarCallback = (clickedButtonName: string) => { \r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\": alert(\"print \"); break;\r\n case \"excel\":downloadCSV(response?.Data?.Data ,2 ,trans(\"Actions\"));break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n case \"create\": handleCreateAction(); break;\r\n case \"view\": if (selectedId) handleViewRow(); break;\r\n case \"edit\": if (selectedId) handleEditRow(); break;\r\n // case \"remove\": if (selectedId)Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , handleDeleteRow); break;\r\n case \"remove\": if (selectedId)Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete , handleDeleteRow); break;\r\n\r\n case \"help\": alert(\"call api help\"); break;\r\n case \"attach\": handleAttachment(); break;\r\n case \"reference\":\r\n if (taskId) { handleShowReferenceStepper(taskId); onHide() }\r\n break;\r\n }\r\n };\r\n /* #endregion */\r\n\r\n async function getReferenceActionsAsync() {\r\n setLoading(false)\r\n let pageSizeChangedByUser = getPageSize(\"Actions\")\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const res = await getActions(pageNum, pageSizeChangedByUser, taskId); \r\n setResponse(res);\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n \r\n setLoading(true)\r\n }\r\n useEffect(() => {\r\n setResponse(null)\r\n getReferenceActionsAsync()\r\n\r\n }, [forceUpdate , pageNum ]);\r\n\r\n\r\n \r\n\r\n if (response &&\r\n response?.Data && response.Data?.Data?.length>0) {\r\n gridColumns = Object.keys(response.Data.Data[0]);\r\n gridData = response.Data.Data;\r\n headerData = response.Data.Header;\r\n footerData = response.Data.Footer;\r\n Total_records = response.Data.TotalRecords;\r\n }\r\n pages = Total_records > pageSize ? Math.ceil(Total_records / pageSize) : 1;\r\n return (\r\n <>\r\n
\r\n \r\n {headerData && }\r\n\r\n {showActionForm &&\r\n setShowActionForm(false)}\r\n mode={mode}\r\n reset={(e)=>{getReferenceActionsAsync()}}\r\n id={selectedId}\r\n taskId={taskId}\r\n />\r\n }\r\n {loading ?\r\n (response?.Data?.Data.length > 0 ?\r\n
\r\n
\r\n <>\r\n {Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , handleDeleteRow)}}\r\n handleDelete={()=>{Toast(trans(\"msg_deleteconfirm\"),MessageType.confirmDelete , handleDeleteRow)}}\r\n\r\n handleView={handleViewRow}\r\n handleAttachment={handleAttachmentRow}\r\n startIndex={2}\r\n totalRecords={Total_records}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={HandleNextPage}\r\n HandlePrevPage={HandlePrevPage}\r\n handlechangePageSize={handlechangePageSize}\r\n first={() => setPageNum(pages)}\r\n end={() => setPageNum(1)}\r\n handleGoPage={handleGoPage}\r\n scrollHeight={\"150px\"}\r\n />\r\n {footerData && }\r\n {showattachment &&\r\n setshowAttachment(false)} show={showattachment}>\r\n setshowAttachment(false)} mood={mode} endpoint={ENDPOINTS.personalPlanningApi.personalAction.Attachment} ownerId={selectedId} />\r\n \r\n }\r\n \r\n
\r\n
\r\n : \r\n )\r\n : \r\n }\r\n\r\n
\r\n \r\n\r\n );\r\n}","import { Button } from \"components/Button/Button\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { getPersonalPlanning, postPersonalPlanning, putPersonalPlanning } from \"../api\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface JobFormPropsType {\r\n onHide: (e:boolean) => void;\r\n handleCancelForm?: (ans: boolean) => void;\r\n handleShowReferenceStepper?: (taskId: string) => void;\r\n taskId?: string;\r\n processId?: string;\r\n mode?;\r\n\r\n}\r\nexport const PersonalPlaningForm = ({\r\n handleCancelForm,\r\n taskId,\r\n processId,\r\n mode,\r\n onHide,\r\n handleShowReferenceStepper,\r\n}: JobFormPropsType) => {\r\n\r\n const [showReferenceStepper, setShowReferenceStepper] = useState(false);\r\n const [personalTaskDate, setPersonalTaskDate] = useState(new Date().toISOString());\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const layoutContext = useContext(LayoutContext);\r\n const [response, setResponse] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n\r\n async function getJobAsync() {\r\n setLoading(false);\r\n try {\r\n const res = await getPersonalPlanning(taskId);\r\n let response = res.Data\r\n setPersonalTaskDate(response.PersonalTaskDate)\r\n setResponse(response );\r\n \r\n } catch (error) { }\r\n setLoading(true);\r\n \r\n }\r\n\r\n\r\n useEffect(() => {\r\n \r\n if (taskId &&taskId != \"create\" ){ getJobAsync();}else setLoading(true)\r\n }, [taskId]);\r\n\r\n const handleJobFormSubmit = (event) => {\r\n event.preventDefault();\r\n\r\n\r\n if (mode == \"edit\") {\r\n let data = {\r\n Id: taskId,\r\n Description: event.target.Description.value,\r\n personalTaskDate: personalTaskDate,\r\n PersonId:layoutContext.UserPerson.PersonId,\r\n Priority: +event.target.priority.value,\r\n PersonalTaskStatus: +event.target.PersonalTaskStatus.value,\r\n\r\n };\r\n sendDataAsync(data, \"put\");\r\n } else {\r\n let data = {\r\n Description: event.target.Description.value,\r\n personalTaskDate: personalTaskDate,\r\n PersonId:layoutContext.UserPerson.PersonId,\r\n Priority: +event.target.priority.value,\r\n \r\n };\r\n sendDataAsync(data, \"post\");\r\n }\r\n };\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\nuseEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n}, [userChanges]);\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // onHide(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide(false)\r\n });\r\n }else{\r\n onHide(false) \r\n };\r\n\r\n\r\n}\r\n\r\n async function sendDataAsync(data, method) {\r\n try {\r\n let res;\r\n if (method === \"post\") res = await postPersonalPlanning(data);\r\n else res = await putPersonalPlanning(data);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide(true);\r\n } catch (err: any) { }\r\n }\r\n\r\n return (\r\n\r\n
\r\n
\r\n {loading ? (\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n resetForm={resetForm}\r\n withTime ={true} \r\n lable=\"PersonalTaskDate\"\r\n setIsoTime={(isoTime: string) => {\r\n setPersonalTaskDate(isoTime);\r\n }}\r\n val={ response?.PersonalTaskDate}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n name='priority'\r\n label=\"priority\"\r\n enumTypeSelect=\"priority\"\r\n value={response?.Priority}\r\n mode={mode}\r\n />\r\n
\r\n {mode !=\"create\"&&\r\n
\r\n \r\n \r\n
\r\n }\r\n
\r\n
\r\n\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n resetForm={resetForm}\r\n labelText=\"Description\"\r\n defaultValue={response?.Description}\r\n mode={mode}\r\n />\r\n
\r\n\r\n\r\n
\r\n {mode != \"view\" ? (\r\n
\r\n
\r\n ) : (\r\n
\r\n cancel()}\r\n />\r\n
\r\n )}\r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n\r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useState, useEffect, useRef } from \"react\"\r\nimport { CalendarEventType } from \"types/enum\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport './../../style.scss';\r\n\r\n\r\ninterface Props {\r\n dayNum: number // day number \r\n firstDay: number[] // first days of submitted events\r\n currentDayNumber: number // day number of today\r\n sendSelectedDaysUp: (selectedDay: { day: number, Year: number,month: number, checked: boolean }) => void\r\n sendClickDaysUp?: (selectedDay: any) => void\r\n selectedDays ? :any\r\n\r\n eventList: { dayId: number, eventMessage: string, id: number }[]\r\n selectedDay?: number\r\n\r\n month: number\r\n YearOfMonth: number\r\n CalendarEvent?: number\r\n holiday: number[] | undefined | null\r\n formSubmitted: boolean\r\n}\r\n\r\nexport const CalendarDay = ({ dayNum,selectedDay,selectedDays ,sendClickDaysUp, sendSelectedDaysUp,CalendarEvent , YearOfMonth , eventList, month, holiday, firstDay, currentDayNumber, formSubmitted }: Props) => {\r\n const [day, setDay] = useState<{ day: number, Year: number,month: number, checked: boolean }>({ checked: false,day:dayNum ,month:month , Year :YearOfMonth });\r\n const [showTooltip, setShowTooltip] = useState(false);\r\n const [currentDayEventList, setCurrentDayEventList] = useState(false);\r\n const [defaultChecked, setDefaultChecked] = useState(null);\r\n\r\n\r\n const isHoliday = (holiday && holiday?.some(day => day === dayNum) ||(CalendarEvent && CalendarEvent == CalendarEventType[\"NationalWeekend\"] || CalendarEvent == CalendarEventType[\"NationalHoliday\"] )) // check if current day is holiday\r\n \r\n const isFirstDay = true // check if current day is first day of submitted event\r\n // const isFirstDay = firstDay?.some(day => day === dayNum) // check if current day is first day of submitted event\r\n\r\n\r\n\r\n\r\n\r\n const handleSelectedDayOnclick = () => {\r\n // setDay(state => ({ ...state, checked: !state.checked }))\r\n sendSelectedDaysUp({day:dayNum ,month:month , Year :YearOfMonth , checked: day.checked })\r\n }\r\n \r\n\r\n // reset all checkbox after event-form submitted ...\r\n useEffect(() => {\r\n let filter= eventList.filter(event => event.dayId === dayNum) // current day events\r\n if( filter.length >1||( CalendarEvent && CalendarEvent != CalendarEventType[\"NationalEvent\"] && CalendarEvent != CalendarEventType[\"NationalHoliday\"] && CalendarEvent != CalendarEventType[\"NationalWeekend\"] &&CalendarEvent !=CalendarEventType[\"OrganizationalWeekend\"]) ||CalendarEvent == undefined ){\r\n\r\n }\r\n let newFilter:any =[]\r\n filter.forEach(item=>{\r\n if(item.eventMessage.length > 1){\r\n newFilter.push(item) \r\n }\r\n })\r\n \r\n setCurrentDayEventList(newFilter)\r\n\r\n \r\n if (formSubmitted) {\r\n setDay(state => ({ ...state, checked: false }))\r\n }\r\n }, [formSubmitted , eventList])\r\n \r\n useEffect(() => {\r\n if(currentDayNumber == dayNum){\r\n sendClickDaysUp && sendClickDaysUp(day)\r\n }\r\n }, [currentDayNumber ])\r\n\r\n\r\n useEffect(() => {\r\n let flag = false\r\n selectedDays.map(item=>{\r\n if(item.day == dayNum && item.month ==month && item.Year ==YearOfMonth ){\r\n flag = true\r\n setDay(item)\r\n }\r\n })\r\n if(!flag && day.checked){\r\n setDay(state => ({ ...state, checked: false }))\r\n }\r\n \r\n }, [selectedDays ])\r\n\r\n\r\n return (\r\n <>\r\n \r\n {dayNum}\r\n \r\n
{sendClickDaysUp && sendClickDaysUp(day)}} className=\"eventcalendar__tbody-cell-content mt-4 d-flex flex-column\">\r\n {currentDayEventList.length > 0 &&\r\n \r\n {isFirstDay && currentDayEventList[0]?.eventMessage}\r\n \r\n }\r\n {currentDayEventList.length > 1 &&\r\n { setShowTooltip(true) }} className=\"text-primary text-end ms-0 ms-md-1\">بیشتر ...\r\n }\r\n
\r\n \r\n\r\n {showTooltip &&\r\n
\r\n
\r\n { setShowTooltip(false) }} style={{ cursor: \"pointer\" }} />\r\n {dayNum}/{month}/{YearOfMonth}\r\n
\r\n
\r\n {currentDayEventList.map(event => (\r\n \r\n {event.eventMessage}\r\n \r\n ))}\r\n
\r\n
\r\n }\r\n \r\n )\r\n}","import { Button } from \"components/Button/Button\"\r\nimport { Textbox } from \"components/Textbox/Textbox\"\r\nimport { Time } from \"components/Time/Time\"\r\nimport { Toast } from \"components/ToastShow/ToastAlert\"\r\nimport { useEffect, useState } from \"react\"\r\nimport { CalendarType, MessageType } from \"types/enum\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { sendHolidaysApi } from \"../../api\"\r\n\r\ninterface Props {\r\n selectedDays: any[],\r\n year:any ,\r\n month:any ,\r\n sendEventMessageUp: (eventData: {dayId: number, eventMessage: string, id: number}[]) => void\r\n setShowEventForm: React.Dispatch>\r\n sendFormSubmissionUp: (submitted: boolean) => void\r\n setSelectedDays: React.Dispatch>\r\n}\r\n\r\nexport const EventForm = ({year , month , selectedDays, sendEventMessageUp, setShowEventForm, sendFormSubmissionUp, setSelectedDays}:Props) => {\r\n\r\n const [days, setDays] = useState([]);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n\r\n async function sendNodeAsync(data ,method) {\r\n try{\r\n const res = await sendHolidaysApi(data , method);\r\n\r\n \r\n }catch(err:any){\r\n\r\n }\r\n }\r\n\r\n const onSubmit = (e) => {\r\n e.preventDefault()\r\n const data = e.target.eventMessage.value\r\n const id = Math.floor(Math.random() * 100000)\r\n if(!data.length){\r\n // Toast(trans(\"Msg_EnterMessage\"), \"warning\")\r\n Toast(trans(\"Msg_EnterMessage\"), MessageType.warning)\r\n\r\n return\r\n } \r\n const eventData = selectedDays.map(num => ({\r\n CalendarEventType:0,\r\n dayId: num.day,\r\n eventMessage: data,\r\n id\r\n })) \r\n\r\n let lang = localStorage.getItem('lang')==\"fa\" ? \"Solar\" :\"Lunar\" \r\n \r\n const eventDataSend = selectedDays.map(num => ({\r\n MinuteNo:+e.target.Time[0].value % 60,\r\n HourNo: (+e.target.Time[0].value-(+e.target.Time[0].value % 60))/60,\r\n YearNo: num.Year ,\r\n MonthNo:num.month,\r\n DayNo: num.day ,\r\n Description: e.target.eventMessage.value ,\r\n CalendarType: +CalendarType[lang] ,\r\n CalendarEventType:0,\r\n }))\r\n\r\n eventDataSend.forEach(item=>{\r\n sendNodeAsync(item,\"post\")\r\n })\r\n sendEventMessageUp(eventData)\r\n sendFormSubmissionUp(true)\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n setSelectedDays([])\r\n setShowEventForm(false)\r\n }\r\n\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n let dayStr = selectedDays.map(item=>{\r\n return `${item.Year}/${item.month}/${item.day}`\r\n })\r\n \r\n setDays(dayStr)\r\n \r\n }, []);\r\n \r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"textarea\"\r\n textboxName=\"eventMessage\"\r\n labelText=\"Description\"\r\n maxLength={900}\r\n defaultValue={\"\"}\r\n mode={\"create\"}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getCalendar = (async (year?, month?) => await http({\r\n url: ENDPOINTS.calendar.calendar.browse,\r\n method: 'get',\r\n params: {\r\n year: year,\r\n month: month\r\n }\r\n})\r\n .then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject(err);\r\n }));\r\n\r\nexport const getCalendarDay = (async (year, month, day) => await http({\r\n url: ENDPOINTS.calendar.calendar.load,\r\n method: 'get',\r\n params: {\r\n year: year,\r\n month: month,\r\n day: day\r\n }\r\n})\r\n .then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject(err);\r\n }));\r\n\r\n export const sendHolidaysApi = (data , method) => http({\r\n url: ENDPOINTS.calendar.PersonalEvent.browse,\r\n method: method,\r\n data:data\r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n })\r\n \r\n \r\n ","import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\r\nimport { Loading } from 'components/Loading/loading';\r\nimport { ModalForm } from 'components/ModalForm/ModalForm';\r\nimport { Toast } from 'components/ToastShow/ToastAlert';\r\nimport { Toolbar } from 'components/Toolbar/Toolbar';\r\nimport { useEffect, useState } from 'react';\r\nimport { ICON_TYPE } from 'utils/constants';\r\nimport { trans } from 'utils/helpers';\r\nimport { getCalendar, getCalendarDay } from './api';\r\nimport { CalendarDay } from './component/CalendarDay/CalendarDay';\r\nimport { EventForm } from './component/EventForm/EventForm';\r\nimport './style.scss';\r\nimport { MessageType } from 'types/enum';\r\n\r\n// fake data for test\r\n//const weekdays_fa = [trans(\"Saturday\"), trans(\"Sunday\"), trans(\"Monday\"), trans(\"Tuesday\"), trans(\"Wednesday\"), trans(\"Thursday\"), trans(\"Friday\")];\r\nconst weekdays_fa = [\"Saturday\", \"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\"];\r\nconst weekdays_en = [\"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\", \"Sunday\"];\r\n\r\nexport const PersonalCalendar = () => {\r\n // let days: React.ReactElement[] = [];\r\n let startDay, dayValues: any[] = [];\r\n const lang = localStorage.getItem('lang');\r\n const [dayDictionary, setDayDictionary] = useState();\r\n const [weekdays, setWeekdays] = useState(lang == \"en\" ? weekdays_en : weekdays_fa);\r\n const [loading, setLoading] = useState(false);\r\n const [data, setData] = useState();\r\n const [ days, setDays] = useState([]);\r\n const [ eventDays, setEventDays] = useState();\r\n const [ emptyDays, setEmptyDays] = useState();\r\n const [calendarEvents, setCalendarEvents] = useState([]);\r\n const [selectedMonthNo, setSelectedMonthNo] = useState(0);\r\n const [selectedYearNo, setSelectedYearNo] = useState(0);\r\n const [selectedDayNo, setSelectedDayNo] = useState(0);\r\n const [showEventForm, setShowEventForm] = useState(false)\r\n const [selectedDays, setSelectedDays] = useState([])\r\n const [eventList, setEventList] = useState<{ dayId: number, eventMessage: string, id: number }[]>([])\r\n const [firstDay, setFirstDay] = useState([]) // first days of submitted events\r\n const [formSubmitted, setFormSubmitted] = useState(false)\r\n const [errcode, setErrcode] = useState();\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n\r\n let customFuction: any = []\r\n\r\n customFuction.push([(e) => { EventFormShowFunction() }, \"calendar\", \"event\"]);\r\n customFuction.push([(e) => { HolidayFormShowFunction() }, \"calendar\", \"holiday\"]);\r\n\r\n const EventFormShowFunction = () => {\r\n if (selectedDays.length) {\r\n setShowEventForm(true)\r\n setFormSubmitted(false)\r\n } else\r\n // Toast(\"ChooseADay\", 'warning')\r\n Toast(\"ChooseADay\", MessageType.warning)\r\n\r\n };\r\n const HolidayFormShowFunction = () => {\r\n if (selectedDays.length) {\r\n setShowEventForm(true)\r\n setFormSubmitted(false)\r\n } else\r\n // Toast(\"ChooseADay\", 'warning')\r\n Toast(\"ChooseADay\", MessageType.warning)\r\n };\r\n const clickNextMonth = () => {\r\n \r\n if (selectedMonthNo === 0) {\r\n data ? setSelectedMonthNo(data.MonthNo + 1) : setSelectedMonthNo(new Date().getMonth());\r\n } else {\r\n if (selectedMonthNo === 12) {\r\n setSelectedMonthNo(1);\r\n data ? setSelectedYearNo(data.YearOfMonth + 1) : setSelectedYearNo(new Date().getFullYear());\r\n } else\r\n setSelectedMonthNo(selectedMonthNo + 1);\r\n }\r\n };\r\n const clickPreMonth = () => {\r\n if (selectedMonthNo === 0) {\r\n data ? setSelectedMonthNo(data.MonthNo - 1) : setSelectedMonthNo(new Date().getMonth());\r\n } else {\r\n if (selectedMonthNo === 1) {\r\n setSelectedMonthNo(12);\r\n data ? setSelectedYearNo(data.YearOfMonth - 1) : setSelectedYearNo(new Date().getFullYear());\r\n } else\r\n setSelectedMonthNo(selectedMonthNo - 1);\r\n }\r\n };\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\": alert(\"print \"); break;\r\n // case \"excel\": alert(\"excel \"); break;\r\n case \"refresh\":setForceUpdate(!forceUpdate); break;\r\n case \"create\": {\r\n if (selectedDays.length) {\r\n setShowEventForm(true)\r\n setFormSubmitted(false)\r\n } else \r\n // Toast(\"ChooseADay\", 'warning')\r\n Toast(\"ChooseADay\", MessageType.warning)\r\n break;\r\n }\r\n }\r\n };\r\n\r\n\r\n const sendSelectedDaysUp = (selectedDay: { day: number, Year: number,month: number, checked: boolean }) => {\r\n const { day, checked , Year ,month } = selectedDay;\r\n \r\n \r\n if (!checked) {\r\n setSelectedDays(state => [...state, {...selectedDay ,checked:!selectedDay.checked }])\r\n \r\n } else {\r\n const filteredDays = selectedDays.filter(item => (item.day != selectedDay.day ||item.month != selectedDay.month ||item.Year != selectedDay.Year ))\r\n setSelectedDays(filteredDays)\r\n }\r\n }\r\n\r\n const sendEventMessageUp = (eventData: { dayId: number, eventMessage: string, id: number }[]) => {\r\n setEventList(eventData)\r\n \r\n const sortedDay = eventData.map(item => item.dayId).sort(function (a, b) { return b - a })\r\n\r\n\r\n for (let i = 0; i < sortedDay.length; i++) {\r\n if (sortedDay[i] - sortedDay[i + 1] > 1) setFirstDay(state => [...state, sortedDay[i], sortedDay[sortedDay.length - 1]])\r\n else if (sortedDay[i] - sortedDay[i + 1] === 1) setFirstDay(state => [...state, sortedDay[sortedDay.length - 1]])\r\n else if (sortedDay.length === 1) setFirstDay(state => [...state, sortedDay[i]])\r\n }\r\n manageShowData()\r\n }\r\n\r\n let removedDuplicate = firstDay.filter((day, index) => {\r\n return firstDay.indexOf(day) === index;\r\n });\r\n\r\n const sendFormSubmissionUp = (submitted) => {\r\n setFormSubmitted(submitted)\r\n }\r\n const manageShowData = (days=data , Events:any=data?.CalendarEvents ) => {\r\n if (dayDictionary) {\r\n dayValues = Object.values(dayDictionary);\r\n }\r\n if (days && Events) {\r\n startDay = weekdays.findIndex(day => day === days?.FirstDayOfWeek);\r\n\r\n let day:any = [];\r\n let empty:any = [];\r\n let eventDay = Events.map(item=>{\r\n return item?.DayNo\r\n })\r\n for (let i = 0; i < startDay; i++) {\r\n empty.push(
)\r\n }\r\n for (let i = 0; i < days.MonthDaysRange; i++) {\r\n day.push(i)\r\n }\r\n \r\n setEmptyDays(empty)\r\n setEventDays(eventDay)\r\n setDays(day)\r\n }\r\n }\r\n const getCalendarDayAsync = async (day) => {\r\n setSelectedDayNo(day)\r\n if(day>0){\r\n //setLoading(false);\r\n try {\r\n const res = await getCalendarDay(data?.YearOfMonth, data?.MonthNo, day)\r\n let dayDic = Object.keys(res.Data).map(item=>{\r\n return [item , res.Data[item]]\r\n })\r\n setDayDictionary(dayDic);\r\n if (res.Data) {\r\n dayValues = Object.values(res.Data);\r\n }\r\n\r\n } catch (error: any) {\r\n setErrcode(error.response.status)\r\n }\r\n }\r\n //setLoading(true);\r\n }\r\n const getCalendarAsync = async () => {\r\n setLoading(false);\r\n try { \r\n setEventList([])\r\n setDays([])\r\n const res = await getCalendar(selectedYearNo > 0 ? selectedYearNo : undefined, selectedMonthNo > 0 ? selectedMonthNo : undefined)\r\n const eventData:any = [...res.Data?.CalendarEvents , ...res.Data?.PersonalEvents].map(item => ({ \r\n CalendarEventType:+item.CalendarEventType,\r\n dayId: item.DayNo,\r\n eventMessage: item.Description ,\r\n })) \r\n //setEventList(eventData)\r\n setCalendarEvents([...res.Data?.CalendarEvents , ...res.Data?.PersonalEvents])\r\n sendEventMessageUp(eventData)\r\n manageShowData(res.Data , [...res.Data?.CalendarEvents , ...res.Data?.PersonalEvents]);\r\n setData(res.Data);\r\n } catch (error: any) {\r\n// setErrcode(error.response.status)\r\n }\r\n setLoading(true);\r\n }\r\n useEffect(() => {\r\n getCalendarAsync();\r\n }, [forceUpdate]);\r\n\r\n useEffect(() => {\r\n getCalendarAsync();\r\n }, [selectedMonthNo, selectedYearNo ]);\r\n\r\n\r\n \r\n return (\r\n
\r\n \r\n {\r\n loading && days?\r\n\r\n
\r\n
\r\n {dayDictionary && \r\n
\r\n
\r\n
\r\n { {trans(dayDictionary[0][0])}}\r\n { dayDictionary[0][1]}\r\n
\r\n
\r\n { {trans(dayDictionary[1][0])}}\r\n {dayDictionary[1][1]}\r\n\r\n
\r\n
\r\n { {trans(dayDictionary[2][0])}}\r\n {dayDictionary[2][1]}\r\n\r\n
\r\n
\r\n
\r\n }\r\n
\r\n \r\n
\r\n {data?.YearOfMonth}\r\n {data?.MonthName}\r\n
\r\n \r\n
\r\n
\r\n {selectedDays.map(item=>{\r\n return
\r\n
{ setSelectedMonthNo(item.month);}}>\r\n {item.Year}/{item.month}/{item.day}\r\n
\r\n
{sendSelectedDaysUp(item)}}>\r\n \r\n
\r\n
\r\n\r\n })}\r\n
\r\n
\r\n\r\n
\r\n {weekdays.map(day => (\r\n
{trans(day)}
\r\n ))\r\n }\r\n
\r\n
\r\n {emptyDays}\r\n {days.map((item , index)=>(\r\n eventDays.includes(index+1) ?\r\n { getCalendarDayAsync(e.day)}}\r\n key={index+1}\r\n dayNum={index+1}\r\n month={data?.MonthNo}\r\n YearOfMonth={data?.YearOfMonth}\r\n sendSelectedDaysUp={sendSelectedDaysUp}\r\n selectedDays={selectedDays}\r\n eventList={eventList}\r\n holiday={days.OrganizationEvents}\r\n firstDay={removedDuplicate}\r\n currentDayNumber={data.CurrentDayOfMonth}\r\n formSubmitted={formSubmitted}\r\n CalendarEvent={[...data?.CalendarEvents , ...data?.PersonalEvents][eventDays.indexOf(index+1)]?.CalendarEventType }\r\n />\r\n :\r\n {getCalendarDayAsync(e.day)}}\r\n key={index+1}\r\n dayNum={index+1}\r\n month={data?.MonthNo}\r\n YearOfMonth={data?.YearOfMonth}\r\n sendSelectedDaysUp={sendSelectedDaysUp}\r\n selectedDays={selectedDays}\r\n eventList={eventList}\r\n holiday={days.OrganizationEvents}\r\n firstDay={removedDuplicate}\r\n currentDayNumber={data.CurrentDayOfMonth}\r\n formSubmitted={formSubmitted}\r\n CalendarEvent={data?.CalendarEvents[eventDays.indexOf(index+1)]?.CalendarEventType}\r\n />\r\n\r\n\r\n ))}\r\n
\r\n {dayDictionary && \r\n
\r\n {dayDictionary[3][0] == \"Holiday\" &&

}\r\n {dayDictionary[3][0] == \"NotHoliday\" &&

}\r\n\r\n
\r\n }\r\n
\r\n\r\n : \r\n }\r\n {/* : */}\r\n {\r\n showEventForm && (\r\n { setShowEventForm(false) }} show={showEventForm}>\r\n {setForceUpdate(!forceUpdate)}}\r\n setShowEventForm={setShowEventForm}\r\n />\r\n )\r\n }\r\n
\r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getAllDailyLeave = (async (searchString, orderBy) => await http({\r\n url: ENDPOINTS.cartable.DailyLeaveRequestClassification.browse,\r\n method: 'get',\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy\r\n }\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\nexport const getDailyLeaven = (async (id) => await http({\r\n url: ENDPOINTS.cartable.DailyLeaveRequestClassification.load,\r\n method: 'get',\r\n params: { Id: id }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const deleteDailyLeaven = (id) => http({\r\n url: ENDPOINTS.cartable.DailyLeaveRequestClassification.browse,\r\n method: 'delete',\r\n params: {id : id}\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const postDailyLeave = (data) => http({\r\n url: ENDPOINTS.cartable.DailyLeaveRequestClassification.browse,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n\r\nexport const putDailyLeave = (data) => http({\r\n url: ENDPOINTS.cartable.DailyLeaveRequestClassification.browse,\r\n method: 'put',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n","import { Button } from \"components/Button/Button\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getPostLevelIdApi, sendPostLevelApi } from \"../api/api\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\ninterface PostLevelFormPropsType {\r\n selectedObj;\r\n showForm;\r\n mode;\r\n\r\n}\r\nexport const PostLevelForm = ({ \r\n selectedObj, \r\n showForm,\r\n mode\r\n\r\n}: PostLevelFormPropsType) => {\r\n \r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading,setLoading] = useState(false)\r\n\r\n\r\n async function sendNodeAsync(data ,method) {\r\n try{\r\n const res = await sendPostLevelApi(data , method);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm()\r\n }catch(err:any){\r\n\r\n }\r\n }\r\n\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm()\r\n });\r\n }else{\r\n showForm() \r\n };\r\n }\r\n \r\n async function getPostLevel() {\r\n setLoading(false)\r\n try{\r\n if(selectedObj.Id){\r\n const res = await getPostLevelIdApi(selectedObj.Id);\r\n setResponse(res.Data) \r\n }else{\r\n setResponse(null) \r\n } \r\n }catch(err:any){\r\n\r\n }\r\n setLoading(true)\r\n }\r\n\r\n const handlePersonContactFormSubmit = (event) => {\r\n event.preventDefault();\r\n if(mode==\"edit\"){\r\n let data={\r\n \"Id\": selectedObj.Id,\r\n \"Name\": event.target.Name.value,\r\n \"ActivityStatus\": +event.target.ActivityStatus.value,\r\n \"IsDefault\": event.target.checkbox.checked,\r\n\r\n }\r\n \r\n sendNodeAsync(data,\"put\")\r\n }else{\r\n let data={\r\n \"Name\": event.target.Name.value,\r\n \"ActivityStatus\": 1,\r\n \"IsDefault\": event.target.checkbox.checked,\r\n\r\n }\r\n sendNodeAsync(data,\"post\")\r\n\r\n }\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n \r\n \r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n \r\n useEffect(() => {\r\n if(selectedObj && mode != \"create\"){\r\n getPostLevel()\r\n }else{\r\n setResponse(null)\r\n setLoading(true)\r\n }\r\n \r\n }, [selectedObj , mode ]);\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {loading ? \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"text\"\r\n textboxName=\"Name\"\r\n labelText=\"Description\"\r\n maxLength={50}\r\n defaultValue={response?.Name}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n label=\"Status\"\r\n name=\"ActivityStatus\"\r\n value ={response?.ActivityStatus}\r\n mode={mode}\r\n enumTypeSelect=\"ActivityStatus\"\r\n />\r\n
\r\n }\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={response?.IsDefault}\r\n defaultValue={response?.IsDefault}\r\n labelText={\"isdefault\"}\r\n inputName={\"checkbox\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
\r\n\r\n { mode !=\"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n } \r\n
\r\n : \r\n }\r\n\r\n
\r\n
\r\n
\r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getPostLevelApi =( async (searchString ,orderBy) => await http({\r\n url: ENDPOINTS.BaseInformation.postLevel.browse,\r\n method: 'get',\r\n params:{\r\n searchString :searchString,\r\n orderBy:orderBy ,\r\n }\r\n\r\n})\r\n.then((respons) => (respons.data))\r\n.catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n)\r\nexport const sendPostLevelApi =( async (data ,method ) => await http({\r\n url: ENDPOINTS.BaseInformation.postLevel.browse,\r\n method: method,\r\n data:data\r\n\r\n})\r\n.then((respons) => (respons.data))\r\n.catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n)\r\nexport const getPostLevelIdApi =( async ( id ) => await http({\r\n url: ENDPOINTS.BaseInformation.postLevel.load,\r\n method: \"get\",\r\n params:{\r\n Id:id\r\n }\r\n\r\n})\r\n.then((respons) => (respons.data))\r\n.catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n)\r\nexport const deletePostLevel =( async ( id ) => await http({\r\n url: ENDPOINTS.BaseInformation.postLevel.browse,\r\n method: \"delete\",\r\n params:{\r\n id:id\r\n }\r\n\r\n})\r\n.then((respons) => (respons.data))\r\n.catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n)\r\n","import { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\"\r\nimport { trans } from \"utils/helpers\";\r\nimport { http } from \"utils/http\"\r\n\r\nexport const getProcessById = (id) => http({\r\n url: ENDPOINTS.bpmnApi.process.getProcessTasks,\r\n method: \"get\",\r\n params: {\r\n processId: id\r\n\r\n }\r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n\r\n\r\nexport const exportProcess = (id) => http({\r\n url: ENDPOINTS.bpmnApi.process.exportProcessMakerFile,\r\n method: \"get\",\r\n params:{\r\n prj_uid :id\r\n }\r\n }).then((res) => {\r\n return res\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n\r\n\r\n export const postProcessIcon = (query) => http({\r\n url: ENDPOINTS.bpmnApi.bpmnProcessIcon.load,\r\n method: \"post\",\r\n params: {\r\n iconId: query.iconId,\r\n PRJ_UID : query.PRJ_UID\r\n \r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n \r\n export const postProcessApplication = (query) => http({\r\n url: ENDPOINTS.bpmnApi.bpmnProcessApplication.load,\r\n method: \"post\",\r\n params: {\r\n applicationId: query.applicationId,\r\n PRJ_UID : query.PRJ_UID\r\n }\r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n \r\n export const getProcessApplication = (PRJ_UID) => http({\r\n url: ENDPOINTS.bpmnApi.bpmnProcessApplication.browse,\r\n method: \"get\",\r\n params: {\r\n PRJ_UID : PRJ_UID\r\n }\r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n export const deleteProcessApplication = (query) => http({\r\n url: ENDPOINTS.bpmnApi.bpmnProcessApplication.delete,\r\n method: \"DELETE\",\r\n params: {\r\n applicationId: query.applicationId,\r\n PRJ_UID : query.PRJ_UID\r\n \r\n }\r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n export const getProcessListDictionary = (async () => await http({\r\n url:ENDPOINTS.bpmnApi.process.getProcessDictionaryAll ,\r\n method: 'get',\r\n })\r\n .then((response) => (response.data))\r\n )","import { SelectBox } from \"components/Select/Select\";\r\nimport {\r\n InputHTMLAttributes,\r\n useContext,\r\n useEffect,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getApplications, setDefaultProcces } from \"./api\";\r\n\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport {\r\n deleteProcessApplication,\r\n getProcessApplication,\r\n postProcessApplication,\r\n} from \"pages/OfficeAutomation/Settings/ProcessSetting/api/api\";\r\nimport \"./style.scss\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\ninterface ApplicationProp extends InputHTMLAttributes {\r\n type: \"SelectBox\" | \"Radio\" | \"CheckBox\";\r\n label?: string;\r\n PRJ_UID?: string;\r\n name: string;\r\n value?: any;\r\n mode?: any;\r\n valueList?: any;\r\n required?: boolean;\r\n Change?: (e) => void;\r\n ApplicationListCallback?: (e) => void;\r\n returnObj?: any;\r\n}\r\nexport const Application = ({\r\n type,\r\n returnObj = false,\r\n label,\r\n PRJ_UID,\r\n name,\r\n value,\r\n valueList,\r\n mode,\r\n required,\r\n Change,\r\n ApplicationListCallback,\r\n}: ApplicationProp) => {\r\n const [optionsApplication, setOptionsApplication] = useState();\r\n const [errcode, setErrcode] = useState();\r\n const [app, setApp] = useState();\r\n const [selectedItem, setSelectedItem] = useState([]);\r\n const layoutContext = useContext(LayoutContext);\r\n let Default: any = value;\r\n let options_Application_values: any = [];\r\n let options_Application_keys: any = [];\r\n\r\n const ApplicationApiAsync = async () => {\r\n try {\r\n const res = await getApplications();\r\n\r\n setOptionsApplication(res.Data);\r\n if (PRJ_UID) {\r\n try {\r\n const response = await getProcessApplication(PRJ_UID);\r\n if (response.Data != null) {\r\n let Apps = Object.keys(response.Data).map((item, index) => {\r\n return { Id: item, Name: trans(response.Data[item].Name\t), IsDefault: response.Data[item].IsDefault\t };\r\n });\r\n\r\n setSelectedItem(Apps);\r\n }\r\n } catch (error) {\r\n setSelectedItem([]);\r\n }\r\n } else if (valueList && valueList.length > 0) {\r\n let Apps: any = [];\r\n\r\n res.Data.map((item) => {\r\n if (valueList.includes(item.Id)) {\r\n Apps.push({ Id: item.Id, Name: item.Name });\r\n }\r\n });\r\n setSelectedItem(Apps);\r\n //در مد ادیت در صورتی که نخواهد روی دکمه ادآپشن بزند باید مقادیر از قبل انتخاب شده به صورت خودکار به کامپوننت والد هدایت شوند.\r\n\r\n ApplicationListCallback &&\r\n ApplicationListCallback(\r\n returnObj\r\n ? [\r\n Apps.reduce((acc, curr) => {\r\n acc[curr.Id] = curr.Name;\r\n return acc;\r\n }, {}),\r\n ]\r\n : Apps.map((item) => item.Id)\r\n );\r\n // عوض کردن فرمت دیتا به قالب زیر\r\n // [{Id: 'd602f192-5d5a-ec11-8946-00155d01ce1a', Name: 'OfficeAutomation'}, {Id:'051b6708-eadb-ec11-8959-00155daa100d', Name: 'MeetingManagement'}]\r\n // ========>\r\n // [{d602f192-5d5a-ec11-8946-00155d01ce1a: 'OfficeAutomation', 051b6708-eadb-ec11-8959-00155daa100d: 'MeetingManagement'}]\r\n } else {\r\n setSelectedItem([]);\r\n }\r\n } catch (error: any) {\r\n setErrcode(error.response?.status);\r\n }\r\n };\r\n\r\n function addOption(e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n let Name;\r\n\r\n if (app || options_Application_keys[0]) {\r\n let Id = app?.target?.value\r\n ? app?.target?.value\r\n : options_Application_keys[0];\r\n let query = {\r\n applicationId: Id,\r\n PRJ_UID: PRJ_UID,\r\n };\r\n\r\n optionsApplication.forEach((item) => {\r\n if (item.Id == Id) {\r\n Name = item.Name;\r\n }\r\n });\r\n\r\n let obj = {};\r\n if (ApplicationListCallback) {\r\n let selectList = JSON.parse(JSON.stringify(selectedItem));\r\n let list: any = [];\r\n let listId = selectList.map((item) => {\r\n list.push(item.Id);\r\n return returnObj ? (obj = { ...obj, [item.Id]: item.Name }) : item.Id;\r\n });\r\n\r\n if (!list.includes(Id)) {\r\n ApplicationListCallback(\r\n returnObj ? [{ ...obj, [Id]: Name }] : [...listId, Id]\r\n );\r\n setSelectedItem([...selectList, { Id: Id, Name: Name }]);\r\n }\r\n } else {\r\n sendDataasync(query, { Id: Id, Name: Name });\r\n }\r\n }\r\n }\r\n\r\n const sendDataasync = async (e, obj) => {\r\n try {\r\n const respons = await postProcessApplication(e);\r\n let selectList = JSON.parse(JSON.stringify(selectedItem));\r\n setSelectedItem(selectList.concat([obj]));\r\n } catch (error) {}\r\n };\r\n const setDefaultAsync = async (Id) => {\r\n try {\r\n const respons = await setDefaultProcces(Id , PRJ_UID);\r\n if (PRJ_UID) {\r\n try {\r\n const response = await getProcessApplication(PRJ_UID);\r\n if (response.Data != null) {\r\n let Apps = Object.keys(response.Data).map((item, index) => {\r\n return { Id: item, Name: trans(response.Data[item].Name\t), IsDefault: response.Data[item].IsDefault\t };\r\n });\r\n\r\n setSelectedItem(Apps);\r\n }\r\n } catch (error) {\r\n setSelectedItem([]);\r\n }\r\n } \r\n } catch (error) {}\r\n };\r\n\r\n async function deleteaOption(obj) {\r\n if (ApplicationListCallback) {\r\n let selectList: any = [];\r\n selectedItem.map((e) => {\r\n if (e.Id != obj.Id) {\r\n selectList.push(e);\r\n }\r\n });\r\n setSelectedItem(selectList);\r\n // عوض کردن فرمت دیتا به قالب زیر\r\n // [{Id: 'd602f192-5d5a-ec11-8946-00155d01ce1a', Name: 'OfficeAutomation'}, {Id:'051b6708-eadb-ec11-8959-00155daa100d', Name: 'MeetingManagement'}]\r\n // ========>\r\n // [{d602f192-5d5a-ec11-8946-00155d01ce1a: 'OfficeAutomation', 051b6708-eadb-ec11-8959-00155daa100d: 'MeetingManagement'}]\r\n ApplicationListCallback(\r\n returnObj\r\n ? [selectList.reduce((acc, curr) => {\r\n acc[curr.Id] = curr.Name;\r\n return acc;\r\n }, {})]\r\n : selectList.map((item) => item.Id)\r\n );\r\n } else {\r\n let query = {\r\n applicationId: obj.Id,\r\n PRJ_UID: PRJ_UID,\r\n };\r\n\r\n try {\r\n const response = await deleteProcessApplication(query);\r\n ApplicationApiAsync();\r\n } catch (error) {}\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n ApplicationApiAsync();\r\n }, [\r\n layoutContext.currentUserPosition.PositionId,\r\n layoutContext.currentApplication,\r\n valueList?.length,\r\n ]);\r\n\r\n if (optionsApplication)\r\n options_Application_values = optionsApplication.map((item) => {\r\n return item.Name;\r\n });\r\n if (optionsApplication)\r\n options_Application_keys = optionsApplication.map((item) => {\r\n return item.Id;\r\n });\r\n if (\r\n value &&\r\n optionsApplication &&\r\n options_Application_keys.indexOf(value) != -1\r\n ) {\r\n Default = value;\r\n } else if (\r\n optionsApplication &&\r\n options_Application_values.indexOf(value) != -1\r\n ) {\r\n Default = options_Application_values.indexOf(value) + 1;\r\n }\r\n\r\n return (\r\n <>\r\n {label ? (\r\n \r\n ) : null}\r\n {true ? (\r\n <>\r\n \r\n
\r\n {\r\n setApp(e);\r\n e.target.value !=\r\n (value ? value : options_Application_keys[0])\r\n ? Change && Change({ [name]: e.target.value })\r\n : Change && Change({ [name]: null });\r\n }}\r\n required={required}\r\n mode={mode}\r\n lable=\"Application\"\r\n selectType=\"select\"\r\n value={Default}\r\n options={options_Application_values}\r\n val={options_Application_keys}\r\n name={name}\r\n >\r\n
\r\n {mode != \"view\" && (\r\n
\r\n \r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"submit\"\r\n />\r\n
\r\n )}\r\n \r\n
\r\n {selectedItem.map((item, index) => (\r\n \r\n \r\n {!ApplicationListCallback ? (\r\n item.IsDefault ? (\r\n \r\n ) : (\r\n {setDefaultAsync(item.Id)}}\r\n icon={[\"far\", \"star\"]}\r\n className=\"text-primary\"\r\n />\r\n )\r\n ) : (\r\n <>\r\n )}\r\n
\r\n \r\n {trans(item.Name)}\r\n
\r\n\r\n {\r\n deleteaOption(item);\r\n }}\r\n >\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n );\r\n};\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getApplications = () => http({\r\n url: ENDPOINTS.application.browse,\r\n method: 'get',\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const setDefaultProcces = (Id , PRJ_UID) => http({\r\n url: ENDPOINTS.bpmnApi.bpmnProcessApplication.setDefault,\r\n method: 'post',\r\n params:{\r\n applicationId:Id,\r\n PRJ_UID:PRJ_UID\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n","import { maximumTimeOut } from \"utils/constants\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const importProcessMakerFiles = (fileData) => http({\r\n url: ENDPOINTS.bpmnApi.process.postProcessesFiles,\r\n method: 'post',\r\n data: fileData,\r\n headers: {\r\n \"content-type\": \"multipart/form-data\",\r\n Accept: \"*/*\",\r\n\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\n\r\nexport const getUsers = (pageNumber: number, pageSize: number, organizationType ,searchString ,orderBy ,filterlist) => http({\r\n url: ENDPOINTS.userApi.userList,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n pageSize: pageSize,\r\n organizationType: organizationType,\r\n searchString : searchString ,\r\n OrderByString:orderBy,\r\n FilterString:filterlist,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\nexport const postPerson = (personId, userData) => http({\r\n url: ENDPOINTS.userApi.userId,\r\n method: \"post\",\r\n params: {\r\n PersonId: personId,\r\n },\r\n data :userData\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => { \r\n return Promise.reject(err);\r\n});\r\nexport const postUsersGrouply = (id) => http({\r\n url: ENDPOINTS.userApi.users,\r\n method: \"post\",\r\n params: {\r\n groupPositionId: id,\r\n },\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const removeUser = (Id) => http({\r\n url: ENDPOINTS.userApi.userList,\r\n method: \"DELETE\",\r\n params: {\r\n Id: Id,\r\n \r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\nexport const resetPasswordAsync = (userId) => http({\r\n url: ENDPOINTS.userApi.reset,\r\n method: \"post\",\r\n params: {\r\n Id: userId, \r\n \r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const resetLockoutAsync = (userId) => http({\r\n url: ENDPOINTS.userApi.lockout,\r\n method: \"post\",\r\n params: {\r\n Id: userId, \r\n \r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const postChangePassword = (data) => http({\r\n url: ENDPOINTS.profileApi.ChangePassword,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const getRolesList = (async () => await http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.dictionary,\r\n method: 'get',\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\nexport const getDictionaryRolesList = (async (positionId:any) => await http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.positionRole.dictionary,\r\n method: 'get',\r\n params: {\r\n positionId: positionId\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\n\r\n\r\nexport const getPersonEmail = (personId: any) => http({\r\n url: ENDPOINTS.BaseInformation.person.email,\r\n method: 'get',\r\n params: {\r\n Id: personId\r\n }\r\n}).then((res) => {\r\n // \r\n return res\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\nexport const getUserPositions = (personId) => http({\r\n url: ENDPOINTS.BaseInformation.position.getPosition,\r\n method: 'get',\r\n params: {\r\n personId: personId\r\n }\r\n}).then((res) => {\r\n // \r\n return res?.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getPositionRole = (positionId: any) => http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.positionRole.browse,\r\n method: 'get',\r\n params: {\r\n positionId: positionId\r\n }\r\n}).then((res) => {\r\n return res.data.Data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const addPositionRole = (positionId: any, data) => http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.positionRole.load,\r\n method: 'post',\r\n params: {\r\n positionId: positionId\r\n },\r\n data: data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const delPositionRole = (positionId: any, data) => http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.positionRole.load,\r\n method: 'DELETE',\r\n params: {\r\n positionId: positionId\r\n },\r\n data: data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const RetrieveRolesList = (async () => await http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.browse,\r\n method: 'get',\r\n timeout:maximumTimeOut\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)","import { Button } from \"components/Button/Button\";\r\nimport { FileInput } from \"components/FileInput/FileInput\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { importProcessMakerFiles } from \"./Users/api\";\r\n\r\ninterface props {\r\n showForm?: () => any\r\n reload?: () => any\r\n \r\n}\r\nexport const ImportProcessesForm = ({showForm,reload }:props) => {\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [selectedFile, setSelectedFile] = useState();\r\n\r\n const handleSelectedFile = (e: any) => {\r\n if (e.target.files && e.target.files.length > 0) {\r\n // setSelectedFile(e.target.files[0]);\r\n setSelectedFile({url: URL.createObjectURL([...e.target.files][0] ) ,file:[...e.target.files][0]}); \r\n\r\n }\r\n };\r\n async function sendDataToServer(event) {\r\n event.preventDefault();\r\n try {\r\n var data = new FormData();\r\n data.append(\"file\", selectedFile?.file);\r\n const res = await importProcessMakerFiles(data)\r\n reload&&reload()\r\n } catch (error) {\r\n \r\n }\r\n \r\n }\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n return (<>\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getGroupPositionList =( async ( searchString) => await http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.dictionary,\r\n method: \"get\",\r\n params:{\r\n SearchString : searchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((respons) => (respons.data))\r\n.catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n)\r\nexport const getPositionList =( async (searchString ) => await http({\r\n url: ENDPOINTS.BaseInformation.position.browse,\r\n method: \"get\",\r\n params : {\r\n searchString : searchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((respons) => (respons.data))\r\n.catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n)\r\nexport const getRadioList =( async ( ) => await http({\r\n url: ENDPOINTS.enumeration,\r\n method: \"get\",\r\n params : {\r\n enumerationType : \"AssignTypes\"\r\n }\r\n\r\n \r\n\r\n})\r\n.then((respons) => (respons.data))\r\n.catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n)\r\n\r\n\r\nexport const setTaskUser =( async (data , PRJ_UID) => await http({\r\n url: ENDPOINTS.bpmnApi.TaskUser.browse,\r\n method: \"post\",\r\n \r\n data:data,\r\n})\r\n.then((respons) => (respons.data))\r\n.catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n)\r\nexport const getTaskUser =( async (TAS_UID ) => await http({\r\n url: ENDPOINTS.bpmnApi.TaskUser.browse,\r\n method: \"get\",\r\n params:{\r\n TAS_UID:TAS_UID \r\n }\r\n \r\n \r\n})\r\n.then((respons) => (respons.data))\r\n.catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n)\r\n","\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ButtonArrow } from \"components/ButtonArrow/ButtonArrow\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getGroupPositionList, getPositionList, getRadioList, getTaskUser, setTaskUser } from \"./api/api\";\r\nimport \"./style.scss\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\ninterface Form{\r\n Title?:string,\r\n Method?:string,\r\n Status?:number,\r\n Task?:any,\r\n showForm:(e) => void,\r\n modalWidth?:any\r\n}\r\n\r\n\r\nexport const AssignmentRules: React.FC
= ({showForm,Task , Method, modalWidth}) => {\r\n const [radioList , setRadioList] = useState()\r\n const [assignmentMethod , setAssignmentMethod] = useState( )\r\n const [mood , setMood] = useState(\"groups\")\r\n const [Moodassign , setMoodassign] = useState(\"All\")\r\n const [flag , setFlag] = useState(false)\r\n const [response , setResponse] = useState([])\r\n const [assignmentResponse , setAssignmentResponse] = useState([])\r\n const [selectList , setSelectList] = useState([])\r\n const [assignedList , setAssignedList] = useState([])\r\n const [savedData , setSavedData] = useState([])\r\n const [assignedSelectList , setAssignedSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [massageType , setMassageType] = useState(\"info\")\r\n const [massageType2 , setMassageType2] = useState(\"info\")\r\n const [loading , setLoading] = useState(false)\r\n const [loading2 , setLoading2] = useState(false)\r\n const [loading3 , setLoading3] = useState(false)\r\n const [positionstr , setPositionstr] = useState()\r\n const [assignVariable , setAssignVariable] = useState()\r\n const [positionAssignmentstr , setPositionAssignmentstr] = useState()\r\n const [width, setWidth] = useState(window.innerWidth);\r\n\r\n\r\n const breakPoint1 = modalWidth < 50 || width < 750\r\n const breakPoint2 = modalWidth < 80 || width < 1100\r\n\r\n window.onresize = () => {\r\n setWidth(window.innerWidth)\r\n }\r\n\r\n let Data:any = [], Dataassign:any = [];\r\n\r\n async function getPositionsListAsync(SearchString) {\r\n setLoading(false)\r\n try {\r\n if(mood==\"groups\"){\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list:any=[]\r\n for (let x in Groupresponse.Data) {\r\n list.push({Id:x ,TU_RELATION:2 ,Title: trans(Groupresponse.Data[x])}) \r\n }\r\n setResponse(list)\r\n }else if(mood==\"users\"){\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n list = Positionresponse.Data.map(item=>{\r\n return ({\r\n Id:item.Id ,\r\n TU_RELATION : 1 ,\r\n Title:item.Description,\r\n })\r\n })\r\n setResponse(list) \r\n }else{\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list2:any=[]\r\n for (let x in Groupresponse.Data) {\r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=2\r\n obj.Title=trans(Groupresponse.Data[x])\r\n list2.push(obj) \r\n }\r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n list = Positionresponse.Data.map(item=>{\r\n return ({\r\n Id:item.Id ,\r\n TU_RELATION : 1 ,\r\n Title:item.Description,\r\n })\r\n \r\n })\r\n setResponse(list.concat(list2)) \r\n }\r\n } catch (error) {\r\n setMassageType(\"error\")\r\n }\r\n\r\n setLoading(true)\r\n }\r\n async function getPositionsListSearchingAsync(SearchString) {\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list2:any=[]\r\n for (let x in Groupresponse.Data) {\r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=2\r\n obj.Title= trans(Groupresponse.Data[x]) \r\n list2.push(obj) \r\n }\r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n list = Positionresponse.Data.map(item=>{\r\n return ({\r\n Id:item.Id ,\r\n TU_RELATION : 1 ,\r\n Title:item.Description,\r\n })\r\n })\r\n setAssignmentResponse(list.concat(list2)) \r\n }\r\n\r\n async function setTaskUserAsync(data ) {\r\n const response = await setTaskUser(data , Task.ParentId); \r\n showForm(false)\r\n \r\n }\r\n async function getTaskUserAsync() {\r\n setLoading2(false)\r\n try {\r\n const TaskUserresponse = await getTaskUser(Task.Id); \r\n setAssignVariable(TaskUserresponse.Data.AssignVariable)\r\n setAssignmentMethod(TaskUserresponse.Data.AssignType)\r\n let makeData:any =[] \r\n if(TaskUserresponse.Data.BpmnTaskUserList){\r\n TaskUserresponse.Data.BpmnTaskUserList.map(item=>{\r\n makeData.push({Id:item.USR_UID , TU_RELATION:item.TU_RELATION , Title:trans(item.Description) })\r\n }) \r\n setSavedData(makeData)\r\n setAssignedList(makeData)\r\n }\r\n } catch (error) {\r\n setMassageType2(\"error\")\r\n }\r\n setLoading2(true)\r\n }\r\n\r\n async function getRadioListAsync() {\r\n setLoading3(false)\r\n try {\r\n const List = await getRadioList(); \r\n setRadioList(List?.Data)\r\n } catch (error) {\r\n \r\n }\r\n setLoading3(true)\r\n }\r\n\r\n function changeDataGrid(e) {\r\n setMood(e)\r\n }\r\n function hide() {\r\n showForm(false)\r\n }\r\n\r\n function changeDataGridassign(e) {\r\n setMoodassign(e)\r\n }\r\n function backward(newList= selectList) {\r\n setAssignedSelectList([])\r\n setResetMultiSelect(!resetMultiSelect)\r\n setAssignedList(assignedList.concat(newList) )\r\n setFlag(!flag)\r\n setSelectList([])\r\n }\r\n function forward() {\r\n setResetMultiSelect(!resetMultiSelect)\r\n let list:any =[]\r\n assignedList.forEach((item1,index1) => {\r\n let flag = true\r\n assignedSelectList.forEach((item2 , index2 ) => {\r\n if(item2.Id ==item1.Id ){\r\n flag = false\r\n }\r\n });\r\n if(flag){\r\n list.push(item1)\r\n }\r\n });\r\n setAssignedList(list)\r\n \r\n }\r\n const selectListCallBack =(list)=>{ \r\n setSelectList(list[1])\r\n }\r\n const assignedselectListCallBack =(list)=>{\r\n setAssignedSelectList(list[1])\r\n }\r\n\r\n const referenceFormSubmit =(e)=>{\r\n e.preventDefault()\r\nif( !e.target.assignmentMethod.value || e.target.assignmentMethod.value ==\"\"){ \r\n // Toast(\"Assignment Method can not be blank \" , \"error\")\r\n Toast(\"Assignment Method can not be blank \" , MessageType.error)\r\n\r\n }else{ \r\n let TAS_UID =Task.Id.replace(/-/g,\"\")\r\n e.preventDefault();\r\n let Data:any = []\r\n let data={\r\n \"TaskTitle\": Task.Description,\r\n \"TAS_UID\":TAS_UID,\r\n \"AssignType\": e.target.assignmentMethod.value,\r\n \"AssignVariable\": e.target.assignmentMethod.value == \"EVALUATE\" ? assignVariable : \"\",\r\n \"BpmnTaskUserList\": []\r\n }\r\n assignedList.map(item=>{\r\n \r\n let obj = {\r\n \"TAS_UID\":TAS_UID ,\r\n \"USR_UID\": item.Id,\r\n \"TU_RELATION\": item.TU_RELATION,\r\n \"Description\":trans(item.Title),\r\n }\r\n if(item?.Title?.length > 0){\r\n Data.push(obj) \r\n }\r\n })\r\n data.BpmnTaskUserList = Data.length>0 ? Data : []\r\n setTaskUserAsync(data )\r\n }\r\n }\r\n const searching =(e)=>{\r\n setPositionstr(e == \"\" ? null:e)\r\n getPositionsListAsync(e == \"\" ? null:e)\r\n }\r\n const assignmentsearching =(e)=>{\r\n setPositionAssignmentstr(e == \"\" ? null:e)\r\n getPositionsListSearchingAsync(e == \"\" ? null:e)\r\n }\r\n const copySelectedList =(e)=>{\r\n localStorage.setItem(\"storageCopyPosition\" ,JSON.stringify(Dataassign) )\r\n // Toast(trans(\"TextCopiedToClipboard\") , \"info\")\r\n Toast(trans(\"TextCopiedToClipboard\") ,MessageType.info)\r\n\r\n }\r\n function pasteSelectedList() {\r\n const List:any = localStorage.getItem(\"storageCopyPosition\" )\r\n setSelectList(JSON.parse(List) )\r\n backward(JSON.parse(List))\r\n \r\n // addNewRoles(JSON.parse(List) )\r\n \r\n }\r\n\r\n useEffect(() => {\r\n getPositionsListAsync(positionstr); \r\n getPositionsListSearchingAsync(positionAssignmentstr)\r\n }, [mood]);\r\n\r\n useEffect(() => {\r\n getTaskUserAsync();\r\n getRadioListAsync(); \r\n }, []);\r\n\r\n if(response && assignedList ){\r\n let assignmentdata:any =[]\r\n assignedList.forEach(elm => {\r\n if(Moodassign==\"groups\"){\r\n if(elm.TU_RELATION==2)assignmentdata.push(elm)\r\n }else if(Moodassign==\"users\"){\r\n if(elm.TU_RELATION==1)assignmentdata.push(elm)\r\n }else{\r\n assignmentdata.push(elm)\r\n }\r\n });\r\n \r\n assignmentResponse.forEach(item1 => {\r\n let flag =false\r\n assignmentdata.forEach(item2 => {\r\n if(item1.Id == item2.Id){\r\n flag = true\r\n }\r\n });\r\n if(flag){\r\n Dataassign.push(item1)\r\n } \r\n });\r\n response.map(item1=>{\r\n let flag = true\r\n assignedList.forEach(item2 => {\r\n if(item1.Id ==item2.Id){\r\n flag=false\r\n }\r\n });\r\n if(flag){\r\n Data.push(item1) \r\n }\r\n })\r\n }\r\n return ( \r\n \r\n
\r\n \r\n
\r\n {\r\n loading3 ?\r\n
\r\n {\r\n (radioList &&assignmentMethod) && Object.values(radioList).map((item , index)=>(\r\n
\r\n { setAssignmentMethod(item)}}\r\n defaultChecked={item==assignmentMethod} \r\n inputName={\"assignmentMethod\"} \r\n type={\"radio\"}\r\n />\r\n {(assignmentMethod == \"EVALUATE\" && item==assignmentMethod )&& <>\r\n
\r\n {setAssignVariable(e.target.value)}} textboxName={\"AssignVariable\"} textboxType=\"Condition\" defaultValue={assignVariable} />\r\n
\r\n \r\n }\r\n
\r\n ))\r\n } \r\n
\r\n : \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n{/* \r\n */}
\r\n
\r\n {loading ?\r\n <>\r\n {response ? \r\n : \r\n } \r\n \r\n : \r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {trans(\"copy\")}\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {backward()} }/>\r\n {forward()}}/>\r\n \r\n \r\n {trans(\"paste\")}\r\n \r\n }\r\n >\r\n \r\n \r\n \r\n\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n {loading2 ?\r\n <>\r\n {Dataassign ? \r\n \r\n : \r\n } \r\n \r\n : \r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getProcessIcons = async() => await http({\r\n url: ENDPOINTS.icon,\r\n method: 'get',\r\n}).then((response) => response.data)\r\n\r\n\r\nexport const getProcesIcon = async(id) => await http({\r\n url: ENDPOINTS.bpmnApi.bpmnProcessIcon.browse,\r\n method: 'get',\r\n params:{\r\n PRJ_UID :id\r\n }\r\n}).then((response) => response.data)\r\n.catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { Loading } from \"components/Loading/loading\"\r\nimport { SelectBox } from \"components/Select/Select\"\r\nimport { useEffect, useState } from \"react\"\r\nimport { getProcesIcon, getProcessIcons } from \"./api\"\r\nimport { Message } from \"components/Message/Message\"\r\n\r\n\r\ninterface props {\r\n sendOptionId: (id:string) => void,\r\n ProcessId:string\r\n}\r\n\r\nexport const ProcessIcon = ({sendOptionId , ProcessId}: props) => {\r\n let items: any[]=[{Id:null , Name:null}]\r\n const [response, setResponse] = useState();\r\n const [defaultIcon, setDefaultIcon] = useState();\r\n const [erroreMsg, setErroreMsg] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [selectedOption, setSelectedOption] = useState();\r\n\r\n \r\n\r\n const getProcessIconsAsync = async (IconId=null)=>{\r\n setLoading(false)\r\n try{\r\n const res = await getProcessIcons()\r\n res.Data.forEach(item => {\r\n if( IconId && item.Id ==IconId ){\r\n \r\n setSelectedOption(\r\n {\r\n value: (item.Id),\r\n label: (\r\n
\r\n \r\n
\r\n {item.IconName} \r\n
\r\n
\r\n )\r\n }\r\n\r\n )\r\n\r\n\r\n }\r\n });\r\n setResponse(res.Data)\r\n } catch(error){\r\n\r\n setErroreMsg(true)\r\n }\r\n setLoading(true)\r\n }\r\n const getProcesIconAsync = async ()=>{\r\n setLoading(false)\r\n try {\r\n const res = await getProcesIcon(ProcessId)\r\n getProcessIconsAsync(res.Data)\r\n } catch (error) {\r\n \r\n setErroreMsg(true)\r\n\r\n }\r\n \r\n\r\n\r\n setLoading(true)\r\n\r\n\r\n }\r\n\r\n\r\n const handleChange = (e) => { \r\n setSelectedOption(e)\r\n sendOptionId(e.value)\r\n }\r\n\r\n\r\n\r\n if (response) {\r\n response.map(item => (\r\n items.push({\r\n value: (item.Id),\r\n label: (\r\n
\r\n \r\n
\r\n {item.IconName} \r\n
\r\n
\r\n )\r\n })\r\n ))\r\n }\r\n \r\n\r\n useEffect(()=>{\r\n if(ProcessId){\r\n getProcesIconAsync()\r\n }\r\n\r\n \r\n\r\n },[])\r\n\r\n return (\r\n <>\r\n {loading ?\r\n <>\r\n {!erroreMsg ?\r\n \r\n : \r\n \r\n }\r\n \r\n : \r\n }\r\n \r\n \r\n \r\n \r\n \r\n\r\n )\r\n \r\n}","import { Button } from \"components/Button/Button\"\r\nimport { ProcessIcon } from \"components/ProcessIcon/ProcessIcon\"\r\nimport { useState } from \"react\"\r\nimport { postProcessIcon } from \"../../api/api\"\r\n\r\n\r\ninterface props {\r\n showForm: () => any\r\n rowId: string\r\n}\r\n\r\nexport const ProcessIconModal = ({showForm, rowId}: props) => {\r\n const[iconId, setIconId]= useState()\r\n\r\n const sendOptionId = (id) =>{\r\n setIconId(id)\r\n }\r\n\r\n async function postProcessIconasync(data) {\r\n try {\r\n const res = await postProcessIcon(data)\r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n const handleFormSubmit = (e) => {\r\n e.preventDefault()\r\n const data ={\r\n iconId,\r\n PRJ_UID : rowId\r\n }\r\n postProcessIconasync(data)\r\n showForm()\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}","import { Textbox } from \"components/Textbox/Textbox\"\r\nimport { Button } from 'components/Button/Button';\r\nimport \"./style.scss\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\ninterface Prop {\r\n handleSubmit: (e) => void,\r\n TextboxValue: string | undefined,\r\n resetForm: boolean,\r\n SelectBoxValue: number | undefined,\r\n cancel: () => void,\r\n TextBoxName: string,\r\n SelectBoxName: string\r\n Enum?: string\r\n IsDefault?: boolean\r\n mode?: any\r\n SystemKey?: any\r\n showIsDefault?: boolean\r\n SystemKeyValue?: any\r\n}\r\nexport const TypeSettingForm = ({ showIsDefault=true ,handleSubmit, SystemKey,IsDefault,SystemKeyValue,TextboxValue, resetForm, SelectBoxValue, cancel, TextBoxName, SelectBoxName, mode , Enum}: Prop) => {\r\n\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n\r\n\r\n // useEffect(() => {\r\n // getEnum()\r\n // return () => {\r\n \r\n // setErrcode(\"\")\r\n // };\r\n // }, [TextboxValue]);\r\n\r\n useEffect(()=>{\r\n if(resetForm){\r\n setUserChanges({})\r\n\r\n }\r\n },[resetForm])\r\n\r\n\r\n return (\r\n <> \r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} required={true} textboxName={TextBoxName} textboxType=\"text\" resetForm={resetForm} labelText={\"Description\"} mode={mode} defaultValue={TextboxValue} />\r\n
\r\n {SystemKey &&\r\n
\r\n {setUserChanges({...userChanges , ...e})}} required={true} textboxName={\"systemKey\"} textboxType=\"systemKey\" resetForm={resetForm} labelText={\"systemKey\"} mode={mode} defaultValue={SystemKeyValue} />\r\n
\r\n \r\n } \r\n\r\n
\r\n {mode != \"create\" && \r\n ({SelectBoxValue!= e.target.value? setUserChanges({...userChanges , ...{[SelectBoxName]:e.target.value}}) : setUserChanges({...userChanges , ...{[SelectBoxName]:null}}) }}\r\n name={SelectBoxName} \r\n label=\"status\"\r\n enumTypeSelect={Enum ? Enum : 'ActivityStatus'} \r\n mode={mode} \r\n value={SelectBoxValue} \r\n />)\r\n }\r\n
\r\n {showIsDefault&&\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={IsDefault}\r\n defaultValue={IsDefault}\r\n labelText={\"isdefault\"}\r\n inputName={\"checkbox\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
\r\n \r\n }\r\n { mode !=\"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n } \r\n
\r\n\r\n
\r\n \r\n )\r\n}","\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\nexport const getGroupPositionList =( async ( SearchString) => await http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.dictionary,\r\n method: \"get\",\r\n params:{\r\n SearchString : SearchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\nexport const getPositionList =( async (SearchString ) => await http({\r\n url: ENDPOINTS.BaseInformation.position.browse,\r\n method: \"get\",\r\n params : {\r\n searchString : SearchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\n\r\n\r\nexport const getorganizationalArchiveAccess =( async (id) => await http({\r\n url: ENDPOINTS.archive.organizationalArchiveAccess.browse,\r\n method: \"get\",\r\n params:{\r\n OrganizationalArchiveId : id\r\n }\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\nexport const sendorganizationalArchiveAccess =( async (data ,method) => await http({\r\n url: ENDPOINTS.archive.organizationalArchiveAccess.browse,\r\n method: method,\r\n data:data,\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\n\r\nexport const DeleteOrganizationalArchive =( async (id) => await http({\r\n url: ENDPOINTS.archive.organizationalArchive.browse,\r\n method: \"delete\",\r\n params:{\r\n Id : id\r\n }\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\n\r\nexport const DeleteOrganizationalArchiveDetail =( async (id) => await http({\r\n url: ENDPOINTS.archive.organizationalArchiveDetail.browse,\r\n method: \"delete\",\r\n params:{\r\n Id : id\r\n }\r\n})\r\n.then((respons) => (respons.data))\r\n)\r\n\r\n\r\n\r\n\r\n\r\nexport const getTaskUser =( async (OrganizationalArchiveId ) => await http({\r\n url: ENDPOINTS.archive.organizationalArchiveAccess.browse,\r\n method: \"get\",\r\n params:{\r\n OrganizationalArchiveId:OrganizationalArchiveId \r\n }\r\n \r\n \r\n})\r\n.then((respons) => (respons.data))\r\n)\r\n","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ButtonArrow } from \"components/ButtonArrow/ButtonArrow\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { getGroupPositionList, getPositionList } from \"../ArchiveRules/api\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\n\r\n\r\ninterface Form{\r\n Title?:string,\r\n assignmentMethod?:string,\r\n Status?:number,\r\n showForm:(e) => void,\r\n accessDatahandler:(e) => void,\r\n modalWidth?:any\r\n archive?:any\r\n accessData?:any\r\n mode:any\r\n}\r\n\r\n\r\nexport const ArchiveAccess: React.FC
= ({showForm,accessDatahandler ,accessData, modalWidth , mode,archive}) => {\r\n const [mood , setMood] = useState(\"groups\")\r\n const [Moodassign , setMoodassign] = useState(\"All\")\r\n const [flag , setFlag] = useState(false)\r\n const [response , setResponse] = useState([])\r\n const [assignmentResponse , setAssignmentResponse] = useState([])\r\n const [selectList , setSelectList] = useState([])\r\n const [assignedList , setAssignedList] = useState([])\r\n const [savedData , setSavedData] = useState([])\r\n const [assignedSelectList , setAssignedSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [positionstr , setPositionstr] = useState()\r\n const [positionAssignmentstr , setPositionAssignmentstr] = useState()\r\n const [width, setWidth] = useState(window.innerWidth);\r\n const [modalData, setModalData] = useState<{add: boolean, Delete: boolean, view: boolean, edit: boolean} | undefined>();\r\n const [submitted, setSubmitted] = useState(false)\r\n\r\n\r\n const breakPoint1 = modalWidth < 50 || width < 750\r\n\r\n\r\n window.onresize = () => {\r\n setWidth(window.innerWidth)\r\n }\r\n\r\n let keys, Data:any = [], Dataassign:any = [];\r\n\r\n async function getPositionsListAsync(SearchString) {\r\n if(mood==\"groups\"){\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list:any=[]\r\n\r\n for (let x in Groupresponse.Data) {\r\n list.push({Id:x ,TU_RELATION:2 ,Title:Groupresponse.Data[x] }) \r\n }\r\n setResponse(list)\r\n }else if(mood==\"users\"){\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n \r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n\r\n\r\n setResponse(list) \r\n\r\n }else{\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list2:any=[]\r\n \r\n for (let x in Groupresponse.Data) {\r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=2\r\n obj.Title=Groupresponse.Data[x]\r\n list2.push(obj) \r\n }\r\n \r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n\r\n setResponse(list.concat(list2)) \r\n }\r\n }\r\n async function getPositionsListSearchingAsync(SearchString) {\r\n /* if(Moodassign==\"groups\"){\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list:any=[]\r\n for (let x in Groupresponse) {\r\n list.push({Id:x ,TU_RELATION:2 ,Title:Groupresponse[x] }) \r\n }\r\n \r\n setAssignmentResponse(list)\r\n \r\n }else if(Moodassign==\"users\"){\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n for (let x in Positionresponse) {\r\n \r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=1\r\n obj.Title=Positionresponse[x]\r\n list.push(obj) \r\n }\r\n setAssignmentResponse(list) \r\n }else */{\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list2:any=[]\r\n for (let x in Groupresponse.Data) {\r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=2\r\n obj.Title=Groupresponse.Data[x]\r\n list2.push(obj) \r\n }\r\n \r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n setAssignmentResponse(list.concat(list2)) \r\n }\r\n\r\n }\r\n\r\n\r\n\r\n async function getAccessDataAsync() {\r\n let makeData:any =[] \r\n if(accessData){\r\n accessData.map(item=>{\r\n makeData.push({Id:item.GroupPositionId ? item.GroupPositionId :item.PositionId,TU_RELATION :item.GroupPositionId ? 2 :1 , Title:item.Description })\r\n })\r\n setSavedData(makeData)\r\n setAssignedList(makeData)\r\n }\r\n }\r\n\r\n function changeDataGrid(e) {\r\n setMood(e)\r\n }\r\n function hide() {\r\n showForm(false)\r\n }\r\n function changeDataGridassign(e) {\r\n setMoodassign(e)\r\n }\r\n function backward(){\r\n setAssignedSelectList([])\r\n setResetMultiSelect(!resetMultiSelect)\r\n const updatedData = selectList.map(item => {\r\n return {...item, ...modalData}\r\n }) \r\n setAssignedList(assignedList.concat(updatedData))\r\n setFlag(!flag)\r\n setSelectList([])\r\n setSubmitted(false)\r\n }\r\n\r\n\r\n\r\n function forward() {\r\n setResetMultiSelect(!resetMultiSelect)\r\n let list:any =[]\r\n assignedList.forEach((item1,index1) => {\r\n let flag = true\r\n\r\n assignedSelectList.forEach((item2 , index2 ) => {\r\n if(item2.Id ==item1.Id ){\r\n flag = false\r\n }\r\n });\r\n if(flag){\r\n list.push(item1)\r\n }\r\n });\r\n\r\n setAssignedList(list)\r\n }\r\n\r\n\r\n\r\n const selectListCallBack =(list)=>{ \r\n setSelectList(list[1])\r\n }\r\n\r\n const assignedselectListCallBack =(list)=>{\r\n setAssignedSelectList(list[1])\r\n }\r\n\r\n const referenceFormSubmit =(e)=>{\r\n e.preventDefault()\r\n\r\n if(assignedList.length==0){\r\n // Toast(\"msg_assigneduserscannotempty\" , \"error\")\r\n Toast(\"msg_assigneduserscannotempty\" , MessageType.error)\r\n\r\n }else{\r\n e.preventDefault();\r\n let Data = assignedList.map(item=>{\r\n let obj ={\r\n [item.TU_RELATION == 1 ? \"PositionId\" :\"GroupPositionId\" ] : item.Id,\r\n }\r\n return obj\r\n })\r\n accessDatahandler(Data.length>0 ? Data : [] )\r\n }\r\n }\r\n\r\n const searching =(e)=>{\r\n setPositionstr(e == \"\" ? null:e)\r\n getPositionsListAsync(e == \"\" ? null:e)\r\n }\r\n\r\n const assignmentsearching =(e)=>{\r\n setPositionAssignmentstr(e == \"\" ? null:e)\r\n getPositionsListSearchingAsync(e == \"\" ? null:e)\r\n }\r\n useEffect(() => {\r\n getPositionsListAsync(positionstr); \r\n getPositionsListSearchingAsync(positionAssignmentstr)\r\n }, [mood]);\r\n\r\n useEffect(() => {\r\n if(mode != \"create\"){\r\n getAccessDataAsync();\r\n }\r\n }, []);\r\n\r\n\r\n if(response && assignedList){\r\n let assignmentdata:any =[]\r\n assignedList.forEach(elm => {\r\n if(Moodassign==\"groups\"){\r\n if(elm.TU_RELATION==2)assignmentdata.push(elm)\r\n }else if(Moodassign==\"users\"){\r\n if(elm.TU_RELATION==1)assignmentdata.push(elm)\r\n }else{\r\n assignmentdata.push(elm)\r\n }\r\n });\r\n assignmentResponse.map(obj => {\r\n const isSameId = assignmentdata.some(item => item.Id === obj.Id)\r\n const currentItem = assignmentdata.find(item => item.Id === obj.Id)\r\n\r\n \r\n if(currentItem) { \r\n const {add, view, edit, Delete} = currentItem;\r\n\r\n if(isSameId){\r\n Dataassign.push({...obj, add, view, edit, Delete})\r\n }\r\n }\r\n })\r\n response.map(item1=>{\r\n let flag = true\r\n assignedList.forEach(item2 => {\r\n if(item1.Id ==item2.Id){\r\n flag=false\r\n }\r\n });\r\n if(flag){\r\n Data.push(item1) \r\n }\r\n })\r\n\r\n }\r\n \r\n \r\n\r\n return ( <>\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {response &&\r\n } \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {forward()}}/>\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n}","import { useEffect, useState } from \"react\";\r\nimport { putArchiveData, postArchiveData, getArchiveDataWithId } from \"./api\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { ArchiveAccess } from \"./ArchiveAccess\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface props {\r\n showForm: (e:boolean) => void\r\n selectedObj: any\r\n mode: any\r\n\r\n}\r\n\r\n\r\nexport const ArchiveForm = ({showForm, selectedObj, mode}: props) => {\r\n const [response, setResponse] = useState(null);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [EditForm, setEditForm] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [showAccess, setShowAccess] = useState(false);\r\n const [boardData, setBoardData] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n\r\n\r\n const handleSubmit = async(e) => {\r\n e.preventDefault() \r\n if(mode == \"create\"){\r\n const data = {\r\n Title: e.target.Title.value,\r\n }\r\n setBoardData(data)\r\n setShowAccess(true)\r\n }else{\r\n const data = {\r\n Id: selectedObj.Id,\r\n Title: e.target.Title.value, \r\n ActivityStatus: parseInt(e.target.ActivityStatus.value),\r\n }\r\n \r\n try {\r\n const res = await putArchiveData(data)\r\n getArchiveDataAsync(); \r\n setResetForm(true); \r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n setEditForm(null) \r\n showForm(true)\r\n } catch (error) { }\r\n\r\n } \r\n}\r\n\r\n\r\n\r\n\r\nasync function accessDatahandler(data) {\r\n if(mode == \"create\"){\r\n let formdata:any ={}\r\n formdata.organizationalArchive = boardData\r\n formdata.OrganizationalArchiveAccesses = data ;\r\n try {\r\n const res = await postArchiveData(formdata)\r\n getArchiveDataAsync(); \r\n setResetForm(true);\r\n showForm(true)\r\n } catch (error) {\r\n\r\n }\r\n }\r\n}\r\n\r\nfunction cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(false)\r\n });\r\n }else{\r\n showForm(false) \r\n };\r\n\r\n\r\n}\r\n\r\n async function getArchiveDataAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getArchiveDataWithId(selectedObj.Id);\r\n setEditForm(res.Data);\r\n \r\n } catch (error) {\r\n }\r\n setLoading(true)\r\n }\r\n \r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) setResetForm(false);\r\n }, [resetForm]);\r\n\r\n\r\n useEffect(() => {\r\n if(selectedObj?.Id && mode !=\"create\"){\r\n getArchiveDataAsync()\r\n }else{\r\n setLoading(true)\r\n }\r\n }, [selectedObj]);\r\n\r\n return (\r\n <>\r\n { showAccess &&\r\n setShowAccess(false)} show={showAccess}>\r\n \r\n \r\n }\r\n
\r\n
\r\n {loading ?\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true} \r\n textboxName={\"Title\"}\r\n textboxType=\"text\" \r\n resetForm={resetForm}\r\n labelText={\"Title\"} \r\n mode={mode === \"view\" ? \"view\" : null}\r\n defaultValue={EditForm?.Title} \r\n />\r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n name=\"ActivityStatus\"\r\n label=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={EditForm?.ActivityStatus}\r\n mode={mode === \"view\" ? \"view\" : null}\r\n />\r\n
\r\n }\r\n {mode !== 'view' ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n }\r\n
\r\n : \r\n }\r\n
\r\n
\r\n \r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getArchiveDataWithId = (id) => http({\r\n url: ENDPOINTS.archive.organizationalArchive.load,\r\n method: 'get',\r\n params:{\r\n Id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\nexport const postArchiveData = (data) => http({\r\n url: ENDPOINTS.archive.organizationalArchive.browse,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\nexport const putArchiveData = (data) => http({\r\n url: ENDPOINTS.archive.organizationalArchive.browse,\r\n method: 'put',\r\n data: data,\r\n params:{\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n\r\n","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ButtonArrow } from \"components/ButtonArrow/ButtonArrow\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Search } from \"components/Search/Search\";\r\n\r\nimport \"./style.scss\";\r\nimport { getGroupPositionList, getPositionList } from \"../../api\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\n\r\n\r\ninterface Form{\r\n Title?:string,\r\n assignmentMethod?:string,\r\n Status?:number,\r\n showForm:(e) => void,\r\n accessDatahandler:(e) => void,\r\n modalWidth?:any\r\n archive?:any\r\n accessData?:any\r\n mode:any\r\n}\r\n\r\n\r\nexport const BoardAccess: React.FC
= ({showForm,accessDatahandler ,accessData, modalWidth , mode,archive}) => {\r\n const [mood , setMood] = useState(\"groups\")\r\n const [Moodassign , setMoodassign] = useState(\"All\")\r\n const [flag , setFlag] = useState(false)\r\n const [response , setResponse] = useState([])\r\n const [assignmentResponse , setAssignmentResponse] = useState([])\r\n const [selectList , setSelectList] = useState([])\r\n const [assignedList , setAssignedList] = useState([])\r\n const [savedData , setSavedData] = useState([])\r\n const [assignedSelectList , setAssignedSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [positionstr , setPositionstr] = useState()\r\n const [positionAssignmentstr , setPositionAssignmentstr] = useState()\r\n const [width, setWidth] = useState(window.innerWidth);\r\n const [showModal, setShowModal] = useState(false);\r\n const [modalData, setModalData] = useState<{add: boolean, Delete: boolean, view: boolean, edit: boolean} | undefined>();\r\n const [submitted, setSubmitted] = useState(false)\r\n\r\n\r\n const breakPoint1 = modalWidth < 50 || width < 750\r\n // const breakPoint2 = modalWidth < 80 || width < 1100\r\n // const breakPoint3 = modalWidth > 90 || width > 1100\r\n\r\n window.onresize = () => {\r\n setWidth(window.innerWidth)\r\n }\r\n\r\n let keys, Data:any = [], Dataassign:any = [];\r\n\r\n async function getPositionsListAsync(SearchString) {\r\n if(mood==\"groups\"){\r\n \r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list:any=[]\r\n\r\n for (let x in Groupresponse.Data) {\r\n list.push({Id:x ,TU_RELATION:2 ,Title:Groupresponse.Data[x] }) \r\n }\r\n\r\n setResponse(list)\r\n\r\n }else if(mood==\"users\"){\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n \r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n\r\n\r\n setResponse(list) \r\n\r\n }else{\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list2:any=[]\r\n \r\n for (let x in Groupresponse.Data) {\r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=2\r\n obj.Title=Groupresponse.Data[x]\r\n list2.push(obj) \r\n }\r\n \r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n\r\n setResponse(list.concat(list2)) \r\n }\r\n }\r\n async function getPositionsListSearchingAsync(SearchString) {\r\n /* if(Moodassign==\"groups\"){\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list:any=[]\r\n for (let x in Groupresponse) {\r\n list.push({Id:x ,TU_RELATION:2 ,Title:Groupresponse[x] }) \r\n }\r\n \r\n setAssignmentResponse(list)\r\n \r\n }else if(Moodassign==\"users\"){\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n for (let x in Positionresponse) {\r\n \r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=1\r\n obj.Title=Positionresponse[x]\r\n list.push(obj) \r\n }\r\n setAssignmentResponse(list) \r\n }else */{\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list2:any=[]\r\n \r\n for (let x in Groupresponse.Data) {\r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=2\r\n obj.Title=Groupresponse.Data[x]\r\n list2.push(obj) \r\n }\r\n \r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n\r\n setAssignmentResponse(list.concat(list2)) \r\n }\r\n\r\n }\r\n\r\n\r\n\r\n async function getAccessDataAsync() {\r\n\r\n let makeData:any =[] \r\n\r\n if(accessData){\r\n accessData.map(item=>{\r\n makeData.push({Id:item.GroupPositionId ? item.GroupPositionId :item.PositionId,TU_RELATION :item.GroupPositionId ? 2 :1 , Title:item.Description })\r\n })\r\n setSavedData(makeData)\r\n setAssignedList(makeData)\r\n }\r\n }\r\n\r\n function changeDataGrid(e) {\r\n setMood(e)\r\n }\r\n function hide() {\r\n showForm(false)\r\n }\r\n function changeDataGridassign(e) {\r\n setMoodassign(e)\r\n }\r\n\r\n\r\n\r\n function backward() {\r\n setAssignedSelectList([])\r\n setResetMultiSelect(!resetMultiSelect)\r\n\r\n\r\n const updatedData = selectList.map(item => {\r\n return {...item, ...modalData}\r\n })\r\n \r\n setAssignedList(assignedList.concat(updatedData))\r\n setFlag(!flag)\r\n setSelectList([])\r\n setSubmitted(false)\r\n }\r\n\r\n\r\n\r\n function forward() {\r\n setResetMultiSelect(!resetMultiSelect)\r\n let list:any =[]\r\n assignedList.forEach((item1,index1) => {\r\n let flag = true\r\n\r\n assignedSelectList.forEach((item2 , index2 ) => {\r\n if(item2.Id ==item1.Id ){\r\n flag = false\r\n }\r\n });\r\n if(flag){\r\n list.push(item1)\r\n }\r\n });\r\n\r\n setAssignedList(list)\r\n }\r\n\r\n\r\n\r\n const selectListCallBack =(list)=>{\r\n \r\n setSelectList(list[1])\r\n }\r\n\r\n const assignedselectListCallBack =(list)=>{\r\n setAssignedSelectList(list[1])\r\n }\r\n\r\n const referenceFormSubmit =(e)=>{\r\n e.preventDefault()\r\n\r\n if(assignedList.length==0){\r\n // Toast(\"msg_assigneduserscannotempty\" , \"error\")\r\n Toast(\"msg_assigneduserscannotempty\" , MessageType.error)\r\n\r\n }else{\r\n e.preventDefault();\r\n \r\n let Data = assignedList.map(item=>{\r\n \r\n let obj ={\r\n [item.TU_RELATION == 1 ? \"PositionId\" :\"GroupPositionId\" ] : item.Id,\r\n\r\n }\r\n return obj\r\n })\r\n\r\n accessDatahandler(Data.length>0 ? Data : [] )\r\n }\r\n }\r\n\r\n const searching =(e)=>{\r\n setPositionstr(e == \"\" ? null:e)\r\n getPositionsListAsync(e == \"\" ? null:e)\r\n }\r\n\r\n const assignmentsearching =(e)=>{\r\n setPositionAssignmentstr(e == \"\" ? null:e)\r\n getPositionsListSearchingAsync(e == \"\" ? null:e)\r\n }\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n getPositionsListAsync(positionstr); \r\n getPositionsListSearchingAsync(positionAssignmentstr)\r\n }, [mood]);\r\n\r\n useEffect(() => {\r\n if(mode != \"create\"){\r\n\r\n getAccessDataAsync();\r\n }\r\n }, []);\r\n\r\n\r\n if(response && assignedList){\r\n let assignmentdata:any =[]\r\n\r\n assignedList.forEach(elm => {\r\n if(Moodassign==\"groups\"){\r\n if(elm.TU_RELATION==2)assignmentdata.push(elm)\r\n \r\n }else if(Moodassign==\"users\"){\r\n if(elm.TU_RELATION==1)assignmentdata.push(elm)\r\n }else{\r\n assignmentdata.push(elm)\r\n }\r\n });\r\n\r\n \r\n\r\n // assignmentResponse.forEach(item1 => {\r\n // let flag =false\r\n\r\n // assignmentdata.forEach(item2 => {\r\n // if(item1.Id == item2.Id){\r\n // flag = true\r\n // }\r\n // });\r\n\r\n\r\n // if(flag){\r\n // Dataassign.push(item1)\r\n // }\r\n // });\r\n\r\n assignmentResponse.map(obj => {\r\n const isSameId = assignmentdata.some(item => item.Id === obj.Id)\r\n const currentItem = assignmentdata.find(item => item.Id === obj.Id)\r\n\r\n \r\n if(currentItem) { \r\n const {add, view, edit, Delete} = currentItem;\r\n\r\n if(isSameId){\r\n Dataassign.push({...obj, add, view, edit, Delete})\r\n }\r\n }\r\n })\r\n\r\n\r\n\r\n response.map(item1=>{\r\n let flag = true\r\n assignedList.forEach(item2 => {\r\n if(item1.Id ==item2.Id){\r\n flag=false\r\n }\r\n });\r\n if(flag){\r\n Data.push(item1) \r\n }\r\n })\r\n\r\n }\r\n \r\n \r\n\r\n return ( <>\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {response &&\r\n \r\n } \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {forward()}}/>\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\"\r\nimport { http } from \"utils/http\"\r\n\r\n\r\nexport const getOrganizationArchive = (id: any) => http({\r\n url: ENDPOINTS.archive.organizationalArchive.archives,\r\n method: \"get\",\r\n params: {\r\n ParentId: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\nexport const getJobFileArchive = (id: any ,pageNumber,pageSize) => http({\r\n url: ENDPOINTS.archive.JobOrganizationalArchiveDetail.browse,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n OrganizationalArchiveDetailId: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getDataWithSerch = (id: any ,pageNumber,pageSize ,search) => http({\r\n url: ENDPOINTS.archive.JobOrganizationalArchiveDetail.search,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n organizationalArchiveDetailIds: id,\r\n generalSearchString:search\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const deleteJobFileArchive = (id: any) => http({\r\n url: ENDPOINTS.archive.JobOrganizationalArchiveDetail.browse,\r\n method: \"delete\",\r\n params: {\r\n Id: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\n\r\n//-----------------OrganizationRulesForm---------------------------------\r\n\r\n\r\nexport const getGroupPositionList =( async ( searchString) => await http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.dictionary,\r\n method: \"get\",\r\n params:{\r\n SearchString : searchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((respons) => (respons.data))\r\n.catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n);\r\nexport const getPositionList =( async (searchString ) => await http({\r\n url: ENDPOINTS.BaseInformation.position.browse,\r\n method: \"get\",\r\n params : {\r\n searchString : searchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((respons) => (respons.data))\r\n.catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n);\r\n\r\n\r\nexport const organizationalArchiveAccess =( async (data ,method) => await http({\r\n url: ENDPOINTS.archive.organizationalArchiveAccess.browse,\r\n method: method,\r\n data:data,\r\n})\r\n.then((respons) => (respons.data))\r\n.catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n)\r\nexport const getTaskUser =( async (OrganizationalArchiveId ) => await http({\r\n url: ENDPOINTS.archive.organizationalArchiveAccess.browse,\r\n method: \"get\",\r\n params:{\r\n OrganizationalArchiveId:OrganizationalArchiveId \r\n }\r\n \r\n \r\n})\r\n.then((respons) => (respons.data))\r\n.catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n)\r\n\r\n\r\nexport const getViewForm = (processId: any, selectedPosition?: any) => http({\r\n url: ENDPOINTS.bpmnApi.process.getViewForm,\r\n method: 'get',\r\n params: {\r\n processId: processId,\r\n }\r\n}).then((response) => (response.data))\r\n.catch((err) => {\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\nexport const getArchivedJob = (id: any) => http({\r\n url: ENDPOINTS.archive.organizationalArchiveDetail.savedArchive,\r\n method: \"get\",\r\n params: {\r\n jobId: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n});","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\nexport const getCartable = (pageNumber: number, pageSize: number, cartableType, processId, selectedPosition?: any, orderFormat: string = \"\", searchString?: any, filterlist?: any) => http({\r\n url: ENDPOINTS.cartable.browse,//must be replace by cartable endpoints\r\n method: \"get\",\r\n params: {\r\n isArchivist:true , \r\n pageNumber: pageNumber,\r\n pageSize: pageSize,\r\n processId: processId,\r\n cartableType: cartableType,\r\n OrderByString: orderFormat,\r\n SearchString: searchString,\r\n FilterString: filterlist\r\n }\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n\r\n \r\nexport const PostArchive = (async (data ) => await http({\r\n url: ENDPOINTS.archive.JobOrganizationalArchiveDetail.browse ,\r\n method: 'post',\r\n data: data\r\n\r\n\r\n})\r\n.then(response => response.data)\r\n.catch(err => {\r\n return Promise.reject(err);\r\n }\r\n ))\r\n\r\n","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { CartableType } from \"types/enum\";\r\nimport { getGridSetting, getPageSize } from \"utils/helpers\";\r\nimport { getCartable } from \"./api\";\r\n\r\n\r\n\r\ninterface propsSelectJobList {\r\n type?: any; // => type is CartableType\r\n curentTab?: any; \r\n jobList?: any; \r\n addToJobList?: (ans: any) => void;\r\n\r\n}\r\nexport const SelectJobList = ({ type ,curentTab ,jobList,addToJobList}: propsSelectJobList) => {\r\n let keys, cartable = [];\r\n let Total_records, pages;\r\n let [response, setResponse] = useState(null);\r\n const [referenceId, setReferenceId] = useState(null);\r\n const [rowObject, setRowObject] = useState(null);\r\n const [jobId, setJobId] = useState(null);\r\n const referenceIdRef = useRef(referenceId);\r\n let [selectedProcessFilterId, setSelectedProcessFilterId] = useState(null);\r\n\r\n const [forceUpdate, setForceUpdate] = useState(false); // integer state\r\n const [reload, setReload] = useState(true); // integer state\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(20);\r\n const [orderFormat, setOrderFormat] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [GridSetting, setGridSetting] = useState(false);\r\n const [typeOfDataGrid, setTypeOfDataGrid] = useState(type);\r\n\r\n const layoutContext = useContext(LayoutContext);\r\n const [search, setsearch] = useState(null);\r\n\r\n\r\n\r\n\r\n const getWithOrder = (order: string[]) => {\r\n setOrderFormat(order)\r\n }\r\n\r\n const handlechangePageSize = (e: any) => {\r\n setPageSize(e.currentTarget.value);\r\n setPageNum(1);\r\n getPageSize(\"SelectJobList\" + type + `${selectedProcessFilterId}`, e.currentTarget.value)\r\n getCartableAsync()\r\n };\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else { setPageNum(value); getCartableAsync(value); }\r\n } else {\r\n\r\n }\r\n };\r\n\r\n const HandleNextPage = () => {\r\n if (pageNum < pages) {\r\n setPageNum(pageNum + 1);\r\n getCartableAsync(pageNum + 1);\r\n }\r\n };\r\n const HandlePrevPage = () => {\r\n\r\n if (pageNum > 1) {\r\n setPageNum((pageNum) => { return +pageNum - 1 });\r\n getCartableAsync(pageNum - 1);\r\n }\r\n };\r\n /* pagination area */\r\n\r\n\r\n\r\n\r\n const selectedRowCallback = (obj, index) => {\r\n referenceIdRef.current = obj?.Id\r\n setReferenceId(obj?.Id);\r\n setRowObject(obj);\r\n setJobId(obj?.JobId)\r\n };\r\n\r\n \r\n useEffect(() => {\r\n let settings = getGridSetting(\"SelectJobList\" + type + `${selectedProcessFilterId}`)\r\n getWithOrder(settings[1])\r\n referenceIdRef.current = null\r\n setReferenceId(null);\r\n setRowObject(null);\r\n setJobId(null)\r\n setFilterlist(settings[0])\r\n setGridSetting(true)\r\n setTypeOfDataGrid(type)\r\n\r\n\r\n }, [type ,selectedProcessFilterId]);\r\n async function getCartableAsync(pagNum = pageNum) {\r\n setLoading(false)\r\n let pageSizeChangedByUser = getPageSize(\"SelectJobList\" + type + `${selectedProcessFilterId}`)\r\n setPageSize(pageSizeChangedByUser)\r\n\r\n try {\r\n if(curentTab == type){\r\n\r\n const res = await getCartable(pagNum, pageSizeChangedByUser, type, selectedProcessFilterId, layoutContext.currentUserPosition.PositionId, orderFormat?.join(\",\"), search, filterlist);\r\n setResponse(res?.Data);\r\n setMessageType(\"info\")\r\n }\r\n \r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n useEffect(() => {\r\n\r\n setResponse({ Data: [] })\r\n \r\n if(reload ){\r\n getCartableAsync();\r\n setTypeOfDataGrid(type)\r\n setReload(false)\r\n }\r\n \r\n }, [reload]);\r\n\r\n\r\n useEffect(() => {\r\n setResponse({ Data: [] })\r\n referenceIdRef.current = null\r\n setReferenceId(null);\r\n setRowObject(null);\r\n setJobId(null)\r\n getCartableAsync(); \r\n\r\n }, [ curentTab , orderFormat , search, filterlist , forceUpdate, selectedProcessFilterId]);\r\n\r\n useEffect(() => {\r\n // setReferenceId(null)\r\n // setRowObject(null)\r\n referenceIdRef.current = null\r\n }, [forceUpdate, pageNum, type, selectedProcessFilterId]);\r\n\r\n\r\n/* \r\n\r\n\r\n\r\n /* #region manage server data */\r\n //with pagination \r\n if (response &&\r\n response.Data && response.Data[0]) {\r\n keys = Object.keys(response.Data[0]);\r\n cartable = response.Data;\r\n Total_records = response.TotalRecords;\r\n } else if (response && response?.Data?.length == 0) {\r\n keys = [];\r\n cartable = [];\r\n }\r\n pages = Total_records > pageSize ? Math.ceil(Total_records / pageSize) : 1;\r\n /* #endregion */\r\n\r\n // modal width from modal form\r\n\r\n\r\n \r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {loading ?\r\n (cartable.length > 0 && keys ?\r\n {\r\n setFilterlist(str);\r\n }}\r\n multiSelect={true}\r\n filterStr={filterlist}\r\n orderFormat={getWithOrder}\r\n orderFormatList={orderFormat}\r\n startIndex={( typeOfDataGrid === CartableType.Current|| typeOfDataGrid === CartableType.Ongoing) ?12 :11} selectItem={(e) => { }}\r\n parentName={\"SelectJobList\" + type + `${selectedProcessFilterId}`}\r\n theadData={keys}\r\n tbodyData={cartable}\r\n minCellWidth={80}\r\n selectList={(e)=>{addToJobList && addToJobList(e[1])}}\r\n selectedRowProp={jobList}\r\n multiSelecttype={3}\r\n selectedRowObjectCallback={selectedRowCallback}\r\n rowSelected={rowObject}\r\n totalRecords={Total_records}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={HandleNextPage}\r\n HandlePrevPage={HandlePrevPage}\r\n handlechangePageSize={handlechangePageSize}\r\n first={() => { getCartableAsync(pages); setPageNum(pages) }}\r\n end={() => { getCartableAsync(1); setPageNum(1) }}\r\n handleGoPage={handleGoPage}\r\n />\r\n : )\r\n : \r\n }\r\n
\r\n
\r\n
\r\n \r\n )\r\n}","import { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { useState } from \"react\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { SelectJobList } from \"./SelectJobList\";\r\nimport { CartableType, MessageType } from \"types/enum\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { PostArchive } from \"./api\";\r\n\r\n\r\ninterface JobListPropsType {\r\n ArchiveList:any ;\r\n onHide: () => void;\r\n reload?: (ans: boolean) => void;\r\n selectedIdList?: (ans: any) => void;\r\n\r\n}\r\nexport const JobList = ({\r\n ArchiveList,\r\n reload,\r\n onHide,\r\n}: JobListPropsType) => {\r\n\r\n\r\n const [curentTab, setCurentTab] = useState(\"Current\")\r\n const [jobList, setJobList] = useState({Current:[] , Referred:[] ,Finished:[] })\r\n \r\n\r\n\r\n\r\n\r\n const addToJobList = (list , type) => {\r\n let newObj = JSON.parse(JSON.stringify(jobList))\r\n newObj[type] = list\r\n setJobList(newObj)\r\n\r\n \r\n}\r\n \r\n const onSubmit =async (e) => {\r\n let addList:any = []\r\n ArchiveList.forEach((item , index )=> {\r\n addList.push(item.Id)\r\n \r\n });\r\n let joblistId = [...jobList.Current , ...jobList.Referred, ...jobList.Finished].map(item=>{\r\n return item.JobId\r\n })\r\n \r\n let data = {\r\n \"JobIdList\":joblistId,\r\n \"OrganizationalArchiveDetailIdList\": addList\r\n }\r\n try {\r\n await PostArchive(data );\r\n onHide()\r\n \r\n } catch (error) {\r\n \r\n }\r\n\r\n\r\n\r\n \r\n}\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n }\r\n\r\n let viewContent = [\r\n {\r\n title: \"Current\", body: ({addToJobList(e,\"Current\")}} curentTab={CartableType[curentTab]}/>),\r\n },\r\n {\r\n title: \"Referred\", body: ({addToJobList(e,\"Referred\")}} curentTab={CartableType[curentTab]}/>),\r\n },\r\n {\r\n title: \"Finished\", body: ({addToJobList(e,\"Finished\")}} curentTab={CartableType[curentTab]}/>),\r\n },\r\n ];\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n","import { Button } from \"components/Button/Button\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { getSecretariatNo } from \"../../api/api\";\r\nimport { getSecretariat, sendReserve } from \"./api\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\n\r\ninterface ReserveFormPropsType {\r\n id?: any,\r\n mode?: any,\r\n onHide: () => void\r\n}\r\n\r\nexport const ReserveForm = ({\r\n id,\r\n mode,\r\n onHide,\r\n \r\n}: ReserveFormPropsType) => {\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [secretariatNo, setSecretariatNo] = useState();\r\n const [secretariatId, setSecretariatId] = useState();\r\n const [letterType, setLetterType] = useState();\r\n const [singleIndicator, setSingleIndicator] = useState(true);\r\n\r\n const formRef = useRef(\"\")\r\n const buttonRef = useRef()\r\n //const buttonRef = createRef()\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault(); \r\n try {\r\n await sendReserve(secretariatId , letterType ?letterType:0 , event.target.FromNumber.value ,event.target.ToNumber.value )\r\n setResetForm(true)\r\n onHide()\r\n\r\n } catch (error) {\r\n\r\n }\r\n \r\n }\r\n \r\n async function getDataAsync() {\r\n try {\r\n // return await getReserve(id); \r\n } catch (error) {\r\n \r\n }\r\n }\r\n async function getSecretariatNoAsync(letterId) {\r\n try {\r\n const res = await getSecretariatNo(letterId ,!singleIndicator ? letterType :0); \r\n setSecretariatNo(+Object.keys(res.data)[0] ) \r\n\r\n } catch (error) {\r\n \r\n }\r\n }\r\n async function getSecretariatAsync(id) {\r\n try {\r\n setLetterType(null)\r\n setLetterType(null)\r\n const res = await getSecretariat(id ); \r\n setSingleIndicator(res.Data.Secretariat.SingleIndicator)\r\n setSecretariatId(id);\r\n } catch (error) {\r\n \r\n }\r\n }\r\n useEffect(() => {\r\n if (id && mode !== \"create\")\r\n getDataAsync().then((res) => {\r\n // setReserve(res.Data);\r\n }).catch((err) => {\r\n // setReserve(undefined);\r\n });\r\n }, [id , mode]);\r\n\r\n useEffect(() => {\r\n if ( mode === \"create\"){\r\n setResetForm(true);\r\n }\r\n }, [ mode]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n \r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n\r\n\r\n useEffect( () => {\r\n if(secretariatId && (letterType||singleIndicator)){\r\n getSecretariatNoAsync(secretariatId)\r\n }\r\n }, [secretariatId,letterType]);\r\n return (\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {getSecretariatAsync(e) }}\r\n mode={\"edit\"}\r\n label={\"Secretariat\"}\r\n name=\"Secretariat\"\r\n value={\"\"}\r\n endPoint={ENDPOINTS.secretariat.secretariat.dictionary}\r\n /> \r\n
\r\n {!singleIndicator&&\r\n
\r\n {/* DV */}\r\n { setLetterType(e)}}\r\n mode={\"edit\"}\r\n label=\"LetterType\"\r\n name=\"LetterType\"\r\n enumTypeSelect=\"LetterType\"\r\n value={\"\"}\r\n /> \r\n
\r\n }\r\n {secretariatNo && \r\n
\r\n \r\n
\r\n }\r\n
\r\n \r\n
\r\n
\r\n
\r\n {mode !== \"view\" ?\r\n <>\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const sendReserve = (async ( secretariatId, letterType, fromNumber, toNumber) => await http({\r\n url: ENDPOINTS.secretariat.indicator.reserved,\r\n method: 'post',\r\n params: {\r\n secretariatId : secretariatId,\r\n letterType : letterType,\r\n fromNumber : fromNumber,\r\n toNumber : toNumber,\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getSecretariat = (async ( secretariatId) => await http({\r\n url: ENDPOINTS.secretariat.secretariat.load,\r\n method: 'get',\r\n params: {\r\n Id : secretariatId,\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getListSecretariats = (async (pageNumber: number, pageSize: number ,orderFormat:string =\"\" , filterlist , searchString) => await http({\r\n url: ENDPOINTS.secretariat.secretariat.browse,\r\n method: 'get',\r\n params:{\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n OrderByString : orderFormat,\r\n SearchString:searchString,\r\n FilterString:filterlist,\r\n }\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getsecretariat = (async (id) => await http({\r\n url: ENDPOINTS.secretariat.secretariat.load,\r\n method: 'get',\r\n params:{\r\n Id:id\r\n }\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getAllowUpdate = (async (id) => await http({\r\n url: ENDPOINTS.secretariat.secretariat.allowUpdate,\r\n method: 'get',\r\n params:{\r\n Id:id\r\n }\r\n\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\n\r\nexport const postSecretariats = (data) => http({\r\n url: ENDPOINTS.secretariat.secretariat.browse,\r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\nexport const deleteSecretariat = (id) => http({\r\n url: ENDPOINTS.secretariat.secretariat.browse,\r\n method: 'delete',\r\n params:{\r\n Id :id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const putSecretariats = (data) => http({\r\n url: ENDPOINTS.secretariat.secretariat.browse,\r\n method: 'put',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n","\r\nimport { useEffect, useState } from \"react\";\r\n\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { PostIndicatorPattern } from \"./api\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\n\r\n\r\ninterface Form {\r\n Title?: string,\r\n Status?: number,\r\n onHide: () => void,\r\n setNewId: (id) => void,\r\n\r\n}\r\nexport const IndicatorPatternForm = ({onHide ,setNewId}:Form) => {\r\n\r\n\r\n const [mode, setmode] = useState(\"create\");\r\n const [indicatorStatic, setIndicatorStatic] = useState(\"create\");\r\n const [pattern, setPattern] = useState(\"create\");\r\n const [resetForm, setResetForm] = useState(false);\r\n const [EditForm, setEditForm] = useState();\r\n const [IndicatorPatternModal, setIndicatorPatternModal] = useState(true);\r\n\r\n\r\n\r\n\r\n\r\n\r\n const submit = (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n if (EditForm == null) {\r\n PostIndicatorPattern({ IndicatorStatic: indicatorStatic ,Pattern: null ,ActivityStatus:1}).then((response) => {setNewId(response.Data) ; onHide() });\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n useEffect(() => {\r\n }, [IndicatorPatternModal])\r\n\r\n\r\n\r\n\r\n /* #endregion */\r\n\r\n /* #region toolbarActions */\r\n\r\n\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {/*
\r\n {setPattern(e.target.value)}} textboxName={\"Pattern\"} textboxType=\"text\" resetForm={resetForm} labelText={\"Pattern\"} mode={mode} defaultValue={EditForm?.Pattern} />\r\n
*/} \r\n
\r\n {setIndicatorStatic(e.target.value)}} textboxName={\"IndicatorStatic\"} textboxType=\"text\" resetForm={resetForm} labelText={\"IndicatorStatic\"} mode={mode} defaultValue={EditForm?.IndicatorStatic} />\r\n
\r\n {mode != \"create\" && \r\n
\r\n {/* DV */}\r\n \r\n
\r\n }\r\n { mode !=\"view\" &&\r\n
\r\n
\r\n } \r\n
\r\n
\r\n \r\n\r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getIndicatorPatternsApi =( async () => await http({\r\n url: ENDPOINTS.secretariat.indicatorPatterns.dictionary,\r\n method: 'get',\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)\r\nexport const PostIndicatorPattern = (data) => http({\r\n url: ENDPOINTS.secretariat.indicatorPatterns.browse,\r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n","import { CheckableButtonList } from \"components/CheckableButtonList/CheckableButtonList\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { InputHTMLAttributes, useEffect, useState } from \"react\";\r\nimport { Enumeration } from \"types/types\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getIndicatorPatternsApi } from \"./api\";\r\n\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { IndicatorPatternForm } from \"./IndicatorPatternForm\";\r\n\r\ninterface IndicatorPatternsProp extends InputHTMLAttributes {\r\n type: \"SelectBox\" | \"Radio\" | \"CheckBox\";\r\n label?: string;\r\n name: string;\r\n value?: any;\r\n mode?: string;\r\n required?:boolean \r\n UpdateState?:boolean \r\n handleUpdate?: () => void,\r\n Change?: (e) => void,\r\n}\r\nexport const IndicatorPatternsDictionary = ({ type, label, name, value ,mode , required ,Change ,handleUpdate ,UpdateState}: IndicatorPatternsProp) => {\r\n const [optionsIndicatorPatterns, setOptionsIndicatorPatterns] = useState();\r\n const [errcode, setErrcode] = useState();\r\n const [showForm, setShowForm] = useState();\r\n const [newId, setNewId] = useState();\r\n let options_IndicatorPatterns_values:any =[];\r\n let options_IndicatorPatterns_keys:any =[];\r\n const getIndicatorPatternsAsync = async ()=>{\r\n const res = await getIndicatorPatternsApi()\r\n if(res?.Data ==null){\r\n setOptionsIndicatorPatterns({\"null\":\"\" ,...res?.Data,AddNewOption:\"create\" })\r\n }else{\r\n setOptionsIndicatorPatterns({...res?.Data,AddNewOption:\"create\" })\r\n\r\n }\r\n try {\r\n } catch (error:any) {\r\n setErrcode(error.response.status)\r\n\r\n }\r\n }\r\n useEffect(() => {\r\n getIndicatorPatternsAsync()\r\n return () => {\r\n \r\n setErrcode(\"\")\r\n };\r\n \r\n }, [UpdateState]);\r\n\r\n if (optionsIndicatorPatterns) options_IndicatorPatterns_values = Object.values(optionsIndicatorPatterns as Enumeration);\r\n if (optionsIndicatorPatterns) options_IndicatorPatterns_keys = Object.keys(optionsIndicatorPatterns as Enumeration);\r\n return (\r\n <>\r\n {showForm &&\r\n \r\n <>\r\n {setShowForm(false) ;setOptionsIndicatorPatterns(null) ;getIndicatorPatternsAsync()}} show={showForm}>\r\n {setShowForm(false) ;handleUpdate && handleUpdate() } }/>\r\n \r\n \r\n \r\n }\r\n\r\n\r\n {label ? : null}\r\n {optionsIndicatorPatterns ?\r\n {\r\n Radio: (\r\n <>\r\n {options_IndicatorPatterns_values && (\r\n \r\n )}\r\n \r\n ),\r\n SelectBox: (\r\n
\r\n
\r\n { if(e.target.value==\"AddNewOption\"){setShowForm(true) } ;e.target.value !=(value?value:options_IndicatorPatterns_keys[0]) ?Change&&Change({[name] :e.target.value}):Change&&Change({[name] :null}) }}\r\n required={required}\r\n mode={mode}\r\n lable=\"indicatorstatic\"\r\n selectType=\"select\"\r\n value={newId ?newId : (options_IndicatorPatterns_keys.length>2 ? value:null)}\r\n options={options_IndicatorPatterns_values}\r\n val={options_IndicatorPatterns_keys}\r\n name={name}\r\n >\r\n
\r\n
\r\n ),\r\n CheckBox: (\r\n <>\r\n {options_IndicatorPatterns_values && (\r\n \r\n )}\r\n \r\n ),\r\n }[type as string]\r\n : \r\n\r\n }\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { MessageType } from \"types/enum\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\nexport const getGroupPositionList =( async ( searchString) => await http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.dictionary,\r\n method: \"get\",\r\n params:{\r\n SearchString : searchString\r\n }\r\n})\r\n.then((respons) => (respons.data)) \r\n.catch(err => {\r\n return Promise.reject( err);\r\n })\r\n\r\n)\r\n\r\n\r\nexport const getPositionList =( async (searchString ) => await http({\r\n url: ENDPOINTS.BaseInformation.position.browse,\r\n method: \"get\",\r\n params : {\r\n searchString : searchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((respons) => (respons.data))\r\n.catch(err => {\r\n return Promise.reject( err);\r\n })\r\n\r\n)\r\n\r\n\r\nexport const setSecretariatMembers =( async (data ) => await http({\r\n url: ENDPOINTS.secretariat.secretariatAccess.browse,\r\n method: \"post\",\r\n data:data,\r\n})\r\n.then((respons) => (respons.data))\r\n.catch(err => {\r\n return Promise.reject( err);\r\n })\r\n\r\n)\r\nexport const getSecretariatMembers =( async (secretariatId ) => await http({\r\n url: ENDPOINTS.secretariat.secretariatAccess.browse,\r\n method: \"get\",\r\n params:{\r\n SecretariatId:secretariatId \r\n }\r\n \r\n \r\n})\r\n.then((respons) => (respons.data))\r\n.catch(err => {\r\n return Promise.reject( err);\r\n })\r\n\r\n)\r\n\r\n\r\n\r\n\r\n \r\nexport const AddNewPattern = (data:any) => http({\r\n url: ENDPOINTS.secretariat.SecretariatIndicatorPattern.browse,\r\n method: \"post\",\r\n data : data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n});\r\n\r\n \r\n\r\nexport const editPattern = (data:any) => http({\r\n url: ENDPOINTS.secretariat.SecretariatIndicatorPattern.browse,\r\n method: \"put\",\r\n data : data\r\n}).then((res) => { \r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\n \r\n\r\nexport const deletePattern = (id) => http({\r\n url: ENDPOINTS.secretariat.SecretariatIndicatorPattern.browse,\r\n method: \"delete\",\r\n params:{\r\n Id:id\r\n }\r\n}).then((res) => { \r\n // Toast(trans(\"msg_deleteddatasuccessfully\") , \"success\")\r\n Toast(trans(\"msg_deleteddatasuccessfully\") ,MessageType.success)\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const getSecretariatIndicatorPatternList = (id) => http({\r\n url: ENDPOINTS.secretariat.SecretariatIndicatorPattern.browse,\r\n method: \"get\",\r\n params: {\r\n SecretariatId:id,\r\n\r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n });\r\n \r\n export const getPattern = (id) => http({\r\n url: ENDPOINTS.secretariat.SecretariatIndicatorPattern.load,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n Id:id\r\n \r\n }\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n ","import { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { UserContext } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { downloadCSV, trans } from \"utils/helpers\";\r\nimport { IndicatorPatternsDictionary } from \"./IndicatorPatternsDictionary/IndicatorPatternsDictionary\";\r\nimport { AddNewPattern, deletePattern, editPattern, getPattern, getSecretariatIndicatorPatternList } from \"./SecretariatMembers/api/api\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\ninterface PatternFormPropsType {\r\n SecretariatId;\r\n showForm;\r\n\r\n}\r\nexport const PatternForm = ({ \r\n SecretariatId,\r\n showForm\r\n\r\n}: PatternFormPropsType) => {\r\n \r\n const [resetForm, setResetForm] = useState(false);\r\n const [Patterns , setPatterns ] = useState< any>(null);\r\n const [Pattern , setPattern ] = useState< any>();\r\n const [selectedPattern , setSelectedPattern ] = useState< any>();\r\n const [mode , setmode ] = useState< any>();\r\n const [showPatterns , setShowPatterns ] = useState< any>(false);\r\n const [loading , setLoading] = useState(false)\r\n const [loading2 , setLoading2] = useState(false)\r\n const [catchMessage, setCatchMessage] = useState({type:\"info\",msg:\"NoDataForPreview\"});\r\n const [userMadeChanges, setUserMadeChanges] = useContext(UserContext);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n\r\n \r\n let HeadPatterns:any=[] , BodyPatterns\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"reference\":alert(\"call api reference with Id :\");break;\r\n case \"view\":if(selectedPattern){getNewPattern();setmode(\"view\") ;mode != \"view\" ?setShowPatterns(true) : setShowPatterns(!showPatterns)} break;\r\n case \"edit\":if(selectedPattern){getNewPattern();setmode(\"edit\") ;mode != \"edit\" ?setShowPatterns(true) : setShowPatterns(!showPatterns)} break;\r\n case \"print\":alert(\"print \");break;\r\n // case \"remove\":if(!showPatterns){if (selectedPattern)Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , handleDeleteRow);} break;\r\n case \"remove\":if(!showPatterns){if (selectedPattern)Toast(trans(\"msg_deleteconfirm\"),MessageType.confirmDelete , handleDeleteRow);} break;\r\n\r\n case \"excel\":downloadCSV(Patterns ,3 ,trans(\"PatternForm\"));break;\r\n case \"refresh\":setResetForm(true);getPatternorganizationIdAsync(SecretariatId);break;\r\n case \"create\":setPattern(null);setResetForm(true);mode != \"create\" ?setShowPatterns(true) : setShowPatterns(!showPatterns);setmode( \"create\");break;\r\n }\r\n };\r\n \r\n const handleDeleteRow = async() => {\r\n try {\r\n await deletePattern(selectedPattern.Id)\r\n getPatternorganizationIdAsync(SecretariatId)\r\n setResetForm(true)\r\n } catch (error) {\r\n \r\n }\r\n }\r\n \r\n\r\n async function sendNodeAsync(data) {\r\n try{\r\n await AddNewPattern(data);\r\n setResetForm(true);\r\n setUserMadeChanges(false);\r\n setShowPatterns(false);\r\n getPatternorganizationIdAsync(SecretariatId);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n }catch(err:any){\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n async function putNodeAsync(data) {\r\n try{\r\n await editPattern(data);\r\n setResetForm(true);\r\n setUserMadeChanges(false);\r\n setShowPatterns(false);\r\n getPatternorganizationIdAsync(SecretariatId);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n }catch(err:any){\r\n\r\n }\r\n }\r\n\r\n async function getPatternorganizationIdAsync(id) {\r\n setLoading(false)\r\n try{\r\n const res = await getSecretariatIndicatorPatternList(id );\r\n setPatterns(res.Data)\r\n setCatchMessage({type:\"info\",msg:\"NoDataForPreview\"})\r\n } catch (error:any) {\r\n setCatchMessage({type:\"error\" , msg:error?.response?.data?.Message})\r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n\r\n const getNewPattern = async ()=>{\r\n setLoading2(false)\r\n try{\r\n const res = await getPattern(selectedPattern.Id); \r\n setPattern(res.Data) \r\n setUserMadeChanges(false) \r\n }catch(err:any){\r\n\r\n }\r\n setLoading2(true)\r\n }\r\n const handlePersonContactFormSubmit = (event) => {\r\n event.preventDefault();\r\n event.stopPropagation()\r\n if(mode==\"edit\"){\r\n let data={\r\n \"Id\" : selectedPattern.Id,\r\n \"IndicatorPatternId\": event.target.IndicatorPatternId.value,\r\n \"SecretariatId\": SecretariatId,\r\n \"LetterType\": +event.target.LetterType.value ,\r\n \"StartSerial\": event.target.StartSerial.value ,\r\n \"ActivityStatus\": +event.target.ActivityStatus.value ,\r\n }\r\n putNodeAsync(data)\r\n }else{\r\n let data={\r\n \"IndicatorPatternId\": event.target.IndicatorPatternId.value,\r\n \"SecretariatId\": SecretariatId,\r\n \"LetterType\": +event.target.LetterType.value ,\r\n \"StartSerial\": event.target.StartSerial.value ,\r\n \"ActivityStatus\": 1 \r\n\r\n\r\n \r\n }\r\n sendNodeAsync(data)\r\n }\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alert\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // setShowPatterns(false);\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n setShowPatterns(false);\r\n });\r\n }else{\r\n setShowPatterns(false);\r\n };\r\n\r\n\r\n }\r\n \r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\nuseEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n}, [userChanges]);\r\n \r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n \r\n useEffect(() => {\r\n setPattern(null)\r\n }, [showPatterns]);\r\n\r\n useEffect(() => {\r\n getPatternorganizationIdAsync(SecretariatId)\r\n }, [ SecretariatId ]);\r\n\r\n useEffect(() => {\r\n\r\n if(mode != \"create\" ){\r\n if(userMadeChanges){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\",getNewPattern)\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm,getNewPattern)\r\n\r\n }else{\r\n getNewPattern()\r\n }\r\n }\r\n }, [selectedPattern]);\r\n\r\n\r\n\r\n if(Patterns){\r\n if(Patterns[0]){\r\n HeadPatterns = Object.keys(Patterns[0]);\r\n BodyPatterns = JSON.parse(JSON.stringify(Patterns)) \r\n }\r\n\r\n }\r\n return (\r\n
\r\n
\r\n \r\n
\r\n { \r\n showPatterns &&\r\n <>\r\n {loading2 ?\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n type= {\"SelectBox\"}\r\n name={\"IndicatorPatternId\"}\r\n required={true}\r\n value={Pattern?.IndicatorPatternId ? Pattern?.IndicatorPatternId : null}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n type= \"SelectBox\"\r\n name=\"LetterType\"\r\n label=\"LetterType\"\r\n enumTypeSelect='LetterType'\r\n required={true}\r\n value={Pattern?.LetterType ? Pattern?.LetterType : null}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n defaultValue={Pattern?.StartSerial ? Pattern?.StartSerial : null}\r\n textboxType=\"text\"\r\n textboxName=\"StartSerial\"\r\n labelText=\"StartSerial\"\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n label=\"Status\"\r\n name=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value ={Pattern?.ActivityStatus}\r\n mode={mode}\r\n />\r\n
\r\n \r\n }\r\n
\r\n { mode !==\"view\" &&\r\n
\r\n
\r\n } \r\n
\r\n :
}\r\n \r\n }\r\n {loading ?\r\n (Patterns && Patterns?.length>0 ?\r\n
\r\n
\r\n : \r\n )\r\n : \r\n }\r\n
\r\n
\r\n
\r\n );\r\n}","import { useEffect, useState } from \"react\";\r\n\r\n\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { IndicatorPatternsDictionary } from \"../IndicatorPatternsDictionary/IndicatorPatternsDictionary\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { putSecretariats, getAllowUpdate, getsecretariat } from \"../../api/api\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { MessageType } from \"types/enum\";\r\ninterface Form {\r\n onHide: () => void;\r\n reload?: (flag) => void;\r\n submit?: (flag) => void;\r\n resetForm: () => void;\r\n handleShowReferenceStepper?: (referenceId: string) => void;\r\n\r\n Id?: any;\r\n jobId?: any;\r\n mode: any;\r\n type?: any;\r\n step?:any;\r\n processId?: any;\r\n referenceId?: any;\r\n SecretariatId?: any;\r\n editInIndicator?: any;\r\n}\r\nexport const SecretariatForm = ({ onHide,jobId, Id,SecretariatId,editInIndicator=false , mode,step,resetForm,submit, reload ,handleShowReferenceStepper, type ,processId ,referenceId}: Form) => {\r\n\r\n const [curentTab, setCurentTab] = useState(\"SecretariatForm\")\r\n\r\n const [singleIndicator, setSingleIndicator] = useState(true);\r\n const [loading, setLoading] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [allowUpdate, setAllowUpdate] = useState();\r\n const [updatePatternsDictionary, setUpdatePatternsDictionary] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n\r\n\r\n\r\nconst submitHandler = (e) => {\r\n e.preventDefault();\r\n let SecretariatIndicatorPatterns:any =[]\r\n if(!singleIndicator){\r\n if(mode == \"edit\"){\r\n SecretariatIndicatorPatterns = [ \r\n { \r\n \"Id\":response?.SecretariatIndicatorPatterns?.[0].Id,\r\n \"SecretariatId\":SecretariatId,\r\n \"IndicatorPatternId\": e.target.IndicatorPatternId1.value,\r\n \"LetterType\": 1,\r\n \"StartSerial\": +e.target.StartSerial1.value,\r\n \"ActivityStatus\" : 1\r\n },\r\n {\r\n \"Id\":response?.SecretariatIndicatorPatterns?.[1].Id,\r\n \"SecretariatId\":SecretariatId,\r\n \"IndicatorPatternId\": e.target.IndicatorPatternId2.value,\r\n \"LetterType\": 2,\r\n \"StartSerial\": +e.target.StartSerial2.value,\r\n \"ActivityStatus\" : 1\r\n \r\n },\r\n {\r\n \"Id\":response?.SecretariatIndicatorPatterns?.[2].Id,\r\n \"SecretariatId\":SecretariatId,\r\n \"IndicatorPatternId\": e.target.IndicatorPatternId3.value,\r\n \"LetterType\": 3,\r\n \"StartSerial\": +e.target.StartSerial3.value,\r\n \"ActivityStatus\" : 1\r\n \r\n }]\r\n\r\n }else{\r\n SecretariatIndicatorPatterns = [ \r\n { \r\n \r\n \"IndicatorPatternId\": e.target.IndicatorPatternId1.value,\r\n \"LetterType\": 1,\r\n \"StartSerial\": +e.target.StartSerial1.value,\r\n \"ActivityStatus\" : 1\r\n },\r\n {\r\n \"IndicatorPatternId\": e.target.IndicatorPatternId2.value,\r\n \"LetterType\": 2,\r\n \"StartSerial\": +e.target.StartSerial2.value,\r\n \"ActivityStatus\" : 1\r\n \r\n },\r\n {\r\n \"IndicatorPatternId\": e.target.IndicatorPatternId3.value,\r\n \"LetterType\": 3,\r\n \"StartSerial\": +e.target.StartSerial3.value,\r\n \"ActivityStatus\" : 1\r\n \r\n }]\r\n\r\n }\r\n }else {\r\n if(mode == \"edit\"){\r\n\r\n SecretariatIndicatorPatterns = [ {\r\n \"Id\":response?.SecretariatIndicatorPatterns?.[0].Id,\r\n \"SecretariatId\":SecretariatId,\r\n \"IndicatorPatternId\": e.target.IndicatorPatternId.value,\r\n \"LetterType\": 0,\r\n \"StartSerial\": +e.target.StartSerial.value\r\n }]\r\n }else{\r\n SecretariatIndicatorPatterns = [ {\r\n \"IndicatorPatternId\": e.target.IndicatorPatternId.value,\r\n \"LetterType\": 0,\r\n \"StartSerial\": +e.target.StartSerial.value\r\n }]\r\n }\r\n }\r\n if(SecretariatIndicatorPatterns[0].IndicatorPatternId !=\"null\"){\r\n if(mode == \"edit\"){\r\n let data = {\r\n \"Secretariat\": {\r\n \"Id\" :SecretariatId ,\r\n \"Name\": e.target.Name.value,\r\n \"SingleIndicator\": singleIndicator,\r\n \"ActivityStatus\" : +e.target.ActivityStatus.value\r\n },\r\n \"SecretariatIndicatorPatterns\": SecretariatIndicatorPatterns\r\n }\r\n putSecretariats(data).then(() => {resetForm() ; onHide() })\r\n }else{\r\n let data = {\r\n \"Secretariat\": {\r\n \"Name\": e.target.Name.value,\r\n \"SingleIndicator\": singleIndicator\r\n },\r\n \"SecretariatIndicatorPatterns\": SecretariatIndicatorPatterns\r\n }\r\n submit&& submit(data) \r\n }\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n }\r\n\r\n \r\n}\r\n\r\nasync function getsecretariatAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getsecretariat(SecretariatId);\r\n setSingleIndicator(res.Data.Secretariat?.SingleIndicator)\r\n setResponse(res.Data)\r\n } catch (error) {\r\n }\r\n setLoading(true)\r\n}\r\n\r\nasync function getAllowUpdateAsync() {\r\n try {\r\n const res = await getAllowUpdate(SecretariatId);\r\n setAllowUpdate(res)\r\n\r\n } catch (error) {\r\n }\r\n\r\n\r\n}\r\n\r\n\r\n\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n } \r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // onHide()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n onHide()\r\n });\r\n }else{\r\n onHide()\r\n };\r\n\r\n\r\n}\r\n\r\nconst handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n};\r\n\r\n\r\nuseEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n}, [userChanges]);\r\n\r\n\r\n useEffect(() => {\r\n if(SecretariatId && mode != \"create\"){\r\n getAllowUpdateAsync()\r\n getsecretariatAsync()\r\n }else{\r\n setAllowUpdate(true)\r\n setLoading(true)\r\n\r\n }\r\n}, [SecretariatId , mode])\r\n /* pagination area*/\r\n\r\n return (\r\n <>\r\n {loading ? \r\n
\r\n
\r\n \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true} \r\n textboxName={\"Name\"}\r\n textboxType=\"text\" \r\n labelText={\"Name\"} \r\n mode={mode}\r\n defaultValue={response?.Secretariat?.Name} />\r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n label=\"Status\"\r\n name=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value ={response?.Secretariat?.ActivityStatus}\r\n mode={mode}\r\n />\r\n
\r\n }\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n onchange={()=>{setSingleIndicator(!singleIndicator)}}\r\n defaultChecked={singleIndicator}\r\n defaultValue={singleIndicator}\r\n labelText={\"SingleIndicator\"}\r\n inputName={\"checkbox\"}\r\n type=\"checkbox\"\r\n mode={allowUpdate ?mode :\"view\"}\r\n /> \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {singleIndicator ?\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n handleUpdate={()=>{setUpdatePatternsDictionary(!updatePatternsDictionary)} }\r\n UpdateState={updatePatternsDictionary}\r\n type= {\"SelectBox\"}\r\n name={\"IndicatorPatternId\"}\r\n required={true}\r\n value={response?.SecretariatIndicatorPatterns?.[0]?.IndicatorPatternId}\r\n mode={allowUpdate ?mode :\"view\"}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n defaultValue={response?.SecretariatIndicatorPatterns?.[0]?.StartSerial}\r\n textboxType=\"number\"\r\n textboxName=\"StartSerial\"\r\n labelText=\"StartSerial\"\r\n mode={allowUpdate ?mode :\"view\"}\r\n />\r\n
\r\n
\r\n :\r\n <>\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n handleUpdate={()=>{setUpdatePatternsDictionary(!updatePatternsDictionary)} }\r\n UpdateState={updatePatternsDictionary}\r\n type= {\"SelectBox\"}\r\n name={\"IndicatorPatternId1\"}\r\n required={true}\r\n value={response?.SecretariatIndicatorPatterns?.[0]?.IndicatorPatternId? response?.SecretariatIndicatorPatterns?.[0]?.IndicatorPatternId : null}\r\n mode={allowUpdate ?mode :\"view\"}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n defaultValue={response?.SecretariatIndicatorPatterns?.[0]?.StartSerial ? response?.SecretariatIndicatorPatterns?.[0]?.StartSerial : null}\r\n textboxType=\"number\"\r\n textboxName=\"StartSerial1\"\r\n labelText=\"StartSerial\"\r\n mode={allowUpdate ?mode :\"view\"}\r\n />\r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n label=\"Status\"\r\n name=\"ActivityStatus1\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={response?.SecretariatIndicatorPatterns?.[0]?.ActivityStatus ? response?.SecretariatIndicatorPatterns?.[0]?.ActivityStatus : null}\r\n mode={allowUpdate ?mode :\"view\"}\r\n />\r\n
\r\n }\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n handleUpdate={()=>{setUpdatePatternsDictionary(!updatePatternsDictionary)} }\r\n UpdateState={updatePatternsDictionary}\r\n type= {\"SelectBox\"}\r\n name={\"IndicatorPatternId2\"}\r\n required={true}\r\n value={response?.SecretariatIndicatorPatterns?.[1]?.IndicatorPatternId? response?.SecretariatIndicatorPatterns?.[1]?.IndicatorPatternId : null}\r\n mode={allowUpdate ?mode :\"view\"}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n defaultValue={response?.SecretariatIndicatorPatterns?.[1]?.StartSerial ? response?.SecretariatIndicatorPatterns?.[1]?.StartSerial : null}\r\n textboxType=\"number\"\r\n textboxName=\"StartSerial2\"\r\n labelText=\"StartSerial\"\r\n mode={allowUpdate ?mode :\"view\"}\r\n />\r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n label=\"Status\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n name=\"ActivityStatus2\"\r\n value={response?.SecretariatIndicatorPatterns?.[1]?.ActivityStatus ? response?.SecretariatIndicatorPatterns?.[1]?.ActivityStatus : null}\r\n mode={allowUpdate ?mode :\"view\"}\r\n />\r\n
\r\n }\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n handleUpdate={()=>{setUpdatePatternsDictionary(!updatePatternsDictionary)} }\r\n UpdateState={updatePatternsDictionary}\r\n type= {\"SelectBox\"}\r\n name={\"IndicatorPatternId3\"}\r\n required={true}\r\n value={response?.SecretariatIndicatorPatterns?.[2]?.IndicatorPatternId? response?.SecretariatIndicatorPatterns?.[2]?.IndicatorPatternId : null}\r\n mode={allowUpdate ?mode :\"view\"}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultValue={response?.SecretariatIndicatorPatterns?.[2]?.StartSerial ? response?.SecretariatIndicatorPatterns?.[2]?.StartSerial : null}\r\n textboxType=\"number\"\r\n textboxName=\"StartSerial3\"\r\n labelText=\"StartSerial\"\r\n mode={allowUpdate ?mode :\"view\"}\r\n />\r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n label=\"Status\"\r\n name=\"ActivityStatus3\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={response?.SecretariatIndicatorPatterns?.[2]?.ActivityStatus ? response?.SecretariatIndicatorPatterns?.[2]?.ActivityStatus : null}\r\n mode={allowUpdate ?mode :\"view\"}\r\n />\r\n
\r\n }\r\n
\r\n \r\n }\r\n
\r\n
\r\n
\r\n { mode !==\"view\" &&\r\n
\r\n
\r\n } \r\n
\r\n \r\n \r\n :\r\n }\r\n\r\n \r\n )\r\n}","\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ButtonArrow } from \"components/ButtonArrow/ButtonArrow\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getGroupPositionList, getPositionList, getSecretariatMembers, setSecretariatMembers } from \"./api/api\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\ninterface Form{\r\n Title?:string,\r\n Method?:string,\r\n Status?:number,\r\n SecretariatId?:any,\r\n showForm:(e) => void,\r\n modalWidth?:any\r\n}\r\n\r\n\r\n\r\n\r\nexport const SecretariatMembers: React.FC
= ({showForm,SecretariatId , Method, modalWidth}) => {\r\n const [mood , setMood] = useState(\"groups\")\r\n const [Moodassign , setMoodassign] = useState(\"All\")\r\n const [flag , setFlag] = useState(false)\r\n const [response , setResponse] = useState([])\r\n const [assignmentResponse , setAssignmentResponse] = useState([])\r\n const [selectList , setSelectList] = useState([])\r\n const [assignedList , setAssignedList] = useState([])\r\n const [assignedSelectList , setAssignedSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [massageType , setMassageType] = useState(\"info\")\r\n const [massageType2 , setMassageType2] = useState(\"info\")\r\n const [loading , setLoading] = useState(false)\r\n const [loading2 , setLoading2] = useState(false)\r\n const [positionstr , setPositionstr] = useState()\r\n const [positionAssignmentstr , setPositionAssignmentstr] = useState()\r\n const [width, setWidth] = useState(window.innerWidth);\r\n\r\n\r\n const breakPoint1 = modalWidth < 50 || width < 750\r\n const breakPoint2 = modalWidth < 80 || width < 1100\r\n\r\n window.onresize = () => {\r\n setWidth(window.innerWidth)\r\n }\r\n\r\n let Data:any = [], Dataassign:any = [];\r\n async function getPositionsListAsync(SearchString) {\r\n setLoading(false)\r\n try {\r\n if(mood==\"groups\"){\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list:any=[]\r\n for (let x in Groupresponse.Data) {\r\n list.push({Id:x ,TU_RELATION:2 ,Title: trans(Groupresponse.Data[x])}) \r\n }\r\n setResponse(list)\r\n }else if(mood==\"users\"){\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n list = Positionresponse.Data.map(item=>{\r\n return ({\r\n Id:item.Id ,\r\n TU_RELATION : 1 ,\r\n Title:item.Description,\r\n })\r\n })\r\n setResponse(list) \r\n }else{\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list2:any=[]\r\n for (let x in Groupresponse.Data) {\r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=2\r\n obj.Title=trans(Groupresponse.Data[x])\r\n list2.push(obj) \r\n }\r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n list = Positionresponse.Data.map(item=>{\r\n return ({\r\n Id:item.Id ,\r\n TU_RELATION : 1 ,\r\n Title:item.Description,\r\n })\r\n \r\n })\r\n setResponse(list.concat(list2)) \r\n }\r\n } catch (error) {\r\n setMassageType(\"error\")\r\n }\r\n\r\n setLoading(true)\r\n }\r\n async function getPositionsListSearchingAsync(SearchString) {\r\n\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list2:any=[]\r\n\r\n for (let x in Groupresponse.Data) {\r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=2\r\n obj.Title= trans(Groupresponse.Data[x]) \r\n list2.push(obj) \r\n }\r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n list = Positionresponse.Data.map(item=>{\r\n return ({\r\n Id:item.Id ,\r\n TU_RELATION : 1 ,\r\n Title:item.Description,\r\n })\r\n \r\n })\r\n setAssignmentResponse(list.concat(list2)) \r\n }\r\n async function setSecretariatMembersAsync(data ) {\r\n const response = await setSecretariatMembers(data ); \r\n showForm(false) \r\n }\r\n async function getTaskUserAsync() {\r\n setLoading2(false)\r\n try {\r\n const TaskUserresponse = await getSecretariatMembers(SecretariatId); \r\n \r\n let makeData:any =[] \r\n if(TaskUserresponse.Data){\r\n TaskUserresponse.Data.map(item=>{\r\n if(item.GroupPositionId){\r\n makeData.push({Id:item.GroupPositionId,TU_RELATION:2 , Title:item.Description })\r\n }else{\r\n makeData.push({Id:item.PositionId,TU_RELATION:1, Title:item.Description })\r\n\r\n }\r\n }) \r\n setAssignedList(makeData)\r\n }\r\n } catch (error) {\r\n setMassageType2(\"error\")\r\n }\r\n setLoading2(true)\r\n }\r\n\r\n\r\n function changeDataGrid(e) {\r\n setMood(e)\r\n }\r\n function hide() {\r\n showForm(false)\r\n }\r\n\r\n function changeDataGridassign(e) {\r\n setMoodassign(e)\r\n }\r\n function backward() {\r\n setAssignedSelectList([])\r\n setResetMultiSelect(!resetMultiSelect)\r\n setAssignedList(assignedList.concat(selectList) )\r\n setFlag(!flag)\r\n setSelectList([])\r\n \r\n }\r\n function forward() {\r\n setResetMultiSelect(!resetMultiSelect)\r\n let list:any =[]\r\n assignedList.forEach((item1,index1) => {\r\n let flag = true\r\n assignedSelectList.forEach((item2 , index2 ) => {\r\n if(item2.Id ==item1.Id ){\r\n flag = false\r\n }\r\n });\r\n if(flag){\r\n list.push(item1)\r\n }\r\n });\r\n setAssignedList(list)\r\n \r\n }\r\n const selectListCallBack =(list)=>{ \r\n setSelectList(list[1])\r\n }\r\n const assignedselectListCallBack =(list)=>{\r\n setAssignedSelectList(list[1])\r\n }\r\n\r\n const referenceFormSubmit =(e)=>{\r\n e.preventDefault()\r\n if(assignedList.length==0){\r\n // Toast(\"msg_assigneduserscannotempty\" , \"error\")\r\n Toast(\"msg_assigneduserscannotempty\" , MessageType.error)\r\n\r\n }else{\r\n e.preventDefault();\r\n let Data:any = []\r\n assignedList.map(item=>{\r\n \r\n \r\n let obj = {\r\n\r\n \"OwnerId\": SecretariatId,\r\n [item.TU_RELATION == 1 ? \"PositionId\" : \"GroupPositionId\"] : item.Id\r\n }\r\n if(item.Title.length > 0){\r\n Data.push(obj) \r\n }\r\n })\r\n setSecretariatMembersAsync(Data.length>0 ? Data : [] )\r\n }\r\n\r\n }\r\n const searching =(e)=>{\r\n setPositionstr(e == \"\" ? null:e)\r\n getPositionsListAsync(e == \"\" ? null:e)\r\n\r\n }\r\n const assignmentsearching =(e)=>{\r\n setPositionAssignmentstr(e == \"\" ? null:e)\r\n getPositionsListSearchingAsync(e == \"\" ? null:e)\r\n\r\n }\r\n\r\n useEffect(() => {\r\n getPositionsListAsync(positionstr); \r\n getPositionsListSearchingAsync(positionAssignmentstr)\r\n }, [mood]);\r\n\r\n useEffect(() => {\r\n getTaskUserAsync();\r\n }, []);\r\n\r\n\r\n if(response && assignedList ){\r\n let assignmentdata:any =[]\r\n\r\n \r\n assignedList.forEach(elm => {\r\n if(Moodassign==\"groups\"){\r\n if(elm.TU_RELATION==2)assignmentdata.push(elm)\r\n }else if(Moodassign==\"users\"){\r\n if(elm.TU_RELATION==1)assignmentdata.push(elm)\r\n }else{\r\n assignmentdata.push(elm)\r\n }\r\n });\r\n \r\n assignmentResponse.forEach(item1 => {\r\n let flag =false\r\n assignmentdata.forEach(item2 => {\r\n if(item1.Id == item2.Id){\r\n flag = true\r\n }\r\n });\r\n if(flag){\r\n Dataassign.push(item1)\r\n }\r\n \r\n });\r\n \r\n response.map(item1=>{\r\n let flag = true\r\n assignedList.forEach(item2 => {\r\n if(item1.Id ==item2.Id){\r\n flag=false\r\n }\r\n });\r\n if(flag){\r\n Data.push(item1) \r\n }\r\n })\r\n }\r\n \r\n \r\n\r\n return ( \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {loading ?\r\n <>\r\n {response ? \r\n : \r\n } \r\n \r\n : \r\n }\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n {forward()}}/>\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n {loading2 ?\r\n <>\r\n {Dataassign ? \r\n \r\n : \r\n } \r\n \r\n : \r\n }\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getAllBranch = (async (orderFormat:string =\"\" , search)=> await http({\r\n url: ENDPOINTS.Management.Branch.browse,\r\n method: 'get',\r\n params: {\r\n searchString:search,\r\n orderBy : orderFormat,\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\nexport const getBranch = (async (id) => await http({\r\n url: ENDPOINTS.Management.Branch.load,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: { Id: id }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const PostBranch = (data) => http({\r\n url: ENDPOINTS.Management.Branch.browse,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n\r\nexport const PutBranch = (data) => http({\r\n url: ENDPOINTS.Management.Branch.browse,\r\n method: 'put',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\nexport const DeleteBranch = (id) => http({\r\n url: ENDPOINTS.Management.Branch.browse,\r\n method: 'DELETE',\r\n params: {\r\n id :id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n","\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getJobs = (pageNumber: number, pageSize: number, searchString, orderBy, filterlist, processId) => http({\r\n url: ENDPOINTS.Management.JobManagement.jobList,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n processId:processId,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\n\r\nexport const forceStop = (id: any, description) => http({\r\n url: ENDPOINTS.Management.JobManagement.stop,\r\n method: 'put',\r\n params: {\r\n Id: id,\r\n forceStopDescription: description\r\n }\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n})\r\n.catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\nexport const setJobInProgress = (id: any) => http({\r\n url: ENDPOINTS.cartable.setJobInProgress,\r\n method: 'post',\r\n params: {\r\n jobId: id,\r\n }\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n})\r\n.catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getViewForm = (processId: any, selectedPosition?: any) => http({\r\n url: ENDPOINTS.bpmnApi.process.getViewForm,\r\n method: 'get',\r\n params: {\r\n processId: processId,\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getAllPeriod = (async (orderFormat:string =\"\" , search)=> await http({\r\n url: ENDPOINTS.Management.period.browse,\r\n method: 'get',\r\n params: {\r\n searchString:search,\r\n orderBy : orderFormat,\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\nexport const getPeriod = (async (id) => await http({\r\n url: ENDPOINTS.Management.period.load,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: { Id: id }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const PostPeriod = (data) => http({\r\n url: ENDPOINTS.Management.period.browse,\r\n method: 'post',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\n\r\nexport const PutPeriod = (data) => http({\r\n url: ENDPOINTS.Management.period.browse,\r\n method: 'put',\r\n data: data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n\r\n\r\nexport const DeletePeriod = (id) => http({\r\n url: ENDPOINTS.Management.period.browse,\r\n method: 'DELETE',\r\n params: {\r\n id :id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n})\r\n","import { ENDPOINTS } from \"utils/endpoints\"\r\nimport { http } from \"utils/http\"\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n\r\n \r\n export const getFully = () => http({\r\n url: ENDPOINTS.BaseInformation.organization.browse,\r\n method: \"get\",\r\n \r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n });\r\n \r\n \r\n \r\n\r\n\r\n\r\n export const getOrganizationRolesList = (async (organizationId:any ,SearchString ) => await http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.organizationRole.dictionary,\r\n method: 'get',\r\n params:{\r\n SearchString: SearchString? SearchString :null,\r\n organizationId :organizationId\r\n }\r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n })\r\n \r\n )\r\n \r\n export const getExceptOrganizationRolesList = (async (organizationId ,SearchString ) => await http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.organizationRole.browse,\r\n method: 'get',\r\n params:{\r\n SearchString: SearchString? SearchString :null,\r\n organizationId :organizationId\r\n }\r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n })\r\n )\r\n \r\n export const addNewRolesAsync = (async (organizationId ,data ) => await http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.organizationRole.load,\r\n method: 'post',\r\n params:{\r\n organizationId :organizationId\r\n },\r\n data:data\r\n }).then((res) => {\r\n return res.data\r\n }).catch((err) => {\r\n return Promise.reject( err);\r\n })\r\n )\r\n\r\n export const deletRolesAsync = (async (organizationId ,data ) => await http({\r\n url: ENDPOINTS.tadbirAuthorizeApi.organizationRole.load,\r\n method: 'DELETE',\r\n params:{\r\n organizationId :organizationId\r\n },\r\n data:data\r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n })\r\n \r\n )\r\n ","\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { RetrieveRolesList } from \"pages/SystemManagement/Settings/Users/api\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { addNewRolesAsync, getExceptOrganizationRolesList } from \"../../api/api\";\r\n\r\n\r\ninterface propsOrganizationalStructure {\r\n selectedObj:any;\r\n treeType:any;\r\n onHide: (mod) => void;\r\n reload: () => void;\r\n}\r\nexport const AddRoleForm = ({selectedObj ,onHide,reload,treeType} :propsOrganizationalStructure )=> {\r\n const [data, setData] = useState()\r\n const [ListResponse, setListResponse] = useState()\r\n const [loading, setLoading] = useState(false)\r\n const [selected, setSelected] = useState()\r\n const [selectedList, setSelectedList] = useState([])\r\n const [idCallback, setIdCallback] = useState(\"2\")\r\n const [messageType, setMessageType] = useState(\"info\")\r\n // const [theadData , setTheadData] = useState()\r\n const [search, setsearch] = useState(null);\r\n const [defultShow, setDefultShow] = useState(false);\r\n\r\n\r\n let tbodyData: any = [];\r\n let theadData: any = []\r\n let obj: any = {}\r\n\r\n function set(name, value) {\r\n let obj2 = obj; \r\n var nameList = name.split('.');\r\n var len = nameList.length;\r\n for(var i = 0; i = arr.length) {\r\n var k = new_index - arr.length + 1;\r\n while (k--) {\r\n arr.push(undefined);\r\n }\r\n }\r\n arr.splice(new_index, 0, arr.splice(old_index, 1)[0]);\r\n return arr; // for testing\r\n};\r\n\r\n\r\n\r\n function setTree(obj2 , parentId) {\r\n let list:any = Object.keys(obj2)\r\n let tree:any = []\r\n if(typeof obj2 != \"string\"){\r\n\r\n list.forEach(item=>{\r\n tree.push({\r\n Id : parentId+item ,\r\n parentId : parentId ,\r\n Children : setTree(obj2[item] , parentId+item+\".\" ) ,\r\n Description : item\r\n }) \r\n }) \r\n\r\n }\r\n return tree \r\n} \r\n\r\n\r\n\r\n\r\n\r\n\r\nasync function getListAsync() {\r\n setLoading(false)\r\n try {\r\n const response = await getExceptOrganizationRolesList(selectedObj.Id, \"\")\r\n let newTypeObject:any = {}\r\n if(treeType){\r\n\r\n Object.keys(response.Data).forEach(item => {\r\n var nameList = response.Data[item].split('.');\r\n let ty = array_move(nameList, 3, 1)\r\n newTypeObject = Object.assign(newTypeObject,{[item] :ty.join(\".\") })\r\n set( ty.join(\".\"), item);\r\n });\r\n setListResponse(newTypeObject)\r\n\r\n }else{\r\n\r\n setListResponse(response.Data)\r\n Object.keys(response.Data).forEach(item => {\r\n set( response.Data[item], item);\r\n });\r\n \r\n\r\n\r\n }\r\n \r\n\r\n let tabletr = setTree(obj , \"\")\r\n if(tabletr.length >0){\r\n\r\n setData(tabletr)\r\n }\r\n } catch (err: any) {\r\n setMessageType(\"error\")\r\n\r\n }\r\n setLoading(true)\r\n}\r\n\r\nconsole.log(\"selectedList\" ,selectedList)\r\nasync function addNewRoles() {\r\n console.log(\"selectedList\" ,selectedList)\r\n let addList:any = []\r\n \r\n Object.values(ListResponse).forEach((item , index )=> {\r\n if(selectedList.includes(item) ){\r\n addList.push(Object.keys(ListResponse)[index])\r\n }\r\n\r\n });\r\n\r\n \r\n try {\r\n \r\n const response = await addNewRolesAsync(selectedObj.Id, addList)\r\n onHide(false)\r\n reload() \r\n } catch (err: any) {\r\n \r\n }\r\n \r\n}\r\nconst delay = (duration) =>\r\nnew Promise(resolve => setTimeout(resolve, duration));\r\n\r\nconst Searchhandleer =async (str) => {\r\n setLoading(false)\r\n obj = {}\r\n \r\n setData(null)\r\n if (str == \"\") {\r\n setsearch(null)\r\n setDefultShow(false)\r\n }else{\r\n setDefultShow(true)\r\n setsearch(str)\r\n }\r\n if(ListResponse && ListResponse != undefined){\r\n let newTypeObject:any = {}\r\n\r\n Object.keys(ListResponse).forEach(item => {\r\n if(str != \"\" ){\r\n let flag = true\r\n ListResponse[item].split('.').forEach(word=>{\r\n if(flag ){\r\n if(str.split(\" \").length > 1){\r\n str.split(\" \").forEach(serchWord=>{\r\n if(trans(word).includes(serchWord)){\r\n flag = false\r\n return ;\r\n }\r\n })\r\n\r\n }else{\r\n if(trans(word).includes(str)){\r\n flag = false\r\n return ;\r\n }\r\n\r\n }\r\n\r\n }\r\n })\r\n if(!flag){\r\n \r\n\r\n newTypeObject = Object.assign(newTypeObject,{[item] :ListResponse[item] })\r\n set( ListResponse[item], item);\r\n }\r\n }else{\r\n newTypeObject = Object.assign(newTypeObject,{[item] :ListResponse[item] })\r\n set( ListResponse[item], item);\r\n }\r\n });\r\n setListResponse(newTypeObject)\r\n let tabletr = setTree(obj , \"\")\r\n if(tabletr.length >0){\r\n\r\n await delay(5)\r\n\r\n setData(JSON.parse(JSON.stringify(tabletr)))\r\n }\r\n setLoading(true)\r\n \r\n }\r\n \r\n}\r\n\r\n\r\nasync function RetrieveRolesListAsync() {\r\n const lang = localStorage.getItem(\"lang\");\r\n\r\n document.body.classList.add(\"loading-indicator-\"+lang);\r\n\r\n try {\r\n const res = await RetrieveRolesList()\r\n getListAsync()\r\n\r\n } catch (error) {\r\n \r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n\r\n}\r\n\r\n useEffect(() => {\r\n getListAsync()\r\n }, [ treeType]);\r\n\r\n useEffect(() => {\r\n\r\n }, [ search]);\r\n\r\n if (data) {\r\n theadData = Object.keys(data[0])\r\n tbodyData = data;\r\n }\r\n\r\n\r\n\r\n \r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {RetrieveRolesListAsync()}}\r\n /> \r\n
\r\n
\r\n\r\n
\r\n
\r\n <>\r\n {\r\n loading ? (\r\n data ?\r\n \r\n : \r\n )\r\n : \r\n }\r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n}","\r\nimport { useEffect, useState } from \"react\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { addNewRolesAsync, deletRolesAsync, getExceptOrganizationRolesList, getOrganizationRolesList } from \"../../api/api\";\r\nimport { AddRoleForm } from \"./AddRoleForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { MessageType } from \"types/enum\";\r\nimport { RetrieveRolesList } from \"pages/SystemManagement/Settings/Users/api\";\r\n\r\ninterface propsOrganizationalStructure {\r\n selectedObj:any\r\n}\r\nexport const OrganizationRoles = ({selectedObj}:propsOrganizationalStructure) => {\r\n const [data, setData] = useState()\r\n const [forceUpdate, setForceUpdate] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n const [showAddForm, setShowAddForm] = useState(false)\r\n const [selected, setSelected] = useState()\r\n const [idCallback, setIdCallback] = useState(\"2\")\r\n const [messageType, setMessageType] = useState(\"info\")\r\n const [selectedList, setSelectedList] = useState([])\r\n const [treeType, setTreeType] = useState(false)\r\n const [ListResponse, setListResponse] = useState()\r\n const [exceptListResponse, setExceptListResponse] = useState()\r\n const [search, setsearch] = useState(null);\r\n const [defultShow, setDefultShow] = useState(false);\r\n\r\n\r\n let theadData: any = []\r\n let obj: any = {}\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"tree\":setTreeType(!treeType);break;\r\n case \"print\":alert(\"print \");break;\r\n case \"remove\":deletListAsync();break;\r\n case \"copy\":copyList();break;\r\n case \"paste\":pasteList();break;\r\n // case \"excel\":alert(\"excel \");break;\r\n case \"create\":setShowAddForm(!showAddForm);break;\r\n case \"refresh\":setForceUpdate(!forceUpdate);break;\r\n case \"syncrole\":\r\n RetrieveRolesListAsync()\r\n break;\r\n\r\n }\r\n };\r\n\r\nasync function RetrieveRolesListAsync() {\r\n const lang = localStorage.getItem(\"lang\");\r\n\r\n document.body.classList.add(\"loading-indicator-\"+lang);\r\n\r\n try {\r\n const res = await RetrieveRolesList()\r\n } catch (error) {\r\n \r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n\r\n}\r\n\r\n async function addNewRoles(List) {\r\n \r\n let addList:any = []\r\n if(ListResponse){\r\n\r\n Object.keys(List).forEach((item , index )=> {\r\n if(!Object.keys(ListResponse).includes(item) ){\r\n addList.push(item)\r\n }\r\n \r\n });\r\n }else{\r\n addList = Object.keys(List)\r\n }\r\n \r\n \r\n try {\r\n \r\n const response = await addNewRolesAsync(selectedObj.Id,addList )\r\n setForceUpdate(!forceUpdate)\r\n\r\n } catch (err: any) {\r\n \r\n }\r\n \r\n }\r\n\r\n\r\n\r\n\r\n function pasteList() {\r\n const List:any = localStorage.getItem(\"storageCopy\" )\r\n addNewRoles(JSON.parse(List) )\r\n\r\n}\r\n function copyList() {\r\n \r\n // Toast(\"TextCopiedToClipboard\" , \"success\")\r\n Toast(\"TextCopiedToClipboard\" , MessageType.success)\r\n\r\n localStorage.setItem(\"storageCopy\" ,JSON.stringify(ListResponse) )\r\n\r\n}\r\n function isIn(name ,inList) {\r\n let flag = false\r\n if(!inList){\r\n exceptListResponse.forEach(item => {\r\n if(item.startsWith(name+\".\")){\r\n flag = true\r\n return true\r\n }\r\n });\r\n return flag\r\n }else{\r\n return true\r\n }\r\n}\r\n\r\n\r\n function set(name, value) {\r\n var obj2 = obj; \r\n var nameList = name.split('.');\r\n let inList =false\r\n var len = nameList.length;\r\n let elem = nameList[0];\r\n for(var i = 0; i {\r\n tree.push({\r\n Id : parentId+item ,\r\n parentId : parentId ,\r\n Children : setTree(obj2[item] , parentId+item+\".\" ) ,\r\n Description : item\r\n })\r\n })\r\n\r\n }\r\n return tree\r\n}\r\n\r\nfunction array_move(arr, old_index, new_index) {\r\n if (new_index >= arr.length) {\r\n var k = new_index - arr.length + 1;\r\n while (k--) {\r\n arr.push(undefined);\r\n }\r\n }\r\n arr.splice(new_index, 0, arr.splice(old_index, 1)[0]);\r\n return arr; // for testing\r\n};\r\n\r\n\r\nasync function getListAsync() {\r\n setLoading(false)\r\n let newTypeObject:any = {}\r\n try {\r\n const response = await getOrganizationRolesList(selectedObj.Id , \"\")\r\n if(response.Data){\r\n if(treeType){\r\n Object.keys(response.Data).forEach(item => {\r\n var nameList = response.Data[item].split('.');\r\n let ty = array_move(nameList, 3, 1)\r\n newTypeObject = Object.assign(newTypeObject,{[item] :ty.join(\".\") })\r\n set( ty.join(\".\"), item);\r\n });\r\n setListResponse(newTypeObject)\r\n }else{\r\n setListResponse(response.Data)\r\n if(response.Data){\r\n Object.keys(response.Data).forEach(item => {\r\n set( response.Data[item], item);\r\n });\r\n \r\n }\r\n }\r\n let tabletr = setTree(obj , \"\")\r\n if(tabletr.length >0){\r\n setData(tabletr)\r\n }else{\r\n \r\n }\r\n\r\n }else{\r\n setData(null)\r\n }\r\n } catch (err: any) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n}\r\n\r\n\r\nasync function getExceptListAsync() {\r\n setLoading(false)\r\n try {\r\n const response = await getExceptOrganizationRolesList(selectedObj.Id, \"\")\r\n let newTypeObject:any = {}\r\n setExceptListResponse(response.Data ?Object.values(response.Data) :[])\r\n } catch (err: any) {\r\n \r\n }\r\n setLoading(true)\r\n}\r\n\r\n\r\nasync function deletListAsync(){\r\n\r\n let newList:any = []\r\n selectedList.forEach((item , index)=>{\r\n Object.values(ListResponse)?.forEach((item2:any,index2) => {\r\n if((item.split(\".\").length - 1 ==3 &&item2.includes(item) )|| item2.includes(item+\".\")){\r\n\r\n newList.push(Object.keys(ListResponse)[index2])\r\n\r\n }\r\n\r\n \r\n });\r\n \r\n })\r\n try {\r\n if(newList.length > 0){\r\n // Toast(trans(`msg_deleteitemsconfirm`) , \"warning\" , \"alert\" , async()=>{await deletRolesAsync(selectedObj.Id, newList); setForceUpdate(!forceUpdate)} )\r\n Toast(trans(`msg_deleteitemsconfirm`) ,MessageType.confirmDelete , async()=>{await deletRolesAsync(selectedObj.Id, newList); setForceUpdate(!forceUpdate)} )\r\n\r\n }else{\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning)\r\n\r\n }\r\n } catch (err: any) {\r\n \r\n }\r\n\r\n}\r\n\r\nconst Searchhandleer = (str) => {\r\n if (str === \"\") {\r\n setsearch(null)\r\n setDefultShow(false)\r\n\r\n } \r\n setsearch(str)\r\n setDefultShow(true)\r\n if(ListResponse && ListResponse !== undefined){\r\n setLoading(false)\r\n obj = {}\r\n setData(null)\r\n Object.keys(ListResponse).forEach(item => {\r\n if(str!= \"\"){\r\n let flag = true\r\n ListResponse[item].split('.').forEach(word=>{\r\n if(flag && trans(word).includes(str)){\r\n flag = false\r\n return ;\r\n }\r\n })\r\n if(!flag){\r\n set( ListResponse[item], item);\r\n \r\n }\r\n \r\n }else{\r\n set( ListResponse[item], item);\r\n \r\n }\r\n });\r\n \r\n let tabletr = setTree(obj , \"\")\r\n if(tabletr.length >0){\r\n \r\n setData(tabletr)\r\n }\r\n setLoading(true)\r\n }\r\n}\r\n useEffect(() => {\r\n setData(null)\r\n setListResponse(null)\r\n setExceptListResponse(null)\r\n getExceptListAsync()\r\n \r\n }, [forceUpdate , treeType]);\r\n\r\n useEffect(() => {\r\n if(exceptListResponse){\r\n\r\n getListAsync()\r\n }else{\r\n // setLoading(true)\r\n }\r\n \r\n }, [exceptListResponse]);\r\n \r\n\r\n\r\n if (data) {\r\n theadData = Object.keys(data[0])\r\n }\r\n\r\n\r\n\r\n return (\r\n <>\r\n {showAddForm ?{setShowAddForm(!showAddForm)}} show={showAddForm} modalProfileKey={\"Users\"} title={trans(\"AvailableAccessRoles\")} >{setForceUpdate(!forceUpdate)} } onHide={setShowAddForm} /> : null}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n <>\r\n {\r\n loading ? (\r\n data ?\r\n \r\n : \r\n )\r\n : \r\n }\r\n \r\n
\r\n
\r\n
\r\n \r\n )\r\n}","\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getFully } from './api/api';\r\nimport { OrganizationRoles } from \"./components/OrganizationRoles/OrganizationRoles\";\r\nimport './style.scss';\r\ninterface propsOrganizationalAccesses {\r\n\r\n}\r\nexport const OrganizationalAccesses = () => {\r\n const [data, setData] = useState()\r\n const [showRoleForm, setShowRoleForm] = useState(false)\r\n const [forceUpdate, setForceUpdate] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n const [defultShow, setDefultShow] = useState(true)\r\n const [Fullydata, setFullydata] = useState()\r\n const [selectedObj, setSelectedObj] = useState()\r\n const [idCallback, setIdCallback] = useState(\"2\")\r\n\r\n const [messageType, setMessageType] = useState(\"info\")\r\n const [search, setsearch] = useState(null);\r\n\r\n let theadData: any = []\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"tree\":setSelectedObj(null);getFullyAsync();setDefultShow(!defultShow);break;\r\n case \"print\":alert(\"print \");break;\r\n // case \"excel\":alert(\"excel \");break;\r\n case \"refresh\":setSelectedObj(null);setForceUpdate(!forceUpdate);break;\r\n case \"assignrule\": if (selectedObj) setShowRoleForm(!showRoleForm); break;\r\n }\r\n };\r\n\r\n\r\n\r\n\r\n async function getFullyAsync() {\r\n setLoading(false)\r\n try {\r\n const respons = await getFully()\r\n setFullydata(respons.Data)\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n\r\n setLoading(true)\r\n }\r\n\r\n\r\n const Searchhandleer = (str) => {\r\n if (str == \"\") {\r\n setsearch(null)\r\n } else {\r\n setsearch(str)\r\n }\r\n}\r\n\r\n useEffect(() => {\r\n setFullydata(null)\r\n getFullyAsync()\r\n }, [forceUpdate]);\r\n\r\n if (data || Fullydata) {\r\n theadData = Object.keys(Fullydata[0])\r\n }\r\n\r\n\r\n\r\n return (\r\n <>\r\n {showRoleForm ? { setShowRoleForm(!showRoleForm) }} show={showRoleForm} modalProfileKey={\"Users\"} title={trans(\"AssignedAccessRoles\") + \" : \" + selectedObj.Description} > : null}\r\n \r\n
\r\n
\r\n {false ?\r\n <>\r\n {\r\n loading ? (\r\n data ?\r\n \r\n : \r\n )\r\n : \r\n }\r\n \r\n :\r\n <>\r\n {\r\n loading ? (\r\n Fullydata ?\r\n \r\n : \r\n )\r\n : \r\n }\r\n \r\n }\r\n
\r\n
\r\n \r\n )\r\n}","\r\nimport { useEffect, useState } from \"react\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { addPositionRole, getDictionaryRolesList, RetrieveRolesList } from \"pages/SystemManagement/Settings/Users/api\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Search } from \"components/Search/Search\";\r\n\r\ninterface propsOrganizationalStructure {\r\n selectedObj:any;\r\n onHide: (mod) => void;\r\n addNewPositionRoles: (mod) => void;\r\n reload: () => void;\r\n}\r\nexport const PositionRoleForm = ({selectedObj ,onHide,reload ,addNewPositionRoles} :propsOrganizationalStructure )=> {\r\n const [data, setData] = useState()\r\n const [ListResponse, setListResponse] = useState()\r\n const [relad, setReload] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n const [selected, setSelected] = useState()\r\n const [selectedList, setSelectedList] = useState([])\r\n const [idCallback, setIdCallback] = useState(\"2\")\r\n const [messageType, setMessageType] = useState(\"info\")\r\n // const [theadData , setTheadData] = useState()\r\n const [search, setsearch] = useState(null);\r\n const [defultShow, setDefultShow] = useState(false);\r\n\r\n\r\n let theadData: any = []\r\n let obj: any = {}\r\n\r\n function set(name, value) {\r\n var obj2 = obj; \r\n var nameList = name.split('.');\r\n var len = nameList.length;\r\n for(var i = 0; i {\r\n tree.push({\r\n Id : parentId+item,\r\n parentId : parentId ,\r\n Children : setTree(obj2[item] , parentId+item+\".\" ) ,\r\n Description : item\r\n })\r\n })\r\n\r\n }\r\n return tree\r\n}\r\n\r\n\r\nasync function getListAsync() {\r\n setLoading(false)\r\ntry {\r\n const response = await getDictionaryRolesList(selectedObj.Id)\r\n\r\n if(response.Data){\r\n setListResponse(response.Data)\r\n Object.keys(response.Data).forEach(item => {\r\n set( response.Data[item], item);\r\n });\r\n let tabletr = setTree(obj , \"\")\r\n if(tabletr.length >0){\r\n setData(tabletr)\r\n }\r\n }else{\r\n setData(null)\r\n }\r\n \r\n } catch (err: any) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n}\r\n\r\n\r\n\r\nasync function SyncRoleAsync() {\r\n setLoading(false)\r\ntry {\r\n const res = await RetrieveRolesList()\r\n\r\n getListAsync()\r\n } catch (err: any) {\r\n }\r\n setLoading(true)\r\n}\r\n\r\nconst delay = (duration) =>\r\nnew Promise(resolve => setTimeout(resolve, duration));\r\n\r\nconst Searchhandleer =async (str) => {\r\n setLoading(false)\r\n obj = {}\r\n \r\n setData(null)\r\n if (str == \"\") {\r\n setsearch(null)\r\n setDefultShow(false)\r\n }else{\r\n setDefultShow(true)\r\n setsearch(str)\r\n }\r\n \r\n if(str&& ListResponse && ListResponse != undefined){\r\n console.log(\"1111111111111111111111\" ,str)\r\n Object.keys(ListResponse).forEach(item => {\r\n if(str != \"\" ){\r\n let flag = true\r\n ListResponse[item].split('.').forEach(word=>{\r\n if(flag ){\r\n if(str.split(\" \").length > 1){\r\n str.split(\" \").forEach(serchWord=>{\r\n if(serchWord.trim().length >0&& trans(word).includes(serchWord)){\r\n console.log(\"serchWord\",str ,serchWord, trans(word) ,word )\r\n flag = false\r\n return ;\r\n }\r\n })\r\n }else{\r\n if(trans(word).includes(str)){\r\n flag = false\r\n return ;\r\n }\r\n }\r\n }\r\n })\r\n if(!flag){\r\n set( ListResponse[item], item);\r\n }\r\n }else{\r\n set( ListResponse[item], item);\r\n }\r\n }); \r\n console.log(\"222222222222222222222\" ,str)\r\n let tabletr = setTree(obj , \"\")\r\n if(tabletr.length >0){\r\n\r\n await delay(5)\r\n\r\n setData(JSON.parse(JSON.stringify(tabletr)))\r\n }\r\n \r\n }\r\n if(str==null){\r\n Object.keys(ListResponse).forEach(item => {\r\n set( ListResponse[item], item);\r\n });\r\n \r\n let tabletr = setTree(obj , \"\")\r\n if(tabletr.length >0){\r\n setData(tabletr)\r\n }\r\n }\r\n setLoading(true)\r\n\r\n}\r\n\r\n\r\n\r\nasync function addNewRoles() {\r\n \r\n let addList:any = []\r\n let backList:any = []\r\n Object.values(ListResponse).forEach((item , index )=> {\r\n if(selectedList.includes(item) ){\r\n addList.push(Object.keys(ListResponse)[index])\r\n backList.push({\r\n RoleId:Object.keys(ListResponse)[index] ,\r\n Name : item ,\r\n HasAccess : true\r\n })\r\n }\r\n \r\n \r\n });\r\n\r\n \r\n try {\r\n const response = await addPositionRole(selectedObj.Id, addList)\r\n addNewPositionRoles(backList)\r\n onHide(false)\r\n } catch (err: any) {\r\n \r\n }\r\n \r\n}\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n getListAsync()\r\n }, [relad]);\r\n\r\n\r\n if (data) {\r\n theadData = Object.keys(data[0])\r\n }\r\n\r\n\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {SyncRoleAsync()}}\r\n /> \r\n
\r\n
\r\n
\r\n
\r\n <>\r\n {\r\n loading ? (\r\n data ?\r\n \r\n : \r\n )\r\n : \r\n }\r\n \r\n
\r\n \r\n
\r\n
\r\n )\r\n}\r\n\r\n\r\n\r\n","\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { addPositionRole, delPositionRole, getPositionRole, RetrieveRolesList } from \"pages/SystemManagement/Settings/Users/api\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { PositionRoleForm } from \"./PositionRoleForm\";\r\n\r\ninterface propsOrganizationalStructure {\r\n position:any\r\n inTab:any\r\n}\r\nexport const PositionTree = ({position , inTab }:propsOrganizationalStructure) => {\r\n const [data, setData] = useState([])\r\n const [dataPo, setDataPo] = useState([])\r\n const [forceUpdate, setForceUpdate] = useState(false)\r\n const [loading, setLoading] = useState(false)\r\n const [selectedObj, setSelectedObj] = useState()\r\n const [selectedList, setSelectedList] = useState([])\r\n const [selectedIdList, setSelectedIdList] = useState([])\r\n const [selectedRole, setSelectedRole] = useState([])\r\n const [selectedListPo, setSelectedListPo] = useState([])\r\n const [selectedIdListPo, setSelectedIdListPo] = useState([])\r\n const [selectedRolePo, setSelectedRolePo] = useState([])\r\n const [idCallback, setIdCallback] = useState(\"2\")\r\n const [messageType, setMessageType] = useState(\"info\")\r\n const [showAddForm, setShowAddForm] = useState(false)\r\n const [disabled, setDisabled] = useState(true);\r\n const [stopEdit, setStopEdit] = useState(false);\r\n let lastEditedList:any = []\r\n\r\n // const [theadData , setTheadData] = useState()\r\n\r\n let theadData: any = [\"OrganizationRoles\" ,\"OrganizationRoles\",\"OrganizationRoles\",\"OrganizationRoles\"]\r\n let theadDataPo: any = [\"PositionRoles\" , \"PositionRoles\", \"PositionRoles\", \"PositionRoles\"]\r\n let obj: any = {}\r\n let objPo: any = {}\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\":\r\n alert(\"print \");\r\n break;\r\n case \"edit\":\r\n setDisabled(!disabled)\r\n break;\r\n case \"remove\":\r\n break;\r\n // case \"excel\":\r\n // alert(\"excel \");\r\n // break;\r\n case \"refresh\":\r\n setForceUpdate(!forceUpdate)\r\n break;\r\n case \"create\":\r\n setShowAddForm(!showAddForm) \r\n break;\r\n case \"syncrole\":\r\n RetrieveRolesListAsync()\r\n break;\r\n }\r\n };\r\n\r\n function setPo(name, value) {\r\n var obj2Po = objPo; \r\n var nameList = name.split('.');\r\n var len = nameList.length;\r\n for(var i = 0; i {\r\n tree.push({\r\n Id : parentId+item ,\r\n parentId : parentId ,\r\n Children : setTree(obj2[item] , parentId+item+\".\" ,title ) ,\r\n [title] : item\r\n })\r\n })\r\n }\r\n return tree\r\n}\r\n function setTreePo(obj2Po , parentId ,titlePo) {\r\n let list:any = Object.keys(obj2Po)\r\n let tree:any = []\r\n if(typeof obj2Po != \"string\"){\r\n\r\n list.forEach(item=>{\r\n tree.push({\r\n Id : parentId+item ,\r\n parentId : parentId ,\r\n Children : setTreePo(obj2Po[item] , parentId+item+\".\" ,titlePo ) ,\r\n [titlePo] : item\r\n })\r\n })\r\n\r\n }\r\n console.log(\"tree \",tree)\r\n return tree\r\n}\r\n\r\n\r\nasync function RetrieveRolesListAsync() {\r\n const lang = localStorage.getItem(\"lang\");\r\n\r\n document.body.classList.add(\"loading-indicator-\"+lang);\r\n\r\n try {\r\n const res = await RetrieveRolesList()\r\n } catch (error) {\r\n \r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang);\r\n\r\n}\r\n\r\nasync function addNewPositionRoles(list) {\r\n setForceUpdate(!forceUpdate)\r\n setStopEdit(true)\r\n// setLoading(false) ;\r\n// [...selectedRolePo,...list].forEach(item => {\r\n// setSelectedListPo(Object.assign(selectedListPo, {[item.Name ]: item?.HasAccess}))\r\n// setSelectedIdListPo(Object.assign(selectedIdListPo, {[item.RoleId ]: item?.Name}))\r\n// setPo( item.Name, item.RoleId);\r\n// });\r\n// let tabletrPo = setTreePo(objPo , \"\" ,\"PositionRoles\")\r\n// setDataPo(tabletrPo)\r\n// setLoading(true) ;\r\n}\r\n\r\n\r\nasync function editOrganizationRoles(list) {\r\n let addList:any = []\r\n let delList:any = []\r\n selectedRole.forEach(item=> {\r\n if( !list.includes(item.Name)){\r\n if(item?.HasAccess){\r\n delList.push(item.RoleId)\r\n }\r\n }else{\r\n if(!item?.HasAccess){\r\n addList.push(item.RoleId)\r\n }\r\n\r\n }\r\n });\r\n\r\n try {\r\n if(delList.length > 0){\r\n \r\n const delResponse = delPositionRole(position.Id ,delList)\r\n \r\n }\r\n if(addList.length > 0){\r\n const addResponse = addPositionRole(position.Id ,addList)\r\n }\r\n \r\n let newselectedRole = selectedRole\r\n newselectedRole.forEach(item=> {\r\n if( delList.includes(item.RoleId)){\r\n item.HasAccess = false\r\n }else if(addList.includes(item.RoleId)){\r\n \r\n item.HasAccess = true\r\n \r\n }\r\n });\r\n setSelectedRole(newselectedRole)\r\n \r\n } catch (err: any) {\r\n \r\n }\r\n \r\n}\r\nasync function editPositionRoles(list) {\r\n let addList:any = []\r\n let delList:any = []\r\n if(!stopEdit){\r\n selectedRolePo.forEach(item=> {\r\n if( !list.includes(item.Name)){\r\n if(item?.HasAccess){\r\n delList.push(item.RoleId)\r\n }\r\n }else{\r\n if(!item?.HasAccess){\r\n addList.push(item.RoleId)\r\n }\r\n \r\n }\r\n });\r\n \r\n try {\r\n if(delList.length > 0&&JSON.stringify(lastEditedList)!= JSON.stringify(delList)){\r\n lastEditedList = delList\r\n const delResponse = await delPositionRole(position.Id ,delList)\r\n }\r\n if(addList.length > 0&&lastEditedList!= addList){\r\n lastEditedList =addList\r\n \r\n const addResponse = addPositionRole(position.Id ,addList)\r\n }\r\n \r\n let newselectedRole = selectedRolePo\r\n newselectedRole.forEach(item=> {\r\n if( delList.includes(item.RoleId)){\r\n item.HasAccess = false\r\n }else if(addList.includes(item.RoleId)){\r\n \r\n item.HasAccess = true\r\n \r\n }\r\n });\r\n setSelectedRolePo(newselectedRole)\r\n \r\n } catch (err: any) {\r\n \r\n }\r\n\r\n }else{\r\n setStopEdit(false)\r\n }\r\n \r\n}\r\n\r\nasync function getTreeRoleAsync() {\r\n setLoading(false)\r\n try {\r\n const response2:any = await getPositionRole(position.Id)\r\n setSelectedRolePo(response2.PositionRoles)\r\n response2.PositionRoles.forEach((item:any )=> {\r\n setSelectedListPo(Object.assign(selectedListPo, {[item.Name ]: item?.HasAccess}))\r\n setSelectedIdListPo(Object.assign(selectedIdListPo, {[item.RoleId ]: item?.Name})) \r\n setPo( item.Name, item.RoleId);\r\n });\r\n setSelectedRole(response2.OrganizationRoles)\r\n response2.OrganizationRoles.forEach(item => {\r\n if(item && item.Name){\r\n setSelectedList(Object.assign(selectedList, {[item.Name ]: item?.HasAccess}))\r\n setSelectedIdList(Object.assign(selectedIdList, {[item.RoleId ]: item?.Name})) \r\n set( item.Name, item.RoleId );\r\n }\r\n });\r\n let tabletrPo = setTreePo(objPo , \"\" ,\"PositionRoles\")\r\n let tabletr = setTree(obj , \"\" ,\"OrganizationRoles\")\r\n if(tabletr.length>0){\r\n setData(tabletr)\r\n }\r\n if(tabletrPo.length>0){\r\n setDataPo(tabletrPo)\r\n }\r\n\r\n } catch (err: any) {\r\n \r\n }\r\n setLoading(true)\r\n}\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n if(inTab && inTab==position.Title){\r\n setSelectedRole([])\r\n setSelectedIdList([])\r\n setSelectedList([])\r\n setSelectedRolePo([])\r\n setSelectedIdListPo([])\r\n setSelectedListPo([])\r\n getTreeRoleAsync();\r\n }else if(inTab == null ||inTab == undefined ){\r\n setSelectedRole([])\r\n setSelectedIdList([])\r\n setSelectedList([])\r\n setSelectedRolePo([])\r\n setSelectedIdListPo([])\r\n setSelectedListPo([])\r\n getTreeRoleAsync();\r\n }\r\n \r\n}, [inTab,forceUpdate])\r\n\r\n if (data.length > 0) {\r\n theadData = Object.keys(data[0])\r\n }\r\n\r\n if (dataPo.length > 0) {\r\n theadDataPo = Object.keys(dataPo[0])\r\n }\r\n\r\n\r\n\r\n return (\r\n
\r\n {showAddForm ?{setShowAddForm(!showAddForm)}} show={showAddForm} modalProfileKey={\"Users\"} title={trans(\"Assignment\")+\" \"+trans(\"Role\") } >{setForceUpdate(!forceUpdate)} } onHide={setShowAddForm} /> : null}\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n <>\r\n {\r\n loading ? (\r\n <>\r\n {\r\n <>\r\n
\r\n \r\n
\r\n \r\n }\r\n {\r\n dataPo ?\r\n <>\r\n
\r\n \r\n
\r\n \r\n : \r\n }\r\n )\r\n : \r\n }\r\n \r\n
\r\n\r\n
\r\n
\r\n )\r\n}","\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { getUserPositions } from \"pages/SystemManagement/Settings/Users/api\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { getPageSize } from \"utils/helpers\";\r\nimport { PositionTree } from \"./PositionTree\";\r\n\r\n\r\nexport const TreeUserRole = ({ personId }) => {\r\n\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [content, setContent] = useState([]);\r\n const [curentTab, setCurentTab] = useState(\"\")\r\n const [defaultTab, setDefaultTab] = useState(\"\")\r\n const [response, setResponse] = useState()\r\n const [error, setError] = useState()\r\n\r\n \r\n\r\n async function getUserPositionsAsync() {\r\n setLoading(false)\r\n \r\n let sizePage = getPageSize(\"UserList\" )\r\n try {\r\n const res = await getUserPositions(personId)\r\n setResponse(res.Data)\r\n setDefaultTab(res.Data[0].Title)\r\n setCurentTab(res.Data[0].Title)\r\n let tabs = res.Data.map(item=>{\r\n return { title: item.Title, body: (), }\r\n })\r\n setContent(tabs)\r\n } catch (error:any) {\r\n setError(error.response.data.Message)\r\n \r\n }\r\n setLoading(true)\r\n }\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n }\r\n \r\n\r\n\r\n useEffect(() => {\r\n if(response){\r\n let tabs = response.map(item=>{\r\n return { title: item.Title, body: (), }\r\n })\r\n setContent(tabs)\r\n }\r\n }, [curentTab]);\r\n\r\n useEffect(() => {\r\n setError(null)\r\n getUserPositionsAsync();\r\n }, [personId]);\r\n\r\n\r\n return (\r\n <>\r\n {loading ?\r\n <>\r\n {error ?\r\n \r\n : \r\n
\r\n \r\n
\r\n\r\n }\r\n \r\n :\r\n }\r\n \r\n\r\n );\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { Person } from \"components/Person/Person\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { getPersonEmail, postPerson, postUsersGrouply } from \"pages/SystemManagement/Settings/Users/api\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { MessageType } from \"types/enum\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\nexport const UserForm = ({creatType, userId, hide, mode ,personId ,reload}) => {\r\n const [valid, setValid] = useState(true);\r\n const [email, setEmail] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n\r\n\r\n async function findEmail(e) {\r\n try {\r\n if(e){ \r\n const personEmail = await getPersonEmail(e.Id);\r\n setEmail(personEmail.data.Data)\r\n }\r\n } catch (error) {\r\n setEmail(null)\r\n }\r\n }\r\n const sendDataAsync = async (userData, personId ,UserName) => {\r\n try {\r\n await postPerson(personId,userData);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n hide();\r\n reload();\r\n } catch (error2) {\r\n }\r\n }\r\n const createGrouplyAsync = async (id) => {\r\n try {\r\n await postUsersGrouply(id)\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n hide();\r\n reload();\r\n \r\n } catch (error2) { \r\n }\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // hide()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n hide()\r\n });\r\n }else{\r\n hide()\r\n };\r\n\r\n\r\n }\r\n\r\n const formSubmit = (event) => {\r\n\r\n event.preventDefault()\r\n if(creatType==1){\r\n const userData = {\r\n UserName: event.target.UserName.value,\r\n Email: event.target.Email.value ? event.target.Email.value : event.target.UserName.value + \"@gmail.com\", \r\n }\r\n sendDataAsync(userData, event.target.PersonId.value , event.target.UserName.value );\r\n }else{\r\n createGrouplyAsync(event.target.GroupPositionDictionary.value)\r\n }\r\n }\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n \r\n\r\n useEffect(() => {\r\n if (mode != \"create\") {\r\n setUserChanges({});\r\n }\r\n }, [personId]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {(creatType==1 || mode !=\"create\") ?\r\n <>\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n value={personId && mode !=\"create\" ? personId : null}\r\n required={true}\r\n mode={mode}\r\n returnObj={true}\r\n setPerson={findEmail}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n setValid={setValid}\r\n // Change={setDataChange}\r\n textboxType=\"userName\"\r\n textboxName=\"UserName\"\r\n labelText=\"UserName\"\r\n defaultValue={\"\"}\r\n required={true}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultValue={email}\r\n mode={mode== \"view\" ? mode : (email ? \"view\" : \"create\")}\r\n setValid={setValid}\r\n required={true}\r\n // Change={setDataChange}\r\n textboxType=\"email\"\r\n textboxName=\"Email\"\r\n labelText=\"Email\"\r\n />\r\n
\r\n
\r\n \r\n :\r\n <>\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n value={ null}\r\n required={true}\r\n mode={mode}\r\n endPoint={ENDPOINTS.BaseInformation.groupPosition.dictionary}\r\n label=\"GroupPosition\"\r\n name={\"GroupPositionDictionary\"}\r\n />\r\n
\r\n
\r\n \r\n }\r\n
\r\n {mode != \"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\n"," import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\n import { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\n import { http } from \"utils/http\";\r\n\r\nexport const getListWarehouseItem = (async(pageNumber,pageSize,orderByString,searchString,filterString ,warehouseId) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseItem.browse,\r\n method: 'get',\r\n params:{\r\n PageNumber:pageNumber,\r\n PageSize:pageSize,\r\n OrderByString:orderByString,\r\n SearchString:searchString,\r\n FilterString:filterString,\r\n warehouseId:warehouseId,\r\n }\r\n}).then((res) =>{\r\n\r\n return res.data\r\n}).catch((err) =>{\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\nexport const getWarehouseItem = (async (Id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseItem.load,\r\n method: 'get',\r\n params: {Id : Id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const postWarehouseItemApi = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseItem.bulk,\r\n method: \"post\",\r\n data:data,\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\nexport const putWarehouseItemApi = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseItem.editList,\r\n method: \"put\",\r\n data:data,\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const getWarehouseItemDictionary = (async (id,provinceId,search) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseItem.load,\r\n method: 'get',\r\n params: {\r\n ProvinceId:provinceId,\r\n Id:id,\r\n searchString:search,\r\n }\r\n})\r\n .then((response) => (response.data))\r\n\r\n)\r\nexport const getWarehouseItemTree = (id: any,warehouseDetailId ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseItem.ItemsTree,\r\n method: \"get\",\r\n params: {\r\n ParentId: null ,\r\n warehouseId:id==\"allWarehouses\"? null: id ,\r\n warehouseDetailId:warehouseDetailId,\r\n\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\nexport const getWarehouseItems = (id: any ,warehouseDetailId ,pageNumber,pageSize,orderByString,searchString,filterString) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url:ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseItem.ItemsList,\r\n method: \"get\",\r\n params: {\r\n ParentId: null ,\r\n warehouseId: id,\r\n warehouseDetailId:warehouseDetailId,\r\n PageNumber:pageNumber,\r\n PageSize:pageSize,\r\n OrderByString:orderByString,\r\n SearchString:searchString,\r\n FilterString:filterString,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\nexport const checkHasItemGroup = (id: any) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseItemGroup.hasItemGroup,\r\n method: \"get\",\r\n params: {\r\n warehouseId:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err.response );\r\n});\r\n\r\nexport const deleteItemGroupTree = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseItem.browse,\r\n method: 'delete',\r\n data: data\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getEditablecolumns= () => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseItem.editable,\r\n method: \"get\",\r\n\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n export const getWarehouseItemDetail= (itemId,warehouseId,warehouseDetailId) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi.WarehouseItem.itemDetail,\r\n method: \"get\",\r\n params:{\r\n itemId,\r\n warehouseId,\r\n warehouseDetailId\r\n }\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n\r\n\r\n","import { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { SwitchBtn } from \"components/SwitchBtn/SwitchBtn\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { getPageSize, trans } from \"utils/helpers\";\r\nimport {\r\n getWarehouseItems,\r\n getWarehouseItemTree,\r\n getWarehouseItemDetail,\r\n} from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface Prop {\r\n itemCodeHandeler: (e, bool) => void;\r\n onHide: () => void;\r\n warehouseId?: any;\r\n fetchItem?: any;\r\n warehouseDetailId?: any;\r\n}\r\n\r\nexport const Items = ({\r\n itemCodeHandeler,\r\n warehouseId,\r\n fetchItem=false,\r\n warehouseDetailId,\r\n onHide,\r\n}: Prop) => {\r\n const [data, setData] = useState();\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [selectedObj, setSelectedObj] = useState();\r\n const [idCallback, setIdCallback] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [message, setMessage] = useState(\"NoDataForPreview\");\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pages, setPages] = useState(0);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [selectList, setSelectList] = useState([]);\r\n const [showMode, setShowMode] = useState(false);\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n\r\n const setselecetrow = (e) => {\r\n setSelectedObj(e);\r\n };\r\n const sendTreeCode = async (e, obj = selectedObj) => {\r\n e?.preventDefault();\r\n e?.stopPropagation();\r\n if (obj) {\r\n try {\r\n if(fetchItem){\r\n const res = await getWarehouseItemDetail(obj.Id,warehouseId,warehouseDetailId);\r\n itemCodeHandeler(res.Data, !showMode);\r\n }else itemCodeHandeler(obj, !showMode);\r\n } catch (error) {}\r\n } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\");\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning);\r\n }\r\n };\r\n\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n setSelectedObj(null);\r\n if (str === \"\") {\r\n setSearch(null);\r\n getItemTreeFormAsync(1,null);\r\n } else {\r\n setSearch(str);\r\n getItemTreeFormAsync(1,str);\r\n }\r\n };\r\n\r\n const handlechangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"ItemTreeForm2\", e.currentTarget.value);\r\n getItemTreeFormAsync(1);\r\n };\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) {\r\n } else setPageNum(+value);\r\n getItemTreeFormAsync(+value);\r\n } else {\r\n }\r\n };\r\n const handleNextPage = () => {\r\n if (pageNum < pages) {\r\n setPageNum(pageNum + 1);\r\n getItemTreeFormAsync(pageNum + 1);\r\n }\r\n };\r\n const handlePrevPage = () => {\r\n if (pageNum > 1) {\r\n setPageNum((pageNum) => {\r\n return +pageNum - 1;\r\n });\r\n getItemTreeFormAsync(pageNum - 1);\r\n }\r\n };\r\n async function getItemTreeFormAsync(PageNum = pageNum , string=search) {\r\n setLoading(false);\r\n let pageSizeChangedByUser = getPageSize(\"ItemTreeForm2\");\r\n setPageSize(pageSizeChangedByUser);\r\n try {\r\n if (showMode) {\r\n const respons = await getWarehouseItemTree(\r\n warehouseId == \"allWarehouses\" ? null : warehouseId,\r\n warehouseDetailId\r\n );\r\n setData(respons.Data);\r\n } else {\r\n const respons = await getWarehouseItems(\r\n warehouseId == \"allWarehouses\" ? null : warehouseId,\r\n warehouseDetailId,\r\n PageNum,\r\n pageSizeChangedByUser,\r\n orderBy.length == 0 ? null : orderBy.join(\",\"),\r\n string,\r\n filterlist\r\n );\r\n setPages(\r\n respons.Data.TotalRecords > pageSizeChangedByUser\r\n ? Math.ceil(respons.Data.TotalRecords / pageSizeChangedByUser)\r\n : 1\r\n );\r\n setData(respons.Data);\r\n }\r\n } catch (err: any) {\r\n setMessage(err?.data?.Message);\r\n }\r\n setLoading(true);\r\n }\r\n\r\n useEffect(() => {\r\n setData(null);\r\n getItemTreeFormAsync();\r\n }, [forceUpdate, showMode, filterlist, orderBy]);\r\n\r\n useEffect(() => {\r\n if (idCallback) {\r\n setIdCallback(null);\r\n }\r\n }, [idCallback]);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n {}}\r\n id={selectedObj}\r\n handleSearch={searchHandler}\r\n search={true}\r\n warehouse={false}\r\n emptyList={data?.Data?.length == 0}\r\n />\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n {\r\n sendTreeCode(e);\r\n }}\r\n />\r\n {\r\n onHide();\r\n }}\r\n />\r\n
\r\n {loading ? (\r\n data ? (\r\n <>\r\n {!showMode ? (\r\n
\r\n {data?.Data ? (\r\n {\r\n sendTreeCode(null, e);\r\n }}\r\n selectedRowObjectCallback={setselecetrow}\r\n totalRecords={data.TotalRecords}\r\n pageNum={pageNum}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n handlefiltering={(str) => {\r\n setFilterlist(str);\r\n }}\r\n filterStr={filterlist}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handlechangePageSize}\r\n first={() => {\r\n getItemTreeFormAsync(pages);\r\n setPageNum(pages);\r\n }}\r\n end={() => {\r\n getItemTreeFormAsync(1);\r\n setPageNum(1);\r\n }}\r\n handleGoPage={handleGoPage}\r\n />\r\n ) : (\r\n <>\r\n )}\r\n
\r\n ) : (\r\n
\r\n {data && data?.length > 0 && (\r\n {\r\n sendTreeCode(null, e);\r\n }}\r\n getChildrenUrl={\r\n ENDPOINTSINVENTORYANDSALES.Inventory.BaseInformationApi\r\n .WarehouseItem.ItemsTree\r\n }\r\n theadData={[\r\n \"Id\",\r\n \"ParentId\",\r\n \"Children\",\r\n \"Description\",\r\n \"Code\",\r\n ]}\r\n startIndex={2}\r\n defultparams={{\r\n warehouseDetailId:warehouseDetailId,\r\n warehouseId: warehouseId\r\n ? warehouseId == \"allWarehouses\"\r\n ? null\r\n : warehouseId\r\n : JSON.parse(localStorage.getItem(\"Inventory\") + \"\")\r\n ?.Id,\r\n }}\r\n Titleparams={\"Description\"}\r\n Childrenparams={\"Children\"}\r\n defultShow={false}\r\n Data={data}\r\n parentName={\"ItemTreeForm\"}\r\n />\r\n )}\r\n
\r\n )}\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from 'components/Button/Button';\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Items } from \"./ItemTreeForm\";\r\nimport { postWarehouseItemApi } from \"./api\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { WarehouseDictionaryWithAccess } from \"pages/InventoryAndSales/Sales/SalesInvoice/components/WarehouseDictionary/WarehouseDictionaryWithAccess\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\n\r\ninterface Prop {\r\n resetForm?: boolean,\r\n onHide: () => void,\r\n selectedObj?: any,\r\n mode:string,\r\n reload:()=>void,\r\n}\r\n\r\nexport const WarehouseItemForm = ({ reload,onHide, mode ,selectedObj}: Prop) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading,setLoading] = useState(true)\r\n const [all,setAll] = useState(false)\r\n const [showTree,setShowTree] = useState()\r\n const [treeType,setTreeType] = useState()\r\n const [itemCodeData,setItemCodeData] = useState({To:null,From:null})\r\n const [inventory, setInventory] = useState< any>(null);\r\n const [showAmount,setShowAmount]=useState(false)\r\n\r\n const itemCodeHandeler = (obj) => {\r\n console.log(\"objobjobj\" ,obj) \r\n setLoading(false)\r\n setItemCodeData({...itemCodeData , [treeType]:obj.Code})\r\n setShowTree(false)\r\n setLoading(true)\r\n\r\n };\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n async function SignCheck(e ,event) { \r\n try{\r\n setAll(e)\r\n }catch(err:any){\r\n \r\n }\r\n }\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n\r\n\r\n const submit = async(event) => {\r\n event.preventDefault();\r\n let data ={\r\n To:itemCodeData.To,\r\n From:itemCodeData.From,\r\n WarehouseId: inventory.Id ,\r\n OrderQty :event?.target?.OrderQty?.value?\r\n event.target.OrderQty?.value==\"\" ?\r\n null :\r\n event.target. OrderQty.value:null ,\r\n MinQty : event.target.MinQty.value==\"\" ?null :event.target.MinQty.value ,\r\n MaxQty : event.target.MaxQty.value==\"\" ?null :event.target.MaxQty.value ,\r\n OrderPoint :event?.target?.OrderPoint?.value? event.target.OrderPoint?.value==\"\" ?null :event.target.OrderPoint?.value:null ,\r\n HasOrderPoint : event.target.HasOrderPoint.checked,\r\n CabinetCode : event.target.CabinetCode.value ==\"\"? null : event.target.CabinetCode.value,\r\n WarehouseDetailId:inventory.WarehouseDetailId??null\r\n }\r\n try {\r\n await postWarehouseItemApi(data)\r\n setUserChanges({});\r\n reload()\r\n if(inventory?.Id!=JSON.parse(localStorage.getItem(\"Inventory\")+\"\")?.Id){\r\n localStorage.setItem(\"Inventory\" ,JSON.stringify({Id:inventory?.Id , Name:inventory?.Name.Description}) )\r\n }\r\n } catch (error) {\r\n \r\n }\r\n \r\n }\r\n\r\n function addOption(e) {\r\n setTreeType(e)\r\n setShowTree(true)\r\n\r\n }\r\n\r\n useEffect(()=>{\r\n if(inventory==null){\r\n setInventory({Id:JSON.parse(localStorage.getItem(\"Inventory\")+\"\")?.Id})\r\n }\r\n },[])\r\n\r\n useEffect(()=>{\r\n if(resetForm){\r\n setUserChanges({})\r\n }\r\n },[resetForm])\r\n\r\n\r\n return (\r\n <> \r\n {showTree&& \r\n setShowTree(false)} show={showTree}>\r\n {setShowTree(false)}} itemCodeHandeler={itemCodeHandeler} />\r\n \r\n \r\n }\r\n\r\n\r\n {loading ? \r\n <> \r\n
\r\n \r\n
\r\n
\r\n
\r\n setInventory(obj)} \r\n mode={\"create\"}\r\n required={true}/>\r\n
\r\n {(inventory?.Name?.WarehouseDetailsCount > 0) && (\r\n
\r\n {\r\n setInventory((prev)=>{return{\r\n ...prev,\r\n WarehouseDetailId: e,\r\n WarehouseDetail: obj?.Name,\r\n }});\r\n }}\r\n baseUrl={INVENTORYANDSALES_URL}\r\n endPoint={\r\n ENDPOINTSINVENTORYANDSALES.Inventory\r\n .BaseInformationApi.WarehouseDetail.dictionary\r\n }\r\n value={mode!='create'?selectedObj?.WarehouseId:null}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n )}\r\n
\r\n \r\n
\r\n \r\n
\r\n {!all&&\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} onChange={(e)=>{setItemCodeData({...itemCodeData, From:e.target.value})}} textboxName={\"from\"} textboxType=\"text\" resetForm={resetForm} labelText={\"from\"} mode={mode} defaultValue={ itemCodeData.From} />\r\n
\r\n } btnType=\"submit\"onClick={(e)=>addOption(\"From\")} />\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} onChange={(e)=>{setItemCodeData({...itemCodeData, To:e.target.value})}} textboxName={\"To\"} textboxType=\"text\" resetForm={resetForm} labelText={\"To\"} mode={mode} defaultValue={ itemCodeData.To} />\r\n
\r\n } btnType=\"submit\" onClick={(e)=>addOption(\"To\")} />\r\n
\r\n
\r\n
\r\n \r\n }\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n setShowAmount(!showAmount)\r\n \r\n }\r\n /> \r\n
\r\n {showAmount &&<>
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n }\r\n \r\n
\r\n
\r\n
\r\n { mode !=\"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n } \r\n
\r\n \r\n :\r\n \r\n } \r\n \r\n )\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getListBusinessActivityType = async (\r\n searchString,\r\n orderByString,\r\n pageNumber,\r\n pageSize\r\n) =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .BusinessActivityType.browse,\r\n method: \"get\",\r\n params: {\r\n OrderByString: orderByString,\r\n SearchString: searchString,\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getBusinessActivityType = async (Id) =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .BusinessActivityType.load,\r\n method: \"get\",\r\n params: { Id: Id },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postBusinessActivityTypeApi = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .BusinessActivityType.browse,\r\n method: \"post\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const putBusinessActivityTypeApi = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .BusinessActivityType.browse,\r\n method: \"put\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const deleteListBusinessActivityType = (id) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .BusinessActivityType.browse,\r\n method: \"delete\",\r\n params: {\r\n id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { Button } from 'components/Button/Button';\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { getBusinessActivityType, postBusinessActivityTypeApi, putBusinessActivityTypeApi } from \"./api\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\ninterface Prop {\r\n resetForm?: boolean,\r\n onHide: () => void,\r\n selectedObj?: any,\r\n mode:string,\r\n reload:()=>void,\r\n}\r\ninterface Form{\r\n Name:string,\r\n Code:string,\r\n}\r\nexport const BusinessActivityTypeForm = ({ reload,onHide, mode ,selectedObj}: Prop) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading,setLoading] = useState()\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n async function getBusinessActivityTypeId() {\r\n setLoading(false)\r\n try {\r\n const data = await getBusinessActivityType(selectedObj?.Id);\r\n setResponse(data.Data);\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n }\r\n\r\n const submit = async(e) => {\r\n e.preventDefault();\r\n try {\r\n if (response == null) {\r\n postBusinessActivityTypeApi({\r\n IsDefault: e.target.checkbox.checked,\r\n Title: e.target.BusinessActivityType.value,\r\n TitleEN: e.target.TitleEN.value,\r\n SystemKey: e.target.systemKey.value, \r\n }).then(() => {sessionStorage.setItem(\"changingforms\" , \"false\");setUserChanges({});reload() });\r\n } else {\r\n putBusinessActivityTypeApi({ \r\n Title: e.target.BusinessActivityType.value,\r\n TitleEN: e.target.TitleEN.value,\r\n ActivityStatus: +e.target.BusinessActivityTypeSelect.value , \r\n systemKey: e.target.systemKey.value,\r\n IsDefault: e.target.checkbox.checked,\r\n Id: selectedObj?.Id, \r\n }).then(() => { sessionStorage.setItem(\"changingforms\" , \"false\"); setResponse(null);setUserChanges({});reload() })\r\n }\r\n \r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if(selectedObj && mode != \"create\"){\r\n getBusinessActivityTypeId()\r\n }else{\r\n setResponse(null)\r\n setLoading(true)\r\n }\r\n }, [selectedObj ,mode])\r\n\r\n \r\n useEffect(()=>{\r\n if(resetForm){\r\n setUserChanges({})\r\n setResponse(null)\r\n }\r\n },[resetForm])\r\n\r\n\r\n return (\r\n <> \r\n
\r\n {loading ? \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} required={true} textboxName={\"BusinessActivityType\"} textboxType=\"text\" resetForm={resetForm} labelText={\"Description\"} mode={mode} defaultValue={response?.Title} />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} textboxName={\"TitleEN\"} textboxType=\"text\" resetForm={resetForm} labelText={\"TitleEN\"} mode={mode} defaultValue={response?.TitleEN} />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} required={true} textboxName={\"systemKey\"} textboxType=\"systemKey\" resetForm={resetForm} labelText={\"systemKey\"} mode={mode} defaultValue={response?.SystemKey} />\r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n name=\"BusinessActivityTypeSelect\"\r\n mode={mode}\r\n label=\"Status\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={response?.ActivityStatus}\r\n />\r\n
\r\n }\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={response?.IsDefault}\r\n defaultValue={response?.IsDefault}\r\n labelText={\"IsDefault\"}\r\n inputName={\"checkbox\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
\r\n {mode !=\"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n } \r\n
\r\n :\r\n \r\n } \r\n
\r\n \r\n )\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getListCustomerClassification = (async(searchString,orderByString,pageNumber,pageSize) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.CustomerClassification.browse,\r\n method: 'get',\r\n params:{\r\n OrderByString:orderByString,\r\n SearchString:searchString,\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n }\r\n}).then((res) =>{\r\n return res.data\r\n}).catch((err) =>{\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\nexport const getCustomerClassification = (async (Id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.CustomerClassification.load,\r\n method: 'get',\r\n params: {Id : Id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const postCustomerClassificationApi = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.CustomerClassification.browse,\r\n method: \"post\",\r\n data:data,\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\nexport const putCustomerClassificationApi = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.CustomerClassification.browse,\r\n method: \"put\",\r\n data:data,\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const getCustomerClassificationDictionary = (async () => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url:ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.CustomerClassification.dictionary,\r\n method: 'get',\r\n\r\n})\r\n .then((response) => (response.data))\r\n\r\n)\r\n\r\n\r\nexport const deleteListCustomerClassification = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.CustomerClassification.browse,\r\n method: 'delete',\r\n params:{\r\n id:id\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});","import { Textbox } from \"components/Textbox/Textbox\"\r\nimport { Button } from 'components/Button/Button';\r\nimport { useEffect, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { getCustomerClassification , postCustomerClassificationApi, putCustomerClassificationApi} from \"./api\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\ninterface Prop {\r\n resetForm?: boolean,\r\n onHide: () => void,\r\n selectedObj?: any,\r\n mode:string,\r\n reload:()=>void,\r\n setShowForm?:any\r\n}\r\ninterface Form{\r\n Name:string,\r\n Code:string,\r\n}\r\nexport const CustomerClassificationForm = ({ reload,onHide, mode ,selectedObj,setShowForm}: Prop) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading,setLoading] = useState()\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n async function getCustomerClassificationId() {\r\n setLoading(false)\r\n try {\r\n const data = await getCustomerClassification(selectedObj?.Id);\r\n setResponse(data.Data);\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n }\r\n\r\n const submit = (e) => {\r\n e.preventDefault();\r\n if (response == null) {\r\n postCustomerClassificationApi({\r\n IsDefault: e.target.checkbox.checked,\r\n Title: e.target.CustomerClassification.value,\r\n SystemKey: e.target.systemKey.value, \r\n }).then(() => {sessionStorage.setItem(\"changingforms\" , \"false\");setUserChanges({});reload() });\r\n } else {\r\n putCustomerClassificationApi({ \r\n Title: e.target.CustomerClassification.value,\r\n ActivityStatus: +e.target.CustomerClassificationSelect.value , \r\n systemKey: e.target.systemKey.value,\r\n IsDefault: e.target.checkbox.checked,\r\n Id: selectedObj?.Id, \r\n }).then(() => { sessionStorage.setItem(\"changingforms\" , \"false\"); setResponse(null);setUserChanges({});reload() })\r\n }\r\n setShowForm(false)\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if(selectedObj && mode != \"create\"){\r\n getCustomerClassificationId()\r\n }else{\r\n setResponse(null)\r\n setLoading(true)\r\n }\r\n }, [selectedObj ,mode])\r\n\r\n \r\n useEffect(()=>{\r\n if(resetForm){\r\n setUserChanges({})\r\n setResponse(null)\r\n }\r\n },[resetForm])\r\n\r\n return (\r\n <> \r\n
\r\n {loading ? \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} required={true} textboxName={\"CustomerClassification\"} textboxType=\"text\" resetForm={resetForm} labelText={\"Description\"} mode={mode} defaultValue={response?.Title} />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}} required={true} textboxName={\"systemKey\"} textboxType=\"systemKey\" resetForm={resetForm} labelText={\"systemKey\"} mode={mode} defaultValue={response?.SystemKey} />\r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n name=\"CustomerClassificationSelect\"\r\n mode={mode}\r\n label=\"Status\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={response?.ActivityStatus}\r\n />\r\n
\r\n }\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={response?.IsDefault}\r\n defaultValue={response?.IsDefault}\r\n labelText={\"IsDefault\"}\r\n inputName={\"checkbox\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
\r\n {mode !=\"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n } \r\n
\r\n :\r\n \r\n } \r\n
\r\n \r\n )\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getListSalesOrderStatus = (async(searchString,orderByString,pageNumber,pageSize) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.SalesOrderStatus.browse,\r\n method: 'get',\r\n params:{\r\n OrderByString:orderByString,\r\n SearchString:searchString,\r\n PageNumber: pageNumber,\r\n PageSize: pageSize\r\n }\r\n}).then((res) =>{\r\n return res.data\r\n}).catch((err) =>{\r\n return Promise.reject(err);\r\n})\r\n\r\n)\r\n\r\nexport const getSalesOrderStatus = (async (Id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.SalesOrderStatus.load,\r\n method: 'get',\r\n params: {Id : Id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const postSalesOrderStatusApi = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.SalesOrderStatus.browse,\r\n method: \"post\",\r\n data:data,\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\nexport const putSalesOrderStatusApi = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.SalesOrderStatus.browse,\r\n method: \"put\",\r\n data:data,\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const getSalesOrderStatusDictionary = (async () => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url:ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.SalesOrderStatus.dictionary,\r\n method: 'get',\r\n\r\n})\r\n .then((response) => (response.data))\r\n\r\n)\r\n\r\n\r\nexport const deleteListSalesOrderStatus = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url : ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting.SalesOrderStatus.browse,\r\n method: 'delete',\r\n params:{\r\n id:id\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport {\r\n getSalesOrderStatus,\r\n postSalesOrderStatusApi,\r\n putSalesOrderStatusApi,\r\n} from \"./api\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\ninterface Prop {\r\n resetForm?: boolean;\r\n onHide: () => void;\r\n selectedObj?: any;\r\n mode: string;\r\n reload: () => void;\r\n}\r\ninterface Form {\r\n Name: string;\r\n Code: string;\r\n}\r\nexport const SalesOrderStatusForm = ({\r\n reload,\r\n onHide,\r\n mode,\r\n selectedObj,\r\n}: Prop) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading, setLoading] = useState();\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n\r\n useEffect(() => {\r\n if (Object.values(userChanges).filter((item) => item != null).length > 0) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n } else {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n\r\n async function getSalesOrderStatusId() {\r\n setLoading(false);\r\n try {\r\n const data = await getSalesOrderStatus(selectedObj?.Id);\r\n setResponse(data.Data);\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n\r\n const submit = (e) => {\r\n e.preventDefault();\r\n if (response == null) {\r\n postSalesOrderStatusApi({\r\n IsDefault: e.target.SalesOrderStatusCheckbox.checked,\r\n Title: e.target.SalesOrderStatusTitle.value,\r\n TitleEN: e.target.SalesOrderStatusTitleEN.value,\r\n SystemKey: e.target.SalesOrderStatusSystemKey.value,\r\n }).then(() => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n reload();\r\n });\r\n } else {\r\n putSalesOrderStatusApi({\r\n IsDefault: e.target.SalesOrderStatusCheckbox.checked,\r\n Title: e.target.SalesOrderStatusTitle.value,\r\n TitleEN: e.target.SalesOrderStatusTitleEN.value,\r\n SystemKey: e.target.SalesOrderStatusSystemKey.value,\r\n ActivityStatus: +e.target.SalesOrderStatusSelect.value,\r\n Id: selectedObj?.Id,\r\n }).then(() => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setResponse(null);\r\n setUserChanges({});\r\n reload();\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getSalesOrderStatusId();\r\n } else {\r\n setResponse(null);\r\n setLoading(true);\r\n }\r\n }, [selectedObj, mode]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setUserChanges({});\r\n setResponse(null);\r\n }\r\n }, [resetForm]);\r\n\r\n return (\r\n <>\r\n
\r\n {loading ? (\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"SalesOrderStatusTitle\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"Title\"}\r\n mode={mode}\r\n defaultValue={response?.Title}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"SalesOrderStatusTitleEN\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"TitleEN\"}\r\n mode={mode}\r\n defaultValue={response?.Title}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"SalesOrderStatusSystemKey\"}\r\n textboxType=\"systemKey\"\r\n resetForm={resetForm}\r\n labelText={\"systemKey\"}\r\n mode={mode}\r\n defaultValue={response?.SystemKey}\r\n />\r\n
\r\n {mode != \"create\" && (\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"SalesOrderStatusSelect\"\r\n mode={mode}\r\n label=\"Status\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={response?.ActivityStatus}\r\n />\r\n
\r\n )}\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={response?.IsDefault}\r\n defaultValue={response?.IsDefault}\r\n labelText={\"IsDefault\"}\r\n inputName={\"SalesOrderStatusCheckbox\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
\r\n {mode != \"view\" ? (\r\n
\r\n
\r\n ) : (\r\n
\r\n {\r\n onHide();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n );\r\n};\r\n","import { NOTIFYING_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSNOTIFYING } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getMessages = (async (pageNum, pageSize ,searchString ,orderBy,filterlist) => await http({\r\n baseURL:NOTIFYING_URL,\r\n url: ENDPOINTSNOTIFYING.messageSettingsApis.messageSetting.browse,\r\n method: 'get',\r\n params:{\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString:orderBy,\r\n SearchString : searchString ,\r\n FilterString:filterlist,\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const getMessage = (async (id) => await http({\r\n baseURL:NOTIFYING_URL,\r\n url: ENDPOINTSNOTIFYING.messageSettingsApis.messageSetting.load,\r\n method: 'get',\r\n params: {Id : id},\r\n headers: {\"Accept-Language\": \"en\"},\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const deleteMessage = (id) => http({\r\n baseURL:NOTIFYING_URL,\r\n url: ENDPOINTSNOTIFYING.messageSettingsApis.messageSetting.browse,\r\n method: 'delete',\r\n params:{\r\n id:id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const sendMessagesApi = (data , method) => http({\r\n baseURL:NOTIFYING_URL,\r\n url: ENDPOINTSNOTIFYING.messageSettingsApis.messageSetting.browse,\r\n method: method,\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\n","import { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getMessage, sendMessagesApi } from \"./api\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\n\r\ninterface MessageFormPropsType {\r\n selectedObj;\r\n showForm: (e:boolean) => void;\r\n mode;\r\n relod: () => void,\r\n\r\n}\r\nexport const MessageForm = ({ \r\n selectedObj, \r\n showForm,\r\n mode,\r\n relod\r\n\r\n}: MessageFormPropsType) => {\r\n \r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [physicalQuantityId, setPhysicalQuantityId] = useState();\r\n const [fromDate, setFromDate] = useState(null);\r\n const [untilDate, setUntilDate] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [flag,setFlag] = useState(false);\r\n\r\n async function sendNodeAsync(data ,method) {\r\n try{\r\n const res = await sendMessagesApi(data , method);\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n relod()\r\n showForm(false)\r\n }catch(err:any){\r\n\r\n }\r\n }\r\n \r\n async function getMessageAsync() {\r\n setLoading(false)\r\n try{\r\n if(selectedObj.Id){\r\n const res = await getMessage(selectedObj.Id);\r\n /* setUntilDate(res.Data.ValidityUntilDate)\r\n setFromDate(res.Data.ValidityFromDate) */\r\n setResponse(res.Data) \r\n }else{\r\n setResponse(null) \r\n } \r\n }catch(err:any){\r\n \r\n }\r\n setLoading(true)\r\n }\r\n\r\n const validationDates = () =>{\r\n if(fromDate && untilDate && fromDate?.toString().slice(0,10) > untilDate?.toString().slice(0,10)){\r\n setFlag(true)\r\n }else{\r\n setFlag(false)\r\n }\r\n }\r\n\r\n\r\n\r\n \r\n const handlePersonContactFormSubmit = (Message) => {\r\n Message.preventDefault();\r\n if(flag){\r\n // Toast(trans(\"InvalidEndDate\"),\"error\")\r\n Toast(trans(\"InvalidEndDate\"),MessageType.error)\r\n\r\n }else{\r\n if(mode==\"edit\"){\r\n let data={\r\n \"Id\": selectedObj.Id, \r\n \"Name\": Message.target.Name.value,\r\n \"SystemKey\": Message.target.SystemKey.value,\r\n \"ServerAddress\": Message.target.ServerAddress.value,\r\n \"SenderAccounts\": Message.target.SenderAccounts.value,\r\n \"Username\": Message.target.Username.value,\r\n \"Password\": Message.target.Password.value,\r\n \"ApiKey\": Message.target.ApiKey.value,\r\n \"Protocol\": Message.target.Protocol.value,\r\n \"Description\": Message.target.Description.value,\r\n \"IsDefault\": Message.target.checkbox.checked,\r\n \"MessageSendMethod\": +Message.target.MessageSendMethod.value,\r\n }\r\n sendNodeAsync(data,\"put\")\r\n\r\n }else{\r\n let data={ \r\n\r\n \r\n \"Name\": Message.target.Name.value,\r\n \"SystemKey\": Message.target.SystemKey.value,\r\n \"ServerAddress\": Message.target.ServerAddress.value,\r\n \"SenderAccounts\": Message.target.SenderAccounts.value,\r\n \"Username\": Message.target.Username.value,\r\n \"Password\": Message.target.Password.value,\r\n \"ApiKey\": Message.target.ApiKey.value,\r\n \"Protocol\": Message.target.Protocol.value,\r\n \"Description\": Message.target.Description.value,\r\n \"IsDefault\": Message.target.checkbox.checked,\r\n\r\n \"MessageSendMethod\": +Message.target.MessageSendMethod.value,\r\n \r\n }\r\n sendNodeAsync(data,\"post\")\r\n }\r\n }\r\n }\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(false)\r\n });\r\n }else{\r\n showForm(false) \r\n }\r\n }\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n \r\n useEffect(() => {\r\n if(selectedObj && mode != \"create\"){\r\n getMessageAsync()\r\n }else{ \r\n setLoading(true)\r\n }\r\n \r\n }, [selectedObj]);\r\n\r\n useEffect(()=>{\r\n validationDates()\r\n },[untilDate,fromDate])\r\n\r\n return (\r\n
\r\n
\r\n {loading ?\r\n
\r\n
\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"Name\"\r\n labelText=\"Name\"\r\n required={true}\r\n maxLength={900}\r\n defaultValue={response?.Name}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"text\"\r\n textboxName=\"SystemKey\"\r\n labelText=\"SystemKey\"\r\n defaultValue={response?.SystemKey}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"text\"\r\n textboxName=\"ServerAddress\"\r\n labelText=\"ServerAddress\"\r\n defaultValue={response?.ServerAddress}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"text\"\r\n textboxName=\"SenderAccounts\"\r\n labelText=\"SenderAccounts\"\r\n defaultValue={response?.SenderAccounts}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"text\"\r\n textboxName=\"Username\"\r\n labelText=\"Username\"\r\n defaultValue={response?.Username || ''}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"password\"\r\n textboxName=\"Password\"\r\n labelText=\"Password\"\r\n defaultValue={response?.Password|| ''}\r\n value={response?.Password|| ''}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"ApiKey\"\r\n labelText=\"ApiKey\"\r\n defaultValue={response?.ApiKey}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n textboxName=\"Protocol\"\r\n labelText=\"Protocol\"\r\n defaultValue={response?.Protocol}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n\r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n name=\"MessageSendMethod\"\r\n label=\"MessageSendMethod\"\r\n enumTypeSelect=\"MessageSendMethod\"\r\n value={response?.MessageSendMethod}\r\n mode={mode }\r\n />\r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n defaultValue={response?.Description}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n \r\n \r\n
\r\n {mode != \"create\" && \r\n
\r\n {setUserChanges({...userChanges , ...e})}} \r\n name=\"ActivityStatus\"\r\n label=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={response?.ActivityStatus}\r\n mode={mode }\r\n />\r\n
\r\n }\r\n
\r\n\r\n\r\n { mode !=\"view\" ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n } \r\n
\r\n
\r\n :\r\n \r\n }\r\n
\r\n
\r\n );\r\n}","import { NOTIFYING_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSNOTIFYING } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getMessagePatterns = (async (pageNum, messageSettingId,pageSize ,searchString ,orderBy,filterlist) => await http({\r\n baseURL:NOTIFYING_URL,\r\n url: ENDPOINTSNOTIFYING.MessagePatternsApis.MessagePattern.browse,\r\n method: 'get',\r\n params:{\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString:orderBy,\r\n SearchString : searchString ,\r\n FilterString:filterlist,\r\n messageSettingId:messageSettingId\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const getMessagePattern = (async (id) => await http({\r\n baseURL:NOTIFYING_URL,\r\n url: ENDPOINTSNOTIFYING.MessagePatternsApis.MessagePattern.load,\r\n method: 'get',\r\n params: {Id : id},\r\n headers: {\"Accept-Language\": \"en\"},\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const deleteMessagePattern = (id) => http({\r\n baseURL:NOTIFYING_URL,\r\n url: ENDPOINTSNOTIFYING.MessagePatternsApis.MessagePattern.browse,\r\n method: 'delete',\r\n params:{\r\n id:id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const sendMessagePatternsApi = (data , method) => http({\r\n baseURL:NOTIFYING_URL,\r\n url: ENDPOINTSNOTIFYING.MessagePatternsApis.MessagePattern.browse,\r\n method: method,\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n","import { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getMessagePattern, sendMessagePatternsApi } from \"./api\";\r\nimport { ENDPOINTS, ENDPOINTSNOTIFYING } from \"utils/endpoints\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { NOTIFYING_URL } from \"utils/constants\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface MessagePatternFormPropsType {\r\n selectedObj;\r\n showForm: (e: boolean) => void;\r\n mode;\r\n relod: () => void;\r\n}\r\nexport const MessagePatternForm = ({\r\n selectedObj,\r\n showForm,\r\n mode,\r\n relod,\r\n}: MessagePatternFormPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [physicalQuantityId, setPhysicalQuantityId] = useState();\r\n const [fromDate, setFromDate] = useState(null);\r\n const [untilDate, setUntilDate] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [flag, setFlag] = useState(false);\r\n\r\n async function sendNodeAsync(data, method) {\r\n try {\r\n const res = await sendMessagePatternsApi(data, method);\r\n\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n relod();\r\n showForm(false);\r\n } catch (err: any) {}\r\n }\r\n\r\n async function getMessagePatternAsync() {\r\n setLoading(false);\r\n try {\r\n if (selectedObj.Id) {\r\n const res = await getMessagePattern(selectedObj.Id);\r\n /* setUntilDate(res.Data.ValidityUntilDate)\r\n setFromDate(res.Data.ValidityFromDate) */\r\n setResponse(res.Data);\r\n } else {\r\n setResponse(null);\r\n }\r\n } catch (err: any) {}\r\n setLoading(true);\r\n }\r\n\r\n const validationDates = () => {\r\n if (\r\n fromDate &&\r\n untilDate &&\r\n fromDate?.toString().slice(0, 10) > untilDate?.toString().slice(0, 10)\r\n ) {\r\n setFlag(true);\r\n } else {\r\n setFlag(false);\r\n }\r\n };\r\n\r\n\r\n\r\n const handlePersonContactFormSubmit = (MessagePattern) => {\r\n MessagePattern.preventDefault();\r\n if (flag) {\r\n Toast(trans(\"InvalidEndDate\"), MessageType.error);\r\n // Toast(trans(\"InvalidEndDate\"), \"error\");\r\n\r\n } else {\r\n if (mode == \"edit\") {\r\n let data = {\r\n Id: selectedObj.Id,\r\n MessageSettingId: selectedObj.MessageSettingId,\r\n PatternCode: MessagePattern.target.PatternCode.value,\r\n PatternSubject: MessagePattern.target.PatternSubject.value,\r\n PatternText: MessagePattern.target.PatternText.value,\r\n PatternParameters: MessagePattern.target.PatternParameters.value,\r\n PatternSeparators: MessagePattern.target.PatternSeparators.value,\r\n };\r\n sendNodeAsync({...data,Id:selectedObj.Id,ActivityStatus:+MessagePattern.target.ActivityStatus?.value}, \"put\");\r\n } else {\r\n let data = {\r\n MessageSettingId: selectedObj.MessageSettingId,\r\n PatternCode: MessagePattern.target.PatternCode.value,\r\n PatternSubject: MessagePattern.target.PatternSubject.value,\r\n PatternText: MessagePattern.target.PatternText.value,\r\n PatternParameters: MessagePattern.target.PatternParameters.value,\r\n PatternSeparators: MessagePattern.target.PatternSeparators.value,\r\n };\r\n\r\n sendNodeAsync(\r\n {\r\n MessagePattern: data,\r\n ApplicationId: MessagePattern.target.ApplicationId.value,\r\n PolicyKey: MessagePattern.target.PolicyKey.value,\r\n },\r\n \"post\"\r\n );\r\n }\r\n }\r\n };\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(\r\n // trans(\"modalcloseMessagePattern\"),\r\n // \"warning\",\r\n // \"alertWithoutClose\",\r\n // () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // showForm(false);\r\n // }\r\n // );\r\n Toast(\r\n trans(\"modalcloseMessagePattern\"),\r\n MessageType.confirm,\r\n () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n showForm(false);\r\n }\r\n );\r\n } else {\r\n showForm(false);\r\n }\r\n }\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getMessagePatternAsync();\r\n } else {\r\n setLoading(true);\r\n }\r\n }, [selectedObj]);\r\n\r\n useEffect(() => {\r\n validationDates();\r\n }, [untilDate, fromDate]);\r\n\r\n return (\r\n
\r\n
\r\n {loading ? (\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"PolicyKey\"\r\n labelText=\"PolicyKey\"\r\n required={true}\r\n maxLength={900}\r\n defaultValue={response?.PolicyKey}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"PatternCode\"\r\n labelText=\"PatternCode\"\r\n required={true}\r\n maxLength={900}\r\n defaultValue={response?.MessagePattern?.PatternCode}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxType=\"text\"\r\n textboxName=\"PatternSubject\"\r\n labelText=\"PatternSubject\"\r\n defaultValue={response?.MessagePattern?.PatternSubject}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxType=\"text\"\r\n textboxName=\"PatternParameters\"\r\n labelText=\"PatternParameters\"\r\n defaultValue={response?.MessagePattern?.PatternParameters}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxType=\"text\"\r\n textboxName=\"PatternSeparators\"\r\n labelText=\"PatternSeperators\"\r\n defaultValue={response?.MessagePattern?.PatternSeparators}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxType=\"textarea\"\r\n textboxName=\"PatternText\"\r\n labelText=\"PatternText\"\r\n defaultValue={response?.MessagePattern?.PatternText}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
\r\n {mode != \"create\" && (\r\n
\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"ActivityStatus\"\r\n label=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={response?.MessagePattern?.ActivityStatus}\r\n mode={mode}\r\n />\r\n
\r\n )}\r\n
\r\n\r\n {mode != \"view\" ? (\r\n
\r\n
\r\n ) : (\r\n
\r\n {\r\n cancel();\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n};\r\n","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\nimport { deleteMessagePattern, getMessagePatterns } from \"./api\";\r\nimport { MessagePatternForm } from \"./MessagePatternForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface Form {\r\n Title?: string;\r\n Status?: number;\r\n messageSettingId: any;\r\n}\r\nexport const MessagePattern = ({ messageSettingId }: Form) => {\r\n const [response, setResponse] = useState(null);\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [mode, setMode] = useState(\"create\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [catchMessage, setCatchMessage] = useState({\r\n type: \"info\",\r\n msg: \"NoDataForPreview\",\r\n });\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [showEventForm, setShowEventForm] = useState(false);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pages, setPages] = useState(0);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\":\r\n alert(\"print \");\r\n break;\r\n case \"excel\":\r\n downloadCSV(response?.Data, 1, trans(\"MessagePattern\"));\r\n break;\r\n case \"refresh\":\r\n setForceUpdate(!forceUpdate);\r\n break;\r\n case \"create\":\r\n handleCreateAction();\r\n break;\r\n case \"view\":\r\n if (selectedObj?.Id) handleViewRow();\r\n break;\r\n case \"edit\":\r\n if (selectedObj?.Id) handleEditRow();\r\n break;\r\n case \"help\":\r\n alert(\"call api help\");\r\n break;\r\n case \"remove\":\r\n if (selectedObj?.Id)\r\n // Toast(\r\n // trans(\"msg_deleteconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // handleDeleteRow\r\n // );\r\n Toast(\r\n trans(\"msg_deleteconfirm\"),\r\n MessageType.confirmDelete,\r\n handleDeleteRow\r\n );\r\n break;\r\n }\r\n };\r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"MessagePattern\", e.currentTarget.value);\r\n getMessagePatternAsync(1);\r\n };\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) {\r\n } else setPageNum(+value);\r\n getMessagePatternAsync(+value);\r\n } else {\r\n }\r\n };\r\n const handleNextPage = () => {\r\n if (pageNum < pages) {\r\n setPageNum(pageNum + 1);\r\n getMessagePatternAsync(pageNum + 1);\r\n }\r\n };\r\n const handlePrevPage = () => {\r\n if (pageNum > 1) {\r\n setPageNum((pageNum) => {\r\n return +pageNum - 1;\r\n });\r\n getMessagePatternAsync(pageNum - 1);\r\n }\r\n };\r\n const handleCreateAction = () => {\r\n // setSelectedObj(null)\r\n setMode(\"create\");\r\n setShowEventForm(true);\r\n };\r\n const handleEditRow = () => {\r\n setMode(\"edit\");\r\n setShowEventForm(true);\r\n };\r\n const handleDeleteRow = async () => {\r\n try {\r\n await deleteMessagePattern(selectedObj.Id);\r\n setForceUpdate(!forceUpdate);\r\n } catch (error) {}\r\n };\r\n const handleViewRow = () => {\r\n setMode(\"view\");\r\n setShowEventForm(true);\r\n };\r\n\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n };\r\n const SearchHandler = (str) => {\r\n setPageNum(1);\r\n if (str == \"\") {\r\n setSearch(null);\r\n } else {\r\n setSearch(str);\r\n }\r\n };\r\n\r\n async function getMessagePatternAsync(PageNum = pageNum) {\r\n setLoading(false);\r\n setResponse(null);\r\n let pageSizeChangedByUser = getPageSize(\"MessagePattern\");\r\n setPageSize(pageSizeChangedByUser);\r\n try {\r\n const res = await getMessagePatterns(\r\n PageNum,\r\n messageSettingId,\r\n pageSizeChangedByUser,\r\n search,\r\n orderBy.length == 0 ? null : orderBy.join(\",\"),\r\n filterlist\r\n );\r\n setResponse(res.Data);\r\n setPages(\r\n res.Data.TotalRecords > pageSizeChangedByUser\r\n ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser)\r\n : 1\r\n );\r\n setCatchMessage({ type: \"info\", msg: \"NoDataForPreview\" });\r\n } catch (error: any) {\r\n setCatchMessage({ type: \"error\", msg: error?.response?.data?.Message });\r\n }\r\n setLoading(true);\r\n }\r\n\r\n useEffect(() => {\r\n getMessagePatternAsync();\r\n }, [forceUpdate, search, orderBy, filterlist]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n getMessagePatternAsync();\r\n }\r\n }, [resetForm]);\r\n\r\n return (\r\n <>\r\n {showEventForm ? (\r\n {\r\n setShowEventForm(false);\r\n }}\r\n show={showEventForm}\r\n title={\"MessagePattern\"}\r\n >\r\n setForceUpdate(!forceUpdate)}\r\n showForm={() => {\r\n setShowEventForm(false);\r\n }}\r\n />{\" \"}\r\n
\r\n ) : null}\r\n
\r\n \r\n \r\n
\r\n {loading ? (\r\n <>\r\n {response?.Data?.length > 0 ? (\r\n <>\r\n {\r\n setFilterlist(str);\r\n }}\r\n filterStr={filterlist}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n startIndex={2}\r\n theadData={Object.keys(response.Data[0])}\r\n tbodyData={response.Data}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedObjCallback}\r\n handleEdit={handleEditRow}\r\n handleDelete={(e) => {\r\n // Toast(\r\n // trans(\"msg_deleteconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // handleDeleteRow\r\n // );\r\n Toast(\r\n trans(\"msg_deleteconfirm\"),\r\n MessageType.confirmDelete,\r\n handleDeleteRow\r\n );\r\n }}\r\n handleView={handleViewRow}\r\n totalRecords={response.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() => {\r\n getMessagePatternAsync(pages);\r\n setPageNum(pages);\r\n }}\r\n end={() => {\r\n getMessagePatternAsync(1);\r\n setPageNum(1);\r\n }}\r\n handleGoPage={handleGoPage}\r\n />\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getCustomers = (pageNumber: number, pageSize: number, searchString, orderBy, filterlist ) => http({\r\n url: ENDPOINTS.afterSalesApi.customerList,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getRequesterUserId = (jobId: any) => http({\r\n url: ENDPOINTS.afterSalesApi.customerList,\r\n method: 'get',\r\n params: {\r\n JobId: jobId\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getPersonDetailCode = (personId: any) => http({\r\n url: ENDPOINTS.afterSalesApi.detailCode ,\r\n method: 'get',\r\n params: {\r\n personId: personId\r\n }\r\n}).then((res) => {\r\n // \r\n return res\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const postPerson = (personId, userData) => http({\r\n url: ENDPOINTS.afterSalesApi.addUserWithDetailCode ,\r\n method: \"post\",\r\n params: {\r\n PersonId: personId,\r\n },\r\n data :userData\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => { \r\n return Promise.reject(err);\r\n});","import { Button } from \"components/Button/Button\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getPersonDetailCode, postPerson } from \"./api\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\nexport const CustomersUserForm = ({hide, mode ,personId,personName ,reload}) => {\r\n const [email, setEmail] = useState();\r\n const [userName, setUserName] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n\r\n\r\n async function findDetailCode(e) {\r\n try {\r\n setLoading(false)\r\n if(e){\r\n const personDetailCode = await getPersonDetailCode(e);\r\n setEmail(personDetailCode.data.Data.Email)\r\n setUserName(personDetailCode.data.Data.UserName)\r\n }\r\n\r\n } catch (error:any) {\r\n setUserName(error.response.data.Data)\r\n setEmail(null)\r\n\r\n }\r\n setLoading(true)\r\n }\r\n\r\n const sendDataAsync = async (userData, personId ,UserName) => {\r\n try {\r\n await postPerson(personId,userData);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n hide();\r\n reload();\r\n } catch (error2) {\r\n }\r\n }\r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // hide()\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n hide()\r\n });\r\n }else{\r\n hide()\r\n };\r\n\r\n\r\n }\r\n\r\n const formSubmit = (event) => {\r\n event.preventDefault()\r\n const userData = {\r\n UserName: event.target.UserName.value,\r\n Email: email \r\n }\r\n sendDataAsync(userData,personId , event.target.UserName.value );\r\n \r\n }\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n \r\n\r\n useEffect(() => {\r\n if (mode != \"create\") {\r\n setUserChanges({});\r\n }\r\n findDetailCode(personId)\r\n }, [personId]);\r\n\r\n return (\r\n
\r\n {loading ?\r\n
\r\n
\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"userName\"\r\n textboxName=\"UserName\"\r\n labelText=\"UserName\"\r\n mode={\"view\"}\r\n defaultValue={userName}\r\n required={true}\r\n \r\n />\r\n
\r\n
\r\n \r\n
\r\n {(mode != \"view\"&&email) ?\r\n
\r\n
\r\n :\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n\r\n : \r\n }\r\n
\r\n )\r\n}\r\n\r\n\r\n\r\n\r\n\r\n","import { INVENTORYANDSALES_URL,STORAGE_URL } from \"utils/constants\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getItemStoreListApi = (async (rootId ,pagenum,fromPrice=null,toPrice=null ,size,SearchString='') => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.CustomersStoreApi.CustomersStore.browse,\r\n method: 'get',\r\n params:{\r\n groupLeafId:rootId,\r\n PageNumber:pagenum,\r\n PageSize:size?size:10,\r\n fromPrice,\r\n toPrice,\r\n SearchString\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getItemGroupLabels = (async () => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.CustomersStoreApi.CustomersStore.groupLeaves,\r\n method: 'get',\r\n params:{\r\n\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nfunction blobToBase64(blob) {\r\n return new Promise((resolve, _) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result);\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\nexport const loadCardImage = (async (attachId) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.attachThumbnail,\r\n method: 'get',\r\n params:{\r\n attachId:attachId\r\n },\r\n \r\n}).then((res) => {\r\n\r\n return \"data:image/png;base64,\"+ res.data.Data\t\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const loadCardImageWithSize = (async (attachId,size='256') => await http({\r\n baseURL:process.env.REACT_APP_FILEDOWNLOAD_SERVICE_URL,\r\n url:\"file/Thumbnail/\"+attachId+\"?size=\"+size,\r\n method: 'get',\r\n responseType: \"blob\"\r\n}).then((res) => {\r\n\r\n return blobToBase64( res.data)\t\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const getConstraint = (async () => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.CustomersStoreApi.CustomersStore.constraint,\r\n method: 'get',\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n","import { trans } from \"utils/helpers\";\r\n\r\ninterface GroupingPriceProps {\r\n value:any,\r\n styleClassValue?:string,\r\n styleClassDescription?:string,\r\n styleClass?:string,\r\n description?:string,\r\n}\r\n\r\nexport const GroupingPrice = ({value,styleClass,styleClassDescription,styleClassValue,description}:GroupingPriceProps) => {\r\n\r\n return ( \r\n
\r\n {description &&\r\n
\r\n {trans(description)} :\r\n
\r\n }\r\n
\r\n {value?.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")}\r\n
\r\n
\r\n );\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useEffect, useState } from \"react\";\r\nimport img from '../../../../../assets/image/logo.png';\r\nimport { loadCardImageWithSize } from \"../../api\";\r\nimport \"./style.scss\";\r\n\r\n\r\n\r\n\r\n\r\ninterface ItemCardImgProps {\r\n attchId?: any,\r\n\r\n}\r\n\r\nexport const ItemCardImg = ({attchId}:ItemCardImgProps) => {\r\n\r\n const [src, setSrc] = useState(null);\r\n\r\n async function loadImageAsync() {\r\n try {\r\n if(attchId){\r\n\r\n const res:any = await loadCardImageWithSize(attchId );\r\n setSrc(res);\r\n }\r\n \r\n } catch (error) {\r\n\r\n }\r\n }\r\n useEffect(() => {\r\n \r\n if(!attchId?.includes(\"0000\")){\r\n loadImageAsync()\r\n }\r\n\r\n }, []);\r\n\r\n return (\r\n <>\r\n {src?:}\r\n \r\n );\r\n}\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\nimport \"./style.scss\";\r\nimport { addItemToBasket, getBasketData, RoundWithRoundingPlace } from \"utils/helpers\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\n\r\ninterface ItemCountBtnProps {\r\n reload?: () => void;\r\n closePluse?: (e: boolean) => void;\r\n ItemData: any;\r\n defultValue?: any;\r\n priceIndex?: number;\r\n min?: number;\r\n max?: any;\r\n stock?: any;\r\n propertiesId?: any;\r\n multiCounter?: any;\r\n properties?: any;\r\n showSumCount?: boolean;\r\n classStyle?: any;\r\n}\r\nexport const ItemCounterBtn = ({\r\n classStyle,\r\n reload,\r\n closePluse,\r\n showSumCount,\r\n stock,\r\n multiCounter = true,\r\n ItemData,\r\n defultValue,\r\n min,\r\n max,\r\n priceIndex,\r\n propertiesId,\r\n properties,\r\n}: ItemCountBtnProps) => {\r\n const [count, setCount] = useState(defultValue ? defultValue : 1);\r\n const [startDel, setStartDel] = useState(false);\r\n const startDelRef = useRef(false);\r\n const CountRef = useRef(0);\r\n const layoutContext = useContext(LayoutContext);\r\n const [round, setRound] = useState();\r\n let basket = getBasketData();\r\n const [disabled, setDisabled] = useState(false);\r\n const stopDeletingRef = useRef(false);\r\n const { setEmptyBasket, emptyBasket } = useContext(LayoutContext);\r\n\r\n const handleDecrement = async () => {\r\n setDisabled(false);\r\n let OrderItemId = ItemData.ItemPriceListDetails[0].PriceDetails.find(\r\n (item) => item.ItemCode.includes(propertiesId.replaceAll(ItemData.Id, \"\"))\r\n );\r\n let newcount = RoundWithRoundingPlace(\r\n +CountRef.current.value,\r\n ItemData?.ItemPriceListDetails[0]?.PriceDetails[0]\r\n ?.SalesUnitRoundingPlace\r\n );\r\n\r\n if (+newcount != 1) {\r\n if (min && +newcount < +min) {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n OrderItemId: OrderItemId,\r\n properties: properties,\r\n count: +min,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max ? +max : null,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n newcount = +min;\r\n setCount(+min);\r\n } else {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n OrderItemId: OrderItemId,\r\n properties: properties,\r\n count: +newcount - 1,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max ? +max : null,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n newcount = count - 1;\r\n\r\n if (count - 1 == 0) {\r\n setStartDel(true);\r\n startDelRef.current = true;\r\n await delay(1800);\r\n setCount(0);\r\n if (startDel || startDelRef.current) {\r\n await addItemToBasket({ ...ItemData, count: 0 }, [propertiesId]);\r\n reload && reload();\r\n startDelRef.current = false;\r\n\r\n setStartDel(false);\r\n } else {\r\n setCount(ItemData.count);\r\n }\r\n } else {\r\n if (count == 0) {\r\n setCount(0);\r\n } else {\r\n setCount(count - 1);\r\n }\r\n }\r\n }\r\n } else {\r\n handleDelete();\r\n }\r\n reload && reload();\r\n };\r\n\r\n const handleIncrement = () => {\r\n let OrderItemId = ItemData.ItemPriceListDetails[0].PriceDetails.find(\r\n (item) => item.ItemCode.includes(propertiesId.replaceAll(ItemData.Id, \"\"))\r\n );\r\n let newcount:any = RoundWithRoundingPlace(+CountRef.current.value, ItemData?.ItemPriceListDetails[0]?.PriceDetails[0]\r\n ?.SalesUnitRoundingPlace);\r\n if (multiCounter) {\r\n if (newcount < +stock) {\r\n if (max != null && newcount > +max) {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n OrderItemId: OrderItemId,\r\n properties: properties,\r\n count: +max,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: +max,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n newcount = max != null ? +max : null;\r\n setCount(+max);\r\n } else {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n OrderItemId: OrderItemId,\r\n properties: properties,\r\n count: +newcount + 1,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max != null ? +max : null,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n // newcount = +newcount + 1;\r\n if (max != null) {\r\n if (newcount == max - 1) {\r\n setDisabled(true);\r\n setCount(+max);\r\n } else if (newcount < max) {\r\n disabled && setDisabled(false);\r\n setCount(+newcount + 1);\r\n }\r\n } else {\r\n setCount(+newcount + 1);\r\n }\r\n }\r\n }\r\n } else {\r\n if (+newcount < +stock) {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n OrderItemId: OrderItemId,\r\n properties: properties,\r\n count: +newcount + 1,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max != null ? +max : null,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n // newcount = +newcount + 1;\r\n\r\n // setCount(+newcount + 1);\r\n } else {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n OrderItemId: OrderItemId,\r\n properties: properties,\r\n count: +stock,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max != null ? +max : null,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n newcount = +stock;\r\n setCount(+stock);\r\n }\r\n }\r\n\r\n reload && reload();\r\n };\r\n const delay = (duration) =>\r\n new Promise((resolve) => setTimeout(resolve, duration));\r\n\r\n const handleDelete = async () => {\r\n let OrderItemId = ItemData.ItemPriceListDetails[0].PriceDetails.find(\r\n (item) => item.ItemCode.includes(propertiesId.replaceAll(ItemData.Id, \"\"))\r\n );\r\n\r\n CountRef.current.value = 0;\r\n setStartDel(true);\r\n startDelRef.current = true;\r\n stopDeletingRef.current = false; //\r\n if (reload) {\r\n await delay(1800);\r\n setCount(0);\r\n if (startDel || startDelRef.current) {\r\n await addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n OrderItemId: OrderItemId,\r\n properties: properties,\r\n count: 0,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max != null ? +max : null,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n setEmptyBasket && setEmptyBasket(emptyBasket);\r\n reload && reload();\r\n closePluse && closePluse(true);\r\n startDelRef.current = false;\r\n setEmptyBasket && setEmptyBasket(true);\r\n setStartDel(false);\r\n } else {\r\n setCount(ItemData.order[propertiesId].count);\r\n }\r\n } else {\r\n await delay(1800);\r\n await addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n OrderItemId: OrderItemId,\r\n properties: properties,\r\n count: 0,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: +max,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n setCount(0);\r\n closePluse && closePluse(true);\r\n }\r\n };\r\n\r\n const validation = (e) => {\r\n let OrderItemId = ItemData.ItemPriceListDetails[0].PriceDetails.find(\r\n (item) => item.ItemCode.includes(propertiesId.replaceAll(ItemData.Id, \"\"))\r\n );\r\n\r\n if (+stock && +e.target.value <= +stock) {\r\n // if(min && e.target.value < min){\r\n // setCount(min)\r\n // }else if(max && e.target.value > max){\r\n // setCount(max)\r\n // }else{\r\n // setCount(e.target.value)\r\n // }\r\n } else {\r\n setCount(+stock);\r\n CountRef.current.value = +stock;\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData?.order,\r\n [propertiesId]: {\r\n OrderItemId: OrderItemId,\r\n properties: properties,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max != null ? +max : null,\r\n count: stock,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n }\r\n };\r\n\r\n const handleOnChange = (e) => {\r\n let OrderItemId = ItemData.ItemPriceListDetails[0].PriceDetails.find(\r\n (item) => item.ItemCode.includes(propertiesId.replaceAll(ItemData.Id, \"\"))\r\n );\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData?.order,\r\n [propertiesId]: {\r\n OrderItemId: OrderItemId,\r\n properties: properties,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max != null ? +max : null,\r\n count:\r\n stock && stock >= e.target.value\r\n ? max\r\n ? +max >= +e.target.value\r\n ? +e.target.value\r\n : max !== null\r\n ? +max\r\n : null\r\n : +e.target.value\r\n : stock,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n\r\n setCount(\r\n stock && stock >= +e.target.value\r\n ? max != null\r\n ? +max >= +e.target.value\r\n ? +e.target.value\r\n : +max\r\n : +e.target.value\r\n : stock\r\n );\r\n CountRef.current.value =\r\n stock && stock >= +e.target.value\r\n ? max != null\r\n ? +max >= +e.target.value\r\n ? +e.target.value\r\n : +max\r\n : +e.target.value\r\n : stock;\r\n };\r\n\r\n useEffect(() => {\r\n // CountRef.current.value = +ItemData?.order?.[propertiesId]?.count ? ItemData?.order?.[propertiesId]?.count : 1\r\n if (\r\n ItemData?.order?.[propertiesId]?.priceIndex != priceIndex &&\r\n ItemData?.order?.[propertiesId]?.priceIndex != undefined\r\n ) {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData?.order,\r\n [propertiesId]: {\r\n ...ItemData.order?.[propertiesId],\r\n priceIndex: priceIndex,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n }\r\n }, [priceIndex]);\r\n useEffect(() => {\r\n layoutContext.setBasket();\r\n }, [count]);\r\n\r\n useEffect(() => {\r\n let Basket: any = localStorage.getItem(\"Basket\");\r\n if (Basket && ItemData.order) {\r\n Basket = JSON.parse(Basket);\r\n if (Basket[ItemData.Id]?.order[propertiesId]) {\r\n if (ItemData.order[propertiesId] == undefined) {\r\n ItemData.order[propertiesId] = {\r\n count: Basket[ItemData.Id]?.order?.[propertiesId]?.count,\r\n };\r\n } else {\r\n ItemData.order[propertiesId].count =\r\n Basket[ItemData.Id]?.order?.[propertiesId]?.count;\r\n }\r\n if (CountRef.current.value)\r\n CountRef.current.value =\r\n Basket[ItemData.Id]?.order?.[propertiesId]?.count;\r\n setCount(Basket[ItemData.Id]?.order[propertiesId]?.count);\r\n } else {\r\n if (ItemData.Id) {\r\n setCount(0);\r\n // addItemToBasket({...ItemData , count:0})\r\n // CountRef.current.value = 0\r\n closePluse && closePluse(true);\r\n reload && reload();\r\n }\r\n }\r\n } else {\r\n // reload&&reload()\r\n // onHide && onHide(false)\r\n }\r\n }, [layoutContext.basket]);\r\n\r\n useEffect(() => {\r\n setRound(\r\n ItemData?.ItemPriceListDetails?.[0]?.PriceDetails?.[0]\r\n ?.SalesUnitRoundingPlace\r\n );\r\n }, [ItemData]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n validation(e)}\r\n onChange={(e) => {\r\n handleOnChange(e);\r\n }}\r\n type=\"text\"\r\n value={\r\n showSumCount\r\n ? RoundWithRoundingPlace(defultValue, round ? round : null)\r\n : RoundWithRoundingPlace(count, round ? round : null)\r\n }\r\n style={{\r\n fontWeight: \"100\",\r\n fontSize: \"14px\",\r\n all: \"unset\",\r\n maxWidth: \"44px\",\r\n textAlign: \"center\",\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {ItemData?.ItemPriceListDetails?.[0]?.PriceDetails[0]?.SalesUnit\r\n ? ItemData?.ItemPriceListDetails?.[0]?.PriceDetails[0]?.SalesUnit\r\n : ItemData.SalesUnit}\r\n \r\n
\r\n\r\n {reload && startDel && startDelRef.current && (\r\n {\r\n setStartDel(false);\r\n startDelRef.current = false;\r\n CountRef.current.value = ItemData.count;\r\n setCount(ItemData.count);\r\n }}\r\n icon={[\"fas\", \"clock-rotate-left\"]}\r\n color=\"blue\"\r\n size=\"sm\"\r\n style={{ cursor: \"pointer\", zIndex: \"10\" }}\r\n />\r\n )}\r\n \r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { addItemToBasket, trans } from \"utils/helpers\";\r\nimport { ItemCounterBtn } from \"./ItemCounterBtn\";\r\nimport { spacing } from \"react-select/dist/declarations/src/theme\";\r\n\r\n\r\ninterface ItemCountSeterProps {\r\n ItemData?: any,\r\n pluseInRight?:boolean,\r\n positionRelative?:boolean,\r\n defultValue?:any,\r\n min?:any,\r\n max?:any,\r\n stock?:number,\r\n activeBtn?:any,\r\n priceIndex?:any,\r\n propertiesId?:any,\r\n properties?:any,\r\n multiCounter?:boolean,\r\n showSumCount?:boolean,\r\n reload?:()=>void,\r\n setActiveBtn?:(e:any)=>void\r\n cardsListPage?:any,\r\n useDefaultButton?:any\r\n\r\n}\r\n\r\nexport const ItemCountSeter = ({cardsListPage,useDefaultButton=false,showSumCount,priceIndex,properties,multiCounter=true,propertiesId,activeBtn=null,setActiveBtn,reload,min=null,max=null,stock,defultValue,ItemData,pluseInRight=true,positionRelative=true }:ItemCountSeterProps) => {\r\n const [countBox,setCountBox] = useState(false)\r\n const [sumCount,setSumCount] = useState(0)\r\n\r\n const [itemOrder,setItemOrder] = useState({})\r\n const layoutContext = useContext(LayoutContext);\r\n function addItem(){ \r\n if(itemOrder){\r\n let OrderItemId = ItemData.ItemPriceListDetails?.[0].PriceDetails.find(item=>item.ItemCode.includes(propertiesId.replaceAll(ItemData.Id , \"\")))\r\n console.log(\"OrderItemId\" ,OrderItemId ,propertiesId ,min ? min : 1 , max != null ?max:null , min )\t\r\n ItemData = {...ItemData ,order:{...itemOrder, [propertiesId] :{properties:properties, OrderItemId:OrderItemId,count :min ? min : 1, priceIndex:priceIndex, min:min , max:max != null ?max:undefined }}}\r\n addItemToBasket(ItemData,propertiesId)\r\n }\r\n setCountBox(true)\r\n }\r\n useEffect(() => {\r\n let Basket:any = localStorage.getItem(\"Basket\")\r\n if(ItemData){ \r\n if(Basket){\r\n Basket = JSON.parse(Basket)\r\n if(showSumCount && Basket[ItemData.Id] && Object.values(Basket[ItemData.Id].order).length > 0){\r\n let count = 0\r\n Object.values(Basket[ItemData.Id]?.order).map((item:any) =>{\r\n count = +item['count'] + count\r\n })\r\n setSumCount(count)\r\n setCountBox(true)\r\n }\r\n if(Basket?.[ItemData.Id]){\r\n setItemOrder(Basket[ItemData.Id]?.order ? Basket[ItemData.Id]?.order :{})\r\n }else{\r\n setItemOrder({})\r\n\r\n }\r\n if(Basket[ItemData.Id]?.order?.[propertiesId] && Basket[ItemData.Id]?.order?.[propertiesId]?.count > 0){\r\n if(!ItemData.order || ItemData.order[propertiesId]==undefined){\r\n ItemData.order={[propertiesId]:{'properties':properties,count:0}}\r\n }\r\n \r\n ItemData.order[propertiesId].count = Basket[ItemData.Id]?.order?.[propertiesId]?.count\r\n\r\n setCountBox(true)\r\n\r\n if((max == null && min == null )){\r\n setCountBox(true)\r\n }else{\r\n if(multiCounter){\r\n if((ItemData?.order[propertiesId]?.count >= min && max == null) || (ItemData?.order[propertiesId]?.count >= min && ItemData?.order[propertiesId]?.count<= max)){\r\n setCountBox(true)\r\n }\r\n }\r\n\r\n }\r\n\r\n }else{\r\n if(ItemData?.order?.[propertiesId]?.count == 0){\r\n setCountBox(false)\r\n }\r\n }\r\n }\r\n }\r\n }, [layoutContext.basket]);\r\n useEffect(() =>{\r\n if(activeBtn != null){\r\n if(activeBtn == priceIndex){\r\n setCountBox(true)\r\n }else{ \r\n setCountBox(false) \r\n }\r\n }\r\n },[activeBtn])\r\n\r\n useEffect(()=>{\r\n if(countBox){\r\n setActiveBtn && setActiveBtn(priceIndex)\r\n }else{\r\n setActiveBtn && setActiveBtn(null)\r\n }\r\n },[countBox])\r\n\r\n useEffect(() => {\r\n layoutContext.setBasket()\r\n }, [ItemData]);\r\n\r\n\r\n return ( \r\n
\r\n {countBox?\r\n <> \r\n {setCountBox(false)}}/>\r\n \r\n :\r\n \r\n }\r\n \r\n
\r\n );\r\n}\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { GroupingPrice } from \"components/GroupingPrice/GroupingPrice\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { GroupingPriceFunction, RoundWithRoundingPlace, textChange, trans } from \"utils/helpers\";\r\nimport { ItemCardImg } from \"./ItemCardImg\";\r\nimport { ItemCountSeter } from \"./ItemCountSeter\";\r\nimport \"./style.scss\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n\r\ninterface ItemCardProps {\r\n ItemData?: any;\r\n cardStyle?: boolean;\r\n itemGroupId?: any;\r\n showPackingPriceColumns?:any\r\n ecommrceConstraint?:any\r\n}\r\nexport const ItemCard = ({\r\n ItemData,\r\n cardStyle,\r\n itemGroupId,\r\n showPackingPriceColumns,\r\n ecommrceConstraint\r\n}: ItemCardProps) => {\r\n const [properties, setProperties] = useState({});\r\n const [propertiesId, setPropertiesId] = useState(null);\r\n const [offerIndex, setOfferIndex] = useState(0);\r\n const [orderItems, setOrderItems] = useState();\r\n\r\n const [locking, setLocking] = useState(true);\r\n\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n // change\r\n useEffect(() => {\r\n // let defaultValue = {}\r\n // Object.keys(ItemData?.properties).map((pkey:any)=>{\r\n // defaultValue = {...defaultValue, [pkey]:ItemData?.properties[pkey][0]?.['value']}\r\n // })\r\n // if(Object.keys(ItemData.properties).length == 0){\r\n // setLocking(false)\r\n // }\r\n // setProperties(defaultValue)\r\n }, []);\r\n\r\n // change\r\n useEffect(() => {\r\n // let basketData = getBasketData()\r\n // let item = {}\r\n // Object.keys(ItemData?.properties).map((pValue:any)=>{\r\n // item = {...item, [pValue]:ItemData?.properties[pValue][0]?.['value']}\r\n // })\r\n //\r\n // let propertiesId = (ItemData.Id + (Object.values(ItemData?.properties).map((p:any)=>p[0]?.Id))).replaceAll(',','')\r\n // setProperties(item)\r\n // setPropertiesId(propertiesId)\r\n // setOrderItems( basketData.find((item )=> item.Id == ItemData.Id))\r\n //\r\n //\r\n // setOpenBadge(!openBadge)\r\n }, [layoutContext.basket]);\r\n\r\n useEffect(() => {\r\n // change\r\n if (\r\n +orderItems?.order[propertiesId]?.count >\r\n +orderItems?.order[propertiesId]?.max &&\r\n orderItems?.order[propertiesId]?.max != null\r\n ) {\r\n setOfferIndex(offerIndex + 1);\r\n }\r\n\r\n if (\r\n +orderItems?.order[propertiesId]?.count <\r\n +orderItems?.order[propertiesId]?.min &&\r\n +orderItems?.order[propertiesId]?.count != 0\r\n ) {\r\n setOfferIndex(offerIndex - 1);\r\n }\r\n if (orderItems == undefined) {\r\n setOfferIndex(0);\r\n }\r\n }, [orderItems?.order[propertiesId]?.count]);\r\n\r\n {\r\n return cardStyle ? (\r\n <>\r\n \r\n \r\n
\r\n {ItemData?.ItemPriceListDetails?.[0]?.PriceDetails[offerIndex]\r\n ?.DiscountPercent != null || ItemData?.DiscountPercent ? (\r\n {`off`}\r\n ) : (\r\n <>\r\n )}\r\n
\r\n \r\n
\r\n
\r\n {ItemData?.properties?.color &&\r\n ItemData?.properties?.color?.map((c, index) => {\r\n if (index < 3) {\r\n return (\r\n
\r\n );\r\n } else {\r\n if (index == 4) {\r\n return (\r\n
\r\n {\" \"}\r\n \r\n
\r\n );\r\n }\r\n }\r\n })}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {(ItemData?.rate != null || ItemData?.rate != \"\") &&\r\n ItemData?.rate != undefined && (\r\n
\r\n \r\n {ItemData?.rate}\r\n
\r\n )}\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n\r\n \r\n <>\r\n {ItemData?.Stock != undefined ? (\r\n <>\r\n {/* {\r\n ItemData?.Stock < 50 ?\r\n

{`${trans('Stock')} : ${ItemData?.Stock}`}

\r\n :\r\n

{` ${trans('Stock')} : ${ItemData?.Stock} ${ItemData?.Unit != null ?ItemData?.Unit:\"\"}`}

\r\n } */}\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n
\r\n
\r\n
\r\n {!!ItemData?.ItemPriceListDetails?.[0]?.PriceDetails?.[\r\n offerIndex\r\n ]?.DiscountPercent || !!ItemData?.DiscountPercent ? (\r\n \r\n
\r\n {trans(\"UnitPrice\")} {`(${ItemData?.PriceListUnit})`} :\r\n
\r\n\r\n
\r\n {ItemData?.Price!='-1' ? GroupingPriceFunction(\r\n ItemData?.ItemPriceListDetails?.[0].PriceDetails[offerIndex]\r\n ?.SalesUnitPrice\r\n ? ItemData?.ItemPriceListDetails?.[0].PriceDetails[\r\n offerIndex\r\n ]?.SalesUnitPrice\r\n : ItemData?.Price\r\n )\r\n : {trans('callforprice')}}\r\n
\r\n
\r\n ) : (\r\n \r\n
\r\n {\" \"}\r\n {trans(\"UnitPrice\")} {`(${ItemData?.PriceListUnit})`}:{\" \"}\r\n
\r\n
\r\n {ItemData?.Price!='-1' ? GroupingPriceFunction(\r\n ItemData?.ItemPriceListDetails?.[0].PriceDetails[offerIndex]\r\n ?.SalesUnitPrice\r\n ? ItemData?.ItemPriceListDetails?.[0].PriceDetails[\r\n offerIndex\r\n ]?.SalesUnitPrice\r\n : ItemData?.Price\r\n )\r\n : {trans('callforprice')}}\r\n
\r\n
\r\n )}\r\n {/* {ItemData?.ItemPriceListDetails?.[0]?.PriceDetails?.[offerIndex]?.DiscountPercent == null &&\r\n
\r\n \r\n
\r\n } */}\r\n
\r\n {!!ItemData?.ItemPriceListDetails?.[0]?.PriceDetails[\r\n offerIndex\r\n ]?.DiscountPercent || !!ItemData?.DiscountPercent ? (\r\n \r\n
\r\n {trans(\"PriceAfterDiscount\")} {\" \"}\r\n \r\n (%\r\n {RoundWithRoundingPlace(\r\n ItemData?.ItemPriceListDetails?.[0]?.PriceDetails[\r\n offerIndex\r\n ]?.discountPrice\r\n ? ItemData?.ItemPriceListDetails?.[0]\r\n ?.PriceDetails[offerIndex]?.discountPrice\r\n : ItemData?.DiscountPercent,\r\n 0\r\n \r\n )}\r\n ) :\r\n \r\n
{\" \"}\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n
\r\n )}\r\n \r\n {(ItemData?.ItemPriceListDetails?.[0]\r\n .PriceDetails[offerIndex]?.CoverPrice!=null || ItemData?.PackingPrice!=null) && ecommrceConstraint.ShowPackingPrice && \r\n \r\n
{trans(\"PackingPrice\")}
\r\n
\r\n \r\n {\r\n ( ItemData?.ItemPriceListDetails?.[0].PriceDetails[\r\n offerIndex\r\n ]?.CoverPrice && ItemData?.ItemPriceListDetails?.[0].PriceDetails[\r\n offerIndex\r\n ]?.CoverPrice==-1) || (ItemData?.PackingPrice && ItemData?.PackingPrice==-1)?trans('callforprice')\r\n :\r\n GroupingPriceFunction(\r\n ItemData?.ItemPriceListDetails?.[0].PriceDetails[offerIndex]\r\n ?.CoverPrice\r\n ? ItemData?.ItemPriceListDetails?.[0].PriceDetails[\r\n offerIndex\r\n ]?.CoverPrice\r\n : ItemData?.PackingPrice\r\n )}\r\n
\r\n
\r\n }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n \r\n {ItemData?.ItemName}\r\n \r\n }\r\n >\r\n
{ItemData?.ItemName}
\r\n \r\n {showPackingPriceColumns && \r\n \r\n
{trans(\"PackingPrice\")}
\r\n
\r\n {\r\n ( ItemData?.ItemPriceListDetails?.[0].PriceDetails[\r\n offerIndex\r\n ]?.CoverPrice && ItemData?.ItemPriceListDetails?.[0].PriceDetails[\r\n offerIndex\r\n ]?.CoverPrice==-1) || (ItemData?.PackingPrice && ItemData?.PackingPrice==-1)?trans('callforprice')\r\n :\r\n GroupingPriceFunction(\r\n ItemData?.ItemPriceListDetails?.[0].PriceDetails[offerIndex]\r\n ?.CoverPrice\r\n ? ItemData?.ItemPriceListDetails?.[0].PriceDetails[\r\n offerIndex\r\n ]?.CoverPrice\r\n : ItemData?.PackingPrice\r\n )}\r\n
\r\n
\r\n }\r\n \r\n {ItemData?.ItemPriceListDetails?.[0]?.PriceDetails?.[offerIndex]\r\n ?.DiscountPercent != null || !!ItemData?.DiscountPercent ? (\r\n \r\n
\r\n {trans(\"UnitPrice\")} {`(${ItemData?.PriceListUnit})`} :\r\n
\r\n\r\n
\r\n {`(${ItemData?.PriceListUnit})`} :\r\n {ItemData?.Price!='-1' ? GroupingPriceFunction(\r\n ItemData?.ItemPriceListDetails?.[0].PriceDetails[offerIndex]\r\n ?.SalesUnitPrice\r\n ? ItemData?.ItemPriceListDetails?.[0].PriceDetails[\r\n offerIndex\r\n ]?.SalesUnitPrice\r\n : ItemData?.Price\r\n )\r\n : {trans('callforprice')}}\r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n {\" \"}\r\n {trans(\"UnitPrice\")} {`(${ItemData?.PriceListUnit})`}:{\" \"}\r\n
\r\n
\r\n {`(${ItemData?.PriceListUnit})`} : \r\n {ItemData?.Price!='-1' ? GroupingPriceFunction(\r\n ItemData?.ItemPriceListDetails?.[0].PriceDetails[offerIndex]\r\n ?.SalesUnitPrice\r\n ? ItemData?.ItemPriceListDetails?.[0].PriceDetails[\r\n offerIndex\r\n ]?.SalesUnitPrice\r\n : ItemData?.Price\r\n )\r\n : {trans('callforprice')}}\r\n
\r\n
\r\n )}\r\n \r\n {/* {ItemData?.ItemPriceListDetails?.[0]?.PriceDetails?.[offerIndex]?.DiscountPercent == null &&\r\n
\r\n \r\n
\r\n } */}\r\n\r\n {/* {ItemData?.ItemPriceListDetails?.[0]?.PriceDetails[offerIndex]\r\n ?.DiscountPercent != null || ItemData?.DiscountPercent ? ( */}\r\n \r\n
\r\n \r\n
\r\n {trans(\"PriceAfterDiscount\")} {\" \"}\r\n \r\n (%\r\n {RoundWithRoundingPlace(\r\n ItemData?.ItemPriceListDetails?.[0]?.PriceDetails[\r\n offerIndex\r\n ]?.discountPrice\r\n ? ItemData?.ItemPriceListDetails?.[0]?.PriceDetails[\r\n offerIndex\r\n ]?.discountPrice\r\n : ItemData?.DiscountPercent,\r\n 0\r\n )}\r\n ) :\r\n \r\n
{\" \"}\r\n
\r\n \r\n (%\r\n {RoundWithRoundingPlace(\r\n ItemData?.ItemPriceListDetails?.[0]?.PriceDetails[\r\n offerIndex\r\n ]?.discountPrice\r\n ? ItemData?.ItemPriceListDetails?.[0]?.PriceDetails[\r\n offerIndex\r\n ]?.discountPrice\r\n : ItemData?.DiscountPercent,\r\n 0\r\n )}\r\n ) :\r\n  \r\n \r\n
\r\n \r\n
\r\n {/* ) : (\r\n <>\r\n )} */}\r\n\r\n\r\n
\r\n
\r\n {/* */}\r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import { ItemCard } from \"./ItemCard\";\r\n//import { FilterBox } from \"../FilterBox/FilterBox\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { FilterBox } from \"pages/ClientPortal/ECommerceDEMO/components/FilterBox/FilterBox\";\r\nimport { useCallback, useContext, useEffect, useRef, useState } from \"react\";\r\nimport { ItemGroupLabelSlider } from \"../ItemGroupMenu/ItemGroupLabelSlider\";\r\nimport { count } from \"console\";\r\nimport { trans, useOutsideClick } from \"utils/helpers\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface ItemCardsProps {\r\n data?: any;\r\n cardStyle?: any;\r\n dataGroup?: any;\r\n filterId?: any;\r\n fetchData?: any;\r\n stopFetching?: boolean;\r\n itemGroupId?: any;\r\n loading?: any;\r\n ecommrceConstraint?:any\r\n}\r\n\r\nexport const ItemCards = ({\r\n data,\r\n itemGroupId,\r\n loading,\r\n stopFetching,\r\n fetchData,\r\n dataGroup,\r\n filterId,\r\n cardStyle,\r\n ecommrceConstraint\r\n}: ItemCardsProps) => {\r\n const { sidebarIsOpen } = useContext(LayoutContext);\r\n\r\n const [page, setPage] = useState(1); // For pagination tracking\r\n const [goTop, setGoTop] = useState(false);\r\n const count = useRef(400);\r\n const [showOperations, setShowOperations] = useState(false);\r\n const [showPackingPriceColumns,setShowPackingPriceColumns]=useState(ecommrceConstraint?.ShowPackingPrice);\r\n\r\n const clickedOutside = () => {\r\n setShowOperations(false);\r\n }\r\n const refBox = useRef();\r\n const modalRef = useOutsideClick(clickedOutside);\r\n const boxRef = useRef(null);\r\n\r\n const scrollDown = () => {\r\n //setPage((prevPage) => prevPage + 1);\r\n boxRef.current?.scrollTo({\r\n top: count.current, //when go to bottom and fetch data\r\n behavior: \"smooth\",\r\n block: \"end\",\r\n });\r\n setTimeout(() => {\r\n const isAtBottom =\r\n boxRef.current?.scrollTop + boxRef.current?.clientHeight >=\r\n boxRef.current?.scrollHeight;\r\n }, 500);\r\n Math.floor(boxRef.current?.scrollHeight - boxRef.current?.scrollTop) ===\r\n Math.floor(boxRef.current?.clientHeight) &&\r\n stopFetching &&\r\n setGoTop(true);\r\n count.current += 400; //increse count to go to bottom every time\r\n };\r\n const scrollUp = () => {\r\n boxRef.current.scrollTo({ top: 0, behavior: \"smooth\", block: \"start\" });\r\n setGoTop(false);\r\n count.current = 400; //reset count when arrive at bottom of page and want to go to top\r\n };\r\n const handleScroll = useCallback((event) => {\r\n const { scrollTop, scrollHeight, clientHeight } = event.target;\r\n const tolerance = 2; \r\n if( Math.abs(scrollHeight - scrollTop - clientHeight) <= tolerance){\r\n if (!stopFetching) {\r\n setPage((prevPage) => prevPage + 1);\r\n } else {\r\n setGoTop(true);\r\n }\r\n }\r\n }, [stopFetching]);\r\n\r\n useEffect(() => {\r\n !stopFetching && fetchData && fetchData(page);\r\n }, [page]);\r\n\r\n useEffect(() => {\r\n // stopFetching && scrollDown();\r\n }, [stopFetching]);\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n {!cardStyle && (\r\n
\r\n
\r\n {trans(\"salessummarygroupingtypeitem\")}\r\n
\r\n {\r\n showPackingPriceColumns &&
{trans('PackingPrice')}
\r\n }\r\n
{trans(\"UnitPrice\")}
\r\n
{trans(\"PriceAfterDiscount\")}
\r\n\r\n
\r\n
\r\n {\r\n setShowOperations(true);\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n icon={[ICON_TYPE, \"sliders\"]}\r\n />\r\n \r\n \r\n {setShowPackingPriceColumns(!showPackingPriceColumns)}}\r\n />\r\n \r\n
\r\n
\r\n
\r\n \r\n )}\r\n\r\n {data &&\r\n data.map((item, index) => (\r\n <>\r\n \r\n \r\n ))}\r\n\r\n {boxRef.current?.scrollHeight > boxRef.current?.clientHeight &&\r\n !goTop && (\r\n {\r\n scrollDown();\r\n }}\r\n className=\"position-absolute goTop rounded-circle text-white d-flex justify-content-center align-items-center border-0 \"\r\n style={{\r\n width: \"40px\",\r\n height: \"40px\",\r\n left: \"40px\",\r\n zIndex: 10,\r\n cursor: \"pointer\",\r\n bottom: \"50px\",\r\n }}\r\n >\r\n \r\n \r\n )}\r\n\r\n {boxRef.current?.scrollHeight > boxRef.current?.clientHeight &&\r\n goTop && (\r\n {\r\n scrollUp();\r\n }}\r\n className=\"position-absolute goTop rounded-circle border-0 text-white d-flex justify-content-center align-items-center \"\r\n style={{\r\n width: \"40px\",\r\n height: \"40px\",\r\n left: \"40px\",\r\n zIndex: 10,\r\n cursor: \"pointer\",\r\n bottom: \"50px\",\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import { Search } from \"components/Search/Search\";\r\nimport { SwitchBtn } from \"components/SwitchBtn/SwitchBtn\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\ninterface ItemCardsHeaderProps {\r\n handleModeCard : (e:boolean)=>void,\r\n cardStyle: boolean,\r\n data?:any,\r\n handleSearch?:any\r\n\r\n}\r\nexport const ItemCardsHeader = ({handleModeCard,handleSearch,cardStyle,data}:ItemCardsHeaderProps) => {\r\n return ( \r\n \r\n );\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport \"./style.scss\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\ninterface ItemGroupLebalPropes {\r\n id?: any;\r\n title?: string;\r\n onClick?: (e: any) => void;\r\n IsActive?: boolean;\r\n shape: \"circle\" | \"Foursquare\" | \"FoursquareRadio\";\r\n}\r\n\r\nexport const ItemGroupLebal = ({\r\n title,\r\n id,\r\n onClick,\r\n IsActive,\r\n shape,\r\n}: ItemGroupLebalPropes) => {\r\n const [checkColor, setCheckColor] = useState(false);\r\n useEffect(() => {\r\n const hex_color = title;\r\n if (hex_color) {\r\n let r = parseInt(hex_color.substring(1, 3), 16);\r\n let g = parseInt(hex_color.substring(3, 5), 16);\r\n let b = parseInt(hex_color.substring(5, 7), 16);\r\n if (r > 128 && g > 128 && b > 128) {\r\n setCheckColor(false);\r\n } else {\r\n setCheckColor(true);\r\n }\r\n }\r\n }, [title]);\r\n\r\n return (\r\n <>\r\n \r\n {title && (\r\n \r\n {trans(title)}\r\n \r\n }\r\n >\r\n 11 ? \"\" : \"justify-content-center\"\r\n } align-items-center ${\r\n shape == \"circle\" &&\r\n \"position-absolute top-50 start-50 translate-middle\"\r\n }`}\r\n style={{\r\n width: shape == \"circle\" ? \"85%\" : \"100%\",\r\n height: shape == \"circle\" ? \"85%\" : \"100%\",\r\n backgroundColor: title ? title : \"\",\r\n }}\r\n >\r\n {shape != \"circle\" ? (\r\n title.length>17?title.slice(0,17)+'...':title\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Button } from \"react-bootstrap\";\r\n\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\ninterface ItemCardsProps {\r\n setfilterObj: (data: any) => void;\r\n filterData?: any;\r\n handleFilter?: any;\r\n handleRemoveFilter?: any;\r\n filterObj?: any;\r\n}\r\n\r\nexport const FilterBox = ({\r\n setfilterObj,\r\n filterData,\r\n handleFilter,\r\n handleRemoveFilter,\r\n filterObj,\r\n}: ItemCardsProps) => {\r\n const [showStep, setShowStep] = useState({ 3: true });\r\n\r\n return (\r\n
\r\n
\r\n \r\n
{filterData.title}
\r\n {\r\n showStep[1]\r\n ? setShowStep({ ...showStep, 1: false })\r\n : setShowStep({ ...showStep, 1: true });\r\n }}\r\n >\r\n {showStep[1] ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n \r\n {\r\n {\r\n 1: (\r\n <>\r\n {\r\n console.log(/^[0-9,]*$/.test(e.target.value));\r\n if (/^[0-9,]*$/.test(e.target.value)) {\r\n setfilterObj({ min: e.target.value.replaceAll(\",\", \"\") });\r\n } else {\r\n setfilterObj({ min: \"\" });\r\n }\r\n }}\r\n mode={\"edit\"}\r\n customClass=\"arrow-none\"\r\n defaultValue={filterObj?.min}\r\n value={filterObj?.min}\r\n />\r\n {\r\n console.log(/^[0-9,]*$/.test(e.target.value));\r\n if (/^[0-9,]*$/.test(e.target.value)) {\r\n setfilterObj({ max: e.target.value.replaceAll(\",\", \"\") });\r\n } else {\r\n setfilterObj({ max: \"\" });\r\n }\r\n }}\r\n mode={\"edit\"}\r\n customClass=\"arrow-none\"\r\n value={filterObj?.max}\r\n defaultValue={filterObj?.max}\r\n />\r\n
\r\n
\r\n \r\n
\r\n
{trans(\"filter\")}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setfilterObj({ max: null, min: null });\r\n handleRemoveFilter();\r\n }}\r\n style={{ fontSize: \"12px\" }}\r\n >\r\n
\r\n
{trans(\"حذف فیلتر\")}
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n ),\r\n 2: (\r\n <>\r\n {filterData?.data?.map((item, index) => (\r\n <>\r\n {\r\n setfilterObj({ option: item });\r\n }}\r\n id={item + index}\r\n name={filterData.title}\r\n value={item}\r\n />\r\n \r\n

\r\n \r\n ))}\r\n {\r\n setfilterObj({ option: null });\r\n }}\r\n id=\"alll\"\r\n name={filterData.title}\r\n value={\"همه\"}\r\n />\r\n \r\n

\r\n \r\n ),\r\n 3: (\r\n <>\r\n {filterData?.data?.map((item, index) => (\r\n
\r\n {\r\n setfilterObj({ option2: item });\r\n }}\r\n name={filterData.title}\r\n value={item}\r\n />\r\n \r\n

\r\n
\r\n ))}\r\n \r\n ),\r\n }[filterData.type]\r\n }\r\n \r\n \r\n \r\n );\r\n};\r\n","import { Loading } from \"components/Loading/loading\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\n//import { Data } from \"./components/data/data\";\r\nimport { useLocation, useNavigate } from \"react-router-dom\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getConstraint, getItemGroupLabels, getItemStoreListApi } from \"./api\";\r\nimport { ItemCards } from \"./components/ItemCard/ItemCards\";\r\nimport { ItemCardsHeader } from \"./components/ItemCardsHeader/ItemCardsHeader\";\r\nimport { ItemGroupLebal } from \"./components/ItemGroupMenu/ItemGroupLabel\";\r\nimport { FilterBox } from \"../ECommerceDEMO/components/FilterBox/FilterBox\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { Search } from \"components/Search/Search\";\r\n\r\ninterface Form {\r\n Title: string;\r\n Status: number;\r\n}\r\nexport const ECommercePage = ({ match }) => {\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n\r\n const [response, setResponse] = useState();\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [ecommrceConstraint,setEcommerceConstraint]=useState()\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [itemGroupId, setItemGroupId] = useState(GUID_EMPTY);\r\n const [dataGroup, setDataGroup] = useState([]);\r\n const defaultCardStyle=localStorage.getItem('cardStyle')?JSON.parse(localStorage.getItem('cardStyle') as string):true\r\n const [cardStyle, setCardStyle] = useState(defaultCardStyle);\r\n const [groupLabels, setGroupLabels] = useState({});\r\n const [breadCrumb, setBreadCrumb] = useState([\r\n { id: null, name: trans(\"ECommerce\") },\r\n ]);\r\n const itemGroupIdRef = useRef(GUID_EMPTY);\r\n const location = useLocation();\r\n const queryParams = new URLSearchParams(location.search);\r\n const itemGroup = queryParams.get(\"itemGroup\");\r\n const [stopFetching, setStopFetching] = useState(false);\r\n const [filterObj, setfilterObj] = useState(\"\");\r\n const { sidebarIsOpen,emptyBasket } = useContext(LayoutContext);\r\n const [search,setSearch]=useState('')\r\n const boxRef = useRef(null);\r\n\r\n const navigate = useNavigate();\r\n async function getECommerceAsync(\r\n e = null,\r\n pagenum = 1,\r\n minPrice = null,\r\n maxPrice = null,\r\n size = 10,\r\n\r\n ) {\r\n if (pagenum <= 1) setLoading(false);\r\n try {\r\n const res = await getItemStoreListApi(\r\n e == GUID_EMPTY ? null : e,\r\n pagenum,\r\n minPrice,\r\n maxPrice,\r\n boxRef?.current ?Math.floor(boxRef?.current?.offsetWidth/208)*Math.floor((((75 / 100) * window.innerHeight)/340)+1):10,\r\n search\r\n );\r\n if (pagenum > 1) {\r\n }\r\n if (res.Data.PageNumber * res.Data.PageSize >= res.Data.TotalRecords) {\r\n setStopFetching(true);\r\n } else {\r\n setStopFetching(false);\r\n }\r\n if (\r\n res.Data.Data.length == 1 &&\r\n res.Data.Data[0].Id == GUID_EMPTY &&\r\n pagenum == 1\r\n ) {\r\n setResponse([]);\r\n } else {\r\n if (pagenum <= 1) {\r\n setResponse(res.Data.Data);\r\n } else {\r\n if (res.Data.Data[0].Id != GUID_EMPTY) {\r\n setResponse((pre) => {\r\n return [...pre, ...res.Data.Data];\r\n });\r\n }\r\n }\r\n }\r\n setMessageType(\"info\");\r\n } catch (error) {\r\n setMessageType(\"error\");\r\n }\r\n if (pagenum <= 1) setLoading(true);\r\n }\r\n function handleSearch(e){\r\n setSearch(e)\r\n }\r\n\r\n function clickBreadCrumb(Bread) {\r\n setItemGroupId(Bread.id);\r\n itemGroupIdRef.current = Bread.id;\r\n let newBread: any = [];\r\n let flag = false;\r\n breadCrumb.map((item) => {\r\n if (!flag) {\r\n newBread.push(item);\r\n }\r\n if (item.id == Bread.id) {\r\n flag = true;\r\n }\r\n });\r\n setBreadCrumb(newBread);\r\n }\r\n\r\nconst getConstraintAsync=async()=>{\r\n try{\r\nconst response=await getConstraint()\r\nsetEcommerceConstraint(response.Data)\r\n }\r\n catch(error){}\r\n}\r\n\r\n const getDataAsync = async (id = null) => {\r\n try {\r\n const res = await getItemGroupLabels();\r\n\r\n if (id == null) {\r\n setGroupLabels(res.data);\r\n let content =\r\n res.Data &&\r\n Object.keys({ [GUID_EMPTY]: trans(\"all\"), ...res.Data }).map(\r\n (item, index) => (\r\n {\r\n e.stopPropagation();\r\n setItemGroupId(item);\r\n itemGroupIdRef.current = item;\r\n setBreadCrumb([\r\n { id: null, name: trans(\"ECommerce\") },\r\n {\r\n id: item,\r\n name: { [GUID_EMPTY]: trans(\"all\"), ...res.Data }[item],\r\n },\r\n ]);\r\n }}\r\n title={{ [GUID_EMPTY]: trans(\"all\"), ...res.Data }[item]}\r\n />\r\n )\r\n );\r\n setDataGroup(content);\r\n } else {\r\n // const res2 = {Data:{\r\n // \"E36E1489-83FC-EE11-AB53-00155DAA1053\":{\r\n // \"E36E1489-83FC-EE11-AB53-001552561053\": \"کلاه\",\r\n // \"E36E1489-83FC-EE11-AB53-001589631053\": \"کالای چرم\",\r\n // },\r\n // \"084E4FDE-6D74-ED11-AB39-00155DAA1053\":{\r\n // \"084E4FDE-6D74-ED11-AB39-0015596A1053\": \"برق صنعتی\",\r\n // \"084E4FDE-6D74-ED11-8953-00155DAA1053\": \" برق خانگی\",\r\n // }\r\n //\r\n // }}\r\n // let content =(res2.Data[id]&& Object.keys(res2.Data[id]).map((item,index) =>({e.stopPropagation() ;setItemGroupId(item);setBreadCrumb([...breadCrumb , {id: item,name:res2.Data[id][item]}])}} title={res2.Data[id][item]}/>)))\r\n // setDataGroup(content)\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n useEffect(() => {\r\n if (itemGroup) {\r\n setItemGroupId(itemGroup);\r\n itemGroupIdRef.current = itemGroup;\r\n navigate(\"/e-commerce/Items\", { replace: true });\r\n } else {\r\n getECommerceAsync(itemGroupId,1,filterObj.min,filterObj.max);\r\n getDataAsync(null);\r\n }\r\n }, [itemGroupId, forceUpdate,search]);\r\n\r\n useEffect(()=>{\r\n emptyBasket && getECommerceAsync(itemGroupId,1,filterObj.min,filterObj.max);\r\n },[emptyBasket])\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n getDataAsync();\r\n getConstraintAsync()\r\n }, []);\r\n useEffect(() => {\r\n }, [sidebarIsOpen]);\r\n\r\n useEffect(() => {\r\n if (itemGroupId == null) {\r\n setfilterObj({});\r\n }\r\n }, [itemGroupId]);\r\n\r\n /* #endregion */\r\n\r\n //filter by max and min price\r\n\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n {breadCrumb.map((breadCrumbsItem, index) => (\r\n {\r\n clickBreadCrumb(breadCrumbsItem);\r\n }}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {breadCrumbsItem.name}\r\n {index < breadCrumb.length - 1 ? (\r\n \r\n /\r\n \r\n ) : null}\r\n \r\n ))}\r\n
\r\n
\r\n {trans(ecommrceConstraint?.CurrencyHelp)}\r\n
\r\n
\r\n {\r\n setCardStyle(!cardStyle)\r\n localStorage.setItem('cardStyle',JSON.stringify(!cardStyle))\r\n ;\r\n }}\r\n />
\r\n \r\n \r\n
\r\n {/* */}\r\n\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n {\r\n setfilterObj({ ...filterObj, ...e });\r\n }}\r\n filterData={{ type: 1, title: \"بر اساس قیمت\" }}\r\n handleFilter={()=>{\r\n if (filterObj.min != null || filterObj.max != null) {\r\n getECommerceAsync(itemGroupId, 1, filterObj.min, filterObj.max );\r\n }\r\n \r\n }}\r\n handleRemoveFilter={()=>{\r\n \r\n getECommerceAsync(itemGroupId, 1,null , null );\r\n \r\n }}\r\n />\r\n {itemGroupId == \"E36E1489-83FC-EE11-AB53-00155DAA1053\" && (\r\n <>\r\n {\r\n setfilterObj({ ...filterObj, ...e });\r\n }}\r\n filterData={{\r\n type: 2,\r\n data: [\"طبیعی\", \"مصنوعی\"],\r\n title: \"بر اساس جنس چرم\",\r\n }}\r\n />\r\n {\r\n if (filterObj.option2) {\r\n setfilterObj({ ...filterObj, ...{ option2: null } });\r\n } else {\r\n setfilterObj({ ...filterObj, ...e });\r\n }\r\n }}\r\n filterData={{\r\n type: 3,\r\n data: [\"ورزش\"],\r\n title: \"بر اساس کاربرد \",\r\n }}\r\n />\r\n \r\n )}\r\n {itemGroupId == \"084E4FDE-6D74-ED11-AB39-00155DAA1053\" && (\r\n <>\r\n {\r\n setfilterObj({ ...filterObj, ...e });\r\n }}\r\n filterData={{\r\n type: 2,\r\n data: [\"100-240V AC\", \"24-220V DC\"],\r\n title: \"بر اساس ولتاژ کاری\",\r\n }}\r\n />\r\n {\r\n if (filterObj.option2) {\r\n setfilterObj({ ...filterObj, ...{ option2: null } });\r\n } else {\r\n setfilterObj({ ...filterObj, ...e });\r\n }\r\n }}\r\n filterData={{\r\n type: 3,\r\n data: [\"آب بندی شده\"],\r\n title: \"بر اساس آب بندی \",\r\n }}\r\n />\r\n \r\n )}\r\n
\r\n
\r\n\r\n
\r\n {loading ? (\r\n {\r\n if (e != 1 || (maxPrice != null && minPrice != null))\r\n getECommerceAsync(itemGroupId, e, filterObj.min, filterObj.max );\r\n }}\r\n itemGroupId={itemGroupId}\r\n filterId={itemGroupId}\r\n cardStyle={cardStyle}\r\n dataGroup={dataGroup}\r\n data={response}\r\n />\r\n ) : (\r\n \r\n )}\r\n
\r\n
\r\n \r\n );\r\n};\r\n","import { useEffect, useState } from \"react\";\r\nimport { loadCardImageWithSize } from \"../../api\";\r\nimport \"./style.scss\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\ninterface ItemBuyImgProps {\r\n attchId?: any;\r\n size?:any\r\n}\r\n\r\nexport const ItemBuyImg = ({ attchId,size=256 }: ItemBuyImgProps) => {\r\n const [src, setSrc] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n\r\n async function loadImageAsync() {\r\n try {\r\n if (attchId) {\r\n const res: any = await loadCardImageWithSize(attchId,size);\r\n setSrc(res);\r\n setLoading(true)\r\n }\r\n } catch (error) {}\r\n }\r\n useEffect(() => {\r\n if (!attchId?.includes(\"0000\")) {\r\n loadImageAsync();\r\n }\r\n }, [attchId]);\r\n\r\n return (\r\n <>\r\n
\r\n {/* {(attchId?.includes(\"0000\")||!src) ?\r\n
\r\n :\r\n \r\n \r\n } */}\r\n {loading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n \r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { ItemBuyImg } from \"../ItemBuyImg\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { ItemCounterBtn } from \"../../ItemCard/ItemCounterBtn\";\r\nimport { GroupingPrice } from \"components/GroupingPrice/GroupingPrice\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { textChange } from \"utils/helpers\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\n\r\ninterface ItemBoxProps {\r\n order?: any;\r\n item?: any;\r\n index?: number;\r\n UpdateTotal?: () => void;\r\n styles?: any;\r\n handleSelectedItem?: any;\r\n}\r\n\r\nexport const ItemBox = ({\r\n index,\r\n item,\r\n order,\r\n UpdateTotal,\r\n styles,\r\n handleSelectedItem,\r\n}: ItemBoxProps) => {\r\n const [offerIndex, setOfferIndex] = useState(\r\n order?.priceIndex ? order?.priceIndex : 0\r\n );\r\n const [minQty, setMinQty] = useState(\r\n order?.OrderItemId?.SalesUnitMinOrderQty\r\n );\r\n const [maxQty, setMaxQty] = useState(\r\n order?.OrderItemId?.SalesUnitMaxOrderQty\r\n );\r\n\r\n useEffect(() => {\r\n // change\r\n if (+order?.count > +order?.max && order?.max != null) {\r\n setOfferIndex(offerIndex + 1);\r\n }\r\n\r\n if (+order?.count < +order?.min && +order?.min > 1) {\r\n setOfferIndex(offerIndex - 1);\r\n }\r\n }, [order?.count]);\r\n\r\n useEffect(() => {\r\n setMinQty(item.ItemPriceListDetails[0].PriceDetails[offerIndex]?.min);\r\n setMaxQty(item.ItemPriceListDetails[0].PriceDetails[offerIndex]?.max);\r\n }, [offerIndex]);\r\n\r\n return (\r\n {\r\n handleSelectedItem && handleSelectedItem(item);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n
\r\n {order?.OrderItemId?.ItemDescription}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {/* { Object.values(order?.properties).map(item=> <> {\" \"+ item+\" \"}) } */}\r\n \r\n \r\n }\r\n >\r\n \r\n {/* { Object.values(order?.properties).map(item=> <> {\" \"+ item+\" \"}) } */}\r\n \r\n \r\n \r\n {item?.Code +\r\n order?.properties?.Variation1Code +\r\n (order?.properties?.Variation2Code ?? \"\")}\r\n \r\n
\r\n
\r\n {order?.properties != undefined && (\r\n <>\r\n {order[\"properties\"][\"color\"] != undefined && (\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n )}\r\n\r\n {order[\"properties\"][\"size\"] != undefined && (\r\n
\r\n \r\n \r\n \r\n {order[\"properties\"][\"size\"]}\r\n \r\n
\r\n \r\n )}\r\n {order[\"properties\"][\"matrial\"] && (\r\n
\r\n \r\n \r\n \r\n {order[\"properties\"][\"matrial\"]}\r\n \r\n
\r\n \r\n )}\r\n {item?.increaserDecreaser?.length > 0 && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n item.order[key] === order\r\n )}\r\n properties={order?.properties}\r\n reload={UpdateTotal}\r\n stock={10000000000}\r\n min={order?.OrderItemId?.SalesUnitMinOrderQty}\r\n max={order?.OrderItemId?.SalesUnitMaxOrderQty}\r\n priceIndex={offerIndex}\r\n multiCounter={true}\r\n ItemData={item}\r\n />\r\n
\r\n \r\n {item?.ItemPriceListDetails[0]?.PriceDetails[offerIndex]\r\n ?.SalesUnitDiscount != 0 && (\r\n
\r\n \r\n \r\n \r\n\r\n \r\n {\r\n item?.ItemPriceListDetails[0]?.PriceDetails[offerIndex]\r\n ?.DiscountPercent\r\n }\r\n %\r\n \r\n
\r\n )}\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { GroupingPrice } from \"components/GroupingPrice/GroupingPrice\";\r\nimport { SwitchBtn } from \"components/SwitchBtn/SwitchBtn\";\r\nimport { useState } from \"react\";\r\nimport { Button, OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { ItemBox } from \"./ItemBox\";\r\n\r\ninterface ItemBuyBtnComponentProps {\r\n setShow?: any;\r\n loading?: boolean;\r\n basketData?: any;\r\n showCartsubtotal?: any;\r\n priceInfo?: any;\r\n priceUpdate?: any;\r\n showCardStyle?: any;\r\n withClose?: boolean;\r\n clearBasket?: any;\r\n backPrevPage?:() => void\r\n}\r\n\r\nexport const Cart = ({\r\n setShow,\r\n loading,\r\n basketData,\r\n showCartsubtotal,\r\n priceInfo,\r\n priceUpdate,\r\n showCardStyle,\r\n withClose,\r\n clearBasket,\r\n backPrevPage,\r\n}: ItemBuyBtnComponentProps) => {\r\n const defaultCardStyle=localStorage.getItem('BasketcardStyle')?JSON.parse(localStorage.getItem('BasketcardStyle') as string):false\r\n const [cardStyle, setCardStyle] = useState(defaultCardStyle);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n {trans(\"ShoppingCart\")}\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n {withClose && (\r\n
\r\n {\r\n setShow(false);\r\n }}\r\n size=\"lg\"\r\n />\r\n
\r\n )}\r\n
\r\n
\r\n {loading ? (\r\n <>\r\n
    \r\n {basketData?.map((item) => {\r\n return Object.values(item.order).map((order: any, index) => (\r\n \r\n ));\r\n })}\r\n
\r\n\r\n
\r\n \r\n {showCartsubtotal && (\r\n
\r\n \r\n {trans(\"cartsubtotal\")} :\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n {\r\n backPrevPage&&backPrevPage();\r\n setShow(false);\r\n }}\r\n >\r\n {trans(\"ReturnAndContinueOrder\")}\r\n \r\n
\r\n setShow(false)}\r\n disabled={!!basketData.length ? false : true}\r\n >\r\n \r\n {trans(\"FinalizeOrder\")}\r\n \r\n \r\n
\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n );\r\n};\r\n","import { loadCardImage } from \"pages/ClientPortal/ECommerce/api\";\r\nimport \"./style.scss\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\ninterface ImgBoxProps {\r\n attchId?: any;\r\n showGallery?: any;\r\n i?: any;\r\n active?: any;\r\n onClick?: () => void;\r\n}\r\n\r\nexport const ImgBox = ({\r\n attchId,\r\n showGallery,\r\n i,\r\n active,\r\n onClick,\r\n}: ImgBoxProps) => {\r\n const [src, setSrc] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n\r\n async function loadImageAsync() {\r\n try {\r\n if (attchId) {\r\n const res: any = await loadCardImage(attchId);\r\n setLoading(true);\r\n\r\n setSrc(res);\r\n }\r\n } catch (error) {}\r\n }\r\n useEffect(() => {\r\n if (!attchId?.includes(\"0000\") && attchId) {\r\n loadImageAsync();\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n {loading ? (\r\n showGallery ? (\r\n {\r\n onClick && onClick();\r\n }}\r\n className={`m-1 rounded-1 Gallery__imgBx ${\r\n active ? \"Gallery__active\" : \"\"\r\n }`}\r\n >\r\n \r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { useEffect, useState } from \"react\";\r\nimport './style.scss'\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { ImgBox } from \"./ImgBox\";\r\n\r\ninterface GalleryProps {\r\n showGallery:boolean,\r\n data?:any;\r\n selectImg?:any;\r\n}\r\n\r\nexport const Gallery= ({data,selectImg,showGallery}:GalleryProps) => {\r\n\r\n const [respons,setRespons] = useState(data)\r\n const [index,setIndex] = useState(0)\r\n\r\n const getGallery = ()=>{\r\n if(data){\r\n setRespons(data)\r\n }\r\n \r\n }\r\n \r\n const next = ()=>{\r\n if(index < Object.values(respons).length-1){\r\n setIndex(index+1)\r\n }else{\r\n setIndex(0)\r\n }\r\n }\r\n\r\n const previous = ()=>{\r\n if(index > 0){\r\n setIndex(index-1)\r\n }else{\r\n setIndex(Object.values(respons).length-1)\r\n }\r\n }\r\n useEffect(()=>{\r\n setIndex(selectImg)\r\n },[selectImg])\r\n\r\n useEffect(()=>{\r\n getGallery()\r\n },[data])\r\n\r\n return ( \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n{/* {(respons&&Object.values(respons)[index])&& }\r\n */}
\r\n
\r\n {showGallery &&\r\n
\r\n
\r\n { respons&&respons.map((e:any,i)=>(\r\n {setIndex(i)}}/>\r\n/*
{setIndex(i)}} className={`m-1 rounded-1 Gallery__imgBx ${i == index ?'Gallery__active' :''}`}>
\r\n */ ))}\r\n
\r\n
\r\n }\r\n
\r\n );\r\n}","import { trans } from 'utils/helpers';\r\nimport { textData } from '../../data/imgData';\r\nimport { GroupingPrice } from 'components/GroupingPrice/GroupingPrice';\r\n\r\n\r\ninterface increaseDecreaseProps {\r\n object:any,\r\n checkBoxHandle:(id:string)=>void,\r\n onHide:()=>void,\r\n}\r\n\r\nexport const IncreaserDecreaser = ({object,checkBoxHandle,onHide}:increaseDecreaseProps) => {\r\n return ( \r\n <>\r\n
\r\n
{object.title}
\r\n
\r\n
\r\n
\r\n

{object.discription}

\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n );\r\n}\r\n","import { ItemBuyImg } from \"../../ItemBuyBtn/ItemBuyImg\";\r\nimport { ItemCounterBtn } from \"../../ItemCard/ItemCounterBtn\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { GroupingPrice } from \"components/GroupingPrice/GroupingPrice\";\r\nimport { textChange, trans } from \"utils/helpers\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\n\r\ninterface ItemCardProps {\r\n order?: any;\r\n item?: any;\r\n index?: number;\r\n handlePriceUpdate?: () => void;\r\n handleSelectedIncreaserDecreaser?: (e: any) => void;\r\n handleShowIncreaseDecrease?: (e: boolean) => void;\r\n}\r\n\r\nexport const CartItem = ({\r\n index,\r\n item,\r\n order,\r\n handlePriceUpdate,\r\n handleSelectedIncreaserDecreaser,\r\n handleShowIncreaseDecrease,\r\n}: ItemCardProps) => {\r\n const [offerIndex, setOfferIndex] = useState(\r\n order.priceIndex ? order.priceIndex : 0\r\n );\r\n const [minQty, setMinQty] = useState(order.min);\r\n const [maxQty, setMaxQty] = useState(order.max);\r\n\r\n useEffect(() => {\r\n // change\r\n if (order.count > +order.max && order.max != null) {\r\n setOfferIndex(offerIndex + 1);\r\n }\r\n\r\n if (order.count < +order.min && +order.min != 1) {\r\n setOfferIndex(offerIndex - 1);\r\n }\r\n }, [order.count]);\r\n\r\n useEffect(() => {\r\n setMinQty(item.ItemPriceListDetails[0].PriceDetails[offerIndex]?.min);\r\n setMaxQty(item.ItemPriceListDetails[0].PriceDetails[offerIndex]?.max);\r\n }, [offerIndex]);\r\n\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n item.order[key] === order\r\n )}\r\n properties={order.properties}\r\n reload={handlePriceUpdate}\r\n ItemData={item}\r\n stock={100000000}\r\n min={order.OrderItemId.SalesUnitMinOrderQty}\r\n max={order.OrderItemId.SalesUnitMaxOrderQty}\r\n priceIndex={offerIndex}\r\n multiCounter={true}\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n\r\n {/* \r\n {order?.OrderItemId?.ItemDescription} _ {item.Code}\r\n */}\r\n \r\n
\r\n
\r\n
\r\n {order.properties != undefined && (\r\n
    \r\n {/* change */}\r\n {order[\"properties\"][\"color\"] != undefined ? (\r\n
  • \r\n \r\n
\r\n \r\n ) : (\r\n <>\r\n )}\r\n {order[\"properties\"][\"size\"] != undefined ? (\r\n
  • \r\n \r\n {order[\"properties\"][\"size\"]}\r\n
  • \r\n ) : (\r\n <>\r\n )}\r\n {order[\"properties\"][\"matrial\"] ? (\r\n
  • \r\n \r\n {order[\"properties\"][\"matrial\"]}\r\n
  • \r\n ) : (\r\n <>\r\n )}\r\n \r\n )}\r\n {true ? (\r\n
    \r\n \r\n {item?.properties?.WarrantyDiscription}\r\n
    \r\n ) : (\r\n <>\r\n )}\r\n {/*highlight desktop mode */}\r\n
    \r\n
    \r\n {item?.ItemPriceListDetails[0]?.PriceDetails[offerIndex]\r\n ?.SalesUnitDiscount != 0 && (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {\r\n item?.ItemPriceListDetails[0]?.PriceDetails[\r\n offerIndex\r\n ]?.DiscountPercent\r\n }\r\n %\r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {item?.increaserDecreaser?.length > 0 && (\r\n \r\n {item?.increaserDecreaser.map((e, index) => (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    {e.title}
    \r\n
    \r\n
    \r\n {\r\n handleShowIncreaseDecrease &&\r\n handleShowIncreaseDecrease(true);\r\n handleSelectedIncreaserDecreaser &&\r\n handleSelectedIncreaserDecreaser(e);\r\n }}\r\n >\r\n {trans(\"details\")}\r\n \r\n \r\n ))}\r\n \r\n )}\r\n
    \r\n {/*highlight mobile mode */}\r\n
    \r\n {item?.ItemPriceListDetails[0]?.PriceDetails[offerIndex]\r\n ?.SalesUnitDiscount != null ? (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {\r\n item?.ItemPriceListDetails[0]?.PriceDetails[offerIndex]\r\n ?.DiscountPercent\r\n }\r\n %\r\n \r\n
    \r\n
    \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {/* item.order[key] === order)} properties={order.properties} reload={handlePriceUpdate} stock={+item?.Stock} min={minQty} max={maxQty} priceIndex={offerIndex} multiCounter={false} ItemData={item} /> */}\r\n
    \r\n
    \r\n \r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\nimport \"./style.scss\";\r\nimport { addItemToBasket, getBasketData } from \"utils/helpers\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\n\r\ninterface ItemCountBtnProps {\r\n reload?: () => void;\r\n closePluse?: (e: boolean) => void;\r\n ItemData: any;\r\n defultValue?: number;\r\n priceIndex?: number;\r\n min?: number;\r\n max?: any;\r\n stock?: any;\r\n propertiesId?: any;\r\n multiCounter?: any;\r\n properties?: any;\r\n showSumCount?: boolean;\r\n}\r\nexport const ItemCounterBtn = ({\r\n reload,\r\n closePluse,\r\n showSumCount,\r\n stock,\r\n multiCounter = true,\r\n ItemData,\r\n defultValue,\r\n min,\r\n max,\r\n priceIndex,\r\n propertiesId,\r\n properties,\r\n}: ItemCountBtnProps) => {\r\n const [count, setCount] = useState(defultValue ? defultValue : 1);\r\n const [startDel, setStartDel] = useState(false);\r\n const startDelRef = useRef(false);\r\n const CountRef = useRef(0);\r\n const layoutContext = useContext(LayoutContext);\r\n let basket = getBasketData();\r\n\r\n const handleDecrement = async () => {\r\n console.log(\"ffffff\")\r\n if (+CountRef.current.value != 1) {\r\n if (min && +CountRef.current.value < +min) {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n properties: properties,\r\n count: +min,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max ? +max : null,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n CountRef.current.value = +min;\r\n setCount(+min);\r\n } else {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n properties: properties,\r\n count: +count - 1,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max ? +max : null,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n CountRef.current.value = count - 1;\r\n\r\n if (count - 1 == 0) {\r\n setStartDel(true);\r\n startDelRef.current = true;\r\n await delay(1800);\r\n setCount(0);\r\n if (startDel || startDelRef.current) {\r\n await addItemToBasket({ ...ItemData, count: 0 }, [propertiesId]);\r\n reload && reload();\r\n startDelRef.current = false;\r\n\r\n setStartDel(false);\r\n } else {\r\n setCount(ItemData.count);\r\n }\r\n } else {\r\n if (count == 0) {\r\n setCount(0);\r\n } else {\r\n setCount(count - 1);\r\n }\r\n }\r\n }\r\n } else {\r\n handleDelete();\r\n }\r\n reload && reload();\r\n };\r\n\r\n const handleIncrement = () => {\r\n if (multiCounter) {\r\n if (+CountRef.current.value < +stock) {\r\n if (max != null && +CountRef.current.value > +max) {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n properties: properties,\r\n count: +max,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: +max,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n CountRef.current.value = max != null ? +max : null;\r\n setCount(+max);\r\n } else {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n properties: properties,\r\n count: +count + 1,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max != null ? +max : null,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n CountRef.current.value = +count + 1;\r\n setCount(+count + 1);\r\n }\r\n }\r\n } else {\r\n if (+CountRef.current.value < +stock) {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n properties: properties,\r\n count: +count + 1,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max != null ? +max : null,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n CountRef.current.value = +count + 1;\r\n setCount(+count + 1);\r\n } else {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n properties: properties,\r\n count: +stock,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max != null ? +max : null,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n CountRef.current.value = +stock;\r\n setCount(+stock);\r\n }\r\n }\r\n\r\n reload && reload();\r\n };\r\n const delay = (duration) =>\r\n new Promise((resolve) => setTimeout(resolve, duration));\r\n\r\n const handleDelete = async () => {\r\n CountRef.current.value = 0;\r\n setStartDel(true);\r\n startDelRef.current = true;\r\n if (reload) {\r\n await delay(1800);\r\n setCount(0);\r\n if (startDel || startDelRef.current) {\r\n await addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n properties: properties,\r\n count: 0,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max != null ? +max : null,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n reload && reload();\r\n closePluse && closePluse(true);\r\n startDelRef.current = false;\r\n\r\n setStartDel(false);\r\n } else {\r\n setCount(ItemData.order[propertiesId].count);\r\n }\r\n } else {\r\n await addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData.order,\r\n [propertiesId]: {\r\n properties: properties,\r\n count: 0,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: +max,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n setCount(0);\r\n closePluse && closePluse(true);\r\n }\r\n };\r\n\r\n const validation = (e) => {\r\n if (+stock && +e.target.value <= +stock) {\r\n // if(min && e.target.value < min){\r\n // setCount(min)\r\n // }else if(max && e.target.value > max){\r\n // setCount(max)\r\n // }else{\r\n // setCount(e.target.value)\r\n // }\r\n } else {\r\n setCount(+stock);\r\n CountRef.current.value = +stock;\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData?.order,\r\n [propertiesId]: {\r\n properties: properties,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max != null ? +max : null,\r\n count: stock,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n }\r\n };\r\n\r\n const handleOnChange = (e) => {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData?.order,\r\n [propertiesId]: {\r\n properties: properties,\r\n priceIndex: priceIndex,\r\n min: min,\r\n max: max != null ? +max : null,\r\n count:\r\n stock && stock >= e.target.value\r\n ? max\r\n ? +max >= +e.target.value\r\n ? +e.target.value\r\n : max != null\r\n ? +max\r\n : null\r\n : +e.target.value\r\n : stock,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n setCount(\r\n stock && stock >= +e.target.value\r\n ? max != null\r\n ? +max >= +e.target.value\r\n ? +e.target.value\r\n : +max\r\n : +e.target.value\r\n : stock\r\n );\r\n CountRef.current.value =\r\n stock && stock >= +e.target.value\r\n ? max != null\r\n ? +max >= +e.target.value\r\n ? +e.target.value\r\n : +max\r\n : +e.target.value\r\n : stock;\r\n };\r\n\r\n useEffect(() => {\r\n // CountRef.current.value = +ItemData?.order?.[propertiesId]?.count ? ItemData?.order?.[propertiesId]?.count : 1\r\n if (\r\n ItemData?.order?.[propertiesId]?.priceIndex != priceIndex &&\r\n ItemData?.order?.[propertiesId]?.priceIndex != undefined\r\n ) {\r\n addItemToBasket(\r\n {\r\n ...ItemData,\r\n order: {\r\n ...ItemData?.order,\r\n [propertiesId]: {\r\n ...ItemData.order?.[propertiesId],\r\n priceIndex: priceIndex,\r\n },\r\n },\r\n },\r\n [propertiesId]\r\n );\r\n }\r\n }, [priceIndex]);\r\n useEffect(() => {\r\n layoutContext.setBasket();\r\n }, [count]);\r\n\r\n useEffect(() => {\r\n let Basket: any = localStorage.getItem(\"Basket\");\r\n if (Basket && ItemData.order) {\r\n Basket = JSON.parse(Basket);\r\n if (Basket[ItemData.Id]?.order[propertiesId]) {\r\n if (ItemData.order[propertiesId] == undefined) {\r\n ItemData.order[propertiesId] = {\r\n count: Basket[ItemData.Id]?.order?.[propertiesId]?.count,\r\n };\r\n } else {\r\n ItemData.order[propertiesId].count =\r\n Basket[ItemData.Id]?.order?.[propertiesId]?.count;\r\n }\r\n CountRef.current.value =\r\n Basket[ItemData.Id]?.order?.[propertiesId]?.count;\r\n setCount(Basket[ItemData.Id].order[propertiesId].count);\r\n } else {\r\n if (ItemData.Id) {\r\n setCount(0);\r\n // addItemToBasket({...ItemData , count:0})\r\n // CountRef.current.value = 0\r\n closePluse && closePluse(true);\r\n reload && reload();\r\n }\r\n }\r\n } else {\r\n // reload&&reload()\r\n // onHide && onHide(false)\r\n }\r\n }, [layoutContext.basket]);\r\n return (\r\n \r\n
    \r\n \r\n validation(e)}\r\n onChange={(e) => {\r\n handleOnChange(e);\r\n }}\r\n type=\"text\"\r\n value={showSumCount ? defultValue : +count}\r\n />\r\n \r\n \r\n
    \r\n {reload && startDel && startDelRef.current && (\r\n {\r\n setStartDel(false);\r\n startDelRef.current = false;\r\n CountRef.current.value = ItemData.count;\r\n setCount(ItemData.count);\r\n }}\r\n icon={[\"fas\", \"clock-rotate-left\"]}\r\n color=\"blue\"\r\n size=\"sm\"\r\n />\r\n )}\r\n \r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { ItemCounterBtn } from \"./ItemCounterBtn\";\r\nimport { addItemToBasket, getBasketData } from \"utils/helpers\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\n\r\n\r\ninterface ItemCountSeterProps {\r\n ItemData?: any,\r\n pluseInRight?:boolean,\r\n positionRelative?:boolean,\r\n defultValue?:any,\r\n min?:any,\r\n max?:any,\r\n stock?:number,\r\n activeBtn?:any,\r\n priceIndex?:any,\r\n propertiesId?:any,\r\n properties?:any,\r\n multiCounter?:boolean,\r\n showSumCount?:boolean,\r\n reload?:()=>void,\r\n setActiveBtn?:(e:any)=>void\r\n}\r\n\r\nexport const ItemCountSeter = ({showSumCount,priceIndex,properties,multiCounter=true,propertiesId,activeBtn=null,setActiveBtn,reload,min=null,max=null,stock,defultValue,ItemData,pluseInRight=true,positionRelative=true }:ItemCountSeterProps) => {\r\n const [countBox,setCountBox] = useState(false)\r\n const [sumCount,setSumCount] = useState(0)\r\n\r\n const [itemOrder,setItemOrder] = useState({})\r\n const layoutContext = useContext(LayoutContext);\r\n function addItem(){ \r\n if(itemOrder){\r\n ItemData = {...ItemData ,order:{...itemOrder, [propertiesId] :{properties:properties, count :min ? min : 1, priceIndex:priceIndex, min:min , max:max != null ?max:null }}}\r\n addItemToBasket(ItemData,propertiesId)\r\n }\r\n setCountBox(true)\r\n }\r\n\r\n useEffect(() => {\r\n let Basket:any = localStorage.getItem(\"Basket\")\r\n if(ItemData){\r\n\r\n \r\n if(Basket){\r\n Basket = JSON.parse(Basket)\r\n if(showSumCount && Basket[ItemData.Id] && Object.values(Basket[ItemData.Id].order).length > 0){\r\n let count = 0\r\n Object.values(Basket[ItemData.Id]?.order).map((item:any) =>{\r\n count = +item['count'] + count\r\n })\r\n setSumCount(count)\r\n setCountBox(true)\r\n }\r\n if(Basket?.[ItemData.Id]){\r\n setItemOrder(Basket[ItemData.Id]?.order ? Basket[ItemData.Id]?.order :{})\r\n }else{\r\n setItemOrder({})\r\n\r\n }\r\n if(Basket[ItemData.Id]?.order?.[propertiesId] && Basket[ItemData.Id]?.order?.[propertiesId]?.count > 0){\r\n if(!ItemData.order || ItemData.order[propertiesId]==undefined){\r\n ItemData.order={[propertiesId]:{'properties':properties,count:0}}\r\n }\r\n \r\n ItemData.order[propertiesId].count = Basket[ItemData.Id]?.order?.[propertiesId]?.count\r\n\r\n setCountBox(true)\r\n\r\n if((max == null && min == null )){\r\n setCountBox(true)\r\n }else{\r\n if(multiCounter){\r\n if((ItemData?.order[propertiesId]?.count >= min && max == null) || (ItemData?.order[propertiesId]?.count >= min && ItemData?.order[propertiesId]?.count<= max)){\r\n setCountBox(true)\r\n }else{\r\n setCountBox(false)\r\n }\r\n }\r\n\r\n }\r\n\r\n }else{\r\n if(ItemData?.order?.[propertiesId]?.count == 0){\r\n setCountBox(false)\r\n }\r\n }\r\n }\r\n }\r\n }, [layoutContext.basket]);\r\n useEffect(() =>{\r\n if(activeBtn != null){\r\n if(activeBtn == priceIndex){\r\n setCountBox(true)\r\n }else{ \r\n setCountBox(false) \r\n }\r\n }\r\n },[activeBtn])\r\n\r\n useEffect(()=>{\r\n if(countBox){\r\n setActiveBtn && setActiveBtn(priceIndex)\r\n }else{\r\n setActiveBtn && setActiveBtn(null)\r\n }\r\n },[countBox])\r\n\r\n useEffect(() => {\r\n layoutContext.setBasket()\r\n \r\n\r\n }, [ItemData]);\r\n\r\n\r\n return ( \r\n
    \r\n {countBox ?\r\n <> \r\n {setCountBox(false)}}/>\r\n \r\n :\r\n \r\n }\r\n \r\n
    \r\n );\r\n}\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getItemStoreListApi = (async (rootId) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.store,\r\n method: 'get',\r\n params:{\r\n rootId:rootId\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getItemGroupLabels = (async () => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.itemGroupDictionary,\r\n method: 'get',\r\n params:{\r\n\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nfunction blobToBase64(blob) {\r\n return new Promise((resolve, _) => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => resolve(reader.result);\r\n reader.readAsDataURL(blob);\r\n });\r\n }\r\n\r\nexport const loadCardImage = (async (attachId) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemApis.ItemTree.attach,\r\n method: 'get',\r\n params:{\r\n attachId:attachId\r\n },\r\n responseType: \"blob\"\r\n}).then((res) => {\r\n\r\n return blobToBase64(res.data)\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)","import \"./style.scss\"\r\nimport { useEffect, useState } from \"react\";\r\nimport { loadCardImage } from \"../../api\";\r\n\r\ninterface ItemCardImgProps {\r\n attchId?: any,\r\n\r\n}\r\n\r\nexport const ItemCardImg = ({attchId}:ItemCardImgProps) => {\r\n\r\n const [src, setSrc] = useState(null);\r\n\r\n async function loadImageAsync() {\r\n try {\r\n const res:any = await loadCardImage(attchId );\r\n setSrc(res?.replace(\"data:application/json;base64,\" , \"\"));\r\n \r\n } catch (error) {\r\n\r\n }\r\n }\r\n useEffect(() => {\r\n if(!attchId?.includes(\"0000\")){\r\n // loadImageAsync()\r\n }\r\n\r\n }, []);\r\n\r\n return (\r\n <>\r\n\r\n {/* {(attchId?.includes(\"0000\")||!src) ?\r\n
    \r\n \r\n
    \r\n :\r\n \r\n }\r\n */}\r\n\r\n\r\n \r\n );\r\n}\r\n","\r\nconst hat4 = \" data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD//gA8Q1JFQVRPUjogZ2QtanBlZyB2MS4wICh1c2luZyBJSkcgSlBFRyB2NjIpLCBxdWFsaXR5ID0gODAKAP/bAEMAAgEBAgEBAgICAgICAgIDBQMDAwMDBgQEAwUHBgcHBwYHBwgJCwkICAoIBwcKDQoKCwwMDAwHCQ4PDQwOCwwMDP/bAEMBAgICAwMDBgMDBgwIBwgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDP/AABEIArwFAAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP38ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKM0bqACijdRuoAKKN1G6gAoozijOaACiijNABRRRQAUUUZoAKKKKACiijNABRRRnFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFGaQuB3FAB/nrS7q8O+Of7fvwg/Z5/0TxN430lNSIITTrOT7ZeSHpt8mPec/7+K+Ov2gf+Dg3+xJ5LP4d/DO+1J5f9Xf+IL37LGP+2EO9/zdK78LleKr/wAODOGtmWGpfHM/TQHHas/VtcstA05rq+vLezt4/vzXEnlon4txX4P/ABg/4K7ftHfFGzupn8aR+F7byzss/DNilrHz1fzn3z/J/v187+JPHniH4v8Aiy2fxN4h1zXL+P8AeXSalqM915n/AH27161Phit/y9lY4Z53D7ET+gT4h/8ABSb4F/C+5e31b4m+FftSJvMNndfbpP8AviHfXkfi/wD4LgfCHRxdR6TY+Ltcmt03/u9O+yxyf7jzulfjlpdgmlyeTZ28ECW6b9jp/rK29LutSlkeG3ufLhjT9/53+sk+f/0CvRocN4aP8Rnm188rfYP04f8A4LkL4hhX+yfAa2S3H+oOoap5kj/Jv+5Ch/8AQ65XW/8AgsT8R76H/Q9F8J2af30hnmx8n8e56+CfD91cxRKkSeRbR7PItof+Wmzf/HW9o9+91qjtskgs49j/ACP5nmfJXuUeH8vj9g8upnGM/mPqrVP+Cn3xy1TyXi1vS7GGT5/9G0iHzP8Ax/fWJe/8FEPixrNv/pHj7VNNTzEPnJaQR+Wjp/uV8/2/iO5tbe2eJ/PmkRPuP/B/fqJLp/FGnp5VzH+7gR3Tf/q/n/uV2U8lwv8AJA4Z5rX/AJz1t/27filrGo2u74meLLdfM2TeTc/u/wD0Co7z9sj4wxCBoviN4weGJ/33+mfvH+evKo9BhsI3+1XNrdeZA8CQon+s2PVm/wDFD/O9rNdR3MiTJ/pLp/BXV/ZeF+zCBjUzCv8Aamen/wDDZvxn0/Rzc/8ACxvEmxPk3veeZ9x/9ytYf8FEPjRaRf6L4+1uN43nT99Baz+Zs/30ryCzlmi0+5hv/tXnb5vkT959o+TfVaPXktY5oWhkj+0I/kPbJ/sb6P7Nw0v+XUP/AAEKeZYr+c9+0/8A4KsfHLR3um/4SnQ9SiRJPJ+06LD5kjo4+T5Nn94Vv+GP+C2fxc0uR4dU0HwLqEmHeP8AcXVr5n/fDyV8p6xL/bOoJtdJPMn/AH6On+s3wVDb3VtFI+5/k8/7n/PN3SpeR4Censolf2zjYT+M++tF/wCC7E1tdSQ618M5JvL/AOWmm61H+8/4BMif+h16j4M/4LR/CPxFOtvqtr4q8O3O90dLzTvOWMp15geSvy9jl+/NE80c0ifJvT++lP1S682OGZvLke4T/lj/AKyP5K8uvwngJ7RO6nxFjIbyP2l+G37c3wj+LSbdB+IXhu5mx/qZrr7LL/3xNsevVre+jv4VkhkSWNuUZWr8B0uk1S4866htY0uE3ojp/rK6bwZ8aPEHgDV1bwr4q8ReGRJ/yxsdReCP+/8Ac/1f/jlePX4Lf/LmZ6VHir+eB+7GaOvavxs0n9uj43WdzItl8StemWN9n+kwWs//AKGla+if8FS/jnbXDwv4vsLvy/kT7ToMG+R/+AbK8+fB+NX2ono0+JsNP7LP1/yfSk5Nflif+CvvxesbCH7PbeEtSm2b3+2aXPBHJ/3w9U9P/wCC4/xy+27V+FPw/wBZSP76W2sXVpIP++0euGpw1jYdDr/t3C9z9XAaaw5r83/Cv/BcjxtNG66x8C4IJtm/ZbeMoPM/74eGuv8ADX/BcjR5ZAviD4X+LdDx9949Qsrry/8Ax9K5p5LjY/YOmOZ4Z/aPvMnFNZRXzj8Hv+Cm3ww+K22P7bqWgyf3NTgHz/R43evePDPi/S/GVktzpeoWeoQt/Hbzhwa86pTnSnyTOunUU480TYoooqTQKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAJ4poIJoI4rzP46/tVeB/2ctM87xRr1rZXEi/ubGH99fXH+5Cnzmqp05zlywRnUqQhHmmem9BXGfFT43eEfgrpBvvFXiLS9BtOdhu5tkkh/wBhPvv/AMAr4T+PP/BWnxP40ims/A9j/wAIrpvl/wDH/cIl1qUn/bP/AFcf/j9fLPijxbf+N9YfWNUvr7WNSk/5ebx/PuP++3r6bA8K15+/iPcR4mKz6jBfufePtj42f8FmrHT7S9t/h14TvtcvLf8A5e9aR7G3f/ch/wBZJ/45Xw18av2z/jF+0BvTxV4v1i30q4+d7DSv+JdaR/7GxP3j/wDbSSp7PWb+KR03x/u3373Sm+IPG9toO/7Y8E80n/PFP9Z/v19VgcvwuF+Glc+cxWLxOJXvSPJLzRk+RLW2jgS4f59if6uq3iDwReXWnwx3FzHBDIn35v3fyV1uofFpLqR0t7aO3tpPkTYlZtxqsN/eJc3CSTv/AAfPXu2lLY8f3InAah4Ns4rh/stzJJDH8n7lP3dWbTS7PRrf5baBL+4/5bf8tK63VNKs4tL3xJJvkTf5NcrJsikR5XeTzPub/wDlnUfUeY2+vTgVk0a5uoHmZ/M8xP4P7laXhvwu+qXltNL+7hj+Te7/ALyrOl2DyzpDKskcO/8Agf8AdyVty3/lR71/dvGmz7lR9VD62TXFr5VvC/2mPyd+/fC/8eyiPXnljtoWeONI38idP+2FY9xFeS/aUVPL8yD+D/ln8lTW/hy5v40h8n5I33/O/wC8krup0YHDOc5fAaUeqPdXFtbMlvBDI8LvMif6yoZJXlt3RY/MTyf9Sn7uT5H/AI6LO1+yyW1s00kkOxE2f7j1NcSwyyOjp5aW6Onyf8tPnq+aBn74zykks7+2vEjgWR5kRP8Anm7/AD/PRbxJpdunm/6VNcO6bET/AI9/k/gq/ZxfatQfykkkm3u+yb/Vx/JWlc6onmeTKkcbxv8Awf7aUc4/ZlD7Vc6pcI6PdT/On8H7v7lVreWT50ZJ9nyP86f6uun0OWH7PC7LP9p+TZvq/b36eX5KvJH8n8aVjUrl06HOc3p+l+V5O5ZI/MRPnRP4/uVj65a3MWoO6p8kexPnT/WbPkrv/t9zFcb4kk2SJs2OlWLy6ews3muntZIY9/ybP+B1n9a5Tf6jzHnel3bxae73DySfY0R/n+T7lWdGleLfeND5nl/c+f8Ad/I9aWufFC2iuHhtYd77/M3ulZV54kTWY3/6afJs/wCelaU6k5/YMKlOEftD/sqS3jzS3Mf/AMb2f36P3OjW7ozwfvP3n3P9XRp9/bX8b7UkjSP+N6wdYlb7Q/ySbPubNn+sranTM/afyHSW8r3UaW38Ef3H/wBX8/8Av1saPdPa3jvL5Efl/Pvf955iVx+n6hcxfPbv5ltGnlvseuh0u6ePyXZZPJ3o877P9vZ89RUpmmHqB40k+1aPNtfy32fJ89cnofxBfwvcQpHNJIlumx97/vN9XvHl/Nf6Xvt38yG3RP8ApnXDXGswy65qrxfOkk+9POT/AFabKKFHngRXqThP3D2bQ/FEPjezV5U8y5jT9w//AC0jerOqaDb6n4Ms7y/jkjmkTf8AI/8ArK8u8L6p/wAI5HNeM8kflo7vMj/u5Pkr0XVI/wDhF/hZpVss0d1DeWqT+c7/AMdctbCwjM9DC47m+M5jR/Ed5ousO9rJJ5Mb/wAaf6x69++Df7RmseHLiFLiaSCb+CZH8uSP/vivmnQ9Um/tS58mTz7mN02Wz/8ALwn99P8AYr07wXdWesR+cqSQeX8k+9P464MxyujVhyzgduXZpXjPmhM+wvCH/BT7xZ4JvFhvP+JhZx/J/p6eZ/4+nz17b4P/AOCsnga4Ef8Awkmm6xoEMnW/ii+3WMf++U/eJ/3xX5xeKNU82NEZ45/MTf8AJ/yzrBt/G95oEnl/69JH2I6f6uvmf9WaM/gPoZZ9OHxn7h/Dr4qeG/it4fj1Pw1rml65p7JvE1nOsif/AGNdOetfh5ofiN5rhL/S7/UtD163fz4LzR53sZJH/wCAV738Cf8Agqf8U/hNJ9j8XQ2vxA0iNPMSeWP7LqaJ/H86fI//AHxXl4jhmvD+D7x10M8oz+M/UdW3DmnYx2r58/Z3/wCCknwt/aMt0j03Wv7J1Ho9jqsf2WQP/v8A3D+de/xSLKisrDFfPV6FSlPknGx7FOtCouaDJqKKKg0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACijNRSSrCjMzcUAKxx/DXEfGb48eEf2evB0mv+M/EOn+H9MjygluZPmuH/uIg+d3/ANhBmvmb9t7/AIKtW/wTsX0f4caP/wAJp4jkk+zPfiTGk6Y/u/8Ay3f/AGI/++6/N34pfE/xx8e9bude8RNdeKvEkiOllNeJ+7jd/wCBE+5DB/sR/wDj9fRZVw9UxHv1vdgfP5ln0MP7lGPPI+tv2hv+CzuqfFCZtL+GqP4X0ec7BrF5H5l/On+wn3IP+B73/wByvkPVPEdn4i8QPqurX99qut7989zM7z3F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tiYn7nhzQW9a+QP2YP8Agrl8P/jXdWek+KLiLwb4juG8tPtMv/EtvX/6Y3PT/gD4NfXUciXKqyMrL618XisLWw8+StCx9Rh8VTrw56TJ6KAaKxOgKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooATOKTOBQMGvmv9tr/AIKG+E/2RIF0lV/t7xrfR5s9It5ObdX6TXL/APLGPnP99+MDuNMPQqV58lLcxr4iFKHPM9b+N3x58Lfs9eC21zxVqkGnWW7ZCmd811J2SJOrv7Cvzc/aj/4KN+Kv2kNUm06xkn8H+CY/+XBH/wBL1P8A6+X/AOef+wn/AI/XgPxB+P8A4v8A2jfFzeKPFmpSarffJHBCibILNN/3IYf4P8/fqOPWXkkSGVI5Hk2P/wBc/wB/X3+W8P08L79f3pnxuNzqdf3KfuxOjt9Zhht0e1h/0aOBN+x/9Xvo0+wm1S4m2v5aR/P8n7usHxBElhbvuX5o0dPJRP8AV1lR+Lby10+RIpvLf5/+uciV6vsJy+A4facvxnZ+IPFth4Sd4Zf3bxp8iJ/rJNj1xmqfFqa6km2pJbw/P99K5nxR4yhtYn82aCSaP597p/q99cRrnxBeXWEh3xzv995nfy4466qGBOetjjrfGnii5mjR/Mj2Sf3/APWSb6oXmvTXVnvlSC1hk/v/AOskrj7PxH9q1B3uHjtf4E3v58fyU/w/FNrNxNbSpPdW0n7h97/6uvS5IUoHn0+erMuafLZ+I/8ARlSOPy0373T93GlM1jxba6XcW2mqk8dtG/8Af/4+K6XVNLt9L0+5h861jsNn33f95JXm3izxlDfa4mm3FzBY2eoPsndE8uSOFPn++/8AHWFOftffmdVSHs/cgZviDx5pUtnfzXVz5kOlwb0tkd4/tEzv8iP/AOz1jx2Gg6DbvcxW089/In39j/u/9yuV/su2i1CTUpUntftjvs2XX8H8G+uq0eVLWTzvJSO2t/nn3o/7xP8AY/66Uq2K5DOjheeZ3Pge1m8OaOn2p/tU2oPsk3/6uPfXc+H/ABamlo8NvsuHjT+P935n+5XjNv4je6ktns1uIJrif9/Ck/8Aq67PT5UiuETzp7qb7/z/ALvy68upU5z1qfJCB6XpfiO81SNIVtvL+TfvT+5Wx4etf+EyjtrbZBJbbE/fO/7v79eb6f4jeIRvFbQXTxp8n/Tun+3W3oeqTWsj20SSSeX87vM/+rfz9/yV1Yc5K561Zx2elybG8uCHYifJ/wAtPnot/GX9l26PZpPJNJ/y2mT/AG64aDxHNdagkMDybLiNHfzk/wBX89bEfih9Ls98vl+THJ/38/f10ewMPbHVWfiiGW2eHd59zGiJ87+X5nz1Q8Q+KPNkRN3kTRvsff8A8s9n+3XMahqn9qaXN9lto4/M85JPk/1fz76rWfhe5+0P9oSSCGTek7vPskk+TelFPCw+2Z1MVP7B0Or6y+jW837mSfy3ff8AP5nlpUMmqPFvdYbp/s/nf8sPM/26ht9UhiRJontbr/lg8KI/mSb0p/hvVG1SO5SVILGGR0d0mTy440dK2p0OUx9uX7zxastvc/JHPNcfJOkyfu496b6wfKtpbt/NSef7Qjujo/7uP5PuVNo91YQyIkrx/wDLHyHmfzI5H2PHWVrEvm2yTWqQSfaHtfP8l/3cn8HyVpTp8oe3GR6y+qXEyKiffd03/wDLTfBWbqGlpJrDzNDHG9xB5/yP5nl/JVzT7X7VqCIz+Ykfkuju/wC8j/gq5bxJdXCTfuJPs+x9j/8AfFdXwnJ8XxmbeWvmyedF9q/d/P5MKf6v+P79b1vsi3vcPcTwySP99KrXEqS29tftbSWvyff/AOWe/wC5VnT5Ybq8RLeHy3uNm9/9v7lSb0yaPS4bW4hR0kj+f/Uzfu5JKuWel+VeQ3P2b5PubHf93vpkl1H9o86zfy3k/wBf5yeZJ89TXF/NFI6KkEibN7on/faf+z1zmnuE15LDo2sTI375JPn+RP3dWtPuv+Ejje22eY+/yN7p/n/YrD+1w6pqCQ3Hkf6P8/7n/Vx111v4otdG0O2msrmP7ZJ9+2rCfum0Dxj4j2E2l6xf+an76N4YPnf939/79Y9nbLqmoIkrzyJ8j799dP4wlh1nXPtjPHI8k6I6Tf7e+mR+DYYrhXaGOOGP5N6P/q69GnU5YHnVqfPMx/iZa/2NH4es7dJN8k+/5/8Almifx/JWP41ludGkSZZpIHuE2On/ADzq/wCKLqaX4seTFDHJZ2dr/rnR/vu+/Yj1ieJNUe/judqeY8b70RK0p/zkVP5CaO/hutL8PIzyRvGkyTPv/dyb33/JXqPgOJ4rP7Ss08iW6bP9Z/rK8ruN/wDbFhYWqefYW+nWqJcv+7kkf77/AO5+8317B4Hihi0p7bZJI8ibNj/8tK563wGmE/iB4g8m6j86JI5Hjf8Ag/5aVQt4U1S4d/8An4+T50/1eyovEeqTaXb3O1JI2jf597/6t6q29+n2OGHZJJ5nzvsesadH3DtrVvfNiOK2ubdof3m+R9kGysGSK5tbjyd8kiW/7ze6f6yrNv4j+1SNDskjhk/g30ahfpLpczt5cjx/P/1zq6dMidaE/gNKz8R/YLdZokgks5PneH/WVq6npb3Ucd5pqQf76f8ALOuTt7pLqSFFtv3Mib/kf/Wb66bwxqk3he4Sz/1CXEmx0m/1clYVqfJ78DbDz5/cmU7i1e68ybZJBc7PuJ/sUz+1JrnyYWuY9+/Z86f6uu2vNLhuo38pPL/d/wDLGseS1SLzrnZHG/33dErOnWhIdajOJ5prHg1NG8UPMr+Wl588+z/j3k/4BXu37LP/AAUQ+JX7GuoQ2Fvc3XirwbH+8fRb93njt4f+nab78P8A4/HXlWqWv9l2/wDy3nvJE3wbH/d7KfHr9tdW6TM/mf34Yf8AVx0sXhKeIhyVocw8Pi6lGfPA/Z/9k79urwJ+2L4YjuvDOoi11Xy98+kXf7u8g/4B/Gn+2nFe2ktmvwC/4Si88Jax9v0Z5NH1Kzfz4Ly2fy7i3/2/kr7f/Y+/4LIzWotPDnxYjZmj+T/hIbZPuf8AXdP/AGdP++K/PMy4ZrUv3mG96B9ngc+hP3K3xH6QUVj+FPF2m+OPD9rqmk31rqOm30fnQXVs/mQzp67q2K+X20Z9HuFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFGc0UAN+5QTn6UE8+1fmz/wAFEP8Agqhd6/rGofD/AOFOpfY9NtZDaeIPFkMnV/47Owf/AJ6f35v4P4P746cLhamInyQOfFYqFCHPM9B/4KBf8FSl+FGqXnw/+Fz2ureNI/3Wqaq/z2mgH/nmg/5bXX+x9xP4/wC5X5t3cOpaz4gm1XVJrrUrzUJ0nvbm8fzLi8d3/wBc7v8AfqnHawy3iWdmmy2uJ/kdH8v/AG6uXF9Na3ltCz+XNHHbb97+Z8myv03KcohhIXjufA5jmU68/eNKziTy0doY47OPybpNn/LRN9Q3/jJLqN4bPzILXZ87zP8AvLh99c9eapc6zbwzReZHbbE+/wD6v5HokleX9zs8t43f7n/LSvap4X+c8epipx+Av6hqnlWbozyRwxu/3P3nmO9cf408b3kUjw27yRv/AHN9aWsWE0vnfP5aff8Anf8A1dc14g0bzY/mSf7ZGn33f/R66/Y0zD6w2ctceMfN2XLTeZNv+fzn/wBXU+n6XNr1uzrNH5333dE/1aVHJ4Xm1l3eX7LJ5b/6508iun0fRm0GR7lrq1ns7hNnyJ/6BsrOdTkLpw5ynJoz2ul6a7JayeYn/LsnmfJXSeH/AA5D4c0+Z7y5jgm2b/n3+XGn+xR4b8OXMUc1wz/YYY3/AI/+Wlcr448Wpf6gkK6ldR+Y/wA7u/8Ao9vs/j/7Z1w61Z8n2TunU9hT5/tmD4h+LdtLrCWe3zLy8nS1tfk/v/cT/wBnrlfFn9lfEHxB/pE13PZ6XO6QTTPs+0On332VZuPDlt481R3VLi1023k3wPNdf6Xcf7b/APXT+5VDUNBTS5E+ypPHNv2bPI/1j/7Fb1jho1Of3zY0/RptUt9kVhYyPbvstd7+Z9o/36zfEGsP4X1RNNiuI9RuY0/fv/rI5H/jq5qGqf2Nb3NhZ3Mknlwf6VMj/wDHw9ZvgfwG91cXOq3UyRw79/zp/rK8evU558h7lCHuHQ+E/DltJH/auqPJHc2f7iBE/wCPetu31S5lvHeSHyEj+dHf/lp/wCs23v5teuFRZoLW2jTZa746ueHNG1LWfsdtpb+Z9sd5H2fvPL3/AH3/ANys4GlQ2NDlv9UvLaS1e6kf7j3MKeXHGn+29ekWfhe5tbNIfJ8uaTZ8+z/bpmj6NZ+G9Dtra18u6uY3/f7P+Wn+/T47qbS9PSbfJJDqE9q/zz/399elhac5HBiq0Ily3v0sLdH+zR+dG6ef/wBM0eeq1xqkNhb/AGPZPHf7HRN7/wCr+f79YlxqlzFZ/Zt89xfxwI+9ET92nn/3KhuJrywt0hlS0kTZe/O/+/XqU6B5FSvM6T7V/ZeoTPav5b77qB7lHd/nf/Yp+j6p/alx5P2m6jSOdH+0zfu/neCs2PZLqiJF5/2nz3+eZ/L8zfB/4/TJJXluERngn/48vk/5aSVp7Mn25f0uKaWBJtReeOGN4X+d/wDSJH+5WlceI3Mdnte1kfZBs2J5nmbH2Vm2/ky6fCj232V4/ss/77/ln8/8dVre6+wRvN9pjgmjTemxPMk+SetPZ8xPtDY0u6S6TyVePZH+/g2P/q9j1NeaMlhH9plm8ubZv+dPLj+SeqdxFbRXFzcs8EF5J5yP537vy/nrY1y/mvtQ/dJBPbRpMmx/+Wj7N/8A8XWE9y6fvnN65YeVcTTfZo40kT9/sf8AeSOj+ZU2l376nG8LW0cb26TPv2f3H30ahavFqF1ueOeHUJ97o7/8e++H5KLPVYfMeGJLWB7jZve5/uTpserqEQ9wuebDdao6O8kcNvvf5E/4+P46TVJYZbhEtZI47P5/I2f991Utora1t4YVTyLaPZvhSfzI5N/yffplnqkNr8kvmSeYkP3E/dyf8s/v0ezD2hct7WY3DuySbY3/AHDu/wDH9+r+n6zNFIkKvJ50nz79/wC8j2PWDeaz5tpbQ75Hhj+T5H8z/Yq5Z6pNpd5bWyv58Nwm/wCdKJ0/cD2n8ht6fpaaprH722nkuY/n+ePyPM3pVnXNL8y3uXtXhj+fenyf6yr/AIXtZrWSG8uvLkeN3/4+Xfy49n/2upvFOl/Zd8NqkEHmI7/c/ufJXD7T3z1KdHnpnkVxFNpdxZzXieZcyTum99n7tE2bN/8A4/Xc6fJDrEdnteCSb/UTv/yzk+euSj0FJdQ2XSQSLJA7zu/+rjff/wCjK6r4f+F7nS7yaNnjjh/6bf6uSuqfIcVGnM5jwX4JvLrxp4n1hrzz4bef7Fsd/wB5Js/gSuM8b6WmqXD20MMlreeeiff/ANX89e5fDuLR7rw/4gdoZLWa4vnd9n/LR64PxR4cS68UW3+jR6lNJOk/k/8ALSR3ow9b4hYqHwnPeC7WaXVLmG1trqe20+6dHfZ/q/n/AI69F0e6+yxvNEke/wC55P8AzzrH8F2n9qSPNcJdWqST75ET+/XV+NNGfS9LtplSDZImze6fvKitU+waYWny++cv4ssJtU1CZ5UjgT7nzv8A6zZVDT4rm1s0WKGPZG/30f8A1e+t6/unluNkSRwJs/fw/wDPT/bSs242XUczrDHHNbp9yH/lolOh/IFaHvmdbxLFG/yeZbSP/c/1lSx6W+l7/KSOTzPknRJP3dFvav8AO6pBIn3NjvUJuX0byXl8xP8AcnrqqHJTqchf0Pw5NLHN5t1dRwyJvTe/+rq59vSKT9758j7/AONKzbPVJrrYivHIn39n+sjjq/HFDFqCbrb59m/yXf8Ad3GyuedP+c3p1P5DodH1R7WNHiuZP3ibEffTbPxl5MiQ3UMckOz76f8ALSsu3uXi0903xxpcfO8P/POljtoZbbYsMcfmfxu9cNSnA9KFaZvahpdh4ot4ZrV4/Ojf/Uu/+rrg/FmjXnhe4meVJ45pPv7I/wB3W3/Yz2tnHMvn7PM3/I9WY9U+1aO6XXmXS277E3/8s60p+4RUp8559Z+KLywk8mXz/wDgf/LSpbzxHc+Y7s8k/wBj++iJ/rEqXxfYW0siPFbeW8ibNm+sjT7X+y/OdvtUlteJs/6511U+Q4Z857/+yP8AtueOv2WvFc03h2aS+0W4/f3mi3j7LG7/ANv/AKYv9z50/wDIlfrN+yl+2Z4M/a78IfbNBupLXVbNFbUtFvPkvNPc4++v8aZ/jTKV+DOl6o+lfZnV/Pfz9k6PXXeGfHXiT4beP7HxJ4Y1q60vXdI3vZXdu/3P+mf+3H9zeklfN55w3QxX7yn7kz6DJ85r4f3J+9A/oeBzQy+lfF3/AATq/wCCqeiftYWlr4V8XLH4d+IaoUVN3l2OubP47U5+/wAfPD1HYuOn2iDj6V+X4rC1cPU9lVR97h8RCvDngOooorE6AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoPIoooAaq4FDDjigNx7V+cP/BUz/gp3Bo+qal8L/At5M8scbweINUs/3hTqj2UX+3/fft9z+/jswOBrYusqVI48bjqeFp+0qmf/AMFMf+Cil58SLnUfhv8ADbUriz8OW7va+JfEFnJ+/v8A+/ZWT/3P+ek4/wBxP46+BriWH+z0s9Ls7qCG3R/IhhT+BE/2KmvNZmutDuWuLyxjto3RILbf5flpv2VNHLNFb3L/ALz7TcJNP50Lv5ce96/UstymjhIckdz8/wAfmU8RPnJtMsJrW4eHfdb977Ef959nTyKfb6X9quU/0aeN4/JRHmg8v7iU/UNe+0x743kkS4eZP3z+XJv2VTvNUubCP/SJpJP36fP/AM89iV6qpzkeT7SESaTS7aLT0SW5fydn8Cf6v56ZcS20UiItzBO/mbH3/vPLrHvLqaWNNs3l20n/AJErE1TWby1uG8q28tNn7+FH/wBYn+f9uuuhhTlr1zrYtUtrWTZdJAjyJ+7dE/1lbEcVhLbp86SJ99Nif6yvNP7Zh0aS2vGfz0k+55z/AOr/ANz/AO11cTWXiuNivHIkn79NlaVKBz0a3LM63ULu20t7lFeOC23/APLaD93H/uVlWdql1I7K/mPH8+xP+WlQ3EU2s3CfbXkjhjTYj/6ySSsTxZ4303Rt9na38dj9n/gT/j4krzalPm9w9anU5IcxX8aeKEl1SawuL/TdNSNN6f6V5clxs+d9lcdb6WniOOG8urDTbWz+5BCifvI0/wBvf99629DiXxRcQ3mpW2lfaZPngs4bX/j3T/f/APQ60vEl/Z2sltbabbT32pXCeXBbW2z94n+/R8HwB8fvzOYuNBS61C2Sztv+JleT/uLZE/1n+3/1zp/jiJPBFuk1xf2trNs8id0TzPLTf9yH/po9dP8AYH0azuYbf7LNf3if6Veb/wB3s/uf7kdTW/w+s/I/tXVP9Kmt3eeCFP8AVxp/BXLWqc51UKHKcRo/wvS6jTUtQ/0XSrN98+9/3lxsrT8SXVzqkiQ29tBawx/6hE/dxx1vXFheeMo4YVhkkh37/kT+5/BWlp/gPTfC9m95qz+ZDbpvSFH8yST/AH65KdA6p1+Q5jwf8P8AUtZktba1s54E2ffd/wB5G9ejafo1n8PtPW2VLqe5jg3z3Kf8tNlWLbxbNqksNtprwaVbRv5D+cn/AACq0V15sly++Oe2s3ukf7M7ySSPv2V108L/ADnLUxXue4Gn2FzFcRvK99apHP5bu/8Aq7hPI/261biwSwFt9qt7qR5HtfuQf6vZA9Mk154pLm2Waf7TH9qngSZ/9HjRIKoaff3+qapbXlv+/tpJ4X2I/mR/6j/br1KZ5VSoMklttLt99qk880dqjpC6fu5P3/8A33WbJplzLb6k8T3Ub/6bOjzP/rH31mx+KEijtprX9/eR6dv8l0/0eT9//n5Kvm6/ealDdJav9n+2o/7/AP1iOm+tPgD4xkl1/wATx5rh447m4fY8O/8A1n+i/wAH/XSpv3Ol29g7J9lk2WTwbH/1f3/v7Kh0O/h1S8mRraGSaznhfY6eZ5m+D+D/AK51j6fdQxW+myNcxwXNu9r8iP8A6z5HqjD2Z1X9qP4o+xpEkfnSQWqb/M/1f7+nxypa6P8A6RJJ51v52xP9tJ65jS5bC7s/tLXPl3MiWT7Ef/WP59XPEHiO/wBLj8mV5IPLtZkmdE/1b+enz/7lV75pT5PtnSXF+l1I8zQ+Xcf6V/H/AMfCP/7PVy4v5ItUh+z20nk+e7ukKeX5f7iue1CR5be5Rraeea4e9R3d/L8v5P4Erb8JxJo3h9EW8kn8y6/f73/6Yf3KjU0gbGl30NzGiXSTxvePDAnz/wAbwVzH2V4rdHukgn8yC1/j/wBZsm2Vc0uWawt7O2s3jk+2Pp7omzzKytYv4bDw+9tf232q/s7WZN8L/wCrdLr7j1nTKrl+42RaWkP2OePy/vu7+Z5myeqGqbNLuHSJ45HjR/3Lv/rNj/wVWuLq58OW9/C0Pl+Y96jo/wDy0R9j1q3FrbapbveW808bxvMj/J+7+eDf9/8A74rqpzOEI5U0G3fbJBBD/tv/AKyrnh+WbWbjybiH5JE/g/1n9yuY822Fv5zPBaw+T57wonmSSOkFdnp/iObVNQ/4lr/Jve1/0l/L8zfBvSnXCmdzpctzFcLZsn+hyJvfyf8AVyfwOn/oFTaxdQ2Hhfzlmut8abP9JfzPufJ/8RVzS5prrS7W5ie6tfkTz/8AnnJ58Hz/AD1yvxAlm16zSZXgjmuH37H/ALn368KnT55nvzqctP3DiY9US18UXLxPHdaVcOjwXkyfvJH2fPv/APH69a+F/iO21TS3t/s1r50f8Cf8tK4bwn4X0nXpLyZrmOO5kn8750f+Out0fwlDo2j6rdRXkcCW8G+B0R/Mj/jR/wD0OuitycvIYUeePvnMfCe1uZfCeqzRXMc9neXszoiJ+8t/nrm/Fkt5pcf2a48/ybx/kd/9ZHW94D17UrD4dolwkEcMn/Psn+s31yWufEL/AISOS201baeS8knhggd3/eSb/kranTnzyMcRUhyRPRfA+qPdW6JqSfPv2faU/wCWmz+/XVa5E+vW6WzJHJN9/wCT/ln/ALiV578H7+51SJ7aXy9Sto/k+f8A1kaJ/sV23iz7NFZu8U1rvj2JvR/3kdclaHLPkOvCz5oHPapoM1rO7t5cabNkG/8A1dc9caXDFqn+jvHsuPuf89JK7CO6ttTt4XZ447mOD+BP3clc9qHneHLjZcP5iRps+zP/AOyV0UKhhXp8hzEkX+jv++k/eP8AwJ/q6fqFhbRWTuyR/vH+TY/+rrb825lt3eSHzLWRN/kpWbqulzXVxvtXgkh3/fh/5Z13e0OH2Zgy3U2lxzQ/vNkj/f8A+Wkdaul3739uzzXl1I8ab/JT93JH/wB91W1T91G8y+XH5n8b1c0PS5LW4fc8E/mJv+dKKgU/jNjS794d/wBqtpIJtnyfJ+8kqGSKG2kd7V44IY/kdHf/AFlTXGs2xkS5dPLS3TZsRP8AV1T1u6s7CzfzU/1aefBM/wC8jrhO72hc0u/t4pPmeRP7m/8A1db1xap9geaVI50uJNnyf8s683vPirD4cs0mukgtYbh/9c//AB773/8AZK6TT/GT6p5P2e28t/7m/wDdyf7lYTgdVCpCYapGkpRLh4JP99K4/VNLSLfDv8iGT9/8j+Z5fyV6ReaXD5czr5kabN/nVzGuaNDLp8Lt5G/+DZ/y0q6czOtD7EzgPsry62n/ACweOTf8/wDy0+f5P/Q6uSXVzLZu908caRpv37/9W+z7n/jlTaxpbxSPMySeds3/ADv/AHNj1DqF08VvNZrJHPDcT7Puf6z9+9dEyKZNocqR6hbXLP5dzG+xHhfy/s7/AMD/ACfx/cr9S/8Agnv/AMFSI/ENrp/gr4oalanUJHS10jxHK/lx6j/cguf7k5/gf/lp/v8A3/yf1Sb7LcpMqfPs3+SieXJH9yutjleXS2huPI+xySPazwv/AMtP7leJmWWUMbDlluerhMXPCz54n9GbHK0DAr8u/wDgml/wVfn8HahpPw1+K2qebpd46Wvh/wAR3L/vLRv4LW8fuh6RzH/cf+/X6hqysK/Lswy+tgq3s6x9xgcdSxUOemPooorjO4KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBDSYytKeBXyz/wAFKP29Yf2QPhwun6HJb3XxE8SROmi2j/OLROkl5Mn/ADzT+DP+skwn9+tKFCdefsqe5jiMRCjDnmcF/wAFR/8AgocvwS0u4+H3gnUo7fxVeKg1fUYX/eaBbSfwp/09SJ9z+4n7z+5n8n9Uls7/AGWa38cENvJ56b0/eSfPv/77qHxJ42vNTkbUtUmnn1vUL2G9vZrl/Mn1S6dHd3f/AG6zdQukljs7mztrXzpH/f8Akv8A9MHr9ZyXLaeCo8sfjPzPNsdPFT5pHQ+G9Um8yG82QXX2j7Kmx0T9471Zj33Wnu8X2qOPZ87u/wD03/jrBs9Um1CS22wzwfJZfvv9X/v760pNU+1aej2s1150dkmx0/efZ/39ez8J5C55HZ6XrMNrvtrq3k/dvNs2J5nlv/8AbKs6X4cTXnfzbGCxh3pJ8k/7yuSt/FD+HJ3tlhkn1WN3+R38zy9/8b1DH8UJrXWNjPJPeSP9x0/dx1j7/wBg6qfIdJqnhJ4pHSN4LhNmxE+1f6us238JP9nmS88vZH86b/8AlnWrp/iOa6t3muIbrZI+zYll5lxv/wA/x1Q8q5ivJprjStSsYZE3wJv8+ST/AIAn3K6Kdef2zlqU4fHApyfCq2uY3kiubWTy02fP/wAtKZJ8OXsNLe8utYsY7az+/wDOn7tKoa54csPEd5bXN6888Mf7iBEup0jj/wCAVNHJDa6f5lx5Ec2/9xv/AH/loldXv/zmXtIfyGP4s+KKaXJDbWttdX0M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r/7N5H2N3/fb/M8tEn/+zo0OKa6+wMrzxpbuiIm/zI43d3SsqZt7MZJapJpbzM/mPHPv+R/9tH/9nqnp9291GjzrHG9w/wB//lpH99P/AIiprz7ZLLM8ttayQ7PI+f8A5afuP/sKh1y/hv7d5rdPP+zu7/In+kbPkf56PaEcjLMd1/al3bos3meYnmfJ/fT5/wD4utvw/qj3V5bea9rHNH87/P8A3K57R5oZbh7lUggvLOT596f6xH3pTLjVEijuX/1b3H79P+ecf8da6i9nM7zVZZorNPMv/Lh+59z/AFlFvdW11cbGeeOaNNjo/wDrJKytQK6hGk0jyeZ8nn7/APP+5VDS9emi1DybiaORPP2I7/8ALT565Kh306czttPtfNuHSJI40uI987u/+srBluoZY/O+0/akj+Ten7uSOrlxrKWsiJEkc8MibNj/APslZuoRWv2h7m1mSCbZ5GzfWkDCp7pNceZ5Ftuk8/8AjfYn+rrH+MOszaX4bSwV/L/tR4UfyU/1m9624JYbqN4WSODy3/8AAisfxpFDqn2PanmTR75E/wCAVx1Ie+aUfgOe0fxRpsWsXKK88aXmopAmz/l43vW9rHjG20b4gQ2FwnmXke9Pk/eeY6Vyun2v2H+wftVt5kN5q/kTzb/L+TZ/4/8APsrOklvJfiZf6kyRyJbo8Hzv/q9/yf8AxdZ+z5ph7T3PdPbtcuv7U8cWzxTfZb+REeB9/wC8t3++lftN+wf+0tD+1N+ztpWvSPGda08/2XrUaf8ALO9h+/8A99/I/wBHr8TfD8X2m4s9yfPs/wBc719R/wDBJD9pNPgz+1M/h68uvL0L4hyJp77/APlnep/x6v8A8D+eH/gcdfK57gfb0faQ+wfVZNivZT5H9o/X2iiivgT7QKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKa8ojT5qADy6Nlcj4l+NPhXwb/wAhDxBpdq/9zz97/wDfCc15v40/b88FeGY3+zLqOqNH18uDy0/N6dmVySPd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9KbQAzyvpR5X0p9FAB5NM8r6U+igAooooAKKdso2UANoo8migAooooAKKKKADyaNjU7fRvoAbRTt9G+gBtFO+Wj5aAG0UUUGgUUUUAFFFFABRRRQZhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQaBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRSbBQAtFFFAuYKKKKBcwUVJRQSN2UbKdRQAUUUUAFFFFABRiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACo6kooAjop2yjZQA2inbKNlADaKdso2UANop2ym0AFFFNw1BVkSfLRso2UY/2aCQ2UbKMf7NGygBuxqKdsptABRRRQAUUUUFcoUUUUEhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFO2U3e1O30AGyjZTd7Ueb70ASUVH5vvRQBJRTfmo+agB1FN2H+8adQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRiiigAooooAKKKKAG7KNlOooAbso2U6igBuyjZTqKAG7KNlOooAbso2U6igBuyjZTqKAG7KNlOooAbspuxqkooAjoqSigCOipKKAI6KkooAjop2yjZQA2inbKNlADaKdspuxqACiijzfegAoo833ooAKKKKACiiigAoo2NTtlADaKdso2UANoqSigCPY1O2U6igBuyjZTqKAG7KNlOooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/Z\"\r\nconst hat3 = \" data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAK8BQADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKN1FABRRmjdQAUUUUAFFG6jNABRRuozQAUUUUAFFFGaACiijNABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUZozigAoooNADeg9KjJPbmiTasXzyKK8t+K/7W/w4+A9u7eLPGWg6TJH1hlvUac/9sV+f/wAcoNKOHr1ZclGHMepiT/OKZM3PUV8M/Ff/AILqfDPwb5lv4V0HxV4wvI3SGPZAljbyf8Dm+f8A8crwf4j/APBcf4pa9Ii+GPC/hfQbO4fekty82oz7P7n/ACzTfWMsVTR9RgeCc4xGipcn+I/WCKRiPmFVbjUY7CFmd41SPlmd6/DHxf8At1ftIfHbUXT/AIWhrGj6bGnzw6RBDp8kn/fCeZ/5ErK/4RfxJ4y1Db4j8Q+IPE3l/JP9v1Sef7Q//A3euf66j6Cn4Y4uP8erA/afxR+1X8M/BRkbVvHXhLTjH99J9Zhjf/vjfXB6r/wU6+BOjxTf8XI0S6+zo7v9jSa6+5/1zR6/JS4+F+m+GNDd10q1ghkfZsREj8zf/wCP/wCx/wB91yVvrNzYahM8s32628/7FO6P/wAsYPnnf/2Ss/r0j6DCeF+Gn/Eqy/8AJf8A7Y/WrxD/AMFl/gjpTMtvqmuX/wAm/wD0fRp/n/77CVyd7/wXk+DYH+j6N8Qrz/rjpKR/+hzJX5laprKapo6XkttH9vuP38D7PL+d/vp/3xXMahLDNI/2y2k01LhPuJ+78t/7+/8A65/JU/W5ntQ8L8pj8fP/AOBf/an6vX3/AAXL+GdjZQ3K+F/H01ncb9kyWdr5cn/kaqKf8F5/hULxIZPC/wAQIZJJDH/x5W3RPvv/AK77iV+XHh/VXluH81IILmN/k2f6uOb+D/v3H89Q+JNG/wCEot7b7PbTwWcaeRA6P/x8WW/+NP788lH1uZp/xDPJv5Z/+BH6tx/8F3vgrLb+Z9l8beV5Pn7xo3mf+gPXX6J/wWG+COs3HktrWsWL/c/0nSJ49n/jlfjlZlNGnmTZ5b79j7E/4+Lr/wC1x0+zurm6+zQt+8sI0373/wBZJ8/z/wDfyT/0XR9cmctbwyyrpz/+BH7a6f8A8FNvgZqjpGvxC0eCaT+C5Sa1/wDQ0ruvDv7WHw08Vp/xLvHfhW6/2I9ThL/+h1+HVhdfZY4X3zzzRv8AJ/zzkf8Av/7iVj+KJUtbj5rC4+wbP3G9PMt7hP4P+/n36v61M8qp4XYaXwVZH9Cul6/ZavaedbXVvNGf44n3pVj7Rn3+j1/O5cazqUu99Jv77TZv9QkOm3s9jJ/45s+Sun8E/t8fGP4ZXL/2P8SPEMhs9lqljqV59qgk2f3PO31pTxq6njYjwtxH/Lir/wCSn9ASyA/xfpTjX41eAP8AguD8aPBtxCusWnhPxTDcR7kR7J7W8l/78vsTf/ufwV9C/DD/AIL+eHdYeGHxZ8PfEWkTfceXS7qHVI45P9z5Hrf61TPncZwHnOH+xz/4T9DwcGlHK180/CP/AIKn/AP40X66fpXxK8M2mpSdLHU5/wCzp8/c2+XPs3/8Ar6KtryG/t1lhkjeKT50ZD9+tj5ivgcTQlyV4OJoUUDpRQcwUUZxRmgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoozRnFABRRms/UtVg0m0muLiaOC3hTe8sr7I0WgEm9EWgfk9RTZW2xbv518e/tCf8FjPhr8J5r3SvCi3fxD8QWafOmnOI7GB/wC494/7v/vjfX5/ftFf8FUPi58bI76G68SL4WsZI9n9l6FvtfMT/lu7zf690/ufPHWM8VCB9dk/AuZ4735R5Id5H6wfHX9ur4Wfs42zL4q8Wafa6kU/d6Xbv9qv5P8Acgh3yV8vfF7/AILK6gS6+A/B3+sPyX2tTeX/AL/7mH+5/tvX50eB7qHS9PudYurD7Lc6o/ybP3n3PuPM/wDfrodH1n+3tI2Sva2Lyf6iZ/8Alo71yfWpyP0HA8AYDCz/AH/709W+J/7XXxM+NtxNZ69441yRXTfHaaQ/9nWsifcTekP3/wB5/wBN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3/JMn9+t7xxqk0ul/vUtf3iJveF/3kiP/sVz2nhL+SaFbm+je8/jmTzI49legePhaHu88yb+1Ev9PeZfMgmjTfshSs3xpEl1G95E/mJeJ8+//Wb6r65K+l27/akngfZsR0n/ANY/8b1Lpc32qNEV/LT+5/y0jrM6vZ8s+csfAL9pfxd+z5q6f8Ix4gurX+Oa0m+exu/+2P3I6/QP9mP/AIKZ+H/iysNj4tt4/C+tfcdy++xn/wCB/wAH/A6/NzxBEmlyXNyrweTH9/Yn+so8J+KE8z91bQWqSJvSFH/1lFPETgeLn/CmCzGHOoWn/OfuLZ6jDqMCy28kc8TpvRkf79WpeR0r8uP2fv2oPFnwQgj/ALHvPt2lyP5j6dcSb4JP7+z/AJ4/8Ar7i+An7YXhn44QQ2qzf2VrkiZ+w3b4kk/65P8Ax/hXpU60Jn4vnfCuLy983xwPax0oozkUZrY+ZCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKCcCiigCvHL+7X5aeWAGdv60yUiKPMjYWvzt/b3/AOCot1PqWp+BfhRcbpoH+w6v4lgk/d2jv/yxs37yJ82+b7kf+/8AcKklFXPVyXJcVmmJ9hhonqP7d/8AwUu074IC68LeDZrHVPHQTZO7/vLHQP8Abm/vzf3If++9lfmp4q+JOu+JvFeq61eXc2seJtYn2Xt5fPvnkf8AgT/YRE/gj+SOs63tftV49svlyfJ588MyPJJI/wDyw37/AOOST98//PSptDsEikdFeGRI0f8A09P9ZJD/AMt3Tf8A89JPkrx8RUnM/ofh/hfB5RR5Y/xPtzCCKa1uGv8AVrmCe5t/nRHT/Vp/8XJV/VPEd/qnyRX/AJk1mmzZv8v53/grn9U8eW0Vv9ms0kvr+R0nnhhfzI96f6hPn/77rMvNUe/jR2mng8t9iPMn+sf/AJbv/v8A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v/LG9/3JPuP/AN9/wV24Gvy6TPy3jvhKniaH1zDfxYf+TH65DpRTIZlmjDDoafmvbPwYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiijNABRRQelAEM0I3Bq+V/+Cpf7fVv+wl+ztfapA1rN4y8QF9O8N2cz8STbPnmf/YT/wCI/v19CfEn4n6P8KvDE2ra1eR2tvbpv/23r8Nf2wfiRpf7eX7ROteLPF11Pf8Ah/T3fTtIsba68u0tLNP4N/8AH5n33f8A4B/BXLiq/LA+q4V4fnmWKvL4Inwt4k8Uax8afiHczXCX2q395ev59y/7y7vHf77vX0h8L/2eH+Gml21zcaTHPrFwm97ZE/1if79b3h/XvD3gPxJNZ6H4b03w7YW6bHubNE+0XH9xN71T1T9ptIo00fS0knv7h3fzkf8A1af7bv8A8868mZ+84TKpJWkWfEmgzXSM+pabdSJ9xLaFP3f9/wC/Xm/iDwlreva5Dc6pZ2siRo6ado9snmeWj/8As9exyeI9Hi1C2fVNburq5jh+ezRP3e//ADsp958QYfs6PF5ljDG+zYn7uT/vuuc92hhIHi2ofs0391qD3mrQ2uj20j74Ed/9IjrrfA/he20bztqSeTbwO894if8ALH+Df/45XYaXo1t4o1BHa5upLnf+/hmfzP3P+fuVvXHwqsPs815cXnkabbukexNn7zf9z5KqnTOudOEIch45HoyS6oljZ+Z5Maf8tn/1b/8As/8A9sq/pdrcxaw6LYRwTae+z7M/7v7RD/fr0WSw0Sa3RdNs/M/ceZBcun7uT/gFcrrml2Evkvav5lzcfInnP/rP8/Pv/wBiOqIp0ynod/pUuoX7tc3X7ufYib/3fz/7f/jn/bSut1iW8ls0SV7W68x/sV0iP/q/459/+xHH8lcZJr1hovh9Lmz8+T7Q/wBttbOG1/4+Nj7Pn/66SfPUPhvS38Oapc2F1f2s9ncbLK9s5k/dx7P38+x/+unyUHVT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AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/9k=\"\r\nconst hat2 = \" data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAK8BQADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKM0AFFFFABRRRQAUUUUAFFGaM0AFFGaM0AFFGaM0AFFGaM0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRnFABRRurjfiF8btB+F9m82qXLxiN9mxEoA7EsDTDFivib47/APBWa18DWVymg6bpvneT5iTX8+//AJabE+RK/Pr9o/8A4K4fErx3eXkkPjbVLGzT5/s1m/2GDyU/d/wf33rP2hvGjNn7Y/Ez40+EPhFpb3nijxVoHhu3jTe76lqENqAv/A6+fPiZ/wAFov2efhrGyf8ACc/29dRv5JttE0+e7k3/APfGz/x+vwb8QfFq/wDFHiu+TVHn1K5kTyJ7mZ/MuJHg/eT/ADv8/wDcrmLzxHqUW+2itp5L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/Ymhfen/AI5X6D/suf8ABfa5C22k/Fzwx5kknyR634eh/dyf79s7/wDoD/8AAK/JzwP8UJrWSbbNBGl5/AiJ/H89dVcazDdRpNK88aXk+y12J/HWfwmfs4VT+jf4I/tOeB/2itC+3+DfEml65DGP3yQSf6Rbn/bh++n416ID5i1/Np8P/Fs3hfxBY6rod/fWusaW/wAlzZ3X2W7t/wDgaV9s/s3f8Fv/ABz8NtTh0/4gWP8AwnXhuTYn2+zRINas/wDfT/UTf+Q62hWuc9TA2+A/XSivIv2aP2zvhv8AtcaB9s8E+Jra+uLcZutOm/cX9n7TQP8AvEr12ug88KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoorzf4//ALRng39mH4X6n428feI9L8K+GdHj8y5vbyTy488/u0/vyP8AwInzvQB6Nxjivzb/AOCl3/Bf/wAH/svy6r4J+Fa2Xjz4hW6yQz33mZ0XQJv9t0/4+pk/54R/8DdK+D/+Ci3/AAXr8Zftt2t74Z+G82sfDP4X3Lvaz/vPI13xBA/33mdP9RD/ANMY38z533v/AMs6+H9LizZoiwwQWcj/AGXYkHmff+ed/wDv3WftDqp0P5zqvin8YvGH7VHxcufF/jzxbqXibxhqj/Zftly/7uPz/wDljbQp8kMCJ/AlN8ORX9/Hf21r5Gy4+eBJv9Xbvv8AIg/3/wCOtLT/AA59vt7Ca3ubWSa4R/3Oz95HNP8AJv8A9+OCnx+HP+Ebt4bloYP3cH2qDyX8v7/7iBH/AO2e965zup0yhqEusf2ffw2qeXbWab3T5I49kD7E2f3/ADJPnqSPwvZ+EtUf7Zc2s9tb7/tTwv5n2hE+d/nf/npJ8n/bOpdU+KFnY6g9tpqWsdnZwQ/6795JH5H8H/bSSub18211I7/6v7RB5E/nP5fm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WeCb+Wzs7zS7mSewkT9xeO/+sRP9z/2p/wA865jxRLNrU7zXE1rJcx/699n7yRP9j/x+tXT7p9Mk+5azvHB57/P/AMfEO/f/AOi3esy8tbnw5cW0N19lS8kd0+T95/H9z/f+5/38oNCro+vQ6Nqls8Vz56RpsdIX/wCPiuj+H/jJ7W8v79X+1X9xA6b0dJJJN6f3KxLe1totcSbyY/3f+o2P5ccaP9zZ/wCOf9+6zbyOaLUERfLj1K3f9/NCn7y4es+QKdQ9R8J+I7m18V2F/LInnSQeQ7on+shRK574gaU91qDzab5GmpH8/wAj/wDHxWP4f8RzapqlhM1ta77N3g8l3/4+P8/+06uapdzX9ul+1h56Rv8Ac/56f7exKIAcZb6D9g2bk/0a8T+P93J/uVt6HdL5b3lu8EF5Gnkfvn/1ibKp6xfvqkltqsU3l/Z5/srw/wDPPfWbb3U1rcJDF5c6SP8APMn/AC0rQzGaha/2XeXkN08CQxp87unmfaNn3NlU9LiTRtY2y20Ek0j7Pn/29+x63/EEiSxvMqSSTbNmyZP3nz1kySzS3EO1I/Jjg8902f6tE2T/ACf+P0AfY3/BJj/govc/sSftAWupedd3XgnxA6WXii22f8uv30nRP+e8G93/ANzen8aV/Rj4a16x8X6Daappl1DfaZqEKXVrcQvvjuEf50dK/kF0/wARvL4sSa3to45o03v5L/8AHwib/wD7Cv3V/wCCFf8AwUI03xX4S034QatqMEjx2vn+GHZ/4E+/Zf74++n/AG0/uUHLXp/bP0+ooorQ5QooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK8z/aM/aQ8E/sm/BvVPHHj/AMRWXhnwroce+6v7k5j+Y7ERET53d/4ETn8qAO/u7qHT7eSaaRI4Y03yO7fIi1/P5/wXj/4LZeG/2vL+++DvgG+m1L4X6LcpLrWp2E+yDxfcx/8ALH/rygfY/wD03kRP4E+fxf8A4K5f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CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKbs/2adRQA3yl/uim/ZEqSigCH7LTfK/26sUUAR7Gpvl/7FTUUAV6KsUUAV6b5lWqbsoAr+ZTPK+tXaKAKvl/7FNq5RQBToq1so8pf7ooNPaFWipPJSjyUoAjpPK+tS/Z/wDa/Sl8r6UARUVJ9n/2v0pvlP60ANoqTY1L5X0oAiop3l02gApPK+tLRQBH5NHlJUlJJFQBD5X0o8r6U+mv1oAgkio8r61LTZIaAIfJo8mpKPKSgCDyvpT/ACak8pKdlP7tADI4qPK+tP8ALp/lfSgBnl0/yvpR5X0p9ADPK+lP8mn+V9aWgBPK+tLTvLp/lfSgzGeXR5dOooAXyvpSUUUAFFFFABRRS+b9KDQPk9qdsFN836Ueb9KAH0UzzfpR5v0oMx9FM836Ueb9KAH0Ueb70Y/6Z0AFFO2U6gBuyjZTqKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAG7KNn+zTqKAG+Uv8AdFN+yJUlFAEf2RKj+xJ/00qxRQBX+wr/AHnpv2CrVFAFT+zf9v8A8cpn9l/7f/jlXqKAKP8AZf8At/8AjlSfYv8Aa/8AHKtUUAVfsH/TSj7B/wBNKtUUAV/sX+1R9i/2qsUUAQ/Zab9l/wBurFFAEX2b/aNL5X+3UlFAEflf7dHk1JRQBH5NHk1JRQBH5X+3R5X+3UlFAEflf7dJ9m/2jUtFAEflf7dHlf7dSUUAR/ZEo8mpKKAG7KdRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf//Z\"\r\nconst hat1 = \" data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAK8BQADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooozQAUUUUAFFFFABRRRQAUUZo3UAFFGaKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAC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n2TJ5nl+f8lUEtbaKR/NeSNLeN/uf8s971sSa8kUfkyvPJ5f9xP7lBhIx/EHhK51nUHSWw0rVrXfsRIbry/k+4n36898SfAK88Bv9si0G6kSSD9/NZp5nlp/t7K9Us9UsIrh9s0cE0ifx/5/551sW+sJa7PKuZ7XzPkSaH/lnvqfYwlsL2047nnPw4/a/wDGX7Mt6l1a/ErX7XS/47HWH/tGx3/3PJf94n/bOSvdfAn/AAVS+Pfji3W80PwP4I1/TY3+/eJe6VJcJ/sP+8/9Ark7jVLC6uPO+x2t9c2/8bwfvI/46hj+I03mJD5PltG6Js316WFxeKofBVPNxWAwtf350T2S8/4LlWPwa8v/AIXB8GfiN4FspH8v+1dIRPEemx/7/k7J0/78V9D/ALPP/BSP4EftYXn2PwD8U/B+valv8v8Asz7b9l1JH/69ptk//jlfBHjDxvf3Xhu5hukjktrhNn2ab955m+vkjxf+zz4D+LXjjUrDxB4ftbpI0861uXTy7i33/wBx69iHFM6X8SPMePPhOFX+H7h/Q9Hwf9XU2dwr8I/2e9F+OH7P3iuHT/hN+0d4wsdFjh/ceH/GEH9v6bF/sbJvnRP+ubpX1B4S/wCC1Pxf+CU/2P4x/BFfFWl2z/v/ABJ8Mbs3Xlp/ffTbn94n/AJ3r6DD53hav2z53FcO4yj/AHj9OSvnU9V4r5y/Zg/4Kg/A/wDa+i8jwl4502PWP9W+kaqr6Vqdu/8Ac8ifY+f9yvo3dmOvTp1YT+A8edOcHyzQ6iiitTMKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAAMUEZoBzWD408caT8P/DdzrGs39ppel2aeZPc3L+XHGlZ35NRxi5OyNhv9T92vFP2jf2z/B/wALWd1cDVde2eYml2j/vB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CWnu7P5EOqO8/wAn/LOZ6qhiKlOtHknynPisHTqw194+7fgx/wAFZIrrUY9J+Jvhm48LPjy01vTXe+02X3dP9dD/AOP/AO/X114L8faP470OLUtE1Kx1jTrj/V3NpOk8cn4pX5p6pLZy3H+lWEEiSff2VVtPC194E1d9Y+G/iybwJ4g+/Jsj8yzvP+u0P8dfYYXPMTS0re8fH4vh2lV9+j7p+q+cdqNwr5D+EH7e/iLRdLs7b4iaLDfPJ8j6v4cR5I/997Z/3if8A319R+EPGOm+PdGh1LS7y3vrO4T5Jon619NhcdRr/AfLYrA1qHxo2qKKK7jkCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAAnApobdQwya8S/aP/assPhDbzabYSJfa95e/Zn93af7b/wDxFYVq8KUOeZpRozrT5IGh+0R+1J4b/Zr0i3bVbiS61TVN6afpdv8APPdunP8AwBP77vX5ffH79pjxh+1trl1eeIL9LX+y4P8AiWaRCj/YYJp3/wDR8cH8b/8APStD4yeJ5viBr7XHiDUr6+1TUP8AQZrmZ/Lkkeb53/3I44/4K8u1S6h/4SR7mzj8iG4ea6g+T938n7i1R/8ArpXwmaZtUrz5F8B+kZHkdOhD2j+MuR372uoTXkV0l0lu/npbJ/zxtU2In/bSSrkel+VePZ2qTyPIkNk6Tf8ALvv/AH871D4b0H+xrjTbaW/jkhs7pLLyUg8zy4bVN8+9/wDrpVm40qbVLdLlWknuZIJrr98/+rurp/4/+2deCfSDLPwbDLcJqV40E83z3uz/AJ5732QJXZxxWcVu9utzP5Nu+zZD/sffrN8L6W8sT+Y8fk+emzf/ALCfuP8A2d6uaffw2tw8OyOeH+47/wCs/wCeH/fyTe71VMip75pXkv2WObc8kf2f+5/yz/2/+2f/AKG9ULjXppYk8q3kkm2efsdP9Xv+SBP+2cfz1TvLpIZPJbzP9R5Hzv8Au5E//bqLS9Uhtd8yvPHNHC7p8/8ArH/1aVn7QVOmUpLWGwjk81JJE8nfvRP9Yif/ABySqcdq8tw8KtHH8/kPvf8Ajf53/wC/daX7m6u0hi1KSS2jnRP3Kfu40h+effWDrGy6t7xN91Jc3H79N6f6ya6f/wBpwVR0Gx5r/Z3dk+eSBHR/999kFTWeqJ5Vz/pPlwx759j/APLNIPk/8iSVlR+N3lvJpmtvI8tHuoNn7yP5P3EH/s71pXFzYWt46M/kW1u8Onecif6PceQm9/8AyJQBtyS22qeH301ZoIE2eRdPN/t/v7r5/wDrnsSkkunit3eJ54EkdIN6J+8t5n/2/wDpnB/6MrC83+1POdbb7UkafOj/ALvy9/zv/wB/Km1S1uZbeaGV4I5rx3/6aRx7/wDX/wDfuPYlBn7M2JJUl1C5mtZLWOGT9+m9P9Xv+S1+/wD8DerNxfpqenQ3jP8AvrNPP+R/9YkHyQf9/JPnrm3unNnMjOkc0abPn/1kl1P8iJ/2zgq/pc1nF51y1nIltbojom/y/LSD5IP+/klTTD2YW9hNdW/+mPJ9mj/0K63/APLTZ+/nd/8AxxKfquvXN1HM8rx2t5JBvf8A67XXyJ/37jqhcbNUuPs0VrdRzSOlk7p+7jkf771D9vuTI1zFbSRzfanuv3yf3/3EH/s9UaezNiTXntZJrxXSaG3f7U9sifu7iG1TZB8n/XSpv7Lh/s/7Hsk/eSJZXVyj/wACf6VPWPJFbWGqXPlPHJDZuib0f93Ja2vzv/38nqaytb+7jeG4uZJPk+yvM7/6t5/38/8A5D2JQHsxkcVza3kiK8clzeJ+4+/5du919z/v2lPt4pv9GmluY5Lazuv3/wAn+rSBNif/ABdTSXU1/eb2mjg8t/tvz/8ALN3/APtdXJPLv7dIbh/30k6Wqf8ATPf877/+2dZgU9L0tIrd4bOSTZJOib3/AOWm997/APfz5Kv3FqkW+aV/Mfz3f5P+Wn8G9Kfpctzc26eWnl3V5P8Aao9//LN5/kg/79x73q5p8tndSJteCRI/nTYnmfuU+SD/AL+SfPWYENvF5Vm8MqSQPveB9n/LP5PnrV8P2CS+SivJI+zYm/8AeSR//u46fqmjQyyIlncwT21u7+fv/wCWkMPzz/8AfySsq4v7mLTP9Fm8t40RN6fJ5bz/ADz/APfuOtuTlMPiOhs9a82O2mt4ZIJpE/cb/wDb+SD/AL9/O9Z2oaNNLcP5vmT20ab03v8A6xIPkg/7+SUml3T+Yj/vJ5ri1+1QWyf6yN3/AHEH/wAXR4gurPS7iGZrm6+zWc/kfZn/ANZIlqn/AMfqiPtmPcReVqE1tbpJ5Nm/7/zv+WiQJvn+f/rpsot9Q+1XEcLef50nko6Tf33/AH8//slQx2tzdXFnbapcxxw286QTwo+zzEf9/dVf1iwm16zRGSSO5uEmeCZP+Wn2p9kH/kOp9mbGbpfiP+2bNHlSTzt80+9P+Wb3U+xP/Idb2nxJLqn2y3+1QWcbzXUCJ/cT9xa/+RKy9PiubrVHubW2SRI5/wBwjp/rNn7iD/2eupiuodGuEh+0+ZYW6b02J5dx5Nr/APHJ6KZnM89/aU8R6V4c8J3k2qbJEs4fInSFP+PjyP8A7N3/AO/deafDOJ9G8P21ncQxxwxvvuoUf/linz//ABFbfx88Uab4jkufDdnc/wBparImy9dE8uOOFP3jzzP/AMDf/v3XT+H/AISwxafpvlfcktYYJkf/AG/ndP8Av3srlnPnmddCfJD3zp/hfLb+Eo9S16V547bS7XyJ/OT/AFkz/v59n/bPZWb4Xis4vBb3P2yee51B/PTZ/wAtIX/3/wCOOtH4qWs3hf4Z+HoVsPPh8WTv56Qv5f2dH+ff8/8A0zRKy/iJYRxaXDDYW0ccPkfIm/8A1j1tP3fcMKfv++cT4g8ZX/g3w/qULNJPZyI7v53+rkrpv2Q/C9n/AMInCl0/mTeTvfyX/dxu715B8XNUude8P/Y7r9x5kn2VJkTy/L/5Z/8AxFe/fsz6Nc6B4PkS4SeeaNPI37/+PhE+SsaHvVi8VD3NDpPtX9jajNbXDySeX/HVmPXXljRFTzE/v76xPEFh9l1/fceZA8j7Pk/5aUW9g9rG6RPJGkb70fy/3klerTqHnezNKTXrm1uP9Fmut8afOiPXW+APj3rXgC/RodUutLvJH+S8h/5af9dk+49cHZyw2txcyXDzwTSPveaGtL7Kt1bzIywSP99Hh/5aVdOpOHvwM6lKnOHJUPqr4Tf8FLbKwvYdO+JVumgyySbINatEeTTZ/wDrr/HD+Pyc9a+qNH8S2PinR4NQ027tr+xu03w3Fs/nRyJ/sOlfkbrkr/Z3hunjke3f/v5Vz4N/GX4kfsx2VzefC+ay1Bd/nv4T1Sd49N1j+/5P/PrP/tp+7/v7693A8RTh7lb3j5jMuGYy9/De6fr8R7VHIMV85/sZf8FC/Bv7Y+kfY4IdS8I+OLIP/aPhbWk8u/tH437P4Jo+vzx+v8FfRkfb5q+vw+IhWhzwPjK1GpSnyVIkwoooziugzCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAG/fFBIjFBPlR18s/tV/teSaZNeeGfC0376I+RqGpJJ+7R/+eML/AN/++/8AyzrlxWKhQhzzOrC4WdefJA2v2m/2tYfB0U2g+HbiP+0s+TdXyfPHZ/7Cf9NP/QK+J/iZ8Qf9HmeW5n/0h/nd3/eSb/nd6h8WeN/Kt98rySf3E/56V53rEt54j1CN3tp5/M+REf8A1kjv9z/v59//AHI6+HzLNZ1T9CyrKYYeFzG8SeI38SF7mWSOeaN5n+T/AFkbv8iJVOTRrmL7NMttBdQ2c+/yX/5aQ2qfJ/4+9asnhxLCT7YzyT+Ym/5P+Wj/AMH/AH8k/wDRdZX+quEdYZNln8ifJ/rHd/8A4uvDqH0lMPBm/wAOaekKpHP9ntfsUjv/AKy4Sd98+93/AOAV0mna1DYOjs8MiSO7vvT/AFcKff8A/iKzdDuktZHmb/l3d32On+sRPkT/AL+SUySJLq3d18/7Nbv5GxP+Wbp+8f8A77kqQqGlHKl1b/6Q/lzfffZ/n/cSn/aktbhHiSOSGNHef5PM8v8Az8iVyv8Aaj+anlPHv2ef/wBM5H/g/wA/9M6NL1S5u9lgz/P5mxHdPLk2f53vQHszpI5bmXUNkrxyTfwfJ/G/yVTuNUeW4e8Z447aOd7pEdP3kcMHyJ/38krH0vRrm6H2mO88yG3gedEd/wB58/yQf+z/APfyuhjl+weTZ3lt5aR7LWfYn7yNIP370AU5IpLXw+/2e5+1Tb4LJH2fvN8/7+63/wCxVbUPEd/rN5czNDHHc3G+6tU/3/3ECbP++3ot4vtVtcvKv2e/uE89LZH8vy5r3/c/6YUapJpUWl2GpMn2F7dH1H98j/6RCn7i1RKDQp+G7/8AtQWyakkH2azn2fPB+7ktbVP/AB/95Wrp+jP/AGfcpcP5k3kw2roif6ue6f8A8c/d1z2h6MmjahbW1488/wA6Wv8AH+8/5err/wBkrV0/VP8AhI7N3tYZPOvJ5tYgtnf/AFk077IEoA6GS/s4by52zST2EjvdRv8A8tJET5E/8ibKs+Vbf2elnvjj+f7LPM6f6zZ889c9p8n9jf6SzySJZzujo/8Ay0htf/jklGn3Vz/aD22+1d7hETyU/vz/ADv/AOQ6A9mbFvE9/Gj3DxwTb3uvufx/wPT9UiSw1B7Nnn3yT7Njp/rNnz/+Q6I9USWT7T5ckltG7v8AO/8AAnyJ/wB/JKm/svyo0hunkk+R02Qv/wADun/9krMCtp/nS79z3U80bonzv/HP9z/v3Hvqzqkttpd481v+8h3vdI+/zPufuIE/7+b3oniv/MSZkjjuN6TwPN/z2n+5/wB+4K1fD90hjdIk+eP/AI9fn/1n/LC1/wCB/ffZWhn7Qyo9Bs7WOaZIY5LPZs+T/l4SB/8A2pPUdnF5txczW6SSNG7vdO7/ALu4RPnnf/v58ldRpd1NFJ51rZyTpZp8if8AXD5E/wCB+ZveiTw4+g3F06wxz20c/kfP/wAvGz/45P8A+i6A9oYkclnFqD/araTZI/lzp/y0j/5bzun/AFz+RKueH7p9T/4+IXjhuHeF/ueZG7/PP/5D2JV+PQVurh/tE1rcXNnO7u7p/rIYP387v/10n2JU2n6X5saPcJB9puJvIunT/lpv/f3X/fv5EoI9pAht7uaLRnRkkgeT/UQo/wC8je6+5s/65wU+32WmpvNbwyWtt897Bs/1kkMCeRB/38kpl5qk1hcW27y/OuIJr3yU/wBZvun2QfP/ALlUI9V83VEmlhtZ7bY77N/+shtf9T/38esxF+SK8tdQubFvss/3LXzkT93GiJ58/wD7JWbcWt5qluky2EMd/eJsf/lnHHdXT/8AxirNvpf72Gza5+ywxp5D/wDTPf8Av71//ZKLi6udUt7maLy4JriT7bvdP9X5/wAlr/5A+etDQhk1R7DULm8ifzLaN/M3zP8Au40g/cQf+P1NqMSWun3NhK/2q8t50gn2f6uNIPnnf/f30/T7qz0t7mziSP7HHJv3o/8ArIbVNmz/AHPMeq0mjJYXk1nv8zy3htZ7mH/lp/HPQZkNxqlz5k1tK/n3lxBs3un8c/zv/wCQ6oeH4rmW3SazeeN43+1WsP8ArPMd/wBxap/6G9aVnqjxfaUleP7TcP8AuEmT/VzXXyf+Q4KraXdJdahvtdStYEt0e9gSZP8AVon7iBP/AEOg6DS8N6pHpd5bXCpHJ5b74Ehk/wCeH7iD/wAju9TeNPs2g+G5nvLyC6/s+6S18lP9ZJBB88//AJEqHT5raX5FeCfy33wvD/q40tU3/wDoyvJfjhr2saXp8NnK8H9pahOlq9y/7zy0n+ed/wD0BKxqVOWBnCHPMxPhha3+p+JLzxJvgkttU+RH2f6zz5/uP/2zr2PwXqk2qawiW8M8nzu8CI/+rmnfyE/8h1514HsE8OaXbW2+T92m/eif6zf8kCf9+69g8D38Phy2S8ZJI7a4upn3o/8Aq0tU+T/2esKBvX90v+NPEaeLfGltNa6raz2GjwfYvsbv+8t5k/jdKrah4XudUjS5ungj8xN8EyJ/q6xPhvYaJf8Aw3fxPpsN1aal4gd554dSRP8Af/grH/4XJeWuoXO39/DJHsn2J/rK3nU/nOWnR+zA83+JGl6PqnxM0rTby2ngSS6Te6f6uN0+dK+n9HsLbw5oaPZwyQJH99Hf/WV8r6fqj+N/jokNxbeXYRpv2b/9Z/c/9nr6c1zWU0vRLO2VI5JtnyOj+Z5iVGBqfHMvFfZgZWuaX/al5537xHkfZsm/5aUR2s0Ue+JJN8f3N7/u5Km0+6XWdPS5tYZ43+++/wD5Z1pWdg9/A6K8f7x67qfvnL7QwbPyZZPJ2eWkj70dP+WdTRyvpcf2aWPzE3/I6SVs6ra+bb/NbRxvImx0RP8AWbKyZJftUexU86H/AH6PgJKeqWsn2dJlh8zzP40/5aVj3OsvoP2a/t/Mg8t/vo/7uuzjunit3RvLkT7nyJWJrml2cuqfZm/d+Ym/7n+spSKp1Dnvip8KtN/aMs7PVbDVdS8MeMPD8/n2uq6VO9rd27/302V7x+zB/wAFVNY/Zx0/R/DP7Rmq2M9neSfZdP8AGsMPkRyf3Pt6f8s3/wBuOvCrf+0vBuofaLV54PLf5ERP9ZVr4oaXYfFXwtcQ3ln9qhvPkurZ08y3krswmPqUZ88PiOPHZbQxEOSZ+vnh/wASaf4u0a2vtLvLXUNPv086G4tpN8dwn99HStafB7V+O/7I/jjxx+wdZTQ/DVP7c8KyT+fe+DNR1V/I/wBv+z5n3/ZX/wCmf+r/ANz79fpp+zj+0r4f/aa8Bw61os93a3UZEeoadfx+TfaZN/cmj/yj4+SvusvzSniFb7R+c5lk9TCv+aJ60OlFFFeseWFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFGc0AR04YoUgGvkz9u39tZfhZb3Xg3wvfQDxNcJ/ptykn/IIh/2P+m2z/vj79c+KxUKEOeZvhcLOvPkpEH7aH7Y8WiS3ng3w3fLHfRnyNTvon/49/wDp2T/b/vv/AMs/5fI1x4otordLOzuY53jfyER/+Wkz/wAH/s/+5HXnuueKJv7PmuGTy02b3f8A1nl/3/8AyHs/7+Vc0uK5urz975EHmQeRBsf/AI93/wCW7/8AbOP5Er89x2OrYifOfpuAymGFo8sTpJLpNU097mWGO6eR9k+xP3mx/wD45J/45WbcbIrd7m4vI57mP/XvCn+sTf5bzp/45ClY8kv2XUNjJHHcxv8AOm//AFe9P/acH/oytWO/ttGkTYkMab03wu/mf7if9s4/n/7aV5p6nIP1WK8lkeRnjkjkTyHdP+We/wD+Nx/+P1zeqWr3VvHt8+1m3+QiP/q/7if9+4/no8R+N7aLQ4UtU8uGRN/ku7/vPn/cJ/7PXN2/iOGW3TdD5lr86b9/+sT+P/v5WZ0QpnQ2+jeVs2vJJbR7HhSb/lmif6j/AMib3qtHLNpcieUkf2b7ju7/AOf9uuP1TxldWtu/2954JN+9Eh/1cmz7/wD7IlWf+Ey+y+clw9vdQ+Z9yFP9W/8AH/5E2J/2zoA1ri6hl1B4ZXjtbaN3d3dP3dumz/43/wCjKS88m6t98Txx2cabH3v/AH/nfZ/2z2JRJf20Vnc/2lZzzpZp5c7w/wDLREfe/wBz/npJsqHUJUlk8mWZJPk3/In7yTZ87/c/56SbEoNCzbyw6NeTPv8AMTf5nz/8s0RN8/8A37+RKbqGsw/2XcvL5ck3yQT759nmTXr73dP+ucGynW8Xlafc7k8x5HSCff8AvI5P47r/ANkSsS4tbzVNQuZnhnnmvEdHhm/5ZzXT7Pk2f8846DQ0vEF09hp9xqUT+Xpux9RSZH8/zHf/AEW1g3/990SaN9l8QX9ha20kdn/ounO73X7u3htYPPndP+2mxKhuNQs7W4uYbd7qDRftvnvsf/V2tlB/8c2f6uorfRbywkS2+0weTcWVraz7P+Wb3T+fO/8A3xQBH4e16/i8H2tn/wAttm+De/8Ay9XT/wAH/bDfXQ6XdQ38k15svrpLOB9Xtd6eRJIkH7i1rEudZm0uTUr+1TzJriD+0fs0z+X9o3v9ltf+/ce+uts5Ybq2ud1/HO8c9rAnk/8AHvJa2v8Ac/2/MoM50zHk2aXI9tcJ5iW6Wun+c/8ArJNn7+etvR4v+EjkS/3xyXlxvn+f/ntP8iJ/2zjqzJaw3+nzTXU0cc2x7r5/+m/3/wDgf8Faul+da3NtpMUMck1w/kfIn+rfZ/7Tj30GfOZt5oz6Pp9tcxJ58Nm6QQWz/vPLRPkg+5/z0k+ermh2sNhcXNndJJHbSb4N7p+8jRPnun/7/wDyVq2d/DFJ8rySXPk/aktkT95H/BZIlU/EEr/Z3RvLktbNPkdP9ZJsf/2vP/6LqfgD2nMVLewm1S4sHvLWOP53SSZH/wCe/wA7/wDfuCtT7LcxSJeW6QSeZJv+dEj+xzOnyf8AfuD/ANGVWuNB8qS5mW2kkS3tdl7vTy/L/jutn/bTYlX9Pukit/Jluf30b7J3fZJ5e/55/wDv3HsSqD2gzwfFDo2oJNCkm+N0uoE3/wCr3/uIPv8A/TPe9dJb688VwlzZp5j2b+fBv/5aJB8kG/8A66Sb65t7r+1NQ/dJ8n/H1s/55zT/ACQIn/XOOppNYTRtQ+02v2qS2t7Xz/k/5ZwwfJB/38n3vUw90ifvD9U1l7q4tvNupPJs5Nk+xP8Anh88/wD38n2VlRy3MUroz/Yby3TyHR0/dyTXXzu//furmqWttYRTWd0/meYiadPcon7vf/r7p0f+Oobi6T7Y8KpawTXEHn75v9Z507/uP++IKoumPuNehurhL9oZJIY4HvYLZP8AWR7P3Frs/wDH3qtJEmi29sl4kccNunkfuX8zy4bX55/+/k+ytK3tba/1C5mupo57bZ9qtdj+X5cNr8kCf9/6f9lS1ksIbpJLr54dLeZ08zzNn7+6oD2hWt799ZkhTUrqCCHUJ0tZ3f8A5d3n+e6f/v3sSmXF1Da6dNcyw+Z5jvqNqjv/AKz5/IsqZcSwxW7zWqRz/wBoTvdfOnmfZ5rr5IP/ACHUVvK+l27wtHJJbWd090m/939nS1TZB/wB5KzD2ZSs7/ypJoVmgk8udLKfyf7kH7+f/vuT+Otizitte09EiWCC8k/0We52fu7d5/nff/2wrH1zRoZfDb2f2qCP50tZ3mk/1mz9/dUzw3FNf29zD50cc0cD3UGxH/dzXXyQbP8ArnHWZoXNQ165l0ua+itvLuLiCaf50ePy/PfyE/8AICVT1S6ttLuJkis5J4Y5/wDlin7v7LAnyP8A9tJK29UurmXVLm4tXuo7bS3+d0/1ciWv7tP/ACJVzR9GTVI7lGSOS2kntdO3o/lyW/kf6VdOldAe0hEpx6zYeCNHvIX8iea4SG1dET/WJ/r5/wDgdeOanqk3xk1x79rD7LptnPvg1JE8uO4vX+TyET/pn8//AH7rV+OmvP4cs4Zonnje4vUf/SXTy7e5un+RP+/dZvw70u5tdD8n93PN9qm1GBH/AOXx9mxH/wC/m/ZXn1PfnyF0Kf2zqrPS4Zrx3s7mOfy55p0eFP8AV+Qmz5P+B10/xMurDwv4H0fRNZ0ee6/tR00R0tv3EkaOm+d//QKf8I9Fs5dUtodSeab7HdJZJcon7yNIE8+ff/202V0l7quk/G34qarMtu73nguF3gv4U/jf55vJ/wCuHyb/APY311U6fuEVKnvnE+ML+HRpHttLeCPT9iPsd/3ccOz/AGP+Wf8AGn/A64DXJZtUuLaHZBBNJPs2I9dJ4ssLbXvEH2lkjtX2b02Jsj85/wCD/c8zf/38ryvxZo0N1qmmo1zdbP7Uhup/sz/6RcIiP8n/AG0j+/8A9c65ah1U/gPRf2b9G+36fc37WEcd1qGozXsEyJ/pFvC716RqF15t5bea8cib/uf88/8Agf8AcrH+F9q/hfw/DCqQSW0e/wAje/8Aq4f/ALZHs/4HG9XLjXn+S1iTe9u+/wCdP9ZW9CHLA5anxmlb3T2uqP5Vz5nyeW6VpWeqPdSLNE08j3Cb0T/np/wCsH7Umqahvl/0VLf59+z/AFlP1C7hmj+zW9z9q+xvv+f/AJZ/5/8Ai63p85z1KZ0lx4je6321w/ybPvpUMlr5tvvtXjnhjTelc9Zx/ari5eJ/Mm8z9+jv/rK2NHv5rrZ/zxkRPnf/AJZvWntDPkNLS/J8yFLpI/3ifxv/AKt6ZqFrMLj7MyRyRxp8lP8ANSKN/NTzEt3+ff8A6uSuh83TdYs4U2SR+X/5DStqZjU90xLfQbO6094Zf+PnZ8n/AE0ribzQbnQbiZGfy0+587/6x69OuNLe1t/tNm8cjxvvR0qnqkVn4ks3RfMjkkf502fvI/8AcrSdHqZwqch51JLc2GqI7Qzx+Z/ceug8I/FjxV4B8Tw+I/B2sR6dqkfySJcp5kdwn9x0/uf5Ss7XNLmit9qpJdQx/P5yVm2+qW0V5uZJJGt/v/P/AKtHqadSpCehpUp06lOzP0W/Y1/bj0j9p/SP7PvI00PxhZx77zTi+Y7hf+e1s/8Ay0j/APH0/jr6HBOa/IDS9ltrFtf6TfyWOpae/n2tzbPsu7N/9j/P/fdfaP7E37dy/GPVV8B+N/sOmfEC0hea1ZPkt/EcCdZof7kyfxw/8DT5PufZ5PnHtf3Nb4z4POMhdH99R+A+sKKB0ozivoz5kKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAzxTRgmkX/VV5t+0X8dNO/Z0+GWp+JtTEk/2dfLtbNH/eX9y/3IU/z/frKpUhCHPMunTlOfJE8z/b5/bPt/2S/h0lrpYtbzxlriP/AGfbTP8Au7NP47qb/pmn/j71+YuueKNS8UfaLz7S895cTve3U0z+f9sup3+f/gbybE/7Z1peO/iJrXxx+JeseMvEF8kmqao6I7pJsjt0/wCWEEKP/Anzv/8At1z0ejTapI8Nq/2WG4f9w+/y/M/gg3/+PvX5xm2ZTxVTm+wfqGTZPDB0b/bL+jxal5lzc6kkciRvvghdP3dxs/8Ajk//AKLrV8SSv5l5Zp58k1xP5DzP/cg/uf78/wD6LrBt9ZvLXQ4ZovL2W7+fB/0z/wCWCf8As71f0/xRDaafslSSSaNP9F3v/wAAg/8AZ3ryz3fZkMlr9gjR5X8x/ne63v8A6xP43/7aSfJWVql/Ja27wyzXUc2x0fen7yPf88//ALIlaVxrNh9j2KkcnmfcRE/1iQfc/wDIm9/+2dZul3UOqaqj3SeXbWfz+d/y8W6ffR//AGf/AL4oNDB1S1+1SI63Pl/aP7/z+X/+7TfWJqlteXVn5MTyQPInn73/AHn3/n2f9s49n/fyuh8WWD2uh/bGeOCG4nff8n7uP/b/APQEqnp8sNreQ3N1D5jyb/O/6eH/APi/M2f9+6Ap+8VLew+1Wem+b9qun8l/k3/6zyfndP8Av5sqC00ua609HleSOzt3+dETfJJs/wDt7/8AkOrl5cw3VxbIySSfY03wO7+ZHcbPk/8AIk//AKLq/o+qaxo0cz6S8ciW6f8AHyj/ALuTZ8iI/wD10nd/+/dABocv9l6en2q5vp0kTZ8ieZ9omg+T/wAiTv8A+Q629L2aXH9mlufPh0ufZ9p3/wDHxDA//tSf/wBF1gyWF5YRpcyvPJeXE/zwo/lwSJB9z/v5O9GoXVzoMjvbpdR/v03wpB5/3PkT/v5O/wD5DoNDqri/trrzrO1vJ5LmOd0R0f8A1nz/AD/9/JP/AEXRqcttpd4+2aCSG3ke6gff5fmbPkT/AMiVm6fYPFqCIs086W8/nwOieX5jp8nzv/13erOuWq6XH+9htY3s32fO/n/Ja/O//fc9T8QQKf8AY39jf8S238/fIiac/nJ/q0T9/dP/AN/NlX7OX7Vp6XF0kcbyI91vfZ/rp/kT/wAh0yzle13QteRyQ7H8zen+s2fO/wD5E2JVzT7+21TZZ3jwQXMc++fen+sRPnf5P++EqjQsxxW11qlzCtta/wCjzp5Eyf6yNIIKm0fRnk0f91J5dzs8+B3/ANZvnqhZaN5UiWFw8cdzeWqQQPM/8c775/8Av3HVy48R3Ojafc3izQfvE+1fZnTzPLmf9xa//F1mZf4CzqEs32h96SXVhI73Tu6f6yG1+/8A+RK2PD+s3NpIn+jTyXMkCWU8z/8ALOZ/nnff/wBM4KzZLpLC4RFSS6hjtUtZ9/8Ay0SD95P8n/XTZRcXUN1I9nFZ/PcfuLre/wDG/wC/nf8A797ErQzn75vSazbapcPJa+ZvvNj/AL5/+Pff8kGz/rnHvemR6zDFJeQxJJJ9yeDZ/wAtET9xB/5E3vWPHFNrMj/aL+6k+0fv4IUT93bzT/In/fuD/wBGVXffFPeXluk8F59yCFP3nl7/AJLV0f8A77epqDp0zo7fWbPw7qEO157qGzg3zun7z7RDD9//AL+T0zVIobqRds3kJv8Ast1Mif6vz/390/8A37rHk1TytQeFXkgsN/2J/O/5aQ2Sb3/7+SVvaxf391b+Ss1rPN5CQTu7pH5j3Xzzvs/6Zx/JVGZTfWU0+N3sLmON9n2qBIX/ANZNP8lqn/fumSXVtpcc0zQz/Y7P++//AB8Q2X3/APvuSqGqXT2tul/LNY7Le6mvdiJ/rET9xAlUI9Zh8OXF/YXlzdXUMjpZPMn7y3jSD9/df+yUGnszsNDieW/jtrea1/eIkKb38vy5p38+6/79x1Nqc39qW7zKk881473sCQ/uPMd38i1T/wBnrnpNUt9e0dry48uN7h0dHR/9XdXv/wAbgqzqms2/kJeRXMd15k7zokP9y1TYn+55kj0B7M3tLtrq6vLb/Rp5/sd19ldEf93HDZJvf/yPUMdrc/2WmnxOn2m8/cPczP5flzXvzv8Af/55x1W8P6W9hZpZtNPM8fk6ddXLp+8kf/Xz/wDxD0/VN/iONL9HktZt76iiI/mfvrp9kH/kP56qmZk2nyp595f7I5JrOea6+dP3nyfuIP8A7CofN824mRZvItrf/Rf33+r2Wv7yf/yJVa3mTS7xJon/ANDj/wBKSHZ/x8Q2qbE/8j76dZ+GLyK3hRv3kn2q10vztnmRyb38+6rE0+EzpLl/E8ey8t4I/L2QP8n8d0+93/797Ep+l69Na6hc/akkg/0qa93o/wDrE/1Fr8ifwf8Axumapdf2pJc3Fv8Av4ZHutR8m5/cR7H/AHFr8laVnFDpd4lmv2GPTbe6SCeZ08zzEtU3v/5EoNDYt4n1PXEsIrn7Rpsc6I8Lv5EckNqm99n/AG0q/wCJLWz0bwI/2h45NS1SBE+zQv5flvdT73+f/rnVDQ7W88ux2yQQXmoWqQPvT/Wfap98/wA//XOuD+Pvxkm0bw/bPZ3/ANlv9US68je/7uN3/cQbN/8AcjT/AMiVXPyw5jn9nzzOD8UWqfGn4oWdzYTXUj2c91ep5Kfu43T9xD/5E3/9+67+4+Gk3hGT7NcJdRvb3v8AroU/1fkJv/8AQ6ofs1xaP4X0+2220lrc3F1Ck6O/mSSJAn2q6f8A7aSfwV7X/wAJlYeLbf8A0y28v7Za+em9P3m+9n+T5P8ArnWFOmbzqch53o+qW3wv8Npf6k8895shtYLbZ5n2i6vX3zu//bOuhk1Sz+Dfhu20Sz1W4kfWEe9nv0j/AHdxdb3dP9zzPnhdP79bHjjRtB8ZfGjQdHVJPtOjv/bb7IPMt/n/AHECTP8AfT9386eXWJ+0Z4DhGsXNzvkjSPfv2J+8t/8A7P8Av/8AXOt/hMPaQlPkOP8AEHjK2u7ffF+8udnn/J/zx/8Atkf/AKLry7wnYal43+KF5NKklrbaXqM0H2lE/wBY77H37P8Apn/8XVPxp4k1LwbqGlpb+ZP+/wBiJNP5HmffdE/2/Lk3/J/ckr1r4H+F30vwO8zJPHNcf6b++T95Jv8Av/8AA4J96f7klcPvyqch1fAdb4g2eHNPmt28iRNn8Cfu5HT/ANk+/wD9/ErKs7uT+zr7ak+zZ87v/wA8f876ueLNGS/t99ul1J5afcm/5Z/wf/EVT0+1TS7iaH7TJP5aJ5CTfvI9n+dldhiQ2++Kfybh/M8z/ljs/wBZ/n56s+VeWuqQpbr5afc2On+s/wA/+1Ks28Lza47xWfyRuk7/AD/6v+D/AOIqe4iSw1DfFbSRwxvs2O/7y4/z/wChx1oHOR+VDdW+yJ/IfY7+dv8A3kb/AOdn/j9WdP1n/Q0SVJI/LfZ9z95H/t/5/wBusfT4rq1kuXuE899/8Cf6v/P/ALUq/GXi3zRTTx/Js+dP3cif5/8AZ6n2hn7Msyap9gneZfMul+59/wDeRv8AcrVt9Z/0Pzt8kaSf3/8Ax+ues9U+yyJuSOPzE+SZE8yOT/7P/wCwp8d+n2hPPeCdN/8Al6z9oHszodH8UQ2tvslmkjSR9ied/rK0tQukl3uryb5Ef771iW919vuL+GVILqGRNj7P+XfZVbWIobqzfbJJIkafJ8/lyf8AfFaQruJhOmX4LqG6vE8p03SJ9xE/1lXNQ8L2Os3CfZXjtbmN/wCOuMt5YYtky+ZAkab/AJ/7ldholz9qkd2eSN7hPvzf6yt4V+YidHkMTVPDkOl3k00STwfPsd/9ujWRNNJbXG+SHVNLnS90u8R/39vMn3HR/wCCtu3v2i1CZbp/IT/lvbf89Koaxstbe5e1/wCWfz/9dEp/9PEZ2voz7P8A+Cfv7eq/tG6B/YPiWOPTvGOnyPayI/8Aq7/Z3/2H/wBivq1hmvxx+B8sOjeJLnUpHutNeSffvtn/AHkez7k//bOv0d/Zi/aYh+Ktt/YOtTW6eJLOHzNy/wCr1OH/AJ7J/wCzpX2GQ5x7WHsa3xHw2fZM6E/bUfgPcx0oozRnNfVHywUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAUru8jsLN5pHSGGNdzu7fcWvzb/wCChP7QEPjXX0vLySRNNs3+y6RZ7/8AWI/+uuv9/wAuvrf9q/4sWthod5pDXkdrY2cfn6pcu/7uNP7lfj3+0h8X9S/aH+LG/Rngj0GOfyEm/wCWkiP/AAJXzOfYvlh7E+u4ZwPNP20y3by23jK4hdXjg+d/vp+73v8A/G4Kv6hJDax7N/kTf6jYn7z7Pv8A/jcdcHrnjKbQdPsLZrmONLNN/wA//LPf87/+Q0SsSL4jQ2HiC5S8SO6+2Jv+T/Wb9n8D/wDXR6+J5D9C5z0K48RpbSW39mvB50nyO7p/f+RP/Ie96rR+I7aK3S53x2ttG/8Art//AB7702J/37j/APRlcbb+Mv7T1R4Yn8yw37J9/wDrLP8Ag/8ARaP/AN/Ktx36X8fnS+RP9o+eff8AuJP7/wBz/vylTUNDqo5ZtLuN9w8E6SI+zZ/yz/4B/wB8J/wOr9nLc6XeW15FcwPcxpsf5/M+0bH/APak/wD6LrK0uW2tftHz3U9z8j2W9E8yTZ/9vf8A8h1TvPsd/qM1v50klzZwI6eSn+s/5YJ/7O9SBvXGoSS2d5DCkE82/wC//wA9Hd/k/wDZ3/7Z1m6Xapfaoj6W88728G+12J5f2j+CB3T/AL7f/tnVPT5fKt7mG1uY4/s8P+hbH8y43/6iD5/+ue+ti4iudf1CxuLXz47mT/UJv8v7/wDosG9/++3oNCaP7BFZ6amyxn/f77WZP+Wbp8kH/fyTe9H9s21h5dnLpt1HceW7wJv/ANW6PsTen/TSTe9ZtxpdzFqCbvLtbmN3SBETzPtGz9xB8/8A329MjuZtLjuba1uY5P7P2Jau6eZ5jp8kH/fyTfQBf0/RrOL57Vbq68zY8E1z/q5Nn7hNn/bTfT47W50a4toVSG1hjfzLXzv3nmbPkTZ/2031zGn3X9p6hbTK8d8/nzTwJv8ALkjRP3CJ/wB/N710+h+HIbXT0a6SS1WNH8h9/mRyfwQf+RN70AbFvpaRahbXLQ3U9hJJvtfJTy45NnyQJ/wOffT7jWba1uJra8/1MfzvM8nl/aPIf7n/AG0nesezlS6nSGK81KdLNPIg2P5nmfwQOn/bTe9Pk0FLXYizWslts+SHZ/pGxPkgd9//AD0k31mBoSWE2jSPcqkkkMcHzv8A880g+d9/9/zJKjvLW81mTT7ZobWDzIILWeben+uuv38/z/8AXOqd5oNno1w9ss1rdeYiadsuZ/L8tIPnunT/AIHVDXPEf9p6Xst3kk8z54E2fvI726+T5P8AthSpmhsafqlzNcOkqWsdzeQb7KF/3ke+6fYn/kNK2LfxHc2sF0kttax2dvevOm9/9Ylr8kH/AJEridH8ZPa3CXl1DPdJvmurVLb/AFlx5H7iDf8A3P460v7fm0u4T7KkEljbp9938ySNLVP/ABz9+9KmZnVW9s8X3rmSezjfznuYX/4/IbVN8/8A5HetLwnLc2Gh7Lry5Jrz/RXmhdP3fn/PP/37j2V514T1m1tJEttSeRH2Jaz70fy/+e8//sldnp+qXOs6PbaayTxpeP5CeS/mXEfn/PPsf/rhWxnMmk8UfaonubN3g1i4f9wjv+7je6fyET/b2QVDqGszf2u7qkkFrp7zXTwp/q7iG1/cQJ/20kqnrF+mg6el/pbwSTb5tUSFP+Waf8etqlXNUun1Ozm+y3MkdtbukHzp5nmQ2qb3/wDIlBfKaWqWtn/YdnYRJBPeXDw2Wx38zy4U/f3v3/8AgFZtvFc3Uls6pBJcxo86Q7/3kc118kH+5+7qHT4ri1j+wakl1J/oSffTy/LmvX8z7/8AfqzrF1bS6gl5YJ8/nzXv/XNIP3ECP/20oIDVPFFnYSXNm1tHdQ2d75G9E/1drZJvd/8Av5srHvNUS11yGwuraCT+0ESymmd/9W87+fP/ANtPLrbj0uw/tmTSb+/kjhjj2TzbEj8zyP38/wD38k2Jvrm9YtdSsI7aFpv9Jt4Jnfe6SeXNevsT/wAh0AatvFc2CJqVq8kd5sm1T538zy33+Ra/JW3H4Wh8OXk3lfYZIbe9tbK6RH/1iQJ58773/wCmlYml39jpcem7rmSSG3vnup0/56WVqmyD/wAiUfZby61RLC6uZJLnUP8ARXmdP9Y8/wC/n/8AIfyPQHtDs7OV/Ed/C8t/JJNcQbI0T/ntdff2f3/LgqbUPEbxXCXl4n+gW6Taja7H/ebE/cWqVx+seJJv7Ee8s7aT7ZGj3T7H8uOPz38iD/yHWr4f1m2lv7a2lSCOG4ukg2On+stbVPnoD2Zt+E4obvT0tpUupEt7q1sn2fvPL/5bz1c0fxHeaXZ3941t56SI90ju/wDq5r2fyE2f7fl1gx3U2jW8KWsN1dNcQb5pk/495Jr3/wCNx1q2fiSzi1zYttBHYW7vewbI/M8xLWDYj/8AbSSpphUplbXIrOXXLq5tUktbCzn+1b0/5aJZJsT/AMiVZ8P2tzF9gtrhJJ3kT7FPMn/Lw8/7+6f/ALZx1Z+wWGqa4lgzx79mn2Xz74/LR/387761fh/pVja3FzqFvczyXOoQO/2bZ5ckk11PsT/yHR7P3zP2nuEOqaynhfQ3uVuY/wB4816mxP3m+f8AcWv/AJDr48+KGs6lf/tEeGLDS0kvofD8d1dbEtf3enwpBsR33/J/ff8A7919M/tMeN/+EH0u8vEtpIIbif8AcXMP/LOG1/cQfJ/ckkesf4J+A0uv7S+1PHqX/CST2tr50z+Z5m/+D/v2n3Kwr1Pf5DSn8B5XoejXl/HYWFukk9/J8j73/eSPdPvf/wAh16j4P1R9B0v+29Sv7Wxhs0fV57m5/d+Zs/cWqb/9j566q3+F8OoRvNZw2sc2oI7/ACfu/Lup/wBxB/2zjjqt8XPg3/wluqab4Yt4bqfwxbvv1S8tp/L/ALPhskTZsT+P9/8AO/8AsR1fszapWhIufCfRrD4X6ffeM5dSj1W81j9/Bf2f7u4uLJPke1ff/wA8/kmrrbzxvbazGs11Nve3d4J7nZ5kdx5H+v8A/Iex/wDtnXl3xYury1vEs2e1ge3dPtqW0f7uR0/0WfZ/10j8l64/xB8Rr/RtL/fW0c81vvf7Sj+XJcTQfuH+T/ppA6f9+6PafYMfYc3vlP42eCE8UfGDR0s3k32c7u8Kf8u77Pv/APbSvY/Cel3Og6WlnKnySIj3uxP3kj7Nj7P9h49j/wDbOuS/Zjks7rxJ4n8Q6tNJqV5qH2ZIHdPLj/0X9x8ifwfu/wD0XXrt5rNhqkk0yvDJeeR5fyP5fmfP/wC05Ef/AL+VFGnze+FSf2Dntc0tLC4TbNdR21v/AK+Z3/1bv9//ANnrK0+Kz1S3ebf5bxvvRHT+/wD3K2PFGg2fmWf2OaC6ST9++z+//n/0ZVDS9GuYpH2+ZI+9Nif88/4P/iH/AO2ldIofAPT91JNtXzLnZ8//AD0k+f8A9A/+OVNeapDqlxJu8yxTekfnbP3cf+2n/jj/APfdLcWs11qiQt+7ht/7n/Hxs/zv/wC/dVdQ1lLX5LVI53uH+f5P3cf+/wD+Pp/20oI+I1Y5Xurd3Z45H/1CQ7P9Zs+TZ/n/AGKp6pLDFZvNdW0c6Rvvd3ff5f8An/45VmT7HafdTy0kg3pv/wCWibP/AI3/AOi6oXGsXksnzW1rO/8AsJ+7/wBj/P8A00qagchmx2ttF5Mcv2eR5E89N/8Ayz/+z/8AjaUXGs20Wx1SCRNmyN/9X5b/AO3/AJ/5af7FM8q2urzZFDJG/kO7zOn/AB7v/v8A+f8AV1zGqX/m3j+ZDHB87pvRP3cif3/+2f8A7UrlOr2fMM+OH7QVj8NNUsNHawkkvJIN6TI/lySQ/wDxyu28P/tLeEvjnp1teWEMlrqtmiadewpAkdvJCif3Pv76+P8A9pjWdStfjR4hudUsLWSz/s6y+yu8bySRw/wOn9/+OvHdG+Kut2Hix7y10fVbrTd6I6WCf6ZGm/Z5/wAn36qFSfPywPOqVoQn75+l2uaDDdOnm3nmJJBv2f5/4BU3hu1ubXTEmb95NH/5Er5m/Zf/AGqtS/4WBeeHvFuq2N0nmWtlY+dvjuJP4ER9/wDy0+5X0nb6g/2h/sf7xI/nTe/7yStadSEi/wDl2TWd/DLcPbS/66P+/wD8tP8AYqn4oltpdLhe1eSPy0/v/wCsSrOo+HE1S4/0dI42kTfs3/6vfWDb3Vt9j+xyzXTpImz7/lyV1fCRTpmx8M9+lyeddJ5n2P5Ed0/1m+utTUr7w9d6bqOmX01ld6PN52n3CfvHjSsTS7W20a3TynkkeNP4/wDlp/uVZ+3zapH9mV/MSN9mx60ptw1RhUjzqzP0Q/ZY/aKsf2gfCG5pIbXxBpeyPU7NH/1b/wB9P9h69cEPWvy3+HPj/WPgx4ysfEGjvP8AbLNPntn/ANXeQ/xwv/n/AJ51+jnwe+Kum/GjwJY+INHm3214g3o/34H/AI4X/wBtOlfd5Pmnt4ck/jPznO8q+q1OeHwSOyooor3DwwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAaBgUH5VoztrifjJ8avCv7Pfw4v/FPjLXtK8M+HNHTfdX99P5EEQ/z/BRtqxwg5PlidkkmRXnP7QH7RGg/AXwXc6lqmpWNpN5f+jRSyfPIf9yvzl+MX/BeC5/aR1PUfDvwXNx4d0SKTyf+Env7X/Srz+/5MD/6n/fk+f8A2ErweT4VaT8RfE9zfeMPH/jjxFfSP++mudUf94718jjuKIQn7HDx5j6jLeF687TrGb/wUA/bN8SftaeIG8AeCLyTTdEkfz9UvHf/AEi4/wB+uS0PwlN8OfA6WFi88l5Hvg+558e/f5H/AJE/fV7x4c0vQfBMkNhYaVawPbv/AK6Z/Mk3/wAFQ2+lwy6e7M8kbyI9rBC6fvI0f/L/APfx6+ZqYr2z55n3mHw8KPuQPmrxT4Ih1nT9Sa8mnnhvLX9w7p/q/Pn2fP8A9sIX2VxdvFf6DpboyQR23npOm/8AeRxo++f/ANkhr6i1j4Xw6pvubeGO18tH89N/+rR/k+T/AG/L+RP+uj1zHiD4I3l0Ly5W2g+zXEHkT7E/v/wf9+0SFP8AgdY+3Ov2Z4JbzPpeoOks0ckPkbIPJg/1m9Nm/wD9HVrafrMNrs1C48iR7z/Sk3v5n+3/AOzoldpq/wAPk0b9y3l2NzJ8m/Z5fmf7f/bP99XFf2CnhyOO5uvMjSz/ANNS2RPM+z7/AL//ALRqucj2fKdh4f8A9F2PZpPOkibEtndI7iN0/cJ/5H3vVmO6mutPubO3T7c+zemxP+2ECf8Aob1D4f0uHRtl5a211J9nTeiTJ5/zp8n/AJEkd/8Av3XQ2+l2ejbr6zeeSaRNiIiJ5kiJ+4tf/IjvXOblPS5baLUEuYb/AOSNP3EMyeX5ez/RYP8AgHmb63rfVLawkh+wfZZ0t5/3H7/+5+4g/wDIm96m1CX7jqnnXnn7ILZ4P3cnk/uIP+/k+96wY9U+wXj3kVt/pNujzwJC/wC82QfuIP8AyI7v/wBs6DQ6G4sIZdPmuYtKkvv7LTz4H3vH5aJ+4hT/AL+O71DoejJpeuJtv47WGSd0Tzk8u3t0T5IHf7//AC031lfav7L1R7aK/jkSS1+d0fy47jZBsT/yPRcSzWr/ALp54/MgSCBEfzI5HRNif+R99ZgX9Q8LzWuoTQyvY302h/uLKazf93qHz+Rvhm/ueZvenx+KLrQXdGSST7QiJZf8tI4/+WED/wDob0+TwRNLF50cN1Dc3GxILZP9ZG/+ogf/AHP9c9M8QaykskKeTJH8+yyd08uO4/5YQJs/6Z/O9TUCBWjmf7Ojq889n5++CFH8v/phA/8A383vV+2uvtVvM63PmW1vP8jun/HxDap8n/kSpre6trSSz8pIJLaOB7pHR3/0iGD5IPn/AOunz1NHpX9lWdmlxc/ufISyurlP76fv50/9AqjQZeWt/dSWybIY4fItbW9+0v8A6y6f9/dP/wB+9lYmoS3mqah/aVq8c/2jfqKQwv5cm+d/IgT/ALZx1ckl1K+1B0Z7WC/1C1+TYnmeW96+9P8AyHWVqF/ceHI7a/tba6j8xJr1IUf95Hs/0WD/ANnrQzK0kr2tml4s0H/Evn89Eh/1nkwfJB8n/TSd6mt9LhlvEttkkjxweReo82/y9n7+6/8AZKm1DVJoo32W1rIkfz+TDB5fmWsHzvv/AOuklF5pdtFqlnYXXnx3MdqiTu7+ZJJ5/wC/n/3/AN3sSg0NWQ2fiO3sHV5LqG3kSGeZH8vy3f8Afz7/APrnHsStXR9eSWKGaJ/LvLhLp02f6u3urr5E+T/rnWVo8V5qmh36W6QSTXlq86JMnl+ZNdP/APG6v3mqaV/y1trqRI0e6hSFP3caQJ5EH+3/AKzfWZmXPDesvpdm8Kw2vk6e73v2z/WeZDapsgT/ALaT7K0rmWbVNLm0rf5dzJPa6Q//AD0/fv8Aarp65Xw34N+3xx2bPPPZyXtrZTwwv/z6p589aUes6hFcTTLYTwf2ojz2v+lf8e810+yBNn/TOOgqpTNu48b2t1byTWtzPJbRzzajBM6fvLh3/wBFtU+eqFx5Nh9pR3upLbR54YL1Hg/1n2JN7/P/ANd6yPEF1HFv8pLWC/t3d3dHeSOSGyTZAibP+mlJoelw2twk0VzPa6l9qtdOukmT/WbP3969aEfCTahLfxaHfo15Ja6lIlrpf7lPMjke6n890f8A7Z0z/hI00bxYusW9s8dhJ9q1FIZrVP3mz/RYN6f997KrXl1f39nqusWfkSXNwk2r/Zk/d+XNO/kWu/8A7Z1c1yX79zK8ECae6QJv/wBZ9lsvn/j/AIJJ6A5GWbf7BYXD2cqWsFtZull++f8AeeSn7+f/AIB5mxKv6xLNpel/Y2uZ55vsv3ET95HNev8AcR/+mcdVtDi+1Pf6athBazSPa6Xe3NyieXbzXX7+f7/8FbGqanNFqEzske+O6mvkR/3nlon7iD/gH8dBHsyhJLYapqlzbKkEaRzvdO7o/wBojhtYNkCf9/KrJFNpVvpVhdP5d5b2qaciP/y7vP8Av5/uf9M//RlVtO8OW2j+NH01ln8m3RLJNiPJJcIn7+6etjULpJbe2v2eCO5jgfW0dE/eW810+y1/8h1PszQ1dL8UJdWdzcWr3UkNv9q1GC5T/lmn+og2VfuLXStL1S2RU/cx+Tp3zp/q0RPPn+f+/XN/ZbPwlG+2a1ks7e+SB/Jf/WQWqb3f/ckkqzod1NrPh+aGKaSe6uLV08n/AJ95r1/nf/tnHRTFyMtaf/bHinT7a5uLmOPzEedNj/8ALa6fYn/fuOu1/wCFg23hyNLy/wBQjkT7VNPazIn/ACxsoNmx/wDtpXE6X4o03S9Qub/7NJH5bzai/wAn8FqnkQfc/wCmmz/x+sf4ieLZtL0t7O6e72R2UNl/odqkckjv888H+x5kmxN8n/PSj2nJ74VKfMee/Ey/f4qRafba5NqWq6PJP/Zzw70jt45oH+/sT5/43/1n8ddb8OvG8Pg3T3ubd4/3bzXqQu/l/f8A9FtUSsH4F+CNa0v4eaXeajpt0mt6HZXuo/ZnmSfy7qed4/v/AMafO+z/AK511uofD62tbd4bWGSRPP3vM6fu5EsoN8//AI/9yuWnz355l0/Z8h6Lp8tzFpk32O+8+HR9RR/O3+Z5lrp9rvn/APIlTfst6zc+KPD/AIn8eal58n/CUOmqWsyP+8ktdnkPBND/AATxxu++uS8P+LX8G3nwx8MWryR6lqE6T3rzf6v7K+93/wByd/O2J/1zre+IHxVm8G6hbaV9pkjs5Htbp/nT7RHv/wBBnR/7/wC82V1QqGMqfN7hN4n8G/atQuVZ5/Jt5nR3d/3cmz9w/wD38jdHr5v8cRXXij4n6VYS2cE9tZwXWr6i8N1+7t5k/wBF/wDs69V1j43Q/wDCN3N1LNJO/kJPPvg8vzNn+i3Sb/8Avh64j4RxebrdnftbTwQyQefsuf8Alok77J0f/tnsrhnM2pwt7kz2P4F+HJtGsES4tpJJo08j7n+r8h/If/yA8L1t+bbazcPuhjurmRPnSF/9ZMnz/wDoyF/+/lM8yaw0NLO1eDZvhgd9n7yR/ngf/gHyQ1QtpU1q8Tyn+y3lw+/Zv8uP5/n+/wD9dEdP+2ldX2OQxtze+XI7/wCy3EKWsM88Oz5Jpv8Al3/74/4BUMl1Da6hC8McccNx88779nl/8A/77/791pSeHH0a8+W2k/uT+S//AB8J9z/0W6f9+6huNGh1O8d7hJI7yzn8902f6v8Avon/AI/Wuoe0IdQlTWtQS2vLmCe5j+T9z/y0f7if+P8A/oyi4lhi0+G5ltruOGN/k3/8tE/j/wDZH/7Z1FHa20XiD5oZN8abIHT/AJaQun+v/wB/7j/991euNCv5Y7bzbiGTy33/ACOn7v8AjT5P++0/7aJTAZqks2l6OzxJP50j7PO3+Z5f+ZNn/fyqf29IbN91tJAkb7H2f7n3P9j+NP8AtmlaUkryx72eOG2jfZ/103/3/wDtns/791WvJf7UvIbe6hjjvJJNk7p/q96P9/8A7+bP+/lZmZiW9zZy2/y3kki/89kT958/+Uf/ALaPWD4gtXit0hiT99G+zY/7v7P/ALH/AAP50/7Z1vahazWt4/2W2untpE2fc/d/58ven/bOs3S98ts01+l1Ikk+zznTzI5Nn+Uf/vuszqpnj/xw+COpeN/s2q6HDPqVzpdlewapbPe+XJeWqJ58Don9/wAv/wBFvXzZceHLzwlr9nrdvc3Vjpsaef8AbLZ/3ke/+CF/++N/+/X3hqHheGWSzeK28yaTfPB8/wC7k++//kP98lcv8TP2dfBPjLwLda6utaPP4g1C98mbSLaR457dEh8tN7/cRPkR6XsOY5a9D7cD40+JHihLvWLnVV+TXpJ/P+37/wDSLx9n/wAb2V9pfs/+KJr74d6Jrd099Hc3Fkj/AOmP+8kdP79eRfED9h6w1nxxDD4X1WPVdB2b5/tj+X9oRE8x0/797/nr1r4b6XZ+DfBdhZ2D+ZDp/wDoWyZ/M8xP9/8Av1h7EMJQn73Oe0+H9TfVI3uZU8tJE+SZE/1b1j+JNGe6uJpp0gnTZvgdP3dYPhPxHDo2sJDLNJsuE+dHkrvI9LtpLi5uWmkjhvH+4/7yOR69Wn75hWp+ymY9va3MWju+z9zs+471Z0e6hurfzovMkeN9nyVV8QRJaxpCr+X9sfYjo/8Aq6rxxPpcibZpJH3/AH/LrIR39vv1S2d18uT5N/yf8s69D/ZS+Ov/AAz1438m+/ceG9YkSHVN7/6ib+C6T/2f/Y+f+CvH9H1l/kdJvLSP9w+xK0bzxb/o6JKkcaSJsR9lehh8V7OftofEcOMwntqfsZn6qxzpdRqysjo9TYwc18q/8E+f2gZNX0oeBNWvI7i+02Hfpk2//X2v/PH/AH4//QP9yvqiI1+iYHFQxFH2sD8vx2FnhazozJKKKK7DlCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKM1m6rqlvolhNeXU0cNrbo8000r7EjSjYNzxf8Ab0/bd8D/APBPj4Eah4/8bXskcMbi10zTbY/6Xrl6/wDq7WBM/PI/0+T53r+Y3/gof/wVi+JX/BQ34t/8JB42vhY6XpcnmaF4Ztn/AOJbon+5/wA95/788n/ANkdfVv8AwVB/akX9uD9qK58Saxdf2l4c0tHsvB2hTf8AHvZ22/8A4+tn8c0+ze//AGzT+Cvk+4/Y30f4v3jpptz9htreTZPebP3kez/Yr5PFZxCpU5Psn2eBySdOn7T7ZwHwT/aMufC/g+wtre5+y+XP86Q/u5JP+B19RfAr9pv/AISPT3f/AErdZunnuk/mfaP9/f8Ac/8AtlfHvxc/ZB8Q/CaNL7SbyTX7bZ9+FPL8uuC8NfEa/wDCVw9ndXN1B8+90/1fz1wVMuoV/fonr4fMZ4f3Kx+yfgf9pHSvFGn2141za3UP/PFE/wBW/wDnf/wCOvR/D/jKbWfs01vJ59hI/no6J+8k/jRP/Z/+mdfkR8J/2jLnS7hHuLmOfzE2fP8A8tHr7A+B/wC2RDrP2XTbhLeNPI3zun/Lvv8A/QPM+RK8DFZdOke/h8VRqn2fH4jttU0dLaV7WRLh/k3o/wC83/8Axz/yJVzVLCSK3TyofLhuPkgTf+83p/8AEf8AkOvMfC/xGs7rZNdX9r9/Y+9P9ZsT9+6J/wCQUrsLeJ7W8uppbP7DDI/2KNHf93Hs+fyPn/gj++//AD0euGB18hx/jTwlZ+I7l3a28+GRHR/s37uOT+D+P/np9xP+B1x8fg2bS7N3urbz49P3v5KJ5kkmx/M/8iSbET/cr286Xc6pp73kX2qeGNN/neR5fmb/AJN//XeT+BKNQ8EPqmnvDLNawTWb+RAiI8nlzIn3P9yD53f/AG60D2h4hb6Mmjapb2zQ+RDH/qEdP9XMnyJ8n/TSd3f/ALZ1q3EX9jahbQypH5lnP9lguYXSOON4Pk37P+mk77/+2ddzrPhy2sNQsP7Nfz5pP3lq7p5nl7E2Q7//AB+aodL0u8sLeGzltrW6eRN8OxP+PjZ8lr87/wDPSTfNs/6Z0Ghxlnqn2C4ebzrrUvMne6gud/8Ao8mz9xB8n338yTe9HiD/AJB9ylnbfan0uf8A0Xe/lyfuPk/4H5k7v/37qzqGjW3he4dI/MvobOfZv/5Zxw2vyb9n/Xd6h13+1bC3ePS7aCSOObYk3+skvPI/j/7/AL1VMJkN5vikS2iktY/s77EdIPL8xIP4P+2k7v8A9+6muLW20a8v0s3uI7bfsTYnmfaHT9xB8/8A00k31jzxXMu9LWSed7N96I//AC02PsRP+/8AvetW4ury/s0Szt7ryfnd0R0/0fyP3Cf9/JH3/wDbOpNC/wDYLaX7M/2m+dLhH+yu6f6v/lhB/wCRN9VtU1RPDfzw2099Z/ZXdJnf/nh/oqf+RN9MkuptB0+/eK5knudP+T7Mn7vzEg/cJ/38k31cktUtbi5sGmj2RoiPcv8A6uPyE8+ff/202UAM8QRQi4SGzSfyY7WGB4Zn/wBYlqnnz/8AslUP7Zs9e0v5kkur/wCyoiIj+XJI97P/AHP+maVpXF1pviPQ5kW5upLmOytbWffB/wAe891Pvf8A4B5dQ65pcNhrD39n9lvpryd3tfOf/Wb/ANxa/c/4G9AEOoapbRXH2zS/stjfyI88E3+sjuP+XWBET/vusrxBKkWoPMv7y2s3dJ33+X5iWqbE/wC/k9WZJLCK8SFbaSOz0/fPs2f6tLJNifP/ANNJ3rN1SVLDR/J+0/6HH5Nq/wA/lyRon7+6/wB+g0KcnhzUNGkms7d4J3uEtbJ7aZ/9XsTz53rpIorzWfC9yksPnzSbP30P7u4je6/2/wDpnGlc39l/4SjVEht0kjubz5H3p+7j8/53+f8A65p8lXbPVLm1kd2SOR7xJtR8mzf+B/3Fr/8AF0GZoySpFZ3l5YQwTp890iI/+kSeR+4gT/b/AI3rYt4vtWoW1teQxyQ289ra3VtC/wC82QfPPs/7abKxI9Fh/tyHfczxvp8/kJsf/R/JsoN7/P8A9NJHqzpd1eS+F4ba1h/0+306GyhR3/eSTXU+9/8AyHWgGxb7NZ0u5mV44Ly4TZOkyfvI3vX+T7n/AEzot7+w0vVLbbJHa6P9qeeBH3z+WkCeRBs/66SVZ1DxGl/Zvc2qSSP9qm1GCGHZJ9nSBPIg3/8ATPzP4KytAittLt7a21K8uo7PT9R8jfMn+r+ywee//kd6AJrzQltbyH7A891o9vOll9z/AFiWqefP/wCRKytQiv5bNHa5kguY7X9xDMn+sur1/wD43vokl1WWRNK1TVPLm1C1tbXztnlx+fev58//AJDp+l6p9lkvJvO+1abefatURHdP3iJ+4g3/APj70GZZ0vxHbXWqPcxWH/Et+e6R97/vIbL5ET/v5V/+y4bW3ewvHnnkuHtdOuk3/vJN7/arr79U7e/s9G8WR6bLZyT2Ec6adPMn/PG1g8+f/v5JVSS1muo5rlkuo5pJPtTo/wDrI729f5P+/cFT8IFu3tX/ALUtrm1hknSSCa9g+TzLj/Sn8iDf/seXV+4lvLCS5s12T6JHe7PtMyeZJcWtknz/APkT7lVv7eSwjdGuZ5Ps+o/aoN6J/pEOnps+T/tp/BU1vdQ+I47CFkksZpILW1+Sfy/s810/nzvVAZV/4jeWdPtT3UmpSacmy5T/AFkd1ez/APjj+X/BWrd6qkuoXM0UM8mm2c+9HR/3ckNknyf9/JKpy2CaX4gv7y6dLry3m1REmf8A1ez9xap8lQyWv2WO402S2kkhs57LS/JSfy44/wDlvdOn/XOgCbS4n1nT7m2W8tdNuZLK107yZn8/zPtT+fP/AOz1s6hqk1hJpV5Ek0jXj3t1H8n7yP5PItUesCPVNSm1y21aJ/8ASbiCa9gRIE+/P+4ta7bwfLDpdu8N5bRzJZ6v9l+dP9ZDZQb3ff8A9dKmmEtwk8L21tpb2cU0knmPbadB5z+XcSJa/v7r5P7nmV4h4f8AiM/xV/tjUrhLWP8A4ml1BZXKb/LkRPk/v7H/AHjon/bOq3xo+KF54tk/0W8uoNV/si6nTyU/1c11P8if9tK5X4X6FYfCrQ3tmtrq1sLi9e6nh877VJIlr9//AL+T1jUhCr7pVPn5z600bXk8JW9zpstnJdW2lzon2mH/AJaJZQb/APgCSSV1XgfQUl0PUr/VE8t7PTodLunmfy5P3/8ApU//AJD2JXzf4L1mbVLh9Kl1W68m4SHToLnZ/rPPfz7r/P8A0zr0v4mapc+I9DTwfKvkaV4o8Sp/amyd47uOydNkGz+55n8dXRnyfGRXonc+H7XRPFEmq+LdNsJ7Wz8cad/Z2nPvf7Rp81l+/g/3PM2V5d8QNBm16PUrlftUf2h7qaBEjSTy/PgS6/748xK7nxh8Qf8AhDfB6abdWEMl1p6Wr3qO6f8AH1a3X2V3/wC/bpXE6hf2cejvuvJJ7mzheR/+WflzWt78nyf9c3erqCoHjPjfVH8US69oOm309imuaXdXqPMnmeWk8Kfwf9dPkr1f4F+HLPw74DsLNvL2eQiOk3+st/Pg2P8A9/JEryX4dxP8UPFGqzWr+elvqlzsm+STy7Wyn3wJ/wChvXvcnhy20G3mhtZvMmt3m+1IieZH+4nSf/0W9YU6fvmnPze+atv53iOzmhtfMkhuEd4H/wCWkbvAknyf9t0etjwXp6XV550L3UkMj74IU/5aO/79P/InnVQvZZrXR7mzlSSeHT4Jrq1uf+Wkb2s/n/J/2zerPh/xHbeYk0ST2qXCTfYvk/efuP8ASk/3P3DvW/syTrdYlSw+z+Ukmop5H3Nn7uT+P/0Q/wD5DqhHfzRR/wDHt5Hl/JvR/wB5b7P4/wD0B/8AtpWbJqn9lyJDZvHPDGm9N7/u96fPs/7aQO6f9s6d5smjW/2O8s45IbhHR3dP7nyb3/7ZvD/37qjP2Zd1Cw/0xJmfy/tkHnv8/wDwPZ/6GlXNUisLWPZEkkaSOib9nmeWif5heobfw5c3VwnlJBHNvRERE/493/2/+2if+RK2Liwh0a3R/Ogk+zv5CI6fvP76f+Q96f8AbOphAz9oc3eS3l1pbu0NrHeffgh2f6v5/wD45vT/ALaVZk+0zae7skkbyfvPO8/y5JE//d7P+/dP1SwS63vvn+2ST/I//LS4f/4j/Uv/AN91QuN9jJC91DJJNcb/AD4X/wBXG/3/AP49VGgWXk+XD5VzcR3Nm7zz7/8Alp8/3P8Av5/6MqtLoEMWl2zypdf2bG/yTIn+rT/93/6LpUuki0tLn7RHPYef/wAfj/6yR/7/AP6BVu816aWTfbwzwTefv+T/AFcn+fnrMChp+g3NrZzJLf8An+Y//Hs6eZ5b/f8A/Rif+RK4nUNChluEeKGCRLj5/nT/AFmz7n/slejXnnf2XsV/P+T+P/lon+fJrNt/BF5ql5bfY1j36gnkJ8/+r/z/AO06n/AXTqHKW8X9jf6ZdW0kCSSfuEh/5Z/7FGj6N9g0uGFIY4/tF1990/eSI6V6FJ8NL+w1BofJ/c7N775P9X/n/wBp1m+G9Gc6550TfubN/uI/+so9nyi9uGl6W/hy3tnuraSRJH2JvT/V1saRLJFI8LJPGl5B9qR3T93I9S6xEl1cbLV/30aJsSZ/3eyufuLp7XVLa5R9kOzf8n9ytKfumPxnW655Munwwy/u3kff/wBdPk/grm9Ui83UHmX935affd60o9UTVLd4bh5JIZHSNPJ/5ZzVm6hL9lvJkkeP92n3H/5Z1vP3jngTeYlrpborxyPJ8/yf6yOn291eX+ob1eSebZ8ib/8AWVg3Er2EiPb/AL/5Pkd0/wBZWrZyw6pGk0XmQTXD7P8Arn/n/wBp1hUOj2Z0PgTxtfeCvE+l6po7PDd2D+day7P40f8Aj/66fOn/AG0r9O/gl8VLL40fDyx16z/dreRjzod/ME38aV+U2n6z5VnMlx5Ejx/PO8P+f8/JX0R+wX+0NN8NPi/H4c1G8jk0HxdJ5KNv/wCPS/8A4P8Av59z/v3X0GQZj7Ct7GfwyPl+I8r9vQ9vD44H6EUUA5FGa/Qj83CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAbHzQW5pvSud8QfFHw/4TONQ1bTrX/Zef56z9oo7lKDl8B0uc0uK8f8AEf7YHhXRwyQfatRf/YTy0f8A77rkdX/bC1bU/k0zTbG1P/TZ/OeP/wBArnnjaEftHZTy3Ey+yfRIGKpax4lsNGj33d3a23vLJsr5G8WfHHxrrCPu1i6jX+7bJsT/AMcrgdU1TW7q4+0tNPOsn9+vPrZ1CPwRPRw+QTl8cj7F8SftLeEPDiPu1L7U0f8ABbJ5lfFH/BTn9pb4r/HX4M+JPhl8HfB9rBZeLNOfTtQ8TarryWP2ZH++kMKJJ5m+Peju7x/6ypntbyWPzpbnzH/uP/y0qhHfwy3iQ7/L8x9nyV5eKzicoch7OFyOjSnz/GflH43/AOCN/wC0Dqlwt5a3PhW6muPv7NX8uSPZ/wAArjbj9iP9pb4D+C7n7V4B1LUo5Pnnm0edL6ST/gCV+yX2q2i37fLkf7jp/q6lt7qGK3eRZp5G2fxv5fmV5KqHse/z85+LHwz/AGh9Nl1S50fxBDdR6rHJsns7xHjuLfZ/fR69C+Ln7Kvgb9oLwut4r2trNJ/r7lE8v/vj/P8Ayzr9LPjZ+yF8Iv2pbO2TxV4Ytb68t02Q6lbf6Lf2/wDuTJXwH+1b/wAEyfiF+yt53iT4ZXmv/ELwTZu891pSf8hbS0/9uk/8fqfYzjPnonV7aE4claB8S/Gj/gn14w+C0bzaNc/8JFbW/wB/yU/eR/Jvrz34efG19FlTfvSb7k3z+XcSV95fBf8AaRsPi1GsOpPBPDbpsn8793cRv/t/7fmbP++K579oj/gnR4T+Kuh6lrfhfzLXUvPd3uYU8yS42fJv/wC2k9b08w5/3OMMa+Vzh++wZxPwG/agh0vXPOaaeN4/4ET/AI+Nn7/Z/wB/NlfYHww+NX/CRxwvJ591Dbz+RPZ3L/vJNiefNs/66SbK/JjVIfEnwB8aXGg+ILOSG809/Lf/AJ5yf8Dr1/4N/G3ytUtvtVzdT21u6P5KP/rNj76yx2VfbpmmBzTm/d1D9gNLlfxRAmpLc2sdzcXu+DyXf/j62b553dP+eEfyJWl/byaNqDosN1PDeJDAkMM/7y4hf7kH+/J/rnr48+Cf7V9nf6NZvdf6m4dPtTvP/q0d/Pn3/wDfCV9G6f8AEZPGVn9p+3wRvInyTJ+7t47q6++//bOCvDqU+Q9vk5/gO8uNGs9ZkufKeSRJEnukv4U8vy0T5Lqf/wBkSsHVdLklt7C5Tz4Jt/n+S/8Aq45nTZawfP8A88497vVzTpYYriHbZ3d1YfYkuvJ2fvPssHyWqP8A9dJK2LjTHlkew3x3SXDvZT3jv5ce9/nvX/7YR/IlSQee3Glvpeh77eG6urON/tUG9/8Aj4RPkg/7+T73rmNQ0tNGuEhunnnvJJ9kFzCnl+Xs/wDjk7v/AN+67nxBrV5YaP8A6PYSbPkngtnf95b7/wBxawf9s4983/bSub1TVE8OaPeXOl2ccjx/Ok037z7QifuIPk/6aTu71nA7DKt9Ltv9Jmle+ks9Pd3R0/eeZ5H7hP8Av5O71Wt9GuZd9syRxyaOnyXn+sj1BIE+T/yO7/8Afutu40v+y7jzrdIIJtL/AHEDu/8Ao9wkP8D7/wDnpdOn/fuprfZDHcW3+rXT3tYJ7ZE8vzPI/f3X/j7/APkStAK2n6Xb6NqFzDqVtPdaPHP5H2zfv+z/AGWHz503/wBzfVDxZYTapE9hqTwQJePa2Tuif6zz/wB/P/5DqzrGi3MWoJbb7qD7YkOnfO/7zfO/2qf5P+mcdVv+Etm1nRHmito5/Me6vdOuUf8A57v9lgff/wB91n/jAyoNZubnxAlzFcxzvcb72y3p/q9/+iwJs/77qa8hhit3mt38uHT98+xP+PjZapsTZ/20q/bxXPhPUEubVJ5LOO1m2JCnmR7If3Cf99yb6h8p/C8j21rZyQPbpDaz3ifvJJIYE8+6/wDQ6DQyrewubC4sIZXkuvsbw2W+F/4IP38//siPUNxpf/CR3ENtf21r9suNiQQzfu/L+1Pvn/4HHBWlb6O+qaHbW15NP9p1BPISaH/lo8z733v/ANM4EpkcT6zZpuS4ke8gd7XZ/wAfFndTv5EH/kOgyqGbHpdha26XKwzwzXCXWowJc3X+jyee/kQI6f8AoFX/AAno1hFqFzDL5c/2efejw/8ALNLKD5P/ACJ9+oby7sNGt5rhYZ5Et9Rd/s1ynmeZa2SbPkf/AK70aeUi1CawvLaSS5uLW10ueZH/ANW87+fP/wDsVoX7Mm1DQYb+3htt8EjyQJZTzb/3cc07+fP8n/XOrkfiNNG0v+1d/wDx8fatRsvk8/y9/wDosD/cqtJLf6pBc3Mqf6v7VqKOieR9oR38i1/4HV9Nfh1TULl1mgk/suB53hm/d+ZDZJsg2f8AbTfQSY+n+T4X1C2vGSBEt3+4n/Lwlqm9/wDv5JT7iwfxRpU0MVrHY/2hZJa75n/dyPev58/yf9c6raPEksdvYTeXavstdLnfZ/q/O/fz/wDkOn6ha3N/I95pt/JJNI82opCieZ5nnv8AZYNlAFDUNZTXtHe/tXtbf7O91OkKP5lxG7/6LB/9hUNvY21hcXMy38klnZzpa3XnP/BZQfcf/rpJWrqGlva3jotta+dZu6Tun+sjhsk/cfJ/00kqtp9gl3pdhDLbf2bc700id3dPIvPP/wBKut6f98JQLnDR9+q6Vc2dr5H2yNLXToIU/wCWc0775/8AyH8laWqaprEVu95FbXEiSPdai9sif6xE/cQf+RN/z1j21hYaXsvIpI54d91q8Gx0+0b3/cQJs/8AQK3tPlmtbiHR2uZJ3k1GGy/ff8s4bJPPn/3P3laDK0n2O2kudHt7yODVZPsuiJv/AHkdwifv73Z/t1Tt/G9za2c1zcQxyQ6ok2o/3PMef/RYP/2Kuahqn9teF4b9kkkv5IJrrY6eX5c17Psg/wDIe+oY7rTbrUPtK3KJpUmo759/7zy4bJPk/wDIlAG9qF1DLcJpsTyJZ2d1a2X7lPMkkS1g3z1mx2qeI4/Oa5urHUtQg3u8Kf6y9vX/APZIKoJLqEtxZ2d4ljJ9sdLX7Yif6x7r95P/AMA8jZWrZ3U11rCaxa20EHmJdaikKfvLe3SH/RYEoMvhNvQ9Lh8Oah9vuIfPs7N7q6fyX8u38m1Ty0/8iVx/jj4gpYSJptrqU8E0enJB5zwfx3X7+dN//XOvSLjQbaLT7ywl03z4ZEtdLnud/wC7kgT9/dP89fNXxI8b6L4j+ID6VpNtHqVzJp2p6jPDcp+7/fpsgR/uf7Gyqn8BHtDz34SeKLnxb4k1XW57m6gh1TUXvktkR5I7i1svkg/8ibK9N8Pyv4y26DcW1rOlw8OkXVyj+ZHcO7/arr5P4P4K1bD4Sva6XYQqlrHDbzpa70f/AFaWUHnz/wDAPMrNj+H02s65CkTyQPqkKT/O+yOOa9f/AL7/AHcFc/uG1CHLA7D4X3T2uoPrEqT/ANn26XurwWf+rkked/ItUrrfhX4ymsPg2/ifVJpLXW/HH2211GzmfzP7PmtU32qf9s9iJUOn+N/+EX+Lj6VpuiRyWdnpbveo6f6RcWsHyJ5Lv/y3+49c38XPiLD8UfihM8VzP/ZtxPZOlt5CR/f05/7n/LT+/VD+Mp+LPiMkUd+/+lf6Y97s2J5nmefBBdf+jN9cf8QPiW+qeKP7NjS+jh1C9up719/+shngR/kqpqni2w8HWcKXFtJBZyPapvR/M+d7J02fP/H9ysP9nf4fal4o+Ik2seI4YLVLyS1g+xpJ+8s7Xf5Hzv8A9NPn/wCB0pfAKdT7ED2n4ORW3heOG5lh8uH9zsRE/wBYk9k6bPkrrY/HGoa1HC9nbWslzcTw/at7/vJEurLY/wD6BXGR+HJoorCziRI4ZLWyg2Qv/q3S6eD/AOIq5p91NoNvpVheXMkF5bva2s6PJ+7+Sd0+/Sp+6Udbb+OLy61BElurVNNvJ7K62f8APT7VA8D/APoCVpaH4jttUubO5ZP9YlrP+5/1lu7o9q//ALJXm/8Aan9j6OkzPIn2eC1ukmT939oSC92f+Q9//kOuij8Rw2tnco00kf8AZ6XV1a/8tJJPIvd/3P8Apn89bAa+j2sN1/ZqNc30n2iCynn+T/Vujvaz/c/4BXbafL9lkto7/wCw3SeRZJe7H8z5N/2Wb/gfl7K831DVbm1uNVm33Un2h9TtYNieXHI7ol0iV3nguK28R6p52yPZI++CFP8Ap9g3/wDo9KDOZ3lnFDayPDvkguZE+yvM/wDrI33+R/6MSF6rahdQ6zcQoz+e/wB+B9//AB7zffRP+/m//v5WDq+qQ+LbhJpbyDybyeF0d/8Aln56bN//AH/hojifVPtKRXM8f9oI/nulr5fmPP8Acf8A7/o9TUOfkNXS7+GKO5fZPJbRwb/k/wCWm/8A+170/wC2dTW+qQxW7xxJHI/n7N7/ALz7O/8Af/8AQP8Av5Uuh3T6ho7pE/l/Z/8AUfJ+7k3pvRP+/m9P+2lSa5oKWtvvV/JufIT7Vs/eeYn9/wD79/8AouqD/l4ZVxpdna3M1437yz+5s2fu40/zvT/tnUOqWr3UaOqRwXMe/wDfQp/rN/8AlP8Av5WlbxPpemTTM/2qa3++8Kf8e+//AO2bP+/lZunxXMUdnIryT20j/uNn7zy0/wA7/wDv3WYD7+K5ljSbekdtGmx97/6xE/v/AOf+WdP0eSa6kd7d54H2fwP/AKv/AG0/8frS8URX9rbzTKkc/wBofZsSP/j3f+NP8/8APSqdv/xK7NJlhj/efu3R3qvtmZpaxql/qkcMN1cyJDImye5T95Jv2f7H/A6x9Puv+Ec2QypHcXW/Yjv/AMtK6Tw3apr9vc+UkeyN9k+z/Vx1zfiTS3tbjYyTxwyT/f8ALrSf85FP+Qv/AGDzZLCZpI99w+9P+AfwVyXjSKa1vIXbyI7a4+/C/wDy0/uV22j3SaXI9tLbSSPs3u7/AN+uV+Iml/av31r/AKQ/n/Ik3+rkRKJmlOfvkMF1cxR+SqeZbbPvp/y0p9xK91qj7rbzPk3/ACf8tKp/b30/yZvJjjmjfyH2P/rP+AVpWZSK2R4nkkmkTY+//lnWlP4BT92ZWkuvKkR4nknhj+ef/P8A33WVpcr6N4kv9/7vTZP38Don+r/z/wDF1et7qGW3mRk8vy/kfZ+7rT1C5ksI9KeVLWN7d/srv/z03/5/8iPWdQ0II5X+0JNE8H7tPuTJ/rP9j/P/ADzpY7pIrhN6SQPv/cOj/wCsf/OytKSKGXT385LqCHZs+RPL+5/n/wAh1jpYJLH8vmSW1xP+42P/AKzZ/n/yIlYTdndGlr6M/UH9kP45f8L2+CenahcNAdXs/wDQtURH/wBXcp/H/wAD+R/+2lesIuCa/OL/AIJ9fGyH4T/Gu10e4mj/ALH8ZH7E7q/7uO9/5Yf99/On/A6/R2CfzV4r9LyTHPFYbml8R+R53gfquKlCPwk1FFFe0eOFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFGaKACiiigAooo3UXAiX6U8sBXM+N/in4e+HWnPda7rWl6XDGm7feXKR4rwP4k/8FVvhb8OnjjtX8TeLZn/5ZaDos13/AOP/ACJXHWx1Cn8czoo4KvV/hQPqI8HioyTX58/FX/gup4b0L7Na6baaX4cvLx9kKeJ7p4J/+/Kf/F15346/bl+K3xE8P3Kab8R00RZHA+06RoUJjj3/ANx5PMrycRxLg4fB7x7FHhfGz+P3T9QNR1q20iz866uoYYe7yvsrx3xt/wAFA/gz8Otf/sfUviDoH9qIP+Pe2n+1SJ/3xvr81fEHxA+LlppX26+1ix+K9zs2TprH+gyf9sdm9KPAnxa+1XNnD4o8GSfD251T/jy/tXZ9kvH/ALkMyf8APT/ppXm1uKv+fcD1MPwnH/l9M+8Lv/gql8O9Zuprfw3dW+uXEfyOgukjkj/4B9+uav8A9vjxV4skaHTrey0df4NkPnyH/vuvmfXPhT4Y1TxAjt4b8PyXmz/j8REk8v8A4Gnz1zFz8KvHOjaol/4f+Ivn6PG+99K8SWXn28f+xDMn79K4555jJrQ9Knw/g4fZPpbxF8SfEfi93/tDxBql1Hv+dI5vLjj3/wC5WJJo2mxSI7XMkn8G968B0P8Aa503SvEieG9cSfStb37ES5g8u31T/rjN9x67m4+I955jwy+XIm/f8n+rjR64/wC0oz+M9BZYofAehXms2elxI6+Q8P8Af2VDJ4omis38pYJP9tJK89/tS8l3zW/keTs/jk/1if7dMjj1iXe8qRxvJ8kCI/7yT/c/v0vrRX1Q7y38b38Uj7nSGH/bf/2er8fjezuv3LTeY8ib/v8A+rry7xBa3MVnvlm8ub7m+H/lpXNySzeZvunn8mT5ERP+Wn+3/wDvKw+tTibU8LCR7TrF+kom83yJP3e9P+Wfl1z2oWqSx/LcpJ/G6JXH+G5dS0v7Gmy6njvPk+Tf/n/v3Xovh+wfy9j2ckkMaf8ALZEj8t3/ANz5P/Q3op1PakVKfsih4XtZotk14kifwIn/AC0k/wDi62LbWfK1RkZI5Et/43T93HV3T/DlzLcTW11D5aff8l0/1f8Atv8Ax/8AfyquqaDef2X8qR7433pN5/7v/vv+/wD9c0rqp05xMPaQkTWeqfZbze0kEaXH3Pk/1lPj1h4o40Xy/JkffvRKzbPS/NuH+1W0H7t9+zf/AKt/777/AJE/35Pnq5cWE3lp/p8/nb/vpvj+0f8As71QezPmT9tv/gmz4b/aGkv/ABV4ZuYPBfxIkR3fVbZPLsNY/wBi9h/6af8APb79fHfwV+Kvir4K/E2TwH8QNHuvDuvaenkfZnfel5/cuoX/AOWyfxo9fqnJYebJM6vJst49nyP/AKv/AH0+5DXn37TH7KPg/wDa+8B2GieMrC62W7+dpd5YP5F/Zzf34X+/P/ufcrOdp+5M2oVJ0p88D5E+LnwR8E/tN+E7yG8tob77RA7wTJ+7uI9nyQf+RN71+dnx8/ZK8Z/sheJLnz7afUvB95P/AKLqqf6vZ/t/3P8A7XX178aPhd8Qv+CePxPs7fWZrrVPAdxPs0jxUn7yS3f+BLz+CGf79e0eF/EeifHjwO9hdQwX1nJZTJsm/wBX9zYnyf3PvvWlDFTwvuT+A0rYWjivfh8Z+b/w7+Mj6XodskSSTvv87fM/7u3319LfAv8AabeKOazuLySdJHm2TO//AD3+T5Ef/nnHXn37Tv8AwTP174YeI5tY+GsNxrHhm8f/AI8E/wCPi32ffdP78fmfJXz7ofiy88G+IHs7pJLW/s5Pnhm/dyR/PXVUw9DEQ56Z59DFV8LPkrH7ReB/2grPxFIlzpf2WT7Gn9o7Lm6/4+PI/cQf+RPn2V3fhvVE1m4udNV55LPUP9FnuYXT7RIn+vvXh/2JPuV+ZXwb/abS11zT0lmkks7PyXSH5I5LfyN7un/fyvqv4R/G6bxRbvZtdTxvqlklqjwp/HdP589eHiMPOB9DTqQq/AfQOuWs11p7JbvP/pDvdWvnf6y3urr93An+35cHz/8ATOuH1S1eK3d7V5JE3/aoEf8A1klra/JB8/8A00n3/JUen+N/7ZuLDUrN/IuZH3pvd5Ps807+RB/37j31q6Xa6bqlw/lPJJbXl1vf5P3clrZf/HJ64Top+6Y+n2v2+8tra8SO6mt9n2qZ3/1mz/Srr/yJsR60o4ryW3he6uYLp7h4E3o/7yPz/wB/P/v+XHs/1lGoaXYRXFtbXSXU95cJ5F0kz/vJHnf7Ve/c/wCecexKzdQl1Kws7bUrOw8lLzTrrUfkTzJJHup/IgR/+2dEBlRLqaXT7C8vE8+/ke91H5E8zzJp38iDZUGqRf8ACOaHf39ql1HZ6e73sH2n/VxpAnkQfP8A9d99bFvqk3hzS/8AQIbX7Zbu+zf+88xLVPIgT/v/AL/+/dM1DS8R30LWaSW0d9Dazvv8yOS1tYPPn+//ANNKDQzbO1htI/sqpdTvstbKdEfy/MhgTz59lP8A7Bs9U0dIbq5ng+2Ill87/u/Onn89/n/650z+z7ybdZ/aZ99wib4X/wBZH9t+d3/78Uz7XbRW8N4qST/aEur14Zv78/7iB0T/AK51maFO9l1LVNLv/tENrHHcJNPa7P3nzzvsg/8AIdTSapeeGI7C5t7mCS2t0ed5nRJPLhsk2In/AH83/wD2dQ+LNUhtdQhmtbbVY4dH33UDun+kbLVNn/o+jWNLtdL2W1rYRzwyJZaXN5yf6zf+/unrQCfS9ksk2m7J4PtiWVrPvTzPs7v/AKVPWZcRTeZc3lqlrH9o869gtnf95I87+RBs/wC2dPk1R4re/vFeffJp0077P38kb3U/kQf+Q/uVcuJbC1uLa5aG1S2juvPspkf/AJY2UOyB/wDv/WhP2ytpd0ml/b1Z/Lh0v+OZ/M8uG1T7if8AXSTZVDVNBfVN9tsjjSSDT9Lnd3/1czv587/+gU+Tw4l1O9tL5eqvqE9rpG9/9ZH/AMt53/7+VD5U11qF/Mtt5j3jvep5z+X5d1O/kQf+zv8Au6Cg1CJ4bO5v9kH7tLq9guYU/wBW91P5Cf8AjlQ6hqieF7n7Ytz5dtZu/wDo3/POG1TYm/8A7aVZs/EcOja5eQywxx6bbz7PO/56JawffdP+ulZuh+HLmLWIbOJ/Ms98NlsRPM+RE+1T/f8A+AUAPs5U0u8s5ormeP7OkOn/AGmGf/j42f6Vdb//AByqcl1eRae9zsnkv/ss2qfZnj8vzJ7qfZB/5Dp9vqnm6PNts7ePUrzTt8DzJ+7uJr2fZ8mz/YqZ9Zew1RXWaeO2jn2P8/8Ay62UH3P+/lBOpcttBtotcSa6s4LXzL1LX7T/AM9IbJN7/wDkStLR/BupReH02391qT2+nJsuZv3lxbzXs/8A8brKt9U1W60dNNleSN/Ih2b08y4ke6fz33/9s6s2/jK8l8PTala2ck6b5tR2WaPH5e//AEWDelbUzE2Pt9vLIj7JI7az87VNn/POGD9xB8//AF0+esrS/DEN1HDbSzRwTSPDpzzP/q5H/wBfdf8AxFXNU1R5ZLnTb+GeOGOeHTtiP+8jhgTz5/8AfSsH/hKJpdDv/sttawJJavepv/1dvdXT7Pv/AMH7ipAf4osE0u4e/a58x47K91G1mRP3cc10/kQJ/wB+66TwPawy6o6Xk3kW15epp07zJ5kfk2Sb3fZT9H1n+1N80VnHdTWb7NlzB5dv9ltU/wDakmyoba6s9G8P2143n2tzqFl9ld5n8uSOa9+d/wDv3HQZ1CbxZ8aE8OWdtYLD5l5eQPA6JB5kkb3rv8//AH7/APQ6+afgx4D1Xx5401Lx5qSXcGk6xPM/2OH939n0+1+SDzv+B7KxPih8ff8AhI/2mLl4rlLvR/D8D6ps+y/u/wBwmyD/AOL/AO+K9s+FfiOwsNAtfD1091Gklla6Wju//Hw8/wDpU9aS5/gOenySmdt4f0a50vS7PSl+yxzXGnWWnPeI/wDrJrr53/8AIddDqGg6Ppmj6PcyzSRvca296mz959o2J5FrAlY9v4ottek1Wa1s/Me4gutRdPMST5J/9FtU3/8AXPe9Q6PryfFD46aVYLo9rH4S+H90mnJC8/l3FxdPa74LqH/rn89T7OB0e0mM8J/C/VfhD4Strm/e+g1u48Vu+y8R45I0ntd7pN/cryiyv5rWzs3urGORPP0yeeF/9vz0r6o1Db8UJLDUvtMkaag+n73uYP3lxN86b3Svnv4kS2fg3ULCaV57GGR9Peez2fvLjZPOn/xFFSmVRqHjmqX+sap8ULC2urOPUvDejppmo6o6IknmO7vHapsf/vv/ALZ17l8J9Gt/C/h9NV3TxzXFrCiPs/efJe/x1yvw/wDgZYaN4oeaX7VPf3j/AGrVJndPs9u6XqIiQ7P+ecaV6XqF1YaXGiRJBJbW9q86PD/yzRNR/uf+yVI6Pu+/MzdQ19JdQh+0eRIlujvsf93JJs1H/UPReRQ2EsKNZ3Un2NJp3f8A1lxH/wATH5P++Ki1jzori5uVSS4+0Qah+5mT958l6j1B4wv7y2uJkk+ywTW6anawTI/8COk/36DUuaxazSx3j7/tVhqCatpzzP8AvI5HR/PTYifx/cre0S1ttUv7a58mR0vLq6ggm/2Lqy+//wCOVj290+s3H2+zfy7PWLr7bs2eX9nmnsvL/wDRlP8ACevTX+n2F41zBdXlmmk3s/nJs8t0fyH/APIdAHQ+E5ZrW4sPtE091psk2n3UGz/WRo8HkP8A+RKNL1m8tfDaTWvmedb6cjvCn/LT7Feumz/v3XPaXrSaN4XhVU8+zuNOmtYH3+ZJb/Zb35P+/db2ueLbOWPUodknkyT6nB/oyeXJGjp5/wAn9+ppgQ2fnaNb6s6v5n2iHUIEh2f8e80E6Tp/37+euzn1maK3eZr/AMxPPuoPk/5aeRsnT/2euG1jXode1B7aJ5JHvHmeB0/vz2X3/wDxyq3hu/8ANFs7Xnmf2xPZJ8j7PL32Wyj2Zl8R61J4omijmSzby0t53RE3p+837LqD/wBnrbk1S2sN80vmeTbu77H/ANZIn30+5/0zd68x/wCEjfxHBbfZXnghvINPefyY/wDWfuHg/wC+KsyeN0is0hunnjvLhLX50Tz45He1kR//AECqI9md/by+bZpueCP53f5N/wDB+4/+M1Z8P6oksiJC8ckMaJPPC6eX5jv/AJmrho/Hj39uiReZv1D+D/n332qPvT/vir+h+I7abVLa5X95DI7+ejv5ccm/50/9DqfaB7M7+9tf7Zt7m3iuYLW5j/1zp/sfcf8A9ArKt4rmKT7HazRz3P34HdP+B7P/AECq3h/xG8tu/mpJJJG/kTu6eX8/+Up8kM1reXNnavJ538e//j4j/uf+yUe0Of2Zv6Hqk2g6g/8Ao0f2O8fZ5yfvPLf/AG//AByjUJbb+0EuVeeTzJ9/ko/mfJ/sVzul6pc3V472s0EkMj738lP8/wCxV/UNU+ySpc7I5HjRP9Sn8b/f3/8Ajlb06nuE+z98uapazWFvv/dxrH9xEf8Adyf36x/EEq3UiOs3lw3j7IN/+r/4HVy8v7O6kS2lhktPs7/I6JVC8i/0dJovss/z+RdQ7/8AV0c5MDKk8GzaXGj7II4fP+fYn+s2Uy31TytPufKeeNI/k2bP7/3K7DxZpfm28MyPJs8hE2I/8FcB4g0uawt08p/n373ff/rEf+D/ANAq/hKhU5zb0+whuvDbzbI40t/3fnP/AHP87KZeWEN14Ptt37j7POj/ADv/AKt0/wAulFvrP9l6HJbRJJIkb/8A2f8An/rnVm3is9U8P3MM3neTeJs+T/P/AAP/ALZ1jUKGSeI/Kt/mtpI0k/jR/wB5/n7n/j9ULiKzlu7ZFj8ua4uk2WyP5fl7PkT/ANnT/viqHhO6e10+GG6Ty7mP5H3/APHvv37P8/8AXStKOVJbh5luY5PM/j/5aRw/7n/XP/0XXJUqHYjE1TVPsuqP891a3lvsfen/AC0/j+T/AG/uP/wCSv1g/ZP+NCfHf4GaDrzeT9vaHydRRDjy7lPkm/8Ai/8AgaV+TmsWr2tvMi+W80c+9Nifx/3/APc/+OV9Zf8ABIr4vTaD451zwLfTTfZtYh/tTToXT93bun+uT/P9yvoeGcV7LE8k/tHzXFuB9vg/bw+wfoXRRmiv0g/LAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoozijNABRRnFZ2seILPQbbzry8tbWH+/LJ5dLmQWb2NHFI1eSeLP2wPh74SldW16G+mjGPJsEe6z/3x8lec+J/+Ci9v5rW/h/wzdXTeXvSa/ukgj/74Te9cVTMMND4pndQyzE1fggfTgJJ6VDcXiWqM0jxxrH/E718J+J/22PiV4sk8m1vdH8OxSJ920tfPkk/4G++vJfiHrHiT4k21xDrfiDUdfaT/AFaXk2+P/vj7leViOIqMP4ceY9TD8M15/HKx+hHjD9qD4f8AgO3EmqeM9Bhdf+WaXSTSH/gCb3rxfx7/AMFUfCdkJ4/Cuha94tmjfZvQJY27/wDA5v8A4ivgDxR+y/4e8Y3D3N1pVjBqVvBs+02bz2v2dE/ubNlcTeeA/id8PtY/4lL2/jTQZE/487l/L1O3+f8Agm+4/wDuSV4eI4ixM/g9w+gw/CuDj/EnzH1l47/4LOfE671CSzsfhPd6JZ73/wBPhmTVJLdE/jdPk/8AQK8m8Z/tl337UiPot18U9cmh1CNPMs9H1d9K/wCAfudkiVy3gPxHD43jvPKubWS/s32XtteJ5d3p7/7cNTap+zn4G8byJeeKPD2m3VzH8j/Zne1u7d/7++DZXiVMyxVf45nsU8pwWH+CByviD9n3Uorh08JeIdY02a8fej3N7Pqvlv8A9tt71p6XrPjD4I+H/tnjK/8AD/jG2j+Se/8ADaeXf27/APXs/wB//tn/AOP1jeJPiNr37N3jC2s9U0q6vvBMkHkQarC/manp/wD12f8Ajgk/v167pcS+I/C9hqmmpYyW14iOm90jj2f30d64YxfU6kkc94T8R+A/jxpaPa/YdcjuPnns7m1T92/8aOj/APj6VW8efs5uLizv/Buqx+DtVt5/Pgs7NPM0y4f/AKbQ/wAafcqr8UPBz2GqPrHhLR/D/hzxbIjvBMiP/pH/AF2T+P8A35P9XWR8J/2m9S17XI/CXjrwxH4b8VRv8iI7yW+qQ/8APe2m/jqvZ/zmv+A3vC/ii50LULDRfH0Om+Gde1D5LJ0uv9E1R3/59n/9krpPiR4N0r4jeD7nQdes4J02bH3p5kcdUvih8PtK+PHge/0HxBYRz2Gzz55nT/SNPdP40/jheP8Av1wknjKz/ZVk0qz8W+JLvxV4T1BETS9buYPLuLOb+NJtn8H/AE2o+H4BcgeE9Z1L9lAXk2pXPiDx54Pt08xLOzg/4m2l/wC3/wBNoK9g+H/x98PfGTQ7XUvDl/a6lZ3HyJ537vy/9h0f+P8A2P8AWVj6P4j0fWdHmeL9+mzfvf8AuP8A+OfvP+mj1g+IPgZpth4stvFvhx/+Ed8T2/8Ar7yzT/R/ECf88Ln++/8Atxp+7rSnU/kHKn/Oei+JPCWm+PNLm0rVtB07VbDZvns9S/eR/wC//seX/B5j14t40utY/Z9u7ab7Ndar4D3on/H15934f3/7ib5rX7+9/wD0Ou28CftI6T8W9UfQb62vvCvjPR32T6Df7P3f9zyU/uf9NpK7PUPDn2+4hfZa7Lz5H2P/AKPJ/wAAf57p/v8A+xWk6cJkQ9wreC7qw8UW9tqVreWs9nInyXltOnl7H/uP/wB8f6vfXVXFhbWFvM7NPG9x87/9M/8Ax/8A9GPXzr8QLrVf2UNdfXvDPhjzPAHn+f4h0rTZ/wDSLOH+O6R0+SH/AG4Y69J8D+PNH+Iuh6feaHfWt1olw/2qCzSDzLe4R/8Apj993/vvJRTrcvxh7P7Z2txf2drb2yN5ciXieRBM7+Z/wBP7/wD2zqnJfvYf6S0MdrbW/wBxIdnmR/7/APAn/oyiSVJdUe5bfPDs8id9/wDq3/6bTf3P+mEFbEdrbRx225I5LyNPPgT7L+8j/wBuGH+BP9uSuow+AZpd1qVrG8zTeZDcfOnyeX5n9zYn33/7aV0/hvXrmKR5pZoNmx/v/wDLv/vv9xP9yOueklhsNPeSJI7rTbhNk/zv9nk/35v+Wz/7EdV49ZTStQeG3e6gvI03wQuifaI4f7/k/wDLqn+3JV06nIZ1KfOeg6hfpf8A2aa4v7pHvH+TfB/rP+2P8f8AvyVDeeI0urvzvtMn+hvsd0f/AFf+/Mn3P9yOvPdU8ZP/AGe8zJa/ZpH8h/37/Z7ib/rt9+b/AHI6s6P4jvIri2s1jkjvNm+DYnmXFv8A7ez7kP8AvyV0fWiPqp08d1pvmIipJHNcPvgRIH/0j/ch/wDZ5K1ftUMtm7q/7yN/3jo//Hwn9x5v4/8AcjrnrPVLz7RvZ4H+0Ps3wv8A6Pcf7Dv9+Z/9iOmSS69/bCSStJ9v2fJsTy7iOH/0CFP/AB+r9oHIbeoX80twk0Tpvt5PkhSD/Vp/sQ//AByiS6a6tpr/AGWsEMnyPM90/lyP/ceb+P8A3I6oW8z6pZ/661gt7j59if6u4f8A9Dmqzo+jPf6mlsz3V1f/AMCbP3lv/c+/8kNHxmfwmb8QNB0fxl4HudB1zSoNZ03WE+yvpVzZJP8AaE/2If4P9+SvzX/al/Y81j9haBfHXw1e61z4a6X8l7bXc32qfw38/wAn77/l6g/v/wDPOv00t9LewjeS4TzLON9k9y7v5e//ANDunqe88EW0tx5KwvJ9og3vZ7E+0bH/AI3/AIIUrP3+ppTqcmsD86/2e/2kU8UWdhefu7pNn8D/ALuRIU3v/wB/JK4/9qP9iTR/2s9LTUontfD/AIh0+Del5bJ/sPO/nJ/H/AleqftSf8Eq5tGvLzxV8GfI02wjnefVPCv2ry7C8/v/ANmb/n3/AH/k+5/c2V558F/jnpXii3htm1CPTdSt0+yvDefuLi3mnn+fen/TOPfv8yuX38PPnonoWhiIclY/PTxz4M8T/s6fES58M+KofIuY/kS5T/UT/J/BXrvwr+PFzo1uiNN5ibHjfZ/tpsr7b/aI+C/hv9sj4dppWrJa2Oq7Jn0vUnT93G88/kef/wCOV+bnxI+C3iz9mTxw+i69DJPDvdLLUkT/AEfUET7n/wCxXqwqU8ZD++eTOFTBz/uH6L/Bf48Pqmhw3lxc2sDxwPdQJ/y0jdE2WteweF9Uhtf7NeW/jkhjkhtb3Y/kfubVPPd/+/nyV+Xfgf4q38V48y/aoGuJ0Sd0fy/M2fwV9V/B/wDaCTxRp9hoOqPHfXlxZIkF4/8ArI3nm2fwf9M68atgeSZ7WExftT6c8V3U2s6W8l5DayX1xZbINjvH/pV7P/6HHBWbqnie50bVJr+ze6vtEt0e6h8793HbpB+4g/8AI+96px69DdW7zL/Z0D3k816+/wD4+I5v+PWD5P4P462PC+s2H2y11KWaO+tpL10ffH5klulkn/x+uGpTOyAaXpcOlyXP2y2SOG4vYbWCZJ/9Ylknnv8A+RH+/Vy3kmiuHsdSeSC/kgh3zb/L8u6un3z/AO/+72VlR6Nc6xp6Wctt/aX2hIYNl5P/AKz7VP58/wBzZ/q4629P15NU0tL+3to5Ly4tb3W7WF0f77/6LAmx/wDvuo5GaGPJdJa3D6wttJO0kF7qOzYkkcaTv9lg/wDIdMuLV7rznt7a1gttLf8AceS/+rTT0+T/AIHJJT5LD/hF7O5tpUngfT57W13onmeZDZQb33/9tKx5NGmi1T7BFeSbLz7FB86eX5czv5978ifwf3KZoVtcurm/t0s9S+1bLiCy0t5oX8vzN/7+f/2TfVbS7qa/0O5ud8cc0iXuo/Pv/ePO/kQP/wB+6s6hJNf6XqE14lrI9xBdT2To/wDq5p38iDfWbJF5XiDcyRx/Z598mxP4LKDYnk/9t6CaZvRa9Z6NeW0zXM91YRzvP9xPLuIbKHZ9z/nn5lZWl6p/xI4dHisI4H+22tlPvfzPMff9qn+ei3sXv7i2sLhPPSN0sp/Jf+BE+1XXzp/HXMSXT6peW1/arHJN9lutRgeF/Ljke9/cQJ/37rQPZnVahK/jL+1bpE8iG8urrUUd3eOOSa6fyETf/wB91Qjv/wCxri5eWG6/4l+ozXse9PLj+y2sGxP/ACJWr8O9Z+1/2V9o8uPTftr73d/Lt47WyT+P/tpVnUNGm0vS0sF8+SaN7W1+RP8AWPO73U//AJD2VoR8PuGPJpcMd5Z2a2HzyJa2U73L+XHcb/8ASp99Vo7m8lt7m2WGeC/0/S5ng3p5nlvez/J/5Dq/rkSapoTu1tDPNqCPPvuXeP572fZ/5Djqtqnih7W8SZYY7q2+3PdQP5H+rSyTZD/5ErGoMrapYTaXeJNa3kl9Zyb3SG2/1kcNlBsg+d/+m9UNL0qG60+HQYrmS1SO1tdO/ffvJI3nffPUz/abWze2ltrWPy0tdIR4X/dyO7+fPVzS5bbVP+Jl50E9/cJczpMif6x3/cWtUaDNQunjjmuWubWR/wDTb2B5rXy/n/49bX/yHven/ZXury6trPUJ4/8AiY2trP53/PCyTe9Q3GqW39sslxYRwWH9ow+Rvf8A4+INPg37E/7ab/8Av5VO4sEv43m2eZf3Fl5DpM/+jxzXr73/AO/cdaHObcel3+s6PZ2EV1PJc3kH75ET+O6f7/8Av+XVC41SHRri/uVSSTTbfV5rpH2eXJJDapsTen9zzKoWnii80aX+0rPy53s7q9vZ5v8AVyRw2qfZYK7n/hEnv/sdsvnWP2xIdOmmhT/Vp/r56DP4DK+Hfhx9Lt3026uY5PMgtdO/6aRvO/nz7P8ArnXB/Fj4tQ+I9csNJtXuvtmuT3r2XyeXcW7v8nzo+z5PIR69F8WS2el+G0uZZoINSt7Wa6nhT/j3t5rr9xBsd/8ApnXyzo/jJ/ih+0peXN491PpVmn9iR3ML+ZbyQom+6+f/AL4/1dVMznMn8J/s+21p4gv5rpLhJtQ+y2TzO/7uR0/f3Xkp/cjj2JXW6Hpd/c+IfDzxPPHeaxdfIm//AFb3T7E/4H5FewfDvTIbqws4VtoI5pLL9x5z+Z5j3r+X/wCQ467/AMH/AA503wv40h17WXtdNsLP7Vqk/nT+f5cNqn2W1/8AInz76KdT3zT2cKUPcPLpPFH/AAq/wemj6S8F14k8UapM9kiP/pFvZWqbJ9//AI/s/wCuldVeeKdE8OaZok2jWE8dnrF1pmqb7mfzLje6T7J/n/74etLwJ8PtHl1228Q6tpV1pV/p+rww6RfvJ/rLV4Hd/wDf8z568l8cRarL9mSWG1jto7XT3tZof3f/AC3f7lSaHZ/D/wCPqaN/Y+pXU32p7j+zLW6s9/8Ax7vvf50r51PjaT9pr9pS21vS5r660fw/epDauj/u7i5kutm//rmn3KwfEniO5l+KHhjw3K8ckOoWqXV1sfy5I0+dNjun/PSvof8AZr8J23g34R2Fza2FjImn6Wk7+Sn9y6+RP+ulbfD7hx/FM7/R9B8PeDfBaPa2d1avZvdI/nQ/u40TUUrK8SbItP1Dyk8uaRL2CfyU/wBXsvUqz8QLp9UvNSvIntbG2kTU/nf/AFf+vR97/wDj9F74oSXU9VRUgsXkfV7W6eH/AJafuEdKxOgs+JJbaw+320/lx3kb6vapsg/d/OkE/wD5ErmfEGg/8VJc20XnxpeXt1az/J5/lpdWW/8A9GVu28VzdXGmszwX015vg85E8vzHmsqzZLq8uo9Nv/tl1JcyPot1vhfy5JN6eQ6PQaGV4fuodLs9PdbmSO2t30yf5H/dx/fR6NU1mHS/D8Myv5n2O18/zkT95Hsvf40/8cqhp8UNhs8qGON5LW18+GF/9Zsvfv7P+B1NqhhuvD9/DMk9rNcWWoQWs2zy/nS637Kn2fKaGrc6V/bPii5trOGSS8t31O1Sz/5+H/dz7P8Afqa8uk/4Sh7byZ5PLnd/OdPLjj32X3Koafr+t+DdYv7yJIPtMk+obEuYP9It/wDRd6fPVyTxGmqagj+TPa/aHhf7NC/+r36dvqjMh8J68mvXlncrDBJc79Mf5E/1f7h02fPVDwvqn2XyXkhj3/ZdPup96f6zZdOnz1oaHYJHIl5avJJ5iaT8iJ/x8bKzLPWUtfDaf6Z5cMdkl0mxP9H+TUf8/JQB1vgP7Hp9xYTRXPkPbpsRH/6YXv8A+3XQ6hqj6pcIl1Z2sb2bpAmx/wDj42Xrp/6LevN7yVP9PmiSeC8t/tr70T/lj9qT5NlaXijWX0u317yvMunt0vfJm2eZHI6TwP8Ax1NQr++dPZxf8eEN15G+3S1tX8lP9I/cXTwbPn/6ZulWdPunutUsIVeOdLh0/fIn/TB0/wDaKVlf275v2y8k8+P7Q8z7P+ff50fZvq/HazWGqI9vczx20c++B0TzPs/+lfwf7Hz1n7M2O8t7/wDsvw3fzXXmR+Zdb0/6afOk/wD7O9ZVxrL2uqPfwPdSPbpvf/pns/8A2KZp8qX/AIfeziTyPMk2eS/7+SP5HT/2RKuafFNpdnvukjm8vYiOj/6RHvf5/wD0OqOcNM1lLXyUuk8x7dHunffs8z/95XQx+KPstxYfY/Mk+0T7/wDrm6Vzel2H2q43t5kdncP5nyP/AKt/k/8As6syX7WuuWyM8cnl/P8AZn/dx2/3Pn/9DqqZnUOk1C6urqP7T5Mcafxpbf8ALw/8FM1SKE3EO6Hy28zZsT/lon9yuYuPFE2qXlt/Zb+Wnnp8j/3/AL/3/wDvuti3v4fEciW14/l/aJ9+93/1e+j2hn7M2dPv3tdPd4kkkS3f7jv/AKysDxZYXktxDteOSGSf5N/7zzNlbFvdQ/2g8LJPG9u/kvM7/wCs/wA/JTPEnk+ZCjbI/Ld3jmdK2OfkOYuLW8sNLXc/lzXDvO+z/ln/AJ+er/w/v3it2h2RyeW/8af5/wBuqFxKlhFMjeZJ9jT9w7p/rE30eH7ua1vEdf3dtcffd3/1j1y1Pemd32C54glhutQv7Zv3dxGifc/uf/sbH/7Z0zVLVPDmqJtSPdI/zps/9D/7af8AoyodDv3l8SXVy1tJJ/oWxERP9Xs3/wD2dbdn50lu+3UI47yR96b08v5P4/8A2R6on4TmLeX+1JHS8/dwxp5EexP4H/2/+uf/AKLroPAPiGb4WfEbQvF9jcz+doeoJcw7H/d3EH+rnT/tp/7UpuoWv+h3+1/Ltriffv2f6t/7j/8Akb/v5TNL0a4ikuYftNrPpsb70mf/AJafwb//AEClS54VLlVVCpT9mfsPoeo23iPSLO+tX3295Ck8L/8APRHG+tYdfwr5w/4Js/E//hO/2d4dLmk/0vwndPpjh3/ebPvw/wDkN9n/AACvovzeZPav1vB1vb0YTPxPHUJ0K86M/sk1FFFdRyhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUHpRmqGoX0GlWU1zO6QwwIXdn/gRKA8iDWdatNA0ua81CaG1s7dN80sz7I40r5L+O3/BVrwz4Su5dN8KyQ6jcRffu5l/d/8AAE718d/8FRv+CnNx8SvFD+H/AA7efZfDOnzeXCm//kITf35v/ZK+H9U8Zar4j1yTbqs8HmJv2b6+OzLPpyn7HDH3GU8Ow5Pb4z/wE/SzX/8AgpBfeMLdprrxBqvk3j/uIYZ/sscn/fH3Kfpfxf0Hx5qCebqU882/Yn2mfzP/AEPfX5oR+I5vnht9Yggf+5DdeX/45XZ6P8X7/wAJaha3Vw0d1ayfIiIn7uP/AL4rwZ4ivL4z6WngMLH4PdP0gvPDn2q3dF8iS2/1fyVlah4NurCN7mJ7WdJPkREfy/Lrwr4J/tYTXVt9gurmOS53/wBz/WbK+hND16z8W6e91F/qbh9ifJVe0hMmeHnS2OY1SweKSZ1f7K8ifO+/93WbcXU0USJ9m8+wj/jRP9ZXc3HhKzuo9/kySeY/yTP/AH//AED/AL9pUMejW2l3EzsklvNI+zyXgf8Ad7P4/wD949L2BHtDlZJU1m3v0ZPIfZ5E7p+8kjT+4j0W91bXdn9miuZI0j2SPC6efHbun/odaviC1hijSaKa18mR/ISbZ5fl/wDA/wD42lZuuaW8dw9n+7je4TfPbQp/H/B8m/5/+271JtTPN/jh+y/pvxQkj8Q2upXXh/W9Dg2WusWb+XJG7/8APbf/AAf9tK5Lwn8abP4fePLPwf431W10rxZcWrvp15C7pYaoif8APH+P+58le2XF1bS2ELyzSRvbpsg+59n/AO+/uf8AftK4P4yfs8aJ8Y/D62GrW1rdPcT/AG37Tsf7fHMn3Hh/jfZ/B5mxK5KlP3+eB0U/5JnSaHdf2XI727wSQxvv+2P+8+f/AHP9Wn/bTfXgXizwv4t+Bfj+51vwlbXXifwPqD+fqPhu2T/S7f8Aj8/T3+/s/vwxpWhpfjLUvgFrlt4V8dX9rdaVcO6aJrELpJb+d9/7LN/Al1XofhfXvtWqQ38t/DdQxpsgmSd/s8n+xv8A9fdf7n3Kw9pze5M2p0/tlnwP4o/4TbwnDcxJB/Ztwm+ymT95JJ/wB/kTy/8AppXPfFDVH1nwO+m3X2eTVbhEmsblH8uTS7pPuTpN995P7nl/JXm/xw8ZeLfgt8QH8YWthdXXhvWE3+IdHhtf+PdP4L2GH/vvf5lekeF/iDD4t8F22sWtz5dnInz3iTp9nvN//Tb/ANkjrOpz/Aach418D/2h/EMXjd/BvxB+yw69H++0u8mRPL1iFPkfYn+r8/8AvpJXt3iTRtH8ZeD5v7WsP7Ss9UR7WCF7rzI7hP7jzfff/cjrmPG/g3SviFo6WeuaJazzSfPZIn7i7t3/AIJ7JE+5/B889ZHgP9pa8ufHj+CfG2lQeH/HNvBsgvIXSe38SQp9x4X+5D+7++kfz1MPdNClo/hdP2S7jzrjUo9S8Deem/TXRJ7/AMPu6fI/k/8APr/B+8/1deweF/iNbWuy/ivI44ZE/wCPy2n3/aP7m+b/ANkgrmPFGgw6z4fTzZrWfSrxN8GxPMt97/J8kP35n/25K8x8N/AfxP8AA3xu954PudY1XwxcJ597o6Okl/4f/v3UP/PFP+mNH+AX+M9U+Lnwb0r456pYXN5/aWla9pb79Lv7O18u7t/+2P8A6H59avh/9oKw8MXk3g/xVeJP4qt03pc2f7u01hET7/nfff8A24Y6l8L3Vj4o8LprGja9a6rpWxJ4Hhuv3Em//n5/jmeuc+NfwM0f4veE/sepJPa3mnv5+kX9t+7v7N/+nKFPkgT/AG3qvaGNSnA9L1iK5tdPs0lhnjubyPfZQwwJ/wB9w2v8H+/JXhWoX9h+zLca3r3hXSp9Y0S8n363oiXXnx2/994X/wCW0/398Ndh8P8AWdS8EaXbeG/G/iHSrrXtUfyNO1WzvfLsNcmT76TTP/HH/c/5afwV1VxYJrX2C5VJ5/LTZBeW0H+kSf7FlD/B/wBdpKJ+8XTIfhH8X9B+KGn2et+GdSkuodmxEmRI7iP/AHE+5a+X/fk+euw+1XkUb+a9rPYST7H/AH7/AGSR/wDbf791/B/q68Ks/gE/hzxpc+MPAdulr8/2rXtEmk/4lmqbPvvNM/8Ay9Sf9M69X+D/AO0PoPxf09JtLa6tbrZ5Dp9i8zU7N3/gS2fZ5P8Av/8AoddFOp/OZ1KZ1X2XUotRS2dLr+0pE+RIUT7Rs/2P4LVKzbzwv/Zlu81x9hgtvP8APurl3/0CN/uf9d7166HS5fN0dNr2skNu++fyZ/8AR9//AE2m/j/3K6GO1fXZLbzX/wBM++j+T5dxcJ/0xh/5Y/78ldVOjznL7blOM0vS/K1RIWtrrfGmxJpk/wBPkT/c+5apWlby2ejWaI0Nj9j8/Z8j+XaR/wDs8z0/VLWz1TS7zzngj0q3ffPsf/Q4/wDrtN9+6f8A2I6p3HjJ5bi282ae6mkTyINiJ9okh/g+zW3/ACx/35KPgD4zqtL1n+z7iHdDdSar5G+DYn+lyJ/6LtUq/Hqmmy26fbPssiSPv+2O/wDokc39x/45nrgPtSCS5+zpBNDv/wBNSaf93bv/AH7mb/lt/wBcY62NP1nUIriG5leeS8kTyLV/svl3eof9e0P/ACxT/breFYwnROt0+183UHS3juv7VjTennJ/pcif+gQpVDWNZml0923x/Y43+/D/AMe8f/s8z1ifvvs6PK9rPDG++6hR/wDR7P8A6+ZvvzSf7FWZJXjkSa68yeG8TfZXOz/S5P8Ar2h/5Yp/t1ftCPZmrcazc/6NMv2qSaRPkTen2v8A78/chSub1TVJru3uUWa1khkf9/sfzLeN0/vv9+6epvt9nYahcu1n5kNvHv8Asb3X+r/27yb/ANkqtqmsw2FxDNEkk73j/I8KeZ9/+Cyh/wDZ5KxqVDanTNW41l/tltMs11PdRp8m/wD4+/8AgCP8kNfN/wC25/wTTsP2h9UTx54Bv7Hwd4/t0ffeOn/Et8Qf9fP9+f8AuPHXvFvapaxXNmyR/Zrh991D5/7uN/8Ap8m/jf8A2I61bfVHtZIZt91HeXD+RBMif6RJ/wBcYf4E/wBuSiniOQdSmflJ8NPjvq3wz8b6p4Z8VWF94c8VeG/nutNvLX93bvBB8mxP+eH+2n+sr6G1Twl4V/av+E9z4Y15PPe4ghTzk2SeW6Wu/fC/8Dx/cr3z9sL9jjwz+1v8PLmx1y1s7HWLP/kH+IbDYl3o7/wPNN9+b/bh+5X586p/wmH7GXxIsPAfxBtksdS8/wDtCyv4d8f/AAkFk/yfak/74+dKmUOb99QNaNbn/c1j5/8A2gP2ZPGf7N+oeTqltPquiRu/2XWLN/M+T/pt/t/cql8I/irc+Erh/tDx/vPk/fP/AKxPuV+k3hjXtH+L+j+XeP59hrlk6TwoifvHnuk8ivjT9rz/AIJxa98Pkv8AW/h2l1rHh6S9fZpqfvLizTe/+pf+OP5Hrso4qFf3Kxx4rBToT56J6n8I/wBoyH/iVpsj8nfCm+ZP9ZDapv8AnevTvD/iRLrR0s1ufLubN00ueZH/ANHt5p5/PndP+2eyvz0+FfxVmudP/s1raP7ZZo8Gyb/br6i8D/FX/iR3NyyWs8dwjukLv5fmf8uqbPn/AN+uWvheU7sDjoVYH1jZ+I0it3fUvsserW6XWowWd4nl+ZNO/kQeT/2zq5qei20WqOjJ5lnHew/vkf8AeSQ2UG9//IleUeF7q3luHhZ/M+z3UPkTXL/ao4/sUH8e/wDg/wDjddz4X8W3/wDwj76JqNhHHebIYNls/wDrEnfz32Vw+zPWNKO182SPSrh54L/UEttju/mfaHun890/797EqHUJdSijvNSWxjksLj7Vqnkon+sfzvIREf8Av/3KhvPFtzFZzXLTSWsNxe3uo2sMMn+r/wCWEKf9s6m0OX/hF7+ztoryCSwjuoYLr5/Lt40tYN+//v5XP7MDYt9GubWNNYs7CGf7HPsn3/8ALOGyg/uf3/M/jrH1Dw59l1x7OWG6gSN4bVN7/vI0f/Sp/wDtp9yi01nypIbZrbyPMRLLZ5nmeZ57/ap/+B+XVm41m88R6PZ3jfvLy8069vk3oknlzXU/kQf76eXVAcxqGjJdSOn+nR3l5au7pD/q5Jr2f5Nn/bNKreH7W2sNU+WwjksNPe6vnSaf/WQ2SeQn/fyTfXQ6npcNhvmZPsL291NP9pf/AJ42sHkJ/wCR6s/8I5baDcWFnqmmxxpGlrpz7H8yORE/f3Wzf/wCtDQ4y30tNBuYbC4WOxmk2WU83+skkh/191/7JW3octzDHDcxX/n/AGh3ukfZ5kdvNdP5ECf9+6ZJaP4j0+GZbC6juZLV/Id3/eedqE+z/wBF1No90lr/AGVefZvI/s+6urp4d/l+Xa2qbIE/+IoMx8elvp8jvKkf2CPVHuoYUkf/AEeG1g2b0/7aVQ0fS/sunppuyOSG8+xaQ7v+78ve/wBqn/8As6fpdhfy+D7azlfy7mP7Lavv/wCWfnz+fNs/65x7KraxrNzYb79nup0t0utR850/1jz/ALi12VmBvSSw6pbzPcW3lwyQXuqQQu/7uN538iD56zbjVE0HxAm2axksNPn2OkP+rkhsoP4P+2j1Wkv7P+37a2uLmSPTdPRPP8lPMjjhtYPn/wC/k9ZUe+XT7a2geeea48nTvJd/3cc11P57v/34qvZmZPZxP/Z9hol/beY94iWtlvfzPLmvX8+fztn/AEzpLi6+waP/AMJFYQyQJcPe6jsd/wDWbP8ARYP/AGfZUOq+I0tbfzrVI4Hs4L3UXs/+ebu/kQVlXFrDplx9mi+1eTZz2WlpDcv5kciQfv56oDb1S1trsJo7fvH/AHOkWV5DAn3IP9KnTZ/frSGszeHNDS/uIbqB9Q0533+f+7t5r19ibP8AtnVDR7rUtU1WG8uEjjmvIHdEhfy/Lur2fZ/6Lrnvih43fQdQuZlmtILPVJ3+/wD6uSGBPstq/wDsfv8A56BTPNPjh8UX8R+MIdHikupLOO9+4k/mRyWVlBsf/v589TfDf4aQ+Eo/sdit9aw29ra2UCJ/y5vevvn+f+P93Xleo+A9VtfjJqv2yGS1hjeHSILbf/pFxv8Annn/ANj+OvctL8R2d1I95FJJa2d491q/3/8AVu/+i2tdFSnymFCnzz55nVeD/FE2qeIP7StUk3xz3WqJs/1cnkJ9lsoP+2nzvXc/HzwvN4o+Jlv8PbXy7W20/RLW6ndE/wCPx4P9KS1d/wDppJvf/tnXNyWvhv4c/DC28W6p9qnmj1dLX5H8v5NPTy/k/wC2lb3h+/udBkTUvEfmT69rGr3SXru7+Xeb9OfyPk/g/wBisfhOg9C1zXk1TVNKtvsckCW7wv8AY3fzI40eyf5/+/leS+MNZSKTRba/eSxht0svndPL8tE3u/8A5D+euet/iNDov9mvqXnwP5+n/vk/5Z77J/n+f/vivEPHHjzVfjJ4w0/wrZ+ZdaPZz6fPdXly/wDy22PsgrT4jnqVPZF/9lT4N3PjzWLnxhqjwSPHqNq9l8n7yO1S62bHr37VIodA+022m399prx/bU2TJ5fl7L1P7lTeB7p/BHwvtkZJ/sd5p1kk+z/l433WyqHjD7T/AGe95En2W5uNOmdH3/6t/tqJ/wADrP2nOaU6fLqc94k/0WTVraS5nkSN9WTe6f6uHz0+/Wxb+N4brXLm8X/SrOO9vfPdE/eSP9lT+OsXVLCa6+3zbJP3iaskDzfvPM/fpserGqWFnDp+qpeW0Eb276ndb0f/AFb/AGVPnqjQ6638ZPDPYQy3919p/trT0e2dP9XvtapW/jJ7rT7Z2SS3m0+Cy8j5H8v/AI/XTe/+3WPHdebqiQw/8vE+mP53/PR/I/v/APTSrnhOX7fpaQ3lt5lt9lskSHZ5cnz3Xz/+RKzCZDZ3MNrJfuyR3Tx2s2yF4P3kmy93/JWxqEc1hHePFN5H2z+1rV9k/mSfc3//ABdUNQtbnVEubmK5gj+x2WoIjzf8s3+2/crbt7Wa11zUrlZJJ3uH1O1d9n8H2X79aGftA1DS4fFuqfK8cb3H+s+f95Gn9l/fosJYbXUbFLy5tfOk/sxPOT/btXSjw/Lbf2fps1vNPdTW89rZPDs/eW6fYpPn/wC2lVtP0u5upNNRraOOaT+ybrZs/wBX8jp89ZmhW8LzXOl29s6rJGklrpiO/wDy0/cT7HqtHK//AAhc1nFpvlpcJM77Pnk+S62Vf0bRry109La3SC1/0KCCbzn/AHkfkXvz7KNU1SaJ5r/UUjjmkS6f5E/1b/2ikf8ABVezK9oVtctZpZNVeJ45PLsr1/3KfvI389PuPTLi6mi+3/b/ALRHbSf2smyF/M+0bIEdP/sKzfFl15Ul48U08ibNW3u6eZJG+9H/AOBpU3iTWYbbS7mZkjtX33TwIj/vJP8ARUkqSjoZ9ZsLqRNsfkXMj3UE7v8A6uPfa/J/9nXQ2d1No0VzuS62RvN/qU/d2/7iB/kSuA/c3WoXPlPJB5l691A6J/rHey//AGK6ez87S9Htkl/dvHZb5/Jf/Wb7Ksahod/p9/Df27JI8cj2bv8AcT95cIl79/f/AMD+5Wxp9rbXO9JUkg8yD76f6uTYn/2FYmlypFZpDE/l+Ykz7/8AVyf8sH+T/wAfrY1S1+weILOG6ff9jR0g+T/R/vz7E/8AH0rSmc5cuNLe11S5RUgTy3+T5/8AWOiP/wDEVQ1i1+y21zeM8kn2h/P3wv8A7/yVpeH4obuzv5meSRI3R9jp+8j/AM73pmqS+bbx232ny7aSfzHRH/4+EfZ/9nVGZm6f4XS6t0miS1kttj/cf93In+dlTapoz2uoI7Tfudj7N6f6v+P56n8Nxw6XqLvsj8v5HdN/+5/BUuoXcN/GiXH7j7Oj2uyb/lnN/rKAIdL87VLx7a1ePfv/AHDzJ+7kRKNPv5rXxJeQyzRyQyQf6nf/AKtErGvIrzRtUtppZvMS8R9+xP8AWb0+Stbw/qkP9qTPKkEnlpv8nZ+8uN/+3VUwqUytrmlp5iJFvke3n3vvrB+KnjyH4c+C7zVZf3fyPO6f7ldtHoM119pTzpN/8aP+8+Svn74seMtD+L/xUfw9p6ST22lvDPeu7/6PG/30g/8AZ6KdP7Yf3DtvgPqmpf8ACF2d/qj/AOn6hP57on993/8A2K9I+1Jc3FzNF5c/zom+F/3lvD/+73pXMfDu6sJbd3t5kurCODfPsf8AeSP/AAVseE7X+2bjVb5fssdnJPs/c/6uR/4//In/AKMrOcOUuRvf28lrp7pav9neRP4E/wBHk/z8lFvK8tu8yrBvkR/uJ/45/wBs49//AH7pkltbfZ0S1SSDy3TyH3/6xET/AON/+i6f5t5LYQvEiT3OzZvT/lpv+f8A+LT/ALaVJgfQf/BMfxvN4W+N99pb+ZHZ+K7J/vv5n+lQ/P8AP/wDzq/QhTgmvyb+EPjZ/h38S9B1qB5Nmj6hDNPD/wA9If4//Idfq1bXSXMSSK6usg+Vq++4XxHPhvY/yn5rxZQ5MTGt/OXKKB0or6Y+ZCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCAx/vhJXyB/wAFgP2mP+FGfs53mnWtz5Goa4uwbW6J/n/0CvsTPFfir/wW++LP/Cxf2g4dBW6k8nT98ybP+Wf8H/sleNnGI9lh7Q+0e5kGEVfGRcvsnwb4g8bw6XJf3+qPHJDI/wB968ft/EXib9oHW5obVLrSvDdn/r9Shf8A1mz+Cj9rjxu+qaxYeGLXzJJtQnSDen7yP5/465/x7qr/AA+8J23hnTbOSOHS32PNv/1j18tQwvLA+0r1uafIdB4o+Jej+DbO3tm0qxkms02fbNSn8+4rB0v9uabwbd7LWwjvof8Av3HsryLxJLbWsjvKkkk0nz/frkri/eWR9qeXXo08LCfxnn1MdOPwH6HfCf8Aak8N/Ea7sP7G1W1j164+f+ynj8ue4/v19n/sr/tSvLqkNhdLHsjTy/sz/wCrkT/PzvX4RW91Jpbw3MVzJBcxvvR0f95HX2b+xf8AtmP4t8T2Gm6xfyWPjC3+S1uU/wBXqif/AB//ANGVwYrLfZ/vqB6mBzT2v7msfub4X1SHxdZxzRP5/wAn9/y5I0/23/8AjdQ3nhx7qNFV/MSP/UWzp+8kT/Yh/wDZ56+df2Xvj7DYSpDFNJJ9nT5N6fvI/wC+/wD+8/5519NSRW3iOze8t3kkeRPPukvH/wBYn9+5dPn/ANxKxo1Pamlan7KZxEmqabNeXkMtt88fyT3Lz/6v/rtc/wDskdU9Yihi0e23QwwW2/yE3o/l3D/9MYfvv/vyVf8AGmlzRSJueeS5t32QIll5lxIn/TtbfwJ/tyf8865i3mv9Gnv9qQb/AL88yXXlxxo/yP8Aarn/ANkjrlqVOQ2pw/kIbewv7q4d7rzPtNuj+R/pST3Gx/7/APywtUrN1DS3tdMm8ryILaRP9Nv/AD/LtLj/AH5v9fdP/wBc60v7LmhjR9lrJDbx/JvR47f/AIBbffm/35KuSfvdUs7ZYbqS8uE/vpJq0kL/APkC1SsPiOj2h5x8YPgZo/xu8H3nhXXJvtSXkCTWUyQP9vt9n/Leytk+T93/AH5P9uuU/Z/8GeKvh94sfwf4we1gmktXfTtSR0jj1RE+TZ538E8fyb0j/wCele2WejW2lyXnlJawfZ4P9KRL5445P+u2ofx/7kdeS/tWeA3+KvgNLNdb/seGzuvP0u82PHHbv9zfbQp87+ZWFamXT5/sHbXlr/Ze/cmm3VhZv59qkz/6BG/8H+3dPHXz344+PGt/syfEWzv9N8PeR4JuHf8Att4bLz7+z85/n1GGH/lilXf2f/jx4hl1R/A3jKGfSvHOhwf8fML+fd6xZf8ALDyf+eP+3XqeueDf7Ut7z7UlrOlwm+9s7Z/9Hj3/ACf8TCZ9m/8A3Kx+I35PcMfS/E+la9pb3Nm8d3puqJ9q3wv/AKyH7++5vf8App/cjrH+IHwb8K/G7wXZw6ok+m2cc/n6fqVsnkf2W/8Afsofv7/9uSuVt4tH/Zfke/itrqHwHqk+yeG5snjtNDun/wCXqyhd/wDUf7Fex+F5f+EjuLabRr+6+x6hB8l/sSfVryH/AGE+5apU8/vmn/LsrfBPxRZ+DfECeDPFWpTyeLrz9/ZXMMH+keJLL+D5/wDli/8AfSukvPC9nf6fdPcf2VHYRz7N9tdPBYW7/wC3/HdPXkvx8+Blt8SvC95bReZo9/o8/wBt06awuvLj0+6T/lvNc/x/7kdaXwL+IPifxF9p03xHbTweJNHgS6gT7F58ccL/APL1ZW3/AE0/6aVpz8vuHPyfbOA8QeEte/Zp+ICeJPDltPfeGPEF79turN4PIu7eb+O6sof4P9vzK9y8F+PEv9LTWNNsbq68O6gnnpD/AMs7hH++81z/AHP76R1Z0/S9SluNS026tp9VubhPPns3fzLiT/r9m/gT/YjrxP493Xir4I+MLnxhpNnY6l8PZH/4nVtZweXb6HdP/wAt7NH/ANd/HvSP/fqPZ/bgaf3D074wfC/Qfj74PTR9QufJs/P/AOJXeQxv9n09/wDqH2qffnj/AL8lc9+zB8S/EPg3xRf/AA68VJdSeIbdP3EyOlrJ4ktU+4803/LH+DfDXovw78b6b43s7C5s5r66TUE89NSsNk+p3iJ/45DB9yrnxM8JWHi3wmj2tnDBeaW/naXqsKJHH4fvf76TP/rp/v70+5V/F78CKnue4b13f20W/wC0bJLa3+f7YieZaRv/AHLKH/ls/wDt1458cP2ZNSutbTxz4D1X/hHPG2npsurO5d5I9ch+/wD8TN/4P3f3PLpnwn/aB1i68Vv4H8bxz6V44k33WlvCnlyeLLL7m+y3/wDHr/tpXs0eqW0ux1msY4dLf7k0/wDoGnvv/jf/AJep60hPm+MyOA8H/FB4tL+zXEMeh6pJB576VeQf6RpaP/zxhT7/AJn8D13/AIf8U3Opx3Omsnnp/wAvSJdf6XImz/l5uf8A2SOvJf2iPgtqvxVt9H1i31XUtN8W6e//ABK7yb/kJyJ/tw/chgrgPgX8UNYutUh8K+LbPTdD1uzf5HmR/wCzNYeD+OHZ/rp6z9pOkdHs4TPqW4unvtQsLlXjke3/AHEEzp5ccf8A15W38f8AvyVTvNU+1ajeQrZySP8AceF3TzN//T7c/wDskdYnhvWbm11RLZrbVZL+4TzoP9R9vvNn/jlqlWdH1n/hI9LS23wWsNm/79Hf/iWWb/8Ataet/b85j7PkJtLv3i+zOtzax2cb7IfOtf8ARPO/6dof4/8AfkrY+3zRRzPsuvt+ze9sk/8ApEn/AF2m/wCWKVzGqSzS3j3PnXUd5I+x0e6/0+8/+RUq5b77WN5Gh02D+z/nn2P/AMSm3f8Aj3v/AMvT0c5PKbkeqPYWaXivazwxv8l4kH+jxu/8FlD/ABv/ALcla+jxJdXFylrYTwXOzfewpe+fJIn9+5uf4P8AcjrEt4raW4S5lfUo4bxPL+0vB/xM9QT+5Cn/ACxg/wButjw3LZxW6WzQwSQ27+Z5P/LhZp/02dP9c9b0zGoQ+JIk1S3hv1vLX7Bbz/JNs8u0jf8AuQw/8tn/AOulFx4cSwkTzba6gm1D+BH/ANPuEf8Avv8A8sUrrdLtfN1x5t91JNcf6i5dP9LuP9iGH+D/AH6JNL8rT5rC6+ywJH872fnp5cf/AF+zf+yV0ex+2c/tzj7y+SKzRIobGCGzfYjp/wAe9m//AExT/l6nrHvLq8i8UJbWqal51xv8/ZdIl3J/18/88YP9iOtjXLV5by2+0TXV033ILy2T/SJP+mFlD/An+3JVO40u20u5mhZ7WSzs3+e2mf8A0S3f/p5m+/NP/sR1zzgdEKhpW8qSx232q5gk0ePZ++hj/wBHj/64w/8ALZ/9usr9or9nDwT+1l4Mj8LeNLO+1KxeRNRj+z3P2XVo9n8b3P8Ay6/7ldDbeKElkd1huvtkkeyDen+n3CP/AM8Yf+WKf7dU5ZbmwkmtrO3tZ7ezffdfP5lhZ/8AXab/AJbP/sUU58nvwM50+b4z8yvjx8JfEP8AwTn+Km9r+48R/DfVJ0j0jxD88ccbp/y5Tb/44/7/ANySve/g/wDH3SvEcfy3kcj+Q77P+WexIfL/APIkj19XeN/AelfGTw3c6P4t0SDWNK1hPss9neQf6XqCf9MYX/1Cf7dfm7+0p+xb42/YL1TWNS8O6bdeJvhBHP8AbZ7yF/Mn8Lpv/wCPWZ3/ANcn+3Wk6aqr3DSjivZ+5MZ/wUA/YLm1mz/4Wd8PbaO68QW77NesLNP9HvESBH3w/wDTaP8A8fr5l+GXjyG1uLb7R+4eOeFLpLmD/Wfv/wDPyV9w/st/tVWfxB0uabfdP9ofy0/f/wCs890/1P8A1zjSuJ/b8/YjsNUt7z4neBdHn+1RzvqOr6PDA/8ApCef888P/jj7P9+tKOK/5cVjOtheX99RKfwr8eQ+I7OwhvLm6g+2JsSaHZ5cc08//Lbf/wBM0evVP+E8s7DULDUri2njhkfULpHtk/0eTZ+4RK+JP2f/AB4mqeKNKSJ44Hs7rzkmmf8A0feiO6fJXvfw/wDi/D4o8J2Fn9ongS3gtbX99/q43nnknn/4B8lc9ahy7HZh8RCUD3LRPFth5ltbedBPDJOlldIiP5kaWSb/APgD+Z9+t7S47O+8Pw20T+Y95a/P8n7v/TX3v/37grx+31S/8R3Fs9qlrHDHZb32O8dvJdXs/kf+i99bFxrOY7a5Z44PtCXt187/AOkR7E+ywVy1KZ2wPQrzVPKS8vLfVp4P3D3UELp/o9u87+RAm/8A651pW9rc+CNYe8b7LPY2c7u9sj/6tLKDYjps/wCeklcBHL/Y0burxyQ6fPDA6Qv+7uEsoP4/+2jpV+z165tdDmsWuZLp5ILXTp3mT/Wee8jvsqTU7PWN3iOzS2mTy3uILLTrqFJ/77/ap3+T/gCOlYNnF/wlGhpM009q9xBM8CJ/q45rqbyIP/IdU9U8WvHcTXMLwR39xazXUD7PL+ef9xB9/wD6Z0aHrt/a+J0hvHgkS3vX3u6f6xLKD/4/voNDVtPFE2g6hdXKp8lvBe3sCO/mW8nkJ5Cf7n8dMuNZ/tnWNN01ba1tYfIh05Nj+fbyIn7+f/2SsSO6TVLe2sLy1jtHuIbW1nmhn8uT5/8ASv8Avvy//RlU9L0t5bi21Jr+Sea4gup9ibI/308+yCsviJ9mdnHrNtqtulzbzXUc3kzao6XKfvNPmnfyE2f+P1Q1TQU8OeJESX95Z2cCQTp/yzuIbKDe77P+ujp/37rT8SWCS6hczXVzBJDp99D9l8l/3eyyh3v/AORK464159Zs4dNlubWO8uILXTvJhR/3j3T+fO//AH7/AIKv2Zh8QzVfC72uoW1tcPD53kQ2U7o/7vfdT750/wC/eyue8cW15LcX+pSv5HlwXt1awonl/O7/AGW1f/v3WlrHi2H+x7+ZbaeSGN7rUbW5h3/6Q+/7LAn+35nz1D/ajy6pYQsk8Gmx3sNkjwv5n2eCyg3vs/7aVpTGZUn/ABK49Lubz955eo/Yp3dP3kdrapvf/wAiVpR6NeeMpHeK2/0m4tdmxIP9W97PvfZ/2w/jqTwva2fjK3SG4S+nmuE8h0/55/an3/P/ANs9ldZ5SaXp815paSQalHBdapAlz+/jk3v5ECJ/2z/gqhVKhftxo/g3Q/7VuEnuobyC61tPO/1kfkJ5ECf7Hl18i+NfGVz4j+O+j6C011fJpaWr3UMPyfaLrZv/AIP+ecmx/wDtnXsH7THxV1LwbqFtpS+QlteXVrokFmjpJ5bp8/yTf3I5Pv8Amf8APOvLvhn8NJvDmqTaqqSalqt5A88+pI/7ySa6fyEf/v3v/wC/lOn/AHzkn78+QZpcs0Wnpct+8mvEm1F3T/WeddPsTZ/2z316n8B/hf8A8Jn48trbZYyWG/ekKP5fmWtqnyf99z1y1x4dsIrh91tJPbae7zwbP+fWyTYn/kSvQviJ4I1j4GfCiwSzS6k8Saxp1lZQXMKf8geGd0kvX/2PLjpHX8Bvah4NtvG+qWdhcXn9peHvB+katdXu9PIt5NQ373/+IrN8efFB9Z8QXNszySW1v9inf5PM8x0sn/8AadJ4o8n4N6Xc+EtGm/tVNDvdQ061meP95Jp72u/5/wC/+8d/+/leU2/i28lt0v2m8u8kRHeFP3flu9k9Zl0yt8YNZ1K61DR7C3e1j1i4Synstn/LR/sT/PW/+x38An8EXmlaravdSXNne6ZezzOn7u83zvv+SuO+Beg6r8S/jQ+qb5J4dDfT9ITyf9tPn/8AInyV9LeH9GT4feF7Dd5cc15p1l/oyP8Au7e6S9dEp+0nH3DlhyVJ84y88ZQ6Xo/ypHdJs2fIn8H9qf3KoeKL+wv/AA/czLbXX2zT01P7ieRJGiXqP89TXZmuvtLtbeXc/Zbp3tpk8vy9l789HxA0b7BJqsy/apLPUINQ2Tb/ADPL+477P498fz0jb7ZWvNGttZvNS8ryILaOPVv+3jfsnqzeRW2s65DNdJPHN9t1NLpHT/V77JNlXI9eSKPW3WbzJrOe9neZE/4+Eey/uf8As9XLPZrPiB3015J5tQnsr196f8sZ7LZ/3xVU6hUzkrfwbNdXlglq8GyN9MtU3v5ccf8Aor1Q0eW80vwvpu6/j2R6dZQI+zy5N/2350+f+Ou50PS00uS2s3WOCazvdJneHf5nlo8Dpv3/ANyq0mjWd1o6XK3Mc8NxZWsE+yPy/M2Xv36oDntQi+3295c2vlx2txBqcG9/+Wb/AGpK6f8A4lsVm95dQpI95qOppdOj/wAf2X53/wDQK4/WIntbfZ9mnnmjtb2eDZ+8/wCX3+5TJNZuJNYv3imjksI59TnRIf3ckf7j7lP2gHWx38MuqI8v2WNLhLVPubJPksv46h0u6Tw5HYeVD5k0j6L/ANtH379lYjy/a/JST7XJ+/2QTOn7yP8A0L+OrNvr02l2elbXk1L7PPpP/LT/AFf7h/n+SkaF+4uvt+j6bbWqeYlvAlq8yT/vLf8A4mP+f+/dU9QlSXT3eKGCR44Jkn+R/wB3/pv/ANhWbo/ih9L0+GaJLWNPItXnfZ5f2j/Snff/AN/KyvEHjK5l099SlubW1mk06G6Tf/q/38/3HoOf2Z0muaNbapqHnLcwfu/7WtUR/wB5b2/3P/HKyre1tr/7ZbXlz++33KfuU8y3kR7JN6VD4j+zaDHrE148n7ue9ut6fvJI0dET5P8Atpsqb/hKLaKO/h2QwTW896myZPMkk/0L56DQs2kSapcvDvgjeNLJ9/8Aq45Nll8n366rXLWHw5rDzW9tJBZ6oiJ5O/zPLn+xb65L/hInuo7NIktY4ZILWD5P9X/x5PW94Durma30tJWguk32UHzv5dvGj2UnzpUfEaHf+E7q2utLeaf9/beR88KJ/pFvvsv4Ks6fLc2t+9ys3n/aH+/N/wAs/wB+j1yXh+V7XS7aGK3uv3kcP7lE/wBXvsn/AL9dnHLDqkcz7JLr7O87z2bv+72fuHrIy5GX49UhuvDbp5P2WaOfZvR/9X8iff8A++KzLyJ/tibv+PazR9mxP9Y6fx1FbmaO3Tykkt/3Cb0mf+P9/wDx1c8SSw/bJrny/L8xN7+T+7j+ffU1KgfCRW9q/mJcqkl0nmfPsT9386PWv4fitvs6JcP5n35/nT95G/z/AP2FZuUtZHS3eORJE3+dveOSOi3uki1xrZkkkto0SeBEf/V7/wCP/wBDrSmOZsahott5EP2qaPZHHvd3/efZ6fZf2VdXEP2eGP7fH+4uv+ekkNYmqapDdRvCqeXD9z53/d7/ALiUzwXYTXWofK/l3Nu/kf8AXvWxnyE3xw8b3PhzwR4n1W1SOO//ALOm8jYn8bpsSvjP4Z+F/wDhUvw3me4vP9P1yB729uZv9ZcO/wDy3f8Auf7CV9M/tcRXkvh/RNKsHjgfXPENrZO7p/rLX53n37K+VP2yJX0vxJqEyvPPbafAibIf+Xh/uJsrSh70+Qz9yMOc9++FfxQ0SLwnptnoflwPcOllAj/8vHyf/t17r4LsLbRtDhtt8cltbp8+z95JJ/f37P8AgH/fuvjD9kPwbqXg23s/Enip/Lv5E/0Kz/5Z6fv/APZ6+q/h34jfVPOmV5LV7h/43/efJ8//AKL31jW+MKfPOB2H2+a1t5pP3f2ON9+9P+Wf+ZN//fyt7UPtNhZvcrbRyQ7ET5P7/wDB/wB/PkrN8P3XlRpDapayPI7vsT/lns+T/wCIrpJIv7UjdLV5I5tnkJvf/WI/zo//AGz31nCBnM57w/apFp/2mKGRPMTY6Ilfpx+yx43/AOFjfADwtqjY86SxSGf5/uOnyP8A+gV+ZtnFc2sn2O6e1nmuH2Jsf9353+d9fbf/AATR8WyX/wAO9d0e4heCbS7xLlEePZsSZP8A4tJK+j4ZrcuJ9mfK8VUOfDe0/kPqOiiivvz89CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDL8Q3v2HQ7y8/594Xk/wDHK/nt/wCChnix9U/az8WvdJJImlwJBsR/+Pj5K/oC+Kdx9l+G+uyf887Cf/0A1/On/wAFGJZov2lPiQ6v5fl3vyf9+K+Z4i96ED67hf3eeZ8Y/D/VJviD8fNYvJVkk/seB/IuZk/1dcp8QNZubrUH825jn+zv/BWx8MPtP/CL+M9V86SDzL3yP+umyvN9c1Tyribyk+euSnD3z1alTlgY/ie7SXe++SN465yWX92nz/x1c1DfLJ8zySVmSRebcb1evRp0zxp1A83O+mR39zp+qW81vNJBc2774Hhfy5I3SiP91H8z1WkP+kQ7fMk/3K7DGV09D9Ff2Hf2zZvG+npYXl5cR+JtPg/0qHf/AMhRP+fqH/b+5vSv06/Zb/aMttUt4Ybq5jkeT50m/wBZ9/8AjdK/nP8ACfjK/wDAfiiw1jS7mSx1LS5/PtZk/wCWbpX6X/smftNW/wAWfDWn69o832TWrCZPtumwv/x53L/x/wDXOT53SvlcywLoT9tR+E+vy3HQxEPY1vjP1z1CJNZt3ffJ9m2f6Ujz+XJIn/TzM/3E/wBiuG8WWCRWf72ztY7aR9kHnJ5dvHMn/Ptbfx/79J8H/i/pXjLSHtorqTWLaOFJ/Ouf9RHv/wCW77/v/wC5Xbyb5f8ASVtrrZeJsTYnmX+qbP7n/Pqlcf8AFNffpT5Dz3R4rny5t32pLzyP9Sk/n39x/wBdpv8Al1Ss3Q9Gs7DS3e1SCOz37J4dk9pYR/3/ADpvvzPXW+INLh1mP/Q7aD/R33vZ/avLsNPf/p5m/wCWz1g3GqeVOm65nkvJP3FrfzJ5kfyfwafbf+z1y/AdVMbql/pumXlg8k0k6f8ALrNc2qeZ/uW1kn/tSo7i602XWLmHUkuLG8vE/cJZz+Zr1wif33+5apV+4upotRmtktp47y8T59iJda1cf77/AHLVK5vVLWa/0u503ZBPZ277/sdndJ9gs/8Ar8uX+d6JhTOb+JngjRNU8H6q9vZ6VfaxoafbdEvLB0+z+G7r+Cea5f8A13+39/5N9ee/Bf8AaWf402+pWfiOHw/puq6HPsuof+YZp7p+7320P8fn/fR69LuNL8rS0miubWSzj+f7TcwPaWFv/wBMLaH/AJbPXkXx0/Zav5fFFt488C3M8fiqOD95pWq3SQXfiiFPvp5P3IfL+fZXJU55HXDkid/4o8B21/50OufapIdY057V7ab9/q2qI/yfc+5DBXm/wq+EGsfALWLnw3eXNrqvhi4h/wCJXeJdPJb28yfOllNMn+ueP+CvRfhf4os9Y0OH7Dc/brDVPknsLafy7+R0+R0vbl/uQRyfwf8ATOmePfC6eLfh/qWlXH2HVfDd4n2WdEeex8O6W6fc8l02O88f9+P+OsPjL/5eG9rlhZ2v2C5l+3R2Ebp9q1Kay8u0t3T/AJ8rb+N46yv2jPBuveI/CccPh/VdY0rVY5/tWl6lMn2rxFeTf7aJ/qYJP4/Mrx/4F/FXxP4N8Sp4M8UTXcHiS3T/AIkmvXNr5kniDT/uIkML/cn/ANuvpzS7WbRvs1na2F19uk+SfR7N/wDS7jf/AM/tz/q0T/YrSH8hE/dPE/2bPirN8QU1Lw34ls7Hw54y0f8A5Demvqn+gW//AE9PNv8A9KST/wBqV7fceF0+xpNdPHPpUibLK/uYP9IuEf8AgsrL+D/frg/Fnw50TxlcJf3Cf2HrHhv/AEpNb01ILXTNL2f8ur+d/rkk/jrE+Bf7UEPxb1DVba6hutK8T2bpBqkNzavJqdxv+59i/wCmEn398lOE+UicOYX4mRWH7INvc6r4V0O+n8K3D+f4o8JWd6//ABK4ET5L3f8Awf33hr0H4d/FXTfiLolhrEet6bPpVwn+hak6eZbx7/4LaH+/Wr4gtYfEelvbNYQSWenpve2R99hG/wDf1C5/5bf7lfPOj+CfFX7MnizUvEPhe2urrwN4ouvtV79jgT7Rp+//AF97pkP8Fr/G/wDwOrl7s+eAqfvfGem/FH4S6V8VdLTStZsL6Obz/tuxHSPWreZP9RdTXP8AyxT/AK51xniz48aX8DI9B8MeKL/Tp7aPZa6R4kfZ/Zlw7/f/AHP8F1H8ldtb+I7bXrdIdLm0vxNptx/pv+jXrx29wifJ517N/H/uVz3xR8EWfxG0O5mv4bXUrPUE+xJeX9qk8ce//lhp8P8A7PJWc/eN/Zm39vs/FFvDZ3CXUdzJsndIbr/T9Q3/APQQm/gg+46eXR4slh8W6PeW3iO28P65byOllp2pXMH+gae6f8+Wz9+88deUfD/4D+IPhLpepPBqU+q+EtL2PqOg3jvdano9qn/Lfen/AB9eX8n7j7/+/XYeB/jJpXxBs7PxDo/iC1urGP5LK8hT93H/AAeRZw/3/wDbkqIe78Zp8R5vcWvxI+BmqtbRQ6r488M+f9qewmT/AIm0dr/fm/6YR/3N9ezfDv4++HvG9vYXn9pabp1/I/kQXN4nkR6fD/ctrZ/4/wDbrV8P2Gm3QdLdJ5H8/wA+fSnvXk8z/pvqE39z/YrN+Lnhzw38ZPB8Om6zcRzw7/kuXsf3cb/wJp8KfP8A8Dq+T+Qzn/Id/p/iOzEbpa2d0ltefv54YZ0ku9U/272b/lin+xT9L8ZWculp8trfPZ/cudnl6Zpe/wC59lh/5bPXhfw7+AXjn4S+LE0/wr4nj1LTbh0d/D3id/P+zp/z3muU/wDQJK6b4t/GC/8AhD4juby/8JTzJZ+SieIdB/063j/v/ZodibP++K05pmfs4Hsfh7WkivHsVhuoJrxHedEf/ibXn/Xb/nilaUfii2tdL85bqxg0qzf9xNs/0DS3/wBj/ns9eP8AwY+Onhj4jaXdaba69a2rx/vH0q5uktbjUN/8d7NNs+T/AGK7yPxHbRb7xrnTZ7yz/wBF+2Inn2mn/wDTCyhT/XP/ALdbU65jUonW3njdLW3tpriaeP7Y/wAiQv5l/qCf7f8AzxSrlvf2d1Zw3kVzayQ2e9POhT/QLN3/AL//AD9PXBx6p5uqXNtptvdXUMib7rTUfy7iT/bvZv8Alj/uVQuPG/2DS4bmwv4JEjn2fb3T/R7f/ryh/jf/AG609v8Azmf1Q9O8QWtvfxpeL9ukvNUf/UzJ5erXn/xmCuMvLmawk2b9Kkm0v7kzv5mmaX/uf89rqr9ndabqkb22m208GpbN89tv/wCJncJ/02m/gT/YrHsNZufMe8/4lUi2b/uNSSDzLCz/AL8FlD/y2n/26KlQKdMfb3Vt/bj6bv1iea4T/U7/APiZ6gj/AMc03/LFKvwXWpWHzrNYx2Fm+yB0T/iWWf8AuJ/y2nridQi/svWJobWG6S5vH8+ewmn/ANIuP9u9m/gT/YrS0vVJvL+3xarHskTyEv3j/d2f/TDT4f4/9+uX2h1TonT3Hi28ikdLhLq4mkTe9s7+Xf3EP9+ab/lilPOqf8JR4ee2vPssdnInkJ9ptfMsPn/ghh/5bv8A7clYOl3SS2dtbNbSTpG++fSnm/dxv/z9ahN/7JVzS9ds4tPudVivPMubj9zBeTQf6z/Ysof/AGer9pYxqUz4G/aw/wCCdHiT9nTx2vjn4QW19faDv+23vhvz/Pv9P2fO91/cRP8AYrpP2I/2zbP4jafZ2d1f3Cf6n7LC6f8AHx87vP8A9+6+ydQ1RLT7TZ3CRwf2h+/nh8//AI9/9vUJv/aNfLH7af7G8fxF1S3+IXwzvLHR/GWn/JPbP/otv4s/g2W0Kf6ny/n+et5VKdX4/jCHPS+H4DA/aY/4JxaD8QZG8YeAfIsfEOoeTdXumo/l2l5M8Du//A6+G5dZ1L4K+LH0fxRDqWm6ppcn/HneJ5ckkOzYjo/8aV9n/s3/ALdd5a65c+FfFWj3Xh/xBp7+few3++P7GiJIn7mvTvjB8B/Af7ZPhew0rUra1judPSGey1W2/wCPi32Wru/3/wDnp8m9K0o4r2c+SsZ1MLzQ9tRPmb4R/HOwlvEtluXjtrNEe1hh/wCWnkWv8af3/MevRfB+jPr1xbW1wlq82+yg85/7n+vn/wDZK+Yfjh8G/EP7GXjR9K1l45PDeqQTQadrEKfu977H+/8AwP5ddf8AAf8AaMTw5qjpLNdXVzb/AG3yN7/8fHn7IEor0L+/A3wuK+xWPoTT7+/it3RXkkm1DZvRP+Wj3U/3/wDv2nyVpa54jaJLn/UQTSfarqDen9/9wj/+h1kSfFC2lkd98d9DbzvseFPL+Syg2J/5Eenf2p/wi2sWdteW08+lW72sE7onmeZsg890/wDQK4z0zYkkh/tSFLpLHybOf9z9pT/j4hsoN/z/APXOSrPh+J9e0+Gzsnk86406ytfn/wCPiPz38+6nTf8A9M6x9H8OXPiPR0trBLrUYfsNr/x8p+7vHvZ97/f/AOecdasktzYR3+q+THA/kXWoWSOnl3Fu/wDqET/4iswLMmjPo1h9vlmjkmksrrUYH3+R9oSd/Ig/4H9yprfRptLuIXlTy00ueG1+0vJ5nmJZQb5/+AeZVCTWbyV4bO6fzLOP/QvnT95GlrB586f7H7yr+l6y/i3ZZy3N1+8tUtd6J/q3un3v8n/XOgCGz0a/+eOK2tf+JhBao7u/+re6n890/wC/dcxodrc6XcXmt2v2qe8uHvbq1RH/AHlu7/uE/wDIf3K63UL+51TULia1sPMtt76pa7H/AHcb/wDHra/7/wDH/wB/Kp2/hu50uSZIrOOS2s/3E8KQ/wCrSyg3u/8A38oA5LxBK+g6x8yTz21ndInzp+8jh09PMf8A7+SPVOOWa70/SoVeSB7yDyPk/v3s+9/+B+X/AAV2GqeHE1SzsIZYY7qb+y0tdjv5fmTXs++d/wDv3WPFap4c1B7mWGS6eO1utUgmmfy5Lje/2WDf/wBc460Myz8L7p9L1R7+1toHfZe6pAiP/wAfG9/Ig/4HXbXF1baDcO95DJ9jjn2JMj/6xLKD5/v/APPSR/8AyHXH6fdW3hzULl7zyPs1vdQz7ET/AI+IbVP/ABz95/HXhX7RP7RmqXOjw+D7C5ng/ty18idE/wCm8+/fWlOnzHPUqcpg+bf/ABa+NltpS6rdR2fhuD/RblH8y4jmun+T/wAhvsr6i0vwvbeF9Q86JLWNbh3uoPJ/d+YlrD5EHz/9dK8W8L2uj6Xrl/4k0vSrXSk8973yXT+4n2WD7n8fmb3r2D4d6Cms3D6Ja2091pVm9ravDcv/AMe8Fqnn3Xz/ANyR6ipPmCjT+2dVH4SsPC//ABMtcsI49Ls0tdOutiP+82J5918if8Aq58P9U1LxbHqvj/xGiWsPiTSNQ/st0Ty/7L+RIPIf/bjg2f6yofFnii2+IOl6b4VtZoLqTw/q9le63ePe+XH+/f8A49f9v+CjUfjJpcNnc2DP5lhp8GppsRP3ciPPs376yOg4Pxp4N83xhNf3rz7I9RuoH+R/MkR7L5ErxD4maMkOoWHh7S5p/tmoT2rwIj/vLeD7L89fWPxA8ZabJp9zNcTWslnvurrzrZ3jkk8iy2fOn/XTZ/37rwH4D+En+KH7TFtr14k/2PS7XTNEh8n939sd/vv/ALlVT/nM51OaHIehfsz/AAqmsLPSryzR9NS8n0ydPk8u387z5PnrvNQiSW3eaVJ47yzdPI3p/rEh1H53d63tHisPDHguwtrOGPZefYtib/8AV7L379ZWqazNqnhO5tr+8kgt7hNQSC2dEj+5dJ86UezLpmV4g0b7V9s026S1nmkg1Oy+f/VyOl1v+SqnjHS5rX7dDtnneN726S2f/V2++1Sr3izxbDLc3KW80cdtcPq0D7P3kcjpAlVo7p7qK5ubp5I3j+1eQiJ5flv9iT5P/Z6Kgw0uWG/1y2SW5jjtry9eyndH/wBX/wAS7+Oq2h+KIdLt9KmtZo5IbhNM3v8A8vEn7idP+AVWuLW5i1yG8aaOea41GGZLZE/6cvndKraPavLpWm/aPLuraR9J8h0Ty7iN33/J/uVJoTeIdZmi/sqFnjun+xaZ/pKPs8zZPsrN0/xG+l295bS23nzXlq/zp/yz2XtR+H9GmtbNLHZaz+Zaw7N7/wCr2Xvz1dj36Xp7wxW0kdzpb3UD/wDLTzP9NT7laGfOWdRtYZfCWvW15cz2ttpaag+9/wB35n79H/8AiKx9Q0v7BcX8kTySXNxPqb73/wCXf9wn8FX/ABpqlzqkeq+b5ck0j6hPB5Kf6z9/AlTa5apdXGpXlrbR77eDU596fP8AOiIj/JQECzpl/Da/ZvtH2WT/AImMyT7P+Wn+hfwViW+qW8WoaPNC/wBl8t7JLrY/+s2Wr1Dqt0n2mS8tYd9tHdTXW+F/4P7O2bKwYz5txv2ySPbz2vyO/wDq/wDiXbPuUAaujzfZdP0d5f38MaWX22FP3nyJ5/3P/HK563tLbVNPhmt7mD7Ncadaz3TunmeZCl1vT5HrY8NxXnhzULCbZJHYXj6YiQ7P3kbvau//AMXVbS9GsJY7aGwhkne3g09J5kn2eWj3TvWgGb48ifRra5tlhjvobiC6n+/5flo90n3P9ur+oa9bXVxfvIkkflz3uzyX8uT5INnzv/HVC41pIri88pJPOuLX9xC/7yP573/Y/gqzcaX9lk1J1SOCbUE1CdH3/u5N7onyVmEDe8p7+5+zSpHb/Z3+yp5Kf6zZZbKu2/jKG10vTdNs3guodP8AsX8H+r2Wr/8A2f8A38rl7zS5rCW5hleSCz33rzwu/wC7j2QInyVfjuoY7y8dYZJ5pE8v5/8Al38iy2Js/wC+6zA63whrM1/p8Om27zyJZ+TPs/56P9if7ld5pfjK2v8AS3e3/wBTJAiJvT+P7Km+vNPD/wBnikhRXurrVfPS1dP+ej/Yv/QP9uuk8PxeVG73H2WN/svkbEf/AI+P9C+5WZodtrsX2rXX+zpJO/zojo/7v/XvverNzdXPl3M16n27zN6Iif6yT7n3/wDvuq2jyzSxpcyx/ZZt/kJ5KeZ5f3Her9vdJFpieal15MaQzo7unmR79n9ypqGZQ0PxGl1JbLdJaxvv2Js/5d9nkPXQ6ffppcds6w2knmPv3onmfc2Vz/8AwjjyyJMr/JI+yd9n+r+Ten/oFbVxavYW6TM8H+hps+etKYp8hlXGjQ3Vu6edJBDIj7E/2P8AbqHwXL9quLhGhkkuY9ibEd/3j1D8QL9dT0NJormeBI32T708zy/9itX4V7Ne0fzmhjjmkTy33/7Hyf8AslUL7BZ8caW/inULaFrmP+1bO1mvfkf/AGPLr458a6Dc/EH9pSw02KGSSw0fztb1RNn7uNPuQJ/20kr7A0/T7/VPjJqUlun/ABLdL06yst+z/j4893ef/wBkrgLPw5Z6NJ4zh01LSO5jvfsTzJ/sJQY/FA861S6mi1j7TJ5cdtboiJv/ANXJ89ehfDfxvbWsciLDHGkf30T/AJafPs/+IrgPEEs0vnQ7JPOt3eTfN/y0q/4fL2v3k8t40mSDe/8ArPuT/c/77rSZvTPctL1TypEmV/MuY3RJ0RP9Yn8f/kRK6rT/ABHbQ64+5499u+zf/wA803/x/wDfaV5RcaokUibX8xJH2Jsf/Wfv/wD7Ou58PyvF/aqSv5f+hbN+z93/AKh0/wDZErmpkVKZ0kkn2W8ebf5n9zen7yNP876+jP8Agmr43msPjfqWm3Xl/wDE40j+B9/mTQP/APZvXyNea89/eWdzb3P8HkJvT/Vo/wD+3Xrn7FfxG/sv9pTwnqH8esah9l+599Jk2V6OU1uTFQPIznC82CnE/VKihelFfqh+RBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABQelFFAHN/E+3+1fDfXo/8Anpp8/wD6Aa/nH/4KoWr2vxo+Ir2rzxvHPv2J/wAtPkSv6R/Edr9u0S+h/wCe8Dp/45X86H/BWzwHNpf7QHi5P4LyCG9T5/76fc/9Dr5nP94H1XDM9Kp8D/Ci6m1T4Mawl4/lvb6o6I7/APLTfXnmqy21reOiv5ldn8MNL/tTwf4mTZMj2eob387/AFcm9K4fXJUiuJn2fJG/8dc9P4z0sR8ETA1i6/eO+3/visSSX958tauqRebcJs/efJ/BWPcS/vNjLXpUzyag+SVPvsnmVW1C68q4SZX8t4/n+T/lpVnzfKk+X929Q6gf9Dfcnz10QJmP83zfMdv/AB+u+/Zr/aC1L9m74x6X4msfOkht32Xtuj/8fEL/AOd6V53BL9rjR3/1n+xUN5/q3/1n9+lOnz+5MKdadKcJwP3P/ZY/aesdOtLfUdMuLjVNI8QSQ3NtcY/0SdH/AL6fweX/AB190+D/ABb/AMJbZb45ruSa8Te6Wb/vNQ/4H/Akdfz1f8E4/wBpF/BXi9fA2s38lroXiSf/AIl1y7/8gu8f5P8Avif7j/8AAK/Xb9mP9oe50vULbR7zzI5o0SC68m6/1b/wI/8A10/jr4zGYeeFr8ktj7qhX+uUPbfbPpnUdBSWP7TFbQTW2np881ynl6Tp6f7Cf8tnrH1CW8tbd0VLqOa4TZBM6efq2qf9cU/5YpXYXmsprtul/vtY/sab0eb9/aaen+wn8c//AMcrH1iK/ik863t9SkudUff5Nt/yE9Y/3/4IUqalMxp1DlY7Wb/SdNXRI4/L+efTbOfzPM/6/b3/ANDSsHXL+51nw+jxXOhyaPGn35k8jRbPZ/zxh+/M9dtHfvYb7a8sLWOHT08908/y9J0vZ/z8zf8ALZ6zfFF1deXbX91NpUdtJ/qNSuYPM+zp/csrb+P/AGK5ahtTqe+cfcb4ri2ubjUrqC52bLW5vH8+/k/2LK2+4lYPiOKGKR9NaGfTdSkTZ/Y9m7z6neP/ANPN7/BXYapa3+jXkKRPdWt/rD7ESFPtWtah/wCOf6KlcreaXbRXFzpsryT3Mf7/AOwaPP5dvbvv+/qFz/7JXLUO6n758zfEjwtefs3fEC/8Waakeq+FbyRJvFGj6bdb7DS/+np5v4/9uvofwX4jtvEfgO21hppJ0jRJ7W/uU8zTNP8A+vaH+P8A36s6Po39l6hc39qulax/Zb+el5cp/wAU7pf+x/02f79eFeKPi1efAL4qWyX9na6b8NPFE+yy1L+y/I/4R+5nf5/syff8iT+DzP8AV1h7Pl986D2Dxx4O8PeMoktvFUN9Hf6pP9qsnhn/AOJ9eTJ88D/9MfL+/s+5JXJfCv8AaW1LVPFl54A15P7O1uN5tlnZ3SWOma5C/wA/nzP87/u/k3w13NxEmqafbWC219Gl5/y7W0f27Xtc/wCuz/8ALrB9yvN/jH+z7YfGnR7a20ltN03xDo8yXtlf2b+XYeF3T+Oab/ls/wDfT/lpRTqGfsz2CzvrbWdLSa8ubWeGzR4INSvLLyLDT/8AYsof+Wz/APXSvN/jB8An+Iuuab4h8P3l94Z8f2fyadf3j/6f4g/2LlP+WNrU3wm8Y6rLqD6V4thj8OeMLdHvbLVbx/Ms7yH/AJ+tMh+5s/8AH66rT7W5tbx9v2iCbxB8/kw/PrWsf3Hmf/liklXz/wA4HPfDv4g3nijw3c6Vrmm3XhvXvDbvZXXhu/n8i00+ZPneZ0R98399H+5JXZ+F/t+s3E3/ABMrq11K4TZ/bCWvmanqif8APG2h/wCWKV5R+0h8B9S17UNK8T+Db+1/4TPwnB/A/wDxLLe1373tbyb+N62/2d/2grD4l6Xc3jJ4gsb/AGJa6pD5Hma9bzf88E/uJJR8Mw+KB514o+Gl5+zdrF/qXhyw+1eGLif7dqnh62d5/wCw/wDp63/+hw17N8P/AIg6D4t8L22q2Wq/2lpt4nkT6rbOkdxJ/wBOtlD/AAVvRxWEsnkr/Zsn2N982mo/+gaf/wBN7mb+OevI/jJ8KobrxAniTwDf33hzxPcJ5/2x4PIsPEmz/lgmnw/c/wCu1Z1Kf2zT4jstUsLPVJLyztUuo7Cz+5YWz/8Aj+oXP/sleS+OPgPqWja63iTwRqv9la3I/wB/Z/xKNY/6YJCn/AP31X/hP+0Y/iPUIfBfjDTYPDutW7p/xJ7mdP7N87++k3/L1XqmueHIdG2PLNqsENw/2X7TMn+n3D/88LaH+CqNDg/h/wDFbUrC40rRNe02fwzqV47+Tpt4nkaZeOn399z9yby67CTxb9v1ze0kkl/cP8mpIn+lyf8ATCyh/gg/go8QeDYfir8PJvCepNB/Y+/z4NESfyINLf8A57Xs3/PevH9D+HPj/wCFWqJZ+FdV/tzSrx0tUttVd4LvUP8Arym2b9n9/wAyp9+PwBzHvej7Ire5tmh897d/tV1ZpdeZaW6f3725++7/AOxXVeD5U8UW6Pf6lHBbSI8NlePB/pdwifwaen/LFP8AbrxzxB8ZLP4VXiaJ4wsLHw5c7P3Fm90kmk2dz/02eHf8/wD10rq/DHje58R3iXNnNPcXmoJse5hT7Vf6h/sW3/PGD/bkrSnU/nM+TmOv0vwvYeF9cv5LfTbXzrhHR7DZ/o9uj/x3sz/f/wByOuP8afs56D43kvNesXuvDOsXjpB9s0F3tbfen8FlbJ99/wDb2V2dvdP/AG+mlqmmwXmlvvnR/wB5YaXv/wCfl/8AltP/AHK3rfXrmKNNSlvLuDzP3H9sOn+n6o/9yyh/g/366KfIcv8AfOM+E/w58Q+CLPVdFvPFt1qVhInnw6VqVlazyWf/AE3vJvk/74rzfxp/wsjwRrj3lnrfhnVbaOd7K1v3sp7WS4/uJbIm/wCT7/z/APLOvbPEn2nRo3tlhsYE2fans5r3/R7P/pvqDp99/wDYrifGHiN7+Sa/bVbuNpP3EF4ll5kmqb/4LaH+BP8AbrOpyR9w2o88vfK3wb+JfirWfD//AAj2s6P4c0eaOf8AfwzXs88ce/8AjmmTZv8A+2j1j6h4j+K+qaz/AGlZ6x4Le2/5B1leQpP9nt5v7lkn8f8Av7K0rfS4bq3fSmtrHybP/Sp7N3/4llm6f8t7mb/ls/3Pkjos9ZfS7i21tb+eS5uH8j+0kT9/cJ/csrb+D/frD2nuGnszp7zRvEN/8O38PX7+GdN8T/PdXum2enTz+Y/8D3tzv+5/frw3ULD4naPqk1/b3/g64sI08iC8hS6j+0P/AM8LKvorw/rMP2f+yvs1rdJs3/2b9q/0eP8A6etTm/j/ANyOq2oX9h5kl9cXN1IkkH2V7yG18y4uP+mGnw/wJ/t1coQkZ0eeJyXwzi8c+KPh2+m6t/wjOj3kcH2p7O2ge6/fJ/z+zO6Rp/20rko9B+KMuqJqV/4k8Px23/Hkl5bWs8l3efwf6Mj/AMFdtb6nbeXvlS1gSz+R9j/6Bpe/+O5/57z1vXEsPlreOmpX0N4+zzt//E21hP8AYT/ljBUe5I0+E5XT/hz4hi8L3Oj6z4ttZ30//SnTTdLgjjt3/gnvZnd/9v5K5P8A4ZufVPEFm/ijW/FXjFNUT5Es3+w3GobP+eKJ9yD7nzyV65b+KIYZER7DTZ/7L+T7NMnl6Zo/+/s/189VtQtYbrT7Z991Pba5+4+d/Iv9U/4B/wAsYKvlgZw5zhv2r/2UPhv+0/8ABttE0nS9N8M3mh2Wy11izTy/7LmT7iTXP35n+/8AJH/rPMr4f0v4v/EL9h74gW3hj4iWf2VLiCb+y7x08uPUEf8AdpP/ANMX/wCulfonb6rYWMltC1/axw6f8iX7p/omnzf88LZE++/+3JWb8QPB2g/FXT7/AEHxRo+m6rbXEG+ez1JN8l46f8vV6/8AB5f9yuuniqc4clYx9jOHv0TxS3+L+g/H3wXceG5EtdV0HUIPIurO5TzLffBa/f3187/HX/glY/h23vNV+FV1cXS2bzOmg3N15kkaJsfZC/8AH/uSVX/aJ/Zf179kF/7e8Fzax40+GuoO++zmh/0jTHf/AJ47Pnmhj+f569H/AGcP2vrP4g6XJf2dz5D273s87un7y3R9iIlX79D36PwCn7Gv7k/cmfPHwH+OVtqkl1pWqXl1pt5b7LW9s3Ty/s7+fvn3o/8A002V9J6pvuvDdzeb4NkiahqKJv8A+e7papv/AO2ddV+1H+xn4M/a50+51rR4bXwz4+t3meDUvP8A3moIk6Jsudn3/vv89fK/hfxH4q/Zk8WXPhjxur2upRpZQJDcuklvcWST732fwVpUhCr79MinOdL3Kx9O6Po3lyX81rJ9hhs3ukTfv8uNILLZ/wCh76vapE/iO4hhieTyd9lpz3KJ/q/Ih89/+AfcrifCfjKGW4eGK5gjudUsoX/fP5nl/arre+ytXVdemuo5tSs5o43kn1C6geb/AFkjvsgT/wCIrh9mejzl24v7nWfD/k3TwPeXFklr8/7v572f/wCMfx1Lb69ffaJptLe1jS3nur2CF/8Aj4k/5dYE+f8A4HU1vdXlrrF5MyR2t1b3szz/ADpJ5aWsKIiP/wBtKuWdrp9rqkzs/lpb+TP9z/WQ2qb3/wDIlUM6HQ/FCeHNUmhlWCSG3nRPORPM/c2Sb3/8j1Q/4TKa1s7mzurWPfcJDau8L+X5c10/nv8AP/1z/grm49UhutLezZJ38yCGDyU/5ZzXU+9/n/56eX99Ksx+I4bW3vL61tp43uPtV1vmfy4/nf7LAlZmgzxB4jTWfOudLeSeaSyutR3p+7+z7/8ARYE2Vg3l/wCXeW011cyeTp96kE+9P3lvDZQfP8n/AE0nqzJdeV40eGwT9zHe/PCn/PG1++n/AH8rK8ceKLbw5bvYNDdSTSJDZff/AHkiT/PPvT/pnHQByvxk8R3nhzS5rC6eOGGPTrVPkk8yO3mnfz3dP+un3K8C8L6Xea98XNV8T3lt9lubdJvsWmzP5klv/BBUvx/8b3nxB1Sz0qz8+ea8uvtT/wDTNN/7j/yHXp0mjWd1rFtHeXkk9zcTo73L/wDLOG1Te/z/APXSu+n7p5v8Wf8AgPQvC8SGRLOzs/Ms7PUUgff/AMvCWsG+dH/2PMr07w3Ya34N+F/if+y4YI/EPii1TS7W2/56Xt1Pvf8A8h7K8i+F+l/2po11f3CXUE0f2WB3R/8Ans/nu/8A37Sut+G/xB1zx58RH8c37yR6VZz3tla2abPL2QQO8E//AF3rkO4hs/C83hfwUiatbf8AE78Sadp97e7P3cn2pL3/AOwevJdc8bzaN9seXz5LO406Z/ufvJIf7R3/AOXr2DxRr1tqkkLs8cl5bvaz+dM/+kXCJa7/AP0Y9fOXjzxlDLrmiWESeY+oQ2qT7JP3kab989a0/eM61TlgYnxM+KupfEfXL/SrVpLXy57p9R+d/MkT+5X1D+zfdTeCJ0mV5I38+HyLmH93JsSy3/J/4/XmXwD/AGeIfBHge/1iWGTVb+8h1af/AEn/AJaInyV3muS3kWqW1hEkEcNu+oPa7H/uWSffq6nJ9g5KFOfxzOq0/wCJTy6PpU0T/vo00yB3dP791vq5rHiP/hKPCbvcXMd09umoT7Hfy/L/ANK/26868PxPYW72csPyXE+iwQb0/eSfJvrY0vWXi8LzW155cj3mnfJvT/Vu978lc53neeILqG6/tVFWeD9/q108yJ5fmP5Cf+Of3Kv2eqzWF5eWdu8d19oe6ggR/wDWRv8AYv8A9uuP1uaGKPWJrWby7b/ib7/O/wCWm94Kms9Z/wCEc8UXjteTzw6fqOp7NieX5jpZJ9yswN63unutc025aHy/s91ZI7p/y0/0J99Pj0aa60+wezSCSzjfTEdHTy5I33vWDH4jtpdYhvJZv9GuJ7WCP7TH/rP9C+f/AHK2NDuX0u4037Kkk/2z+z02O/8Ac3u9aABittLs5ks38ybZC6JD+8j2f2j/APt1Drl9Df2b6rLNPbvcQOl0if6z/j9/jqt4b8ZPf3lsl1ZxyR+Ra2v+jf8ALNHundN9P0OWHxR4XS5s7m1jfUIPLfY/7yN3vaAgUdQl+y29z5SRyJI91s3v+8k/03Y9W9U0Ga6854v3E1u+oQT+S/l/I+z5/wDtpVaSKG1t3e6mkkhjnf50/wBZHvvdlWZIvK1DUraWaSeGRL1E85/3kaPOmyswMrxBpcNrPqtmz30abNQn3on+rdIESmR6DDdaom5PPhvHdH2P5fzpZfJXT65a21/p9/eWt/dedp/9pvOjp/q/uR/+jK5i48L+Vrltc/afL+z3WoIkLv8A8e7+QlVUAh0i/kurfSra6uf+QfPpnyJ/1wd3/wA/9NKzfDdrZy28Ns7+W+zSbp3RPM8t971sXET6D4h+zS2ccn2d0nT50+/9i3//ABdcl4fluYtQhs4kk863nsngSH/Vx/uHd0+f/gdSaE39lw3Uem/Z7mDZ5Fl56bP3ke+6en/JqluiRPJI8ex54Xf93b/6b/crS0+KaWSzuWfzHvH093d0/dyI87/cqtJFNdfZry3SOewuILV54f8AcvdlaGYWeqfZLiZ2SSNLhNQfY/8Aq5EefZWl4g0uwlt7+aJ441t/7Tnf7Hvkkt/nSNP7n+3/APZ0yzsPNs7a2gsPL/f7H+f/AFe+9/uf8Aqnod1NdXCPvjjm1DTpkn2f6u4/03/9up+ADV1Qf2Ne3N/YXMcEP226uvnfy5JPItUg+T/vuuhEv2DWLyGV/njSZ4HdP9Y6WqJsrm/t9zL9phuF8y2uEutk3+s8tJ7pErrbPWUureSaK58uG4TUJ3eZPM+x/v0g/wC+KzqGh0+l3VzLrF5czzSQeZPvfe/7v78Cf/F10mh6pqUUbvLb+fDJ8k0M3/LTZ9yuS8J6yl1qcybJH+0P5++H95HJsvdn/A0+St7UNUS1k+03V/JYvsd/nf8AdyfJv2VJNQ201m8tS8KvHJeR73ghm/2N9WdU2XXnTSzSb/Pd3R3/AHkf36ytL1C21T7Ttd/9Hnd4POf+B3er+sXXl6ej7oN/n/xp/cqqZHIzjPGlheWtu8ksM86Ro90kKP5n9+vQvh3a20WjvMqeX9sfZHs/1cf9+uV8QaykPkw26eYkb759n/LT79bHiy/ubX4Z376bDPBeR6dNdJv/AHf754fk/wDIlURU+DkIfhf8T7bxH8P9b8SKkkdtqmovBBCj/vJPIfZ/7JWb8P8A4e3PhzwfbfbIfL1XVEm1G6dH/wBXNO+//wCIrlfiJ4XufhB+wXvs7q6k1DT9B+1TzbP9I85E+dK7/wCHfjyH4g/DPw3rFwklr/aGnWt1An/PP5Kn+UKZwfjTwF9q1BIZUjkmuE2fPXPx6Clrb2D7PISRNjo/9/yHSvTdUtUv402p5yRzp9//AFkdY+sxQ/2XZzM8m+N4YH/6aJvrT2h0GPbxTRW8214JLa4Tz97/APLN/I3/APkTZXeaXqiXVvfpK0k/mfO6P/q96To/ybP4P33yVx+h7NBjSGXzI7aPyd6J+8/vpXQ6PKmqae6b4Ptmzz4Jkf8A1n+i7/k/v/c+5WJNQv6BazaXG811beYlmm/7TC/+r2fc/wDQK6TwHqjeHfHmj39q0nk6fqMMyTeX/q9k3/jlZWlxQ3+oW0bTSR+Z8n3/ADI5N7//AGdaVnpb2sfkqkkiXECeY6f8tPuVph/cfOceI1TP2OtZFltkZW3LU6jArkvg7q/9t/CXw7fN8zXml207+5MKV1URzHX61h5c9NM/E6nu1OQkooorYkKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoPSiigCExHyxX4L/wDBb/4f/wDCO/tD30jbPLuNOfy/k/d74XdP/iK/emRs1+Rn/Bwf8KnsfGGj+IYlfZcb7X/vtN//ALI9eHn1P91znv8ADtS2J5P5j8MfhRLNqkfjawb935cyT/f8vy/4K4PULCG21iZJX8v5/wDv3Xo2hw/Zfiv4t0dv3FzeWW9JoX/1mx68z8UWs2l6o6SpPH5b/wAaf6yvNp/Ge7iPhMTxIU+4v7xI3373SsGS68yRPnrb1DZF/H5n/tSsW4l8qT7lelRPJqCSRf7dQ3JSL7yUCVJd/wAlEn73+Py66DEZZypLHsVfLeN6fJ/q/wDnm9QxxeVcJGz+X8n36mkl/ef9c/7laGcA0+Xyo9jP5nl1+k/7Cv7XrfGPw/HZyah9i8d+H4Ak+x/+Qxbfc+2p/txp9+vzSkl8q4R18z958nz10fw18e6l8NPGmj+INMk8u+0if7VD8/3/APY/3HrhzDAwxED0srzKeHmf0g/sx/HNPFGjw2ctzHHNG6Om9/Mjs/8Apvs/v17BJK+qXD7nvoHvJPnRH/0vUE/vu/8AAlfmp+xr+0fY+NfCmj+JPCs1w9neXTyXtm/7y4s9Qk+TyX/3Nm+Ov0E+E/xHtviD4P8AOtXnvprz9xdOibJNUdP4E/6YV8bGU6b9nUPsK0ITXtqJc8QaC+qaeiRW2j6k+hu8ibE8vSdLdPv79/33rnpNUhtY4dV+0/6xPIg1W/tX+33H+xp8P/s9dbrlqk0ltNLDYyf2X995n8vSdH/ubE/5bP8AcrK1CLzY7a/j1uT/AImEHkf2rc2v+n6on/Tsn/LGipTIpnJSWl5axvZxW11B/aH+v0qF/M1a8d/+e03/ACxSsfxJqiS6GmmxJawWen/c0q2g8jSbd/4/tNz/AMtq2PFkVz4cjTSmtp5EvHR00q2k8y7uP+m97N/6HWVf+KPtUiQ39zpuq3Olp56Wb/8AIF0f/vv771xzO6n/ADmPL4oh1nS9N1KW5gnht96WV/MnkaZp7/8ATGH+Osrxx4NtvGVvcw65bXUkOqJ9lurzUv8AStT1SF/vpDD/AAf7D1q3GqW0Uj6x9vkn/gn8Q6la/u7P/Ytof/sKuW8qW0j3LPdaU+sQbP7SuU8/WtY/ueSn/LGszc8u8F2F/wDsj6XqHh7xA91P8PbyT7LpGqprSSX9uj/c07U3T50/2HrsLjwu/iOO1htYdH1K20tEuoIUfy9J0/8A25v+ez/cqt4o+H1h4j0e58PTWPmW2oJ5E/h6zf8A0+SF/wDn5mrxnwHr2pfALxhbeCfFr6VqWg6XdfZfDWsTSPHaW7v/AMurv/y2njrGf84UzY/aP+H2qfGPwnp9y+tz6dqWhz/8SXW7yD/j3d3/AOXK2/uVN+zh8UNb8SaxeeG9e03WNA8c6e6fbbCF/Iu9Q/uT+c7/APHq9eo65F9l36w15HqVtse1n17WE8u4jT/n10+F/uVw3xI8HQ+I7D7e2lR+H/Ekf7/w3eb3n8RRzP8A89k+59lk+Tekn/jlTI0PSNK1Sa636a39j7NPTzp9j+XpOj/7b/8APZ689+NngjTde0NPGHh97jR/HVv532LVZkf7R4w3/wDLq9kn3/M/geT/AFdYnw3/AGgtN8W+JP8AhG/FWj6bpXirw3/x+6J/rLCzRP8Al93p/wAfX/bP/V16jJrP2qdL+zv7qea8TyEvJo/M1PUN/wBxLKH/AJYp/t1VOoZzPGfhP8fbrxbePojaDJpvjDS4E36PeP5Fhpf/AE9f9Nq9Is7tLrUPt9rrE8Cb9mo626f6XeP/AHLKH+BP+udcr8TPgHpvxf8AEEdmzz+EdV0P9/8Ab7Z/Pk8P7/vz3L/8tvM/541z0nxutvhVrlto/jbVfMvN/wBi0vxzYRv9g1D+4nz/APHq/wBz/V/JU8jN+f8AmPS5PBGiS+ILb7f4e03WP7P3/YtK/wCfdP79zN/B/wCh15X8RPiN4n+BmoW2t3U39q+E7h9kGqunmX+jzO/zwJ/HdJ/02/5Z13lv4j8rUEs7ewgurPf572dte+Zbyf7d7c1WuJbm/jhupHkkmuH+ypfzJ/t/6iyho5jf2Zf8F+M4fGXh9E022gurP/XwQwv5lpG7/wDLe9m/j/3K7nUNV+y6W+rW73V19s+R9ehtfLuLh/47XT4X+5/v15Rqn7N1to1nbJoNh/whetyWrzwWdnP5n9of9N9Qh3+RDWJ4U+MnxC8OeIFTXPDd9qs3npBY69oKPPH/ALlsj1XvxMJ+8dz4g8G6Vr32nRLiwtbq2jdJ59Huf+Pe3/j8/UJv+W71T+FHwgsPhpr8mveH/FXi7wXpeob4Lr7H/pVvrH8aQWVm6f6v/gdTW/xV0rWbeHTfJ/sfUo7remlalA9r5ez53nvXfZO//fFd5H4oh8Rxpfrf3WyT5E1tE/0i4f8A542UP8CR0e0IkeV3nxB+JHgjxh9jh8PQeLtHs3e6n022dLGTS3/5+rlH+T/gG+vZvC/7Q6az8Pl1XVPB/wARtHvNUTfPeTaWk8lx/f8As2x/kT7n+rSobDw3bR6o+m29ha2s3/H0mlTXX+iW7p/y9Xr/AH3/ANyt7T7p5dPhddWnjS8+/fwp5mp6w/8Acsk/gg/266KHunPW948is/2yPAd1qCaJq1/Y+HP7PnRHtpoJ/s+nv/z3uX2b3etjxx8UPCsP2nUpfHn9pWFwn2X7fMjx3cjv9xId6IlqldDqnw+h8R3n2aLTdNkez/fwaI86SWmn7Pn33s38b/7FQ/EzwR/wmXhKGbWbnUrrTbff5F/eJ5n2h/8An10+2+4n9zfWdSEzSmc94P8Air4L8UWdhol/4q8Kwvp6b7XTZr6CPTNLf7nz/wAc0/8AHVP4seMvD3hfVEeXVZ7H/nvqTun2jVP4Nlt/zxgrS8F/BHR/C/ixLy38K+HLXVdHT7bBYXkEHl6Xv/5er2b+OernxQ0uz+KtnDNeP9qhkn897m5RPtF5v++llD/B/v1n9g0/5eHPeF/iroN1o0yabquhzpZv+/tod8+k2e//AJ+Zk375/wDxyodD/ag8K/2g8MviSxjh1B9l1cpdJ9v1Df8AwJ/cg/6510mj+HJtG0O50HS7Cx0ewj+efR4X8i3s4P8AqITJ9/8A3KyP+FGaP/Z6alFYWsiXCbIHeyg+16g6f8sLL+5B/t1n75oW/Gnxa8H+HLh5Itb8PzzaenyWcKP9g0Pf/HNv2PNPVnwP8RvDfiOR3XxhpUD3CPBdTTOn9p6h8m/ZvT/UwVf8SXVz4309NE1pNDura3RH2b/PsNL/AOvp3+d5P9ij4TaXpXwruEufDkM9il4/7i5trVINT1h0+/s3p8iVp9sz9/kPMfiB8fdK8Ja59guo499u/wBxIJ/s+n/8A2fPP/t11tv4t1vVPAc2paTomsR/bE3+TeXUEerapD/1xd9+yT+5XbfES1e/1hElhsY089Jp3mRLq30Pf/fd/wDXXUlc34XsPsF5c2zW11dW158/75PL1PUP9t5v+WMFRye+X7Tmgcb8Ovi/4tv9cT7H4VngSOR7J7m8RLW3t/8ApjD9/wCf/rnXdfFv4V+P9Mjtk0vRdAk+0Ikz2Ca9vjj/AI/PuZtn/jj1p6X4j/su4d7V7WD+z0+yveQp5lvp/wD0wtk/56f7ddn4XunuvDb6U1n5b27/AGpNKd/3cf8A02vXerhCHwTMJzn8cDyv4b+EfH91p+qf2l4ksfDkOoJ9lgm0rS0vr/UN/wAmxHm+4kfz182/tCf8Enbzwlf3HjD4X6rax69p779X0d3SC0vNj/IiTfcS6kr7gvLrzY0v7h5J3uH2T3MP7uTUP+mFsn9ys288Rpf6fJDFbabHeWfzvsfy7DQ9n8b/APPaeSuyhU9kYTp+1fOfDPwX/al/sG4ufD3irStS8Oa9Ha/ZXttVT/S5PPut/n//ABFe6ftN+BPA37Xvw3vPD2paVa3T2d689lqUL+XcaXvnRE2P/wDHKP2lP2ZPBvx48FoniC1urW8kn8/SNYhf/ifahM/3HeZ/uWv+xXy14b+I3j/9h7XPs3jKwvtS8N2eoo/9vWcHn2F4iP8Acd/+umytoR5vfo/EE5f8/iDxp+yh8SP2ZNQTW9N8/wAY+HtLjhnnvEtf9IjRN/34f+mfz1yGn/tBWcOoWDxalBqX7+y8/wAl/wB3H5G+R/8AyJX3J8F/j7o/jfw/onm3HmJePavBsfzI5N87v/5D+euW8SfsZfDH4v8AiyHVWtrW1vtcnSB7y2g/jdH+/s/56SbKPbwl/GiL2M4/wTyT4P8AxLsPG9nZpcXPmSXiJa/J/rI3ef7VP/6BXfx6z9v8Npc27wSeX/c/dxxve3X3P+/aV8u/Fj4Ba9+xl48TWLx5P+EZvEdLK8R3kt7d3/gf+4/l79nmV6v4P+I2m+LPs1/YXNrHbSede7Hf/V+RB5EGyidD7cDShXnL3J/Eei3Hi17DVL/Xls5I4bz7bq7wun+s/wCXWDZ/7JU154chtdLh2zWsFtHPCkH/AC0kjS1h3z7P+29cHceI5tL1ywsGS6/4l7pB5037v5LWDz3/AO/m/wD8h13nw80qaLSrCbUobWSG82WU6J+7+ed/Pn/8h7K5zsMGO1TS9MRNUeSN7yCHSILm2/d/aJn/AH8/+5/t14V+0H8WktftM1g9rJeaxPN5Cf8ALSN3+T7n/XP+OvVP2iPiVZ+DXm1Jbmxj02SeZ/kf/j3+1fJB9z/nmm+vnuT4c3niP4kXGq6o8drbae7/ANnpDP8AavLsrVP+e3/TR67KFM4MVXn8EDpPCejWcWqJqTWd1JeXl75873Lp9yyg3/wf8ArtvBegzazJokMSQRwyeTa75v3ckn2p/Pn/APIdYPhfwlea/cQ2Cv5mt3CQ2XyP5ckk10/nv/37jr0jQ9LttL0/+0ls5I9evL3UJ9OsJp/3lxsg8hPv7Pkj+d0f+/WczfD/AAHTyXVt4y8B3Og281rt/tdNR1G8d/Ijj3zoiWuz7++SPZXPePfiM+gyeIbbS38xLifU50h2fu5N+y1+T/x+oY/BsPgPR5rNbW6/tLXE0me62P8A6yZ/n3/9+0+euS1DWY9U8P2e7ZJDHapP52z95897/wCgVznYUNQ8b/8ACL6pva8ngtrO6mT5E/1cKWuz5P8ArnXGfB/wRefF/wCMlt4ht/8Aia6bb6jZWSXLp9ljuIf9z/ppWbH4yufG/wAXJn02ZE/4Rt7132J5n2x3f7mx6+q/hva23w0t4YbpJI5pNRhd5pk/54WW9K6Pach5v8Wf9yBDcSzWvh+5sGvLiCG8053gS5T/AI9/Pvdnyf8AXT50qteWEOvaxsZ/Ltri61Z33v5nl/uPLT/2Snx38OvafpX2p4Z4bOfSbJHRP9I/fPv/APiK1Y7W30zT5obd457m8g1adPsafvI98+z565zqH6poOm+G9U02wjSOSazntUfe/n28jpZb96f+OVyvhP7ff6W73Xnxvpaaejuj/vJEd9++un1CK2tReO1zHb3keqXrwQwp/o8eyy2UXEtzaxw/Z5rWN7N9PfyYf+PiRILXe9Ae0KGqeI7a10+/hiuUvpJIdib0/eXCT3v/ANhU2qeKPtV7fpBc+Q8f9reR5yJHHI/yJ/8AF1lWEsMun214tzHI9xZaejoieZ5cz3Uj0z+y4dZt7yS3S1nmk0+aeB0T/Wb73f8A8AoAuaxYPYapc2zPA6Weo3t1Bsfy45Nlknyf/EVpeH/tNhIk0tzJJb3E8L2ULv5ckbpa76xJIkury/v1SS1vPI1bZvTzI/ndE+Sr2oRPpdxMqwwQPHdXu90/2LLZ/wAAoNC1p91DbW8MLefAkb2UDpv/ANX+4d/nf/nnVbwvFcxSaa8VtPA8f9mTomz+De7/APkStXT4nkkheXzI5rifZvdP3kiJZU+OK8/tS2s7i5upHt3sn+RP3nyWrv8Ac/joAzfDeqXktvHueOO5vILJ/J/55/6U/wByr9xE+vaPqVzavHH9sgm2TJN+8j/4mPz1j6ZdWctvbTNbSbLd9M+dP+PiPe7/AMFX9LieK0S2V457bUNO/uf37356AJtQ1S2tbjW/tSTzwyfbXRN/7z5J4E2VNeXX/E88Q3NvJHAl4+rPsf8A1cn7hKx9ciuoo7x1e1/0OCZ98L+Z5e+9/g/8cq54sv0utP1KG4hgjmt59Wn87Z/0wRP+B/fogAzWPtMVu8KwxyfY/Od4bn/loiaclZXzxa5bTfY5PJuJ7VPOf/WRull9xP8AppV+8tptG1x/9XPD/pTvvf8A1ifZUTZ/t1JqGgwzW9zf/brXdeXSP5Oz/WbLL/0OOgIGZ4TuvM0/TbiWaOSGSTT0nmtv+WmxHetLw/F/ZdnbXOyeSwk/szyPn8+ON3nd3rN0OVLV4YbXz4Ht57Z/nT/j42WUjvWl4fi+y3mlaaqT/YJEsvtuxP3f+od0egqoXPD9+nl6ajef9mvH093hmfy5I3eed6s+H7BIY9NvJvMkTZC8+x/+WP216p29skX2CGWOON459JRHmf8AeRpsner+l6p5sfh65itkvrWP7LB/o3/LPe877/8A0CgmZTs5ZpdMtrm3eeRJEtfIfZ+7uEe9+dP+2dael2s2qSTPFDHBNJO++GZ/9Xvvfuf3Nn36l8L2v9qWltZy3MEiSJZP9z/Vul1J/wCQ5Km0/n7BbL5G+3nhtftKf8u++d3+d6moaF3R4ofsdnNv/fXkG94Yf+Wmyd3pLPybq3R7xLqP+N3d/Mkj+RPv1W0uWSw0vzm+zxyW8CJ9z/WfJO7un+3/ALFX9L15zI8Nq8kj3DvB++/4+I9mxK56hodhp9romjXFzNsSC5j3p8n7z/nvTNY1T95YPKkcaSQfxv8AvI6xLeL7V5O5JI38jeiO/mRybN9TeJPEc11cXkzTST+WnyIieX/fStKZmdP4X0FLrZrETx3X2j9xAifu5P8AX1Q/aU8R3Og/AfWLy18yOa4nstLtXRP3kfnTx70q5oey10ew+eSOaRPtUiJ/rPnRKh+KGqQ6nH4J8MXU3l6leXv9t+T/AM9ET+P/ANArSc+Q56h3/wAdPBuk/wDCg7yzlfz9N1TTnSeZP9tK4z4f6XbeF/hH4Y023eOSHT9IhhSZP9XsT+//AOOU/wDas8b/ANl/sz+M7y1SST7Pa/8AHs7/AOs3/IlYJiv9B+F+g2F15kFz9l2T7/8Alns/ylZ1PsGdH++dDbh9ZRHXzIPn/g/5Z7Kzdc8m6t3+eOTzJEdP+mex6oeD/ESS3D2yzSSPI/zuifu46kuPO1TVEh/dx+YnyfJ/q/nqjsMazluY47Z1eeN5J0T/AKZyJ59bHguKGLT7Z1RJ7mR02fJ/q/3E6VDqEsOlyJMz+YkaJv3/APLP9/T/AAnEks9s7J5lnvT+Py5I9k71mTUOhvPOtdP02FrmO1h8/wA9HRP9ZvSB/wDgH8ddX4XsH1TVLn5/3Oz+P/l32f8A7FeeXOqXPmonnf2lYRwf3P8AWfuHr0X4X6pbXWoTIySWs0n8af79bU6nvmGI92B+mH7H+of2p+zZ4UZm3+XZ+X/3w7p/7JXqSDC143+wxJJ/wzzpcMv37ea5T/yPJXso4Wv1LBfwIn4pjafLiZ+otFFFdhzhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAAOtfC3/BdL4Vv4y/ZPudYgt457rR5En+ZP4Eff/6Bvr7oHWvN/wBqP4dW3xP+CGuaPcQieK4gfKH/AMf/APHN9ceOo+1oSid2W1vZYmEz+SD4qXVn4X/aH0W//dx/bH+yyO/+rj3/AO5Xl3xM0ua18SPHL/f/AIHr3j/goB8Jbn4c6/qqSQ+ZN4b1d4H3v/cnryL40STazcW2qxQwRw6hB9qR4X/1m+vm8L8EZH2mJjy80Tze82RfIv7usTUNkVxvZ6v6hdeVHvrKuJXlf/4uvXoHh1Kgxf46JNmymfJ5nzJ/q6JP3Ue9a6TH2gXEXmx/9c6fby/u0emfP70wxeVcfN92StDMmktXkj+/TLeVJY/l8zf/ALdPjlT5N37xJKZJF9l/fbP9+gzPXP2Sf2m7v9nD4jrcPJcXXhnVPLtdds0/5aQ/30/6bR/wV+y37LXxym0HT7C406/nn0G8sv7RtbxP9XcWr/c2f7ckf3/+udfghBL5se9fLr7H/wCCY/7Y3/CE61Z/DXxE/maPql1v0K5eby/7L1B/uJ/uP/6HXz+cZb7Ve2h8Z9NkmY8k/Y1vgP398L+I7bxRo9rc2qWl1Hboj2ttcp/o+np/z3m/26ZcaNp+g6hHeb7qN9Q/5eZv+QnqH+xZJ/AlfNP7Lfxum0uRNBunnnSN9nkzP/rH/wCe7/7FfS32qGX7NqUupeQ8ifZX1h7Xz7i4/wCmFkn9z/br56E3KB7tajyT0MHU9B/srXP7Hi0SPZqCeY+gonmXF5v/AI725rBuPBqazLeJeQ6PP/Zb7J/OTZoOl7P/AEN66TWNLSW3/spUurW5++mj2b/6XqCff/0mZ/uVDcRQ6zG8P2aDUv7P/gmfy9F0f/ff/ls9R7MPach57caXDr2oPrEVzJBbW77J9b1WB/Lk/wBiytv7n3/+/lTW8T+DbN7z7TPocOoP+/uZn+1a1rHz/wDLH+4laWsy232x9YW/gjmj+T+29VR/L/3LK2qtea9D4Sjh1LZ9hfVEdEvLn9/rV5v/AOeKf8sa5zr+MxNctYYtH+xtYala3N4m9NHs7rzJNQ/27l0/8fSub8ceEtE8UeF00fWfD2leP9Vj/cPZ/wDMJ0eF/wD0B/8Ab+/W94o1RNBktrO3trqxvNU2PPZ6a/n6nqG//ns/3ET7/wDq64/VPEaS3n9iNDa6lDG6f6HbP5Fhbv8A37mb77+XXLUOqnT5jxzT/G83wq+Ij+DNcvPP024f7Lonjm5fzII/4/sSP/q/tUf3N/8Ay0r2Dw/Lbaz4fd2ttY03R7hNlrbI/meJvEk38b/7FrXMfFvwRpXxu+H8ln4gmj1LTdPTyP8AhIdnkW+l/P8A8uUP8ckf9+sf4Z+I9b/Zzs7Gw8Ua9pt1oeuSbNL8c2drPBf6gif8w6ZJtjwzv/sfJWJob/xQ/Z4/4WhcWGgq8mm+KvDb/atLfTX8u38Ho/8Az2m/j/g3pJ9+szR/i1efD7xIuieKtc06PW7j538Q6PA91/amz76Wzv8A6l/ufJXeaXaw6p4fhsIrb7VNI73UGg+f+7t/78+p3P8A7JXnvxc+AWj/ABQ0ebVWup5LONPJutbm/wBEt9P/ALkFlCn3/wDfpfF8Af8ALw9O0vRk8eW/9j29nHBDJB9qtdEedI/sf/TfUJv465XxJ4ItrrS9Vmv7m11Kz0tPsV1czQJJb3Cf88LKH/vuvOvhXF4q+EusWei+MEuvEHg24femtpIiXFn/AHE1zZvfZv8A40/2K9dj1n+2Y4b+K4sZLmNN6X7okFvp6f8APrZQ/wB+maQPGvB/7PNz8Ob+2sPD+qwSaJcSfbU8B+IUuv3aJ9zyblPuSf7E/wAlWPC/x403xj4lv0tby+0fxDpce+6S/dJ5NH2fwQon3/8Afjr12PRv7GuIbC4h1K1fVERPsCTvJd6h/wBN7l3+5B/sV5R8WP2ZPD3xGvPtLXNjo+paOjpB4h0pPIt9H3/8sIUT/XUcjK+H4D0Kzls9ZKTKk8n2h/PTTUn/ANL1B/796/8Ac/2K7/w3dTeZDrEt/Yyarp8Hkf2q8f8AoGl/P/qLKH/ls9eJaXbeLf2fPg++t64+l+ILO8dETR4Xex164h/57zQ7H37/AJPkjrpvhJ+2v4e+I1vZpZ6rpf8Abel/J++g8v8A4R/Z8nkw239+qp+78ZjUqc3wFH49/sx6b8ctQhm1F9cj1iT/AE2C5S6f+1t6fx3s38Cf7FZ3wv8Ahf458E294i+NNA8R6PbwfZbLW9Vsp4LiS6/54W2zf/33sr2OS18qP7NeaVfR22of6VY6bM/+l6x/fnuX/uVj+KLqa5t7bWF1WO61K3TyJ9e3/wCj2f8A066fCn8f+3Wk48xnTPHLf4ya9oOuTaVrPgDXNSms03/6Gn2uPf8Af/03Y/z16Fp/7V+myeA4devLPxNo6XCPazeIbnQXtfv/APLrZP8AcStL+xraXVLC2bR5Ptkn+lf2Cj/vJHT/AJetQm/8f2Vq6pdTXVvNeXF/HPYW7+RPqSJ/oFn/ANOunwv8jv8A7dRTpmk/eOb+G/x98H/EvR7bRF1vw/JZyTvs0ea6/wBHs9nz771/vv8A7ldb4k1n+wbh7lbnz4bxNn9sQ7J5JH/54afbb/3Kf7dctefBvw94yuHS88GWOpX9n/pVrYbPL+zv/wA/Wp3Oz/xzfWB4s+COifGDS7nW7zz7WaR/sr6xbWv2GP8A64WUKfO7/wDTaSmB6Rp8tzrHhNIbXSvtyaW++ezT/j00t/8An61Cb+N/9iub1jxHpt1cJtfVo4bx/nv0TzL/AFR0/wCWFtD/AAQVzfgT4QW3w6862Z/iFfX95B/oWm/8JJP/AKGj/fe5f7ieZ/00rgLj4QeJLC8mudL8bXU9tJPs87ZBPcSP/wA8Lb+//v1nMqn8Z61JdW0WoTWF4kEcOzz001J/9E09/wDnvdTfxv8A7FTR+I01S8Tynnk+2fJBeJB/p9x/fS2T+CuMk+F994j09LVtb8R2usW8Gz+zXngk02z/AOm7/J+5/wByq3wv+HFz4IvLbVdW1vxB4jtrh3SdJn/eXGz+C2hTY/8AwOSszqO/kitrCN7O6hgTy3SdNNd/9H09P797N/HPWlLFeeHNHm1VbzVZNKvIPIg1VE/0u8/6YQ/88YK83+InwRbxRrlsmh3/AIg02zs7XzH0221t5Psaff33t0/33+/8n/TOuk+G/wAG9B0vS5Jrqwj1J7yH7KmtzPPJf3jv/BbQ7/uf7eyj/l4c5cj8Ww6pZ21mr6ba21v88CPJ5Fpp/wD8enrE8SfEuz8Lxva3V5a/Y7j77/bU+0ap/wBdn3/c/wBirOn/ALN2j+DZJryKzg+06f8A697mfz7TR3/4H9+f/rnW9J+zdoPi3UEubjSvPfUE3p50CR6tqn8H3P8AljBVezmLngM8N+I7fxl4Ludb0a8urqz0OR0+06ba+fb2exPuIifx/wDTbfWJ4X/abuYvGNtYad4S1jWPnR0sJrWdI/7/AJ80z/8AtSvSNP0v/hA/D6aVa3Mcdho6fv5kRI7Sz2f88U/5bT0y8tYfMRLyzurq51R98Gm7P9I1D/buX/ufx7K1pwI+MPiRF42lsP7V0bRNNj/th3SC8fV4L64uP9i28lPk/wC2dcNofg3xzf8AiSzk8QarofhzRPD8++62J9qj0+F/+e2/5HnevQdY8bppenpNFc+dNZ/6LPqUP7uSP/p1sk/9nrL1zxHYRaPDHa3Mcf2f9/BZu/8Aomnps+/M7/fnk+ernySM6fOc38c/hf8A8JHrD/2JresSLqEG+T7SkEk9wn/Pf/pin3PkrldL+EHhu1vLax+Icl14/wBFkk2fZtYT7VYSOn/PrbJs3/8AbSvUfC91DqlmkKpJPbag6b7Z3/0jWP8Abd3+5BVDxR4y+3SJf3V5awPH+4S8S1/0ezT/AJ4WX99/9uhae+i/7h8b/HT9hTxJ8IfEFx4n+C811aw2d691deErmb/R9Pf+/vf5EeT/AJ41j/s1/tZprOt22j39zdaHf289qj2dynkXFvs37/8AgElfaNnrOj+JILmG1udNtbaz/fvbXN75dvbp/fuZv45/9ivnX9qzwb8NPHkd++qR2t9rEnzwXkP/ACFtQ/64un3Err+tQq+5WMfY1IfwT0X4f+PdF+IHhubQdcsbXVNE1SCCyvba5Tz45EnSf/vv+D568Q+Nf7Ar/Cv7N4h+G7yal4bkdJ/7B2eZcW8Loj7Ef+P7n+/XmknhL4l/sweF3164sL7xH4JjdLq61J7X/kFps2fOm+vof9nz9r2HxRolha6XqUN95draz70T/WOlq9L2c6fwfAZ+5X+P3JngnwO+Iv8AwnlneJb3999vuIPsU+//AJd7p7r9/wD+Q69R1z4gpYaHf2em3kkj3EE11B8/meY88/kIn/bOP569mvf2afCXxk8WX+txJHpviHxRsnmv7BE8zzn+Tf8A+PpXxh+2R8EfiR8JfGlnZ3VnJqWlXEkLprFnB5FvcbE/1M0P9/8Avp/v1t+7nMic50oe+c/8WIrzx58ULbTbWb+0tK0uD7Vdb0/dxw2qfIjv/wCP/wDbRK9N0vwvDa+G47Z3tbVJNItdLnhf/Vyfap/Pn/790WeqP4ykeG/vIPtNxBp8G+2g8i3jed98+xP4P3abK2be1vLqTW9btUkkto9Om17/AEZ/Mj+d/ssCbP78cf8A6MqfaT5CqdH3+eR0fwUisD8RLnVdn7m80i91h0hT95In3IP/ACGlc34wi1iKSw8Z6lDH9m1jwpe2qWzon+hwwfOif7/mPv8A3dTeF/Fs118adKs7VLWx0rS57bRJ5oU/0iS6SDfsT+DZH/H/AM9K7a40v7V8J9K028SC+TR7K9nnudn+r33qb/k/jSs/acszvp0+c8T8T/G59U1xHW5ktXt9iO+z/nhZbH/9nrivFnxah0aOw021heO5uP7P+TZ/q9nz79n/AF0r1n44fD7QfsfiG5ivLWObZqaPvfy5PndER0rxn4P/AAq1jxv8ZLjUNs8dhG7pZPcv/rEgg310U+TkOGv7aPuQO9+BHwws/B3g99Q8uS6m1DS7p0vJv+PiS5urry//ACH89e1+ILW28Oapf3MlzI95JPqF0m9PM+5aoiVj2/w5vNL0/Sobjz7HSo30mD538yP5971q3lq//CL3M2y1upLyym+f/lnvnvaw+P3zenDlhyF+z0b7BqlsjQyR/wDExskd0/1fyWXzw/7/AP8AHKh1CW1sLOG2V7qR/Jsk/wBe/wC78+637/7/APfp+saxbRXl/CyRx2dne6ndIkL/AOrdIEjojurC11RNskl9c79JSeab/VybIHf/AC9ZGhQ+0x3VxNcywwPDHa6ndQOj+Z5m+fyP/RdTah9m0vznuk8m2kfULq1mhT93I6QInz1T0OK28R6XbeVbRyQ+Ra2uxN/2iOZ73fUPizydU0O5mt08u3kstWREd/8ASI/9K2VoBct9HeXVLOFof9GjntUR0T95JstXf56x9D0bzdQsPMeeP/kEfvnfy/M3zyO9dJJavFrFzNK8kCfar2Z3d/8Aj4dIERE/2KmuIppdQsEupvsr28FlBA7p5kciJA7/APfdAEN5paS6Hf3TTeW8lq90iIifvEnvf/sKLzXvKjv4VTzHkgvX2P8A6yR3nRK0vC80MunaVudILyNNJgg2Ps8xPPd6rXGjXP2eGa1hngeSy8/yXfzPtHn3v3KzNDb1SWaW4ublbaeP7HPqGx0f/V/6Kn36zZLq8/tG51XfHarb3rvdfaX8vzNlkif8D8yjxJrN5r0mrW1vDax3PkXs+/Z+8k/fpB/8WlX9ZtXi1C/h/eRpZvqG/f8AvPs+y1T/APYoAzfD+loNYtplmS1m8+yfY8f+r2WtVvCcUf2PTfNR43jgsvP2f6yPfO71N9qewkR7WHy5rO9R/wB8n8CWX3K2NP0ua6+zQ2rxz21xPZQfIn7zekD0AclJdeVoDw2r/wCmf2d+4dP9ZJvuqZcSw6zJczfaYLp7hL3yESTy5Lj9+if5StL7Vc3V5Zw3CRyTXFrZbHePy/8Als//AI/VPT9B+326XP2O1kSTTvtSb3/1bpe/J/38oAf4sis/+Jq9vMkFzb/bZ40dP+Ped9iVj6pK/wDZ+pQxfu5v9Nf50/0j5LVK1fFFteHUNSubV/Lh8i62P/zz33SfI++q2sRQy6fc3jSRzw3CahdIn+rkj+5B5FP2gQK2nyvqn2l9kkf2P+P5/Lt/IsvL/jrodHlhtZHS88udI3h2XKP+7k/4l38dMk0GGW4ubZbmSBJH1OP9y/8ArNkCfuHqtrEXm6hNeK8kaefNsTZ+7kmTTkT5KRoVtP0ZIo7B7h5I7nz7ZIXd/wDWbLV3rS8H2sOl3lskX2qxeSe12bH8z7lq+/8A9koj0uaXWG2wxyJH990/5Z7NOrV0/S7y0kmuV8+NNPut7+S/+rRNOoMuRlPwvdPf2elPcJ5CbNPT5P76b/uVc8L6Xc6peI6zTyQxvZTzo/8Aq/nR3fZWV4eie11Cw3P8kbw7/k/1f+hSf+i63rO6h0bT3d7m6kS3eF4N7/xpZP8A/FvWYy5JElrJMkVzayPImx9ifu5H+y/wf+P1sSaB9l1y2vLeaCNLif53m/1nyTf3KzNPsE0u3uYZXkkSz85E2f8ALPekCfx1oT6zDdWaXFrbSPfyO7zwo/meZ877/wD0BKDQo6havLvmt/LjeSB3TY/+r/cIn/s9Y2qRXl/JZ20tzdyXVw6QTpbJ/rEed/8AvtK6fVI/K0+5RbaeSbf5n3/3kf8AqKreB9Utv+Eo85Xk/eXSOiOnmeXsunqqfuAd54L8OJqlxYW1r9qjtreCG12b/wDV7ERK4/xRrN5qn7VevX91ZyWtn4P0eG10t/8AWR3H8c//ALJXoXw4tUl1B0WaSdNLTz/uf6vZXm/xX1mb4VftSWGq6y8F34M8YWqWW9/k+z3r/Ij7/wDb+T5P+mlZz945/wDl4Z3xk+LNn/wlfgzwHbwwalf+MNR/4miPv8yO1tU895/++9lanxc8UTeLdYms9NeSdN/7iZH/ANY+zY+z/vivOvD/AMPrPTP2qNV1jVNYtdJuf7IfTtIhuZ/L8yZ5/n2O/wDH5der+E9B/wCJg9n9m8hLOB9iP/yz/v1p7RF06f8AOQ+A/C//AAiXh9EV55Ly4dN7zVvea91ZzJEiRzRpvfen+sTfT7iN4rCZIk8y5kRHT/ppVTwvdPdSP9qfyH2bE2J/q6wqVDpINQ3y26eaiSQ7PnT/AFn8dVrOJ9Lkfyn8t/v/AD/3PPqzrkb6Xp9zDFNBJ9o+T/ro9U47+a1t33+ZJNs2f9c6YGwkry6eiedBsjRPMRP9ZJ9+pvC+vTaXrCSWqTyfvN8e/wDufu6wbjWftUaP9mkjaP53dKNL8UP/AKN9lSSN/wDY/wCWlZk+zP1j/wCCeniL/hI/gCs2zy3j1CZHT/viveB1avlv/gk7rE2qfAHWPO8vdHrTj5P+uEFfUw+9X6tk8ufCwkfiWcU+TG1YElFFFekecFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFNkjEqYanUHpQB+BP8AwcB/sff8Kx+Oeq39vZp/Y/jiD7VDN/zzmT7/AP7J/wB8V+TemW02ofCh9NVPMufDF08L73/eRo/3Hr+qL/gr9+yL/wANW/sj6v8A2da+Z4o8KI+raXsj3vPs+/D/ANtE4r+Ybx5pafC/49/abhPLs/EEL2UyP/yzf+Cvlq1H2VaUD7bCYj6xhoz/AJPdPB9Yi+y3DpKkcfmVm3Fr5sddV8VLC6sNfud8MkHlv9x0/wBXXKySvL97/wAcrtw/vHHUp8pmyRYkf5/Lo/5ZvtepryN4t+7+/UPz+X837yu/U4Qk2eZ8tFx+9j2NUMnT/bp/muf+2lMzJLe6fy0Rv+WdSybJY6rSReb9392/36fbyvLI+7ZG+z7lBoMk/wBF+df3iVNH+9kR1fZ/uSf6uj/VR/8APT+OmSReVJ8v7vzKWobH6efsE/tjzftF+H0sdWmf/hPPDcH/ABNNj7JPEFknyI6f9NP7/wD33/G9fpR+zP8AGS28b6W9hdX/AJepW6eQ82z/AJBaf88If9v56/m4+G/xS1j4Z+NdN8QeH7240vV9Hn8+1mR/3kb/AP2f8dfrZ+yT+1lp/wAXfDGg+NtFt7FZrOfZrWkb/L/sS5/jff8A9NP4H/8AiK+SzXA+wn7eHwn2GVY6GKh7Gfxn6d/8I4kVn9ji/tKezkf/AI80fzL/AFD/AK7P/AlYOsWFnqmlwp/oN8ml/wDLFH8jRdLf+/v/AOWz1lfAP4v2HjzR0hZJ5Ibid9iP+7uNUf8Ag3/x/u67bx54XmupIbaV9Kurm3+fyU/5Auj/AO3N/feuD44c8Ds+CfJM861CVJdUS+lubW6TZvTUtYg3x/8AblbJ/wCh1hXmoWGl3iTN9utdSvP4Ef7VrWof/GYK7jxBE9hZvqq6l/oFv8k/iG8g/wDHLaGues/Dnm6GjxfatNsNY3vBbTSefrWqb/8Ab/grkqUzqp1Dm5NL/sv7TpVrbSQRyQb59H0d0kuJN/8Az83L/c/26x9Y0uzuo/scr2Oqw6W/3H/0XRdH3/xu/wDy3f8Av1u3GlrpdvDpUttHJbSSb38N6Vdf6fcP/fuZv4P9uor27hi8QeS2m6XqM1mn7jRN/wDxKdPTZ9+Z65fZnVTqHK6papaaXbakt/H9jjfzE1i8j/d7/wDpytq5v4ofD7Ste09/7e0rXI31hHSC2vJ0utW1T/b/AOnVP9uOuwvJfNuJtWW802d7d/8AkN3if6Jp/wDBs0+F/v1z2qQ6b4clfbbXUP8Aaj/6538/XtUT/wBopWEzopnjOgeHPE/7N/ii30vxDDJ4q8GbPtVreJdT31v4bT+BNT8hN91+7/j/AO+69avNQh1SSx1WLVZLqzkTY+vX6f6v+PyNMtk+49Q2V1qXhzT/AOzbOzksXkfZ/Y+mzv8Au0f7j3tzXi2ueDfEn7N3iu/17wbeWt1oO931ezhT/QNPd/49J3/8t/8AY/5aVpqaHtdv9ol0u/8AD2lpqWnW2qI6PbW3/IW1RP43vbn/AJYp/sV47b/CDxV8INYvNV8A3+m3Wm2d1509neT+Zplm/wDctn++k9er+C/ih4f+I3wzSbR/EMk+iahP/pXku8mr+JLp/vwP/wA+v+2ldLJdJLeWy276bs0N/wBxpSIn9maP/tzP/HPWAGH8O/G+q3Xh+w03xR4b8R+GX8SJvT+0k8y48SOn30S9+5XQ6xFqX/CQW1zLDpUD6HA6QQ2z/wDEs0f/AOPT/cqHx/YQ/FD4XvpuspfTaPrF189/M6fb9UmT/nyh3/ua8o8N+Dfid8NPECaPZx6V480q3f8AcaJf6j/pfhv+481y+yB3/wBiSq9mc9OpOPxnq8nnRW81/cPPO/iD5JJpk/4m+qJ/c/6Yp/crz34gfs5+GPiDcPYXVha2upWaeYl/bfuI/D8P9/zk/eTT1W1H4yJa+IP7HvLrXPDnifVH/wBKh1h0jv8AUHR/uQv/AKjZ/wBc67/w/a/2pIn2fR7WRNP/AH720z/6Jpf/AE3uX/jf/YqdfgOj3OQ4/UPBut/D34RvD4f8T+INYhuH+S28SWsH2vVJv7kLw/v/ACP+ulcx4f8A2m7n7Z9m8R+GNY8OXNm6WT3lnp39pWmju/3EtvJ+Tz/v/wCs/wCele36VpcMuoP9q/tKO88QQbN6f8hPxB/sQp/yxg+589aXhfw4+jXkP2X+zYNQ0eTf5Ox49J0f/ff+O6op+8Z/Cedax8ZPh79nhh03WJI7PVPngs7+N7W/1iZPk/0nztmxK6fR9Zm8R3CPZ39jPNp6bEv/ACPMtNL3/wAFlbfxv/t10nxU+HOlfF/Q7b/hINNvvEFtJvgS21W1STU9Yd/7n/PGBK4T4b/sq+EvBFxrTro8NrqVxB5F7cpql1a2HhtP4Eh2Om+Sun2fvmftPcN2OJJZH0q8e6gSR972E0/lyahN/wA99Qf+BP8AYp8mlw3UaaxdX11In3E1jy/9Ej/6YafD9/8A4HXE65+y19vuN+ja94qtE1R9kFm7+fd64/8Af+f7kEf/AE0rb8F/CrW9M8N+Tf8AjrXNS1XR5/nv4UgjsNHRP+XXfsff/wBs6j2fvmntC/qEXlao9hLYQfadQdHg0fz9/mbP3n2rUJv/AGSmXk1zYXE2trf+XZxp5F7rcMHlySf9MNPh/g/39leReJPhB42+0PZ2viff/ak++1hm0tJLjVH/AOe8yb/9R/10rv7nx542l8FqurarY32t6en2JNV/sFPsGnon/PHf8+/79SV75s+F4obXZbW9nJPNb/P/AGPN/f8A+e97NVuOW3iuL+8t9VjkWRP9N1jZ+8uH/wCeGn14z/wg/wAS/DlwltFrFjIkk++Owmsv9IkR/wCOb5//AEZXT+LNH8beXZzaD4k0q6m0t/8ASn1WyT7Bpafx+S8P33/4BU0yuc7bxZEmnx/Y2sPsLxun/Ektrr/R5P4/PvXqb/hKPK36qupeZNHB5Kaklr/q/wDYsof/AGevMfBfg34i2GuW1veP4fnhuH+2wW1npzyXd4j/AMbo77Nn+/Wx8S/BE3jfUHvLDxh4gjmt/wDRft/kWsEdmn/PC12J87/9c0qhfEeo+F9LvPEdvDDZ6bHJDZol6mlI/wC70t/+fq9m/jn/ANisrxB8ZPsuob7i58+51RNk1zcz+Xf6o/8AcT+CGCuV+E/wMtvDmqfZvFH9peLtV1BHuoNNv9Ung+z/APT1N5OxE/3K27z9m7wZ4o8SPeLZ+RZ3j7/tkyPP9of+NLKF/wD0Or+x7hn9v3zZ8WePNN0bw3puq2uveHdVm3vBaw6a/wBqsNDmT7/3Pvz1xfgf4raJ8UPGj+G21DWL7WNQTZBpttA8k+qTf6z99v8AuJXsFvLNa6I/hVtK02xs9Pg+1QabbQeRYWbp9y6vX/v/AOxWJHY2Glxp9nSTSk1B987vA8l/rmz7nkv/AMsYPv0pUyITPK/iB431DwJql5M3h7xHJHb7LL7ZDpf7v5/+WCJv+Suw8KeA/Ems/DZLyz8MWOm6xbv572F5qkFrBpabPkneHY77/wDrpXW3F08tu/lPawf2fsTfbfvLDR0/6Yp/HPR/wlFthLZLaTyfP3vZvP8AvJP+n29dP4P9ijkhEv2k5HjMnw++IVr4g+06kmnWsMk6PapCjzyaw6f5/wByut+Mnw+/4WhGj3/ifxH/AGlZ7EnubN0+z6Wn/PBNiIjv5ldV4s1mGLZf29zPqX2h/sv9pQp/pFx/17J/AlYn/CwbaW4k037Ta2qW/wA8EyJ5lpp7/wDs91Wf9wfs+b3znvh/8AtE+HPiC2vFto5Nb1BNiQ6xJ9qjt4X+R3uf/iK0tc+Deg6NJDNZ208FtqDun2mztUjuNUf/AKdk/ggp9nrM3ijULbR9Jtr66vLd/tX2by/3lw/3/PvX/g/3KxPFHxzs/C95c21xeQed5HkT3jv5Elx/fgh/54pH89Z+4bezOh0fRobXR7xLqGxutNjTeltN/wAgnT3T/Y/5bT18o/tIfsPJo2oXPiT4W2s+la3bp509nbJ/yFEf/lvN/BD/AB19UeC/i/4J8U+C3uIfFWmx3nh9N8FhbWT3Vpp/+5s3pM//AF0ryjxT4t8VeMvHEP8AYeg3Fr5k/mXX/CQ/u7fVIf7838bp/sV0Ua86XvQMJ04VfjPmn4B/8FBLn4feJE03xVYXWj3mx0nd/wDV6g+9P/iK9y0/9q+w+L/xw0rR9SSC+0qz/wBK8mZ/Mt97zvB8/wDf/cTVD+1n+xvD+0hImsa3eabqTxp5M95pul/ZbSPZ9yCy+evkjxZ+zd8Rf2M/HFvrEUM+uW0aJ58KP58lvD/rP3z/AMFel7HDYj4Pcmedz1qXxw5oH1L8cP2Cn0vxJZ6x8MfENraw3iO97pTv/okjpvT5P7jyfP8AJUPgvVLb4feJH8PeMLC+0e28QQQ6da3KOn2CO1RP4Hf77yf+1K5v4L/t9J4jkS53xwQyTpPN9p/5Z/6VvSvpzxRdfDf4x2+i+BvFH9ga/D4L/wCJhZTW1l+/j+1fP87/AH0f565Zc8PcrHdRhD4qJ4bcfDm28EeLLZ1hg0d5NeurpLa2fz47eG1tfn+//wA9K0tH+IM3hzwWltIkc+pW9lZbEmTz5P8ASp9/3KuftMfDnVfAfge21vwfqt14xs/Pd57NI/Pv7NJv3E7o/wDH5ciJ8lfJfxs+KuveKPGiaVpbyJqVxe2t09ym+P7Psg2f/F1VOn7UK2KdA6T9oT4tP4y+In9g2cME95p+qXs+oTJskt5EedNkH+3v2I/7yvpb4Z2tt4N8Pp5sME0MeoanPs+y+X872X3K8T8H+CNB1nWNSv7ez8iG8/sx4N+yS4jd5/vv9ze/yV2uqfEG517U9VmZ4HS3fUJk2fu/tG+dIE3olOpT+HkM8O/fnOZ6foculeHNQsNzwbJL2yR7D/WR/uLLfsf/AG64m8ihutLSzXzJIbiy0lN6O/lx773e9YMvxQ8rxYk10kEc1nqOoPPv/wCWiQWWxH+T+OrOl+I7mSz037Ykcj28+iwSed/y0++9R8J0e0hI2NUtUhj1X9zPPD9l1ad0hRPLjR7rZv8A9+rP9qQy3EO1fISPUX+RIPL8tILL7lQ2d1NqmhvMtzHD5dk88iQp+7k33vyfPWrf6zDa/wBq3MTzxzf2jq0++FP4/IRKk0KHh6VLC401IvLjvJLrTLXznTzP33zv9+mSaWkun20MieW/kfuHh/5aefqNaV5awxeJEsbNI/Jk1u1n+R/7ll9+n+H4n/4R+wmlvJJIfsWmPP5Kf353d60AxNYtbzRrzVYV/ePbpqzvC6fu5Pn2f5etXT9UTS43h1KG6nht55p4U3/u4/Isv4N9Emspr8d5cxeXs+xXU/zv5kdvvvdlaXii6m1m4168vHkktrdNTf5/9Zb7ESCszMyrOwS18Qab5SR/Zrh9MgTY/wDcgd6m8H6Xcy6XpVy15JJ9nTT0dHT/AFm+6d3/APIdX7fw49re2ybLVP8ATdm9E/d70sv/ANirnheWbS7ezS4toJIftVl5H/PON0g3/c/66b60NCnp+jPf7HV/MS807z0/6ab9R/g/8cq54k+2RfaXleOCaODU385/3ckaeeiVj3Hij+y/s0Nukka+Rpmzf/fed3f/AL+Uaff/ANsXE032iP7NqmnXU8HyP+8d73+5WYF/xJEl1car9qSSOzkS5f5H/wBY6QIn/s9TaP51t4ks2iSSR49UtYP3z/6tEtaPEGqPYeH9Ym+xwQWdxBqbz/P5nlvvSD/4iqz2s2teIJraKGSS5+2vOkKP/csqAH6XrT3Wl6bC3zzW72To7/u/M+d3+Sqcdq9hHpMOmvHInkWtrsmTy/3z3T/On/j9blvazXVnpszWFrI9vPZQfY3dPMjdIN+z/wBDql4Tuof+JbDE9rJeRvZPOk0f7uRN7vQEDldQ1TzY3hitvtUd5BDa/J/yz33u+d/n/wA/u6pyf6VcXkKvJ50c832Xf/q5Ee6RPnrpJLX7Tb/8e0ljNJJp/wC5/wCWcb+e71g6Xo00tuiXST7LxIPPvHf95HvvX+TZQBZ0q6mit3hWaSOaSfU0dHf++6QfI/8A8crVuJUtZLmz3x3yafJqD7Jk8vzIURE31g6HdTXUc0ctz5+myPs+0va/3737ldVql+11pdzNYfuIZHukmTZ5kcm+6TZ/8RQBc1iVNG+33m+1he4+1QfPB5fl/uE2P/v1NrlreWsc3yP52nz3XnO//LxstUSs3XL+GXVNVs5YZ5LCRL10ff8A6ve6QbKv6pf3lrZ6rGqee8b3qI+//VuiQJ/lKAKGoSpFHM8qfaoY0mgn2P8A6x0tUT/P/XOruqaNYRXF/YS3P2VLNH2b/wDrgkCf9/Ktvs0vR9euVhuJHjd3RNn7zzndE/8Ai6rXMUms6o72qfPqEHz/AD+ZJHvuvnrMC/eS3MWuJuSCRJLp4J/+ecm+dNlXLiW80u3heKG3g8y1eCB3T/V/uHrN8L3SaNrlzctN5ckc6TIiP5kcf+vfelZvjTWZLuN7ZrnzP3Gz5/3ccb7IKr2YDPHGs3OqXD21m0kk3zp87+R9x4Eq54Y1CS1RElm89Lid4PJhk/6en+/XJeKNUh1S3RLfy/7Qkuv4H8zzH+1J/wDEPXYeHInijd7h99nH87zP/wAs/neStPZ+4V7Q9m+F/wDxK/C6JK8EDyOn3P3keyuk8UfCXQfjT4DufCuuW0F1pt4nnwO//LvMnzo6V4Po/wAVYfG8kyWv2WOaP5IER/8AVon33r134f6zNFHYfZZoLqGNE89H/wCWe+uf4TGcPtnnuj+DdH+Mmn6r4f8AEGjyXWt6XO9rdQun+sdP/Z/uOlQ+F/honwW1B0uNYvr7Qbd/3FzeP5lxp+/+Df8Axwf9dKoeOPG83hf9tzUry1W6js9Y0iF7qaH/AFck0E+z5/8AtnXovxAisNU0N4bjZJZyJ/y2/wCWkL/frPk+ybf3yzql09pH532aPZI/8f8AyzrnriwS11yaZX8v5PuP+78uof2cJX8R/DfUNKv7yeS/8J6i+nJNcp/x8Q/fg/8AIddV4s0Z7+zS8tU+1fJs/wCeckdHxBTqckzldYtklt13PBI2z5N/7vzNlQ+H7D7VI+3zJIZI99F5dTRXDws8ckMf3IXT95/wOmWe+KNHtUjkf77/AD/6v/cqTYi8UeHJrC3e5ZJ4/n2fOlJo8U0sdtCqQb43/wDQ637jxRDqkiW0vmTts2O8yeZWfJa20Vwk1m8kCbP40oJpn6Gf8EjZM/B3xJDsjj+z6un3P9X/AKiOvrw18j/8EkPJl+FPip7fy/Jk1dPuf9cY6+uD1r9QyT/cqR+LcQf8jCqSUUUV7B5QUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAQTcjn+LrX86H/Bw/wD8E/v+FJfG+81Kx0qe18M+M3fUdFvIt/kWc/8Ay9Wv+x+8fen+w9f0YN82K8L/AOCgH7IWk/ttfsya94H1LyIL+aP7VpF46Z+wXif6t/8Ac/gf/YkevNx2F9tC8Piid2V436vW974ZH8jHjDS38ZfDiz1K4fz7/T0+y3v/AEz2V5RJbeVvRvv19HfHj4Oat+yl8ftS03xDps+l+ZevpetWbp/x7zf/AGH8D14r8VPDk2l6w6KvyffT/poleXhpn02Khc5mSJJY23fu6zJP3Uj7auRxfc/uUXlr+737K9SmeXUM2TZ5ny0+iSXyt/yUyOWtjnJvn+4tFxa+bsdZPLamfav7v/LOmeb9KDQf9q/efMnlvT7j97H/ALFQyfvdiUySV4pPL/1kdBn7Qf5X/bOvSP2Yv2ltX/Zq+I1rq1qv9oabcf6Lq+lSSeXb6vbf88X/APQ0f+B683klSWT7/lvR5v0qZ04ShyTCnUnCpzwP3J/Zk/aVtrmw0vxV4c1u6uvDHiBPkvJtiSWb7/8Aj12fwOlfffgfxRD430ewfZHO8n/MK2f+R7mv5rf2Jv2xLv8AZe8dPHew3GqeFdYIj1axJ3+W/wDBcw/9No//AB+v1+/Zg/a4iWw0240++TXNF1tE/s+VH33mr/8Asif7aSV8ZjMJPB1NPgPusHioYyFvtn2prlhbXX2m8Z/Pv9P+d7+ZPLsNP/64p/G9eaeKLCz8L6hNf2tzdWqao/8Ax+XKefq2qb/4LZH+5Xotn4t03xvp8N4t/axvZ/8APyn+gaP/ALifxvXN3mjQ+Y9y1/daU9xP5H2+5/f6nrH+xD/zwSuKt7500Z8hwElhqWg6pbWdqiQQ3k/kT6PZyPJf6gn8DzTfweZVDVN9rZzWf2a1vnj/AH6aPC//ABLNPf8AvzTfx10niC1Tw5cf2CyeXJefOmiaU/8ApeoJ/fuZn+euS1m6m1mR9NbTY9VfT/v6VD+40zR/+u038defU9w9Gn7xDHfpdW6Xi3NjqTxp9ln1u8T/AEDS/wDYtk++/wDHsqvL4YT+z7a8X7do6XD7EvJk8/XtY3/wbP4E/wBuk1DVE1m8ubn7fpt1c26fv9VeD7Lpmjon/PFP43pml669hcQ/Z7nVdNS4dHnvHk8zVtY/64/7EnyVJ0E2n6C/l/2Da2HmQ/6//hGLN/3f/XfULn/vj5K57T4rnVNcmv8AztDgh8P/ALie/e18zSdP/wCuKf8ALZ66HXNLuYo7ZPsEFrNeJ5cHhuwuv3lx/wBN72b/ANkqhbxPfx3L29zY6xc6P+/nufI8vSfD+z/pj/y2epqBTOM+NHhK5upLPXvCtz/wh3ifUH/5CUMEEd/4s/g/48k2J/22k+evPfD/AMeJvDnjS38N+MtHsfB2sbEgT7Tdf8UzI/8Az3eZP+W//TGSvcreJ5dPm1uXULq1s9QfyH1t0/4meqf7EML/AOpSjT7qw8JW6Wd1oMepPZ/v7XwxMn2q3jf/AJ7Xsz70rP4vjD4fgGf8JRpthcPqsuqyWttsRP7eR0ku9QdP+WFlD/An+3Rb+I7CW4ht/wCzbWO8uEeey0qZ/wDR9P8A791ev/f/AOuleD/ETwRqul+LLnxP4DfTdHtY3efUbBEf+ybd/wDnhZb/AJ9//XOtP4N/F/TbqBdN8UaJrHhW/t0+1f2Jf2M8f9qO/wA/769+55FR78Q/xnoPxB8E+Hvi14bubbWf+JxYfPZXWvTWvmXEmz/lhp8P8H+/HXN/Bv8AZ48W+EviAmj6b4wjfw3G/npoOtpPqX9l/J/r5nR0/wBZXbf2zDYafDqS3Nra3kiIn9pWaefaW6f8+tlD/f8A9utmS1e/0d9KaGe6ttn2r+x4brZd3H8fn3s39z/Yq6dQU4Hkni39oHXvhz4o1WbWbOfUkuJ/st7r3h5HvrfZ/wA8LZ32Sf8Ajld/4T/aw8N+J9DS2bWNHhht032uj3909rb6fs/5bzPs3u9ZVxfprNveP9vsY0s08iDUtnl29v8A9Otkn/s9Hhe/ttGjdNNtp47a4g/5A6bPMk2fx3k3+s2VH+Av2B23gv8AaC026s9Wv116efzES1vdST/j4vH/AOeFt/cT/rpXSaf43eK8S2ittNuvkSe103z/AD7DS/8AbuX/AL/+xXzZ4g/Zk8MeJ7ibWItY1LQ7yR3+26rpsjwW8f8AsW0KV2fwz+Eut+DPB82lW/j/AFy6ubif7bB4eudLgvv3P8E/ybHhf++8lb06nMY1KfKe0yeN7PS7x9r3Uj6g/kT36J5d/rH+xbJ/BBVez1S2tbjesOmwTWaO8Fmj+Zpmjp/fuf4Hn/2K+brOL4u3V7NftrHhmO3j/cT3KT3Uc8mz/lhD/ff/AK516F8QNL8W2Hwz03+w5vD+sXkf+mz+G5oJ7W/uH/6bfO8Gz+PfJR7QOSET0LUL62utDf8A0meO21z/AF8yJ/xM/EH+xCn8CVTuLq5lvNN01Ujtf7D+fZNdb7Dw+j/OnnOn3568Ws/jJ44ij1WZfC/l38j7/wC1YdU8z7Qj/wDLCHenyf3K7DxBrPiG1+HejzS+CbG11STZs0Sw1dL77Q7/AD/apt//ADz/AI/Mej2hp8J1v2COwt323Wpf8TR/I+0zJ/xM9cf+4mz/AJYVm+VDYbId9jBNpcGzfN/yDPD6P/A//TevH9L+N3jCXxA83/CPaxB9on+yz39zfQQf2hs/gtn/AOef/XOvTviHYeKrXw/pUP8AYnhmxe4TfBo+m6v9qt7dPv8A2qb5P9//AFlSaGl4f8RzRafDZ26TyWcj73htn/0/WH/9kgrS0/WXu9Qm1KX7LHf6e/kfb0/d2mjp/cRP4568l+E9/wCNovGC6lLqum+GbCR9k+tpZPfXeqJ/cRH/APiKPi58JfGHiPxwj6Xr11BZ2aJew2epJB9os4f77/wJ/sJsqYfATU+M9vs7rzdH3ro899DI6T/YJn8y/wBY3/c+0zf8sYP+ulU7z4oTReIHv7W8+1TW/wDoT3PkeZ9nT/nysk/6Z/364P4N+DE8L6Pfv4j8SeI76w1x9n7m9nsbvWJkT5NltD99P+ulcBqH7NMP/CQPfxal4gjazTz5/tN7NJb6X/cT5P46ftPcJhT989g8W/FDSrC3huZ7/R40kf8A0LR31fz5Lf8A6er3Y/3/APYrB0f45+HpdZmudZ8Zz6VZ3j7LrWE/4/8AVN/yeRCifOiVkXHgiHxH8OLPwjdaJpUdheO86WdtZJHcXn/T1czffrP8D/BGx8G6h/b2l20em20afv8AW/sqSR/aU/gtk/8AZ6jnL5GTfEz9oLR/hzrEyNqscaae/wDoW+1nkt7dP4Jk3onzyfP88lSeBv2jP+Et+02el+GPEGq3N4/2q18nyLX7ZsT5/O8755/+2dbV7oL69qlzeS2E/wBvvE3/AGO5n+1SWaJ/y3uXf/0CrOh+CLPw5bvftc3U/wBokTZNbJ5F3rH+wn8fkf36zL9mcBrnxV8W3Ub/AGfw3YxvJO8El5f6p+7k/wCmEKJ8+ytXUYvGfjLwPbSapf6bY6xZwI86abpaf2ZpaP8A3/n+d/LrqvEFh/wjmuzJapBY3kf+vubZ0nt7NP8An1h/6afcqbQ4ptHktrO3hgt/+XqysLl/3dv/ANN73/4ijkD2ZxPwz8ETeCNPvIb97rxMmsJ5Dw3P+vuIf4HTZ/qUj/v1N4k+A/hXxbeJqt5pVrOl59+bZ5ke9PkSC2T+P/frs5Lm2ijd2uPLW8n2T3KJ/pesTf3If+eMFYkniia233nmSSXkb7IJkfy4NHR/4ET+Oer+E09mTeH/AAQnhvZoLJBBDo/7+Cw8xILTS/8Abm2fff8A2K6qPRra6tLBGtrjUkuH37H/AOPvXH/9kgrj7fxbZ/2glh5MH7ydJ0try6/4+H/v3L/+yVieMP2m7bwZo9/eNqtrdfaH+y3U1s/+kXD7/kgh/wBj/bjp05mdSmeo+anhy3mS1+wxwxps+2TJ5lvp/wD0wtk/jeuVk8Lw6zI+jrbf8fH7+ezuX/d/J/y3uX/9ko8L/FC8+Ofhv7ZZw6Ppt5p8CQb9Yvfstvp6J/zxh2ff/wBuSTfXB2fw58W6pqFtDq2pfZdNkd3+x2afvJE/57Xrv8//AACrnUIgee/tWf8ABPHQda8Pv4ks7CTTZtQd3gvLZ/Lk1ib/AGE/ggj+SvkD4X/Ebxl+zx441J7xbrX9NuH8ifUrN/3cez7n77+Py6/U/UPAfhLxR4TS2/sqTVYbz9xPfu8/2jUHT/lhDC7vsT++9Vv+FS6J4j0t7aWz0eB9D3pPeIiSWGl/9MLZP+e9erh8V7nJM86thff54e7I+Xfh3+3Wl1b3NzFNawTXju/kon+redN//oaf+RKp/D/S9B/av+JmtwxQyaVf272v2W8hfyPL/jg3/wB/95vR/wDgFdP8cP8AgmT4e8ebJvD8M/hzxDeJ58FhC+yeTf8A8vVzN/B/uV4bb/syfFH9lDxQmq+H7mPxjpvnp++sI/8ASLh9/wDBC/3/AN5WfsKcvfoz94qc63/L6Punofxs8EeNvg34T0p28N/2x5eyd9V0RH8uTyXd03w/wffevJ/C/wAVba1s4U+1Rx/PZeeiP/q/n3v/AOyV9TeB/wBubSviDJNbNc/ZdY0eeZJ7C/g8iSPY+/Z/203zVe+In7NPg34g6pfaxFpUOm6rqG9Lq8trVP8ASE+T53T/AK57P/H6Kdbk9ycQqUJy9+jI+Y7fWH8R+E7y5ivPIeS1upHd/wDWb7qfZXQ3mqfZdUmmle4kS3vXR9/+s/0W12fcp/x0/Y8+IXwSvJJvDr/8JF4buH2T7I/Lv9P2fOm9P7n3P9XXAR/FW2uo5ra8T/iZbNQeb5/Lkt5nT5H/AO/f8FdXIp/Ac3tnD3Jnovhf4gw6X4fewbUpJJryy0+B32f6t3ff9z/pnXWx/GCbxRo2palE8Mf2yy1O6vdiJHHcb59n3P8AgFeS6fFZy6pbXVukmyO6tUnmR0/0jyLXf9yqdnF5WnvuuZ43vNLskf5P9Z58/mOlT9Xgb08ROJ9ReHtZsL/WHfzIN/8AaiQb3g/dx7LKprO1S6uPsavJdJeQaF86f8s/nrx/wv8AFBLCTUrm6mk2R/2nqKIif6P5yJ5Fdh4H8R20uqaUktzHB5c+k2P3/wDV+Qnnun+5XHOmdtPEcx23g61m1mRfsqWMc15BsRE/1km/UdmyrOqap/adu8MUMkk0enXsDun7zy/9N2bHSqfhfWbOXT0dbb99Ha2Tvsfy5I9969atndQ3WoQwskljNeWux9n+v3z3v9//ANArM1DxBfvHJcw3TxyQ3H9pzwbE/eSJsRN//wAXVPULV7C4v3ieTZHPevA8P7v/AFFl990p+qeI38R6Wm6GCOb7K+x3/vz3ux99UdR8R/ZY9V3efJJImoP86eX5f79EoApR6pa3+qaVeKkmyR7W1/fJ+7k8i13v/wADo8F6DbS6XpsNvdXUcNullBBsf/SLfz7rf9yrNtFYXWuXLs8kf2fUbp08lPM+eC12VleG9LXQfFltZ2byXTyT2tqn347j/jyd6ANi4l83wveR3T2sk0el6g+938vzEe6q5eXSSR373DpDDGl672zv/q9kCIn/ALPWPoctvN4f0d289LnVNOtbLe7/ALy433VM+1PdaXeJvkurySDULr7Yn+sj3zpBs2UcgHQ/2pbRah8zxxvbz/f3/wCkfJZVdvNL/wBDsJolgnS3e1RPJ/1mz7E77K52TxHD/aD3MuyS236gn/XPZAiVf/0yXVHe4eSCGN38jZ/yz/0L+OtAM3S79JbjSprx55Es30yB3f8AeRyfI8lTafL5l5bWeyS7SR7Lz0hf/Vw73f8AjqtZ7Iry5hVJP7S3pvmT/lmiWVP0e1+zSaal091BeR+Sn/PTzESy3/JWYDI7a8tdLhm86O6uf+JZshdPLjkR3d3/APZKfZ2sMTpc2qSR/wBoT2qPDD/yz33rvv8A9j7lMgkeX7A8s0ckkaWvyO/7z5IHd0f/ANkqz4P1R9GvLCZnjjsLP7FBBM6f6x33un/odaGYaPLbazs3J5D3kGxHT/j3jmnvfn/9AreuJZr+4d4poIPtH2rz/Of/AI+Ee6TZ/wCgffrE066ttUjs0lufs/2Oey/0bZ+73vO7/wDkSn+H5YYk0qbzpILa4dIIP3f+r+ed6zNDY0OVJdYsJriafzridPvv+7k3zu/8H+5VzR5YYtPtrlLbzPM2SbER4P771zej3M2l6fYXMU1xHbRz2v3/APln+4d56m0+W60vTE3PJHDGj+RD5/meZ+42fJ/1z30AaWsXSRWbzMsEb29lsR0f/Vv5P/2dY2oRW0WqPtT55J/In/6Z77pNn/oFXvFMVt9odGSOS1j/ANR/z0j/AH6fJ/5BrAv5bnxlcQ/aEjSwjRI7rY/7v5/Mn/8AZ0rSnAzmQ+F4kv8AXE1hbOCd7OD7DA8Kf8fHzu/yf+OVlfETx5NaxvpVm/mQxvvk+f8Ajf8A+N122qSzeDfB6xq8e/Zstdn/ACzRP7ledapdWt1Il8sPl/bIHnfZ+88t/wDP/oyj4p84VC54P0Z4ri22vJs2b/O3/vJE/wA7P/Ile2fBqV9LkfVbh/Pht0f50/5af5+SvB/AdhNLrltNa+ZPNcJsR0f/AFez5H/9rPXefGTxu/gf4T/2ba3MFjNrDvawWyP5dxI7/wAdR7P3w/5dlP4d/Hh/jn8T9YewSCPStH1H7Kl46fvLh0+/XrXjDxGnhKNNEuLqCe5uJ33uif6xPvpXgPwT+HP/AAi/wnsE0t5LdLOe1svn/d+Zvf8Afv8A+h0zx543ufC/g+/eweSd7hPsunJv/wBXNv8Av1Hs+aZovch759A/s5/Eu28ZeGPGF/apBBptne/YvO2f6zZXW6H43+y6X++SS6h37P8ApnJXl3wT+Hy/C/8AZ/8AD2iWr+ekifbb3Yn+sun++9dJqF1Na+E0SH/XST/Jv/d+XWcKYvi+I7m80Gz163d2h8j93s31zdv4NubCTzGm89/9uq3w/wDFFzLFNZyvJsjR0+f/AJabK6m31WHWbfyWeON5H+R9/wC7rOoL34nIS6XDayP5rTwPI/8ArkT/AFb1Np/hKS11S2S4uZJEk/eJN/z0rqvEMXm2TQxP5k0n/Lzs/dyVT0+JNU097Zkgjmt337/M/wBXR7M09ofen/BJbS00z4Q+JGVo5PM1o/Mn/XGOvrOvlv8A4JQ2j237PWqs/wB6TXrk/wDjkNfU2M5r9SyOPLg4I/Gc+nz5hV9R1FFFeoeWFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB+Vv8AwcKf8Ewrb9oH4b3HxW8Oab9s1jRbLyfENpCnz39kn/Lz/vwfx/8ATP8A3K/nxOjZ0u68J3kcc2pae/n6XM/+suLb+5/t1/apcWkd3bbJE3xyfIytX883/BwB/wAEd5v2avF7/E7wDZyR+DdYvfPg8n/mAag7/wDHs/8A06yf8sX/AOWf3P8AnnXiYrC+yn7WHwn0WV47mh7GfxH436payWt4+5Pn31TuJUlj+Z69F+IGlW3jLS31iweSObfsurby/wB5bvXnX2V/4k/74q6FTmNK9PkIdQtf9j/Wf36p3EPlb60pJc//AGdVpLVNm5a3p1DlnApx/uqf5uB81Mki/vfu6bWpzjvMp1Rf6qOjzfrVezH7QJIvNko814o/+elEf72Ol/1lUZCW8ryltyeWkdfQf7Ev7Zv/AAz3qV5oWuyXdx4K8QTRtqC2x/0izf8A5+Yf/Z0/j/4BXz48vlR7KI9n3G/eJWVahTqw5JnTQxU8PPngfvl+zX+02+l29hD/AGpDrFtqECXWlpD+/sJE/vvNX2ZYeMtN8UWf9pabeQQXl58l7qsyeZ/wC2T/AON1/Od+xT+3Bc/AG4HhvXZLq+8D3k2/yd7v/Zk/H+koP7n9+HvX6wfsn/tXvYSWENxf2OpabHB52n6kieXpluj/AHNj/wAdfD4zBzwc/wC4fe4TFwx9Pnh8Z9Z+NLBLXT0hW5vtKs5H+5Z/v9T1Tf8A7f8ABXnvinS9b1m3h8NqnmJb73g8N2E/l2lv8/372b/2TfXpGl+Mv7U0N9St7+7tdNvPkS/hg8+/1R/7if3E+5XPeOPBtzFp9to95bR2L3jukHh6zfzPtmz+O9mSuCpT5/gOyjU5PcPMZLW81kpc3Vza3X9lv8m9PL0XR9n+x/G9U9Pim0u9e/W+voIZESD+1bm1f7Xef7Fkn8FdzH4ce6vIbD7Na6xNZpsSzRP+JToez+N3/j/7aVlah9mtJLy503W5L57f/j68STI8dhbp/wA8LaGuH2Z3e0K1tpkP9lzWF1barpUOqP5/9jo/manqk3/TzN/BXPa5FYXUaWdvZ/2kmn/O9hbTeXoulon/AD2m/wCWz/7FdPZ3VzFpaabFb3Vjo+sP/wAu37zVtYd/nf5P4E/66USWsPiO3fSorCS+h0/9/BoMM/8AoFn/ANPV5N/f+58laezD2nKYMmqTWuj/AGy4eBJrh/sqeJ7lH+0SQ/wQafa/89P9uotLsLnVNP8A7N8m6uoZP36aOieXd3H/AE3vX/uffrR0ua5uo31K6uY5PM/cJrD/APHvH/sWSUXEqWuuP/od1Y/aE899NR/9P1zf/HM6fcT/AGKz9mHtCL7BNfyPCuq2M76emx5n2f2Toez/AJ4/89nqCPxO+l6W8LfaoPD2sJ5D2D/vNT8WI/8Af3/cSt7VLW5tbhEvE0qTUreDelsiJJpOh7/43/v1j6pa+bHNqVrquqyW15+4fW5rL/T9U/6YW0P8EFb+z5Q9pznhvxA/Zk1jwReXOpfD7WI/Dk1miT3VnM73Wg6Wn/A97pP/ANc69D8P+N/HPhb4D/bPEfgm+tbe4/4+v7KvYJ7jVH/20f8Af7JP+mdbWnyzRT21mqWP9paf8kGmv/x6W/8At3u/5HetKSSSwvHvLq/utmsJveZ/+Qtqj/3LJP4IKyCcTxbS/wBozwr4t8V20OpXNro+pb/sv2a5R4LfQ9n+w/338uun8SeKPDcWqTWdhrVjdJ997NH/ANP1Tf8Axzf3E/2K6e48EaV4o3pdaba6kmlz+f8A2U6eZaaX/wBN5pv45/8AY/6Z1N8VNM8N/Fr4b6bZ65YQaxYWbun2xLVLWSPf/wAsNPhT5/8AgclT7M09pMzPD+qQ2Go711KxkudLT/TdS3/6Bo6P/AkP9/8A26nt5YfL2NbXUCSR+fBZu/8Ap+uO/wDy3mf/AJ4V5jZ/soW2l+OEs9B8W+I9NsI59/2aZ01K30f/AG5nmrV+JnhzxVa+IFm8L63a6xZ3CbPtN/ZPa3GqOn8CbN/yf7dYfAac538eteVrk1/Ff6bHeWf+vvIU8u08Pp/chT+N6uW+g/b9UtrawsLqO2vP+XN7r/T9Y/j33L/wJXnvwz0XxJ4t+0w3Vhof2/T4PPg02HUfLt433/xvs2f9/K5XW/i14wsPGE1tL4V1y+h+27L25trpJ49Uf+BIXT+CrpinOB7lHEl152qxTWv2azTyHvIf+PTR4f8An1sk/jemaHa21rH9gihvo01SP9xo83/H3qkP9+5m/uVzcfjLW/Efw/s7lfA3iCTVdLn3pDD9lgtNL/23h37/AO589cN4b/aq8rUEhutN8aXWm3ibH2ac/wBv1R/9+th8x7NeaXZ6NJcpstZLyz2QXusb/Mt9LTZ/x5WSf3657WIn/sNLBbOC1huNj2ulI/8ApGoOn/Le9emfFi/ufC/hfR79vD11BeSJsstKREnj0NH/AI5vn+d/+ulcT4T+JcnxG1x9Ps/DfiDSrnVEdJ7m/wBmm3GqOn/TaZ9iJWNQVOf2z0KPXpra4e8i1Cx+3/6jUNY+y/6Pp6bNn2WFP7//AFzrSk0ZP7P0pLezn1K2vPnstKmfzLvVJk/5b3P9xK8x8efEHxV4IvLaz1TwLrkCaXau9lo6eRdW+l/7c0yP9+T/AKaVpfC/43PrPhi8hbwlrkE2sT+Q9y97Ba6neJs3/cff+7/g/d1Q51P5DtpLWa11C/vPOtZ7y3k2XusPB/yC9/8AywskqnqHiN9Bs7aGKw+1Qx/Pa6JqU/8A5NXL/wDoCSVwcnxL8f6XePDZ+DILW20t/Igubm9g+z6On/AN++et7xx8PvEnjy2T/hHNV0Oe/kff5L6XPH/an+/vd3mT7/zybEoDnOht9fhtdLv7Oze6js9UfZdTQp/pniCb+5Dv+5BT5/HkOl27zMlrHrEbp5HnIn9k+H0/uIn/AC2nrj/Bfw+8T6Nqltf694/1Xw/bRv5HneHrVLW4uH/59YXffvSmeLPgZqWqeLEuW8SeILH7GnnojvBJHpe//lvM6Js3yf3KA5zsPEGjaxFodtrC6bdR2Fw+9LN3/wBIuH/573rp9xP7iVzGh+LV1TVEubjWLXSppP3H29/kkuH/AOfWFPuIn996yrP4N2Evht7OWHxBP/aHz+dNql1Jq+qf3/3KP5EMH+3JVDw/+zx4V8Jaz9sito7eaN/I/tLZ9rnjf/n1tt/3/wDfrMqn/ITeOPjJoPgLT9NsF1vw/fTR/v4Hhn8y009P9/8Ajuv9uqHhP4++D/GWn3Om29hqusP5+97PR4Huv3z/APLa6m/gTzP4K6HXPhzYaz4kmS8sNHjubdN8n2xPPt9HT/nvM/8AG/8AsVc0PwQthE9havPHbaw+/wCxwv5f9qQ/895v7kFAe+ee3HxG8Z6pc3T2Gm3Uk0j+RBf3KeRHJ/0wT+PZW9rng7VfEen/AGZvEkEibPPntrbS4LWw0eZ/v7H/AI5K6W38JW2lxvfxTSTpcP8AZXvLb939o/uQW0P/ALPWjrmg/wBjaWlrKkdqmnv58Fs7/wCj6X/tzf8ATeg2POvD/wADLywvLma6vL7XH2f8e2pOkkcifxu/8CV2Fv8ADnRJbibVYtK0O0+0Ilkj2dr/AMfEKJs8izT/AKZ/366GPfJ9ms2trvUrPVH+1XW9/LuLz/bf+4ldVZ7Irx5ri5n2R/6i8tk/8lbKH/2tVUzGp7pg/ZUtd/2i202B9PT/AFKJ59ho+/8Ajf8A57XX+xU1x4cm+z2ySpPGmoP9q+xzf8fFx/09XL/wQf7FPjkTyv8AR7+C1h0996Qv+8t9L3/89v771qxypL9jS8t57p9Uf/kGzP8A6Rqn+3M/8EFbEmJpdg/mb2eeR7hPIgmto/8ASLz/AKYWX9yD/brY0eX+z9Pd5bm1gTR3dPOT/j30v/YhT+O6/wBupryVNUkmv2uZ4/Mf7Le3m/8Ad3H8CWun7P8A0OmfapNG8QfaYra1gfQ02Ijp59poe/5Pn/v3VVycplOpzEOuaNHqtxbP9gjk+0fv00p33yXH/T1ev/c/2KoXFhNf2814k0kdnI/kPqVmn+kXn/TrZJ/7PW3Ho1/dSTWf2a+kfUP+XOZ/LuNU/wCm9y/8Ef8AsUW+l20UcaX9xJG9u72T3ls/+sf/AJ4WSf8As9Hsx+0PK/ix+zJ4e+I2jvbatoOj2l5p+x4Xhd/L0f8A74+/PJXksH7MnxL+EGuTX/gXxVHqVhJA/n6P4huv3lujp+/fzv4P9yvrT/hHIdL0u5uYntbV7N/3iJP5lno/+/8A37que1Tw5bRbIVt/3kj70s7lPLuI3/5+tQf/ANkq4VJxM/clseG6F+2RZ6NcWdh480q68HTa5Pa/PN/x6SIkHkTfP/00+R/+2dX/ABx+zn8Mf2r3TWJUsYNbjTZZX9m/l+Z8+z99s+TZ9zZ5n/PSu/8AFnw50TxlHNba5pcGsWeoJv8A30Hl3Gqf7+//AFNqleJ3n7G+peDdc+3/AA58Q6roc14jxpYOnmaZqD/f+RH+5B/t1rCpH7HuhUp/z+8eV/FD9inx58ILd7zQbmDxBpseovPPbInkXdm/3N/+2n30rx/TPFsdrcf2VqS+XcxvDA/2n/WfJPv/APiK+sfEn7Q/jn4QXiJ4q8PST6TJA7prGmp59vJv+f8A8hyJ9+tLxx4I+Gv7a/htb6wtrGZ7ef7Ul5bbILuP9z5nyP8A99psrqp1px/jHFUwvN/BPki41Saw8PzOtz/rLKZEff5nmJ9q2PXT/wDCb3N1qFy6zXUCefe3SJs8yOPZAkFdD8eP2HvE3wq8Jza94XeTxdYSfJdWaRpBJbo/z+dD/f8A4Pk/36808H3X/CSahv3wRv8A6V5+9P3ke/Y//wAXXV7k4c8Dk/eQnyTPZvC/xL8rxAls83+h2aQv87/6v7LB87/7nmPXeeG/iD9q8P2CMkkb/ZbJLre/7v5N87/7n8FeG+LLWG68WXM2lzR30Nw7wb3T/ntOif8AxddJpevPFp9yivHImoWrvPDNH5f35/ISuOdE9GnXPV7PWfsr6TNE8cdts0+D/SX8yOP53d0/9nqvceI0uvD9/cs9r9pjRJ3/AOnfz7r/AON7K5S41TzdUubxfI/0N7p4POdPs8iQQeQm/wD8frV1PVLPS9Q8lpJ49NkfT4NlsnmeX5EHnvUexN/bGreX7eZeTWqxyQ+Rqd6ly7/u977Ef/gf+xU2narc23iC2uX8+Sa31dIPJR0/d7LX5HSuMuNL/tTw/CkVz5D2dlD57u/+ree6310NvE9hcXMy39rHDHqOoXqXKP8A8e+yDZT9mEKh0PhfVZtGk0T7UkepW0n9nwb3T93Jvd3fyf8Ab+5V/wAPxJqml2aW80E8n2XZ8iPH5iPqNYOn6pDa+KLD94kiR6jbeRNC/wC7kmgtd87/APj/ANytjw3F/Zfhu2mtbn57h9MtfJd/Lk+d3f7lc5pTqE2r6N9ltNShVIPOs01OdP8AlnJJ+/RPk/260tR1RIvtkzW0/nST6nv3p/q3SBErNj1RNZ0OGG1m8/8AcJPs3/6vz73/AOwpmoa8l/Z3EzXMk/2j7Ujo6f6zfdIm+gBmuRLdXDwxeRG8f2pHmhf93cbLVEo1yKbS9QdIv39tI8z7/wDlnHssqp+KPtN1Jf2ypJCl59t8h0/1fzzpHvp/iCWaHw/cvK9r50iXvkPC/lxx73jgTfWcA9oM1Cwm0vT3+zrBI9v9q+4n7zYlqn/ove9XLi1/sZLyGJ7qSHT9kf8A073Gyy/2/wDpo6VZ1DWfssd/cSpBbvJBqDo6f6zzn2QfP/4/8lQ+bbCO/wDnkj8yC6ff9/8AuQfx1oBNJaww6ejq8f2mPyd7u/7uTyLXf86U+3tYdUuLZGuZI38h/kT/AJZ+TZfO/wD38ermqWFzLH5Nq8EjyPdJ8ifu9/yI9ULi083Vb+2imgjh1CCaBPJT/V/v0TZsrMCG4uofMRGSeNreDyNmz/V/uET/ANGPUOp6oksb7f3cNvdOm9/3nmfPv/8AIkcNP8SXX2XS3v4kuI/tH7z5J/8AWbPn/wDiKyre68rS7iwb7KkMjukEyfu5Nn+//wAAetDSYW+oJrNxcwq/kXMabPnf/V/Js/8ARkz10XheK30uO5munjjs43/cbE/1mz5P/ZEql4H0u2ije/v7aOSGNNn2l/3klxM/z/x/79c58SPG73/+h27wWsNum933/wCrRK0/uGftBPiB43fVNUTzYZ44fIebyU/1kn+fnrmPDesw6peW3mvP5P3HT/V+Z/8AZ+ZsT/tm/wDcrK8QfEaaXVEmukmnhkfyHd3/AHkbp/8AbNif9s3rpPhv8Obm/gsLlXjks9PTz/Oh/wCWcz/Jv/8AR01X7PlMz0L4H+A4bX7fqV7Z3U+m28ieQ/8Ay7yJv+5s/wCuafJ/10rj7LWf+GoP2rL+5+zeX4e8Hp9itdn7vzJn/wBe7/8AXP5Kh/aU/aRm0fQ7Dwb4XS1+2Xn+omhfzJLe1T5PtT/+OVt/Ce6T4X+F7Oa1ST7fqDum90/eSOnz76xqe5DkCn78/wDCbniTVJtL8Parptq8kdhZv9lR0T95cbP468SvLSb4q/tGeD/Cem3Plrp6f2vqju//AB7pB/8AF16L448WpoPhO81LUrmSBI98+9H/AO+3/wDQ6s/sp6XZ6X4Hv/G0tnBa6l4s8lNkz/8AHvCn3E/4H9//ALaVFP4DStU5/cPWvGGqTS65c2drc/JbwbE8n/lpXN+OPG9toNu9nZvHI9unzv8A7f8ABWPcXVzLIl4v2q1fUHTfv/5Z7KwdY8mW8huVSCSH77vM/wDrEo9wOc7b4V+N/N8QQ3M7ySXMk/zoifu5K9L8D3UN/cPbxJ5iSPv+/wD6yvIvD8tvpd55lwkdrDIiP8j+Z5f+5XVeE9UtrG4e5t7nz5t+z5E/dyVnUpmh6pJqj+YkPkxyPv31Wk/0XVEvLV/LS4+R/O/5Z1QuIprrT/Oe5jebf9xP7lFhdQ2tvDNL5kDxp+/2f8tEqUB+lf8AwS8if/hmFJmfzPtmr3s2/wDv/Ps/9kr6Mi4Za8A/4JsW0dr+xv4Mk43XiXVz9z7++5k/+wr38feH0r9Sy2ny4WB+K5tPmxtX/ETUUUV3HCFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVy/xM+GWg/GDwJqvhjxLpVrreha5avZ31jcx74LmF+HQ11FFHkGx/L3/wAFkv8AgkD4g/4JtfGyTxP4ftrrX/hf4kneDT7n/f8A+XK6/wCm6fwP/wAt9n/PTfX55eNPC/mxpf6b5b2Nw/ybP/QK/tR+N/wY8M/tD/DXWPB/i7R7HXNA1yEwXlncx5jkT/2R/wC49fza/wDBX7/gjH4q/wCCY3j288TaDbXfi74Oa3P+41L/AJb2Du/yQ3n9yf8AuTfcn/2H+SvFr4WdL34fCfRYXHQrw5J/EfmLJFJ5nzUyS6/5Z/u67Pxp4I82NL+wf7VZ3H3HRP8AVv8A3K4y4i8qT5v3claU6nMOpT5CG42eZUPlfSn+b5X/AD0jpnleV87V1GBDcRP8m6lj6/7dSyb5bjZReWHlW6Oqf9M6r2hz8hWp/wA/vS+V+8qP54pPmqjMPK/u0RdqPNejzfegB/m+VHXtP7MP7W+ofATVIbSdo9V8N+dl7OdN/wBj3/8ALaH+ez/9uvE6PNesq1CFWHJM6cPiqlGfPA/cv9lP9s3FhpupWeqWuq2eqQbLK/d0/d7Pv7If+en9+vszwn8RofFGnwzQ3M8dnqHz7IX/ANP1B/7n+wlfzafs4ftQ+Iv2dfEn2mx8u+0u4ffdadN/qLj/AG0/uP8A7dfp9+yT+3Jp3ivw4mseHdVnjh+RNQtpn8/VrR/7j/3I/wDbj/8AHK+Kx2W1sLU54fAfb4HMqOMh/LM/QHXPCSX/ANphurCOS2t33waJo919lt/9+9f/ANDrnpJUls3vGSDUptLn+S8d/L0HR0/gRP771c+GfxksPGXheztrq1tY7P5EtdNSdI/tD/8ATab+59yuq8QeDby68QWFzdWdrqt5HA/kbN/9k6Gn+3s++9cHJzfAel7Tk9yZ5Rd69c+F9Ld4nvrG+8QP5E9+ieZqeqbP4IYf+WKff+esTT9Uewgs9HbSoJIZH3polm/7uP8Aj36hN/10rs9Y0aaH7ZqS391P/aCbJ/EM1r/pciJ/yw09P4K564+zeX9gurOfSraSD5LCH/kJ6g/9+Z/4K5Dqp1Cz/bz6pefbLi50e6uY/kS/mTyNJ0dPuf6N/feqH9qTaXZvZ77qB9YfY73MCf2trjv/AHP+eKVD5U0sj7n026udPg/480T/AIkuh/7b/wB96LP/AE/T3S4vpIPtj+RPryQP9v1jf/BDD/BRM0H6pdPYW6WC22j3U1u+/wDsdJ/M0zR0T599y/8Ay2epo/Efm2/9pWD6lHDeI6T6rc/u7i8d/wDlhp8P8CVm3l1Z6Zs0q80q7ns7dPPg0eF9kcn/AE3vZqNH1m5uri51iJ7W6hs7XZPqUyeXb6X/ALEKfx0/aB7M2NH0a2sPEFtZto9r9oj+eDRLm6/0eP8A6b3L/wB+ofGHiP7BcXN5Fq3mJv8AIvdedP3lxv8Ak+y23/2umahpX2q3RI7C+k/4SB98Fg8//Ez1R0/jmf7iJVbXNemlk/tKV7W1azT7F9pmg/0DT3/jS2T+OSo9oBlG1+1ah9mawnks7f8AfppSXXmRx/8ATe5mT/0Cr7+ErbxHbzX9rqvl21vBs1TWJoPLkj/6dbKq1vL9ljS2VbqCHVH8/wDs22uvLuNU+T/X3P8AcSiS1eWR9Vl8i6tdLfZPfzJ5mmaf/sQw/wAb0UzoGSeF7b+y0s5f3dtH88Ggu/lySb/+W9y6UyeFIre51L7fPJZxz+Rdaqn/AB8SP/Ba2X/oG+jVLWa6ke2iS7j+5N/ZqJ5l/qif35n/AIEqzpcUMtvc6r9sSOHS38hL90/0fT0f/lhZQ/xvUgZXiDwdN8lteWHl3O/9xo/n+XHZp/z3uX/9kqGM2drefaZbm6tUuH+y3WpJB+8k/wBiy2Uzy0ikezit4J9SuH3waa7/AOrf/nvqDvT9Lunv7ia4a/jgttn2V9SmTzI5P78FlDQaHQ2d1cWtneaa9nPYw3EH7jSrN0gj2fwT6hc/+yVm3kVta3EMzXMlqkn+ivqTv/pFxMn/ACwsk/8AZ62I9LhtY/sy2FrP/wAt00pH8y3jT/nvev8A+yVmyS/aZIXV7qN7h9n9qvB/rP8AphZQ1VQ5xkd/ef2WmiWqWs8O/wC23WlPP+7t9n3J72Z/4/8AYqzpctva2dzNf3P2pNUfZ9vSy/4md5v/AILZP4IKmk8OpYXD2Ett5ltZp9qSzSf/AEe3f/nve3P/ALJVDXNaSK4trxZr7ZefuH1LZ/pF4j/wWSfwQf7dSaGb5UNrqj2eySObT32fZpv+PTT/APbmm/jetXS9B+y6w9zZ3l1I8nyfbIbX/iZ6p/sQ/wBxKxLe1f7Rbaatva3SRu7pbQv58dv/ALd6/wDHXc6BoyRXH9sLefZdN2JavqSf8fGoP/zwskqfZlTnykNn4cvN6abZw2Mj6W/2q1trl/8ARNH3/wDLd/789XP+EctrCOGG6/tK6ttUf53RP9P8QbP7n9yCpo4ki1B9Nt7C1+026f6Lprv/AKJpf+3M/wDfrNkieXR7m/uvtcEN4/2V7x3eS71ib/nhCn8CVp7M5fac5papr1h4WkvNVaT/AI90+yz3iJ/o+nw/88IYf45/9us3S7rTdL8SXNnLbWu+3TfZWE37uOPf/wAvVz/ff+5WV4glew1C2RryxjvNHT/lin+j+H4f9j+/PWbfxPoJt/tFhDIlw/nwW14/7y4/6er13/8AHErP2hpTpmxef6VI/m3Mk8N4/wB90/0/WP8AYT+5BVe80az1SzfytVj/AOJe7wTukfl2+lp/zwsv789QW9zHJJcfb7zz4dQTyHubZP8ASNUf/nhCn8CR/wB+rkkSS3HkytaxzaOiPBsf/QNDh/8AZ7qT/pnVGhDpel2w1REWztdNaP8A4mMEMz+ZaW//AE3vf77/AOxT7z7BaTojJfXSXn/PFPLuPEH+/wD88YKh1jS/L0/7GtndfZ7iP7bBZv8Au5JH/wCf25f/ANkqnHdebJvk/fwyJ+/f/l48QbP4If7kFBVMfb2qXdwk0T+Z5b7PtML7/L/6dbb/AOLrV8Q6Xa2unvcxSWMb2f34Uf8A0fR/99/456p6frM1hqFzeN/orxp9le8tn/d6fD/z6wp/HJ/BvpmoSppduls1t5aW7/JYXj/u7dP+e9y/9+syincWr3WoW01q91PNeJ5/2O5/4+NU/wBubZ/yw/2K0/DcqRapNctc+QkabHmRP+Pj/p1tv+un9+pbeXTZbtIYob66e8g2O7wf6fqj/wAH3/uQf7dZtnK9tvdlgg8t3tftKQeZb2//AEwsk/1jz/c+eppgaXhP/iTag/m2EMdzZv8A8ezv/oGj7/8Ant/fnq5cWHlW9nCqXU8OqPvn3p5d34gf/wBktap6fo01/H9gX7LG9m/2r7B9q8y3j/v3V7/ff/Yq5qkSXUFtc7rue51D5IPJfy7vWP76f9MbWtKZzj/t9no0F/c3E1ra3Onv5E9zbJ/o9mn/AD62Sf8ALaT/AG6ZcaokWnpttoJIdLf/AI9pv9Xpe/8A5epv788n9yq15Y/a9Qmma/tYLa3/AHH2yFP3Fmn/AD5WSfxv/t0yPwveaNeWdzKkdu+/z0tn/eR6fD/z3uf+mlaVAN7S7XzY0SW21KSbYk6W0z/6RrCfxz3L/wAEFQyRQxXD39ukd1DI6WqXlsn7yT/phZI/8H/TarlvoNtdIlg1tdT6bePvT/n/ANU/25n/AILWup0a1huo0muEku5pH8hLm2/dySJ/z62Sf3P9utqdM56lTkKnh/QYbrfCqWkCaf8A3H/0fR//AI9PWVeaXeS2aWa2f2pP9elnN/x8Xif8/Vy/8Cf7FejafbWdrHbbksbWz09/408y30t/+Af66enR+DYbXWE82G6uEuP9KeG8f/Wf9Nrl/wD0CGt/YnLTr++eT3Hg3+2YprlnkukvH3/vk/0jWH/9ktY60/D+jXN1b72trq6e8TY6b/L+2In/AC6w/wBy1j/jevRZNLs9GuLm5kmjjS4f54Xf95qH+/8A3II/7kdYNv43ttU1maHS7O68QaxInzvZwefcSJ/Anyf6mCo9hyl+3nIof8K+ttZt3h+wWupW158k+xPLt7jZ/wAsEf8AgtY/4/8AnpXi3jz9hnwfLrF/r2lw3XhnW9U+f7TpT/ZY7h0+RH8n7iQf8A+evp/S/gl488eRI919h8K20nyP5z+ZcSJ/c8lPuJXT3n7FHhjxH4bvLDxBqviTWJrxNk9zDqL2Mkf+3D5P3K6qOBxMzknmNGH2z8wf+F5+JP2ZPixZ+FfGGvWuq6VeIkEEyIkdxs+f5Nj/AO/Xm/7Snw00rxH4sufFvgh47fWLN/PvbZP9XeQ7Pn/4H5lfXXxE/wCDZrwD4y1PWNRtfix40t768SY2X9pWUN1Hbu/+r86b/Xun9+vhvxZr3xR/YF8TyeBvix4VuPsOjo9k949k8El5D/BPbXP+omST/vv7ldk8tnS9+BywzSFX3Jnglx+0Prdh4o36kk/nXD+f5yf7FekfDv4vprMaQrc+Q/n2u+b/AJ5wwfO9ek6X8L/BPx58HpqumpBHbXkGrXr7JE8y3dHR0SvHvjJ+yhrHg3xBqV54XuZ47azTfPC/+sjR0R9j/wDfdbfuZe4/dMeStS99e9A9y8J3VzqnhuZIbm1kmuNPh2ecnmeY8833P9ir+sb/ADLy+3x/YI31Cf5P+Wez9x8n/XOvmDwf+0jN4N1xbbW3kgmjfZsT/Vx7E+Svf/DfxGs/FHhOaZdStZLyz05ESG5j/wBIuJp3+d/7lctTDziejhcVCqdTJo81hcXlh50cn7/Sf3Lv/wAfCIn/AOxRZ6pNqmluksMkDyQXU/8AqP3f7662fc/651DpcltLqFtqUt/H9m+2zPPcvH/q0gg2f/sVpeD7WGHT0huP3k0cOmQI83+r/wBfv2VyndT986WOVNKl8mK2t55rfUdWn+dP4EtdlS6Hr1ta+ILDyrmeB7e6soN6f8s9llvrmNQ1T+1NLvL9ktY5ryyvXd4X/eR/ar3ZV/WdZtodYvJrx5I7m3n1B9//ACz/AHEGxP8AP/TOs/Zl+0NjQ7X7dJpqSvayPGmmJOn+r8tN7z1c8N3X2q3tkiSPZIlr/pOz/Vo907/Oj1lW/k2H2lIvL2W8CXX2lE8zzESy+fZ/c8velaWsX02qXFhbRTefDbpZI/2Z/wDWeRau++s6h0Uy5pes3ksW9YZ45tlrBv3/AOs33TvRJ5P9oWF5sgkttUeFH85P9W73Tv8AP/1z2ffrN0/WUtbK2TfHH5kdlPvR/wC5A871f0/VPNuFmuk8z7HPZfO7/wCrTyHeswMq3uvNs0Rn/wBMkgT50f8A1jvdfcf+/wCZ89M0e6v7+Owt1e4nmvLJ0gTZ/fvdlP0ea80v7BeeTHBDb3VlvSb955myB5//ACHUOn+TYaPZp511HNHBDOn/AD0jT55/4P4PuVoFM6e41l5dcb7ZvjSS9SDen7vzPPut+/8A79w0/WPEf9l2aTLNJHNsf50TzPMR97/+zpVG3v8Ay4L+GXy47nz9myZP3ceyDZ8n/fb1nyapDdXDuqQQJGmyD/ln5dZ+zA1dL1lItHdLdPMht50dN/8ArN/+s+f/AMcrKt9LfxRriXjPJIkk7u+9/wB3Gn3P/ZH/AO/lZVzsl1zaqSQXMj+e6P8A8s/7n/sn/fujxp4o/wCEX8PrpVnN9q+zv/pTu/8A458laU6Zn7Qm+InjL7fv+yzRx2Fu/wAn/Txv/j/z/sV57rms6l/alzbbI45pH3o+z/j4f/b/AO2n/oui48UJrMcz2s0f2bT/AJHR02R/P/H/ANs/n/8AHKzfD9hea9qlzbSw+Zo8j/vkT/ln/B9//vhP++639nyGHtC/4Ptf7UuLOFofOSODYj3Kf6vf/maZ/wDgFdh8TP2grD4N+F7aw0ny75Lh/wDQrNE/0iR3TYif9+//AGeuG8YfFXTfg3H/AGa00d1f3D+XBCkHmSXD/wAf/sn/AH7rE+GfwrTVJH8Z+KNUup5pPkgd0/d2af3Iafs/tzI9p9iBvfC/wlbf2hqvifVEkgmuHR53dP8AviCGvdfEGspo3hdGaGCx1izg8j7TN+8jjR/n+5/45/2zrlbPxb9l0+2e60qCBLeffBDN/wAu6fwb3/77/wDHK4bx5r2ofGTUU0Hwek/2iRP9KvHfzP7LR/4/9+svZ+/zzNOflgPuNGh/ab8Yw+HrW4nj8H6PP5+qTI/7u8dP+XWve9cv4bXT0eV7W1to0REs9n+sRK808J+F9K+C+h2Gi6T+8hjT9++//SLj/bos9f8AK1RHlSOR5H+T/lp5dR7PnKh/fOk1S/e20t0X/XSO8j7/APviqeny21hZPbSvHs3/ACb0/wCPff8AwVz2seIporN4Vv8AzEt3+Tf/AMtKfql153z3E3+k7/4P3fz/ANz/ANDo9mae0N632XVu7xTSf69E86b935f8H/xFFvr02jawiW8cECaf/r/3n+s/zHWDp+qWEWlw2zfapPk2P/v/AH6LfxHZ6XaeStzPJ5ib/nT/AFlHs+cIVD33wfrMMtnbPFN5j3D+R5yf8s99bNvdJa6ffee8cieRsfZ/rI68N0P4q+bbpCtzJawyQbNkNd/b69/wkejpNav5nmJs+f8A5aP9yuWPus2jU5kftJ+xD4cbwv8AslfD+zb70ehWr/8Afce//wBnr1rP76uf+G+gjwl8P9B0n7v2DT4bX/vhESuh/wCW1fq2HhyUYRPw/ET5q05eY+iiiugxCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACsDxl4O0rx/4XvtF13S7HWdH1SF4LyzvIUnt7hP7jo/3636KA2P5/f8AgrR/wbYa98ItQ1r4i/s96bdeJvB9xvn1PwU7vJf6Z/15f89oP9j/AF6f9NP4Px88WfDqG6jd7O2njeOTZPbTJ+/t3T7+9K/uBkGEPevg3/gpZ/wQR+EX/BQGa88T2cMvw9+KFz8//CSaPH/x/v8A9PkP3J/9/wCST/bry6+C5ffonsYfM4S9zEH8l15YPa3Gxk8v/fqGT9193955dfev/BQP/gj18Zf2H7y5fx94Se78N79kPjDQUe+0m4/ued/y0tf+2if9918aeIPhfeaNB5ypHPbf30krOGK+xM7pYZOHtKZx8cXmyfNT7yV5asvYSRbt3mRvUNxF5R8v+OurU5dtyG3/AHsiI37upryJIpHT/nnTLeP958yU+SL93/z0SP5P+udUZlDyvnp/lfWrP2RKf9lT/rpVe0M+QoeV/do8mr/2VIx81P8Asv7z7n+s+ej2hXsCj5L1ufD/AMc618NPE9trGg3lxp99b/6uaF//ABx/76VU8ryvupU0cX7z7lZ1Knc0px5Nj9Df2Mf+CiNlrEiWExtdB8RyR7PsaOlvY6p/1xd/uf7j19+/Bv8Aa+S6t9H0W8vI45o3d/7HhTzPM/67Olfz8RxeZ95fMr6K/Z4/bN8VeCbi1sNee+8TaL/qIP3+y7s/9x/4/wDcevmsdlaj+8on1mBzTm9zEn78aH4oh8WyPfrcWv2yNEeR3f8A0TR0/wBjf/HJXJ6h4X026t7mRUurXSrh9k80yP8A214gm/8AjFfKHwT/AGjNY0vwvYa3cJqUej3j77K5vNOexs45v/i6+k/BXxz0T4l6Wl5calJa3l5sS61KaD/S5P8AYtq8K3N8Z7nLy/wzK8QeHJpdV8m80qee4jTZZeHof+PSzT+/ezVg6XqjxR394s32qazd/O8QzP8Au9P2fwWyfx17NJEn9jw6VFYeRDefv4NBtn/0i43/APLe9m/uSfx1wnjDwlc2uqJtTQ7680+PyL6/T93pnh9H/ghT+N/uVhUp8p0U63N8Zx32+5luLawlhupLO8felh8keraxv/jmf7iJJ/00qnFEl1qjpK+mxzaP8jzTJ/xJdD/4H/y2f/brpNQ8OJayJDLJrMdnrG9P33/IW1j/AOIgqnZ2v9n6o9nb2cH2nS3R4LPZ/oGhp/fmd/8AXPXMdXtCbQ5Xjt3T7TPJ/aGx4Id+/VtY2f8AomCpvEGnzfbJpt+m3U2j/wDLzDJ5dpoaf9MU2fvp6h1DWUi+eKG7jtrx9k9+kHl6n4g/6YQp/BBT7y6kurhLNv7KtZtPRHgsHR47TR0/vzP/AM96DMytUtYZZEtrVL6B9UT9xZun2q/1x/78z/wQVZjupvMhSWbSp7zS/ufZn/0Dw/8A/Fz1m3B+1SPcxXmpSfbH8mebZ5F3rCf3If4EgojivNB1C2hWw019S0+189LCbZJb6Wn9+Z/43oOgmt9UhutP8mV7qdNU+fZC/wDp+ufP/f8A+WKVf1CN5dUuUaaOO5099+93T+zPD6fwbP789UJL/wCy2T366lfSQ6gmx7mFPLv9U/2If+mFWLe6/wBItrZbDSpEjRHgs9j/AGDT0T/lvcun356DMxdY0u6lt0torCO6trh98Fm//H3rE3/Pab+4lXPNuYrxLz7ZaxzRpsnuX3/YNL/6YQp/G9bklh/aml3j/adSksNQfY+q2yf6f4gf/nhCn8EH/XOpdP0b+xrdIbi2tft9n8/k7/8AiWaHv/jf/ppVezD2hTjih0u4hhls5I0vE8/7BNJ/pGoP/fmdPuQVvR3U1rcTalb38Ek1x9/VUtf9H09H/wCWFklUNQi03+w4fNS6jsLiff8A9P8A4gf/ANDSCmXHii81TUHvLfUtNvv7LT57nZ5mmeH4f7kKfxz/AO3VGZNqnhxJdLsLBYZI/n+1WuiTP5dxqj/8971/4ErH1Tf/AGpeTLfwSTRyeRdX8Nr+7s0f/l1sv79bEkr6pbpZtYTxw3j+YlnC/l3+sf7czv8AcSsrUNe+y7Ht7yxkv9PTZ9shTy7DQ/8AphCn/Laeg0pmVb+HE0bULaz+xySJcJ58Glf8vFxv/jvX/gT/AGK6SPVNVtY3uZdVgjS3j/cals8y00vf/BZJ/G/3/nrN0/S5LrUPsa2F9BDefv8A7A//AB/65/03ud/3Erb8N61qst59sa8tYIdLg2Jf3KeZpml/7FtCn+ueswqVBng+Ga1kXS5rO6+zXDvP9jd/9P1T/pvev/An+xW3b3SWujzXjXnlrcI9l9vhT95Jv/5YWSf+z1Q0+J/tiPsvpLnVH8/7NbP5ep6p/wBN7nf/AKmD/Yq5rmmTazcTOtzHHef6j+2ETZb6X/0w0+H+/wD7dachzzqHH3kVzDp/k7LWO80d/tX2a8/d2+jp/wA97n+/PJWDqnhybWbdLlrDVbpNQffAkyeXf6g6f8t5t/3Er0iTS/sF5Dok2iSR38aPe2umzP8AvP8AsI6hN/c/2K5jWJX8R281/Lf3V0mqP9lnd3/0/wAQOn/LCFP4LWp9j7h0U6xz1/pflWcOsXVz9qhjf7FNeQv/AKReP/z623+xHWlb3U1rbp5VtayXOnwb4LCb93YaP/03d/43o1O1f7O/2p7W1/st0tZ7lP8Ajw0/f/y623/Tf7nz1Z82a6s7ZLiwsY7qzff/AGa//Hpp8P8Az3uXf788n9ypNJGPcWs1/cWcN1bTz3lw/wAiTfu7i8/25n/gg/66VcvNGv8Ay3vN8873CeR50KeXJcP/AM8Lb+5B/t1c/wCEY/tnZMq3Un9qPsns5k/0vWH/AL//AFwjrqovDlydQeZrmSR7d/8AStVttklvZp/z621VTpinUOG0/S7zS9QRGmtbX+x0/fzO/mWmj7/4E/vz10P9g2eqXFtapZyedJB59lpV4/8Aq3/5+rl/7n+xJV+38JQ2siTfZrTTbzS9k9rC/wC8js/+n25/26m8pNZ0+G2aG+urm8ut6Q3KPHceIHT/AJbzf3LX/Yop0yKlQx7jS31SzRPtN9dQ6pPseZP3d3rD/wDPBP7kH+3VO88JXml6o+pNeQQfZ38j7TC/mR2//TCy/vz/AN+uzjsLn+0Uv1vJ76aR/sV1fon7y8/6dbL/AGI66ePRobCSF1msdOfT02f6jz7fR0/uJ/fn/wCudaew5jD6xynmGl2E1rGlt9m8t7d3n+xzP+7s/wDpvev/AH/9itn7A+vae95b211s1xP9iO41jZ/cT/l1ta7Y+DrC6uHtmtrqCzjf7bBpqf3/APnvezf+yU/S9Gs4rh7+V457/UEeC6uXfy7i8T+5Cn/LCD+/VU6ZFSscfB4Xhurz+0orm1gvNPdLWe5hT/QNH/6YWSfxz/7ddDb+BEtdLRIvLkht5/tv2C8f/wAmr2b/AJ6f3EouPiD4b8O3CQ2tzayXNu+yBLNPPj0//YhT+/8A7dXNP8R+M/G9n5Om+EriO23/ALibUn+y28f/AE3+f7710U8Oc9TEFyTQba6uN8ryXSahsnndH8i41hE/v/3LWOptQ8ZaV4cjmubqaCCS4TZDcwv5H7n+5Cn8Cf7dGn/APxB4j3v4j8W+RDI/nvbabB5kkn+/M9dh4P8Agj4V8EW6vb6JBqVzH/y86k/2q4k/77rup4WZw1MdRieY2/xfudeuIbbwvoOparNbv/oqWdk8lvZ/39m/5Hf/AG629P8Agt8TvFtw6XT6H4Zs7x/Pf7TdfbriR/8AbRK9o/4SP7LbpDs8uH+4n/LOp49ZSX7tdX9nQ+3M5amYz+xA4bw/+yX4Yik87XrzVfFU0j73+2P5FvJ/2xSvUdD0uw8Oaeltptna6bbRps2WyeXWR/bP+xTo9e/vI8dd1HDwj8B5tavUq/HM6DzkqSOXH+/XPR6ytPj8SJ5nzP5db+0OfkOhkm/6afJJVbxBo1h4t8PzaVq1hY6rpVx8j2d/Cl1byf8AAHrNj1nzZPv/ALun/wBspj5no9oHIfDH7cn/AAQu0T4teLH8bfAnVbH4S+MpINl7psKeXousf8AT/Uv/AH/4K+K/jpaeOP2R9Su/DPxy8M/2BqFwk91pfiOzm+1aT4jmeDyP3Myfc/3K/cGPVP3fy1m+PPCWg/FXwff+G/FWiaV4j8Paomy603UrXz4Lj/P9+orUIVfjOyjip0vgPwN8afs++EvihcP9jeCC2uLqZILz5JPMf7Lv3/J/00315LP8NPEnwqg/tjS7e61LTbN/39tv/eR/Jv3194/tgf8ABEPxl+zBHceLf2eL7UfHHhiOZ5p/A95+81ewR/kf7G//AC9f7n3/APfr5X+Gnx802/1GbR9USe1ubeeGyvdHvE8i4t3SGSN0f/rnXDUp1qX+A6qdSjV/uTOU8D/GRNU097a48uOG4tUtfszv/fevVNL+LUPmR6lav5dt5/nzo/7z7QkCeRBWFqnwM0H4g6el5H/xLby4gtXgez/d+XM6On/siVwVx4X8T/Bu4SHWXTVbC4SF/wC0oU/d+S/z1y+zhL4Dqp1K1L4z37S9ZSW4hTTXkjm36Tp0E01r+8t3373rSk8Zp4j0O5ubyGSO58i9nR0f95JNPdbP++K8l0/4n2GqXFzM1/8ALI76hsR/9Y7psT/v3XeeF9Zmi1yzh86fUra3urLTp9jp+72fPO//AKBXJUpnpU8RznoWlypYaXcutz5iSJqaT/Zv9Xb7NkCf8AqneXT6Ncaqn2by5o3vbX5P9XJ+4RPkrN8N39zr+j21tK/mW0fzpc/89PtV7/Gn/XNK29Qv31m8m+STZHPdPB5P7vy0e92fc/g+5WFQ6vaDNUi+y6X5K23lzWaTI6b/AN3vSBINif8Aj9TXMr2sd/bL5kbfvrqPyU/ggtUj/wDZ/no8Ub7q4me1hjjtbhHSDe/meW73X8f/AHxVbT4v7ZR9v7zzIJn8lE2T/v7r/wCwrM0NuO/TRre5RdkaRzuib3/dx/6Eib//AB9KfcQw39u+n+TJAkj/AL/5/wDVonyfJ/3w9Ylvf+bcXO68gkS8nedP3n+s3v8Ax/8AjlaUcqaXJN5rxzzSffR/+Xf5Pv8A/odaezAh1i1+y7Glk899nzoj/vPn+5/wOse832uoJcyv5EPmbP3z+Z/n+D/vun+U8Vw8MTx/Y/8AXojp/rNn9+rNxpcNrp6SXSf6t/8ARYX/ANXI/wDn/wBArQz9oPt7+HwRo6I3mSarqHyQb3/eSf7fz/8AA6808SaW91p7zXE3lwxz7/8Arm7/AOf/ACJW3rmsza9ql5DdeXNJHBsneF/L8z/Pz1WvIr+6S2s5YZIJo598aJ8/2eH+/wD+hv8A9s0ogRUqGb4X0u5l1C5Rk8940+fe/wDrP7n/AJE/9F1Q+KHxQ03wxb22ieH7mD7Zb/I6bP8ASJET+P8A7aSb3/7af7FVvFHxQttBkt9H0145Jrz5/wByn+s/23/651m/Cf4GJYXj39wkmparqkE11HC7/wDH5s/v/wCxXQcntJy9yBg6X4N1W/uH1vXEurrVbz/UbE/0iRP7kKf98V6L/wALCk8JSImqPHBdSQIiWcKfu7NE+5/wP+/XE/FDxvqvhyN5tN1KeN7f/XXKf8tH/j2f3E/grH8OfCV9e0NPEnii8vp7C4k/caaj/wCs/wBt3quT+cn2nL7kDqrfxHrHxV1S3sPDiRxpcf8AH7r1y/l28af/ABdd/o+s6D8L/Cc2laXf/bvtE/8ApVyif8flcr4f0u/1lNkKSQWf3Es7ZPLjj+Tf/wDEU/XPC82jaHbSWsMclzeIn/bvvesPjNvfj75fvPiE8twk1qnkeY/+ud/9X/33WbH8X7Dw5IiS6r595v2J5P8Ayz/jrm9L+Et/rM9/NdPdTps+2wI/+xBv/wDiK6rT/gZ5Vu/2qHy5JHm8vyf9ZJ8iIn/odX7hH76ZTk+MiapqCeVbXV1cyfwInl1NceN9ViuI5msJN+z/AJbP/rN9ekaH8ILCKRJIoftVzH8/yP8A6v56uR/DSz1TZDdTeY8bu+/f/Am+sOemb06MzyvUNU1j7OiTzSSPcJ/A/wDq6t2+ja3a6XcvEkkk3kb/ANz/AMtEevWtU+HMN1b+dZpHHDGnyIj/AOrepLPwvNFcbIntZ/s7p57p/q40es/bG/1VnkunxeIbW4SGW5jgTZvg3p/rE+/X0V+xppb+O/jH4M8N7Z9l5rdlA/z/AOs/fp/9nVCPwbZ2ulp5sPlrGiJ5z/u6+lf+CXHwXtrn9pHwP/o1pH9jvZtQd0f95+5gd/8A4iqw/wC9qQgc2P8A9noTmfsxDxEv0p1A6UV+nLY/GwooopgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFGaKACijNFAGfqukw61ZS211DDPbzpsmilTekiV8C/tqf8G6PwD/AGrLi61XQbC6+Fvia4fzJL/wyiJaXD/9NrJ/3H/fGyv0KzScYrOpRhP4jajXnT+Bn80X7X3/AAa//H34ORyXPhWw0T4vaOOfP0V/sOpR/wC/ZzP9/wD65yPX56/G/wDY48bfs8621j408K+JvB9x9zZr2lz2P/j7psr+2MkAc/rXgv7TX7eH7PfwO0iax+JvxC8A2kL8Ppt7cw31xJ/27JvkP/fFcMqMKf2j0qeYTqaThzH8Z8ngi88t3VI50/6Yv5nmVQuNBmikfdC8dfvp+13/AMFA/wDgnf4tFy2m/szx/EK/3+X9p0/w3B4cgk/7bb4JP/HK/OP9qD4l/BP4n3f/ABbf4A2vwlWN9/nJ451DXJJP+2M37hP+AVy+25D0adHn+xyHw99gePY7JJ/3xT7e2eX7qSV7fqGjaP5j7rby/L/2/wDV0zS9L0qKJEa2jmeP+N/+WlH1v+4P6ieLR2DyybFSST/cq/p/he81SRIYoZJJpPuJ/wAtJK+qPg/8c/CvwvuEmn+F3w98VPb/APQbsp5PM/74evq74Mf8FkNE+HMkKRfAr4a6akf/AC20e1S1kj/77R6wnip/ynVTwMP5j4N+Ef8AwTs+MHxtkT/hHPh/4qvkk+TemnPHH/32+yvqT4N/8G4nxp8cSI/iObQPB1tv3/6Zdefcf98Q76+4fBf/AAXH8GeKI0h1aw8QaP8A7GxLqOP/AL4r2z4YftzeCfi/bv8A2H4nsZ5v+faZ/ss8f/AHrD2038cjf6rCPwRPmT4R/wDBtj8N/CaQv4w8Z+IPEE0afv4bCBLSOR/999719c/BP/gn38Fv2fY4f+EX+Hvh+O8jT/j/ALxPt13J/wADmrej+IM0ux0m/cyfx1NJ4uvJY/MW5ovEdqh2esaXYeI9Dk03UrO11LTZE2PbTQJJb/8AfFfNvxQ/YGfRo7m/+F+sPodzJ+//ALKvH8y3kf8A6YzP9z/tpXrMfi2/l3/P5f8AwOnyeI7nzPlfzH/36zrUIVfiNKNStS+E+Sbf4v8Ai34D6hNo/jrRNVsftGzz3d/Pk1T/ALbfcr1Pw38adE+IJ0p2e1kv9Pd/7O014/8AQNPf+++z79eo+LJbPxlob6brNta31ncf8u1ynmRx14J44/Yj0eW4ebwlr114cud+9IZn+1WkleXUwM4/AexTx0JfGeqfZYZbN9SiuZ5Ly8fyH1h0/wBIuP8AYtk/grNk8G3kusJpt9Z2s8Onp58Gmwv/AKPb/wDTe5m/jf8A2K8lj0v4o/BuKaa4tpNY8v8A5fLCf7V9nT/YhrY8H/tVWF1p/wBm1K2kgSOffPCif8fj/wDTb+5XLOn/ADnVTf8AIdbqmlwxXE2q3V5+82eRda8if6z/AKdbJKzdY0t7SOwsLfSo47mN/PtdKT5/M2f8vV69dDb/ABG034g3iXi6hayXNn/x5TOnmWGjp/Hs2fff/bqa4+zXWl/Y2+1R6bqnyP8AJ/peuTf7b/3K5/ZwNKdT+c86k0a80aR76K5877Q6JPr0KeZ9of8A59bKH/xyobzRry1uLawl0S1g8t/tVlo80/8Aq3/57XM3/slenXEU11qFs7JapeW/7h7yZ/8ARPD6f3Idn/Lemf2DYXfhdNKVLqPTfvppv/L3rH+3M/8AAlR7E09ucHcWF5/ZdzrbaxdWth9y91KGP93cP/zwsk/g/jqaTQYbo22lS6bHBZyJ59ro8Lv/AKR/t3j11V5pdzdeIPOaGxjvNPRNkyP5ekaH/sJ/fnqe38OXMun+T9m1idNQd/3KP/p/iD/bd/8AljBR7Ez9oYf9qXOqR3Vz53l23/HrNfwp/o+9P+WGnp/8bqtb6XdaXqCW1xYQR3mz7VBo73X+j2af8/V7/wDEV0knhd9Zt/tMt5ayXmlwfZZ7mH93YeH0T+CH+/dfcrB1Dwwnkf2bNZz77hPtSabM7yXGqf8ATe9m/wDZKudMunUMq4+wXUd5c7LqSz1B9j3kKf6f4g/2LZP+eFM0/S5r/ei20cF/paf8eez/AETw+ifx3Oz771safdPp8b6lbzfx7H1XZ+8k/wCnLT0/9nq5qFh/xMPsa6VBG9u6PBoNtO/l2f8A03vXT+Os/ZiMeSWG/t7mGJNSnh1hPnm2eZq3iT/rj/zxgq5pejQy29si21rJc+H0T76J9g8Lp/t/89p62LeW5/sy/e6v7qN7x/IutSRP9I1R3/5YWSffT+D56s2/heb+w7Cwe2tJJtPT5NN2J9k0vf8A8t72b+N/9itPZk+0OP1i6sLWwSZYdZnsNQfZ87/8TPxI/wDB/uQVpSXSWGsI9nNYyarZpv8AJ/5hnhtP+B/8t6v2/g17q4kvGm8x7xPIn1uZP9LvH/54WSfwJWjp/wAPrW1j02zurPSoJrNPPgsH/eW+n/8AT1c7PvvRTpzNPaQMiz0tLqP5rO+j028ndJ5rlP8AT/Ej/wCwn30/36p3l1rEWsu8r6VBc2ab0eH95YeF4f8Agf3566q30t7q4/tKz1C6je8/0VL+FP8AiZ6h/sWyP9yD/bpdQ8L3MuoW1s1tawPZv56W0z+ZYaP/ANN5n/5bXVaezOf2hh6f4cs9U1S2hl/tW+h1SDz/ALHcu8d/4g/27l/k2WtVrfw6kUlzeXVz5CXknkf2lbQb5JE+59isoX/9DrudQ0ZNd8yH/Tp4bx9/3/8AT9YdP77/AMEH+xVj+xnsNlzF+5uo/knudm/7H/0wsk/9nqvYB9YPL9Q+H39l6feIs1pDNZp8+9/MtND3v/H/AM9r6SpLf4dPf/ZrC1sJ40t/9Ng0qZ//ACavP/ZEr0e40uzit1/0PTYPs774Lbf/AKPp/wD03fZ9+esq48ZaJpfnTSvBJ5kmydJn8uS4f+/c/wDsiVPsIB9YMS3sLnWdQe/unvrqz1BPsv2+FPIu9Um/54WX9xK3tP8ABqeWnl3Nra3Nu/kT/u/9E0f++kP9+esHVPjnYS3iPE8msXkj/Pcw2v8ApEkP/PCHZ9xKl0/xv4t1n57PwxPBJb/6h5n+yRxp/uf+z1pTw7CdQ39Q8L2Fg8P2PT4Z7OzTfJYak/8Aq/8Ap6vX/wDZKoah9gv45rlvPun1R0ef5/LuNQ2fwf8ATGCOqF54N8YazcIlxquh6PbSP5/kwp9qkkq5/wAKHsL+T/ic63rGsPv3ujz/AGWOT/gCVf1WcvsGP1qEftjNY+MnhXwQkP8AxONjbPsrvbWvmeWn/PC2T+D/AH6rW/xV1jxHIn/CP+GNSnS3T9w6Wvl29v8A7f77+P8A266rwv8ADDw34NuPO0vStKtbn7m9IPMkrZ1C61L/AJY3kEj/AO2nmV0/UZ/bOepjofYOC0fwl451S32alqsGj2cnz7Efz7iT/frodM+COg3Un2nVLnXNcvNmx3mn8iP/AL4Srn/CR38WxLywgk/vvZv/AKv/AIA9XNL8Rw3Vw6W83lzSfO6OmySuingYQOeeKrTNjwvYaP4It0h0vTbXTfL/AOeMHlyVpR+I/N+95klc99q82T5mjkf/AH/9XTPt6eZsV499dVOnyHFU986ePxGn9z/xyl/4S1JZPv8A/jlc19qeKP7kkfmP/HR9r/d/fkj8ytg5DeuPFC+Zv/dyf9s/9XUP/CeQnemzy3/v/wDPSsG41mGwjd5bmOOGN9m96P7Ztpo32zWsn/A6zGb0nxBSKPe33I6LPx4l1Hv3xoklYPnW0sny+RJ/uPTI7C38t9ttHI9T74uQ6qPxlbRSRozxySVNJ4thij3t+8SuS+wQyyfND/q6fb6XD5exk8utPfDkgdbb+KFlj+X93/v1NH4j/u/frhrjw5b3UfzPJH/uO9TR6WkMbqs08fl/33qg5KZ3MfiNIv8AcqGT4g2NpcbGuUjf/beuSjtfKt0TfPIn+/Va88OW8siO3l+d/tpWPvmfJA9Ct/FCS/df/b+SvmP9uf8A4Jd/Cj9uu8m8Q6kl14P+IXkbE8U6On7+42f8/MP3Jv8Af/1lezRxPFb/ACvs/wCAVNH53l/K/wAlaU+cfsIH4ufHn9mT40f8E49UsbzxxZw+JvBlvdQpB4q0eTz7T5PuJN/zx/7af+P1L4L+N2iePNPsEimjurCT7Kl1bbP9X87/APtN6/ZvUNLh1nT7mzvEhurC8TyLq2uY/Mt7hP7jo9fHv7Sn/BFzwH8S9Wk8QfDS+/4VP4n2fOlnB5+i6h/vw/wf76VFShCZtRrTpb/AfBfjj4BQ+MvEln4h8L+Xa39wkKTJcv8A6PqGzeiP/wCOJXE6X431LwR4kfw/qiXVrqUcDvazInmR3Hn/AH331678S/BvxE/ZQ1lNN+J3hO68O2dnPapB4ks0+1aDcbH+R0mT7nmf3Hrm9T0aw+LUdskvmXSfuYEvIf8Alp8j/wAdcns5x9yZ13hL36J1fg/4jWF9cXMy3MkdtJJCn3/3lxa2sH/xyvR/AfijT9Us7BGSOO5jeytdn+s8xP3k718x6p4c8Q+CPs02m3kd1bbESeGZP3mx037Ef/vuvQfA/wAbkiuLN5Ugtb+PfPsdPL8yZ/kT/v3HXLXwv24HXh8V9iZ7Jocjm30d1f8A4/ILVJ9n/LREeSf79VtU2apqFvbWvkQXGyHyHd/M/wBv/wAh76n0fWba2je5t/MnSRP7/wC7k+TyE/8AZ3qGTWbO1k/0B498nzu8399/7n/bOuSnTPRnXI5PtNhpbwyzQRp5/n77b/c//YqtceI/7Us5vKTzHj/cb9n+s/8AiKs3FrbSvsVI4EjT59j/AOrqnqFrbWkczr5aTf8ALRN/7uPZV+zMPaGlp9rDLIl5cJPa+WiPPM7/AOsSs3U7q81TWE+0W0EFtHPsgTf/AKxNlcN40+Kt5qmnvptroN9HYae/z3kyf8fGz/2Subs/iheRbJmsNcmSN9+yH/lnW9OjMj65CJ6jZ6DNLJ5LeZHc798H/TOsr4n/ABQ034aWdho8r+Zf6on8D+ZJJXmnjj9qDVtGuFsNJsLqS8jT78z/APHulcH4f1T/AIS3xY959m1LUtVuH++6P5klafVf5zkqY6/uQO8+G/gj/hI/Gc1yvn79QfZ8j/6z+5Aldt408UW3g2S5mlvpJNbk+T55/wDR9LtUT/Uf7/33/wC2leexX95pdtqt/Ekl2+nwfJsR4I7N/wC589M8P/CDxD488Dw6xdJYxw3iO9rDMn8H399Ryc3xhTrcvuwNjwnbaP8AFCS21LVkurXw9pb+fAiJs/tB/wC/srpNYurDxbefN5kFtv8AIgRE/wBWiff/APiP+2lcHqHwg8Yap9j+y6xJJNGmx08jy446uap4c8c+Eo0Rv7NvraRPn2J/q6rkD284/HE9Oj1S20aRfNeeS5k3zzo6f8e++se48UWcuq+dE9xdeYm/Y/8Ay7/7H+f+edclqH/CbWscMNn9hk+0Jsf/APbrN1DS/GcVnbPZzaNcPI+yeFE/1f8AwOpp0To+tHpF54yh0uweHf5byQbE8l/Lk/ufJ/n/AJaVQ1j4yQ6pueKaSO5kfzL3/pn/ALaVwGuf8JJoPh+2vrzSo5m37PJefzPLSsrT/G7yyeddWF1BDbv5j/6L5lHsDP68fQnhPxvptroaTRTSb9my9mR/MkkTfv8Ak/8AHErYs/irZy6XCmyOdI4PndE/eRv9z/2d3r570f4g22s+dMt/Baps2Oj/ALvy61bfWX1i4h2zRxpv3vMn+rk/26z+qG1PHH054X+I1hdXH2CKz8y53/Js/wCWn+d6Vqx3VtrNwjs8aNJBs+T/ANASvDfCeszaNp6Pb/ap7+zTz/JT/l3/ANj/AD/z0rrdAtdYl1CF7i8jks9PTf8AuX/1f9//AMif+i65alA66eKPdY5Xv4403/akt32O/wDzzr7F/wCCNXg17/48avfTfv4/DeheQkyJ5ce+ef8A+IR6+K/Adrc6X/x9TfuY0R4E2f8AHwn+3X6Zf8Eb/B9vbfCzxb4mij2LrmtfZU/3LZP/AIt3ruyejzYyJ5PEeK5cBJH2tRQDkUV+hH5YFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFADfLBNGys3X/ABJYeGLP7Tf3lraw/wB+aTZXlXjT9rXSdMR10exv9YmxjfnyIPzfn/xyjmNIQnI9kIxWb4h8U6b4Xs/O1S+tbKH+/K+yvkjx/wDtM/ELxbG62t5Hodv/AHLCP95/329eNeJPC+peKLz7TqU13fTSfPvuZ3fzK5alb+Q6qeB5vjkfWvxR/wCChvw5+GFs+/UW1SaP+C2TNfLPx0/4LbarpaSQ+EvCc8in7k03/wBn/wDEVxl58Era/k+a28v5Kx7z9m7TZY/mto5K5JyrS+0ejQoYaG8T5I/ay/bu+N37SksltqfiPXNN0fZs/srTdQeCCT/f2bN9fJesfDnUopHmt9Kkjmkf771+rkn7N2j+Z81n8kn9+q1x+yr4el37rOOR5K5fqT6no/WUtIH5F6p8Ktbm3u1rdSeZ/t1iXHwg1iWT5rOff9/7n+sr9j/+GVfDflo66bP533Pk2USfsq+GIrf95o919z+PZ+8q/qhn7eB+M8nwqv4o97Wcm/8A3Kpx/Dm/i3/6HPs+59yv2Yk/ZQ8Gff8A+EeupP4PnnT/AOIplv8AsjfD21kd5fDF1PJ/sXv7v/0Cj2EyvbwPxkuPBFzH/wAu0n/fFP8A+ENuSdjWE8f/AACv2hk/ZL8AfZ/m8PTwfP8Au/Jfy/L/APHKx7j9kHwHLG//ABIZ5/4973T0ewmHtoH4+R6XeWsieTDdR+X/AHErS0y/uopESWGSd/77p/q6/Wuz/Yt+Gl1bolx4egtbnf8AxzzyRyVDcfsNeEtLk/deFdHkT++k8/3Kz+ql08Yfnv8ACf8AbD8c/CC4jfS/EmsWMMf/AC7TP59vJ/wB6+wPg/8A8FaNF1mytofGVhPo82zY9zYJ59vJ/wAArubz9hjwlFs3eDNH2fwPvf8A+LqtefsR+DJbiF18MaVH/sbH8v8A9DrP6ib/AF49I8F/tQfDT4jW6f2b450OeaT5PJuX+yySf9910954c1LWdPRNG1zTY5pPuXKIk/8A6B8leD/8MFeEvMRG8PWr/wAfzwf6ytXS/wBjLRNBtnSzsLrTX++n2Z3Ty/8Ax+p+qTD61A940fwvrGl28z6s9rqSfIlr9mg8uST+/vrS/wCEcSK5d5baSRI08yDZXlHhb4c+JPDkaf2b4h1yCO3TZsmm8z/0Ou/0PXte0+z2XD6bfPH/AH4P9ZR7GYfWoGxH4c82TfsnjfZv2f8APOsTxZ8EdE+IP2Z9ZsIL57f++nl+ZXT6P8RofM/0zQ440j/jhneti38b+GJZE+1WGqwPJ/20qvq/MT9e5fgPCrj9iPRIvk0HVdY0eaN9/wAiefb/APj9Ztx+zl8RfC0kj6N4htdStpPkf53guJP++9//AJDr6l0uXwrrNv5i3M8fmfwTI8dXLjw54YikR/tPmPGnybHrlqZbCZ0wzWcT421i6+IvhKSH7Z4Vnns96PD5P+lR2/8At/J89Efx+mtftKX9hfWt5qHyT7/3Fxcf8D+5X17cWvh6KT5UvpHk/uJWbqmjaPqlvsbRJLr5P+W1ctTKv5JnXTzX+eJ89x/HPRPFEcKSvBHZ26bILZ3/ANEt/wD4t629P+IOiS2j/aLm6/0h/nuYU8y41D/f/wCmFepXnwg0fVLbyf8AhEtKjTZs3ulZn/DN2g3V48zeG9NjWRNjpCj1H9mzL/tKH8pxNv4osLq4tn2WM9zbv/oULv8A6Bpf+3s/jeppLrTbqPY2oTyQyffhT93d6o/+2/8AAlb1v+yXo8Vwj/Zp4JtmzfC7/vP/AB+q3/DGWmxXju1xqsifc+d/9XWX1GsafXqJzGqazYWs9zqUVzax39uifvtn+j6XD/zwtv771ZkurPVNLhs7x/MT/XyWbv8A6Xef7dzN/c+/WrcfsW2f2h5vt+rRvH/q9j/wUyT9i228z5dV1jZ9/wCR/wDV1P1GZf16iU5NesPLTdqVrPN86T36J/q0/wCeFslPt5dFv98NulrPZ7PP+wQz+X5j/wB+5erOl/sZWel3DvvupvtD7/nf/V1rW/7JeixSP9o8PabJ8mz9883/AMXWn1GZH16mc7ceMbCW3d5LmOC5j+T7Sn+st/8AYhhf7n+/WbqHjLwlpel+StzBH+/+1PC8/mRyP/fd/wCP/cr0XT/2eNB0yRJv+EP0eTy/v73n/wBI/wB+tjT/AIc+HtGjSNfBljAsb7/3KJVU8umR/aUDyW3+Mumy6h51mmpXTyJ5DvbWr/aJE/6Yv/AlPk+IPiTWbfZZ+GNSkSP/AFG9P9Hj/wBv/bkr363/ALHiiTdYarB5b/3P9XU39jeG5bx5t93HNImx96PH5ldH9m/3zk/tL+6fPFvpfjnVLdFaztbFJH2P9pvfLkuH/wCAVNcfCrxVrNwj3/i2HTX/AOnOB/3f+wm+vo238L+G7r5PtMcnmJ/G9XP+Fc6PLs2+XI+zy/ketoZeZ/2rM+crf9nPTYo0S/1XWNS+ffsefy4//HKx/jB8NNK+EHwz1LxD4Z8H2viDW7NN8Fnc+fP5n/fHz19Sx/CrTYvupPIkcm/53/1dWf8AhXNnFs2+ZWlPAwiR/aJ4b4HludU8J6PeS2Eej39xZJPdWaJ/x7u/8FaslrN9o27JH/29/wDq69X/AOFc2f8A00/4HUP/AAq+z/ieeR62+rzMPrcTyv7LNF91Pn3/AMdRXNrcy3CfuYEeT59716nJ8ILCWP791H8/8ElMs/hBptrGyKl1P5j/AH5n30/ZzD61A8ovLC8+Ta8cHlvv+RP9ZRHaySyO7Paz+X9/ZJ5detXHwl025O2WGOT599TR/DmzijfakdHsw+tQPGbjRofsfkyp9qh2fP5z+Z5lH2B4vkmh89PuJ+8r2D/hXNtF/BH/AN8UyT4X2Esbo0Mf/fFHsy/rEDyKz0vzfnhsIJE3/wAb/wCrqaSwuYtkcVh/4/Xq8fw+hijTakn3NlSf8IQkP3U8xKj2Ye2PJLfS7mKWRPs8/wC8k+5vok0ubzEeW2nkf/cr1T/hCExvbzI/9yi48EQ/wp5j0ezD62eXSRPFv3W11s/20qGSJZY/mhk+5/Gn+sr1eTwHDLv3R+Z/7UoHgdP4k8zzKPZh7Y8f0+w823TdCkb/ANx/+WdXPsvlXHnb/L/3Er06P4fQ/PuSP95/fp8Xw+h/hT5/9yj2Ye3geVyaNDLv3PJH/wAAot9MTy0TfPG+z+OvUX+H0Pmfc/1lEfw+tofk/efvP79Hsw9seaSWDxRom+T93/Hsp8ejeb8m+eN5P/Ilekf8K5hxH/yzqGP4Xw+Z9+Tf/co9mHt4HAR2DxJsV45PLeqFzazSyP8APPGm/fXp1v8ADnyo9m/zE/26p6h8OXlj/wBd5af7FE6czT28Dj7e1eK3Takn9/56fHvijd28uNP9iu2j+HLxxptf/wAfqT/hXs33FfzPLo9mHt4Hn+oaX9qltn2eZ9nfz03vVmS6vD922jrs7j4fX/mfL5ezZVaT4fX/AJkL/vI/s8nybH/1n+/R7Mz9pA5WS1fXtLubO/sLW6sLxNk9tcok9vcf76PXz38XP+CWHwu+I1xHeeHLa++Gt/sdP+KeT/QLjf8AxzWz/u/+/eyvrQ+DbiL7yRx/79Tf8Ibc/ImzzHj/AI0/5Z0ezD2nIfnX4s/4JG+JLXS3/sbxPo+uXnmfcuYHtY40RNn+3/yzryW8/wCCX/xFup0trzwf5iR7980N7A8cju9frjJ4NvPLeTZJJ/wCq0ngi5luEdbby3/vulZ/Vzo+vH5NaN/wTY+IuqXEO7w3rFrDZv8Ax3qR/wDs9bHhj/gnF8WtU8SI7ab9lhjfYj6ldJ9nj/74r9UJPAdz5ibbeT/virMfgO8+0fcj8mNP7n7yo+pB9fPgPw3/AME3vGf9lPDeX/h+1mk/5bfPJ5dPH/BNjxhpcf8Aouq+HI5t/wA802+TzP8AYr7/AI/h9N5f3PM/4HR/wr6aWT7vyf7FZ/UYFf2pM/NnxJ/wTY+Jd/O6K/hme2j+d/Jvf3kn/AK5XxB/wTn+KkOj79P8N6HPNJ8nk/2ikfmV+qEfw+m/ueXRH8PpvtG9k/1iVp9TJ/tA/JHVP+CU3xL0a303VW0TStS1LVJ4dOuraG68+SzR/wDlu7/3I/469O+F/wDwSh8W+CPFl/rGpXPh/wA63hdLJLZ/Mjjf+/X6TR+A5ovu/wB+mf8ACuZvn/1eyT/Yp/UiYZhy/Afnpp//AASrf4gyJbeI/EN1BD86fZodLeO3k/33d67y3/4JYabLb/Zm8Z332aNPIS2TTk8uOvtKTwHeSyLt8jyf9umf8IReeX83k/6z+Cl9SgH9pSPir/h05pcsaQt4w1KNJPkd0tU8zZVy4/4JYaDFAiL4h1yd43+/sT95X2MPAdzFv2/f+++x/wDWVm6x8OdSupLbyprqB7d9/wAj/wCsq/qkB/Xp/wA58i3H/BLXwfLbokviHXLX+D5HT95WDrn/AAR00G6uHew8earYzSPv/fWSSeXX2N4k+Db6zs+0W0cjxv5/3P462I/BupRRoipH/v7Kj6rAPr0/5z82fiR/wR++IVr51z4f8W+H/EHlv8ltc77WSRP/AECvIvGH7DPxR8B28z6p4M1KSH+OaFPtUcez/cr9g5PC+sRRu620Mj/7dP8A7B1KL70Mkf7v7iUfVRU8d/OfhdH4c021juba60SCOaT5Nk0H7yOs3Q/hBYaD4gXdc3UdnJPsSGGSv2q8Sfs+2HxQuJk8W+G9H1iGNNib7VPMj/4HXjniz/glr4S8R3F//Zs2seGUkffAkKfao4/++6znQmafWoS+M/NzQ/g34nttc/0PVYJLaTfOjzP/AKxP9v8Az/crY8D+KPGHg3xBc2d1pU908k6J/oCefHJ/uV9jeLP+CX/jbwl/yAdVtdYto/8Aljs8i4j/AO+65vwf8KtY8G+KEsfEGlXWmvbv8n7h5I5P4K5K1OZ3UKkPsTPIvBfxumj1i8m1m2vtNTT08ieGaB//AEOv3U/4J4+CP+EB/Y48DW0ls9rcXmnJqE6P/rN8/wC++f8A77r86PCfhKw8SaxYWdxb3UdneXsMD70/d26b0R//AGev190nT4dM06G2gRI4YU2In+xXpZBh7TnM+f4mxfNShRNCiiivqj48KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoqpf6pDYp+8b5v7nrXOaxrt5qe9Ym+zw/7H+skoA1NX8Y2GgfJLNvm/54p88lcN4k+J+sX5khsIUsU/v/AOsnq1JoyVDJoNZm1PkPN9Y8OzazePNeTTzzf35n8ys248Ef3k8yvVLjw4n9yoZPDnm/dSs+Q6PaHktx4D/6Y1WuPAafc2fPXrsnhxIvnVKhfwv5v30o5A9oePyfD6OKTYyeZ/uVDcfD5PubK9jk8Lp5f3KrXHhJJf4Kn2Zp7Q8Zl+HyGPZ5Mf8A3xRJ4Nf59qQR/wC4lewSeEv9ioZPCSRP/q6PZh7Q8ZvPBDy/OzvJ5fyVTk+GaS/weZ/HXtknhLzf+WdM/wCESWL+COj2Zp7c8Wk+F6fPtT56h/4VzD5fzQz/APAK9sk8JLFJ/qY6hk8Lp5f3KPZh7c8Zk+HKeXsVJ/LqGT4fJ5jf6+P/AIBXtNx4X/2Khk8G/wCxR7MXtDxZ/h8ksibnk2f7lA+HyfP/AHI/9ivZpPCSRfwUR+DXljfakf7yj2Ye0PGY/h9DHIm1/L8z/Yok+HMMsn+uT7n9yvbI/h88v3o44/8AgFTW/wAOfK2fJ/33Ul+0PDY/h8kX8ccif7aVNb/C+GW4R2toJPL+f7jx+ZXvEfgOGL+BKm/4ROGL+COSszT2h4PH8EYbqT78cbyf7FXI/gOn2dEZ/Mh/2Er2/wDsZIvup5fl0yTRv9ig09oeP2fwMs4vvJ/329atv8JbOKP/AJZ/98V6R/Y1Mj0asuRi9scJF8ObO1/g8ypf+ENtrX7scfl/7ldt/wAI5/G33aJNG/vVn7Ev25xP/COJFJ9xKfJoKRRptT/vj/lnXYf2D5Uny0f8I59//wBko9iH1g4+40Z/M3snl0/+y/3ezZ/q/wDyHXW/2F/sU8aC8X8FP2Y/rByH9l+V/wA9P3lQSaM8X3U/1f8Ac/5Z12cmjf7HmUz+xuPlSl7EXtzj/wCxn/i+5/t0f2N9zan+rrsBoKS/wUf8I75X3aPYh7c4/wDsbyrfZ/zz/wDIdTf2N/d+/IldVJoNLJo37z/rnR7Ef1g459LT5EZPMT+5T/7G83YjeZXVf2N5v8FPj0Hyd/7uj2IvbnKx6Wok+55nl/J89MuNLjlk2Mkddh/Y9Ml0H+6keyj2Ie3OPk8OQy/8sfM8umf8IlZy/dto43/2K7OXRv4/45Khk0b+BafsQ9ucrHoKRR/K91H/AAfI9CaXeRSfur+6/wCB11X9g+V91KJNB/66b6PZh7c5v/T4vu3Mcn++lTR3V/8AxQ2slbf9jPFJ8yUf2W//AH7o9mPngYf9qTRSfNZ/J/sPUn9qJ/FbXUf/AACtj+y38yo/7GkoDngZ0eqWcsjpvkj/AN9Kn/0aX/ltB/33Vv8AsvzZPLZI9lEmjQyyfNDHJ/wCtBkP2BJfutHJ/uUf2XH/AHKBoKfww+X/ALlTR6W8Q+V54/L/ANugCt/ZnvR/ZnvVyPT5ovuzSR+Z8/z0/wAq5iCOzxyJ/uUGZQ/stPM+5R/Zif3a0o/O8z5oYJP9x6JJZovu2fmf8DpcjD2hlSaYn9ygaMkv8FbFnK91I6XFtJa+Wnyf8tPMqG41T7LcOn2CeRI/44f+WlHIw9oZv9jfvPlSj+yz/cq5J4jhi+9YXUf/AACmf8JbbSybPsd1/wB8VfszP2hWGjJL91KX+xv9mrH/AAmVn8+22uqP+Ezsv+fW7o9gHtiH+yf+mdH9jf3k8yrMfjLTf+eN1v8A9yj/AITKzEn/AB7XUlHsA9sU5NBeX+CPZUMmgpL8jfvP+AVpf8JbbS/P9juqmi8UQy/dsLqs/YF+2KCaD/l6fHoPmyb1q/8A8JGkv3bC6/4HUMniOYfJFYRxp/tvWnsB+0K0mjP5ny/cqaPRph91Kp3GqalKXTzoIP8AcT/V1DJa39/+7a/vpH/2H/1lHsDP2hpSaWkX+t2Rp/t1TvNU0rS/klvLWB/9+sqfwRDdbPMhnnf/AKbPT5PBHmyI/kxxvs+f5P8AWVHIzT2hf/4SjSoo/O+32sif7FM/4TfRP4bnzP4/kR6pyfDlLq43f6tI6fb/AAvhi3v+8/77o5GHtCaPx5pUv3bmP95/fR6s2/jLRJfkW/gj/wB9KZH8PofM3snmP/v0+P4fQxSb1to/+BpRyMz9oXI9U0q6+7f2skf+/S3lro+px7Li5tJE+/s3/wCrqCPwb+7+WGOP/gFEfgj+6kcf+4lX7MPaFwX+kyx/LeWsnl/7dH9qaP5f/H5ax/771Qk+HLy79v8Ay0pkfw08373mUezD2hq+bYeWjtc2n7x/7/8ArKsx6XbS/deOT/cesGT4dP8A8sn8vy/9ii38B3NrI7q/ySUezD2h0P8AwjkP8KeYtMj8OJFJvVKwY/CVzFH+6ubiN/8AYepv7F1W1t/lubrZ/v0ezD2hsSaEn/AKZ/YKS/PskrKgtdci+5eTyf771NHLrcX/AC2/77Sj2Ye0L8mgp/Cnl0yTQfK/hqt/amt+am14P+BpT7jWdbik2L9lk/4BR7MPaEx8OJFR/Yq1Wk1nW/L2bLXf/uf6umSaprcu9N8Ef/AKPZh7QuXGjJFHvb/lnXB+KPiM9pcPDYW3n+W+ze9dT5Wqy3G+V5J/LT7jv+7krOn8Efarh3WzjgST+5VB7Q8w1zWdb8RyRpLNPHD/AHIf3cdVND+Hz/aG82GSR5H/AI3r2C3+HyeWm62/2/v1ct/Brxf8sZJPLesalA2+sch5vb/DhJY3Rkjj/wCAV9g/DbWJNe8E6deP9+S2Qyf7/wDHXiUfhd5ZPlhkr1n4MSeV4ca3aMR/Z53/AM/+h10YWnyTOLHVOeB3FFFFdx5QUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFZ95ff8s4/++/8AnnVi7l/gWqnlfSgChJa+bJvb95/v0fYUq/5X0o8r6UGhmfYabJYVrfZaPstAGN/Zf1pfsNbH2Wo/s1AGJJpdMk0tK3vs1R/ZaAMKTRv9imSaYn9yt6S1pv2Gs/Zh7QwJNGSoZNGrpfstR/YKPZgc3Jo3+xTJNBro/sNH2Gg05zmZNB/2Kj/sL/Yrq/7L+lH9l/SgOc5L/hHfN/gp/wDwi6fxJXVGw8o0n2GgOc5aPwv/AHkqaPQUi/gro/sNN+we36VnyBznPf2X/dTy6JNLrf8AsNH2GjkK9oc3/Y3+zSSaNXS/Yaj+wUcge0Of/saj+xq6D7BR/Z/+x+tHIP2hzf8AY6f8Ao/saug+w0fYaOQXtDn/AOxf9io5NG8quk+w0fYaOQPaHN/2NSjRki/grpP7L+lH9l/SjkD25zH9jebRJpf+xXT/ANl/Slk0tKOQPbnK/wBjf7NJHo3+xXT/ANmL60f2Z71PszT6wc3Jov8AsU3+xv8AZrpPsNH2Gj2Ye0Ob/sak/sbzf4K6X7DTv7MT+7R7MPaHL/2F/sU7+xq6P+y/rS/2WlHsw+sHM/2M392l/ss/3K6X+y0oOl+bR7MPrBzP9jp/cpv9jJ/zzrp5NLo/sv60ezD2hy39jL/do/sbzf4JN9dN/ZvtR9go9mH1g5j+xvn+ZKT+xv8AZrqP7N9qP7M/6Z/pR7MPrByUmjfvEdk+eOiTRq6r+yx/co/ssf3KPZh9YOU/sL/YpZNG/d/KldV/Zcf9ymSaX/sUezD6wcl/YrUSaNn5663+zE/u0z+y/wC6lHszT25y39hf7FJ/Y37yunk0t/4Uo/st6PZh7c5j+xufmSlj0t810cmjOD9+lj0v+95lHsw9uc7/AGb7U/8Asv61vf2WP7lA0vyv4KPZh7c56Wwpn9jJL/B5n/AK6f8Ast6P7N9qPZmf1g5KTw5bS/J9m/1lQyeErab/AJYxx/8AA67P+xv7yU7+wv8AYo9mae0OKj8Gwj/nn/wCnx+F/KjdFSPZ9/7ldl/Y6f3KWPR0quQz9ocZ/wAI5J/zzjo/4Rx5ZK7b+zPen/2X9Kn2Ye0OJHhJBHv/AHkiU+Pwun9ySuz/ALL+lP8A7KT+7Vcge0OMj8OJ/c/8cqaPw4n3Nldb/ZaU+PS/9ijkD2hx8fhxP7lTR6Cn9yuq/sv60/8Asv8A2aOQz9ucr/wjyf3KfH4c/wBiuqj0v/Yp/wDZvtRyD9ocrH4c/wBinx+HP9iun+wVJ9ho5Be0OXj8OJ/cp8fhz/YrpfsNO/s5KOQnnOY/4Rsf3KfHoP8AsV032Gj7DRyBznM/8I2n92o/7C/2K6r7DS/YP9ijkDnOV/4RxP4kqGTwv5X3f/H67D7BH/cpn9mL60cgc5x8nhxf7n+r/uVH/wAI5XY/2X9aPsH+xRyBznHx+HP9iiTw55v3k/77rsDpaY+Wj7B/eSjkK9ocfH4cf7mypo/Dn/LPZ89dV/Zf1pf7L5+ajkJ5zl49G8r+CP8A74p//CNx/wByOun/ALM96f8A2X9KOQOc5iPQvK/g8un/ANgpLsRUrpI7D/Yp/wDZ/wDsfrRyBznN/wBg+T92Ot7wJa/Zbi4T/np89WvsKVY0i18q8/4BWnsxVKhrUUUVoYBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABTXPlpTqa/SgCLyvpTPLqaigCHy6f5X0p9FAEPl0eXU1FAEPl0eXU1Hk0AVvK+tHlfWpvK+lHlfSgCHyvrR5X1qbyvpR5X0oAreTR5NWfK+lHlfSgCt5NHk1Z8r6UeV9KDQqfZaTyvpVzyvpTPLoAr/ZY6PssdWPLo8ugCv9lqP7NVzy6PLoAp/ZqPs1WfK+tHlfWgCl9lo+y1d8r60eV9aAKX2Wj7LV3yvrR5X1oApfZaPstXfK+tL5SUAUfstH2WrvlfWjyvrQBQktad9lq75X1o8r60AUPstH2Wrnk0/wAr60AUPstH2Wrnk0eTQBR+y0fZaveTR5NAFH7LR9lq35X0o8r6UAVPstH2Wr3k0eTWfswKP2Wj7LVvyvpR5X0o9mBU+yx0fZat+V9KPK+lHswKf2D/AGKPsv8Aeq55X0o8r6UezAp/ZD/dpn2ar/lfSjyvpR7MCh9gqP7LWp9ljo+yx0ezAy/sNH2GtPyvpR5X0o9mBmfYab9lrW+y1H9mo9mBm/ZaPstaX2aj7NR7MDN+we36UfZa0vs1H2aj2YGb/ZyUfZa0vs1H2aj2YGb9g9v0p32GtDy6f5X0o9mBmfYaPsNan2Wj7LR7MDL+y0fZa0/K+lHlfSj2YGZ9lqT7BV/yvpR5X0o9mBQ+wVJ9lq35X0o8r6Vp7MCn9g/2KX7LVvyvpT/Jo9mBR+y077LVzyaf5X1oApfZaWO1q55X1o8r60AUvstSfZqs+V9aT7L/ALFAEf2Wj7LHUvlfWn+XQBW8r6UnkpVry6PLoD2hW8r6UnkpVry6PLoAreV9KX7LVjy6PLoAr/Zaj+zVc8umeV9aAK32aj7KlWfK+tHlfWgCtHaUfZqs+V9aPK+tAEPlfSl+yx1L5X1p/l0B7QreV9KPK+lWfLp8cVAe0K3k1NZ2vlSu9TRx+VUlBmFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABTX6U6igCOiipKAI9jUeTUlFAEdFSUUAR0VJTdlADaKdso2UANop2ym0AFFFFABRRRQAUUUUAHk0eTRRQAeTR5NFFADPK+lHlfSn0UAM8r6UeV9KfRQAzyvpR5X0p9FADPK+lHlfSn0UAR+U9L5X0p9FADPK+lHlfSn0UAM8r6UeV9KfRQAzyvpR5X0p9FADPK+lJUlFAEfkpTfLqajykoAh8ujy6m8pKPKSgCHy6PLqbyaPJoAh8ujy6m8pKPJoAh8ujy6m8migCHy6PLqajyaAIfLo8upvKSjykoAh8ujy6m8mmeV9KAIfK+tHlfWpvK+lHlfSg09oQ+V9aPK+tTeV9KPK+lAe0IfK+tHlfWpvK+lHlfSgPaEPlfWk+y/7FT+V9KPK+lAe0IfK+tJ9l/wBip/K+lHlfSgPaEPlfWjyvrU3lfSjyvpQHtBnl0eXT/K+lHlfSgzGeXR5dP8r6UeV9KAGeXR5dP8r6UeV9KAGeXR5dTeTR5SUAQ+XT/K+lPooL5hnlfSjyvpT6KBcwzyvpR5X0p9FBIzyvpT/JoooAPKSiiigAooooAPJo8miigBnlfSjyvpT6KAGeV9KPK+lPooAZ5X0o8r6U+igBnlfSjyvpT6dsoAi8r6VKnSjZTqACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACm7KdRQA3ZRsp1FADdlGynUUAN2U6iigAooooAKKKKACiiigBuyjZTqKAG7KNlOooAbso2U6igBuyjZTqKAG7KNlOooAbso2U6igCPyaKkooAjoqSigCOipKKAI6Kdso2UANop2yjZQA2inbKNlADaKdso2UANop2yjZQA2inbKNlADaKdso2UANop2yjZQA2inbKbsagAop2yjZQA2ijyadsoAbRTtlGygBtFFFABRRRQAUUUUAFFFO2UANo8mpKKAG7KNlOooAbso2U6igBuyjZTqKAG7KNlOooAbso2U6igBuyjZTqKAG7KNlOooAbso2U6igBuyjZTqKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACm7KdRQA3ZRsp1FAEdO2U6igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopvzUAOopvzUfNQA6im/NR81ADqKjp3zUAOooooAKKKKACiiigAopvzU2gCSio97Ub2oAkopu+jfQA6im76N9ADqKbvo30AOopu+jfQA6im76N9ADqKbvo30AOopu+jfQA6im76N9ADqKbvo30AOopu+jfQA6im76N9ADqKbvo30AOopu+jfQA6im76N9ADqKbvo30AOopu+jfQA6im76N9ADqKbvo30AOopu+jfQA6im76N9ADqKbvo30AOopu+jfQA6im76N9ADqKbvo30AOopu+jfQA6im76N9ADqKbvo30AOopvzUfNQA6iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAG7KNlOooAbso2U6igBuyjZTqKAG7KNlOooAbso2U6igBuyjZTqKAG7KNlOooAbspuxqkooAjoqSigCOipKKAI6KkooAjop2yjZQA2inbKNlADaKdspuxqACiijzfegAoo833ooAKKKKACiiigAoo2NTtlADaKdso2UANoqSigCPY1O2U6igBuyjZTqKAG7KNlOooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/Z\"\r\n\r\nconst set1 = \" data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAXcBdwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6pooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK8u+Ivxj0bwncSWNoh1DU14MaH5EPuf8KAPUaK+YW/aM105KaJpoXGRlpP8AGgftFa/gf8SfSsnp80n+NAH09RXy8f2jdfBP/Em0vjtmT/GkP7RviEAf8SXSxnnlpP8AGgD6ior5eH7RfiEn/kC6X69ZP8auwftJX6xj7T4atmf1S7ZRn6FTQB9KUV83/wDDSlycY8Lxf+Bx/wDjdKf2k7nP/Irw/wDgcf8A43QB9H0V83L+0tOWAPheIZ/6fT/8bqG6/aQ1Rwn2Pw7ZRHnd51yz5+mFGKAPpeivmEftF+IDHu/sPSx7GST/ABph/aO8QAnOhaXxz/rJP8aAPqGivl1/2j/EKsB/YOl/XzJOf1pB+0h4gwT/AGFpQx0/eSc/rQB9R0V8ur+0f4gYHboWl57DfJz+tNH7SPiHH/IB0v8A77k/xoA+pKK+Xm/aN8Qr10LSx9ZJOf1qjJ+0L4vZ2MdpowXJIHkSHA7c76APq+ivk9/2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PunnND8gFSFGMECoGWVmBHKqAR6n3qwrMoBxlCORjvQA0yRoYlUk8ckjtUSMBIy4+UEHntU7BS+OA3YimRFfuoQ3yjlqAET5WwFLYBzTWDglgOQPXtUojwMqevQelRDMnmYKgqQOeKAJFZiiEAnjke9NK7i4Z+jAnI/SlRcSK21hkkcGhkDK5zn5uee/pTASUOhAjGeckg/zpif6s5J2q2SPerByFARQyHgnNRthR5bDcu7njoMcUgGsuwgKoKcZP1qMQ+V80YJIOc1OpwGYkjPSmI4V8M3IU5A6UANByhYEqQRjipHMRBIOS3FIs52oGGQRndiomQSJndg5IBHSmARAyEqfkI+UA81M6vsIQ88A44zSRoVC7nO7pnvmpCzGNcr+8J/SgCJYywAYY2jJx60wRgyIS2HTnpT1KD5ySF4BHfPvUpRVb5SQTkEmgCNSoHGS3IHHFNUKchhldoz/APWofYHIYnJ/8dNJtIkXnlhyBQA9iZJAsbLwcn/AVGyqx4Hzbuv41LxGeOpbNMmwUJXGMkY9TQASbOcIS2QR9aGZR5LoTubO4EcL9Kc+5Q2PY4NIu0SlQScZHPcUADB1CYbawBG3OajBYlBg7up56elEzDzBuB8xSMc08SnMh464PrigBjMWblf/AK9I42AqCNx6+xocnGARgHJ9qArklSwCswIb1oAUyHaqhWGBzznmjOQFJ4zkHt9KVuJMgHj+foaeoyzI+Cv3ue9ADIxyC3Vzye1MC/MeQe+PTNSiQqqAg8A59h2oUZUg5z1yOtAEeWEbLgHBxgfw5pwXCyEE5B6HrUZJXpz24+tKnzxso+8cjJ9u1ADN5Xhdw3cDPcVLnCoB83JH0phjbYo3AAA9PX0pU2onIYJ90+vNAFe5cC12g8s3PvivpD9j+1j/ALP8RXW398JIog3+zgnH5184aiAMMCCM4GK+o/2SLKSHwbq143+rubsKn/AF5/nQB7tRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvgvx03meM9bKkfNfTYbtjec193XzFbK4Yc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eopXkKoAc7vu4A/WlACLhmUbePvZJFADEiZIyuV39c9s09SohAySSCWAHWlDAcRlDnuT/KmiPdIcKxXpy2KYEQfzEXjbswGY8/hT5o2VUZCrqBgkcHPrTozKsjg9OeAOn1pswVDlmYhiPlzgUgEmDDClfu45A6E9803cs0++Mqpxg5qd2GN2GKgcKOcmopECtJtVdw5VTQBFOJGiYKMAcnHf8apR2sju0jjDYDKPUZrTLBcbhkkc7ezfSoImmMgkwVRcjIPbvTAjkgVtqk8gkLg8GpMeVDnJwg2qfU5p8IQOHV28roABk80b/mZigCk53OevpxQBA4YAghhJnAX2PvVS8LYSMABR0xV1iXt9ow8hJbpk4qheZNxjoMcCgBmMKBnqa1rdAsCgHGeSaxwC7BTnFbacRKPYdKAI5M/MDkf1rOuW+bHatGTAUnr7ms26JDdRmgRnScmoWFTOeoNRkdaAK5FLilpSOaABRXp/wEhaX4peGdoJK3O849ADXmK9a9v/AGVot/xTtGK7glrMemcfL1oA+0aKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAMrxYceFtZPpZTf+gGvgQFcnIDAnBHp719xfFu6ksvht4gnhYq62pGR6EgH9Ca+H0AQN/dPH4UANjBIVc5UDBJpzNhCB6Zz6880pwyOQcDANSRgsctgbcDPY0DInIB3gklT2HGD0oDBeMcBs4/lSsNik7dxC/mc03aMY5JJB/TpSACA2/byP4R70suQH3Yx7dqQKUZ+RsB7ipztwmDlW5JPegCFfnwegyM8dKkkGXbIGwkfMOxpfLYhygBydygdabsPTjYTkc+lADG5yCoXpg9OadIjB22kAZB69sUbwVIcDJOBQ2QwXvkgg9/SmA7jB2gjcOBRuO3DD5h+tRvxIrJjAG3FObD8v1PApAOjXC4HY4ApCrEZVfloRnMpc429PpxRwykAlWIGMd/WgB5UnBLEHODUeGCuuQQM5bvTlBYAO2SOcn2pZIzI4CkA53c9x3oAQqFZJE2njtUeCJVbsB27VKG8twDnA7UwZV2BOcEdKAFjDGHJbg5O6s69J80571pj58DO054FY90xMzZ45oAoakcQ496y60tUPyKOOTWZTEw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wRTAYb+AuCd6MOpK5qaPUI3QqZV29MPUJgUk5UEUz7LHjlaBFwXVu8RGYd3UgLj8KejwlQxKoc8EsSfyrLNmh5AqNrMZ+UsPxoA2QysyhQgQdWZjg00ZlBy/3ThQo61ki2kHCyt9M0o+2Rp8sp20AazAH5Croi/e4zk0gc53yLEo7ApzWWtzeRJgHj2NL9tuCQZFLEdCT0oA1WUKmcP8pySTj8AKhQ7cMGJx1DAcH2qkl8pJ8yN8+uc1KNQtmZcxuqj06mgCywIz5khO3n2ye1RruVFMQYhj8xKj9KYbuFuS6seoyT8tP86Jo8mbJByBnpQMfuJlYKmdw/jH+FMePzCiq6MejEH/ABp6FCrNGJieC5z2okk5ESoqqSMhVyT+NADXRC4EbFgR0Cd6ZsEWFkdt5wcFf61PsdZU2RMAvygZwajRmSVcOWYZJzzigQiQtI6qkakD5mbfjPNQnyzNkrtUZztO4n8amBMrb2wxY4UE4496VjGZ8Hy0THRQQDQBHEzFV2JIqqeWU8t70zKqd7k7uhyM8VLCGmJVVfCg4UHgVGFiV92QQTgj/CgAKn93IUboTzxn8KUksArsFY4I9vyph3M7KOOMg57VOpEcsbboQSOTt4FACKY0j+cyMN/8XAz64pgQvBJIwYBm4JHGKa8LIgZTkseAR196QP8AIqMNxUEEY6UATLcYTKiTYAAAG280zO5iQCM9s0wHaq+ZyEXIA/rSqSRmgCW2BM6ZGOa2QwyR3xmsqw+a5XJrU4TnrQBE7e/J9BVG7AI5PPYk9KvOSBxyOtZ12AVI5I7CgDLlGDjrTG+5T5Rhj7VG33aAEHFPXtTB0py9etAFi3/1gr7Q/ZRsYrf4ay3SZ825vJN5/wB3AFfGNp/rK+5P2abOW0+E+nGVdonllmT3Utwf0oA9SooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCC5tLa6Vhc28Mysu0iRA2R6HPaue1D4feD9ROb3wxo0rbdmTZoCB7EDjrXUUUAea3XwO+Hlxs/4p5IdmeIbiWPP1w3Nc1efs0+CZube41m2bdklblXz7fMpr2+igD5tvP2WrQgGy8U3KtuOfPtFcY/Bhz0rm779l3xBE0hsde0u4AOEEiSREj1JG7B9q+tqKAPinVP2e/H1opW1srC8VCPmt7wAv9A4XH4+lc3qfwl8f2JZZvC+oskYy5twsox142E5P0r76ooA/OTUvDOv2Mn+n6Jq9qyrv2y2Ui4X1zt4HBrGmfyyRKAhYDAY4J96/TSqd5pen3pze2NrcHbtzLCr8enI6UAfmuGw/B+XPOOaEdRKThkXsAetfoLffDLwRfeX9p8KaMdmduy0ROv8AugVzd/8AAP4eXezZoslttJP+j3cq5z65Y0AfESY4fPHTB7mk3kD5HB/DvX13f/syeEpkAstT1q1bdnmWOQY9ACn61zupfstIY5P7L8UurFgUW4sgQB7lXGT+AoA+ZjKBJhsYHcd6cQNhbGQCMmvb9R/Zi8WwLKbLV9GvAp+RXMkTMPU/KQPzNYWpfAT4iWokCaVaXMUa7gba7Q7vYBipJ/CgDywhSAFOSfSo9wGOTycV1998MPHenh1uvCurbEXezRQ+aAPqmQfpWBe6VqunuFu9I1G3fG8LNaOntnkdKAKQzjIII6UAnGM81H5iEKWZT8ucAilyoXcWwzHGMdKBj9zUocg96amNvfGe1K7sWOQMcY9qAHiQg8mnCXpxUAyGJO3A9KUHg5+8B096QFgTYNOEwJ5z+NVl/iyQMUcgKQD82cUAWtwPpSDbjHSqwbIBz1pd2Ov0oAtFVxwaaEBGKr7j0pQ5XoaAJ/KwBgikaNtuM1H5rDml85sZP4UABibkECkCMONoP4UecfSnefkcCgCNgCf9Xj6U1ooyOVwasLIuAT1p4ceoouBnmGPuophtY+wxWnlC4ZkQj0pHjiZiQmPoaYWM0W+BlXZc+hpNk4IKzNkdMmtB4FziMkD3pv2ccfPz3yKBGexuMYMhP1pwnnVVTapHfA5NXGgIGARzSCF/QH6GgCut/MgZREAp7Clj1FkUHYQy8A46VKYmH8BpCny4IIH0oAie8V8/O65GD71Obm2MBw+MfKqd/rmoWjUg5ApDboVAxQBYDBvLDNGFznIPOKlZhuEkG3C8E7eMVntaqDgCm/ZyBwxH40AXz8581txPTPT8hSKVG7BI3ce5qj5coGRIxpS9wCuGwByB6UAX5ZFMecMwwE5P9KYOFFVoZ5VzuAJbuan6LQBc04YnyRnitBmORtHB6ms20bbITyeO1SyTZO0Bmz2BxQMndgOD36VQvGGDzj6U2S5CknBU4x1zVKa4DAgc+5oEROeetMftS9TwDShc9ccUAMFOXpSsg/hP50qqc0AWbQcmvv34ILt+E/hkf9Og/wDQjXwJaDgmv0Q+HGnrpXgPQbNW3COzjOfqN39aAOjooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACgjI5oooAzLzw/o18yte6Rp1wyjCmW2RyB6DIrmb74SeAb1UE3hTSgEJI8qHyvz24z+NdzRQB5Hf/s8/D+6IMVhe2nzFj5F5Jg57YYkY+lc7qH7MPhyWNlsNc1e2JfcPMEcoC+n3QfxzXv1FAHy5qf7LV2rO2l+KYXwRsS5syvHfLKx5/Cuc1D9mnxpbea1peaNeAfdxM8bPnrwVwPzr7GooA+GNQ+BfxFtEYHRFuERC2ba6ibPtgsCT7Yrm7/4d+MrIgXfhbWo1Rd5K2ryBV7nKgjtX6F0UAfmk9neWcqLdWdzb5yVE0LJkeoyOagE0b42yAnqSTX6Zsqt94A/UViXvhDw3flDe+H9IuCmdvm2cbYz1xkUAfnc0ZDBnZQGB69RTAAkW49v4v73tX3fffBn4e3oAl8L2SYbdmEvESfcqwz9K53U/wBnTwHenMUep2fzFgILskAf3QHDcfrQB8aKhK4O0DAJNM3qdvDAfTrX1Zf/ALL+jSK40/xJqcALZVZoo5QB6HG0n65rntY/Zg1Yu50zxLZSRqAI0ntmi9M5Klsd+1AHzkrFjyABz1penBAB+tey6n+zf45tjKbRtJvAi/J5dyVL+wDqMH6kVzup/BX4hWETmTw5NOdu4m3ljl4/Bsk8dAM0AeeSOqttznjNKMY3ZHFb2p+CPFWnki88OazExTI/0GQgAdTwK5+4jmt1AljdAzfKJUK7vpnrQA4ZwPQ8ino5zwaijdWG45d+mB2pWURod2NwPIHY0DJA74yCad5zd8VWST5m3Dg8jnpR5gCnBJI5yaAJ2lOenNPWUAZI5NVw/wA5z09O9DPhMnGc0gLJlHTmnBxjk81XXDMFXls4puQXCjljQBb3AgZAP4UFU7ouKrZAXPOM4zSq5z1oAn8tWHQj8aaYVzwSKj3n1o3tk9hQArW4C8Ocn2qFoWz2qwJMD1pDJntxQBT2FXX0Jq0BxzxUMjAzKB2qbqevHWmBHLL5R68nsO9RB2YYClR6ZpLo/wCkR1cjjBGTzQIplCep4pPL6VfZFFKFjOAcUDM/YfSpEt3btge9X0Cg8CpCT0FAFWOyGMtzUrwpHExAAOKc2R361Hcyr5bDIzigA0S3+031rATgTTJGT9SB/Wv0h062Wy0+1tUOVgiWIH2UAf0r88PAllLqHinRrS3UtLLdxhQP94f4V+i9AgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACopreGfb58Mcm3pvUHH51LRQBzd/4D8JX5X7Z4a0aUqx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ABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9k=\"\r\n\r\nconst set2 = \" data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAXcBdwDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6pooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK8h+KXxXTRZJdL8PmOa+AxJMeVjPoPU14RqfiPWdUna4vtTu5HbHWUgZPoBQB9q0V8Otf3od/9MuiAOvnN2/GlbUb8q228udwGT++bp+dAH3DRXw2b+/DAm9ugAMnEzf40i3990N9dd8/vm/xoA+5aK+Gv7QviABfXXHP+ub/ABpr6pfgti9uuDgfvm/LrQB9z0V8MnUL7cc390c+kzf40h1K/wANtvrvP/XZv8aAPueivhkajqQDKb26A/67t2/GnDUtQIJW/vBgd5mH9aAPuSivh3+0r1gNuoXm4jJ/ft/jSHUdQVmH9oXeV5/1zcj86APuOivhhtT1IOMahdkNwP3zf40LqeoY/wCQheZP3cTN/jQB9z0V8NJql++Va/uw3/XduD+dNGp6oEJF/d4GP+W7f40Afc9FfDrajqg4N/eZx0E7ZB/OkGqahgY1C8Ge5mb/ABoA+46K+Hf7S1IIrR6lek9/3zdfzqVNU1LH/H/dF+QT57f40AfbtFfET6nqYhymo3ZO7/ns2cfnT4tU1Icy6jfZ4PEzdD+NAH21RXxPJq2oLJtXUbsADO7z25/WkbVtSLbRqN4N/wB3Fw3H15oA+2aK+KV1jUjHzqN6MA8+e3X86E1bVWYj+0LzKjAHnt+fWgD7Wor4rh1fUmXc2p3u4Dkecx5/OmLrOpoP+QjethiP9e/5daAPteivica1qeGJ1G9Ug4x9obv360+TWdVLLt1O8AIz/r2z/OgD7Vor4m/t7VsfNqd4O4/fsf61oQ+OPFMUKJb6/qQjUdBMeKAPsmivjv8A4T3xduI/4SDUhnv5pwKcPHfi5ty/8JBqIIGf9d1oA+wqK+PR478XnGPEWocHHEvX3pj+PvF2GK+IdSJHpLQB9i0V8fN4/wDFihz/AMJDqB+XOPN6Ui+P/Fzp/wAh/UNw9JetAH2FRXyEfH/i1VYf2/fEjA/1tOXx94sx/wAh+9PbmSgD67or5APj/wAXgNjXr/I9ZO9LJ8QPFoKEeIL8K3q/SgD6+or5E/4WF4sJymu37L0zv/8ArUq/ELxWpO7X71gfu/P/APWoA+uqK+SP+FheKtzhNevSV6guOKbH8RPFkhKrr14WH+0BQB9c0V8ixfEPxczDbr143OCMint8RPFwOf7avMem4cUAfW9FfJQ+Ifi5cCTWbwk8jDCr6fFrxlFEEW+jcKcbngQkj64oA+pqK+WZvjB4zjzm9tznkYtk4/Snr8XPGrRh1vbfBH/Psn+FAH1HRXyynxh8ZlMG+tt+en2ZOalf4weLxuIvbYADvbLQB9Q0V8uf8Lg8ZKm5ry2IPT/Rlp3/AAt7xrlcXVrg462yjNAH1DRXy4PjF4yAfdd2vynHFstA+M3i5VIkurYMO/2ZcYoA+o6K+Xx8Y/FzEslzblAP+fZc0v8AwuLxfsLC6tuBk5tlFAH0/RXzAfjL4sCgi5tD2P8Ao60+L4xeLpd224tAw7G3WgD6cor5gT4y+LyRmS0A/wCuAq9Z/HDxHHARNa6dOw6syMpH5HFAH0jRXzrH8ddfbfnS9N46ff5/8ep0Xxz12QZGnaZj/gf+NAH0RRXzw/xz10FlGmabuXnnfz+tIvxz11lU/wBmabz7vx/49QB9EUV87N8dtcR3D6Xpw29OX5/Wnj46a2VJGl6efQDf/jQB9DUV86N8edcVip0iw3Dtl/z60/8A4XxrOwN/ZVhg9OX/AMaAPoiivnkfHbWf+gTYAYyTl+P1pg+POsnONJsPbJcZ/WgD6Jor55Hx21jzih0qwGB1y+P50v8AwvjVsjGkWLDuQz8frQB9C0V8+J8d9VZcjSbEn03vSP8AHfVUODo9mTjOAzUAfQlFeCWPx6ucBrzRInVuFEUxU/qDVs/HuMdfD0gPP/L0P/iaAPcKK8OHx/gPH/CPy7sZx9pH/wATTj8fYB08PzHjPFyOP/HaAPb6K8PX9oC1eMsugzkjqBcD/wCJpiftBWzZx4fuMjr/AKQP/iaAPc6K8RPx+tQwB0CfOcf8fA/wpP8Ahf1ryf8AhH7nA6n7Qv8AhQB7fRXiUfx9s5ACNCuBn/puv+FK/wAfbJVydDuPwnX/AAoA9sorxRfj7YFNx0S5A/67L/hT/wDhfNjuVf7Fufm6Hzl/woA9oorx+1+PGiGQpe6bfQnt5ZWTP6irI+Ovhkk4tdU/78r/APFUAer0V5P/AML28L97bVB/2xX/AOKoPx28LA4NvqgP/XFf/iqAPWKK8oHx28KkZ8nU/wDvwP8A4qnf8Lz8K/8APHU+mf8AUD/4qgD1WivLB8cvCpx+71Hn/pgP8aP+F4+Ff+eeo/8Afgf40Aep0V5aPjh4VOQE1HPp5A/xpw+N/hTHS/8A+/H/ANegD1CivME+N3hNmAJvgM9TB0/WtJPi54LZFY6uFyM4MMmR+lAHe0Vwn/C2/BR/5jS/9+ZP/iaP+FteCv8AoNJ/35k/+JoA7uiuF/4Wx4Lxn+2kx/1xk/8AiaUfFjwWRn+24/8Av0//AMTQB3NFcMPiv4LPTW4v+/b/AOFO/wCFq+DP+g3D/wB+3/woA7eiuI/4Wp4Mzj+24f8Avh/8KX/hafg3OP7bh/74b/CgDtqK5ey+IHhO8iLw6/YADtJKIz+TYqx/wmnhnOP7f0vP/Xyn+NAHQUVgf8Jn4Z/6D+l/+BKf40v/AAmXhr/oPaX/AOBKf40Ab1FYQ8Y+Gz/zHtM5/wCnlP8AGnDxb4dbprmmn/t5T/GgDboqjYaxpuoZ+wX9rc46+VKrY/I1eoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8/8AjP4rPhvww0dtJtvbs+WmDyq/xNXoFfLvx51aXVPGs9qCAlgvlKvvwSf1oA85eXzJt5Jdn+ZjnqfWoVfdF6EjaB/WlWT5Fbjdyufal2IH64YDdn37YoAHdvLJwMcEA+lNkaQkheBknIo5IPJYswzn1oPKMUyAeDkd/SgBVZhIBKvQAHHoDQgDCTGenAH1pHb/AFzEHdgcfSl2hFZ8fMDg8dc96AGt+62Pt3EjjHt0pwUM4ZP4zjJ9aQxjKtg8AZHTFGOFGflLcfXFADvK2lR0YZ47VHISEBGSOpqZ8lMp944fr09qjuNwRyFwCBgHsc0ANlVZE+UMMkMpH8qU79pJbCJ3+ppFkyDztYH8BxS5+UEjCkbsfpQMFPz+gYgY9KGfcgGSFGQT75pPnJIAHykAfSnF980gblScqelADHP3AcADk1HwzrwMZGalAGQcY2rjP+NKkeXYcZ25A6UASJkTsAAytwPpTWP7sH5icbSCOhzTlYHym+7kH8DmkIXc+H+VWAOOoHrQArkEvyQrZOc8ikhAaNiDufov1xR8u5VxlgAGNESqnyjPyZb64oAkwEkPljHyjI9T3pVQEERDILH61EshKszgKQMg/X+tPjIXaozu2llINACzAhiQODnb7iiNijHG7jue1NVysYzngYA6kGnQMsgbaxYryfcHtQIUCPaQzZOCBgUivt2AAbVGDnrmkd1JDBf3ZBA4x7UqMpcg8lhzxQMeC4iwTzjoB1psbEycAtE3Gf6UnnALnACYIbPX04qOJHcqqHG0kqD6UAWGIWCPYp3Z5Hp7VHKFTc7BsZxketKxIA3YyXPNI0i5wwJVhnnvzQAhcLOhdF8sjB/LrQrK5C7flwefr70OWAK5XI6An26U4NhVdQVOOPQ0AMiYpDg4Kr19aeqbRtTtye4xUcnAPOCQPk/xqS3kPljGMjr70CGsHEgUHCMvQ+tIql03McswIOB6dKdtZ3LbcLnBINPRD5YBKjd8uRSGMbOQpRgCBj2psUO1iA3UEE56fWpWUZIGSQACSe4oQ7B5jH5OQwx1PamAbBFtYjsQfQ56VCNsbtk45IqXf5ina4ztySRilmQtuCYyWwM+uKAGMf3gZh8+APapAXMvAHrn1FRKxbIGAy5B49qH3NIm1TtBCnB5oAkZG3h1+uCafJExbBUDjrjpSKWcsFAwDgZP6UxCDJyxAzjB7UASKwSQgDPA24P3qckeYflUgk9+cfSoltzmMqc5OPQmnIXjdULjIORnp9KAHRIsjF9u3PrSZVDJhQp2DnHU1P8AdRgMYPIx2qM4KFJBnkAEetACIQHOARgjOO9OUbg2RgluKWRSATkqwyMilUqRh8ElgRigBh3KQqruCrkMKIx5cBbGGIHJqQYSYgYJC/d6UgXdGEGSoJ6kflQBEUjhmYPISCucY60M6k87gigDaPQ06cs5coB8nT1B70bTLuUAEEbs9DQAyEIoJUsWHUelPwxwHHU5HHemhRHtwCG9SOTTkbzC2cbu3PSgAli37UycAc80hBkMKtIqshyAT1FI42ui7SWDDJPQ0XCqx8zABB24FAErklpum4GoZZMOqkAJtznrUrt5a4HPzbWJ5OKiUdcR4RsYPWgByMu3lhu24UiiTLIp+YE8YPT8aYAN/wA6HjOCKdb7iNrFTs6YPagAlgR4ww+XjP0pi/u2fqR1z0pZcBtyKcEbSrHginR8SHH068UARI/yo437jwc09WG75SQsnt0p6j55F5ORnj+E/WgRCMqXOWxyetAEUkWFwHKkN6daUyFYyCpDk9MUsoLLuDHJGAD61EkgZF4J2cH6UATCTluQSgwKiy2Yym3kfMKNuxC5PzM2DkdM0ElNu1lI7kUAPnYEx/Llm/HGKWAkowOFJbt3pp3CRuNxUZU+ooSPnkndjdycAGgBLWUmQk5aTOOR0p8pdIgrZzn7w6U1kYkuJCOCD6mpG+SEbjluoJPWgARlwA7Asfl6YBpkm2ZmXIXb8ynsaTlwJtxH+z2pQi7wNzZBzj2NACKwZkDqwVVJNI7EHbGmxm4LU7zUUOAcAcDPrTCpyS+5gRkc0ASGNxsBHygYJH605IwdrZLRnjI/hFV1LZA3NtxzkdD6VZi8vBVWIAXpQBEjIWUIvO7gjtUiszXBH3Vzj61CFZZAUAZdp246ipNzKqs5BIyCOv40ARuzMrEgBM8MOuKVWMasWHzMQB7ikjYOFIyoIIyKUgAnBJLc5bpQARRhWfGBzjg8Ad80IiRoxVeSvUUFo2QKrFBuweOtMEsiONhDRg7SSORQBKwURo+wHjJ9acGBkdNucjqtP2qpBBCBepPQ1FDuMx2t8uCSxHFAEYiYCJFP4GgRiYMijaygEk9KkCBZJTv3E4A9s0SB0MkaMeg4PagBhiCw7c5IOABzTZOJjE2QoGSR2psseCETvjJz171M42zl2QDjkknkUAUxbMCjNL15wfSnxY3xH5gp56cVLJHuBKlQu005U3W8eMIWI6UAVpVYEhMkcn/61NMkqSkOpywABxxVqVwJJU2lgQDkdiKcpUyBiR0OBQBUSQo5DITzxxUkM/mZIXbj1FC4/d7wMnJLfyqWOMFMJhcjcexFACeYhKjCknqQcUzzEdiE4HfmoBGzqCSp6kmp0t0+zsV4JGTjt7UCHmWNYQWBHbPrTDOpA5GDyKijiaSAhMhlOCD3pfJQZUg5xxQBY8yEDqdxHTFRnYAPlwOevemiFcMHB3Lg5HUe1JtyrDcTnHagAEkbAnAGByDSgq4+TIG0k0wWwBI6ndkA9qUxGMkELlvu4PWgCTeuzDdcZoHlybiu0AVA0RVGcMGOcEGkVdkWWXa3JNAFhdpAKgdaVUDDkY9DnvUMcmFAwM8cetSSS+Wv7sAHJ4POKAEOA20dCetIqAsAV47e1OWUlFYrgDn60rOVbHVW7jtQMTy1ICsV3fSo3iAHQD+dWE2pIA3ynHHGc0BkZtpALH5uB2oAgWJeFAG4csfUUsMCsX+QEg/SpHxtRgTuKlcZ4p8jqABjBB5oERPCjZxgBe2KdaqUcMAByOKcMOitgBSMEYpwVUBI++DkLQAkTTRv50EzRsDnKHaQa9H8G/GHXdB8uDV/+JlZgAfvDiRR7N3/ABrzz5UdmIGOBwaheRHRiFIGfWgD7O8JeJ9N8VaYt7pcwZejxn7yH0Ircr4w8DeKrvwh4jjubKVvs7MBLGejpnkfWvsfT7yDULGC7tHEkEyB0YdwaALFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV8efFGdLr4ha5JGcobhgD3IHBr7AmkEUTyN91FLH8BXxJr8/2rXb+YdHnaRfUZYkCgCggBEhRMKuGAqRVLTQhcj5ShPWkAx8wbDMAzD1PpSN95wCQd2zPpz2oGLGMBF+8COccc1EW+UxgknIBPvinFljYH7qqCDnvmlXAJz/d4x1JHNAhGX76KOOfmPJ/zmlkIXDc42hST9KVVwysCcOM4z3PWmuMoO6leRmgAUAq2SeAc5/CnyJgA55LAjHvUeQVwcgsSD7+lJvfbvwM8oVz06CgB6qQzsQSFOxs9OtIyh1wSd55BPYn/AOtS7T5T7nAw3T1FIqllIP3iAW5oGN4ZzkYKkZHc9KcwydwIxjJ/GmqxzuJ4yMHvjmnx5VcHHUHPqM//AF6AGKWVULDO0nnoT7UpAEmQcAA8elK+TGwyMBiefQU1wRhhtY7cEfjQAqpt8yNmyDxn0p8jb1IY8cBSOuajVdxfkqd33evQc075vlGBxlvp7UAOWMMkRB5B/wA5/GpCoA4AEbjnNJH/AKk467Q49TimhmiHRmUNkj8KAIS24Jhsbe4NTr+9hZQSCp2gY65qEICzbV4YDgUkZAIjVsEckGgCVlJyeApXP5daVTtibcfbge1MdTlQPmG3kZ6U4DEiKp5BIYeooAUSCVGaPaW4yO4wetKARIsiEDJH3R0zSJHuJC7cnPXuKIwwUM3Uk4we49aAHKyK8qJlkbj2FMfayCUHJU9B6UmxirOgOGO0896UKywuxC4BxjP5fzoAVkCyZbG3AJyPWniNVjZg2c8YHpUcjO8gjAyFGM54zT42B+YAjGG470AMziZlAGC2QB7UK4IG0FlJ/EZp7MFf5RynU96aVUNj7sgBYkHqaAGN5i/MRnHBJ71ISyRhPfOPamoxkwGCnPBGe3apIQwDKw+6x59BigBjuWZlGM7cVIsbIADhVznI/rTWwVLLjHb2qXeTFsGDIBwexoAjZ8s64xnqB3oGwoUPQEsD6dqAylxI4KsuenQ4pSmVyn3SMDNADmxvbpjtjuMUH5grZUjGPfP0pgQyIRjDoQCT9OKcke0D5fnDcE+1AAIgTKZFxhgVx24pYYQFY53EtkdsVOmWkLHIcA8exqIqAzRsSx27gw9etADcqvMOSp+Y5/Wnxkec43fKTnnvSsVZCVTG4AE4pHVXV2UgsPlGBjmgCKKMspYYVwQxx3qZlQSBlyFA3EehoyVYpHwQOSefeokYttfOSxOT68UgJiQoiCkLjP48UhU5z3JBYD+dJHE23crfOo3bT9Ke5MnKknIGQOCKACSRSHwwIDdTwR7U2bailw2N3AGMgUiqEAQgOzHpjr71KrKzyqoAYAEgjPSmAjlpUKkN5jJxjpSTfulQBWUlSSRT4yxjmKgA4yAeoFKgY4AbGE4yM0gGTK8kbnnCjggdRinQwhN6qW3Dvn1qZzlNvcjp/WkeAMNwYhu4z0oArTny0lBGDxgr3z3qaLbhTFgDoxY1KRuRnOSQDhD3PrUUcCOgUk4Ubjn3pgRzSjJO0sqsQee9JF5aMvVuOuO9SuQvRQCSevY0gDnIL7QV6kY5pARvMrJ8uCpPIPUUxWYwbkAyG4PrU7RxkkMSGGMj0oZ1jVVPyfxcd+aYEEaERhywDt0HvmlkDMuAxBYD5TUjyeXlSPmGTx3JpSwkUoo2uPWgBCQqt8rKc/Wm7sb+eoHTimFGDANgbsYHarBXcDuAJGOaAIGBMJXaQQenqKji+VAPusx6DvUzNHHEF+ZmIPHrmlRW8tWKhWByO9AEUQYEkLwwzx3p0oEa7gwJIwAalSRtwd0II4wOmahkZpVCkALk54oAhhk8xCmWJLA8dz3p7wfO+wYzycdKfHsT5owpA4x6VIHWSMyKNrYzg+tAEAfdbKshUkHGc1F5AXeoOQo5z69amijRWLKFK4AKn19adtJUg/fVuMjqKAGIwUmJQx+XO80RkyDDgA4BB96X/luhxtAzznpSW4IlkBb5zjOaAEJYyrGUwQM8HtUbZkuCrKzKBgYPQ06ZUEhbJHJXNSWymOMBmGc9exFAFbdhhsPbAIp6K26SQMeu3PcU9U2uxVRkjJ3dqcYmVYxEQFPX0z60AQxxqY968kZyD2p8Mn3ANxVevrn/AAqSdG3Ljaq55PbNDWodCokIYHJIoAjRhMhUnavOfX6imwHbKVAymDzQOIGyMZ4BPBpRHJtDgEf3h7UAHlvHGBEWBIycn9KeItkQ3krnoMZNDLHJvdifm+UDpipJGAjAVyduAOM5oAYhXAVVBUHHHamyRhVG3knjGaeoIkAQDysZbsc+tNnCruLsxUDI+hoAhhmXdtkXEgbgjscd6dDIskgWRhhs5AHBpzRhYn2L83GPWnsUTGFDMBgADpQBCWG3D42EE/N09qcyh41VmPB5IHWjeMNkkjqfb2pFKCIFH6np70AOlYCIhz04BXuKcm0K0eW3kE4z2qKaOCNThCecfe71Ku4ZJUDCdupoAcUV5kUHHyg0xiTHLhzgNg7u1AWUCR84YjGfamEf6HhWG5jk0AJMpby1wp45x0qVvkJMq9DlfYdqRsMIm3bCF+U+vrmms6uzAknnBz7UANIMgIVvkOBlT2qS6GyIqhGB0zUSYEWIyA2CCD0p8iHaAT15bPUfSgB0ZLIDIg27V/OkfCLIuRzgbs54FNjLhy2GClMfNTZvMDRZIZQQCAMZ9KAG7E3KIwwwQAR39aeI2dRgkc5IHBahA/2sADapy30p6hwxDEAA4+v0oAjLNGnJ/d4Ocdc+lLauCGZ0XCjg55HtSztmUfKQG4yemaitU2kBmYZ4PHBGaAEe7ZScJ5gJ5yaljAaJHUY3DGPeiKKPzXXP3DjnvT5ogoDBiCnJUHGKAI2Ty7lC7k7hyfSnbirkvhnQZAx/KlWIkAu+CSOvcU9lXe+QFyQVAOeKAESM+SHkGHJORTI23RSAgYC96fKwCMIxkgbsHtUbKvmN5Q+YqBzQBEu/ho0JAHANS7MOh+YsTg/Wnx/64I4wetI3DeWTxu5PagRDM2+RsF0QDBwKVgB5ifMVA+8TUnDRspOcNkL7UBAkcx+8mR/9agZWtwZJ8EkY6nPApW+6Sh+bPUHnH0qebDdDtVh29cU1o413MmOFGMe9AFdCW2ZBOzkjNEm47VXqB19RTzEWLYyMfr608KpUblxzz9KBEMhZcAE9M8dAKsRv5ZZ1YEkADPUU1wIweCecn29KjYLnIB3ZBx7UDJFYLnku2ct3Ao2hj93PIAwfao0YOWJUxhuo9KtNE2I2GV9QaBFCcsrLnHBx719Tfs8aw2peBjayElrGYxAn+6fmA/U18sagMeXtXaDz9a+kP2X0ZfDGrOVIVrpQD64QZoA9oooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAKurHbpd4fSFz/AOOmvh6WXFwzA5y3J9DX2d47u3sfButXMRxJHayEflXxltUx85Xc2AfT1zQAOu1FwQzITnH8QzSY/wBYd2QXGWPbvStnLIPk6nkcZ7imykgqobaWPTsxxQAw8x4OADyB6jPWpBIybSdpwD06+lMBJUqw+VT8p7570sZZhjg5bI9SDQA2NtgQZ+bf19+9L0LK/IIYH1BpB+9Y8gMSF9geppFPmMQWA5I3Ee9ACkFo0UMck7QfSpFHIwB2GB7/AP6qaHCxqQuTuUjA596fE6S4VflB3SD1HtQMQg4UnBbqR0wDxQ6ny2BxnOfxz/hSRBsJuGVPynvS72ZMZzIuDyOD2oAQZj27wM7ecnuT/wDXoiGMAnIHOT25pWjAOMht3qePelyEUZGBngH17igBGBVychiW2n3NNQkM3QLkAj6HrTpASu7pjoPX3ppG6IlkKhn5PtigAkAALJnlsg/hyaepJ8pyf4dtRQIGAxlXII2nuKVhmPJO1lIJ44weKAJY23SJuwAvygiot7jOzn1zRISy4QA8BgfwNMi2lgoJ5P5DNAD4cktvGCOhHenBNpGzqe5pVK7VPDZZsgntSIW64BKn5T6igBAdxGzHIwQfpTlBwkgbPAJB6nimBWy/zYlB7dzjtUzphmJPRcrgdQaAEG1Fy4zs/XPQU52U8qcpuyOOnFRYJG3aDnkfWlwTv2EMVJI9vagBvS32AEYO8ZPNSZJV2K4DcEZ4zTEJKICAVLDOO3FOcBehG0FhgfWgB7NGhI5OSRx/L60zkDjq/BX0pxcJCAyBgvBPvUagysc8DqBnt0oADKr3AOOh69jTpF3F3ZsA4YY/lQQCpKFSigcHrimy7sLkHAO0gdKAFSMsBsBLkNjP1obenmsDuIxilDeTKDuPy+npjmntt2KM9D97H3u9ICJmDF90ZGSBkfSp9gCFclGHT+tKAxiBxtQkE57elIMr1bdjjkcCmA542G4FQx69PWoW3eSqEjoMkDjrSq8oVsNnPT3FWQgHLEKpIz6GkAkbFy2eSD1x70pjbLtFjbk7vansoEfyEA5x+A7fWgltiGXOO5FABAAXZmb51OCCOtNQOIkWMgPg5NTOFCbmU7sfj14OaBD5k7YYKNvAI9qAI4WyWJ+ZQDxnvSxlQpC5ByM8dsUvkneNjAALtHPXB71JMpEbEYAc8fXHWgCvIhUFcZXaR75p9qEKsCMYweOo7U+FQ3mAj58ZJbpmgR4uNygluBjPBHegABVZXyQfTPGc0zgyh41ViB0z07VNcKXjDAArxxjoaSJUC46jac4HWgCPADJI49hxniljhKvLJGQpbox7VZ27iCTnH3R7UxUG3l129QPWgCFZMPukOSVxuAxSxyHEkcYByThu/Sn7coYpBuZjuUgY4xTreHYmGJUDB3Y56UAMZVk8rZuGRgse4FOhVlbEgIYj5T6jNSIxeV1f5R0Hr9adtLsQ7HYOVx1AFAEU2YWduqgbiM9M9qiceYr+UWBGMipRi4i/eggFsY6EmnACJmGTkjjvQBFLb7oiHJBUDtikc4hBZcYG7BPWp7hJH2sAOgyc/wBKgaNV+8rbW+UDsKAFLhtjsnKj86Yu3CtGpCqed3cGpCv7whVG0D+tARoSdo355Cn0oAjlhG4MFI+bhgc/nUAANwyyblI4U46mtBWYJ8wYEv19KrNG26ZmY9cgfSgB4XeAdvbcF9PamSQgyoSxAOCc1NEjMXJBA5PWlRWJJycEen6UAVJUbIB24Xngdh6VLghsqCdy/hipgoDBiTv9xUKHIHO8dSO/NACiNZFVCh/vDnoagG4NkqOScrjt61NJIsLhl6nO0k9KSJHf5yxXfn3FAFWSFI8tz8vLe/tUwEZVRksozgVLcQjIyRhhtKnvioYgGTYwxg8EdRTAHVGUOF5A4HbNQBy04AUg9/Wp/KMbnH3dvT1NMUgIMZ3gY5HQ0gFMYklCsT8oznrmomj25ZDnJAIHUUvmJvYPuwecjsaTCFwu4qfUdOaYDTvKxZZWAJI96GcMYwRuGTz6VJcou1DzuBwuKjJZA+XB746UATBlLNGASBw3PSmlCGKgkqBkEng0sG2OU8fK3DA89qSVg8Xy4GeOvWgBp/dRlXJPGenenEDO5cq5AzjuKZMoIDknBwCSaVpQxcoTtUY5/nQAk8QMhaTLKDzinKW/equ7HQGlikVCCXLk55xSxhzG4K5cA8mgBsMzj5JIyDn72OKJHLsRHnKHGOxpSzi3DbhIGI5FRyM+5mBbAzzt4oAVC2fMV12qSPTNCuZ4SrbhvySW/hp4QjAddy8DI70sqOpI2h0z260ANdCqs+WLBcDHQ1FGnA2hflGd341IJQJlXd8oXofSl2oHRVJ2lCS2KAIo8rLIi7WY88ipSiKrGNCSX6A4OaZlQokCg7eN3rSFZGi2/wAQG4YoAgYgKNpbO7B3e3NTvuSEszHeVHA7UxVVlCuCsnOFJ609AxI+Uqy9OaABduXZiRngDPei2KIPmTIGccdaevzsCSwyevamhHijk2tu5CruPSgBnnK4RWi2knbg+lBZsO2CNpPJ6Y9Kesu+NAArEDJz1zQ2/wAptwADAHAoAbvBYEjaABxjrmkwTMwVgRtOPal3qAoIyBgHPrTzGvkuItuWY8nv7UAR7f3kW/dkZz+VOimc7ldCBnBGfam3SuVk3HGeQB606J2G9ygwq/NnrnFAArqpCK2AF5Y9TRF86gk/KB0bnr3qSNI3CGVRny/T86an77yTHhRnv3AoAeY8NsZsgJhT6mnQkP8A6wkODjg/rTI0bcC8iFgTxSRI8cpdiux+vpgUAN8vMx4Yr1OKWYApwucjO4dTTi6qAdwy3XHQj2pxL7h/Cg5Bz1oAYhSTbhfmC856mmLsRY96NkfezUgkBbJyeCCMfdqGOJptmQzDrljyPwoAeEGcfwuDzio2XAMWco5C7vT2p8bSK8ak/vADnPSmqURUMnuR3HXr9aAJN5VlcnC45HpjikmXzFRyBlsjGal2yCEqNuScn6VAcoqqOdg6jvQBGEKjcF4C5B9TTjkoFcFU4xz1NEe5yGYlUYHaMYA9KVNpVNw3EBjn1NACbCQrIcjB2+n405VKI3Q/L94c5NNTbJbkEAEcimBtsqxx5+Xn/GgBwESucjA9ffHNMcjzYWO31IPH0zTi7YiOwgZIPHSkiTd5yuwLYGAaAEusByynduxgDsaTeCSXHzjCgH2p0bBpCWVVULu47dqWOJJXkLgkgDjPfrQANE7ueVJzyDxSs7Fgy/czgD+tSBWKLsUFicnnoaZKsaAc7n9c4waAM66kVp1AA/xr6r/ZxXb8N0OBk3cp/UV8q3mPtuFAAHoa+vPgTZiz+GWlEHJuN859ssf8KBHf0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHH/Fy7Wz+HetMwz5kPlD6scV8iMMEKG+QkNwc/56V9U/Hh9nw3vveWIf8Aj4r5UhKmQA52jv7YoAeSVkVj93BB9yeM1GFURlHzvUbU78jrTl2/Z2IP3UBX1JzUpJZ8ngnaQSO5FAyCNsSrKxycAH1zQn7sAsdu3J9cUrsBEx25AjLYzzyaGRsvtI2/Kee4oAT5o3wAPmjyB7mkjVtu08SZXP8As0I20MzjLbWOPT/61KAu9XJILfx+h70AMDMpJI46/jk1I7hWTC4jLcMOvNIQEGzfkKcgdzQQPNC4wSw2j0x1oAkkxuZS4wx4YDoc4qNztRtuV4IPfJz1qRSohy4yNxKkdPemKrKzK4PJC4P86AGopH3TnByQewI4p8Y3IqsvRgSW7cU9iSxDggY4A7joDQAXTe2RgbCPT3oAazAwx4PAQqR680SEfKzHO08++KNgUrz2Bx6HNRfMdjMBgnJ9M5oAeOCQxIbcGHPQU5SMKWXdgnOPQng0in5WGQWH8Z700Bo1OSOwGO3rQAhby3fy8bcAHPY0qoHlYgYC4/LvTiFwGbKgcuB3psUhaRznC4AAI6elACooQ4IwBngHtj+dOZcSYydoGPoabkuScgFf1zUodU3cd8EdcGgCNSAz/LgnHfoakbJOxTyMY9xjNQBwxwoJCnknvUy/M+UByvT6UAMK/vFw+057fhTkjO4hV5yWPPpTx86843Bske1QJhZnYEh8bgT0zQBII921QduD09aQIDgLyASDn3oVn25YYVce+Pehl+YDGQfw9qACBWG4yAEZBOewo2AykDgjgHpnuKFwMruLZyv4VGmfMDMPmXt7dKAHZOHLAB8AGnDfuB9GBPtUDbXZlPAPBx29Knj4RVfG3vj096AHEeZHycHtj1pu5THGucA459fpTkjwG8zoBk47EUFdqIH4CfdOM0AS7iTsDnYRjkdM00qFh2k7jk/Un0oZd+SW3Z5GDigb2fK5QqM4PbPWgBY4wsW4DJ6LkY4qUREiPc5MZGevtSop2Rh3BByM9jU0aNEURcbB1yc80gI4gWjZQufmzgip1TMYCZ69PUV2vg/wbNrJ86RvKt88tjk/Suzt/hpYIn726kd853BQK82vmuHozcG7tdjshgpyjzNpet/8jxsDzCQsRAzjPpUkarhiwxgk8V7IPhxpwbPnyev3RSn4dadji4lH/ARWX9t4fz+4r6hL+Zfj/keKpAPNBcdiAo7ZpwgJVVRcnkZb8q9n/wCFc2PUXUuc/wB0U0/DeywNl5KCD/dFH9tYbz+4PqEv5l+P+R42sEgQgMRxzinRxEKXIOeBjpXsY+HFkTk3UrHv8oFSD4dWHQzyY9KtZxhn1f3MiWDmno0zxcJmFRIp3qDyDT0jHPyAMSoHfmvYm+HNiOk749xSH4cWJbPnvj2FH9sYXu/uYfU5nkAgBLl+T0I9T2pk1qAV8xThRxt7V7E3w7tGA/0h8+4oHw7sz964YnGOlH9sYXu/uYfU5+R5IYVXoGJTGM+9MRHR8M2Vx9c16+/w7tDkG4Y/hUbfDm2K/wDHyeeOlH9sYXv+DD6nPyPIjHIJxJgFD1B+lKAVBZCMHqK9aHw5hDZW6wcY6UL8OIckm6/8do/tjC/zP7n/AJD+pVO6PJ8BSFHHcA+lR7fKbem4BsDpXrT/AA2iyDHdAfUUw/DYEk/a1x6YNP8AtfC/zP7n/kH1Kp3X3nlkqtIQrjAPOR2qKRccJ9x+/vXq5+Gykgm8XjttNOX4bZGDdoO4wpo/tfC/zP7n/kH1Kp3X3nlDR+Y2cnAwQaJIiJdhysZXk98+1eqt8NiDlLxOeuVNR/8ACtZSDuvIic5Hymj+18L/ADfg/wDIPqVTuvvPLBCgkcs7Fc4FKhUDBwQTgcda9T/4VtLjm8iPGPunFRj4ZzDIF3Dj02mn/a2F/m/B/wCQfUandfeeYhFjbKoVUrjOfWkUbI8seR1xXqh+GjN/rLtD/urQfhq2eLpcYx0qlmmGf2vwf+RDwlRO36o8qVEIMinL9SoHFIkJTOARuxwRnBr1U/DMr926X8qiT4ZSKTi6BHrT/tPC/wA34P8AyD6rU7fijyowF9wZeASMY5+tI8RcNtbGPujGK9YPwykI4ulGeTVS9+Gd3HGXtpUkYDGM9RTWZYZ6c/5h9VqdvxR5eEZgTKT8pwR1zUZVLeRcA/MOSe1bOt6bPo85hv7d45D1Hr7is+Vs7dyjaepJ5rsjJSXNF3Rzyi4uzKMu9bfbuzg9RSCJdxdSN/TB9aTzMBnUcb+f/rU8GVgxPUEn5h2qhFdiI5djcYwS1K6h2lLNnGAPWnvCHTPZgCCagnJ8xSgbknIHINMCZiqYOCVUYOaYnzyMwbI2Dj1FJGBKH3Mw74I6YqRkXyyQMso4+tACYLMHONw4De1SgOMKygZ79RTNhki8uN9qKvI9T9aaodnQggjbgg9qAIxJiIRTZLbu/YZ4p0RG4DKnap+YDrUkQPlvuHzcDJ/xpAFC4CkKSVz3OaADhOcZDLnjrUjuzFGyQnTPvTUGRHHvYEZHShn8llgY7scA45zQA2JSIyC3U5+o9aV2LmTDAqQB6YptyknlfMANoHA9KiRGO7b91mPJHWkBZLOFJIx2wTwMUxnDKFZyGzjNO8xy7kcogwQR1NJGMhwU+ZxmmBEUBgiDkK54Den1pWZtrKqtuz37gf0poZi0qy4UoPlZuhp1xIQM7FZwpGaAK8Acna2AcgkdjVjcEmbYCdowFJ/lUI/dsDyM5IHbpSgtCu7erA4JB6j2oAlyuUclQSMY64puQJGeI5wpBBP8qG2knKqjNwDnrUYPyGPbsC/Nk9+aAJsZgRV+VxztakUghQ42sTu9hQqgRMzblbtzk801VMQd5fmOzAB7YoAdNEGd3QZJGMfSnNIYkYEMxIC4Ud6igkVVXIIJOG468VLlUikKjad2SOvFADQAqRsy/OSOPc0SO0RdVUMoYfhmmlZHGA3yhhg9yKmOwbDIxVi+7B6n2oAjdmLAQpnPAOe3enSYihlLgnPv3pGkYyvkKsQyD6ikj/fpGQQBvPfg+1AFiQbgSqksEGB6VD5fzoyEjK4Bz04pQ+BtkPzEbGPrRIypvGPkGAMcYxQAnGAGcFsYyf51JAoCGJSVGPvN0zTYVUrISQUbADd6VUTcoBLD1J6GgBFi84BWyuxc59xT7kDG7Hz8EZPHNRs7RgH52IyGI9Khld2be+GA545oAcrOsimVfl3HBU8HtU5cEYUE4UqCOKgGNrqibgvKsR3z0pirK8oJ6LwfTNAicDKsQ/zqB8x7DuKijhEiOWIztBKjtipZCuZCoyPukEdaZEPnfGQxQAg9PpQMIg+/DkKSO57VIFIgCsQvXOR0FQsuV3MRsZgTk849qUusjKkOQF+Vc9G470AOmYI6sn3CAu7Gaan70xqMqoYn3wKBsWEBgMLkjHIOKFUonAOSpagQfeUsCMZJ+gPak2qpbdGwIG4nORmnjHkjeRuHzHHc+lRs7l43cfI2cqB0NAyOMymcLNwg6ben1oKO0hzhcNtBHJPFPkZljJ45O0Ad6WRm2K4QAkYLZ7/SgRHCCq/vVP3ST70BmDqC23ALk9s0kKmOVmYnDcbc9KaQwaUA9eOe+aAJ4B5MZJP31zuB6fhTgihY0mIIC5Y/1oePJbYc8AcHt6UTMpco/QLtJ6GgDJcYumHIHvX2l8JYXg+G/h+ORdrC1Bx9ST/WviuQ7ruXPXJr7u8LqU8NaSpGCtpCMf8AABQBp0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHk37SMzp4NtIlbCy3QDD1AUmvm5/lkkJxsTOQOvtXu/7TMxUaFGSdmZHKjvjbXg5kXJO3ByAQfrQAhfYNvBkDZPsDSSMQpxnATJPfPanLEwaJs8qSzD1ANMZwNoYFUbJ2ntmgBVUFgH4AB3H/AGfSj/W+aM7AemR0HGDTMM0TJnnIbjsDTzkySjPJUAHHcdqBibFaZi3ynJQnt7UoAbKsCMjb/unPWgyEnzyMrwaOiEYJbOCfbrQA2QjLZ6k7mI6YGKeSm1Nx+ZJOPp/k1GYy8TYAAJB+n1pwwAA4JdFxzyMg9KAHYyWRgP3pyAP4e9G4yRiUMcnGR3NRsW4J4ZeBjtSrxBtVSWL8Fe3tQA+UPnj5hs7UpIMvmblZWUtj0pwCmRWBI3+/SovL+4n8TAjPr7UAOYsFY7cMeCPWms4zEnGGxnnP1p5YmcupGwkKTTCmxUYqAwXjPrnFAD5CAjPnAC5HHBz2pgAJyAMdMe5FPQFdqDHYDPPBNKzLswikFeRjvzQBGNuOAVAXIHuKcq7mXO07l5A9RTSPLGWbAxgmiQhGXB6AfMO9AEscalSeACOcCmyDBfgnlWOOMdqdhxvOcMwBA7H3qJN4+XccnAYH0oAVUHlhkHXqAeuD1FOTcqoGGW54zQg+XaeDzg9sZpD8g+8Sc8e1AD5IxhCgBbHLDoRTR8z7gchhjHUCpN5ZWCr91fzpseUjIC7WyML7UAIkmARk5wAc98dqfIPmRSxOFGMHn8ajLiRJZCAGwcDHvTrptjg9NwB6cUAMZURFbGHU4+tJH8pQr94DJx3qZEDtucAgknPrUedrHyzht2CKAI1RjK+RgemO2etAycEH5XXHP8qsKCckE5XqueopoQibAK/dz64oAWPJUgMQ56570K4bdn5sLjHdTRKANxwNo/w4p7lFy5BJAwcdwRzQBGzE4AwoIyQKmA/eMVw2Wwe/HrUUafI3zHKnav8AhTukrBsnjAA70gJYULIiBsrllGa19Dt/tF7FDJ1LAH/GslSAEATgnium8JhTq1uzDJ3YI6d6ipLkg5djSjHnqRj3Z75pFqlnp0MMQAVVFW802P8A1ajsAKU1+e3urs9yTu22LmhGVxkGsjxHr9h4esTdalNsTOFQcs59AO9YWgfEXQNa1BLa2neGd+FWZNu4+x6U1GbXMloCjfTqdrnmjOKTtXB/Eb4gWvhmB7W0ZZtVI4Xqsee7e/tV04yqS5YrUk3vFni7TPDFsH1CXdMw+SCPBdv8B9a4zwh4+1zxT4lWKzsLePS4yTKSSWx259favHLKPUvGXiJU3yz3E75kkPOPc+wr6Y8HeG7Tw1pUdraoN2Mu56sa6a0I0Vybyf4FRjZc8tu3f+v+B5rfPTJozx701uaQ1zNkWHHkUnSkB45o71LYxaPTmkNAIpXAdTu3WoxThmqTEx1KPrXHfETxlF4V04CEJNqU/EMJ/wDQj7Ve8EX2q6j4fhutcijhu5CTtQYAHbitGnGKk+oJXv5HQ9qVTTDQM4qFLULDyeKWm9xTsZqriAHrmlFZmva3YaDZNdancLDGPuqfvOfRR3NePar468Q+Mr86b4Xhe1tmOC6H58erN/D9B+dawg5K+y7i62W7PVvEPi/Q/D+0anqEUcjdI1+ZvyHSuZh+Id/q0u3w54bu7qHdgTTt5SEevc1m6N8P9F0CNdR8V3sUtwzctcPhNx+vU1uw+PNMa4S00DTb3UACVDW0O2Pj0Y4Boun8Cv5vRf16s1hSd7PV9l/m9PuXzN3w83iGR3fXFsYo2HyRW4Ylfqx/wrd6VS0a7ubyyEt7YvZTZP7pnDHHY5FXW61PS5FR3lqkvQUEUvFMHHpRTUiLHI/E/SbXUvDVxNcFUltxvRz6+lfN8NyY7toZsOgOBk/lX038QAh8K33mMQAo6dznivlmRQ2ogE4AJOa+iyWTdKV+/wCiOPGfZNidNsYMSheQPXrTPNPzBN3ZQPpUltmOVgCGZ8knsKXcRKqPgtnOQOBXsnCV7iOWRVZ3AC8EZphXbIPLHyg5Kg9CamdtyMqozKWwfwNRzqNxbBRgASc9qYDgzAu+AoPAxzSeYrSFOFJ+9mhCpjdlGOemetNWNNgLdQcZB5oAfEFjjkOzCjggngmncI5LDAC4IFIFG18k8nJWlX/nozbSeDQAqI2ACwEbdQaYV/e7Q/zDp/8AXp8knzCRRmMLlvekYK8iOB8oXDD0oAQnCFp/vcYxzg0jCP7ke7cMd6lG5mcKygYwe+PSolLO5GPlV9o4wT60AOl2ud67myMHHI/EVC02I08rdg9gO9WBEkb7FT5D95jTNvlRHPCdcrzg0ANgMh5lHOT+IqJ5SrjcCrHGO4NTEKvlglnPqOlK0O6OJp8Lg8AetAEBcB1Vvlduvp+NO+Y/PGwXYcNnvS3ALu0bnH90+tCqoLA4ChgOe/FIBHYl9iY3EDmomjJLhAS2eWPTrU0oWL5UUEqcgE9AKkQqyyMq/KCGOO9MCNsOCBgkf5zTGwH80ggD5fWpG2KQhDHeck+lRxgtyOFZiD9BSAYGR5d4cHcckHsMcVIzs0m1j8pHXtxUJSFnQ/OAWw2B+FWI1baVUHZuPJ6gCmAjKJWUbTgDt70mCi7kILZ289qSSR4wnlgMemAc0gP7oowCOuOetADpZtjDjcAew6cUqkTNHu5QDg980yCJNjRZZt3zAnvUjq22PCBdp6eooAgmhO5gzg/MGJPf6VYjiWCHMmPkOR7H1qGQLLLknHz8Z/rUs0oAyxB3HaVPoKAF+RkBjbGcMWIpk8fmTuindu7+lA3LsPU9wvQU1rgm5RQMBuv17UAPTDKCo4Bxt9MCmoubra+NpPXp09qkRy67XCg4yTjpTI1G5SFYnaxPufagCVcuzeXgKSSwxmo7fcZZGYbUVQ3A6+1SgGJC24KSASD2PpUMjOqBVQ46sfXrQAgYFiu4xsfm55Bz0FPLOu/YSTuxwOKaMOIXVTkLngdaZ+8WAAkgnLEdcntQA65TMqlGIP8AdIxn1pD5srlc7dxII/rUoCI5YufMC7mzzwaeDtXGQ6MM4HWgCJRGpiRogTnCk+nrQ7bpWRcKEG7pxmiUiQMU7DAHcCozhS7MrHJHI4we9AErFTCp4VcnI7Uy6VjHgsC+PyFNAzIplAwfuL1+hNP5jchuXOAXPSgAZFeNEj2gjLMR60EN5Ue3c/BPHfNOJCt5cWFJGTx+tQgM6tIpKoeF28d6QChfn4HyKCOeq5pFkb7LGrDc5yRntj1oQrkbCxQjcQO5zUjAERyOPurk4/lTAhB3sAMttyTSncsmGXO4/KB34pQC4wrYABGR0Bp8PzoF4LIudxPGaAGWwxCq8jbkAk9aW4Q+Wcg+XjGc85pwIRcgAhmAWmYMrOJWbYqlhjtQBn6Qol1S3U8q0yDB75YV99RoscaogCqoAAHYV8IeEYGu/EenwxqXeS5jAHr8wr7xoEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB88ftK3btr+mWo6QwGRfqx/+tXjUJEjqp+4zjk9xzXqv7SEgPjWJQclbJeh6Es1eVqBvQKOPUcAcUANIJ2JyMPt3Z696QfOvz4cIuenLDNMlQjzPLJ8wYIOcA05wFhYK2AQAhHXPcUAJGpKqVbJbk9sY4xTmfaEfdxuPH40seDLbsmOSQQO1Qyn91GHONxbcPT0oGSMdqZ7YDBff0p0f3JmcbQ5Gz2zxSKrELjbtZtpz2wOKCAygkk7jlfQHHNACBjumzxkgnHscU+MASMhGV3k4PfP+FG4FFBw4zkkcde1NG5Q4Y56jj1zmgB8KqrKy9GGGDdOvWmRI0UKfMxV3JyO2Kc4AlJYEptOE+lOddpVEb7mXUH+LNADYz5knAyrnYfYU47VSKVvuqCD9cUwkxxZbrgMAPyNI69Y88Bfu+5oAcFKoUGDlQw7/AIf1py7mY5GRjOPWmsSq7gSATnJHYcU84aMcHcG4I7EdqAAIAwLnYq4IHUkDims6ld45zluB2z0p8rSLc5Zl5AZD6+1RSeYVTOBnJ6cHnJFAD2AZZNoB5HBpMhX3ICw7L68UuFZgwBZgcge9KU+QMRjPzDb29cUARbsFkIbAwAT/ACpTmNlAGNpwaWLBzuBcYzn0NDMDIrMhAJO4DofegBWQhQzE8Ng/5+tKSS20r8wP50hwQPMJVQoOO/Wns28o+flBPzeuKAEclsjBDEEfSjDKcEklQAD606V8lh1GQT2zTZWPmuB94Y5PQgUAKxARgpOFYKD60/aCzCRmwzYUehqMMVCFlPLFjz0pp5xgnqcUAOi3YXI6c8GkRQVBwc8nj1ojb5mD/K6nIB6EU5QWjwSo+bgfzNAESJu3hd3A+9mplBSUSdApx9aIDtIdiPpilcbHADb1680ADpF+82A4J5B559qaFUiQFvn5xxxjGOadHDkx7DuDEk+1WIwqtywGCRz7f/rpAVYsBmJUhivKjufanJGd3mcoO2ankQbVcA7wwzg5pVCsjZDEh+D3FACxpvcb2AGcAD3Ga6rwMB/b9jG4BbzAB71y77SWySqjHPf0rpPh2hn8dWCOCRDGzc+vrXDmVT2eGm/I68Cr14+Tv9x9BgcDFBOKM4ph+YHBr4Zu2x6h80fFPWJdZ8WXgdybe3cwxrngAHB/M5P5Vxz4skFzCzIyMCCCa2fF6iy8RaosinclxJhT7scGuO1nVfNj8mLlv4sdBX0tGnzJRitDhtWVZzk7R7d/6+/Q91vfjFBB4MtI7FxJrEkeyRiP9V2z7n07V4tNe3Wr35G55ZpX5JOSSf61zsBc7QudzdK94+DPgqC1tm8Q69titYhvQy8D/eqakKWBptx3Z20715uctF1O6+GPhm18HeHJNT1NhFM0fmSs/HlqO1VfDHi/XfFHjSRtOxFoER2sjoCSMevqeuK4O+jn8W+LHsNCvtSuLB3y7TyEgDPUDoB6DrXbr4W8P+AJYdRv9Zu12ncLcOf3h9do615c4qN1LWcvLb/g/wBdzbSUlNu0Ve39f1d9dz1kU09a8rj+NOknzAdPuht+5hlO7688V2+m+KbC78OLrVzvsbUruIn4I/xrCdKcLKSMknub1LXntp8WPDk17LDK08Ea52zOnyv+A5H411mheINP1rSjqNlKRaAkb5RsxjvzSlCUPiVhWvsatIea4DVPit4dsrryY2nu1H3pIV+UfnjP4V19nq9ld6QmpxzKtm6eYHk+XA981M4Sj8SsNK+qNAetZPivX7Xw3o02oXhyF+WNB1dj0Arl774reHLW98hZJ50HWaJMr/ifwrlLZLz4meKheXCtFoNm2Io26Pg9/c//AFq1hS5feqaJf1Ymzk7R3/Lzfkvx2WrLHgLQLrxXrcvifxCpZWfMEbdAB0wPQdq9iRQqgAYA9KitYI7WBIYlVI0GAFGABUvTvWc5ucuaX3dkU7JcsdvzfVvz/wCG2QpxSLS9Rk00cdBU9SR69emK57xr4rsvCumNNcMGunB8iAdXPv6D1NXPEet2vh/SZ7+8YBYx8i55duyj3r5+soNS+I3imW4vJNtunMr5wsSDoo/z7100YJxc5/ChqLlJRjuTWdtrfxH1x7q+mKWaH55Dwka/3Vro7rxbZeHFXRPAtolxdN+7a625y3+z689zx9awPF3iSOaOLwz4UjK2Cnyyydbhv/if5/SvSvhh4Ej0G1W91BRJqMoySRnYPQVpVdkpVF6R/wA/8unqaJJJqLsur6vyX9efYq+G/h/JqDpqfjG5m1C9YhxDI3yIfp0r0aztbeziENrEkUa9FRcAVNnBpDk5rllJyd5a/wBdCHLTlWi/rfv6seGANIzE00Acc0vFF20RYdnjmgnoKa3UGq+o3kVjbedOcJuC/iTgUcw4xcmkjmfirK8fhCYRoW3OoJz0Gc182QDzNQKtyG4r6I+Lk+zwpgH/AFj4/QmvnnT8/wBpZXBZSWHGc19Rki/cN93+iPPxvxJeX6s1lhUO2MHJ7/0puyNJuoHQj0qVi27BbKtn5V6io2QnK7OCccmvYOIhcneVUMpY5yKjXEpZnyAeCPpVoeYUXcAG5Byeg9qrfIkq5ViQcZz0oAV1iEyyblXBwMHqKQRowOGdW3ZBA61G7bwgAVSc5BFSwxsh+YgITyD/ADoAljUqGYfMz8lv6U0FRuiljIB6E0KfMmDRnAOVcemKV3G0FgSVHNADP3RDlQxwPmUHg0GLlV+baD0B+7RGzqpeNQSTt205F8vJcEsWwOf1pgMwQSNxxuHWl8qTzZHHr8opURAxCtn1JPX60B3wqoRlT8x7UgEvJH2Bj1HLLnoKrvPgiJTkcbkI7VYnyxITg+p5BpvkxOsjFepG7HBzTAdHglU37D1Ue1Nlic+WA5IjPP8AjTnwIASGLfdHvSB/3gBOwldxXGSaQESxeZKHJKnDAluv1pzDMgVxkjBX0bFKrOZAXYEKCwBHUdqk8wKAoUgnoB2pgRnZ8vQ/MScnnFRL8il0TcjcnHapvKKXAkGSi8FW6k+1Ni2MXGwxtt49PWgB0g2mJULctk5PSiHc6lXjwD03Uu4l4RngjL/lTkw7KoBKud33ulICJoQkqCJtqZ+/nr7U6TcjTmT7hG0YPJpWVERUT5n3ZAJz+NNjiYEDexUP948ZoAEUAgIACzdD2xTWjjdUZJCAeBu7mlIeQJjGf4cn35pivIfJWRF5Ykj8e1MCeVWjYPvUbBxn1NVZ7hZCyTOVQ4wR605kfymy3mruI9MU9yjMiNgnGBj+E4oALQYRY32Y5wc96mlgjZR5i+vzDvSHbscfdGOWHY02Ul9gWQZVcj6npQARFd0gIKueAvtTYj8+NqBAMAsOw705WdSrBPnJOQfTpT5mBwXxjOB2oAhMrBgmdy7jnHpTUwrIC3IXI7Yp0kr7yFC7V4b3pjtHuiCdSeWP16UAPZjLIUkRTGCM8+velnVzKyr93qTn0pZTtQtsLcAkgUhbzN4OflAI5xk0AEJO2NVOFxnB/WocEKVc7iB2POTn9KniQNEiuSS27r1xTGDxqiBCWwxPuKABFCKzuhJVdhGeo7UxFzGJ4wRkFQB1B6dKkkZsKYvmZTjb2HFQmQhFblV3k46ECgB7RNGqrvO/GD9O1C/KHMvzFBtK56mlc8bMuR2I6moXjJVkZiHYZV+30oAkcOsjOPlZMkAHO4UiBpCxkORznB/WnQ4DTE8vwMj+7iiOMksHwf7xB/IUCGsrDKyKctjb9KmMbrvHbaFAHrmmqS8BGQzsep6YodnZpMLwflB+lAEbBfmHMYb5R+HehQw+5kDcC2T1HqKm4kjYHDBRj6e9VcNhQnOSAOMcCgZIAvly42iQfNkHioXLMAVAAc447AVJbL5lt5Z4LA8DuQaXyF2ruY7cEcdzQAQsSgWMgsGGTjjHrUVzIEtpgowGPyn2qWEeUjkxKQijgEj8aj1ERm2LIx+RcBPTPSgRsfCCMyfEXw8ACSLxG49ua+2K+QP2eIxL8TtMLLuCpM3I6HYcGvr+gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAPlL44ys3xJ1LcchBGg9soP8AGvPzx5g9B+h4rq/iZcSXfjzWpHbJju2U+4BwB+lcs3yfM6Z3ZB7gtmgAUgxQh+QWLA+1RSrgIuduPu+9P2ny1AKjYDg+2eaZjMbEjPyfJnsc0DHhlUlY8BmYlc+4ppLEIoHBwoOM44prAMuNmJAgOR257U4EOV5wvLcdqAGtwACcguM+xAqTdggZ+UtkE/7VRnDdFwMhgPelLBiEfLKSCcdsUAKqAKQvZSmfx4p/VVyckDcfcH1pjlvnDna4weOm3sKGHlS8k9McemMkUABOEhDHI2li2epzUpY7gxGWVec9D6YqJ0Dq4I4GCAPQDNSKVDgHLMFwQB7cYoAYTtIAYBCvHv3NOZj527b1bH6Dimxj93tdlwpHXr9Kmz5jSAjYHwRzSAbJ86MdoChs9expsTNDO5bO5RtJ7E//AKqCNqFQSQflB9MU5jlnLcOGBPPbFMBzyEzYyGUJ1+nXFMUlk8skfL8wU9uaRRvKkEAOG68Z/wDrUihiAWGCRjNACqpLZPyOGHSnMThiuSc/nzTZRuDbTxnKn36c0KkioNpYsPmA9fUUAPTczgEED7rew7U1WJVtyDCfe/2h7UJ8m8gkAkMAe3+c06TaRJjI+cHAHagBM9e5z+h6VIjb1VSMEKcD1qJOEBJOWAJAHalVAW7gqpP+fwoAQpnblhlfmwfrUjElMoRlSQc/xZqFpFWVV+990AnqM9qmeLKrtIDK/fv60AIrRtJtIwVTafbiiRkIjIzhRnA9KLgI0pZBuIUZx37H9Ka6RkuIiQFPcdKQCoU3ZGWbHSiMfIw2HcG5z3qNQRIjE4//AFVIFLKGzubuOmDTAcEKKHHKk9D703iJMZ6E4PXihiS3Q7eu0d+aFMamSFMnbnFIBUBVWLgYHGRxzT4yckSfdPJ9QaJFY5JOQNo59aJl5LcqSBg+tAFjLMzIwUFsAMO5pOFO7JbLFCPf/IqKEvv+Y/7jMePSrFvtkA2nBJOSfQUATqy4U7RnOCvvXXfCe2ZvG88pyyrADk+5/wDrVyakEybsbeMYFej/AAmiZdQlkMR5j278e/SvKzlXwkn/AF2O7L/46fk/yZ3PjrULjSvCepXtkcXEURKHGcH1/CvO/hUmpWlzNquq6rGbGePeFkud2T1LEE8GvW7qCO6tpILhFeKRSrK3IINcB/wqXw8bnzB9pCbs+UZMrj0+lfJwqQVNwlpfrY9SGjuvxbX5J3PJ/iu9v4h8QXN94cjnktgoE06ISrnuR7dB+FeXXNm0SEKASfzr7d0zSLHTrMWtpbRRwYwUC9RXG6/8LNE1XVUvEBtUP+siiGFc+vt+Fd+GzONNcrWi2/4JMqUZ7vX+vU+fPh7pml/a2vNdn2QQfN5IBLy/7Kiu08c6/rGrfYLIWj6dpkmBbQ9A4zgMfU9Pp+teyaP8PfDulzLNBZB5UOVaQ7sUeOfBFl4nitd8r20tvwhTptPUYqJ46FSqqkl/wPRF8seX2af+T9X+Wi+dzkLDUtD+G2hGJHW71qVQ7Rg85I/iPYV4p4t8SX3iHVJby9kZ3c4UdAB6AdhX0jp/w10S00q5tGjeWW4TY87HLexrBh+DGkraSrLdzPcsPllAA2n6d6MNiaNJuTu2+v8AWyCced3cl6a2X4a/h+r828C6JpdlZprXia4VLcHMNt1eYj0Hetf4h3mq6rpFvfXwSwsy22z08fe245c+/b8a9K8KfDPStFlWa4Zr6VPuGUcKPQCptV+H1vqnipNXvL2WWFNuy1YDaoHYe3ek8VB1fab/ANbLt5t+nUc7SjyXXTv82+77Lb16fPz+GdQ0qKxv9Ut5Fsbhgd3t3HscV0Pi7xq2qWcWj6NEbTSogBs7vju3t7V9JTWVtNai3lgjkgxjYygivM9Q+ENhc61JdRXkkNtI+426qAB7A9hTjjIykpVVqtv67ik1JOMHZef6s8S0rRdR1VpGsLaa58sZcqM5rW8V+L76+s7fR4oTaWVooXySe47t6n+VfS2g6LY6JYrbWECxxqPTk/WvNtS+EMeoeILu7mviLOaRpAir8wzzjP1pwxsJS5qi22G0muWL06/1v/n2PIfBmiT+ItSEe7y7ZPmmmc4Cr3ya9x8Na2pv7XRPB1qkmm2rYur1h8h9VT1Oe9Y2jfCBre4lS81Jm092+aGIlfMAPG6vU9H0qz0izW2sIEiiXsoxmscXiIVH7uv5Lz82UpKC1/zv+iX3t+WhfLALk9qRTlQcYPvTTGCc89c4zUd9NLBZzS28PnTIhZIgcbyO2a4rt7mKV9EWB9aG6g9MVx/hrx/pWs3RsJ1lsNTU7WtrgYOR1APQ1P8AErXDoPhO6uI223Eo8mI+jHv+Ayfwrb2cnJQtqxba9Dx74peIpfFHidNP08l7eF/JiUdHfOC39PoPetHxjPB4J8JQaDp5xqF4ge7cHnae34/yBqH4MaPHc315rt6uYLRSVLdiBkmuJ1O7uPFnjcmRizXE4AHoM4A/Afyr0oxjKfKvhp/n0/z9TRRaior4pfl2/rpZnpnwN8KLLu1y/jyScQBv1Ne2jisi0+w+G/D8fnyR21rbxjczcAYrybxx8ZgjSWnhyPbyV+0uMsfdV/x/KuSEamIk5RW/4EVWm+VbI9qnnihUtNIiKOpZgKWJ0lQPG6uh6MpyDXx/qOr6xqs0lzfzyOznLeY55/DoK9l/Z+vbyewv4JpWa2jYbFJztOOQPanWwzpR527iiuZOx6/7Vn6lrOm6WM6jfW1txkCWQKTXJfFDxdc6FFbabo6h9WveIz18sdM49aq+FvhxbCOPUPELPqOpv87NOxYLntzWXIoxUpddl1Yoq78lv/XV21t97V1fstG13S9eSV9JvVuBHgMyZwPzrm/HV39t13QdCiOZXnF1Lg/dROmfqcV0uo3Gm+GtHmupEjt7WFc4RQM+gHvXnnwrM/iHxLq/iW8DfO3lQA9FQdhRGPKpVO23q9vu3+41pzUZpx6a/d/wdPmTfG+7Mem2VqCvO6Q+vTH9a8V0YhXkmcgKh9PvZHSvYPjuVEFl8gyUbL456jjNeQ6DhhOrglB8xIr6vKI8uFj8/wAzx8Y71PkjUuAHeMxMV+XOP5VCXYNsb5SW6Y60908yV0CFlVQFb0prDMw+f51UE8fzr0zkIZG5UMhATk5HNIYeCy56njNSeW0ybpZMHdytEsCI+/bnHbd3oAjUKXUBS3JBGOPzp8iFemCAMFajedf4c5PzDb3pJU3IkjZDkc+9ADt6pCC2C6nGelPQbkAVTw2etJDtZnLt+7J27WFI64BWPCnOBg9qYDMEKAin5WwcdTQ+5SQQCMjbk84706REbLIW3xnIz39qN2RGzAk84HegBFiRpMoGUYyCDwafBGE+fJ56VHbnYYt4IZ8nce1KRKQqqQFx9/saQCTptYIC7uSSfalMeY9pbLcFivf2pHZ45G2Ku08l8+g702J3eBWbAB6t7UwIpggRFO5UXkse2e1OldUZNyncw2h15FWX3ZKEDaBkf7XtTEVUAUYbuE64PtQAMymQqwwQhWoot5kiRV+6MF+tSOkjMTkZznn1qTLx78FWGM4HakBGVLLskYFVOflPK4pJWzKCjcOuQPWm+YIYnZwMkhWAHXNJK5+z8ogjCcEmgBWkjhclhg7BlR+lPjaTzI/lA4OWHT2pI4Y9gE5XcFGU/lToo4wrlSxTOME9aAInCwzqyLwT1HrTlkEhV/M4z83PcegpI41jJbdtXoy9setSiME4CKCAQuOmetMCEuTCdvyAZHT86UjasabflKgBh1ye4pJAJCuwHe3yEk8Y7mpTsRwANwAGVz+tIBYZNxcJjy1fBOOppixAT87WkySxHGOKbChUOMllkbjjH1qSZsygjjaAMZxyfemAjgMiI6FVfJZcZyfShnDCNCApCgjK9D2pIWEcLbpCeeM9TzxUlyzlWPy5wDnHakA4llaNd2dxOTTI4xKAXxvBJweKjhnSZ/MKOVU4UdsGnzShRvdQHf5V4/nTAa0aKCWdiznA+vtTRC3Q7QgBOAM80rbxIP3YbDcH0pzK6oFBHXLfWgBEww+833SMDvTDbKUy25lySc8HmpfMUTlgnzD7uO5xUaeY88RlQxkg/wAXWgBzBN65bYx4GRggU9hlGCEcYUc9BSFCz7SS2EJ5x1pnmFUcgAMCAu7+LNAFd2dWYxEbT2PXJODUsseY2C4c42HPBHP+FHMcDbmyxcKAR3/wqYN5ZPmDJY5UetADPLMcWEyd7DHNMlbaTjDREHr/AHqmjAwGDKAOdp559qjRR5LAnCKxfaevtQA2FsPtypbGPTpUbSB3YKGG8nI9xUy8FpNg4XqDyD3pi87NhAZjkE9TxzQAkbLJKke3CrnOfSmxgxys4LbucRk9RUsuVC8HJyrMOvSooY1WQFiwJUYJPQUATHauVChXwV+pqOQqDGz/ADHdhdvemGM5yu7dnjnPFRyyM7JGgyB82B0/OgCUKUUMgLMTg7T0FN6swQSBQScZ9OmKRNwEIQ7Tng9Qw9KcWdXmI+ZNwQH8aAJOizSglpMbWjH8NU9SdvsQLphpDuJx0q223eTkH5xvA78VR1WR/syI2cBjznrQB6r+y3Ar+Nb2RlBMdixUnsS6j+Wa+o6+bP2VrWRte1i6A/dR2yxk+5bI/ka+k6BBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUE4BJ6UUycgQSE8AKf5UAfF3jO6S58V6vdR5CNeSMp9QWOKxuSqxk5bcW29OccGrF/+9vJi5BSVnyvvk4qqCxC71+ZVBDD9R+VACqwll3g5OQr/AJ02X5tqnHBYnHsadlFlcAhSvHA4xnOaaSrF1VQqs5PPBxQMOfNkLnoFZR9KdkYXaMsUJ2jvzTCRKQcnJYYH90CnKdqgE5cLlj9TQBHPxGCvU8AflmpUILq7AbE+ViPTFRg4EZ5BIIzjoM09QyxspXazNwD3bvmgBoVXlcNliYwdvcVIXDlmT7pYZz+VNK54AIcrtLdhgc07O4MCNo3KfrQANIquXz8oG334qRFkLxlAMFQc+/eo3UkMSBlc9O2adGpUFTyobg5+6DQA2QHzgYh8jNyD1OBSEnDSDhye/rTxxIu1c45Pr1oJcyZC7mXaB6Y60AOLK0zRD5S5Az1BPfFQsDhnYfNkBh7etOiUbt2eCd3sfU0oDfKTggngnrgCgBJEAeXac7R07AUOvGI+nfB7mhlDEgj7wCgg+2ae7b3AG1c4BPTIpAMZ3aIHADA9B2xUocOjAN90AjH61GWO/gZBOVJ+tPwIycc4BBHqaYCkgKPLAcFD9aYsjGJBgckjPqKY6uinygEYn5j7+lSMzfvdwxgjaPcCkAQCTYkZOOchj69xTzhWk4IOSwz9OaayAZCno4wM98UJvdcZwVJVgT0zQAoQMhXOCVz9MHrSs+x1+Usx+f8AwpseVLbvl4K8ciiZgXj3R5UgAkHoKYDjgKCFwwYqSPT0oZifvEIV6n1FM2kfumfhixLY96cuWQiUbsrjb9DQBHtLbgeFB4x2p4IK7gGGPXryKVVYJti5JbAJ7jvSvGysuwZXJBOeo7ZpANV8javG77o9TT48eWxYlXAJzUZCkb8YK44FLIPLCg4+ZenegCROVcyONw6D19Km8xSwJxt4OSOehqFju+RVKg/NuP17UblDtk5GR8v6UAOtkjaACQZG/IHcetWIl2yDPEZ5A+vH61FDD5hU7yUORx1FWEVXjTcu8ooxigCWEqJwqAqpI4I6Yr1v4Uk+Rc4YEA/iM15PbKUkUbSckkkntXrXwsg22Nw4/ixXkZ5JrCSt3X5nfl6TqNvojvd1AJOaYo28ClGD3r4m/c9Ow4E5OeKdmo+g9KeCSKaYMczAAknAHevHviH8TZFuZNO8OuoCfLJdDnJ6EL2x70fF3x75Sy6JpEvzfcuZlP5oP6n8K4Hwd4M1LxJcq0cbxWZPzzsOvsK9OhQjCHta3yRKjKb5Yf1/Xc9F+CWqatfzX631zPcWi42mUlsN3wTXreeKxfDeg2ugaZFZ2YKqvJP94981sA9zXFUqc83JKxUkkkr3t1/r8PIdmnA+tR7sA9sVmaL4h0zWrm6h0y6W4e2bbJtzgH2PeiN3qTY1jxUaTxSO6RyIzIcMAckH3rkPiP4wTw7ZLa2QE2sXQ2wRDnbnjcR6fzqH4Y+GptGsJrzUZHfUb1vMmLHPNaShyw5m99vPuEdb+X9JevX016q/cE0Cmk8UDp05rC4WFOKQnFBPIoovcBRTutRySLFE0j8IgLE+gFc54R8Tv4iNzcpbCHTlbZDIz/M+OpI7CrS91y6IpQcr2Oe+LXheC70qbWLWMx6hZgOrxnaSoOTn+deLeKPH2oeINMstKvTua2Y5k/56Hpk++P517L8UviHp2j2Nxp9s6XV5JGUbByiZHf1PtXzBDOJdUD4wGfNe1l9BuHNNbbGc5626vf5bfP8ATQ+lLe0GifBK5MfyyTQAsQf7x5/nXjHw313TdG8WC/1l2EMQZlwu7LdhXv8A4uFs/wAJJQ7xxp9mQpnjLcYA96+Qrr/XNjpnrVZdSVelOMurf6F4mq6VVuPTT9D0Px/8RL7xZqW1ZGjtFbEUS9FHr7n3rJtYIrOATT4aYjJyc4+lc3psqW7FsbnI446Vq2Fle6tdpDbxyOznCqoyTXdUpRpx5VpFHNBOa82Xopp9SuEt4ELFmxhec+1fUvwz8Mr4c8OxxOM3Mo3yn39K5X4U/DVdEEWo6qqtd4ykZH+r9/rXrAOPQV4eKrxqvlh8K/E6mlTjyrd/1b+v8zxP4uvc6L490vWniE1sEXYDwMrnIz685ron+Mfh6K0D+VdtMF/1ewDn65xXceINFsNesGs9ThEsTHI7EH1BrwD4p+F/D/hyMWlhcTzai7bipYERp2z706PJWkoyWq/InTlev/D6LT7kU/E3jPVPHepwWcY2QF9sVumdoJ7n1NfQPgrQ08P+HrWyQcquWPq3evK/gZ4LKMNbvo/lx+4Vh/49XuBJ6VOJqRcuSHwx/MclyRt1e/8AX4/ceNfHm5BmtoM/dj3Y+ua8y0EokBbP7zJAGOtd18dJM68QTwIkH8/8a4Tw/tLZLDcp496+ry1Ww0PQ8fFfxX8vyL+/fuYApIBkY6GiTJjjZl+Y/eK0+RB5aIrDaGJbnkU1RtjbaxIXPFdxzFZ3RwS4GScAHvSOQrLyDkkn2HSo4wybAGBbOSpqX5GTfhmyOlAES/PHvC4C8DAz0oBJZ1VmdgemOlSrKRFJ5YII6BhUUkkckeTlZFGTs5pgG9TC3mrwo6jqCajaGT5CCSgHJU9ae0kLnB5V03DAxn60gjdLYBWIywOcdqAGQM5cnqhfjJ5GKsh13YdwSSRkdqrc7im7fsYEjpj3qwhj8plU8dMd8+tAEJDMFP3doxk88Z/nVicS+TtQDaOMN/OoduSEI2BRgDuT60ok3x/JIWwcMCKQD027NhG3b2zkGmIwDARDEZJ6jvTg6gRq3LN6d/eoyAsO0fKTkKe9ABukhSR5+ckc9gKCAVZY1KfN94c08nDCP7wK455xTzndsJxgZyPWgCCdzJI0KL83Vj608MIsyeZwOMHpmmSGMTDzWKsBwT3PrSFBbIPm3M5HGOKAEjDDLMN+8Bj7+tTzICpjQqF2g4YcDmnSqUkO04DcZ9KZMoKENIVHTpnNAEBVTIc7iWPBHfipJI9qwhd+MgsM46U5QsbSMCoBxjPanlQsCpIwLH+I4BFMCLzRG2JUDE+nYZ70tyJAcxFeOePf0psiFcBpD5ZTBI/xpsCMsqRynOcgZHQUgJXiDysisAHTGR1FJEvyOijD7cBsfzpkskizTFlCrGnynNPkMmE2ruXCsfrQBG0E0bKpOVC8c9OKEyA6TJ8oICgcnip97yyTKxwinrmonSZw0ybdyjACn7xzTAjRFEULKhKNJkljzVsgyBlVShYY+boKYuS48p12AHcPQ1FK8qxHY24klsZ+7j+lAEgyqCEDBGeSOtDzx+SDtZnU4A7ilY/L5jDeGGcioXlWIK4DKWbo/SgCTzxJL5bphCuGPvSqwJj2YYN1FMKb8neu5TuGOgzU25FkMvClV4weRmgBjkK6Fc4Ynbx096W4RuX3A7iMKOo9qaY1lhRBIybx3HPWiQtb25RDvYELnHNABD/rIsfKRlTu5JpJNrQ7ztdUO4lT0x0qNY0mZTvYAN69ePWhFFtAyoMKy55GSOe9AD44V8lN/SMbz2zSW/lnyg3mfMuQT2qQkFiw5wgUYHPPfFM+aNUc5II5GO5NAD3+WEkJ846bveolTywqk5k24wPf1qaV3jO5xvXA6DJzVfftmnB67Rj2JoAe5/c7FkDkLjnoTSMnz5RcOqAL/s0xZFTaxAdGbAx6DpUqyLIbhVXvxnjJ+tACSB2dSwAUj7wPAqvIXU4jVhxyWGT16VO8f7nLKuBztHOfakTcjgSk/NnA96AGBiIAAGKgg5xjOetOmiDMHjG1QQAAeo70qvNyW2hm+4Mg8UydwkkaRfw5B/LpQIiKuvleR91WIH1zzVgSt9i3MuGfnpjFJGqAIhBMgjPyDsac275EkUEYL+WB26UDJWVvMUgIBs6nnJrJ1rcywufungCtPZ5kY3NtMa52g9R2rH1WYySRIx5UcgdAaAPoD9lJf9F8Qt6vCP0avfa8a/Zdt0TwVqE+0CSW9YM3qAq4/ma9loEFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABWT4tkMPhfV5FOCtpKQf+AmtauR+LMzW/wAO9bdSQfJxkehYCgD5COWDMuQQN/4ZpkiFpWKNgAce59KeC5BK4B2AY9jTQw2blJ4YkZ/nQMbJ1lJA2Zxgf3uDiiQo8o3A7UOQMdeaMMHBxlWTPB6n1pCxJJVckJnHbJ60CFBTbhSBuO39eKAuRncMkbgfoelMZUeMMmQwKlV9/SpRtORnHHb+E9aBir87dQS7Hr29abj5ESXkF+H9PWlVd0sQ2jkE5HYnNNYF4EjK8NluPWgBxwksse4ZHzA+xpXBL428fKPz702RPNkwvViV59cU/B+QDJG7bz1z6UANjJMjxn/WDjJ7jqfxpTyY8njBPHcZpqv84ZDuG4hgfUChcru3ZCgAfh60ASj5vLIUjg/MO/PShGwM8FWcJkH9KZI7RyA5YhVCsPxqXCR7lSQFt5cZ6cdqAIVYgYZcAoQR+gp0u7yyy/M8YK89xTpSjrJsQqNoYj+6aI92whSuWAX8KAGwsGkBIxhgoHbpzSEkNkgArjj1FPZMTOoBK4BxTVxIDvP3UyT/ACpAKqlVKhgVVcH270ksi87RjOB7E0nIuNv9/BGPpTMGQYXacPx74FAEgO0EBs5OSzDoRTpCzSb0+6Tkr149aY8jbQOASOmO1IpwY9h69/XjofwoAfK2xcngOxYUsiMeMlQxO40oIIQSqQPu5/2aRJVWVdxwGyM/oM0wBGVVMrHPyjjHTtSkrvZFbO0DaD0NNYqkjA/dOEPt70FfnYYPT5CBQA+IJ5kIIJAUk596E3YBz8obnjk0y1bcX5xuUcdOlSq21UZDgk4I+tICIrKUVSFLbty/jUq7vKyRgSDnHZqZKGkjBClipKhh19qkWRUj4GVBy2fpQAxgFXkbt+1cHtSxKkrPGw3RhNoPoQaam5t+c4Bzg+ueKcWkWTc4RG6HB/GgBsWWVlZ8kZGTzj2qTy8xbWwrEj5hUYTOcY2sMkdMCrJVWgRicrjt9KAHAbV+b5sYVWA7HvTowoysTEDcP09aijcSZVAVyAvPQEVY+TDFeG3AsQO1AFkBVmVQWI7EevpXtPw0gaLQlZurGvFYwI2jIIIJ7ele8+B02eH7cEEcdDXh5/JrDpd2vyZ6GX/FL0/VG9igYqG9uY7O0muZiRFEhdiBngCvL1+Mtj5+19LuBHn7wcE49cV8pCjOprBXsekelaxcXFpp081lbG7uVXKQhsbz9a8a8ZeNfGOmzRwXKW1g1wnyww/OygnHJPQ10mq/FzSY9M8zTYpZrxsqIpF2hD2JPcfSuf8AD1hbS3UnijxtqUG/duSJnDY9OB+gFdVCl7KLnUh6aXbY0ubRbLd9Ev8APsr+pp+Cfh5Yrp6av4kO+XBlZZDhFHvmuy0fxd4bm1UaPplwhlAwmxDsbHo3Q14/8TPHl9rUY0/ToZLXTicqHBVpB2J9vQfnXBaBrN94fnmuYYt1wylEl7x+pHYmupYKdeLnVl7z2XYPaK/KlaP9fj5s+qNc8YaHosnlX9/Gsu7aY0+dl+oHSpNC8U6Pr0k8elXizvDywwRx689q+SLWa41TVU+1z7PMf5pZCcDPUk16DqGrLpOgfYfDMUywSN5VxqBGDO391T2H86mrlyjaKevfp/XkKNuW8vu6/wDDd2dJ4q8ZeItW1m78PaYtsqySFFa2fcdvu4/Xj2q34eu7n4b6Lef23HYrI4zCkbZlkb/a/wBn3rK0bUdM8A6Q0zmK+8QTL9xTkQ8dGI6fTvXlvi+91jVrr+0dR85vtBJV2HDDPb2HpWtKh7V8lrQ/Fv8Arr93ccn7O+l5dey8v6/4f2X4Vx2vibXLrXdUvIrrU2JKwHrGvqB6V6jq3iDSdIkhi1G/gt5JDhFZuf8A61fNHgnxHD4U0ue5tkaXVZUKDcPlhHr71jLf3t/qwudR82ZpHDMC3zyc9M1NTBOpUlOT06f10Qm0lGEfn6/5vr2/A+ub/UbOwsmvLy5iitlG4uzYGKLTUrK7WI2t1BL5o3JscHcPavmnxdqGva3qltZSxsGRQsFshz5a44/HGMmrnw+uJdI1KdorCe61xW8qCIqQsf8AeZjWEsC4wvfUpQTly9Ltf0rb+W59KHFJwcVBaSSvbRNOoWUqCwXpnvUhOevSvMckS42dh0qJNG8T8o6lT9DXzT8RtBl8Ka2bLTtRfyZV80KGIKAnocV9KDrkZr50+Ndz9n8cXZmBKlE2/TH/AOuvQy6UnNpdv6/Myr86h+7tfpc5iw8M299bi61DV7WJe6SMQR+ArA8XWVnpklq1hcrMCOWRCnP0P86dLrVrHGWjUtIOg7CsWG1v9bvAlvG80jn5VUZJr6GjFp803ZeZg6kqiUVCz8m3f8l+B0F94o1rX9JtNPd3e1s02jYOAPU/411vg/4R3/iHSY75Zoolc/KJAcketcj4T1O98H60XmtldSDHNBMvDjuCK+ofA3jPw9q2nxQ6dNFauiDNs/yFB7eo+lcONrVKFo0VaPdHZTinFykry7P/AIc8+0n4FhMG/v0GDyIl/qa9M8KeCdI8NRZs4A0+Bulfkn/CumSVHQMjqynuDkUjSIoyzKo9ScV5NStKp8crh7SS0irf194vTGMYoJGOTgetcvr/AI60DRlInvo5psEiOD5yT6HHT8a8i8X/ABN1LXFe105WsrRvlKocySexP9B+dOnh51OlkZtpbne/EP4k2uipLY6Q6XGo9DIOUiP9T7V534D8LX3jLWjqOqGRrMPvkkfrIfSrfgH4aXWrype60Hhs8hljI+aQf0Fe8afYwafax29pEsUSDAUVpOrCknTo79Wa8qhrPft/n/X3LRzWdtHaW0cNuipEg2hQOAKkOaQE5xjpTZpViQvIwVFGSfQVy3VjN3k+7Z89/Gi4Enie6TP3CF/Qf41yehR4hRgCDkk+3vV74i6imo6/eXMJJjmlLKfUdB/KqWnuFt0iQOZQASAOxr7vBwcKEIvdJfkeNiJKVSTXcsCYEMVTnO0E9GB9aljbaNmdhBJGfSmqQrhcgFfmIx1H0qNg25mVgI8kDLcGukxIp/3jcgOGIXcOuKQCQo2wsjDgk9xTxuGNwVdv3gozkUkKkxbS27c2B2OKAEQAtHuJVnGNp9qkt9r9No9SBjIpvlpGibH3spA3dcetOkCqCxIKYwW780ARmMrIzxkMhTaOf5VJGRHkyPwB0NNZy8fl7MFTwP8AA1G02yMIoO442luRQAsBBQljje5+bGfwpZGYXARF2nOOe/vTmbE0eSoUg5UdzQJQ7gtlSBtA9/emAgDuDkDccEcdfWmpCGmJYkEjBIHBqWJ/3rEE4A280MwUIGyuTyAKQDLlFyAXCsnK/Smi4UyKVbKhiPu0+T5mkBUZ25x1zULTOI/kULgYK+tABN8oaFcs5yV9jT0aRAN6g4Tk9cmnSY2mViqHGBjnnFIFaO3w5ByRyDgGmA7a6xsrKpbqCenWholwynBCMCB6Z71Cu5bV3kdiM5x6c8fhUsgLphnXpkjGM4pAJJtdiqDBBPX+I4p0DiSJEByVyWNRgFYHzhsjIPQikgIjZBGDlkJOPWmBFIH8xQFyMlzg/wBamcJcqFZh8rYAPUDvSnIASAbt2QWJ6e1MaJhLFIrrub5eO/rSALncNzt8sCfKFP8AFT5wPKVlJDEclT0AHSnSKhikVi5C9Qec1Wy25E+VFYZJJz+dMC1GpKDcud4G4dh7VHJMySOflDdlPAApjtI0ke1hsxuKH0FSqwlUjAMYbJLc8GgCMMjXGT/DyfTJFPgQKFVeUXIPPQ5pjnaqK5UqzblbHX2oTJCedJtYt90dz2oAkFvbo0jgFcck570PhY0YDcXIx6AUSMDCdhyc7iGHSkCFxHI7BsN2GKQDGDS3AKYVQGAA4pElBMSTLuYg5PXaasIE8sDDE8qT0IFMc+W5DEFGGE9Tx60ANfYoZUPJAA/2vQUjxZjJZjkqu9s+h6VIWVo9qqBuX5DjoB/WjylIQhRnAVsnjFADXLhVjgBCHo/WmvvTCAAhWO7HfjrQ7bXZUchO3HQL1qXzhskKYC8AE+9MCKKUTBkRQNhwpPWlPMzndll2jngZqTzAso4wWGAD296jO5JgXBVDjjPBJoAddPHG7cZd+vPtSowlZEB+ZV3dOoqkzoZVjcfOM8g5HJ6VaDLGrBhswNrMD9z8aAHLLvyfLbg7c1DEHmjlMiqsgcMQPSp0YxIdm5o1G7PXOewqKJXEkpQn5sZLHv3FADXmWSU7FTCkAMfQ0/fJHK2WUq3XAzgY4pkxSaIpCoVjlUA/iHvUkRQwhd/zYAI7rQAwoZd6J6glveluU6OcnblsenGM1HLtDOiyFmJ3H8amkdNy+YpOevsccCgCEqHgThU+XIB6464pZHjYcYyzc4H8IP8AjTgonlZ5RtQLsO8c5PamxAM6FgRIrY2oeMD1oAIGcXG8oOjcge+AKSKSOZgGyCCUJzgipi5jhcKx3tJ1PQfSll8uRkYEEv2x6HmgBgHzyBl/eMQuMenPJrI1ri7RMhio5IrYfAjAUkmQ7lOe4NYeqMv9oNtwRx06UCPq39m61kg+HCSuMLcXMkie44X+YNeqVxHwVsnsfhloUcnV4TL+DsWH6Gu3oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuE+NtzHb/DfVBI2DNsiX3JYH+hru68n/AGjrtYvBttan709yGB9NoP8AjQB80jO7a5AOeg9BRg7dyAY64POAeCKV2AYMFwRliPXFLISFUrhmHysR2B5oGMb5WBV8FAVBPQn/APVQVyDt4H3wPTAprgLhT9w5br+WaCdp3rk70wB6UAEpCSAKCRndkD+L0p7hXnLIcK0fFNUYLbeDghTjg8c00MAuCDuxyF7jpQAuHRIihOT19sf/AK6lTH7tQTw+AQehp0QjlEkTEZBDgjvgVEcmTcjAbRnB7Nn/AAoAdH8svB3AvjPoeuaXcQSvBkDcMOh96EPl3DrGAI2GSD3PqKTaojjKkmPB5/GgBREhdTFlU53g9iRTQvmzDOGOzAU8ZqSNgDG44wo3DqCMUjqhwUzvUAkH9BQA0qX+QFtwBI564FEMPmeXltpaI8n1pzIHcsCQpY4dT0zTEYpGQ3MivjOOw60AOTPlqzZWRs7j2ODT84c8jYSuVxUVwoym4KB95eentTwf3xAHzbeh780AKWBVVWXkMApx39Ka0oU79oQP8pPUZFLJkOoGPKOW3Uw/u7eLcNxOffI7UASrIzbSyKCCdvHQCoY4groVIBbB/HmpXDLGhOSVDDr+lNTiVDnIbAPtSAah+d9+cJxtPYetP8vYhxkMPyam7t4cnli2xvpSrkRsM5IHKkdKYC7d0o2ZACg4PbPpRcqp3EHkYVh6HPWmsNqOrhlbaAO4NOVW2kP9/IGfakAowVIccgZBzSZIkZg+VyGwO30pknzIFzuy20YpVChsIMKeMHtmgCVsBXx/CRgn09KUqGlVUPXkA+uai++XVT7FT6e1IzBWj3KRhcAjrnNAEgkCzDOVO/8AA+1SSBQ6hn2gja3HH1qNAxVkUBi33vY+tEoPkMzfMRnI7H0NAEuNkbGNg2H6etJKkT7uSVxnPpjiordcxbXbByceh4p0cg2ExhiTk7T2+lAEkbAM27GMYH5U6AxgbXQpwBknioFXd8xAwTkZ7jrU8ibY0UJncM/4UAK0ZbAUjIPXPapJnwXCIQMDgdM1XjZXZSckgnJHfFSs3mQko+dzAY9qALcf7wpt+VcA8duele8+Ablbjw9BtOSo2nnOK8Bt5NzZjYMCCAMYwa7DwN4qbQZZEnVntGOWUdR7ivLzbCTxVDlhunc7MHVjTm1Lqe4OqurKyhlYYIPcVyM3w78MSOznTUBY54JAqGX4k+H40Vi9xk/w+XyKiHxO8PscbrkD1Mf/ANevk1g8XH4YSXyZ6qqwX2l96LbfD7w09qIG02MKDkMCQ35021+HHhm2nSZNPUup43MSKjT4jeHm5+0Sr9YzUy/EPw8cf6W/4xmhYbG/yy/EbrQbvzL70Xdf8HaLrnk/b7UFoRtQodvHpxVe78B6Bc6ZHYtZKkCNvXYdpz9aRPH3h5/+X7b9UNK/j3w6rYOoD8EY/wBKX1fFx+xLTyY1XX8y+9f0yj/wq/w19qScWbDbj5N52n8K2tb8J6VrGkx6fcwbII2Dr5R2kEDHaqqePPDjdNRA+qMP6VIPHPh0n/kJR8/7Lf4UvZYm6bjLTyYOrdWurfL+mZU3wt8OSxQIIpUERycPy/1q/wCIvAeka5bWVvOskUdoCEERxkHsfyq7F4y0CQ4XU4fxyKk/4SvRM/8AITt/++qrkxF07SuvJh7R2tpb0X9adOxlXHw80GbRDpotVRR92ZR+8U+uar+HPhtouiymZVe5mHCvNzt+grf/AOEp0Tbk6pagepcCkHivQWAI1ey/7+ioarJcrv8AiUqk27rcy/D3gbTtE1O41ASS3V1MxbzJuSufSulS0to5GkjgjWRurBQCfxqiviTRZDhNUsz/ANtRTxrWlnpqNp/39FZVFUnJykm2F5WsaPFBGcdRVFNY01/u39q30lFTC+tCN32qDH++Kz5JdULlfYs/QZrxr49+Erm/MWr2ULSqqbJggyVx0OPTrXr6Xlq33biE/RxTmngdcGWIg9eQQRW9CpKhNTQrdGj410Xwbqer3ISztZZu/C8Y+tfRfwv+HEHhmIXd6FkvmHpwn0ru7cWEHEBt4/ZCBVoTR/8APRP++hXViMfUxHuy0Q0lTXuLXv8A5f0zzv4m/Da38SxPeaakcOpDlh0Ev19D71886z4f1fQrhoru3mgYHHzrx+B6GvssSx9pEP8AwIVDe2lnfwmK8hhnjPVZADToY2VJcu6J0fxHxtb6xrVugSK7uFjXoqysAP1q2uoa7qIWBri6m3HhC7Nz9K+qj4U8Pk/8guzyf9gVbsdE0uxAFpZW8QHI2oOK3lmK3UFcdodW/u/4J86+GPh34h1Z8vAbaLPLzDH5CvX/AAj8NdL0Ro7i5Bu71Ry7/dB9QO1d4AB0FLXHUxFSr8TsvIXOo/ArefX/AIHyGoAowBgUvGaXHHFJj86w22IAmobtWeCRE2lmUgbumcVLnBrA8YeJLTw9pjzTSKZmBEceeSf8KcISqyVOCu2HMo+8+h81+MIZIdXkgmVFkVtrKn3c+1W7ZVcBwcOuEPGDWNqV2+q6u0kj8yMSWJ/Wtux2pa/O25zlssOuO9focU0lc8KbvJtBsZI3DH96DhHPemnzGmCyKoiBOdn8zRIo8lSGO1yPcZpYiGIzgF+CBxVEjCpkD+X91vlOeCKVlAJALMQcD/Z4pMKItsZ3FTn6im5dVk8vayuSQM8/SgCK3ACDKYXLNjH3ak2I6ZyD3+XuBTYrhhGVYFJBgAAZFJbM4XO7cgzuOMYoAl8z5wwzlhnHaozGEUkgYK/dB6d+KkIYvF5ZVo3H0IFI4aHmJMsvAz3H+NABuLRMFc5yB0xihHSVC2eAu4fWogpf93JlXU7yfXNHMX7vdgABd2O9AD4yDCioxJ5yRzilBfeSrM2OoI96aT5Sr8u5nwMrxSgEAyFipIxknt9KAHSyMFHlBd2cke1KQrEg52Lg++abJGS0ZDFSBgMRnn3p8gljDBQmSMHJ/WgBpOWZUHQ7/UH6UqxBSxLfJu3DIzwBVdCGzCGbMfK7epOKmCupJkJO1ADjt3oAYs8jYSRWOSSuBxUiMQiO0ZLcjnsagicLdEA5UEYz9OSKswkfIxkba2SO4oAjiJaOTfhsHP0HWmxpgARp8jKSCeDz60/LxS7SeHYscemKVBt27jlVTdn0pgRZWSMbVyR0YcZqWFdshDLtWIbgfrSELIA0ZCE5Xk9fSlVcxACTOD0x6dqAIJGldJAUIG3JYcHr0p+QwY7MAqAQ3c47U7zW3IiOHZjkg+mOKje42JuQ5O/ow79KAHOmG3/xEKhH90VG0ZVyDnG8kDpxSq6GOTIKs4LE9wRQ5IEYdm3eWDx1+lICwGCrl/8AWBcY7AVGojcOzZLphsZ747UxfliZmDGMDaYye9PkiLyBmYJwF446elMCK1MqoyJhwr8kjtViA/NI5Gc8hPf1pkShLgxxvtOMgA5OT60RkqgPOVO3kY3GgAeSSOFxMQWzx6kUyGIbcSHOw4Un1I5qykCBmkxghcYznmo4ZUc7SCMNzu/ipAMnCpC6KxEgOAc/rT1iO9IoyvlgDc397imFQ9y26MK5Y7cnOeKcyqxAXdtHzYFMCCZQsmUVgsSj3zzU0wD+Y/Rk4UYyDQQ0e8EhQc/Mee/FJvG4N8pG0ngfePegBqOwdS+1wU5UcYzSyH9xA7YRVJbb1pzBz5pjxnbk4/SkiCPFEWUggEbWGc570AESKiJL8uQc/Lzu96SYCeMRogAdzzn9aXyxCI1UnbHx8p6nqcUjh4ot0ahXUZAYc47mgBZCVkjR5CqovKjuR702JQ0QALb5H80e31pkYEsStcKEJQ4YnqTT5laC2iEfzIFIKqcE5oAUhsu6gKpbapH8I6E/WgRJCxO0szEnJ7dhTgRb26lEPB3YJ6etQJI2MkleDJknrnpQBI6xqm1ckPwG7g02YxNMDuYMpGfTNOhjESlSScKBn3PUikSNXZ1LYGNrZ6+xoAa+8wfvCGIw+d3ByakEkYd2U42AsMf55pHVtgiKDYRsQep9/ag4Vyu0FljxvA4oAbM26GJ0ABbATHUZ60ozGE4BaJRkk985PNCuA0ap8kjEKxxxwO1KscRC5DEF8DHU4Pf2oAGBYyOoHzPhCewIzWHqAA1B1QYxjituVccELwWYgn/PasBT5l4xwBlulAj7l+HS7PAfh9fSxi/9BFdFVHQrZLLRLC2iB8uKBEX6BRV6gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8V/aZkC6VoinB3TS8Hv8or2qvBP2nL0efotmy8Kkkufr8v8ASgDw1Qd2Oh2HaR+ZpoOHO05jyXwe9NC4uRjOAR+tOLZEpb72Ocdh7UDGrEeFzkcv1696AcTKpXACknPv0H61G7F41I5+Q8r7mpZTthYnk5AHrjj/AAoAeACEJ4OdmAehFRooMgkY8McDHVcCnMQoKrk7VL47kmkwBtUctuBB9j2oAVSPLO7IKDO71B6U91CvI2fmKhm/z9KY2WXK4I3BSvpg0rtkzMMbSDwfyoAREUA7dwYo2AfUnjFAby3j3YLEDJ9PrTipcMeM/Kd1DuFL7x8m3HHBHpQA47hDIACzKoBIH6/lTGIDcNwCMcckEVIDs+R3BcHhvwxUeN7Kg5ZiR9MdKQEqbljjVWBB3DHt/jRlSsZcY35U49Kai/KmBxnIA65zzSiMByqnEbr8hI9OaYCTKXUhgDjCMPQetKqnCZGMEpk+namO2H2py5wCD0OamBDPljtJ/LI60gGLtJIBKsqsvP6UKylMqoUEhSKcT5h3Mn8GQAehprFX3NtKhhwfU+tADRkthgSdx6flQE8ol1yx3EDIpwTCBcnODn3561HNIYgzlhtxkigCRIw8TFsq57H160xpWAYrgFVB9iKzBqcgOAq49+c0w6rtBR0UgnOM/pQBrnc7AAZXHzDuCKdG4kCnftJypyOlUor6Jo1ZX64yR1qSG4jnZSjow5A56fWgCdhuwiEgE4yB0ahAVbB5QZAz6+tJGdoU9y2Qfr1FMBKOC4z79RQA7lFJxvY44qQbgMZB2ngk8mo2YJjbxkgn2+lOR0XeWPV+nofWmA63kJlWQ8E9h2qViuwO4wpyCP8AP0qEKBIDkmQsQDTo9xIyQcHDD+dIBVwdjJwobIBOM1Lg+agZBtHU+lV1RTkDO0khQexqcttaTacPwMfzoARZMrtZSSuMH8acjlGxIx2kE8dQKjJBYkNsHQA+vrTmYiRwF4UDGf1oAfb5IU+WoUc5U9/egqqzIBhgWGex+tEe4I6oq4yeevFDfNImxlOcY7cigBQDE2QAI2bHHap1nTadxXcMck9R6VCxMiOozv34b0OO9QxwgSkgZcc+xNAF6N45WQtt2cg57GouHRjgHau0gDknNRlVQoEcgEElWHUjmnPKCxaPPB5I7EUAWisaRqFTMRwCMc59KZsiN0w8vAUfd9aRXMnG3kMHyOjUtwMLI24DZ84PqPSgBsqw78bFBJHA6UTeUMKsZBGfnA4zSBI1dZCw6ZT3FPJOcoUVc4CkdDQAgjjAV3+YBtpAHtUn2dC26JVwVJAPWgfLISOctlh6cc1ExKYIYsVB2D196AH+XCrIpQDCkc9zTTDErE7T1HynPFNeRWRATjAHJ+tSqTISxDDPQZ6j1oAYIEbHDruJwD09qDbRJKokZu+efQUom2QrwGVTjGeRTvkYMzZA27gW7+1Kw7hHbxEIArHcMls96PIRm+UuoyV696VQv7ohSoxng5psT/NGp27g3JzRYRIIowdqlmYfew3NI0TJu3SsqfwsTjmo5mIkQjGW+9t+vWrBcNtV8lSDliMimAIuIdwncleThsZpzqyqCt1Mo3DIJqFvJHmKwZcLw3rQGkIODhd+AQeQMUrDuDriRh5rbgu4HPUU8iQAH7RIEIyTnpUaswWMMMt6kdKJZclgCNgTnjilyx7D55LqTL5yorJdyY9jipfOv2kwuoTD6uc4qqkI8tSWIAGcDoabM7AKU4YHp/MUvZx7D9pPuWvtmpBgItRm3K2D+8OfwqYaprCxhhqdzgnAw54HvVBZNjoX/ibg/hUZld1GEYqrHnP86PZw7D9rPubCavrD5Q6vcAZIHznmoV1zWw+0ard4xk4kY4/WqCzGS5bJCpGcgU52cPNhsblAJ96h4ek94r7hqtUW0n95oxa3rgck6rcg4H/LVuR+dTr4n18BV/tScI2QDnNZJCZCkbvl2kHtTYxi4Xarbdp+Ujjil9Vov7C+5D+sVf5n97NQeJvEBwU1SYlSSct0IrntXbUdUfz7q5adnPUsatup+0MwypYcHHAFI+TbGL5CuMhgcGqhQp03eEUvREyqzmrSbZSttOhtiN6MzdSM9KtFmK5ysYDAccnHoRT1Hm+Zghug/LtUTMiyD5SARknPetTMbLhpF2EKgOB9aiHmIRGcctyR2z71I0qLcLEV5Xv6U1926V8qVYc88YoAlCCKTec8DBz0/CoxFhlZQPlyPrTTNMSSF3LxtwR+NSjMfmCNScnqTmgBkQzKoxsdfvD1FMVysjJhSrHJX1FS/MitL96XHAHcVG+HUMQDJj58/wANADVAJO0FXUYCrSzswUM4YsflA6c9zSQKSccFlG0EcU+VmlLKMbQuNuefrQBAZS7u/wA5UbVxjkGrWQXVN33W3HIqJUdSFiT5SMnB5NPkRWYbvm3sMKPbvQBKFGN8gwegLU1YUMpdyTtGMHp61FdFkhdkO7HY9uajE5eNt5wpO0Ed6AJmLLJkOXjAzx1FRySxLFuBZ5CCo9aZIzRlVaPIGASvT2qX5EjClV2h8HPXmgBlqro4fcpXGCO+aWJhIjiUlTuyQeCRRuCsXkznJ4256elRqSCu4FB/CMZ59KAJ0hRlyF5IOD6GnWsZRAHYeWFwMdKRNoaPBwHByCetNt4Y1BChyj8cGgCZ/wB60IUfieuKY4H71i21iQvAzj2oKAyNtkYKOCBwaiZnZklUnKsTtxwR/jTAbbIu9/MbdySAByD605xKI08klQhyc9f/AK9OnCsHZwQ5wFPtUULyNJlXBQNgq3bHpSAlH+tiaFASV+ZvwpEj+Zg5AyuSB0U+v1onnIlV4guW+RR605IT5MeZAcH5mHf2oAjeNGhT5i7N39alxGwyoGVAOAe4qExPFvCNkAbVU+p70pCRQtHGq5CjcB1JoAcN3l/NxGOox1NRFt86pG5Cgbse3pUpkVBtaPIJDADt9aGQuskke12kwPTAHWgCMhhcpJIiqyjOB1P/AOqmIplMZEvzLlyO1NEUxnLsvzAkgZ7dsVN92QgEAqoKY6c9qABnBcIM+a4BJUcZ7U+dkZ49xcuR26U0Lh1LPtkK7nx0FKzFRthTcRyBj1oAakzESO2VHQEDOKk2ru2F8qVyB0ximGVuD5LjOAVz1NOiQPLE4Dc5Jz/CKAI0O+WRTh2BDEZ6AVNEAvLBSpJGBzgYqL9zCsmd6lxliOSOaeUVljEIIVMMe3bvTAhZnSKXyzuD/nk9sVYhYr5ayEs5HI9h3qEsNpO1BIG25HbNOkiKhhvPmZXLY60AMdmSQFsKjHIGOelDSkwyrGwduijvTmjPluZmJLZx3z68VDwshWOPkdM9wP8A69AErtwgaM7lXATHc0SPgMd2HVAqt6E02a6jWJZIgxZ2IBHaqccZnnDBmDHG7NAFyUxCcRNkkrjj1607yhKUV0GxV+YZ6e1RqF2L5QLSZ4HQDtmpFR4vMJI82ToCc496AJgI0Hnks0m3AAPSmSuWTygj7uCMCmEhGCpnc5CM3+elBZolkfzclRj6c0ALJKyO7IC5G0FgOntRcDyRIxyQ/J7Ac00udwjiOwPwO/OMnNSZYwlXxJuO0Env3JoAhkby0RN+BubA6kjtSQs0ksWRgKSu7Ht/WpAw3xqCGLArvxwT60+AoZEVQQvPI6EigCoiDYxwWlYsASedvsKydNjaTUYkAJZ5AB+dbcyuEVnyhAPT09Kj+HsXn+NdEj27917FxjOfnFAH3TaAraQqeCEUfpUtFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK+b/wBpK6jn8XWFuAd0FsN31LE/yr6Qr5V+Ot2Lr4h35XhYUSL8VXmgDz2M5eMAZ3cc+nWod21WwNrbME/yFSKNka7CAyruBz0pDgEgZZWG5gecUAMJCCQrjqEz9O9OYgxncMM74I7E1HMgV5EILADKnr781McNIUBBO4Ff9k4oGMQhXkCnktt56gHinNlHyw3EfLt6Zx3oyC8jADLHBHqetIwYpIAxDA7k9fcUAOQ/6rPK8ZI+vWmgspxgsfMxn1Gadv3B9vClfyI6U6Qq7xdQW+c896AGgj515XJHT160uDIkxXOGQHn2pGIG9ihBKk4Pc5qWTA8xcNtwOAfU0ANZCJWaNd6lckHv61EWxEsrMFO48juR2qUSsr8DAyUpgVcRAkiM5/A9KQC7hHKoOFOTjFKgdAC3DL0A6YNIUV8q2AVBLH2qVGLAByRkBSOuRimAzy1DohYkqeD0PTmkO0KrZJVQQ3qaHcMcPliyFQf7pzimjAGwr1VVDep60AOLBiVYfMuWz3wfSng5Dlj8uDn24/xo2AyEg4YDJB6A96Yj4UqevOfoTSAb5jeWVRi2RgMT1ArI1KV2dYz0QY61qbfkfgEAEcfWseZczMOvegCo52IxPT3rPkYv83X3HarupnYigZrM3A+vPpTBjxIy/Krke2cU5ZmSQFWZD7c1Dnj2pu4gcH6UCNKHV7qLA8zeoOQGrStteRuLmIhTn7vPWubB703PXNAHaLqFpOoCzAEBQAfrVuQebEyrjOSwx/FXAhqnt724tyDFMy0Ad3G6krxuwBntg05gNyu3rx9K5/Tdf3F0uwNzDAdRjmtePULdkCkkY5BxSGWSjKjAH5d2D7+lOZWDFwACCDwegqBL2DCHefLA6Y70NeQSSbdwUHBB75oAtoAZG3qWGSP603KSMWUl0/u9xVZLpd7l5AFJOMHv9KnR41imkEiFsEYB/WgCViEjzGCvPQfzpIispEq7SQ3AI/SoInzGXB/1fzDn73GMURPsQYGCD8zA9aAJuY9rbuWLKeegNJAhtoklMmRk43dB2qRnWRQh2kZHT171HMpK4YDpjCn35xQBIvG1yASpYNk9j3pHZDNGqbSrnIPbNRgnbtRcgrjJ9M96aEQpuwwOfmIHAFAFmB5VK5ADIeccjBp0RXfOzurRscle4zUKHMm1C2doyxP3gDSQkbxtRCGY9R3oAnl2gois2FUjj161FHI6FVbGSRnPOR6intIGLhQ6Mf4euDSMGdkYKdhUKPUe9AEi4jffJIdhB5AyDmo/ljaQ/MygZ3CpQiqihvvKNp54pqgbWZMd88daAJCwljTbtIbpkdMU1SVkHB2YINND+WG3KD5YLKR3HenbyNz4J3KMAelACBVGEcFFY8+9KhBYI2GULzj07UruGlCHkYxn29aibLMYlAY8Dg88UATyMQoKswwcfhjvRINrxuigY+9k0KyPnPIJwcVG7qDuU7wFLFfU0ATLEn3o8g/c57VAyTiVHMmCDgiltpHnBJwCORzjB9KRASc+YRk8r6UATSuyxO7IMngY64xVdmkQZDfMSCOfvfhVlMl/UleCT0+lRqUCASHdITzkYoAehfqg+8pb5qjbIR2Xaruefb1p7yOA3llWQNjB7CoUQxq53HcWzk854oAk+0BUjRSXLHqDU7HdEwK8qMg571WRgbVHcHA6jHQ0khZYscAE4bHb6UATKWkjjcHjaQT3z9KAxkAVSQCM5H9agLK8bKhYx47cGlt2QTYXhgAMHjj3oAmYqzsz7d/TI9qfGyEEodxI+Ybv5VXnYoSpVXZyQFz2xTYRGvyrGEkTnbmgCyx3neuTnB/Km+Y/mKrOcM2Pp7UwEsWfcAGwFA7YpVl3OQcEYyvrn1oAZckM5EjNheQF+vemSKZGjckKhIUDpjmpQwEiEsDwc57imlnmVsKv7p/lB70AO3M8u3OMOTkfyqu25bfcMkKSCD1pZkII8r5XzuIJ9ulSW0eV+cgmReh70AN82NjvkTAGAOOtMkWMqzwAeX0b2pQc53cclVHp7U9C7TLjKoBggigCNW3SxhSFVe3qKcAxkBkxuXkgHHeo5yQVYgFSMAE+9Tj52/eqMNz1oAQBm8uTaVfODn0psiOwdQBywPPHFNRjuKyFuuAQankCvImCcE+lADISykeau45OCBxSz4eI+VlWHPAoVWQsdxYjIpAoG8xgAHqc9TQBHAki8hiR3BFSk4YCMZYDI5xioBKQ/wApOSMYx+tPYiQ7wUDfd5PWgBBGclo3GW+8G7UbTv2LkBSCcfqajZxvCSEbgcbfXFS2qqQ5woUjI55oAam5XIZgWwc56c9Kc75cRgICcZJ7+tIgfaAm35TnaDnj3pZCCWWSP5QeuOhoAeU82JygIcnr7VFHGyBgWLOzDk0iSFIzksWC4HFOLqkqb0Ylh1PagB0iq/lyjAWMnOOmfSnhg0Skrlhxt6YqEoVQK24qWJGP4aQykRkhyxGApAxj/wCvQAjAopAUszAk45/WnR5EW9t4QAd8k/hUvPlOo2hm5I7kVDvZt6ICqkAKKAHYLTB9xRn4AI7U0xrFLGxdiCSp49aerICw+Zzu6n2owy7FBYliXY9RigAO2NVkUZJbPzdhTEPmBFViBgkqR3zTow0oXzADliSp/Sh1C7xGG4Krx/CKAGbmWM7mBYOOW45pyEzCMttLbuuRwKSdWLDdIrpnoRk4qJbdFnxECvBIL9j0H4UATrEwkJz0blsZyKVoi+G2hQn3SpxUUBIhKS5yx2K1NctsVELZVju289u1MB7GIKzYImOcYbPNKTIYBuUIduNp60i2qIse0HP3mY9uKfkBEATeOxz2pAJ5IWVlIzuUZ5/LFEgVSjqOVGCQe1OQl5AXJ+b7nGfxqFHaFpZOZGyQuKYC7ChVjlg54JGSOKIZyZCASqr8xXue1PQysSssbFm5BB4z/Sl5aSN5NqBc9epxSAQg73+bEfB/+tUjSAx5ZTkPwB60haMJllDb8szY7VXkd9xaMsFHAx2HrTAn8pFTGAV6uAenvTJlijklfLFtuc9h6YqNZFKSGV8GTAK9zg0sryIJAGDDbkj0J7CgB6v50CgBixwMtx+VOdJBbjcgP97nkc1GUMXzbyZCucN2xxxRIpGSrO+3BbnrQAXEcUkUSxfKoJ+72zzVKGMsQvGG9OoI6VaVGjIi+UHZz7YNKsSkIIZDvP6c55oAkWIRlJRkbQf3eevuaj8j7pJPzfLuB6jrT/lM8mWChec/U0vnAFjIwKl9ox2oAjcRRKVVXYsAwz1zmnOWXeWK4Yg7SODUaSjMgDEyqTsJ6YPFK68BjgjGCx6kng4oAVYgHWbkfMxA/vZFMijZFAHeMsc9iamGEYMAcq+OT2xQ5CkkEGXJG0dR3oAiViJFwuFWL5fc561LCZEDxyBVjC/KV5pouQQqojHAwxI6fSmggyOQAAqnaD1+goAbeFjZMCTtAwfcEcGtf4HRiT4oaAHUNiYnkeiMawr5iljKz5+YBR+Vdt+zdZR3XxKtWl58iCWVf97AH/sxoA+vKKKKBBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV8hfFZy3xD11sqyfaGX17Cvr2vinxdKZ/EmpStuP+kSq3v8xGaAMaNeCSQvy7cdsdqUt5ZJA2krtyT+FDKQrDAztA/KoyMgAnOSV9qBj24ZkLYKjkg+gp8eHlOPk+Xb9DjOaimO7zcsMHjj6cU5lAYs4Kt/Fz/KgBhO+NCMhm4P4GnMd5LLnjDjHftRgrBJgljlW5py43yFcAiPGc8c0AG3eWjLYQrkGnxuAIgU43buOqjFR7v3bKQV2jGPSl6zOwHzgD9e9ABNk78/MeWGOuKcysSzHJbO7cP7uOlI2596IBliMHPb0pNwaJyhIkTPH14oAWUEFtrZVdpyR1pdoxIWzujTOPXvmnFjhywH3QoPYkdaaxCltpyWUd/SgBCyHKkgE5z9alUONiqwCklQx7EdKr+YDA6yKA27cGPueRU0rbEzkqQ5YLjrxQAk3zKsuABu6Dt/k0EFRwoYgdR3OKaQYj82cZJx6inkFmA254+nQUAPDk3C+Zgh1PArFutRmErJGQFHy9K1mJVY8fPjnPTBrmLht1xJlsHJpAWY9QnDBA2A554604gb+TjNUYTvu4lPbmtBx1/rQBl3+JLoIegFPGmIy8Oc1FKwN84PXirxbgYJFAFN9LXI/eH8qa+lFTxID9RVvcQetOBJP3vwoAoHTHBwHWmNpcw7qa09xBOHpQWxkNQBkHTZ+OAaadPuBxsP51sK7Z+9mnM7E9eaAMP7FcA/caps3YGGR/rWm0pHGRml8xtvY0AUEmlUHiQA9RV6C4TGW3BwMg470pd1HQULKSeVBxQBIzq4VyeRw2O/oatQopjJRgwBAIA7VWEw2/6sZpBMBkhcfSgDRgjOV43c8AGn+WNoGTzyPQ1li4bcpGRjpz0p7XRKbSWwDnGe9AGiISCBwrHjB7HtU6wfMWJyBxjPWsf7YWYsWYngnPNTC/cKMOfyoA2IlOw7dwB5wD1p5iyow7defmrIj1R15yp7cipI9TdSx+XB7YoA0VQTINrkEnnFLIJI1CliMngcdaoRamVyFRBTzqgbgovXP3u9AE5E0ky7iQ2M8Dr9acJJiSQ+CBjGOv1qKPVI92Wj5x2NOGoQsp+Vx7gg0ASRmTLDYpVjnB7GnyPKck7QPujBqFr6Iu2AQCPTv60v2y3PyliUznle9AD4mcB1KbiRtY7v5VMHbydpQhh0IxUK3UGSwZVbqRjrTzNA5b94ASM+lAEbTSq43DcAuB0/Gp/NjZkdUdXUY6daiZrcuSzrwMU8OgORKhXsKAI97CUlAycnnHUU6K4zvYgBwMFsYzTg6BSytwc85pHVzJkSAoV+6O9ADpp0Vt2U+bgEdM9806MoAG8zHzHgEHNJlGQ/u/l6njvTJIuEEa45/SgCwzEPFgg4zg5oMpk+TAJ6nvVFoC6ko3zHjnioltnw24bWBxkHqKAL8oXO3dsGM8Dg/Wm+Zsj2jeVPHsKoCN+p3LyR1oO7pufbjgZNAGnFJhwgGIwcDPc06BSp+UZ3ElqyjJOgyHYAdOc0hkuT8vmttPJwOlAGxKy4Yj5QRgn3qPylVkO0nPG7vissXMxO3zSe2CKs+ZLsXMuAOenegC07oz8Bgw+6cZHSo3DB1MZ3HPUj8ahkmn+9lX5yBt60qzS7F2qnXOMnjNAE7xqGUxH5sDjdTCHF7uCjJIzz04qr58kTklASVwOelIl83mM3lEZ44oAsq4hcb4/M2jnn1NTOxIR0bHBG096pSz+dNvVHBPOPcCnm5woxG28cc+negCzACYo/MXIbHXqDSyBfkwwx90/h6VVF3DsO8PyME4pPOikaAFyFXrkdaALKk5/eAbSef9k1LKcFtoz3OfSqH2nDE7tu5u44xUzXMaxDc6t1Jx/KgCWJjwSE2tyRjpSGURkLOFZR0YdqZGVM4kEqqDjgGh4YQ4cNuxwec0AJIzEuMgqGBBPf1qVNxjJD7Ru+U561GBGkisdpPLEhufypUcurFiuAeAwxQBM/7xCYQN/seDVfLJtJICBiCT61NDHsBMbZJ61E7S+VtdQfm27Sc0AK0ReIEOAQ3GetPOBLEjEZDcDHb3pHmKyIhjO7bknt9aRC/meaUI3HBI7+lADpIw0okXakgbBJPao5ICZful4w2QAcYFPb50ZAV3hujU12m2o8aHKNtO05yKYCxwm3ZgBnevDH+tJKkm8s7kof4V9aWST58HDDIO3HOPpTSXBfPyDHy80gJJQ4kzvQKF/wBWeP1pmwvls8JnZg9Rikw0kY2qGU5B7d6V2VXCDkbTz+FADfL8yHbM8g3EDrSw7TG1uT0GFz1pI8GL5cMysMgnt60RLGXlI+c9QMYPFAC5JfAfHyhFHqe9RqSJi7RjgjaS34VOrJGzMylSvbHHNQSu32dli5bzOTj9aAHCQJI8RViG/QmmeeqhwisVIAKN0HFSIeWcMxLjcox0xTnH77C8Fjl1PIP0oAaFZpUHCgLuU+/en7Cqkq2ctuOe9COXiKphXC8gjpSRSNJNvcFI9ufxoAhjLMY2diCzYDfj0/Kptqs8zb9wAHH09ajlL+dEDGVRWz8vPHSnwxOLVozlNx4zyaAGSncEYBvlI2n69cU+EEM5Qou5/rxSSo7zFBkKm0r6e9MACGJVjdQxIyB2J70AWJ3+dsoc449W+lVlbNvlsoWfgdcU9wN42t5gL8sT93tUixL9pMpOAucKB196AEhjZJYlKhgVLM4PShSVQYwpBzt9eaZLdL5RKFiXx8p4xUhG2VGzwwKqoH60AL52CSCQPL3ZHqTUBdXlVmw6qud38qkLRxuMtuyPugZAx1pMAvsHyoRyaAJBxIVmHOwHA5+tNSRhcMqcoRn6UDb5SONzOvHHc1FHFLksBiQjYcngdyaYEiBeu1ZCAQDjjPWoYkDu0a5VcYLHqTUjxMsbRqfmLcY4xxTmjGyTCgMSFJ3frQA6PCqsgT5VGCT7U3KKxYB1ZSSzAdqbGpQGNiQxwOen4VJMpl4QdD69u9AD5pY8M20klQOOvNV43jLIISxVE3YHGecc1JvTzEWFc+YdrfQUKY4bhIkjAOCGI6KPrQBFJErJtyQqEDdjk96cyhnyrDC4YKOlOklLMqOhJY7gB/CDVZ9xd2ZgqqBgjkE5oAeZWkjQbCAx5YcHOegpAnn5jB2orcZB6DmpZF3SHC4ZjtHbt1pEKgOkaPsOUDDvjrQAtw6I0u3DM3zDJzSqwZEdX5A3vjrjFQRR7VmK/MMjCY6D3qXAJZYfkbYNxPt2oAYsvnJJiMJvXI55+tKGPmEhBKyqMAdhjn9aWfYGGTwcKe24AcmlUgXDeRwSwyAeoA6CgChrOBBgc/KOfrXrH7Klkk3ivVLtid9vaBVH++3P8q8l1kBLWNgDmQgtn1r2j9k1T/aevsf+eEQ/8eNAH0jRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAEZgqlmOFAySe1fEGsuJtWvm3cNPLg9uWJzX2d4luEtPD2pTysVRLeQkjt8pr4k/jOTkd8+tACZEhG49X5PcHHSmybSvBKuCWX8qaOW4BGcsAfelG0hUk4HI3+lAxNq5VSMMVGSe3fmpCS8+DyvUjt+dNZcxbskMxCsDznilRsxgPy2QCB3FAAzv5TEg/KQu70xRJhHaRBwcZB70E8lQdwY4IFNiYPuBHBABB9qAHOigEqx4+T170dHYq2CpCmgICxRT84UDp0xQigMgLkbxkE9jQA9BvZSvBPT2prYRBIMlmO1xjqaXd8nzdlzwOQR3ojALR4bKAgkehoAQKJGQgbk3H8/Q1GHw6hgAGGceh9ali4SQgAyAh+PrSOFJYjG0gYz/AA5pXAAuYgXC7iTkehFPYAPLtcY5bJ/Cmo33dzEEqQcigFgEYqADnd6ZJpgJI5MUUuAzcFue1SFlMg8h2wPuj+lNToBgMoBTgdRRwpQhe2M55UjoaQDkCthOzZX/AHay73SYJ8tGJI2x25FaTYebeuVZX+8O496XIKsrAkDkY70Ac8umyWNwrlxIpHB9Pap25z6Zq/f/ACpEGY8jOPU1QYgI1AHL6jKwvZCjYwcVCLyYfxmkvDm4kPvVc0xFsX0ufvU9dQlHcVQpaAND+0Zc8gU8ak/939azc0bvagDUXUj/AHf1p41Ac/KayQaepIPAoA1Pt6nqDTxer6msoE9dtKGPcGgDWF2pGc/jTxdL/erJD9ufypRJzQBri5X1H51IbhSMisYSjPJp/mKe9AzVWYZyT+FOMoYehrJ8wetHmYHDcUBc1VbafanGTLYHT3rJEpx94/nTxKezH86VgNUSDdj0oEnzc1l+a2PvGl89xzuosFzWWVc80pdfbNZIuXHeni5bqcflQFzS8wZycfWnJIpfjgGs4XJ7gZpVuj1wtAGi7BTyTTHkAXqefeqYudx+ZP1o+0KT92gC9GxP3mbinCUgn5jiqS3KqwIUk0huEOeDzQBe844xuNKJGIxu6VSEqE/eNDSrn7xoAuiZuMNTvPcZO7NUBIgP36lEq4wHAFAFtLuXB+c4+tSrezj/AJaH0+9WdvU/xClVsc7lIoA0ft84P3zn60/7fOVHzE5PeszcSc8UfNQBqf2nMo2nBH0oOpSspUjj1rMBPpS89gaANFdSkAVSgwOM1MmqYU/u1GBjpWRuIB60iHCZOck0AaAuVOW2/NnPWpvtyuvzL83rmshnNSK4PU8AUAbQ1KIhQ6HI/Wn/ANoW4GCp2+3asFnO7rQWyvGKANk3sORuXGOhNH2i3z/rMe2KxC3I5HPbNMD5b5qAOgM9sJAwlz/SpY5oNoZpRvIx0rnC4xjHWpMgAc9vWgDfV4NoXKnJ6inhomIG5R6Gub3jqucUjNtHOaAOjYI+1WcE+o6U/btCruBAPXrXNJKxOQSKkWZum80AbzoGGXIxu6HvQw2gsUGB/FWCZ3UYMjc+9KbuXaBvI/GgDXjh8yfDgbAOSOalSAM5DKAg6HPWsZbqfJAcj3oS/mjG0ScZz60AasceWfIYKpwMZ5qR4+Sylw3T73WssalcFcFh7YFINRnyScE5zg+1AGqrOdqtLIueBk09UlU7fMOF6dMVjPqTOwYoCRz9KfFqr7FVhnP60AaDLKFIJBA6NjmkzKik7sDcG4qqurKE2tDnPHWnpqsbDmM8dKALm6ffv3K0mMgkYxT3lkdCXVC2OcE5qjHqUOwqytk9acNRtVkL4YHGOlAE63TKn+rPByBupftoCqUjzzgnNQjUrcoeobPTHamw31t5rINoi68r3oAtR3AQk+RtOcZ9qaLraxYRNnoPl5o+125k2+Ynl46+9NS5jSH5pEJ9M80wJftUaRyNh9zchWHeoluh5br8wBPp1FDPFt4cFhyBuqV1jljKq6qw9DSAYs8KFo0l+6oKkj9KmE8RYMzA5IP3ulQtaoQQG5z64pyWqMCOiDvmmBOLuNjuV8sSQee1MjcS+YsUi/KeMnioDapkRn04NRm1CkglQf8AZ9B60gLKtJtkWV2YhwCVFRTS5jd0d+VJ4+uBUJhJQeTk/Xio4rdtnzZRj0x2FMDXBJmQtu2qvJ7GoDOR+8Zn2BiR9P8ACqAick/vJDnjqaFLuVHnH5TgDdSAvQuklqGbC8ZBPAJpXmcSKGG8FRhVP65qttmEe3edqnIDYpvlzgoxbIUnGR60AWRbqqoxTDAEKx9/Wnu4QHJbcMDiqjtcIhU4GBjcaik+0xlenJ496YF5lZgyqE6HJPGakitXV8nGwfwmqc00jpho1J45GfWkS7kE5CxnIUDG7tQBbdmWNggO1mwGGeBThuZx5qkDIxznIqrLdzMX/dcngjd2o+2upVmjfjjA70AWWic3BAY427VbHbrTZHcI/ljzHHJHv7VXkvC8boTJuOT0xj2qNNQZcsQUUYwoXr6nNAFkySS3DeZkxo2FHqcc1KAB8y54wRk9qqG5glK+T5igZwfXPWphdRJEo8wsFQhs9/SgByMyyRDbtYjKIPr3qYhFZk8wBCdzL/OqltdqvmAyoOMhuvJ9KXzrZBhmDsqkkA9aALEe9LjBkUhhnJ4KjtTJ1kfag2qm4Z7luabvWQITtaVg3Oe3pTI52CEsSpGVY/yoAkB3SyCMDPJUntipImbZIy42gDbnj5u9JkeYRhiQnUjGSaYoKxASBSV6H37UASxxeYPn3IxO58Ht/kVXZt7+YAACxXgdQemaeJAHYStIccEAfe45p1uqpk4KHaGC/wAqAKk+43AjKEnaFPtk9vyqzD8xkAdQWkwuOwxzTEk8u3DjDSPkMe+B1pbZY0CbWUKrAnnnJFAjO1tgEiiA+6xz7+9e/wD7J9mg03Xb3PzmWOED2Az/AFr581xy00Stg4z8wHWvpb9li2ePwbqU7LhJrv5T67VANAz2qiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUEgdelABRTfNj/vr+dHmx/31/OgB1FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBzXxKOPAWuEf8APs1fGrclgTy+Rx6g19afG24e3+HWomNtpdkQn2LCvkxdigspO4kMN3c85oAVsrKCWAbgY/u4/oahlVmA2sBuYNj3HWnBz5q5BOPkZsdqAAXIb6AfjQMaA67F53AZU9t1O3NhCRt4wuOeh5oUESqWznBPHQE//qoBxg5JIwePpnFACjaqqRjlug600EgEdCuNw9M0BfkRgfRj/hTgw4J68E59c0ADNuXeDxngn9RTQNjkhmweMeoxSgkAEcpySv16UHC4GTtA2kE9c0ALmQOhDAAIQM0BisokjjHlZw2Dz680gILZyAW/kDSElVJwD1OccnnjNAEzkqW4HGMY9D2pJydrgHcBgHPp6VFuHmgDqQGz/wDWp4chYiMEMNhJHfsaABwyb9oO30PPPtUuxfJRWUlW5Bz0JqN2yI2BIIByB2I60E4R+c5YEg9h7UANlaQtKFAVgvBPt3p6Z3oxUFML19KN/wC8HVsA5z1OKb95CQSrMpUikA5Mx7ixwFwy57j0oVz83Pzdu2R6VE8rRQksAwIVVPrTwBuJ+ZQTgfiKAINR3bolJBAXOazJiBGSM9KvXzkyZI2jaNv0rPuyFt2+lAzk5jmVj6k1Gf1p7ck02mSNNGKdjmkxQA2nUnenY5oAVe1TIOhqNRzViMDBJ/KgCRItvUDPUDFWliDEgJlvTHakhA+bPPAwTVyMEDG4cDOB/KgCNIfkO9Av4c0/7NGcFFVl/vMMVaSMsmCoBPAJb+VPaJwFwpwOhb1oAqHT0wWYIo9Ac/pR/Z8eMsmB6EYq8U2lQQg44IXJpHaXdh9+4DOc9vpQMz20uPPoPU1C+nR7sZGMdjWmA5Xbktn+8eKRoCzEKqgjqAaQjKOmgfecDPI5pf7NG0HzG/AVoEFZCrkj2xUsZAIyc44ABpgZP9mSbvlLEeoFElgVUFJHPb7vFb2UcD5WLZ+9jr7VG7oshV4nTjvyKAMI2MwOA2fwpfsM46uoHrW2NkgwIireoHGKcqgA7Ui2g9MnmgDCa0mU43xnPvQLW4Jwvltj0PWt9I48EvHx6Fv5UbFlU7UC7exOCBQM57ybnfsEZJ+tAjuP+eR464roIoRkKxDqeduelPezWNQ+wsCeQB0oA5ljIn+sjYelL5jDGY2wenFdM1pvVjHEqpjowyab5QUKPL/H0oEc153PQ59MUpnGTnINdI1pHneqhvXYPmB+lMNtBKzCSGQOBncFoA54XC0ecp74rf8AscajEgIz22AmkOnQDlBEyHjDcEUAYhlU4waXzQeAwrUfTId2fIJx2XimPpVuq5wQf97pQBQSUUebxwatHS025AOOuS1NGlw4+Z3U+tAECzNnr+tH2h84BP4GpjpadRO2zOMkc03+y3JBjuUYfWgBv2hwfvGl+0vkfNQ+l3Cru8xce/Wm/wBnyEEi4jz6HrQBIblz3H5Ufa3Xpt/KoJLK8XGVDZ545phgugASgwaALX2ts4KrSi69UFUnguYiN8fJ6YOaQmcZ/dEUAXTcqTkpT1nj7p+tZo88ru8pyvqBSNJIvWNh9RSA1ftEXUqaPtER6k4rJE/JBDflQJh3pgbAkhKnDNRvjP8Ay0rIFwPWlFwM9aVhmuGj6eYPanAjtIv51jeep7il85cdeaLBc2DyfvL+dNKMSMEVleaM8HNHndwx/OgDXbdtIXvUew46VmrMSfvH86UTyZ+8fzoA0SGwTzmkIcdc81S+0OCPmNKLqTH3jQBbO7pgikDEHoeOKrC7kGMEH8KcLxwOx/CgCwHPUnpThJheOtVBdycjApy3ZPVFNAFjzTnPenNKzcAgVX+1L/cGaBcqx+4OKAJgxLf1pwkAzgA1XFynIK0CePPIIoAtlwOCKQuGO3bmq3nRE9WxQs0YOVc/lQBYyAecgmjfg8E1CHjPPmdKXKHpIKAJkc5OWb2qU3BVRtlf86q5GOHH40vOMblz9aALIupccTuPxoFzLliJSS3U+tVucdRQgYEnbkUAXf7TuAB+8/SlGqXByd4Y/SqDAk8rj2pqqQehAoA1RqtwG4KZOOoqM3x3qWjj3Kcis9gSx6ilxk4zQBp/2i77v3YDEdQami1RwADCCeuaxRlemQalRsL8xoA2v7WVioeEc/e96euqxrjcjfjzWGjgDOee1OGTyTigDaj1SEZ3gj6Cl/tG0dXDBsNjnFYTN2B6VGCd3I4ouB0AvYvsgjSTa/8AexmpIru3Xam8FQvXHesAHHQDbRu67RQB0bSWrlykiLkcsDzTRJEZiI2jCxrjJ71zwcdCPrSmTK4B4oA6OLygNilDkc1HNChgAUD8OMCueEnI5NPMhA+8wouBurbI4gIAUjkqDT/sqF+nJ6kdBWDHMygEO271qQXUoYhZmB6kZpgbP2JCgCkg8mlFjEEwxP51jm8nDDExpReTZYh8noaANI2yeWrxuxU88noaka2J+5IwGeee9Zq38yRqgK7V7YpBqMvlsmFIJyc0AXkEm4nfIrKvXNEiSB/NWViw+8xNVl1SQjGxcAdKadRLBlaIEE5PNAFkRShCokKhh2GakUzeWSrrnOcbeuKqvqRbcuwjcuBz0p329CDhSONoH86AG3VrLdOJW+9joB0r1P4cfFabwR4Zj0ZdHS7VZXkEpmKE7jnGMHpXmi6jCfmZScHig6hAz7gCSR37UAe7L+0JMQCfDgwfS6/+xrTsv2gNMMJN/ot7HIO0Tq4/XFfPMd7AVbDAP2HamyXKtG5EiEnA2/1oA+kl+PmgHrpeqD/gKH/2apk+PHhvzAklnqUfqTGpx+Rr5pMyYBWVcetTu0cjZDR54OaAPqRfjR4KP/MQnB9DbP8A4VMnxh8Fscf2m4+sDj+lfKirEXLkoV5NKZEIVscgfnQI+wIviL4QkRWHiDTwCM4aXBH1BqYePPCpGRr+nf8Af4V8bMI/kdk3BQSQo6mnCJchSByuSfSgD7bttc0q6iWW31KzkjboyzLz+tTjUrE9Ly2P0lX/ABr4ZW3R4flAjBPU9aWKMGJfmIJJHHegD7nW9tXIC3MDE9AJAasV8KRCSOUMJZE2jOVc5HHSro1jVlj3Lq+ojpgC4fgfnQM+3qK+J4td1kOo/tvUfmG4YuGOB+daNt8QPF9vFsj8Q3qxopYBiDgZ9SKBH2PRXyF/wsfxoItw164zuCgELz+laVn8XfGduvlDULefGSWltwW/OgD6ror5bHxp8ZBQWl08kjP/AB79vzq9ZfHbxLbIwvNPsLpsZ3AMmPbg0AfS1FfOo+P2r5IOh2XGP+Wj1bs/j5emQG60KAxdSIpiGx+IoA9/r5t/aB+IdxLqsnh/SZ3it7Y7bho2wXf047CuguP2gLQW8pi0K5WUJlS06kA9s8V836teS6hqFxeTktLPI0jH3JzQMUX9y7czzc/7ZrWsZJvL3NNJz3DnisW0iLzoOtbgGFAXjHWgR2Hh34ieJdCKrbajJJAv/LKc+Yv68ivVPDnxzsLhki12wktHPBmhO9M57jqP1r57Rgw5BU5xg07qSKAPtHRPEmj64udK1G2uTjO1HG4fUda1q+HLe5ltpVlt5XhkU8OjFSPxFd14d+K/ibRwqPdi/gXjZdDJx/vdaAPqmiuK+HfxA0/xhasBttr+P79uzdR6r6iu0DKehH50ALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeX/tD3fkeBUtyOLi5RSfTHP9K+YXO0Oo6AlsHt719FftLzp/wjul2uRvkuC+PYL/AIkV86oWMixyYAGCDjofQ+1AxmT5ij+Fn5A74FHOwsRg5BLHrxTipVmCgddxHvmkDEoCevzZDd6QDPNJLcFcnI4zz3x+dLOvzYJyeDke2KG+5sx0YtkdjSuGDsBkMBwc+vWmAjkneRhx22/ypRkxlurEAgEc8U2L5UGOpHSn8bTyRtwMnqDQA3I3ttOA7bfp0prEF5VA+UKQD15p7Bg7Mo4JGAO+KGVVWbbn5sED8aAGKuQUBG8jj8adJtLddp3BqbwkwfJbn5T/ADFLuw6DIwynrQA5+XctjOcDHJHpTuJNoAVWzkY/ixUQYeW7HGQeD+NPZxvDDO5Tjp0/CgBWOIC2MA4J598UmFYRbGJCkA03HzRqDwh2uOxz3p6rtHyDAIx9fSgBEQiTHBBPXvn0owAUZcsOSM9c0rFiG/h45+o9KFADrx6bcfrSARgHjQY3LkOF9PWgMGckZwDkZ6GntgHZk8HhvbNMmwCEJA+UDPrzmmBQuzmVtwOfT0rP1Q7bVz0yO9XrggSnvz1rL1ph9lOCcUgOdNGKDS0xDcUhFP60lADF5angc+9NUZJp4B7igB6irMa8b9vyjj2zUEYBJBOKtW4w21gWGOcUAXrREkZFwWJ4x6VeghfLLgDJxuHSq9pGMJ5Y5BOSK1IIEeMPGHKHnA6qRQMctuQd4C7e/rVg277dqAbexJqSMDyg2GHqR61JFEdh2F/mH8Q6GkBVigK4LjLg9m60My+ad0PtnPSp7kdIy3zjnft6VMqRbwC4dyvY9aAMtYx9p2MjMgPBNTOgBYxqCc44POKuNHI6sVbafQjmkNusahTyW5LY/rQBS8hWfaVYNgckUq2y7sYwPUDvV9lZZFKSIxHQNSB2M2zKfN2BoArwxRMjDeCR3zUDwg7hvfg4Ge/41qS2zRyIUVQpHOBTmiKsBgPuHbpQBmRWzFxt2h16ZOePerAtiX+YIUxzx3qw/lRuFaLbI4xuUdKcsaQgKGYtmgCp9hUJvUEOTkAnioLpLhGUoVOTgBR2961JEDsoAJUHDD3p0aqVURKAQeDjj3oAydm1S7r82cbMcVK8SKh2Hnv8x4q/dxxOwEjliOQMYpvkpEwYKCjdgKAKZEbKysXxgAt61GkAjkCcDA3Z54rY8hMYwCM5HHSql18uNgByeM0AQRwgbmQ7UPQjvUBiVCWT744O44JNXVLorRmMlR71IYi0m8IjDHcdKAMtYtrE7CZM/d3cVMLeRJQxVdjD5mwOKuSKEQgISxyeO1MtSm3Y8jP3JNAFWRFTDBlSInkjqaQqqYZMlD3xyauzp8nyKWBPGO1NROAGmIUe3egCoyIisBHy/Rh1/WoJDu2hUZiPcHFaDwPIM7g4+nJFCEKipNGBvHFAFQxfOFBOSM8YyPY0qRqiHMYfHJ8wbauFCsWwLk/lUcoULGGh+VjjOaAKLRqTkRhg/ZSAVpkcYhbeYpHc9iwxitTyo0U+WoJHHI4qOZAYg0sYBHHTigCjHF5kmNsiM2ejZAptzbiPBYCQ45G7Gfwq6Y1aPMbMAOirxSska4Vg29h3HNAGbDHC6uDHKuRxkcA1GsLKuJEjYZ64Oa1pIndSMBgPu84H405IZo4/m2Ae5zigDJ8iNiowBk8gN/SpGhSPIIl2/wB4DIq5PDKpG4RyI3JGMY/GjycLlFKM3TBwKAM77Ov30j8werf0pskEe/LW6CRv7y4zWibcSTENkOP4lJ/WntalGby33HrkjJFAGS+mgJu2jbnOEANDWCyLg2qgD+MJk/jWpkxQb42OehyM02EFoSzbmYnI2ZBoAzBYQHbm1iAI4bJANQ/2LEP9YgQnkZbAIrSdNsZ3iVATndgcVZiiWVVjWYumBkOMmmBzs2m26DOw8nqr5FNk0yEkFBIFI6bua3J7dI5AzozgcHZx+dSpAPLVhFiNjjDc0AcxNpLRru3OF/2qaNLkYDY/J5wfSupNt52AyIcDg54qCRGVmVZI1btjt9KQHNyaZOrAbz+IxSDTp9xBlVR1yeldL5RaAySTS+hUgZ/CnW8METqSzOwHDt29sUwOWNhMoyJY/pzTRZ3hXeqZA9DXVywkTgoSG7ZGcUsts/G4Mc9WXqDSA5IQ3eT+6PFIsd0fuxMR7V0ssMgnXMs+AOuzp9alhg3Dne3P3mXCgUCOVMV0nWCTn2qMySA8owP0rrJreONCIHBYnBVjgfh6U6O2jI/eokLYxuxkH8aYHJeZIOdjD8Kb52OoIP0rqY1IdhGyMRwSVIFMkgjlk2syuWGfu/N+BoA5r7SPpR9oXtXQtaQmMhkbHTdxx9aYlgsb7fIjkJHAYUAYP2hacZlPQ1unTYuWlt1QNxjHQ+1Vzpdsfu7XY/3W/pQBlCYcc04zDPWtE6NFIoEauGzyc521FNpMCYXdKrY5ZvumgCn5wHc05bg8fMfzqVdIyDtkZmHZVp40XPDSSIf9pKAIftDE/eP50ouXBxvP501tJuQTgllHcUz+z5Tysqke4NAE4upAfv0pun/vfnUDaZdIuSVx15NRi0unBI2nH+1QBd+2N6ilF6w5IU1mtFcLnK9OuKVYrorkRMR7CgDSW+A6oufWn/bQc5T9axyJ1bBjbPpijfIp5jYfhQBsfbEz9w0v2mLj5WrFMxzyDS/aOnWgDb+0REfebH0pfOg6eYfyrE+0c5pfPGSRQBtmaIj/AFn6UeZGR/rVrE88HnNKs4oA2xtPIkFPO0j7y4+tYQuBnrSiYZ60rDN3cei7cA5qM7iSxHX3rHFxjvThcH1/WiwXNlenQ/WlQ4JxnFY32l88OcfWnrdSf3zRYDUdsx4IOfWmAcck/Ss8XT92zThdN6g/hQBfDHsTTy57HNZxumx1FKLs45C5oA0lY8ZYE0qyNnqPrWabz/ZFL9r/ANn9aANIsTnODTQSfTFURdjoQaX7Yg7GgC/G3QYGfSnF8HJHNUBdLnjI/Cnfa0JyTz70AXGcg46VLuIUckCs/wC1IxyWwRTjcrnIYUAW/MIOQTil3NnJYjv1qqJ0IGCOPeneeCuDimBaW4k3Ha5HvmpRcTZBMhJ+tUVmUIRwTmpBOhQjAB9aQF37ZK/3myQMZNIbyYgZYcdOKpCVAp4yacHQ7ADj1JoAvx38qliAPm68VIb+QYyoIBzjtWaCpDZPvTi+Nvz5z19qALy32G3FecYp7akChXYMtwc+lZsjejA0p5cYIHqaANU6irAkr6Yx2PrTv7QUDLg7nGCwNZrqFKBSpc9ajZmDdqYGwt7AXVnBG0dh+lOa9hdEZyS3RgOKxRy2ABmjdx92gDbN1EWYb9q9QfU46VG10GIVW2oQMgdfesgHPJBoJYDIzj1pAX9RnjaFdrAHp97sKoD1b61mO5a/Az0rRQ4Q5POMYpiL2lhhI5XgEcE1qE4HJOfp1rnoJXjugNxwAMipDcSGRiHPWgDcDBhhuoHTtQH9Oo61hm9l6g4I9KYdQuFOQVb2IoA3JJtv8Ifv1rNutQxlFlwDwR6fQ1Wa7aVNrjAzywPeqFzFI33QWT9aALUOpyQzgxyyDtnODirsOu3sMoeK7uEYHIIlYEfrXNsSvrx605XOMnPPegD1/wAJ/GTxPo00YmvXv7YY3RXJ3Ej0DdRX0R8Pvibo/jBVhQ/ZNQIz9nds7v8AdPevh+OTHOa2NH1Kexuo5reV4pUIZGU4Kn1oA/QSivPvg545Xxj4f23Tr/alrhJ1/vDsw+teg0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeB/tQvh9EXvtkI/Na8MLDzi2AQV8tsmvZv2l7tZfEOmWm3/UWzSFv95v/ALGvGpMEyEckNu9MZoARxvhUn72Dk98018HkDnOOOh74o3MQTn0BI7H1qMNlQQAu04x3PqaBk5xvUqR97IHamKRtAJIPJPPI9qbkLEMg8ED6GldhIU3YyWJU0AOZQVODyCQOPxodFb5hjL54PX60cHeybgzEZU+tJsDsTyRkqfbvmgBygBztzt6jvjikUBcLLy2CePTPWhNqFW3H0PtjFKcBdxGD8yA+xoAjhCbmHJO7jI9+tEq/PHkDYeRj0py7/tHcBCATnrjvShwCHXIDEjB+tADM7VTaAABww54zSxfO+48jkA9OKmbcpOACME9KhQKoVdvyng/jQA1PukqOOjA9vSnK3zgMdp2jnrkClYCHcNpwW6dyKRAN5yQy9j+IoAcYwSBnGTgMD1IpwZO+4NuyM9j3qGUM0G6NVCkk4zzUgGXbJG0gqRjocUAMHDFiDgoSOfWpZcbgcc7c9OlQSDBLSAMSoGPTniptxG124wuCPQUgMc8nOSSTyTWXrbYgAznmtWXOCQOM9axdcJ+QcetAMyKKWk7+tMQYpDS9+KQ4FACJ3qTt1pkf3TT8fX60APX9au24IIOMgjBxwc1SQ8jHX3q/F8y4VTuxyG7+4oA0NPeRj5ZBQKclsd62bMqy9GR8gg9DWXZBvJl3HcRgEA8+ua2bdWkj4dXC9Qeq0hmio2qcDfGT82RgikkAQqQ5Kqc8dRUNuWUv8wbB6jqamAWMruVmyMhzwR7GgBjqzyZScMp6iiWEMvylPM6cihobckMj7XPLE0Od+dpDdjt7UAORcEeYwYqOQBTnThli3gHnJNRwweQ5Yb2Y9WNSM0jAeWu7PXdQBViYrcFXzx/EF4zVnZG2WKqHzxgUij97jaFBGRzUgR4C20q27kAn+VACSEOmyQExY7USQ/uAkTSKVPBJxUpblRskUHrxkUoCMWDxsCOjHvQA0BgqgFi/qal525Kh3zzilBDplXUj0xSbijKrqw3dWFABtw3z/ID/AA+tESxwsVjVc+gJprPltihtpGc7QaeAFUgO7fUdKAGXKE/cj+Y8BsZxTo4wEAYEnv8AWnwsJEIBZsdQetQtApb5WaI55w2TQAT5cjAJA9OKaRsjQOQSe1WWIVflckjuRTXKFMvgnsQuaAI3BWIFcYP8LcHFNiXZheVXqM80oeOIAknaPUHApHUSbWJQoOfvdKAFIc4I3Y5xzUMe2A4zGCx7jvU5jMa7mZVB6YNI5V9rcOg9CDQBHGqqAGkwTzx0p1yEVVLgZB7U9CckDAB6KRSbUL+W8LDIzkng0AMQxOGC7wOuPWmbY1IOVK5+63b6VJcBQEV4yYv9gcimKkUSfIr+WT/F6/jQApjDMzqg3Doc9qgkklB2so354UEVYyGU/Kevpimb0L4KjcP4gDQA07zGvARgedw60yWOSeJtrBh6dKsqdxHPI655B+tRKBvby35bsBkUAQ29vIAFKbMdM81M8GZN5XJx19KfB5oTEnB9QaUksMOjMR0YHr9aAIpkQJ0GD1x1qHzN/wAo3OoPTHWpvKO3zFAbP8NTjKMWbbGp4GKAKE6BApwo3cYP+FPljBRIyrbfVe1WGiSTlsE9csOalOEUbDnI5460AUIYpgCpKlc5B70s0EpGA24+xwatBPkBYlMHIHpRJtljKsxP+0B1oApOmxAhR2P949qFhlwVDAfhVtodyKinj0Y5oMCDIOcgdAaAKDW52MJZXPtnAxU72yJB5sMjYAzhRTzBgZQSBc8g81MokRCyKMHselAFdrZpNrJwvXPrSXFuOAZiA3Ix1qwJOMsoXjOAciiTeyMYSrH+4ecfjQBTFoHCtlgx689aRrLEm5I1JPXcP1qeFFGNyrvPoeBRJBNJLuSRVU/7XWgCOLf5aiVI2XOMr2qOaAhg7oH984OO31q87onTBH+z60hVJ2BYMSOB7UAUUjmlAXZtjBxlTzj3zUoiiaRl2uwA5YHANSSy+XcqGDHaOCOhqbO0ZB2gjJHvQBUaGTlpGZADjA9KesaRgRnzJY37t0qyLjdGeCT/ALtMmEhiKhDgAEEdTQBSkREDN5YTHGCuc0kFvvTCx5BztyDgH6VcXdHCHYkg9sZqQAPGSXC89RxigCoE+4rxgsOpUfpio3iVZxKkRIHGenH071bEsQmAkADH+I96fMd2xTjB+7g4IoAzjGBOCSrIeDkgY9sUk1qIwC3+qYY69+2DVqS2BcCTaYwMmptsRVVUgKvJBoAyHhBRQYD8pxl361KlvJGokZA8XGAoGaum1ErNImN7cFW4BFKxwfKjIBXgDHAoAqSRMGLN8+OCAMceh9ar+XGrAdPRQmRitCRpGXZMUx7nGakijk2nzjH1+XB9e1AGaEKyFZUDYHDjrj6VJNaMI/MgcM46ljVllZWCSyA+hVehpoVjIyqsm08Fh0xQBXa2nKhmjXcR99DtJqNIDNj92qEDHzDO4VpTBHiVEfkdNpxTRDsGJmLHqCf5GgDMeDy1+eSRmB4wuR9KUWIkcArExAzj7rVpeSqApsIXqhzkE0yHdEI28smNc5JHINAGVJZI+5wGIHVRgGo/sqSMGAIx1y2CPrityQq0i7fmLA7QP5VG0caTA/ZyrHA3mgDINkflkBk2A/dByR+NO+wpINxSbYBnntWmVt/MGwBM9cqR+tWoIkMQjJG7tg9qYHOtaR+WzrIir/ddOc1XaxgcHmMnGcAdfoa1zEPtbBbfesZxu3daaGdyxZBFubHPIpAZCacJIdvkowzx0DUxdMiXnZFIoHKnINdL9nEpIjVG7liOQfaoJYtnzCZBIMjMi8j2pgc0dIjZiyjaM8gnp7VG2kornJyvtmuqkVTEI2aN5GPO3inJbWiod64JO3njFAHISaQQrOFfywcE+9RppLMDjfjGRxiu1Xy2ykkeyNf4k6fWmBZfMIEinH3Y2H3hQBxZ0tsjazMD/s0r6ROh+bcoHcrXcT2vmnbGozkErnBHsKimtIxKMLJIuPmUNkUAcI1lKGxkn04oFnPyR0HXJrs/7OaSVyIkYDoA3IFRvaBFyQ+wcn5MigRx728y88N9DSeRccfKfzrsLeNbiHckKNk7WULj8c1M+mptPyjK5PyDP50AcQVmU/MhpP3vUKcV1r2qySA5iwvUkdfrVeO3iYZlTy+wZB1oA5rdIOqH8qTew7H8q6lrCNwChb5uhfjP0qL7AyKf3blVPIPFAHOeae4oEuetdFJYCU4jToOhPSqclnGmPTODkdKAMoTdaXzhWt9hT5QYgWB7D71NbT4mJAQI2OhJ4oAzfNFKJR61d/stc/eB9jxTTphBG4MoxnPWgCr5oPelEo6dqm/swjpkj2oOnL8oUybj2IoAjEvfNOWb/aNB05+fmw3UAjGRRHpzyBtsqhh/CeKAHecezGl89uMMaYlhMzFTIqkf3uKjFrNu2gjP1oAsi4YfxUq3T+oqo0E6ZJHT0NBhuF4MbZIyKALv2tgccU9bxhjgGs5Vn7Rnp6UhMq9UYfhQBqfbSSPlpwveenFZHmODyp/KlWYg0Aa4vR6H8KcL1fcCsYzUomwKANpb5QQc9DT11BdrDIwf0rD84etKJBigC7akyXTv2rVGAm7jIrN0z5wSPWtIkBACMEnvQBC04+1SA8dDg0qyAknOMnNV762d33gAZ/izjNVAsyHacnHqaANMsMdetRMe1UfPIJUnBFL559qAL0ZPSrMZ6djWbFdDI3cCr8ciSAFGB9qAFkjil/1i84xkVTks3X/VNuHoeDV4Eg09Gz1oAxiGU4YYPpU8TnOQcetabwK/3gDWZMqpcOq9Acc0Aeu/s+642l/EOxiaTbDeqbdwe5Iyv6gV9f18JfDckeN/D+P+f6H/ANDFfdtABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHy38frprj4gTI/CwRLEB6jGf615lnMjhlxuPIz+AFd78bW3/ABI1QnHyOg5/3FNcGygSKzDDsDnnPPrQA1QNu7sCc+uRTZDl5wFIGMn6+1SleFB/unOO/SlbIldtoKk4YHpjsaBiOB5u4Y2Fd34mmgFY356HGMccd6DkqcdAuOexIpgH7uQ5cArnbQA4SqXVSMZJ/nTgwW4LA8/xHsT6GmBSXjbZnOMH8OlPUZyAcbjtPvxmgAwQOOV+bII70mAsewHcAe/TBo3lnXcwBVevT65pwCiNQPu7hjHv3oAYG3IjBsEE4/wNPVt2W4wCTtPvTEwELrtztJKk8E5xRjPzgjYUAYeh6YoAkfmDaDh9xxk+n/1qQqu7fngYIA5xmoSx2gnqCQfapC+x2PBXo3txQATAttPKlQce9AXG0FBgJ8p9Kcz7XVWxhQSVI4PFIVAz2AwVwfWgBCIwoGSgJyM9j6mkeVldndCMDoO9JISG3N2yce2KegC/LI3zBQVb+VICNFLMfLAYnAIJ7YpshOxw390nH405OUyy4yx+YUk/+qJJ+bbgHPv0oAzC+TzWFrTfvUHoK3HBDniuf1Y5uiPagGUf0+lHXvR24oGfWmIKRumaU9aa/A60AKn3RTx70xRhRmngZNAEiY3DHOKuQOfl28nOdvpVQKVUMeATVqFcKCjfMePpQBuWjbZflO0uoCvjIz3rUgAyWChTj5ccHNZlku4+Q4VcgMpHYjvWraguzFmCluWHWkMt23OFPIPJyOQalEbBDsxu6cHp7GlQMAAdjDpuAycU5o2wWUbx3wMGgAjH95Ar46FaRkjAwQ4Oc8UvmAAbS4PcMeR9aRQxkYbVIPegBDtZ+WBx/eoj2HcnCkdsfqKjCyKMFWZT1/8A106QHauYwfwNAFiNAB91Gz3JqNYAi5SUFB/CeQKaZhvClUCj14xUoJU7miAHfaeSKADG9dyNgEcMO1OEuQRu9iRx+IqJFSFT5fnBTyQOaduLfLuwuOTtGPoaAJV+TB3BSO7jGafkkljwfQVCpI3DcsiY4XqfzocBpACoCkfeX7y0ANj+ZgWjdSvde9PLOUzjBB4LZHFSROrLsVmYjucg08q2c4PXpmgBI3HGPnYd80ZG5sxHPt3/ABoYFQS7oCOrAYxTd0ikqrrk/dcc5+tAEYkBBKE47q3UUM4wWwrAe/NDu52qylX74HB/Ggh15Ozeem4daAERd0ZL7mVuobpSBFXaAoHbKjIA96m/3gyg0ilSOGORxz/hQBGQqkAb2U9ccg0wQKN2FAzzirDlo8bxlDwOOBSEHflpPl6bSKAIN4LojqXJ9eMVL/q1wxwvbPSoTFsl+TaI2/2+ae3BKhR0zhuhoAc6+ftLEHHYdajG7dgllAPRhkGnRMZFxwMdVXmiN3bcHSQ+gbBGKAEfGcB1DMPvL1FMQ8qHdmI+72BqULIJS2E2Y4A6rR5hbIkKHurYoAiKoSxLAc8gHvQ6Rh0ZYjzjkUroAwLRI0Z7jqKcQn3F3Ln0NACIvz4wn404KVX+FgepA60jIcAKv45xSxQsNx3DOaAHRBB1Jx2ycUwyOc+Xs9yRnNPRerMuTnscgUi53jaVPqNvX8aAIYhI8wlVvlAxgHINTK/zfMcAjoeDTTtjAUJtYnrnipNnBJClfUDJNAEZDyMdybh0OG/pTGiGzeqkMOgJxxU4xuxhQAOh4NKmSRtzjtyCKAIlUHGFYt6dMU45V8/MuPbOakdMvy3lk9s8VExA3KX3J2IbmgADKLglgVyOrdD+FRs2Q6xxZxyOODT1D7CRG3HQkg5o3bcCVuSPungmgCOFm8pSU2Y6qBUwGQfLYAj8KIo0UExqVJ6jOacEBPGOO/QigCF1kYAuFAHGN1M8ktJhmXp1Uc1NLGdwKnOOcetN37Ty+OOQRzQBD5ce4xync4+YZ4qwwYABgGPbnFMXYxywUfUcU5lyhSNxnt3oAgWZg2JFAPQcdKlcFjnfhscccUpUhMvjaOhxg0gXOVOdrdctzQAkhkCsQPMYenGaRdzAZQKT1Gf5U8JHjAUqD6Z5pWhVvlUEY6e1ADE7DbyOnzYpZk3OCu3p0DU5QCSjEArxkjrS7SQSDG5HHzf0oAYAVX5VR+ec8kUTCNlw8W4jpnmlMY3Z8jBx2bFSqr4IAZV9c5oAhdTuIYDYRjKnJFRxxxkMAzEMf4hUzW21uHCE9STj8qAHUsAyEA8EmgBrxlI8xLkjp3qKNtyZztf/AHetSxxXBZt+AcdQaRkwHJZi2OMjgUAQy5liLyKpdeMEY4p5QSbfNCrjsO3pzUoTcoLD9aPO+c4CEjruNABtZMgrvB5BUU1kZZF3ZVG9BTxkndtyT/EKcQyoQrpuI6OKAKrRkyvJIdsY5CmpD/pEYBX5D17YqTa+5dyDPtzinbZMjuO5PWgCB22+XscMoHAY81HICxPlYVcfNvNWfLUyAgFX6DilClztMY46nPWgCAx4QCPZvJ65pzypCGMh3OBnGM1YbCk7iu0DoBmq8Zh84OU2sw+VvWgCTBlQeWEO4c54qMJHG5XC8c9OlTOEAMj5UjoRTFMbqRw5Xqe9AFaR3SY8oiE9T1poUAqWRSmS3196mk4iAVAxHXf0xVny98W1wiow5XFAFKNHEW7cpOcgDg0KrXG7fGAD1J5q35IVVMpTA4FNmiRxwu7H3QDQBWeKNHUFVZm4OBxj1ouDKsfyR+Z6cVZEKt8qo2cYJPSoo40hyoEik9s4BoAha4jC/v4diEc1NLHG6o0OzgYDEZwKbIoWQbYy3QEM3GKGtkIwGZEPUA0AUY97zhZMuVPyvgg5+tXYLZIvugA/XjNSt8qgIc49OKglikYM24rk+oNACyiTzAz5O0fdQdfeq6qzOVJlVecdPl/xq4rEkAnt3NQsVCSFgBu+8c0ARKsYh8pCqKx5ZeOfpT4ZIoZ/LYs7YAUAc49aFjVRtUxlFGcnJxUreWZI5x87qOAFxTAbJFHJay7EORzhhiqyW0txEiBo1jj5IHJq3cmV9oUDa/BAPNC28dvGjeWQOhw3b1NAFQxJvaHexyPlB+6x+vaqt8peTDs6qD8w2VrSxbgvkxpGFbOc9qcEZhwrOD1J6GkBjQ2zJKDtLrnGVBJApbnTw6lg4YEcAjFasZkj3BAVUevpT5AHUEqSuc4FAGC0ckYKFG2YxkDpTxBMdrjEmBwu3kitM2hYtvf5SeF7VKsTbjiVfRVHFMDEijldZAIcRenXBqL7NMqOwjKr0IPQitpGM0yxtwAcOAMfrSzwISpX5F6kBu1AGDaRctthYr7dBVq4hiX940DEHg7DwKtwIfOBgf8AdqeQ/f6VYmEsjBCEUHn5T0oAwgsckyIA3ln5RuOSvvTfsf7xtpDMntjNaEVvM0rySqAVbGeMY+tWQgRTE27cWyc9fzoAxDErKVTzd27IBHarK27iTlEZsfdkXH5GtG5gZwgR1V92MjnFEKmJSrESFWyzZoAy/s5MbB440fdgBevvSy2KoqjEjdxsO4Ad60oreQ5kjILAkkEZ60kFsUYuG2bu6n+lAjGFsiP+788c8/L0FSm3EqndOdpPG5cGtuO3JP3w5YZ4ORVSdCqEoxBzjy36fgaAMye1HlhgxP8AA5AyM1ElqgRmZTjswXOa1pFkMownlKcZAOef8Kk2qsXlvGI5QSAaAMkWInjj2vHtBB+ZAMfWozZ2++RzFG4XqBwPwrZVGn6xqjoMDjqKSQmSaPy4lVmH06djQBz7WFuTkIVVu56LVZtPTzWAywA6rXVXCSEkMo2lcEBePeq0YZZgqqoIUqGZe3vQBk2cPlLgKRznrVo/PIoAPHPNBULMwAwPTOaVMCXOeo4oGWjb/uzhg2ecFcioms2I/dcjuknp9a1QAAo9snFRPGHDbshvUdaBGBPbIoYPEFQ++WU1nS2skakqyuAeg649a6t4wQd2GYfdYjn6Vl30Ssm5UAc9QKAMDeR14pySlcYNSSRrn+YqB1weKALsN86j5vmFX4L+F+Cdp96wTkGlBwaAOoEgGCDkDmsbzPMmLdyc1BHcSqhUMdpGOaWLO8DpzQB6H8LoWn8eeHo0Xc32yJsD2YH+lfc9fGPwAiL/ABS0XuFMjfT5G/xr7OoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoopsxxE5HUKTQB8afESd7jx1rTu+5/tcgB+jYH8q5xJNoO8DejY3YyGJq7q8jXGr3Zkfh5GJP4k5qntJb5uM54x36UAEaliwJz/B+PrTVc+WH5Y4ztI7DpS8lRJwSrA8D09fwoRSu1SRtBxx2U9qBhj5yCQQwznPQ96RgSIiTkYxn+lNVcNGjHLHII9utIGBKhsYznnjBoAfljGynGSQB747+xpWfmTjGWGD049acVDZOPnJJPpnFRhWEgKn5WO1c8gnFIAKKxklXAU/KRnjr1pV3qXRQBnGR7e34U75duwghSeD+I4pHQkPHn7pKg9z70wAsoP3MKuMj2/yaAYwcYLAAqfw6UY+WRHDAkAA9mx0oUfOduRuyT/X9aAFYBto+8SmCD603iMEMN2cDHtSj96qspwwyR+FNDGQlVP8AD0PGaAFkQkEqN2O56+lADMwXIC4I+lSZG3eB6DJHX1pjIuQd4JwR7ikAkqr8xBABA4NN2MsYAycnge2KmYIzMpUNlOlRj5WGSxIIIXuOOtADFJbdhTlV6g9agujtyp6Dpmrkq5JKqdpGTVO9j+bcD8u4j60AUmPJORXN6md14/tXQ+vFczeNuuXI9aEDIe+cUfhzRSfypiD8/wAKa/cU6mORQBIBwBTgMdhTf8805fagCVCQMZwDVyzc7wAOvBx3FU07etXrZdtwCcbGON5HANAG5pu6N1BTIwcHuV9TWraRbWZNwcNyuDgn8KzbF2eOMMWk8oYAXrj19xWvGrFEBPKHKsF5A9KQyzCx5BwR2bGMe1ODsrFgHEh6HOc1EoCybtztvPPbNIGQZVCUIPIboKAJpQ6sHTDHvuHWo/MTJJ+Vs9+macx2KAwBGOXB6VE4bH8TEevINADlO7JHA67SetPQ8MTkjswPSmRnauBtjfHAYdTUiAsASsZYcHBoAFG8OrOTgcbgOaUpkpwcgdQc4pmVDYkMYJ4GaS3aTD4dWAOBgdaAJXLA53HnqG4FOVWVyGChT15qJhGrqJUfB6HOcU7AHKsSoPUrnFAC7grAMADngrUkkpUHaQ31qHKBgVZDu4PHWpQqkkqd3+9QAiS7X+7Jhu/aplQY5keRf1FRPuC43ED0AFLmTAO5So67mxmgBxAXA25zx8x/pTj5RAV1YD0FRxS7nyRtH95hTl28tvBxwT6fWgBcAAlGYj1Bzj60gUsv32Bz1YdD7UMwGCrICT24zRwwOVJ9dxoASQlE/efMR1C9TUQlTcCi5JGcMOacMDJCfTBzUZKtj7wzxhuP1oAsLJlAUUrn+Fhwabks/DjI6qaRVYgFz9AxpHZA2SYyx7ZoAAzF2Vo1Iz3XpSOSrbc4U8/KDmpEfOQOCOCo7UjHdlcOcc4AwfzoAaIxG5YK5BGeTjNPGQoBXy8+h4qPcQBn5R05apApU5KhgfU9PxoAY8fO+Rfu9GDcUHJO+PYeMkcHP0pZA/Cpnr3Ixih8A5cbT6igAAyBvDKx5znGaRUUsXAVG9RzmlJdgAjrk+o5pgjIkUhA3HJHr60APDI6kJIgKnkZ60rBR/rMk+hPFMkRtv3Iye+5cE0RS5Azux3jIz+VAC8AZywB5xnIpzTPld2zb3psjuiEjIXPIC5/SmrKq4ZlVt5xkjH5igCSMKSdoU598ipDwdoVmPbbwKikkSMkKEAPXPFSZDrjrkcAHmgBsig4Z1CkdPmx+dKi53YRSvqtRAOPlRwcckHk09Gdvm/eY6EAYFABgbm2uvI+4x705QdvCKrA88ZpJHUpkqdw6FhzSwZePAyAOx4oAXarjOeR6dqaME4BRx3yORThnk/K5HrxQQhyyowPc9zQBGdpl+ZgP7vGKcWxgAKw6EGkmCsgVwzAHjK5IqMAY+8T7NmgCQlgP3KfkcAVE02DmRHJ9lzipNxQhQNq9OvFDEmQLu3f7IFACsDkFwwUDgtioicSbm+UHnOM5qZhhslzx/COaYx35xJuP90igBr8kMWBUnpn+lSDaGLAruxjJFRFCjYKIEPvg0q/xKuVPTg5oAkKu6HMijH9wc01BKCVdv3Q4DEcmkUrt5O4L3B7+9IIwvzxRkk85D4FAEj5ICrI4PYKtK6lMbwhHcnjNNQyKGEzEIehBzgU5dxXG0FOxY9aAGvBE43tGM9AQcin4CkB/lHbAyKhWN8OUbDg52huBUwVioOQW9N1ACOVfIK7u3TiliDElSmcHg9qRS+/cOADyM5ocHO4btvcA9KAI5gqyKxz8vuaRwrrlFDt23HFP3MCSFDEdOxqLy5HlV2yAOoJ4xQA6Jg8YdgFOMEehowCNrEOv951zmh5BuQiNSmfvYyKmIYnkAcfeXtQBGIgBGY2XaOfXNSAsAWdSPQAZpI8FQ0Y3EdyDmnRO7oSWO4ngNQBGgXyzjI924/Snh1VjhiTjoOgpdxVSznJ9cdKZIDIAUJyDxgcUAOBZn4DketIzEkAgqo4ORj9aZcO6yRsoGBw3zYzUkcyvCxjYZ9GycUAAXcAWYAZ4C96QxoQPkV/QZzinhlKAMQ3slRoXTgDrzgDp7UANBXkhsleGC9qeCjHOGXP4ZpJG2RksATjJJGKVZEaJXCkKevy5FAECRRB2JQEk4BLc1LGU3DYAR3yeBTxjI4BY84x/WmujhwWCpnj5T0oARhkb8/OvUA5A/OnEAENtGT3FI2WYo6EoRwVA/Wjzhg+XkZOOBnFADn2Kd3zE9gDmmsQ6rk/h14oYYHBYkdT0psW8jdt68YagAaJWBVF560yJSG2nAI6le9SbnZCyFWHYKKj+6g3LsPGSB3oAdIA2GZCNvPBqIr8+crz2wakXaI8BiSO56mhg7kEbj2yBxQBFlWDriPrjBqNyA2OWI6/L/KpCm1ycIX/ANgU4CTe3KknnkdKAI1Clz5O3g/MCKfJKVZdwUD3GKaUJmywUn/Zzj8amfYhBfbux1PagBsY8wBySQegBxinfMxAQ/LnBBXjFNUkgtM6YPTA5p3HmM4yi49cflQBFPAxj2r8pLZ64JHeljE0SkbuW4z1pzkg4jUbmGcZ5/OpiCEDEKEPB570AQusnyFztHQ5OSTUEiySSBoY2Q92H86vMEkIBKqB09aieNiAI5W4BwCP60AVRLdlcTLt5x06+3tUgaNgGGHZjtwB/KpI1CwMicsPvbu5+tJF5MSMWIyPmOwHimBDFw5jwBuOOmSBSSqpaSKQbgByFFWPOQzL5SM+FzzUSbmVhwgcnI3c/WkAgjjV9oUsAPm9sVC9uJlAicop5OTVyNTLHjCEAfKynJqvNChQh1IAPJxg0wAQlICgZXcDjPRagt1YMxldCxxtwe1W7cb5XJUAAgAn0odLUu8bqMfeGBzQBXlklLhWj2g8Z29acI2UiL70YwOOKlMcQcMS7EDCnsBTmRUdZOd3TnpikA2RVG9IygaQfKw7e1QpEAFUoWI6k8ckelSyO77Wg2ZGTtXqe1SRRYKvIm5zyTu6GmBW8vYytwCo2sM9R6U8pILkr5YEbepzT1RPNUxs3zksRnjNJLHIMShVbGSQDnntQBBDG6s6OpWPJ3K3OR7GmSJuPmzYWLoh71NGyyMxcyhjyABUctuZELK43KcKDQBS+0pDcLGhLsSeQasTTItuOMMw6nuRUUOmsJGBfe7AOp9Oe1Wm2yMoCmT5sDjpjrQAy1mZ4ZT8xDfKvPpQyiQkuyBh8nA6+lT7UhjYYChVOFxzkjrUDx+XFkqhygI5wR9aAMKXcJ3BYZB606IZmQHB5pnLyNwCCamto83ACjGCBQBsL1J7jihjlPm4P86MMAFzxTN3zkAmgRDJu3E8Z61Qus5IxgnqR2rQYjBHQj2rNuvlzg9/zoAxpRyfaq7j0HFW5xhzuPSq74OaAIGHPFNAp7g5560YoAFJBHtVqJi8wPQk9KrCrNmMzL9aAPd/2YYFk+IkjsoPlWUjKT2JKj+Wa+sK+af2ULRJNc127YZeKCNFPpuY5/kK+lqACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKgv5FhsbiSRtqJGzMfQAVPWL41bb4Q1pvSzl/9ANAHxfcvvmmYgEnLA9sZqONyZP3hwFPU9DxTCSUfJ+5yo/nT3VWAQ9cqAfUYoGCLiQFuGXOR6/54o3q2RjbjaT701WK7WPzbSSWxw3sKQgmN1HGAcew9KAFCFWZSQWLN82OnH/6qT5XVAy/KScj8MU5RlSANxOf1601QMRMMsrA5HoQKBD0Ygsp4z0/CnEIyKCCFUB8A9fpUKs7od6kHPJHXB9qWP5WZ89AOlIZM8YY535EvzD2IqHG6KLbkZ9T75qUGMSR7gcjK4/majRfLjRS4IYnB/TFMBY2MrFxldrBgO+O9RwMFBCk5PGD796fCDsxkKwJGaay5CbeFGFPoKAEVSobb93PcU5zkOoGCuR79KDkNkckYbk8Ed6NgVt6KQcfdJzjNIBEPlKuCSNwxz3pXAeMFhyg6+vNSNGvnBhjy35Hqp71EiBkA4G44/4FTAkTaCwI6nAHamiNXckvyuVwehpi5UNv5jz0PXinD5Nvl5YrxkelADkb94V6A/KeeR71RuxtQDOTk81ZCmRSXBDdMZqnqDFnAOc470gKjn5DjpXLTHMrE+prppSVgc5xgVy7HLHnk0AxM0g9cUfl+NA69aYgPoTTG6jFPNM6uKAJOKcOe/NNx6EU4Zx60ASIRghwT6EdjWhaea5QqQx9++PWs+PJwMDOfStO3GUi3LuUHbtHGTQBuWYSRtyExgAYXOCB7eta0asroQzFM7lXvzWfZ7yA/wAsm5SrIRjIHp71owq4h2gjYAMZ6r9aQydGcMq8kdg4PFPwylj5aZx1xUaLj5pNxJ7q2QacQEHyoSgPQNxQASOUI3bAH4K0yTY5AlYpjoynAIp/z7ixV9uM/NzWT4mmcaUxDFdzAcGgDSBTG072XPDE8CmmZQ+x49+ejYxivO/7TvIOFuJMf7xpy69fj/l4c/XmmB6I25iPLVGweQRTQTu+4pGefb2rgP8AhIb4Nky5zx0qdPE96OrIxxjJWkB3ZDKyqhYegYZ/WnEsxBR8dsDtXEJ4pueN6RtjuQamTxbOAf3MWfUUAdkrDJJKEH3xz9KcWV2ViyKR0I71ww8VXwYnMZHulSJ4ruTkPDA4P+zimB27lccqQ/qVzQpXaAAP97bXGDxXJhcwrwc8MamHi52b57dSMetIDsVfGMMp9s0ijYzEtkNycYzXLp4thIxJa9PSpo/FdmBkQyKPQUAdCCgy0TMf9lu30oPzMGV3DY5BPA/Cse212zvJCiSyRtjOXwPwq/8Aa4CpPnLn0Zhz+NAEkoLPxLhevy80RZCson836rk1DE0c2ZEkAYdgQalgcupbI3Dg46/higB+FiUFUUZ65zSSCN8MdpXHQLnH407e2zIIYHuTxUYZW3FTnPBVfSgCSMgjfExKnjPQj86Vu4cOD6E8fnTCF4WJlUjqrntQZdilH3Ip6HrzQBNtygBzJ7cGmrnYVZQinjaB1qNpAeCspP8AfVeKQMq4DtMoPTccg0ANcl3Coqrt/vqf51MGO3Y7AsP7nXNNO8fcKsh5ywzQS7YDAY7EdqAER2UElHCk8Y5Ap5bcmHDbfUmkQupO8kD2o6EsqMG9+aAGIfm+ZQR1yp/pUpLkYjUYzjOcEVXinV2YKyls4yRjFTeYejOFH+yeDQADJfaVGR3z/WjYQRs8sjHRs5pkjhXB4YHjcD0pVYs38WT3AoARyu/7qsR6YOKXdIQcKPY7cEUBduQTtY9DgA0yXcVCl2BHRiRQAu9EKsMjcOeKUGMfKNzDqAp61EHZWwXeQD0TFSTrHNs3KFweOPmoAkEshJ++FxxuHIoA3PnG7/aUUiptOA7AduT+tNHlru2ne+eSGxQBMoBG3LIT6ilYYQIZGYe4zTVYLnegCn15NI0io2CXb0AOAaAHbTz8oYdOOoppUrncWAHQ7v6UhdUi3uSqH1PWmQOpJVAjDrnOaAJfMAwBI31C5/Wo5HkG37o564I4ochnHzSAdML0p27aPlZt3TLDigB5UM4Kgqx6kHqKZtJYBCpHo45/OmPhyTtIkHG4DNOUHZk7gO2aABvKLYGM44GMj86jER8zeGRAeMdc0/I6Hc4784qOJ0AZlZNuehGSKAJi7nKq6ofTGc1GhLfKzhD0OwdaXJIDKqY7H7ppCdwwSFAP31Oc0ASb/L4ZpAf++qcHYqd0g2k9xwKjWVW+VZ13f7I5oVic7mc47MvFAEnyDIXYCepAzTT5akGJgpPqpwaeGZgBEw+gGAaZIs2SxKAHpuPQ0APHyvkMS5HIz29qQSAE8jj/AGTk0BAGKyKjsRnANK29VUCP5T1IbkUARMVdQ8jFyeN2MUKAcBkxn1frUjlgpaMZ45VuOKrkRSjAVAeDyP5UATgALsTKHvgjigPxiN0Zs4+ZqY6IXR5WIkToQM4+tSAhkyIhID07ZoAkL4UH5W7YU4pjkh12jjuAvT8aYVVSyCMRn+Ln+VOV9qgI429Tzk0ASfK43KwDZ/iFO+cD+9k9RgVHknkCRsDgEdfxpI8th5IyjnjhelACosSKSXYnOMkdDTl3bcZ3ehxTSg3vINhIGOvSnvGXKkMeB2OAKAIg7F/m+QKecdGp+8q3yl+Bye1KGY5JKFemW4pNkoYkFQvcc0ANZiNzusjL6sMgUK4dW2uQO4WntIQMod4HYHrTWBZGWMAdyMcUAJIsYQMxb1yTjFRYWVMqpAz1cd/rUjBCBnOF4wc0snKjCtt6ADoaABAduwyKpA6r2pDhlCxlzxnIpFSRkbfsx0yFoZAIh8wVugZaAIyzqwXaWGSPmOTTsFT935WHVf8ACheqKWDg9XxkmkWMLzIM4PBAyWoAV23N8nBA5xxTTLkgAEL6Ag05mdmdQhBUeg/KoTtyvEQC9SwwR+FAE+Q8Zw0gOcZqNi/mgOdwxjjPNKwcjtnHyqGxTB5uQsiyqB6NnNACyuyqDtCgnA3cVEsUIkbIcMeGOeKlkEuWAYRx5wARu/Gowwxl2DtnC4GOaAJcoFDNllB4XFOaRSCQcgY4pisEiPljdtbnPSpV5XIABPt0oAUOobEcY3Eck9c/SmSOCCJcKR0wp5/GkJZSeFZc4yGI5qba5bb5YbIyd7cCgBMjqjLluhPb6UZ3A5j5j7g9/pSFTCvyJH8gwOc801ZvlImDMc4wuKAFbDcbG5GM5ApgI3MCW6YG05NSsqsWZlTHQLn9frSICYsqhVegXOM/jQAQ+Zj58sv+1SRyuNxkwAegPAX296cI1VQWUqFycBuBTWZm2SrCpXoC7dPegBFyJSy4B/iCjJP+FJcMDIp3ts7nHSpd6g9F2t1wef0qt8pVdqIiEYIY9KYDpAThosEnnaTUcsjHcrEEjB2qealLKzfKYgyLwdpxUSu43q0IbGDvCAYFIBNwYNKFyPukHp/+ukiIU7pT5beka84pzyzqAqRjbjKhlGT9KcxRdx8xN+NpGf50wAvsYny3I6ruHSkzuRyCSTxlzjBp7TOjAsyMMcgUiOzdlBJ4G3dgUANMQaFgsiHp9wY/WlRQECS7RnI4bnFQ3FzsQKQdquOFAANWI38xHaMJHGpwSBkmgCJJYoptkYjQ46HqPxqwqOrAqobcxLEngD0FQusUxikRHLEZy/AH1qR5gZTgNhRtXtk+tAEBLBWSOV1fdjlac0rozCNNykdx0pWEca7mI3OuFVTyT3NIMiRVYOwVSdp9PegCnEkpfzXxhc/dJyB/hU0aRbvOjV+QPlB4xT5YvnXEioxQsyg8U8SSBYymx8qB6jOaQESswZm3RKD68tj0qOVgEmYHJk6fL7daerfMys6hzlty9BUU0z/ZrkM4CbfkG3B/OgDn0YqCTVrTizT5H3TzzVYdMHFXNL/1uMcjPNMDSblAV49qQ5x8+DjjFOPQjHfvURJGQ3I9KBDH+5ncAPbvWTfE4IBXP860mBySB9D7Vk3x+c4PB/zxQBnydcen61Cepx0qaVsnp+dRHGTQBC33uKTHHNOb75pQOCMUAIBzVmyGZhVbHPHNXbD/AFm6gD6j/ZPsSum65fZG15EhA+gJ/rXv1eN/suWskPgS7ncYSe8YofXAAP617JQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXJfFi8aw+HmuTJ9425j/76IX+tdbXnPx8unt/h3covSeVI2+mc/0oA+VuCw2sBgKee+aNyg56ENn6D/Jo2/McIT7Z704oPs2FUkleB/WgYhIKBSBg4QgdiabKQBEwGeefc+tOyE2sc+ZgfN6UkhViHB2hlxj+VACMAxk9M7R7E0xQFldQcMowQOntTlJGA3IztJ+nrSBlIBwVcfyzQAsfOzKkNux8xzwaBtWMjk8YI/rSJ8yqWJVidvt16inSbiwYADAw3occUAIzEysMD7vUdM0yMqEOTnaPun+f60rfIWIJ/wAc03acHsFU898GgBVGEcIQeBwaerN98ggFt2B/OmLgqSR8xQj8B3pDuQDJySo6f59KAJUbBRcgsBkHsRQMhXJbsePQ5pEUCREDYIUsN3fPpTQ4WLYxwSuOO49aQErHIkZBzgMDnvTcEGM4BJxnnuKa7EM7FhsGeO2R0FC5RMnG5BuAPP1oAeEAXy5PkL8e3rmoi/khHCkEDBAPU9KexYuQeEzjnt34ppAEaEZ4zuB9KAGrKFjySSH7HqKpXjjcAylSABzV8hJNg7KOhHUVm3bK0jfNkdqARSvmxayc9q5o+xrotUYLZsBXOn3pgxKB+FHQ0hOe9AgP0pinMlP7f1piZ3nigCQY7daeAD2/EUwfUZp65z0oAkG35R0I/WtiwiaWKVhhlXB2k8r71kJnd05962bIO0yAkQyLhVJ+7n0P1oA2bEJLAvyYVgdrK2MkVroqRbQruCR91z19qy4lcl1CrGN2X/uZ9vStNVMfMsQ+buDkUhk6BEBGFX0ODj86iQFnz5RDdyOhFMjVI3yrneeodsAipURo9y7dqnsG4P0oACNn3C4K+nIxXP8AiuYmxRAwwX6YIrbZQDllOR0Iz+tc54ulysCkLnn7pyKAORuz04qtmp7o8iq9MQuaXOabTgCTgDJoAUGlzStDKB/q3x67aQRv/ErD8KAHqBjOeanijDoW44Peo0GVw2eOlathZq67W439D6c9aAKwtmaNmjXKgZJzzinC0kc5U5OM/hWvbWxAb5nVWG1ffHXirzxLIB+7AwVUdsUAc0bZtwUbgegyOTSpavtJ2hu2S36gV062ozuIUSHJ3E5yOnApPsavI6vCWYd84IFAHLx27lskcZ53cUojwSoJZj056V00VmAshlLHIIA74pPsUccAVSCwx8/v6UAcyS6AGPzAOhOT1q3Gt3Dyssye4bABroHsTIdgQc87Tjj3qFLE+Wd8SsN21fQUAZMd7fBwq3bjd/eP86c+q6jGu03XB6EAc/jWncWSeaF2BguPl24/WgWSBnEXDDkADIH50AZw1zU4g2ZgwPHIBqVfE19GMSJGwPqKX7EQxZoV3Z54pGsQoCyDYpORkZz7ZoAevie8TJCDrwc5FTL4slVQZrZSfUHAqk1jiR0jTaMZOTkD61ElltkzhSM4IIP54oA2I/FcBP7y2kB9Venr4ntARtSZV7gjNYBsCYwzHagJ6Hkn1+lILFgqN+7ZWP8AE3JoA6RfE1qeryAZ7r0p6a/ZFsNdMR/tIa5L7KWypB3AkbQOlMEBYkAMFHBJFAHbjW7Ej5Z4wDUianbk4W4tyPSuEe2ZcnaQh5UnvUZt2Ayc80AehC7ikOEnhUdxkYNSpNGQFWZMDrsPWvNzAyuBuHIzQdwwUJXPYHmlYZ6WH67WJz69aRSu0fIB3IYZrzdZZQuVmkBxyMninre3ir8tzN/30cUWC56QsjNzuBxyBSO+SCGbHcoR+VedrqF8MH7RJk9OakGrX6uR5+GPXjrQB3zGNCWcsTjgg9aTzAehAUdjzXEJ4h1CMY3ow91qRPE14B8yQsT3xg0AdoHZUzHgknGAetI288OrxtnO4ciuQHiacYzCmfUHmrA8VupBNtk9Cd3FAHVkmRf3nJA6BsZp2BwAhweny5rlD4qj3D9wy+pzk1MviezOCUn3euaAOnY7VADBfQYpCd+cRhm7gmsGHxJY7vmkYKfVMml/tzT5pRtuWTac7mz/ACoA3SVReYQcf7XFKpypMfP+z2rLGr2ZcYvISPToKeNRs3OftMJ29DnpQBfGD95M9xg5AoZ/kY5Oe7IvSqsd5E+PLkibPUq2DT3uFC58wgegHJoAk8yPOTIzcAcrUgzswka/g2KiSXdtwT/jRvIfLoh9xxQBONwBCBW9Q38qIyW5CduuajR8secj+4OlKknLYVgR6cUASCQFgGAVjx9aHUA8BScU0uSBuj349TyKR5FCYYAqOcHgigBwDkdEI6jd2oDsuVzHkdgTUcTiRt4LIfQn+dSbEDllKl8dufxoAl3uyg4HH60yXL7SRGMdAKapcOqMBtI+8xxS8qRl1z6Y60ADPtTM0sarjlRTgw8sNls9lXoKceT7Y/iX+tNcSZwoAB5z2oAcn3sGQs2OmMcU2ZfNQfe2qc4HFSIFxwwPsOc0jkEBWD5PTbQA3yF2ttVufVqEQRgCMjg9CTTQqjIWORz1JbgUp5C5GwA8q3WgAUyRybWhGGOcqKdOEcqriQMTngGljVWBx5m3OTxikAR0IDtkH1xigBJ/JyBJjJ6bu1IDECcyHPT5c0g8scEGQ54Uk1IWXAAUqwoAZlIvmR40B9sk/hTiVyWypY9R0pSWYZOWA5ytCOGOGQKxOctyTQBF5e6UMMD1p5DjmRyUA6Dp+NM4LEBSz5zt6Y96VVZ5CIwnrg5oATONuVJXoFBwBTyFbICt159MVHKiuuyVF3n0U1MjEgDcp2jovT86AGbTsIEiug7AYpGO0LuY5/uqM0zOZXd2KjsQMinr+7YBZSxx3X+tAC7mypLYGeQ3QimgOCXIRjng9cUjxO/zmVlHYEbqQ5cFGVn4zlARmgBrSSbiH+XnqFyT+NKf3R83pngse34U6QN5WZA6rnoPmJpkjKpyZUbA6N2oAiLxry23nq55qRGY/vFG/IwAOlMPmF4wsgYd1VOo/pQ4JHOFjB6Dg0AEYEbyHed33m9KccYy+9h1wBgUw+WBhS2c4AapN/yLtdmUc+maAHwkHbsh6nJZqcfOPmEsrAN8pU5zURMUjkySFQpAJPH4CpVAKqEfZGT9zOMigBoT5fn2qjnnPXPpToFMSnzNgUHuMZpzoep2gYwuD+tNSM7MEAjG5hIc8/WgAWNmYyKqhc7gM7jUTzqsp3b1IPQj9afDuQMsbKHPA28AVJICjB2wc4BY80AJFIu0sVfn7xbpxRK67GwyM4GVUqcKKhZQZGZ5WLK3Abpj6VJIcJ80jgkdqADMn3kjKrjOQoyajnZ96qyopHzAEnj61N8yhV8z5j0PTAquzncW8wZbgBuaYFgO5fOYiCuSCenvio0DSAjqH9B1H+FA8vbIoxu6MwxTSGACiZUIXCjNIBduSVTHmjqwOAtKUAi+WMhCck9zTduUkWNmfgglRgZp0CyRKFdskD+Lk0wB3jCME3AkjJZf6mkYzPkSFUj6cEAmldJPNDkq67eFHc/SmFZHJkCq3oDxigCIxbjtGyMBzznJqzAVVArK4ByQSOvvUb7ASdsWcfeznb9aArygxSFvlT7w4BFICPbGAjmQZ3nJI3VMwDLvVQf4grDr602dt0SsANq4OAeSKVTtcAxxpyQCc9KYDCHZPMWPZg4ACgH9elMkjYLI6k+b9wsz8ClkDyxquQBv2jB4NOjJjaRQiyksDljxzQA35WDL5wO0DOwZz7fSnBWx+64UffYrinXDRKVUOIQG5KDoahKREYiLMo+8S55oAaqjmNQ0ikbgQu0Y9jVbVCgsidpVm4BLVb/chd/mKML8gycKO9UNYZBZ7ACxyNp6DHtQBjrwB61e0sEbyOeKz+inHBrS0sARM3UtQIuNg/dbmhsLnJwcdTRIABhTj+lNYHAyR7+9AFeZhjHQe1Y94SSecEdR6VsTkhTjoO/pWNfYDtjGB29aAKDHPuaYf84p789Bj1qMjJ449aAI8detKORgUlL26UAKBk8/pV6wHJNUse1aOnj5T0oA+1P2e7WS1+FuliRcea0kq/QscV6PXI/CRdnw08OKe1mlddQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXk/7R90kXgu1gJ/eTXalR6gA5/mK9YrxD9qA40vQ/QSyEj14WgDwIEbgOeCf16U1eY1ViQCNu4Hp3xTRlmTaDtHP5VDfAR2Ny245GCjDsaBku5mMgyNoVUJI60uxfL/ixnB/2R1FTfCnSJfF/jjT9FvZp1tLgu0rwkB1CoTkEgjqBXqnxV+Fdj4P8Ptq2nareTHzUiFvchDuyDnkAdh6UAeSswZsHaMLk46EioioUEAEADjPrTgEk3OCcYGR6etIwyjA87jgD365FABEy/Ko+5jp6U5QFTy3YldvGaYhBztJV9qgH3p7FcDONpBK4oASZ8ysSQeB0HIpVAaRCmQCME9jSkYw2QrLjPHXigKSrKo6ED8+tAES4YYP8ORkcEUjZMj7RlMHKjjGKeymTnnIBOPUUrtlehVm657GgBGUhRJuzt4x3wPSnoQVjZxlCPmGPxpiSosnzqQcjp09KlcsPkU4ycAHpigCPBaN1bHznv79DSKRg5DZ3ZHoRnmpEBeJWcbWBXp0pnzp5J4JGTn8eRQA5XxuPBBOAv16YpjozStjrinEBznZ827gjtjkUsYzIDkhxjDH+IelICNghfPIHUdulZtyf3rY9a0ImYoxddyg4OR0FZcpBf8aARn602LYL6msM57Vr623yoKxvwpgxTTe9Lx3o+n6UCEOKbHyWzmnNx3pIhkNn19aAHg47/nT19ccUwe2M05SRx+lAFm3ViQ0ZO4HAXvWxbrviji37lSTc/HT05rIt/mJ3LjHO4dRWtYLlXjXDb8bCTg/jQBu2chlXMhAPOQejD39xWlGoUYh3EN3Xt+FUrOMN0LE7RkEjmrmFMpP7w5GDsOMfUUhkoyFySrZ6hlxTHUcAqdndQMg/4U4BAChMmP8Aaprf3fn5/iTjNADHRUUSKjBfUN0/CuW8XSbp4BuUnbnIGK6vBXjaWX+9uxXGeKmB1HCgABRQBzdycvioTUlwfnqPtTEH581reG41lviWXIANZNdJ4Rs5p2kMSFnb5VA70AbqxDd91T6A1Klqkkjo8aEAE1LdW01rOIp0ZJVGGUjpU6wymz87y5QN2GfBxj0zQBSi0y2kOHhGfUDiiLT0kZkUMoAxgD3rStiEtnYbeOxpLJnilRwAA3c9AaAM+XTg0K5lI8vheOfxqU2skoyGiAzu4BHbFbs9pGpdY2M6uQMj+91Iq7pBitmTzY4yoBLbgDx6UAcqkckar5gilYfdJPIqQPKvmf6OdzkdCDXQzQ2tzLPJHCdoxjA96n1Swt4LJGjUq/GV35Lf4UAcw844zBIOMcDOKi8+HDRlJdp5PHQ+1bttZm4sjIA8CgnDMdwA/nVfU4I4FtGWUt5nUBen+NAFCK7t84dxtxjkEUrNbZG2WMRAggA85rQbTX2CfehQ8gMMHHv6VRMP7tpDFG6AnnpQA2QxuwwVdM5696nWCN1QkhuwI9KqpaCSGSZrYCIHAZeKjNtH9n8xYpVHsTigCW4SRCojgJjAwfWkuIDLGgVgHUjg9xUX2dSgImnQ49c01Y23mRbs7wMZK54oAspaxsjb42y/Xt+FVvLUIxkjXbu2KGHNOYT7PlukO7BPGOaJhdTFQzQkLz1xuoGMlszKhCr8hIGMDoKRrJ1VVEaOmcb8c81Obi7jQA2yMPZqgF7eRnAtWI68mgBjacACYsKyHrzn8KivLT55OGLrgsw4BHqaka/mUnMEhOO471Bb6mUWQzI29vQZGKBEUsCzJG43IjLgKev4VVW1cXDIFJVsYYdq0mvYHtmJPluBhVAqKxntFtwk8jq+7IIHb0oAZJbeQCZPK5HJYcGs+8iJKNEnI5JAwPbFdFJcWEyCFnDoec5wRUkv2aO081jlegGeaAOasLPzY2aWMk5ypHHNTXOnkxeZtUbzgNn+lbdkY1jPmsiIzfKQODU95FH9nK7erAD0FIZzNxpy2iIWl3A9Co5H1qvJErglVyp6lxgn6GtvUQJWSK3JYpwcjvT008RxhpypZufUE0wMNrXYEaVRsYAgqc4+tSNYkgL5K7QeJD0Oa13PlXscaxYA4+tWJI5N7OgUq3CovpQBzhsipYDCnOMkd/pTDYLGCsknzdVYD5T7ZreitpZrkCSMhSx57+9WWt1t1ABbYDg55z9KBHIC0LNtzz2z/jTxZyLlcrsHVhzXUpaFmdsAIfmUMOlV7eBX3xzbGfPTGD9aAOcls2RA4XIc7cY/lTDZyjll2+/Yn0rqJrOPzlcSOrL+WRQtqisjyB1dxvyvTP0oA5hrdshpPlLHGAO9MNs20FkYAjggZrqJIHhfLLlDyDjg/wCFK+nkPz8wcZBI5oA5QQOh+YMOw7c0riaPB3tjpwx4rorywSJhKpyuPmLc/lSw2KzJiDKMPmAbkE+tAGBvuguFml9huODTor69VcR3Tj2LVrtpTj94V24yeOi++KU2EMkA3JsJHPt6GgDJGqX6rj7Q/wBKnh1/UkOBITjsVq0LTesflRbyDhn24zTJLEeaGj8zYvDE8celACx+J79eqxMfXbU6eKrg586EMPY4qtNp3l5HmKTjIUrkj0FMktnMPmxn742spXAU0Abtn4lgGEljaEk4LfeFbNtdW90vmQzqwHdB0+tcPHbbIwIiA4+8zcgZ7UvlywSAQHZKuASCRmgZ6CrhsjazDsWXg08ZIIVVOevPArmtN1dgBDeRkHggg8/Wuht33whzgkjr14pAJhWlDDex6HGf1qYochiCMn1xTBywUlemORjNO3bMDYceoGRQAjrtOWYEdwE6/jTTtABCkMeBg8AU9D8nlxsM9SMYNMkOCykZA7FQKAC2kkZm3Ns7DnOanEpOBlCemc81Xd0jdV7noNv9albofubR1z1oAVxg5YvgnJ560rKGBAUAHnBFVlb94DvcZPYZB9qmKHOAgye5oAco2rtTa5A5GaQt94nCgDLY5NGMHCOoGeVbvTJBOQBEY+TyAOTQA50Voj5QaNgc/N0pyMDxJImcc4GKiJxwY+epPXinIEK/MshY+o6CgA2yBywc7cdTikEo/wBWCAew5yfelKAP8jbO7cc01FkKvv3nP3fWgBwaRlZV3JxjPpSRRMIwh2sg55NMwHcxt5jDgAlePzp0phiYK6nJPOTwaAAgQjzDIu0nGO1TFZMk7kx1yO1Rgh32rEm3PUnt9KYyo25CCB13Fcc0ASEuGbYVBI4yc5qNPOUYmUAdyG+bFKAY3CxlWb+8V4FNVy2/mM5PzFwetACTyqEJRpNxGVzwPxp8bO6Eny8j+FCOfrTpHOxUYqT6Lxn8Kj3eWCXiwhOAVSgB+Rg+ZIEzxgcEU0DcPkYOM5wD2pXZNmVXfI2ADtNKg2liYs/hgUANAU5OGCkZ3A5xSBVJV0jyuOGbt71KZRjC4VRxTZ1Dqp3MVXkgAGgBrxeYCHZ2bqdtHlqyeWQC+MMSen408PEylcE46g5BpjbUVVCSvGOQuM8+uaAFESRqfmzkbTzxSxhN5HYgZYU2RFaAlY8k9QODmpYY2jUZcBwM5boKAGMV34Dbm6ZfpmmtsRG3PEXP3j0GKHIlYtIUfB+QAUnlnaBsTDA5GOhoAfEyJGQQEx6tnNJOAreZ5QKHHO6oyBEOERGxtLHk/lUyOF2qzBs9M/56UAJI+4ZygAx1NQxrGGZzGwG7qzYH4CpZmWKQkKuTycdSfSmMSxUMisc8/N0FADv3ZUPHFknPIGRURkj+XEZxnBOO/rSyAPFlQIUHRt2KWDzHjyNwZuQTzgUwGNMFXInKruwT2/SpmkjVsebud+ACcAVFEDjaNrYOBle9TxKS+54i5z95cUAQ7idu1Syk7Txjinyodsar3buOKiIExfzgc7icLnHFMX5MMDs3AYJzkfQUAEsalWJBYEkbQOM/hSuxeJXZ5fkUZCDIJp4lDSMrrI0QwFU/KPfNPYvGBGkQLMCQAcBRQABWZUwGChQDnGfqakwQxKbCpIJ3dc1XjE22SR/LjJbHTOcd6YGDzDO12yCOq7fakA6XexUCTGflLBcU22ieGXdIy4AxjdQCyZdyzAvgDHynnpRP8qhlAac/dxwBTAnLMOCDgNkDqT9ai8ve43Q5IyTgdvxpy79qIh25Yq7jk4HeoWId9olkL527V/qaAEMWY5JJgzM3AVcZArL1pEh8uJIiiH5ssea0Uz5/71QiK2FUHnHfNZWtE+dHw2zHBZsmgRRdQVwc1p2BMcPC5ycEVmbyzBVHB71sWh226HI5oAkJy/zA47UhIJOMc+tKu8cHqO5pshbHAGT7UAV7k9QT17DrWHespJIwTnkVsXOCrMwODwaxbpyD82M4x0oAqfSmt3PQ04nJJHSmNjBAOcigCPsP6U7P6UnH5Uq+n40AOHYEGtWxBMYwOprLHB4HPrXQaDbm5urO3BwZpUTPplgP60Afefg6zTT/AAppFrFkpFaxgZ/3RWxUNjD9msreDOfKjVM/QYqagAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvAP2nbsteaNZYO1Y2lyOvzHH/ste/184/tKyK3i7TkD/Mllzjsd54NAHjuGG9RwxzgiqutvtsnU8M7+npVs/MQm3B3AHH0rP1mTNkoflmIPPY96AO//AGYLXzvifBJu2+RaTSYx1yAuP/Hs/hXsn7Slwsfg+xhOd0l2GHpgKc/zFeZ/smwLJ401SZkyYrAhW5+XdIv88fpXdftOzN/Z2h24A2vLI+e/AUf1oA+eYySVO0hmwD+tBHmLtYDcoyuPQUhYLKNxyhYnHoKeGwEI5I+8M9uxoGMMeUbGdvY+nHf3qVVAOefMjOR6EelMXlyFO0sTgZ6H3pxyylg3AXPHXOaAJDgINhHL9MVEQHZ8DJPIPTFN2kTb/vKAOB3OKVkfBJOSvynB5xQAYXYoJKEpg+3NNlBMbgsSeCTSFmAQ4JBGW91p8i7iMHo2CPUYyDQBEy/K3BJ7D8ac0jNCBGCM4IHXAFPAzKxUHeVBwORmllJWdSCNsi/KQOmfWgB5YgbSMo5xkdKYwJZdmCB8uT/eoJA5VsZGdmf4h3FIHBPlnnbw309aQATt3AjaxbH0NMkIkTgEbTgDrSszhAd27IOc9yDTlUYJAPYDnv1oAST5Yc5GD1I/GsZhlsmtiZv3MjN8u4Yx71kHrQNGPrbfvEXtiso1oay3+kgegrPycUyROfagY9xR9KP0oAQ85/rSRD5aGxjNEQ+QUASdewFSKNuAw/HqKi+uTTx19qALMG1QW+bgjjsfatyyEcdzEGQ4BJG04Az0rDiOSuCRzjOK2rVmOGmQui4XcewoA3LZCreWQTtY5cdz6GruyNceZI4PYlcY/Gq8BcLKAm8JjaW5OP61cwAA23AI6ZpDFAATYykoRgHdUYO0eXHv4PK8ZFOaMNlSuwdQyN396azZJjkKlvXPNACOXB+6y56Enn8q4jxI4fVJMEEAAcV25Ib5NpZh1Vjg/UV59rLbtSuCd33iOetAGTLy5plK/wB40lMQV1XhSaS3hWWNiHV8rg9K5TtXV+Hl/wCJeje9AHUHU55ZXlcq0hPLMMmrFxq15c2RsDchYC390c1StI1Us7LnC4NRRfIQWA28gZPegDrLe5sdO0uOQ6ZbzuW5LyE5HuK0dZ8T2s3h+Wy0/QbGHf8A3eucdcn0rmdTjlt9Jt9xQxzHcmeoPeoraM3VuSCd0Q3MaANvwpbaUkcL65Nepdtz5cChlJ9a3o7zwkl20P8AZuoPI3VpZQoP4e9cxf3QjgspLbHmr0yOPrVvVPLlkR7qLaRFlnj4w3XpQBmarqcY8V21noNtJDFOwR/Mk+UE9Oa67U/DOqSyeXNJpm9QFLLOOPeuS02OCR7gPuAT5lI61Xks7mYtdSAqqEbQxwSOxoA7u38K3lnpzAPbS3IBJCzA7u3FcNFMkmuT2lwdl5AD5SqMjP4VpXiXf2ZBCssUYALyhsEqPSqWkG38NaidWtjK164O0yruVwenWgDQ1KO/u1toba2cEKN+EPJ79qNT0ma2tLYfZrkJgHJQ4+ucVeufG2qPLGJbqVWI3vhAMH0rPHiPXZpSHu7nyWUjD9B70AU2voAGigAZBwyk4ANVI4bi8mgijTCH5vbFN8P2v9la+2pSTLeyliWS4GU9j+Fdmvje8BZ/sliY1OeIccHqKAOSuomt2lAfcSO5waqW1rIY2lIXONuAa3vE2s/b9Iufs+l2YmVRh0689hVD4fpaWul3LeJxdvKpDRQxn+H1J9qAKRtt9uhmjwo/ujJJ9KgtIFuL6KI4iQAs2eprtRfeGpoPOOlSBG+Xi46n+8ADXO+K5LOXTgdE0p4plcZk83c2PUUAUb9YzJtjIVV7Bs1TlHlQbkkZpM9jXTeG/Ddrqulzz6jq1vZXEbYEbL8zD1Iqy3hvTHeIyeIbMMoKlVUnmgDkkaQxAmRhnuaQy7XKkr14ylaviaysdLsRcQ6gl1Kn/LJVPP41o+HvCl7rejQakLizsop2IWOeUbvyHSgDmpAHG5QrHoU2Z/GnXNrCpAZYWO0ZxXRf8IbqcQkQTW3tsmHzDPWs7xTY3WiWqz35hEIIBEThj0oAxWsYGOfs4x13A0k2mwchElGOu1s11fh/w5qup6JHqdlYPJaSZKFnVSwHoDVKfRNVWUNLYXKHGT8vagDnEsEIGJphtPcdKlazlIEf2x8A52sK1bweREDcW8kbfwl1I/U1FcbZSz25Z4xjlRnH1NAGW9hOhOLlcZzz3NK1terHs8yFhjjPWtrS7RLm+RJpisark7hwppl7saeUAxzFfbGPpQBixpfpJvKI7Ku0A+lTwXd1Aq+ZZ5YfxA1q2tnDdSiSEOixAGRSeOvQVHNEplcRs2zPPqKAM6e/ldGxbSoSMZXmqlxepNHDHKssYU/OSOtdDBaxvFvZ2XBxyev41XvIUWTauJABnpmgCmdUhEsIRwIgACSOtFzqFo0jEMhx9wgVehsSLXzXVQjH5Mjt61HLYxeUSUhkUjqKAGI8Fw6AzqCF3NtIpXiVpoZY5FkBOCuf1qmbK0IDeXz6A9afFpavG7RwzKqnBIPegC7fE8FWBi6dehomkVFUsDngAjtWedKHKl5lI6+gpz6XI0Ak+2kKeAGPJoGWL2CKMpK5fGdoUDgmozbbQ5iHlgJwN3f+lUxHqKDbHdJIo6A80zz9RtiS0Q6/NxnNAGpb22+xZ3nYuc/N/ShLSQ25D7clQMoeTVCPWoncLdxMgHTHY1eguYZ97QzZJX7oPQ0gIYIVtp1gWb529B3pYpNzyFGJVm+63Y96txQKgEiKF3E7icH8c1LHBtc7BnBzz/jQBXELKsq8F3Py5HOPemPAsUTK+T2OB1ou1lnkJjyhLAcdMVZyIZE3KQ0hxjGQaAKUdgrljyVTgbh2/rUE1grypGmVJbcO3TvWumwyurs2X+YFeOBUVyyl1adT8pyrA9KAKjwwBmAYPMynnHTj+VOsPPsotrMWVm+VVORinx2hR5JQFBJzgDtUvzM8QSM/K2dzDrQBfTc5VhK3lnHG3pVgqMhtxLf3h/hWab5IJlBbILbSM4wa0PNB5XZn0zzQA8jPJfDdOVx+tJIiuBzu29CDk00+YeVIyOfmalXcybnIjB96AFCkgAkDuSRnFNTOwmQqwHTHf607DMvDKM9COKjCK4O4MwH8WaAJFYcKjBc84xikLRlmULuZTyMYxTFEcJCrMc9cdeKRdxmModCCMAgk/pQBKCjoed314xTRsUlRvJHc80u5hHkruGcnatMJlaFSoVj6t8uPwoAcu1xnbuHTeOv0pd0UYI+ZR7A80kZJPzbo3PQjmpC0gyuwH3Pp60AIcbl2PuPWmuBwHdmJ9ATmlZvmCdM9/T8aVyW+6QQOoPWgBqq6MATmMjoBimukTSMI2CydNjHApyOFYgRt0zn1PpSSqWAwFz7jJoAVo9oy0aAeoJzUUUYMgO9AwH3Qd1S7WIwVkOexbIqJiwkCeU49NnT8TQAxreMz7mWRST/DjANTN5K/eACDksTkk0FTESd21TycEk5pCzKmRtVemduT+dAA6h2JAXYRw7L1pUWQjH3EI52d/wA6kO4x8gEdOOc0iAquHdc+ntQASNgDDZUeg70n7wLmQqFI5yKDGzODtVE6gA9aUhJBtMhyOwoAQoMAE8uMccH/AOtTFl3NsUkcdQcgYqUJyPkZiB17H601QygFwpwPmwMCmAyETKGLncMcBl/ninAygjywFyf7nQelLEGO4jlj947s8+lMO4kBxkKM8E0AOmCk/MjsoOAFGKJB90BHIVehbINEXzGTKpgDjkk/jTWYKrI5jCgfQGkBFvL5U+W5HTHUUsjeThWAJPQHkk0xI1BLKokIyV28CnbmMgUiEDGSC+WJ9KAHN5achU3EYZt3JqORzGikxgPnoqFv1p+DEVKoqDknPJNORt8LYUsR33ZOTQAyDdOCUjBbOCWOPxAojhckiSMEZwEJzn3NKyE71UZAx/Cc5pFxEGDqeSN2096AHgbYd52bx1wM/hUc6tIrMh78sxxj2Aod1xgOFIGQp7/jTpD+8AlZcdTg4x6CgBjoywNIGYY6vngiiJswKJJNkWchRnJ/CpmlALs7q3ZV7CkWVJHOVO1hgNjj8KAIy+xCY/UggD5sU9GU7l83axAwzjke1OiCI8hjVQM4yzcVD5rNIwJjCtkjbjGR3zQA+VcjahQhTk8ck+tOJdYgNyxlv4m5OP6moGdTt/eNI4IVgo4JNTB0jIdYizsdoJPP/wBamAmQEZtpcoowwGMmovmBdl8xWOMDAP61LPKSy+fIrIpJ2IMj8TSrcDC+ZCqgknO6kBH5nmsInDMgbAyO/wBaapkRt7ZyOOFzU7FsgBNgcnABwB75qFXVI5JGmUPEvJByBmmAy4Uxx7HkdVOWPIGF9KZC8iAlJUZSAFHJwfrTvKPl+aYwDtJDMdzN+HakUuYlw7uoHGAF60AQmJzMZceZKpw2BwP/AK1Zer4N4QFYEDJz3rYmEgG2V1+fgIjYLfjWHqRzeOANoXAxQBXiRmlUE471uW6bY0HUY9KxEU+ZluoHFbkZ+QD7uABQIU4I7571Gxz0OBTtwDYGfr60yQ8jb6UAUro9AM47k96xZ9ztzjitm7blg3JxzWNckYyDjnpQBW4z2FI5wDg0pOOO/wDOmSZIz6GgBlOUZOTSdfrTgvBOCKAHKCMda7j4c2Lal4w0KzjIBku4xk+xz/SuITBA69a9S+Blq918TtAWJdxim80+yqCSaAPtiiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvlX4+3CyfEe/CtuVIYl9QCAMj9a+qq+PfivKW+JWu9CEnbIPoKAOTU4wCTg87h2yeDWTrp/dxg4yWPTv71rRkyIpUdBgisbXv8AWwcYBXNAz3j9kS2fzvEtzlfLCwRYzznLmrX7UUrHUdGh3ZRYHcrnplgM/pVz9kqBV8Oa9cDO97uOM+mFTI/9CNYH7S0yS+NbSH5iI7JQ+B0JZiP0oEeQLkbG6qByD6UAFSxUADoR9eKG2/KSDkbs49RxS8bnw38OCfegY9XIJZVyyFQalABPAA5wMelMIykhbK4IJz3pRnfhhnPcUAMIIxzn5j26VIFLfMTtBYkDPQgUgUoxJII2HGOajYLgMpO3k7h6+9IBHL+dEM8AZx7k4p+4LjK8Bjj/AApWOUjGfnwCSTwfQUkm5fmK5A5ZfemAyNWSXK/KS2OTTnwc9mC/MMcH3FBCpvwdwbkA0048yP74GSMLQBI4AhYIcHblaCGcls5DID7jHWoc/MIwc59Rx1zUwKidEPUZIU9cfWgCNT5iBhjOMketSN5YTA+6x3DjkGkk+XAQEAKSuevpSS7ip43YYEEelAEV7gQNgZGRz74rLPWtW/KrC64IJIzmsvvxSGjndWObxs9uKpHr61Z1Bs3kmM9arZ96ZIZpM4o7+lB+tACOeDSrjauDTJOBUgHA/pQAvucCpY+WGeR7cZqED0qRGI9D6g0AXUO6JIhkqDuOeCDW5aqAy7sMm3of4R71gxuiMFdCPm557V0Nmy7wyOqykn924zlccUAbVsBBINpAUgKAKsKCTkKUI4+bnB9KrwxqViyigHgj1NWcDKsoJ7Mo6/nSGS5IOTIwB7ACqkrhkYKyHJ5STj9askRD7yMhPQnio8n7rozJ23DcPzoAibDxcgYxw27cBXnN8/8ApMxJz8x5r0O5IhhkbPylTlQMY+lebXByzkdyaYioetIPpRRnjFAAeh54rt9BiC6bECCSQDxXDkbiq+pxXoemr5MNvGDgYoAuoQkgBPGOx71K6p9pKvjaqZXA4JqCNlW5OFymck4q1asJXlzGWSTgY42n1oAmup3jS0jdA5U7gSc5HpWhDaO5mu4SNsgwyqcbCe2O47Vk3i/ZtS8qbBXb8pHeuh0SdI7VmMZZQRnPXHX8RQBjXokstThjmy0ZACFlwBXRyyXIgbfH5aS8rI/K9OcEfyrFMcV/qUse9pRsLZbgZ6jHpVmS7eXRHtS0kA4zG/Tj0oAowkzTRwxsd875LgdBV3WTd3F1DAkZZ41PQ9QKb4ftuXku45TbAbUmRsbf/rVKl/8AaNadraSONooWCvjIbFAEc12byGO3WKTzcgSs4zgVn6sgluEEThkjwNgyc47VpS309vZwukiu8oIJKfNn2Perul2EWnaaLlpP9OmUuzvyADQBBYWsVrcQ3lzteSVSVBGVT2qJJprzUrh5Y3kjRCMY4qtdlls/PeUtKueP4cH1HrTfD4nHnTbWEcvCs3CMR2zQBX+yPFbSNdlokkfcp9h3pt5ujWLazOzoNuOuPSm6oZJTtnkbcxwET7v0rUu7eHTraC2tZA9+4GcDJQnsDQBk2cMrLL5yOhXlif5VADMzEQh5FJwcdvY+tbZtfstnIlzMfPcjgDPc96zEM0t5HBazls/dMZx9d1ADxYqEZ/MURJgEgZ+bvgVDcNDEiLGzNkZLNxj6Ve1l7fTbZLaG5aQg5fjge+ao2Vul1dQo8h2MC7gjlQKAEgVvJmmTc2SFHOD0qvb+akW9SQSxzkdKvXtykdq8VrZOiH+Nup+lVrWG9ufKj6bcL83QfWgBsKPLAWIV4y/R+gq+k0aWzJASC3zEA8Z9jVXVBJb2v2eUtu37iAPl+oxUVtcKsbQmIBgu4SgEkUADuzbEOcucZc8CpZ1iugTNCJkjbuTjNS6LaCe5kmkG6ONC5MvQHtU+pXMPlJFBEME7pAB+RB9KAGwajdx26wwXkkMUS4SISEKB3xVy01fV4LON2vrtRzgE7gwz71jhreKM70Ds3AOTkHNaWqy2zWcENu8pKJtDjue+KAK3iO/u9dtVtLu/YKW+84HT8K1/DviGXw54fXS7CS2KqSxklhBL+xPeuVLKyMCkjuPvNjgGtLS7GW6cl7eSUfwgDCn6mgDpf+Eht3ijl1PSbAvMSW2/ISPeub8Y3FmbZV0SwdblyCjRvvU+xz0pL6cGZXkhHmJ8q46DFNsEnuZHn+QRwgnnjk+goA6bQV0GPwxCNUgvn1J13XDBwgU9to71XubPw1NJiK71BGJ4BTfx3GfWuYmuXnZlO9QvHsRVuwsGCCWeZogfuq3p70AWPGs2j6PpytZ3Du4+6rJtP4+9XtH8K3mreH7bU4zaxefynnTAMw6dKwdTiDsC8Kyorbhv5BPrUmlq93IUlk2wRjftBwB6CgDq9T8Lax+5SG2VjGvlrtkBXIrJvdMubK0J1S1e2iXjzCBgE+uKSW4nihDW7XIh2/MwlJ5rI1h59W02S2ju5VlPGWJIwfWgCxbWRdmMLiZFOUwvX61ZlV2tFZgA7t908BferXg2LQ9A0X7JrdveXN875SVZDtx7Y6VoXUPhi4c/6ZeRNu+XzUyQvoD60Ac+bdIkRji4XPLkn5T71JdSIFh8sgtt+6RkY7VL4jm0vTNImk0vUZZm+7sMXGPQ/wCNQ/Dyzs/EWn3Fxq2pLpyxtsRCpLMfXHpQBE1pbXUg81kimAwEA4PuarmB1V0UKGXr82c11B8MSh91hqdjcoMlV8wKTj1qC70CfTbKW4lsvO43krICB60AcjPEjqRLEjN2HeqVxpCAB4Q8De/Q1v2k1vdRq0KqjtyG65x1AprXYciN8SRE9cdDQBjW2pzWcnlX6AocASY/nWvHeK4Xy182NuN0fao72zimhJCnYeobHH0rn45pNJnMcu5rd8lcHGD60AdHHKVU4jcp/Cw6n6+lLISwLFvnx8gPJ/AVnwTEkmOXMrKBkchh9KmWYnKEF8Dh+AfpQMhR5MtCpaS49T0Aqw7sJkVsD+HZ61SmaQsAHjWRvl2k9vWpYZ4/MxGJHkbAMijIz6DNAFi/LvFgBoyv3sHO2nWckjjdv+UDaBjB+tVmmypOSrIT5ofGTjt6mhZVuUbc4uMchFOCo9qQFwRoARG6lQwJDjPNWIDujAYDeOVLr0rM+0xiUDy3aMDJOep6c1bScmZXVwQB8wHOCaALiqxB3SLv9UGc06AuMByC3fZTgwxkL+PSo4pkYn5SSD0X+dAEzBpG/hIH8OeT/hSCNgDlSOeACB+tOAAyI2AbuCKayoQFADd/k7UABfJAfg+xyaVfuZYDA6HODSM0fmcMquOpYYNKx35VyGB6bPSgBxLBTkNI3XAAxSIzNhnUnPQYxikzgYIYKeAd9IFMfBd3J6c9BQAkkhZh85WI9dw/lUi7tpMYK47NnpUcxjXG8ksOmRnmlly+0ElW/vZwBQA5iXXdhwWHO0dKCSNqhdwxyaikjZogGY47lT1pIoVLgq7HbyPagCwCkgBZcfX/AAqORA24sqnB429akWQt8ysxA68UjFQSysoY84OfzNADQq7cbtpPXB5o3LyiiXAH3icChsFAwBLeq/40FTno3T727I/CgBsa7eYkD5H96lbBO9ndiOioOlIYdzZkUsnYhsn8qcszooSRJMf3lFACoioD82STyDzSKFwVGzOeMA4p8mQu75Ubtk9Kj5XIMS/7+7A/KgBWUrg7ZP8AeDY/SnAl0BLvGO3GD+NRrHlhsyABzhiCKbcSwwQ4cgN1BZqAHlgW2MD2yQD0pz7cBkkkZhwEzgVQk1axt8s9wHPYKc06x1W2vpDFC4LKN2CuKALj8bh5rF8Z2LxikC4VSZnDY+4WzSbo8gFgxY/dAyacGyPkBUDkjy+tACoU++ykN09f5UyZifmbDE8YKjp6URmKVQyjYynlQMc+tN3p/Btf1JPAFMCNzsj2oACfQUBUeT+EduVwaiXy15UbmPHyH+dPRwylggORj0NIBwba5BSN+wBPNDjzUVViwrdFBwB78UeWuSGjTaCDgN0oXLyGNYwinnk4BNAAEGVxKyAtyCT29KmkhiJPly4JGGGcZqvH8xYmOJ5FB+6T09qmVWEh2qsTEA4bFADHSN2VZJSTERz0GfT3psa43yGQbGOSBxz6ZNTqjbyzsj4+YgAGmZZ8hx8mcj5MUAMZw5OW2k/8swm449zQcNDnznJU4wOM05YwCNojBPLDOSfTmlUDOxEiC4OUDckmgB6uDMwwCAOFHY1GC4JLgrhT95ePzp0ce11DLsjHJ56mhBEA7oHIzknOBn0xTAeJtiqSkS7umByW9hUQWUoAclU5wMDNQjDSKWG1sEZL5IzT444TBhTI6kjkcHPr9KQBK7JbtGFAUADOcZ9aQvmXPzPx8q4+VB6n3ppk2QmOKDIJ2qWO7J9vWrDybXBlKqirjy16k0wAoTJvYqPlG07sfhiqkmGBIV5EZgMIvHHbNSMyCYMFSFmGAWJJA9vSnSMIosmWVlLDCg/MaAIncxOZJQxKjC5GFOf8KfP+8aNWMfkgZyG6mk2RlHEhChl5D5bbUcUaJKDudu2QoAAoAUsizBBEq5H3jwcVz964a8mOQVzgY6V0M2Uch0XAGFJ54Pqa5hwPNfoOT9KAJIx+9H5VtA5PAGPesW2wbpec9MVtKcJnjPoaBCZz7YqORAVIz+NKeRl+AOcCkYAg4yfb2oAz7vpg4K9CfesWcEN161sXT7AMDPvWJKfmY4xQA0kmo2x3xmnLxyeD703v0HSgBp9qfngelIi7uAQO5JpQTQBJH80o6da9t/ZnhZvidbOqkrHbTFj6ZXFeJW4JlXp17V9FfsmoD4o1l8A7bNQCf98UAfT9FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfEvjG4a68VarNKd0ktzIpP8AwKvtiR1jRnc4VRkn0FfDeuOsmrX8nUNcO49CNxoAqRhQoK8EHB9x61h604a6UAnAFbm5SpIHAO4L6ZrC1fI1F9xyeKBn1h+y7A8XwyZ3A2zX8rr9AFX+amvM/wBoK58z4kXiYx5UESD3+UH/ANm/SvYf2d7Vbb4T6QysWMzTSnPYmVhj9K8I+NM7zfEvXC5yUkVAenARQB+VAjjGQlztO1c4zTclmlUqASAfqKFYFiRnAx+IpfmUMpAJA2nnnGO1Ax5bamxnDJwN2O/bNMAVJF5UMDzz3xQxG89TGQp2k80jqSeAH+bGT1H+NAEgYIm5eGC7m3dDTY3QQttGYyM596aBgqf4SOM9M9s0gHlqDnajjBx0oAe+Cx4BGCCM/jx+dEm/y++BlTnikOEYDGW5/WjcwlYEAq/GMdKAAqxbA5bAx6kYzUcMwCMW6DP4VNuGw5wdq5z6A+lNYMCUKqUbt70AI5JlIK5Y4BIPA4pgjO5VZtzgfeqdQolRk5DMRz69qjMfCMwKgttDZ6EUgHSSKSpO7y3AAI/hPejKgDr97HHTikDYbaSAcZBA75oUAoFIGevH50wINQbMSE5+Y9O2KyycAmrtyzOFDggqTwRVObAjZuTxSGcxcNunckd6ip0nLE+9Mpki8Y7im/hS0nagBknQDipMionOSuKm+n6UAKo61LEMkAAZ96YoJICLnPalTaOGUnigC9bqdgdmBUnGO9dDCilvNZJN4A3KBgbfUViWUKvsXkSgjBP3ce9b1pkSJHKJM4K8c49h7UDNW2KkExlwT94FetWULsqsAnoy7sVUjlIT5HUFSAVYdass4CszbSOg3jp+VIB2wk7stnOcE8D8aiZSjsc7Q3dVyKeSwQKOW9N2VIoEaA5MfPrkigCtqB8uwnIPy7DgqeDXmkx+9XofiAKukzkHPHGe1eczHg0xEPSjvTR0oJoYIktRuuYQe7ivRI0zIueB29q8/wBLUSalbr23DNegIAAhIIBzSjsN7l23QSR3G0gOATTtNjVbYyGQI6kEDqSKitgvkyndhgMDHep0hSOOAblKSc7R1XFMRPaWhvtQk89hll3B1/hPbNW5Le4t72HTZnB6Y2Hr+NUbN5E1No8lAvDEcECtrTwl/fXl3MMQxgbZtudpHrigCtoqt/b9xs4iRyQhH3j3was+KLvT5ZtsAkWYqNwPQntVSyltPIkeZpEkBYqU7t61XhhWWK5u7tjvj2svp7A0Aa+mHyLZILuNZFXqQxHynvxVR7ixvtQlRUMUQIAYH8Knufs0EEd9b28n70hRufK5xyMfSq1jpX22a4ZtiOq7lAbG0daAKutpcSXEMkZ2wpwjjgMOmcVa1+5lh0+CJWCx9FYNlefXvUyJHNuuZ0VYoYsLlhyfWq07y3dzayuiLHtDKxwVUepH9KAKsSTaj5cFsSSrDzH9c1s3F2LaO406G5LRwqNu0dPUfWmaqltaTQGLzZmb5nkjwhb8Kz7jck0kwjjhcnGDkEj3FAFSy0qS/umdpAsKHdIzHG32+tbUSJCl3eKGMSDy0b+59azLCeT7Bcx2se4yuC0pyQDjtT9ZY2NtBYiY7Mbn2j+L39aAKEbyy3D7C22RTlnPH/16focZW8eSRctypKk5z6CoLWN7y4ZUZSQu5nYYwPTFaz3Mdlaxx2L7SoLEkYLN3oAztSWOQOfN2tnBBQjPsT0q5ZQ/ZLee6kjEjBRGm3kZNUTfSFo96sEYfOq4wauaf9oaxmnhVkhV/lRRksfWgDNmlmeZFeQq+7OXPAFW7PCwPOJSZHYcc8DufeqolYXUj3FuN24fK3p6VsvcWkmnSPFbmCYyfMsfPyjpigCnvubhGLRgxY3BcdBnkjuKqx5+0qI5THubaWJ4xSxeR55keV2LcbACGPPQ4pZ5I2lAtMLsbYFYc/jQBp391MmnIsahifkaQr8rAVnRWs7qJvLlWLadx6gAdxSXdxtiS0jLHyhksx6nvTrG5vpY5oYBK8H/AC0EJ/U0ALY2iX4cy3OCvAA4P15rR1G2t1uo4oIVeGBQG5IAOOcj1qrFa/ZPIluVw7YKI47dicVDfyyTTOZXOxvmwmKALrTwrbH7G/l3O4qIVxtK981butQFtpItoXfyyQZGHA3EdjWL4fsTqN+8jh1t4kJO3q/tmtDV5GW0jiAK20fzJG0fBbPr3oAynkSVJN0HzqMbt3zN6cVoysNO0iKFUDTTcyZXlc9BVHRbKW+upEd1ihXLuVHC49PxrTvbyK4MbELEo4XODwKAKNtbRG7t45bnzonG8KoKnA5wc1JcXV157ybkSMHZsxkn0rWsYrY5uJ40ljRSN2QMj371iLZrfX6JHKFVmyEUZCr3z70ASCeNrSWO4tflY/LKc/KauacLS10mYeWZGZcPMR0J5wB16VEYYLS4QudqhhsG/rj+8KsagtubNpUJiVlwSjdTnnIoAyVaRzIsLCJFXdsZsbh/jTraILFHcXJ2huVjThmHqadp8c94rC2YRqp43nnntk1b1uJY1tY2Co6qFOCck0ALLa3Mv2UtKjI5Plg8jP1qnf6dPHGZ9wlhCnlTgqe/Wn6Y1xHc+QkvnKq52I5wD7k9Ku20MFwkqvOzNgsUXkBvQ+1AGdOj+bEIdix4BMZG7PuaZCLgKxZwibz/AA4B+grSvbmOO4hkeMRMEByORgdhjpVW6vYLu5AmDiNW4CjABPc0AQOGjjyzKzdGOeR71He3dzd6TNbQSshbhSM8e9X/ALFFLCGhASZc58tgSV9fenCEC1it7Ult2TjoxPue1AFjwL4O0+40F7Y6q6a2WMkccnEb89Afes69trm1uJ4b1fKeI7HRRj86jiuJYJGJEYZP4CcOvuB611Ol6nY6/D9m1kE3AXEd6o5HoHHcUAcvbwiSFpPlP90MevqapaxaLd25UbQw5X2rZ12zbTJJbeU5MRwrKQQw9RVFyChdSpJ9etAHGLcGAGGRfnQ/ITxirJ1DeTwfK6kABd3r0o8QxtBOJosAuCDkVz6SYOd3tg0AdJJdxRhFUMdwH71mzgfSnteo2QCI4z/y17sf9k9q5oTsj7kfg8kYqzHIsuPOlUYHGQSD7YoA1pLotNuLxjbhFZjyfeppLxDscPGxUFgx4P04rA80Fk25ZgcBT0A+tWjcyxSFCQ2/g+WQc+2aANeO8kEvmkoUXliOMj8alW+AfG55WYbmdCOPasHzd7qu0EHj52547VPHd+W2WHynGAw5oA7a3ljaFHUHDDO5PWrMSqCCOSf4icEVmaFdNcWCFkXqQcdq00lXkAjgcqwpDHsELjD/ADdOTjdQD8jbQVOemMY/Ghtj7QyZPQA9BToy65AVgBxkNkUAMJ+UAKTg9CetOZtuFBKn0RcmiQuUz5pPc5Uc0wKc/Nn/AHk4NAD5BuHzKw9elOX5iRsQn03Z4qNtzEooJHG7eO1PKqSWC7MjjJ5P4UAI23j9wVx3HOKbIfulgzqOjE4/SkjUxZHy59FzSb2aQrCGBHU5BH5UARsxCkRKCRzhuM/jUyOSQSyq5/hxQWIUlpNzL2XFRBUaXJI8wdmXH60AToPLXG/cWJJB6/hilD7FxlNvo3Uk0hGwKzlR7quc0OSY/lYAdeRQAhAQgJ8ieg5yaR1KtkAKO+eMn6U12+QlAxKjHHOaC7BUdkYccgY4P1oAkGChyxjPoORTkUBvlIkf+8WprjKDeMBvTis/U9VtbGJo23PJ0Cg80AXpZFRRuKue5x0/Gsa/16ztxi3/AHnOdo4Ga5rUdYubz5GkKxDoo4ArMZiThRn3piNrUPEN1ctlW8tOwWseW7kkOXdmPuauaZot9qkyx2lvJKTx8q16PoHwZ1a82veYgj7561y1sZRo6Sep0U8NUqapaHlSs7/Kq5b610Xg5GS5mlcMdoA4r3LTPg1pcCr9qmaRgOSBisLxv4Y07w3PbpYqF8wEsC2M46Vlh8fCvPkiVVwrpx5mzmwQzMymNG4GdvSowR5vlZLL0+VTUkYbezbsbRxnkUiyFG5dnXGSegz9a7jmKOqv5djMYy4wD1GMVw0WsXlmxEUzbf7p5FdprzJ/ZkrBny/YnINcjYaM+ou6q4QjpnvSlJRV2NRcnZGjZ+KA4CXUewd2UVv2d9Dc5MASTA6KcZrIvPhzrtvai4S3M0ZG75BWNbWk9lORMjxuvXIIxWUMRTqO0WaSo1IK7R3Sna4CnyyRkk8j8KfhhgpIkhJ+ZmPQe1YlveGKNZJZfMgB28GtW38iQLgR4HIG7p6fWtjIkRiNm6coTztHJI+tOXc0jrGI2U9SeaRUfzGRVhPRjjIz7GmyyfumRCzydggwq/jTAkCoC21to5GAOKYWJyWZl+XDYHX6Ckg+aMKVyOPlLZNEoRI9xUAkjKq3ftSAVGMTlSWbsDgEmlf5FOA0Z/iJGGb24prGQKXU7G6jAwP/AK9CkbwQ7NuGcgZ59qABNoRXjaNn+7yMmlMjh28x0cKAWXGce9IEKMqt5gyc5JGT65qK5OFO0sRvxjbj/wDXQBMHZV3BwuG6kADHrQ/zMI0GQP4iBk59KhC+ZhGSR0POZEHFPkkVWjQ3AAwcfLgGmAJlYQY/ubsllWgGPKl22YG1RnJyajynlGKMvK6DjbwATzmozKwmjC4+TrvGSPegCVtsQjRGcvkks+CB701lwykRb3DZZy2AM+lAZHdNxhG4fICnOPWokJljDbhJLuOFLYU/hQA6RAm0SRKIy2FZnyT6VJbiQgsQJE3fNzjNQkRCRnIkkcLwNuVHPal4VV82YFemxVwQfwoAfdY2kyqAMFlUNnP1rmigZfTNb7yJ9lkiWPygiEkn5ifQZrn4zxxwRQBY0+ICdRnkZ5rXbjAwD71l6XzcNnpzWmSAeMn2oEMIOefyqGSTC56YOeKmJ3dOtQydMHpzyelAGbcEMxIOSBn2IrKmB3EkjnmtO8ZhkDoOmBWVIeMnIPb3oAZ19/6VHxu5HFPBJ49OwpjYB4OfWgBcYH9DUiAlSR0HWogTnPWlU4znv2oAsWYPmg9q+nv2SrJSPEF/n5h5UAHscsf5V8y2Iy5JOMCvrj9lWxEPgvUb0Hm5uymPQIo/+KoA9rooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCh4gkWHQdRkdgqrbyEk/wC6a+IXy027oWxu/HNfY/xLfy/AWuPnGLZq+MpVIYEkBSfmANAC8Mw4KgMVGO1c/qBLahJkjIOOK6MjqrD5sjGP4h61y9wc3crE55JzQM+5fg5bm2+F/hqNo/Lb7GjlcY+982fxzn8a+XfiNOlz4816SMkxveS4yOvzEV9deCrc2fg7QrYsGMVjAhYDGcRgV8ba/OZ9Y1K42DfJcyNt+rE4/WgRnR/JG2/gAlR70hTLMMhiPu+/albPkgHJbOR7+tN+4Bz8ki8/7JoGOYM6gMMFV4IpFJeTuATknHoKeVwVUqDgk5B7UzGY1YcbTyPTmgBpYeSJFyOOR70pUlSM8gAH0xQT+6IcYDNwR0+lObmdgF+UnbnPXNACS7kQjaTsyNw9KbOrN8q/wnOTx2p7MwVtww27seD65qOUDduG8HoQee3WgBxUOeVIJUrwaNzSQkD74IOB+VISclGIP9TUkSquQ2T1B9xQArkCQnOOQcHt61G21ZGHJHr6GhvmX5sZ4xn17GllAMbtkhWGR7GkA5CqBSeh4yfQ9KIwPmVidwOAc8jioQDGNqjIHTPcelSAHHTJxyM8gigCjeko21mBGMris+6ci2kOO1XLpg8pYD2xWfqZ22b8daAOc6mkPFKevSm85piF/X60n40daT8qAG/8tFqX+VQjmXOP1qXv0oAcvy8g/lUitzk9ajHsAKlgXecZBGMntQBp2jKyxo7by/CjptOa6Gw3GdjLzjGGQ9/esCybG11zhWBOR0xW7YSMkpZSrbiSMDnB9aQzTi8sbDlXbJBJ4z9an7HyxG3OCucEfnUMO1lkDmIknAPr7GpthWPMqqQvXjJH9aAG7NsZ3xoh9myDSAeWmC5UHkHdkfSnqy+QCu3H94jIFRysfLzIpwepiGQ34UAZHilyumSA7QzEAgNn9K4Gb7tdt4slQ6YgUgkv0K4Irh5qYiIcGg4wMUdjSHt3pPYcdzR8PLu1RD2UEmu7RsQlSAxbj3FcV4VjL6kT/DtNdqvzeSuAuBncetCBluAYtJcMBx1z1qfTFW61CJXUFB2JwKrXimOCNo9xD8HjinaaVIG8+Ww5yvXGKYi5cQNaXN2zkIquU2t8x57VqaLHLHpcrwThVb5WAXOVI9azdSVLnR4rkuolD7QD1b3PrVrRZTNbi337Y/vOB1z0oArukLxW9nbq7T7vnbORzW1bTQ28V3YoVdDGAct/FWbo0JfVWuLEbjbnOw8Fx3z71c1Wbm9uIRCu5QAh5I96AM+7eOaxgt4Efz2wgGcqvOCRWtZC20qCdJZIyEXLDOWzjpWRodj/AMvTSEiEZckdD6CpdXs7aCytw0uZ5BuI47+1AE8NzaNo4e9i2I+cCI4zzwDTdIngSW8eeHd5i4ROq47Y96g+2A2YikRNsKYXIPX1p8bz2nhuN4JUzK5Z2deVP40AZdy897dxW0A2zbto5HT3rYu7BLWBTJdB3K/OoALZ78+lUNNsydRglnhdvlMshU7sjPBp2v6qZj8qKjY2jBGQPf3oAel99htVW2T5GkIKsuGFZvmLJei6vi3k7hhQM7vatnws1q9pLeXzCaf+BR1UdOaq3hXUHIMiwCOTK5+9uPbHcdKAHQPAzidi1uQ2YzjGR/WqmsXRSf7OrpKwbIOOAPQVLdPaiCJZHLXEagM7DABz2qskX2m5kmZd7OMLxgDnk5oAs2KeXKkupqrQvG2wL1H1qzqF1IdMt4Y3AVyWVY8Z696zlVJJDDGT5vPD/dxV7XVgtmEETEsiBdyLjJPpQBmSTTzI0sgkC52lmGQcVowNFZ+H1eAtJdyMcgcBB61W0W+YCS22khxhg33fbOasyRf8Sh7hfkQEqinkA9sGgClawXBlaZ0M0v8AGcYC+nPrW1HYNbSvdTSJOzp/Cv3OOtYyu0lrNGJSZD8zDOAcex9KFuZl06No3Yyy5BPYDp/KgB0D+ajwXLboWJYE8YPaiO4itJGjhCicA7HDfL+dV44ZFjknlifapCoW7nuQKhtI0uL+EbvKDuC5booHWgDodWWOaa2S9dNzRhDg4249PWsPUYpbO/8AKDs7j5UBXGfTirOvXif2ix8pTCcYOM+3FWtJZNQc3FzbK6W2GZycbj2FAEt1O+nxRWduMSqMyPjqx9h9apveF9OKuczu20g9Dz2FWLqW1Eu+VwxZix8kYK56c9adpSwnVQEzOFIkMrjlRQBPqAOmxLbWtqGzGCfM6kHrx71z97Fl0YW4QyDAiUEc1q+J71b28d4UQhTg7j8w96NE1JHe2hKlmjbKNtBx60AMfSlsLcRXdxtkkGSjLzn0FS6O9vZXTrFvZhESXK8p2puq3UlxqFx50gYDlin8P0NS2wKae1xcCNpZAFjHIAX1JoAzZ7mJi4+83RyUHT2HrU9nCdWkhtYpWY8nHTAFVrm1HnR7GSSSVtoVcg5Pf0rctrRNDsXudyvdvujGTjA7nH1oAi1y7t/Mit7NGgiiXaMp8rHuaoTrdTWwh+1hmZgwQp976GoZmLfNLcrkZYIw/nVnQlubq5acbTFax7xkhRn60AXp7Y6bYpbq65nXLSEfMPbFULYsk28bw6Kfmi78daNdmW7hN0oSNwcEA/KfpVfS7m5DxrCSZ1Py5OFFADZXncW7LErEfdxySfcVoFZLfTowIT5hy8uUGc1atbMQWl1fagVaRW2oFPGT16Vn3dlDkT291LKFXLJu+7+dAEIvmijKKkUMjH5Cgy4BPQ1Z1GWaPawQi3QBdxOGX3OOcU/S5YWLXD7Aka8B+SGPqafHcxXUrwziOQSdXC4oApQXUEyOZ44hOF4kB4Ppn3pQVsbOOCGQtMTucgZ5/wAKWys0kmlH7kIp2s2z730A70xoQkzSRsrqOqIM4FAGDFLr1zqgF+GexYFElxxj2PrW6sUX3kIZ++eprsI783fw6urVYl2Wt0hQsMFQ3ofeuHjB8wncVAPCigDG8TLutdxBBB71xjEgn613PiYF4Jc5+XGa4aT77Y9aAHI2ATkZx3FPVmKEjHy1ASMUZIoAtRSKrBnHI6cUbyWfYAAefpVUE8VIGwh4/GgC3HIZE8s7tv3iBjrSxzOEZAcqTgkjtVVGwo45z1pysA2V4oA7vwpn7AdpYAMenSttZWcgAMvJzlRzWB4RGdObKjJaugB2ou4Oo6A0hixs7OTkqv8AtJzTztX7xK46EZwKi3fMOSCRwQaC6g4IYseMigB5VHIUqrR9fm7mlRNsuER1AHY8CmsdvygMO+1O/wCdACscpuiH+yTmgCR33A7cAL3ahsvJvWHcy9yaT5gqhGYAdXxkmogzvnekxB6Kcc/lTAmc7m2+Zt454wajVNyHDvt77gMkUMwQhAyFh0UnBH41KWPy7lRmPoefxpARoIwc5Rc8AYxQSEfITaTxkMOadjbgvtc9VGeBSxuQN2Ys+goAYyhTuEMgB6sH6U8Lv6YJxwxFNzJu+bkN7jihgoKk9eg7cfSgBVkYZ2lflPO3/CkiuYzkSHcc84X9KbIyq2VjkHqQRisPxBqpiUwwcMerd8UAO13WoreOS2tQWc8MWPSuSd2fLyMT9T1pjSFiSxJaux8AeAr/AMVXSsVaKzU/NIR/Ks6taFGPPN2RVOnKo+WKOX07TLzVbpYbOFpHJx8or2fwR8G8olzrbe4iH9a9Q8IeDtN8O2qrawKH/idl+Zq6fcDgADI9K+fxOY1K2kPdj+J6tLCwpavVmfpGgaZosCx2dtFGV4yF5rTBAUsi8+lVbu6it1JkcDjua5vV/GNlYRsTKDjuTgV5/K5HTvudbJKqRlnOCK8S+Jl2LzW1SULsiXjPbNGt/FONd6wuW/3B/U1xEmr/APCQXEtxKfm3ZxnJ9q9nK8M4Tc2jgxk1y8qZLGA0uEdnQcEP6+1OwqS5zh2HCsRtFIyCPl+T1z0wPc0gZTgArs7sATXtnnGd4jDfYNxdGUsAMVV8LFFuASBguBz2o8VzJFbwxI6Fc5AA5qDwzKryoEZGdXB2McE1x45N09DpwrSnqfU3hoI+nwrwVKjg81D4n8D6NrURNxaoj4/1iDBqr4R1SC4tIQpAZVA29xXWrKHxzxivl2+Vnr6nzd4z+G2o6JFJPYg3djnJ2j5lH0rko5UUR7ceYzjKseR9a+troKfl2kqeNoHFeVfEP4aw6gJL7SAsN0RkhRhX9vavUwmZSi+Srqjjr4VSXNDRnnUEu7KKUUgZfj+tLJG5KrF+8wQQN2FA/rXKM97o941pfAphvnVxXTWcwngR45wgIOegC+2K9+MlJXR5jTTsydUbad0UZUdVVuW/GocGMKGTyy/3Ujxn65qR4WIVdyFPQnHFIGclljjKJ03LzwPc0xEbr+8V1jZv4cseaaBg4eZ41+6QF5P/ANakA4Z2VpDgE8n5fT8aeMxjzPlQnlmc5P0oAVCJM+UAcZAaRugpomLyKfNZuflUDgH1zTnbehlLrhFwCAOT6UwRkRLHliAC7FO3tQA9g7M+3945OG6k/T0qPdIoRWRwIxkkgdKkjaJ41MaGMk7tztyB60yOVdwfziFIICbSx+poAbK58xmj3iPPzBEH4USJcB18uIjcNpMhBAFSR5cK1yJW5yMJt+maYUa5kcspKqercD/69MB4iPCl422jO9E529MCmFVbJSXCRn+LB3fSnlwEcpKofdgLn8gKiKFSUNupI4AEgJ+vpQAqTGMf60nHONn3R6UBljISSXIJ3AYyTTX6kOkUaM2Ajkn88U4OWcoEijiQjcRyWFAFXU1jgtXVGb5l5AX+ZrBU8cGtjVnBtGZQx3NgkjAFZAJVcUAW9NXdu5wAOcd60vujk5HrVDSxtjc/QVeY8cKfY0CIycHjt1xUL56ZABHf1qTGNx6ZHJ96hc5XGevSgDLvMjfhj9B61mMPlJJ5FaF6RtzyM8Z9azW4PHFACepyM0w/Sn4BGcZpgPy0AL+NOHTgflSDk479KfLGYpWRiNynnByKALdgvzNya+0f2b7J7T4X2cj4xczyTL9M7f8A2Wvi+x+6fc19y/A2MxfCrw+pBH7lj+bsaAO7ooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDjvi/cJb/AA41xnbBeDYvuSRgV8fsoy7MCfl4+tfVP7QEoj+HNyCQC08QAJ6818sLJtZt3YnIoAaDwrZ5U7TnvxXNQxmW8CKpYu+0KOScnpXR3TZ81WyVKnHqMCs7wbbteeLNHt4yA8t7CgLdATIOtAz732iy0bZbjYILfCDrt2rx1+lfD88hllaRjhmbJI9+9favjGVIPCWtSSNtVbKbn/gBr4k2nLY6suG9qBCqPMypB+TJ6+/OKZIx3E/eDbcgen+NOCnesnVTwPeopJFxhFJYj8h2NAEiqDuX5sYyD+uKQFcK7MRnimJK3lgsd31HenRupkKgENgAg+uKBioFZSQCMPggn1pGRvl2DEg5PPSnllX5gcq5BII6H1pzbSzOjhMrnjpQBBGGEis3PmZUkdBT3DZcrgkIBj1HrTI12BoycjAfr3pXc73O4dwMigAQ7sBgeQDjrUiAsGTjax/EcVGzElvTtj1o3jdkEEhsEeuBQA9R5aKSpIOTikJVgwwcD3/GhSX4XI4zjNOUqDkgbejYH60AMl5kfjgfNx1xTmYqSAxxkjNDJtnKbxzgZ60h+RVchSMkEAdTSAy5TukY4ANZmtN/o2PetGV90jnvmsjXWxEg9TQDMWj8aPxoPvTEH1pDQenWj3xQAxP9YfpUo9Khi++xqWgB69eDipoTkhTjj2qL+HrmprcKz5YFuM4FAGvYIzEIRtPcjsBz+Nb1nyxKjIU5XGM9OfrWJZhfJR05deT2I5/WtuxRc8LIGB3Y9aQzRj2hF2cJ3GzmnxtufbuGf7yNg/iKihQ7MJI+0k4w3I9jUg8wnDKT7sKAJByeA4I75H8ulRncpbBGPUDFOBVlG+MA9OM4NMOF+UFwO2OR+dAHL+MpQYoUEu85JxjpXGzkZGK6zxk4MsCg5+Unpg1yU33qYiM0dhRmkJ+Wkxo3vCC5upm54GBXZbW3x5G4BORntXMeDY/3TkAZZgOa6zS8fbMTDAyVINMROj/aBBaBiFPr0BNS2EYs4bwkiK4iBUE9/aqduE+1Fnb5w/HvVnXgEvtyhwjgOVbsfegCxfMDY2DkA+VjcR2z0rQuYwtlbiO3DTT7mEinoo7H1qnb3Kh7WJol3xHJyuMr7+vWtDT7yObVLSCyLDadrFuRt+nagCh4c8sSTymUoynCkLuyfpRqcc06zBWM9uuFeXGCD14HtUsGnxHWZrUy+U4cmN0Pr/hWpcCbSdLuITCrsCT5m7O7PoaAKtw62umxW1kd6XKggE9D3/Cma9bx21vaCNQ8pYKGftVCK4aXS1gSNzMp3byuSo9AaZA7ahqdplwip3fOMj196ALF4l01/EksLvGvLx9NwHetDxBJK0SK0SG3C5BUbSMY496bqN/Jc63tjXaoTAKnB49T6VlX95cz27sw4QYUdOKAJ7OeOFBOswZ3BUoh2kD0qvBAl0j3d0Fjtg+FiUEtJ7Zp+mWl7e6W0awxoM4aQ43Yqzc2yafp/kpP5i9wf4WHWgCKwSwkW4aZGtWUdA2CT6AVXudNjWDdHdMskuHZZF5pNMiSW8Cwy75QrM4nxhvofWrGtGeYR3FzKpb7oT+JR+HT6UAVRZTjTDcuoERlzuZeWIHP4VpwXy2OgiJYxJc3JznONq//AF6yZCWsljSR3k3YCdsH/wDXVzxCqWdpGqJFG5QE7W3MuP5c0AUIIGe7kMjPbMoBbeuR/wDqpLmKWW/3bRKpJJ8s57deKl06e4uLWYKhdpeN0mDhV78/yqezWWzspZdpSac7VlVeAvvQBQiijWINdKIlBwR/Fn1xVzUb23Wwit7R2KZAPPyjI61FJ9ik8xJTOCOFcDcPx+tWtLtbSPTpWuIgX3fKrE/KPegCrEi3CNEJZF24y2Ooq1Z2MfmCGd1+zxglTtIL4HQVmvIZbgJHCWjXrg4rUEos4Vt1WWeVRvZo+dpPb6UAMe73wG3KlV52BB0qTS4GgQ3MqRiIYjbaMkDOeay2VGkZphI6gFgoOMknvVmC5ZYiJXWNkAbLdGx2yKAH6tcwTakTbwHzi2AHQBeenB7Ve2W8OnS26XBNzKMyBRx70lpHFbWsmoXfEsvKiQcDPt3qEyWhtklt5EhnIZXAGNwNAGPl0dnMZYA4yRn8qtadv+yTyhSXuDtWJV6Ad6rWsUs94sEKlA5wWznj3ro7y/jtoLe1tjlLfAyv3j7+4oAxEsJXaOOW5jjZzwrdQfQ1sNp1rpzFY3cTFdpfGVLdxn/Coba4W88RG5e0x5abzggAnHWs29vJZLiTzTtQn7iHOD60AQiDzJsBZt5faUAyOvStbXtxaNLp/JiVQEiX7xHuO1R6PczzX6pEC0MILtgcn0zTNWLLcbppY2uWOQGGdme2fWgBdPt7O53MkU4kAyD1KD3p2tqktvb+U21I4xuctyTmspZporgKAIGfO4qf1rSsrd9ZvAHIMMS7iQQB7UAVLe0F6rrBNnI+ZHb5j+NazyfY9Nmgf93GCIwgwcDuT71XCusrAKkdqh+ZUYBge1Tpp8CW8s7oZG3gBi+VHcfWgCDRZ0upGs1topEkUqCV6D1ye9LdQTx3X2JLdI2X73GTx3qm+8TkqN5YnkcDnpjHSp7e8lMv2gySXMjfu2Ug5XA4+b0oAlub2a0CW6ZEY+UL1PPf0PWqkcsUVwXJI2NgMnoe+OlWZUF8y2qw4uBny5WO0A9xk9aoGC4x9lTaGdwrEDJ9DzQBYuEil09Wtc+YWLMM43DOOlVZJJ2EcGd0Ln5SOqCtC9skgjWO1eVVjG3Ljg88gY7077TbOYIXQQOXCs0abSfXPrQBKPI0/T1jtwSzP87Stgk/h29qqJuL7oysasDyPTvxUFwtuWeUPIZA/wAkcgyH59addK0SFZW8twAcIck0AdPpt3GnhLWI0ZXMrRpGeykck/WuSlFxDMRMpBZeMVn2lxqSaytsjFtOmw8ihcDIrWmuxJKiRhvlORnnAoAxvEsYg08jJLHFcG5+cn3rufFrYt2+bJLVwbnLUAL0HNKTmm5oHTIoAXPTPWnA54ppYkc4wKM0ASA4xzTgxJqL6VInWgD0Dw1/yCo8bh1J5rUD4Uk793uKoaDtXS7cFT93JJ6VfZ9uS0hCjgHbSGOimViAyO3GQ23AqUtvO55ZY17kDiolmZslJNwHoefyqXKkguUDdl/xoAUOWPyEuvTcV/lSvuWRSsMhXpuyP5UhZVY73IH+8TTAI8h42Q46bieTQBIQQQRE446bsqPwpqDaTvjO8/8APMkGngFgSgU5/iXvUe6RFCttRieASST7UAPd3iBLhFUnrjcahlQywOfNAU5Hyd6k5w2UB+pqWBRs+VwrY+72FAEESlNv8RC4ztwKQDdMd5KehYDn6VKoG8naX9zz+VKyqRueMbuxI/SgBjEbDhI2A/ixk/lSxkqQfLc/764pVcsThivonQfXNMuZorWB5GKNtHOSTQBQ1+/aztyqO6ySfwMM4H1ribiVpJCzksT61a1C6kup3kdsk+/QV0Xw78KTeJNXi8xD9kRgXOOvtWdarGjBznsi6dOVSSjE1Phd8PpvEd2lzeoyWCnOTxv9q+mdK0q30u0igsY1ihRduAP1o0TTrfTrCK2tolSKMYAWrtzMIYizEDivl8RXniJ889ui7HsU6caS5YkUkgQkljjpXMeIfF1npMbneu4dyeK5rx544js4mhgcFz2B/nXgniLxHc6jcMS+9icew+laYfCSrvshVK0aS13O38XfEee5kdLZtidmbr+Arzy71S8v5Nxd2BP3m5pmmWLXs2ZSeOST0xXUx2Qige2it1cKQwcdfrXu0cHTpLRHm1MROZz8GkTNKq3DYBxknqBXQ2dsLBsR8KyFmHrirsDPcKgkVQ5Y9Rg7RUhDTyuGIWIjcCvpXXsc403ls2F8xATyd+RVe71a0somf7QsrnosZqSdTc2qLLCh3E5yvQCq13pNi6bILdN+PmJJ4pgcbql/JeXDSyn6Cs0OwfdyD7V2F74aAWMLuZsMcgdfSsltEeMnzMgHkHGR+NAi/wCG/F+raTKhjnZ41x8rnP5GvcvBXxLhvUjhv8xOeAW9a8Ks9LWBX84M5H8K/pWrYsQ0KthYwxIDcdq48RgqVdaqz7nRSxM6ezuj6vtLlLmJXicFSOvapyFZduOK8N8FeMLvw9IILxjNZMQCD1TPp617Xpd5b6hbJc2brJE4yCK+cxWDnhnrqu56lKvGqtDgvih4Dg16ykntYwt8gyrKPv8Asa+ereebSL97O9iIGdjgjkV9mhRIMDt1Jrxj41eB0u4X1WxjAnQZkVR94etdmXYxwfJN6GOJoc6utzgIyjwqxlZ1ZcDC9qVo5yxMXyRoMYycmsTwzfM7fYrhpMpwuDjj0rdaKEyhY2YEg7ixP5V9EeUAIjtlR5XRv93OT7UkQjVQzSjLHJMgyT9BRM4BCNOu3PzDPb0FNY7H+WOMMWwp39R60APdY5JWDJlc5zjIH4UPHu+7tLY43ccUgLiRNygoTj5TjJ/nQ/krIY/ILSHqA3OfrQBGVLFAsYYgFSCcAD3NSDzYNzmaJVwNq1DdhWUbwQkYyIo+cnsDTYVBXKPtlfrleFHpQBZCSrC0jEvLIdw+XIqtEsr2yoIZGTOCOm45/lVofNM2FaUnALYIANRlJcLFJKwBJPAwAPSmAybzF2+d5SbuAEXcSfQUNFD+98uLdIxC/MOh/CnpIoMZiDBFPDFOv0FE2+FTtZw8jAswXkg/yoAjZUiBWWJAAwIw2PzqOWHeRH5xjeQbsR84x6mjIZn2kCFOPmXduNPdVibc2yRsbvlTGfxoAzdWysS4Pysfulstx39qy2OFJYjPatTWNsZij+XzMkvhcfhWXMQ2ASBk+lAGjpgxAW7Zq6xOOMYxVbT1C2uc8E1OrM3fapoEI/3efwFUpxtTJPGcgVcfgHPI9ap3JITIGSvOaAMm8Z2ALYAHb2qg4UtwT+Iq7dPuyWXkVQbBPXn0NACE9qbnJ54+lOIAAINJkkbs89qAEp42gf1pnf3p6nB5wRQBoWIJjGO+a/QDwDCtv4I0GJVChbKHgDvsGf1r4H0hA8lupGdzr/Ov0Qso0hs4Io1CokaqqjsAOlAE1FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeP8A7S8jL4U05FJw90QR6/Ka+bYsYbgYzj6CvoH9p27H2DRrIA5Mjz5B7AAf1rwE5DKSCUb5eO1AEOoMgtJQTjCevepvhHAlz8SfDUUudpvozxx0OR+oFU9UAW0n4B549cetdP8As8QPP8WNEKKG8syyNnsBEwz+ooA+qvipOLf4d6/IVLA2rJgdfm+X+tfG7cMrA4yO57V9a/HO4a3+GWrFCBv8qMk+hkUV8lEj5kdCcZIoARQpVduAFySvcUxVyw8vGD8pz2pxwFG3qAWPqOKil3EnbxjGSPSgY6UM2M8MF7U8u24gKSQo3YHpSMC2QTlW46f1pnnCOUjJ5yFHegCUJlRGDnjKk96jTKFui5P3T60Ak/LnIHIPTnrT9vLsxxnrQAxwVjBYncGwR6UHBZlJXDYI7UkTZX5h82C2M02R3EeNuQF3dP4aAHxI3Ck4IPBPapHTeGJUEofmUfTrmo0yScc9Cc+tPIUM7JnLjcRSAYgVXUo+QDgZ7CpAElVycYyVypzjng00KxAKlQWBGG7mkWPAGR5bMNmB0Bz3oAdIHSUsoDEdQeoGKSUokZU4yp6g9QaRw5yRhW5J59OKbcL8hbhhtJpgYw++TjvWXrp+aPpmtUg1i62xNwq+gpAzNNFFH4/lTEIeKQ5x1waWmt9080AJFwCakHpUcP3akGfagB659KsQgqAxBCk446iq4HqP/rVaskZyUX7zcLxQBtWbb12AZc/dbGM45xW9CW8wFjncMjjBWsSzRisIdFIT5Sc8sa2rQKAA0jEj+F+ePUGkMuIqMCRubIxyOopVEYB4kRQefm/lRGCRhmAGOMdqduJJC5BHXd3+lABhMq2CSOhz/OmEAKdpG309KaT82/ewGee9DZx1U56ECgDifFTE6hjzGcBeN3aucl+9W94nbOqyZ7ADisCQ/MaYhuaQ9DxRSN05oA7Lwgu2zU4GNxOK3tNYmfdtDHdjnoaw9AVotMiPqO1bybovMkRcDIIA7cUAT2lublmWFQs0bFuT29BV6zuorrV83kfmx7Qu3pkVU0NpFufNj+Z0+Zlx1pDcrLqcnloURieM/d/GgC7PFBa65HtkLQdfp7Vp6f5H277ZIjxxSv5QaMgED3+tUb+2t5LNJDM/2l3CLnoBU+mXT23/ABK7tFH95iAwoAmNpBJqVyVMi+V8sTDsf9r61U1G+mntltZZdrs2GAXBwPU1JqCQ27brC+3SkhCgHP596ZqFki2qXE8xe7Y7THjlcUAX7iKG30izEnmgluQTgeuc9+Kz9Jup8SyiKOWIPgA8GrV6JtQa0t1IZdp2+YNu3jml0mBbSxnLzrlDkbMHefoaAFhQedIjuqwPhpmj5Y/7IPpWN4huIZbzZYRHPAAyTx6Uy8yzSAIgEhCI3TnPWt86ZZWllCUU3F+5GMPxn3/KgBmk2smnWk/mNLHMRlkOMHvkGsKbUFWJ1WEFzISQ+TkVta3cwz3BUF+I8OuOGI9DWTp0YhiurhUZfJwPm+YZNAC+H7a4jv8Azp0dHIDACPIx2pbnyC4aRTEryNkgfM3qcVJHc3tv5Ftbxv5twcyP90DI4APpVLUoxE678lgNvJzk0ANsFMd8DauC6y5EhzjHutWbtPt11JLNJGWbPyBSVH1rY0rybHRTdyyKbqcllG05OOhPtWXeXcLWkk+5zPJ8u5eFXuaAElmjUwxQRklANzkY3e2PSpdTmu7fTMSCFmPzqUbIGap6pdRyIm93kIAyy8Lmo4bKQ2q/bS0UZUMp67vb2oAtWkkiwG+dWy52rkAKSOvFN1G9WSIJGD5kmDxwop2vXq3k8ccYZbeJQEVVwOnp/WorOSdma2TT4WYLn5lOVHqaADTFNpBJelg0nKIuM5Pc/QVZ0q6kSYzOgKyAjCnBOf5U57ONLUAznchzkfdWqcUUz3iJHKJWdSCAMgD1PpQBYvY0htlBQNIW3HceFBqiLIw7pL5XSFvmXaQd3/1quQQxI7I4893XaFVdoX3psyvfRkebHbLH8pU8bh6AUAW9WuYplt2VjJ+7ykQH3B2BNVbWNmUSRQlyBuThck+uPSrutfZ4Gt4reONdignHOeOcnvWL59w96ggys7jCBeNvbFAGtpEpggupzHtlJOZGOBj0x71jG/Zpd8pVzkgfL3rowXi0yS0kAnnMgZ5lGee9Zi3UbTCFE8vI2jamWB9TQBJDdQwWM4WRHMyDpkt+NZ1rbyzAvFGwVTlnL4xWlplsr3U329FWNCS0pO0kdhjvUGoXUktyqq0aW6jCqFxwKANCyM9jp106+VGWACjOS4+tYUgjvFZxKkUwOdrZAJ+tWoy1x5iWSyLCAN7sRhW/oKgsrNmuVilxI6sDtUZLUAWtN06Jgst/LtDcRhm4q3qV5ClxFa2LJDaoMMyn7x7kmp7myS9tJJ3uFjuIRyrNnI9AKo3DxonkQFFBjVvXJoArGCW8TESsvc7Bnd6E1Jeb7fR7WGJ2UEmSTYep6c1TmjnheM2rljK21Sgw2fTFaz6dONM8+4xFHuCpE5+ZiBzzQBQsbZbxnZp/JAxjORu/OtdJ20+BraOIeZHyUA6H+9nvWNNOvmIxVsFe56/0zViKWe5tZpJC3lxr5cbngkZzj3oAgjunDuzRlwed0wzj6elXLC+U300zBWSFD8iA4Qkdqx40cTbWMiSE7QG4xn1HpW4qvFp4SxRjHkmSRfmz60AZAmywmt5Zt+7ox4U+4NAuGSRJFwJd43McN1qQFp5SEiQyOcbuvH0q/FYRRWrNZyzCZCA+5c5H5UAVoYFgu3kdwSudhclVz60TyxSuWV41kI3YXpnFP1J1eZpHaR+Ru3rx+VV40SSFkkDq2SVwABj2oA7XQL37R4B1m1mt42lhCyxP5Y3q3c59K40EwqGLINw529c+9dZoYS20LXYy8hDwLhOhznjn+lcvLGhYSFH39GXOB+dAHNeKyfsynduyea4knk12XitshFxgZPU1xjdaADPApc9Bim85NFADs8+1KPwpufrSng89KAHDr1qWPr9ahqaBd0ij1NAHpmmhRYQKgyoQdR7VZhBbdhcH/a6/hUNoDDAiGQAAAAFqmLDIXc/0AzSGAcBgSXUZxkLipgy8EEHjqBk1CoZmwEbaBjLN0p4ZYkCv90fxHnBoAlYN3ZVHY7OTTT8seQS3vt6U0j5CyEsO2w5NChGVSRIcdFI2/nQAKsQJ5JYnkg1KCwbJfcvbjk0jKIwCYowOo5yaPNG0FRlccv3FACIE35KsdoxtI9f504AF8MuxOwbikVw2wBpCp6ZHP504KyZ+8xPGHOQfxoAJPu7GwzHplsUwqSCsMgGCAT6UoQ7yWjZQOBggikQIwIDRkg/dWgB7qxz5i7kHON2c/WuU8UXzSSCBG2qnUA8ZrfvbkW1uzlCu0Zxu4rhriQzTszHJJzQBb0HSbnWdUhs7cFmc8n0HvX1f4D8NwaDo0MUUY37evr71w/wH8IrZ6edXvIszTD92GHQV7IV2JkDj0r5rH4n29XlXwx/M9fDUvZQu92V5XWBCOgA715j8SfGYske3t2HmEevQeprb+IviRNHsm2kGQjCLnqa+ZfE2sS3lzJukLSMcs2etGFwrryv0HWrKkvMg1vV5r2dwHJyck9zRomm+fIWmBVRzyKq6bbM8kTsBtLcE9K7eKPMjeW23Yu88dPp7V9HCmoKyPJlNzd2V7e0FlbMJMAlgq47gmrzO0cxKPgFjnB4wB0pvnecsRkXKqFIG3q5pzxov2iR5EUKCAAO/eqJGrJm1jY8zyLgYOcDPNOAYbFJXdI5BA/ujoKZHHtAMSFiI9okI4+opfLkSWMvk+UoUBT1Y9c0wGTu0wwSVBfywBxgZqw0m1nbIG5gpyeQKbGJsxwMyEg7nK8n6e1RXLbo5EjASQ4fGM9+tICyXO9vNIO/IRQOgqFwsgWOJAAQOWHYGn3SIWCbnMzLjjkAetKQqox3Fmb5VyDwBQBXmiQozIpILbmwe2OKitIHchJY/kXOHJ/zmpAjiEiJfL3HLZP3QBxU0YeFwPlctjHGee9CASOMCP94WZk+bk9M9BXV/D/xZL4fvktbgsbOZsEMc4PqK5yGOTaPMjUyseT6Y71EyoWLBjI0eRkjufWs6tKNWLhLZlQm4PmR9T2syTQRyRkMrjcCO9Rahax3NuyMMhgQeK87+EfiOS80/+zro4li5jLd1r1GPBTDfWvlKtF0ajpvoe1CanFSR8n/FHw5J4Z8RfabVSsMjb0K9B6ioLSZLpFcNkuMtJ2B9K92+Kfh1dd8P3Kqm6eIF4z34r500KaSNpLOSRU8okqHFe9l2J9tT5XujzsXS5Jcy2ZsBWAVhgsWGdwoEk3nSNGEO04AC8D8TUqKkSEGaOR3OSQOp9KUTGYOH2sAM7B0r0TkFG8TD5S8xX7+BtAqCZ1SU+YVLN91gcAD1OKkCqwDiQBG6jOR7cU187iVk+ZVC4UAgf/XoARCioCsw8xvu7hn8BThJO6shCx7TkkYBprCQnzEl+VBtBbAB9TSpCFGHgUnn7pyxOOtMBshJiyQ24NwS5AAz6UqbUkYLsBBzuJJPPtT4S7YljhKlVKsXHNRu8iFGaGMov3myAee1AErlkAJHmMPmCpyf/rVBIQy7pXcErzznk9gPpT2kdgG84QxqedvVvb39KjhjlhZGJYxqN4DkcUgJMwtGiskgjBwkYPLfWotqzCRvLctu+UbsAD8KlDSzujqF2cgyBcYHoKHlJhkUNsiwAqoD+poAxNbaM3gMTMRgZ5yM+1UF5deO/erWrSRy3ZERJRQF+7iqhB3qAT+FMDZtRi3TnqOhqU556U2MYhUc5wKC276DrxQIae4xkDjJqldjejKc/n1NXCcqw28VRutxBAIAAHFAGXdsACAMDHFZ5J7nirl0w5AU5Hr0qmWJGOwoAD0PpSdutBOOPWkHagBxGDjvSjpnFNpV5IoA6nwfZvfa9pVnF/rJ7iONfqWFfoNGNqKvoMV8NfBiwbUPiV4fhjOCtysp+iDcf5V9zUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAfPn7T0o/tXREBBIhkyM9MkYrxPOcxhiuOcDqp716p+0g+7x3box+VLVCM/U15S4I3buGLYB9M96AKGrH/AEHqMg7c+teg/suWwm+JySFiPIs5pAB/ETtXH/j36V5zrrboIwANoOM169+yTb7/ABfrE5iz5ViFD4+6WkHGffB/KgD1b9o2YR/DvYX2mW7iXbnG4cnHv0zXy7uyoyRsPHuBX0d+09cInhXSoGUnzLsvn0CoR/7MK+btqhWIJCnoKABlJZA3XkCnOokhDZwRngdePShc5cBgSvTA9abInmEEHjJDqexx1oGITlxtJyOfemIi4LStgPk571KpDSIwPIGevakYAgybcDbgAdj70APQKWVtoyeOPUUwsCm49nzj1pwBCg8gZBwfWkBAY4B2dj7GgCMAMqkDONxOO4pUIaJEPBA25oGVmHIIxzj2pCzK6fJuTryfSgByqoQbhySdw+lAH7rc3I2fL7ilDgbwAVfGSPY0AbYlA5xwfUA0ANY9AxDfLnOPWkYsCfvYAB69PeneXuwByccZPanRnjc4JwdpIPbFAAzgqccrzk+majkIjhkyAFKcAUhIVSOoyO3I5pl2FWJsfTg0gKHA4rndXbddt7V0Ga5rUDuu5D74oBlakpaSmIQ9OmKa/wB3tTvwpkh+U0AOjGEHSngjmmr91fTHpTxigCReeMkZ/KrNpuUqd2xdwBYdjVVBnt1/SrloqlgZfu0Ab1uWIB3c7dqkDr/9etiMbS2WKcAn5cjHtWJZBti7doQNgE+vrXQRcBSPlI+8Gyc0hkgVcF42jPvt6U53Kgb1TJ7Y4NBViCzbDGejoTn8qRhhFUR+bH3GelACvlFL7QAD68GozIpC4Ujd6ODUoj43ogHpz0FRSyIWIYjK9CAaAPPNdbfqVxxjDVjsfmNaWouGvJmGTlj1rMbrTEFNbtS0qDdKi+pxQB3OnqBp0AHoP5Vtna8bHaMiPAHXJFZdnmMxKBwB3rQ4j3YY7kbPToKALFpLLBbOYzskcbDk461bs7QXekzvHGwuYTu3AckelNWCBlt5sk+ZvLZOMkdKtaVcjTdPuJSJGkbARRkD3z60AVoHku7WRNyBIcOR0LY7CtqVNNmtYbuTKTeXkp3yPb0rImieygjZfmF0N7Hbgp61ce+iltfLl+aOFRhgBlvbNAFW1j3XtrcoY4g8mQCwABHatbxfL55gUxoMkBmUgkn14qAW1obu2iLb4JBu+VfuE9qo3UUceoMJQ32dSQhXg59aAH3t9Nbr9neWOUrGw8wHJIPb2pdNvkGlAZx5akfMM8n+tXls7WaaZI2STzlG1nU8D6+tLq/2XTlXypGg8xAsiqmVBxxQBk6RsuL1bnUizRq/loAMEk9D+FakkzJdSedEsaL8iZHPtmq0EuzSoIst58sokVdoJYeue1MisJ9S16RIXfzYwWd3bIx6UAVxBJeXgiF3G8nJCH5QOKZDbJBFHDNIAhmDMepI9h3/ABqxYxrFrE5gRmMaMXcHoelUoZIi6rMoZnlySvOATxzQBqavfRHUUAleS3VRhUG0Ae9Y+ooDIFEnmOzbgm3O0VNr7xRXqQRIyxORv4+YfWm6ZCtzrccbfKhbJYnBwP8A61AEuqzzmGOHEjYjAXaOKoraXM8UECAhC+wj610Ou3sdxcTi3jCvGdic7Rgd/rWRYRzwXg+2xMqY3rg9fcUAWrixF1q4tLVB5KAI7Kv3QOpqe9No7mDe8VsBgYOSSO9Vo3nFrLc5Cwb8ffwW9qzri8WRldUWM8jaByfr60AWLz7RNHHGMPDGNuFXGRmpzqb2UAhS3WNzxJgdfrVywvjHoUjj78jBUxycDr+FY0qx3UUm5SJweNp6/UUAaF9ctNbNtWJUk+Ywq3Jx3P8AhUemTC0026mRSskhCpnqFHUA1FDp22x+0XSyBUOAACA2fc9KluFiMESQu7hzhVHIHrQBLaauEZzMqM23apcZb6cVn7IpbqJ92S0v+rDbuOv5VJdWAimPmHbD0UBuv0pbG1t59Vt4reR1kJxucYxj0FAEmrSwF2SISQSA5ywwKj0lha3QmVJDK3yrk5B9/WtbWIbKCbZPc/aJgcsrJj8PrTGEziG6smVNuAqrwQO4z2oAp3dzMQ002yJRnCDv74rLEzSZTzSpx8uRyx/pV67tLmW8Jdi4LffU7gPxpbyZbZo1ht2haLOJMBi59z/hQBe0iymudPjurgZihOxIyOHbHUn0rJ1MH7YTOxRuqsONvtWnPeznTbWMO+0rvfZkZJ6g1m3phlhDo7+cRhozjBHYg0Aar6kE07ZFCzNI4DsQPmGOOlNs4RbJcSpHIvmjahccqvccVRtYJo9LZ5ImRS5YynsOmBTJtQZF2QrxgBc84PtQA0SRpI5hPzMMYPIA6d6dqEq28sccaIoxjeR1PfHtVZUuZ48Jtk+cE9PlPpWz9njgtzdXksBkJ2rE/r70AUhdC1tfmjR5iw+bGCp9AetWtZNygtxOwk8wblRf4faqzGCO6UlUkVnAUEnge1N1e4a5uZCj/MvGGGCBQBBB5ctuwZC0uDhi2Ataf2ieaytoiNzE5BA5A6Dp7Vgxp5yrChGenPT61o31+yy+XGMIgAHl45bGM0AXgI57mSeeR5Ftk+TI5JPY1Rs72O3jkhkdhDITwnUZ9aYXWC3UuWZnJyC3K8Y5qmpzLKTKGwCAduQfSgDXs/8AQ7SV2UvMzFFKnnFLaATwg24dp43B8uSTqByeKrwQfY7BJiBMZVyoJwVI60knmt++ygkCkNtbG7/69AD7i+muWkaWBFdMhpGOAR6Y702whUQm4mSRVPK+nFVois0cQKZjX5mGCSfWpbm4M0hAdduOEVTgewoAri81IawFTe1lMP3gK/LgcjmrRuJZ2MYwkQ547V12jyCT4e61Z3aIphkSSAkfMCe2R7Vx8kTQBFYgcZYg96AOV8WsoMap0ANcmTzxXS+Kj+9Az2rmqAEpc460maAfSgBR+VKMj6Ug49aU9c0AKOataem+7iT1YCqorR0Nd2p2/wDvCgD0KMBAoyhccAbasByBiUYJ7IOKjjZgRtdQfcVKGcL/AB+5UA0hiCM5O8ZXrjcKk2uiH50VDwRswaYFySQux26uQCT+FPiG4EMz7h1J5zQAoaFAAoKDoDQu93PTKn+Js5+lOwxG0yErjoU4FI5wPkAJXp2/WgBE3RocLtPcZ3A/T0o8xxn7jgdcJzmlRsqVR1JJ4zjg09ZJFyp27v73AoAjjZmPKx5PGACP51KpU5MaRYHBO7+lIZSVXeEJJ4J5/lTshmGGjbHUY5oARVALEhiT12rxQSqoGQKDjjoCPrSs/wA/KuPQdvyoIZFJYBc91XJoA5rxPcKAsSEEn5mO7Oah8D6K2veJbOzUZRnBf6VnazOZ72Rj64Fexfs9aIcXWqOnJ+SMkVyY6v7GjKS32RvhqftKiT2Pc9Nso7CzgggULHGoGKg1zUY9P0+WZ8KqgnOavNIBH83514t8avELwWn2KJ8PKcfh6181Sp88lBdT127JyZ5j4+8UPquoTShiYwSsYz+tcNCjTu7HnHJpbyUyyYHIFafh208+42suVxyM4r6uhRVKFkeLVqOpK5t6PG6W6/KhGMLntWs8iywSSgEE4TjgdcU0CARpLtyiKRHEOpPc0KiRQEO6Af6w565PQVqZi3MiGKIIxyrAKuOuDyallVGb7MDw+dzAcg96ashUGNEUvHGPm+vWneSuHKHE2QXYHgDPSgCG7IkgcQMRFEQqk9GPtToCGnLzH5w42qo4yR3pt15jFjuaKJWUDJxxTwspkkMqvlmxH/sjuaABFZxKke1AJCXOeWFK4C3KjZ8u0EKOTwaeWjkkb5wI4SPl6F2x3pBcsIVmlHllgT8q8kUANhEiTylpFXnBYjv1wKWF2dg+coFKlmODnNNC7SrBGMYBJLnqx7U9V3GN44TuPy8ngD1oAjLYiS3Kq8knU5zipC5klRbdWKRFsknAwB0FRRorTtLuUMznygfpjNTrCy5XzUC5BODyR/8AXoAjCl9u92E02OQegFPLgIkNsqkM2G/LvTEQiIXBAdjuCrnkZpsSSWlnl0ZZZpMAk9PegDY8NX02na9HOjIZgwG1TwFr6O0q8W+s45UbcHUEGvleAMsyvEMAsykjrXunwkv5ZtCW3uOZYun0PSvFzaloqq9D0MFPRwO1vY1ZNuDzXy78SdIHh/xs7qmIJW8xeM8HrX1XKu9WPccivFvj5oxm0u21JV+aJvLcjsD0rz8FVdKsuzOqtD2lNo81gYllOxnUHj+DAPep8+V8shADH5gW5+lUtOfz7OENvYAbQN/f1NW3hJl3CUSFegfnbX1W54pFiHjbDvwpK4bA4/nUsX7xGxtVewXP3vXNIm7yEQMN+cM+3hRSvKyAlJSUAwqocHNMBu3excL5pxiONcfiTmnBZFJaZljfaDkt92g527VXBxj5ckn15o2RKd+Y0OflZucD8aQEL4J3AyvvTGG6E1NIwU4kWEqpHLZwvHp3piTYd5BMJdzAR5HcCmt57+WWkKSHJZmHyge1ADnKteMyRlpSNoLJ8qAd6ZMyyyllQSuBt+ZMLx703ZIzSgzYdgCGwQAPpUkzckLcyYUAkrg7s9gKYCPI64Mw+6OYojkAfXtSSGNZFWcNI7/MF3fKopi+cYpBPGhR8AKcA+2TTk8xJYVcwq65JCH7o+tAHP3T7ryUhAgz909qjGGlXFLNzcyMSG5POetJbfPcrxxuAoA3hgIKjLeinmnFty8A8VHk4IPJ7UCGyFiOMcdjVC6z5Tl+wwPWrrZ68Z9KpT4dW3HjOM4oAx7kMM7jyemKq9STjmp7hdpHz5FV26+9AC7l43Z96b34oI6YNL25oAQ8HpUkY+deD1qPNTW3M6Z6ZoA9c/Z3iMnxV0hlBIQSsfYeWR/WvtCvk79laEP8QLqQoG8uyfBx90llr6xoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA+TfjpM0/wASNRjd+F2RjPb5Qf615+xLKx4D5/Ous+LV4Lz4h6zOB/y38tf+A8f0rkuSAeNxO7BoAy9dK7YgowMmvev2Q7Yn/hJbrdwPIi24/wB85rwLX8iaLOMFcivpP9kiBV8Ka3cbCHkvVQt6hYxgfgWP50AJ+1JM3leHoCB5TNM59QRsH9a+fZAVIXcdp7dq9v8A2nZd3iXRYA+dlo77M9Mt1x+H6V4o2GiyRxnJzQApy+Bn5v0qTPA3gZ3FuKhwF3MwbBB59D605WDgLJydoH6UDEEflFzjOPlPHb1pECmRixyvXHoe1OdmCHB3Bj09O9KI8AMTuBTtQA0SowOMqAwwWHtTlVVccEAjnH6UwJiI7WyCAM09lZT82HDY/Q0ARvjAPIIXGCval2YlcYBAGQTxilcqyjOc5KmmmQGQnI38LtPX60AOYBSrqQCTjDDg+1J0IYqAH6gmm/wAKSRuHH1oGG7HA6gnIoASOQZkV+OPx6UoDksi5UjHWlmRduTkHO04OaRGIcZJKgAqw70AJu3Alh8xXO7PX2NNvIy0RlxgAgfpTwhYbeCduP1ovSUswMjazEjBpMEZWBg5rlrk5nk/3jXUScRMfbNctMFzuDBieox0oQMj70n40fyopiEJGKikPHAqXr14qGTqKAJlPAwcHHenpnjA5HNNyMdQRSg9s8UASA5Y8YPU1fg+VAHIIGMYOcVRQbgTkcc47mr1k6pNGUONwIbI6UAdBp4XygAytIp6n0PceorWhBjj2hiSCcBmrH0+AxqsciRtGTw69c1rx543DK7uCcgr+PpSGWSkgKvGqj+97flSAgsT5bK3QspyPxFNIKsCQMt0IPWnxbVYqGdx1AzQAcBuIiGPfHDD61FdKVVmUqF2nKlu9TnKAbXdc8DPzCqepyRpZzcoG2E8dDQB5tdNl5D3yTVH61bnPDe9VKYgqS0XfeRLj+IVHVjSxu1KEf7VAHeRghohg4xgVdZmd5Qy8MAPyqnCMuCf4f1rVsJQrruYDJ+bIzxQA62Ep8oA7tqFhz0q1qcTW2lQyQvJslfk9jjofaqVsub6ZowVQqQhJ4PrV/bFIiWkzusSjPynJ3Hv9KANWO6V4WuyFkiSNY2ikOdwPcVW1XT4xbpdaeGMD4ZxwQB3qikUwIs3DGOJtzsoPTGBWxpF4sdhLE8fkpHGTIWOA47YHrQBHZx2xknmeZlMaeZEc4DeoNZskr3VxM8SH7GoVWLHcefQ0tq0LpIm+SKHG5oyM7vYGks5YlWK1hAjQyZ+brn39qANW7n/ALLtYkiuWeIEOMrwAeorL17Uw0cYRPNDHlXHUdORVjV4xOIzcTq+w4KAfKR7VV0myt9T1hQhY28YJwx5yBwKANAWlnbWkMly580J8saqSAf97tVHTpxZi7kaRV8wbTg5GfSr88sEVjcLdGQoXysatwD61QtrNPswu4QWsmlGVf8AiPcfSgCPU0aC3SODa8kq75Gj6jPas+yMcFpACp3vL+83nkYPFbWoSQQ3DBHxkBsRAsAO30qDSrX+055rhRmGEb3MjAZYD096AAMvlzCAhZpXyWkGcAdqjspA2phvNjUKP3zKvTntU2uXkczqMKI8fKqjFZunhZJ1jihjV5JAobB7fzoAv6jChhEzyMxnYmOJeyjual0Oe4uhNHGEkggjy/mcFRnoD3qvrst4bnaVwyL5ahRgYqXw5iNZ0mYptTlFPVs96AItQlW5cW8FuIynACcH/wCvUMOm3LxJeSqht0bADcE+2OtQxq7Xy3FwrNCGJJVsd/WruqSRCzJCMm4gqu4tx65/pQA+GNZWMGnygO648vklfXmoxPLps8cVsqmQEGR2Xkn0FL4f1COxjuZhGon2bQwPrWWJDJMZLn5lLZ255FAHS6jf3N7pokliEMCuTtDYyfU1U8PSNc3izNHFBBBu3uoAz+feqBilnsIsMXRizLGpyR9alSQQaMIUTMnmFmJ7UATywRahLIIJlWTJ2xs2Aw9KPD0XkX73LlYzECELnPzegrJBHnRb4xNk/d3ED2Fa9vZwoIzZzHzC21geiE+5oAqXjm6uJJChkmLEkjpn1qM2081uhhuUC7sbSSCD6VDcD7PcMuNyIxBwf696mtZblpBMixlScKjYHT096ANO9SWCxiikjCJgZIfO4+tRW+oxzafLbXUbGGM7ovUH0z70azFLcS7pYZCVAypG0KQP1rLlhfyS8cqnK5MYPOfTHrQBqeJJooxbxQAuEjCttOQvrj396oRSRRIxSXIIyu9M59f/ANdWX0uQxRySMJJJlBCI2cfXPektpIEMiYENuFAdejH2zQBY1q9muobVIQ8kQjA37QOPTFRW7ae0ZE8AWRDuV1YZz6EUt5cpdQqsE+IU6x4wQKy4ovOlVYY1yxG0nsfc0AaWleTHf3MkTBkijLAscZOMDAqhd3b/AGiPdy/dWFb2lWY022Ms5Vt7kGVfm/DFY+piczFrlw0Q5BUDOPagCzBYx3RSaJ0iVThctnLH1HYVDLpkr6nDECuX5yD8uO5qrDd/ZrdmhBAJAJPPXtWzbSmxgaXBmmddpjP/ACzB5wPegCq11HYyypAv7v7pZkyW+vtVmD7O8shjNq0Q4LMn3c9gPWsCdneVn8t1XHc5IrWikgg0N5YE3XEr/Pj+EdqAJrhLS6haPYsU6D5WI2j8qpW0EVtbm4dkPzERc4DEd/eqkUwc5WOWTGVUluc+mK1pra3+zxR+cqSIMbHHGe/+RQBFE7X9xvcEiNCSucLmoLS7jSXNxBDMGJ+UEnb9aVnMcM9qrNCpIPzcg/41VjhEkgXJw7AkIvOPX6UAbK3UsNk80NuImnc7X2/wdhWcjyB1Mr+W7fdMY/Q1cuPPuYiEUskXARjg/gOlUUnkC7N4Az37etAHV6Kvm+G9at45CZAqy5HO7B/kK5e4LK2SBvx2B596l0jXZItRvdL0+2YJNCBJIWx8oOTTLt0PmYJXHr1oA4PxM3+lMOuKwK2fELA3b4PesagBTRR+lJQAvXmnDkc0ynDigB3cYrX8NKTqkRGMDJ+bpWP2/lXReDQDqROcEIaAOzALKrCONweAd2P50+JlZjh1PZhyfypI4ZM7yi/QtnNODHtHyTjKH+lIZIm7O1GmAHUY4FSBju2GRHJ/hI24qFXLkLIDgd+cirCAMekhwMA8cfhQAojlHOw7R/tmmyFSBuVVxzggkmkHkKDzMCeM7uadHj+Gdxs67z81ADlO5c/uig6BRzTlD7BiAHPJ3cVFG2/OEZxnqyfrSjyic8Fyc4IIzQApbOC0bxjHAVQaZIk5IMQbAPzbiAcU7bNlseWgA6k5Appwq5mWMk9GGeaAHSuVAUbgep/ixUd4/l2ryiMqQp5BxU+B5eA21evA5NZWuzKlk6mRmkbjn0oA4+TMtwAOrGvrb4YaSul+ErGHGHZA546k18teGLT7d4hsIAM75VH619n6bEIbWJFHyogArw84ndwp/M9HAxtGUhl9IIoHLHgDNfKXxS1U3/iG6cH5YzsX+tfTXjC5Fpo9zITyEJ/SvjvxFOZZ2cnLOSx/E1lllPmqOTNcXK1OxlwK0s6quCSeATXZ6M5844tEQEAFiOAMVx1oMyAg4I5HvXoGmR+XZiaVyr7PmyeF/CvojyCZlDKjsCuSURE9DTpLUtE24rhnHOOiimTCVisrmJFBATJ7etPuHQncFyyAqOc7m9aQwOWnZFUlpE5OMACmmFvKjVwSCwLBeNx9KesxjjCO2ZJACMfex0qBTiGItwsWTg9WbpmgB94EEkgWJmYMpJc8BuwFMkjeRpUidnkdcZ7A57VKQxuFZ0PlgF2JPX3pzSjz4ysZCRoWwPUigBkG2F5sR+a5fbk9BwOtTF3dd6gNGEPzEfLmkVEVFbzNoYlmUjBJFRKCF2pKzxEBj6ZJ6UABj/dwAyjbv8xjnOT6CnJJI7h3YHcfu9MHsKUBHl+UbznOCMAHtSFxsw0hCMMKFXn3IoAEDKbdPLXvuIGcfQ0vm+WzrBGzJEoXBHViaakqRIn7xsEErjsKb5hlnATd5Kk7+c7iOgoAe25bm3hEZWJSXyT94imJIszW8ly5kPzMi/wjFSNK8txGk58sBS+E649Ka4iKrkJhJDGgQ9iO9AEiJH5AWOXazqW+btk9a9G+El4Y9RihlkYtMrDn0HQ4rzdYgZxHnCbctkdB0Xmum+HX+i+KoQJA2GVVOfzrkx0OehJHRhZWqI+ijyNp+tcl8RrBb/wpqcJHJi3rn1HNdZApZfvZPes7xBEJLaVMZDxsv6V8wrq0j1lvY+TNGlEcUyPnCHJGMjmtKNgByFUFsBQu44+nas+0xBqt/C7iNAxycehrVibDqIym3HAYjP419dRfNBM8SorTaIyxfaPMYAkcEfoBUkjklhvwACdzIOPwqJC4OWAIB4foo/GnMpjzhXO59wy3Bz/OtSBol3oB5jne2ASdpx3wKeUm8xVw4j+9uDbj9KaGaaWSUBFCfKH7AU2UGUM8bqEAwWLZGO9IAKSYMjtEkYOcyfMQT9OlKWEkB2bnBOF3Ly3/ANaiSGMAPi2BA4HOW/Cnb2HmPKXkbgYh/hpgRTb42WMI3l/ekKjGfall8ppSIIt5VQTzgD8KLdSsuIGaMMNzmbJNM8rLQbpdylyWAOMigB5j+0AOIlG7hizfdx04prQM7TOXjSMjGAvJH1pqRRzSSIE25OQS3XFPniREkYyJu2En0z7UAc0EAJA5wcVLZY+2LgcA1XXrketWbAZufl7etAGq/wAw+UY9qaQQOTihhke49+tBBK54xj7tAiJzgHBHNZl2VxluDWjJlsfJu4+lZl8SQwxk+1AGXMOSEOVHNQkANwae3JPBBpjA5GO9ACEH8KT+Zox25H40GgBT71Paf60CoM85NWbD/WH6UAfSn7I0KnUPEUxUF1ihVW7gEtkfoK+lK+f/ANkuxdNK1y+P3JJUhH1UEn/0KvoCgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiio7k7beVh1Ck/pQB8W+OXV/GGucg/6ZL3/ANo1hBSRGDjK8fTFWNSc3Oo3DsclnZi3uTUUWQ4ZenXn+tAGbf6c97IsivtG3OPSvY/g38SdP8B+En0m/sb26le5e4DwbNuCqjHJBz8teYfwuyg/KCMDtUTNyUAOc5B9OKBnZ/FfxjaeN/EdvqFja3FtFFbCEifbnIZiehPHzCuHZhJHu+btn0NEgymAzf3sUhUjBAYgigBcAFV38NwPrT2KnOByVyfc9KcrjO1kIO08fXuKiBG4sflO0Aj6UAOwfn/ukAZ7e9OfcFdlGNpBGPSkUFozliCrcD3p3IXJHKjOOuSKAInyEYHAGAenTPNOcMqRg9MZU579TSyhW2kZAYBiP04py7fLVQAQqkc+3egCDYZFL5+cEn606RdxLjadxyCD0IpVUtJv8wbSMkEdP84odRtIVAGIyB6+tAEDI5dlJ2g/N+PSpcox3HtjJH5Gh1+YPGQwGCR3FKMhoxgbScYx1zQBG2FIDY3LznsaMOuCOAuAR606RgSCVOFyCAOnpSHJHII6Nj1pAPVwyb4+VzwD1B7io9QmHkRxHkrk5pZATwv1yO/f86pXylZACc5Gc0Airdti0kPtXKtjJrpNRIWzkPqMVzZpgxKD9KKDQIRunvUT8uoJqU8dSaiPMo6UATDp1BpRnPA/OkwacP0oAliUk8gAHvWpZxOWRVwoxv45NZUW4MNu4EVrWygM0xVgUxlGPDetAG1pkfzkBthcZVX5BHfn1rWKEoGYFNowRjIIrPtgHXp8sq7kzwVP+FakAbaoKckfLlqQxQE3AK8YJ5BJwaeSA23dG7npngmopSURS8II6ED5h/8AWpSY+MMVUHoV4BoAcFXc2AQx6oDj8qzde+TTLnc/8P3WHP51p4crkMj55C9vzrG8VORpcgLYJx8vWgDz+b7pqs3XpVic8dKr0xBWl4bjD6iGYcKpNZnatrwouZ5mx0AAoA66NSIiwOS/Aq7FJ5MG7G4upjHFVIf9dCg4I54q/cRiaWOGPAeNefc0AW9FiE0T27sEZhlCxIwfeo9OQSapLvJ+XggHGaZZzNbW88hOXxt5HIqSwhcILnBMTPhzjpmgDd1GC3s4IrqwuSLgfLJGSSTiq9utvJp1411JI6ZATBx+BNRveRecJoSDhxGysPlUeopJ7WM3N1CymJS4dcNxtPOcUAaukBoYlEFvvkXByOME9yfTFZ9zam6uSbgMkqN/eGWX60r3E2lKCJi0kuSoU547f/qqvptreXNy88rhJwcsr8DFADby4VnFvp/nFF4aQpkovqav6RBZpZMYZEyp/eSsMb/pUazE3F06/LCy/cUfM2PX25qrAivbPIUlgXORH2bjt70AU9WuIJII4I5HJLEFCOOvet/V54dO0iC1REXamM+nc4H9awbLTDqt9HDahgFO5wTwD6AnrV/VY7MKsEYdGEZDsy5OR9e1AGW05vdkcB3yNgZPH51uWmki10BXme2LzEuWzhh+Pesi0sZfJCxSIZD93AyAueefxqzqKzaaEW7hdnRf3WW+THqPX6UAMtILT7bCbgTNE+cFGHH1HpUdqqy6kpsGCPv2R7iQc+xqjBHHJeKXmdG6hwOAfcVvaQsFlBc3EsazXC8Rs33VNAFPUrm4sbpY7lkI6OF5LH61Ws51Ey/Y7RpPNcgl26DtmkEEuovLcEAxhhuWM8gdM4rUskjhguFtJUghThmk+Ynjt+FAGXdtEkbyyO7zO21cDCiiwje+8xFLpbJgu56/nSS3FszSINpTbtjfBJz6/jVtHgs9IWOPe8sp3yJjGPb3oAf5e2ykSxgAYr8+Vzjng59ay9N0x7u4YTSMqIN0hI6VIboGAkfaGJ52ZIC+9X9LusWk13dTL1CJGc7jigCfVr+KF1hsYwIEwo24DNx3/Kop722COkNvC5ZMhduSjHqKyblLqebdcAICcknjA7Vp+H9PS6v2Fs6fIodn2nAPpmgCEWcMFkk90jpLIcKgbnA7mmwrCJ4AsShjIMKWJ3+1O1GQPfvEcSz5wjbu/wDKq2lJKuq7JAqshPOen/16ANa+j+yXTieHczDBjhGQn4nvUJt4p/3kBVI4drSfMODn9DWRfTtcXe1XZm3Y3bs5rQhvI7KQQiMNGGy2Rnf65FAEWu6i81+ysszQYGA7dPxqG1uRcSpujVVUYJXO7H17mpb+ETQJJGzMJnygxg4+lXXWXSrER+UsU64LuxycnpigAu3Nzbxef8iRkoikbXPpnFNmnjZIont0eRjudVGc/j9KbNOs0BziSZyGdjyVx159Kz453Ny0kSEgcoFboKVx26l+e2sxbNNZI378bcM33D/hWRPMbdnghzGp4+U5ya0rOOO4vonuYpBECSxDbQOOmPeq8iwXEreXCyTM/wC6BPyj60xFxrowaNFGkTo8h56/d/Gq8c8dzElvEyRktzuGal1GZY4beK43SzRqVOXxj/61VLa4t4FURHaz/e2Dn8D2oAkubR4rqKKRY1LEYYfdIz1q/wCILu2WZYXmU4VeY/X61BpbbbqGGRh5G/zHlxnj0qvrbLdSyGKNBGp+9jGP8TQAxpo5ZVSzDRu5CFmOQxPerusXYSyitY5EJhOGKqAS3qTWZY2omTLbyqchVGTnt+FW7iAw5YIkm5dzYOdp96AINLl8q7ed0DMAGUnsfWnyXc99IIlaP53yd4xz7GraBtNsRI8Wya56gJwvoPyqhJMIoyioS/Qgnp9KAJmt7qNGhVo5ZnfgZ3HHSrxtms7DKEi4ztk2tniq2nSpbadJcPtE8vIPouahlinmX7VE6yFR8yB8E+4FACxTIgkGSeMhicnPp7Uy1HmrJIyNzwnoT3NVXIlkZIQV3sFOTnOa2J7hreBLa3jJwAqMvU468UAbviCy0q18P6RqGkwNDdzKYZ/mLbmH8X/1q425J2u5ADHt3rrdVjmfwLYyOsmYbpgwPG0kcZNcxdwiKBmmz5pGSM9KAPPdcP8ApbZPOazKv6ud1y596oUAHajvSUvpQADrThTKdj1oAeK6bwWgN1KxUthccVzA6gV1/gpP3dw4GTwOmaAOmSNWcsNu7HBPGDUhIJAOZJR2VsAUwn5fnVNuf88UKNsg+UAkdzk4+lIZMASQDv3dQmc/rSyCUA/KxI4++F/Kmgrg5OzP8KNj+dSxRurDaqBccAnJHvmgBYpHMJLFlPQDaDSkKrANIdx5JePOakQSAHIO49GCighlU8szY5Bbk0AKyKfvMzE9AnSmRQxqx2gMQckc4FKu1xkLPyOvcfSmBAjZbzsdjsP9KABLdN5cMmP7vQE/Shp1ywMoj9ARnNMDxiRkeRHY9Ac8D60qso+6zuP9noPbJoAlLllCo24+g6fWsPxOxFuqtjIOOK2S6hiNu5cZIJ4NYXiZ8wRgIEXJ6HrQBd+ENt9o8daflchGLYHsK+t4VCqAPTOK+XfgTGG8bW5VudjfhxX1OFwox6V89mmtden+Z6mE/hfM89+LFwYvDt6F6lNv5nFfKeuEC9dRwAcV9TfFyMvouxeXeaNf1r5Z19SmpyqRzuI/Wt8pXu3Jxr0QmlWwlcFWy4bhe/1rtpo91lFHuV1K5JxyfauV0CFnYsHCGPBBboM11VrEyLMI5BJNIOw+6O+K9o80ckDzND5gOQAzqD0x0qVHMMDuqkOWyC2OpPYUz70r7QwDMIhz2HWnShmkKxgsilQAw6etADHIDrLOC7bBjIxuJ6Um8hbsRxlZAAuDycmpnkVGfeQxiYe+M9qkEAiY4DsZCZGIPU+9MBkZQSLGJS0zHL57gdqcskfnNL5oG0E4Hp0qFHUytIUOSMK2OueuKlt40t7UGQAyFcYb69KQFfIa3jaZiZJD5YXPCgnJz+FWppEW4X5hsjUkgHv2qBpRhZLlUKo4xgYO405C7MHeEh2chQe+aYDo3bY+5h5hX5mPqe1IjGMblRgI1ALk8H2xTS/l3LBQHZXAye7HrUsYQO0Tgu0Z3HPQsaQEUxtxtkCqflJCDPr1pAEdRs+RDIzMe447U/cAxld4zKEYAdQMHigO42tKRLKRuAIxszxmgBpi869SRHMaxgqzEc9uKS1EYCNGvnSSzFlz/CB3p8oW3IjdgZXy7HsBjnj1pwmQWzrFH5O1Rg9+en50AM3uYGeUOSx3Ow6YHQCtjwpIIfEdqyxcmSMD2JIzmseZJPIEVvuaUkOVk44FbXhBY38U2SSMpJmUgjPzP/hWGJ/gy9Ga0P4kfU+lV+WJSSATzWfqUoZAH4rSIGwbScisbVOrbl4xzXyb0ie1HVny9fFovFGpJGOS7gdPWrawRqQvDSADJI5P1Paqk6C58T37BYyodiN3TrVhGkQ7Y5t/zYPljg+2a+tw6/dR9Dxa38SQrsJFUON6A/Ki8D9ad5aRP5kzqjEYAXJP5U2VWkl+SUyyjq235UFIGjRjsaWVj1b39vatzIUyRnKLESvHMo6CmkIbNVJiaQYwoGB160+RpI87EB3cMZAMn6Gm2+Y8hZo0ROD8mSaAHIHkMkggjH8IYnP5VBPujXywJVjAO4qe/wBafkTzRyShmQE9AQv1pwkJUjLmMHBGzj8aQEUPleUPNPDfwnk59TQ8jtbsFiVlU4BCnIp8JYBysijA4Mi9CaSRy/mK1w5xgNhcL70wEdFZW8tJUcAEAyBRUV4yfZJikXDR5ZiDnPpmnbk8txHKrog3b3Xr7VU1WVms8I4i+blOfmFAGMqrj5j71c0lf3hwfp71SY7RzWjpSgBsg9qALze9McdSO3rT8g5xkYNMccdqBFeVsA5P0ArMuG6H06Y7VpTDjgYA6msm8XPVsDqDmgDOmbLE81Fgdu9PkOTTQcUAHakNIPyIpfxH0oABzVyw5Yn6CqY6VoacuQxFAH2N+zDYrbfDYXAOWurqRyPTb8v9K9crzj9nu3e3+FelB1272kkHuC5wa9HoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArP8AEN39h0HUbrGfJt3fHrhTWhXP/EGZYPBGuSOQqizkGT6lSBQB8YP80sjdFz2PfNMAJOCdueM/jT3wMk4wVwSKblQvznDNzk9KAEn3ZbGVOBnFRL0T5xjPU06T5m3Zxjlj+PGKft+bZndk5PGO1AxjjqydCSDihG2zbRypXJPoKJDgsBnafT9OKZIpRt33gRgflQIUSLlUYD7vJz1FOAznphRz9RROq+T8q854zQmH9mYYI9OKBitjLKwyDtb3Bpz8yKynKsSQRxjioo2xndyTwe/Gak3ohxtK89hkY+lADGfdFhk24I2n8elKI8bWUDHIwfejgJg/Mo9O2O9EUjbd/JbB4z3oAaNqou35h/F64oSQcOvALHk/TmmsQpJQHzB3HpUu1CUYAAOfz9RQAx1VWAYcljimYXcTgjaPlOelSYDMyEjHIBP8qTdkAOFYkEn1FADAXw/OVOME8EelNYBnLLwfY8ClBLcbwG4AyPSlACg4UZH3h+FIAjjKMeQBzjB4zVPUHzInygHGKuNtX+E5OMY71RuyGmPHTgUDRl6wwFrgd657vW7rrYhVcjrWHTExD0oz7UH6UnHvQIDz9aiXmXnmpO/tUcYJkJ9KAJgOnAwfWnEYAx+lNHNKo9uPagCdFUOMNkYzWpp7lWVXGFLAqSeAay4eH+bdtH61qaeV2bXIz/CjnAHvmgDobZXe3TciuiORknacVoxINu1lZR/dJyD9Kz9PlMsTOpG/umRzxWhbgBVQhzgZw6Z/KkMciqhLI23Bxnbx+Jp5ZwwwyEd/k4I+tJ+5OGChQfXofrSKGQMPLVUbphs0AKQgBwnB9BXO+LyosVxjlsAiui2hVALkjr1xiuW8ZMFhiXfuJYk0AcbccVAamuCTioaYhDxXR+EVyJ+e461zhrq/CaYtC3PLUAdBaKDJubgJxxVuzl/4mZuGBO3rjoah08AXhYLlM9KnkCNd3EcGRzlFPv2NAGgIpLuwubmIKqxrsK7eoP8AWptHvBDZSoWZo2UI0aD7wPeoIbmbTbR9mfm42HkfQipbSwf+zo76AsxJO8LxsIPT3BoA0tLthZ3EtjeQbkuMMG25G31+tZt/BHbzi4tzKTE+P3jckD0x2q4l5eXEUFwyvJ5QIHIA2+lV7aOO+uZI96qEU8AcA9aANWW0RNNkvPLM8zpuDjjy/TANZWm29xauZ3AmygZgQTjPf3pNQ1aY6Ytqsvy9Cuwda0LK7upNE8hYfObpkccUAZN9es8k6hxI5XYDHwASa0ZYbjT7O3j2rcylc7WzuB7VnafpEctxCZ5QpZizRqckY9/WtTUNQsI4H+zR3DXeOHklyF7Zx60AVtNeV9RZZAIkRd+B8pyfpVPWHe+uVjiZp5W+U55x7moYGHmPNJdFJVwpU9WPtU1zKCpGn20kURIDuxDZP+HtQAkFrCmow27s7S8E7T374ArZ1i42EBosDoFlbcFGODWJMPJvlQKEucEhh0GfaiS3ZbRFmlgYu21mYkkc0AZrI826bYvlqcABhk++PStGyBS1laYfuhymDjcafErxXix6aiTtEOZdvWrs8yS2PkXBQOG+6eCP6UAZFrfz2d3vtnCSONoUAHg+1Sq8LWfmTbxKWPmSbflJ9KguIJpbyKNk2ljgknHHrn04q3ftMXigthvVOig7lOOnFAFbS7RBdSXMkgEMYzg85PYVbv8AU1mRQYY0BGN4+9n0qxsC6GsU8Cwy7iS5ODj0ArMGmJOu6KUDHP7z5fxHrQBUkmYu8URccYyvr6V0VxbvFpFpGI4ig5Zy3OT/AFqna21s8aMJZWmDcvEMge9TalBE9gDDM7xxtlnd87j3GOuaAMqdmnlcJM0srHBO2tXTrlrPRpIoEAllJ3SMCD9B61jpdzxW8kEYKo4/h5J/HvXQIrpo6PeSRIijCRtgtjqeKAObmiPmbmO4g8Dofxq/YWj3UUjpCIlXhpAfvd6gS5tZJmfEkA5B2qGGMVpFzDo1qpUKwOVOcH3JFAGZCVt7tGUlwhPUYNQzrE3nySPIHHIXHBrQtrq2LmWeNWUDsvOfWllmium2Qxp5kpCghc459KALNvNHpVrFIsO668vKtIcgZ7gVQe9lknUvJl3+8obPP0NamvaZFA0cMcszSquDuAwD6VjiKSFld41U7TtJA5oAnW0umkkmSDanCkD5Rg9/pRHZFJCkjnYMu7Kc/hUli11clbZrhlidfn2dl/wqW7kskV4rJyEi5KydSBxxQA61liG2VbJNqHAYPlmz3INQXMlxbXHzKtv6AjofTmq8Usc7tGXYLkYJGFz6cVLra2z3Bjkctsxyv3unJoAbeu99sDxKCo3PheCarw2xa4jWNPNnLblQdB9asRRWxgiEMsrTyN5eCcKR6/hVs2cWlRTTi6YyMCiKRn6/hQAWsMG9kKFp2OXw4CA+uPaq99p9wl1Dbu8Y8wZBBBB96y5C053Kx4Od3pWxpaC0sJb+Zh5oO2JW9P7woAYbgQTvDHGfs8JAYxtyT70SSrf3qpCFSGMb37DHU5IrOmaKSZpowVkI+YFsj61asSFS8eSfa5AwAv3/AMfSgDRa+eQSiRZCr/MiD5gfT8KxJ1eeURxAK7YGDxioImYXKiQtkng9DWnYWpcz3OpvKsSH5dvJYH3oAkkRGVYphFtVMKQ2Mn696pGbyV/crHGx4+XJ5q5NBHdR4t4mgAOwb2wPxzUNqJTqkKwwJuUEkqOCR3oAtW+m28aQTLdNjdiUunAaoku/Ku3+z7jGx2gkZNSubuQTSLJGN/3lLYDEHsKz1jcgs6sHDcsDxn0oA14PEFtf6ZLo6zSPJFOHYP0HHWsjU5lcvlt59TW3ceGbLS9Gs9bs55JJr7ckqOuNrD37iuav/kRmyeATnFAHC6sVM5IJ3EnI9KomrF8xa4Y1WoAWkPTHaiigBRSj259qQdacB1oAUDkV2fg9FW0kZ2xluPWuMXrXfeFQV0hcfxMemM0Aa4PykqEDHpuOD+VSgsD8rBfouc1GqHIZoU46FjyKQD5jtHU5ZlbikMsr8y5LeZ7KoyKfCF2kplz3BXFRpJECMtyeyjJp6suSxaQD3UUASDPzZDRKBxk5zSKm9dwCc/xMev4UxmjXCptkzz84IxTimWON3vwAB9KAGy5dlDSlfTBK4qXMihcSBsd9/wB6oyWjQjDLnlmK7s1CfIkVSIhNg8uqYI/CgCWSQyL86qzZ5A6j8RTjuIwIw6jj2UVGwBIBLRAdgQCaeCcYSQnthlz/AC70ASRtIQQpj2dACOBWB4nYPEvzZZT2FbbA7AEM7n0xgYqhrETyWOxYgFGScdqANH4HSeV4ytiMEtkAfga+q13BFB9Pyr5G+Elytr41smf/AJ6AfrX1wjEj2rwM1VqyfdHpYN3p28zhPiXC02mx4HIuYufTmvlXxVGY9bmDDnef519d+PoWGjzypkeUUlyP9lhXyt8R4xH4jmZVwrMTjPvW2VW9n8ycZe5n6M2JY1ZsR5w30zXVQRJA0jySEB/ulePl61yvhzBvEDqCDnr0rrI8MYFcmWRXJAHbjpXsnnk8XlyuqojRqjbs9CTUO5pyZmkZo/M+UZxwOgp32kjz5ZSxfd5aRj1ouldY41CqkaOuF6kmgCdoFeIRblVnIcr1NMlYwzbQWJIycdcngCmOymaQgsZV5XPr7VFcvLFFMWUF2lXtn0oAtFmIZFYKsUZG4nviolZpZlY8xpGrFs9alZHAMZCujKd3PJP0qJPOZnDBRDgA49AOf1oAYrBljSTL7JDnPr2FSwyzNvMrERJuLsOoIPSoLmNzArRhUHmhid3TmhoJDDLGZQIyWd9vfjgUALFgRxs2VY/Mp6lmP+Aqby5bdSsZ2hxukdjkimxu22yGRg89OeBUNxuuITkv575GOnGeBQBYPlBHQgJEB8zgckYz1oKtJ5bSZRZSCFPUKvNMul3RxQsNoKFQobjcKknBAWVuQseAoPXnmgBLVQZmljJJIb5mXgD1qAus1wTFIWbzFLMTwAO9WDuUSFxKd3+rjRu30qG0RbX7W0cUjHIX5un/ANegCwhJnmeaSQKFOO+Qe9b3w0theeKdKRUY+XvcnGBgDrXOOEX7Q0qk7Y9hweCa9C+DNs58Rq7fKUtiNo7e9c2Mv7Cduxth/wCJE9xZcRqB+NYXiGUQ2czNgKkTNx9K6BhhQe9cF8Ub9bPwxfyg7WKbB+NfMuF7RXU9iLtqz55sHM+q3hDBQ5PzZ6c1pu3ERhkiSGPkkNjcaw9EQSNKzNj071tSybAoEiLEOF+TOR7Cvrox5YpHhSfM2xquZU+WIMzZG5jtXb9KRtoUbmQjqEhXHH1prBUc+YUYsSM5IyfTA7U+VVeIgNHvk4xGMYI6DNUIjhctuVF6ndtjGfl9yacsqeW0e+ZNpyxMfzHPai1TYrgyGVwcEqSR9MCnGIleZ3jDNzjIJ9AKAIJGGNqm6Rc4yynGPTFS+duXbJKzLjAVVOTj1FBH71vLebgckMW5pXM/7wbwflxycEe9ICJT5YDss8568/KB6YHepGdfPLzzbAcMIyM8470wM2N0rKwC/Lh8l6UCWUALGixlQMswJHtTARV+0hQysYs5OEx+VUNclcxhG3hc/Ku3gD6+tWkdvMMrLI0aDZ+7BwxrP1xcLCFQopGfmOST9KAM5j1HetPTlAV/TNZYH3c9M9a17IYhbHPNAFjgE4781FJnIFP6k5GPSo2P8Izn2oEQS4VSDg46k1jXTKxYnoOhrWnyRzzxn3NY1zKgJ+X5j69qAKLDB46UjHGaXq3vTWyeaAEBFOYDjgCmj6YpfrQACtbTRiLIHJNZXOeTzWtpy5iX3NAH3f8ACdPL+G3hxfSyj/lXWVneGoI7Xw9pkEK7Y47aNQPT5RWjQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXD/ABrfy/hprJz1RB+biu4rzj4/3gtvhxdxEZa5ljiGO3O7/wBloA+VAFZ13cgYGfY01vuDALBWPGe3aguwZsD+EgCgnYDxtfaMHs2aAEOFYADK4zjsfenOCxPI3AZO7r3700sAjE8AnjP604EbyByQpyfUUDGZ4IG1hxz6fjQSrKWclMcbT0xR0TrkHnHejhxgsCXwOO3FABjKgBgGycDP41HJIy7sbl25PA708LlDyFbIOTyOaduDu3GWKgYXqT3oEMVfmLrwCCSPU8VYIHTIUNhD9artu+XPQrndQzfvSdpbDLnsRQMkZSxjb/aKsBUZYpLI7jBwRjPHtSkozAL0DE4PGQadL8qgMMkEgj14oAa20MpVQpkTjv3pQwI3BSDu3ACiMgsg8v7oA57Ub9r527duT+NACnG4hRlOcZ6ZpjbGLkAAsdp9hSSMqsNrbWOWOO9RnAzvcGQDhTx37GkBMBtT5sEg9hnims+F6K2c9qQbi4OCDggHseKawYqoxgZyRTAcspLEleUH1rNZ90rH3rRmwsDOhIHINZqjJpAjH14/NGKx/wCVauvH9+o9qyqYhPpRR06jig0ANI9abGvzNn+dK+O2abBwT9aAJuh4pykqcjINNOO+acg6YB4oAlXLAHA69a19PjBL4AMijgHkPWVDuIOBkdz6Vu2u12jiGWCrzxhj7g0AbNrEp8sunyFc7ox0+oq+hLRqqEbxyDnhvX6VRsXVpCBweAdwIzV6CPbGQ0jYJz8q5INIZKzMMHbtQjpt3j9KbCNpPluEB6o3GPpSRfukIEwkXPJAwR+FOJA4Lu2ejFf0zQA2QEckYB/iQ5/MVyPjNszwjpwfoa6zeEciLCkD5kMR5/KuM8YSFr9QWVgq8bRjFMRzE/36j9akm+/UVAA3PFdj4aUR6apboQTmuNbsK7jR126bCpGcp0oA2bJR5ZbJKkYNSQbZZwSQucc020bbG0UY3PIB8tSWNpJNNFD8iSE7efX1zQBra0xu7O1QRbJEHIXrt96seHZkVhas7qobLbeQR6H3NRXclxZ3TKzMkyRYAUcY+vcYqKxga3bfFvCypuYEZxg8kUAXNYg+wxGaGUBHk+aEHj6irOgLAyzNe2m5n+XO3pnnjFVLdzcX4+0w5hkUrkjJI9R70y1uTbW80aSDYp/dsepAPFAD7kRw3ItYLVQIySzjnIx3+lTzS+XpCmCAiLGGkDEAd+lZ+j3uNRaW4WNoyfmLDG6ptVWxhhfy5JpN4O1M/Kv0FAEXhwrGXkulkGFLDDcnNLp7xXupPJNGot4csqEffbsKr28L2di3mOSr8BkfOD6Y9a09XlgtNFhjhgQ4wzMHyxJ659KAKbXYdpXeFWkDksFAxgfh79KW6mie9i82JUtoV3kRDBJ7A/4VSspUTSLmQmQZIKjpn8a0DHHb+G4ZCjo8z72LHkigCvprGaW7vijYUbQQ2Dk/1qkl0s6StM2yOI7VG3r16mppJBBYuIpFaORsjd1zUmkv9rgVbhQYUJll46nsBQBpxh7LRoxEYmE53j5clvx+tUYFkNrcG5kjkuWPAU8rmoLu6m8h1VYlcDOc8gegHY/SqmnRTTLIFA6A5zjPtQBO1+BGILzY0iEFDjJ+mfSrN1eCK7SWa2GUACqp2jp3x2qrc6asWPOk3Sk5CxYfA96tTlWildlkFrGewydxHSgBL7UYbzT88pIWA2ZJC+9ZttsupIwQIm3YDDsOpJqcrA2ntLG7KTxIhHT0qxo+nzfZpb1EYQqpAcLnJ9KAJWIjQraSP5bttyoxurIuDJBeGKSMpjnDDnNamnWc5UTwXEAIJJycFSO2aoX0klrqHmMC8obd83OaALOlNGsz3UuWlXhFC5APrirc8ds+my3FzLvk3DYfunPfipUguLTTcGRIpLsbyQvKg9Oe1Zjx3MMbpcrvfA2k9MD6UAVbezaVpBb7yCMlcZJFaU0uLeRzE0ZRQEWQ5OehxViXUGs9Mg3u7TyAlgmAQDx2rNtf9IvlQv8Au9mSeuO/0oAqPF5hADZc9ctjNbGm29xakXcHlqWUrHjn6moTZxTybYXCqn3nfp9B71Ne4gEYgdo3U7Y8vkj3x6UAQ3iTzztMzSeY3zHJxj3p8VrC7bIbhXlK4RZWyCe+fSh4WFkPtPmSyHO9x/Wsy0Oy4ciFzGfl4P6ZoAvRQSG4jBXDN8oVQcsfrVIgwzCIsIguQXwMt61sG5bMIuPMchxuZPupx61j3Dq1woCrGueM9x70APRoUaNixdGYD5Dgj6in6t5SXkssbFC3AQ8nB9aizE0ivLltjDaCOvNXr64dr190VvDuQL8y5+WgCDQ50tmdbpRyM5IwBU12kzxC42K6lS27P3h7j2qmx2EEjYSCVVhkYqzqudlvC58vCA7V4HPXPvQBRiiYwA2oJ6ZGOPfmtHUFmTSreJgpU5YIp5X3NVLGMG6SG3Eihz8ys3UDqTWhq98jzExcvjBUDO1R6elAGfbW8cLpJdRMwxkL0Jq1CsKK6Ws5cYwsbKe56E1nFi0h3MGUEMdvUmugsZobS0tleONhNulkJXLDPpQBiPAYZZPOG5lOMA9D6mrcl754+zhNgcjcVGAeKZczKs5Fm8gx0yPvn1qzbzLJJ9qvo18uIbEjUAZbv+VAFC6mtxKnyMdmQyhuH96vLdLcXouJJVCGLasSDg4Hf05qhcyQmZmC7lbhW6Ec9PeprCWGxUySQo0uchmyePpQASxojPNIHcMMbTxj8KQq0kojjhUll+VM8fU1FI8lzI8qgkFvvHjI9MVpWEX2e2+0u6qzrxyMBf60AbOtJIvhLQkUfKGfL56n/CuF1vIt5BkkhetdlPrFjqWkWNpbOk0MG7fg4IYn+VcX4gx9hmZT8u7aDntQBwdycymoaknOZm+tR0ABoozR2oAWl/nSCndfpQAq9ccV6H4ehkTSoPlTB5B6kV56nUdq9I0ZSNOt+CcJ1B/pQMufuycOMEdQeAalUuy4AXB/u9MVCX3Z+bb6hhmpAhLBo3we7Hv9aQD5fNWMFZ9mD0RAfzqSOU4O2RJJfVhgim5EYAVwv6ZpVWTJw8e5u+3d+tAE4WR1OW256kDrRtGMOi7RyQTk/jUcMAjXZLKx5zgHaDTiFRMgFR33DNACEeUpaMg56qOp/CmPGsmMqMgdOQVqXOM/JmQ9B0OKaS5DB4pXA6EtjNAESqTlBGmOmS5/rUhXI2gR+nHX86b5aEBWiYkc7euKXY0gICcA8gDFADmEqL+9m+UHPJ7elV7tYngYszO7DCkKRUynOSOD0OcHFJcO3l5R3QHuRnNAHN+Hp2sPEVtIMgrIMfnX2XYyCe1gkHIdA35ivizUFeC/EmckNnNfWXw01L+0vB9hPv3ME2E+44rxs4h7sZ9juwUtXE1vElp9r025hx/rImX9K+SPiIm+cSH74OGz2PQ/yr7HnQupB5/rXzB8YdH+xa7exKuEkPmR/Q8/zzXJltTlm4nRiI80bnmNi+cL0IOVNdfp91MyfPGhkiQ4kPGfYVxNu+yT5uo/CuttZLeSFzG80jSAKA2cL75r6Rankl+3ed8tIFUpiQnjuKnIIlhUuzE5ct6571DcMkcZjjUn92AzYqzhJIlmRSknAQt09KYCM0JkYFzL83TGCDSsXW5ZlOVVCcnoDSlimFhMZ3Nzgce+TTFM0y5LKiu2ARzx7UgEEXkvGzy75ZDkkfw45NJEGSJJZWIhwchepJNPdVMgjt3yUyXdz0yKai+W6Okg8qNCQzH75Pp7UASOkZDnkhjuVGIGDjvTYAdiu5/dY+Yg/fY1EkcwdSJY2AXMjn3OaWY+ZLCSyJHH8/HTnpQAx2Kyx5dgFVyCOfYYqyJkghXYHkGQgU+p71WclEkAUZJUKwHUH0pz3JKIFUs2QuX7HPSgCISKjJHsJbzXydvfHY1dEsioxEAZFUAA+pqN2LS/u9ud/lx+395qfgLcxxxyHbt3SMDn2AoAWISI5LqSzsx9AB9arzu0ht08zf8AvA7BenOcU1hMIArNI29HZuencVHYyhSk0gLN5AO0euaALGxpJbgKwWJCqjPtya9x+C2leVpc+qSr807Yj4/hFeQaFZy61e2un28ZSWVwScds8n8q+n9MsYtN023tLdQscSBQPpXmZjW5Yqkuv5HXhad3zsfcuShIGOwzXhvx51YJZ29ijfNI25h7CvZdSmEcZdjjA/Kvlnx7qZ17xdLsbMUbbVyeMCvPwFL2tdN7R1OvET9nSfdmdoyMlmCrqrHJwRknNaPnspwyxsUwN2CQKaqPIr7PKjUAYVPmJ+tTBWUbmDNg8YGxR+FfRnkiSSmKEssqszMOE6ge2ahwjjgqGJOfMcdfWpGEeHMhfJYLw3JH40iFdzFreEQICApPJoAVlSOIBNyhR0SQYPFNicho13yIpXdydxz3FMjO6fckMLbuThSMDsKkL7l3COVDn5dnPTvTAYZ4mDGB5Zc8BVGwcdabk+WzXEURUEbl3/z9acEVY8vDcP3Lsduc9sVEZVUtGINhHzSEjJx6YoAuIglkUwQiGJV+83BY+3tVe5hRVO3ylOMs4ycD2pZA0zFXfzHZcqvZR2xQU8tWCxTISgXkjrSAib5I9vm4izjcx6/QVk6ps+0DyX35yTnOR7VtzSRxGPhXdcKpYggH1zWJqzub1surkDkrjFMCq55UHr3rXs+IVHrzWLn5gT1PrW3D/qU4zxQIeOuKjckEkN+VOySMk4NMY4OBgH3oAqTswUkH5j/FWPeqWJZuo7DtWvckD5iecH8axr5snvk9aAKbc9MUnQc9aO9GOMUAJS9smk9aWgBQAe/NdN4VgW41bTIHG5JLiJGA7gsAa5lR713/AML9OOpeOfD9oCF8y7j59MHd/SgD7wijWKJI0GFQBQPYU6iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvJf2lXUeBrVSwBa9Tj/AIC1etV4f+0/Kw0/RIweGeVtvYkBaAPnttoBKsDkEr9RTSC2c5IAyPVaYAp4yQo6D+dKzKJERs5xgn0oAUfwcEAgg56UgHl5OfvcAfzFLKPmOMgHt1pIgzEhwMn0oGOLgjJxwSKYflyYSCfvDv2oCtxjjd8x9jSAsPnQc420AOXewBPKkdO/FBUGQurDhgR+IoyqsGGRgDav1oQBflXJVjznqMUAPkIWEgKxBOMfzphyHDOWL7uD/s44p8mQGBIPzAkY6Z4NNVizFQSMAEZHTmgBUTfkBQeCfTP0qFCzQkE5+bn1H0qZiWVOdrhsE9BnFBGTgcblDc+tAA2B1fI+UdcEGlHMgRiMADrSH5vMEgHJxx+lG7cyK+A6jBPofekBEoTYvTceAcfpSt86IOrDnp6dqCjKFXIZCQCPQ+uaWIoqfeIYEEZpgC7VALKdmSMdce1HQIDjg9R9adkl3QkjuCB3pmQzhQWAI3DHrSAiuiRbsSMg8H86pRJxgnFXbsDyV24Iz/niqmM98YoGjnNaIN4wHYVn1b1Vgb2TGeDVSmSJ36HFIeKO1BP5UANJwCabF93HvSufl7fWiPGwDgUASYOM09B9aYBz0p4x36UAWYwu4hQ27PHHBret4mDoEIkSXBOOCuOorCT5VXBwCcHvW9pytMC0LJuRs88GgDUgYSvI6B+APlbnIHcGtFclgF3AMM4HBz6iqcEYeMmErnPADce4Iqxb/JGEkRk29sEgfjSGTMzN9/5HA4dTjP1FObOMNhww5GNpP9KQ5ThIsDqGUZ/nTBlicxNj0PCn/wCvQAM3ygq8q+gP+NcJ4pkEmqyHcxAAHNd3LG4UL+7TPQBdwrz3X3Z9UuDJt3BsHb0oAxZD8xqP3FOf7xpKYhp5Ir0DTyRZwRKBkKCa4FRmVBjqa9CtECLE5zgLQBoWmw36MvCjA2+taLFJL6MRAHgK22s/ShmRZABuQ7ulXdMtje30jFxDICXTsM0AXIA+pX91G7uskcZC5P6Gn2sr6fbSrdPIuFxHt6EHuDVPTI5N88rTKJcE4bufQVYhMmoKIGSVoolJAB6GgC3YXkRVUmR5FVTICvBDHvVfTGkkkxIh+ySNuUORnj3qGK5bT/tAgT5nGwKwz+Oa1F0ud5Ehn8wy+UWBjwQPUYNAFW2uIX1WVnt/Nh5DLj7o7H2xVu9eA2spW2VF2/I4AOfoe4rMjf8As+KZFiuN8pKEt0f/AApl/ceXB9lMxQqMBVz8tAGh4a09Lh5Zp3RJU+dYduVb/P8AWqeuXbecbcxgbesZOAtVvD8/zH5JJfMJAVT8xqbUjBA7rIheeQ4YNksp9PrQAy0MV/bQIy7GkbaVUZGO/FWtektzIsEQZ4412qJTtC4qWxS1sbRZZoxcFeFQvhk9sj61z948jzbJYyqOxJY84/xFAFo20Utp5STttdsAbcgHufXFaNppvl6WvkyQurEEluBkelP0u0xb/a5isUaoViUDcW/DsaqNe/aHWIzRtEi/dA2Y9frQBWvLsQjfbwKVzh2YZ571d0K9MNheyPKA7DanGRiqthD/AGi7STZhtIeWYHI47Y9ana5Fxc4tApUg7UWPG38O9AFGBoLi9IkScRuNqmPjn3rR1hUsraCBZWbd85Dcfn61QmimDlSG3jAKoc8mmtFNPcqWjkIcEAMeTgUAR2rwi5/0ht8ZOSvQH8a0r4TJbSQQkrEDuVd+eDUdtpQgiafUZY4BjEcTDlvy6VXtp0ZjCO6kOyk4IzwKAK6GaKOF45U3Hkr2U1pWh+238TTuskjY3Iowc+/Y1kXzMSThY17KvGaueHoZZ7p5ILd5xCmcAfzoAl8RvLJqTlZ9wGFIHQY7VBZ3E109vaM7BWbBGQSPei7R3lZpv3a5PHTFSaRaRjUYfOP7sHLMv931/wDrUAXNctbeC6dIJ/PZeAqjLfSqVreNEY4DH5cR9U+ap768giuJhZIoBOc4ySfYnmq9pILuJjeTypMpyEGMYoAgumkad4oyfIDbj2pq6gVAeEiNkORtHJHbk1bvgrs/2cM4IBZh3qNLaJkVpwi8gCMdT9fSgCc3c5tmhkcmeRsuWb9KrmYx5W3ZUkx0Y53/AIV0NqtparMHs1kkKl4gTkKDxkn2rnVt5JbkyJEgwcHDDigCbTXu5CsTtJHG+chUJyPpS3dtuZQ8bZI+Xzf4vpUthezR3lwQxWYpsXHOPWltiscpkuVjUryrt60AOt7SzikMNys7SY3K0ZGA3brUOtxqt2peQrkBgCBke3FRtJNcQ3EcHkuuMsT1H0pbj57gTbgFZR8zc8igCFGiLP57q4yDkH5gPYGrGvQ+Rcww+YGdkBYkc5PY/hVawsZ9QuUhhwVEg+crjHuas63brbamo+0xStnkrQAyxyk0kxUJiIqGHvxmq1tLMgMEHzSOeDjLH2railjnS6aMwn90N524Kjp0rPt5HjYRxyLAOoJODj1HpQBDBZzSTiJ1ZZNwBXb0HrRq95NcyvJENsa/INp6ge1XtIcML26mlbcSUDnliPb3qjIbdJvkWQFT1OM0AV5LqSYQiXewU7Vz2qzq1t5UccK3CFgmeOAD1xVrRrWGR3u7ggxqx2IwOCfU/wCFV9VRJrgSxlcZxx6UAM0eKJ9QgS64jGXIU4zjtz71Yvke+nn53EE7OOMeuans4xZIt5PFmVz8ofnA6DIqnLdC4kV0GFzlgOM/QUARyWgtykYm3kgDcP1FXrmOO4aGzVxHGvy72OcZqCzaN71ZnhC4IXk8KfXFNmIa8UyMu1D8uwdee9AE+qeGD4TnaxSZJywEyyIPvKwzxXNeI96WAVl2qW4Ga9C+IGGutLuYoyRLaKWYnk47kV5x4pdjEmRxnFAHFOcufrTKcx5NJQAUGiigBe1OwcU3r9aUHp6UASwjLqOxNelwxhLeFWyzBQAFHFeb2S7rmNQMlmAxXpMYCALG5GP4dtAExOzaGQL7g8D8KkBHzEFmPpyKjG0AbZCSTkgHGfwp24DkyyAdjtNIZJHxwI4kY9i9OEaojCSNFU8bgeKYrYVeVfd3Yc1MfNjU+SydM4UUAO2qLcgwbgemMHNNUqzZV2hYDG0pwfrQrnI2+cjdT8nFPPzklwRjq23FAEcnOcTLuJ5UDikJVG+aQ7iOwOal8zIOBkD+IJyKYMMvyAZbrvGP8mgB7vgYAIJ7k0LEv8LEsPVqQRBfux4B4ycHI+tBZVQbVCAnAUng0AOBVg3lNHkckqcH8aY26Q7ojkjun9ahkK7jviO08EouQakLxjGN4b05UUAY+uW5lh8xlCunB969c/Z31nzLG80uSTDxsJEBPbvXmtyrPC6s6IGXGG5z+NReANZPhrxhaXMhIhLeXL/unvXJjqPtqEorc3w8+Somz68dgEwBmvKfjZoDahogvo1zPZnDepjPf8DXpVrcieJZIzlCMhh3BqO+tkuIJopF8xHUqyn+JT2r5mnVcJKSPWcbqx8NX0fk3R44PStnSJ1mRlJCuigbM7Qw/wAa2fid4Yl0HXJ7bBMRO+F+xX/PFcVbSmKTOdrCvq6FVVIJo8etDlkd8XKwpiVZAxAA9BU52yqFkwSuC208D0rCinZ7ZJQsaNkR5Q9a1wEkTCKoVmA3FuW9TWxkI8jeYkcKmO3Q7m9+KitMNHFvP8bEYOPwq1LvMuX+eJUJIHT2qvFHI8kIRdqiMMXxwDnNMCVvLgjfzNxJQ5AXufWmSCNo2aeRi0cYIAxx7Yp73blydwcrHuQEdSTjNQzxYEm58zMqq2BgLk0gHuDJBIqgSTYA2jhQaaGiV8MA+xVBVRxn/CkV3P2gJtRFIG7OCeKRIsCIrMPnwcY5wPemA53ImDBkaQMNynooAqa0Kpb/AL5AefNPr+NVpdsKPIEJldsg46jNTp5k3nxxq2XbD5HbFADvMQCPy9hk+bA6BQRTwg/cwx7iI1zIexbsKdkvL5aooijzudx04qKMFkYKWJaQsCRxj1pAPZfJt1geRQCcMFPJPpUK/wCknakSiWVCAR2XNKIsTom5S6OWYjvkdfwrqvhv4bl1zXIG2ObOJDvc9DzWdatGjBzlsi6dN1JcqPRfg34aa2ifU7yNQxGyDjoo7/jXpc8mGxxjvTreGOys1ijQKiDAArP1K4jt4HlkYKigsST0FfL1qspyc5bv+rHrwgorlWyOF+LniRNJ0GVEcC4mBRB3A7mvn3RI9wluZVLM7YHANa/xG8QP4m8TskTHyFbYg7AetQeRsgiRH2hT8pzgnFe/gcP7Cl7271Z5uJq+0npshXRgzR5/dkdlwTRJDGiISkpVx9wy9Pwp0DSNhwsgzkndxxTIkaVjLjaX4G4Z4/pXac4jTJlNsQLcAKegNSlFkZ5JY0ijQYIUZY+9OWMomEZSAMArjj3pjIdq7lzFnB3P8xPamBH8jKYVSQRL1Ltyx/wpGjJOEWfA+VEj4H1OamkWRowcloweRJ8o+lQyuwTLRtu5HDHb+GKAHSGUOiPL8pOSofO3FGI/PLFkfPDFwRx9aWAKjx5QZIxuU5HFNlfAKypPKueeAR+VACPMzIDBEYgSRvxkYHv1p0S5U+S3nc8sW2446c0EpuAt1l3yA85+6B6UwswJZ40AQbRuxgf40gHSHyiN/wBnA/5Zx43fjWDqMnmXjsCrDj7q4/SthVMr7U+yjaxYEMQSPTNYk+/7TJ5m0tnHHSmBHwXQY/KtwcKo9qx40ImVjjGfyrZA3AHjigQgIZc/zqGQjPqf0qUjaMfzqCUMRyQB6etAFG7Ix87Dnpism5k3YAUjHOTWpelQjFlyP5fSsidi+WIx2xQBXY80hPoaccdRSEe1ACDNKfSkGKM9aAHoMuPrXrHwKtpLj4o6CsYJ8qUyt7AKcmvKrcZlQDnmvdv2X7SWf4km4Rcx29pIXPpuwB+tAH1vRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXz3+09ek6no1kQMRxNMCe5Jxj/x2voSvmv8AaWlSXxhYxIcvFaDcPQlmP8jQB49g8LkHJOF/CmFgGBxkHt/OnAsvl7hnnqOh+tDA4IHO3pg9KBgRhMEEbBg49D3pBuJzz0wM/Sm5YrnggHBz2oLdUI69D6ZoEOBCAEL2BI9xQASr8jG7JxSFgvQZHUjP4UhUEyCTORz6ZFAx5TdhHOMHdn9cUSOQCrqvXrjkUMwMhx97jP0pMlmAYEEKcHqCaAGzFhISR82MZB6gUdUDhsmQHBH8qD8oIA6BjjtzSEAqqjBO4AEfnQAKQZ2KHPTcvpTiFBGdwTIHPIz3+lLGTmT+FtxHPcZpP+Wkh4GSOKABk2qS7bsH9M09iN+fXnP4U1mVvKyCfcDtTDnJAK8AcdOaQAGEauFHAwSGHelfGcPznHT3omVJAeoAPQetNYKQhAPPXmmA/JLEoOuMg84xUU7BE3hMnpz2oEjq2NuV3EkZ5FQahMyDgnk5yKQEEskkrbYlAYc4JrPnvWgkMcygOOcA1ejlLLI2efrXLXUhkndmOSTQA25ffM7A9TUPPelP4UlMQYppPrSnHpScD0oAZJnaM05MBACPxFMlp6DgdKAHgDBzmnr0PB9jTFBqVSc8np2oAsW3MiDGORmuhtIw0c0siZZmwGUdCK5+1DSOUjQMSM57jFa9hKgEa5dUYnJOeD6igDejjEj8RRsWXOCMbvcehqwCNoBwuBggyEHFVoJd8CKS567WQ4zjuPeraSIDmeMbyMh8E7qQx6AoF2swXdlWZsj8DUkjerZPQ5JAFQIyM2I2EWeqgblb/wCvT8s2UkVjjkEAigBrAlgpXK4yWiOK831Rw17ORnljjP1r0iZykZZAQNvIrzG7bdNI3qTTEUCeTSfSlJpKAJLVS93Eo6lhXoMaBVfngL+tcPoq79Uh9jXdwDKPkcZGc+lAF612x2cmcjIOcdau2LJAiTPuO5Du2nkGo9IQF5gpO1ozkA9RjpU2nW8U9o0bO/2hyFiAGQfY0AO0m7jtLK4aVVZpsFGbquD2q7ZyLZF3MreXKOnT9PWsv7LMpMHkMXhJDgDha2LVmvLYQLCJjEoAAH+cYoAqahJDLD54EiSB9qoV42e59akS68u8ixI7h4htDEj9ehq4jJcXdtbvK5kCHEYXoR2PrVfUtLumuFuLh0iZgcYHA/CgCK0uftgltLq7GFkJARM49qnknj0q0dCUaSQFmkUbmGfXPGKZpmixrYyABjKTuMqdTnsKxNSYW6S2qJL5kj4yzZJHpQBoaZcOkCSx3K7cNllTDAe/aqOnXc0949zKGdIs5mY5XPSt8adb2uhxhH2PKNjgDP4msYy232OaxtJ44SgCsX/jOevFAFqxl2aTLdujF5HO0lPlHuPespbqRykEI3kPzuGSc1HfSPbWEYmaQ4+6V+6R7dqs6JHcC3lvGaGJpeEeU/Me3SgDR1q+ZrdIIZCsZA3Ltx+vesOxs55tQECKS2f4uMCtDVbWeBLdDdfaZ3GWjQZZfSmR3U9jKHnd4JFAIBU8Y7UAT6vI8tqLaFlSNDjy146dSfU1U01tknmmcYiTltv3f8at3t4LhSzQeao+cuowxPrmk07TfPEk1usk0LEDLEIB3IPrQBA4jjkknaZ3ZSSpB+9+FT6TIk9wkyQuVQEyBnOB9MVFqNngOtson2n5vLbOz/63vTtLk8iyUQqcs/LKecCgBmtXQuJVDbUjDZ4ySRVzS5rHdG6RpFIWIznJxjpg1l6qGllQhGiBHBIxmoraIsW27AoIYk+lAFy9R727ZI4l2A4AGBmtOyurjS7NbayijE84O8k/Mev5VmaqyKcqzNu5I6c/hTor8YwgjJReWcZbHfmgCPULqUR4uQHbHy46j2qxBcPCLZIsQZwWOM5PqafptucNd3CuYYz8gCZBb39qnnubK4QPOBHJ0Lhc8+3pQBkXccpviCjB3YsAF6ir0ekqtskt1I8JkzsUDr9TVqG0LM97O5EEZxuc43n0/lWK+q3H29JS4yOFGMqBmgDeuPLhsFVMRsq7T5I3bvqawXbyp2Hlkuem/ovuDV03Jk06XG2Nt53AD7x9qsaLa211bSy3ySMycpGTgMPWgDMtb6M3EsUkgdmQKD1P6VGjp5pVCMnksTwo/wAa1p7W2mUMsqW04JAKD+E9qzjo4MbF7hA5xglscUAalvHDbFLmEo0W3BKHJz+NY9/M0ssm1VjxyK0NPEsQlsy7SRsMnaQQv4VmXWn6gj7vLXG7BdiPlFAD7eWeeIosIc42gqDmtGSzbaiXKtDEMHL8k59KSaEhN9vl3A3bsEbz+HSqT3k008JlWZZA2CZAfyxQBt2ltb2gLRN57LwQrldx+npWTeSJJLI5REG7O3HJpJX3syCMKEYjazVWuJpFgPIAUccdKALtjMzWd28CrGrEKRgk/gaoy5TDMQ+eMHkmtosLfQbSN1Z2fMhjCcD3znNRWaKu26drdFX7iEE8+v8A+ugCUaYYNM2vJGbiQByu7bsz296oW1u08nz/AOpjGXPoPrS6jcPJcn96sibdwweMelXp7WCw02MAhrhwHkBOMD0AoAoTX5c+UjAJ0QLwBSWASe/MkxSIRpuIGcuc8cVC0lqZTJ5TM5+9ngD/AArds/ItY4luEihkVS5buSeQCfSgDPup7lHfMby78EZXt9Kz5RcGdZHQrg5AIxzV6W68+5ke4idmYYDq2MZ6ZAqk0sksq5jB2MNxVeABQBc0z9001wYmfA2BW5AJ6nmpFhDMGDqqt82A2Soqvc3RcbJlPllug4x7mrFlpc+sMNOt3hga7bYjM+F/E9qANXW72C4ttPeEiXyrfy3bdznPSvPvFkm5Y8cZzxXXXWgTeGhJp96VaeJzkqc7uOv0riPE7fOv0JoA5U0dqDSliVAzwOlACUGikFADqBSUvagC9pKb7+AerivR0B2Y4PvXAeHIzJqkAABOc16BhjwTu56EigY4Oy92J7YxTiXByJFXjndzSHpzIox2ApqujZC4BH1Un86QE0KZzIHiMjdeoyKdCNu47Spz1D5z9KajDAz5IJ4wTuJ/KpVLjGwJtHUAcE/WgBQ+3kycseQckGnHKM2yMbzyFLYFNDSFtpSPaT1DHH50MmWKtE4JPJ8zr9DQA8CXIL+WWH904/8A11Gx37jI6uv9xhg/pSOiAj5Iwg4GFLH8TSBhGBt3J2AEec0AMIYkFYJQh4wj8ipSgJwUKp3J6mmiONj5n8Y5LcqKC5wHjDP3LCgBR3MMgOOkY4NBEgOH83PbHINR71lwdzO2eQTjFPchRyZgvQFT81AEbFBJhMo3csnWqOs2rSw+Zt/eJ6DqK0d0y52l2GOPNH8qaqyqmF2tu+8O+KAPVfgb4r/tLTDpV3Jm6tR8mTyU/wDrV666gqGU9OK+QNMv7nwzrtvqdk2CjZKZ6jupr6g8J+IrPX9KivrJ8qw+ZT1Vu4r5zMcP7KpzraX5nq4Wr7SNnujH+InhSHxRprQYVLlMtDIex9D7GvlrXfDl5p09ytxEySwPsZCOfrX2yyqIySAR1rwP4tajFqGteXCqKsXytgctj1x1FXllSfPydAxai4czPH9MWaAh3B2nnafWtyC4BSRwyB2GPLYcL9KtyWBeNpRtES8sO9c9JHKjecS29jwvXAr6E8k3vtCI0YkUtvUA4P8ASpZbiN0cSTNEFfauB1OKwYlcL8obzO9NaaeCVZM5Of4hnFAG7I6LMZA+5vljj/2ueTUku+Mt5zF1QFnA9ewrAaeaYiQnntjqKlgu2EbwyK8ncljQBoyKhOFUyTuS7KvRamSF2gDSFFUAAKp7en1rJe+ZWbZ+7LLtPvTUvhtVfn3I4IxyDigDaCzG42xnbtTLZGcZPQU9ZZUafeoDHoucYz0rJOoEm4dSyvLgA+mKlF2sj3fmtIXbaqnHbuaBl5i5MtudwO3JKHPT1pZpdsEhZHVEjCKoOMk1UlnaGF2clhIwIJ4yvpXQ+E9EufFd2YbOExwjG+QrkL681nUqRpR5puyLhCVR2ihvhrQb3V9XS1toinmQgM2MgV9GeEtCh8O6RBaRAEqAGbuTUfhPw3a+HrBIYBukxl5G6k1qzyj16183i8W8RK+0Vsj1aNFUlZb9Sa6lwOvFeK/Gnxl9lt20y0lG9x+8weR7V2PxB8Ww+HtJkkZw1w+RGp65r5pae41vWGu7klwz7juroy7C+1n7aey29TLFVfZx5FuyXRrNiRcTNtZ8nk4NasMaGXcWlEjnKlsdv5CpDG4kAMaM2MBsdB9KUJk7hyBwfMIX+Ve+eYDiaUCIkShTgnoM01FMchBKlc/dB+Ue1NB3IwUR5BOSGOAT35pBEYwcqecFQhHPvigCNHdXcPBGxJO0Kuc/lUboCwA2B3O4qF6fjVpWLSOFmkUkcsyAYHpRBIo3IJo/Jj+6XXGT3xQBBIhkZihn2KcMu8bfz9afIJ3jYyGQKTwnQKv1pzOvleZJFGNp4XJHXvimSKyF5HXJOGCs55/CmA9w5LBPKjKgH73So2ItyTkszLlmZTipHQSJIWCInOWVe/oTTXjZmiWJyyHu5zk/4UgIS4YY+TChThelI8h+1eTNFAgA/gUk81LI6wtiSSGRAMdQP5U92fy2IY26nGQi5Y+2aYERWMQhposRjAACYOB/jXOykGR9gIUk4zW87ssUv+kNGq8qCclvrmsD7zHIzmgCeFw7ooPAPNbG0ADnpWdZQDDMOMVf6L3oAY4JPJPtUMg4561K2d3Q9OTUL7gDjj69qBGfeEgEc5PSsaTn14Na146oOGyfT1rIlKs2VG3PagBhOKQ9Qc8UUh+93oABSmk6dKUdsUAT2g/fr+dfR/7JSH/hI9dft9kQZ/4HXznYj97+FfVP7JEKf2V4hnKDzDNEm7vjaTigD6AooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr5U/aBk/4uRejP3IY88+qivquvkL4yXpu/iTrDyKD5b+TgeigCgDiuAUzgDBzmoyo2KVAy2SWpzcjBYfMoAPvTVzvQHAAXB/OgCMksu4kEt0NPBGPnGAW+X0pvOVICkA4wfypx27XABC5IAPPFAwwNyrgZzzz0yKARsIZQxI49/Sk4wSGJ425pQoUoGIzjvQAgG6L5eGAJ5pWYhcxjORyB6UxCMkMvIwAwPekkBy/JC549j3oAVWyQncfKwPHWmsm5wzE4zyR2wODUjhSd2fvYU5Peo85JKHaQ3K/pQA93yisVyc8+9OUhuVCkEE7T257U1ixdAuQdoC8dxTlO07ZF5IK8etACfKy4PBHJHpQUQtsdeDwGPOG+tH+sHyJk8DJPelRgxIYsu4kY64NACbWUkEZIbO08de9QhwoPXGQQP0qXzAJFV+M8BvSoWDMFIbLFjkAUATEknBAxjIPcis7VCzzJscLuAPNX1ZcAEYO0nB9fasvUiBKuF4A5BNAFY5SGQlQevINc2/U9+a6a5kAsGAyCBXMnrQIb2pO+etOJ4ppH+RQAH/OKQ4x1oP0zSN7igCJ+oqcdPWoWwWHpmpjjPr2oAcuemM08BmOCDx61GgIPBqUF1bcGIoAtWmd20EFycAZxWzaTeVOgnbKFcElcg+hzWGEJ3dH285U1saawkVvKZUdQAY3HDDvQBtw5Vj5yqE38jnA9xV2KRhhUZ+DgFAGDD8apWzIAVEYSZSCwByGX1xVpygZlNu+3gkxn+hpDJiiurYV2JOSv3GFDYMZDM7KP7xIZaFQOSjB37qWbkUrMY1XzFlQdNykEfj3oAqXoUWEx8hyqoeRJ0rza4PBr0XXJFSxnO6QEx/ga84nPynNMRVo7UUZoA0vDysdTUr2Brtov+PYqeS3JPpXIeFxi9kbH3Vrr0A2xLkncc80AaER8u1kk6ZXZnODmr2lyeXbSSj55Mqu0dfXj8qglhSeKRY0YiJARj17mpbJS7LJAW8mM5O0c9KAL8N+I9Tup1csHbcSw+97Gp7NSWuL5J1tflLnbzz6fSs4Wsc+9lfyV2GVAT1Oela1tFa3Fk0t5EYZdpVvL6dPSgDkIpNUa5N1A0e5WyCoqe51fU5OJbRJJP4XyetTQI1xO8ccyxRJyzdAR6D1NTz3+wmOJAsQ4AYbs/jQBVtvEV3DD5MttIhxjMRxWX/aKNeK0iSRqh3f3ix7ZrSuNRENqSygsGDL061ajuklQO1rEYyfmbHU+goAoXeuwXEYViyDucnLfTtWfaIb55XiwVBCg5Ab3PvWnqD2sqBLezjaV2Crjqaln0uygVY5pGSUAFtnO0+nvQBdN1arCkMkoNtb4I2N+7ZvfPf2rF1XVmnnL2kTQu5xngBh9KfcWFgYWQzsQDkKsZ6+tMsdIknZLiLL4+6rZwaALtleyBJbie4hSaUbS23LgDstMtLyG4uRHetPcxE7jnohz+dKReGKWGCC2kbHDKoLJ64rFgsb6C8MieaGBy3y5oA2NeubcO8dhIy2icBCTgfTNLobC5tJcRyr5YJ3nhV9DWReSXU2fOBXHQBealk1SY20MCQRoicu7E5f60AX59RihIjgQuijkk4LN6n/AAqxPJcxabEYEit5HbLGNgS2e1c4uotbzCRVDSA7hkZB/Ctm71f7Xb2rNbqiRA7xjhmoAu2TpdPHFqV+FEb8KVzn6Gpbi+gF1JFFAiWmNqui5OfXBrmLS+kS6QxKMscKxXKqTXR3K2+m3iCdEnxgyFm4JPYYoAr3MEX2aCUyl/7wCYK1VtlSaXDggO3yAdT9farGq3ewG3AITIaNSQ21T6N3rQ0Vhp9l9suSgkkGyFXGcDu+KAGaw77FtY3xHCOQp+UH696y5I1KDDb5GbiOp7m/inSVRGqMw5YH734VUs2Iu4VBHmBh1BOPfigDRv5TFpUVsZZeuWXoB6jFZC5Y5ILKO56CunvbLzYZTEzzXCpmXII49gfSsbS7AXE6o0yxofmZmPAHrQBb0jT5ZFQzrlH+YBjjgd89hWhJJ9nt/wBwEdXYr8nJ3DsB6Uy61BbS3lW2nkeHcOGXgjGKyfDdr5XiVL6a8xlwyxLkgrnnpQBPdabfb1uTa3CgHAUoQDUKRz3NykAjKZ7ucAV7ff8AiTTpJESC+3Iw+8cgAjoefyrKvb7S7oGOV7NipLAMRkZ7g0AeWtYyQy7vtIDBcLtHapJdPklgbzLtMddo7irPj+EafFFJpIXzZTj5JN4rp/AeiWN94dN/qEUl1c5CEAFdh9Md6AOGNnPZwiUSiS3B+YKxBXPcirf2q3KESM7j7y/PnivSZtIsWyhtYwrHBBGMe3Wsi/0fR7LT5nNouQhPQkZ9aAPL7FHfUJ3Mn7rJG4dce9XruKR3VRGqIWVNuRnrWA91LHrSQWjkwSScqBgfia6u2uUh1O0jVEkZCWPy/wAVAD9cM0V4kcitE8a7duevtxVSeCSCwzIFErnPL8qPpVjUp50umlmdmZ/vKWBP/wBaqs8b3SpI7xxcfIg5yP6UAV4l3kDliMMf90dasas4kn8wRuEYApk5OKt6NDvtrmUW3mCNv9axwqjuMd6q3Fz50xM4Rgq4Hl9B6UAQWaOlxE/kmRM5ywOC3YVJLdzG6JlyrkYwen5GtXTrrcks07qyImyHeMYc/wCFZRvpLe5KTKkmSCHYZz+NAEY7kZCk4wetadpcNHb/AGfdEjEfeKd/Q4qKzuzcyTPc+Xti+ZVwBkn1HemRh7u4dzIltGeozgt9M0ARXjNO65m80qoBcDAHtV/w+pTVLRoQXHmAkquSOeeKp2MauLhwpmgRtu9jtBPv61e0aQRXtvJ5jwTGVdrRPgBc4IxQBZ8WTb/Euq7iw/eEYc5I4FebeKmAnwOy9fWvSvEgEmtahLCuY5XLZY5J968u8Uvuu5PbAoA5+jvRRQAUA0UUALSikxxzSjnrQBt+FkDaonAYAHgnFd1wMEEAD/nnziuQ8GoGvJCVJwnauwBU42gj/d4z+FAx8eT/AKtFc9Sx4pQz42lNx9SdwFMLPIMMm/HPA2n8aCuBlkb3+fj9KQE8eQ3Cop/vgVNxINyNvA6gcZ/OoYt+0bUIzycHIFObZ5oMkq5UYAJwTQBKxG0bwQoH3MdPoKbF5e0g7wR2ZTgUoBxv8hh6bWz/ADpS/IBBUd945/GgBrMy8IHCd8EEfgKjf5hj95xyxV8fhTptzKC4iCD0PX8KQglOZAy5zgjA+lADAuWAQyHA5EnNKwDMvnASN/dHykfhSq2/O5lwp5AbkfQ00nLOIyAgH3yOc+xoASaIyRgF5ogegxnP40pUA4c7icDGP60vmFEDDewxy3oPcUeYMfu5Hf8A2CvFACKypuIDIfUvuP5VHvjbG4JtJ5PepllT7yZTHBITgmmGSR5wFLBRyXwMUARywRSbsOkinjB/oaveCfEtz4M1gFt76dMcSp/Ue9VtyAFAxAxnlQahurZLgFd4ZR2U85rKtRjWg4SLp1HTlzI+kL7xRZf8I+L+D/SreWP5dh46dD6V4HqEgvdRu7lljjMr8Kv3QPasnQ/EeoeFZPs8uZtOl5aJuR9RV2S8S5mnuYkWOKRtyDFcuDwf1du5vXrqqrIl8kpZJEVXMjcjPaq1xo8rXMTLzGBlj0Iq/ah7+/8ALWLMarjeTj3zSqGScvqE7YWTaI0GTt9fevQOQyri2jtyCqtIzdQvYetRXVnAzJvE2/Iz8nauyiGnGcvJGWOwlVbkAehFULZokv2to0BgZd6ZHQ8dD7UAcndWu07YYishHBPTH+NNgtywbehjl6Hd2x1r0O6s4IbU45KqSGxyv+NYel6VJdyXLlXc9nOFJH0NAHLpZKW3D5iOD3pkNkfNJKFTn7uMYrq10mSFGZVkXafuJjI560W0KTeZ56L5vVQz9T+FAHLalpOyOzlZmxI5wMdMUtnaylsDIjY/NIR0rq7oJPawIZAsisSExn8aa9okFtF8rMXXBJ9etAGJeIVWONyGAzj1r6O+FElnN4OsjaQJEwT59o5Y+pr5o1eRobgKc8dOa9++DMyJ4YVSxxuPHYV42bW91noYHaSPQLqV+VXH1Fcz4r8R2nh7THubxgpwdq55NZvjjx7p3h62kxIJJ/4VB5Jr5617W9Q8XakZ72YrDn5FzxXDhMDLES5paROmtiI0lZbh4j1m88V6tJd3BK24PA7KKlt7eBUAEYVD90nkn8KhhhazTY8RKD+IHNWiu0eZuIYHgAjJHvX0sYqCUY7I8iUnJ3ZJEVPIwigYLEj8/Wk2xiQBJ3bPOQuQDQpjmOHaHC9A6HOKUSoEIaZnByMRxHH0FMQP8wBUb+mCzDAOfSpJgwwq7QzccgE1CypHIMApg5GewprxFNzJHNuxy2MsSaYDo/MEY3FCF5wZMUiE5GbdSQTtLSfKCe9OliVIY18pY1yBuJ+YmiWOQh0fy0jTAJY7mb2pAKsZ3ExCN3YZz5mefYUqRy5GWZXYDcWwSPbFJInmMWkCqq/KEUgAe9JiNypi34DfcxjJ9T7UwHBSUYqMpyAGGB9SKi82Jkk80b+m4qcdPSgBxhZGBySMpJ1oeSUopA8oFhjYpYmgB0UoiMgFqqhTuycNjI6VBHI0io/kMSxJ2q5zn1NWk8x5eSihTn94uCffFV3McYJ+1HecsTHn8AB0oAjumKRuX3MSuGK8kHsM44FYedp61qXzMbQmNriUEje7cAf/AF6zCNxAzkCgC9bbvs4AyN5xj1FXDzweDUa/J5KgZBHWpXA9ePWkgZG3U9zVeQ5B2gHPSp2DbguSc981C+QT0AAwSaYjNvSFzxnPQelY7kgkYFal6y5bHBI45rLcndg9cUANz+YqRJjHG67UbdxyvT6VF19qTJ5BoAcTkkmk78/pR+FKADQBc09Rljnmvrv9lSx8jwPf3mc/abwrj02KB/WvkfTVyrYOTmvtn9nawWy+FemOrZN08k59iWIx/wCO0AelUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV8Y/EmdZfiBr8qEMn2qXkchhmvs1iFUsxAAGST2r4b12bzdYv23DDzvh/fJoAoErwHAKsnJ+lMYbWABDLgtu706NWQgbyefl/Gm7sAsCCBxj+dAEcYDH5fQjPrkU6GQEhWwQw6k004CIccY6ilB2hcdBkE+1AxvykKNp3AlTmnDOFJ55z9PalbBLjoRgqw6UrEGbGAH7+4oARlYKNoxk88cgimZyMBTwcnvUhB819vTt9KUhVUlUJCnHB/SgQ1Xj3Ek5HJAIowoXO8M2Plb19qbhgwwRnJ4bocdqUj92CCB1b2zQMU7VMYDkqe2OlOdSHJ3cqAAfU9qGf96CoG7bkinDOPl2gqPmXr+IoAh2ZYYOzA3GpCy7+RlgC2R6+tNJKrG+CQMnIpQyknIXcMcjrigBvOTlkIYnHHNRSv8AvCJF2jpx2qSQqYzESMBvlJHSox8wUPtbIwT/ACoAkUnGAdykjB69qx9Qlb7Uc8MBitcAqoA6DkY/LFYl/l7uQ54zQBFfzMbBlY/hiueNbuqkCxAGOtYVAhPyoBo7U09aAFNNIOO+Kdmm8UARdZRirGCOT+tV0/1tTj/eoAco445p64Q9DmmDPfFSpGTjPTrx6UATwYdh8pwBzg+9allIVnfYN42lWKnqKyo0+fKlTgE9cZrUtYnRkcwqwUBsA43KaANmDCxoJlk8sgAMcAjjjmtEA5ILyE4HVuT9PWqFjlVk2I24f8s2wwxVwBRGAnmopP3W4waBkqx702LPuOeAT0Pp61NseMYVYh6g55qIKzAlldhjlHA5+hp0ZVVAVWVG4w5zQBmeJ2CaRMVUAuQDxXnc/C9K7vxg4XTlRXIy3II6/jXBz9AKBEFA6dKP50d6ANvwv9+c8dq68fI0A4JIxnvXL+FIwRIxHBbrXUxRs12q55xkDHX6UAb1gmFeOBmWWSEkhjwcZJqvpweKBQkmA7YYL1AqSzVJL+GIjlxzg4yMVDAIo7aQs0nno3C4yCc8UAXlWJdR+zAAwkbSGz0P8X51MySW6zxXKfLEOSDwR2qt5sb3CMo2NGo3Be/rUk6mWZ/tkrGAocEgqcdvrQBkRKY1YBsIU5B7nvVeR1twC5AAOQT0rVurWSHTBK23YznYSecGqUejQ6rLb2s90LYXDhA7n5UGepoAZY2sviF2j0iN7kqcuY1LbPrWje2t8tlDFNbusUQ2hljKirVvBqPgS/vrCzvQoYDMiD/XL/CR7VLH431mFkUXiSh2x5ckYPNAHMzObaaJmzjcM9uKsMUfL5U5OQ4rX1rxJPqdg1vMIoVclWZIgBWhpWp+H7Dw7DYTaPHdOAQ1xnazD19qAOStkea48uNygYdW4yK0bppkjgxcoFQBV2NyPfFb8OseFppjHJo1ypQAq3nche4+lV528KtctIJL+NR92I4K59AaAMW2iWKMot6gklO5m2kfTJqBLy9hlnihm3Mz7F8s7iTjtXQ6Vo+k6kQ0WrPajYxf7UmAvPAUjrVmPwjcIry6df6fcuq/u3WQD6/jQBgRG4jiDXXltsO3Y+CxPvT0fTd2b62zGQSQq4+mK1Lvwd4gj3O0ST7sMTE4Yciuc1SR9Km+y326KbHCMOPrQBcTR7G8thcWsBQuMqhfkjv1qC70e2SPeDMjYyQeQB74qy5kCQiKGQKEG1tpyap75SSSGALYGc8+tAFL7CbFw8d0In/hUgg81Jd6RM0QladCW/h3dTV+1vAL+MThWCRsAr8jJ9KstcafIXNwJPOHIIHCH6dxQBzbWF4EVXQsM7VyeMdxU2pSzyzbWg8qJQAMHcQMdM1q3E4ERa1IDIwYDZyfx9Kl+03EChbmGOQEZLdV/OgDmvtTxvDsQYBxudQePWtSz1mGDbDGRCoIzKq/OT61oC8sTDIJbNCw5DA4waiP9nThcWy/MMZ4XBoAoza0RfpK8zXBb7ykcYpZJoVkmeB5MbPuMcbCfT1FWZNGsfMj+zXZDyHHlhc80y48NzAkx3MbEDBB4wPQ0AVraRZisryI8at80ZbGfw9KNNlV9SI3CMKCwIPAqNLC4gmdIRCZQM/f4NWPC8Qsrq4k1CBirYUA9BmgC3eX80blBIs4PAIGMe+agN9eJGY2VZVI+8ByPWujextZpgbXdH6YG7IqqIwwbylnESMUbOA271PtQBFY3dtLGDG4DKo3ecBgH6VPAADvt55Q+0uTHJ8vHfA6VFcabbmzla5jJaVtqPGoO0981RTSjZTSiG6mY4AYg4YD+ooA3bbUtX+0ktfzPCACylgPocmjVbq7vtPlSW+kyAck/KG/KsBLm6sy6zxedb4wDwSB2pNVlt5dLeS0n8sjAaMsQT+FADdNhQ6PKiRCSZXL+YTgqPY9xUNmJkvkON0irn5eq/Wuet7kKzhppCAOCp4FbukSqLR7hZtsmDwy5JHtQBfnlGCXIA7hedx9aqyOD+7tdoWVtqpjnnrz6UStA1qJUkmL5+dSvH1zV7Q7eC4Et1IFVbVMZU8sT+PQUAWLhvstmtjCu5Ix8y54dj1JrDnkCt8yqg/hRe5p888eS5jctuzncenpip7B7S61OJWtC0YUnaHPJ/GgCe78v+z4Ioc4XDyk8ZY1T3qqyABFJ6Ac4PpmrOqGS4l3RReVb9scAfQ+tQWaxpFNPdgybG2xxdifU0AXhbQ29rsEZknI3O4fgHvx3rLbJViuSPf1+lOa5uEuWkT92sgyAOn4VbtZf7SvmN65EUXzMyjBIA6UAWZjHZ29vaW6livzSMRwWP8ASqV1o2q63FOmjxsZoV8yQxj7qiiW9Ejv5Ts6MeQ/BrovA1zc2Gozy2+4FrWQ8fNkgenegDnnaaC0RJ8O4UbmJ5Nef+IX3XTn3ruWZpkMjkksdxHvXB6/k3MhPTcRSY1uZdFFJTEFLSU4elAB3pe9FKKAOq8GKA8zHOMDoK6wFScb5PwPSuc8GRSfZJmQjlsYK5zXQ7guRIojx3Xp+NAx+3gEFpB9efzpI41V9wjkV/qTSLyRsMis35/lUyxvxlmZR3bmkAeUWZX3ZfPPBzUhzIvyCEgHkt1FMIdsgeW6jt0NO2ZOGEY7nbzn2oAJIsuHUqG6HDcH604EhlRmPrwMmmh+Dg7l6YC8imq6rnBbgc705oAewwSyxhn/AL3f8Ka+Hcb0TI5GTg0gVVI2iYHHBUfypATgIUcDPWXkk0ALHKqErGsUOefmBNSBs5BlH/ABg1EycY8tzk4yxwKV85wyqgH8XSgB7khckSEH0IyPrSgzFdzM5XsOg/Smq4IDO6geoPBppWMZZcnvkk4P4UAEpJADnH+4386Qum3Ea7+5RnxTWQMMBFYtzjBpGCf7X90BkwPw/wAaYEvyn5HheMnnd/8AXpVCqQqKD1PPJNN8lUizGGcdcFuKkVgFJOV9ShzSAztShV7N/PjiB9Q3IOeKkuLdmtIYogfMcYUhvT2qpezma+tbKMBmeTJI6kCt6aR7EzzyKAsMe1SBzk0wK2gNLbjf5m9oTnc3Q1ou80ivJIykyZZyMHHHr+VZyyyrHHHdRtGcAqHGM1KrLLE3ln93/FubigRpS3IuXknliRwsf8XyE8cY9ahs2jmtGeG3MB5IcuRj8T1+lYlvcOBifLRZIUj0qyk4WwjC7ih4xnGaANWzmvLyfzVnhKxDa0bcDnjNPuEvbaWG5ikglYA/cJ/HrxWMWWO6URAxow2kDtUtxcXMdnJArbYlTAxz1oA15bpJ7RJZw++RTjaffoQP51n3u1LUm0WPfjkxE5BPGPqaqaRLtiCtyi4zjv7VpNqEv2hDGiBBIHyIwKAM3TrSe0naKZZTIsYDLMMFGPJ/IVtyAEoFwwI+/wBunQUupStfX0t5NcqpEaho48DH1qjayRh3jMi/d3Jzgj1GKAOX1x0/tpkLALuGSTitqP4hXGlaWdP0ock/f/wrjvFaltSlOTkP+dXNN06ODZIXLOyg8jH5VjUoQqO81expCrKCtFkkiXd/N9q1GUyyt820nPFa9hD1MSgADoy559qRFMSuVWM57qc4pUX5MNvXJ+ZlatUklZEttu7LEUYMu4plVHPpml3Iu+WSKMZ7/epuUgi2eacN0PXP4VDujMOQ0oJOAAnBoESO7sNjxxSlueDggVIrASoivIi4J2xtuXAqFFYlkeRQx/hB28U1RFErFCoK/L+7JLmmA7zgDKRKiqpAG6MlqdLK5RcNcHByQeh9KaZGLeWs5hAIHzDJb8TT3QKJM3QRs/8APXJP4UAIzKsjKGVpcgkyD5UHtRuj3xhZsFvmYkYBAodvlIYtsYbi7qMn6UySb95HuJ3dk2A80AEcokXYGjYljnI6+9PdTK7RbVkcjBXJVVFOMnlZ8mGOOUEb3B4ApxWXcI1t3kL/ADeYsuCaAIxb7AfIWOCP+8Bk/hQ4Mcm2MTMzDKkt+Y9qaiPuAKyLEOCd+RikUo7+aSYwcjzB/Qf1oAGaKbG+ZycfNtc7c+lKVkeNkE7SYIXy1TAH401Jd/ywIUjBO0t3x3pA6rCpmmXD8BATlj6k0AV9YEax7HlJn4OxBhF/+vWPkqexxWnq3nrDGjJHHFngL1PvWZHGzS4JAHfNAGjZKz5aQ/IBwfSrWT0GT71BYriFsng9qtMcDGc/SgCFieRjHHWq07AA/wAPue1WZMn5SPrVWYjnIB4x9RQIyr1dw449SazmJY571evWbkfqfSqDHBA9KABtpA2jGBUYP407OO1KzZC4UDHpQAg5o70mPSlB7ZoA09P4hJ985r7x+EVg+m/DXw9bSY3C1WTj/aJYfzr4TskP2dAOp6V+gfg2JofCWixONrpZQqR6EIKANiiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAKOvMU0PUWBwVtpDn/gJr4duCZCzNnGc/UGvtbxpdpY+EtYuJBlVtZB+akf1r4pcuETB5GVOPrQAwEZGcbCRyD0FRrhVbK5wMEdwc9RT2HJJHy7iw9T9KZLuAlJIyRQMRlO4qMbT0zx1pnVwoIG71p7E7m8vHGDjPIxTDuwDgBlHA9s0CEX51XP3t/PuBTiC/wAxPQ8EetAPzKQvyk5A+vWnIu3ggcdPegY1s/IR/dJ4Pf8AyKVPvNjoSMjuRQmCSqbsHkA9ietLhdqscggc47c8UAIrbBhxk5BGetN2HKKBjjGfSnYyNuT8wB5PXntSITtBkypVsBuv50AGNxYsoYY7dR7U8FAi4/vdT3pisOSqrvLDBU0i/eY8lOwPagCQDaq7DyBkj3pjpjzJRySwzgdqVAfkbAz0DZ7+9M4+Xgjcx6dOtADp1R3GQS2eD0yKaoUshQAdeGp+07GG47CMgGlwj4wPlIznuDQAbRtBAORkMR7VgXDK7HruLHJ7VtMrRRuVY4z19RWE2Gk+poAra38kUa5BB56ViGtvXEYxRvj5RxmsSgQmeKTp7ilJ5ox+FACEfnTTTjx0ppbFADIseYTUwNRRck9KlHU4oAX6cVIAMcn5vamDpzmnrywwBigCzHHKV3ITiPr7CtG23I7K2WMYBDqeAP8ACqEKqZiMuik/dBwcVq2gQYEjMFGVViPvezCgDVtxITGXChuF+bv3FaEYRkO9jtJxtYZ21nwhvJVmUlVONwG44+lXopELfu5VQsOcJ8p/wNAyRFCRkkgJnloiWwfXHalZ1H/LRWYHO50/Wl/eFyCscjDqVO0n6jvT2Em0rtgVD0BzSA5nxo0nkQBnUgknC9K4qbqOa6rxgV82JVOODlcYwa5SfqKYiOgUlLQB1nhePGmGTHBfBNdJbylbtCCdy9/QVheHFK2ECsflY5xW5p6+Zduzc8nNAGrtaDX125Vlwy5HWtCzj863ePKOjZk3Y2mNs/qKxYpZZJpZ1LPJnGB6Vo6ZKVUwM3l7lPzE8UAQwIV1KSJh5u7GXB9av3+/UGTT4s7olaWQjH5VThUwRCYMrA5bg4arOmXUck93O1sHRgFYk9qAKGDeNb2wAAjyxOcfr3FVXeBDicvsLYHldfqM1ZjlaWaT7NbqjMSi5GQDnim6laKI2tHkJmQB95wDn0+lAHT3Ma+JNBZly+q2Gck/xxAcfjXAagFQQtuzh8kY6VsaLqzaXfJNGN8ZGJR6jvVS5u7DV9QuJLDcYw27YRjB7jFAFmK42kBUjdGGSrL8oqCcpJI7Elc9AvSiRzKFK46Ywox+FVIC32z7OIyXOWBzgAUAPgtp1nWQlTHKDj5skAHqR2p89ujNiXJIzjHrVqzv5IbWeQKiybgmc5IA7U1JoCwMq8v8zHPB9qAKbyzMFj6nO1Se59Ku3GntbyCKaVYyF+Yoc4qOzsZ9S1SaGB9ltCBITjkDt+NWb/8A1g35wTjcR1/GgB32kW0aLZXF3ENoBy559azb77PJL9pmZpbgEZMhyeualRgZnjzvOzKk/wAOKSSGW58m22KIy+95AuWCjr70AdifiFqMcSx7LeQADYWhAxj0xTH8d3RgTzEtCc8RNAMc9ea57WpYpZY47chYY0CLuGTis2O1muJ40G0IG3E9enfHegC5rt03iCWL91b2jo3BiXbkd+a6e1sfCf8AZlsl3eXUF7sxK/3lDf4Vi3t4VYxhY5Ih3CYGKz7iJZjlWWBCuSWBIHHSgDpRoPhy4Jjj8QOuVyA0Zwcds+lM1XSLay095l1uykiRfkRM/MK52xE66VkowLnAkPAIHYVUuhGqk3HOCAcHHHfigDofDWjan4h0i6k0+1glij4yXXk46D3q8fCOrpZ+THp0i+WuWOBnn09aw4bxrSJYbBngUnOEYjNWrrxDqqsirqdxtHA+c8CgCFdO1Cw1BRNZS524VthOM+2KgMmCyhiHBwwbrWjp3irXGlk3XryxKBuyQxA/GqukeRb+IX1HVIvt0Jff5T5Xeccc/WgCjYi2t7mdpVE87gkc8IK3dMuvPs55Z9vQRqGHUVrnVvD93cytJ4Wj3OA5aObb09vSudvJtOuYZms4HtrZpTsgVycY9zQBcmt1gjDWTqIpBypOXX6YqxaapZxukMcryt/EjfeP51kyWtu1kk66hJDMrYKgcD8euakjsYIbkvPeurgAGUD58n3oAt6qWmZvI2QRMAQzHIDDtjtU6h3jhFxGjTqv3gSazvsl0uYrbUo5oHYfKQC2R65qUiG4ZFujKjN0ByG49MUAXcW89wqiBS4HzIvBb1JrmvGFnHHBJMqlHb5FjA4B960oRa6WQ0UjbpMgsWySfSsjxVcm5hgijkSROXBBwfoaAOSXTrsrvCMF9MdauWkdxFBsYsB6AdDXX6EZmsUGNnA4k/pWpb21rcRz+bHwhxufHzH8KAOIV51gkjhaUFhhgehqzk2litsqgbm3NJ2b2roL200+HcdvrzGxAqODR47u2mkW5ZIgvzKcZGe1AHNPIyJu2MFGdze9aujQvb2E95K0bSyghY3ByFHcUl34eKvhJkYDkjcR+lWZoNQFqojto8bc787iw+tAGVNeu0LLL5mByFA4HvVq3nD6dCoZYowrMzMvLknpVQxaipCT+asPVhGnGKbeSSznzVYJInCgHBC/SgC04EMfzMjuOVX071NDJJLbTzAll2/PGg6D1rCsLZ7yRvtN0IYQMnnLH2ArbCLBbhvt7KrDaF8rk+oJFAFOCQRurgZx6c113g1biHVJpSvlILWTaceo7CuLspWFw20pujPLFgFxT511+a9iurPzBbfceUA7Bn36dKAN2SKOCxXZh2xkt3zXmOsvuu3/AN49K72+Z44drYPy5JHfivOr591w1JjRXpaKPpTEHegUlKKAHUqdRTfTmnpjIoA7nwpEP7NbeGYFs4FbiAAbXhJHX5myayfDiMNJi2KCxycM3BrXG5BlkMRPcc5pDAMpJ/dkNnGUf5qlEbHkq3+76/WmKVLYd8N24wakAfdyHZfUdfyoAR0cNuYQgnscqf0pqRR7m/1jHuFwQfYU9cPlo3BPQhzjH1ppj53iGI84LK+MUAAGDtCywN3ZqfscIcSMeeWNRL8uFO51PRiSQaEUZG4O5HTJwF/CgCRS2MBZGB6t0/L1pVk+YqGOQOjrz+dMLbVBkm2ZHCg4Bp6kHh0KjrktkGgBiRFmBZFdz1ZTnA9qkWMIgGWRvQjd+lAVAxU+YM/wqOD9MUp2q22NcZ6YGMfnQA0l42yVid+m1flNDBsbpAfYLyR9aQZVuEZj1+ZcmmuzQYy6xOx6ADFACKQwbbJLJ+G0E+1BdYcq67Xx0dtw/PtTjLk7Uct23BRik2lUONgY8nfTAYiR+YWMEWMdFbqaS4dbeMtJI4IG4g9AKU4hVncoqgdc5rl9VvbjV51srAPIpOMnqfelsCLPh+V73XZr0gmJP3aE+prq7xXGmzKJlDynbyPfpVDR9Hl0+1jiQgKpyzd2PfipLgPc6hb2sZLEKZCD6dKErA3cfeTvcWYLgOCoUBznnpwakhtkgt2hlMm9cZUkAVClrLaXYjZlEWcqrHcR74q3LD/piy28rPOw4R8bcD+tMRn3j+ZHJGE2oPTjBqCK6xHEkuUC8gnoxqxK6lWUnezHOBWjo/hHUdXQbsRQ5yMisa1eFFXkzWlRlVdomVJOkiOC4VicjDZ5pVmmETLIy78cH2NdNcfDqWIHMjFh/dNc5rPh7UtOG7DSKpzyORWNPG05u2xrPCTgrj1SSNx5UbOCoLhVJK471YaSMQ+cW8uEDPqag0++ZoyschU42sehx6Uy6txFFKi7sOPlKHI9812HKRaXex6heTm3QnHRgMdK07rZFEkm3DDBOKNN8N/ZNOeS3mX7UQZDErAce3r9Kabedo1+0KCh5Hlknn0NAHF+J1KzPJ1yAfpW3pysdMgkCBwyDDE5OKd4ltA1mf3Z46ccisXw1MFZ7aRQx6qT6UAb6sMmRQQTwMrgfgKdJJGFZS5CjBO4HOfpTdu5w4fBIwqjr9aashjc7W2sRgsxyc0DJ22KSyzqr4zu64+tKrtgSO0jtjEeQAPrUEkicL5wkaTg/uutPiLRKzyQt6BQO1IBoUS/M8s8jdTjAB9qso0xYpCNqqOdqhTn3NNKyGJS8Sxr1A4wP/r0IqEhY4JJEUYMjOAKAJAkjebt2uw+879B7c1Wg2As0iW7MmcbATuPrT28psAtwDgIjZH4mpVMrkCLEicBQCAAfU0wI0eQptFm0YJxy+Cfwp+UUOVhWM7sF2bJP0FDnbMBIyCQcYySBn370xWV9pKmdgSFGzauf8KQEQ2xRyIrM5LDhEJ/OiSWFcQmT5+C7KdpA9KmeSVwGa42IDwE+VTUYcEuIMO5+d5CvGPTFMCGVYnjAeSaCEZxGQTuqwAQh8uFvJAGwHgH3OaaAsfMLINqcELlv1psio5HnPIFI3Hklj+HagBxScK9xIyqnAXGFGKckpEbRRgSELuLHDAnPSm/usDzLd2B7SPmkT98okMYhjzhR04oAzNYJ8xSygAjOQOtUQemD1q3rHE6AlmbbySc1TDZZAMdetAG3bKqRA56jNPZhkccetNgTMQ3c08gDO4igREzY7+9U5+QwHK/3vSrhx/CABVC5wvTlj0/CgDIuRvZsNkj171TPB9at3RVmIDDI5qqcZAH40AMwTSdRil/Gnomd3zD5Rn60AR9M05RkE5HFJSqMkAUAdBoiZubJMdZE/8AQhX6IQjESAdlFfA3gCyS/wDGGgWkxOya7iRsehYV99gYAA7UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAcl8WWC/DnXiSB/o+P1FfHRZgSf4sHjNfV3x8kaP4cXm1sbpY1PvzXyhtJViMBtoyRQAgCtgryBxtbmmuSvJZc5OeOtI2SheMjLYBUDqPUUr7mVgcFSV6/zoGIcLIzP8xA4CnrQoJyeCQhx68Gg/KWYHbg7nU8gn1pANw25xk4UjsTQIiDgko5C56A+tOLFwQ3TrnPP0pJvlcbkXJIz+FIeinHViQw649KAJC/zdDxhsj6UciY7uinOfUUwNtZVU5LDninqAXV2PIHBzQMGOxkGMLnIYHIpY8SZKsysGPB7ikTHK5wDxz0zS4VXVuwYgj0oAYw+fgBdxJHvTmVQSFbGRtAJqPCk7fRucmnvnedwGCuc4oAXYApUEBuozxQ207lOVI5G3ihz8zISGHGNxoyEYsxHC5HuDSAczFTgkYK4yOxPrUaYL/fIIAwD0x6U+Ug/x4wAeO9NbaCFkIwygj86YDZmJtZip4HUDuKwYR++BPNbUyL5KgDZngnOQaxoyVlwBmkA7WAp0/tnPFcyeDWtrl0HdIl6IOfrWSTzTExtIetL+VJx/+qgAyaa7fL0NL7mmucLjNABAAA2Qd2eDUvfufrUcQxH8uc08D1zQA7OKmRtgypIJGDkdRUWBjrmngjjGcCgC7b+cctuUjaOG9Pataxy8YllBZckO4GcHsay7VS8hCZYIPl29cn271qaegDp5c/HVlxg59KANOzn2oMSmPPRgDjPo1X3ZHwrqisDySpIIqlAZMFPPxnkq6gGriv5gUPJgr2YAH8PWkMkDAcMORypI4I9jScRjcqgqe+7gfnT1O8fKQSORk5/SmyxGQHdgZGMA8GgDjfF8yyXsYQEbUwc1zE33zW/4nUJqTrngAdK56T75piG0etFKBk49eKAO40ZWFlbjgHaOnpW5YKNjkkhmBw3pgZrL0sbEQHoErX00na8igHYrfLj2oAt6Ni1ulL4aN0z7nI5FXLyFY9RgUrG6vHnA45x3rMtWCyRBgSCox9K1YJVu9QkABKxRkDGARQBLcOYdPEUCPHK5JBGNpXuMVHpYW0tTPJEWLH51yB9OPSq9qZFvzja6xfKO/J//AF1fuki+yOssZebGFAJ5/LsKAJNMuYHhuLi7iQ22D5YBxg/0rl5rgFhKHDPJlVWQ+/atO5hPlmzVmaMY4HBx796Sx0s39ybzyI1tLT92q7uCfX1oAzFjErBBtVm5JY4+orqV8PaLd+EW1HRraSLULT5L1d2QVz97Nc7qjMpB2hQOeDzWv4Q1RdLnCy73tpwRPGe4PfFAGJIYIzstxuRTyeSST2qyNlqDCoBD/wCsfvz2/CrWq2B0LxDcbQJYzGHgl6jnnP1HSsaSQvJJLI+ZGOTx1oASxSMi6SPe0auQJGH3v/r085BYHGOhwO1RWLEwyeUQUZyxweeParD20402Sf5W2j5hnB9uD1oAZodyIjqB3zB5CANp4Ip8LAHZKT5ZIJ2tz16itOCwleO1t4RHawRJ5krOwLNn/PSsu5KDeIlLgHg55NAEWnxGTXZHtomnihXcQ/HHrxU8v2mfPkqQSCP3anpV6yuV07SCz2jx3E+S8jH7wB4wPSqv2uV0RhM/qpBIxQBTjVmhjMmDIMqVzhh9alsZUtHaZ8yMEKgcjaTV6yns1txJPbIXaQks5yWX61LN/ZJVVXzED8nYxz170AZSSfaovMRWGSQBnPFNuxcC2bYsj5+Xbg1qmXTIbVodOjcyBz+9OTx6YqujMsT3MjEY+WMA9T3NAE81zILG1W42pGI8bFGSO2aZaWenXZxLJMqgbtrMPm9OazUJa2T959/kL14z0zVpreaHLtFnGDz2z/KgCNwr3CRW4C7nwFY9PoaJhh8dMcHjpT7RLJ9WhS9kcbVL4QgBj25q3LeKkn7mOOOAE9eS319aAKGjW07y3jpKvkxgFz6eg96kd2cbd4JP3cnlafpxilS8utyQbXCLCowDnuagOBERGP3jdT14oAtWEBt4p764nAAHkRx5yX7k/QCqzyI+lwMTnc5+Ucke1UUuZP7RMcasMJtZjyFBPX2rXttKDx2xmnCwoxIKHljnqKAHWscNik0t5+8mZRtjA+4ff3qKS4DMGbbnbg55Jq1cC1mlZBJcAN34Yg+vNQyafJBgRsskK/Mkmfmb8O1ACJLIUYWKSMBy2zoPp+VWbCw1UhXvpBAHXAMmSSDz/KqVhcO+pxs0kQVASxccZHTp3q1f6g05ZpZS7AY2tQA6SCzDnenmFeMu3H4Vka5c2Xn20cqiO3Xhtg5qa6mVVV1UBeAVzmsLXIXluIVRDvY4CjqRQB3WozeHx4fe40ua9+0KgCoeefWrvgfQNb1rQFuyLdIyxQtJIFP5VyekFY0CyrjjDKa1tPujNJJGkzW8IXLqpOGbtxQB0B8DarcF2kgUYz8iyrhse+aof2LdadDIr2F1GZBuCsu/OPcVk3F7cAeXFNKF3ZGXP6VZh1jVEtXtZLuZCqkEeYTj0oAz4W+2NIkMkavyvzHGD/SrD3BjhjtkgVJUIQs/8RrR8IS6JpFvdtqGmrezybSJJHJ5HU1cmvfCWoTQR3Fhd2rF+GhkJGKAMi5vRG6w2qmMKOW3ZzTpr+0lspTcojXKj92wUYP1rcXQvD0xf7LrMquxI2TLg1yFrFJfeJzpOkKt0HbYsrHaM475oAsBLC5EZms0jUrtO3g59aY1lpxAxJPG3T5XzWpqPhTXbL9zLa+aIgFDQkMGHtWXNoOqpGSthc793HyGgCEeHkuI3+znMKnHmFevr+FTq+o2Om3Gl2t+hsbj55Ig3ykjoT7024nk0+BGulltAeMHjcaxb1phIrKcKx559aAFjsLqRZCRvQgrkN1+lYz6JbKrs6OHPIOc10LnydsaEqip69+9Y97LI5GwEFjgDpxQBky6PDsykhVj69KyrmykgznBA7iukkbMYQKw2jv61m3xP2ckjmgDDNLikPWlFAC+tPj644pn86khGXAoA9G0aMx6Zbo4xuTIAHJ/Gr0e1ccS+xI3Y/Gq1ghjtYtvmFQoz+8GD/hVlGBP3nBI7NuApDHsCDltu31YYIpqiNmJiAcf9M2IfNPO6MZ8qRh/f7flUZlDvhlRmxgDpj8aAJREWIHkjgcDv+PrTPLRR86YYnG1eM0LGo2gCRgf4i2QPpTgQrld4c9cKDmmAydyrKg2xk9FIzxQsZV1aNC2e2ePrUxDqMsu7jjPzD6VCQyDIRSD1VRtx9KQDgED56MeMk8087SrDzd2ep25piHP3UZcDqw5H0NPWUhflMe703cj8qAHrlIwir16hTtpDvAAEYZM/wDLRskVEZEVCHLBj1BUhfrWPqPiK2t5DGkaygcEg8GgDaK4DNGHweco1R4Xf8jSI5PO9Q1czJ4pAYGG3we4JyD+FLHqup3r7baBEDf7P9TTA6ZvKVdr7D1JITAJrPvNVsrWNlwQ45IByCadY6W8w330rzsR9xOgrRXw3p11CcxxqOc7z835UCOMkvbzW7gQWkYAP9wYH413fhrRbbStPVyC93IMsx4/Wn2VhbaTbKSPLJBAVepHqKl81bYsWE0rEblgXqR70AJeW15Kxkj2KEUlCrZ6dayfDd1LeWs9y6iO6jJXft4IrWuInMUdzdNKi9Qi9FU9s1YK2VqBDYrvaU4CnnB96AKUaPLdwMVQSMPlBGP/AB71pL+TdLMZAN5bBCkYA9qdf2YgugySMzjrzwDUd3HOs6W3lFFZgck9c4pNpK7Gld2R0Xgfw9Bd3/n3ewD+BF6NivXbOzjjhxHGqknHFZ2i6fHZ2FvGsaq8aBcgc+9ad3IIgjN0xwR618piK8q03Jn0NKkqcFFBdQJxxhh39a5nU4bXz1FwuUY4b2966uKQSqGDfUNXD+IbjdcTqM43dBSoSfME1ocB440A6Ffw31uM2dw20kdM+tU0eJ7bZISOmG9K7LxncJP8NikpBdJgUbHSuGjtA2n23nbpWlx3x+Ne9gKrnBqXQ8nGU1GSa6lvTlkYOJMFiMRP6f4msqe/u7PXVSaQ+TIeHZcc+hrY1K0ltYLb7NKuByVByB+NJNYRXBSW4hS4aAFyhbAOff8AlXecZBeT/bLZYMAyFCNw5zXDzW80V4FjBSaH04r0O3tI4ozNZHdERnaOZE9iO4rM1Owi1EmW2/d3AwSemcetAGVZXsdxEWEQ80fK6yPyD7VYG0LyIlYjklskD0FY2oRSWVysiKRcLyT2ardhqYuS6SKsco9FFTfoyrdjQyrnb85XA+UEYA+tPA3yAK7RxKMkM+STTIvubxJukI6GMc0nyqCGUyOTkhRxk9qYixGU4d5GPdQWyMfWonWHBf5AitgKrElz70qIYjhGiIx03dPqKWR873YrIQPkwmFBoAkO0yFX8ohSCEAzj61GxLO4Y5XPypCOB+NPCyGNRuh2nlgFwBUZyedyiNM7QjcE0AO2ybsRrtZm9MgfWpMtHkBiT7AYA+lV1PyAIFOB8w3Y609gsbFcQh2XhVzkUAEZV0XzF8xUPzuFB59BTHkWSR8ylQPuRsMZFPeNeXbc+OAqjaOaYhnkEpVHTBCKAuTj60wJ1j8qBCXgaQKASTggVEZI4p4wbiONyCWKrv8AwzTZNp8kNDbuxOFjLkn8adlEI+YRvHkEx42rnsB60gGiSGOMSsUkYudgfI49cU+QPuEkpR2UZX+6ufQdzTJGEr7y6oMYLOu7CiocKzljtK52xogK7uetMChrBb7e2RggDqMZ/CqqD51I65qTUWzeyFMlQepOaZGAzoBkNnmgDbjDBAeveiTBOCcD2oZgqD264pHI3D5fxoERyEgHB+WqF0dsR7r6irs2OTyDWddDKFTwrCgDInZMnj6e1V+ufWpZzlzlSMetRcDvQA3+HNCn6Ur/AF4pB0PpQAvTNOjGWX60ypbfmRcetAHqPwTsf7Q+J/h+FSAEm84n/cBb+lfb1fH37NGnvd/E63nU4W0t5JW98jb/AOzV9g0AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeV/tGXiweB4bYg7ri6TafTbk18wttVtwIAdup7Yr6J/aekC+H9GXIybljjPbbXzqTmPYSQCuTntQAm/50yAEYkgDtScbl2c8HIPekLbW2ng45Hpx2pMqreXhg2M0DEIVomAyCckN2PNOjxt2kc5z9D2oZtqvtIw3Ix2OaFITOW+bdx78UCI3O59zYyARu/oaEygGAdo446g06YgAsVyG4YjjBHNM2lct16E84oGNT/VjBLEA9utKoUrgls8YyO+KSPITGMAjpnPWnEiNsqcgt0NACpwVYnBxnOOPpT3VhKGyccFcdx0IqFHZgMMM4weOo9KlYjygFYg4+WgCIHaCwAZTk8U8bWiUHKkDseopN37sjZhsA/Wh3Vl+6Av6g0AObYzNvRWwME/yNND4ZY2BKhdwyM0jfPjjcPXrxS9Byfm45B7UAIwLMABkKx7dqWOMEbkI2qOQR0px4Jy24Kc9OlKCGyCAP73PrSAq3BCRpkcE4z+FZSD96eK0tQ+9GMEZ5/Gs8cSP1oA5+/O66kOe9VjUty2Z3Puai/CmIb/Kjt0FJQeOtAAOtMkPHSnYqOU0APiHyCpOh4NNThADSj3H40ASIR3xUqnLYC8Zzio0xngD/Gng8YyR3AoAuWrEMjMMhTgA8ce1a9soY7eG287SOfoTWZaZUMJE8xSB8ueQexFalkpDSAMTwDjbyaANJAJPLUvsbGNki5/U1cCRmJdwjyOQY+GqtEzmMqGEjody7h1H+NWlVSql7fHfKnIB/pSGPXy2kVg5B6KwGD+NLslTJYKTnoeD+FRw7WMilG3A8ruzn86fJnax8wbCOC/FAHAeIH36pP8Ae64+brWI/LE1p6m268mJO47jznrWY3UmmIbipbVd1xGp7sP51FVjThm9g9N4oA7yJiiZXvxWtp2X0+cg7WwOenU81kLhz5fArXiY21k6uQHb5QCKALtoyXd0qyK0hVAqsg5UDvjvTVRYryfapkjBKqc7c/hUmhMIbq3mRgjdC1WxLBcXrCP53iZiGQ8sc0AVGmSJTBGDlsZYYyfWtGOV4dPUq1vjb80rHJ//AF1neRL9uRvLEkhbc6gZH0rQ1YQtas1tbiJ2GJA/r/sigDOu5xszC5eWaTvwSPXNTTyrpdrHHGqMJVP3hzu70aTMtqYri4BkWMYiQYBDY64pPKDXclzqOPLQkqFAAOaAOfjkl1GFwpIkVu/cehNWikkTru27hjIByatLcQ22zbGqtdOxGV6J0A/TNVLj5JyWwSDn60AJeeLRdS22lXduxaNiElA6A9jTTGPOCpud8kDaOtdT4Hi0fVIr3T72zjGpzHNtdZwUbHAPtXOy2klvczrdyGOaJyipjr2zQBYgsJdKtbiRLiNjMvKouSPUH0NZ6gLeWjM+47x14/A06KZ/MYnLgEAg5IP/ANei0AOoOGMm9EOBt/iPr+FADrlmkYgDy3kOFAPAFMt9kltvBR5AccH0/nTmnZyfO/1Y6L0q1DLH/ZiAwwh5SWDIMYHTHsaAKl3dSXMZWR97IMc9BVxbaOCzEUUe+ULlpGbqevA9qhsNN/tG/jMOQiLvlMo+TAPt1qW9kkhuzKGVCGG1UPH1FAGXbOWhuIWVt27IzwcVI6twyIFAGTg962Iw2sSNNey+WsY2qUUcn/apBpkKQMwuGkiC8YHIb/CgClia7kgSKXzLiX5BCFxtA75qe6s5JAy2yL5cRChN2X+v503T7ry9TTbuKohJZBzk9Caq3DZm4JJY5GOCDmgC7YS2emSpDFE0s+wgtLj5CRzgVTu5DJvZn5b+Gp/tLeeilI5Zp1KYMfKAd93rSw2hd3+03MUZX7u8fzoAg0m0s/tks87OZFxsUHBX3qV4S1wTF+8Le3el0nT44Li7muZlkIXiNG2k++DUFxcIjkxZQ9cg9aAK2lQzCS5LK4LOQVC4wRU8Uc0hd5E2oTgOB2rVgvXtdMtIH2hMeZgc7snPNRma0uGC7TbTSfdcN8q/UelADftWn2gEkVriXHOedx6d6sXjmS2ged/K35b5U+6D0xWApYyzLJh2U7Q0fIzWpqTzi8iglA8zYoTaM5HrQBA0BkVfJuzkHJUpUr6dqRYt5amE9HV8BjUIEsbuI0LS4I+btnrVyW4ltI1SCWUxkbiD3P0oAP7Kt7bymvbjzM/PJEn3VPpkUy5isFYmO1bkgjDHIqNplvH23M5RzyM/dwOxHaoknO8gIdp5P9386ANGA6chdZLJZMqDkMcg1ymvPG2ppJDGYV3cLnNb8U6IWBRB6sOdv41zWoq0moIVYMm7G48c0AdDYu+oX0Ik2MygZLKQDn1Iq5qZkjl8yG1dWTg7B8oX3p+i3phR4okAAj4YDv3yapjUpbS5dopy7Y5LcqfrQA2YZcSNIXB6jOOKs2MlnNa3CrCQwckszFtwrRa73abbXd4sEgkPCBQB7571XbyJraSSExwMSR5XRR+PagDNmkg8sNFuU8DaxyB71oW2nxQW4ub2B3dhmNBwAP7x71mJBFcWTvvGQSNg+8ffFSz3clxDEzFmGwKMHpQAwMZPNkQnCnPPU1NbTMhLW6BHJzvA5B9afAYprYx3bxxSIMxuo/8AQqptL/o4VDksSS4zzQBuWt9fWyzLDqlx54/5Z79ykex7GmReItXkV2bU5dqnGCcHPqawoVmnmSNASVXLHOABnrVm+CAokCqEX+JD1PrQBX1m7vNamjivrl3iQ5UsMj6V0j6h4cSytLf+wGdkUJxKcsQPvGualWWSEL5iqqHcC3AzSJKWVpgSqBMD1oA2NU1LRS5kXRipz93zyQPw/pXG6pKL65dtOgFtGpyVLZA/Or90RJCjqBhuhNUI1MUYZVOXJJOe3agCz4ii0q3trMafey3U7IPOJTaA3oK5q+cGFgQQKvyAFmbr2rI1KTMeAepoAzfWl70gpaACp7VQ0yZ9RUNW9NXddwg5wWHSgD0eGIGKMoI5ABw3OPyFS4ByBHAj9wSRmoo4zsU+VMRng7sEU7aS4D42j7rbcnNIY5VT/lmZTIOfkY8fnTg7MdrTSZHJR0ByPwpshlYbZCCc4Uxtt/OpUEgO0K2R1cYOaYAshYYWbbn+7yAP6U8EOCql3x1GcY/EVAyqjh+fM7qF5NChS2TuUN+GaQEyRJkeUkwbHKg/1oYqGO6WWPHZ06fjTHwQFERwOjMcfrUgyQFGdx5yTkD86AEb7vyucDozNg0xFctggRAD5nUcN+NOkkRQRK6hgffBpjugjBZXZPXqD/WgDD8T6nNCn2VJGbcPmz6Vzen6dPqE4Eakpnlq0buH7dr3kx/dZsceldzDAmlwLHFCCvHQUxGLpnhe2gk8xwXPYPzit2106EOWkbCI2MAYqytwgj3lQFjXLD1J6CmNdw2lukryxosnzMmc7T9aALMcsMUYMcLnkj5Rj8TUKWdv5Fy5OYy3Bc4YfSp47hJod8UayyuAQwO1V+tY0t1crqjtO5DbcIhX5W9xQBR8S/boTE9oWuCABmXsM/w1sab8s4ecsxdF3uv8JHT60+6kaVYxP5MS9drZ/OnW1+ul3dyJJUK4XaoG8N70ATavb3ksLiG4jeNgC24bRx2xVOFoxbOwjJBKgpngD1/nUWpajdzMsKRBUbJbsD36/j0qXStStLK98qa3ULMoy4OfrigCzc3VttZUJD4HUbiP/rVFG7vLbmRnYwsCCfTOear6rNayzhLaGRJA2PmfA21Xe4ZJDLFDwAQcnoPWpnHmi49yoS5ZKR7wl0AsNwCTDMgIOeBVh7hZE2s5OORivPPA/iaK4sRpl9IAQfkfPT2rr5opoFJGGjIyGH86+VnScJOMt0fQxmpx5kX5riFLLzGbLY6Hg1xWqyKFkZZMknjHaruoXc3lGMLgep71yepXsNrE8tzLsRfzY+gq6cLCmzN8X37y6daaYvLSSZOKo2cdx9sS2M6lYUO0nnbntVOOd7u9fULi3d1HyxIDjA961obpRbMY7Y5GCpUjOPRvf3r38JRdKGu7PFxNVVJadDQNtcnEUcii2P3mZRgDvWZdMLKFraDGZZDhsnaR6Vf0+5k1OPcRsUNuaPvxWU8afb2IkEhDAjeDhT2HpXUc5pwuv2eA248tkJDsvr7VzFzeXljqMjXYPkv0ZFz+J/lXRpE5RzLdLFkjCQnqabqNlbJbia1DvMmDgvk5z39aAKr2cGsWW55AXxwVHI+tcpqejz24aQNkIcB16iu9haC4SRYWFtdBRuwMK3HT2qqQylba6VFTGWzzu96TVxp2OItdVmjljhvyRGOrqOtbS3ERAMSgRhsghuSf61YvtBtrks9s2wEn5TyKwZLG50i5V42KdcAjKt+FCBmur7ckurSg5wvqakHmEgtuOO3DEVix65l0jvUWLDZLBeDWrHNbzhzbyZyBlg3H4CmA7chVHljdQWwDgc/hTzvXYEKqBnYu3ofU00qWkjESNlhkFjwoHtQJIcMRtfkkM4oAem+QO8oh2nucgmljJWADKoz/ANxcnFRADYzO0eCR945A+gpyMXH+jh2AIDOMDFAEiGNRtS3O8HaHaTn9akeSVIol89WDfK20njNRKfM3pFOzKpwzNGOvc5p6ugLNuk2dmUZH5UARWxaD7oBVAcMMfrxU1sszHIOVKgjcoAJPXioCflxJNNhTu2t3FIyrKoITJY/KGYE0APaSV4HL7Y1bhSEOW5pmH8vzoIN4KlQztg//AKqJYysLKrBy3RcnC/SlljeVfMa3QqBjaJDge+KAOdlYq5OMAk/LT7Nt1yhUHGRmqc0pMjAJ8oNWtJkJn25xn1oEb+Rxx19qZJ0yvWnIQSQe3rSNkk9AOlAEMhXkDr3rMu2KptGcHn6DvWk4GDyAe49azboNt4YDHegDEkxk8k803t1qe4djwVAH061W/WgBeCfwoJ7Unoc0HpQAfSp7QZnTPrUAFWrBd1wM9hmgD6H/AGUrWSTxdql0F/dRWexj6FmBH8jX1HXz5+yVZyLZ+IL4j908kUKn3UEn/wBCFfQdABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAHz9+0+5N9ocRPyGN2I7dRXhyqOjbghBBz2r2T9pu5SXxJpVurENDbkt/wACbI/lXjC/MvzZILHI/DigBeSgBXDn5efSmREEoCMNk4/DikOce2cD64oK5bKAdeuOlAA3zEhSAzEjBFJtym5Ww+DgfjTRIdxEmBhsHj9RSNglQW+bscfyoAkVvmBJ3BucdyMYpHBZDzwVxj6UyM7gBGRmnEsVDBR0w3HGKAFGAyFckHOfpTcjzBg4yc/Wmj5Y4yD27c4NOBBVSCNo43UDF43qGUhs/wAPfmg7gny4wMkBh1ol+9hTg8NjHFMXKxAEMrg8Z5BzQASIqYk5AH8sdKAwdQQ3Bo3ZjPQsDgqeM0rg4G0jHYgfpQAKQse7dggEDA4YUqqEY/MnHHPGfrTdv7znGC2AAKfGCMCTGORk/wAqABt+AHGGVvlPX8KWP5i3QMDyP8KjYLszn5cZpZBnBPUjk+ooAq6rIUKgEsazUJCSMQQMdauaqytKAnYetVZd6WMhw2MdxxQBzEhy578038KU9aQ/nQIT6UmaXrSfjQAHpUMnUipTzUUn3qALAAwOTSgc00Y4yaXHPTj1oAcvXkYq1bkMylh5m3ovqPSqygccEZqaFypJQsH6Aj0oAuW64kyBjIJTmtq3bpIFYZAO5G6Vj2CF5FRl8wZzjOPyNatpGreXsXCtkNnqMetAGrCwJAaVXHJBIGRVre4UEtImeRKPmU/lVONm8weYiFQOeeR7irMWUbEZPPPA4P8AhQMmLfLgyq3fcF4/+tUdx/qmO4EYzyuc1LEZMA71D9D0P51W1FitrK+0K20npweKQHnN0cyOfUmqHerk54Y1TpiDtV/Q13alCPQ5rPrU8NjdqIJOFVSaAOztE33JDDkdcVo3UuYSSCcyAg+mBis+EGJt45L4AH1rWgi/0OZc5Xcox1PWgC/Yw281lK005QqAUBXOT3qtoqOuosYgoYPxu+6frUkkSfZwixks4+VgemPUU7SIB9kmeRnQjlCVyD9fSgDUS4+ztInlGQ5JYwjH5GsCczXTSbxKSR0bkgHvWnpFxcRPNcwsiPCOjHg1Y0e3uZ5mnaNHlb52SX5VKn3oAJ7y2i0H5mU+WoIVk5btkHtWDdXKtpakwcueW3d63b+Fg0iyIIYV+YwnDZIHAyO1U7C0OoeSXaGOGD55HPQ46CgClflEGnxv5g25wgUAjj1pr2zzFf3ZSXbk7jjFTNbw6lqRdZ3k2sSZtuFHHCgU66URzzW+7fIFGCD1oArW7LbXcU8UYibG0sXySw7gV0+tRDxDpKapabBeQjy7iFR94Afe+tchDp8kshnE0YEWSVdsFvpRPqV/p1izaX8xlG0IRkN+FAEgMqgIGLFfmOzoKmn1JTZW6LHsnjY7pVBJYHrk1laXcXz2Ja5jaItwwf8ApUiQy+UyxyKjMudzHAAoAtpEZZDG6NO8i7Ywp6e9TfYDpyPBcrKrxnKq2Adp6U6wljisPtMrO0xXapHGD3PvUlop1ODY9wPMQEx7iBn2J9KAKUV3IkdzEsm1HCjaBziq1xMq2XKqXHTI5Ye5q7Yshs74vIdwfZheQcd81FapbvIGuQwhTG4K2S/fFAExaWGzSNHTAUBip4P+NU0nmLYRmCjnjpWuItNeOARq9qjoW3MN276j0qtfWKQwG6gvIiUGSnOCPSgCtLNHD/pB3G6ZggKDgj0xTFmVXzHnDHG/HK+taOhRL9qN+0sccdum5Mpu3k9hT728gu3kkkRWHUFFCE0AYwvJbHUbfy2yrqyksPWtK3m2zGSb59i/KDyMnoT7VDeQ6bJa+fOJ0uFGEXPDc1f1C8tlshaWMTQrwzM3VjjvQBQkkt2tJ3mVvtDHKMn6g+1ULwrertg3PJgBVRe9aNhfT2s3moclR02jn9K0tKtI4FutQ1KUPcyLlYoiBgn1oAzbWxnktVmmAjVTs/etjGPUdao3UMxYiF43I6kHt7ZrWuGe9lwSu9V3AZ+8M/pWXI8Qu44JRuy4DjplfTNAGtBdWFjawxWdsJbhwpMzZ69/pSb5POLPD5m/p8vOPY1nXcsF1fwLJGba36ARn7pHT9a154lRF+0X+9lXgIhJAoAzLhZ7fmS1mXecLI/I56ZNE0pYoscZeQjb5a8kn1FaURtRHLHdytLHKcYzwOODj26062ig0/izn/eMPvSLgn0we1AGYllfTnMdqeeAW45rWubK3sLSO2ubiZ5tnzxrgKp9PcVmzzXFrMDL50TEdVOVx68VFDL5shdm3c9epzQBfigsrSBjCu9z13HOMegrjbq5NxrDHGAST0/pXSySbA0gAJI6N6Vz9ksNxqDrKwQk/I2OAfegDdttsQEkVxgMNrxA9vWpJtOme3jkKGOOQkqSOo9RVnRbOa1uWnWBbyIDaSnzAf8A16m1W/Mlx8iGMLgBD/DQBWuRlEVnMiRDapAxnj0qTSIbXy7uW8LSrGBtiB4J9/8ACmwyx6ldRW1wf3ueJQTkDHTA61akshbKqWm1uSrbgQWI7+9ADJL+JEMRghOefud6tzR2MOim4a2iinlfCqj5IHr7Vz1wzgSHJYgdhnFWHkWS3QxYKqo3Y7UARskIhcyTts2k5C8/lWjp+9tOtzPBG9oVwu75Tx3B61kE+dexQGIYcjIzjitHWLx5roqGCwoNqqp+VR7YoAW5s7SK8DWtxKsMo2kMC2D6ZqJrC5gmYFAyxcqwIwfcA1MdRuBEtojx+SBkbgDj3+tR3beZbjcgZo/4jJyB6Ad6AKRaW9vPIVTNM3yhegzTn0+403TvJ1AFACSB/gaZpKz3Wq5SM52EopIBPerN3cvGp35Z+m2T5guPr3oAyNNSC4tpllV2USjygGwuO4NVtWuBJM5SHy0HCqvTHtVrTl2FjIVYy7nCgEbD71l3Mm6Rhzuz0NAFQMHgIydxY9qxtX+V1Ax71tIf3bt3z+VYGptm4HsKAKw/WnDrSAY69aKAF61p6Au/U7cHjDdazRkGtrwsm7VIzgnAJwKAO7Ibd8pkd/XdtAFKwwRuDB+xz8xpSoPytGxHXlaUNGThdox0LA8UDAoYwSBweu8frmmvCTtIUDB4CN+p9aQld2399Ip67WwKkWPYR5VsCfXfnFIAHDbUfzmxyM4IoiX7wWObJ+8G6fnRJG4UhbeML6h9poeJ9oDQ74/RJDxQArvcLhcBCf4jyPxpFbIYOsU2R0RTk0pCYAAKjoQ7HP4U2T7mfNUKOAADii4EizMg2hSUHUIN2z2NMdYZ920eYe5IIxSxsegdWY8gn5cD6UlxKiwsrghgCSW70AYvhiJJdfupivyoSFFdo+SrhgXXGdo7VyXgpfmuJWyQz4/Kupm83zEw4RyMcHoKYhkKHUX8pA0BbG0bsisTxD4eW/1MJFNKqR/61j0Y+ldFOLezCwLJIJ7htodTkrkdTVlYRFCoedFDg4UdXHvQBRbFrpdvZxrwq/M+77vPU1j3N2U1O2WIiSIZKOVyasCUQyytJIAGbCKe+OKZeSx22pRS3aSbGjyoVcZPY/SgC9NKGs3Z3juSOE/vEn2/pWZayG3vGjuopXt1j3YODz07dOamms3V1vVwqA8MrYZW9frVKVLldSieZnlV8BjHwW9KAL8MtvLI6uGiQH7gyR9aUaVbXF+kj3cSw7Ds2g53emOtT3VyISLFbeQSlcbiQrAn+dZN5YzW5Ro1KyKSdoBDKfrQBoXM9rYMssqCWQcADjnsagvLpru5LzrGhP8AArcYqC9tYZLVjK0iSHG9pBnDegIpRboAoYDJUbdqkj8aAIy0UbExlUOeVJIP1Uitiz8S6tZxbI7wTwj7vmZrEvoJIoUduCG+WiOydMTyOoZh0z0/CsqlGFX40aU606fws1r3xLq08bECFMDrgnFY8BNyUur5mmIPIJ4+gFOeRI1w+4ljgYpbWHYoEiyIzH8Kmnh6dPWKKnXnU3ZpwahCxaOMLazkfIGOc+wqNIZVZnlYTKTuYE4Ofp6VRjtRcziUSLuB2jIK4xV201Ce3uxasquDxGwII+hJ61uYj4pRFJIZZPISVDgqvzZp5tkYonnSzBlzIH4A98j+dR31/G80cFxaIQTltp5yO/tWnbXR1CBZ7eKNBGNhAOX/ABHpQAmnO9rdJ54RABhW+9n6n+tU9Te5+3wSoDjO7plSaivlmtcTeVIVHICkgY/vY/pUqWVxfSpJcSzRxld6gHOB2I9zQBdEvkOLy4jWSR1yyKQMA9CK5vW78wanZAM3lNk9eme2a2oo4k3pNHKWLY5HUZpYrKyvblle22wK4wjN8zf/AFqAEjlURfIcl+zDOKjjUywyWs4MjL3PIUe1aUmi20QMkMlwxTAaAnLrnv7j3rO3RQzOI0XDLxvPJNAHMazpa7X8sb1XnnqBXLzebZyDY5XPIxXqLp5SsGIYuPmyOMelcH4ghEM0kRXgcjIoAl0TWDJL5Vycs/yh+9dI2RtRHjWMHbs6E57mvPtNGb6AE4+ccmu+ZFBJDs7sRwq5/WgZbi80KcvFGidyM5FV9p+cF4SN2Bvzj68UTmMuEjt5JXJ5cjIp29SrEPIP4SqR5yfrQAqsjAhDB5QyWKHAJ+lDKhdESPzAqgggY/Id6ljV3iwILdscEHAIqMSAHc6sJGG0eXJwB356CgBkjSSKqoJMsQScDgehNK6XTI5cmKNSQWYZJH9KQzeSg8iZl246MGUfX1NIT5jqzyyT5HcFUX60ALOpiXzW5jVh04JHbArOuScO4VlyeQa0ZpI/meNoAzfKCqknI+tZE8hkjZndixY8+tAFyyZFaJTGuD1yOtXZLNEjS4MQUnO3A7VmacwaRQ3Sta5dpHBI+UDApdR9CDI5xihsDOM+tBz+FNYeoBU9vSmSRScAntWPfsi7ezY6dlrVnyvUZHseKzL4jYRtyx5xQBkyPuHX8Kj6D0p7ZVs8AioznrQA6Mbs5FEi4NLAThhnFObnr1oAiA54q5poJlY+1VTweKvaWPmcnrQB9cfsqJt8D6kf718f/QFr2uvMf2cYEh+Flg6qA0s0rsfU7yP5AV6dQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB8tftETJN8Q3RGz5VsisOmDgn+teXSkIgUjJDA5PpXcfGxt3xL1fviRVI9tgrh3LMoD43L8vTGRQAmQEUowKseVpoJikGSeMKeMg0EqShC9QQfpnrQxIHB5DYPP60AIzbnDEDcp6HuKapMRIw2wqeOuKfKgklJOBuIx9SKFBAXdkkLyevegYiD5dxAJXJOKazCJuCOOh/xpygEMB94Ke+KZGwZSCWV1/hagB5H3cZCg4zjpTcA42kAnhh60/OQT90Hlgexps25WwCN+7HP86AHMRkgnGQQeenpUbuFXuemMUudz8jlxgmkIyA2PunJ47UAEjqQNy8cnI7U0fuydwJBPBHepRyWVhz0Bx0NCK25lBBUjj60ANmQHBDYyep60KcE7wGOc+uM02QJ8gdTtYHB96Ty1OOgfbn1yKAJHKkbSudrYIHTBpSAxbBxleAajyxc9Cr8jFOCs4G5SMkgE0gMfUtou32k81Fftt0s4JwadeEtcuSMHOKrarujsQp6E0xGCetJS0n4UANzml5oPWkoARumaiPLD61KB61EOZB9aAJz6Agj1penHFBwDwvHsaBnHTigB0Y+YAnrVlV+baCQO/wD9aq6Z42jINWY1XHzHLEArQBetIWhbLLuI7AkEfWtqzDyYZTIGblcEHr61mW7MZFHmlGC8Fh0I960bTIOMqy8kFhg59M9qAL8DZjC+Y7bf4RwR+NWom6r5j7uuGx0/rVeN9h8sllI+6e4Ppmp1LudjSbgpyrMMFf8AGkMk+UtkoNp/jBAFUdXkEemTkPuG0gMOR9DV05AHmxxsvfB6e+Kx/EMhTTpgJx83G1kx37GgDhZzhWqqKsT/AHKr0xCHOa2/CqgzTMRnAFYZziui8JKD5pxySBmgDqoBm4hXJA+8fat2CGNdPuJJmZG3fIQOD7Vj2SE3pyAWHT0q/K/+lpHASUX5yDxk0ATKRPZ3RWT98kasu39QfwrQ06eGCCEThtsi7XVTjIHeqWpiE6hIYiBHJhiBxhvT860n+yyWqysAhTje3Vj6UAUrqZRcE6ZG21jnaRwQe3vWiuqyR6bdwyK1wXy24rgqfT8KhtEWa7dhNCixDeUBxz3C1WurtJmnZp3w2MIg+8PegCre3NzHBHHlmeQAAexq7ptjE1rILgtFGoyU35JHr9aasc5tkl8wi8f5VTH3F9eaQkNqCQWxBRADK7Nw1AE0slva2yixjMZyWbIx27561zt/diPVIGCjMnL7OSD6VPqtzJc6gfMkKxZOQenSp9H05bi8jeRFCvHuVs8Kfr60AQyK/nkqu8kZweeKXRru4tNVs52tpA0Mm9crkEA1LdymCONo8iZGOXHT6e9Pg1a6luZJFVsFRvYnhfQD2oA6Tx7BBffZNWs4THFc/K6KMKknofqK44Wkon8tIjlTubnI4966rw7q0dzbXGlakT9mm+ZCx+7J2OawZ7qYXU0MpDyovlqykcAHk8UAVUSQK7XYVvnIBXkEn6VBFk7yCfN7YGRWiqLE6TzMk4kyWgUbQh7E+tZ0kjyXJYKq4OBgYAoAt2V0JdGtrRIwojJ3knb8xPU45pJmtEZIIk+QH55FYnJ9eaitbhZLe5MkZe43gGQcDb9KWOO2BVVuJFHVty9B6fWgCIeY8QRvMULwocYO31qSzmUTDzl8yNT8ytyDRdSW/mgQysd6jCvzj2q+9lPZ6ZbLMyIhHmkfxHJ6460ARXN4Jd9rbSq8MKgA7do+mPWqSFpp0WNcuW2oAOuasS2liYnubOdo5FBZ1k5L+wFSabZzXUxubXasdsodnLbcE+nvQA+4gVVltbuES3BxiVXyUPtVR2mltxNJHlslC2euOM0A7brcwWTJyQTwfrUujxG8tWt7e28x1dmdYgRtH19KAKDyPG8RRfnZtgHr71bYgS7SxCjrjnJ9/Spnkijt7iBIAz4IBYZYH2qP7KzQFJbm3jcL8z84B9D70ANSRkb5SRk4LZzxUs0VrLNbpbblui295ZegApltCsenxTyXHmTtwIyhG0euao3EjnUrVTIF3kqSemKAJ/KcamkZ2sd4JYHcMHrV6/DiSYqMJ0GCOKjSdnvo4rcK0ULbiqjk+49ahut012Bb5d5OML3PpigB2YxGDg9eh7026D71M4AJA9q04dPstOgT+1AstyyDCpJkL+XQ1TvypTd55nDHgsMbR6GgBq38lrbMu5nVRkA4Iq3eTWXk2yrbhv3fzOp27iepNQaRa2s8izXb7og2wwK33sdyfSprs27gJbwxR7WJA5/KgCsyQS2zytI0W0HanXPHrXKacrC9ZsdSQDjrXRX8pS2dgsmSp3A45+ntXP6UkxLhmIyckZoA6jTL2Sxu0EcpQFTkDgE0TTTvJzsLyN075+tNsUj84FvNSZVwjkDbnuKWK1mvi/lRNtUkM78IvvmgB+jubTU5JbqMpdxgmI9h+XWojdTee5kJcsSVb3NaunR2VtaSz3we5mJ2x5yEwPQ1QNgdQd3tJ4oDGd3lyH+RoAaZTHJ+7fLbOQTx+PtVmOJHZbQxxm5xmSSJuCDzk0Wgi+zTbi32lm2PsI2sB1/CptMS2iEs0EBWVlyWlbjj0P8ASgCMWMxgkgtoobg8M0oGDFg+tZtwhRzlVUEZAY1Pb38sNx5sO7cxyCP1pUCXl9Hbxyb5iWd5nOFx/u/jQBmK+L0JGN28dux71dwIlUtnzOo74Fa63VjDA9kqRvCzZD7cOfXB7VkamrWpeXaxtnBCO7DJ+oFAEWllR583mqzTMwKtyUx3qG6kYzGN2JB+6f6Ve0OwtDBvkuDHcv8AOAR8uPT61Vvra3keZZpN6InyBDjLnpz7UAZ1hLNJdXaxNldm3g/pmqVwu35sZIGCfeprSQ2b7Nud/Abtmq+oYUk7WBY5JI4NAFI5MJYED5q568Obp+e9dFNn7MvvzzXNTHdO5680AKD/APqpO1KoABz1pO9ADhXReEELagxG3IU9TiudFdP4QjDSTucDCjFAHYIRj5Q/odwyBTy7dHuAqk8FYsj86ZEzlMkCT2ANSKxUbFRQncs+APYCkMBuZ8LIkg6A9jTdirnzEWJj/c5FEiw/LvRdvYBCf1pIsBf3axY7gkrQAJGjhlwp54OeD+dPEQh6tsX+9n5aVmHlY8rbH06bh+FIqiNiZI1IPQxjgD3FADcjdlJIpT0+cYwKA20EeSVz6jIP408YAyymQdeV/nQoVW4V0HUlMYb24oAEZYuMl2PTYn9ah1CUrZu7HBIPQfMKtK+1h5ckiA8BGXg1m64wazcgkkArkigCbwzE0Oiw8onmMWyepzWb4rur2LUbdbZ3ERYIz44zW0luqWFrEQxIVTgDqMV0qxxvolgxs48rIf3jdmPb8qYjEJeC0VXzK7EMHZduCPQVIyQ3ML3WG2RJlCOSD6/nV7WL1Y7UKzLnOFA53fT6VWjUnR5EjVjxgjp9KAK+j26uGadoz5beYWkGc+5pk8jX+tObhGMSKAnG0Yx7+tS6PcfaL2CKRSFD4Ye+an1G7Y6xdSI6mNDt3YyOBQAx0lZltrfEkQOWUc4P1PWi9SCG3BuYgOQ0TI3zAfUc1P5ksVlmJDMGwzSk7SufQd+aZbo0V9H5Wx3dSW38gHFAEVisU+50kZp5RhnkGcfh61ZmjVEMk8zOucKEHX3plzBbW7LcRP5Tr9+QvwT7ilur5buFfssQDyDG6NtwPvQBWvrRbhGnWV1t92AGUDLD1A61Mi20caxyBnl27nIXcFJrREds1lHFNblhHx83QE+pHrVbTbQWxJyirnKqTnIPrQBz2qac0zwyQctuw3mSdB9PStay06GYETS+VKoJC5+Vh7GrN+LR7hGyu2MjII5Y+lQ6hasxjuJCwiL4Ai5BHv8A/WoApajoi4aWJ2Yr90jB5FRNaSNZ+c7bMjKqx6H2Fb39mspD72LgZG3PHtWcYZJpPndlEWW7FiO340AULO3uHtTHcylIwNwULks31oNmJzEd6xupBUsD1qlP4hSwv0iW43ENj5+g+tdI0jXtp8ux94yGY5HPUUAU/wCz7i/aS7uYokmX5QM4GB6AdaiiiW2uA5MUc2MMoO4NWxYObVES+AEKrgKBg02W1t0LSW8RcON2C3OTn/OKAMeC6KmVJIpkUZx83OCf6VbtxbXAASeQyR5Z+SDx3B9quw6fCG3NjzFHBPRffIqnch4Zd84FxZj52ZVG9O3bqKAH38kUZja3jZ7jG5d5yGHvVPTryJo57y4G65P3FA+62ehqvqEKS3kH2eQtFJnYoY5wPbtUt3ZlYhLFKPl/5ZsNrsKAJnZ4CzvPIbh8E4ONp/wrndI+2ya9O12xaJWDfn3NdIUE0USRPsLA7hJyQe+au3EERngW2hSOVYdryLgBuevvQBXd08nIK+YeTxj9K4fxQCZ0c/xA12N4skaskm1yeQwQ4auM8Tsxukyu0BcUAYukKh1SEMcKG5NdxEu7f5UwfIwAWwB71xvh1Gk1VQM5APRc/pXYsm99oVWcfLt25x70DJSzFWijYwRgbctzk9+lB3C3HlOIoU/iVsk/h3ph2qhhjLogGNyxkt75p0RVxHvYMQnLMdpGfagBCqytmQiZtvDEbVT64qWCQhVCfZXAGQDniqojPn4V0kxySx3c+wFTxSA3GQIxkc7VIAwOlAEisXh3F41XOdscfGfTJpjSXGVklU5JwBGQFHp9ab95lOXGAdiIvr3PoKSCN97eWWlKgLnHAPf2FAA2f3buVO3JGflz7msObBy+8ZYnitmUzCCXzGfYP4gQcDtxWAxyaANHTYwImkbJ9OavA7VVaz7MEW+MgEkVosR0x9KAGkdz0HpSEnb/AI07jOB0NNfjjvQIr3G4dDwR0rIvJGzwucd/eteQbgcdMYOev1rEvV2ycfQAHNAFCQ7m5XbTCSBinEHvz2phJ5oAkh+5n1p4702HhB15qUldo4wRQBETkVoaaCYmPfNZ5HNaemD93x3NAH3H8EbI2Pww0JGIJkh876biT/Wu5rF8FWP9meEdGsw27ybSNc+vyitqgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD4q+I1xJP421mV23N9qcc+gYj+lc87nrncA3GOorX8bPnxfrDchjdy/+hGsRWwSTtKgYbPf3oAQSBug56H3FPUCRME/KRtPqKYVIQqp6sMEUAv5uHxhuuR3FACknLB8FcgHA5+tCocuNuCw/SgncUPy4wRk+uaXYwkGMqVA4OcGgYoQE7mXnAJB9KY/zKXGT6g9qFJUkr8oAI2uOMZoOUY559MdMelAgzuMhZgQwzjGKMgsxYfLzxj8qY23qrbsgnB7e1P3FTtfG8AEHGKAAEBQfvDI5U9iKF3GNtj5YrgrSFdpbeoAHzcdCM8Ypo3BwqYPOOaBisNz5IcFsE+xpV/i4JU8464NKxUqqsxBznHofSnLgPuQNmgCI42cMMqdwz3H0pxVSyYwAR+RppCPL8zOvII4obeGZeCp6ZHcGgQjBH4UgNjIBHU0oYCN+SQMkdyp9KIUVjllCkenWkO5STtIyMkZ4NAzFlO+RjnkmoNdb/RolIwau/ZmMnHTNUPEa+W0UftmgDEP0pvPanGm/lQIQ8UnNB6UdutADT37471EnMlSNgCmRcuT0FAE4PHU07GQOelNHTrSqeORQBMg44xmpYQdwfJAU/UVABk96uxbFkIMwKlepHGfQigDRjBdVQuflbPTIJrailIh3sgLjhsd/qKyLad5TCqD95t2tgAjA6Ee9aVuxZ9+HR16hhkHPagZfjQpjYHjBOcfeX6VIQ6qwlDkrztMfGKjjO1AjgOh45B5H17VIsY24CTAjkFH5H50gBOmSzKBxkLjisTxTMRp5QybskYGMcVuiRxIFeR0bsWTrXOeMGIt4h8pyx+YDGaYHHXH3etQVPcdB6VBQIRq6nwkgEBc/wB6uUNdl4cTbpYYDnk0AdNpALmRjnqSBjrUmnyo12zuhYE4Az+VM0td5jiAySpyc47VLpUI88My7sMQARkZoAtyQw3mqKiMyKi4YnpmrKRw/ZLh7yNiFIWPY2AT61Xu4xDd7IjtG4FsHJAPetO9sLe/S1+yykzuu9gzYBIoAr6Zaw24IuASCdwGSGcHqBTrnUVknmntLZIo4yI1PAIwMcCoLx5pJIoIznywQz45A96saRpdvdRvLJNujjbAUHAz6k0AP0t0t4prjUYHaSQFkaVcr+FUft7XE11dpCArnBJ4rT1e3VbMXFud0YXaWaQ4OfQVz6ZjiiDqxc/dTooU9zQBPDDLMs15cRM0bjYueP1NSzu9qIswDymHEZPGccc1rswitrWLd8oYb2IBPToueK53xDPNfzvKSBFxtydpIBx+dAFbTS1xFLE55DFsDtSwARx3WVXcGAIb09ak0+xjhke6leVJHTKxAdRnqT70wTW5lkkU7VJwR6/XNAEYR5IzvAQsCvT9aveAfDumRS382vapNbmP5Ytg3CTPf8KimnEwADPKoUAH+7SRwyrCB3YnpzmgDqz4e09nl/s/xDbMCB8sy4OKrP4QTy2aTWLHZn+B8kj6Vy00bQgzhkHRdjHk/Sr7l7SGNA0YfqzKQc5oAq+HLLVNY1K/t9FsZJreAHzTH8wyPc1Nd6XdW0hiuLWeEhckMhyafZazd6fdIunF4ZJT+88klTJ+XWttvFHiGCI/vGkGNn75VIxQBh22lRzn7RKJh5Z2qpXBLdc49KivLp7tR5sm91BBBOWA6Ct4eNNWkQK7w7iu0sYgD+BrN8I2ejRXep3/AIne5kZzthMIwDnrQBlRiRSqxfNK3GD0Bq7bSm00T7OrncXJcKc5b1rp7U+CyhfdqOHjKHn7retZ0dj4TUmNdSvk77Xj5z7UAc3uZwFVQXJ4z3PpWjA0+k6dNBHOAtw25gnUexP9Kqpp9zqnjS303w+3+jMeHuMAcDrmuluvA+vx3GBBBMigktHMCCB6e9AHHzzOiyOpcOFPI9Ks2syLDBI0QCqg2gj7zevvV/VPDWrQwNnT52Zhn5RmqF1OsU0cV8htplUKsRUrQBNe373suZmXfjIAGMdqqX0Xmm3itoD9rdgM7s5X+lQ3G6OeMxKN5bAJPAq5Grwm5ebBn2gLsbgZ6/WgCTR4VTW9szNCkcZ3spyfwNWna2g/484grnILE/vPzFZulySs91tiMgGAWUZIJqzE4L5Tlj17Eeo9qAHiziCbzcsCW+YOu4AeuaIreaW8MFp5bx8nc/CjjuDVZo1MvzFxCACxHG41YZ9xVI8qB0A54NAEt0t0qbYbdJRGFDGEDp3qkHC3CxyxSQk84cc805BIm7a5xjtV6OeONSk8aXBcY3Ny20dvagDM1lXW1ZmwEIwu3pn6VieG1Z9ReOQ4V+shHCcd61vE5jFpEsGUUfeBP+eapeF2JS5YHljjnuB/WgDcmWxjmhh+eSMuP3xYjHrgVpa1qDBTbWhjFsijbtGM/wD16oW+nJdSL9pzFBt3FgcVHcRARZDiQA8HP3vegBVVhapGkzPI7nMY5Ck9qivl+yWx811DAcKp4/Gn6OkqJcXERdYxwGOOp68elOmtYnt2a9bzGxiOOMd/f0oAkgit7fRbSa1wbh0Pmc9eaoSboninHzRE7GXd0z3xV21Ea6egSN92Djn36Gm6cGkl2qQiHO9zgkAdcZ9aAK0wS2BDHAHI2n8qu2miTRgzZX7VKNyx85Cnpmo7u3gj1G1jTJtpnGVZsYA7Zp97ezR3c8kDusZbaAW3ZHYUAUZohDK4kDKV4KnqGqUWo1CZbdnSOMDc0jnoo9PeqtxP/pshljbDANnNWYIgkfmyrl2GcZ6UAS30f2FxAmXiPKy46iqMiKEJTliRyTxinXs4igfbJIQQV4z09KSSNYNMiaSTO/JVAOUHbNAGT5Zlt1Kje0cvI61BqEpnZi42t021Z01wtrPkguzbhz0zWfPkOwJ/GgCvOf3Q3ZOBXNscux9TXQXKlLY4OTzXOjvQA8dBS0n50vegBRxXX+DEPlTscqmR8w6iuRHNdt4QCrZMTtDbupz/ACoA6BOc5mlJHOVHP0qQtswrc5/vIOKMybfmMbN1H09aFbd/yxIz1K4JP50hiuMr+437x95Q4ORTN0bffZC/90nO2pCwwF2FcfxYAP44pSQq4Bh2f7Z4FAAjM7hk2kD+JQV/KkwAzFTHG/d2UnNAZpDtM0b8Z2AZApzMdvIeNPQEGgA3uCGeVnVe68KaaHiaTc+9T/CdvH5ilPyjasYwf4VcH9KUSzAsPMhTb/CUB/lQAuWY7xGMdst1H07Vla3C62bZt2iBYDcr5U81oyv5wGURwvY8flWVqAZp4Y+YkZ1ym7IoA3rUThQjbWLYAI649KjOsRyXkNhJPgwksidPmzUkJlaQeVh9uPwJqFtBXSdeluNSZnlZPlGM8kZ6UxGoltHca0iyl5FUbpAcADI6D3rOuzIbiS3iZkiPID9dvoamtHaCWXesyzOQwYjPHoRUOqSoXtbkSMJOVKlMA0ANtoYcF4jIs6tksgyT7YpliDcSzznIAkJBK9T24q1pW+WZZI1wwJxz8xJ7/Sp7RS8jtKyN5bMTgcE5oAvMyJCrFSWUBRkdfX/9dU9Q1Gz0vT8THcX5OD+g9azvFGvw2kKhHBuCOYx2rj1tb7WB59yW2E4XPSgBmsaneasTHBlbfoD7V0fhq1Gn21tErFvMy7Nu61v6VoVrDYwLdZzkbIwuM+tY2t2K+H7wSSK0kDn5MHIUGgDaa48y5AkGbYHj0+pHerciDdJcwOjsE3fMuFYHuB7VTiu/tUEUsGCw5I25B4qS7mkUs8YEcLxgHK8N9BQBPo+nRzRzzPOC+eN3PPc49asX175NqseQq4+XPR/p6Cq0dpM5V1kUXLqD8h4HsR60/ULiK0jU6gVVkTaFCg496ALZmewtTcySKsxXJBP+eK4W7v7zW7mSHTRtBP7yXOBRJd33im9SztNwts4Zz6V1scWn+H9PNtaqDOwONvJ9yTQBy+meE/N0+YzwM9yo3qR/Ec1Z0edXaO1kLJIhO4DjvWzDqcsNuotnU3RJZwP4V/z2rH1yxuNNddRt/wB4XGZCrdc9eO1AGwczeWhV/NbIVc8/XNVrqCdZIhBvVn5ZW/i9/rS6TI9+nmQxmGQoDuY9u54pY7ZU1BGvZvNVMsh3EAmgCf8AtJIGU3QeCWIEkMM7/TNQ2989w+1IYxE2WzIuBg96n+0288xjuGXYVxnb90jpVSSCSO6juLWMCMLtKk43Dqc+xoAytGaO0vHe4lD7JSflTJ56fStm4mmujI0LR4bkGQ9fQg9qy7e5t5Zo5kWKAkt5hZM7s9hVmF7aVmiSASNEzbZDwrDtmgBJ2uIpGiuGCuqZkdOn0NWbS5eUuYsSDAGF+YkCs/WNQmd5YMh38rEgVePb8qd4KRYNPy0skb7jz1IHc4oA1Dfsqs1xvXB+RNuQT7mvP/FD5v5PQDpXol3MgnEUTGQk9NgAxXmnieQPfz46bsUAR+FlLX0rDPCH7rYP4V1211jAjQxgjnc2M1ynhNU82d5M4CjtmuoKbUV2iXYP4nBzQBLuljGI5AAvLKJCw9ucUwx7/lPlSbly204zz05pkbJjbG8SbiSSoPWlO0OjNLGDuHJHP1oGPDp5jCKxKOBtwX25pX3qm8JIDGcZDbgKjdo5GGAs2HwzdOtPRI1ZQgcLycI3U0ALlUjJkmKs2RhyfwzTXQSW4CzuqADCKMbjSq0jHAIdsYVGOQv1NIqZYR+XHPJ0OxiAMf1oArXkzi1cL5oTAACLhR9axu9bN7vSxbCSIh6jzMgVjc5AHJoEX7RWHlEZIJ4xWnznJxWbaKUKbieTxitFmzwKBjTwchaa+0rtOef0p+4AUxjhcHGfWgRUvGwpBbB9PWsO9Mmfmxz3Hetm7HBJA45ye1Ydy6k8A4PPNAFYngj3zTG6dacTwQDxTT0IoAnQnYBTuWxjkAU1eBj0FGTk4NABkDmtvRLdp5baGMFnldVUepJwKwj0967DwKm7xNoikf8AL3D/AOhigD740+Mw2FtGwwyRKpH0AqxRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABUV4xS0mdTgqjEflUtZfim7Nj4b1S6UZMNtI4H0U0AfEOpySXN9cSltzlmY59SSapnMbZVAEIqxcL+9ZwAQR/OoFcoUHzNgHgjp60AJsA4BO0tjr0p7k88kEj1689qhjcNtOCcEdP8ACpNvytg9s4bqDmgBzqm0fxK3P4nvS4wjiRiNq4HPb1pG2bQ2PugZx9aQgNEy9cHv2BoAk8tiRgg7hggnOe/51G7Iyhl6o3Kj3pNuJiMkYIIz19MUvKYYph1blh1xQAgdTvUFefu44I5p6BmBEnOQRkdRjmkkIyzD7pPHbPtTWYiTOSoBODmgBcbnO0gKVyB0zSAqRlgD056f5NSBwCm4AEHac85BpgG5gF4OMZ6jNAxxO5gSPl9eDSxEeWU3ZwR14xTQoVvlJ2nt6GnNllwAAw657+1AEWMKP7pJB7kUrHPO4AKQd2KMtG4yMg4bA/WhVJXgcdMH0zQAbHVicgLgDnng03adjh+cDoODSOQBkkqxAwAeCM1IOfnjDblOOvagDPaFo98iSAhOcd6xNXuFuyjAEOOuRXTXakxvkA5bsORVCa0TnKDkelIDknUqwzxTatahgXDgDGKqkmmIQntSH60ueKQ9KAGMRjtSQ4yehofp2pYduw/L82aAJBnPFOAJxmm8ZwRT1x1GQaAJYsltoIyatwRrsVGIKsckkcqaqLwQ2Qa07ZRISmVH8RB6E+goAu2iRMDtj7Ddz933B/pWxFGUfzFJ2sMkD1HeqFuipEjKGPmcMAeB7Vo2kaqD5UheNjtUN2oGTwGQlzuXYxzkgCpNrbgFjxn+NOn61HEjJIQ0Wz1yOGqRvMBz+6VO2SQR+VKwBvOdpfee6MgB/A1yHil1Lxxp0XJwRyK66Riy4O2RD6sMiuM8VSK14AqFCFwQe9MDnJyc1Hn0qSb79RZoEIeldvoOU0yPAySuAK4jqQB3r0DS1McEIOflTtQBt6UMeYXUkCPJwenpUlghS8XzAwEeD16k1S3SQ27tEw3PhSCOMVqaf5aRyBw4kwGGOKAH6f5M+rzx3O+MscAgcg9s1duYBYTMzDzcj5cLtP156ismwk/0kyTMxZjyD1B7VsXt5FKgYu2+EbVVue3WgCoL+5u9qlUWNH8s4G3OTzWm80VqzQ21oF4IeNn4PPH1qjpqfa2MVwR5pI2EDk8dPSpNWktYIgDCouAQBlyR9DQAuqywrZh7pRmMZW2jbKjPTNVp7qOLTYBawIJJAAQeQee3em2NitxcM1wS2OQi/d+taqQW9jG1zvie5IIHPEY9APWgDLnvUEDxmLaTwzZyw+melVrW1/te7UMTDbLhAznOcdqktQ+q3HlKjFmkLM69dtWxZYuJPJZBawcNuPCk+o9aAM29mf7e9u0p2FPLBRRgY54rIexkubgxwqzKCC+T09zW9FCjawqwyoRk7c5UdOtW9WeHT0a0t4yhOGeVyCzn+g9qAOf1CD7BZFoZizSuRyCuFHSs2Ge8MDyRyEgdvSug1VY714MFyhABY9jS3NrFbaMscLxOzMS205ORQBzdvql+8gWWND9etWJNbdOJbcYU7SMcmtHRdNaVnuSoZUGGz05qpe2PmySOAq5J4P8ASgB9vrdo8y3EKSoYhgnHSpTq1pc/KJzkg5DGqKWCi1IjUq7Pye1VDocjr5ixyEBsb0XgGgDo2vkkjKGaMxgAAEdOO1OjZPKHmMs0aDhCeD9aw9a05rSXAXeFAy46Gq95bOtlCUldCwyACfyoA6O1kH9nBERcsTk4yetRyu9xPEbhiY4gcDGK56xe8KssM7NIDngcmmz32qWsrRGNGbdyCf8ACgDqPtDQ+WLYGJcZz3P41Ab26jvYHhupom5+4x5rKl1eW12mSASRgDJBwR7UQ6pBeOuUeN1OemSaAOqm1vVoCSdSuY3UZIVsgexqCwura81qz1jVwb2SIjdDIeGx7dqqo8WoQPPCyvGrBHO4AqT6ioorZmu5maZQgwWCsMjtzQB2174l0O+dmudBjXcxJ8psZB7VkM/g/cbpoNRhwSsg3bgB7ViygQjdICQO6is+y2yrcRueGOcH0oA1hcWu6VtOilS1dsxmQ4J96bN/pQYyxqJVB/er8pA9z3qK2gHlINyLGDuHqPap50U7iDwew5oAjhs5V3TG7idCMcg0kdlLJJ5xvLcOv3VGcv7H0ocM0RUkhvUfpRExnjwvLrwxxxn0oAaZTKUSFVMjNs8vIGGqSazkWRHklRfLOSAcn/8AVSm0t4wpAK3AOS69Qf5YqNIZnPlyzbXdgFbbxj3NAGb4lfMSqTgbiee9U/DQkOERAQzZznAqz4jdbe5jSbybgFSApBAyRWp4A0RLqzla91SCxZHwqygndx1FAEt3JIZizkgKMY7CqFw+ISYseZ1OPT2rtpfBpuIybPWtLlLjKlpduT6VKPBuo6dYwCEWdy5O8vE4fH19KAOZgmUaeiKisyIBk8Ee1UZAzO6RAhiCMhuufellurc6tLaTqy3CMQ6qcfypb7YoKKgGOhPX8aAG6RE7281u0wUx9WySfpUkaW6GTDSkluAR0rThgtbDTUtygkuZh5jSLyV9qznhJkBVz5PO9hzj2oAiSOa7njS0iaRgcKxPC0/ULK4trjFwAJCA2Ac/hxT7S4kFzHFbKPlBO1unHeobuZ552eRizN1I4AoAfIZLlorWV/Ktdu6TCj17d81fk0y2jj/d3qFRx8ynJHrxWMrf8TJkBMjon7x1bIPpgdqss7kMZUL8beOMflQBRt3N3NKkJjJibcCx4YA9qmv7hpIpFICgnt1Y1WtLdzczXYUQWykKFxyeKddO6SExHJ2c47CgDHEjRO2QAocE8etV7zC3AVVJHY1JePhCDnPcikmPmohXnjFAGfdttgkzyQCRXPr1x61t6l/qZMHtzWIvXigB1KPb86PwoHFADl5YYrvfCu9dKTaj8seQRg/UVwaZyBXofhxNmlxBA4JHpQBpEDcCYX3H/nmcmpGZ1XMvnso6A4XH1PemKrEbWmY59FwacrKVKlcH0bkGkMcJFZdzGMr2OetKFDAkBWH8QC4/nTArLg/Ic9Ag5H0Bo8sHJOWfqVIwR+PrQA5vKdgBuVif7lKVVXy/mjHU5BH5UxQO0bOv+ycH8c0/BDfMki9xyDj6CgBI9rHKmFeOwwT+dKcD/nkSOQoQ5pWIdflGQvOCRupoPJKO27H8TDj2FABujxlxJI/q6fyrPvsLfWQRWUGTO1l9q0CXT5nRmY8Y8wc/Ssu5YtrlhG7MVO44ZskcUwOgty0jxBf3abwM9O9WPFN2n/CQNIYnlhjILy45JA/lVe6uzFLAqRnYrD5sYq5qE0l3ZzSKCHySi7uVAGPxoEOlliuIYltwxZQXLhecVjX84NuYyzB+S6v/AAnOePrWpa3kMRhlRlUBMEtyKydTkLaj5rqgjbrtHFAFiylMenu8cigrwB9etYOq+IPsyNBat+9bAY471S8QaobVDFb5yT27UaDo4knhuNQkjAcF9m8Z49fegCz4e8OS6kJL6+YiJOST3PYV2WmWou7h9kaqgCso77RVaKZzE8djHiFEyMIWDH61s6Zp9pZWEV3NPscAHLPgDPbFAFy71OysF8xpizoMBMZOe4+tcw6z61Msd1gwybgFxjb6ZqxqdzBdGa6dflDnyounmHH3q1NFkWPTBJP5EVxLlwWA4BoA4uBZtB1IQzq7RIflOcitO7uFubWNYtoXdkoMjn0rUu9Ml1GKZ7mRWIOEIHUev0rjmEuk3TR3Uj5V/l5yMUAdZFei3skmk+8o/IfWuG1nWZtbu2hjbZCvBY96pavq893OlpAzhHbB9hXT6N4ejZIozgMWUYAyTmgDR0O3uZbRbLSYOgBaT7pJ960H00m/gs/OkSUj96cAfgPWrepzHRrZbW0lCzyLhyT90Vb0oQW1hHPPtN3KMu0h+YCgB19Y2enp5X2QOiLuaTryOuT71lX+oxX0UMFrCCDwUH8R6c+1L4hvpJZPs8DbgSCQvPGOTmqlhN9juZZIYIVncCNEiJIGe4oAwWa70O/dMo1uxOOchT6VsRxwzpCWc7/4SpwuevPvS6xaEwSQ3rL5p+bnkKfeudskdZPLuWcQoQMoMkCgDoLhJLZFZ8bW5UjkZ+vrUAvJoYZNzqgc4ARc7gevsK04bK0ZWjR5TGyn7zZz7msye0SJJWeWT7OvCELkDPuaALI/s+W1eCRVhjc78KSSvHasCzvhDNcQZZnQ/I+eoPQY9a0pXgFushUO/IUsevFM0HTYr3VishSGCOP5pF7t2FAFq08i1nto1dvPuGHmsecH057VMyQweaAwAhZuOoPPXNRs0sccTM6OVlxuP3sD19qtwaf9pTes7yKzF2VhgEelAFdZimnzy7EUkFg/cD0rzDUZNzsWOSTXpeuCKLS7p0BHBAXPSvLr0ksMmgDb8JxgiV3UFQefeug2/vs+S7A5YDdj8KyPCqyCxbyyoLPxk4zW0RIr5ZowxGMqc/maBixeZGfLWMoirkKDQsZQny4EEh5JJ5z9KjYbAMlnUnACtgHHvTmUFSTAGOcFhnP50AOO/aY5SeudqgYozuP8andj92OSPT2qLy1QxYijTr/Hlj+FSJlVWM3MnIJZduP1oAJVlLKzwhY92F3nj8aRWVUeJAhbeC7j7oJpGZdok2IUUZBZycn6U5fleGKMR7zliE4/PNAFDUJkjtltkBJzkvkkVmry3WtLU2cx4baPnPA7etZ0Yy4HvQI1reHDIQwYL2q1k55FQ2iBFbBJOOtTEbuDkfSgYEBgBTHyFOOoGKceM/pUcjEAkYOPegRRujxnG71+lYtwBHIytyR0rZu/lTjgnr71hztuPXmgCE9cHgGmEdB709gSM00DLrQBMB7dqD29qceo4pGP50ANAwSDXpfwYtYrz4keHoZhuj+0hiPoCR+orzdBudRXs37N1pHdfFGx80Z8mGWVf94DA/nQB9jUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVyvxSu1svh/rkrfxWzRj6t8o/nXVVwXxybZ8M9VJ7mMf+PrQB8hzNkHgZIIOKiBbzEIOSvy7s05grMR0HX3FNwCDkjJxyPXNAw2kFQR/CelScyMWK5OPzAqDlmHLAc8g+9P5wF6kkgZ4xQIduAHUEEYxnsaEDxrGoHy88kDjjpSHbE53AKGwM45FKh+XIByMHOOuaAGjIBLgb1IwRxxUjfOznOMtgEVGIw6bQ5ZuWBxx9KcpVtw2rngnB9aAFxnrt5IJ4yKZL9w7cYPvUgUoQEyy8g0xuhBXjd+IoAFIRjn7jZ705V+XdkEnKsR+lMfCshCk8EH3ojeMuNrnaQSQOufSgY2MMvysSRn/OKdO77/lyOjDPINHIOwOSe3Gf1oKCKMYbg9zQIdhQyk5U/wA6SIAN5bDYR0+tB4RSoO4jB5yBSSnaB1zgc+h9KAGnjKnG8HGKAAGBbkng7Tg4pEkZpAD90846YNObcBG4UbhnJ9aBkUp+Qnvmomk+TAPtT5sL2GTk9KrEYRifrSA5i/JN1J9arEYqW5OZnPuai+tMQhpCOORil+mKSgBkowM0Qg7T25pJOBzTov8AV4IoAeuP/r1IuScgZ9aYuc+9SRgjuQDQBJHkjAxzxitOyiAZWfcQOi9m/Gs9W2OQu0njDelbdo8glRJWVkY7xxxQBo2QMRAicMpP3W4OfSrixB1b91tfnOGFQwZwRIRgfeQjtnrVmMRR5Mfz7vfFIYu1lUKZpApH3XG5c0m3AyhBJ5HluV/SnbGK8WrHHJw9Iux8AAMM5AwQRTAa5I+ZkkGTjLqMmuN8TPu1BhknAA5HNdrv2rhp1z02Oa4PXmLalNkk/N65oEY0vLU0jjPNOb7xHamGgB0C77iNfVgOK9HstqJ/uoBXnunDN/CDx8wr0G34VwcdhzQBoKhOnyMUBUODWilwVsShIOxfvleee1UgoSHa2V2DJU92NT+Y0VrCsi8StnI7/WgC1FaNHEJEVNqxB8NnnmpYLd2tEnYI0EjlU9mHQGpY7iGWzl895dsa7Y0ReN3ofbpTbWORdOdC4BJOQ3IGBQBHbztbyTLJJIhB+V4Bnk/0qn5LX9xI/mEpGNzljyT7e9FvBcvauLYEqRyfrW3NbJaWf2UpFGMgPKHBLZ5P0oAhs9FupLA3EM4VXHKs2N30qhqojt7JS7eZPv7dD9R1qxbXSi7kNoztbRZGHOP51R1HdPOkYEayHuzZwPegB+kyy2lqzLHIHcErtGMnNS3SyWdiYJ0eJn/ePggsT71NBGtpbQ3Pz7CcRAHhj3NVbxmM6wCSMu7ZYjnA70AVdM33VwjSI5hXheeg7/zq9qnlPMfL5UHLyPjLAVWuLlkeWG1bZHDgg+nrSx6dcXSRSSsqNJgoHON1AEeo3nntCsChVX7gHU1oal/o0EYmgVpFQcMApJ9apSJY2V2kB8yVwfvqcYptyy3F1JPIsrxEZAZuT25NAEq3nm2AVR5cnJ+U4yc9/pUK2k8iSO8ZBXqzHAPpVueO2NvE4Ro4xJjYpDA8etU7nUXWIQKm1QMENzxQBc02yS6uRDNiBQuWYDO4/wCNSajNMsvlo4t7dAFVAAC2O5HrUFo4sbBiZvKlf5uQe/QCqczvPbO3mb5ByMDlhQBHP80wK/MCw5LZye9WBpyXN7J5kqgHhABkA+marafJsuol8lHLMOGJAWtee4WATmF45Z8hSVGNvrjtQBDHb21vcS28LRxzLyJG/iz2B7VlSWkfmkjBcvzznJq3HO7TEvmSQjHzdqW0tLm8P7xfLjhJYll2nk0AVriBJpS82VQfKRtGAaisNKia/eRcLhdueu41o3e52IhKEDqVH86ltpPLsJJpGUzufLTcPugdwfWgDnrvSiJJNrqoPysV43VCmjg6QZYd4l3lSxOMitcF5ImVEX5RkknBHrWpJ9kW0iTa0QVN771zl/SgDkPs+sRwqvnyi2PG1m/lUWr2t/YSH7PckKwyD1zXUtdRSynfCxTG3L/zxR4itRO4eBR5SoEyTj8hQBT022M+l20k8jNIy5JzxShJ7ZJMfvVzkjPOKr6fKkVjHHvztH8XHelhuzI77BIcEY9PzoAeL5gxaWBwB0x60JqIWRxHHJ5bNuOBjFTNOrZ81QxH5UrXCBWHlqS3YcCgCeO6jlwwkAX0PFWA2V3Dlu3vVBVtJtxkQAnABH9aY22I/wCjyH5edhOc0AYniQ+dfReYuRkdexrb0+Lbbrx26muc1p5p7oEkKyndtqvZ+IrwSiNoFeNDjIOM0Ade8K/aFLLtlLAKGOBirxubmFi6O6E9NjYx+Vcs/iSKd4llgZG3A561tS63azIEDpjqcjBoA2fDV9Bourfabeyt7q8uDhvPTeM9c1t6t4nt2dlvvD2nXcQG1jGuw/h/jXH2LRtdGfzkKqp24/i7VbhfMjStjev40AdP/anh0GET6E0LFeWikzx69a5QWq6j4oNpp6GK2nYGIyPgD2J7UyZjJM6qD83K8cj1prmVEEcHykcbqANu+8E61b3kjw2i3duBw0Uit19Ky7vQtVtU3T2NypzjlCcmpra8urFQkN48YHBKsRn8auLr2qQS+THqss5k+4B83P0NAGZFZQWlj5l9BJC8hJDk4I9Bg1lSSb1R42IVm2MRwcVseJr2412aBLi5ZEhOQAAOfceta8+qaHbaFHB/YdtLLCMlixBkPrx0zQBzks0cFuYoAxxn5m+lYiy7pREsRAcYAXqSK6+DVtGNmJDohUcjAmJrntYksADJDbTQygfLiTIHtQBlPAVeQyrgg7QuazSQjuRxgdK6bSLC1nsrmfU7woVGUAHOfWuaujEsrCNiygnGVxmgDN1X5YG98VjrW5qqJ9gR/NBdicqRyMViAcUALTgOaT0zSryQO1AEkY+avStKjIsYEjeRSFGfmwBXm8Ay6/WvTbMObeJVlRiFAKuPagCYlyVA2bR1+fn8achIGYwjYPzfw5NIFfI3RMxHVFxt/wDr0rMOSNuB/C6ZI9qQxWDKSyBVB6luMfjTY0d/kUxSAdtwzT8ZAJkVCeMAEgfUU39yyqsxRSTw23Ab8aAFKoBjakuP4d2W+gpAQv8AqwQR91GIH4ZpCoD4HQeiAn86Ek3jZGgeMdTGM/zpgG+OR9rhwwOeUz+vpTmZxnciq/ADpyPx9KYDMwJUDaOP3mEIH1FOCqinKpg9QZeKQAMoPlktfoepNY87lfElnlFQhSQAc/nWwEVR90ImM/eDD8KwCWfxXHklsLxxg9KYjfkMqEyElsc4zjNWdKvC+mI88IjEpLfMc7lzU9nZpd3qW0+5Ij98jsuOePWq10tvZ6ctqiq0fIids55PH0oAbbMskxEeDAADtAxg+lJrnmyJFJvRgx428Y/D8Kda73ijj8tQE+QMnO/2qPVo2/dPErsirnkHK8//AFqAK8ej288SmVFMj5O4+1bGg6dBd7YIEw2cShgBlR6VHps8cskaIFyRtVmqVxcQ6n9qtGZJE4ATJz68UAdXeLbWOjzxICFXKqqnmuTj+26rD9ijjUoB8xZsDrVowz66zSyXXkW6EM0agkj8K0rCG2NnLa286PFE3zuPldvpQBmX+jnTfsrF1kibh0RCOO+ParmIba3VjaeZtQHzWXPHas/WNSa4nURfaWVV2kg44B61S1O5m3RwWySOki4UM24gepoAsXF693c7E80+XGflxn+XSs3yW1KCSGWPJP3C3BFXh5tlp2MoPMbbId3Jx2x6VUOpTJZyeZlUZ/ukYJPrQBguLfSpWN7GoZR+Y+tdz4J1qxvLSQkKhi+ZWI61x0Wn3GtSqGjVoAcdOvtWqbdLS3aGPAkhHzx4xmgDWNzby6j9vSCSQlyD5vKn0xTNWlv9alRhYtGikAsTt49AavaCLF5UmWUyyKuVRuAeOw9qdrGrsZopSeY0Jxxgf40AZbaR9maVHudsjpnaM8+xJ6VPp8Nvp1g13KzBwx2KpySfr+VZ1tMZbqGSdyGdiWLnOV+lP1FptR3PHGY4Yjg7R8v/AOugCKS6W6l3SRZHVmLEk1W1SZDCWt4lgOMbUPLLUxUpCrMVIUfwn7v1rFvpheMAsqJbQnDP1O70xQBZ/ty2gt0Y7w5HPPNJb62LyBlDMY2wcEnn61zc1mt7PGc5KEgHGBjPWtOxsTEzO7bUUdD/AIfhQA6AyG5WKOMkOx2qT2FdNZRERJEkhTeSXJPXHas/w7JBFrFrLNH8hjOwbs4PrVm6nH9qTS2SNMhOdpzhc+/rQBD4qvriG1Vo0UsoAxjk1t+H4tmlW91IzKZBlkBzisuPTzrMrx3BMA2sclvuECtDTUWFFhuiqooGOSc/0zQBm+KUkj0+YkrsZuMV5te43gDrXonjZo1tR5ZJDvkZ9BXnF3/raAOr8OIo0wMyEZJO/OPwFaeQeY0OQCRxkVU8P5GlwnzM4zhc8D/69XZppQNnmIrOeOOQPrQMiK+QVyMzAZ4PFOhYzA4lcvuIKrkD86CkcasEbAx8wPzZPrmoYMq7RjaV3bzk4yKALzqyDMMarKcBXMgbj1prFU3D7SZGblti7i3t7CmnIxJiI7uFjIOcD6U4+aJFxIi7scbQCRQBHtdcjy1NwTlQEztHr7U8SIGMjkeYoPHKsfzpqu6JMYrkRgvkuRyfp60CRvnjWRWLYJdx8xz7UCKGqlQY1QvjG75jxz6VRjGXUDuauas4luf3btKEUAnGBVO3IMoyeBQBuxRbFwHzjrT/ALw9DUVsVMRKHPNSnIOeKBsa3B5xk1FKMjK49cGpCOc+tRuB6jcOaBGbdPiM5GaxpWycjGela96WA5HOefSsqZT5p6AjpQBDzjtmkj/1q0HGaIuZD9KAJc/NRgd6QnHaj2FAEsABlU+9e5/suws/xFaVQSsdpJk+mcCvDbUfvAD2619Hfskp/wAT3XXx/wAuyDP/AAOgD6aooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArzb9oO7jt/hxdQuCWuZo41+ud3/stek14v+05dlfDml2eOJbgyZ/3R/8AZUAfNRAGclunXuBTWHyndgPjGD3p+wh8qQ2Qcj1FO+bjOGAHFAEYx5gGAoPQE9D3pUUbSh6Mep7GlIBO4HDA4wRSCQiMKwLAnqBn6UAKUzujfL7W6E89KYRtfchYg4GcdhzUkhJmBwQGPX096DuBA24DNjOemKAEjLEh2BB+8CB39aVxgZbg4HT1/wAikztz5e4Ar0600f8ALXK5IPBHvQA5iSGIBPyj2P1pXIUYBOGG7njFMJ2n5GC5B4PT3pRnCLkE445zkUAJIDuIZRsI5Kt0pq8g7eTjqBjpT8l1GABg4ZSPX0pFADEZAbJ+6OlADlKyRHaDx2PrikkbcoRTnC5IPWl2sF3MGIzgn1FRsN2Gb04NACYkCkE5PXk4p2co42ZJ5B3fypr4kGeQ3BB7UbsIOQSB0HAFAEiLnGe/Y9QaAflCsQGHYjrz60iqpbOAScNjPWlbgAlS3HT1H+NAypP/AKzAzwPXNV5mxC59BVqUguWXBBFUr44tZcgdKQzlpDlzTPpSseaQdeuKZI0+lIT6k5px+tJ+eaAIpOnU1In3BUcgOamRfkHpQAo6DHFSqD+XvTFyP/r1JFt3jepK+1AF6NI85kjI6dOV5Fa6wqiHDZjKAqTz9QDWPCgVsMzqGIKjqK27PcICSB5gyfl/qDQBftmK7SzKzEYUOuCPapyAZB50DKCMfKeh9RUUQfyhEolaP3wCvuKmQvGpUlwwOM7sjNAx2Iyc7nTHOd386kyyjMlwzr2JQHFMQsSQMJnnaw5z/I0GTyzz5Sk8EFsA/lSASQnp+6b/AGiOfyrz/VG3X056fMeld7O+IjjY6YOVY4I+hrzy6OZXPbJpiKDdeaaeOlKetIcUAXNFTfqcA685rv7dRhnOducmuI8NLu1IHsFJrukjzHDCAV3nJNAGxpsaznJUSMUZ2BP5U2JlkhDyMFgjfOzPJ47Gktd8EM0sOQM+UGQ/pSyxtFF9maNtxAfJ4O2gCZbaYweVA5y43tnggZ/Wnypci0ETSf6tiohx8xP/ANetG1eH+zp48phlGHkyeO5HvTLSM2V208Ie4VAH8zH3T9KAItMtTHZxTuzKZweAccj37YqDUF8pWgiK3DkkI4GWY1Ld6oFtJIYkLmV8KB0564FRCzvLfoSjCPJlK8KKAI7GxuvLEcDI0rE7kXqMetPSzaznL3cTNIQCVbjjParmiXa2UEvlOVlPBlxnPvWVqN6tzfwzyPK5Py5bpgetAFm+uluLhYZXn2rwgyMZ9MdAKsPp6WUE11dlkdSBHtwVPFZqQS6lqapCFVFA5HGR/jV/V5AsqWuR5EHLAZIY+tAGTHEEYSXPNvIctsOexx+Nbmp6oLezhhhChSuWyMtjHQVj6TEs91NdXD7LeM5244Y+mPpUl9cQXE26JUjTscf0oArWVst5fiMMys7DaoGeO/0q9fW6Sv8AZ4ZEiCNgBm5ZqbpiSQtNfIWEABQTKOpx6HtWa4ZZvmy7ZyD15NAGrKs1tBBFdqcJnbGR8oz3FUUt31CaTy0QKoBaToEAq7HZXctq888zRRhcZkGST6AU7TIHj026lhnOCQpyMZP1oAuXUNnbWtu0hmuJQcsp4UCsya6lSOVYoFjLHJKkcDsKdeq6xIZgTL03Fsq1UCiFSXIRT1weaAL+miN4Jrq8EWFXy07c9zS7LecN9ih3ynJI68D1NOvFKafEY7QhWGWZunXqB/WoJnls9M8mFl2zEOQv3h9T6UAMuYkgt1VUJmzl+vy/QVZs9Wli0a4OVWYkJuOST3zWeLsqhAlOCvQruz/hWjbaS6WKXF5iO3f5gduT+VAGZFqQMhMsRkBHO48E+9bmiWMdxpYmvZGijLYAXksO+KxnFubpEhUPGzAHdwcZrRudZkd3gi2CBFKKnZPpQAW8mnve/LCVjXOSRyQP6+9F5dQXs/7t0WNjwrdcdxmstLdk3lmIf+FDg5zSi13XMMaugYgE7W6fX3oAt29hPPcySkAQq3L5wD7CqviWa6iu7W2s0XyJG2ljgkfjWnrtw1sRZW5YRqOxzzWNqCSS24EQZpAAQOuT3NAHoumfDu3fR4nuJvJnkAYNIQy4POfWsafwLcC4YwX1umM8gHBx7VLY+J9VstJs4Z3je1RfkLplvoSKcvjB8IGsx6ErJ1oA57WNIvNGtmnvFiKDqY2z+NUdEtLjWreWXSreSfyv9ZsXdtrpdf1ka1pxiS1kjCnDMZOB+VXfh9qmk+FNNurciVp533F1XIA+lAHESaXdQ3Mi3PmwMP4WXFJsWIfu1+f1Neq3/ijSrlSPtYG4c/utwI9wRVOW58P3VtJ5rWTEj74i20AePpNCmoNPcIJVT70ZP3qfBp8UpMm0KJDuG3tVa+sxNfXCW/zxiQEsp6DNdNZrHAipIi7cYUngigDCudNVSCEYYbIHrSXmmDcsiLww9a6eOC2mnwkokVDkjacsKsJZxzlp2CxWyD7qHJJ/pQBwE0NxAf3LhGAyeeTVqee9gWHbKWG0Er7mugurOK63uABnozAjNQ3VrCLO3QZZgvJxjmgDLh12/jzIEjyoJB29BU//AAkH7tfMjLDqSp5qNrLcGYluFIIHTNElmJ9NR1bBZsMuOeBQBZj12wYEO7R+u4VPaajaNeGWCZd2MKQ2MVzslhtB3Y9PrUltpyNIQCE8tdx9/SgDphIr5zKu4cnnNR3TRiMAEnIx261y8sT790jc9OODU6B5WTMrKVGMN1+tAG/piS2yE7lcJkg+hqteSvI5L7csDkYqjqFnrGmmAz3CyQzpvjIPaqMtzPEr7juOOTQBL5rqJAzZjJwc9RVcgPKSMYxVL+11XcGU8jB96ZLqkYJ2KckYzQBX1ZgQqr61n1LPMZmzjAFRCgBe9KOw6UgpwoAtWC7ruJTnlxXpaKoXCLJI6D7pavOtJj3XkAJxluvSvQYdpXDPGSem0nP50ATHecoYkBIz/rCCKTMkf3IUb1JfcKHG2PMpLLn7y8kU9XBOI2ZgB/CcAfnSGMTEkhE1kyPjly2QRSiROUCu+fursIFG5GYAvIGHVSflb8elBlBJCNLEo65OR+GKAEJUgo7sccbI1xj65pyyZYIZzEuOEaPB/OlUk8pJFMo9Ad1L87bmfBhH8GM0AIyoxWRIQzY4bI/OkjeMoGdzuPqtSJGWYmGDKkfez+mKbJIcZO1AeMBDk/j2oAGAUfu9q55yTg/ka5pJSPFMjcZCkDb9K6WTDJ8ySEj+6u79TXK6bID4nlcrxhuD2piO70y5khhluCwDiPaD3yfanahdIbMsghUlOTJyfwrnLzV47KaHfETBuB3D1zxmtXU3Se1R/MTnBAQcg9gaAFdZ7SNTHJGI5QMLnJHerDBQu24U/JESUB6j1pVjMumxxyoEKgZk7AepqldvKn2iJZFZimzcGzwO1ABawCFY58syMgLY/gPb/wDXXQtN5VrCI3VpA3UAZ57Vi6SxLfZmBCsoViBkgf8A6quODG0du4V2BCo44yO1ADdVhlDS3Nu7pbZwzrncF9MVc037JZwILbMzOuS23GR2z71aQL9gk2SAruwwznjvXIapqsOk3PlpKDA/3iDyDQBrX2tT/bJ4o40JkG1QF4FWGZNItFXY73sgyZDxsHoKr2kltZW6y7knnlG4ORkKDWNq18sTF5ZAZD0UnJoAZrOpEWgBdBJn5B3zUHmPcRx+excKAE9M07TdLN5I15djg/cTHb1roIIYxbFikYXOxB05PegBLJfKihKpjbwDnkmprm0e5jeaV1M5O0MmBkdx7imw2zmaO3zh2A2v0A981JN5tpK8YQSuBkMhxwfagChZSJZPHEi70jzJwTknv/8AqqJIJ9Su98qyJGzZYhMkL9PStW1tZLsbZPKXKnAU9KpXWoyNB9ljlZfK+ViBgsO3NAEl5pVnbTl3uWZNvy85PvxUeoX6GARoWS2iGAvTPvj1rDluBaq8kjFh2Gep9qpX5v7sqphMEcncn5iPpQBBrOqGXbDaH5T97txT7TTzJEqktsPT/aNWrLR47T95cPvb0Pf2roLaJlRZI0jCr6+v+FAGReWUNpBEIOX3Dc/QL61BqccQsHZGzNcMNoU9B/8AXrS1MeajxbmK7ckDABrI0pDdbR+7j8sku7c7QO9AE+jwNbSZVgZHby1LnAAxW5A0cTC2lbKgfL8uPcn3rBumLP8AadzArgxrjAOOK6jTYFijDuEZ2XJWTqPb2oAk0y7/ANNlMgXAVsCPG44GM1ejaORHiVV2sqgKBnn3z0rn5mjsySAAGGeTyAT2x2rThuo48JbxmPzF+aRTn6/SgDm/HJWIxRou3k8GuAueZjjtXZeMpN98iA8Bc81xjjM5HvQB2umQ+Vp0TPIgGAcAAmrGIl2KqO2W7c5plkjJGgRoHIHJOOuOlWD5mCoEYK/ec+tAxVOR+7IVd2AGQAZppUrcKIlWSTHzuF4XPSpFUuiiH5kzy2zJ/CmiEtJ5YWRSDuYFgpwPU0AEsZb5Y4g8x/5aI/T8KRreVjueJfm+Yszc4HsKdGqSK5ZZ0BfgIucj61Ci27MzlDuLYCsxyAO+KAJy7jGyARqMhd2PxNMSOR2IQyIvJaaPkt7Co2MZVW83KltpHPI/GppfL+WSUTJGBySuPoBQBk3M5S4faDjG3DCorYJIRuUgA5JA6Uy82ee4j3bM8b+tLaMEyRnnqAetAG3GUKAwj5O1Kd2Pm5+lJA2YUPHIqQ429BmgRCxPTHFQzHrtB3Cps7umfTNQyjJ5wo9fSgDPuh16+mKxZchmBJwa1r12Xbzx3xWTPy5IOQKAGHNLBy7H0FM5p8HVjmgCRuc0g5+tKTx0pM+h9qALNpned3YV9S/slWkY0rXbwr+9MscQP+ztJ/nXy7YDOSe1fYP7LtkkHw8muQD5txePuPsoAFAHsNFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFeEftRvi30BMdWlP6LXu9fO37TNzI/iLSLYkmOO3ZwvuSQf5CgDw9slFIXoeo9qgf7obIB6dOKnYfI5GQAAwyKjDAswTABHIIyKAGqQGGflUnqOxqQBlRsHPynj6c1GmNoUq20nGaTJ4DFiBleKAH7g7IWbG5clc8fgabIvlxsSSykY5OSKCcyKz5x9zgdeKcipGpUqWTOM55GaAHFP4gT8vQj0pp3FgpXLheexyKHPLDsW7ccdjQxyPmzjI/AigBxwVYAZOOcjkGmOwJAU4IOV/wAKRGyQ5br1HTIoIyh+Y8gg5+vBoAevIHIjLDA9DTeWckBsg4YdwfUUkaNhlxk9AB3pXbcowxDE457GgCQFS21WYFjxnimoWRRuGDu4780j5wCC+7HOT0NDFwxJ/I96BhJjkoMb1yAOx+lIF3rvYsoJBOabKS7AjknvjBpUHRWB5PTGR+NAAuASrdVJ6DtRGrKxBxtVj36cU0h+pbp/D61IcBieCBwR0IFAiqwClwcCs7VTi0fgc1fbqw9TWVrRItMeppFHPkc0hP5Up696Q9KZInamn60oPtR/nNAELZNTqOKgP3hU/TjrQA9eOpOKemCRz+dRqcDipYgWbA6d6ALtuBjBYj3HcGtyyjZokhmVmzypxkgevvWHbDbIpQ7mDYCjv+Fb1uY2L+WMjjgkqVPoPagC/DGZt2I9pClfkOB+IqWNHVQkqpIp6OW4+lRjdgebC8m3gENhh+PenLGrYZFbHcSkFRSGPQj/AFfmHI4A4BHt708CYMVchMjsAA1NG1sjykYYwVUZxTDHsX/UMFHPD8j86YEV++bSUuke3aRzk8/hXn0x+9Xc6scWUzYkB2nlxkGuEm5U0CKh7033pxNITxx69KANzwrHunmYjoAB+NdnES06YBMa8cVyfg+Is8rY/Guv0xW8tyTgD5s4oAt3BaKzjiRSF3bmyeCfStNDJcWDXLOrFl2Nk4K4HAFQeSjW88UaGRoz5pcNwRgdR7VAZRFaJ5vmIJDxxnigCxEw/stlmysSnoT19qfNLvaOKGRiWRS2GOFGOlP3Qf2UY5Y3Yk7lYNjj6GmRrJYsbqLy3RxsUk53cccUARQTpZ3du0KpKyne24cCr+v6mF2RWyqsj/edG3Ak/wBKkt0htdGa5Jl8+RvnJUYPtz0rJSH7dqscMIjiAHy55Ofc0Aa0IuoBJb3ILHZnOcYHvj2rBkT7bdMYiirH8pyQOfpWvd3V3bmW2mkAIGCqkHcP51iwBcTqI1Ul94IHPbigDbeO3srSFo55d8v3tvRCPU1k38EjSMUcyfxbg3XmkvTI9muHYRI4OCM5/GrVnDGJGubts2sTZA3YDN6CgBVtJo4sT7FSMFmXO0sT/OoIdOa5dEjlTBG8yDoo9/Srrv8Ab4A7ypH5n3VGOBnjJ7VFo6y2IuCkoCsTGRw2aAJbue2tpUskElxBFzjJAY454+veoYpVW9t54bfy2jYklDkew+tUfOm+2yyyNyRtOz3qxo8zw6pxgKmXCLkgGgCTWZiYiGmaR2JYp2XP8zUSXDDS44sqsYYhsdWP1pL66inmkknZzI7ZLAYx+FP8tHRYLLdcSnLHA59/woAzndnGwOzEDEYHStq6ht7KKFJYAHCh+VLFj702wgt7eZZ7sEzrnZDjG09s+tVb248yVS7lO5cHJU+9AF6+jvboRTXMgj3p8qk7cge1ULmORCFkDK+3aO+fTFT3dyt95Lq7NtUjLdB+NV2kxGpllklMeTGijIz60AXbDS5zcJJeBYoYucuQc+2Kjvbia6mZGlBjjGApOPyFTTTm3sfKETm6nAkkYtlSO3FYj3TJgRqASpGf89KANPStlvJLdSc7RtiPYfWqdtcPLfrJDFukYk8DINXbhd1jDbQxjc2C7A9T/Sls7WWy81kuIwWAX92dxOeTj0oAqGByXZRIu37zHAGfap9PiRYWufJaaQ5CgDCr7k08wpdzhoVmFsuPM39ff/PvUWq6g8t4qxZitUfCoh9PWgBlwhmkDvuDMcHdwAfX3qeeKKCCMwSyPdoB8wAxn0FSqswQLcKklxnJGRtUHkVQlnkVwrRqvPysvRfegBLe8YwSy6jGfs8b7SE6565xVS+1CDf5ljbXQhAxx0z+NWrKFpI5w4WTa24ntVt541tDBtZVI5HDYx6E0AZsOvWKWgjRZ0d/9YZBwD/hU0VxC4VlkjIPOSeKgS3S6kEcSZeT5TnqT9auX+lW1taNarFG2zhpB/e70AN83bkMykDnk0plkWJiThDyBxgmsaTTkFvwzZHXmtGXw1Mtnb3ElwyMy/Mhc8CgDIso7lL52fAiJ3Nnoa2GAaJedx5PT+tQwac0bEtPgYwMg8D1rX0/TftFuh+0RjcCRkHoOpPpQA/Srb7DF9ueRTLIuEXuM8CsmS6KKG3EsWxtHFWr5k+14EhaBTgEDHFVmRWQyxAY6dM/WgC3Y6l5bDAULg/JIMge5otonvfJS3g+YksQvTqaqNHIVTyoS8mcEnkD8K0ri5g0+IWkA4H+tc5BY+3pQBWuLSbdgq21s/dIz+IqOGAw6c0UsTifzMqWx0qMXDm2cxqoG7sMk1e0+NYbSS6vQ8jSLsVevP17UAUoNP3xSy3AC8jDYzn6U6y0xP7VbY6NCyAgE4YgdaXzlwzE4jPRc8jH0q3ZQT2unyXrKUaX5UIPKrn096AM+/tI4p28uEFl+9u6/hVVNLUl5Dkqgzk8cntV3ecrK24FyRjPX3qa2AnZs42r2BwAM/rQBoeJ0Mmg6BgZjWFhnAAzmuO1aFUtJTgdK7O8urO80Sxtdwe4gdy/zcKp6VyHiU7bR8AYyBkGgDgZv9a2OmaZTpMeY2PWm0ALjHWijFL9KACnD5iBTfrUkX+sGKANnQELX8e0kEHqBmu3hY5YCHLdMsoGa5Lw0m6+G1QSFJO6uuVpMFg6ED+4vA+tAxQqKTt2qw5Kht4HvihSX+RQjp/tIVNJwCN2UX1AA5+vpS75XVg0hZem0cZ/GkA8ZOFcIp/uGTAIpsbAsxghaNiQu7qmKRCVj+5GccDDbmFOkfJx9pngI6ZAw3sKAFZ1STEkKg93RePrRsj8wNuD56EMFx704k+XtFwyg9SQGzURAEgCMxz3aMbePSgB7CFm3OpEo5ypz/8Aqp6EOAVuZQx6BjtpElkCnyi0i9xtC/rQJY5FOZF3Afc/qCaYCuGVSknmFD/ESMj8a5Xw2qSa/cb8FNp6/WuiuBstH3zlkxyGw361zfg8r/bNxxuyvA/GgR391pmm/wBmwfaAGmeTcoxkY9M1BfaajKJAgRVXgDuR61a1Cd5oLeGPapR/MPGKdciK80yby3JuEGMs3BHpigCtbziWEK8Q+VgSO2O4PrVbU7eO3WOePcXmyGTt9QaWxJITzGO9SQDjGB6GoJkM85EZ+cNtVM8EY60AWtJTc+7c29htDHoK0NQnS3ZY22yAEEY9KzrWUQWTPLglRgr9DXJa1rU9/cmCzyM/LmgDW1/xSyq1rZgFicZHWsFNBuL5Xe8DiYfMqEHp1rZ8KeGo551lvW+Q8u+eldXpVmV1Jkjkd4QuGMn14waAOGS9fT0iW4jZ4vu4JxirOj2Kahetc3A/djlFNXfFmj5nF3bo5t/4iwIBI64puj7QVSJ1XcON3cehoA2rqJhaEJIyLtxgAcmi1heW0CLsLqu0Lj/PNEUksOoIitHhhjLc7aVLdxqgjRtscjDAX+f0oAS4eS1nUTiR5du1t2cAfT1qW2l8y5CQr++xukaU4wvtWldNDJHIZ8s0Xy/McD6dO1Z+mj/SgqQeXKcNwf4e+DQA5rtIr5VjkOUHPy8HPoKj1URXFs88Vt5dyB06ZHuKv6qBO/mC1KSjAR+uQPeob29trS2BYDLglhnkZoA5PSxNNeBYIhE3O+eQZx7AVtRw28Er/elmGMtJ81chq3iJIp3NsjBM4AAzk1uaM1xcwI5yJXwdrCgDZt8T7zIFW2UgMygZY+gpjzxwylIYQYSeGYZJFOezuLe1jjlDeWpPK/4Vj3TrFdQGJTnuSSfwxQAurNFHb5jVluGG0AdMkn37VR0iJYJpreUbpPvEdAa0m3yXccgi3LCMA7eNx/nWfDNE2tk3WWUqfzHSgCeaLFlK7ROZHO2NVHQDnNaOgyvqNmvmsI3GQ5J+ZxWfNcGePyopGDEkSetaOkSRwXGyNWVHjABXk0AY3ibTLy41u0FsHW33qN68rjsDXW2sEkdvkqGCfIQBgsR1pYpM2l7FGspwFYDHLENx16daitHngnlFxGyOwOA5PUUAcP4nlEusTbRtC8Bc9K5iPBvVB6FxmtjVZC9/cuSM7jWTp2TqEWF3HeOD3oA7likoRWjBjX7oRcE/jSrtkcKFMcYHTYWOacjLuVfLUupxgSEj8aNzliySsT0JThEGf50DHMCDGTBtjZsb2JB/KlVITHIqI4QnLSOeW/GgyoZgV8yWQkgBu1BQoio67pHGDsYcAUAInmDe0bu6rhQrOQPwNLJutijPEWkYEbUGcelRRynDrHuDHjLHpik2PHBIbZZfM3ckHcMfU0ACyBl/ebI03Eorqc06bdt3CeWWVACq7MYp0YkDxkKmwZwzjlifSnTJtDZidy2WJB25PoAaBHOzFmkJcksTyT61b06PfJ0OPWqsnJJ7Ve06NpFJAOKBo1AMKFUEAcUc4HOaDnCikxwRmgQxs+nNV5jtDAg56+1TsSTz0qvLwpBJIHc96AMq8XPU4yOOOlZcmNxrSvWYN1whHSsw8EigBp4HFSxBdhIP1qPPFPhG1AfWgBzetJjggnjNOzwRSHqelAFuxBwfc19xfAa0jtfhVoZjGDMjSv7sXP8AgK+ILAfKCfWvvH4R2sln8NfD0EylXFqrYPuSR+hoA66iiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvmf8AaVlWTxvYxpIA0dooOOx3McH8K+mK+Tvj85PxMv8AqSscWAeh+QUAebZ3b1BJwoyPTmonPVgF6ZOO1TEbjgYDcEZOMikcAltpBLArzx0oAhzyjq3O7oTR8wZD1OcnH+FKq/xHJB5PoDSsqh1J6YBBWgBwTccD7x5HPHFJkKzDsSGzSMMg7lA2ZIIPUGm5RT83mGMcfQUAPfe4AAHytjPHB/wpI93nE9A2Tx6ilcOFyhBK/Nlf4h2/GhcDD7uTyCB6igBGLYXK8Z7DpQAApAkB64z19aU5UEEckY64waYxLZ3HaQeg44/rQBIxHDbX2jHK9BTF+825TgjqOntRG67yckZ4I9ads2FznIJ28/pQMV2bzCcZZh1HrUbDzG2/MD1AoVwvybsn2GTShwYg4XK9+xFAAdpICDCj+EnoaXAK5I56HjrigbUIMfIJ57hqHbD8jar9V/utn1oEIeGYEEr2JFNY/LuU7hn8vY0E7Uw/qcHvTJAsgJAc+ooAh+tZGvNiJB6mtdT8uf0NYevMN0YFIbMg03HNONNPWmITtSHp3pe3amtx7UARj7w+tTsOKhj/ANYKsDO3nOKAFRGOKmVG64PTPFRKxByO1WYGffvGUbGAR0oAsWDfONxIUck4yR71u226RvmY73XAYrgEjtWNZiUZjVTk9SOcj6Vu2hSRR5YB3dCOOfcdqAJ45nX/AJbKHB+YdsVaUfOcRCXdwXUj+VRiVkwJsA9CJF6fj3oBiYBpEz/DuVSMUDJSjqoEpkVQeGJA/AkVHIioQNjZHIfrSxiIMVT53HDDGMj6UMoQfJHIgzn5TkflQBl665GmSkqMHjIPv6VxEx+XFdl4mz9hyYxksPnB/nXFz9KBEBpD07UvWmtkmgDrfCymOwZ1IBYkc109mpRAjE4Ybvw9K53w8AmlRkjq1dJuAAIUZRCeaANPQWeeeVbcBTJG4II+8PSmTkM0MSBg6jcwY8f59qZYBYInZs7ynAHVatRQRSNbbZhISheQY5B7CgCUXXmwrGwysILhM8E+gzUcO+SwkLgKuQFcY+XJ54o1IWlukrQq4LkbUHQHvnNWVeSPTDIEWINjOMYY/wBKAKmqwTpAtoR5pY/KVHX3qzp0RsNzSsY5guNpXjHqaggmvbi/Vw/zqu5n7KBV3VrySSZBNLHMyruUKM/hQBnC5jkvW2QqyKpdiwwD75rQtHg0+2aeGWOVpQRu2buT2A9vWsJ5JG86Xed5+Tb7HrV26uklhijhiFuI15UHgnFACXd756QWUTZXPzsRtGff2qa7MVppkkcbK7M2N+ASfcVBp1zFBuxGbi7kAQDbwD9Kdf8AloVwrIYuMMOcnqaAM55DHAIInYrtwTjGe9XNPnAto0AESqmS2Mlj3pNMsG1C72xIWiBwxB5xWnq97b2W23tbIK0Y2sWOWH9KAMiNF27pWbcWOI1Xk++e1Tac8hmuPJdY227T24qC5lYrmIHy9ucEZwPrWnatHbaXtEMX2iX94zyjkjsBQBk3rZdkYoyDvkVr232bS7RXSTz7uZNpC8BAf5mqJgS6YfNDEegGc81FcwkLuABCHZu7HH86ANBLqN3Zr0zSgA+WFUDk+/pWbdTiK3d4hGMnaR1apIbSYSgPKI1HzeXnk/4Ut4ka6kFWElcgBVOTn1oAs2enhNNiMkqs2C7RdMDtz61nNiSWMykrEGw23kgelbGsFPtL+Ydix/LsU9/rVQW1okglhkNxH/FkYCt6UAM1JBPqDCz83ygOA5AOBVdbZBOo3o6v2RsnPpU2pnzRI7/LI2BkDoPfFO0FLWGG4ub4eYyrsjA65PegC3q8sYaK3tlkVY0Csrrj6ms5rj99HCNq5XGU9qsXLZQzSKCN4wzP972qPTltJrxGkjn3KDnyj29MUARTSSxOvkSSBBlVYt1PrTJUTzVlcnb3J7n2q4bVZ3DowKA4ZT99fbFSX0tgkcQgifeqfPuOQx7fSgDNs5jHK8fZvnAHf61NDEm9nuf9UvzbR1b2q7pkFqsc17dRbflwkYbgk96Zc3G8BmZdwG3KAYCigC1FJD5Lrp1tHtPYn7nuTWa14kolEkVupUffQEfgKWBdsUxhn3lhuchT+VQWclpHuEyuWbOGz8u739qANLQoH2tfyPBHFHkRiTucdveq0IW4eUmduWJ4XcD6/SnXjN9itn8mMRvnbt6N71QIkVGXc3zc4DcUAT2wWXVIoSyRxBgd5HAxV3XL/fcuBM0gBwcDapx7VU0Q7b2aUsh8tPuyHqfaoYo4WunZ5UQt1JB6+woAjDMFdvmKqCdobnFaEbLBpMUSvlnGWIHXPY0WukGZp3hnRsDlDwT9KfqNzNJALby1iSLnywMdutAFWBLbCi7aTysfOydR6Yq9AILXTGaG3iniEmA7HBPtWOInunSCL/WOQBk4H1NaGrs0Zt7XfEYoxgrAc4+p70AEb2buJLUPC7NggncAO/4VTvN0sjOQG/umlgvZLZSkTEMAQCoxn/GtaaWCFoIbe3En7v8AeLInzMfY9qAMK0tri7kW2hwjSDLknaFUcnNat+5nkWIgCKFeVj5A981JHGun2l47NC11KNoVuSg9BWcmoMyKiosYbiTauM+lADIFjuL1IDEERfmJHXbUzXfn3biUZUf8szwD7flVqxNnH57xRMXwE8xmOOR14qq0AZyyM80anLfJggCgAwtxZK0WBJk/KcYQZ4xRIquI7cSJG0mFdlbj6mo7UR/YWKIQ29j8zcgHpTrG1Fw5LkrEmMnpmgCTUPC58JXM9pJNHcSSlZlmjbKspHGK5jxLIBbFc969F8fYl1tREqhY7eNAVHcDv/jXm/iohYVUDnJ5oA4wj5iKSlPrSdaAFooooAUc4qaEfMCeme1QirFuAThiQSPzoA6jw/FESXJJcZyOhArpNxUZO2MHo8f3j+Fc34WUs0zAEkYAPcV0iKyPuaKFGPJLHBP4UDFBPVS0qn+8nFKgbdvMe0EcFAeKb5ZUljG8BP8Azz5Vv8KC0bDBlznqJCQRSAkGQ52KN5GcqMGnBpeVYsfUSoB+tQxqzthf3ir3STaBUhDq+1gfKXn5xn8jQAAoy4zjbxsiOaN0agFZpI0HGCMr/wDWpVYEj99uHbK4/Diht2fmWEN3BbjFADl3OAwnlBA+VlxtP4UzezEgywuR1Zo8fhSSZLBpIDKw4BhfH6VJFuePdLHJtHQSY+WmBU1BWWznKvDkIchBj9K57wOMatcSY5UDk9K2tbZVsJcqgyOCV5P0NUfAURkkvNoBbAxmgRvy3cz+JILcRJITllKnitW/tBBfRgrjdhmwfzqSbT7Rp7K9cbJQrbgDyR7Gql3NHb6gk8DM9vggsy5wfSgB8yS2+oCZVUW8r7l5yB7VT3IL13UBULZxjNat2EuLDYSVI+aNV9AOT/8AWrifEd7NDCEhUlyMfL3+lAFDXdSlu7k2tt93PatLQtHMRjbBaRhyxFUvDlmY8TXKEvIM5xnHPIrtTb3VwuzT4mMAX5c8E96ALd0JY4YrC0T52xuXbyT/AIVZXS30++tzfzHZJ8vyZAQ9RVTR5RHczy3iypPEFQHuCO2PWtXWdXhW2iEsTl2IZgoJYY6c0AJq6xTBLf7QSi5JVhgdK4DVrSbS9QSdfmsmONydBXR6nNPeSLEglPmnhpDjaP8AJp02mXDWQh86J1VSrBj/AJ5oArWbxSgyQbWXjpnJqa7dikVzHbsqK2xtzdfp7VzyTT+HLvyJIibeUYXHJ+ldPDdwz6aWJbaFygz+lACNcJcTrFYgqxGSh5APf8PrT47S5e+Qxspm2kFQeMCpLJfKsY5JIfLfGA2Mgj3qDUtVTTmE4AGVxz3H0oAlvp5bezkNyTCgGGUvySK4pjfeIZngtQ3kx5Z3AztFQXd5eeI74x26yFM/dHpXaRaZb6Dpnlx3LebMmWVD+h70AYtl4ZWXRhgA3CksrY6+31pmiXawX3lDemAQVbjnvXYaURBpOZTIJW5J5wD/AI1y1yFXURqccKmMZBGccetAGwqgxtLc7wueADz19aztUaFEE7KGJwqrGcEfWtAzxXG2SNw4A4Vh/LFVbbCXFzcAxyp3B4Kj/ZFADLm7kezSIZaPA2AHA/H/ABrFjglfXSixgEq4IArQtphEZB5ZZUOU3LwRVKwnkg14sGDSNE3OcDmgCzY21v8AaFwrBSMtGc5I+tb4cC4tWjjRBtIUBcZBrMs7h4YpEmMbMW35Cg4Ppn09q01niS43SSRLIFJJU9cdPagCCeaK1u5izvK7jlCeFz0IxUzRSXUzoJgXjXLY+7j2965W5hutT8T20yh0tpcguudvFdHqc0drFN5ZUOiHkcZoA891dVjnuAhDc8kVS0FQ2qRZZUAJOWGRVnUJ/OikdgAzHnHFM8MY/tRCxIABPAyaAOuSZzG2TEq5KqFXG73o3RYjiOd4IO2I8dO9OR5ZOQEJ3Z2yAcCnytICdiJkj5nVMjIoGJGRhj5MqqQTu4GKYFWEK4KKeNznkgemKR5dzL5oUqOAqPjj1IqRSoV0iWMQjv3J/GgCHfEIisc7GMtlsxnLeuKcw8wlI8woBliWK8emKf5uFLMzq+Bl8DCj0HvTJHUgSSTSygH5UkjOD+NAClkeRid7lQFXCk7feobiIPA8e54xEM5ddpNTiTchYSyMAThIMgVBqiymDeXVRgfK7bmNAGOcdO9bVmQYlEYwOnFYrduK1dOPyAHoe9IC62Sw788mmsACcdfUUpbJ9KcBjJHemIiJJPTAP61UnIz+v0q27DBz0qlcEDtwR2oAyr/MiKVOe+KoF8jnqP1q7ebQvGA3Q1nk4yRQAjck5FTRj92McVC3IwO9TDKp04xQAMfzNNzj3oJ3H+VIOB70Aa2nIXCKucscAfWv0I8MwtbeHNKgkGHjtIkYehCAV8BeG4y+p2C+s0f/AKEK/Q5fuj6UALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXxz8XJ5bv4ha8SSWFwY856AcCvsavir4jTpcePNcmhbKteSbWxwRuoA5lOQDG+SvO089DQWSQlDkfNkEjpxSkE78lQwOCAMfjSPydvAfGA3rz1oAYEIHykDPPXFOLEFGAIBxnv0oK5CAtySMH+YpGSTcSDyORt4JoAbuKjPBXBwR1wadxhsPjnPHPFMUbwXwMqAwwMd6eGGGCsQTwR6elAAcIGG4ZDYOP89KaDsBAUjBxjqCKbE21uSS3AJbvinFwZMlcYJ6jj/wDVQA4lWbO1SR/F6/WmsAcEjjGMe9NhYbtrBQe/HY0oQEkYJOcjB54oATZtYlMhsfdx29KlRt29W3LnnGe+aYwRvmDZB7jqpoJKucFc9MHv9KBg2SccHn8qB2A6c5xSFdzMWTA9utIh+6MKBkck80CHHaQQu3AORmiQZdRsO1uvPcUNtUIsiEhuQy+9NJWTbyQ2c46YNACMG3LhwVOeCeR9aRyVVsvlSOOc/hTlQAFlwQTgj0PvTXY7DkcMQM7fSgZA4G3Arn9cP79VPYVvtzxxXN6w2bxsHoKQMoUn6UpNIenvTEN7ZpHGBzTuec02Q8cUAMixv96nyT7fjUMQy5NTZoAcOmAcVYgZ1DLk7e/eoB6n9KsQ7mHGMjjHc0AaNqV5Y74pU54HDD+la8cSSOXVd7nllBwazYdxSJ3+eOL5WA+Vh6ZrVh2SEq0TFuoO7a2aALdudjcMkbDgpIDk1ICRISHKFuwG5WqJCrAYkZHXgmQ5x9KkUbmZfMl391YDn3BpDELbVG+bapHygrjH0NIzFlDLJMc8b1Uc0rEr8jEuQc4QEY/Gkbzwh3HI/ubCf1pgYPijKWiAknc3JwBXJXB6etdN4o2gRYiZCckk965ifGRQIh9u9NOc+9OFC8sABySKAO70pQunWqdiBmtu4bZtbb95doA/nWZYRDyoVAycACryh5bkgjJxge1AG/DDAdBldiyzRkbSOgB7e/NVbDbHcDc4AfGSRk4qZt9vBBCJNyHB256+1ULAteagWmYqT8qfLnp2oA09biiiGVuRLvG5crhvxq7FEbnTlN5JGqKMKSBkrnj61n3MQuoF2pEio+0yA4Lf5NTTGa0tld2AIHy7l6H0BoAlsnt5VkmWIwmLhAOCx96guZ/MeSKNbaKSTCv5S/17VUhiubm7UKCxbMkmD78Z+lWZ1WAyENFEyHc5J3M/oBQAtz9js7eMFZjGG+RSuN/v+dH2dXi828aOGJhlI0GS3oPamaTBNeO1zJE0pT7u84TOepP0rQ1+XyoRIY7bdx8ykZP4d6AM2y8u2uHu44wViGQGOee3FLqMcki77mSNXnJkII+6v19KqAqltHJIxeYyAsm0FSvb/wDVS3IubqYYjX5wACBgY9vSgC1a3f2W2WMLvaTLHBKg9hz6VRdpGcSyIixKMqCDhqnQ2yJ5EzO05IQP/Cg+lJqkoa4EFuq+WhwO+aAIYZI55443Bjizh1BxmtLWJ0vfLZ5NiqNscQ5IHufSq2mWyC8juLpklXoYlOGA96WcW0lwywukcm44VjwPbNAGbaQGbUkgVwsZPzN2A9a2dSuoLd44NNP7tRhmcZ3HuaqxGOyWT90JJQuCT6VFBbzX0gkSMJGOSwHA9TQBWll+0XIaJZAw+8xOT/8AqrQtkcP9ol/cRA5VcZbp1HtSafaQfamlG2WKIbmHTJzxViTUvtRYTQloUGQAMbc0AZV05EpDJkyHcCwPSr2n6eyBbu4IhAJMcZIBY/4VLp+nnU3kk3eTbxHc8shyoHp9az9RnEtyyBhsBwpB4PvQAuouWdt5CM7EnsB+FWru3gh0m3jhfe7rvc4xk/X0qrpts93dGBmXZjLMfQ1a1BooplQSrLAowBjjA7UAZ+MwrlxsB5PYe9aGjSwQxXjB3QlRlupH0qtdzw3U6R2lusYc4+U4Uf8A1qmto5bezmDgY3ZyPut7CgCjcSeVJ5kalT1znk/Wn2yTXNsGSKRyvGQv86sGUIBthCsOWLruzWjPczRaJapGqxPIWZmjyCfrQBlSu8MflqpUEjOaSySS9mS1jRA+CSwXGB6k+lNkmaVI0aUnYc8jBH+NTadua4cmbY23YPUDv0oAnmii063eCKQuznOezCsZ1fayrliT+daSozXUaYVM872PFK10LNGELK0pfhHTjHrnvQAajO8ltFGwyFXCjPC1StFeS4it1Xl+yjmrwmj+xQLsJkkyXkJ4H09KfYw3MU5uU3BY1Kodw/MUAXJYtO06D7NJIGvc7nkAyD/s8dKxJWIaTZtCk9MZxTLveoYMdxY7mZuat2dv9ojhjmUgN9xAOWz/AEoARpXtbISQxB3kPLA9h2FJ9vE+xJYh5m35m6YrS1lbS1WGCKZpTGAACcAE9elU7VjNdG2kxHEoLyBVySMep5oAkSwSKB72+b7OxAEMaDBKnufSmm2tTESs8mPvLuT+tV7+dZgrLvbsu70HHeoohNMrRgOi4wM+ooAcNPkISaZGEAOd6tk/lUl24ExyW2N8y5PPTqaitLqWKeMs7IinB3DIb8P61esoY9RmnEbH7NCA77mAPPYUAY0iysvLE55DetI4fyxkt5jEAEdPxrWgYyTbIbSFgv8ADnIA981PBNZLKwWXZcPz5gi+VMdv/r0ALfzRQafBFbqzIowGYYyT1NZC3TJwCz/j1x9K09VjmuPLF5MCq8LIvIx+FZqLGgGWCoDghSASKALkM8upu5kiDsqcMvCqM96kvGt9MtljuZFLBtzMhyvaorW6VYYo1BaJE+QHjB9/WrOkaHD4m1WPTby5FpHPkGTbk5wf50AWfFF5HqWprPbTKyGFBux0wK878WnaFUHI5Oa6y6sU0if7AG8z7PmPcDkHBNcb4pZg43HtQBzPel7c9aKSgA70opKXFACgVZtye2AxIxmq2Ku2y569M/lQB03hxB5EoOS27BUfxVuxRfPhbVgfVvmx9Kx9BbEDZCnLfeY4ArYHlg8qrP6xsRn8aQyRCu4lVkUpwwUY/wD107eF4Vgynoy8tn3pqqCd0Sxhl5OSWxSo+VJR2Vv+eixUANSNJEILec47lcYPuKRFCfKUuQe4yCB9KkV9wxJMlwDxiNMH6mnCJoUzCjhR1JUE0wG+XIT8rM8LcFXYflSmONduIcFe33vyNM3RE7po9277rlev5U4OQ+3JMQHAVTx+NACttGR+9UD+FORSKY8EyGFwByclTj6U5nChuiOvLbuWFM3OVUy4deoywJ//AF0AZXiUx/YGKyFs4wrLjH0p/wAOIvM+0k5xuGSOuMdqq+KH/wBDAC4yeq9DV74dssen3EjkBDJyTQI6+4dYYYklifYC37w9c4yBTXEH2B7dMgbQ+Sufm+tUby9Fwi2e7O1yyBeSTj0q+sP26JY0+UqmQA+OR1B+maAKkd2os2bJX5dvPrnpiq2l2sckm2ZRIWB29M/hRqNsyW5kWPhgC5UZB56+1P0pld7dpFx82FycZ+hoAY0BtZVCxgQbiMn+E121tbIunocqxxkbeNzdhXKyMv2+YJ8yHKnnv9KST7XcXEdrbXG8xDOA+wAH1oA0NDMUl3cO7xiZW3PuJIH0Pc4p/iS/jjgiETIJHbheDj3NNi8OoiQG7ulXAOUXjnr1/rXP6gsTTLDZIHZjtKu2cH2JoAvaVbvHC17cTh5l+Vd/Iye4+lSSX0sasolTcfmLYweeKLiSSC0itQSGCkFAufm+tYF5JNHE9x8hxnJkPFAFm6uI7izkW4jEkrnCkLlgexFYdpd3q3i26RMeCN6noK1mxcFY9OAmu5AGkmXgID/Co7Vft9OOnIXEUjSnGXY8GgCP+2/sOkrHNJggkEN1NcZLNd65eLGm5kJwPQVc17TLqa7WSZwsRbPPU+1dhoenRWdkHgt/PbbuJ4AAoAl8LWCaLpMss5jSToGI71c0u2uZZptUkTz/AJSqRheT6EjsKqzC41OeO1iDSOcMQRtCjNdUkv8AZ8PkSSwrMoAKFgdx7Z9KAOWaa9up0jkdLX7Rw4HH6VZu0toII7dYgBECrEjlj6e9T5tbW4WRo4GunPzc4VB6/WsPV76UyhUfcWGSRjH4UAZqQ22mXMrTxyNA4OxckBG9DWrYXFqLeMrBGGfBJ67c1GLGJLJzqO6SSfB2h87Fx/PpWXaym1kFpdMzoR8jgY3DsM0Aasgt/t+bqQBZiVCoMhfTFY1hbQWGtfO8c6hC44zjJ6H3reWaMHzeV+UjLLnHHasJm+z2FzJFAzyvJlXdfmCdj7UAXrba987yRfMMuqsxAz64pY7WGfVlQHcCMSOT8inr0psYuLi3N5HCWZgOvAP0qVDFFdF5JdjDG4hehPXigDce0h+xqkNwEijkOGGQcEc4FZWtWyHSJ3WZpFVTtJXrVtZQLdY/ML5l3gFcE+9VvFEhj0eVQSSRgkjFAHmV6f3VWfCozfnCK5xxuOAKp3v+qz71reD1Ba4LoCuACS2ABQB0kkkSIqMCrlxkocg8+tNPlRvJulJdiAQqnKCkW5fBWHEUH3UBXP4g1JvuIowlvFgynJeQ5OKBkcsoAlMc0u9VyA0YIB7ZoeKaXyzNI0jD5towQT6+1BaRVDThpQWwseNoY/XvSRQRBmYxMqlcEAkDPp70ASGIpJEJPKGMkLH0B96aXZQXnmnfB5MYwqj8etMRY/tBTaV8sAhIWyT9aWfDqEaKZEHLs78knoMCgCMsjQN85wTwZEI/DI9ai1HyhB8vkhumFYk/rVuSUhMLJK2zBUFAAPTOetU9SWTyd7Mx3nccoBmgDLJyK1NLHy9+OeayyeOa2tNJMAJzwAKBFgj1HJozjrQ5IOKCfloAYw4+bFUrnAX5APY1bY8DA69c1Ruxl84yT+lAGJO2Cw7dartwcEVbuiWZjkY7/Wqpzjg5PegCNskY96st0HsKr87lz696sMQc8DrQBEetOHJpvRqVASR9aAO/+Flslz4+8OQyruja8iDL6jNfeFfE/wAC7A33xO0JAcGOQzfgilv6V9sUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAB6GvhTWnD6xfsTnM7/+hGvuLU7n7Hpt3c4z5MLyY9cAn+lfCly5nvJXCnLyFvzOf60AQyBCzeYwH8SuDzimbsuYzhmHK4pTn5QSAoGDkdPXNNVTs3L8zKei+nqKAFLs2GKgndkqPamBj8u1uASVOMkH0NPwkjbeVy5PJx2pN3U4IDD5h7+tADEDAbtpzyWx6UrpHKCEkw/JGe/pije6HBc4wfmxTAoCddxPIOM0APVWIUtxg8Ejr60oGM7skjA9OKAcPgY+Y524603JCZIO0jg/3TQA4n5hu4OcD0YelIigO6Rna+7IUnkfSleNxH8zHB5GR0PfFNGZd/lkEnDDjOaAJEYEZZcDow6cU3HDA9Md/rSL2+YEYJOBjNSoNgIcc4JU55xQBF86gnjIxgg04gOgGBu3cH1FIMhThSQeDg0PgY789un40AJyuFOSCBgev0pr7AqqCducZPVT60gVI/mwSmRwTnFEnDZVz5bMcAc4+tAA+5iNmME9SOntUJ3DKg4HXAqyEb5yrAkdRnGT9KZKxbaNoXknHcUhogbgGuW1I7ruQ4711LnmuSuzuuJD/tGhAyA0n4UtIelMQmPrmmN+NPJ9KY+ewoAIu+KlGewpkXQmnqPegBwJ6VZtgoIZsMPTOCKgTkjkD3qxAcE7ioyOOM5oA1LVgu07XbcfmO7731+lasSRkBAMHhgynkH1FZlgVMBLFCuRuXoQfWtJIdpRz85zgbGHFAy1C6+YSkUbP0Ypkn64qdWzkSI/HqhIP+FRhixKliW/BH/+vT9px80ix98SDk/l1oAC2BhVXH9xiQB9DTNnGQJV9onytS4lKgqVMZ4wBlTUZXacMkag942IJ/CgDmPFLsZ4g2MhexzXMzcvW94i+W927gwA4wKwJeXNAiOn2y5uYh1ywph96taWu/UYRjPzCgD0CwVvMiI4wCc1atXQzlnZgTyD0BqpbE5d88KCAK0baJGkHJK4AHGMetAF6/8AKe2gjCFXX5mlHXHpSRSAzCKIhR1DbdoHtTWfc0iTlflIVSOcc9T+FacEKkyxTeXt+8jjhT7/AI0AUdQdgxjVGw5AGVwDV6BZLpS0yMI4Og42g+pqlIs3lor7lRyWTvyPQ1Yurh4ICryo6KA4K8hgOxFAENgG/tAGVd7p8x2/xflS67cfbF2xxJuY/Iqfe/GqVtclp3uTkiQYwOP0rbtLCOKze4N3AspH3duWT2oAoRB7S3jWR/MUqMRhsYI9ao3LtcOPNxukP3FGCfrV0zWcUkioRI0YD73XofStHQlKxyajqFzs6+SCo5/CgDLhtDbRxy3C+WWbcIyOvtRrN8JG2IipIwyZFpl3qE93LI5RpnLE9O3qPSoHjRbqNnDFHAyT1J9qAH6PZi7MlxdyeXFDwCOpOPSl1O43TqLcRYhIUGMYyfU1qW2JtPeVbaKK3Lbc7sEY/nWQLgBZFxGVH3WxzmgBlk0iNNKJ8SNmMqRnORVeRNzEFeR6DJJ9asadEJrxAw27GywPertzdPHLL9m+zW8aHAkCgn8KAIIMQbhOwmlK42tn5PxqOS4aEqyjylVThY2q3YXslzPieaJgiFh5i5BP/wCuqcxtnaQT7sknDxrxn6elAFwssekqF3PPOQ7sDgKPTHrWckEl1IwRhGin5yeOPw61bv4GtooxOuC652jg81QEQeVPKDHe23AOTQBram8FpaQxWEzM+A75Hy5rL3xlWMu5nI424AVvWrt/BGHSCHdtTqz8ZOKp2Ck38Q25Kknae9AGtArabpcrPHH9onIwC2HAx6ehrMnbeq5XduGPp70up3D3NxtcHcH6qMYHp7VJp1tLdTMzjy4lIK5/iPtQBZgiOlWSmaFGkuP4SeVXHH0zUt7eZihhRvkjXhCOAT/Os3UluWlllk3NzycZ/lVpbCWeKKZ2SKBuFZiecdcetAFKTf5YmMgAJ4x2NPubqaTTIWfcT2pzmOKZoj5Uu0/KGY4zVlmnu5JEnCIo5O1eFFAGfY273V3Gg3Km7LMR0FascsNldS/ZY0BwVO87zx3rKeQI4WJyAD97pmmxMBekbtynjcRwc98UAaQvZorA/uoyRJkbgDx6YrPuT55DhRGDkKD29qfcwrnCkgDjd0zRY2tzNf2kcMRcliQW+6SKAHx4exiJCh1wvP8AD7mrP9ovI4feUhUAbEXt6VPLafZ/PFy6l8ncoXKqay2TCsifOVJwUHDD3oAnCwXuoiKIhIic5c/dHXmp21KJrkKjMs4kwrjoAe2KTQYIXW7mj8zzScKey+pNZQ3W88jKyshbHI/lQBaufLa5dxgAfLnPJpmlxtPePIGCjBVs8DIqRoUmvGYN5UIXLZ5wP8amGqxx2728NsPLH3c9QfXigCpdmSRlGAyqcDngGptPnEd1I0zSNJ5JWPa3Q9yfantCXhE7IsaO4wSc4/CrFqNOs75ZZN10rxtlV+UZ7Dj3oAihtzKdwZScewYkdMCnxtCkwMkOJwGZkA2DjGM+9Zktw63nmIOQexztq+JWngEsmZZQPlb0+tAGdIsgl3gcZyDnH41AjFZi7fNnk+wrUkO3IbbH32nuPUVBZWiahOQWKxqCZHIoAntIvM04GVtsG4sqnqRVKRgJSQqIoXp6Vsm6Q2H2d2AXdjcQCSO2PSsi7ttzpDF+8mc7AFPvQBfa6aCC1G2HY0Q4Kgk/jWh4Nd5fE2mrEsm7zMvtHQVl3ttdtMiNHgrgAKv3a3vCbPba1CCoV2fklucgelAGJqsMg1e9O0qUnfIY5xya4DxaxN0B2xXf6tI5ublm2gvI3A7DJrznxMxN8y5zigDGooooAKWkFL7UAOGDxjv1q/ZL8wHXJ4zVBcE4rSs1PnKvIJFAHVaSvlWyeY7BGJwqqD3rVDyxodrW4Ho42n8qpaYHEESooTjuev0q9iUKd5MrqfuOP/ZhSGLtkblfs5QdAi4J/OlZmySJoxKOMsNuPqKYyBwGKszdRluFNLiQgIi+YezMN3P1FACxMMcJknqBjc3uD3pEhYuTErxMONxPUemKWVJCimZI0ZTwYxyKQGFgokMxJ6Fc8+5NAChZIyyMI41Y84JO6hdkgxHNuwMGNCVNMAiUkIY4x2aRsEn2p6kyktJHLv6b0A/nTAbnYAVjOwH+NdxpwDkb1UIp5LMowPp3qRzIF3pnYOp3cj61GwTzMvEWZudy9PxFAHOeLGUQRkENkk7sda2PAKKuiFiFLMxO1h97tWB4wlDOgDbiOvy4x7V2XgNFi0uyZ1Ug8jPrmgRWisbmPxVvkh2Iw2ADkBsV0jI8gMkC/P0KYAGcVX8TS3Fzqc8kKoVWXhk4wcDpUcM0rCF5AwV1KZAx3/nQA6xDXum3kCM0b7T8vYY6is/RSPNhmcjEeWIbpS+WtpdSKkrupbHPGfbFQSots8oQERMu4AZI3ntn1oA19MtUu0e4xh2ViPRjnrVK6uFiuPPjJK5BdQOQwHQ1qaMkj2MORmRAAoJxgZ9fWlmeKO4lLwr85xjqQ3bmgClqGqjUIFmSRVdUIw3TPsBUVrbNp0X2q9jjM7geWh5xUk+nQ6bceaEDRPhypbjd9Kqa1qiyneuFjUcD0oAq3+oStJ5t1IysDgDHGKyJba51Qg4KwZ455arNjaPqknnzy/ulP3O5rrBE2nKxuoI9uBsXocUAQ6bZfZ7CNYlUHGC4ODU6wlF2TgkkZQM3Hv8ArUWnSPLaOGjCovzYJ5PoKrTXVw10sFqysSpDlx0GaAHX1ul3HtjKho+WO773oAKdaLfW9rHZR/6mZspnktnsfStOK2+yWsRj8oIy5ZpeTn2+tZ98s3k/ulMe47lGfunPUe9AG3a3FnpMeBHI94/G/GSCPT8azNRmvLtppls0Eh4cnrn8asaNME1CTUNRkicD5CFGSGxxn2qhdzTaxqDwQT+Wh5APBx7UAVobS4luFzOrzumGUAkirVjFbacrXFwjTSqSFwRtFXb2SLStOht7OEtcTY8yTcOlcxHIfNcu5wOME9/X6UAWLqeOe4O9+W5Vc1navEJwkSnfIvzKV/gq9aSQyzS3E0QSIgKihPlb161UNz9ouxaWrw2wUFmkY4CDvz3oAy5/EkNqqR3ERmkJ2lEOARWtd6jDdwj7PvGYwCp6DHQVzlzZ27XzyQBmQcKznJb3rTaB7aO3yRtk+8o69e9AHQeGYzNZGWRi7xMU2sf4fUVoyqt3C8jQiWdhlS3BAHSuc0yfy0uSJwFEoG0jnnvW6kvlIxQq6hOCpwBQBzOj6ncXmtzxTkkQHlh/KtjxtNv0xAu8JuHUdTj1q3ZWMNnPbSIRuuoiXB7kE8isnxv5q2UPmEeWWO0ZyfxoA4O/4iQCtvwmFW1kYsFy/V/u9O9Yeo8CP6VveGiUslKxgneSC/Kk/SgDZ86Uu7O8RiXj5eAaI/3O0B5SW52owpwaPe7zeUSpyAp+WlyGXzBNEjt02qeKBjWQGUMYpwV+6C27HviiJQVO23mn28AudopI0/eOY5mOB8zBsD8qRtjeXuuEIUZ3EnJJoAcPvneYoWDcBVycUBBsd4yJGwCG+noDSCVUXImjBPHygj8zRIjsJSYyAMASseg9qAHdAGkyxXktK+Bn2xVXUk226sQpLtncH3ZqWUxC2kzvEYUANu5J+lV7zM8KGCNiM4HyYoAzCpzxW5ZhvIUNwfSsSCRTcbCVVlPc1vRTxsBtdeuM560CJeQOfzqNs5OQAPWpMdOePSmHBPzZoAhk69TgiqN0wAfPANXZD1J49MVQvMbRj7vqaAMicKTujIAHb1queQSanlMeWKcNnA9KgbAI4NACA5dc1KSQOaSBNx3HoKHHPFADWPJ7mpIATKgA4zUPerNoMzxgeuaAPcv2ZLH7V8SBPnAtLWST65wv/s1fW9fL/wCyjCx8VarNtOFs9pPplx/hX1BQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQBleLGCeFtYZjgCzm6/7hr4bz1IXJGMZr7L+Lchi+G+vupIP2fGR6FgK+My+0sCGIxz6D3oAYrZZmibawyQhOeB2pW2naQ2Eck8cbDQyEohG3gEhgMjinPtcMcLuKhsj+KgCJQxjXe4LZwD/n1pxw/AHb7vemnDIMYyE4AGM+xoBBKZJK5wSTnpQAbjlCrYDgqQR3pu0hVDk4ztYenvmpCoHu3cE8E03buBVWUKe1ACI57MdyE/K3cU48BhjYMdd3Ge4pjqjxgMfnHBB7UsIaL+6p656hqAEIdCCD8oOV4zilzz5iqAM54HQU5mKOcYR88A9KO4aPofXt7UANOQQ4Xjk0KQScHBXpk549KIyNxUjHJOOoP4UBdyjbjA60AMbBfJDnd/d6f/rp7ZZQ4/8AHe5ppUMQfulR0zjPoaCVKKVUnLcgDoaAHgDcSg4PysP1pjIQu9AVfOcH8qF2sSH2CUYxnvQuWVWVRkfeBbrzQAhO1ixAAPpznio8jfgDG2pE4aQbgoP3QexFRyY3k47UhoiuThCR0xXIycyMfeunvW2wOf8AZrlz1zTBjTSAfSlpuc0CD3FRueaeenPNRtQA6MYWpBUcfQVIDzyBQBKnA6D8amt8AngtzgYqJF4PXd2GOoqxZj5gHwqnoxFAGpZlHXEkTK/B3IO3vWtb4JcBQrrxyMgis20bco2EpPtIZAeoFaUPnZ3FWZBxzw1AycklcMA6HgMvY+nNTxpkbV8zceQZMED8KhtwSTw4JJBBIGf8akljzhXi2n0zgmkAyXzE/exqMjgrj5aRozs+WNTnnC9M/Wn58zDDcGHBONv4e9RMsYycA46hcj8TQBx2uv5moyH046YrFkPzmtbVn338zcYLHpWQ/wB40xCHpV7QB/xNIjjOOTVH14rW8MDN87ei0AdnH/x7DCckgmtjTXC3FuUCOx4bd0Wsm3Zhbse2AoPfrV3Tsx+c6hiyhtueBQBoXKRgXMpXH7z5COVFTtvltoooEbzCMOwPAX3qlbyuliySAsHIJGMjP+TVvTrgwWckpnUhlwqep/z60AR28Ra8KXs0vlW42/IMjNT6lc2zwIlnBH5kp2kqD0+nSnWJSXznuJJEBb51ToR7mo7q5NhdRKCoTd5vy4z06H0oAVrhrm5WM2wIhTnYoyMVHd3i7lESfZ8dR945+tSwPBa6bc3TCUvJ0YDgZPPNUryeSZEdwgJChUC4oArR28kt7M0MbEcEkjII9/StrU55zGsZEXAAwg4Hufen2F3DafaVQyRlXDEAbiePT+tZ2pX8kcjLCwKnksDyf/r0AU5YJRdKmW3/AN0Hr+FbV1DBZWnmzuk2oSKFEargJ9fes/TLe4WSS5t3QuAApf1NJqGoy3N5JKzIrhAPkHAz6f40AMd0a02xqwAc5BPAqbTtOiMT3V+wS3A+XDDLU7SbGe/j/dALFEC0jMeDmo9avTcx+QMJFGdqqOwFAFiAwTEuLfZsBx5bdR6ms24i82VtpKsSPkP/ANepLC23WV5O82AihVUHlz/hTJpfLgMYw8rYw3cCgCawhZDcRGMNLt25OOKbbaeJcIjSC63jAHKge9LYIYoJ4wSZJCOcdRUi5WB5hIY2Y7VUenr+dABqq3BmxIxwn3V65Peo9Kto5bmS5uJjDBbrvbaeWPYCovPVD+9VnmPQ5PGT6VcliudPsmSURq03zsD83HagBkSx32pbEBWHO8yv94KOv1pSsIuxcq6PHkr5f3W/KqthKYHJUrvYHDN/IUy5ueTtUbzxtVc0AXtLthdXrNPsS1Vt8hJ7ematXt9BMzKsqpEowiAHAGOB9T61TlzDYKhCMW+dhggn61RfYkCyNFIW9SeKAGTB5JlTLKjMMAHrWrq11IPKtVhEccQ+Tuf85ot1gsY1NzATNN8wMnRR9O1Vpwkrp5cwMg67eh/GgChPK7cPuJUk8d614pVt9MVMSSeZ80hBxz2pqWcsNuZGaDzpOUBblAPWmTNnT4ElXOTknP65oAoTYw0wDKOgB6Gty10ZreGGS8mWIT4bai7mI65xWTaJ5l0m3EixEOVYHHsKXWL+5u7xpJpiW6gKcADt+FAFi9+W5YRIDjpk5/On6KstxqDTb2URIzFugWsyE75Ng3GVxkKD1NacCG202ZpTIrO2NvQe+TQBSuLndIdrgIxI9j9RUlrayTK7RskUa/Kzs2BVZZIkB8yAOSeDuxtq/fNG4jhhYMm0AKex70AOaEQxXMQkhRVx8i5IPuD3qokvkM2+CKSMKThhjPv9an01Wka4QRCQ9AFPK46n6UqqC8sxxcOnzMoX5R6H3FABbsi6XPLPCzeYu2PsP/r1Qt5gkhlVdjAY56VoX9zLPYRyEptC52rxjPXispULxHefkJ6DjpQBevmke3gDsSFXIz6/SmwyactusiebHcJ2/hc/0qyzwz2/n3MjLAqgLgZJPpVKCWzklcXKv5IGQi/eb8aAFniWKUSxtmVgGyeOtMkd0Tb5fmM/JIXhfy4q5d3MYii8uABdvc5/OnadLPDv8xHaHHQnCtQBNeW7wrDdSeUzNgbCQcfWpPtdrFAwjQRO43s6qBzjpj0rOmcXDFguyIMcDOSPpVPl5lhXzCHYKSDyRmgC7eAQbHVAS6/MzdRmpNGCx3iXhkHmKdscZPX3qW/t4oiHE8QHGI2GG+lQ6bFNLeGdFbyYsjen9854FAD57iZ5pFaQgBjjb/nmoLPQdZ1a7a60mUqbRDO5D8lB1wPWop4FWQbg+/JLbj3z6V0vga6NvdakykhltXxg46jFAHL32FkYKQccZzk15/rJzdyH3NegTFmjdQFPPLAV59rBBuXI/vGgDPxR3oFBoABS9qTuaX19aAJI1+YA960rdQAOMOvFZ8HD9sdcVq2i7ySud4IOAOetAHWWKD7MmU8z5Rlec1bRVIDReaoXoSMAfUVHCFMS72kUj+M81OVDAHEpP94Yx+VIY0swYFo3EvQNENy//rpu1ZfvQTKw7sQufxqRVJf93MmOjBFwT/8AXodl80DzHB6BWU5P0NABAChKxpz/ABB5M4/On5IOTK4H90PkD8qZI8fSSbaMfKCmSKRWjZcRy4HYhT/SgAIR3yxSQHhRjdzSvk5UON/90rhSKjecqW3TbB3VozgimJ5LuAphK9cOrKRQBM0UagNIkjPn/llxinbZOGWWbLf3mHFNUSeeCADxjKA4/WmyMCT+5eXPBY/Lg0wOO8Xs4ugsm0tjPy9DXoPhYxx6TZs/REBPtXm/igZvtoGBwDzmvStLswdJgVW2yrF+mKBGg19FI1wZBks2EVf4uP8APNZzy/Y5gZlPlKS6gHv2rN8PytHLOk4LXCyhUV+PlPet+awOds53MQSh3ZA7UAUNVUH7Jd5bZKTlWGOaR7hRo9xDKrbvMDADoKdqLNHFbW10Q5iLHZzgehFLpOGsroTJuZ0KjLcqPWgC1o87Ls2ozBvlQk4Ck+tTLcSvKpba7GTiTZ+FV9DkV7W4QcOqjHOB+NXlVUsY4xjcPmLYx/nmgCvrEE1xYzLHMv8Ad4B+XvXE6dp7pcOl/d5RDlAehrX1jWzbQPG0rDJ/hPX61x8t/e3FyhhiUoT36YoA7zSEgecmNgqw85PRvati5uGEbyg5+Xdl1yMVzmkiS2ijaVQkZ4Zh0rUuxLeQgQ5I4G4cL+fegDQljtZIM7mS5ChoyqjDcdKr6dZzKJ7lQguOSo64z60tlEBDBKTs2/IUXgnHcGrdvHNbXhLGTyphjHVWx0ANAFOW5a2iVZG3sw3cDP4Y7VZNtHfWizTvIsv3ti9U9/rTb9nmu47eJ4o43ADAkEj/AA4q81mluiNGxD5A3Zzn3NAGFFCkUfm27SbixWQYyCPf3qxD9hhQXEYZ7jPAHT61ga7q72bzjITcSCF53Gqng/WprlLi1uIiibseZt5wO1AG7qlxDGq7kRc/xZ5P4dqp2kEUsT3N0pESN+7jwf3jf4VrCXT7WQSkFnP3twDcf57ViaxrF1qbLFaKFt1OFjRcAe9AFfW9ZuJALdYmSNRhFxgD6Csu107zSZJpApJ6Z5Irdt9PTahvmaRxyST09hV62kjmnkK28a2sOBwv3j9aAMeW2W3sDIibVfhCx5wO4FMVPMt7d5lk3EAAZ4PHc0uvo8okmjLRhjlU7Yx19qnsdNkv7SJ4ZNqqB5m44wPRaADQLVrnUJonQYC73Gc4xXSSRJNtt1Zo2Reg4FYkNube/tTbSth/3W09c98+1XtcuLzSAHucGJTyy+lAE9zBN9tgePKvEojXJ5rD8eECG2RWLEEhj71uabqC3kUc0ZLSO24gnp2BrC8cOMWp5J3E80AcNqh/eKPQYxXTaKBFpMDSXDR5yURBkmuY1Jg1xntXXaQjRWUD7IV2oBv38nP8qALIJLhfPUBju2SpyR6+1SBxLIzNLG8afKqocbjQiyiRmJLbuB3/ABzULbJNsS3VuG7/ACYIAPY0DFnVpI5FZCiA53EkAjvUjMHwitJ5eQqqB/M1Ck0Tp8zuw3cKpzk/jUjTBW/17whjyEO7aMUAMM26RfMmXfjCqqYC+5NMeAlEXyzO3mZJV+oqeKQlQVknePGB8mCT6mo5AgKqROZcfeIxg+w6UARyAMwKxCOVc7NzY/P1pZEkis1aUkyScqd2APY1aS3VpGP2TzNowDK/X6VXdTGsjPC0jrlfkfIWgRzc1szksOue1Taba5uo8lioIzVhR+FWLJf9IBPyjNAGuw4FMYnrxmn445OT2pnPGTz6UAQzc4B5rMvPmjO04IyBWlLweT16AVmXwJyTgkcYFAGQ42npmmt19u1OZjuPHHpTG68DHtQA6NiAQDxS4IzjrTFPHNPzkj8hQA3irNgM3IJqBjtJxkdsVb00ZlPHQUAfT/7JceLbxDIR1aEA/g1fQleMfss26x+B76bYA8l6w3eoCrj+Zr2egAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDlfipaS3vw816CBd0jWxYD6EE/oK+MF+VD1PGOOwr71uIUuIJYZRujkUow9QRg18Z/EjwzL4U8W3tkUZbZmL27Ho0Z6fl0oA5NolhQn73yg/K3BFNAUMyuMgnbwOnpTiFXaNpBwc57+lKELndgMFPIPAIoATocD512gMCcYNIgK8YxtHPuDQEBYNgqc7cE9uxoZGBViBt+6cGgBmfmwRnGOD39qGYJlSpXb1GMjBpZFYqcgAk4JxyaYAuVO5gTxyM/nQArAsrjIcryCP505XIVegGCRx0PoacAGw/yjpt2/qDTZNizDgDOSCxoATAKZft0zztp2wqcttOBjK85HY03dgAKQM8cc49jTkXLE4YnoR2AoARcEhVxu5J7fhQApjAKkNjjn+tRsFEwJKZA4zSsAiDOCB0x6GgB5bLMpUHAJ54NMUHO5ieDnGe1OAUkbSHzgEZ5HFGdz42nbgY3cc/WgBHOAMttYgAcA803nJDvtZR90f560NGqwncXx3C87TQ8aNIjc7z1wO4oGDnaSdjc4P0HqKhHzA5Yk9OetWHjcDDjAIz16etRY+Xg596QIz9VO21k+lcyf1ro9bfFoR6mudNMGMPSkOPWloPtQIT2A61E9StzULUATIPlHGKXsKROgp/ccUASRlhh9xHOMirMORyVZkHQ+hqsgwRkAjuKuwqZBtWNhk8AGgDXVwx2yKCduAzcMtW7dF+QbJ9zDBO7rVG3ZRs3BmT7rBuWWtGFlEaqJpNo6KU3frQBNHtBZAsbL1Oeo+tTDy2Xb5pQH0c9fxpgDsQFmiZiOFZOG/GhigHzsyKeCqIVoGSuQRmYsB0LD/wCtUUxZQcgypjjHJx9aAIhkpvQ9N2efxFQ3G0RsDG20DJKsMfmKAOHvmDXErAEAsetZzck1oXBBZ/rWeetAgAycZA+tb3hZFW4lYNuUAVgYrovC8eYJyeuRmgDp7dS0LEE4HT8TW5G2yzkQLvYpnP8Ad96yIJPIsMgZBbBJHStGIE6e8jbvmwpI4LH0oAtKvl2LrMSxlUgFTgA1f0C5ht1W3laIxsScSLke3NVEgElkLRpUTLBvnHQY6bqZbtFh8EAxjAIGWJ9KAHW8sSalOiRh03namePr71RvrZ3vJZS6qcjjufXpx+FWLSCW3mdjEf3nQOMY56irF5FDp08UVz5TykM7MpyORxQA29QTtBbNIY/NAAIGB+Qp+o6f5M0UUeyaXjaoGd3+FTaRPK0DSywl2OdqsAFZapGWZ9SR7SI7NwYBT6dRQAhtmtrhWuJP3zK3yxt932I9aZp0fmu0ziNmi+6jE4J9TSzTLdXJDybAXyQvUfWtKaZIYIbS0eMW5yXaQYK+pz3oAqLHO6vL5yEMCM42gEe9YbFhMS7DIXbwO9aEcby3BMcquCG3LnHy+tX9MghsoPt1w2Q/yQrjcT6n+dAETXbW+kLaQAhpmzIemcVlZEcnzsD5mcruzj61rXk0c8cknlkRgbE3Nzk96xraGM3McEgbYz5IHrQBqJZypDHHPEY/N+dGJxge9UbkxxTCJJCSoPIGMmuguoo1jhjEs3mHtIwC+tYF5vaRslcdc+v40AWdFjecTrHG8sxbCsOAB7+1Plt1XBuTuCgkCNs/rT7N7qz0ho0JgFyd5Y9CvaqMbEZj8xHJ49v1oAdYXAXUoigxGH3Bep/M1NctcXE7zFV3BiRwRvPsKk0MeQs929ujrgojSLkA+oFZ8zSyXRLTlQpyDzxQBbjBmkAddsjZzkY2etVpEjGcuQnO1s4JxVyFkS0mm3id2O1ZGYgj14rNiU3lxFBwXc8H3oA2ZQsMdmtwoUFcu+75z7VUuVi+2xLC5a3LblYj0o1QXCu0M43soxlmB49qk0S3txObq7J+zx/LtI4JoAqXEZur1m3De5wGc+/vW3MYbCBrVAsty8Y3suGGev4Yqnftu2zxwxpGeVdVzn2qreXDzXTtNzjGNo25oAqzSuzBmIIUcemOtXZrSVNPtriZXjik53vySfYelQooFwjq6NGhDvu7nPTFW9WuLm4uEllObfgqrLgf8BHagBmmie3je4j4RyQrsv3sVDBD5rN5rqqpyzEdT6Cll1GNovKk3ApwhU8fQihtqW8YIO9vmyOnXtQAk97DayoIrZFKnBkB5I9jVrVro3lrawMx8qBMlVHBNZTfvJgzRZXcAB0FXtQuVlcrbp5cY4wBQBGjIyeUVjRXIG/ZkqB6VLfxRpchEG6NVHMRzu/wqjI8iEBWbCnAxVvRYka6ka5L+UF3beQW989hQBe89Lbw9LbxIVSWXIc/fI9M1jPc7SzxMEHGQB19qvapepeYePYgTiOMDoo4xWb5bzTRLHgs7BcE9P8A61AGvPKpWBJAI2C8kJwD7iqQtbm5IZIpWSTjeeFAHXmtDWFtbZVjW5Et1gbz2HriqNpcMy+XkiLGcK+AT6nNAFq4spUskXYghALbVbO0ZrHZEWVgNzZyEK9z2FaMcxkeby1woXsOPxqKKO0ubaQPPJG6ruBC5APp60ALBcn7GiFYwwGwgjJY1NAJnT7PG4SH+JnzgH+gq5p93bW+m74be33hlIyu4vge/T1rKvbp7smUsNzHJVTjOTnpQBNNa/YWUvKsokXchUbv07VY05mtVluYIw9wBtEjAjy8+g9aZGJdGiaWZVkuXAMbBuFX/Gkn1VLmAedGxkAx5gbkntQBEt3LbSTF5Q245Kbdxz+Pepri63aVCqBjIWLMegB+n9azXHlnc7YbryOTmrkSL/YqtJ5jXDOcnsPT8aACwV7i4ZLksz7TtIPT61ueFTBb3VzIrli0EifNyM47VzsSuitkHcy8k8YqwfDGr2cGm6u750qRWCKH4yPX3oAqagPs0BXID8k4rze+O6Y5rvtXkPlzM2M4J4rz66OZDQBDRR3o9qADGOTRj0FLjjNKueABQA+IHIABJPWtyxdt0JiYrJuwy4+8Pasm1HzjOQM84rb05VFzEoLlSxUeuKAOrUALlcp6gjApSTn5sL3wMAGmiLYVZiY8DG/Jx+IqX51CnzQpPdQG/nQMiZgzbZFRRnKhTlv0qU8JhfMI6A7sc/U03bMshG0Me3yhSff2o2A5cqpxwWZ8H9aQDlDR8+UFY9d8lMaRdxLTSIcc/J/KjCRHHmogbkggsaGkJKg5mUD7wQZX8KYAXbYoLS7D03rz+dKrdfkkH+0HGPxNNjcys3lOoA4KOSN34GkEhLFFZgwGWVxx+AHWkBIVLNsLTbexQ7sH3NNcnDKZVZQMEPnIpQQULbHAUdM7c1GHl8otFOvuJADgelMDiNZIbU8ZBBcDIr162k2WVrHswuFycdea8jdDda9GpxzLnjpXrdtFs8gjJzgbM8ZpIGL4mWGTWrhI4EhdQGVc/NuwCf8A9VZyXyqcoUJYbcHsfWrN7Ct3c3dyyb9shYsD8w7fiKrQpAVjKRoy7snd0zTER6y0jC2kcDaV2A56YqOE5eLOMRks3oT9KkuVSefyoI8YIwfQ96q27eSWBwBu5LHjg0AXgwtppjgHevAHA564rK8QeIkt4VggyZNuOvQ1R8ReIDKzR22A3TK1laFpMmq3BRdxmP3RQBNp2jXGpj7TcviPrz39sV1i6EW0aK4hgVZVG6MAZP41Z0JY9MtfI1JDG+7CuRkEjtXQ6XITbrtAZVOT3GOuKAOW0C/jZ5Le/hVmdsFQPut7D+lW45Wtnks3YqCpwMc7Ov0zVfxNpz2N/wDbrMgCRs7QOciq73v9qx+fvH2mJSSCOtAGlp0yNJCZAXVQVCg4B/8Ar1sawxks1SZvL2HcIwcCsjTvs1xbgSK5YDKlWwAfpRfTmOJvNJKHGDjqKAHNOlrbtJLbp5jHBfAyR/SsDxD4qdY/JtwN3YA5ArP8QeIfPC2tpuYjgZ5xWfa6NcuiSzoQshHzHt+NAFzSNJmupFvL85BYkbzxmtTUbc6crSW4BikBVmUfdbHWtXSNKRoI0nlYxbwqg5wT7DvWl4ggt2AtvMLjHl7AM/QigDz+M318FgndQn98fxD0rq9K057aAhIsgDknjFZelW88F28O1X8r+B+Dg+lbdxd7sKriNXG1hjAoAhuI5ZYzHEUySOM5NVbVfsdvNHNNhFJJAGd3vVl8+YNr5OPmw2Miqd/ePeeWm4hF/duy/wAqAKbQm/m3yM6QAYVVXlx1qZ5xb30iKrIhiAVc42E9BVtrlUVLeMMhTAJ6E4FVba0e8v1WeRArDexYZJAPAoAtWRhS7tjPuaOLJY5yCxq5rOmTa3bLBbyKs7nOzJxz6VkJbzJcwrK5ktt7OCgxnHb8K39M82S+in8vZCuXDk4zx60AU7C1S2sbaG4IiuIxhwvJJzjFYnjhw17bLk7QnG7rXXW1tGIZJvLxLuLs5+8Ca4jxczy6qnmnJ2d+tAHHXZJuDiuz06NTbRq0ZIVQeISea42RSbsAjqe1d0iy4VUSRVIwoJyR6nigBx3zHYokjLddzgEgdgO1MQyQjEaBSuEBZQc1IE+Zo2TbEB8zynDOfrTFSNgREzQI2MIG3Z9TSGTn7QZSkFxG8gGWzGMLUbTbZQryIrZyxCZI4/So2RZGaOMzcgZbdhSKegeBZGWUORxg4wPTmmAeY7iSRXdssFQqOce1EizMOkxkYjaGYHA96ZGJHk8uRJJTt+8PlxmmCKPzmEeSF/vOSPpmgQ4wqj7XjVtp+YiQ5P4U2d1SGZcRBsZ2qhGPxzSxRhYSwtCGMnzybs4HpUGoSpErLCDGZOCCOSPf0oAz0JzV63wHGdxKn0qtDGxUtsJUccVdtY3eVv4QoyPekMvEA8dDTJBkgVI7YjTKjI7jqajC8AmmIhkUgE57d+tZd6uEYjH+z7VpTBcHB74rIvHOOFPHBz2oAznYkkmo80+Qn7vpTCTQAgIzxTgeetNxnpQOnFAD/XvWjpSn5m7dKzh1rU0riNvrQB9p/s8xLH8LNMZVCl5JWYjud5Gf0Fek1x3wfsksfhroEUfR7ZZT9W+Y/wA67GgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigArlPiF4I0/wAaaX9nvP3VzH/qbhRkof6iurooA+MPGHgHXvDF1JHe2MktuvCXMSFkcfUdPpXKjcHIYc8cDp+NffJAIwRkVy+s/D/wrrN0bnUdEtZZz1cAoT9dpFAHxYygZ6gk9Oo/Ck6ZOByc8nPOOa+r7v4I+DriYyLBeQeixXBAH0yDWNqPwA0OaQNY6pf2y/3WCyfrxQB80EMG+ZgCOwPWmqGBypJBXGe4xXv+ofs8Hav9n69vPcXEGB/46ax734A+IIoy9rqenzv2QbkJ/EjFAHjDk7pFVRtOOo6UShSiAKMZx04Ga9On+CnjSNHf7LavjnCXKkn8Kwbv4beL4FkeXQLwRjklVDAe/BoGcdym1sbgcqSB/MU7v94kH+IcVqHw/rMbEyaVfhgef9Hfn9Kqz2s1tiG5ikjkXIIdSv8AOgCk33mJCnBAz1zQgJ9CBzj2qbaSpAG7IzjPWk25GRkf/qoENCsu/MfQgHv9DTGPz7V+dCAeev5U8pgc/ePAPb2oxu2naDu9+QfagCAMoAPOCCCAORT3dUBV+mAQx6GlZXBGQC2APWkXzNudqgZ28HH6UAAQMMKGDDkqTn9aj+6B24qV0JOWBDKMAjtUEnAFIaMjXHPkqPU1hGtnXicxisY0xCHmkpeKTigBKhPWpT061H1YfWgCXHTNPFJ+VPjIB5FAEkXIAbp0461oQljOqsoQ5ALY/nWaBjBOa07PLbg4zGSAxJ/WgDTSGUSEv+DRnNW4Y3Cs0K5yP4iBzUFpG6qAwDKG+VlPOKswqAS6SqxJPyscEfWgB4LlQNiBWGSo5A9xU6SMTguitjgFTj8aYrKw2NIfLP8ADuH6GnKqLhAJQo5wSOPx70DFkVn+/GPMP8fGDVW+Lx2srq5ICkbUHA+tTlOvl7MdSp+bNUtUeL7BMS8YfGNoUigDipzwfWqdWpvuE1VoEFdX4VhIs5X/ALx6etcqK7Dw8CmnxEc55xQBvFD9kgTs7cn6VrQZ+ymDaQGbkkdQKzQMmBeRwefc1oBljlhjd2wg+Zz2oAntWYWpKkFnypVuce9R6USb0lcKiHl/9qpwxh02YSkRTnGw92U07Tbj7PK7CVrdFj25QZ3HFAD4LmRr8h281wWGJTkNnpVG5kW41RI5dgWP7y9OvvVu8heO+iaV1dmXcAcbsY4zUIWM3Ec87n5zwirkqO3tQBcuAhKQNHIrtzG7uQoX0FULLzFufs1mN0oUpuXvn3qTV5fMCqiT7gRgnp+VJAyWUM8iTbZGTDMByM9sUASixj0uZWu1R5+jDGVX8R1qrdSPcTOXKIvQbepAqW5EcuxgsmxMAPITwfaodQswG2JvkfG47QDigClpsDXd7FHCVXexHzHAA96v6rceZJ5asieWdo29OOOKsaJZ24V7u4eMbCQingv+VQXOpgq9vbQxRKjZzjJb6nvQBWs7c3BlRI2kbjABxmrK6ebIpK0qGZV3GLPKg/zNO05njgnknC+VL8sZPWqEkjxs7NMCSCAVzkigCWQSFxJOvy9v4Rio5ZrZUk8qBkGMgBt4J/GrGoeS0UI5J2jLDjJqPSrA3l4El3JbxjfK4GcAf40AOu5JGiSEkgYAx61SSMNIBI+Ax6jr71q332bG+0jQ7jnbIp4+lM06KBb92ml3xxJvGxeM+hBoAm1a8wRGkZS2RQAoPH0rMkZHk8yMHKdnFT6qwlYzKki+YcliQAPotIsEdzNDCo2MQcyO/QeuOlAFiy097rTGubnKW24tkDlvpToZLeIQxwQOsrS/LIw9uhNR6zKI3W1iuBPCoADDgfl61mTSAYXcQgbcAh4FAEtxA7X0iqVEpz17fX2qzNdMbAWoaNo0bJ2jvjqatCZbaxMkCKs0nLySc/QAVC81nLG0+JBcnCyAKFUj14oAp2bXQnjtBuZGbmLPDZq3LayNKxYJFFnazZzg56CpoHXT7Q3UM6m6ZSFQjJQH0PrVSxncXwlChyvO0gkZoAt+bYWjiONJv3ikNJwW/Kql5O0pjJZ5VVeATjI+lVLmM7nZ8licgA1tGyQLFE3kwttHzGT5cY7+9AGRaWUl7cCOFTszvdj/AALV7UIjahGjwVA25U5zn61JZzvY20hjGxmfIlU9hxxVdZpbidYsCTzTgE9vcn+tAD9GdxM7+YqiMGQq3Qnp0qm0IuLxY43GJGAy3Y56mtS705LaF0Moe4f52SL5lX0GfWqNnBILwi6V1QEMVIwfzoAvajHZRgw2gXZEuDMfvOfasy3upGu5vLZwmzYmeuPSrGoC2e6BVUjjPRVfJP41ZTU4IWVWgQ24GwAnnpwcigDI+9M+5QqjnOP0qxZPJdTQxsUwDnPAIA96ScMkjyxMm2U5Cnnbz0qfTbFzbTXk0giHKxIRw9AFe5BluZPJiZ13fdA3HFWnjWxsI5PJVrtych+Qg+lQfb3jLAKUDDZ8nBJ9M96k1F5JXUXCj5lHOCD9KAJZryC4jjWBBDMUxIVHBYd6pW8UaFvtTLvPCrnGT60+zttl3G8hQIVwAece5FNnmh81mwxc8hjjmgB5mWWRowoV9uQR0NU5Y2Q7nUbc9Oma0bGCyuryJC7RLgtJJuz8voB2NGorbrg2u5kjPAJDH/8AXQBShuHMkSnHzKVwfSmzQkSIkfUHHC8fStaCG1tIjE7p9pkAd/Mj+7noB6GoLufy0Q2+/ABycYx9KAIjpk4YXl3IkaoPlD9X+lWrjZFbwxqBImN5UjgH61mvcyyRHMzBiD8znip0KT2IaKT5l+V2Y8ZoAYu+aRVTK4PzMxyPbiuv1CR08BWMaPvjW5IyD1OD0FctBaPJGvlv+6XG9lbJ+tbs8iSeGLeJHGBcnO48qMUAcLrzkWsuMDtXCTHMjV3vil1MDrH9zPFcA4+YmgBBx1o70UDrQAuMAY70vTv9aQA/hTh1oAs2wIIPT0966HSERrlSzKNw/M1h2qZbHbGQDXQ6PGFnbBIUL3HagDfCCIfNKU9CMkfjTiWP+pCyhurLgH8KjgYH5Y5t8nvg/gRT5BKMblwOmIhtz9aQw2lPlaJi3XDnJ/A00CIsd2wnHCsOfyoYKgI+zndnpv5/CjZkeYyyrjqZGAGPwoAf5jjiIhiOqkYGPTnvSLJ5nKTOuOpAyR7Gm7g+1PPdYz0V06/jUjhQvzQh4153Rtgj8O9MBjh2ASSNJ+4LHBA96A0ZAQO4wflOzp7ZpGePCs5XGcrwVJ/OnM8vT7RER0ZXGCB7UAKwBP71vMUdOc8/SoLkqImMzjcOQgXH5ipgVRSoWPZ/eJ/nVW+l2WsgVTjB5AOP1oA5nQAJ/E8C9ix59K9FvrsWEbLcOTk5Ur05rgPBkRm8SKVGSqsQB3ruPEGmX17aOYFOYgS+3nC+tJbA9zU0y+B0vYYkYyDaGBwQD3rN1CBLeZGjUmJm+YZxtPrV/SoljsbZYpC80C4BYcH15qHWrj7bGgiYAKPmXGMsO/40xGfbyrtnYOVCncDj0rltd1T7sUDj5j2711FqgkKxNnawrLv/AA1FFO00LEtHzjqDQBS8NaMJ5wblWZ34CgZOa7XTtJtrLWEtnGxguSQxGT7e/NTeFoYiiIY5Irl/mUDgke1SeKrWdJvPifPlEN5Y6hh3oAnfQLSXe90H2xkgMXO7nvWZa2V3Y3UkXmywwKd3mBfl56E10YZLjTopFdjMYwxwep7E1x7X1wurl7yIzQFQshJIXr3FAHUx6WsSNHezyN5pyrrwD/8AXrk7ixGmak80e2SLOxgR+lbl9qSqge23tHtICs24pWTaP5gdkU+U53OM9TntQBBb3cVuzfMojOSOPunPSsDxDrb384tbElj0LCrGu6axut0UzC3lyCc9PrVTRdKFnO+wiYbs5PcUASaNoTwSpMSruezdDXY2mmXmqXAjZ4lRMbVX7tP0iFjK0t7bFY1GFXt7CnLrQsknOyEYbIiycr+IoA3DNBpschvJY0dE2xqvLA45qr4faGR3v7gqy8hNwHHufesqGG/nke/kMcaEdZlDFR7Dt9a0BJp9tp5jlmWZdudo6M3XrQBm+KLOKVXuLJ0NwPmABzuqhaX6XdiSYkVwv3SucH09quXWtSXLsLRNsIAAATOMVg3ttMl0t1ApghmzvU9m/wDr0AbX9nKIN9yzqhI+Re/41DdRxxGN13JFG4CLEPvfU1LYXc8sbCYrK0Y27j0ApmrJbG1R4omjKuD8hxn8P8KAKmvzxXBecKUmCbQFGOe2fc1HaahaR6G0igLM2NxPLcdqnfSXkiaW83CJV3Eb8ZJ4FUIoktpo3CxuiMMqwyOTwRQBsW9pHJb273dxKkj/ADqnTaD/APWpYL/y3aMyBtqlOTnIqze36zTRxqigYGN/IWuT1e1kl8Qw+T/qVO1mXgZ60Ad9vjEMQMiPIUG5V4H+cV534omV9afaOEGBXewWUEkTPGWwqg4Y8n3rz3VgJNWunBBVPT2oA5yMB9Rj3HguM469a7UxLJgySvFCD0Ckfma46wCyavH8o27s4bpXWSTExp8jKrnGxTkflQBYV0VG8uSINnAB+bP4mkBkLlY41aNTl2XA3H/CoCI8MIx87H7pjx+VG0l23TRxIDgLuwKBkkse9DHFBKJJjw5OcDvx2okMIlEQjMhXgBI+4pYAHlZoFmPH+sV8Z/OmlRbqiAyRMzFi0jfN9eKAFgJdpDLOynO3aw+Yj2FPDMXwqiKJOrS9/wAKjW7QviA3DO4OXbBJpWQqy+VG0xUZfzAVC0CBQytvWRR1cADp9AaqXsZSEmZcy5+8T0qfdHcTRxZITGG2nPPrzVW9K7FSHJiViMnqx9aAGWhIYjtWrZwyuzNG2B6etZNqSrkBQc1vWbOsDlhgN0OQaTKQxgQDxzUQzgnnjipmyR9OlQtkDtntimSQTgknIGaxbx9zZPy89K2Lg8csCc8f4VjXTAZz2OBigCkxwTxnPSo84PPSnN97g0xqAAE8gdOtKB3xxTV+7Ts9fT0oAdmtfSwDEPc8VkLz25re0aMubdQOWYAfiaAPvPwBC1v4I0KKRdrJZxAj0+UVv1X05dthbLjGIlH6CrFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFV57K1nbdPbQSN6vGGP61YooAwdQ8HeHNQk8y90Swlf1MK5rG1D4V+Db5Ar6JBDjvATH/ACNdvRQB5hffBDwhcQlYIry2fs6XBbH4HIrGuf2f9EeNxBq1+kh5BZUYA/lXtFFAHz5N+zzOT+78Qx4B43Wp/wDiqxb39n/xAtw32e+06ZOxZmTP4YNfTtFAHx34p+E/ijw3p095eW9tLZQruklhmBCjgdDg/pXnrY6Zr7N+NzbPhhrZH9xB/wCPrXxrKMZ4OaQ0c3rrZnUegrKI5rS1k5uiPQVmmmISkpaO1ADW6Hio0GXFSMeMUyP7+aAJach5x07c03vTlJB4FAEynDYXBOMeuav2peExMcEHkfT0qjnOCw9hitGyX5lXdlmBBGMce3vQBrW7KgJjyhb0AIz2xVxGZjywifrxGMGqETBYFIaM84ZXXHSryBVJG846hQ3AP+FAyX5jkSIkyHuMKaX5EIUR/QA4YfUGkyHX+GPP3SW3DNDMF+QzsGP8MgwPwNIBDsGQWKAnPTIP49az9ed00+QbiwOBuGOR71okc4DEt1xGQxNY3iQ/6GoWMgbuvT8xTA5Gc/LVerFwflHaq/egQCu20QbbG247ZPvXFdq73RI/3UAJG0AUAbB3RSGRjngYx/DmrjIZYIY0wzbi7E981UmYSyxhsbDyRV2QGNooVBwQCOPSgC8ztkoYdymJlXcM5P19qq6W7eW6RhiU6jbk1K0zSxrEoiQRAsWbJz2qTSREihplc5OG29GoApTYlvykKhpJjnOcn6VoRu1laTmeEsHIIyCSAOMjt1plw0Fxc+ZawEWqkqMkAk9/pS3rzR2scYg2IRkAHORQBWW4Se7QSvO8aZcKnHSrb2rXQilup44InJKxhctgevvUmgRKbKZ/KIkUZ8wjOD7VSzfPdm4lBBVTly2Rz3+tAEF4DNI4SRmjD7Vdvl3D6VoXy2djBHHBdMXchnAALDHf/wCtWa7Lc3yguzDrubuR7VUvgHmLbRjsM9aALzxt9ljkklUK7kqzEDK881Vt4JJLsCMKSx5OQAoPqfSr86Np9lBH5aiUx7y0ozj2ANVrWZ7u+QyOqMeQeAuAOlAEuoW/2MbFlEu5eiHgH6n0qoLfzpYohKrF2CnA5Ue9PvSs8+6R5GwdoI7e1GjRXT6httYmBIJPsOmTQBLqManUJoDIgVMFHk6HHbj1qTzZGgllEwRTgbEGQ31rOv0mimYTk7gDyOuKssyx2UCW7FEI53MCT6mgCnI25iS7E49f5VqJOltpQjKn7ROMszDIC+gqHT0iubrEo3Iq7iGbaPxpl1cxXFz5SII4lO0dSooArLO+SWUNJyFJ6dPSrGmWzyTNLMVREHPOdxPpTo4EkRsyAgPglR0FXZksbW2aNJ5JXY5ABAAH+NAGfdWy+dIHx5YAYkent71XignuJJHSNhax4xgcCptnnxIFz8zbQCcn2q/eXKWbR2sJMiINrZ4BNAFbVSI5gqbWUAEN6iorMpHBFPOjEuxX5uFI+vWkuXklm+VPMlc4VR1NSXNvLDGizR7MchSKAC2ijvZpH5VYxuYE5+X2Pc1fjvLe106VdPV1cscFuWI+tVJrzytLigjt4UjfLE4ySc+9UY2C28jrIQGO3joKAJrW6gjVprmMSsM4UjvVyS1WedSjeYqqHdj0A9KyEVQrNIx247d6uQCYWTyOki7sBG6cCgCzfXBn2KFWNFXaidNv41m/a2teQco7bWwO3pVq1e0lGLppEkz/AK0jOPw70ttbQzlZrhGaMPhNuAG5oAaQ8cIlSZ0TcAGX9an/ALRgezEb73uA+BK3cen0p+sMr3MyeUkaAAosZ+Vf/r1nwyJCGeSJXbgKrDgUAE4ZUx5YIJ+93I+tQPE1wTFEjMzHCqP1rVu55L1RFHbySSgAIFwFA+nc06LdZWhEkBFy+Q7MSCo9B6UAM+yeXEPthZHA+4vpjg5puuPA3kQ2rtJFCuM56nFOtYlmuYEzKzHLM7PkYHYCoL8QpcN5cbEck8hcUAVkke3ti6uC+Rwy9MelbUlwtoi3V0DNeSJ+7zghM9/rWKtrLNNK4jJiiwXcHjPpmpr+Uo6khWjwAAvSgCeLUYyyxGBAjt8zfxA9yDWbcKrO8irhN2AP60edKm59pUcADg1ux6azxJeXARIh92Mnlj6n2oAzdNG15S6Eq64U4647Ci3keNZCiKzDlC3rntVt3W4VCtwWdH2uij5eeOKolDLc+QI8Hk5z1xQBDdyz3NwHmZjN/Ef6VYs7eR7ETSbREHOCWxnntVcrJ9qSKEfO7bFx1JrX1CO3s7OG1klMkoOWGMKuf50AZiwLEzuUVlHzFG/i/wDrVYK+TZtGsIj81t4BXGB6CmafC13eR2yyCKPBZnY9AKm1y83Ts7cqnygtx+IFAFMSyttghO08KAvc0630fWNJ1ae11nzlcnf5R6KCOD+VT2CO8tts4DuuC3GRmuj8dXE9x4knXe4KIibs5wAvSgDzrxU+1XXod2OK4djkmuy8WrsQ5YE7jyK449TmgBKKKB+tACinIe1IOnSnIDuyB70AaEDDy40YZGetdFo6sk7ncVBUbdozXP2TMjxuoyFYHBrptHEjpI6EeWzcheqn2oA1MEri5RXJ6lF2sBQEP3Yz8hGACpBP401DAuR8jY7tIc5qQP8AwqzSKehRwNtIYFXXCrFtQdmO/j69qXETE7Mg/wAJ561BJ5KE7llVh3f5ic+lT42IB5TYPX0HuRTAe+/J3zqqHrgg4PvUbImwYl8tOwjGcU1o0T54YY8nhic4+tOyiruLbo+5RT8v4d6AEXaDuikgkP8A00OD+VA3Sou4eaAOkgG38DSbkZRuEU6dVVQEJpjyxNGxdHSMff8ALfGPwoAnBwcAso7AAAD8Ko6xcBbOVQ0hkCnORjFWg6LHuClkP3Wlbis3X3ZdPkCzxvH0wo5/OkBT+HcTyazM6feVOPzr1C2uIxZ3sJk2K0e12B5b1rzj4axt595KAuOF5NbviLUltfLiSLcknyEDgjPehbBLc6C2twsduLVj9lbOWJwG9vrVTV7WIK81riMxfMdvJqXTHleKPamE2kbOgXHf61EZSszWzKzNKMA5xhefzpiMrTmke9/dxkHduB7Y9K2JHBupIeRHONrAjnisiGcxlBCzrsOfqfpWs8f2qx+2bwsgPmA5wTjr9KACysoo7v7E7bLph+5l3nI56GpX0/VIHuRdSGNe8rMG3AelR381vPa4Ky70TIkAzz6Zqxp2s/bbNV1HO5ECqgGdw6frQBoaTDBp9k7SXCyRY3psO4AfXqOazpws0BuZ4jvd8q/qvvn8eKrR2cqOEtbjbC/zNBJxuA5wDTbq5ku5XSUupV/9WgyQKAJJXmFknlR2QXmPepGW9Mjt9aq39nM0MXluPtrjIAO1R7GoJoJvMEwmVlPytHt5CjvUGo3u2UvIxJPGKAGNP5Kst2Fd04ZP4TWDoUstprokzvtM8xt0xmtTybnVVTfHH9lhP8HB/OtyC2ggeL5EYSLgjZnAHY0AXGa+1Wcrahbe3DblZu3uK1bbT7fSrCb7TH9pdSTuJyc+9UNKvksNQniuPkRVPlemPSm3uumfcIpVRFzl2AYsfSgBtxrE98IIbC2PnPwwCdf8aLnTrW02tqTBzsJ8qM42H0p+m6i7B50gXzQuFbGNvv8A/qrDvJ5J3Ys258k7tuDk0AaNpLAsbrZIqOORH1ytQTyvcrtkC7QMEDjNZccjrMyjdJKBwD69smluIXgV5ru9RC4wViGdvp/+ugDMfUjo95OJJN0GOgbg1PYeMIbrzEa0YIB8rZyKxL9VvGSKGMmHdgsR1PrWxZ6XHAIcbVww+YjpQBr/ANoPdaVlmG9eAWPOPSs/UyYrCEIN5kxnHUVY0y9gjGoWgh8xy/7vC859MVNb6VOJLlnZo5hhUB9CKALGnwxyWKC4kJZedynhuOAau6oIf7DiQ7d4nyrdO3NZ2h2LyWx3zOrJlSAM4OfSpXikn2Dd5uMjaOdxz+lAGrG8VzH+4bC+WGKk4xgV5nfykXVztPcivRjbrbwDaRlhnC8gHuK831HNvcXanBbp60AUdB3HVoyrBG5OTXVFY2mUvOd5PRQR+tcv4dSOTUCZXVFUZy3SukE0fzkSdflyv8I9hQBayWYFcP15ILACoSVLFpUhYLwke3kn1wKarM0KLCWWI9Sw+bFNV4lhLLy7fxZww/CgY5Qkkio0WD1wcqBUlu4LsYflQ5y5XI+gzUUhLmJI45WjPA34/E04kASkIzqmCkacgUASvMy3IKq0jhCAyx4P61EQ2GE7ytHgHYnA99wp6ytmNWkkEkhz5e/CqPQ55p04VpfLCwrn7zCQkfnQIi8ySZ2lt4l8tcKCUxkVX1EOgRZTHkkthRjFXWuSzSYuZCqrwI1G36VnX5/fKx3kso5fHNADbcFm4IHvWxaKRbgnkmsm0QvMg9TitpkEXyoeB1xSGBPQAcioznkjFOJO3JHToKiOevGTTEVrg7QcDGRxn1rGvcbmycsa17tjjHBB7nt61hXJAYjcfpQBWY5YmmkcYpTQMY5oAP4eRzSUe1LgdKAJCQ5GFC4HQV2vgCBZvFWhwsNytdQhhjgjeM1xKZA9jxXqvwPtluPiXoEcib1E+4j6KSP1FAH20BgYHQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAeX/tG3clt8OZI4zgXFzHE/uOT/MCvkuU4Uivpj9qO8kj8O6RaL/q5rhnb6qvH/oRr5mmIx6Uho5XVDm7k9jVL8as3p3XMh96rmmIaaKUUhoAY/biki5Y0r9OlEXegB/vTwcEY/SiNd5AyBS7SCeOlAE8KB8AA9cVpWRJkKF1E0fQSDg//AF6zYmAbhSFGCRmr9ljy2SSJ3UncCDyaANqJghKkBAQWIY7lqxF5m9USRyMfLsGfyJqrAFCqzSFB93504q0U8xP4pQh6Kdu0e1AChSpbcgLE8l+v5VIkgjBUP17SqSn0zSLbhY8pFMEPJKyZ/GkEg27SZTGODu5X/wCtQMHMYUbtnP8AdGVH071g+Jyvlx7A+SepreaRoXBUARNxkc4/D+tc54lckxrvDryc8ZNAjm7g9BUFTTnkVF9aAFjG51X1YCvQ7JSgRFOMJXA2Sb7yFfVhXfWyEycnGO/agDUht0V4lDZcjv2q69yFmTzFLRoCnpk/WqkIDSPMg2mMcZqQxsyQr5hJZi5LDjNAGvqGmRWtlbSRu0guVypB4Ddxiqe14fMhjbdk7gQpyv8A+qq83m/bIt7OFj9G7+tXrO8lhnuJBJtlkXaXxkgUANtrv7NZW9nIEkikcs5wMnvjNJrEckLxLbbysoJjAbJH4Uw2zzTQyvFtTb1clVJx1zU2kwM0pvP9aVJURl8cDuKAK6bltAkLSFlX5lLYGc0yyMsck4kkVZNp4U7vwrSGoQGR45bV3kUZG1wuKxbaN59RAjZRvB3Z/h+poA1bG0sYLOVrhGlvJvnCr8ojHufes2P7M95ErKxjVgZBxkD1Bqze7mjHmszY4JGAP0qPS4FSCeS4jZo2IAYDrjtQBJripHeqFDTRyAMkgY4ZfQD2qpp8giuoVMKuA/3WHX2+lQuxcAzbkbJ27TwBV3ToxFA93NE23GInz0b1oAsXkNvFPO0hd5t24LDwqjuMd6r2N7KlvcQJKUDHB28HHYVnsR9odvMaSUnLMDwM1oG4jhsLaBI1V2JYkjlj9fSgDNWdFuAHTewY7ge9X7aP7e7i1jaKKM8jOVUfWqssazXPAzIOCoq61wbDSntoiA8h/eurZPP+cUAIXEcMkds67ZV+YMMMTmsxbZxKyIMOf4ScZq/a3JFt9meQNHt+Q7fun1zUE6RRn5JRI2Mh+mfwoAsXH7jR0VQTKT83ce+DWVvy6qchF5Hsa0hEG0yLLDzHJJ45VadZ6Y/ySm2Jtm5HOC/9cUAP0WGz/s97i7ndJ0bEKrzmqUxWaVnhLFByoPJJ9/arUgjlVkeJY2Rs4TjHtVFLdTOW/eJCD8xXn8KANLT2VXub5IhbyRR7FK5wxPXrVNb9ppWF4WkjdRtXA6f0qaacTwM0AGxcqF7Diq1raS3c0cNrGZJ+Bgdvc0ATanP5kilYiI9o2huo/CtGDTpBYQPevFZwBN2W5Zs+1Vr2zjtZFdrrzHRlIVRyD/UVX1Sa4ur1mml3Z6Z/woAsy/2fDHJ5UO+TOCxbJA9fTNLqF1ugjLfcVQFAJx9axpmYKy87X42it1bFyIftJ8uJkBWMNhiPxoAy4Lc3DkY79ScACr7XFukqQpbqphJxtbC49z3NJNDHDGoQujgtuWTquf51Vt7VriVY4WQyPkkk/mfagAunLzMzYwTkZHX61HZiOTUFS7BaFTvIHH4e1XJrYRFzP+6bjbgZ3fj2FSWVl5dm93cl4xLxF8wGQOpPtQA/VNSCHZYJ5CEduv4msqa7u7kQpO5fC9WbkfWrLFkmkZWR42Xajbcj3xUFpay3RMUKmRiTjaP1oAbYNEshYsytCpIOcfN9anhjkurraoEzSDgr/M1p2n2XSbN4lPn3cvzSNjKpjt71UE6y211cW58o9CqjAz3wKAIpNQltS1rEESNAVYAA59Tn196dBbteJH5TJFGibndjgCsiYH5yrM+V6eprXllfTtLS23B5GUNLwCOnABoAruoJ2hyY84MgGcVJqbB1i2SS7AOSfaoVvJBbu8DjZjGFHU4qeWzlhjjif5pHQErnA5oAoJNLFGCpfORwDz1redk0qxI2Fru4w0meMegHfFUIrS0jtnmvJGRwMxxp0B/rTtVltUKRxSySucFpW7cdKAIxPFNe2vkw4cPg4JwTim3pMkyrvU929F56fWm24VbzJALohKsP0NQ+YZLlYpDsVj949hQBe0jZ5F5c+fsZB5aDocd6pjM5YM3mJxkEZOM1p3cdnaaeIYNzu/JfODj6CsqJjHIxhIV9uM/40AblkIXnjup5DGd6pDHnPcZqTxhcfaPEVwY4ykQ2rnH3iB1rDngurmxRLFXluOQixjJLH0FTW8108Ecl9uabZiUOOQaAOP8AFD7j7ZOK5bGc4rpvE8gZgFwAM1zWfTrQAlKBSYpQOtAAalj+9jPWoh+uamhyA3B4oA0Lbb5qbiQp64rqdItzCjRyRyNg5UoccVzccf7mFiQy5IwOorptGUy2KlYl47sxzn2oAvea6jLeUqAdWXkj6UkThgDEqbG7YAB+uaVCSSVYSMPveYmPyNJljnz1iQHoJBkfUYpDHK7RsUEyqp/gbBGPrThGxJKyIBnOD1b25pF2NlYhb3HHKbNpH0prMm//AEhVhXHCyLkfgaYD9swb92JY2/uAhh+tIVmBGyOZnPUu2VpgWJidu6YHhc52j8aX92oOQ8nYLGcflSAJHCA7/Ljx2MXJPrTZZcsrtcwnHqhzUomGdqXE0OOqyjdQDLhtk0Mjdzw2foO1AApZkBQJt/usvB/GsfxRtXT+iIxPRP61rrEJJNyyrKV6pwBn6CsLxY5+xxgoAS3XYVP0oewLc2/hnbRjSrmaXAySVyOvpW/eaLb3N1Z3Tyt52STGeAD25rG8Hzi20SAENyCemQa6bTLnzFXcRiOIEhjzknjFC2B7mcZJtNupFXe5Y5RlxjdVloxcShWYmRlBBj6k46UmvWkULvIHaMArgZzyTycUQzNGzOJCP3TKCT/D2IpiOdtJFhu5PnYMCd2ePyrUsZkk02dRvBP8RHynjpWdMpkjEsYDPH94YydvvWtYSK8TecNqsOFHH0oA17eV5NMhgQMGZfkQAEc96wLh1sHZZCnmA5EgHcdqZc6o1ihIm2JGu0D2rkL/AFi41ScQw4SJjyfWgDtrDUrW8Qu5Dqx2hBgbD659af8AZCrTTpMklyTwS2Djv7Vxekl9J1FllcPG3YjitG41dJZJEssOXPRc/LQBLqN7LaS+WAwlkUrwMg/j0qXw7p0t1KqXuUcH+IZq1pFoPKBuJpJJlOQrZ2gewqy808F4kiuSey4zxQBtPGtvGuyLeqhhgYzms6WadrYIUMO9so5XBU9xxTpby5VWmSPdyPmYcirlsZpLaKOe2BZ23rOGwF9fxoAqTwRzWDPI8aiJeinLMT61X0i1sLtotpZSwIJDcAjuKsw2trqL+VIoRyTgr1Yd6o/Z20e4ZreQG3YYbcoDIen40AXbtoC0lqZJUSMfI7EDn6DrWfbWMGA0l2x3DAKZOPqDUMylpWY55OMis3UdRhizHG+6bO0Kpyc0AbNxFaaXbyM175juc5jT5W9j3Fc3JBcalcAO2IOucYzVu2sprkxCRDtBztJz9Sa3fKKEFoyExgYwD9aAMrSbOFZED/wN9wHjPvVy/SOac+UZPKQDeiD7hPHWplS13xJGDCmWLtnJb61Vku45UmlZtoiOCFXgkdM0AUrCGSLWBFZgb8EySA5x71uTytYxvbBt2HDGQ9D+NYum3/2a/WVGOGViygA5B6A1YnuhcXQgd13HGEHOMdAKAJrK7lkvb5ARuI3Fl45HpTPApnkuL57tyUUlEzyR+HerMlvJZLBewsvDeXIcjLE+3p2rVMUWnsfsMBQzwgspO/noSPSgBlx5Yd1KhEAyM8FuOT7V5nqchzcsF4Yk816ZdSbLGV5FJYqRg/TvXl980s8U0hOee9ACeGYmknl2hD8uMNXSNGYkZTIYkPGAoOKw/C6SFJ2SNXHGc/410BjKYZoYYVHIRjuyfU0AMRVkJ/eSSBewTatRhkXKtKpCHOSMfkKemHQt50SSHPLZH5VEYjPH5YZvLQ/O28Zb6UDFB3ZcRMEzy5k2sanCtHlmt2WMDIRHwx+tQBoTKGEMpBwF3cn8BQUtoxI87Trk4wRyaAH2xXzHZRmTsJAXKiknl3RsGkB2MMxhccUmVlRmi8xIwQA59KlZYlRAXkKseAyYLn60CIiiyKyrBMilsbYzkYqleOhuWESFFX5QDWqnnFpGdkjhAzkMNx+hrHuADM+N3X+LrQBYtGCMGxkggg1rIwcFlGAeayIAQnJxn1rStP8AVYHSkPoTk/LzxUEuDkknPtUrDAGOSO1RMMfMMliOlMRTu/uEYG0j/IrEuIhvI/i+tbF2cD5c/WsW5CAnaSW70AV2GM5prN6dPSnEc80w475yKADvTgfWmLycHrT+vSgCWLl0z617n+zPAsnxMhZ1DeXaysuexwBn9a8PtFLTIMcZr6A/Zft3fx5NMq5SKzcMfTJGKAPqqiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD5+/anvVM2g2IHzqskx+hwB/I188znahPTFe1ftOXkc/jOztlPz29oA31ZiR+leJXvywsfY0hnJzHMrH1JqKpH6mozTEJ2pD0pcUUARyUQ96R+tOi+77UASpweOKkYjI3EEj9aiHSnKCRk5xQBaicMqjcuR1yPetG2UGIklQynHAOV96zYoxuRZAyE4ycZ49q17WTLuY5CrA4ZscEe/1oAv26nAOYs/e5BAP41YUxmRlILSDsBn9ajR0cqYvKjBHIbkfhVgPGztvlKSjjMS43D6d6ABEClmA2kc8vtIFPZmDZLvtI7OOn41GDGAMztx/wA9Iuv400EHPJeE9EKEAH2oGPIIBKzOV74T5q5bxGf9LUAEDHBIwT+FdM8hYEuqgY4O45rk9bbdeH73AA+Y5oEYs2d2KjxUk33sVH60AW9K41GAf7XWu6hAOABxu61xegxGTU4/9kZru7QfPu5xnJFAF4ZIcbvkBDHFaemzopAuhvjkUjgfMD6isWIGYvGTsTrkHrWtZRsFUsfmA+8Tnn29KAHwCG4mnfZKxVMgJwc98iiFlgtjIUTcp+8c7jnt7iiylV47jAaORs7ZBzn/AGffNMWQta7YSxnYH5SM0AWLESX801tJcbIj8x3HAGPSpLuzjsIl23CrakZBGC3XkcVSt9gBcBklUAFge/rim3LExMCwQYywHIOaAKxKT6gyw7sMgwCeSc9a1dLgit7ueWVWuBtyyheB9aiimtLTSjJ9n3XjEbWKkFAKht5me0kZJV86RwgVeMj/AAoAinb7TOwi2xjrtAI/zxUthNNHpMzLLH5YcoVzyeeuKz7llQDy3JIOM4xmrbWZgt1jY53/ADMcYAzQBSnwpkViC2e/I5rS1KKK2t7a2iu/N+XLY4VW9Ki0tIBdh7o+bDH8z5GO/SodSuFubmQ2sSRxA/dJ6UARyREMsUS5d/lCn+dWtRtvs84gaRJJAox5Z3A8dM1BYRNduVjIjSEbmZj1Pb86lupl2HZGvnH7zk9PYUAPtrBovPaWOEhgMOHBMYpgCJJKFJWCQYbd85J+tUEbbseRiRnpng1Yn2HcBIQSeFA4B6UAT2NpGIZ7ue4AjUhEh7sO9V2uFHnmEKqOMBSuSB/Spb+MxWhWMLIoOSy5wapRbGST5C0sgAXnvQBsaTDDLZia8nQJCAAuOX78CqN/dPd3Dyea6pnhTxj04HFWrqKWzgjgnEattBxuwV9j71mPGVCoiEyMePr/AFoA1LZQuntdTYMjsVU5HAHtVOeTbFzjaxyMZA+tXII0h0tdyBpUP3XbqfpUVqXvb+CORSUB3MoHp2oAWHTbh7My3J8uKUlgGGW9uKuvcwWFnBDYeZFIyh53bDFj7VTvrua6vJZDIUjBK5J6CqkrJIsZEhYIMA4waAGwyQbpBco7g5KlTgg1YMUtxMgtYWmZhxjsPf0FQmyUq0sziKM8gn7zfhWvcXVrp9hHDpsk5aaPMzMNoI9BQBWmSztUMbxSySkY3hvun0x0xVLVLiS4u5GLlxwv0/8ArVXnuSkR2k7AQdvqc9RWnFbobc3Mg+Un5YlOGY+/pQBSgmuZpo4ihkY/Lz/U1orHNplh++gRZrnO2Tqdo9PSs2W5aOSNYwqZcDYDkfjVjUpXEyoJGZwApwc5HoKAKoll2rGztIS3CFc4+tXNVdF8lIzIQqYXc3T1xVBcCWJX3rIz4bb6Vf1O3C3eyNvMGB8zDHNAGcW3RxJHv3FhjLYA9a25ryWxs/IhVF3IBujHOPr9ar6f5Vu5niK+YinJk5H4Cqc1xJPeRys+5icHPAx3oAY7RswVizjHPzYOaWEmYPAFJAcketEqAOwBRg3ON3T8qu6E/wBnF0VhEkjAASlsEfSgCEaTM4G5ljVhlUYHc4/z2pmqKIYotjmQEctjFSveStOGkmIAxwoxnn1qK8cSb2IIbJO04GPyoArW0E9y7RWiFnbJIx2HetDUWCRxRFDvQZYscljS2MVzZ2UlxIjwtcDYvODtH+NU2lFxvDD5uvJ796AIp5GeEkEs5YAZ7+1T3MBicPxyoJUfdqbTdPnv5XdZUigg+eSRxhcjoB6mpYVtZLmAzNL9488BWA/+vQA/KaVahTEBdzqGZz1A9B6VXmvvOXY8CFmYbXPVTVXUpnupSzt34yckCoXCiOMSORJuXGPT6UAamoriZQ7KxVcHaMZNZKq80ypEpZWb5mwSB9K2jp8UxlluZzFawDnszn0A/nVdLiRJ4BCdsanI29BQBv8AhQ20PinTvsiunkuMYP3sDk5rJ1+c3+q390E2ebKzbc8DnpV/wpEY/Edu7OHEbFySOMYNY88nnXN45zgyFhj3NAHDeJyv2koo2qBiue7Vs+IZN9y+PXFYpoAKXvQME80oxgnP0oAOgxVu1yqnHfg1UB455q5bZ2EevSgDUsgwkXywN6fMT1H5V0enKpgz5DAeittz+Fc9bRtlZIlLkHBANdFbfNBGn3nXuDxj0JoGWwpfG6R0UdN4GBRGHT5VkiJ7tu/xpuVUYMO8dtjBsGo3kQphXcKx53ICVpATOQSDMR/wNMfqKDJNgqse5D0Gd6fn1qKNyxIjn8zA+bd8oFBKZwkjE+qLyPyoAcxIUsyAL2UHK0RyBzmHyiRxuX5Sv0qPktl5jKx6FByv1zUjk7D5k2AeOFBB+vpTAl8yQDawdmP99h0/CoSispxCdvXKNyaR8BS26GOMddjEk0Ksch3RMJjnJdgQy/h3oAarRSMdkHz4yQ3yEfjWH4tfEcSBXAJzlmzmuhYg8Tm5kGemzHNc34oCve20aLIu4/db3NTLYcdzuNFjWDQrdnVQBGGz3Bp+m36XFxceVOTIoAKdDj2NWrURtEscgUIiDIJ68VB4c099N1nUTqMcbM2GGAcgEZ/KqRI7WoInthLHcSMoIByckmmPJNLYxAY8wKQNvXFR6krTAyQ4NvuOR0KmrcMgiDugHCEBvXjvQBk2bExupJUOpDVBPqsVja5Ygtg4Bp13cx2lvul4BFcgkg1S/wBjn90Dk84IoAbPPLqN2pkyI2OB6V0drpAMUUUOwSE5A7g+9XbXT0e1dYYEDKuVd+Kv6ZYT2Eo+1BVZ/mWQ8gj2oAo6rotw2nrOVXzFG0bRjkdjWZ4bsbaKSWSRgkpPze1ei280bW88DFHEihVDHqQOPrXBarH9hvTdrHmJ15HoaAOglQQItwHZwDtKgY4qW+uoxGjx2yQ/MMEDr681n6FqEN3C3nAlR1wM498VfuYkgR43Di2kBMZ78dqALN4v21bdH+UZ+Y7sBaklmWYpaEBZAzDazHnHSodEmVo1eZmIRyE+UcD0JptwCLlJYT50qklhnPB4xQBFYwz2E8ZnXyy3AYdwef8ACotVWa7mHlphyfMYN0YVq6lCLizS4YMJIxkoDkKP6VkzanFaySzzMOVxnPQe1AGNdLqsdvtMcbfNkeoHpVnSdGt7dPtNzEJpz/D02msl9dvLu5kWyACdenar2haoZbuS3vCpYHKueAfbFAHRDEMTIkW2ST+JDyo9BWZFOz8SsXMR2qG6mrbhTB5hwDnnA7VDqF3FLb+W8WJh/q3i7+xoARUt/s4R7YZkJBcvzmqYt1nklSGNo4QeSvIb1A/Wri2xhiQXgY7/ALgX+p/pReXrPA/lI0SkgDoAg6DBoAztIY2OqXcNpB/o8hC4fBY9OK1rawWKWRnQRXLucEj7tY2h+Va315M++5WAcbux9fetNrqbUJ5C0m624P8Adx7LQAy+WR5ra2aaMjl/lGDkdjWwjSZhCxZkMGM7uevJqhqEroyvBGFigXJZhgn2zTfDerefJLJCocuAoBPT1GKAHa2NmkSO1wrPsI2L1H1rza8kEdsAp+Y9a9D8Ub4tHmMhQuTtO3n9a8zvz8gHvQBseGU32rgQs5L5JVsECtdI2LSDCxhBjk7ifzrO0Ff+JYh3tGAxZiAcn2rTQwqdvmK+B8wcY5oAUh/k/fB8tnIGPwANRsFadwsTOg+8cBTn27VKzOqpIpdgeN5XGPpUEJfymOxCCSQdx+X34oAdIBC2RmKY/wCrz8xApqQkFjMskkrdHf7q+pqQuYyixPE0h5ZiTk/iajPmMJIriZzIx4Cvnj+tAwQxpEoa5jA5w2M4/Cp9ykJLvZ4yNm/AI/KhWVioVo5FU42FPbvimEkNEYbVIjGfmK8j8j3oEMAiZchuFJyGO3IrPchpGIHBORzmtB54Hdnk8242gjIXCis1SMHA4oAu26CRcHAOa0YcLFj04pmiQCWKRnHy4wMjvUu0oQoGSDzSGxrE7jjp/KonJ2cd+DU7HnjA9RUMvORjGeaYjMv2wCRwR8prHuDknBHFbN03zfNgoQaxrn733cA8igCEjIpD+dLnPWgDrj0zQAi9emTTxggdBj9aYOD704emaANTRYBNJM2cbF3Zr6S/ZQtZBd69dbT5XlxxbvfJOK+cNE487nHy19Vfsqpjw3rbf3rpP0SgD3CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD5K/aJlV/iZehSGCwxKcHodteSam2LaQ5PSvQPi/IZPiR4gLEnbdMvPtivOdYOLd/ekPoc61NNObrTaYhDSUtIaAIn4PrT4/uCmNUqDCCgB3GKemDkZI/rTOnvUiLzxwfegCxATvRzubafXtWpaorfOsm+InLJnDD8az7aWSN8Kw3JzzWlbsJd8h8pHfAMYGPxoA0Yt6xkqnnR8fJkBk/z61ZjLlQrkgjptXmq8MJXm3f95njJyGFTIJSSvlkSZydpwKBkiyYOImYj+JHPX6UxpSmDudYyflIOWX6+1MJlynl744lPKuoOD7e1SkyIS3lbA33mLZBPsKAI2dmLFpUZs/KynBP17VyGsEG/lOS3PU11cr/AHimwn+LamAfrXHX7brqU4A56CgRmy8v600daVz8x9aTmgDZ8LpuvJGPQLXYQFhEB03Hr3rC8HLG0cquApJ4fOMV20uhNa2Ed19pil3chAeaAKUAVIG56cZ61d37IRsAyy4GehqI2N4sYd7eTymOSwGRSCQ7AshCqMkDpjFAF+1RvJ8m2j3Tld3JAAPrmm2A8u3d3ULKufnBG7PYD1pkkm62+UEbsAEdKkjijW3Q+aRLn5eM5/8Ar0AWLeyy8sUpcSr8xHC8euao3NvE97DDE7zMX+dV4XGfWn3asswOHb5fmL+o7UtoVtbZDFjz5cluM8UAS6vKJEMMKsYkIVmPO09NoPeqkttFHHLFgK5AdRnke+e1TS3K7JY0jClcfXPr9apmOSaYSSK3+1J1AoAvaHDHCz3swjYxZEcbDO5vXHoKrXd55twXkYsjZJEeFGfapLhltooFRy25T064rM2nGSCMcgZ5H40AaMEe+CRhzvO0I3GB6msyaNSxKsiyZ2rjvWs8Lf2fE837tQP3eDgnvk1n3aJb5UMpc4J284z1oAs6dHILK8ZOEJAJJqmYguJHdjxwAOMVr3TW0drDBDGVA5dxyT7ms0tG0g3xMYlJyAefzoAjhtDc3MEMSu/mOCRGMnHrWlqMcFvPIokkLKcGNwMqffFJp05W/dbEeTvi6Bu1U5hly7SNvBO5gM8UAPYrEqgXHmb1wUIOU+tP0yyin8ySVzGEbKRoNxZvX6VWF08MD4wQQTlh19KvRPcW+nACNYzIctIRyfagCDULlRvTCgI28ErubI9/epoTKlkLl4zHJNjy/l4x6g1ns7xKy84lG0sauXExmtYFLFkiTAA7fhQAxvKkhd2bM2RlSM8/WnJbzx2+biIoH+Zfm+Yj1x1plpC0V1BczKjQ5GI2flj9PSl1G7uPPeVpX3M3YEkUAVpEEsf7s/Ngg7uM1tzWOn6fYwG4ObgLvyrE8n1GKyN01w8StISEBwSMd+9T3rG5mUF8IR83vigCpNO0nmPIOTyO9WHUyxRFVJXAAPXPFQmGW+iMUcUaqCC8mNuB2GfetBHOn2BENxC5cjGFywA7AmgChLBKtxFFErGSRhgYA/zxV6/mm8xkcCFOAzJxnHGKppcF7yDcMKzbmb+I/jRe3Y+1kx/cb5VBHynPrmgBkUJnuBsVdgBIZx8v51LKAV8xVLsc55wBU8uoXeY4mmVIl6LGBjI6cVKmEtTc3ZSS4uf9WmOVHY0AUkRLeIkzETsMhEXcAPr60XMj+Zg72zyBjrUd18rsZpPLYKdoUZIOPWraGOa0tri5uXZ3GNifeAHrmgCmsh8+SIoNhTg5yc1bghhSzWe7yJHyEiHp6sf8KiJjDIjKoCZIZOWP+9RqjXP7trhWLFcgZ/z2oAGks3XY1kI5lYMkkZPI7gjvUcExllljI27hk4NVgxLqvzbyOFUZP6VoafYwswuL8yRRsnyBWG4nP6UAViwbcuVTacfMPvGr+kpb296ZI7bzWhj3Hzmyu7scelU2kDXBKAKFJAZeWx2qOBt8t0ASzADBz19c0AWbu7ku7ktczFnckZH3aoSP5Wckc/dHWp3tZpYg8a7SDuyO49uKme3gZMW6c7SoLnJB9z2oAfdSQxQQ2ixyIuNzsrjLE9/SqdkC13AkzEICTvI6fhTrpDK6kEEhQHB6Z9qhh806lbRockE54z+goAkmiJmPlqXOeB/EasWVgn9opLqRQLEuQinOT6E1DckR3JWIjzM4zjAH1qa3Ba5jE84wuV+Tnt2FADL+XzJT5RXZyQnUYz71E9ywREBYZwM44HqaR1VpzHGucdWI4A9atafabrqZpGW4xhVAOOT7UAUb+x1uG6sr+185NOkcoZsfKT3xVq6uSu7CqNyY6dTXXeNdSktre10WE+XBbIrMgH8eOfyribkjy1J7dBmgDhdcP+lSf71ZfvWlrDBrqQjuxrOI96AE9aUHijj0pcc0AIBz6VqWBVJ4mATOMHd0rNXlh3NaVmgAZmBKAYJx09KANLStiyF3cxkHGQM81vpKjQgCeRMjkbdorGtZUiVYmTLNgMSMfQitnzmUBTIxc8KWTigYqOC/7uSKJh3ZetSSGUMX8rzJBx5mdoxUbNKBmaFpTnliuQv0p6ZYhkaJMdmPUenNACgS3KfMMr3+UUeckeEjfYo/hSL5gaV45W3MIYG9kbn9Kem8R5RzCTwdyZoAYGLFjvVweoLbSKFjkBDKkLMefMHQUM+AA6BEBwsjc5NNKhuZHilXPWNCD/8AXoAkbaxGJLdpRzt2c/pUmZ2J2wsSO5ULURIkISVTAT93Ccn8acIXcZlmfHbLHH5UALtckrLlJj0wTtNc7qCPJ4ls4m5IZeM5Arc2l3KD5P8AaXIyKx7NQ3jBAzbhHzkewqWNHepZoo3XBDsSOPb2NPmv5F166kLuQqxqXYYIwOAPallnDNG8bbsYHzDjNVHmKeIbkW8IlS4C5eTsVFUSa09n9qtZCsaIxLEEHAI9MVgKyw2rRElsnBJPK1uxt+7dmSWOHA+UcLnvmsGRlNzNCozE5yCR1oA4nV7g3t+lnCxODzz0FaVloz7SIEO8cYxjP41ry6FBZytdwsrOD1PUg1uiGOGGxkVwnmDc/vjpQBn2F19ntJYZ4XV9uP8Adx3+ldIXg1PSDAZVV2XcTjlWHf8AGmfabOCGX7RHFK+0opHJOayotMuJrD7Tp5LK2Q0eD+7/APrUAX7TT1vLf/Rb4AxjG1l5/A1XGgRXmjyRTSYkJY7c5yc8HHUVV01Vs40d2kzIMlQcYb+lSyX87zuN5OODkc4oA5GK3uNKuJFkYRIOAy9znvXX2TWt7DGH85nK5DMcLmqmoxrqiNDKiISPlYDFZmizSWl39jkRljBAzJ3A9KANdYjFJP5L4YMMKe+e4rT09jYI3mo8i5LK4HL+tMdUg1JZclUK4Unp681n+I/EVtaQbRgyn7qr0FABq+twwRzjcURs4XuR71wzrd6uzyBSsCnCk9M9qRUudYvFaYlY3bGT0r0vTfD1tFpJjdjny8jYOc+1AGB4YsohtIbMuP3gK/dx2pvjHT0sZze20IWIkEkDvWqmntAZjp4lRowCyvy3PrU2q6TfXSRNMNyuufLXv7HsKAM/T5o9QslmRzgD7q9Sff0qaO0hitJd9wY5GYEYwwA61haaZdIuJrYxPnJKgjrV5W8243qvyPxszg8e1AF9ja3Z8q6uZGhjJZWb5QzYxmsY3pRZY4cv5TYTjOT2rZIgto2Vz82PlVcE/jWfLI66lai2hKMG+bdghsd8e1ADIrG6tnhe5khjlujsKnIx35q3JG0E6iKOPy1TO4HgH/Gs3xROshRsl5Vly0gPH0A7VclIns1jUgggYxwS3pigCwIZLuyLnIE52Jz3/wDr1H4Usn0MSW15ujvI5WV1Izj8a0NKXy+F3rLGQSpOQD6VpeJJTPqU8xePzQEEu3nsP1oA57xiUXSmHlhAzAAe9ea6j/DXfeMrwXFnGEXChuo715/f43KM5OKAOj0KRU05FSXc56IWIwfX0rTdzGNqTx/ey2VBP4VV0tXSxg2xR7QuSzpyTU0bRh90hVnUn92nGD+NADyjmcOQ6x7f4mDEn2FLcPCoJZ50Ldf3QxUE7rvRfIZnY7igxwKtRCUR4PngyZ+VMED2oAia5+R3e6UEDABi5IpzbUUkfZ8nneV7U13uPL4YsEG196Yx9PemBfNuuDKBn7pAXt60AP23RCNiFVIztAwAPU0zB2yFHRuBkqdufbJp8sIeWEeTMkQzvKtnJ7VBEYWkCASOiMSqsv3qACVkAZI1RMjbnceMDmqA46VcuGSJAruPNIJKAdCff6VUB6YOaANzSHKxrhiA3XPSpDkkEnmoNJObK45GemCKl6MCTjNJDYjLgk9zUMmO+R79alY84qGUYzz9aYjLvZNrNgfhWRKxJ5I44Fal/h1xkr7VkNjPFACZ9TTRyTzSkemKT6UAL24pe9IO9KBQBr6NIFSRcctjmvr79mWyFv4BmucnNzdPkem3Ar5A0leSeOtfb3wKsls/hhoxU5M6tO31Zj/hQB31FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFU9ZkMWj30inDJA7A+hCmgD4g8X3D3fifVZpW3O9zISx7/Ma5HWWxbkDqTW7dymW4kcnJZixJ71zuuMDtA9aQzENJTj64pppiEpD3pab2oAjbOamA4FQt1qccUAGPentxjB6+tN471KiZOQR+JoAsQIjY3l1UjhgOQa17QAwhQnmODyrL29QayIQgbEgYLngjg1qwRMIySJGweHVsgexoA0Ugjl3BMwuvIDkg/Sp2Me0F1Z1HGEk3YqrLJGXHmpPuX7vOSPpUyFIwTCsig/e3DB+tAxeMdGTI/1mN2f8KEQhcIqFugYN1/D1qSINsBVZW442MADUTyIxzMDGQcZkTLfSgBJC7AFv3LjjceM+1cTdEmWTPqa7ScnypPuyJtyMHBFcTMeWNAii33vegGl65pP5UAdP4XQiFmxnJxXUWjs6hWJCqfWuN8Paklt+6kbapOQa660niMf7sqwbrg0AdTpniK4hkjhaJJVXA/umk8S6ol/H5a2yo2cHKjKisO1ZROW96tbfMMkgILhs/hQB1ekaDoWo6db2zajDZ3AAIdpDtP1U960n8ERR2zvDqiXEIAPmRxFgD9Qa4FUG8MWxt7Y6mtSyu7izDLbXMkayL84VsDNAFZdP1DUdTaysYLm58s7W/dFf8j3rXPh/UrOclLG4ikQbR5iFt309KqPqeo2lwtzbzSRzFQGmjkzkdgavQeJ9ZjT5tWmJ6sT8xPoKAOcu1XT5Wn1ISRq/wAu6QEZNMBa+kjitHASTuTtGD3p/iW3ufEksUmpXhyp+UZ/oK7CLxLp9hbW1p/YFofs0YQSN95sjqKAOPmhiVpEcuwjA2FQOSKgiKyyrFhIwx5PpXVz634fvGDvoLI44YxSYDH1rm/EqW2t+QmkWiWAVvnlL/MR3FAD9WkjklVY1b92AAx7/QVmwhpbyNUU+Yx/hruZYPBYsLeKO41GOdQA8m3IPHPH1qrZ2PhWKTzTqF+zJ8pIiwMHuKAMa8tYIrhUmumIx8wGGyfwrNKq/wAiRknJ45wBWt4wg0u109pNHubm6uiwJzHgAd8jHNGj+H9a1LSPtdtZyyxA4Mi8bj7A80AZmnySQ294UfG4hR2IA7VEXdoxGWCovcc5J71t2/h/VxZtC+lXMeX+Z2Tkt6etQ3GjXUEEplsZiqAl2ZCu3HpQBmsVjhXcdxchSR356Vav7hnlcgkDAVVIz9Ko6dfWt3dAwJmWJfkA659amuJGe6Jd2GASTjmgCOeC4MDyPCFCcZkOM+4HetGAWFvp8BUPcznBJfhV/AdazJmeWTCAgHAy2Tir0lxvt4l8qMsgwpoAJb52nMixRiToOOg9B6VUviHnaSSRnOOwxSG0uLxXESjjqx4FWLW2jhkcai7v5IBEYXO8/X0oASwtJPskktwy2wk+4DklhU1naW26Wa7a5kt1+VSMLuOOQaqTztPLv3KpJ+7/AHR6VJDcAQyxSByUO4JnjPqaAJZ5nMRTciRE/LH/AJ71VVfNsyCACWJzn9BUSoDJ821TkkE8gfU1oQQw2elI8rpPO53KvPyUAVre3iWWKUSbpQT+5KHp7mqtxKzkKcHYew461ct9r3UbBpA+SNiA5PHr2ptx5RaRdsiMO+Ack0AV4LWW4uEKrtt0OXJPTNXL/BnZgf3cYwMDp7VNLZxWwt7dp3duGkCAZJ9M1W1JoVeRrcSeT/dZtxoAZp8TzxLKzIik7YwxOfrmpZ4XEX71TvQ4zkYP0qSWa4XT7ZDGBsX5VK4OPrVTzi3yuDwpOT3oAjQzXMyw2sQ8yVtsar1PrzWnc6fchv3kkUUY4fcwJX2AqCziWx/0mdHiuCp8s78BQRwQPeqj3LoySL1BzyM59sUAWJIzDLi2kVp3O0M3cH3p+pTvIkRfrEAAcY4FV7eZnmAlwCnOcdaZNE7iSEEru6BzwvvQBEsJkuRBAoeWb7oB/nW00Njo1t9mtbmSad1/fYHyk+gNVLS2S0ngWOUS7RneFxk96gZQ8kjbTtPLY47/AM6AHvdS2+5xIy8cFeq1NHcSf2ZEGJbruycE5P8AOqV+8UZZLeViZMBQ681pXVgLG0hVryORiOQqk/rQBngxRNuYqpc424zirekWflF9QdhFb7yEBPzP6kVn3k5W2YQoQWI4Ayc1ZmkN1YRl1ZAo24zxmgBlzIs0/wAgXjnJ7j1/WmWq2sl9GksqokfzOBxxj1qP93EORgAfLjkk96k0qIfvLmRBvf7oI4AoAs30weRjECsWcgdBitDwhPDDrqtfoqqiGVQ3G8jpWbbxNdsRHFkswUADv6VY1rwxeaJq8NzqMqMphDoqnJXPY5oAXU5ReX11PJJ5sszFz22+wrFu2UIwUfdGT7VNJII5VLZyT0Hp7VDrRjttOIU5lcZY/wBKAOCvzmUn3qt2qSd90jDFR5oAUAY5607Az1ptOAGeeKAHQL84xWrbMuVLIxGfnHYisyEfN14Fa1lEDG2TywGcnHegC9E8TTBUVzg4y3XHat2IhgAki7T1VjkisjTsC4lWGHco4yTk/TNarlQoWeGJB3frzQA91miUBJzGvQfxZFNLxjIeRQ/qYjuNKhj4ImMadxnn8KkWXcD9nufu9WmQcfjQMYgjOPIBdxyBH8rD60/y/NAeTdLKONrSBStDksoZgcdS4UjP4ioXkg3bXZkkI6oQf1oAemxOQqhvWV/u/hUjlm+WYFE6+ZBzUajdjMkkkajncgbApFaPev7x02/dIXr+FAC7kAISR5U7ITyDR5KSH513PHyQZOT7YFStMUXHm4J7tFgY9zULLEWXDQcHIMecigCXY7Rh1aNgBgCQEbazvCsSv4ivJZdpCfLkHAya0WywHlqkjdSscuCfwqPwVApF/PIQm+U8vyeKQG9qMqwWsnlqwKozBsckdsVneHZJ7rSo7ydvlDYkDcH6iun0qa2N1I7qv7uNlIk5XGP88VgWcV1PavFEyxoCSE9jTEal1PFdvFbWwYkY3tuwMfXvUOrxwxPAkLkyKcc8Aj/Gn6fDJFHJa7UOCMsSOg6H8qoatOohilQr8nylGY7iR3B/GgC9ZyQiKVZW/eyL8uei4FRBln0ZVPli8g5Qk9Vp+kSxzuzylMbRkdM4FVZLXyNUU2p+QASID0yT0NAGpot7bsZp2to3LADaOikc8ZottV8qWRpA0W52O2M4yD2qaaxsp0cBhb3f3s5xj1B9R71j21vex2s8vlGWBTzIB2NABqkELWpktrhlmZv9WVJLZ7j0qK1s7vYHlEfAO7LbWyPUVqWt7aWMAmtovOujx5kv3V+grFvL+Vb5ppQWEnJCjgUARyanDarucEN0K4ycVj3122qX1utojKqEEv3+lSX8kmoXSwWygHOGcdvatJbH+zZIo2Qbj1I70AU9c1f7ImNxyOAprC0/TrrVrpWfJ3cjPcVq63pw1CcKq4I4zWz4b3aTewwXSGT5CsXPY9B+FAG2dHFlpEarbr5rDODwR75p0eo3rR28UEYEgIQsSDyOuMdq1XgSS0DX7FyOAmcKPwrm7uS10+eLAxGjZEYbaw+mOtAGm9o2m39vNNMspKncMFdxP161W1DVZ5pW2MUDDaMHoPas7WtQlvC1wzs4TGzJ6U2FjsTzITuJ4yOenWgBbxoJI/37OkmP3cqc/MP5VQhnu5YTFlZHTnev3iKknjBURtk72AXaOpokgkVHWQLHNGcKf7p9KAL1rK8kavChEoXBbris9YJrrU2aINhRwzHg+uKh0m5kYvBLIiSE4Csea6O2fybdR5CB9uBIOKAMG+0tHtZUluQhhbhFGc8ZyTWjpMMK2EEpiLSsMqu7BX3xVDVd0tq8UbM00vBI6ls9K0bKP7HbQrO38H7sgbvqPagC9FCiRSTKwJPJV85zn8+KbdRRteSfZ2BMm0sDyc+orN8TTtHo32qEhXi/jUEZb0p/h55dS0qK5mYB5WBI7j/CgDI8WlFtoo1zjcfpXD3o/fqtdt41CxzwxqSR15OcVxUw3Xqjj7wHNAHXWiOlvGZAVOMANztGOpqRnYAmABpmxklDUUOEUBCspxg7SasuWRVZ2nBzwr4x+nNAEToA+3zI2lxt2hD19zSgHYVWPe6nllOMVG7p9zfbIepOD1pFEe3zC8gOMrsQ4bHpQMllwlqUbznfIxHuyRTLpmAzLHcKpwETI/XFPk8/arNI+WHJIA+lMkSJZCJZH8xcY3jIz68UCESJYssYzEBwpdj1+lJ/rWXyy0SBcAFclqfGpWUyrcxqCpwQM5b6UsEdxIwJmhkfHJJ6Z9hQBFe52FTuyAMgAYzVDbzxU1ztjIVXZixy2VxmoQ2aANPTCRCwHQ1bIDHPINQab/qOelTsAeecj0oAOSpI6VWmOzkDcRVnOeBVWU/MRj5qAMq+3jcwOCB0NZLZyfWta+JEec5BHOO9ZTZPX9aAGe/cUnU80tKoGQCce9ACDuKcp9aU84z+dIoJNAGzpA+XJHGa+7fhVbPafDrw/DKpV1tVJH15/rXwvpCFo096/QLw2uzw7pa+lrEP/HBQBo0UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVz3xDu5LHwPrdxEcOlq+D9Rj+tdDXIfF6VYfhtr7MwXNsVGT1JI4oA+LpM84rnNabMiiuhkzg+tc1q5zc4PYUhszm6mmmnGm0xCd6a3Sndqa3IoAj6sKsdB7VCmC6/Wpz1oAUdOlTweXjLiofpUq84J+7noKALqLGW8tCCp53k8j8K0bRkk8xJWdZOxQ9fwqjC8byIMoig7ixXIBrSt1DMQ3ksRlsN3+hoAs26XACPCIpI9uG3YJzUm6RNriTdjggRc1GAG5zASB2O1qkYTFN0bqCOVcdfxFADS0LMM4c9RwVxUiyiYgBZZD12nt9DSK5fkyxs2Oei/wD66c7TMo2ATgdQDtZaBlXVMJbyMzFGKnhuc/QiuKl+6a6zWCFsnwwOeq9Nv4VyU33cUCKppOlONIRxQAg61NHcSxEbJCMehqED0pec/wA6ANm01+7hwCwcf7QrXtPFDAgPECTxwcCuQHWrEWTxxyO9AHcQeIImbaFbI46Z5q2uuwNxuUeuRXEW7PjMYG0dQT3q7DtkCoSpAHXp19aAOy/taOQKC64HOBxk1aiv7cEv5oBP92uTj+XyJIwjYHIZuvtSlEbdKvQttKjoufSgDrJbyCUoFZSw4z0pZBFIg3SKSON27PPtXLfuliBKyqWOMjtTjFJ8yo7iUfMvIII9/egDpY2VLYg4YngfN1qQt5FvFhVZj2HJFcpELggESfOp5Uc8eoqRZ7gscS5c8D5TyfSgDekkdTyQQeBx09qkhd4bcGdR8+WAxk4rn4ri5ibMgVX/ANrjP41NLqs4dvNQKEAGQf5UAa4kcHcMseuM4x7VetNS1NYhGl1cJGvzFEcqB7jFcwuqPJwquSRxt54qaPWysIiAOCMtlaAOqj8R6ttZPt1yp/iy2ST+NRXWt6newNaXF7LPHIMFSccmuc/thB820BiOCQadZ6lEJDLK4z0AUigDp/Cd9F4ON09ja2880o+ZpU3FD/smtCXxPY6rMTeaLbTTSEMWjOwk++K4qa/hc8ZOf9qro1G3hiVYSBJtwWXuKAOkvLvRRBILbTI4ZnU4ZpSwQ1z3g7SrOLVJ5Nd1Cf7JtyDEMkEnpg1DDeQs2GGfrzUpuElkL7gc/KecCgDrLi38K5It9Wv4+DnfCD9KqSWXh6WciLXJipUFleHLD8e1cszLvO1lIPO3NODSMkhjjI3cH3FAFuy0qTUfF6afYTIliTuFxcDAIFdHeeBzHLJ5GpafJucgSJLjnsSD2rmCxslCwKRlAGOc/l6VXlkaSXefrjtQBvXXg/WJDH5MMUkfVmWUHOKw9eF5Y6zbac1pm4kI2rE3mfjgVPaPdWVsNzsu47woc0sF/LbajFeKF+0RkMsgGCp+tAF6HQNSju1j/s+6M2CcmMjJPQ1nz2GoRXSq1pciRXHBjOc1tReLNdvXkmk1OQQBgCpP3vxpr+J9UiRmW+uSeu44IB/KgDA1V30+48u9Y2rv8w8zIY574qD7OwtfMWOV43GQwHB9wak1xY9am83VVaSYYYMTXTt49vobG2srKG2SKFREq+WCD9RQBgPHPNDGsizcKMFsgfiTQbe3gwbmVjJjpjA/DPWt648b6juUSfZplRQv7yEdq5vxTLJ4laKa6mEWzGEQbQB6UAS6oUnKtC8knABJFV4YWeYxEDzDzksOBXTS3vha1s7aAafdeZGmGm8/lj7ilttW8NNNI9rpNyhIAY+bkZ9RQBgxDZJmSNEeP5hIy8t7emKrzuzEk9cDJ6VL4zjg1Zoo9J3WiL98tLlmPvXRQ6d4Zl0qCKLVbqK5EY80Sx5UvjkAigDlbEFr3JdtqISo68mpQqmQqzkNy2N2a37PQdD+3K0viLbleFWEqc+hz2rB8co+lyxLodwl6W+8ypx+dAFZ4185biQrgHb+FW7ySPcpQs6kdc1vad4Pvn8Paddy6lY/bLhQ7Qs4VlU/19qtN4QmAYRy2kcZO3DTjI98UAclayzW583zCXU4HfFOWXZbQrIwO8nHtz6VR8TvcaLrMWnwNFdMWA3xchc+td6nhcQeUbjVdPZ2TAXf9zPegDjTFJJhLWJfNHIk6Y/GrUVs0VmguXeLOcHqT+FdL/wj2mQq323XLdFU5dY+T+FcTrNrI3iSCWxu2XTLVwUkfln/AAoA7rTba08J6e+p6hOj6iUBtbVuSc9GIFcpf3txeyNPOWlkkJLFMt+GOwp+ozHVbgz6hJICeQuOeOhP+FJeXzNCkMOFjUAZAwT9aAIbWOMIJ5SRxgKOTj3rlPFF6HcpHkKPU1uandrDalc7T3ArhdRn86VuTzQBTJzyaMZ7cUe+aUDBxQAoHenDmgA/j7VJAheQDIHvQBPaoCMZwcdAOtaFosXCysxJX5cdAaZp8JZ2A6kHNXoDDGuQS4BwCRytAE+lEyTKsaMFI6A4H51shpVZtsWE6HD7ifwNULSJXkKPKJE6/L1H5VeIKjcFKleAyDn8RQMC5JZ3QBR/Gx5/L0pRNuTO/bGOuVDfhmkSQtgyYwP43QcfgKC6GViGjDAcgIcN9RQA4PGBv8yQK3GA4A/KiMnOyIxvEeeF+Yexpp8sLiW2LL1+Tt+NAdZFZhLEF/2lwy/lQArFs8PIj5xlVwo+opVMiYSMxOnUsxwQfYUYkyCiEnHWXkH6Gl/e+WfLW2Vu5+6w/OgCPezfwymR/wCDICt+dPhZ1dhNsgkAxgJuFOKzKpEgJU+o+b8MU1Q6rtWd44R95sYI+vrSAhlKKGVkgJAJ3quAfx9a0PC9o6abA8YQs5LMrc5Ge1Z11IhtJxuEyBThnbac+w71saLF5djbfvGEhUKABnb70xG6WaxDlvLkLqcnuOO9V1iK2fmyKSuzAAJHWuU8SzXNnqVslq7SoTgtgnIPUfhXUSXc+xS0YWNSBjHUUAPs5IHgV96q/wBwpnGMDvUd1D9qt3GEcFWYZxvBHr6VRtY92oO0TRkH52jZ/f19a07h0muHhOLeVlI3kY3HHrQBmablpUEIxOowgHc+9WAga089wwlikMc+49cnjFU7GEQXTQwzrujJAl7VdeUSWUyKQsmwk5GQf/r0AV54GWdZ4iWCcjqentWsuuyXVqAWRlC7Tj0+lYyTyyWjeYoCgYJXjg1hXGrWmlTxiLe+7jDevpQB0FzJbx2asi7ZGO5+yD6CucuY31WQxxttjHcfxGoIrifUpB9oVliZsgJn9a6GCBLFgVMZjbglhjNAESWiWNtFgbTGOWz0/wDr1egC3LpKDkqDnt+PNI8QlUlwqL6dd1RaeEknZJZEQLnaGGRjsKAJEiRLjy0cserHrg+1M16yAs1nhnzIrhwD1X157VZYpGQF4Oc5zyff6VDcSNIcrKu3eMknGQKALllqE1y0cE5iMgAJJAwP9qmE29xqxU4Xy8yeawzwOwrOkeSdI5odoWLIzgDI9/WnWUjNdGTaAsiFVwev0oA1NWvdPuDDELJdiDLMp2kis3UEeAR3Ec6yWko+Xc37yMdMEUXUjecXnJbI2qD2qO6gU2/mIOQMjHUetAEoVJclMEHjnn/9VVYiY7yeMNlSeM0W6O0bTwSquQPkJ6/Ws7WdQeFEXaouVOQV/lQAmuyLbsJYXCTqSR71naXqmovcfaLyUmPI/dg8URQz38nnXJ+U8tj+VbENultEoURlsA/N60AbdpcxXF357usUaAsBjqcdeKYl5FOZY4ElLRyEo/PB7ZBpgsitlILbEkqIJGDHBJ7/AP6qtaM8IspbiaN1EzAdOBigBC0uoxR2E0ioN/zRkfeJ7/rVq3EGnaWkDDdIj7QEOe+KWEQfbvPQKAuSEPbjsam022BthcIv7tsHLnndntQBxvjWRHu4fK3bAnGetcbHhtSjJbA3jkDOK7Dxsc6wYwc7VHNclYrv1WMbWb5ui9aAOtIVwVkkVUPO8phj9AKUeWW3RJI2RgODjA+hpUYQswtxIGUZJYggZ/nUZaMN8sUs0443jgA0DI5VjCttQKoxlmOSfYVKQ8YAhM0I4yzc013ztd4jLt7A5UfU06L5kUsvmFs4HmdPoKAEVFcsWne5duCTwo/GpI9pT5FEZJ5kY5PHXA6UwNEgId50K8BFOce5pBJ2ld2TOFjKct+NAhGlkaYbJgEQkJtTlvrTMSNcEyrECML845I/CnxrIkjM7eW7nGFAO0e9MkkjiYrBIhB+87L8wNADL0LGu1Y9gLZHGM1SwSOuKmudplDBpCxHPmVHjdwOtAGxpxAt1AbP4VYLAA+9Q2igRgAcdam6jBoAa3seMdKrXHI56DNWT04HHeq8+Nh3cnqKAMS6JdSFBPvjFZ5+pz3q/euyMcDaT1FUMbmoAYR9aKUfmKFBOcUAKpxnpTkwOcZpo4pygk0AdX4Uh83UtPi2kh5o12+uWFfoFGixxqiDaigAD0Ar4c+ENus/j7w7HIodTeR5BHBANfctABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXmX7RE4i+G1wm/a0s8SgZ+9zk16bXif7T92i6DpNpuPmvO0mB6BcfzNAHzTLj5jXLaic3T810854YVy16c3Mh96Q2VT1PNN7049ab6+lMQhpjU6kagBsY/eCpjx1qKLlzUuDQA8AetTRoGI3EqDwD6VXX+dWIz8vXGP1oAt2okDOgBb2H861YQZBIIhGpyMKTjnvis+EKjgSb9x/1bJ0NaViBJ2PA+YMN4/wARQBZjVjGG8iIuv3gVxT4425Kx25zyMPgimkggFQgweCpOPx9qCqhVcLE+4dPM6fT0oAkcTMAI2jwOu5OV/wDrUi+Y6Dzg+9eCSQc+4xzSMOMyxlQRlZMlsj8KRSuMbEkx1baVNAzN1SKS4UqrK3YYGKxptIn25Uhs9hXVv+8UrtOPc4I/xFQhFU7d/X/ZyaBHHSabcJ1jNV2tpV/gOK7xcg42RuO2OD+RoMakZ8ncO4K4/WgDz8xODyppNpB5Fd6bS2yN8PzHpkZBqGexs8FDApbpkZH5igDhgDx61IvoK6ubRbYjuj+hNVm0NM/JIADyCaAMSIkKwyV9qsq5ifBZXOOR6VfGiyIgJdPoTg0y40uWPayJuAOSVbJoAalyxjVd28qcqMfnVyO8IZzFEyS7ssMnj1z7Vly2lyvzlH2E5yRQzygbd5wc5PQn60AbAn8wENIWQdEBztP07ini4SLClj5g4VlThh261j71EkZiDqcDPzd6mFzJ5jeeAQBgDPFAGors9uoSGRSTg7T1/wAKsJcSohV0iKjhfm+6fesETmbc5yT1JB5ojupdpWN/lHyg0AbUb4cyOXeJxhlYZz9KWIoCQm8pyB5nAIPbFZYupkILHJ3cLEwGT60jzbCWMTmT+MO/6igDWzGSAP3bL1YHAJ7j1ppOJw6ttcZXEnTnv9KzUmVWRyNv90EZP/16fPcEgO8ZcOOR1Ix6UATzTGOX98VDqMNxkMD/ACpLkKpBRSY1X7o5wDUDXZkUkrCW4xkEECpYJVE5M5cZGGBOM/lQBMsaSIQYlRwOPm4amvagSFXzGCuS6HOD6UwOpyrDy0I2xsB3pwuNgaOeV/MVcE7cj8aAK8SzBcqWbcMjDc/lU0QuDtUu6krnB5xRG8LSB/MDT47cDFLHPBCh8pZCGPzbv4vcUAJvukKguoVujYyD+NWFvb3ygxlwp4Ax1FNR45kVY1byHz35VutOYx+ZCu7fuX5Oyg0AMj1S4UOzFMLxkMeamXULjzIw6Ag8ja3Wq05JUKibUILFeMAjiprFInVYhh9q5weMGgCy+rz/ADSSowCcHkflSLrBO12hYjqCy9qptI0yMpGMtg/L0FNR1MkyliwX5R7j296ANZdZtggjC85LMMEYJpH1S3cYySPZuKzAgjhy8YSTqvcsPepIhsVYkTZvXrj+L/CgDWa/tpGHzHAHXNSC4tZYljQL5oPyt0rn5BDAHVkD7cDOOrVAIy8YwME55Bwc/SgDqJFyxBPDHs2R+NKlvE7oJJRtU5Kqa5cJIZIwskhQKS/OMVIu/YzW/mOD0PrQB07KGyFQBfUcnFPhZ4rWUDKknG32rl5LmYFAJsgLk+1SwzTuxRZtzYzjJFAG0i5Ynbjsec8+tSLGsIaVHcc8hjz+FYL6jdQIrOHKnphuKF1OYbJWDsucgkZGaAOnhnRbM+YjeZI25s/oKZBK6MSrDAPAPpWDLrsh4kIDd8pzSLrfQFkA9hQBtwq8t9JcSZbA2qxbv9KS7MvkP9/PU7e1Qw65pwiRRAvygjJOck9zQt/azYRiUXPzHOePSgCzEjQxRyF1eQqDuI5H0otluSZZX+ZXbC7xg/8A6qG1DTYWOyQFAPlB65qEarC8W0XHBOTk/pQBMIdzMszlRjnaOTS2MAt7ZLsXAL8hYyuR/wDrqk94rkKrMff0pJtQgjgSKFvlXufWgCw7tI7lgec9O9Vri5SCFsMAAc59Kyr7Wdi7Ubn/AGeKwr3UJZk2k4UdBQBJq98ZnOG+WsYsSxNOZtx78UqIWwAPwoAavv1pwXpnvVoWrquSvXpnvTvs+ACM56H60AV0Uk1djg2uFxknkHFOSA5wAQw6Crxs3eaPb1YbuufwoAZCPLuBIAQ23PHrWgg3xsVw4U7nUDj60W9sVwduJMcA8bqfGGtFBDpsLc9yT6UAW7JO4hZRgdP6VNIsce1mikifPDK2786dDF+7zhwG9GyD+VOAnQ/IIcg4GW5IoGRoWBxO0Dnr5pzg+xFSu4khxIbYjPZiCab5bAjzLctzkAtgA/SnkNnd9ngLdhkZoAjQjAIhdH7N94D3pWdcs9wpk29JIhjH4UjuC/8ArJI27x4wp/EU9ldQNrxqo5G1gQPrQAxdrtkTSyt1VHTgj2oONwMiIrnqfLzj296WQvIrDaxbpuR+KYqGEkqXlPctzigByxwpIMyls/wLlT9cVKrKjYeS0X6rk/jTIuVD7ZIyf4yw/nShxgAySxFu5QMD+NAEV/8AvLYorQyqx6IoGOetbdnPHGvlSgAFcZHBzWQwid4lE0TPvHAjwx/Gtho4owCYwWPJOaBGtdyeZolnHFDG8okOGPDHjPH+NRQxtFFmb5i3UE/KoPrWd/acd1PaxW77JIGwSpztzxyP61euPtMTbG/fBjhnA5AoAbdKkeoxSW6xKeVJ24X7vHPSnqRfxiG44wcK5ONvHXPeodTEYhaORgdgBVFGTx247U0yRvH5udqtjbGoyKAM6/H9l3mFBKOoLMOn1+laEEjSwv5YjBI53HqMduKz7ts/O4IQOAqr04PP04q1cSG2IYPviIyH7L7H/GgChqF2SyRgbUVAAR/WssaYl3IkoVS4bIYnIreaNrqGTdGgy2VJ61BGPIeS2uAmw871JzQAwQrawBwAAODjv9KucTRAjITHIP8AQ1Xnij8h9oZB1BLdajgiaOOObzwYG6oOce9AFi2c/NGRkocD1I9aSd1jurchQEOVJA6+/vUUyLBMjq+5c8t/SlvwHhBRtn8QU0AWWfzyyvGpiUY3kfy9Kbp7LA8kbDqOjDJINV4Lt5IIh5Dn5uVxwRTpZHjlM0sREYbG4HB+n0oAkhUmdouobLAbcCs90aGRwDtQNhT6Vbhkb+0m8o+YANx2DOAe/wBauzGGa0YLGpJ7sT0+nagDM86G5AFzlMdAOpP4VZniCRny5TGpXByc8VjXV5DGzpcbEcN+6Yd/asubUrm9Y20PCjgsP8aALv8AazqptoEUgcBqhisZZpC87ESsflB7/wCFW9I0yNE3uAXByeelbLRxBXCAs2Dknk0AUjC1lbKxUOcHCqe9SW0UyRZuIzuxvAXnH1p9n8+IpcqEPG7uferM8spUjzOMkHHAHtQBC5ltYop5FMUbHb8y9c9DmrOlxzNZGZCWiMhI5oW1lvGia4LmBPn2k48w+grQivo1iuRE0kYicARY/DGKAMnUtQjXVltVBxLgMyitqCFrILEjM0A4COegPesj+xL251mDVA6G3Y4MmMAMBnFbcMjTrJHfnGV/dN0zjqKAOG8XNu1iUgg4A5Fc1pHzatwHYgn7pwa6DxCf+Jncg9QQBWJocZkv5tpIbBxhc0AdU7v8wZnjVVBPmDd/KomlVFGbrIHzN5Qx+FMEBSbBkKIfvb26/hT3f7294puQAgGOT7UAOWI7B5AcqR/Goxz6800H95xFGSp2ZU7T9aAYlmUbfMIX7mRgHNMSzcShpLZ8byQox+VAAFL7oo1JkJ6KwwP8af0ZFzPNKvRy2APUCllKkeU8fkRr8zPs/TIpkKpt86OFGQJgDf8AMfegYse7ZkRS4DEna2QTn1pqSSRb5J5RljnawB4+lCCUjBs225BAGcAe1LPF5Uu6a1KKxAGWwD+VAile3JuXDEJx/cGKiQqGHvUlyI/PbywgU/3elJCB5o44NAGzaE+QmenapCegIoXAVQBgbcmlONtAEbZ4xxVWc9cjj0q24OOvP86o3eQnBzj9aAMa9DbsE5461SYEHmrV2fmOR82enpVXknmgBueOD1py9D60hyOCKFPBoAUnOKfEMsKYBxnvU1sMypwetAHs/wCzzbJN8TNJ3qGVFlkA9CEODX2JXyh+zHZNcfEAz5AFraySfXOF/rX1fQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV8+ftSti70Je/lyn9RX0HXzd+1BeRy+I9JtFB8yC2Zyf95uP/AEGgEeF3RwlcpOf3jH3rqbw4jJ9q5OQ5YmgbGGmHrTj702gQhprU6mmgAh+8TUgPbpUcXfNP5waAJABgYP51KnTG4gHr71FGMnGcZ61OoCg4wfSgC9aDdtCMBg4w5xWjEIym8vskHORySazrWXMe1SvHJDLnJrVTYG6CGQfdkQHafY0ATRscZS4bYRzkYOalWRM52Ddjgpj9QaYi5KufMQsMFjyufanILgykbonHUZXkfQUAKN4KiJWQt0yflY/h0prC4A3GQqejpjOKCBggkuM4YJxt/Ck24yFlnPojEdKBjsl2wy7hjIfO3P5UE4bgsp7pv61HEY9vEsqoOqdcfjTsjaDhlTOPN25z9aAFYsfldGGeVZl3AUqJuBKgHBz+6fH6GmruJHlSBoxwyrk598dqVoywU+SwAP3s5/A0ARk9QyJGc85PP1xTlxtAaUoSOhGP1pWCOuHQADqGbk+4pY90SZjLqp7sucUCIyqEDyLiRmHouT9M0bHydjNu7B6mfzGwHJT/AG4yAKjbO0JJIUc9Qyjaff60DGhmCgeYNwHRegpcqrrlgmemRkfpSr8ydXkXvtXA/OlUbUIjjQL1OcEigBoDbiGVwp6ALlfzqN7ZGU/ulGO+RU4GEz5ZKjjKNg/lUbr0+TfIOQM549DQIrta27xjaEYdPmXkfjVc6bb4+YMR6hs1ekIBBcMSf7xwAPSmhOdyxOB0yGGDQBnf2SmG2yMvPGBUKaSWI2T7fUkYArXCbGxu29/LB/kakU5GHSHOf7+DQBgz6ZcFyfkdgMArx+PvVO4tLqH/AFqEehrqgF2Eu0ZHTlv5VHuB+WNiW/21HT+tAHKkOjABSOMZI5oSWYbhvO88ciuqcxttykXy85Ayfx9KY0NrKDvKFz0JGKAOaaeQp5DONh6kDPNEUvltmXMqYwwJxj0roW0yBzlog3vEcY98dagl0qzyQfO9MD1oAx4J3mYncNqjgOeKlEjLIpdjGOgbGSPYj0q7NohIBjc7Rx8wxj61C2iyo2VmQv2yf60AQS3RJBKqG6BiMDHsKkWYeSd0ib8fdC8MB6GmPpV4udyghe2aie3uIxkqwx90AZAoAmgnDg5Dx9wy9BVpbkGNmaIhl/iU1k75kCoFKjvgcmmiVgwOOnXJoA1hOWA2HJOeW5Oe+amjuISx8oHzh8ylhtJI61ivKrOSAyljyc9RUnnZ+RUVhnPzdQPSgDRe6mZGYMu3O5ih5YfSn2+xx+7DLniNiMA465rNMquQ7B4xjqopEuGaYZXcuMYU4z70Abty0JUANiWM/MEOMj1HrTFwpRnkOV4Ug/Lj0JrLLNEqiUbVPRs5I/xp8Nw4VgAp287G6Y70AaDpiNlDiOFwXB3ZwacWKumQHjC53rxkj3rPjvI44flzkNkK6g/j9PakF1NLkSuBC5wCF4H09KANNHUqz+YxhLDgjv7GnBWikLoeGGFjIBzVKO62uYpd3yfKqk7Rj1+tKjxlpRJIYy4+THXPvQBJOFmlSNd28oVJxjbTI3aLdswMkgNjkAVM1w8kgUq0WwcgdT65p8MkRUCS0bB6OpByD6+9AEdtLM0AVkWeLqc9j70olXyyEO1V7Y6/T2pkklpGjAb94O1gvHHans6+YqtsR41yD6igB0YWUkFgY3537eSahW1TlLhk2dsDkVNGwZXlDtInoDt259KON22aYrLgHkZGPSgCjaWkM0zrJGyKCQCpP60smmKYg8MsiqM7i3T8KvRpz3KBsMyHn8fakZllRlVpGAbcSFoAw5LSREVlctuOOhqMwXCHHlkn25rotuYBKOUB5ZuF/EetQPE7W+4fL5h+bb0Uf0oAwi1ygIAkHr1puJ5G2sHJ9K6FlzEABGWQc5PbsTQSkkeWaNAvy7h/H70Ac6YJxg7CA3TPelexlCgspOa2pYSG3TKQF5GCeB2BqeN45Jd0abMDBVlJLGgDBh0+V1O0HHp61ZWyMcfmAE44bA6VqxyNHEykAQk/fxyKnijbkdNwwIjzuHrQBlPCTGm18sMsV7ipEtwImUgBidwyeatuI1HlYPn8klTwKVVADgoMer8duKAIFiAcbl35xlkqR2BdDHvRlbBwelSOU3Ism7zsACNcjn60j8PuRHSFjyCQMmgCR4w52IxkmwWO09vXNEa+fhUQAKfmCjLfWmOFOWgHz9HYHoKvWkRCB2Zdx5Oxsce9AEvlW+3JDHd1CsR+lL5R/hTcg/56EcfQ0BoUZ5lZVk6EYJDfjSZUKpa1QM3Qk5WgY8bh0QknoCQ2KWISZZ9gjk7qiZJpjlnbHmQhjwQUIJFNVCGLNFKg6YRsZ9zmkBI8s+dmzaD/ABsNufao8Oqn/R40cdCBuB+tS5KY3/avLPOMhqY5LDcGR07eaMEflTAiIjcFCjbxz8jBcGnx9eGknc91P3R70buixRwcc8NwKcpBGSjwjPVGz+JFACEc4S33eu08/iDT97q6pwOOknyEfQ0MhkUYP2k/ULj+tMZQHEZMi5/5Zsu4fnQBDNdJ58BICv5gHzcsfx9K2xKSCHYAYxgmub15itkhErbo2BCmPbW/o13HeW6SMeCo5x0NAiv4b0dob67lubhohMdu9Vyce1dLBZtHGFt5xK7/AClxN15547VnCGR/mMuZTwecYHvUIWe1kclVKsvJHegDT+xG1uC4jmjCcFnYMv0yKpskLZhFyiLu3bHJH4UQ3vIKyyIwP+rJzWfr2n3V/EpjuHClvk6DB9DQBpX8UctskNtIHA+fkfd/GsyOdWga2eJmdvlG3p9a1/D2jTW2ij7bPDG7ZGN53fSo5rK6M6GCFXiCkfumByKAMmfzbFIzE7TRYwSeNp9BS3DPKqXEYcui5GRwatXUE6bFlimVWUkB14rKsbtVZ4FZvMU9D2oAlN8LmBxcEQuF5H+FNspV8mIxMGYA5U9DVm4ihntsyxqD2NZPlpHGGTADnaQT/KgDSjMc0TEu0Yyfk7A06yfdatGkoeXJX94M1ks8yT+RGQCvBw3Si2eaynyW815OSVHI9qANSOWW1d4bjJUgkBSePYVKXjeMLcN8v8KBuc1QuZkmiEqSbJV+bJ/iNIrNNGkyqM46g0AaNldCDUmVTsYLsLdKr6lNLC/lW43mUEc9ves64af7Srrlin3ieBWtbgsocsVbHBVc5/GgDGuNNW8jVZP9chzlu9adlp0EMSn5W9lxioL9xHKh3ndJwwPpT4ZjGhVWTyTwQGoAuQyCNnijAyBnH3cmplkYFi8ew9hwf1rNZjJOlxGGMaDDEnBYe1XredJcpATjH8fJJoAq6ix8tRAkn2hmDHjt3Jq9BDvgVnUHHXI7+tR6dELWW4k+/IDjcTnFWIbWZ5zM9wqxu3znrg+lADfMYxMN2AOBn+H6VFppZJ7iW4+d2IOCeR+NXyljM5RI2cE4DfxZ/CpbqG3wOAmEwB0yR/OgC7BqE39nQ2ttCmGlDuX44HarFwqyzySXGHBXEYHRcd6y7WRlu413F0VegPOTV/UPLEcMhm2MDgL0oA878QuDq10VAC5zxWT4dLLfSFG2/TJz+VW9Zcm6uHJySxqp4eeWOaVoN28/Lgd6AOgYAZVXUyHIDIM9frTFEQR/Khd5R/y0LfyHrVgrOsCr5chfGckgjNQszQW6nbBGSN2S2GNACNJH+7BVI2B53HcSfpUsJhcKCGMh+bbHISfyqMOGVWjtYwxOBIpwxz6ZpWt5AJTsEaDB8yThyPSgCOHzZ4pETzjEeNoGc8+tSEhZlScQ7EXHkrng/h1qQuBACWnwijaiYGPrUCpNAiSlowFOd27PWgBpZg0zzbogw+RVY/KP6U63INvFJ50ZbOfmyx/KmS7vtMxkkSVGjyGYYz9KW5b7m6KNOAQrk7jjtx0oAoyymWZnfbknnaMCnRFTKqg9T2pJTvkYkAZPQdKls0Uzr8oOaANpMpGoY8ikySOvHSnEccjmkY4HHU0ARynaMEZxVS6zgkkAAdPb1q5JnHbB6k1QuiMAYyOcfSgDDuW+YbWJ71Bkk5PXFTTja24ZINV6AEPXnrS9s0u1toYjjpmkHfigBw5q1ZLmaP0qoOBV3TRmfk9BQB9J/sp2TNq+tXufkjgSE/Vmz/7LX0jXg/7KdtIuk67ckfu5JY0Bx1Kqc/zFe8UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfKf7Rl3Hc/EOVYycwW8cTfXk/1FfVlfGvxkvEvviHrcsYO0TeX/AN8gL/SgaPPNQcCF8f3a5l66LVMrbyk9+K5xqBDQMnANDKFzkgn2pKTPagBDTDTzTGoAVOBTwaag+WlA6UAPTuTnNWlCo21mZRjdgjPNVkyPm9KnjYMDncT2IoA0rEgKC0gUsCMDjFacLYQBpUKE7SFO0+xrOt3zbq+3ftIAB4K//Wq/Gq5JjYRoeCGXO32oAtCKX7o8x4vrz+FNmVSw895AcYCygj9RTA8OSSu1gcHYxGfcCnMUVRmUyrn7r5yKAHoQU2wJIM9ctgH8aQPzhVMbHnBOd340g3NhsFlPCnfjH+NKEIJKyhB2XOQKAERyGxHG8JPJwpOfenmOTzC3mvJ3wykcelNzIwI847l6cH5TQvmDBmdHOPvK/IoAPLAbgMPp8u2mo4LbVKEfxYJZj+VO8xGO5tr9sMxJP0pVKq5YRxovYo2GFAxqHKny8Eg8KV5/CnIQ6nKSQk9Qx+U/hTnYZLP98c7gwyPfjrSKTIpG4TEc5XAP5UCIkQZIWeNX7YTgj0pxDquGSF8fex1P4U85kjO/zBEeq7QMe9QDyoQy7+RyHUZoGPaT+IIR6bTj9KYZQxyGAfoTgE/lTi7v9yRJM9ymB+NKcoMsw8s9AnzUCGsBEuXZsN/GvBz6U6JE24QeZjueD/8AXpzYVNolO0/wsnNMYoylQd3sTsz/APXoAR/NXAjJZW7sRt+lBVwcFAnqp5z9KauwJhCyIeqHkU9FBGI4w4PcMQPyoGKI1wRHCrH0Bww/CmgAEBym/oN6ZP0p2HYgNAgxwSpzQHAYrhs5wQFwPxNAhDktgrCR0+5ims52kYd1HG3ABApUC84mGe6SD+VLxkr5zH/dTP8A+qgBgLEkMyMo6kD5vxpVyef9aoPJT+H/ABpSEzjy5Qw6sTwfrTioGBGFjfspUnJ+tAwbJbkEP2Iba1EbsytuYMCOcnLD3oEcrD98iw+pUZ3fQVHIChXaZSnTzVH8xQBIsmcgzRk9NxBGfY0eWSDsiSQegPP50IXVeGZD6lMA/nSyksMzPkdjs6fiKBDANwPydDgx9T+dOQP2SMxf3yOR9RSIFkkXO13HQZIJ/Gh1hGdyHPcN/jQANawnDN5hX128CoWtbZmO2EP7qcipQViGMZ7ADJH508+Zs3Kqxt1K9VNAynJpltL9wQkjnAPJqvLoayNmNCgHXnP5VqLvcfOkYP8A0zb5qSNQ6kxLKki/xds/SgRkNoblmEUpKH8PwqH+xLkIVRVYY9a6AA87nhEhPJBP8qT94AFmaE46EqRz9aAOYl0m4ih+ePJ9SefwqFradMuYWI6DPauuw+4ZiiXHIcE/NThI+1uWAz0ADDHsaAOLw6sSqlfqKTzFQBfLYLjnDV1+YXZlljbI5LMBjFN8i3cMqxQsp9sfzoA5NJVZwpDLx94HPPrUrTqYiDk8nGBgZ9a6ObTbF3yyrEcYwgOAfeoG0WzA2vI/qNoGKAMN7o4UrO0hAwUbtT/MYwMI1fyQcs3TB+lXpNBjwxjmKsOgYY3D2NQPpU4jIQSMR/EMgfSgCBJlIAUKhHBkHf2xUiTkEsjrjuSPmqM6XdFd+wMvpnFKlrcwEGa3YxkYx0zQBZa4cELKsYcDGWHAH0FNE6NtwBH655JPtVJ0PmMGDqvbPNIJmxgnnoDjnHpQBrJcvF8scwYYwc9R/n0qJ7khixczLnBB+XiqKzyeVhWGEbcMYGD7UouZHbkg7zkjHIPrQBqJdqQJC6iTG0rzj2z7ipVl8sNFAWCH7wPRvpWUbgLdMwaNSwyTtwufp60GYKR5jSbieVzgH0OaANQKNoVnGXPzDd0Hb8ajMiw/u2SLcDwrLzj3rOhnQP8AMpZOpG7GD9asJc20mDOJ2fPLk5C+gPrQBoRbDu8+ZUJJ3Dru/wDrUiMJJ5E80MQCQ6jAX1yKrwTzTQMI9soztBbA2j05pzTyIY0EflYz9zDAj+tAFhHSIbBH5icBeeT9BS53uAhZZOpD/wAPqB61X+2xiMtNPufO0BRjav8AQ01JGRFhdUUHn99/MGgCykzCVlMawg43FV3E+lPmV1dRtC5OE3c5Pqahi3Rwny+ZOcFTkHPp60siTM3zvHnbuODwpoAiIkGySWIbjIQTnGPwqw++RgBuJIwpZcAD096ZHNaupLNICRt+71qxHFGJMiPA65kb+lAD7dsglmjA/wCeYG0gip0MTEk/MP8ApoCMfTFKZCi828Htlsj6inIZH3FY0VvQS4B9wKBjpHc4VUhDr0G/qKjPlO42ySCQjJUjAFII3XKxQjDfeV2DH6ii4MpI2SRyIOPLkTbj6UAEgUjOVJ7Nv5PsPSmtlgqRqjJjOJG5/PvT9xKNGjW6uR83Hb61CqQpKxcIUPALDjPt7UAShZEYlflz12Dn6U2YnkGR4pAAQVH3vqPWmr5SbjJJGPSNGIoADOMQumfm5znP19KAEVwyA3CBXJ5O3FP3vuyZgFHHK8e3NSBN/wDrQ8q4wHBBwPpUWAnCSGdl+7HIpGBQAk37tc3DZ5wDEAOffvT1ZFUqVdowM/JyR9aEEiZcCNYv+ebD5jTkLhQ0QWMNyTGTz9aAGPA11CyxMXVlxhxlhXO2F/LpF28EoPl5wR6V0cnlSOQTh/75baTWRrenJKhlQgSAdOu4fWgR0Wn6vBN8yONzDB5q/DMpYHfuTvk815Rulhb5SVxVmDU7hCAZGx9aAPVfOtyxYrmT19Pr60p8loMlmWUsc7fut+HavMotXuCeZXHvmr8V9dyRGRZztUZOR0oA9CB2RK8jq4H3SRwKoNbedI0kDTCVQDiM7QPY1y6ajqijOeFTdyMcVbGtakGRXUOSu4AHt70AdJJPPOgMdxceWAM7nya59dDhXXvtNxeTxIwwzqN1Pi8SSLDuFs23ocAYqeLxCHVSbElWO7LLwaV0OzN1odBYxAtdNhfmDDqfUf4VmzRaSLSdJbeeUF8qwbaFH0FRy61bq4IG0svIAyartq8Mz7I09s7QKLoLML5dMu7OJdMtpEcY3Pz8o781HZaMZr4GxuozEJNqtK20g+vNaJ1XSbaFYHPlt1/GiPUNKuMxSThcjHPGaYjROgovN/cWsS9Mj52z9BWeLDTYZGjjvJpELH7iYyKfafZxuHmA44BBGD6U2a3WRkfcqsOnOcUAYJhvY/EHkQIJLCXlVc5YD3NdJBoOoQ7lkNuFz8reaCAO1Ps3HlZkYiZe4HarEtkblYtrlXznjhsUAQ2ugLC73F9c2pwdqqW3ZH+e9cZ4lT+yrqNYkaaF+SVBGPYetdVHDNDcSQx/PznDN0q1cxW9xayRkO0hxkbchaAMWwktZooxtD5HAznFXrUiIOkabG9QMZ+tadgbiy3LCsLNGAAfLUk+hqCTVNWjnkGxNjHIKRqD9aAMhZjD50ksbE55C8gD1pbG9/tJjHYsQY/l257/ANauyx3GrK4m3CJcAqBjf9cVPpOjR6dfSTWaCPaAGc/MU+lABpenXSQTTxsyFmzI/wB3aay/EvnwaYfIcyTc58s5H1rWulvLmaWfzjLEPvNJwabb2RvMJHMXTGSqrwB2B96AM/4fy311p8xu12yE7MsOeOla2o28Zw5Vg23BQ5+960SWqRhVQMkqj5tjfdx0qncS7YWM5OVHUnrQBwmtvmWdjgZY4xTfDsayAqQck9cEgVV1iXfIQD1OauaAwWPc4m2Dj92e5oA1lMLTGNTKTgguATuNSxRxfMQyEjhBKD/KmJHNFvEKjMmTmRuVHrUlsZFUQ28u/A+8COT9ewoARo5ZX+VVkCY+b7qg1HLD5haPc7MpBJXkfTNTG3+YC7WVt2cCN+DUDhDFsgd4gx2uOo/OgBsh2EIdpbooGefwpnlxedjeCVJb7vAFWovKjOYyiBflLqcu30pq5ZCBuZWGX2gBgB6+9AEds6gOY3HC53kH8hUlrKYg7PsVmBwzruJH1qZwPKUvCzLnCqzqACfYVWdZ4AWyq7OGdfm69vagCkGB+8AasWIH2lcevSqu4E4NXNMAFx3P0oA2T9KZu3NtFOxyTnn3NRufQY+nagBknUgY/Gs69JRWwMjH51fkO3r0rPujjcxGB15oAx55t4YFfTmq+fyqaVssQcYqFgRQA0E07pSHg9ulOOWAz24oAF6+tX9LU+cx9BVDtx1rV0kfMx9cUAfXv7MUbJ8P7hipAe9cj3+VR/SvXq8++AkYj+Fuj4GC3mMfc72r0GgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr4g8fvv8Z622cg3kvP8AwM19t3J228pHUIT+lfBuqStNfXDsdxaRmz680mNGDrT4gYdMmufatrWSREobqTWI3WmIb6Uh60ppKAEPSmGn0w0APUfKKXpzigfcFL2oAUcY/pVm3KFwNu4dfTNQIAx9Dirlmh8xWYblzjaDhvwoAuRKhjCMApzklh2+tatsjxxsMMW/hZGB49KoxSrGDFMrkqcZHDAehFXIlROWYN6jZQBLC0giO92RTkAsmSPrT0Z4kCiYMDySfnB/woUMoLJBJtPO5WODUTqxG2QxEg9jjNAyV+CN6wKe5Of0qOdkYhZYjycqysdv19qasqiRdimNjxyMg/nU+/aWYyEN3wmQf6UCInl8tVZWYNnGSc4pwXepd92R1wo4H0pTKxG1VZMjOGYAH6CmuEjBkdYgvTJbn9OtAEvmtnKtvUdNoAx9aYyoBuMcZOeSzcj8RTRNn7ixvkfd24I/xpyuEX70C4GDlcmgBsiLIyboghHCleQfalyFUkRxlEHY5K0paLBYyNNzn+7j6UedGCd0bFvQ4/M0AIUiZPNIYqeRtbGPwoa4Q9WDkdMpg/nThty2AysO6EsBQ0rqQFZ+egdQAf8ACgCIsk2QE2Buck8N/wDXp6x+WuVEn+8hH8qXLtkLIp/2X6fSmDG4ObZvQ4bGPcUAS5ldSpJdB08zqajVWIYqJUI6Z6USKAozlVJ4Z23Uud6BvNb5Tjdyyn2oAaSyk+cUGenOfyprFdxZi5cdwOv5U7lU2k71PqoP5UqsysNoIz/t/wAqAIleNgHY4HRlzg1I0hWPCGVsHgD+tOd/kLl42A7MQT9aeRL5eVYhT/dIxj+eKAGIS6BmLBTx8y/dPpQo2HaFY98pwacBjORbuO43kZpUhYYYW8jY6ZfB/CgCKEsrEx7nY8ZHJI9CO1OQsC0a5lQfwv8ALt9qXBHS3l9OCaYys6FZGhUjgZzkfWgBrKGY+WxjkH8BYkH2qbH7olEMRH3gr4/Q0xAyxAzEuoI+aJgVH1qQgHDCWR26DcmR+dAyFniQDNxI3qrc/pQsgfJWVAOpTkZ9xTpIsEiWLY3Yrzn8aCWQhVj8r1J5B/EUCFB847U3kDqW6rTWt0GfuOfdsA/hSDYc+ZGgX++JDmmEQrJ+9ZyQMiRTnj0NAEv73aDGrFV4wnGPwqMhFO6SMI3XDnj8qkaOJyGE0uD0Pb86ljjlUgRxK6/3mPNAyLcAvzSEL2XjIoZkYKwd/M6cnp9acOCyxkg553JvwfY1GpXcFQ/P3LH5TQAZcD50c+u0jH50K6AfKLgKfxAp3IcoJFSQdTt/lilbdGSZJZ1IHUDhvfigQ1JUVQVlMpPYAgrTiysN7OrH67QfY0i5Y7grbu5jXBo8xcj5NwPBMhHBoGOjZChZTAyjnG4gr/jSo8rLmCJCvXLuCaaNrybBAjSDkbWxj8aCN7YkCk+oGMe2RQIcJdoHmuRGemR3qTf8oIESq38SqfzxUIJSX92o68u7ZC/jT33pljbq692ibH60DHIZASqkRgcj5Nyn6UolcLiafYe2eh/CosIwGA7MPmCNk4qTyQhLKCqtySrBjn8aACaRl270DA9HVcBffNDMyjJC4PVgxI+tEZVQV3s4Y8hxgfnSlVTBaCOP0ZWJB/DvQAshk2gu8LwkdcAkf41VubOC44YAHqHK7cip4ow581YGYZ6x8Y98UOPlZxLIv94MQcfhQBSXSrV03SW7IgHZsk/hVWbSrRthTzUVjxn5ifwrWyjHzLeZc9cHp/8AWpzu4y0iDI5APLE/hQIxZNFjUh0n/CRCKpvpMseNyD6seK6GO4RmOWccZOG/TBpxbEeZADGexwxxQBzv9l3rRmPZ+6B5Kc/j71Xka6VBDMGMSjG0cV1aZOAsUBT2faabgthUhVE/i8wj5vxoA44ocDAYevHSkVwnO1jjHzZxXYmCNgfLt8qvUZGagNrAWG+0DE9Ap4H1oA5lZSSoOEYHAAH3vqae0yZfAk6cZPBP41uPpluZAQvB6g8bfxqVrBI9oMG6P+7nJ+oNAGPa+YFGx9z4+T5sBfY06Cwu5NuFAUnPua3RDbW5OC8IIyAyg5pzCIjKoASPm54I9vegCJIpowqmJQ47bc5/wqTACBlRth9VyAacqmMFwsoRhxzjP0NNiYPIWjRvO77mx+NAwLIozHE8uOMhun0FKrI6KzkAA4CyY3E/0qQCUZyYV7kMeBTXUKv71IZ2JyCpIagBNqcnDxk9BGDk05kjU5HDYyGlcgiiNVfANud4/vyYP0FDIsUgZkiTPQO25hSAaAGQKZIww53Ackf1oy+AykSjGPJxj8ac5LSKSyAg/L8uce2KNu7JM0Dk9dy7SPpTEAbbwxjBx0MWcf1prAAgbY3Pcliv6UgYlD84jwfmxkkj2NKrBh+7WJ8/xSnJoGNIiTAZiWPA2nJ+lSKGK4TdnvuX/HvSNwwQlVZuilNoHuDQVL8NHkr3eTGaAFxsOWEaZ7yLz+lBjXhx90dAj7R+VNk3BcrIiN/dCnJ/E05SWyGgds92IGR9aACViWXO/ntIQQKZuTLRwxlW7uX4J9MUoLBCkkIK/wAJJ5A96kZnEWxWhZOmGwf5UAZl9pa3CFnhMbnrITgVj3Hh+5XBjjLqeAV5zXTIjr0byQehHzKfwpIyu7Bujk/xICc/h2oEcY+nXMTHMbBh7VZgkaFArLIe5B6Z7V1ZCbiXJYkZy8Zz+FOiRATsijC9WZwGoA5qO7lmch2VT97k4GPSpo9Tc7nLgztkBccAfWtuXT4ZSX8uX5upEYwfpVddMtSjMtvIcZwynB/KgDLt7lW83bG4KpgjqM9yatLcsgQpIFVYsIg5JzTzp8GHWJpiWxkL/jUMmibWxumVvUr0pbj2Job98ySP88wXYi7c+5yab5YT75USyLxu6DPJNV/7GeICWG9XOeMZFPOn6myuQPOVuSwwSR7GlyRHzsd5MLecCjFXI8sHnZ7k1rsVb5JktJFxgER/MePasC3+2Pfqjqy8gEAdAPauiPmINsMkuc87oxj60cqQczKy2IKOyJGQBhQr7cVGtttkQj7U0Sj94wPOfarWwNgyLDIP7xbaT9RTHiBBZROAR94D+VUSYV3rU9neOsTs0anAJ4JHvWzpvjBSuLknf2OK5LVvnupWByN3BNZ3egD1ax1u1aUSKFb1BrWGr27xgNP5UZJ3AYAIPUGvHLNn3jYxHfrWuk7SSxCQ+WvR/f8ACpfMUrM9LV7cy+ZaOZEx/f8Au/SrUuxplJjyirwyHkE/zFecRSwGYrDO0RaTajk4Cj1NWFv54LiVVvZHijXKkLncf8KXM+w+VdzvNPNw5kRHBz7cfhV8KYJHiUbywB4HQ9zXnUfiC/Hll5UQNnlh0x2NWj4k1BI1bah3qW4PQU1K/QTVup2ESPHfv8ioGzuWccEeue1QRXUcdxKirgkhhtPAIrl08RzBEebB9Bnmkk8QpLuIibeRndxVEnSXF2RI8hIBfr6n61y/iDU0jtmjU/MaqSapPcCTyyEAXcS3WseaF5mZ3JcPkLn2oAy5X81myfpXTaPAVt4UjYF2G44HIrPttIedI3jG/JwVA5Fa8MapIyOkvyjGTxtx70ATTvFDJkQuhI2qoPzMaUoSY4hAIwo/v8/jSiJvJeeOFg2coxf7tQLs+0bllw/GWJ+Yk9cUALcxFfMceSqjoA5z+AqOGdXi2t5WEGNpH+c1MTbh5PMjAkX+FznIpwBkTdJGqQtzsjxn2oAb5mLgMhUgKP8AVDlfpUs7hWMLC5O4bwCQCT71WjESXRVGYbgdzAZK+wqeLc4X7yjH8OC31NAEUTNuxHAzsV/iTmmXMJRCLglJDztGOfwp6ZlVnMw8wHaFYYzUEqCJ3V3Vn2jn72T9aAIkIxyM1e0zAmbb0AqgAeB2rS0oYMhHI4HPagC/kcc81GTjoM09wTkjg0pB2gnGe9AFd9w5A6etZt2yshUE59PatSbBByc9+KybwqW+YjpxQBkyx7WOT3qFsAn0pzksf0ppxnFADeM8dKXvSdBjtThQAq81saSvynGetZCHDA1vaSMheMbj0oA+6PhbaJZfDzQIoxgG0Rz9WG4/qa6mqGgWiWOh6faxf6uGBEX6BRV+gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDN8TXh0/wAO6neAZMFtJIB64UmvhSc7iT3OTX2l8VLwWPw912UjObZo/wDvr5f618VTYA5pDRg623zRr+NZDdTWnrJzOo9BWYetMQ09aToad+NJ0oAaaYfapDTDQA/HAxS55ooA9qAHqAB8+cVdtYxJGr7Dw2CQe/biqa5z1xVmBQHCh+MjnOBQBpwqs+/LKGBB2kYJHtV+MEY3SF1PRmHH41Ss0aMSJIqMM55GTj1U1bi8tYUIXa3ZyAVP1oAmHlwx4kVTk9Y5cfpQ5UsNolyezANn8adudBucRbD1KIGU0iK7R5hOQpzgphvwoAWNt67GcEnomA1BZ4ziMSpt5zjK/lTFKsSuCx/ukAkH3FKCUyIlmBzxkH5fwoAeXPk7tqzxE4OxMGmxojDMNupHUEtz+IpFlY5Ma4I+8wGOffNIz/vvmWNmYZJGAD+I70AIJiy7jhAP4VGTUokLgFZldfQxfMPakLFiQkkmT/FGd2PrTHYAEtMT/eWIbSfcigB28qN5VPLPP3ec+9NMqMVKsi89ETmlWRXUvAJomHU/eDfUUirNJNv3yKej7U7/AEoAkkbeVTMi5437QOfTimBJMFHY4HVduT9aRyVbZINsp6ALww9aXgLw4de/bB9BQA/5scJGQOp5Uj8Ka/ykPuRh/wBdP0qMIGHyoJD0XJ+YUshGCZIosgY8vbkk0AAWIlgsiqx6qRkH6GpEjIHyQyKP70fGfwpiNvC4j8v+6V5x7GlWPG4lJCV9GoGDHDEKXB77hhl/xpAUVNpLSknq33c+9LKqKV3+aCehLDj8aftOOY5ipHVWBzQA3Z5YJe2iWQ8fdIBH1pqhUJ/cZbHRH6ClEjAhVLIvRg/II9hTdqAkFgPcgp+RoAV5A2Am2Vf7jfeX8aVI2YYIdfdmJA+lIs0aL8zDcOpCbhSxRqzbvLlAPXa2PyFAhVDhT5kkq46gccfWpVV8ApETjqVcEn86ij8ncwjY7h2lXd+tKFiMeSTsB52IQR+PpQMa4aFsR2rB255f+dCshdlffGSM4JI/+tStkfKscskXYnsfrUiJNz5ao4P3vmzn/CgREVikjZcygDhgTz9QKkG8IgjWTDD5Tv4P+FNcIrZaERsv90kmmyqhbMkbLE33SnHPrg0AO3tGxRg288lNw5/Cl3uFyI5cHjBUY/GoCI3VgjMcD5mXt780vlBEYySzSpjja3I+tAySSNm+WW0yg5+RqaBDt/eIYz7Eg/iKfGqLGpWCRh2LHHFI2VkyyyMP4Xzx9DQIFLtGWt2jwOpHBFKZZNo3zDZ0yMfqKSRVkOTGoPTerd6V5CcgrEGXH8Oc0DG9j8kEzfw4z0+lNDrG2zZIHIzjdgUpEZbcxIj9hhlNKjKucPEV64kXk0ANaZMggTBh2OWzTt5KcuSDyMDlafukCkwiHb32fKw/A05kklG4K7Ljozjk/hQBCFCqFVSFPUyetPSQjiZZt4HSP7pFN3TqQjAopHVuKeQysqvNvPZAfvf4UCBFdwTH5qgHkFhn8qYOZAGO9wfuqmMj3FTeUZQBtJU8YEgyKb+9VhHJcsqjoCMH86BjAyKzAbrdumcYx/8AWoMaOQ27zZV/ucD86DeYbyjNKzY5DAEH8akLc7HhJGMgKpoAQuFH7x5GU/wFeB7ZpIgFJEDKo7pI3H5UsbKjfu59gOcqBkj8DSJNvJj81GI5y0fLUAOkV3GXk3kd434H4VGrh3A4RunzdT9AaMCXBaKKPb/GeCPwp8k6BRGzRTRZ5IGCKAEY7DiLzF7HC8/4UojVQH3NIwPYFT+PaovMCcCX5R90AndQSZWG9ZmxySxOR+HSgRZ8yRgPn25+6WUZP0NQKrs5IKXGOGjIwR+NKWjdCh86IZ528r/9anKqFfMTaw6fOcE/jQMY+4yENEQy87GPX/GkwHLMu0JjBWTjb7gU8SSRplrcgZzuRjmmieOTHLXDgZ2OnT8aABYwcMk0zSDgOFypFMQ/vGELqN33oyCFY/41I6vnKR+Xu6Zbp+ApiM8+f3Rl2/eGQAfrQBJ+9VlA6dDEx4HuKGh2YkkXaAeqtxTI2jZnMlu0br1AUsKUFAuYkEbZyr5z+hoAN4RSY5EaPOMOM4NPUEvvTy0bGMKwFQBwSTJ80nZwpA/GpojG0WUELKOocHP50AO2yRsCQI3P91sqfrRuYgh5IHcnlGHT6EU1RuLGItGg4IRcj8TS5cLlWh8n0C4z+dADZWTeF8lVk6AowwfzoERB8zy3SQD1H8hT5BG8QJjkVByVDAn/ABpq+UMtEeF53F9r/r1oESI7SqDiK4XHOOHFRCONS2yBnb/bGGT6etBMLDzAp2HktuwfwIp+ASohMdwnXc5IZPrQMTcSCysZlA+bI2kfj61H5puIx5Pmyhf+WTcY+vrUzF2OXjAxyHjO4fgKZku2WKs56HGxj+NACyOWVT5UPmDoF+8PwqMyRMgd1QnuADx9KIkUN80jiXuGbbn6Gpd8qZUeVt933EfWgBFKswO64b69vxNMn2OQFLbjwWkHH0qZ87MM4cn+KOTH5io180uds6FU4DEAA+xFAg3Iihd5QdmVsqD6VGvl+adu1j33HKj3qWRSNxkhLAf3TzSJlUzG6RBvUBh/jQAKsi5CMsqjrscDP4UheRY/3KuPU4AA+ppoLNIwka1dezYx/KhFSN8xytn+Ljcv5UDFDFE3BI5P93Ib86fCfmOEnhz08tOv4mm4lkG4FZQeSsTYI/CkickOAZFUHAR3IP4GgQ8MUc7bmdpD/Ay4/nRIF2DzY4QxOfvYZvyqAPk5m86RlGNuOVpdy5/1MaE9GPD0APl4A812jzyqBs/rQqswJEbbf4TG5OaVZDGflWJjn+I5JqMNCd7SCaB+5j6H8KBk8coPymVo8DHzqCP0phL7trSvKvTHUN9KehldB5LD1/eKtV2EZY7mkX+9t4FICXzCE/dt5Sj+8evsBTXjOVDPM5J4wu3AoVGyQFyRwi9ce+DSiTfmNVuXA+8Mj+VMQ0bVkKgqCP43BJ/SnGNDGpdnGep39fpUcZj3/u4iEPR3BJJ+lSsZQNiKm0dSI8MBQAsaqQGMW5AflKDJOPX0p7M29TLLLACPlBOaieTbH+7lmLk4XOFA+oqIOolLyFWb7vmJ6+woAo3GjJKxfzAEY8Mx61SOhK+7ypVIX14rfSVV/urnpldzH6jtSTyHaWVQ4UZzsAwfpQBzQ0OcN+7yfpUkkF5HIm8bnRs5xk1uxzxtsU7huGTgEUNGACQXYHtjaRQBzojkOA8bAB9zOB0/CnwX01s2EVXHQFlrffy8+W8ZBx/C2abLbqZFDhSSCVUjnFAGHcXAe4jjmO9Qcsy/ripzfRzzOx2xwKgXbjkitOSCJl2vBGqg9QBmq6WFmzbvlA6ENnFAFNjEyANtHmODgH7q093iubvgqkKLtXNWJtKtpHPkSAL3YtxVR9IWM5W4XHqOlAFiHdLFKQyEMAnBwQM9qYIY18tANwUE7c9/TNOtNKCfNMzvFjOEPNaEcMS7siOFccBjkn/69ADreIQKu/zUMh4VGGB+NOcmJDnzWXoF8wZJP0pqqztuAUs2QN3AUUzYDKFjIyvDMpCjP1oAR4Y3KrIPuLlgWOM+lOjWNwWFs3mKMh2bgU1tqxyiGUMW+/uwfyp8Tu0fUiMthUHfj1oAEijdd75mJxwgwAadIhjImmQO5xlXwcewAqOOVWJSK1QBeNxfvUMi/vJPlZD2Oc7aALRldiV8hYUByfLO0sPxqq7yq8yQoQu7PPB56c1PF5EbgpNcSktz8vNJsJmaS4G9SecnhR74oAaAIrdUkVJJsnHOTmkv1YKrCEqXOWZu/sKGDq7+XMgBO1cAtgetUy3K4nMpXgg54oATGT05rT0kEROW6E9aziQDx2rW0xSbX0ye1AFo89DxSHoNxwaMFRwMgUjHIyw4xQBDKAMLyQfSse+KjcGPze1a0oO0/wB3rWTfMqk7FDM3Q+1AGU+SMnHFRntTzksQx96aetADR1pwNJjBGDmnLjPPSgBSu3Bz15rq/C9q17qOn2qffnmjjX6lgK5cFSxAGB716B8MbV7nxt4fhiUsxu4iB7BgT/KgD7pgTy4I0/uqF/IU+iigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvIfiZ8YV8L61LpGm2kc91DjzZJmIRSRnAA6mvXq+G/iVdPeeN9cllO5zdyDP0YgfoKAO08bfFfWfFGhS6dcJZQ20hG8QA5bByM5Jry+U8c1WtxuflqnlOBgc80hnN6sc3bD0qga1Gg+1ak6HIA64qd9FU/cc49DTEYR+lHPvWu+kSgnaymq76bcL1TI9RQBSj4b5lytLKVblUVfpUz28y/eRx+FRbCDyMfWgCHJHalD4PIIp5WgID2oAkjljBXOOD0NW7fY026N0GDnaTVIRAmlW23Hg4oA6FGKNncyjfu+TGMe1XkZeWDSK3UkgYP4d65NbWUfdbp6Gpt9/H0kcj0JzQB1OUkOUMQfqCgK/mKDsYgyM7N6gbWH+Ncut/fRHPcf7NTprl1x5qlxnjmgDoSBjEsyFT0Lxn+dNZih+WYo3/PRMlD9c1kf28skZV0K/XmrGn6paKjBrko2ejJlWoA0WEjfM88Dqf4gxGfqKTaxjYLFG65+Yxnn8qhW7s5G3JLHHIOdwOR+AqbzopBu86CRsdeUb6ZoAiiV0ch9zA8qIWAI+tStEzgMTOcHIxhiKkCk8+Wz8dVkGaEjUnCqxbrncA1AyEs7ybuG/hcFSD9cUkvmmRSyySKP4ojyPrUj4k6Dc4/vAhvzpDEjHMYlB77TnFAhm4mNgAWUdQqliPqe1MBVRmOVsf7KZP50skLDK+Z5Qzn7/AN6jlCzRyvETzhV4zQAKFYl13GQjG4ttx9aBKyMqSBY2HIkQbgaEMsirI3OeCQoJNJyCoEh45AC8/wD1qAHkZJeQHnpInTP0proyspE7c/xbCSPyp2B9/ERJOQSx6+mKQSIRh5wo/ijRSuKAEDsu4xrl+429fcZqVEKkeV5qMOqOeCKh3hgFM5kA4AZORTijLgGePA5BZTke1Ax8nmrGcj5Ogw2WX8KVWUKFZuCMFJEJH/1qi3wq+d+7jlo+Bn6GnszkgB43B4+X5T+RoACUVdoIGOnHIPse9KVkKgrvWXvubh/ofWl3SxlVkR1HqcBV96RwdweIr5f8SL82T60CFLh48jcwXqZEBx+I60hVmbfHMin/AGOh+ooDoxLBs+pIKA+wpjMrfPHIkaH5cKv8zQBI8YCKsmEPZlYgH8O1IkasCZhMrdCy85/Gmpuhjbckyg9DnPFOV0LEBoXB45yp/GgBD+7Jdp5FcDGNtOD5VX3q7HgFec+xBpz3QhIRfO3f3UbePzppBck7VDkfec4P6UABYbctlUB+8UHB9DjtTE+ZzJaJGrgYcZxn8DTWjQMwlhkMgGeW2hvegGNlEvnmMgYwVzuHpQBKQrfeiIbuOv40wHDEpJHHGP4WzzS+UoAlC4Qj7wYkY/mKfAN5wheRR0XcP0z1oGRDDv8ANs57qxUVKwZQuA4xwCTuXH4UszS5CqG2HgCQAFT9ajAaPCtE6Du6ngUAOUPy0IVTnscj8QaakgV225WQ/wAG0Zz7GnyKzrtZy/o4Tn86RRK6EfaIXYf89FwwoAQluJJNqP035/mKFMRPCAk/3M8U1F2EmeSFXz15JqYMcnbdwEdhjBoEN8vcoXyTKOpJfIP+FNkjSNMPHbjnj58sKGg7xxPu6kqw2n2NAEQctGqxyY5Vm4IoGPaEYBkhjU9pFfb/APrp0SyR8JI4B6FTuH5GmPCMBtkb99vmZB+g7GoVjgTdLHvQd0bJ2/Q0AWpWyNryRuemHj2kj603f8uxmkix0DSdPce1VykEpD/a3GOgbnin+dAuFTMg9XHI+lAErb3BDMZAvVigII/nUTzpNJ5bJExXjkbQKcAJVLIkrMvQx/dpnnPL8jgx8c4XqKAHMiM4BMSOnA64NODOgPEZB/uMKiIZIAWQtGOA4PJHvSKY9y7VZ2PoAcUABbeQFjDqeoYYx9CKRX3bsLIWHZm+UD+dK6MxPySFyeVACn6075ywEglY467cEf40CCNm25STp2Q4C/hTQzuScRv/ALS4DCkbAYCaIs7d84olYKSPIXapGVLZb8KBkiyM0mI55iQOQx20+R1LAl5FZT97yxx9SKbG8jEE+YsR6F8fL7U7kP8AJLCJPXsR7mkAhCHHz27A9TypoKo+0YibA6I+CPrSPKy/LOkbnPDAjBFNcrGMskZB7r3/AApgSxs+0+XlDnAw4H6URtIm4y3AjY9dqA5qMMJcLHuc+joBkfWnIJbdSxUKRnkKG/WgB4acA4lDKw/5aqMfhUMrIwy/lSKeDKoxtPvSsqyR7lkRWJywAIBoigiUs1uPMzwUP+FAiUEsvzozk8bojgVGBAGBMhaToFlB4qI20ZJEUsqAfeTbj86n3xsn7yRZGxjlSrD8RQMHY7tqiHgdc4J+lSM0xUDMTrj7soBP51WK8KpkMZByjHlqbIsJPMsnnEYztxQBKsgVWPk+WwPBRNy0nmCUgOiux7x9ce4oiNwyKYJi5HVH4p7Lt+aWJlbu8bcg+/rQIiT7LCjEOG54U5VhTy0rNu2MVPGWIIYex7UELI65VCR0LkBiaRYTGHJ81Rn5gHBx749KQwmEsKcoCD0DjP4ZpA4jiBjjjlRjym3kfjTWUFQ0SOzH+Acr9falYqDvCiJxxhWK0wHKFkkb7PDAGOAxJ4P4GhdokMf2fdIvVTwv1FIzNOqiSSJyOqj5Sfx70i+SMqiyrt6szEE+1ACNGg5eIwEnKsJOn4U8vGnR4fMXkuBzj8aaHZifJhyg+/xkn86dulfHlzQyMvaRMFaAEWTJXyjnPGQAFNOHlqd0i+W45AXqw9jSeayqd8sW4/wooOaW3Z1z8yhz1AcfyPSgBGALYYFA/KvINpH400ws+0+fE4QdCeD7nNTYdFwxIPpI4YflTWKs+ZUhcdix2g/QUAJD5oHmIQgzzKrcAfSkk8tQoW5jeQnAOMZP1psjwMQVHlMp5LkkfhTpJ4WARjnPGQKAGoCqtsBeMclicH6D1p0pMrKfMdUOPkf5s+3tShJXj2s8GB90s/zD64pgjnDYUxMTznjNAEZt42kK+anJ5BJBHtVmMbC6vGI8dwpfPvUCTJsJeB5pBlcsMDNPUBU/dyyHHzFFBBBoASZEk2szFOfldVwc/SlbcWHnB2hUY85AQaajwI3y7nm25ZskFPrT4HZiFhZwqrlsyABvzoAYWVyhF23lg4AK8inkhdn7wkk8OpJZqJBclQweLcDyBg/mKRcrl5A+eQHjXp+FADXV5H/eTQmQ4YsxwQPSnCWPygDtRCMgKvP1zSxiQriBoSAOrrhvxpw25G6TDr1xGCDQIYg2gKhznksrgtTN4Rd6oC3XJJLUieRvfO13B/1gO0/lUhBZiyO8zgD5x/D+FAwQ7kXbsDDn5Xwf1pkw8xgHuY/Ugkt+FM8xtj75Nwzkh4+SamRfMAZ0h8sdyMH9KBDW/dNsEcZ3dyuPz9KRGgaWUqruMYLRDIH50mEVCFZ13Dq54P50jMg5M20sMBY0IBoGKNp2yFijA/KhHYdzmiRLiZPMeRSp+bDDHFIgcIzSqSpOHY4J/CmbvLG7yEjyQAXPP1xQIcpaRyYY4h8vJYBc/SleUbFBeMkLjaV6GkYEo0ro7gNgMp4p5UzBXyqRkD74xkfhQBC6gkNI0nmFOM9MfhUkLO7q8kg2jna8fFNCziUSFlW3GVyg6j2qQ5kYiBpgqjgk4H60ANHlSzM7mSTAzhDtUUl0wWNWVnCD5lBAP8qjxtJyd6A9I+mfehlC4cBI2xgDOfrQAiNnCucLyyhU5J+lWAHmU+YkzKgz8qgAE9qM+XGJ5HcnGF2Lg/XNIGQ5ZZJ2Y+rd/pQAyRAQkYJt0TLZcfeqPBYRs28lz8q7cA+9PlcOv7wyTsi55OFA+tNJQzhpN3AAVByBQBMT5PmK/nl34YLgDOO1RiFkxG6+UGAKguMfU0yGTdlkCowJwdxyakELlmXyn4GQXx39aAHmd1Qqk5VSDk7QMj61RnVUm3LgAjOB0/OrM0JmcBfIUAAHax6+wqrLu80hjJsH3Q/UCgBvB7jmtqwGLZTnisXA9K27UYgQY7UASjdn3prcckZ+lOJA55wPSmyNxwOQOlAFaTgfIeemfSsW/wBwBPbPFbNyRtI/h9u1Yt/IpJXPA7UAZzHJPvTeKewXHB/CmMeOKAAU4DvSUtAD4+o9c1678Bk3/E/QSOzsf/HGrye3ADAFcljwfSvcv2abVJ/iPE8gJ8i1kkX2PA/qaAPraiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACvnTx98C9WvdZvdQ0O8tpo7iRpjDMSjKWJJAPQ9a+i6KAPh3xP4I1zwg8La7aC3S4LCIiRWDYxnofcVzs/K8jNfRH7VnFt4d/wB+b+S184yudppDMyyJ+2ysK01n5AyRXOu7JKzA4walN/LxgAUwOgE2e4NHnDuMisBdSkHVVNSLqQyNyEfQ0rBc2yyEc8UhjhcfdB+orLXUYCOSw+oqVbuJsYkX86AuWXsbd25jUVG2lQnJAI+hpyOG+6wP408Mc8ZoAqtpSgExuc+9MGnyqchlNXxMyjrS+fznigCiIXXqppx5wCD+VXvOBHzAZ9qQMh4xQFiqqqewppgRh90VcCRnk8UhhQ/dOKLhYzJrKIj7tQ/2ajLxxWybfd34qylpbjTnkMxNzuwI/b1ouFjmm0vA4aoXsJk6NW9sbOMUhXGODTEYQF5Efldx+NSDUL5DhiWHoRWuVHcCmlFPagDPXXLnhZYwyf3asJrkTgeZEYz2KD+dSvbRtyVGT3pj2MTcbRQBNBrVqzbXOCf4mXj8quJfxSHKXEZ7fL8prGk0yIg44qB9K7o3FAHTJhmLKzbu7hh+lAY54KkdyOD9a5Y6fOo+Rj+dA+3wsdsj8e+aAOqaJiP9XET/AAspwaXYXBLbZCRgrIME/SuVF9fRfe+b6rU6a3LtxPCHP97JBoA3zEqLwojXPIYbufrShQTkr8wOQYztJPrg1jx69GcCSAgHgnrVmLWbV15mZWHHzrQBf3Ek7GG7ryuQfYj1psrzBlUSIY+4lxUUV/E4ys8LZ98NVhGQ8bco3phqBkI2gsoYsn8Ua5Yfge1MR4kODFJEuOHUkH/69WwWBACiL+6eQaUMWcphSR1Ex3AfSgRCZfK27TPlvRRg04F8lgERv4tow4HrjpTsMA2wqpPBVWAH5GmrHIDkiN37HdjA9qAARyggookx/GGyfrj+lDCR8iXa7HjJiwPzpJEZgA6qG/56D1/CkKJtBkLlfZ/6UAIYnKFT5Y9skMv4nrR5sSlcIUfplQQW/pSsIcZcTsvXk7R+VKfMaMFUlEZGPnbcB9KAGAdg6IRyPM5x/gaepLbmEls2P4tvf6UwKqjb5hb/AGGyCT9aQwl2UyBkdeoC5X8aAJG+WMutuGcjJMTHafqKWBY3jJFqW9QG6UiKC2Yj5Mh/iVshvwpN+9i0qx5BwWXj8cdaAJQUQfMs8BP94bs/4UjEAHzHdAeARyG/CmRSqoIjuZ8NwA0e4GlbZKp3i3fHUDKYoAAI4lyUnjj7lV4z61IuR94bj1EmAcj3BqNWYYEXmAN33ZX6e9CMQSodIv8AZZc/pSGEU5kLrI8KgcYKZH1pzgABnQKRwJl5H5UxJZGcqcA4+XK8PSHyoyX8xt/cMCPwpiHARsQF81Hx/APvD6U6GFyv+rV0zlfNIyDTAAUGd5HUbME/Q0oCsACVWQ99200DFdUUgm3lhlzw8fIzTi8nIiunDkdJBtGaaqPErKWluU6lQMgUbi6gmVhH3iYZYe3uKBDneUbUWe3cHhg6gc09zcgAhoEb3UDI9jUJeOFtwhBR/wCJG4H1z0pyum3MMcSg9GZ+v50hjvLZ1JlE+48nysEH8qa0qPGWysqg4IdcMtN3KnyklHY/K2flH5UqhBL5j3IEvfaCBTEPgdSP3Ecie6uP5UNuIcGTaTwQ8eM/jTtrSsWZDKmOJI0ANMJVlKCefbjo69fagZHJExXEkm09sHcfzqBCsZ2u7sewGRmrCiEAtslgGOfmx+nekLALhbhnHTJUGgREJdmQZHiB4wVyDUgYKAGMOweoOfwpIJG3MgMj9cjaAfwpx88gFYuc/KznLD8KBj0l8wny9jlf77H+VMkfdHlpI3OcBEXAxTmkDf62ZQ/QEJjH1puG3ZWVJF7gDgfUUAHCAKypgjjinDeHDb4VXGNuS1RbsZcSYRv4FfGD609XXGXdw7dcJQIWUysdjkMn91flx9QaIo3TJa3Hy9wcY+vrTyrKMSCPB7n5maodoWUEIxDcqgfAoGPfqGllDZPQtx+VJJlm3EoinjdjO3+tLKxjj5kRdxx5Z+b9ajXJ+ZZQ4U7SM/496AHhGIG4yyOOA2MbvxpfNcKULJFjrufkUjLGrbRJdK7c4bnNNRuu9FlQHAbbk/Q0APj2ncjSR+WT9yVuQfUGhkK/6qEFf4iuH/GnHZymyJ3HRZRgr+NV3ZWI8siOU8EKOCKBEsitIcyQqBn72CGI9eKMJ5gEUgBx0jBYfiDTrd1XhXKuvG3fj8eajlNtJKd8sqseuwDH6UgHvHBnMsRkPYINufrQI42HliN1PUE/e/PvSImVJhAdf9rCsPcUgQHDSOCRwI3J4/GmA48AD7TcBR6JUZxnH2gzY/glUginzO8QCDbAvQMDkfnTmldSD52Mdflz+tADJPPdAFuISO6FcUsbyIoUyuhHLdCPwpQzGM7pQ3qhwfyzUaKjsPLSRl/55hcfjmgB7hnzv+ZOwk+Vvwpw8otgPKVXgDYMr9aaI9mWuEZj2O3O32NJwzsRtXAzlm/woAcGwSY7lFPb93g/jSq7hvneF+DncmFP/wBemRTFl+TzGYHovQ/1xUThJUZ5cBickDKsP8aAJn3ZUwWzRSdypyCPSholdQFiY5++zLtYfQ0kbOy5864MYOF2jp9acZISx+dpZfSUZz/hQMG82IHcHWFR1bG4H2pHaXylBaIo3TzFwcfhUcbAkIrnJ+8jN8v4GnkBXCxyOJMc7iGx9KAGrKC3lwjbL3XAIH505eAqnEi5wwYBRn1zRGoZQDveM87ljHJpqps5VWRM/N5nGaAHSRwsNgjmQKckK4YfWnW7CNtqXUgUnOxAelOAG0fL5cZPy4UOP8ajSNSZGiZHYnOUbaR+BoAMxBiqv5IPQOvLfjSMqysFMSED+JGKqaczPH8soK7uFKAPgU2Q7PKAkkZDziQZXjvgUCDJjZdzxBR08vqB/jUeweWJH2bM8Dfgt9aekzDcQYnU/eYjAU+wqUOrqS4tpDjvGRQMiCYRRJHvB+8dw4/GnsnlxCNI4mU+/T8aSIDKiGNdg5LFsp+FMuFBIUxwuc53If0oAkR5gfKSGKMf89Bzx/WoZrh3keOPfJ3VlBA/KkLiN2jVYzg5POePanq0aMWjdoj3TPX1+lAiNC5kHn4Ug5yeR+NIQkrSPKQoBxlT1qXzMI2yIbSfmOc5/GkkggKoctjP3VkFAyNhGqs8o3qDhVY5ogaV5ctGBCpyqNwB+dA3PcnbyQMbX4Gac3nC6wdkXHdtwzQIfhpkkxHAEB4kOV59qR9uFbMatjllG7P4mkQSSIzNGhPI3sCQfoKjijiO2IRqe5OSBQA9htd97JIzEfKG4X8aWJw9yNnygjjecj8KVXZFaCONcH72AMfmaVGJhYR3MMY28xgZoAkmikfJSKR5F/iLgj8hUbLP5kaSKTkYVXGR7/SmSK6p5gRIiR97fx+VKzbEzmGTHzOVJB+lAwkVRuQSIrJ0RF5pjRiKTasURc/89GpYo2w0ir5atjIY43D0FTqGJIdbZFBydx5PHrQBVl3NKscRyQcvhsKPpT/LEciojxlpG+bA3EcVE7RRkeWilt25iPmAFWoYUnmeV1mc5G3yl24oEV5SiKY0KspIDsrYz7YpvlEBI2aNzjIyw+TFLthE8cQQ+WTvLMh7dvehGR5wGWNgMttPGfyoAUbJImkkEezPPl4DVJKkJWImOcAqec5yahBihgcqsO+VsAc/u6lO5ZI3+1DcqH7icZ9KACEj7IqPI4DcKoj5Hvmqk2GmfaWIBwC3U064BXyHFyZQD8wIPyimysDKxV9wJ4OMUAMCk1vw7hEowM47VhoSSBnv0reTAXOaBh356DrTHIz7jpTyxIPAx2qPAJJx25oEVLzAQt05rDvMEbsEGty7YhDgcEd6w7tyWIzle+OpoApMME45pvPpTjjAxmkycjHWgA9sUq5JHNBPJ4604A5/WgC1YgfaFyTxmvov9lSzjk8R6vdMDvgtlVP+BNz/ACFfO2nqXmyO1fTP7J8D/aNfn2ny9kUe73yTigD6JooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA8a/ad0prvwlY6ggJNncbWH+y46/mBXy1MM9a+/dZ0211jTLiwv4xJbToUdT6V8r+Ofg9r+j6pMNJs59R085aOSFclR6MKAPC7iPEjDHeoCOa6rVfDOqwynfpt4rDgjyG4/SswaHqT8DTr0/SBv8KAMYim4rqdN8D+JNUcpp+halOw5IWBv6itRPhN45cjHhnUR/vR4oA4EikIr1u2+AXj2eJJP7Nt4w3O2S6QMPqM10Nr+zL4nltY5J9U0uCZid0RLttHbkDBoA8CBYcgkfQ09biZD8sj5+te9y/syeJVYbNU0qQdyGdcf+O1t+Ff2ZJPtXmeJdWRIFI/dWfzM4/3mAC/kaAPnWG6uCmWJI+lO/tB1zuUGvvGz+Fngq10yKxHh2xlijOQ00e92OMZLHk/yrB1b4DeAdQB26XPZsV2hra5cY98MSM/hQB8YLqYwAUP4Gp0v4j/FjPqK+m9V/Zg8OzljpmuaraE4wJVjmA9eyn9a5PUf2W9XR/8AiWeJbGVNx/4+Ld4yB2+6WyfXpQB4oLqNujjP1qSOXLDkYrvNR/Z6+IFkpMFrp16Au7/R7sA/TDhea5nUPhj4905m+1eFtUIjwC0EYmHPpsJz+FA7maJsMdv1pRM2eD371m3lrqWnuU1CxvrRwxUiaBk5HUcjrUEd8D0cEjilYLm35xOCcZo871Gay47oE8kYqVbhd2AD9aAuaayIc5U0fuj1IqkJVwTupPN54IoAumJCTtbj2NN8sjoT+VV45VI56+1SiYED5iKBknlHAJIpojfngYphmPXOaVJ+OvIoEKqkHDccUGEkBtuQT2pzTkgFgDineen8KkcUAQvECcEAY4qJreMjGwGrAdCTnr3pdqHpjJ96AsUJLKJsfKBUMmmREZGR9K1fK54akKEL1FMLGIdKzyrGmGwnQ/I5H0OK3ArdQMikPPUHNAjEIv41wJXIPbOaU3d+gw3zY9RWztBHIo8gtwFz+FAGUmrXMY/eRK2eORVmPxAgAD2SY71PJCpIBXOKiazjZhlRzQBNFrVk4w6MmT3B/nVu2v7RmIjvAh7b16j61kyabGTkCq76XhuDxQB1EUiO2Y7tH9ACCf1ocRluSAe+wEH8ulco2myKSVPApBFex/clfj0agDrX5Ta8jPF0yUzj8e1MRQFG3eyA43eZgVy8d1qMJysjn1B5zUy6vcquJYVb3GRQB0QWJmJxlv7sjcE+oNG4kcxkx9g43c/XqKxF8RS9JYgR2+UcVYi1yBmyWaInqSKANZDKVOckddqsDt/wNMeNyQS8m092XB/H1FVl1KyYAvcRyH0IINTxXFvID5Dlcdi4I/I0AKY+SAYBk8gPwfp6UjpLgKsg245jkYdPY1KxKjmMsp7FAKYShySsaN2Zc5z9KAIR5ryBPIIhHQF+v0NWJX8tQrm4APQOAy/n3pGVHXDM5TqA/AJ9KWJQ+dhn/wB1Rux9DQMaglYbmgkdiOCj7cD6dqa021gJYD5h4/enINSMmN26R0J6u6HI/EUpaQqF3yNH03nGPwoEM+XeQBJauOTtzgj2pySkDP2pv9ksgaotkv8Ay2dZY1OQC/FSFZf4SiLjkhhkigY5GlZmIhhEnfBxn8OlVn8ncC2SCchUTkGpB5YwDIsyAdJD0/GnyQyEoVUiI9QkgI9sUABdSoBkMRA4ZosGmj5V3yHEg5DKc+YPQ0jTygMoeRiDjbKRnPrQPNO5t0W/HSMDn3oAkVAyCRY7pB1yrAikfzFjYzxGSLOd6HpTS0YjBJtmTocEq35UiLgeYgeFT0KZP5igQmV2jBhmRm53DDUuXRmEjiBOgwu4MPqKUAn5c7wfvR7dpPuKWJkjbak0kRbqrqMCgZGbkMilZJWRT8xAGR9DQGjeQOs0r5OA+cH6VN5qs3+ttSw6M0eD+lMeJAxkCLvxyIzuDD+lAhyjYzIJRIT1jlWmSITtLlFQHCsoOc+9NSa3D+UpuI2HO0np+NPBHmFxM28jpMvBFADll/eKyfZ2boWYYI/Cl3+XIR5ywE8nb0NNEzDfhYXGMlUA6U1ZVxykUakcblJzQMaJI2lAYTS8/Kyjb+tWFg8tWdrckHndgMfxqOOUMxVUYe27C/hTFXZufMir2OTke1AAjNv4t0yeg2HOKdhkcf6O6DOcYyPrikw5Y7hM68HcDgigsyriO4dn/uEdqBDpJeMYEi9hjaR+VNkiVBuZZUjblkfkH8RTvmT5keLa33lGTUiFAf3TzjvkDcM/Q0AV4FaaApBtkjznDj5h+NPwYxm4RwAeGTnH1pZ9rMPMkYN/cMe3P5VCIwuGDvjn5P8ACgCw8UkiliYZk/vE84pkRljXZCVjXsGHH5molVJT+5Uh+pJPP5VNJGAAXZ0XuvldaBkM67mUyhAT02c5NTRQsFLTRzk9MggAj+lNM8YJ8pGOeqOgx9cU2Qw78sQgHVUyQfrQIcyqDjbHsznyyC2PrSg7QfLaH/dXIJpsQMYPk3EixqeePu/409g7BvMRpcHIcJwfr3oGOeYgKu1hu4xNHkA/WmD7Sxbc6LEehZeFPtSKVmwVR2xySrEEfgaIzHHIWWWVWPG1Tk/lQA9UbH7uJkA6sr/e98GkEQkB81oA/ReP5kcUmMSElFZT0ErEUEbpgg8sZHMaNwfqaBDmRo/LFxIwcfd2J/IimgyzHDk5HILuBg0bdjMhibb6b+B9DUQ8uMh45iSRhgw3EewoGKPMEm6V9jHJBQ8GkUTiNvOQqW5LhAQR/jUoiyBKY5ioHBQgbfwqMEAB3dkDdGY5P5UCFl3TooZCBn5HOFH6U2dDtTzdknptwTn8O1SAylW/egrt+XzPlOaFDwwKzRxSSEdhzj+tIASKUtvlZY1xgKhCn64ppkEZLCB5BnBaRsge4ogfccpAYR0LyKWz9BUkB2ZxcCPnptJyfXFMCJmMjFwix8cMT+uKdCfLVlWONlB+9jdk1K3V3aVmCj7yxU21dljy4nOT1VgufwoAasU6I7rF8zj7wAIH+FRiJ7aTcu5Sq9V6ZNOky0rLEJNo+8Gbd/KopNiHdHKpQclWz8x9MUDHMI5j+9cF88sE606YyM5RDLPGBgkDbUizSlxsiljbGSVwQBTFmfzGZ2WYlsAE7f0oERp5KMQwkHbG/wDTFOZkUALJKAPmwBwM+9LEFNw5Ebqy5Yqvb35oV1mmZmZB2UMhXP5UAQlwuBHKz7m5ZkGR9DTwi7PMcjax4mkOGP0FTtnBDXECkfxbc49garokgJkl8t2AwpcHp9KAFtlLANEsoySSVOc+nFLLFNIytcYEK5znAoKPMwkkxAnoGwTTwqMpDwKEA9S278qAIyU8oN9nVUOcMcscU15ot6rFEjnGSAhGKLdSWAIMSEEFd+Mj8elLBLGkzGAMjZ6scqPxoAm2ee6+U06k8s3Xj0ApLUvEzpuucjgEL2okRwfNmaJycfvA3AH0FCvEzEi8ZvQEEAfSgBZbfzGRpZZFwckSAqPpUcsbbhHEkYQt80inOfxp8jr5ZWWR5M9Sz4qvG0blXKRomcBGJ598UAT7cyBEPmqo+YumQtQyhnmKxQKVOOSNoNPZAY5GQbF74cjP4GkNwjR7XmlyTyvUGgYTqpd3wkmQFUK3Q1BKYzEYDFtPG4feJ9gasvvEPmRW8C4Ock/yFFv5yRl1RYeS29h+goERxJtSPy7dE43ZDZJHvSNJ5uZFnXc2MooIIqKeV0wFYSyyEZIHSrEds6xMVWBdy/edhkfSgBI9y7hEZVAGN7c8d8CoLVnT94mXnYkIR1x9KsxIIlBiNwq/8tHzx+FIHhZnYzFSOFdl6D296AEnG93E26R2XklCNuO9MmiV0EgLFuNylMCnTBpIA6MNh+UsZPmx9KjtriRCRBKQu3gY6n8aALKvIwIzHGgwoQr19+azpG3M3Tk9aueZM1xh0SWTZuYtyB/hVMnK/d59BQA+AHzUz6jrW6Pu/dzmsayG6ZMjv3rb5A5YYoAB3/rUTYGcnNPbFR5XdyMD19aAKV6cjAwRisC7ysgAPv0rdvsFGJwARjj1rCnBYDkUAV27ZHNNNObOeabjnNADl4BNKp4I9aaPpTwOaANDTCd56cCvrf8AZbsng8FX9033Lm7O3/gKgGvknTFw5r7N/ZwTZ8MLX/auJj/49QB6hRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFACMqt94A/UVgan4L8MaohXUPD2k3GVK5e0QkA9cHGRXQUUAeaal8Dvh7fh8+H47Z2x81tPJFjHoA2B+VctqX7NHhKc50/UdYsjuJwJUkUDsBuXP65r3SigD5k1D9mG6RD/ZnitHO05W5syoJ7DKscD8DXLal+zt45tAws5dJv14A8ucox/BlA4+tfYlFAHwlqXwh+IOnMRJ4buphu2hrZ0lBx3+Vs4+orl77Q/EGmDOoaNqlqCpbM1pIgwOp5HSv0VoIyMHkUAfm5HdgnaxVXHrU0c6OSCcV+hOpeHdF1QN/aWkafd7sZ8+2R846dRXLal8H/AADqDs8/hmxRi24mDdDz/wAAI49qAPiETx9QxzT45stgYPavrC//AGcPBNwp+zSataNtIHl3IcZ7Eh1P5ZrltS/Zfgwx0nxTOh4Krc2of65KsP5UAfPQmUHBA/Ol3qWGORXrt/8As2eLrfcbHVNHu1LEAMzxnHqflP5Zrlr/AOCvxDseW0Ezqqls21xG/T23Zz7Uh3ONDgHgnFO81gPvcVa1Pwp4r0oO2o+H9XgUYJZ7Ryoz05AxWNLcrCm2dXjlU7WVxtIPvmgLmisz7MFs0qzHHKiqC3EbHCuAuM8+tKk6lHO77vFAXNDzgOSGqVblOARWYk+TgEn8KkW4UgglTQFy9IyyAdAPY1EImPIPHvVfzORlcilWQZ7gUAT7Xz2NMIOfu9KTzsjrjFNE7+1ADgD3U8UoxQLgkZZaBMpPzqRQFhmxSSOpoaJTjgVLvhPr+VKBGejUBYptaxk5KimHT4cfdrRMWRw4ppjdc4waYWMptMjz8pIqA6awb5WIra2sB0BoOSQWU80CMcQ30YBSd+PRqf8AatTjHLs31ANanyg96CFz169qAMpdTu4uHiRgfVasjX3OPOtlJH90kVbManJIFRSW6HkqKAFj16HnHmR99p+YGp4tXtJR88hTPVf4c/SqTWUTfwc1C2mRE8EigDcjuYGUGKaE/wCyelSBY5MbZY3cfwAcfpXNvpX918UwWNxE+6GQjHcHFAHUeXGSSkEb9iATn8jRshHDxRxn0Ib+dcyX1BSP3rsR0OafHqupQtgsxHoRkGgDp/3uweQCB25DDH86r7Apy+Wz2A2kGsNdZl3lpIME91OKuQa3b8iRrhAev8WaBmk+QB+5ScfxFk5H4ipGWXbujSdcDlRJkVnpqllnKSnf/t8CplubVyCJIR3+93oESxOpQIjXDr1KYHy/jQisoco5EbH5kkG78c0pnVyqiZD6MOB9KUkFh5QJbP3jnAoGPDttAiktS2OFVcfkarmJyWYQqZf4tjHI/CpsrllMi4znB+X8qco3uMFpW7Yba4/xFAiEEOrYnEb9Cp6n2OaBvUfI3loeiSMMH6Gp5FdesMhPfdh+KjxEAcpGPZkOf0NAEbvJGA0qAAdNgzn8aGaSNTLtQxkf6vOcVIkgiBYJPED/AHTlT+BpiRx72dS9wvUgHaQfcUAKp3Ju2IxX/lm/H4UjkFQTCICehGcUiBm4ihWRO+4fMv4047kUHMqseCzrlPyoAFbLbljVyDg/Mc/Wmb0GNrKibuEHBB9c05laUFXllJx0VOD9KaHIAWGVuONrrnH580APDRjLRj94Om0cj8ehqVQ2zctrJn+8JMGo9rKigGdc8jGNppmI5G3PczBxxhE6exoGOV5N3JlAPQ9D+NIUhPzMU3+xIYn6UgAjyZXuXXPRgQKdOyrHtnd2jYfKqjmgQ1iHHzkQsRgErkfnT428s7CcntICcVHC6wjbEJAP9tQw/KmSFmPzXAcdNoyAtAEpWWRjhxnqGUA/lTIjICwTcOeWkUYqWXeYgPNtDkcOBy31pginkTCyqsforgjP0oAMGWQD52C8ttULg/1okKxqGEkocnAD8j9KAj7drB53UcheCPr61NEZXPyi2diMFCdpoGNEnmSbXSNCB8rgkZ9gaQwSrN5kiDeRhCZOR75pZdwVlkj8nHHltk7voabIRGilrdVI74LEH3FAiVlLMDIJZlHYPk5+lRA5Uu9mUTtxjP1PakjaJWLKku7HLRttx7Unm5kGZAnJIVst+dAEyxRspH2cHIyMTcikDzIqksEI/uqCSfQ+tROFYgFVjzy23+L6UjqjPGDE0RHIIJU0APcS+Y0k7CJj0ZPlLfUUhPlHIwWPUE793+FEsS7vndl4+8XDUiBPLKjft64VeCaAJldsAbsHqUYBx+FROwCkIVEnpEOT+PamQqf+fWbcT8zDgYp53xT7Snks3CndgY96AFFzJt2ieUt/tMB+lNV7hZCd+d//AD0A/nSII2bBfzCD80iJnFS7o3JAMIJ/vpjNADW3HIuHiYt0UOSaYxlUmSPA2nGC2WP404KFuD5Sxq/TA+ZSP8ab5RbiS3V9pJYL8uKAHHci7fORHOSwUHd+NNjEcRVhOGmbgApx+IptrIF3GJnUZ4UHcR+dSkh08y4Ej4z8uAP1oAZLuMoUSxRr38s0oBTITY46YdMGgxxLESrn5v4Xyv5GpQzEr+8wMYHmEMKAK8QXlljYj+I7c0+UINxlfAPQDI49MVJOzFMLIpUdQiY/UVE8gXayHa3QMRkD1oGLECcLDFGExkFmJGaa4JJjzIxBy2DwKYAzo4L4UtzL0H5VI6osflxzEKeu37ooERyqgkyR5zlRiNVzge9EJk3blD25bklBkY+lNEzI3lRnjGTInPFTxlTAJIYiqj70hk+Yj6UARt5olYF/MZuf3iUsiBlWR0+bsCRg47YpC8T7W83yiwwXUkkj0p0JgUFpGjIx8vzEEj8KAItpJ8xvIJ67ccZp8slwsIVwyu3zAKo6UrnIYs5htwQMJzmm/JLIFtXk6444zQARIhIKRuzHndKcKKSQGJmXy45piMjYT8tRs20GBpM8HcCxGD/WiRFjUNGJYnfABJ7d6AHiS6liYYYooyQzZGPSn2qNHuMsLKG6BGBpkkUZR/KcAgZBY9TUsMKbf3QleTuynIoGQyusrkIr4P3mY5bA9BRcSRyJtiklGR8uTwfr6VOTJbkJueFMckrTZG86WKFCkiLz8g2k+1AiBVCwcvI5LcqowOPepEjhMYK20jMeAXbinNE8bmNmdCSWCJ82AfempuRUUtME6cnBagBskjmSRRIsUKrlVDcE1JbwyNbQlyZD94AYP5iktYsLlYjMWPJZM7R9abaOkkzbolJLEABttAEFxGuCzqq5Ibp0HuKky0jlAiuhGVOzr7CiUK7Ism6MEkbmORgdBT4iso3rJHEwUqF2nn3oAhuld3YpB5IUYYDNV+2BWiXf7Ns2sWKbiyy5B+tZ7BSwxxQBb00fvVH51rHGOce1ZumLibj0rTZRgFucUANc8ZqM5+8eRUjEA4HOaikPBwPyoAoXe5if7vb3rDmUbiScDsK2rwcZyc4/WsaYjzOnSgCuRg9KTvjtTpM7uaRTg5IoAUcY9aeo9/emE5Of509Rg8UAaWnL8hPvX3J8FbZLX4YaAI12mSDzG92JOTXxBpyfuu9feXw5sn0/wLoVrL9+O0TP4jP9aAOjooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKq3mnWV6u28s7a4UHdiWJXGfXkVaooA4vU/hX4G1LP2nwvpYOCu6GERHnvlMc+9cvqX7PfgK73G3tL6xJAANtdtx74fcK9cooA+etQ/Zi0qR2OneJNQt1LZ2zwJLhfTI28+9ctqP7M3iKJSdP13SrrAJCzRvESew43Dmvq6igD4o1L4E/EOzEjJptveBQPmt7xCT7ANtNc7e+AvGWmnbfeGNYTDbd0ds0oz7FMg/WvvmigD84bsXFq5W7hmtyCeJ4ihOOvUU2G4VvvlcdQRzX6N3FvDcxlLiGOVCCpV1DAg9Rg1zmp/D7whqYf7d4Z0iUuAGb7KitgdPmABoA+C/OAYKQwP1pRKOobA9xX2TqfwG+H98dyaRLaMW3E211Ig6dMZIA+grmNQ/Zo8PyIBp2u6xbEA/wCt8uUZ7cbR/OgD5haT5cblIpoJxnoPY17pqf7MWrJu/svxNZTjjAubZo+e/KlsflXMah+z34+s2YW0WmX67sBobrYceuHC8dqB3PM9zK2RmlEzZzk4+tdNf/DTx9p8YNz4V1JgMnMKrKMDrnYTiuY1G01HTsi+029tGABIubd48A9DyBQBL5zgdcilWZyw6HFZ8d15r7RsJ9AanRwzEcLjrzSAtNMpPKn65pDIjcsMdqqh1IyCQOoyKfzwNwJ9KALGFwPmpQg5w5qs2ehH5GnZAOPmH1oAsbD2NKcg881XLkHrxTw2QOQc0ASHjqOaOMYOc0zzccHnFPWQHqM8UAJwWppRSexqQMh6j9aaQpOOKAGCFDngYNMa1jYnKCpgD9cU4E96Yii2nQkcLz7VC+lp/AxrU79aOucYoAxv7PlT7sjD6Gldb9PlE7sPTNa547UhA9qAM6PUdShj2EK6ejLmpI9ZkVdtxaA/7SkqaulQQOlNMYYYwDigCGLXLdc+ZBJz3DcgVYh1azfA83aR0Mic1C9tG6jKDion0+FgflxQBqDUIHbPmQvjvux+QqUTJIR93HUEVz7aZGehIph01h9yVhQB0rDBxJIyk/xD5gf8KPuDK5LH+NTnP+Fc3HHewEiGZgPrS+fqMchO7d68cGgDo44nYA7yyjpiTaQfpTm+0scM6sB1O3cR/jWEmrzRjE9lHIT1JHOKUa1Gv/LqyDPZqANdkLg4lMWewBwfwpSWwQwU4GAVJGRWaNZtm+YNIr9PmGcCrMepQSLkTtu7Zbp+FAFlMbdxadD9N6kVGAqDcj/P/cKY/WpI5kcErcRLj+NGOT+FOZ4+D5e/0ZWJH40AQoyqxaAzK5+9sAqwJHVSC80ZPZlDZpHIc/viFx2ReD+IpB5bHG+ZgOw6CgCJiRKHjMImPRl6Ee4pxlik+8sJk9CMBvxpJI0C5jEYHfLZ3H+lORPMffDHsccAlhs/WgCNFXAWAkMOSUBYCpWi8xFDpPJ2GUwc+xps5mPyzBCBwWjHQ/hSOqhPmWaUnozMV/KgB6xbBiSGd+22QZ/I0kh2x744pFHqZMn8qYTGAAxljDcZWTdj6ikzCigRL5zDoxQ8fWgBWmRz80qxseN5j60wPGJMCcGTGN0aZAFOUM0vyFX45QjaAfbPepXARGH7+N+vMYbP4igCKOPAwlxFIQPlO7aR+FNjM8jkGQyxKMsc4b8M0wtLOCZAoA65UBs/Sn/OhUsq2+Rjpuz70AAMZlASKQMOd+c5P41Ksgy77jKo+8rHZz7AU5JHG4G7UJ2WVP6VGfLYoREMnq2/5TQMkPnIpDQv83OWcnaPwqFpGRtgMbc8qfmUCiWWKINhcu3G1HakUjygTIFiB+6h+YH+tAiYTJjaHgQ/9cyKYF89cfuWbt24p4kd3BiaGUqMZkOD+VI2NpNxBEMDJJfn8KAItkiMUdozGOQC/wDhT2WURFfIUk9cA7gPr3pBJgDy3VARnC5Y4pCRETIskqFf+Wbkgn6GgCOGFRnykJ2nA4I/E1OzMxX5YQw6NnH4mm+YH3G4UcjIO/LfpQ7qsIZVgJ7ADcT9T2oGM89QzFwX4wCMlRQUhMBZ7dgpGd0Z4qWKVikQDld2Ts2hgfwFRDekuNkixk8lTjJ/lQIWNgcFXWDtnBANJIURy8NxvlOMMVwB9KfLcS9QAqngCReD24qBwiIwQEt0wrgigCzLhSnnu799ikH8aHmkZmXzXWIAclBmoI0jiyRtLMuTvBGPpTsrH87SJLMRwc52/hQBNGwCBFkXHTLQ9arzPuulCpEy9Sdpx+VSbzIB5ss8YH8WM5pqmGSREBeZj90MdvFADRsUNKFA5wCq/K1PmLTRBS8Z9VCYC/jTdnX92flOCqtwPpSSLAJCJzLGgHyqMcigBY4mxt3MiOdwjAzupslwXdrdUC85G4fMB9aXERZWRGSMADLHBzSLhpWVBsXHzGNv55oAe0MUYBexbrkMzcmlZpI1LyRiMZ4YncfoKBIWb5SFVeFZuTS7ElYbYyCvPL5BPrQAwsp8xoMZx8zS4zmmLJLJKwAExxtO0EYPqMVKsIj2s6uGUk7hgj8qRpWHlSuSsbddmFLUASNbM/mOInU5GMyDj60SROqrv8h/mztD/MfxqqArsmAdpySC3P40+O4RUkkyi9wBHkfSgB8vmxIzII4mPcNzj0qOJHZQHmXBbo3QfjVa7JDKVwS/zcDpVqEyBdssvAbcifeH40ATtu8vYL1FGSMKCFAqsVPlrHbrujVzuIOAffmpJrlPPEasHB+Ynbwv4UYie5Ac+cecA/IBQA0DcwQK8rJ0xwD+NMRmMuBI8ak8HGcetSvuXfIT8pO1EV+QKdbMixxM9yyMOQqr92gCpcY+6H+VTgZXBaosDjK1NfTPM43TGQL0OMZFV8jp3HWgDT07AZsdAK0d2egxWfpTZByOprR78elADGz2HNV3XOTnBqw3OcYz7VA+T25oAzrzOxucdzWPOoDsATyBya1L4krz8oPYdayJT69aAIm5PU0AnnHSjHtQvWgCRWLAKAvXOe9KvJ/GmBSSMGnxjnmgDe0SPz5rW3Bx5sipn6nFfoNYW4tLG2tlORDGsYPrgAV8EeDLZ7nxFpMMa7ne5iAHr8wr7+oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAprosilXUMp6hhkU6igDD1Pwj4d1Qk6loOl3TFgxMtqjEnGM5Irk7/AOCPw+vCSfD0UDEEZt5pIuvfAbFekUUAeH6j+zb4TmQ/2fqOs2T7QF/fLKo55OGXPT3rldR/ZflBLaZ4qBO75VubPov1V+T+Ar6aooA+QNQ/Z18bWzD7LPo14vJO24dDx04ZeprmdR+Efj/Tc+Z4aupEC7ibaSObqemFYnP0FfctFAH5732g67pruNS0XVLYKwQma0kUA+mcYrJ+0IJPLYr5mcYziv0erN1HQNH1JSNR0qwuhgj99bo/B69R3oA/PZXVgxwcg4NCyD/aH1Ffb+o/CHwHqCsJfDNjESu3NsDARz/sEc+9cvqP7O3gq6dmtX1axLNnEN1uAHoN4b/GgD5L8xcffH0pysCBkc46g19E6j+zDbMxbTfFFwp+bC3Nqr59BlSv4nFcvqf7NviuBS2n6po93hc7GMkRJ9BwR+OaAPHw+CetDOG4HH1ruNQ+CnxD09iTon2pd20Na3Ub5464JBx9RXOX/hPxbpLH+0vDWsRL8w3NaOw46nKgj8elIZmKe4bNOLFfXj1qjNcGN9sieWeuJBtbH0NTLKjBdoJJ75oAsbuOlG4E1AsgJ4JwDinksuQCtAEox2oB5JqIsxOMClJYYyDigCXPrQMeoz9Ki3c9aA2RkmgCXGORScE5OabvxRv5xQA9SOabxk8Zo3544p42nrxQBGVB5x1pphRuCoNT4Q44/WlKj1OKYWKUljEf4AKifTY8dCCa37SOMjOAxxwDUxRZlYGAlh3B6ClcLHKHTCBlJCKPs93FkxTv+BrpbmwKRbgMH0zWfjBwaYjNjuNSgXCvuA7Hmpl1a9jQB4VI74GM1cwD6Zo2BicDJHWgCqmuHd+9tynrsFSDWbWUgS7to7MOM/hSmFSfu9aja1hJOVXNAFqO9tpF/czxoB1BYirSXCyAeQWQd238VinTomJ4x9KibTl/hZloA6FXJkytwoY8fMvX8alLyqMlwCDy4GQfyrmRb3UceI7hsemaRDfx5KuD9aAOhkPynz1Zged6nIP4UiSRhgImmHqQSD+NYsWp6hbsAUDD0xkU465IWJeAISeSnBoA3SZ5UcqYpUHHzgMwFQIzK+I0jVuxYEGsxNVtsrhXU9y3b8qtR6pG67FugoPUNyPzoAstPKHK7U9G43Z+hpRGEDA2rDHPK9frTIpBKnlxy+Yg6hGFOeWRBsO8AcfMxOfwoAcsqLGAzyLkY8uNfu/nUbMsYRYwjNn5dy4K/U1MZZSuYbhSoPVhgim7ZJn3mSN+3HcfhQBGjk5jlcNj+7jJPqDT40YNsWWN2bs7fpRsjUlfLUc5LA5H4UCOB0O1ioJ5UqSD9D2oASOJoo3AmVCp5HmDj8KjklLyLm5MkY53Mmdp+lOEaZCvBx1UqMsB7+tKqYlHkh1bBDMq4JB9qADc9tH5qzImT0AB3fhTCxmQ7EVg5xjoxpStujB0XLjoHHf6VKNx/eSWkW5uM7iPxoAgkjERJigeMD7289fYUpnDEARKFxwrDINO3kOdjFQOjOxP5etNxPO4eRgIgcc45P8Au0ALDKc4V2jj6bBgnP0PalSKNCzG2cbRywfBoEVwob5Y35yVbBwPr1qEfMcR+VuzgAk/1oAeJ0CHyiyrnoVyW/GneZKsatvijzg84JpG3uo8yRViPQSDGfpikjZVV3DwIuejDcfwoAkxJJI8nmB8cAeZg1GInchysPl/3mIBPtTWkD/fTeDwH2YppjVZmcDAGMIDu5+tAD4kLBizRxR9lJI3H1qQRBmJMSKCOcvjj2qBYy7s6ttTPKueRUrbVcNHAhGcZkb+lAFVhI7pk7hu4Qjdn8amkQNPtKeSi/MQBnNSLhpdsYhDZOcEgH8abbSAq5LsrscfdyKAJYzEwb/RS4zjzEOD+VMlEaHcqSsByPMPBPpS4uHQnd+7/gGzGfwqNXcuBIFlwMBc9/YUAK0j+f8ANHGgPHzDgGo1SF2O0s7KeWI6ewpyWz7WaZ1izywbqB7UkQK7gDHIGI+9wTQA0x7n3SnfuyAqHnNOcYUrGjpg7QD0Ge5pxhhe4/eqygEYEPPP1pC2HKHdtZ/lRuSfrigBs4ijiCwod4H3mOQ3rxUxAjjR5BATjACHk1ExaHLIAm75emf0qeKRVi8zEDPjLbjksfagAk84tGcQjIyVUgED61EW3q83l5AHdvypEjICIyqXJJ+b5ce3vUoRw+ZBCQhwB1/HigCuhZHIEqKMbgR1+lSpKwZih2qwwHfrSJGyPu4DucKMdffnpT4pZX+WRizbiFUYP50AQTBBHF5anPdieTVfblyQKcw/enJ+YEj6U5BufqKBmnpiEQHIxzVxuOnpVey2mAeuanBGeRxjrQIYd3VuAOKicELyePY09+W+Y/LUMxBIyfloAzrsqF+YhSeh/rWRJ9/kZGf0rTvmKk7gCx4xWY+JH7DigCM9CRTRS4+X3pOfxoAeqkHkVNEoLfriouMjbU1uPmHPNAHpvwQs5Lz4m+HkiGTHP5zf7qgk19s18f8A7NsTP8UrFgpwkExJ9PkI/rX2BQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAVb3T7K+RkvbS3uEYbWEsSuCPQ5HSuZ1T4Y+CdTZmvPDGlF2YMWjgETEgY6rg12FFAHk19+z94DucGCzvrMgk5t7x+c+zFhxXNah+zVpjA/2b4k1GD5MATwxy/N6nAXj2r36igD5Zv/2a/EEBb+zNf0y4XIx58LxMR35G6uaufgX8QLUMPsFpdJkgNb3aE8d8Pt619l0UAfBGp+AvGmmKz3nhfWBGi7i625kGM45KZH4Vztyl1ZuY7+1ntZVIBWeJoyM9PvAV+jNRzwxTpsnjSRM52uoI/WgD86Enibjd83oOaf56gYJPtxX3nqPgLwlqThr7w1o8zgk7jaIDk9TkCuV1H4FeAbxW8vSJLNiu3dbXMi4564JIz9RQB8biRdu7PBpwbIyCD9DX0/qP7NXhqXJ07V9WtDkYWQpMo9eqg/rXMX/7M2oxt/xLPE1pIhJyLi0ZSB2+6xyfyoGeEhyD04oMnHb8q9O1P9n/AMe2i/6MumXi43EQXW0k+nzqvP6VzOqfDDx5pxkEnhjUZFUgFoVWbr6bCc0guczHOYzlSc1YfUJWTGcD2qK/03UtOlK3+nX1rglf9Jtnj5HUcjtWbHexufkAYZxkGiwXNA3Dk/MTSpOw64P1qqs6NwNwz0460gnjJxuGOnNAF3zQCCcH6VLHNGAeOD2qkNu3PBB6c0nHPXmgC6hi/unikkijcko230BqoGPUHp3pS5zzQBcjt4yCTJg4+vNJJbnbvTnA5qqs7KacLh88HFAAB2wfxFIBntini4buPxp4nTHzIuPpQFiEgZ5HSmGJSckA1M2xhwMfjUkTRc71Jz6mgLFGS2Rz9wVG9hDtIx1/StZ0gI+XIPrmoWhx0ZSPQUwsY/8AZ6j7rMreuaT7NcIQUnfOeDnpWv5OTgg/lTfLwcZGfQ0CMpjfLNu84s/qam+3X+/dLGrjvgYz+VX1iJBOPypfL+XDDFAFFNWdWHm27BOnyHBqZtZt2AURyIoOeTkVKIlJ6ZpktvGx5RaACPVIMMUkaPjnnrV+3kEn+r8uX2LjJrHeyjP8IzUf9npuyCy/Q0Abzs+GWBWBxgjAPPtRHsQklpRgdRxg1z4sZVJMcrqR6GlH28OP3xYj+9zQB0RlLSc3EbDou9efrxSHDuQYLeY4wCrY/OsD7XfxvuAXOMcLjNO/tWbgTQBtvpxQBuLChOwQJu7jeP50xxCy8xqAOCWfcf0rJ/tzeAkseE9Ao4qUapbbQibQP7xFAF4rFI6qsW4ei5FARfO8sJEMjrJnA9qY1/bOOLgZ/h2AD9amV0eDY12hDddyE/rQASpIpDHZGo67X3A/hTJFjModjkBflDLtA9/enKyo/wC78tUHO7GfwFOkk4yzyMT1JXj6AUAVvJJ3eXOATgls4A9sUSPtKtujmbHVu1SffYB1wzdQOMCkcLsICqSegUdB7mgBibpIydke0Hkk45NSATCPykQGMHkj5h+lMeIlot7wqVPAUfzpcs874dFCjnyztoAZKI2IO9gG/hUEVIjIVQB5EAOc47UpjjmUBROsYIyx+ZfzpCYpGVY4wMN138HH1oAEEbZeWWbf1G0bsL71I0i/MEuTkLn94mc5+lRtCI1KCLe7ZB2OaVo3TCIzQq5yfMUCgCGWTGzGwFcEGLOTUq4DMVRWc8Kyt0ptyyFljVlcAYzEuCaSKSWZ2jt4V5GG3UANk3o7eYJAvUHp+dR5DRg7Cqqdw9KmlKiQJJFsAGDhs5PrSQkyxMqpIyqOdzYXj2oASGTCO7MM9FDKWOP5UyQrE0ewMTn5uOfpREzLxyiAAsA2M/nTo1jYAs0jc4wnTP1NAEjFI1/eIHkB5Q5yPbNEARd5nESu/IU54H4VHcSJ88UKOHZgCerH1p8gFtMrsjrhcL8vLUAQzAKQoXA9fWmx9eSOtSSEuwLlycD7xpm0BgMg0AbVqo+zocDJp7YIIBIJ/Sm2+BAgA7U8kDGetADCdmAeR6ioZRhTs/GpuRjtVecZBByTnt3oAyL4Buuc+prMbhiDzWheqcku3OOBWeOGzmgAb7tNWlk4FNFAEgGAOKsW4y6/Wq8Y5GT+dWrQfvVOetAHv37Kcat4z1RyoJSx4Ppl1r6kr53/AGTLaMnxFclf3q+TEG/2TuJH5gV9EUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAhAYEMAQeCD3rG1Lwp4e1NGTUdD0y5BXZ+9tUY7fTOMitqigDz3UPgz4BvS5bw9BA7Y+a2keLGPQKwA/AVy9/8As4+EJnZ7K71ezJJO0TLIo9B86k4H1zXtVFAHzZqf7MspgC6b4q+6vCXFnwW7cq3A/A1yup/s6eNLZf8AQ7zSb5QwA2zNExH0ZccfWvr2igD4h1H4ReP7Bv33huadclQ1rLHKDjvgNn8xXKaj4e8QaYC2oaJqdsAu8+bZSrhfUnGMcV+hNFAH5v8A2lQ21/lcDJUnBH4U6O4UruOQO/FfodqGi6XqWf7R02yu8kE+fAkmcdOormdQ+FHgW/kZ5/DGnK7MXJhQwkn32EUAfDsbpJwrjPXmnE+hU19aah+zt4HuQ32YapZsVIBiuywz6/OG/wAK5rUP2ZbLD/2V4luos42i5tlkx68qVoA+cPmAxjP0pN5HYivZL/8AZr8Vw5+wa3pNwN5AEnmRHb2PRufb9a5m/wDgv8RbCJy2iR3QC7s21zG5GO2CQSfoKB3OEWYYxk570olANamqeDPF2l5N/wCGdViVQCzfZHZRnp8ygiufnlNs7JdwvAynawkUqQfQg96QF8THOckEU7z8jk5+tZ8VxHIQEJOacHHUN7UAaHnKwAIX6iniSPI4OPrWcpJBxg07ccc/lQBeLIWOMj680jKrdGH4DFVVlPr0HenCU7aAJfKGOM5oMZwcZ/KoxL2p4lBHFAAU46g5ppUgZx+VPL5704FD17UAV9mSSwI9qRo+ParDhT3o2gimKxS+zoRnYDTWsoXP3Rj2q8YuoH6U1o2AGP1oAzJNNTPGRUZsnX7kjCtbY+eRUZDg/d96AM0RXSY2TMcVLHeX0KgYVsdMryKuiU8ggc+o5oXa2cr+NAFRNWul3F41bPBOKl/tePBGyVV/unkGpHjTPrmmNGhBwBQAqapbCPAyp7gjg/4VbjuoZYztW1IHPXBJ/GqH2WNv4RUT2MRBI4PbFAGvLJKzJklkbAUbhj8hUrRyErgQKQcAbhiudNi38EhH40nk3EYKrIaAN7aiyFFXMhbqh4AocIzMzMZFHAUnqaxEmvYo9isCp5PFSx6pdwtxEqjodtAGwXARYzIFUHnYg/Ko3ZXm2JErKeAVBUmsxdWIc+ZG3XcR71MdWjlIMkjhvp0+lAFyaIK/lt8jZztIzj6mo5SNmUCsB1PTPrSWlzb7iRcKHflmY9B9KljmjcuI080A8kHFACrEygkrC0bDPzncfpQ5MscKoIQQTiNASR9aWFY1gzII954GScj8KijuHDm3ZFiHZlX5iKAGITBOoDgorclhg5P0oMgLpggOCSeT396fsQIY3Ljvtx3qREVHVi0ShR0I3f5NAFbeXJL4564pV27vl601R15/IVLD/rFXGeRQBrkHYFXjAp7DEYzzgUh3YHA9qYzdO5oARgu4HpxVefgFTyemc9KsEhh9O9Vp2BUgAH8aAMa+GRwSR0yaoY45q9duxJxt9aokktx3oASQ59qQUrdcUgoAfH61esSN/vVJelXrEcsaAPqr9lGyePw3rN6fuT3Kxj/gC8/+hV7pXkP7L6bfh1Mf717If/HVr16gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqC6tLa6QLdW8Myg5AkQMAfXmp6KAOQ1T4aeCtTH+meF9JJ2lcx26xEA+hXBB9+tczqfwD8BXoYRafdWWQAPs124xg9gxYc/SvVaKAPANS/Zk0SWUtp2v6nagk/LJGkoA7AYCn8TmuY1L9mnXo1J07xFp9xhThZoXh57Dgt+dfU1FAHxpqfwH8fWjH7PYWV4qAcwXa5c+wfb+uK5XUPh54405nF14W1XarFQYoDKCfqmePevvWigD857mO4tFX7daXVsxGQJoWTIHU8jpUEd1G4yrcfWv0clijmRkmRZEYEFWGQQeoxWBqfgfwrqiuNQ8OaROXADM1om446c4zQB8DiRRxuBp28How/Cvs7Ufgh4BvTldE+ytuLZtbiSPqOmA2APYCuUvv2afC7gHT9W1i1cA8u8coyehwVHT60AfLu49zThKw47V7zqf7MuooWbSvFEEvTC3VqUz68qx/lXO6l+z944tABZjSr4ZxuS5KE++GUYH4mgDyoTke9O8/A5FdXf/C3x3YITceGL6Q4JHkbJQAOudpP5da5u/wBK1TTtx1XStQs9gBYz2rpjPTqKBkAn5wAad5ygcZ/GqjMix7nIBJwBnn8qQOmASePU0gLqlW54p42E8qp/CqRZTjayk07cwHBoAtNHEzDAZF74OabLbRZxFIwHuKhDsOCcU5ZueeaAFktniAYFWBHSo/Kk27gp69Kl83npml81SOCc0AVyjA8qw9eKQ9f9mrXm+jY/GkDhjjIP1FAFfCnvSmPp7VYZEJ5QUhjj6DcPxpisVTCDngc96jW2jI+ZR+VXfKXBAcj6ijyWBzuU4/CgDOFjG2flqL7BjOx2H0rW8twOVzn0NMKlTgqaAMoRTxuDFKwI6c0/zr1WJ3h27kjNX2AAz0PvUahQT60AVY72dWbzUDsvQetH9pNghoVGTnIHSpygUkgYJqJwDgYHBoAtq4K5PU1Nb8SIc4561CB8lPB24J479aANGSdcjLYDdDnrURlwoCByF6sOBVGW6AJ5BJ6kD+VV3mBT5nkZj78CgDQa4BzvDJjspzn61WkuVbO9iB/cPNZ7SM2QM+/oaYY2OMsTQASt1Occ+tRZ54qURAU7aO1ADFiDMdx2cU0oQfUeoqdUZzwCasxWTt1+WgCgvXjrWjYYKk+9Jd2qwwq38WcVJYqRFnHU0AfavwBt0g+FmjlFwZfMdj6neRn8gK9Drk/hRYjT/h1oECnObVZCfdvm/rXWUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABQQCMEAj0NFFAGVqPhzRNTOdR0fTrs7t2Z7ZH5xjPI61yt98HfAV5gyeHLWMgEAwu8eM98KwGfrXf0UAeMah+zp4NnO60l1SzbsFnDr154ZSf1rmb79mWMbzpniZ1JfKrcWgbavplWGT+FfRtFAHyRqX7O3jK3y1lfaReDk7RI8Z9gMrjJ+tc1qPwd+IOnbpH0B7lBg/6NNHIcHjoGzn8K+3KKAPgK+8L+I9MSV9R0DVLcKwTLWkmC3oDjFYEsywuVlBRs4weDX6OVSv9I03UVK6hp9pdKQVxNCr8HqOR3oA/PFZFkyEOe3SpF4JVTzX3FqXwr8D6jn7R4Y01SQBmCPySMHsUxiuZvv2fvA9xI728WpWRc5IguyRj0+cNx+tAHyHlsYBz+NOEhVc9TX0bqv7Mlk4Y6T4mvIMZKpcW6yDPYZUrx+FctqH7OPiu3YtY6rpN2u7ABLxNtx1wQR+GaAPHVlJPP6U9ZcA5JxXaan8H/H+mIzPoEtwgAI+yyRynk46Bs/pXJ6poOv6W4TVNE1K2OSP3lq6jjrzjGB60DIdwxknineaMHDdKz0uY2O3cMjrz0p/mKGK7hnvSAuhwTkkGmyKr/wAK49hVZGGQFIYmn+Yc8ZGKAEeEcnFU7pRGybSeTV3LY65NUJn3XKA84NMRdAwnWorslUVU5YnjNSjBA5xUV0372IZ/ioAriGU8O3tipEhADALn3Par8aAruHelYKoHGKAM8xcdD7UCInoCa0QUCAHjmnkrzgc0h2M9LOR/YGrMdgq4Lc/WrQPHTApCeDnpTAREjTIxj6DFSoVwSBVWaaJOGYVWfUQBiJSfrQIfqrblRT65p+npv8pBk7jgfiaz5JmnkBbHoK7X4YaVNq/jPRbWKEzD7TG8i442BgWJ9sUAfb2g2aafoen2cfKQQJGD9FAq/QBgYHSigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACg89aKKAMnUvDWh6oG/tLRtNu9xBbz7ZHzjp1FcdqnwS+H+oIwPh+K2YgjfayvERnvgHH5ivR6KAPDdR/Zs8LSyiTTdS1exOc7fMSVQMdBuXPXnqa5PUv2ZtTj3nS/FFtNkAgXNq0ZJzzkqzYH4V9PUUAfGup/ATx9ZK5gt7G/ALc290ASB04cL19K4HxD4a1fw1qUFp4h06axu3i8xVkwdy5xkEEg1+hFfLP7Wyn/hM9DbHH9nsM/8AbQ0AeIlASMU9bIz4ZW5X171ApOSK09Nz5TYPegCNbaVVAwD9DTGhkYcLWmcYFNAxnAoAzhDIFHyNT9shJypFX2P501mPOMA0AZtw7RoSFz71mT3MrgjdgegrcuozIMEjHese9g2DgjaaAM4ZJzUiLkZNX9M0fUNSZl06yuLsrywgjZ8fXFdr4Y+E/izXZQINInhjyAZLgeUo/OgDibO3eSRcLnngAda+tv2d/AU3h7TZtZ1SHy768ULEjDlI+v5mpfhr8EtM8OmC+1tlvtRQ7lQD91Ge2B3r2EAAYHAoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK8j/aR8HSeI/By6nZLuvtH3z7QMmSEgeYB7jAb/AICa9coIyMHpQB+cucHI5GPzrT0s/u3HTvX0n8UPgNBr+qSap4VubfTrmdt09tMCIWbu67QSpPcYwfavMpvgh450xndbG2vEGf8Aj2uVJ49m2nmgDhcn0GPWkHTrXQ3/AIM8T2MgS78P6ojE7RttmcE+xUEGuq8MfBfxXrW17yCLSLY87rs5c/RF5/PFAHmZYEdauaPo+pa3c+Ro9hdX0w4KwRl9v1PQfjX034Y+BvhjS/Ll1XztYuV5PnnZFn2Qf1Jr06wsbTTrZbewtoLaBeFjhQIo/AUAfM/hn4B6/qSpLrt3b6TCesajzpsfQHaPzNev+F/hD4P0AxyLpq390v8Ay3vj5pz6hfuj8q9BooAq2OnWOnhhYWdtbBvvCGJUz9cCrVFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9k=\"\r\n\r\nconst bag1 = ' data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAMgAyADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6pooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKK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8qMe4zjP4Zr668FfCDwh4SdZbPThdXa4Inuj5jA+oB4H4CvQwoAAHAHpTsS6nY8S+HHwC0bw7LHe6/Iur3iDKxsm2FD/ALuTu/H8q9qijSKNY41CoowAowAPQVJRTIbb3CiiigQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAH//2Q=='\r\n\r\nconst bag2 = \" data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAMgAyADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6pooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoorE17xRomgR79X1O2tRjOGbLH8BzQBt0V4r4g/aD8OWLNHpVtcahIOMn90v5kHNeaa9+0br04eOxhsrEE/K4UuwH48fpTsK59aEgDJOAKqT6lZW6M013bxqoyd0gGP1r4O1v4q+I9SkY3Wu3rq/DKjlVx9FwK5R/ETtdpIzvJ82SWYmiwz7Yv/AI5eCbO4kga9uZXQ7SYrdmXPsa5/UP2ivD8UxWx029uk7OSI8/gQa+PZ9YO9ynAJ6VC2rOec4p2Qj62l/aUsRjy/D85B7tcD/wCJqpJ+0oS22Lw51GRuuf8A7GvlI6q+AMnAo/tdxIG64/KjQZ9SP+0rc9E8Owg+9wf/AImq0v7SOrbsJoVmuehMrH+lfMT6q5JIPWkOquwAbJx0yaNAPpeT9o7XdpK6TYqR1yzHFV2/aJ8TyLmKx09f+Asf6184nVXYHcSCeuO9ImqyjbtJyKNAPoWT9oXxYfuxWC5/6Zf/AF6ry/tA+M88PZpnpiBT/OvAJNRdmJGQT2zTTqLsAGJ46UaAe9SfHfxuykm9t0X1W3T/AAqC4+NPjhSSdWUd8CFB/SvDRqMgBHVT2NI+oSs2cmjQD2dvjV43dc/2y4B9EUf0qtJ8WvGkjAf29cAnsMD+leQC/cUv29uCM59aNAPZYPip41s5mddfmZlHO8Kw/IjFOl+Mvjvq2uuM9liQf+y1422pStnJJz3phv3ODzxRoB7H/wAL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wufmr5pB6j86TzfcfnX6V/8ACL6B/wBAPS//AAEj/wAKP+EX0D/oB6X/AOAkf/xNILn5qGUf3h+dN8weo/Ov0t/4RfQP+gHpX/gJH/8AE0DwvoA6aHpQ/wC3SP8AwoC5+aRcY+8KTzB/eH51+l3/AAi+gf8AQD0v/wABI/8ACgeGNBHTRNL/APASP/CgLn5o+YP7wo80E9a/TAeHNDHTRtNH0tU/wp66Do6/d0mwH0tk/wAKAufmbvPYMfoKkjSdyAkMzf7qE1+mi6VpyfcsbRfpCo/pU8dvDF/q4Y0/3VAoC5+Zq6fqDsAtheEnoBCxz+lTroGtsQF0jUST0xbP/hX6Y0UBc/NuLwb4rmAMXh7V2B9LR/8ACrUXw78azcR+GNXOfW2YfzFfo1RQFz8+7D4NfEO+jLw+GLxVH/PZkjJ/BmBqaP4J/Ed+B4auV/3pox/7NX39RQK58GxfAb4jv/zAgv8AvXUQ/wDZquw/s8/EOQjdplrGPVryP+hNfctFO4XPi6L9mfxs4Be40iP2M7Ej8lrZ0v8AZc12T/kI65p8A/6ZI0h/XFfXFFIdzwbw3+zP4Xsdr61e3mqSDkqD5KH8ASf1r1zw94T0Hw3AsWhaTaWYUYDRoNx+rHk/ia3aKBCKSR8wAPoDmloooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//Z\"\r\n\r\nconst bag3 = \" data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAMgAyADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6pooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiikJA5JA+tAC0VmX2u6VYEi81G1hI7PKoP5VzWofFHwlZHB1RZm9IUZv1xigDuKK8vn+NfhSOYIjXsikZLrDgD25Iqxb/GXwfLKqSXk8JJAzJC2B9SM0Dsz0iio4ZUmiSWJg0bqGUjoQehqSgQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFBOKACisTXPFGiaFEZNV1O1th6M4J/Ic96851j4++GLZ2i0m3v9VlHQQxFVJ+pGf0p2bA9hozXzNqvx38XXRP8AY/hqK2jJIV53BOOx5I/lXN3HxJ+Jl8zb9Zs7GNuoSNWK/TC/1osOzPr3PGaqz39pbAG4uoIs8je4XP5mvjm71bxHe8ap4svpVPLLH8qk/iTWQ0FmGYzX1zNnrul4P5CiwWPsa58aeHLYZm1qxHOOJQf5VkXPxT8IW4JbVkcjskbEn9K+Sg2kwk7Ywx9Wdm/maP7TsUJ8uBOOPuiiw7H0/cfGvwjC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hbQ/DcAj0PSrSyUDGYkAYj3Y8n8TW3RRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooARgGBBAIPBB714B8SP2fo9X1WXUfC11b2Pm/M9pIh2Bu5Vh90H0xX0BRQB8LeJ/gv4z0qR2udEkvIgMebassqkDvgHcPyrz+506fTZWhmintZBwUkUqR+DV+lOKqahp1nqMJiv7WC5jP8MqBh+tA7n5xRSuo+ZlI91qxHIXYBYkLHpgE19/t4K8MNjd4f0s46f6Mn+FWLPwxoVlIHtdH0+Fx0ZLdQR+OKB8x8L6L4R8S63Iq6To1xMT0Kx4H/fR4r03w9+zt4nvwr61f2umIRkqP3rj2wpA/WvrJVVFCqAFHQAYAp1ArnkPhX4BeEdGeOW/jm1a4XnNydqZ9dg4P4k16xaW0NpbpBaxJDDGNqpGoVVHoAOlTUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//9k=\"\r\n\r\nconst cap1 = \" data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAZABkADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACijdWbrfiLT/D8CSahf2tjDI+xHuJljG76tQBpUVy7/GbwjG+1vFXhxW99UhH/ALPTovjD4UuB+78UeHJP9zUYT/7NVck+wHTUVztj8WPDOrNts/Emg3bf9MdQhk/k9dFuqbNAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUVDLOkKMzMqLH/E1cz4m+N/g/wc+3VPE2j2L+kl0lOzA6oJTgMV4H47/4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9Wt/A/ia4nFrPZvHPNb7/wCF0m2fcP8At4r7Q0bXbTxJpsN5Y3EN1aXC745on3o49q8Wth6lL44mZeooorMAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAIyKaF207NeHftUft9/DL9kTRY5vFviG3+33DeXbaZaf6TfXD4P8AyzT7n+8eKqFOU3ywA9tzzzXzd+0d/wAFLvBPwK8VyeH7eG+8Sa9bpmeGxH7m2/33r4O+PX/BTX4k/HvWbiaLVLrwL4Kb5LfTrR9l5dp/02f74/Cvm/xh8RpNUtpoYvLkhkfe++fy4/8Afevo8DkDfv1zSELn0J+1b/wUo8XfGazm028vIbXTd+/7DpySIn/A/wC/Xy54o8b3mvRzTXTzz+WiJH/8RWPql/5Um+4exktfv73fy46x9Y8W20Vx/o/lzyfx/wDPSP8AubE/1lfSUMPTow5KZ0Grca9Da7/tEMk6W77Nn/LOuV1DxHNrNx5MthBBYeZvTfP5kclY9x4o+1SSW0N5Ha+Z/wAsXgSP7R/4/wDfrE1zXvtVmifb5I/M+S6mREk+0f7G/f8AJW4G3qms+VcIiw33kyPsRIYH+/8A7dZuoeN3upHh+wSRvb/9Orxx/wC4/wDfrg9U1T+xpLl4vsMcNum/Y+lvPcSQ/wB/79ZNvr1vdXaTab/ZUHybN/nz2Mkn/AH+TfHQB12s+Ik1SRJlv4IPsfz/ACXt1B/327/JVC81nFu9zYXmsXXmJvR7aeC+jk/2Nj/P/uVzdx4tmlt5kuodStZo32edNa/arT/Yfen3/wDfrHjsLDU5N6w+H57mN96Q2zvayXEyfwfPQBvXHii3/cpLc2P+mT7/ADr+y8vzE/ub/wC/VnXPO8tHtft0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Hk/89HhGEf8A7Z1+nXwq+Lfh/wCN3gSx8SeGNUtdY0XUofOgubeTeGr5jFYGth3aZnynU0UZormJCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAA8isfxV4u0/wP4bvtY1a8gsdN0yB7m6uJm2JFGnLuaw/jF8cvCvwD8HTa74u1yx0XS4/+W1y+N5/ur/eNfkf+2n/AMFDvHn7ceuax4b0Ga48L/Cm4/0Laqf6Rq8G/wC/N/Hvf+BI67cDl1TET9w0p0+Y9I/ba/4Lh3nxZ0i88D/Aq2vrW81A+S/iS8h2eXD/AH4U/g/35K+OND8ETeHLf+2/FV/B4j1uP79zN/yzpn2XQfhVp7Q6WkEE0if9dLiR/wDfrm/EGvPLH9punk86T7iP/wAs6+5wuBo4eHJA29maviDxa9/qHnMkf7z5Ed3/AHf/AAOub1zxdD5ezybXyZPnR0/1dx/n/ppXK+KPFyeY7rbTx3NunyOiPJ/3xs/jrkrzxvefZ3+1WccnmJ9x/IgkuP7iIm/fvrqKN7xZ8QbOw877V/ZUFtH/AMtptknz/wC2n8dYNx4ytrq8hki1LzEj+d4USDy7f/gdclJrP9qSb4vtW+P/AJYo9k8n/fFc3ql1NYQXT3E2uWtzGm+ebUtLSeO4T+5+5oA6fWNUfVI5kt7C6uprh9n+jPayRxp/z32fx1zeoapDa+TYS21jPeW7onk3ml+XHG//AAD/ANqVTvLW21S8d7qbw5dXmz/Svs072snk/wAGz+Cq2sXT6Dp80Kv4g0OGzTYnnJ9utLj+47v/AAUAbElhbWFvvt7Ce0SPfOlzYaj5kcf9/wCR6x7vxH/bMf2a1v45IY/3+/W4P9Yn8fz1Q06w/tS8+2WsOl6xNH+/e5s7r7LJv/j+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Cbofkt0+dH/5aVB9p8qzeb93vuH2VNHE8VnCi+XvvH376JIv9I2b/MSz/uUAWY4niubOzi/eeX889WY4ptUjubxfL36hdIibH/8AZKykuvKt3mX78nyf8ArV0v8A4/LCFUk8mz/0qf8A5aeXQBfuIoZbiHa8kb3mqfOmz+BK5u3+03Vnf7Xjkm1C6/v/AO3XQ2e+6ttNdXk37Lq6+/VPT7WHRtYm2xx+TZ2UO/e/8f36AJtPuvtXiy2hX95baP8A7f7uT+5v/wDQK63wH4tmsPDd5rFwkmyO6+Tf/crz2O6mj8JvMz+fc6xPvffB5nmf98V6B4DitvtH9grD57xwefs/55un30oA/qy/Yx+Kdt8av2XvBHiCFXVLzSIFYP2dECP+oNeqA818v/8ABHjxhD44/wCCdvw5uot+beye1ff/AH45HQ19QV+aYqHLWlA4wooorIAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDz/wDac1ltG+BviF4pnt5ri1MEDp13vxXzB4P0uHRvC/8Aat7+4+zv99/7j175+17ENa8L6Dpe795caokx9kRH+evmL9pD4v2fwv8AC9nDfpHBY3kDo9/s8yO3ff8AJv8A+un/AE0+SjcDw39sD4++beTeVrE+mvGm+C5tv3kdx8+zY6fc/g/5aV+YPx4+IP8AwlvjW8uf38dhb79kyIkcez+N9n8H8de6/tcfF99G/tK2b/RftiTbEhd57SRN/wA86b/ub/7m/wD5aV8i6pdTRXHnSw+W/np8ifvI5Jn+SBHT/pn996+8yfA+wo3N6dMp/ZbmU3lz+5/0NEe6S2/4+Lh0T5LX/c+dKhvNPmurebTWuZJ5t6f2pNMnlybPk+RHqaS/e1s0vG8i+m0t9kEP+rk1C637Hf8A3KZJpb3V4+g/aZLp43+1au83/LRH+dET/tpXqGp97f8ABHP9nS51nxJefEi88yOw0+B9E0Swmtf9ZvRN90k38f8Ac/d1+mXhfRniKIs3yR/JsrxD9hv4QTfAf9nPwl4e1KTzLyzt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2f8AZdhH/pFr/oqf6uPej/OldV8NPhzqvi3XLPR/DPhu61W5uJEe1+zJ5klxv++6J/fr9Kv2Af8Agh54y+ImqabrXxUs4PC/hO3nedNKgj2X94n8CP8A3P8AfrkxGMp4eHPMn2h8Xfso/sI/Fb9qfxHp9v4b8E3w0G8nw9/NC8dvHDs/jf7ibJK/Yj9jL/gip4D+A+iw3fj1LHx/4kjdHj3weXYWGz7nlw93/wBt6+xvAHw/0f4Y+EbHQtB0+10vSdOj8qC2gTZHGlbu4GvkMdnNat7sPdRjKdyrpul2+i2SW1tDDbQxj5EiTYiVbooryfUzCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCpf2Fvq9nLb3MMc1vOmx0dN6SLXw3+37/wQ9+H37VVjd6t4WtbHwl4sld5nMaZs7wv/AH0/g/4Bivu+gGtqGIqUZ88AP5av2mP2RtS/Zl+Il54b8Wae+m63o8Gx0ff5dxD/ANMX/ueXXjN5FpcPk/ZYZ40t7Xz4Hf8A54vX9Qf7aX7AfgD9t/wjDp/iy1mgvrP/AI9NSs9qXVv/ALBOPnT/AGDX47/8FEv+CSniD9jnW3v7CzvvE3hKTzp7W/htd/lvs+5MifcSvscDnMK65J/Gb06h+bWoXX2u4tkWGSRNQ/fwPcz/AOs/+IrHSX94k32OSf53R9//AC0evQrjwukTw7tHk/eJNdb3/wCeyfc3/wCx/sVz1vYTSx2bqkaJJ/r9/wDy7v8A89/9+vZNTnpJX/s95mhjk8v5H/3P/iKm817WSTbbJI+zf53+x/sJU2oX9zFZu9wkf2mP5J02eX5if36h1S/vLX7TbL5kiSfv/OdP3lxQAx7r7VcfureP7nn/ACP5nlp/c/36rfakurhP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f/EUAP0/wu8tvDc/abX7Vs2fP/y+Q/33/wBurtnpdnFZ6Ptv/wB9HP8A6LN/yzt4f7n/ANhVjw/4DS61CzSK5j+x2d086TJH/q0/jR3rSt/AdtFI8NnNJA9xP/oO/ZJ9nf8Ajf8A+woAytP0HTf7PSHzpI0uL1/sXkv+8s3/APi62LPw7o919pRpp/8ATJ/svz/8u7/89v8AfrY0f4faDLHHtvJI/tn+lQP/AM8/786f7dfYv7A3/BIXXv2ttat7qLT7zS/DEjo97q92PJgkTf8A8sU/jkrCviKdGHPMD5J0fwbpXijWLawsIZ531S6T5IYP3kjp9yBP+mn8dfo9+wN/wQy1747XGleJvHmmyeD/AAnbzu/2KVPL1DU0/wBz+D+58/8ABX6Nfsq/8EpPhL+yldpq1joi694lRt/9r6oqyTof+ma/cT8BX0yBk18xjs/c/conPKdzyv4DfsW/C/8AZrKSeC/B+j6PcbNn2uOLdPIPdzXq4GBSBs0tfPyqSnrMzCiiipAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKo6tpVtreny2dzDDc21wmySKVN6SLV6igD8uf+ClH/BD621XSJPFnwT0e3j1a3kea90FmIjvN7/O8L9n/ANivyD+LHgjW/h94gm03WfDc9jeWeo/6bbTJ+8t/4N9f1gAYHtXhv7Vf7BPw7/a30OZfEWi28er43w6lAgjuA+zYm/8A56J/sPxxXvZfnk6XuVdjSM7H8tPiiKbS7xPNsJPtMj+RdfJ/3xXPahFqX2O/hbzN9u+z5/7n9yvun9tT/gnH8Tv2PvG9xDqOjyaloMd7NPp2sQ2vmW9wn+3/ALf/AF0r5P1zwx4htf8AQ7iz8v7PdJ8/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5f7ZqsCTygf3OmNvtX03sFLjNeFis0r1t2R7Qp6fp0GlWcdvbwxw28CbEiRNiRrVyiivPMwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAGSQrKm1l+WvDv2g/wDgnR8If2mrC4TxP4N0v7ZcJs+32Mf2S7j+jpXuhOBSBt1VGrOHvQYH5y/F7/g3J+HHiizd/CPjLxb4Yv5H/wBZcOl9Hs/ubPkr5T/aD/4IB/GD4Y3E114X1L/hONNt4N6eS6R3H+55L/fr9xyM03y69CjnGKh9ov2jP5hPjB+wp8UfhDp0N/4m8N+ItA0+zd0d9S0h47eTf/fevLLf4X6xEbN4rmCdLN38jY//AB8J/c2f+z1/WJqelWus2b29zDDc28gw8Uqb1cfjXjPjn/gnL8EPiLql5qGrfDHwrcahqH/HxcR2vkySf98Yr1qHEf8Az8iX7Q/mC1T4QaxplveJb3kP2P78H/PS3m/3/wCOq3iTwHr2qahNeXSQxpJaol0kz/6t/wCB/wD7Cv6CPjR/wQB+CvxHgvptEXWPDN/cJ+58ufz7S3/7YvXz18R/+DbLUNL0+Z/DXjDTdbeSRJmtr+F7XzX/AL7v+8rvp55hp/aK5z8ZLj4X6r9n85YfM+xp5F0j/wDLT/beqFn8OdSv/wDW20cf2ff5DzJ5fyf7af3I6/ST4xf8EMvjR4F0/wC2Q+D7jWLaPek40jVEuri4Tf8A3K8b1/8A4JgfGzTLiH/i2/xUtZo4/wBxs0jz/LT+5/t/9tK7aeMoT2mV7Q+PIPCT2unujefHbXDpdWvyf6RJ/cplx4chl+3+ascn2hE+5/z9f3/9yOvePiJ+xv4k+HN5DDrmj+MdKmkn3wW1/pzxyW7/AN//AHK5vWPgjZ2Ed48sOsR3MnyT7LJ4/M3/AMddHtV3KPKNYsIftF5Mvn/u4Njo7/vLhE/jf+5Rp9rbWt5D88f2m3td6b3/AOPhP/iK9X0v9n1L+43rYeI7q82fcmgf/TE2fc/3KsyfBGG1kRItB1KdI59/3P8Aj4f/AG6XMgPH7OX/AEOz+z/ZYPtG9LWab/ln/wDbKrR77+zs/K8vZG+x4X/1n+3O/wDsV7xo/wCzxeXWoJu8GarPNef69Nn/ALJVmP8AZz8T3cjvb+Br66ht38i6+/8Ac/2/7n7yn7VdwPDY9Lub+S8+eOeaN96Qv+7+2Q/wbKhP2ny98XmSPcfJaps/1mz+B/8AYjr6O0v9kb4i+I9Y+x6X4Jkurj/n2h06eSS4h/3P4K9S8D/8EmP2gPGOp+TZ/D3VNNe8T93Nc6R5Ef8AwN3+4lZyxFOHxzA+IvsD38j/AGWGSRLj9/A7/wB/+NHqz/Y2paps22d9/pEGyB3T+P8Aj/4B/t1+mFj/AMG737QE6LKknhm1V5Em8n+0IY/LfZ/HsT/V/wCxXpPww/4NtPiR4o0ySbxb8QtP8OzPO7yQ20f26ST/AIGmz5P9isZ5thY7TJ9ofkTH4c1W62Pb6bPJ9s+SBET95G6f+0K6eT4Va3f7EvLCxsYbf5Hm8/y/n/v/AP2FfuR8MP8Ag2/8A6XHNN4r8deLtWvpMx/8St0sII0/3Pn+f3r1XwP/AMEGvgB4Iv4bmTTfEWtzR/e/tPU/tCS/742CuGpxBhuhPOfgZb/BbVdfj8lY443uHRPscP7y4k/26+g/g5/wSW+Mnxi1W1+x+DfFMcN4+zzp4fslpbps+STzn/y9f0AfC/8AZY+HfwXwfCvgvw7obY2l7axRZP8AvrrXoOxa4K/Ek/8Al3En2h+Nvwz/AODbvxT4j1WFvGniHS9Nsbgo+oJZzefcS4/26+6Pgx/wRp/Z++EPhuGxb4f6X4iuY0+e/wBXj+0TyfX+Cvq4rmm7K8rEZpia3xyI52YnhDwBovw80eGx0PS9P0myt40hSKzt0hSNE9hW7RRXnkBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAB1oxRRQBRvtDs9VC/arO3utn/PaJXqu/gnSJJNzaTppb1+zJWtRT5mBkxeDtLto1WPTdORU+4Ftk4pv/CCaL/0CNL/APAVP8K2KKfMwKEfh2xtv9VYWsf+7CgpU0Kzj3bbO1Tf9/8Acr+8q9RS5mBClpFE+5Y41b1VamxRRSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA//9k=\"\r\n\r\nconst cap2 = \" data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAZABkADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACim76y/E3jLS/B9olxq2pafpdtI2xJry5SBHf+7l6ANaiuLf8AaI+H8b7W8ceD0b7vOtW3/wAXSwftBeALj/V+OPB8n+5rFsf/AGegDs6K5PSPjX4L8Sz+TYeL/DN9N93ZbarBI/8A449dVvoAdRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFQyzrFG0jMqKv8XpXC+Pv2oPhz8LGRfEfjzwjocsnCR3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KNY+x6X50NrNcXT/AO5+7jrK8395/t0AdDH4je//AHN15e/+B/8AnnRZ6z5sf2e6/f8AmP8AJN/zzSsH7U/yJ/HG+/8A6Z1NJK11G/zyed/Gj0Abdvf+XJ9juP3kP8Du9M8r7VH9jn8zfH/qP+WlYP2rzfu/ck+/T/tSfw+ZGlAG9byw38aJcPJHc27/ACTf6urMmqeVvmt3jjmj/wBfDvrmJLr/AEjf/rHkp8eqJ5kz7I9n9x/+WlAHSSapD9oSbZH9muE2P/00erMd0nlpbLNJvj+e1dH/ANXXJR3/AO7RNkf+/wD886mOqP8AaJnb5Hk/uf8ALSgD0bQ/FskrwzbJI5vv/f8A9W6V/Wd/wS5/aNv/ANqn9gf4Y+ONWm+1a5qmkRwanMfvyXUOYJHb3d0L/wDA6/kG8N6g8skKKnmTfwPvr+uX/gkxqPw/t/2CvhvoPw/8RaL4gsPDGi2tjfvYXPn/AGe88vfOJM/Oj+Y7/foA+mqKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAopu+vkf9sT/AILK/B/9kPXLjQbnVLrxX4pt498mm6LGLhLf/Ymm/wBXGf8AY5f2oA+uqwfHPj7Rfhn4auNY8Raxpuh6TZpvnu7+5SCCNP8Abd6/Cv8Aav8A+DiP4qfE/wAQXUPg3UoPhzosieTBDYbLu8/33mdPv/8AXNK+H/jP+1n4y+M+rfbvE/ibWPFV3J+7e51u6e68z/2n/wCQ6AP3U/al/wCDhH4J/BSyvLPwXJffE7XrceXCNL/d6Zv/ANu8fj/v2Hr4A+O//Bwz8eviVY3dlpt94b8A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ep20saOtzJv/AL7weX8lAH7G/s9f8HYPxG8P+IY7X4geD/C3i7TY497yWKyaXef7/mfPD/44lfoV+yd/wcGfs6/tS6na6WfEtx4E16aNd9r4lRbS3Mh/gS6/1D/99rX8t1nLNFqCPb3MEkf+w9X9D157C8m3Qxx/76UAf2m+EPiDoXj+wkutD1jSdato32PNYXSXSK3uUJrb31/Gb8A/2n/G37MniSTW/A3irVfDOsRvs+06VevaybP9v/lm/wD20r7x/ZY/4Odv2gPgb4d+w+Kl0H4rQ/wTa6j2N8n+5NCnzp/10joA/pDor82/2O/+Dk74E/Gf4d6a3xJ1OP4Y+Mri4+yXVjJFPd2HfbOlykfyQ98ybNnev0S0DxDp/i7R7fUtLvLbULG8j3wXNtIskci/7LCgDSooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKK+bf23v+Cp/wZ/4J/8Ah2Obx14qgk1q4fy7XQdL/wBL1S4f/rin3E/25Nie9AH0hvr4p/bU/wCC4Pwr/Y/8dXHhG3tdX8deMLRP9J0/SNgt9Pf+5Pcv8iSf7CbzX5W/tf8A/BbX41ftZeItQNprt98Lfh3db0ttF0eby9QuYf8Apvc/6z/f2bEr438QeN3v7eaGLy/J37/9Z/4+9AH1l+3V/wAFkvil+13p82i63qNho3hvzC/9iaDG8dvJn7nnO775tn/fH+xXxxrnii51mN3n8yTy0RE/5Zx7P7lZt5deVJ+++yyQ/wC2/lx1m6jr0MVx+6/eP/6LoAuyapDHveVPMSN9mysO81l7+Ta1tGltv/jn/wBZVCTWfM3os0cHmfwOnl+Z/wDZ1Q1C/wDNiRPtP+s/17/JJ5n+xQBfvL//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Qk/fR/apE+5U1xdPa6eieTcRvH9/zk/9AqHzXuri2eVI47mP7kyf6uRP9tP4KAM02rjS7lFeOTy/uOn7uSt7Q/EifYrP/RpJ0j+5sf8AebKzY4vN1S5/1n7xN/8AqH/d1Db3SWGnv8k/7ufZ/rP3clAHeeVDdW6eU/mfPsesLUYklj375IPLfY6bP/Q6l0vU4f8ARnlk+wvJ8jon7zzP9urN/M/2eZ/9Y9wm9EdP/H6AOb837LeTJdJHIkf/AC8p/rI6LO6eLS0/1ciSfwP/AKutKSVLuRElh3vIn7z/AJ6ViRaWn9jv9jfzEjf7j/79AHc+A/izqXgPxpomsWGpaloevaXPv07VdNneC70t0/jR0+5X7Jf8Epf+DlOPTNOs/A37SV/cTKrJaab47jh3h/8AsIIn3P8Arsn/AAP+/X4aR/vbxJokk/d/fT/V+XV/S9emsNQubbfHOmzfs/5Z0Af2mfDX4qeHPjH4Qt9e8K67pfiPRbwZhvdPukngk+jpXSV/Jf8A8E9v+CnnxH/YO1v+1fh7rCWulX8iSav4e1JPO0nV9n99P+WEn+3H+8r95v8AgnF/wXX+GP7ffiW18H3Vvd/D/wCI8kKSHR9SmSS11B/40srn/lv/ALhRH9qAPuqiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK83/ac/ab8I/si/CDUfG3jXUl07R9NT+H557uX+CGFP45H6YH/1xpfHT45+Gf2c/hZq3jLxdqtvo+gaHAZrm4kPp0RFz87v0RPWv5yf+Cl37dV5+3T+01rXjBrm+tfDFt/ovh7Tbx/L+x2qfxum/Zvk+d6AKv8AwUP/AG//ABN+3h8ZpPE3iT7Rpei6Yvk6LoqyeZBpEP8A7PPJ/G9fLniTxG9/J9z5N/yVDrnij7feeXF/x7R/x/8APSsHUNU+yx72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SDyY0+eqf2+b7PbJL5c8cj0+8tZotQmeX7mz/XJQBZ0+/f7PMkv79N7/AH//AIumSf6Vp6PO8e+PY6f8s/MqHzUi+2PZwyRpv+f/AKZ1DJMn9ho/7z93sT5KALmoX6f2gnmp++8j76VDJdTXVnc20r/6v+BEouIU+3wozx7Njp9/95RbypLJMjLJPbf3/wDVyf8AA6AIbP8AdfY3t3jk+58n+3XYaXfrdXHk3CSRvs3o6P8Au5K4y8/494dv34/kf5Kv2ciRapDMr/JGmz/7CgDV1Cw8q8he4/10c+zfVC48m6vL+2uPLj/uTJ+78utu3uodU0t3kSOeb7iO7/wVQ1CWH7Z/qZI3kg/goAxLy1kupLN1mk/efcm31Dpd+v8AaE0Lfu3/AL//ACzkrSjuv3ds+z+P50f93JTPk+2XKMkkiSJ9/ZQBW0+Z4tHfyvMkeN66fR/GTxXlhMtzPBc286T2VyjvBcW8yfcdHT7jx1xn7610eb/V/ZpH370/1kdXJLp5bizmik89PuO//PSgD9rv+CSX/ByrrHhjxZpvw3/aS1KO80i8kSy0jxy8eySzf7iR6h/fT/p6/wC+/wC/X7gaBr1j4l0e31DTry1v7G8TzYLm2mWaK4T++jJnd+FfxU6frL3Uk1ndQySW0if65P8AlnX3R/wRi/4LS+IP+CYPjTT/AAn4sutT8RfAjV7jE9ih33Hhid/v3VsnXy/+ekH3D99PnzQB/UFRXP8Aw5+ImifFrwPpfiTw7qljrWg63bJeaff2b+Zb3cL8o6GugoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApr9KdXwH/wWd/4Kz2f7FHhCXwP4Nntb34oeILYEHPmR6BbOP8AXzf7b9ETr/H0oA+G/wDgvZ/wUxsP2qPiLD8LfBd/9o8F+DL131C8STbb6vqafJ/37g+dP9/fX5ge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/c/jpkcqRSLuT5Lf+/8A8tHojj82NE/3532UATRxeTH5Ozf5ab5/9+rMksP2xPkj2Rpvff8Au/n/AIKrfPDbpu+/J+/ffWxZWv8AxOESX7/+vf5/++KAOn+Hcry/EzSki8xPL++6P5lf2AfsfWklj+yn8N4ZFSOSPw1p4dVfzMfuE/i71/H58J/JPxQtv9XHNcXT/J/y02V/Yr+zXdfbv2evAs32eS18zw9p/wC5b/ln+4SgDuqKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqnqOow6XYS3NzNHb28KM8srvsWNOu6rlfmH/wAHFf8AwUhk/Z9+E8PwZ8N3F1aeJvH+nPc6nfwzeX9g0zfseHf/AH5/nT/c8ygD8mf+CvX7V1j+2b+3V448eaZN5nh+N00fRZEd/wDSba1+RJE/66fO/wD20r5G+IF+sVskKvJG/wDG+z/V762PEmsv9o3t5e/fs+f/AFez+CuSuP8Aj4R7h/P/AOWlAGbceT/F/wBcPkf/AFaf3KPN/d70eP8A30ovL/7LsdvL8n5/k2Ufb/8ARNmyPfsd9jp+7joAZdyra7HaH5P7n+r8x6PK/wBDkef94n8f/TR/7lHm/apPOuPMjTZ8julFzdJa2/nN9zY6Iif6uOgChJKl1qabkj2RyJ+5T95H/uVNJK8twm3/AI+ZH2f9c/nos7D7Lp6P+8kubh/k2UyS1eK4RFffN/y3f/nn89ADJJUi/cq8cjyfJO++iT+BImk/d70Si4/dRyIv+2m//npRJ/q0hi8zZG/36AGR/wACxfvI/k8+n+U/76GL/lmnzv8A89Epsf735F/dpJs8x6T+DYv3I9//AG0oAf8AJL+5i+SH/Wb6JNl18/8Aq4f7lEkKXUj/APLOGjzUlk3y/u0+egBkcX8bff8A7lPy/mb1fzJpN9EQ8pN7J8/9z/YojieIbF/10n8dAB/y0+zK/wBn8z770Rypdf8AXtH870eUkv7lf3afxvTP9aNi/c/j30APile6jj837lv/AH6ZJ/pX75v3abNibKIz5sf/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VWqaiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD/9k=\"\r\n\r\nconst cap3 = \" data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAZABkADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoozRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUZozQAUUUUAFFFFABRRmigAooooAKKKKACijNGaACijNGaACijdRuoAKKM4ozQA1VwacRmk3gVma74q03w3bLNqGo2OnxO2xXuZkhV29MtQOMW9EaWWoy1cjJ8cvBsb7W8WeG1b31OH/4qnRfG7wdc/6vxV4ck/3dThP/ALNRzI1+rVv5H+J1m0ZpwGBXL6Z8YPC+sSbbPxJoN2392HUIZD+jV0ySqw+8D+NBM6U4fEh1FFGcUGYUUZooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoozRnFABRRRnFABRRmigAoNGaM4oAZuz2pQtQTXcdqjPLIqKv8TGuT8VfH/wZ4Jk26r4m0Wxb+7LdoDRzI0p0KtT4It/I7Hcuf8A61O4r578d/8ABTj4OeALfdL4stdQb+5YjzSa8/8AFH/Ba/4Q6JaFrdtavmJ2LshRYy/+/vrnliqMd5Hs0OGc1q/Bh5fcfYivQxwK/PDXP+C7FjbM62fhO3k7J52oCPL/AJVxXjX/AILkeMJ7Xbpmg+FdF+fAmurt5t/5Vz/2nhf5j2aPh7nk/wDlyfqEFYdlpSw7sK/Fzxn/AMFWvih4ruvNbx3aaX9o/wBWltshjrgNb/be+Jlzfbbr4reJvKuPuRf2n5aSf7lc7zuie/h/CXM5/wAScIn7i+IviPoPhG3aTVNY02xVPvedcLHj865GX9sP4YxWbXDeN/D6Qp1LXQr8IfHHxBvPFEckl5rc+q3knzvDeXrzySVg+bcy6gnlaxYyeX/y7P8AvJP+APXL/bnaB7uH8Ho8n77EH7ha9/wU9+DOhXXk/wDCZWN5IHw5t1cqn14rm9c/4LG/BXQpJlOr6hcPH/zysnO+vxSuLCb+0JmXUo5P79nc/wCr/wCAVDcfbNLs9+lwpfeW++eGa68zzP8AcrP+25nsYfwiy37c5n7Lz/8ABbb4SxHZFZ+KJn/hRLJOf/H6yLj/AILp/DSHf/xTvjL931328Kf+1K/HnUNU1XzIZrd7r7HInz2z1m65qmq6XvuUhvtS0rZ89s/7uTZWf9sVjsXhXkcPj5z9i73/AILyfDaP/j38L+MLr5c/dgT/ANqVUf8A4L8fDeFfm8H+Mo2/55ssG/8A9Dr8drvxveWHkt9h8ywkfZvRPMkt6uXGs38sbu00f9m7PkuU/wBZHS/tjEm3/EK8j/kn/wCBH7BW3/Be34cX0b+V4T8ZPJGuZExbb4//ACJU9n/wXl+Gt1G7/wDCL+MfLj/iSOF//Z6/G28vraLZ9quY7W5/5dZk3+ZcUyTxHbXWofZpZrqC82bEdP8AV3H+/R/bGID/AIhXkf8AJP8A8CP2dX/gu18L/M/5F/xf5P8Az2jihcf+jKni/wCC63wlZ/32l+LrdP4JHtI9kn/j9fif/bN/L9sfTUgtdWt/vwzP+7uEqzbeKJovniee6STZvs//AEN0p/2xWM5eE+S/3v8AwI/cXw9/wWc+EXiKDcra9Dzs2TWgDhvT79eSftQ/8F2dF8E2Mln4H0W6nuPuNqOpw+VbxepResmyvyV8QfF+w8B6G9yuseQ9x9x/+WlcNcfEGa/vPtOkarJqXmJ86XL+ZJWv9pVpwOGj4a5PRrc798+xfij/AMFS/jJ8UrtJpPGV81h9zfpr/YfL/wBvYleI+LP2pbz4g3NzbX/iTXPE9zZvve21Wd5JI/8Acd3rwez177Vqruvl6Vefxwu//Hx/v0y8uppf+Qlcpa3kb/JMiJ5ciVyVKlSf2z6rC4HB4fSjR5D1q38Zf2p532e2sbW53/PbalJ+7k/4H99KZH4ottU1v7Hav/pm/wD49rz/AFcn/XF0ryK88b3PmJYa89xazSfPBcp/q5P9+oY9Z+36p/ZWpSf6VHHsgv0k8ue4T+N/9ijlZ6Xu9j2zR/iXNFf7NN/d3lvPseF38i7j/wBtH/jr274Rf8FI/if8M5WvND+IGrrDF8jw3t19rji+f7jwv8n/AAOOvj3/AISi2v40tpbhP7Vs/ngfY/8Al6m/4S3/AISPVP7St3+y39n8jwo//H5/sP8A3KPaVIHHi8LhsQvZ1qamfrl8J/8Ag4L8THVLGHxb4N0i4tJGKTXGlzOrXB/6Y+Z8n/fZFfdX7L/7fvw2/aysdvhnX7f+1IkXz9Nu/wBxdxN/d2H73/AM1/NZp/iNLCSaZZrWDR5H/eWyP+8t5v7++u5+HfxL1Xwv4stmtdSn/tLT3+1WVyn7iS4T/fT59/8At13U8yrR+M+FzXw9y3FQ/wBl/dTP6is5FOU5FfmP/wAEvf8AgsJcfEjxNB4L+JGsW80t9IINJ1aYpG8sv/PCb3/26/TRJMqpHevcoVoVYc8D8VzrJcTldf2GJ3JKKKK2PJCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoooo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jM/Nc58O8zwXv0l7WP8AdP0JVmJpwUAV5d8F/wBrj4efH+1jl8L+JtNvpJE8w25nCTovuh5r08FXQbWB/Gu2MlJaHxFbD16U+StBxfmSUUA4FGcUzEKKKM0AFFGaM4oAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACijOaKACijOKD0oAb25ppHtmob69h061ea4ljhhjG53d9qqPrXyx+0h/wAFUfBPwv0HUYfCtzZ+Jdatn8hP3my1V/8Af/j/AOAZrOpWhD4juy/K8VjanssNByPqO+1GCwtmmnmjhjj+8zttUV8m/tLf8FafCfwd1O60/QbZfEV1bfJJOkwS3jf/ANn/AAr89f2if+CgvjT4/T3Md3qkk1tHNvSKGTyIIP8AcSvnPWPFlzfySPdTRzv/ALleLis1/wCfJ+z8N+FEX+/zOf8A24fUf7SP/BU/xx8b43h/ti4tdN+5JZ6cnkwf8D/5aPXzX4o+JepeKJE+e6k8z+Df5cf/AH3WJLLZ39mnmvJvkR98PyeZ/wAArH1TxvCY3+S12bNju7+XHb/79eNOpUq/Gfr+W5LgcDDkwsOQs6oJpZHuGexjh+/vmf8A1f8A8RWPea9a/P8A6+Sb/b/5Z/79Z2seMoZbx0uNSj8zZsdP+Wcf/wAXWBqGqTWsaTK9jvj/AIERPMjT/ff79L2Z6Bt3F1bSxp5X2ryf44YU8uON/wD2eqEl/eafeJM0Nr9mjTe7zb5JI/8AceueuPEf9p7Hl2RzW+94/wB3BJ5b/wC4lZWqayn2jfD/AGVo6fcT7T5/7x60p0w9pym3qmvfatQhhuktd/8Af89I45E/2N6Vm6hLf2tn+6mSRPnT7kE9vZp/c/7aVj2evTS6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XxBYJJqulX8UME6yPsnSF/Mj2P8AwI/9+qej6pY2GqPb/wBqyQPImzZc745P+AfwVvXmjJdeD7xGs7W1W3f5Nn/Lu/8ABvSqGoC2utPttV2abJNG6PP5P7yOP+B601L+pTh7sA0OO+uo9VhXz9m/fBDDP5ckaf8AxFX/AA38S9Vl8Dv5T+Wlu+zek/l/c+/sqGOW2sNcSzlS+tX1Tf5E0L/6t/4Nj1Do8WsS2+pJ/bcc7/fRJrVJP+APT1OX95DQ7O3+Oeq6Xb2dzFceXbfI+/8A1dxIn9yvoj4Mf8FZ/il8JryG10vxd4hj+z/fSe5e4t9n+5Jvr47kv/t/hNJr9I9/3J9n7yP/AH9n9yn6p4ssbq3tmiv5I32b3ea1eDzEpU3UT9w5cRh6WI9yvTUz9efgt/wci+JrHxP9h8XaFo+tWsaeY720L2U2z/e+eOvtj9nH/gs98E/2ir+HTV15vDesOil7bVI/KjDn+DzvufrX83ul39za+IEezvLWSGT/AJ4zp+8/2H3/AHK2PCHjZ9G1O5eW3jg8z++n+rrrp46tHc+TzLgDJsX8EfZT/un9Zfhfxzo/i6zabStY03VIV432lwkwH/fFap+f+JT9BX8rXwR/as8X/AXU7rUfDHiO60vVEfy/NsLryfkevsz9nP8A4ODfi78JPC6W3iRNL+IEeMebqyPZ3X/AJo0+dPd481308xp/bPz/ADLwwxsPewcudf8AgJ+7g47Uv3j3r4T/AGYP+C7Hwn+K/gzT5PHGoW/gbxJNP9nms3Sae1z/AAukypjyz/t4r7b0DxDY+KNKhvtPure7tbhN0csUgdHHtXZTqQl8J8DmGT4zAz5MVBxNOigUZrQ88KKM0ZoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii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tryHY/8Ay0uNifcqxoes/u3WLz55o0+ebZ/pEf8Av1lUph5Hf2+jJa6nvs7mSeGRNj2Ez/u/++K9B+D37Wvjr9mm9t9Q8H61rnhqS0mSNPsj+Zbyf398L/I//A68g0fxQl1p8P2r7Lus5/3D7PPj+Sunk0uz1TS5kt5pHh1B/PRN/wC8jf8AuJWKqVIHmYzLadSn7OUOeB+w37EX/Bd7w/8AE3XdP8L/ABOWw8P6reQIkGswzj7DeP8A3mT/AJY596/QLwn440fx1pS3Wjapp+rWr8ia0nWZPzWv5VtUv00G4s/tiST20nyQXmxI/Lf+5Mn8H/bOvbv2Kf8AgoF48/Yv+IF/f+FdUt00rVNn2qwvH8y3uH/z/HXt4TNelY/IOIPDbD1+avl/uT/k+yf0qKwHpS8Gvhv9lf8A4LjfC340+E7E+MLpvA/iI4S6huYney3/AN5JlyPL/wB/FfaHh3xJYeMNCtdR0y7tr6wvI/Ognt5BJHMh/iVhxXsU6kJfAfjuYZPjMBPkxcHE1qKOgozmtDzwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACijOKM0ARO/lgcV5l+1L+1L4Z/ZP8AhjceJPElwET/AFNpbJ/rr6Y/cjT3NXf2i/2g9D/Z28AXWtatIryRoRbWi/667l/hjQepNfjL+2d+2DqnxS8dpr3i5p77WJJH/sXRE/eR2Cf7Cfwf78lcOMxiorT4j7DhPhOvmtfnn/C6kH7Ynxl8SftzfFW28ZeNIZND0HQ4fJ0jQln8yBD/ALf9+SvNvEHihLCRIbVZN8f3/wDlnHHXMf2zf6peJf6teT3V5Im/e/8Ax726f7FYPijXk+xokv8AqY9nyI/+sr5WpUnVnzzP6eynKaGEoQoU4ckCbxJr32WPfFDHJNcb/v8A+sridU8Zf21HN9jhtZH/AL82/wDdun9/+/VPWb6bCXGz99J/qE+eSP8A30+5srB1zxReXV5bQ3WpRxpbo+/yUtY/n/54VpTpntD7y7+173uJoJ3/AIN+yPy3/jf7/wD45XN39/eWtw8kdzfWq+Z5CJDBBdR7/wDnslGsWs2qSJZ3EOpR+Ym9JrnToZ44/wDY2JWVcaX5WxFutKkmjd4IPOhfTbjZ/Gn9xK2pnPUqFfUL+PHkrf2Lzb991DNpHlz7/wC/vqGK6uZrf/Q7HWJo5H+1PNZ3vmf7H+5QguItOjmtYtfsbeNPvW3k6lBJ/wCP1BHY2es7kunsd+/7k072t3HN/wCgJ5lbGPvlafVLXWYIJpry1e4/5dba/sUhj8j+553/ALPUh0z+xrtGaxvoLPfs87Sr37Vbyf7eyr1voV5jy/L1yDzD/qpkhvkTZ/4/Rp+lwyxpNE9jvjgf99Mk9jH/ALaf3Kr2hJnXEdjqj/vJtLkkkd981zavaz+d/B89S6Zo7mJpoprq1uPnfZDqEE8f+5sd60tPv/8AUwxalJ9z9xM97BdR/J/cR0+St7S/Adnf3D3LWfySPsSaGySTzH/v/colPlNDnpdLfy9i2F1O8ib0+06Wkkf+58laWh+HLm6kmmsLDSpLfZ8m+CeOTZ/338ldPo+g21hJ/qY4E/1/nXLpHcRv/f2fwVN/amm/2hDYabbR6lqX3N6QP+8/2/k/9Drn9oachW0vRnljhW4eS+uPnR/sbvHHH/wOn/b9N0HY7Xnl+X/cvfMk2f8AA/v0+80HxDru/wD4mtrYvG+xLm21H7VHH8/3Nmz/ANDkqtp3gmzvr1PP8zxMtm/797xEkjjf/wAcgT/to71Jn7TlK/8Awm95fybLDR9U+07/APj/ALxEkt4/9t33+XT7P4f31/bNNrV9a/2fJI8CW2m/J/t/67/4hK1NL86WN4Vto7p7eDYkNm/mR2//AG2+5/f+SNKsy2FzLeeTa/6DdXk+yea2n8y42f7f+UpcxPPzfAVtL0ZPCWnvbWdna6UnyeR50/lyfP8Af37/AJ3/AO2dXLO1eW4uf45rx/IdEtfL8z/Yf+//ANtKv6f4Se/jdLyaCOGP53mvP+Wn+5s/+zrSksEsJNlxNPfP+4neHz/4/wD2f93WHtCqdPm+Mx7fS7m/s7mGWGCd/v8A2ZE8u33p/sJWxHbW0Ufy3M8Hlzo6In7v+D50+f5Krah4803zNsSRzvb70+x2yJJJG/8Atpv/APRlcx4k8Rvf3HnK91Jc7E/0O2/eSSIn+39yFP8AcSj2c5nR7OEDs7zWbYWb/JBPDHvTyZv9/wD8f/d/886wdc8eXV/88U1ravH8jvMnmXHyfx+Sn/fH7x68yv8A4i6LLJ5N0l8nmI6OlnN/B9/55n+d3qneeJ7W23slzfWK+S8CW1hAn2uNP7kz/wAaV1U8KEzrNY8bpo0jWupardfafvon/Lx/sbE+4lZt54xvLq8V/Jsfs1m/yXOtzf6PH/wD++9cXF4nmsrfdZ2Vlp0flpJdPcP5n2jf9zZv+5/wCs2LxPPaaitxbHzpY02I9ynmPBv/AN+t4YUn+4dpeX76zFbJLearrCRo+z7T+4tLdPv7/wDb8z7+yqNx4th1OOGztf8ASnjT59lq/wBn+T7ibP8A2euev9Yubq3W8urxL6a8+T7Hv/gpbrWvttu0N5Ne2vlwunywJ5j/AOw7/frX2BNQ2rDVWtY4UsmtbKf5PPisU867/wB/zv49/wDGlMv7qOwfybHS4Jk89457m8TzLSR/4P8AcesC4ubO2MKafDJD+43u9xN/q32fPsqLULn+x4Ft5hI7SIkmEk2IH/3Kr2YHRxSJf6nCkz3WuTW8CQxzQ3Xl/ZP7iP8A9tKs65qk1p87PHYvH+/TYieZI6fxpXKS6pNbKba6t44IY3dPKX+Df/8AEVGwh8h5rNd7R/fd/wDWff8A4P8AgFHszPkNqPU7C68R72kn1jzH3vNf/wCrj/8A26tXPiG6tNMZIbi1e3k3pdW1on7uRN/8ez/no/yVzcmpW8s8cl01xdeYn76JH8v/AHKuW9++h6hZ3K29ra2w+RPk8ySPen8f/odFSmHIaun6XeWtpJNFDDD5cP7ia/uv+PN/49n9/wDuVfe+m0dbW41HUoI/Mkfzvs/z+X/tps+//crDl/s2/dNj6xqNz86QPMn/AB7/ANz/AOLqRLu/0LT38qxtYLDZsm/5aeZ/t/P/AH6z5DMsR3KWt2j2um6xdfu0n2TfJHbzff8Av/xpVyzlmtbf/SraC1m3pOnkweZJH/v/AN//AHKxWk8nXH8/VJL15Pn2WCP5ce9Pv/8AoFWILCEwJcMkKXkaOl1vmf8Ag/jR/wDrnQR7MuW929rZzKzX188kz73ffHJJv+/sT/vij7feX94iWGleZD86I82+Ty3+Te6U2S5mijf7Vfx7/PdHT/WR2/yfwf3/AN3WfPpiXNx/o/8AbF0n8D/c8v8Auf76UCNK48RvoNxcQ3V/a+Tv37IUR5Ld/wDYqvHqfmyJZrb6xN8myNHf958/zpv/AL6VYlsEiNtu0qPTrbejpNvSST/Yf/ceSiXxZMNUm8vUpL7y5386G2tfMjjRPvun8Gyg0LOjypa6P5LeG7X7HI6fPeIn+jzf77/wSU+CX7BGnmX8EbfceGzfy44/n+5/t/79Ufstz4ijeFdNj8mTZ5D3n7v7P8/3/wDcqxqNhcWCOl1eadpsMb/Zdlt8/wB/7/8AvolZmZf/ALVs7/ektnqt8lu6J++n8uSR0/2P79U/tU11qjpaw6dpvmQO/ku/7yR/v7/9+Oq1xYf29skVNcvpI4Nj7HSP50+4n+55fz761ZLDytUfbpumxp56JsuZ3nns9/3N7/xp/t0AMj8W3Oqb5mvJJEk+4iIkf2iZ/wDb/gemx6PDbWcaRWdjo9zI/kv9vfzPtH9xH/uVNql090nnXU2pTPcO6fZrCBP3iff++/30/wBuqv2rS7W/hdYY7W4kTzPOuf8ASpI/+uP9+lqa06Zc0O/1Kw+021vcyb5E3zpDAkccf9ze6f8AocdGoWuqy6ekzWEkesW86XUDzP5dx538Don8dQ28UOs3P+izaxfJH8nk2afZfk/j/wDIn/PSpNXsYbTTpo4v7H02aN0+yzPO8l35yfcmT+5/co1MMQa9nqlndap9m+2XUepSP5/2aw06CTzH/j+f/PyUahLNLIzxXN1b/wAd1C7pBHJs/jqhp+qXPjfT3mt4b6O5t333VtDAkFvI6fx7/wDnpVbV7p/Lhubh9AsZt7pvmfz/ADH/AL/yf3I6Xszl+KBxGqNa2Piy4h8lII7qH50d/M37Puf7ld1cy/avCFncizhT7QiO+x/3cbpsrh/GOqTaPPb3C20Pko/7t3sk/wC+N/8A4/VgfvPDFtJb/ZfOkR4XhdPMkk+etp0+Y6suqe5yHq/iTS2iv9N1izfTZLnz/InTenmR/J8+9KxNYsLOK81JPJg/0hN8kMMHlyfJ/t1m+INZhtbjSmlt4JPLngg2f88/k/gq4JXl8eWcNx9l/d+d9+D/AFibP++65zbkL9v+61jWNNs0kkhk8m6Ten7zY6b970R2DyeAJl1L95NvdE3/ALv5P9yodMun0ySHyoYJ7PVLJ9kKIn34H+5/+8p+n6x/amn302+x1JI32eTbR+ZJb76DTC1C/cX9zf6fYX9m8/mRwQTv8nkR7P43/wCudb376XxIkyzRzw/P53/PSNHT+N64yS1f+y7Ca6mtYPLtX8h/IfzI/wDY2Vsa5rK2FxbfZft11/qfvwP5kf8At1lyM9b2h0NnLef2pNNb3mpXUNxBsdNnmW8bp/sVZ0O/1Xy7mFng+02fzo6J5cez+5XL2/8AxLPGnnLDBBZyI+z9/wDvN/8AfRErT8Pyw215qVta3M8915CPOjv5cez/AGP79YezL9odV/wmTxSWd437tNQ+Tzng8vzKhjihupbyw2WM3yeeiPB5f+f3lYlvqkNro81s0ME9zbyO6TWz/v4/4/uf36uSazbS3Fheb59mx0eF4P3fz/8As9Z+zI9ws3thD5dtqX2bz5o3+dPueW/3Koahpc0uuf6mDybhNjpv/wBZ/crSstZSXzll+/8AJ5G90g/74qnrF1D/AGP/AGk9nHv099779/8A7JQSYP2Cb7ZqSfPdJ8k/2bZ+7jR/4E/vvVO40uHVPB7/AG77VB9nd4NnkJ9ojRPufx1vXulWEuuPNLDJBNcRvsmefzI7j/crKjltrnzkuNSjtUjRERE/d/8AA66PaE1Cn4g8OJLqFheSw+Ykc6PP5P7v5P8AbqhJYJa+KHdfP3+Q8H2nf+7jRP4KfHo11beF5ktXnunt3eCd9/8Ax8f3Ks3n+lXFm8sM8bxum+Gb95HH8n8D/wDslaGHIyGO/m0+SaGVLqTzNk6TJsjj/wCAVseD/FEOqaGkzTXEE1vP9+FP+Pd/7n/2dc3pdhfy+J7yG3kjns/sv3IZ/Mj/ANzZ/BVPT4tS0a31h4v+Xeff5L/6vY/8FVycxB7TJf6bqmzb9lnS4/foif6yN6wdc0FLW4vH2TyWd5Bv8n/np/uf3PLrlvCHi2GXw5Z3MKR2vlpvf5/3cf8AfTf/AAV3cevWd/I8PkwSNs+1b0/5Zp/HXL7PlM62F9qcH4T1S80bR3ttNuZJ/se/5N7/AOjp/t19S/sgf8FSPiT+yjrdhHoetTz6deOj3Ol3H+labPs9E/5Yf9s9lfOXjjwdDf6XcvZ/ao7y3fz4Jodn+/s//eVyVxYXNrqlhefaZI7mSD9+mzZ5n+5XVQqTXvwPm8wwNKtD2GKhzwP6F/2Uv+C4Hw7+OOr6Xofiy3m8E65qGII7iaRZtJnm7olyOF/4GBX25YXcN/brNC8ckMi7ldH3Kwr+Srw34ym0HVL/AOzzfubhP36eZ58f3K+zP+Cff/Bafxl+yzpljpf2k+IvCkb+R/Yuoz4S3+f/AJdpv4P9z7leth8yvpWPyniDw1hKHt8pl/24f0IE+2aXdhelfOn7IH/BSj4d/tk3Emn6DNfaT4gt0D3Gk6iEiuIx6p8x8xP9pOK+i93H+ea9aNRTV4H5HjMDXws/ZYmPLIfRR0FGao5QooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACgnAozignigCJpQqDiuK+O/wAeNB/Z+8C3Gua5PsjjH7qJT+8nfsiD1qH4/ftA+Hf2cPh5ceIvEd7HaWcI2op5ed/7qL3NfjX+3J+2z4q/aJ8XNqKPJDDcO8FlaO/7jSLb+OQ/9NK4sdioUoH1/CfCdfN6/N/y6W7K/wC3B+3brXxg+It9ItxHJqkiZsoUf9xpEP8AAn/XSvmezsIbW4ub/wA7Ur7UtQ/4+r+53yTyP/cT/YqaSW20uTfv8+a4/fzvN/rLh65fxZ4yvLWzeGV/LS4TyH2f6u83/wAHyfwR18pUqTrTP6fynKaOBoQp0YGnrmszWGno6zWs6Sf6hN/+kVxmvy6lf6gl5a+ZBc3HyI7v/q/9h0T/AOLrNvPEflf61LWxSP50Tf5ccn+4/wBxK5681lL+NJrVL6fy98HnQwPPHHs/g+f/ANppWlOme0X7zxHNFrGy41jfNcfchhdPMkf+/wDx1larKmU+xw309nH87zQ2VrP9o/39n/POi3sLm6j32t5HInmb0+zJZRxx/wC5/c8upbPQbC/vH23Nj9skfeiJBavHcP8A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ZfCENz5MmyPYnyfu4/nf56PZjNLV9ZhPiC2W4TzLyS1/1yI/36huLu51TR9SsLib540f5ET/ANno1CK2/tizSWaCNNjoib/3lMsrqG/uLyFknurPf/rk/dyf8Dp6mZW0eby4NLksZIJPL2fJ/wCOb/8AY8uvTtD1RNUvPs11DJHNs3o6OkccleUawfK0u2e3eTfG6QT70/8AHP79bej3SReJLa8Wby0t08jY7/8Ajmysq1PmDnOk1fS0ttUs5rr/AI+be6dHmf8AuPWDefZb/Udas7zy0+f5LlE8iSP/AD/frrbO/h8R+H3e4hgvpvuI7yfu9n9ysrWLq2Gsf8e0kE0kCbNj/wDoaVjTmc9T+Q4/XLB7+40d1vJI0k/eJc+d+831Q8J+IoZfEF9bSxxwXO//AF3/AC7yP/BvT+B66S31R/s+mvs8vzJ9jpN+7uNmyq0myXWL+GWGSSGSDe77PM//AG66qZ5dbCzj78Cn4furm18HzfZ0nne3d9m//lp89d/4b+JebzSna5nguY38+ym3vBcW8yfcfen3K8ii+06N4UvH3R/2bcP9qSaH/WWf+5Wxcay8t5ol5a3H262/1Dzf8s5H/wDZKPZnPzXXs6h+x3/BNP8A4L6al4b8Wab8P/jxeRzabeTpZaZ4u2eW8D/wJef3k/6b/wDffWv160fWrTxFpcN5p9xb3trcIHhmhk8xJFPdWFfyQ6R4om1i4udKv7aSewkT5LxP+Xf/AOzr7I/4JOf8FYdc/wCCc3iex8M+KLu+8R/BjXJvs/lffuPDk38cyJ/zz/vpXrYTHfYqH5RxX4fwqJ4rL/i/k/m9D+igDcKCMisPwH470n4k+FbHXNDvrXUtH1SFLm1urd98c6P0Irc+9XqH4vODi+SW46ijOaM0CCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACg80UUAMdQcUpIXn0ppGWWv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Tx+T/bmm7po99xZbNkz/ALz/AHESs3S7W2u/Df2DVLby7b7b+42P/q//AIirMn/E0+wJcQyb7hP+/f8AfrH+1XOvWz6VcW3n3lvPvR4f3f2hP/i6jU8OpT5J8kzW0Tx3qXgjxRsivLq11XS50fTrxH8iSP8AuTo/8Dx1+4n/AARD/wCC1d1+07qafC/4qavYyeLo48aNqkrpA+uBOqOP+e//AKHX4da5o011caqi/wClQxwJPDs/5ZvXPeH/AB5qXg3xJZ61ZzSWupWbpN5yT+XJGn8Gz+5XVhcRyHy+dZLhsyh9WxO/2J/yn9mu3gBfu+tP39favzr/AOCJ3/BWq3/bH8OWvgDxdqHmePNLsvtNtdyLs/tu1T+Nv+m6fx/3/v8Aev0UUYr3YSUlzI/nnNspr5biZYXE/Eh1FGc0ZqjzQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKDyKKKAGAKFpcZ5NNxt49Oa8m/bK/aNt/2YfgBrPimWSH7ZGhhsIZTxcXL8In40Tlyq5thcPPEVoUKfxS0Pg//AILZftYTa74xh+HOjXMn2HQQJ9T2P8k9y/8Aq0/4B/c/26/NvWL9NGs7l2f998/nzOn/AI5XT/FD4i3/AMSvGl/rWpXEl1cXk811NNv/AOPh3++9c78I/hBr37UHxc0rwloM1rY3+ob/APT7z/j30+FPneeb/rnH/B/y0r5LETniK9j+qcmwNDIcrhGf2fjNL9nj9lHxb+1n43m03QYUsbaz2T6prV/vSw0dP+m3+3/0xT53r9JPgf8AALwr+zT4I/4RvwfptrBc6hAkGta95Hl3fiSZP+e39yP+4if6urnwz+Huh/s8fDDTfBvhTfHpunv511c+c8kmsXr7POun3/xv/wCgbErtPBejJr295U/49/8AVv8A7dfTYHLoUKfPP4z8G4u4wxWbV/Z0/cpEvjW6h8JeA5od/wDBv3onmSW9fl9/wUE8bp4j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dP0HT92+SOCMK07/AN926s3ua74j5fuimsu5fmH617uFwMKC9w/nHiTjLM86nfFT9z+RfCSAcUUDpRXYfLhjNGKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoxRRQAUEcUUHpQB8t/txf8Ew/BH7ZWjX940FvoPjKSExwavDCPn9pk/5aJX4mft8f8E9PiZ+yn4rmsbrS5F0/wAxBbaraw77S4/uP/8AYV/SnjbjtXL/ABQ+Enh/41eDb3QPFGmWusaRfp5c1vMmVYV5eLyuFX34fEfonCPiJjcnao1vfo/yvp/hP5Ntb8Jalf29zC19Pvkn3wb/AO+6bNlcxrPhNbbXLl/JtfscaeS6J/yzf+4n+3X6kf8ABU7/AIIqap8AftHibwTNqmseC5A8l0H/AHl1pj+3+x/t1+dXij4cvFHefarmCBbyD/x/f8mz/wBnrxnKpRnyTP6dyXPsFmmG+s4WfunnNx4ft7FLWGaT/TLU75Ng3/8AAP8Abes3SYrOSVPPby4fndX2f+Of7ddrrGmf2NbQskySTWdlsk2f6zY/9z/Y/wBusG4trWX7JZxJdSJH++hTZ/rH/j2f7FdNOoenIzp47G+eVmuP30+zZv8Ak8ioriDTzYSzLcHfI+yOFU+5/tvU9xY25COtjcIl2/lpvf8Ajqvb/Zw00TxfvT/Ht/1b1vA09nzEMVnbyybV/wCWibHd/wDln/t0+cWL+cys3CeUnyf6z/b/ANimzXdv5Nxi3k+6ijc/8P8AtVG91Htb91N8i7H3f3Ksj3Ca5jts7fN3NHDsDIn+seoWjtxDF83zQxfPsSldo/ut5j/utm7/AGad5trFN8qyP+62f75pj5Rlvb2q27mablF4RE+/QsdrGkfzbmTqP79Oglt5pbfer7I02HYnzyUkFzHGbf5J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6/e/EV6GHy6jBXfvH5ZnniJnWZe5Uq8kP5Ye6QabpVro1jFb2sEdvbwJsSNE2Ii1cxQKK9A+Kbbd2GKKKKBBijGaKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAxiiiigAoIyKKKAIXhWaIoyhl9D3rwf9ov8A4Ju/B79pq0uF8SeDtLS9uE2G/sovst2n0kTBr3sdMUgQnrzWdSjCp8SOrC47E4WftcNNxl5M/Nv4wf8ABt98PfEFiz+D/Gni3w3qEj/6y6dL6PZ/c2fJ/Ovkz9oD/ggV8ZPhbdTXXhm+bxxpdnBvRoGSO4/3PJf55Hr911bJ60rD2/WuCpldGXwn2mW+Jee4R+9U51/e1P5cvi9+xB8TfhHp0N54k8OeJtB0+3kePfqOkPDbyb/7715lb/DTWIvsbxXME6W7v5Gx/wDj4T+5/wDZ1/Wfq2iWmvWbW93bw3EEgw8ciblevE/HX/BNL4F/EPVLy/1b4Y+Fpr7UB/pFxFaCGST/AL4xXJUyqt9iZ99lvjRTX+/Yf/wA/mB1P4S6ppcFwlvcQfY/vwf89Ld//Z6qeI/AetX9+95ceTmSFEulmk/1b/wP/wDYV/QT8av+DfL4L/ESzvptBbWvC1/cJiARz/aLS3/7Yv8A/F185/EX/g2r1jTLGZvDfi7S9aMkiTPbahC1r5sg/jd8yGuOWHxkfsn2GB8TsgxGk5cn+M/G24+GupeR53k7/saeTMjp9/8A23qnaeAL/UI/3sMcf2ff5Lumz5P9v/YSv0c+M/8AwQy+NngPT/tkfg661e3g/dzDSdUS5uLlN/8AcNeL61/wTL+NOkTw7vhv8VbWaNP3OzRnn8tP7n+3/wBtKn2lSPxo+qwvEeU14c9GtD/wM+RYPCsltaMjedHDcP8AabX5P3kj/wAFNn0SFxd+Yqus6IPkP/Lz/f8A9zrXuHxD/ZD8QfDu7SHWtH8YaXcST70s7/T3hkjf+/8A7lc3rHwgs7WO8eVNVjmk2JOiWTx+ZvpfXInsU8RRmueDX3nmWqWURuLiVfM/dw7HjeT95Iif36LC1t7a7i+aPzre23pvf/WJXqOl/AdNQuN8Vn4gurzZ/wAtoH/0xNn3Klk+EFtFKiRaJqU6Rz/J8n/Hw/8At0/rkS4VId0eUWj/ALi08ryIUm3pbO//ACy/+zqvGrXVlb+X5eyN/nif7/8Atv8A7le3aP8AAK8utQTd4S1Wea8++mz/ANkqxF+zx4kupJHtfBN9PDbv5F19/wC5/t/3P3lL6/RH9box6o8VGn3F+bv50mljfekL/J9sT+Cox9pMe+PzJGuP+PVNn+s2fwP/ALFfQml/sl/ELxHrH2PS/BMl1eb/APj2ttLnnkuIf9z+CvUvBP8AwSj/AGgPGuqeTZ/DnWrCa8TEc1zo3kR/8Dd/kRKf1mM/gOTEZxgKS/fVlD/t+J8Umwe/kf7LDJIsn75Hf+//ABo9Wo9G1LVBHttL7/SIdkLvH/H/AB/8A/26/Sqx/wCDd39oRlWVF8N2qvIk3k/2jFH5bhP49kf+r/2K9I+Fv/Bth8TfE+mtL4s8eaZ4bmkmd5IYI/tsj/8AA08tNn+xW3NXl8EDyK/HmRUvfni4/wDgV/8A0k/JJPDupXe2SDTZ5FvPkgRP+Wbp/wCyV0Mnwv1u6kRLqwtbGGP5Hfz/AC/n/v8A/wBhX7kfDX/g2v8AA2lLNN4r8feLNUvpOP8AiWbbKFF+jeZ83vXq3gL/AIIEfAHwVeQ3Ull4m1uaMZkGpaoZI7j/AH12ir9jjJbxPm8V4uZBS0pynP8A7d//AGT8CLf4N6rrMfk/JHJcOifY4f3lxJ/t19A/Bv8A4JMfGf4x6nb/ANn+C/FUcOoPs86aD7DawR7Pkfzpq/oJ+Fv7JPw1+Cox4U8D+G9BYDb5lrZosh/4H979a9JWAKoC/KPatYZPKX8aZ8PmXjXVbtl+Ht/j/wAv+Cfi/wDDL/g228XeJtTt/wDhM/EGk6XY3DpJqEdtL9pnl/E8V91fBf8A4Irfs8/CHw7DazeAdL8SXcY+e91eP7RJJ9f4f0r62C7/AL3NAGwcD867aGWUYLX3j89zbxAzzMPdqVuSPaHumB4J+HGh/DzQ7fTtB0fT9IsbWJYYILO3SGONE6L8tdB0UUuc9qOCtegoqK0PkKlSc5c03ccORRiiimQGM0dKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKADGKKKKACiiigAoxmiigAooooACM03y1/ur+VOooAzb3w5YasV+1WVrcbfu+dCj1Xk8B6LK+5tI0tm9fsqf4VtUVl7OBqq1RaKTMeLwRpNsirHpenqsf3Qtsgx+lQj4eaIOmi6V/4Bp/hW9n2oz7UezgP6xV/mf3mbB4Y062H7qws0/wB2BR/Snr4fs13bbO1G7737lfnq/RR7OHYXtqndlddPhibcsUat6qlThFH8I/KlorSyM3JvcKMUUUxBiiiigAxRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9k=\"\r\n\r\nconst cap4 = \" data:image/jpeg;base64,/9j/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAZABkADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD6pooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACgkAcnFZGqautu5ig+aTufSsGW+knbLuzeuTwKAOte9tkzumQY681X/ti0/vN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kROTsZvc8CoXCqCBmRz1UdKuPEW6s7/pTDDxxhAevrTAqHONpbC9Aq/55oDkADsecCptuzkriPuT/Sk8sAnbgg859aAKE8r286SqhZGbEmBzz0Na8fz8Nzj8xVaSIOMYJ9D6UzSXkjd4Lgkspyrk9famBbaHna3U9DjrTRCUHQFe4ParwXAw4696CAQcjOBSAijGz5G+4as208kb7ckHsynmq6rn90c5H3T7VIQ20E43CkBrwa1cr8gnLY6bl5rQs9fYpiePeQcZU4zXMSMBhgvPXPpTJWBKyKoNAHdR6zaN1Z1+q1dhninXdC6uPY152JWjk3b8oexPAqyl5LbvmI7VPU5xQB39Fclaa9PC3lupcHoWOa07bXoSSLkCM54xzQBtUVFb3MVwu6JwwqWgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiqd/qMFkmZG3MTgKvJoAuVSutUtbZtskoL+g5rnNU1mW5ACHy4x1A71Q8qadwyjA6lmp2A0r7XJ5JWET+VH245rJUTTSFkBbcPvGrsdpHHzJ+8b/a6VOWC/KPwApAVI7EAgysc+gNWkVFHygDFBJxyM/SgLuA44/WgBTk4NOCk9+KUKByeKRpFGcdKAHYA69aY0mOmTjrUTyZHPGRTPoSvrzQA95WUdcH25pjSZwCRk/rTX3cdwKjyB1xnvwaAHlxwMqT6nilz6YP0xUbMCDjOfQHFIXPJw2Bx60APPsDj6U3ccdev1FRkg8ZX8QRRk5PY+zUAP3NuwPu/Wly3fn/gPWmfMeu78gcUqg54XH/AaAFKkfeH86coYdMnHqaVQSPTn16U7byeelACfXnP604AADI/Gk4GR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QAmeaUdaQ54pT6mgAHBp6t6Uz6UpoAmByOnFSYHUcVXBqRXz1PSkBahuJYHDRSNx2PSte119CALqNlb1HOawgw4wKcV3dfyoA7GC7gnGY5FPsanrhwzKOmcdOau2urTw4AJI/uv3/GgDq6KyrbWoX4nUxt69Qa1EdXUMhBB7igBaKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKo6hqUVnGTkO/TaDWFdahdX6qEPlJnkKev40Aa+p6vHaEJHh5D+QrAuDc3svmSOQhHGf8KkjhRDuPzOP0pzNzzQA1IoozkDn1NK7nsR+NMLgHHBphf5un+FADmb/AOuKTOe9MHztxj2qZY/7+MnsKAGKjE8EVLhUzxub0zUfnrsyvKmoGkyWPAx+NAEzOzHgj0+lQsx6HJ/pUTPkHcQfXg00uMYyh/woAkZiRyGPrwOajYgA9BjrletM78AY7bTQcjoGAHPrTAGww4VT64OKTPswP6UHbjkqeP4hS444/wDHWoAbnPUr+PFGCf4D+BqQKe4Y/UA0oQf3c/VaAI1DFeGfHXnmnhGwc9Cf7vSpghzlsflT1UZyNvuSKQEKpnPAOP8AZ/WpFjJ+6R78U8kAjbyR29KdnpufAoAaAOeMnuacxAByQBjJFRmU4+RQFHVm4FQMwZRnlc/fk4H4DvQBK83yHyR8pH3m6VEVZgfMclT3fhfwHf8AGjr8w5I/jft9BTd/OUy5H8b/ANKAHbctubjHAZz/ACFAGRkKz+rSdvoKYxAyT87dDTWYsuZWI9AP6UwHu6sfmJdgex4pC7pkEBR6CkOeowF9abnLZAJf17UAOTKgbF59TRkbsZLHPrjNIx28ud3sKFGR1AU9xQApJ/iIX2FIpP8ACAB6ntS9Pu4PHJNBIyC5yRxgUABK55y7d6UHA5O0enekGcf3V9R2oXH8ILH1NADlX5QUXjuTS4BbnLH9KQ9gzZPoKXLBeflHcd8UgDJAAJC+w604EY+VAB1y1NQZOUXb2y1GQeuXP6UAOUqzYyWPv0pxcgYLD6LTOnDN0/hFOG4HICoPU9aAFXjJUBR/ebrSAcggGTHc8CkBBzsBbPdvSkkIJwW3H0UcUAOZugJJH91elKCE5ACfXqaaWIUbjsU9h1pATnIXDer80APxu/hL+jMeKUuem4n/AGUFRgqe7SfoKXcRncQnbA60APJ4yQAPVjShxjgsfZRUYx1Vckf3qCxJ+aTp2XtQBIR/eUAf7RqNiM/K2D7Cneu0Ae5pC3YnPsBQBFyoIbd5Xc9NtQSxoVOQmffnNTuu4Y2Fs8Zc8UyM/KIwwDIvIHOfpQBkIzWl0UY/uHORtXAU1t27BkCPyOx9KqXUKzIVYSN684qHS5GCtbyEebH2znK+9PcDVxg4bhuo56imghfv8If/AB0+tAfcpGQSOme9NLbuSACPvCkBKjBh0J/rTZBhfpTYyMMAPmHIPqKmzuUE0wICOhxwaQ9eBT3GVI9KjPQHFACY9aM9qU9QcnmkI+agAPTil7c0mKO1AA3bHApwOD600nigHPIFAEoapQ+ORVcdqep9+aALAbJ6ZpGTcD7dqYGPB4NPyM5NIBASBxmrFrfTQj91IR6ioM5qORAw9D60AdRp2rxT4SYhJOx7GtUHIyORXnhLhgMZHUGr9jq09qV2sTEf4W6ZoA7SiqFlqttd4CvtfurcVfoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoorN1HV4bN9mDI/oOgoAvTzRwIXlYKo9awLvWZbjdHapsU8bs81Rlae+uDPK7Kh4A7Y9qlRVjXCDHqe5oAgitgoJm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nPPOMZoVThlOMdcEdaQBEV82RD0YbgT39auQnK88dqy5SUQMSdyNjA5/lV62dXUMuRkelAFrjHoKjYHBxT855NH40ARPwQe1NI+fA4p7j5T7cimvwykUAMHORSdjjFOIG856GmjgkdKAEPTrSAcAA0oHBzQTxTAOAaXvmmnoDTuvNAAO/NPU/Smd/elHrSAlU9aCcgEdqarYOOeaeOQRQAY+fnvSditKB09uKMDfigBD0BoxhjmgDKkHtS9dpzzQBFNGsi9KpurxyZOChGMd60ODuBpkih1xQBVRvlwOVrY0nWZLHakrNLbHjnkrWNJGY5BjAz+tJG4wQAOD07UAekW1zDcx74HV19u1TV53Y3sunzLJC37tuo/xruNM1CK/gDxnDj7ynqKQFyiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoorM1e/NuBBBzO4/75HrQBBrF8XLWluTno7Dt7VmqqxIFHFKqhFPPJ6n1qJ3574FAAxz0pAcHJpAT3ppbjjn3FADyc9P/AK9MJAP9aaPX9adnHXH1FABn1P400nnIxn1pSccUw+n5g0ABOAB69ulIQDx2H6fgKQkY68H17UhI/vcevT9KYCj5c4O0+mcZpNmDjb7460btg4PJ/AUwsRnPCjrk4H+JpASDjAC4J7DmkaXkqBv7H0H+NQ7t2Q27kZI6Go3mCcHGF6qBlvwoAsNJhQcbsdwKp3FwVbG0Fh93DE/mPWq9zKWKrDvkkY4Uhv0qWNfIzgqZTycdEHfHqfemA1LfDLJcAjGSIl6t7H0HtSzN8uX6KPlROAP8mm7iHXqSTzJt59cfyqMMUxjG8ZHUjd370AOkYgBi3zDlQCDu7Um7a2SpBUZC46Z6UqYVPMdcjAypwSW9BUZJ3s8pHPzDggL2FAAAd+6RuDnA5B9eamTJbdn6YNCRk5ZuH/2SfpUoXIB7E9x0oAUK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7AU54z7etW349CT+VQSsMjdyeo4oAiPI2oMAY+Zvpj8ahmQNGVTqTyT9fWnIpLRlwQF547Y560sm5oyR8oxnP0oAXSWP2donYuUbJYVbAyrAkHBOf8Ky9IYLfXMYzhlBzngkVqgje43HOPypsCMgG3IIOB6HNJu+dTyA4xz6j6UsQ4kUnP8AtetQTCQW7fZ408wNgK7YHXuR0pAaUJyuOMHmpx2JNUrdjtUEHcvynB71c6rjr9KAF6n6Un1p3HB68Un0oAaRg/WoyMqRjp6CpTyKaVO4+9AEbAbRTW+8DTyMr0yR60xslRx/WgBOjH096AeuP5UH7wpejfXtTAbkHHFO7cU0Ac5xSrnaQeRQA4nAzR/nikHTPFHbIoAcPvZ71Jxk+9RcZ5pwbnIyaQCk/LgdRQow2QPvDrSgcnPU0Y4B9PSgBv8ACaXP3emaMYY0h+7QAvcg/wAqTsOelGRkUnXINAA3JIqnNBhfl6ZzV3uvvTWHBB6UAUyA6sjHnvUun3MllcAox45WmSx7WDKMn1qNXVgu4YOfyNAHoWk6lHfwgggSAcrV+vN7W6ks5g6Ng9T6V3Gk6lHfRDBAkA5FIDQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKwNUu2uZzChIgQ8kfxH/AAq7rVy8cYhhbEknU+grGOEQY/KgBJGxwOtQMc45INKzZppz3oATPYUn06e9B4/wpucjqaYC/wAXB/CkOOSPrigYAOOn60n+QaAFzkcnikPXNJnnI49qOecUAJzgdjTScH605u+P/wBVQSN/CvXptPegBJWyOSOO/wDDUTDdMvHyKfk4/WnhtzEBlCDuRwT7UxjhT1TPXJ5NACOxHCkIT6nOfWqk03liQ5baMdeNv09KfOwWN8cY6g8kY9Khgi8yT7RO3yKMqh5z6E+9MB9tbkb5ZvllK8Dnag9h2PrUhlGT5QXGQxXOCPenSMTJjou4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srOQVOPvM3Gf6cUgExvlOQuMj7p754NKjB2kkyrHA5Qc/wCetJENoY/IhZiTt5AwOv8AWnRkiBdxbLc5UYwfp6UAXIcFMgk57mpRnb3+tNThR16fjTu/U0ABGRg5/ClI56H60Z5ox1/nQAlHqePqKXtzilzgf1AoAbjg/wCFB7cnFKRz3pO/TFAAAM54xSYwpI24+maUHGe1GeMZx+FACNnH/wBagAlzjOffilxyOtIR/kmgBvIAx1BpG/iHHtzTscDp+VHVjg/pQA0cbevpgUnABzjOehNO7D/P6U0ryTnPpigBf4hyenajBIzg8GlHOOtJxx060AJ69PzpCBntTu3HX6Unr9PSgBB1P9BR+VL0HOTQvTigA78dPrS+vX86Q/rRQAvp/jSHp2/Ojr2H5UdQM0AJ35pcf5xRjB75pe1ADaKKDQAnamnpTulIaAKUhAJ6VLbyFJVZTgg5BplwPm74IpqcEc0AelWcwuLaOVejrmpqxvCtwJdO8r+KIkfhWzSAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKrajL5Vo57kYFWaztcP+ir7tQBgP6Hmomp8hzxTPemAE/wCfWo3xjrgevpTz3AqMkg9fxoAyvE939g8O6tdBGcxWshCKM5JGP618aahLiQhtnBx8g6+vNfU/xm1CKx8AahG8qI90VhRWbG7nJx68DNfJ91uEjnCgZwdmSPrQwKxO5sg5HXgYxVe44PY/SrTKSwO2Qj3HFVJx8556+ppAe6/s3RS/2ZqzugW2My4OeWbGCMegFch8ao5V+Imrlk8vf5bjaw5UoOTjucZx19q7L9nEu2m6jvmEirKqxQqBlWIOSfrxXn/xbuhe/ELXmjk81FuDGGAwPlAXt9CPWn0A42M7WyN6getNXLFsgnb8xIqSMHazBh096hBPmfICzZG0DnJzwPfmkB9YfB/S5NJ8C6dDcNKt1OhuZVk/5Zq33V9uMfnXa3DDyJXG4KFblenWs3wtBc22g2Fveyl7xYEM7MP4sAkf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MsWYDODSjkljkUgBRxlsE444pvJJZgwxk9aX77AnBX/69IdzHAyAO/40AHD7jwVyaH6lQCBycihiThVwT3zSMQgKjPPf60ADttARGBYHPNNO2EE45PBxz7U7BUc4LdqZnbiRgwPcetAEeNvzMQz4+XIwev8A9amryIZHBVcBmDDPU/8A1qRx5iln2so5Xsc4pX3m4AVigQAEEZBGKQDdpmdQyo0QAIYMc9aCxeQJGzx7cZyOMc0jYZfLjXKY5KHGOKdM23MUb7ZDyCwzkYFMCC5HmxskYQrs+bBwc1cs0UWkSoMoF7nsDzWfft5ULrGgaRyd23g/54rSB8q2jLFUfaMn270ARAlpWAlwAMYUdMcjmkLtud8OoHOGxg/T2NBLBMHe+4c7Rg4FMkTIjiVVYkjIc+/P6UASEhHLMdqqBk5/ixUsHCgsF3E9UFRSMGlODjd1G3IP+RVqJf8Aez7dKQEyngZp/X3poHOSKXP0oADS+1Hb6cZoHr+tMA70CkP60ADHekAevNLxjNH5YoP6UAIceuaTv1JHpS9z1pe2euaAE7HP50EcCjPQUo60wE79enejtRnvQewpANxjilozRjoPWgAxSDvzS0duKAEx0pO5pw79KQ9OlADQDxgj8qTn3p3X1+tIR16/jQA1fenfU/pTR608ZOOtADeOtFL19cUZ5PJoAb9aDSn8aOooAb270Cj86WgBO2eaQjjkml7UmB7UANqKZcge3pU2PTFNIzwcmgCrHkn2rsvCbg20y553A/pXHKMcGul8JuBcup7x8fnSGdTRRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigChrMmy0x/eOK51utbGuSZkSMdFGTWM1ACHvTOvPTtzTuuKac49f60wGE88/WvnD9pHWGufFFtpaFfJsIBuIH/LR/mIJ+mK+i7maO2tpp52CwxRtIzMcABQScn8P1r4p8Z69deItfu9UvNizXT+YVQYUDoAPYADrQBkRctnJYenaqd23JxwAeBVpMCFiQDjHHQGqTZZ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ygxxsQ+c5ZcjpigBloCdQhihjHkrkttPt/8AXrRncqDhZGyO3aq+nRKglkwvdQenNS43EllKkf7XFAEbBooSoDufducdc03asX7xVBkwU5OOvPWhjukDyIoTIGd3YilHIh3hSFyx4zweB+lADowFXy1Chj19+9Wx8q44Bz6VBbf3i4YY7LjpxU0Zzzu/KgB+SAOf0pRhQO5+lIMk5570Dk55waAHcgeuaXoOOe9N5LZOaKAHdsD9TR37cdBTR0zwaXnHYigBQRR2o7YH8qXjOecUAL7UdiaTjBPelz+lIBMdvzoJxz+AoJ46cmk7/SmAvHSkJ5J70c4+tKMZz2FACY5Ao7e9GOlHc8UAHejPGe9Geg7mg8njOBzQAdKKBwe3HrR2pAIPzoHegjjvQRgY/WgAHSj6nGaCOg60MMnA6Z6UAAz34zSgd/1pD7frS5oAaTxTSc/SnH8aSgAz6YpCRxjrR+Jo+maAA00ine4puOtADaaen4048ZwRSegoAQ9+fak/wpf60H8etACUrDiilI4NAE1jxNGR/eH8672vPrclXDZ6Gu/icSRI46MAaQx1FFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACkc7UY+gzS1X1BgtnLk9RgUAc5K2WJPJNRAc09uSaQUAcL8bb8WHwy1j7+bkJagr23tzn8Afzr48J2ykEHGe/WvrL9odtnwznbaWVb2Atg4wMmvk2YFZSBnrxxjIoAsRoT84AGMZAFV7nGe4zzjrVrOy1XaWD9Ovb0xVH5mbjlicAD1oA9g/Z38Mtda5Jr06IYLVWjtjnnzuMnHspP519HquFC9h2PeuP+F3hweG/CdnaqT5kiiWTJ4LsMt9PT8K7LbjAA4Xse9NAAzkLnk8kNzikyFG4Hao4CnoacOuM/MecMc0w4zjGI1HAYZB60wMLxvq8nh3whq+qRR7rqCBmRc5G4naD9Oc18ZOxycne2ckH1/H+lfT37QOrjT/h3LBz5upXCQKAcgIvzsf0Ar5gSItztLLjkjrSYEisgzuQ9MDPJB/n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FDfO5VwR0BPWgAUFF25cnOSxHNKcqpyWYkEYpFBZnZg6jnjPFCgyS7mV1GfXg0AAysWfnLHI56ilQFUz+8JzkZ75FNA3soIYAY5z+FK2XYZVwBjkHFAAmdhcCQ5HQn2pyjgthjjnDH2ppJLZKkKMc7sZxTio+UMBheclu1AABjsvJxgnPBoXkgA529QBQCCxIK8cZAz9KUdMvuPueKAF/H9M05ff8zTQScYJPf0pVPAAAB9KAHFuPTPTA70jHPUH1FIX3D5WJHpim55JAbPoaAFOOBg+xzTX54xlfr0pA3yg4wewJpikKCzBVY+/4UAPYgkoMEZPFNdtzBVZR7UwHYhLFRxwQPekVwFYllJHGQOnegCQncwVWx7Y/OkZsuQGx7YpiN8hfJYdOB0oQkIWyzE5wDQArHLhSG44JFLJlnAK5A7g1HHkKXw+c4wxpUG35iNre54I7igB7nLbBtIBwMmmySDKhZAnfAGaRQsa7m2Djgj2pEPysfMUg8DavTPQ0APY5dU3OCO/rQ24kKEY4Bwc4GQaSPkM4ZznseOtEeBubYVY8jJ69jQArYaUABGAHBJ54pQQzcbSF5HtUcYROQqRu53dc84xT8sFJLAE91XvQApJOfmb2IGKApyBg4HPJpGXLKMvjOeOlBGQeBz6mgAC8DgYJz1oYZzgLnOOtKeMnjgUg4PLLgD0oAXg5Py8cUo4bGegx0pAcY+YDucClBxznnr0oAX8TjpQB35555oHTq1L+HA9aQBj8acOlN9sCnUAKK19Cj338f8AsgtWUnPrW54djJunf+FVx+dJjR0NFFFAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiimSyLEu5zgUAPJAGScCs67vv4YT+NQ3l4ZTtXhf51RJyetADmbPJOaYT2FBPHFNYmgBGPPNNJoJ7ntSd+aAEPvScdT+dKxx7GmkY5PX3NACgYyc036daDzyBx2pevTtQA09uaMnofyxQTx7/maQ4wc9BTATjHQ8f5603HqOfanbuMj060hxjHfvQBCybgepzzUMkILeh/WrRx3/ACppx+uKdwKsEk8IVZn8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5sDPy5+v/wBenDPO1OoGPpSARS2RhT1wcfzp4V+gHT5SP8KegdmwAeDmtO10qZ8GVgi+3U0AUILeWVgqAlj6fzrYtNKUDdcfMf7o6VftreO3Tag+p9amoARFVFCqAAOwpaKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBskaSDDqGHuKoXGlxuMwnYcdO1aNFAHMy2k0KHejDnBPaq7L1Vf1rriAQQRkGs660xH3NCdrHt2oA5xlPIXk5701lADDG72NXJYHhbaykN3NQuuCABz6/jTAr4z97JGOQOopByBtHI7nqKlK7eW65PIppU4IPHuO9ADMkD5nxjpjp70YVmwqnOOh6fWgcEhRtYjPPQ+1BPAy3Ucgf0oAcODn5UBHJ7gU0twC7457DjFNyvBCscHr/SnfN8wG1e596AEwOQFZu/PUD2p4BGSwVd3P4elNJHIZifYUAqWXIJz37E0ABySBuA45A7fSm/KRuLEgHBI9PQ0pwinEeQp3HB/lS/N8xO0cZ9qAGkAbwqEnrtznH0p/zB8kKBjJbuKTv8zZ4ywpuVBTJZjnqOhPvQA7kKuXGSfwIpp2/NhXbn8VFKFOMbBwckE96HJwdzgKOcjk5oAfuYPlQAWHUjr9aTdvIBIjOMkA8f/WpuFJG45LdfRqQkAZCs208+o/xoAdtxjeST6jpij5ckAc9cE9KG3FNi8d8j+lPKk4CHC9+xFADVOW+VcZHXHU+9A3YXAA56H+dN5wuXH0xxikO3Dct1+hUUAP3OufnA5475pSqEkDIOOB2+ophIywCksQOvTFKpY7CqkZ4BPagAyAwwvzDgZpVyAPlwBxg/zpQWUADbyeh7++aDGGLFHLDqB3WgBCDj5nHXA9zSHbu5Ykkc4/mKARyVUklcDPQ0obAQKnsOOh96ABdiukijc4G1W/pShyUO5Ohwe2aQ78DoCDjH+e9Iw+8C/A6EdqAHEN83z9OQR1BpPlzjOSR0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3LtTHPOM+lICoHCnCt09KUlyDjHHOfWgABYDhcYPP+NGGI698fXPalIJzliBjPuKTA7nORggd6AAqDkbj1yP8PpSErlhjJbnHr7ik3KAuMnHGf6UAkD7mNp/L3FADhknheo4J/rSgsTzxnOR/ntSYfnLAYOB9PSmkDn5unOB1H/1qAFxwu5+emexpAVA7kjjnqPY0HaAwxncM+31FLu7Iv3hgH19jQAA7QQqDIOcdvwo+YdD7/h/jSfOceh4P1/woxyCWHOcj196AAg4JLYxwP8AChtvzAkk9cDt7ikwoxkk/wAPuaaGAUEKeG2/T/61ADyR2GSw/P8A+vQGLfdGOMfQ+lAYgH5ehzkd/enAP24wfzH+NACAOep6jB57+tKE5UluTwfp6/WlCN/e6Hj39qekQGOT1yP60gGKijbk5xkD6elSRqvG1cntVyzsGmI2qQufvHoK27WxhtwNq5YfxGgZnWGmM2GmXanoeprZjjSNQEUAD0p1FAgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCtdWUVwp4Csf4gKxbuwngUbV3r6rXR0UAceyBME9QTzUTIx5HBHb1Heumu9NilLOmVk+vBrDuIJEk2yKQP880AUXADMFGTjO2mZJOS2Ex+Iq0VHCjk4xuNRNGcBjwR1HamBBwFXc2WPt1+v+FLlfmAUsFbJHoaXaADgZGefXNKxbPDD2PvQAo3bmwoBPOfWgEnad2B/Km4+YBmJOORjqaQbFwTuOP4vU+lAC8ZUs/Pt6UmUw4IJxyQeooHIICd8sD/AEpxLFjk4XHX0oAByeEzuHXHBpF3AJ8vGcfSjLHaCwGRyAe1Jwq5Z8kcA0AKd5H3h1wP9qg43PliV9PT3pp2fMMEkDkeg9qcCSRtXGRwT/I0AG5MptBORwfUUDOB8gwpxt9Pf6Uvz4XaAMHG3+tIQefn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wyDgY6H2owpDDJIPOO//AOqgAwoU/NwpyCe3/wBal+UMSASSM4/vUBgcYOSw69jSKwVV2rgZwePu0AGc8+oxnuPY075yeRjsR/hSfPggABgc/UetBVjklsc8ex9KADaxK5YAZ/MUihQo+Y4B6+n1p2wfNk8dT9falKqCxJzxlvf3pANOxQcjGDk+1O4zjaMZ5H+e1SKFycDn19qvW1hNMeI9idMt6UAUkDNgYzk8mtC10yeQqXGxccknmte1sY4OfvN6ntVqgZDb20UC4jXnuT1NTUUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAGyRpIpV1BHvWReaPu+aFs+qnvWzRQByVxFJCxR0Kk+oqHYdwJ+hFdfNCky7ZFBFYl/pbploiWT9RQBilVAUAcA4FMcPhsYBB/OrUgCAgL70xkLD+6D09qAKxGWIz8uOfY00bQyEnkdMfxVMUAYH+Ij8/eouAuQMgNj6fSgBMrtJC8Bsn2PtTiW3HCgEDg0hL5cDAI6HsaUj5uTwRyKYAN3cgLjnnpSH+HL4I9O49KQBcqWJP9fakUptwBkK3J9DQA4hApJzhT/3z7U7KgttX5mGcHvSEne2F7ce9KNxK9gR27UAICfkO35eg46UoDjuOD+dIN2BlhuzgY7iggfP82V7Y7fSgBWHB+b6expcDd8zAnGCPU00bdw/2hj/AHqQOu1DtO0HC+3/ANagBw2KBhjlTgH396Qsp3YXhTyO4NLyAcKCc5I9aVt/O3GcZyen0oAATkgDqM59aPmOM/KuMHsRRgk8twRyKaBypLf/AF/rQA9QQmAVXJ4x3pDj5svuX+VNO35+u08kenvTsqJOB823r6igAAG4EcnGOe9CMCvyDIU4PtQGO1TtwB2PalPmYwu0HPfvQAmXwTgZB796Uqfm3P8AL1z3BpCMbsPx0B9DSDBYjIORwBxmgB3yhlyfnx09aQFNg2jIDflSHrGAv7vqX9PanknnAGccCgAJY7tq8/zHpRyeCcq3fvSfMWweFI/I0Dou5huHWgBe5LY9x6+9HA2ksc54NMG1cE54P3jS5AUgL3yR6fSgBTt2kbeAeR6U4lskY7ZB9fak+Y7ugyM57YpBk4JOFYcg9vegBxDE8kYI59qBgMpLHPr600YypLYI/X/69AKBSQCQG5HoaAFyioDg4U/lSkt8+1QW6+xpAzfN8nvx/FSnccjp3/GgBST17Ecf59KTByMsOnzCkwS4U8sBljj5cUnyLjqQp/EUAKNi7CWJwcA/0oyAOEIGeR/hQpwDiPkHOD3pwBBbGTnkMf5UAGG+bp6g+tKckHLdR27U05zyR05HakAUFCWJK9/8aAHKuMFyN5/L/wDXQzqASSQAfyprFQMEdOTn+GlLYBwPx6igBeFLBU98Dv8A/XpdzE9MAjIPpTRuwvGFI6Z5FIdwUEkZ7j1/+tQA/B3LkjOOR2NN4wDuPHQ/40mEEfJOAc59KUldxG3JxnHr/wDXoAPkUMAvAOSKUsc8L15HvSAngAEZHB/pS5cnPXsQP6UAKCx29lIx9KQZypLDPf3puDxlhuzjI7ihtuGyeOp9qAAABeWJAORnqP8A61KxUbuM55x6/wD16QkZIAySM5P8VKGJ2kDC/qDQAu456YBHB9Pahd+R6HII9Pp7U3DjqcbeMeo9PrQQADlsHgA+ntQA4BgBlgSOP972prBQrfMcD9P/AK1IwUhwSSp6j0HrTjgPkLhsce/1oABjzCMYJHB9aA2QMLjtz1FAfhSqnHTkcj3pQJNvUAg8H1/+vQAfPjIAGD0/z3pMcY3cg4B9D6UFeGXcQP8A0H6Uny5wxyzDp/epAKQuWBOQRyo/pSZUlG6kjAagYXYcZPIBPr6H2pS5wRtzjt/eNMBA2BgJwp5H9acS/I/EH1+tBLtkL3GQexpwRif97/OaAG7Gy25jtI5/2aeIwT8xxxhv/rU5Yj8uW7YI9f8A69WbayaZgq5YdPYfWkBVCL/ET0wfpV60sXm2mOM7R/EeBWva6ZDCdzje2Mc9KvgADAGBQBTtLCKAAlQz+vpVyiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAp3thHcAkALJ6gdaxL2ymgb5xlfUdK6ekZQwIYAg9jQBxhRVC7uSp4NRspOSF5HUetdJeaUknzQAKe69jWLcwSRSGNlKn2oApPHjPPykZHsfWo9oUrnlgMD3q0Uxy7DOOcVGVX5RnocA/0oAg3AA/L0PPtS/Od4wARzz0NObdzt6g9KTbgncflx39fWgA+YnlvkI6HrRg4BLfN0P+1TccrubkDJ96AUCHOeDn6UwA7F3hiQo7elOyobgcsPzpC3L4TLY5HcigM2V4GMZz6UAAOQAEwo4+lLl/m45Dc/7VNAf5TkZBwR6/T3oKgq3zYX+HHY0APIOGy3bOfSkxnG9u3zCkG3OCcnHI9aQFNqdcZ4PvQAo2hFG4kg5BPb60Erl+Ccn5h6UbvvgISR29fpS5bPAGMfKaAHE5c4A3MOCe9CkkLgEDp9Kau447ZGCM9PpSDIAy3Q8H1HpQA75yMlgGB4x3obaA2ScY7dRTWVcNknHt2pQV3njLFenZqADK71BOXK/mPWhSuE2qSufy/+tSBgFQhcr09xTizfPxyD+YoAdlsMABnr9aDkkkkbWGc+lIwYs2WAXHFAHz5Lc45HY0AGCCpLAtjB9DS/IOW52Hr3FMJRVGckbuvXBpSxBfCZb09aAFLElwFO4DpQCSRwACOPY0gycDopGQfSlwTtJI6cjsRQAuws4ZmG0r8yY4+tDFQAWYcnGcU35cAl+hzn/GglRvwpPOSP60ALuUBsL909PSnrncWIBkxgEdMe1JkhiBjJGQaau4kZ+6Rgj0/+tQAuWYDsuOR6UYwVYsNxP4H3pMH5TuBP6MKCEww6gHJ9qAFym1hzgHp3FLnJbYoJxke/tRu5bCjcRnjvSAsVHBwRyB1H0oAcCxI5ABGT7H/Cgc43Ee/uPWmhScbiM9DjowowoB3NwD37GgAwoQEscA8HuPrSnbkjbnvj29aQsvzjHOMke3rSgktwMZHBH8qAANkjauMjIP8ASlBYheMA9QOxpo3HbxjPBH+FBHA3P0PGKAFGflJYEk4z2IpuEwcFsZzk9vrSnZhweR3H9aCfmOB8xXqe4/xoAXK7mCryRnHr/wDXpQSdvGBjGe4PpSBmIB24HQgdRSHfgZIBzjHqPagBfnxk9Rxgd6QjA5bvgH+lBA2sC3y/ypH2tkHDMw596AGrLDIZlV1kKEB0ByVOM8jtxzUgYblI5yOCf61FGkKSF40AaQ7i+OSQMZP5VJlsDAxg8j+v1oAVWYKpCkDOMf3aMPjO7BBxn1H+NDbsY3Y29Dn9PrTSoG/k7cY2jsfagBxA+fJ4POO4pML7MXGPY0DYGUjkkYB/vUBl2jCEjOCP89qAFBX5SF6cc9fxpAW4AXgHnP8AOgs+XyAMcg+opSG+bBwOoz/CaAFw/IJGQeD/AJ70bR825uPQfw/SkwORnqOQP6UgC5Rs5HQH19qAFG0FOcscge/tSKUCABTtU4NKdoXleAcfSnbjuYKuWAxj29qQCEnL4UM3B47j2p3ztnA4I+U+9KoJyFHbj/CrUNvPM+I1zkflQBXVHbOBjcPyq1bWUtw2EzjoTWpbaQAd1w5PfavStREWNQqABR2FAzPttIhj5lPmN+QrQRFRQqKFA7CnUUCCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAqOeCOcASKGx0qSigDDvdIYNvgJYdcE9KyJV8rKbeRywxzXZ1XubOG45kX5v7w60Acg2WY4GAehx39Kb5fzKfUc+9at/YSwNlfnjx1HUVmmM5Ulun60wK52hRk5UHI9qTnL8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BcvgFgAQeR/WlwwVwW5HIP8AjTME7skgfwnuKMDPzHAxyP8APegB5HJJPy4yR70mFAQM5LA9fX60gIGw5+bsf896RShDYUgA9PQ0AOLIyscZXd83sf8AGlLnLBV+bGfqPQU0u2WAX5+vs3tR8zHnhW446g+n0oAdubKEDhh+IoCnauWG4HGf71J8xwSQT0OOhFJhdhDP8pPB6YpgOOwK+4kr1+n/ANalyN2QOSO/em5G44BJI6HuPWgP8qbBlRwD6H3pAKrjaCq/KOMY6H3pcyYIAAYcgnoaTLdhyOT6H3oIbqT8pGfp70wFIOTub5SOf9mgD5wcndjnHekAG5ctlsc+/wD9emrsCLwdoP8A3z7UAOV02AgfKGx9PanEsQwA5HP+9TSzZbAGevs1GGYnJwpGc+hoAc2SD8xAxkH0NBxvIJzx8y/5703byp3YOOQeh+tJhNq9QEPB/u0AOBQLH3xwD/SjcdrBV+Zeo9aQtgsoTkc49fpTjubOMYI4P9PpQAMGYtzhdvX0oA5UlsMRz6f/AK6MHIJPJHI/rSbV2qST8pyD6UAKNgC9cKcfT2oY8PheR1H+FKcLvCj5uuP60A+3GMA+nt9aQCneR8gA4G3/AApeScnoeo/rQAx5K+zCnbG4yRkHgeo9KAGBMBctyD8pPenBUUOcHBPQ9veneUo+UtkE5A96kSME8Bm7HAzn60AR8KxxjOOP8+tPXqAq8AcVettNuJgMQ7V65kNa1rpMceDM28+gGBQMwYYZpCBGh+b0HOfWtaz0dvvXLY4wFU1soiooCKAB6U6gCvBZQQY2RjOMZPJqxRRQIKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi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AFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAf/Z\"\r\n\r\nconst cap5 = \" data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAZABkADASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACim76yfFPjXSPBdnHcaxqun6RbSPsSa8uUgSR/7uXoA1dho2GuKl/aV+HMT7X8feC42zt+bW7br/33Trf9o74e3O3yvHngyTd/c1q2P/s9PlkK521FchpHx48C+JG8vT/GnhS9b7u221eCQ/8Ajr11u+kO46iijNABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFGaKACiiigBmw09elQ3F1HaQNLI6RpGPndu1ee+P/ANrP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9P8Ann/t108cXlbLzZ5kNx9+FP8A0On/ANgwy3E0Ozy3+/A7/wDLSgDkv7Ghi0+a2ZJIXt/nqm9q914fhmV453t/4P8AV13P2BL+SG8ieSOH7jpWbceHJrWS8SL9+lx+/SgDH1C2SW4s7lUjkTf86I/mR1Dp91bWt55P2ySP5NmybfVySwSXw/MjQwQRxyfJ/wBM/wC5UNx5MtnDebLWR4/nfZ/q6ADT4rmX7Yi+Z9/eiI/l+XVnS/Ft5/wj/wAr/wDHu+z5H8umealrqHksk8f2z7jo/wDHTLP7f5dyn2+OR/7jp5n/AH3QBvW/xGvLWO2mim8tI/nR/wDVyV9CfAf/AIKu/Gn9n64hh8L/ABI8W6clv9+2mvXurT/vzNvSvlf7V9q0ffdJ8/3H2f6un3ms20scLrdSf7bvB5fmJRZMD9ePgD/wdR/Erw74hWy8d+GfC3izTUTe8lnDJpV5s/3/AJ4P/HK/QL9lH/g4G/Z6/aavbXSbvXL7wJrjx4e38QIsFvv/ALiXKkxn6nZX8x1ndTR6oj29zBIkn9x6uaHrz2F5Nuhjj8z++lc08HTlsbwrzif2W+CPif4f+JFi914e1zR9eto22PLp17HdRofqhIrogc1/HH8Ef2kPF/7PfiKTWvBfiPUPDurwv5ZuNLvXtXP/AHxX3J+zF/wcr/tAfA3w79i8SSaH8UbfOUk1+NrW8T/cmh2b0/66R1yVMC/sG9PFfzn9HFNbg1+bv7Hv/ByJ8Fvi98PdNb4nXy/DfxjJci0urM2093Yyc/LOkyJ8kZ/6afc71+hvhXxVpnjfQLfVNH1Cz1TT7tN8N1bTLNFIvs68VxSozh8Z1RqRlsa9FFGag0CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi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B108X/Of07DbTq+S/wBgn/grz8KP2+799D8Oz6poHi63g86bQdYRIbj/AG/JdHKTonQlK+sk5WvNlTlD4juhUUth1FGaKksKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooACcV5h+1F+1T4T/ZH+FN54s8WXYhtYRstrZDm41CbnEMKd3NJ+1X+1d4M/Y5+Et54w8b6mljp8H7uCJPnuL+b+CGFOrua/ns/4KG/8FB/GX7anxSl8QX00lrZh3g0jSvO/caHa/wB//bkk/v11YXC85y1q/IUv+CgP/BQHxT+1f8ZtS1rU7lftciSJpdmsn+j6Ha/wIn+3/ff+N6+a7e1SJ5rnfdT3l5/r7mb95JI/9yjzYbWT7/mPJ87u/wDy0rH8QeI7mKNkZ/LS4TY//PO4/wBj/cr2krKyPNLmqX72tum14ZEk+58/7yub1WW8urhJovMSaT7ju/8Aq6rXGs/3kgtU/ub/AC45P9x6yri/S6jR4knk8v5N6J5kcf8A33QBZuNUk/tDZLf/ADyfwI6eZJ/t1TvJU/5d0nkhj+/MkEEnmUR2s0vzxTR7N/yeT5EccdPt9Ltru4f99ayTSfOibIPLkf8Av0AV49nlu9w8EkP33me1eD/ge+oI9kkm/wA66nSP/lj56Tx/7D1vR6ND5m/dPJNH9/YjwR7/APvurNxLp9hGjy3MezZs++n7v/7CgDno9BSWRHt7O3tf9+B45N//AACrNt4S835JY7jZ/GjzpJ5n/ffz1f8A+Ezs7W3+VPPTZ8jo6fvKoR/EG88RyvbaSnmfJ8/nIn7v/vigC5b+A4br/j6sJEj2b3f7L5fmf+P0/wCwaVYP81zB/wCBX+r/AOAVQeLUte+fUppI32b0+zTvJ5f+/wD8s6v/AGW2i8mZoYL68jT79zB9qk/3P4ESgB9vfzXU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/qv9+gBM/ut9L/sU2igB3/LSm07/AGKbQAUv+q+f+OSl/wBuj/boATyvKjp8n9ymR/6ze336fGfK+f8Aj/36ACSL95so/wBbJRF/wOjpH/tyUAN/5Z0n+q2pT/L+4lEcv7x6ALPm+b8n+s8yeq3/AC0mepo/9Wn+s/jeq3/LNP8AppQASfuoPl+/S/8ALSnScXGz/nnTf770AOt5f9Id6Z/qYP8ArpR/y7/9NJKf5X+kojUAPj/4+P8ArmlEkX7uHb9+R6X/AFUcz06P/WWyN9z79AEMn+rmZf8AlpJR5X71E/5508/vY0/vyPRJ/rJn3/6v5EoAZHzvm/55/IlPki/d2qK/+s+emeV+7RKfHL/pDv8A886ACSVP9PmXzP3abE/5aVds+DZpF/v/AH6z5JXis0hX/l4ffVy3uk825/1cn2dHRKAGaxsl+x3i+ZH5nyf9NK6T4Z3/AJu+2bzI3kd0/wCmklYUkX/Er+x/887XfUHg/VJrCSGRfMj/AH6fP/7JQB/Vn/wQ0/a4b9qz9gTww18zSa94JUeHtRbfv8zyF/cyf8DgKGvsvHNfiz/waofFaPT/ABX8VvBM13Cv9oWen63ZW7n942zzIJyn/fcNftKzc14OKp8tSx62HleA6iiisTYKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA8d/bh+McnwX/Zs12+s3vv7Y1gpoWkGyg86f7beuIIXRP49hffj/pnXzD4b8EaV8KvDeieD/DieXo/hu1SytU/1kkiJ9+f/fkk3v8A78levfte+MLm4+Mem2bRyf2P4T077cmx3/0jULrzIE/78QI7/wDbevM/Adrc3WvveKkEltG/3/P8jy3/AN9P46AD48XSeEvh49h+8+xyWv7+5hT/AI9/7jv/AH/nr8Uv+CmnxfudZ8YW2iaf4kk1LTbj9/dWcL/6PZv9zen+dlfoX+2n+0tYeA7y/umvJNNuY7J53hd3kjkdN/yPX4sfFzx4/wAS/HGq6reJYwPeP5919m/d+Z/c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gBnzy71/ef30+T93JT7iK5+f55P79PjtXl2fP5aSJ8/z/wCrpn2VP3O6by3kT5/+mdAB9gfy5tzeWlv/ALf8f9yiS1hijdfOjk8zZ9z/AJZvTIIkl3pv/g/uf6yj9zFE/wDrN+z+D/lpQA//AEbzJt3mf5/jplwE3zbYfL/4H/BU3nJFu2p5jyJ8jv8A8tEpkczyxvtSP94mxH/9koAfJdTfvv8ARo/ufJs/uVN9lubqSFP9Z9oTfBsT93JUMcU13/qk2faPk/657P4Km865utjt5+y4TyP8/wCxQASWt55W/wAySPzE3pvpkls8scyt5m+T50d3/eRvT47CaWTZO3+s+++//wAfqaLSnl/1rx75IP3/AP0zT+//AL9ABJoyRSTP9pj/AHcH7/Z/yzqa30tJY97TeY/kfPsT/Wf3P+AVZ0rw55om81/9XBsn2fu/MrofC/w+/t68trOz+3X15J+4SGzgeeST/cRKAMvT9Gtr/wA598m7z0RE/wCm2z79fRH7EH/BNTxx+3f8Q00fwT4bvtRto50/tDW7mPyNJ0tP43eb/np/sR/vK+6P+CXX/BuBqXxd03T/ABx8YY9V8GeHLhI5rLQP9Xq+qf8ATS5/59kf/nn/AKz/AHK/bT4Q/Bfwz8Bfh3pvhTwjodhoOg6Snl2tlaQ+XHGP6t/tVx18XCH8M6qOF5tWfOH7Cf8AwRn+Cv7DEWkappfhex13x1p8CLJ4kvo/MuBN/G8Kfch+qfN719e7MCgYNOryZVJT1kd8IKOwYoooqSwooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKADFFFFAFHUNLt9YsZre5ghmt502PFLHvjdP7rKeK+cfib/wR9/Zu+KeptqGqfCPwvDelNnm6aj6d/wCOQOifpX00F5p1VGpOHwkSpxlufm78VP8Ag2f+CPjHXILnw/4i8feDrNEYSWdnfJdRyZ/250d0/A1yc3/BrV8OjOv2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/wC5/j3v89AB/f8Akj+/RJK8txvZY/v/AD0/zZvnj8mP7n9z+Cn3H2m6nmf+P/X0AEf2nzPO/eb45tn/AH3TJI3+5/rPL+Tfv/1iUSRPHG+15Pv/ACfP/HTJLVPLd98cf7z5KAHx2qRR7Gmj+/8AI9H7mKNvnkjff8iUXJhluJvn+T/Y/d0+TZ9nufkkkf5H/wDs6AGSeTDvdof9W/zpvp8mzzPmtoP3c/z/AD/5+Sn/APLSZ1hj/wBR8n+5/wDF0/7V87+VDHJ9zZ8n+sRP4KADzX+f5Pn8/fO+z+D+/U1vdPFInmpJH5m9J32f3/46fZy3Oy6dUuJP40f/AGE+/Wrpdhf6hqkKW9tPOsb+fvdP7/3P+B0AZVnFc3975LeZHNseCf5PL8t/4K6fwX8OfFXjfULaw0uwurq/1D/QrWGGDzLi4md/kRE/j8yvqj/gnx/wSJ+L37fWofbvD+m2ukeF1ukhv9f1H5LWB/8Alps/jmfkfInHNfuZ/wAE5v8Agiz8Nf8Agn7LDrm668aePpIESTW9SVPLsyPvfY4R/qAfq7/7dc1fEU4bHRChOW5+af8AwT0/4NsviF8atQh174yXF98OfCtvMkn9lIif2tqnyfP/ANeqf7b/AD/7Fftn+zX+yp8Pf2SPAY8N/DvwrpfhjS5JBNOtrHiS7kxt3zOfnkfHd816XR0ryq2InU3O6nQhHYKKKKxNgooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApr9KdRQB8X/APBR/wD4Iz/D39vLSdR1i1gtfCfxGuIxs16KHet5s+4lynSROnz/AH/5V+BP7f3/AATl+Kf7EPj+bRfEmizQ2XmJHZaxbJ5lhqH9x0f/ANk/1lf1icLXF/HP4EeE/wBor4aal4R8ZaNaa54f1aMx3NtcR5zwfnVuqOP7w5rsw+MlD4jlrYbn+E/ja1DQbyWN0a5k3796f7/9ysfUNL+y6hN8kfkx/u32f8s6/UH/AIK+/wDBB/Xv2N45vGPga41TxN8NZJN88zZkvtDf/psUA/d/weZ/33X5v6x4SeLznlmgjS4SvWp1Of4DzalPkOVksI7UIjP++j+//wDEVDZRQy/e+5/frYvLV7CNPn8x44Nnyf3KoSRp+5hi8+T+NP8AppVAQyeTLv8An+eT/wAh0yTyRbu+/wCbzNmzZT5I0+T9zJskpkez7jUAM8pJafIIfn2/7n/XSmSSp5cnySUvm/7FADpNn9//AJZ7KZ8nlp/uUSbP/HKX5PN+5xsoASPYI/mejKRbKItnmL/c/wBj/lpSRyp8lACx7PM+/wDJT5Iki2fP/v0yPZhP/ZKfH5PmJ/rPv0AM8pP4XowmX+f/AHKI/wDVon7zZv8AkpkeygB//LNPn/4BTPKSX/lpTzs+T/fpfKSgBJIkMe/f5j+Z8iUySJM/9dKmuJYbqSZ9kn7yoZNk2+gB/wAnvR5SeZ83l0R+T5n36PNT/wAcoAJdkUlP/cxbP9Z9z5/+mlMj8n5P43jp8cqRfwf6v7lAB5sPlwoifP8A3/8AnpTPkwnyUR3X2XZ8nz/wUvm/u/uf6ySgBPNTzKP9bsTZS+b/ALFOjlml3vs/4HQAzzcR/c/+10dd/wAlP+eKN/8ApnT5N8Uj/P5n/tSgCHt8yU+OXypPuR/foklm8t/n/wBujypot/8A33QAR7/M+55nz0fPL82z+P56Pni3/P8A6ujD/wB6gA+f/tpQPO8pKEi/ebGf5KJIv3uzfQAeU8Xzs9HlPFJ9+jyv3f3/AOOjyUzs87/lp9+gA8p/7/mP9ymRxfu/v/x/I9HlQ79++T79Enk+Y+3zNlAD44ofK/138fyb6Lj7N9oZFeTZv+SoZNlBlT56AJJJU8ybakmykklT99+5/wBZSSS/adjt5n7v7iJUkcr/ACOsP+s/v0AEkqeXG8X7x5E+dNn+rpnmvLIny/wU+PfEf/HKZ8//ALI9AD4pX+fakf7yjzX8v5vLpkkTx/epfK/246AEzN8/92Sj95/z0ko8pP7/AP33/wAtKmMUI2P50f8A3x/BQAyOLzf4/wDfojiT+KT/AH/n/wDH6PKh8vfv+f8Agojih/ieT7/9ygAj/eyJuf8A36EiTy/mf/WPRHsiP/LSN/M/790+QQxO+1J/Ljf/AL90AMjiQ+T88dEfk/Ii+ZJ8/wAlP81IpPmST7/3KJJUi+9DHJ5b73TfQA+OJPs7uySRrG/8D/6umSSpFJNuh8uPf8+x/wDV/wC5RJdff/cx/wDAP/ZKI5X8zYqR/c8tP9ygAkuvN879zH+8dN+z+5RcRPLeP8ke/wC//wAAojlml+6nl+YmxPkp/wC+l/1X3ZE30AEnnS75t/ySfOjpT/sryxvvm8tJE+f56ZHavdXGxpo4/k+fe/8Aq6f9lTzETzo/3iff/wBigBklhDFJ800f3PnpiRQyfef/AFifP8lWbe1t5ZIf33yfP8+z+D+5/v0+zihluERfP8mR38j/AOIoAh8pPL/5aSeYn3/+elWfLhit96p/yw3/ADv/AKxKfb2FnFcQ7UfyZH/d/P8A+OVZs/s3lpMyeYkaPMkKf3/7lAENtdw2txDDBDH/AKn9w/8Az0d6v28s39n2/wBlhj/eQfuP/Z62/Bfg7UvFGuWelaHol1ql5eOn2WG2geS4vHf+4iffev04/wCCbv8AwbyfEj48a9pXiH4t6bL8P/AUbvP/AGeP3etahH/zx2f8sd/99+falUqQh8ZpTp858O/so/sI/Fr9sHxXZ6b4H8B6xqmn3k/kSXhtXjtLdP8AptN9xNlft9+wJ/wbo/Dn4D+Hk1L4uR6b8UfFW9HgtzG8GkaXsPyeXD/y0k/vu/X+5X398IPg/wCHfgZ8PtL8K+E9Is9D0HR4vItbO2TZHGmB/wB9N/tV1jEV5NbHTnpA7qeFjH4jP0PQrPw3pUFnY2ttZWlumyGG3jEccf8AuoOK0qKK4jqCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACjFFF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n+U/l79/z+Zs/wCulABbxXN1cIi/fk+T5KsyaDcxR2D3CSJ9sR9m/wD1cif30/2KrRxPFJ8v7z5/ub/9Z/sVPcRSSyfNNG/lv5CfP/B/c/3KAI47W5+/vk/dvsei3sH+T5o5P4Pkf/WJR9l/d71/dpv+SnfYLb7O7rN+5jf+5/q6AF8ry5E3TRz+W+xP+miUy3tYZfk87+PYm/8AuVN5SeW+3zI/Lf5P+mb/AN+j/RvscyL5kHz/APft6AGRRJ+5+eOT5/40/wBYlMjtYfs6f39/+d9X/wCxk8x9r+XNvTY7/wDLP/berMejQy3CIskkaef+4R/7/wDG9AFCzsEOnzIs3/Hw6QQVcj0HzZJvKm/j/cf9dv8A4itLT/DCX958t55b79+//bT+OvsH9g//AIIl/Fb9uKWO60HR59E8Ju7yP4j1tHgsS/8AHGif695Pn/gTy6l1FAD5Bs/C8MsfnfbJI4fvu+/93538b19bfsM/8EWfi5+3JJ9p8O6DJpPhuOd4/wC3tY32thbunz7E/wCWj/6z/lnHX7EfsHf8G6vwh/ZS1yHxB4sVfiP4ks02Wq38GzTLPH8aW3R3/wBuTea/Qy2to7SBY40VFjG1VUfcrhrY7+Q7KeF6zPi39hX/AIIafA39jTQLaabw3p/jjxZJCkd1qut2iTpvzu/cQPlIfwG/3r7J0XRbHw5psdpp9nb2NtCNqQ28Kxxp9FXitGmlcmvOlUnP4jsjTjHYdRRRUGgYooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAw/GvgnR/iL4bu9H17S7HWdIv08u5s7yBJredD/fRxivx4/4Kp/8G282o3EnjL9nWzk864nkm1Hw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UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//Z\"\r\n\r\nconst test1 =\" data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAK8A20DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo2g9qKKAE2j0H5UtFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFJ83tSfNQA6im/NRHU8wDqKKKoAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiij3oAbI6qm5ulCSq/3W3UOc8d6hmnSNP8AWJH67mC1PMBN5op1YupeN9H0SDffapYWqL1Mk6qv864fxT+2d8KfB0Uj6p4/8M2aQ/fLXgyv5Zo5kOx6d9qj83b5i7vSnI+7/CvmnxT/AMFa/gD4XaTb8QtL1KSP/lnafOzfoK8n8W/8HA3wX8NyTJb2fibUNvR47YKrH86XOhH3c0qou5m2j3oDhxx8yt3r8x9e/wCDi7TblJH8P/D+8urdekl1KUX8cV5X4y/4OHPid4guJIdD8H+GdJh7SyTyPJ+RGKOdAfsY7r3am1+EvjL/AILGfHrxl/x5+NE0lm+XyrexjLL+YrgfFX7cnxy8fptvviJrfmdj/wAe/wD6AaOZMLo/oM1fxDY6FG0l7eW1qi9TLKEX9a5qy/aJ8B6jrEen2/jDw7NfTPsSBL6MuzemM1/Odrfifxt4nvJLi+8SeItQuW++7arP/wCgbsVytzZ3+nX/ANoe+16G4/guFlKSeYOwIP60r2C6P6imu40fy2ba+M4749afHJubjp2Pavwe/ZY/4LBfGD9l+Cz03VbiHxd4at1+Wxv5S0yD/rry7fTNfqZ+wN/wU78B/t33F1pmhx3uleJ9PszfXel3SgMkSukbOpHVQ0iDP+0KrmA+mKKKKoAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKrl23xqG2/733mqwelcF8dfjp4a/Zy+H154p8W6tb6bo+mxk/P8ANJO3ZEHVmPoKmUrAdqlw7vtMbLt/2hUjy/7X5V+aniP/AIOKfDKanNH4f8DahqG1uJJ7kR+eO2B2rkPEX/BxVrxhkWw+G6WLx9TPc71qkwP1c3kD+99KbvP916/G2/8A+DgX4vao+yz0PwrZ7ujNGX/rXD+J/wDgs9+0F4mvPJh17w3Yr/072Z31IH7kRPIzNu27f90iq97rdnpu7z7y1h/66TKn86/AvW/+CgXx28f20yXHxA8QrCv+sFvP5K/gK838T/FHxp4wv2tb/wAZeJ9aaTDl7m8fao/A0gP6FvFP7QHgnwVGzap4s0Sz2/e33aHb+RrznxP/AMFMfgj4MVmvviFo7N/ciy7foK/AfVdNkmmk+0yX95Gzbd9xO/X2BNU08BPcv5kMfkqv3Cvz/nS1A/cDxh/wW0+Bfh5Nmn65c69cd47WAptP/AsVwvir/gvb4E0y2/4l/hPxBeS+jsiivx9m8Ht5m2aRJH+8XXCr+dWprZ9B03a+qW0MLdQ84+Uf/FVp7OVgTP0k8Vf8HCetebJ/Zfw5S3t1+5LeSll/8dNeb67/AMF6vi14sjkXSNN8P2Kr3jjbd+tfFafEXwx4b01Y01aSa5kXcTLOGjrm7/8AaK8J+Hn+0SapYRr94lPvN+FRKDj1NFZdD608T/8ABXX49a75g/4SqbT/ADPl8uCIL1/CvLfFv7W/xW8clodY8eeJLySbqEn2cfpXz7r37bHgd0aSG8aRo+8bbWrk9Y/4KF+DdHsmuo43uGb5QXUv/KnGPcq67Hvl/resalua41rXJGb+CW8dm/Q4rJv/AA9JMkckkdzI/wD01Z2Vvrmvmm8/4KU2yeYljpaMy/NGdm1W/OsHxJ/wUp8Ua3D5aWMNrt6fhVWXYxctT66s9EsUfdcQwxv3KrRNoNhc3LLayP8AaG+Yb8KnH1r4N1v9t7xxqrssdxDD/wABrndY/aQ8ca/802rOpXoIm29aOVdgufoVNc2tnukvJrO3VfkAEo2saw5vGeh6PcySS6lbL7bhX576x4/1rUkVW1K/2r82TKW+asV9evrmb95eXM3szGnyeRUT9AtY/aQ8I6O8jXF8sacb59wZFHsBzurotb+Is2heFbXXtP0+51rw/NHvS8tWEjqf9tBk7a/M3xU7/wBms7feXG8M3zY7f71dZ8EPi54+8Aa9aw+Erq/uJrjGy0s1L8/7ac/LSUUKW59aar+2ZNf2yulikbLJiVF+WaIdiR/DXO63+1p4hublVWGG3tl+5L95q0vF3xR8A+J7mz0/4rWtj4V+IGrRhry60NAsFso6G5A6se9Yfif9mnWrbRJtb8MXVn4w8O/60S2TB3x0/wBWOa0cVykS2Kd/8bPFF/MzrebUk+YH+8e1Y+peKtbmtvMuNQmWTcGJilKPn2I5rFu4bpxukV7dY/vxSxFGU+nNUUdvtm3593+392s7LsET9Vv+CAX/AAVk8ZfDv9o/Q/hL428Qal4g8KeNpBZaWbx/MfTbrHCqeu0gV+/PmtFKqySfNI2E2e3rX8nn/BKZGf8A4KU/BX++viKN43ddy52Hp/er+sh0KN8mxd3J3VTXuoompsdG9X4oMqjd/s9alO4DqKajh13U6gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKb/y0p1N/wCWlABJX4l/8HGH7Qmq3P7Wfh/wW8lxJ4f8O6OmqJBE+xftLvhnI/iwtftof4a/C3/g428OR6b+3Ro10/8Aq9Q0GPhfl53kc1E4tgfDth4hs9buVxN5k0jCUS7v73f8a7jRLxfOk+0sl9bKvNeHzeG5rCaRbab/AErzB5f8K7fSqPjz45Xnw00G6tmXzJJo/uL9386UboD2zWPEfh7Spt0OrW103pFFt2+1Y837Q/hfQZtsmoW29fvhFCuv1r4l1Xx5qHiq8+03Fw8f8WIv3fX6VVubxbyFo9rs9x8vmfe6epq4wcgPsi8/bb8JPNI7XTwpD2/vVi3/APwUO0WztljsbGZpN27zP7wr41mvLN3+dUmWP5DFF8yqfUmiK5jR2t08lnb54/mPy47fjTUHcXMfUXjP/govcX9+rQ6a6xqvIK7vxFSfDT/goFpOu3k2i+MrfUNHhvPlttT06XzFg95UFfKOt3iTNJcMzxyN8qRfwqo68/71YthMnmSf3JPvj+9VcrQz7c+IvgD4nN4ebXPBPiiz8beDVbcJNLbzL6KT/bhGTtr558VfGnxJNfzWeoXW28ZtlxG7bGU+4P3Wrl/hZ8VPEPwj8Qx3nh3WLnQZl+4IJSI5/Z0GBX0gn7RXgD9pO2t7D4u+EU03WmXZHrmkQeXJz/y0kRcBvxpXZmro+adS8Valrb7Xvry48n5UWKU/N7Vj3sNxbXK/b4byOT+BJZT8v1r3j4qfsE+IdB0qTWvAOsWvj7wrC3nxz6awa+tu+JIxjbivn/WNb1C/1K4k1T5b7dtnilyrqRxyD92nuU5WLjozzL5jWzPt4RH+bFRvCmxkX5Y1qrbIsyM0fzN32/w/j1pu9khZP/ZquNuovaImS5jSH5vmk7mrEMscyfNWTvd3bbDMzL1Kr8rVctnhmsJHkZ4Xj/gX7zVi5K4tWSXOpRp8ix06zuVxVO2vPOkZWj+X1f5akSZbZ/8AliyN0dW3U4STYcsjS+Z0wn326VVc+Tu8z7y1NDNs2tGzzN/46tZOsakibhufe391d1a3RUTP17Uvtj/K25F+4P7pHeuo+EXxU1b4daldX2jyPY3V1bm3muYv9YynjEf91q42KymluVaOGaR+yNEa7jwN8IvFutwzTWfhnWJo2Xdugi3L+v3am2tyjB16/kv9Yk+0tuubj95LK0vnST+0n+1XTfCv4weKvg/rcd94d1a80vy28wIspSFcdin8Qra0T9ir4qeJ7mOa28H6ktv94SzqE/M16V8LP2BviRo/iez1hm8PK9jN5pivJ9yZx3BBDL7U+liZbHr3w0/afsfFvgD/AISD4teD7BbGFg4uVxbXGp+aduY4urqPWuZ8T/Ae18Z2d5rXgDVIfFGiXDeekUTbbrTO/k+X1eneLP2BPFnxX1iS/wDFvjTSreWSQfZIrVg8cC+iDoi/Sug+HX/BPrSfh1qvnWvjzxJa3EMm+SSwgATI+hG6p5WETqv+CTVnNF/wU++C9vdQ3Wn3kOvIpgulKtHhD/AfuZr+rqXdjK/e/Sv5j/DfxMj/AGb/ABh4f8cW0k1x4g8O3QfTtVurNN/mAY3ydd1e1eOP+C4/x08Ur9nt/HGn28Mq+Y8hsUhTH/TIr96plPVR7FRjd2R/QBNsfyw7fd7q2FpU3PKzqybe2P4q/m6v/wBvP4ofFqzkf/hPvElwvrHK9t+itXon7M3/AAVV+NX7NmpLJbeJP+Eo0/cPP0vWG/dy4/6anLr+FTtoypRsf0EJux81Or4m/ZN/4LdfC/47mz0rxXM3gHxPMoXyNS+S1uW/6YyH73419geEPHWk+PdHj1DRtQs9TsZOlxbyh0/MVRJs0VH5373YvJ/9Bpv2j7y/xfwhvl3UATUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU3/lpTqKAGyV+If/ByXaNP+1/4bdV3LHoKbv8AZ/eGv2+r8Q/+Dk2Vk/bF8HsrR7rfQ0YI/wB2X94etTID854lV5lYx+dDu++PlavI/wBpa3+y+HbVm+VZPOYo338b+K9gvNc+363cXT29tC7YV44PurivM/2s7mObwrp7xr83kv8AzqQPnmwna5do1baqruO70r379gb/AIJy/EL/AIKYfFqPwb4J0/8A0C32T6jrFwr/AGPTIyeDIVwdx9BzXgNhNshbf/pDtH58BX/lgegc/wCzur+rX/g3z/ZX0X9mr/gm34JvrO3h/trxxB/wkGsXO3557ibrg/3OOBW8XZGMpa2R+WX/AAUQ/wCDbnwT+wn+y9pPiab4heItW8TX19Ha3OyKNbWLJwfK43/99V+bf7Rv7K+rfs5W2i6hNNba14Y8SSPJYavEp/1sZx5L/wB1/rX9J3/BxmvlfsZ6Wy/u2XWEff8A3ea/DP8Aau1ua5/Zf8RaWs0P2OTUINRkR13NHKg+R4/7q+tc3trSOn2a5Uz4Z1W/+0w/M3zRsVI/un0rNttr7lX71WNSdPtKtHH5cbRj5v8AnufWqcKbJty10x1J5TqvBOjtrGqxwvbpMneP+P617NongC3mhVfn3x/6uT+KI+nNec/AqFtS8QqjLtZfmzX0BNDFc2zTfPCluu07P4jUGZzvhLxJrXw01j7do+pTaTdRttkeJjsn9nB+Su61jxb4F/aEhaz+JXhu2tdY2hIfEekYS6g9C4PyN+Vb3wu8K+FbazWbxlo+q3lveNutpVuQ1tn/AGwBXrmj+D/A+nQ77Pwzol0sjIxdYvOjVc9wD8tVEcT4r+Kn7CXiDwqlxrHgm6h8eeH92ZLm2+S6iz2ccDj2FeW6b8HPFGtvJHbeGdYknVghTyCu0np1FfqpZ6lpugJdNo+j2MdtMxbFguxeOvHNcvr3jzxRc69Zw6HHCtttP2me+g+0IzH7mCMbdq8VRR+e+j/sN/FTWHb/AIo+/sUXrPOw2c+4NdlpX/BNnxzeQ7r640OxVepl3s36Gvsaz1LxPquq/bLqb7HDY5ijsJZw2mzknq8HVvzqa81uSwh26o2jx3StvIt5VVFB/wCefP6VWhMj5T0f/gmw8O3+1PFFtt7paqf/AGauu0T/AIJ6eB9KdWvNW1i8VV3FP3e3/GvZtV8aabDDuaR93+z+8/lWTZ+LbfXtTtbOxs7y+v7qTbbRRWbrcTv2Cf3qNAiczbfshfDTQYW26LDebev2jdt/Haa3LD4OfD3wruWHwjosM0K7iUR32/mTXr3hj9kj40ePH8vSvhX4wuFVTsNxmwfHcv5i/N81dp4A/wCCRH7RnjOwhuofAOn6fp9upW6nn16CaXPug5p2JjueC6bDpOmov2PS9Nt/mVg6wIzfN06itL/hKtkLMreYtu21/wBwE2n2Cgbq+pvD3/BCX4va9Np7ar408E6Hb3CzNsbT3uXwo5jkCn5favSvDH/Bv3b3OmrqV98VNS1ya4j3QQaJKbab5OCiIclcUpGj3Pg9PFTW02/ztrN82Wl2f1xUM3i+N3b7VqUMn2pdkYlnRfw4NfrV8Nf+Dfz4CWupW+j65ffEjWtU+x/b2jvLx/s0YJAPzbMM273rrrj/AIJN/s+/BrULeS48E+AdejmkMV3/AGpcxxz2y7flfex+/uqTOSbVj8WZvHmjwosP252khXYYLeznk3Z7ZCmtbw3beIPFSL/ZHhfxJrCr8sUVlp8qMv8Av71Br9mvsH7PfwH0qGOG++FHh9be1+zzj+0Lea5imT/V4w396sPxF/wV0/Zr+FepeZN8WNPs/s9uLe6+waQ807SY/wCeq8OvpigI02fjv8TvCvxC+HXh6TWNc+D/AIzk0qFt0tylqbjyuM9EDfJ68Vg/DTx5pvxjhV7HxBo8Mk3+rsPK8m8gx2CSAbfxr9QvGf8Awch/s8fD3TbOx0G68W+Ire3uHe5On2ZsI77OeMSA/Ke9fnr+3T+33+zP+2M8174d/Z91Lwb481BttnrOjXkdrJKxPBlQD52rOMffKcXH3mU5vh7qGkzN9ovLy3jbp5Soq/yqrB4SsdUvIbd7y8vpGbaiSyxpHn3ORXmv7S37Pfx8/ZD+C3h3xD8UtQ1LTdJ8UQl9Ms/7Vjk1RrcjKO9uB5kcePUV826b8ZrzxJutn15IfLjLmNlLvLEvYOP4jVVI6le1TR9tTfDTwmnnR3000bsp3yNchlwOOobK49q6L4D/ALRXjT9iTVZNT+F/xWubfy+ZdO1S88631ADnYBk7a/PFPiLeXkMiIz3k24LhpxGrR/3Oaw9K8QzeJvFU1nJG+zzP3iRS/u1bsM1n7NmfMf0e/sH/APBz58Pfjrfx+Hvidp8Pg3WlYQvdRS7rbcOpOea/T7wF4/0T4l+HbXVdB1ax1nT7qMTw3EEodWU9OnSv4rn0Hw/4d8OzTXd5qUfi77QPKt4J9lnBED1k/vMe1e7fsM/8FWfi9+yF4t+0+EfFFzJZ6lcJZPa6lmS3YZxzH/ClVtoy07n9fH2lMLlvvU5ZA27b/DXy9/wSv/bOuf26f2VbHxTrlnYab4gs5nsNWtLJh9lWQH5XXBPVa+nbZ2I2lfu/KaBk1FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU3/lpTqb/AMtKACSvw9/4OV4Wf9sLwum1GWTw6P8AeyJDX7hSV+If/Byjcq/7YHg9EX94uhjf/sgu3NKWwH5v2D/ZtHbfGis23LqvzNnrmvNf2kLlf+ESs/8Addf1r0iHzHtpl3Jt8zaled/tLQungyz+4qrvU/XNRT31A8DTZMkbt+7+z4UbPl3DOcGv7CP+CRkrXn/BND4NybVkZvDtu2Puiv48cr/Zsm1vm3V/YN/wR2/ff8ExfguGXcreG4M10fZOeOr1PFP+Dilbg/sPxLDbvdSR6klxK6pv8uFTlwB67a/Bz4/eNtB8bfs3+IrrRWS8TT5I+W++wI5Qj+HFf0Bf8F8dWl8OfsY2uoWu6O6tdWg2K67o5RnlH+tfgT+2B8N/D3w6+HviLXvDkkNvY/EKE3sGnr/zD54+Jsj+FSx4ri5VzHd9hHwfeIzzLuk3RsoaP/ZB7VHD9+h9ghjVW3NCu38+TUabt61vHsSehfBm88nVV2SbW3V9EJeI+jbvM/ebdpC/dYe9fOfwl/0bW4/ubm6174khdFX5Pu7vlqjm6n0l8DdBXVfBlm8sKTRzfJ5Trujxj0qxc/DpdH1VZtPuH0HdlJXT54ZQOcFP4a1P2dZlh+Gmi/3mUvj2ziuk1544fEklsq/66MymNvmRjjqaiba2NTzHWPiheWdt/ZWt2v8AwjsMMx+z6jZQb1nXu7gfw7a5/wAJaP4q1XxPNHquoW2peFbxXls9V0m+2NEF/gkhX7ua9S0Tw9Y634SuEvF+0OzP/tIo9M+9cnN8IZPBmsR3Okyf2WsmGJT5l5HGU6VdOWmoGppWm+C/EkPnaPdPfLp6+VcOt95zRN6OP4abeWnh3Sra3hmbRMRsXEd5KF2/7W815u/w08C+PLnUr/xBHqvhXXmm2jX9GlKI5H/PW3GE2+9fPPxRmufA3xdt/DtjcXPiCPWJI4LOdW8xLkudo8vP8RY9KmUr1Eoibitz66ufGHhfTbnyW1TQYf3fmj7Owk4qnbftOeFfAeq2+q2OsTQ31i2+CeKD95bH1T+7Xzz+0X+zT8SP2Y5LNvG3gfXvB9teSC3gvNSg8uOQt0AP414b8QvG3iLwZ4hWwfZa7fkk+XfuXsfxrapF89o6Ecy3R+0XwZ/4Oi9W/Z+l03S/E9vefEDR76RIvtEuftcA6fVq9g+Kf/BzN8MLbyU8G/C/WNQv2xeSI2oNYp5nX58fe+avw3s7Dw2nwiW/1JnvNSuPniDS+Wy47jFR+BvD/wDwuCG4sNP8TTaTqVvD9q8i4X5VVvlxv68dan2clsy1Y/Wj4hf8HRfi6/3TeGfhbomk30kglluJ77evmDtsI+Za8P8AiF/wcgfH7xDqu+w1LwH4VmXP7y1sVSSAN1w49e9flz8W/Bmv/D3WY7PUNWS+jZQ8Nzaylo54/UVxN5vmuctI+3uW54rL3r2bLsj70+JH/BYP4veOr9rrXPjZ4khmmyjxaTcvHHtz0ABryfxn+11rev2C6prXjLxtrFrqDGFjcXkq+awGfWvmOGZZDIqqrIsbbG27Wr0a3s/7S+BumxtI+6G8eXDfNzsrXVEytbQ0r/466XC8Nw+ivqT7fnlupy0kpPqTVF/2k7qzdvsej6bbo3yhHbeq/nXH3OmLCkMjbJFkUM3+yRWXeTKl40jLu9mWldlRk7HSeJPjHr2vQq01xbQosm5DAv8AqvatT4dfFeTR9esZtUkmaO1mSeC5VtrRSIcg/g1ef7/338Ks3QN92rUO5/4v3n3fm+5UttbEzk3ZM+2P2jPiF4q/au0ePVfEHxCm8WeILq3SJNR8rzmgixiCwD5+Tc3ygV9z/sAf8GoFt8T/AIVaV4m+OHimTwnf+ILdLq18O6eB59tE65QySZyG29Vr8xPgD4w1C2+CDabDdJHpK6gHNt5AVpZ1IKSGTrw3QV/RN8IvhF42m/YM8C+ILa61jWrrWLGF9Zkt7kzXUEKDjyiT/Ev3vSvRpU1JHk5niPq8uZH59/tS/wDBNz4XfDT4V2vgPwDDZ+NPEV1Dd6bod5uEdxp8SynzLq5/vbHTaM9q/J+fRLr4V/GC+03Uo7NZNHme3vI7KTzIWkXuhH3x71+zn7QPjDwzf63JrVnqU3h3xBYxyRR6E0QjeJlyv7yQcsjL8ze9fkv8etBS/wDiRp9zb3XnfbIZIp0liEMasCTmMj76npk0p03E58pxkqzdzynxJ4ha/vJpN27zJA7jdu6np/uiuq+HSTXNzGsn7yaSQYP8W2uH1KxSGZYd377b86L92IjsD/FXq3wQs44XvLqZkb7LanH+9jpXMrcx7XWyP6V/+DZHTI4f+Cd4dIUXztVmB4+/g9T61+jcKba/PH/g2Q3P/wAExdHlZdsk2pTuy/3fmr9DoX+Rd3yt6VnLc0RJRRRUgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRR3oAK/Ef/g5X01X/az8FzRttkk0Mq/0Dtiv24r8Rf8Ag5Rtv+MvPB8rs+xtBwgX1EhqZOwH5q2bssyq33Y2Rj9TXD/tP2zf8IZa3H8HmPx+Nd9YBprmT92+5W3vXF/tS3Kp4JtU+8u4thfc1VRaaD5WfNMDr9mX/ppzX9gn/BFy5W9/4Je/Bdl/h8Pwr+RNfx4/KlhazL9xc5T+Kv6//wDghxIJf+CVvwbkCsobQ04b6mtPsnPDc4H/AIOFwzfsCTOv/LPWbX/0KvwW/auSO5/Z18QK67pFkT7Ef+eSn/Wfm1fvb/wcITND/wAE/br5fl/tm1z9N9fgh+1EZP8AhQPiZEVfMkZHBb7qqB2ribtI7Ob3Uj8/32pbKy/eVdp+tCbtkb015lW2Vf8AZ4qwiN9jj2/drpjFiO4+Dlys2tqzL/FXvUzia2V1+VVWvBfg5Cs2pKqq+/dX0RbWDw6Vt27v3e87qnmRzI+oPgheNc+ANJVV8tI7UofzzWt4kf7S7XUbfvN2z/gNcv8ABPVVTQdPX/Vw+T0du9dYl+qXMjPb+Z5ke3y1bb1PUZolJGpXj1K20HSvLVvkkXd+NTJefIzP++VlT730rB8YWcejptZvMWNdwC/N5QPXeaNH15IUy0iXFuyooCffUkcVnzIDi/Gemwp8N/EFwsaK1xnzI2+7OufvmnfsAa38PL+a61L4qeA5vG2uaH5MHhKN2MK2cokBiMflkbvm2/eqTxhfpc/DPWLVo3k8tXQFm+VQecV7h/wRh/Yq0b9p/wDZv8fatb69DZ+MPBN497axSwNJC0a8oHA5Zdw7V1YOMZ1Ls4c0qOnTTXY9S/b8+Iuqftz/ABv8D/Dn4hSTaX4HuLOGLWIEUNJaTgfOiO38Q9a/ND/gsF+wRN+wh8VNFh0vxQ/jDwPrULyeHr6Qg3NtEn3oJyvG/wDu193/ABR/aNufGHgC6s/iJ4ftrHxla3klrB4gsl8uOKAcGHyT+8Rivc18R/t5eObrxh8E/sdxrU15pun3iPpieW8n3ex7rj1rux1JQfPE8vL8XKc7S2sfI/iTxPIba3RI7BWt4drBGf5QfUGtb4IeKpPDXxC0nVLWOGa40uYIN2dl4p6g/nWTrdta3NnHM2+bp87MNykjJ/3qvfC6/wDsGsRp5km9m/dj+79K4faM9ynLQ9E/a61h/GGsW948NnC8m/8AdW67UgH9z8K8F14xwzRqv39oyK9c+Lt+v2aFjvkkjY5/2s9c15Hrfz3+9Y9u5ejNUbs1Kds2z/vk16l4bd5vhXpfkr5kzXjqR7bK8t2fuV/vc16Rojvb/C7T2t2k3/aD936VclpcXK2N1XQ4dNZWS6hZ2j+eOuD1jb9v+T7tdJqsLfZl3x7Xb5d7fe4rl7z9zc/3vesyo6DZl3utSQvs/wBn3qF5l/g/HdToX+9uocWyZbnuHwOdrnwNb2y7ZJrq+DQRltqykHkt6Zr9oP2V/wBt3WE/Y3XR9a1htH8O/aE0uPSvMKTaUynHnB+rI3UV+IPwThe/tIY1ZJEaQF4NwV5R2x/dr6+8fftSyP8AALw7NJ4TaTUNBmktbnTov9dPGDiGYY+9hetehRqxjuefmGFlXdlsd1+0honh688WW+sXGraktusj2Z1NJQ9xbKz7sSjPzb8ZHtXw7+1v8UdP8bfGxms7r7Rpukx+TB5S7VfH0re+JX7XsmpaDqGl6PpcOlyTQnzLiVS8wLbSUiA5jPu1eB72+Zt3mM0m8u3DMfcGscRXvsGX4FYdXZemuUmTzI4fL/ecfN8zGuw8GeJG01I408z/AEyQIa8/SbfNvC/Nu3fL8vWt7wfcvJq1nH5jx+XcBhv+tckHJs7I33Z/VB/wbOfEvw7f/wDBOPQfDcOtaa2uWN9cvNp6ygTQAydcHlq/RyIM0rN/C3T0r+Un9jy/1bwl4Ssdb8L6xrHh/XLW6Kwanpu9ZFyeemR+lfpp+yB/wXc+IXwsS30v4saLZ+JNDt2WCTW47yO2u4F6edKJCN/0UU6krO7Ndj9jKK8l/Zz/AG1fhx+1VpXneCPFWlaxcrGJZbKOdftMC+8ec16pHdLK3y/Mrc7u1HmMmoqNJ1bdt/hqQdKSlcAooopgFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU3/lpTqb/AMtKACSvxN/4OWnP/DVPgna3K6Ln/wAiGv2yP8NfiT/wcp5/4a58F/L8v9h/+1DUT2KifnGmpSJ533F85QpH8Vee/tOJs8B28kLfPu7+td5eWzt86f8ALNhkf3q4H9py5km8AW/mR+Wvmda0nsUfMuz9zNH/AMvK/cP8OTX9hX/BF+yuNK/4JZfBeOZdsy+H4GI+pNfyx/8ABNz9kK8/bh/bG8F/DW2kdbbVtQjfU7hV3fZoEfeT+OzFf2Q/DLwLpvwu8E6b4c0e1Sx0vQbWOytIV4VYkGBxV9Dlp7nx9/wcC2y3H/BPfUv9nU7Y/jur8Ifin4Qufip8FvFmiWzf8TC6sTLaIPvyyIP9Ug/iY+lfvJ/wX0Xf/wAE8dYb+7qlr/6Ga/C15pLC8t2t5PJmt5BLBJ/e9T+FcMviOjY/M+aCSNJEkjdWj4kDdY2X5SD/AHW3VetrO+mmjtVs7lrj/nnt+f8AKvfPHnw+0u3/AG79Nt5LWG30XXLgXElsf9W/ByT9W5r6Ef8AsvWHkjutNs7WZpPIgubeBNqhOeXPP3a7OhPMz5d+BvgC5ebzrm3vLVlbdh4ite3XOsWFhYbGV2fbs/3a2vEOiXNhC1xt+1adu2pc2/zNF7EVwvxO1jSvBmmtdalJ9nSRfk67Zf8A7KsTGJ2Ft+1FofgPwx9m1C11Kaa1baJLeIsqfXFZNz/wUssLDTriPSdNfUk2jfJcfIyn0Ga8XvPiD4fmh+1WtxebZJvn3qGbp2To1Y9/pvhTxhMot9ah0XVW+ZGvIhHFP/vhQQtM2PXvFX/BQvWvEO17XTbfT4/J2bGXzBLn1/2q0Phv+11JZ3K3Enk+VcMjOn2b7u0Yr5n8VeGNW8H3LRzW8M0f/Pe3YvDL7jNZ+j69MkjMsjqy/wADUcrA+2NS+Ltn4h8AatHHdJcG6hMuF+RVyelesf8ABG/9pbW/gD8S9ahtmm/sfXLFIrm2i+RvM3/u5C/8Kh+TXwD4M8eXEKeSvyrcZidG/iHWvcv2ev2xvEH7Jc0dxofh/TfEVv4ktXsLuK8+VogemD1XFa0JcjujlxdNVI2Z97ftRftvW/xyvdWZfDPhux17RWmsL28a2RE1VsYefH8j3r8u/wBs7493XjXU7XRLO+tmh02MrL9ithZrL/vkH52qr4w+OXiy5TXtJWaazsZrgz3Fo3zSfMc4STrtrxe/tZLl2mWPzFkY4O4t/OtKs5SWosPh6cAuL+WPcpZZI9ocfL8qke38LVoeEtV8nxJY3H3WWsV7CRE+7t3f7VSWDt9vV3bbt6baxOvlT2PVNVsL/wAZ3MkdhZpeOzfw/My1yfi34OeINHRrqax85VXc4ibcYh71l+G/E95ol+tzbXVzZs0m0Tqx2/QivbvAf7TPkvHZ+JLdL63bCpd26hnX3I6NTjuB872259y/881Oa7jSJ5Yfh/p6pvWTziw/u4xX0hrH7M3hP9ofQbfWPD10jSNCVklsFXzFIP8AHHwNvvXnfj/9lHVvhX4etZr+G5vNBjmdxcQN++WTH8aZ+WtH8IM8fv76S5RftEnmLuP3axXtkvJm8v5mrtl0fRHeON11K8lkUMESIBcehNZdtottNf8A763fbGx8m3T5do/2jWRnzHJvEybv4vdadCrbN38NdU/hiF4VfyXX5irIv3VNRy+AJvOVljm8tvmxtq47FIzfDFxNZu0kLPb7mKmVG/1WPSvXvh1+05qHg+Zf7Rs/7atpFCoXn8m4wOpz1WvK/wDhFbi2eRPJmkjZtw2fd96mR13xyPJ5MbbVG5d3TpmnewXPqp/AHw9/ar0qNtKuE0/XP+WkcUX2e6yR3HWavI/Hn7E/ivwTctJDbw61pi/8vKNiZR/u9a4Wz1W50S8jvoZJob6PDQXVuxRuPpX0d4Y+J1n4w8GWOq6ra3VxrE0fn3sjXkkaNcDgSIqnGzaF4oVpIEfMeseCYbV9yNcZWTaGdNjbvTFGleHr/StSt5pl8xfOXCfxda9+1W5XxbDNqEkNhsjw10ir8s8j8B46x9N8Nrb2FxCsKyPazb8v99t3pRycupJ7h+z94Sv7n4b29xNrV/pMc0xaOCyviiN9cV1WvfDrSrFLWPVNS/tCSSPeftV39oTdnuD/ABV4rYa2j6P5dtdfY1b5Xg80r5BHf8asXkz3+jrNqDItxZ5wPNO6VcffpOnzlSPePhL8Uk/Z48c2PiTwN4mh8M+JrWTYl5b/AOjLOe0cmPvp7V+pf7IX/Bwdf2d1a6H8bPDf2Xzvkj13RIN6OSOr2y/dXd3zX4SXkFrqXgZdLWaa8W+Yzl1UeZbMORgmuV+GP7WPjL4Fak2m3Un9oaNDJ/qL1i3mj/rpyd3tUbaFRP7MPgx8dfCvx88Kx614S8QaXr2msq5ltLgSNGSOkij7je1dmrLnG75uuK/lg/ZX/wCCiL6J4ns9Z+HPia88G+JI/nS3llMdrLIOxi+4+fcV+r37Iv8AwcF6ffXNjovxg0WHSpJtsCeILCTfbyP3MwOPL/CjlsNn6hswQZbihXDjiuO+F3xa8MfGHwxDrHhTWtN1zT5vm8y1nEirnnnutdZC2fmVtwk+YelAiaiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKb/y0p1N/wCWlAAf4a/En/g5Z3D9rLwSV/6Av/tQ1+20lfib/wAHL8Yb9qXwSzf9AX/2oaiew4n5vw8JcI8m1flwy/e4rzX9pZ2f4dQs0nmL538VejeSsMMjqu7dhfmrzv8AaWfb8KLdvJ+7Nz+daT2LPqL/AINM7XT7z/gpVqRuGRZ7Xw+xgbsz+aeOe9f03LId7Hazbu/932r+Mn/gmd+2lcfsDftweC/iTJbyXGn6PdBNVSP7k9k/yvwPvMud3/Aa/pys/wDgth8HfEHhOx1rwvdah4s0q8jEtvd26HbICOc5+43saU6mhx0bkf8AwXXsF1L/AIJ369sk/wBTqFq53f79fhHqU8M32VVmRkVjA5VTuXd2H+1X6Pf8FdP+Cudv8Y/2N9S0DT/BOsaaNU1KGKK4kcTeaA/UIvLV+S/xT+I+ofAvwxNq2v6hZx6tdKF0LQVT95OHHM0g/gI9643d6o6JfCeQ634muPEP7a/hu3Vpmvbe6SyReHbDnAU/99V/Rl8H/wDg3u+Cus/sraPp/jLTbibx7q1ql1Pr9vO63FpO4B/djOMAeor+bf8AYMRfFv7dXw3kvrp4VvPEUNxLLLy7SF84/pX9pGla9Z/2lHpy31t9uhtY5JrLcPMiUgAMB1weldkf4WpnBn8/v7bX/BH34yfsJ6jda5pdrJ408Aq3/IU01PMubVTxm4jOc/8AARXx/rGm6H41sJLfVbWHTUumKGRIi8NzJ2+Q/OjV/Ws9ssvmQsqNDIoAV1Dpn0xXw9+3N/wQu+Gv7W76hr3hP/i3Pjebe32+wiH2O5mP8csX8X4VjHcrlR/OJr37M2j+Eraa4XR4ZreZt3mRMWCn3/u1zs3wxsNHhjjt7e2VJu3lF1l9+eVr7i/az/YE+LH7B41SDxpod+2j7XdNVsF87TdTkAwHIGfK/Gvl3wZ4MtfHPga3a416+03XrzLySLKHtZWzxjH3FroUoJFHmeq+EnV2jk8lY48KiMw71xvir4e2N5M2y4hs7qP5iE+ZW/KvTPH/AMN7rwfqrJqWm+c/3UuHbfDP75Fc6+iPZ3PyqlrI3zb0+7ii11oB5LbXKWdyytN50kMmyPblOfbNe/fA34S6L8UtZ09fEWqXNnbabponntrP5rq5kPGEPTjrXF6r4At/FLw3M0f2q3j+Uk/3vUAV6B8KNev/AIFaJ9mtvsd5cXTeekzr90H7iVdGUL2a1Mal0jD/AOGM9b1fxVcNpO+TT5Lh2s3vZf3ksY6eb/tVn+MP2DPE+iW0l5ctDcM0yYihb5lDdfyr0LU/itqmq3909tcJHMsYnvURTtWU9krL1L4qeJryGN7e8ud6xmU7ZfkbHoDzV1KsVow5eaNlueK+J/g5JoMO2TSbyN4fvmVvuj6Vytz4Gad5I4/3cm0PGNp+Yk9K941jxVceMNSkurz95JHHteXYflYj7uem6sObw9eXmlMv2e5hkt1DpcfwyjPY1ldPY0j7u54q+iXGjhmm3r/B5bLzu9fpVy2Rt8aorxsvJf8Ai46133iyFEe1uLhftVneZQ3DffiP8f8A9auFFnHa3NxbR3DzfvPnLf8APPtio1TKjJNmp4D8Z6x4D8SWuqaHcTafqVvN54Cy7Vn7YI6V9Jaf8RdE8VeFVupv7VbWtSt3W7Nw37mKQg8gdNtfMNtYLeeXvhfMedkit83417N4Jm3+D7GNm8xY4yxLsNsvbYfp1rSzasRUkk9TJTw3pVpoOnySNcw3LSP50b4VWX+Dy/8Aa9asab4e0/R9eW1utPRoZoTcJv8AuynrgkV0mlTab/aVqiWM2vTXFvG3lf2VPL9m2HJIwO/Su6+GP7JfxC+NmvR2+h+Adbmur7zGtJLhvsFvtzwgMuK09i7WRHtILVo8jm023+2Tb7e2sdKtf9Q6qSu49jWpc6a1n9haS3TzLhSwG3cm0d+K+zPBn/BCP9pjxlo63Fn4Ts7VNQkCGw1G5jWNmHcNnG6u20z/AIN5Pj34Wmh/4SvxZ4J8Iw7d0QuMTOv+ymDzU04taSM/bKTuj80dbmbTdet/sPy2E0b53Lt++MHr6VwOsW32CaS3jZNm7b833ZcdzX01+2j+zHf/ALPGq6pp8lxeapqFjI6T3lxKjWEu3/n3QcrXl/gbwZYeMPBkN15KSRxsFnmdtr2xPXP96lOL2OjmVrnl6Q75mhjXzPLj3/3Vr174OTSf8Irp8Yjea5aNkDpjdAOeBmjwx4J8Gf29/Z+qapNdW01rI37hdrKQeOap+CdSTwqkkb2s37mYXEUb/K88anufdRg06dNmMpO90ejeG/BPiPWJvM03wXr3iS5jheJIILGTycsMGQHbhmHbHFd18Jf2GPjV8UZlTTfAdzYoseyO71dhb/aZD0UA4O4d6/oR/Y2m1r9rP9hHwPd+D7HRfh3YyaPb2aTxQxzXEDoMSeUQDtH1r4c/4Kz/ALEPjj9n/wCMHw78WN428Va14VvNUjtb7zJBGlnJnrlcDdJW0IqWkjjxFWpBaHy78Hf+DfD9oj4oav5N/qnw78NqyjzJLi+DsxI6YU5b8K6T4m/8G9Pi34G2c2rfEX45eDdJsYV4FlPm5ZR/AiN/tetfRXwr/Z91zxb4wWXwHp/iS31uz1hJcXE8i/YYsFjJGScNnrX5+/t4fEh/id8WPEmqSTas15DqBgu7O9nfe2w7S5TPy/MKJUuXRbDw+Ibj7254r+2N4J8G/Ci2j03wzqni3WNQtZCurz6u0S284/5Z/ZfL55brmud+G3hvwv8AEv4XLfahZ/Z7azk2Szz/ADeQfw9Kz/iRYWuq6bfQw7Gkt1eUbs72iI4AJ+6wrzX4UeJLi28MaxY2c00NvcfL5Yb/AND/ALzVm4q92d1OTcbo9w8B6l8IvBmvNpWq6HeeKLlpvNt9Vs22QxRgdH7/AHq8r1X4qap4k+JzWzatf/Z5Lw/JF8v+jL0RM8bttY/hJI7bXtq7Jo1XbMW+Xd7V1mpXlrDeK0dr9oez+aONmG1R9aJR6smMpX1Ptb9kj9tFvhvren3Xw38ceIdB1uzwkdpdSjzpQOxQ/u2U1+ov7MX/AAcPaP4cEek/G2zttLuo8JJrWmkSQqo7zrn73+7X87n9saf4keS4tYfsN1brvyrbH/A11HhvXl8SabC8X76aP752ln3DpnNYyN/sn9iXwY+P/hL9oTwbD4h8F69pviTR5lVkurGUOjbhkAjqpx613Ffz5/8ABsT+1YvwZ/ak1z4Z3En2XQfiJGLpEbez/wBoINoxnhVKhq/oKi/1a/SpJiOooooKCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACm/8tKdTX9aAA/w1+Jv/AAcsgj9qbwWf+oL/AO1DX7ZP61+Kf/By0mz9qLwO33lm0fZ/u/vDUT2A/NmHff2bRp/rlw8Y9xXA/tRfvvhdJco3KyBDF/ez9/8A8ervtjwzTRxttk/5Zyr95ce1ed/tLbpvg5btu23MNxyf+euTzmtJ7Gh8opctD5eyTbJZ54f5llB7V33wK/ax+IH7M88k3g/WptPs5mLz6Zfgy2TFu+w8V527skHls26PdyG+9+dV3dd7OyvI3o7bl/KkoRMkrH0B4t/4KifF3xzprafd32lLDC3mo9vahTET/wA8v7teE+LfFGq+Ntdk1PUtQv77Upvmkvb+Us+PQZrPe5abb83lr3Crt/8A2ahR1T523tGzbV3MW5/GlKMUtBy2PZP2AJlm/bV+GKr0m8QW4kkb5d3z9v8Aar+m79sX9s/wh+xF/wAFB9J8SeMri50/TvEXgVdOsr1YzLDZ3Ku7xrKB91SxXmv5j/2GrOS8/bG+G9uzI0jeILdUC/KuN4PX+Gv65PjN+xppvxp+LknizXrXTfEWizeEH0efRrq2SYztsdkkjDA7W3PjIokmqfL1MaZ84+A/+C62lfD3WND034laLeSaJqFvHLceL9NXfZ2bS/6vzY1zsQ/89Cea/QLw34t03x/4ZtdW0a+hvrG+hS4hmibasqOMo+f7uDX4u3+pat+zND4w8Hx/8Iz4T1hdNsriw0PxrbJ9j8UabbAmayhLhg0wTgcZzXr37IvwU+KnxR/aHuvi18L/ABpN4btre40uDWvBFxL52k/2e0ALxw7jhGHQYFSnobH6geJfCum+OvC91pGvabYalpU0ZS7srqAXENyp74P3q/O/9sj/AINt/hd8YNQuNe+FuoTfDfxNcZlFoiGbR52POPswI8se9fVHxk/4KOfCv9nv9pDQ/hX401p/DuvapZjUbW6uV2WBBOPLeX+FsngV7pZzNMiyLIk0c0e/zF/5ag8gg/3dtPR7gfzJ/tT/ALEnxe/Yh1iTS/iF4b26Srfu71IDfabP/dfzQMRfSvDb/wAAab4kTdYtDb3N583kS/Nbz/8AXKXov0r+tLxf4d03xz4Vk0zWtN03WNNulKS2l5Ak0cq9MbGyN3pX5t/txf8ABvD4O8fRTeIPhDef8Ibrkn70aPqEpbSZ3J/56Nkwn2QUczWwH4R6x8Orrw9qtuzKlvMymLyGbbDIPWM9N1U5oX8PWf2DVFdrOzYz21wy/PF6h/7y7a+jvj9+z98Qv2S/E7eGfiN4ZvNFuJpCsBvYN1rqGDjfDNyVX0xWD4D0rRE8f6HdXELrpa30L6nYXi+Y95Crguke7PVaunZayJraqyPneHxJY3nmPYzXk32jDWyWsBd/m6jAruPB/wCzX8SPiPfww6T4D8YfaGXdbfaNIlhVkPXDkfNmv2E+IH/BTP8AZt8GafpumeCfgho8PmELcXl7pyW50wAD5iQD81cD+2H8Qta1WH4c+PvDHxg0fWPCt1r1rb3lvo04S48PBz8glRcfJ61vTjCcjjqTnTimu58O/Df/AIJF/tHfE7Rr620f4Yuts0wadLy8+zLLNjjhh83y13V5/wAEFv2qNN0q3uNY03R9L0lYSxD3Ik2gA/uwP4a/QaH4y/EX4i/atB8O+Pr/AMRahayJeRR2sHkuu3nzMqfnjCdXNeQ/8FL/ANvnxn4tdrXwr48e4t47NIr68t/ltbmZeCI+Rt+buBVeztojOGKT3PyH+O/wA1L4V3WqWdxMl5eaWxW50pl8nYB2WQ/exWL8Mfhdo/j/AMKw3N5G8djdZYSM3kvAw/gMh+9XrXxy8fal8V4Vt9Yj/wBJs4XYv5QSRmI5cuOW/GvmvwBf3F54PutJW63Rw3EjGNpT8xzxWVtTsoy7Hr3wQ/ZpsPHPie+0mHVk1KGxtZrq4lsoDJ5CL/fYfeaud8E39nYa9Yx3EM0lhY3QuJw8RVWgSTDnB+8u0VT/AGcvEN/4P8d30dvqE2m/aISkqW/7tZc/38Y3V1Gt3Njps2y/t5Ft7di1tOG+SLJ5Un+L6Vblyq5FbzP6Vfg78BfDv7R37J3gCf4W+EfDPhfTvEGh2t1D4ll09FuQFHKeX99s45Oea+Qv+ClH7HXxF+EfxL+FtvrXja/8YaFr2rCx1LR9EtjYSWkRbCSQOM7Gx3r45/4J6/8ABV74tfseeErjTfBfiC18TeH7hSyaPfN5qWbn/nkx5jQf3BxX1t8Cf+CuPw68eWzXXxcm8SWvi7xBI+m6hrCQF7DQbWQ8vHzhcf3x0qqXMndmGKjzQ9w1LPwB8SvE/wAV9D8L+Fda8Z6XrWizGXw9FrWvGawvggJIlQgBpAqtiviX9tv9rT4i/Ej4x+IIdS8Xa3HcWMn2eQ3Fybd1wdpEQP8Aq/mr9nv2bP2V/CvjDW28WeHbx/E2n3EYnsPFP9pSSrfR4wHt4/ucdCRXgv8AwVA/4JU/Bz42/EXQ/s3xJ0X4dfFTWodlvaam0YTxKgP3yrfcb/bFVzRc3Y4aMKkIpzPxH+IWqzeIfAeoaXfXVzqE1rH5sdxf3n2h9w5614L8Itbf/hGNYsJJH+875/hYt6V9Nf8ABQT9kzx//wAE8/iJdeC/Hmnwq9wsl1pmpw/vLDVYWHAjl/vjuK+Pfh9qv2ObUkjZtrKXO7lVJ7D6VnVkk9Nz1vsHXfD2aOHxPGjNJsVTXoCfEjRYIYbO/wBP86Ozypj275lz3L14/wCHtdNnqW9vvbTzWol/vuPlb6nu31P8VRCbFFn3p+wz/wAFLviN+x7f/wDFufGn/EnmYZ07VrwXOnru6hIeNjn1r70+D/8AwVl8L/tRXjaJ8ZrW5t9V1yQWscryibR9IYHCXZhHDOOoOeK/BWG8awvPOi2Ky/fCKB5o+g/ir1T4LeKrq8tm0u/vNSbTWje6tfKgEj+aOiM5OdtLml7QiVNTdkf1Y/BL4feFdB8J2/ibwfqk3ihbO2VBq8mpBNMnwMM6nkbR35r5/wD2+/8Agk18J/2tPhHrninSdL0+38aXkL3dv4i02cQ2rTjku6jImT5dma/JT9gbW/H3xa0Txh8PbHXvFn/CFx2L3up6dps7qmQOkWCAi92xX6KfsPftnL8Mf2atP+BqtD448ZeXPZ+E7i1kL2FzEQ58m5l/gcfNkYrslTqSV+h59apTpy5HufhP+1j4J1b4J+LdY8L+Io3t7+OZ/Kns4C9teRpyCJBw2a+ffA2q/YIZpB92Rjj8a/aD9vD/AIJEfEub9kLx14y8T2NtZzeT/a8dlaz/AGibT9hLOFLYKx7RzX4s6JA82gySbU+Vgx2+9c8ZJuyPSws04nSabqSpqccn8TVofb/OSb/ermYbnZqse3/lmtbCusMLbW3eZ81KUlsdGnQvQwxzeZ5nzbsV2nwxv7jStVvPJbarQ7fwNcHC+/cze3Fdx8K3abxDebvufZzx+FZ8rFLY+2v+CKtzI/8AwVB+F+9t27UE/wDQHr+oyv5cf+CJm3/h538MWb739oD/ANAev6jqgIbBRRRQWFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFI/3aWigBv/ACzr8U/+Dl3bN+0z4Hjb5VXSd2f+Bmv2sf7jV+JP/Byu63P7WPgO3eb5ZNDZxbs21bkhz2rOpsB+b8NsvnNiR9+6uB/althD8KLdd3ztcdfxrvPOdH3JDMqyLuIf+E+gFcH+0+/nfCW13r/y8f1rWexrHc+SZtnzf1qrNNGiN/tVYmf73+9VO5f5KRkRpMqJ92oUdU3Ike5GYN+NO3/uajR/npPdClse5fsI39no/wC0t4BuXs1vNQh8SWrSK7FTBFlfnXHfNf1D/ty/tAeOP2d/2mPBeraFC7eEbrTo013UHYrDAqjMYPb5m9K/lU/ZPm+zftLfD9/M8v8A4nlryv8A10Ff2J/tK30CaHoOn+JPCuleKvBN5CsWsQXEiRyWbrEGR4w3MnO3helVPYyp6s8D+K/jj4Jft6/DuPTPjn4f0nS5/MZtL1GLLCNc8PE6/vMnv2rIh+Evxc/YW+O+n+JPghZ6b8Rvgn4w+x2uo6UJN9zpmyMR+dG4PzLt65rN1j9jnwv45s7fx58Kdcv/ABAmk6oYpdOafbeWcSviaCMH7yqvTivQPgzqWrfATx5daX4ZuLDQ/D9rp82rP4fum2NqspPIhDHO/cefesjY8D/4LXeC77TfibrGtWfhPwj46sfE3heOLU9G1Ccx6xobiQEXlucgfL7V+hH7It5NffswfDl7i6ubyaTQ4d8s/wDrHwi9cenSvlD9pz9nr4T/APBVGzmj8YXGsfDX4neD1S3ku0uvsbWcLEOI3kbCPG/pX2f8MfCcPwy+Hvh/wva3SN/Y9jHbW87fP5sSgDfnpzQB0X2NJkXzG27W3Jt+9kdMU3Z5LSTOqRrN/rSfm5H94f4VJ/rkZ1VtnmHG/wC8p9qPLoA5H4yfAzwj+0D4MuNB8daBpXiLR7iMiRLiLf5ZPTy36r+dfl7+2N/wbhX2jvqGvfAvxBbQrJGZf+Eb1zLLx/BbunKk9txr9bH/ALtCbXdd397rRzdyVqfyc/HXRPFvwo1XUvDHiTT9S8M6ro8gi1O21Ff+PFgfb72exrz/AMB/Ei78DfEXSdee48xNH1CO8lS6lK2bKh43ovDZ+lfsp/wdLfsx2th4S8MfGexto7eS1Y6XrpT/AJfoj/qc/Rq/Ft7y1hdnk0u2uLWa3MptJfmjlcDgn0YdquMmnoFSjeFz+oj9lH4Y+HfD3hXw3r3h9nm/4SLTY7q2lsII2t8SRhpACRv2biwr4h/4K4/8EjPEnxd1fUPHPw18K6k1wsjvf6MssVvGpCZ86H5lGw+/zZrn/wBlX9pv4ufDr/gk38Ibfwbqy2qeIJriyvtUuozNf6fCXfAhYcJjauM17t+zT8VIfjT+zf4VT40eONb03VvhnNO2opcT+TD42t40LJM8ZwZMHpjuteh7KXLzHkwr0oz5Wfz+/FfxJdeD/ENxpNxH/ZuqWqyWt3bTqVkV+h35r578M63/AGbc3ys0LNNIcuv8ODX6mf8ABQ74RP8AtQw/FD4neHvCL2dnawi40fWLiA20U9pzlJN3+skK9MdK/KGwT/iQyeSsMcaychl3Ox75Pt2rictWj0qbT1jsdl4P1t01iaSP7yr96trVdbk1KGHbJubduJb/AAri/Abu/iRl/h211GpJ/ZqK6/3q0+LQisrvQ3LPUpheRt5zsqrwiNs/livUPD3xaudbuf30032ixjSCPy1VllTHQgjDMO1eM/bH8ncn32VlFdB8Om8QTI2oR29ndJb42bl2L5a8Sdf4vStIyvoW3GMdT9sP+CGn/BQ3xF8N/wBnm68L6tG/irw3ousLZ6Gp/c3NjuRnO9ziPy93vXk/7Yvh7xp/wUX/AG6vDLX32O3j8Ra1Homj3um3JEemQxlWkjBJHz7fSvojwH+y9ZfsV/8ABPfS/Bng2TR/GS/EazTxBqWoeJl85dPLopOxBh229BivjHwZoPi3/hZcd1HqWm+GfCugsb+yu5VNqrTjgS2c7kI8m70r0KdOEafN1PksfiqjxPItkz6A/wCC9Hw9X4wfs8eIrD+xbzTfDvwhhGg6Vq+o/f1OeBAXEefnZvU1+Cvhy2f+xJp4Pmj8ncW/i8w/fFfrx/wU3/bX8bfGH9iqTTfiFqGm3V/oqr/YxS2cXmvB/keSWX7jvGvOcfNX5D6Vr02m2d1CrQxpNDtIT7rbh3H971ryKzbnc+pop8iuN0q5ZryFWX5mWus02wT7Nv8A4q4mw1Bra5s2X5mj+U1vWevPDNtf7tOJrym5vS22urPG+7/Wfe2jvXVeA9B1Kwtm1pW02PTpt8VsJ5XXz2Ppg1w76qiIzbtrMwX8D1rqvh7f2vid7fSdUX7Rpuns8tmP+mlV9q5lyNSuj90f+CPt38I/hH+xdreh+LbN/wC0/iFG0r3jdb5lGPJjdeVUe9eafBDQfh3r37Tngu18G3F/4N8ZQ6pJPqNxLIPs+n2kW9v9GGcszbMfN/erF/4N+PEPiLxXrfijR28I6D4i+H+nr5Woy6vOkbaHGyZJt9xGVPU4r3Tw3/wSd8GeJPircfES/wDiI/h/TdDvp30hbK6/03UIyDhJHHCJvOOe1dsKnu2PHxFCU68WfPf/AAWS/wCCm/ir49Q+KPBun65eaP4LkhmM+lxf6zUESP5ZLhwPkUt2Br8S9H1VLPw7dKv8TDAX7tfZH/BRzxtqnw68VePvCqTQ3moa5qAXUbm1uVmtoLeI7o7aOQcMw/ix1r4lstQxDIoXarNwK8yjL32e3h6domsly3nMW+7tDVoWd+00P+7XO/aNky7f7taFtcs6UpS941NqG/ZE/Ku++Et5v1y6/wBqGvLUuf327+6or0j4JzJNrN5Iv8MNaRkJ7H3Z/wAEUvk/4Kj/AAxTt9uH/oD1/UhX8t//AARSv/tn/BUT4Xr/AHb4f+gPX9SFKQ47BRRRUlBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV4X+2B/wT9+GP7cGhw2fjrR/tF5YqY7XUYG8q8gz/dkHNe6VXdA6MJF3BW4I61MlcD8Pf2vP+Dev4lfB22utS+HOpQ+OtKhy32SdfJvIIx90A/8ALRq/Ln9q6zutE+Gk1veW7291pN99nv7d/lmtmUkONn8WGr+waZGV8r931b+H6V/J/wD8Fa7Xf8VPiQ9uvzL4ouGKMv8ArR5r7/npOTZpB6n56zS73bb91ulUbl22fdq1cvs3M1U5rlZkZVqzMbv/AHNCP92m/wDLKhO1KW1xS2PSv2WtQm0r9orwLeQw/aJbPWIJxGq7t+HWv6x/Gmn6f+3zeeDdW8C+OLbSde8G2b/a/D2r2X+mK0kWwmSFiGibnhu9fycfsqTeT+0h4B+Xc39uWuP3uznzBX9cn7T3gDQ/E/xB8NtJpr6fqGtW8bS6rpH7jUIpkjDJvdOZl3beDVy1p3MqZ4H8OvhL8SPhjo+n3Nutt4ZXw3rF7LeXsDeZdahA5G+QIPRR0r1jVv2nPBPi3StLufHVjpuoJeRzWcHiuziCyaapOM46xt3NQ3njbVtH8T6bJ4/0+58eWvg24+0DWNEXydQ09X++l7Zpx5ZxyTVX4zfsyaL8fPAEOrfCqTR/FD3msfaLWCKf7PaafuBZ0uEXqm7rmsTY4/4s/sXeIPFepabr1h4itvHngexukV5on86W5tGGT52P9Yyt0qb4P/tafEzR7bxJo/gzTbPxRpvw91byL/TNSn2Xk+nsAERJm/iVmz+lWP2ALPW/holnp9wt0t1o91cWesQWs5ksZSXJCRjo2G7+ldNB49+GfxU+KN1H4svNK8N+NPBv72XVdKn8uxuVlbYiXSLgNJzwh71MgPoT4FftY+Ef2hrtbGxuptP8RQq6y6TeLsmjZP8AWbM/eUetelecsY+f5f8Ad+avj39n79lvxl8L/wBt6LxZqzWbeFbq3vY7L7L++fymT928sh5Rz6V9ibFhRfL+Xd/eoiBC8yvHuX7rVJZu38Py/wAPze9N2M7/ADfeo2Kj/NT5UOKPjX/gv54Oh8X/APBLDx9DIsf/ABL5IJ4C/wA+0o2f1r+afS0kEMLN8rNsZ9zbl57EV/TF/wAF4737B/wSx+JDKr/Mtv8A+PPX8zfnfZvs8ieTDctbhBJO21MEcj/erWjFcw6lS1Nn7nf8Ea9B0T43/wDBM238F3OsLo/iHw3cTT+fcYMbK2WGzP309a8j8G+EbLwD+0V4d8SeIdQf4sWEmoPp2maBNP5N3Fdk4KJF/DahWzv+6a9S/wCCYn7M0vxt/wCCe/w31DW9UvLfRbe1uodEsNJg8l8GUl5JrheZPn6A15H4e/YV+O3gb9vltc8D2ttff8IffI0l7f8AzW89nvHmF3P3G2bsD1r1vbpQsz4+dGU6t0eof8Ftf21NJ+GHwt8QfDPS/DtnFrF14Zdr+CTD6ZoKvGeIgPl84/36/nD0rxC1ton9mssMcckZZ28r5t3b56/Rj/gtz+0Dbar8Y/GmiabcXLXWsXzteSu2+2ggB+SMP7V+ZaTMkO7d5iRt5ZP8OO2K8uUoubkj6bDrlpq503ga8+za2xZvurW5quqtMi7f3h+8U9v71cfpFyLfUpGVv4a2La5e8/1PzSbfn+lVzRtoaJa3Nyz1KOZG3M7Qsu19vysua9S8GalonxIhmt9Zhv47jS444InsLn7PHPERxlB/H8vJrxOzdnt9ka/KzbT9TXo3wWvRc2epbY/nhZFL/wC6K0iupjVgpaM/TL9g39mf45f8FJfg/t0HxBeL4e8G61Bpayz33+k6fabAXi5++pWv198efAP4b6P+zXD4R+IHh/wtH8PfCOnqlrLrLxwm0AGJJI2P3XPzYr+ez9kb9re1/ZsfUrOTx94n8F3GpXUbF9OY/ZpYPl3+YAcb/euo/b9/bn+HfjnXo28J+OPGHirw99nFvPZ6leSPDLIOSQjcN81aTnNxseXHBxVVux53/wAFX/j9pPjm/wBN8J/DuzubX4U+C9Qu/wDhHp7+5+0XWoGQbXJf/nnt+6navhEzJ8tttTZHNv3/AMbeoJ/irtvip8UbzxtNHb/Z3WxtWdrSNfuxKR1rh49NkmhjVf3iffQr97nrXK0+W73PYjdbkyXOx2ZF2tu3Abq1obhpZuay30G5m23KQvsh61JaOzPRFs05jQmv5EfajbVZhnd6V2nwg2TeJG+/shV2Qf3T615+/wAk25m/iFd58CnWbxDN/uvVO9wV3LyPqr9lr9pa3/Z+8VfZtW8SX+j6P4mukS9SCI3Cy2YH7woB9x93atD9of8A4KEXPjyHVrHwmvi1dEjzBFJb+ZG1zGP+eg968FvPHMngbxDpc0dvZyRx3iXUqzqH+ZRgYz/B60X/AO0nf3WsSXlqv2NpGLyQRQDZK3TH+7traN0zOrT1uzxnx94n1Lxa/lzR+Xbw3DymDkPHn1B6mufTTVvEUwSeYu75y3ysteqePNbXxtM1y2mpZ30339i7WauLufDapcwqreXtblP71c0oNSuioyexR0r4fat4q8yTS7V75bVdzpF8z7R3xVWzhmhMiSLtaP75/hU+hrY0c3mg6lNNa3F/prK3WCUpx74+8vtXq2ia34S+LuirYeMdNh0vUo122es2bbGnPbzYRx+NP2N9QlUitzxmzmGyR/8AWeyfMy/UV3nwNmZdbvv9qH/vnjvTviH+z3rfgD/TI2ttW0mZQwv9KfzEgHYSY/iqH4OQtYarqCSRurtH8h/hlHrVezaJ5kffn/BDrc//AAVE+Gu5fu3w5/4A9f1LV/LL/wAENLxH/wCCovwzXy5N324f+gPX9TVZlw2CiiigsKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigCK5/1Lf7pr+Vj/gpN4S/4WX+0D8QrG0/0WFfEF0xkVt3zCV81/T18f/Edx4R+CPi7VLVmjutO0e6uoGXqrpExH61/LLr3iSbUvE+rX00z3F1ql5JeyvL8y+Y53H/x41Mi4bnxb8S/2ZvEPgN2mdXutN+8J0Xcje3HNec3No9tu32+1l/5Z/wr75r9GpkS8TZ915P9adu5Jx6ODXlPxd/ZX0Txakkmlxw6PNJ80kUCn7Nn1A6qxqiD41Tem11/d7qdD87/AC/e/i+tdx4/+CGreBrz7Pf2r2qL/qpW+eO5Hs44rl30d0mZY49s0fVW+Xr70NXixS2O0/Z1sLa8+PfgeG6bbbya1brKVznBkHTFf13eJvgo/ha80Ox0XXJryNrdL+w0S9l+eCUxAA20n33cYziQ4r+SH9niZrP42eE/s8n2e+XVrdYp9u5VbzBjj+Kv6yPiLqmqa6/htfHGiw+H9Yht4fseqpl7O6lVQYzEV/49/n27vNPSq3o2M4rUjs/7fi8ZrNp8d/J4ns5oW1GyulSGTUMn948uMIzH+5yK5+/TSdY8dza9ot1efDfxFfeYkWoaMu5p2Q4KXFu37pRu7gdK2Nb8bSeIdbtYfHDW2qW2oXUenB0nRUs7tziSe2cH58NyuM4rrPiV8CNa8FWV80a3mtaY3lump2GF1a2CDGZnIKSLt/uisTUzfD3x4t/D1nY6L8RNJtvCtxqFwZ9O8QaRGX0nWZsYALkbw578Yr55/aU+DHxO1628ZaTpvgHTbi2axt9Ri1Sw2PJq+JwSmRxuVfmr6q0TxJP4nS60S2tbPxR4Yk0cKskqhI7Y7wHimgb95uPqKp3n7J3iP4J+dqHwX1pLHS2XdP4N1rfNo7bh8/2cDDo7dPmbFTJXA434A+OfEMPjbQf7NvNe0/QbyztbKe21ZQ32m7U4mIOTtxX18D/p0kMcPkwq215T/Ea+W9E+MWifEr4i+GdA1Szk+F/i3wfMjXuhakm23khz8hjuhiKXPYK271r6knh+0uyNJ5iyTCeIL8u4fWqjdAN3703btzetRvHu+WpJZd3zbUVd3PzbQgps21JmVW3Mq7/wPepckVE+Mf8Ag4EvPsH/AASw+Izf89pLSIf991/NK9z+7hjkXb+52CVl3KoxyP8AeNf0kf8ABxKjJ/wSj8aYbd/p1o5+nmdK/m1mmZ0aNd6x3C7nC/e46VUZ66CqJctmfeH7D3/BUrx1+yd+z3o+gr46+HsnhjSbryLPQNRllTVdFVzlw+wbGU7vM617J+2V/wAFuPD3gvwTcaV4f+Lmj+Kn1KHbev4Z3tZzx7M+WXcK+8HivyH/ALb8N/bJo76xuZpLqQfaEVh5bFeA+Ou/bXsHhXxD8A7GGOPUPDPnTLGELsw2KPcZ+9XbG0onD9X5XzI+cf2h/jNcfG/xVfX7zXK2NxJ5sUb/AH1B7H+9XmaIyfOu/Z2RvutX2J488B/BbxbcySaPeTafu+aONl3Io9BivHfGfwQs2uZJLW8SS1/5Z7WCtUSpKxvGSeh5GH2bXX92zdq1NN1K601/Nh+WZlwR/s1vWHhu60GZo7m1SaH7o/vtXSW3wNk8VQrcaDIjXLL+8tnb58e3rWSjZlS2OJtvO+zbvM+Rm3H616N8BNyWerMv+eK4XxD4S1DwleSW19azW6L/AM9fkbd/uHmu4/Z+dv7H1h1ZJGhZFcfd27hWvMgja2p1ieKrHw94kt5ry1s7rbMMpOu75e/FeoeMP2rvh/ptxDbr4L0e6gWMeYUi28+2BXlr/D2Txb4tZFk/1KjBRSVYH6V6h4M/ZI0e5s9+pfaVW4bqzBW/WuimuY560rS0PG/i14w8D+KLr7ZomnzaW1x/y6Mv3c15nf8Ah5Jn3W38PUfd219lar+yR4JhhkhtWuZmX7gZgzr+NeQ+PPgDb6PDN5M3+rYKoZvm56ZNZ1abvdbFRqe7qeGo99o9zH5cny+n8NeheDPB/hL4kWa22o3E3hPVI22W95eqFsJ2PYkZfdX0Z+wL/wAEefiZ/wAFDn1i48D3GiWek+H7hLO51G9l3xtMybggCnLfLX1F8Tv+DU745fD/AMATa5oPiDwr4u8QQx7/AOyLdZLd7lQOTHJIdi/Ss42W443Z+Yfxd/ZV8ZfBY/aL/S7m4sJo96ajDiS3nVuhGCdq1T/Z7tmTxVNtX5WtShRPmVifXP3a+pvhF+yj+0do+vSaPonw18T6ssNwYJdMvbaRLeeVP9YhLr82PUcV7don/BD39oD4hXMmvaD8J/8AhF5tU+S/tzqECLbHuQM5pqUWxRqNPTY+OU8JR63rFu11+5t7P5vLb5mau+0rTfD2iWytZ6fbTNJ80gZfmXj3Ffcnwf8A+DbP45alr1rc614k8K+F4fuv58TzMw/4Ca988N/8GyEd/c7vFHxOm1T95uI06J41UY7bhV3sFSbZ+Qd/r2im52/YYY18zrKvy/pVfxJZ+F9V09t1rZr6vBlmr90vBn/Btn8C/DFgrX8njDWJFbnz7mNkb9K9U8E/8EXvgD8OkVrP4Z6DqTr83mX8Rkb9Gok42JTfU/mZ1X4aWt/MzaVDqV4m3cYktpGZvxxXTeDP2Ifip4/gt20H4c+JNaS6bbEiWxRl/wC+sV/U54Y/Zd8J+ALaNdH8H+G9Nt4f9WkFmm1SPrk10yaJfbPmWGSPtF5Eaoo9sAVgqltCZRbkfzh/A3/gjD+1xc38baX4Bv8AQ0kYb49WZPszKfYMa9u1X/g22+NPif7Rff2l4G8O37Rl5Y2lk/1o6EACv3MTw8/k+WzTNGzZ2N92L2XH8NXE0pof9Xvj/uH+JT61Tk7HRGMbeZ/OD+zz8Gfjl/wSC/bn8K+MPiR4HvLi10O4/c3MkZew1KIkjzInjyd3PG6v6Jf2Nv8Ago54B/bl0yS38JahNb+IrWFbjUdIu42jurRDxvUEAMN1dGnhjT9b0htK1bSbDVLC6bN3FcQCQXP1zzVzw38K/DPhDxDDquk+G9K0nULeH7LHc2UAjmWHqIcj+DdWN0aRR6pYRv5u5pJvu7MPj5sd+KuVg6R4jhkgjNyqQyL97H3d3tWzDcLcRqyfdbvTKJaKZ5vz428etPoAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOG/aVtzefs9+Nol+ZpNDu0/OJxX8rV/E1teXSMvzLcSJ+T4r+qf9o9Gf9n/AMaqrbWbQ7tQffyXr+VzxDLv1W4/vLNMp+oNZVColqzuVhdY2+/WxDNFCjfL5j/3P4G+tc7pVpI6QzFqvW14+9ZG/wCWbHj+9xWpJJrfhzT9Y0SS1v7dLqxuvv27pvVf+uY/5Zt714X8Sf2ToxeXFx4duHuIVx/xLrqXa6/SU/er3RLuVIWf+KbC4+lQ6jshSNGmhke4bp/FEaPssTPk/wCFfhibw38ePDMc0d5b3kOuWrbJYjGq/vB0z/6HX9qGk6La+IfAdjYahb215a3Wmw/aILiISxyDy1BHPWv5T30Sz1zxPo9xc6f/AGhNY6ha4k3bXTEqck1/Vv4Uk8/wVpNwu1Y5LG3KRjkqCi0ov90KJ4p45/ZOGk6lDq3geHTZEtZPMj0PVrYSQxle1o5/49s+ortvhv8AH7S/EGqrourQ3nhPXrdgg0+9by4Z5OhEMpwLj8K9Gm/1zN/wH8KwfiF8PND+JejrZ61pqX0f3I5F+Wa2z3WQcp9RUFHP/EX4EaZ4reS8s5JtB1zd5rXVk21sdvNA/wBYvtWD/wALi8SfCvUI7Lx9pMl5p8fyQeINNi3xXIP/AD1hX/UgepNQzv4s/Z80f7TprXXjbwrbtsjtVTfqFmv/AEybrcf8CrrvAHxg0H4qWd7bWVw0l1HbiW80m8iC38AbjEsR4xQBH8Qvhd4M/aW8BR22q2uleINFkXfbXMTCZoDjBaOQfdcL0NeKxfDn4vfsilrvwbql18UPAVv18Oavcb9YsV7mO9bJdBjiPHtWpNqUPgTUta1Dw/qyeFbmxuBvtGQPb6uueUER4hx/EUruvh5+1PpWo/YbfXoYfDt9eNstpJH3WU+T0jl7k+9ACfBj9qjwb8enbT9Juk0/X7f57jRNUXydUtmHBb7O3zug/v16XDcql/Ijb2Re7fMrN6D+79K8p/aH/Yw8H/tF6hbX97DNpfii33Saf4h0pvs1/Yt1G50x5iez15nc/Hj4tfsb3kcPxO0v/hZHgC3bZF4t0OD/AImljx9+6tQAioF/jFTylROD/wCDjq5Fn/wSp8abv3e68tP/AEKv5r4ZGtnt9jbnkj5r+hz/AIL6fG7wv8bP+CN/ifxL4T16x1zQ7rULXfeWjeYi7X+4wPKN26V/NjN8RdNkmVUZbfzpBFHJ5hZFz2f+7mnGOoS1iO0f4fX/AIx8VTR2ce1mk2l/7tfRXwN/4Jy6P42s7i61bWnhh8vdIf7prrP2df8AgnL8ePHNhbzaP8I/GDWtwoezu7i28uO5jcbhIHB+ZeeK+mPB/wDwRk/am8T6bGjWPhjw+jf8sri+ZJVHuld9CUFucNSUvhR8z6l/wTK8NmzV9B8RLdfNs2fadrce1eb/ABF/Yhm8Evsj1j7Q6/MU27tn4/w1+mXgb/g3d+M11Zyf218VtH0lJMMU06ATTRH8a9Wtv+DbbQdb+zt40+L3irXDHDt8q30xLfcfQlTWkpRbuZxpyWp+EvifwtN4SufJvWt2kX/V7m+9Wbo/iSx0fUvMhuvJvo23AwTjcp9v9qv6LPAf/BvV+zP4Gv5F1DwjqXii4aH/AI+7/UJE2n6ZIr3T4b/8E8fgv8NNNtbfSfhX4V22vSW4sY7hmI7ksPmrHmibS5uWx/OD4J1vVfj3YR6XqXgHxD4sZfkjvbXSHe+/7+jJZa7DwN/wS7+Ln2m6/wCEX+FvjO8sNYyxjvLF7dl28c5Ff01eFfAGjeGNv2Hw/oOlrH9z7FpkcLL+KgV1Vh5kMyv9qmj3dlbb1o5olRjKx/PP8Af+CIf7UGpa951v4N0rS7OZQQLzU1Rl+uRX014b/wCDfj43eKkh/wCEi8XeHtBh/uQxJqG0/hiv2k0rwlbXG2Zbh5N3Ubq1E8M20MLKqsvuvy1n7R302E6bbuz8lfCH/Btdoibf+Es+J2sXVwvX+zbY24b8RXfQ/wDBvB8E9BhW4S18W65qUcZWOO41V2tpyf45ARjiv02trZIbZU2puXr8tHyndtVV7VMqjsU6eh8C/AH9lfT/ANkXSl0Pw/4dh8M6fJcfaLO0t/lV5RwXmcfe9s19EeCfijeaP9nhvFWRfvBtu/j2/uUftOJJNNpsknyrDN8+3+Ie9czbI9sjOrfeXrXLKcjpjTjyHtlr4hs/Ftt51heTbF+TerbZImPXj+Km6d4StY3+z3EklxcffD+V5e7/AHzXidtqV1o+2S2by3VtzBfl3V718Ote/wCEh8IWtxcfNN91/wC9V0Za3J5UWrPwbp9n5bIqN6+b81WvsFtbJIy28PytztXYtWIUXZt2/N2pzIyRbf4e/wAu6tqkrbhyLocH8R/GD+GPFVvbrbw/Zmj3sadpWpWHiR1ktbr7LN/zyf7sp9q539pB2tdU0+4RdqK2xiPm+8MdK4W5v7izuY/Lk+de/wB1qw9oUoxPYLy2dLlmkV45Nv8AwB6rpD96uP0H4wXFhMttqCpdWqr+8LN8yj1rqPFXjnR/D15o9s/2maTUpN9uiL/DjvR7S5Eoq5J9jXZmm+Vs/hq58uxX87zEm+aPH8APrTZoWR1WRd275gVrXmbRKiR2dnv+erkKM+1lb5l6imxbk+5Uyf3v4u+2oLHTIlyys6/d61YsNSuLD7km6P8AuVXd1VN1ORF+989AG9YeKI7n5X+VvStSOYOPl+7XGonnTfd2+9XLC/udOfZ96HuarmA6qisvTddW5H7z5V7GtQdOKoAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDjv2gf+SHeLvT+x7r/ANFtX8pniF/J1jUmb5v+JhPx35kOK/qz/aAXf8DfF2Ov9j3X/opq/lQ1uFU8Sagz/f8At03H/AzWVQqJNZ+Yjxxq21V+U/lmo0uUSZf3ny7t1CP5M25vmXcf5VTe5jms1bb5bev96tSS59v2Qsr72fzCyFfurnpUKTPM7M6ozcLHt+9k96o/afOtmjT79R23+hursz7/ADBxUz+Fgb3h5G/tvSd3zNJqEHmJu+9+9Wv6qvhlbfZvh14fTbtP9l249dp2Cv5T/Dfz+JNDuV3711CBnDenmiv6tPAt1nwP4fkX7kmmwY/74FFP+EZmo7/Oy/xetQzbZkaNvmWT5SP7w9KcfkZlb71G/YZPlkbcu3C/eqTQyfHM8OleHprqa4TS47OPBkD7UUHgAn+HNfK/iz4g2svj+TSdV0m5s9U0mQXH9txfu5IA33Iw6/6zH3hmvpr4kaBpfiHwZfaNrEMN5pOoL5V3E6u3m55HI9Gr5l/4mV54kk8Lyaf/AGxcRsYrbT7lgz3luo+5ayDhFVecyGgCn4z8PaD4z02S11aP+2ns5jeDVLdnW6ikm4ke9QcKpx/DTvhdol5pV4w1qxfVvDerKYtUkt18638hPli8oH54129SOa6z4A6OvhvW10fS9SS+0uO4LSDUsLqUDOcGB5D8kyx9ttUdS8e2yftAyeGdEjufCfjO+3/2dev89tfFOP8ASU6eX7LzQB0vgzVvEHw+1CaHwHef21oWnr8/h2/lzLHGTkLaSHl3x/fr0n4bfH7wv8WL240lZm0/WNPjKalo2pRhLiDPGHB4fPtXzT4t8KpNrFvqGvW+q+GdYsZpL2yvLKX/AEOe4XKk24/5ZoeuJax9e/aDt/EOl6TZ/ErRZrGa3hW4s/F0HyXM46BkK4DSjH+7VU3fRlRPKf8Ag4H/AGR/Bfw3/ZD1Tx94bsZvD97qWsafBqdtZsUstQXzPl8y3+4Nrc5Ar8b/AIgfA7wjqs1xqlvo/wBjuLybypTZKHW8lJwCEP8AF6Yr9hv+CzFz461X/gmnfLPND4s8H3WpWEun6z9zUrYCXn7VnAct0+UV+ff7E+g2fif9sn4X2N/aw3lv/wAJFA4tGxslkV+CR/dFLmsxVpWifsh/wSB/Zq+KX7Pn7Jnh+w+IvjK81C4lhEtvpcrbm0y1YZSMnrv27eK+qks983mXFmm9fuSryzD3zWH/AGq9hf3SJvuFt5Csssn3vYAf3RW9oniz7RDsZo9vpQ9SIRW5Ve2hS53JGkn991X5qkTTY0Rn8nb5nUf3hWwLa3vo98K+W27pUd5pkiIu9qXM9izLh0q3+z+Wq7VbqPvfzptxpUI+VY02r0+laHk+XR5O/wCanKK3EUU0qPZ8reX7L/FQmlRv99fl7Vc8upEhpDTsU0tntv8AVyPH6VsWerv8u/5l71TeGl+b2quawvM27fc7b/uq3ao5gpbb/ErZrNh1J7do4497f71cj8WfE/jawSP/AIRjTdKvtqkzpdZ+XHQ8UcwpK61Od/aTso5fDEkk8yR7syx7vvNg1xPh7bqWg2sytuW4/wBV/tY7V8s/t2/tD/tDax4Vm/4QWT4etqUMLq+mXtjcJeXgV+RbucInyhvvV6Z+xD8Wrn4u/s9+F9Q1D/Q7+8tf9Mjb/mH3YJDofyrGhJzvcV7Hql/bbHZ/n2x9R/d+te1fBl0TwNDJu8zc3H+zXieqpbpcrD9o8x9u3K/dY+tdp8NPjHH4e0SOw1CFFtVbAdPvVMW07oE7ndfET46eGfhSJG1m+S3kjXe0X8ez1x3FeTX3/BRPS76VU0/wP4zvo7hitvN5CRxzgdwSeleneIfh94P+L/lzXFjY6pNHH8kkv+uiX/ZPT86+fPjx8EfiF4bttSn8yz8SeHpL43lrLbxFLnSIFTb5bAY3/hWs7tMJOyufLv7Z3/BYPWvDfxs0Hwvq3wn8TaH4e1rUobO28ScPZtIHGUODlW5r6u0ebUvFVtNc2Nv9otrdQzz/AHV5HvXxv+0nb22t/CXWLy+WH7Pa5ukg8ox7pYfmQ4k5Vgwz719Efsx/E9vH/wAE/C+q3DPcW95Yw+aEbYssgQZzRCnFx1OdYjWzOo1W8khvNzqlx5LBpAv3cVsa9Z/8JD4qsfGaeJrlb7RY9kemKo8nbjGKwfEOt/b3m3QpZ2+793GnzM31NQvcyeTMqqkcbKOV+9UWsdXMnqj0bwP+0VJYfudQt0aH7r7V+dcmvVvD2sWPiSFn0q4S4h4aTd/CT2r5VmffcySJ8wjULs/ib3r1T9lrUpLPxPeQo222mjLvG3qKcb7F2Vj2qHTf7/8A47Tvsyo+3a/1qR7+oZryTetWQWPsaIu5qE2/3k21Tfe7ruanUmrgWn2fL8yKtE00PyqrbvUVV470bF+9S5UgLCTLc2cifxQ/Nmuj0q5+0WMbfhXLW77POX+9XUaOnk6dGtXFgWqKKKsAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAOQ+PR2fBDxcf8AqD3X/opq/lA16/abxVqm7quoTc/8DNf1g/HeNpvgn4sRfvNo90P/ACE1fydeKka28Xasv8S307H+7w5rOpsVEvN5yJCzfdas2/dYYJN7fLG3T+5Uz3qvbW6rI7MvWq9zcr50ivHuWStCQeJbOGOSNtzTdKj+0tNcqr71dajih87+Lbt+5Q6b9S3vJ8u3b8vrUz+FoDe8PX6v4h0tFXj7dAuf+2gr+rL4bR/8Wx8OqfvLpdtj67Fr+UXwYVTxPpKSSfL/AGlb7fxlFf1geD0XTfBmhpL+7VbOFPb/AFYoppqlZkryNJ+WZv71c78VNeuvDHwx8QahYLNJfWdi8sSQRGSRiP7iDlmre89UdkdtrL13fz/Gj5obhVRkZ4/mcL8zY9P9nNSUeA/DT40eLPiR4BkhmksPM1SxN7p9wqhHtAvymG4t853lq4Pw5Zw6V4huNQuNa/4RnULf5ZJX/wBOtdp7CVcCNGbjYa9w8f8Awx0HwFNrXjCzt7xtYuodkv2X5t0eckxxDhm9a8H8MaPdQ/FrVPFz2MPirwjeRvKlhpf+kWfmY+fenAZgvJQjjrQBN4c03/haniFvD2t6ff2b6fI06SxKbaSCF+I3tZP4sdeK7Bbi3+GPjuObxBZv4q/4RmaJ7e/isymqYKZTKffuH29SK5/QfGFxf/YZPAd1/almzJO9pesXjWMHJhS4OXTH9wV1XgHXrjxP8a7VrqF7XXJLhGe01FjDeW1qA2fKTncg/wCemaAPPf2gfiXdWHgnS/E/h9f7e8NtC8WoxxWZuvs0zz8G5t15VQp5BrW8QfAG8vPBtv8AZr7R/E1na6et5Po8+PszNLx/oUp+S2T0HNbHxstrD4XTaXr2kwvpt1q001rey2bbklOScyWvCSfL3asO8+KNs/hW88M+JLX/AIRnw7q2ixtpeu2vy2eN5I+0uP8AUuW/gFTG6bKieC/8FSfjT4U8Q/8ABL/WPB+mtNY694ZvrKKXRNRl23UpV+UhY488D++tfnP/AME9LJb/APbt+GLwqnmf29CxG7d5RJ6Z9q/Qr/gpr8BH+HX/AASe16+8Q/2dqWqw61b3Gj6vw81pBI69Lj77Ky18B/8ABOiZk/bq+GMccPlp/bEL5X+IA8n8am0nImv8B++mq/Pf3CyfLJHJJjb/AL9Rw3LQurL8tWNSK/2leMvzN5j9fvffqnDuT71BNM6DTfFrI67m+Zf4q6qw8Tw3lt+8+b3rzF98KbquabrD220t/DS1KPSvJjuU3R1Vmha2+Vlfd7Vi6J4w/wBIWN9it/s11lt/pMKsrfe+arUgM3Ymzd5clNSFv4FetpP9T/u0bP8AaVf92qAy0tpn/h2r/tVMmlOfvNHV77nX5qPlp8rApnSmd9zN+NOOkL83mN8jfMfqOlWkcSUO6yf7W2ntqwOH+LXwK8P/ABa8PXVvqVmn2iSEot2q4mQY9a/On9gm5vPCfj/4qeBtUvPOTw/4mktz8vy8AHP/AHya/Uoq7bm3fNg4FfkXpN5rH7PH/BSX4vWepTTf2d4q1Q6jbG4gCbwwC/0ow6SuYVr20PsK8ubdNS8z/ljGu2LZ/F7Gq6Xcd5bTWtxH9n877jp8rLXN6VraXM3yrtX72Fbcefauq8PaJN4h5T95Mv3Eb71Y8rTsx0X7uppeHtfvPDDw/Y7ib9z975vvYr374a+JG8YeFftzL/pDNtJ968Fh8K3KHdN/o8y9Q33a9g+Dji2+HTKsbyN520BflZjWsLXNLX0Z8Z/8FyvhF9s+E/8AwkPh9bOHVLi3uIbmB2CJqASMkY/vOM8V8+/8E6/i1c3P7N+h6Pc747i3UM8TtllOOQa/RD9uF7bTvhqomvNL+3zK8EL3ttHKnlONriJGyFfb0Ir8m/2Y9etfCXiTWoYbqZo4dQngiDfewHxzS1crI4qkIqe590aDeR6xbLI/3mbZsVttalhZtc2cypI6pC3zvtLNivK/BnipL22s2ebb67fWvUNK8bXHhvRJobeaFvtXdog9Zvc6Ye77rGvNDN5kituPGH27a9Q/ZsRH8ZXEq/MywnJ/CvJdNvGuZmd/m8zqdu3mvXv2YE/4qTUG2/6uPcT/AHR6mhGyZ7d/yzqPZv8A4qmeFk+Vv3aLhjI33Meuf7tVUdnRn+6irvy3y8dK0Ac6fxUI3+zQkLum5fm/vp/FF/tGjeydaAB3b5dq1M7tsX/aqGR2apHm+RaUtgHD78ldbaf8ecf+6K5BJNzyV19p/wAecf8AuiimBLRRRWoBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAcp8clZ/g14pVfvf2Vc/wDotq/lC8bKE8Q60rff+2XH/ow1/WB8af8Akkfif/sE3X/os1/J38QHZ/EmuNu+f+0rhc+3mGsqhUTJsJnh2qi/LVq8dobnc/zeZ2qO2uWS88v7vy8VHcvvmb+J171qSSTbdm77tQworzfdpvzTfK3zVMj/ACblby9vWp6oC5oMML+LdLW4/wCPf7dAsn0aQDj/AGq/os8Maf8AEj9j3TdLtfDupTfFLwrNYxTx+GLpwuvafb7B/wAepOEfad2fMNfzq6b++8Q6W679v2yD7q7mz5gx/wCPV/Qd4z8Ya9rdt4Tk8Q6LceFfFuk6bDb27vOPsGuRbMF45BxHjrhjVz2M6fxH0T8FP2hfC3x3015ND1T7Pqlm22906bCX9nL/ABpIrYyf93K13qTJvZFWZUZemz7rH1/2jXxHa/D2x+KPiqzj1i8fwz4k0lvtUfim1bydQWA8xwwy/wCrZR/FnOa9GX9p7xp+zBKtt8VtN/4SDwrMwW38WaNA0kkcJ+59phXL7yNvzgYrI0PoDxtDJeeG5raNUkkk+aORm2qqjqcmvlP4e37XnxZuLOw1qHS5obyZZNXtV8tYgq5xHE4CNu+6SRX0brviXQfjD8HNSvtK1Oz1XRb6NSbiyl3hY+DzjlXHpXilxc6JrHieGS4t7bx9p/l/Z451iMOqW23nEnTdGvWgDP8ABPirwv4S8ZzeKr+3TQ5r64NrfyWWX0rzEPDyjl0kLddoxXrniGw0T4x/EibwzfW6SWcml/arK/tWO+XcAS8cq+jdia8r+Gnw9WbxzdXKf2bq2h3GIspEY1i38Ojwt8+dvevQo/h7ffCjxNdWvw3uEY6bie78O3mWttrDOLdz9x29zQB5b48+HN+nh7TbPWNYvNYSO3kh07UYMLrdjCJD1jbETplf9+vXvg5eaL4h8BzW1jfWGrLpuj+VeSvEGTz0BPMbDPHXpXifxm8eX3xI8Jabpq+Gbyz8RaXC8sFtcSiOTTrrzf8AWCXhJPk/gFdtZ/A238Z20PiBLzUvDPiGPQfPn1O2UpNeLgh0mj/jQ9MAZoKifK//AAVf+FOreCf+CbutappOuTf8I9qF7by6poysJrbz3k4nt3bJ+duqZwK/Pv8A4J3O+m/t2/C1o1eRm1KNX3feznmv0C/4Kj/EzUH/AOCZeoeHNS8Nx2OnrfWjaPrVghXT7kiX/VvEfnRwvXfXwH/wTuhkm/bw+GsccbQuusRyn5g/Gfnwf7pqo7mdb4D99r9P9PuJP4mkfj8ar1Yv5mmubpdvzNcO4P8AdUHBFV65+oUxsy79tE0OxFFOxQ+7726qe5QWEypNM/8AEq/LXoHgaaS5sFdvu7a4O2RfNk+X7y813Xgl2SwVVb5dvSkBuffT5f71O8io9+yFmX8akttsyblbdW0dwDZsoo376KsBr/u/al+b2pPvuvy/LJ83P8NRyzbYcp8yqpYH3HapkroZY/5Yt/u1+Pf7e3iezsP2urW/azS6uPtBWRHlO7yOiHr2ev18huc2jO2/cynI/u8Zr8A/jf8AE66+Iv7aXxC1W+VIU0/WJrDS0/vQqASP/QqUPdMqh9qfBPx4viSw3ySQx3lvMUzExZWUdOte5eGPFTWFzG9s2287P/DXxb+zH48hs7yOzeTzEkXeB/zyz2/CvqLw94oV7NVb5mZuKmpK8rmdM9IvPGdzqTq118zN3Wva/gnIsfgBXZtqrKWz/dyMV80aVqTSKvy/xV9MfAp9/wAPY2X73mfxfSin8R0I+Q/+C3fxk0v4I/CTQ9U1BlaGzmnVE3bXnuXTEQT+9h+tfmH8B9euHhhv7hf9K1KZ7qcf9NH5Nfbn/ByZ+zjrX7QY+EJsL57WHQ767uJIlbaspaIAkj+KvhfwTol54AvIbHVIZoWjX93In3Pxq8P8TOWpTvK59cfDfXo7zRIXZtrLXpmieKkuUVWb5a+a/hX4k3p80jtH93MVe0eFr6N41WHZIi/fLffrHqV9o9e0q/Dwxsv3Wxtr3D9lFHfxJqRVdzNHgfU188+G71bmGPZ8qdhX0N+yi+/UtUbbub7OMfw/NikdSPVPG17qGgeEtSk0vTf7W1X7O721hI21byRf+eh/hQe1fOfhv9szxx4wg8D6s2n+D7XQfE2qPpF+0Us/mT3iA5+zhvuxhR/y0716x+1L8UdD+FHwytbjXby+0W21i8TS01Czb99bTuCRIPQDGK+a0m0nwF4otdS0PQ/E3i658O+XcayJ76L7N5Mj7UvCP4nyf4auJJ9tPufairIvk/J5jfflH+3R9z71QxaqusJHdeYkj/Z0yYlKK2ec8/eqRP3taMBz96d99Kbs2Ub9lRLYB33Hkrr7H5rKH/dFcgj7/wDebrXYWHy2kY/2acAJqKKK0AKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDmPjS4T4ReJ2boul3H/otq/k88bQsni3XN33f7QuH/DzDX9ZHxaiW6+F3iKNvuyabOv5xtX8nvxCtv8AirfEW1vu6hdp+UpFRLcqOph2cyzPI7N81OezV7Pzkk3Nu+f6VVTzLBNqx/6yrH9m/IytJ5e75qSk2SRwvs27t3zdPlqSV1muVTbtT196bCnnJt8zb5fepPO2fuwu7d3q5bXKRteDLZbnxDpNs29Y21C33lG2PjzU6Gv6rLPwXpvjP4b6XperafbanYzWMCyW90m/5RGCBn1DV/KX4YR38SaOitt26hbtn/tqK/rE8Bzed4D0dm/i023bP1QCql/D5jGn8R438Sv2atR0KzvP+EdjtvE2lXFuYbjQr35XijYYzbSH7jDtVr9mPWfD8b6lo9vdalJqnkpFPYav8t/IqDGwbvvoq8Zr2R7Zobj59ka7uI/M+ZvfP8Ncv8UfgzovxUhjbUoXhvocNFqNlKbe7tsf9PC87f8AY71kaHlPj/8AYcm8N6xda/8AB7xB/wAILrUx3z6OV8zRblv499uOPMP9+vJ/B/i288H/ABjZPENv/wAKv8bXEZXZqi/aNJuSoz58dz9z5ugj+9Xv1v4q8XfAXy7bxRHdeMvDcjfuNbsLXbdWY7CaJf4R/frzv4r+Kl+K/jm8tri40u+8F3Vun2ae9gF1bahLn95Am7/UyBOcipkwM3S/DHiDxz4vVtS1BNDvNQXz7PV7f5HvJO74/ihHXFegWF+/wy+JDeIfG0l59uurVbI39q++w1WJRjzniH/Hvj++a8v03wx4g+GKLq3w1vF8ZeGbWTZB4a1uXZNbAf6xLO8bLyMenl16X8Bvj9of7QPxQ1K2hjW1aSx8i+0PV18q/wBMCALJDJbt95GboaqOoHOftD/HHw74b03wzpeq2aaxperWr3tpdxfNHEwkwPLlHCPTtH8WfEX4dw3mpabDN4q8MX2l+fFZSru1bw8zggHzP+XhB6Csv4u+EvDvgOGxsYYUhsNWjkvLi0f99ZxYkKg5PFvH7it74U/FPR7f+2vDN3Nc+GfEMegyW9lDLOXiuo9hxPZ3B/1ntiglN3PD/wDgo744sPFv/BJXxRZpeWd9rVjJatqtuyiO5VjJy7wHlGPYV+Zv/BNlFT9ur4ZtHsVvt0a4X5tqk9/9r1r9E/8Agpr8IdDH/BK668TXGn3lr4m0+O1t21DzzHc6l82PMmI/1h/3+lfnl/wTlmTSv24fhjcNCivcahGpRf4uep/2jTTsFSXu2P3mudqXlw277sjp/wCP1Ci+ZVi/dBd3TL95pn4/E1X271+9tqOVFR0Q7Z/eofbspqJ5f+1Q/wBype4Elt/rW/3a7rwZxpqt/dWuFtv9a3+7XdeD/wDkEf8AAaEBsIn7naf+WnT6UW0Kw/KjU5OsP+7UltjfWoDY3U/dp2/56hufM8tvL+9upyeb9j/6aUuZgR+dIkUm5tzNJtA9q8p+IXxm8UeG/iFqmj2Og21xp8OmyXllcLONzSoM4cdl3V6lc/cVkby5o8sQvz7fWvmmw+LXh6/8Z+JPGGn61qurWN8s+l3Ojvp+z7HLB8rvvz/E3Qd6OaQH0B4E16fxR4Hs9UuoUt7rUId88a8rEwUjFfg/8cvgzqnhL9o3xtrFtazX1vfatM8u37tmx/uf3q/cL4Hapq2oeCmt9U0VNB8n5La2WfzFljdNwO7+97dq+W/Fv7OttrHii+ZoYbdbi8eVh/epNtmdQ+C/gH4ntodSt1VfJmh/dYf5XYjvivrrwT4jW502Hd9+P7waqfjD9hbT9YuWv7G3+x3DfckX5dprJT4e+Ifhj5aXVu99Yx/KbhfvcVGvUmnE9i0HU0uYVdfmVetfUnwHdE+GUMv3kk+cFfTpXx/8K9SbxDf2sdjIkn2qYRG3/j5r6m+GkeseEvDdvo/9i/6PGx3yTz+Wq9+KcdzbY85/b1+GcfxL1LQ3eN9lirsmflXLDFfL/if9kuDUrBlmtUZ5F5Tbu/Wvsb4i6xN423M2xVs5NiIrb91c2ltsm3OqfTb92rj7rujPmZ+ffif9kjWPAFzJNoNxNCv3vsxX7x9Kh0HxPeaJcw22qWs2k6grbSH+VWr9BNS8P2d/ud44f+BL936f7VcX4n+Anh7xtZyR3VrDNu6zy/65fpU8qMdeY8X8Da8s0KszIvuzfLzX09+x/eb7/UmdUZvLTCN/FjvivnvVP2UdV8B3LXXhm8h1azjbcbK8bZIo/wBgH71e7fsYQ3Ueo6st5azLMqjJuF8t4PZB/EtHKdcdUeifGb4P2/xp0jSdKv8A7G2nQ6gLzURLFvFzEAV8lB/CTnOa8r8Mf8E9NN8HaXa2Nj4q1K3sVj+y3sb5eTULYS+aiF/4WDfpX0VD/F8tNf76/WizQh37tLCG3jXyYYVCRxf3QB978aaiMn3aH2pt3U1LxN+3bRqBJuo2NJRvV/u1InajUAs0STav8W6uwtvkgWuNsfvr/vV2kH+qWqiA6iiitACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA574pgv8N9eC/e/s+cj6+W1fyffE6ZrPxn4mXbu/4m11x9ZTmv6yfiEPM8C60vrYzf8AoBr+T74uv9j+IviRNu5v7WvVI9zKcColuaU9zk38x3Vtv7te1NmuQ829l+b7tTWczXO5V+4vWmzQ5m/vJ2NREzJI7lUh2hfvdaLZGS8ZXb93t3AU353TdGu5VqbYs235vnrV6oDQ8Nu39t6Ov8UmpW6p/wB/BX9X3w5h2fDrw7CzfvI9Nt/M+gRcV/KH4Vk+zeJ9JbbuEd9bt/5FSv6sH8W6f4B+Fdrrl/N9nsLfS7d5JApbaoUEnA/2auX8EiO50H8ci/3m3HdRMm9FXsrbsVl+FPHWj/EDRLfVtF1Kz1SwvlV4pbWQSL84yAdpOD7GtTev8Xv+lYR2L8hsO5Ek/iWT74b5lb8K8v8AiR+zTpnim/8A7Q0Rv7F1Rm3OIl3WtyRyBJGeIwW6vGM16tCu62Z1ZGX/AHqj2bEZ2j8xdoQRr8rdetLV6INtGfMtnYXng34naO/iO1Xw3qDah878rouARj7M/XefcCvUPjf+yz4X/aASS5m8zR/ElnMJbTXNLYQ3VmeqOSuBJ9GzXXfEvw3Za54VksdRt7bULCSZA8Nz9yUMfXjDDtXm8PhjXPgzfyL4N1B/E2l2eJbvw1fzhryIdvsp4C/8CzVQTW4Hh/xOtPH/AMENKXTviLbzeLPBmn2pt7fxJYQIyzqZMh9QH8GOmIwRXp2sWGn/ABa+AkMmmt4e8QeXp9r9nknby3tsyfPHvQb0Xb0FT/Fz9oDSfHfwT1DVtKvJrXVNNvF+16dLAWuFk4Hk+WR84HcqMV4pYeA9Nm8SXV18P9eTwT4y1iQXWq2iMW0HV5ByDdRZL78/3SBTYJHn/wDwUs1XxbN/wT/8aLpsiax4FhvobC4tNRTy9T0WaN1AFsF+SSMt3kO6vgf/AIJwW0b/ALb3wvR2RWj1CNsf3Tnof9r1r7I/4KMfHG58IfsA+Ovh78RNJ1Xw/wDELWNYgvUHlGSx1OMSKfOt5FGxEGPuMc18Q/8ABOUrN+3n8M0XYv8AxNI2Gz5VbJ6/jSCqvdP32mdZ9Svmb7yyPj86jhRZvv1NM6zX9wqr92R2z7BzUaOE3bqA6IjdFR9q/dpr/cp/ze1Md1hdd/y7qze4E1nt86Td/druvBif6Bt/h21wqbvNkZfu7a7rwU6pYLu/ijoiBrfNsj/3aIR/EtSfchV1+bavT3qOCVriPfJH5LelaAO+bZu27ab/AAK1G9mTa3zelO+bYv8As1WnUCneIHtpFj/efasxE/3cjivBbn9hmx1PWG1STULmxuri3vLK5+z/ACrKZsCOYjpujr6ARlR5FX5Y5Pm/3TUfzeZuVX3Kv3/4cmnyoZzHwu8EX3gbRZLPUNcuPEWoNGkUlzLEE8vbHhQAOOR1ry7ZJDqsm9lk8tmxt+brXuVtbeSir5k37tShH/PTdzurjf8AhT001/JJc3kKxt/cUrT5RSicXbWyfK+2bd90dNtF5DC6Mjx2zI3US16FD8JdLh2+ddXLfxf3Vq8ng/w9YRb2jhmX7uXbdWbiuhMdEeL6J8KNBm8eaPqVvb/2PrFvcByIPmScDpXrWparqGpQ3EitNHu+XykXduPTPNaFreaTpu77Nbp+5kDb9m5vzqabxD5zqtvburbedvrmi1jV2tqefp8Otb1WwaNbNI4Vk8xS/wArZ/Ciw+C2sXMjedcaVGrdSrFm/WvRkutQuYWV4/3attO6nJYXNyjbrhIVX5Tt+6v40EcqOFT4LQw/8fGoO3qIFDN+tSW3wl0GzTzJrh2VeqP8v8q6LxLPpuh2zNqWvW1mkfzEy3ccP/oRFeS/E79sn4L/AAhsJLjxD8RvD1v5K73CX0d02PpGxoDlR6NYaJ4b0r5UtUjT7wkZt3T361oJrdnc+YyR20P8O9F+ZsdO1fA/jn/g4Q/Ze8Daq1vYeKpvEDyMW/4ldjJG2R2LuCKsfCX/AIOKP2cfiv4kh0u/1TVfDdzI3lQSalEHjbPqyABc0LUD70RGeFTH8yt1NEyL53y/Mvaqfg/XrXxJpVrf6VfW2oabqCiSGe3lSSGUMMjDKSK0pIfJh3fw7d3y/NxVaAQ+XR5K/e205/kRWb7rfKtNR1f7tGgDnRf+BUJ9/wD2aaj7n+WnOnyf7VEoqwDbb5PMx95W4rsLBma3jz/cFcrZ/Pds38Df1rrIU2Iv+7Uw2AkooorQAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAM3xgm/wAJ6mv961kH/jpr+Tn40/P8UfFTKv3devf/AB2dxX9ZXicZ8Oah/wBe0n/oJr+T/wCPH/Et+K/jBE+ZV1y+x+M75rKoVE42G5VHZFX5motka5+T8qjmuY0uWZP3jbadZumxXdvn3dP7tMkkhSaz8xWX5ackwuZlX7tWEfzvm3U2bSv3u/d8n3qUnZCZoaDuPiTR3jXdNDqFvJH/AHW/ep1r+orx+qTfswSIsf26zutJgh8v+JVaMB//AB01/Lj4b/0zxDpMe6ZfM1C3UBF+Zv3qda/o0+IX7WOj21vqHwr1K1ufD/iT+xbe60m8uV2abqrBAUQS9FYsuMU+Z+wEjk/+CVnw6/4QLxD8RLexkmh0O4kgSzjjtjbwqV3A7HPDyf3yK4L9oT/gvP4X/Zk/bbvvhjr3hm9u/CmgrEl94jictJBM/OfL6uq969f/AOCampeMotb8Xaf4tt7fS2jaC8j04zkyWkr5MhCf3G7HvX4e/wDBYzzLP9ur4xTrI8jrIJQEb5IgB0z/AHj6VL91KxtSpqU9T+j/AOD/AMY/DHx3+H0PiTwTrGl+INJvtsq3FrKG25HRl/gYehrqUw6bkbcvYt1r+SP9gT/gpR8V/wBkH4xWKeAdYmtzqS7ks7hi1hc+sbxHjcfWv31/Yb/4LheBP2j4rXw/8RLdPhh8QNoSWxvpf9CYn7rpKccsegrqlhaqh7SCOKpjKMMR7OT1sfaPj+FJvD0ayKkiLdQsY2/5a4PT8a8/0L4Y6rbftaap4maS2utLutL+ymRZAsmnthQseyu48ZTJNoNjJ522NriCUFMO8ozxge9eQ+EtD1TQ/wBuzxtdyW+sR6b4l0mE2k7OfsU7xx7SoHRJFPH+1XKnK9pHW+Xl5onK/Hv7ZZ+M9H1S20G8mt7fTZvMv7afZf8AmeaRgJjO3bzXC698H7V0jv8AWLW//sO6szLbappGY7lpOqRzQjlmDfekra+KNnDpt5NYR6xNZvqkZtYpby5KJEPNyX83+F93yiOtrxzrya98IpNB8P65f6L4q024gSdLq1CXXlhxlvL/AIkl+7mqFHVXPHP+Csv2e4/4JAzTX11/bEljqFm0l39sW8ktG8z7gcfe+lfmZ/wT6hab9vP4X3CyJubXIV+VdnBPpX2J/wAFC9Hk8Yf8E5viF4muLibR9U0vxdDp8+lWeVtJVWQBP3XRXHr3r41/YGuVtv24/hf50nlv/bkOB/00B7/7VAqnwo/oI1J/9Jm2/L5c0iE/8DNV/v1Yvdn2m6VpNytMW/HNV4WXftZaA6IdsWq+qw/J8rfNUkz+Z81V7z+Hd92sJbgWLPcyNub5ttd54DTZpS7/AL1cDbIzpv8A71egeCX36b/urxVQ3A3B/qF2/wB6hF3TMlOR9ltH/tU1Pk+f+Nq1Ahm3JNt/u0591R73d2apPtOz71ADdnt+lRzboXV1/hqSF22bm+7VfVbj7HYSNJ91v9X9amUrK6Aq6lqUej6ZJNfNtdvuBayYtcvtel/0JXjtm/5asvmK30Suf0e4n8feKmmeTzNPs1KAn5UlkHPX2UV+Y/8AwVs/4LyyeCvEniL4Y/BfVLbT00Wb7F4j8VwsJHtp8YNrZRdJG5+Z+1CrNqwH6WfEX48fD34SmSHxd460HRbiT/ljqOoJbzNjrmM8qteL/EX/AILJfsu/Ci8hh1T4oeHtQmm/dxW+mx/amQj/AHa/mT+OX7T+sa9r15eSXF5fX0jGMz6vcvf3M5fjeN/3UPavQP2WvBN1D4P+0v4V8PQruD3P9oqI5lLf8tATyqmqjHuTzH9A3w0/4LqfAf4wfFfTfBPhKbVb7W9ekKWDy2L2drczL/C7twtaHxj/AOCqWpeDP2hPDvw08P8AhfQdS1bxJH5v2u31qO6XT2V8OHjUZ+4Gr8LfEnw90uDUobxNa/sm/h/fQSaLcmRov9zGNrVxup6PJ4Y8WyahZ61ra6oqn/iYpcvDc8/7YOa0cW0HMf0peKv22/C/htGmvPEXhW3sYcJ5dxq8cE/mfx8HlvpXyT+23/wXa+Fvwi1jTdJhuL/xhDtN08Hhycwxtj/lm9wuQrH0r8QblG1KbfeXl/qUkaq2+8uXmbJ6nk9a5/xDNDZwzKi+T5mU2J8qN74/ve9TGKLTHfEv9tvx5+0D+0bqV9qXijxPNo+oalNcWWl3WpmZbGEk7IX/AL6ha83+KPjCa2m8xfsH2ya83fuIPLTaOz8/NXO+CWFh8bFkVf3iybhUfxCmbzrpdvy/ai/ze9XUi7ClLU+lPgV+0t4D1izj0nxVoem6XdTKEivLeIfZW7fvEH8Vd14/+Evw0ufLuF1Z9PtrhdslusX2iO5B7xgfcr4bs7nYip8jL8jBPqa+lPh7prP4At5GZ2Zsp87bto9v7tRGLcbEuWh98f8ABKP/AIKp6D/wT31i88I6lqXiHVPhTfbFQ3u+8k8PTHjzI/8ApiepSv3a8DeP9D+MHgzR/Evhi+tr7RNYt0vbC/g+5c54xj+lfyf6fC1s6/3Y/wCD+Fu3I/ir9ov+DYz4tar4k/Z88ZeBr6aaa18M6093pZlbettbumPLTP3fm3VpGHKiYn6YXLqzyMy7ZJG+f0/Cq9tTvOWa2bYr/L82W96IU+SuaO5oOhSnO/z0J8lNf+9W0dgJtN/1f/AU/nXXJ9xa4+w/1yr/AA8fpXYJ9xaYDqKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAo6+hl0G+A+81vIo/wC+TX8m/wAe5ms/jZ4yX/WD+3r1f/I71/Wbqn/IOuB/0yb+VfyWftIb4fjl40Uf9DBf/wDpQ9TIZzO/Yi7GSNm6hqkd49/zKn3eq0PvhT59n1qNEVH3bt27tRKK6CJEdH+5VhJG87arblb5aPl+zfIvzUWafbPu/K6yCs1LRiZe8PRRx+JNHjk87a2oQEFPvL+8Wv6hvEPwB8J/tCfA3w/p/irSbbULePT4HikVirwN5Y+dJBz9K/l30S5khv7Fk/1y3kH3v4v34r+pXR/idovw98M+AdNuriO1m8SafHDpxfozpAHk/JK2jJSpaiieVfE62+JX7J99ouqeDLOHxp4H09YoNYspVDat5HTzEfq+1exr8Ff+CtGvL4n/AG1fitqVtbzWqNHHdJBP8v30yMj+8M81/Tmtxb3Kw3SSedBcSJsCMGjk/wBviv5rP+C2HhO48M/8FAfjBBPbpa3E0aS+f/FKrjKcf7tcVTmdpM6sPJO5+ffwl2WHxx0FmWSZFuEd43+VWJP8OK/a7Tf2OfCX7Sfgxk1q3f7ZZ2qNZ38Xy3Nm2ARsx9/DdzX4baNLeeEviPpeqNZ3NmkNxH+/f7kvIr96/wBhj45aVr1stvNdQ2d/dWqLBA7f635BX6bkap4jDcsj8l4sqVaOLjUTPpj/AIJR+IfGvw08Ka58KvH2vf8ACVR+Gbq3u/DusSy7rqWKST/USE/88wOK+hfCOq6tF+2n46sry+vIdL/s2Ce3QLuh3GP/AFi54Vx7da8A+Cfgm18bfGmSwa3mjW8sQ1yIpdjblGUcHPau4+Ev7WHifwTdR2OrWN/4o8OzXk+n22pr5bX9n5blT5oH34x/s/NXyGcYeFKvyrufc5DiZYjCpyM/4qeEtQ8VXN9pOtW9hp73jG6t9OvP+QVPOH/dzRXA+fft25TpXVeKvBNroPwBuNc8YWKX3iDRVg8+7glO+KUvjzAy8vhegPFcL8b/ABH4g+x315Yf8TbwL4g/48tQtVLSaRMHyUkjPzopUN2rotD03VvBnwl1DxJDqW7wf4gt0S48PXWXmi3nZ/oxOdoZv+eleU7Xsj2YvofNP/BYPX9etv8AgnpqUP2Wz1jwrrmsWlxH4kslCXO5ZAXF0g4V/wC7ivz/AP2IfLf9uH4Uvu+VvFFrgt95oy/U/wC1X6Df8FQdX8P+GP8AglPqHhLQry6a+03xFBPJp91KEvLENJkJg/6xR6rmvz1/YSkRP22vhem7du8UW7l2/iJfmmFT4T+hC8f/AImV1uVNvnPs+mTUML7nbC1Jf747+ZG/iaTB/wCBmobf5KhsPsoH/wBr5faobxN/+7Uk3zvRisQQ6z/49ttd14P/AHNg3+0tcHbfuU2133hf/kHf8Bqo7hr0NpX/AHMIqR9tRQ/8sf8Adp8lbWb2DXqRv+79qjdN/wA38NOmf5KHf9zR6gFv8020/LH61wfx78SXGlaOttb/ACzXDCCP/ZLdDXeQln4X+9Xkfxsv0vPiFpdrIybZLhF+fPT8KmWwHzP/AMFmP2vbz9hX/gnfNZ+GZPJ8XePLhfD2kzL9+2nmGXn/AN0KGr+cX4x6wnw3vFs1mmuIY9zuJVDNc3D8vNv6t161+yX/AAdD6xp8fxI+D9hNfKrW9jPcxWnOxtsuPMA/vCvwv+P+sWut+M5nhuHkhXOPyp0oLcp7XNr4CJb+LfEN1rV9H/aFzpreRYSTqFWAngZH8SDtmvpKHxVeaxYW8aSPGkOUiRlHlrJ/y0dz1ZT2FfNP7J0L6rpFxGv/AD2kf8F5r37QdqaPC21/mY/rXS9XcxjrqSIm+83H5pGbcCvyKxHYYqSaFZtNZW/1kbbWO7dUghSZI/m2vDJs/OsHxR42sfCUKpdybftGWDf3qbu1ZCcUtWVdNh+0vdbPmVWf8u1cD4tmaK5bf8rL2qxefF3TdP8AtHkxvJ5n92uNufGbTXMwFqkP2hhh3+brVxptLUFNdDkfhj5mr/GD7vzeYWH+1iq/xIeRLmZ937lrg4P8LVqfCjQbiw+K8d4/3F3uXX7uM1V+K8K21/JDu3Isxx+PNTUd0TOXUx9HmWG8j3R+Z9z+dfVngubZ4Js9se3rXyTpTu15G/8AtD9K+sPB/mf8ITp+35mkXcPxqacZqPNoOMoOOu5es/ndq/XT/g2ASO58HfFZP3m9bwZkX7qgYOyvyRubOSwto1X5pJPvV+s3/BsBus7P4rJt+VZhKf8AaJwKpyuion6sTO0yLs/dxs24xt97FSQ/c+apEfy4fmZGab7g7pio65fZo0Ch/uUUVoA6w/4+Y/8Aa6V2CfcWuT0pP31v/vV11JO4BRRRTAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiim7xv27vmoAi1H/AI8pv+uTfyr+TD9oq5/4yE8cLIvyx+IL/H/gQ9f1nX8yxWczMyqqoSSWxxiv5Of2nNl58e/HD2zJMsmvX+xk+ZW/0h+lTIDj96I8aMu7zP71NghV3ZWXbtqawtnvLC1kb5ZF6p/EtTOq+dvb5lb+7UJ3AbbOkMLfN92m2ibP3i/K27d/s1YtoY3tpNy/Smw3Mfk7G/h+XFXONosC5YOyeIdJaPY0i3kDJH/ePmDiv6KpdXuPjL4e8F6Zr9rbeDfEWi6b+7hvf3ltcrJb+WDDcjCI59K/nV02GF/EGlyJ8vl3kDB93/TQdK/qb8GeFLH4ifAzwza6xY295HJpsBeN1DnmMDKMfusOvFFP+DqSjwjwN4t8c/s/6lDpN4qahpMMcMARpQ81tng7R157GvmP/gsh/wAE11/b81v/AIWJ8J5LCb4neGbHy9Z8N36/ZZtehAHlje/COF6ZFfYnxI/Z/v8AwxpTR6bJc+ItFhvILpLdpyuoWzRHOI5vvzf7hrg9Y+GNvqvxXuvFvhe81Wa2XULW81ePz3bULGWOMjZMCcqntWcfepjtyT0P50/Hnw61DwZ4n1Dw34k0GbT9WZts+napEYZNMK9TGjYLKP74rW+Bvxs1nwxqVxeJHqS+G9JkEUWotn7Ssw4IA6uv0r9yv2gvgh8Of+Cgmn6p4V+Pnhmz8P8AiDT7V9Si8Vaa32aS2iD7Yv3qjMifdyDX5w/tf/8ABNb4gfsOabHqE1qviz4dNlLLxVpK/abbyW+59ojGBG3+3Xp5ZmksKtNnoeZm2SU8d8W61PsD/gjV+0tN8b/jNfWepXCXDafpu95J2CJ5ZHBMh4+or379lrUnufi7pb+dbXV5JfasttJawbrZYluMHy8ZEL/9ND1r8/8A/girbWXg/wCM3xE1xoby60fS/De7Uzb5kjijcEBxH0/Gv0M+D/jDSte8SeEfHljD9j0trV9Jns7BfJS8gkxskKLja20fMfWsswr+3qqQZTg/q0HA3vjH42t/h18QtS1C12RwtMLO5+xRbtsjEH/TIxkzJ9MVpeIfiL/wnnhXxR4F8TWP/CO6rqVuH0rU4vl0m5K8x4uB+7hy38DGqPxX+BVxpTzXlxqF5qUl1blf7TsIA15bWrSZw9qOJMf89Cc10HjP4neD/hj+ydfXP+jeKPCul3RspJXbzIV2DcTJGeFeuM9RbnyV/wAFg/AC23/BLTRNT8WaHCvjqx1WHT4tVd1kmij34/dyjh0dfSvzw/Y5f/jNv4Sxp8qr4kt1O31D191f8FrbTUrP9gfwnr2l+JJrrwD4uura4g0Of94bF3IMbxzH59n+x2r4V/Yht/J/bi+FccypC8fiK3UhZd+456596qIqnwn9Dl/tS/mT7yxs+PxNQp/eqxqSKl/cfN83mFcfjVeH7lZyH9lDnGxKH+SNWon+5R/AtSlcCO2Rrl8r93dXoHhZd9nt2/Kq81wNnDsm3K38XSvQvDb79NVV3K3r2xVJWD0Ha34ts/DGlfbbyT7PbR/J83WuNuf2i9M+9DDNcR84Kr80n0rtPE+g2PiKxW3vo0khVt2G+7xXnfiTXtB8GzLDp9hDcX/PlKvzItelhaPP0PFx9epDZ/kdp4J8TzeM9BW9ktXtVkb5Ub72K1nb5NtYPwtmvLnwx5l9H5dxM24pt2qv0roHh/irmxMVGq4o7sBNzw8ZS3JLN/Jdlb/erx34zQ/8Xd0Uq21WuI1P0NevIm92Zvl+UV4z8Zrxf+FtaLub7s0bVzS2Ow/J3/g6mdf+Gjfg2v3pIfD96+f4sfacY/3a/Dn4i2ywzXCQ/vHW4Kgr6Gv2+/4OmtSj/wCGu/hfCy7kXwfesn+0TdivxV8T20l/4ths7ZUj8ti5LfxH0q6JfQ7L9jlGTbGrPHNNNMmG/uEc17xo6LbW3kozsschSDd6L615f+z3NJpvjOzkW3hjZWKOj/L97jdXrnkb5pNy7ls5nXKe5rfmXcwp7Fe833FzHMv7vc290/iYrxXG/FTwSvjC/sf3ixqq4A2lu9dtculu6rO22RY2bf8AwqPeud8VeJ7bw95K3Ed401xGVb7PEZH2jngCqjFy+EmrUjBe+cT/AMKc02zm23E029f4EbZuqO58H6Jpv77y3mXcPkuPvKR71c0j4qaT4+trpdKWb7Pp67pTdLskbHsa9M+Dn7AHxj/aK+z614T8Fyalod18sVy94fLYn/2aujD5fVrS5THEZjRow5paHiOvapa6UjJbW9nH5nyvs+RlU+9eP+P7/wDtCaZ/n+W4+Q+UWVhiv0qsP+Df/wCOXiSwmur+40TSX3f6qfZ5cGfUmvlP9qf/AIJ3eJvgD4zm0mXVIdY1O1j/ANMigYCFX/uIR/Fiu2tw3WhG8TxsPxNhpy9m2j5zsH2vH8rq24cfXivrbwNuh8MabuVWWOFFG6UJ+pr5ds9D+x36291a3FnIrBfLlU7sg+p619SeHktodEsbdZEaTy0YIy7uR7V5ksPXpxcXe3oz3Y4mjNaNX6ao0kmldJpkbzJl+XH8Kiv0q/4NhvFt1H8ePiZof/LncaOlwh80Pul83qcfc+hr83fDGiX3jzWLXRNJt31TW9WuBa2kEX7tJZD0TIr9kv8Agg5/wTN+I37IXjDxV8QviBp9noN5rlimlafo0E/nfaV37/tMxx8jdsVCvymkdEfpRNuT5WVd23kfxKaj3VYmi2JJubzH+88v8Te3+6Kh8usipbnjv7f/AO0VqX7JP7GHxA+Jei2ttqGpeEdNe6gtJ1+RpMjGc/eWrH7Dfxp8QftCfsl+DfHHiiGzh17xJYpdXNvZriO23c84rzP/AILZos3/AAS1+MCOv7ttDdDtba2S69K6T/gl9C1t+wH8M41Vbdm0mBnO7e042YwaCYs+htKP+mW6/wC1XXVyOlf8fkP+z1rrqmJoFFFFUAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFc38R/FsfgP4a+INYkby49H0+e5Zm/wBiMtXSV81f8FYfi1a/Bb9gH4iatczJltPayi3dWeX5MfrWc21sB/Ld+3J+3/8AF74hftM699u+I3iePR9W1IXttZxahLCsEDvwibSP4a6i/mfVII7h1+0O0aeWEb57YsM73z97PWsvxb8MdJ8YaVYvqlqkl1a7GNwv+s+U8D6Vva9ZreW8Lqu6TaFEjfKzBeB09FrSMVLcCxozptZm+83eh7b55FX5f4qjiR4XjWZfJjb7m777GrV5Dsfa3yt/SswKaQts+WpLOz3/ADNs/wBYKkSFkTcvzJUKQ/vmV/lXduyKfRgWtHm2axpKvsaP7dD93/rqtf1afCf/AJJd4TVPuf2bD/6LWv5S9KdU1LTVWP8A1d9Bgt/11Ff1afCX/klfhVf+oXA2f+2a1pLWgI2LpMzsm5G3L/q415i/2wf71cT8SPg3pPiq6XVo7i40PVrNS8Ws2Xysn/XWPo/4iu4R9/T93/u+vrXP/EjWdU8NeGGv9J0WbxFqELDdbowSZou5TPG6slsM+Z/ij8EJNEv9cuvENii3mqaGdHsr2Jy+k3kTS7v3xPzpMzc8cVR8Nzal8BPhNqFhdeHUjkvrqBJIL1vtVrfWrkKRsbKKnp3r2Tx/8etK1L4byappMf2xrWYLe6XdRFWg4w5kU8tj1FcroPhK68beA2vtJ0n+0PDtxN5svhvUpd9veKOd9m45V93qaANj9lj9lX4R/B/UvGGq/Dnwna6PdeILr/icl/nSfByEAJI8sHtWX8Xf2IbG+1j/AISHwFMmg65DcC4Fm7FdL1CXOShA+4p9q7z4B694dTTLzS9N3aXeRyFp9Huv+Pqzk7of7+PUV6R5zb5JFjeRdu1E3BWY9/8AdxQB8p+LPEmpeM/jT4VuNP8A7S8N+J/Ctq63ujPgPcqoO8RlvkeM9sndUfi2bw/48e11u10//hXcmuWpintr+IeTeTAnfDcw8hV/6aKN1fRHxQ+EXh34zeHv7K8QWdvNCzCWCUMY5ICv8QcYO8NXzv8AtFfArxO+jq2oX2qeItEsfmttfslC6tpSpyVuEIxLH/ujNBUT4p/4L2fEibTf2NPBvgubwrceH7q11RJYjY/PpN9bgj95C7fPtHXFfEP7FtzbQ/trfCV4WdkbxNasC33m+ev0Y/4L4+JNH8W/sDfDmbTdUttct7e+SIyp8syy4UZdOqfN1Br84f2M9KhT9tX4Sosfk3C+KrXzET7nL9RQZ1vgP6Kr7a95eN/02NQx1NfvumuFX/no+fwNRony0Dp7BTo6bnmjf89ZvcY6zT95t/2q9A8MJsso2bo3y1wNh99v96vQPDz7NHV2+7Uy2Ax/ipY6hq3hC6hsD/pSyAY+7vTuPxrxmO3k8PJ9mm0t7W/tW8/PLrtHbNfQHifWrfRNKa4nb93t/Fq8ruPHPiLVka6tbNI7dW4+UNuQeua+jyutNUmkfI51Tj7ZXPQPhv4jTxf4VjvkVVjbgBfb1rop1/c1g/DXVU1jwxHcJbpb7uqp8q5roHfcmK8qvH94z6HL/wCBD0Idnztu/uivE/jNbK/xd0Vv4fMRT+Ne3JufduXb/DXivxg+T4u6S33mjmRlH8LYrljHU7+h+SP/AAc7Wa6l+3P8M42/1dr4RuuP+3kV+Qvxg8K2fhjxPZ3Fu0m5rg/yr9eP+DmS82f8FEfh/D/z08G3GR9bhK/I/wCOUMieKrW3bfJGsxYOv3elaYOL1CXwm58Gby3ufEkO2by5uWG71HSvYLNJJtEh82FFfzJHnO7buxXye95faJ4ksXt5njVriM5X69K+3Phj4P0/xIkcl/b/AGhpIwxDN8vPWvUwOVfWpW8zwcyzmngoJyOLmfY0zW8iRsy753nYbNo7CvvD/gi9bfDl9E8bX3jrR9LvJIb6O60qW/iDK0QQAgZ/h3Vg/sRfsN/DX9or47x6D4g0mb+zZLN7oxwylfmTjH+6a/SrwH+wf8J/hXokOn6b4Ttbq3s8IBcMdzKD04r6mnlEcI1GR8PnXFCxdO1Lc/GH/gpl+zrdal+1L8QPHfgDQ31b4f61bpKj6XY+WltOuS6IigDYvc19if8ABB3x3qHhv/gn9fbtQe1ktdWmcyO27yhnoM1+jWt+GNK0H4f+JLWy0fTbO0XR7t49kA2QReUcgjHcV+VP7CGqjwr+wr8QJtN+a2m1y82mHhYlMhx1r18lwtGVZ3R8/n2ZV6mFjTe+h7t8fv21PDeg6bq3/E6vL6Zoz5uyT/Wn0A/vbq8H/Yl/ZS0T9vjVfFHiCZf7L1XT7jOr3N1KXkn4+Tyh03ba+C/i14hvpviPCtxcOy3FweFbjGf/AEKv1K/4IaWwfwt8QlZdsccyKiD+Hgc19NjYwVK1L+tUfM0cLVpyUn1Oqv8A/giB8IfEMMcPiWa5151bqsCxun1K4rz/APbY/wCCSXwF+EP7FXjzUNF8M7tb0e1N1plzcXkqLBOoJjJKnsa/QK8fM25Y02x4wP4a8L/4KZXL237BnxW/eeXE2jyZG3cvKGvlMwo2w85eR9flOMrKvTT2uj8bf2Hpm1v9qv4WreM++31qxSTb8iPIY85jI+9X9TEDlrW3bczfuY+T1+6K/ll/4Jxala+If2tvg/bxXCSTR6taYi2n5SE6iv6nLb5LO3G3b+5TP5V+b1tz9cpylKmmyF3Z/lpv2Rqk/wCWlNR2dqwludsuh8l/8FzpGtP+CV/xUfd96x8o/iRXpH/BO7T49N/YY+Gcar8y6LBn8UFeV/8ABeC58j/glx8So/4LiONT9civWv2APk/Ys+G+770mi25/KMVqtgie1ad/x8rXVR/cFcrpXz3kK/3utdYOlQUFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV+bv8AwcrpLD+xJp6wzMts2sf6RH/z0zX6RV+cv/BywGb9h+y2/wDQVSkwPwpmh2P9nmbav3oz/eHaqvifV49B8MTaleM7R2v8C/exWhdbn3M67tvSud+Kl553w31hfL/5dzUFcpc8GeLbHxnon2jSrhNQsV/1hdv30H4da3DDHNbKqSecnaT+97V8O+HfEV/4Y1iG8026ubF2bcXRiqT4PRhX0R8Jv2s9P8VNHZeJI4dF1CP5PtCrttmHYk9FNVyknrCOqo0B+Vqb9mTycr95flqxvjeHf9oTy7j5rfcv/Hz/ANcz/FTXT51h27W7hvvL9aOX3WA60+TVdPjfYq/bIGz/ANtRX9V3wi2n4XeFWP3P7Lg5/wC2a1/KjNsg1K3Xzkt1juIX89ot6xbZAckfhX9QX7I/xR0X4w/s/eFda0PVrPWkl0yCKV4HDRxsq85A+63FVvRJR6UifPWX4q8SWHhLSmvNUuIbWyZhE8srbY4if75/hrS+U3bQp8zqvmg/w8+9Zep6Pp/i+CSx1C1s9Ut5lKz28+NjD1MZ4asyjx/4xxW+q+OfOlhtrxb7YtvcWq7WihIxsk/56RnrxTvhv4qj/Z+uL7R/EEnmaesway1K3/eW1sX/AIPKGTboM9WrlfHPhuPwl4t1Dw7bXF5/Zckgays2lKzRDqRHN1X2iqujx6l8V7OHSYb/AOwxsn2/TJ1LTXKt8pS4Q/fUdeaAPVPHfw38PfERNW1ZZLyG+tbP7ZBrekyhbroSRFIMjadvSsHQPjpq3wutorfxw1nqmhxLDIms2Ubb4i4zGlxFyVbb96Q/LTtS+GV78K/EfiG58G3kNnp8UYe80W7vNlt5Tbvnjc/8e6j0FcT/AKfqXxF0u/0maP7TqE0NlqGjXtsP9MsnH7yRkP8ArEHy7T3FAH0hpupWvinSobm2ms7yxuv3qPbuHR/QhxwKtQhY5VuPMmVWwmWblcdAa8V174Ra38N/HN5qXw0vkt0htftE/h64bbp+oHfjYhPFv+FdN8PP2htL8WeKf+Ed1ezk8PeL48pPpd423zTjl7bP/Hwg/vip5ionwT/wcVfA/QPCn7P2m+LtJ0+PTb/UtYEGopb/ACR3jE/fKf3vevzh/Yns5P8Aht34TqnyrH4otPvtubAfvX6mf8HJMLW37Hvh93k8z7Lq0e+Td7j+Cvy//YY00XP7c/wt+XareIoHA3buC/rTTuTWXuWP6ENVTzry42/Ltkf/AIFzUKfcqa/d/tlwjfdjmfH5mobZ/vUnII6JMb/y0p2eaa+x5v8AapyI3/AanzAmsNu//gVd94eTZYZK7kZcYrz/AE1Pn/4FXonh99llHubaGq4xtqFrnN/GjZ/wiCq33N38q4tPitGmlw2dtp8m1odny+vSvRPiLcLbeH5N9r9u+bITrXm83jO5sDGkej28Kqpcbk+bNe/l0U6d7XPjM4k/bpJndfBG2mtvAcMdxC8Mm4tsf72Ca67zP4v4a5f4V6rc634Ohurzf50khYqv3sdK83/ab/bn8L/sweI10nU7PW9U1a8t1uIYLGxMyRRZxliDxXl4qf7x+p9Ll6th4eh7Ylzl2X+JW5H92vF/io7/APC4NLbb92QVB+yR+2Bb/tVXutLD4e1DQbjRgj+XddbuN/uPS/E6byfjlocnmPJC0gR/9lvSuWo+VnodD8i/+Dmd3j/4KNeAX/6k+4wP+3hK/MvxRoi6l450mFNjWbM7SBvvrxX6Uf8ABzPftc/8FHPBMK/66HwncNGf7v8ApAr8zfFupSJ4ks2aO5s3kkP+kNFu7VthZWuTKWljg/GdnHDr0dvbL8tvdJhG+91r7W+DO5NNs2+T/Vop/Kvi3xlDMnjbR/8ATvtDSXCZk8rZu59f4q+2PgnbIlhbo/zKy8195wjTSqH5vxx/BPuT/glfD/xk5G6r93SZs/mK/R6abDybl+83X+Kvzp/4JX2zf8NFXUi/d/suRf1FfotcTbHuN390c/3a9rNvfrqXbofn+Bjenorsq36NdaPdeZ8yTRvvi/hniI5R/qtfEv7Tfwo8N/Bz4G+JNP8ACulpoelXzG6uIImGzzH5NfaHiXVRo3hXWryL71jp93dNFL92cxRFhX5m2H7W+tfte/sheKvFWuWtnp99Z6g9nb2cCjy2jQkAnH8VaZPHmnJJGOee1jQjW80rH5j/ABFRH+KMaovlot4MfNu3V+tn/BD11/4Rn4gBf+fhP5Cvx5+IWoq/xRt2hm3NNfbnH3fKIPQV+wH/AAQf3P4P8fM//P0P5CvRrKSpO/8AWqOjM4uk6PK78yR92Xj7HkX6V4T/AMFLEa5/Ya+JCLt+bT+d33cYNe6X6fPJt9q8F/4Kd3n9m/sJfEZ1/isQn5g14mY3+q1L9j18oXLjIU731TPyH/4Jm2dtJ+3J8G3jhht1bWrdXdF+bGw81/UNsVIY1WTzl2jDn+Kv5ff+CXCNc/t1fCNP4v7Sg/ka/p+37IYf90V+Z1tz9pjJexSsN/j+ao4fv0TP89NCeZ96sZRNHGyXofF//BwPqy6V/wAEsvGzt8vmXkC5/wBnPJ/3a94/YV2t+xt8NVT+Hw/bv+GwVuftM/s0+Ev2vfhBqHgPx1bvdeF9UXyriBJTDJKScjY4rpPh18OtL+EXw60Xwro8MlrpXh+3Szs4vP8AtEyxIMDzH61XMCOg0X/j+t66yuV0dP8AiarXVVJQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABX5y/8HLe7/hhuzZP+golfo1X5z/8ABy1L5P7Dlr/2EkqZDR+FKO/ks+7dubbisn4nJn4aaw235lh21rJ86f7zCs34op/xbrWF/h8upKPi+5RPtlw7Lukbod21V/DpVF38tGbb/svu+ZW+ua0rlP8ATJPxqj/eX7obrWhB6B8If2kNe+Eu21uJE1bRbj/ljL87Qf7h6r+FfS3wx+J2g/Euw+0aXdeZdKvz2Bb/AEmL3IP8NfFKOybVhb7Oq/x1Y0HVbrw3qsd1p9xNp99C29LiJ9rMfb/69D+FiZ91XMMlnqVmjM8nmXUDSbF3Lt8wcPmv6PfBn7IcJ+HHhPxZ8O9Qbwb42j0eCUTW6/6BqA2f6mWH/VhT/fC5r+WL4M/tV2/ifVdJ0nxRav8AbJr6BBewMFVj5g5k/wBqv7B/gHGk3wQ8GyR/6QkekweXJ91fuDqKI/wxRF+GuueINb8GRr4u0uz0nW13re29nK728G3pIjHllPasv4r/AATh+IV7putafqmpaL4l02MpY6pA2USMnJEkROxkPqRmu6uYWa5kk/1knyLEG/1aseteWfHXxB8SPh54jt9d8K6Tpvi3w2sZ/tbSd5TVd44zaOSI1QDk76zKPPPFlhrifEH/AIn02m6frk1wjWb3DFbGWZRjMbgE+YV7Hisf/hIV8T/GD/hF5pIdN16O6+2m8ilffbbhtEkZ6SZb+Bjim+JPiNN8SPGFxrmls+teC9SkT7TbRQOmoWd0ow9tNG3zqg/vqNv+1Ve2+JGm6b8TrfT/AA/Zv4ihsdt1pmlXGPOi/vx2rj7jBeT5tAHoHir4ha34BtvEmleMreGQ3kP2ez16CLda3Lf8s0uBj5HPoBivM9Y8bf8ACPf6LeabeTW/+it/bCsdtnME4SJxyz/3YzxXv3wr+KOi/FzxHq0um3G66khjiudOni2TaYy5zmN+XPuoxXj9n4tt9B8eQ6TpjW15rEOqF30e4XbZy/OcGLPPnHr6ZoA7C0+JviL4Xa80fjRf7S0OSx8yPxJZKd9nAf4rqPovXHAryv4heNdF1Xw/Zx654b1ZvBMd05t9VaUqYIW/1dzFdKfPxv8A4DX0J8Pfi5o/xI8eXFi9umm65HamK/0e9XFxF8+O+Edf92ud+J37LVqn2qfwfdW+myX3zz6HdZazviDnds6q3p2rPqOO5+f/APwXH0rxz4b/AGOfC9nqmsWfizwbcahBPpmuzr5V/AGwUjmjUbGTbwD1r4d/YJtpLn9u34Xo0n7xfElup2/dwX619/f8F0PjHa+Lf2N9B0C80/UvDPivQ9WhSXS7iPezICBvSRRsKnt6V8I/8E7tHfUv+ChHw1jXzl26wk+JWDNwfaqiFb4T9+NVdv7SulX7qzOxP0JFQ2u2rF/++e4Zf4bh9/8A32ahR0+9SkL7KHPsQ/3manfMqbqjm+fa38NTO/yLSANNf5/+BV6JpCJJYQs/3a87092d/wDgVeiaEjJpsf8AcrToBm/ELXv+EZ8PSXCxrI275Vb7ua8h0/xBDealHeanHcXR3FkS3XcmfSvW/iZqMOm+HmkuIftEe4YjXnfjtXmlt45urbb9g0f7OqsXeN4+1e9lqfsnY+Mzr/eEelfDrUW1Xw9DcLa/Yd2f3X91fxr49/bXv9V8K/tG6pHpnhXWPEj+LvDcFhpUtnB5yW03m/O0hP3flr7C+HviaPxf4ahvI18tt37xBx04xVCz+J+h3/xCuPCcc0beJre1F09mkfzW0JOASxGK8fF/H8z6fA/wIeh49+x98JfEPw6+J2vanrdm9pp8mi2VlBK3y7pULFwAOvWt74p/J8bNFf5/LW4RvIdQvPrx611/w4+NVj8Qfid4m8M2Wm3Nve+GWH2m7lx5MkjcfKOtcZ8UbaR/jxo87SeYvmIsi+61jX3R3PY/Hn/g5e/0b/gpB4dk+83/AAiMyg/3czpX5m+PNr3Ono29l8w/eY+lfpV/wcz3Kwf8FHdBmf7kfhOTj/tqlfmj4tv457mz+ZNyscflWmH3ZlI5PxC6/wDCVaSi/MizIwH93mvtj4OTD+yoUX5flHP1r4X8SX+zxDo7/wATXA/nX2h8E79rmzh/uqqZNfoHCb98/OOOdaR+hn/BKx/+L93UK7/l0uRs/iK/QrUESZ5N2/5sLivz1/4JHO1z8eL5vvf8SuT8siv0MuX/ANZv/vcV7WO1r2PhMvvy6GH8VIftnw08XRzL87aHeeWV48vMB6V+M/7GOqsn7BPi6zjZG+z61dtKfvNw5x19a/Zzx0n9ofDHxkv8a6He7D/2wNfz0/Aj9snwZ8Iv2RvFnhvW9ch0/wAQXGvXb/2c0D7rmMSHkP05rly/Hxo1Hc9P+ya2OwLitdUeD+M7C+/4WjDczQzLa/bv3RZRufJ68V+xn/BBzzv+EH+ITOvzQ3gUj/gAr8X/AA58Y7HxJqV1HYMk0bXHmxeb99ec4Ffs9/wQFjbUvhd4w1Vptv8AbE3mlP7u0Yr1Prka1Ny/rdHPneDqUadCFRaq3fyPvK5fekm3/Zr5/wD+CqCed+wN8RP4WW3Rv0NfQnks6MyRvIWxwqlv5V4P/wAFSrCSD9gD4lTTQvDGtmnzupQdD3NeXm1VLDzj5HZk93j4eqPyP/4JTOk37efwnd/l26hBx+Br+nL79mr/AMW0V/Mb/wAEndl/+238J5F/h1CD+Rr+nCHa9s391VFfmtbc/Zo/w0Gz7rN+VNX99/s06T/ln/dpttWcjeWyfkD7t7Kv8XXd83PrzUk3zu0i/KzLtfb/ABU10+eh/uVIok2jyf6er/8AAa6quV0c/wClL/vV1VBQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABX5x/8HMab/wBgyH21RP51+jlfnX/wcsQsf2Bt393VI/1NTIaPwrtv3z7/AO6orN+KKN/wrrVm8nzP9Fk/nVyHCP5fmfNx+lQ+PJpofhdrG9vlW1k/nUlHxPd/8fk3/XSqb/O7f9dGq5fuv2mRfvSTSbogvzbv/iar/ZnSbY7JubMnytu6DJrRe9VML2ZG6fLRDu3/ADfdr0L4e/slfFL4teA7zxP4Z+HvirXPDunqWuNTs7F5LWIDuXxjHrXF3+h3mialJa3lrNa3Ma7jFOpR2HfZ/eqakrVDSW1zS+HttHN8QvDq/wATapb/APo0V/cF8ELP7F8HfCcI6rotqPyjBr+IX4Vwq/xU8Jo/ytNq1qwH8SgSjr/dav7hPhijQ/Drw3j/AJY6Xbtj6xgVvKV0Yw3Ni5/dP/tVhfEaSRPh7rckLSLJHZu37v77Y54963XfZNtPzVn+LbmXSfDeoXEPzSQwlo/l3Ln3H92uY3ifHPgPxVdfEjVbzULma88J+J9LbbH4hgXauBwIb2P/AJeFNXrDTLDwT8bNP1rxtZp4F1i8mRp9cs/n0fxD6Hji1c99xrqvELaH8X7ltN1jWLHwr4ghhPl3VmwNjqkR48w44DBuKa9tf/D3xDpPgfxDa22peE7jS0skN/8A6RbardmTJJz/AMtNvSgXU9K8YfBPTfi14k1DVbeabR9WjhjfT9d0uXyZmU5wPMHDpXEz6Xa/Dz4iaDf/ABD0u2Labn+z/Etuu2x+0Z4eZR9xvVzVNPBnij9nDXrif4b33/CSaLNn7X4N1a62zRFOZDayt6KeIxXpHwl+LvhP9oGHWrZbhLj7RCE1Lw1qcQS50/aMFXhP3lPr3pgO+IXw10f4zeJLVZm8t/sP2qy1nTpdl1Ad/wDyzmH3kPpXG2PxauPhv4vuJfFiya9p/h+Y2R8QWURWa2IH+pmtxkyf9dRxVm9+EevfBv4gNffDueaex+ymS58NahOfJkG/ObeQ/wCrAH8AryrxV4e1745ePrq80m+ez8Q3WpIt3o0r/ZpPscZBPmD+6P8Ax6kC3PM/+DhTWdN8bfsG6HrWlSQ30MmsQvb6ja4ZolyPkJHr0Ir86f8Agmg3/Gwj4dt5afNqA5Vtyrz0r7y/4L7/ALPGjeBv2YbHXNJvNSsY77UoGvdKglKafOwxh0j6Rvu9OtfCP/BNDe/7f/w92yIq/wBpJwq7eCe/+1QKp8J+8l4WeaZu3nScf8DNQfN7VPcIyPcbvm23Eifqag+b2oH9lCbPkVqk3siLUbr91qkd9kO7bWfUB1h88/8AwKvRtBRf7Kj3fw/N/vV5zpv97/ar0bRV3WUP6fWtOgGV488QR6D4ekvJ7WS6RpFQQr8xyTjNefXfxTvNbhmhsdHnV2Xyd7L68V33xLv7qw8ONNbW/wBqmWRcp7DrXM6L8XNHtrNXuY/sbfxptztr1cHG1Jytc+WzL3q6jc6D4aeHpvDHg+O2kb9998n/AJ5gnNfOPxq+N9v+zP8AttXmvap4b8RalY+IPDsdrZzaVatcpPKkmT5m0fLX0/4a8QW/ibQ4by3k2280nGf+Wo6Yr5W/au8UeIovi74y0PT7q8t9LXw7bypBB8jwSPPt8yN/4c15eKledz3cLHlpRiux0f7FOo6z8Rvid4+8dXmh6j4b0rxJJFDpttdoYbhthycg11fxRmdvj1oZGxY2kCiNV+ZT3ye9cD/wT2tNU8JfELxl4dvNe1vWE023t5guqSmZ7SRzyoJ9a774i232b446LD911m83y/vNg9STV1eh1bqx+MP/AAc2yq//AAURsdzfd8JvF+cqGvzFdJJvEmnloUmS1mLE/UYr9FP+DnjVX/4eKSKjP/o+hhT+JQ1+bdvrckOm3TJIkczfMoZvmwOc1eC2kUtDkfjL9p/tVpLX929rcbxt+6vPevYv2b/2ybWzvLfS9fX+z7ptkUcqf8e0vb56+f7/AMTyP4mmuX+aOSTkP8yt+Fdl4M+HVh8VLmG3jjeNlk3yx/d3D2P8NduVZhLDVfmebmmXxx1P2VTY/dD/AII16xb+Ivi1qE0M0N1Aujyp9pt22x5Yg48zpX6SXOg3sxjk+zutqq8yMu5VHqfVTX82P7HXxY+IX7A/i+61j4c+LHtZNSha3NjfwfarOIHuIzxur1L4jft4fG74nQ3Da58TteVLpt00WnTm1Ve/yY+6tfSYjiBVJc3U+ElwXGknCPU/dT4teJNH8JfCrxdc6lq2j6en9h6irpcagivB/o58sCM8nLdq/k98ReCdU+JCXzNZzK1nfTXEXnrgTh3yCAfuqa+nPEPjbXviXNJNrniLW9Ykbr5947K2Omf71VVs5Jka4RUkkXCkP93ivnsXjPay1PrMnyn6tGx8h6P8BPGFrqa3VtY3Nm+4sjIvyqf/AGWv0U/4Jp/8FRPiN+wl8GdW8KzfDvR/Fn25jcW9+14kL2y9MSA/f+bnFeR6lN952aZZpMZVGwu30qjDaRvC3mLuZW3xn+7/APFVhQxNSjK0dj08VgaeJfJM+oPH/wDwXK/aU8U3mzSrzwT4XRlO+eDSizc+mDXhfxc/ay+MP7QOj3Gj+M/iR4h8SaXfTI9xpkEpt7Ocr0V0P8Nca6SP5jFvvfN8vy1Vd9ibNz7t24fXtVYjG1Z6S2OejlNHDP3Dtv2OPjBpv7Jf7Qng/wAZppdzrkOg6kLpNMWfy5L5kyPJRj91Bmv18+Cf/Bxd4Y1rxbt+IvhWHwX4bumEUF9FeC6exkPGyWNeX+Xv2r8TUsrd02rH/pHmby7feU/7H92m69Ct/DcM0aNJDbusTBdrKpB+U/3m965T0I6as/rO8JeL9L+IXg+x1bQ9Qs9S0XUoxdWV5btujuYm6Yq9s2V89/8ABJTRP7D/AOCbXwjjVdsa6LG6o38JNfQzvv8A4amRqncjk+9Tac6NUb/IlQ9hkmj/AOvt/wDerrq5HR02X8af3a66phsAUUUVYBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV+eP/AAcpuqf8E/3/AOwlH/MV+h1fnf8A8HKcLzf8E/ZNn8OpR5/OplsNH4MpCyXMkjfe3DFHxFm/4tpqSP8Ada1kpttN++Z/7rc1X+IV5s8B6o3961kqSj41mT/SZPL2RzSSGCMH+Eda+8v+CAH/AASisv8AgpJ+0/dP4mt5m+GvgbZdawUfbNqUwPyQx/7Ofvf7NfCc0KzXrb/9ZGxYV/Qz/wAGcGgIn7KXxOv1+Wa68QNET7LitaGj5jmqas/Rv9sX4c6L8Lf+Cf3xC0Hw1pVj4d0jT/DsyQW9hCLaOMLHgD5MZPHOetfzQ/EvwTpXxU+CerWuqWsLXlja/wBpaZqKKFvIJox/q3/2DX9OX/BQKZX/AGMPihG0nyr4fuP/AECv5mb91s/hpqzL826xOPyrjlK9Rs6JR/do+M/gzul+KPhN2bzJZNYtvtB/iWQTgY/75r+4rwGmzwT4fT/pxgX8oga/h7+A/wA/xp8Ip/e16Bv/ACOK/uC8HL/xSWjr/dsbf/0WK7JLQ5Yv3jQm/wCPj/gVV/ENzb2ej3k10rtbRwky4/u45zUz/PM1ZvjA2aeG9QfUleTT44S1yn8LR45Bxzj6VkdET530r4UeDvivef2p4XktY7izZ4rnQ7iX5WjPaM9dpb5qxYfiXqui6Jqnhvx/pf8AbX9nzJDp9u37uSMZ/wBerjnhe9b3gn9mzRfDHi3T/FXgG8ubrStQkdbg+bg6VnJ86MMc+3zVJ4r8Vab4k+G/9reM7G4ma31R9NGrWGFvNNX++4bg5+lA2c/8VPhjqfjKw+0+D9aTVI/D9r5wsJJzHfKsgOZnkHKgqvBq58Kfgzpv7TPgqS8uPEFxpvjrwrJCtnrulxbH0+TblAx4+0qMc+bUf/CN3XgGw1TVbXVv+KZumgW21jTVLMpR/wB3DMhydu77/FbHwo/a68L2njPWrHXLfTdNuJPJ+23dkpEM42cNJx1/u7e3WgQzT/2hfFX7O3jK1s/jJY20ekzL9lt/HGm5ks5+eI7wYxbu3X5flrzz48axqFn4w1C+s7O+bRdW1SOe01iBf9J81yADG6/fh9Aa+yL/AE218SaJJb3Ednq1ndR8xyxb454m7AHj7tfP/if9mPxD8Ab+PVvg/JZto6yGeXwTq7Gaynccs9s/zOkx7bm2UBFHyT/wXQvfiL4f/Yri0LxRZ2+tWK6tazad4kQeXNEVKny7mIcI/pXxH/wTEs/tP/BQvwKzSPva4Nw/mLtbdkZyK+4P+Cz37Uvh349/sKzaW0OpeHfGmi6xby6j4ev12X1nl+cfwSJ7qTXxn/wSgi+0/wDBQ7wWy2qMrNJOHXO3AI9aCa2kb+Z+5V58l5dJu/5bM361HQ6LvmX7redI2P8AgZpyfKlBcdkhrfcWjZvhVaa8js/y0bmrPqIdpL77lk/2q9K8P/PYQqG+Zea850v/AF3416NoiL9gjZvw+tadBxM34g6tc6fozSWcPmTSN5YHueBXJ+EvhTDNN9o1XZNcTZ8yP+HNdV8QU1L/AIR5jY/8fKyD8q8z/wCEe1rWNVmsW1aaO4VfNEn3VXPNe1g4uVFpOx8lmVTkxKbVz1bRdMs9E0eG3tYdtrC2QF+bY2fSvjf9ufXrP4eftDNrVr8SE8K6xfaalreWq2wui0CnI+RuN26vrrwRoX/CLeGI7NrqaR4/9ZOvLSsea+ef+CjXjP4f6J8LtWs7ltH/AOEuuvs7eQ0XmXXlCUEngE/drx60Pesuh9Jh3z01LyK//BOB9FvB4q1Sz1TXtc1fUpI5dU1HWLb7N56HOzygMivRPHKs/wAddH3SeW1u3Af7/l+9bH7NXx18H/GvwwyeD7iG4XSLdILgraGHdgY7qKw/H7xw/GPTXWF412ho93zbcdaJPmsdCdj8Hf8Ag5z1pLX/AIKa3SrN+7/4Rl5ZR/tCRAP/AB2vgXwH8MU+KHhW41623re6PdGzlg/hb5M/1r7A/wCDmDWJr7/gqD4qheTctv4fVLkfUoR/47Xzv+xPYJc/BzWI/wCL7Q/6DNaYN6NDaujyvVf2b9c8VTfu7OGNWxsLts2kda7L4LfAHW/h14tk1DUrqzkt5o9gjWc16dZps0eFkk+ZctUn9nNeWfmNJ83pTUUlZmWrWjsXoXTzo0b769Ka+65tpt331bn6VRs3+zVYSFndnVd3tTCMX9rUhs38lG8v71TPMzwqjN5PrTbBVtnkZ4/vUPuCMo/vVPLrcqw6/dIUVV+ZtvWqbv8AI1WHuGm+991ahWFbn94zbdta69BSSt5ld7lUSNGb71Q3kMaOpj+Z/vVNsR7lmf7tNuUXfujb5VXbS5X3FFJL3tWQ200ltftcbfkao7m532023/WNlT+IqNId8Pz/ADfNXRfDH4e6l8XfiL4f8K6VavNNr2pQWCIi7pJW8wF0x/d2UcofEj+mD/gnJZnTf2APhLb/AHf+KdgP5ivZPLrF+FHga2+F3wo8P+FbFfLtvDenw2uP7u1R8g+lbj/crORUY2IXfZ8tQzOuxqsN9xahu/uVD2KHaP8A8hNK6yuV8K/8f9r/ANc2rqqinsAUUUVoAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfnt/wclzfZf8AgnleP/1EoV/NhX6E1+ef/Byvn/h3Vebf+glB/wChiplsVE/A2aHyUkRW3M0nWo/iA6SfDfUm/wCedrJx/e5qTesPnb/vNJxVPxyip4I1BG/5aWslSM+RXTzt0n8e41/RR/wZ07l/Y0+Im35W/wCEkl5/75r+dmb/AEZ5l/usa/ow/wCDPRB/wwh48mX7zeKJ+fwWt6XwnLUdmfot+3btuf2Ifiw7L839g3S5b5f4K/mN1W8W2+GmpRv8z/Y+Pl9q/pq/4KCaj9g/YT+KDTL9sDaHdfu4vvfcr+Y2XxDYar8N9Ua2uoZpFsSvl/xRYHT8K877bOqX8NHyn8BEd/jx4Pk27UXWoMjd83+vFf2t6P8AFbQdBudN0G8vktdQbSbW4USfKjI+EAyf4i1fxRfAG5aw+N/hG+8t5Li31qFwipvZQJQSQv8AG2O1f1K/tTeBpP2pY/Bvxb+G+sXOtR/D/TDBe6RYy7rqeZ4cLHcW4+48ZbcB/er0JbHJHc+85pltpmRt/fB2/KxHbNUfGaQp4Y1Rbm6ksbf7KfMuU+V7YEffH+0K+Hv2d/23fGGi+JfCOj6tLD4kt/Eqw27WV9P9hvdBeIf6Q8g5MkjbvlQ19m2HirTfir4Jvm0W6ttShmjkhRGbdtZeHSQf73Y1idB4f8OvB+t/CK/vLmHUP7Y09dPb+yNZvJfOt9QZ33Zlx93HTk1cTxPoPj+0m0u+aHQ/FGoXnnxM37yxuX+UeeCOFz061z+g+Lda+DPjO80q+tUXQbxSttpN180VyvcxoeEWuq8H/CXwvN400/xJok0P2xYRK+gy3P2lFiz/AMsgf4d1BUia8u5vhLbWtm0lnottcXzrqslywWHUlON7Jn+JvSub+Ivwf8E/F2aa28I2b6b4h0tTeLpkTfZ1uYs5D5PCNz3rJ179pa28Va3rHg/xV4bfVLb+1Joil5beXcWMMnCPFnOWXs9TeLfghN4S8Q6t40+FevPda1pdjAt5p13L51wwjjxGJIz/AAlOvrQSan7N9940+Ht5qFjrzalfNoumutnpbyfJPKH3b0fGFwnG+vYvgt8adE+N/hv+2NEke3WZdtzaSv8APFMDg5Hdf9voa8Puf2nofFupXHhLxxJNpdz4k08fZBYR7L6zbKgwhhyylvmre/ZR/Z78SfB/4x61qs/iDSfEHhLUrFbWzkt4FhkgZOcOB/KgqJ4T/wAHE/gbRJv2M9P8SXGk6fNr2l6pDa2OoSxZubWJ2xIkbjG1GHUV+f8A/wAElIdn/BRrwfHuf5bWdEG75VBxjH+yK/QT/g4x1RU/Yb0uGT/l41aFv++Tmvz5/wCCTt2s3/BQLwS8f/Hy0c24e2RQRiPgXqfuBM7Pc3Hy/dZx/wCP1HF92pLj53k2/e8x9/8A33UcX3aBxDf5dDv8lElNf7lZ9QJNL/1yr/er0jQvns1Xb91dw+teb6d/x8rXo2ibfsa/N839K3gJuxn/ABFm1OLw/u0xUa6aRVx7V5rN8PvFGsOxeb7PJN/rHV+3tXs2zunzK3UUJAP9hq6sNjHGLSPKxmX+2qKRh+ANFu/C3hi3tbq4e4mh+9IedwrD1z9mzwP4h8TyeIL/AMN6VqWsTLtN3dReY+K7bfvRvl+78oqxs/dLtrklLnk5HpUqfs4KC6GLoPgzS/CVt5OlWNtpqzNucQLs3V5L8QEW2+MFrI8fyyZXH8TfSvcHTfNn+Fa8p+NOg/b3hvo28mS1k371++oHce1SaH8+P/Bzb8F7nwl+35oPjO4X/iTeOtJkt2mb5d0scm0IR2baK+Vf2JLZ7bwB4ot2jf8A0O8mYj+LHl8cV+/H/BT39hzw9/wUQ/Z2m0PVI3t79WMun6in+usbpfuTD0T1r8R9F/ZF+MH7Cfx4k0nx14Z1K48L3ytpM+uabB9ptp4yf3cjEcB+fm9qMHLdG9vdOZ0F1Gm2qMzt9ojDA7Tsz6Z6NVy5s301/nbbH/s/NU3ifRLjwZ4v1LSrhfLks2+QL/x7tCfuSR9uaz/9TN5iM7N/t/draOxzlpYm3/Mvy/eBpv2lnhk2/u6b5zIm/duZqdNN522Nl2/xVQDrNEuYVDSfdqTzvJm3Nv2L1+Xt6/7VV7ZF8/ZXoH7P3wd1L9pb4tab4J0e+0rT9Q1hXcT6jciGG0ji++7ufu+1AHBzbv3cbfK8zbwP9mq8rtskZflWPsvzbq6T4tfBzxV8FvivqXhLxDpMzXGmzFYb3Tf9OtdTUdJI5eN30qTw18EPGnjCHZpXhPxDceY3BnsTbJ/33U8wjkURvJZmX5PvA9/yptttmh2x7JPMbZsZgnJ6da948K/8E1vi54tvNy6bomjrHiXF1qe1sH2Ir7O/Z+/4Np9c+J3gy11rxV8ULPR01SMt9jstKjuOB3EmRRzAmflm0sdmjLu+7MIAF+d2kboigct+FfsT/wAEFv8AglJq3w71O3+OPxI0k2uuXUGzwxo83+stYTz9skU42uV4wa+m/wBjT/ghd8E/2RdYtdWTT5vF3iSHDx3mrr5kO4dxEchWr7CubNfOZoV8tpIwhk3fOqjsBRzFxi2OeVbv5V+5uOD91mPf/eqHZvqbKvtdfubf3at8rxD1/Gox/FSHIrv/AHajmbzEapnSoZvkRql7EknhX/kJRr/zxVlrqq5fRHWHUlauoqYbAFFFFWAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFfnp/wAHKMX/ABrlvv8AZ1CD/wBCFfoXX59f8HI+H/4J0akv96+g/wDQxUVPhY0fgNM6TTNurL8f3ip8Pb5V+99nf+daE21Ln5vm29azfHNskngO+f8Ah+zycfjT/wCXRZ8n+Ts8zd8yMx5/Gv6Mv+DQORk/YM8bKzSRwt4qn2si7t3Sv508fJIr/d3H+df0Xf8ABn+83/DCHjhPMeOGPxVPsx/F0rWl8JyVt/uP0O/b8d7P9jP4nSR28O1dBued3zfc9K/lr8f/AArTw5qsfi2x3/8ACO+INLdTErbfLvFGOR7tX9R37e00f/DF3xaXyU3R+H7pt/f7lfzF+Lb+4l+E1xbfOyMsc7p/AoUfwf7VecvjZ1x/ho+Z/wBmGJov2k/BOP3bL4igMpb7uTL6/wAK1/Xd8U/g54Vi+IWk6j4R8SW/w1+JeoWcRs5bfHl6rGFDGO4g/wBWxPTf1r+Qf9n6aNP2h/Cb3Ko1uuvW7SCVtsfliUH58V/Vv+3p4dvvGfhnwn4k0Wzs9S8LSWNv/aWqxOZI4I1x5QzH8/8ArOmzv14r0Htc5ovUfqXhjTIfj3Z3njTRbP4c/ES4uEU6xFF52ieJVP8AyzWRv9XNt69Oa4tNN+JX7H/irx9qkLXN0mua5b/2HGqhobOFwTI/o6buprrP2dP2krfx94Sj8EfE+xm1qz1W8mtNOTUFBuNqHAEmOQg/hI5rvPFXwv8AEnwM8NXFjpsM3xQ+Gi5aXRp5d+q6GDkg27/xIo5w3Ncq3NTS8D/Gzwh+1Lpy+GfGVinh/wAYWsIlk3OFVHzgeVIT364rP+Pej+LPgV4s8P8AiTw7Z2d5DpNqbfU7tl2J5WP3YP8Ad+avC/HPwE0DSk034jaNrVz468Itve5jvN4fT9oJDXAT5w0bjAFfVH7LfjWH9pn9l7QdW8QSJrEesR7HjdTGkrK5I44ORt71sBxdz48+G/x/0fSbXxhqENr4zhhSczxKYXZv+WiREY3rH3zXn/x1+Gmsfs5Xlnr/AIY1bVI5L7EsviFFElrBz+6Ew53Lt9RXunxv/ZOsPiLrFrqmn3Cafq1n5CxweUix7VPIyB949681m+LT/ATxa1t4n0u4tfBepQztqdxeRGbcyHaE2DI2n+HFSB3Xj/8AZts/ito+n+LLO3ttN8deTHe2uoN/x7yTFACG/u5G7pXefBD4fL8NPB/2b7OtrJdXD3FzB5pkVZWHLxk8spq18MfiFovxQ8H/AGzQ966JIoS0bbtRu4wDzurqLl1kvPl/1m3ZIP7oHrQB+eP/AAchzfZv2UfCsf3t2rDj8q+B/wDgkRbMn/BRTwrj7scMz/gMV96f8HJb4/Zg8Isy/Kuqcj6Yr4T/AOCPkzf8PCvDrN0bT7pR9TjFBnX+Fep+33ys8395pHb9TRTfKWHazN8251x+NOoNo7DZ/wCGnS/6mo3+fbTnm+Ss3uSO01P33/Aq9G0RP9Ajrz3Tdvnbf71ejaCm/TV/2aIgWkT5aT5vapah8ytAHfcSnJ+896bsZ/8AdqSLCDmrjsA3Z/31XE+P7BJ7ORXX7y9f6V3G/wDirJ8Q20c1sysu5W7US2A+d5ry40253bU3Nm2CN93aeap6xpug6rDJHqljbLbyNsme48uSO2PrsJroP2ptOfwX8B/GeswLuutK0GeaJ0/56FgBj6Ka/Nv4DwX03gazfWri8vtQumd7iSWdy7MSSOM421BnKq4nqX/BQX9jP4A/tU+FFSHxVo/hPx1o7CLT9d0iLc7D/nnNFjZ5Z6E9q/MPxt+wZ8UfB/iTVLO30O216wt22pf6NKZrZh2fLc896/Q7W/CtveP9oWNGuFbbIiqNqgVcsIZJrOFBcTQpC27arbeB2wP4aj2lnYmMuZ3Z8B/DT/gl38Y/iWkMi2/h7QbWPqNUndGYe2K9S8K/8ET/ABRfwxrrniT7PHDHtnGlxGZpef8AaFfangyZ316zuPn8xbgLs3bkwTX6UaV4Vtxo9u/2WH5oYyw8oKv3B7etX7ZtWNPsn89fj/8A4J6eEfh78QtD8K3Opa3q2t3Uzy3BvIhCltaoNwL7f4m6V9JfD39lT4Z/DTy7/wAN+H7DTbmaHabhZ3mdsjn73rXqH7Qn7Oun6J+1z468QrfX9xf6pcbpBLhkgwc4T+7nvWf/AGRcQuvks8cbfMURRt/CqVSysZcrOdvNHTRLBbdrOzmRm/d3E8QfaD2Gfu1Y0fTZLNPluNyt/Avyr+Vaz6IyPvkV7hm+UA/w1YttNhhi3P8AK3bZWMpaBysbY23k2DSSN5jySfxfNX6Ofsuon/ChNDba7fuzjb95Qa/OlNn2DY3/ACzbdX6Ofs0w+X8CNBRWZfMjHI9GqqctDWKNTxt8TvDvwwFnc+Jdas9LhvrhbKzubmQr9qlYcIAKk0fxzp/ifWNUsLdpmk0mQQXe1QyrKQCOfdTXmP7aPhe58a+FfsVho/25mhaD+0FdNunneOZVb7sfGS681xf7JHhu++GHx78ZaHqXxA03xFqWtWsN/wD2dBnzFYYHmBzwy7RjHWqiUfTlztRmVV+ZlDOW+8p9Khl+7UkrtNumjXzIZvl8z+LIpuzzErQCvx3psyLsapHRajdF2fKtADtB/wCQktdRXM6Cn/E1jX+8u6umU5FTEAoooqgCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr89/wDg5OO3/gnRqH/YQg/9DFfoRX55f8HLA3f8E6r5d23/AImEX8xUz+Gw4n4ETOqXjf7VY/jOZpvBN8i/8+8n86uPOq3Kp95mUVm+L33+D7xF+Vvs8nP40r+5yFnzLCmyaRH+Ztx5r+ij/gz0hZP2JPiArSbk/wCEmnwn93GK/nZhDzXMka/LIrHn+Gv6If8Ag0Ntm079hn4hXO5FuP8AhJrhcytiPjbWkHaNjlrbo/Q39v8Adf8AhhL4qTL/AMtNDuk/8cr+YvxJMU+G95sb7tqF/Sv6av8AgoHc/wDGBPxIW5byZZPD91KggXespCdsV/MT4hvHT4aTMse12s/nRvcd64LWmdi/hnzz+zNpUevftG+DY7iOG4SbXoEeKX5o5QZFBDDupWv60Zv2ZvGn7Kd/JrHwVmXUPD1xHHLdfDu/fNooCoSthK3EJ/3zX8n37GdnHeftafDmNW3M3iKDeW9fMr+2K1maGyWPbuWNYlx/wFK9CppE4qcrux8Zr4D8E/tUeObHxr4FuLzwf8VvCtx5t14a1P8A0dJ2X/WwvCcF93RZV+Ss/SvEPxA+GP7ecy6tfTeH/DeuXVq9np7S7kvJCn72Df8Acb5umK+kvjx+y54b+O1//akvneHfFlnhLDxFpzfZ7+IjojEcvH7HrXlPiTxrqHw6Nn4c+Pejw6hpdjKr6P8AEGyiBt4mU8S3AHFow6byea5VubnovxP/AGYbmx8T3Xi/4eXFt4f8V3Enm6pZsn/Et8S8f6u4j/v7eA4rO+A/7Q2gy+ItQ8G65o83w78XwsLuTQrxlWGUucB7a4H7twf7qndXtOgXlt4h0m1ubWaG+s2jRreRJQ0c644kSQffUrXKfGb4LeHfjxoi6T4k037VHD+/tLxF8u509vWGbrG4x98VsM7SWYPNIqLt/dh33rt2k9Caz9Y0S28T20yXlil8vl7PIdRslz3jJ6V88y+OfiL+x1ui8R2+q/Er4Yf8s9btYDNrelIc/JNAMvcLjrL2r3j4YfEvRfiz4Jh1rw/q1nrmlyYaKe3lB8sddj4+469CKkdjmbO10P8AZS+DmtXmrXnl6LokUmpz3DMF8iMZx/wLPy1zv7E/7aenftvfCK68YaToOseH4LW+ew8vWYDbtKqdJRuA3K3aqf8AwUXsI9V/ZL8QWEke7T7xreK73rsjaLz4zh3/ALu6vE/+ClWmyfGTxH8HPgfZ+PJPhbpviycT3Op2VyLaXUkiiDR21vyPmLLzg1PMSkcD/wAHJKf8Y1eDVTZb/wDE0f8Ai+XtXwn/AMEgrlk/4KI+FU+9us7jlvwr7E/4OItETwZ+yN8K/C81xealeWt4LcSyMXkfy0A8xz/FnFfIf/BHZPtn/BQvw6zsjMun3Sgr7Yqia0bxXqft9Mi72X+JWdv1pv8Ayzpz/PNMv8SyHmmv/s0m7FRY2h/uU132vtqZ3X5flqAHaZ/x8rXo2iN/oC153pv3/wDa3V6JoK79NWhAXN7UIlO8n/OKdB9ytVqA37v+FR3N29sPlh3VM/eiT7jbvu7aryAal3v/AIahv7pYY2aRo4YNvLvxyelQ3LyLZtHbyeXJJG3lSMu5Ex3Jr5P8T+IdP17R/En27xZqWsaXqWsR6bafY9QO+zvWfEkmB9yGNuopSegHu37Tmjw6r+zx4st5I9yTaa8W0f8ALQEg1+aNn4bh8PJIkKyKsLbUkb7q1+l3xfs5tJ/Zt1i3abzp7PSREJWbf5hAUb8+9fnvc3FrbedHefNDNnj+HNY+01tYNOpz8lnIj+TI25mXfvX+LNWLPSrdE2vvao4Xt7Z2hWR2X+CRv4c+tWLy5msIVVl8xW6Tr92p0bJ5Ve6NbwfC1tr1mm35ftCfzr9RtKX/AIktmo/54p/IV+V/gzWHm8SWaN8zfaE5r9S7Eyf2NY7eN0ceT/d4Fb6JXHsj8+P2mYd/xs8USM23/iZTRfkBXnc15b221UZ2bvXxH+3Z/wAFi9S/ZP8A+CnfxU8J+ItMj8TeB/8AhIJUMKN5N1pRO3fIj8mTC/8ALOvqT4FfF7wf+0z4P/4SLwHr0PiDTfLEs6K225s8jP72Lkx/Q1hyv4kI66a/s9252fdt6Vmv4sd7ny47fy1X+M1rQ+FX162aazt3kWFdzuv8Q9f9mqP2CP7GyzRusfZ2+9Uv3h9bFd/ELXLtH5PzfdL1+mH7OyBPgPoKlnUNZpkr1UY7V+ZcOmyW158vzQt0/wBkV+nH7PFr5PwW0Fd27dapz+Fa04NLcvoeA/tg/DLxp4m+Meoa94Rmlku7DRzYXVg6u1tfWbshfOOPNz0rW+CPwU8QeG/iFo/9peG4dNsfC832z+2/ND/2rJJHt8iOMHemM9W4r6aRNjsy/KzNuJ/vGo3hVHXb977341rGNiSN4XdG3/vFb5grfeibv/wGo3hZEq1c7vvD73eofmqgK/8AB81Ru42VNc/JtXbUM0P8X8NADtD/AOQrH/1zroovu1zeiI39sRt/D5ddIn3FqYgOoooqgCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAr8+/+Dj+za/8A+CduoP5b+THqEO9/4Vy4Az9a/QSvFv24f2UtP/bI/Zr8SeAdQm+ytq1v/odwv/LnOOUc/wCzu61Mion8sF/Zw21zu+67KVCfxNt61i+M9qeCdQb/AJaLau5/HFe4ftY/sr+NP2MPivdeFfHNq+k3kcn2O2n8ota6qvaeOTGFVuwzmvF/HlgsPgzUEkX7LNb28m+D7yzgH1qRnzHDumRYV+VpJvKJ/j9c/wC7X7kf8Gs37cnw/wDgr+zP8S/BvjDxNo+gXmn61JfxRX7bXuY3IHAwa/DdIFhmZnb93N8gK9Yj61ueAPH+t/C7xbZ65o9xNY6tp7bEuUxsuYx1EgP3lNbUfeWpg48x/S1/wUL/AOCq3wp8SfsgeMPDHg/UrzxFqGvW8tmbhV2w2KvwTkfw1+A/x18T3nw0+HjWd1JD9v1BUSBFbczRY4c/Wrni3/gpTrHirw5cWaeDfD1im3/lhlf33/Pbk/jXzr4t8bal478TyahqF9NfX8kY2SP/AKtfYVnKlZmnNpY2P2ePEP8Awh/7QPg3VI1kZbXWrWV3X18wZr+3PwRrdv4h8MaPqFvcQzQahYRTxMrZ8/MY5FfwwWF5HBqtmrM67ZkZyny7ZAchs1/W3/wQ3/bT079qb9ijw/pLXFvN4s8CRppGqQswaS4VBxcxjqVOcf8AAK2+JWZz8vK7n2W+53VG/eSK29B/ExH8H4V8w6F+3BpPxO/4KHeIvgLdWOlapof9jm/txLiZLmZOJY3VgQyht3FfT15+5hm8uT93CocFvuxH+968V+MsP7OfxY/Yc/4LAeFfiF4qs7jWPCfjTWpLKHxPpyl4JFuN7BJAclGXpk8VyLc6D9FtH8Ca5+zsZvEHwpm/4TD4f3czyan4b88yPa7fvfYG6lw3/LM4Feq/Bn9oLwz+0Jo8l14fvJJprNvKvtPn/d3OkyjrFMh9PbNfm5+zJ+3B43+FPj3WmvNN1K3+Hfhdr69v1vJEa11y3Nyf9MtyvKuG+Xmvrfwb/wAK7/b40q1+IngPUr/wV48s4/3dxasIbmJz0jmQ/JIp78dK13A+n7wR/wCudtqXC7JC33Gx0JHpXhvxG/ZAutE8VXHjr4U6h/wh/i7yx59q3y6Prij/AJZyxfchVv8AnpGu+ovCf7TerfCjxDZ+E/jJZ22gapqUi29n4ksoz/ZOssxAVDnJjf8Avbtor3WG4W88uSH/AEhlUBJIGDfK3TB6MlSFz54u/j3pfx/0HXPhD8TNPfwH441yxNuLeVi1nqDA5WS1kbhlDhTzXzx8ePgmuveFfhHcftG6PDcWHhnXP+EfvNYtbmRFaNMfYr8SIQYd0m1Tt619yfGH4LeHfjl4Rm0TxVpMPiCzk+Yhv3cygH/llIMEMG56188/FHwT4q/Z+8JX2ieMrGb4zfBHUFC3DzqX1vQYkwRkLgPDFjIx89TuVE+Xf+DmOVfDvwu+C9v53nW66hPCdrlmlVYwB83UjHevk/8A4I+Ox/4KF+F1SRI41sbr52+VOSMDivXf+DlT4taO/wCz58AfE3w61LS/EGg6fNdJFHvO+eDy1BQo3zqQv94V8qf8Ex/2z/A/wc/a38C+ONUvrnT9Ha6TTdQh1HY0ulGY8SHbw0YoW7FW+A/oYuV/0lti/NJmUj+4Acc1HHUKXMOpQ/abVobq3us3FvNBKHjaBzuDkjhmOcgU5HpSJQMm+anTMPlX+Km3KKib2oZF2K38TVIybTX+f/gVeiaC+zTVrznTeq/71ejaI7JpcbLQBoI7bPvbf96pEdU+Wo/9dD8/ytUkKB03VvEApPm9qVl8sU3/AMd96UtwOX+LGu3Ph74da1qFiqfbrOzl+zRt9xpNpwDXyvoXxgXxzpq2N02m+C7W4js4NYDafGv2SWQHzHB2/wDLVuhr6+1jSYdb0prK4j861uMrKzfe9jWL/wAKo8O3iXUF9pNhJJfLClzui/4+VgGIyfpQBw/xOeGz/Y915ra+udWht9NkSC4nXY84BAB4/Svz9sIftOmyKqvM38Ab7zH2r73/AG8fHUPwT/Yf+JHiKG18yz0PRZLhLdV27QpAwK/Mb9lT9rTwB+1j4St7jwZ4ghvtW/5iGjTsI9Q00985wH/4DWLjqB6ZpXhV7yaOz8tftN10i/vf7NWtY8NXmiPbpNbzW6+YYvskq/MxHpXSfD2z8nxzZ27Q+S/2iPZv/wBZFz1P1r6KufA1n8RbzUFvrVG+wqfIn2/Pmh/EB8p+D9Kj/wCEqs5Fby1a4DkN/wAsgDzmv1GsnT7BZqrfKsKN7YxXxzqv7Jd/4Amh1u3kS+0nUoxFPFtPmQEkc19gabLGmlW/7z92saLEdvONorWSvCyC9tWfxy/8FnrxtY/4KlfGqRfleHxhdO7/AHmUHZ1z90HtXkPwZ+PHi39n/wAeaf4g8D69eaHqFnN5pit2Pktjr5qZAkz/ALVfr9/wXU/4Nx/iTrfxe8afGj4S/wDFeWvia6m1fWNDkbbf2JIy/kdmQY6da/FHVobzQZ7rT9Ws7+1vrPEdxbXURhubMDtsIB4qqUeWNiZa7H7BfsSf8HD/AIAuNHvrX40+H7/Q9buIfKfVdDzMl8R/fjbCIx9q+tvg58fvBf7VHwxt/FvgHULnUPDd1cG3i+0KFminHPlyAfdbvX83tzNsmZmk/wBWoW3kX7u0+tfRn7B//BTf4hfsE3kkOiTJrXg/Urrzb7w9qihrO8YjBkAX51fb0rKUeaV0Z6rRn7lOkvnMV37WkCy/3YDnvX6cfAQKnwd8PworMsdqil+zcdRX46/so/t7fC79vCwhh8K6kuk+Mlj3XHhPUZQlzgDJ8qTIRl/ujrX7DfBixW3+Dvh6GaCaFYdPjIW4yjRAr3zjp3q402tWaxOs85F8zcrx+W235v4vpRN8jqv8VVBrVu95CiSJPcrH8oTmNh7GkTUm+XybeRV/2vvVoMuTrvRdv5VH5LbN1Ne2ubx9zN5dR/8ACOXDvlrh9tADbl0T733lqnc6rD91W3N6D71aieGYflaSZ2bvVhNEtoSrLD8y96T2Ao+H7ZpbiOXbtVV281tJ8qURIEXCrtp1KOwBRRRVAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABUbwh/vfT8KkooA8o/at/ZC8C/tifDGbwn440OHUrGZdsEwQefZt2eN/4SK/Aj/gql/wAEUPiL+xLo+qahoS3PjLwB5Z+z3lvEXubMHnZcAc7f9uv6THVm+61ZureGbbWrC4s7u3t7qxvozHdQTRh1uQwwQc9sUAfwq3VxHYC6Z7iHzLeTY0aNsk6981R1LVbd7zyVZ7h5O0Tblx2AA/ir+wv4zf8ABCD9ln46eIZtU1j4U6Da3tw26V9OiFqJT7hRiup+Ef8AwR7/AGafgpYJBofwd8FK0f8Ay2utPS4m/wC+mzQB/Hz4G/Z9+JHxYmVPDXw/8Ya5u+UGDT5WXH1xivpb4S/8G9v7XnxrtreTTPhfeabYth1k1K8jt0jB9mOa/rq8I/DXw/4AsVt9C0PStHiXotrapEq/kBW4ibKAP5o/g9/wZu/HDxnZ+Z4t8eeFfCcTKGkiWN7l8+ny19yfsqf8G0XiH9iKCbxJ8P8A48eJI/iFZwj+zWGY9PZVOfLkT+JD3r9dpIi7K393t0qFon+791VbcD/e9sUAfDvwM/4Kfat4G+JFn8J/2lvDsPw18dbv9D1tP+QF4hAPyGKXpG5/uE19fX1pDrNhsuI7PUIdRjLw4UPBJlTt/Ne4rE/aG/Zc8E/tWfDu48J+PPD9jrmizfMiyr+8tm/vRP1Rx6ivjFvCnxz/AOCSVzfTaX/bHxy/Z6WQbdL5l8SeEoe/lnl7pB7dKmRKVjjLbUvA/wAXbzxp4F/sVfA/jxdNfwpZeDtRugsOoRG7E5u0c8Jlema5X9pnW/8Ahnvx5rXhvRLxND8XabqE2o6RYRSiOSK3S0ASXb/y1TeMV9i+HPBXwD/4KX+FbLx1oC6Pq2oRuhk1C1xHqtjMo/1NyB86sD/Aa+Vvjf8Ab/g18fr6++P3g1PEVjZs9t4T8cabYmSbSLVxs8u4I++23/lnWMpOGpUpHcfAX/gqz4L8efBbwz4Z+PNvaxx+ItNsrK6v7mA3Ed9eTErIJMf6lR8vzmvb5fh78QP2N7FtU+HUknxG+HKqJx4XuJd2oWMOOXs7g8eWF5Cd+1fn14n+EvhP9nK517xhr11D4k+CviSxNnb6jFB9pa2nYH93cxD/AI92XPGeletfst/8FHfEnhD4r6lHJq1tqXw78H+BzdWmmO4W5vpUSP7KEzyq7K09pzIJaI++/gb+0p4R/aV8PySeGtQdrq1bdf6VcRm31LT3HXfE2HUbuM16HDvvLxm/iZdh+XamPUg/ezXz74+/Zh8P/tJ6Do/xI8Pzap8P/Hl5p8d7aa5pmVmywU+XeBf+PlM/wVm+Av23da+D3xBsfAfx0sV8N6lJGG0vxdE3/Ej14E4CtJ0hmP8AzzNQOJ+d3/B0n+zl4T+GnhvwT4l0XR30vVfE17cQXUVu2yz8wLkSFPuhm71+Jmq2D77i33K15HGUTav8XcH/AGT61+9n/B2Df293+z98M0jZLi2uL66uBsn3BgUByh/ix1r8HdSeT7NJJH++fcEBi+V2jbqP9rNXT+IVeVqZ+pX7J3/BezxP4M8beAfhr4F8A3PjTS7HSYdIi0pZ/wDSNTvWKF5kkPCqqhhzX7HfDT436V42vIdPv7Obw34qkhE//CP3koabaw5KSdJNvtXwT/wSX/Z1/Z5+Gnwo8H/FjR4dH0/4jappJtdQ+3zjy7YA9Yoj/q3/ANuvav23vHPgvWPgzNrWpapJp8nhWN7+DX7KX7PcaZMgJj8uYdpGCqY67q1BOnc8qnUkp6n106MkKxs3/bVoi6sPXA+61OfP2BZn/wBTu2I6/LuP0r8l/wBgP/g5n8PeJfE8fgz44QvodzeSbdM8T2rD7PKG+4lxF/Bju5r9YNE1jT/Fum2OsaTeWerabqFqJoLm1nFxHOCMgpivPVFpHoRq3Zc0d/33zL/FXpGj7f7NjYttb0rznR3aO5VWXb5i7gW+61ekaVEfsyoy/PGvP+zRGWtjfl0uaDp50K7qcnydKru63MKv5nyxt/DU2/e+B826tiR1FGKKz3ZSG7IxJux8x4zQ6rsb5adhT61HcSCFV+Vm3MF+Xnb7n2rQLnzZ/wAFjbkWP/BL/wCNsn/PPwxP/NK/j+8MfEvUPAfiez1vRdU1LRb+1kOy9sJTHcWzA8bMfweua/rj/wCC2vxT8P8Agb/gmJ8YIda1KzsZNS0GWzsop5Qj30zFMJECcu30r+P7VdKuNKuZGuFeOOaQ5kX5lyeaz5Xzkn6nfsF/8HESeAL+x0f47aD/AG1HZ4aLxDoy7JpVA/5aj+J6+vtS/wCDlXwv8QNb0nwx8FPhnrfiTxR4uvo9I065vG2wq0px5jxnniv599N8T/2PeLcSeTI9uwAdF2pKD2Cf3q+gv+CfXxyuf2df20/hz8QNc0u8bQdB1iO4vI4pf+WRfqn+17VtUiuYz6n9jPgzT7lfB+mrqkcf9pSWkP20dV84Rjf/AOPVrfZ1Ix97jH4VQ8KeJLfxn4b0vVrPd9j1SzivYc8NskUMuR9DWl8u7NSaDPs6n5dvy/4V8J/8FRf+CCnwb/4KXWt1q11Yr4N+Icce2LxBpsQRpcdBOg/1i1941BJEwZtv3m/iP8NAH8a//BSX/gkD8Zv+Cavj66j8ZeHbjUPCDTMtj4lsIjLZ3Ea9Hbb/AKv6PXyxvdHWRGfc3zvKnzN6cV/dh8Q/h7o/xQ8JXmheJtK0vXNFvo/KuLK+gE0M4Pqpr8cv+Cj/APwaaeE/GUt54s+AV/8A8IxqjM1xeaBdHfb3mTkrCf8AlkPapJlG5/Pt8N/EN54b8Z6TeWN5NpeoWd1DPbS2eUlilVwQQR/tV9vfEv8A4Kg/tG/ELw3cWOrfF7xb5NuuyUWtzt89R3kx6V8z/tIfsteMP2J/2h5PB/jTSbzRb+3xcQtcWx/fx5+9Hn73SvXv2QvgP44/bz+M1r4F+Gfh+bVrjUJN2p3iKfs1tD3MsmMI3tWvQOU/qr/4J66Vd6V+xj8PY7+a5vLz+xbed5533STl41fJP/Aq9trkfg/4Yb4a/Cjw34fk2btB0m104sv3N0cSIefqK6yL7tQUOooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigApslOooAjRG3bt1RXqfu927aV5z/AI1P5K02bG1fl3fNQB/PR/wVC/aS8Xf8E7f+CwviXXPhLdQ+F47yKGW7061tlFheSsgLmWIYXc39/FfoT/wT9/4LQfCj/god4Wh8K+NobPwn40vNtnc6LqSD7BeXPXNtI33379K/K/8A4OPLz7N/wVN1xk/d7bOBpE/jYeWP3idvbmvi3RNeezmhvLZpo5oesisY3iAOQQVwfM+lX7jVmYyTTTR/SJ8SP+Cdd98FvjDN4s+Gq2eqeHtQke41vwbqTC4sbmQc+YI2yGaRuvHFfN/xX/Z18C/FfwZ4g+IXhPTbbwv8V7ySTSNR0qe8eO3ltd+PIsosYeQAYWvAf+CbP/Bw94q+ANnp/hj4ofafGHguPFvFqErf8TXSkHAZ+zIPfmv058Z/BP4R/wDBS74b2vjvwBrljNqTRb9P1bT5di+cvQyxjBG1uG+WsPZ2ehtJqUbI99+B2i3Gg/BrwnZywta3FrpsMUkbSlvKIUdCer+1aHjr4baH8TPCVxoPiLR7HXNLuoyksF7AGRiQRlAc7H56ipvB9ndaD4PsbO+ZJrqzs47eSRf9TOygDeO9agTyfldvnaPbv/hb6Vm9wjpaLPw9/wCDiv8AZp1D9mz4M+C9Kt/GWpax8O1urptH0S8iE1zocmPnjS4JMjxnpz0r8dXR303ZIvnJJtUpF8jRq3dCPSv3k/4OvZlsPgt8MVj+XbcXWzv/AALX4QzW2NN8xfvspyaLO+g60U48rPZPA3/BbD4tfAH4dQ+BfDNj4PbS9DtzbwXNxpkVzc/Mc5kdhmuB+OX/AAUs+Mfx7+Hs1hr3iBZNKulFxd6elikNvfSZ++MeleD/ABFuY08VTJ8itGoxt+XqKteFXh1iwj00tuaRtx3e1eh7RuNjD2SRTS/m1P8AfXTQyNcfvZwyj5QfX+77V9gf8E4v+Cy3xa/4JuaxHDo95J4o8AzTI1x4e1SUuvl9zFKcujeiDivkW/sEsdVa3X5WVuf9rNWoZlttyq25FXkViqcupNrH9X3/AATu/wCConwn/wCChHhuNfB+qPpfiaGPzb/wtq37vUoG6kxISd6e9faWjz/b9OhumX5tvJDenqPWv4p/gb8Q9V+F3j/R9b8O6pf6TqulyfarbUbKcpLBIOm/n5l9jX6AeIf+Dm39pTTfhRdWcOreD5L+G3EX9qRLP9ulI43kMvl7qJU7LQtVGtz+mTzV2blk+RvoorjfH/7RvgH4Vow8SeMtB0ny13N9ovEj4/Ov5MfHn/BVn48ftM2vl+Ifi14quriZd0kHniFFB6geVtNcbpt4/iFFuNSvr/ULr+N31C5kkYe4diKz5WXz3P6ZfjJ/wX9/ZN+BZuEvPi1oepXUed9vpc32mTI7Y/vV8s/Fv/g8Q+A3h6F4/B/hbxx4kmXgSTWIghY/XceK/mz+KbW6+PNUjt7VY1875dq5/nWZbbbO5hX5423DP5+1Ciw5j9vvjn/weJ/FS8i+z+B/hb4b09Gzi6urx5HX0+QjFfI/xp/4OVf2tPjLa3Fm/j630Gyk+9a6ZpUSPg/9NBzgV8U+J79Clq8kbtbRzDzJNwVmWsvxlq+n3niOSHTvJhs5Y08ojL7SBznbk1QubU9Q8SftQfEb9ofXo5vHPjTxD4qtYW3RQ3k7vDA//TNCSN1cv8Wr97DQYW/dtI03+q/hqP4X/DzxF4g1aG403w/r2sRR8GWw024aP9Vr7G/Yh/4IifFj/gpLbeLtPsbO88Cy+F7Fb+xk1+zljg1ORnK+RkDO7aMiqjJJ6lnwTYalDfzfZ5v3LSSbnj27tuK+qP2KvgzqH7Vfx+8B/DrRb7SrO51jUoG33l0U/dq4z614z+1p+wx8Tv2G/ibJ4X+JnhHWvDd8yloLmdR5N2vOHjkGV2H0zmvcv+CC+pSeHv8Agqr8IZI/MmeTUFgMX3jGHPL88YNEnd3J5dbn9gfgXQf+ES8F6PpbMrNptjDaEr0/dxhf6Vr+1N2Lvz3p1SUFFFFAEVw6onzbFb+Hd61FvVEWb/WN0JWrDor/AHqb9nQbvl+9yaAPHf2n/wBh74V/tl6ZDp/xJ8H6X4kazbfBdywiO5gXrtSVfn2+2a3fgT+zL4A/Zh8Mf2V4B8K6L4XtWx5n2C2VZLnb/wA9HxlmPvXpGwUnkr83y/e607gU4oVt+u2ONl3mNueas2z77dTv8z/aHele3R92Vzu608LtXApALRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVHctsi/rUlRXbtHFlfmbsKAPxS/wCDjX/gkR8Qvir8Tbj46fDuGTxNp62aW3iDw9F/x/LtHFzEefkCjlMZr8adKffcyWtwz/aLP53t9mJIiDjMg6q49K/swhffD+56TLtEsvzHPoRX5z/8FXf+DfHwf+2bYX3jT4YNZ/D/AOKG3zHe1jVbHVmHJSRBwrt/fqJxbWhUbdT+fXTZn+0XDJNCzyMMu/yyTgdv9oV7N+yB+3B8RP2MviVDrXgfxBeafctIJXtS+bC5C/8ALO4j/jT2Fec/tCfArxn+zB8V7zwr8QvDt54f8RWMkkG2WIiGUL1e3foyH1Fc/azSRwwzJ8yMvJ/irWnaPxEyi3sf0jf8E1v+CzfgL9uXSLfSdSks/BnxEjUJd6deShbXUn6EwMTgZbon3q+2GijtPl+8sfzxxn7659v7tfxv6b4tvPB9/wDb7C4+z3Nv+9idG2yZBzvTH3WH9+v07/4Jhf8ABzFqXwvt4fB/xkWfxBosMPlWeru5bUlA/gLHmb2qZ2exnKVppM92/wCDsO8jufhT8MLZdv2ia5u2Qfw8IucntX4VJM01ntaN/wB2pz8pavvj/gr9/wAFFpP+CiHxE/tjT9Ok0jwT4bt/svh61uv9dPLI2JZph6svRO1fBem6Jf39qyRw3+2NTvC53LjtWMYPnuaVd7HiPxUdofH2oMyupXYuP4skZqb4aX7Q+J7V2V2eToF+binfFGFpviDeBpHja4UMDL97IGOtaXwQ+EXi7xt4q2+GfCfiTxR5K/NHptnI7c/QV1REUfivf/ZvFTPD99sMR9ar6bqq3Myokzrcbd3y/wANfYXw3/4ImftI/tFfZbrT/g74gtZrpQsb6lm1jUDpnNfUnwv/AODS39obxZNayeIL7wf4PjZQshSdLt4h69O1EpajPzB8DXKW2vRum+N9p8zYu12P1roPGevJqXg+6sZLzyZGj2p5rBe/3c1+4Xwi/wCDNfwraT2t145+LGsas6/6yHTrMW6N/wACBr6s+FH/AAbKfsr/AAuaNpPC+seIJI23GTUtSMyMR/sHip5iZRufyl6Jok0N/HJpdxM1yqhT9k/fFj6fLmvaPAHwK+NnxaeO38PeBfG2qJIuwSW+lTxtk+rlSK/rp+F//BNz4EfB+zjj8P8Awr8E2bR4xJ/ZUTvke5FeuaP4b0/w7AtrYafY2EC9Et4kjX8gKkcYn8mXwi/4NyP2tvjf5d0vw3fSYZmG+41bVYk69yhwa+rvg/8A8GZnxS8QvHd+MfiZ4b8O/wB63sLN5H/MNiv6ME3bG9V6fLtpzfc+ZqAsfkH8Fv8Agzq+A3h63hm8b+JPGXii8jYMywX32eBiPUEE19a/Bn/ggN+yf8ETHJpvwh8N313GuBdajF9pk/XivsuigZyXw9+B/hH4WaIun+HvDOh6PaR9IrW0RE/lXRR2/kv8kaL7qoBx71booA8X/bP/AGFPhz+3x8I7zwb8SvDthrmm3Cn7PNJEPtOnuR/rIZOqOO1fn5+xZ/wao+A/2QP2ttH+JVr4+8SahD4XvlvtJtCwSRNp4SUgYZfXFfrXRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAU2WJZk2t0p1FAEP2OPep2/dXGO1OaEY2hdq+1SUUAeC/t2f8ABPD4Z/8ABQX4XzeHvH2gw3UqrustSiTZeWMgHDI4+bHtX87/APwUY/4I9fFb/gml4quLq4hufFXw3uJs2XiG1iLx2ysfuXOPuN6V/Utc7vJbZ96sfxP4K03xp4eutH1fT7bVNL1CMxXFtdIJI5VI5ypyKA1P4v8A7THfW147b4f3ZYuy/KsfsfTdXffshf8ABKn43f8ABQ7SptY+GPh2z1DT9LuntZLyW5KQ20g/gR/7wr9Sv+Crn/BtHrltrmteNv2c4/O0ybfcXvg92/0jzmPSzY8bD6Ma+xf+Db39iLx/+w3+wtqGi/EXRH8N+JPEHiCfVm0+Vw0kELBQiPtJCt9KBNJu73Pzq+DP/BsJ+09rGj28fjTxB4FtU2hU23kk00QHcjGC1e9eFf8Ag0z1LXtN8nxZ8bNStbeTIng0uxTc2f8AaOK/aV1ZjlflK/8Aj1IYfmYD7rdu1A3rufnB+zd/wa2/ss/An7Lc6x4f1Lx1rFvIJFu9Wu36j/pmDg194/Dn9nrwL8JbKGDwz4R8PaHHbxiKP7HYxxsFHTkDNdgqMoXCpUlADdi7Nq/KPakMSum1hu+tPooAYiKv3fl29qXYP7tOooAKaIlUfdp1FADUhClv9qnUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAQzFVfDfdbrUiLsG0fd7UGIN1o2D5f9mgB1FFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB//9k=\"\r\n\r\nconst test2 = \" data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAK8A20DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACik+b2pPMoAdRTf8ml+b2oAWim+ZS/N7UALRTfMod9lADqKbn5vvUfNQA6ik+b2pPMoAdRTf48/wANHT/aoAdRRTfmoAdRSfN7UfN7UALRSfN7UfN7UALRSfN7UfN7UALRTf8AlpRj/aoAdRRupPm9qAFopv3KP4f60AOopPm9qPm9qAFopPm9qT/aoAdRSfN7UfN7UALRTfv0vze1AC0Unze1J5lADqKT5vak/wBqgB1FN8ynKcigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAb9+l+b2o+b2paAG/LR/u06igBPm9qT7lH8f+1R/k0AL83tSf7VH+7TqAE+b2o+b2paT5vagA+b2o+b2paKAGp60vze1J/tUvze1ACR0eZTj0pv/LOgA+/Th0pPm9qT79AB8tEdH+7S/N7UAJv9aF+9/s06k+b2oAPm9qT/AGaX5valoAT5vaj5vak8yjzKADdspfm9qWk+b2oAPm9qTzKPMo8ygAjpfm9qwtU+Jnh3Rrgw3mvaPazLwUmu40b9TVnTvGmj6x/x56ppt1/1ynR/5Giz7Aafy0eZSLIrx7lbcrdxTvm9qAEb5KP84o80UI/yUAHy0vze1LSfN7UAJj591L83tSP8yU6gBPm9qUUUCgAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo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qKAGj+KnUUUAFJ83tS0UAJ83tR83tS0UAN+bH+1RHTqKAE+b2pPmp1FACfN7UklOooAb97+Kl+b2paKAE+b2o+b2paKAE+b2pO3P406igBuP9ql+b2paKAE+b2o+b2paKAG/NS/N7UtFADR/FRj/AGqdRQAnze1J23dvSnUUANP8NOoooAT5vaj5valooAT5valoooAT5vakf1p1FABSfN7UtFABTfLp1FACfN7UfN7UtFADUWj/AGadRQAnze1J5dOooAT5vakx/tU6igBvl0vze1LRQAnze1Hze1LRQA3bsShFp1FADdretHzU6igBPm9qWiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigD//Z\"\r\n\r\nconst test31 = \" data:image/png;base64,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NSJVZNuatOygGbVqtRslotapjLR9MXleg+T5zdp1kfrN28oz1erLi4kY1mnSVholx7dPRKxVpyJp0qarNGjeQRq37iLN2hZIiw6F+jqdOxZJj869pVe3fipvfbv3k/7JNSuJwKW4l30b0KMojXylbdjAwSpuTt5Cabt09nyatO3ftU+FqKLSRpaO5186e1FuXbupGTaEbc+2XXdFbYts27Bdt7OtjLQdOphIW3L89m3Jvk2ycskymTZxskwZP1FmTpmakrZ9+/Xar5y/WOb1fSErD24w7gb1MfG6HxA1ukkC98EtAzBv7iJdm40uo82atpL69RprN0kybSwBwGLcMTHLRkzE8sEXpEcRX9icXOUDwoa4sWwEZbaU7Z4/c6kUvhMc517LFzZgG/s47kFI281X7uhYhjBpMwzjScekzcLiCY7ffJy6pYPkth07pWevvjr4ada8tcob2ax70taoVNroDBmTNhqVqEwl0gTN2nRWYQMELl9pa9mxuwpb/WYdpVbDNlK3aYdE3jpJo5ZdknMUSKtWhdK+bZF06dBLCrv0keLuA6RvYUIib327I3Hp8jagR6+M0uYTStvQAYPScPKWS9oQLEobkS6XcctH2hCzV1++I1996ysqfZREss1l1tatWKfihrAd2L0/p7StW7lC5s2aLbOmTi+VtoN7EcvHQ9ooj2ThbEofyaixmDaPx46dqJk1BviIGsJWs0ZdlTdEbtHCZVJy6lxUzLIRE7F88AXpUcQXNnA/t/LipI35bEgay1C4TpKumyTz3vhucLwvbGDSZhiGUXmYtFlYPMHBfDaybT/76S9k374D0r//QOlT3E+K+/bXZh9k3op69ksGQV01+1a/QROd99axc2rhbNbDYrBct35jFTfWaGvToat2iaTpSKu2XaVO/eYqbcxva9a6q7TpWKQZsyq1G8vzNRpKjfotpF6LDlK3eXup0aiVvFivmcL9qslz67fsmNBZqtZrLb9btZHUbdZZmrYrkoYtukq1Wi2lRq1WUqdOG2lYv520bVkoBe17Se9uA1XgikvlzTUsoTnJvQYlAxNpg0G9esvg3vek7V7WrZ8ytN8AxWXcnLyRsVq6cJHs27lbzpWcLpU2JAhp27F5u5QcO6XC5qTNxxe4mMQhfTevvqylkZQxImo+W9ensm3IHGxauz55za1yYM/ue8K2Y0sygN4g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kee0MUlqsQ5mKKU07DLaCCEkqDgRocHm/WFHdJh4w8gbztt6953NMrD/tfKb//6NdOrQSQMuUbi1tWiLHmVrGGkz57DZwQb1OQD1z48daa7um6Na/3lxJanF7zWjlNKQymgjhJCgYgdE/R91O0QwumSLaZNvlL8hE+6coNMmsbebGXXDtElsGzBowCCNOBNybrjZDv+faJsbcViM5LYxY3R6JFaKzF2dI8WFRRpvWDUyXrTFW/LfDjYsKKIxBuqfH/u58dM8hxHt59dPklrc14tSSkMso40QQoKKHRD1f9T9YsQIKo9XyjdffasrKiLQMOJ22aWX6fluiDdc2vHWWLhd7GhriLU6MfXT1o02fU5A/fPj95zYmucwov38+klSi/t6UUppiGW0EUJIULEDov6Pul+MGO3743yvr/d/o3uTjR55q4YbznvDZt0m3jCdsrFwa4loGzv61ki0YWNtE22ItaZGGzbIhjHRBuqfG7/nw9U8hxGt58tXklrc14tSSkMso40QQoKKHRD1f9T9YsRo//FXPbAUPkbeNpSWyf333a+BZuItUbilOtpMrDHa2inu60UppSGW0UYIIUTZv3+/vPbaazJx4kTp27evdOvWTbp37y59+vSRwYMHyw033KBef/31MnRoQ8hFLU7ibMBte9Pwm6PEQiRjRo2We+6eIM8982xMtCHkME0SG25jtUg72HA/N9pwvh72qcP1jz/6uO6HQlx5b3a+kUaCjXNAQymlYZbRRgghJMKpU6fkyJEjsmPHDpkwYYLGWZcuXaR3794qYm7AgAEq9oHDJt1mpclE4dZS0YaRN9WJtvUlGyRnVa53n7Wyd/der8y8H8h7o/MLNkgCjnNAQymlYZbRRgghJIaamho5dOiQlJaWyiOPPCL9+/eXDh06SMeOHaVr167So0ePyEbddrw1Fm5+0TZ65KhItK1elR2JthXLlvtGm46wOdFWmFeo5q7Ok6yMLI03TPk00WZktIUM67WllNKwy2gjhBASRe3ZWjlx4oRer6yslAMHDkh5ebncddddMmjQILnssss04HDeG7YOMPGWKNyaEm2IMawi6RdtCLbGog2LqqxYmiHlG8rl8MEjMW94jLaQ4by+lFIaZhlthBBCfEG82X722WdSVlYmkyZN0njDdgHYqBurTSLWsE0AFi7BJQIOUybdcLPFQiSjRoyUCV4M/vnpZ7zoyohEGzbXTps+Q6MNobZh3XopyM2LEqNqy5Ysk0XpiyV9brpkr8yWTW9vku+/+77uB3BG2mIkwcbvNaWU0pDKaCOEENIkzp8/r+e7mXh7ZOIjcstNt8hVV16l4davTz8dcTPxlijc/KINo2o4tw3R9seHJ8rUyS/r7WbapC3OXVu8YIksnL9Q1q1dJzs/2ClHDx+V2jO1crYaw2n4pj193vxUEmz8XlNKKQ2pjDZCCCFNBuFm4u3YkWO6SfefHv2TBhvCrXevPlHx1li4JYq2p598SqZPe0UXJcHUSdxuiymRWHikbP1G+WLfl/LT0eN136PXa9WnzzREW7x4I8HGfT0ppTTEMtoIIYQ0G4Qb3kROnTil0xHfeesdeeapZ2Xs6LGReOvfd0Cj4ZYo2rIyMiU7K0vNWL5Cw80WUyK3bt6qsVZTVaN7zmGUTd/g9Jt0tN78IvchwcV9PSmlNMQy2gghhLQIR48ele3bt8uUKVNk5MiR0vHyDtKlUye5umcvGXLd4MiG24g16C5EglDD+WwIMkSaO7JWUrxG74Pz3LDZNvZk27dnX2QqZMxCIz5velGSYOP3mlJKaUhltBFCCGkRzpw5IxUVFTp1cteuXfLMU0/L2NG3arT1uqqn9OvbVwYNGCjXD8HG3NfLLTfVrSB59x136n0TRZu9GAlWk8QoG1aJxOiaG2yMtnaA32tKKaUhldFGCCGkxcD+boZa7/rmTe/KC889J0MHD5GrruwuPbpdqSLkEG43DhumYffoHx9JGG34+NtvviX7v/hSfjr2o+7Fdq7mvMpoa4f4vaaUUhpSGW2EEEJaBIy0Gaqrq71y8iKuqlpOVpyQf3y4U89bwzlsmDLZ+YqOOmUSo264bdJDDyeMtnf/ukkOfvud9+Z1XoMQ59PhayDa8IbGaGtn+L2mlFIaUhlthBBCWgcvrlz/teufMuWlyTJ40CC5pncfPe9tYP8BMm7sWN1MGytFYmNtBByW+cfiJAi27dv+HvNYJs4Ybe0Uv9eUUkpDKqONEEJI6+C1VJQepyor5fD3h2TH9vflicce13jr1OEKvbx3wj0adAg37MOGUTeMuGHRkb2793hvWoizBt1Ic/V704uSBBu/15RSSkMqo40QQkjrYGKt3urTVXLubC0+UnfphdfHH+2SsvUbZE1RsYbctq1bpaigUBbMm6+Xb77+hp7DVvdJdbHGaCOK32tKKaUhldFGCCGkdaiPtRhNeHng3DTchqA7W31GL0+fPKXnweFj52vP6e04N84ONugXarZ+b3pRkmDj95pSSmlIZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmlYZbQRQgghJHj4HNRQSmk4Ffl/H8igotR8jaAAAAAASUVORK5CYII=\"\r\n\r\nconst test32 =\" data:image/png;base64,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\"\r\n\r\nconst test33 = \" data:image/png;base64,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\"\r\n\r\nconst test41 = \" data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QAiRXhpZgAATU0AKgAAAAgAAQESAAMAAAABAAEAAAAAAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcGBwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAK8A20DASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD9/KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAhurhLK3eWRljjjXczHooFZsnjTTVs1uPtUbW7dJE+ZPzFY/xu1f+xfhrqUgO1plEIP+8a8J8C63daVYaosNxJGsNn5qD+FW3gbqxqVOV2O3D4VVIc7fU+hX+KGioP8Aj9Vv91Sagk+LehQbd10w3dPlNeI2Hj+31J9t/b+W/eWD/wCI6VtWkNtqX+pmhkRu7f1FZ+2bOn6hBb3PWIfibp9yu6GG+mX1WA4qx/wn1r/zxuv+BKB/WvMbPw9JDFhN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CiiitjlCiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACuJ+Pmr/2R8L9QI+9cbYQfTca7avP/wBpaPf8MZP9m4j/AJ1NT4WbYdXqxT7nzm/etzwN/wAhiZf71jc/+izWN83tWz4D/wCRh/3redf/ACGa4I7n0EtUY6dqP4/96hH+RadHSKNbwYmNb2/3redT/wB+jWfE6/Zo/wC9Wl4G+fXo1/vQzr+cT1mp/wAeyqq/N/8AWokJS95lzSn8u/tWX+GZP/Q1r6CeZvOb/eNfO9hMqXMP95ZE/mK+hP42b/aoiY4jckd2pu/3opr7qHocw7e1N8z/AGqa/em+aKnm7GiiyTzv85qG5mYQt/u07evmf7VR3UymFv8AdqLu92VykzyfP/Sm+ZTY3/4Eu3rTv+WlIEHmGM/LQszYpfm9qZv96AsiTe38K05HqMfxU5O1NNoC5pv/AB/w/wC+K6yuR0r/AI/4f96uurvw+zPNxnxL+uoUUUV0HGFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFcH+0j/wAktuP+u0f867yuF/aJTf8AC66/66R/zqKnws2w/wDEj6nzb/6DW54D/wCRkVf71vP/AOizWN83tW14E/5GSH/rnL/6LNcEdD6CWxiL9xadQifLTXfY67vxpc2lyje8DH/ipLf5vvLIv5xvWb/y7K3/AAKtDwH/AMjVZ/7W/wD9Fms3ev2ZaT2F9oks9v2lf94fzFfQCO2/5l2+1fP8O75WX+8P519CJ++/i/hp3ujKtuFD96MU3ZUSv1M9ENc4TdSfN7UuKyfGfjTSvh54U1DW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RQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB5f+1Km/wlY/8AX1/SvE9H+TVbVv7syfzFe3/tQLnwbZt/duv/AGU14hpv/ISt2/6bI35EVw1/iPbwL/cGxcpnxPrif9M7jj8ap6beLD4bukWTy5PtEMif3uAavXiN/wAJhrX+7cVgwzeS/wB3crLtI/vCsXozrim/wD5vtP8AwKnX+37fMu3/AJaGo/uOu1tydjUmpY/tW4/2mNSaHdaxqqXPgtcL80lqFz74xXI6bftZv/sbuo/hp0epSTabDDu+SPKn+lVd/kvUwi07snpY66zvFvE/216j+99Kkd65nTb9rbav8Pb/AGa6KGZr+Hcv316j+tTUh1Qo9mH2nbQbn+9TZoZFHyq9QvDc/dWN/wDvmsdS7Fr7TR9s2VRewun+7bzUf2PfPuXyX+tAi99rWj7b/nNVU0HUM/6l6sQ+G7z+KOi4JXHJcrinJcK9O/4Rq6/u1J/wjd195tlGoEfminb/AHqZPD1zs+VamTw3c/KtVqIqxu29a0onbZ8zVHD4YuT/AI1aTw3c/wB78K06AXtE8TXHh+88yCT5f4kb7rCvR/DPiq38T2e6E7ZF+/G33lryxPDEzv8Ae+armi6Pc6LqMNxHMytG3b+If3a3pVnB67HJicLGprsz1yiobab7TbpJ/eXNTV6adzwttAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigDzX9p//AJEa3b+7dL/I14XY/wDH5D/10T+de7ftOJnwBD/19J/I14PZf8fUf+8P51w1/iPcwH8H5nQX/wDyOerf7Sz/AJ4rn4bN7lJJF+7DsVz7t0roL98+NtU/3Z/5Vn6Ii/2DrH91vs//AKGaxZ0QbRno/wA/yfMi/KD/AHjRqX/ISm3fe3dadNt37f4aNS/5Cs277275qk26kln/AKnb95qJP4qbYSfeWib7/wAt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6rCu2G+XbI391x/jV/QdsPhvT/8Ar3Tj8K9M8d+DIPHfhybT528sSYZZF+9Gw71zFn8FZoY4431M7I1CDYvPFefWw8nL3dj1sPjIKmlN6owvtMZ+81TJcp/ero4fgtZb9017dyfjtq/b/CLSYPvLNJ/vSms44SobSzCl5nI/b40/iqN9Sh/vJXfW3w/0m2HFnG3+9zVyDwzp9t92zt1/4AK0+py6sxeYx6Jnmb6ir/cV2+i1DdPeTIqW9jcyeY23KxHp6166tnFF92JF+iipaf1G+7M/7Sf8v4nkM3hvWLn/AFenzL6FvloPw41+4T/j3jX/AHmr16irWCgu5m8wqdEjyH/hSuu3i/Nc2tv+Zqb/AIZ5vbn/AF2rIvrsir1iiqWDpoh46s+p5fB+zPaY/fapeSf7qhat237M/h5GU3DXl1tbdtkl+Vvwr0WitFh6a6EPFVX9pkNnZx6fbRwwoscca7VVeigVNRRWxzhRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQB/9k=\"\r\n\r\n\r\nexport const DataImg ={\r\n \"[itemid1]\": {\r\n \"#964B00\":hat1,\r\n \"#000000\":hat2,\r\n \"#E32227\":hat3,\r\n \"#0000D1\":hat4\r\n },\r\n \"[itemid2]\":{\r\n '#964B00':set1,\r\n '#000000':set2\r\n },\r\n \"[itemid3]\":{\r\n \"#964B00\":bag1,\r\n \"#000000\":bag2,\r\n \"#8A8A8A\":bag3,\r\n },\r\n \"[itemid4]\":{\r\n \"#6500B0\":cap1,\r\n \"#000000\":cap2,\r\n \"#E32227\":cap3,\r\n \"#FFFFFF\":cap4,\r\n \"#000075\":cap5,\r\n },\r\n \"[itemid5]\":{\r\n \"white\":test1,\r\n },\r\n \"[itemid6]\":{\r\n \"white\":test2,\r\n },\r\n \"[itemid7]\":{\r\n \"gray\":test31,\r\n \"gray1\":test32,\r\n \"gray2\":test33,\r\n },\r\n \"[itemid8]\":{\r\n \"white\":test41,\r\n }\r\n}","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport \"./style.scss\"\r\nimport { ItemCountSeter } from \"./ItemCountSeter\";\r\nimport { getBasketData, trans } from \"utils/helpers\";\r\nimport { ItemCardImg } from \"./ItemCardImg\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport {DataImg} from '../data/dataImg';\r\nimport { GroupingPrice } from \"components/GroupingPrice/GroupingPrice\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\n\r\ninterface ItemCardProps {\r\n ItemData?: any,\r\n cardStyle?:boolean,\r\n}\r\nexport const ItemCard = ({ItemData,cardStyle}:ItemCardProps) => {\r\n const [properties,setProperties] = useState({})\r\n const [propertiesId,setPropertiesId] = useState(null)\r\n const [offerIndex,setOfferIndex] = useState(0)\r\n const [orderItems,setOrderItems] = useState()\r\n const [openBadge,setOpenBadge] = useState(false)\r\n const [locking,setLocking] = useState(true)\r\n const [sumCount,setSumCount] = useState(0)\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n\r\n// change \r\n useEffect(()=>{\r\n let defaultValue = {}\r\n Object.keys(ItemData?.properties).map((pkey:any)=>{\r\n defaultValue = {...defaultValue, [pkey]:ItemData?.properties[pkey][0]?.['value']}\r\n })\r\n if(Object.keys(ItemData.properties).length == 0){\r\n setLocking(false)\r\n }\r\n setProperties(defaultValue)\r\n },[])\r\n\r\n// change\r\n useEffect(()=>{\r\n let basketData = getBasketData()\r\n let item = {}\r\n Object.keys(ItemData?.properties).map((pValue:any)=>{\r\n item = {...item, [pValue]:ItemData?.properties[pValue][0]?.['value']}\r\n })\r\n\r\n let propertiesId = (ItemData.Id + (Object.values(ItemData?.properties).map((p:any)=>p[0]?.Id))).replaceAll(',','')\r\n setProperties(item)\r\n setPropertiesId(propertiesId)\r\n setOrderItems( basketData.find((item )=> item.Id == ItemData.Id))\r\n\r\n\r\n setOpenBadge(!openBadge)\r\n },[layoutContext.basket])\r\n\r\n useEffect(()=>{\r\n // change\r\n if(+orderItems?.order[propertiesId]?.count > +orderItems?.order[propertiesId]?.max && orderItems?.order[propertiesId]?.max != null){\r\n setOfferIndex(offerIndex + 1)\r\n }\r\n\r\n if(+orderItems?.order[propertiesId]?.count < +orderItems?.order[propertiesId]?.min && +orderItems?.order[propertiesId]?.count != 0){\r\n setOfferIndex(offerIndex - 1)\r\n }\r\n if(orderItems == undefined){\r\n setOfferIndex(0)\r\n }\r\n\r\n },[orderItems?.order[propertiesId]?.count])\r\n\r\n\r\n {\r\n return (\r\n cardStyle ? \r\n <>\r\n
    \r\n \r\n
    \r\n {(ItemData?.ItemPriceListDetails[0]?.PriceDetails[offerIndex]?.off != null) &&\r\n {`off`}\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n {ItemData?.properties?.color && ItemData?.properties?.color?.map((c,index) =>{\r\n if(index < 3){\r\n return
    \r\n }else{\r\n if(index == 4){\r\n return
    \r\n }\r\n }\r\n })}\r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n (ItemData?.rate != null || ItemData?.rate != '') &&\r\n
    \r\n \r\n {ItemData?.rate}\r\n
    \r\n }\r\n
    \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {ItemData?.nameProductFa}\r\n
    \r\n \r\n
    \r\n \r\n {\r\n ItemData?.Stock < 50 ?\r\n

    {`${trans('Stock')} : ${ItemData?.Stock}`}

    \r\n :\r\n

    {` ${trans('Stock')} : ${ItemData?.Stock} ${ItemData?.Unit != null ?ItemData?.Unit:\"\"}`}

    \r\n }\r\n {(ItemData?.ItemPriceListDetails[0]?.PriceDetails?.[offerIndex]?.off != null ) &&\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n {ItemData?.ItemPriceListDetails[0]?.PriceDetails?.[offerIndex]?.off != null &&\r\n
    \r\n }\r\n
    {ItemData?.ItemPriceListDetails[0]?.PriceDetails[offerIndex]?.off != null ?
    (%{ItemData?.ItemPriceListDetails[0]?.PriceDetails[offerIndex]?.off})
    : <>}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n :\r\n
    \r\n \r\n
    {ItemData?.nameProductFa}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {`${trans(\"PackingPrice\")}:${ItemData?.ItemPriceListDetails[0]?.CoverPrice}`}
    \r\n
    \r\n {ItemData?.ItemPriceListDetails[0]?.PriceDetails[offerIndex].off != null &&\r\n
    \r\n
    {ItemData?.ItemPriceListDetails[0]?.UnitPrice}
    \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n ItemData?.Stock < 10 ?\r\n

    {`${trans('Stock')} : ${ItemData?.Stock}`}

    \r\n :\r\n

    {trans('Stock')} :
    {ItemData?.Stock}
    {ItemData?.Unit != null ?ItemData?.Unit:\"\"}

    \r\n }\r\n
    \r\n\r\n
    \r\n
    {(ItemData?.ItemPriceListDetails[0].PriceDetails[offerIndex].off != null ) ? <>(%{ItemData?.ItemPriceListDetails[0]?.PriceDetails[offerIndex]?.off}){ItemData?.ItemPriceListDetails[0]?.PriceDetails[offerIndex]?.discountPrice} : <>{ItemData?.ItemPriceListDetails[0]?.UnitPrice}}
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n\r\n\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\n\r\n\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\n\r\ninterface ItemGroupLabelSliderProps{ \r\n children?: React.ReactNode | any;\r\n}\r\n\r\nexport const ItemGroupLabelSlider = ({children}:ItemGroupLabelSliderProps) => {\r\n var size = 0\r\n const BoxRef = useRef(null)\r\n const [showScroll, setShowScroll] = useState(true);\r\n const [cloase,setClose] = useState<'left'|'right'|'none'>('none')\r\n\r\n const handleRight = () =>{\r\n size = size + 20\r\n const { scrollLeft, scrollWidth, clientWidth }:any = BoxRef.current\r\n if(scrollLeft<0){\r\n BoxRef.current?.scrollTo({left :scrollLeft+150,top:0, behavior: \"smooth\"})\r\n }\r\n }\r\n\r\n \r\n const handleLeft = () =>{\r\n size = size - 20\r\n const { scrollLeft, scrollWidth, clientWidth }:any = BoxRef.current\r\n if(scrollWidth+scrollLeft > clientWidth){\r\n BoxRef.current?.scrollTo({left :scrollLeft-150,top:0, behavior: \"smooth\"})\r\n }\r\n }\r\n \r\n const chackArrow = () =>{\r\n const { scrollLeft, scrollWidth, clientWidth }:any = BoxRef.current\r\n if(scrollWidth + scrollLeft <= clientWidth){\r\n setClose('left')\r\n }else if(scrollLeft >= 0){\r\n setClose('right')\r\n }else{\r\n setClose('none')\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const { scrollLeft, scrollWidth, clientWidth }:any = BoxRef.current\r\n if(scrollWidth <= clientWidth){\r\n setShowScroll(false)\r\n }\r\n // if(scrollWidth == clientWidth){\r\n // setShowScroll(false)\r\n // }\r\n chackArrow()\r\n\r\n }, [ ]); \r\n\r\n return ( \r\n
    \r\n {showScroll&& cloase != 'right' &&\r\n \r\n }\r\n
    chackArrow()} className=\"pb-2 itemSlider__scrollBx d-flex w-100\">\r\n <> \r\n {children}\r\n \r\n
    \r\n {showScroll&& cloase != 'left' &&\r\n \r\n }\r\n
    \r\n );\r\n}\r\n \r\n","import { ItemCard } from \"./ItemCard\";\r\nimport { FilterBox } from \"../FilterBox/FilterBox\";\r\nimport { ItemGroupLabelSlider } from \"../ItemGroupMenu/ItemGroupLabelSlider\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\ninterface ItemCardsProps {\r\n data?: any,\r\n cardStyle?: any,\r\n dataGroup?:any,\r\n filterId?:any,\r\n\r\n\r\n}\r\n\r\nexport const ItemCards = ({data,dataGroup,filterId ,cardStyle}:ItemCardsProps) => {\r\n \r\n const [filterObj , setfilterObj]= useState(\"\");\r\n \r\n useEffect(()=>{\r\n if(filterId == null){\r\n setfilterObj({})\r\n } \r\n },[filterId])\r\n \r\n \r\n return ( \r\n <> \r\n\r\n
    \r\n\r\n
    \r\n {setfilterObj({...filterObj,...e})}} filterData={{type:1,title:\"بر اساس قیمت\"}} />\r\n {filterId==\"E36E1489-83FC-EE11-AB53-00155DAA1053\"&&\r\n <>\r\n {setfilterObj({...filterObj,...e})}} filterData={{type:2,data:[\"طبیعی\",\"مصنوعی\"],title:\"بر اساس جنس چرم\"}}/>\r\n {if(filterObj.option2){setfilterObj({...filterObj,...{option2:null}})}else{setfilterObj({...filterObj,...e})} }} filterData={{type:3,data:[\"ورزش\"],title:\"بر اساس کاربرد \"}}/>\r\n \r\n }\r\n {filterId==\"084E4FDE-6D74-ED11-AB39-00155DAA1053\"&&\r\n <>\r\n {setfilterObj({...filterObj,...e})}} filterData={{type:2,data:[\"100-240V AC\",\"24-220V DC\"],title:\"بر اساس ولتاژ کاری\"}}/>\r\n {if(filterObj.option2){setfilterObj({...filterObj,...{option2:null}})}else{setfilterObj({...filterObj,...e})} }} filterData={{type:3,data:[\"آب بندی شده\"],title:\"بر اساس آب بندی \"}}/>\r\n \r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n {data&&data.map((item,index) =>(\r\n (( (filterObj?.min ? +filterObj?.min< +item.ItemPriceListDetails[0].CoverPrice:true)&& (filterObj?.max ? +filterObj?.max> +item.ItemPriceListDetails[0].CoverPrice:true))&& (filterObj.option?item.option.includes(filterObj.option):true) &&(filterObj.option2? item.option.includes(filterObj.option2):true))?\r\n <>\r\n \r\n \r\n :<>\r\n ))}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n );\r\n}\r\n ","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport \"./style.scss\"\r\nimport { useEffect, useState } from \"react\";\r\n\r\ninterface ItemGroupLebalPropes{\r\n id?:any,\r\n title?:string,\r\n onClick?:(e:any)=>void,\r\n IsActive?:boolean,\r\n shape: \"circle\" | \"Foursquare\" | \"FoursquareRadio\",\r\n}\r\n\r\nexport const ItemGroupLebal = ({title,id,onClick,IsActive,shape}:ItemGroupLebalPropes) => {\r\n const [checkColor,setCheckColor] = useState(false)\r\n useEffect(()=>{\r\n const hex_color = title\r\n if(hex_color){\r\n let r =parseInt(hex_color.substring(1, 3), 16)\r\n let g =parseInt(hex_color.substring(3, 5), 16)\r\n let b =parseInt(hex_color.substring(5, 7), 16)\r\n if(r > 128 && g > 128 && b > 128){\r\n setCheckColor(false)\r\n }else{\r\n setCheckColor(true)\r\n }\r\n }\r\n },[title])\r\n\r\n return (\r\n <>\r\n
    \r\n {title && \r\n
    \r\n {shape != 'circle' ?\r\n title\r\n :\r\n \r\n }\r\n
    \r\n }\r\n
    \r\n \r\n );\r\n}\r\n\r\n\r\n","export const Data = [\r\n {\r\n Id:'[itemid1]',\r\n GroupId:'E36E1489-83FC-EE11-AB53-00155DAA1053',\r\n GroupDetailId:'E36E1489-83FC-EE11-AB53-001552561053',\r\n nameProductFa:'کلاه کپ مدل PZ114 ',\r\n nameProductEn:'Cap model PZ114',\r\n Stock:'80',\r\n rate:'4.1',\r\n like:true,\r\n Unit:'جعبه',\r\n notification:'',\r\n ItemPriceListDetails:[\r\n {\r\n Id:'[companyid1]',\r\n companyName:'پوشاک آتیش کش',\r\n UnitPrice:'100000',\r\n CoverPrice:'120000',\r\n detail:[\r\n {\r\n off:'10',\r\n discountPrice:'90000',\r\n min:'1',\r\n max:'29'\r\n },\r\n {\r\n off:'20',\r\n discountPrice:'80000',\r\n min:'30',\r\n max:'49'\r\n },\r\n {\r\n off:'22',\r\n discountPrice:'78000',\r\n min:'50',\r\n max:null\r\n }\r\n ]\r\n },\r\n {\r\n Id:'[companyid2]',\r\n companyName:'پوشاک امیر',\r\n UnitPrice:'950000',\r\n CoverPrice:'900000',\r\n detail:[\r\n { \r\n off:null,\r\n discountPrice:null,\r\n min:null,\r\n max:null,\r\n }\r\n ]\r\n }\r\n ],\r\n increaserDecreaser:[\r\n {\r\n Id:'[increaserDecreaser1]',\r\n title:'بیمه پارسیان',\r\n price:'50000',\r\n off:null,\r\n discountPrice:null,\r\n discription:\"جبران ۱۰۰ درصدی انواع صدمات فیزیکی مانند ضربه دیدگی، پارگی و آب‌خوردگی غیرعمدی\",\r\n active:false,\r\n },\r\n {\r\n Id:'[increaserDecreaser2]',\r\n title:'ارسال از 1 روز کاری',\r\n price:'10000',\r\n off:null,\r\n discountPrice:null,\r\n discription:\"\",\r\n active:true,\r\n }, \r\n {\r\n Id:'[increaserDecreaser3]',\r\n title:' گارانتی اصالت و سلامت فیزیکی کالا ',\r\n price:'5000',\r\n off:null,\r\n discountPrice:null,\r\n discription:\"\",\r\n active:false,\r\n }\r\n ],\r\n\r\n FixedFeature:[\r\n {\r\n title:'نوع سرپوش',\r\n discription:'ساده',\r\n }\r\n ],\r\n option:[\"\"],\r\n\r\n\r\n properties:{\r\n color:[{Id:'22',value:'#964B00'},{Id:'11',value:'#000000'},{Id:'33',value:'#E32227'},{Id:'44',value:'#0000D1'}],\r\n matrial:[{Id:'11',value:'الیاف نخی'},{Id:'22',value:'لی'},{Id:'33',value:'کتان'}]\r\n }\r\n\r\n },\r\n {\r\n Id:'[itemid6]',\r\n GroupId:'084E4FDE-6D74-ED11-AB39-00155DAA1053',\r\n GroupDetailId:'084E4FDE-6D74-ED11-AB39-0015596A1053',\r\n nameProductFa:'کنتاکتور پارس فانال 12A - 5.5KW مدل PFC12 , PFD12',\r\n nameProductEn:'Pars Fanal contactor 12A - 5.5KW model PFC12, PFD12',\r\n Stock:'86',\r\n rate:'4.1',\r\n Unit:'جعبه',\r\n option:[\"100-240V AC\"],\r\n like:false,\r\n notification:'',\r\n ItemPriceListDetails:[\r\n {\r\n Id:'[companyid1]',\r\n companyName:'کالا صنعت',\r\n UnitPrice:'235000',\r\n CoverPrice:'255000',\r\n detail:[\r\n { \r\n off:null,\r\n discountPrice:null,\r\n min:null,\r\n max:null,\r\n }\r\n ]\r\n },\r\n ],\r\n\r\n increaserDecreaser:[\r\n {\r\n Id:'[increaserDecreaser2]',\r\n title:'ارسال از 1 روز کاری',\r\n price:'10000',\r\n off:null,\r\n discountPrice:null,\r\n discription:\"\",\r\n active:true,\r\n }, \r\n ],\r\n FixedFeature:[\r\n {\r\n title:'ویژگی',\r\n discription:'کنتاکتور پارس فانال با رنج جریان 12 آمپر و توان 5.5 کیلووات',\r\n },\r\n {\r\n title:'تیپ ',\r\n discription:'AC3',\r\n }\r\n ],\r\n properties:{\r\n\r\n }\r\n },\r\n {\r\n Id:'[itemid2]',\r\n GroupId:'E36E1489-83FC-EE11-AB53-00155DAA1053',\r\n GroupDetailId:'E36E1489-83FC-EE11-AB53-001589631053',\r\n\r\n nameProductFa:'ست هدیه چرم عطارد مدل A13',\r\n nameProductEn:'Mercury leather gift set model A13',\r\n Stock:'10',\r\n rate:'4.8',\r\n Unit:'جعبه',\r\n option:[\"طبیعی\"],\r\n\r\n like:false,\r\n notification:'',\r\n ItemPriceListDetails:[\r\n {\r\n Id:'[companyid2]',\r\n companyName:'چرم کرمان',\r\n UnitPrice:'850000',\r\n CoverPrice:'900000',\r\n detail:[\r\n { \r\n off:null,\r\n discountPrice:null,\r\n min:null,\r\n max:null,\r\n }\r\n ]\r\n }\r\n ],\r\n increaserDecreaser:[\r\n {\r\n Id:'[increaserDecreaser1]',\r\n title:'بیمه پارسیان',\r\n price:'50000',\r\n off:'10',\r\n discountPrice:'40000',\r\n discription:\"جبران ۱۰۰ درصدی انواع صدمات فیزیکی مانند ضربه دیدگی، پارگی و آب‌خوردگی غیرعمدی\",\r\n active:false,\r\n },\r\n {\r\n Id:'[increaserDecreaser2]',\r\n title:'ارسال از 1 روز کاری',\r\n price:'',\r\n off:null,\r\n discountPrice:null,\r\n discription:\"\",\r\n active:true,\r\n }, \r\n {\r\n Id:'[increaserDecreaser3]',\r\n title:' گارانتی اصالت و سلامت فیزیکی کالا ',\r\n price:'5000',\r\n off:null,\r\n discountPrice:null,\r\n discription:\"\",\r\n active:false,\r\n }\r\n ],\r\n\r\n FixedFeature:[\r\n {\r\n title:'اقلام ست',\r\n discription:' جاکلیدی , جاکارتی',\r\n }, {\r\n title:'نگهداری',\r\n discription:'واکس بی رنگ مخصوص چرم طبیعی',\r\n }, {\r\n title:'کشور تولید کننده',\r\n discription:'ایران',\r\n }, {\r\n title:'جزئیات',\r\n discription:' تمام چرم طبیعی برند ثبت شده چرم عطارد تولید شده توسط برند رسمی چرم عطارد بسته بندی شکیل (وکیوم شده ) مناسب برای هدیه با حک لوگو و نوشته چرم عطارد ',\r\n },\r\n ],\r\n properties:{\r\n color:[{Id:'22',value:'#964B00'},{Id:'11',value:'#000000'}],\r\n size:[{Id:'11',value:'بزرگ'},{Id:'22',value:'متوسط'}],\r\n matrial:[{Id:'44',value:'چرم طبیعی'},{Id:'55',value:'چرم مصنوعی'}]\r\n }\r\n\r\n },\r\n {\r\n Id:'[itemid8]',\r\n GroupId:'084E4FDE-6D74-ED11-AB39-00155DAA1053',\r\n GroupDetailId:'084E4FDE-6D74-ED11-8953-00155DAA1053',\r\n nameProductFa:'کلید مینیاتوری تک پل/ تکفاز 50 آمپر هیوندای',\r\n nameProductEn:null,\r\n Stock:'129',\r\n rate:'3.5',\r\n Unit:'جعبه',\r\n option:[\"آب بندی شده\"],\r\n like:false,\r\n notification:'',\r\n ItemPriceListDetails:[\r\n {\r\n Id:'[companyid1]',\r\n companyName:'کالا صنعت',\r\n UnitPrice:'65100',\r\n CoverPrice:'75000',\r\n detail:[\r\n { \r\n off:null,\r\n discountPrice:null,\r\n min:null,\r\n max:null,\r\n }\r\n ]\r\n },\r\n ],\r\n\r\n increaserDecreaser:[\r\n {\r\n Id:'[increaserDecreaser2]',\r\n title:'ارسال از 1 روز کاری',\r\n price:'10000',\r\n off:null,\r\n discountPrice:null,\r\n discription:\"\",\r\n active:true,\r\n }, \r\n ],\r\n FixedFeature:[\r\n {\r\n title:'رنج جریان',\r\n discription:'50A',\r\n },\r\n {\r\n title:'قدرت قطع ',\r\n discription:'6KA',\r\n },\r\n {\r\n title:'تیپ ',\r\n discription:'B,C',\r\n },\r\n {\r\n title:'کاربرد ',\r\n discription:'موتوری – روشنایی ',\r\n }\r\n ],\r\n properties:{\r\n\r\n }\r\n },\r\n {\r\n Id:'[itemid3]',\r\n GroupId:'E36E1489-83FC-EE11-AB53-00155DAA1053',\r\n GroupDetailId:'E36E1489-83FC-EE11-AB53-001589631053',\r\n nameProductFa:'کیف رودوشی مردانه مدل BR-283 ',\r\n nameProductEn:'Mens shoulder bag, model BR-283',\r\n Stock:'253',\r\n rate:'3.8',\r\n Unit:'جعبه',\r\n option:[\"مصنوعی\"],\r\n\r\n like:false,\r\n notification:'',\r\n ItemPriceListDetails:[\r\n {\r\n Id:'[companyid1]',\r\n companyName:'چرم مشهد',\r\n UnitPrice:'250000',\r\n CoverPrice:'275000',\r\n detail:[\r\n { \r\n off:null,\r\n discountPrice:null,\r\n min:null,\r\n max:null,\r\n }\r\n ]\r\n }\r\n ],\r\n increaserDecreaser:[\r\n {\r\n Id:'[increaserDecreaser2]',\r\n title:'ارسال از 1 روز کاری',\r\n price:'',\r\n off:null,\r\n discountPrice:null,\r\n discription:\"\",\r\n active:true,\r\n }, \r\n {\r\n Id:'[increaserDecreaser3]',\r\n title:' گارانتی اصالت و سلامت فیزیکی کالا ',\r\n price:'5000',\r\n off:null,\r\n discountPrice:null,\r\n discription:\"\",\r\n active:false,\r\n }\r\n ],\r\n\r\n FixedFeature:[\r\n {\r\n title:'نحوه بسته شدن کیف و کوله',\r\n discription:'زیپ',\r\n }, {\r\n title:'بند و دستگیره',\r\n discription:'بند دوشی ',\r\n }, {\r\n title:'ابعاد',\r\n discription:' 22x6x18 سانتی‌متر ',\r\n }, {\r\n title:'مورد استفاده',\r\n discription:' اسپرت روزم اداری و رسمی مهمانی ',\r\n },\r\n ],\r\n properties:{\r\n color:[{Id:'22',value:'#964B00'},{Id:'11',value:'#000000'},{Id:'55',value:'#8A8A8A'}],\r\n size:[],\r\n matrial:[{Id:'55',value:'چرم مصنوعی'}]\r\n }\r\n\r\n },\r\n {\r\n Id:'[itemid4]',\r\n GroupId:'E36E1489-83FC-EE11-AB53-00155DAA1053',\r\n GroupDetailId:'E36E1489-83FC-EE11-AB53-001552561053',\r\n nameProductFa:'کلاه کپ مدل S600 ',\r\n nameProductEn:'Cap model S600',\r\n Stock:'167',\r\n rate:'2.5',\r\n Unit:'جعبه',\r\n option:[\"ورزش\"],\r\n like:false,\r\n notification:'',\r\n ItemPriceListDetails:[\r\n {\r\n Id:'[companyid1]',\r\n companyName:'پوشاک آتیش کش',\r\n UnitPrice:'100000',\r\n CoverPrice:'1200000',\r\n detail:[\r\n {\r\n off:null,\r\n discountPrice:null,\r\n min:'1',\r\n max:'29'\r\n },\r\n {\r\n off:'10',\r\n discountPrice:'90000',\r\n min:'30',\r\n max:null\r\n },\r\n ]\r\n },\r\n ],\r\n increaserDecreaser:[\r\n {\r\n Id:'[increaserDecreaser1]',\r\n title:'بیمه پارسیان',\r\n price:'50000',\r\n off:null,\r\n discountPrice:null,\r\n discription:\"جبران ۱۰۰ درصدی انواع صدمات فیزیکی مانند ضربه دیدگی، پارگی و آب‌خوردگی غیرعمدی\",\r\n active:false,\r\n },\r\n {\r\n Id:'[increaserDecreaser2]',\r\n title:'ارسال از 1 روز کاری',\r\n price:'10000',\r\n off:null,\r\n discountPrice:null,\r\n discription:\"\",\r\n active:true,\r\n }\r\n ],\r\n\r\n FixedFeature:[\r\n {\r\n title:'نوع سرپوش',\r\n discription:' تزیینی آفتابگیر ورزشی ',\r\n }\r\n ],\r\n properties:{\r\n color:[{Id:'66',value:'#6500B0'},{Id:'11',value:'#000000'},{Id:'33',value:'#E32227'},{Id:'77',value:'#FFFFFF'},{Id:'88',value:'#000075'}],\r\n size:[{Id:'33',value:'xl'},{Id:'44',value:\"l\"},{Id:'55',value:'md'}],\r\n matrial:[{Id:'66',value:'اکریلیک'},{Id:'77',value:'نخ'}]\r\n }\r\n\r\n },\r\n {\r\n Id:'[itemid5]',\r\n GroupId:'084E4FDE-6D74-ED11-AB39-00155DAA1053',\r\n GroupDetailId:'084E4FDE-6D74-ED11-AB39-0015596A1053',\r\n nameProductFa:'کنتاکتور هیوندای 9A - 4KW',\r\n nameProductEn:'Contactor Hyundai 9A - 4KW',\r\n Stock:'367',\r\n rate:'3.6',\r\n Unit:'جعبه',\r\n option:[\"24-220V DC\"],\r\n like:false,\r\n notification:'',\r\n ItemPriceListDetails:[\r\n {\r\n Id:'[companyid1]',\r\n companyName:'کالا صنعت',\r\n UnitPrice:'283900',\r\n CoverPrice:'295900',\r\n detail:[\r\n { \r\n off:null,\r\n discountPrice:null,\r\n min:null,\r\n max:null,\r\n }\r\n ]\r\n },\r\n ],\r\n\r\n increaserDecreaser:[\r\n {\r\n Id:'[increaserDecreaser2]',\r\n title:'ارسال از 1 روز کاری',\r\n price:'10000',\r\n off:null,\r\n discountPrice:null,\r\n discription:\"\",\r\n active:true,\r\n }, \r\n ],\r\n FixedFeature:[\r\n {\r\n title:'ویژگی',\r\n discription:'کنتاکتور هیوندای با رنج جریان 9 آمپر و توان 4 کیلووات',\r\n },\r\n {\r\n title:'تیپ ',\r\n discription:'AC3',\r\n }\r\n ],\r\n properties:{\r\n\r\n }\r\n },\r\n\r\n {\r\n Id:'[itemid7]',\r\n GroupId:'084E4FDE-6D74-ED11-AB39-00155DAA1053',\r\n GroupDetailId:'084E4FDE-6D74-ED11-8953-00155DAA1053',\r\n nameProductFa:'کلید مینیاتوری تک پل/ تکفاز 2 آمپر هیوندای',\r\n nameProductEn:'Hyundai single bridge/single phase 2 amp miniature switch',\r\n Stock:'381',\r\n rate:'3.8',\r\n Unit:'جعبه',\r\n option:[\"\"],\r\n like:false,\r\n notification:'',\r\n ItemPriceListDetails:[\r\n {\r\n Id:'[companyid1]',\r\n companyName:'کالا صنعت',\r\n UnitPrice:'63600',\r\n CoverPrice:'72300',\r\n detail:[\r\n { \r\n off:null,\r\n discountPrice:null,\r\n min:null,\r\n max:null,\r\n }\r\n ]\r\n },\r\n ],\r\n\r\n increaserDecreaser:[\r\n {\r\n Id:'[increaserDecreaser2]',\r\n title:'ارسال از 1 روز کاری',\r\n price:'10000',\r\n off:null,\r\n discountPrice:null,\r\n discription:\"\",\r\n active:true,\r\n }, \r\n ],\r\n FixedFeature:[\r\n {\r\n title:'رنج جریان',\r\n discription:'2A',\r\n },\r\n {\r\n title:'قدرت قطع ',\r\n discription:'6KA',\r\n },\r\n {\r\n title:'تیپ ',\r\n discription:'B,C',\r\n },\r\n {\r\n title:'کاربرد ',\r\n discription:'موتوری – روشنایی ',\r\n }\r\n ],\r\n properties:{\r\n\r\n }\r\n }\r\n]","import { SwitchBtn } from \"components/SwitchBtn/SwitchBtn\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\ninterface ItemCardsHeaderProps {\r\n handleModeCard : (e:boolean)=>void,\r\n cardStyle: boolean,\r\n data?:any,\r\n}\r\n\r\n\r\nexport const ItemCardsHeader = ({handleModeCard,cardStyle,data}:ItemCardsHeaderProps) => {\r\n return ( \r\n \r\n );\r\n}","import { trans } from 'utils/helpers';\r\nimport { textData } from '../../data/imgData';\r\nimport { GroupingPrice } from 'components/GroupingPrice/GroupingPrice';\r\n\r\n\r\ninterface increaseDecreaseProps {\r\n object:any,\r\n checkBoxHandle:(id:string)=>void,\r\n onHide:()=>void,\r\n}\r\n\r\nexport const IncreaserDecreaser = ({object,checkBoxHandle,onHide}:increaseDecreaseProps) => {\r\n return ( \r\n <>\r\n
    \r\n
    {object.title}
    \r\n
    \r\n
    \r\n
    \r\n

    {object.discription}

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n );\r\n}\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Address } from \"components/Address/Address\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { AddressBox } from \"pages/InventoryAndSales/Sales/SalesInvoice/components/AddressBox/AddressBox\";\r\nimport { CustomerDictionary } from \"pages/InventoryAndSales/Sales/SalesInvoice/components/CustomerDictionary/CustomerDictionary\";\r\nimport { CustomerPhoneDictionary } from \"pages/InventoryAndSales/Sales/SalesInvoice/components/CustomerPhoneDictionary/CustomerPhoneDictionary\";\r\nimport { CustomerPhoneList } from \"pages/InventoryAndSales/Sales/SalesInvoice/components/CustomerPhones/CustomerPhoneList\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { useNavigate } from \"react-router-dom\";\r\nimport { ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getDefaultPersonContact, sendBasketAsync } from \"./api\";\r\n\r\ninterface CustomerSalesOrderProps {\r\n onHide:()=>void\r\n mode:string\r\n basketData:any\r\n}\r\n\r\nexport const CustomerSalesOrder = ({basketData,onHide,mode}:CustomerSalesOrderProps) => {\r\n\r\n const [loading,setLoading] = useState(true)\r\n const [resetForm,setResetForm] = useState (false)\r\n const [response, setResponse] = useState();\r\n const [todayDate, settodayDate] = useState(new Date().toISOString());\r\n const [customer,setCustomer] = useState (null)\r\n\r\n const [customerDefaultContact,setCustomerDefaultContact] = useState (null)\r\n const [showCustomerPhoneForm, setShowCustomerPhoneForm] = useState(false);\r\n\r\n const [showAddressBox, setShowAddressBox] = useState<\"createMode\"|\"selectMode\"|null>(null);\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n async function getDefaultPersonContactAsync(){\r\n\r\n try {\r\n // const res2 = await getPersonCustomer(personId)\r\n const res = await getDefaultPersonContact(\t)\r\n setCustomerDefaultContact({...res.Data })\r\n\r\n } catch (error) {\r\n \r\n }\r\n\r\n }\r\n const navigate = useNavigate();\r\n const handleCustomerSalesOrderFormSubmit =async (event) => {\r\n event.preventDefault();\r\n let SalesOrderDetails:any = []\r\n basketData.map(items => {\r\n Object.values(items.order).map((orders:any) =>{\r\n SalesOrderDetails.push({\r\n \"ItemId\": orders.OrderItemId.ItemId,\r\n \"Qty\":orders.count,\r\n \"UnitId\": orders.OrderItemId.UnitId,\r\n \"Description\":items.ItemDescription\r\n })\r\n })\r\n })\r\n\r\n let data = {\r\n \"CustomerName\": customer?.Name ? customer?.Name : layoutContext.currentUserPosition.PersonDescription ,\r\n \"CustomerPhone\": customer?.CustomerPhone?.Name.split(\":\")[1],\r\n \"CustomerAddress\": event.target.CustomerAddress?.value,\r\n \"CustomerEconNo\": event.target.CustomerEconNo?.value,\r\n \"CustomerNationalCode\": event.target.CustomerNationalCode?.value,\r\n \"SalesOrderDate\": todayDate,\r\n \"Description\": event.target.Description.value,\r\n \"RecipientDescription\": event.target.RecipientDescription.value,\r\n \"PaymentMethodId\": event.target.PaymentMethodId?.value,\r\n \"SalesOrderDetails\": SalesOrderDetails\r\n }\r\n try {\r\n \r\n \r\n await sendBasketAsync(data,\"post\")\r\n onHide()\r\n localStorage.setItem(\"Basket\",\"\")\r\n navigate(\"/e-commerce/Items\")\r\n } catch (error) {\r\n\r\n }\r\n }\r\n useEffect(() => {\r\n getDefaultPersonContactAsync()\r\n }, []);\r\n return ( \r\n <>\r\n {showCustomerPhoneForm ?\r\n {setShowCustomerPhoneForm(false)}} show={showCustomerPhoneForm} title={\"CustomerPhoneForm\" } >\r\n {setShowCustomerPhoneForm(false)}}/>\r\n : <>}\r\n {showAddressBox ?\r\n {setShowAddressBox(null)}} mode={mode} show={showAddressBox && true} title={\"Address\" } >\r\n {setShowAddressBox(null)}}\r\n status={showAddressBox}\r\n AddressHandeler={(e)=>{ setCustomerDefaultContact({...customerDefaultContact , Address: JSON.stringify(e).toLowerCase()});setShowAddressBox(null);}}\r\n /> \r\n : <>}\r\n
    \r\n
    \r\n {loading ? \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    {setShowAddressBox('selectMode');return false}} withMap={false} hideDetail={customerDefaultContact == null && response?.CustomerAddress!=undefined} personContact={customerDefaultContact == null && response?.CustomerAddress? response?.CustomerAddress : customerDefaultContact?.Address ? JSON.parse(customerDefaultContact?.Address):null} mode={\"view\"}/> \r\n
    \r\n
    \r\n } btnType=\"primary\" />\r\n
    \r\n
    \r\n } btnType=\"primary\" />\r\n
    \r\n
    \r\n {setCustomer({...customer , CustomerPhone: e})}}\r\n />\r\n
    \r\n
    \r\n } btnType=\"primary\" />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n : \r\n \r\n }\r\n
    \r\n
    \r\n \r\n );\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getDefaultPersonContact = ( ) => http({\r\n\r\n url: ENDPOINTS.BaseInformation.CurrentPersonContact.default,\r\n method: 'get',\r\n\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const sendBasketAsync = (data , method ) => http({\r\n\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.CustomerSalesOrderApis.CustomerSalesOrder.browse,\r\n method: method,\r\n data\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});","import { useEffect, useState } from \"react\";\r\nimport { loadCardImage } from \"../../api\";\r\nimport \"./style.scss\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\ninterface ItemBuyImgProps {\r\n attchId?: any,\r\n\r\n}\r\n\r\nexport const ItemBuyImg = ({attchId}:ItemBuyImgProps) => {\r\n\r\n const [src, setSrc] = useState(null);\r\n const [loading,setLoading]=useState(false)\r\n\r\n async function loadImageAsync() {\r\n try {\r\n const res:any = await loadCardImage(attchId );\r\n setSrc(res);\r\n setLoading(true)\r\n \r\n } catch (error) {\r\n\r\n }\r\n }\r\n useEffect(() => {\r\n if(!attchId?.includes(\"0000\")){\r\n loadImageAsync()\r\n }\r\n\r\n }, [attchId]);\r\n\r\n return (\r\n <>\r\n\r\n
    \r\n {/* {(attchId?.includes(\"0000\")||!src) ?\r\n
    \r\n :\r\n \r\n \r\n } */}\r\n {loading?\r\n \r\n :\r\n \r\n }\r\n\r\n
    \r\n\r\n \r\n );\r\n}\r\n","import { ItemBuyImg } from \"../../ItemBuyBtn/ItemBuyImg\";\r\nimport { ItemCounterBtn } from \"../../ItemCard/ItemCounterBtn\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { GroupingPrice } from \"components/GroupingPrice/GroupingPrice\";\r\nimport { DataImg } from \"../../data/dataImg\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Data } from \"../../data/data\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\n\r\ninterface ItemCardProps {\r\n order?:any,\r\n item?: any,\r\n index?:number,\r\n handlePriceUpdate?:()=>void,\r\n handleSelectedIncreaserDecreaser?:(e:any)=>void,\r\n handleShowIncreaseDecrease?:(e:boolean)=>void,\r\n}\r\n\r\nexport const CartItem = ({index,item,order,handlePriceUpdate,handleSelectedIncreaserDecreaser,handleShowIncreaseDecrease}:ItemCardProps) => {\r\n\r\n const [offerIndex,setOfferIndex] = useState(order.priceIndex ? order.priceIndex : 0)\r\n const [minQty,setMinQty] = useState(order.min)\r\n const [maxQty,setMaxQty] = useState(order.max)\r\n\r\n useEffect(()=>{\r\n // change\r\n if(order.count > +order.max && order.max != null){\r\n setOfferIndex(offerIndex + 1)\r\n }\r\n\r\n if(order.count < +order.min && +order.min != 1){\r\n setOfferIndex(offerIndex - 1)\r\n }\r\n },[order.count])\r\n\r\n useEffect(()=>{\r\n setMinQty(item.ItemPriceListDetails[0].PriceDetails[offerIndex]?.min)\r\n setMaxQty(item.ItemPriceListDetails[0].PriceDetails[offerIndex]?.max)\r\n },[offerIndex])\r\n\r\n return ( \r\n
  • \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n item.order[key] === order)} properties={order.properties} reload={handlePriceUpdate} ItemData={item} stock={+item?.Stock} min={minQty} max={maxQty} priceIndex={offerIndex} multiCounter={false}/>\r\n
    \r\n
    \r\n
    \r\n
    {item?.ItemDescription} { Object.values(order?.properties).map(item=> <> {\" \"+ item+\" \"}) }
    \r\n
    \r\n
    \r\n {order.properties != undefined &&\r\n\r\n
      \r\n {/* change */}\r\n {order['properties']['color'] != undefined ? \r\n
    • \r\n \r\n
      \r\n
    • \r\n :\r\n <>}\r\n {order['properties']['size'] != undefined ? \r\n
    • \r\n \r\n {order['properties']['size']}\r\n
    • \r\n :\r\n <>}\r\n {order['properties']['matrial'] ? \r\n
    • \r\n \r\n {order['properties']['matrial']}\r\n
    • \r\n :\r\n <>}\r\n
    \r\n }\r\n {true ? \r\n
    \r\n \r\n {item?.properties?.WarrantyDiscription}\r\n
    \r\n :\r\n <>}\r\n {/*highlight desktop mode */}\r\n
    \r\n
    \r\n {\r\n item?.ItemPriceListDetails[0]?.PriceDetails[offerIndex]?.UnitDiscount != null ?\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {item?.ItemPriceListDetails[0]?.PriceDetails[offerIndex].DiscountPercent}%\r\n \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {item?.increaserDecreaser?.length > 0 && \r\n
    \r\n {\r\n item?.increaserDecreaser.map((e,index)=>(\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {e.title}
    \r\n
    \r\n
    \r\n
    {handleShowIncreaseDecrease && handleShowIncreaseDecrease(true);handleSelectedIncreaserDecreaser && handleSelectedIncreaserDecreaser(e)}}>{trans('details')}
    \r\n
    \r\n ))\r\n }\r\n
    \r\n }\r\n
    \r\n\r\n {/*highlight mobile mode */}\r\n
    \r\n {\r\n item?.ItemPriceListDetails[0]?.PriceDetails[offerIndex]?.UnitDiscount != null ?\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {item?.ItemPriceListDetails[0]?.PriceDetails[offerIndex]?.DiscountPercent}%\r\n \r\n
    \r\n
    \r\n :\r\n <>\r\n }\r\n
    \r\n
    \r\n
    \r\n item.order[key] === order)} properties={order.properties} reload={handlePriceUpdate} stock={+item?.Stock} min={minQty} max={maxQty} priceIndex={offerIndex} multiCounter={false} ItemData={item} />\r\n
    \r\n
    \r\n\r\n
  • \r\n );\r\n}\r\n","import { useEffect, useState } from \"react\";\r\nimport './style.scss'\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\ninterface GalleryProps {\r\n showGallery:boolean,\r\n data?:any;\r\n selectImg?:any;\r\n}\r\n\r\nexport const Gallery= ({data,selectImg,showGallery}:GalleryProps) => {\r\n\r\n const [respons,setRespons] = useState(data)\r\n const [index,setIndex] = useState(0)\r\n\r\n const getGallery = ()=>{\r\n // get & respons\r\n }\r\n \r\n const next = ()=>{\r\n if(index < Object.values(respons).length-1){\r\n setIndex(index+1)\r\n }else{\r\n setIndex(0)\r\n }\r\n }\r\n\r\n const previous = ()=>{\r\n if(index > 0){\r\n setIndex(index-1)\r\n }else{\r\n setIndex(Object.values(respons).length-1)\r\n }\r\n }\r\n useEffect(()=>{\r\n setIndex(selectImg)\r\n },[selectImg])\r\n\r\n useEffect(()=>{\r\n getGallery()\r\n },[])\r\n\r\n return ( \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {(respons&&Object.values(respons)[index])&& }\r\n
    \r\n
    \r\n {showGallery &&\r\n
    \r\n
    \r\n { respons&&Object.values(respons).map((e:any,i)=>(\r\n
    {setIndex(i)}} className={`m-1 rounded-1 Gallery__imgBx ${i == index ?'Gallery__active' :''}`}>
    \r\n ))}\r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getMyOwnOrders = (pageNumber: number, pageSize: number, SearchString, orderBy, filterlist, Type = null) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.CustomerSalesOrderApis.CustomerSalesOrder.browse,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: SearchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n //jobStatus: Type,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, getGridSetting, getPageSize, trans } from \"utils/helpers\";\r\nimport { getMyOwnOrders } from \"../MyOwnOrders/api\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { CustomerSalesOrder } from \"../ECommerce/components/Cart/components/CustomerSalesOrder\";\r\nimport { MessageType } from \"types/enum\";\r\ninterface MyOwnOrdersListProp{\r\n curentTab?:string;\r\n Type?:any;\r\n tabName?:string;\r\n }\r\n\r\nexport const MyOwnOrdersList = ({curentTab, Type ,tabName}:MyOwnOrdersListProp) => {\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [response, setResponse] = useState([]);\r\n const [selectedObj, setSelectedObj] = useState< any>(null);\r\n const [showForm, setShowForm] = useState(false);\r\n const [mode, setMode] = useState(\"\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(25);\r\n const [jobstatusFilter, setJobstatusFilter] = useState(0);\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n\r\n const [showAttachment, setShowAttachment] = useState(false);\r\n const [pages, setPages] = useState(0);\r\n\r\n \r\n\r\n\r\n\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n if (str == \"\") {\r\n setSearch(null)\r\n getMyOwnOrdersAsync(1, null)\r\n } else {\r\n setSearch(str)\r\n getMyOwnOrdersAsync(1 , str)\r\n }\r\n }\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"MyOwnOrdersList\", e.currentTarget.value)\r\n getMyOwnOrdersAsync(1)\r\n };\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else {setPageNum(+value);getMyOwnOrdersAsync(+value)}\r\n } \r\n };\r\n const handleNextPage = () => {\r\n if(pageNum < pages){\r\n setPageNum(pageNum + 1);\r\n getMyOwnOrdersAsync(pageNum + 1);\r\n };\r\n };\r\n const handlePrevPage = () => {\r\n if(pageNum > 1){\r\n setPageNum((pageNum)=>{return +pageNum - 1});\r\n getMyOwnOrdersAsync(pageNum - 1);\r\n };\r\n };\r\n\r\n const selectedObjCallback = (obj) => {\r\n setSelectedObj(obj);\r\n }\r\n\r\n\r\n const handleCreate = () => {\r\n setMode(\"create\")\r\n setShowForm(true)\r\n\r\n }\r\n const handleViewRow = () => {\r\n setMode(\"view\");\r\n setShowForm(true)\r\n }\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\": alert(\"print \"); break;\r\n case \"excel\": downloadCSV(response ,4 ,trans(\"MyOwnOrdersList\")); break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n case \"view\": if (selectedObj) handleViewRow(); break;\r\n case \"help\": alert(\"call api help\"); break;\r\n case \"create\": handleCreate(); break;\r\n case \"attach\": if (selectedObj) {\r\n setMode(\"edit\")\r\n setShowAttachment(true)\r\n } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning)\r\n\r\n } break;\r\n }\r\n };\r\n\r\n async function getMyOwnOrdersAsync(pagNum = pageNum ,searchSTR=search) {\r\n setLoading(false)\r\n\r\n let pageSizeChangedByUser = getPageSize(\"MyOwnOrdersList\")\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const res = await getMyOwnOrders(pagNum, pageSizeChangedByUser, searchSTR, orderBy.length == 0 ? null : orderBy.join(\",\"), filterlist, Type)\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) ;\r\n if (res.Data.Data.length > 0) {\r\n setResponse(res.Data)\r\n }\r\n } catch (error) {\r\n\r\n }\r\n setLoading(true)\r\n\r\n }\r\n\r\n useEffect(() => {\r\n //getDataAsync();setResponse\r\n if(tabName==curentTab){\r\n\r\n setSelectedObj(null)\r\n setResponse([])\r\n getMyOwnOrdersAsync();\r\n }\r\n }, [ jobstatusFilter, orderBy, filterlist]);\r\n useEffect(() => {\r\n //getDataAsync();setResponse\r\n if(tabName==curentTab){\r\n\r\n setResponse([])\r\n getMyOwnOrdersAsync();\r\n }\r\n }, [ forceUpdate]);\r\n\r\n useEffect(() => {\r\n if(tabName==curentTab){\r\n let settings = getGridSetting(\"MyOwnOrdersList\")\r\n setOrderBy(settings[1])\r\n setFilterlist(settings[0])\r\n }\r\n }, [curentTab ,tabName]);\r\n\r\n\r\n return (\r\n <>\r\n {tabName==curentTab&&\r\n <>\r\n\r\n { showForm &&\r\n setShowForm(false)} show={showForm}>\r\n {setShowForm(false) ; setForceUpdate(!forceUpdate) }} />\r\n \r\n }\r\n\r\n\r\n\r\n \r\n
    \r\n {loading ?\r\n <>{\r\n (response?.Data?.length > 0 ?\r\n
    \r\n
    \r\n <>\r\n { setSelectedObj(obj); clickToolbarCallback(\"view\") }}\r\n View={true}\r\n ViewParametr={\"NotSeen\"}\r\n handlefiltering={(str) => { setFilterlist(str) }}\r\n filterStr={filterlist}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n parentName={\"MyOwnOrdersList\"}\r\n theadData={Object.keys(response.Data[0])}\r\n tbodyData={response.Data}\r\n minCellWidth={80}\r\n rowSelected={selectedObj}\r\n // handleAttachment={(e) => { setSelectedObj({ Id: e }); setMode(\"edit\"); setShowAttachment(true) }}\r\n selectedRowObjectCallback={selectedObjCallback}\r\n startIndex={2}\r\n handleView={handleViewRow}\r\n totalRecords={response.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() =>{getMyOwnOrdersAsync(pages) ;setPageNum(pages)}}\r\n end={() => {getMyOwnOrdersAsync(1) ;setPageNum(1)}}\r\n handleGoPage={handleGoPage}\r\n />\r\n \r\n
    \r\n
    \r\n : \r\n )\r\n\r\n }\r\n \r\n : \r\n }\r\n\r\n
    \r\n\r\n \r\n }\r\n \r\n \r\n\r\n );\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { RangeSlider } from \"components/RangeSlider/RangeSlider\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getRate, putCustomerFeedBack } from \"./api\";\r\n\r\n\r\ninterface props {\r\n mode?: any\r\n hide?: () => void\r\n reload?: () => void\r\n Id?:any\r\n\r\n}\r\n\r\nexport const CustomerFeedBackForm = ({ mode=\"create\", hide,reload , Id}:props) => {\r\n const [serviceRequest, setServiceRequest] = useState(new Date().toISOString());\r\n const [rateRange, setRateRange] = useState();\r\n const [resetForm, setResetForm] = useState(false);\r\n\r\n const handleSubmit = (event) => {\r\n event.preventDefault()\r\n if (mode == \"edit\") {\r\n let IsDelive = event.target.checkbox.checked ;\r\n let CustomerFeedBackRate = event.target.progressbar.value ;\r\n let CustomerFeedBackDescription = event.target.Description.value ;\r\n sendDataAsync(Id,IsDelive,CustomerFeedBackRate,CustomerFeedBackDescription)\r\n //notWork\r\n\r\n } else {\r\n let IsDelive = event.target.checkbox.checked ;\r\n let CustomerFeedBackRate = event.target.progressbar.value ;\r\n let CustomerFeedBackDescription = event.target.Description.value ;\r\n sendDataAsync(Id,IsDelive,CustomerFeedBackRate,CustomerFeedBackDescription)\r\n }\r\n\r\n }\r\n\r\n\r\n async function sendDataAsync(Id,IsDelive,CustomerFeedBackRate,CustomerFeedBackDescription) {\r\n try {\r\n\r\n let res = await putCustomerFeedBack(Id,IsDelive,CustomerFeedBackRate,CustomerFeedBackDescription );\r\n hide && hide();\r\n reload && reload()\r\n }catch (err: any) {\r\n\r\n\r\n }\r\n }\r\n\r\n async function getRateAsync() {\r\n try {\r\n const res = await getRate( );\r\n setRateRange(res?.Data)\r\n \r\n } catch (err: any) {\r\n\r\n\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n getRateAsync();\r\n if (Id){\r\n } \r\n }, [Id]);\r\n\r\n\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (<>)\r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getRate = () => http({\r\n url: ENDPOINTS.enumeration,\r\n method: 'get',\r\n params: {\r\n enumerationType: \"Rate\",\r\n\r\n },\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const putCustomerFeedBack = (Id, IsDelive, CustomerFeedBackRate, CustomerFeedBackDescription) => http({\r\n url: ENDPOINTS.clientPortal.feedBack,\r\n method: 'put',\r\n params: {\r\n jobId: Id,\r\n isDeliver: IsDelive,\r\n customerFeedBackRate: CustomerFeedBackRate,\r\n customerFeedBackDescription: CustomerFeedBackDescription\r\n },\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n","\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\nimport './style.scss';\r\n\r\nexport const getMyOwnRequests = (pageNumber: number, pageSize: number, SearchString, orderBy, filterlist, Type = null) => http({\r\n url: ENDPOINTS.clientPortal.clientPortal.list,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: SearchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n jobStatus: Type,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getRequestDetails = (pageNumber: number, pageSize: number, searchStr, jobId) => http({\r\n url: ENDPOINTS.clientPortal.clientPortal.detail,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchStr,\r\n JobId: jobId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getRequestView = (pageNumber: number, pageSize: number, searchStr, jobId) => http({\r\n url: ENDPOINTS.clientPortal.clientPortal.detail,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchStr,\r\n JobId: jobId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const postRequest = (PRJ_UID, data) => http({\r\n url: ENDPOINTS.clientPortal.clientPortal.browse,\r\n method: \"post\",\r\n params: {\r\n PRJ_UID: PRJ_UID,\r\n },\r\n data: data\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getFileList = (id, name) => http({\r\n url: ENDPOINTS.messageHub.browse,\r\n method: 'get',\r\n params: {\r\n filesId: id,\r\n fileName: name\r\n },\r\n responseType: \"blob\"\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n // \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getStartForm = (processId: any) => http({\r\n url: ENDPOINTS.clientPortal.startForm,\r\n method: 'get',\r\n params: {\r\n processId: processId\r\n\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n\r\n })\r\nexport const getDynamicForms = (referenceId: any) => http({\r\n url: ENDPOINTS.clientPortal.DynamicForms ,\r\n method: 'get',\r\n params: {\r\n referenceId: referenceId\r\n\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n\r\n })\r\n\r\n\r\n\r\n\r\n/* export const getReplyClassification = (async () => await http({\r\n url: ENDPOINTS.cartable.ReplyClassification.dictionary,\r\n method: 'get',\r\n})\r\n .then((response) => (response.data))\r\n\r\n) */\r\n\r\nexport const getReplyList = (pageNum, pageSize, orderBy, str, filterlist, personalTaskStatusFilter) => http({\r\n url: ENDPOINTS.clientPortal.clientPortal.load,\r\n method: 'get',\r\n params: {\r\n page: pageNum,\r\n pageSize: pageSize,\r\n orderBy: orderBy,\r\n searchString: str,\r\n FilterString: filterlist,\r\n personalTaskStatus: personalTaskStatusFilter == 0 ? null : personalTaskStatusFilter\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const postReply = (data: any, id) => http({\r\n url: ENDPOINTS.clientPortal.clientPortal.reply,\r\n method: 'post',\r\n params: {\r\n replyDescription: data,\r\n referenceId: id\r\n }\r\n\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const cancelRequest = (JobId) => http({\r\n url: ENDPOINTS.clientPortal.clientPortal.cancel,\r\n method: 'post',\r\n params: {\r\n JobId: JobId\r\n }\r\n\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const deletePersonalPlaning = (id: any) => http({\r\n url: ENDPOINTS.clientPortal.clientPortal.load,\r\n method: 'delete',\r\n params: {\r\n Id: id\r\n }\r\n\r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getRequesterUserId = (JobId: any) => http({\r\n url: ENDPOINTS.clientPortal.Responsible,\r\n method: 'get',\r\n params: {\r\n JobId: JobId\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const resendReference = (JobId: any) => http({\r\n url: ENDPOINTS.clientPortal.clientPortal.resend,\r\n method: 'post',\r\n params: {\r\n jobId: JobId\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});","import { Button } from \"components/Button/Button\";\r\nimport { ModalForm, UserContext } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useContext, useState } from \"react\";\r\nimport { postReply } from \"../api\";\r\nimport { Attachment } from \"pages/OfficeAutomation/Cartable/components/ActionList/components/Attachment/Attachment\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\n\r\ninterface ReplyFormPropsType {\r\n onHide: () => void;\r\n handleShowReferenceStepper?: (taskId: string) => void;\r\n reload: (ans: boolean) => void;\r\n mode?;\r\n referenceId;\r\n jobid;\r\n\r\n}\r\nexport const ReplyForm = ({\r\n mode,\r\n referenceId,\r\n jobid,\r\n reload,\r\n onHide,\r\n handleShowReferenceStepper,\r\n}: ReplyFormPropsType) => {\r\n\r\n const [userMadeChanges, setUserMadeChanges] = useContext(UserContext);\r\n const [showattachment, setshowAttachment] = useState(false);\r\n\r\n const handleReplyFormSubmit = (event) => {\r\n event.preventDefault();\r\n let data= event.target.Description.value\r\n sendDataAsync( data, referenceId);\r\n \r\n };\r\n\r\n async function sendDataAsync(data ,id) {\r\n try {\r\n let res= await postReply(data ,id);\r\n setUserMadeChanges(false)\r\n reload(true)\r\n onHide();\r\n } catch (err: any) { }\r\n }\r\n return (\r\n
    \r\n {showattachment &&\r\n setshowAttachment(false)} show={showattachment}>\r\n setshowAttachment(false)} endpoint={ENDPOINTS.clientPortal.clientPortal.attachment} ownerId={jobid} />\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\"\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { getFileList } from \"../api\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\n\r\ninterface props {\r\n index: any\r\n user: any\r\n reply: any\r\n message: string\r\n sent_Date: string\r\n submitted?: boolean\r\n received_message: boolean\r\n contactName: string\r\n sendRepliesUp: (data: any) => void\r\n handleReplyOnclick?: () => void\r\n handleAttachmentOnclick?: () => void\r\n reply_data: { message: string, sent_Date: string }\r\n messageValue: string\r\n attached_file: any\r\n item: any\r\n}\r\n\r\nexport const RequestsMessageBox = ({ item ,index, message, attached_file = [],handleAttachmentOnclick , handleReplyOnclick, messageValue, received_message, sent_Date, reply_data, reply, sendRepliesUp, submitted, user, contactName }: props) => {\r\n const formTextbox = useRef();\r\n\r\n const lang = localStorage.getItem('lang')\r\n function elementInViewport(el) {\r\n var top = el.offsetTop;\r\n var left = el.offsetLeft;\r\n var width = el.offsetWidth;\r\n var height = el.offsetHeight;\r\n\r\n while (el.offsetParent) {\r\n el = el.offsetParent;\r\n top += el.offsetTop;\r\n left += el.offsetLeft;\r\n }\r\n\r\n return (\r\n top >= window.pageYOffset &&\r\n left >= window.pageXOffset &&\r\n (top + height) <= (window.pageYOffset + window.innerHeight) &&\r\n (left + width) <= (window.pageXOffset + window.innerWidth)\r\n );\r\n }\r\n\r\n\r\n\r\n\r\n async function getFiles(id, name) {\r\n\r\n try {\r\n\r\n const list = await getFileList(id, name);\r\n\r\n\r\n\r\n\r\n const a = document.createElement('a');\r\n a.style.display = 'none';\r\n a.href = URL.createObjectURL(list)\r\n a.download = name;\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n\r\n\r\n\r\n\r\n\r\n\r\n } catch (error) {\r\n\r\n }\r\n\r\n }\r\n\r\n \r\n useEffect(() => {\r\n if (formTextbox.current) {\r\n elementInViewport(formTextbox.current)\r\n\r\n }\r\n }, [])\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {!received_message ? user : contactName}\r\n
    \r\n
    \r\n زمان:\r\n {sent_Date}\r\n
    \r\n\r\n
    \r\n {attached_file[1][0] ?\r\n
    4 ? 'd-flex flex-row flex-wrap' : ''}`}>\r\n {attached_file[1][0].map((item: any) => (\r\n
    4 ? \"30%\" : \"100%\" }}>\r\n
    { getFiles(attached_file[0][0], item?.fileName ? item?.fileName : item?.FileName) }} >\r\n
    \r\n \r\n {item?.fileName ? item?.fileName : item?.FileName}\r\n
    \r\n
    \r\n
    \r\n ))}\r\n\r\n\r\n
    \r\n :\r\n <>\r\n
    {trans(\"ReferenceSubject\") }: {item.ReferenceSubject}
    \r\n
    {trans(\"Description\")}: {message}
    \r\n
    \r\n {item.PaperclipIcon.length > 0 && \r\n \r\n } \r\n {reply && \r\n \r\n {trans(\"reply\")}\r\n \r\n }\r\n >\r\n
    \r\n {trans('reply')}\r\n \r\n
    \r\n \r\n \r\n } \r\n
    \r\n \r\n }\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n )\r\n}\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { DynamicComponentHOC } from \"components/DynamicComponentHOC/DynamicComponentHOC\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport React, { createContext, useEffect, useState } from \"react\";\r\nimport { ComponentParams } from \"types/types\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { DYNAMICFORMS } from \"utils/dynamicForms\";\r\nimport { findValueByKey, trans } from \"utils/helpers\";\r\nimport './style.scss';\r\n\r\n\r\ninterface props {\r\n formList: any,\r\n Id: string,\r\n onHide: () => void,\r\n reload?: (e) => void,\r\n styleCondition?: any\r\n jobId?: any\r\n taskTitle?: any\r\n inDynamicForms?: any;\r\n\r\n sourceId?: string,\r\n RequesterPositionId?: any\r\n SourceData?: any;\r\n closeForm?: () => void,\r\n JobNo?: any\r\n disable?:boolean;\r\n\r\n\r\n\r\n}\r\nexport const passListContext = createContext([]);\r\n\r\nexport const ModalFormList: React.FC = ({disable, JobNo, closeForm, SourceData, RequesterPositionId, sourceId,inDynamicForms=false, formList, taskTitle ,styleCondition = false, Id, onHide, reload ,jobId }) => {\r\n\r\n const [progress, setProgress] = useState(0);\r\n const [counter, setCounter] = useState(0);\r\n const [pass, setPass] = useState();\r\n const [passList, setPassList] = useState([]);\r\n const [showstep, setShowstep] = useState({});\r\n\r\n function addNewPass(e){\r\n if(!passList.includes(e)){\r\n setPassList([...passList , e])\r\n }\r\n }\r\n //const [references, setReferences] = useState([]);\r\n function circleClick(e) {\r\n let complete = formList.length - 1\r\n setProgress((100 / complete) * e)\r\n setCounter(e)\r\n }\r\n\r\n\r\n\r\n function next() {\r\n let complete = formList.length - 1;\r\n setProgress(progress + (100 / complete))\r\n setCounter(counter + 1)\r\n\r\n\r\n\r\n\r\n }\r\n\r\n function prev() {\r\n let complete = formList.length - 1;\r\n setProgress(progress - (100 / complete))\r\n setCounter(counter - 1)\r\n\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n\r\n const formListReverc = JSON.parse(JSON.stringify(formList)) \r\n let Tindex:any\r\n formListReverc.reverse().forEach((item, index) => {\r\n if (item.Parameters && item.Parameters != \"\") {\r\n let paramsObject: ComponentParams = JSON.parse(item.Parameters.toLowerCase());\r\n let mode = findValueByKey(paramsObject, \"mode\");\r\n if (mode != \"view\") {\r\n Tindex = index\r\n }\r\n }\r\n });\r\n if(Tindex != undefined){\r\n Tindex = Math.abs((formList.length-1)-Tindex ) \r\n let complete = formList.length - 1\r\n setProgress((100 / complete) * Tindex)\r\n setCounter(Tindex)\r\n setPass(Tindex)\r\n\r\n }else{\r\n Tindex = Math.abs(formList.length ) \r\n setProgress(100 )\r\n setCounter(Tindex-1)\r\n setPass(Tindex)\r\n\r\n\r\n }\r\n }, [formList])\r\n\r\n\r\n\r\n\r\n return (\r\n \r\n
    \r\n {formList.length > 1 ?\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {formList.map((item , formIndex)=>(\r\n
    \r\n
    \r\n
    {trans(item.Name)}
    \r\n
    {showstep[formIndex]?setShowstep({...showstep , [formIndex]:false}):setShowstep({...showstep , [formIndex]:true}) }} >{showstep[formIndex] ? :}
    \r\n
    \r\n
    \r\n onHide()} />\r\n\r\n
    \r\n
    \r\n\r\n ))}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n:\r\n<>\r\n {formList && formList[0] ?\r\n
    \r\n onHide()} />\r\n
    \r\n :\r\n \r\n\r\n }\r\n \r\n\r\n\r\n }\r\n\r\n\r\n\r\n
    \r\n
    \r\n\r\n )\r\n}","import { DynamicComponentHOC } from \"components/DynamicComponentHOC/DynamicComponentHOC\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { Attachment } from \"pages/OfficeAutomation/Cartable/components/ActionList/components/Attachment/Attachment\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { DynamicForm } from \"types/types\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\nimport { DYNAMICFORMS } from \"utils/dynamicForms\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { getPageSize } from \"utils/helpers\";\r\nimport { getDynamicForms, getRequestDetails, getStartForm } from \"../api\";\r\nimport { ReplyForm } from \"./ReplyForm\";\r\nimport { RequestsMessageBox } from \"./RequestsMessageBox\";\r\nimport { ModalFormList } from \"components/ModalStepper/ModalFormList\";\r\n\r\n\r\n\r\nexport const RequestDetails = ({ jobId,referenceId, processId,JobNo, handleShowReferenceStepper, styleCondition ,Id }: any) => {\r\n\r\n\r\n let [dynamicForm, setDynamicForm] = useState(\"GeneralRequestForm\");\r\n let [showDynamicForm, setShowDynamicForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [response, setResponse] = useState(null);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [mode, setmode] = useState(\"\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [showReplyForm, setShowReplyForm] = useState(false);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(20);\r\n const [selectedselectedReferenceId, setSelectedselectedReferenceId] = useState()\r\n const [showattachment, setshowAttachment] = useState(false);\r\n const layoutContext = useContext(LayoutContext);\r\n const listInnerRef = useRef(null);\r\n const [search, setsearch] = useState(null);\r\n const [hasReply, setHasReply] = useState(false);\r\n const messagesEndRef = useRef(null)\r\n const lang = localStorage.getItem(\"lang\");\r\n\r\n /* #endregion */\r\n /* #region pagination */\r\n const handleReplyOnclick = (id) => {\r\n setSelectedselectedReferenceId(id)\r\n setShowReplyForm(true)\r\n }\r\n async function getStartFormAsync(id: string) {\r\n document.body.classList.add(\"loading-indicator-\"+lang);\r\n try {\r\n const res = await getDynamicForms(referenceId);\r\n if (res.Data){\r\n setDynamicForm(res.Data);\r\n setShowDynamicForm(true);\r\n }\r\n else{\r\n setDynamicForm(undefined);\r\n setShowDynamicForm(false) \r\n } \r\n } catch (error) {\r\n setDynamicForm(undefined)\r\n setShowDynamicForm(false)\r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang); \r\n\r\n }\r\n \r\n const sendRepliesUp = (id) => {\r\n\r\n }\r\n\r\n\r\n const handleAttachment = (id, modeFlag = false) => {\r\n setSelectedId(id)\r\n setmode(modeFlag ? \"view\" : \"allatach\")\r\n setshowAttachment(true)\r\n }\r\n\r\n\r\n async function getReferenceRequestsDetailsAsync(Size = pageSize) {\r\n setSelectedselectedReferenceId(null)\r\n setLoading(false)\r\n let sizePage = getPageSize(\"RequestsDetails\")\r\n setPageSize(sizePage)\r\n try {\r\n const res = await getRequestDetails(pageNum, Size ? Size : sizePage, search, jobId);\r\n if (res.Data.Data[res.Data.Data.length - 1].PerformerPositionId == layoutContext.currentUserPosition.PositionId) {\r\n setHasReply(true)\r\n setSelectedselectedReferenceId(res.Data.Data[res.Data.Data.length - 1].Id)\r\n }\r\n setResponse(res);\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setTimeout(() => {\r\n messagesEndRef?.current?.scrollIntoView(false)\r\n }, 1)\r\n setLoading(true)\r\n }\r\n\r\n\r\n const ScrollData = (e) => {\r\n if (listInnerRef.current) {\r\n const { scrollTop, scrollHeight, clientHeight } = listInnerRef.current;\r\n if (scrollTop + clientHeight === scrollHeight) {\r\n }\r\n }\r\n\r\n }\r\n useEffect(() => {\r\n getReferenceRequestsDetailsAsync()\r\n\r\n }, [pageNum, forceUpdate]);\r\n useEffect(() => {\r\n if(processId){\r\n getStartFormAsync(processId)\r\n }\r\n }, [processId]);\r\n\r\n if (response && response?.Data ) {\r\n messagesEndRef?.current?.scrollIntoView(false)\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n {loading ?\r\n (response?.Data?.Data.length > 0 ?\r\n <>\r\n
    \r\n <>\r\n
    \r\n {showDynamicForm &&\r\n <>\r\n \r\n {/* { setShowDynamicForm(false); }}JobNo={JobNo} modeParams={\"view\"} \r\n componentName={DYNAMICFORMS[dynamicForm.Name] ?null:dynamicForm.Name} component={DYNAMICFORMS[dynamicForm.Name] ?DYNAMICFORMS[dynamicForm.Name].component:null}\r\n reload={() => { setForceUpdate(!forceUpdate) }}showInDetail={true} componentParams={dynamicForm.Parameters} processId={processId}\r\n handleCancelForm={() => setShowDynamicForm(false)} referenceId={null} jobId={jobId} Id={Id} /> */}\r\n {setShowDynamicForm(false);}}\r\n inDynamicForms={true}\r\n jobId={jobId}\r\n reload={setForceUpdate}\r\n onHide={() => { setShowDynamicForm(false); setForceUpdate(true);setShowDynamicForm(true); }}\r\n Id={referenceId}\r\n formList={dynamicForm}\r\n styleCondition={styleCondition}/>\r\n \r\n \r\n }\r\n\r\n
    \r\n {response.Data.Data[0].Id != GUID_EMPTY &&\r\n <>\r\n {\r\n response.Data.Data.map((item, index) => (\r\n (item.ReferrerPositionId === layoutContext.currentUserPosition.PositionId) ?\r\n <>\r\n { handleAttachment(item.Id, true) }}\r\n item={item}\r\n key={index}\r\n index={index}\r\n user={item.Performer}\r\n //submitted={submitted}\r\n reply={false}\r\n sendRepliesUp={sendRepliesUp}\r\n contactName={item.Referrer}\r\n messageValue={item.Description}\r\n message={item.Description}\r\n sent_Date={item?.ReferenceDate}\r\n reply_data={item?.reply_data}\r\n attached_file={item?.attached_file ? [Object.keys(item.attached_file), Object.values(item.attached_file)] : [[], []]}\r\n received_message={true}\r\n />\r\n \r\n :\r\n <>\r\n { handleAttachment(item.Id, true) }}\r\n item={item}\r\n key={index}\r\n index={index}\r\n user={item.Referrer}\r\n //submitted={submitted}\r\n reply={index == response.Data.Data.length - 1 ? true : false}\r\n handleReplyOnclick={() => { handleReplyOnclick(item.Id) }}\r\n sendRepliesUp={sendRepliesUp}\r\n \r\n contactName={item.Performer}\r\n messageValue={item.Description}\r\n message={item.Description}\r\n sent_Date={item?.ReferenceDate}\r\n reply_data={item?.reply_data}\r\n attached_file={item?.attached_file ? [Object.keys(item.attached_file), Object.values(item.attached_file)] : [[], []]}\r\n received_message={false}\r\n />\r\n \r\n ))\r\n }\r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n : \r\n )\r\n : \r\n }\r\n
    \r\n {showattachment &&\r\n setshowAttachment(false)} show={showattachment}>\r\n setshowAttachment(false)} endpoint={ENDPOINTS.clientPortal.clientPortal.attachment} ownerId={selectedId} />\r\n \r\n }\r\n {showReplyForm &&\r\n setShowReplyForm(false)} show={showReplyForm}>\r\n { setForceUpdate(!forceUpdate); }} mode={mode} onHide={() => setShowReplyForm(false)} />\r\n \r\n }\r\n \r\n\r\n );\r\n}","import { DynamicComponentHOC } from \"components/DynamicComponentHOC/DynamicComponentHOC\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { Attachment } from \"pages/OfficeAutomation/Cartable/components/ActionList/components/Attachment/Attachment\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { DynamicForm } from \"types/types\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\nimport { DYNAMICFORMS } from \"utils/dynamicForms\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { getPageSize } from \"utils/helpers\";\r\nimport { getRequestView, getStartForm } from \"../api\";\r\nimport { ReplyForm } from \"./ReplyForm\";\r\nimport { RequestsMessageBox } from \"./RequestsMessageBox\";\r\n\r\n\r\n\r\nexport const RequestView = ({ jobId, processId,JobNo , handleShowReferenceStepper, styleCondition ,Id }: any) => {\r\n\r\n\r\n let [dynamicForm, setDynamicForm] = useState(\"GeneralRequestForm\");\r\n let [showDynamicForm, setShowDynamicForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [response, setResponse] = useState(null);\r\n const [selectedId, setSelectedId] = useState(null);\r\n const [mode, setmode] = useState(\"\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [showReplyForm, setShowReplyForm] = useState(false);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(20);\r\n const [referenceId, setReferenceId] = useState()\r\n const [showattachment, setshowAttachment] = useState(false);\r\n const layoutContext = useContext(LayoutContext);\r\n const listInnerRef = useRef(null);\r\n const [search, setsearch] = useState(null);\r\n const [hasReply, setHasReply] = useState(false);\r\n const messagesEndRef = useRef(null)\r\n const lang = localStorage.getItem(\"lang\");\r\n\r\n /* #endregion */\r\n /* #region pagination */\r\n const handleReplyOnclick = (id) => {\r\n setReferenceId(id)\r\n setShowReplyForm(true)\r\n }\r\n async function getStartFormAsync(id: string) {\r\n document.body.classList.add(\"loading-indicator-\"+lang);\r\n try {\r\n const res = await getStartForm(id);\r\n if (res.Data){\r\n setDynamicForm(res.Data);\r\n setShowDynamicForm(true);\r\n }\r\n else{\r\n setDynamicForm(undefined);\r\n setShowDynamicForm(false) \r\n } \r\n } catch (error) {\r\n setDynamicForm(undefined)\r\n setShowDynamicForm(false)\r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang); \r\n\r\n }\r\n \r\n const sendRepliesUp = (id) => {\r\n\r\n }\r\n\r\n\r\n const handleAttachment = (id, modeFlag = false) => {\r\n setSelectedId(id)\r\n setmode(modeFlag ? \"view\" : \"allatach\")\r\n setshowAttachment(true)\r\n }\r\n\r\n\r\n async function getReferenceRequestsDetailsAsync(Size = pageSize) {\r\n setReferenceId(null)\r\n setLoading(false)\r\n let sizePage = getPageSize(\"RequestsDetails\")\r\n setPageSize(sizePage)\r\n try {\r\n const res = await getRequestView(pageNum, Size ? Size : sizePage, search, jobId);\r\n if (res.Data.Data[res.Data.Data.length - 1].PerformerPositionId == layoutContext.currentUserPosition.PositionId) {\r\n setHasReply(true)\r\n setReferenceId(res.Data.Data[res.Data.Data.length - 1].Id)\r\n }\r\n setResponse(res);\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setTimeout(() => {\r\n messagesEndRef?.current?.scrollIntoView(false)\r\n }, 1)\r\n setLoading(true)\r\n }\r\n\r\n\r\n const ScrollData = (e) => {\r\n if (listInnerRef.current) {\r\n const { scrollTop, scrollHeight, clientHeight } = listInnerRef.current;\r\n if (scrollTop + clientHeight === scrollHeight) {\r\n }\r\n }\r\n\r\n }\r\n useEffect(() => {\r\n getReferenceRequestsDetailsAsync()\r\n\r\n }, [pageNum, forceUpdate]);\r\n useEffect(() => {\r\n if(processId){\r\n getStartFormAsync(processId)\r\n }\r\n }, [processId]);\r\n\r\n if (response && response?.Data ) {\r\n messagesEndRef?.current?.scrollIntoView(false)\r\n }\r\n\r\n return (\r\n <>\r\n
    \r\n {loading ?\r\n (response?.Data?.Data.length > 0 ? \r\n <>\r\n
    \r\n <>\r\n
    \r\n {showDynamicForm &&\r\n { setShowDynamicForm(false); }}JobNo={JobNo} modeParams={\"view\"} \r\n componentName={DYNAMICFORMS[dynamicForm.Name] ?null:dynamicForm.Name} component={DYNAMICFORMS[dynamicForm.Name] ?DYNAMICFORMS[dynamicForm.Name].component:null}\r\n reload={() => { setForceUpdate(!forceUpdate) }}showInDetail={true} componentParams={dynamicForm.Parameters} processId={processId}\r\n handleCancelForm={() => setShowDynamicForm(false)} referenceId={null} jobId={jobId} Id={Id} />\r\n }\r\n\r\n{/*
    \r\n {response.Data.Data[0].Id != GUID_EMPTY &&\r\n <>\r\n {\r\n response.Data.Data.map((item, index) => (\r\n (item.ReferrerPositionId === layoutContext.currentUserPosition.PositionId) ?\r\n <>\r\n { handleAttachment(item.Id, true) }}\r\n item={item}\r\n key={index}\r\n index={index}\r\n user={item.Performer}\r\n //submitted={submitted}\r\n reply={false}\r\n sendRepliesUp={sendRepliesUp}\r\n contactName={item.Referrer}\r\n messageValue={item.Description}\r\n message={item.Description}\r\n sent_Date={item?.ReferenceDate}\r\n reply_data={item?.reply_data}\r\n attached_file={item?.attached_file ? [Object.keys(item.attached_file), Object.values(item.attached_file)] : [[], []]}\r\n received_message={true}\r\n />\r\n \r\n :\r\n <>\r\n { handleAttachment(item.Id, true) }}\r\n item={item}\r\n key={index}\r\n index={index}\r\n user={item.Referrer}\r\n //submitted={submitted}\r\n reply={index == response.Data.Data.length - 1 ? true : false}\r\n handleReplyOnclick={() => { handleReplyOnclick(item.Id) }}\r\n sendRepliesUp={sendRepliesUp}\r\n \r\n contactName={item.Performer}\r\n messageValue={item.Description}\r\n message={item.Description}\r\n sent_Date={item?.ReferenceDate}\r\n reply_data={item?.reply_data}\r\n attached_file={item?.attached_file ? [Object.keys(item.attached_file), Object.values(item.attached_file)] : [[], []]}\r\n received_message={false}\r\n />\r\n \r\n ))\r\n }\r\n \r\n }\r\n
    \r\n
    */}\r\n
    \r\n \r\n
    \r\n : \r\n )\r\n : \r\n }\r\n
    \r\n {showattachment &&\r\n setshowAttachment(false)} show={showattachment}>\r\n setshowAttachment(false)} endpoint={ENDPOINTS.clientPortal.clientPortal.attachment} ownerId={selectedId} />\r\n \r\n }\r\n {showReplyForm &&\r\n setShowReplyForm(false)} show={showReplyForm}>\r\n { setForceUpdate(!forceUpdate); }} mode={mode} onHide={() => setShowReplyForm(false)} />\r\n \r\n }\r\n \r\n\r\n );\r\n}","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { DynamicComponentHOC } from \"components/DynamicComponentHOC/DynamicComponentHOC\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ToolbarInTab } from \"components/ToolbarInTab/ToolbarInTab\";\r\nimport { Attachment } from \"pages/OfficeAutomation/Cartable/components/ActionList/components/Attachment/Attachment\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { JobStatus, MessageType } from \"types/enum\";\r\nimport { DynamicForm } from \"types/types\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\nimport { DYNAMICFORMS } from \"utils/dynamicForms\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { downloadCSV, getGridSetting, getPageSize, trans } from \"utils/helpers\";\r\nimport { CustomerFeedBackForm } from \"../CustomerFeedBack/CustomerFeedBack\";\r\nimport { cancelRequest, getMyOwnRequests, getRequesterUserId, getStartForm } from \"./api\";\r\nimport { RequestDetails } from \"./components/RequestDetails\";\r\nimport { RequestView } from \"./components/RequestView\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\ninterface MyOwnRequestsListProp{\r\n curentTab?:string;\r\n Type?:any;\r\n tabName?:string;\r\n }\r\n\r\nexport const MyOwnRequestsList = ({curentTab, Type ,tabName}:MyOwnRequestsListProp) => {\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [response, setResponse] = useState([]);\r\n const [selectedObj, setSelectedObj] = useState< any>(null);\r\n const [showForm, setShowForm] = useState(false);\r\n const [showViewForm, setShowViewForm] = useState(false);\r\n const [showCustomerFeedBackForm, setShowCustomerFeedBackForm] = useState(false);\r\n const [mode, setMode] = useState(\"\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(25);\r\n const [jobstatusFilter, setJobstatusFilter] = useState(0);\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [dynamicForm, setDynamicForm] = useState(\"GeneralRequestForm\");\r\n const [showDynamicForm, setShowDynamicForm] = useState(false);\r\n const [showAttachment, setShowAttachment] = useState(false);\r\n const [pages, setPages] = useState(0);\r\n const lang = localStorage.getItem(\"lang\");\r\n const layoutContext = useContext(LayoutContext);\r\n\r\n let customFuction: any = [\r\n [(e) => { setShowCustomerFeedBackForm(true); setSelectedObj(e) }, \"clipboard\", \"FeedBack\", \"JobStatusEnum\" , JobStatus.FinishedAndWaitingForEvaluatio],\r\n [(e) => { chatWithFollowupResponsible(e) }, \"paper-plane\", \"Chat\"]\r\n ]\r\n\r\n async function chatWithFollowupResponsible(e) {\r\n try {\r\n const res = await getRequesterUserId(e.Id);\r\n if(res?.Data.Id && res?.Data.Id != GUID_EMPTY){\r\n let item = {\r\n Id: res?.Data.Id,\r\n name: res?.Data.Description\r\n }\r\n localStorage.setItem(\"JobRequester\", JSON.stringify(item));\r\n window.open(`#/message`)\r\n }\r\n } catch (error) {\r\n\r\n }\r\n }\r\n\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n if (str == \"\") {\r\n setSearch(null)\r\n getMyOwnRequestsAsync(1, null)\r\n } else {\r\n setSearch(str)\r\n getMyOwnRequestsAsync(1 , str)\r\n }\r\n }\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"MyOwnRequestsList\", e.currentTarget.value)\r\n getMyOwnRequestsAsync(1)\r\n };\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else {setPageNum(+value);getMyOwnRequestsAsync(+value)}\r\n } \r\n };\r\n const handleNextPage = () => {\r\n if(pageNum < pages){\r\n setPageNum(pageNum + 1);\r\n getMyOwnRequestsAsync(pageNum + 1);\r\n };\r\n };\r\n const handlePrevPage = () => {\r\n if(pageNum > 1){\r\n setPageNum((pageNum)=>{return +pageNum - 1});\r\n getMyOwnRequestsAsync(pageNum - 1);\r\n };\r\n };\r\n\r\n const selectedObjCallback = (obj) => {\r\n setSelectedObj(obj);\r\n }\r\n\r\n const handleCreateRequest = (obj) => {\r\n setMode(\"create\");\r\n getStartFormAsync(obj.Id);\r\n }\r\n\r\n async function getStartFormAsync(id: string) {\r\n document.body.classList.add(\"loading-indicator-\"+lang);\r\n try {\r\n setMode(\"create\");\r\n const res = await getStartForm(id);\r\n if (res.Data){\r\n setDynamicForm(res.Data);\r\n setShowDynamicForm(true);\r\n }\r\n else{\r\n setDynamicForm(undefined);\r\n setShowDynamicForm(false) \r\n } \r\n } catch (error) {\r\n setDynamicForm(undefined)\r\n setShowDynamicForm(false)\r\n }\r\n document.body.classList.remove(\"loading-indicator-\"+lang); \r\n }\r\n const handleCancelRequest = async (id) => {\r\n try {\r\n await cancelRequest(selectedObj?.Id)\r\n setForceUpdate(!forceUpdate)\r\n } catch (error) {\r\n }\r\n }\r\n const handleViewRow = () => {\r\n setMode(\"view\");\r\n setShowViewForm(true)\r\n }\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\": alert(\"print \"); break;\r\n case \"excel\": downloadCSV(response ,4 ,trans(\"MyOwnRequestsList\")); break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n case \"cancel\": if (selectedObj)\r\n // Toast(trans(\"Msg_CancelConfirm\"), \"warning\", \"alert\", handleCancelRequest)\r\n Toast(trans(\"Msg_CancelConfirm\"), MessageType.confirm, handleCancelRequest)\r\n\r\n ; break;\r\n case \"view\": if (selectedObj) handleViewRow(); break;\r\n case \"action\": if (selectedObj){ setMode(\"view\");setShowForm(true);} break;\r\n case \"help\": alert(\"call api help\"); break;\r\n case \"attach\": if (selectedObj) {\r\n setMode(\"edit\")\r\n setShowAttachment(true)\r\n } else {\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning)\r\n\r\n } break;\r\n }\r\n };\r\n\r\n async function getMyOwnRequestsAsync(pagNum = pageNum ,searchSTR=search) {\r\n setLoading(false)\r\n\r\n let pageSizeChangedByUser = getPageSize(\"MyOwnRequestsList\")\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const res = await getMyOwnRequests(pagNum, pageSizeChangedByUser, searchSTR, orderBy.length == 0 ? null : orderBy.join(\",\"), filterlist, Type)\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) ;\r\n if (res.Data.Data.length > 0) {\r\n setResponse(res.Data)\r\n }\r\n } catch (error) {\r\n\r\n }\r\n setLoading(true)\r\n\r\n }\r\n\r\n useEffect(() => {\r\n //getDataAsync();setResponse\r\n if(tabName==curentTab){\r\n\r\n setSelectedObj(null)\r\n setResponse([])\r\n getMyOwnRequestsAsync();\r\n }\r\n }, [ jobstatusFilter, orderBy, filterlist]);\r\n useEffect(() => {\r\n //getDataAsync();setResponse\r\n if(tabName==curentTab){\r\n\r\n setResponse([])\r\n getMyOwnRequestsAsync();\r\n }\r\n }, [ forceUpdate]);\r\n\r\n useEffect(() => {\r\n if(tabName==curentTab){\r\n let settings = getGridSetting(\"MyOwnRequestsList\")\r\n setOrderBy(settings[1])\r\n setFilterlist(settings[0])\r\n }\r\n }, [curentTab ,tabName]);\r\n\r\n\r\n return (\r\n <>\r\n {tabName==curentTab&&\r\n <>\r\n \r\n \r\n
    \r\n {loading ?\r\n <>{\r\n (response?.Data?.length > 0 ?\r\n
    \r\n
    \r\n <>\r\n { setSelectedObj(obj); clickToolbarCallback(\"view\") }}\r\n View={true}\r\n ViewParametr={\"NotSeen\"}\r\n customFuction={customFuction}\r\n handlefiltering={(str) => { setFilterlist(str) }}\r\n filterStr={filterlist}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n parentName={\"MyOwnRequestsList\"}\r\n theadData={Object.keys(response.Data[0])}\r\n tbodyData={response.Data}\r\n minCellWidth={80}\r\n rowSelected={selectedObj}\r\n handleAttachment={(e) => { setSelectedObj({ Id: e }); setMode(\"edit\"); setShowAttachment(true) }}\r\n selectedRowObjectCallback={selectedObjCallback}\r\n startIndex={7}\r\n handleView={handleViewRow}\r\n totalRecords={response.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() =>{getMyOwnRequestsAsync(pages) ;setPageNum(pages)}}\r\n end={() => {getMyOwnRequestsAsync(1) ;setPageNum(1)}}\r\n handleGoPage={handleGoPage}\r\n />\r\n \r\n
    \r\n
    \r\n : \r\n )\r\n\r\n }\r\n \r\n \r\n\r\n \r\n : \r\n }\r\n\r\n
    \r\n {showAttachment &&\r\n { setShowAttachment(false) }} show={showAttachment}>\r\n { setShowAttachment(false); }} mood={mode} endpoint={ENDPOINTS.clientPortal.clientPortal.attachment} ownerId={selectedObj?.Id} />\r\n \r\n }\r\n {showDynamicForm &&\r\n { setShowDynamicForm(false); }} show={showDynamicForm}>\r\n <>\r\n {dynamicForm?.Name!=\"OrderForm\"&&\r\n
    \r\n \r\n \r\n {dynamicForm?.Name==\"CustomerGeneralRequestForm\"&&\r\n \r\n \r\n }\r\n
    \r\n }\r\n { setShowDynamicForm(false); setForceUpdate(!forceUpdate) }} \r\n componentName={DYNAMICFORMS[dynamicForm.Name] ?null:dynamicForm.Name} component={DYNAMICFORMS[dynamicForm.Name] ?DYNAMICFORMS[dynamicForm.Name].component:null}\r\n reload={() => { setForceUpdate(!forceUpdate) }} componentParams={dynamicForm.Parameters} processId={dynamicForm?.ProjectId }\r\n handleCancelForm={() => setShowDynamicForm(false)} referenceId={undefined} />\r\n\r\n \r\n
    \r\n }\r\n\r\n {showForm &&\r\n {setShowForm(false);setForceUpdate(!forceUpdate)}} show={showForm}>\r\n { setShowForm(false) ;setForceUpdate(!forceUpdate)}} jobId={selectedObj?.Id} processId={selectedObj?.PRJ_UID} mode={mode} />\r\n \r\n }\r\n {showViewForm &&\r\n {setShowViewForm(false);setForceUpdate(!forceUpdate)}} show={showViewForm}>\r\n { setShowViewForm(false) ;setForceUpdate(!forceUpdate)}} jobId={selectedObj?.Id} processId={selectedObj?.PRJ_UID} mode={mode} />\r\n \r\n }\r\n {showCustomerFeedBackForm &&\r\n setShowCustomerFeedBackForm(false)} show={showCustomerFeedBackForm} >\r\n { setForceUpdate(!forceUpdate) }} hide={() => { setShowCustomerFeedBackForm(false) }} Id={selectedObj?.Id} mode={\"edit\"} />\r\n \r\n }\r\n \r\n \r\n }\r\n \r\n \r\n\r\n );\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\n\r\nexport const getDocsClassification = async (Id) =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi\r\n .InventoryDocsClassification.load,\r\n method: \"get\",\r\n params: { Id: Id },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postDocsClassificationApi = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi\r\n .InventoryDocsClassification.browse,\r\n method: \"post\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const putDocsClassificationApi = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi\r\n .InventoryDocsClassification.browse,\r\n method: \"put\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getDocsClassificationDictionary = async () =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi\r\n .InventoryDocsClassification.dictionary,\r\n method: \"get\",\r\n }).then((response) => response.data);\r\n\r\nexport const deleteListDocsClassification = (id) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi\r\n .InventoryDocsClassification.browse,\r\n method: \"delete\",\r\n params: {\r\n id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getListDocsClassification = async (\r\n searchString,\r\n orderBy,\r\n pageNum,\r\n pageSize,\r\n applicationId\r\n) =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi\r\n .InventoryDocsClassification.browse,\r\n method: \"get\",\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy,\r\n PageSize: pageSize,\r\n PageNumber: pageNum,\r\n ApplicationId: applicationId,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport {\r\n postDocsClassificationApi,\r\n putDocsClassificationApi,\r\n getDocsClassification,\r\n} from \"./api\";\r\nimport { ListFormat } from \"typescript\";\r\n\r\nexport const DocsClassificationForm = ({\r\n reload,\r\n mode,\r\n onHide,\r\n selectedObj,\r\n}) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n const applicationId = JSON.parse(\r\n localStorage?.getItem(\"CurrentApplication\") as string\r\n ).Id;\r\n\r\n const submit = (e) => {\r\n e.preventDefault();\r\n if (mode === \"create\") {\r\n postDocsClassificationApi({\r\n IsDefault: e.target.IsDefault.checked,\r\n CalculateTax: e.target.CalculateTax.checked,\r\n Title: e.target.DocsClassificationTitle.value,\r\n TitleEN: e.target.DocsClassificationTitleEN.value,\r\n StartDocsNo: +e.target.StartDocsNo.value,\r\n ApplicationId: applicationId,\r\n }).then(() => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n reload();\r\n onHide();\r\n });\r\n } else {\r\n putDocsClassificationApi({\r\n Id: selectedObj.Id,\r\n IsDefault: e.target.IsDefault.checked,\r\n CalculateTax: e.target.CalculateTax.checked,\r\n Title: e.target.DocsClassificationTitle.value,\r\n TitleEN: e.target.DocsClassificationTitleEN.value,\r\n StartDocsNo: +e.target.StartDocsNo.value,\r\n ApplicationId: applicationId,\r\n }).then(() => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setResponse(null);\r\n setUserChanges({});\r\n reload();\r\n onHide();\r\n });\r\n }\r\n };\r\n\r\n async function getDocsClassificationId() {\r\n setLoading(false);\r\n try {\r\n const data = await getDocsClassification(selectedObj?.Id);\r\n setResponse(data.Data);\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode !== \"create\") {\r\n getDocsClassificationId();\r\n } else {\r\n setResponse(null);\r\n setLoading(true);\r\n }\r\n }, [mode]);\r\n\r\n return (\r\n
    \r\n {loading ? (\r\n \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"DocsClassificationTitle\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"Description\"}\r\n mode={mode}\r\n defaultValue={response?.Title}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"DocsClassificationTitleEN\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"TitleEN\"}\r\n mode={mode}\r\n defaultValue={response?.TitleEN}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"StartDocsNo\"}\r\n textboxType=\"number\"\r\n resetForm={resetForm}\r\n labelText={\"StartDocsNo\"}\r\n mode={mode}\r\n defaultValue={response?.StartDocsNo}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={response?.IsDefault}\r\n defaultValue={response?.IsDefault}\r\n labelText={\"IsDefault\"}\r\n inputName={\"IsDefault\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={response?.CalculateTax}\r\n defaultValue={response?.CalculateTax}\r\n labelText={\"CalculateTax\"}\r\n inputName={\"CalculateTax\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n onHide();\r\n }}\r\n />\r\n
    \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n","import ListGroup from \"react-bootstrap/ListGroup\";\r\nimport \"./systemSettingMenu.scss\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getSystemSettingGroupTitle } from \"./api\";\r\nimport { trans } from \"utils/helpers\";\r\ninterface SystemSettingGroupItemProps{\r\n index:number,\r\n item:string,\r\n handleClickItemGroup:()=>void,\r\n selectedGroupTitle:string\r\n}\r\nexport function SystemSettingGroupItem({\r\n index,\r\n item,\r\n handleClickItemGroup,\r\n selectedGroupTitle,\r\n}) {\r\n return (\r\n
    \r\n handleClickItemGroup(item)}\r\n >\r\n {trans(item)}\r\n
    \r\n
    \r\n );\r\n}\r\n","import { useEffect } from \"react\";\r\n\r\nexport function SelectBoxHandle({\r\n selectedSelectBox,\r\n setSelectedSelectBox,\r\n options,\r\n children,\r\n userChanges,\r\n setUserChanges,\r\n item,\r\n}) {\r\n useEffect(() => {\r\n if (selectedSelectBox[item.SystemKey] == undefined) {\r\n setSelectedSelectBox({\r\n ...selectedSelectBox,\r\n [item.SystemKey]: \"0\",\r\n });\r\n setUserChanges({ ...userChanges, [item.SystemKey]: \"0\" });\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n const findItem = options.findIndex((option, index) => {\r\n return option == selectedSelectBox[item.SystemKey];\r\n });\r\n findItem > -1\r\n ? setUserChanges({\r\n ...userChanges,\r\n [item.SystemKey]: findItem,\r\n })\r\n : setUserChanges({\r\n ...userChanges,\r\n [item.SystemKey]: \"0\",\r\n });\r\n }, [selectedSelectBox[item.SystemKey]]);\r\n\r\n return
    {children}
    ;\r\n}\r\n","import { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getProcessListDictionary } from \"../../api/api\";\r\ninterface ProcessDictionaryPropsType {\r\n label: string;\r\n hasBorder?: boolean;\r\n resetForm?: boolean;\r\n required?: boolean;\r\n value?: string;\r\n mode?: string;\r\n name: string;\r\n Change?: (e) => void;\r\n onChange?: (e, obj?) => void;\r\n}\r\n\r\nexport const ProcessDictionary = ({\r\n label,\r\n hasBorder,\r\n value,\r\n mode,\r\n resetForm,\r\n required,\r\n name = \"\",\r\n Change,\r\n onChange,\r\n}: ProcessDictionaryPropsType) => {\r\n const [ProcessListDictionary, setProcessListDictionary] = useState();\r\n const [defaultval, setdefault] = useState(value);\r\n const [errcode, setErrcode] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const getProcessListDictionaryAsync = async () => {\r\n setLoading(false);\r\n try {\r\n const res = await getProcessListDictionary();\r\n\r\n if (!!res.length) {\r\n setProcessListDictionary(res);\r\n if (value) {\r\n res.map((item) => {\r\n if (item.Id == value) {\r\n onChange && onChange(item);\r\n }\r\n });\r\n } else {\r\n onChange && onChange(res[0]);\r\n }\r\n }\r\n } catch (error: any) {\r\n setErrcode(error.response.status);\r\n setProcessListDictionary(null);\r\n }\r\n setLoading(true);\r\n };\r\n\r\n const handleOnChange = (e) => {\r\n ProcessListDictionary.map((item) => {\r\n if (item.Id == e.target.value) onChange && onChange(item);\r\n Change && Change(true);\r\n });\r\n\r\n if (\r\n e.target &&\r\n e.target.value != (value ? value : ProcessListDictionary[0].Id)\r\n ) {\r\n Change && Change({ [name]: e.target.value });\r\n } else {\r\n Change && Change({ [name]: null });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getProcessListDictionaryAsync();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (value && ProcessListDictionary) {\r\n ProcessListDictionary?.map((item) => {\r\n if (item.Id == value) onChange && onChange(item);\r\n });\r\n }\r\n }, [value, ProcessListDictionary]);\r\n\r\n useEffect(() => {\r\n setdefault(value);\r\n }, [resetForm]);\r\n\r\n return (\r\n <>\r\n {ProcessListDictionary && loading ? (\r\n <>\r\n {\r\n handleOnChange(e);\r\n }}\r\n lable={label}\r\n selectType={\"select\"}\r\n options={ProcessListDictionary.map((item: any) => {\r\n return item.Description;\r\n })}\r\n val={ProcessListDictionary.map((item: any) => {\r\n return item.Id;\r\n })}\r\n name={name}\r\n value={value}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={required}\r\n />\r\n
    \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { useEffect, useState } from \"react\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { getWarehouseDictionary } from \"./api\";\r\n\r\n\r\ninterface DictionaryTypeSelectProps {\r\n value?: any;\r\n mode?: string;\r\n resetForm?: boolean;\r\n name: string;\r\n label: string;\r\n baseUrl?: string;\r\n required?: boolean;\r\n transe?:boolean;\r\n params?:any;\r\n recordedData?:any;\r\n Change?: (e) => void;\r\n onChange?: (e: any , obj?:any) => void,\r\n useTrans?:boolean;\r\n hasWarehouseDetails?:boolean\r\n\r\n}\r\nexport const WarehouseDictionary = ({recordedData ,hasWarehouseDetails=true,params ,label ,required=false ,baseUrl ,useTrans=false ,value ,name ,mode ,resetForm ,onChange ,Change }:DictionaryTypeSelectProps) => {\r\n const [WarehouseDictionary, setWarehouseDictionary] = useState();\r\n const [defaultval, setdefault] = useState(value);\r\n const [errcode, setErrcode] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n \r\n\r\n const getWarehouseDictionaryAsync = async ()=>{\r\n setLoading(false)\r\n try {\r\n const res = await getWarehouseDictionary(hasWarehouseDetails)\r\n if(res?.Data){\r\n setWarehouseDictionary(res?.Data)\r\n if(!value)\r\n onChange && onChange(Object.keys(res?.Data)[0],{Id:Object.keys(res?.Data)[0] , Name:Object.values(res?.Data)[0]\t}) \r\n else\r\n onChange && onChange(value,{Id:value , Name:res?.Data[value]\t}) \r\n\r\n }\r\n\r\n } catch (error:any) {\r\n setErrcode(error.response?.status)\r\n setWarehouseDictionary(null)\r\n }\r\n setLoading(true)\r\n }\r\n\r\n const handleOnChange = (e) =>{\r\n onChange&&onChange(e.target.value ,{Id:e.target.value , Name:WarehouseDictionary[e.target.value]});\r\n Change && Change(true)\r\n\r\n if(e.target && e.target.value !=(value ? value : Object.keys(WarehouseDictionary)[0])){\r\n Change&&Change({[name] :e.target.value}) \r\n }else{\r\n Change&&Change({[name] :null}) }\r\n }\r\n \r\n\r\n useEffect(() => {\r\n getWarehouseDictionaryAsync()\r\n\r\n }, []);\r\n useEffect(() => {\r\n if(params){\r\n //getWarehouseDictionaryAsync()\r\n \r\n } \r\n }, [params]);\r\n\r\n useEffect(() => {\r\n setdefault(value)\r\n }, [resetForm]);\r\n \r\n\r\n return (\r\n <>\r\n {WarehouseDictionary && loading ?\r\n <>\r\n {handleOnChange(e)}}\r\n lable={label}\r\n selectType={'select'}\r\n options={Object.values(WarehouseDictionary).map((item:any)=>{return item.Description})}\r\n val={Object.keys(WarehouseDictionary) }\r\n name={name}\r\n value={value}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={required}\r\n useTrans={useTrans}\r\n recordedData={recordedData}\r\n /> \r\n
    \r\n \r\n :\r\n \r\n }\r\n \r\n \r\n\r\n );\r\n};","import { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { useState } from \"react\";\r\n\r\ninterface CheckBoxListProps {\r\n mode?: \"create\" | \"view\" | \"edit\";\r\n items?: any;\r\n onChange?: any;\r\n textboxName?: any;\r\n}\r\n\r\nexport const CheckBoxList = ({ items, mode, onChange, title, textboxName }) => {\r\n const [listItems, setListItems] = useState(items);\r\n const handleChange = (changeItem) => {\r\n const newObj = {\r\n ...listItems,\r\n [changeItem]: !listItems[changeItem],\r\n };\r\n setListItems(newObj);\r\n onChange(newObj);\r\n };\r\n\r\n return (\r\n
    \r\n
    {title}:
    \r\n \r\n
    \r\n {Object.keys(listItems)?.map((item: string) => {\r\n return (\r\n
    \r\n {\r\n handleChange(item);\r\n }}\r\n />\r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n );\r\n};\r\n","import { useState } from \"react\";\r\nimport \"./systemSettingMenu.scss\";\r\n\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Price } from \"components/Price/Price\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Time } from \"components/Time/Time\";\r\nimport { SelectBoxHandle } from \"./SelectBoxHandle\";\r\n\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { PriceListDictionary } from \"pages/InventoryAndSales/Sales/PriceList/components/PriceListDictionary/PriceListDictionary\";\r\nimport { ProcessDictionary } from \"pages/OfficeAutomation/Settings/ProcessSetting/components/ProcessDictionary/ProcessDictinary\";\r\nimport { PropertyType } from \"types/enum\";\r\nimport { WarehouseDictionary } from \"../../../Sales/SalesInvoice/components/WarehouseDictionary/WarehouseDictionary\";\r\nimport { CheckBoxList } from \"components/CheckboxList/CheckBoxList\";\r\n\r\nexport function SystemSettingForm({\r\n cards,\r\n setFromDate,\r\n userChanges,\r\n setUserChanges,\r\n}) {\r\n const [selectedSelectBox, setSelectedSelectBox] = useState({});\r\n\r\n return (\r\n
    \r\n
    \r\n {/* specify number of card */}\r\n {cards.map((item, index) => {\r\n return (\r\n <>\r\n {item.PropertyType == PropertyType.Text && (\r\n
    \r\n setUserChanges({ ...userChanges, ...e })}\r\n defaultValue={\r\n item.SelectedValue\r\n ? item.SelectedValue\r\n : userChanges[item.SystemKey]\r\n }\r\n />\r\n
    \r\n )}\r\n {item.PropertyType == PropertyType.Number && (\r\n
    \r\n setUserChanges({ ...userChanges, ...e })}\r\n defaultValue={\r\n item.SelectedValue\r\n ? item.SelectedValue\r\n : userChanges[item.SystemKey]\r\n }\r\n />\r\n
    \r\n )}\r\n {item.PropertyType == PropertyType.List && (\r\n
    \r\n \r\n {\r\n setSelectedSelectBox({\r\n ...selectedSelectBox,\r\n [item.SystemKey]: e.target.value,\r\n });\r\n }}\r\n lable={item.Title}\r\n selectType=\"select\"\r\n value={\r\n item.SelectedValue\r\n ? item?.Values.split(\",\").find(\r\n (listItem, index) => index == item.SelectedValue\r\n )\r\n : \"0\"\r\n }\r\n options={item?.Values?.split(\",\")}\r\n val={item?.Values?.split(\",\")}\r\n name={item.SystemKey}\r\n >\r\n \r\n
    \r\n )}\r\n {item.PropertyType == PropertyType.CheckBox && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={\r\n item.SelectedValue === \"true\" ? true : false\r\n }\r\n defaultValue={item.SelectedValue === \"true\" ? true : false}\r\n labelText={item.Title}\r\n inputName={item.SystemKey}\r\n type=\"checkbox\"\r\n />\r\n
    \r\n )}\r\n {item.PropertyType == PropertyType.Date && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n lable={item.Title}\r\n setIsoTime={(isoTime: string) => {\r\n setFromDate(isoTime);\r\n }}\r\n val={null}\r\n name={item.SystemKey}\r\n onOpenPickNewDate={true}\r\n />\r\n
    \r\n )}\r\n {item.PropertyType == PropertyType.Time && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name={item.SystemKey}\r\n IdString={item.SystemKey}\r\n defaultValue={item?.SelectedValue}\r\n label={item.Title}\r\n />\r\n
    \r\n )}\r\n {item.PropertyType == PropertyType.Price && (\r\n
    \r\n \r\n setUserChanges({\r\n ...userChanges,\r\n [item.SystemKey]: e.target.value,\r\n })\r\n }\r\n />\r\n
    \r\n )}\r\n {item.PropertyType == PropertyType.CheckBoxList && (\r\n
    \r\n {\r\n console.log({e});\r\n \r\n }} mode={\"\"} />\r\n
    \r\n )}\r\n\r\n {item.PropertyType == PropertyType.Dictanory &&\r\n (item.Values === \"WarehouseComponent\" ? (\r\n
    \r\n \r\n
    \r\n ) : item.Values === \"PriceListComponent\" ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n ))}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n );\r\n}\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getListItemMainProperty = (async (searchString, orderBy ,pageNum,pageSize ) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.ItemMainProperty.browse,\r\n method: 'get',\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy,\r\n PageSize: pageSize,\r\n PageNumber: pageNum,\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const deleteItemMainProperty = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.ItemMainProperty.browse,\r\n method: 'delete',\r\n params: {Id : id}\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const getItemMainProperty = (async (id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.ItemMainProperty.load,\r\n method: 'get',\r\n params: {Id : id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const postItemMainProperty = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.ItemMainProperty.browse, \r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const putItemMainProperty = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.ItemMainProperty.browse,\r\n method: 'put',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const getListItemMainPropertyValues = (async (searchString, orderBy ,ItemGroupKeyId ,pageNum ,pageSize) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.ItemMainPropertyValues.list,\r\n method: 'get',\r\n params: {\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n id:ItemGroupKeyId,\r\n PageSize: pageSize,\r\n PageNumber: pageNum,\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const deleteItemMainPropertyValues = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.ItemMainPropertyValues.browse,\r\n method: 'delete',\r\n params: {Id : id}\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const getItemMainPropertyValues = (async (id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.ItemMainPropertyValues.load,\r\n method: 'get',\r\n params: {Id : id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const postItemMainPropertyValues = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.ItemMainPropertyValues.browse, \r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const putItemMainPropertyValues = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.BaseDefinitionAndSettingApi.ItemMainPropertyValues.browse,\r\n method: 'put',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n","\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { getItemMainPropertyValues, postItemMainPropertyValues, putItemMainPropertyValues } from \"../api\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\n\r\n\r\ninterface ItemMainPropertyValueFormPropsType {\r\n onHide?: () => void;\r\n reload?: () => void;\r\n mode:any;\r\n propertyId?:any;\r\n selectObj?:any;\r\n colorValue?:any;\r\n \r\n}\r\n\r\nexport const ItemMainPropertyValueForm = ({ propertyId , selectObj ,mode ,reload,onHide ,colorValue}: ItemMainPropertyValueFormPropsType) => {\r\n const [response,setResponse] = useState()\r\n const sendItemMainPropertyValuesAsync =async (e) => {\r\n e.preventDefault()\r\n try {\r\n \r\n if(mode == 'create'){\r\n let data ={\r\n \"OwnerId\": propertyId,\r\n \"Code\": e.target.Code.value ,\r\n \"Value\": e.target?.Value?.value ? e.target.Value.value : null ,\r\n \"Description\": e.target.Description.value ,\r\n \"DescriptionEN\": e.target.DescriptionEN.value ,\r\n \r\n }\r\n await postItemMainPropertyValues(data)\r\n }else{\r\n let data ={\r\n \"OwnerId\": propertyId,\r\n \"Id\": selectObj.Id,\r\n \"Code\": e.target.Code.value ,\r\n \"Value\": e.target?.Value?.value ? e.target.Value.value : null ,\r\n \"Description\": e.target.Description.value ,\r\n \"DescriptionEN\": e.target.DescriptionEN.value ,\r\n 'ActivityStatus' : +e.target.ActivityStatus.value,\r\n }\r\n await putItemMainPropertyValues(data)\r\n }\r\n\r\n \r\n onHide&& onHide()\r\n reload&& reload()\r\n } catch (error) {\r\n \r\n }\r\n \r\n };\r\n\r\n\r\n \r\n\r\n async function getItemMainPropertyAsync() {\r\n try {\r\n const data = await getItemMainPropertyValues(selectObj?.Id);\r\n setResponse(data.Data)\r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if(mode != 'create'){\r\n getItemMainPropertyAsync()\r\n }else{\r\n // setLoading()\r\n }\r\n }, [mode]);\r\n return (\r\n < >\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {mode != \"create\" && \r\n
    \r\n \r\n
    \r\n } \r\n
    \r\n \r\n
    \r\n\r\n {colorValue&&\r\n
    \r\n \r\n
    \r\n \r\n }\r\n\r\n \r\n { mode !=\"view\"?\r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n\r\n } \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n )\r\n}","\r\n\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\n\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { deleteItemMainPropertyValues, getListItemMainPropertyValues } from \"../api\";\r\nimport { ItemMainPropertyValueForm } from \"./ItemMainPropertyValueForm\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface Form {\r\n ItemGroupKeyObj;\r\n onHide: (e:boolean) => void;\r\n mode;\r\n relod: () => void,\r\n}\r\nexport const ItemMainPropertyValues = ({ \r\n ItemGroupKeyObj,\r\n // mode\r\n}: Form) => {\r\n\r\n const [response, setResponse] = useState(null);\r\n const [selectedObj, setSelectedObj] = useState< any>(null);\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [flag, setFlag] = useState(false);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [catchMessage, setCatchMessage] = useState({type:\"info\",msg:\"NoDataForPreview\"});\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [showForm, setShowForm] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [mode,setMode] = useState()\r\n\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pages, setPages] = useState(0);\r\n\r\n\r\n\r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"ItemMainPropertyValues\" ,e.currentTarget.value )\r\n getListItemMainPropertyValuesAsync(1)\r\n };\r\n\r\n\r\n function handleGoPage(value): void {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else {setPageNum(+value);getListItemMainPropertyValuesAsync(+value)}\r\n } else {\r\n }\r\n }\r\n \r\n const handleNextPage = () => {\r\n if(pageNum < pages){\r\n setPageNum(pageNum + 1);\r\n getListItemMainPropertyValuesAsync(pageNum + 1);\r\n };\r\n };\r\n const handlePrevPage = () => {\r\n if(pageNum > 1){\r\n setPageNum((pageNum)=>{return +pageNum - 1});\r\n getListItemMainPropertyValuesAsync(pageNum - 1);\r\n };\r\n };\r\n\r\n\r\n\r\n const searchHandler = (str) => {\r\n if(str ==\"\" ){\r\n setSearch(null)\r\n }else{\r\n setSearch(str)\r\n }\r\n }\r\n const handleCreateRow = () => {\r\n setSelectedObj(null)\r\n setMode(\"create\");\r\n setShowForm(true)\r\n }\r\n const handleEditRow = () => {\r\n setMode(\"edit\");\r\n setShowForm(true)\r\n }\r\n const handleDeleteRow = async() => {\r\n try {\r\n const res = await deleteItemMainPropertyValues(selectedObj.Id)\r\n setForceUpdate(!forceUpdate)\r\n } catch (error) {\r\n \r\n }\r\n }\r\n const handleViewRow = () => {\r\n setMode(\"view\")\r\n setShowForm(true)\r\n }\r\n\r\n const selectedIdCallback = (obj, index) => {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{setSelectedObj(obj);sessionStorage.setItem(\"changingforms\" , \"false\"); setUserChanges({}) });\r\n }else{\r\n setSelectedObj(obj) \r\n };\r\n }\r\n\r\n\r\n\r\n async function getListItemMainPropertyValuesAsync(PageNum =pageNum) {\r\n setLoading(false)\r\n let pageSizeChangedByUser = getPageSize(\"ItemMainPropertyValues\" )\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const res = await getListItemMainPropertyValues(search ,orderBy.length == 0 ?null: orderBy.join(\",\"),ItemGroupKeyObj.Id ,PageNum,pageSizeChangedByUser);\r\n setResponse(res.Data);\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) \r\n \r\n setCatchMessage({type:\"info\",msg:\"NoDataForPreview\"})\r\n } catch (error:any) {\r\n setCatchMessage({type:\"error\" , msg:error?.response?.data?.Message})\r\n }\r\n\r\n setLoading(true)\r\n }\r\n\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if(ItemGroupKeyObj){\r\n getListItemMainPropertyValuesAsync();\r\n\r\n }\r\n }, [forceUpdate, flag ,search , orderBy,ItemGroupKeyObj]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\": alert(\"print \"); break;\r\n case \"excel\":downloadCSV(response ,1 ,trans(\"ItemMainPropertyValues\"));break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n case \"create\": handleCreateRow(); break;\r\n case \"remove\": if (selectedObj?.Id)\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , handleDeleteRow)\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete , handleDeleteRow)\r\n\r\n ; break;\r\n case \"view\": if (selectedObj?.Id) handleViewRow(); break;\r\n case \"edit\": if (selectedObj?.Id)selectedObj.SystemReserved ? \r\n // Toast(trans(\"Msg_CanNotEditSystemReservedData\") , \"error\")\r\n Toast(trans(\"Msg_CanNotEditSystemReservedData\") , MessageType.error)\r\n\r\n : handleEditRow(); break;\r\n case \"help\": alert(\"call api help\"); break;\r\n }\r\n };\r\n /* #endregion */\r\n\r\n return (\r\n <> \r\n\r\n {showForm&&\r\n {setShowForm(false)}} show={showForm} title={\"itemmainpropertyvalueslist\" } >\r\n setForceUpdate(!forceUpdate)} onHide={()=>{setShowForm(false)}} /> \r\n \r\n } \r\n
    \r\n \r\n
    \r\n
    \r\n <>\r\n {\r\n loading ?\r\n response?.Data?.length > 0 ?\r\n <>\r\n {Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" ,handleDeleteRow)}}\r\n handleDelete={(e)=>{Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete ,handleDeleteRow)}}\r\n\r\n totalRecords={response.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() =>{getListItemMainPropertyValuesAsync(pages); setPageNum(pages)}}\r\n end={() =>{getListItemMainPropertyValuesAsync(1); setPageNum(1)}}\r\n handleGoPage={handleGoPage}\r\n />\r\n \r\n : \r\n :\r\n }\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n );\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getListCurrenceis = (async (searchString, orderBy,pageNumber,pageSize) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Currency.browse,\r\n method: 'get',\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy,\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const deleteCurrency = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Currency.browse,\r\n method: 'delete',\r\n params: {Id : id}\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const getCurrency = (async (id) => await http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Currency.load,\r\n method: 'get',\r\n params: {Id : id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const postCurrencies = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Currency.browse, \r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const postConversionRatio = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Currency.conversionRatio, \r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\n\r\n\r\nexport const putCurrencies = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Currency.browse,\r\n method: 'put',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n","import { Button } from \"components/Button/Button\";\r\nimport { FileInput } from \"components/FileInput/FileInput\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { importCustomer } from \"./api\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\ninterface props {\r\n showForm?: () => any\r\n reload?: () => any\r\n \r\n}\r\nexport const ImportCustomersForm = ({showForm,reload }:props) => {\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState(null);\r\n const [selectedFile, setSelectedFile] = useState();\r\n\r\n const handleSelectedFile = (e: any) => {\r\n if (e.target.files && e.target.files.length > 0) {\r\n // setSelectedFile(e.target.files[0]);\r\n setSelectedFile({url: URL.createObjectURL([...e.target.files][0] ) ,file:[...e.target.files][0]}); \r\n\r\n }\r\n };\r\n async function sendDataToServer(event) {\r\n event.preventDefault();\r\n try {\r\n var data = new FormData();\r\n data.append(\"file\", selectedFile?.file);\r\n const res = await importCustomer(data,event.target.CustomerOrganizationId.value)\r\n reload&&reload()\r\n } catch (error:any) {\r\n setResponse(error.response.data)\r\n }\r\n \r\n }\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n return (<>\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {(response&&response?.Data&&response?.Data?.length > 0)&&\r\n \"[\"+ trans(\"customercode\")+\" : \"+item.Data +\"] , \"+ item.Message.replaceAll(\"\\\\n\", \"=>\")).join(\"\\n\")} type={\"error\"} />\r\n }\r\n
    \r\n
    \r\n
    \r\n )\r\n}","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getListSalesInvoiceStatus = async (\r\n searchString,\r\n orderByString,\r\n pageNumber,\r\n pageSize\r\n) =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesInvoiceStatus.browse,\r\n method: \"get\",\r\n params: {\r\n OrderByString: orderByString,\r\n SearchString: searchString,\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getSalesInvoiceStatus = async (Id) =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesInvoiceStatus.load,\r\n method: \"get\",\r\n params: { Id: Id },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postSalesInvoiceStatusApi = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesInvoiceStatus.browse,\r\n method: \"post\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const putSalesInvoiceStatusApi = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesInvoiceStatus.browse,\r\n method: \"put\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getSalesInvoiceStatusDictionary = async () =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesInvoiceStatus.dictionary,\r\n method: \"get\",\r\n }).then((response) => response.data);\r\n\r\nexport const deleteListSalesInvoiceStatus = (id) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesInvoiceStatus.browse,\r\n method: \"delete\",\r\n params: {\r\n id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport {\r\n getSalesInvoiceStatus,\r\n postSalesInvoiceStatusApi,\r\n putSalesInvoiceStatusApi,\r\n} from \"./api\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\ninterface Prop {\r\n resetForm?: boolean;\r\n onHide: () => void;\r\n selectedObj?: any;\r\n mode: string;\r\n reload: () => void;\r\n}\r\ninterface Form {\r\n Name: string;\r\n Code: string;\r\n}\r\nexport const SalesInvoiceStatusForm = ({\r\n reload,\r\n onHide,\r\n mode,\r\n selectedObj,\r\n}: Prop) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading, setLoading] = useState();\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n\r\n useEffect(() => {\r\n if (Object.values(userChanges).filter((item) => item != null).length > 0) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n } else {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n\r\n async function getSalesInvoiceStatusId() {\r\n setLoading(false);\r\n try {\r\n const data = await getSalesInvoiceStatus(selectedObj?.Id);\r\n setResponse(data.Data);\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n\r\n const submit = (e) => {\r\n e.preventDefault();\r\n if (response == null) {\r\n postSalesInvoiceStatusApi({\r\n IsDefault: e.target.SalesInvoiceStatusCheckbox.checked,\r\n Title: e.target.SalesInvoiceStatusTitle.value,\r\n TitleEN: e.target.SalesInvoiceStatusTitleEN.value,\r\n SystemKey: e.target.SalesInvoiceStatusSystemKey.value,\r\n }).then(() => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n reload();\r\n });\r\n } else {\r\n putSalesInvoiceStatusApi({\r\n IsDefault: e.target.SalesInvoiceStatusCheckbox.checked,\r\n Title: e.target.SalesInvoiceStatusTitle.value,\r\n TitleEN: e.target.SalesInvoiceStatusTitleEN.value,\r\n SystemKey: e.target.SalesInvoiceStatusSystemKey.value,\r\n ActivityStatus: +e.target.SalesInvoiceStatusSelect.value,\r\n Id: selectedObj?.Id,\r\n }).then(() => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setResponse(null);\r\n setUserChanges({});\r\n reload();\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getSalesInvoiceStatusId();\r\n } else {\r\n setResponse(null);\r\n setLoading(true);\r\n }\r\n }, [selectedObj, mode]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setUserChanges({});\r\n setResponse(null);\r\n }\r\n }, [resetForm]);\r\n\r\n return (\r\n <>\r\n
    \r\n {loading ? (\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"SalesInvoiceStatusTitle\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"Title\"}\r\n mode={mode}\r\n defaultValue={response?.Title}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"SalesInvoiceStatusTitleEN\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"TitleEN\"}\r\n mode={mode}\r\n defaultValue={response?.Title}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"SalesInvoiceStatusSystemKey\"}\r\n textboxType=\"systemKey\"\r\n resetForm={resetForm}\r\n labelText={\"systemKey\"}\r\n mode={mode}\r\n defaultValue={response?.SystemKey}\r\n />\r\n
    \r\n {mode != \"create\" && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"SalesInvoiceStatusSelect\"\r\n mode={mode}\r\n label=\"Status\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={response?.ActivityStatus}\r\n />\r\n
    \r\n )}\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={response?.IsDefault}\r\n defaultValue={response?.IsDefault}\r\n labelText={\"IsDefault\"}\r\n inputName={\"SalesInvoiceStatusCheckbox\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
    \r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n onHide();\r\n }}\r\n />\r\n
    \r\n )}\r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n );\r\n};\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getListSalesPreInvoiceStatus = async (\r\n searchString,\r\n orderByString,\r\n pageNumber,\r\n pageSize\r\n) =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesPreInvoiceStatus.browse,\r\n method: \"get\",\r\n params: {\r\n OrderByString: orderByString,\r\n SearchString: searchString,\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getSalesPreInvoiceStatus = async (Id) =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesPreInvoiceStatus.load,\r\n method: \"get\",\r\n params: { Id: Id },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postSalesPreInvoiceStatusApi = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesPreInvoiceStatus.browse,\r\n method: \"post\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const putSalesPreInvoiceStatusApi = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesPreInvoiceStatus.browse,\r\n method: \"put\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getSalesPreInvoiceStatusDictionary = async () =>\r\n await http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesPreInvoiceStatus.dictionary,\r\n method: \"get\",\r\n }).then((response) => response.data);\r\n\r\nexport const deleteListSalesPreInvoiceStatus = (id) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesPreInvoiceStatus.browse,\r\n method: \"delete\",\r\n params: {\r\n id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport {\r\n getSalesPreInvoiceStatus,\r\n postSalesPreInvoiceStatusApi,\r\n putSalesPreInvoiceStatusApi,\r\n} from \"./api\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\ninterface Prop {\r\n resetForm?: boolean;\r\n onHide: () => void;\r\n selectedObj?: any;\r\n mode: string;\r\n reload: () => void;\r\n}\r\ninterface Form {\r\n Name: string;\r\n Code: string;\r\n}\r\nexport const SalesPreInvoiceStatusForm = ({\r\n reload,\r\n onHide,\r\n mode,\r\n selectedObj,\r\n}: Prop) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading, setLoading] = useState();\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n\r\n useEffect(() => {\r\n if (Object.values(userChanges).filter((item) => item != null).length > 0) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n } else {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n\r\n async function getSalesPreInvoiceStatusId() {\r\n setLoading(false);\r\n try {\r\n const data = await getSalesPreInvoiceStatus(selectedObj?.Id);\r\n setResponse(data.Data);\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n\r\n const submit = (e) => {\r\n e.preventDefault();\r\n if (response == null) {\r\n postSalesPreInvoiceStatusApi({\r\n IsDefault: e.target.SalesPreInvoiceStatusCheckbox.checked,\r\n Title: e.target.SalesPreInvoiceStatusTitle.value,\r\n TitleEN: e.target.SalesPreInvoiceStatusTitleEN.value,\r\n SystemKey: e.target.SalesPreInvoiceStatusSystemKey.value,\r\n }).then(() => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n reload();\r\n });\r\n } else {\r\n putSalesPreInvoiceStatusApi({\r\n IsDefault: e.target.SalesPreInvoiceStatusCheckbox.checked,\r\n Title: e.target.SalesPreInvoiceStatusTitle.value,\r\n TitleEN: e.target.SalesPreInvoiceStatusTitleEN.value,\r\n SystemKey: e.target.SalesPreInvoiceStatusSystemKey.value,\r\n ActivityStatus: +e.target.SalesPreInvoiceStatusSelect.value,\r\n Id: selectedObj?.Id,\r\n }).then(() => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setResponse(null);\r\n setUserChanges({});\r\n reload();\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getSalesPreInvoiceStatusId();\r\n } else {\r\n setResponse(null);\r\n setLoading(true);\r\n }\r\n }, [selectedObj, mode]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setUserChanges({});\r\n setResponse(null);\r\n }\r\n }, [resetForm]);\r\n\r\n return (\r\n <>\r\n
    \r\n {loading ? (\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"SalesPreInvoiceStatusTitle\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"Title\"}\r\n mode={mode}\r\n defaultValue={response?.Title}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"SalesPreInvoiceStatusTitleEN\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"TitleEN\"}\r\n mode={mode}\r\n defaultValue={response?.Title}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"SalesPreInvoiceStatusSystemKey\"}\r\n textboxType=\"systemKey\"\r\n resetForm={resetForm}\r\n labelText={\"systemKey\"}\r\n mode={mode}\r\n defaultValue={response?.SystemKey}\r\n />\r\n
    \r\n {mode != \"create\" && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"SalesPreInvoiceStatusSelect\"\r\n mode={mode}\r\n label=\"Status\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n value={response?.ActivityStatus}\r\n />\r\n
    \r\n )}\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={response?.IsDefault}\r\n defaultValue={response?.IsDefault}\r\n labelText={\"IsDefault\"}\r\n inputName={\"SalesPreInvoiceStatusCheckbox\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
    \r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n onHide();\r\n }}\r\n />\r\n
    \r\n )}\r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n );\r\n};\r\n","import { useEffect } from \"react\";\r\n\r\nexport function SelectBoxHandle({\r\n selectedSelectBox,\r\n setSelectedSelectBox,\r\n options,\r\n children,\r\n userChanges,\r\n setUserChanges,\r\n item,\r\n}) {\r\n useEffect(() => {\r\n if (selectedSelectBox[item.SystemKey] == undefined) {\r\n setSelectedSelectBox({\r\n ...selectedSelectBox,\r\n [item.SystemKey]: \"0\",\r\n });\r\n setUserChanges({ ...userChanges, [item.SystemKey]: \"0\" });\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n const findItem = options.findIndex((option, index) => {\r\n return option == selectedSelectBox[item.SystemKey];\r\n });\r\n findItem > -1\r\n ? setUserChanges({\r\n ...userChanges,\r\n [item.SystemKey]: findItem,\r\n })\r\n : setUserChanges({\r\n ...userChanges,\r\n [item.SystemKey]: \"0\",\r\n });\r\n }, [selectedSelectBox[item.SystemKey]]);\r\n\r\n return
    {children}
    ;\r\n}\r\n","import { useEffect, useState } from \"react\";\r\nimport \"./systemSettingMenu.scss\";\r\n\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Price } from \"components/Price/Price\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Time } from \"components/Time/Time\";\r\nimport { SelectBoxHandle } from \"./SelectBoxHandle\";\r\n\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { ProcessDictionary } from \"pages/OfficeAutomation/Settings/ProcessSetting/components/ProcessDictionary/ProcessDictinary\";\r\nimport { PropertyType } from \"types/enum\";\r\nimport { PriceListDictionary } from \"../../PriceList/components/PriceListDictionary/PriceListDictionary\";\r\nimport { CustomerDictionary } from \"../../SalesInvoice/components/CustomerDictionary/CustomerDictionary\";\r\nimport { WarehouseDictionary } from \"../../SalesInvoice/components/WarehouseDictionary/WarehouseDictionary\";\r\nimport { CheckBoxList } from \"components/CheckboxList/CheckBoxList\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\n\r\nexport function SystemSettingForm({\r\n cards,\r\n setFromDate,\r\n userChanges,\r\n setUserChanges,\r\n}) {\r\n const [selectedSelectBox, setSelectedSelectBox] = useState({});\r\n const [customer, setCustomer] = useState();\r\n\r\n useEffect(() => {\r\n let findItem = cards.find(\r\n (item) => item.SystemKey == \"SystemSetting_EcommercePriceListPolicy\"\r\n );\r\n\r\n if (findItem) {\r\n setSelectedSelectBox({\r\n ...selectedSelectBox,\r\n SystemSetting_EcommercePriceListPolicy: findItem?.SelectedValue,\r\n });\r\n } else {\r\n setSelectedSelectBox({\r\n ...selectedSelectBox,\r\n SystemSetting_EcommercePriceListPolicy: \"0\",\r\n });\r\n }\r\n }, [cards]);\r\n\r\n return (\r\n
    \r\n
    \r\n {/* specify number of card */}\r\n {cards.map((item, index) => {\r\n return (\r\n <>\r\n {item.PropertyType == PropertyType.Text &&\r\n item.Values != \"ProcessComponent\" && (\r\n
    \r\n setUserChanges({ ...userChanges, ...e })}\r\n defaultValue={\r\n item.SelectedValue\r\n ? item.SelectedValue\r\n : userChanges[item.SystemKey]\r\n }\r\n />\r\n
    \r\n )}\r\n {item.PropertyType == PropertyType.Number && (\r\n
    \r\n setUserChanges({ ...userChanges, ...e })}\r\n defaultValue={\r\n item.SelectedValue\r\n ? item.SelectedValue\r\n : userChanges[item.SystemKey]\r\n }\r\n />\r\n
    \r\n )}\r\n {item.PropertyType == PropertyType.List && (\r\n
    \r\n {}}\r\n options={item?.Values?.split(\",\")}\r\n userChanges={userChanges}\r\n setUserChanges={setUserChanges}\r\n item={item}\r\n >\r\n {\r\n setSelectedSelectBox({\r\n ...selectedSelectBox,\r\n [item.SystemKey]: e.target.value,\r\n });\r\n }}\r\n lable={item.Title}\r\n selectType=\"select\"\r\n value={\r\n item.SelectedValue\r\n ? item?.Values.split(\",\").find(\r\n (listItem, index) => index == item.SelectedValue\r\n )\r\n : \"0\"\r\n }\r\n options={item?.Values?.split(\",\")}\r\n val={item?.Values?.split(\",\")}\r\n name={item.SystemKey}\r\n >\r\n \r\n
    \r\n )}\r\n {item.PropertyType == PropertyType.CheckBox && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={\r\n item.SelectedValue === \"true\" ? true : false\r\n }\r\n defaultValue={item.SelectedValue === \"true\" ? true : false}\r\n labelText={item.Title}\r\n inputName={item.SystemKey}\r\n type=\"checkbox\"\r\n />\r\n
    \r\n )}\r\n {item.PropertyType == PropertyType.Date && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n lable={item.Title}\r\n setIsoTime={(isoTime: string) => {\r\n setFromDate(isoTime);\r\n }}\r\n val={item.SelectedValue ? item.SelectedValue : null}\r\n name={item.SystemKey}\r\n onOpenPickNewDate={true}\r\n />\r\n
    \r\n )}\r\n {item.PropertyType == PropertyType.Time && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name={item.SystemKey}\r\n IdString={item.SystemKey}\r\n defaultValue={item?.SelectedValue}\r\n label={item.Title}\r\n />\r\n
    \r\n )}\r\n {item.PropertyType == PropertyType.Price && (\r\n
    \r\n \r\n setUserChanges({\r\n ...userChanges,\r\n [item.SystemKey]: e.target.value,\r\n })\r\n }\r\n />\r\n
    \r\n )}\r\n {item.PropertyType == PropertyType.CheckBoxList && (\r\n
    \r\n {\r\n console.log({ e });\r\n }}\r\n mode={\"\"}\r\n />\r\n
    \r\n )}\r\n {(item.PropertyType == PropertyType.Dictanory ||\r\n item.Values === \"ProcessComponent\") &&\r\n (item.Values === \"WarehouseComponent\" ? (\r\n
    \r\n \r\n
    \r\n ) : item.Values === \"PriceListComponent\" ? (\r\n // (selectedSelectBox.SystemSetting_EcommercePriceListPolicy&&item.SystemKey==\"SystemSetting_EcommercePriceList\"&&selectedSelectBox.SystemSetting_EcommercePriceListPolicy== \"لیست قیمت فروشگاه\")\r\n\r\n
    \r\n {selectedSelectBox.SystemSetting_EcommercePriceListPolicy &&\r\n item.SystemKey == \"SystemSetting_EcommercePriceList\" &&\r\n (selectedSelectBox.SystemSetting_EcommercePriceListPolicy ==\r\n \"0\" ||\r\n selectedSelectBox.SystemSetting_EcommercePriceListPolicy ==\r\n \"الگوی قیمت فروشگاه\") ? (\r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n ) : item.Values === \"CustomerDictionaryComponent\" ? (\r\n
    \r\n {\r\n setCustomer(e);\r\n }}\r\n // disabled={mode!=='create'?true:false}\r\n />\r\n
    \r\n ) : (\r\n
    \r\n \r\n
    \r\n ))}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n );\r\n}\r\n","import ListGroup from \"react-bootstrap/ListGroup\";\r\nimport \"./systemSettingMenu.scss\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getSystemSettingGroupTitle } from \"./api\";\r\nimport { trans } from \"utils/helpers\";\r\ninterface SystemSettingGroupItemProps{\r\n index:number,\r\n item:string,\r\n handleClickItemGroup:()=>void,\r\n selectedGroupTitle:string\r\n}\r\nexport function SystemSettingGroupItem({\r\n index,\r\n item,\r\n handleClickItemGroup,\r\n selectedGroupTitle,\r\n}) {\r\n return (\r\n
    \r\n handleClickItemGroup(item)}\r\n >\r\n {trans(item)}\r\n
    \r\n
    \r\n );\r\n}\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\nexport const putSalesInvoiceDictionary = (endPoint,data=null,queryString) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: endPoint,\r\n method: 'put',\r\n data:data?data:null,\r\n params: queryString\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const getCustomerInfo = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.customerInfo,\r\n method: 'get',\r\n \r\n params: {\r\n id:id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\nexport const putNationalEcoCode = (queryString) => http({\r\n \r\n url: ENDPOINTS.BaseInformation.PersonContact.nationalEcoCode,\r\n method: 'put',\r\n params: queryString\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Address } from \"components/Address/Address\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { ContactType } from \"types/enum\";\r\nimport { ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { convertAddress } from \"utils/helpers\";\r\n\r\nimport gregorian from \"react-date-object/calendars/gregorian\";\r\nimport persian from \"react-date-object/calendars/persian\";\r\nimport { DateObject } from \"react-multi-date-picker\";\r\nimport {\r\n getDefaultPersonContact,\r\n getPersonCustomer,\r\n} from \"../SalesInvoice/api\";\r\nimport { AddressBox } from \"../SalesInvoice/components/AddressBox/AddressBox\";\r\nimport { CustomerDictionary } from \"../SalesInvoice/components/CustomerDictionary/CustomerDictionary\";\r\nimport { CustomerPhoneDictionary } from \"../SalesInvoice/components/CustomerPhoneDictionary/CustomerPhoneDictionary\";\r\nimport { CustomerPhoneList } from \"../SalesInvoice/components/CustomerPhones/CustomerPhoneList\";\r\nimport {\r\n getCustomerInfo,\r\n putNationalEcoCode,\r\n putSalesInvoiceDictionary,\r\n} from \"./api\";\r\n\r\ninterface SalesEditFormProps {\r\n onHide: (e: boolean) => void;\r\n relod: () => void;\r\n rowObject?: any;\r\n editType?: any;\r\n mode: string;\r\n}\r\n\r\nexport const SalesEditForm = ({\r\n onHide,\r\n relod,\r\n editType,\r\n rowObject,\r\n mode,\r\n}: SalesEditFormProps) => {\r\n const [showCustomerPhoneForm, setShowCustomerPhoneForm] = useState(false);\r\n const [typePhoneContact, setTypePhonContact] = useState();\r\n const [showAddressBox, setShowAddressBox] = useState<\r\n \"createMode\" | \"selectMode\" | null\r\n >(null);\r\n const dateObject = new DateObject({\r\n date: rowObject.SalesInvoiceDate,\r\n format: \"YYYY/MM/DD HH:mm:ss\",\r\n calendar: persian,\r\n });\r\n const [date, setDate] = useState(dateObject);\r\n const cottageDateObject = new DateObject({\r\n date: rowObject.CottageDate,\r\n format: \"YYYY/MM/DD HH:mm:ss\",\r\n calendar: persian,\r\n });\r\n const [cottageDate, setCottageDate] = useState(cottageDateObject);\r\n\r\n const [salesInvoiceStatusId, setSalesInvoiceStatusId] = useState();\r\n const [userChanges, setUserChanges] = useState();\r\n const [customer, setCustomer] = useState({});\r\n const [defaultCustomerInfo, setDefaultCustomerInfo] = useState();\r\n const [changeAddress, setChangeAddress] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleSubmit = async (event) => {\r\n event.preventDefault();\r\n let newData = {} as any;\r\n let endPoint = \"\";\r\n let queryString: any = {\r\n id: rowObject.Id,\r\n };\r\n\r\n switch (editType) {\r\n case \"EditInvoiceCustomerInformation\":\r\n {\r\n newData = {\r\n CustomerName: customer.CustomerName\r\n ? customer.CustomerName\r\n : rowObject.CustomerName,\r\n CustomerPhone: customer.CustomerPhone\r\n ? customer.CustomerPhone.Name?.split(\":\")[1]\r\n : defaultCustomerInfo.CustomerPhone,\r\n CustomerMobilePhone: customer.CustomerMobilePhone\r\n ? customer.CustomerMobilePhone.Name?.split(\":\")[1]\r\n : defaultCustomerInfo.CustomerMobilePhone,\r\n CustomerAddress: event.target.Address?.value,\r\n CustomerEconNo: event.target.CustomerEconNo?.value,\r\n CustomerNationalCode: event.target.CustomerNationalCode?.value,\r\n DeliveryAddress: event.target.DeliveryAddress?.value,\r\n };\r\n endPoint =\r\n ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.invoiceCustomer;\r\n }\r\n break;\r\n case \"EditInvoiceDate\":\r\n {\r\n endPoint = ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.invoiceDate;\r\n queryString = { ...queryString, salesInvoiceDate: date };\r\n }\r\n break;\r\n case \"EditInvoiceNo\":\r\n {\r\n endPoint = ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.invoiceNo;\r\n queryString = {\r\n ...queryString,\r\n invoiceNo: event.target?.editinvoiceno?.value,\r\n };\r\n }\r\n break;\r\n case \"EditInvoiceStatus\":\r\n {\r\n endPoint = ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.EditInvoiceStatus;\r\n queryString = {\r\n ...queryString,\r\n SalesInvoiceStatusId: salesInvoiceStatusId,\r\n };\r\n }\r\n break;\r\n case \"EditInvoiceCottage\":\r\n {\r\n endPoint =\r\n ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.invoiceCottage;\r\n queryString = {\r\n ...queryString,\r\n cottageNo: event.target?.cottageno?.value,\r\n cottageDate: cottageDate,\r\n };\r\n }\r\n break;\r\n }\r\n\r\n try {\r\n putSalesInvoiceDictionary(endPoint, newData, queryString);\r\n if (editType === \"EditInvoiceCustomerInformation\") {\r\n if(event.target.CustomerEconNo?.value.length >0 ||event.target.CustomerNationalCode?.value.length >0 ){\r\n const nationalQuery = {\r\n ecoCode: event.target.CustomerEconNo?.value,\r\n nationalCode: event.target.CustomerNationalCode?.value,\r\n personId: rowObject?.CustomerPersonId,\r\n };\r\n putNationalEcoCode(nationalQuery);\r\n }\r\n }\r\n onHide(true);\r\n relod();\r\n } catch (error) {}\r\n };\r\n\r\n\r\n function cancel() {\r\n onHide(false);\r\n }\r\n\r\n\r\n\r\n const getCustomerInfoAsync = async () => {\r\n setLoading(false);\r\n try {\r\n const res = await getCustomerInfo(rowObject.Id);\r\n setDefaultCustomerInfo(res.Data);\r\n } catch (error) {}\r\n setLoading(true);\r\n };\r\n\r\n useEffect(() => {\r\n if (rowObject.Id && editType === \"EditInvoiceCustomerInformation\") {\r\n getCustomerInfoAsync();\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n {/* dynamic form Modals */}\r\n\r\n {showCustomerPhoneForm && (\r\n {\r\n setShowCustomerPhoneForm(false);\r\n }}\r\n show={showCustomerPhoneForm}\r\n title={\"CustomerPhoneForm\"}\r\n >\r\n {\r\n setShowCustomerPhoneForm(false);\r\n }}\r\n type={typePhoneContact}\r\n />\r\n \r\n )}\r\n\r\n {showAddressBox && (\r\n {\r\n setShowAddressBox(null);\r\n }}\r\n mode={mode}\r\n show={showAddressBox && true}\r\n title={\"Address\"}\r\n >\r\n {\r\n setShowAddressBox(null);\r\n }}\r\n status={showAddressBox}\r\n AddressHandeler={(e) => {\r\n setChangeAddress(JSON.stringify(e).toLowerCase());\r\n setDefaultCustomerInfo({\r\n ...defaultCustomerInfo,\r\n Address: JSON.stringify(e).toLowerCase(),\r\n });\r\n setShowAddressBox(null);\r\n }}\r\n />\r\n \r\n )}\r\n {/* ////////////////////////// */}\r\n
    \r\n
    \r\n
    \r\n {editType == \"EditInvoiceCottage\" && (\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"cottageno\"\r\n labelText=\"cottageno\"\r\n defaultValue={\r\n rowObject?.CottageNo ? rowObject?.CottageNo : null\r\n }\r\n maxLength={15}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setCottageDate(isoTime);\r\n }}\r\n val={cottageDateObject.convert(gregorian).format()}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n />\r\n
    \r\n
    \r\n )}\r\n {/* customerDectionary--------------------------------------------------------------- */}\r\n {editType == \"EditInvoiceCustomerInformation\" &&\r\n (loading ? (\r\n
    \r\n\r\n
    \r\n {\r\n setCustomer({\r\n ...customer,\r\n CustomerId: e.Id,\r\n CustomerName: e.Name,\r\n });\r\n //getDefaultPersonContactAsync(e.Id);\r\n }}\r\n mode=\"view\"\r\n />\r\n
    \r\n\r\n {!defaultCustomerInfo?.IsSundry ?\r\n <>\r\n
    \r\n {\r\n setCustomer({ ...customer, CustomerPhone: e });\r\n }}\r\n valueString={defaultCustomerInfo?.CustomerPhone}\r\n />\r\n
    \r\n \r\n {\r\n e.preventDefault();\r\n setShowCustomerPhoneForm(true);\r\n setTypePhonContact(ContactType.Phone);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
    \r\n \r\n :\r\n
    \r\n {\r\n setCustomer({ ...customer, CustomerPhone: e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerPhone\"\r\n labelText=\"CustomerPhone\"\r\n defaultValue={defaultCustomerInfo?.CustomerPhone }\r\n mode={mode}\r\n />\r\n
    \r\n }\r\n\r\n {!defaultCustomerInfo?.IsSundry ?\r\n <>\r\n
    \r\n {\r\n setCustomer({ ...customer, CustomerMobilePhone: e });\r\n }}\r\n />\r\n
    \r\n\r\n \r\n {\r\n e.preventDefault();\r\n setShowCustomerPhoneForm(true);\r\n setTypePhonContact(ContactType.Mobile);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
    :\r\n
    \r\n {\r\n setCustomer({ ...customer, CustomerMobilePhone: e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerMobilePhone\"\r\n labelText=\"CustomerMobilePhone\"\r\n defaultValue={defaultCustomerInfo?.CustomerMobilePhone }\r\n mode={mode}\r\n />\r\n
    \r\n }\r\n\r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"CustomerNationalCode\"\r\n textboxType=\"nationalCode\"\r\n labelText=\"CustomerNationalCode\"\r\n defaultValue={\r\n defaultCustomerInfo?.CustomerNationalCode\r\n ? defaultCustomerInfo?.CustomerNationalCode\r\n : null\r\n }\r\n mode={\r\n defaultCustomerInfo?.CustomerNationalCode &&\r\n defaultCustomerInfo?.CustomerNationalCode != \" \"\r\n ? \"view\"\r\n : mode\r\n }\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerEconNo\"\r\n labelText=\"CustomerEconNo\"\r\n defaultValue={\r\n defaultCustomerInfo?.CustomerEconNo\r\n ? defaultCustomerInfo?.CustomerEconNo\r\n : null\r\n }\r\n mode={defaultCustomerInfo?.CustomerEconNo ? \"view\" : mode}\r\n />\r\n
    \r\n\r\n {!defaultCustomerInfo?.IsSundry ?\r\n <>\r\n
    \r\n {\r\n setShowAddressBox(\"selectMode\");\r\n return false;\r\n }}\r\n withMap={false}\r\n hideDetail={true}\r\n personContact={convertAddress(\r\n defaultCustomerInfo?.CustomerAddress\r\n )}\r\n mode={\"view\"}\r\n />\r\n
    \r\n
    \r\n {\r\n e.preventDefault();\r\n setShowAddressBox(\"createMode\");\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
    \r\n
    \r\n {\r\n e.preventDefault();\r\n setShowAddressBox(\"selectMode\");\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
    \r\n \r\n : \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Address\"\r\n textboxType=\"text\"\r\n labelText=\"Address\"\r\n defaultValue={ defaultCustomerInfo?.CustomerAddress }\r\n mode={mode }\r\n />\r\n
    \r\n }\r\n\r\n\r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"DeliveryAddress\"\r\n labelText=\"DeliveryAddress\"\r\n defaultValue={\r\n defaultCustomerInfo?.DeliveryAddress\r\n ? defaultCustomerInfo?.DeliveryAddress\r\n : null\r\n }\r\n />\r\n
    \r\n
    \r\n ) : (\r\n \r\n ))}\r\n {/* DatePicker---------------------------------------------------------------------------------- */}\r\n {editType == \"EditInvoiceDate\" && (\r\n
    \r\n {\r\n setDate(IsoTime);\r\n }}\r\n val={dateObject.convert(gregorian).format()}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n />\r\n
    \r\n )}\r\n {/* invoiceNumber--------------------------------------------------------------------------- */}\r\n {editType == \"EditInvoiceNo\" && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"number\"\r\n textboxName=\"editinvoiceno\"\r\n labelText=\"editinvoiceno\"\r\n defaultValue={\r\n rowObject.SalesInvoiceNo ? rowObject.SalesInvoiceNo : null\r\n }\r\n min={0}\r\n />\r\n
    \r\n )}\r\n {/* invoiceStatus--------------------------------------------------------------------------- */}\r\n {editType == \"EditInvoiceStatus\" && (\r\n
    \r\n {\r\n setSalesInvoiceStatusId(e.SalesInvoiceStatus);\r\n }}\r\n required={true}\r\n onChange={(id, obj) => {\r\n setSalesInvoiceStatusId(obj?.Id);\r\n }}\r\n baseUrl={INVENTORYANDSALES_URL}\r\n endPoint={\r\n ENDPOINTSINVENTORYANDSALES.Sales.BaseDefinitionAndSetting\r\n .SalesInvoiceStatus.dictionary\r\n }\r\n label=\"SalesInvoiceStatus\"\r\n name=\"SalesInvoiceStatus\"\r\n value={rowObject?.SalesInvoiceStatusId}\r\n />\r\n
    \r\n )}\r\n {/*--------------------------------------------------------------------------- */}\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getSalesReturnInvoice = (\r\n pageNumber: number,\r\n pageSize: number,\r\n searchString,\r\n orderBy,\r\n filterlist\r\n) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesReturnInvoice.load,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\nexport const getSalesReturnInvoiceById = (Id) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesReturnInvoice.browse,\r\n method: \"get\",\r\n params: {\r\n Id: Id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getTaxList = (Id) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemTax.browse,\r\n method: \"get\",\r\n params: {\r\n id: Id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\nexport const getPriceListDetail = (\r\n Id,\r\n priceListId,\r\n code,\r\n warehouseId,\r\n warehouseDetailId\r\n) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemPriceApis.ItemPrice,\r\n method: \"get\",\r\n params: {\r\n itemId: Id,\r\n itemCode: code,\r\n priceListId: priceListId,\r\n warehouseId: warehouseId,\r\n //warehouseDetailId:warehouseDetailId\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postSalesReturnInvoice = (data, SendSMS = false) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesReturnInvoice.load,\r\n method: \"post\",\r\n data: data,\r\n params: { Confirm: false, SendSMS: SendSMS },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\nexport const getSalesInvoiceOrGenerate = (\r\n SourceData,\r\n SourceId,\r\n ReferenceId,\r\n JobId\r\n) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.getOrGenerate,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: \"get\",\r\n params: {\r\n SourceData,\r\n ReferenceId,\r\n JobId,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postSalesInvoiceWorkFlow = (\r\n data,\r\n referenceId,\r\n increased,\r\n SendSMS = false\r\n) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice?.[\r\n increased ? \"FromSourceWithIncrease\" : \"FromSource\"\r\n ],\r\n method: \"post\",\r\n data: data,\r\n params: {\r\n confirm: false,\r\n referenceId: referenceId,\r\n sendSMS: SendSMS,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const putSalesInvoice = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.load,\r\n method: \"put\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\nexport const putSalesInvoiceworkflow = (data, referenceId) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.workflow,\r\n method: \"put\",\r\n params: { referenceId },\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const CalculateSalesInvoice = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.Calculate,\r\n method: \"post\",\r\n data: data,\r\n params: { Confirm: false },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getInvoiceReturnConstraint = () =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesReturnInvoice.constraint,\r\n method: \"get\",\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\nexport const getDefaultPersonContact = (Id) =>\r\n http({\r\n url: ENDPOINTS.BaseInformation.PersonContact.default,\r\n method: \"get\",\r\n params: {\r\n personId: Id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\nexport const getPersonCustomer = (Id) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.load,\r\n method: \"get\",\r\n params: {\r\n id: Id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\nexport const getSources = (\r\n pageNumber = 1,\r\n pageSize = 10,\r\n searchString = null\r\n) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.load,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\nexport const GenerateFromSource = (SourceId, SourceData) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesReturnInvoice.generate,\r\n method: \"get\",\r\n params: {\r\n SourceData,\r\n SourceId,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\nexport const optionalDiscountHandler = (data) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.optionalDiscount,\r\n method: \"post\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\nexport const salesInvoiceViod = (id) =>\r\n http({\r\n baseURL: INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.void,\r\n method: \"delete\",\r\n params: {\r\n Id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\n\r\n export const getDataForPrint = ( Id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n \r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesReturnInvoice.printData,\r\n method: \"get\",\r\n params:{\r\n id:Id,\r\n useWarmSignature: true \r\n }\r\n \r\n }).then((res) => {\r\n \r\n return res.data\r\n }).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n });","import { Button } from \"components/Button/Button\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { UnitDictionary } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { GUID_EMPTY, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { RoundWithRoundingPlace, trans, uuidv4 } from \"utils/helpers\";\r\nimport { PriceDetails } from \"../components/PriceDetails\";\r\nimport { getTaxList } from \"./api\";\r\nimport { WarehouseDictionaryWithAccess } from \"../SalesInvoice/components/WarehouseDictionary/WarehouseDictionaryWithAccess\";\r\nimport { WarehouseTreeForm } from \"../SalesInvoice/components/WarehouseTreeForm/WarehouseTreeForm\";\r\nimport { SalesInvoiceDetailType } from \"./type\";\r\nimport { ItemsForSell } from \"../components/ItemsForSell/ItemsForSell\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface SalesInvoiceFormProps {\r\n onHide: () => void;\r\n SalesInvoiceDetailCallBack?: (e: any) => void;\r\n selectedObj?: any;\r\n mode: any;\r\n priceList?: any;\r\n lastWarehouse?: any;\r\n invoiceConstraint?: any;\r\n setLastWarehouse: (e: any) => void;\r\n originalQty?: any;\r\n}\r\n\r\nexport const SalesReturnInvoiceDetailForm = ({\r\n lastWarehouse = null,\r\n invoiceConstraint,\r\n setLastWarehouse,\r\n priceList,\r\n selectedObj,\r\n mode,\r\n onHide,\r\n SalesInvoiceDetailCallBack,\r\n originalQty,\r\n}: SalesInvoiceFormProps) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [ExpireDate, setExpireDate] = useState();\r\n const [showTree, setShowTree] = useState();\r\n const [showWarehouseTree, setShowWarehouseTree] = useState();\r\n const [priceListDetail, setPriceListDetail] = useState([]);\r\n const [detailPriceData, setDetailPriceData] = useState({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty1: mode != \"create\" ? selectedObj?.Qty1 : 1,\r\n Qty2: mode != \"create\" ? selectedObj?.Qty2 : 1,\r\n });\r\n const [itemData, setItemData] = useState(null);\r\n const [warehouseData, setWarehouseData] = useState(lastWarehouse);\r\n const [dictionaryName, setDictionaryName] = useState({});\r\n const [save_Exit, setSave_Exit] = useState(false);\r\n const [rate, setRate] = useState(1);\r\n const [numberOfSalesUnit, setNumberOfSalesUnit] = useState();\r\n\r\n const [showInvalidValue, setShowInvalidValue] = useState(false);\r\n const handleSalesInvoiceFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let data: SalesInvoiceDetailType = {\r\n SalesInvoiceDetailId: selectedObj.SalesInvoiceDetailId,\r\n Id: mode != \"create\" ? selectedObj?.Id : uuidv4(),\r\n SourceId: selectedObj?.SourceId,\r\n SourceData: selectedObj?.SourceData,\r\n ItemId: selectedObj?.ItemId,\r\n\r\n SalesUnitId: detailPriceData.SalesUnitId,\r\n Unit1Id:\r\n event.target.Unit1Id?.value == \"\" ? null : event.target.Unit1Id?.value,\r\n Unit2Id:\r\n event.target?.Unit2Id?.value == \"\"\r\n ? null\r\n : event.target?.Unit2Id?.value,\r\n ItemCode: selectedObj?.ItemCode,\r\n WarehouseId: warehouseData.WarehouseId ?? selectedObj?.WarehouseId,\r\n WarehouseDetailId:\r\n warehouseData.WarehouseDetailId ?? selectedObj?.WarehouseDetailId,\r\n Warehouse: warehouseData.WarehouseTitle ?? selectedObj.Warehouse,\r\n WarehouseDetail:\r\n warehouseData?.WarehouseDetail ?? selectedObj?.WarehouseDetail,\r\n Item: selectedObj?.Item,\r\n Qty1: +event.target.Qty1?.value,\r\n Unit1: dictionaryName?.Unit1 ? dictionaryName?.Unit1 : null,\r\n Qty2: +event.target?.Qty2?.value,\r\n Unit2: dictionaryName?.Unit2 ? dictionaryName?.Unit2 : null,\r\n UnitPrice: selectedObj.UnitPrice,\r\n SubTotalPrice:event.target.SubTotalPrice?.value? parseFloat(event.target.SubTotalPrice?.value.replace(/,/g, '')):0,\r\n Unit1Price:numberOfSalesUnit===1?detailPriceData.SalesUnitPrice:parseFloat(event.target.Unit1Price?.value.replace(/,/g, '')),\r\n Unit2Price:numberOfSalesUnit===2?detailPriceData?.SalesUnitPrice:parseFloat(event.target.Unit2Price?.value.replace(/,/g, '')),\r\n DiscountPercent: +event.target.DiscountPercent?.value.replaceAll(\",\", \"\"),\r\n Discount: +event.target.Discount?.value.replaceAll(\",\", \"\"),\r\n Price: detailPriceData.price\r\n ? detailPriceData.price - detailPriceData.Discount\r\n : selectedObj.Price, //تخفیف کم میشود\r\n Tax: selectedObj.Tax,\r\n \r\n TaxRate:selectedObj.TaxRate,\r\n ItemTechnicalCode: selectedObj.ItemTechnicalCode,\r\n Description: event.target.Description?.value,\r\n };\r\n if (!showInvalidValue) {\r\n SalesInvoiceDetailCallBack && SalesInvoiceDetailCallBack(data);\r\n setItemData(null);\r\n setResetForm(true);\r\n setLastWarehouse(warehouseData);\r\n setUserChanges({});\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty1: mode != \"create\" ? selectedObj?.Qty1 : 1,\r\n Qty2: mode != \"create\" ? selectedObj?.Qty2 : 1,\r\n });\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n // Toast(\"msg_saveddatasuccessfully\", \"success\");\r\n Toast(\"msg_saveddatasuccessfully\", MessageType.success);\r\n\r\n\r\n try {\r\n } catch (error) {}\r\n if (save_Exit) {\r\n onHide();\r\n }\r\n } else {\r\n // Toast(trans(\"Msg_DeleteItemFromRowOperationsOfDataGrid\"), \"error\");\r\n Toast(trans(\"Msg_DeleteItemFromRowOperationsOfDataGrid\"), MessageType.error);\r\n\r\n }\r\n };\r\n\r\n const itemCodeHandeler = (obj, bool) => {\r\n if (obj.IsLeaf || bool) {\r\n // setLoading(false)\r\n setItemData(obj);\r\n\r\n setShowTree(false);\r\n // setLoading(true)\r\n } else {\r\n // Toast(trans(\"msg_itemleafisnotselected\"), \"error\");\r\n Toast(trans(\"msg_itemleafisnotselected\"), MessageType.error);\r\n\r\n }\r\n };\r\n const WarehouseIdHandeler = (obj) => {\r\n setWarehouseData(obj);\r\n setShowWarehouseTree(false);\r\n };\r\n\r\n const TaxHandler = async (Id) => {\r\n // setLoading(false)\r\n try {\r\n const res = await getTaxList(Id);\r\n let totalTaxRate = 0;\r\n res.Data.map((item) => {\r\n totalTaxRate += item.TaxRate;\r\n });\r\n\r\n return totalTaxRate;\r\n } catch (error) {}\r\n // setLoading(true)\r\n };\r\n const handleWarehouseSelection = (obj) => {\r\n setWarehouseData(obj);\r\n setShowWarehouseTree(false);\r\n };\r\n\r\n const updateQuantity =async (newQty, priceListArray = [] ,QtyInChange=null) => {\r\n // if ((QtyInChange==null&&priceListDetail[priceListDetail.length - 1].SalesUnitMaxOrderQty)||(QtyInChange==\"Qty\"+numberOfSalesUnit&&priceListDetail[priceListDetail.length - 1].SalesUnitMaxOrderQty) ) \r\n // {\r\n // //when we get priceList, we should detect that whether newQty is more than SalesUnitMaxOrderQty and change Qty to SalesUnitMaxOrderQty\r\n // newQty= priceListDetail[priceListDetail.length-1].SalesUnitMaxOrderQty<=newQty?priceListDetail[priceListDetail.length-1].SalesUnitMaxOrderQty:newQty\r\n // }\r\n // if(((firstQty==null|| !(priceListDetail.length >0)) && priceList?.HasDetailRange && mode==='edit') && ((numberOfSalesUnit==1 && newQty!==selectedObj.Qty1) ||( numberOfSalesUnit==2 && newQty!==selectedObj.Qty2))){\r\n // setSavedNewQty(newQty) //to countinue with newQty and prevent to reset newQty\r\n // // چون که شرط رترن میکنه و از تابع خارج میشه مقدار جدید (نیوکیوتیوای ) ذخیره نمیشه و مقدار قبلیشو میگیره و باید مقدار جدیدشو حفظ کنیم\r\n \r\n // setFirstQty(selectedObj?.ItemId)\r\n // fetchPriceListDetail(itemData?.Id??selectedObj?.ItemId)\r\n // }//in create mode uses itemData and edit,view mode uses selectedObj?.ItemId\r\n // console.log(\"QtyInChange\" ,QtyInChange ,newQty ,!invoiceConstraint.IsAbsoluteUnitConversionRatio,QtyInChange ) \r\n if(!invoiceConstraint.IsAbsoluteUnitConversionRatio!=null &&!invoiceConstraint.IsAbsoluteUnitConversionRatio&&QtyInChange){\r\n let newPriceData:any ={}\r\n if(QtyInChange==\"Qty1\"){\r\n if(numberOfSalesUnit==1){\r\n newPriceData =await calculatePriceData(newQty, priceListArray);\r\n }else{\r\n newPriceData =await calculatePriceData( detailPriceData.Qty2, priceListArray);\r\n }\r\n }else{\r\n if(numberOfSalesUnit==1){\r\n newPriceData =await calculatePriceData(detailPriceData.Qty1, priceListArray);\r\n }else{\r\n newPriceData =await calculatePriceData(newQty, priceListArray);\r\n }\r\n }\r\n let DetailPrice = {\r\n ...newPriceData,\r\n // TaxRate: taxRate || detailPriceData.TaxRate,\r\n Qty1: RoundWithRoundingPlace(QtyInChange ==\"Qty1\"? newQty: detailPriceData.Qty1,priceListDetail[0]?.Qty1RoundingPlace),\r\n Qty2: RoundWithRoundingPlace(QtyInChange ==\"Qty1\"? detailPriceData.Qty2 :newQty,priceListDetail[0]?.Qty2RoundingPlace) ,\r\n }\r\n \r\n if(newPriceData.PriceListUnitId==newPriceData.SalesUnitId ){\r\n //درصورتی ک واحد فروش باواحد لیست قیمت برابر باشد از منطق قبل که قیمت واحد لیست قیمت را دست نزنیم و قیمت واحد فروش را تغییر دهیم نمیتوان استفاده کرد. و باید در این حالت واحد فروش و لیست قیمت را .که یکی هستند ثابت نگه داریم و واحد دیگر را تغییر دهیم \r\n setDetailPriceData({\r\n ...DetailPrice,\r\n UnitPrice: (numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) * newPriceData.SalesUnitPrice/ (numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1),//بسازیمsaleUnitPriceوSubTotalPrice را براساس unitPrice باید \r\n SalesUnitPrice: newPriceData.SalesUnitPrice, \r\n SubTotalPrice: (numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) * newPriceData.SalesUnitPrice,\r\n Price: calculateDiscountedPrice((numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), {SalesUnitPrice: newPriceData.SalesUnitPrice ,DiscountPercent:DetailPrice.DiscountPercent}),\r\n Discount: calculateDiscount((numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), {SalesUnitPrice: newPriceData.SalesUnitPrice ,DiscountPercent:DetailPrice.DiscountPercent}),\r\n });\r\n }else{\r\n setDetailPriceData({\r\n ...DetailPrice,\r\n SalesUnitPrice: (newPriceData.UnitPrice*(numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1))/(numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), \r\n SubTotalPrice: (numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) * (newPriceData.UnitPrice*(numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1))/(numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2),\r\n Price: calculateDiscountedPrice((numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), {SalesUnitPrice: (newPriceData.UnitPrice*(numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1))/(numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) ,DiscountPercent:DetailPrice.DiscountPercent}),\r\n Discount: calculateDiscount((numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2), {SalesUnitPrice: (newPriceData.UnitPrice*(numberOfSalesUnit==1?DetailPrice.Qty2 : DetailPrice.Qty1))/(numberOfSalesUnit==1?DetailPrice.Qty1 : DetailPrice.Qty2) ,DiscountPercent:DetailPrice.DiscountPercent}),\r\n });}\r\n }else{\r\n let newPriceData =await calculatePriceData(newQty, priceListArray);\r\n \r\n\r\n setDetailPriceData({\r\n ...newPriceData,\r\n Qty1:RoundWithRoundingPlace((numberOfSalesUnit === 1?1:priceListDetail[0]?.ConversionRatio)*newQty ,priceListDetail[0]?.Qty1RoundingPlace),\r\n Qty2: RoundWithRoundingPlace(newQty/(numberOfSalesUnit === 2?1:priceListDetail[0]?.ConversionRatio) ,priceListDetail[0]?.Qty2RoundingPlace) ,\r\n });\r\n\r\n }\r\n };\r\n\r\n\r\n\r\n\r\nconst fetchTaxRate = (list) => {\r\n let totalTaxRate = 0;\r\n if(list && !!list.length){\r\n list.map((item) => {\r\n totalTaxRate += item.TaxRate;\r\n });\r\n }\r\n return totalTaxRate;\r\n};\r\n\r\n\r\n const calculatePriceData = (newQty, priceListArray) => {\r\n const currentPriceList = !!priceListArray.length\r\n ? priceListArray\r\n : priceListDetail;\r\n let matchedPriceData = findMatchingPriceData(currentPriceList, newQty);\r\n\r\n matchedPriceData = matchedPriceData\r\n ? matchedPriceData\r\n : {\r\n ...currentPriceList[0],\r\n Unit2Price: 0,\r\n Unit1Price: 0,\r\n SalesUnitPrice: 0,\r\n DiscountPercent: 0,\r\n };\r\n return {\r\n ...matchedPriceData,\r\n UnitPrice:\r\n matchedPriceData?.UnitPrice || matchedPriceData?.UnitPrice == 0\r\n ? matchedPriceData?.UnitPrice\r\n : matchedPriceData?.SalesUnitId === matchedPriceData?.Unit1Id\r\n ? matchedPriceData?.Unit2Price\r\n : matchedPriceData?.Unit1Price,\r\n Price: calculateDiscountedPrice(newQty, matchedPriceData),\r\n //to set TaxRate when pricelist is manual then we sould use detailPriceData.TaxRate because we nedd to save taxrate when unitprice are changing and currentPriceList[0] is 0 because was set at first\r\n TaxRate: currentPriceList[0]?.TaxRate,\r\n\r\n Discount: calculateDiscount(newQty, matchedPriceData),\r\n DiscountPercent: priceList.IsManual\r\n ? +detailPriceData?.DiscountPercent\r\n : +matchedPriceData?.DiscountPercent,\r\n SubTotalPrice: newQty * matchedPriceData?.SalesUnitPrice,\r\n };\r\n };\r\n\r\n const findMatchingPriceData = (priceList, qty) =>\r\n priceList.find(\r\n (e) =>\r\n (e.SalesUnitMaxOrderQty == null || +e.SalesUnitMaxOrderQty >= qty) &&\r\n +e.SalesUnitMinOrderQty <= qty\r\n );\r\n\r\n const calculateDiscountedPrice = (qty, priceData) =>\r\n qty *\r\n ((priceData?.SalesUnitPrice * (100 - priceData?.DiscountPercent)) / 100);\r\n\r\n const calculateDiscount = (qty, priceData) => {\r\n if (priceList.IsManual) {\r\n return (\r\n qty *\r\n ((detailPriceData?.SalesUnitPrice * detailPriceData?.DiscountPercent) /\r\n 100)\r\n );\r\n } else {\r\n return (\r\n qty * ((priceData?.SalesUnitPrice * priceData?.DiscountPercent) / 100)\r\n );\r\n }\r\n };\r\n\r\n\r\n\r\n const initializeFormWithSelectedObject = () => {\r\n setWarehouseData({\r\n WarehouseId: selectedObj.WarehouseId ,\r\n WarehouseDetailId: selectedObj?.WarehouseDetailId ,\r\n Title: selectedObj.WarehouseDetail\r\n ? `${selectedObj.Warehouse},${selectedObj.WarehouseDetail}`\r\n : selectedObj.Warehouse,\r\n });\r\n\r\n setDetailPriceData({...selectedObj , UnitPrice:selectedObj.SalesUnitId === selectedObj.Unit1Id ? selectedObj?.Unit2Price : selectedObj?.Unit1Price,\r\n TaxRate:selectedObj.TaxRate\r\n })\r\n updatePriceListDetails([{...selectedObj,\r\n SalesUnitMaxOrderQty:null,\r\n SalesUnitMinOrderQty:0,\r\n MaxOrderQty:null,\r\n MinOrderQty:0,\r\n SalesUnitPrice:selectedObj.SalesUnitId === selectedObj.Unit1Id?selectedObj.Unit1Price:selectedObj.Unit2Price,\r\n SalesUnitId:selectedObj.SalesUnitId ,\r\n SalesUnitDiscount:selectedObj.Discount,\r\n }] , true,true)\r\n\r\n };\r\n\r\n const updatePriceListDetails = async (\r\n data,\r\n withPriceListDetail = true,\r\n useSelectedObj = false\r\n ) => {\r\n const [firstItem] = useSelectedObj ? [selectedObj] : data;\r\n setNumberOfSalesUnit(\r\n firstItem.SalesUnitId === firstItem.Unit1Id ||\r\n firstItem.SalesUnitId == GUID_EMPTY\r\n ? 1\r\n : 2\r\n );\r\n //if(mode==\"create\") PreInvoiceConstraint.HasTax? setTotalTaxRate(await fetchTaxRate(firstItem.ItemTaxList)):setTotalTaxRate(0)\r\n setRate(firstItem?.ConversionRatio);\r\n\r\n if (withPriceListDetail) setPriceListDetail(data);\r\n setItemData({\r\n ...itemData,\r\n Item: firstItem.Item ? firstItem.Item : firstItem?.ItemDescription,\r\n ItemId: firstItem.ItemId,\r\n Code: firstItem.ItemCode ? firstItem?.ItemCode : firstItem?.Code,\r\n });\r\n };\r\n\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // onHide();\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n onHide();\r\n });\r\n } else {\r\n onHide();\r\n }\r\n }\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n\r\n useEffect(() => {\r\n if (selectedObj) {\r\n initializeFormWithSelectedObject();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (Object.values(userChanges).filter((item) => item != null).length > 0) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n } else {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (detailPriceData.Qty1 == 0 || detailPriceData.Qty2 == 0) {\r\n setShowInvalidValue(true);\r\n }\r\n }, [detailPriceData.Qty1, detailPriceData.Qty2]);\r\n\r\n useEffect(() => {\r\n updateQuantity(detailPriceData?.['Qty' + numberOfSalesUnit],[]);\r\n }, [priceListDetail]);\r\n\r\n return (\r\n
    \r\n {showTree && (\r\n setShowTree(false)}\r\n show={showTree}\r\n >\r\n {\r\n setShowTree(false);\r\n }}\r\n itemCodeHandeler={itemCodeHandeler}\r\n />\r\n \r\n )}\r\n {showWarehouseTree && (\r\n setShowWarehouseTree(false)}\r\n show={showWarehouseTree}\r\n >\r\n {\r\n setShowWarehouseTree(false);\r\n }}\r\n WarehouseIdHandeler={WarehouseIdHandeler}\r\n />\r\n \r\n )}\r\n
    \r\n \r\n {loading ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setWarehouseData({\r\n WarehouseId: e,\r\n WarehouseTitle: obj?.Name?.Description,\r\n WarehouseDetailsCount:\r\n obj?.Name?.WarehouseDetailsCount,\r\n });\r\n if (e !== selectedObj?.WarehouseId) {\r\n setItemData(null);\r\n setUserChanges({});\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty1: 1,\r\n Qty2: 1,\r\n TaxRate: 0,\r\n });\r\n setPriceListDetail([]);\r\n }\r\n }}\r\n required={true}\r\n />\r\n
    \r\n {(warehouseData?.WarehouseDetailsCount > 0 ||\r\n warehouseData?.WarehouseDetailId) && (\r\n
    \r\n {\r\n setWarehouseData((prev) => {\r\n return {\r\n ...prev,\r\n WarehouseDetailId: e,\r\n WarehouseDetail: obj?.Name,\r\n };\r\n });\r\n }}\r\n baseUrl={INVENTORYANDSALES_URL}\r\n endPoint={\r\n ENDPOINTSINVENTORYANDSALES.Inventory\r\n .BaseInformationApi.WarehouseDetail.dictionary\r\n }\r\n value={warehouseData.WarehouseDetailId}\r\n resetForm={resetForm}\r\n />\r\n
    \r\n )}\r\n\r\n \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName={\"itemCode\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"itemCode\"}\r\n mode={\"view\"}\r\n value={detailPriceData?.Code}\r\n defaultValue={detailPriceData.ItemCode}\r\n onChange={(e) => {\r\n if (\r\n e?.target.value === null ||\r\n e?.target.value === \"\"\r\n ) {\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty1: mode != \"create\" ? selectedObj?.Qty1 : 1,\r\n Qty2: mode != \"create\" ? selectedObj?.Qty2 : 1,\r\n });\r\n setItemData({});\r\n setRate(null);\r\n }\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n withChangeDir={true}\r\n textboxName=\"ItemDescription\"\r\n textboxType=\"text\"\r\n labelText=\"ItemReview\"\r\n value={detailPriceData?.Item}\r\n defaultValue={detailPriceData.Item}\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n required={false}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"ItemTechnicalCode\"\r\n textboxType=\"text\"\r\n labelText=\"TechnicalCode\"\r\n value={detailPriceData.ItemTechnicalCode + \"\"}\r\n defaultValue={detailPriceData?.ItemTechnicalCode}\r\n resetForm={resetForm}\r\n mode=\"view\"\r\n required={false}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Qty1\"\r\n textboxType=\"number\"\r\n labelText=\"Qty1\"\r\n readonly={\r\n numberOfSalesUnit != 1\r\n }\r\n // add\r\n value={detailPriceData?.Qty1 ? detailPriceData.Qty1 : 1}\r\n defaultValue={\r\n detailPriceData?.Qty1 ? detailPriceData.Qty1 : 1\r\n }\r\n usePrevDefaultValue={\r\n priceList.HasDetailRange &&\r\n numberOfSalesUnit == 1 &&\r\n priceListDetail[priceListDetail.length - 1]\r\n ?.SalesUnitMaxOrderQty === detailPriceData.Qty1\r\n }\r\n max={originalQty.qty1}\r\n min={0}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={true}\r\n onChange={(e) => {\r\n if (\r\n e.target.value != \"\" &&\r\n numberOfSalesUnit == 1 &&\r\n +e.target.value >= e.target.min &&\r\n (e.target.max\r\n ? +e.target.value <= e.target.max\r\n : true)\r\n )\r\n updateQuantity(+e.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={detailPriceData?.Unit1Id}\r\n label=\"Unit1\"\r\n name=\"Unit1Id\"\r\n required={false}\r\n mode={\"view\"}\r\n resetForm={resetForm}\r\n setUnitDictionary={(e) => {\r\n setDictionaryName((pre) => {\r\n return { ...pre, Unit1: e.Value };\r\n });\r\n }}\r\n />\r\n
    \r\n
    \r\n handleUnitPriceChange(e, \"Qty1\")}\r\n required={false}\r\n />\r\n
    \r\n
    \r\n {numberOfSalesUnit == 1 && (\r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"SubTotalPrice\"\r\n textboxType=\"text\"\r\n labelText=\"مبلغ\"\r\n value={detailPriceData?.SubTotalPrice}\r\n round={false}\r\n defaultValue={detailPriceData?.SubTotalPrice}\r\n resetForm={resetForm}\r\n mode={\r\n priceList.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n {selectedObj?.Unit2Id ? (\r\n <>\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Qty2\"\r\n textboxType=\"number\"\r\n labelText=\"Qty2\"\r\n readonly={\r\n numberOfSalesUnit != 2\r\n }\r\n defaultValue={detailPriceData.Qty2 + \"\"}\r\n usePrevDefaultValue={\r\n priceList.HasDetailRange &&\r\n numberOfSalesUnit == 2 &&\r\n priceListDetail[priceListDetail.length - 1]\r\n ?.SalesUnitMaxOrderQty === detailPriceData.Qty2\r\n }\r\n max={originalQty.qty2}\r\n min={0}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={false}\r\n onChange={(e) => {\r\n if (\r\n e.target.value != \"\" &&\r\n numberOfSalesUnit == 2 &&\r\n +e.target.value >= e.target.min &&\r\n (e.target.max\r\n ? +e.target.value <= e.target.max\r\n : true)\r\n )\r\n updateQuantity(+e.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={detailPriceData?.Unit2Id}\r\n label=\"Unit2\"\r\n name=\"Unit2Id\"\r\n required={false}\r\n mode={\"view\"}\r\n resetForm={resetForm}\r\n setUnitDictionary={(e) =>\r\n setDictionaryName((pre) => {\r\n return { ...pre, Unit2: e.Value };\r\n })\r\n }\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName={\r\n numberOfSalesUnit == 2 ? \"SalesUnitPrice\" : \"Unit2Price\"\r\n }\r\n textboxType=\"text\"\r\n labelText=\"UnitPrice\"\r\n value={\r\n detailPriceData?.[\r\n numberOfSalesUnit == 2\r\n ? \"SalesUnitPrice\"\r\n : \"UnitPrice\"\r\n ]\r\n }\r\n defaultValue={\r\n detailPriceData?.[\r\n numberOfSalesUnit == 2\r\n ? \"SalesUnitPrice\"\r\n : \"UnitPrice\"\r\n ]\r\n }\r\n resetForm={resetForm}\r\n mode={\r\n priceList.IsManual && mode != \"view\" ? \"create\" : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n onChange={(e) => {\r\n if (numberOfSalesUnit == 2) {\r\n // setDetailPriceData({\r\n // ...detailPriceData,\r\n // SalesUnitPrice: +e.target.value.replaceAll(\r\n // \",\",\r\n // \"\"\r\n // ),\r\n // UnitPrice:\r\n // +e.target.value.replaceAll(\",\", \"\") / rate,\r\n // SubTotalPrice:\r\n // +e.target.value.replaceAll(\",\", \"\") *\r\n // detailPriceData.Qty2,\r\n // });\r\n setPriceListDetail((pre) => {\r\n return [\r\n {\r\n ...pre[0],\r\n SalesUnitPrice: +e.target.value.replaceAll(\r\n \",\",\r\n \"\"\r\n ),\r\n UnitPrice:\r\n +e.target.value.replaceAll(\",\", \"\") / rate,\r\n },\r\n ];\r\n });\r\n } else {\r\n // setDetailPriceData({\r\n // ...detailPriceData,\r\n // SalesUnitPrice:\r\n // +e.target.value.replaceAll(\",\", \"\") * rate,\r\n // UnitPrice: +e.target.value.replaceAll(\",\", \"\"),\r\n // SubTotalPrice:\r\n // +e.target.value.replaceAll(\",\", \"\") *\r\n // rate *\r\n // detailPriceData.Qty1,\r\n // });\r\n setPriceListDetail((pre) => {\r\n return [\r\n {\r\n ...pre[0],\r\n SalesUnitPrice:\r\n +e.target.value.replaceAll(\",\", \"\") * rate,\r\n UnitPrice: +e.target.value.replaceAll(\",\", \"\"),\r\n },\r\n ];\r\n });\r\n }\r\n }}\r\n required={false}\r\n />\r\n
    \r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {numberOfSalesUnit == 2 && ( \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"SubTotalPrice\"\r\n textboxType=\"text\"\r\n labelText=\"مبلغ\"\r\n value={detailPriceData?.SubTotalPrice}\r\n round={false}\r\n defaultValue={detailPriceData?.SubTotalPrice}\r\n resetForm={resetForm}\r\n mode={\r\n priceList.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"DiscountPercent\"\r\n textboxType=\"text\"\r\n useTrans={false}\r\n labelText={trans(\"DiscountPercent\")+'%'}\r\n value={\r\n detailPriceData?.DiscountPercent\r\n ? detailPriceData?.DiscountPercent + \"\"\r\n : 0\r\n }\r\n onChange={(e) =>\r\n setDetailPriceData({\r\n ...detailPriceData,\r\n DiscountPercent: +e.target.value,\r\n Discount:\r\n (+e.target.value * detailPriceData?.SubTotalPrice) /\r\n 100,\r\n Price:\r\n detailPriceData?.SubTotalPrice -\r\n (+e.target.value * detailPriceData?.SubTotalPrice) /\r\n 100,\r\n })\r\n }\r\n defaultValue={\r\n detailPriceData?.DiscountPercent\r\n ? detailPriceData.DiscountPercent + \"\"\r\n : detailPriceData.DiscountPercent == 0\r\n ? \"0\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n mode={\r\n priceList.IsManual && mode != \"view\" ? \"create\" : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n max={100}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Discount\"\r\n textboxType=\"text\"\r\n labelText=\"Discount\"\r\n value={\r\n detailPriceData?.Discount\r\n ? detailPriceData?.Discount\r\n : 0\r\n }\r\n defaultValue={\r\n detailPriceData?.Discount\r\n ? detailPriceData?.Discount\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n round={false}\r\n onChange={(e) => {\r\n setDetailPriceData({\r\n ...detailPriceData,\r\n Price:\r\n detailPriceData?.SubTotalPrice -\r\n +e.target.value.replaceAll(\",\", \"\"),\r\n Discount: +e.target.value.replaceAll(\",\", \"\"),\r\n DiscountPercent:\r\n (+e.target.value.replaceAll(\",\", \"\") /\r\n detailPriceData?.SubTotalPrice) *\r\n 100,\r\n });\r\n }}\r\n mode={\r\n priceList.IsManual && mode != \"view\" ? \"create\" : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Price\"\r\n textboxType=\"text\"\r\n labelText=\"totalprice\"\r\n value={detailPriceData.Price + \"\"}\r\n defaultValue={\r\n detailPriceData?.Price ? detailPriceData.Price : null\r\n }\r\n \r\n round={false}\r\n resetForm={resetForm}\r\n mode={\r\n priceList.IsManual && mode != \"view\" ? \"create\" : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
    \r\n
    \r\n {\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n useGroupingPrice\r\n textboxName=\"Tax\"\r\n textboxType=\"text\"\r\n labelText=\"Tax\"\r\n mode={'view'}\r\n defaultValue={\r\n detailPriceData?.TaxRate\r\n ? \r\n (+detailPriceData.TaxRate *\r\n +detailPriceData?.Price) /\r\n 100\r\n + \"\"\r\n : \"0\"\r\n }\r\n value={\r\n detailPriceData?.TaxRate\r\n ? \r\n (+detailPriceData?.TaxRate *\r\n +detailPriceData?.Price) /\r\n 100 + \"\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n \r\n required={false}\r\n onChange={(e) => {\r\n if (priceList.IsManual) {\r\n setDetailPriceData({\r\n ...detailPriceData,\r\n TaxRate:\r\n (+e.target.value.replaceAll(\",\", \"\") * 100) /\r\n detailPriceData.Price,\r\n });\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n }\r\n \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"GrandTotalPrice\"\r\n textboxType=\"text\"\r\n labelText=\"payableamount\"\r\n value={+detailPriceData.Price+(+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100 + \"\" }\r\n defaultValue={+detailPriceData.Price+(+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100 + \"\"}\r\n resetForm={resetForm}\r\n \r\n round={false}\r\n mode={\r\n priceList.IsManual && mode != \"view\" ? \"create\" : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
    \r\n
    \r\n \r\n {detailPriceData?.HasExpireDate && (\r\n
    \r\n {\r\n setExpireDate(isoTime);\r\n }}\r\n val={mode != \"create\" ? selectedObj?.ExpireDate : null} //resetForm ? new Date().toISOString() :\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n resetForm={resetForm}\r\n required={false}\r\n />\r\n
    \r\n )}\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n labelText=\"Remarks\"\r\n minHeight={1}\r\n defaultValue={\r\n mode != \"create\" ? selectedObj?.Description : null\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={false}\r\n maxLength={150}\r\n letterCounter={true}\r\n />\r\n
    \r\n <>\r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n )}\r\n \r\n \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n {(!!priceListDetail.length && (priceList?.HasDetailRange ) ) && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\ninterface SalesReturnInvoiceFormProps {\r\n SalesInvoiceDetailCallBack: (e: any) => void;\r\n salesInvoiceDetails: any;\r\n invoiceConstraint: any;\r\n mode: string;\r\n setShowForm: any;\r\n}\r\n\r\nexport const SalesReturnInvoiceDetailsList = ({\r\n salesInvoiceDetails,\r\n setShowForm,\r\n SalesInvoiceDetailCallBack,\r\n invoiceConstraint,\r\n mode,\r\n}: SalesReturnInvoiceFormProps) => {\r\n const [selectedObj, setSelectedObj] = useState();\r\n const [selectList, setSelectList] = useState([]);\r\n\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj.ItemId);\r\n };\r\n\r\n const selectListCallBack = (list) => {\r\n setSelectList(list[1]);\r\n };\r\n\r\n useEffect(() => {\r\n if (!!selectList?.length) {\r\n SalesInvoiceDetailCallBack(selectList);\r\n }\r\n }, [selectList.length]);\r\n\r\n return (\r\n <>\r\n
    \r\n {salesInvoiceDetails?.length >= 0 ? (\r\n <>\r\n 0\r\n ? salesInvoiceDetails\r\n : [invoiceConstraint?.DetailDTO]\r\n }\r\n scrollHeight={\"67vh\"}\r\n minCellWidth={80}\r\n />\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n {\r\n setShowForm(false);\r\n SalesInvoiceDetailCallBack(selectList);\r\n }}\r\n className=\"col-2 mb-1 btn btn-success btn-sm d-flex align-items-center justify-content-between \"\r\n style={{ width: \"70px\", maxHeight: \"30px\", marginRight: \"20px\" }}\r\n >\r\n {trans(\"select\")}\r\n
    \r\n \r\n \r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { GUID_EMPTY, ICON_TYPE } from \"utils/constants\";\r\nimport { getPageSize } from \"utils/helpers\";\r\nimport { GenerateFromSource, getSources } from \"../api\";\r\n\r\ninterface DictionaryTypeSelectProps {\r\n value?: any;\r\n mode?: string;\r\n resetForm?: boolean;\r\n dataChange?: boolean;\r\n\r\n Change?: (e) => void;\r\n SourceObjCallBack: (e: any, obj?: any) => void;\r\n SalesInvoiceDetailCallBack?: any;\r\n invoiceConstraint?: any;\r\n setShowForm?: any;\r\n}\r\nexport const SalesReturnInvoiceSourceId = ({\r\n value,\r\n mode,\r\n dataChange,\r\n resetForm,\r\n SourceObjCallBack,\r\n Change,\r\n SalesInvoiceDetailCallBack,\r\n invoiceConstraint,\r\n setShowForm,\r\n}: DictionaryTypeSelectProps) => {\r\n const [defaultval, setdefault] = useState(value);\r\n const [sourceType, setSourceType] = useState(null);\r\n const [showSources, setShowSources] = useState();\r\n const [selectedObj, setSelectedObj] = useState();\r\n\r\n\r\n const [selectList, setSelectList] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n const [data, setData] = useState();\r\n const sourceData = [\"WithoutSource\", \"SalesOrders\", \"SalesPreInvoices\"];\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(25);\r\n const [pages, setPages] = useState(0);\r\n const [response, setResponse] = useState();\r\n const [search, setsearch] = useState(null);\r\n const [loadingDetails, setLoadingDetails] = useState(false);\r\n\r\n async function getSourcesAsync(pagNum = pageNum, searchSTR = search) {\r\n setLoading(false);\r\n try {\r\n let pageSizeChangedByUser = getPageSize(\"SalesReturnInvoiceSourceId\");\r\n setPageSize(pageSizeChangedByUser);\r\n const res = await getSources(pagNum, 5, searchSTR);\r\n\r\n setData(res.Data);\r\n setShowSources(true);\r\n\r\n if (\r\n res.Data.Data.length <= 1 &&\r\n (res.Data.Data[0].Id == GUID_EMPTY || res.Data.Data[0].Id == null)\r\n ) {\r\n setLoadingDetails(true);\r\n } else {\r\n setSelectedObj(res.Data.Data[0]);\r\n }\r\n\r\n if (res.Data.Data.length > 0) {\r\n setData(res.Data);\r\n\r\n setPages(\r\n res.Data.TotalRecords > pageSizeChangedByUser\r\n ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser)\r\n : 1\r\n );\r\n }\r\n } catch (error) {}\r\n\r\n setLoading(true);\r\n }\r\n\r\n async function GenerateFromSourceAsync() {\r\n setLoadingDetails(false);\r\n try {\r\n const res = await GenerateFromSource(selectedObj.Id, \"SalesInvoices\");\r\n\r\n SourceObjCallBack(res.Data, \"SalesInvoices\");\r\n setResponse(res.Data.SalesReturnInvoiceDetailDTOList);\r\n } catch (error) {}\r\n setLoadingDetails(true);\r\n }\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n setPageNum(+value);\r\n getSourcesAsync(+value);\r\n } else {\r\n }\r\n };\r\n const handleNextPage = () => {\r\n if (data.TotalRecords && data.TotalRecords / pageSize > pageNum) {\r\n setPageNum((pageNum) => {\r\n return +pageNum + 1;\r\n });\r\n getSourcesAsync(pageNum + 1);\r\n }\r\n };\r\n const handlePrevPage = () => {\r\n if (pageNum > 1) {\r\n setPageNum((pageNum) => {\r\n return +pageNum - 1;\r\n });\r\n getSourcesAsync(pageNum - 1);\r\n }\r\n };\r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getSourcesAsync(1);\r\n getPageSize(\"SalesReturnInvoiceSourceId\", e.currentTarget.value);\r\n };\r\n\r\n useEffect(() => {\r\n setdefault(value);\r\n }, [resetForm]);\r\n\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n GenerateFromSourceAsync();\r\n };\r\n\r\n const selectListCallBack = (list) => {\r\n setSelectList(list[1]);\r\n };\r\n const searchHandler = (str) => {\r\n setPageNum(1);\r\n setSelectedObj(null);\r\n if (str === \"\") {\r\n setsearch(null);\r\n getSourcesAsync(1, null);\r\n } else {\r\n setsearch(str);\r\n getSourcesAsync(1, str);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n <>\r\n {showSources && (\r\n {\r\n setShowSources(false);\r\n }}\r\n mode={mode}\r\n show={showSources}\r\n title={\"Source\"}\r\n >\r\n
    \r\n {loading ? (\r\n
    \r\n \r\n {}}\r\n emptyList={response?.length == 0}\r\n />\r\n {\r\n getSourcesAsync(pages);\r\n setPageNum(pages);\r\n }}\r\n end={() => {\r\n getSourcesAsync(1);\r\n setPageNum(1);\r\n }}\r\n handleGoPage={handleGoPage}\r\n />\r\n
    \r\n\r\n \r\n {loadingDetails ? (\r\n response?.length >= 0 ? (\r\n <>\r\n 0\r\n ? response\r\n : [invoiceConstraint?.DetailDTO]\r\n }\r\n scrollHeight={\"67vh\"}\r\n minCellWidth={80}\r\n />\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n {\r\n SalesInvoiceDetailCallBack(selectList);\r\n setShowSources(false);\r\n }}\r\n />\r\n setShowSources(false)}\r\n />\r\n
    \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n
    \r\n
    \r\n {\r\n setSourceType(e.target.value);\r\n }}\r\n lable={\"Source\"}\r\n selectType={\"select\"}\r\n options={[\"SalesInvoice\"]}\r\n val={[null, \"1\", \"2\"]}\r\n name={\"SourceId\"}\r\n value={value}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n {!selectList.length && mode!=='view' && (\r\n \r\n {\r\n e.preventDefault();\r\n getSourcesAsync();\r\n }}\r\n className=\"checkButton\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
    \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Address } from \"components/Address/Address\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { ContactType, MessageType } from \"types/enum\";\r\nimport { GUID_EMPTY, ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { convertAddress, GetReportWithJsonData, trans } from \"utils/helpers\";\r\nimport { CustomerTabform } from \"../BaseDefinitionAndSetting/Customers/CustomerTabForm\";\r\nimport { CurrencyDictionary } from \"../PriceList/components/CurrencyDictionary/CurrencyDictionary\";\r\nimport { PriceListDictionary } from \"../PriceList/components/PriceListDictionary/PriceListDictionary\";\r\nimport { AddressBox } from \"../SalesInvoice/components/AddressBox/AddressBox\";\r\nimport { CustomerDictionary } from \"../SalesInvoice/components/CustomerDictionary/CustomerDictionary\";\r\nimport { CustomerPhoneDictionary } from \"../SalesInvoice/components/CustomerPhoneDictionary/CustomerPhoneDictionary\";\r\nimport { CustomerPhoneList } from \"../SalesInvoice/components/CustomerPhones/CustomerPhoneList\";\r\nimport { DocsClassification } from \"../SalesInvoice/components/DocsClassification/DocsClassification\";\r\nimport { SalesReturnInvoiceDetailForm } from \"./SalesReturnInvoiceDetailForm\";\r\nimport { SalesReturnInvoiceDetailsList } from \"./SalesReturnInvoiceDetailsList\";\r\nimport {\r\n CalculateSalesInvoice,\r\n getDataForPrint,\r\n getDefaultPersonContact,\r\n getInvoiceReturnConstraint,\r\n getPersonCustomer,\r\n getSalesInvoiceOrGenerate,\r\n getSalesReturnInvoiceById,\r\n postSalesInvoiceWorkFlow,\r\n postSalesReturnInvoice,\r\n putSalesInvoice,\r\n putSalesInvoiceworkflow\r\n} from \"./api\";\r\nimport { SalesReturnInvoiceSourceId } from \"./components/SalesReturnInvoiceSourceId\";\r\nimport { Person } from \"components/Person/Person\";\r\n\r\n\r\ninterface SalesReturnInvoiceForm {\r\n onHide?: () => void;\r\n relod: () => void;\r\n jobId?: any;\r\n processId?: any;\r\n referenceId?: any;\r\n mode: any;\r\n step?: any;\r\n rowObject?: any;\r\n taskId?: any;\r\n SourceData?: any;\r\n sourceDataParam?: any;\r\n sourceId?: any;\r\n buttonPrintObjCallBack\r\n}\r\n\r\nexport const SalesReturnInvoiceForm = ({\r\n mode,\r\n relod,\r\n onHide,\r\n rowObject,\r\n referenceId,\r\n taskId,\r\n jobId,\r\n sourceDataParam,\r\n sourceId,\r\n buttonPrintObjCallBack\r\n}: SalesReturnInvoiceForm) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [haveSource, setHaveSource] = useState(null);\r\n const [response, setResponse] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [listPosition, setListPosition] = useState({});\r\n const [customerInfo, setCustomerInfo] = useState(null);\r\n const [customer, setCustomer] = useState(null);\r\n const [salesReturnInvoiceDate, setReturnSalesInvoiceDate] = useState();\r\n const [cottageDate, setCottageDate] = useState();\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [showForm, setShowForm] = useState(false);\r\n const [showAddressBox, setShowAddressBox] = useState<\r\n \"createMode\" | \"selectMode\" | null\r\n >(null);\r\n const [showCustomerPhoneForm, setShowCustomerPhoneForm] = useState(false);\r\n const [showCustomerform, setShowCustomerform] = useState(false);\r\n const [priceList, setPriceList] = useState(null);\r\n const [salesInvoiceDetails, setSalesInvoiceDetails] = useState([]);\r\n const [dataGridLoading, setDataGridLoading] = useState(true);\r\n const [lastWarehouse, setLastWarehouse] = useState(null);\r\n const [returnConstraint, setReturnConstraint] = useState({});\r\n const [docsClassification, setDocsClassification] = useState(null);\r\n const [totalRows, setTotalRows] = useState({\r\n ItemCount: 0,\r\n TotalTax: 0,\r\n TotalDiscount: 0,\r\n SubTotalPrice: 0,\r\n });\r\n const [payment, setPayment] = useState({\r\n totalprice: 0,\r\n Addition: 0,\r\n Deduction: 0,\r\n Prepayment: 0,\r\n });\r\n const [receive, setReceive] = useState({\r\n GrandTotalPrice: 0,\r\n Prepayment: 0,\r\n DebitPayment: 0,\r\n NonDebitPayment: 0,\r\n });\r\n const [todayDate, settodayDate] = useState(\r\n new Date().toISOString()\r\n );\r\n const [optionalDiscount, setOptionalDiscount] = useState(null);\r\n const [dataChange, setDataChange] = useState(false);\r\n const [detailMode, setDetailMode] = useState<\"create\" | \"edit\" | \"view\">(\r\n mode\r\n );\r\n\r\n const [increased, setIncreased] = useState(false);\r\n const [currencyInfo, setCurrencyInfo] = useState();\r\n const [changeAddress, setChangeAddress] = useState();\r\n const [typePhoneContact, setTypePhonContact] = useState();\r\n const [SendSMS, setSendSMS] = useState(false);\r\n const [selectedInvoiceDetails, setSelectedInvoiceDetails] = useState();\r\n const [showEditForm, setShowEditForm] = useState(false);\r\n const [salesReturnInvoice,setSalesReturnInvoice]=useState()\r\n const [person, setPerson] = useState(null);\r\n const [originalQty, setOriginalQty] = useState({\r\n qty1: 0,\r\n qty2: 0,\r\n });\r\n const invoiceRef = useRef(null);\r\n\r\n const lang = localStorage.getItem(\"lang\");\r\n\r\n function setSalesInvoiceDetailHandler(data) {\r\n setSalesInvoiceDetails(data);\r\n }\r\n\r\n function selectedInvoiceDetailHandler(data) {\r\n setDataGridLoading(false);\r\n setSelectedInvoiceDetails(data);\r\n let newItemCount = 0;\r\n let newItemTax = 0;\r\n let newItemTotalDiscount = 0;\r\n let newItemTotalPrice = 0;\r\n\r\n data.map((item) => {\r\n newItemCount += +item.Qty1;\r\n newItemTax += +item.Tax;\r\n newItemTotalDiscount += +item.Discount;\r\n newItemTotalPrice += +item.SubTotalPrice;\r\n });\r\n setTotalRows({\r\n ItemCount: newItemCount,\r\n TotalTax: newItemTax,\r\n TotalDiscount: newItemTotalDiscount,\r\n SubTotalPrice: newItemTotalPrice,\r\n });\r\n setDataGridLoading(true);\r\n }\r\n\r\n const handleSalesInvoiceDetailFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let SubTotalPrice: any = 0;\r\n let newsalesInvoiceDetail = JSON.parse(JSON.stringify(selectedInvoiceDetails))?.map((e: any) => {\r\n SubTotalPrice = +e.TotalPrice + SubTotalPrice;\r\n delete e.Id;\r\n return e;\r\n });\r\n\r\n let data: any = {\r\n RecipientPersonDescription: person?.Name??null,\r\n RecipientPersonId:person?.Id??null,\r\n SalesInvoiceId: response?.SalesInvoiceId,\r\n CurrencyId: event.target.CurrencyId.value,\r\n SalesReturnInvoiceNo: event.target.SalesReturnInvoiceNo?.value,\r\n SalesReturnInvoiceDate: salesReturnInvoiceDate,\r\n DocsClassificationId: event.target.docsClassificationId.value==GUID_EMPTY?null:event.target.docsClassificationId.value,\r\n PriceListId: event.target.PriceList?.value,\r\n PaymentMethodId: event.target.PaymentMethodId?.value,\r\n CustomerId: customerInfo.Id,\r\n CustomerName: customer.Name,\r\n CustomerPhone: customer?.CustomerPhone?.Name.split(\":\")[1],\r\n CustomerMobilePhone: customer?.CustomerMobilePhone?.Name.split(\":\")[1],\r\n CustomerAddress: event.target.CustomerAddress?.value,\r\n CustomerEconNo: event.target.CustomerEconNo?.value,\r\n CustomerNationalCode: event.target.CustomerNationalCode?.value,\r\n SalesManagerPositionId: listPosition?.SalesManagerPosition?.Id,\r\n SalesManagerPositionDescription: listPosition?.SalesManagerPosition?.Name,\r\n SalesManagerPositionDescriptionEN:\r\n event.target.SalesManagerPositionDescriptionEN?.value,\r\n VisitorPositionId: listPosition?.VisitorPosition?.Id,\r\n VisitorPositionDescription: listPosition?.VisitorPosition?.Name,\r\n VisitorPositionDescriptionEN:\r\n event.target.VisitorPositionDescriptionEN?.value,\r\n DistributorPositionId: listPosition?.DistributorPosition?.Id,\r\n DistributorPositionDescription: listPosition?.DistributorPosition?.Name,\r\n DistributorPositionDescriptionEN:\r\n event.target.DistributorPositionDescriptionEN?.value,\r\n CottageDate: cottageDate,\r\n DeliveryAddress: event.target.DeliveryAddress?.value,\r\n CottageNo: event.target.CottageNo?.value,\r\n PaymentRemark: event.target.PaymentRemark?.value,\r\n IsCurrancyInvoice: event.target.IsCurrancyInvoice?.checked,\r\n // CurrencyPrepayment: +event.target.CurrencyPrepayment?.value,\r\n Description: event.target.Description?.value,\r\n SourceId: response?.SourceId,\r\n SourceData: response?.SourceData,\r\n IsCurrency: !currencyInfo?.IsDefault,\r\n CurrencyRate: currencyInfo?.CurrencyRate,\r\n Addition: +event.target.Addition?.value.replaceAll(\",\", \"\"),\r\n Deduction: +event.target.Deduction?.value.replaceAll(\",\", \"\"),\r\n TotalDiscount: +totalRows?.TotalDiscount,\r\n TotalPrice: +payment.totalprice,\r\n TotalTax: +totalRows?.TotalTax,\r\n GrandTotalPrice:\r\n +totalRows?.SubTotalPrice -\r\n +totalRows?.TotalDiscount +\r\n +totalRows?.TotalTax +\r\n +event.target.Addition?.value.replaceAll(\",\", \"\") -\r\n +event.target.Deduction?.value.replaceAll(\",\", \"\"),\r\n DebitPayment: +event.target.DebitPayment?.value.replaceAll(\",\", \"\"),\r\n NonDebitPayment: +event.target.NonDebitPayment?.value.replaceAll(\",\", \"\"),\r\n CreditPayment: +event.target.CreditPayment?.value.replaceAll(\",\", \"\"),\r\n Prepayment: +event.target.Prepayment?.value.replaceAll(\",\", \"\"),\r\n SubTotalPrice: +totalRows?.SubTotalPrice,\r\n SalesReturnInvoiceDetailDTOList: newsalesInvoiceDetail,\r\n };\r\n try {\r\n if (mode == \"create\") {\r\n const res = await postSalesReturnInvoice(data, SendSMS);\r\n if (res.MessageType == MessageType.success) {\r\n onHide && onHide();\r\n relod();\r\n }\r\n } else {\r\n if (jobId) {\r\n if (response.Id == GUID_EMPTY) {\r\n const res = await postSalesInvoiceWorkFlow(\r\n {\r\n ...data,\r\n JobId: jobId,\r\n JobNo: response.JobNo,\r\n TAS_UID: taskId,\r\n Id: response.Id,\r\n },\r\n referenceId,\r\n increased,\r\n SendSMS\r\n );\r\n // getInvoiceAsync();\r\n } else {\r\n const res = await putSalesInvoiceworkflow(\r\n {\r\n ...data,\r\n JobId: jobId,\r\n JobNo: response.JobNo,\r\n TAS_UID: taskId,\r\n Id: response?.Id,\r\n },\r\n referenceId\r\n );\r\n }\r\n } else {\r\n const res = await putSalesInvoice({\r\n ...data,\r\n JobId: response.JobId,\r\n JobNo: response.JobNo,\r\n TAS_UID: taskId,\r\n Id: response?.Id,\r\n });\r\n }\r\n // await putSalesInvoiceDetail(data)\r\n }\r\n } catch (error) {}\r\n document.body.classList.remove(\"loading-indicator-\" + lang);\r\n };\r\n\r\n const sendDataForCalcAsync = async (newPriceList) => {\r\n let SubTotalPrice: any = 0;\r\n let newsalesInvoiceDetail = JSON.parse(\r\n JSON.stringify(salesInvoiceDetails)\r\n ).map((e: any) => {\r\n SubTotalPrice = +e.TotalPrice + SubTotalPrice;\r\n return e;\r\n });\r\n let data: any = {\r\n RecipientPersonDescription: person?.Name??null,\r\n RecipientPersonId: person?.Id??null,\r\n CurrencyId: invoiceRef.current.CurrencyId?.value,\r\n SalesInvoiceNo: invoiceRef.current.salesInvoiceNo?.value,\r\n SalesInvoiceDate: salesReturnInvoiceDate,\r\n DocsClassificationId:invoiceRef.current.docsClassificationId?.value!=GUID_EMPTY ? invoiceRef.current.docsClassificationId?.value: null,\r\n PriceListId: newPriceList ?newPriceList.Id :invoiceRef.current?.PriceList?.value,\r\n PaymentMethodId: invoiceRef.current.PaymentMethodId?.value,\r\n CustomerId: customerInfo.Id,\r\n CustomerName: customer.Name,\r\n CustomerPhone: customer?.CustomerPhone?.Name.split(\":\")[1],\r\n CustomerMobilePhone: customer?.CustomerMobilePhone?.Name.split(\":\")[1],\r\n CustomerAddress: invoiceRef.current.CustomerAddress?.value,\r\n CustomerEconNo: invoiceRef.current.CustomerEconNo?.value,\r\n CustomerNationalCode: invoiceRef.current.CustomerNationalCode?.value,\r\n SalesManagerPositionId: listPosition?.SalesManagerPosition?.Id,\r\n SalesManagerPositionDescription: listPosition?.SalesManagerPosition?.Name,\r\n SalesManagerPositionDescriptionEN:\r\n invoiceRef.current.SalesManagerPositionDescriptionEN?.value,\r\n VisitorPositionId: listPosition?.VisitorPosition?.Id,\r\n VisitorPositionDescription: listPosition?.VisitorPosition?.Name,\r\n VisitorPositionDescriptionEN:\r\n invoiceRef.current.VisitorPositionDescriptionEN?.value,\r\n DistributorPositionId: listPosition?.DistributorPosition?.Id,\r\n DistributorPositionDescription: listPosition?.DistributorPosition?.Name,\r\n DistributorPositionDescriptionEN:\r\n invoiceRef.current.DistributorPositionDescriptionEN?.value,\r\n CottageDate: cottageDate,\r\n DeliveryAddress: invoiceRef.current.DeliveryAddress?.value,\r\n CottageNo: invoiceRef.current.CottageNo?.value,\r\n PaymentRemark: invoiceRef.current.PaymentRemark?.value,\r\n IsCurrancyInvoice: invoiceRef.current.IsCurrancyInvoice?.checked,\r\n // CurrencyPrepayment: +invoiceRef.current.CurrencyPrepayment?.value,\r\n Description: invoiceRef.current.Description?.value,\r\n IsCurrency: false,\r\n CurrencyRate: 0,\r\n Addition: +invoiceRef.current.Addition?.value.replaceAll(\",\", \"\"),\r\n Deduction: +invoiceRef.current.Deduction?.value.replaceAll(\",\", \"\"),\r\n TotalDiscount: +totalRows?.TotalDiscount,\r\n TotalPrice: +payment.totalprice,\r\n TotalTax: +totalRows?.TotalTax,\r\n GrandTotalPrice:\r\n +totalRows?.SubTotalPrice -\r\n +totalRows?.TotalDiscount +\r\n +totalRows?.TotalTax +\r\n +invoiceRef.current.Addition?.value.replaceAll(\",\", \"\") -\r\n +invoiceRef.current.Deduction?.value.replaceAll(\",\", \"\"),\r\n DebitPayment: +invoiceRef.current.DebitPayment?.value.replaceAll(\",\", \"\"),\r\n NonDebitPayment: +invoiceRef.current.NonDebitPayment?.value.replaceAll(\r\n \",\",\r\n \"\"\r\n ),\r\n CreditPayment: +invoiceRef.current.CreditPayment?.value.replaceAll(\r\n \",\",\r\n \"\"\r\n ),\r\n Prepayment: +invoiceRef.current.Prepayment?.value.replaceAll(\",\", \"\"),\r\n SubTotalPrice: +totalRows?.SubTotalPrice,\r\n SalesReturnInvoiceDetailDTOList: newsalesInvoiceDetail,\r\n };\r\n try {\r\n if (mode == \"create\") {\r\n const res = await CalculateSalesInvoice(data);\r\n setResponse(res.Data);\r\n\r\n setSalesInvoiceDetails(res.Data?.SalesReturnInvoiceDetailDTOList);\r\n let newItemCount = 0;\r\n\r\n setPayment({\r\n totalprice: res.Data?.totalprice,\r\n Addition: res.Data?.Addition,\r\n Deduction: res.Data?.Deduction,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: res.Data?.GrandTotalPrice,\r\n Prepayment: res.Data?.Prepayment,\r\n DebitPayment: res.Data?.DebitPayment,\r\n NonDebitPayment: res.Data?.NonDebitPayment,\r\n });\r\n }\r\n setPriceList(newPriceList);\r\n } catch (error) {\r\n setPriceList(priceList);\r\n }\r\n };\r\n\r\n async function getDefaultPersonContactAsync(personId) {\r\n if (personId != customerInfo?.Id || customerInfo == null)\r\n try {\r\n const res2 = await getPersonCustomer(personId);\r\n const res = await getDefaultPersonContact(\r\n res2?.Data?.Customer?.CustomerPersonId\r\n );\r\n setCustomerInfo({ ...res.Data, ...res2?.Data?.Customer });\r\n setListPosition({\r\n DistributorPosition: {\r\n Id: res2?.Data?.Customer.DistributorPositionId,\r\n Name: res2?.Data?.Customer.DistributorPositionDescription,\r\n },\r\n VisitorPosition: {\r\n Id: res2?.Data?.Customer.VisitorPositionId,\r\n Name: res2?.Data?.Customer.VisitorPositionDescription,\r\n },\r\n });\r\n } catch (error) {}\r\n }\r\n async function getReturnInvoiceConstraintAsync(withLoading = false) {\r\n if (withLoading) setLoading(false);\r\n try {\r\n const res = await getInvoiceReturnConstraint();\r\n setReturnConstraint(res.Data);\r\n setSalesReturnInvoice(res.Data?.DocNo);\r\n\r\n } catch (error) {}\r\n if (withLoading) setLoading(true);\r\n }\r\n\r\n async function getInvoiceAsync() {\r\n setLoading(false);\r\n await getReturnInvoiceConstraintAsync();\r\n try {\r\n if (jobId) {\r\n const res = await getSalesInvoiceOrGenerate(\r\n sourceDataParam,\r\n sourceId,\r\n referenceId,\r\n jobId\r\n );\r\n setResponse(res.Data);\r\n let count = 0;\r\n res.Data.SalesReturnInvoiceDetailDTOList.map((item) => {\r\n count += +item?.Qty1;\r\n });\r\n setHaveSource(res.Data.sourceDataParam);\r\n // setSalesInvoiceDetails(res.Data.SalesInvoiceDetailDTOList);\r\n\r\n setPayment({\r\n totalprice: res.Data?.totalprice,\r\n Addition: res.Data?.Addition,\r\n Deduction: res.Data?.Deduction,\r\n Prepayment: res.Data?.Prepayment,\r\n });\r\n\r\n setReceive({\r\n GrandTotalPrice: res.Data?.GrandTotalPrice,\r\n Prepayment: res.Data?.Prepayment,\r\n DebitPayment: res.Data?.DebitPayment,\r\n NonDebitPayment: res.Data?.NonDebitPayment,\r\n });\r\n \r\n if(res.Data.Id && res.Data.Id!=GUID_EMPTY){\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack({\r\n Id: res.Data.Id ,\r\n reportDomain:\"OfficeAutomation\",\r\n objectTag:\"SalesReturnInvoiceForm\",\r\n apiFunction:getDataForPrint\r\n })\r\n }\r\n\r\n } else {\r\n const res = await getSalesReturnInvoiceById(rowObject.Id);\r\n setResponse(res.Data);\r\n\r\n let count = 0;\r\n res.Data.SalesReturnInvoiceDetailDTOList.map((item) => {\r\n count += +item?.Qty1;\r\n });\r\n setSelectedInvoiceDetails(res.Data.SalesReturnInvoiceDetailDTOList);\r\n // setPayment({\r\n // totalprice: response?.TotalPrice,\r\n // Addition: response?.Addition,\r\n // Deduction: response?.Deduction,\r\n // Prepayment: response?.Prepayment,\r\n // });\r\n // setReceive({\r\n // GrandTotalPrice: response?.GrandTotalPrice,\r\n // Prepayment: response?.Prepayment,\r\n // DebitPayment: response?.DebitPayment,\r\n // NonDebitPayment: response?.NonDebitPayment,\r\n // });\r\n if(res.Data.Id && res.Data.Id!=GUID_EMPTY){\r\n buttonPrintObjCallBack&& buttonPrintObjCallBack({\r\n Id: res.Data.Id ,\r\n reportDomain:\"OfficeAutomation\",\r\n objectTag:\"SalesReturnInvoiceForm\",\r\n apiFunction:getDataForPrint\r\n })\r\n }\r\n }\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n\r\n \r\n\r\n const handlesetPriceListDetail = (newObj) => {\r\n console.log(newObj);\r\n setSelectedObj(newObj);\r\n setTotalRows({\r\n ItemCount: totalRows.ItemCount + (+newObj.Qty1 - +selectedObj.Qty1),\r\n TotalTax: totalRows.TotalTax + (+newObj.Tax - +selectedObj.Tax),\r\n TotalDiscount:\r\n totalRows.TotalDiscount + (+newObj.Discount - +selectedObj.Discount),\r\n SubTotalPrice:\r\n totalRows.SubTotalPrice +\r\n (+newObj.SubTotalPrice - +selectedObj.SubTotalPrice),\r\n });\r\n\r\n let newItemes = selectedInvoiceDetails?.map((item: any) => {\r\n if (item.ItemId == newObj.ItemId) {\r\n return newObj;\r\n } else {\r\n return item;\r\n }\r\n });\r\n selectedInvoiceDetailHandler(newItemes);\r\n\r\n setDataChange(true);\r\n };\r\n\r\n const selectedObjCallback = (obj) => {\r\n const findItem = salesInvoiceDetails.find((item) => item.Id == obj.Id);\r\n if (findItem) {\r\n setOriginalQty({\r\n qty1: findItem.Qty1,\r\n qty2: findItem.Qty2,\r\n });\r\n } else {\r\n setOriginalQty({\r\n qty1: obj.Qty1,\r\n qty2: obj.Qty2,\r\n });\r\n }\r\n obj?.IsAbsoluteUnitConversionRatio\r\n ? setSelectedObj(obj)\r\n : setSelectedObj({\r\n ...obj,\r\n IsAbsoluteUnitConversionRatio:\r\n findItem?.IsAbsoluteUnitConversionRatio,\r\n });\r\n };\r\n\r\n const getDataForPrintAsync =async (id) => {\r\n if(response?.Id){\r\n if(id.includes(\"Design\")){\r\n const res = await getDataForPrint(response?.Id)\r\n GetReportWithJsonData( id.replace(\"Design\" , \"\"), res.Data ,2)\r\n }else if(id.includes(\"Default\")){\r\n const res = await getDataForPrint(response?.Id)\r\n GetReportWithJsonData( id.replace(\"Default\" , \"\"), res.Data ,2)\r\n }else{\r\n const res = await getDataForPrint(response?.Id)\r\n/* const dataStr = JSON.stringify(res.Data);\r\n const blob = new Blob([dataStr], { type: 'application/json' });\r\n const url = URL.createObjectURL(blob); */\r\n GetReportWithJsonData( id, res.Data ,1 )\r\n }\r\n }\r\n try {\r\n } catch (error) {\r\n \r\n }\r\n};\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // onHide && onHide();\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n onHide && onHide();\r\n });\r\n } else {\r\n onHide && onHide();\r\n }\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n\r\n const handleDeleteRow = async (id: string = selectedObj.Id) => {\r\n let newPriceListDetail: any = [...selectedInvoiceDetails];\r\n let obj = newPriceListDetail.filter((e) => e.Id == id)[0];\r\n\r\n setSelectedInvoiceDetails(newPriceListDetail.filter((e) => e.Id != id));\r\n };\r\n\r\n const handleSourceData = (obj, type) => {\r\n setResponse(obj);\r\n setHaveSource(type);\r\n setPriceList({ ...priceList, Id: obj.PriceListId });\r\n setSalesInvoiceDetailHandler(obj.SalesReturnInvoiceDetailDTOList);\r\n\r\n setCustomer({ Id: obj?.CustomerId, Name: obj?.CustomerName });\r\n };\r\n useEffect(() => {\r\n if (Object.values(userChanges).filter((item) => item != null)?.length > 0) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n } else {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (mode != \"create\") {\r\n getInvoiceAsync();\r\n } else {\r\n getReturnInvoiceConstraintAsync(true);\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n useEffect(() => {\r\n setPayment((prev) => {\r\n return {\r\n ...prev,\r\n totalprice: +totalRows?.SubTotalPrice - +totalRows?.TotalDiscount,\r\n };\r\n });\r\n }, [totalRows]);\r\n useEffect(() => {\r\n setReceive((prev) => {\r\n return {\r\n ...prev,\r\n GrandTotalPrice:\r\n +payment.totalprice +\r\n +payment?.Addition +\r\n +totalRows?.TotalTax -\r\n +payment?.Deduction,\r\n };\r\n });\r\n }, [payment]);\r\n\r\n\r\n useEffect(() => {\r\n if (response) {\r\n setPayment({\r\n totalprice: response?.TotalPrice,\r\n Addition: response?.Addition,\r\n Deduction: response?.Deduction,\r\n Prepayment: response?.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: response?.GrandTotalPrice,\r\n Prepayment: response?.Prepayment,\r\n DebitPayment: response?.DebitPayment,\r\n NonDebitPayment: response?.NonDebitPayment,\r\n });\r\n }\r\n }, [response]);\r\n\r\n // useEffect(() => {\r\n // if (!!selectedInvoiceDetails?.length) {\r\n // let newItemCount = 0;\r\n // let newItemTax = 0;\r\n // let newItemTotalDiscount = 0;\r\n // let newItemTotalPrice = 0;\r\n // selectedInvoiceDetails.map((item) => {\r\n\r\n // newItemCount += +item.Qty1;\r\n // newItemTax += +item.Tax;\r\n // newItemTotalDiscount += +item.Discount;\r\n // newItemTotalPrice += +item.SubTotalPrice;\r\n // });\r\n // setTotalRows((prev)=>{return{\r\n // ItemCount: newItemCount,\r\n // TotalTax: newItemTax,\r\n // TotalDiscount: newItemTotalDiscount,\r\n // SubTotalPrice: newItemTotalPrice,\r\n // }});\r\n // }\r\n // }, [selectedInvoiceDetails?.length,selectedInvoiceDetails]);\r\n\r\n return (\r\n
    \r\n {showForm ? (\r\n {\r\n setShowForm(false);\r\n }}\r\n show={showForm}\r\n title={\"SalesReturnInvoiceDetailForm\"}\r\n >\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n {showEditForm ? (\r\n {\r\n setShowEditForm(false);\r\n }}\r\n show={showEditForm}\r\n title={\"SalesReturnInvoiceDetailForm\"}\r\n >\r\n {\r\n setShowEditForm(false);\r\n }}\r\n priceList={priceList}\r\n invoiceConstraint={returnConstraint}\r\n selectedObj={selectedObj}\r\n SalesInvoiceDetailCallBack={(e) => handlesetPriceListDetail(e)}\r\n originalQty={originalQty}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {showCustomerPhoneForm ? (\r\n {\r\n setShowCustomerPhoneForm(false);\r\n }}\r\n show={showCustomerPhoneForm}\r\n title={\"CustomerPhoneForm\"}\r\n >\r\n {\r\n setShowCustomerPhoneForm(false);\r\n }}\r\n type={typePhoneContact}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {showAddressBox ? (\r\n {\r\n setShowAddressBox(null);\r\n }}\r\n mode={mode}\r\n show={showAddressBox && true}\r\n title={\"Address\"}\r\n >\r\n {\r\n setShowAddressBox(null);\r\n }}\r\n status={showAddressBox}\r\n AddressHandeler={(e) => {\r\n setChangeAddress(JSON.stringify(e).toLowerCase());\r\n setCustomerInfo({\r\n ...customerInfo,\r\n Address: JSON.stringify(e).toLowerCase(),\r\n });\r\n setShowAddressBox(null);\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {showCustomerform ? (\r\n {\r\n setShowCustomerform(false);\r\n }}\r\n show={showCustomerform}\r\n title={\"Customer\"}\r\n >\r\n {\r\n setShowCustomerform(false);\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {loading ? (\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n handleSourceData(e, type);\r\n }}\r\n value={haveSource ? haveSource : \"undefined\"}\r\n resetForm={resetForm}\r\n dataChange={dataChange}\r\n mode={!!selectedInvoiceDetails?.length ? \"view\" : mode}\r\n />\r\n
    \r\n\r\n {!returnConstraint?.IsClassificationIgnored && (\r\n
    \r\n {\r\n setDocsClassification(e);\r\n }}\r\n />\r\n
    \r\n )}\r\n {(!returnConstraint.IsClassificationIgnored ||\r\n docsClassification) && (\r\n
    \r\n {/* {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n onChange={(e) => {\r\n setSalesInvoiceNo(e);\r\n }}\r\n resetForm={resetForm}\r\n disable={!invoiceConstraint?.IsDocNoEditable}\r\n mode={mode}\r\n /> */}\r\n {\r\n setSalesReturnInvoice(e.target.value);\r\n }}\r\n mode={mode}\r\n />\r\n
    \r\n )}\r\n
    \r\n {\r\n setReturnSalesInvoiceDate(isoTime);\r\n }}\r\n val={\r\n response?.SalesInvoiceDate\r\n ? response?.SalesInvoiceDate\r\n : returnConstraint?.IsNewDocCurrentDate\r\n ? todayDate\r\n : null\r\n } //resetForm ? new Date().toISOString() :\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setCustomer(e);\r\n getDefaultPersonContactAsync(e.Id);\r\n }}\r\n mode={\"view\"}\r\n />\r\n
    \r\n\r\n \r\n {\r\n e.preventDefault();\r\n setShowCustomerform(true);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n dataChange ? sendDataForCalcAsync(e) : setPriceList(e);\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n setCurrencyInfo(obj);\r\n }}\r\n name=\"CurrencyId\"\r\n label=\"Currency\"\r\n resetForm={resetForm}\r\n value={\r\n priceList?.CurrencyId\r\n ? priceList?.CurrencyId\r\n : response?.CurrencyId\r\n }\r\n mode={priceList?.CurrencyId ? \"view\" : mode}\r\n required={true}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerEconNo\"\r\n labelText=\"CustomerEconNo\"\r\n defaultValue={\r\n response?.CustomerEconNo\r\n ? response?.CustomerEconNo\r\n : customerInfo?.EconNo\r\n }\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setCustomer({ ...customer, CustomerPhone: e });\r\n }}\r\n />\r\n
    \r\n \r\n {\r\n e.preventDefault();\r\n setShowCustomerPhoneForm(true);\r\n setTypePhonContact(ContactType.Phone);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
    \r\n
    \r\n {\r\n setCustomer({ ...customer, CustomerMobilePhone: e });\r\n }}\r\n />\r\n
    \r\n\r\n \r\n {\r\n e.preventDefault();\r\n setShowCustomerPhoneForm(true);\r\n setTypePhonContact(ContactType.Mobile);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"CustomerNationalCode\"\r\n textboxType=\"nationalCode\"\r\n labelText=\"CustomerNationalCode\"\r\n defaultValue={\r\n response?.CustomerNationalCode\r\n ? response?.CustomerNationalCode\r\n : customerInfo?.NationalId\r\n }\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={\r\n response?.RecipientPersonId\r\n ? response?.RecipientPersonId\r\n : customerInfo?.RecipientPersonId\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n WithSearch={false}\r\n setPerson={setPerson}\r\n returnObj={true}\r\n name={\"RecipientPersonDescription\"}\r\n label=\"RecipientPerson\"\r\n valueString={response?.RecipientPersonDescription}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setShowAddressBox(\"selectMode\");\r\n return false;\r\n }}\r\n withMap={false}\r\n hideDetail={true}\r\n personContact={\r\n changeAddress\r\n ? convertAddress(changeAddress)\r\n : response?.CustomerAddress\r\n ? response?.CustomerAddress\r\n : convertAddress(customerInfo?.Address)\r\n }\r\n mode={\"view\"}\r\n />\r\n
    \r\n
    \r\n {\r\n e.preventDefault();\r\n setShowAddressBox(\"createMode\");\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
    \r\n
    \r\n {\r\n e.preventDefault();\r\n setShowAddressBox(\"selectMode\");\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setListPosition({ ...listPosition, VisitorPosition: e });\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n setListPosition({\r\n ...listPosition,\r\n DistributorPosition: e,\r\n });\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setListPosition({\r\n ...listPosition,\r\n SalesManagerPosition: e,\r\n });\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Description\"\r\n textboxType=\"textarea\"\r\n labelText=\"Description\"\r\n minHeight={1}\r\n defaultValue={response?.Description}\r\n \r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n maxLength={900}\r\n letterCounter={true}\r\n />\r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {mode !== \"view\" && (\r\n
    \r\n {\r\n if (!!salesInvoiceDetails.length) {\r\n setShowForm(true);\r\n setDetailMode(\"create\");\r\n } else {\r\n // Toast(\"Msg_SelectInvoice\", \"error\");\r\n Toast(\"Msg_SelectInvoice\", MessageType.error);\r\n\r\n }\r\n }}\r\n className=\"col-2 mb-1 btn btn-success btn-sm d-flex align-items-center justify-content-between \"\r\n style={{\r\n width: \"70px\",\r\n maxHeight: \"30px\",\r\n minWidth:'70px',\r\n marginRight: \"20px\",\r\n }}\r\n >\r\n \r\n {trans(\"add\")}\r\n \r\n \r\n
    \r\n {\r\n if (selectedObj && selectedObj?.Id) {\r\n setShowEditForm(true);\r\n } else {\r\n // Toast(\"Msg_SelectItem\", \"error\");\r\n Toast(\"Msg_SelectItem\", MessageType.error);\r\n\r\n }\r\n }}\r\n className=\"col-2 mb-1 btn btn-primary btn-sm d-flex align-items-center justify-content-between \"\r\n style={{\r\n width: \"80px\",\r\n maxHeight: \"30px\",\r\n marginRight: \"20px\",\r\n zIndex:'2'\r\n }}\r\n >\r\n \r\n {trans(\"edit\")}\r\n \r\n \r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {dataGridLoading ? (\r\n <>\r\n {selectedInvoiceDetails?.length >= 0 ? (\r\n <>\r\n {\r\n // setSelectedObj(e);\r\n // setShowForm(true);\r\n // }}\r\n useChangingNumberPlacement={true}\r\n parentName={\"SalesReturnInvoiceDetailList\"}\r\n startIndex={18}\r\n theadData={Object.keys(returnConstraint?.DetailDTO)}\r\n tbodyData={\r\n selectedInvoiceDetails?.length > 0\r\n ? selectedInvoiceDetails\r\n : [returnConstraint?.DetailDTO]\r\n }\r\n scrollHeight={\"67vh\"}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedObjCallback}\r\n rowSelected={selectedObj}\r\n handleDelete={\r\n mode != \"view\"\r\n ? (e) => {\r\n // Toast(\r\n // trans(\"msg_deleteconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // () => handleDeleteRow(e)\r\n // );\r\n Toast(\r\n trans(\"msg_deleteconfirm\"),\r\n MessageType.confirmDelete,\r\n () => handleDeleteRow(e)\r\n );\r\n }\r\n : undefined\r\n }\r\n />\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setPayment({\r\n ...payment,\r\n Addition: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setPayment({\r\n ...payment,\r\n Deduction: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setReceive({\r\n ...receive,\r\n Prepayment: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n useGroupingPrice={true}\r\n />\r\n
    \r\n
    \r\n {\r\n setReceive({\r\n ...receive,\r\n DebitPayment: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n useGroupingPrice={true}\r\n />\r\n
    \r\n
    \r\n {\r\n setReceive({\r\n ...receive,\r\n NonDebitPayment: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n useGroupingPrice={true}\r\n />\r\n
    \r\n
    \r\n {\r\n setReceive({\r\n ...receive,\r\n CreditPayment: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n useGroupingPrice={true}\r\n />\r\n
    \r\n\r\n
    \r\n {mode != \"view\" && (\r\n
    \r\n \r\n {!jobId && (\r\n {\r\n cancel();\r\n }}\r\n />\r\n )}\r\n
    \r\n ) }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { MEETINGMANAGEMENT_URL } from \"utils/constants\";\r\nimport { ENDPOINTSMEETINGMANAGEMENT } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getMeeting = (async (pageNum, pageSize ,searchString ,orderBy,filterlist) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.list,\r\n method: 'get',\r\n params:{\r\n\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString:orderBy,\r\n SearchString : searchString ,\r\n FilterString:filterlist,\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const deleteMeeting = (id) => http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.Meeting.browse,\r\n method: 'delete',\r\n params:{\r\n id:id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n","import { MEETINGMANAGEMENT_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSMEETINGMANAGEMENT } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getMeetingClassificationList = (async (searchString, orderBy,pageNum ,pageSize) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.BaseDefinitionAndSettingsApi.MeetingClassification.list,\r\n method: 'get',\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy,\r\n PageSize: pageSize,\r\n PageNumber: pageNum,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const getMeetingClassification = (async (id) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.BaseDefinitionAndSettingsApi.MeetingClassification.load,\r\n method: 'get',\r\n params: {Id : id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const deleteMeetingClassification = (id) => http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.BaseDefinitionAndSettingsApi.MeetingClassification.browse,\r\n method: 'delete',\r\n params: {Id : id}\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const postMeetingClassification = (data) => http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.BaseDefinitionAndSettingsApi.MeetingClassification.browse,\r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const putMeetingClassification = (data) => http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.BaseDefinitionAndSettingsApi.MeetingClassification.browse,\r\n method: 'put',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n","import { MEETINGMANAGEMENT_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSMEETINGMANAGEMENT } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getMeetingPlaceList = (async (searchString, orderBy,pageNum ,pageSize) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.BaseDefinitionAndSettingsApi.MeetingPlace.list,\r\n method: 'get',\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy,\r\n PageSize: pageSize,\r\n PageNumber: pageNum,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const getMeetingPlace = (async (id) => await http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.BaseDefinitionAndSettingsApi.MeetingPlace.load,\r\n method: 'get',\r\n params: {Id : id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const deleteMeetingPlace = (id) => http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.BaseDefinitionAndSettingsApi.MeetingPlace.browse,\r\n method: 'delete',\r\n params: {Id : id}\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const postMeetingPlace = (data) => http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.BaseDefinitionAndSettingsApi.MeetingPlace.browse,\r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const putMeetingPlace = (data) => http({\r\n baseURL:MEETINGMANAGEMENT_URL,\r\n url: ENDPOINTSMEETINGMANAGEMENT.MeetingApis.BaseDefinitionAndSettingsApi.MeetingPlace.browse,\r\n method: 'put',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n","\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getMyRequests = (pageNumber: number, pageSize: number, searchString, orderBy, filterlist, processId,jobStatus ) => http({\r\n url: ENDPOINTS.cartable.myRequests,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n processId:processId,\r\n jobStatus:jobStatus\r\n \r\n \r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\n\r\nexport const getViewForm = (processId: any, selectedPosition?: any) => http({\r\n url: ENDPOINTS.bpmnApi.process.getViewForm,\r\n method: 'get',\r\n params: {\r\n processId: processId,\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })","import DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document'\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\"\r\nimport { Button } from \"components/Button/Button\"\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\"\r\nimport Datepicker from \"components/DatePicker/DatePicker\"\r\nimport { FileInput } from \"components/FileInput/FileInput\"\r\nimport { Loading } from \"components/Loading/loading\"\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\"\r\nimport { TabBar } from \"components/Tabbar/Tabbar\"\r\nimport { Textbox } from \"components/Textbox/Textbox\"\r\nimport { Toast } from \"components/ToastShow/ToastAlert\"\r\nimport { Attachment } from \"pages/OfficeAutomation/Cartable/components/ActionList/components/Attachment/Attachment\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { ENDPOINTS } from \"utils/endpoints\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { getBoardId, sendBulletinBoard } from \"../../api\"\r\nimport { BoardAccess } from \"./BoardAccess\"\r\nimport './style.scss'\r\nimport { EnumerationTypeSelect } from 'components/EnumerationTypeSelect/EnumerationTypeSelect'\r\nimport { MessageType } from 'types/enum'\r\nimport { Message } from 'components/Message/Message'\r\n\r\ninterface props {\r\n mode: any\r\n showForm: (e:boolean) => void\r\n getDataForShow: (data: any) => void\r\n selectedObj: any\r\n}\r\n\r\nexport const BoardForm = ({ mode, showForm, getDataForShow, selectedObj }: props) => {\r\n\r\n const [fromDate, setFromDate] = useState(null);\r\n const [untilDate, setUntilDate] = useState(null);\r\n const [editor, setEditor] = useState();\r\n const [editorData, setEditorData] = useState();\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [showAccess, setShowAccess] = useState(false);\r\n const [boardData, setBoardData] = useState(false);\r\n const [converted, setConverted] = useState(false);\r\n const [boardType, setBoardType] = useState();\r\n const [selectedImage, setSelectedImage] = useState();\r\n const [loading , setLoading] = useState(mode==\"create\");\r\n const [userChanges, setUserChanges] = useState({});\r\n const [curentTab, setCurentTab] = useState(\"BoardForm\");\r\n const [flag,setFlag] = useState(false);\r\n const [canSendSMS,setCanSendSMS] = useState(false);\r\n const [SendSMS,setSendSMS] = useState(false);\r\n\r\n\r\n const myform = useRef(null);\r\n const changeHandlePic = (e: any) => {\r\n if (e.target.files && e.target.files.length > 0) { \r\n // setSelectedImage([...e.target.files]);\r\n setSelectedImage({url: URL.createObjectURL([...e.target.files][0] ) ,file:[...e.target.files]}); \r\n }\r\n };\r\n\r\n async function sendDataAsync(data, method) {\r\n try {\r\n const res = await sendBulletinBoard(data, method ,SendSMS);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(true)\r\n } catch (err: any) {\r\n\r\n }\r\n }\r\n\r\n async function getDataAsync(id) {\r\n setLoading(false)\r\n try {\r\n const res = await getBoardId(id);\r\n setResponse(res.Data)\r\n // setSelectedImage(res.Data.BulletinBoard.Thumbnail == undefined ? null : res.BulletinBoard.Thumbnail)\r\n // setSelectedImage({url: URL.createObjectURL(res.BulletinBoard.Thumbnail)??null ,file:res.BulletinBoard.Thumbnail??null}); \r\n setEditorData(res.Data.BulletinBoard.Description)\r\n } catch (err: any) {\r\n \r\n }\r\n setLoading(true)\r\n\r\n }\r\n\r\n \r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(false)\r\n });\r\n }else{\r\n showForm(false) \r\n };\r\n\r\n\r\n }\r\n\r\n function accessDatahandler(data) {\r\n if (mode == \"create\") {\r\n let formdata: any = {}\r\n formdata.BulletinBoard = boardData\r\n formdata.BulletinBoardAccesses = data;\r\n let _objData = new FormData\r\n _objData.append(\"BulletinBoardDTO\", JSON.stringify(formdata));\r\n if (selectedImage) {\r\n const ListSelected:any = [...selectedImage?.file]\r\n ListSelected.map(item=>{\r\n _objData.append(\"files\", item);\r\n \r\n })\r\n }\r\n sendDataAsync(_objData, \"post\")\r\n } else {\r\n let BulletinBoard = {\r\n BulletinBoard: boardData,\r\n BulletinBoardAccesses: data\r\n }\r\n sendDataAsync(BulletinBoard, \"put\")\r\n }\r\n }\r\n\r\n const validationDates = () =>{\r\n if(fromDate && untilDate && fromDate?.toString().slice(0,10) > untilDate?.toString().slice(0,10)){\r\n setFlag(true)\r\n }else{\r\n setFlag(false)\r\n }\r\n }\r\n\r\n const handleSubmit = (event) => {\r\n event.preventDefault()\r\n if(flag){\r\n // Toast(trans(\"InvalidEndDate\"),\"error\");\r\n Toast(trans(\"InvalidEndDate\"),MessageType.error);\r\n\r\n }else{\r\n setConverted(true)\r\n\r\n if (mode == \"create\") {\r\n const data = {\r\n Title: event.target.title.value,\r\n Description: editorData,\r\n NotificationType: +event.target.NotificationType.value,\r\n StartDate: fromDate,\r\n EndDate: untilDate,\r\n IsPublic: event.target.IsPublic.checked,\r\n Link: event.target.linkAddress.value,\r\n ActivityStatus: 1\r\n }\r\n if (event.target.IsPublic.checked) {\r\n let formdata: any = {}\r\n formdata.BulletinBoard = data\r\n let _objData: any = new FormData\r\n _objData.append(\"BulletinBoardDTO\", JSON.stringify(formdata));\r\n if (selectedImage) {\r\n const ListSelected:any = [...selectedImage?.file]\r\n ListSelected.map(item=>{\r\n _objData.append(\"files\", item);\r\n \r\n })\r\n }\r\n\r\n sendDataAsync(_objData, \"post\")\r\n } else {\r\n setBoardData(data)\r\n setShowAccess(true)\r\n }\r\n } else {\r\n\r\n const data = {\r\n Id: selectedObj.Id,\r\n Title: event.target.title.value,\r\n Description: editorData,\r\n NotificationType: +event.target.NotificationType.value,\r\n StartDate: fromDate,\r\n Link: event.target.linkAddress.value,\r\n EndDate: untilDate,\r\n IsPublic: event.target.IsPublic.checked,\r\n ActivityStatus: 1\r\n }\r\n\r\n if (event.target.IsPublic.checked) {\r\n let BulletinBoard = {\r\n BulletinBoard: data\r\n }\r\n sendDataAsync(BulletinBoard, \"put\")\r\n } else {\r\n setBoardData(data)\r\n setShowAccess(true)\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n }\r\n \r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getDataAsync(selectedObj.Id)\r\n }\r\n }, [selectedObj]);\r\n\r\n useEffect(() => {\r\n const data = {\r\n Title: myform?.current?.title?.value,\r\n Description: editorData,\r\n BulletinBoardType: +myform?.current?.NotificationType?.value,\r\n StartDate: fromDate,\r\n EndDate: untilDate,\r\n Link: myform?.current?.linkAddress?.value,\r\n ActivityStatus: 1,\r\n selectedImage: selectedImage?.file,\r\n IsPublic: false\r\n }\r\n getDataForShow(data)\r\n }, [curentTab]);\r\n\r\n useEffect(()=>{\r\n validationDates()\r\n const date = new Date();\r\n const year = date.getFullYear();\r\n const month = date.getMonth() + 1; \r\n const day = date.getDate();\r\n const formattedDate = `${year}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day : day}`;\r\n if(fromDate?.slice(0,10)==formattedDate && date.toISOString().slice(11,16)==fromDate.slice(11,16)){\r\n setCanSendSMS(true)\r\n }else{\r\n setCanSendSMS(false)\r\n setSendSMS(false)\r\n }\r\n },[untilDate,fromDate])\r\n\r\n let content = [\r\n { title: \"BoardForm\", body: ( <>\r\n
    \r\n {showAccess &&\r\n setShowAccess(false)} show={showAccess}>\r\n \r\n \r\n }\r\n {loading ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n labelText={boardType == \"2\" ? \"footer\" : \"title\"}\r\n textboxName=\"title\"\r\n maxLength={50}\r\n resetForm={resetForm}\r\n defaultValue={response?.BulletinBoard?.Title}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}} \r\n onChange={setBoardType}\r\n required={true} \r\n mode={mode} \r\n label='NotificationType' \r\n name=\"NotificationType\" \r\n value={response?.BulletinBoard?.NotificationType}\r\n enumTypeSelect=\"NotificationType\"\r\n />\r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n mode={mode}\r\n resetForm={resetForm}\r\n lable=\"FromDate\"\r\n withTime={true}\r\n setIsoTime={(isoTime: string) => { setFromDate(isoTime) }}\r\n val={response?.BulletinBoard?.StartDate ? response?.BulletinBoard?.StartDate : null}\r\n errorFlag={flag}\r\n />\r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n lable=\"untildate\"\r\n withTime={true}\r\n setIsoTime={(isoTime: string) => { setUntilDate(isoTime) }}\r\n val={response?.BulletinBoard?.EndDate ? response?.BulletinBoard?.EndDate : null}\r\n mode={mode}\r\n resetForm={resetForm}\r\n errorFlag={flag}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {trans('text')}\r\n {\r\n editor.ui.getEditableElement().parentElement.insertBefore(\r\n editor.ui.view.toolbar.element,\r\n editor.ui.getEditableElement()\r\n );\r\n setEditor(editor)\r\n }}\r\n onError={(error, { willEditorRestart }) => {\r\n if (willEditorRestart) {\r\n editor.ui.view.toolbar.element.remove();\r\n }\r\n }}\r\n onOk={(editor) => {\r\n editor.insertHtml(editorData)\r\n }}\r\n onChange={(event, editor) => {\r\n const data = editor.getData();\r\n setEditorData(data)\r\n }}\r\n editor={DecoupledEditor}\r\n config={{\r\n removePlugins: [\"EasyImage\", \"ImageUpload\", \"MediaEmbed\"]\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n labelText=\"linkAddress\"\r\n textboxName=\"linkAddress\"\r\n defaultValue={response?.BulletinBoard?.Link}\r\n mode={mode}\r\n resetForm={resetForm}\r\n />\r\n
    \r\n
    \r\n {(boardType != \"2\"&&mode==\"create\") &&\r\n
    \r\n\r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={response?.BulletinBoard?.IsPublic}\r\n defaultValue={response?.BulletinBoard?.IsPublic}\r\n labelText={\"IsPublic\"}\r\n inputName={\"IsPublic\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n readOnly={userChanges.NotifyBySMS}\r\n />\r\n
    \r\n {\r\n (mode==\"create\"&&canSendSMS)&&\r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={SendSMS}\r\n defaultValue={SendSMS}\r\n readOnly={!canSendSMS || userChanges.IsPublic }\r\n checked={SendSMS}\r\n onchange={setSendSMS}\r\n labelText={\"NotifyBySMS\"}\r\n inputName={\"NotifyBySMS\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
    \r\n }\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {mode !== \"view\" ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n : \r\n }\r\n
    \r\n\r\n ) },\r\n mode !=\"create\"&&{title: \"picture\", body: ({cancel()}} inTab={curentTab==\"picture\"?\"Attachment\":curentTab} mood={mode} endpoint={ENDPOINTS.bulletinBoard.attachment} ownerId={selectedObj.Id} />) },\r\n \r\n ];\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n return (\r\n <>\r\n \r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getAllEvents = (async (pageNum, pageSize ,searchString ,orderBy,filterlist) => await http({\r\n url: ENDPOINTS.calendar.event.browse,\r\n method: 'get',\r\n params:{\r\n\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString:orderBy,\r\n SearchString : searchString ,\r\n FilterString:filterlist,\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const deleteCalendarEvent = (id) => http({\r\n url: ENDPOINTS.calendar.event.browse,\r\n method: 'delete',\r\n params:{\r\n id:id\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\nexport const getEvent = (async (id) => await http({\r\n url: ENDPOINTS.calendar.event.load,\r\n method: 'get',\r\n params: {Id : id},\r\n headers: {\"Accept-Language\": \"en\"},\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n}) \r\n\r\n)\r\n\r\n\r\nexport const sendEventsApi = (data , method) => http({\r\n url: ENDPOINTS.calendar.event.browse,\r\n method: method,\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\n","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getEvent, sendEventsApi } from \"./api\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\ninterface CalendarEventsFormPropsType {\r\n selectedObj;\r\n showForm: (e:boolean) => void;\r\n mode;\r\n relod: () => void,\r\n\r\n}\r\nexport const CalendarEventsForm = ({ \r\n selectedObj, \r\n showForm,\r\n mode,\r\n relod\r\n\r\n}: CalendarEventsFormPropsType) => {\r\n \r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [fromDate, setFromDate] = useState(null);\r\n const [untilDate, setUntilDate] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [flag,setFlag] = useState(false);\r\n\r\n async function sendNodeAsync(data ,method) {\r\n try{\r\n const res = await sendEventsApi(data , method);\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n relod()\r\n showForm(false)\r\n }catch(err:any){\r\n\r\n }\r\n }\r\n \r\n async function getEventAsync() {\r\n setLoading(false)\r\n try{\r\n if(selectedObj.Id){\r\n const res = await getEvent(selectedObj.Id);\r\n /* setUntilDate(res.Data.ValidityUntilDate)\r\n setFromDate(res.Data.ValidityFromDate) */\r\n setResponse(res.Data) \r\n }else{\r\n setResponse(null) \r\n } \r\n }catch(err:any){\r\n \r\n }\r\n setLoading(true)\r\n }\r\n\r\n const validationDates = () =>{\r\n if(fromDate && untilDate && fromDate?.toString().slice(0,10) > untilDate?.toString().slice(0,10)){\r\n setFlag(true)\r\n }else{\r\n setFlag(false)\r\n }\r\n }\r\n \r\n const handlePersonContactFormSubmit = (event) => {\r\n event.preventDefault();\r\n if(flag){\r\n // Toast(trans(\"InvalidEndDate\"),\"error\")\r\n Toast(trans(\"InvalidEndDate\"),MessageType.error)\r\n\r\n }else{\r\n if(mode==\"edit\"){\r\n let data={\r\n \"Id\": selectedObj.Id, \r\n \"Description\": event.target.Description.value,\r\n \"CalendarType\": +event.target.CalendarType.value,\r\n \"CalendarEventMonth\": +event.target.CalendarEventMonth.value,\r\n \"CalendarEventDay\": +event.target.CalendarEventDay.value,\r\n \"ValidityFromDate\": fromDate,\r\n \"ValidityUntilDate\": untilDate,\r\n \"IsHoliday\": event.target.checkbox.checked,\r\n \r\n }\r\n \r\n sendNodeAsync(data,\"put\")\r\n }else{\r\n let data={ \r\n \"Description\": event.target.Description.value,\r\n \"CalendarType\": +event.target.CalendarType.value,\r\n \"CalendarEventMonth\": +event.target.CalendarEventMonth.value,\r\n \"CalendarEventDay\": +event.target.CalendarEventDay.value,\r\n \"ValidityFromDate\": fromDate,\r\n \"ValidityUntilDate\": untilDate,\r\n \"IsHoliday\": event.target.checkbox.checked,\r\n \r\n }\r\n sendNodeAsync(data,\"post\")\r\n\r\n }\r\n\r\n }\r\n\r\n }\r\n \r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(false)\r\n });\r\n }else{\r\n showForm(false) \r\n }\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n \r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n \r\n useEffect(() => {\r\n if(selectedObj && mode != \"create\"){\r\n getEventAsync()\r\n }else{ \r\n setLoading(true)\r\n }\r\n \r\n }, [selectedObj,mode]);\r\n\r\n useEffect(()=>{\r\n validationDates()\r\n },[untilDate,fromDate])\r\n\r\n return (\r\n
    \r\n
    \r\n {loading ?\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n mode={mode}\r\n name=\"CalendarType\"\r\n label=\"CalendarType\"\r\n enumTypeSelect='CalendarType'\r\n value={response?.CalendarType}\r\n />\r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"number\"\r\n textboxName=\"CalendarEventMonth\"\r\n labelText=\"CalendarEventMonth\"\r\n min={1}\r\n max={12}\r\n defaultValue={response?.CalendarEventMonth}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n\r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"number\"\r\n textboxName=\"CalendarEventDay\"\r\n labelText=\"CalendarEventDay\"\r\n min={1}\r\n max={31}\r\n defaultValue={response?.CalendarEventDay}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={response?.IsHoliday}\r\n defaultValue={response?.IsHoliday}\r\n labelText={\"IsHoliday\"}\r\n inputName={\"checkbox\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
    \r\n
    \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n lable=\"ValidityFromDate\"\r\n setIsoTime={(isoTime: string) => { setFromDate(isoTime) }}\r\n val={ response?.ValidityFromDate ? response?.ValidityFromDate : null} //resetForm ? new Date().toISOString() :\r\n errorFlag={flag} \r\n /> \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n lable=\"ValidityUntilDate\"\r\n setIsoTime={(isoTime: string) => { setUntilDate(isoTime) }}\r\n val={ response?.ValidityUntilDate ? response?.ValidityUntilDate : null} //resetForm ? new Date().toISOString() : \r\n errorFlag={flag}\r\n /> \r\n
    \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n maxLength={900}\r\n defaultValue={response?.Description}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n { mode !=\"view\" ?\r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n } \r\n
    \r\n
    \r\n :\r\n \r\n }\r\n
    \r\n
    \r\n );\r\n}","import { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getAllOrganizationEvents = (async (pageNum, pageSize ,searchString ,orderBy ,filterlist) => await http({\r\n url: ENDPOINTS.calendar.OrganizationEvents.browse,\r\n method: 'get',\r\n params:{\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString:orderBy,\r\n SearchString : searchString ,\r\n FilterString:filterlist,\r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getCountOrganizationEvents = (async () => await http({\r\n url: ENDPOINTS.calendar.OrganizationEvents.Count,\r\n method: 'get'\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const deleteOrganizationEvent = (async (id) => await http({\r\n url: ENDPOINTS.calendar.OrganizationEvents.browse,\r\n method: 'delete',\r\n params:{\r\n id:id\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const getOrganizationEventsn = (async (id) => await http({\r\n url: ENDPOINTS.calendar.OrganizationEvents.load,\r\n method: 'get',\r\n params: {Id : id},\r\n headers: {\r\n \"Accept-Language\": \"en\",\r\n \r\n \r\n },\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const callHolidaysApi= (weekends,transferSolarOrganizationEvents,transferLunarOrganizationEvents,transferGregorianOrganizationEvents,transferCalendarEvents) => http({\r\n url: ENDPOINTS.calendar.OrganizationEvents.Transfer,\r\n method: 'post',\r\n data:{\r\n weekends:weekends,\r\n transferSolarHolidays:transferSolarOrganizationEvents,\r\n transferLunarHolidays:transferLunarOrganizationEvents,\r\n transferGregorianHolidays:transferGregorianOrganizationEvents,\r\n transferCalendarEvents:transferCalendarEvents,\r\n year:1402\r\n\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\nexport const postOrganizationEvents = (data) => http({\r\n url: ENDPOINTS.calendar.OrganizationEvents.browse,\r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const putOrganizationEvents = (data) => http({\r\n url: ENDPOINTS.calendar.OrganizationEvents.browse,\r\n method: 'put',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const sendOrganizationEventsApi = (data , method) => http({\r\n url: ENDPOINTS.calendar.OrganizationEvents.browse,\r\n method: method,\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\n","import { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { weekdays_en, weekdays_fa } from \"utils/constants\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { callHolidaysApi } from \"../api\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface SelectDayPropsType {\r\n showForm: (e:boolean)=>void;\r\n endpoit;\r\n relod: () => void,\r\n\r\n}\r\nexport const SelectDay = ({ \r\n showForm, \r\n endpoit, \r\n relod\r\n\r\n}: SelectDayPropsType) => {\r\n \r\n const [resetForm, setResetForm] = useState(false);\r\n const [flag, setflag] = useState(false);\r\n const [allWeekend, setAllWeekend] = useState(true);\r\n const [transferEvents, setTransferEvents] = useState(false);\r\n const [transferHolidaysList, setTransferHolidaysList] = useState([\"LunarHolidays\" , \"GregorianHolidays\"]);\r\n const [userChanges, setUserChanges] = useState({}); \r\n\r\n\r\n const lang = localStorage.getItem('lang');\r\n const weekdays = lang == \"en\" ? weekdays_en : weekdays_fa;\r\n const [selectDay, setSelectDay] = useState({[lang == \"en\" ? \"Sunday\" :\"Friday\"]:true });\r\n\r\n async function sendNodeAsync(data ,endpot) {\r\n try{\r\n\r\n let DayList:any =[]\r\n Object.values(selectDay).forEach((item , index)=>{\r\n if(item){\r\n\r\n DayList.push(Object.keys(selectDay)[index])\r\n }\r\n })\r\n const res = await callHolidaysApi( DayList ,transferHolidaysList.includes(\"SolarHolidays\"),transferHolidaysList.includes(\"LunarHolidays\"),transferHolidaysList.includes(\"GregorianHolidays\"), transferEvents);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n relod()\r\n showForm(false)\r\n }catch(err:any){\r\n }\r\n }\r\n async function addDay(data) {\r\n let obj =JSON.parse(JSON.stringify(selectDay)) \r\n if(obj[data] ){\r\n obj[data] = false\r\n }else{\r\n obj[data] = true\r\n }\r\n if(Object.values(obj).includes(true)){\r\n setAllWeekend(true)\r\n }else{\r\n setAllWeekend(false)\r\n }\r\n setSelectDay(obj)\r\n }\r\n \r\n function addTransferHolidays(data) {\r\n let newList = transferHolidaysList\r\n if(transferHolidaysList.includes(data)){ \r\n newList.splice(newList.indexOf(data), 1)\r\n }else{\r\n newList.push(data)\r\n }\r\n setTransferHolidaysList(newList)\r\n setflag(flag)\r\n }\r\n\r\n\r\n\r\n const handlePersonContactFormSubmit = (event) => {\r\n event.preventDefault();\r\n let DayList:any =[]\r\n Object.values(selectDay).forEach((item , index)=>{\r\n if(item){\r\n DayList.push(Object.keys(selectDay)[index])\r\n }\r\n })\r\n sendNodeAsync(DayList,endpoit)\r\n }\r\n\r\n \r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(false)\r\n });\r\n }else{\r\n showForm(false) \r\n }\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n \r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n \r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n \r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n \r\n \r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}} onchange={(e)=>{e.target.checked ? setTransferHolidaysList([\"SolarHolidays\" ,\"LunarHolidays\" , \"GregorianHolidays\" ]):setTransferHolidaysList([]) }} checked={transferHolidaysList.length==3} defaultChecked={false} defaultValue={\"day\"} labelText={ trans(\"TransferHolidays\")} inputName={\"weekdays\"} type={\"checkbox\"} />\r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}} onclick={()=>{addTransferHolidays(\"SolarHolidays\")}} width={\"10%\"} defaultChecked={transferHolidaysList.includes(\"SolarHolidays\")} defaultValue={\"day\"} labelText={ trans(\"Solar\")} inputName={\"weekdays\"} type={\"checkbox\"} />\r\n {setUserChanges({...userChanges , ...e})}} onclick={()=>{addTransferHolidays(\"LunarHolidays\")}} width={\"10%\"} defaultChecked={transferHolidaysList.includes(\"LunarHolidays\")} defaultValue={\"day\"} labelText={ trans(\"Lunar\")} inputName={\"weekdays\"} type={\"checkbox\"} />\r\n {setUserChanges({...userChanges , ...e})}} onclick={()=>{addTransferHolidays(\"GregorianHolidays\")}} width={\"10%\"} defaultChecked={transferHolidaysList.includes(\"GregorianHolidays\")} defaultValue={\"day\"} labelText={ trans(\"Gregorian\")} inputName={\"weekdays\"} type={\"checkbox\"} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}} checked={allWeekend} readOnly={true} defaultChecked={false} defaultValue={\"day\"} labelText={ trans(\"transfernationalweekendholidays\")} inputName={\"weekdays\"} type={\"checkbox\"} />\r\n
    \r\n
    \r\n {\r\n weekdays.map(item=>(\r\n {setUserChanges({...userChanges , ...e})}} width={\"13%\"} onclick={()=>{addDay(item)}} checked={selectDay[item]} defaultChecked={selectDay[item]} defaultValue={\"day\"} labelText={ trans(item)} inputName={\"weekdays\"} type={\"checkbox\"} />\r\n ))\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}} onclick={()=>{setTransferEvents(true)}} defaultChecked={false} defaultValue={\"day\"} labelText={ trans(\"transferorganizationalevents\")} inputName={\"weekdays\"} type={\"checkbox\"} />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}","import { Button } from \"components/Button/Button\";\r\nimport DatePicker from \"components/DatePicker/DatePicker\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getOrganizationEventsn, sendOrganizationEventsApi } from \"./api\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface OrganizationEventsFormPropsType {\r\n selectedObj?;\r\n showForm: (e:boolean) => void;\r\n mode?;\r\n relod: () => void,\r\n\r\n}\r\nexport const OrganizationEventsForm = ({ \r\n selectedObj, \r\n showForm,\r\n mode,\r\n relod\r\n\r\n}: OrganizationEventsFormPropsType) => {\r\n \r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [fromDate, setFromDate] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({}); \r\n\r\n async function sendNodeAsync(data ,method) {\r\n try{\r\n await sendOrganizationEventsApi(data , method);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n relod()\r\n showForm(false)\r\n }catch(err:any){\r\n\r\n }\r\n }\r\n\r\n async function getOrganizationEvents() {\r\n setLoading(false)\r\n try{\r\n if(selectedObj.Id){\r\n const res = await getOrganizationEventsn(selectedObj.Id);\r\n setResponse(res.Data) \r\n }else{\r\n setResponse(null) \r\n } \r\n }catch(err:any){\r\n\r\n }\r\n setLoading(true)\r\n\r\n }\r\n\r\n const handlePersonContactFormSubmit = (event) => {\r\n event.preventDefault();\r\n if(mode==\"edit\"){\r\n let data={\r\n \"Id\": selectedObj.Id, \r\n \"EventTime\": fromDate,\r\n \"CalendarEventType\": +event.target.CalendarEventType.value,\r\n \"Description\": event.target.Description.value, \r\n }\r\n sendNodeAsync(data,\"put\")\r\n }else{\r\n let data={ \r\n \"EventTime\": fromDate,\r\n \"CalendarEventType\": +event.target.CalendarEventType.value,\r\n \"Description\": event.target.Description.value, \r\n }\r\n sendNodeAsync(data,\"post\")\r\n }\r\n }\r\n\r\n \r\n\r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(false)\r\n });\r\n }else{\r\n showForm(false) \r\n }\r\n }\r\n\r\n \r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\nuseEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n}, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n \r\n useEffect(() => {\r\n if(selectedObj && mode != \"create\"){\r\n getOrganizationEvents()\r\n }else{\r\n setLoading(true)\r\n }\r\n }, [selectedObj]);\r\n\r\n \r\n return (\r\n
    \r\n
    \r\n {loading ? \r\n
    \r\n
    \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n resetForm={resetForm}\r\n lable=\"Day\"\r\n setIsoTime={(isoTime: string) => { setFromDate(isoTime) }}\r\n val={ response?.EventTime ? response?.EventTime :null} \r\n withTime ={true} \r\n /> \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}} \r\n required={true} \r\n mode={mode} \r\n label=\"CalendarEventType\" \r\n name=\"CalendarEventType\" \r\n value={response?.CalendarEventType} \r\n enumTypeSelect=\"CalendarEventType\"\r\n />\r\n
    \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n required={true}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n maxLength={900}\r\n defaultValue={response?.Description}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n { mode !=\"view\" ?\r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n } \r\n
    \r\n
    \r\n : \r\n \r\n }\r\n
    \r\n
    \r\n );\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\nexport const sendSharingCenter = (data , method ,SendSMS) => http({\r\n url: ENDPOINTS.SharingCenterApi.SharingCenter.browse,\r\n method: method,\r\n data:data,\r\n params:{\r\n notify:SendSMS\r\n }\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const deleteBord = (id) => http({\r\n url: ENDPOINTS.SharingCenterApi.SharingCenter.browse,\r\n method: \"DELETE\",\r\n params:{\r\n Id:id\r\n }\r\n}).then(response => response.data)\r\n\r\n.catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n\r\nexport const getSharingCenterId = (id) => http({\r\n url: ENDPOINTS.SharingCenterApi.SharingCenter.id,\r\n method: \"get\",\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n Id:id,\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const getSharingCenterList = (pageNumber , pageSize, orderFormat: string = \"\", searchString?: any, filterlist?: any) => http({\r\n url: ENDPOINTS.SharingCenterApi.SharingCenter.load,\r\n method: \"get\",\r\n params:{\r\n PageNumber:pageNumber,\r\n PageSize:pageSize,\r\n OrderByString: orderFormat,\r\n SearchString: searchString,\r\n FilterString: filterlist\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\nexport const updateBordEndDate = (id , endDate) => http({\r\n url: ENDPOINTS.SharingCenterApi.SharingCenter.endDate,\r\n method: \"put\",\r\n // headers: { \"Accept-Language\": \"en\" },\r\n params:{\r\n SharingCenterId: id ,\r\n endDate:endDate\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\nexport const sendBordAccess = (data , id) => http({\r\n url: ENDPOINTS.SharingCenterApi.SharingCenter.access,\r\n method: \"put\",\r\n data:data,\r\n params:{\r\n SharingCenterId:id\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\nexport const getBordAccess = (SharingCenterId) => http({\r\n url: ENDPOINTS.SharingCenterApi.SharingCenter.access,\r\n method: \"get\",\r\n params:{\r\n SharingCenterId:SharingCenterId\r\n }\r\n\r\n}).then(response => response.data)\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })\r\n\r\n\r\n //----------------------ACCESS---------------------\r\n \r\nexport const getGroupPositionList =( async ( searchString) => await http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.dictionary,\r\n method: \"get\",\r\n params:{\r\n SearchString : searchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((response) => (response.data)) \r\n.catch(err => {\r\n return Promise.reject(err);\r\n})\r\n)\r\n\r\nexport const getPositionList =( async (searchString ) => await http({\r\n url: ENDPOINTS.BaseInformation.position.browse,\r\n method: \"get\",\r\n params : {\r\n searchString : searchString\r\n }\r\n\r\n \r\n\r\n})\r\n.then((response) => (response.data)) \r\n.catch(err => {\r\n return Promise.reject(err);\r\n})\r\n)\r\n\r\n\r\n","\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ButtonArrow } from \"components/ButtonArrow/ButtonArrow\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Search } from \"components/Search/Search\";\r\n\r\nimport \"./style.scss\";\r\nimport { getGroupPositionList, getPositionList } from \"../../api\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\n\r\n\r\n\r\ninterface Form{\r\n Title?:string,\r\n assignmentMethod?:string,\r\n Status?:number,\r\n showForm:(e) => void,\r\n accessDatahandler:(e) => void,\r\n modalWidth?:any\r\n archive?:any\r\n accessData?:any\r\n mode:any\r\n}\r\n\r\n\r\nexport const SharingCenterAccess: React.FC
    = ({showForm,accessDatahandler ,accessData, modalWidth , mode,archive}) => {\r\n const [mood , setMood] = useState(\"groups\")\r\n const [Moodassign , setMoodassign] = useState(\"All\")\r\n const [flag , setFlag] = useState(false)\r\n const [response , setResponse] = useState([])\r\n const [assignmentResponse , setAssignmentResponse] = useState([])\r\n const [selectList , setSelectList] = useState([])\r\n const [assignedList , setAssignedList] = useState([])\r\n const [savedData , setSavedData] = useState([])\r\n const [assignedSelectList , setAssignedSelectList] = useState([])\r\n const [resetMultiSelect , setResetMultiSelect] = useState(false)\r\n const [positionstr , setPositionstr] = useState()\r\n const [positionAssignmentstr , setPositionAssignmentstr] = useState()\r\n const [width, setWidth] = useState(window.innerWidth);\r\n const [showModal, setShowModal] = useState(false);\r\n const [modalData, setModalData] = useState<{add: boolean, Delete: boolean, view: boolean, edit: boolean} | undefined>();\r\n const [submitted, setSubmitted] = useState(false)\r\n\r\n\r\n const breakPoint1 = modalWidth < 50 || width < 750\r\n // const breakPoint2 = modalWidth < 80 || width < 1100\r\n // const breakPoint3 = modalWidth > 90 || width > 1100\r\n\r\n window.onresize = () => {\r\n setWidth(window.innerWidth)\r\n }\r\n\r\n let keys, Data:any = [], Dataassign:any = [];\r\n\r\n async function getPositionsListAsync(SearchString) {\r\n if(mood==\"groups\"){\r\n \r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list:any=[]\r\n\r\n for (let x in Groupresponse.Data) {\r\n list.push({Id:x ,TU_RELATION:2 ,Title:Groupresponse.Data[x] }) \r\n }\r\n\r\n setResponse(list)\r\n\r\n }else if(mood==\"users\"){\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n \r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n\r\n\r\n setResponse(list) \r\n\r\n }else{\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list2:any=[]\r\n \r\n for (let x in Groupresponse.Data) {\r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=2\r\n obj.Title=Groupresponse.Data[x]\r\n list2.push(obj) \r\n }\r\n \r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n\r\n setResponse(list.concat(list2)) \r\n }\r\n }\r\n async function getPositionsListSearchingAsync(SearchString) {\r\n /* if(Moodassign==\"groups\"){\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list:any=[]\r\n for (let x in Groupresponse) {\r\n list.push({Id:x ,TU_RELATION:2 ,Title:Groupresponse[x] }) \r\n }\r\n \r\n setAssignmentResponse(list)\r\n \r\n }else if(Moodassign==\"users\"){\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n for (let x in Positionresponse) {\r\n \r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=1\r\n obj.Title=Positionresponse[x]\r\n list.push(obj) \r\n }\r\n setAssignmentResponse(list) \r\n }else */{\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list2:any=[]\r\n \r\n for (let x in Groupresponse.Data) {\r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=2\r\n obj.Title=Groupresponse.Data[x]\r\n list2.push(obj) \r\n }\r\n \r\n const Positionresponse = await getPositionList(SearchString); \r\n let list:any=[]\r\n Positionresponse.Data.forEach(item => {\r\n let obj:any =new Object\r\n obj.Id=item.Id\r\n obj.TU_RELATION=1\r\n obj.Title=item.Description\r\n list.push(obj) \r\n });\r\n\r\n setAssignmentResponse(list.concat(list2)) \r\n }\r\n\r\n }\r\n\r\n\r\n\r\n async function getAccessDataAsync() {\r\n\r\n let makeData:any =[] \r\n\r\n if(accessData){\r\n accessData.map(item=>{\r\n makeData.push({Id:item.GroupPositionId ? item.GroupPositionId :item.PositionId,TU_RELATION :item.GroupPositionId ? 2 :1 , Title:item.Description })\r\n })\r\n setSavedData(makeData)\r\n setAssignedList(makeData)\r\n }\r\n }\r\n\r\n function changeDataGrid(e) {\r\n setMood(e)\r\n }\r\n function hide() {\r\n showForm(false)\r\n }\r\n function changeDataGridassign(e) {\r\n setMoodassign(e)\r\n }\r\n\r\n\r\n\r\n function backward() {\r\n setAssignedSelectList([])\r\n setResetMultiSelect(!resetMultiSelect)\r\n\r\n\r\n const updatedData = selectList.map(item => {\r\n return {...item, ...modalData}\r\n })\r\n \r\n setAssignedList(assignedList.concat(updatedData))\r\n setFlag(!flag)\r\n setSelectList([])\r\n setSubmitted(false)\r\n }\r\n\r\n\r\n\r\n function forward() {\r\n setResetMultiSelect(!resetMultiSelect)\r\n let list:any =[]\r\n assignedList.forEach((item1,index1) => {\r\n let flag = true\r\n\r\n assignedSelectList.forEach((item2 , index2 ) => {\r\n if(item2.Id ==item1.Id ){\r\n flag = false\r\n }\r\n });\r\n if(flag){\r\n list.push(item1)\r\n }\r\n });\r\n\r\n setAssignedList(list)\r\n }\r\n\r\n\r\n\r\n const selectListCallBack =(list)=>{\r\n \r\n setSelectList(list[1])\r\n }\r\n\r\n const assignedselectListCallBack =(list)=>{\r\n setAssignedSelectList(list[1])\r\n }\r\n\r\n const referenceFormSubmit =(e)=>{\r\n e.preventDefault()\r\n\r\n if(assignedList.length==0){\r\n // Toast(\"msg_assigneduserscannotempty\" , \"error\")\r\n Toast(\"msg_assigneduserscannotempty\" , MessageType.error)\r\n\r\n }else{\r\n e.preventDefault();\r\n \r\n let Data = assignedList.map(item=>{\r\n \r\n let obj ={\r\n [item.TU_RELATION == 1 ? \"PositionId\" :\"GroupPositionId\" ] : item.Id,\r\n\r\n }\r\n return obj\r\n })\r\n\r\n accessDatahandler(Data.length>0 ? Data : [] )\r\n }\r\n }\r\n\r\n const searching =(e)=>{\r\n setPositionstr(e == \"\" ? null:e)\r\n getPositionsListAsync(e == \"\" ? null:e)\r\n }\r\n\r\n const assignmentsearching =(e)=>{\r\n setPositionAssignmentstr(e == \"\" ? null:e)\r\n getPositionsListSearchingAsync(e == \"\" ? null:e)\r\n }\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n getPositionsListAsync(positionstr); \r\n getPositionsListSearchingAsync(positionAssignmentstr)\r\n }, [mood]);\r\n\r\n useEffect(() => {\r\n if(mode != \"create\"){\r\n\r\n getAccessDataAsync();\r\n }\r\n }, []);\r\n\r\n\r\n if(response && assignedList){\r\n let assignmentdata:any =[]\r\n\r\n assignedList.forEach(elm => {\r\n if(Moodassign==\"groups\"){\r\n if(elm.TU_RELATION==2)assignmentdata.push(elm)\r\n \r\n }else if(Moodassign==\"users\"){\r\n if(elm.TU_RELATION==1)assignmentdata.push(elm)\r\n }else{\r\n assignmentdata.push(elm)\r\n }\r\n });\r\n\r\n \r\n\r\n // assignmentResponse.forEach(item1 => {\r\n // let flag =false\r\n\r\n // assignmentdata.forEach(item2 => {\r\n // if(item1.Id == item2.Id){\r\n // flag = true\r\n // }\r\n // });\r\n\r\n\r\n // if(flag){\r\n // Dataassign.push(item1)\r\n // }\r\n // });\r\n\r\n assignmentResponse.map(obj => {\r\n const isSameId = assignmentdata.some(item => item.Id === obj.Id)\r\n const currentItem = assignmentdata.find(item => item.Id === obj.Id)\r\n\r\n \r\n if(currentItem) { \r\n const {add, view, edit, Delete} = currentItem;\r\n\r\n if(isSameId){\r\n Dataassign.push({...obj, add, view, edit, Delete})\r\n }\r\n }\r\n })\r\n\r\n\r\n\r\n response.map(item1=>{\r\n let flag = true\r\n assignedList.forEach(item2 => {\r\n if(item1.Id ==item2.Id){\r\n flag=false\r\n }\r\n });\r\n if(flag){\r\n Data.push(item1) \r\n }\r\n })\r\n\r\n }\r\n \r\n \r\n\r\n return ( <>\r\n\r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {response &&\r\n \r\n } \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {forward()}}/>\r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n}","import DecoupledEditor from '@ckeditor/ckeditor5-build-decoupled-document'\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\"\r\nimport { Button } from \"components/Button/Button\"\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\"\r\nimport { FileInput } from \"components/FileInput/FileInput\"\r\nimport { Loading } from \"components/Loading/loading\"\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\"\r\nimport { TabBar } from \"components/Tabbar/Tabbar\"\r\nimport { Textbox } from \"components/Textbox/Textbox\"\r\nimport { Toast } from \"components/ToastShow/ToastAlert\"\r\nimport { Attachment } from \"pages/OfficeAutomation/Cartable/components/ActionList/components/Attachment/Attachment\"\r\nimport { useEffect, useRef, useState } from \"react\"\r\nimport { ENDPOINTS } from \"utils/endpoints\"\r\nimport { trans } from \"utils/helpers\"\r\nimport { getSharingCenterId, sendSharingCenter } from \"../../api\"\r\nimport { SharingCenterAccess } from \"./SharingCenteresAccess\"\r\nimport './style.scss'\r\nimport { DictionarySelectBox } from 'components/DictionaryTypeSelect/DictionaryTypeSelect'\r\nimport { MessageType } from 'types/enum'\r\n\r\ninterface props {\r\n mode: any\r\n showForm: (e:boolean) => void\r\n selectedObj: any\r\n}\r\n\r\nexport const SharingCenterForm = ({ mode, showForm, selectedObj }: props) => {\r\n\r\n const [editor, setEditor] = useState();\r\n const [editorData, setEditorData] = useState();\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [showAccess, setShowAccess] = useState(false);\r\n const [SharingCenterData, setSharingCenterData] = useState(false);\r\n const [converted, setConverted] = useState(false);\r\n const [SharingCenterType, setSharingCenterType] = useState();\r\n const [selectedImage, setSelectedImage] = useState();\r\n const [loading , setLoading] = useState(mode==\"create\");\r\n const [userChanges, setUserChanges] = useState({});\r\n const [curentTab, setCurentTab] = useState(\"sharingcenterarticle\");\r\n const [flag,setFlag] = useState(false);\r\n const [canSendSMS,setCanSendSMS] = useState(false);\r\n const [SendSMS,setSendSMS] = useState(false);\r\n\r\n\r\n const myform = useRef(null);\r\n const changeHandlePic = (e: any) => {\r\n if (e.target.files && e.target.files.length > 0) {\r\n setSelectedImage({Url: URL.createObjectURL([...e.target.files][0] ) ,files:[...e.target.files]}); \r\n \r\n }\r\n };\r\n\r\n async function sendDataAsync(data, method) {\r\n try {\r\n const res = await sendSharingCenter(data, method ,SendSMS);\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(true)\r\n } catch (err: any) {\r\n\r\n }\r\n }\r\n\r\n async function getDataAsync(id) {\r\n setLoading(false)\r\n try {\r\n const res = await getSharingCenterId(id);\r\n setResponse(res.Data)\r\n // let files = res.Data.Article.Thumbnail == undefined ? null : res.Article.Thumbnail\r\n // setSelectedImage({Url: URL.createObjectURL([files][0] ) ,files:[files]})\r\n setEditorData(res.Data.Article.Description)\r\n } catch (err: any) {\r\n\r\n }\r\n setLoading(true)\r\n\r\n }\r\n\r\n \r\n function cancel() {\r\n if(sessionStorage.getItem(\"changingforms\")+\"\"==\"true\"){\r\n // Toast(trans(\"modalclosemessage\"),\"warning\",\"alertWithoutClose\", ()=>{\r\n // sessionStorage.setItem(\"changingforms\" , \"false\");\r\n // setUserChanges({});\r\n // showForm(false)\r\n // });\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, ()=>{\r\n sessionStorage.setItem(\"changingforms\" , \"false\");\r\n setUserChanges({});\r\n showForm(false)\r\n });\r\n }else{\r\n showForm(false) \r\n };\r\n\r\n\r\n }\r\n\r\n function accessDatahandler(data) {\r\n if (mode == \"create\") {\r\n let formdata: any = {}\r\n formdata.Article = SharingCenterData\r\n formdata.Accesses = data;\r\n let _objData = new FormData\r\n\r\n _objData.append(\"SharingCenterArticleDTO\", JSON.stringify(formdata));\r\n\r\n\r\n if (selectedImage&&selectedImage.files) {\r\n const ListSelected:any = [...selectedImage.files]\r\n ListSelected.map(item=>{\r\n _objData.append(\"files\", item);\r\n \r\n })\r\n }\r\n\r\n sendDataAsync(_objData, \"post\")\r\n } else {\r\n let Article = {\r\n Article: SharingCenterData,\r\n Accesses: data\r\n }\r\n sendDataAsync(Article, \"put\")\r\n }\r\n }\r\n\r\n\r\n\r\n const handleSubmit = (event) => {\r\n event.preventDefault()\r\n if(flag){\r\n // Toast(trans(\"InvalidEndDate\"),\"error\");\r\n Toast(trans(\"InvalidEndDate\"),MessageType.error);\r\n \r\n }else{\r\n setConverted(true)\r\n\r\n if (mode == \"create\") {\r\n const data = {\r\n Title: event.target.title.value,\r\n Description: editorData,\r\n ClassificationId: event.target.ClassificationId.value,\r\n IsPublic: event.target.IsPublic.checked,\r\n Link: event.target.linkAddress.value,\r\n ActivityStatus: 1\r\n }\r\n if (event.target.IsPublic.checked) {\r\n let formdata: any = {}\r\n formdata.Article = data\r\n let _objData: any = new FormData\r\n _objData.append(\"SharingCenterArticleDTO\", JSON.stringify(formdata));\r\n if (selectedImage&&selectedImage.files) {\r\n const ListSelected:any = [...selectedImage.files]\r\n ListSelected.map(item=>{\r\n _objData.append(\"files\", item);\r\n \r\n })\r\n }\r\n\r\n sendDataAsync(_objData, \"post\")\r\n } else {\r\n setSharingCenterData(data)\r\n setShowAccess(true)\r\n }\r\n } else {\r\n\r\n const data = {\r\n Id: selectedObj.Id,\r\n Title: event.target.title.value,\r\n Description: editorData,\r\n ClassificationId: event.target.ClassificationId.value,\r\n Link: event.target.linkAddress.value,\r\n IsPublic: event.target.IsPublic.checked,\r\n ActivityStatus: 1\r\n }\r\n\r\n if (event.target.IsPublic.checked) {\r\n let Article = {\r\n Article: data\r\n }\r\n sendDataAsync(Article, \"put\")\r\n } else {\r\n setSharingCenterData(data)\r\n setShowAccess(true)\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n }\r\n \r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getDataAsync(selectedObj.Id)\r\n }\r\n }, [selectedObj]);\r\n\r\n\r\n\r\n\r\n let content = [\r\n { title: \"sharingcenterarticle\", body: ( <>\r\n
    \r\n {showAccess &&\r\n setShowAccess(false)} show={showAccess}>\r\n \r\n \r\n }\r\n {loading ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n labelText={SharingCenterType == \"2\" ? \"footer\" : \"title\"}\r\n textboxName=\"title\"\r\n resetForm={resetForm}\r\n defaultValue={response?.Article?.Title}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n mode={mode}\r\n name=\"ClassificationId\"\r\n label='sharingcenterarticleclassification'\r\n endPoint={ENDPOINTS.SharingCenterApi.SharingCenterArticleClassification.dictionary}\r\n value={response?.Article?.ClassificationId}\r\n />\r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n textboxType=\"text\"\r\n labelText=\"linkAddress\"\r\n textboxName=\"linkAddress\"\r\n defaultValue={response?.Article?.Link}\r\n mode={mode}\r\n resetForm={resetForm}\r\n />\r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={response?.Article?.IsPublic}\r\n defaultValue={response?.Article?.IsPublic}\r\n labelText={\"IsPublic\"}\r\n inputName={\"IsPublic\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
    \r\n {\r\n (mode==\"create\"&&canSendSMS)&&\r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={SendSMS}\r\n defaultValue={SendSMS}\r\n readOnly={!canSendSMS}\r\n checked={SendSMS}\r\n onchange={setSendSMS}\r\n labelText={\"NotifyBySMS\"}\r\n inputName={\"NotifyBySMS\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n {trans('text')}\r\n {\r\n editor.ui.getEditableElement().parentElement.insertBefore(\r\n editor.ui.view.toolbar.element,\r\n editor.ui.getEditableElement()\r\n );\r\n setEditor(editor)\r\n }}\r\n onError={(error, { willEditorRestart }) => {\r\n if (willEditorRestart) {\r\n editor.ui.view.toolbar.element.remove();\r\n }\r\n }}\r\n onOk={(editor) => {\r\n editor.insertHtml(editorData)\r\n }}\r\n onChange={(event, editor) => {\r\n const data = editor.getData();\r\n setEditorData(data)\r\n }}\r\n editor={DecoupledEditor}\r\n config={{\r\n removePlugins: [\"EasyImage\", \"ImageUpload\", \"MediaEmbed\"]\r\n }}\r\n />\r\n
    \r\n
    \r\n\r\n
    \r\n {(SharingCenterType != \"2\"&&mode==\"create\") &&\r\n
    \r\n\r\n \r\n
    \r\n\r\n }\r\n
    \r\n {mode !== \"view\" ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n
    \r\n : \r\n }\r\n
    \r\n\r\n ) },\r\n mode !=\"create\"&&{title: \"picture\", body: ({cancel()}} inTab={curentTab==\"picture\"?\"Attachment\":curentTab} mood={mode} endpoint={ENDPOINTS.SharingCenterApi.SharingCenter.attachment} ownerId={selectedObj.Id} />) },\r\n \r\n ];\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n return (\r\n <>\r\n \r\n \r\n )\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Application } from \"components/Application/Application\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\ninterface CreateFormProps {\r\n onHide: (e:boolean)=>void;\r\n handleNewForm: (e:any,data:any)=>void;\r\n obj?:any;\r\n mode:'create'|'view'|'edit';\r\n}\r\n\r\nexport const CreateInputForm = ({onHide,handleNewForm,obj,mode}:CreateFormProps) => {\r\n const [applicationIds , setApplicationIds] = useState< any>([])\r\n\r\n const handleSubmit = async(event) => { \r\n event.preventDefault()\r\n\r\n\r\n let data = {\r\n DynamicForms:{\r\n formTitle: event.target.formTitle?.value,\r\n systemKey: event.target.systemKey?.value,\r\n Id: obj?.Id,\r\n FormTitleEN: event.target.FormTitleEN?.value,\r\n FormPriority:+event.target.FormPriority?.value,\r\n IsWorkflowEnable:event.target.IsWorkflowEnable.checked,\r\n HasSignature:event.target.HasSignature.checked\r\n\r\n },\r\n DynamicFormApplications:!!applicationIds.length? Object.keys(applicationIds[0]).map((item)=>{\r\n return {[item]:applicationIds[0][item]}\r\n }):[]\r\n \r\n }\r\n handleNewForm(event,data)\r\n }\r\n\r\n function cancel() {\r\n onHide(false) \r\n }\r\n\r\n\r\n return ( \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n 0 ?obj?.DynamicFormApplications.map(item=>Object.keys(item)[0]) :undefined }\r\n returnObj={true}\r\n />\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {mode!=\"view\"?\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { InputTypes } from \"types/enum\";\r\n\r\n\r\n\r\n\r\nexport const InputAvailable = [\r\n\r\n {\r\n typeName:'text',\r\n icon:[\"fas\", \"font\"],\r\n type:InputTypes.text,\r\n backendType:\"string\",\r\n },\r\n {\r\n typeName:'number',\r\n icon:[\"fas\", \"hashtag\"],\r\n type:InputTypes.text,\r\n backendType:\"int\",\r\n },\r\n {\r\n typeName:'textArea',\r\n icon:[\"fas\", \"align-justify\"],\r\n type:InputTypes.text,\r\n backendType:\"string\",\r\n },\r\n {\r\n typeName:'date',\r\n icon:[\"fas\", \"calendar-days\"],\r\n type:InputTypes.date,\r\n backendType:\"datetime\",\r\n },\r\n {\r\n typeName:'timeLength',\r\n icon:[\"fas\", \"stopwatch\"],\r\n type:InputTypes.timeLength,\r\n backendType:\"int\",\r\n },\r\n {\r\n typeName:'time',\r\n icon:[\"fas\", \"clock\"],\r\n type:InputTypes.time,\r\n backendType:\"datetime\",\r\n },\r\n { \r\n typeName:'selectBox',\r\n icon:[\"fas\", \"square-caret-down\"],\r\n type:InputTypes.dropDown,\r\n backendType:\"string\",\r\n },\r\n {\r\n typeName:'RadioButton',\r\n icon:[\"fas\", \"circle-dot\"],\r\n type:InputTypes.RadioButton,\r\n backendType:\"string\",\r\n },\r\n {\r\n typeName:'checkBox',\r\n icon:[\"fas\", \"square-check\"],\r\n type:InputTypes.checkBox,\r\n backendType:\"bit\",\r\n },\r\n // {\r\n // typeName:'fileUpload',\r\n // icon:\"file-arrow-up\",\r\n // type:InputTypes.fileUpdate,\r\n // backendType:\"string\",\r\n // },\r\n {\r\n typeName:'ProgressBar',\r\n icon:[\"fas\", \"sliders\"],\r\n type:InputTypes.ProgressBar,\r\n backendType:\"int\",\r\n },\r\n {\r\n typeName:'price',\r\n icon:[\"fas\", \"money-bill\"],\r\n type:InputTypes.price,\r\n backendType:\"money\",\r\n },\r\n {\r\n typeName:'emptySpace',\r\n icon:[\"fas\", \"border-none\"],\r\n type:InputTypes.emptySpace,\r\n backendType:\"\",\r\n },\r\n {\r\n typeName:'Message',\r\n icon:[\"fas\", 'info-circle'],\r\n type:InputTypes.Message,\r\n backendType:\"\",\r\n },\r\n {\r\n typeName:'PositionDictionary',\r\n icon:[\"fas\", 'user'],\r\n type:InputTypes.PositionDictionary,\r\n backendType:\"guid\",\r\n },\r\n {\r\n typeName:'Step',\r\n icon:[\"fas\", 'object-ungroup'],\r\n type:InputTypes.Step,\r\n backendType:\"\",\r\n }\r\n // {\r\n // typeName:'label',\r\n // icon:[\"fas\", \"heading\"],\r\n // type:InputTypes.label,\r\n // backendType:\"\",\r\n // }\r\n]\r\nexport const DictionaryAvailable = [\r\n\r\n {\r\n typeName:'Person',\r\n type:InputTypes.text,\r\n backendType:\"guid\",\r\n },\r\n {\r\n typeName:'Position',\r\n type:InputTypes.text,\r\n backendType:\"guid\",\r\n },\r\n {\r\n typeName:'Sex',\r\n type:InputTypes.dropDown,\r\n backendType:\"int\",\r\n },\r\n\r\n\r\n]","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { InputTextType, MessageType } from \"types/enum\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { KeyWord } from \"components/KeyWord/KeyWord\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { Time } from \"components/Time/Time\";\r\nimport { Price } from \"components/Price/Price\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\n\r\n\r\ninterface InputSettingProps {\r\n object:any;\r\n systemKeys:any;\r\n filledSystemKey:\"create\" | \"duplicate\" | \"edit\";\r\n handleNewSetting: (e:any)=>void;\r\n onHide: (e:boolean)=>void;\r\n}\r\n\r\nexport const InputSetting = ({object,filledSystemKey,systemKeys,handleNewSetting,onHide}:InputSettingProps) => {\r\n const [keyWords, setKeyWords] = useState(object?.Keywords ? object?.Keywords : []);\r\n const [indexTextBox,setIndexTextBox] = useState(object?.InputType ? InputTextType[object.InputType] : 'text')\r\n const [minLengthBox,setMinLengthBox] = useState(null)\r\n const [maxLengthBox,setMaxLengthBox] = useState(null)\r\n const [resetForm,setresetForm] = useState(false)\r\n const [modeTextBox,setModeTextBox] = useState<\"create\" | \"view\">(\"create\")\r\n const [textType,setTextType] = useState<\"text\" | \"number\" | \"other\">(\"text\")\r\n const [dateDefaultValue,setDateDefaultValue] = useState(null)\r\n const [direction,setDirection]=useState(object?.direction=='true' ||object?.direction==true ?true:false)\r\n const [datePickerState,setDatePickerState] = useState<\"withTime\"|\"normal\">(object?.DatePickerState ? object.DatePickerState : \"normal\")\r\n const [defaultValueDateTimeNow,setDefaultValueDateTimeNow] = useState(object?.defaultValueDateTimeNow)\r\n const [listTypeText,setListTypeText] = useState()\r\n const checkTypeText = (e)=>{\r\n setIndexTextBox(e)\r\n setresetForm(true)\r\n }\r\n \r\n // try catch\r\n const handleSubmit = async(event) => { \r\n event.preventDefault()\r\n let data = {\r\n \"size\":keyWords.length > 4 ? 12 : event.target.size?.value,\r\n ...((object.typeName != 'Message' && object.typeName != 'emptySpace') &&{\r\n \"label\": event.target.label?.value,\r\n \"systemKey\":event.target.systemKey?.value,\r\n \"required\": event.target.required?.checked,\r\n \"disable\": event.target.disable?.checked,\r\n \"defaultValue\":\r\n (!defaultValueDateTimeNow ? \r\n (object?.typeName == \"checkBox\") ? event.target.defaultValue?.checked : \r\n (object?.typeName == \"date\" || object?.typeName == \"time\") ? dateDefaultValue : \r\n (object?.typeName == \"ProgressBar\") ? (event.target.defaultValue?.value == \"\" ? 0 : +event.target.defaultValue?.value):\r\n (object?.typeName == \"textArea\" ? event.target.defaultValue?.value.slice(0,500) : event.target.defaultValue?.value.slice(0,200)):null),\r\n }),\r\n \r\n // message inputs\r\n ...(object.typeName == 'Message' && {\r\n \"messageType\" : event.target?.messageType?.value,\r\n \"message\" : event.target?.message?.value\r\n }),\r\n \r\n // radio inputs && dropDown inputs\r\n ...((object.typeName == 'selectBox' || object.typeName == 'RadioButton')&& {\"Keywords\":keyWords,\"direction\":event.target.direction?.value}),\r\n \r\n // Requester PositionDictionary\r\n ...((object?.typeName == 'PositionDictionary' && object?.systemKey == \"RequesterPositionId\") && {\"hidden\": event.target.hidden?.checked}),\r\n \r\n // Position\r\n ...((object?.typeName == 'Position' ) && {\"OrganizationType\": event.target.OrganizationType?.value}),\r\n \r\n // text inputs\r\n ...((object.typeName == 'text' || object.typeName == 'number' || object.typeName == 'textArea' )&& {\r\n \"placeholder\": event.target.placeholder?.value,\r\n }),\r\n ...((object.typeName == 'text')&& {\r\n \"InputType\": event.target.InputType?.value\r\n }),\r\n // text Type\r\n ...(((object.typeName == 'text' && textType == \"text\" )|| (object?.typeName == 'textArea')) && {\"maxLength\": event.target.maxLength?.value}),\r\n // textArea Type\r\n ...((object.typeName == 'textArea') && {\"minHeight\": +event.target.minHeight?.value}),\r\n // number Type\r\n ...(((object.typeName == 'text' && textType == \"other\") || object.typeName == 'number') && {\r\n \"min\": +event.target.min?.value,\r\n \"max\": +event.target.max?.value > 0 ? +event.target.max?.value : null,\r\n \"minLengthBox\": event.target.minLengthBox?.value,\r\n \"maxLengthBox\": event.target.maxLengthBox?.value > 0 ? +event.target.maxLengthBox?.value : null,\r\n \"setMaxLengthBox\": event.target.LengthTextBox?.value,\r\n }),\r\n // date inputs && time inputs\r\n ...((object.typeName == 'date')&& {\r\n \"DatePickerState\" : datePickerState,\r\n \"defaultValueDateTimeNow\" : event.target?.defaultValueDateTimeNow?.checked,\r\n }),\r\n // Step \r\n ...((object.typeName == 'Step') && {\r\n \"isOpen\" : event.target.isOpen?.checked,\r\n }) \r\n\r\n // label type\r\n // \"color\": event.target.color?.value,\r\n // \"labelSize\": event.target.labelSize?.value,\r\n // \"labelWeight\": event.target.labelWeight?.value,\r\n // \"labelStyle\": event.target.labelStyle?.value,\r\n // \"labelText\": event.target.labelText?.value,\r\n\r\n }\r\n // control maximum length value (text=500 || textArea=900)\r\n if(data.maxLength && object.typeName == 'text'){\r\n if(indexTextBox == \"text\" && data?.maxLength > 500){\r\n // return Toast(trans(\"maxLengthText\"),\"error\")\r\n return Toast(trans(\"maxLengthText\"),MessageType.error)\r\n\r\n } \r\n if(object?.typeName == \"textArea\" && data?.maxLength > 900){\r\n // return Toast(trans(\"maxLengthTextArea\"),\"error\")\r\n return Toast(trans(\"maxLengthTextArea\"),MessageType.error)\r\n\r\n }\r\n }\r\n // check maxLengthBox & minLengthBox\r\n if(data.maxLengthBox && data?.maxLengthBox < data?.minLengthBox){\r\n // return Toast(trans(\"maxLengthBoxmaxLengthBox\"), \"warning\")\r\n return Toast(trans(\"maxLengthBoxmaxLengthBox\"), MessageType.warning)\r\n\r\n }\r\n // check min & max\r\n if(data.max && data.min && +data?.max < +data?.min){\r\n // return Toast(trans(\"maxMin\"), \"error\")\r\n return Toast(trans(\"maxMin\"),MessageType.error)\r\n\r\n }\r\n // check keyword length\r\n if(keyWords.length == 0 &&( object.typeName == 'selectBox' || object.typeName == 'RadioButton')){\r\n // return Toast(trans(\"msg_validation_valueisrequired\"), \"error\")\r\n return Toast(trans(\"msg_validation_valueisrequired\"), MessageType.error)\r\n\r\n }\r\n\r\n // unique label and systemKey\r\n if(object.typeName != \"emptySpace\" && object.typeName != \"Message\" && (systemKeys.find(item => {return((item.systemKey == data.systemKey )&&(object?.systemKey!=item.systemKey))}))){\r\n // Toast(trans(\"systemKey\"), \"error\")\r\n Toast(trans(\"systemKey\"),MessageType.error)\r\n\r\n }else{\r\n handleNewSetting(data)\r\n onHide(false) \r\n }\r\n }\r\n\r\n function cancel() {\r\n onHide(false) \r\n }\r\n\r\n useEffect(()=>{\r\n setMinLengthBox(null)\r\n setMaxLengthBox(null)\r\n setModeTextBox(\"create\")\r\n if(indexTextBox == \"number\"){\r\n setTextType(\"number\")\r\n }else if(indexTextBox == \"tel\"){\r\n setMinLengthBox(1)\r\n setMaxLengthBox(15)\r\n setModeTextBox(\"view\")\r\n setTextType(\"other\")\r\n }else if(indexTextBox == \"mobile\" || indexTextBox == \"nationalCode\" || indexTextBox == \"nationalIdentifier\" || indexTextBox == \"PostalCode\"){\r\n setMinLengthBox(10)\r\n setMaxLengthBox(10)\r\n setModeTextBox(\"view\")\r\n setTextType(\"other\")\r\n }else if(indexTextBox == \"birthCertNo\"){\r\n setMinLengthBox(1)\r\n setMaxLengthBox(10)\r\n setModeTextBox(\"view\")\r\n setTextType(\"other\")\r\n }else if(indexTextBox == \"econNo\"){\r\n setMinLengthBox(10)\r\n setMaxLengthBox(14)\r\n setModeTextBox(\"view\")\r\n setTextType(\"other\")\r\n }else{\r\n setTextType(\"text\")\r\n }\r\n },[indexTextBox])\r\n useEffect(()=>{\r\n if(resetForm){\r\n setresetForm(false)\r\n }\r\n },[resetForm])\r\n\r\n useEffect(()=>{\r\n let newInputTextType:any = JSON.parse(JSON.stringify(InputTextType)) \r\n delete newInputTextType[1]\r\n delete newInputTextType[6]\r\n setListTypeText(newInputTextType)\r\n },[])\r\n return ( \r\n
    \r\n
    \r\n
    \r\n {((object?.typeName != 'Message' && object?.typeName != 'emptySpace') && \r\n <>\r\n {/* label */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* systemkey */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* \"required\": object.typeName == \"date\" ? (defaultValueDateTimeNow ? false:true) : event.target.required?.checked,\r\n \"disable\": object.typeName == \"date\" ? (defaultValueDateTimeNow ? true:false) : event.target.disable?.checked, */}\r\n {/* required */}\r\n {object?.typeName != 'Step' && \r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* disable */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n }\r\n \r\n )}\r\n \r\n {/* size */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* checkBox inputs */}\r\n {\r\n object?.typeName == \"checkBox\" && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n {/* ProgressBar inputs */}\r\n {\r\n object?.typeName == \"ProgressBar\" && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n {/* price inputs */}\r\n {\r\n object?.typeName == \"price\" && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )\r\n }\r\n {/* message inputs */}\r\n {\r\n object?.typeName == \"Message\" && (\r\n <>\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n )\r\n }\r\n {/* radio inputs && dropDown inputs */}\r\n\r\n {/*direction*/}\r\n {\r\n object?.typeName == 'RadioButton' &&\r\n
    \r\n
    \r\n
    \r\n setDirection(e)}\r\n checked={direction}\r\n defaultChecked={object?.direction=='true' ?true:false} \r\n defaultValue={object?.direction=='true'?true:false}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n }\r\n {\r\n (object?.typeName == 'RadioButton' || object?.typeName == 'selectBox' )&&\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n {/* PositionDictionary */}\r\n {(object?.typeName == 'PositionDictionary' && object?.systemKey == \"RequesterPositionId\")&&\r\n (\r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )\r\n }\r\n {/* Position */}\r\n {(object?.typeName == 'Position')&&\r\n (\r\n <>\r\n
    \r\n \r\n
    \r\n \r\n )\r\n }\r\n {/* text inputs && number inputs && textArea inputs*/}\r\n {\r\n ((object?.typeName == 'text' && object?.systemKey != \"RequesterPositionId\" )||(object?.typeName == 'textArea')||(object?.typeName == 'number'))&& \r\n <>\r\n
    \r\n \r\n
    \r\n
    \r\n {listTypeText && (object?.typeName != 'textArea' && object?.typeName != 'number') &&\r\n\r\n
    \r\n checkTypeText(InputTextType[e.target.value])} \r\n value={object.InputType ? object.InputType : 1}\r\n val={Object.keys(listTypeText)} \r\n options={Object.values(listTypeText)} \r\n selectType={\"select\"} \r\n name={\"InputType\"} \r\n lable=\"InputType\"\r\n />\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/* text Type */}\r\n { ( textType == \"text\" ) &&\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n }\r\n {/* textArea Type */}\r\n {( object?.typeName == \"textArea\" ) &&\r\n \r\n }\r\n {/* number Type */}\r\n {(textType == \"other\" || textType == \"number\") &&\r\n <>\r\n {maxLengthBox != minLengthBox || minLengthBox == null ? \r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n :\r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n }\r\n \r\n }\r\n \r\n }\r\n {/* date Type and Time Type */}\r\n \r\n {(object?.typeName == 'date' || object?.typeName == 'time') && \r\n <>\r\n {object?.typeName == 'date' && (\r\n <>\r\n
    \r\n
    \r\n setDatePickerState(\"withTime\")} \r\n defaultChecked={datePickerState == \"withTime\" ? true : false}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n setDatePickerState(\"normal\")} \r\n defaultChecked={datePickerState == \"normal\" ? true : false}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n setresetForm(true)} \r\n type={\"checkbox\"} \r\n labelText={\"Msg_DefaultValue_DateTimeNow\"} \r\n inputName=\"defaultValueDateTimeNow\" \r\n onchange={(e)=>setDefaultValueDateTimeNow(e)} \r\n defaultChecked={defaultValueDateTimeNow}\r\n />\r\n
    \r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n {setDateDefaultValue(isoTime)}}\r\n val={object?.dateDefaultValue ? object?.dateDefaultValue : null} //resetForm ? new Date().toISOString() : \r\n withTime ={object?.typeName == \"time\" ? true : datePickerState == \"withTime\" ? true : false}\r\n disableDayPicker={object?.typeName == \"time\" ? true: false}\r\n required ={false}\r\n calendarPosition={\"right\"}\r\n format={object?.typeName == \"time\" ? \"۱۳:۲۶\" : datePickerState == \"withTime\" ? \"۱۴۰۳/۰۴/۰۴ ۱۳:۲۶\":\"۱۴۰۳/۰۴/۰۴\"}\r\n onOpenPickNewDate={true}\r\n /> \r\n
    \r\n \r\n
    \r\n \r\n }\r\n {/* timeLength Type */}\r\n {object?.typeName == \"timeLength\" && (\r\n
    \r\n \r\n
    \r\n )}\r\n\r\n {/* {\r\n object?.typeName == \"label\" && (\r\n <>\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n )\r\n } */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n ","import { Button } from \"components/Button/Button\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\n\r\ninterface DefaultSettingPropsType {\r\n onHide: (e:boolean)=>void;\r\n handleSettingForm: (e:any)=>void;\r\n obj?:any;\r\n mode:'create'|'view'|'edit';\r\n}\r\n\r\nexport const DefaultSetting = ({onHide,handleSettingForm,obj,mode}:DefaultSettingPropsType) => {\r\n\r\n const handleSubmit = async(event) => { \r\n event.preventDefault()\r\n let data = {\r\n \"size\": event.target.size?.value,\r\n }\r\n handleSettingForm(data)\r\n onHide(false) \r\n\r\n }\r\n\r\n function cancel() {\r\n onHide(false) \r\n }\r\n\r\n return ( \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n","import { DYNAMICFORMS_URL } from \"utils/constants\";\r\nimport { ENDPOINTSDYNAMICFORMS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\nexport const postDataCollection = (data,method) => http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.dataCollection,\r\n method: method,\r\n data,\r\n params:{\r\n Confirm:false\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\nexport const deleteDataCollection = (id) => http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.dataCollection,\r\n method: 'delete',\r\nparams:{\r\n id\r\n}\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\n\r\nexport const deleteDataCollectionProperty = (id) => http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.dataCollectionProperties,\r\n method: 'delete',\r\nparams:{\r\n id\r\n}\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const postPropertyDataCollection = (data,method) => http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.dataCollectionProperties,\r\n method: method,\r\n data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\nexport const getDataCollection = (async (SearchString) => await http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.dataCollection,\r\n method: 'get',\r\n params:{ SearchString }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\n\r\nexport const getDataCollectionById = (async (\r\nid) => await http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.dataCollection,\r\n method: 'get',\r\n params:{\r\n\r\n id\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\nexport const getDataCollectionProperties = (async (\r\n pageNum, pageSize ,DynamicFormPropertyId\r\n) => await http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.dataCollectionProperties,\r\n method: 'get',\r\n params:{\r\n\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n DynamicFormPropertyId\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)","import { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\nimport { deleteDataCollectionProperty, getDataCollectionProperties,postPropertyDataCollection } from \"./api\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface DataCollectionPropertiesPropsType {\r\n onHide: (e: boolean) => void;\r\n selectedRow?:any\r\n mode: \"create\" | \"view\" | \"edit\";\r\n}\r\n\r\nexport const DataCollectionPropertiesForm = ({\r\n onHide,\r\n selectedRow,\r\n mode,\r\n}: DataCollectionPropertiesPropsType) => {\r\n const [userChanges, setUserChanges] = useState({});\r\n const [resetForm, setResetForm] = useState(false);\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pages, setPages] = useState(0);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [response, setResponse] = useState([]);\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [showPropertiesForm, setShowPropertiesForm] = useState(false);\r\n const [forceUpdate,setForceUpdate] = useState (false)\r\n const [showForm, setShowForm] = useState(false);\r\n const [detailMode, setDetailMode] = useState<\"create\" | \"view\" | \"edit\">();\r\n\r\n\r\n\r\n\r\n const handleSubmit = async (event) => {\r\n event.preventDefault();\r\n let data = {\r\n Code: event.target.Code?.value,\r\n Value: event.target.Value?.value,\r\n Description: event.target.Description?.value,\r\n DescriptionEN: event.target.DescriptionEN?.value,\r\n OwnerId:selectedRow.Id\r\n };\r\n try {\r\n if(detailMode==='create'){\r\n await postPropertyDataCollection(data,'post');\r\n }else{\r\n await postPropertyDataCollection({...data,Id:selectedObj.Id,ActivityStatus: +event.target.ActivityStatus?.value,\r\n },'put');\r\n\r\n }\r\n setForceUpdate(!forceUpdate)\r\n } catch (error) {}\r\n cancel()\r\n };\r\n\r\n\r\n\r\n\r\n const getDataCollectionPropertiesAsync = async (PageNum = pageNum) => {\r\n setLoading(false);\r\n let pageSizeChangedByUser = getPageSize(\"DataCollectionProperties\");\r\n setPageSize(pageSizeChangedByUser);\r\n try {\r\n const res = await getDataCollectionProperties(PageNum, pageSizeChangedByUser,selectedRow.Id);\r\n if (res.Data.Data.length > 0) {\r\n setResponse(res.Data);\r\n\r\n setPages(\r\n res.Data.TotalRecords > pageSizeChangedByUser\r\n ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser)\r\n : 1\r\n );\r\n }\r\n } catch (error) {}\r\n setLoading(true);\r\n };\r\n\r\n\r\n const handleDeleteRow = async () => {\r\n try {\r\n const res = await deleteDataCollectionProperty(selectedObj.Id);\r\n setForceUpdate(!forceUpdate);\r\n } catch (error) {}\r\n };\r\n\r\n function cancel() {\r\n setShowForm(false);\r\n }\r\n\r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"DataCollectionProperties\", e.currentTarget.value);\r\n getDataCollectionPropertiesAsync(1);\r\n };\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) {\r\n } else setPageNum(+value);\r\n getDataCollectionPropertiesAsync(+value);\r\n } else {\r\n }\r\n };\r\n const handleNextPage = () => {\r\n if (pageNum < pages) {\r\n setPageNum(pageNum + 1);\r\n getDataCollectionPropertiesAsync(pageNum + 1);\r\n }\r\n };\r\n const handlePrevPage = () => {\r\n if (pageNum > 1) {\r\n setPageNum((pageNum) => {\r\n return +pageNum - 1;\r\n });\r\n getDataCollectionPropertiesAsync(pageNum - 1);\r\n }\r\n };\r\n\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n}\r\n\r\n\r\nconst clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"excel\":\r\n downloadCSV(response.Data, 1, trans(\"dataCollectionPrperties\"));\r\n break;\r\n case \"refresh\":\r\n setForceUpdate(!forceUpdate);\r\n break;\r\n case \"create\":\r\n setShowForm(true);\r\n setDetailMode(\"create\");\r\n break;\r\n case \"remove\":\r\n if (selectedObj?.Id)\r\n // Toast(\r\n // trans(\"msg_deleteconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // handleDeleteRow\r\n // );\r\n Toast(\r\n trans(\"msg_deleteconfirm\"),\r\n MessageType.confirmDelete,\r\n handleDeleteRow\r\n );\r\n break;\r\n case \"view\":\r\n if (selectedObj?.Id) {\r\n setShowForm(true);\r\n setDetailMode(\"view\");\r\n }\r\n break;\r\n case \"properties\":\r\n if (selectedObj?.Id) setShowPropertiesForm(true);\r\n break;\r\n case \"edit\":\r\n if (selectedObj?.Id) {\r\n setShowForm(true);\r\n\r\n setDetailMode(\"edit\");\r\n }\r\n break;\r\n }\r\n};\r\n\r\n\r\n useEffect(() => {\r\n getDataCollectionPropertiesAsync();\r\n }, [forceUpdate]);\r\n\r\n return (\r\n <>\r\n\r\n\r\n\r\n { showForm &&\r\n
    \r\n
    \r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n )}\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"Code\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"Code\"}\r\n mode={detailMode}\r\n defaultValue={detailMode!=='create'?selectedObj.Code:''}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName={\"Value\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"Value\"}\r\n mode={detailMode}\r\n defaultValue={detailMode!=='create'?selectedObj.Value:''}\r\n\r\n />\r\n
    \r\n {detailMode != \"create\" && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n mode={detailMode}\r\n label=\"Status\"\r\n />\r\n
    \r\n )}\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName={\"Description\"}\r\n textboxType=\"textarea\"\r\n resetForm={resetForm}\r\n labelText={\"Description\"}\r\n mode={detailMode}\r\n defaultValue={detailMode!=='create'?selectedObj.Description:''}\r\n\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName={\"DescriptionEN\"}\r\n textboxType=\"textarea\"\r\n resetForm={resetForm}\r\n labelText={\"DescriptionEN\"}\r\n mode={detailMode}\r\n defaultValue={detailMode!=='create'?selectedObj.DescriptionEN:''}\r\n\r\n />\r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n }\r\n\r\n {loading ? (\r\n <>\r\n {response?.Data?.length > 0 ? (\r\n
    \r\n
    \r\n <>\r\n {\r\n setSelectedObj(obj);\r\n // clickToolbarCallback(\"view\");\r\n }}\r\n View={true}\r\n ViewParametr={\"NotSeen\"}\r\n // handlefiltering={(str: any) => {\r\n // str.Filterlist != undefined\r\n // ? setFilterAndSort(str)\r\n // : setFilterAndSort({\r\n // ...filterAndSort,\r\n // Filterlist: str,\r\n // });\r\n // }}\r\n // filterStr={filterAndSort.Filterlist}\r\n // orderFormatList={filterAndSort.OrderFormat}\r\n // orderFormat={(order) => {\r\n // setFilterAndSort({\r\n // ...filterAndSort,\r\n // OrderFormat: order,\r\n // });\r\n // }}\r\n parentName={\"SalesInvoiceList\"}\r\n theadData={Object.keys(response.Data[0])}\r\n tbodyData={response.Data}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedObjCallback}\r\n rowSelected={selectedObj}\r\n startIndex={1}\r\n // handleView={(e) => {\r\n // setSelectedObj({ Id: e });\r\n // setMode(\"view\");\r\n // setShowSalesInvoiceForm(true);\r\n // }}\r\n totalRecords={response.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handleChangePageSize}\r\n // first={() => {\r\n // getSalesInvoicesAsync(pages);\r\n // setPageNum(pages);\r\n // }}\r\n // end={() => {\r\n // getSalesInvoicesAsync(1);\r\n // setPageNum(1);\r\n // }}\r\n handleGoPage={handleGoPage}\r\n />\r\n \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\nimport {\r\n deleteDataCollection,\r\n getDataCollection,\r\n postDataCollection\r\n} from \"./api\";\r\nimport { DataCollectionPropertiesForm } from \"./DataCollectionPropertiesForm\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface DataCollectionPropsType {\r\n onHide: (e: boolean) => void;\r\n\r\n mode: \"create\" | \"view\" | \"edit\";\r\n}\r\n\r\nexport const DataCollectionForm = ({\r\n onHide,\r\n\r\n mode,\r\n}: DataCollectionPropsType) => {\r\n const [userChanges, setUserChanges] = useState({});\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [response, setResponse] = useState([]);\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [showPropertiesForm, setShowPropertiesForm] = useState(false);\r\n const [showForm, setShowForm] = useState(false);\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [detailMode, setDetailMode] = useState<\"create\" | \"view\" | \"edit\">();\r\n const [search,setsearch]=useState('')\r\n\r\n const handleSubmit = async (event) => {\r\n event.preventDefault();\r\n let data = {\r\n Title: event.target.Title?.value,\r\n TitleEN: event.target.TitleEN?.value,\r\n SystemKey: event.target.SystemKey?.value,\r\n Description: event.target.Description?.value,\r\n DescriptionEN: event.target.DescriptionEN?.value,\r\n };\r\n try {\r\n if (detailMode === \"create\") {\r\n await postDataCollection(data, \"post\");\r\n } else {\r\n \r\n\r\n await postDataCollection(\r\n {\r\n ...data,\r\n ActivityStatus: +event.target.ActivityStatus?.value,\r\n Id: selectedObj.Id,\r\n },\r\n \"put\"\r\n );\r\n }\r\n setForceUpdate(!forceUpdate);\r\n setShowForm(false);\r\n } catch (error) {}\r\n };\r\n\r\n const getDataCollectionAsync = async (SearchString=search) => {\r\n setLoading(false);\r\n\r\n try {\r\n const res = await getDataCollection(SearchString);\r\n if (res.Data.length > 0) {\r\n setResponse(res);\r\n\r\n }\r\n } catch (error) {}\r\n setLoading(true);\r\n };\r\n\r\n\r\n const searchHandler = (str) => {\r\n setSelectedObj(null)\r\n if (str === \"\") {\r\n setsearch(null)\r\n getDataCollectionAsync( null);\r\n } else {\r\n setsearch(str)\r\n getDataCollectionAsync( str);\r\n }\r\n}\r\n\r\n const handleDeleteRow = async () => {\r\n try {\r\n const res = await deleteDataCollection(selectedObj.Id);\r\n setForceUpdate(!forceUpdate);\r\n } catch (error) {}\r\n };\r\n\r\n function cancel() {\r\n setShowForm(false);\r\n }\r\n\r\n\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n };\r\n\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"excel\":\r\n downloadCSV(response.Data, 1, trans(\"dataCollection\"));\r\n break;\r\n case \"refresh\":\r\n setForceUpdate(!forceUpdate);\r\n break;\r\n case \"create\":\r\n setShowForm(true);\r\n setDetailMode(\"create\");\r\n break;\r\n case \"remove\":\r\n if (selectedObj?.Id)\r\n // Toast(\r\n // trans(\"msg_deleteconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // handleDeleteRow\r\n // );\r\n Toast(\r\n trans(\"msg_deleteconfirm\"),\r\n MessageType.confirmDelete,\r\n handleDeleteRow\r\n );\r\n break;\r\n case \"view\":\r\n if (selectedObj?.Id) {\r\n setShowForm(true);\r\n setDetailMode(\"view\");\r\n }\r\n break;\r\n case \"properties\":\r\n if (selectedObj?.Id) setShowPropertiesForm(true);\r\n break;\r\n case \"edit\":\r\n if (selectedObj?.Id) {\r\n setShowForm(true);\r\n\r\n setDetailMode(\"edit\");\r\n }\r\n break;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getDataCollectionAsync();\r\n }, [forceUpdate]);\r\n\r\n return (\r\n <>\r\n {showPropertiesForm && (\r\n {\r\n setShowPropertiesForm(false);\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n\r\n {showForm && (\r\n \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"Title\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"Title\"}\r\n mode={detailMode}\r\n defaultValue={detailMode !== \"create\" ? selectedObj.Title : \"\"}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName={\"TitleEN\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"TitleEN\"}\r\n mode={detailMode}\r\n defaultValue={detailMode !== \"create\" ? selectedObj.TitleEN : \"\"}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"SystemKey\"}\r\n textboxType=\"systemKey\"\r\n resetForm={resetForm}\r\n labelText={\"SystemKey\"}\r\n mode={detailMode}\r\n defaultValue={\r\n detailMode !== \"create\" ? selectedObj.SystemKey : \"\"\r\n }\r\n />\r\n
    \r\n {detailMode != \"create\" && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n mode={detailMode}\r\n label=\"Status\"\r\n />\r\n
    \r\n )}\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName={\"Description\"}\r\n textboxType=\"textarea\"\r\n resetForm={resetForm}\r\n labelText={\"Description\"}\r\n mode={detailMode}\r\n defaultValue={\r\n detailMode !== \"create\" ? selectedObj.Description : \"\"\r\n }\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName={\"DescriptionEN\"}\r\n textboxType=\"textarea\"\r\n resetForm={resetForm}\r\n labelText={\"DescriptionEN\"}\r\n mode={detailMode}\r\n defaultValue={\r\n detailMode !== \"create\" ? selectedObj.DescriptionEN : \"\"\r\n }\r\n />\r\n
    \r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n )}\r\n \r\n )}\r\n\r\n {loading ? (\r\n <>\r\n {response?.Data?.length > 0 ? (\r\n
    \r\n
    \r\n <>\r\n {\r\n setSelectedObj(obj);\r\n // clickToolbarCallback(\"view\");\r\n }}\r\n View={true}\r\n ViewParametr={\"NotSeen\"}\r\n // handlefiltering={(str: any) => {\r\n // str.Filterlist != undefined\r\n // ? setFilterAndSort(str)\r\n // : setFilterAndSort({\r\n // ...filterAndSort,\r\n // Filterlist: str,\r\n // });\r\n // }}\r\n // filterStr={filterAndSort.Filterlist}\r\n // orderFormatList={filterAndSort.OrderFormat}\r\n // orderFormat={(order) => {\r\n // setFilterAndSort({\r\n // ...filterAndSort,\r\n // OrderFormat: order,\r\n // });\r\n // }}\r\n handleDelete={handleDeleteRow}\r\n parentName={\"SalesInvoiceList\"}\r\n theadData={Object.keys(response.Data[0])}\r\n tbodyData={response.Data}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedObjCallback}\r\n rowSelected={selectedObj}\r\n startIndex={5}\r\n // handleView={(e) => {\r\n // setSelectedObj({ Id: e });\r\n // setMode(\"view\");\r\n // setShowSalesInvoiceForm(true);\r\n // }}\r\n />\r\n \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { DYNAMICFORMS_URL } from \"utils/constants\";\r\nimport { ENDPOINTSDYNAMICFORMS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getFormInformationCompleted = (async (pageNum, pageSize ,searchString,orderBy,filterlist, formKey ) => await http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.list,\r\n method: 'get',\r\n params:{\r\n\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString:orderBy,\r\n SearchString : searchString ,\r\n FilterString:filterlist,\r\n formKey:formKey,\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\n\r\nexport const getFormInformationFormkey = (async ( formKey ) => await http({\r\n baseURL:DYNAMICFORMS_URL,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.formKey,\r\n method: 'get',\r\n params:{\r\n formKey:formKey,\r\n }\r\n \r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\nexport const deleteInformationForm =( async (id,formKey) => await http({\r\n baseURL:DYNAMICFORMS_URL ,\r\n url: ENDPOINTSDYNAMICFORMS.DynamicFormApis.data,\r\n method: 'delete',\r\n params: {\r\n id:id,\r\n formKey:formKey\r\n }\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject( err);\r\n})\r\n)","\r\n\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\nimport { DynamicFormDataEntry } from \"../DynamicFormDataEntry/DynamicFormDataEntry\";\r\nimport { deleteInformationForm, getFormInformationCompleted, getFormInformationFormkey } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n\r\ninterface FormProps {\r\n formObj?: any,\r\n}\r\nexport const DynamicFormData = ({formObj }: FormProps) => {\r\n const [response, setResponse] = useState(null);\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [orderBy, setOrderBy] = useState([]);\r\n const [search, setSearch] = useState(null);\r\n const [showEventForm , setShowEventForm] = useState(false)\r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [pages, setPages] = useState(0);\r\n const [filterlist, setFilterlist] = useState(\"\");\r\n const [mode, setMode] = useState<'create' | 'view' | 'edit'>(\"create\");\r\n const [inputs,setInputs] = useState([])\r\n const [informationForm,setInformationForm] = useState({})\r\n const [startIndex,setStartIndex] = useState({})\r\n const [translatedHeader,setTranslatedHeader]=useState(null)\r\n\r\n\r\n\r\n\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\": alert(\"print \"); break;\r\n case \"excel\":downloadCSV(response?.Data ,1 ,trans(\"DynamicFormData\"));break;\r\n case \"refresh\": setForceUpdate(!forceUpdate); break;\r\n case \"help\": alert(\"call api help\"); break;\r\n // case \"remove\": if (selectedObj?.Id) Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , handleDeleteRow); break;\r\n case \"remove\": if (selectedObj?.Id) Toast(trans(\"msg_deleteconfirm\"),MessageType.confirmDelete , handleDeleteRow); break;\r\n\r\n case \"view\": if (selectedObj?.Id) handleViewRow(); break;\r\n case \"create\": handleCreateAction(); break;\r\n case \"edit\": if (selectedObj?.Id) handleEditRow(); break;\r\n\r\n\r\n }\r\n };\r\n\r\n const handleChangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"DynamicForm\" ,e.currentTarget.value )\r\n getFormInformationCompletedAsync(1)\r\n };\r\n\r\n const handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else setPageNum(+value);getFormInformationCompletedAsync(+value);\r\n } else {\r\n\r\n }\r\n };\r\n const handleNextPage = () => {\r\n if(pageNum < pages){\r\n setPageNum(pageNum + 1);\r\n getFormInformationCompletedAsync(pageNum + 1);\r\n };\r\n };\r\n const handlePrevPage = () => {\r\n if(pageNum > 1){\r\n setPageNum((pageNum)=>{return +pageNum - 1});\r\n getFormInformationCompletedAsync(pageNum - 1);\r\n };\r\n };\r\n\r\n const handleDeleteRow =async () => {\r\n await deleteInformationForm(selectedObj.Id,formObj.FormKey)\r\n try {\r\n setForceUpdate(!forceUpdate)\r\n } catch (error) {\r\n \r\n }\r\n\r\n }\r\n\r\n\r\n const handleCreateAction = () => {\r\n setMode(\"create\")\r\n setShowEventForm(true)\r\n }\r\n\r\n const handleViewRow = () => {\r\n setMode(\"view\")\r\n setShowEventForm(true)\r\n \r\n }\r\n\r\n const handleEditRow = () => {\r\n setMode(\"edit\");\r\n setShowEventForm(true)\r\n \r\n }\r\n\r\n\r\n const cansel = ()=>{\r\n setShowEventForm(false)\r\n \r\n }\r\n\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n }\r\n const SearchHandler = (str) => {\r\n setPageNum(1);\r\n if(str ==\"\" ){\r\n setSearch(null)\r\n }else{\r\n setSearch(str)\r\n }\r\n }\r\n\r\n\r\n async function getFormInformationCompletedAsync(PageNum = pageNum) {\r\n setLoading(false)\r\n let pageSizeChangedByUser = getPageSize(\"DynamicForm\" )\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const res = await getFormInformationCompleted(PageNum, pageSizeChangedByUser,search ,orderBy.length == 0 ?null: orderBy.join(\",\") , filterlist,formObj.FormKey);\r\n let start = 1\r\n Object.keys(res.Data.Data[0]).map(item=>{\r\n if(item.includes(\"Id\")||item.includes(\"UID\")){\r\n start +=1\r\n }\r\n })\r\n setStartIndex(start)\r\n setResponse(res.Data);\r\n setPages(res.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(res.Data.TotalRecords / pageSizeChangedByUser) : 1) ;\r\n setMessageType(\"info\")\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n \r\n async function getFormInformationFormkeydAsync(){\r\n setLoading(false)\r\n try {\r\n const res=await getFormInformationFormkey(formObj.FormKey)\r\n setTranslatedHeader(JSON.parse(res.Data.ObjectLabels))\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n useEffect(() => {\r\n getFormInformationCompletedAsync();\r\n getFormInformationFormkeydAsync()\r\n }, [forceUpdate ,orderBy ,filterlist]);\r\n return (\r\n <> \r\n\r\n {showEventForm ? cansel()} show={showEventForm} title={selectedObj?.FormName} >\r\n {setShowEventForm(false);setForceUpdate(!forceUpdate)}}/> : null}\r\n
    \r\n \r\n
    \r\n
    \r\n {loading ?\r\n <>\r\n {\r\n response?.Data.length > 0 ?\r\n {setFilterlist(str) }}\r\n filterStr={filterlist}\r\n parentName={\"CustomerFormInformation\"}\r\n orderFormat={setOrderBy}\r\n orderFormatList={orderBy}\r\n startIndex={startIndex}\r\n theadData={Object.keys(response?.Data[0])}\r\n tbodyData={response.Data}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedObjCallback}\r\n // handleDelete={(e)=>{Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" ,handleDeleteRow)}}\r\n handleDelete={(e)=>{Toast(trans(\"msg_deleteconfirm\"),MessageType.confirmDelete ,handleDeleteRow)}}\r\n\r\n totalRecords={response?.TotalRecords}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={handleNextPage}\r\n HandlePrevPage={handlePrevPage}\r\n handlechangePageSize={handleChangePageSize}\r\n first={() => {getFormInformationCompletedAsync(pages) ; setPageNum(pages)}}\r\n end={() => {getFormInformationCompletedAsync(1) ; setPageNum(1)}}\r\n handleGoPage={handleGoPage}\r\n />\r\n : \r\n }\r\n \r\n : \r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n );\r\n}\r\n\r\n\r\n\r\n","import { Textbox } from \"components/Textbox/Textbox\"\r\nimport { Button } from 'components/Button/Button';\r\nimport { useEffect, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ProvinceDictionary } from \"../Province/components/ProvinceDictionary\"\r\nimport { getCity , postCityApi, putCityApi} from \"./api\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\ninterface Prop {\r\n resetForm?: boolean,\r\n onHide: () => void,\r\n selectedObj?: any,\r\n mode:string,\r\n reload:()=>void,\r\n}\r\ninterface Form{\r\n Name:string,\r\n Code:string,\r\n}\r\nexport const CityForm = ({ reload,onHide, mode ,selectedObj}: Prop) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading,setLoading] = useState()\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n\r\n async function getCityId() {\r\n setLoading(false)\r\n try {\r\n const data = await getCity(selectedObj.Id);\r\n setResponse(data.Data);\r\n\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n }\r\n\r\n const submit = async(e) => {\r\n e.preventDefault();\r\n try {\r\n if (response == null) {\r\n await postCityApi({IsDefault: e.target.checkbox.checked, Name: e.target.Name.value ,Code :e.target.Code.value ,ProvinceId:e.target.Province.value }).then(() => {sessionStorage.setItem(\"changingforms\" , \"false\");setUserChanges({});reload();onHide() });\r\n } else {\r\n await putCityApi({IsDefault: e.target.checkbox.checked, Name: e.target.Name.value ,Code :e.target.Code.value ,ProvinceId:e.target.Province.value ,Id: selectedObj.Id }).then(() => { sessionStorage.setItem(\"changingforms\" , \"false\"); setResponse(null);setUserChanges({});reload();onHide() })\r\n }\r\n \r\n } catch (error) {\r\n \r\n }\r\n \r\n }\r\n\r\n\r\n useEffect(() => {\r\n if(selectedObj && mode != \"create\"){\r\n getCityId()\r\n }else{\r\n setResponse(null)\r\n setLoading(true)\r\n }\r\n }, [selectedObj ,mode])\r\n \r\n \r\n useEffect(()=>{\r\n if(resetForm){\r\n setUserChanges({})\r\n setResponse(null)\r\n\r\n }\r\n },[resetForm])\r\n\r\n\r\n\r\n return (\r\n <> \r\n
    \r\n {loading ? \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}} label={\"Province\"} resetForm={resetForm} name={\"Province\"} ProvinceName={selectedObj?.Province} mode={mode} required={true} value={response?.ProvinceId }/>\r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}} required={true} textboxName={\"Name\"} textboxType=\"text\" resetForm={resetForm} labelText={\"Name\"} mode={mode} defaultValue={response?.Name} />\r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}} required={true} textboxName={\"Code\"} textboxType=\"text\" resetForm={resetForm} labelText={\"Code\"} mode={mode} defaultValue={response?.Code} />\r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={response?.IsDefault}\r\n defaultValue={response?.IsDefault}\r\n labelText={\"isdefault\"}\r\n inputName={\"checkbox\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
    \r\n \r\n { mode !=\"view\" ?\r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n } \r\n
    \r\n\r\n :\r\n \r\n } \r\n
    \r\n \r\n )\r\n}","import { Textbox } from \"components/Textbox/Textbox\"\r\nimport { Button } from 'components/Button/Button';\r\nimport { useEffect, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { getProvince , postProvinceApi, putProvinceApi} from \"./api\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\ninterface Prop {\r\n resetForm?: boolean,\r\n onHide: () => void,\r\n selectedObj?: any,\r\n mode:string,\r\n reload:()=>void,\r\n}\r\ninterface Form{\r\n Name:string,\r\n Code:string,\r\n}\r\nexport const ProvinceForm = ({ reload,onHide, mode ,selectedObj}: Prop) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading,setLoading] = useState()\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = '';\r\n };\r\n\r\n\r\n useEffect(() => {\r\n if(Object.values(userChanges).filter((item)=>item!=null).length>0){\r\n\r\n sessionStorage.setItem(\"changingforms\" , \"true\")\r\n window.addEventListener('beforeunload', handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n };\r\n }else{\r\n sessionStorage.setItem(\"changingforms\" , \"false\")\r\n window.removeEventListener('beforeunload', handleBeforeUnload);\r\n\r\n }\r\n }, [userChanges]);\r\n\r\n async function getProvinceId() {\r\n setLoading(false)\r\n try {\r\n const data = await getProvince(selectedObj?.Id);\r\n setResponse(data.Data);\r\n } catch (error) {\r\n \r\n }\r\n setLoading(true)\r\n }\r\n\r\n const submit = async (e) => {\r\n e.preventDefault();\r\n try {\r\n if (response == null) {\r\n await postProvinceApi({CountryId: e.target.CountryId.value ,IsDefault: e.target.checkbox.checked, Name: e.target.Name.value ,Code :e.target.Code.value }).then(() => {sessionStorage.setItem(\"changingforms\" , \"false\");setUserChanges({});reload() ; onHide()});\r\n } else {\r\n await putProvinceApi({CountryId: e.target.CountryId.value ,IsDefault: e.target.checkbox.checked, Name: e.target.Name.value ,Code :e.target.Code.value , Id: selectedObj.Id }).then(() => { sessionStorage.setItem(\"changingforms\" , \"false\"); setResponse(null);setUserChanges({});reload(); onHide() })\r\n }\r\n \r\n } catch (error) {\r\n \r\n }\r\n }\r\n\r\n\r\n useEffect(() => {\r\n if(selectedObj && mode != \"create\"){\r\n\r\n getProvinceId()\r\n }else{\r\n setResponse(null)\r\n setLoading(true)\r\n }\r\n }, [selectedObj ,mode])\r\n\r\n \r\n useEffect(()=>{\r\n if(resetForm){\r\n setUserChanges({})\r\n setResponse(null)\r\n\r\n }\r\n },[resetForm])\r\n\r\n\r\n return (\r\n <> \r\n
    \r\n {loading ? \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}} required={true} textboxName={\"Name\"} textboxType=\"text\" resetForm={resetForm} labelText={\"Name\"} mode={mode} defaultValue={response?.Name} />\r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}} required={true} textboxName={\"Code\"} textboxType=\"text\" resetForm={resetForm} labelText={\"Code\"} mode={mode} defaultValue={response?.Code} />\r\n
    \r\n
    \r\n {setUserChanges({...userChanges , ...e})}}\r\n defaultChecked={response?.IsDefault}\r\n defaultValue={response?.IsDefault}\r\n labelText={\"isdefault\"}\r\n inputName={\"checkbox\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n /> \r\n
    \r\n { mode !=\"view\" ?\r\n
    \r\n
    \r\n :\r\n
    \r\n
    \r\n } \r\n
    \r\n\r\n :\r\n \r\n } \r\n
    \r\n \r\n )\r\n}","import { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getListSharingCenterArticle = (async (searchString, orderBy,pageNum ,pageSize) => await http({\r\n url: ENDPOINTS.SharingCenterApi.SharingCenterArticleClassification.browse,\r\n method: 'get',\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy,\r\n PageSize: pageSize,\r\n PageNumber: pageNum,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const getSharingCenterArticle = (async (id) => await http({\r\n url: ENDPOINTS.SharingCenterApi.SharingCenterArticleClassification.load,\r\n method: 'get',\r\n params: {Id : id}\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n)\r\n\r\n\r\nexport const deleteSharingCenterArticle = (id) => http({\r\n url: ENDPOINTS.SharingCenterApi.SharingCenterArticleClassification.browse,\r\n method: 'delete',\r\n params: {Id : id}\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const postSharingCenterArticle = (data) => http({\r\n url: ENDPOINTS.SharingCenterApi.SharingCenterArticleClassification.browse,\r\n method: 'post',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject( err);\r\n})\r\n\r\n\r\nexport const putSharingCenterArticle = (data) => http({\r\n url: ENDPOINTS.SharingCenterApi.SharingCenterArticleClassification.browse,\r\n method: 'put',\r\n data:data\r\n}).then((res) => {\r\n\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n})\r\n\r\n","\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getPersonnelCartable = (pageNumber: number, pageSize: number, searchString, orderBy, filterlist, organizationTypeFilter = null ,PersonnelId) => http({\r\n url: ENDPOINTS.cartable.PersonnelCartable.browse,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n positionId:PersonnelId,\r\n \r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\n\r\nexport const getViewForm = (processId: any, selectedPosition?: any) => http({\r\n url: ENDPOINTS.bpmnApi.process.getViewForm,\r\n method: 'get',\r\n params: {\r\n processId: processId,\r\n }\r\n}).then((response) => (response.data))\r\n .catch(err => {\r\n return Promise.reject(err);\r\n })","import { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { ModalStepper } from \"components/ModalStepper/ModalStepper\";\r\nimport { TableTree } from \"components/TableTree/TableTree\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { DynamicForm } from \"types/types\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { GetJobAndReference } from \"./api\";\r\nimport { CartableType } from \"types/enum\";\r\nimport { getDynamicForm } from \"pages/OfficeAutomation/Cartable/components/ActionList/api/api\";\r\ninterface JobAndReferencePropsType {\r\n\r\n referenceId: any,\r\n rowObject?: any\r\n inTab?: any\r\n}\r\n\r\nexport const JobAndReference = ({\r\n referenceId,\r\n rowObject,\r\n inTab,\r\n\r\n}: JobAndReferencePropsType) => {\r\n const [response , setResponse] = useState(null);\r\n const [loading, setLoading] = useState(false);\r\n const [showDynamicForm, setShowDynamicForm] = useState(false);\r\n const [messageType, setMessageType] = useState(\"info\");\r\n const [ShowDynamicFormViewLoading, setShowDynamicFormViewLoading] = useState(false);\r\n const [dynamicForm, setDynamicForm] = useState(\"GeneralRequestForm\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [treeRowObject, setTreeRowObject] = useState();\r\n\r\n async function JobAndReferenceasync(referenceId) {\r\n setLoading(false)\r\n try {\r\n const res = await GetJobAndReference(referenceId )\r\n setResponse(res.Data)\r\n } catch (error) {\r\n setMessageType(\"error\")\r\n setResponse([])\r\n }\r\n setLoading(true)\r\n }\r\n \r\n async function getDynamicFormAsync(id: string) {\r\n setShowDynamicFormViewLoading(false)\r\n try {\r\n const res = await getDynamicForm(id);\r\n if (res.Data)\r\n setDynamicForm(res.Data);\r\n else\r\n setDynamicForm(undefined);\r\n if (dynamicForm) {\r\n setShowDynamicForm(true);\r\n }\r\n else { setShowDynamicForm(false) } \r\n } catch (error) {\r\n setMessageType(\"error\")\r\n }\r\n setShowDynamicFormViewLoading(true)\r\n }\r\n\r\n useEffect( () => {\r\n if(((inTab&&inTab==\"referenceandactionshistory\")||!inTab) ){\r\n JobAndReferenceasync(referenceId) \r\n }\r\n }, [referenceId ,inTab]);\r\n\r\n useEffect(() => { \r\n if(showDynamicForm){\r\n getDynamicFormAsync(treeRowObject.Id);\r\n }\r\n \r\n }, [ showDynamicForm]);\r\n\r\n\r\n return (\r\n <>\r\n {((inTab&&inTab==\"referenceandactionshistory\")||!inTab)&&\r\n \r\n
    \r\n \r\n {showDynamicForm&&\r\n { setShowDynamicForm(false); }} show={showDynamicForm}> \r\n {ShowDynamicFormViewLoading ? \r\n <>\r\n {showDynamicForm &&\r\n (dynamicForm ? (\r\n { setShowDynamicForm(false); setForceUpdate(true);setShowDynamicForm(true); }}\r\n Id={treeRowObject?.Id}\r\n taskTitle={treeRowObject?.TaskTitle}\r\n formList={dynamicForm}\r\n parentMode={\"view\"}\r\n \r\n />\r\n ) : ())\r\n } \r\n \r\n : \r\n }\r\n \r\n }\r\n {\r\n loading ? (\r\n response?.length>0 ?\r\n {setTreeRowObject(e); setShowDynamicForm(true)}}\r\n parentName={\"JobAndReferencePersonnel\"}\r\n startIndex={5}\r\n maxLevel={1}\r\n defultShow={true}\r\n Childrenparams={\"ActionList\"} \r\n /> \r\n : ) \r\n : \r\n }\r\n
    \r\n }\r\n \r\n \r\n );\r\n}","import { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const GetJobAndReference = (referenceId ) => http({\r\n url: ENDPOINTS.cartable.PersonnelCartable.JobAndReference,\r\n method: 'get',\r\n params: {\r\n referenceId:referenceId \r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n","import { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { REPORT_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSREPORT } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\n\r\nexport const getWithFeedApi = (id: any) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.Report.feedApi,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n Id: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const sendWithFeedMethod = (data: string, method) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.Report.tree,\r\n method: method,\r\n data: data\r\n}).then((res) => {\r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const getWithFeedMethod = (id: any) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.Report.tree,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n Id: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const sendWithFeed = (data: string, method , Id = null) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.Report.withFeed,\r\n method: method,\r\n params:{\r\n Id:Id\r\n },\r\n data: data\r\n}).then((res) => {\r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const getWithFeed = (id: any) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.Report.report,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n id: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const getReportView = (id: any) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.Report.reportView,\r\n method: 'get',\r\n headers: { \"Accept-Language\": \"en\" },\r\n params: {\r\n id: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n\r\nexport const sendWithFeedApi = (data: string, method) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.Report.feedApi,\r\n method: method,\r\n data: data\r\n}).then((res) => {\r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const getFeedApis = (data: string, method) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.Report.feedApi,\r\n method: method,\r\n data: data\r\n}).then((res) => {\r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const getFeedApiDictionaryApi = (str: string, id) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.loadApi,\r\n method: \"get\",\r\n params: {\r\n searchString: str\r\n }\r\n}).then((res) => {\r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const getFeedMethodsDictionaryApi = (str: string, id) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.loadMethod,\r\n method: \"get\",\r\n params: {\r\n searchString: str\r\n }\r\n}).then((res) => {\r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const sendFeedApi = (data, method) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.browseApi,\r\n method:method,\r\n data:data\r\n}).then((res) => {\r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const sendFeedMethodsForm = (data, method) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.browseMethod,\r\n method:method,\r\n data:data\r\n}).then((res) => {\r\n return res\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const getParameterDataTypeApi = (isMethod) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.parameterTypes,\r\n method:\"get\",\r\n params:{\r\n isMethod\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const getParameterEnumApi = (dataType) => http({\r\n url:ENDPOINTS.enumeration,\r\n params:{\r\n enumerationType:dataType\r\n },\r\n method:\"get\"\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const getParameterEnumMethod = (dataType) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.parameterEnums,\r\n params:{\r\n enumName:dataType\r\n },\r\n method:\"get\"\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const getenumApi = () => http({\r\n url:ENDPOINTS.enumTypes,\r\n method:\"get\"\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const getenumMethod = () => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.methodEnumTypes,\r\n\r\n method:\"get\"\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const getDicMethod = () => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.GenericDictionary,\r\n\r\n method:\"get\"\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const getParameterDictionary = (search ,typeName) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.GenericDictionaryValues,\r\n method:\"get\",\r\nparams:{\r\n searchString:search,\r\n typeName:typeName\r\n},\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const GenerateParameterFromDTO = (serviceKey,dtoFullName) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.gnerate,\r\n params:{\r\n serviceKey ,\r\n dtoFullName\r\n },\r\n method:\"get\"\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const putParameter = (data) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.parameters,\r\ndata,\r\n method:\"put\"\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const postParameter = (data) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.parameters,\r\ndata,\r\n method:\"post\"\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const putTemplates = (data) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.templates,\r\ndata,\r\n method:\"put\"\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const deletetemplates= (id) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.templates,\r\n method:\"delete\",\r\n params:{\r\n id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const getTemplates= (reportId) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.templatesList,\r\n method:\"get\",\r\n params:{\r\n reportId\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const postTemplates= (data) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.templates,\r\n method:\"post\",\r\n data:data\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\nexport const deleteParameter= (id) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.parameters,\r\n method:\"delete\",\r\n params:{\r\n id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const getParameterOperatorTypesDictionaryApi = () => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.operatorTypes,\r\n method:\"get\", \r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\nexport const deleteApiFeed = (id) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.browseApi,\r\n method:\"delete\", \r\n params:{\r\n id\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\nexport const deleteMethodFeed = (id) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.ReportFeed.browseMethod,\r\n method:\"delete\", \r\n params:{\r\n id\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});","import { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { REPORT_URL } from \"utils/constants\";\r\nimport { ENDPOINTSREPORT } from \"utils/endpoints\";\r\nimport { deleteApiFeed, getFeedApiDictionaryApi, sendFeedApi } from \"./api\";\r\n\r\ninterface FeedApiFormPropsType {\r\n id?: any;\r\n mode?: any;\r\n onHide: () => void;\r\n reset: (ans: boolean) => void;\r\n}\r\n\r\nexport const FeedApiForm = ({\r\n id,\r\n mode,\r\n onHide,\r\n reset,\r\n}: FeedApiFormPropsType) => {\r\n let data, method;\r\n\r\n\r\n const [resetForm, setResetForm] = useState(false);\r\n const formRef = useRef(\"\");\r\n const buttonRef = useRef();\r\n const [loading, setLoading] = useState(false);\r\n const [apiList,setApiList]=useState([])\r\n const [selectedObj, setSelectedObj] = useState< any>(null);\r\n const [detailMode,setDetailMode]=useState('create')\r\n\r\n\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault();\r\n\r\n let url = formRef.current.FeedApiUrl.value.includes(\"api/\")\r\n ? \"#\" +\r\n formRef.current.Service.value +\r\n \"#/\" +\r\n formRef.current.FeedApiUrl.value\r\n : \"#\" +\r\n formRef.current.Service.value +\r\n \"#api/\" +\r\n formRef.current.FeedApiUrl.value;\r\n if (id && mode !== \"create\") {\r\n data = {\r\n Id: id,\r\n Title: formRef.current.Title.value,\r\n SystemKey: formRef.current.SystemKey.value,\r\n FeedApiUrl: url,\r\n };\r\n method = \"put\";\r\n } else {\r\n data = {\r\n Title: formRef.current.Title.value,\r\n SystemKey: formRef.current.SystemKey.value,\r\n FeedApiUrl: url,\r\n };\r\n method = \"post\";\r\n }\r\n try {\r\n await sendFeedApi(data, method);\r\n setResetForm(true);\r\n reset(true);\r\n onHide();\r\n } catch (error) {}\r\n }\r\n\r\n\r\n const getFeedApiDictionaryApiAsync=async()=>{\r\n setLoading(false)\r\n try{\r\n const res= await getFeedApiDictionaryApi('','')\r\n if(!!res.data.Data.length){\r\n setApiList(res.data.Data); \r\n }\r\n }\r\n catch(error){\r\n\r\n }\r\n setLoading(true)\r\n }\r\n\r\n const selectedIdCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n}\r\n function cancel() {\r\n onHide();\r\n }\r\n\r\n\r\n\r\n const handleDeleteItem=async()=>{\r\n try{\r\n await deleteApiFeed(selectedObj.Id)\r\n getFeedApiDictionaryApiAsync()\r\n\r\n }\r\n catch(error){}\r\n }\r\n\r\n;\r\n\r\n useEffect(() => {\r\n if (mode === \"create\") {\r\n setResetForm(true);\r\n }\r\n }, [mode]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n useEffect(()=>{\r\n getFeedApiDictionaryApiAsync()\r\n },[])\r\n\r\n return (\r\n
    \r\n {loading ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {mode !== \"view\" ? (\r\n <>\r\n \r\n {\r\n cancel();\r\n }}\r\n />\r\n \r\n ) : (\r\n {\r\n cancel();\r\n }}\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n {\r\n !!apiList.length &&\r\n {\r\n setSelectedObj(e);\r\n \r\n }}\r\n parentName={\"FeedParameters\"}\r\n startIndex={0}\r\n theadData={Object.keys(apiList[0])}\r\n tbodyData={apiList}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedIdCallback}\r\n // handleEdit={(e) => {\r\n // setSelectedObj(e);\r\n // setDetailMode('edit')\r\n // }}\r\n handleDelete={()=>{handleDeleteItem()}}\r\n />}\r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getFeedApiDictionaryApi } from \"./api\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { FeedApiForm } from \"./FeedApiForm\";\r\ninterface FeedApiPropsType {\r\n\r\n resetForm?: boolean,\r\n required?: boolean,\r\n returnObj?: boolean,\r\n disable?: boolean,\r\n value?: string,\r\n mode?: string,\r\n ApiSelectedList?: any,\r\n name: string,\r\n FeedApiListCallback?: (e) => void,\r\n}\r\n\r\nexport const FeedApi = ({ value,mode,disable= false,returnObj=false,ApiSelectedList ,resetForm,required , name=\"\" ,FeedApiListCallback}: FeedApiPropsType) => {\r\n const [FeedApi, setFeedApis] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag, setFlag] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [rquird , setRquird] = useState(false);\r\n const [showFeedApiForm , setShowFeedApiForm] = useState(false);\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const [disabled, setDisabled] = useState(mode == \"view\" ? true : false);\r\n const [selectedItem, setSelectedItem] = useState([]);\r\n\r\n const countRef = useRef(0)\r\n\r\n\r\n async function getFeedApiListAsync(search?, id?) {\r\n try {\r\n const res = await getFeedApiDictionaryApi(search, id);\r\n setFeedApis(res.data.Data)\r\n setShow(true)\r\n setFlag(!flag)\r\n } catch (err: any) {\r\n \r\n }\r\n }\r\n\r\n\r\n const Auto = (e) => {\r\n setValidat(false)\r\n setRquird(false)\r\n setShow(true)\r\n getFeedApiListAsync(e.target.value, \"\")\r\n setFlag(!flag)\r\n }\r\n const resetData = (e) => {\r\n setValidat(false)\r\n setRquird(false)\r\n setShow(true)\r\n inputRef.current.value = null\r\n inputIdRef.current.value = null\r\n getFeedApiListAsync(null, \"\")\r\n setFlag(!flag)\r\n }\r\n\r\n function userSelecter(){\r\n // setValeu(options_PostLevel_values[countRef.current],options_PostLevel_keys[countRef.current])\r\n\r\n setShow(false)\r\n }\r\n\r\n const kydown = (event) => { \r\n\r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < FeedApi.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = FeedApi.length-1;\r\n }\r\n }\r\n document.getElementById(\"FeedApiIndex\"+countRef.current)?.scrollIntoView({block:'end',behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n }\r\n\r\n const CheckFeedApi =async (e)=>{\r\n setTimeout(async() => {\r\n if(e.target.value.length == 0&& inputRef.current?.value?.length == 0 && e.target.value==\"\"){\r\n inputIdRef.current.value = null\r\n if(required)\r\n setRquird(true)\r\n }else{\r\n setRquird(false)\r\n try{\r\n const res = await getFeedApiDictionaryApi(e.target.value,\"\")\r\n if(Object.keys(res).length==0){\r\n setValidat(true)\r\n }\r\n if(Object.keys(res).length == 1){\r\n setValeu(Object.values(res)[0], Object.keys(res)[0] )\r\n }\r\n }catch(err:any){\r\n setValidat(true)\r\n }\r\n }\r\n }, 200);\r\n await delay(200)\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n }\r\n\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n\r\n const setValeu = (item, id) => {\r\n if(inputIdRef != null && inputIdRef.current != null){\r\n setRquird(false)\r\n inputRef.current.value = item.Title\r\n inputIdRef.current.value = id\r\n setFeedApis(null)\r\n setFlag(!flag)\r\n }\r\n }\r\n\r\n \r\n useEffect(() => {\r\n if (value) {\r\n getFeedApiListAsync(null, value)\r\n }\r\n }, [value ,resetForm]);\r\n\r\n \r\n useEffect(() => {\r\n setDisabled(mode == \"view\" ? true : false)\r\n \r\n }, [mode]);\r\n\r\n\r\n useEffect(() => {\r\n if(ApiSelectedList){\r\n\r\n setSelectedItem(ApiSelectedList)\r\n }\r\n \r\n }, [ApiSelectedList]);\r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) {\r\n setShow(false);\r\n }\r\n }\r\n async function deleteaOption(obj , index) {\r\n let list = selectedItem\r\n list.splice(index,1)\r\n FeedApiListCallback&& FeedApiListCallback(list)\r\n setSelectedItem(list)\r\n \r\n}\r\n\r\n function addOption(e) {\r\n e.stopPropagation()\r\n e.preventDefault()\r\n let Name = inputRef.current.value \r\n let Id = inputIdRef.current.value\r\n\r\n if(FeedApiListCallback){\r\n let selectList = JSON.parse(JSON.stringify(selectedItem))\r\n FeedApiListCallback([...selectList, {Id:Id , Name:Name}])\r\n setSelectedItem(selectList.concat({Id:Id , Name:Name}))\r\n }else{ }\r\n}\r\n\r\n function addNewFeedApi(e) {\r\n e.stopPropagation()\r\n e.preventDefault()\r\n setShowFeedApiForm(true)\r\n }\r\n\r\n useEffect(() =>{\r\n if(show){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n\r\n } \r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n\r\n \r\n },[show ])\r\n\r\n\r\n return (\r\n <>\r\n setShowFeedApiForm(false)} show={showFeedApiForm}>\r\n {setShowFeedApiForm(false)}}\r\n reset={resetData}\r\n />\r\n \r\n\r\n
    \r\n \r\n {required && *}\r\n \r\n <>\r\n
    \r\n
    \r\n {e.stopPropagation(); Auto(e) }} onFocus={() => {getFeedApiListAsync( valueName); setShow(true) }} ref={inputRef} list=\"FeedApiList\" name=\"browser\" className={\"text-box__box form-control\" + \" browser\"+name} type={'text'} id={\"browser\"+name} onChange={Auto} disabled={disable? disable : disabled} />\r\n {\r\n show &&\r\n
    \r\n {FeedApi&&FeedApi.map((item, index) => {\r\n\r\n return(\r\n
    { setValeu(item, item.Id);addOption(e) }} key={item.Id} >\r\n
    {item.Title}
    \r\n
    {item.FeedApiUrl}
    \r\n
    \r\n )\r\n })}\r\n
    \r\n } \r\n
    \r\n {!disable&&\r\n <>\r\n
    \r\n } btnType=\"submit\" />\r\n
    \r\n
    \r\n } btnType=\"primary\" />\r\n
    \r\n \r\n\r\n\r\n }\r\n
    \r\n
    \r\n { selectedItem.map((item, index) => (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {trans(item.Name) } \r\n
    \r\n \r\n
    {deleteaOption(item, index)}}>\r\n \r\n
    \r\n
    \r\n ))}\r\n
    \r\n\r\n \r\n
    \r\n \r\n )\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { deleteMethodFeed, getFeedMethodsDictionaryApi, sendFeedMethodsForm } from \"./api\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\n\r\ninterface FeedMethodsFormPropsType {\r\n id?: any,\r\n mode?: any,\r\n onHide: () => void\r\n reset: (ans: boolean) => void\r\n}\r\n\r\nexport const FeedMethodsForm = ({\r\n id,\r\n mode,\r\n onHide,\r\n reset,\r\n}: FeedMethodsFormPropsType) => {\r\n\r\n let data, method;\r\n const [FeedMethodsForm, setFeedMethodsForm] = useState(undefined);\r\n const [methodList,setMethodList]=useState([])\r\n const [selectedObj, setSelectedObj] = useState< any>(null);\r\n const [resetForm, setResetForm] = useState(false);\r\n const formRef = useRef(\"\")\r\n const buttonRef = useRef()\r\n const [loading , setLoading] = useState(false) \r\n\r\n\r\n\r\n async function formSubmit(event) {\r\n event.preventDefault();\r\n if (id && mode !== \"create\") {\r\n data = {\r\n Id: id,\r\n Title: formRef.current.Title.value,\r\n SystemKey: formRef.current.SystemKey.value,\r\n ClassName: formRef.current.ClassName.value,\r\n MethodName: formRef.current.MethodName.value,\r\n };\r\n method = \"put\";\r\n } else {\r\n data = {\r\n\r\n Title: formRef.current.Title.value,\r\n SystemKey: formRef.current.SystemKey.value,\r\n ClassName: formRef.current.ClassName.value,\r\n MethodName: formRef.current.MethodName.value,\r\n };\r\n method = \"post\";\r\n } \r\n try {\r\n await sendFeedMethodsForm(data, method);\r\n setResetForm(true);\r\n reset(true);\r\n onHide();\r\n\r\n } catch (error) {\r\n\r\n }\r\n \r\n \r\n }\r\n \r\n const selectedIdCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n }\r\n\r\n const getFeedMethodDictionaryApiAsync=async()=>{\r\n setLoading(false)\r\n try{\r\n const res= await getFeedMethodsDictionaryApi('','')\r\n if(!!res.data.Data.length){\r\n setMethodList(res.data.Data); \r\n }\r\n }\r\n catch(error){\r\n \r\n }\r\n setLoading(true)\r\n }\r\n\r\n\r\n function cancel() {\r\n onHide()\r\n \r\n }\r\n\r\n\r\n const handleDeleteItem=async()=>{ \r\n try{\r\n await deleteMethodFeed(selectedObj.Id)\r\n getFeedMethodDictionaryApiAsync()\r\n\r\n }\r\n catch(error){}\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n if ( mode === \"create\"){\r\n setResetForm(true);\r\n }\r\n }, [ mode]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n \r\n setResetForm(false);\r\n }\r\n\r\n }, [resetForm]);\r\n useEffect(()=>{\r\n getFeedMethodDictionaryApiAsync()\r\n },[])\r\n\r\n return (\r\n
    \r\n {loading ? \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {mode !== \"view\" ?\r\n <>\r\n
    \r\n
    \r\n
    \r\n {\r\n !!methodList.length &&\r\n {\r\n setSelectedObj(e);\r\n \r\n }}\r\n parentName={\"FeedParameters\"}\r\n startIndex={0}\r\n theadData={Object.keys(methodList[0])}\r\n tbodyData={methodList}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedIdCallback}\r\n // handleEdit={(e) => {\r\n // setSelectedObj(e);\r\n // setDetailMode('edit')\r\n // }}\r\n handleDelete={()=>{handleDeleteItem()}}\r\n />}\r\n
    \r\n
    \r\n
    \r\n :\r\n }\r\n \r\n );\r\n}","import { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getFeedMethodsDictionaryApi } from \"./api\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { FeedMethodsForm } from \"./FeedMethodsForm\";\r\ninterface FeedMethodsPropsType {\r\n\r\n resetForm?: boolean,\r\n required?: boolean,\r\n returnObj?: boolean,\r\n disable?: boolean,\r\n value?: string,\r\n mode?: string,\r\n FeedMethodList?: any,\r\n name: string,\r\n FeedMethodsListCallback?: (e) => void,\r\n\r\n}\r\n\r\nexport const FeedMethods = ({ value,mode,returnObj=false,FeedMethodList,disable ,resetForm,required , name=\"\" ,FeedMethodsListCallback}: FeedMethodsPropsType) => {\r\n const [FeedMethods, setFeedMethodss] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [flag, setFlag] = useState(false);\r\n const [show, setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [showFeedMethodsForm , setShowFeedMethodsForm] = useState(false);\r\n\r\n const [rquird , setRquird] = useState(false);\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const [disabled, setDisabled] = useState(mode == \"view\" ? true : false);\r\n const [selectedItem, setSelectedItem] = useState([]);\r\n\r\n const countRef = useRef(0)\r\n\r\n\r\n async function getFeedMethodsListAsync(search?, id?) {\r\n try {\r\n const res = await getFeedMethodsDictionaryApi(search, id);\r\n setFeedMethodss(res.data.Data)\r\n\r\n setShow(true)\r\n setFlag(!flag)\r\n } catch (err: any) {\r\n \r\n }\r\n }\r\n\r\n const resetData = (e) => {\r\n setValidat(false)\r\n setRquird(false)\r\n setShow(true)\r\n inputRef.current.value = null\r\n inputIdRef.current.value = null\r\n getFeedMethodsListAsync(null, \"\")\r\n setFlag(!flag)\r\n }\r\n const Auto = (e) => {\r\n setValidat(false)\r\n setRquird(false)\r\n setShow(true)\r\n getFeedMethodsListAsync(e.target.value, \"\")\r\n setFlag(!flag)\r\n }\r\n\r\n function userSelecter(){\r\n // setValeu(options_PostLevel_values[countRef.current],options_PostLevel_keys[countRef.current])\r\n\r\n setShow(false)\r\n }\r\n function addNewFeedMethods(e) {\r\n e.stopPropagation()\r\n e.preventDefault()\r\n setShowFeedMethodsForm(true)\r\n\r\n\r\n}\r\n\r\n\r\n const kydown = (event) => { \r\n\r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < FeedMethods.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = FeedMethods.length-1;\r\n }\r\n }\r\n document.getElementById(\"FeedMethodsIndex\"+countRef.current)?.scrollIntoView({block:'end',behavior:\"smooth\"})\r\n setCount(countRef.current)\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n }\r\n\r\n const CheckFeedMethods =async (e)=>{\r\n setTimeout(async() => {\r\n if(e.target.value.length == 0&& inputRef.current?.value?.length == 0 && e.target.value==\"\"){\r\n inputIdRef.current.value = null\r\n if(required)\r\n setRquird(true)\r\n }else{\r\n setRquird(false)\r\n try{\r\n const res = await getFeedMethodsDictionaryApi(e.target.value,\"\")\r\n if(Object.keys(res).length==0){\r\n setValidat(true)\r\n }\r\n if(Object.keys(res).length == 1){\r\n setValeu(Object.values(res)[0], Object.keys(res)[0] )\r\n }\r\n }catch(err:any){\r\n setValidat(true)\r\n }\r\n }\r\n }, 200);\r\n await delay(200)\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n }\r\n\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n\r\n\r\n\r\n\r\n const setValeu = (item, id) => {\r\n if(inputIdRef != null && inputIdRef.current != null){\r\n\r\n setRquird(false)\r\n inputRef.current.value = item.ClassName\r\n inputIdRef.current.value = id\r\n setFeedMethodss(null)\r\n\r\n \r\n\r\n setFlag(!flag)\r\n }\r\n }\r\n\r\n \r\n useEffect(() => {\r\n if (value) {\r\n getFeedMethodsListAsync(null, value)\r\n }\r\n }, [value ,resetForm]);\r\n\r\n \r\n useEffect(() => {\r\n setDisabled(mode == \"view\" ? true : false)\r\n \r\n }, [mode]);\r\n useEffect(() => {\r\n if(FeedMethodList){\r\n\r\n setSelectedItem(FeedMethodList)\r\n }\r\n \r\n }, [FeedMethodList]);\r\n\r\n\r\n\r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) {\r\n setShow(false);\r\n }\r\n }\r\n async function deleteaOption(obj , index) {\r\n let list = selectedItem\r\n list.splice(index,1)\r\n FeedMethodsListCallback&& FeedMethodsListCallback(list)\r\n setSelectedItem(list)\r\n \r\n}\r\n\r\n function addOption(e) {\r\n e.stopPropagation()\r\n e.preventDefault()\r\n let Name = inputRef.current.value \r\n let Id = inputIdRef.current.value\r\n\r\n if(FeedMethodsListCallback){\r\n let selectList = JSON.parse(JSON.stringify(selectedItem))\r\n FeedMethodsListCallback([...selectList, {Id:Id , Name:Name}])\r\n setSelectedItem(selectList.concat({Id:Id , Name:Name}))\r\n }else{ }\r\n}\r\n\r\n useEffect(() =>{\r\n if(show){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n\r\n } \r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n\r\n \r\n },[show ])\r\n\r\n\r\n return (\r\n <>\r\n setShowFeedMethodsForm(false)} show={showFeedMethodsForm}>\r\n {setShowFeedMethodsForm(false)}}\r\n reset={resetData}\r\n />\r\n \r\n\r\n
    \r\n \r\n {required && *}\r\n \r\n <>\r\n
    \r\n
    \r\n {e.stopPropagation(); Auto(e) }} onFocus={() => {getFeedMethodsListAsync( valueName); setShow(true) }} ref={inputRef} list=\"FeedMethodsList\" name=\"browser\" className={\"text-box__box form-control\" + \" browser\"+name} type={'text'} id={\"browser\"+name} onChange={Auto} disabled={disable ?disable: disabled} />\r\n {\r\n show &&\r\n
    \r\n {FeedMethods&&FeedMethods.map((item, index) => {\r\n return(\r\n
    { setValeu(item, item.Id);addOption(e) }} key={item.Id} >\r\n
    {item.ClassName}
    \r\n
    {item.MethodName}
    \r\n
    \r\n )\r\n })}\r\n
    \r\n } \r\n
    \r\n {!disable&&\r\n <>\r\n
    \r\n } btnType=\"submit\" />\r\n
    \r\n
    \r\n } btnType=\"primary\" />\r\n
    \r\n \r\n }\r\n
    \r\n
    \r\n { selectedItem.map((item, index) => (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {trans(item.Name) } \r\n
    \r\n \r\n
    {deleteaOption(item, index)}}>\r\n \r\n
    \r\n
    \r\n ))}\r\n
    \r\n\r\n \r\n
    \r\n \r\n )\r\n}","import { SelectBox } from \"components/Select/Select\";\r\nimport { InputHTMLAttributes, useEffect, useState } from \"react\";\r\nimport { getDicMethod, getenumApi, getenumMethod } from \"./api\";\r\n\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\n\r\ninterface enumProp extends InputHTMLAttributes {\r\n name: string;\r\n value?: any;\r\n \r\n feedType?: any;\r\n mode?: string;\r\n required?:boolean \r\n IsEnum?:boolean \r\n withoutLable?:boolean \r\n onChange?: (e) => void,\r\n}\r\nexport const EnumsDictionary = ({feedType, name, value ,mode,withoutLable,IsEnum=true , required ,onChange }: enumProp) => {\r\n const [optionsenum, setOptionsenum] = useState();\r\n const [errcode, setErrcode] = useState();\r\n const getenumAsync = async ()=>{\r\n if(feedType==\"Api\"){\r\n if(IsEnum){\r\n const res = await getenumApi()\r\n setOptionsenum(res?.Data)\r\n if(value) onChange&& onChange(value)\r\n else\r\n onChange&& onChange(Object.keys(res?.Data)[0])\r\n \r\n }\r\n }else{\r\n if(IsEnum){\r\n \r\n const res = await getenumMethod()\r\n setOptionsenum(res?.Data)\r\n if(value) onChange&& onChange(value)\r\n else\r\n onChange&& onChange(Object.keys(res?.Data)[0])}else{\r\n const res = await getDicMethod()\r\n setOptionsenum(res?.Data)\r\n if(value) onChange&& onChange(value)\r\n else\r\n onChange&& onChange(Object.keys(res?.Data)[0]) }\r\n }\r\n try {\r\n } catch (error:any) {\r\n setErrcode(error.response.status)\r\n }\r\n }\r\n useEffect(() => {\r\n getenumAsync()\r\n return () => {\r\n setErrcode(\"\")\r\n };\r\n \r\n }, [IsEnum,feedType]);\r\n\r\n return (\r\n <>\r\n {optionsenum ?\r\n
    \r\n
    \r\n {onChange&& onChange(e.target.value) }}\r\n required={required}\r\n mode={mode}\r\n lable={!withoutLable ?(IsEnum ? \"enumType\" :\"DictionaryType\" ):undefined}\r\n selectType=\"select\"\r\n value={value?value:Object.keys(optionsenum)[0]}\r\n val={Object.keys(optionsenum)}\r\n options={Object.values(optionsenum)}\r\n name={name}\r\n >\r\n
    \r\n
    \r\n : \r\n\r\n }\r\n
    \r\n
    \r\n \r\n );\r\n};\r\n","import { SelectBox } from \"components/Select/Select\";\r\nimport { InputHTMLAttributes, useEffect, useState } from \"react\";\r\nimport { getParameterDataTypeApi } from \"./api\";\r\n\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\n\r\ninterface ParameterDataTypeProp extends InputHTMLAttributes {\r\n name: string;\r\n value?: any;\r\n mode?: string;\r\n required?:boolean \r\n onChange?: (e) => void,\r\n defaultValue?:any\r\n isMethod?:any\r\n}\r\nexport const ParameterDataTypeDictionary = ({ name,defaultValue, isMethod,value ,mode , required ,onChange }: ParameterDataTypeProp) => {\r\n const [optionsParameterDataType, setOptionsParameterDataType] = useState();\r\n const [errcode, setErrcode] = useState();\r\n const getParameterDataTypeAsync = async ()=>{\r\n const res = await getParameterDataTypeApi(isMethod)\r\n if(res?.Data ==null){\r\n setOptionsParameterDataType(res?.Data)\r\n }else{\r\n setOptionsParameterDataType(res?.Data)\r\n\r\n }\r\n try {\r\n } catch (error:any) {\r\n setErrcode(error.response.status)\r\n\r\n }\r\n }\r\n useEffect(() => {\r\n getParameterDataTypeAsync()\r\n return () => {\r\n \r\n setErrcode(\"\")\r\n };\r\n \r\n }, []);\r\n useEffect(()=>{\r\n if(defaultValue){\r\n onChange&& onChange(defaultValue)\r\n }\r\n },[defaultValue])\r\n\r\n return (\r\n <>\r\n {optionsParameterDataType ?\r\n
    \r\n
    \r\n {onChange&& onChange(e.target.value) }}\r\n required={required}\r\n mode={mode}\r\n lable=\"ParameterDataType\"\r\n selectType=\"select\"\r\n value={value?.includes(\"Enums\") ? \"Enumerations\" : value}\r\n options={ Object.values(optionsParameterDataType) }\r\n val={ Object.keys(optionsParameterDataType)}\r\n name={name}\r\n >\r\n
    \r\n
    \r\n : \r\n\r\n }\r\n
    \r\n
    \r\n \r\n );\r\n};\r\n","import { SelectBox } from \"components/Select/Select\";\r\nimport { InputHTMLAttributes, useEffect, useState } from \"react\";\r\nimport { getParameterEnumApi, getParameterEnumMethod } from \"./api\";\r\n\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\n\r\ninterface ParameterEnumProp extends InputHTMLAttributes {\r\n name: string;\r\n value?: any;\r\n enumType?: any;\r\n feedType?: any;\r\n mode?: string;\r\n required?:boolean \r\n withoutLable?:boolean \r\n onChange?: (e,string?) => void,\r\n}\r\nexport const ParameterEnumDictionary = ({ enumType,feedType, name, value ,mode,withoutLable , required ,onChange }: ParameterEnumProp) => {\r\n const [optionsParameterEnum, setOptionsParameterEnum] = useState();\r\n const [defaultValue, setDefaultValue] = useState(value);\r\n const [errcode, setErrcode] = useState();\r\n const getParameterEnumAsync = async ()=>{\r\n try {\r\n if(!enumType.includes(\"Dictionaries\")){\r\n\r\n if(feedType==\"Api\"){\r\n const res = await getParameterEnumApi(enumType)\r\n setOptionsParameterEnum(res?.Data)\r\n \r\n }else{\r\n const res = await getParameterEnumMethod(enumType)\r\n setOptionsParameterEnum(res?.Data)\r\n \r\n onChange && onChange(Object.keys(res?.Data)[0],Object.values(res?.Data)[0])\r\n }\r\n }\r\n } catch (error:any) {\r\n setErrcode(error.response?.status)\r\n\r\n }\r\n }\r\n useEffect(() => {\r\n getParameterEnumAsync()\r\n return () => {\r\n \r\n setErrcode(\"\")\r\n };\r\n \r\n }, [enumType]);\r\n\r\n\r\n return (\r\n <>\r\n {optionsParameterEnum ?\r\n
    \r\n
    \r\n { onChange&& onChange(e.target.value,optionsParameterEnum[e.target.value]);setDefaultValue(e.target.value) }}\r\n required={required}\r\n mode={mode}\r\n lable={!withoutLable ?\"ParameterDefaultValue\":undefined}\r\n selectType=\"select\"\r\n value={defaultValue?defaultValue:Object.keys(optionsParameterEnum)[0]}\r\n val={Object.keys(optionsParameterEnum)}\r\n options={Object.values(optionsParameterEnum)}\r\n name={name}\r\n >\r\n
    \r\n
    \r\n : \r\n\r\n }\r\n
    \r\n
    \r\n \r\n );\r\n};\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getParameterDictionary } from \"./api\";\r\ninterface CustomerPositionPropsType {\r\n label: string,\r\n hasBorder?: boolean,\r\n resetForm: boolean,\r\n required?: boolean,\r\n withoutLable?: boolean,\r\n value?: string,\r\n mode?: string,\r\n typeName?: string,\r\n name: string,\r\n Change?: (e) => void,\r\n onChange?: (e) => void,\r\n isOptional?:boolean\r\n}\r\n\r\nexport const ParameterDictionary = ({ label, hasBorder,typeName, isOptional=false,value, mode ,resetForm,required ,withoutLable, name=\"\", Change ,onChange}: CustomerPositionPropsType) => {\r\n const [Parameter, setParameter] = useState();\r\n const [valueName, setValueName] = useState();\r\n const [show, setShow] = useState(false);\r\n const [validat , setValidat] = useState(false);\r\n const [count,setCount] = useState(0);\r\n const inputRef = useRef();\r\n const inputIdRef = useRef();\r\n const ParameterRef = useRef(Parameter);\r\n const validRef = useRef(false);\r\n const countRef = useRef(0)\r\n\r\n let optionList : any =[]\r\n async function getParameterDictionaryAsync( id?,search?) {\r\n try {\r\n const res = await getParameterDictionary(search,typeName);\r\n if(Object.keys(res.Data).length>0){\r\n if (id) {\r\n setValeu(res.Data[id] , id)\r\n setValueName(res.Data[id])\r\n if(res.Data[id]){\r\n onChange && onChange({Name:res.Data[id] , Id : id}) \r\n }else{\r\n onChange && onChange(null) \r\n }\r\n }\r\n\r\n }else{\r\n onChange && onChange(null)\r\n }\r\n setParameter(res.Data) \r\n ParameterRef.current = res.Data\r\n } catch (err: any) {\r\n onChange && onChange(null)\r\n\r\n }\r\n\r\n }\r\n\r\n const Auto = (e) => {\r\n validRef.current = false\r\n setValidat(false)\r\n setShow(true)\r\n getParameterDictionaryAsync('',e.target.value)\r\n }\r\n\r\n function userSelecter(){\r\n setValeu(optionList[countRef.current],Object.keys(Parameter)[countRef.current])\r\n setShow(false)\r\n }\r\n\r\n const kydown = (event) => { \r\n if((event.key === \"ArrowDown\")){\r\n if(countRef.current < optionList.length-1){\r\n countRef.current = countRef.current + 1;\r\n }else{\r\n countRef.current = 0;\r\n }\r\n document.getElementById(\"ParameterDictionary\"+countRef.current)?.scrollIntoView({behavior:\"smooth\"})\r\n }\r\n \r\n if(event.key === \"ArrowUp\"){\r\n if(countRef.current > 0){\r\n countRef.current = countRef.current -1;\r\n }else{\r\n countRef.current = optionList.length-1;\r\n }\r\n document.getElementById(\"ParameterDictionary\"+countRef.current)?.scrollIntoView({behavior:\"smooth\"})\r\n }\r\n setCount(countRef.current)\r\n\r\n if(event.key === \"Enter\"){\r\n userSelecter()\r\n }\r\n }\r\n const CheckParameter =async (e)=>{\r\n \r\n setTimeout(() => {\r\n \r\n if(!validRef.current){\r\n \r\n if(Parameter!=undefined && Object.values(Parameter).length == 1){\r\n setValeu(Object.values(Parameter)[0] , Object.keys(Parameter)[0])\r\n e.target.setCustomValidity(\"\");\r\n }else{\r\n if(inputRef?.current){\r\n setValeu(null,null)\r\n }\r\n \r\n if(inputRef?.current?.value.length >0 && inputRef?.current?.value!=\"\"){\r\n e.target.setCustomValidity(trans(\"Msg_Validation_ValueIsIncorrect\"));\r\n setValidat(true);\r\n e.target.reportValidity();\r\n inputIdRef.current.value = null\r\n }\r\n if(e.target.value.length == 0&& inputRef.current?.value?.length == 0 && e.target.value==\"\"){\r\n e.target.setCustomValidity(\"\");\r\n inputIdRef.current.value = null\r\n }\r\n setParameter(null);\r\n \r\n }\r\n }\r\n }, 200);\r\n await delay(200)\r\n if(!document.activeElement?.className.includes(\"\")){\r\n setShow(false)\r\n }\r\n }\r\n const delay = (duration) =>\r\n new Promise(resolve => setTimeout(resolve, duration));\r\n\r\n const setValeu = (newValue, id) => {\r\n if(inputIdRef != null && inputIdRef.current != null && newValue){\r\n validRef.current = true\r\n inputRef.current.value = newValue\r\n inputIdRef.current.value = id\r\n ParameterRef.current = null;\r\n ((value==null &&id)|| id != value) ? Change&&Change({[name] :id}):Change&&Change({[name]:null});\r\n if(newValue){\r\n onChange && onChange({Name:newValue , Id : id})\r\n }else{\r\n onChange && onChange(null)\r\n }\r\n setParameter(null)\r\n setParameter({[inputIdRef.current.value]:inputRef.current.value})\r\n setValidat(false)\r\n }\r\n }\r\n useEffect(() => {\r\n if(value){\r\n getParameterDictionaryAsync(value,null)\r\n }else if(value == null){\r\n setValueName(null)\r\n\r\n }\r\n }, [value,resetForm]);\r\n\r\n\r\n\r\n useEffect(() =>{\r\n if(show ){\r\n document.addEventListener('keydown', kydown);\r\n document.body.addEventListener(\"click\", clickToclose)\r\n\r\n } \r\n return () => { document.removeEventListener(\"keydown\", kydown);document.body.removeEventListener('click', clickToclose) }\r\n\r\n \r\n },[show ,optionList])\r\n\r\n \r\n function clickToclose(e){\r\n let input = document.querySelector(\"#browser\"+name);\r\n if (e.target.id !== input?.id) { \r\n setShow(false);\r\n }\r\n }\r\n\r\n if(Parameter){\r\n optionList = Object.values(Parameter)\r\n }\r\n return (\r\n <>\r\n
    \r\n {!withoutLable&&\r\n \r\n }\r\n \r\n \r\n
    \r\n { e.target.select() ;setShow(true);Auto(e)}} ref={inputRef} list=\"ParameterDictionary\" name=\"browser\" className=\"text-box__box form-control-custom \" type={'text'} id={\"browser\"+name} onMouseDown={(e)=>e.stopPropagation() } onChange={Auto} disabled={mode ==\"view\" ? true : false} />\r\n {required && *}\r\n
    \r\n {\r\n show && \r\n
    \r\n {optionList && optionList.map((item , index)=>{\r\n return
    {setValeu(item,Object.keys(Parameter)[index])}} key={Object.keys(Parameter)[index]} >{item}
    \r\n })} \r\n
    \r\n } \r\n
    \r\n {required && {trans(\"Msg_Validation_ValueIsIncorrect\")}}\r\n
    \r\n
    \r\n \r\n )\r\n}","import { SelectBox } from \"components/Select/Select\";\r\nimport { InputHTMLAttributes, useContext, useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getParameterOperatorTypesDictionaryApi } from \"./api\";\r\n\r\nimport { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { ICON_TYPE } from \"utils/constants\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\ninterface ParameterOperatorTypesProp extends InputHTMLAttributes {\r\n type: \"SelectBox\" | \"Radio\" | \"CheckBox\";\r\n label?: string;\r\n PRJ_UID?: string;\r\n name: string;\r\n value?: any;\r\n mode?: any;\r\n valueList?: any;\r\n required?: boolean;\r\n Change?: (e) => void,\r\n ParameterOperatorTypesListCallback?: (e) => void,\r\n returnObj?:any\r\n}\r\nexport const ParameterOperatorTypesSelect = ({ type,returnObj=false, label,PRJ_UID, name, value,valueList={} , mode ,required,Change,ParameterOperatorTypesListCallback }: ParameterOperatorTypesProp) => {\r\n const [optionsParameterOperatorTypes, setOptionsParameterOperatorTypes] = useState({});\r\n const [errcode, setErrcode] = useState();\r\n const [app, setApp] = useState();\r\n const [selectedItem, setSelectedItem] = useState([]);\r\n let Default:any = value\r\n\r\n const ParameterOperatorTypesApiAsync = async ()=>{\r\n \r\n const res = await getParameterOperatorTypesDictionaryApi()\r\n\r\n setOptionsParameterOperatorTypes(res.Data)\r\n \r\n if(valueList ) {\r\n let Apps:any= []\r\n \r\n Object.keys(res.Data).map(item=>{\r\n if(Object.keys(valueList).includes(res.Data[item])&&valueList[item]){\r\n Apps.push({Id:item , Name:res.Data[item]})\r\n }\r\n })\r\n setSelectedItem(Apps) \r\n }else{\r\n setSelectedItem([]) \r\n\r\n }\r\n try {\r\n } catch (error:any) {\r\n setErrcode(error.response.status)\r\n\r\n }\r\n }\r\n\r\n\r\n function addOption(e) {\r\n e.stopPropagation()\r\n e.preventDefault()\r\n let Name \r\n\r\n if(app || Object.keys(optionsParameterOperatorTypes)[0]){\r\n let Id = app?.target?.value ? app?.target?.value :Object.keys(optionsParameterOperatorTypes)[0]\r\n let query = {\r\n ParameterOperatorTypesId:Id ,\r\n PRJ_UID : PRJ_UID \r\n }\r\n \r\n Object.keys(optionsParameterOperatorTypes).forEach(item => {\r\n if(item == Id){\r\n Name = optionsParameterOperatorTypes[item]\r\n }\r\n });\r\n\r\n let obj={}\r\n if(ParameterOperatorTypesListCallback){\r\n let selectList = JSON.parse(JSON.stringify(selectedItem))\r\n let list:any = []\r\n let listId = selectList.map(item=>{\r\n list.push(item.Id)\r\n return returnObj?\r\n obj={...obj,\r\n [item.Id]:item.Name\r\n }\r\n : item.Id\r\n })\r\n\r\n\r\n if(!list.includes(Id)){\r\n\r\n ParameterOperatorTypesListCallback(returnObj? [{...obj, [Id]:Name}] :[...listId, Id])\r\n setSelectedItem([...selectList , {Id:Id , Name:Name}] )\r\n }\r\n\r\n }\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n async function deleteaOption(obj) {\r\n if(ParameterOperatorTypesListCallback){\r\n \r\n let selectList:any = [ ]\r\n selectedItem.map((e)=>{\r\n if(e.Id != obj.Id){\r\n selectList.push(e)\r\n }\r\n })\r\n setSelectedItem(selectList)\r\n }\r\n}\r\n\r\n\r\n useEffect(() => {\r\n console.log(\"valueList\" ,valueList)\r\n ParameterOperatorTypesApiAsync()\r\n }, [ ]);\r\n\r\n\r\n \r\n\r\n return (\r\n <>\r\n {true ?\r\n <>\r\n
    \r\n {Object.keys(optionsParameterOperatorTypes).map(item=>(\r\n
    \r\n \r\n
    \r\n ))}\r\n\r\n\r\n
    \r\n \r\n : \r\n }\r\n\r\n \r\n );\r\n};\r\n\r\n\r\n","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, trans, uuidv4 } from \"utils/helpers\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Person } from \"components/Person/Person\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { GUID_EMPTY, REPORT_URL } from \"utils/constants\";\r\nimport { ENDPOINTSREPORT } from \"utils/endpoints\";\r\nimport {\r\n deleteParameter,\r\n GenerateParameterFromDTO,\r\n postParameter,\r\n putParameter,\r\n} from \"./api\";\r\nimport { EnumsDictionary } from \"./EnumsDictionary\";\r\nimport { ParameterDataTypeDictionary } from \"./ParameterDataTypeDictionary\";\r\nimport { ParameterEnumDictionary } from \"./ParameterEnumDictionary\";\r\nimport { ParameterDictionary } from \"./ParameterDictionaryValuse\";\r\nimport { ParameterOperatorTypesSelect } from \"./ParameterOperatorTypesSelect\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface FeedParametersProps {\r\n FeedParametersListCallback: (e) => void;\r\n onHide: () => void;\r\n obj?: any;\r\n feedType?: any;\r\n parentMode?: any;\r\n feedId?:string\r\n handleUserChange?:any\r\n}\r\nexport const FeedParametersForm = ({\r\n feedType,\r\n parentMode,\r\n obj,\r\n FeedParametersListCallback,\r\n onHide,\r\n feedId,\r\n handleUserChange\r\n}: FeedParametersProps) => {\r\n const [response, setResponse] = useState(obj ? obj : []);\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [mode, setMode] = useState(\"create\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [editForm, setEditForm] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [catchMessage, setCatchMessage] = useState({\r\n type: \"info\",\r\n msg: \"NoDataForPreview\",\r\n });\r\n const [showForm, setShowForm] = useState(0);\r\n const [dataType, setDataType] = useState(\"System.String\");\r\n const [enumType, setEnumType] = useState();\r\n const [ParameterOperatorTypes, setParameterOperatorTypes] = useState();\r\n const [dateDefaultValue, setDateDefaultValue] = useState(null);\r\n const [selectBoxGuid, setSelectBoxGuid] = useState(\"0\");\r\n const handleCreateFeedParameter = () => {\r\n setDataType(\"System.String\");\r\n setEditForm(null);\r\n setMode(\"create\");\r\n setShowForm(1);\r\n };\r\n\r\n\r\n const handleDeleteRow = async (id: string = selectedObj.Id) => {\r\n if (parentMode === \"edit\") {\r\n try {\r\n await deleteParameter(selectedObj.Id);\r\n } catch (error) {}\r\n }\r\n\r\n let newData = response.filter((e) => e.Id != id);\r\n setResponse(newData);\r\n setSelectedObj(null);\r\n setForceUpdate(!forceUpdate);\r\n };\r\n const handleViewRow = () => {\r\n setMode(\"view\");\r\n setShowForm(1);\r\n setEditForm(selectedObj);\r\n };\r\n const handleEditRow = (e) => {\r\n setMode(\"edit\");\r\n setShowForm(1);\r\n setEditForm(selectedObj);\r\n };\r\n function handleCreateManual(e) {\r\n setShowForm(e);\r\n setEditForm(null);\r\n setDataType(\"System.String\");\r\n setMode(\"create\");\r\n }\r\n\r\n const selectedIdCallback = (obj, index) => {\r\n if (showForm && mode != \"create\") {\r\n setEditForm(obj);\r\n }\r\n setSelectedObj(obj);\r\n };\r\n\r\n const submit = async (e) => {\r\n e.preventDefault();\r\n let ParameterOperatorTypesObj ={}\r\n const radioArray:any = Array.from(e.target.ParameterOperatorTypesSelect);\r\n radioArray.map(item=>{\r\n if(item.checked){\r\n ParameterOperatorTypesObj[item.value] = true\r\n }\r\n })\r\n\r\n let data = {\r\n Id: uuidv4(),\r\n ReportFeedId: undefined,\r\n ParameterOperatorTypes:ParameterOperatorTypesObj ,\r\n Sequence: e.target.Sequence?.value,\r\n ParameterName: e.target.ParameterName.value,\r\n ParameterNameEN: e.target.ParameterNameEN?.value,\r\n ParameterDataType:\r\n dataType.includes(\"Enumerations\") || dataType.includes(\"Dictionaries\")\r\n ? dataType + \".\" + enumType\r\n : dataType.includes(\"Guid\")\r\n ? `${dataType}.${selectBoxGuid == \"0\" ? \"Person\" : \"Position\"}`\r\n : dataType,\r\n OperatorTypesCount: ParameterOperatorTypesObj && Object.keys(ParameterOperatorTypesObj)?.length ,\r\n IsOptional: e.target.IsOptional.checked,\r\n ParameterDefaultValue:\r\n dataType.includes(\"Date\") || dataType.includes(\"Time\")\r\n ? dateDefaultValue\r\n : (dataType.includes(\"Boolean\")\r\n ? e.target.ParameterDefaultValue.checked\r\n : e.target.ParameterDefaultValue.value) + \"\",\r\n };\r\n if (mode == \"edit\") {\r\n try {\r\n let newResponse = response.filter((item) => item.Id !== selectedObj.Id);\r\n if (parentMode == \"edit\") {\r\n await putParameter({ ...data, Id: selectedObj.Id });\r\n }\r\n setResponse([...newResponse, { ...data, Id: selectedObj.Id }]);\r\n setShowForm(0);\r\n setEditForm(null);\r\n setSelectedObj(null);\r\n } catch (error) {}\r\n } else {\r\n try {\r\n if (parentMode == \"edit\" && (feedId!=GUID_EMPTY)) {\r\n await postParameter({ ...data,ReportFeedId:feedId});\r\n }\r\n setResponse([...response, data]);\r\n setShowForm(0);\r\n setEditForm(null);\r\n setSelectedObj(null);\r\n setResetForm(true);\r\n } catch (error) {}\r\n }\r\n };\r\n const submitGenerateParameter = async (e) => {\r\n e.preventDefault();\r\n setLoading(false)\r\n try{\r\n const ServiceValue =\r\n e.target.Service?.value == \"Reporting\" ? null : e.target.Service?.value;\r\n const res = await GenerateParameterFromDTO(\r\n ServiceValue,\r\n e.target.dtoFullName?.value\r\n );\r\n setResponse(res?.Data);\r\n setShowForm(0)\r\n handleUserChange()\r\n } catch (error) {}\r\n setLoading(true)\r\n\r\n setEditForm(null);\r\n setResetForm(true);\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n Toast(trans(\"modalclosemessage\"),MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setEditForm(null);\r\n setShowForm(0);\r\n });\r\n } else {\r\n setEditForm(null);\r\n setShowForm(0);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n /* #region toolbarFeedParameters */\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\":\r\n alert(\"print \");\r\n break;\r\n case \"excel\":\r\n downloadCSV(response, 1, trans(\"FeedParameters\"));\r\n break;\r\n case \"refresh\":\r\n setForceUpdate(!forceUpdate);\r\n break;\r\n case \"create\":\r\n handleCreateFeedParameter();\r\n break;\r\n case \"view\":\r\n if (selectedObj?.Id) handleViewRow();\r\n break;\r\n case \"help\":\r\n alert(\"call api help\");\r\n break;\r\n case \"remove\":\r\n if (selectedObj?.Id)\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\", \"alert\", () =>\r\n // handleDeleteRow(selectedObj?.Id)\r\n // );\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete, () =>\r\n handleDeleteRow(selectedObj?.Id)\r\n );\r\n break;\r\n case \"edit\":\r\n if (selectedObj?.Id) {\r\n handleEditRow(selectedObj);\r\n }\r\n break;\r\n }\r\n };\r\n \r\n return (\r\n <>\r\n
    \r\n \r\n
    \r\n
    \r\n <>\r\n {showForm == 1 && (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n {\r\n setDataType(e);\r\n if (e !== dataType)\r\n setEditForm({\r\n ...editForm,\r\n ParameterDefaultValue: null,\r\n });\r\n }}\r\n name=\"ParameterDataType\"\r\n mode={mode}\r\n defaultValue={\r\n editForm?.ParameterDataType\r\n ? editForm?.ParameterDataType.includes(\r\n \"Enumerations.\"\r\n ) ||\r\n editForm?.ParameterDataType.includes(\r\n \"Dictionaries.\"\r\n )\r\n ? editForm?.ParameterDataType.slice(0, 12)\r\n : editForm?.ParameterDataType.includes(\"Guid\")\r\n ? editForm?.ParameterDataType.slice(0, 11)\r\n : editForm?.ParameterDataType\r\n : dataType\r\n }\r\n value={\r\n dataType.includes(\"Guid\")\r\n ? dataType.slice(0, 11)\r\n : dataType\r\n }\r\n />\r\n
    \r\n
    \r\n {\r\n {\r\n \"System.String\": (\r\n \r\n ),\r\n \"System.TimeOnly\": (\r\n {\r\n setDateDefaultValue(isoTime);\r\n }}\r\n val={\r\n editForm?.ParameterDefaultValue\r\n ? editForm.ParameterDefaultValue\r\n : null\r\n } //resetForm ? new Date().toISOString() :\r\n withTime={true}\r\n format={\"HH:mm\"}\r\n disableDayPicker={true}\r\n onOpenPickNewDate={true}\r\n />\r\n ),\r\n \"System.DateOnly\": (\r\n {\r\n setDateDefaultValue(isoTime);\r\n }}\r\n val={\r\n editForm?.ParameterDefaultValue\r\n ? editForm.ParameterDefaultValue\r\n : null\r\n } //resetForm ? new Date().toISOString() :\r\n format={\"YYYY/MM/DD\"}\r\n onOpenPickNewDate={true}\r\n />\r\n ),\r\n \"System.DateTime\": (\r\n {\r\n setDateDefaultValue(isoTime);\r\n }}\r\n val={\r\n editForm?.ParameterDefaultValue\r\n ? editForm.ParameterDefaultValue\r\n : null\r\n } //resetForm ? new Date().toISOString() :\r\n withTime={true}\r\n onOpenPickNewDate={true}\r\n />\r\n ),\r\n \"System.Char\": (\r\n \r\n ),\r\n \"System.Double\": (\r\n \r\n ),\r\n \"System.UInt64\": (\r\n \r\n ),\r\n \"System.UInt32\": (\r\n \r\n ),\r\n \"System.UInt16\": (\r\n \r\n ),\r\n \"System.Decimal\": (\r\n \r\n ),\r\n \"System.Int64\": (\r\n \r\n ),\r\n \"System.Int32\": (\r\n \r\n ),\r\n \"System.Int16\": (\r\n \r\n ),\r\n \"System.Boolean\": (\r\n
    \r\n \r\n
    \r\n ),\r\n }[dataType]\r\n }\r\n {dataType.includes(\"Enumerations\") ||\r\n dataType.includes(\"Dictionaries\") ? (\r\n {\r\n setEnumType(e);\r\n }}\r\n mode={mode}\r\n />\r\n ) : (\r\n <>\r\n )}\r\n\r\n {dataType.includes(\"Guid\") ? (\r\n {\r\n setSelectBoxGuid(e.target.value);\r\n }}\r\n mode={mode}\r\n lable=\"Guid\"\r\n selectType=\"select\"\r\n value={selectBoxGuid}\r\n options={[\"person\", \"position\"]}\r\n val={[\"0\", \"1\"]}\r\n />\r\n ) : (\r\n <>\r\n )}\r\n
    \r\n\r\n {selectBoxGuid == \"0\" && dataType.includes(\"Guid\") && (\r\n
    \r\n {}}\r\n value={\r\n editForm?.ParameterDefaultValue\r\n ? editForm?.ParameterDefaultValue\r\n : \"\"\r\n }\r\n WithSearch={false}\r\n returnObj={true}\r\n name={\"ParameterDefaultValue\"}\r\n label=\"ParameterDefaultValue\"\r\n />\r\n
    \r\n )}\r\n {selectBoxGuid == \"1\" && dataType.includes(\"Guid\") && (\r\n
    \r\n \r\n
    \r\n )}\r\n {dataType.includes(\"Enumerations\") && enumType ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n <>\r\n )}\r\n {console.log(\"editForm\" ,editForm)}\r\n {dataType.includes(\"Dictionaries\") && enumType ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n <>\r\n )}\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n )}\r\n \r\n
    \r\n \r\n )}\r\n {showForm == 2 && (\r\n <>\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {loading&&<>\r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n )}\r\n }\r\n \r\n
    \r\n \r\n )}\r\n\r\n {loading ? (\r\n response?.length > 0 ? (\r\n <>\r\n {\r\n // Toast(\r\n // trans(\"msg_deleteconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // () => handleDeleteRow(e)\r\n // );\r\n Toast(\r\n trans(\"msg_deleteconfirm\"),\r\n MessageType.confirmDelete,\r\n () => handleDeleteRow(e)\r\n );\r\n }}\r\n />\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n {\r\n FeedParametersListCallback(response);\r\n onHide();\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\n\r\n\r\n","\r\n\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { useEffect, useState } from \"react\";\r\n\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { FeedParametersForm } from \"./FeedParametersForm\";\r\n\r\n\r\ninterface FeedParametersProps {\r\n FeedParametersListCallback: (e) => void,\r\n feeds: any,\r\n feedType: any,\r\n parentMode?:any\r\n handleUserChange?:any\r\n}\r\nexport const FeedParameters = ({feeds,feedType , handleUserChange,parentMode,FeedParametersListCallback}: FeedParametersProps) => {\r\n\r\n \r\n const [feedsList, setFeedsList] = useState(feeds);\r\n const [selectedObj, setSelectedObj] = useState< any>(null);\r\n const [mode, setMode] = useState(\"create\");\r\n const [resetForm, setResetForm] = useState(false);\r\n const [catchMessage, setCatchMessage] = useState({type:\"info\",msg:\"NoDataForPreview\"});\r\n const [showForm, setShowForm] = useState(false);\r\n\r\n\r\n const FeedsListHandlr = (list) => {\r\n let newlist =feedsList\r\n newlist.map(item=>{\r\n if((item.ReportFeedMethodId == selectedObj.ReportFeedMethodId&&selectedObj.ReportFeedMethodId!=null )|| (item.ReportFeedApiId ==selectedObj.ReportFeedApiId &&selectedObj.ReportFeedApiId!=null )){\r\n item.ParametersObj = list\r\n item.Parameters = JSON.stringify(list) \r\n }\r\n return item\r\n })\r\n FeedParametersListCallback(newlist)\r\n // setFeedsList(newlist)\r\n }\r\n const selectedIdCallback = (obj, index) => {\r\n setSelectedObj(obj) \r\n }\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n \r\n useEffect(() => {\r\n setFeedsList(feeds);\r\n \r\n }, [feeds]);\r\n\r\n return (\r\n <>\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n <>\r\n {showForm&& \r\n <>\r\n setShowForm(false)} show={showForm} modalHeight={60}>\r\n {setShowForm(false)}} FeedParametersListCallback={FeedsListHandlr} />\r\n \r\n \r\n }\r\n {\r\n feedsList?.length > 0 ?\r\n <>\r\n {setSelectedObj(e) ;setShowForm(true)}}\r\n parentName={\"FeedParameters\"}\r\n startIndex={4}\r\n theadData={Object.keys(feedsList[0])}\r\n tbodyData={feedsList}\r\n scrollHeight={showForm? \"25vh\": \"67vh\"}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedIdCallback}\r\n handleEdit={(e)=>{setSelectedObj(e) ;setShowForm(true)}}\r\n />\r\n \r\n : \r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n );\r\n}\r\n","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { downloadCSV, trans, uuidv4 } from \"utils/helpers\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { deletetemplates, getTemplates, postTemplates, putTemplates } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\n\r\n\r\ninterface ReportTemplatesProps {\r\n ReportTemplatesListCallback: (e) => void;\r\n parentMode?: any;\r\n templates?: any;\r\n curentTab?: any;\r\n reportMainInfo?: any;\r\n handleUserChanges?:any\r\n IsDashboard?:any\r\n}\r\nexport const ReportTemplates = ({\r\n parentMode,\r\n reportMainInfo,\r\n curentTab,\r\n templates=[],\r\n ReportTemplatesListCallback,\r\n handleUserChanges,\r\n IsDashboard\r\n}: ReportTemplatesProps) => {\r\n const [response, setResponse] = useState(templates);\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [mode, setMode] = useState(\"create\");\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [editForm, setEditForm] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [catchMessage, setCatchMessage] = useState({\r\n type: \"info\",\r\n msg: \"NoDataForPreview\",\r\n });\r\n const [showForm, setShowForm] = useState(false);\r\n\r\n const handleCreateFeedParameter = () => {\r\n setEditForm(null);\r\n setMode(\"create\");\r\n setShowForm(true);\r\n };\r\n\r\n\r\n const handleDeleteRow = async (id: string = selectedObj.Id) => {\r\n if(response.length > 1){\r\n let newData = templates.find((e) => e.Id == id);\r\n if(newData){\r\n try {\r\n const res = await deletetemplates(newData.Id)\r\n setSelectedObj(null);\r\n getTemplatesAsync()\r\n setForceUpdate(!forceUpdate);\r\n } catch (error) {\r\n \r\n }\r\n }else{\r\n let list = response.filter((e) => e.Id != id);\r\n setResponse(list);\r\n setSelectedObj(null);\r\n setForceUpdate(!forceUpdate);\r\n handleUserChanges()\r\n }\r\n }else{\r\n // Toast(\"msg_validation_valueisrequired\", \"error\")\r\n Toast(\"msg_validation_valueisrequired\",MessageType.error)\r\n }\r\n };\r\n const getTemplatesAsync = async () => {\r\n try {\r\n const res = await getTemplates(reportMainInfo?.ReportId)\r\n setResponse(res.Data)\r\n } catch (error) {\r\n \r\n }\r\n\r\n \r\n };\r\n const handleViewRow = () => {\r\n setMode(\"view\");\r\n setShowForm(true);\r\n setEditForm(selectedObj);\r\n };\r\n const handleEditRow = (e) => {\r\n setMode(\"edit\");\r\n setShowForm(true);\r\n setEditForm(selectedObj);\r\n };\r\n\r\n const selectedIdCallback = (obj, index) => {\r\n if (showForm && mode != \"create\") {\r\n setEditForm(obj);\r\n }\r\n setSelectedObj(obj);\r\n };\r\n\r\nconsole.log(reportMainInfo?.ReportId);\r\n\r\n\r\n const submit = async (e) => {\r\n e.preventDefault();\r\n let data:any = {\r\n Id:mode == \"edit\" ?selectedObj.Id : uuidv4(),\r\n ReportId:parentMode=='edit'? reportMainInfo?.ReportId:undefined,\r\n AttachmentId:mode == \"edit\" ? selectedObj.AttachmentId: null,\r\n SignatureType: +e.target.SignatureType?.value,\r\n Title: mode == \"edit\" ? e.target.Title.value :reportMainInfo.ReportName+\" \" + e.target.Title.value,\r\n ReportTemplateFileName:mode == \"edit\" ? e.target.ReportTemplateFileName?.value :( reportMainInfo.ReportFileName.split('.')[0] + e.target.ReportTemplateFileName?.value+'.mrt'),\r\n IsDefault: e.target.IsDefault?.checked,\r\n };\r\n\r\n if (mode == \"edit\") {\r\n try {\r\n if(reportMainInfo?.ReportId){\r\n const res = await putTemplates(data)\r\n setResetForm(true);\r\n setShowForm(false);\r\n setEditForm(null);\r\n setSelectedObj(null);\r\n getTemplatesAsync()\r\n }else{\r\n let newResponse = response.filter((item) => item.Id !== selectedObj.Id);\r\n setResponse([...newResponse, { ...data, Id: selectedObj.Id }]);\r\n setShowForm(false);\r\n setEditForm(null);\r\n setSelectedObj(null);\r\n handleUserChanges()\r\n }\r\n } catch (error) {}\r\n } else {\r\n if(reportMainInfo?.ReportId){\r\n try {\r\n delete data?.Id\r\n const res = await postTemplates(data)\r\n setResetForm(true);\r\n setShowForm(false);\r\n setEditForm(null);\r\n setSelectedObj(null);\r\n getTemplatesAsync()\r\n } catch (error) {\r\n \r\n }\r\n }else{\r\n setResponse([...response, data]);\r\n setResetForm(true);\r\n setShowForm(false);\r\n setEditForm(null);\r\n setSelectedObj(null);\r\n handleUserChanges()\r\n }\r\n }\r\n \r\n };\r\n\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setEditForm(null);\r\n // setShowForm(false);\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setEditForm(null);\r\n setShowForm(false);\r\n });\r\n } else {\r\n setEditForm(null);\r\n setShowForm(false);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n\r\n\r\nuseEffect(()=>{\r\n ReportTemplatesListCallback(response)\r\n \r\n},[response])\r\nuseEffect(()=>{\r\n if(templates.length==0&&mode==\"create\"&&reportMainInfo.ReportFileName&&curentTab==\"ReportTemplates\"){\r\n let data = {\r\n Id: uuidv4(),\r\n ReportId: undefined,\r\n AttachmentId: null,\r\n Title: reportMainInfo.ReportName+\" \"+trans(\"defaulttemplate\") ,\r\n //TitleEN: e.target.TitleEN?.value,\r\n SignatureType:0,\r\n ReportTemplateFileName:reportMainInfo.ReportFileName+\"DefaultTemplate.mrt\" ,\r\n IsDefault:true,\r\n };\r\n setResponse([ data]);\r\n\r\n } \r\n},[curentTab])\r\n\r\n\r\n /* #region toolbarFeedParameters */\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"print\":\r\n alert(\"print \");\r\n break;\r\n case \"excel\":\r\n downloadCSV(response, 1, trans(\"FeedParameters\"));\r\n break;\r\n case \"refresh\":\r\n setForceUpdate(!forceUpdate);\r\n break;\r\n case \"create\":\r\n handleCreateFeedParameter();\r\n break;\r\n case \"view\":\r\n if (selectedObj?.Id) handleViewRow();\r\n break;\r\n case \"help\":\r\n alert(\"call api help\");\r\n break;\r\n case \"remove\":\r\n if (selectedObj?.Id)\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\", \"alert\", () =>\r\n // handleDeleteRow(selectedObj?.Id)\r\n // );\r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete, () =>\r\n handleDeleteRow(selectedObj?.Id)\r\n );\r\n break;\r\n case \"edit\":\r\n if (selectedObj?.Id) {\r\n handleEditRow(selectedObj);\r\n }\r\n break;\r\n }\r\n };\r\n /* #endregion */\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n
    \r\n
    \r\n <>\r\n {showForm && (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n{/*
    \r\n \r\n
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n )}\r\n\r\n {loading ? (\r\n response?.length > 0 ? (\r\n <>\r\n {\r\n // Toast(\r\n // trans(\"msg_deleteconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // () => handleDeleteRow(e)\r\n // );\r\n Toast(\r\n trans(\"msg_deleteconfirm\"),\r\n MessageType.confirmDelete,\r\n () => handleDeleteRow(e)\r\n );\r\n }}\r\n handleEdit={handleEditRow}\r\n />\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n","import { Application } from \"components/Application/Application\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { MessageType } from \"types/enum\";\r\nimport { trans, uuidv4 } from \"utils/helpers\";\r\nimport { getWithFeed, sendWithFeed } from \"./api\";\r\nimport { FeedApi } from \"./FeedApis\";\r\nimport { FeedMethods } from \"./FeedMethods\";\r\nimport { FeedParameters } from \"./FeedParameters\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\nimport { ReportTemplates } from \"./ReportTemplates\";\r\n//import { AddNewWithFeedForm, deleteWithFeedForm, editWithFeedForm, getWithFeedForm, getWithFeedFormOrganizationList } from \"../../api/api\";\r\n\r\n\r\ninterface WithFeedFormPropsType {\r\n selectedObj;\r\n mode;\r\n onHide: (e) => void,\r\n saveCallback: (e) => void,\r\n\r\n}\r\nexport const WithFeedForm = ({ \r\n selectedObj,\r\n mode,\r\n onHide,\r\n saveCallback,\r\n\r\n}: WithFeedFormPropsType) => {\r\n \r\n const [resetForm, setResetForm] = useState(false);\r\n const [WithFeedForm , setWithFeedForm ] = useState< any>();\r\n const [loading2 , setLoading2] = useState(false)\r\n const [feedType , setFeedType] = useState(\"Api\")\r\n const [feedParameters , setFeedParameters] = useState< any>([])\r\n const [applicationIds , setApplicationIds] = useState< any>([])\r\n const [feeds , setFeeds] = useState< any>({Method:[] ,Api:[] })\r\n const [feedList , setFeedList] = useState< any>({Method:[] ,Api:[] })\r\n const [curentTab, setCurentTab] = useState(\"reportForm\")\r\n const [userChanges, setUserChanges] = useState(false);\r\n const [reportTemplates,setReportTemplates]=useState()\r\n const [isDashboard,setIsDashboard]=useState(false)\r\n const [reportMainInfo,setReportMainInfo]=useState({ReportName:\"\",ReportFileName:\"\" , ReportId:mode!=\"create\"?selectedObj.Id:null})\r\n\r\n const feedsMethodsHandler = (list) => {\r\n setUserChanges(true)\r\n let newArry:any =[]\r\n let feedList = list.map((item)=>{\r\n let feed = feeds?.Method.find((feed)=> feed.ReportFeedMethodId==item.Id)\r\n let data={\r\n \"FeedId\":feed?feed.FeedId:GUID_EMPTY,\r\n \"ParametersObj\":feed ? feed.ParametersObj: [],\r\n \"ReportFeedApiId\":null ,\r\n \"ReportFeedMethodId\":item.Id ,\r\n \"ReportFeedName\":item.Name ,\r\n \"Parameters\":JSON.stringify(feed ? feed.Parameters: [])\r\n }\r\n newArry.push(data)\r\n return data\r\n })\r\n setFeeds({Method:feedList ,Api :feeds.Api })\r\n/* let newArry=feedList.map((item)=>feedParameters.map((param)=> param.ReportFeedMethodId==item.ReportFeedMethodId?param:item )[0])\r\n */ \r\n setFeedParameters(newArry)\r\n }\r\n const feedsApiHandler = (list) => {\r\n setUserChanges(true)\r\n let newArry:any =[]\r\n let feedList = list.map((item)=>{\r\n let feed = feeds?.Api.find((feed)=> feed.ReportFeedApiId==item.Id)\r\n let data={\r\n \"FeedId\":feed?feed.FeedId:GUID_EMPTY,\r\n \"ParametersObj\":feed ? feed.ParametersObj: [],\r\n \"ReportFeedApiId\":item.Id ,\r\n \"ReportFeedMethodId\":null ,\r\n \"ReportFeedName\":item.Name ,\r\n \"Parameters\":JSON.stringify(feed ? feed.Parameters: []),\r\n }\r\n newArry.push(data)\r\n return data\r\n })\r\n setFeeds({Method:feeds.Method ,Api :feedList })\r\n\r\n/* let newArry=feedList.map((item)=>feedParameters.map((param)=> param.ReportFeedMethodId==item.ReportFeedMethodId?param:item )[0])\r\n */ setFeedParameters(newArry)\r\n }\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab)\r\n }\r\n async function sendNodeAsync(data) {\r\n try{\r\n if(mode==\"create\"){\r\n const res = await sendWithFeed(data,\"post\");\r\n if(res.data.MessageType\t==MessageType.success){\r\n saveCallback({Id:res.data.Data ,Name :data?.Report\t?.ReportName ,IsDashboard:data?.Report?.IsDashboard\t })\r\n /* window.open(\r\n `${process.env.REACT_APP_REPORTING_SERVICE_URL+ \"/ReportDesigner/Index/\"}${res.data.Data }`,\"_blank\" ); */\r\n }\r\n }else{\r\n const res = await sendWithFeed(data,\"put\" , WithFeedForm?.Report.Id);\r\n }\r\n setResetForm(true)\r\n onHide&& onHide(false)\r\n }catch(err:any){\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n async function putNodeAsync(data) {\r\n try{\r\n const res = await sendWithFeed(data ,\"put\");\r\n setResetForm(true)\r\n }catch(err:any){\r\n\r\n }\r\n }\r\n\r\n const getNewWithFeedForm = async ()=>{\r\n setLoading2(false)\r\n try{\r\n const res = await getWithFeed(selectedObj.Id); \r\n setWithFeedForm(res.Data) \r\n setIsDashboard(res.Data.IsDashboard)\r\n setReportMainInfo({ReportName:res.Data.Report?.ReportName,ReportFileName:res.Data.Report?.ReportFileName , ReportId:mode!=\"create\"?selectedObj.Id:null} ) \r\n let newFeeds:any = {Method:[] ,Api:[]}\r\n let MethodSelectedList:any = []\r\n let ApiSelectedList:any = []\r\n res.Data.Feeds.map(item=>{\r\n if(item.ReportFeedApi){\r\n let feed = {\r\n \"FeedId\":item.Id,\r\n \"ParametersObj\":item.Parameters,\r\n \"ReportFeedApiId\":item.ReportFeedApi.Id ,\r\n \"ReportFeedMethodId\": null ,\r\n \"ReportFeedName\":item.ReportFeedApi.SystemKey ,\r\n \"Parameters\":JSON.stringify(item.Parameters) \r\n }\r\n newFeeds = {...newFeeds , Api : [...newFeeds.Api , feed]}\r\n ApiSelectedList.push({Id:item.ReportFeedApi.Id , Name :item.ReportFeedApi.SystemKey })\r\n }else{\r\n let feed = {\r\n \"FeedId\":item.Id,\r\n \"ParametersObj\":item.Parameters,\r\n \"ReportFeedApiId\": null ,\r\n \"ReportFeedMethodId\":item.ReportFeedMethod.Id ,\r\n \"ReportFeedName\":item.ReportFeedMethod.ClassName ,\r\n \"Parameters\":JSON.stringify(item.Parameters) \r\n }\r\n newFeeds = {...newFeeds , Method : [...newFeeds.Method , feed]}\r\n MethodSelectedList.push({Id:item.ReportFeedMethod.Id , Name :item.ReportFeedMethod.ClassName })\r\n\r\n }\r\n })\r\n setApplicationIds(res.Data.ApplicationIds)\r\n setFeedParameters([...newFeeds?.Method ,...newFeeds?.Api ])\r\n setFeedList({MethodSelectedList:MethodSelectedList ,ApiSelectedList:ApiSelectedList })\r\n setFeeds(newFeeds)\r\n if(newFeeds.Api?.length >0){\r\n setFeedType(\"Api\")\r\n }else{\r\n setFeedType(\"Method\")\r\n }\r\n }catch(err:any){\r\n\r\n }\r\n setLoading2(true)\r\n }\r\n const handleWithFeedFormSubmit = (event) => {\r\n let defultTemplate = {\r\n Id: uuidv4(),\r\n ReportId: undefined,\r\n AttachmentId: null,\r\n Title: reportMainInfo.ReportName+\" \"+trans(\"defaulttemplate\") ,\r\n ReportTemplateFileName:reportMainInfo.ReportFileName+\"DefaultTemplate.mrt\" ,\r\n IsDefault:true,\r\n SignatureType:0,\r\n };\r\n event.preventDefault();\r\n if((mode==\"edit\"&&userChanges)||mode!=\"edit\"){\r\n if(mode==\"edit\"){\r\n let data={\r\n \"ReportName\":event.target.ReportName.value,\r\n \"ReportFileName\":event.target.ReportFileName.value,\r\n \"Scope\": +event.target.Scope.value,\r\n \"PriorityInList\": event.target.PriorityInList.value,\r\n \"IsDashboard\": event.target.IsDashboard.checked,\r\n }\r\n const res =sendNodeAsync({\r\n Report:data,\r\n Feeds:feedParameters.map(item=>(\r\n {\r\n ...(item.ReportFeedApiId ? {\r\n ReportFeedApiId: item.ReportFeedApiId ? item.ReportFeedApiId : item.Id\r\n }:{\r\n ReportFeedMethodId: item.ReportFeedMethodId ? item.ReportFeedMethodId : item.Id\r\n }),\r\n Parameters: item.ParametersObj?.map(item=>{delete item.Id ; return item})\r\n }\r\n )),\r\n ApplicationIds:applicationIds.map(item=>{if(item?.Id){return item?.Id}else return item }),\r\n ReportTemplates:reportTemplates\r\n })\r\n }else{\r\n \r\n let data={\r\n \"ReportName\":event.target.ReportName.value,\r\n \"ReportFileName\":event.target.ReportFileName.value,\r\n \"Scope\": +event.target.Scope.value,\r\n \"PriorityInList\": event.target.PriorityInList.value,\r\n \"IsDashboard\": event.target.IsDashboard.checked,\r\n }\r\n \r\n const res = sendNodeAsync({\r\n Report:data,\r\n Feeds:feedParameters.map(item=>(\r\n {\r\n ...(item.ReportFeedApiId ? {\r\n ReportFeedApiId: item.ReportFeedApiId\r\n }:{\r\n ReportFeedMethodId: item.ReportFeedMethodId\r\n }),\r\n Parameters: item.ParametersObj.map(item=>{delete item.Id ; return item})\r\n }\r\n )),\r\n ApplicationIds:applicationIds,\r\n ReportTemplates: reportTemplates.length >0 ?reportTemplates: [defultTemplate]\r\n })\r\n \r\n }\r\n }else{ \r\n setResetForm(true)\r\n onHide&& onHide(false)\r\n }\r\n }\r\n \r\n \r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n \r\n\r\n\r\n useEffect(() => {\r\n\r\n if(mode != \"create\" ){\r\n\r\n getNewWithFeedForm()\r\n \r\n }else{\r\n setLoading2(true)\r\n }\r\n }, [selectedObj]);\r\n let content = [\r\n { title: \"reportForm\", body: (<>\r\n
    \r\n
    \r\n
    \r\n <>\r\n {loading2 ?\r\n
    \r\n
    \r\n
    \r\n {setReportMainInfo({...reportMainInfo , ReportName:e})}}\r\n resetForm={resetForm}\r\n mode={mode==\"create\" ?mode : \"view\"}\r\n />\r\n
    \r\n
    \r\n {setReportMainInfo({...reportMainInfo , ReportFileName:e})}}\r\n resetForm={resetForm}\r\n mode={mode==\"create\" ?mode : \"view\"}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {setApplicationIds(e);setUserChanges(true)}}\r\n type=\"SelectBox\"\r\n mode={mode}\r\n required={true}\r\n name=\"ApplicationId\"\r\n valueList={WithFeedForm?.ApplicationIds}\r\n />\r\n
    \r\n
    \r\n {if(mode != \"view\"){ setIsDashboard(e)}}}\r\n type=\"checkbox\"\r\n mode={mode==\"create\" ?mode : \"view\"}\r\n /> \r\n
    \r\n
    \r\n
    \r\n
    \r\n 0 ? \"view\":mode} onclick={()=>setFeedType(\"Api\")}defaultChecked={feedType==\"Api\"?true : false} checked={feedType==\"Api\"?true : false} defaultValue={\"Api\"} labelText={trans(\"useApi\")} inputName={\"feedType\"} type={\"radio\"}/>\r\n 0 ? \"view\":mode} onclick={()=>setFeedType(\"Method\")}defaultChecked={feedType== \"Method\"?true : false} checked={feedType== \"Method\"?true : false} defaultValue={\"Method\"} labelText={trans(\"useMethod\")} inputName={\"feedType\"} type={\"radio\"}/>\r\n
    \r\n {feedType== \"Api\"&&\r\n\r\n
    \r\n 0}\r\n FeedApiListCallback={feedsApiHandler}\r\n name=\"FeedApi\"\r\n ApiSelectedList={feedList?.ApiSelectedList}\r\n\r\n />\r\n
    \r\n }\r\n {feedType==\"Method\"&&\r\n \r\n
    \r\n 0}\r\n FeedMethodsListCallback={feedsMethodsHandler}\r\n name=\"FeedApi\"\r\n FeedMethodList={feedList?.MethodSelectedList}\r\n />\r\n
    \r\n }\r\n
    \r\n
    \r\n :
    }\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n ) },\r\n\r\n\r\n\r\n { title: \"FeedParameters\", body:\r\n loading2?\r\n () \r\n :\r\n },\r\n { title: \"ReportTemplates\", body:\r\n loading2 ?\r\n (setUserChanges(true)} parentMode={mode} templates={WithFeedForm?.ReportTemplates} ReportTemplatesListCallback={setReportTemplates} /> ): },\r\n ];\r\n\r\n\r\n return (\r\n <>\r\n \r\n \r\n\r\n { mode != \"view\"?\r\n
    \r\n
    \r\n :\r\n } btnType=\"submit\" />\r\n \r\n }\r\n \r\n
    \r\n { selectedItem.map((item, index) => (\r\n
    \r\n\r\n
    \r\n {trans(item.Name) } \r\n
    \r\n \r\n
    {deleteaOption(item)}}>\r\n \r\n
    \r\n
    \r\n ))}\r\n
    \r\n\r\n \r\n : \r\n }\r\n
    \r\n\r\n \r\n
    \r\n \r\n );\r\n};\r\n","import { REPORT_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSREPORT } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getDatabasess = () => http({\r\n url: ENDPOINTSREPORT.Databases.dictionary,\r\n baseURL:REPORT_URL,\r\n method: 'get',\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject( err);\r\n});\r\n\r\n\r\n","import { useEffect, useRef, useState } from \"react\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { ICON_TYPE, REPORT_URL } from \"utils/constants\";\r\nimport { ENDPOINTSREPORT } from \"utils/endpoints\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { ParameterEnumDictionary } from \"pages/SystemManagement/Reports/components/ParameterEnumDictionary\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Person } from \"components/Person/Person\";\r\nimport { ParameterDictionary } from \"pages/SystemManagement/Reports/components/ParameterDictionaryValuse\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\n\r\ninterface OperatorOptionsPropsType {\r\n item: any;\r\n feedType?: any;\r\n setDatesValue: (e) => void;\r\n index?: number;\r\n}\r\nexport const OperatorOptions = ({\r\n item,\r\n feedType,\r\n setDatesValue,\r\n index,\r\n}: OperatorOptionsPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [operatorType, setOperatorType] = useState(1);\r\n const [dateDefaultValue, setDateDefaultValue] = useState({});\r\n const [selectedItem, setSelectedItem] = useState([]);\r\n const [selectedKeys, setSelectedKeys] = useState([]);\r\n const [optionKeys, setOptionKeys] = useState();\r\n const [dateForm,setDateForm]=useState(new Date().toISOString())\r\n\r\n const [value, setValue] = useState(); \r\n const btn = useRef();\r\n const optionBox = useRef();\r\n\r\n function addOption(e) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n let selectList = JSON.parse(JSON.stringify(selectedItem));\r\n let selectListKeys = JSON.parse(JSON.stringify(selectedKeys));\r\n if (\r\n item.ParameterDataType.includes(\".Time\") ||\r\n item.ParameterDataType.includes(\".Date\")\r\n ) {\r\n setSelectedItem(\r\n selectList.concat(dateDefaultValue[\"value\" + item.ParameterNameEN][0])\r\n );\r\n setDatesValue({\r\n [\"value\" + item.ParameterNameEN]: selectList.concat(\r\n dateDefaultValue[\"value\" + item.ParameterNameEN][0]\r\n ),\r\n });\r\n setDateDefaultValue({});\r\n } else {\r\n if (value) {\r\n setSelectedItem(selectList.concat(value));\r\n setSelectedKeys(optionKeys!=undefined ? selectListKeys.concat(optionKeys) :selectedKeys.concat(value));\r\n setDatesValue({\r\n [\"value\" + item.ParameterNameEN]:optionKeys!=undefined ? selectedKeys.concat(optionKeys):selectedKeys.concat(value) \r\n });\r\n setValue(null);\r\n setOptionKeys(null);\r\n }\r\n }\r\n setResetForm(true);\r\n }\r\n \r\n function deleteOption(obj) {\r\n\r\n\r\n let selectList:any = [ ]\r\n let selectKeys:any = [ ]\r\n selectedItem.map((e)=>{\r\n if(e != obj){\r\n selectKeys.push(e)\r\n selectList.push(e)\r\n }\r\n })\r\n\r\n setSelectedItem(selectList)\r\n setSelectedKeys(selectKeys)\r\n if (\r\n item.ParameterDataType.includes(\"Time\") ||\r\n item.ParameterDataType.includes(\"Date\")\r\n ) {\r\n\r\n setDatesValue({\r\n [\"value\" + item.ParameterNameEN]:selectList,\r\n });\r\n setDateDefaultValue({});\r\n } else {\r\n \r\n setDatesValue({\r\n [\"value\" + item.ParameterNameEN]:selectKeys\r\n });\r\n setValue(null);\r\n setOptionKeys(null);\r\n \r\n }\r\n }\r\n\r\n\r\n function DatepickerDataHandler(isoTime) {\r\n if (isoTime) {\r\n if (item.ParameterDataType == \"System.TimeOnly\") {\r\n setDateDefaultValue({\r\n [\"value\" + item.ParameterNameEN]: [\r\n isoTime.split(\"T\")[1].replaceAll(\"Z\", \"\"),\r\n ],\r\n });\r\n } else if (item.ParameterDataType == \"System.DateOnly\") {\r\n setDateDefaultValue({\r\n [\"value\" + item.ParameterNameEN]: [\r\n isoTime.split(\"T\")[0].replaceAll(\"Z\", \"\"),\r\n ],\r\n });\r\n } else {\r\n setDateDefaultValue({ [\"value\" + item.ParameterNameEN]: [isoTime] });\r\n }\r\n } else {\r\n setDateDefaultValue({ [\"value\" + item.ParameterNameEN]: [] });\r\n }\r\n }\r\n function DatepickerDataHandler2(isoTime) {\r\n if (item.ParameterDataType == \"System.TimeOnly\") {\r\n setDateDefaultValue({\r\n [\"value\" + item.ParameterNameEN]: [\r\n dateDefaultValue[\"value\" + item.ParameterNameEN]?.[0],\r\n isoTime.split(\"T\")[1].replaceAll(\"Z\", \"\"),\r\n ],\r\n });\r\n } else if (item.ParameterDataType == \"System.DateOnly\") {\r\n setDateDefaultValue({\r\n [\"value\" + item.ParameterNameEN]: [\r\n dateDefaultValue[\"value\" + item.ParameterNameEN]?.[0],\r\n isoTime.split(\"T\")[0].replaceAll(\"Z\", \"\"),\r\n ],\r\n });\r\n } else {\r\n setDateDefaultValue({\r\n [\"value\" + item.ParameterNameEN]: [\r\n dateDefaultValue[\"value\" + item.ParameterNameEN]?.[0],\r\n isoTime,\r\n ],\r\n });\r\n }\r\n }\r\n useEffect(() => {\r\n setDatesValue(dateDefaultValue);\r\n }, [dateDefaultValue]);\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n\r\n return (\r\n \r\n \r\n {index == 0 && (\r\n {trans(\"operatortype\")}\r\n )}\r\n\r\n {setOperatorType(e.target.value);\r\n if(!(e.target.value == 10 || e.target.value == 11)){\r\n setSelectedItem([]);setSelectedKeys([])\r\n }\r\n }}\r\n useTrans={true}\r\n lable={\"\"}\r\n selectType={\"select\"}\r\n options={item.OperatorTypes?Object.values(JSON.parse(item.OperatorTypes)):[] }\r\n val={item.OperatorTypes?Object.keys(JSON.parse(item.OperatorTypes)):[]}\r\n name={\"OperatorType\" + item.ParameterNameEN}\r\n resetForm={resetForm}\r\n mode={\"create\"} \r\n />\r\n\r\n \r\n \r\n {index == 0 && (\r\n \r\n {trans(\"parameterdefaultvalue\")}\r\n \r\n )}\r\n\r\n {\r\n {\r\n \"System.String\": (\r\n {\r\n if (operatorType == 10 || operatorType == 11) {\r\n setValue(e.target.value);\r\n }\r\n }}\r\n textboxType=\"text\"\r\n textboxName={\"value\" + item.ParameterNameEN}\r\n labelText={\"\"}\r\n resetForm={resetForm}\r\n mode={\"create\"}\r\n />\r\n ),\r\n \"System.TimeOnly\": (\r\n {\r\n DatepickerDataHandler(isoTime);\r\n }}\r\n val={item.ParameterDefaultValue} //resetForm ? new Date().toISOString() :\r\n withTime={true}\r\n format={\"HH:mm\"}\r\n disableDayPicker={true}\r\n onOpenPickNewDate={true}\r\n />\r\n ),\r\n \"System.DateOnly\": (\r\n {\r\n DatepickerDataHandler(isoTime);\r\n }}\r\n val={item.ParameterDefaultValue?item.ParameterDefaultValue:null} //resetForm ? new Date().toISOString() :\r\n format={\"YYYY/MM/DD\"}\r\n onOpenPickNewDate={true}\r\n required={!item.IsOptional}\r\n />\r\n ),\r\n \"System.DateTime\": (\r\n {\r\n DatepickerDataHandler(isoTime);\r\n }}\r\n val={item.ParameterDefaultValue?item.ParameterDefaultValue:null} //resetForm ? new Date().toISOString() :\r\n withTime={true}\r\n onOpenPickNewDate={true}\r\n />\r\n ),\r\n \"System.Char\": (\r\n \r\n ),\r\n \"System.Double\": (\r\n \r\n ),\r\n \"System.UInt64\": (\r\n \r\n ),\r\n \"System.UInt32\": (\r\n \r\n ),\r\n \"System.UInt16\": (\r\n \r\n ),\r\n \"System.Decimal\": (\r\n \r\n ),\r\n \"System.Int64\": (\r\n \r\n ),\r\n \"System.Int32\": (\r\n \r\n ),\r\n \"System.Int16\": (\r\n \r\n ),\r\n \"System.Boolean\": (\r\n <>\r\n \r\n \r\n ),\r\n \"System.Guid.Position\": (\r\n <>\r\n \r\n \r\n ),\r\n \"System.Guid.Person\": (\r\n <>\r\n \r\n \r\n ),\r\n }[item.ParameterDataType]\r\n }\r\n\r\n {item.ParameterDataType.includes(\"Enumerations\") ? (\r\n \r\n {\r\n if (!selectedItem.includes(str)) {\r\n setValue(str);\r\n setOptionKeys(e);\r\n }\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {item.ParameterDataType.includes(\"Dictionaries\") ? (\r\n \r\n {\r\n if (!selectedItem.includes(e?.Id) ) {\r\n if(e?.Name){\r\n setValue(e.Name);\r\n setOptionKeys(e.Id);\r\n }\r\n }\r\n } } \r\n label={\"\"}\r\n resetForm={false} />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n\r\n \r\n\r\n {(operatorType == 10 || operatorType == 11) && (\r\n \r\n {(operatorType == 10 || operatorType == 11) && (\r\n \r\n {selectedItem.map((item, index) => (\r\n \r\n \r\n
    {item}
    \r\n
    {deleteOption(item)}}>\r\n \r\n
    \r\n \r\n ))}\r\n \r\n )}\r\n\r\n \r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"submit\"\r\n />\r\n \r\n )}\r\n\r\n\r\n {operatorType && (operatorType == 12 || operatorType == 13) && (\r\n
    \r\n {index == 0 && (\r\n \r\n \r\n \r\n )}\r\n {\r\n {\r\n \"System.String\": (\r\n \r\n ),\r\n \"System.TimeOnly\": (\r\n {\r\n DatepickerDataHandler2(isoTime);\r\n }}\r\n val={item.ParameterDefaultValue?item.ParameterDefaultValue:null} //resetForm ? new Date().toISOString() :\r\n withTime={true}\r\n format={\"HH:mm\"}\r\n disableDayPicker={true}\r\n onOpenPickNewDate={true}\r\n required={!item.IsOptional}\r\n />\r\n ),\r\n \"System.DateOnly\": (\r\n {\r\n DatepickerDataHandler2(isoTime);\r\n }}\r\n val={item.ParameterDefaultValue?item.ParameterDefaultValue:null} //resetForm ? new Date().toISOString() :\r\n format={\"YYYY/MM/DD\"}\r\n onOpenPickNewDate={true}\r\n required={!item.IsOptional}\r\n />\r\n ),\r\n \"System.DateTime\": (\r\n {\r\n DatepickerDataHandler2(isoTime);\r\n }}\r\n val={item.ParameterDefaultValue?item.ParameterDefaultValue:null} //resetForm ? new Date().toISOString() :\r\n withTime={true}\r\n onOpenPickNewDate={true}\r\n required={!item.IsOptional}\r\n />\r\n ),\r\n \"System.Char\": (\r\n \r\n ),\r\n \"System.Double\": (\r\n \r\n ),\r\n \"System.UInt64\": (\r\n \r\n ),\r\n \"System.UInt32\": (\r\n \r\n ),\r\n \"System.UInt16\": (\r\n \r\n ),\r\n \"System.Decimal\": (\r\n \r\n ),\r\n \"System.Int64\": (\r\n \r\n ),\r\n \"System.Int32\": (\r\n \r\n ),\r\n \"System.Int16\": (\r\n \r\n ),\r\n \"System.Boolean\": (\r\n <>\r\n \r\n \r\n ),\r\n \"System.Guid.Position\": (\r\n <>\r\n \r\n \r\n ),\r\n \"Guid.Person\": (\r\n <>\r\n \r\n \r\n ),\r\n }[item.ParameterDataType]\r\n }\r\n {item.ParameterDataType.includes(\"Enumerations\") ? (\r\n \r\n {\r\n if (!selectedItem.includes(str)) {\r\n setValue(str);\r\n setOptionKeys(e);\r\n }\r\n }}\r\n />\r\n
    \r\n ) : (\r\n <>\r\n )}\r\n {item.ParameterDataType.includes(\"Dictionaries\") ? (\r\n \r\n {\r\n if (!selectedItem.includes(e?.Id) ) {\r\n if(e?.Name){\r\n setValue(e.Name);\r\n setOptionKeys(e.Id);\r\n }\r\n }\r\n } } \r\n label={\"\"}\r\n resetForm={false} />\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { useEffect, useState } from \"react\";\r\n\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Databases } from \"components/Databases/Databases\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { getReportView, getWithFeed } from \"pages/SystemManagement/Reports/components/api\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { OperatorOptions } from \"./OperatorOptions\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\n\r\ninterface FilterReportFormPropsType {\r\n Id: any,\r\n mode?: any,\r\n onHide: () => void,\r\n designType?:any\r\n}\r\nexport const FilterReportForm = ({mode=\"view\" , Id=null,onHide,designType }: FilterReportFormPropsType) => {\r\n\r\n const [response, setResponse] = useState(null);\r\n const [resetForm, setResetForm] = useState(false);\r\n const [databasesList, setDatabasesList] = useState([]);\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [dateDefaultValue,setDateDefaultValue] = useState({})\r\n const lang = localStorage.getItem(\"lang\");\r\n\r\n const [feedType , setFeedType] = useState(\"Api\")\r\n\r\n\r\n \r\n const submitHandler =(e)=>{\r\n e.preventDefault()\r\n let data:any ={}\r\n response.ReportParameters.map((item , index)=>{\r\n if((e.target[\"value\"+item.ParameterNameEN]&&e.target[\"value\"+item.ParameterNameEN]?.value )|| dateDefaultValue[\"value\"+item.ParameterNameEN]||(e.target[\"value\"+item.ParameterNameEN]!=undefined&&e.target[\"value\"+item.ParameterNameEN][0]&&e.target[\"value\"+item.ParameterNameEN][0]?.value) ){\r\n data[item.ParameterNameEN] ={\r\n \"OperatorType\": +e.target[\"OperatorType\"+item.ParameterNameEN].value,\r\n \"Values\": [\r\n ...(+e.target[\"OperatorType\"+item.ParameterNameEN].value==13||+e.target[\"OperatorType\"+item.ParameterNameEN].value==12 ?\r\n [(item.ParameterDataType.includes(\".Date\")||item.ParameterDataType.includes(\".Time\") ) ?dateDefaultValue[\"value\"+item.ParameterNameEN]?.[0] : (item.ParameterDataType.includes(\"Boolean\") ? e.target[\"value\"+item.ParameterNameEN][0].checked : e.target[\"value\"+item.ParameterNameEN][0].value),\r\n (item.ParameterDataType.includes(\".Date\")||item.ParameterDataType.includes(\".Time\") ) ?dateDefaultValue[\"value\"+item.ParameterNameEN]?.[1] : (item.ParameterDataType.includes(\"Boolean\") ? e.target[\"value\"+item.ParameterNameEN][1].checked : e.target[\"value\"+item.ParameterNameEN][1].value)\r\n ]\r\n :\r\n [ ...(+e.target[\"OperatorType\"+item.ParameterNameEN].value==11||+e.target[\"OperatorType\"+item.ParameterNameEN].value==10 ?\r\n \r\n [...dateDefaultValue[\"value\"+item.ParameterNameEN]] \r\n :\r\n [(item.ParameterDataType.includes(\".Date\")||item.ParameterDataType.includes(\".Time\") ) ?dateDefaultValue[\"value\"+item.ParameterNameEN]?.[0] : (item.ParameterDataType.includes(\"Boolean\") ? e.target[\"value\"+item.ParameterNameEN].checked : e.target[\"value\"+item.ParameterNameEN].value)]\r\n \r\n )\r\n ] \r\n ),\r\n ]\r\n }\r\n if(data[item.ParameterNameEN].Values[0] == null || data[item.ParameterNameEN].Values[0] == undefined){\r\n delete data[item.ParameterNameEN]\r\n }\r\n }\r\n })\r\n let databasesString =\"\"\r\n databasesList.map(item=>{\r\n databasesString += (\"&databases=\"+item)\r\n })\r\n if(databasesList.length==0){\r\n databasesString += (\"&databases=\"+e.target.Databases?.value)\r\n }\r\n if(mode==\"view\"){\r\n window.open(`${process.env.REACT_APP_REPORTING_SERVICE_URL+ \"/ReportViewer/View/\"}${e.target.ReportTemplates.value}?paramsAsJson=${JSON.stringify(data)}${response?.IsMethod ? databasesString:\"\"}&userDataId=${sessionStorage.getItem(\"accept-data\")} `,\"_blank\" ); \r\n }else{\r\n window.open(`${process.env.REACT_APP_REPORTING_SERVICE_URL+ \"/ReportDesigner/Index/\"}${e.target.ReportTemplates.value }?paramsAsJson=${JSON.stringify(data)}${response?.IsMethod ? databasesString:\"\"}&userDataId=${sessionStorage.getItem(\"accept-data\")}&newVersion=${designType=='FileWithNewVersion'?true:false}`,\"_blank\" ); \r\n }\r\n }\r\n\r\n async function getAllFilterReportAsync() {\r\n setLoading(false)\r\n try {\r\n const res = await getReportView(Id); \r\n setResponse(res.Data)\r\n setFeedType(res.Data.IsMethod ?\"Method\" :\"Api\"\t)\r\n } catch (error) {\r\n // setMessageType(\"error\")\r\n }\r\n setLoading(true)\r\n }\r\n\r\n useEffect(() => {\r\n getAllFilterReportAsync()\r\n }, [ Id]);\r\n\r\n return (\r\n
    \r\n {loading?\r\n
    \r\n
    \r\n
    \r\n {response?.IsMethod&&\r\n
    \r\n {setDatabasesList(e)}}\r\n />\r\n
    \r\n }\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n {response.ReportParameters.map((item,index)=>(\r\n
    \r\n
    \r\n {index==0 && {trans('parametername')}}\r\n\r\n \r\n\r\n
    \r\n \r\n
    \r\n {setDateDefaultValue({...dateDefaultValue,...e})}} item={item}/>\r\n
    \r\n
    \r\n ))\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n :\r\n }\r\n\r\n\r\n
    \r\n );\r\n}","import { Button } from \"components/Button/Button\";\r\nimport { FileInput } from \"components/FileInput/FileInput\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { importReportFiles } from \"../api\";\r\nimport { BrowseFile } from \"components/BrowseFile/BrowseFile\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\n\r\ninterface Props {\r\n showForm?: () => any;\r\n reload?: () => any;\r\n}\r\n\r\nexport const ImportReportForm = ({ showForm, reload }: Props) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [selectedFiles, setSelectedFiles] = useState([]);\r\n\r\n const handleSelectedFiles = (e: any) => {\r\n if (e.target.files && e.target.files.length > 0) {\r\n setSelectedFiles([...selectedFiles, ...Array.from(e.target.files)]);\r\n }\r\n };\r\n\r\n const removeFile = (index: number) => {\r\n setSelectedFiles((prevFiles) => prevFiles.filter((_, i) => i !== index));\r\n };\r\n\r\n async function sendDataToServer(event) {\r\n event.preventDefault();\r\n try {\r\n const data = new FormData();\r\n selectedFiles.forEach((file) => data.append(\"files\", file));\r\n await importReportFiles(data);\r\n reload && reload();\r\n setSelectedFiles([]);\r\n } catch (error) {\r\n console.error(\"Error uploading files\", error);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n setSelectedFiles([]);\r\n }\r\n }, [resetForm]);\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {selectedFiles.length > 0 && (\r\n <>\r\n {selectedFiles.map((item, index) => (\r\n item?.file?.type?.includes(\"image\") ?\r\n
    \r\n
    \r\n { removeFile(index) }} icon={['fas', 'times']} className=\"text-primary\" style={{ cursor: 'pointer', height: \"16px\", width: \"15px\" }} />\r\n
    \r\n
    \r\n {}} />\r\n
    \r\n {item.name} \r\n
    \r\n \r\n :\r\n
    \r\n
    \r\n { removeFile(index) }} icon={['fas', 'times']} className=\"text-primary\" style={{ cursor: 'pointer', height: \"16px\", width: \"15px\" }} />\r\n
    \r\n \r\n { }} color='grey' style={{ cursor: 'pointer', height: \"40px\" }} />\r\n \r\n
    \r\n\r\n {item.name} \r\n
    \r\n
    \r\n ))}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n","import { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { maximumTimeOut, REPORT_URL } from \"utils/constants\";\r\nimport { ENDPOINTSREPORT } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getReports = (scope) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.Report.tree,\r\n method: 'get',\r\n params: {\r\n scope: scope\r\n }\r\n}).then((response) => (response.data))\r\n\r\nexport const deleteReport = (id) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.Report.report,\r\n method: 'delete',\r\n params: {\r\n id: id\r\n }\r\n}).then((response) => (response.data))\r\n\r\nexport const exportReport = (id) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.Report.Export,\r\n method: 'get',\r\n responseType: \"blob\",\r\n params: {\r\n id: id\r\n }\r\n }).then((res) => {\r\n return res\r\n }).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n });\r\n \r\n\r\nexport const importReportFiles = (fileData) => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.Report.Import,\r\n method: 'post',\r\n data: fileData,\r\n params:{Confirm:false},\r\n\r\n headers: {\r\n \"content-type\": \"multipart/form-data\",\r\n Accept: \"*/*\",\r\n\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const createMenu = () => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.Report.createMenu,\r\n method: 'post',\r\n }).then((res) => {\r\n return res\r\n }).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n });\r\n export const syncReports = () => http({\r\n baseURL:REPORT_URL ,\r\n url:ENDPOINTSREPORT.Report.sync,\r\n timeout:maximumTimeOut,\r\n method: 'post',\r\n }).then((res) => {\r\n return res\r\n }).catch((err) => {\r\n \r\n return Promise.reject(err);\r\n });","import { TREASURY_AND_ACCOUNTING_URL } from \"utils/constants\";\r\nimport { ENDPOINTSTREASURYANDACCOUNTING } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getBankAccountType = async (\r\n pageNum,\r\n pageSize,\r\n searchString,\r\n orderBy,\r\n filterlist\r\n) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseDefinitionAndSettingApi.BankAccountType\r\n .brows,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString: orderBy,\r\n SearchString: searchString,\r\n FilterString: filterlist,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getBankAccountTypeById = async (id) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseDefinitionAndSettingApi.BankAccountType\r\n .load,\r\n method: \"get\",\r\n params: { Id: id },\r\n headers: { \"Accept-Language\": \"en\" },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postBankAccountType = async (method, data) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseDefinitionAndSettingApi.BankAccountType\r\n .brows,\r\n method: method,\r\n data: data,\r\n headers: { \"Accept-Language\": \"en\" },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const deleteBankAccountType = (id) =>\r\n http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseDefinitionAndSettingApi.BankAccountType\r\n .brows,\r\n method: \"delete\",\r\n params: {\r\n id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { Button } from \"components/Button/Button\";\r\n\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { getBankAccountTypeById, postBankAccountType } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface BankAccountTypeFormPropsType {\r\n selectedObj;\r\n showForm: (e: boolean) => void;\r\n mode;\r\n relod: () => void;\r\n}\r\nexport const BankAccountTypeForm = ({\r\n selectedObj,\r\n showForm,\r\n mode,\r\n relod,\r\n}: BankAccountTypeFormPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n async function getBankAccountTypeByIdAsync() {\r\n setLoading(false);\r\n\r\n try {\r\n if (selectedObj.Id) {\r\n const res = await getBankAccountTypeById(selectedObj.Id);\r\n setResponse(res.Data);\r\n } else {\r\n setResponse(null);\r\n }\r\n } catch (err: any) {}\r\n setLoading(true);\r\n }\r\n\r\n const handleTreasurySubjectsFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let data = {\r\n IsDefault: event.target.checkbox?.checked,\r\n Title: event.target.Title?.value,\r\n TitleEN: event.target.TitleEN?.value,\r\n SystemKey: event.target.SystemKey?.value,\r\n };\r\n\r\n try {\r\n if (mode == \"edit\") {\r\n await postBankAccountType(\"put\", {\r\n ...data,\r\n Id: selectedObj.Id,\r\n ActivityStatus: +event.target.ActivityStatus?.value,\r\n });\r\n } else {\r\n await postBankAccountType(\"post\", data);\r\n }\r\n relod();\r\n } catch (error) {}\r\n cancel();\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // showForm(false);\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n showForm(false);\r\n });\r\n } else {\r\n showForm(false);\r\n }\r\n }\r\n\r\n const pasteHandler = async () => {\r\n const text = JSON.parse(await navigator.clipboard.readText());\r\n setResponse(text);\r\n try {\r\n } catch (error) {}\r\n };\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getBankAccountTypeByIdAsync();\r\n } else {\r\n setLoading(true);\r\n }\r\n }, [selectedObj]);\r\n\r\n return (\r\n
    \r\n
    \r\n {loading ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"Title\"\r\n labelText=\"Title\"\r\n required={true}\r\n defaultValue={response?.Title ? response?.Title : \"\"}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"TitleEN\"\r\n labelText=\"TitleEN\"\r\n required={true}\r\n defaultValue={response?.TitleEN ? response?.TitleEN : \"\"}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"SystemKey\"\r\n labelText=\"SystemKey\"\r\n required\r\n defaultValue={\r\n response?.SystemKey ? response?.SystemKey : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n {mode !== \"create\" && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n mode={mode}\r\n label=\"Status\"\r\n value={response?.Status}\r\n />\r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n\r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n )}\r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n","import { TREASURY_AND_ACCOUNTING_URL } from \"utils/constants\";\r\nimport { ENDPOINTSTREASURYANDACCOUNTING } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getBankPOS = async (\r\n pageNum,\r\n pageSize,\r\n searchString,\r\n orderBy,\r\n filterlist\r\n) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseDefinitionAndSettingApi.BankPOS.brows,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString: orderBy,\r\n SearchString: searchString,\r\n FilterString: filterlist,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getBankPOSById = async (id) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseDefinitionAndSettingApi.BankPOS.load,\r\n method: \"get\",\r\n params: { Id: id },\r\n headers: { \"Accept-Language\": \"en\" },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postBankPOS = async (method, data) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseDefinitionAndSettingApi.BankPOS.brows,\r\n method: method,\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const deleteBankPOS = (id) =>\r\n http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseDefinitionAndSettingApi.BankPOS.brows,\r\n method: \"delete\",\r\n params: {\r\n id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { Button } from \"components/Button/Button\";\r\n\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport {\r\n INVENTORYANDSALES_URL,\r\n TREASURY_AND_ACCOUNTING_URL,\r\n} from \"utils/constants\";\r\nimport {\r\n ENDPOINTSINVENTORYANDSALES,\r\n ENDPOINTSTREASURYANDACCOUNTING,\r\n} from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { getBankPOSById, postBankPOS } from \"./api\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface BankPOSFormPropsType {\r\n selectedObj;\r\n showForm: (e: boolean) => void;\r\n mode;\r\n relod: () => void;\r\n}\r\nexport const BankPOSForm = ({\r\n selectedObj,\r\n showForm,\r\n mode,\r\n relod,\r\n}: BankPOSFormPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [bankAccountId, setBankAccountId] = useState();\r\n const [connectionType, setConnectionType] = useState();\r\n\r\n async function getBankPOSByIdAsync() {\r\n setLoading(false);\r\n\r\n try {\r\n if (selectedObj.Id) {\r\n const res = await getBankPOSById(selectedObj.Id);\r\n setResponse(res.Data);\r\n } else {\r\n setResponse(null);\r\n }\r\n } catch (err: any) {}\r\n setLoading(true);\r\n }\r\n\r\n const handleBankFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let data = {\r\n IsDefault: event.target.checkbox?.checked,\r\n Description: event.target.Description?.value,\r\n BankAccountId: event.target.BankAccountId?.value,\r\n ConnectionType: +event.target.ConnectionType?.value,\r\n PaymentServiceProviderId: event.target.PaymentServiceProviderId?.value,\r\n PaymentSwitchNumber: event.target.PaymentSwitchNumber?.value,\r\n Port: event.target.Port?.value,\r\n PortSpeed: event.target.PortSpeed?.value,\r\n MerchantNumber: event.target.MerchantNumber?.value,\r\n TerminalNumber: event.target.TerminalNumber?.value,\r\n };\r\n\r\n try {\r\n if (mode == \"edit\") {\r\n await postBankPOS(\"put\", { ...data, Id: selectedObj.Id,ActivityStatus: +event.target.ActivityStatus?.value });\r\n } else {\r\n await postBankPOS(\"post\", data);\r\n }\r\n relod();\r\n } catch (error) {}\r\n cancel();\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // showForm(false);\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n showForm(false);\r\n });\r\n } else {\r\n showForm(false);\r\n }\r\n }\r\n\r\n const pasteHandler = async () => {\r\n const text = JSON.parse(await navigator.clipboard.readText());\r\n setResponse(text);\r\n try {\r\n } catch (error) {}\r\n };\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getBankPOSByIdAsync();\r\n } else {\r\n setLoading(true);\r\n }\r\n }, [selectedObj]);\r\n\r\n return (\r\n
    \r\n
    \r\n {loading ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setBankAccountId(e);\r\n }}\r\n required={true}\r\n baseUrl={TREASURY_AND_ACCOUNTING_URL}\r\n endPoint={\r\n ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi\r\n .BankAccounts.dictionary\r\n }\r\n label=\"BankAccount\"\r\n name=\"BankAccountId\"\r\n value={\r\n response?.BankAccountId ? response?.BankAccountId : \"\"\r\n }\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setBankAccountId(e);\r\n }}\r\n required={true}\r\n baseUrl={TREASURY_AND_ACCOUNTING_URL}\r\n endPoint={\r\n ENDPOINTSTREASURYANDACCOUNTING.Treasury\r\n .BaseDefinitionAndSettingApi.PaymentServiceProvider\r\n .dictionary\r\n }\r\n label=\"PaymentServiceProvider\"\r\n name=\"PaymentServiceProviderId\"\r\n value={\r\n response?.PaymentServiceProviderId\r\n ? response?.PaymentServiceProviderId\r\n : \"\"\r\n }\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"PaymentSwitchNumber\"\r\n labelText=\"PaymentSwitchNumber\"\r\n required={true}\r\n defaultValue={\r\n response?.PaymentSwitchNumber\r\n ? response?.PaymentSwitchNumber\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"Port\"\r\n labelText=\"Port\"\r\n required\r\n defaultValue={response?.Port ? response?.Port : \"\"}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"PortSpeed\"\r\n labelText=\"PortSpeed\"\r\n required\r\n defaultValue={\r\n response?.PortSpeed ? response?.PortSpeed : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"MerchantNumber\"\r\n labelText=\"MerchantNumber\"\r\n required\r\n defaultValue={\r\n response?.MerchantNumber ? response?.MerchantNumber : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"TerminalNumber\"\r\n labelText=\"TerminalNumber\"\r\n required\r\n defaultValue={\r\n response?.TerminalNumber ? response?.TerminalNumber : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n required\r\n defaultValue={\r\n response?.Description ? response?.Description : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {mode !== \"create\" && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n mode={mode}\r\n label=\"Status\"\r\n value={response?.Status}\r\n />\r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n )}\r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n","import { TREASURY_AND_ACCOUNTING_URL } from \"utils/constants\";\r\nimport { ENDPOINTSTREASURYANDACCOUNTING } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getDocsClassification = async (Id) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseDefinitionAndSettingApi\r\n .DocsClassification.load,\r\n method: \"get\",\r\n params: { Id: Id },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postDocsClassificationApi = (data) =>\r\n http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseDefinitionAndSettingApi\r\n .DocsClassification.browse,\r\n method: \"post\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const putDocsClassificationApi = (data) =>\r\n http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseDefinitionAndSettingApi\r\n .DocsClassification.browse,\r\n method: \"put\",\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getDocsClassificationDictionary = async () =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseDefinitionAndSettingApi\r\n .DocsClassification.dictionary,\r\n method: \"get\",\r\n }).then((response) => response.data);\r\n\r\nexport const deleteListDocsClassification = (id) =>\r\n http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseDefinitionAndSettingApi\r\n .DocsClassification.browse,\r\n method: \"delete\",\r\n params: {\r\n id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getListDocsClassification = async (\r\n searchString,\r\n orderBy,\r\n pageNum,\r\n pageSize,\r\n applicationId\r\n) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseDefinitionAndSettingApi\r\n .DocsClassification.browse,\r\n method: \"get\",\r\n params: {\r\n searchString: searchString,\r\n orderBy: orderBy,\r\n PageSize: pageSize,\r\n PageNumber: pageNum,\r\n ApplicationId: applicationId,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Response } from \"types/types\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport {\r\n postDocsClassificationApi,\r\n putDocsClassificationApi,\r\n getDocsClassification,\r\n} from \"./api\";\r\nimport { ListFormat } from \"typescript\";\r\n\r\nexport const DocsClassificationForm = ({\r\n reload,\r\n mode,\r\n onHide,\r\n selectedObj,\r\n}) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [userChanges, setUserChanges] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n\r\n const submit = (e) => {\r\n e.preventDefault();\r\n if (mode === \"create\") {\r\n postDocsClassificationApi({\r\n IsDefault: e.target.IsDefault.checked,\r\n Title: e.target.DocsClassificationTitle.value,\r\n TitleEN: e.target.DocsClassificationTitleEN.value,\r\n StartDocsNo: +e.target.StartDocsNo.value,\r\n \r\n }).then(() => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n reload();\r\n onHide();\r\n });\r\n } else {\r\n putDocsClassificationApi({\r\n Id: selectedObj.Id,\r\n IsDefault: e.target.IsDefault.checked,\r\n Title: e.target.DocsClassificationTitle.value,\r\n TitleEN: e.target.DocsClassificationTitleEN.value,\r\n StartDocsNo: +e.target.StartDocsNo.value,\r\n ActivityStatus: +e.target.ActivityStatus?.value\r\n }).then(() => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setResponse(null);\r\n setUserChanges({});\r\n reload();\r\n onHide();\r\n });\r\n }\r\n };\r\n\r\n async function getDocsClassificationId() {\r\n setLoading(false);\r\n try {\r\n const data = await getDocsClassification(selectedObj?.Id);\r\n setResponse(data.Data);\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode !== \"create\") {\r\n getDocsClassificationId();\r\n } else {\r\n setResponse(null);\r\n setLoading(true);\r\n }\r\n }, [mode]);\r\n\r\n return (\r\n
    \r\n {loading ? (\r\n \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"DocsClassificationTitle\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"Description\"}\r\n mode={mode}\r\n defaultValue={response?.Title}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"DocsClassificationTitleEN\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"TitleEN\"}\r\n mode={mode}\r\n defaultValue={response?.TitleEN}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n required={true}\r\n textboxName={\"StartDocsNo\"}\r\n textboxType=\"number\"\r\n resetForm={resetForm}\r\n labelText={\"StartDocsNo\"}\r\n mode={mode}\r\n defaultValue={response?.StartDocsNo + \"\"}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n defaultChecked={response?.IsDefault}\r\n defaultValue={response?.IsDefault}\r\n labelText={\"IsDefault\"}\r\n inputName={\"IsDefault\"}\r\n type=\"checkbox\"\r\n mode={mode}\r\n />\r\n
    \r\n {mode !== \"create\" && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n mode={mode}\r\n label=\"Status\"\r\n value={response?.Status}\r\n />\r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n\r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n onHide();\r\n }}\r\n />\r\n
    \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n","import { TREASURY_AND_ACCOUNTING_URL } from \"utils/constants\";\r\nimport { ENDPOINTSTREASURYANDACCOUNTING } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getBank = async (\r\n pageNum,\r\n pageSize,\r\n searchString,\r\n orderBy,\r\n filterlist\r\n) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi.Bank.brows,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString: orderBy,\r\n SearchString: searchString,\r\n FilterString: filterlist,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getBankById = async (id) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi.Bank.load,\r\n method: \"get\",\r\n params: { Id: id },\r\n headers: { \"Accept-Language\": \"en\" },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postBank = async (method, data) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi.Bank.brows,\r\n method: method,\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const deleteBank = (id) =>\r\n http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi.Bank.brows,\r\n method: \"delete\",\r\n params: {\r\n id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { Button } from \"components/Button/Button\";\r\n\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\nimport { getBankById, postBank } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface BankFormPropsType {\r\n selectedObj;\r\n showForm: (e: boolean) => void;\r\n mode;\r\n relod: () => void;\r\n}\r\nexport const BankForm = ({\r\n selectedObj,\r\n showForm,\r\n mode,\r\n relod,\r\n}: BankFormPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n async function getBankByIdAsync() {\r\n setLoading(false);\r\n\r\n try {\r\n if (selectedObj.Id) {\r\n const res = await getBankById(selectedObj.Id);\r\n setResponse(res.Data);\r\n } else {\r\n setResponse(null);\r\n }\r\n } catch (err: any) {}\r\n setLoading(true);\r\n }\r\n\r\n const handleBankFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let data = {\r\n IsDefault: event.target.checkbox?.checked,\r\n SystemKey: event.target.SystemKey?.value,\r\n BankName: event.target.BankName?.value,\r\n BankNameEN: event.target.BankNameEN?.value,\r\n };\r\n\r\n try {\r\n if (mode == \"edit\") {\r\n await postBank(\"put\", {\r\n ...data,\r\n Id: selectedObj.Id,\r\n ActivityStatus: +event.target.ActivityStatus?.value,\r\n });\r\n } else {\r\n await postBank(\"post\", data);\r\n }\r\n relod();\r\n } catch (error) {}\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // showForm(false);\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n showForm(false);\r\n });\r\n } else {\r\n showForm(false);\r\n }\r\n }\r\n\r\n const pasteHandler = async () => {\r\n const text = JSON.parse(await navigator.clipboard.readText());\r\n setResponse(text);\r\n try {\r\n } catch (error) {}\r\n };\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getBankByIdAsync();\r\n } else {\r\n setLoading(true);\r\n }\r\n }, [selectedObj]);\r\n\r\n return (\r\n
    \r\n
    \r\n {loading ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"BankName\"\r\n labelText=\"BankName\"\r\n required\r\n defaultValue={response?.BankName ? response?.BankName : \"\"}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"BankNameEN\"\r\n labelText=\"BankNameEN\"\r\n defaultValue={\r\n response?.BankNameEN ? response?.BankNameEN : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"SystemKey\"\r\n labelText=\"SystemKey\"\r\n defaultValue={\r\n response?.SystemKey ? response?.SystemKey : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n {mode !== \"create\" && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n mode={mode}\r\n label=\"Status\"\r\n value={response?.Status}\r\n />\r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n )}\r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n","import { TREASURY_AND_ACCOUNTING_URL } from \"utils/constants\";\r\nimport { ENDPOINTSTREASURYANDACCOUNTING } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getBankAccounts = async (\r\n pageNum,\r\n pageSize,\r\n searchString,\r\n orderBy,\r\n filterlist\r\n) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi.BankAccounts\r\n .brows,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString: orderBy,\r\n SearchString: searchString,\r\n FilterString: filterlist,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getBankAccountById = async (id) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi.BankAccounts\r\n .load,\r\n method: \"get\",\r\n params: { Id: id },\r\n headers: { \"Accept-Language\": \"en\" },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postBankAccount = async (method, data) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi.BankAccounts\r\n .brows,\r\n method: method,\r\n data: data,\r\n headers: { \"Accept-Language\": \"en\" },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const deleteBankAccount = (id) =>\r\n http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi.BankAccounts\r\n .brows,\r\n method: \"delete\",\r\n params: {\r\n id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getDocsClassification } from \"./api\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\n\r\ninterface DictionaryTypeSelectProps {\r\n value?: any;\r\n mode?: string;\r\n resetForm?: boolean;\r\n name: string;\r\n label: string;\r\n endPoint: string;\r\n baseUrl?: string;\r\n required?: boolean;\r\n transe?: boolean;\r\n params?: any;\r\n recordedData?: any;\r\n Change?: (e) => void;\r\n onChange?: (e: any, obj?: any) => void;\r\n useTrans?: boolean;\r\n}\r\nexport const DocsClassification = ({\r\n recordedData,\r\n params,\r\n label,\r\n required = false,\r\n baseUrl,\r\n useTrans = false,\r\n endPoint,\r\n value,\r\n name,\r\n mode,\r\n resetForm,\r\n onChange,\r\n Change,\r\n}: DictionaryTypeSelectProps) => {\r\n const [DocsClassification, setDocsClassification] = useState();\r\n const [defaultval, setdefault] = useState(value);\r\n const [errcode, setErrcode] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const getDocsClassificationAsync = async () => {\r\n setLoading(false);\r\n try {\r\n const res = await getDocsClassification(endPoint, baseUrl, params);\r\n if (res?.Data) {\r\n setDocsClassification(res?.Data);\r\n onChange &&\r\n onChange(\r\n Object.keys(res?.Data)[0],\r\n res?.Data[Object.keys(res?.Data)[0]]\r\n );\r\n } else {\r\n setDocsClassification(res);\r\n onChange &&\r\n onChange(Object.keys(res)[0], res?.Data[Object.keys(res?.Data)[0]]);\r\n }\r\n } catch (error: any) {\r\n setErrcode(error.response.status);\r\n setDocsClassification(null);\r\n }\r\n setLoading(true);\r\n };\r\n\r\n const handleOnChange = (e) => {\r\n onChange && onChange(e.target.value, DocsClassification[e.target.value]);\r\n Change && Change(true);\r\n\r\n if (\r\n e.target &&\r\n e.target.value != (value ? value : Object.keys(DocsClassification)[0])\r\n ) {\r\n Change && Change({ [name]: e.target.value });\r\n } else {\r\n Change && Change({ [name]: null });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getDocsClassificationAsync();\r\n if (value) {\r\n onChange && onChange(value);\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (params) {\r\n getDocsClassificationAsync();\r\n }\r\n }, [params]);\r\n\r\n useEffect(() => {\r\n setdefault(value);\r\n }, [resetForm]);\r\n\r\n return (\r\n <>\r\n {DocsClassification && loading ? (\r\n <>\r\n {\r\n handleOnChange(e);\r\n }}\r\n lable={label}\r\n selectType={\"select\"}\r\n options={Object.values(DocsClassification)}\r\n val={Object.keys(DocsClassification)}\r\n name={name}\r\n value={value}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={required}\r\n useTrans={useTrans}\r\n recordedData={recordedData}\r\n />\r\n
    \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { http } from \"utils/http\";\r\n\r\nexport const getDocsClassification = async (endPoint, baseUrl?, params?) =>\r\n await http({\r\n baseURL: baseUrl,\r\n url: endPoint,\r\n method: \"get\",\r\n params: {\r\n ...params,\r\n },\r\n }).then((response) => response.data);\r\n","import { Button } from \"components/Button/Button\";\r\n\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport {\r\n TREASURY_AND_ACCOUNTING_URL\r\n} from \"utils/constants\";\r\nimport {\r\n ENDPOINTSTREASURYANDACCOUNTING\r\n} from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { Person } from \"components/Person/Person\";\r\nimport { CurrencyDictionary } from \"pages/InventoryAndSales/Sales/PriceList/components/CurrencyDictionary/CurrencyDictionary\";\r\nimport { getBankAccountById, postBankAccount } from \"./api\";\r\nimport { DocsClassification } from \"./components/DocsClassification/DocsClassification\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface BankAccountsFormPropsType {\r\n selectedObj;\r\n showForm: (e: boolean) => void;\r\n mode;\r\n relod: () => void;\r\n handleCopyItem?: any;\r\n}\r\nexport const BankAccountsForm = ({\r\n selectedObj,\r\n showForm,\r\n mode,\r\n relod,\r\n handleCopyItem,\r\n}: BankAccountsFormPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [bankAccountTypeId, setBankAccountTypeId] = useState();\r\n const [bankId, setBankId] = useState();\r\n const [customer, setCustomer] = useState();\r\n const [registerDate, setRegisterDate] = useState();\r\n const [docsClassification, setDocsClassification] = useState();\r\n\r\n async function getBankAccountByIdAsync() {\r\n setLoading(false);\r\n\r\n try {\r\n if (selectedObj.id) {\r\n const res = await getBankAccountById(selectedObj.id);\r\n setResponse(res.Data);\r\n } else {\r\n setResponse(null);\r\n }\r\n } catch (err: any) {}\r\n setLoading(true);\r\n }\r\n\r\n const handleBankAccountsFormSubmit = (event) => {\r\n event.preventDefault();\r\n\r\n let data = {\r\n AccDetailId: \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\r\n BankAccountTypeId: event.target.BankAccountTypeId?.value,\r\n OwnerPersonId: customer,\r\n CurrencyId: event.target.CurrencyId?.value,\r\n AccBranchId: \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\r\n DocClassificationId: docsClassification,\r\n BankId: event.target.BankId?.value,\r\n AccountId: \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\r\n BankAccountNo: event.target.BankAccountNo?.value,\r\n ShabaCode: event.target.ShabaCode?.value,\r\n BranchCode: event.target.BranchCode?.value,\r\n OwnerPersonName: event.target.OwnerPersonName?.value,\r\n OwnerPersonNameEN: event.target.OwnerPersonNameEN?.value,\r\n RegisterDate: registerDate,\r\n BankTransactionFeePolicyKey:\r\n event.target.BankTransactionFeePolicyKey?.value,\r\n HasChequeBook: event.target.HasChequeBook?.checked,\r\n HasPos: event.target.HasPos?.checked,\r\n FirstPeriodRemain: +event.target.FirstPeriodRemain?.value,\r\n };\r\n try {\r\n if (mode == \"edit\") {\r\n postBankAccount(\"put\", {\r\n ...data,\r\n id: selectedObj.id,\r\n ActivityStatus: +event.target.ActivityStatus?.value,\r\n });\r\n } else {\r\n postBankAccount(\"post\", data);\r\n }\r\n relod();\r\n } catch (error) {}\r\n cancel();\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // showForm(false);\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n showForm(false);\r\n });\r\n } else {\r\n showForm(false);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getBankAccountByIdAsync();\r\n } else {\r\n setLoading(true);\r\n }\r\n }, [selectedObj]);\r\n\r\n return (\r\n
    \r\n
    \r\n {loading ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"BankAccountNo\"\r\n labelText=\"BankAccountNo\"\r\n required\r\n defaultValue={\r\n response?.BankAccountNo ? response?.BankAccountNo : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"AccDetailId\"\r\n labelText=\"AccDetail\"\r\n defaultValue={\r\n response?.AccDetailId ? response?.AccDetailId : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {/* state */}\r\n {\r\n setBankAccountTypeId(e);\r\n }}\r\n baseUrl={TREASURY_AND_ACCOUNTING_URL}\r\n endPoint={\r\n ENDPOINTSTREASURYANDACCOUNTING.Treasury\r\n .BaseDefinitionAndSettingApi.BankAccountType.dictionary\r\n }\r\n label=\"BankAccountType\"\r\n name=\"BankAccountTypeId\"\r\n value={\r\n response?.BankAccountTypeId\r\n ? response?.BankAccountTypeId\r\n : \"\"\r\n }\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {/* state customer */}\r\n \r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"OwnerPersonName\"\r\n labelText=\"OwnerPersonName\"\r\n defaultValue={\r\n response?.OwnerPersonName ? response?.OwnerPersonName : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"OwnerPersonNameEN\"\r\n labelText=\"OwnerPersonNameEN\"\r\n defaultValue={\r\n response?.OwnerPersonNameEN\r\n ? response?.OwnerPersonNameEN\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {/* state bankId*/}\r\n {\r\n setBankId(e);\r\n }}\r\n baseUrl={TREASURY_AND_ACCOUNTING_URL}\r\n endPoint={\r\n ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi\r\n .Bank.dictionary\r\n }\r\n label=\"Bank\"\r\n name=\"BankId\"\r\n value={response?.BankId ? response?.BankId : \"\"}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"ShabaCode\"\r\n labelText=\"ShabaCode\"\r\n required\r\n defaultValue={\r\n response?.ShabaCode ? response?.ShabaCode : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"BranchCode\"\r\n labelText=\"BranchCode\"\r\n defaultValue={\r\n response?.BranchCode ? response?.BranchCode : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n \r\n
    \r\n {/* stateRegisterDate */}\r\n {\r\n setRegisterDate(isoTime);\r\n }}\r\n val={response?.RegisterDate ? response?.RegisterDate : null}\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"BankTransactionFeePolicyKey\"\r\n labelText=\"BankTransactionFeePolicyKey\"\r\n defaultValue={\r\n response?.BankTransactionFeePolicyKey\r\n ? response?.BankTransactionFeePolicyKey\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"number\"\r\n textboxName=\"FirstPeriodRemain\"\r\n labelText=\"FirstPeriodRemain\"\r\n defaultValue={\r\n response?.FirstPeriodRemain\r\n ? response?.FirstPeriodRemain\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {/* state docsClassification */}\r\n {\r\n setDocsClassification(e);\r\n }}\r\n mode={mode}\r\n />\r\n
    \r\n {mode !== \"create\" && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n mode={mode}\r\n label=\"Status\"\r\n value={response?.Status}\r\n />\r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n )}\r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n","import { TREASURY_AND_ACCOUNTING_URL } from \"utils/constants\";\r\nimport { ENDPOINTSTREASURYANDACCOUNTING } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getCashAccount = async (\r\n pageNum,\r\n pageSize,\r\n searchString,\r\n orderBy,\r\n filterlist\r\n) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi.CashAccount\r\n .brows,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString: orderBy,\r\n SearchString: searchString,\r\n FilterString: filterlist,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getCashAccountById = async (id) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi.CashAccount\r\n .load,\r\n method: \"get\",\r\n params: { Id: id },\r\n headers: { \"Accept-Language\": \"en\" },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postCashAccount = async (method, data) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi.CashAccount\r\n .brows,\r\n method: method,\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const deleteCashAccount = (id) =>\r\n http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi.CashAccount\r\n .brows,\r\n method: \"delete\",\r\n params: {\r\n id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import {\r\n TREASURY_AND_ACCOUNTING_URL\r\n} from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSTREASURYANDACCOUNTING } from \"utils/endpoints\";\r\n\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getGroupPositionList = async (SearchString) =>\r\n await http({\r\n url: ENDPOINTS.BaseInformation.groupPosition.dictionary,\r\n method: \"get\",\r\n params: {\r\n SearchString: SearchString,\r\n },\r\n }).then((respons) => respons.data);\r\nexport const getPositionList = async (SearchString) =>\r\n await http({\r\n url: ENDPOINTS.BaseInformation.position.browse,\r\n method: \"get\",\r\n params: {\r\n searchString: SearchString,\r\n },\r\n }).then((respons) => respons.data);\r\n\r\nexport const sendCashAccountAccess = async (data, method, ownerId) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi.CashAccount\r\n .access,\r\n method: \"put\",\r\n params: {\r\n ownerId,\r\n },\r\n data: data,\r\n }).then((respons) => respons.data);\r\n\r\nexport const getCashAccountAccess = async (id) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi.CashAccount\r\n .access,\r\n method: \"get\",\r\n params: { ownerId: id },\r\n headers: { \"Accept-Language\": \"en\" },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { Button } from \"components/Button/Button\";\r\nimport { ButtonArrow } from \"components/ButtonArrow/ButtonArrow\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport {\r\n getCashAccountAccess,\r\n getGroupPositionList,\r\n getPositionList,\r\n sendCashAccountAccess,\r\n} from \"./components/api\";\r\n\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface Form {\r\n Title?: string;\r\n assignmentMethod?: string;\r\n Status?: number;\r\n\r\n showForm: (e) => void;\r\n modalWidth?: any;\r\n ownerId?: any;\r\n}\r\n\r\nexport const CashAccountAccesses: React.FC
    = ({\r\n showForm,\r\n modalWidth,\r\n ownerId,\r\n}) => {\r\n const [mood, setMood] = useState(\"users\");\r\n const [Moodassign, setMoodassign] = useState(\"users\");\r\n const [flag, setFlag] = useState(false);\r\n const [response, setResponse] = useState([]);\r\n const [assignmentResponse, setAssignmentResponse] = useState([]);\r\n const [selectList, setSelectList] = useState([]);\r\n const [assignedList, setAssignedList] = useState([]);\r\n const [savedData, setSavedData] = useState([]);\r\n const [assignedSelectList, setAssignedSelectList] = useState([]);\r\n const [resetMultiSelect, setResetMultiSelect] = useState(false);\r\n const [positionstr, setPositionstr] = useState();\r\n const [positionAssignmentstr, setPositionAssignmentstr] = useState();\r\n const [width, setWidth] = useState(window.innerWidth);\r\n const [showModal, setShowModal] = useState(false);\r\n const [modalData, setModalData] = useState<\r\n { add: boolean; Delete: boolean; view: boolean; edit: boolean } | undefined\r\n >();\r\n const [submitted, setSubmitted] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [loading2, setLoading2] = useState(false);\r\n const [massageType, setMassageType] = useState(\"info\");\r\n const [massageType2, setMassageType2] = useState(\"info\");\r\n\r\n const breakPoint1 = modalWidth < 50 || width < 750;\r\n // const breakPoint2 = modalWidth < 80 || width < 1100\r\n // const breakPoint3 = modalWidth > 90 || width > 1100\r\n\r\n window.onresize = () => {\r\n setWidth(window.innerWidth);\r\n };\r\n\r\n let keys,\r\n Data: any = [],\r\n Dataassign: any = [];\r\n async function getPositionsListAsync(SearchString) {\r\n setLoading(false);\r\n try {\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list: any = [];\r\n Positionresponse.Data.forEach((item) => {\r\n let obj: any = new Object();\r\n obj.Id = item.Id;\r\n obj.TU_RELATION = 1;\r\n obj.Title = item.Description;\r\n list.push(obj);\r\n });\r\n\r\n setResponse(list);\r\n } catch (error) {\r\n setMassageType(\"error\");\r\n }\r\n setLoading(true);\r\n }\r\n async function getPositionsListSearchingAsync(SearchString) {\r\n /* if(Moodassign==\"groups\"){\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list:any=[]\r\n for (let x in Groupresponse) {\r\n list.push({Id:x ,TU_RELATION:2 ,Title:Groupresponse[x] }) \r\n }\r\n \r\n setAssignmentResponse(list)\r\n \r\n }else if(Moodassign==\"users\"){\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n for (let x in Positionresponse) {\r\n \r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=1\r\n obj.Title=Positionresponse[x]\r\n list.push(obj) \r\n }\r\n setAssignmentResponse(list) \r\n }else */ {\r\n const Groupresponse = await getGroupPositionList(SearchString);\r\n let list2: any = [];\r\n\r\n for (let x in Groupresponse.Data) {\r\n let obj: any = new Object();\r\n obj.Id = x;\r\n obj.TU_RELATION = 2;\r\n obj.Title = Groupresponse.Data[x];\r\n list2.push(obj);\r\n }\r\n\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list: any = [];\r\n Positionresponse.Data.forEach((item) => {\r\n let obj: any = new Object();\r\n obj.Id = item.Id;\r\n obj.TU_RELATION = 1;\r\n obj.Title = item.Description;\r\n list.push(obj);\r\n });\r\n\r\n setAssignmentResponse(list.concat(list2));\r\n }\r\n }\r\n\r\n async function SetWarehouseAccessAsync(data, warehouseId) {\r\n try {\r\n const response = await sendCashAccountAccess(data, \"put\", warehouseId);\r\n\r\n showForm(false);\r\n } catch (error) {}\r\n }\r\n\r\n async function getTaskUserAsync() {\r\n setLoading2(false);\r\n\r\n try {\r\n const TaskUserresponse = await getCashAccountAccess(ownerId);\r\n let makeData: any = [];\r\n\r\n if (TaskUserresponse) {\r\n TaskUserresponse.Data.map((item) => {\r\n makeData.push({\r\n Id: item.GroupPositionId ? item.GroupPositionId : item.PositionId,\r\n TU_RELATION: item.GroupPositionId ? 2 : 1,\r\n Title: item.Description,\r\n });\r\n });\r\n setSavedData(makeData);\r\n setAssignedList(makeData);\r\n }\r\n } catch (error) {\r\n setMassageType2(\"error\");\r\n }\r\n setLoading2(true);\r\n }\r\n function hide() {\r\n showForm(false);\r\n }\r\n\r\n const getStatusFromModal = (data, formSubmitted) => {\r\n setModalData(data);\r\n setSubmitted(formSubmitted);\r\n };\r\n\r\n function backward() {\r\n setAssignedSelectList([]);\r\n setResetMultiSelect(!resetMultiSelect);\r\n\r\n const updatedData = selectList.map((item) => {\r\n return { ...item, ...modalData };\r\n });\r\n\r\n setAssignedList(assignedList.concat(updatedData));\r\n setFlag(!flag);\r\n setSelectList([]);\r\n setSubmitted(false);\r\n }\r\n\r\n function forward() {\r\n setResetMultiSelect(!resetMultiSelect);\r\n let list: any = [];\r\n assignedList.forEach((item1, index1) => {\r\n let flag = true;\r\n\r\n assignedSelectList.forEach((item2, index2) => {\r\n if (item2.Id == item1.Id) {\r\n flag = false;\r\n }\r\n });\r\n if (flag) {\r\n list.push(item1);\r\n }\r\n });\r\n\r\n setAssignedList(list);\r\n }\r\n\r\n const selectListCallBack = (list) => {\r\n setSelectList(list[1]);\r\n };\r\n\r\n const assignedselectListCallBack = (list) => {\r\n setAssignedSelectList(list[1]);\r\n };\r\n\r\n const referenceFormSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n if (assignedList.length == 0) {\r\n // Toast(\"msg_assigneduserscannotempty\", \"error\");\r\n Toast(\"msg_assigneduserscannotempty\", MessageType.error);\r\n\r\n } else {\r\n e.preventDefault();\r\n let Data = assignedList.map((item) => {\r\n let obj = {\r\n [item.TU_RELATION == 1 ? \"PositionId\" : \"GroupPositionId\"]: item.Id,\r\n };\r\n return obj;\r\n });\r\n\r\n SetWarehouseAccessAsync(Data.length > 0 ? Data : [], ownerId);\r\n }\r\n };\r\n\r\n const searching = (e) => {\r\n setPositionstr(e == \"\" ? null : e);\r\n getPositionsListAsync(e == \"\" ? null : e);\r\n };\r\n\r\n const assignmentsearching = (e) => {\r\n setPositionAssignmentstr(e == \"\" ? null : e);\r\n getPositionsListSearchingAsync(e == \"\" ? null : e);\r\n };\r\n\r\n useEffect(() => {\r\n getPositionsListAsync(positionstr);\r\n getPositionsListSearchingAsync(positionAssignmentstr);\r\n }, [mood]);\r\n\r\n useEffect(() => {\r\n getTaskUserAsync();\r\n }, []);\r\n\r\n if (response && assignedList) {\r\n let assignmentdata: any = [];\r\n\r\n assignedList.forEach((elm) => {\r\n if (Moodassign == \"groups\") {\r\n if (elm.TU_RELATION == 2) assignmentdata.push(elm);\r\n } else if (Moodassign == \"users\") {\r\n if (elm.TU_RELATION == 1) assignmentdata.push(elm);\r\n } else {\r\n assignmentdata.push(elm);\r\n }\r\n });\r\n\r\n // assignmentResponse.forEach(item1 => {\r\n // let flag =false\r\n\r\n // assignmentdata.forEach(item2 => {\r\n // if(item1.Id == item2.Id){\r\n // flag = true\r\n // }\r\n // });\r\n\r\n // if(flag){\r\n // Dataassign.push(item1)\r\n // }\r\n // });\r\n\r\n assignmentResponse.map((obj) => {\r\n const isSameId = assignmentdata.some((item) => item.Id === obj.Id);\r\n const currentItem = assignmentdata.find((item) => item.Id === obj.Id);\r\n\r\n if (currentItem) {\r\n const { add, view, edit, Delete } = currentItem;\r\n\r\n if (isSameId) {\r\n Dataassign.push({ ...obj, add, view, edit, Delete });\r\n }\r\n }\r\n });\r\n\r\n response.map((item1) => {\r\n let flag = true;\r\n assignedList.forEach((item2) => {\r\n if (item1.Id == item2.Id) {\r\n flag = false;\r\n }\r\n });\r\n if (flag) {\r\n Data.push(item1);\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {loading ? (\r\n <>\r\n {response ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {\r\n forward();\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {loading2 ? (\r\n <>\r\n {Dataassign ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n","import { Button } from \"components/Button/Button\";\r\nimport { ButtonArrow } from \"components/ButtonArrow/ButtonArrow\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { Search } from \"components/Search/Search\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getGroupPositionList, getPositionList } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface Form {\r\n Title?: string;\r\n assignmentMethod?: string;\r\n Status?: number;\r\n showForm: (e) => void;\r\n accessDatahandler: (e) => void;\r\n modalWidth?: any;\r\n ownerId?: any;\r\n accessData?: any;\r\n mode: any;\r\n}\r\n\r\nexport const CashAccountAccess: React.FC
    = ({\r\n showForm,\r\n accessDatahandler,\r\n accessData,\r\n modalWidth,\r\n mode,\r\n ownerId,\r\n}) => {\r\n const [mood, setMood] = useState(\"users\");\r\n const [Moodassign, setMoodassign] = useState(\"users\");\r\n const [flag, setFlag] = useState(false);\r\n const [response, setResponse] = useState([]);\r\n const [assignmentResponse, setAssignmentResponse] = useState([]);\r\n const [selectList, setSelectList] = useState([]);\r\n const [assignedList, setAssignedList] = useState([]);\r\n const [savedData, setSavedData] = useState([]);\r\n const [assignedSelectList, setAssignedSelectList] = useState([]);\r\n const [resetMultiSelect, setResetMultiSelect] = useState(false);\r\n const [positionstr, setPositionstr] = useState();\r\n const [positionAssignmentstr, setPositionAssignmentstr] = useState();\r\n const [width, setWidth] = useState(window.innerWidth);\r\n const [modalData, setModalData] = useState<\r\n { add: boolean; Delete: boolean; view: boolean; edit: boolean } | undefined\r\n >();\r\n const [submitted, setSubmitted] = useState(false);\r\n\r\n const breakPoint1 = modalWidth < 50 || width < 750;\r\n\r\n window.onresize = () => {\r\n setWidth(window.innerWidth);\r\n };\r\n\r\n let keys,\r\n Data: any = [],\r\n Dataassign: any = [];\r\n\r\n async function getPositionsListAsync(SearchString) {\r\n if (mood == \"groups\") {\r\n const Groupresponse = await getGroupPositionList(SearchString);\r\n let list: any = [];\r\n\r\n for (let x in Groupresponse.Data) {\r\n list.push({ Id: x, TU_RELATION: 2, Title: Groupresponse.Data[x] });\r\n }\r\n setResponse(list);\r\n } else if (mood == \"users\") {\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list: any = [];\r\n\r\n Positionresponse.Data.forEach((item) => {\r\n let obj: any = new Object();\r\n obj.Id = item.Id;\r\n obj.TU_RELATION = 1;\r\n obj.Title = item.Description;\r\n list.push(obj);\r\n });\r\n\r\n setResponse(list);\r\n } else {\r\n const Groupresponse = await getGroupPositionList(SearchString);\r\n let list2: any = [];\r\n\r\n for (let x in Groupresponse.Data) {\r\n let obj: any = new Object();\r\n obj.Id = x;\r\n obj.TU_RELATION = 2;\r\n obj.Title = Groupresponse.Data[x];\r\n list2.push(obj);\r\n }\r\n\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list: any = [];\r\n Positionresponse.Data.forEach((item) => {\r\n let obj: any = new Object();\r\n obj.Id = item.Id;\r\n obj.TU_RELATION = 1;\r\n obj.Title = item.Description;\r\n list.push(obj);\r\n });\r\n\r\n setResponse(list.concat(list2));\r\n }\r\n }\r\n async function getPositionsListSearchingAsync(SearchString) {\r\n /* if(Moodassign==\"groups\"){\r\n const Groupresponse = await getGroupPositionList(SearchString); \r\n let list:any=[]\r\n for (let x in Groupresponse) {\r\n list.push({Id:x ,TU_RELATION:2 ,Title:Groupresponse[x] }) \r\n }\r\n \r\n setAssignmentResponse(list)\r\n \r\n }else if(Moodassign==\"users\"){\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list:any=[]\r\n for (let x in Positionresponse) {\r\n \r\n let obj:any =new Object\r\n obj.Id=x\r\n obj.TU_RELATION=1\r\n obj.Title=Positionresponse[x]\r\n list.push(obj) \r\n }\r\n setAssignmentResponse(list) \r\n }else */ {\r\n const Groupresponse = await getGroupPositionList(SearchString);\r\n let list2: any = [];\r\n for (let x in Groupresponse.Data) {\r\n let obj: any = new Object();\r\n obj.Id = x;\r\n obj.TU_RELATION = 2;\r\n obj.Title = Groupresponse.Data[x];\r\n list2.push(obj);\r\n }\r\n\r\n const Positionresponse = await getPositionList(SearchString);\r\n let list: any = [];\r\n Positionresponse.Data.forEach((item) => {\r\n let obj: any = new Object();\r\n obj.Id = item.Id;\r\n obj.TU_RELATION = 1;\r\n obj.Title = item.Description;\r\n list.push(obj);\r\n });\r\n setAssignmentResponse(list.concat(list2));\r\n }\r\n }\r\n\r\n async function getAccessDataAsync() {\r\n let makeData: any = [];\r\n if (accessData) {\r\n accessData.map((item) => {\r\n makeData.push({\r\n Id: item.GroupPositionId ? item.GroupPositionId : item.PositionId,\r\n TU_RELATION: item.GroupPositionId ? 2 : 1,\r\n Title: item.Description,\r\n });\r\n });\r\n setSavedData(makeData);\r\n setAssignedList(makeData);\r\n }\r\n }\r\n\r\n function changeDataGrid(e) {\r\n setMood(e);\r\n }\r\n function hide() {\r\n showForm(false);\r\n }\r\n function changeDataGridassign(e) {\r\n setMoodassign(e);\r\n }\r\n function backward() {\r\n setAssignedSelectList([]);\r\n setResetMultiSelect(!resetMultiSelect);\r\n const updatedData = selectList.map((item) => {\r\n return { ...item, ...modalData };\r\n });\r\n setAssignedList(assignedList.concat(updatedData));\r\n setFlag(!flag);\r\n setSelectList([]);\r\n setSubmitted(false);\r\n }\r\n\r\n function forward() {\r\n setResetMultiSelect(!resetMultiSelect);\r\n let list: any = [];\r\n assignedList.forEach((item1, index1) => {\r\n let flag = true;\r\n\r\n assignedSelectList.forEach((item2, index2) => {\r\n if (item2.Id == item1.Id) {\r\n flag = false;\r\n }\r\n });\r\n if (flag) {\r\n list.push(item1);\r\n }\r\n });\r\n\r\n setAssignedList(list);\r\n }\r\n\r\n const selectListCallBack = (list) => {\r\n setSelectList(list[1]);\r\n };\r\n\r\n const assignedselectListCallBack = (list) => {\r\n setAssignedSelectList(list[1]);\r\n };\r\n\r\n const referenceFormSubmit = (e) => {\r\n e.preventDefault();\r\n\r\n if (assignedList.length == 0) {\r\n // Toast(\"msg_assigneduserscannotempty\", \"error\");\r\n Toast(\"msg_assigneduserscannotempty\", MessageType.error);\r\n\r\n } else {\r\n e.preventDefault();\r\n let Data = assignedList.map((item) => {\r\n let obj = {\r\n [item.TU_RELATION == 1 ? \"PositionId\" : \"GroupPositionId\"]: item.Id,\r\n Description: item.Title,\r\n };\r\n return obj;\r\n });\r\n accessDatahandler(Data.length > 0 ? Data : []);\r\n }\r\n };\r\n\r\n const searching = (e) => {\r\n setPositionstr(e == \"\" ? null : e);\r\n getPositionsListAsync(e == \"\" ? null : e);\r\n };\r\n\r\n const assignmentsearching = (e) => {\r\n setPositionAssignmentstr(e == \"\" ? null : e);\r\n getPositionsListSearchingAsync(e == \"\" ? null : e);\r\n };\r\n useEffect(() => {\r\n getPositionsListAsync(positionstr);\r\n getPositionsListSearchingAsync(positionAssignmentstr);\r\n }, [mood]);\r\n\r\n useEffect(() => {\r\n if (mode != \"create\") {\r\n getAccessDataAsync();\r\n }\r\n }, []);\r\n\r\n if (response && assignedList) {\r\n let assignmentdata: any = [];\r\n assignedList.forEach((elm) => {\r\n if (Moodassign == \"groups\") {\r\n if (elm.TU_RELATION == 2) assignmentdata.push(elm);\r\n } else if (Moodassign == \"users\") {\r\n if (elm.TU_RELATION == 1) assignmentdata.push(elm);\r\n } else {\r\n assignmentdata.push(elm);\r\n }\r\n });\r\n assignmentResponse.map((obj) => {\r\n const isSameId = assignmentdata.some((item) => item.Id === obj.Id);\r\n const currentItem = assignmentdata.find((item) => item.Id === obj.Id);\r\n\r\n if (currentItem) {\r\n const { add, view, edit, Delete } = currentItem;\r\n\r\n if (isSameId) {\r\n Dataassign.push({ ...obj, add, view, edit, Delete });\r\n }\r\n }\r\n });\r\n response.map((item1) => {\r\n let flag = true;\r\n assignedList.forEach((item2) => {\r\n if (item1.Id == item2.Id) {\r\n flag = false;\r\n }\r\n });\r\n if (flag) {\r\n Data.push(item1);\r\n }\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {/* \r\n \r\n */}\r\n
    \r\n
    \r\n {response && (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {\r\n forward();\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {/* \r\n \r\n \r\n */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n","import { Button } from \"components/Button/Button\";\r\n\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport {\r\n TREASURY_AND_ACCOUNTING_URL\r\n} from \"utils/constants\";\r\nimport {\r\n ENDPOINTSTREASURYANDACCOUNTING\r\n} from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { DocsClassification } from \"../BankAccounts/components/DocsClassification/DocsClassification\";\r\nimport { getCashAccountById, postCashAccount } from \"./api\";\r\nimport { CashAccountAccess } from \"./components/CashAccountAccess\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface CashAccountFormPropsType {\r\n selectedObj;\r\n showForm: (e: boolean) => void;\r\n mode;\r\n relod: () => void;\r\n}\r\nexport const CashAccountForm = ({\r\n selectedObj,\r\n showForm,\r\n mode,\r\n relod,\r\n}: CashAccountFormPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [docsClassification, setDocsClassification] = useState();\r\n const [showAccess, setShowAccess] = useState(false);\r\n const [boardData, setBoardData] = useState(false);\r\n\r\n async function getCashAccountByIdAsync() {\r\n setLoading(false);\r\n\r\n try {\r\n if (selectedObj.id) {\r\n const res = await getCashAccountById(selectedObj.id);\r\n setResponse(res.Data);\r\n } else {\r\n setResponse(null);\r\n }\r\n } catch (err: any) {}\r\n setLoading(true);\r\n }\r\n\r\n const handleCashAccountFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let data = {\r\n CashName: event.target.CashName?.value,\r\n CashNameEN: event.target.CashNameEN?.value,\r\n AccDetailId: \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\r\n AccountId: \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\r\n FirstPeriodRemain: +event.target.FirstPeriodRemain?.value,\r\n AccBranchId: \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\r\n DocClassificationId: docsClassification,\r\n };\r\n if (mode === \"create\") {\r\n setBoardData(data);\r\n setShowAccess(true);\r\n } else {\r\n try {\r\n await postCashAccount(\"put\", { ...data, Id: selectedObj.Id,ActivityStatus: +event.target.ActivityStatus?.value });\r\n\r\n relod();\r\n } catch (error) {}\r\n }\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // showForm(false);\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n showForm(false);\r\n });\r\n } else {\r\n showForm(false);\r\n }\r\n }\r\n async function accessDatahandler(data) {\r\n if (mode == \"create\") {\r\n let formdata: any = {};\r\n formdata.CashAccount = boardData;\r\n formdata.CashAccountAccesses = data;\r\n try {\r\n const res = await postCashAccount(\"post\", formdata);\r\n relod()\r\n setResetForm(true);\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n showForm(true);\r\n } catch (error) {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getCashAccountByIdAsync();\r\n } else {\r\n setLoading(true);\r\n }\r\n }, [selectedObj]);\r\n\r\n return (\r\n
    \r\n {showAccess && (\r\n setShowAccess(false)}\r\n show={showAccess}\r\n >\r\n \r\n \r\n )}\r\n
    \r\n {loading ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CashName\"\r\n labelText=\"CashName\"\r\n required={true}\r\n defaultValue={response?.CashName ? response?.CashName : \"\"}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CashNameEN\"\r\n labelText=\"CashNameEN\"\r\n required={true}\r\n defaultValue={\r\n response?.CashNameEN ? response?.CashNameEN : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"AccDetailId\"\r\n labelText=\"AccDetail\"\r\n required={true}\r\n defaultValue={\r\n response?.AccDetailId ? response?.AccDetailId : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"number\"\r\n textboxName=\"FirstPeriodRemain\"\r\n labelText=\"FirstPeriodRemain\"\r\n required={true}\r\n defaultValue={\r\n response?.FirstPeriodRemain\r\n ? response?.FirstPeriodRemain\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setDocsClassification(e);\r\n }}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {mode !== \"create\" && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n mode={mode}\r\n label=\"Status\"\r\n value={response?.Status}\r\n />\r\n
    \r\n )}\r\n\r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n )}\r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n","import { TREASURY_AND_ACCOUNTING_URL } from \"utils/constants\";\r\nimport { ENDPOINTSTREASURYANDACCOUNTING } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getTreasurySubjects = async (\r\n pageNum,\r\n pageSize,\r\n searchString,\r\n orderBy,\r\n filterlist\r\n) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi\r\n .TreasurySubject.brows,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString: orderBy,\r\n SearchString: searchString,\r\n FilterString: filterlist,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getTreasurySubjectsById = async (id) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi\r\n .TreasurySubject.load,\r\n method: \"get\",\r\n params: { Id: id },\r\n headers: { \"Accept-Language\": \"en\" },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postTreasurySubjects = async (method, data) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi\r\n .TreasurySubject.brows,\r\n method: method,\r\n data: data,\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const deleteTreasurySubjects = (id) =>\r\n http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.BaseInformationApi\r\n .TreasurySubject.brows,\r\n method: \"delete\",\r\n params: {\r\n id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { Button } from \"components/Button/Button\";\r\n\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\nimport { getTreasurySubjectsById, postTreasurySubjects } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface TreasurySubjectFormPropsType {\r\n selectedObj;\r\n showForm: (e: boolean) => void;\r\n mode;\r\n relod: () => void;\r\n}\r\nexport const TreasurySubjectForm = ({\r\n selectedObj,\r\n showForm,\r\n mode,\r\n relod,\r\n}: TreasurySubjectFormPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n async function getTreasurySubjectsByIdAsync() {\r\n setLoading(false);\r\n\r\n try {\r\n if (selectedObj.Id) {\r\n const res = await getTreasurySubjectsById(selectedObj.Id);\r\n setResponse(res.Data);\r\n } else {\r\n setResponse(null);\r\n }\r\n } catch (err: any) {}\r\n setLoading(true);\r\n }\r\n\r\n const handleTreasurySubjectsFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let data = {\r\n IsDefault: event.target.checkbox?.checked,\r\n Title: event.target.Title?.value,\r\n TitleEN: event.target.TitleEN?.value,\r\n SubjectType: +event.target.SubjectType?.value,\r\n SystemKey: event.target.SystemKey?.value,\r\n };\r\n\r\n try {\r\n if (mode == \"edit\") {\r\n await postTreasurySubjects(\"put\", { ...data, Id: selectedObj.Id,ActivityStatus: +event.target.ActivityStatus?.value });\r\n } else {\r\n await postTreasurySubjects(\"post\", data);\r\n }\r\n relod();\r\n } catch (error) {}\r\n cancel();\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n showForm(false);\r\n });\r\n } else {\r\n showForm(false);\r\n }\r\n }\r\n\r\n const pasteHandler = async () => {\r\n const text = JSON.parse(await navigator.clipboard.readText());\r\n setResponse(text);\r\n try {\r\n } catch (error) {}\r\n };\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getTreasurySubjectsByIdAsync();\r\n } else {\r\n setLoading(true);\r\n }\r\n }, [selectedObj]);\r\n\r\n return (\r\n
    \r\n
    \r\n {loading ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"Title\"\r\n labelText=\"Title\"\r\n required={true}\r\n defaultValue={response?.Title ? response?.Title : \"\"}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"TitleEN\"\r\n labelText=\"TitleEN\"\r\n required={true}\r\n defaultValue={response?.TitleEN ? response?.TitleEN : \"\"}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"SystemKey\"\r\n labelText=\"SystemKey\"\r\n required\r\n defaultValue={\r\n response?.SystemKey ? response?.SystemKey : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n {mode !== \"create\" && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n mode={mode}\r\n label=\"Status\"\r\n value={response?.Status}\r\n />\r\n
    \r\n )}\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n )}\r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n","import { TREASURY_AND_ACCOUNTING_URL } from \"utils/constants\";\r\nimport { ENDPOINTSTREASURYANDACCOUNTING } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getReceipts = async (\r\n pageNum,\r\n pageSize,\r\n searchString,\r\n orderBy,\r\n filterlist\r\n) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.Receipt.brows,\r\n method: \"get\",\r\n params: {\r\n PageNumber: pageNum,\r\n PageSize: pageSize,\r\n OrderByString: orderBy,\r\n SearchString: searchString,\r\n FilterString: filterlist,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const getReceiptById = async (id) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.Receipt.load,\r\n method: \"get\",\r\n params: { Id: id },\r\n headers: { \"Accept-Language\": \"en\" },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const postReceipt = async (method, data) =>\r\n await http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.Receipt.brows,\r\n method: method,\r\n data: data,\r\n headers: { \"Accept-Language\": \"en\" },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n\r\nexport const deleteReceipt = (id) =>\r\n http({\r\n baseURL: TREASURY_AND_ACCOUNTING_URL,\r\n url: ENDPOINTSTREASURYANDACCOUNTING.Treasury.Receipt.brows,\r\n method: \"delete\",\r\n params: {\r\n id: id,\r\n },\r\n })\r\n .then((res) => {\r\n return res.data;\r\n })\r\n .catch((err) => {\r\n return Promise.reject(err);\r\n });\r\n","import { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getDocsClassification } from \"./api\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\n\r\ninterface DictionaryTypeSelectProps {\r\n value?: any;\r\n mode?: string;\r\n resetForm?: boolean;\r\n name: string;\r\n label: string;\r\n endPoint: string;\r\n baseUrl?: string;\r\n required?: boolean;\r\n transe?: boolean;\r\n params?: any;\r\n recordedData?: any;\r\n Change?: (e) => void;\r\n onChange?: (e: any, obj?: any) => void;\r\n useTrans?: boolean;\r\n}\r\nexport const DocsClassification = ({\r\n recordedData,\r\n params,\r\n label,\r\n required = false,\r\n baseUrl,\r\n useTrans = false,\r\n endPoint,\r\n value,\r\n name,\r\n mode,\r\n resetForm,\r\n onChange,\r\n Change,\r\n}: DictionaryTypeSelectProps) => {\r\n const [DocsClassification, setDocsClassification] = useState();\r\n const [defaultval, setdefault] = useState(value);\r\n const [errcode, setErrcode] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const getDocsClassificationAsync = async () => {\r\n setLoading(false);\r\n try {\r\n const res = await getDocsClassification(endPoint, baseUrl, params);\r\n if (res?.Data) {\r\n setDocsClassification(res?.Data);\r\n onChange &&\r\n onChange(\r\n Object.keys(res?.Data)[0],\r\n res?.Data[Object.keys(res?.Data)[0]]\r\n );\r\n } else {\r\n setDocsClassification(res);\r\n onChange &&\r\n onChange(Object.keys(res)[0], res?.Data[Object.keys(res?.Data)[0]]);\r\n }\r\n } catch (error: any) {\r\n setErrcode(error.response.status);\r\n setDocsClassification(null);\r\n }\r\n setLoading(true);\r\n };\r\n\r\n const handleOnChange = (e) => {\r\n onChange && onChange(e.target.value, DocsClassification[e.target.value]);\r\n Change && Change(true);\r\n\r\n if (\r\n e.target &&\r\n e.target.value != (value ? value : Object.keys(DocsClassification)[0])\r\n ) {\r\n Change && Change({ [name]: e.target.value });\r\n } else {\r\n Change && Change({ [name]: null });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getDocsClassificationAsync();\r\n if (value) {\r\n onChange && onChange(value);\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (params) {\r\n getDocsClassificationAsync();\r\n }\r\n }, [params]);\r\n\r\n useEffect(() => {\r\n setdefault(value);\r\n }, [resetForm]);\r\n\r\n return (\r\n <>\r\n {DocsClassification && loading ? (\r\n <>\r\n {\r\n handleOnChange(e);\r\n }}\r\n lable={label}\r\n selectType={\"select\"}\r\n options={Object.values(DocsClassification)}\r\n val={Object.keys(DocsClassification)}\r\n name={name}\r\n value={value}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={required}\r\n useTrans={useTrans}\r\n recordedData={recordedData}\r\n />\r\n
    \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { http } from \"utils/http\";\r\n\r\nexport const getDocsClassification = async (endPoint, baseUrl?, params?) =>\r\n await http({\r\n baseURL: baseUrl,\r\n url: endPoint,\r\n method: \"get\",\r\n params: {\r\n ...params,\r\n },\r\n }).then((response) => response.data);\r\n","import { Button } from \"components/Button/Button\";\r\n\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useState } from \"react\";\r\nimport {\r\n TREASURY_AND_ACCOUNTING_URL\r\n} from \"utils/constants\";\r\nimport {\r\n ENDPOINTSTREASURYANDACCOUNTING\r\n} from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { getReceiptById, postReceipt } from \"./api\";\r\nimport { DocsClassification } from \"./components/DocsClassification/DocsClassification\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface ReceiptFormPropsType {\r\n selectedObj;\r\n showForm: (e: boolean) => void;\r\n mode;\r\n relod: () => void;\r\n handleCopyItem?: any;\r\n}\r\nexport const ReceiptForm = ({\r\n selectedObj,\r\n showForm,\r\n mode,\r\n relod,\r\n handleCopyItem,\r\n}: ReceiptFormPropsType) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n const [receiptDate, setReceiptDate] = useState();\r\n\r\n const [docsClassification, setDocsClassification] = useState();\r\n\r\n async function getReceiptByIdAsync() {\r\n setLoading(false);\r\n\r\n try {\r\n if (selectedObj.id) {\r\n const res = await getReceiptById(selectedObj.id);\r\n setResponse(res.Data);\r\n } else {\r\n setResponse(null);\r\n }\r\n } catch (err: any) {}\r\n setLoading(true);\r\n }\r\n\r\n const handleReceiptFormSubmit = (event) => {\r\n event.preventDefault();\r\n\r\n let data = {\r\n BranchId: \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\r\n PeriodId: \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\r\n DocClassificationId: docsClassification,\r\n TreasurySubjectId: event.target.TreasurySubjectId?.value,\r\n CashAccountId: event.target.CashAccountId?.value,\r\n RecipientPositionId: \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\r\n PayerPositionId: \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\r\n PRJ_UID: event.target.PRJ_UID?.value,\r\n IsWorkflowStarted: event.target.IsWorkflowStarted?.checked,\r\n ReceiptNo: +event.target.ReceiptNo?.value,\r\n ReceiptDate: receiptDate,\r\n PayerPositionName: event.target.PayerPositionName?.value,\r\n PayerPositionNameEN: event.target.PayerPositionNameEN?.value,\r\n IsGrouped: event.target.IsGrouped?.checked,\r\n TotalReceipt: +event.target.TotalReceipt?.value,\r\n Description: event.target.Description?.value,\r\n DescriptionEN: event.target.DescriptionEN?.value,\r\n };\r\n try {\r\n if (mode == \"edit\") {\r\n postReceipt(\"put\", {\r\n ...data,\r\n id: selectedObj.id,\r\n ActivityStatus: +event.target.ActivityStatus?.value,\r\n });\r\n } else {\r\n postReceipt(\"post\", data);\r\n }\r\n relod();\r\n } catch (error) {}\r\n cancel();\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // showForm(false);\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n showForm(false);\r\n });\r\n } else {\r\n showForm(false);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (selectedObj && mode != \"create\") {\r\n getReceiptByIdAsync();\r\n } else {\r\n setLoading(true);\r\n }\r\n }, [selectedObj]);\r\n\r\n return (\r\n
    \r\n
    \r\n {loading ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"PRJ_UID\"\r\n labelText=\"PRJ_UID\"\r\n required={true}\r\n defaultValue={response?.PRJ_UID ? response?.PRJ_UID : \"\"}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {/* state */}\r\n \r\n
    \r\n\r\n
    \r\n {/* state */}\r\n \r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"BranchId\"\r\n labelText=\"BranchId\"\r\n required={true}\r\n defaultValue={response?.BranchId ? response?.BranchId : \"\"}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"OwnerPersonName\"\r\n labelText=\"OwnerPersonName\"\r\n required={true}\r\n defaultValue={\r\n response?.OwnerPersonName ? response?.OwnerPersonName : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"OwnerPersonNameEN\"\r\n labelText=\"OwnerPersonNameEN\"\r\n required={true}\r\n defaultValue={\r\n response?.OwnerPersonNameEN\r\n ? response?.OwnerPersonNameEN\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {/* stateRegisterDate */}\r\n {\r\n setReceiptDate(isoTime);\r\n }}\r\n val={response?.ReceiptDate ? response?.ReceiptDate : null}\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n required={true}\r\n defaultValue={\r\n response?.Description ? response?.Description : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"DescriptionEN\"\r\n labelText=\"DescriptionEN\"\r\n required={true}\r\n defaultValue={\r\n response?.DescriptionEN ? response?.DescriptionEN : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"PayerPositionName\"\r\n labelText=\"PayerPositionName\"\r\n required={true}\r\n defaultValue={\r\n response?.PayerPositionName\r\n ? response?.PayerPositionName\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"PayerPositionNameEN\"\r\n labelText=\"PayerPositionNameEN\"\r\n required={true}\r\n defaultValue={\r\n response?.PayerPositionNameEN\r\n ? response?.PayerPositionNameEN\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"number\"\r\n textboxName=\"TotalReceipt\"\r\n labelText=\"TotalReceipt\"\r\n required={true}\r\n defaultValue={\r\n response?.TotalReceipt ? response?.TotalReceipt : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"number\"\r\n textboxName=\"ReceiptNo\"\r\n labelText=\"ReceiptNo\"\r\n required={true}\r\n defaultValue={\r\n response?.ReceiptNo ? response?.ReceiptNo : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n {/* state docsClassification */}\r\n {\r\n setDocsClassification(e);\r\n }}\r\n mode={mode}\r\n />\r\n
    \r\n {mode !== \"create\" && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n name=\"ActivityStatus\"\r\n enumTypeSelect=\"ActivityStatus\"\r\n mode={mode}\r\n label=\"Status\"\r\n value={response?.Status}\r\n />\r\n
    \r\n )}\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n )}\r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getMyOwnInvoice = (pageNumber: number, pageSize: number, SearchString, orderBy, filterlist, Type = null) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.CustomerSalesInvoiceApis.CustomerSalesInvoice.browse,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: SearchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n //jobStatus: Type,\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});","import { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { UnitDictionary } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { MessageType } from \"types/enum\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\n\r\n\r\n\r\n\r\n\r\ninterface SalesInvoiceFormProps {\r\n\r\n\r\n selectedObj?: any;\r\n mode: any;\r\n onHide: () => void;\r\n}\r\n\r\nexport const CustomerSalesInvoiceDetailForm = ({\r\n\r\n selectedObj,\r\n mode,\r\n onHide,\r\n}: SalesInvoiceFormProps) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n const handleSalesInvoiceFormSubmit = async (event) => {\r\n event.preventDefault();\r\n\r\n };\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n const cancel = () => {\r\n if (sessionStorage.getItem('changingforms') === 'true') {\r\n // Toast('modalclosemessage', 'warning', 'alertWithoutClose', () => {\r\n // sessionStorage.setItem('changingforms', 'false');\r\n // setUserChanges({});\r\n // onHide();\r\n // });\r\n Toast('modalclosemessage',MessageType.confirm, () => {\r\n sessionStorage.setItem('changingforms', 'false');\r\n setUserChanges({});\r\n onHide();\r\n });\r\n } else {\r\n onHide();\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (resetForm) setResetForm(false);\r\n }, [resetForm]);\r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n return (\r\n
    \r\n\r\n
    \r\n \r\n {loading ? (\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Tax\"\r\n textboxType=\"text\"\r\n labelText=\"Tax\"\r\n \r\n defaultValue={selectedObj?.Tax }\r\n value={selectedObj?.Tax }\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n minHeight={1}\r\n labelText=\"Remarks\"\r\n defaultValue={selectedObj?.Description }\r\n resetForm={resetForm}\r\n mode={mode }\r\n maxLength={150}\r\n letterCounter={true}\r\n />\r\n
    \r\n
    \r\n <>\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n \r\n \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n \r\n \r\n );\r\n};\r\n","import { Button } from \"components/Button/Button\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Person } from \"components/Person/Person\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\n\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { getSalesInvoiceById } from \"./api\";\r\nimport { CustomerSalesInvoiceDetailForm } from \"./CustomerSalesInvoiceDetailForm\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\ninterface SalesInvoiceFormProps {\r\n onHide?: (usenavigate?) => void;\r\n jobId?: any;\r\n mode: any;\r\n Id?:any\r\n}\r\n\r\nexport const CustomerSalesInvoice = ({\r\n mode,\r\n onHide,\r\n jobId,\r\n Id\r\n}: SalesInvoiceFormProps) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [showForm, setShowForm] = useState(false);\r\n const [invoiceConstraint, setInvoiceConstraint] = useState({});\r\n const [totalRows, setTotalRows] = useState({\r\n ItemCount: 0,\r\n TotalTax: 0,\r\n TotalDiscount: 0,\r\n SubTotalPrice: 0,\r\n });\r\n const invoiceRef = useRef(null);\r\n \r\n async function getInvoiceAsync() {\r\n setLoading(false);\r\n// const constraint= await getSalesInvoiceConstraintAsync();\r\n try {\r\n \r\n let res= await getSalesInvoiceById(Id ); \r\n let count = 0;\r\n res.Data.CustomerSalesInvoiceDetailViewDTO.map((item) => {\r\n count += +item?.Qty;\r\n });\r\n setTotalRows({\r\n ItemCount: count,\r\n TotalTax: res.Data.TotalTax,\r\n TotalDiscount: res.Data?.TotalDiscount,\r\n SubTotalPrice: res.Data?.SubTotalPrice,\r\n }); \r\n setResponse(res.Data);\r\n\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // onHide && onHide();\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n onHide && onHide();\r\n });\r\n } else {\r\n onHide && onHide();\r\n }\r\n }\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (mode != \"create\") {\r\n getInvoiceAsync();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n\r\n\r\n return (\r\n
    \r\n {showForm ? (\r\n {\r\n setShowForm(false);\r\n }}\r\n show={showForm}\r\n title={\"SalesInvoiceDetailForm\"}\r\n >\r\n {\r\n setShowForm(false);\r\n }}\r\n \r\n selectedObj={selectedObj}\r\n /> \r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n\r\n\r\n {loading ? (\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n { }}\r\n val={ response?.SalesInvoiceDate}\r\n errorFlag={false}\r\n />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerPhone\"\r\n labelText=\"CustomerPhone\"\r\n defaultValue={\r\n response?.CustomerPhone ? response?.CustomerPhone : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={ response?.RecipientPersonId }\r\n resetForm={resetForm}\r\n mode={mode}\r\n WithSearch={false}\r\n returnObj={true}\r\n name={\"RecipientPersonDescription\"}\r\n label=\"RecipientPerson\"\r\n />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n <>\r\n {response?.CustomerSalesInvoiceDetailViewDTO?.length >= 0 ? (\r\n <>\r\n {\r\n setSelectedObj(e);\r\n setShowForm(true);\r\n }}\r\n parentName={\"SalesInvoiceDetailList\"}\r\n startIndex={7}\r\n theadData={Object.keys(response?.CustomerSalesInvoiceDetailViewDTO[0])}\r\n tbodyData={response?.CustomerSalesInvoiceDetailViewDTO}\r\n totalRecords={\r\n response?.CustomerSalesInvoiceDetailViewDTO?.length > 0 ? undefined : 0\r\n }\r\n scrollHeight={\"67vh\"}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedObjCallback}\r\n rowSelected={selectedObj}\r\n handleView={(e) => {\r\n setSelectedObj(e);\r\n setShowForm(true);\r\n }}\r\n />\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n{/*
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    */}\r\n
    \r\n \r\n {mode != \"view\" ? (\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n {!jobId && (\r\n {\r\n cancel();\r\n }}\r\n />\r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\n\r\nexport const getSalesInvoiceById = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.CustomerSalesInvoiceApis.CustomerSalesInvoice.load,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n \r\n Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nexport const getDefaultPersonContact = (Id ) => http({\r\n\r\n url: ENDPOINTS.BaseInformation.PersonContact.default,\r\n method: 'get',\r\n params:{\r\n personId:Id\r\n }\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getPersonCustomer = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.load,\r\n method: 'get',\r\n params:{\r\n id:Id\r\n }\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getSources = (type,pageNumber=1,pageSize=10 ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: type==1? ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.browse:type==2?ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.load: ENDPOINTSINVENTORYANDSALES.Sales.SalesPreInvoice.load ,\r\n method: 'get',\r\nparams:{\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n}\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const GenerateFromSource = (SourceId, SourceData ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.generate,\r\n method: 'get',\r\n params:{\r\n SourceData ,\r\n SourceId\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const optionalDiscountHandler = (data ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.optionalDiscount,\r\n method: 'post',\r\n data:data\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const salesInvoiceViod = (id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesInvoice.void,\r\n method: 'delete',\r\n params:{\r\n Id:id\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getInventoryRequest = (pageNumber: number, pageSize: number, searchString, orderBy, filterlist ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.InventoryRequest,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n \r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const postResendJobOrder = (Id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.resendJob,\r\n method: 'post',\r\n params:{\r\n Id:Id ,\r\n }\r\n})","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getSalesRequest = (pageNumber: number, pageSize: number, searchString, orderBy, filterlist ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesRequest,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n \r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const postResendJobOrder = (Id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.resendJob,\r\n method: 'post',\r\n params:{\r\n Id:Id ,\r\n }\r\n})","import { INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTS, ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { http } from \"utils/http\";\r\n\r\nexport const getSalesContract = (pageNumber: number, pageSize: number, searchString, orderBy, filterlist ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesContract.browse,\r\n method: 'get',\r\n params: {\r\n PageNumber: pageNumber,\r\n PageSize: pageSize,\r\n SearchString: searchString,\r\n OrderByString: orderBy,\r\n FilterString: filterlist,\r\n \r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getSalesContractById = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesContract.load,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n Id:Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getSalesContractByReferenceId = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.referenceId,\r\n headers: { \"Accept-Language\": \"en\" },\r\n method: 'get',\r\n params: {\r\n ReferenceId:Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getTaxList = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemTax.browse,\r\n method: 'get',\r\n params: {\r\n id:Id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getPriceListDetail = (Id,priceListId ,code , warehouseId=null ,personId,WarehouseDetailId=null ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Inventory.ItemPriceApis.ItemPrice,\r\n method: 'get',\r\n params: {\r\n ItemId:Id,\r\n ItemCode:code , \r\n PriceListId:priceListId,\r\n WarehouseId:warehouseId,\r\n CustomerPersonId:personId,\r\n WarehouseDetailId\r\n \r\n \r\n\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const postSalesContract = (data) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesContract.browse,\r\n\r\n method: 'post',\r\n data:data,\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});\r\nexport const CalculateSalesContract = (data ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.Calculate,\r\n method: 'post',\r\n data:data,\r\n headers: { \"Accept-Language\": \"en\" },\r\n params:{Confirm:false}\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const putSalesContract = (data ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.browse,\r\n method: 'put',\r\n data:data\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getContractConstraint = ( ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesContract.constraint,\r\n method: 'get',\r\n\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\nexport const getDefaultPersonContact = (Id ) => http({\r\n\r\n url: ENDPOINTS.BaseInformation.PersonContact.default,\r\n method: 'get',\r\n params:{\r\n personId:Id\r\n }\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getPersonCustomer = (Id ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.BaseInformationApi.Customer.load,\r\n method: 'get',\r\n params:{\r\n id:Id\r\n }\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getSources = (type ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: type==1? ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.browse :ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.browse ,\r\n method: 'get',\r\n\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const GenerateFromSource = (SourceId, SourceData ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n //url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.generate,\r\n method: 'get',\r\n params:{\r\n SourceData ,\r\n SourceId\r\n }\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const optionalDiscountHandler = (data ) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n //url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.optionalDiscount,\r\n method: 'post',\r\n data:data\r\n\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\nexport const postResendJobContract = (Id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesContract.resendJob,\r\n method: 'post',\r\n params:{\r\n Id:Id ,\r\n }\r\n})\r\nexport const putSalesContractWorkFlow = (data,referenceId) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesOrderApis.SalesOrder.workFlow,\r\n method: 'put',\r\n data:data,\r\n params:{\r\n referenceId:referenceId\r\n }\r\n \r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\nexport const getDataForPrint = ( Id) => http({\r\n baseURL:INVENTORYANDSALES_URL,\r\n\r\n url: ENDPOINTSINVENTORYANDSALES.Sales.SalesContract.printData,\r\n method: \"get\",\r\n params:{\r\n id:Id,\r\n useWarmSignature: true \r\n }\r\n \r\n}).then((res) => {\r\n \r\n return res.data\r\n}).catch((err) => {\r\n\r\n return Promise.reject(err);\r\n});","import DecoupledEditor from \"@ckeditor/ckeditor5-build-decoupled-document\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { forwardRef, useImperativeHandle, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\n\r\ninterface GuaranteeFormProps {\r\n response?: any;\r\n mode?: any;\r\n sourceDataParam?: any;\r\n SourceData?: any;\r\n setResponse?: any;\r\n sendDataForCalcAsync?: any;\r\n contractConstraint?: any;\r\n}\r\nexport const GuaranteeForm = forwardRef(\r\n (\r\n {\r\n response,\r\n mode,\r\n sourceDataParam,\r\n SourceData,\r\n contractConstraint,\r\n }: GuaranteeFormProps,\r\n ref: any\r\n ) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const formRef = useRef();\r\n const [guaranteeStartDate, setGuaranteeStartDate] = useState();\r\n const [guaranteeEndDate, setGuaranteeEndDate] = useState();\r\n const [editor, setEditor] = useState();\r\n const [editorData, setEditorData] = useState(\r\n response?.GuaranteeConditions\r\n );\r\n const [editorEN, setEditorEN] = useState();\r\n const [editorDataEN, setEditorDataEN] = useState(\r\n response?.GuaranteeConditionsEN\r\n );\r\n const [conditionsLang, setConditionsLang] = useState(\"fa\");\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n const [customerInfo, setCustomerInfo] = useState(null);\r\n const [customer, setCustomer] = useState(null);\r\n\r\n const [todayDate, settodayDate] = useState(new Date().toISOString());\r\n const [salesContractNo, setSalesContractNo] = useState(false);\r\n const contractRef = useRef(null);\r\n\r\n const [requiredFields, setRequiredFields] = useState();\r\n\r\n useImperativeHandle(ref, () => ({\r\n getAllData() {\r\n if (!formRef.current.reportValidity()) {\r\n return false;\r\n } else {\r\n return {\r\n GuaranteeStartDate: guaranteeStartDate,\r\n GuaranteeEndDate: guaranteeEndDate,\r\n GuaranteeConditions: editorData,\r\n GuaranteeConditionsEN: contractConstraint?.ShowENFields\r\n ? editorDataEN\r\n : null,\r\n GuaranteeDocuments: formRef.current.GuaranteeDocuments.value,\r\n GuaranteeDocumentsEN: contractConstraint?.ShowENFields\r\n ? formRef.current.GuaranteeDocumentsEN.value\r\n : null,\r\n GuaranteeValue: +formRef.current.GuaranteeValue.value,\r\n };\r\n }\r\n },\r\n }));\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n setGuaranteeStartDate(isoTime);\r\n }}\r\n \r\n val={\r\n response\r\n ? response.GuaranteeStartDate\r\n : contractConstraint.IsNewDocCurrentDate\r\n ? todayDate\r\n : null\r\n }\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setGuaranteeEndDate(isoTime);\r\n }}\r\n val={\r\n response\r\n ? response.GuaranteeEndDate\r\n : contractConstraint.IsNewDocCurrentDate\r\n ? todayDate\r\n : null\r\n }\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"GuaranteeDocuments\"\r\n textboxType=\"text\"\r\n labelText=\"GuaranteeDocuments\"\r\n defaultValue={response?.GuaranteeDocuments}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields?.GuaranteeDocuments}\r\n />\r\n
    \r\n {contractConstraint?.ShowENFields && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"GuaranteeDocumentsEN\"\r\n textboxType=\"text\"\r\n labelText=\"GuaranteeDocumentsEN\"\r\n defaultValue={response?.GuaranteeDocumentsEN}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields?.GuaranteeDocumentsEN}\r\n />\r\n
    \r\n )}\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"GuaranteeValue\"\r\n textboxType=\"number\"\r\n labelText=\"GuaranteeValue\"\r\n defaultValue={response?.GuaranteeValue}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n\r\n {contractConstraint?.ShowENFields && (\r\n
    \r\n
    \r\n setConditionsLang(\"fa\")}\r\n type=\"radio\"\r\n labelText=\"GuaranteeConditions\"\r\n defaultChecked={conditionsLang == \"fa\"}\r\n defaultValue={conditionsLang == \"fa\"}\r\n value={conditionsLang == \"fa\"}\r\n inputName=\"conditionsLang\"\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n setConditionsLang(\"en\")}\r\n type=\"radio\"\r\n labelText=\"GuaranteeConditionsEN\"\r\n defaultChecked={conditionsLang == \"en\"}\r\n defaultValue={conditionsLang == \"en\"}\r\n value={conditionsLang == \"en\"}\r\n inputName=\"conditionsLang\"\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n )}\r\n\r\n {(!contractConstraint?.ShowENFields ||\r\n (contractConstraint?.ShowENFields &&\r\n conditionsLang == \"fa\")) && (\r\n
    \r\n {trans(\"GuaranteeConditions\")}\r\n {\r\n editor.ui\r\n .getEditableElement()\r\n .parentElement.insertBefore(\r\n editor.ui.view.toolbar.element,\r\n editor.ui.getEditableElement()\r\n );\r\n setEditor(editor);\r\n }}\r\n onError={(error, { willEditorRestart }) => {\r\n if (willEditorRestart) {\r\n editor.ui.view.toolbar.element.remove();\r\n }\r\n }}\r\n onOk={(editor) => {\r\n editor.insertHtml(editorData);\r\n }}\r\n onChange={(event, editor) => {\r\n const data = editor.getData();\r\n setEditorData(data);\r\n }}\r\n editor={DecoupledEditor}\r\n config={{\r\n removePlugins: [\r\n \"EasyImage\",\r\n \"ImageUpload\",\r\n \"MediaEmbed\",\r\n ],\r\n }}\r\n />\r\n
    \r\n )}\r\n\r\n {contractConstraint?.ShowENFields && conditionsLang == \"en\" && (\r\n
    \r\n {trans(\"GuaranteeConditionsEN\")}\r\n {\r\n editor.ui\r\n .getEditableElement()\r\n .parentElement.insertBefore(\r\n editor.ui.view.toolbar.element,\r\n editor.ui.getEditableElement()\r\n );\r\n setEditorEN(editor);\r\n }}\r\n onError={(error, { willEditorRestart }) => {\r\n if (willEditorRestart) {\r\n editorEN.ui.view.toolbar.element.remove();\r\n }\r\n }}\r\n onOk={(editor) => {\r\n editor.insertHtml(editorDataEN);\r\n }}\r\n onChange={(event, editor) => {\r\n const data = editor.getData();\r\n setEditorDataEN(data);\r\n }}\r\n editor={DecoupledEditor}\r\n config={{\r\n removePlugins: [\r\n \"EasyImage\",\r\n \"ImageUpload\",\r\n \"MediaEmbed\",\r\n ],\r\n }}\r\n />\r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n);\r\n","import { InputLoad } from \"components/InputLoading/inputLoading\";\r\nimport { SelectBox } from \"components/Select/Select\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { getDocsClassification } from \"./api\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\n\r\n\r\ninterface DictionaryTypeSelectProps {\r\n value?: any;\r\n mode?: string;\r\n resetForm?: boolean;\r\n name: string;\r\n label: string;\r\n endPoint: string;\r\n baseUrl?: string;\r\n required?: boolean;\r\n transe?:boolean;\r\n params?:any;\r\n recordedData?:any;\r\n Change?: (e) => void;\r\n onChange?: (e: any , obj?:any) => void,\r\n useTrans?:boolean;\r\n IsDocClassified?:boolean;\r\n\r\n}\r\nexport const DocsClassification = ({IsDocClassified,recordedData ,params ,label ,required=false ,baseUrl ,useTrans=false ,endPoint ,value ,name ,mode ,resetForm ,onChange ,Change }:DictionaryTypeSelectProps) => {\r\n const [DocsClassification, setDocsClassification] = useState();\r\n const [defaultval, setdefault] = useState(value);\r\n const [errcode, setErrcode] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n \r\n\r\n const getDocsClassificationAsync = async ()=>{\r\n setLoading(false)\r\n try {\r\n const res = await getDocsClassification(endPoint,baseUrl,params)\r\n if(res?.Data){\r\n let data = IsDocClassified ? res?.Data : {[GUID_EMPTY]:{Title:' ' , Id:GUID_EMPTY},...res?.Data}\r\n setDocsClassification(data)\r\n if(value){\r\n onChange && onChange(value, res?.Data[value] ) \r\n }\r\n else{ \r\n onChange && onChange(Object.keys(data)[0], res?.Data[Object.keys(data)[0]] ) \r\n }\r\n }\r\n\r\n } catch (error:any) {\r\n setErrcode(error.response?.status)\r\n setDocsClassification(null)\r\n }\r\n setLoading(true)\r\n }\r\n\r\n const handleOnChange = (e) =>{\r\n onChange&&onChange(e.target.value ,DocsClassification[e.target.value]);\r\n Change && Change(true)\r\n\r\n if(e.target && e.target.value !=(value ? value : Object.keys(DocsClassification)[0])){\r\n Change&&Change({[name] :e.target.value}) \r\n }else{\r\n Change&&Change({[name] :null}) }\r\n }\r\n \r\n\r\n useEffect(() => {\r\n getDocsClassificationAsync()\r\n }, []);\r\n useEffect(() => {\r\n if(params){\r\n getDocsClassificationAsync()\r\n \r\n } \r\n }, [params]);\r\n\r\n useEffect(() => {\r\n setdefault(value)\r\n }, [resetForm]);\r\n \r\n return (\r\n <>\r\n {DocsClassification && loading ?\r\n <>\r\n \r\n {handleOnChange(e)}}\r\n lable={label}\r\n selectType={'select'}\r\n options={Object.values(DocsClassification).map((item:any)=>item.Title)}\r\n val={Object.keys(DocsClassification)}\r\n name={name}\r\n value={value}\r\n resetForm={resetForm}\r\n mode={!IsDocClassified ? \"view\" : mode}\r\n required={required}\r\n useTrans={useTrans}\r\n recordedData={recordedData}\r\n /> \r\n
    \r\n \r\n :\r\n \r\n }\r\n \r\n \r\n\r\n );\r\n};","import { http } from \"utils/http\";\r\n\r\n\r\nexport const getDocsClassification = (async (endPoint,baseUrl?,params?) => await http({\r\n baseURL:baseUrl,\r\n url: endPoint,\r\n method: 'get',\r\n params : {\r\n ...params\r\n }\r\n})\r\n .then((response) => (response.data))\r\n\r\n)","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { UnitDictionary } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/components/UnitDictionary\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport {\r\n FloorWithRoundingPlace,\r\n RoundWithRoundingPlace,\r\n trans,\r\n uuidv4,\r\n} from \"utils/helpers\";\r\nimport { getPriceListDetail } from \"./api\";\r\n\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { MessageType } from \"types/enum\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { ItemsForSell } from \"../components/ItemsForSell/ItemsForSell\";\r\nimport { PriceDetails } from \"../components/PriceDetails\";\r\nimport { WarehouseDictionaryWithAccess } from \"../SalesInvoice/components/WarehouseDictionary/WarehouseDictionaryWithAccess\";\r\nimport { SalesOrderDetailType } from \"./type\";\r\n\r\ninterface SalesContractFormProps {\r\n onHide: () => void;\r\n salesContractDetailCallBack?: (e: any) => void;\r\n selectedObj?: any;\r\n mode: any;\r\n priceList?: any;\r\n lastWarehouse?: any;\r\n contractConstraint?: any;\r\n setLastWarehouse: (e: any) => void;\r\n salesWarehouse: any;\r\n personId?: any;\r\n currency?: any;\r\n salesContractId?: any;\r\n}\r\n\r\nexport const SalesContractDetailForm = ({\r\n lastWarehouse = null,\r\n contractConstraint,\r\n setLastWarehouse,\r\n priceList,\r\n selectedObj,\r\n mode,\r\n onHide,\r\n salesContractDetailCallBack,\r\n salesWarehouse,\r\n personId,\r\n currency,\r\n salesContractId,\r\n}: SalesContractFormProps) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [userChanges, setUserChanges] = useState({});\r\n const [showTree, setShowTree] = useState();\r\n const [priceListDetail, setPriceListDetail] = useState([]);\r\n const [detailPriceData, setDetailPriceData] = useState({\r\n UnitPrice: 0,\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n TaxRate: 0,\r\n Qty: mode != \"create\" ? selectedObj?.Qty : null,\r\n });\r\n const [itemData, setItemData] = useState(null);\r\n const [dictionaryName, setDictionaryName] = useState({});\r\n const [save_Exit, setSave_Exit] = useState(false);\r\n const [showPriceListDetail, setShowPriceListDetail] = useState(false);\r\n const [warehouseData, setWarehouseData] = useState(lastWarehouse);\r\n const [itemSearch, setItemSearch] = useState(\"\");\r\n const formRef = useRef();\r\n\r\n const handleSalesOrderFormSubmit = async (event) => {\r\n event.preventDefault();\r\n let data: SalesOrderDetailType = {\r\n Id: mode != \"create\" ? selectedObj?.Id : uuidv4(),\r\n WarehouseId: warehouseData.WarehouseId,\r\n WarehouseDetailId: warehouseData.WarehouseDetailId,\r\n Warehouse: warehouseData.WarehouseTitle,\r\n WarehouseDetail: warehouseData?.WarehouseDetail,\r\n SalesOrderId: salesContractId,\r\n ItemId: itemData.ItemId,\r\n UnitId:\r\n event.target.UnitId.value == \"\" ? null : event.target.UnitId.value,\r\n SourceId: selectedObj?.SourceId,\r\n SourceData: selectedObj?.SourceData,\r\n Item: itemData.ItemDescription,\r\n ItemCode: itemData.Code,\r\n Qty: +event.target.Qty.value,\r\n UnitPrice: +event.target.UnitPrice.value.replaceAll(\",\", \"\"),\r\n Unit: dictionaryName.Unit ? dictionaryName.Unit : null,\r\n Price: +event.target.Price.value.replaceAll(\",\", \"\"), //تخفیف کم میشود\r\n Discount: +event.target.Discount.value.replaceAll(\",\", \"\"),\r\n SubTotalPrice: +event.target.SubTotalPrice.value.replaceAll(\",\", \"\"),\r\n Description: event.target.Description.value,\r\n // DescriptionEN: event.target.DescriptionEN.value,\r\n Tax: !contractConstraint.HasTax\r\n ? 0\r\n : parseFloat(event.target.Tax.value.replace(/,/g, \"\"))\r\n ? parseFloat(event.target.Tax.value.replace(/,/g, \"\"))\r\n : 0,\r\n TaxRate: !contractConstraint.HasTax ? 0 : detailPriceData.TaxRate,\r\n DiscountPercent: !contractConstraint.IsFiscal\r\n ? undefined\r\n : +event.target.DiscountPercent.value.replaceAll(\",\", \"\"),\r\n ItemTechnicalCode: event.target.ItemTechnicalCode?.value,\r\n QtyRoundingPlace:\r\n priceListDetail[0]?.Qty1RoundingPlace ?? selectedObj?.Qty1RoundingPlace,\r\n };\r\n\r\n salesContractDetailCallBack?.(data) && resetFormIfNeeded();\r\n };\r\n\r\n const resetFormIfNeeded = () => {\r\n if (mode === \"create\") {\r\n setResetForm(true);\r\n setUserChanges({});\r\n setItemData(null);\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty1: 1,\r\n Qty2: 1,\r\n TaxRate: 0,\r\n });\r\n setPriceListDetail([]);\r\n }\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n if (save_Exit) {\r\n onHide();\r\n }\r\n };\r\n\r\n const itemCodeHandeler = (obj, bool) => {\r\n if (obj.IsLeaf || bool) {\r\n // setLoading(false)\r\n setItemData(obj);\r\n getPriceListDetailAsync(obj.Id);\r\n setShowTree(false);\r\n // setLoading(true)\r\n setShowPriceListDetail(true);\r\n } else {\r\n // Toast(trans(\"msg_itemleafisnotselected\"), \"error\");\r\n Toast(trans(\"msg_itemleafisnotselected\"), MessageType.error);\r\n }\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // onHide();\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n onHide();\r\n });\r\n } else {\r\n onHide();\r\n }\r\n }\r\n\r\n const getPriceListDetailAsync = async (Id = null, Code = null) => {\r\n // setLoading(false)\r\n try {\r\n const res = await getPriceListDetail(\r\n Id,\r\n priceList?.Id,\r\n Code,\r\n warehouseData.WarehouseId,\r\n personId,\r\n warehouseData.WarehouseDetailId\r\n );\r\n const newPriceListDetail = res.Data.map((item) => {\r\n return {\r\n ...item,\r\n SalesUnitMaxOrderQty:\r\n item.SalesUnitId === item.MainUnitId\r\n ? item.Unit1MaxOrderQty\r\n : item.Unit2MaxOrderQty,\r\n SalesUnitMinOrderQty:\r\n item.SalesUnitId === item.MainUnitId\r\n ? item.Unit1MinOrderQty\r\n : item.Unit2MinOrderQty,\r\n SalesUnitPrice:\r\n item.SalesUnitId === item.MainUnitId\r\n ? item.Unit1Price\r\n : item.Unit2Price,\r\n SalesUnitId: item.SalesUnitId,\r\n SalesUnitDiscount:\r\n item.SalesUnitId === item.MainUnitId\r\n ? item.Unit1Discount\r\n : item.Unit2Discount,\r\n QtyRoundingPlace:\r\n item.SalesUnitId === item.MainUnitId\r\n ? item.Qty1RoundingPlace\r\n : item.Qty2RoundingPlace,\r\n };\r\n });\r\n setPriceListDetail(newPriceListDetail);\r\n setItemData({\r\n ...itemData,\r\n ItemDescription: res.Data[0].ItemDescription,\r\n ItemId: res.Data[0].ItemId,\r\n Code: res.Data[0].ItemCode,\r\n });\r\n if (!contractConstraint.IsFiscal)\r\n setDetailPriceData((pre) => {\r\n return { ...pre, UnitId: newPriceListDetail[0]?.SalesUnitId };\r\n });\r\n } catch {\r\n setItemSearch(Code);\r\n setShowTree(true);\r\n }\r\n };\r\n\r\n const changeQty = (newQty: any, PriceList = [], tax: any = null) => {\r\n let newDetailPriceData: any = null;\r\n if (\r\n priceList &&\r\n !priceList.IsManual &&\r\n !priceList.length &&\r\n !priceListDetail.length &&\r\n mode === \"edit\"\r\n ) {\r\n //این شرط برای اولین بار است که ادیت میزنیم و لیست قیمت نداریم پس باید لیست قیمت بگیریم و کلا از تابع بریم بیرون چون با ست شدن لیست قیمت دوباره وارد همین تابع میشیم\r\n setDetailPriceData({\r\n ...detailPriceData,\r\n Qty: RoundWithRoundingPlace(newQty, selectedObj.QtyRoundingPlace),\r\n }); //برای وقتی که مود ادیت هست و برای بار اول به تعداد یکی اضافه میکنیم چون این تابع ریترن داره و مقدار با عدد جدید ست نمیشه اینجا ست میکنیم.\r\n getPriceListDetailAsync(detailPriceData.ItemId);\r\n return null; // to not go continue function beacuse this function set priceListDetail to causes to run useEffect and run changeQty\r\n }\r\n if (\r\n priceList?.HasDetailRange &&\r\n priceListDetail[priceListDetail.length - 1]?.SalesUnitMaxOrderQty + 1 ===\r\n detailPriceData.Qty &&\r\n priceListDetail[priceListDetail.length - 1]?.SalesUnitMaxOrderQty !== null\r\n ) {\r\n // در لیست قیمت بازه ای اگر مود ادیت است و اولین بار هست که قراره به مقدار یکی اضافه بشه باید تشخیص بدهیم مقدار جدید از ماکسیمم لیست قیمت بیشتر نشود\r\n newQty = newQty - 1;\r\n }\r\n\r\n if (priceList && !priceList.IsManual) {\r\n [...(priceList.length > 0 ? PriceList : priceListDetail)].map((e) => {\r\n if (\r\n (+e.SalesUnitMaxOrderQty >= newQty || e.MaxOrderQty == null) &&\r\n +e.SalesUnitMinOrderQty <= newQty\r\n ) {\r\n newDetailPriceData = e;\r\n }\r\n });\r\n } else {\r\n newDetailPriceData =\r\n (priceList && priceList.length) > 0 ? PriceList[0] : priceListDetail[0];\r\n newDetailPriceData = {\r\n ...detailPriceData,\r\n ...newDetailPriceData,\r\n SalesUnitPrice: detailPriceData.UnitPrice\r\n ? detailPriceData.UnitPrice\r\n : 0,\r\n DiscountPercent: detailPriceData?.DiscountPercent\r\n ? detailPriceData?.DiscountPercent\r\n : 0,\r\n };\r\n }\r\n\r\n const totalTaxRate = priceList?.IsManual\r\n ? detailPriceData.TaxRate\r\n : TaxHandler(priceListDetail?.[0]?.ItemTaxList);\r\n\r\n setDetailPriceData((pre) => {\r\n return {\r\n Price: RoundWithRoundingPlace(\r\n (+newQty *\r\n (+newDetailPriceData?.SalesUnitPrice *\r\n (100 - +newDetailPriceData?.DiscountPercent))) /\r\n 100,\r\n currency?.PriceRoundingPlace\r\n ),\r\n Discount: RoundWithRoundingPlace(\r\n (+newQty *\r\n +newDetailPriceData?.SalesUnitPrice *\r\n newDetailPriceData?.DiscountPercent) /\r\n 100,\r\n currency?.PriceRoundingPlace\r\n ),\r\n SubTotalPrice: +newQty * +newDetailPriceData?.SalesUnitPrice,\r\n Qty:\r\n ((+newDetailPriceData?.SalesUnitMaxOrderQty >= newQty ||\r\n newDetailPriceData?.SalesUnitMaxOrderQty == null) &&\r\n +newDetailPriceData?.SalesUnitMinOrderQty <= newQty) ||\r\n (priceList && priceList.IsManual)\r\n ? RoundWithRoundingPlace(\r\n newQty,\r\n priceListDetail[0]?.QtyRoundingPlace ??\r\n selectedObj?.QtyRoundingPlace\r\n )\r\n : RoundWithRoundingPlace(\r\n pre.Qty,\r\n priceListDetail[0]?.QtyRoundingPlace ??\r\n selectedObj?.QtyRoundingPlace\r\n ),\r\n ItemTechnicalCode: newDetailPriceData?.ItemTechnicalCode,\r\n MaxOrderQty: newDetailPriceData?.SalesUnitMaxOrderQty,\r\n MinOrderQty: newDetailPriceData?.SalesUnitMinOrderQty,\r\n QtyMainUnit: newDetailPriceData?.QtyMainUnit,\r\n QtyStatisticalUnit: newDetailPriceData?.QtyStatisticalUnit,\r\n IsAbsoluteUnitConversionRatio:\r\n newDetailPriceData?.IsAbsoluteUnitConversionRatio,\r\n PriceListId: newDetailPriceData?.PriceListId,\r\n UnitDiscount: newDetailPriceData?.SalesUnitDiscount,\r\n UnitId: newDetailPriceData?.SalesUnitId,\r\n UnitPrice: newDetailPriceData?.SalesUnitPrice,\r\n TaxRate: contractConstraint.HasTax ? totalTaxRate : 0,\r\n DiscountPercent: +newDetailPriceData?.DiscountPercent.toString().slice(\r\n 0,\r\n 5\r\n ),\r\n };\r\n });\r\n };\r\n const TaxHandler = (list) => {\r\n // const res = await getTaxList(Id);\r\n let totalTaxRate = 0;\r\n if (!!list?.length) {\r\n list?.map((item) => {\r\n totalTaxRate += item.TaxRate;\r\n });\r\n return totalTaxRate;\r\n } else {\r\n return 0;\r\n }\r\n };\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n const initializeFormWithSelectedObject = () => {\r\n setItemData({\r\n ...selectedObj,\r\n Code: selectedObj.ItemCode,\r\n ItemDescription: selectedObj.Item,\r\n });\r\n setDetailPriceData({\r\n ...selectedObj,\r\n TaxRate: contractConstraint.HasTax ? selectedObj.TaxRate : 0,\r\n SalesUnitMaxOrderQty: null,\r\n SalesUnitMinOrderQty: 1,\r\n MaxOrderQty: null,\r\n MinOrderQty: 1,\r\n SalesUnitPrice:\r\n selectedObj.SalesUnitId === selectedObj.Unit1Id\r\n ? selectedObj.Unit1Price\r\n : selectedObj.Unit2Price,\r\n SalesUnitId:\r\n selectedObj.SalesUnitId === selectedObj.Unit1Id\r\n ? selectedObj.Unit1Id\r\n : selectedObj.Unit2Id,\r\n SalesUnitDiscount: selectedObj.Discount,\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n if (selectedObj?.Id && mode !== \"create\") {\r\n initializeFormWithSelectedObject();\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (Object.values(userChanges).filter((item) => item != null).length > 0) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n } else {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n useEffect(() => {\r\n if (mode == \"edit\" && !!priceListDetail.length) {\r\n changeQty(\r\n selectedObj.ItemId == itemData.ItemId\r\n ? detailPriceData.Qty\r\n : priceListDetail[0]?.SalesUnitMinOrderQty,\r\n priceListDetail\r\n );\r\n }\r\n if (mode == \"create\" && !!priceListDetail.length) {\r\n changeQty(\r\n priceListDetail[0]?.SalesUnitMinOrderQty\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty\r\n : 1,\r\n priceListDetail\r\n );\r\n }\r\n }, [priceListDetail]);\r\n\r\n return (\r\n
    \r\n {showTree && (\r\n setShowTree(false)}\r\n show={showTree}\r\n >\r\n {\r\n setShowTree(false);\r\n }}\r\n itemCodeHandeler={itemCodeHandeler}\r\n />\r\n \r\n )}\r\n\r\n
    \r\n \r\n {loading ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {(selectedObj?.WarehouseId || mode == \"create\") && (\r\n {\r\n setWarehouseData({\r\n WarehouseId: e,\r\n WarehouseTitle: obj?.Name?.Description,\r\n WarehouseDetailsCount:\r\n obj?.Name?.WarehouseDetailsCount,\r\n });\r\n if (e !== selectedObj?.WarehouseId) {\r\n setUserChanges({});\r\n // setItemData(null);\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty1: 1,\r\n Qty2: 1,\r\n TaxRate: 0,\r\n });\r\n setPriceListDetail([]);\r\n }\r\n }}\r\n mode={mode}\r\n required={true}\r\n />\r\n )}\r\n
    \r\n\r\n {(warehouseData?.WarehouseDetailsCount > 0 ||\r\n warehouseData?.WarehouseDetailId) && (\r\n
    \r\n {\r\n setWarehouseData((prev) => {\r\n return {\r\n ...prev,\r\n WarehouseDetailId: e,\r\n WarehouseDetail: obj?.Name,\r\n };\r\n });\r\n }}\r\n baseUrl={INVENTORYANDSALES_URL}\r\n endPoint={\r\n ENDPOINTSINVENTORYANDSALES.Inventory\r\n .BaseInformationApi.WarehouseDetail.dictionary\r\n }\r\n value={\r\n mode != \"create\"\r\n ? selectedObj?.WarehouseDetailId\r\n : null\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n )}\r\n\r\n \r\n {\r\n if (e && e != itemData?.Code && !showTree) {\r\n getPriceListDetailAsync(null, e);\r\n }\r\n }}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n onChange={(e) => {\r\n if (e.target.value === null || e.target.value === \"\") {\r\n setDetailPriceData({\r\n Price: 0,\r\n Discount: 0,\r\n SubTotalPrice: 0,\r\n Qty: 1,\r\n });\r\n setItemData({});\r\n } else {\r\n if (\r\n e.target.value != itemData?.Code &&\r\n e.target.value.length > 2 &&\r\n isNaN(e.target.value)\r\n ) {\r\n setItemSearch(e.target.value);\r\n setShowTree(true);\r\n }\r\n }\r\n }}\r\n textboxName={\"itemCode\"}\r\n textboxType=\"text\"\r\n resetForm={resetForm}\r\n labelText={\"itemCode\"}\r\n mode={mode}\r\n value={itemData?.Code}\r\n defaultValue={itemData?.Code}\r\n />\r\n {mode != \"view\" && (\r\n
    \r\n setShowTree(true)}\r\n type=\"button\"\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n onClick={(e) => setShowTree(true)}\r\n />\r\n
    \r\n )}\r\n
    \r\n\r\n {itemData && itemData?.ItemDescription && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n withChangeDir={true}\r\n textboxName=\"ItemDescription\"\r\n textboxType=\"text\"\r\n labelText=\"ItemReview\"\r\n value={itemData?.ItemDescription}\r\n defaultValue={itemData?.ItemDescription}\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n required={false}\r\n />\r\n
    \r\n )}\r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"ItemTechnicalCode\"\r\n textboxType=\"text\"\r\n labelText=\"TechnicalCode\"\r\n value={detailPriceData.ItemTechnicalCode + \"\"}\r\n defaultValue={\r\n detailPriceData?.ItemTechnicalCode\r\n ? detailPriceData.ItemTechnicalCode\r\n : null\r\n }\r\n resetForm={resetForm}\r\n mode=\"view\"\r\n required={false}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Qty\"\r\n textboxType=\"number\"\r\n labelText=\"Qty\"\r\n customClass={\"arrow-none\"}\r\n step={\r\n 10 **\r\n (priceListDetail[0]?.QtyRoundingPlace ??\r\n selectedObj?.QtyRoundingPlace)\r\n }\r\n value={\r\n detailPriceData?.Qty\r\n ? detailPriceData.Qty\r\n : !!priceListDetail.length &&\r\n priceListDetail[0]?.SalesUnitMinOrderQty\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty\r\n : 1 + \"\"\r\n }\r\n defaultValue={\r\n detailPriceData?.Qty\r\n ? detailPriceData.Qty\r\n : !!priceListDetail.length &&\r\n priceListDetail[0]?.SalesUnitMinOrderQty\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty\r\n : 1 + \"\"\r\n }\r\n usePrevDefaultValue={\r\n priceList?.HasDetailRange &&\r\n priceListDetail[priceListDetail.length - 1]\r\n ?.SalesUnitMaxOrderQty +\r\n 1 ===\r\n detailPriceData.Qty\r\n }\r\n min={\r\n priceListDetail.length > 0\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty\r\n ? priceListDetail[0]?.SalesUnitMinOrderQty\r\n : 10 **\r\n (priceListDetail[0]?.QtyRoundingPlace ??\r\n selectedObj?.QtyRoundingPlace)\r\n : 10 **\r\n (priceListDetail[0]?.QtyRoundingPlace ??\r\n selectedObj?.QtyRoundingPlace)\r\n }\r\n max={\r\n priceListDetail.length > 0\r\n ? priceListDetail[priceListDetail.length - 1]\r\n ?.SalesUnitMaxOrderQty\r\n : undefined\r\n }\r\n decimals={priceListDetail[0]?.Unit1RoundingPlace}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={true}\r\n onChange={(e) => {\r\n changeQty(+e.target.value);\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n value={detailPriceData.UnitId}\r\n label=\"Unit\"\r\n name=\"UnitId\"\r\n required={false}\r\n mode={\"view\"}\r\n resetForm={resetForm}\r\n setUnitDictionary={(e) => {\r\n setDictionaryName({ ...dictionaryName, Unit: e.Value });\r\n }}\r\n />\r\n
    \r\n\r\n <>\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"UnitPrice\"\r\n textboxType=\"text\"\r\n labelText=\"UnitPrice\"\r\n value={\r\n detailPriceData?.UnitPrice\r\n ? detailPriceData.UnitPrice + \"\"\r\n : 0\r\n }\r\n decimals={currency?.PriceRoundingPlace}\r\n round={false}\r\n defaultValue={\r\n detailPriceData?.UnitPrice\r\n ? detailPriceData.UnitPrice + \"\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n mode={\r\n priceList?.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n onChange={(e) => {\r\n if (priceList?.IsManual) {\r\n setDetailPriceData((pre) => {\r\n return {\r\n ...pre,\r\n UnitPrice: +e.target.value.replaceAll(\",\", \"\"),\r\n SubTotalPrice:\r\n +e.target.value.replaceAll(\",\", \"\") * pre.Qty,\r\n Price: RoundWithRoundingPlace(\r\n (+detailPriceData.Qty *\r\n (+e.target.value.replaceAll(\",\", \"\") *\r\n (100 -\r\n (detailPriceData.DiscountPercent\r\n ? +detailPriceData.DiscountPercent\r\n : 0)))) /\r\n 100,\r\n currency?.PriceRoundingPlace\r\n ),\r\n };\r\n });\r\n } else {\r\n setDetailPriceData((pre) => {\r\n return {\r\n ...pre,\r\n UnitPrice: +e.target.value.replaceAll(\",\", \"\"),\r\n SubTotalPrice:\r\n +e.target.value.replaceAll(\",\", \"\") * pre.Qty,\r\n };\r\n });\r\n }\r\n }}\r\n required={false}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"SubTotalPrice\"\r\n textboxType=\"text\"\r\n labelText=\"مبلغ\"\r\n value={\r\n detailPriceData?.SubTotalPrice\r\n ? detailPriceData.SubTotalPrice\r\n : 0\r\n }\r\n decimals={currency?.PriceRoundingPlace}\r\n round={false}\r\n defaultValue={\r\n detailPriceData?.SubTotalPrice\r\n ? detailPriceData.SubTotalPrice + \"\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n mode={\r\n priceList?.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
    \r\n \r\n
    \r\n\r\n <>\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"DiscountPercent\"\r\n textboxType=\"number\"\r\n customClass={\"arrow-none\"}\r\n useTrans={false}\r\n labelText={trans(\"DiscountPercent\") + \"%\"}\r\n value={detailPriceData?.DiscountPercent + \"\"}\r\n onChange={(e) =>\r\n setDetailPriceData((pre) => {\r\n return {\r\n ...pre,\r\n DiscountPercent: +e.target.value,\r\n Discount:\r\n (+e.target.value * pre.SubTotalPrice) / 100,\r\n Price:\r\n pre.SubTotalPrice -\r\n (+e.target.value * pre.SubTotalPrice) / 100,\r\n };\r\n })\r\n }\r\n usePrevDefaultValue={\r\n detailPriceData?.DiscountPercent == 100\r\n }\r\n max={100}\r\n min={0}\r\n defaultValue={\r\n detailPriceData?.DiscountPercent\r\n ? detailPriceData.DiscountPercent + \"\"\r\n : detailPriceData?.DiscountPercent == 0\r\n ? \"0\"\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={\r\n priceList?.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n required={false}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Discount\"\r\n textboxType=\"text\"\r\n labelText=\"Discount\"\r\n value={RoundWithRoundingPlace(\r\n detailPriceData?.Discount,\r\n currency?.PriceRoundingPlace\r\n )}\r\n defaultValue={\r\n detailPriceData?.Discount\r\n ? RoundWithRoundingPlace(\r\n detailPriceData?.Discount,\r\n currency?.PriceRoundingPlace\r\n ) + \"\"\r\n : detailPriceData?.Discount == 0\r\n ? \"0\"\r\n : \"\"\r\n }\r\n resetForm={resetForm}\r\n decimals={currency?.PriceRoundingPlace}\r\n round={false}\r\n onChange={(e) => {\r\n setDetailPriceData({\r\n ...detailPriceData,\r\n Price:\r\n detailPriceData.SubTotalPrice -\r\n +e.target.value.replaceAll(\",\", \"\"),\r\n UnitDiscount: +e.target.value.replaceAll(\",\", \"\"),\r\n DiscountPercent: +(\r\n (+e.target.value.replaceAll(\",\", \"\") /\r\n detailPriceData.SubTotalPrice) *\r\n 100\r\n )\r\n .toString()\r\n .slice(0, 5),\r\n });\r\n }}\r\n mode={\r\n priceList?.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Price\"\r\n textboxType=\"text\"\r\n labelText=\"totalprice\"\r\n value={\r\n detailPriceData.Price ? detailPriceData.Price + \"\" : 0\r\n }\r\n defaultValue={\r\n detailPriceData?.Price\r\n ? detailPriceData?.Price + \"\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n decimals={currency?.PriceRoundingPlace}\r\n round={false}\r\n mode={\r\n priceList?.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"TaxRate\"\r\n textboxType=\"number\"\r\n customClass={\"arrow-none\"}\r\n useTrans={false}\r\n labelText={trans(\"TaxRate\") + \"%\"}\r\n defaultValue={\r\n contractConstraint.HasTax && detailPriceData?.TaxRate\r\n ? detailPriceData?.TaxRate + \"\"\r\n : \"0\"\r\n }\r\n value={\r\n contractConstraint.HasTax && detailPriceData?.TaxRate\r\n ? detailPriceData?.TaxRate + \"\"\r\n : \"0\"\r\n }\r\n mode={\"view\"}\r\n required={false}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Tax\"\r\n textboxType=\"text\"\r\n labelText=\"Tax\"\r\n decimals={currency?.PriceRoundingPlace}\r\n round={contractConstraint.FloorTaxDuty}\r\n defaultValue={\r\n contractConstraint.HasTax && detailPriceData?.TaxRate\r\n ? contractConstraint?.FloorTaxDuty\r\n ? FloorWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,\r\n currency?.PriceRoundingPlace\r\n ) + \"\"\r\n : RoundWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,\r\n currency?.PriceRoundingPlace\r\n ) + \"\"\r\n : \"0\"\r\n }\r\n value={\r\n contractConstraint.HasTax && detailPriceData?.TaxRate\r\n ? contractConstraint?.FloorTaxDuty\r\n ? FloorWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,\r\n currency?.PriceRoundingPlace\r\n ) + \"\"\r\n : RoundWithRoundingPlace(\r\n (+detailPriceData.TaxRate *\r\n +detailPriceData.Price) /\r\n 100,\r\n currency?.PriceRoundingPlace\r\n ) + \"\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n mode={\"view\"}\r\n required={false}\r\n // onChange={(e) => {\r\n // if (priceList?.IsManual) {\r\n // setDetailPriceData({\r\n // ...detailPriceData,\r\n // TaxRate:\r\n // (+e.target.value.replaceAll(\",\", \"\") * 100) /\r\n // detailPriceData.Price,\r\n // });\r\n // }\r\n // }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"GrandTotalPrice\"\r\n textboxType=\"text\"\r\n labelText=\"payableamount\"\r\n value={\r\n detailPriceData?.TaxRate\r\n ? +detailPriceData.Price +\r\n (+detailPriceData?.TaxRate *\r\n +detailPriceData?.Price) /\r\n 100 +\r\n \"\"\r\n : detailPriceData?.Price\r\n ? detailPriceData?.Price + \"\"\r\n : \"0\"\r\n }\r\n defaultValue={\r\n detailPriceData?.TaxRate\r\n ? +detailPriceData.Price +\r\n (+detailPriceData?.TaxRate *\r\n +detailPriceData?.Price) /\r\n 100 +\r\n \"\"\r\n : detailPriceData?.Price\r\n ? detailPriceData?.Price + \"\"\r\n : \"0\"\r\n }\r\n resetForm={resetForm}\r\n decimals={currency?.PriceRoundingPlace}\r\n round={false}\r\n mode={\r\n priceList?.IsManual && mode != \"view\"\r\n ? \"create\"\r\n : \"view\"\r\n }\r\n useGroupingPrice={true}\r\n required={false}\r\n />\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"textarea\"\r\n textboxName=\"Description\"\r\n labelText=\"Description\"\r\n defaultValue={\r\n mode != \"create\" ? selectedObj?.Description : null\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={false}\r\n maxLength={150}\r\n letterCounter={true}\r\n />\r\n
    \r\n\r\n <>\r\n {mode != \"view\" ? (\r\n
    \r\n {mode === \"create\" && (\r\n
    \r\n ) : (\r\n
    \r\n {\r\n cancel();\r\n }}\r\n />\r\n
    \r\n )}\r\n \r\n \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n {!!priceListDetail.length &&\r\n priceList?.HasDetailRange &&\r\n (mode === \"create\" || (mode === \"edit\" && showPriceListDetail)) && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import DecoupledEditor from \"@ckeditor/ckeditor5-build-decoupled-document\";\r\nimport { CKEditor } from \"@ckeditor/ckeditor5-react\";\r\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Address } from \"components/Address/Address\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { CheckableButton } from \"components/CheckableButton/CheckableButton\";\r\nimport { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport Datepicker from \"components/DatePicker/DatePicker\";\r\nimport { DictionarySelectBox } from \"components/DictionaryTypeSelect/DictionaryTypeSelect\";\r\nimport { EnumerationTypeSelect } from \"components/EnumerationTypeSelect/EnumerationTypeSelect\";\r\nimport { FormWithTitle } from \"components/FormWithTitle/FormWithTitle\";\r\nimport { Headerbar } from \"components/Headerbar/Headerbar\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Position } from \"components/Position/Position\";\r\nimport { Textbox } from \"components/Textbox/Textbox\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport {\r\n forwardRef,\r\n useEffect,\r\n useImperativeHandle,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { ContactType, MessageType } from \"types/enum\";\r\nimport { GUID_EMPTY, ICON_TYPE, INVENTORYANDSALES_URL } from \"utils/constants\";\r\nimport { ENDPOINTSINVENTORYANDSALES } from \"utils/endpoints\";\r\nimport { convertAddress, RoundOutputOperation, trans } from \"utils/helpers\";\r\nimport { CustomerTabform } from \"../../BaseDefinitionAndSetting/Customers/CustomerTabForm\";\r\nimport { CurrencyDictionary } from \"../../PriceList/components/CurrencyDictionary/CurrencyDictionary\";\r\nimport { PriceListDictionary } from \"../../PriceList/components/PriceListDictionary/PriceListDictionary\";\r\nimport { AddressBox } from \"../../SalesInvoice/components/AddressBox/AddressBox\";\r\nimport { CustomerDictionary } from \"../../SalesInvoice/components/CustomerDictionary/CustomerDictionary\";\r\nimport { CustomerPhoneDictionary } from \"../../SalesInvoice/components/CustomerPhoneDictionary/CustomerPhoneDictionary\";\r\nimport { CustomerPhoneList } from \"../../SalesInvoice/components/CustomerPhones/CustomerPhoneList\";\r\nimport { getDefaultPersonContact, getPersonCustomer } from \"../api\";\r\nimport { DocsClassification } from \"../components/DocsClassification/DocsClassification\";\r\nimport { SalesContractDetailForm } from \"../SalesContractDetailForm\";\r\n\r\ninterface MainFormProps {\r\n response?: any;\r\n mode?: any;\r\n sourceDataParam?: any;\r\n SourceData?: any;\r\n setResponse?: any;\r\n sendDataForCalcAsync?: any;\r\n contractConstraint?: any;\r\n salesContractNo?: any;\r\n setSalesContractNo?: any;\r\n loading?: boolean;\r\n salesContractDetail?:any\r\n setSalesContractDetail?:any\r\n}\r\nexport const MainForm = forwardRef(\r\n (\r\n {\r\n response,\r\n mode,\r\n sourceDataParam,\r\n SourceData,\r\n setResponse,\r\n sendDataForCalcAsync,\r\n contractConstraint,\r\n salesContractNo,\r\n setSalesContractNo,\r\n loading,\r\n salesContractDetail,\r\n setSalesContractDetail\r\n }: MainFormProps,\r\n ref: any\r\n ) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n\r\n const [userChanges, setUserChanges] = useState({});\r\n const [noAccess, setNoAccess] = useState(false);\r\n const [editor, setEditor] = useState();\r\n const [editorData, setEditorData] = useState(response?.Conditions);\r\n const [editorEN, setEditorEN] = useState();\r\n const [editorDataEN, setEditorDataEN] = useState(\r\n response?.ConditionsEN\r\n );\r\n const [conditionsLang, setConditionsLang] = useState(\"fa\");\r\n const [customerInfo, setCustomerInfo] = useState(null);\r\n const [customer, setCustomer] = useState(null);\r\n const [salesContractDate, setSalesContractDate] = useState();\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n const [showForm, setShowForm] = useState(false);\r\n const formRef = useRef();\r\n const [showAddressBox, setShowAddressBox] = useState<\r\n \"createMode\" | \"selectMode\" | null\r\n >(null);\r\n const [objDictionary, setObjDictionary] = useState({});\r\n const [showCustomerPhoneForm, setShowCustomerPhoneForm] = useState(false);\r\n const [showCustomerform, setShowCustomerform] = useState(false);\r\n const [priceList, setPriceList] = useState(null);\r\n const [currency, setCurrency] = useState(null);\r\n\r\n const [dataGridLoading, setDataGridLoading] = useState(true);\r\n const [lastWarehouse, setLastWarehouse] = useState(null);\r\n const [startDate, setStartDate] = useState(\"\");\r\n const [endDate, setEndDate] = useState(\"\");\r\n\r\n const [totalRows, setTotalRows] = useState({\r\n ItemCount: 0,\r\n TotalTax: 0,\r\n TotalDiscount: 0,\r\n SubTotalPrice: 0,\r\n });\r\n const [docsClassification, setDocsClassification] = useState(null);\r\n const [payment, setPayment] = useState({\r\n totalprice: 0,\r\n Prepayment: 0,\r\n });\r\n const [receive, setReceive] = useState({\r\n GrandTotalPrice: 0,\r\n Prepayment: 0,\r\n });\r\n const [todayDate, settodayDate] = useState(new Date().toISOString());\r\n const [person, setPerson] = useState(null);\r\n const [dataChange, setDataChange] = useState(false);\r\n\r\n const [dateLoading, setDateLoading] = useState(true); //for calc fun is runing\r\n\r\n const [detailMode, setDetailMode] = useState<\"create\" | \"edit\" | \"view\">(\r\n mode\r\n );\r\n\r\n const [changeAddress, setChangeAddress] = useState();\r\n const [typePhoneContact, setTypePhonContact] = useState();\r\n\r\n const [selectedPhoneDetail, setSelectedPhoneDetail] = useState({\r\n phone: \"\",\r\n mobile: \"\",\r\n });\r\n const [requiredFields, setRequiredFields] = useState();\r\n\r\n function setSalesContractDetailHandler(data) {\r\n setDataGridLoading(false);\r\n setSalesContractDetail(data);\r\n setDataGridLoading(true);\r\n }\r\n\r\n const handlesetContractDetail = (newObj) => {\r\n if (contractConstraint.AllowDuplicateItems || detailMode == \"edit\") {\r\n setTotalRows({\r\n ItemCount:\r\n detailMode == \"create\"\r\n ? RoundOutputOperation(totalRows.ItemCount + +newObj.Qty)\r\n : RoundOutputOperation(\r\n totalRows.ItemCount + (+newObj.Qty - +selectedObj.Qty)\r\n ),\r\n TotalTax: contractConstraint.HasTax\r\n ? detailMode == \"create\"\r\n ? totalRows.TotalTax + +newObj.Tax\r\n : totalRows.TotalTax + (+newObj.Tax - +selectedObj.Tax)\r\n : 0,\r\n TotalDiscount:\r\n detailMode == \"create\"\r\n ? totalRows.TotalDiscount + +newObj.Discount\r\n : totalRows.TotalDiscount +\r\n (+newObj.Discount - +selectedObj.Discount),\r\n SubTotalPrice:\r\n detailMode == \"create\"\r\n ? totalRows.SubTotalPrice + +newObj.SubTotalPrice\r\n : totalRows.SubTotalPrice +\r\n (+newObj.SubTotalPrice - +selectedObj.SubTotalPrice),\r\n });\r\n if (detailMode == \"create\") {\r\n setSalesContractDetailHandler([...salesContractDetail, newObj]);\r\n } else {\r\n let newItemes = salesContractDetail.map((item: any) => {\r\n if (item.Id == newObj.Id) {\r\n return newObj;\r\n } else return item;\r\n });\r\n setSalesContractDetailHandler(newItemes);\r\n }\r\n // Toast(\"msg_saveddatasuccessfully\", \"success\");\r\n Toast(\"msg_saveddatasuccessfully\", MessageType.success);\r\n\r\n setDataChange(true);\r\n return true;\r\n } else {\r\n let Dupli = salesContractDetail.find(\r\n (e: any) => e.ItemId == newObj.ItemId\r\n );\r\n if (!Dupli || salesContractDetail.length == 0) {\r\n setTotalRows({\r\n ItemCount:\r\n detailMode == \"create\"\r\n ? RoundOutputOperation(totalRows.ItemCount + +newObj.Qty)\r\n : RoundOutputOperation(\r\n totalRows.ItemCount + (+newObj.Qty - +selectedObj.Qty)\r\n ),\r\n TotalTax: contractConstraint.HasTax\r\n ? detailMode == \"create\"\r\n ? totalRows.TotalTax + +newObj.Tax\r\n : totalRows.TotalTax + (+newObj.Tax - +selectedObj.Tax)\r\n : 0,\r\n TotalDiscount:\r\n detailMode == \"create\"\r\n ? totalRows.TotalDiscount + +newObj.Discount\r\n : totalRows.TotalDiscount +\r\n (+newObj.Discount - +selectedObj.Discount),\r\n SubTotalPrice:\r\n detailMode == \"create\"\r\n ? totalRows.SubTotalPrice + +newObj.SubTotalPrice\r\n : totalRows.SubTotalPrice +\r\n (+newObj.SubTotalPrice - +selectedObj.SubTotalPrice),\r\n });\r\n if (detailMode == \"create\") {\r\n setSalesContractDetailHandler([...salesContractDetail, newObj]);\r\n } else {\r\n let newItemes = salesContractDetail.map((item: any) => {\r\n if (item.Id == newObj.Id) {\r\n return newObj;\r\n } else return item;\r\n });\r\n setSalesContractDetailHandler(newItemes);\r\n }\r\n // Toast(\"msg_saveddatasuccessfully\", \"success\");\r\n Toast(\"msg_saveddatasuccessfully\", MessageType.success);\r\n\r\n setDataChange(true);\r\n return true;\r\n } else {\r\n // Toast(\"msg_duplicateitems\", \"error\");\r\n Toast(\"msg_duplicateitems\", MessageType.error);\r\n\r\n return false;\r\n }\r\n }\r\n };\r\n\r\n const handleOpenDetailForm = () => {\r\n if (priceList) {\r\n if (customerInfo?.CustomerPersonId || customer?.SundryCustomer) {\r\n setDetailMode(\"create\");\r\n setShowForm(true);\r\n } else {\r\n // Toast(\"msg_customernotselected\", \"error\");\r\n Toast(\"msg_customernotselected\", MessageType.error);\r\n }\r\n } else {\r\n Toast(\"msg_choosepricelist\", MessageType.error);\r\n // Toast(\"msg_choosepricelist\", \"error\");\r\n }\r\n };\r\n\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n };\r\n\r\n async function getDefaultPersonContactAsync(personId) {\r\n try {\r\n const res2 = await getPersonCustomer(personId);\r\n setCustomer((pre) => {\r\n return {\r\n ...pre,\r\n Id: res2.Data.Customer.Id,\r\n Name: res2.Data.Customer.CustomerPersonDescription,\r\n SundryCustomer:\r\n res2.Data.Customer.Id == contractConstraint?.SundryCustomerId,\r\n };\r\n });\r\n if (res2.Data.Customer.Id == contractConstraint?.SundryCustomerId) {\r\n setCustomerInfo({ ...res2?.Data?.Customer });\r\n } else {\r\n if (mode != \"view\") {\r\n const res = await getDefaultPersonContact(\r\n res2?.Data?.Customer?.CustomerPersonId\r\n );\r\n if (res?.MessageType == MessageType.error && res2?.Data == null) {\r\n } else setCustomerInfo({ ...res.Data, ...res2?.Data?.Customer });\r\n } else setCustomerInfo({ ...res2?.Data?.Customer });\r\n }\r\n } catch (error) {}\r\n }\r\n\r\n useImperativeHandle(ref, () => ({\r\n getAllData() {\r\n if (!formRef.current.reportValidity()) {\r\n return false;\r\n } else {\r\n return {\r\n Id: response?.Id,\r\n PriceListId: priceList?.Id,\r\n PaymentMethodId: formRef.current.PaymentMethodId[0].value,\r\n CustomerId: customerInfo?.Id,\r\n SalesContractKindId: formRef.current.SalesContractKindId?.value,\r\n DocsClassificationId: docsClassification?.Id,\r\n CurrencyId: currency?.Id,\r\n SalesManagerPositionId:\r\n formRef.current.SalesManagerPositionId?.value?formRef.current.SalesManagerPositionId?.value:null,\r\n VisitorPositionId: formRef.current.VisitorPositionId?.value?formRef.current.VisitorPositionId?.value:null,\r\n OperatorPositionId: formRef.current.OperatorPositionId?.value?formRef.current.OperatorPositionId?.value:null,\r\n SalesContractNo: +salesContractNo,\r\n SalesContractType: +formRef.current.SalesContractType?.value,\r\n SalesContractDate: salesContractDate,\r\n ContractingNo: formRef.current.ContractingNo?.value,\r\n Subject: formRef.current.Subject?.value,\r\n SubjectEN: contractConstraint?.ShowENFields\r\n ? formRef.current.SubjectEN?.value\r\n : null,\r\n Conditions: editorData,\r\n ConditionsEN: contractConstraint.ShowENFields ? editorDataEN : null,\r\n StartDate: startDate,\r\n EndDate: endDate,\r\n GoodPerformance:formRef.current.GoodPerformance?.value? +formRef.current.GoodPerformance?.value.replaceAll(\r\n \",\",\r\n \"\"\r\n ):null,\r\n GoodPerformancePercent:\r\n +formRef.current.GoodPerformancePercent?.value?+formRef.current.GoodPerformancePercent?.value:null,\r\n Tolerance: formRef.current.Tolerance?.value,\r\n // ActivityStatus: 0,\r\n Description: formRef.current.Description?.value,\r\n DescriptionEN: contractConstraint?.ShowENFields\r\n ? formRef.current.DescriptionEN?.value\r\n : null,\r\n\r\n CustomerName: customer?.Name,\r\n CustomerPhone: customer?.CustomerPhone?.Name.split(\":\")[1]\r\n ? customer?.CustomerPhone?.Name.split(\":\")[1]\r\n : customer?.CustomerPhone?.Name ?? null,\r\n CustomerMobilePhone: customer?.CustomerMobilePhone?.Name.split(\r\n \":\"\r\n )[1]\r\n ? customer?.CustomerMobilePhone?.Name.split(\":\")[1]\r\n : customer?.CustomerMobilePhone?.Name ?? null,\r\n CustomerAddress: formRef.current.Address?.value,\r\n CustomerEconNo: formRef.current.CustomerEconNo?.value,\r\n CustomerNationalCode: formRef.current.CustomerNationalCode?.value,\r\n DeliveryAddress: formRef.current.DeliveryAddress?.value,\r\n Prepayment: +formRef.current.Prepayment?.value,\r\n SubTotalPrice: +totalRows?.SubTotalPrice,\r\n TotalDiscount: +totalRows?.TotalDiscount,\r\n TotalPrice: +payment.totalprice,\r\n TotalTax: +totalRows?.TotalTax,\r\n GrandTotalPrice:\r\n +totalRows?.SubTotalPrice -\r\n +totalRows?.TotalDiscount +\r\n +totalRows?.TotalTax,\r\n IsCurrency: !currency.IsDefault,\r\n CurrencyRate: currency?.CurrencyRate,\r\n SalesManagerPositionDescription:\r\n objDictionary.SalesManagerPositionDescription,\r\n VisitorPositionDescription:\r\n objDictionary.VisitorPositionDescription,\r\n OperatorPositionDescription:\r\n objDictionary.OperatorPositionDescription,\r\n SalesContractDetailDTOList: salesContractDetail,\r\n ItemCount: +totalRows.ItemCount,\r\n };\r\n }\r\n },\r\n }));\r\n\r\n const handleDeleteRow = async (id: string = selectedObj.Id) => {\r\n let newPriceListDetail: any = [...salesContractDetail];\r\n let obj = newPriceListDetail.filter((e) => e.Id == id)[0];\r\n\r\n setTotalRows((prev) => {\r\n return {\r\n ItemCount: RoundOutputOperation(prev.ItemCount - +obj.Qty),\r\n TotalTax: contractConstraint.HasTax ? prev.TotalTax - +obj.Tax : 0,\r\n TotalDiscount: prev.TotalDiscount - +obj.Discount,\r\n SubTotalPrice: prev.SubTotalPrice - +obj.SubTotalPrice,\r\n };\r\n });\r\n setSalesContractDetailHandler(\r\n newPriceListDetail.filter((e) => e.Id != id)\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (response?.Id && mode !== \"create\") {\r\n let newItemCount = 0;\r\n response.salesContractDetailDTOList?.map((item) => {\r\n newItemCount += item.Qty;\r\n });\r\n setTotalRows({\r\n ItemCount: newItemCount,\r\n TotalTax: contractConstraint.HasTax ? response?.TotalTax : 0,\r\n TotalDiscount: response?.TotalDiscount,\r\n SubTotalPrice: response?.SubTotalPrice,\r\n });\r\n setPayment({\r\n totalprice: response.TotalPrice,\r\n Prepayment: response?.Prepayment,\r\n });\r\n setReceive({\r\n GrandTotalPrice: +response?.GrandTotalPrice,\r\n Prepayment: response?.Prepayment,\r\n });\r\n setSalesContractDetail(response.SalesContractDetailDTOList);\r\n }\r\n }, [response]);\r\n\r\n useEffect(() => {\r\n setPayment((prev) => {\r\n return {\r\n ...prev,\r\n totalprice: +totalRows.SubTotalPrice - +totalRows.TotalDiscount,\r\n };\r\n });\r\n }, [totalRows]);\r\n\r\n useEffect(() => {\r\n setReceive((prev) => {\r\n return {\r\n ...prev,\r\n GrandTotalPrice: +payment.totalprice + +totalRows.TotalTax,\r\n };\r\n });\r\n }, [payment]);\r\n\r\n return (\r\n
    \r\n {showForm ? (\r\n {\r\n setShowForm(false);\r\n }}\r\n show={showForm}\r\n title={\"salesContractDetailForm\"}\r\n >\r\n {\r\n setShowForm(false);\r\n }}\r\n priceList={priceList}\r\n contractConstraint={contractConstraint}\r\n selectedObj={selectedObj}\r\n salesContractDetailCallBack={(e) => handlesetContractDetail(e)}\r\n personId={customerInfo?.CustomerPersonId}\r\n currency={currency}\r\n salesContractId={response?.Id}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n {showCustomerPhoneForm ? (\r\n {\r\n setShowCustomerPhoneForm(false);\r\n }}\r\n show={showCustomerPhoneForm}\r\n title={\"CustomerPhoneForm\"}\r\n >\r\n {\r\n setShowCustomerPhoneForm(false);\r\n }}\r\n handlePhone={(e) => {\r\n typePhoneContact == ContactType.Phone\r\n ? setSelectedPhoneDetail({ ...selectedPhoneDetail, phone: e })\r\n : setSelectedPhoneDetail({\r\n ...selectedPhoneDetail,\r\n mobile: e,\r\n });\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {showAddressBox ? (\r\n {\r\n setShowAddressBox(null);\r\n }}\r\n mode={mode}\r\n show={showAddressBox && true}\r\n title={\"Address\"}\r\n >\r\n {\r\n setShowAddressBox(null);\r\n }}\r\n status={showAddressBox}\r\n AddressHandeler={(e) => {\r\n setChangeAddress(JSON.stringify(e).toLowerCase());\r\n setCustomerInfo({\r\n ...customerInfo,\r\n Address: JSON.stringify(e).toLowerCase(),\r\n });\r\n setShowAddressBox(null);\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {showCustomerform ? (\r\n {\r\n setShowCustomerform(false);\r\n }}\r\n show={showCustomerform}\r\n title={\"Customer\"}\r\n >\r\n {\r\n setResponse({ ...response, CustomerId: e });\r\n }}\r\n selectedObj={customer}\r\n mode={mode}\r\n onHide={() => {\r\n setShowCustomerform(false);\r\n }}\r\n />\r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {\r\n setSalesContractNo(e.target.value);\r\n }}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n {contractConstraint?.IsDocClassified && (\r\n
    \r\n {\r\n // if((docsClassification?.CalculateTax!=obj?.CalculateTax)&&docsClassification!=null){sendDataForCalcAsync(null , obj) }else\r\n setDocsClassification(obj);\r\n }}\r\n />\r\n
    \r\n )}\r\n {dateLoading && (\r\n <>\r\n
    \r\n {\r\n setSalesContractDate(isoTime);\r\n }}\r\n required={true}\r\n val={\r\n response\r\n ? response.SalesContractDate\r\n : contractConstraint.IsNewDocCurrentDate\r\n ? todayDate\r\n : null\r\n }\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n />\r\n
    \r\n\r\n
    \r\n {\r\n setStartDate(isoTime);\r\n }}\r\n required={true}\r\n val={\r\n // response\r\n // ?\r\n response?.StartDate\r\n // : contractConstraint.IsNewDocCurrentDate\r\n // ? todayDate\r\n // : null\r\n }\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n setEndDate(isoTime);\r\n }}\r\n required={true}\r\n val={\r\n // response\r\n // ?\r\n response?.EndDate\r\n // : contractConstraint.IsNewDocCurrentDate\r\n // ? todayDate\r\n // : null\r\n }\r\n errorFlag={false}\r\n Change={(e) => {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n />\r\n
    \r\n \r\n )}\r\n
    \r\n setNoAccess(true)}\r\n name=\"CustomerName\"\r\n label=\"CustomerName\"\r\n resetForm={resetForm}\r\n value={response?.CustomerId}\r\n ShowMethod={contractConstraint?.ChangeDocCustomer}\r\n CustomerName={response?.CustomerName}\r\n mode={mode}\r\n returnObj={true}\r\n required={true}\r\n onChange={(e) => {\r\n if (e.Id) {\r\n setCustomer((prev) => {\r\n return { ...e, ...prev };\r\n });\r\n getDefaultPersonContactAsync(e.Id);\r\n } else {\r\n setCustomerInfo(null);\r\n setCustomer(null);\r\n }\r\n }}\r\n />\r\n {mode == \"create\" && !noAccess && (\r\n \r\n {\r\n e.preventDefault();\r\n setShowCustomerform(true);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
    \r\n )}\r\n
    \r\n <>\r\n
    \r\n {\r\n !!salesContractDetail.length &&\r\n e.Id != GUID_EMPTY &&\r\n response?.PriceListId != e.Id\r\n ? sendDataForCalcAsync(e)\r\n : setPriceList(e);\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setObjDictionary({\r\n ...objDictionary,\r\n VisitorPositionDescription: e.Name,\r\n });\r\n }}\r\n name=\"VisitorPositionId\"\r\n label=\"VisitorPosition\"\r\n resetForm={resetForm}\r\n value={response?.VisitorPositionId}\r\n mode={mode}\r\n returnObj={true}\r\n />\r\n
    \r\n
    \r\n {\r\n setObjDictionary({\r\n ...objDictionary,\r\n OperatorPositionDescription: e.Name,\r\n });\r\n }}\r\n name=\"OperatorPositionId\"\r\n label=\"OperatorPosition\"\r\n mode={mode}\r\n value={response?.OperatorPositionId}\r\n resetForm={resetForm}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setObjDictionary({\r\n ...objDictionary,\r\n SalesManagerPositionDescription: e.Name,\r\n });\r\n }}\r\n name=\"SalesManagerPositionId\"\r\n label=\"SalesManagerPosition\"\r\n resetForm={resetForm}\r\n value={response?.SalesManagerPositionId}\r\n mode={mode}\r\n returnObj={true}\r\n />\r\n
    \r\n
    \r\n {\r\n setCurrency(e);\r\n }}\r\n resetForm={resetForm}\r\n value={\r\n priceList?.CurrencyId\r\n ? priceList.CurrencyId\r\n : response?.CurrencyId\r\n }\r\n mode={priceList?.CurrencyId ? \"view\" : mode}\r\n required={true}\r\n />\r\n
    \r\n \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxType=\"text\"\r\n textboxName=\"CustomerEconNo\"\r\n labelText=\"CustomerEconNo\"\r\n defaultValue={\r\n response?.CustomerEconNo\r\n ? response.CustomerEconNo\r\n : customerInfo?.EconNo\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n setCustomer((prev) => {\r\n return { ...prev, CustomerPhone: e };\r\n });\r\n }}\r\n />\r\n
    \r\n\r\n {mode != \"view\" && (\r\n \r\n {\r\n e.preventDefault();\r\n setShowCustomerPhoneForm(true);\r\n setTypePhonContact(ContactType.Phone);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n setCustomer((prev) => {\r\n return { ...prev, CustomerMobilePhone: e };\r\n });\r\n }}\r\n Change={() => {}}\r\n />\r\n
    \r\n {mode != \"view\" && (\r\n \r\n {\r\n e.preventDefault();\r\n setShowCustomerPhoneForm(true);\r\n setTypePhonContact(ContactType.Mobile);\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"CustomerNationalCode\"\r\n textboxType=\"nationalCode\"\r\n labelText=\"CustomerNationalCode\"\r\n defaultValue={\r\n response?.CustomerNationalCode\r\n ? response.CustomerNationalCode\r\n : customerInfo?.NationalId?.trim()\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields?.CustomerNationalCode}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Tolerance\"\r\n textboxType=\"text\"\r\n labelText=\"Tolerance\"\r\n defaultValue={response?.Tolerance}\r\n resetForm={resetForm}\r\n mode={mode}\r\n // required={requiredFields?.Tolerance}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Subject\"\r\n textboxType=\"text\"\r\n labelText=\"Subject\"\r\n defaultValue={response?.Subject}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields?.Subject}\r\n />\r\n
    \r\n {contractConstraint?.ShowENFields && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"SubjectEN\"\r\n textboxType=\"text\"\r\n labelText=\"SubjectEN\"\r\n defaultValue={response?.SubjectEN}\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields?.SubjectEN}\r\n />\r\n
    \r\n )}\r\n
    \r\n {contractConstraint?.ShowENFields && (\r\n
    \r\n
    \r\n setConditionsLang(\"fa\")}\r\n type=\"radio\"\r\n labelText=\"conditions\"\r\n defaultChecked={conditionsLang == \"fa\"}\r\n defaultValue={conditionsLang == \"fa\"}\r\n value={conditionsLang == \"fa\"}\r\n inputName=\"conditionsLang\"\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n setConditionsLang(\"en\")}\r\n type=\"radio\"\r\n labelText=\"conditionsEN\"\r\n defaultChecked={conditionsLang == \"en\"}\r\n defaultValue={conditionsLang == \"en\"}\r\n value={conditionsLang == \"en\"}\r\n inputName=\"conditionsLang\"\r\n mode={mode}\r\n />\r\n
    \r\n
    \r\n )}\r\n\r\n {(!contractConstraint?.ShowENFields ||\r\n (contractConstraint?.ShowENFields &&\r\n conditionsLang == \"fa\")) && (\r\n
    \r\n {trans(\"Condition\")}\r\n {\r\n editor.ui\r\n .getEditableElement()\r\n .parentElement.insertBefore(\r\n editor.ui.view.toolbar.element,\r\n editor.ui.getEditableElement()\r\n );\r\n setEditor(editor);\r\n }}\r\n onError={(error, { willEditorRestart }) => {\r\n if (willEditorRestart) {\r\n editor.ui.view.toolbar.element.remove();\r\n }\r\n }}\r\n onOk={(editor) => {\r\n editor.insertHtml(editorData);\r\n }}\r\n onChange={(event, editor) => {\r\n const data = editor.getData();\r\n setEditorData(data);\r\n }}\r\n editor={DecoupledEditor}\r\n config={{\r\n removePlugins: [\r\n \"EasyImage\",\r\n \"ImageUpload\",\r\n \"MediaEmbed\",\r\n ],\r\n }}\r\n />\r\n
    \r\n )}\r\n\r\n {contractConstraint?.ShowENFields && conditionsLang == \"en\" && (\r\n
    \r\n {trans(\"ConditionsEN\")}\r\n {\r\n editor.ui\r\n .getEditableElement()\r\n .parentElement.insertBefore(\r\n editor.ui.view.toolbar.element,\r\n editor.ui.getEditableElement()\r\n );\r\n setEditorEN(editor);\r\n }}\r\n onError={(error, { willEditorRestart }) => {\r\n if (willEditorRestart) {\r\n editorEN.ui.view.toolbar.element.remove();\r\n }\r\n }}\r\n onOk={(editor) => {\r\n editor.insertHtml(editorDataEN);\r\n }}\r\n onChange={(event, editor) => {\r\n const data = editor.getData();\r\n setEditorDataEN(data);\r\n }}\r\n editor={DecoupledEditor}\r\n config={{\r\n removePlugins: [\r\n \"EasyImage\",\r\n \"ImageUpload\",\r\n \"MediaEmbed\",\r\n ],\r\n }}\r\n />\r\n
    \r\n )}\r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n setShowAddressBox(\"selectMode\");\r\n return false;\r\n }}\r\n withMap={false}\r\n hideDetail={true}\r\n personContact={\r\n changeAddress\r\n ? convertAddress(changeAddress)\r\n : response?.CustomerAddress\r\n ? response?.CustomerAddress\r\n : convertAddress(customerInfo?.Address)\r\n }\r\n mode={\"view\"}\r\n required={requiredFields?.CustomerAddress}\r\n />\r\n
    \r\n\r\n {mode != \"view\" && (\r\n <>\r\n \r\n {\r\n e.preventDefault();\r\n setShowAddressBox(\"createMode\");\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n
    \r\n {mode !== \"view\" && (\r\n \r\n {\r\n e.preventDefault();\r\n setShowAddressBox(\"selectMode\");\r\n }}\r\n className=\"checkButton d-flex align-items-center justify-content-center\"\r\n >\r\n {\" \"}\r\n \r\n \r\n }\r\n btnType=\"primary\"\r\n />\r\n \r\n )}\r\n \r\n )}\r\n \r\n\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"DeliveryAddress\"\r\n textboxType=\"text\"\r\n labelText=\"DeliveryAddress\"\r\n defaultValue={\r\n response?.DeliveryAddress ? response.DeliveryAddress : \"\"\r\n }\r\n resetForm={resetForm}\r\n mode={mode}\r\n required={requiredFields?.DeliveryAddress}\r\n />\r\n
    \r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"Description\"\r\n textboxType=\"textarea\"\r\n labelText=\"Description\"\r\n minHeight={1}\r\n defaultValue={response?.Description}\r\n resetForm={resetForm}\r\n mode={mode}\r\n maxLength={900}\r\n letterCounter={true}\r\n required={requiredFields?.Description}\r\n />\r\n
    \r\n {contractConstraint?.ShowENFields && (\r\n
    \r\n {\r\n setUserChanges({ ...userChanges, ...e });\r\n }}\r\n textboxName=\"DescriptionEN\"\r\n textboxType=\"textarea\"\r\n labelText=\"DescriptionEN\"\r\n minHeight={1}\r\n defaultValue={response?.DescriptionEN}\r\n resetForm={resetForm}\r\n mode={mode}\r\n maxLength={900}\r\n letterCounter={true}\r\n required={requiredFields?.DescriptionEN}\r\n />\r\n
    \r\n )}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {mode != \"view\" && (\r\n \r\n <>\r\n \r\n {trans(\"add\")}\r\n \r\n \r\n \r\n
    \r\n )}\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {dataGridLoading ? (\r\n <>\r\n {(\r\n mode == \"view\"\r\n ? salesContractDetail.length > 0\r\n : contractConstraint.DetailDTO\r\n ) ? (\r\n <>\r\n {\r\n setSelectedObj(e);\r\n setShowForm(true);\r\n setDetailMode(\"view\");\r\n }}\r\n parentName={\"salesContractDetailList\"}\r\n startIndex={14}\r\n theadData={\r\n mode !== \"view\"\r\n ? Object.keys(contractConstraint.DetailDTO)\r\n : Object.keys(salesContractDetail[0])\r\n }\r\n tbodyData={\r\n salesContractDetail?.length > 0\r\n ? salesContractDetail\r\n : [contractConstraint.DetailDTO]\r\n }\r\n totalRecords={\r\n salesContractDetail?.length > 0 ? undefined : 0\r\n }\r\n scrollHeight={\"67vh\"}\r\n minCellWidth={80}\r\n selectedRowObjectCallback={selectedObjCallback}\r\n handleEdit={\r\n mode != \"view\"\r\n ? (e) => {\r\n setSelectedObj(e);\r\n setDetailMode(\"edit\");\r\n setShowForm(true);\r\n }\r\n : undefined\r\n }\r\n rowSelected={selectedObj}\r\n handleDelete={\r\n mode != \"view\"\r\n ? (e) => {\r\n // Toast(\r\n // trans(\"msg_deleteconfirm\"),\r\n // \"warning\",\r\n // \"alert\",\r\n // () => handleDeleteRow(e)\r\n // );\r\n Toast(\r\n trans(\"msg_deleteconfirm\"),\r\n MessageType.confirmDelete,\r\n () => handleDeleteRow(e)\r\n );\r\n }\r\n : undefined\r\n }\r\n handleView={(e) => {\r\n setSelectedObj(e);\r\n setDetailMode(\"view\");\r\n setShowForm(true);\r\n }}\r\n />\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n <>\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setReceive({\r\n ...receive,\r\n Prepayment: e.target.value.replaceAll(\",\", \"\"),\r\n });\r\n }}\r\n resetForm={resetForm}\r\n mode={mode}\r\n />\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n);\r\n","import { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { useEffect, useRef, useState } from \"react\";\r\nimport { MessageType } from \"types/enum\";\r\nimport { GetReportWithJsonData, trans } from \"utils/helpers\";\r\nimport {\r\n getContractConstraint,\r\n getDataForPrint,\r\n getSalesContractById,\r\n getSalesContractByReferenceId,\r\n postSalesContract,\r\n} from \"./api\";\r\n\r\nimport { TabBar } from \"components/Tabbar/Tabbar\";\r\nimport { GuaranteeForm } from \"./components/GuaranteeForm\";\r\nimport { MainForm } from \"./components/MainForm\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\n\r\ninterface SalesContractFormProps {\r\n onHide?: (usenavigate?) => void;\r\n relod: () => void;\r\n jobId?: any;\r\n processId?: any;\r\n referenceId?: any;\r\n mode: any;\r\n step?: any;\r\n SourceData?: any;\r\n sourceDataParam?: any;\r\n taskId?: any;\r\n Id?: any;\r\n rowObject?: any;\r\n handleShowReferenceStepper?: (referenceId: string) => void;\r\n buttonPrintObjCallBack?: any;\r\n}\r\n\r\nexport const SalesContractForm = ({\r\n mode,\r\n relod,\r\n onHide,\r\n rowObject,\r\n handleShowReferenceStepper,\r\n step,\r\n taskId,\r\n jobId,\r\n Id,\r\n sourceDataParam,\r\n SourceData,\r\n processId,\r\n referenceId,\r\n buttonPrintObjCallBack,\r\n}: SalesContractFormProps) => {\r\n const [resetForm, setResetForm] = useState(false);\r\n\r\n const [salesContractDetail, setSalesContractDetail] = useState([]);\r\n\r\n const [response, setResponse] = useState();\r\n const [loading, setLoading] = useState(false);\r\n const [userChanges, setUserChanges] = useState({});\r\n\r\n const [selectedObj, setSelectedObj] = useState(null);\r\n\r\n const [contractConstraint, setContractConstraint] = useState({});\r\n\r\n const [salesContractNo, setSalesContractNo] = useState(false);\r\n\r\n const [curentTab, setCurentTab] = useState(\"main\");\r\n const mainFormRef = useRef();\r\n const guaranteeFormRef = useRef();\r\n\r\n const [requiredFields, setRequiredFields] = useState();\r\n let IsFiscal =\r\n mode == \"create\" ? contractConstraint.IsFiscal : response?.GrandTotalPrice;\r\n\r\n let content = [\r\n {\r\n title: \"main\",\r\n body: (\r\n \r\n ),\r\n },\r\n {\r\n title: \"guarantee\",\r\n body: (\r\n \r\n ),\r\n },\r\n ];\r\n\r\n const handlesalesContractDetailFormSubmit = async () => {\r\n // event.preventDefault();\r\n // let SubTotalPrice: any = 0;\r\n // let newsalesContractDetail = JSON.parse(\r\n // JSON.stringify(salesContractDetail)\r\n // ).map((e: any) => {\r\n // SubTotalPrice = +e.TotalPrice + SubTotalPrice;\r\n // delete e.Id;\r\n // return e;\r\n // });\r\n // let data: any = {\r\n // RecipientPersonDescription: person?.Name ?? null,\r\n // RecipientPersonId: person?.Id ?? null,\r\n // CurrencyId: !contractConstraint.IsFiscal ? undefined : currency?.Id,\r\n // SalesContractNo: event.target.salesContractNo.value,\r\n // SalesContractDate: salesContractDate,\r\n // PriceListId: event.target.PriceList?.value,\r\n // PaymentMethodId: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : event.target.PaymentMethodId?.value,\r\n // CustomerId: customerInfo.Id,\r\n // CustomerName: customer.Name,\r\n // CustomerPhone: customer.SundryCustomer\r\n // ? event.target?.CustomerPhone?.value\r\n // : customer?.CustomerPhone?.Name.split(\":\")[1]\r\n // ? customer?.CustomerPhone?.Name.split(\":\")[1]\r\n // : customer?.CustomerPhone?.Name ?? null,\r\n // CustomerMobilePhone: customer.SundryCustomer\r\n // ? event.target?.CustomerMobilePhone?.value\r\n // : customer?.CustomerMobilePhone?.Name.split(\":\")[1]\r\n // ? customer?.CustomerMobilePhone?.Name.split(\":\")[1]\r\n // : customer?.CustomerMobilePhone?.Name ?? null,\r\n // CustomerAddress: event.target.Address?.value ?? null,\r\n // CustomerEconNo: event.target.CustomerEconNo?.value,\r\n // CustomerNationalCode: event.target.CustomerNationalCode?.value,\r\n // DeliveryAddress: event.target.DeliveryAddress?.value,\r\n // Description: event.target.Description?.value,\r\n // IsCurrency: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : !currency.IsDefault,\r\n // CurrencyRate: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : currency.CurrencyRate,\r\n // TotalDiscount: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : +totalRows?.TotalDiscount,\r\n // TotalPrice: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : +payment.totalprice,\r\n // TotalTax:\r\n // !contractConstraint.IsFiscal || !contractConstraint.HasTax\r\n // ? 0\r\n // : +totalRows?.TotalTax,\r\n // GrandTotalPrice: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : +totalRows?.SubTotalPrice -\r\n // +totalRows?.TotalDiscount +\r\n // +totalRows?.TotalTax,\r\n // Prepayment: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : +event.target.Prepayment?.value.replaceAll(\",\", \"\"),\r\n // SubTotalPrice: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : +totalRows?.SubTotalPrice,\r\n // salesContractDetailDTOList: newsalesContractDetail,\r\n // IsFiscal: contractConstraint.IsFiscal,\r\n // };\r\n\r\n const guaranteeData = guaranteeFormRef.current.getAllData();\r\n const mainFormData = mainFormRef.current.getAllData();\r\n const data = {\r\n ...guaranteeData,\r\n ...mainFormData,\r\n };\r\n if (guaranteeData && mainFormData) {\r\n try {\r\n await postSalesContract(data);\r\n } catch (error) {}\r\n }\r\n };\r\n\r\n // const sendDataForCalcAsync = async (newPriceList) => {\r\n // setDateLoading(false);\r\n // let SubTotalPrice: any = 0;\r\n // let newsalesContractDetail = JSON.parse(\r\n // JSON.stringify(salesContractDetail)\r\n // ).map((e: any) => {\r\n // SubTotalPrice = +e.TotalPrice + SubTotalPrice;\r\n\r\n // return e;\r\n // });\r\n\r\n // let data = {\r\n // RecipientPersonDescription: person?.Name ?? null,\r\n // RecipientPersonId: person?.Id ?? null,\r\n // CurrencyId: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : newPriceList?.CurrencyId,\r\n // SalesContractNo: contractRef.current.salesContractNo.value,\r\n // SalesContractDate: salesContractDate,\r\n // PriceListId: newPriceList\r\n // ? newPriceList.Id\r\n // : contractRef.current?.PriceList?.value,\r\n // PaymentMethodId: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : contractRef.current.PaymentMethodId?.value,\r\n // CustomerId: customerInfo?.Id,\r\n // CustomerName: customer?.Name,\r\n // CustomerPhone: customer?.CustomerPhone?.Name.split(\":\")[1]\r\n // ? customer?.CustomerPhone?.Name.split(\":\")[1]\r\n // : customer?.CustomerPhone?.Name ?? null,\r\n // CustomerMobilePhone: customer?.CustomerMobilePhone?.Name.split(\":\")[1]\r\n // ? customer?.CustomerMobilePhone?.Name.split(\":\")[1]\r\n // : customer?.CustomerMobilePhone?.Name ?? null,\r\n // CustomerAddress: contractRef.current.Address?.value ?? null,\r\n // CustomerEconNo: contractRef.current.CustomerEconNo?.value,\r\n // CustomerNationalCode: contractRef.current.CustomerNationalCode?.value,\r\n // DeliveryAddress: contractRef.current.DeliveryAddress?.value,\r\n // Description: contractRef.current.Description?.value,\r\n // IsCurrency: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : !currency.IsDefault,\r\n // CurrencyRate: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : currency.CurrencyRate,\r\n // TotalDiscount: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : +totalRows.TotalDiscount,\r\n // TotalPrice: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : +payment.totalprice,\r\n // TotalTax:\r\n // !contractConstraint.IsFiscal || !contractConstraint.HasTax\r\n // ? 0\r\n // : +totalRows.TotalTax,\r\n // GrandTotalPrice: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : +totalRows?.SubTotalPrice -\r\n // +totalRows?.TotalDiscount +\r\n // +totalRows?.TotalTax,\r\n // Prepayment: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : +contractRef.current.Prepayment?.value.replaceAll(\",\", \"\"),\r\n // SubTotalPrice: !contractConstraint.IsFiscal\r\n // ? undefined\r\n // : +totalRows?.SubTotalPrice,\r\n // salesContractDetailDTOList: newsalesContractDetail,\r\n // IsFiscal: contractConstraint.IsFiscal,\r\n // Id: response?.Id,\r\n // SalesContractStatusId: salesContractStatusId,\r\n // JobId: jobId,\r\n // JobNo: response?.JobNo,\r\n // };\r\n // try {\r\n // if (mode !== \"view\" && newPriceList.Id != priceList.Id) {\r\n // const res = await CalculateSalesContract(data);\r\n // setSalesContractNo(res.Data?.SalesContractNo);\r\n // setResponse(res.Data);\r\n // setSalesContractDetail(res.Data?.salesContractDetailDTOList);\r\n // let newItemCount = 0;\r\n // res.Data?.salesContractDetailDTOList.map((item) => {\r\n // newItemCount += item.Qty;\r\n // });\r\n\r\n // }\r\n // setPriceList(newPriceList);\r\n // } catch (error) {\r\n // setPriceList(priceList);\r\n // }\r\n // setDateLoading(true);\r\n // };\r\n\r\n // async function getDefaultPersonContactAsync(personId) {\r\n // try {\r\n // const res2 = await getPersonCustomer(personId);\r\n // setCustomer((pre) => {\r\n // return {\r\n // ...pre,\r\n // Id: res2.Data.Customer.Id,\r\n // Name: res2.Data.Customer.CustomerPersonDescription,\r\n // SundryCustomer:\r\n // res2.Data.Customer.Id == contractConstraint?.SundryCustomerId,\r\n // };\r\n // });\r\n // if (res2.Data.Customer.Id == contractConstraint?.SundryCustomerId) {\r\n // setCustomerInfo({ ...res2?.Data?.Customer });\r\n // } else {\r\n // if (mode != \"view\") {\r\n // const res = await getDefaultPersonContact(\r\n // res2?.Data?.Customer?.CustomerPersonId\r\n // );\r\n // if (res?.MessageType == MessageType.error && res2?.Data == null) {\r\n // } else setCustomerInfo({ ...res.Data, ...res2?.Data?.Customer });\r\n // } else setCustomerInfo({ ...res2?.Data?.Customer });\r\n // }\r\n // } catch (error) {}\r\n // }\r\n\r\n async function getContractConstraintAsync(withLoading = false) {\r\n if (withLoading) setLoading(false);\r\n try {\r\n const res = await getContractConstraint();\r\n setSalesContractNo(res.Data.DocNo);\r\n setContractConstraint(res.Data);\r\n setRequiredFields(JSON.parse(res.Data.RequiredFields));\r\n if (withLoading) setLoading(true);\r\n return res.Data;\r\n } catch (error) {}\r\n if (withLoading) setLoading(true);\r\n }\r\n\r\n async function getContractAsync() {\r\n setLoading(false);\r\n\r\n try {\r\n const constraint = await getContractConstraintAsync();\r\n let res: any;\r\n if (referenceId) {\r\n res = await getSalesContractByReferenceId(referenceId);\r\n // res = await getSalesOrderById(rowObject ? rowObject.Id : jobId);\r\n } else {\r\n res = await getSalesContractById(rowObject ? rowObject.Id : jobId);\r\n }\r\n\r\n if (res.Data.Id && res.Data.Id != GUID_EMPTY) {\r\n buttonPrintObjCallBack &&\r\n buttonPrintObjCallBack({\r\n Id: res.Data.Id,\r\n reportDomain: \"OfficeAutomation\",\r\n objectTag: \"SalesContractForm\",\r\n apiFunction: getDataForPrint,\r\n });\r\n }\r\n setSalesContractNo(res.Data.SalesContractNo);\r\n setResponse(res.Data);\r\n let count = 0;\r\n res.Data.SalesContractDetailDTOList.map((item) => {\r\n count += +item.Qty;\r\n });\r\n\r\n // setTotalRows({\r\n // ItemCount: count,\r\n // TotalTax: constraint.HasTax ? res.Data.TotalTax : 0,\r\n // TotalDiscount: res.Data.TotalDiscount,\r\n // SubTotalPrice: res.Data.SubTotalPrice,\r\n // });\r\n // setPayment({\r\n // totalprice: res.Data.totalprice,\r\n // Prepayment: res.Data.Prepayment,\r\n // });\r\n // setReceive({\r\n // GrandTotalPrice: res.Data.GrandTotalPrice,\r\n // Prepayment: res.Data.Prepayment,\r\n // });\r\n } catch (error) {}\r\n setLoading(true);\r\n }\r\n\r\n // const handlesetContractDetail = (newObj) => {\r\n // if (contractConstraint.AllowDuplicateItems || detailMode == \"edit\") {\r\n // setTotalRows({\r\n // ItemCount:\r\n // detailMode == \"create\"\r\n // ? RoundOutputOperation(totalRows.ItemCount + +newObj.Qty)\r\n // : RoundOutputOperation(\r\n // totalRows.ItemCount + (+newObj.Qty - +selectedObj.Qty)\r\n // ),\r\n // TotalTax: contractConstraint.HasTax\r\n // ? detailMode == \"create\"\r\n // ? totalRows.TotalTax + +newObj.Tax\r\n // : totalRows.TotalTax + (+newObj.Tax - +selectedObj.Tax)\r\n // : 0,\r\n // TotalDiscount:\r\n // detailMode == \"create\"\r\n // ? totalRows.TotalDiscount + +newObj.Discount\r\n // : totalRows.TotalDiscount +\r\n // (+newObj.Discount - +selectedObj.Discount),\r\n // SubTotalPrice:\r\n // detailMode == \"create\"\r\n // ? totalRows.SubTotalPrice + +newObj.SubTotalPrice\r\n // : totalRows.SubTotalPrice +\r\n // (+newObj.SubTotalPrice - +selectedObj.SubTotalPrice),\r\n // });\r\n // if (detailMode == \"create\") {\r\n // setSalesContractDetailHandler([...salesContractDetail, newObj]);\r\n // } else {\r\n // let newItemes = salesContractDetail.map((item: any) => {\r\n // if (item.Id == newObj.Id) {\r\n // return newObj;\r\n // } else return item;\r\n // });\r\n // setSalesContractDetailHandler(newItemes);\r\n // }\r\n // // Toast(\"msg_saveddatasuccessfully\", \"success\");\r\n // Toast(\"msg_saveddatasuccessfully\", MessageType.success);\r\n\r\n // setDataChange(true);\r\n // return true;\r\n // } else {\r\n // let Dupli = salesContractDetail.find(\r\n // (e: any) => e.ItemId == newObj.ItemId\r\n // );\r\n // if (!Dupli || salesContractDetail.length == 0) {\r\n // setTotalRows({\r\n // ItemCount:\r\n // detailMode == \"create\"\r\n // ? RoundOutputOperation(totalRows.ItemCount + +newObj.Qty)\r\n // : RoundOutputOperation(\r\n // totalRows.ItemCount + (+newObj.Qty - +selectedObj.Qty)\r\n // ),\r\n // TotalTax: contractConstraint.HasTax\r\n // ? detailMode == \"create\"\r\n // ? totalRows.TotalTax + +newObj.Tax\r\n // : totalRows.TotalTax + (+newObj.Tax - +selectedObj.Tax)\r\n // : 0,\r\n // TotalDiscount:\r\n // detailMode == \"create\"\r\n // ? totalRows.TotalDiscount + +newObj.Discount\r\n // : totalRows.TotalDiscount +\r\n // (+newObj.Discount - +selectedObj.Discount),\r\n // SubTotalPrice:\r\n // detailMode == \"create\"\r\n // ? totalRows.SubTotalPrice + +newObj.SubTotalPrice\r\n // : totalRows.SubTotalPrice +\r\n // (+newObj.SubTotalPrice - +selectedObj.SubTotalPrice),\r\n // });\r\n // if (detailMode == \"create\") {\r\n // setSalesContractDetailHandler([...salesContractDetail, newObj]);\r\n // } else {\r\n // let newItemes = salesContractDetail.map((item: any) => {\r\n // if (item.Id == newObj.Id) {\r\n // return newObj;\r\n // } else return item;\r\n // });\r\n // setSalesContractDetailHandler(newItemes);\r\n // }\r\n // // Toast(\"msg_saveddatasuccessfully\", \"success\");\r\n // Toast(\"msg_saveddatasuccessfully\", MessageType.success);\r\n\r\n // setDataChange(true);\r\n // return true;\r\n // } else {\r\n // // Toast(\"msg_duplicateitems\", \"error\");\r\n // Toast(\"msg_duplicateitems\", MessageType.error);\r\n\r\n // return false;\r\n // }\r\n // }\r\n // };\r\n const selectedObjCallback = (obj, index) => {\r\n setSelectedObj(obj);\r\n };\r\n\r\n function cancel() {\r\n if (sessionStorage.getItem(\"changingforms\") + \"\" == \"true\") {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"alertWithoutClose\", () => {\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setUserChanges({});\r\n // onHide && onHide();\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges({});\r\n onHide && onHide();\r\n });\r\n } else {\r\n onHide && onHide();\r\n }\r\n }\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n\r\n // const handleOpenDetailForm = () => {\r\n // if (priceList || !IsFiscal) {\r\n // if (customerInfo?.CustomerPersonId || customer?.SundryCustomer) {\r\n // setDetailMode(\"create\");\r\n // setShowForm(true);\r\n // } else {\r\n // // Toast(\"msg_customernotselected\", \"error\");\r\n // Toast(\"msg_customernotselected\", MessageType.error);\r\n // }\r\n // } else {\r\n // Toast(\"msg_choosepricelist\", MessageType.error);\r\n // // Toast(\"msg_choosepricelist\", \"error\");\r\n // }\r\n // };\r\n\r\n\r\n\r\n useEffect(() => {\r\n if (Object.values(userChanges).filter((item) => item != null).length > 0) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n } else {\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (mode != \"create\") {\r\n getContractAsync();\r\n } else {\r\n getContractConstraintAsync(true);\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (resetForm) {\r\n setResetForm(false);\r\n }\r\n }, [resetForm]);\r\n\r\n // const kydown = (event) => {\r\n // if (event.key == \"Insert\") {\r\n // event.stopPropagation();\r\n // event.preventDefault();\r\n // handleOpenDetailForm();\r\n // }\r\n // };\r\n // useEffect(() => {\r\n // document.addEventListener(\"keydown\", kydown, true);\r\n // return () => {\r\n // document.removeEventListener(\"keydown\", kydown, true);\r\n // };\r\n // }, [customer, contractConstraint, priceList]);\r\n const tabChangeHandle = (tab) => {\r\n setCurentTab(tab);\r\n };\r\n return (\r\n <>\r\n {loading ? (\r\n
    \r\n \r\n\r\n
    \r\n {mode != \"view\" ? (\r\n
    \r\n {\r\n handlesalesContractDetailFormSubmit();\r\n }}\r\n value=\"save\"\r\n btnType=\"submit\"\r\n />\r\n {/* {handleShowReferenceStepper && (step == 1 || mode == \"create\") && (\r\n setShowReferenceStepper(true)}\r\n />\r\n )} */}\r\n {!jobId && (\r\n {\r\n cancel();\r\n }}\r\n />\r\n )}\r\n
    \r\n ) : (\r\n
    \r\n {!jobId && (\r\n {\r\n cancel();\r\n }}\r\n />\r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { EventCalendar } from \"components/EventCalendar/EventCalendar\";\r\nimport { CustomerRequests } from \"pages/AfterSales/CustomerRequests\";\r\nimport { DeviceDeliveries } from \"pages/AfterSales/DeviceDeliveries/DeviceDeliveries\";\r\nimport { CustomerGeneralRequestClassificationSetting } from \"pages/AfterSales/Settings/CustomerGeneralRequestClassification/CustomerGeneralRequestClassification\";\r\nimport { DevicePropertiesSetting } from \"pages/AfterSales/Settings/DeviceProperties/DeviceProperties\";\r\nimport { PaymentCoverageTypeSetting } from \"pages/AfterSales/Settings/PaymentCoverageTypeSetting/PaymentCoverageTypeSetting\";\r\nimport { ServiceRequestClassificationsSetting } from \"pages/AfterSales/Settings/ServiceRequestClassifications/ServiceRequestClassifications\";\r\nimport { DashboardPage } from \"pages/DashboardPage/DashboardPage\";\r\nimport { NotFoundPage } from \"pages/NotFoundPage/NotFoundPage\";\r\nimport { GroupPositionList } from \"pages/OfficeAutomation/BaseInformation/GroupPositionPage/GroupPositionList/GroupPositionList\";\r\nimport { OrganizationalStructure } from \"pages/OfficeAutomation/BaseInformation/OrganizationaPage/OrganizationalStructure\";\r\nimport { PersonalArchiveStructure } from \"pages/OfficeAutomation/BaseInformation/PersonalArchive/PersonalArchiveStructure/PersonalArchiveStructure\";\r\nimport { PersonalArchiveTree } from \"pages/OfficeAutomation/BaseInformation/PersonalArchive/PersonalArchiveTree/PersonalArchiveTree\";\r\nimport { PeoplePage } from \"pages/OfficeAutomation/BaseInformation/PeoplePage/PeoplePage\";\r\n\r\nimport { UnitSetting } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/Unit/Unit\";\r\nimport { BarcodesSetting } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/barcodes/barcodes\";\r\nimport { ItemTree } from \"pages/InventoryAndSales/Inventory/ItemTree/ItemTree\";\r\nimport { WarehouseStructure } from \"pages/InventoryAndSales/Inventory/Warehouse/WarehouseStructure/WarehouseStructure\";\r\nimport { PeymentMethod } from \"pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/PeymentMethod/PeymentMethod\";\r\nimport { SalesDocsClassification } from \"pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesDocsClassification/DocsClassification\";\r\nimport { PriceList } from \"pages/InventoryAndSales/Sales/PriceList/PriceList\";\r\nimport { CartablePage } from \"pages/OfficeAutomation/Cartable/CartablePage\";\r\nimport { Chat } from \"pages/OfficeAutomation/Chat/Chat\";\r\nimport { PersonalPlaning } from \"pages/OfficeAutomation/Personal/PersonalPlaning/PersonalPlaning\";\r\nimport { PersonalCalendar } from \"pages/OfficeAutomation/Personal/personalCalendar/PersonalCalendar\";\r\nimport { DailyLeaveClassification } from \"pages/OfficeAutomation/Settings/DailyLeaveClassification/DailyLeaveClassification\";\r\nimport { GeneralRequestSetting } from \"pages/OfficeAutomation/Settings/GeneralRequestClassifications/GeneralRequestClassifications\";\r\nimport { PersonTitlesPage } from \"pages/OfficeAutomation/Settings/PersonTitles/PersonTitles\";\r\nimport { PostLevelPage } from \"pages/OfficeAutomation/Settings/PostLevelPage/PostLevelPage\";\r\nimport { ProcessSetting } from \"pages/OfficeAutomation/Settings/ProcessSetting/ProcessSetting\";\r\nimport { ReferenceSubjectSetting } from \"pages/OfficeAutomation/Settings/ReferenceSubjectSetting/ReferenceSubjectSetting\";\r\nimport { SendMethodSetting } from \"pages/OfficeAutomation/Settings/SendMethodSetting/SendMethodSetting\";\r\nimport { ArchiveStructure } from \"pages/Secretariats/Archive/ArchiveStructure/ArchiveStructure\";\r\nimport { ArchiveTree } from \"pages/Secretariats/Archive/ArchiveTree/ArchiveTree\";\r\nimport { LettersPage } from \"pages/Secretariats/LettersPage/LettersPage\";\r\nimport { DocumnetArchiveRequestClassificationSetting } from \"pages/Secretariats/Settings/DocumnetArchiveRequestClassification/DocumnetArchiveRequestClassification\";\r\nimport { IndicatorPatterns } from \"pages/Secretariats/Settings/IndicatorPatterns/IndicatorPatterns\";\r\nimport { LetterSubjectTypeSetting } from \"pages/Secretariats/Settings/LetterSubjectTypeSetting/LetterSubjectTypeSetting\";\r\nimport { Secretariats } from \"pages/Secretariats/secretariats/secretariats\";\r\nimport { BranchForm } from \"pages/SystemManagement/BranchForm/BranchForm\";\r\nimport { ChatSettingForm } from \"pages/SystemManagement/ChatSettingForm/ChatSettingForm\";\r\nimport { JobsList } from \"pages/SystemManagement/Jobs/Jobs\";\r\nimport { PeriodForm } from \"pages/SystemManagement/PeriodForm/PeriodForm\";\r\nimport { OrganizationalAccesses } from \"pages/SystemManagement/Settings/OrganizationalAccesses/OrganizationalAccesses\";\r\nimport { UserList } from \"pages/SystemManagement/Settings/Users/components/UserList/components/UserList\";\r\nimport { UnAuthorizedPage } from \"pages/UnAuthorizedPage/UnAuthorizedPage\";\r\nimport { CartableType } from \"types/enum\";\r\n\r\nimport { WarehouseItem } from \"pages/InventoryAndSales/Inventory/WarehouseItem/WarehouseItem\";\r\nimport { BusinessActivityType } from \"pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/BusinessActivityType/BusinessActivityType\";\r\nimport { CustomerClassification } from \"pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/CustomerClassification/CustomerClassification\";\r\nimport { GeographicalClassification } from \"pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/GeographicalClassification/GeographicalClassification\";\r\nimport { SalesOrderStatus } from \"pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesOrderStatus/SalesOrderStatus\";\r\nimport { MessageSetting } from \"pages/SystemManagement/Settings/MessageSetting/MessageSetting\";\r\n\r\nimport { CustomerPositionList } from \"pages/AfterSales/CustomerPositionList/CustomerPositionList\";\r\nimport { ECommercePage } from \"pages/ClientPortal/ECommerce/ECommerce\";\r\nimport { ItemDetailPage } from \"pages/ClientPortal/ECommerce/ItemDetail/ItemDetail\";\r\nimport { CartPage } from \"pages/ClientPortal/ECommerce/components/Cart/Cart\";\r\nimport { ECommerceDEMO } from \"pages/ClientPortal/ECommerceDEMO/ECommerceDEMO\";\r\nimport { CartPage2 } from \"pages/ClientPortal/ECommerceDEMO/components/Cart/Cart\";\r\nimport { ItemDetailPage2 } from \"pages/ClientPortal/ECommerceDEMO/components/ItemDetail/ItemDetail\";\r\nimport { MyOwnOrdersPage } from \"pages/ClientPortal/MyOwnOrders/MyOwnOrdersPage\";\r\nimport { MyOwnRequestsPage } from \"pages/ClientPortal/MyOwnRequests/MyOwnRequestsPage\";\r\nimport { InventoryDocsClassification } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/InventoryDocsClassification/DocsClassification\";\r\nimport { InventorySystemSetting } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/InventorySystemSetting/InventorySystemSetting\";\r\nimport { ItemMainProperty } from \"pages/InventoryAndSales/Inventory/BaseDefinitionAndSetting/ItemMainProperty/ItemMainProperty\";\r\nimport { ItemGroups } from \"pages/InventoryAndSales/Inventory/ItemGroups/ItemGroups\";\r\nimport { ItemGroupCodeSettingForm } from \"pages/InventoryAndSales/Inventory/ItemTree/ItemGroupCodeSetting\";\r\nimport { Currency } from \"pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/Currency/Currency\";\r\nimport { Customers } from \"pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/Customers/Customers\";\r\nimport { SalesInvoiceStatus } from \"pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesInvoiceStatus/SalesInvoiceStatus\";\r\nimport { SalesPreInvoiceStatus } from \"pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesPreInvoiceStatus/SalesPreInvoiceStatus\";\r\nimport { SalesSystemSetting } from \"pages/InventoryAndSales/Sales/BaseDefinitionAndSetting/SalesSystemSetting/SalesSystemSetting\";\r\nimport { SalesInvoices } from \"pages/InventoryAndSales/Sales/SalesInvoice/SalesInvoice\";\r\nimport { SalesOrders } from \"pages/InventoryAndSales/Sales/SalesOrder/SalesOrder\";\r\nimport { SalesPreInvoices } from \"pages/InventoryAndSales/Sales/SalesPreInvoice/SalesPreInvoice\";\r\nimport { SalesReturnInvoices } from \"pages/InventoryAndSales/Sales/SalesReturnInvoice/SalesReturnInvoice\";\r\nimport { Meeting } from \"pages/MeetingManagement/Meeting/Meeting\";\r\nimport { MeetingClassification } from \"pages/MeetingManagement/Settings/MeetingClassification/MeetingClassification\";\r\nimport { MeetingPlace } from \"pages/MeetingManagement/Settings/MeetingPlace/MeetingPlace\";\r\nimport { MyRequests } from \"pages/OfficeAutomation/Cartable/MyRequests/MyRequests\";\r\nimport { Boards } from \"pages/OfficeAutomation/Features/BulletinBoard/Boards/Boards\";\r\nimport { CalendarEvents } from \"pages/OfficeAutomation/Features/Calendar/Events/CalendarEvents\";\r\nimport { OrganizationEvents } from \"pages/OfficeAutomation/Features/Calendar/OrganizationEvents/OrganizationEvents\";\r\nimport { SharingCenters } from \"pages/OfficeAutomation/Features/SharingCenterArticle/SharingCenteres/SharingCenteres\";\r\nimport { FormBuilder } from \"pages/OfficeAutomation/FormBuilder/FormBuilder\";\r\nimport { DynamicFormsPage } from \"pages/OfficeAutomation/FormBuilder/components/DynamicFormsPage/DynamicFormsPage\";\r\nimport { City } from \"pages/OfficeAutomation/Settings/City/City\";\r\nimport { Province } from \"pages/OfficeAutomation/Settings/Province/Province\";\r\nimport { SharingCenterArticleSetting } from \"pages/OfficeAutomation/Settings/SharingCenterArticleClassification/SharingCenterArticleClassification\";\r\nimport { PersonnelCartable } from \"pages/SystemManagement/PersonnelCartable/PersonnelCartable\";\r\nimport { Reports } from \"pages/SystemManagement/Reports/Reports\";\r\nimport { BankAccountType } from \"pages/TreasuryAndAccounting/Treasury/BaseDefinitionAndSetting/BankAccountType/BankAccountType\";\r\nimport { BankPOS } from \"pages/TreasuryAndAccounting/Treasury/BaseDefinitionAndSetting/BankPOS/BankPOS\";\r\nimport { DocsClassification } from \"pages/TreasuryAndAccounting/Treasury/BaseDefinitionAndSetting/DocsClassification/DocsClassification\";\r\nimport { Bank } from \"pages/TreasuryAndAccounting/Treasury/BaseInformation/Bank/Bank\";\r\nimport { BankAccounts } from \"pages/TreasuryAndAccounting/Treasury/BaseInformation/BankAccounts/BankAccounts\";\r\nimport { CashAccount } from \"pages/TreasuryAndAccounting/Treasury/BaseInformation/CashAccount/CashAccount\";\r\nimport { TreasurySubject } from \"pages/TreasuryAndAccounting/Treasury/BaseInformation/TreasurySubject/TreasurySubject\";\r\nimport { Receipt } from \"pages/TreasuryAndAccounting/Treasury/Receipt/Receipt\";\r\nimport { MyOwnInvoice } from \"pages/ClientPortal/MyOwnInvoice/MyOwnInvoice\";\r\nimport { WarehouseIo } from \"pages/InventoryAndSales/Inventory/WarehouseIO/WarehouseIo\";\r\nimport { ReportsDatabasesForm } from \"pages/SystemManagement/ReportsDatabases/ReportsDatabases\";\r\nimport { InventoryRequests } from \"pages/InventoryAndSales/Inventory/InventoryRequests/InventoryRequests\";\r\nimport { SalesRequests } from \"pages/InventoryAndSales/Sales/SalesRequest/SalesRequest\";\r\nimport { SalesContract } from \"pages/InventoryAndSales/Sales/SalesContract/SalesContract\";\r\n\r\nexport const ROUTES = {\r\n OfficeAutomation: {\r\n personalArchive: {\r\n title: \"personalArchive\",\r\n route: \"/personal-archive\",\r\n routes: {\r\n archives: {\r\n title: \"personalArchive\",\r\n route: \"/personal-archive/personal-archives\",\r\n component: PersonalArchiveTree,\r\n },\r\n personalArchiveStructure: {\r\n title: \"personalArchiveStructure\",\r\n route: \"/personal-archive/personal-archive-structure\",\r\n component: PersonalArchiveStructure,\r\n },\r\n },\r\n },\r\n\r\n FormBuilder: {\r\n title: \"formBuilder\",\r\n route: \"/form-builder\",\r\n component: FormBuilder,\r\n },\r\n\r\n DynamicFormsPage: {\r\n title: \"DynamicFormsPage\",\r\n route: \"/dynamic-forms\",\r\n component: DynamicFormsPage,\r\n },\r\n Settings: {\r\n title: \"Settings\",\r\n route: \"/settings\",\r\n routes: {\r\n province: {\r\n title: \"province\",\r\n route: \"/settings/province\",\r\n component: Province,\r\n },\r\n city: {\r\n title: \"city\",\r\n route: \"/settings/city\",\r\n component: City,\r\n },\r\n dailyLeaveRequestClassificationSetting: {\r\n title: \"dailyLeave\",\r\n route: \"/settings/daily-leave-request-classification-setting\",\r\n component: DailyLeaveClassification,\r\n },\r\n\r\n generalRequestClassificationSetting: {\r\n title: \"generalRequestClassification\",\r\n route: \"/settings/general-request-classification-setting\",\r\n component: GeneralRequestSetting,\r\n },\r\n sharingCenterClassificationSetting: {\r\n title: \"sharingCenterClassificationSetting\",\r\n route: \"/settings/sharing-center-classification-setting\",\r\n component: SharingCenterArticleSetting,\r\n },\r\n postLevelSetting: {\r\n title: \"PostLevel\",\r\n route: \"/settings/post-level-setting\",\r\n component: PostLevelPage,\r\n },\r\n personTitles: {\r\n title: \"personTitles\",\r\n route: \"/settings/person-titles\",\r\n component: PersonTitlesPage,\r\n },\r\n referenceSubjectSetting: {\r\n title: \"ReferenceSubject\",\r\n route: \"/settings/reference-subject-setting\",\r\n component: ReferenceSubjectSetting,\r\n },\r\n jobSendMethod: {\r\n title: \"SendMethod\",\r\n route: \"/settings/send-method\",\r\n component: SendMethodSetting,\r\n },\r\n },\r\n },\r\n PersonalPlaning: {\r\n title: \"PersonalPlaning\",\r\n route: \"/personal-planing\",\r\n routes: {\r\n personalTasks: {\r\n title: \"personalTasks\",\r\n route: \"/personal-planing/personal-tasks\",\r\n component: PersonalPlaning,\r\n },\r\n personalCalendar: {\r\n title: \"personalCalendar\",\r\n route: \"/personal-planing/personal-calendar\",\r\n component: PersonalCalendar,\r\n },\r\n },\r\n },\r\n BaseInformation: {\r\n title: \"BaseInformations\",\r\n route: \"/base-information\",\r\n routes: {\r\n persons: {\r\n title: \"People\",\r\n route: \"/base-information/people\",\r\n component: PeoplePage,\r\n },\r\n organizationalStructure: {\r\n title: \"OrganizationalStructure\",\r\n route: \"/base-information/organizational-structure\",\r\n component: OrganizationalStructure,\r\n },\r\n positions: {\r\n title: \"groupPositions\",\r\n route: \"/base-information/group-positions\",\r\n component: GroupPositionList,\r\n },\r\n },\r\n },\r\n\r\n features: {\r\n title: \"features\",\r\n route: \"/features\",\r\n //component: Calendar,\r\n routes: {\r\n calendarEvents: {\r\n title: \"CalendarEvents\",\r\n route: \"/features/calendar-events\",\r\n component: CalendarEvents,\r\n },\r\n organizationEvents: {\r\n title: \"OrganizationEvents\",\r\n route: \"/features/organization-events\",\r\n component: OrganizationEvents,\r\n },\r\n organizationCalendar: {\r\n title: \"OrganizationCalendar\",\r\n route: \"/features/organization-calendar\",\r\n component: EventCalendar,\r\n // component: MeetingCalendar,\r\n },\r\n bulletinBoard: {\r\n title: \"bulletinBoard\",\r\n route: \"/features/bulletin-board\",\r\n component: Boards,\r\n },\r\n SharingCenter: {\r\n title: \"sharingcenterarticle\",\r\n route: \"/features/sharing-center\",\r\n component: SharingCenters,\r\n },\r\n },\r\n },\r\n cartable: {\r\n title: \"Cartable\",\r\n route: \"/cartable\",\r\n //component:\r\n routes: {\r\n current: {\r\n title: \"Current\",\r\n route: \"/cartable/current\",\r\n type: CartableType.Current, //CartableType[0]\r\n component: CartablePage,\r\n },\r\n referred: {\r\n title: \"Referred\",\r\n route: \"/cartable/referred\",\r\n type: CartableType.Referred,\r\n component: CartablePage,\r\n },\r\n draft: {\r\n title: \"Draft\",\r\n route: \"/cartable/draft\",\r\n type: CartableType.Draft,\r\n component: CartablePage,\r\n },\r\n finished: {\r\n title: \"Finished\",\r\n route: \"/cartable/finished\",\r\n type: CartableType.Finished,\r\n component: CartablePage,\r\n },\r\n followUp: {\r\n title: \"FollowUp\",\r\n route: \"/cartable/follow-up\",\r\n type: CartableType.Followup,\r\n component: CartablePage,\r\n },\r\n onGoing: {\r\n title: \"Ongoing\",\r\n route: \"/cartable/ongoing\",\r\n type: CartableType.Ongoing,\r\n component: CartablePage,\r\n },\r\n advancedSearch: {\r\n title: \"AdvancedSearch\",\r\n route: \"/cartable/advanced-search\",\r\n type: \"AdvancedSearch\",\r\n component: CartablePage,\r\n },\r\n personnelCartable: {\r\n title: \"personnelCartable\",\r\n route: \"/cartable/personnel-cartable\",\r\n component: PersonnelCartable,\r\n },\r\n myRequests: {\r\n title: \"myRequests\",\r\n route: \"/cartable/my-requests\",\r\n component: MyRequests,\r\n },\r\n },\r\n },\r\n },\r\n SecretariatAndArchive: {\r\n secretariat: {\r\n title: \"Secretariat\",\r\n route: \"/secretariat\",\r\n //component:\r\n routes: {\r\n secretariatManagement: {\r\n title: \"secretariatManagement\",\r\n route: \"/secretariat/secretariat-management\",\r\n component: Secretariats,\r\n },\r\n letter: {\r\n title: \"Letter\",\r\n route: \"/secretariat/letters\",\r\n component: LettersPage,\r\n },\r\n },\r\n },\r\n archive: {\r\n title: \"Archive\",\r\n route: \"/archive\",\r\n routes: {\r\n archives: {\r\n title: \"currentArchive\",\r\n route: \"/archive/current-archive\",\r\n component: ArchiveTree,\r\n },\r\n archiveStructure: {\r\n title: \"archiveStructure\",\r\n route: \"/archive/archive-structure\",\r\n component: ArchiveStructure,\r\n //WarehouseStructure\r\n },\r\n },\r\n },\r\n Settings: {\r\n title: \"Settings\",\r\n route: \"/settings\",\r\n //component:\r\n routes: {\r\n indicatorPatterns: {\r\n title: \"indicatorPatterns\",\r\n route: \"/settings/letter-number-patterns\",\r\n component: IndicatorPatterns,\r\n },\r\n letterSubjectTypeSetting: {\r\n title: \"lettersubject\",\r\n route: \"/settings/letter-subject\",\r\n component: LetterSubjectTypeSetting,\r\n },\r\n documnetArchiveRequestClassification: {\r\n title: \"documentarchiverequestclassification\",\r\n route: \"/settings/documnet-archive-request-classification-setting\",\r\n component: DocumnetArchiveRequestClassificationSetting,\r\n },\r\n },\r\n },\r\n },\r\n MeetingManagement: {\r\n meeting: {\r\n title: \"meetings\",\r\n route: \"/meetings\",\r\n component: Meeting,\r\n },\r\n settings: {\r\n title: \"settings\",\r\n route: \"/settings\",\r\n //component:\r\n routes: {\r\n meetingClassification: {\r\n title: \"meetingClassification\",\r\n route: \"/settings/meeting-classification\",\r\n component: MeetingClassification,\r\n },\r\n meetingPlaces: {\r\n title: \"meetingPlaces\",\r\n route: \"/settings/meeting-places\",\r\n component: MeetingPlace,\r\n },\r\n },\r\n },\r\n },\r\n InventoryManagement: {\r\n inventoryRequests:{\r\n title: \"inventoryRequests\",\r\n route: \"/inventory-requests\",\r\n component: InventoryRequests,\r\n },\r\n BaseInformation: {\r\n title: \"BaseInformations\",\r\n route: \"/base-information\",\r\n //component:\r\n routes: {\r\n measurementUnits: {\r\n title: \"measurementUnits\",\r\n route: \"/base-information/measurement-units\",\r\n component: UnitSetting,\r\n },\r\n warehouses: {\r\n title: \"warehouses\",\r\n route: \"/base-information/warehouses\",\r\n component: WarehouseStructure,\r\n },\r\n items: {\r\n title: \"items\",\r\n route: \"/base-information/items\",\r\n\r\n component: ItemTree,\r\n },\r\n ItemGroups: {\r\n title: \"ItemGroup\",\r\n route: \"/base-information/item-groups\",\r\n component: ItemGroups,\r\n },\r\n\r\n WarehouseItem: {\r\n title: \"warehouseitems\",\r\n route: \"/base-information/warehouse-items\",\r\n\r\n component: WarehouseItem,\r\n },\r\n },\r\n },\r\n settings: {\r\n title: \"settings\",\r\n route: \"/settings\",\r\n //component:\r\n routes: {\r\n barcodes: {\r\n title: \"barcodes\",\r\n route: \"/settings/barcodes\",\r\n component: BarcodesSetting,\r\n },\r\n ItemMainProperty: {\r\n title: \"itemproperties\",\r\n route: \"/settings/item-main-properties\",\r\n component: ItemMainProperty,\r\n },\r\n ItemGroupCodeFormat: {\r\n title: \"ItemGroupCodeFormat\",\r\n route: \"/settings/item-group-code-format\",\r\n component: ItemGroupCodeSettingForm,\r\n },\r\n InventoryDocsClassification: {\r\n title: \"InventoryDocsClassification\",\r\n route: \"/settings/inventory-document-classification-setting\",\r\n component: InventoryDocsClassification,\r\n },\r\n },\r\n },\r\n operations: {\r\n title: \"operations\",\r\n route: \"/operations\",\r\n //component:\r\n routes: {\r\n warehouseIo: {\r\n title: \"warehouseIo\",\r\n route: \"/operations/warehouseio\",\r\n component:WarehouseIo,\r\n },}}\r\n },\r\n Sales: {\r\n SalesRequest:{\r\n title: \"SalesRequests\",\r\n route: \"/sales-requests\",\r\n component: SalesRequests,\r\n },\r\n BaseInformation: {\r\n title: \"BaseInformations\",\r\n route: \"/base-information\",\r\n //component:\r\n routes: {\r\n pricelist: {\r\n title: \"pricelist\",\r\n route: \"/base-information/price-lists\",\r\n component: PriceList,\r\n },\r\n currency: {\r\n title: \"currency\",\r\n route: \"/base-information/currencies\",\r\n component: Currency,\r\n },\r\n customers: {\r\n title: \"customers\",\r\n route: \"/base-information/customers\",\r\n component: Customers,\r\n //SalesPreInvoices,\r\n // SalesInvoices,\r\n },\r\n },\r\n },\r\n operations: {\r\n title: \"operations\",\r\n route: \"/operations\",\r\n //component:\r\n routes: {\r\n order: {\r\n title: \"SalesOrder\",\r\n route: \"/operations/order\",\r\n component:SalesOrders,\r\n },\r\n salesPreinvoice: {\r\n title: \"SalesPreinvoice\",\r\n route: \"/operations/sales-preinvoice\",\r\n component: SalesPreInvoices,\r\n },\r\n salesInvoice: {\r\n title: \"Invoice\",\r\n route: \"/operations/sales-invoice\",\r\n component: SalesInvoices,\r\n },\r\n salesReturnInvoice: {\r\n title: \"salesReturnInvoice\",\r\n route: \"/operations/sales-return-invoice\",\r\n component: SalesReturnInvoices,\r\n },\r\n salesContract:{\r\n title: \"salesContract\",\r\n route: \"/operations/sales-contract\",\r\n component: SalesContract,\r\n },\r\n },\r\n },\r\n settings: {\r\n title: \"settings\",\r\n route: \"/settings\",\r\n //component:\r\n routes: {\r\n customerclassification: {\r\n title: \"customerclassification\",\r\n route: \"/settings/customer-classification-setting\",\r\n component: CustomerClassification,\r\n },\r\n businessActivityTypes: {\r\n title: \"businessactivitytype\",\r\n route: \"/settings/business-activity-types\",\r\n component: BusinessActivityType,\r\n },\r\n geographicalClassification: {\r\n title: \"geographicalClassification\",\r\n route: \"/settings/geographical-classification-setting\",\r\n component: GeographicalClassification,\r\n },\r\n salesOrderStatus: {\r\n title: \"salesOrderStatus\",\r\n route: \"/settings/sales-order-status\",\r\n component: SalesOrderStatus,\r\n },\r\n salesInvoiceStatus: {\r\n title: \"salesinvoicestatus\",\r\n route: \"/settings/sales-invoice-status\",\r\n component: SalesInvoiceStatus,\r\n },\r\n salesPreInvoiceStatus: {\r\n title: \"salespreinvoicestatus\",\r\n route: \"/settings/sales-preinvoice-status\",\r\n component: SalesPreInvoiceStatus,\r\n },\r\n salesSystemSettings: {\r\n title: \"systemsettings\",\r\n route: \"/settings/sales-system-settings\",\r\n component: SalesSystemSetting,\r\n },\r\n paymentMethods: {\r\n title: \"paymentMethods\",\r\n route: \"/settings/payment-methods\",\r\n component: PeymentMethod,\r\n },\r\n inventorySystemSettings: {\r\n title: \"systemsettings\",\r\n route: \"/settings/inventory-system-settings\",\r\n component: InventorySystemSetting,\r\n },\r\n\r\n salesDocumentClassification: {\r\n title: \"salesDocumentClassification\",\r\n route: \"/settings/sales-document-classification-setting\",\r\n component: SalesDocsClassification,\r\n },\r\n },\r\n },\r\n },\r\n ManagementReports: {},\r\n SystemManagement: {\r\n users: {\r\n title: \"usersAndAccesses\",\r\n route: \"/users-and-accesses\",\r\n component: UserList,\r\n },\r\n accessesInOrganizationalStructure: {\r\n title: \"accessesInOrganizationalStructure\",\r\n route: \"/accesses-in-organizational-structure\",\r\n component: OrganizationalAccesses,\r\n },\r\n processes: {\r\n title: \"processes\",\r\n route: \"/processes\",\r\n //component:\r\n routes: {\r\n processSetting: {\r\n title: \"organizationProcesses\",\r\n route: \"/processes/organization-processes\",\r\n component: ProcessSetting,\r\n },\r\n },\r\n },\r\n Jobs: {\r\n title: \"jobs\",\r\n route: \"/jobs\",\r\n component: JobsList,\r\n },\r\n Reports: {\r\n title: \"reports\",\r\n route: \"/reports\",\r\n component: Reports,\r\n },\r\n reportsDatabases: {\r\n title: \"reportsDatabases\",\r\n route: \"/reports-databases\",\r\n component: ReportsDatabasesForm,\r\n },\r\n\r\n settings: {\r\n title: \"settings\",\r\n route: \"/settings\",\r\n //component:\r\n routes: {\r\n messageSettings: {\r\n title: \"messageSettings\",\r\n route: \"/settings/message-settings\",\r\n component: MessageSetting,\r\n },\r\n branches: {\r\n title: \"branch\",\r\n route: \"/settings/branches\",\r\n component: BranchForm,\r\n },\r\n periods: {\r\n title: \"period\",\r\n route: \"/settings/periods\",\r\n component: PeriodForm,\r\n },\r\n chatSettings: {\r\n title: \"chatSettings\",\r\n route: \"/settings/chat-settings\",\r\n component: ChatSettingForm,\r\n },\r\n },\r\n },\r\n },\r\n AfterSalesServices: {\r\n customers: {\r\n title: \"customers\",\r\n route: \"/customer-list\",\r\n component: CustomerPositionList,\r\n },\r\n customerRequests: {\r\n title: \"customerRequests\",\r\n route: \"/customer-requests\",\r\n component: CustomerRequests,\r\n },\r\n DeviceDeliveries: {\r\n title: \"deviceDeliveries\",\r\n route: \"/device-deliveries\",\r\n component: DeviceDeliveries,\r\n },\r\n Settings: {\r\n title: \"Settings\",\r\n route: \"/settings\",\r\n //component:\r\n routes: {\r\n ServiceRequestClassificationsSetting: {\r\n title: \"CustomerServicerequestClassifications\",\r\n route: \"/settings/customer-service-request-classification-setting\",\r\n component: ServiceRequestClassificationsSetting,\r\n },\r\n CustomerGeneralRequestClassification: {\r\n title: \"CustomerGeneralRequestClassifications\",\r\n route: \"/settings/customer-general-request-classification-setting\",\r\n component: CustomerGeneralRequestClassificationSetting,\r\n },\r\n deviceProperties: {\r\n title: \"deviceProperties\",\r\n route: \"/settings/device-properties\",\r\n component: DevicePropertiesSetting,\r\n },\r\n\r\n PaymentCoverageTypeSetting: {\r\n title: \"PaymentCoverageTypeSetting\",\r\n route: \"/settings/payment-coverage-type\",\r\n component: PaymentCoverageTypeSetting,\r\n },\r\n },\r\n },\r\n },\r\n ClientPortal: {\r\n myOwnRequests: {\r\n title: \"myOwnRequests\",\r\n route: \"/my-own-requests\",\r\n component: MyOwnRequestsPage,\r\n },\r\n MyOwnOrdersPage: {\r\n title: \"MyOwnOrders\",\r\n route: \"/my-own-orders\",\r\n component: MyOwnOrdersPage,\r\n },\r\n myOwnInvoices: {\r\n title: \"myOwnInvoices\",\r\n route: \"/my-own-invoices\",\r\n component: MyOwnInvoice,\r\n },\r\n },\r\n TadbirChat: {\r\n message: {\r\n title: \"Message\",\r\n route: \"/message\",\r\n component: Chat,\r\n },\r\n },\r\n\r\n noneApplication: {\r\n dashboard: {\r\n title: \"dashboard\",\r\n route: \"/\",\r\n component: DashboardPage,\r\n auth: true,\r\n },\r\n ECommerce: {\r\n title: \"ECommerce\",\r\n route: \"/e-commerce\",\r\n component: ECommercePage,\r\n routes: {\r\n Items: {\r\n title: \"ItemList\",\r\n route: \"/e-commerce/Items\",\r\n component: ECommercePage,\r\n },\r\n Items2: {\r\n title: \"ItemList\",\r\n route: \"/e-commerce/Items2\",\r\n component: ECommerceDEMO,\r\n },\r\n item: {\r\n title: \"ItemDetail\",\r\n route: \"/e-commerce/Item\",\r\n component: ItemDetailPage,\r\n },\r\n item2: {\r\n title: \"ItemDetail\",\r\n route: \"/e-commerce/Item2\",\r\n component: ItemDetailPage2,\r\n },\r\n cart2: {\r\n title: \"Cart\",\r\n route: \"/e-commerce/CartPage2\",\r\n component: CartPage2,\r\n },\r\n cart: {\r\n title: \"Cart\",\r\n route: \"/e-commerce/CartPage\",\r\n component: CartPage,\r\n },\r\n },\r\n },\r\n\r\n pageNotFound: {\r\n title: \"pageNotFound\",\r\n route: null,\r\n component: NotFoundPage,\r\n },\r\n\r\n unauthorized: {\r\n title: \"unauthorized\",\r\n route: \"/access-denied\",\r\n component: UnAuthorizedPage,\r\n },\r\n },\r\n Treasury: {\r\n BaseInformation: {\r\n title: \"BaseInformations\",\r\n route: \"/base-information\",\r\n //component:\r\n routes: {\r\n bankAccounts: {\r\n title: \"BankAccount\",\r\n route: \"/base-information/bank-accounts\",\r\n component: BankAccounts,\r\n },\r\n bank: {\r\n title: \"Banks\",\r\n route: \"/base-information/banks\",\r\n component: Bank,\r\n },\r\n treasurySubject: {\r\n title: \"TreasurySubjects\",\r\n route: \"/base-information/treasury-subjects\",\r\n component: TreasurySubject,\r\n },\r\n CashAccount: {\r\n title: \"CashAccounts\",\r\n route: \"/base-information/cash-accounts\",\r\n component: CashAccount,\r\n },\r\n },\r\n },\r\n settings: {\r\n title: \"settings\",\r\n route: \"/settings\",\r\n //component:\r\n routes: {\r\n documentClassification: {\r\n title: \"docsclassification\",\r\n route: \"/settings/document-classifications\",\r\n component: DocsClassification,\r\n },\r\n bankPOS: {\r\n title: \"BankPOS\",\r\n route: \"/settings/bank-poses\",\r\n component: BankPOS,\r\n },\r\n BankAccountType :{\r\n title: \"BankAccountTypes\",\r\n route: \"/settings/bank-account-types\",\r\n component: BankAccountType,\r\n },\r\n },\r\n },\r\n operations: {\r\n title: \"operations\",\r\n route: \"/operations\",\r\n //component:\r\n routes: { \r\n Receipt: {\r\n title: \"Receipt\",\r\n route: \"/operations/receipts\",\r\n component: Receipt,\r\n },\r\n },\r\n },\r\n },\r\n};\r\n","import { DataGrid } from \"components/DataGrid/DataGrid\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { TreeView } from \"components/TreeView/TreeView\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { ReferenceHistory } from \"pages/SystemManagement/Jobs/components/RefrenceHistory/ReferenceHistory\";\r\nimport { useContext, useEffect, useState } from \"react\";\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { downloadCSV, getPageSize, trans } from \"utils/helpers\";\r\nimport { deleteJobFileArchive, getJobFileArchive, getPersonArchive, getViewForm } from \"./api\";\r\nimport { DynamicComponentHOC } from \"components/DynamicComponentHOC/DynamicComponentHOC\";\r\nimport { AttachmentViewer } from \"pages/Secretariats/Archive/ArchiveTree/components/AttachmentViewer/AttachmentViewer\";\r\nimport { DYNAMICFORMS } from \"utils/dynamicForms\";\r\nimport { JobList } from \"./components/JobList/JobList\";\r\nimport { GUID_EMPTY } from \"utils/constants\";\r\nimport { MessageType } from \"types/enum\";\r\n\r\n \r\n\r\nexport const PersonalArchiveTree = () => {\r\n\r\n const [data, setData] = useState()\r\n const [forceUpdate, setForceUpdate] = useState(false)\r\n const [selectedObj, setSelectedObj] = useState()\r\n const [idCallback, setIdCallback] = useState(null)\r\n const [mode, setmode] = useState()\r\n const [loading, setLoading] = useState(false);\r\n const [gridLoading,setGridLoading] = useState(false);\r\n const [PersonArchiveForm, setPersonArchiveForm] = useState(false);\r\n const [archiveFiles, setArchiveFiles] = useState();\r\n const [selectedList, setSelectedList] = useState([])\r\n const [resetCheckBox, setResetCheckBox] = useState(false);\r\n const [jobSelected, setJobSelected] = useState(null);\r\n const [showHistory, setShowHistory] = useState(false); \r\n const [pageNum, setPageNum] = useState(1);\r\n const [pageSize, setPageSize] = useState(25);\r\n const [pages, setPages] = useState(0);\r\n let [showDynamicFormView, setShowDynamicFormView] = useState (false);\r\n const [ShowDynamicFormViewLoading, setShowDynamicFormViewLoading] = useState(false);\r\n\r\n let [dynamicForm, setDynamicForm] = useState< any>(\"GeneralRequestForm\");\r\n\r\n const layoutContext = useContext(LayoutContext); \r\n\r\n\r\n let customFuction: any = [\r\n [(e) => { setJobSelected(e); setShowHistory(true) }, \"clipboard\", \"History\"],\r\n [(e) => { handleViewRow(e) }, \"eye\", \"View\"],\r\n]\r\n\r\nconst handlechangePageSize = (e: any) => {\r\n setPageNum(1);\r\n setPageSize(e.currentTarget.value);\r\n getPageSize(\"PersonalArchiveStructure\", e.currentTarget.value)\r\n getJobFileArchiveAsync(selectedObj,1);\r\n};\r\nconst handleGoPage = (value) => {\r\n if (value) {\r\n if (value < 1 || value > pages) { }\r\n else setPageNum(+value);getJobFileArchiveAsync(selectedObj,+value);\r\n } else {\r\n }\r\n};\r\nconst HandleNextPage = () => {\r\n if(pageNum < pages){\r\n setPageNum(pageNum + 1);\r\n getJobFileArchiveAsync(selectedObj,pageNum + 1);\r\n\r\n }\r\n};\r\nconst HandlePrevPage = () => {\r\n if (pageNum > 1){\r\n setPageNum((pageNum) => { return +pageNum - 1 });\r\n getJobFileArchiveAsync(selectedObj,pageNum - 1);\r\n\r\n\r\n }\r\n};\r\n\r\nasync function getFormViewAsync(id: string) {\r\n setShowDynamicFormView(true);\r\n setShowDynamicFormViewLoading(false)\r\n try {\r\n const res = await getViewForm(id, layoutContext.currentUserPosition.PositionId);\r\n if (res.Data)\r\n setDynamicForm(res.Data);\r\n else\r\n setDynamicForm(undefined);\r\n } catch (error) {\r\n setDynamicForm(undefined);\r\n setShowDynamicFormView(false)\r\n }\r\n setShowDynamicFormViewLoading(true)\r\n\r\n}\r\n\r\nconst showDynamicFormViewCallback = (ans: boolean) => {\r\n setShowDynamicFormView(ans);\r\n}\r\n\r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"reference\":alert(\"call api reference with Id :\");break;\r\n case \"print\":alert(\"print \");break;\r\n case \"remove\":break;\r\n case \"excel\":downloadCSV(archiveFiles?.Data ,5 ,trans(\"PersonalArchiveTree\"));break;\r\n case \"refresh\":setForceUpdate(!forceUpdate);break;\r\n case \"view\": if(selectedObj){setmode(\"view\");setPersonArchiveForm(!PersonArchiveForm)}else \r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\") \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning)\r\n\r\n ; break;\r\n case \"archive\": if(selectedObj){setmode(\"create\");setPersonArchiveForm(!PersonArchiveForm);}else\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\");\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning)\r\n\r\n break;\r\n case \"edit\": if (selectedObj ){setmode(\"edit\");setPersonArchiveForm(!PersonArchiveForm);}else \r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\"); \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning)\r\n\r\n break;\r\n }\r\n };\r\n\r\n async function DeleteRow(id){\r\n try {\r\n await deleteJobFileArchive(id)\r\n getJobFileArchiveAsync(selectedObj);\r\n } catch (err: any) {\r\n \r\n } \r\n }\r\n \r\n const handleDeleteRow = (id: string) => {\r\n // Toast(trans(\"msg_deleteconfirm\"), \"warning\" , \"alert\" , ()=>{DeleteRow(id)}) \r\n Toast(trans(\"msg_deleteconfirm\"), MessageType.confirmDelete , ()=>{DeleteRow(id)}) \r\n\r\n }\r\n\r\n const handleViewRow = (obj) => {\r\n getFormViewAsync(obj.PRJ_UID)\r\n\r\n }\r\n\r\n const setselecetrow = (e) => {\r\n getJobFileArchiveAsync(e)\r\n setSelectedObj(e)\r\n }\r\n\r\n\r\n\r\n async function getPersonalArchiveTreeAsync() {\r\n setLoading(false)\r\n const respons = await getPersonArchive(null)\r\n setData(respons.Data)\r\n getJobFileArchiveAsync(respons.Data[0])\r\n setLoading(true)\r\n }\r\n\r\n async function getJobFileArchiveAsync(e ,pagNum = pageNum) {\r\n setGridLoading(false);\r\n if(e?.RootId !=null){\r\n let pageSizeChangedByUser = getPageSize(\"PersonalArchiveStructure\")\r\n setPageSize(pageSizeChangedByUser)\r\n try {\r\n const respons = await getJobFileArchive(e.Id ,pagNum,pageSizeChangedByUser)\r\n setArchiveFiles(respons.Data)\r\n if(respons.Data.Data[0].JobId !=GUID_EMPTY){\r\n setJobSelected(respons.Data.Data[0])\r\n }\r\n setPages(respons.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(respons.Data.TotalRecords / pageSizeChangedByUser) : 1) ; \r\n } catch (error) {\r\n\r\n }\r\n }\r\n setGridLoading(true);\r\n}\r\n\r\n async function reloadHandler() {\r\n let list = selectedList.length > 0 ?selectedList :[ selectedObj]\r\n let flag = false\r\n list.forEach(item => {\r\n if(item.Id == selectedObj.Id){\r\n flag = true\r\n }\r\n });\r\n if(flag){\r\n let pageSizeChangedByUser = getPageSize(\"PersonalArchiveStructure\")\r\n setPageSize(pageSizeChangedByUser)\r\n const respons = await getJobFileArchive(selectedObj.Id,pageNum,pageSizeChangedByUser)\r\n setArchiveFiles(respons.Data)\r\n setPages(respons.Data.TotalRecords > pageSizeChangedByUser ? Math.ceil(respons.Data.TotalRecords / pageSizeChangedByUser) : 1) ;\r\n }\r\n setResetCheckBox(!resetCheckBox)\r\n }\r\n\r\n\r\n useEffect(() => {\r\n setData(null)\r\n setArchiveFiles(null)\r\n getPersonalArchiveTreeAsync()\r\n }, [forceUpdate]);\r\n\r\n useEffect(() => {\r\n if(idCallback){\r\n setIdCallback(null)\r\n }\r\n }, [idCallback]);\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n
    \r\n {\r\n loading ? (\r\n data ?\r\n
    \r\n \r\n
    : )\r\n : \r\n }\r\n {gridLoading ?\r\n <>\r\n {archiveFiles &&\r\n
    \r\n {setJobSelected(obj)}}\r\n pageNum={pageNum}\r\n pageSize={pageSize}\r\n HandleNextPage={HandleNextPage}\r\n HandlePrevPage={HandlePrevPage}\r\n handlechangePageSize={handlechangePageSize}\r\n first={() => { getJobFileArchiveAsync(selectedObj,pages); setPageNum(pages) }}\r\n end={() =>{getJobFileArchiveAsync(selectedObj,1); setPageNum(1) }}\r\n handleGoPage={handleGoPage}\r\n />\r\n
    \r\n }\r\n \r\n : \r\n \r\n }\r\n\r\n
    \r\n {jobSelected?.JobId && \r\n \r\n }\r\n {showDynamicFormView &&\r\n { setShowDynamicFormView(false); }} show={showDynamicFormView}> \r\n {ShowDynamicFormViewLoading ? \r\n <>\r\n \r\n { setShowDynamicFormView(false) }} \r\n componentName={DYNAMICFORMS[dynamicForm.Name] ?null:dynamicForm.Name} component={DYNAMICFORMS[dynamicForm.Name] ?DYNAMICFORMS[dynamicForm.Name].component:null}\r\n reload={(e)=>{setForceUpdate(!forceUpdate)}} Name={dynamicForm.Name} modeParams={\"view\"} componentParams={dynamicForm.Parameters} processId={jobSelected.Prg}\r\n Id={jobSelected.SourceId}handleCancelForm={() => {showDynamicFormViewCallback(false)}} />\r\n \r\n \r\n : \r\n }\r\n \r\n }\r\n {showHistory &&\r\n {setJobSelected(null); setShowHistory(false) }} show={showHistory}>\r\n \r\n \r\n }\r\n\r\n {\r\n PersonArchiveForm &&\r\n setPersonArchiveForm(false)} show={PersonArchiveForm}>\r\n 0 ?selectedList :[ selectedObj] }\r\n onHide={()=>{reloadHandler(); setPersonArchiveForm(false)}} \r\n />\r\n \r\n }\r\n\r\n
    \r\n\r\n\r\n \r\n \r\n )\r\n}\r\n\r\n\r\n\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport { TableTree } from \"components/TableTree/TableTree\"\r\nimport { Toolbar } from \"components/Toolbar/Toolbar\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Loading } from \"components/Loading/loading\"\r\nimport { ENDPOINTS } from \"utils/endpoints\";\r\nimport { Message } from \"components/Message/Message\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { trans } from \"utils/helpers\";\r\nimport { ArchiveFolderForm } from \"./components/ArchiveFolderForm/ArchiveFolderForm\";\r\nimport { ArchiveForm } from \"./components/ArchiveForm/ArchiveForm\";\r\nimport { getPersonalArchive } from \"./api\";\r\nimport { MessageType } from \"types/enum\";\r\n \r\n\r\n\r\nexport const PersonalArchiveStructure = () => {\r\n let tbodyData: any = []; let theadData: any = [];\r\n\r\n const [data, setData] = useState()\r\n const [forceUpdate, setForceUpdate] = useState(false)\r\n const [selectedObj, setSelectedObj] = useState(null)\r\n const [idCallback, setIdCallback] = useState(null)\r\n const [mode, setmode] = useState()\r\n const [loading, setLoading] = useState(false);\r\n const [ShowArchiveFolder, setShowArchiveFolder] = useState(false);\r\n const [showRulesForm, setShowRulesForm] = useState(false);\r\n const [showForm, setShowForm] = useState(0);\r\n\r\n\r\n \r\n const clickToolbarCallback = (clickedButtonName: string) => {\r\n\r\n switch (clickedButtonName.toLowerCase()) {\r\n case \"reference\":\r\n alert(\"call api reference with Id :\");\r\n break;\r\n case \"print\":\r\n alert(\"print \");\r\n break;\r\n case \"remove\":\r\n break;\r\n // case \"excel\":\r\n // alert(\"excel \");\r\n // break;\r\n case \"refresh\":setForceUpdate(!forceUpdate);break;\r\n case \"view\": if(selectedObj){setmode(\"view\");setShowArchiveFolder(!ShowArchiveFolder)}else\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\"); \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning); \r\n\r\n break;\r\n case \"create\": if(selectedObj){setmode(\"create\");setShowArchiveFolder(!ShowArchiveFolder);}else \r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\"); \r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning); \r\n\r\n break;\r\n case \"edit\": if(selectedObj){if(selectedObj.RootId == null ){setmode(\"edit\");setShowForm(2);}else{setmode(\"edit\");setShowForm(1);}}else{\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\");\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning);\r\n\r\n }; \r\n break;\r\n case \"assignrule\": if (null == selectedObj.RootId) setShowRulesForm(!showRulesForm); break;\r\n\r\n }\r\n };\r\n\r\n \r\n\r\n const selectedCreateArchiveCallback = (e) => {\r\n if(e == 1 && !selectedObj){\r\n // Toast(trans(\"Msg_SelectRow\"), \"warning\")\r\n Toast(trans(\"Msg_SelectRow\"), MessageType.warning)\r\n\r\n }else{\r\n setmode(\"create\")\r\n setShowForm(e)\r\n }\r\n }\r\n\r\n const setselecetrow = (e) => {\r\n setSelectedObj(e)\r\n }\r\n\r\n const ShowArchiveFolderShow = () => {\r\n setIdCallback(selectedObj?.Id) \r\n setShowArchiveFolder(false) \r\n }\r\n\r\n\r\n async function getarchiveStructureAsync() {\r\n setLoading(false)\r\n const respons = await getPersonalArchive(null)\r\n setData(respons.Data)\r\n setLoading(true)\r\n }\r\n\r\n\r\n \r\n\r\n useEffect(() => {\r\n setData(null)\r\n getarchiveStructureAsync()\r\n }, [forceUpdate]);\r\n\r\n\r\n useEffect(() => {\r\n if(idCallback){\r\n setIdCallback(null)\r\n }\r\n }, [idCallback]);\r\n\r\n\r\n\r\n if (data?.length > 0) {\r\n theadData = Object.keys(data[0])\r\n tbodyData = data;\r\n } \r\n\r\n\r\n return (\r\n <>\r\n {\r\n showForm==1 &&\r\n setShowForm(0)} show={showForm==1}>\r\n {ShowArchiveFolderShow(); setShowForm(0);}} \r\n selectedObj={selectedObj} \r\n mode={mode} \r\n />\r\n \r\n }\r\n {\r\n showForm==2 &&\r\n setShowForm(0)} show={showForm==2}>\r\n {setShowForm(0);setForceUpdate(!forceUpdate)}} \r\n selectedObj={selectedObj} \r\n mode={mode} \r\n />\r\n \r\n }\r\n\r\n \r\n\r\n
    \r\n {\r\n loading ? (\r\n data ?\r\n
    \r\n \r\n
    : )\r\n : \r\n }\r\n
    \r\n \r\n )\r\n}\r\n\r\n\r\n\r\n\r\n","import { ENDPOINTS } from \"utils/endpoints\"\r\nimport { http } from \"utils/http\"\r\n\r\n\r\nexport const getPersonalArchive = (id: any) => http({\r\n url: ENDPOINTS.archive.personalArchive.archives,\r\n method: \"get\",\r\n params: {\r\n ParentId: id\r\n }\r\n}).then((res) => {\r\n return res.data\r\n}).catch((err) => {\r\n return Promise.reject(err);\r\n});\r\n\r\n\r\n","import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\r\nimport { Button } from \"components/Button/Button\";\r\nimport { Loading } from \"components/Loading/loading\";\r\nimport { ModalForm } from \"components/ModalForm/ModalForm\";\r\nimport { Toast } from \"components/ToastShow/ToastAlert\";\r\nimport { LayoutContext } from \"layouts/DashboardLayout/context/LayoutContext\";\r\nimport { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { trans } from \"utils/helpers\";\r\nimport {\r\n checkForm,\r\n deleteForm,\r\n getAllForms,\r\n getFormByKey,\r\n postForm,\r\n putForm,\r\n CheckExist,\r\n getDictionaryAvailable,\r\n} from \"./api\";\r\nimport { CreateInputForm } from \"./components/CreateForm\";\r\nimport { DynamicFormDataEntry } from \"./components/DynamicFormDataEntry/DynamicFormDataEntry\";\r\nimport {\r\n DictionaryAvailable,\r\n InputAvailable,\r\n} from \"./components/InputAvailable\";\r\nimport { InputDetector } from \"./components/InputDetector\";\r\nimport { InputSetting } from \"./components/InputSetting\";\r\nimport { OverlayTrigger, Tooltip } from \"react-bootstrap\";\r\nimport \"./style.scss\";\r\nimport { DefaultSetting } from \"./components/DefaultSetting\";\r\nimport { DataCollectionForm } from \"./components/DataCollection/DataCollectionForm\";\r\nimport { InputTypes, MessageType } from \"types/enum\";\r\n\r\nexport const FormBuilder = () => {\r\n const [showCreateForm, setShowCreateForm] = useState(false);\r\n const [showDefaultSetting, setShowDefaultSetting] = useState(false);\r\n const [defaultSettingObj, setDefaultSettingObj] = useState({});\r\n const [listToolBar, setListToolBar] = useState(0);\r\n const [dragItem, setDragItem] = useState(null);\r\n const [inputs, setInputs] = useState([]);\r\n const [positionOnPage, setPositionOnPage] = useState([]);\r\n const [selectInputForm, setSelectInputForm] = useState(false);\r\n const [showSetting, setShowSetting] = useState(false);\r\n const [editInput, setEditInput] = useState();\r\n const [indexEditInput, setIndexEditInput] = useState();\r\n const [informationForm, setInformationForm] = useState(null);\r\n const [forms, setForms] = useState();\r\n const [editInputStatus, setEditInputStatus] = useState(false);\r\n const [colSelectMove, setColSelectMove] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [loadingAfterSetting, setLoadingAfterSetting] = useState(true);\r\n const [formsLoading, setFormLoading] = useState(true);\r\n const [forceUpdate, setForceUpdate] = useState(false);\r\n const [showFormInViewMode, setShowFormInViewMode] = useState(false);\r\n const [FormInViewMode, setFormInViewMode] = useState();\r\n const [preview, setPreview] = useState(false);\r\n const [inputMode, setInputMode] = useState<\"create\" | \"edit\" | \"duplicate\">(\r\n \"create\"\r\n );\r\n const [formMode, setFormMode] = useState<\"create\" | \"edit\" | \"view\">(\"view\");\r\n const [countList, setCountList] = useState({\r\n text: 0,\r\n textArea: 0,\r\n number: 0,\r\n date: 0,\r\n time: 0,\r\n timeLength: 0,\r\n selectBox: 0,\r\n RadioButton: 0,\r\n checkBox: 0,\r\n ProgressBar: 0,\r\n price: 0,\r\n Message: 0,\r\n Step: 0,\r\n Position: 0,\r\n Person: 0,\r\n Sex: 0,\r\n });\r\n const [objectStep, setObjectStep] = useState({});\r\n const [userChanges, setUserChanges] = useState(false);\r\n const [stateBoxInput, setStateBoxInput] = useState<\r\n \"edit\" | \"delete\" | \"clone\" | null\r\n >(null);\r\n const [showResetBtn, setShowResetBtn] = useState(false);\r\n const [selectingItemForDelete, setSelectingItemForDelete] =\r\n useState(null);\r\n const [deleteTimerMode, setDeleteTimerMode] = useState(false);\r\n const [dynamicFormApplications, setDynamicFormApplications] = useState([]);\r\n const [isWorkflowEnable, setIsWorkflowEnable] = useState();\r\n const spaceIndexRef = useRef(null);\r\n const deleteTimer = useRef();\r\n const [showDataCollectForm, setShowDataCollectForm] = useState(false);\r\n const [dataDictionary, setDataDictionary] = useState([]);\r\n\r\n let checkClickHold = false;\r\n let checkTimeHold = false;\r\n let flag = true;\r\n\r\n const Requester = {\r\n label: \"درخواست کننده\",\r\n systemKey: \"RequesterPositionId\",\r\n disable: true,\r\n typeName: \"PositionDictionary\",\r\n defaultValue: \"\",\r\n required: true,\r\n size: \"4\",\r\n };\r\n const defaultDescription = {\r\n typeName: \"textArea\",\r\n backendType: \"String\",\r\n label: \"شرح\",\r\n size: \"12\",\r\n InputType: \"1\",\r\n systemKey: \"Description\",\r\n defaultValue: \"\",\r\n required: true,\r\n disable: false,\r\n maxLength: \"\",\r\n placeholder: \"\",\r\n };\r\n\r\n let layoutContext = useContext(LayoutContext);\r\n const formBx = useRef();\r\n const selectInput = (e, event: any = null) => {\r\n if (event) {\r\n setPositionOnPage([event.pageX, event.pageY]);\r\n }\r\n setDragItem(e);\r\n };\r\n\r\n const moveDragInput = (e) => {\r\n e.stopPropagation();\r\n setPositionOnPage([e.pageX, e.pageY]);\r\n };\r\n\r\n const showspace = (Obj, id) => {\r\n if (dragItem != null) {\r\n if (document.getElementById(\"ViewBox\") == null) {\r\n if (spaceIndexRef == id) {\r\n document\r\n .getElementById(id)\r\n ?.insertAdjacentHTML(\r\n \"afterend\",\r\n `
    `\r\n );\r\n spaceIndexRef.current = null;\r\n } else {\r\n document\r\n .getElementById(id)\r\n ?.insertAdjacentHTML(\r\n \"beforebegin\",\r\n `
    `\r\n );\r\n spaceIndexRef.current = id;\r\n }\r\n }\r\n }\r\n document.getElementById(\"ViewBox\")?.addEventListener(\"mouseleave\", () => {\r\n document.getElementById(\"ViewBox\")?.remove();\r\n });\r\n document.getElementById(\"ViewBox\")?.addEventListener(\"mouseup\", (event) => {\r\n addNewInput(dragItem, +id.replace(\"inputsId\", \"\"));\r\n document.getElementById(\"ViewBox\")?.remove();\r\n });\r\n };\r\n\r\n const DropInput = (e) => {\r\n if (e.target && e.target?.className?.includes(\"formBuilder__formBx\")) {\r\n document.removeEventListener(\"mouseup\", DropInput);\r\n } else {\r\n if (indexEditInput) {\r\n let newInput = [...inputs];\r\n newInput.splice(indexEditInput, 0, e);\r\n setInputs(newInput);\r\n }\r\n }\r\n setDragItem(null);\r\n setIndexEditInput(null);\r\n };\r\n const closeSetting = () => {\r\n if (inputMode != \"edit\") {\r\n if (indexEditInput != -1) {\r\n // inputs.splice(indexEditInput,1)\r\n } else {\r\n inputs.pop();\r\n }\r\n }\r\n setIndexEditInput(null);\r\n setShowSetting(false);\r\n };\r\n\r\n const CheckStepper = (state, indexInList, stepInfo?) => {\r\n let newInputs = inputs;\r\n const fristStep = {\r\n type: dragItem?.type,\r\n typeName: dragItem?.typeName,\r\n backendType: dragItem?.backendType,\r\n size: 12,\r\n label: dragItem?.label,\r\n isOpen: true,\r\n systemKey: dragItem?.typeName + 1,\r\n };\r\n if (state == \"create\") {\r\n if (inputs[0].typeName != \"Step\") {\r\n if (indexInList != 0) {\r\n newInputs = [fristStep, ...newInputs];\r\n\r\n newInputs.splice(indexInList, 0, {\r\n ...fristStep,\r\n systemKey: dragItem.typeName + 2,\r\n });\r\n\r\n setCountList({ ...countList, Step: 2 });\r\n } else {\r\n newInputs = [fristStep, ...newInputs];\r\n setCountList({ ...countList, Step: 1 });\r\n }\r\n } else {\r\n newInputs.splice(indexInList, 0, {\r\n ...fristStep,\r\n systemKey: dragItem.typeName + (+countList.Step + 1),\r\n });\r\n setCountList({ ...countList, Step: +countList.Step + 1 });\r\n }\r\n } else if (state == \"move\") {\r\n newInputs.splice(indexInList, 0, { ...fristStep, stepInfo });\r\n } else {\r\n if (indexInList == 0 && countList.Step > 1) {\r\n } else {\r\n newInputs.splice(indexInList, 1);\r\n }\r\n }\r\n setInputs(newInputs);\r\n };\r\n\r\n const addNewInput = (e, inpo) => {\r\n let newInputs = [...inputs];\r\n\r\n let countLetList = { ...countList };\r\n if (dragItem != null) {\r\n if (countLetList[dragItem.typeName] == undefined)\r\n countLetList[dragItem.typeName] = 0;\r\n if (indexEditInput == null) {\r\n setInputMode(\"create\");\r\n setShowSetting(false);\r\n const newInput = {\r\n type: dragItem.type,\r\n typeName: dragItem.typeName,\r\n backendType: dragItem.backendType,\r\n label: dragItem.typeName + (countLetList[dragItem.typeName] + 1),\r\n size: defaultSettingObj?.size ? defaultSettingObj?.size : 12,\r\n systemKey: dragItem.systemKey\r\n ? dragItem.systemKey\r\n : dragItem.typeName + (countLetList[dragItem.typeName] + 1),\r\n icon: dragItem.icon,\r\n isOpen: true,\r\n InputType:\r\n dragItem.typeName == \"textArea\"\r\n ? \"1\"\r\n : dragItem.typeName == \"number\"\r\n ? \"6\"\r\n : \"0\",\r\n Keywords: [],\r\n ...(dragItem.typeName == \"RadioButton\" && {\r\n Keywords: [\"بله\", \"خیر\"],\r\n }),\r\n ...dragItem,\r\n };\r\n if (dragItem.typeName == \"Step\") {\r\n CheckStepper(\"create\", inpo);\r\n } else {\r\n setCountList({\r\n ...countLetList,\r\n [dragItem.typeName]: countLetList[dragItem.typeName] + 1,\r\n });\r\n if (inpo == -1) {\r\n newInputs.push(newInput);\r\n } else {\r\n newInputs.splice(inpo, 0, newInput);\r\n }\r\n setInputs(newInputs);\r\n }\r\n } else {\r\n if (e.typeName == \"Step\") {\r\n CheckStepper(\"move\", inpo, e);\r\n } else {\r\n let newInputs = [...inputs];\r\n if (inpo !== null) {\r\n if (inpo == -1) {\r\n newInputs.splice(inputs.length, 0, { ...dragItem, ...e });\r\n } else {\r\n newInputs.splice(inpo, 0, { ...dragItem, ...e });\r\n }\r\n } else {\r\n }\r\n setInputs(newInputs);\r\n setIndexEditInput(null);\r\n }\r\n }\r\n } else {\r\n if (countLetList[inputs[inpo].typeName] == undefined)\r\n countLetList[inputs[inpo].typeName] = 0;\r\n\r\n const newInput = {\r\n label:\r\n inputs[inpo]?.typeName + (countLetList[inputs[inpo].typeName] + 1),\r\n type: +inputs[inpo]?.type,\r\n typeName: inputs[inpo]?.typeName,\r\n backendType: inputs[inpo]?.backendType,\r\n size: inputs[inpo]?.size,\r\n InputType: +inputs[inpo]?.InputType,\r\n Keywords: inputs[inpo]?.Keywords,\r\n icon: inputs[inpo].icon,\r\n systemKey:\r\n inputs[inpo]?.typeName + (countLetList[inputs[inpo].typeName] + 1),\r\n };\r\n setCountList({\r\n ...countLetList,\r\n [inputs[inpo].typeName]: countLetList[inputs[inpo].typeName] + 1,\r\n });\r\n\r\n if (inpo == -1) {\r\n newInputs.push(newInput);\r\n } else {\r\n newInputs.splice(inpo, 0, newInput);\r\n }\r\n setIndexEditInput(null);\r\n setInputs(newInputs);\r\n setDragItem(null);\r\n }\r\n setUserChanges(true);\r\n };\r\n\r\n const removeInput = (\r\n e,\r\n inputsIndex,\r\n cancel: \"delete\" | \"confirmDelete\" | \"cancelDelete\"\r\n ) => {\r\n if (cancel == \"delete\") {\r\n setDeleteTimerMode(true);\r\n setSelectingItemForDelete(inputsIndex);\r\n setShowResetBtn(true);\r\n deleteTimer.current = setTimeout(() => {\r\n if (\r\n inputs[inputsIndex].systemKey != \"Description\" &&\r\n inputs[inputsIndex].systemKey != \"RequesterPositionId\"\r\n ) {\r\n if (inputs[inputsIndex].typeName == \"Step\") {\r\n CheckStepper(\"remove\", inputsIndex);\r\n } else {\r\n e.stopPropagation();\r\n let newInputs = [...inputs];\r\n newInputs.splice(inputsIndex, 1);\r\n setInputs(newInputs);\r\n }\r\n }\r\n setDeleteTimerMode(false);\r\n setUserChanges(true);\r\n setShowResetBtn(false);\r\n }, 4500);\r\n } else if (cancel == \"confirmDelete\") {\r\n if (\r\n inputs[inputsIndex].systemKey != \"Description\" &&\r\n inputs[inputsIndex].systemKey != \"RequesterPositionId\"\r\n ) {\r\n if (inputs[inputsIndex].typeName == \"Step\") {\r\n CheckStepper(\"remove\", inputsIndex);\r\n } else {\r\n e.stopPropagation();\r\n let newInputs = [...inputs];\r\n newInputs.splice(inputsIndex, 1);\r\n setInputs(newInputs);\r\n }\r\n setDeleteTimerMode(false);\r\n }\r\n setUserChanges(true);\r\n setShowResetBtn(false);\r\n } else if (cancel == \"cancelDelete\") {\r\n setDeleteTimerMode(false);\r\n setSelectingItemForDelete(null);\r\n clearTimeout(deleteTimer.current);\r\n setShowResetBtn(false);\r\n }\r\n };\r\n\r\n const settingChange = (e) => {\r\n let newInputs = [...inputs];\r\n if (indexEditInput == -1) {\r\n newInputs.pop();\r\n newInputs.push({ ...editInput, ...e });\r\n } else {\r\n // drag and dublecate\r\n if (editInputStatus) {\r\n newInputs.splice(indexEditInput + 1, 1, { ...editInput, ...e });\r\n } else {\r\n if (inputMode == \"duplicate\") {\r\n newInputs.splice(indexEditInput + 2, 0, { ...editInput, ...e });\r\n newInputs.splice(indexEditInput, 1);\r\n } else {\r\n newInputs.splice(indexEditInput, 0, { ...editInput, ...e });\r\n newInputs.splice(indexEditInput + 1, 1);\r\n }\r\n }\r\n }\r\n setLoadingAfterSetting(false);\r\n setInputs(newInputs);\r\n setEditInputStatus(false);\r\n setDragItem(null);\r\n setUserChanges(true);\r\n };\r\n\r\n async function getFormsAsync() {\r\n setFormLoading(false);\r\n try {\r\n const respons = await getAllForms();\r\n setForms(respons.Data);\r\n } catch (err: any) {}\r\n setFormLoading(true);\r\n }\r\n\r\n async function getFormByNameAsync(formKey, mode?) {\r\n setLoading(false);\r\n try {\r\n if (formMode != \"view\" && mode != \"copy\") {\r\n setShowFormInViewMode(true);\r\n setFormInViewMode(formKey);\r\n } else {\r\n const respons = await getFormByKey(formKey);\r\n;\r\n if (mode == \"copy\") {\r\n navigator.clipboard.writeText(respons.Data?.DynamicForms.FormFields);\r\n // Toast(trans(\"copy\"), \"success\");\r\n Toast(trans(\"copy\"), MessageType.success);\r\n\r\n } else {\r\n updateCountForEditMode(\r\n JSON.parse(respons.Data?.DynamicForms.FormFields)\r\n );\r\n\r\n setInputs(JSON.parse(respons.Data?.DynamicForms.FormFields));\r\n setInformationForm({\r\n formTitle: respons.Data?.DynamicForms.FormTitle,\r\n systemKey: respons.Data?.DynamicForms.FormKey,\r\n IsWorkflowEnable: respons.Data?.DynamicForms.IsWorkflowEnable,\r\n FormTitleEN: respons.Data?.DynamicForms.FormTitleEN,\r\n HasSignature: respons.Data?.DynamicForms.HasSignature,\r\n FormPriority: respons.Data?.DynamicForms.FormPriority,\r\n DynamicFormApplications: respons.Data?.DynamicFormApplications,\r\n Id: respons.Data?.DynamicForms.Id\r\n ? respons.Data?.DynamicForms.Id\r\n : null,\r\n });\r\n }\r\n }\r\n } catch (err: any) {}\r\n setLoading(true);\r\n }\r\n\r\n const updateCountForEditMode = (inputs) => {\r\n let newCountList = countList;\r\n inputs.map((input) => {\r\n if (\r\n input.systemKey != \"Description\" &&\r\n input.systemKey != \"RequesterPositionId\"\r\n ) {\r\n newCountList = {\r\n ...newCountList,\r\n [input.typeName]: +newCountList[input.typeName] + 1,\r\n };\r\n }\r\n });\r\n setCountList(newCountList);\r\n };\r\n\r\n\r\n\r\n const sendData = async (e,data={} as any,closeInputsForm=true) => {\r\n \r\n //to use data when formdata is edit and just open createinputform component ,we enter this fun by CheckExistAsync fun . we dont have informationForm so we use data rather than informationForm.\r\n e.preventDefault();\r\n\r\n let inputList = inputs;\r\n let FormObject: any = {};\r\n let stepIndex = 0;\r\n let isStepUnvalued = false;\r\n let kyW: any = [];\r\n let objectLabels: any = [];\r\n inputList.map((item, index) => {\r\n if (item.typeName == \"Step\") {\r\n stepIndex += 1;\r\n if (inputList[index + 1].typeName == \"Step\") {\r\n isStepUnvalued = true;\r\n }\r\n if (stepIndex != 0) {\r\n if (\r\n inputList[0].typeName &&\r\n inputList[0].typeName != \"Step\" &&\r\n inputList[inputList.length - 1].typeName == \"Step\"\r\n ) {\r\n isStepUnvalued = true;\r\n }\r\n }\r\n }\r\n\r\n if (item.typeName == \"RadioButton\" || item.typeName == \"selectBox\") {\r\n kyW.push({\r\n [item.systemKey]: item.Keywords,\r\n });\r\n objectLabels = { ...objectLabels, [item.systemKey]: item.label };\r\n }\r\n if (item.typeName == \"Position\" || item.typeName == \"Person\") {\r\n FormObject[item.systemKey + \"Description\"] = \"string\";\r\n }\r\n item.StepIndex = stepIndex;\r\n if (item.backendType != \"\") {\r\n objectLabels = { ...objectLabels, [item.systemKey]: item.label };\r\n FormObject[item.systemKey] =\r\n item?.InputType == 6 && item?.typeName == \"text\"\r\n ? \"int\"\r\n : item.backendType;\r\n }\r\n delete item.icon;\r\n });\r\n\r\n if (isStepUnvalued) {\r\n // return Toast(trans(\"duplicatekey\"), \"error\");\r\n return Toast(trans(\"duplicatekey\"),MessageType.error);\r\n\r\n }\r\n //به جای استیت اینفرمیشن فرم از دیتا که پارامتر تابع است استفاده میکنیم زیرا هنگام ادیت کردن با زدن دکمه ذخیره همزمان هم استیت ست میشود و هم درخواست پوت اجرا میشود و در این حالت به دلیل همزمانی مقدار استیت هنوز پر نشده و به جای ان مقدار تعیین شده را از طریق تابع با نام دیتا پاس می دهیم\r\n \r\n\r\n\r\n try {\r\n if (formMode == \"create\") {\r\n const DynamicForms = {\r\n FormTitle: informationForm.DynamicForms?.formTitle??data.DynamicForms?.formTitle,\r\n FormKey: informationForm.DynamicForms?.systemKey??data.DynamicForms?.systemKey,\r\n FormTitleEN: informationForm.DynamicForms?.FormTitleEN??data.DynamicForms?.FormTitleEN,\r\n FormFields: JSON.stringify(inputList),\r\n FormObject: JSON.stringify(FormObject),\r\n FormCards: \"\",\r\n IsWorkflowEnable: informationForm.DynamicForms?.IsWorkflowEnable??data.DynamicForms?.IsWorkflowEnable,\r\n HasSignature: informationForm.DynamicForms?.HasSignature??data.DynamicForms?.HasSignature,\r\n FormPriority:informationForm.DynamicForms?.FormPriority? +informationForm.DynamicForms?.FormPriority:+data.DynamicForms?.FormPriority,\r\n };\r\n const DynamicFormsAccesses = [\r\n {\r\n PositionId: layoutContext.currentUserPosition.PositionId,\r\n },\r\n ];\r\n \r\n await postForm({\r\n DynamicForms: DynamicForms,\r\n DynamicFormsAccesses: DynamicFormsAccesses,\r\n DynamicFormApplications: dynamicFormApplications,\r\n Keywords: kyW,\r\n ObjectLabels: JSON.stringify(objectLabels),\r\n });\r\n } else if (formMode == \"edit\") {\r\n\r\n\r\n \r\n const DynamicForms = {\r\n FormTitle:data.DynamicForms?.formTitle?data.DynamicForms?.formTitle: informationForm?.formTitle,\r\n FormKey:data.DynamicForms?.systemKey?data.DynamicForms?.systemKey: informationForm?.systemKey,\r\n FormTitleEN:data.DynamicForms?.FormTitleEN?data.DynamicForms?.FormTitleEN: informationForm?.FormTitleEN,\r\n FormFields: JSON.stringify(inputList),\r\n FormObject: JSON.stringify(FormObject),\r\n FormCards: \"\",\r\n IsWorkflowEnable:data.DynamicForms?.IsWorkflowEnable??informationForm.IsWorkflowEnable,\r\n HasSignature:data.DynamicForms?.HasSignature?? informationForm.HasSignature,\r\n FormPriority:data.DynamicForms?.FormPriority? +data.DynamicForms?.FormPriority : informationForm?.FormPriority?informationForm?.FormPriority:1,\r\n }; \r\n await putForm({\r\n ...DynamicForms,\r\n FormPriority: DynamicForms?.FormPriority ?DynamicForms?.FormPriority : 1,\r\n DynamicFormApplications:!closeInputsForm?data.DynamicFormApplications:informationForm?.DynamicFormApplications,\r\n ObjectLabels: JSON.stringify(objectLabels),\r\n FormFields: JSON.stringify(inputList),\r\n FormObject: JSON.stringify(FormObject),\r\n });\r\n}\r\n\r\n\r\n \r\n\r\n if(closeInputsForm){//اگر در مود ادیت فر م مستر ابتدا ثبت شود باید مقادیر فرم مستر را نگه داریم و پاس دهیم ب فرم اینپوت ها که وقتی فرم اینپوت ها ثبت شد به مقادیر جدید فرم مستر دسترسی داشته باشد و آن را ارسال کند.\r\n //این شرط برای جلوگیری از خالی کردن فرم مستر بعد از ثبت آن است.\r\n\r\n localStorage.removeItem(\"formBuilderInputs\");\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n \r\n setCountList({\r\n text: 0,\r\n textArea: 0,\r\n number: 0,\r\n date: 0,\r\n time: 0,\r\n timeLength: 0,\r\n selectBox: 0,\r\n RadioButton: 0,\r\n checkBox: 0,\r\n ProgressBar: 0,\r\n price: 0,\r\n Message: 0,\r\n Step: 0,\r\n Position: 0,\r\n Person: 0,\r\n Sex: 0,\r\n });\r\n setListToolBar(0);\r\n setFormMode(\"view\");\r\n setInformationForm(null);\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setUserChanges(false);\r\n setInputs([]);\r\n setForceUpdate(!forceUpdate);\r\n }\r\n \r\n } catch (error) {}\r\n };\r\n\r\n const handleDeleteForms = async (formKey) => {\r\n try {\r\n const res = await checkForm(formKey);\r\n if (res) {\r\n await deleteForm(formKey);\r\n setForceUpdate(!forceUpdate);\r\n setInformationForm(null);\r\n setInputs([]);\r\n }\r\n } catch (err: any) {}\r\n };\r\n\r\n const swapElements = (index1, index2) => {\r\n let newArray: any = [];\r\n if (\r\n (index1 == 0 && index2 == -1) ||\r\n (index1 + 1 == inputs.length && index2 + 1 == inputs.length + 1)\r\n ) {\r\n } else {\r\n newArray = [...inputs];\r\n let temp = newArray[index1];\r\n newArray[index1] = newArray[index2];\r\n newArray[index2] = temp;\r\n setInputs(newArray);\r\n }\r\n };\r\n\r\n const handlePaste = async (event) => {\r\n if (formMode != \"view\") {\r\n try {\r\n const text = JSON.parse(await navigator.clipboard.readText());\r\n if (\r\n text.length != 0 &&\r\n ((text[0].systemKey && text[0].backendType) || text[0])\r\n ) {\r\n let newInputs: any = [];\r\n let newCountList = countList;\r\n text.map((inputCopy, index) => {\r\n let newInput: any = null;\r\n inputs.map((input, newIndex) => {\r\n if (\r\n inputCopy[\"systemKey\"] != \"Description\" &&\r\n inputCopy[\"systemKey\"] != \"RequesterPositionId\"\r\n ) {\r\n let ischanage = false;\r\n if (input[\"label\"] == inputCopy[\"label\"]) {\r\n newInput = {\r\n ...inputCopy,\r\n label: input.typeName + (+newCountList[input.typeName] + 1),\r\n };\r\n ischanage = true;\r\n }\r\n\r\n if (input[\"systemKey\"] == inputCopy[\"systemKey\"]) {\r\n ischanage = true;\r\n if (newInput == null) {\r\n newInput = {\r\n ...inputCopy,\r\n systemKey:\r\n input.typeName + (+newCountList[input.typeName] + 1),\r\n };\r\n } else {\r\n newInput = {\r\n ...newInput,\r\n systemKey:\r\n input.typeName + (+newCountList[input.typeName] + 1),\r\n };\r\n }\r\n }\r\n if (ischanage) {\r\n newCountList = {\r\n ...newCountList,\r\n [input.typeName]: newCountList[input.typeName] + 1,\r\n };\r\n }\r\n }\r\n });\r\n if (\r\n inputCopy[\"systemKey\"] != \"Description\" &&\r\n inputCopy[\"systemKey\"] != \"RequesterPositionId\"\r\n )\r\n newInputs = [\r\n ...newInputs,\r\n newInput == null ? inputCopy : newInput,\r\n ];\r\n });\r\n if (newInputs != null) {\r\n setInputs([...inputs, ...newInputs]);\r\n setCountList(newCountList);\r\n setUserChanges(true);\r\n }\r\n }\r\n } catch (error) {\r\n const text = await navigator.clipboard.readText();\r\n // Toast(trans('Msg_InvalidData'), \"error\");\r\n Toast(trans('Msg_InvalidData'), MessageType.error);\r\n\r\n }\r\n }\r\n };\r\n\r\n const handleEditForm = async (formKey) => {\r\n try {\r\n const res = await checkForm(formKey);\r\n if (res) {\r\n getFormByNameAsync(formKey);\r\n setFormMode(\"edit\");\r\n }\r\n } catch (err: any) {}\r\n };\r\n\r\n const cancelFun = () => {\r\n // Toast(trans(\"modalclosemessage\"), \"warning\", \"confirm\", () => {\r\n // localStorage.removeItem(\"formBuilderInputs\");\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // setCountList({\r\n // text: 0,\r\n // textArea: 0,\r\n // number: 0,\r\n // date: 0,\r\n // time: 0,\r\n // timeLength: 0,\r\n // selectBox: 0,\r\n // RadioButton: 0,\r\n // checkBox: 0,\r\n // ProgressBar: 0,\r\n // price: 0,\r\n // Message: 0,\r\n // Step: 0,\r\n // Position: 0,\r\n // Person: 0,\r\n // Sex: 0,\r\n // });\r\n // setInformationForm(null);\r\n // setListToolBar(0);\r\n // setFormMode(\"view\");\r\n // setInputs([]);\r\n // });\r\n Toast(trans(\"modalclosemessage\"), MessageType.confirm, () => {\r\n localStorage.removeItem(\"formBuilderInputs\");\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n setCountList({\r\n text: 0,\r\n textArea: 0,\r\n number: 0,\r\n date: 0,\r\n time: 0,\r\n timeLength: 0,\r\n selectBox: 0,\r\n RadioButton: 0,\r\n checkBox: 0,\r\n ProgressBar: 0,\r\n price: 0,\r\n Message: 0,\r\n Step: 0,\r\n Position: 0,\r\n Person: 0,\r\n Sex: 0,\r\n });\r\n setInformationForm(null);\r\n setListToolBar(0);\r\n setFormMode(\"view\");\r\n setInputs([]);\r\n });\r\n };\r\n\r\n const checkDrag = async (event, Obj, index) => {\r\n await setTimeout(() => {\r\n checkTimeHold = true;\r\n if (checkTimeHold && checkClickHold) {\r\n if (formMode != \"view\") handleSelectMove(Obj, index);\r\n } else {\r\n if (formMode != \"view\"){\r\n setInputMode(\"edit\")\r\n setShowSetting(true);\r\n };\r\n setEditInput(Obj);\r\n setIndexEditInput(index);\r\n }\r\n }, 500);\r\n };\r\n\r\n const handleSelectMove = (e, index) => {\r\n let newInputs = [...inputs];\r\n setDragItem(e);\r\n setIndexEditInput(index);\r\n setColSelectMove(e.size);\r\n newInputs.splice(index, 1);\r\n setInputs(newInputs);\r\n };\r\n\r\n const CheckExistAsync = async (e,data) => {\r\n try {\r\n const respons = await CheckExist(\r\n data.DynamicForms.systemKey,\r\n data.DynamicForms.formTitle,\r\n data.DynamicForms?.Id\r\n );\r\n if (!respons.Data) {\r\n if (formMode == \"create\") {\r\n setInputs([Requester, defaultDescription]);\r\n setShowCreateForm(false);\r\n setListToolBar(1);\r\n setInformationForm(data);\r\n } else if (formMode == \"edit\") {\r\n setShowCreateForm(false);\r\n setListToolBar(0); \r\n\r\n\r\n setInformationForm({...data.DynamicForms,DynamicFormApplications:data.DynamicFormApplications});\r\n sendData(e,data,false)\r\n }\r\n } else {\r\n Toast(trans(respons?.Message), MessageType.error)\r\n }\r\n } catch (error) {}\r\n };\r\n const getDictionaryAvailableAsync = async () => {\r\n try {\r\n const respons = await getDictionaryAvailable();\r\n setDataDictionary([\r\n ...DictionaryAvailable,\r\n ...respons.Data.map((item) => {\r\n return {\r\n typeName: item.Title,\r\n KeyId: item.Id,\r\n typeNameEn: item.TitleEN,\r\n systemKey: item.SystemKey,\r\n type: InputTypes.dropDown,\r\n backendType: \"guid\",\r\n };\r\n }),\r\n ]);\r\n } catch (error) {}\r\n };\r\n\r\n const handleCloseCreateForm = () => {\r\n if (formMode == \"create\") {\r\n if (inputs.length <= 0) {\r\n setCountList({\r\n text: 0,\r\n textArea: 0,\r\n number: 0,\r\n date: 0,\r\n time: 0,\r\n timeLength: 0,\r\n selectBox: 0,\r\n RadioButton: 0,\r\n checkBox: 0,\r\n ProgressBar: 0,\r\n price: 0,\r\n Message: 0,\r\n Step: 0,\r\n Position: 0,\r\n Person: 0,\r\n Sex: 0,\r\n });\r\n setInformationForm(null);\r\n setListToolBar(0);\r\n setFormMode(\"view\");\r\n setInputs([]);\r\n localStorage.removeItem(\"formBuilderInputs\");\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n } else {\r\n setFormMode(\"create\");\r\n }\r\n } else {\r\n // setListToolBar(0);\r\n // setFormMode('view');\r\n }\r\n setShowCreateForm(false);\r\n };\r\n\r\n useEffect(() => {\r\n let newInputList = JSON.parse(\r\n localStorage.getItem(\"formBuilderInputs\") + \"\"\r\n );\r\n if (\r\n localStorage.getItem(\"formBuilderInputs\") &&\r\n newInputList.inputs.length > 0 &&\r\n newInputList?.detailForm != null &&\r\n newInputList?.countList != null\r\n ) {\r\n // Toast(\r\n // trans(\"areyousuretorecoverunsaveddata\"),\r\n // \"warning\",\r\n // \"confirm\",\r\n // () => {\r\n // setInputs(newInputList?.inputs);\r\n // setCountList(newInputList?.countList);\r\n // setInformationForm(newInputList?.detailForm);\r\n // setDynamicFormApplications(newInputList?.detailForm?.DynamicFormApplications);\r\n // if (newInputList?.detailForm?.Id) {\r\n // setFormMode(\"edit\");\r\n // } else {\r\n // setFormMode(\"create\");\r\n // }\r\n // },\r\n // null,\r\n // null,\r\n // () => {\r\n // localStorage.removeItem(\"formBuilderInputs\");\r\n // sessionStorage.setItem(\"changingforms\", \"false\");\r\n // }\r\n // );\r\n\r\n\r\n Toast(\r\n trans(\"areyousuretorecoverunsaveddata\"),\r\n MessageType.confirm,\r\n () => {\r\n setInputs(newInputList?.inputs);\r\n setCountList(newInputList?.countList);\r\n setInformationForm(newInputList?.detailForm);\r\n setDynamicFormApplications(newInputList?.detailForm?.DynamicFormApplications);\r\n if (newInputList?.detailForm?.Id) {\r\n setFormMode(\"edit\");\r\n } else {\r\n setFormMode(\"create\");\r\n }\r\n },\r\n null,\r\n () => {\r\n localStorage.removeItem(\"formBuilderInputs\");\r\n sessionStorage.setItem(\"changingforms\", \"false\");\r\n }\r\n );\r\n }\r\n getDictionaryAvailableAsync();\r\n }, []);\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n event.returnValue = \"\";\r\n };\r\n\r\n useEffect(() => {\r\n if (userChanges) {\r\n sessionStorage.setItem(\"changingforms\", \"true\");\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n }\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n }, [userChanges]);\r\n\r\n useEffect(() => {\r\n if (userChanges) {\r\n localStorage.setItem(\r\n \"formBuilderInputs\",\r\n JSON.stringify({\r\n detailForm: informationForm,\r\n inputs: inputs,\r\n countList: countList,\r\n })\r\n );\r\n }\r\n\r\n setLoading(true);\r\n }, [inputs]);\r\n\r\n useEffect(() => {\r\n if (dragItem != null) {\r\n document.addEventListener(\"mouseup\", DropInput);\r\n document.addEventListener(\"mousemove\", moveDragInput);\r\n } else {\r\n }\r\n return () => {\r\n document.removeEventListener(\"mousemove\", moveDragInput);\r\n document.removeEventListener(\"mouseup\", DropInput);\r\n };\r\n }, [dragItem]);\r\n\r\n useEffect(() => {\r\n getFormsAsync();\r\n }, [forceUpdate]);\r\n\r\n useEffect(() => {\r\n setLoadingAfterSetting(true);\r\n }, [loadingAfterSetting]);\r\n\r\n return (\r\n <>\r\n {showFormInViewMode && (\r\n {\r\n setShowFormInViewMode(false);\r\n setFormMode(\"create\");\r\n setPreview(false);\r\n setFormInViewMode(null);\r\n }}\r\n >\r\n {\r\n getFormByNameAsync(formKey, \"copy\");\r\n setShowFormInViewMode(false);\r\n setFormMode(\"create\");\r\n setFormInViewMode(null);\r\n }}\r\n onHide={() => {\r\n setShowFormInViewMode(false);\r\n setFormMode(\"create\");\r\n setPreview(false);\r\n setFormInViewMode(null);\r\n }}\r\n copyPermission={true}\r\n formKey={FormInViewMode}\r\n />\r\n \r\n )}\r\n\r\n {showCreateForm && (\r\n {\r\n handleCloseCreateForm();\r\n }}\r\n >\r\n {\r\n handleCloseCreateForm();\r\n }}\r\n handleNewForm={(e,data) => {\r\n setDynamicFormApplications(data.DynamicFormApplications);\r\n setIsWorkflowEnable(data.IsWorkflowEnable);\r\n CheckExistAsync(e,data);\r\n }}\r\n obj={informationForm}\r\n />\r\n \r\n )}\r\n\r\n {showDefaultSetting && (\r\n {\r\n setShowDefaultSetting(false);\r\n }}\r\n >\r\n {\r\n setShowDefaultSetting(false);\r\n }}\r\n handleSettingForm={(e) => {\r\n setDefaultSettingObj(e);\r\n }}\r\n obj={informationForm}\r\n />\r\n \r\n )}\r\n {showDataCollectForm && (\r\n {\r\n setShowDataCollectForm(false);\r\n }}\r\n >\r\n {\r\n setShowDataCollectForm(false);\r\n }}\r\n />\r\n \r\n )}\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setListToolBar(0);\r\n getFormsAsync();\r\n }}\r\n className={`formBuilder__toolBar__header__title text-center p-2 w-100 ${\r\n !listToolBar\r\n ? \" color_text_black\"\r\n : formMode != \"view\"\r\n ? \"color_text_primary formBuilder__toolBar__header__disableTitle\"\r\n : \"color_text_primary formBuilder__toolBar__header__disableTitle \"\r\n }`}\r\n >\r\n {trans(\"forms\")}\r\n
    \r\n {\r\n setListToolBar(2);\r\n if (informationForm != null) {\r\n if (formMode != \"view\") {\r\n }\r\n }\r\n }}\r\n className={`formBuilder__toolBar__header__title text-center p-2 w-100 ${\r\n listToolBar == 2\r\n ? \"color_text_black\"\r\n : formMode != \"view\"\r\n ? \"color_text_primary formBuilder__toolBar__header__disableTitle\"\r\n : \" color_text_primary formBuilder__toolBar__header__disableTitle\"\r\n }`}\r\n >\r\n {trans(\"databox\")}\r\n
    \r\n {\r\n setListToolBar(1);\r\n if (informationForm != null) {\r\n if (formMode != \"view\") {\r\n }\r\n }\r\n }}\r\n className={`formBuilder__toolBar__header__title text-center p-2 w-100 ${\r\n listToolBar == 1\r\n ? \"color_text_black\"\r\n : formMode != \"view\"\r\n ? \"color_text_primary formBuilder__toolBar__header__disableTitle\"\r\n : \" color_text_primary formBuilder__toolBar__header__disableTitle\"\r\n }`}\r\n >\r\n {trans(\"toolBox\")}\r\n
    \r\n \r\n \r\n {listToolBar ? (\r\n <>\r\n {listToolBar == 1\r\n ? InputAvailable.map(\r\n (e: any) =>\r\n e.typeName != \"PositionDictionary\" && (\r\n {\r\n if (formMode != \"view\") selectInput(e, event);\r\n }}\r\n >\r\n
    \r\n
    \r\n {trans(e.typeName)}\r\n
    \r\n \r\n
    \r\n \r\n )\r\n )\r\n : dataDictionary.map(\r\n (e: any) =>\r\n e.typeName != \"PositionDictionary\" && (\r\n {\r\n if (formMode != \"view\") selectInput(e, event);\r\n }}\r\n >\r\n
    \r\n
    \r\n {trans(e.typeName)}\r\n
    \r\n
    \r\n \r\n )\r\n )}\r\n \r\n ) : (\r\n <>\r\n {formsLoading ? (\r\n
      \r\n {forms?.map((form, index) => (\r\n {\r\n getFormByNameAsync(form.FormKey);\r\n setFormMode(\"view\");\r\n }}\r\n >\r\n
      \r\n
      \r\n {form?.FormTitle}\r\n
      \r\n
      \r\n
      \r\n
      \r\n {form?.FormKey}\r\n
      \r\n
      \r\n {\r\n e.stopPropagation();\r\n getFormByNameAsync(form.FormKey, \"copy\");\r\n }}\r\n className=\"btn btn-sm ms-1 btn-warning d-flex justify-content-center align-items-center customBtnSize\"\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n getFormByNameAsync(form.FormKey);\r\n setFormMode(\"view\");\r\n }}\r\n className=\"btn btn-sm ms-1 btn-success d-flex justify-content-center align-items-center customBtnSize\"\r\n >\r\n \r\n \r\n {formMode == \"view\" && (\r\n <>\r\n {\r\n e.stopPropagation();\r\n getFormByNameAsync(form.FormKey);\r\n setFormMode(\"edit\");\r\n setShowCreateForm(true);\r\n }}\r\n className=\"btn btn-sm ms-1 btn-primary d-flex justify-content-center align-items-center customBtnSize\"\r\n >\r\n \r\n \r\n {\r\n e.stopPropagation();\r\n handleDeleteForms(form.FormKey);\r\n }}\r\n className=\"btn btn-sm ms-1 btn-danger d-flex justify-content-center align-items-center customBtnSize\"\r\n >\r\n \r\n \r\n \r\n )}\r\n
      \r\n
      \r\n \r\n ))}\r\n
    \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n \r\n \r\n {!listToolBar && (\r\n
    \r\n {\r\n setShowDefaultSetting(true);\r\n }}\r\n className=\"d-flex align-items-center justify-content-center btn btn-primary w-25 ms-1 \"\r\n >\r\n \r\n \r\n {\r\n setInformationForm(null);\r\n setShowCreateForm(true);\r\n setFormMode(\"create\");\r\n }}\r\n className=\"btn btn-primary w-75 \"\r\n >\r\n {trans(\"createform\")}{\" \"}\r\n \r\n
    \r\n )}\r\n\r\n {listToolBar == 2 && (\r\n
    \r\n {\r\n setShowDataCollectForm(true);\r\n setFormMode(\"create\");\r\n }}\r\n className=\"btn btn-primary w-75 \"\r\n >\r\n {trans(\"creation\") + \" \" + trans(\"databox\")}{\" \"}\r\n \r\n
    \r\n )}\r\n \r\n\r\n
    \r\n {\r\n checkClickHold = false;\r\n dragItem && addNewInput(dragItem, -1);\r\n }}\r\n ref={formBx}\r\n className={` formBoxDr glassBox border-0 position-relative`}\r\n style={{ height: \"85vh\" }}\r\n >\r\n {(showSetting || deleteTimerMode) && (\r\n
    \r\n )}\r\n\r\n <>\r\n {loading && loadingAfterSetting ? (\r\n inputs.length > 0 && (\r\n <>\r\n \r\n {\r\n setShowCreateForm(true);\r\n }}\r\n className=\"Modaltitle\"\r\n id=\"modal-form__title\"\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n {informationForm?.formTitle}\r\n \r\n
    \r\n \r\n {trans(\"paste\")}\r\n \r\n }\r\n >\r\n {\r\n if (informationForm != null && formMode != \"view\")\r\n handlePaste(e);\r\n }}\r\n className={\r\n informationForm == null || formMode == \"view\"\r\n ? \"text-muted\"\r\n : \"\"\r\n }\r\n style={{ cursor: \"pointer\", marginLeft: \"10px\" }}\r\n />\r\n \r\n\r\n \r\n {trans(\"edit\")}\r\n \r\n }\r\n >\r\n {\r\n if (informationForm != null) {\r\n setFormMode(\"edit\");\r\n setListToolBar(1);\r\n }\r\n }}\r\n className={\r\n inputs.length <= 0 && informationForm != null\r\n ? \"text-muted\"\r\n : \"\"\r\n }\r\n style={{ cursor: \"pointer\", marginLeft: \"10px\" }}\r\n />\r\n \r\n\r\n \r\n {trans(\"view\")}\r\n \r\n }\r\n >\r\n {\r\n if (\r\n informationForm != null &&\r\n inputs.length > 0\r\n ) {\r\n setShowFormInViewMode(true);\r\n setPreview(true);\r\n }\r\n }}\r\n className={\r\n inputs.length <= 0 && informationForm != null\r\n ? \"text-muted\"\r\n : \"\"\r\n }\r\n style={{ cursor: \"pointer\", marginLeft: \"10px\" }}\r\n />\r\n \r\n\r\n {inputs.length > 0 && formMode != \"view\" && (\r\n <>\r\n \r\n {trans(\"save\")}\r\n \r\n }\r\n >\r\n {\r\n sendData(e);\r\n if(formMode!=='edit'){\r\n } \r\n }}\r\n className={\r\n inputs.length <= 0 && informationForm != null\r\n ? \"text-muted\"\r\n : \"\"\r\n }\r\n style={{\r\n cursor: \"pointer\",\r\n marginLeft: \"10px\",\r\n }}\r\n />\r\n \r\n\r\n \r\n )}\r\n \r\n {trans(\"cancel\")}\r\n \r\n }\r\n >\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n {inputs.map((Obj, index) => {\r\n if (Obj.typeName == \"Step\") {\r\n flag = Obj.isOpen;\r\n }\r\n\r\n return (\r\n {\r\n checkClickHold = true;\r\n checkDrag(event, Obj, index);\r\n }}\r\n onMouseEnter={(e) => {\r\n document.getElementById(\"ViewBox\")?.remove();\r\n showspace(Obj, \"inputsId\" + index);\r\n if (!dragItem) {\r\n setSelectInputForm(true);\r\n }\r\n }}\r\n onMouseLeave={(e) => {\r\n if (!dragItem) {\r\n setSelectInputForm(false);\r\n }\r\n }}\r\n className={`d-flex position-relative align-items-start formBuilder__formBx__active col-${Obj.size} formBoxDr in`}\r\n >\r\n {showResetBtn &&\r\n selectingItemForDelete == index && (\r\n {\r\n e.stopPropagation();\r\n }}\r\n className=\"position-absolute p-1 top-0 right-0 text-white w-100 h-100 d-flex align-items-center justify-content-center blockBox \"\r\n style={{ zIndex: \"6\" }}\r\n >\r\n
    \r\n \r\n \r\n \r\n
    \r\n \r\n {trans(\"delete\")}\r\n \r\n }\r\n >\r\n {\r\n e.stopPropagation();\r\n }}\r\n className=\"d-flex align-items-center justify-content-center position-relative btn btn-danger p-1 m-2\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n removeInput(\r\n e,\r\n index,\r\n \"confirmDelete\"\r\n );\r\n }}\r\n >\r\n \r\n
    \r\n \r\n \r\n {trans(\"undo\")}\r\n \r\n }\r\n >\r\n {\r\n e.stopPropagation();\r\n }}\r\n className=\"d-flex align-items-center justify-content-center position-relative btn btn-success p-1 m-2\"\r\n onClick={(e) => {\r\n e.stopPropagation();\r\n removeInput(e, index, \"cancelDelete\");\r\n }}\r\n >\r\n \r\n
    \r\n \r\n \r\n )}\r\n {\r\n checkClickHold = true;\r\n checkDrag(event, Obj, index);\r\n }}\r\n className={` align-items-start h-100 justify-content-between w-100 formBoxDr iwn ${\r\n !dragItem &&\r\n formMode != \"view\" &&\r\n \"formBuilder__formBx__items\"\r\n }`}\r\n id={index}\r\n >\r\n