{"version":3,"sources":["components/ControlComponents/ComponentLabel.tsx","Helper/ReplaceSpecialChar.tsx","Services/RequestControlService.tsx","components/TextHeaderComponents/TextHeaderComponents.tsx","Services/UploadFileService.tsx","hooks/useMasterSetting.tsx","constants/device-type.ts","Services/AttachFileService.tsx","Helper/formatKeyLogicData.ts","Services/LineApprovalsService.tsx","Helper/DeviceDetect.tsx","constants/logic-type.ts","Helper/FormatDateTime.tsx","components/AntdControlComponent/InputControlComponent/InputControlComponent.tsx","Context/UserContext.tsx","Context/AlertContext.tsx","Context/MasterSettingContext.tsx","Helper/formatColumn.tsx","components/AntdControlComponent/DatePickerControlComponent/DatePickerControlComponent.tsx","components/AntdControlComponent/InputNumberControlComponent/InputNumberControlComponent.tsx","components/AntdControlComponent/RadioControlComponent/RadioControlComponent.tsx","components/AntdControlComponent/SelectDropdownContronComponent/SelectDropdownContronComponent.tsx","components/AntdControlComponent/MainCheckboxControl/CheckboxComponent.tsx","components/AntdControlComponent/MainCheckboxControl/SelectCheckboxComponent.tsx","components/AntdControlComponent/TextAreaControlComponent/InputTextAreaControlComponent.tsx","components/AntdControlComponent/AttachmentUploadControlComponent/AttachmentModal.tsx","components/AntdControlComponent/AttachmentUploadControlComponent/AttachmentComponent.tsx","hooks/useAlert.tsx","Helper/RequestRefFunctions.tsx","Services/DynamicService.tsx","Helper/RequestScreenHelper.tsx","components/RequestComponents/CoreControllerComponent/CoreControllerComponent.tsx","components/ControlComponents/SummaryComponent/SummaryComponent.tsx","components/RequestComponents/CoreControllerComponent/CoreControllerComponentTest.tsx","components/AntdControlComponent/TableComponent/TableComponent.tsx","components/AntdControlComponent/TableComponent/MoveToDialog.tsx","components/AntdControlComponent/TableComponent/TableFooter.tsx","components/AntdControlComponent/TableComponent/ExcelTablePreview.tsx","Helper/arrayHelper.ts","components/AntdControlComponent/AutoNumberFix/AutoNumberFix.tsx","components/ControlComponents/ButtonComponent/ButtonComponent.tsx","components/ControlComponents/EditorComponent/EditorComponent.tsx","components/ControlComponents/EmptyComponent/EmptyComponent.tsx","components/ControlComponents/ImageComponent/ImageComponent.tsx","components/ControlComponents/MainCheckboxComponents/MainCheckboxComponents.tsx","components/ControlComponents/MainTextComponents/HeadingComponent/HeadingComponent.tsx","components/ControlComponents/MainTextComponents/TextComponent/TextComponent.tsx","components/ControlComponents/MainTextComponents/MainTextComponents.tsx","components/ControlComponents/ButtonComponent/ButtonSpecialComponent.tsx","components/RequestComponents/CoreControllerComponent/Controls.tsx","components/InputTextComponents/InputTextComponents.tsx","Helper/GenerateGuid.tsx","Services/MemoService.tsx","Services/MasterDataService.tsx","Helper/LogicHelper.ts","components/Select/SelectionDataDialog/SelectDataDialog.tsx","Context/MemoPageContext.tsx","hooks/useMemoPage.tsx","components/NotificationComponent/NotiPopOverContent.tsx","components/ButtonNav/ButtonNavigation.tsx","IRequestModel/IAuthModel.tsx","Context/AuthContext.tsx","Services/EmployeeService.tsx","Services/PositionService.tsx","Services/DepartmentService.tsx","components/SettingDialogComponents/EmployeeDialog/EmplyeeDialog.tsx","Helper/localStoreFunction.ts","components/ButtonNav/ButtonNavigationDropdown.tsx","Services/NavBarMenuService.tsx","Services/ConfigurationService.tsx","components/NavigationBar/ChangePasswordModal.tsx","Services/AppSettingService.tsx","components/SettingDialogComponents/EmployeeDialog/EmployeeDialogFixed.tsx","Services/LoginService.tsx","components/NavigationBar/NavigationBar.tsx","Context/LoadContext.tsx","hooks/useLoading.tsx","Services/RoleServices.tsx","Services/AuthorizedService.tsx","screens/LoginScreen/LoginScreen.tsx","Helper/DeleteAllCookie.ts","azure/zure-authentication-config.ts","azure/azure-authentication-context.ts","screens/LoginScreen/LoginScreenAzure.tsx","components/FooterComponents/FooterComponents.tsx","components/ButtonComponents/ButtonComponents.tsx","assets/bin-icon.png","assets/edit-icon.png","Services/ApprovalMatrixService.tsx","components/SettingDialogComponents/ApprovalMatrixDIalog/ApprovalMatrixDialog.tsx","Services/CompanyService.tsx","components/SettingDialogComponents/CompanyDialog/CompanyDialog.tsx","components/SettingDialogComponents/Department/DepartmentDialog.tsx","components/SettingDialogComponents/DivisionDialog/DivisionDialog.tsx","components/SettingDialogComponents/MasterDataDialog/MasterDataDialog.tsx","components/SettingDialogComponents/MenuDialog/MenuDialog.tsx","components/SettingDialogComponents/PositionDialog/PositionDialog.tsx","components/SettingDialogComponents/RoleDialog/RoleDialog.tsx","components/DropdownComponents/DropdownComponents.tsx","components/TableComponents/Dynamic/DynamicDialog.tsx","components/TableComponents/Dynamic/DialogList.tsx","components/TableComponents/Dynamic/DynamicTable.tsx","Services/TemplateService.tsx","components/TreeSelectNewRequest/TreeSelectNewRequest.tsx","assets/LoadingWOLFmini.gif","screens/Report/DynamicReport.tsx","Services/ReportService.tsx","components/AutoCompleteComponents/AutoCompleteComponents.tsx","components/RadioButtonComponents/RadioButtonComponents.tsx","components/SettingDialogComponents/ReportDialog/ReportDialog.tsx","screens/UnAuthorizePage/UnAurthorization.tsx","components/HOC/withPermission.tsx","Helper/ExportExcel.tsx","components/TableComponents/DynamicTableFix/SearchTextInTable.tsx","Helper/TableHelper.tsx","components/TableComponents/DynamicTableFix/DynamicTable.tsx","components/ReportScreenComponent/SelectedFieldComponent.tsx","screens/Report/DynamicReportFix.tsx","screens/Report/ReportScreen.tsx","screens/WorkList/ShowContentScreen.tsx","components/WorklistScreenComponent/FlowCardComponent.tsx","screens/WorkList/FlowScreen.tsx","components/RequestComponents/HistoryComponent/HistoryComponent.tsx","screens/WorkList/HistoryScreen.tsx","components/WorklistScreenComponent/AttachmentCardComponent.tsx","screens/WorkList/AttachmentScreen.tsx","components/Input/CommentComponent.tsx","components/MemoButton/MemoButtonComponent.tsx","Services/ReviewPdfService.tsx","assets/ic_history.svg","assets/ic_attachment_file.svg","components/AntdControlComponent/BadgeNotificateComponent/BadgeNotificate.tsx","screens/WorkList/DetailContentScreen.tsx","components/Select/SelectDate.tsx","components/Select/MultiSelectDropdown.tsx","components/SearchFilterComponent/SearchFilterComponent.tsx","components/Select/SelectDropdown.tsx","screens/WorkList/WorkListSideBarElementUse.tsx","components/WorklistScreenComponent/WorklistCardComponent.tsx","Services/ApprovalService.tsx","screens/WorkList/WorkListScreen.tsx","Services/WorklistService.tsx","Services/HistoryService.tsx","screens/LoginScreen/LoginScreenOpenId.tsx","routes/PrivateRoute.tsx","components/ErrorPageComponent/ErrorPageComponent.tsx","components/CreateControlComponents/ButtonComponent/AddQueryComponent.tsx","components/CreateControlComponents/ButtonComponent/ButtonComponent.tsx","components/CreateControlComponents/AttachmentComponent/AttachmentComponent.tsx","components/CreateControlComponents/AutoNumberComponent/AddConditionComponent.tsx","components/Button/Button.tsx","components/CreateControlComponents/AutoNumberComponent/AddPreFixComponent.tsx","components/CreateControlComponents/AutoNumberComponent/AutoNumberComponent.tsx","components/CreateControlComponents/CalendarComponent/CalendarDefaultValueGroup.tsx","components/CreateControlComponents/CalendarComponent/CalendarComponent.tsx","components/CreateControlComponents/ChoiceComponent/ChoiceComponent.tsx","components/CreateControlComponents/MultiChoiceComponent/MultiChoiceComponent.tsx","components/CreateControlComponents/DropdownComponent/DropdownComponent.tsx","components/CreateControlComponents/EditorComponent/TemplateModal.tsx","components/CreateControlComponents/EditorComponent/EditorComponent.tsx","components/CreateControlComponents/HeadingComponent/HeadingComponent.tsx","components/CreateControlComponents/NumberComponent/NumberComponent.tsx","components/CreateControlComponents/RevisionComponent/AddConditionModal.tsx","components/CreateControlComponents/RevisionComponent/RevisionComponent.tsx","components/CreateControlComponents/ShortTextComponent/ShortTextComponent.tsx","components/CreateControlComponents/ModalCreateComponents/CreateControlSideBarElement.tsx","components/CreateControlComponents/TextAreaComponent/TextAreaComponent.tsx","components/CreateControlComponents/TableComponent/ColumnComponent.tsx","components/CreateControlComponents/TableComponent/ReferenceDocument.tsx","components/CreateControlComponents/TableComponent/FooterTableComponents.tsx","components/CreateControlComponents/TableComponent/TableComponent.tsx","components/CreateControlComponents/ImageComponents/ImageComponents.tsx","components/CreateControlComponents/ModalCreateComponents/ModalCreateComponents.tsx","components/TinyMceComponent/TinyMceComponent.tsx","components/TemplateDetailComponents/FormSettingComponent/FormSettingComponent.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/SelectCondition.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/SelectDataFormTable.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/ReadOnlyTable.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/AddMatrixCondition.tsx","components/TemplateDetailComponents/ApproveMatrixComponent/ApproveMatrix.tsx","components/CheckboxCpmponents/CheckboxCpmponents.tsx","components/TemplateDetailComponents/InformationComponents/InformationComponents.tsx","screens/TemplateDetailScreen/TemplateDetailSideBarElement.tsx","components/DataFechDialogComponents/EmployeeDialog/EmployeeDialog.tsx","components/TemplateDetailComponents/AuthorizationComponent/AuthorizationTable/AuthorizationTable.tsx","components/TemplateDetailComponents/AuthorizationComponent/AuthorizationModel/AuthorizationModel.tsx","components/TemplateDetailComponents/AuthorizationComponent/AuthorizationComponent.tsx","Helper/SortingFunction.tsx","components/TemplateDetailComponents/VersionAndHistoryComponents/VersionAndHistoryTable/VersionAndHistoryTable.tsx","components/TemplateDetailComponents/VersionAndHistoryComponents/VersionAndHistoryComponents.tsx","components/DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateDialogComponents/TableTemplateDialogComponentsFixed.tsx","components/TemplateDetailComponents/ReferenceDocumentComponents/ReferenceDocumentDialogFix.tsx","components/TemplateDetailComponents/ReferenceDocumentComponents/ReferenceDocumentComponentsFix.tsx","components/TemplateDetailComponents/ReferenceInformation/ReferenceInformationDialog.tsx","components/TemplateDetailComponents/ReferenceInformation/ReferenceInformation.tsx","Context/PDFEditorContext.tsx","hooks/usePDFEditor.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFCompontButton.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFToolBar.tsx","components/TemplateDetailComponents/PDFTemplateComponent/TabsButton.tsx","components/TemplateDetailComponents/PDFTemplateComponent/ColorPicker.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFEditorToolBar.tsx","components/TemplateDetailComponents/PDFTemplateComponent/StaticInput.tsx","components/TemplateDetailComponents/PDFTemplateComponent/StaticImage.tsx","components/TemplateDetailComponents/PDFTemplateComponent/DropableComponent.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PaperLayout.tsx","components/TemplateDetailComponents/PDFTemplateComponent/PDFTemplateComponent.tsx","Helper/ScreenHelper.ts","components/TemplateDetailComponents/TeplateLogicComponent/LogicFormByType/ShowHideControlModal.tsx","components/TemplateDetailComponents/TeplateLogicComponent/LogicFormByType/ShowHideControlForm.tsx","components/TemplateDetailComponents/TeplateLogicComponent/LogicFormByType/DataSourceConditionRow.tsx","components/TemplateDetailComponents/TeplateLogicComponent/LogicFormByType/DataSourceLoadForm.tsx","components/TemplateDetailComponents/TeplateLogicComponent/LogicFormByType/DataSourceRelateConditionRow.tsx","components/TemplateDetailComponents/TeplateLogicComponent/LogicFormByType/DataSourceRelatedForm.tsx","components/TemplateDetailComponents/TeplateLogicComponent/LogicFormByType/DataSourceRelatedToLoadData.tsx","components/TemplateDetailComponents/TeplateLogicComponent/LogicFormByType/ShowHideByRoles.tsx","components/TemplateDetailComponents/TeplateLogicComponent/LogicFormByType/SpecialActionServiceForm.tsx","components/TemplateDetailComponents/TeplateLogicComponent/LogicFormByType/SetValueControlModal.tsx","components/TemplateDetailComponents/TeplateLogicComponent/LogicFormByType/SetValueControlForm.tsx","components/TemplateDetailComponents/TeplateLogicComponent/JsonLogicForm.tsx","components/TemplateDetailComponents/TeplateLogicComponent/FormLogicComponent.tsx","components/TemplateDetailComponents/ActionServiceLogicComponent/TabsFormComponent/InformationTab.tsx","components/TemplateDetailComponents/ActionServiceLogicComponent/TabsFormComponent/MatchFieldsDataModal.tsx","components/TemplateDetailComponents/ActionServiceLogicComponent/TabsFormComponent/MatchFieldsTab.tsx","components/TemplateDetailComponents/ActionServiceLogicComponent/TabsFormComponent/EventTab.tsx","components/TemplateDetailComponents/ActionServiceLogicComponent/TabsFormComponent/ConditionTab.tsx","components/TemplateDetailComponents/ActionServiceLogicComponent/TabsFormComponent/APITab.tsx","components/TemplateDetailComponents/ActionServiceLogicComponent/TabsFormComponent/ReturnDataModal.tsx","components/TemplateDetailComponents/ActionServiceLogicComponent/TabsFormComponent/ReturnTab.tsx","components/TemplateDetailComponents/ActionServiceLogicComponent/TabsFormComponent/ReturnMessageTab.tsx","components/TemplateDetailComponents/ActionServiceLogicComponent/ActionserviceForm.tsx","components/TemplateDetailComponents/ActionServiceLogicComponent/ActionserviceTemplate.tsx","screens/TemplateDetailScreen/TemplateDetailScreen.tsx","screens/ForgotPasswordScreen/ForgotPasswordScreen.tsx","screens/DelegateScreen/DelegateApplyTo.tsx","components/RequestComponents/AttachmentComponent/DescriptionConfigComponent.tsx","screens/DelegateScreen/DelegateInformation.tsx","screens/DelegateScreen/DelegateSideBar.tsx","screens/DelegateScreen/DelegateScreen.tsx","Services/EmailTemplateService.tsx","components/SettingsSpecComponents/EmailTemplateDetail/EmailTemplateDetail.tsx","screens/SettingsSpecScreen/EmailTemplateDetailScreen.tsx","screens/SettingScreen/SimLineApproveScreen/SimLineSideBar.tsx","screens/SettingScreen/SimLineApproveScreen/InitialComponent/InitialComponent.tsx","screens/SettingScreen/SimLineApproveScreen/ResultComponent/ResultComponent.tsx","screens/SettingScreen/SimLineApproveScreen/SimLineApproveScreen.tsx","screens/DashboardScreen/DashboardCard/DashboardCard.tsx","screens/DashboardScreen/DashboardCalendar/DashboardCalendar.tsx","screens/DashboardScreen/DashboardTimeline/DashboardTimeline.tsx","Services/ProjectService.tsx","screens/DashboardScreen/DashboardScreen.tsx","Services/LogApiService.tsx","screens/LogApi/LogApi.tsx","components/SettingsSpecComponents/EmailTemplateList/EmailTemplateList.tsx","screens/SettingsSpecScreen/EmailTemplateListScreen/EmailTemplateListScreen.tsx","components/RequestComponents/InformationComponent/LeaveTypeComponents/LeaveTypeComponents.tsx","components/RequestComponents/InformationComponent/InformationComponent.tsx","components/RequestComponents/LineApprovalsComponent/LineApprovalsComponent.tsx","components/RequestComponents/RequestorComponent/RequestorComponent.tsx","components/RequestComponents/AttachmentComponent/AttachmentComponent.tsx","screens/Request/RequestSideBarElement.tsx","components/MemoButton/MemoSingleButton.tsx","screens/Request/RequestScreen.tsx","screens/TemplateDetailScreen/PreviewTemplateScreen.tsx","screens/LoginScreen/LoginGoogle.tsx","screens/RegisterWolfScreen/RegisterWolfScreen.tsx","components/RequestComponents/InformationComponent/RefTemplateComponent/TableRefTemplateComponent.tsx","components/RequestComponents/InformationComponent/RefTemplateComponent/DialogRefTemplateComponent.tsx","components/RequestComponents/InformationComponent/TemplateVersionComponent/TemplateVersionComponent.tsx","components/RequestComponents/InformationComponent/InformationComponentFix.tsx","components/RequestComponents/LineApprovalsComponent/LineApprovalsComponentFix.tsx","components/MemoButton/MemoButtonetcComponent.tsx","Context/AdminEditCompletedMemoPermissionContext.tsx","hooks/useAdminEditCompletedMemo.tsx","screens/Request/RequestScreenFix.tsx","Helper/Validation.tsx","Services/AcountService.tsx","components/SettingDialogComponents/AccountDialog/AccountDialog.tsx","components/TableComponents/DynamicTableFix/DynamicDialog.tsx","components/SettingDialogComponents/UserManualDialog/UserManualDialog.tsx","Services/UserManualService.tsx","components/TableComponents/DynamicTableFix/DialogListFix.tsx","screens/DelegateListScreen/DelegateListScreen.tsx","screens/LogSendEmailScreen/LogSendEmailScreen.tsx","Services/LogSendEmailService.tsx","screens/SettingScreen/MasterDataScreen/MasterDatascreenFixed.tsx","Helper/matrixItemToString.tsx","screens/Report/ReportScreenFix.tsx","Services/TimeStampService.tsx","screens/TimeStamp/TimeStampScreen.tsx","utils/plugins/msdoc/index.tsx","components/PDFPreviewComponent/PDFPreviewComponent.tsx","screens/PreviewAttachmentScreen/PreviewAttachmentScreen.tsx","assets/correct.png","screens/RequestActionMemo/RequestActionMemo.tsx","screens/RejectBrowerScreen/RejectBrowser.tsx","screens/LoginScreen/LoginSSUP.tsx","screens/BudgetScreen/BudgetTrackingScreen.tsx","screens/Procurement/ProcurementTrackingScreen.tsx","module/frasers/screens/BudgetReportScreen/ReportTable.tsx","module/frasers/screens/BudgetReportScreen/PaymentReport.tsx","routes/Routes.tsx","components/LoadComponent/LoadComponent.tsx","components/LoadComponent/LoadPackageComponent.tsx","assets/wolfLogo.png","components/Button/FloatingButton.tsx","components/NotificationComponent/NotificationComponent.tsx","App.tsx","registerServiceWorker.js","i18n.tsx","index.tsx"],"names":["ComponentLabel","props","_props$errors","_props$errors2","_props$errors3","_props$template","_props$template2","_props$template2$alte","_jsx","_Fragment","children","renderInTable","_jsxs","Col","sm","undefined","col","md","colText","xs","xl","style","paddingTop","rowIdx","className","concat","isSubmitted","errors","items","layout","colIdx","template","label","type","attribute","require","alter","replaceAll","rightComponent","replaceSpecialChar","str","replace","GetAutoNumber","async","email","window","localStorage","getItem","requestBody","UserPrincipalName","fetch","method","headers","body","JSON","stringify","then","response","json","data","catch","err","GetSaveRunningNumber","GetRvsRunning","CanAssignMoreThanOne","result","console","error","CanRequestCommentMoreThanOne","onDatareladToLoadData","dataJson","TextHeaderComponents","useEffect","isRequir","display","alignItems","fontSize","lineHeight","marginBottom","color","fontWeight","textHeaderProps","colorProps","textSubProps","UploadTinyMce","axios","url","log","UploadFileRenderControl","useMasterSetting","context","useContext","MasterSettingContext","Error","Device","GetAllAttachFiles","UploadFileAttachFiles","errUploadAttach","GetPort","respone","errUpload","formatKeyLogicData","logicData","_logicData","some","item","unshift","map","labelactionfield","Object","values","Array","from","Map","GetApprovalsByMemoIDs","memoIds","onLoadDataLiveApprove","errerrerr","SaveLineApprovalsByMemoId","memoId","current_approval_level","lineApprovals","MemoId","ListApprovalDetails","browserDetector","userAgent","navigator","match","edge","opera","chrome","firefox","safari","LogicType","LogicOperatorType","formatDateTime","value","defFormat","someDateString","moment","format","getDateFormat","dateFormat","date","symbol","time","use","useSecond","getTimeFormat","InputControlComponent","_ref","control","name","colAction","canEditDoc","checkActionPage","buttonType","onControlChange","Controller","rules","required","render","_ref2","field","formState","inpId","Input","onBlur","e","onChange","target","id","readOnly","readonly","size","placeholder","description","maxLength","parseInt","length","disabled","status","onKeyDown","_e$code","code","toLocaleLowerCase","setTimeout","_document$getElementB","curIndex","document","getElementById","getAttribute","nxtIdx","$","focus","click","InputTableComponent","_ref3","saveFunc","inputRef","isEditing","onEdit","toggleEdit","nId","nextTab","_document$getElementB2","checkEdit","setCheckEdit","useState","isMouseOver","setIsMouseOver","Tooltip","title","placement","Form","Item","margin","message","onMouseOver","onMouseOut","spellCheck","autoFocus","ref","defaultValue","onPressEnter","preventDefault","_e$code3","onFocus","select","width","onClick","_e$code2","initialSession","parse","_localStorage","employeeData","UserContext","createContext","useUserContext","UserContextProvider","userData","setUserData","defaultUserContext","Provider","AlertContext","alertColors","AlertContextProvider","api","contextHolder","notification","useNotification","toggleAlert","params","icon","BsFillInfoCircleFill","RiCloseCircleFill","FaCheckCircle","TiWarning","key","onClose","duration","borderRadius","zIndex","MasterSettingContextProvider","masterSetting","setMaterSetting","fecthData","settingDict","getMasterSetting","masterData","GetAllMasterData","filter","includes","MasterType","IsActive","forEach","updateMasterData","_masterData","formatToColumns","columns","rowData","i","formatColumn","newData","_data$row","row","j","_columns$j","_row","_item","idx","toString","push","column","align","_","record","index","cal","_column","tableWidth","widthInTable","Number","dataIndex","editable","isShow","DateInputComponent","_masterSetting$Format","_masterSetting$Format2","actionAlert","action","setAction","checkStatus","Data","ErrorType","Label","Value","formatDate","arrDate","split","mm","join","DatePicker","dateValue","newDate","Date","toDate","toLowerCase","toLocaleString","year","month","day","getDateValue","displayFormat","Value2","showTime","inputReadOnly","DatePickerControlComponent","checkRequireFromTemplate","controlTemplate","controlValue","controlUpdate","DatePickerTableComponent","_ref4","InputNumberComponent","InputNumber","symbolPosition","addonAfter","addonBefore","controls","formatter","_value","isNaN","useComma","minimumFractionDigits","decimal","String","toFixed","default","maximumFractionDigits","blur","InputNumberControlComponent","_template$attribute$m","_template$attribute$m2","validate","min","max","_errors$items$rowIdx","_errors$items$rowIdx$","_errors$items$rowIdx$2","_errors$items$rowIdx$3","_errors$items$rowIdx2","_errors$items$rowIdx3","_errors$items$rowIdx4","_errors$items$rowIdx5","_errors$items$rowIdx6","_errors$items$rowIdx7","_errors$items$rowIdx8","_errors$items$rowIdx9","intValue","InputNumberTableComponent","useAlert","validator","correct","msg","formatValue","formatMaxValue","formatMinValue","Promise","resolve","reject","border","RadioComponent","Radio","Group","multipleLine","Space","direction","choice","RadioControlComponent","RadioTableComponent","normalize","Option","Select","SelectWithTableDropdownComponent","_template$attribute","_template$attribute$i","tableOptions","onDropdownVisibleChange","loading","showSearch","optionFilterProp","filterOption","input","option","textAlign","height","SelectDropdownComponent","_template$attribute2","_template$attribute2$","_children","_children$toLowerCase","SelectDropdownControlComponent","allLogicInTable","getValues","customOptions","setCustomOptions","labelActionLogic","setLabelActionLogic","setLoading","open","_value$template","des","conditions","actionlabel","allVal","dataReleteToDD","con","Key","_layout","_layout$template","_layout$template2","_layout$template3","val","res","logicRequest","SelectDropdownTableComponent","_ref5","_e$actionlabel","startsWith","_layout$template4","_layout$template5","_layout$template6","CheckboxInTableComponent","Checkbox","options","checkValue","onSelectChange","checkedValues","_onChange","test","check","_values","CheckboxComponent","_res","CheckboxControlComponent","_value$item","_value$item2","_value$item3","every","CheckboxTableComponent","paddingRight","SelectCheckboxInTableComponent","splitData","mode","SelectCheckboxComponent","SelectCheckboxControlComponent","SelectCheckboxTableComponent","InputTextAreaControlComponent","TextArea","tId","autoSize","minRows","rows","InputTextAreaTableComponent","_document$getElementB3","_e$code4","AttachmentModal","visibleDialog","setVisibleDialog","setCheckHasValue","toast","nameFile","setNameFile","link","setLink","SharepointSiteURL","TinyURL","visibleConfirmDialog","setVisibleConfirmDialog","selected","setSelected","setValue","fileType","setFileType","onFileSelected","mapData","hasInvalidFiles","file","dataTransfer","files","currentTarget","filefilefile","myArray","endsWith","filesize","uploadFile","_response$data","formData","FormData","append","generateQuickGuid","EmployeeId","_response$data$pathUr","pathUrl","confirm1","confirmDialog","header","rejectClassName","Dialog","blockScroll","visible","breakpoints","modal","position","onHide","draggable","footer","Button","footerDialog","SelectButton","controlId","Control","accept","alignSelf","marginTop","htmlFor","InputText","_e$target$value","_e$target$value2","AttachmentComponent","useRef","isModalVisible","setIsModalVisible","checkHasValue","_userData","uploadType","setUploadType","_sharepointSiteURL","deFaultValue","def","linkFile","acceptUpload","Toast","ConfirmDialog","acceptClassName","Popover","content","substring","_link","charAt","protocol","location","browser","href","host","_port","port","newLink","fullLink","openWindow","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","borderBottomRightRadius","backgroundColor","boxShadow","AiOutlineClose","AttachmentControlComponent","AttachmentTableComponent","AntForm","onMouseEnter","onChanceRef","refTempSelected","memoDetail","listFormNames","refAttribute","currentTemp","listRefDocsDetail","listFileAttachDetails","refTemp","template_desc","_listRefDocsDetail","docsCode","refColumn","RefDocColumn","RefTemplate","temp","DocumentCode","refTems","refDocDetail","memoRefdoc_id","doc_no","DocumentNo","template_ID","template_id","template_Name","template_name","memoSubject","subject","MAdvancveForm","selectedColumn","valibCol","ControlValue","Amount","RNameEn","RPositionTh","RPositionEn","DepartmentTh","DepartmentEn","TemplateName","RequestDate","CompanyName","selColLabel","indexOf","colLabel","pop","TypeControl","sourceRow","sourceCols","targetPositions","selCol","_col$objTable","objTable","tarColIdx","refTable","_selectedColumn$items","_selectedColumn$items2","_selectedColumn$items3","tableRows","newRow","originCol","_colIdx","refCol","_refCol$_colIdx","getDefValueInTemplate","rowstateCol","find","_layout$data","_col$ControlValue","RefDocDisplay","getMemoForAttch","errorMessage","memoid","GetAttachmentFilesByMemoId","GetAllDynamic","apiName","queryString","UserPrincipal","ConnectionString","URLSearchParams","Scopes","IsActiveOnly","ex","updateDynamic","formBody","model","genAutoNum","_control","autoNumFormat","isCopy","arguments","formats","autoNumberAttibute","isCheck","choiceFormat","tempLabels","tempValues","condition","allConditionsMatched","conditionMatched","_condition$value","_tempValue","tempValue","_condition$value2","_tempValue2","isEqual","trim","_formats$find","formattedYear","newPosition","newFormat","RegExp","rowIndex","colIndex","showSymbol","prefix","fisrtPreix","Prefix","Digit","digit","TemplateId","Status","dd","Message","callGenAutoNumber","callAutoNumber","getValueControl","controlID","strValue","requestor","EmployeeCode","NameEn","Email","PositionNameEn","DepartmentNameEn","templateType","returnValue","selectedItem","checked","defaultType","defaultDate","now","add","getRefInforValue","_memoDetail$requestor","_memoDetail$requestor2","_memoDetail$requestor3","_memoDetail$requestor4","_memoDetail$requestor5","_memoDetail$requestor6","_memoDetail$requestor7","_memoDetail$requestor8","_memoDetail$requestor9","_memoDetail$requestor10","_memoDetail$requestor11","_memoDetail$requestor12","_memoDetail$company_i","_memoDetail$company_i2","NameTh","PositionNameTh","DivisionNameEn","DivisionNameTh","DepartmentNameTh","company_id","balanceParentheses","expression","stack","char","finalResult","reverse","calculateAdvanceForm","form","tableSums","layouts","calCulateFunc","calCulateInTableFunc","_layout$data$row","_layout$data2","_layout$data3","rowDatas","cell","numericValue","formula","formulas","_result","resulstField","formu","resultColIdx","resultDecimal","operator","fields","lastIndexOf","_rowData$col$label","_rowData$col$label$to","firstDate","lastDate","diff","resCol","hours","Math","trunc","remainingMinutes","formattedTime","abs","allField","_rowData$colIdx$value","_rowData$colIdx$value2","eval","colSum","tableSum","total","NaN","variables","datepicker1","_tableSum$selCol$0$se","CoreControllerComponent","advanceForm","setAdvanceForm","tableSummary","setTableSummary","summary","setSummary","isShowSummary","setIsShowSummary","formLoading","setFormLoading","formComponent","setFormComponent","setAutoNumFormat","autoNumDigit","setAutoNumDigit","numFormulas","setNumFormulas","allLogic","setAllLogic","valueTable","setValueTable","runningNumber","setRunningNumber","rvsPosition","setRvsPosition","currentLogic","setCurrentLogic","sumValue","isFirstLoad","setIsFirstLoad","getRevision","_advanceForm","detail","requestDetail","rvsTemp","RefId","Labelrevision","Alter","Itemlabel","revision","formTemplate","setSumTable","keys","renderControl","_advanceForm$items","logic","isInitialLogic","checkLogic","_props$listLogicData","_props$listLogicData2","_props$listLogicData3","listLogicData","relateGroup","onDataSourceLoadRelated","onChangeAttributeForm","onDataAjaxLoadTable","onDataRefLoadTable","onLoadLineApproveWithLogic","onClickLogic","mstTable","mstType","mColumn","columnAll","requestLogic","lineLogic","_logic","jsonvalue","jsonObject","logictype","relatedvalue","relateValue","k","l","group","logicid","labelactions","labelaction","labelintablestatus","autoloadvaluelabel","m","loadTo","refFilter","loadToField","Column","Mastertable","Type","MColumn","ColumnAll","Filter","controlFilter","TBColumn","mstColumn","MSTColumn","tbColumn","setListLogicData","setIsInitialLogic","empId","dataSourceLoadGroup","dataSourceRelatedToLoadGroup","z","element","roles","fieldaction","lable","n","roleids","RoleId","approvals","approvetypeids","typeid","approver","sequence","emp_id","ApproveType","logicGroupData","onDataSourceLoad","onChangeLogicForm","logicGroup","keyValues","setInformationMethodProp","tableArray","tableLabel","onLoadLogic","templateID","query","onChangeRefValueTableForm","DT","onChangeAttributeTableForm","empData","_dataJson","requestData","employee","ComCode","JsonCondition","templateForm","TemplateApproveId","lstTRNLineApprove","lineApproval","listApprovalDetails","_data","isHas","lineNew","line","setRequestDetail","prevState","responseGroup","dataGroup","dataSource","onChangeValueForm","onTableDatareladToLoadData","advanceRow","advanceCol","tableRow","tableCol","tableActionCol","onChangeValueTableForm","dataRequest","_dataRequest","rowTable","_colData","entries","relate","permittedValues","resRow","perValue","colData","fill","onChangeEditForm","statusMemoDetail","onChangeEditFormTable","tableRowIdx","tableColIdx","table","onTableFooterChange","footerVal","footerRow","footerTable","fm","ft","sum","updateTableSum","tableName","ss","sumTable","calNumberWithFormula","regExp","controlComponent","ProgressSpinner","padding","SummaryComponent","headtext","subtext","summaryProps","inputId","inputClassName","minFractionDigits","inputStyle","background","CoreControllerComponentTest","setDfCurr","dfCurr","onProcessLogicReference","templateDesc","trigger","setMemoDetail","isFirstRun","previousRefTempSelected","register","handleSubmit","onSubmit","onSubmitInterface","documentNo","reset","jsonConditions","setJsonConditions","setLineApproval","isControlLoading","setIsControlLoading","getLineApproveForAmount","setListFileAttachDetails","tableSummaries","setTableSummaries","previousView","setListRefDocDetails","prepareInitialLogic","setTableOptions","checkInterFace","returnMessage","listReturn","interfaceButton","setButtonType","edFont","defaultFont","update","useFieldArray","keyFrom","setFormKey","prev","controlRef","setAllLogicInTable","tableLogics","DataRelatedToLoadData","DataAjaxLoadTable","jsonValue","DataSourceLoad","_jsonValue$conditions","cons","objectkey","RefInfomation","HideControl","ReadOnlyControl","jsonLabel","comparewith","SetValueControl","actionControl","isInTable","valuetoset","returnToValure","gogo","processRef","refIdOnQuery","refResult","onRefSelect","current","checkTheKeyMatch","isDefaultLineApprove","isDifferent","refRpreviousRefTempSelectedesult","_refTempSelected$","_refRpreviousRefTempS","refSelected","listMemoIds","resApprovals","detechRevisionControl","newControl","_onControlChangeRef","onProcessSummary","jsonCondition","_amount","isSum","isControlHasSum","selTable","tableTemp","AllCol","_row$colIdx","sumControl","sumRes","onCheckInterface","setLoadingInterface","request","inputComment","waitingFor","waitingForId","updateAllColValuesToRandomStrings","getRandomValue","random","mergedAllCol","isArray","randomValue","updateVariablesWithRandomValues","randomValues","regex","trimmedKey","hasOwnProperty","warn","calCulateCorecontrol","currentControl","callLogicOnCal","cloneDeep","datepicker","flatMap","array","_match","selValue","_item$layout","callLogics","checkCallLogic","dateTemplate","subtract","updateTableSummaries","_tableSummaries","_sumTable","_onControlChange","logics","callLogic","DataSourceRelated","labelAction","Reference","DataLineApprove","_controlTemplate$attr","_controlTemplate$attr2","_controlTemplate$attr3","allLabel","tempColumns","_jsonConditions","oldRefControl","refControl","table_dd_to_dd_Result","_response","onProcessLogic","Set","isRef","_controlString","newControlString","Value1","sort","a","b","_templateId","onProcessLogicDataSourceRelated","_controlTemplate$attr4","responseDataSourceLoadRelated","controlDescription","jsonRelated","keyRelate","valueRelate","_responseDataSourceLo","_layout$template2$att","_label","_des","_jsonValue$relatedval","_item$layout2","_layout$template4$att","onProcessLogicAjax","actionFrom","_templateDesc$items","_item$layout3","onProcessLogicLineApprove","conditionsValue","onFilterCondotionsValue","onProcessLogicDataRelatedToLoadData","onFindDataJson","checkIfLogicsHaveValue","rawData","_bool","checkIfGetData","controlString","responseData","ee","newColumn","rowTemplate","colTemplate","relateData","resVals","processData","processHideControlLogic","valueToSet","consGroup","isConditionsSatisfied","conditionSatisfied","dataValue","checkIsCorrect","hasDatalineapprove","actionTemplate","newLogic","_layout$template$attr","_layout$data$row2","_controlValue","exit","_column$control$templ","_column$control$templ2","Conditions","Spin","tip","spinning","labelCol","span","wrapperCol","initialValues","remember","onFinish","_control$layout","Row","Controls","formKey","nestIndex","_e$template","confirm","Modal","Text","Typography","EditableContext","React","EditableRow","useForm","component","EditableCell","handleSave","isError","refDocOptions","refTableColumn","restProps","editing","setEditing","memoByOption","setMemoByOption","haveLink","setHaveLink","isRevision","setIsRevision","reportRef","setReportRef","_inputRef$current","cursor","setFieldsValue","save","getFieldsValue","responseControlChange","errInfo","process","findRefMemoId","refdoc","mergecolumnrefdoc","_refdoc","HaveLink","ColumnLabel","IsRevision","_reportRef","docReport","Memo_MemoId","_template$attribute3","_template$attribute4","_template$attribute4$","childNode","logicsOfTable","_col","logicInCol","isShowOnLogic","isConditionSatisfied","isConditionSatisfiedFunc","isReadOnly","isEditable","_haveLink$label","_haveLink$label2","_haveLink$label3","_refDocOptions$find","getUrl","baseUrl","URL","RefDocLabel","rel","doc","flexDirection","justifyContent","TableComponent","_layout$template$attr2","_columns","moveToDialogVisible","setMoveToDialogVisible","moveFormIndex","setMoveFormIndex","tableLoad","setTableLoad","refTableDialogVisible","setRefTableDialogVisible","refTableLoading","setRefTableLoading","setRefDocOptions","setRefTableColumn","tableFooter","setTableFooter","exportFile","setExportFile","loadFile","setLoadFile","enabledpopupdefdoc","fetchRefDocFormTable","handleDelete","summaryFunc","returnToValue","menu","createRowCopy","cols","tableLogic","colLogic","x","fmt","defValue","keyData","handleAdd","eiei","handleAddMultiRow","newRows","inputData","formattedRows","Keep","rawValue","_numericValue$toStrin","_numericValue","_row$col$label","_row$col$label$toStri","labels","_getValues","_row$col$label2","_row$col$label2$toStr","_tableSummary","_sum","_e$col$control$templa","_e$col$control$templa2","_e$col$control$templa3","_e$col$control$templa4","debouncedCalCulateTableFooter","debounce","calCulateTableFooter","findIndex","originTemplatedesc","actionIndex","splice","defColumns","fixed","actionBodyTemplate","onCell","_menu$current$record$","toggle","addRowTo","duplicate","moveTo","updateRow","command","Fragment","TieredMenu","popup","el","IoEllipsisVertical","changeObj","_formu","_summary$col$label","_summary$col$label2","_footer$value","_eval","_eval2","tempAtt","PageIndex","PageSize","CUserID","creator","RUserID","ConditionRefdoc","conditionrefdoc","Search","docDataSource","docCancelDoc","docEditDoc","docNewDoc","doccontrol","docref","refDetails","GetRefDocFormTable","refOptions","_option","CreatorId","report_lang","CNameEn","CNameTh","CPositionEn","CDivisionEn","CDepartmentEn","RequesterId","RNameTh","RDivisionEn","RDivisionTh","RDepartmentEn","RDepartmentTh","StatusName","MemoSubject","headerEn","_refReportDetail$dt_R","refReportDetail","dt_Report","onImportExcel","onExportExcel","fileName","mAdvance","blob","createObjectURL","Blob","createElement","download","appendChild","remove","handleFileUpload","putExcelToTable","resultData","slice","ExcelTablePreview","onCheckedHeader","okButtonProps","CheckCircleOutlined","rev","onOk","cancelButtonProps","CloseSquareOutlined","menuClickHandler","onchange","_e$target","menuItem","Menu","info","FileTextOutlined","canImport","Dropdown","overlay","Table","components","rowClassName","bordered","scroll","y","haveInput","useValue","TableFooter","footerAtt","_layout$template$attr3","isShowSum","isSummary","Summary","Cell","MoveToDialog","dataLength","isVisible","setIsVisible","moveFunc","SelectDataDialog","dialogKey","dataList","dialogVisible","setDialogVisible","selectionMode","mutiable","onSelectFunc","_selectedData","memo","moveValue","setMoveValue","renderFooter","closable","resizable","onValueChange","inputValue","setInputValue","parser","dup","sourceData","setsourceData","displayData","setDisplayData","pageSize","setPageSize","setCurrent","pagination","onShowSizeChange","arr1","arr2","arrItems1","arrItems2","AutoNumber","ButtonComponent","setUrl","useHistory","newUrl","param","paramiter","EditorComponent","contentEditor","setContentEditor","_tinyURL","applyStylesToEditor","editor","editorBody","getBody","wordBreak","overflowWrap","querySelectorAll","styledValue","div","innerHTML","applyStylesToContent","tableLayout","wordWrap","dangerouslySetInnerHTML","__html","Editor","tinymceScriptSrc","init","statusbar","paste_data_images","menubar","content_css","object_resizing","default_link_target","fullscreen_native","remove_script_host","relative_urls","image_title","automatic_uploads","image_sourcetab","image_advtab","plugins","toolbar","toolbar1","fontsize_formats","font_formats","content_style","images_upload_handler","blobInfo","success","failure","File","filename","lastModified","setup","on","onEditorChange","handleEditorChange","EmptyComponent","ImageComponent","valueState","setValueState","_props$template$attri","_props$template$attri2","_props$template3","isValidUrl","pointerEvents","Image","src","alt","CgCloseR","guid","onFileSelect","MainCheckboxComponents","HeadingComponent","istext","whiteSpace","textvalue","MainTextComponents","TextComponent","ButtonSpecialComponent","loadingInterface","htmlType","layoutIdx","layoutLength","_colText","_colAction","_isCanEdit","_createElement","isHideAllColumn","o","reduce","pre","cur","hidden","_value$data","pass","errorCols","checkedRequire","_errors$items$nestInd","_errors$items$nestInd2","_tableSummaries$find","_errors$items$nestInd3","_errors$items$nestInd4","each","setAttribute","InputTextComponents","_props$valueProps","setStyleDivProps","setClassNameSpanProps","setIconProps","setClassNameProps","setStyleProps","onChangeProps","keyProps","valueProps","disabledProps","placeholderProps","onClickProps","readOnlyProps","autoFocusProps","typeProps","acceptProps","onBlurProps","onFocusProps","fieldProps","GetButtonMemoByMemoId","ActionMemoPage","GetMemoDetailById","GetMemoDetail","GetMemoDetailOnlyById","GetRefDocTemp","GetAllMemo","GetMemoHistoryDetail","SetCheckAcces","SpecialActions","MAdvanceFormByMemoIds","getStatusQueueByActorId","UpdateDismissById","GetMemoByAutoNumber","LoadState","GetAllMasterDataService","this","state","COMPLETE","queue","FAIL","IDLE","r","responseToQueue","retrieve","GetSignature","isActive","GetReportSetting","GetIsDocControl","getAuthorization","getVersion","getVersionTempVC","GetLeaveTemplate","GetLeaveTemplateByEmpId","GetMasterDataFieldInfo","GetMasterDataReportTem","GetFontList","GetMasterDataBrowserAgent","browsers","value1","messages","value2","GetMasteLeave","enumToObject","emun","fromEntries","getTranFormAdvanceForm","_temp$attribute","aValue","bValue","Equal","MoreThan","LessThan","GreaterThanAndEqual","LessThanAndEqual","NotEqual","Contain","StartWith","EndWith","updateTo","isTable","fieldsToCheck1","maincondition","_con","subCondition","compareWith","isConditionSatisfiedFunc2","objLabel","resetonaction","_jsonValue$label","controlLabel","cond","conditionGroup","areSubConditionsSatisfied","globalFilterValue","setGlobalFilterValue","searchData","setSearchData","searchKey","setSearchKey","tooltipRef","multiSwitch","setMultiSwitch","selectedDatas","setSelectedData","dynamicColumns","headerTh","newField","_col$field","_col$field2","Lang","updateTargetEvents","onGlobalFilterChange","findData","mouseTrack","mouseTrackLeft","mouseTrackTop","autoHide","renderHeader","gutter","alignContent","columnGap","Switch","onShow","customFooter","DataTable","paginator","tableStyle","borderColor","responsiveLayout","dataKey","selection","onRowSelect","onSelectionChange","sortField","sortOrder","headerStyle","selectedData","minWidth","MemoPageContext","MemoPageContextProvider","processQue","setProcessQue","FailQue","setFailQue","setIsCheck","user","intervalId","setInterval","getMyMemoStatus","clearInterval","isAuto","fail","onDismiss","checkSyncMemo","useMemoPage","NotiPopOverContent","rowGap","que","right","top","handleDismissNoti","CloseCircleOutlined","Link","to","ButtonNavigation","setActive","setDefaultUrl","menuButton","setMenuButton","sortableMenu","setSortableMenu","toggleState","setToggleState","t","useTranslation","history","useLocation","alert","listNotify","setListNotity","activeIndex","setActiveIndex","search","pathname","uid","setUid","workUrl","setWorkUrl","settingUrl","setSettingUrl","reportUrl","setReportUrl","dashBoard","setBoardUrl","generatedUid","uuidv4","replaceUrl","toUpperCase","useMemo","GroupMenu","create","Request","newResult","uniqueArray","SubMenu","obj","OrderGroup","toggleArray","_idx","_toggleState","Url","res_every","mapIcon","RiTodoLine","AiOutlineReconciliation","AiOutlineSetting","AiOutlineUnorderedList","jobId","setNavbarActive","handleActiveIdx","encodedPath","decodedPath","decodeURIComponent","_menu$","_menu$2","_menu$1$","_menu$1$2","_menu$1$3","_menu$3","gap","OrderSub","InternalUrl","_url","AiFillBell","redirectPath","isAuthenticated","Cookies","get","SessionContext","useSessionContext","SessionContextProvider","sessionState","setSessionState","defaultSessionContext","GetAllEmployee","qs","opts","UpdateEmployee","GetAllPosition","GetDepartment","EmployeeDialog","_props$formData18","_props$formData19","_props$formData20","_props$formData21","_props$formData22","_props$formData23","_props$formData24","reValidateMode","shouldUnregister","messageConfirmDialog","setMessageConfirmDialog","formSelectedPosition","setFormSelectedPosition","formSelectedDepartment","setFormSelectedDepartment","formSelectedDivision","setFormSelectedDivision","positionList","setPositionList","deptList","setDeptList","divList","setDivtList","dataEmployeeList","setDataEmployeeList","report_To","setReport_To","setUploadFile","subDialogVisible","setSubDialogVisible","fetchDataEmployee","_dataEmployee","selectedEmp","Report_ToNameEn","_props$formData13","ReportToEmpCode","fetchPosition","_dataPosition","newList","_props$formData14","PositionId","fetchDepartment","_dataOrgranize","_props$formData15","DepartmentId","fetchDivision","_dataDivision","_props$formData16","divtList","DivisionId","isEmptyObject","dialogHeader","_props$formData","_props$formData2","_props$formData3","_props$formData4","_props$formData5","_props$formData6","rowDataPosition","rowDataDept","mainDialogVisible","_props$formData7","_props$formData8","_props$formData9","_props$formData10","_props$formData11","_props$formData12","getFormErrorMessage","acceptSave","empDup","isCodeDup","isEmailDup","_props$formData17","setMainLoading","_report_To$EmployeeId","_report_To$EmployeeId2","Username","Position","Department","Division","ModifiedDate","hour","minute","second","ModifiedBy","CreatedDate","CreatedBy","SignPicPath","newUser","setTableData","setMainDialogVisible","reader","FileReader","readAsDataURL","onload","onerror","getBase64","maxWidth","baseZIndex","pattern","fieldState","classNames","invalid","_ref6","_ref7","InputSwitch","_ref8","optionLabel","showClear","filterBy","_ref9","_ref10","_ref11","_ref12","FiX","FiSave","ignore","clearLocalStorageOnLogout","removeItem","ButtonNavigationDropdown","nameUser","setNameUser","shortNameUser","setShortNameUser","emailUser","setEmailUser","setEmpData","cookies","fullName","firstName","lastName","Panel","Collapse","mapButton","IoPersonOutline","IoMailOutline","BsFillPersonFill","handleOpenChangePasswordModal","viewBox","xmlns","d","stroke","IoLogOutSharp","closeDropdown","defaultActiveKey","GetNavbarMenu","mail","navBarData","GetDashboardKeyEndpoint","keyConfig","GetDashboardStatusCard","LoginConfiguration","ADTitleConfiguration","ChangePasswordModal","handleCancel","onSubmitPassword","isPasswordCompared","closeIcon","IoMdClose","onCancel","current_password","new_password","comfirm_password","CheckCanEditProfile","CheckAutoReport","EmployeeDialogFix","toggleMainDialog","tableData","canEditOnlySignature","isEditProfile","departmentList","setDepartmentList","editProfileSetting","setEditProfileSetting","i18n","watch","setError","CompanyCode","DivisionCode","GetEmployeeWithSign","getSetting","canEditProfile","getReportTo","currentCode","emp","_e$target$files$","_e$target2","_e$target2$files$","validTypes","limitFileSize","errs","_formState","_errs$name$message","_errs$name$message2","ProgressBar","changeLanguage","setItem","selectedPosition","pos","selectedDept","dept","selectedDiv","_selectedEmp$Employee","_selectedEmp$Employee2","onError","lg","EmployeeCodeSize","_getWatch","_ref13","limitFileInfo","loginWolfBD","username","password","TmpUrl","oidc","searchParams","logoutRequest","postLogoutRedirectUri","querystring","NavigationBar","_props$responeConfig10","navigationMenu","setNavigationMenu","toggleDropdown","setToggleDropdown","popOverClick","setPopOverClick","popOverHover","setPopOverHover","showNav","setShowNav","setIsActive","instance","accounts","useMsal","setVisible","confirmLoading","setConfirmLoading","setIsPasswordCompared","isFetching","setIsFetching","useRouteMatch","isWolf","setIsWolf","setCanEditProfile","setCanEditOnlySignature","isResetUrl","setisResetUrl","defaultValues","addEventListener","handleScroll","initialNameUser","fetchNav","checkState","_navigationMenu","_isWolf","_canEditProfile","handleClickChange","signOutClickHandler","baseurl","origin","_accounts$","account","getAccountByHomeId","homeAccountId","logoutRedirect","endSessionEndpoint","redirect","handleOpenEditProfileModal","handleResetUrl","userPopupContent","_baseUrl","hostname","newPassword","oldPassword","webUrl","_data$Remark","updatedRemark","Remark","responeConfig","pathNavbarColor","BsList","NavbarDesktop","_props$responeConfig","_props$responeConfig$","_props$responeConfig2","_props$responeConfig3","_props$responeConfig4","cssConfig","pathLogoNav","onVisibleChange","overlayInnerStyle","NavbarMobile","_props$responeConfig5","_props$responeConfig6","_props$responeConfig7","_props$responeConfig8","_props$responeConfig9","LoadContext","LoadProvider","isLoad","setLoad","useLoading","GetRolePermissionByUser","GetPermissionByEmpId","GetMemoAuthorized","CheckRolePermission","isAdmin","permissions","thispermiss","permiss","role","permis","IsDelete","LoginScreen","_errors$username2","_errors$password2","webVersion","setWebVersion","apiVersion","setAPIVersion","onLoading","setOnLoading","remarkValid","setRemarkValid","carouselItem","PathCarousel","fetchVersion","hash","Carousel","autoplay","_carousel","_loginBody","_loginWolfAccount","_loginWolfAccount$emp","fav_storage","set","GuidVerify","path","expires","loginWolfAccount","_loginWolfAccount$emp2","PathLogo","AiOutlineMail","_errors$username","AiOutlineLock","_errors$password","HidePassAndRegister","paddingBottom","IsMulti","deleteAllCookies","cookie","c","toUTCString","MSAL_CONFIG","auth","clientId","cache","cacheLocation","storeAuthStateInCookie","system","loggerOptions","loggerCallback","level","containsPii","LogLevel","Info","Verbose","debug","Warning","AzureAuthenticationContext","constructor","_MSAL_CONFIG$auth","myMSALObj","PublicClientApplication","loginRedirectRequest","loginRequest","isAuthenticationConfigured","setRequestObjects","scopes","prompt","redirectStartPage","login","signInType","setUser","loginPopup","resp","handleResponse","loginRedirect","logout","logOutRequest","incomingFunction","getAccount","currentAccounts","getAllAccounts","LoginScreenAzure","currentUser","setCurrentUser","dialogBD","setDialogBD","errorMassage","setErrorMassage","inProgress","useIsAuthenticated","authenticationModule","useMsalAuthentication","InteractionType","Silent","InteractionStatus","None","submitAzure","_accounts","idTokenClaims","aud","exp","ActionPassLogin","pathCarousel","pathLogo","MdOutlineLock","FooterComponents","ButtonComponents","_props$setLabelProps","setLabelProps","GetAllApprovalMatrixItem","ApprovalMatrixDialog","itemsList","setItemsList","itemsListShow","setItemsListShow","subDialogVisible2","setSubDialogVisible2","setMode","approvers","setApprovers","amountFrom","setAmountFrom","amountTo","setAmountTo","positionLevelList","setPositionLevelList","formSelectedPositionLevel","setFormSelectedPositionLevel","itemAction","setItemAction","setSelectedItem","positionLevel","fecthPositionLevel","matrixItems","ApproveMatrixId","ApproverId","ApproveMatrixItemId","AmountFrom","AmountTo","PositionLevelId","PositionLevelName","ApproverName","Seq","IsTypePosition","positionLv","posi","approvalMatrix","approveMatrixItems","UpdateApprovalMatrix","resetSubDialog","onRowReorder","outlineColor","rowReorder","bodyClassName","_approver","_pos","_approvers","editIcon","seq","onDeleteRow","binIcon","maxFractionDigits","RadioButton","replaceIndex","AddItem","AiOutlinePlus","dataCompany","CompanyDialog","setFormData","CompanyId","companyData","fetchCompany","fetchData","Tel","Fax","UrlWeb","AddressTh","AddressEn","UrlLogo","InputTextarea","DepartmentDialog","masterCompany","setMasterCompany","comCode","setSelectComCode","fecthCompany","company","_formValues","_data$CompanyCode","_data$CompanyCode2","DepartmentCode","UpdateDepartment","DivisionDialog","formSelectedRole","setFormSelectedRole","rolesList","setRolesList","RolesId","fecthRoles","MasterDataDialog","MasterId","Value3","Value4","Value5","_props$toast","show","severity","life","_props$toast2","MenuDialog","_window$localStorage$","allRoles","defaultVal","_rolesId","AuMenuId","MultiSelect","PositionDialog","selectComCode","_fields","PositionLevel","_f","PositionLevelNameEn","PositionLevelNameTh","AccountId","RoleDialog","roleid","UserPermissionsByRoleID","object","NameThRole","NameEnRole","NameThEmployee","NameEnEmployee","fetchRoleItem","RoleDescription","formRoleEmployee","UpdateRole","setData","itemsShow","DropdownComponents","selectValue","setSelectValue","obtions","setObtions","setstyle","_dataDynamic","optionsProps","styleProps","disable","optionLabelProps","validationProps","filterProps","panelClassName","DynamicDiaLog","dynamicColumnsGrid","setDynamicColumnsGrid","obtionList","setObtionList","copyFormdata","setCopyFormdata","GetColumns","grids","dropdownList","dataType","_dataArray","_dataArrayCheck","_dataArraygrid","inx","_grid","textTH","text","translateFunc","setControllerId","manageObjectDatas","_dynamicColumnsGrid","getColumns","fieldName","objectKey","DialogList","pop_up","setPop_up","dialogs","formDataProp","dataListProp","setDataListProp","tableComfirmDialog","visibleConfirmProp","setTableComfirmDialog","setVisibleConfirmProp","visibleDialogProp","setVisibleDialogProp","setMatrixItems","dialogName","tableColumn","DynamicTable","today","getMonth","getFullYear","prevMonth","prevYear","nextMonth","nextYear","minDate","setMonth","setFullYear","maxDate","dataDynamicTable","setDataDynamicTable","showdataDynamicTable","setShowDataDynamicTable","exportData","setExportData","toggleSelect","setToggleSelect","clearFilter","setClearFilter","filters2","setFilters2","showClearDate","setshowClearDatel","titleHead","setTitleHead","dataEdit","setDataEdit","checkAction","setCheckAction","messageButtonDialog","setMessageButtonDialog","visibleConfirm","setVisibleConfirm","canReoderColumn","setCanReoderColumn","reportFileName","setReportFileName","colletionField","setColletionField","canTableAction","setCanTableAction","canAction","setColumns","selectData","setSelectData","filteredData","setFilteredData","dt","selectedColumns","setSelectedColumns","toggleLoading","isload","arrayDataColumn","collection","isChecked","dispalyLebelAndAlter","fieldTypeFilterDynamic","FieldTypeFilterDynamic","setDefSelected","visibleDialogAddProps","isEditProps","isDeleteProps","displayFormDialog","items_label","getElementsByClassName","setItemsCount","canReorderColumn","matrixItem","myData","FieldCollection","matchMode","FilterMatchMode","EQUALS","DATE_AFTER","DATE_BEFORE","BETWEEN","DATE_IS","CONTAINS","ReportName","statusItemTemplate","monthNavigatorTemplate","event","originalEvent","normalFilterTemplate","filterApplyCallback","filterModel","AutoComplete","suggestions","completeMethod","datas","_c$option$field","property","has","getUnique","onSelect","_filters2$col$field","_filters2$col$field2","_filters2$col$field3","_filters2$col$field4","_filters2$col$field5","_filters2$col$field6","_filters2$col$field7","_filters2$col$field8","_filters2$col$field9","_filters2$col$field10","_filters2$col$field11","_filters2$col$field12","_filters2$col$field13","_filters2$col$field14","_filters2$col$field15","_filters2$col$field16","_filters2$col$field17","_filters2$col$field18","_filters2$col$field19","_filters2$col$field20","flexGrow","flexBasis","sortable","filterMatchMode","filterElement","statusRowFilterTemplate","itemTemplate","filterHeaderClassName","showClearButton","onFilterClear","dateFilterTemplate","Calendar","monthNavigator","yearNavigator","yearRange","yearNavigatorTemplate","readOnlyInput","_rowData$col$field","mainStr","subStr","AmountFrom_AmountTo","image","textDecoration","Memo_DocumentNo","actionLinkIReport","toastShowSuccess","toastShowError","selData","SplitButton","setDisplayFormDialog","dropdownIcon","onColumnToggle","orderedSelectedColumns","sCol","exportExcel","excelData","dataExport","dataField","_data$col$field","reconStructionForExport","xlsx","workbook","Sheets","utils","json_to_sheet","SheetNames","excelBuffer","write","bookType","saveAsExcelFile","buffer","FileSaver","saveAs","getTime","importExcel","wb","read","wsname","ws","sheet_to_json","shift","_importedData","_props$apiName","apiNamereplace","readAsArrayBuffer","header1","renderHeader1","showSelCol","showCol","showSelectAll","recon","dataShow","reconStructionForShowData","canExport","stripedRows","reorderableColumns","onRowClick","rowClickFunc","onColReorder","colOrder","rowPointer","globalFilterFields","rowsPerPageOptions","rowHover","filters","filterDisplay","paginatorTemplate","currentPageReportTemplate","actionBody","exportable","frozen","alignFrozen","renderActionColumn","checkActionProp","titleHeaderProp","toastShowSuccessProp","toastShowErrorProp","messageButtonDialogProp","GetTemplateFromDDL","GetTemplateTemplateListVersion","GetTemplateeBindFormNameDDL","SearchTemplateListEditing","GetTemplateListVersionHistory","GetTemplateByDocTypeCode","GetTemplateById","GetAllByCreateTemplate","ReportTemplateList","GetTemplateControlById","AddTemplate","LoadLogic","ValidateRefTemplate","TreeSelectNewRequest","groupDataTemplate","setGroupDataTemplate","searchTemplate","setSearchTemplate","isOpen","setIsOpen","checkActionFavorite","setCheckActionFavorite","checkActionPanel","setCheckActionPanel","checkFilter","setCheckFilter","selectAll","DefultMode","OnlyActive","_dataTemplate","_groupDataTemplate","fav_cookie","groupTemplate","GroupTemplateName","keyDataTemplate","localeCompare","_fav_cookie","_fav_cookie$k","_value$i","TemplateNameWithCode","favorite","fetchDataTemplate","removeEventListener","onClickStar","groupIdx","templateIdx","checkUnClickStar","element2","checkHasFavorite","_groupDataTemplate2","onUnFavorite","_groupTemplateName","_templateNameWithCode","onFilterChange","_searchTemplate","_data$data$i","_data$data$i$Template","_data$data$i2","_data$data$i2$Templat","_data$header","filteredList","filteredGroup","filtered","_data$TemplateName","_data$TemplateNameWit","_data$GroupTemplateNa","mapContent","_groupTemplate","activeDefault","_searchTemplate$i$dat","_group","setDataTemplateTreeProps","listFormName","AiFillStar","AiOutlineStar","_searchTemplate$i$dat2","paddingLeft","BsSearch","expandIcon","IoChevronDownSharp","IoChevronForward","expandIconPosition","BsPlusCircle","DynamicReport","reportId","useParams","reportName","itemsCount","reportDetailBody","ReportTemplateId","imgLoading","setImgLoading","LogoLoading","minHeight","flex","MapDataEndpoint","configuration","_endpoint","GetDashboardEndpoint","_configuration$j2","typeConfig","formatConfig","_priorities","displayConfig","priority","statusName","displayStatusName","_priority","MapGroupData","_name","headData","aa","bb","ReportTemplateSelectByReportID","DeleteReport","ReportListTemplateSelect","FilterAdvanceSearch","AutoCompleteComponents","suggestionsProps","completeMethodProps","onKeyPress","notButton","multiple","readOnlyprops","onMouseDown","RadioButtonComponents","inputIdProps","nameProps","checkedProps","labelProps","reportModelIReportModel","Selectedfieldlist","ReportDescription","IsPrivate","CreatedByname","ModifiedByname","Selectedfieldlistfilter","Columns","Rows","TemplateNewVersion","CanDelete","RoleEmp","Mode","ReportDialog","selectedField","setSelectedField","templateKey","setTemplateKey","templateField","setTemplateField","templateMulti","setTemplateMulti","templateFieldMulti","setTemplateFieldMulti","isDialogVisible","keyAutoComplete","setKeyAutoComplete","employeeRequest","setEmployeeRequest","setEmployee","roleData","setRoleData","radioButtonCheck","setRadioButtonCheck","radioButtonCheckToday","setRadioButtonCheckToday","radioButtonCheckFrom","setRadioButtonCheckFrom","filterValue","setFilterValue","reportModel","setReportModel","filterValueSelected","setFilterValueSelected","dropdownfilterValue","setDropdownfilterValue","setGroup","groupData","setGroupData","indexOrderBy","setIndexOrderBy","indexHideColumn","setIndexHideColumn","indexSortingBy","setIndexSortingBy","textHeader","setTextHeader","tableLoading","setTableLoading","templateMode","setTemplateMode","validationForm","setValidationForm","TemplateIdValidation","FieldCollectionValidation","ReportNameValidation","ReportDescriptionValidation","RoleEmpValidation","RoleIdValidation","DisabledSave","_save","dataDF","objSave","reportTemplateId","_arrayName","FieldText","_element","remove_character","editProps","AddReport","checkSetProps","toggleDialog","_UpdatrReport","UpdateReport","setEditReportProps","_TemplateKey","templateDataProps","_TemplateKeyArray","TemplateKey","addTemplateKey","dataEditReportProps","_props$dataEditReport","onTemplateMode","_props$dataEditReport2","_employee","_RoleEmpSplit","_RoleIdSplit","arrayRoleEmp","arrayGroup","_dataRoleEmp","Isprivate","editData","CreateBy","_fechData","CreateDate","Reportdescription","Reportname","ReporttemplateID","SecretId","TemplateID","Templateversion","_props$dataEditReport3","_props$dataEditReport4","_dataJSONParse","_dataFavoritesItem","arrayTemplate","_props$templateDataPr","dataFilter","_SelectFormEdit","_arrayItes","arrayDataReplace","_element$FieldText","_dataSplit","FieldCode","editReportData","indexGroupByFilter","indexGroupBy","indexSortingByByFilter","indexHideColumnByByFilter","indexOrderByColumnByByFilter","searchTextEnter","_rowData","_filterValueSelected","char_pos","IoCloseOutline","marginRight","BiSave","_SelectFliedMulti","onRowReorderFilter","onChangeReportName","onChangeFilterValue","onChangeGroupData","_FilterValueSelected","allFilter","valueSelected","_RadioButtonFormType","_dataFilter","edit","arrayFliedTest","arrayFliedId","_selectFliedData","_selectFliedData$i","replaceString","_objJson","_SelectedfieldlistAll","SelectedfieldlistAll","arrayFieldMulti","arrayFliedFliter","_arraykey","_SelectFliedEdit","_CalendarDate","rowdata","_DateTime","arrayPush","arraySelected","_SelectFlied","_templateSelect","_arrayKey","_AutoComplete","_dataName","Height","borderBottom","_SelectForm","resetFilterOnHide","editReport","_dataArrya","dataFilterValueSelected","ID","FieldDisplay","IsExcludeBlankData","FieldType","IsEquals","FieldTextFrom","FieldTextTo","FieldBit","FieldTypeFilterStatic","IsTodayFrom","IsTodayTo","FilterParameter","FilterValueSelected","onChangeDropdownSelectForm","scrollable","scrollHeight","showButtonBar","onChangeDropdownfilterValue","_AutoCompleteText","req","showModal","dataSelectEmployee","UnAurthorization","withPerMission","Component","isAuthorize","setIsAuthorizeo","_empData$employeeData","menus","_query","_isAuthorize","_menu$Url","_location$pathname","_menu$Url2","_location$pathname2","_menu$Url3","columnHeader","CheckboxGroup","SearchTextInTable","colProp","columnLabel","filterDropDownProps","filterState","allColumnProps","checkedList","setCheckedList","checkAll","setCheckAll","searchValue","setSearchValue","columnOption","setColumnOption","filterDataSource","setSelectedKeys","_filterDataSource","filterKeys","indexOfKey","columnPropsMap","keysToConsider","matchesFilter","filteredResult","columnProps","uniqueValues","ColumnsProp","isActiveValue","_item$key","_item$key2","isBetween","recordVal","_e$toString3","_value$toString","_e$toString2","_searchValue$toString2","Divider","_e$toString4","_searchValue$toString3","list","_e$toString","_searchValue$toString","overflowY","maxHeight","RangePicker","getColumnSearchProps","filterDropdown","selectedKeys","clearFilters","stopPropagation","ranges","Today","startOf","endOf","onFilter","selectedVal","_colProp$decimal","optionValue","_option$colProp$key","minOption","maxOption","minVal","maxVal","decimalStep","pow","Slider","range","step","stringMode","_record$colProp$key","_toString","sorter","checkedForDataTypes","dataKeys","masterFormat","keyTypes","foundKeys","validKeys","_dataSource$","_columnsProps$filter","_location$search","_location$search2","customColumns","canEdit","rowClickAction","reloadData","customImportFileButton","paginationOption","onPageChange","showSumNumber","hoverAction","setHoverAction","columnsProps","setColumnsProps","setFilterState","searchedData","setSearchedData","exportLoading","setExportLoading","showCols","setShowCols","importLoading","setImportLoading","hasArrayEmpty","setHasArrayEmpty","initFunc","_keyTypes","_selectedCols3","_selectedCols","_masterSetting","FormatDate","customCol","_masterSetting$Format3","_masterSetting$Format4","Decimal","_masterSetting$Format5","_option$value","maxNumberValue","selectedCols","_key$toLowerCase","_masterSetting$Format6","_masterSetting$Format7","_masterSetting$Format8","_masterSetting$Format9","_e$colProp$key","formatData","_key$toLowerCase2","_selectedCols2","optionPosition","setOptionPosition","onMouseLeave","renderColumnBody","_value$toString2","isValid","datetime","_colProp$dateFormat","isPublishVersion","Tag","htmlBody","_a$key","_b$key","sorterDate","isBefore","isAfter","currentData","exportRow","rowKey","extra","updatedFilters","currentDataSource","onRow","columnSums","Intl","NumberFormat","SelectedFieldComponent","reportTemp","setReportColumns","setGettingreport","rtcon","setRtcon","findSelected","fecthMasterData","_rtcon","_rtcon$","_rtcon$$value","_selectedfieldlist","_selectedfieldlistfilter","fecthDataReport","FavoritesItem","fieldCollection","numCols","dateCols","edCols","suffix","number","numberString","decimalIndex","countDigitsAfterDecimal","decimalPlaces","integerPart","decimalPart","padEnd","formatNumberWithTrailingZeros","DOMParser","parseFromString","innerText","getChipValue","fieldValue","_chip","onChangeSelectField","_filters","exitFilter","_data$Selectedfieldli","isPass","request_date","dateForm","validateFun","Chips","separator","DynamicReportFix","_isAutoReport","setIsAutoReport","setReportTemp","_reportName","setReportName","reportColumns","gettingFilter","setGettingFilter","gettingReport","controller","AbortController","abort","isAutoReport","_dataDynamic$dt_Repor","signal","GetReportById","atCols","_reportTemp","panelTemplate","headText","toggleIcon","collapsed","titleClassName","togglerClassName","onTogglerClick","Ripple","IoArrowBackSharp","headerTemplate","toggleable","setApiName","pathLoading","setTemplate","empList","setEmpList","checkReport","setCheckReport","isDelete","setIsDelete","setEditReport","dataEditReport","setDataEditReport","setbaseUrl","setIsAdmin","fetchReport","userId","empid","dataJsonn","_dataTemplatee","fetchTemplate","fetchEmployee","Route","exact","adminActionBody","rePortId","_ReportById","fetchGetReportById","_user","checkProps","ShowContentScreen","pdfdff","pdfData","isShowPdfData","allowFullScreen","frameBorder","Empty","FlowCardComponent","_props$approvals","_props$memoDetail$req","_props$memoDetail$req2","requestDetails","nameEn","positionNameEn","departmentNameEn","signature_en","FlowScreen","HistoryComponent","dataDialog","setDataDialog","responeWorkList","listHistoryDetails","sortDate","action_date","convertDate","momentObj","convertAction","formatPlatform","IoDesktopOutline","AiFillApple","AiFillAndroid","FaLine","convertPlatform","convertHtml","_comment","_textAbstract","last","textAbstract","dismissableMask","actor_name_en","actor_name_th","actor_position_name_en","actor_position_name_th","comment","platform","_data$comment","HistoryScreen","historyData","setHistoryData","AttachmentCardComponent","comploteLink","setComploteLink","showFile","attachPath","attach_path","BsFileEarmarkPdfFill","FaFileWord","BsFileEarmarkExcelFill","FaFilePowerpoint","BsFillFileEarmarkTextFill","attach_file","actor","attach_date","AttachmentScreen","attachFiles","CommentComponent","setComment","setPlaceholder","isInvalid","setInvalid","dataEmployee","setDataEmployee","isLoading","setIsLoading","selectedEmployee","setSelectedEmployee","userInfo","setUserInfo","isMultiAssign","setIsMultiAssign","sessionStorage","isMultiRequestComment","setIsMultiRequestComment","showAll","setShowAll","dataEmp","_data$NameTh","_data$NameEn","_data$PositionNameEn","_data$DepartmentNameE","_a$NameTh","_a$NameEn","_b$NameTh","_b$NameEn","lang","nameA","nameB","sensitivity","showError","EmployeeDialogFooter","ConfirmMultiSelectEmployee","sentToMemo","waiting_for_id","waiting_for","setCommentStatus","pageName","onUpdate","commentStatus","overFlow","Footer","HeaderDialogComment","_props$lineApproval","_props$lineApproval2","_props$lineApproval2$","approvalSequence","department","signature","columnKey","BiCommentDetail","onInit","metaKeySelection","MemoButtonComponent","memoMenuButton","setMemoMenuButton","setRequire","mapMemoButton","memoMenu","menuData","mapMenuData","commandName","setSelectedView","setCurPage","BiSend","marginLeft","IoMdCheckmarkCircleOutline","IoMdArrowRoundBack","RiDeleteBinLine","AiOutlineSave","MdOutlineCancel","IoMdRefresh","BsArrowRight","RiFileForbidLine","GeneratePDF","_requestDetail","responeMemoDetail","Memoid","responePreviewPDF","MemoPage","BadgeNotificate","count","setCount","hasLastComment","setHasLastComment","setNotificate","dataMemo","_props$dataMemo","_props$dataMemo2","_props$dataMemo3","IsMemoHistoryLastComment","MemoHistoryAmount","MemoAttachFileAmount","_history","_history2","_history2$slice$shift","_history3","amountAttachment","lastComment","dataDetail","_data$attachfiles","attachfiles","_request$listFileAtta","action_id","amountComment","amount","Badge","dot","IC_ATTACHMENT_FILE","IC_HISTORY","isCard","Ribbon","offset","badgeSize","DetailContentScreen","_memo$requestDetails","_memo$requestDetails2","_memo$requestDetails3","onDetailLoading","calFlexLayout","page","setPage","setPdfData","setMemoMenu","setMemo","responeData","onFetchPdf","MemoID","Fetch","menuButtonSort","motion","transition","animate","IoDocumentText","RiNodeTree","BsClockHistory","GrAttachment","IoOpenOutline","AnimatePresence","exitBeforeEnter","initial","opacity","SelectDate","dates","setDates","isFullWidth","showIcon","BsCalendarDate","left","onOpenChange","suffixIcon","GrFormNextLink","onCalendarChange","MultiSelectDropdown","defaultVaue","allowClear","dropdownStyle","onClear","onDeselect","_selected","valueFilter","dropdownRender","flexWrap","onSelectAll","SearchFilterComponent","searchKeyword","SelectDropdown","alowClear","WorkListSideBarElementUse","_props$searchObject","_props$searchObject2","_props$searchObject3","_props$searchObject4","_props$searchObject5","_props$searchObject6","_props$searchObject7","_props$searchObject8","_props$searchObject9","_props$searchObject10","_props$searchObject11","searchObject","keyword","BsListTask","onSelectTask","defaultTask","f","RiListCheck2","formStatus","IoNewspaperOutline","formType","BiBuildings","allCompany","allDepartment","WorklistCardComponent","_props$data","_props$data2","_props$data3","_props$data4","dataUrl","setDataUrl","isCommentActive","setIsCommentActive","amount_label","sanitizedUid","currentMemoId","_requestor","Requestor","setContent","setOnDetailLoading","Subject","IsDelegated","delegateMemo","FaChevronRight","WaitingFor","taskGourp","onApproveActionClick","CurrentApprovalLevel","GetApprovalByTemplate","GetAllApprovals","_worklistToShow$slice","workListData","setWorkListData","dtWorkListData","setDTWorkListData","worklistToShow","setWorklistToShow","formTypeOptions","setFormTypeOptions","companiesOptions","setCompaniesOptions","departmentsOptions","setDepartmentsOptions","formStatusOptions","setFormStatusOptions","setSearchObject","currentPage","setCurrentPage","itemPerPage","setItemPerPage","setIsShowPdfData","isCardLoading","setIsCardLoading","toggleDetail","setToggleDetail","sidebarState","setSidebarState","setCurrentMemoId","taskHeader","setTaskHeader","currentIndex","setCurrentIndex","selectedCard","setSelectedCard","setDefaultTask","setTaskGourp","getMemoDetail","setGetMemoDetail","previousQue","abortController","_itemPerPage","indexOfLastPost","indexOfFirstPost","onpopstate","onbeforeunload","firstRetrieveData","updateWorklistToShow","fetchWorklist","task","silent","dateFrom","dateTo","actionBack","_userData$EmployeeId","iItemPerMore","CountMoreItem","FilterDateFrom","toISOString","FilterDateTo","dataWorklist","employees","todo","_todo","_emp","DOMException","reason","GetWorkListByTaskGroup","selecteCard","sidebar","initialWorklistOption","worklist","_formTypeOption","_formStatusOption","_companiesOption","_departmentsOption","resultFormTypeOption","resultFormStatusOption","resultAllCompanyOption","resultAllDepartmentOption","DepartmentName","onUpdateMemo","getElementsByTagName","overflow","_getMemoDetailById","_ActionMemoPage$messa","_ActionMemoPage$messa2","listControlRunning","is_text_form","_autoNumFormat","templateDescJson","detechAutonumberFormula","CheckSaveAutonumber","_ActionMemoPage","listRefDocDetails","messageType","_autoFormats","templateId","autoTemp","gg","newRunning","RunningNumber","checkNum","_requestor$EmployeeId","_memoDetail","Permission","View","_dataAttachfiles","_dataApprovals","memoButton","_dataMemobutton","_dataHistory","GetAllHistory","formSelect","rawObject","_worklist","statusFilter","companyFilter","departmentFilter","formFilter","keywordFilter","filterStatusWorklistCard","filterCompanyWorklistCard","filterDepartmentWorklistCard","filterFormWorklistCard","_searchObject$keyword","_todo$DepartmentName","_todo$TemplateName","_todo$CompanyName","_todo$Status","_todo$DocumentNo","_todo$Subject","_waitingFor$NameEn","_requestor$NameEn","_requestor$NameTh","_keyword","filterKeywordWorklistCard","isDiffPreviousQue","previous","workList","IoMenu","mapWorklistCard","Pagination","defaultCurrent","LoginScreenOpenId","pathCodeUrl","setPathCodeUrl","GetOpenId","paramString","_codeUrl","_loginOpenId","_loginOpenId$employee","PathCodeUrl","PrivateRoute","authenticationPath","setRedirectPath","routeProps","currentLocation","sessionContext","updateSessionContext","chaeckLastActtion","lastAction","diffMilliseconds","timeout","_masterData$find","_masterData$find2","Redirect","ErrorPageComponent","AddQueryComponent","selectedValue","setSelectedValue","_items","attributeButton","setAttributeButton","setViewModal","onSaveQuery","IoSaveOutline","viewModal","hideInPdf","isNotCopy","HiPlus","_data2","idx2","_data$layout$idx","_data$layout$idx$para","_data$layout$idx2","_data$layout$idx2$con","BsTrash","deleteAttributeButton","_props$template$attri3","_props$template$attri4","_props$template$attri5","_props$template$attri6","setLinkFile","maxFile","uploadFileState","_field$value","_field$value$replace","parts","Boolean","fromRender","_response$data2","_response$data3","_response$data4","_response$data5","_response$data6","setUploadFileState","openLink","RiDeleteBack2Line","AddConditionComponent","_conditions$condition","selectedFormName","setSelectedFormName","selectedFormValue","setSelectedFormValue","setDefaultValue","defaultValueItem","setDefaultValueItem","setConditions","actionConditions","setActionConditions","idxConditions","setIdxConditions","_props$attributeNumbe","_condition","attributeNumber","attributeIdx","_props$advanceForm$it","arrayItem","arrayDataItem","_dataLayout","_dataItem","_formats","setAttributeNumber","setConditionViewModal","Save","conditionViewModal","dataRequestValue","onSaveToCondition","RiEditLine","deleteCondition","_props$title","curPage","onSelectView","checkTypeIcon","AddPreFixComponent","_formats$format","setFormats","setDateFormat","formatsIdx","setFormatsIdx","saveToFormatAction","setSaveToFormatAction","selectedCondition","setSelectedCondition","symbolValue","setSymbolValue","positionValue","setPositionValue","_format","dtformat","_attribute","SavePreFix","BiFont","AiOutlineFileText","AiOutlineCalendar","onSaveToFormat","DragDropContext","onDragEnd","_components","destination","reorder","startIndex","endIndex","removed","source","Droppable","droppableId","provided","snapshot","_formats$format2","innerRef","Draggable","draggableId","draggableProps","dragHandleProps","isDragging","draggableStyle","userSelect","updateFormat","deleteFormat","AutoNumberComponent","setAttributeIdx","_data$condition","deleteAutoNumber","CalendarDefaultValueGroup","CalendarComponent","_props$template$attri7","_props$template$attri8","_props$template$attri9","_props$template$attri10","_props$template$attri11","setDisabled","ChoiceComponent","setInput","checkBoxRequire","setCheckBoxRequire","handleKeyDown","cellEditor","editorCallback","textEditor","tooltip","tooltipOptions","newItems","onCellEditComplete","newValue","rowEditor","MultiChoiceComponent","displayDropdown","dropdown","setDropdown","setDisplayDropdown","idex","DropdownComponent","_props$itemsList$item","TemplateModal","setRichText","IoDocumentTextOutline","checkBoxHeading","displayCheckBox","setCheckBoxHeading","NumberComponent","_props$template$attri12","_props$template$attri13","_props$template$attri14","_props$template$attri15","_props$template$attri16","_props$template$attri17","_props$template$attri18","_props$template$attri19","_props$template$attri20","_props$template$attri21","_props$template$attri22","_props$template$attri23","setDecimal","setReadonly","setMin","_ref14","_ref15","_ref16","_ref17","_ref18","_ref19","AddConditionModal","_props$revisionCondit","revisionConditions","conditionsIdx","newConditions","boxid","controltype","_conditions","setRevisionConditions","saveConditions","BiArchiveIn","RevisionComponent","setConditionsIdx","BsX","ShortTextComponent","CreateControlSideBarElement","SideBarData","FaHeading","BiText","ImTextHeight","AiOutlineNumber","FiCalendar","IoMdRadioButtonOn","MdOutlineCheckBox","FaRegListAlt","BsTable","BsFileEarmarkRichtext","FaRegImage","CgPlayButtonO","BsSortNumericDown","BiTimeFive","SideBarDataInColumn","renderIn","_data$component","_data$component$props","_data$component2","_data$component2$prop","_data$component2$prop2","_data$component2$prop3","_data$component3","_data$component3$prop","_data$component4","_data$component4$prop","_data$component4$prop2","_data$component4$prop3","TextAreaComponent","autoResize","ColumnComponent","setComponent","control2","errors2","handleSubmit2","setFromRender","checkType","renderComponent","attributeColumn","checkActionButton","columnData","columnIdx","setAttributeColumn","_respone$control","_respone$control$temp","_respone$control2","_respone$control2$tem","_respone$control2$tem2","_respone$control3","_respone$control3$tem","_respone$control3$tem2","_respone$control4","_respone$control4$tem","_respone$control4$tem2","_respone$control5","_respone$control5$tem","_respone$control5$tem2","_respone$control6","_respone$control6$tem","_respone$control6$tem2","_respone$control7","_respone$control7$tem","_respone$control7$tem2","_respone$control8","_respone$control8$tem","_respone$control8$tem2","_respone$control9","_respone$control9$tem","_respone$control9$tem2","_respone$control10","_respone$control10$te","_respone$control10$te2","_respone$control11","_respone$control11$te","_respone$control11$te2","_respone$control12","_respone$control12$te","_respone$control12$te2","_respone$control13","_respone$control13$te","_respone$control13$te2","_respone$control14","_respone$control14$te","_respone$control14$te2","_respone$control15","_respone$control15$te","_respone$control15$te2","_respone$control16","_respone$control16$te","_respone$control16$te2","_respone$control17","_respone$control17$te","_respone$control17$te2","_respone$control18","_respone$control18$te","_respone$control18$te2","_respone$control18$te3","_respone$control19","_respone$control19$te","_respone$control19$te2","_respone$control20","_respone$control20$te","_respone$control20$te2","_respone$control21","_respone$control21$te","_respone$control21$te2","_respone$control22","_respone$control22$te","_respone$control22$te2","_respone$control23","_respone$control23$te","_respone$control23$te2","_respone$control24","_respone$control24$te","_respone$control24$te2","_data$length","_data$widthInTable","_data$decimal","_data$min","_data$max","symbolNumber","useDate","fullYear","fileTypeFile","defaultValueImage","callback","shiftKey","ReferenceDocument","_props$selectedReport7","_props$mergeColumnRef4","_props$mergeColumnRef5","_props$mergeColumnRef6","_props$mergeColumnRef7","_props$conditions","_props$conditions$con","_props$conditions2","_props$conditions2$co","visibleDocControl","setVisibleDocControl","visibleRevisionDocControl","setVisibleRevisionDocControl","itemsControlLabel","itemsConditionList","conditionRefDoc","conditionType","defaultValueRefDoc","setDefaultValueRefDoc","defaultValueRefDoc2","setDefaultValueRefDoc2","defaultValueReport","setDefaultValueReport","actionSubmit","setActionSubmit","setDocDataSource","_dataReportTemplate","setDefaultConfigColumn","_props$mergeColumnRef","_props$mergeColumnRef2","mergeColumnRefDoc","columnRefDoc","_props$mergeColumnRef3","array2","RevisionType","arr3","assign","setMergeColumnRefDoc","defaultValueDropDown","fetchMyAPI","MapData","dafault","setSelectedTemplateRef","mapDefaultData","_props$selectedReport5","_props$selectedReport6","templateCode","selectedReportRef","arrayCode","_response2","fetchDataTemplateById","setSelectedReportRef","newValueAlterSelected","setValueConfigColumnTable","selectedTemplateRef","_props$selectedReport","_props$selectedReport2","_props$selectedTempla","_props$selectedTempla2","mapper","_props$selectedReport3","_props$selectedReport4","selectedFieldList","prototype","apply","_props$selectedTempla3","_props$selectedTempla4","AdvanceForm","defaultConfigColumn","optionGroupChildren","_props$selectedDocCon","_props$selectedDocCon2","_props$selectedDocCon3","selectedDocControlTemplate","setSelectedDocControlTemplate","renderIsDocControl","_e$value","idReport","arrayReport","arrayMerge","selectedReportById","_val","_props$conditions3","_props$conditions3$co","_props$conditions4","_props$conditions4$co","_props$conditions5","_props$conditions5$co","_props$conditions6","_props$conditions6$co","_props$conditions7","_props$conditions7$co","_props$conditions8","_props$conditions8$co","FooterTableComponents","_props$footerTable2","_props$footerTable2$r","footerData","setFooterTable","_props$footerTable3","_props$footerTable3$r","_props$footerTable5","_props$footerTable5$r","_props$footerTable7","_props$footerTable7$r","_props$footerTable10","_props$footerTable10$","_props$footerTable4","_props$footerTable6","_props$footerTable8","_props$footerTable9","_props$footerTable","_footerTable","deleteFooterTable","setLayoutIdx","TabMenu","onTabChange","deleteColumn","ImageComponents","widthControl","setWidthControl","heightControl","setHeightControl","fileTypeImage","preview","ModalCreateComponents","richText","clearErrors","_itemsLength","itemIdx","_templatesDes","templatesDes","defaultCheckBoxHeading","defaultValueReportTable","defaultValueTemplateTable","defaultValueFooterTable","defaultValueConfigColumnTable","_templatesDes$attribu","_templatesDes$attribu2","_templatesDes$attribu3","_templatesDes$attribu4","_templatesDes$attribu5","_templatesDes$attribu6","_templatesDes$attribu7","_templatesDes$attribu8","_template","_templatesDes$attribu9","docRef","setDefaultValueDocControl","_templatesDes$attribu10","_templatesDes$attribu11","_templatesDes$attribu12","_templatesDes$attribu13","_templatesDes$attribu14","_templatesDes$attribu15","_templatesDes$attribu16","_templatesDes$attribu17","_templatesDes$attribu20","_templatesDes$attribu21","_templatesDes$attribu22","_templatesDes$attribu23","_templatesDes$attribu18","_templatesDes$attribu19","_templatesDes$attribu24","_templatesDes$attribu25","_templatesDes$attribu26","_templatesDes$attribu27","_templatesDes$attribu28","_templatesDes$attribu32","_templatesDes$attribu33","_templatesDes$attribu37","_templatesDes$attribu38","_templatesDes$attribu29","_templatesDes$attribu30","_templatesDes$attribu31","_newDoc","docNewDocArray","newDoc","_templatesDes$attribu34","_templatesDes$attribu35","_templatesDes$attribu36","_docEditDoc","docEditDocArray","_templatesDes$attribu39","_templatesDes$attribu40","_templatesDes$attribu41","_docCancelDoc","docCancelDocArray","templates","_templates","visibleCreateControl","setVisibleCreateControl","checkUnique","index2","_dataLayout$template$","labelHeading","defaultDataValue","_data$min$toString","_data$max$toString","_attributeColumn$colu","_selectedReportRef$do","_selectedReportRef$do2","_selectedTemplateRef$","autoRowNumber","requestDataToLayout","_data$width","_data$height","textButton","handleError","TinyMceComponent","loadingTextFromValue","setLoadingTextFromValue","textFromValue","setTextFromValue","FormSettingComponent","viewModalControl","setViewModalControl","setItemsIdx","setLayoutLength","column1","column2","findUnique","uniq","viewManageComponent","setViewManageComponent","setControlModel","IsTextForm","BsFileEarmarkText","BsFileFont","droppableProps","_data$template","_data$template2","no_words","deleteControl","unique","newCol1","unique1","unique2","newCol2","copyLayout","BiCopyAlt","deleteLayout","SelectCondition","_selectedColumn$contr","_selectedColumn$contr2","_selectedColumn$contr5","_selectedColumn$contr6","setSelectedColumn","setOptions","numCondition","setNumCondition","isMultiValue","setIsMultiValue","multiOptions","setMultiOptions","multiValues","setMultiValues","isCheckBox","setIsCheckBox","_selectedColumn$contr3","_selectedColumn$contr4","updateData","SelectDataFormTable","globalFilterValue1","setGlobalFilterValue1","filters1","setFilters1","global","globalFilter","setGlobalFilter","_filters1","ReadOnlyTable","jsonConditionField","handleChange","maxSelectedLabels","isRequester","PlusCircleOutlined","AddMatrixForm","_props$rowData","_props$rowData2","positionLevelOptions","setPositionLevelOptions","matrixOptions","setMatrixOptions","showDialogFootter","setShowDialogFootter","maxLevel","setMaxLevel","setPositionLevel","approvalMatrixDD","setApprovalMatrixDD","setConditionsValue","specficApprovals","setSpecficApprovals","dialogTitle","setDialogTitle","dialogBody","setDialogBody","loadingSelectData","setLoadingSelectData","defSignatureID","setDefSignatureID","temSeq","setTemSeq","loc","setLoc","dtp","setDtp","doa","setDoa","spc","setSpc","isParallel","setIsParallel","parallelType","setParallelType","approveSlot","setApproveSlot","readHide","setReadHide","isRead","setIsRead","isHide","setIsHide","isNewReq","setIsNewReq","templateSelected","setTemplateSelected","templateSelectedField","setTemplateSelectedField","setJsonConditionField","labelStyle","fontStyle","ColumnJsonCondValue","jsonCon","MaxLevelId","Line_of_Command","Direct_to_Position","matrixList","Approval_MatrixId","Design_of_Authority","Specific_Approver","spc_isParallel","IsParallel","IsApproveAll","approverSlot","ApproveSlot","setDefValue","signatureList","masterId","updateChanges","componentName","specific_Approver","TemLineId","allApproveLength","EmployeeName","SpecificTypeId","SignatureID","matrix","fetchMatrixData","templateCol","fetchTemplatData","statusBodyTemplate","sig","getSign","SignatureId","rowInx","onSelected_Sinatures","FiPlus","callSelectUserDialog","callSelectRoleDialog","ApproveMatrix","redundant_Approver","setRedundant_Approver","auto_Approve","setAuto_Approve","allApprovals","setAllApprovals","selectedApprovals","setSelectedApprovals","templateLogics","setTemplateLogics","dialogMode","setDialogMode","onRedundantChange","AutoApprove","ApproverCanEdit","IsCheckAccess","GetApproveType","ApproveTypeId","TemLineApprove","spc_approval","TemplateLogic","approval","LstCondition","conIndex","Tem_LineId","_approval","ApprovalMatrixId","eIdx","_approval$TemLineId","logicControl","methodtype","InsertType","amountstatus","lstCondition","setLogicsApprover","specificApprovers","_props$controlModel$t","_props$controlModel$t2","_props$controlModel$t3","_props$controlModel$t4","controlModel","spcApprove","tem","_ColumnJson","spcApproves","maxLevelName","matrixId","Leng","GetMatrixData","MaxLevelName","maxLevelId","GetMaxLevelName","setAllApprovalsForControl","AutoApproveWhen","AddMatrixCondition","dragIndex","dropIndex","appSpcific","_rowData$Conditions","_rowData$Conditions$C","allSelected","spcs","TemSpecificId","RiFileCopy2Line","newSpcApprovals","isToggleDialog","approveType","_data$Conditions","spc_isApproveAll","CheckboxCpmponents","notLable","InformationComponents","_props$checkValidatio","_props$InformationDat3","_props$InformationDat4","_props$InformationDat5","_props$InformationDat6","_props$InformationDat7","_props$InformationDat8","_props$InformationDat9","_props$InformationDat10","_props$InformationDat11","_props$InformationDat12","_props$InformationDat13","_props$InformationDat14","_props$InformationDat15","_props$InformationDat16","_props$InformationDat17","_props$InformationDat18","informationDataProps","setInformationDataPropst","InformationDataProps","filteredAutoComplete","setFilteredAutoComplete","setKey","isloading","setIsloading","departmentSelect","setDepartmentSelect","toSelect","setToSelect","ccSelect","setCcSelect","toName","setToName","ccnName","setCcName","categoryFilter","setCategoryFilter","isMobile","setIsMobile","toValue","setToValue","CCValue","setCCValue","checkDevice","isMobileDevice","dataToAndCC","_to","ToId","_cc","CcId","_employeeData","_toArray","_toName","_ccArray","_ccName","_duplicate","_event","AccountCode","AccountName","DefaultLang","ExpiredDate","RegisteredDate","_props$InformationDat","_department","_dataFilterDepartmentId","_props$InformationDat2","_fechDepartment","_fechEmployee","showDialogEmp","setShowDialogEmp","employeeList","_CheckboxCpmponents","setControlModelObj","_InputText","selecteOrTypeListInToAndPass","_ToArray","_CcArray","searchAutoComplete","_filteredEmployee","dataemployee","customModalStyle","filterToCC","destroyAll","columnsTo","danger","RiDeleteBin6Line","columnsCC","showMore","insertDataByEnter","toArr","ccArr","auto","checkValidation","_filtered","isVersion","TemplateSubject","isPDFShowInfo","ReportLang","isRequesterEditApproval","isFormControl","RequiredAttachment","TemplateDetailSideBarElement","checkMergeApi","setCheckMergeApi","sideBarData","setSideBarData","MergeAPI","isEnabledPDFDesign","_sideBarData","IoAlertCircleOutline","BsNewspaper","FunctionOutlined","IoPeopleOutline","IoShieldCheckmarkOutline","IoCloudUploadOutline","isDialogVisibleProps","dataProps","_data$EmployeeCode","setDataProps","showModalProps","searchDataProps","onRowSelectProps","setisDialogVisibleProps","AuthorizationTableDepartment","departmentPlaceholderDropdown","setDepartmentPlaceholderDropdown","_array","_arrayNull","departmentListProps","departmentRequestProp","depID","depaction","_dataMap","_arrayFilter","departmentManageProp","gatPlaceholder","_setDepartmentSelect","depname","setValueProps","AuthorizationDepartmentModel","setFilters","departmentSelectManage","setDepartmentSelectManage","departmentSelectRequest","setDepartmentSelectRequest","onSave","setVisibleProps","globalFilterValueTemplate","setGlobalFilterValueTemplate","visibleProps","onGlobalFilterTemplate","_Arrayfilters","AuthorizationTableData","AuthorizationPermissionModel","_permissionType$formc","_permissionType$formc2","_permissionType$formc3","_permissionType$formc4","_advanceFormLabal$","_permissionType$formc5","_permissionType$formc6","_permissionType$Permi","_permissionType$Permi2","_permissionType$Permi3","permissionType","setPermissionType","setRole","roleName","setRoleName","advanceFormLabalSelect","setAdvanceFormLabalSelect","valueType","setValueType","ValueType","informition","setInformition","Informition","setCompany","setDepartment","departmentName","setDepartmentName","companyAction","setCompanyAction","companyActionEdit","setCompanyActionEdit","advanceFormLabal","setAdvanceFormLabal","validation","setValidation","RoleValidation","DepartmentValidation","CompanyValidation","editTablePermissionProps","permissiontype","arrayRole","ids","dataRole","_props$editTablePermi","arrayDepartment","_advanceFormJson$item","actionProps","_arrayAdvanceFormLabal","__data","_arrayColumn","_Informition","formcontrol","labelInformition","Information","_advanceFormJson","advanceFormProps","tableFilter","_arrayRolePermission","Print","Copy","_objTable","Description","setDataTable","setDataAuthorization_view","labeltype","labelcolumnname","labelvaluetype","dataFile","Authorization_view","setDataAuthorization_viewEdit","_uuid","Download","labelvalue","_arrayRole","_arrayRoleName","_dataRole","_Role","typee","_arrayCompany","_dataCompany","_Company","_arrayDepartment","_arrayDepartmentName","_newData","AuthorizationComponent","_props$controlModel","_props$controlModel$A","_props$controlModel2","_props$controlModel2$","visibleModel","setVisibleModel","visiblePermissionModel","setVisiblePermissionModel","roleManage","setRoleManage","companyManage","setCompanyManage","companyRequest","setCompanyRequest","roleManageId","setRoleManageId","roleRequest","setRoleRequest","roleRequestId","setRoleRequestId","departmentManage","setDepartmentManage","departmentCompanyManage","setDepartmentCompanyManage","departmentCompanyRequest","setDepartmentCompanyRequest","departmentRequest","setDepartmentRequest","objectDataAuthorizationProps","Employee","employeeSelect","setEmployeeSelect","permissionTable","setPermissionTable","setAuthorization_view","keyAuthorization_view","setKeyAuthorization_view","manageCompanyJSON","setManageCompanyJSON","editTablePermission","setEditTablePermission","_SpecificEmployeeId","SpecificEmployeeId","_specificArray","dataTo","RoleID","_GameRoleID","SpecificRoleID","Authorization_manage_department","_DepartmentData","Authorization_request_company","_arrayManageCompanyDepartment","_ManageCompany","_arrayManageCompany","companyDataFilter","Company","_dataFilterCompany","Authorization_manage_company","Authorization_request_department","_DepartmentGetJson","_arrayRoleTable","_VisibleModel","roleDataFilter","Role","_specificEmployeeId","_RoleIdManage","_RoleIdRequest","_CompanyManage","_CompanyRequest","Name","_VisibleEditModel","dataRow","_arrayPush","_arrayPushPermissionTable","sorterFunc","filterType","_a$key2","_a$key3","_b$key2","VersionAndHistoryTable","previewVersionTemplate","documentCode","ModifiedByName","VersionAndHistoryComponents","templateListVersionHistoryProps","VersionTempVCProps","ObjectDataAuthorizationProps","VersionDataProps","version","value3","value5","SetVersionDataProps","VersionCheckProps","setVersionCheckProps","value4","versionCheckProps","TableTemplateDialogComponentsFixed","refTemplateList","rowSelectedData","onSaveObjTable","objectTable","setObjectTable","convertType","_type","hide","Template","dialogFooter","dragSelection","_newObj","ReferenceDocumentDialogFix","listRefTemplateProps","templateList","visibleRefenceDocumentDialog","setVisibleRefenceDocumentDialog","referenceDocumentDialogObject","setReferenceDocumentDialogObject","Display","Affiliation","Quarter","ReferenceAttachment","IsDefaultLineApprove","DocControl","selectField","tableDialog","listRefTemplate","rowDataTable","ReferenceForm","TemplateNewDoc","TemplateEditDoc","TemplateCancelDoc","SaveDataTable","searchTemplateList","setSearchTemplateList","setSelectField","tableRefDialog","setTableRefDialog","tableRefData","setTableRefData","tableRefDialogHeader","setTableRefDialogHeader","templateAddCodeMulti","setTemplateAddCodeMulti","selectFieldtoshow","setSelectFieldtoshow","listMasterData","setListMasterData","refAd","setRefAd","_IsDocControl","_lstMasterData","lstMasterData","isDocControl","D_NewTpl","D_EditTpl","D_CanTpl","_lstMasterData$find","_lstMasterData$find2","_lstMasterData$find3","_lstMasterDataSplitD_NewTpl","masterType","_lstMasterDataSplitD_EditTpl","_lstMasterDataSplitD_CanTpl","dynamicSelect","seltectItems","_RefDocColumn","selectedCol","objs","newOBJ","selectedOBJ","_ReferenceDocumentDialog","_Object","_controlModel$templat","_e$selectedValue","_e$selectedValue2","_e$selectedValue3","_controlModel","lstMastData","newTplId","editTplId","canTplId","requestModelD_NewTpl","createdBy","createdDate","modifiedBy","modifiedDate","requestModelD_EditTpl","requestModelD_CanTpl","lstMastDataFunction","_MapSelectTable","_arraySelect","_referenceDocumentDialogObject","_arraylayout","_MapSelectTableItem","templateAddCode","_templateForm$RefDocD","_listRefTemplateProps","docControl","mappingLstMaster","defaultRefModel","getOptions","_list","first","_refObject","_rowData$selectedValu","_referenceDocumentDia","_refTemp","_selectField","onTableDialogSave","ReferenceDocumentComponentsFix","_props$listRefTemplat","_props$listRefTemplat2","isLoadTemplate","setIsLoadTemplate","mstTemplateList","setMstTemplateList","fecthRefTemplate","newRef","filterRefDocColum","onClickAction","controlModelObj","ReferenceInformationDialog","listRefInformationProps","refInformation","setRefInformation","refLogic","dataLogic","setLogicsRefIn","requestSelected","setRequestorSelected","requestField","setRequestorField","fetchRequestorData","refValue","arrayRef","Logictype","Jsonvalue","ReferenceInformation","referenceData","setReferenceData","setRefLogic","fecthRefInformation","Logics","cMSTTemplateLogic","PDFEditorContext","PDFEditorProvider","papers","Letter","A4","paperLayout","setPaperLayout","w","h","static","minW","layoutType","pageProperty","setPageProperty","doctype","pageAmount","gridSize","isDragingFromOutSide","selectionBlock","setSelectionBlock","refHtml","updatePageProperties","prevSettings","addLayout","parent","targetParent","childList","round","minH","tempAttibute","fontFamily","isBold","isItalic","isUnderlined","hAlign","vAlign","urlLink","hideLabel","backgroundSize","onSelectPropertyChange","_selectionBlock","newLayout","_layout$children","child","onDeselected","removeSelectedChild","_e$children","changeDocType","docType","usePDFEditor","PDFCompontButton","unselectable","onDragStart","dataString","dragingType","PDFToolBar","reportTem","controlItem","setControlItems","getItems","getIcon","CollapsePanel","_item$template","_item$template2","_item$template3","_item$template4","fontStyte","TabsButton","activeKey","setActiveKey","ColorPicker","onChageColor","overlayClassName","SketchPicker","hex","onChangeComplete","BgColorsOutlined","PDFEditorToolBar","_tabsItems$find","fontList","controlProperty","setControlProperty","isLinkModalOpen","setIsLinkModalOpen","linkUrl","setLinkUrl","ConfigProvider","config","theme","primaryColor","imagmeToolComponent","newProps","textToolComponent","BoldOutlined","ItalicOutlined","UnderlineOutlined","AlignLeftOutlined","AlignCenterOutlined","AlignRightOutlined","VerticalAlignBottomOutlined","VerticalAlignMiddleOutlined","VerticalAlignTopOutlined","LinkOutlined","_selectionBlock$templ","tabsItems","centered","_e$children2","StaticInput","_template$attribute5","_template$attribute6","_template$attribute7","_template$attribute8","resize","StaticImage","onUploadComplete","imageUrl","setImageUrl","getLink","imgSize","contain","cover","imgUrl","uploadButton","LoadingOutlined","PlusOutlined","Upload","listType","beforeUpload","isImage","showUploadList","originFileObj","uploadedFile","DropableComponent","paperWidth","rowHeight","setRowHeight","previewImage","setPreviewImage","selectedImg","setSelectedImg","tableDisplay","_layout$template$attr4","_layout$template$attr5","_layout$template$attr6","keyCode","renderContent","isStaticText","isSelected","_layout$template$attr7","_layout$template$attr11","_layout$template$attr12","_layout$template$attr13","_layout$template$attr14","_layout$template$attr8","_layout$template$attr9","_layout$template$attr10","childrenLayout","_layout$template$attr15","_layout$template$attr16","_layout$template$attr17","_layout$template$attr18","_layout$template$attr19","_layout$template$attr20","_layout$template$attr21","_layout$template$attr22","_layout$template$attr23","_layout$template$attr24","isPortrait","resizeHandles","isDraggable","isResizable","isBounded","GridLayout","isDroppable","containerPadding","allowOverlap","preventCollision","onDragStop","_e$children3","onResizeStop","_e$children4","onDrop","getData","WidthProvider","Responsive","PaperLayout","_pageProperty$pageSiz6","_refPaper$current5","scale","refPaper","handleZoom","_refPaper$current","parentElement","_refPaper$current2","_refPaper$current2$pa","_refPaper$current3","_refPaper$current3$pa","boardWidth","clientWidth","boardHeight","clientHeight","offsetX","transform","breakPages","lines","renderedPaperLayout","_refPaper$current4","offsetWidth","onResize","_refPaper$current6","bodyElement","querySelector","HTMLElement","_pageProperty$pageSiz","_pageProperty$pageSiz2","_pageProperty$pageSiz3","_pageProperty$pageSiz4","_pageProperty$pageSiz5","checkForNewPage","offsetHeight","oldItem","newItem","PDFTemplateComponent","templatePDF","setScale","isEnabled","setIsEnabled","JsonLayout","JsonProps","genFormat","requestResult","_refHtml$current","elements","allDivElement","tableCount","tempAfter","beforeTb","isBeforeTb","afterTb","tableControl","Alabel","html","getDivForTemplate","_tempAfter","HeaderLayout","BodyLayout","FooterLayout","tempDiv","computedStyle","getComputedStyle","cloneNode","outerHTML","onDoubleClick","ZoomOutOutlined","zoomOut","ZoomInOutlined","zoomIn","getScreenWidthWithBreakpoint","screenWidth","innerWidth","OptGroup","ShowHideControlModal","advanceFormItem","operators","destroyOnClose","maskClosable","justify","CloseOutlined","labelAlign","onValuesChange","changeValue","allValues","List","restField","validateTrigger","getFieldValue","MinusCircleOutlined","block","HideAndReadOnlyControlForm","_form$getFieldValue$s","breakpoint","setBreakpoint","selectedDataIdx","setSelectedDataIdx","controlOption","handleResize","valuePropName","noStyle","ErrorList","DataSourceConditionRow","onRowChange","changedValues","DataSourceLoadForm","DataSourceRelateConditionRow","refInfors","DataSourceRelatedForm","DataSourceRelatedToLoadData","labelActionValues","setLabelActionValues","compact","formValue","ShowHideByRoles","mstRoles","setMstRoles","_roles","maxTagCount","SpecialActionServiceForm","SetValueControlModal","SetValueControlForm","JsonLogicForm","readableLabels","sortedOptions","SpecialActionService","dynamicForm","setDynamicForm","getFormByType","FormLogicComponent","datalogic","useModal","setAdvanceFormItem","_dataLogics","set_dataLogics","readableLogicType","tranformData","lowercaseKeysArray","onClickAddButton","resetFields","_jsonValue$labelactio","showaction","mainConditions","logicType","splitLabel","tablestatus","ShowHideActionType","EditOutlined","updatedAllLogic","DeleteOutlined","InformationTab","templateName","MatchFieldsDataModal","DATA","MatchFieldsTab","_form$getFieldValue$s2","allmatchSAPField","EventTab","buttonDump","setButtonDump","docStatus","setDocStatus","masterButtonDump","masterDocStatus","v","fetchMasterData","ConditionTab","APITab","ReturnDataModal","ReturnTab","ReturnMessageTab","ActionserviceForm","Tabs","TabPane","tab","InfoCircleOutlined","Condition","ActionserviceTemplate","selectedRecord","setSelectedRecord","Logicid","MatchSAPField","Event","ChangeField","FormatReplace","API","Header","Return","ReturnMessage","HEAD","TYPE","OPERATOR","CONDITIONERROR","KEY","VALUE","ALLOW","MESSAGE_KEY","AutoSave","EyeOutlined","okType","overflowX","ActionService","updatedJson","createVersionMasterData","createFormControl","isPublic","TemplateDetail","TextForm","IsEdit","DepID","DocTypeCode","TemplateType","PDFLanguage","Location","To","CC","TemplateDesc","LineOfCommand","MaxLevelID","SpecificApprover","DOA","ApprovalMatrixID","CC_Viewer","ApproverCanEditContent","Modified","MultiDeptId","ReqAttach","AutoStartTemplate","AutoStartColumn","AdvanceRefCondition","specificTempApprovers","VEmployee","cMSTApprovalMatrix","cMSTPositionLevel","cMSTCompany","cMSTMasterData","_controlModel$templat15","_controlModel$templat16","_controlModel$templat17","selectView","setSelectView","controlVersionModel","setControlVersionModel","createVersionMasterModel","setCreateVersionMasterModel","interfaceTemplateLogic","setInterfaceTemplateLogic","groupTemplateName","setGroupTemplateName","templateNameWithCode","setTemplateNameWithCode","setTemplateId","isCopyValue","setIsCopyValue","setIsVersion","setIsLoad","positonLevelList","setMatrixList","setVersion","versionStatus","setVersionStatus","versionCheck","setVersionCheck","setReportTem","setFontList","sinatureOptions","setSinatureOptions","versionTempVC","setVersionTempVC","templateListVersionHistory","setTemplateListVersionHistory","objectDataAuthorization","setObjectDataAuthorization","DepartmentManage","DepartmentRequest","validationInformation","setValidationInformation","logicsApprover","logicsRefIn","setDataLogic","delete","finalUrl","intiFunc","_isCopyValue","fetchPositionLevel","fetchMatrix","signatrue","allHistory","_fontList$","_fontList$$Value","companies","_Department","_dataFilterDepartment","fetchDataAuthorization","GetTemplate","isActiveTemp","_templateVersionCode","_versionTemplate","_dataVersion","_arrayVersion","_templateIdList","_dataVersionTempVC","_templateListVersionHistory","versionFunction","TemplateVersionCode","VersionTemplate","versionTemplate","dataValueInterface","refTemplateByEditFunction","advanceFormByEditFunction","_advanceForm$ReqCondi","_templateIdList$templ","_templateIdList$templ2","_templateIdList$templ3","_advanceForm$ReqCondi2","_advanceForm$ReqCondi3","ReqConditions","_RefTemplate","_dataTemplatetMasterData","_dataAuthorizationMasterData","_manage_company","_manage_department","_request_company","_request_department","_Authorization_view","_manage_companyArrayIndx0","_request_companyArrayIndx0","_manage_departmentArrayIndx0","_request_departmentArrayIndx0","Authorization_for_ViewIndx0","_MasterData","_dataTemplatetMasterDatafilter","lstMasterDataByEditFunction","_templateIdList$templ4","addTemplateDetail","previewTemplate","_control$cMSTTemplate","_interfaceTemplateLog","_interfaceTemplateLog2","_userData$EmployeeId2","_userData$EmployeeId3","_cMSTTemplateLogic","otherLogics","deletedInterface","_userData$EmployeeId5","DeleteTemplate","responeAddTemplate","typeTemplate","_dataTemplateByDocTypeCode","_userData$EmployeeId4","cMstMasterData","_control$templateForm","_templateListVersionH","AddTemplateAndVersion","go","_controlModel$templat2","_controlModel$templat3","_controlModel$templat4","_controlModel$templat5","_controlModel$templat6","_checkValidationOBJ","_controlModel$templat7","_controlModel$templat8","_controlModel$templat9","_controlModel$templat10","_controlModel$templat11","_controlModel$templat12","_controlModel$templat13","_controlModel$templat14","FaRegCopy","MdPreview","isLoadProps","stateProps","ForgotPasswordScreen","haveKey","setHaveKey","setEmail","setNewPassword","confirmPassWord","setConfirmPassWord","captcharVerify","setCaptcharVerify","isSuccess","setIsSuccess","remark","setRemark","confirm_password","checkKey","FiChevronLeft","goBack","autoComplete","DelegateApplyTo","delegateTemplate","setDelegateTemplate","selectedCustomers","setSelectedCustomers","fetchDelegateTemplate","delegateData","DelegateList","templateData","_delegateDetail","DelegateDetail","current_sorted_idx","setDelegateData","filterPlaceholder","DescriptionConfigComponent","setDescription","saveChange","_listAttach","Index","modified_date","setVisibleStatus","BiCommentEdit","visibleStatus","DelegateInformation","_props$delegateData","attachData","setAttachData","fileData","setFileData","requestFile","setRequestFile","pathData","setPathData","descriptionValue","setDescriptionValue","setEmployeeData","currentModal","setCurrentModal","setIndex","isDialogApproverVisible","setIsDialogApproverVisible","approverTextFilter","setApproverTextFilter","setApprover","dateRange","setDateRange","setChecked","deleteVisible","setDeleteVisible","descriptionRespone","setDescriptionRespone","rowDeleted","setRowDeleted","searchEmployee","setSearchEmployee","delegater","setDelegater","DelegateToId","_date","_attachmentData","AttachmentList","_delegater","attachment","ActorId","DateFrom","DateTo","formatDateTimeToMoment","formatDateTimeWithSlash","formatDateTimeAttachment","rowDelete","reoderSequence","showModalApprover","usePeriod","setUsePeriod","onSelectDate","userName","attachWorkList","lastFile","NewDate","newFile","AttachedDate","AttachFile","FileName","FilePath","BiUpload","confirmDialogfunction","onEmployeeSelect","sequenceIndex","DelegateSideBar","DelegateScreen","attachmentData","setAttachmentData","errorState","setErrorState","delegateId","setDelegateId","fetchDelegate","fetchAttachment","DelegateId","_delegateData","_attachList","valid","jsonData","onDelete","MdDeleteOutline","getAllEmailTemplate","EmailTemplateDetail","_Dropdown","_getEmailTemplate","_EmailTemplate","_textEditor","EmailBody","_clickSelectProps","clickSelectProps","_textEditoPropsr","_clickSelectText","EmailTo","FormState","EmailCC","EmailSubject","createEmailTemplate","EmailTemplateId","TemplateDocumentCode","CreatedByName","dataTreeSelectProps","setDataTreeSelectProps","setFormSelect","clickSelect","setClickSelect","formSelectLabel","setFormSelectLabel","emailTemplateObj","setEmailTemplateObj","_emailTemplateObj","AddEmailTemplate","updateEmailTemplate","_templateDropdown","_dataAdvanceForm","layoutLabel","_emailTemplateId","getEmailTemplateById","_responeData","fetchEmailTemplateById","onClickSelect","SimLineSideBar","InitialComponent","setLineapprovals","openEmpSelector","setOpenEmpSelector","openTemSelector","setOpenTemSelector","setEmployeeList","setTemplateList","allMatrix","setAllMatrix","loadTemplate","setLoadTemplate","allCondition","setAllCondition","setTemplateData","requestorData","setRequestorData","fecthEmployeeData","fecthPositionData","fecthTemplate","initApprovalMatrix","conditionObject","conditionControl","callLineApprove","_allLogic$","allValue","enterButton","onSearch","_value$Conditions","reportTo","ResultComponent","lineapprovals","setSignatureList","fecthSignature","signature_id","DashboardCard","_props$dashboard","_props$dashboard2","dashboard","TextAbstract","_data$items","colorValue","statusCard","_color","Memo_StatusName","endpoint","RiDatabase2Line","DashboardCalendar","dataCalendar","setDataCalendar","defaultValueDashboard","setDefaultValueDashboard","allDay","renderStatusView","_status","displayName","status2","color2","displayName2","tt","_dd","zz","zz15","valueDropdownInCalendar","FullCalendar","dayGridPlugin","timeGridPlugin","interactionPlugin","initialView","weekends","eventClick","jsEvent","headerToolbar","center","dayMaxEvents","events","DashboardTimeline","dataTimeline","setDataTimeline","dataGroups","setDataGroups","rightTitle","start","end","bgColor","itemProps","onMouseUp","sideBarWidth","setSideBarWidth","Timeline","groupIdKey","groupTitleKey","groupRightTitleKey","itemIdKey","itemTitleKey","itemDivTitleKey","itemGroupKey","itemTimeStartKey","itemTimeEndKey","groupLabelKey","groups","defaultTimeStart","defaultTimeEnd","itemHeightRatio","canMove","canResize","stackItems","sidebarWidth","TimelineHeaders","SidebarHeader","getRootProps","DateHeader","unit","GetAllProject","itemFilter","setResponeConfig","op","ref2","isMounted","filterGroupBy","setFilterGroupBy","dataFilterGroupBy","setDataFilterGroupBy","ItemsStatus","setItemsStatus","dataAdvancedFilter","setDataAdvancedFilter","dataAdvancedFilterList","setDataAdvancedFilterList","setDashboard","setFilter","selectedFilter","setSelectedFilter","setEndpoint","onSetSelectView","setStatusCard","project","setProject","selectedProject","setSelectedProject","selectedStatus","setSelectedStatus","keyEnter","setKeyEnter","onClickFilter","setOnClickFilter","filterAttribute","setFilterAttribute","isOpenDateFilter","setIsOpenDateFilter","setValueDropdownInCalendar","isFetchData","setIsFetchData","timeoutHandler","ms","responseConfig","_filter","GetDashboardFilterStatus","_responeDefaultAdvanced","_filterStatus","_defaultFilter","GetDashboardDefaultFilterConFig","dataMapping","_dataItemFilter","_fieldText","_fieldType","_fieldTextFrom","_fieldTextTo","_filterParameter","fieldType","fieldTextFrom","fieldTextTo","_itemFilter","fieldDisplay","fieldCode","fieldSpited","fieldText","resultCard","userPrincipalName","connectionString","defaultAdvancedFilter","_advancedFilter","GetDashboardAdvancedFilter","_filterGroupBy","GetDashboardFilterGroupBy","_statusCard","_mapGroupData","_Project","arrayProject","ProjectName","fetchProject","defaultFilterStatus","_dataArray2","jj","_element$data","_filterAttribute$item","_filterAttribute$item2","_filterAttribute$item3","_filterAttribute$item4","_isHasStatus","_dropdown","_dropdown$dropdown","_dropdown$dropdown2","_dropdown$dropdown3","_dropdown$dropdown4","statusValue","_dropdown$value$","_dropdown$value$2","advancedSearch","globalFilterInput","OverlayPanel","_op$current2","_op$current3","_filterAttribute$item5","_filterAttribute$item6","_filterAttribute$item7","_filterAttribute$item8","_filterAttribute$item9","_filterAttribute$item10","_filterAttribute$item11","_filterAttribute$item12","_filterAttribute$item13","_filterAttribute$item14","_filterAttribute$item15","_filterAttribute$item16","_filterAttribute$item17","_filterAttribute$item18","_filterAttribute$item19","_filterAttribute$item20","nameValue","_e$value2","_e$value3","_dataByLang","_e$value4","projectValue","_e$value5","_e$value6","_dataByProject","_op$current4","BsLayoutThreeColumns","IoCalendarOutline","BsCalendarRange","_op$current","FiFilter","BsChevronDown","LogApi","postDate","setPostDate","textLog","setTextLog","fetchGetLogApi","_Log","PostedDate","GetLogApi","EmailTemplateList","setFirst","setRows","columnsHeader","setcolumnsHeader","arrayHeader","columnComponents","emailTemplate","setEmailTemplate","LeaveTypeComponents","_props$leaveTypeTable","LeaveConfig","leaveTypeTable","InformationComponent","_props$getInformation","_props$refAttibutePro","_props$refAttibutePro2","_props$refAttibutePro3","_props$refAttibutePro4","_props$refAttibutePro5","_props$refAttibutePro6","_props$refAttibutePro7","_props$refAttibutePro8","_props$refAttibutePro9","_props$refAttibutePro10","_props$refAttibutePro11","projectData","setProjectData","setCanNotEdit","treeTemplate","setTreeTemplate","companyList","setCompanyList","nameEnCompanyTo","setNameEnCompanyTo","nameEnCompanyCc","setNameEnCompanyCc","searchDataCc","setSearchDataCc","searchCompanyData","setSearchCompanyData","searchRefDocData","setSearchRefDocData","setSubject","globalFilterValueCc","setGlobalFilterValueCc","globalFilterCompanyValue","setGlobalFilterCompanyValue","globalFilterRefTempValue","setGlobalFilterRefTempValue","isDialogVisibleCc","setDialogVisibleCc","isDialogVisibleCompany","setDialogVisibleCompany","isDialogVisibleRefTemp","setDialogVisibleRefTemp","selectProject","setSelectProject","selectedEmployeeTo","setSelectedEmployeeTo","filteredEmployeeTo","setFilteredEmployeeTo","selectedEmployeeCc","setSelectedEmployeeCc","filteredEmployeeCc","setFilteredEmployeeCc","setRefTempSelected","refTempSelectedProps","selectFormTemplate","setSelectFormTemplate","searchTemplateListEditing","setSearchTemplateListEditing","isSearchTemplateEditing","setIsSearchTemplateEditing","locationPathName","setLocationPathName","coreRender","setCoreRender","onLazyLoad","setOnLazyLoad","refAttibuteProps","setListRefDocsDetail","dataStatusDraftSetDateNew","setInformationTemplate_Desc","formatDateTimeDataReQuest","created_date","checkCanEdit","getInformationMethodProp","setIsSetCanEdit","_detail$listFormName$","getInformation","fetchDataCompany","info_template","copyInformation","getInformationTemplateProp","setOnLoadLineApprove","localStorageData","_templateByid","lineApprove","getLineApprove","responeAprovaWithTemplate","setLineApporve","fetchDataLineApproveWithTemplate","fetchDataTemplateByid","dataGetInformationMethodProp","templateListFormName","template_detail","document_set","setGuid","dataGetInformationMethodMemoProp","_props$requestDetail","_templateIdListFormName","setListFormName","_dataSetInformation","modified_by","created_by","auto_approve_when","template_code","document_no","company_name","project_id","searchTemplateEdit","TemplateListEditing","refId","selQuery","refDoc","CompanyCodeWithName","onGlobalFilterChangeCc","onGlobalFilterCompanyChange","dataCpl","_data$AddressEn","answer_array","dataName","responeCompanyData","onChangeSubjectMemo","_project","showModalCompany","showModalRefTemp","showModalCc","onChangeSelectProject","ProjectId","setSelectedEmployeeToFunction","setSelectedEmployeeCcFunction","isCopyProps","isBranchFromADTitle","branchFromADTitle","searchEmployeeToEnter","searchEmployeeCcEnter","isHideProject","virtualScrollerOptions","itemSize","panelStyle","onChangeSelectFormTemplate","checkTypeLeave","isTextFromValue","showControl","setShowControl","selectedView","errorResult","errorTable","datafilterEmployee","renderHeaderCc","renderHeaderCompany","renderHeaderReftemp","useBreakpoint","Grid","LineApprovalsComponent","lineData","setLineData","setdataEmployeeList","globalFilterValue2","setGlobalFilterValue2","setCanEdit","sinatures_Seleted","setSinatures_Seleted","fromIndex","setFromIndex","moveToNumber","setMoveToNumber","fetchApprovals","getLineAproveMethodProp","s","signature_th","getRequestorDetailProp","setLineApproveMethodProp","sinatures","acceptMoveto","targetIndex","moveItem","scrollDirection","raw","lastData","lineid","addData","RequestorComponent","actionAdd","setIsActionAdd","masterEmployee","isADTitleToPosition","ADTitle","setRequestor","renderSelectedRequestor","masterATDLFT","selectedRows","setSelectedRows","indexState","setIndexState","configFile","setConfigFile","getUploadFileSettingConfiguration","fechData","filterArr","openWindowAttachment","getFile","splitPath","cannotDownloadPdfAppSetting","CannotDowLoadPDFDefaultConfiguration","_listFormNames$RefDoc2","_memoDetail$Permissio2","rootPath","docPath","lastIndex","extension","checkCanDownload","checkCanDownloadAttach","checkDLAttach","downloadFileType","checkRoleId","roleId","AttachDownload","cannotDowLoadPDFDefault","_listFormNames$RefDoc","_memoDetail$Permissio","tabWithoutSharedPoint","IoMdAlert","memo_id","is_merge_pdf","_selectedRows$find","handleCheckboxChange","_selectedRows","_SecRow","RequestSideBarElement","setSidebar","sidebarM","setSidebarM","BsPerson","AiOutlineApartment","ImAttachment","SideBarDataResponsive","AiOutlineHistory","MemoSingleButton","RequestScreen","_requestDetail$memoDe4","setTtemplateId","setMemoId","listFormNameState","setListFormNameState","isSetCanEdit","templateTree","setTemplateTree","setCheck","setErrorResult","visibleComfirm","setVisibleComfirm","setErrorTable","isActionPdf","setIsActionPdf","setIsTextFromValue","isShowPdfButton","setIsShowPdfButton","requestorId","setRequestorId","setCheckTypeLeave","onLoadLineApprove","setPreviewTemplate","setIsHideProject","setBranchFromADTitle","setIsBranchFromADTitle","activeADTitleToPosition","setActiveADTitleToPosition","isActiveADTitleToPosition","setIsActiveADTitleToPosition","refAttibute","setRefAttibute","memoPageModel","approver_can_edit","auto_approve","costcenter","department_id","document_library","is_editable","is_public","last_action_by","last_status_id","last_status_name","status_id","setLeaveTypeTable","_requestDetail$memoDe","_requestDetail$memoDe2","_requestDetail$memoDe3","fetchLineApproveWithSummary","fetchTemplateDocTypeCode","onCheckPermission","queryData","_requestDetail$memoDe5","checkRefTemplate","_memoPageModel$listRe","_refDoc","refObject","refDocsDetail","results","docDetail","replaceTitleInfo","_responeADTitle$activ","_respone$memoDetail3","_responeADTitle","activeBranchFromADTitle","_respone$memoDetail","_respone$memoDetail$r","_respone$memoDetail2","_respone$memoDetail2$","_respone$0$Value","_respone$","_respone","_display","_dataReplace","documentElement","_listFormName","_memoPageModel","_template$SpecificEmp","_template$SpecificEmp2","_template$SpecificRol","_template$SpecificRol2","emp_authorize","role_authorize","isEmpAuthorize","isRoleAuthorize","_template$SpecificEmp3","_template$SpecificEmp4","_template$SpecificRol3","_template$SpecificRol4","fechMemoDetail","fechMemoButton","permission","editDataMemoDetail","_leaveTemplate","checkLeaveRequestTemplate","fetchLeaveTemplate","setCreator","setInformation","setLineApprove","setFileAttach","getRequestor","getFileAttach","getTemplateTree","_memoId","fechMemoButtonDefault","error_result","error_table","ess_","_requestDetail$listFo","_requestDetail$memoDe6","_template_desc","runControls","_requestDetail$listFo2","_requestDetail$memoDe7","isTableRequire","table_row","table_col","_errpr","onAdd","getRequestorMethodProp","setRequestorMethodProp","setCreatorMethodProp","getInformationTemplateSetDataProp","getFileAttachMethodProp","setFileAttachMethodProp","actionNavContent","PreviewTemplateScreen","LoginGoogle","RegisterWolfScreen","checkLength","setCheckLength","checkEmail","setCheckEmail","displayPopup","setDisplayPopup","dataRemark","setDataRemark","validateEmail","Password","Note","Regis","RegisterWolfAccount","TableReferenceComponent","_props$refAttribute","_props$refAttribute2","_props$refAttribute3","showList","setShowList","refLoading","DialogRefTemplateComponent","_props$searchRefDocDa","_props$refAttribute4","filterRefTempValue","setFilterRefTempValue","setRefSelected","_data$props$refAttrib","refMemoId","RefSelected","advanceFormList","matchedItem","MAdvacveForm","assignMAdvancveForm","setDialogVisibleInRefTemplate","SelectField","DocNo","ValidateRef","ValidateSelected","renderHeaderRefTemplate","dialogVisibleInRefTemplate","TemplateVersionComponent","templateListVersion","selectedTemplateVersion","setSelectedTemplateVersion","InformationComponentFix","_listInToAndPass$to","_listInToAndPass$to2","_listInToAndPass$pass","_listInToAndPass$pass2","masterCompanies","canEditRefDoc","setListInToAndPass","listInToAndPass","masterProjects","finFo","masterInterface","checkedLeaveTemplate","isTemplateVersion","setDefaultTemplateDesc","dialogVisibleInCompany","setDialogVisibleInCompany","dialogVisibleInEmployee","setDialogVisibleInEmployee","hideProject","hideBranch","setIsHideBranch","hideTo","setIsHideTo","hideCc","setIsHideCc","hideSubject","setIsHideSubject","typeEmployeeDialog","setTypeEmployeeDialog","filteredEmployee","setFilteredEmployee","filterCompany","setFilterCompany","hasUserManual","setHasUserManual","_finFo$Value","_finFo","_showBranch","checkHasFifoFunction","searchEmployeeToAndPass","showModalInEmployeeToAndPass","masterDataList","userManual","masterlist","master","UserManualGroupName","nameFileSplit","linkFileSplit","getMasteLeave","setMasteLeave","MasteLeave","objeMemo","com_name","checkChangeComp","refObtions","LineApprovalsComponentFix","canEditLineApproval","currentLevel","hightLight","setHightLight","myLevel","setMyLevel","reorderLineapproval","newLine","objects","groupedMap","_groupedMap$get","reorderedObjects","reorderGroup","groupedParallel","parallelSeq","dynamicTable","IsAdmin","allSeq","toggleModal","okText","employeeId","nameTh","positionNameTh","departmentNameTh","onResetClick","defSignature","OtherButtonMemoComponent","_props$memoDetail$mem7","_t","_props$permission","_props$permission2","_t2","setResponeData","isCheckByOrigin","setIsCheckByOrigin","memoIdForCopy","IsCheckAccessEditing","_props$memoDetail","_props$memoDetail$mem","_props$memoDetail$mem2","actorCheckAccess","onSetCheckAccess","checkAccessRequestModel","checkIsAccessComponent","_props$memoDetail$mem3","_props$memoDetail$mem4","_props$memoDetail$mem5","_props$memoDetail$mem6","site","encodeURIComponent","isCheckAcces","BsPencilSquare","FaPrint","AdminEditCompletedMemoPermissionContext","AdminEditCompletedMemoProvider","canEditMemo","setCanEditMemo","getCanAdminEditCompletedMemo","CheckCanAdminEditCompletedMemo","useAdminEditCompletedMemoPermissionContext","RequestScreenFix","_memoDetail$template_","_location$state","_location$state2","checkUseEffect","setCheckUseEffect","setCheckActionPage","setCheckedLeaveTemplate","_setIsControlLoading","masterTemplateDesc","setMasterTemplateDesc","setActionAlert","showLoadTimer","hideLoadTimer","isShowLoad","clearTimeout","setCanEditDoc","canEditLineApprove","setCanEditLineApprove","isCheckAccess","setIsCheckAccess","isSkipapm","setIsSkipapm","setListFormNames","setListHistoryDetails","setRefAttribute","setRefOptions","setRefLoading","setCanEditRefDoc","setRefValue","masterLeaveSpec","setMasterLeaveSpec","masterSignature","setMasterSignature","setMasterATDLFT","masterRowState","setMasterRowState","masterDLAttach","setMasterDLAttach","setFinFo","setMasterInterface","lRTempCode","setLRTempCode","mbkOnlyU","setMbkOnlyU","setMasterProjects","setMasterEmployee","setMasterCompanies","setTemplateListVersion","setIsTemplateVersion","loadingPDF","setLoadingPDF","isShowPdf","setIsShowPdf","setIsShowSum","setPermission","masterDataValidField","setMasterDataValidField","messageValidField","setMessageValidField","setDuration","skipapm","setSkipapm","requestActionMemo","setRequestActionMemo","checkRequestActionMemo","setCheckRequestActionMemo","previousAmount","setTemplate_desc","setReturnMessage","setCheckInterFace","setInterfaceButton","setIsADTitleToPosition","isRequireAttachment","setIsRequireAttachment","setEdFont","_masterData$find$Valu","projects","_e$MasterType","temCodes","_e$MasterType2","setDefault","rishFont","setrishFont","fontFormat","detectLineApproval","getAllRefDoc","_RefID","refDocs","_refTemplate","Template_desc","เลขที่เอกสาร","Template_name","Document_no","_signature","checkQuery","autoApprove","canAccess","_usrId","_docTypeCode","_isCopy","_isPreview","_documentNo","_requestMemo","report_ref","auto_number","label_auto_number","_tempMemoId","getInitialData","_requestDetail3","_requestDetail4","_requestDetail5","_requestDetail5$reque","_requestDetail5$reque2","_requestDetail$reques2","userDataByQuery","hasQueryUserId","_isTextForm","_requestDetail$reques","_requestDetail2","_requestDetail2$reque","requestConditions","canViewAndPrint","memoButtons","getLineApproveAtFirsts","templateDescWithInterface","prepareInitialLogicInterface","detechFormulas","templateDescWithLogic","autoNum","_templateDesc","initialActionFiedFormLineApprove","_requestDetail6","_requestDetail6$reque","_requestDetail6$reque2","mewLine","IsFormControl","_templateApproveId","_responseTemplate","_listTemplate","arrayEditingVersion","checkTemplateVersion","checkDataAndSetFunction","createTableSums","templateItems","rowStateCOl","responseDataLineApprove","dataJsonApproverType","approverType","onLoadLiveApproveType","RequestConditions","logices","desc","tempdescItem","dataLineApprove","_jsonValue2","currentApprovals","_jsonValue","_datalineapprove","WaitForCommentcondition","deserializeColumnJsonCondValue","_ReqConditions$Condit","fieldAction","fieldSplited","condValue","_formulas","memoStatus","_templateDesc2","_templateDesc2$items","insert","arr","_fieldaction","_guid","chkInterface","handleDatasourcerelated","actionDesCription","_lineApproval","_templateDesc3","_templateDesc3$items","showTemplate","notInPos","userRole","currentApproval","onCheckUserRolePermissionInLogic","templateLayouts","_field$column","targetCols","notTargetCols","fieldCols","tableCols","notUseCols","_pos$tableCols","_templateDesc$items$r","_templateDesc$items$r2","onProcessLogicReferenceNoFilter","_templateDesc$items$r3","_templateDesc$items$r4","objMemo","selctedCom","hasDatadatasourcerelated","_actionTemplate","_actionTemplate2","_layout$data$value","initialLogicData","getInitialLogicData","controlType","_templateDesc$items$p","_templateDesc$items$p2","_templateDesc$items$p3","defItems","resData","_templateDesc$items2","dataSourceLoad","userRoles","accessRoles","accessRole","onFilterLoadtoField","onLoadReferenceData","orCondition","refFilterValueEqualComlumAll","refFilterValue","responseDataReference","onFilterRefFilterField","currentFieldValue","_refFilter","refData","refFil","_jsonValue$conditions2","objectkeyList","checkedLeaveTemplateLogic","CompanyNameTh","CompanyNameEn","_jsonValue$Conditions","_lRTempCode","_responeADTitle$activ2","_spited","waitForId","_e$filter","_memoButtons","IsRequesterEditApproval","_templateDesc$items3","sumIntable","CheckValidField","getCheckValid","datepicker2","datepickerLabel1","datepickerLabel2","_ValidField$Value","ValidField","masterDataValid","_masterDataValid$","_masterDataValid$2","masterDataLabel1","masterDataLabel2","newDate1","newDate2","_submitType","dateValidField1","dateValidField2","_listHistoryDetails","_listFileAttachDetails","_listRefDocDetails","_listControlRunning","_listFormNames","_listInToAndPass","_tempVersion","_allLogic","_validation","Validation","_formData$items","formatFormData","_memoDetail$memoid","_requestMemoPage","listLogic","_respone$messageType","_respone$message","_respone$messageType2","_memoDetail$actorChec","_template_desc$items$","_template_desc$items$2","_template_desc$items$3","_template_desc$items$4","_template_desc$items$5","allTemplateControl","logicRefInfomation","_control$items","logicRefInformation","refInfor","resTemp","logicDataLineApprove","logiceiei","_formData$items2","_layout$template3$att","_memoDetail$memoid2","controlName","listLineApprove","AccountDialog","NewPassword","ConfirmNewPassword","CreateWOLFAccount","UpdateWOLFAccount","UserManualDialog","userManualValue","setUserManualValue","setFileName","fileInputType","setfileInputType","masterDataValue","attachFile","userManualformData","_formData$UserManualG","_formData$UserManualG2","UserManualId","FileDescription","TagKeyword","Sep","ActorName","OrderItem","AddUserManual","uploadAttach","onUploadFile","DialogListFix","subTableData","setSubTableData","_editData","DelegateListScreen","isShowApproverModal","setIsShowApproverModal","approverData","setApproverData","searchDelegateData","setSearchDelegateData","filterText","setFilterText","defaultDateRange","setDefaultDateRange","departmentData","setDepartmentData","filterEmployee","setFilterEmployee","checkIsAdmin","qry","fetchDelegateList","_isAdmin","_delegate","delegate","assignedData","AssignedId","Approver","onResetFilter","AiFillPlusCircle","MdOutlineFormatListBulleted","RiUserSearchLine","momentWorklistFrom","momentWorklistTo","formatWorklistFrom","formatWorklistTo","formatDateTo","_data$","startDate","endDate","onClickSearch","RequesterDeptId","ActionId","WaitingId","setDataSource","bottom","LogSendEmailScreen","pageNumber","setPageNumber","logData","setLogData","setTotal","setSearchKeyword","fetchGetAll","GetAll","SendMails","onResend","Id","ReSend","dayjs","SearchOutlined","MasterDatascreenFixed","dynamicData","setDynamicData","emp_data","setEmp_data","subData","setSubData","allItemsCount","setAllItemsCount","form_limit","getQuery","eriei","apiPath","_emp_dataFind2","_dataDynamic2","_emp_dataFind","_emp_data","_apiPath","_emp_dataFind3","_emp_dataFind3$Employ","_emp_dataFind4","_emp_dataFind5","_emp_dataFind6","getAll","fecthApprovalMatrixItem","_emp_data2","_emp_data3","approvalMatrixes","matrixItemToString","SimLineApproveScreen","ReportScreenFix","setText","reportList","setReportList","setPaginationOption","showSizeChanger","_page","checkAutoReport","isEnable","_empList","_empList2","ExportTimeStamp","TimeStampScreen","setDataList","isLoadTable","setIsLoadTable","PageNumber","timeStampRequest","setTimeStampRequest","SearchDateTimeFrom","SearchDateTimeTo","Paging","fileSelected","setFileSelected","uploading","setUploading","exporting","setExporting","fecthTimeStamp","_paginationOption","PageCount","RecordCount","fecthExportTimeStamp","showTotal","paginationValue","UploadTimeStamp","MSDocRenderer","uri","Container","IFrame","MSDocFTMaps","docx","xls","ppt","pptx","fileTypes","weight","styled","_templateObject","_taggedTemplateLiteral","iframe","_templateObject2","PDFPreviewComponent","setElements","pdfjs","pdfjsLib","base64Src","convertToBase64","getDocument","loadingTask","atob","pdf","promise","pages","numPages","node","renderPage","renderDocument","arrayBuffer","binary","bytes","Uint8Array","len","byteLength","fromCharCode","btoa","canvas","pageNum","getPage","viewport","getViewport","outputScale","devicePixelRatio","floor","getContext","renderContext","canvasContext","intent","onContextMenu","PreviewAttachmentScreen","selectedDoc","setSelectedDoc","fileExt","setFileExt","imageType","pdfType","msType","ext","_tab","getTypeOfFile","empID","memoDocuno","handleCheckUserPDF","_imageType","_pdfType","_msType","objectFit","RequestActionMemo","RejectBrowser","browserConfig","LoginSSUP","accessToken","onCallback","clear","authorizeUrl","BUDGET","PR","PO","PV","GR","renderNumber","view","alloc","remain","percentage","genBudgetColumn","BudgetSummary","renderDescription","dataSet","PublishStatus","TrackStatus","ProcurementTracking","renderPublish","BLANK","WAIT_FOR_APPROVE","PUBLISH_ON_WEB","GlobalOutlined","verticalAlign","SKIP","renderTrack","COMPLETED","CheckOutlined","retrieveFn","retreiveProcurement","tor","stdPrice","pr","rfp","compare","po","award","eGP","ReportTable","formatNumber","expandable","expandRowByClick","searchOptions","setSearchOptions","retrieveData","reqBody","handler","q","ok","fetchAutocompleteOptions","textSearch","Routes","loginScreen","setLoginScreen","isLoadSuccess","setIsLoadSuccess","guidVerify","fetchApp","loadApp","defaultProtectedRouteProps","CheckAppSetting","canDownLoadPdf","CheckCanDownloadPdf","setIsLoadPackage","pathLogoLogin","isMulti","hidePassAndRegister","SwitchTransition","CSSTransition","addEndListener","done","WorkListScreen","TemplateDetailScreen","EmailTemplateListScreen","EmailTemplateDetailScreen","ReportScreen","DashboardScreen","PaymentReport","LoadComponent","LoadPackageComponent","packagesInstall","setPackagesInstall","Animate","transitionName","isLoadPackage","SyncOutlined","spin","onClickStart","FloatingButton","NotificationComponent","BellOutlined","App","_localStorage$getItem","auzreConfig","setAuzreConfig","ua","msie","msie11","msedge","timer","setTimer","isCountDown","setIsCountDown","isIE","isEdge","isFirefox","fetchCon","_document$querySelect","reponseAzureConfig","titleWeb","pathFavicon","getAzureConfig","msToTime","pad","secs","sec","formatKey","useIdleTimer","onIdle","countDown","_timer","reload","onAction","promptTimeout","immediateEvents","throttle","eventsThrottle","startOnMount","startManually","stopOnIdle","crossTab","syncTimers","publicClientApplication","authority","redirectUri","secureCookies","MsalProvider","Router","isLocalhost","registerValidSW","swUrl","serviceWorker","registration","onupdatefound","installingWorker","installing","onstatechange","Backend","LanguageDetector","initReactI18next","returnNull","fallbackLng","lng","_lang$toLowerCase","interpolation","escapeValue","rootElement","ReactDOM","Helmet","BrowserRouter","Suspense","fallback","ready","unregister","checkValidServiceWorker","registerServiceWorker"],"mappings":"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qF,UACExsC,cAACkhB,GAAM,CACL6sG,aAAe/jH,GAAMvK,EAAMsuH,aAAa/jH,GACxC4C,MAAO,YACPyC,KAAMrP,cAAC+1H,KAAM,IACbrd,KAAM,EACNoV,QAASruH,EAAMquH,WAKrB,CACEthF,UACExsC,cAACkhB,GAAM,CACL6sG,aAAe/jH,GAAMvK,EAAMsuH,aAAa/jH,GACxC4C,MAAO,YACPyC,KAAMrP,cAACg2H,KAAY,IACnBtd,KAAM,EACNoV,QAASruH,EAAMquH,WAIrB,CACEthF,UACExsC,cAACkhB,GAAM,CACL6sG,aAAe/jH,GAAMvK,EAAMsuH,aAAa/jH,GACxC4C,MAAO,SACPyC,KAAMrP,cAACi2H,IAAe,IACtBvd,KAAM,EACNoV,QAASruH,EAAMquH,WAIrB,CACEthF,UACExsC,cAACkhB,GAAM,CACL6sG,aAAe/jH,GAAMvK,EAAMsuH,aAAa/jH,GACxC4C,MAAO,WACPyC,KAAMrP,cAACk2H,IAAU,IACjBxd,KAAM,EACNoV,QAASruH,EAAMquH,WAIrB,CACEthF,UACExsC,cAACkhB,GAAM,CACL6sG,aAAe/jH,GAAMvK,EAAMsuH,aAAa/jH,GACxC4C,MAAO,SACPyC,KAAMrP,cAACm2H,KAAiB,IACxBzd,KAAM,EACNoV,QAASruH,EAAMquH,WAIrB,CACEthF,UACExsC,cAACkhB,GAAM,CACL6sG,aAAe/jH,GAAMvK,EAAMsuH,aAAa/jH,GACxC4C,MAAO,cACPyC,KAAMrP,cAACo2H,KAAiB,IACxB1d,KAAM,EACNoV,QAASruH,EAAMquH,WAIrB,CACEthF,UACExsC,cAACkhB,GAAM,CACL6sG,aAAe/jH,GAAMvK,EAAMsuH,aAAa/jH,GACxC4C,MAAO,WACPyC,KAAMrP,cAACq2H,KAAY,IACnB3d,KAAM,EACNoV,QAASruH,EAAMquH,WAKrB,CACEthF,UACExsC,cAACkhB,GAAM,CACL6sG,aAAe/jH,GAAMvK,EAAMsuH,aAAa/jH,GACxC4C,MAAO,aACPyC,KAAMrP,cAAC05G,KAAY,IACnBhB,KAAM,EACNoV,QAASruH,EAAMquH,YAKvB,OACE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","file":"static/js/main.13af8e62.chunk.js","sourcesContent":["import React from \"react\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport \"./ComponentLabel.css\";\r\ntype Props = {\r\n renderInTable?: boolean;\r\n col?: any;\r\n errors?: any;\r\n colText?: number;\r\n rowIdx: number;\r\n colIdx: number;\r\n template: any;\r\n style?: React.CSSProperties;\r\n rightComponent?: React.ReactNode;\r\n isSubmitted?: any;\r\n};\r\n\r\nconst ComponentLabel = (props: Props) => {\r\n return (\r\n <>\r\n {!props.renderInTable && (\r\n \r\n \r\n \r\n
\r\n {props.template.label}\r\n {(props.template.type === \"an\" ||\r\n props.template.attribute.require === \"Y\") && (\r\n *\r\n )}\r\n
\r\n

\r\n {props.template &&\r\n props.template?.alter &&\r\n props.template?.alter?.replaceAll(\"|\", \"\")}\r\n

\r\n \r\n \r\n {props.rightComponent}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default ComponentLabel;\r\n","export function replaceSpecialChar(str: string) {\r\n if (str === \"\") return \"\";\r\n str = str.replace(/ /g, \"_\");\r\n str = str.replace(\"'\", \"_\");\r\n str = str.replace(\";\", \"_\");\r\n str = str.replace(\",\", \"_\");\r\n str = str.replace(\"?\", \"_\");\r\n str = str.replace(\"<\", \"_\");\r\n str = str.replace(\">\", \"_\");\r\n str = str.replace(\"(\", \"_\");\r\n str = str.replace(\")\", \"_\");\r\n str = str.replace(\"@\", \"_\");\r\n str = str.replace(\"=\", \"_\");\r\n str = str.replace(\"+\", \"_\");\r\n str = str.replace(\"*\", \"_\");\r\n str = str.replace(\"&\", \"_\");\r\n str = str.replace(\"#\", \"_\");\r\n str = str.replace(\"%\", \"_\");\r\n str = str.replace(\"$\", \"_\");\r\n str = str.replace(\"|\", \"_\");\r\n str = str.replace(\"[\", \"_\");\r\n str = str.replace(\"]\", \"_\");\r\n str = str.replace(\"{\", \"_\");\r\n str = str.replace(\"}\", \"_\");\r\n str = str.replace(\":\", \"_\");\r\n str = str.replace(\"~\", \"_\");\r\n return str;\r\n}\r\n","export const GetAutoNumber = async (requestBody: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody.UserPrincipalName = email;\r\n const respone = await fetch(\"api/RequestControl/GetAutoNumber\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetSaveRunningNumber = async (requestBody: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody.UserPrincipalName = email;\r\n const respone = await fetch(\"api/RequestControl/SaveRunning\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetRvsRunning = async (requestBody: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody.UserPrincipalName = email;\r\n const respone = await fetch(\"api/RequestControl/GetRunning\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CanAssignMoreThanOne = async () => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n let requestBody = {\r\n UserPrincipalName: email,\r\n };\r\n const respone = await fetch(\"api/RequestControl/CanAssignMoreThanOne\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n data.result = data.result == \"True\";\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.error(\"error: CanAssignMoreThanOne\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const CanRequestCommentMoreThanOne = async () => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n let requestBody = {\r\n UserPrincipalName: email,\r\n };\r\n const respone = await fetch(\r\n \"api/RequestControl/CanRequestCommentMoreThanOne\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestBody),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n data.result = data.result == \"True\";\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.error(\"error: CanRequestCommentMoreThanOne\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const onDatareladToLoadData = async (dataJson: any) => {\r\n const response = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl2\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch(() => false);\r\n return response;\r\n};\r\n","import React, { useEffect } from \"react\";\r\n\r\ninterface Props {\r\n textHeaderProps?: any;\r\n textSubProps?: any;\r\n isRequir?: boolean;\r\n colorProps?: any;\r\n}\r\n\r\nexport const TextHeaderComponents = (props: Props) => {\r\n useEffect(() => {}, []);\r\n return (\r\n
\r\n {props.isRequir ? (\r\n \r\n \r\n {props.textHeaderProps}\r\n

\r\n\r\n \r\n *\r\n \r\n
\r\n ) : (\r\n \r\n {props.textHeaderProps}\r\n

\r\n )}\r\n\r\n \r\n {props.textSubProps}\r\n

\r\n \r\n );\r\n};\r\n","import axios from \"axios\";\r\n\r\nexport const UploadTinyMce = async (dataJson: any) => {\r\n const respone = await axios({\r\n method: \"post\",\r\n url: \"api/UploadFile/AddTinyMce\",\r\n data: dataJson,\r\n })\r\n .then(function (response) {\r\n return response;\r\n })\r\n .catch((err) => {\r\n console.log(\"AddTinyMce\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const UploadRequestFiles = async (dataJson: any) => {\r\n const respone = await fetch(\"api/UploadFile/AddFile\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(data, \"data\");\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const UploadFileRenderControl = async (dataJson: any) => {\r\n const respone = await axios({\r\n method: \"post\",\r\n url: \"api/UploadFile/UpLoadFileRenderControl\",\r\n data: dataJson,\r\n })\r\n .then(function (response) {\r\n return response;\r\n })\r\n .catch(function (response) {\r\n return response;\r\n });\r\n return respone;\r\n};\r\n","import { useContext } from \"react\";\r\nimport { MasterSettingContext } from \"../Context/MasterSettingContext\";\r\n\r\nconst useMasterSetting = () => {\r\n const context = useContext(MasterSettingContext);\r\n if (!context)\r\n throw new Error(\"MemoPage Context must be use inside MemoPage Provider\");\r\n return context;\r\n};\r\n\r\nexport default useMasterSetting;\r\n","export enum Device {\r\n safari = \"safari\",\r\n firefox = \"firefox\",\r\n chrome = \"chrome\",\r\n opera = \"opera\",\r\n edge = \"edge\"\r\n}","import axios from \"axios\";\r\nimport { IAttachFile } from \"../IRequestModel/IAttachfile\";\r\n\r\nexport const GetAllAttachFiles = async (\r\n dataJson: any\r\n): Promise => {\r\n const respone = await fetch(\"api/AttachFiles/GetAll\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log({ data });\r\n\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const UploadFileAttachFiles = async (dataJson: any) => {\r\n const respone = await axios({\r\n method: \"post\",\r\n url: \"api/AttachFiles/AddFile\",\r\n data: dataJson,\r\n })\r\n .then(function (response) {\r\n return response;\r\n })\r\n .catch((err) => {\r\n console.log({ errUploadAttach: err });\r\n });\r\n return respone;\r\n};\r\n\r\nexport const UploadRequestAttachFiles = async (dataJson: any) => {\r\n const respone = await fetch(\"api/AttachFiles/AddRequestFile\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((response) => response)\r\n .catch((err) => {\r\n console.log({ errUpload: err });\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetPort = async () => {\r\n const respone = await fetch(\"api/AttachFiles/GetPort\")\r\n .then((response) => response.json())\r\n .then((response) => response)\r\n .catch((err) => {\r\n console.log({ errUpload: err });\r\n });\r\n console.log(respone);\r\n\r\n return respone;\r\n};\r\n","export const formatKeyLogicData = (logicData: any) => {\r\n try {\r\n const _logicData = { ...logicData, data: [...logicData.data] };\r\n\r\n if (\r\n !_logicData.data.some((item: any) => item.item === \"-- Please Select --\")\r\n ) {\r\n _logicData.data.unshift({ item: \"-- Please Select --\" });\r\n }\r\n\r\n _logicData.data = _logicData.data.map((data: any) => {\r\n if (data[logicData.labelactionfield]) {\r\n return { item: data[logicData.labelactionfield] };\r\n }\r\n // return data;\r\n return { item: Object.values(data)[0] };\r\n });\r\n\r\n _logicData.data = Array.from(\r\n new Map(\r\n _logicData.data.map((item: { item: any }) => [item.item, item])\r\n ).values()\r\n );\r\n\r\n return _logicData;\r\n } catch (error) {\r\n console.error(\"logic=>formatKeyLogicData=>error\", error);\r\n }\r\n};\r\n","export const GetApprovalsByMemoIDs = async (memoIds: number[]) => {\r\n const respone = await fetch(\"api/LineApprove/GetByMemoIds\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ memoIds: memoIds }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"service=>error\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const onLoadDataLiveApprove = async (dataJson: any) => {\r\n const respone = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadLineApproveFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err: any) => console.error({ errerrerr: err }));\r\n return respone;\r\n};\r\n\r\nexport const SaveLineApprovalsByMemoId = async (\r\n memoId: number,\r\n current_approval_level: number,\r\n lineApprovals: {\r\n LineId: number;\r\n MemoId: number;\r\n Sequence: number;\r\n Emp_id: number;\r\n Signature_Id: number;\r\n ColumnJsonCondValue: string;\r\n }[]\r\n) => {\r\n const respone = await fetch(\"api/LineApprove/SaveLineApprove\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n MemoId: memoId,\r\n current_approval_level: current_approval_level,\r\n ListApprovalDetails: lineApprovals,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"service=>error\", err);\r\n });\r\n return respone;\r\n};\r\n","import { Device } from \"../constants/device-type\";\r\n\r\n\r\nexport const browserDetector = (): Device | string => {\r\n const userAgent = navigator.userAgent;\r\n\r\n if (userAgent.match(/Edg\\//i)) {\r\n return Device.edge; // Edge detection should come first\r\n }\r\n if (userAgent.match(/OPR\\/|Presto\\//i)) {\r\n return Device.opera;\r\n }\r\n if (userAgent.match(/Chrome\\//i) && !userAgent.match(/Edg\\//i)) {\r\n return Device.chrome;\r\n }\r\n if (userAgent.match(/Firefox/i)) {\r\n return Device.firefox;\r\n }\r\n if (userAgent.match(/Safari\\//i) && !userAgent.match(/Chrome\\//i)) {\r\n return Device.safari; // Ensure it's not Chrome\r\n }\r\n\r\n return \"unknown\";\r\n};\r\n","export enum LogicType {\r\n DataSourceRelated = \"datasourcerelated\",\r\n Reference = \"reference\",\r\n DataSourceLoad = \"datasourceload\",\r\n DataLineApprove = \"datalineapprove\",\r\n DataRelatedToLoadData = \"datareladtoloaddata\",\r\n DataAjaxLoadTable = \"dataajaxloadtable\",\r\n Permission = \"Permission\",\r\n Role = \"role\",\r\n RefInfomation = \"refinfomation\",\r\n SpecialActionService = \"specialactionservice\",\r\n HideControl = \"hidecontrol\",\r\n ReadOnlyControl = \"readonlycontrol\",\r\n ActionService = \"actionservice\",\r\n SetValueControl = \"setvaluecontrol\",\r\n}\r\n\r\nexport enum LogicOperatorType {\r\n Equal = \"=\",\r\n MoreThan = \">\",\r\n LessThan = \"<\",\r\n GreaterThanAndEqual = \">=\",\r\n LessThanAndEqual = \"<=\",\r\n NotEqual = \"!=\",\r\n Contain = \"contain\",\r\n StartWith = \"startwith\",\r\n EndWith = \"endwith\",\r\n}\r\n","import moment from \"moment\";\r\nimport { IDateAttribute } from \"../IRequestModel/ITemplateDescModel\";\r\n\r\nexport const formatDateTime = (value: any, defFormat?: string) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\r\n defFormat ? defFormat : \"DD MMM yyyy\"\r\n );\r\n return NewDate;\r\n } else {\r\n const NewDate = \"\";\r\n return NewDate;\r\n }\r\n};\r\n\r\nexport const getTimeFormat = (format: IDateAttribute) => {\r\n const symbol =\r\n format.time.symbol !== \":\" && format.time.symbol !== \"\"\r\n ? format.time.symbol\r\n : \":\";\r\n const timeFormat =\r\n format.time.use === \"Y\"\r\n ? `HH${symbol}mm${format.time.useSecond === \"Y\" ? `${symbol}ss` : \"\"}`\r\n : \"\";\r\n return timeFormat;\r\n};\r\n\r\nexport const getDateFormat = (format: IDateAttribute) => {\r\n const dateFormat =\r\n \"DD\" +\r\n (format.date.symbol !== \"\" ? format.date.symbol : \" \") +\r\n \"MMM\" +\r\n (format.date.symbol !== \"\" ? format.date.symbol : \" \") +\r\n `YYYY${getTimeFormat(format)}`;\r\n\r\n return dateFormat;\r\n};\r\n","import { Form, Input, Tooltip } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useWatch } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\n\r\nimport $ from \"jquery\";\r\nimport { checkRequireFromTemplate } from \"../../../Helper/RequestScreenHelper\";\r\n\r\ntype InputFormProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\nexport const InputControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n {\r\n // if (!field.value || field.value === \"\") {\r\n // field.value = template.attribute.default;\r\n // }\r\n let inpId = template.label.replaceAll(\" \", \"_\");\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {/* {`${rowIdx}${colIdx}`} */}\r\n {\r\n field.onChange(e);\r\n onControlChange(template, e.target.value);\r\n }}\r\n id={inpId}\r\n value={field.value ? field.value : undefined}\r\n readOnly={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n size={\"large\"}\r\n className=\"input-component table-input\"\r\n placeholder={\r\n template.type !== \"an\"\r\n ? template.attribute.description\r\n : \"Auto Number\"\r\n }\r\n maxLength={\r\n parseInt(template.attribute.length) === 0\r\n ? undefined\r\n : parseInt(template.attribute.length)\r\n }\r\n // defaultValue={template.attribute.default}\r\n disabled={\r\n !canEditDoc ||\r\n template.attribute.readonly === \"Y\" ||\r\n template.type === \"an\"\r\n }\r\n // onBlur={(e) => onChange(e.target.value)}\r\n status={\r\n isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n \"error\"\r\n }\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document\r\n .getElementById(inpId!)\r\n ?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n\r\n $(\r\n \"input[tabindex=\" +\r\n nxtIdx +\r\n \"], textarea[tabindex=\" +\r\n nxtIdx +\r\n \"]\"\r\n )\r\n .focus()\r\n .click();\r\n }, 300);\r\n }\r\n }}\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n// export default InputControlComponent;\r\n\r\nexport const InputTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n rowIdx,\r\n colIdx,\r\n toggleEdit,\r\n ...props\r\n}) => {\r\n let nId = rowIdx + \"_\" + colIdx + \"_\" + template.label;\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(nId)?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n\r\n $(\"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\")\r\n .focus()\r\n .click();\r\n }, 300);\r\n };\r\n const [checkEdit, setCheckEdit] = useState(isEditing)\r\n const [isMouseOver, setIsMouseOver] = useState(false)\r\n const debounceDelay = 100;\r\n useEffect(() => {\r\n setCheckEdit(isEditing); \r\n }, [isEditing]);\r\n\r\n if (!checkEdit) {\r\n return (\r\n {\r\n onEdit();\r\n }}\r\n onMouseOver={(e) => {\r\n setIsMouseOver(true)\r\n }}\r\n onMouseOut={(e) => {\r\n setIsMouseOver(false)\r\n }}\r\n >\r\n {\r\n // e.preventDefault();\r\n // }}\r\n onBlur={(e) => {\r\n e.preventDefault();\r\n saveFunc();\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n onFocus={(e) => {\r\n // onEdit();\r\n // if (toggleEdit) {\r\n // toggleEdit();\r\n // }\r\n // toggleEdit();\r\n e.target.select();\r\n }}\r\n />\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n \r\n
{\r\n setIsMouseOver(true)\r\n }}\r\n onMouseOut={(e) => {\r\n setIsMouseOver(false)\r\n }}>\r\n {\r\n e.preventDefault();\r\n saveFunc();\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n setIsMouseOver(false)\r\n nextTab();\r\n }\r\n }}\r\n onFocus={(e) => {\r\n // if (toggleEdit) {\r\n // toggleEdit();\r\n // }\r\n // toggleEdit()\r\n e.target.select();\r\n }}\r\n />\r\n
\r\n \r\n
\r\n \r\n );\r\n};\r\n// export default InputTableControlComponent;\r\n","import React from \"react\";\r\nimport { createContext, useContext, useState } from \"react\";\r\nimport { IUserModel } from \"../IRequestModel/IUserModel\";\r\nconst _userData = JSON.parse(localStorage?.getItem(\"userData\") || \"null\") || { employeeData: {} };\r\n\r\n\r\nconst employeeData = _userData.employeeData;\r\nconst initialSession: IUserModel = employeeData;\r\n\r\nexport const UserContext = createContext<\r\n [IUserModel, (session: IUserModel) => void]\r\n>([initialSession, () => {}]);\r\n\r\nexport const useUserContext = () => useContext(UserContext);\r\n\r\nexport const UserContextProvider: React.FC = (props) => {\r\n const [userData, setUserData] = useState(initialSession);\r\n const defaultUserContext: [IUserModel, typeof setUserData] = [\r\n userData,\r\n setUserData,\r\n ];\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import { createContext, ReactNode, useEffect, useState } from \"react\";\r\nimport React from \"react\";\r\nimport { useLocation } from \"react-router\";\r\nimport { notification } from \"antd\";\r\nimport \"./AlertContext.css\";\r\nimport { RiCloseCircleFill } from \"react-icons/ri\";\r\nimport { TiWarning } from \"react-icons/ti\";\r\nimport { FaCheckCircle } from \"react-icons/fa\";\r\nimport { BsFillInfoCircleFill } from \"react-icons/bs\";\r\n\r\nimport { IconType } from \"react-icons/lib\";\r\ninterface AlertProviderProps {\r\n children: ReactNode;\r\n}\r\ndeclare const AlertType: [\"success\", \"info\", \"warning\", \"error\"];\r\ninterface IToggleAlertParams {\r\n key?: string;\r\n type: (typeof AlertType)[number];\r\n message: string;\r\n description: string | ReactNode;\r\n onClose?: () => void;\r\n duration?: number;\r\n}\r\ninterface IAlertContextType {\r\n toggleAlert: (params: IToggleAlertParams) => void;\r\n}\r\nconst AlertContext = createContext(null);\r\nconst alertColors = {\r\n error: \"#b34045\",\r\n warning: \"#fecf6d\",\r\n info: \"#4091d7\",\r\n success: \"#2d884d\",\r\n};\r\nconst AlertContextProvider: React.FC = (props) => {\r\n const [api, contextHolder] = notification.useNotification();\r\n const handleToggleAlert = (params: IToggleAlertParams) => {\r\n let icon: JSX.Element = ;\r\n const iconSize = 28;\r\n if (params.type === \"error\") {\r\n icon = ;\r\n } else if (params.type === \"info\") {\r\n icon = ;\r\n } else if (params.type === \"success\") {\r\n icon = ;\r\n } else if (params.type === \"warning\") {\r\n icon = ;\r\n }\r\n api[params.type]({\r\n key: params.key,\r\n className: \"alert-custom\",\r\n message: params.message,\r\n description: params.description,\r\n placement: \"topRight\",\r\n onClose: params.onClose,\r\n duration: params.duration,\r\n style: {\r\n borderRadius: 8,\r\n zIndex: 10000,\r\n },\r\n icon,\r\n });\r\n };\r\n return (\r\n \r\n {contextHolder}\r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { AlertContextProvider, AlertContext };\r\n","import React, { createContext, useState, useEffect } from \"react\";\r\nimport { GetAllMasterData } from \"../Services/MasterDataService\";\r\n\r\ntype IMasterSettingContextType = {\r\n masterSetting: { [key: string]: any };\r\n updateMasterData: (masterData: any[]) => void;\r\n getMasterSetting: () => Promise<{ [key: string]: any }>;\r\n};\r\n\r\nexport const MasterSettingContext =\r\n createContext(null);\r\n\r\nexport const MasterSettingContextProvider: React.FC = (props) => {\r\n const [masterSetting, setMaterSetting] = useState<{ [key: string]: any }>({});\r\n\r\n useEffect(() => {\r\n if(!window.localStorage.getItem(\"userData\"))return\r\n fecthData();\r\n }, [window.localStorage.getItem(\"userData\")]);\r\n\r\n const fecthData = async () => {\r\n let settingDict = await getMasterSetting();\r\n setMaterSetting(settingDict);\r\n };\r\n const updateMasterData = (masterData: any[]) => {\r\n if (masterData.length > 0) {\r\n const _masterData = masterData.filter(\r\n (e) => [\"FormatDate\", \"RefSpec\" ,\"splitPage\", \"form_limit\"].includes(e.MasterType) && e.IsActive\r\n );\r\n let settingDict: any = {};\r\n _masterData.forEach((e: any) => {\r\n settingDict[e.MasterType] = e;\r\n });\r\n setMaterSetting(settingDict);\r\n }\r\n };\r\n\r\n const getMasterSetting = async () => {\r\n const masterData = await GetAllMasterData()\r\n .then((e) =>\r\n e.filter((e: any) => [\"FormatDate\", \"RefSpec\",\"splitPage\", \"form_limit\"].includes(e.MasterType))\r\n )\r\n .then((e) => e.filter((e: any) => e.IsActive))\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n\r\n let settingDict: any = {};\r\n masterData?.forEach((e: any) => {\r\n settingDict[e.MasterType] = e;\r\n });\r\n \r\n return settingDict;\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import { Button, Form, Input, Popconfirm, Table } from \"antd\";\r\nimport React from \"react\";\r\n\r\ntype EditableTableProps = Parameters[0];\r\ntype ColumnTypes = Exclude;\r\n\r\nexport const formatToColumns = (columns: any[], data: any) => {\r\n let rowData: any = {};\r\n rowData[\"key\"] = data.key;\r\n for (let i = 0; i < columns.length; i++) {\r\n const column = columns[i];\r\n rowData[column.label] = data[i].value;\r\n }\r\n return rowData;\r\n};\r\n\r\nexport const formatColumn = (columns: any[], data: any) => {\r\n let newData: any[] = [];\r\n // const dataString = JSON.stringify(data);\r\n // const _data = JSON.parse(dataString);\r\n\r\n for (let i = 0; i < data?.row?.length; i++) {\r\n const row = data.row[i];\r\n let rowData: any = {};\r\n rowData[\"key\"] = i;\r\n for (let j = 0; j < row?.length; j++) {\r\n const _row = row[j];\r\n rowData[columns[j]?.label] = _row.value\r\n ? _row.value\r\n : _row.item\r\n ? _row.item\r\n .map((_item: any, idx: number) =>\r\n _item === \"Y\"\r\n ? columns[j].control.template.attribute.items[idx].item\r\n : \"\"\r\n )\r\n .toString()\r\n : _row.value;\r\n // rowData[columns[j].label] = _row.value;\r\n }\r\n\r\n newData.push(rowData);\r\n }\r\n const column: any[] = [];\r\n\r\n column.push({\r\n title: \"#\",\r\n key: \"index\",\r\n width: \"80px\",\r\n align: \"center\",\r\n render: (_: any, record: { key: number }, index: number) =>\r\n record.key !== undefined ?

{record.key + 1}

:

{index + 1}

,\r\n });\r\n let cal = 0;\r\n columns.map((_column: any) => {\r\n let tableWidth = (25 / 100) * 1220;\r\n let canEdit: boolean = true;\r\n\r\n if (\r\n _column.control.template.attribute.widthInTable &&\r\n _column.control.template.attribute.widthInTable > 0\r\n ) {\r\n const width = Number(_column.control.template.attribute.widthInTable);\r\n tableWidth = (width / 100) * 1220;\r\n }\r\n cal += 200;\r\n\r\n column.push({\r\n title: (\r\n
\r\n
\r\n {_column.label}\r\n {_column.control.template.attribute.require === \"Y\" && (\r\n *\r\n )}\r\n
\r\n\r\n {_column.alter}\r\n
\r\n ),\r\n dataIndex: _column.label,\r\n editable: canEdit,\r\n width: tableWidth,\r\n isShow: _column.isShow,\r\n });\r\n });\r\n // console.log({ eee: column });\r\n\r\n return { column, newData };\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport type { DatePickerProps } from \"antd\";\r\nimport { DatePicker, Space } from \"antd\";\r\nimport moment from \"moment\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { RangePickerProps } from \"antd/lib/date-picker\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { getDateFormat } from \"../../../Helper/FormatDateTime\";\r\nimport { Form, Input } from \"antd\";\r\nimport { Store } from \"antd/lib/form/interface\";\r\nimport { IDateTemplate } from \"../../../IRequestModel/ITemplateDescModel\";\r\nimport useMasterSetting from \"../../../hooks/useMasterSetting\";\r\nimport { checkRequireFromTemplate } from \"../../../Helper/RequestScreenHelper\";\r\n\r\ntype InputDateProps = {\r\n ref?: any;\r\n template: IDateTemplate;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n actionAlert?: any;\r\n onControlChange?: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n controlUpdate: any\r\n ) => any;\r\n};\r\n\r\ntype IDateControlProps = {\r\n template: IDateTemplate;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n actionAlert?: any;\r\n onControlChange: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n controlUpdate: any\r\n ) => any;\r\n};\r\n\r\nconst DateInputComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n actionAlert,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n const [action, setAction] = useState(false);\r\n const { masterSetting } = useMasterSetting();\r\n\r\n useEffect(() => {\r\n checkStatus();\r\n }, [action]);\r\n\r\n const checkStatus = () => {\r\n if (actionAlert) {\r\n if (actionAlert.Data) {\r\n actionAlert.Data.map((data: any) => {\r\n if (\r\n actionAlert.ErrorType === \"SpecialError\" &&\r\n data.Label === template.label &&\r\n data.Value === value\r\n ) {\r\n setAction(true);\r\n } else {\r\n setAction(false);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n // console.log(\"actionAlert=>\", actionAlert);\r\n function formatDate(date: string) {\r\n let arrDate = date.split(\"/\");\r\n\r\n const mm = Number(arrDate[1]);\r\n if (mm === 1) {\r\n arrDate[1] = \"Jan\";\r\n } else if (mm === 2) {\r\n arrDate[1] = \"Feb\";\r\n } else if (mm === 3) {\r\n arrDate[1] = \"Mar\";\r\n } else if (mm === 4) {\r\n arrDate[1] = \"Apr\";\r\n } else if (mm === 5) {\r\n arrDate[1] = \"May\";\r\n } else if (mm === 6) {\r\n arrDate[1] = \"Jun\";\r\n } else if (mm === 7) {\r\n arrDate[1] = \"Jul\";\r\n } else if (mm === 8) {\r\n arrDate[1] = \"Aug\";\r\n } else if (mm === 9) {\r\n arrDate[1] = \"Sep\";\r\n } else if (mm === 10) {\r\n arrDate[1] = \"Oct\";\r\n } else if (mm === 11) {\r\n arrDate[1] = \"Nov\";\r\n } else if (mm === 12) {\r\n arrDate[1] = \"Dec\";\r\n }\r\n return arrDate.join(\r\n template.attribute.date.symbol !== \"\"\r\n ? template.attribute.date.symbol\r\n : \"/\"\r\n );\r\n }\r\n const getDateValue = (dateValue: any) => {\r\n // let newDate: Date = new Date();\r\n let newDate = moment(\r\n moment(new Date(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n newDate = moment(formatDate(dateValue), \"DD MMM YYYY\").toDate();\r\n } else {\r\n newDate = moment(\r\n moment(formatDate(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n console.log(\"cal=>props.data.value\", dateValue);\r\n }\r\n }\r\n\r\n // return newDate;\r\n return moment(\r\n new Date(newDate).toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"numeric\",\r\n }),\r\n getDateFormat(template.attribute)\r\n );\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n onChange(\r\n value ? value?.format(getDateFormat(template.attribute)) : \"\"\r\n );\r\n }}\r\n status={action ? \"error\" : \"\"}\r\n inputReadOnly\r\n />\r\n \r\n );\r\n};\r\n// this one row col index\r\nexport const DatePickerControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n (\r\n <>\r\n \r\n \r\n \r\n {\r\n onChange(value);\r\n onControlChange(template, value, false);\r\n }}\r\n />\r\n\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const DatePickerTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n {\r\n // if (value !== \"\" && value !== undefined) {\r\n // return moment(value, getDateFormat(template.attribute));\r\n // } else {\r\n // return null;\r\n // }\r\n // }}\r\n rules={[\r\n {\r\n required:\r\n template.attribute.require === \"Y\" &&\r\n checkRequireFromTemplate(template, buttonType),\r\n message: `${template.label} is required.`,\r\n },\r\n ]}\r\n >\r\n {\r\n saveFunc(template.type, template.type);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import { Form, InputNumber } from \"antd\";\r\nimport React from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport $ from \"jquery\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n onControlChange: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n controlUpdate: any\r\n ) => any;\r\n controlUpdate: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputNumberProps = {\r\n ref?: any;\r\n id?: string;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n isEditing?: any;\r\n canEditDoc: boolean;\r\n toggleEdit?: any;\r\n checkActionPage: string;\r\n};\r\n\r\nexport const InputNumberComponent: React.FC = ({\r\n id,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n isEditing,\r\n toggleEdit,\r\n ref,\r\n}) => {\r\n return (\r\n <>\r\n {\r\n if (value === null || _value === \"\") {\r\n return \"\";\r\n }\r\n if (isNaN(Number(_value.replaceAll(\",\", \"\")))) {\r\n return \"\";\r\n } else {\r\n if (template.attribute.useComma === \"Y\") {\r\n return Number(_value.replaceAll(\",\", \"\")).toLocaleString(\r\n \"en-US\",\r\n {\r\n minimumFractionDigits: Number(template.attribute.decimal),\r\n }\r\n );\r\n } else {\r\n return String(\r\n Number(_value.replaceAll(\",\", \"\")).toFixed(\r\n Number(template.attribute.decimal)\r\n )\r\n );\r\n }\r\n }\r\n }}\r\n style={{\r\n width: \"100%\",\r\n }}\r\n disabled={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n // readOnly={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n value={value}\r\n defaultValue={template.attribute.default}\r\n onFocus={(e) => {\r\n if (toggleEdit) {\r\n toggleEdit();\r\n }\r\n e.target.select();\r\n }}\r\n onBlur={(e) => {\r\n e.preventDefault();\r\n let _value = \"\";\r\n if (\r\n e.target.value != \"\" &&\r\n !isNaN(Number(e.target.value.replaceAll(\",\", \"\")))\r\n ) {\r\n _value = Number(e.target.value.replaceAll(\",\", \"\")).toLocaleString(\r\n \"en-US\",\r\n {\r\n minimumFractionDigits: Number(template.attribute.decimal),\r\n maximumFractionDigits: Number(template.attribute.decimal),\r\n }\r\n );\r\n }\r\n onChange(_value.replaceAll(\",\", \"\"));\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document\r\n .getElementById(id!)\r\n ?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n $(\r\n \"input[tabindex=\" +\r\n nxtIdx +\r\n \"], textarea[tabindex=\" +\r\n nxtIdx +\r\n \"]\"\r\n )\r\n .focus()\r\n .click();\r\n }, 300);\r\n }\r\n }}\r\n onPressEnter={(e: any) => {\r\n e.target.blur();\r\n }}\r\n status={status}\r\n ref={ref}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const InputNumberControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n onControlChange,\r\n canEditDoc,\r\n checkActionPage,\r\n controlUpdate,\r\n buttonType,\r\n}) => {\r\n return (\r\n {\r\n if (\r\n template.attribute.require === \"\" ||\r\n template.attribute.require === \"N\" ||\r\n [\"draft\", \"cancel\", \"reject\", \"recall\", \"assign\"].includes(\r\n buttonType\r\n )\r\n ) {\r\n return true;\r\n }\r\n return value !== null && value !== \"\";\r\n },\r\n\r\n min:\r\n template.attribute.min && template.attribute.min?.length > 0\r\n ? Number(template.attribute.min)\r\n : undefined,\r\n max:\r\n template.attribute.max && template.attribute.max?.length > 0\r\n ? Number(template.attribute.max)\r\n : undefined,\r\n }\r\n : undefined\r\n }\r\n render={({\r\n field: { onChange, value },\r\n formState: { isSubmitted, errors },\r\n }) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n let intValue: any = value == \"\" ? null : value;\r\n onChange(intValue);\r\n onControlChange(template, intValue, false);\r\n }}\r\n value={value}\r\n status={\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n \"error\"\r\n }\r\n />\r\n {errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n errors?.items[rowIdx]?.layout[colIdx]?.data?.value?.type ===\r\n \"validate\" && (\r\n \r\n {template.label} : is required.\r\n \r\n )}\r\n {errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n (errors?.items[rowIdx]?.layout[colIdx]?.data?.value?.type! ===\r\n \"min\" ||\r\n errors?.items[rowIdx]?.layout[colIdx]?.data?.value\r\n ?.type! === \"max\") && (\r\n \r\n {template.label} must be between {template.attribute.min}{\" \"}\r\n to {template.attribute.max}.\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 InputNumberTableComponent: React.FC = ({\r\n rowIdx,\r\n colIdx,\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n}) => {\r\n const { toggleAlert } = useAlert();\r\n\r\n if (!isEditing) {\r\n return (\r\n <>\r\n Number(template.attribute.max)) ||\r\n (template.type === \"c\" &&\r\n Number(template.attribute.max) !== 0 &&\r\n Number(children[1]) !== 0.0 &&\r\n Number(children[1]) < Number(template.attribute.min))\r\n ? {\r\n width: \"100%\",\r\n border: \"1px solid red\",\r\n borderRadius: \"6px\",\r\n }\r\n : {\r\n width: \"100%\",\r\n }\r\n }\r\n >\r\n \r\n \r\n {template.type === \"c\" &&\r\n template.attribute.min === template.attribute.max ? (\r\n <>\r\n ) : (\r\n (template.type === \"c\" &&\r\n Number(template.attribute.max) !== 0.0 &&\r\n Number(children[1]) !== 0.0 &&\r\n Number(children[1]) > Number(template.attribute.max) && (\r\n \r\n {template.label} must be between {template.attribute.min} to{\" \"}\r\n {template.attribute.max}.\r\n \r\n )) ||\r\n (template.type === \"c\" &&\r\n Number(template.attribute.min) !== 0.0 &&\r\n Number(children[1]) !== 0.0 &&\r\n Number(children[1]) < Number(template.attribute.min) && (\r\n \r\n {template.label} must be between {template.attribute.min} to{\" \"}\r\n {template.attribute.max}.\r\n \r\n ))\r\n )}\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n let correct = true;\r\n let msg = \"\";\r\n\r\n if (value) {\r\n const formatValue = Number(value);\r\n const formatMaxValue = Number(template.attribute.max);\r\n const formatMinValue = Number(template.attribute.min);\r\n if (formatMaxValue !== 0 && formatValue > formatMaxValue) {\r\n correct = false;\r\n msg = `${template.label} must be between ${template.attribute.min} to ${template.attribute.max} value.`;\r\n } else if (\r\n formatMinValue !== 0 &&\r\n formatValue < formatMinValue\r\n ) {\r\n correct = false;\r\n msg = `${template.label} must be between ${template.attribute.min} to ${template.attribute.max} value.`;\r\n }\r\n } else if (value === \"\" && template.attribute.require === \"Y\") {\r\n correct = false;\r\n }\r\n\r\n return correct\r\n ? Promise.resolve()\r\n : Promise.reject(new Error(msg));\r\n },\r\n },\r\n ]\r\n }\r\n >\r\n {\r\n saveFunc(template.type, template.type);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import { Space } from \"antd\";\r\nimport { Radio } from \"antd\";\r\nimport React from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { Form } from \"antd\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { Store } from \"antd/lib/form/interface\";\r\nimport { checkRequireFromTemplate } from \"../../../Helper/RequestScreenHelper\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n onControlChange: (\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: any\r\n ) => any;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputRadioProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange?: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n};\r\n\r\nexport const RadioComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n return (\r\n <>\r\n \r\n {template.attribute.multipleLine === \"N\" && (\r\n \r\n {template.attribute.items.map((choice: any) => (\r\n \r\n {choice.item}\r\n \r\n ))}\r\n \r\n )}\r\n\r\n {template.attribute.multipleLine === \"Y\" && (\r\n <>\r\n {template.attribute.items.map((choice: any) => (\r\n \r\n {choice.item}\r\n \r\n ))}\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport const RadioControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n onControlChange,\r\n buttonType,\r\n ...props\r\n}) => {\r\n return (\r\n (\r\n <>\r\n \r\n \r\n \r\n {\r\n onChange(value);\r\n onControlChange(template, value.target.value, false);\r\n }}\r\n status={\r\n isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]\r\n }\r\n />\r\n {errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const RadioTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n value,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n <>\r\n value}\r\n rules={\r\n canEditDoc && [\r\n {\r\n required: checkRequireFromTemplate(template, buttonType),\r\n message: `${template.label} is required.`,\r\n },\r\n ]\r\n }\r\n >\r\n {\r\n saveFunc(template.type);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import { Form, Select } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller, UseFormGetValues } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { ILogicRequestBody } from \"../../../IRequestModel/ILogicModel\";\r\nimport {\r\n checkRequireFromTemplate,\r\n dataReleteToDD,\r\n getRefInforValue,\r\n} from \"../../../Helper/RequestScreenHelper\";\r\nimport { formatKeyLogicData } from \"../../../Helper/formatKeyLogicData\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n controlUpdate: any;\r\n canEditDoc: boolean;\r\n buttonType: string;\r\n checkActionPage: string;\r\n actionAlert?: any;\r\n allLogicInTable: any[];\r\n getValues?: UseFormGetValues<{\r\n items: any;\r\n }>;\r\n};\r\n\r\ntype SelectDropdownProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any, type: string) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n onDropdownVisibleChange?: (open: boolean) => void;\r\n tableOptions?: any[];\r\n actionAlert?: any;\r\n loading?: boolean;\r\n};\r\n\r\nconst { Option } = Select;\r\n\r\nexport const SelectWithTableDropdownComponent: React.FC<\r\n SelectDropdownProps\r\n> = ({\r\n template,\r\n value,\r\n canEditDoc,\r\n onChange,\r\n tableOptions,\r\n actionAlert,\r\n onDropdownVisibleChange,\r\n loading,\r\n}) => {\r\n const [action, setAction] = useState(false);\r\n useEffect(() => {\r\n checkStatus();\r\n }, [actionAlert]);\r\n\r\n const checkStatus = () => {\r\n if (actionAlert) {\r\n if (actionAlert.Data) {\r\n actionAlert.Data.map((data: any) => {\r\n if (\r\n actionAlert.ErrorType === \"SpecialError\" &&\r\n data.Label === template.label &&\r\n data.Value === value\r\n ) {\r\n setAction(true);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n // console.log(\"actionAlert=>\", actionAlert);\r\n return (\r\n <>\r\n 0\r\n ? template.attribute.items[0].item\r\n : \"--select--\"\r\n }\r\n onDropdownVisibleChange={onDropdownVisibleChange}\r\n placeholder={template.attribute.description}\r\n optionFilterProp=\"children\"\r\n loading={loading}\r\n onChange={(value) => onChange(value, \"dd\")}\r\n disabled={\r\n !canEditDoc ||\r\n template.attribute.readonly === \"Y\" ||\r\n template.readonly === \"Y\"\r\n }\r\n filterOption={(input, option) =>\r\n (option!.children as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase())\r\n }\r\n style={{\r\n textAlign: template.attribute.align === \"r\" ? \"right\" : \"left\",\r\n height: 38,\r\n }}\r\n size={\"large\"}\r\n status={action ? \"error\" : \"\"}\r\n >\r\n {tableOptions\r\n ? tableOptions?.map((option: any) => (\r\n \r\n ))\r\n : template.attribute?.items?.map((option: any) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\nexport const SelectDropdownComponent: React.FC = ({\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n tableOptions,\r\n onDropdownVisibleChange,\r\n}) => {\r\n return (\r\n <>\r\n onChange(value, \"dd\")}\r\n onDropdownVisibleChange={onDropdownVisibleChange}\r\n filterOption={(input, option) =>\r\n (option!.children as unknown as string)\r\n ?.toLowerCase()\r\n ?.includes(input.toLowerCase())\r\n }\r\n style={{\r\n textAlign: template.attribute.align === \"r\" ? \"right\" : \"left\",\r\n }}\r\n size={\"large\"}\r\n status={status && \"error\"}\r\n >\r\n {tableOptions\r\n ? tableOptions?.map((option: any) => (\r\n \r\n ))\r\n : template.attribute?.items?.map((option: any) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\nexport const SelectDropdownControlComponent: React.FC = ({\r\n allLogicInTable,\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n onControlChange,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n actionAlert,\r\n getValues,\r\n}) => {\r\n const [customOptions, setCustomOptions] = useState();\r\n const [labelActionLogic, setLabelActionLogic] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const logicRequest = (des: any) => {\r\n try {\r\n if (allLogicInTable && getValues) {\r\n let conditions: ILogicRequestBody[] = allLogicInTable.filter(\r\n (e) => e.actionlabel === template.label\r\n );\r\n\r\n const allVal = getValues();\r\n\r\n if (conditions.length > 0) {\r\n setCustomOptions(undefined);\r\n\r\n setLoading(true);\r\n let labelactionfield: string = \"\";\r\n dataReleteToDD(\r\n conditions.map((con) => {\r\n if (con.Key !== \"\") {\r\n allVal.items.forEach((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n _layout?.template?.label &&\r\n _layout?.template?.label === con.Key &&\r\n (_layout?.template?.description || \"\") === (des || \"\")\r\n ) {\r\n con.Value = _layout.data.value;\r\n // labelactionfield = con.labelactionfield;\r\n }\r\n });\r\n\r\n });\r\n }\r\n labelactionfield = con.labelactionfield;\r\n return con;\r\n })\r\n ).then((val) => {\r\n const res = formatKeyLogicData({\r\n data: val,\r\n labelactionfield: labelactionfield,\r\n });\r\n\r\n if (res) {\r\n setCustomOptions([...res.data]);\r\n }\r\n setLoading(false);\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n return (\r\n {\r\n if (canEditDoc && checkRequireFromTemplate(template, buttonType)) {\r\n if (value.data.value) {\r\n if (\r\n value.data.value !== \"---Select---\" &&\r\n value.data.value !== \"-- Please Select --\" &&\r\n value.data.value !== \"--Please Select--\" &&\r\n value.data.value !== \"--select--\"\r\n ) {\r\n return true;\r\n } else if (\r\n template.attribute.require === \"\" ||\r\n template.attribute.require === \"N\"\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } else if (!value.data.value) {\r\n if (\r\n !template.attribute.require ||\r\n template.attribute.require === \"\" ||\r\n template.attribute.require === \"N\"\r\n ) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n }\r\n },\r\n }}\r\n render={({\r\n field: { onChange, value },\r\n formState: { errors, isSubmitted },\r\n }) => {\r\n const _value = value;\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n onChange({\r\n ..._value,\r\n data: {\r\n value,\r\n },\r\n });\r\n onControlChange(template, value);\r\n }}\r\n tableOptions={customOptions}\r\n loading={loading}\r\n onDropdownVisibleChange={(open) => {\r\n if (open) {\r\n logicRequest(value?.template?.description);\r\n } else {\r\n setCustomOptions(undefined);\r\n setLoading(false);\r\n }\r\n }}\r\n actionAlert={actionAlert}\r\n status={\r\n isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n _value === \"--select--\")\r\n }\r\n />\r\n\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\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 SelectDropdownTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n record,\r\n allLogicInTable,\r\n actionAlert,\r\n getValues,\r\n}) => {\r\n const [customOptions, setCustomOptions] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n const logicRequest = (des: string) => {\r\n if (allLogicInTable && getValues) {\r\n const allVal = getValues();\r\n let conditions: ILogicRequestBody[] = allLogicInTable.filter(\r\n (e: any) =>\r\n e.actionlabel === template.label ||\r\n e.actionlabel?.startsWith(template.label + \"|\")\r\n );\r\n\r\n if (conditions.length > 0) {\r\n setLoading(true);\r\n let labelactionfield: string = \"\";\r\n\r\n dataReleteToDD(\r\n conditions.map((con) => {\r\n if (con.Key !== \"\" && record[con.Key]) {\r\n con.Value = record[con.Key];\r\n } else if (con.Key !== \"\") {\r\n allVal.items.forEach((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n _layout?.template?.label &&\r\n _layout?.template?.label === con.Key &&\r\n (_layout?.template?.description || \"\") === (des || \"\")\r\n ) {\r\n con.Value = _layout.data.value;\r\n }\r\n });\r\n });\r\n }\r\n labelactionfield = con.labelactionfield;\r\n\r\n return con;\r\n })\r\n ).then((val) => {\r\n const res = formatKeyLogicData({\r\n data: val,\r\n labelactionfield: labelactionfield,\r\n });\r\n if (res) {\r\n setCustomOptions([...res.data]);\r\n }\r\n setLoading(false);\r\n });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n 1,\r\n validator: (_, value) => {\r\n let res = true;\r\n\r\n if (template.attribute.items.length > 1) {\r\n if (value) {\r\n if (\r\n value !== \"--select--\" &&\r\n value !== \"--Please Select--\"\r\n ) {\r\n res = true;\r\n } else if (template.attribute.require === \"N\") {\r\n res = true;\r\n } else {\r\n res = false;\r\n }\r\n } else {\r\n if (template.attribute.require === \"N\") {\r\n res = true;\r\n } else {\r\n res = false;\r\n }\r\n }\r\n }\r\n\r\n return res\r\n ? Promise.resolve()\r\n : Promise.reject(`${template.label} is required.`);\r\n },\r\n },\r\n ]\r\n }\r\n >\r\n {\r\n if (open) {\r\n logicRequest(template.description);\r\n } else {\r\n setCustomOptions(undefined);\r\n setLoading(false);\r\n }\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import { Checkbox, Form } from \"antd\";\r\nimport type { CheckboxValueType } from \"antd/es/checkbox/Group\";\r\nimport React from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { checkRequireFromTemplate } from \"../../../Helper/RequestScreenHelper\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\ntype CheckboxProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n};\r\nexport const CheckboxInTableComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n const onSelectChange = (\r\n checkedValues: CheckboxValueType[],\r\n _onChange: any\r\n ) => {\r\n let items = template.attribute.items;\r\n let test: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < checkedValues.length; i++) {\r\n const _value = checkedValues[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n test.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n\r\n // console.log({ resresres: res });\r\n // for (let i = 0; i < res.length; i++) {\r\n // const _res = res[i];\r\n // if (_res === \"Y\") {\r\n // _value.push(i);\r\n // }\r\n // }\r\n // console.log({\r\n // resresres: {\r\n // item: res,\r\n // value: _value.toString(),\r\n // },\r\n // });\r\n\r\n _onChange(test.toString(), \"cb\");\r\n // _onChange(res);\r\n };\r\n\r\n const formatOptions = (options: { item: string; chcked: string }[]) => {\r\n const _options = options.map(\r\n (option: { item: string; chcked: string }) => option.item\r\n );\r\n\r\n return _options;\r\n };\r\n const formatValue = (value: any) => {\r\n let items = template.attribute.items;\r\n let _res: any[] = [];\r\n // console.log({ value, _res, template });\r\n\r\n if (value && value.length > 0) {\r\n const _values = value.split(\",\");\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n for (let j = 0; j < _values.length; j++) {\r\n const _value = _values[j];\r\n if (_value === item.item) {\r\n }\r\n }\r\n // if (_value[i] === \"Y\") {\r\n // _res.push(item.item);\r\n // } else {\r\n // }\r\n }\r\n\r\n return _values;\r\n }\r\n\r\n return [];\r\n };\r\n return (\r\n <>\r\n onSelectChange(checkValue, onChange)}\r\n value={formatValue(value)}\r\n />\r\n \r\n );\r\n};\r\nexport const CheckboxComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n const onSelectChange = (\r\n checkedValues: CheckboxValueType[],\r\n _onChange: any\r\n ) => {\r\n let items = template.attribute.items;\r\n let _values: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < checkedValues.length; i++) {\r\n const _value = checkedValues[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n _values.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n\r\n _onChange(\r\n {\r\n item: res,\r\n value: _values.toString(),\r\n },\r\n \"cb\"\r\n );\r\n };\r\n\r\n const formatOptions = (options: { item: string; chcked: string }[]) => {\r\n const _options = options.map(\r\n (option: { item: string; chcked: string }) => option.item\r\n );\r\n\r\n return _options;\r\n };\r\n const formatValue = (value: any) => {\r\n let items = template.attribute.items;\r\n let _res: any[] = [];\r\n\r\n if (value && value.item) {\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n\r\n if (value?.item[i] === \"Y\") {\r\n _res.push(item.item);\r\n }\r\n }\r\n\r\n return _res;\r\n }\r\n\r\n return [];\r\n };\r\n return (\r\n <>\r\n onSelectChange(checkValue, onChange)}\r\n value={formatValue(value)}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const CheckboxControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n buttonType,\r\n checkActionPage,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n {\r\n const isRequired = template.attribute.require === \"Y\" && buttonType !== \"draft\";\r\n if (isRequired && !value.value) {\r\n return \"This field is required.\";\r\n }\r\n return true;\r\n },\r\n }}\r\n render={({\r\n field: { onChange, value, onBlur, name, ref },\r\n formState: { errors, isSubmitted },\r\n }) => {\r\n\r\n return (\r\n <>\r\n \r\n \r\n _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\"))\r\n ? \"set-layout-required\"\r\n : \"\"\r\n }`}\r\n >\r\n {/* _value === \"N\"))\r\n ? \"checkbox-invalid\"\r\n : \"\"\r\n }\r\n options={formatOptions(template.attribute.items)}\r\n onChange={(checkValue) => onSelectChange(checkValue, onChange)}\r\n value={formatValue(value)}\r\n /> */}\r\n {\r\n onChange({\r\n ...value,\r\n });\r\n onControlChange(template, value?.value);\r\n }}\r\n value={value}\r\n status={\r\n isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\"))\r\n }\r\n />\r\n {isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\")) && (\r\n \r\n {template.label} is required.\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 CheckboxTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n // console.log({ children });\r\n\r\n return (\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","import { Form, Input, Select } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { ILogicRequestBody } from \"../../../IRequestModel/ILogicModel\";\r\nimport {\r\n checkRequireFromTemplate,\r\n dataReleteToDD,\r\n} from \"../../../Helper/RequestScreenHelper\";\r\nimport { formatKeyLogicData } from \"../../../Helper/formatKeyLogicData\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n actionAlert?: any;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\ntype SelectCheckboxProps = {\r\n ref?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any, type: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n onDropdownVisibleChange?: (open: boolean) => void;\r\n tableOptions?: any[];\r\n loading?: boolean;\r\n actionAlert?: any;\r\n};\r\nconst SelectCheckboxInTableComponent: React.FC = ({\r\n ref,\r\n template,\r\n loading,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n actionAlert,\r\n onDropdownVisibleChange,\r\n checkActionPage,\r\n tableOptions,\r\n}) => {\r\n const { Option } = Select;\r\n\r\n const [action, setAction] = useState(false);\r\n // console.log(\"actionAlertSelect=>\", actionAlert);\r\n // console.log(\"template=>\", template);\r\n // console.log(\"value=>\", value);\r\n\r\n useEffect(() => {\r\n checkStatus();\r\n }, [actionAlert]);\r\n\r\n const onSelectChange = (value: string[]) => {\r\n let items = tableOptions || template.attribute.items;\r\n let test: any[] = [];\r\n\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < value.length; i++) {\r\n const _value = value[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n test.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n\r\n onChange(test.toString(), \"cb\");\r\n };\r\n\r\n const formatValue = (value: any) => {\r\n let items = template.attribute.items;\r\n\r\n let _res: any[] = [];\r\n if (value && value.length > 0) {\r\n const _values = value.split(\",\");\r\n for (let i = 0; i < items.length; i++) {\r\n const item: any = items[i];\r\n if (value[i] === \"Y\") {\r\n _res.push(item.item);\r\n }\r\n }\r\n return _values;\r\n }\r\n return [];\r\n };\r\n\r\n const checkStatus = () => {\r\n if (actionAlert) {\r\n if (actionAlert.Data) {\r\n actionAlert.Data.map((data: any) => {\r\n let split = value.split(\",\");\r\n split.map((splitData: any) => {\r\n if (\r\n actionAlert.ErrorType === \"SpecialError\" &&\r\n data.Label === template.label &&\r\n data.Value === splitData\r\n ) {\r\n setAction(true);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n };\r\n\r\n // console.log(\"actionAlert=>\", actionAlert);\r\n return (\r\n <>\r\n {\r\n console.log({ option });\r\n return (option!.children! as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase());\r\n }}\r\n disabled={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n status={action ? \"error\" : \"\"}\r\n mode=\"tags\"\r\n onDropdownVisibleChange={onDropdownVisibleChange}\r\n >\r\n {tableOptions\r\n ? tableOptions?.map((option: any, idx: number) => (\r\n \r\n ))\r\n : template.attribute?.items?.map((option: any, idx: number) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\nconst SelectCheckboxComponent: React.FC = ({\r\n ref,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n const { Option } = Select;\r\n\r\n const onSelectChange = (value: string[]) => {\r\n let items = template.attribute.items;\r\n let test: any[] = [];\r\n const res = items.map((item: any, idx: number) => {\r\n let check = \"N\";\r\n\r\n for (let i = 0; i < value.length; i++) {\r\n const _value = value[i];\r\n\r\n if (_value === item.item) {\r\n check = \"Y\";\r\n test.push(item.item);\r\n }\r\n }\r\n return check;\r\n });\r\n\r\n // for (let i = 0; i < res.length; i++) {\r\n // const _res = res[i];\r\n // if (_res === \"Y\") {\r\n // _value.push(i);\r\n // }\r\n // }\r\n onChange(\r\n {\r\n item: res,\r\n value: test.toString(),\r\n },\r\n \"cb\"\r\n );\r\n };\r\n\r\n const formatValue = (value: any) => {\r\n let _res: any[] = [];\r\n\r\n if (value && value.item) {\r\n if (value.value && typeof value.value == \"string\") {\r\n let namesArray = value.value.replace(/,$|,\\s+$/, \"\").split(\",\");\r\n _res = namesArray;\r\n }\r\n\r\n return _res;\r\n }\r\n\r\n return [];\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n return (option!.children! as unknown as string)\r\n .toLowerCase()\r\n .includes(input.toLowerCase());\r\n }}\r\n disabled={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n status={status}\r\n mode=\"tags\"\r\n >\r\n {template.attribute.items.map((option: any) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport const SelectCheckboxControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n actionAlert,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n {\r\n const isRequired = template.attribute.require === \"Y\" && buttonType !== \"draft\";\r\n if (isRequired && !value.value) {\r\n return \"This field is required.\";\r\n }\r\n return true;\r\n },\r\n }}\r\n render={({\r\n field: { onChange, value, onBlur, name, ref },\r\n formState: { errors, isSubmitted },\r\n }) => (\r\n <>\r\n \r\n \r\n \r\n {\r\n onChange({\r\n ...value,\r\n data: {\r\n value,\r\n },\r\n });\r\n onControlChange(template, value.value);\r\n }}\r\n value={value}\r\n status={\r\n isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\")) &&\r\n \"error\"\r\n }\r\n actionAlert={actionAlert}\r\n />\r\n\r\n {isSubmitted &&\r\n ((errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx]) ||\r\n (value?.item?.every((_value: string) => _value === \"N\") &&\r\n template.attribute.require === \"Y\" &&\r\n buttonType !== \"draft\")) && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n />\r\n );\r\n};\r\n\r\nexport const SelectCheckboxTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n actionAlert,\r\n allLogicInTable,\r\n record,\r\n ...props\r\n}) => {\r\n const [customOptions, setCustomOptions] = useState();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const logicRequest = () => {\r\n if (allLogicInTable) {\r\n let conditions: ILogicRequestBody[] = allLogicInTable.filter(\r\n (e: any) => e.actionlabel === template.label\r\n );\r\n if (conditions.length > 0) {\r\n setLoading(true);\r\n\r\n dataReleteToDD(\r\n conditions.map((con) => {\r\n if (con.Key !== \"\") {\r\n con.Value = record[con.Key];\r\n }\r\n return con;\r\n })\r\n ).then((val) => {\r\n const res = formatKeyLogicData({ data: val });\r\n if (res) {\r\n setCustomOptions([...res.data]);\r\n }\r\n setLoading(false);\r\n });\r\n }\r\n }\r\n };\r\n\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n \r\n {\r\n if (open) {\r\n logicRequest();\r\n } else {\r\n setCustomOptions(undefined);\r\n setLoading(false);\r\n }\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import { Form, Input } from \"antd\";\r\nimport React from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport TextArea from \"antd/lib/input/TextArea\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\nimport $ from \"jquery\";\r\nimport { checkRequireFromTemplate } from \"../../../Helper/RequestScreenHelper\";\r\n\r\ntype InputProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputTextAreaProps = {\r\n id?: string;\r\n ref?: any;\r\n colIdx: number;\r\n rowIdx: number;\r\n col?: any;\r\n colText?: number;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n};\r\n\r\nexport const InputTextAreaComponent: React.FC = ({\r\n id,\r\n ref,\r\n colIdx,\r\n rowIdx,\r\n col,\r\n colText,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n canEditDoc,\r\n checkActionPage,\r\n}) => {\r\n const { TextArea } = Input;\r\n let tId = replaceSpecialChar(id ?? \"\");\r\n\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state ใน onblur จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(tId)?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n\r\n $(\"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\")\r\n .focus()\r\n .click();\r\n }, 300);\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n onChange(e.target.value);\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n console.log(\"key down\");\r\n nextTab();\r\n }\r\n }}\r\n disabled={canEditDoc && template.attribute.readonly === \"Y\"}\r\n readOnly={canEditDoc && template.attribute.readonly === \"Y\"}\r\n status={status}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport const InputTextAreaControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n const { TextArea } = Input;\r\n let tId = template.label.replaceAll(\" \", \"_\");\r\n\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state ใน onblur จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(tId)?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n // console.log({id, curIndex, nxtIdx});\r\n\r\n $(\r\n \"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\"\r\n ).focus();\r\n }, 300);\r\n };\r\n\r\n return (\r\n {\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\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 InputTextAreaTableComponent: React.FC = ({\r\n rowIdx,\r\n colIdx,\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n toggleEdit,\r\n ...props\r\n}) => {\r\n // const row = rowIdx?.toString();\r\n // const col = colIdx?.toString();\r\n // console.log(typeof row);\r\n let tId = rowIdx + \"_\" + colIdx + \"_\" + template.label;\r\n\r\n const nextTab = () => {\r\n setTimeout(() => {\r\n /**\r\n * หลังจากที่มีการ set state ใน onblur จะเรียกดูค่า tabindex ของ element ปัจจุบันเพื่อที่จะเพิ่มค่า tabindex อีก 1 เพื่อที่จะ focus input ถัดไป\r\n */\r\n let curIndex = document.getElementById(tId)?.getAttribute(\"tabindex\");\r\n let nxtIdx = parseInt(curIndex!) + 1;\r\n // console.log({id, curIndex, nxtIdx});\r\n\r\n $(\"input[tabindex=\" + nxtIdx + \"], textarea[tabindex=\" + nxtIdx + \"]\")\r\n .focus()\r\n .click();\r\n }, 300);\r\n };\r\n\r\n if (!isEditing) {\r\n return (\r\n \r\n {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n onFocus={(e) => {\r\n if (toggleEdit) {\r\n toggleEdit();\r\n }\r\n e.target.select();\r\n }}\r\n />\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n console.log(\"tex\", template.attribute)}\r\n maxLength={\r\n parseInt(template.attribute.length) === 0\r\n ? undefined\r\n : parseInt(template.attribute.length)\r\n }\r\n // style={{\r\n // height: 38,\r\n // }}\r\n onBlur={(e) => {\r\n e.preventDefault();\r\n saveFunc();\r\n }}\r\n onKeyDown={(e) => {\r\n if (e.code?.toLocaleLowerCase() === \"tab\") {\r\n nextTab();\r\n }\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { SelectButton } from \"primereact/selectbutton\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { UploadFileAttachFiles } from \"../../../Services/AttachFileService\";\r\nimport { ConfirmDialog, confirmDialog } from \"primereact/confirmdialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport \"../mainCssControl.css\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\ntype AttachmentModalProp = {\r\n visibleDialog: boolean;\r\n setVisibleDialog: (value: boolean) => void;\r\n setCheckHasValue: (value: boolean) => void;\r\n toast: any;\r\n template: any;\r\n onChange: (value: string) => void;\r\n nameFile: string;\r\n setNameFile: (value: string) => void;\r\n value: string;\r\n setValue: (value: string) => void;\r\n link: string;\r\n setLink: (value: string) => void;\r\n SharepointSiteURL: string;\r\n TinyURL: string;\r\n visibleConfirmDialog: boolean;\r\n setVisibleConfirmDialog: (value: boolean) => void;\r\n selected: any;\r\n setSelected: any;\r\n};\r\n\r\nexport const AttachmentModal: React.FC = ({\r\n visibleDialog,\r\n setVisibleDialog,\r\n setCheckHasValue,\r\n toast,\r\n template,\r\n onChange,\r\n nameFile,\r\n setNameFile,\r\n link,\r\n setLink,\r\n SharepointSiteURL,\r\n TinyURL,\r\n visibleConfirmDialog,\r\n setVisibleConfirmDialog,\r\n selected,\r\n setSelected,\r\n value,\r\n setValue,\r\n ...props\r\n}: AttachmentModalProp) => {\r\n const [fileType, setFileType] = useState(\"Attach file\");\r\n const { toggleAlert } = useAlert();\r\n const [userData] = useUserContext();\r\n const options = [\"Attach file\", \"Attach link\"];\r\n\r\n const onFileSelected = (e: any) => {\r\n let mapData: any = [];\r\n var hasInvalidFiles = false;\r\n\r\n const file = e.dataTransfer\r\n ? e.dataTransfer.files[0]\r\n : e.currentTarget.files[0];\r\n if (file === undefined) {\r\n return false;\r\n }\r\n console.log({ filefilefile: file });\r\n if (template.description) {\r\n const myArray = template.description.split(\"*\");\r\n for (let index = 1; index < myArray.length; index++) {\r\n mapData.push(myArray[index]);\r\n if (file.name.endsWith(myArray[index])) {\r\n hasInvalidFiles = true;\r\n continue;\r\n }\r\n }\r\n }\r\n if (!hasInvalidFiles) {\r\n e.target.value = null;\r\n toggleAlert({\r\n description: `Unsupported file selected.`,\r\n message: `File type warning.`,\r\n type: \"warning\",\r\n });\r\n setSelected(undefined);\r\n return;\r\n }\r\n var filesize = file.size / 1024 / 1024;\r\n if (parseInt(template.attribute.max) < filesize) {\r\n toggleAlert({\r\n description: `File size exceeds ${template.attribute.max} MB`,\r\n message: `File size warning.`,\r\n type: \"warning\",\r\n });\r\n\r\n e.target.value = null;\r\n setSelected(undefined);\r\n return false;\r\n }\r\n setSelected(file);\r\n };\r\n const fileUpload = () => {\r\n return (\r\n
\r\n
\r\n \r\n \r\n \r\n File Formats Accepted {template.description}\r\n \r\n \r\n
\r\n
\r\n );\r\n };\r\n const linkUpload = () => {\r\n return (\r\n
\r\n
\r\n \r\n {\r\n setNameFile(e.target.value?.replaceAll(\" \", \"_\"));\r\n }}\r\n />\r\n
\r\n
\r\n \r\n {\r\n setLink(e.target.value?.replaceAll(\" \", \"_\"));\r\n }}\r\n />\r\n
\r\n
\r\n );\r\n };\r\n const footerDialog = (onChange: any) => {\r\n return (\r\n
\r\n setVisibleDialog(false)}\r\n label=\"Close\"\r\n id=\"CloseButton\"\r\n className=\"close-set-color-button-active-request\"\r\n />\r\n uploadFile(onChange)}\r\n style={{ height: \"38px\" }}\r\n label=\"Save Changes\"\r\n id=\"SaveChangesButton\"\r\n className=\"save-set-color-button-active-request\"\r\n />\r\n
\r\n );\r\n };\r\n const uploadFile = async (onChange: any) => {\r\n try {\r\n if (value === \"Attach file\") {\r\n if (selected) {\r\n const formData = new FormData();\r\n formData.append(`files`, selected);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", generateQuickGuid());\r\n formData.append(\"fileDesc\", \"renderControl\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n const response = await UploadFileAttachFiles(formData);\r\n console.log(response, \"response\");\r\n\r\n if (response?.data?.result) {\r\n onChange(\r\n replaceSpecialChar(selected.name) +\r\n \"|\" +\r\n replaceSpecialChar(response.data.pathUrl)\r\n );\r\n setNameFile(replaceSpecialChar(selected.name));\r\n // if (SharepointSiteURL) {\r\n // setLink(SharepointSiteURL + \"\" + response?.data.pathUrl);\r\n // } else {\r\n setLink(response?.data.pathUrl?.replaceAll(\" \", \"_\"));\r\n // }\r\n }\r\n setVisibleConfirmDialog(true);\r\n } else {\r\n confirm1(\"Please select a file.\");\r\n }\r\n } else if (value === \"Attach link\") {\r\n console.log(\"at+>\", link);\r\n if (link !== undefined) {\r\n onChange(nameFile?.replaceAll(\" \", \"_\") + \"|\" + link);\r\n setNameFile(nameFile?.replaceAll(\" \", \"_\"));\r\n setLink(link);\r\n setVisibleConfirmDialog(true);\r\n } else {\r\n confirm1(\"Please insert a link.\");\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"At=>error\", error);\r\n }\r\n };\r\n const confirm1 = (msg: string) => {\r\n confirmDialog({\r\n message: msg,\r\n header: \"Alert\",\r\n icon: \"pi pi-info-circle\",\r\n rejectClassName: \"hide-component\",\r\n });\r\n };\r\n return (\r\n <>\r\n setVisibleDialog(false)}\r\n draggable={false}\r\n footer={footerDialog(onChange)}\r\n >\r\n setValue(e.value)}\r\n >\r\n\r\n {value === \"Attach file\" && fileUpload()}\r\n {value === \"Attach link\" && linkUpload()}\r\n \r\n \r\n );\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\nimport { Form as AntForm, Popover } from \"antd\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./AttachmentComponent.css\";\r\nimport { AiOutlineClose } from \"react-icons/ai\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { AttachmentModal } from \"./AttachmentModal\";\r\nimport { checkRequireFromTemplate } from \"../../../Helper/RequestScreenHelper\";\r\nimport { browserDetector } from \"../../../Helper/DeviceDetect\";\r\nimport { Device } from \"../../../constants/device-type\";\r\n\r\ntype Props = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n // statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n};\r\n\r\ntype InputAttachmentProps = {\r\n ref?: any;\r\n rowIdx?: any;\r\n colIdx?: any;\r\n template: any;\r\n value?: any;\r\n status?: any;\r\n onChange: (value: any) => void;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n id?: string;\r\n};\r\n\r\nexport const AttachmentComponent: React.FC = ({\r\n ref,\r\n rowIdx,\r\n colIdx,\r\n template,\r\n value,\r\n status,\r\n onChange,\r\n id,\r\n canEditDoc,\r\n checkActionPage,\r\n ...props\r\n}: InputAttachmentProps) => {\r\n const toast = useRef(null);\r\n const [isModalVisible, setIsModalVisible] = useState(false);\r\n const [checkHasValue, setCheckHasValue] = useState(false);\r\n const [link, setLink] = useState();\r\n const [nameFile, setNameFile] = useState(\"\");\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const [visibleConfirmDialog, setVisibleConfirmDialog] =\r\n useState(false);\r\n const [selected, setSelected] = useState();\r\n const [uploadType, setUploadType] = useState(\"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n useEffect(() => {\r\n deFaultValue();\r\n }, [value]);\r\n\r\n const deFaultValue = async () => {\r\n try {\r\n const def = template.attribute.default || \"\";\r\n if (!value && !def) {\r\n return;\r\n }\r\n if (value === \"\" && def === \"\") {\r\n return;\r\n }\r\n\r\n const [nameFile, linkFile] = value?.split(\"|\") || def?.split(\"|\");\r\n const linkUrl = linkFile;\r\n\r\n setLink(linkUrl);\r\n setNameFile(nameFile);\r\n setCheckHasValue(true);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n // function openWindow() {\r\n // var pathArray = link.split(\"/\");\r\n // console.log(\"at=>link\", link);\r\n // console.log(\"at=>pathArray\", pathArray);\r\n // console.log({ link });\r\n // const _baseUrl = window.location.hostname;\r\n\r\n // const TmpUrl =\r\n // process.env.NODE_ENV === \"development\"\r\n // ? \"qar2.wolfapprove.com\"\r\n // : _baseUrl;\r\n // console.log({ ddd: `https://${TmpUrl}/${link}` });\r\n\r\n // window.open(`https://${TmpUrl}/${link}`, \"_blank\", \"noreferrer\");\r\n // }\r\n async function openWindow() {\r\n const pathArray = link.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n const browser = browserDetector();\r\n\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n console.log(\"att=>\", _link);\r\n if (browser === Device.safari) {\r\n window.location.href = `${_link}`;\r\n } else {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n console.log(\"att=>\", `${_sharepointSiteURL}${_link}`);\r\n if (browser === Device.safari) {\r\n window.location.href = `${_sharepointSiteURL}${_link}`;\r\n } else {\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n } else if (_userData.TinyURL) {\r\n if (location.host !== \"localhost:5001\") {\r\n const _port = location.port;\r\n if (_port) {\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n const newLink = _link.replace(/^https?:\\/\\//, \"\");\r\n const fullLink = _link.startsWith(\"https\")\r\n ? `https://${newLink}`\r\n : `http://${newLink}`;\r\n if (browser === Device.safari) {\r\n window.location.href = fullLink;\r\n } else {\r\n window.open(fullLink, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n const fullLink = `${protocol}//${_userData.TinyURL}${_link}`;\r\n if (browser === Device.safari) {\r\n window.location.href = fullLink;\r\n } else {\r\n window.open(fullLink, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n } else if (!_userData.TinyURL) {\r\n if (browser === Device.safari) {\r\n window.location.href = `${_link}`;\r\n } else {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n}\r\n\r\n\r\n const confirmUploadDialog = () => {\r\n return (\r\n <>\r\n setVisibleConfirmDialog(false)}\r\n message=\"Are you sure you want to proceed?\"\r\n header=\"Confirmation\"\r\n icon=\"pi pi-exclamation-triangle\"\r\n position=\"top\"\r\n accept={acceptUpload}\r\n acceptClassName=\"p-button p-component p-button-raised p-button-success\"\r\n rejectClassName=\"p-button p-component p-button-outlined p-button-danger\"\r\n draggable={false}\r\n />\r\n \r\n );\r\n };\r\n\r\n const acceptUpload = () => {\r\n if (uploadType === \"Attach file\") {\r\n setCheckHasValue(true);\r\n setIsModalVisible(false);\r\n } else if (uploadType === \"Attach link\") {\r\n setCheckHasValue(true);\r\n setIsModalVisible(false);\r\n } else {\r\n setCheckHasValue(false);\r\n setSelected(undefined);\r\n setLink(\"\");\r\n setNameFile(\"\");\r\n setUploadType(\"Attach file\");\r\n onChange(\"\");\r\n setIsModalVisible(false);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {confirmUploadDialog()}\r\n
\r\n \r\n {\r\n if (checkHasValue) {\r\n openWindow();\r\n } else if (canEditDoc) {\r\n setIsModalVisible(true);\r\n }\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderTopLeftRadius: \"6px\",\r\n borderBottomLeftRadius: \"6px\",\r\n borderTopRightRadius:\r\n checkHasValue && canEditDoc && template.attribute.readonly\r\n ? undefined\r\n : \"6px\",\r\n borderBottomRightRadius:\r\n checkHasValue && canEditDoc && template.attribute.readonly\r\n ? undefined\r\n : \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n // cursor: checkHasValue || canEditDoc ? \"pointer\" : \"default\",\r\n // opacity: checkHasValue && canEditDoc ? 1 : 0.6,\r\n }}\r\n disabled={checkHasValue || canEditDoc ? false : true}\r\n />\r\n \r\n\r\n {checkHasValue && canEditDoc && (\r\n {\r\n setUploadType(\"Clear\");\r\n\r\n setVisibleConfirmDialog(true);\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 AttachmentControlComponent: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n ...props\r\n}) => {\r\n return (\r\n <>\r\n (\r\n <>\r\n \r\n \r\n
\r\n \r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\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 AttachmentTableComponent: React.FC = ({\r\n name,\r\n template,\r\n saveFunc,\r\n inputRef,\r\n isEditing,\r\n onEdit,\r\n value,\r\n children,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n\r\n ...props\r\n}) => {\r\n if (!isEditing) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n <>\r\n value}\r\n rules={\r\n canEditDoc && [\r\n {\r\n required: checkRequireFromTemplate(template, buttonType),\r\n message: `${template.label} is required.`,\r\n },\r\n ]\r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n","import { useContext } from \"react\";\r\nimport { AlertContext } from \"../Context/AlertContext\";\r\n\r\nconst useAlert = () => {\r\n const context = useContext(AlertContext);\r\n if (!context)\r\n throw new Error(\"Load Context must be use inside Load Provider\");\r\n return context;\r\n};\r\n\r\nexport default useAlert;\r\n","import {\r\n GetAttachmentFilesByMemoId,\r\n GetRefDocFormTable,\r\n} from \"../Services/MemoService\";\r\nimport { getDefValueInTemplate } from \"./RequestScreenHelper\";\r\n\r\nexport type RefResult = {\r\n items: any[];\r\n listRefDocsDetail: any[];\r\n listFileAttachDetails?: any[] | null;\r\n errorMessage?: string;\r\n};\r\n\r\nexport const onChanceRef = async (\r\n refTempSelected: any,\r\n memoDetail: any,\r\n listFormNames: any,\r\n refAttribute: any,\r\n currentTemp: any\r\n) => {\r\n let result: RefResult = {\r\n items: [],\r\n listRefDocsDetail: [],\r\n listFileAttachDetails: null,\r\n };\r\n\r\n try {\r\n if (memoDetail) {\r\n if (\r\n refTempSelected !== undefined &&\r\n refTempSelected !== null &&\r\n refTempSelected.length > 0\r\n ) {\r\n let template_desc = currentTemp;\r\n let _listRefDocsDetail: any[] = [];\r\n let listFileAttachDetails: any[] = [];\r\n let docsCode: any[] = [];\r\n let refTemp: any;\r\n const refColumn = JSON.parse(listFormNames?.RefDocColumn);\r\n if (\r\n listFormNames?.RefTemplate !== \"\" &&\r\n listFormNames?.RefTemplate !== null\r\n ) {\r\n refTemp = JSON.parse(listFormNames?.RefTemplate);\r\n refTemp.map((temp: any) => {\r\n if (temp.DocumentCode !== \"\") {\r\n docsCode.push(temp.DocumentCode);\r\n }\r\n });\r\n }\r\n\r\n for (const refTems of refTempSelected) {\r\n let refDocDetail = {\r\n memoRefdoc_id: refTems.MemoId,\r\n doc_no: refTems.DocumentNo,\r\n template_ID: listFormNames?.template_id,\r\n template_Name: listFormNames?.template_name,\r\n memoSubject: listFormNames?.subject,\r\n };\r\n if (refTems.MAdvancveForm) {\r\n const selectedColumn = JSON.parse(refTems?.MAdvancveForm);\r\n let valibCol: any[] = [];\r\n _listRefDocsDetail.push(refDocDetail);\r\n\r\n refColumn.map((col: any) => {\r\n if (col.Value !== null && col.Value !== \"\") {\r\n if (col.Value === \"_DocumentNo\") {\r\n col.ControlValue = { value: refTems.DocumentNo };\r\n } else if (col.Value === \"_DocumentAmount\") {\r\n col.ControlValue = { value: refTems.Amount };\r\n } else if (col.Value === \"_RequestorEmployeeName\") {\r\n col.ControlValue = { value: refTems.RNameEn };\r\n } else if (col.Value === \"_RequestorEmployeePositionTh\") {\r\n col.ControlValue = { value: refTems.RPositionTh };\r\n } else if (col.Value === \"_RequestorEmployeePositionEn\") {\r\n col.ControlValue = { value: refTems.RPositionEn };\r\n } else if (col.Value === \"_RequestorEmployeeDepartmentTh\") {\r\n col.ControlValue = { value: refTems.DepartmentTh };\r\n } else if (col.Value === \"_RequestorEmployeeDepartmentEn\") {\r\n col.ControlValue = { value: refTems.DepartmentEn };\r\n } else if (col.Value === \"_InformationFormName\") {\r\n col.ControlValue = { value: refTems.TemplateName };\r\n } else if (col.Value === \"_InformationRequestDate\") {\r\n col.ControlValue = { value: refTems.RequestDate };\r\n } else if (col.Value === \"_InformationCompany\") {\r\n col.ControlValue = { value: refTems.CompanyName };\r\n } else {\r\n let selColLabel = \"\";\r\n if (col.Value.indexOf(\"_\") !== -1) {\r\n let colLabel = col.Value.split(\"_\");\r\n selColLabel = colLabel.pop();\r\n } else {\r\n selColLabel = col.Value;\r\n }\r\n if (col.TypeControl === \"Table\") {\r\n let sourceRow: any = -1;\r\n let sourceCols: any[] = [];\r\n let targetPositions: any[] = [];\r\n let originDefaultValue = \"\";\r\n selectedColumn.items.map((selCol: any, rowIdx: number) => {\r\n selCol.layout.map((_layout: any) => {\r\n if (\r\n selColLabel === _layout.template.label &&\r\n _layout.template.type === \"tb\"\r\n ) {\r\n col.objTable?.map(\r\n (objTable: any, tarColIdx: number) => {\r\n if (objTable?.Value !== null) {\r\n _layout.template.attribute.column.map(\r\n (refTable: any, colIdx: number) => {\r\n if (refTable.label === objTable.Value) {\r\n // originDefaultValue =\r\n sourceRow = rowIdx;\r\n sourceCols.push({\r\n colIdx: colIdx,\r\n });\r\n targetPositions.push(tarColIdx);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n );\r\n }\r\n });\r\n });\r\n if (sourceRow > -1) {\r\n let tableRows: any[] = [];\r\n if (refAttribute?.mode !== \"Single\") {\r\n //adding if condition to check value of colcontrol\r\n if (col.ControlValue) {\r\n tableRows = col.ControlValue;\r\n }\r\n }\r\n selectedColumn.items[sourceRow].layout[0]?.data?.row?.map(\r\n (row: any) => {\r\n let newRow: any[] = [];\r\n\r\n for (let i = 0; i < col.objTable.length; i++) {\r\n newRow.push({ value: null });\r\n }\r\n\r\n sourceCols.map((col: any, colIdx: number) => {\r\n newRow[targetPositions[colIdx]] = row[col.colIdx];\r\n });\r\n if (newRow.length > 0) {\r\n tableRows.push(newRow);\r\n }\r\n }\r\n );\r\n col.ControlValue = tableRows;\r\n }\r\n } else {\r\n selectedColumn.items.map((selCol: any) => {\r\n selCol.layout.map((_layout: any) => {\r\n if (_layout.template.label === selColLabel) {\r\n col.ControlValue = _layout.data;\r\n }\r\n });\r\n });\r\n }\r\n }\r\n valibCol.push(col);\r\n }\r\n });\r\n\r\n template_desc.map((item: any, rowIdx: number) => {\r\n item.layout.map((_layout: any, colIdx: number) => {\r\n valibCol.map((col: any) => {\r\n if (!col.ControlValue) return;\r\n\r\n if (\r\n col.TypeControl === \"Table\" &&\r\n _layout.template.type === \"tb\"\r\n ) {\r\n if (col.Key === _layout.template.label) {\r\n if (\r\n JSON.stringify(_layout.data.row) !==\r\n JSON.stringify(col.ControlValue)\r\n ) {\r\n _layout.template.attribute.column.forEach(\r\n (originCol: any, _colIdx: number) => {\r\n col.ControlValue.map((refCol: any) => {\r\n if (refCol[_colIdx]?.value === null) {\r\n if (\r\n originCol.control.template.attribute\r\n .default !== \"\"\r\n ) {\r\n refCol[_colIdx].value = getDefValueInTemplate(\r\n originCol.control.template\r\n );\r\n }\r\n }\r\n });\r\n }\r\n );\r\n\r\n const rowstateCol =\r\n _layout.template.attribute.column.find(\r\n (col: any) => col.label === \"rowstate\"\r\n );\r\n if (rowstateCol) {\r\n col.ControlValue.map((e: any) => {\r\n e.push({ value: null });\r\n return e;\r\n });\r\n }\r\n\r\n _layout.data.row = [...col.ControlValue];\r\n }\r\n }\r\n } else if (\r\n col.TypeControl != \"Table\" &&\r\n _layout.template.type != \"l\"\r\n ) {\r\n if (col.Key === _layout.template.label) {\r\n if (_layout.data?.value !== col.ControlValue?.value) {\r\n _layout.data = col.ControlValue;\r\n }\r\n }\r\n } else {\r\n // Nothing do something because template type is heading\r\n }\r\n });\r\n });\r\n });\r\n if (\r\n listFormNames.RefDocDisplay.split(\",\")[5] &&\r\n listFormNames.RefDocDisplay.split(\",\")[5] === \"Yes\"\r\n ) {\r\n let _res: any[] = [];\r\n await getMemoForAttch(refTems.MemoId).then((e: any) => {\r\n if (e) {\r\n result.listFileAttachDetails = [\r\n ...listFileAttachDetails,\r\n ...e,\r\n ];\r\n }\r\n });\r\n }\r\n }\r\n\r\n result.items = template_desc;\r\n result.listRefDocsDetail = _listRefDocsDetail;\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n } catch (error: any) {\r\n console.error(\"ref=>error\", error);\r\n\r\n result.errorMessage = error;\r\n return result;\r\n }\r\n};\r\n\r\nconst getMemoForAttch = async (memoId: number) => {\r\n const requestBody = {\r\n memoid: memoId,\r\n };\r\n let res: any[] = [];\r\n await GetAttachmentFilesByMemoId(requestBody).then((e: any) => {\r\n res = e;\r\n });\r\n return res;\r\n};\r\n\r\nexport const fetchRefDocFormTable = async (memoDetail: any, template: any) => {\r\n let tempAtt = template.attribute;\r\n if (tempAtt !== undefined) {\r\n if (tempAtt.refdoc !== undefined) {\r\n const dataRequest = {\r\n PageIndex: 0,\r\n PageSize: 0,\r\n CUserID: memoDetail.creator.EmployeeId.toString(),\r\n RUserID: memoDetail.requestor.EmployeeId.toString(),\r\n ConditionRefdoc:\r\n tempAtt.conditionrefdoc.length > 0\r\n ? JSON.stringify(tempAtt.conditionrefdoc)\r\n : \"\",\r\n Search: \"\",\r\n docDataSource: tempAtt.refdoc.docDataSource,\r\n docReport: tempAtt.refdoc.docReport,\r\n docCancelDoc: tempAtt.refdoc.docCancelDoc,\r\n docEditDoc: tempAtt.refdoc.docEditDoc,\r\n docNewDoc: tempAtt.refdoc.docNewDoc,\r\n doccontrol: tempAtt.refdoc.doccontrol !== \"N\",\r\n docref: tempAtt.refdoc.docref,\r\n };\r\n\r\n const refDetails = await GetRefDocFormTable(dataRequest);\r\n\r\n if (refDetails) {\r\n if (refDetails?.dt_Report?.length > 0) {\r\n return refDetails.dt_Report;\r\n } else {\r\n return [];\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","export const GetAllDynamic = async (\r\n apiName: any,\r\n requestBody?: any,\r\n queryString?: any\r\n) => {\r\n try {\r\n if (!requestBody && window.localStorage.getItem(\"email\")) {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n requestBody = { UserPrincipal: email, ConnectionString: \"\" };\r\n }\r\n\r\n let url = \"\";\r\n if (queryString) {\r\n let urlParams = new URLSearchParams({\r\n Scopes: queryString?.Scopes || \"\",\r\n IsActiveOnly: queryString?.IsActiveOnly || \"\",\r\n });\r\n url = \"/api/\" + apiName + \"?\" + urlParams.toString();\r\n } else {\r\n url = \"/api/\" + apiName;\r\n }\r\n\r\n const respone = await fetch(url, requestBody)\r\n .then((response: any) => response.json())\r\n .then((data: any) => {\r\n return data;\r\n })\r\n .catch((ex: any) => {\r\n return ex;\r\n });\r\n\r\n return respone;\r\n } catch (error) {\r\n console.log(\"service=>GetAllDynamic=>error\", error);\r\n }\r\n};\r\n\r\nexport const updateDynamic = async (apiName: any, formBody: any) => {\r\n if (apiName.endsWith(\"s\")) {\r\n apiName = apiName.substring(0, apiName.length - 1);\r\n }\r\n\r\n const data = {\r\n name: apiName !== \"MasterData\" ? apiName.replace(\"Master\", \"\") : apiName,\r\n model: JSON.stringify(formBody),\r\n };\r\n const respone = await fetch(\"/api/MasterData/UpdateData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","import moment from \"moment\";\r\nimport {\r\n IAutoNumberAttibute,\r\n IAutoNumberFormat,\r\n} from \"../IRequestModel/IAutoNumberFormat\";\r\nimport { IMemoDetailModel } from \"../IRequestModel/IMemoDetailModel\";\r\nimport {\r\n GetAutoNumber,\r\n onDatareladToLoadData,\r\n} from \"../Services/RequestControlService\";\r\nimport { IUserModel } from \"../IRequestModel/IUserModel\";\r\nimport _ from \"lodash\";\r\nexport async function genAutoNum(\r\n _control: any,\r\n autoNumFormat: IAutoNumberAttibute,\r\n template_id: any,\r\n status: any,\r\n isCopy: boolean = false\r\n) {\r\n try {\r\n if (autoNumFormat.formats.length > 0) {\r\n let autoNumberAttibute: IAutoNumberAttibute = autoNumFormat;\r\n let str: string[] = [];\r\n let isCheck: boolean = false;\r\n let requestBody: any = {};\r\n let formats: IAutoNumberFormat[] = autoNumberAttibute.formats;\r\n let choiceFormat = null;\r\n let tempLabels: string[] = [];\r\n let tempValues: string[] = [];\r\n \r\n for (const format of formats) {\r\n if (format.condition.length > 0) {\r\n const conditions = format.condition;\r\n\r\n // Track if all conditions are satisfied\r\n const allConditionsMatched = conditions.every((condition: any, idx: number) => {\r\n let conditionMatched = false; // Track if the current condition is matched\r\n\r\n _control.forEach((item: any) => {\r\n item.layout.forEach((layout: any) => {\r\n if (condition.label === layout.template?.label) {\r\n let tempValue = layout?.data?.value;\r\n\r\n if (!tempValue && layout.template?.type === \"dd\") {\r\n tempValue = getDefValueInTemplate(layout.template);\r\n }\r\n\r\n if (_.isEqual(condition.value?.trim(), tempValue?.trim())) {\r\n conditionMatched = true;\r\n } else {\r\n console.log(\"miss\", condition.value?.trim(), tempValue?.trim());\r\n }\r\n\r\n }\r\n });\r\n });\r\n console.log(conditionMatched, condition.value, \"tempValue\");\r\n\r\n return conditionMatched;\r\n });\r\n console.log(allConditionsMatched, conditions, \"allConditionsMatched \");\r\n\r\n if (allConditionsMatched) {\r\n choiceFormat = format\r\n for (const condition of conditions) {\r\n if (!tempLabels.includes(condition.label)) {\r\n tempLabels.push(condition.label);\r\n tempValues.push(condition.value);\r\n }\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if(!choiceFormat){\r\n choiceFormat = formats.find((format) => format.condition.length ===0) ??null\r\n }\r\n\r\n if (choiceFormat !== null) {\r\n choiceFormat.format.map((format: any) => {\r\n if (format.type) {\r\n if (format.type === \"pf\") {\r\n if (!str.includes(format.label)) {\r\n str.push(format.label);\r\n }\r\n } else if (format.type === \"datetime\") {\r\n const formattedYear = moment().format(format.label);\r\n str.push(formattedYear);\r\n } else if (format.type === \"ddl\") {\r\n _control.forEach((item: any) => {\r\n item.layout.forEach(async (layout: any) => {\r\n if (layout.template.label === format.label) {\r\n let value: string = layout.data.value;\r\n let newPosition = format.position;\r\n\r\n if (value !== null) {\r\n if (format.condition === \"Split\") {\r\n let newFormat = value.split(format.symbol);\r\n for (let i = 0; i < newFormat.length; i++) {\r\n newPosition = newPosition.replace(\r\n new RegExp(\"\\\\$\\\\{\" + (i + 1) + \"\\\\}\", \"gi\"),\r\n newFormat[i]\r\n );\r\n }\r\n if (\r\n newPosition.indexOf(\"(\") > -1 &&\r\n newPosition.indexOf(\")\")\r\n ) {\r\n str.push(\r\n newPosition.substring(\r\n newPosition.indexOf(\"(\") + 1,\r\n newPosition.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(newPosition);\r\n }\r\n } else {\r\n if (value?.indexOf(\"(\") > -1 && value?.indexOf(\")\")) {\r\n str.push(\r\n value.substring(\r\n value.indexOf(\"(\") + 1,\r\n value.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(value);\r\n }\r\n }\r\n } else {\r\n str.push(getDefValueInTemplate(layout.template));\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n });\r\n\r\n if (str.length === choiceFormat.format.length) {\r\n if (\r\n !str.includes(\"--select--\") &&\r\n !str.includes(\"-- select --\") &&\r\n !str.includes(\"-- please select --\") &&\r\n !str.includes(\"--- please select ---\") &&\r\n !str.includes(\"--please select--\") &&\r\n !str.includes(\"---please select---\") &&\r\n !str.includes(\"--Select--\") &&\r\n !str.includes(\"-- Select --\") &&\r\n !str.includes(\"-- Please Select --\") &&\r\n !str.includes(\"--- Please Select ---\") &&\r\n !str.includes(\"--Please Select--\") &&\r\n !str.includes(\"---Please Select---\")\r\n ) {\r\n isCheck = true;\r\n }\r\n }\r\n }\r\n \r\n if (\r\n _control[autoNumberAttibute.rowIndex].layout[\r\n autoNumberAttibute.colIndex\r\n ].isShow\r\n ) {\r\n if (status === \"New Request\" || isCopy) {\r\n if (isCheck) {\r\n const showSymbol = autoNumFormat?.showSymbol ? \"-\" : \"-\";\r\n\r\n let prefix = \"\";\r\n \r\n prefix = typeof(showSymbol)=== \"string\" ? str.join(showSymbol) + showSymbol :\"\"\r\n autoNumFormat.fisrtPreix = prefix;\r\n requestBody.Prefix = prefix;\r\n requestBody.Digit = autoNumFormat.digit;\r\n requestBody.TemplateId = template_id;\r\n requestBody.Status = status;\r\n requestBody.Label =\r\n _control[autoNumberAttibute.rowIndex].layout[\r\n autoNumberAttibute.colIndex\r\n ].template.label;\r\n const dd = await GetAutoNumber(requestBody);\r\n if (dd.Message !== undefined) {\r\n } else {\r\n _control[autoNumberAttibute.rowIndex].layout[\r\n autoNumberAttibute.colIndex\r\n ].data.value = dd;\r\n }\r\n } else if (!isCheck) {\r\n _control[autoNumberAttibute.rowIndex].layout[\r\n autoNumberAttibute.colIndex\r\n ].data.value = \"\";\r\n }\r\n }\r\n } else {\r\n _control[autoNumberAttibute.rowIndex].layout[\r\n autoNumberAttibute.colIndex\r\n ].data.value = \"\";\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"auto=>error\", error);\r\n }\r\n return _control;\r\n}\r\n\r\nexport const callGenAutoNumber = (\r\n autoNumFormat: IAutoNumberAttibute,\r\n controlTemplate: any\r\n) => {\r\n let callAutoNumber = false;\r\n try {\r\n for (let i = 0; i < autoNumFormat.formats.length; i++) {\r\n if (autoNumFormat.formats[i].format.length > 0) {\r\n const format = autoNumFormat.formats[i].format;\r\n callAutoNumber =\r\n format.find((e) => e.label === controlTemplate.label) !== undefined;\r\n if (callAutoNumber) {\r\n break;\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n return callAutoNumber;\r\n};\r\n\r\nexport function getValueControl(\r\n controlID: string,\r\n memoDetail: IMemoDetailModel\r\n) {\r\n let strValue: string = \"\";\r\n\r\n switch (controlID.toLowerCase()) {\r\n case \"requestor id\":\r\n strValue = memoDetail.requestor.EmployeeId.toString();\r\n break;\r\n case \"requestor code\":\r\n strValue = memoDetail.requestor.EmployeeCode;\r\n break;\r\n case \"requestor name\":\r\n strValue = memoDetail.requestor.NameEn;\r\n break;\r\n case \"requestor email\":\r\n strValue = memoDetail.requestor.Email;\r\n break;\r\n case \"requestor position\":\r\n strValue = memoDetail.requestor.PositionNameEn;\r\n break;\r\n case \"requestor department\":\r\n strValue = memoDetail.requestor.DepartmentNameEn;\r\n break;\r\n default:\r\n // handle default case here\r\n break;\r\n }\r\n\r\n return strValue;\r\n}\r\n\r\nexport const getDefValueInTemplate = (template: any) => {\r\n const templateType = template?.type;\r\n let returnValue: any = null;\r\n if (templateType === \"t\" || templateType === \"ta\" || templateType === \"c\") {\r\n returnValue = template.attribute.default;\r\n } else if (templateType === \"dd\" || templateType === \"r\") {\r\n if (template.attribute.items && template.attribute.items.length > 0) {\r\n const selectedItem = template.attribute.items.find(\r\n (e: any) => e.checked === \"Y\"\r\n );\r\n\r\n returnValue = selectedItem?.item || template.attribute.items[0].item;\r\n if (templateType === \"r\") {\r\n returnValue = selectedItem?.item || \"\";\r\n }\r\n } else {\r\n returnValue = \"-- Please Select --\";\r\n }\r\n // DefaultCalendar\r\n } else if (templateType === \"cb\") {\r\n if (template.attribute.items && template.attribute.items.length > 0) {\r\n const selectedItem = template.attribute.items.filter(\r\n (e: any) => e.check === \"Y\"\r\n );\r\n\r\n returnValue = selectedItem.map((e: any) => e.item).join(\",\");\r\n }\r\n } else if (templateType === \"d\") {\r\n if (template.attribute.defaultType === \"Days\") {\r\n let defaultDate = parseInt(template.attribute.default);\r\n let defValue = moment(Date.now())\r\n .add(defaultDate, \"days\")\r\n .format(\"DD MMM YYYY\");\r\n returnValue = defValue;\r\n }\r\n }\r\n\r\n return returnValue;\r\n};\r\n\r\nexport function getRefInforValue(\r\n controlID: string,\r\n memoDetail: IMemoDetailModel,\r\n userData: IUserModel,\r\n defValue: string = \"\"\r\n) {\r\n let strValue: string = defValue;\r\n if (memoDetail) {\r\n switch (controlID) {\r\n case \"Requestor_Employee_code\":\r\n strValue = memoDetail.requestor?.EmployeeCode;\r\n break;\r\n case \"Requestor_NameEn\":\r\n strValue = memoDetail.requestor?.NameEn;\r\n break;\r\n case \"Requestor_NameTh\":\r\n strValue = memoDetail.requestor?.NameTh;\r\n break;\r\n case \"Requestor_PositionEn\":\r\n strValue = memoDetail.requestor?.PositionNameEn;\r\n break;\r\n case \"Requestor_PositonEn\":\r\n strValue = memoDetail.requestor?.PositionNameEn;\r\n break;\r\n case \"Requestor_PositionTh\":\r\n strValue = memoDetail.requestor?.PositionNameTh;\r\n break;\r\n case \"Requestor_PositonTh\":\r\n strValue = memoDetail.requestor?.PositionNameTh;\r\n break;\r\n case \"Requestor_DivisionEn\":\r\n strValue = memoDetail.requestor?.DivisionNameEn;\r\n break;\r\n case \"Requestor_DivisionTh\":\r\n strValue = memoDetail.requestor?.DivisionNameTh;\r\n break;\r\n case \"Requestor_DepartmentEn\":\r\n strValue = memoDetail.requestor?.DepartmentNameEn;\r\n break;\r\n case \"Requestor_DepartmentTh\":\r\n strValue = memoDetail.requestor?.DepartmentNameTh;\r\n break;\r\n case \"Requestor_Email\":\r\n strValue = memoDetail.requestor?.Email;\r\n break;\r\n case \"Actor_Employee_code\":\r\n strValue = userData?.EmployeeCode;\r\n break;\r\n case \"Actor_NameEn\":\r\n strValue = userData?.NameEn;\r\n break;\r\n case \"Actor_NameTh\":\r\n strValue = userData?.NameTh;\r\n break;\r\n case \"Actor_PositionEn\":\r\n strValue = userData?.PositionNameEn;\r\n break;\r\n case \"Actor_PositionTh\":\r\n strValue = userData?.PositionNameTh;\r\n break;\r\n case \"Actor_PositonEn\":\r\n strValue = userData?.PositionNameEn;\r\n break;\r\n case \"Actor_PositonTh\":\r\n strValue = userData?.PositionNameTh;\r\n break;\r\n case \"Actor_DivisionEn\":\r\n strValue = userData?.DivisionNameEn;\r\n break;\r\n case \"Actor_DivisionTh\":\r\n strValue = userData?.DivisionNameTh;\r\n break;\r\n case \"Actor_DepartmentEn\":\r\n strValue = userData?.DepartmentNameEn;\r\n break;\r\n case \"Actor_DepartmentTh\":\r\n strValue = userData?.DepartmentNameTh;\r\n break;\r\n case \"Actor_Email\":\r\n strValue = userData?.Email;\r\n break;\r\n case \"Company_Company id\":\r\n strValue = memoDetail?.company_id?.toString();\r\n break;\r\n case \"Company_Company name\":\r\n strValue = memoDetail.company_id?.toString();\r\n break;\r\n default:\r\n // handle default case here\r\n\r\n break;\r\n }\r\n }\r\n return strValue;\r\n}\r\n\r\nexport const dataReleteToDD = async (conditions: any[]) => {\r\n const res = await onDatareladToLoadData(conditions);\r\n return res;\r\n};\r\nexport function balanceParentheses(expression: string) {\r\n let stack = [];\r\n let result = [];\r\n\r\n // First pass: Remove unmatched closing parentheses\r\n for (let char of expression) {\r\n if (char === \"(\") {\r\n stack.push(char);\r\n result.push(char);\r\n } else if (char === \")\") {\r\n if (stack.length > 0) {\r\n stack.pop();\r\n result.push(char);\r\n }\r\n } else {\r\n result.push(char);\r\n }\r\n }\r\n\r\n // Second pass: Remove unmatched opening parentheses\r\n stack = [];\r\n let finalResult = [];\r\n\r\n for (let i = result.length - 1; i >= 0; i--) {\r\n let char = result[i];\r\n if (char === \")\") {\r\n stack.push(char);\r\n finalResult.push(char);\r\n } else if (char === \"(\") {\r\n if (stack.length > 0) {\r\n stack.pop();\r\n finalResult.push(char);\r\n }\r\n } else {\r\n finalResult.push(char);\r\n }\r\n }\r\n\r\n // Reverse to restore the correct order\r\n return finalResult.reverse().join(\"\");\r\n}\r\n\r\nexport const calculateAdvanceForm = (form: any) => {\r\n let tableSums: any = {};\r\n\r\n for (let i = 0; i < form.length; i++) {\r\n let layouts = form[i];\r\n for (let j = 0; j < layouts.layout.length; j++) {\r\n const layout = layouts.layout[j];\r\n if (layout.template.type === \"c\") {\r\n calCulateFunc(layout, tableSums);\r\n } else if (layout.template.type === \"tb\") {\r\n calCulateInTableFunc(layout, tableSums);\r\n }\r\n }\r\n }\r\n console.log({ form });\r\n};\r\n\r\nexport const calCulateInTableFunc = (layout: any, tableSums: any) => {\r\n try {\r\n const columns: { label: string; attribute: any; type: string }[] =\r\n layout.template.attribute.column.map((e: any) => {\r\n return {\r\n label: e.label,\r\n attribute: e.control.template.attribute,\r\n type: e.control.template.type,\r\n };\r\n });\r\n const rowDatas = layout?.data?.row ?? [];\r\n columns.forEach((col: { label: string; attribute: any; type: string }, colIdx: number) => {\r\n const decimal = Number(col.attribute.decimal);\r\n if (col.type === \"c\") {\r\n rowDatas.forEach((row: any) => {\r\n const cell = row[colIdx];\r\n if (cell) {\r\n const numericValue = Number(cell.value.toString().replace(/,/g, \"\"));\r\n if (!isNaN(numericValue)) {\r\n cell.value = numericValue.toFixed(decimal);\r\n }\r\n }\r\n });\r\n }\r\n });\r\n if (layout.template.formula === \"\") return layout?.data?.row;\r\n const formulas = layout.template.formula.split(\"|\");\r\n tableSums[layout.template.label] = {};\r\n\r\n rowDatas.forEach((rowData: any, rowIdx: number) => {\r\n formulas.map((formula: string) => {\r\n try {\r\n let resulstField = formula.split(\"=\");\r\n let formu: string = resulstField[0];\r\n let resultColIdx = -1;\r\n let resultDecimal = 0;\r\n let result: number = 0;\r\n\r\n if (formu.startsWith(\"Min\") || formu.startsWith(\"Max\")) {\r\n const operator = formu.startsWith(\"Max\") ? \"Max\" : \"Min\";\r\n const fields = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.lastIndexOf(\")\"))\r\n .split(\",\");\r\n\r\n fields.forEach((field) => {\r\n columns.forEach((col: any, colIdx: number) => {\r\n if (field === col.label) {\r\n const value = Number(\r\n rowData[col.label]?.toString()?.replaceAll(\",\", \"\")\r\n );\r\n if (!Number.isNaN(value))\r\n if (\r\n result === 0 ||\r\n (operator === \"Max\" && value > result) ||\r\n (operator === \"Min\" && value < result)\r\n ) {\r\n result = value;\r\n }\r\n }\r\n if (col.label === resulstField[1]) {\r\n resultColIdx = colIdx;\r\n resultDecimal = Number(col.control.attribute.decimal);\r\n }\r\n });\r\n });\r\n } else if (formu.startsWith(\"diffdate\")) {\r\n const fields = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.lastIndexOf(\")\"))\r\n .split(\",\");\r\n\r\n let firstDate = moment(rowData[fields[0]]);\r\n let lastDate = moment(rowData[fields[1]]);\r\n let res = firstDate.diff(lastDate, \"days\");\r\n if (res >= 1) {\r\n res += 1;\r\n }\r\n\r\n result = res;\r\n const resCol = columns.find(\r\n (col: any) => col.label === resulstField[1]\r\n );\r\n resultDecimal = Number(resCol?.attribute.decimal);\r\n } else if (formu.startsWith(\"difftime\")) {\r\n const fields = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.lastIndexOf(\")\"))\r\n .split(\",\");\r\n\r\n let firstDate = moment(rowData[fields[0]], \"h.mm\");\r\n let lastDate = moment(rowData[fields[1]], \"h.mm\");\r\n let res = firstDate.diff(lastDate, \"minutes\");\r\n\r\n const hours = Math.trunc(res / 60);\r\n const remainingMinutes = res % 60;\r\n let formattedTime =\r\n res <= -1 && res >= -9\r\n ? `-0.0${Math.abs(remainingMinutes)}`\r\n : hours === -0 && res < -10\r\n ? `-${hours}.${Math.abs(remainingMinutes)}`\r\n : res < -10\r\n ? `${hours}.${Math.abs(remainingMinutes)}`\r\n : `${hours}.${remainingMinutes}`;\r\n\r\n result = Number(formattedTime);\r\n const resCol = columns.find(\r\n (col: any) => col.label === resulstField[1]\r\n );\r\n resultDecimal = Number(resCol?.attribute.decimal);\r\n } else {\r\n const allField =\r\n formu.match(/(?:get\\([^+\\-*\\/=]+\\)|[^+\\-*\\/=()\\[\\]{}]+)/g) || [];\r\n allField.forEach((field: string) => {\r\n if (field.startsWith(\"get\")) {\r\n const labels = field\r\n .substring(field.indexOf(\"(\") + 1, field.lastIndexOf(\")\"))\r\n .split(\",\");\r\n if (labels.length > 0) {\r\n }\r\n } else {\r\n try {\r\n columns.forEach(\r\n (\r\n col: { label: string; attribute: any },\r\n colIdx: number\r\n ) => {\r\n if (field === col.label) {\r\n const decimal = Number(col.attribute.decimal);\r\n console.log(col);\r\n console.log(decimal);\r\n\r\n const value = Number(\r\n rowData[colIdx].value?.toString()?.replaceAll(\",\", \"\")\r\n ).toFixed(decimal);\r\n formu = formu.replace(\r\n col.label,\r\n value !== \"NaN\" ? value : Number(0).toFixed(decimal)\r\n );\r\n }\r\n if (col.label === resulstField[1]) {\r\n resultColIdx = colIdx;\r\n resultDecimal = Number(col.attribute.decimal);\r\n }\r\n }\r\n );\r\n } catch (error) {\r\n console.error(formu + \"=>\", error);\r\n }\r\n }\r\n });\r\n }\r\n let dd = formu.replaceAll(\",\", \"\");\r\n result = eval(dd);\r\n rowData[resultColIdx].value = result?.toFixed(resultDecimal);\r\n\r\n\r\n if (rowDatas) {\r\n columns.forEach(\r\n (\r\n col: { label: string; attribute: any; type: string },\r\n colIdx: number\r\n ) => {\r\n if (col.type === \"c\") {\r\n const decimal = Number(col.attribute.decimal);\r\n let colSum: number = 0;\r\n rowDatas.forEach((e: any) => {\r\n const val = Number(e[colIdx].value);\r\n\r\n if (!Number.isNaN(val)) {\r\n colSum = colSum + val;\r\n }\r\n });\r\n if (tableSums[layout.template.label]) {\r\n tableSums[layout.template.label][col.label] = colSum;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n } catch (error) {\r\n console.error(formula + \"=>\", error);\r\n }\r\n });\r\n });\r\n return rowDatas\r\n } catch (error) {\r\n console.error(\"table=>cal=>error\", error);\r\n }\r\n};\r\n\r\nexport const calCulateFunc = (layout: any, tableSum: any) => {\r\n try {\r\n const formula = layout.template.attribute.formula;\r\n if (formula === \"\") return;\r\n let total: number = NaN;\r\n if (formula.startsWith(\"diffdate\")) {\r\n let resulstField = formula.split(\"=\");\r\n let variables = resulstField[0];\r\n const selCol = variables\r\n .substring(variables.indexOf(\"(\") + 1, variables.lastIndexOf(\")\"))\r\n .split(\",\");\r\n let datepicker1: { [x: string]: moment.Moment } = {\r\n [selCol[0]]: moment(),\r\n [selCol[1]]: moment(),\r\n };\r\n\r\n total = datepicker1[selCol[0]].diff(datepicker1[selCol[1]], \"days\");\r\n if (total >= 0) {\r\n total += 1;\r\n }\r\n } else if (formula.startsWith(\"difftime\")) {\r\n let resulstField = formula.split(\"=\");\r\n let variables = resulstField[0];\r\n const selCol = variables\r\n .substring(variables.indexOf(\"(\") + 1, variables.lastIndexOf(\")\"))\r\n .split(\",\");\r\n let formattedTime: string = \"\";\r\n\r\n total = Number(formattedTime);\r\n } else {\r\n let resulstField = formula.split(\"=\");\r\n\r\n let match: any = resulstField[0].match(/[^+%\\-\\*\\/=]+/g) || [];\r\n\r\n match.forEach((formu: any) => {\r\n if (formu?.includes(\"sum\")) {\r\n try {\r\n const selCol = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.lastIndexOf(\")\"))\r\n .split(\";\");\r\n \r\n if (tableSum[selCol[0]]) {\r\n layout.data.value = tableSum[selCol[0]][selCol[1]] ?? 0;\r\n }\r\n } catch (error) {\r\n console.error(\"cal=>error\", error);\r\n }\r\n }\r\n });\r\n }\r\n } catch (error) {\r\n console.error(\"table=>cal=>error\", error);\r\n }\r\n};\r\n\r\nexport const checkRequireFromTemplate = (\r\n template: any,\r\n buttonType: string\r\n): boolean => {\r\n let checked: boolean = false;\r\n if (\r\n template.attribute.require === \"Y\" &&\r\n [\"submit\", \"approve\", \"request comment\"].includes(buttonType)\r\n ) {\r\n checked = true;\r\n }\r\n\r\n return checked;\r\n};\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport NumberComponent from \"../../ControlComponents/NumberComponent/NumberComponent\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport Col from \"react-bootstrap/Col\";\r\nimport \"./CoreControllerComponent.css\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport CheckboxComponent from \"../../ControlComponents/CheckboxComponent/CheckboxComponent\";\r\nimport MainCheckboxComponents from \"../../ControlComponents/MainCheckboxComponents/MainCheckboxComponents\";\r\nimport MainTextComponents from \"../../ControlComponents/MainTextComponents/MainTextComponents\";\r\nimport AttachmentComponent from \"../../ControlComponents/AttachmentComponent/AttachmentComponent\";\r\nimport DropdownComponent from \"../../ControlComponents/DropdownComponent/DropdownComponent\";\r\nimport RadioComponent from \"../../ControlComponents/RadioComponent/RadioComponent\";\r\nimport CalendarComponent from \"../../ControlComponents/CalendarComponent/CalendarComponent\";\r\nimport ShortTextComponent from \"../../ControlComponents/InputTextComponent/ShortTextComponent/ShortTextComponent\";\r\nimport TextareaComponent from \"../../ControlComponents/InputTextComponent/TextareaComponent/TextareaComponent\";\r\nimport ButtonComponent from \"../../ControlComponents/ButtonComponent/ButtonComponent\";\r\nimport AutoNumberComponent from \"../../ControlComponents/NumberComponent/AutoNumberComponent/AutoNumberComponent\";\r\nimport RevisionComponent from \"../../ControlComponents/NumberComponent/RevisionComponent/RevisionComponent\";\r\nimport { EditorComponent } from \"../../ControlComponents/EditorComponent/EditorComponent\";\r\n// import TableComponent from \"../../ControlComponents/TableComponent/TableComponent\";\r\nimport { SummaryComponent } from \"../../ControlComponents/SummaryComponent/SummaryComponent\";\r\nimport { Item } from \"rc-menu\";\r\nimport { AnyMap } from \"@reduxjs/toolkit/node_modules/immer/dist/internal\";\r\nimport { EmptyComponent } from \"../../ControlComponents/EmptyComponent/EmptyComponent\";\r\nimport {\r\n GetAutoNumber,\r\n GetRvsRunning,\r\n // GetRunningNumber,\r\n} from \"../../../Services/RequestControlService\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport {\r\n GetAllApprovals,\r\n GetApprovalByTemplate,\r\n} from \"../../../Services/ApprovalService\";\r\nimport ImageComponent from \"../../ControlComponents/ImageComponent/ImageComponent\";\r\nimport { IListApprovalDetailsModel } from \"../../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\ninterface Props {\r\n coreRender: boolean;\r\n setCoreRender: any;\r\n formTemplate: any;\r\n setInformationMethodProp: (e: any) => void;\r\n errorResult: any;\r\n statusMemoDetail: boolean;\r\n errorTable: any;\r\n setSummary: (respone: any) => void;\r\n templateID: any;\r\n isInitialLogic: any;\r\n setIsInitialLogic: any;\r\n selectedView: any;\r\n showControl: any;\r\n setShowControl: any;\r\n requestDetail: any;\r\n setRequestDetail: any;\r\n setLineApporve: any;\r\n getInformationTemplateProp(): any;\r\n setOnLoading: any;\r\n logic: any;\r\n listLogicData: any;\r\n setListLogicData: any;\r\n}\r\n\r\nexport const CoreControllerComponent = (props: Props) => {\r\n const [advanceForm, setAdvanceForm] = useState({});\r\n const [tableSummary, setTableSummary] = useState([]);\r\n const [summary, setSummary] = useState(0);\r\n const [isShowSummary, setIsShowSummary] = useState(false);\r\n const [formLoading, setFormLoading] = useState(true);\r\n const [formComponent, setFormComponent] = useState();\r\n const [autoNumFormat, setAutoNumFormat] = useState();\r\n const [autoNumDigit, setAutoNumDigit] = useState();\r\n const [numFormulas, setNumFormulas] = useState([]);\r\n const [allLogic, setAllLogic] = useState([]);\r\n const [valueTable, setValueTable] = useState([]);\r\n const [runningNumber, setRunningNumber] = useState(\"\");\r\n const [rvsPosition, setRvsPosition] = useState();\r\n const [currentLogic, setCurrentLogic] = useState(\"\");\r\n const userData: any = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n\r\n useEffect(() => {\r\n if (isShowSummary) {\r\n sumValue();\r\n }\r\n }, [isShowSummary]);\r\n\r\n const [isFirstLoad, setIsFirstLoad] = useState(true);\r\n useEffect(() => {\r\n setAdvanceForm(JSON.parse(props.formTemplate));\r\n // console.log(\"ddddddddddddddd\");\r\n if (tableSummary.length === 0) {\r\n setSumTable();\r\n }\r\n // props.setShowControl([]);\r\n // console.log(\"props.form\", JSON.parse(props.formTemplate));\r\n }, [props.formTemplate]);\r\n\r\n useEffect(() => {\r\n if (advanceForm !== undefined && Object.keys(advanceForm).length !== 0) {\r\n // if (props.showControl?.length === 0) {\r\n // var arr = Array.from(Array(advanceForm.items.length), () =>\r\n // new Array(2).fill(true)\r\n // );\r\n // // props.setShowControl([...arr]);\r\n // }\r\n if (runningNumber === \"\") {\r\n getRevision();\r\n }\r\n // sumValue();\r\n renderControl(JSON.parse(props.formTemplate));\r\n setFormLoading(false);\r\n }\r\n }, [advanceForm]);\r\n useEffect(() => {\r\n if (valueTable.length > 0) {\r\n renderControl(JSON.parse(props.formTemplate));\r\n setFormLoading(false);\r\n }\r\n }, [valueTable]);\r\n\r\n useEffect(() => {\r\n if (\r\n props.logic.length > 0 &&\r\n props.isInitialLogic === false &&\r\n advanceForm?.items?.length > 0\r\n ) {\r\n checkLogic();\r\n }\r\n }, [props.logic, advanceForm]);\r\n\r\n useEffect(() => {\r\n console.log(\"listLogicData\", props.listLogicData, isFirstLoad);\r\n\r\n if (props.listLogicData?.length > 0) {\r\n setIsFirstLoad(false);\r\n }\r\n if (\r\n props.listLogicData?.length > 0 &&\r\n props.isInitialLogic &&\r\n !isFirstLoad\r\n ) {\r\n console.log(\"listLogicData\", props.listLogicData, isFirstLoad);\r\n\r\n for (let i = 0; i < props.listLogicData.length; i++) {\r\n const logic = props.listLogicData[i];\r\n if (logic.name === \"datasourcerelated\") {\r\n if (logic.data.relateGroup.length > 0) {\r\n onDataSourceLoadRelated(\r\n logic.data.relateGroup,\r\n logic.data.dataJson\r\n );\r\n }\r\n }\r\n if (logic.name === \"datareladtoloaddata\") {\r\n if (logic.data.length > 0) {\r\n onChangeAttributeForm(logic.data, logic.row, logic.col);\r\n }\r\n }\r\n if (logic.name === \"dataajaxloadtable\") {\r\n onDataAjaxLoadTable(\r\n logic.row,\r\n logic.col,\r\n logic.data.label,\r\n logic.data.dataJson\r\n );\r\n }\r\n if (logic.name === \"reference\") {\r\n onDataRefLoadTable(logic.row, logic.col, logic.data.dataJson);\r\n }\r\n }\r\n }\r\n if (props.listLogicData?.length > 0 && props.isInitialLogic) {\r\n for (let i = 0; i < props.listLogicData.length; i++) {\r\n const logic = props.listLogicData[i];\r\n if (logic.name === \"datalineapprove\") {\r\n onLoadLineApproveWithLogic(logic.data.dataJson);\r\n }\r\n }\r\n }\r\n }, [props.listLogicData]);\r\n async function getRevision() {\r\n let _advanceForm: any = advanceForm;\r\n const detail = props.requestDetail;\r\n\r\n let requestBody: any = {};\r\n if (rvsPosition !== undefined) {\r\n let items: any[] = [];\r\n let rvsTemp =\r\n _advanceForm.items[rvsPosition.rowIdx].layout[rvsPosition.colIdx];\r\n requestBody.TemplateId = detail.memoDetail.template_id;\r\n requestBody.RefId = 0;\r\n requestBody.Digit = rvsTemp.template.attribute.digit;\r\n requestBody.Labelrevision = rvsTemp.template.label;\r\n requestBody.Alter = rvsTemp.template.alter;\r\n\r\n if (rvsTemp.template.attribute.conditions.length > 0) {\r\n rvsTemp.template.attribute.conditions.map((con: any) => {\r\n _advanceForm.items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (con.label === layout.template.label) {\r\n items.push({ Label: con.label, value: layout.data.value });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n requestBody.MemoId = null;\r\n requestBody.Itemlabel = items;\r\n const revision = await GetRvsRunning(requestBody);\r\n if (revision) {\r\n setRunningNumber(revision.item);\r\n }\r\n }\r\n }\r\n\r\n // useEffect(() => {\r\n // if (\r\n // // props.showControl?.length > 0 &&\r\n // // !props.showControl?.every((e: any) => e === true) &&\r\n // advanceForm !== undefined &&\r\n // Object.keys(advanceForm).length !== 0\r\n // ) {\r\n // renderControl(JSON.parse(props.formTemplate));\r\n // setFormLoading(true);\r\n // }\r\n // }, [props.showControl]);\r\n\r\n const onClickLogic = async (\r\n template: any,\r\n rowIdx: Number,\r\n colIdx: Number\r\n ) => {\r\n // console.log(\"template\", template);\r\n let mstTable = \"\";\r\n let mstType = \"\";\r\n let mColumn = \"\";\r\n let columnAll = \"\";\r\n let requestLogic: any = [];\r\n let relateGroup: any = [];\r\n let conditions: any = [];\r\n let lineLogic: string = \"\";\r\n const _logic: any = props.logic;\r\n for (let i = 0; i < _logic.length; i++) {\r\n const logic: any = _logic[i];\r\n // console.log(logic);\r\n\r\n if (logic.jsonvalue !== null) {\r\n if (logic.jsonvalue.length > 0) {\r\n const jsonObject = JSON.parse(_logic[i].jsonvalue);\r\n if (logic.logictype === \"datasourcerelated\") {\r\n for (let j = 0; j < jsonObject.relatedvalue.length; j++) {\r\n const relateValue = jsonObject.relatedvalue[j];\r\n // console.log(relateValue, template.template.description);\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (\r\n relateValue.label === _layout.template.label &&\r\n template.template.description ===\r\n _layout.template.attribute.description &&\r\n jsonObject.label === template.template.label\r\n ) {\r\n // console.log(\r\n // \"dddddddddddddddddddddddddddd\",\r\n // relateValue.label,\r\n // template.template,\r\n // _layout.template\r\n // );\r\n relateGroup.push({\r\n group: relateValue,\r\n row: k,\r\n col: l,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n const dataJson = {\r\n Key: template.template.label,\r\n Value: template.data.value,\r\n logicid: logic.logicid,\r\n };\r\n // console.log(\"ddddddddddd\", dataJson, relateGroup);\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n relateGroup,\r\n dataJson,\r\n },\r\n });\r\n // onDataSourceLoadRelated(relateGroup, dataJson);\r\n }\r\n if (logic.logictype === \"datareladtoloaddata\") {\r\n for (let j = 0; j < jsonObject.labelactions.length; j++) {\r\n const labelaction = jsonObject.labelactions[j];\r\n // console.log(jsonObject);\r\n if (labelaction.labelintablestatus !== false) {\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (\r\n labelaction.label === template.template.label &&\r\n jsonObject.autoloadvaluelabel.label ===\r\n _layout.template.label\r\n ) {\r\n // console.log(\r\n // \"labelaction.label\",\r\n // labelaction.label,\r\n // template.template.label,\r\n // _layout.template.label\r\n // );\r\n const dataJson = {\r\n Key: template.template.label,\r\n Value: template.data.value,\r\n logicid: logic.logicid,\r\n };\r\n const data: any = await onDatareladToLoadData([dataJson]);\r\n\r\n if (data.length > 0) {\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: data[0].data,\r\n row: k,\r\n col: l,\r\n });\r\n // onChangeAttributeForm(data[0].data, k, l);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (logic.logictype === \"dataajaxloadtable\") {\r\n for (let j = 0; j < jsonObject.labelactions.length; j++) {\r\n const labelaction = jsonObject.labelactions[j];\r\n // console.log(jsonObject);\r\n if (labelaction.labelintablestatus !== false) {\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (_layout.template.type === \"tb\") {\r\n // console.log(\"dsssssssssssssdasdddddddd\", _layout.template);\r\n for (\r\n let m = 0;\r\n m < _layout.template.attribute.column.length;\r\n m++\r\n ) {\r\n const tbColumn = _layout.template.attribute.column[m];\r\n if (\r\n tbColumn.label === jsonObject.autoloadvaluelabel.label\r\n ) {\r\n const dataJson = {\r\n Key: labelaction.label,\r\n Value:\r\n template.data.value !== undefined\r\n ? template.data.value.toString()\r\n : \"\",\r\n logicid: logic.logicid,\r\n };\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n label: jsonObject.autoloadvaluelabel.label,\r\n dataJson,\r\n },\r\n row: i,\r\n col: j,\r\n });\r\n // const data = onDataAjaxLoadTable(\r\n // i,\r\n // j,\r\n // jsonObject.autoloadvaluelabel.label,\r\n // dataJson\r\n // );\r\n setCurrentLogic(logic.logictype);\r\n // console.log(\"ddddddEEEEEEEEEE\");\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (logic.logictype === \"reference\") {\r\n let loadTo = { row: -1, col: -1 };\r\n let refFilter: any = [];\r\n let loadToField = jsonObject.Column;\r\n mstTable = jsonObject.Mastertable || \"\";\r\n mstType = jsonObject.Type || \"\";\r\n mColumn = jsonObject.MColumn || \"\";\r\n columnAll = jsonObject.ColumnAll || \"\";\r\n for (let j = 0; j < jsonObject.Filter.length; j++) {\r\n const controlFilter = jsonObject.Filter[j];\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (_layout.template.label === jsonObject.label) {\r\n loadTo = {\r\n row: k,\r\n col: l,\r\n };\r\n }\r\n if (_layout.template.label === controlFilter.TBColumn) {\r\n refFilter.push({\r\n mstColumn: controlFilter.MSTColumn,\r\n tbColumn: _layout.data.value,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n const dataJson = {\r\n mstTable,\r\n mstType,\r\n mColumn,\r\n columnAll,\r\n refFilter,\r\n loadToField,\r\n };\r\n setCurrentLogic(logic.logictype);\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n dataJson,\r\n },\r\n row: loadTo.row,\r\n col: loadTo.col,\r\n });\r\n // onDataRefLoadTable(loadTo.row, loadTo.col, dataJson);\r\n }\r\n if (logic.logictype === \"datalineapprove\") {\r\n // console.log(\"datalineapprove\");\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n if (jsonObject.label === _layout.template.label) {\r\n // console.log(\r\n // \"_layout.data.value\",\r\n // _layout.data.value,\r\n // _layout.template.label\r\n // );\r\n\r\n conditions.push({\r\n label: _layout.template.label,\r\n value:\r\n _layout.data.value === null\r\n ? \"\"\r\n : _layout.template.type === \"c\"\r\n ? Number(_layout.data.value).toLocaleString()\r\n : _layout.data.value,\r\n });\r\n lineLogic = logic.logicid;\r\n }\r\n }\r\n }\r\n if (conditions.length > 0) {\r\n const dataJson = {\r\n logicid: lineLogic,\r\n conditions: conditions,\r\n };\r\n requestLogic.push({\r\n name: logic.logictype,\r\n data: {\r\n dataJson,\r\n },\r\n });\r\n // onLoadLineApproveWithLogic(dataJson);\r\n conditions = [];\r\n lineLogic = \"\";\r\n // console.log(\"dataJsondataJson\", dataJson);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n // props.setListLogicData((prevState: any) => {\r\n // if (JSON.stringify(prevState) !== JSON.stringify(requestLogic)) {\r\n // return requestLogic;\r\n // }\r\n // });\r\n if (JSON.stringify(props.listLogicData) !== JSON.stringify(requestLogic)) {\r\n\r\n props.setListLogicData([...requestLogic]);\r\n }\r\n console.log(\"requestLogic\", requestLogic, props.listLogicData);\r\n };\r\n const checkLogic = async () => {\r\n const _logic = props.logic;\r\n props.setIsInitialLogic(true);\r\n // console.log(\"checklogic\");\r\n console.log(\"_logic_logic\", props.setIsInitialLogic);\r\n\r\n // const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const empId = userData.employeeData.EmployeeId;\r\n // let _showControl: any = props.showControl;\r\n let dataSourceLoadGroup: any[] = [];\r\n let dataSourceRelatedToLoadGroup: any[] = [];\r\n let mstTable = \"\";\r\n let mstType = \"\";\r\n let mColumn = \"\";\r\n let columnAll = \"\";\r\n let lineSeq = 0;\r\n let currentApproverLevel =\r\n props.requestDetail.memoDetail.current_approval_level;\r\n // let position = [];\r\n // let labelAction = [];\r\n for (let z = 0; z < _logic.length; z++) {\r\n const element = _logic[z];\r\n if (element.jsonvalue !== null && element.jsonvalue !== \"[]\") {\r\n if (element.jsonvalue.length > 0) {\r\n const jsonObject = JSON.parse(_logic[z].jsonvalue);\r\n // console.log(\"Logic=>jsonObject\", jsonObject);\r\n\r\n let positionTable = { row: -1, col: -1 };\r\n\r\n if (element.logictype === \"datasourceload\") {\r\n for (let i = 0; i < advanceForm.items.length; i++) {\r\n const _advanceForm = advanceForm.items[i];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let j = 0; j < _advanceForm.layout.length; j++) {\r\n const _layout = _advanceForm.layout[j];\r\n if (_layout.template.label === jsonObject.label) {\r\n // console.log(\"_layout.template.label\", _layout.template.label);\r\n // const _data = await onDataSourceLoad(i, j, element.logicid);\r\n dataSourceLoadGroup.push({\r\n col: j,\r\n row: i,\r\n data: element.logicid,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n if (element.logictype === \"role\") {\r\n const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n\r\n // const _data = await onDataSourceLoad(i, j, element.logicid);\r\n if (jsonObject.action === \"show\") {\r\n for (let m = 0; m < jsonObject.fieldaction.length; m++) {\r\n const fieldaction = jsonObject.fieldaction[m];\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n\r\n if (fieldaction.lable === _layout.template.label) {\r\n // console.log(\r\n // \"_layout_layout_layout_layout.label\",\r\n // _layout\r\n // );\r\n // console.log(\r\n // \"fieldaction.label\",\r\n // fieldaction.lable,\r\n // \"_layout.template.label\",\r\n // _layout.template.label\r\n // );\r\n for (let n = 0; n < jsonObject.roleids.length; n++) {\r\n const roleid = jsonObject.roleids[n].id;\r\n for (let m = 0; m < roles.length; m++) {\r\n const role = roles[m];\r\n if (roleid != role.RoleId) {\r\n // console.log(\r\n // \"_showControl\",\r\n // _showControl,\r\n // \":\",\r\n // k,\r\n // \":\",\r\n // l\r\n // );\r\n // _showControl[k][l] = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (element.logictype === \"approvetype\") {\r\n // for (let i = 0; i < props.requestDetail.listApprovalDetails.length; i++) {\r\n // const approver = props.requestDetail.listApprovalDetails[i];\r\n // if (approver.emp_id === empId ) {\r\n // lineSeq = approver.sequence\r\n // }\r\n // }\r\n // const _data = await onDataSourceLoad(i, j, element.logicid);\r\n // const approvals = await GetAllApprovals({\r\n // memoid: props.requestDetail.memoDetail.memoid,\r\n // });\r\n const approvals = await fetch(\"api/LineApprove/GetByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n memoid: props.requestDetail.memoDetail.memoid,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n if (jsonObject.action === \"show\") {\r\n for (let m = 0; m < jsonObject.fieldaction.length; m++) {\r\n const fieldaction = jsonObject.fieldaction[m];\r\n for (let k = 0; k < advanceForm.items.length; k++) {\r\n const _advanceForm = advanceForm.items[k];\r\n // console.log(\"_advanceForm\", _advanceForm);\r\n for (let l = 0; l < _advanceForm.layout.length; l++) {\r\n const _layout = _advanceForm.layout[l];\r\n\r\n if (fieldaction.lable === _layout.template.label) {\r\n for (\r\n let n = 0;\r\n n < jsonObject.approvetypeids.length;\r\n n++\r\n ) {\r\n const typeid = jsonObject.approvetypeids[n].typeid;\r\n\r\n for (let m = 0; m < approvals.length; m++) {\r\n const approver = approvals[m];\r\n\r\n // if (\r\n // props.requestDetail.memoDetail\r\n // .current_approval_level == approver.sequence\r\n // ) {\r\n // console.log(\"dddddddddddddddddddddd\");\r\n\r\n // _showControl[k][l] = false;\r\n // }\r\n if (\r\n props.requestDetail.memoDetail\r\n .current_approval_level != approver.sequence ||\r\n approver.emp_id != empId ||\r\n typeid != approver.ApproveType\r\n ) {\r\n // _showControl[k][l] = 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 let logicGroupData: any[] = [];\r\n // console.log(\"dataSourceRelatedToLoadGroup\", dataSourceRelatedToLoadGroup);\r\n if (dataSourceLoadGroup.length > 0) {\r\n const response = await onDataSourceLoad(dataSourceLoadGroup);\r\n logicGroupData.push({ type: \"onDataSourceLoad\", data: response });\r\n // console.log(\"responseGroup\", response);\r\n }\r\n if (dataSourceRelatedToLoadGroup.length > 0) {\r\n const response = await onDatareladToLoadData(\r\n dataSourceRelatedToLoadGroup\r\n );\r\n logicGroupData.push({ type: \"onDatareladToLoadData\", data: response });\r\n // console.log(\"onDatareladToLoadData\", response);\r\n }\r\n onChangeLogicForm(logicGroupData);\r\n // props.setShowControl([..._showControl]);\r\n setFormLoading(false);\r\n };\r\n const onChangeLogicForm = (logicGroupData: any) => {\r\n let _advanceForm = advanceForm;\r\n props.setIsInitialLogic(true);\r\n for (let i = 0; i < logicGroupData.length; i++) {\r\n const logicGroup = logicGroupData[i];\r\n if (logicGroup.type === \"onDataSourceLoad\") {\r\n for (let j = 0; j < logicGroup.data.length; j++) {\r\n let logicData = logicGroup.data[j];\r\n logicData.data.push({ item: \"-- Please Select --\" });\r\n for (let k = 0; k < logicData.data.length; k++) {\r\n const data = logicData.data[k];\r\n const keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n logicData.data[k] = keyValues[0];\r\n }\r\n _advanceForm.items[logicData.row].layout[\r\n logicData.col\r\n ].template.attribute.items = logicData.data;\r\n if (\r\n _advanceForm.items[logicData.row].layout[logicData.col].data\r\n .value !== \"-- Please Select --\"\r\n ) {\r\n _advanceForm.items[logicData.row].layout[logicData.col].data.value =\r\n \"-- Please Select --\";\r\n }\r\n\r\n // console.log(\"datasource\", logicData);\r\n }\r\n }\r\n }\r\n // console.log(\"JSON.stringify(_advanceForm)\", JSON.stringify(_advanceForm));\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n };\r\n\r\n function setSumTable() {\r\n const items = JSON.parse(props.formTemplate).items;\r\n let tableArray: any[] = [];\r\n\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"tb\") {\r\n console.log(\"table=>layout.template\", layout.template);\r\n if (layout.template.attribute.column) {\r\n for (let i = 0; i < layout.template.attribute.column.length; i++) {\r\n const column = layout.template.attribute.column[i];\r\n if (column.control.template.type === \"c\") {\r\n if (column.control.template.attribute.summary === \"Y\") {\r\n tableArray.push({\r\n tableLabel: layout.template.label,\r\n total: 0,\r\n });\r\n\r\n setTableSummary([...tableArray]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n const onLoadLogic = async (templateID: any) => {\r\n const dataLogic = await fetch(\"api/TemplateList/TemplateByid/LoadLogic\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ TemplateId: templateID }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(\"Logic=> \", data);\r\n\r\n setAllLogic([...data]);\r\n return data;\r\n });\r\n return dataLogic;\r\n };\r\n\r\n const onDataRefLoadTable = async (row: any, col: any, dataJson: any) => {\r\n setFormLoading(true);\r\n // console.log(\"dataJsondataJson\", dataJson);\r\n\r\n let query = `SELECT * FROM ${dataJson.mstTable} WHERE `;\r\n\r\n for (let i = 0; i < dataJson.refFilter.length; i++) {\r\n const refFilter = dataJson.refFilter[i];\r\n if (i === 0 && dataJson.refFilter.length > 1) {\r\n query = query + `${refFilter.mstColumn}='${refFilter.tbColumn}' AND `;\r\n }\r\n if (i % 2 === 0) {\r\n query = query + `${refFilter.mstColumn}='${refFilter.tbColumn}'`;\r\n }\r\n if (i % 2 !== 0 && i !== 0) {\r\n query = query + ` AND ${refFilter.mstColumn}='${refFilter.tbColumn}'`;\r\n }\r\n }\r\n if (dataJson.mstTable === \"MSTMasterData\" && dataJson.mstType.length > 0) {\r\n query = query + ` AND MasterType='${dataJson.mstType}'`;\r\n }\r\n if (dataJson.mColumn.length > 0) {\r\n query = query + ` AND ${dataJson.mColumn}='${dataJson.mstType}'`;\r\n }\r\n if (dataJson.columnAll.length > 0) {\r\n query = query + ` AND ${dataJson.columnAll}='All'`;\r\n }\r\n // console.log(\"queryquery\", query);\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControlRef\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data: any) => {\r\n console.log(\"dddddddddddddddddddsadddddata\", data);\r\n setFormLoading(false);\r\n\r\n onChangeRefValueTableForm(data.DT, dataJson.loadToField, row, col);\r\n });\r\n };\r\n const onDataAjaxLoadTable = async (\r\n row: any,\r\n col: any,\r\n autoloadvaluelabel: any,\r\n dataJson: any\r\n ) => {\r\n // console.log(\r\n // \"row, col, dataJson\",\r\n // row,\r\n // col,\r\n // JSON.stringify(dataJson),\r\n // autoloadvaluelabel\r\n // );\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n console.log(\"listLogicData\", data);\r\n\r\n onChangeAttributeTableForm(data, row, col, autoloadvaluelabel);\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n };\r\n const onLoadLineApproveWithLogic = async (dataJson: any) => {\r\n // console.log(\"row, col, dataJson\", dataGroup);\r\n // const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const empData = userData.employeeData;\r\n let _dataJson = dataJson;\r\n if (_dataJson.length > 0) {\r\n for (let i = 0; i < _dataJson.length; i++) {\r\n const data = _dataJson[i];\r\n }\r\n }\r\n const requestData = {\r\n employee: empData,\r\n ComCode: props.requestDetail.memoDetail.company_id,\r\n JsonCondition: JSON.stringify(dataJson),\r\n templateForm: {\r\n ...props.requestDetail.memoDetail,\r\n TemplateApproveId: 0,\r\n },\r\n lstTRNLineApprove: [],\r\n };\r\n\r\n // console.log(\"requestData\", requestData);\r\n\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadLineApproveFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(requestData),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n // onChangeAttributeForm(data, row, col)\r\n let lineApproval = props.requestDetail.listApprovalDetails;\r\n let _data = data;\r\n let newData: any = [];\r\n let sequence = 0;\r\n let isHas = false;\r\n for (let i = 0; i < _data.length; i++) {\r\n const lineNew = _data[i];\r\n for (let j = 0; j < lineApproval.length; j++) {\r\n const line = lineApproval[j];\r\n if (line.emp_id === lineNew.emp_id) {\r\n newData.push(line);\r\n isHas = true;\r\n }\r\n }\r\n if (isHas) {\r\n isHas = false;\r\n } else {\r\n newData.push(lineNew);\r\n }\r\n }\r\n\r\n console.log(\"_dataLine\", newData, data);\r\n\r\n props.setRequestDetail((prevState: any) => ({\r\n ...prevState,\r\n listApprovalDetails: [...data],\r\n }));\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n\r\n // return responseGroup;\r\n };\r\n const onDatareladToLoadData = async (dataGroup: any) => {\r\n // console.log(\"row, col, dataJson\", dataGroup);\r\n let responseGroup: any[] = [];\r\n setFormLoading(true);\r\n\r\n for (let i = 0; i < dataGroup.length; i++) {\r\n const dataSource: any = dataGroup[i];\r\n\r\n const dataJson = {\r\n logicid: dataSource.logicid,\r\n Key: dataSource.Key,\r\n Value: dataSource.Value,\r\n };\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n // console.log(\"dddddddddddddd\", data);\r\n setFormLoading(false);\r\n responseGroup.push({\r\n data: data,\r\n row: dataSource.row,\r\n col: dataSource.col,\r\n });\r\n // onChangeAttributeForm(data, row, col)\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n }\r\n return responseGroup;\r\n };\r\n const onDataSourceLoadRelated = async (relateGroup: any, dataJson: any) => {\r\n // console.log(\"relateGroup, dataJson\", relateGroup, dataJson);\r\n // const dataJson = {\r\n // logicid,\r\n // Key: \"\",\r\n // Value: \"\",\r\n // };\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n setFormLoading(false);\r\n\r\n onChangeValueForm(data, relateGroup);\r\n });\r\n };\r\n const onDataSourceLoad = async (dataGroup: any) => {\r\n // console.log(row, col, logicid);\r\n let responseGroup: any[] = [];\r\n console.log(\"table=>dataGroup\", dataGroup);\r\n\r\n for (let i = 0; i < dataGroup.length; i++) {\r\n const dataSource: any = dataGroup[i];\r\n\r\n const dataJson = {\r\n logicid: dataSource.data,\r\n Key: \"\",\r\n Value: \"\",\r\n };\r\n await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then(\r\n (data) => {\r\n responseGroup.push({\r\n data: data,\r\n row: dataSource.row,\r\n col: dataSource.col,\r\n });\r\n // onChangeAttributeForm(data, row, col)\r\n }\r\n // console.log(\"load\", data)\r\n );\r\n }\r\n return responseGroup;\r\n };\r\n const onTableDatareladToLoadData = async (\r\n row: any,\r\n advanceRow: any,\r\n advanceCol: any,\r\n tableRow: any,\r\n tableCol: any,\r\n tableActionCol: any,\r\n dataJson: any\r\n ) => {\r\n // console.log(\"row, col, dataJson tabel\", dataJson, loadToCol);\r\n let tableValue: any = row;\r\n // console.log(\"dataJson\", dataJson);\r\n\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => data);\r\n\r\n onChangeValueTableForm(\r\n row,\r\n dataSource,\r\n advanceRow,\r\n advanceCol,\r\n tableRow,\r\n tableCol,\r\n tableActionCol\r\n );\r\n\r\n // console.log(\"dsasdasdweweqweqweqewqwe\");\r\n\r\n // console.log(\r\n // \"tableValuetableValuetableValue\",\r\n // tableValue,\r\n // advanceRow,\r\n // advanceCol\r\n // );\r\n };\r\n const onChangeValueTableForm = (\r\n row: any,\r\n dataRequest: any,\r\n\r\n advanceRow: any,\r\n advanceCol: any,\r\n tableRow: any,\r\n tableCol: any,\r\n tableActionCol: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n let _valueTable = valueTable;\r\n let rowTable: any = row;\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const _colData = _dataRequest[i];\r\n const keyValues = Object.keys(_colData).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: _colData[key] };\r\n });\r\n _dataRequest[i] = keyValues[0];\r\n }\r\n rowTable[tableRow][tableActionCol] = _dataRequest;\r\n // console.log(\"eieieieieiei\", _dataRequest, rowTable, tableActionCol);\r\n setValueTable([...rowTable]);\r\n\r\n // _valueTable.push(_dataRequest[i]);\r\n };\r\n\r\n // console.log(\"onChangeValueTableForm\", _valueTable);\r\n\r\n const onChangeAttributeTableForm = (\r\n dataRequest: any,\r\n rowIdx: number,\r\n colIdx: number,\r\n autoloadvaluelabel: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n // _dataRequest.splice(0, 0, { item: \"--select--\" });\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const data = _dataRequest[i];\r\n const keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n _dataRequest[i] = keyValues[0];\r\n }\r\n // console.log(W\r\n // \"datatatatatat\",\r\n // _dataRequest,\r\n // autoloadvaluelabel,\r\n // colIdx,\r\n // rowIdx\r\n // );\r\n try {\r\n for (\r\n let i = 0;\r\n i <\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.column\r\n .length;\r\n i++\r\n ) {\r\n const col =\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.column[\r\n i\r\n ];\r\n if (col.label === autoloadvaluelabel) {\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.column[\r\n i\r\n ].control.template.attribute.items = _dataRequest;\r\n }\r\n }\r\n } catch (error) {}\r\n\r\n // if (_dataRequest.length > 0) {\r\n // _advanceForm.items[rowIdx].layout[colIdx].data = _dataRequest[0];\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n // }\r\n };\r\n const onChangeValueForm = (dataRequest: any, relateGroup: any) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n let res: any = [];\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const data = _dataRequest[i];\r\n for (const [key, value] of Object.entries(data)) {\r\n for (let j = 0; j < relateGroup.length; j++) {\r\n const relate = relateGroup[j];\r\n if (relate.group.value === key) {\r\n _advanceForm.items[relate.row].layout[relate.col].data = {\r\n value: value,\r\n };\r\n // res.push({\r\n // label: relate.group.label,\r\n // value: value,\r\n // });\r\n }\r\n }\r\n }\r\n }\r\n\r\n // for (let i = 0; i < _dataRequest.length; i++) {\r\n // const data = _dataRequest[i];\r\n // const keyValues = Object.keys(data).map((key) => {\r\n // const newKey = \"value\";\r\n // return { [newKey]: data[key] };\r\n // });\r\n // _dataRequest[i] = keyValues[0];\r\n // }\r\n\r\n // if (_dataRequest.length > 0) {\r\n // _advanceForm.items[rowIdx].layout[colIdx].data = _dataRequest[0];\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n // }\r\n };\r\n const onChangeAttributeForm = (\r\n dataRequest: any,\r\n rowIdx: number,\r\n colIdx: number\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n // _dataRequest.splice(0, 0, { item: \"--select--\" });\r\n\r\n for (let i = 0; i < _dataRequest.length; i++) {\r\n const data = _dataRequest[i];\r\n\r\n let keyValues = Object.keys(data).map((key) => {\r\n const newKey = \"item\";\r\n return { [newKey]: data[key] };\r\n });\r\n _dataRequest[i] = keyValues[0];\r\n }\r\n if (_dataRequest !== null) {\r\n let items = _dataRequest;\r\n const s = items.find((e: any) => e.item === \"-- Please Select -- \");\r\n if (s === undefined) {\r\n items.push({ item: \"-- Please Select -- \" });\r\n }\r\n _advanceForm.items[rowIdx].layout[colIdx].data.value =\r\n \"-- Please Select -- \";\r\n _dataRequest = items;\r\n }\r\n _advanceForm.items[rowIdx].layout[colIdx].template.attribute.items =\r\n _dataRequest;\r\n setFormLoading(false);\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n };\r\n const onChangeRefValueTableForm = (\r\n dataRequest: any,\r\n loadToField: any,\r\n advanceRow: any,\r\n advanceCol: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest: any = dataRequest;\r\n let _valueTable = valueTable;\r\n console.log(\"permittedValues\", _dataRequest, _advanceForm, advanceRow);\r\n\r\n const permittedValues = _dataRequest.map(function (value: any) {\r\n let res: any = {};\r\n for (let i = 0; i < loadToField.length; i++) {\r\n const field = loadToField[i];\r\n res[field[\"TBColumn\"]] = value[field[\"MSTColumn\"]];\r\n // ={ [field[\"TBColumn\"]]: value[field[\"MSTColumn\"]] }\r\n }\r\n return res;\r\n });\r\n\r\n let resRow: any = [];\r\n if (_advanceForm.items) {\r\n for (let i = 0; i < permittedValues.length; i++) {\r\n const perValue = permittedValues[i];\r\n let colData = new Array(\r\n _advanceForm?.items[advanceRow].layout[\r\n advanceCol\r\n ].template.attribute.column.length\r\n ).fill({ value: \"\" });\r\n for (const [key, value] of Object.entries(perValue)) {\r\n // const dataRef = permittedValues[i];\r\n for (\r\n let j = 0;\r\n j <\r\n _advanceForm?.items[advanceRow].layout[advanceCol].template\r\n .attribute.column.length;\r\n j++\r\n ) {\r\n const _tableCol =\r\n _advanceForm?.items[advanceRow].layout[advanceCol].template\r\n .attribute.column[j];\r\n\r\n if (_tableCol.label === key) {\r\n colData[j] = { value };\r\n }\r\n }\r\n }\r\n resRow.push(colData);\r\n }\r\n }\r\n if (_dataRequest.length > 0 && resRow.length > 0 && _advanceForm.items) {\r\n _advanceForm.items[advanceRow].layout[advanceCol].data.row = resRow;\r\n\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n }\r\n // console.log(\"onChangeValueTableForm\", _valueTable);\r\n };\r\n\r\n const onChangeEditForm = (\r\n dataRequest: any,\r\n rowIdx: number,\r\n colIdx: number\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n if (_advanceForm) {\r\n _advanceForm.items[rowIdx].layout[colIdx].data = _dataRequest;\r\n\r\n if (_advanceForm.items[rowIdx].layout[colIdx].template.type !== \"an\") {\r\n if (!props.statusMemoDetail) {\r\n genAutoNum(_advanceForm.items);\r\n \r\n }\r\n }\r\n if (\r\n (_advanceForm.items[rowIdx].layout[colIdx].template.type === \"dd\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"c\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"cb\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"r\") &&\r\n props.isInitialLogic\r\n ) {\r\n onClickLogic(_advanceForm.items[rowIdx].layout[colIdx], rowIdx, colIdx);\r\n\r\n // onCheckLogic( _advanceForm.items[rowIdx].layout[colIdx].data)\r\n\r\n // checkLogic();\r\n }\r\n if (\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"c\" ||\r\n _advanceForm.items[rowIdx].layout[colIdx].template.type === \"tb\"\r\n ) {\r\n sumValue();\r\n }\r\n // if (_advanceForm.items[rowIdx].layout[colIdx].template.type === \"c\") {\r\n // if (\r\n // _advanceForm.items[rowIdx].layout[colIdx].template.attribute\r\n // .formula === \"\"\r\n // ) {\r\n // calNumberWithFormula(\r\n // _advanceForm.items[rowIdx].layout[colIdx],\r\n // rowIdx,\r\n // colIdx\r\n // );\r\n // }\r\n // }\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n }\r\n // setAdvanceForm(_advanceForm);\r\n };\r\n const onChangeEditFormTable = (\r\n columns: any,\r\n row: any,\r\n dataRequest: any,\r\n rowIdx: any,\r\n colIdx: any,\r\n tableRowIdx: any,\r\n tableColIdx: any\r\n ) => {\r\n let _advanceForm = advanceForm;\r\n let _dataRequest = dataRequest;\r\n let table = _advanceForm.items[tableRowIdx].layout[tableColIdx];\r\n\r\n const _logic: any = props.logic;\r\n\r\n for (let i = 0; i < _logic.length; i++) {\r\n const logic: any = _logic[i];\r\n\r\n if (logic.jsonvalue !== null) {\r\n if (logic.jsonvalue.length > 0) {\r\n const jsonObject = JSON.parse(_logic[i].jsonvalue);\r\n\r\n if (logic.logictype === \"datareladtoloaddata\") {\r\n let eiei: any = [];\r\n let labelAction: any = [];\r\n if (table.data.row !== null) {\r\n if (table.data.row.length > 0) {\r\n let dataJson: any = {};\r\n let tableActionCol = 0;\r\n\r\n for (let k = 0; k < jsonObject.labelactions.length; k++) {\r\n const labelaction = jsonObject.labelactions[k];\r\n\r\n if (labelaction.label === columns[colIdx].field) {\r\n dataJson = {\r\n Key: labelaction.label,\r\n Value: dataRequest.value,\r\n logicid: logic.logicid,\r\n };\r\n }\r\n }\r\n for (let k = 0; k < columns.length; k++) {\r\n const _column = columns[k];\r\n\r\n if (jsonObject.autoloadvaluelabel.label === _column.field) {\r\n tableActionCol = k;\r\n }\r\n }\r\n const data = onTableDatareladToLoadData(\r\n row,\r\n tableRowIdx,\r\n tableColIdx,\r\n rowIdx,\r\n colIdx,\r\n tableActionCol,\r\n dataJson\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n // useMemo(() => {\r\n // sumValue();\r\n // }, [tableSummary]);\r\n\r\n function onTableFooterChange(\r\n footerVal: any,\r\n footerRow: any,\r\n rowIdx: number,\r\n colIdx: number\r\n ) {\r\n let _advanceForm = advanceForm;\r\n\r\n _advanceForm.items[rowIdx].layout[\r\n colIdx\r\n ].template.attribute.footerTable.rows[footerRow].value = footerVal;\r\n props.setInformationMethodProp(JSON.stringify(_advanceForm));\r\n }\r\n\r\n async function genAutoNum(control: any[]) {\r\n if (autoNumFormat === undefined) {\r\n let formats: any[] = [];\r\n let digit: number = 0;\r\n control.forEach((item: any) => {\r\n item.layout.forEach((layout: any) => {\r\n if (layout.template.type === \"an\") {\r\n formats = layout.template.attribute.formats;\r\n digit = layout.template.digit;\r\n }\r\n });\r\n });\r\n setAutoNumDigit(digit);\r\n setAutoNumFormat(formats);\r\n } else {\r\n let str: string[] = [];\r\n let isCheck: boolean = false;\r\n control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach(async (layout: any, colIdx: number) => {\r\n if (\r\n autoNumFormat.find((format: any) => {\r\n if (\r\n format.format.find((fm: any) => {\r\n if (fm.type !== \"pf\") {\r\n if (fm.label === layout.template.label) {\r\n return true;\r\n }\r\n }\r\n })\r\n ) {\r\n return true;\r\n }\r\n })\r\n ) {\r\n let choiceFormat: any = null;\r\n let requestBody: any = {};\r\n autoNumFormat.map((format: any) => {\r\n format.condition.map((con: any) => {\r\n if (\r\n con.label === layout.template.label &&\r\n con.value === layout.data.value\r\n ) {\r\n choiceFormat = format;\r\n }\r\n });\r\n });\r\n if (choiceFormat !== null) {\r\n choiceFormat.format.map((format: any) => {\r\n if (format.type === \"pf\") {\r\n if (!str.includes(format.label)) {\r\n str.push(format.label);\r\n }\r\n } else if (layout.template.label === format.label) {\r\n let value: string = layout.data.value;\r\n if (value !== null) {\r\n if (value.indexOf(\"(\") > 0 && value.indexOf(\")\")) {\r\n str.push(\r\n value.substring(\r\n value.indexOf(\"(\") + 1,\r\n value.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(value);\r\n }\r\n }\r\n if (str.length === format.length) {\r\n isCheck = true;\r\n }\r\n }\r\n });\r\n } else {\r\n autoNumFormat.map((ft: any) => {\r\n if (ft.condition.length === 0) {\r\n ft.format.map((format: any) => {\r\n if (format.type === \"pf\") {\r\n if (!str.includes(format.label)) {\r\n str.push(format.label);\r\n }\r\n } else if (layout.template.label === format.label) {\r\n let value: string = layout.data.value;\r\n if (value !== null) {\r\n if (value.indexOf(\"(\") > 0 && value.indexOf(\")\")) {\r\n str.push(\r\n value.substring(\r\n value.indexOf(\"(\") + 1,\r\n value.indexOf(\")\")\r\n )\r\n );\r\n } else {\r\n str.push(value);\r\n }\r\n }\r\n }\r\n if (str.length === ft.format.length) {\r\n if (\r\n !str.includes(\"--Select--\") &&\r\n !str.includes(\"--select--\")\r\n ) {\r\n isCheck = true;\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n if (isCheck) {\r\n requestBody.Prefix = str.join(\"-\") + \"-\";\r\n requestBody.Digit = autoNumDigit;\r\n requestBody.TemplateId = props.templateID;\r\n if (!requestBody.Prefix.toLowerCase().includes(\"select\")) {\r\n const dd = await GetAutoNumber(requestBody);\r\n if (dd.Message !== undefined) {\r\n } else {\r\n control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n if (layout.data.value !== dd) {\r\n onChangeEditForm({ value: dd }, rowIdx, colIdx);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n }\r\n } else {\r\n control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n if (layout.data.value !== null) {\r\n onChangeEditForm({ value: null }, rowIdx, colIdx);\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 (rvsPosition !== undefined) {\r\n onChangeEditForm(\r\n { value: runningNumber },\r\n rvsPosition.rowIdx,\r\n rvsPosition.colIdx\r\n );\r\n }\r\n }, [runningNumber]);\r\n\r\n function sumValue() {\r\n if (advanceForm !== undefined && Object.keys(advanceForm).length !== 0) {\r\n let items = advanceForm.items;\r\n let sum = 0;\r\n let digit = 2;\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"c\") {\r\n if (layout.template.attribute.summary === \"Y\") {\r\n digit = Number(layout.template.attribute.decimal);\r\n if (Number(layout.data.value) !== 0) {\r\n sum = sum + Number(layout.data.value);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n tableSummary.map((table: any) => {\r\n if (table.total !== 0) {\r\n sum = sum + table.total;\r\n }\r\n });\r\n\r\n if (sum !== summary) {\r\n setSummary(sum);\r\n props.setSummary(sum.toFixed(digit));\r\n }\r\n }\r\n }\r\n\r\n function updateTableSum(tableName: string, tableSum: number) {\r\n if (tableSummary.length > 0) {\r\n const ss = JSON.stringify(tableSummary);\r\n let sumTable = JSON.parse(ss);\r\n\r\n if (tableSum !== 0) {\r\n sumTable.map((table: any) => {\r\n if (table.tableLabel === tableName) {\r\n table.total = tableSum;\r\n }\r\n });\r\n if (\r\n advanceForm !== undefined &&\r\n Object.keys(advanceForm).length !== 0\r\n ) {\r\n let items = advanceForm.items;\r\n let sum = 0;\r\n let digit = 2;\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"c\") {\r\n if (layout.template.attribute.summary === \"Y\") {\r\n digit = Number(layout.template.attribute.decimal);\r\n if (Number(layout.data.value) !== 0) {\r\n sum = sum + Number(layout.data.value);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n sumTable.map((table: any) => {\r\n if (!isNaN(table.total)) {\r\n sum = sum + table.total;\r\n }\r\n });\r\n\r\n if (!isNaN(sum)) {\r\n setSummary(sum);\r\n props.setSummary(sum.toFixed(digit));\r\n }\r\n }\r\n setTableSummary([...sumTable]);\r\n } else {\r\n setSummary(0);\r\n props.setSummary(`0.00`);\r\n }\r\n }\r\n }\r\n\r\n function calNumberWithFormula(temp: any, rowIdx: number, colIdx: number) {\r\n try {\r\n let items = advanceForm.items;\r\n let formu: string = temp.template.attribute.formula;\r\n\r\n let total = 0;\r\n if (formu !== \"\" && formu !== null) {\r\n items.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (formu.includes(\"sum\")) {\r\n const match =\r\n formu\r\n .substring(formu.indexOf(\"(\"), formu.indexOf(\")\"))\r\n .match(/[a-zA-Z-'`ก-๏0-9]+[ a-zA-Z-'`ก-๏0-9]/g) || [];\r\n\r\n if (match.includes(layout.template.label)) {\r\n const selCol = match[1];\r\n layout.template.attribute.column.map(\r\n (col: any, colIdx: number) => {\r\n if (selCol === col.label) {\r\n layout.data?.row?.map((row: any, rowIdx: number) => {\r\n total += Number(row[colIdx].value);\r\n });\r\n }\r\n }\r\n );\r\n }\r\n } else {\r\n const match =\r\n formu.match(/[a-zA-Z' `ก-๏0-9]+[ a-zA-Z '`ก-๏0-9]/g) || [];\r\n\r\n if (match.includes(layout.template.label)) {\r\n if (layout.data.value !== null) {\r\n formu = formu.replace(\r\n layout.template.label,\r\n layout.data.value.toString()\r\n );\r\n } else {\r\n formu = formu.replace(layout.template.label, \"0\");\r\n }\r\n }\r\n\r\n var regExp = /[a-zA-Zก-๏]/g;\r\n if (!regExp.test(formu)) {\r\n total = eval(formu);\r\n }\r\n }\r\n });\r\n });\r\n\r\n if (total !== null && total !== NaN) {\r\n if (Number(temp.data.value) !== total) {\r\n onChangeEditForm(\r\n { value: total.toFixed(Number(temp.template.attribute.decimal)) },\r\n rowIdx,\r\n colIdx\r\n );\r\n }\r\n } else {\r\n onChangeEditForm({ value: 0 }, rowIdx, colIdx);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"number=>error\", error);\r\n }\r\n }\r\n\r\n const renderControl = async (form: any) => {\r\n setFormComponent([...controlComponent]);\r\n\r\n // setFormLoading(true);\r\n // const control = form.items;\r\n // // console.log(control);\r\n // // const show: any[] = props.showControl;\r\n // let controlComponent: any = [];\r\n // const _errorResult = props.errorResult || [];\r\n // let numFormulas: any[] = [];\r\n // let dd: string = \"set-padding-core-control\";\r\n // // if (props.showControl?.length > 0) {\r\n // for (let i = 0; i < control.length; i++) {\r\n // const _layout = control[i].layout;\r\n // const _layoutLength = _layout.length;\r\n // const grid_size = 12 / _layoutLength;\r\n // let _colText = 0;\r\n // let _colAction = 0;\r\n // if (_layoutLength == 1) {\r\n // _colText = 2;\r\n // _colAction = 10;\r\n // } else if (_layoutLength == 2) {\r\n // _colText = 2;\r\n // _colAction = 4;\r\n // }\r\n // let grid_row = (\r\n // \r\n // {_layout.map((_template: any, idx: any) => {\r\n // const error_corecontroll = _errorResult.find(\r\n // (_data: any, _idx: any) => _data.row === i && _data.col === idx\r\n // );\r\n // if (!onChangeEditForm) {\r\n // return;\r\n // }\r\n // if (\r\n // _template.template.type === \"l\"\r\n // // &&\r\n // // props.showControl[i][idx] !== false\r\n // ) {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (\r\n // _template.template.type === \"c\"\r\n // // &&\r\n // // props.showControl[i][idx] !== false\r\n // ) {\r\n // if (_template.template.attribute.formula !== \"\") {\r\n // numFormulas.push({\r\n // label: _template.template.label,\r\n // formula: _template.template.attribute.formula,\r\n // });\r\n // setNumFormulas(numFormulas);\r\n // }\r\n // if (_template.template.attribute.summary === \"Y\") {\r\n // setIsShowSummary(true);\r\n // }\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"d\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"cb\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"r\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"bt\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"an\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"rvs\") {\r\n // setRvsPosition({ rowIdx: i, colIdx: idx });\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"tb\") {\r\n // if (_template.template.attribute.column) {\r\n // for (\r\n // let i = 0;\r\n // i < _template.template.attribute.column.length;\r\n // i++\r\n // ) {\r\n // const column = _template.template.attribute.column[i];\r\n // if (column.control.template.type === \"c\") {\r\n // if (column.control.template.attribute.summary === \"Y\") {\r\n // setIsShowSummary(true);\r\n // }\r\n // }\r\n // }\r\n // }\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"ed\") {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"at\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (\r\n // _template.template.type === \"t\"\r\n // // &&\r\n // // props.showControl[i][idx] !== false\r\n // ) {\r\n // dd = \"set-padding-core-control\";\r\n // // console.log(\r\n // // \"showControl[i][idx]\",\r\n // // _template.template.label,\r\n // // showControl[i][idx],\r\n // // i,\r\n // // idx,\r\n // // showControl\r\n // // );\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"ta\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"dd\") {\r\n // if (_template.template.attribute.items !== null) {\r\n // let items = _template.template.attribute.items;\r\n // const value = _template.data.value;\r\n // if (items.find((e: any) => e.item === value)) {\r\n // // console.log(\"dropdown=>true\");\r\n // } else {\r\n // // console.log(\"dropdown=>false\");\r\n // }\r\n // }\r\n // // console.log(\"dropdown=>\" + _template.template.label, _template);\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"im\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // if (_template.template.type === \"em\") {\r\n // return (\r\n // \r\n // );\r\n // }\r\n // })}\r\n // \r\n // );\r\n // if (!grid_row.props.children.every((e: any) => e === undefined)) {\r\n // controlComponent.push(grid_row);\r\n // }\r\n // }\r\n // // controlComponent.push(\r\n // //
\r\n // // \r\n // //
\r\n // // );\r\n // setFormComponent([...controlComponent]);\r\n // // }\r\n // // setFormLoading(false);\r\n };\r\n\r\n return (\r\n
\r\n {formLoading && (\r\n
\r\n \r\n
\r\n )}\r\n {formComponent}\r\n {isShowSummary && (\r\n
\r\n \r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","import { InputNumber } from \"primereact/inputnumber\";\r\nimport React, { useEffect } from \"react\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"./SummaryComponent.css\";\r\ninterface Props {\r\n headtext: string;\r\n subtext: string;\r\n summaryProps?: any;\r\n}\r\n\r\nexport const SummaryComponent = (props: Props) => {\r\n return (\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n );\r\n};\r\n","import React, { useEffect, FC, useRef, useState } from \"react\";\r\nimport Row from \"react-bootstrap/Row\";\r\nimport \"./CoreControllerComponent.css\";\r\nimport { useFieldArray, UseFormTrigger } from \"react-hook-form\";\r\nimport Controls from \"./Controls\";\r\nimport { Form, Spin } from \"antd\";\r\nimport _ from \"lodash\";\r\nimport {\r\n ILogic,\r\n ILogicRequestBody,\r\n ILogicTypeDataLineApprove,\r\n ILogicTypeHideControl,\r\n ILogicTypeReadOnly,\r\n ILogicTypeReference,\r\n ILogicTypeReladToLoadData,\r\n ILogicTypeSourceRelated,\r\n} from \"../../../IRequestModel/ILogicModel\";\r\nimport { ISelectDropdownTemplate } from \"../../../IRequestModel/ITemplateDescModel\";\r\nimport { formatToColumns } from \"../../../Helper/formatColumn\";\r\nimport { formatKeyLogicData } from \"../../../Helper/formatKeyLogicData\";\r\nimport { INumberFormula } from \"../../../IRequestModel/INumberFormula\";\r\nimport { UseFormGetValues } from \"react-hook-form\";\r\nimport { IAutoNumberAttibute } from \"../../../IRequestModel/IAutoNumberFormat\";\r\nimport { GetRvsRunning } from \"../../../Services/RequestControlService\";\r\nimport { onChanceRef, RefResult } from \"../../../Helper/RequestRefFunctions\";\r\nimport { GetApprovalsByMemoIDs } from \"../../../Services/LineApprovalsService\";\r\nimport {\r\n balanceParentheses,\r\n calculateAdvanceForm,\r\n callGenAutoNumber,\r\n genAutoNum,\r\n getRefInforValue,\r\n getValueControl,\r\n} from \"../../../Helper/RequestScreenHelper\";\r\nimport { tableSelectOption } from \"../../AntdControlComponent/TableComponent/TableComponent\";\r\nimport { IRequestOnSubmit } from \"../../../IRequestModel/CreateFormControl/IRequestOnSubmit\";\r\n\r\nimport { LogicType } from \"../../../constants/logic-type\";\r\nimport moment from \"moment\";\r\nimport {\r\n checkIsCorrect,\r\n processHideControlLogic,\r\n} from \"../../../Helper/LogicHelper\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { checkTheKeyMatch } from \"../../../Helper/arrayHelper\";\r\n\r\ninterface Props {\r\n templateDesc: any;\r\n setMemoDetail: any;\r\n memoDetail: any;\r\n control: any;\r\n register: any;\r\n handleSubmit: any;\r\n onSubmit: any;\r\n documentNo: any;\r\n errors: any;\r\n reset: any;\r\n allLogic: ILogic[];\r\n isFirstRun: any;\r\n jsonConditions: any;\r\n setJsonConditions: any;\r\n onControlChange: (controlName: any, controlValue: any) => any;\r\n numFormulas: INumberFormula[];\r\n lineApproval: any;\r\n setLineApproval: (value: any[]) => void;\r\n autoNumFormat: IAutoNumberAttibute;\r\n setValue: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n setButtonType: (data: any) => void;\r\n isControlLoading: boolean;\r\n setIsControlLoading: (valaue: boolean) => void;\r\n getLineApproveForAmount: (\r\n amount: number,\r\n jsonCondition?: string,\r\n logicType?: string,\r\n layout?: any\r\n ) => Promise;\r\n previousView: any;\r\n tableSummaries: any;\r\n setTableSummaries: (value: any[]) => void;\r\n refTempSelected: any[];\r\n listFormNames: any;\r\n setListRefDocDetails: (value: any[]) => void;\r\n setListFileAttachDetails: (value: any[]) => void;\r\n refAttribute: any;\r\n prepareInitialLogic: (\r\n logics: ILogic[],\r\n templateDesc: any,\r\n _memoDetail: any,\r\n isOnRef: boolean,\r\n requestor?: any,\r\n isRequestorChange?: boolean,\r\n _lineApproval?: any[],\r\n isRef?: boolean\r\n ) => void;\r\n onProcessLogicReference: (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => Promise<{\r\n loadTo: any[];\r\n data: any[];\r\n row: number;\r\n col: number;\r\n } | null>;\r\n previousRefTempSelected: any;\r\n tableOptions: tableSelectOption[];\r\n setTableOptions: (value: tableSelectOption[]) => void;\r\n checkInterFace: boolean;\r\n onSubmitInterface: (\r\n formData: any,\r\n data: IRequestOnSubmit,\r\n setLoadingInterface: any\r\n ) => void;\r\n returnMessage: string;\r\n listReturn: any;\r\n interfaceButton: any;\r\n actionAlert: any;\r\n edFont?: any;\r\n defaultFont?: any;\r\n dfCurr?: any;\r\n setDfCurr?: (val: any) => void;\r\n trigger: UseFormTrigger<{\r\n items: any;\r\n }>;\r\n getValues: UseFormGetValues<{\r\n items: any;\r\n }>;\r\n}\r\n\r\nexport const CoreControllerComponentTest: FC = ({\r\n setDfCurr,\r\n dfCurr,\r\n onProcessLogicReference,\r\n templateDesc,\r\n trigger,\r\n getValues,\r\n setMemoDetail,\r\n isFirstRun,\r\n previousRefTempSelected,\r\n control,\r\n register,\r\n handleSubmit,\r\n onSubmit,\r\n onSubmitInterface,\r\n documentNo,\r\n errors,\r\n onControlChange,\r\n reset,\r\n memoDetail,\r\n allLogic,\r\n jsonConditions,\r\n setJsonConditions,\r\n numFormulas,\r\n lineApproval,\r\n setLineApproval,\r\n autoNumFormat,\r\n setValue,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n isControlLoading,\r\n setIsControlLoading,\r\n getLineApproveForAmount,\r\n setListFileAttachDetails,\r\n tableSummaries,\r\n setTableSummaries,\r\n previousView,\r\n refTempSelected,\r\n listFormNames,\r\n refAttribute,\r\n setListRefDocDetails,\r\n prepareInitialLogic,\r\n tableOptions,\r\n setTableOptions,\r\n checkInterFace,\r\n returnMessage,\r\n listReturn,\r\n interfaceButton,\r\n actionAlert,\r\n setButtonType,\r\n edFont,\r\n defaultFont,\r\n}) => {\r\n const { fields, update } = useFieldArray({\r\n control, // control from template_desc\r\n name: \"items\",\r\n });\r\n const [keyFrom, setFormKey] = useState(0);\r\n useEffect(() => {\r\n setFormKey((prev) => prev + 1);\r\n }, [fields]);\r\n const controlRef = useRef([]);\r\n const [allLogicInTable, setAllLogicInTable] = useState(\r\n []\r\n );\r\n const [userData] = useUserContext();\r\n\r\n useEffect(() => {\r\n try {\r\n if (tableOptions.length > 0) {\r\n let tableLogics: any[] = [];\r\n\r\n tableOptions.forEach((logic: any) => {\r\n if (\r\n logic.logictype === LogicType.DataRelatedToLoadData ||\r\n logic.logictype === LogicType.DataAjaxLoadTable\r\n ) {\r\n const jsonValue: ILogicTypeReladToLoadData =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n tableLogics = [\r\n ...tableLogics,\r\n ...jsonValue.labelactions.map((labelaction: any) => {\r\n return {\r\n Key: labelaction.label,\r\n logictype: logic.logictype,\r\n actionlabel: jsonValue.autoloadvaluelabel.label,\r\n labelactionfield: jsonValue.autoloadvaluelabel.value,\r\n Value: getRefInforValue(\r\n labelaction.label,\r\n memoDetail,\r\n userData\r\n ),\r\n logicid: logic.logicid,\r\n };\r\n }),\r\n ];\r\n } else if (logic.logictype === LogicType.DataSourceLoad) {\r\n const jsonValue: any =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n const cons = jsonValue.conditions?.filter((con: any) => {\r\n return con.objectkey;\r\n });\r\n if (cons?.length > 0) {\r\n cons.map((con: any) => {\r\n return {\r\n logicid: logic.logicid,\r\n logictype: logic.logictype,\r\n labelactionfield: jsonValue.labelactionfield,\r\n Key: con.objectkey,\r\n Value: getValueControl(con.objectkey, memoDetail),\r\n };\r\n });\r\n } else {\r\n tableLogics.push({\r\n logicid: logic.logicid,\r\n logictype: logic.logictype,\r\n labelactionfield: jsonValue.labelactionfield,\r\n Key: \"\",\r\n actionlabel: jsonValue.label,\r\n Value: null,\r\n });\r\n }\r\n } else if (logic.logictype === LogicType.RefInfomation) {\r\n const jsonValue: any =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n const con = jsonValue.condition.split(\" | \");\r\n\r\n tableLogics.push({\r\n logicid: logic.logicid,\r\n logictype: logic.logictype,\r\n Key: con[0],\r\n actionlabel: con[1],\r\n Value: getRefInforValue(jsonValue.required, memoDetail, userData),\r\n });\r\n } else if (\r\n logic.logictype === LogicType.HideControl ||\r\n logic.logictype === LogicType.ReadOnlyControl\r\n ) {\r\n const jsonValue: ILogicTypeReadOnly | ILogicTypeHideControl =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n const con = jsonValue.conditions;\r\n const jsonLabel = JSON.parse(jsonValue.label);\r\n\r\n con.forEach((group) => {\r\n group.conditions.forEach((e) => {\r\n e.value = e.comparewith\r\n ? getRefInforValue(e.comparewith, memoDetail, userData)\r\n : e.value;\r\n });\r\n });\r\n tableLogics.push({\r\n logicid: logic.logicid,\r\n logictype: logic.logictype,\r\n Key: jsonLabel.label,\r\n jsonValue: jsonValue,\r\n });\r\n } else if (logic.logictype === LogicType.SetValueControl) {\r\n const jsonValue: any =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n jsonValue.actionControl = JSON.parse(jsonValue.actionControl);\r\n jsonValue.conditions.forEach((cons: any) => {\r\n cons.conditions.forEach((con: any) => {\r\n tableLogics.push({\r\n logicid: logic.logicid,\r\n logictype: logic.logictype,\r\n Key: con.field,\r\n operator: con.operator,\r\n actionlabel:\r\n jsonValue.actionControl.label +\r\n \"|\" +\r\n jsonValue.actionControl.isInTable,\r\n Value: con.value,\r\n valuetoset: cons.valuetoset,\r\n });\r\n });\r\n });\r\n }\r\n });\r\n\r\n setAllLogicInTable([...tableLogics]);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }, [tableOptions, memoDetail]);\r\n\r\n const returnToValure = (template: any, _data: any) => {\r\n let gogo = [];\r\n for (let j = 0; j < template.attribute.column.length; j++) {\r\n const column = template.attribute.column[j];\r\n gogo.push({ value: _data[column.label] });\r\n }\r\n return gogo;\r\n };\r\n\r\n useEffect(() => {\r\n processRef();\r\n setIsControlLoading(false);\r\n }, [refAttribute, refTempSelected]);\r\n\r\n async function processRef() {\r\n try {\r\n if (refAttribute) {\r\n if (refAttribute.refIdOnQuery) {\r\n try {\r\n const refResult: RefResult = await onChanceRef(\r\n refTempSelected,\r\n memoDetail,\r\n listFormNames,\r\n refAttribute,\r\n fields\r\n );\r\n\r\n if (refResult.errorMessage) {\r\n } else if (refResult.items.length > 0) {\r\n if (canEditDoc) {\r\n await onRefSelect(refResult, refTempSelected);\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"ref=>error\", error);\r\n }\r\n } else if (\r\n !isFirstRun.current &&\r\n !checkTheKeyMatch(\r\n previousRefTempSelected?.current,\r\n refTempSelected,\r\n \"MemoId\"\r\n )\r\n ) {\r\n try {\r\n if (\r\n memoDetail.memoid !== 0 && refAttribute?.isDefaultLineApprove === null\r\n // &&\r\n // refAttribute?.isDefaultLineApprove !== \"No\" &&\r\n // previousRefTempSelected?.current\r\n ) {\r\n return;\r\n }\r\n let refResult: RefResult = await onChanceRef(\r\n refTempSelected,\r\n memoDetail,\r\n listFormNames,\r\n refAttribute,\r\n fields\r\n );\r\n\r\n if (refResult.errorMessage) {\r\n } else if (refResult.items.length > 0) {\r\n if (canEditDoc) {\r\n // calCulateCorecontrol;\r\n\r\n await onRefSelect(refResult, refTempSelected);\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"ref=>error\", error);\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"ref=>useEffect=>error\", error);\r\n }\r\n }\r\n\r\n const isDifferent = (\r\n refRpreviousRefTempSelectedesult: any,\r\n refTempSelected: any\r\n ) => {\r\n let isDifferent: boolean = false;\r\n try {\r\n if (\r\n refRpreviousRefTempSelectedesult.current &&\r\n refRpreviousRefTempSelectedesult.current.length > 0\r\n ) {\r\n if (refTempSelected && refTempSelected.length > 0) {\r\n isDifferent =\r\n refTempSelected[0]?.MemoId !=\r\n refRpreviousRefTempSelectedesult.current[0]?.MemoId || true;\r\n }\r\n } else {\r\n isDifferent = true;\r\n }\r\n } catch (error) {\r\n console.error(\"ref=>error\", error);\r\n }\r\n return isDifferent;\r\n };\r\n\r\n const onRefSelect = async (refResult: any, refSelected: any) => {\r\n try {\r\n setIsControlLoading(true);\r\n\r\n let _listLineApprove: any[] = [...lineApproval];\r\n let listMemoIds: number[] = [];\r\n refSelected.forEach((e: any) => {\r\n listMemoIds.push(e.MemoId);\r\n });\r\n\r\n if (refAttribute?.isDefaultLineApprove === true) {\r\n\r\n const resApprovals: any[] = await GetApprovalsByMemoIDs(listMemoIds);\r\n\r\n if (resApprovals?.length > 0) {\r\n // setLineApproval([..._listLineApprove, ...resApprovals]);\r\n setLineApproval([...resApprovals]);\r\n }\r\n }\r\n\r\n const _control = await detechRevisionControl(\r\n memoDetail.template_id,\r\n refResult.items,\r\n listMemoIds[0]\r\n );\r\n\r\n const newControl = await _onControlChangeRef(_control);\r\n\r\n if (newControl.items) {\r\n setValue(\"items\", [...newControl.items]);\r\n } else {\r\n setValue(\"items\", [...newControl]);\r\n }\r\n\r\n previousRefTempSelected.current = refTempSelected;\r\n trigger();\r\n setListRefDocDetails(refResult.listRefDocsDetail);\r\n if (refResult.listFileAttachDetails)\r\n setListFileAttachDetails(refResult.listFileAttachDetails);\r\n } catch (error) {\r\n console.error(\"ref=>error\", error);\r\n }\r\n setIsControlLoading(false);\r\n };\r\n\r\n const onProcessSummary = async (\r\n _control: any,\r\n jsonCondition: any,\r\n controlTemplate?: any,\r\n controlValue?: any\r\n ) => {\r\n let _amount = 0;\r\n let isSum = false;\r\n let isControlHasSum = false;\r\n try {\r\n if (\r\n controlTemplate &&\r\n controlTemplate.type === \"c\" &&\r\n controlTemplate.attribute.summary === \"Y\"\r\n ) {\r\n isControlHasSum = true;\r\n }\r\n\r\n _control?.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any) => {\r\n try {\r\n if (layout.template.type === \"c\") {\r\n if (layout.template.attribute.summary === \"Y\") {\r\n isControlHasSum = true;\r\n isSum = true;\r\n _amount += Number(layout.data.value || 0);\r\n }\r\n } else if (layout.template.type === \"tb\") {\r\n const tableCol: any[] = layout.template.attribute.column;\r\n let tableSum: number = 0;\r\n if (controlValue?.length > 0) {\r\n const selTable =\r\n controlTemplate?.type === \"tb\"\r\n ? controlValue?.find(\r\n (e: any) => e.tableTemp.label === layout.template.label\r\n )\r\n : tableSummaries?.find(\r\n (e: any) => e.tableTemp.label === layout.template.label\r\n );\r\n\r\n tableCol.forEach((col: any, colIdx: number) => {\r\n if (col.control.template.attribute.summary === \"Y\") {\r\n if (\r\n !Number.isNaN(\r\n Number(selTable.AllCol[col.control.template.label])\r\n )\r\n ) {\r\n isSum = true;\r\n isControlHasSum = true;\r\n tableSum += Number(\r\n selTable.AllCol[col.control.template.label]\r\n );\r\n }\r\n }\r\n });\r\n } else {\r\n tableCol.forEach((col: any, colIdx: number) => {\r\n if (col.control.template.attribute.summary === \"Y\") {\r\n layout.data.row?.forEach((row: any) => {\r\n isSum = true;\r\n isControlHasSum = true;\r\n\r\n if (row[colIdx]) {\r\n tableSum += Number(row[colIdx]?.value || 0);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n _amount += tableSum;\r\n }\r\n } catch (error) {\r\n console.error(\"sum=>error\", error);\r\n }\r\n });\r\n });\r\n\r\n await getLineApproveForAmount(\r\n _amount,\r\n undefined,\r\n undefined,\r\n controlTemplate\r\n );\r\n } catch (error) {\r\n console.error(\"sum=>error\", error);\r\n }\r\n return {\r\n sumControl: _control,\r\n sumRes: {\r\n _amount: _amount,\r\n isSum: isSum,\r\n isControlHasSum: isControlHasSum,\r\n },\r\n };\r\n };\r\n\r\n const onCheckInterface = async (\r\n buttonType: any,\r\n setLoadingInterface: any\r\n ) => {\r\n memoDetail.template_desc = { items: fields };\r\n\r\n var request: IRequestOnSubmit = {\r\n buttonType: buttonType,\r\n inputComment: \"\",\r\n waitingFor: \"\",\r\n waitingForId: 0,\r\n };\r\n let dd: any = await onSubmitInterface(\r\n memoDetail.template_desc,\r\n request,\r\n setLoadingInterface\r\n );\r\n\r\n if (dd) {\r\n calculateAdvanceForm(dd);\r\n setValue(\"items\", [...dd]);\r\n }\r\n };\r\n const updateAllColValuesToRandomStrings = (data: any[]) => {\r\n try {\r\n const getRandomValue = () => Math.random().toString(36).substring(2, 5); // Generate a random 3-char string\r\n\r\n const mergedAllCol: any = {};\r\n if (!Array.isArray(data)) {\r\n throw new Error('Input data is not an array');\r\n }\r\n data?.forEach((item) => {\r\n if (item[\"AllCol\"]) {\r\n Object.keys(item[\"AllCol\"]).forEach((key: string) => {\r\n const randomValue = getRandomValue(); // Generate random value for the key\r\n mergedAllCol[key] = randomValue; // Assign random value to the key\r\n });\r\n }\r\n });\r\n\r\n return mergedAllCol; // Return the merged AllCol object\r\n } catch (error) {\r\n console.error(error);\r\n\r\n }\r\n\r\n };\r\n\r\n const updateVariablesWithRandomValues = (variables: string, randomValues: any) => {\r\n try {\r\n const regex = /([A-Za-z0-9 ]+\\s?\\([A-Za-z0-9 ]+\\))/g;\r\n\r\n return variables.replace(regex, (match) => {\r\n const trimmedKey = match.trim();\r\n\r\n if (randomValues.hasOwnProperty(trimmedKey)) {\r\n return randomValues[trimmedKey];\r\n }\r\n\r\n console.warn(`Key not found in randomValues: ${trimmedKey}`);\r\n\r\n return match;\r\n });\r\n } catch (error) {\r\n throw new Error('error');\r\n }\r\n };\r\n\r\n\r\n const calCulateCorecontrol = async (\r\n currentControl: any,\r\n controlTemplate?: any,\r\n controlValue?: any\r\n ) => {\r\n let callLogicOnCal: any[] = [];\r\n try {\r\n if (controlValue != null) {\r\n for (let i = 0; i < numFormulas.length; i++) {\r\n let formula = _.cloneDeep(numFormulas[i]);\r\n let total: number = NaN;\r\n\r\n if (formula.formula.startsWith(\"diffdate\")) {\r\n let resulstField = formula.formula.split(\"=\");\r\n let variables = resulstField[0];\r\n const selCol = variables\r\n .substring(variables.indexOf(\"(\") + 1, variables.lastIndexOf(\")\"))\r\n .split(\",\");\r\n // let match: any = resulstField[0].match(/[^+%\\-\\*\\/=)(]+/g) || [];\r\n let datepicker1: { [x: string]: moment.Moment } = {\r\n [selCol[0]]: moment(),\r\n [selCol[1]]: moment(),\r\n };\r\n\r\n resulstField.forEach((formu: any) => {\r\n currentControl.forEach((layout: any) => {\r\n layout.layout.forEach((col: any) => {\r\n if (selCol.includes(col.template.label)) {\r\n datepicker1[col.template.label] = moment(col.data.value);\r\n }\r\n });\r\n });\r\n });\r\n total = datepicker1[selCol[0]].diff(datepicker1[selCol[1]], \"days\");\r\n if (total >= 1) {\r\n total += 1;\r\n }\r\n } else if (formula.formula.startsWith(\"difftime\")) {\r\n let resulstField = formula.formula.split(\"=\");\r\n let variables = resulstField[0];\r\n const selCol = variables\r\n .substring(variables.indexOf(\"(\") + 1, variables.lastIndexOf(\")\"))\r\n .split(\",\");\r\n let datepicker: { [x: string]: moment.Moment } = {\r\n [selCol[0]]: moment(),\r\n [selCol[1]]: moment(),\r\n };\r\n let res: number = 0;\r\n let formattedTime: string = \"\";\r\n resulstField.forEach((formu: any) => {\r\n currentControl.forEach((layout: any) => {\r\n layout.layout.forEach((col: any) => {\r\n if (selCol.includes(col.template.label)) {\r\n datepicker[col.template.label] = moment(\r\n col.data.value,\r\n \"h.mm\"\r\n );\r\n res = datepicker[selCol[0]].diff(\r\n datepicker[selCol[1]],\r\n \"minutes\"\r\n );\r\n\r\n let hours = Math.trunc(res / 60);\r\n let remainingMinutes = res % 60;\r\n formattedTime =\r\n res <= -1 && res >= -9\r\n ? `-0.0${Math.abs(remainingMinutes)}`\r\n : hours === -0 && res < -10\r\n ? `-${hours}.${Math.abs(remainingMinutes)}`\r\n : res < -10\r\n ? `${hours}.${Math.abs(remainingMinutes)}`\r\n : `${hours}.${remainingMinutes}`;\r\n }\r\n });\r\n });\r\n });\r\n total = Number(formattedTime);\r\n } else {\r\n let resulstField = formula.formula.split(\"=\");\r\n let variables = resulstField[0];\r\n\r\n let match :any = variables.match(/[^+%\\-\\*\\/=]+(?:\\([^()]*\\))?/g) || [];\r\n \r\n match = match.flatMap((e: string) => e.split('sum')).map((e: string, index: number, array: string[]) => {\r\n if (!e) return \"sum\";\r\n if (index === array.length - 1) return e.replace(/^\\((.*)\\)$/, \"$1\"); // Remove outermost parentheses\r\n return e;\r\n });\r\n \r\n // match = match\r\n console.log( match , variables,\"match\");\r\n \r\n match.forEach((formu: any) => {\r\n if (match?.includes(\"sum\") && Array.isArray(controlValue)) {\r\n if (controlTemplate.type === \"tb\") {\r\n try {\r\n const selCol = formu.split(\";\");\r\n\r\n if (controlTemplate.label === selCol[0]) {\r\n const tableCol: any[] = controlTemplate.attribute.column;\r\n\r\n const selValue =\r\n controlValue[selCol[1]] !== undefined\r\n ? controlValue[selCol[1]]\r\n : controlValue?.find(\r\n (e: any) => e.tableTemp.label === selCol[0]\r\n );\r\n\r\n if (selValue?.AllCol) {\r\n tableCol?.forEach((col: any) => {\r\n if (selCol[1] === col.label) {\r\n total = 0;\r\n if (selValue?.AllCol[col.label] != undefined) {\r\n total = selValue?.AllCol[col.label];\r\n }\r\n }\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"cal=>error\", error);\r\n }\r\n } else {\r\n currentControl.forEach((layout: any) => {\r\n layout.layout.forEach((col: any) => {\r\n if (col.template.type === \"tb\") {\r\n const selCol = formu\r\n .substring(\r\n formu.indexOf(\"(\") + 1,\r\n formu.lastIndexOf(\")\")\r\n )\r\n .split(\";\");\r\n const tableCol: any[] = col.template.attribute.column;\r\n\r\n const selValue = tableSummaries.find(\r\n (e: any) => e.tableTemp.label === selCol[0]\r\n );\r\n\r\n tableCol?.forEach((col: any) => {\r\n if (selCol[1] === col.label) {\r\n if (selValue?.AllCol[col.label]) {\r\n variables = variables.replace(\r\n formu,\r\n selValue.AllCol[selCol[1]].toString()\r\n );\r\n }\r\n }\r\n });\r\n }\r\n });\r\n });\r\n }\r\n } else {\r\n currentControl?.forEach((item: any, rowIdx: number) => {\r\n item?.layout?.forEach((layout: any) => {\r\n if (match.includes(layout.template.label)) {\r\n if (layout.data.value && layout.data.value !== \"\") {\r\n variables = variables.replace(\r\n layout.template.label,\r\n layout.data.value.toString().replaceAll(\",\", \"\")\r\n );\r\n } else {\r\n variables = variables.replace(\r\n layout.template.label,\r\n \"0\"\r\n );\r\n }\r\n }\r\n });\r\n });\r\n }\r\n });\r\n var regExp = /[a-zA-Zก-๏]/g;\r\n\r\n if (!regExp.test(variables)) {\r\n total = eval(variables);\r\n }\r\n }\r\n\r\n if (!isNaN(total)) {\r\n const callLogics: any[] = await checkCallLogic(\r\n allLogic,\r\n currentControl[formula.rowIndex].layout[formula.colIndex].template\r\n );\r\n\r\n if (\r\n currentControl[formula.rowIndex].layout[formula.colIndex].template\r\n .type === \"d\"\r\n ) {\r\n const dateTemplate =\r\n currentControl[formula.rowIndex].layout[formula.colIndex]\r\n .template;\r\n\r\n switch (dateTemplate.attribute.formula.method) {\r\n case \"Add\":\r\n currentControl[formula.rowIndex].layout[\r\n formula.colIndex\r\n ].data.value = moment()\r\n .add(total, \"days\")\r\n .format(\"DD MMM yyyy\");\r\n break;\r\n case \"Subtract\":\r\n currentControl[formula.rowIndex].layout[\r\n formula.colIndex\r\n ].data.value = moment()\r\n .subtract(total, \"days\")\r\n .format(\"DD MMM yyyy\");\r\n break;\r\n }\r\n } else {\r\n currentControl[formula.rowIndex].layout[\r\n formula.colIndex\r\n ].data.value = total.toFixed(\r\n currentControl[formula.rowIndex].layout[formula.colIndex]\r\n .template.attribute.decimal\r\n );\r\n }\r\n\r\n if (callLogics.length > 0) {\r\n callLogicOnCal = callLogics;\r\n }\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"cal=>error\", error);\r\n }\r\n\r\n return currentControl;\r\n };\r\n\r\n\r\n const updateTableSummaries = (tableTemp: any, value: any) => {\r\n if (tableSummaries) {\r\n const _tableSummaries = JSON.stringify(tableSummaries);\r\n let _sumTable = JSON.parse(_tableSummaries);\r\n\r\n _sumTable.map((e: any) => {\r\n if (e.tableTemp.label === tableTemp.label) {\r\n e.AllCol = value;\r\n }\r\n });\r\n\r\n if (!_.isEqual(_sumTable, tableSummaries)) {\r\n _onControlChange(tableTemp, _sumTable, true);\r\n setTableSummaries([..._sumTable]);\r\n }\r\n }\r\n };\r\n\r\n //check if control has logic\r\n const checkCallLogic = (logics: any, controlTemplate: any) => {\r\n let callLogic: any[] = [];\r\n\r\n logics.forEach((logic: ILogic) => {\r\n if (logic.logictype === LogicType.DataSourceRelated) {\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n if (controlTemplate.type === \"tb\") {\r\n for (let j = 0; j < controlTemplate.attribute.column.length; j++) {\r\n const col = controlTemplate.attribute.column[j];\r\n if (jsonValue.label === col.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n } else {\r\n if (jsonValue.label === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.DataAjaxLoadTable) {\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n const selectAction = jsonValue.labelactions.find(\r\n (e) => e.label === controlTemplate.label\r\n );\r\n if (selectAction) {\r\n callLogic.push(logic);\r\n }\r\n } else if (logic.logictype === LogicType.DataRelatedToLoadData) {\r\n const jsonValue: ILogicTypeReladToLoadData =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n if (controlTemplate.type === \"tb\") {\r\n for (let i = 0; i < jsonValue.labelactions.length; i++) {\r\n const labelAction = jsonValue.labelactions[i];\r\n for (let j = 0; j < controlTemplate.attribute.column.length; j++) {\r\n const col = controlTemplate.attribute.column[j];\r\n if (labelAction.label === col.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n }\r\n } else {\r\n for (let i = 0; i < jsonValue.labelactions.length; i++) {\r\n const labelAction = jsonValue.labelactions[i];\r\n\r\n if (labelAction.label === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.Reference) {\r\n const jsonValue: ILogicTypeReference =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n for (let i = 0; i < jsonValue.Filter.length; i++) {\r\n const filter = jsonValue.Filter[i];\r\n if (filter.TBColumn === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.DataLineApprove) {\r\n const jsonValue: ILogicTypeDataLineApprove =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n if (jsonValue.label === controlTemplate.label) {\r\n callLogic.push(logic);\r\n }\r\n } else if (\r\n logic.logictype === LogicType.SetValueControl ||\r\n logic.logictype === LogicType.HideControl ||\r\n logic.logictype === LogicType.ReadOnlyControl\r\n ) {\r\n const jsonValue: any = JSON.parse(logic.jsonvalue);\r\n let allLabel: any[] = [];\r\n const tempColumns: string[] =\r\n controlTemplate?.attribute?.column?.map(\r\n (e: { label: any }) => e.label\r\n ) ?? [];\r\n\r\n jsonValue.conditions.map((con: any) => {\r\n try {\r\n if (typeof con.field === \"string\") {\r\n con.field = JSON.parse(con.field);\r\n }\r\n\r\n con.conditions.forEach((condition: any) => {\r\n allLabel.push(condition.field);\r\n });\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n });\r\n\r\n if (\r\n allLabel.includes(controlTemplate.label) ||\r\n allLabel.filter((e) => tempColumns.includes(e)).length > 0\r\n ) {\r\n callLogic.push(logic);\r\n }\r\n }\r\n });\r\n\r\n return callLogic;\r\n };\r\n const _onControlChangeRef = async (refControl: any) => {\r\n let _jsonConditions = jsonConditions;\r\n let template: any = null;\r\n if (!isFirstRun?.current) {\r\n if (previousView?.current === \"2\") {\r\n const logics = allLogic;\r\n\r\n let oldRefControl = refControl;\r\n\r\n oldRefControl = await prepareInitialLogic(\r\n logics,\r\n {\r\n items: oldRefControl,\r\n },\r\n memoDetail,\r\n memoDetail.status,\r\n memoDetail.requestor,\r\n undefined,\r\n undefined,\r\n true\r\n );\r\n\r\n for (let i = 0; i < oldRefControl.items.length; i++) {\r\n const item = oldRefControl.items[i];\r\n for (let j = 0; j < item.layout.length; j++) {\r\n const layout = item.layout[j];\r\n if (layout.template.type !== \"tb\") {\r\n const callLogic = checkCallLogic(\r\n logics.filter((e) => e.logictype === LogicType.DataLineApprove),\r\n layout.template\r\n );\r\n\r\n if (callLogic.length > 0) {\r\n template = layout.template;\r\n }\r\n let table_dd_to_dd_Result: any[] = [];\r\n\r\n for (let i = 0; i < callLogic.length; i++) {\r\n const _response = await onProcessLogic(\r\n callLogic[i],\r\n layout.template,\r\n layout.data.value,\r\n refControl,\r\n false\r\n );\r\n\r\n if (_response?.type == \"lineapprove\") {\r\n _jsonConditions = _response?.value || \"\";\r\n } else {\r\n table_dd_to_dd_Result.push(callLogic[i]);\r\n }\r\n }\r\n const dd = Array.from(\r\n new Set([...tableOptions, ...table_dd_to_dd_Result])\r\n );\r\n\r\n setTableOptions([...dd]);\r\n }\r\n }\r\n }\r\n await calculateAdvanceForm(oldRefControl.items);\r\n\r\n if (autoNumFormat.formats.length > 0 && canEditDoc) {\r\n oldRefControl.items = await genAutoNum(\r\n oldRefControl.items,\r\n autoNumFormat,\r\n memoDetail.template_id,\r\n memoDetail.status\r\n );\r\n }\r\n\r\n const { sumControl } = await onProcessSummary(\r\n oldRefControl.items,\r\n _jsonConditions,\r\n template,\r\n null\r\n );\r\n refControl = sumControl;\r\n if (_jsonConditions) {\r\n if (_jsonConditions.type && _jsonConditions.value) {\r\n oldRefControl = _jsonConditions.value;\r\n }\r\n }\r\n return oldRefControl;\r\n }\r\n return refControl;\r\n }\r\n return refControl;\r\n };\r\n\r\n //trigger when control value change\r\n const _onControlChange = async (\r\n controlTemplate: ISelectDropdownTemplate | any, //controled change template\r\n controlValue: any, //value\r\n isInTable: boolean = false, // if control in table\r\n isRef?: boolean\r\n ) => {\r\n try {\r\n let _amount = 0;\r\n let _jsonConditions: string = jsonConditions; //condition for datalineapprove logic\r\n\r\n setIsControlLoading(true);\r\n\r\n /**\r\n * Condition check controlValue must not null or undefined.\r\n * But allow controlValue is zero (0) for input type number and input zero value.\r\n * And not allow trigger when change tap to Information screen\r\n */\r\n if (controlValue != null && !isFirstRun?.current) {\r\n if (previousView?.current === \"2\") {\r\n const logics = allLogic; //all template logic\r\n\r\n //check if triggered control has logic or not\r\n const callLogic = checkCallLogic(logics, controlTemplate);\r\n\r\n //unrelate constant\r\n const _controlString = JSON.stringify(fields);\r\n const _control = JSON.parse(_controlString);\r\n\r\n const newControlString = JSON.stringify(_control);\r\n let newControl = JSON.parse(newControlString);\r\n\r\n let table_dd_to_dd_Result: any[] = [];\r\n //check if can call logic and this control not type = tb\r\n let resetForm = false;\r\n //calculate all control value to amount in memodetail\r\n newControl = await calCulateCorecontrol(\r\n _control,\r\n controlTemplate,\r\n controlValue\r\n );\r\n\r\n if (dfCurr && dfCurr?.Value2 === controlTemplate.label) {\r\n if (setDfCurr)\r\n setDfCurr((prevState: any) => ({\r\n ...prevState,\r\n Value1: controlValue,\r\n }));\r\n }\r\n\r\n const { sumControl, sumRes } = await onProcessSummary(\r\n newControl,\r\n _jsonConditions,\r\n controlTemplate,\r\n controlValue\r\n );\r\n\r\n newControl = sumControl;\r\n\r\n if (\r\n (controlTemplate.type !== \"tb\" || isInTable) &&\r\n callLogic.length > 0\r\n ) {\r\n callLogic.sort((a, b) => {\r\n if (\r\n a.logictype === \"datalineapprove\" &&\r\n b.logictype !== \"datalineapprove\"\r\n ) {\r\n return 1;\r\n } else if (\r\n a.logictype !== \"datalineapprove\" &&\r\n b.logictype === \"datalineapprove\"\r\n ) {\r\n return -1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n if (isInTable) {\r\n callLogic.sort((a, b) => {\r\n if (\r\n a.logictype === \"datasourcerelated\" &&\r\n b.logictype !== \"datasourcerelated\"\r\n ) {\r\n return -1;\r\n } else if (\r\n a.logictype !== \"datasourcerelated\" &&\r\n b.logictype === \"datasourcerelated\"\r\n ) {\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n if (isInTable) {\r\n callLogic.sort((a, b) => {\r\n if (\r\n a.logictype === \"datasourcerelated\" &&\r\n b.logictype !== \"datasourcerelated\"\r\n ) {\r\n return -1;\r\n } else if (\r\n a.logictype !== \"datasourcerelated\" &&\r\n b.logictype === \"datasourcerelated\"\r\n ) {\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n }\r\n\r\n for (let i = 0; i < callLogic.length; i++) {\r\n const { type, value, controls } = await onProcessLogic(\r\n callLogic[i],\r\n controlTemplate,\r\n controlValue,\r\n newControl,\r\n isInTable\r\n );\r\n\r\n if (type === \"table_dd_to_dd\") {\r\n //setNewOptionToControl\r\n table_dd_to_dd_Result.push(callLogic[i]);\r\n } else if (type === \"control\") {\r\n newControl = value;\r\n }\r\n //return value to save function in TableComponent\r\n if ((type === \"table\" || type === \"control\") && isInTable) {\r\n setIsControlLoading(false);\r\n if (type === \"table\" && isInTable) {\r\n table_dd_to_dd_Result.push(callLogic[i]);\r\n } else {\r\n setValue(\"items\", [...value]);\r\n trigger();\r\n }\r\n\r\n return { type, value };\r\n } else if (type === \"lineapprove\" && !isInTable) {\r\n //set jsonconditions\r\n\r\n _jsonConditions = value || \"\";\r\n }\r\n }\r\n }\r\n\r\n if (\r\n autoNumFormat.formats.length > 0 &&\r\n canEditDoc &&\r\n callGenAutoNumber(autoNumFormat, controlTemplate)\r\n ) {\r\n newControl = await genAutoNum(\r\n newControl,\r\n autoNumFormat,\r\n memoDetail.template_id,\r\n memoDetail.status\r\n );\r\n }\r\n\r\n const dd = Array.from(\r\n new Set([...tableOptions, ...table_dd_to_dd_Result])\r\n );\r\n\r\n setTableOptions([...dd]);\r\n\r\n if (newControl && !isRef) {\r\n if (!_.isEqual(getValues(), { items: newControl })) {\r\n setValue(\"items\", [...newControl]);\r\n trigger();\r\n }\r\n }\r\n }\r\n }\r\n setIsControlLoading(false);\r\n } catch (error) {\r\n setIsControlLoading(false);\r\n console.error(\"core=>error\", error);\r\n }\r\n };\r\n\r\n const detechRevisionControl = async (\r\n _templateId: any,\r\n _control: any,\r\n memoId?: number\r\n ) => {\r\n try {\r\n if (![\"New Request\"].includes(memoDetail.status)) return _control;\r\n let requestBody: any = {};\r\n let items: any[] = [];\r\n let rowIndex = -1;\r\n let colIndex = -1;\r\n\r\n _control.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"rvs\") {\r\n requestBody.TemplateId = _templateId;\r\n requestBody.RefId = memoId;\r\n requestBody.Digit = layout.template.attribute.digit;\r\n requestBody.Labelrevision = layout.template.label;\r\n requestBody.Alter = layout.template.alter;\r\n requestBody.MemoId = null;\r\n rowIndex = rowIdx;\r\n colIndex = colIdx;\r\n }\r\n });\r\n });\r\n\r\n if (rowIndex !== -1 && colIndex !== -1) {\r\n if (\r\n _control[rowIndex].layout[colIndex].template.attribute.conditions\r\n .length > 0\r\n ) {\r\n const rvsCon = _control[rowIndex].layout[colIndex];\r\n rvsCon.template.attribute.conditions.map((con: any) => {\r\n _control.map((item: any, rowIdx: number) => {\r\n item.layout.map((layout: any, colIdx: number) => {\r\n if (con.label === layout.template.label) {\r\n items.push({\r\n Label: con.label,\r\n value: layout.data.value,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n }\r\n\r\n requestBody.Itemlabel = items;\r\n\r\n if (requestBody.Itemlabel.length > 0) {\r\n let isCheck = true;\r\n\r\n requestBody.Itemlabel.forEach((item: any) => {\r\n if (!item.value || item.value === \"\") {\r\n isCheck = false;\r\n return;\r\n }\r\n });\r\n\r\n if (isCheck) {\r\n const revision = await GetRvsRunning(requestBody);\r\n _control[rowIndex].layout[colIndex].data.value = revision.item;\r\n }\r\n }\r\n }\r\n return _control;\r\n } catch (error) {\r\n console.error(\"rvs=>error\", error);\r\n }\r\n };\r\n\r\n //process datasourcerelate function\r\n const onProcessLogicDataSourceRelated = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: boolean,\r\n control: any\r\n ) => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n };\r\n\r\n const controlDescription =\r\n controlTemplate?.description ||\r\n controlTemplate?.attribute?.description ||\r\n \"\";\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n let jsonRelated: any = [];\r\n\r\n if (jsonValue.label === controlTemplate.label && !isInTable) {\r\n //body to fetch data\r\n const conditions = jsonValue.conditions;\r\n\r\n if (conditions.length > 0) {\r\n conditions.forEach((e) => {\r\n if (!e.value) {\r\n for (let k = 0; k < control.length; k++) {\r\n const item = control[k];\r\n for (let l = 0; l < item.layout.length; l++) {\r\n const _layout = item.layout[l];\r\n const _label = _layout.label || _layout.template.label;\r\n const _des =\r\n _layout?.template?.description ||\r\n _layout?.template?.attribute?.description ||\r\n \"\";\r\n if (e.label === _label && controlDescription == _des) {\r\n jsonRelated.push({\r\n Key: _label,\r\n Value: _layout.data.value,\r\n logicid: logic.logicid,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n responseDataSourceLoadRelated.data = await onDatareladToLoadData(\r\n jsonRelated\r\n );\r\n } else {\r\n const dataJson = {\r\n Key: controlTemplate.label,\r\n Value: controlValue,\r\n logicid: logic.logicid,\r\n };\r\n\r\n responseDataSourceLoadRelated.data = await onDataSourceLoadRelated(\r\n dataJson\r\n );\r\n }\r\n if (responseDataSourceLoadRelated.data?.length > 0) {\r\n //find control position to put data in\r\n for (let i = 0; i < jsonValue.relatedvalue?.length; i++) {\r\n const relateValue = jsonValue?.relatedvalue[i];\r\n for (let j = 0; j < control?.length; j++) {\r\n const item = control[j];\r\n for (let k = 0; k < item.layout?.length; k++) {\r\n const layout = item?.layout[k];\r\n if (\r\n JSON.stringify(layout.template) != \"{}\" &&\r\n ![\"l\", \"em\"].includes(layout.template.type) &&\r\n layout.template.label === relateValue.label &&\r\n controlDescription ===\r\n (layout.template?.description ||\r\n layout.template?.attribute?.description ||\r\n \"\")\r\n // layout.template.label === relateValue.label\r\n ) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: j,\r\n col: k,\r\n relateValue,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n return { responseDataSourceLoadRelated, isInTable };\r\n }\r\n } else if (isInTable) {\r\n if (controlValue.dataIndex === jsonValue.label) {\r\n const _dataJson: any[] = [];\r\n const conditions = jsonValue.conditions;\r\n const _control = controlTemplate.attribute.column;\r\n\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < _control.length; k++) {\r\n const item = _control[k];\r\n if (e.label === item.label) {\r\n _dataJson.push({\r\n Key: item.label,\r\n Value: controlValue[e.label],\r\n logicid: logic.logicid,\r\n });\r\n }\r\n }\r\n });\r\n\r\n responseDataSourceLoadRelated.data = await onDatareladToLoadData(\r\n _dataJson\r\n );\r\n\r\n if (responseDataSourceLoadRelated.data.length > 0) {\r\n for (let i = 0; i < jsonValue.relatedvalue.length; i++) {\r\n const relateValue = jsonValue.relatedvalue[i];\r\n for (let j = 0; j < controlTemplate.attribute.column.length; j++) {\r\n const item = controlTemplate.attribute.column[j];\r\n for (\r\n let k = 0;\r\n k < responseDataSourceLoadRelated.data.length;\r\n k++\r\n ) {\r\n const relate = responseDataSourceLoadRelated.data[k];\r\n for (const [keyRelate, valueRelate] of Object.entries(relate)) {\r\n if (\r\n keyRelate === relateValue.value &&\r\n relateValue.label === item.label\r\n ) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: controlValue.key,\r\n col: j,\r\n valueRelate,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return { responseDataSourceLoadRelated, isInTable };\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const onProcessLogicAjax = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n isInTable: boolean\r\n ) => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n actionFrom: { row: -1, col: -1 },\r\n };\r\n const jsonValue: ILogicTypeSourceRelated =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n //body to fetch data\r\n const dataJson = {\r\n Key: controlTemplate.label,\r\n Value: controlValue,\r\n logicid: logic.logicid,\r\n };\r\n responseDataSourceLoadRelated.data = await onDataSourceLoadRelated(\r\n dataJson\r\n );\r\n //check if has response data\r\n if (responseDataSourceLoadRelated.data.length > 0) {\r\n //find control position to put data in\r\n const relateValue = jsonValue.autoloadvaluelabel.label;\r\n for (let i = 0; i < jsonValue.labelactions.length; i++) {\r\n if (jsonValue.labelactions[i].label === controlTemplate.label) {\r\n for (let j = 0; j < templateDesc?.items?.length; j++) {\r\n const item = templateDesc?.items[j];\r\n for (let k = 0; k < item.layout?.length; k++) {\r\n const layout = item?.layout[k];\r\n if (layout.template.type === \"tb\") {\r\n isInTable = true;\r\n layout.template.attribute.column.forEach(\r\n (col: any, colIdx: number) => {\r\n if (col.label === relateValue) {\r\n responseDataSourceLoadRelated.relateGroup.push({\r\n row: j,\r\n col: k,\r\n relateValue,\r\n tableCol: colIdx,\r\n });\r\n }\r\n }\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return { responseDataSourceLoadRelated, isInTable };\r\n }\r\n\r\n return { responseDataSourceLoadRelated, isInTable };\r\n };\r\n\r\n //process datalineapprove logic\r\n const onProcessLogicLineApprove = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any\r\n ) => {\r\n const jsonValue: ILogicTypeDataLineApprove =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n const conditionsValue = onFilterCondotionsValue(\r\n jsonValue,\r\n control,\r\n controlTemplate,\r\n controlValue\r\n );\r\n\r\n if (conditionsValue.length > 0) {\r\n return JSON.stringify({\r\n logicid: logic.logicid,\r\n conditions: conditionsValue,\r\n });\r\n }\r\n return false;\r\n };\r\n const onProcessLogicDataRelatedToLoadData = async (\r\n logic: ILogic,\r\n controlTemplate: any,\r\n controlValue: any,\r\n control: any,\r\n isInTable: boolean\r\n ) => {\r\n const jsonValue: ILogicTypeReladToLoadData =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n const { dataJson, loadTo, actionFrom } = onFindDataJson(\r\n controlTemplate,\r\n controlValue,\r\n control,\r\n jsonValue,\r\n logic.logicid,\r\n isInTable\r\n );\r\n console.log(dataJson);\r\n\r\n if (dataJson) {\r\n // check if has response data\r\n if (dataJson.length > 0) {\r\n if (isFirstRun.current || checkIfLogicsHaveValue(dataJson)) {\r\n const rawData: any = await onDatareladToLoadData(dataJson);\r\n\r\n if (rawData && loadTo) {\r\n let data = formatKeyLogicData({ data: rawData });\r\n\r\n return { data, loadTo, actionFrom };\r\n }\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const checkIfLogicsHaveValue = (dataJson: any[]) => {\r\n let _bool = false;\r\n dataJson.forEach((data) => {\r\n Object.keys(data).map((key) => {\r\n if (key.toLowerCase() === \"value\") {\r\n _bool = true;\r\n }\r\n });\r\n });\r\n\r\n return _bool;\r\n };\r\n\r\n const checkIfGetData = (data: any[]) => {\r\n let _bool = true;\r\n\r\n for (let i = 0; i < data.length; i++) {\r\n if (data[i].item === \"\") {\r\n _bool = false;\r\n return _bool;\r\n }\r\n }\r\n if (data.length === 1 && data[0].item === \"-- Please Select --\") {\r\n _bool = false;\r\n return _bool;\r\n }\r\n return _bool;\r\n };\r\n\r\n const onProcessLogic = async (\r\n logic: ILogic,\r\n controlTemplate: ISelectDropdownTemplate | any,\r\n controlValue: any,\r\n _control: any,\r\n isInTable: boolean,\r\n sumRes?: any\r\n ): Promise<{\r\n type:\r\n | \"control\"\r\n | \"lineapprove\"\r\n | \"table\"\r\n | \"table_dd_to_dd\"\r\n | \"controlValue\"\r\n | null;\r\n value: any;\r\n controls?: any;\r\n }> => {\r\n let responseDataSourceLoadRelated: any = {\r\n relateGroup: [],\r\n data: [],\r\n };\r\n const controlString = _control\r\n ? JSON.stringify(_control)\r\n : JSON.stringify(templateDesc.items);\r\n\r\n let newControl;\r\n try {\r\n if (controlString) {\r\n newControl = JSON.parse(controlString);\r\n }\r\n if (logic) {\r\n //find logic that control have\r\n\r\n if (logic.logictype === LogicType.DataSourceRelated) {\r\n const responseData = await onProcessLogicDataSourceRelated(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n isInTable,\r\n newControl\r\n );\r\n\r\n if (responseData) {\r\n //check if this control in table\r\n if (controlTemplate.type === \"tb\" && isInTable) {\r\n //format value to data in template type = table\r\n const ee = returnToValure(controlTemplate, controlValue);\r\n\r\n let newColumn: any = {};\r\n\r\n for (\r\n let i = 0;\r\n i <\r\n responseData.responseDataSourceLoadRelated.relateGroup.length;\r\n i++\r\n ) {\r\n //put data to specific row\r\n const relateGroup =\r\n responseData.responseDataSourceLoadRelated.relateGroup[i];\r\n newControl[controlValue.rowTemplate].layout[\r\n controlValue.colTemplate\r\n ].data.row[relateGroup.row] = ee;\r\n\r\n newControl[controlValue.rowTemplate].layout[\r\n controlValue.colTemplate\r\n ].data.row[relateGroup.row][relateGroup.col].value =\r\n relateGroup.valueRelate;\r\n\r\n //format value to row value\r\n newColumn = formatToColumns(\r\n controlTemplate.attribute.column,\r\n newControl[controlValue.rowTemplate].layout[\r\n controlValue.colTemplate\r\n ].data.row[relateGroup.row]\r\n );\r\n }\r\n\r\n const responseDataTable = {\r\n ...newColumn,\r\n key: controlValue.key,\r\n };\r\n\r\n return { type: \"table\", value: responseDataTable };\r\n } else {\r\n for (\r\n let i = 0;\r\n i <\r\n responseData.responseDataSourceLoadRelated.relateGroup.length;\r\n i++\r\n ) {\r\n const relateGroup =\r\n responseData.responseDataSourceLoadRelated.relateGroup[i];\r\n\r\n for (\r\n let j = 0;\r\n j < responseData.responseDataSourceLoadRelated.data.length;\r\n j++\r\n ) {\r\n const relateData =\r\n responseData.responseDataSourceLoadRelated.data[j];\r\n\r\n if (\r\n newControl[relateGroup.row].layout[relateGroup.col].template\r\n .type === \"cb\"\r\n ) {\r\n let items =\r\n newControl[relateGroup.row].layout[relateGroup.col]\r\n .template.attribute.items;\r\n const resVals: string[] =\r\n relateData[relateGroup.relateValue.value].split(\",\");\r\n\r\n items = items.map((e: any) => {\r\n if (resVals.includes(e.item)) {\r\n return \"Y\";\r\n }\r\n return \"N\";\r\n });\r\n newControl[relateGroup.row].layout[\r\n relateGroup.col\r\n ].data.item = items;\r\n newControl[relateGroup.row].layout[\r\n relateGroup.col\r\n ].data.value = relateData[relateGroup.relateValue.value];\r\n } else {\r\n newControl[relateGroup.row].layout[\r\n relateGroup.col\r\n ].data.value = relateData[relateGroup.relateValue.value];\r\n }\r\n if (\r\n callGenAutoNumber(\r\n autoNumFormat,\r\n newControl[relateGroup.row].layout[relateGroup.col]\r\n .template\r\n )\r\n ) {\r\n newControl = await genAutoNum(\r\n newControl,\r\n autoNumFormat,\r\n memoDetail.template_id,\r\n memoDetail.status\r\n );\r\n }\r\n }\r\n }\r\n return { type: \"control\", value: newControl };\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.Reference) {\r\n const responseData = await onProcessLogicReference(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n newControl\r\n );\r\n\r\n if (responseData) {\r\n //map data from api response\r\n const permittedValues = responseData.data.map(function (\r\n value: any\r\n ) {\r\n let res: any = {};\r\n for (let i = 0; i < responseData.loadTo.length; i++) {\r\n const field = responseData.loadTo[i];\r\n res[field[\"TBColumn\"]] = value[field[\"MSTColumn\"]];\r\n }\r\n return res;\r\n });\r\n let resRow: any[] = [];\r\n\r\n if (permittedValues) {\r\n for (let i = 0; i < permittedValues.length; i++) {\r\n const perValue = permittedValues[i];\r\n\r\n //create empty table data as response api length\r\n let colData = new Array(\r\n newControl[responseData.row].layout[\r\n responseData.col\r\n ].template.attribute.column.length\r\n ).fill({ value: \"\" });\r\n\r\n //loop for put data to table\r\n for (const [key, value] of Object.entries(perValue)) {\r\n //loop throught table template column length\r\n for (\r\n let j = 0;\r\n j <\r\n newControl[responseData.row].layout[responseData.col]\r\n .template.attribute.column.length;\r\n j++\r\n ) {\r\n const _tableCol =\r\n newControl[responseData.row].layout[responseData.col]\r\n .template.attribute.column[j];\r\n\r\n // if column label = key of data response, put data in\r\n if (_tableCol.label === key) {\r\n colData[j] = { value };\r\n }\r\n }\r\n }\r\n\r\n resRow.push(colData);\r\n }\r\n\r\n newControl[responseData.row].layout[responseData.col].data.row =\r\n resRow;\r\n return { type: \"control\", value: newControl };\r\n }\r\n }\r\n } else if (logic.logictype === LogicType.DataLineApprove) {\r\n const responseData = await onProcessLogicLineApprove(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n newControl\r\n );\r\n\r\n if (responseData) {\r\n await getLineApproveForAmount(\r\n sumRes?._amount,\r\n responseData,\r\n LogicType.DataLineApprove,\r\n controlTemplate\r\n );\r\n setIsControlLoading(false);\r\n\r\n // return { type: \"lineapprove\", value: responseData };\r\n }\r\n } else if (logic.logictype === LogicType.DataRelatedToLoadData) {\r\n const jsonValue: ILogicTypeReladToLoadData =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n const isInTable = jsonValue.labelactions\r\n .map((e) => e.labelintablestatus)\r\n .includes(\"true\");\r\n if (isInTable) {\r\n return {\r\n type: \"table_dd_to_dd\",\r\n value: null,\r\n };\r\n } else {\r\n for (let k = 0; k < newControl.length; k++) {\r\n for (let l = 0; l < newControl[k].layout.length; l++) {\r\n const _layout = newControl[k].layout[l];\r\n const _label = _layout.label || _layout.template.label;\r\n if (jsonValue.autoloadvaluelabel.label === _label) {\r\n newControl[k].layout[l].template.attribute.items = [];\r\n newControl[k].layout[l].data.value = \"-- Please Select --\";\r\n }\r\n }\r\n }\r\n return { type: \"control\", value: newControl };\r\n }\r\n } else if (logic.logictype === LogicType.DataAjaxLoadTable) {\r\n const responseData = await onProcessLogicAjax(\r\n logic,\r\n controlTemplate,\r\n controlValue,\r\n isInTable\r\n );\r\n\r\n if (responseData.isInTable) {\r\n return {\r\n type: \"table_dd_to_dd\",\r\n value: null,\r\n };\r\n } else if (responseData) {\r\n for (\r\n let i = 0;\r\n i < responseData.responseDataSourceLoadRelated.relateGroup.length;\r\n i++\r\n ) {\r\n const processData = formatKeyLogicData(\r\n responseData.responseDataSourceLoadRelated\r\n );\r\n\r\n newControl[processData.relateGroup[i].row].layout[\r\n processData.relateGroup[i].col\r\n ].template.attribute.column[\r\n processData.relateGroup[i].tableCol\r\n ].control.template.attribute.items = processData.data;\r\n }\r\n reset({\r\n items: _control,\r\n });\r\n }\r\n } else if (logic.logictype === LogicType.HideControl) {\r\n const jsonValue: ILogicTypeHideControl = JSON.parse(logic.jsonvalue);\r\n\r\n processHideControlLogic(\r\n jsonValue,\r\n newControl,\r\n \"isShow\",\r\n memoDetail,\r\n userData,\r\n controlValue,\r\n controlTemplate\r\n );\r\n return {\r\n type: \"control\",\r\n value: newControl,\r\n };\r\n } else if (logic.logictype === LogicType.ReadOnlyControl) {\r\n const jsonValue: ILogicTypeReadOnly = JSON.parse(logic.jsonvalue);\r\n processHideControlLogic(\r\n jsonValue,\r\n newControl,\r\n \"isReadOnly\",\r\n memoDetail,\r\n userData,\r\n controlValue,\r\n controlTemplate\r\n );\r\n\r\n return {\r\n type: \"control\",\r\n value: newControl,\r\n };\r\n } else if (logic.logictype === LogicType.SetValueControl) {\r\n const jsonValue: any =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue.replace(`},\\r\\n],`, \"}],\"));\r\n\r\n let valueToSet: any = null;\r\n jsonValue.conditions.forEach(\r\n (consGroup: { conditions: string | any[]; valuetoset: any }) => {\r\n let isConditionsSatisfied = true;\r\n\r\n for (let i = 0; i < consGroup.conditions.length; i++) {\r\n const con = consGroup.conditions[i];\r\n let conditionSatisfied = false;\r\n\r\n for (let k = 0; k < _control.length; k++) {\r\n for (let l = 0; l < _control[k].layout.length; l++) {\r\n const _layout = _control[k].layout[l];\r\n const _label = _layout.label || _layout.template.label;\r\n\r\n if (con.field === _label) {\r\n const dataValue = _layout.data.value;\r\n conditionSatisfied = checkIsCorrect(\r\n dataValue,\r\n con.operator,\r\n con.value\r\n );\r\n if (i === 0) {\r\n isConditionsSatisfied = conditionSatisfied;\r\n } else {\r\n isConditionsSatisfied =\r\n isConditionsSatisfied && conditionSatisfied;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (isConditionsSatisfied) {\r\n valueToSet = consGroup.valuetoset;\r\n }\r\n }\r\n );\r\n\r\n jsonValue.actionControl = JSON.parse(jsonValue.actionControl);\r\n if (\r\n controlTemplate.type === \"tb\" &&\r\n jsonValue.actionControl.isInTable\r\n ) {\r\n if (controlValue[jsonValue.actionControl.label] !== undefined) {\r\n controlValue[jsonValue.actionControl.label] = valueToSet;\r\n return { type: \"table\", value: controlValue };\r\n }\r\n }\r\n let hasDatalineapprove: any = null;\r\n let actionTemplate: any = null;\r\n\r\n newControl.forEach((control: { layout: any[] }) => {\r\n control.layout.forEach((layout) => {\r\n if (layout.template.label === jsonValue.actionControl.label) {\r\n layout.data.value = valueToSet;\r\n const newLogic = checkCallLogic(allLogic, layout.template);\r\n hasDatalineapprove = newLogic.find(\r\n (e) => e.logictype === \"datalineapprove\"\r\n );\r\n actionTemplate = layout;\r\n } else {\r\n try {\r\n if (\r\n layout.template.label === jsonValue.actionControl.isInTable\r\n ) {\r\n const colIdx = layout.template.attribute.column\r\n ?.map((e: any) => e.label)\r\n .indexOf(jsonValue.actionControl.label);\r\n\r\n layout.data.row?.map((row: any) => {\r\n row[colIdx].value = valueToSet;\r\n });\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n });\r\n });\r\n\r\n if (callGenAutoNumber(autoNumFormat, actionTemplate.template)) {\r\n newControl = await genAutoNum(\r\n newControl,\r\n autoNumFormat,\r\n memoDetail.template_id,\r\n memoDetail.status\r\n );\r\n }\r\n calculateAdvanceForm(newControl);\r\n if (hasDatalineapprove) {\r\n const res = await onProcessLogicLineApprove(\r\n hasDatalineapprove,\r\n actionTemplate.template,\r\n actionTemplate.data.value,\r\n newControl\r\n );\r\n if (res) {\r\n await getLineApproveForAmount(\r\n sumRes?._amount,\r\n res,\r\n LogicType.DataLineApprove,\r\n controlTemplate\r\n );\r\n setIsControlLoading(false);\r\n\r\n // return { type: \"lineapprove\", value: responseData };\r\n }\r\n }\r\n return { type: \"control\", value: newControl };\r\n }\r\n setIsControlLoading(false);\r\n }\r\n } catch (error) {\r\n console.error(\r\n \"onProcessLogic=>error\",\r\n error,\r\n \"Logic=> \" + logic,\r\n \"value=> \",\r\n controlValue\r\n );\r\n }\r\n\r\n return { type: null, value: null };\r\n };\r\n\r\n const onDataSourceLoadRelated = async (dataJson: any) => {\r\n const dataSource = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n // setFormLoading(false);\r\n\r\n // onChangeValueForm(data, relateGroup);\r\n });\r\n return dataSource;\r\n };\r\n\r\n const onFindDataJson = (\r\n controlTemplate: any,\r\n controlValue: string,\r\n _control: any,\r\n jsonValue: ILogicTypeReladToLoadData,\r\n logicid: string,\r\n isInTable: boolean\r\n ) => {\r\n const response: {\r\n dataJson: any[];\r\n loadTo: { row: number; col: number };\r\n actionFrom: { row: number; col: number };\r\n } = {\r\n dataJson: [],\r\n loadTo: { row: -1, col: -1 },\r\n actionFrom: { row: -1, col: -1 },\r\n };\r\n\r\n if (!isInTable) {\r\n for (let j = 0; j < jsonValue.labelactions.length; j++) {\r\n const labelaction = jsonValue.labelactions[j].label;\r\n\r\n if (controlTemplate.label === labelaction) {\r\n const conditions = jsonValue.conditions;\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < _control.length; k++) {\r\n const item = _control[k];\r\n for (let l = 0; l < item.layout.length; l++) {\r\n const _layout = item.layout[l];\r\n const _label = _layout.label || _layout.template.label;\r\n if (e.label === _label) {\r\n response.dataJson.push({\r\n Key: _label,\r\n Value: _layout.data.value,\r\n logicid: logicid,\r\n });\r\n }\r\n if (jsonValue.autoloadvaluelabel.label === _label) {\r\n response.loadTo = {\r\n row: k,\r\n col: l,\r\n };\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n const _controlValue = controlValue as any;\r\n for (let j = 0; j < jsonValue.labelactions.length; j++) {\r\n const labelaction = jsonValue.labelactions[j];\r\n\r\n for (let k = 0; k < controlTemplate.attribute.column.length; k++) {\r\n const column = controlTemplate.attribute.column[k];\r\n\r\n if (column.control.template.label === labelaction.label) {\r\n const conditions = jsonValue.conditions;\r\n\r\n conditions.forEach((e) => {\r\n for (let k = 0; k < _control.length; k++) {\r\n const item = _control[k];\r\n for (let l = 0; l < item.layout.length; l++) {\r\n const _layout = item.layout[l];\r\n const _label = _layout.label || _layout.template.label;\r\n\r\n if (e.label === _label) {\r\n response.dataJson.push({\r\n Key: _label,\r\n Value: _layout.data.value,\r\n logicid: logicid,\r\n });\r\n } else if (column.control.template.label === e.label) {\r\n const exit = response.dataJson.find(\r\n (e) => e.Key === column.control.template?.label\r\n );\r\n if (!exit) {\r\n response.dataJson.push({\r\n Key: column.control.template?.label,\r\n Value:\r\n _controlValue.values[column.control.template.label],\r\n logicid: logicid,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n\r\n response.actionFrom = { row: _controlValue.key, col: k };\r\n\r\n // }\r\n }\r\n if (\r\n column.control.template.label === jsonValue.autoloadvaluelabel.label\r\n ) {\r\n response.loadTo = {\r\n row: _controlValue.key,\r\n col: k,\r\n };\r\n }\r\n }\r\n }\r\n }\r\n\r\n return response;\r\n };\r\n const onDatareladToLoadData = async (dataJson: any) => {\r\n const response = await fetch(\r\n \"api/TemplateList/TemplateByid/LoadLogic/GetLoadDataFormControl2\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch(() => false);\r\n return response;\r\n };\r\n\r\n const onFilterCondotionsValue = (\r\n jsonValue: ILogicTypeDataLineApprove,\r\n _control: any,\r\n controlTemplate: any,\r\n controlValue: any\r\n ) => {\r\n let conditions: { label: string; value: string; action?: string }[] = [];\r\n for (let i = 0; i < jsonValue.Conditions.length; i++) {\r\n const condition = jsonValue.Conditions[i];\r\n\r\n if (_control) {\r\n for (let j = 0; j < _control.length; j++) {\r\n const item = _control[j];\r\n\r\n for (let k = 0; k < item.layout.length; k++) {\r\n const layout = item.layout[k];\r\n\r\n if (condition.label === layout.template.label) {\r\n if (layout.template.type === \"dd\") {\r\n conditions.push({\r\n label: condition.label,\r\n value: layout.data.value\r\n ? layout.data.value.toLocaleString()\r\n : \"0\",\r\n action: condition.action,\r\n });\r\n } else if (layout.template.type === \"cb\") {\r\n conditions.push({\r\n label: condition.label,\r\n value: layout.data.value,\r\n action: condition.action,\r\n });\r\n } else {\r\n conditions.push({\r\n label: condition.label,\r\n value: layout.data.value\r\n ? layout.data.value.toLocaleString()\r\n : \"0\",\r\n action: condition.action,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n\r\n // }\r\n }\r\n }\r\n return conditions;\r\n };\r\n\r\n return (\r\n \r\n \r\n {fields.map((_control: any, idx: number) => {\r\n let dd: string = \"set-padding-core-control\";\r\n if (!_control.layout.every((e: any) => !e.isShow)) {\r\n return (\r\n \r\n e.template?.type === \"tb\"\r\n )\r\n ? _control.id\r\n : keyFrom\r\n }\r\n calCulateCorecontrol={calCulateCorecontrol}\r\n controlRef={controlRef}\r\n nestIndex={idx}\r\n onSubmit={handleSubmit(onSubmit)}\r\n returnMessage={returnMessage}\r\n listReturn={listReturn}\r\n {...{\r\n allLogicInTable,\r\n tableOptions,\r\n setTableOptions,\r\n autoNumFormat,\r\n buttonType,\r\n canEditDoc,\r\n control,\r\n onCheckInterface,\r\n register,\r\n onControlChange: _onControlChange,\r\n\r\n controlUpdate: update,\r\n isControlLoading,\r\n checkActionPage,\r\n tableSummaries,\r\n getValues,\r\n updateTableSummaries,\r\n memoDetail,\r\n }}\r\n documentNo={documentNo}\r\n checkInterFace={checkInterFace}\r\n interfaceButton={interfaceButton}\r\n actionAlert={actionAlert}\r\n setButtonType={setButtonType}\r\n edFont={edFont}\r\n defaultFont={defaultFont}\r\n />\r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n );\r\n};\r\n","import { Dropdown, InputRef, Menu, Typography } from \"antd\";\r\nimport { Form, Table, Modal } from \"antd\";\r\nimport type { FormInstance } from \"antd/lib/form\";\r\nimport { Button } from \"primereact/button\";\r\nimport { TieredMenu } from \"primereact/tieredmenu\";\r\nimport React, { useContext, useEffect, useRef, useState } from \"react\";\r\nimport { Col } from \"react-bootstrap\";\r\nimport { IoEllipsisVertical } from \"react-icons/io5\";\r\nimport { IMemoDetailModel } from \"../../../IRequestModel/IMemoDetailModel\";\r\nimport { GetRefDocFormTable } from \"../../../Services/MemoService\";\r\nimport {\r\n IColumn,\r\n SelectDataDialog,\r\n} from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { AttachmentTableComponent } from \"../AttachmentUploadControlComponent/AttachmentComponent\";\r\nimport { DatePickerTableComponent } from \"../DatePickerControlComponent/DatePickerControlComponent\";\r\nimport { InputTableComponent } from \"../InputControlComponent/InputControlComponent\";\r\nimport { InputNumberTableComponent } from \"../InputNumberControlComponent/InputNumberControlComponent\";\r\nimport { CheckboxTableComponent } from \"../MainCheckboxControl/CheckboxComponent\";\r\nimport { SelectCheckboxTableComponent } from \"../MainCheckboxControl/SelectCheckboxComponent\";\r\nimport { RadioTableComponent } from \"../RadioControlComponent/RadioControlComponent\";\r\nimport { SelectDropdownTableComponent } from \"../SelectDropdownContronComponent/SelectDropdownContronComponent\";\r\nimport { InputTextAreaTableComponent } from \"../TextAreaControlComponent/InputTextAreaControlComponent\";\r\nimport MoveToDialog from \"./MoveToDialog\";\r\nimport \"./TableComponentCSS.css\";\r\nimport { GetReportById } from \"../../../Services/ReportService\";\r\nimport TableFooter from \"./TableFooter\";\r\n\r\nimport moment from \"moment\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport {\r\n CheckCircleOutlined,\r\n CloseSquareOutlined,\r\n FileTextOutlined,\r\n} from \"@ant-design/icons\";\r\nimport ExcelTablePreview from \"./ExcelTablePreview\";\r\nimport { ILogicRequestBody } from \"../../../IRequestModel/ILogicModel\";\r\nimport {\r\n checkIsCorrect,\r\n isConditionSatisfiedFunc,\r\n} from \"../../../Helper/LogicHelper\";\r\nimport { balanceParentheses, calCulateInTableFunc } from \"../../../Helper/RequestScreenHelper\";\r\nimport { LogicType } from \"../../../constants/logic-type\";\r\nimport { UseFormGetValues } from \"react-hook-form\";\r\nimport _ from \"lodash\";\r\n\r\nconst { confirm } = Modal;\r\nconst { Text } = Typography;\r\n\r\nconst EditableContext = React.createContext | null>(null);\r\n\r\nexport interface tableSelectOption {\r\n actionsCol: {\r\n label: string;\r\n rowIdx: number;\r\n colIdx: number;\r\n value: any;\r\n };\r\n targetCol: {\r\n label: string;\r\n rowIdx: number;\r\n colIdx: number;\r\n options: { item: string }[];\r\n };\r\n}\r\n\r\nexport interface Item {\r\n key: string;\r\n name: string;\r\n age: string;\r\n address: string;\r\n}\r\ninterface EditableRowProps {\r\n index: number;\r\n}\r\n\r\nexport type TableInputProps = {\r\n rowIdx?: number;\r\n colIdx?: number;\r\n template: any;\r\n name: string;\r\n saveFunc: any;\r\n inputRef: any;\r\n value?: any;\r\n isEditing: boolean;\r\n onEdit: () => void;\r\n children: any;\r\n canEditDoc: any;\r\n checkActionPage: any;\r\n buttonType: string;\r\n record?: any;\r\n allLogicInTable?: ILogicRequestBody[];\r\n actionAlert?: any;\r\n toggleEdit?: any;\r\n getValues?: UseFormGetValues<{\r\n items: any;\r\n }>;\r\n};\r\n\r\nconst EditableRow: React.FC = ({ index, ...props }) => {\r\n const [form] = Form.useForm();\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\ninterface EditableCellProps {\r\n title: React.ReactNode;\r\n editable: boolean;\r\n children: React.ReactNode;\r\n dataIndex: keyof Item;\r\n record: any;\r\n handleSave: (\r\n record: Item,\r\n dataIndex: string,\r\n responseControlChange?: any\r\n ) => void;\r\n template: any;\r\n onControlChange: any;\r\n rowTemplate: any;\r\n colTemplate: any;\r\n canEditDoc: any;\r\n checkActionPage: any;\r\n buttonType: string;\r\n isError: boolean;\r\n allLogicInTable: ILogicRequestBody[];\r\n actionAlert?: any;\r\n setButtonType: (buttonType: any) => void;\r\n refDocOptions: any[];\r\n refTableColumn: any[];\r\n getValues: UseFormGetValues<{\r\n items: any;\r\n }>;\r\n // isControlLoading: any;\r\n}\r\n\r\nconst EditableCell: React.FC = ({\r\n title,\r\n editable,\r\n children,\r\n dataIndex,\r\n record,\r\n handleSave,\r\n template,\r\n onControlChange,\r\n rowTemplate,\r\n colTemplate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n setButtonType,\r\n isError,\r\n allLogicInTable,\r\n refDocOptions,\r\n refTableColumn,\r\n actionAlert,\r\n getValues,\r\n ...restProps\r\n}) => {\r\n const [editing, setEditing] = useState(false);\r\n const inputRef = useRef(null);\r\n const form = useContext(EditableContext)!;\r\n const [memoByOption, setMemoByOption] = useState(0);\r\n const [haveLink, setHaveLink] = useState();\r\n\r\n const [isRevision, setIsRevision] = useState(false);\r\n const [reportRef, setReportRef] = useState(0);\r\n // const [templateState, setTemplateState] = useTemplateDescContext();\r\n useEffect(() => {\r\n if (editing) {\r\n setTimeout(() => {\r\n inputRef?.current!?.focus({\r\n cursor: \"end\",\r\n });\r\n }, 0);\r\n }\r\n }, [editing]);\r\n\r\n const toggleEdit = async () => {\r\n setEditing((prev) => !prev);\r\n form.setFieldsValue({ [dataIndex]: record[dataIndex] });\r\n };\r\n\r\n const save = async (value?: any, type?: any) => {\r\n try {\r\n // let values = await form.getFieldsValue();\r\n //let values = await form.validateFields();\r\n\r\n let values = await form.getFieldsValue();\r\n let responseControlChange = null;\r\n\r\n responseControlChange = await onControlChange(\r\n template,\r\n { ...record, ...values, rowTemplate, colTemplate, dataIndex, values },\r\n true\r\n );\r\n\r\n if (responseControlChange && responseControlChange.type === \"table\") {\r\n values = responseControlChange.value;\r\n }\r\n\r\n handleSave({ ...record, ...values }, dataIndex, responseControlChange);\r\n\r\n toggleEdit();\r\n } catch (errInfo) {\r\n if (process.env.NODE_ENV === \"development\") {\r\n console.error(\"Save failed:\", errInfo);\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (record !== undefined) {\r\n findRefMemoId(record);\r\n }\r\n }, [memoByOption, refDocOptions]);\r\n\r\n const findRefMemoId = (record: any) => {\r\n\r\n const res = refDocOptions.find((e: any) => {\r\n const refdoc = template?.attribute?.mergecolumnrefdoc\r\n refdoc.forEach((_refdoc: any) => {\r\n if (_refdoc !== undefined && _refdoc !== null) {\r\n if (_refdoc.HaveLink) {\r\n setHaveLink((prevState: any) => ({\r\n ...prevState, // Keep existing keys\r\n [_refdoc.ColumnLabel]: _refdoc, // Add or update the new key\r\n }));\r\n }\r\n if (_refdoc.IsRevision) {\r\n const _reportRef = template?.attribute?.refdoc?.docReport;\r\n setIsRevision(true);\r\n setReportRef(_reportRef);\r\n }\r\n\r\n }\r\n })\r\n return refdoc !== undefined;\r\n });\r\n\r\n if (res !== undefined && res !== null) {\r\n if (isRevision) {\r\n setMemoByOption(res);\r\n }\r\n else {\r\n setMemoByOption(res.Memo_MemoId);\r\n }\r\n\r\n } else {\r\n\r\n const refdoc = template?.attribute?.mergecolumnrefdoc\r\n refdoc.forEach((_refdoc: any) => {\r\n if (_refdoc !== undefined && _refdoc !== null) {\r\n if (_refdoc.HaveLink) {\r\n setHaveLink((prevState: any) => ({\r\n ...prevState, // Keep existing keys\r\n [_refdoc.ColumnLabel]: _refdoc, // Add or update the new key\r\n }));\r\n }\r\n if (_refdoc.IsRevision) {\r\n const _reportRef = template?.attribute?.refdoc?.docReport;\r\n setIsRevision(true);\r\n setReportRef(_reportRef);\r\n }\r\n\r\n }\r\n })\r\n\r\n }\r\n };\r\n let childNode = dataIndex ? <> : children;\r\n const logicsOfTable =\r\n allLogicInTable?.filter(\r\n (e) =>\r\n e.logictype === LogicType.ReadOnlyControl ||\r\n e.logictype === LogicType.HideControl ||\r\n e.logictype === LogicType.SetValueControl\r\n ) || [];\r\n\r\n if (editable) {\r\n for (let i = 0; i < template.attribute.column.length; i++) {\r\n let _col = template.attribute.column[i];\r\n const label = _col.control.template.label\r\n ? _col.control.template.label\r\n : _col.label;\r\n const type = _col.control.template.type;\r\n const logicInCol = logicsOfTable.filter((e) => e.Key === dataIndex);\r\n\r\n let isShowOnLogic = true;\r\n if (logicInCol.length > 0) {\r\n logicInCol.forEach((logic) => {\r\n if (logic.logictype === LogicType.ReadOnlyControl) {\r\n let isConditionSatisfied = false;\r\n Object.keys(record).forEach((key) => {\r\n if (!isConditionSatisfied) {\r\n isConditionSatisfied = isConditionSatisfiedFunc(\r\n key,\r\n record[key],\r\n logic?.jsonValue\r\n );\r\n }\r\n });\r\n if (logic.Key === _col.label) {\r\n _col.isReadOnly = isConditionSatisfied;\r\n }\r\n } else if (logic.logictype === LogicType.HideControl) {\r\n let isConditionSatisfied = false;\r\n Object.keys(record).forEach((key) => {\r\n if (!isConditionSatisfied) {\r\n isConditionSatisfied = isConditionSatisfiedFunc(\r\n key,\r\n record[key],\r\n logic?.jsonValue\r\n );\r\n }\r\n });\r\n\r\n isShowOnLogic = !isConditionSatisfied;\r\n }\r\n });\r\n }\r\n\r\n if (isShowOnLogic) {\r\n if (label === dataIndex) {\r\n if (type === \"ta\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"dd\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"l\") {\r\n } else if (type === \"c\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"cb\") {\r\n if (_col.control.template.attribute.display === \"dd\") {\r\n childNode = (\r\n \r\n );\r\n } else {\r\n childNode = (\r\n \r\n );\r\n }\r\n } else if (type === \"t\") {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n childNode =\r\n haveLink &&\r\n haveLink[label]?.HaveLink === true &&\r\n haveLink[label]?.ColumnLabel === label ? (\r\n haveLink[label]?.IsRevision ? (\r\n \r\n {record[dataIndex]}\r\n \r\n ) : (\r\n doc[haveLink[label].RefDocLabel] === record[dataIndex])?.Memo_MemoId}`}\r\n target=\"_blank\"\r\n rel=\"noreferrer\"\r\n >\r\n {record[dataIndex]}\r\n \r\n )\r\n ) : (<>\r\n \r\n \r\n );\r\n // }\r\n } else if (type === \"r\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"d\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"at\") {\r\n childNode = (\r\n \r\n );\r\n } else if (type === \"bt\") {\r\n } else if (type === \"id\") {\r\n return <>1;\r\n } else if (type === \"action\") {\r\n // return ;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n
{childNode}
\r\n \r\n );\r\n};\r\n\r\ntype EditableTableProps = Parameters[0];\r\n\r\ntype ColumnTypes = Exclude;\r\ntype TableProps = {\r\n _columns: any;\r\n _data: any;\r\n onChange: any;\r\n layout: any;\r\n isControlLoading: any;\r\n onControlChange: any;\r\n rowTemplate: any;\r\n colTemplate: any;\r\n canEditDoc: any;\r\n checkActionPage: any;\r\n buttonType: string;\r\n tableSummary?: any;\r\n onCheckInterface: any;\r\n onSubmit: any;\r\n isError: boolean;\r\n memoDetail: IMemoDetailModel;\r\n updateTableSummaries: (tableTemp: any, value: any) => void;\r\n checkInterFace: any;\r\n interfaceButton: any;\r\n allLogicInTable: ILogicRequestBody[];\r\n actionAlert?: any;\r\n setButtonType: (data: any) => void;\r\n colText?: number;\r\n rowIdx: number;\r\n colIdx: number;\r\n getValues: UseFormGetValues<{\r\n items: any;\r\n }>;\r\n};\r\n\r\nconst TableComponent: React.FC = ({\r\n _columns,\r\n _data,\r\n onChange,\r\n layout,\r\n isControlLoading,\r\n onControlChange,\r\n rowTemplate,\r\n colTemplate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n tableSummary,\r\n onCheckInterface,\r\n onSubmit,\r\n getValues,\r\n isError,\r\n memoDetail,\r\n allLogicInTable,\r\n updateTableSummaries,\r\n checkInterFace,\r\n interfaceButton,\r\n actionAlert,\r\n setButtonType,\r\n colIdx,\r\n rowIdx,\r\n colText,\r\n}) => {\r\n const [moveToDialogVisible, setMoveToDialogVisible] =\r\n useState(false);\r\n const [moveFormIndex, setMoveFormIndex] = useState(-1);\r\n\r\n const [summary, setSummary] = useState();\r\n const [tableLoad, setTableLoad] = useState(false);\r\n const [refTableDialogVisible, setRefTableDialogVisible] =\r\n useState(false);\r\n const [refTableLoading, setRefTableLoading] = useState(false);\r\n const [refDocOptions, setRefDocOptions] = useState([]);\r\n const [refTableColumn, setRefTableColumn] = useState([]);\r\n const [tableFooter, setTableFooter] = useState(\r\n layout.template.attribute?.footerTable?.rows || []\r\n );\r\n const [exportFile, setExportFile] = useState([]);\r\n const [loadFile, setLoadFile] = useState(false);\r\n useEffect(() => {\r\n if (layout.template.attribute.enabledpopupdefdoc === \"Y\") {\r\n fetchRefDocFormTable();\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setSummary(tableSummary);\r\n }, [tableSummary]);\r\n\r\n const handleDelete = (key: React.Key) => {\r\n const newData = _data.filter((item: any) => item.key !== key);\r\n if (newData.length === 0) {\r\n summaryFunc();\r\n }\r\n // onChange({ row: [...returnToValue(newData)] });\r\n onChange({ ...layout, data: { row: returnToValue(newData) } });\r\n\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n };\r\n\r\n const menu = useRef([]);\r\n\r\n function createRowCopy(key: number) {\r\n let newData: any = {\r\n key: key,\r\n };\r\n const cols = layout.template.attribute.column;\r\n const tableLogic = allLogicInTable.filter((e) => {\r\n if (e.logictype === LogicType.SetValueControl) {\r\n return e.actionlabel.split(\"|\")[1] === layout.template.label;\r\n } else {\r\n return e.Key === layout.template.label;\r\n }\r\n });\r\n\r\n cols.map((col: any) => {\r\n let type = col.control.template.type;\r\n let colLogic = tableLogic.find((e) => {\r\n return e.actionlabel?.split(\"|\")[0] === col.control.template.label;\r\n });\r\n\r\n if (type == \"cb\") {\r\n newData[col.label] = col.control.template.attribute.items\r\n .filter((e: any) => e.check === \"Y\")\r\n .map((e: any) => e.item)\r\n .join(\",\");\r\n } else if (type == \"t\" || type == \"ta\" || type == \"c\") {\r\n newData[col.label] = col.control.template.attribute.default\r\n ? col.control.template.attribute.default\r\n : colLogic\r\n ? colLogic.Value\r\n : null;\r\n\r\n if (newData[col.label]) {\r\n newData[col.label] = newData[col.label].replace(\r\n /\\[.+\\]/gi,\r\n (x: any) => {\r\n let fmt = x.replace(\"[\", \"\").replace(\"]\", \"\");\r\n return moment().format(fmt);\r\n }\r\n );\r\n }\r\n } else if (type == \"dd\" || type === \"r\") {\r\n newData[col.label] = col.control.template.attribute.items\r\n .filter((e: any) => e.checked === \"Y\")\r\n .map((e: any) => e.item)\r\n .join(\",\");\r\n } else if (type === \"d\") {\r\n if (col.control.template.attribute.default != \"\") {\r\n if (col.control.template.attribute.defaultType === \"Days\") {\r\n let defaultDate = parseInt(col.control.template.attribute.default);\r\n let defValue = \"\";\r\n\r\n if (defaultDate > 0) {\r\n defValue = moment()\r\n .add(defaultDate, \"days\")\r\n .format(\"DD MMM YYYY\");\r\n } else {\r\n defValue = moment()\r\n .subtract(defaultDate * -1, \"days\")\r\n .format(\"DD MMM YYYY\");\r\n }\r\n\r\n newData[col.label] = defValue;\r\n }\r\n }\r\n } else {\r\n newData[col.label] = null;\r\n }\r\n });\r\n tableLogic.forEach((logic) => {\r\n if (logic?.logictype === LogicType.SetValueControl) {\r\n let keyData = null;\r\n const tempDesc = getValues();\r\n\r\n tempDesc.items.forEach((items: any) => {\r\n items.layout.forEach((layout: any) => {\r\n if (layout.template.label === logic.Key) {\r\n keyData = layout;\r\n if (\r\n checkIsCorrect(logic.Value, logic.operator, layout.data.value)\r\n ) {\r\n newData[logic.actionlabel.split(\"|\")[0]] = logic.valuetoset;\r\n }\r\n }\r\n });\r\n });\r\n\r\n if (!keyData) {\r\n Object.keys(newData).forEach((key) => {\r\n if (logic.Key === key) {\r\n if (checkIsCorrect(logic.Value, logic.operator, newData[key])) {\r\n newData[logic.actionlabel.split(\"|\")[0]] = logic.valuetoset;\r\n }\r\n }\r\n });\r\n }\r\n }\r\n });\r\n\r\n return newData;\r\n }\r\n\r\n const handleAdd = () => {\r\n let newData: any = createRowCopy(_data.length);\r\n\r\n let eiei = [..._data, newData];\r\n setButtonType(\"addrow\");\r\n onChange({ ...layout, data: { row: returnToValue(eiei) } });\r\n };\r\n\r\n const handleAddMultiRow = (newRows: any[]) => {\r\n let newData: any = newRows;\r\n let rows: any[] = [..._data];\r\n newData.map((e: any) => {\r\n rows.push(e);\r\n });\r\n rows.map((e: any, idx: number) => {\r\n e.key = idx;\r\n });\r\n\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n };\r\n\r\n\r\n const returnToValue = (inputData: any) => {\r\n const formattedRows: any[] = [];\r\n const columns = layout.template.attribute.column;\r\n console.log(layout, columns);\r\n\r\n inputData.forEach((rowData: any) => {\r\n let Keep: { value: string; }[] = []\r\n\r\n const formattedRow = columns.forEach((column: any) => {\r\n const rawValue = rowData[column.label];\r\n\r\n let numericValue = Number(rawValue?.toString().replace(/,/g, \"\"));\r\n if (rowData[column.label] === \"\") return Keep.push({ value: rawValue ?? null })\r\n\r\n if (isNaN(numericValue) && column?.control.template?.type === \"c\") {\r\n\r\n numericValue = rawValue;\r\n return Keep.push({ value: numericValue?.toString() ?? null })\r\n }\r\n Keep.push({ value: rawValue ?? null })\r\n });\r\n formattedRows.push(Keep);\r\n });\r\n console.log(formattedRows);\r\n\r\n return formattedRows;\r\n };\r\n\r\n\r\n const calCulateFunc = (row: any) => {\r\n try {\r\n if (layout.template.formula !== \"\") {\r\n const formulas = layout.template.formula.split(\"|\");\r\n const columns = layout.template.attribute.column;\r\n\r\n formulas.map((formula: string) => {\r\n let resulstField = formula.split(\"=\");\r\n let formu: string = resulstField[0];\r\n let resultColIdx = -1;\r\n let resultDecimal = 0;\r\n let result: number = 0;\r\n if (formu.startsWith(\"Min\") || formu.startsWith(\"Max\")) {\r\n const operator = formu.startsWith(\"Max\") ? \"Max\" : \"Min\";\r\n const fields = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.lastIndexOf(\")\"))\r\n .split(\",\");\r\n\r\n fields.forEach((field) => {\r\n columns.forEach((col: any, colIdx: number) => {\r\n if (field === col.label) {\r\n const value = Number(\r\n row[col.label]?.toString()?.replaceAll(\",\", \"\")\r\n );\r\n\r\n if (!Number.isNaN(value))\r\n if (\r\n result === 0 ||\r\n (operator === \"Max\" && value > result) ||\r\n (operator === \"Min\" && value < result)\r\n ) {\r\n result = value;\r\n }\r\n }\r\n if (col.label === resulstField[1]) {\r\n resultColIdx = colIdx;\r\n resultDecimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n }\r\n });\r\n });\r\n } else if (formu.startsWith(\"diffdate\")) {\r\n const fields = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.lastIndexOf(\")\"))\r\n .split(\",\");\r\n\r\n let firstDate = moment(row[fields[0]]);\r\n let lastDate = moment(row[fields[1]]);\r\n let res = firstDate.diff(lastDate, \"days\");\r\n if (res >= 1) {\r\n res += 1;\r\n }\r\n\r\n result = res;\r\n const resCol = columns.find(\r\n (col: any) => col.label === resulstField[1]\r\n );\r\n resultDecimal = Number(resCol.control.template.attribute.decimal);\r\n } else if (formu.startsWith(\"difftime\")) {\r\n const fields = formu\r\n .substring(formu.indexOf(\"(\") + 1, formu.lastIndexOf(\")\"))\r\n .split(\",\");\r\n\r\n let firstDate = moment(row[fields[0]], \"h.mm\");\r\n let lastDate = moment(row[fields[1]], \"h.mm\");\r\n let res = firstDate.diff(lastDate, \"minutes\");\r\n\r\n const hours = Math.trunc(res / 60);\r\n const remainingMinutes = res % 60;\r\n let formattedTime =\r\n res <= -1 && res >= -9\r\n ? `-0.0${Math.abs(remainingMinutes)}`\r\n : hours === -0 && res < -10\r\n ? `-${hours}.${Math.abs(remainingMinutes)}`\r\n : res < -10\r\n ? `${hours}.${Math.abs(remainingMinutes)}`\r\n : `${hours}.${remainingMinutes}`;\r\n\r\n result = Number(formattedTime);\r\n const resCol = columns.find(\r\n (col: any) => col.label === resulstField[1]\r\n );\r\n resultDecimal = Number(resCol.control.template.attribute.decimal);\r\n } else {\r\n // const allField = formu.match(/\\w+\\([^+\\-\\*/=]\\)|\\w+/g) || [];\r\n let allField: any = resulstField[0].match(/[^+\\-\\*\\/=]+/g) || [];\r\n\r\n allField = allField.map((e: string) => {\r\n return balanceParentheses(e);\r\n });\r\n\r\n allField.forEach((field: string) => {\r\n if (field.startsWith(\"get\")) {\r\n const labels = field\r\n .substring(field.indexOf(\"(\") + 1, field.lastIndexOf(\")\"))\r\n .split(\",\");\r\n if (labels.length > 0) {\r\n const items = getValues()?.items;\r\n for (let index = 0; index < items.length; index++) {\r\n const item = items[index];\r\n for (let j = 0; j < item.layout.length; j++) {\r\n const layout = item.layout[j];\r\n if (layout.template.label) {\r\n if (labels.includes(layout.template.label)) {\r\n formu = formu.replace(\r\n `get(${layout.template.label})`,\r\n layout.data.value !== \"NaN\"\r\n ? layout.data.value\r\n : Number(0).toFixed(\r\n layout.template.attribute.decimal\r\n )\r\n );\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n columns.forEach((col: any, colIdx: number) => {\r\n if (field === col.label) {\r\n const decimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n const value = Number(\r\n row[col.label]?.toString()?.replaceAll(\",\", \"\")\r\n ).toFixed(decimal);\r\n formu = formu.replace(\r\n col.label,\r\n value !== \"NaN\" ? value : Number(0).toFixed(decimal)\r\n );\r\n }\r\n if (col.label === resulstField[1]) {\r\n resultColIdx = colIdx;\r\n resultDecimal = Number(\r\n col.control.template.attribute.decimal\r\n );\r\n }\r\n });\r\n }\r\n });\r\n\r\n let dd = formu.replaceAll(\",\", \"\");\r\n result = eval(dd);\r\n\r\n }\r\n row[resulstField[1]] = result?.toLocaleString('en-UK', {\r\n minimumFractionDigits: resultDecimal,\r\n maximumFractionDigits: resultDecimal,\r\n }).replace(/,/g, '')\r\n\r\n });\r\n }\r\n } catch (error) {\r\n console.error(\"table=>cal=>error\", error);\r\n }\r\n };\r\n\r\n const summaryFunc = () => {\r\n try {\r\n if (tableSummary) {\r\n const cols = layout.template.attribute.column;\r\n const _tableSummary = JSON.stringify(tableSummary);\r\n let _sum = JSON.parse(_tableSummary);\r\n\r\n cols.map((e: any) => {\r\n if (e.control.template.type === \"c\") {\r\n _sum[e.label] = 0;\r\n }\r\n });\r\n\r\n _data.forEach((e: any) => {\r\n cols.map((col: any) => {\r\n if (col.control.template.type === \"c\") {\r\n //ทำไว้เผื่อแก้โครงสร้าง object ที่ผิดรูป\r\n if (!e[col.control.template.label]) {\r\n col.control.template.label = col.label;\r\n }\r\n\r\n if (e[col.control.template.label]) {\r\n if (e[col.control.template.label]) {\r\n col.control.template.label = col.label;\r\n if (\r\n !Number.isNaN(\r\n Number(\r\n e[col.control.template.label]\r\n ?.toString()\r\n ?.replaceAll(\",\", \"\")\r\n )\r\n )\r\n ) {\r\n _sum[col.control.template.label] += Number(\r\n e[col.control.template.label]\r\n ?.toString()\r\n ?.replaceAll(\",\", \"\")\r\n );\r\n } else if (\r\n !Number.isNaN(Number(e[col.control.template.label]))\r\n ) {\r\n _sum[col.control.template.label] += Number(\r\n e[col.control.template.label]\r\n );\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n const debouncedCalCulateTableFooter = _.debounce(\r\n calCulateTableFooter,\r\n 50\r\n );\r\n const debouncedUpdateTableSummaries = _.debounce(\r\n updateTableSummaries,\r\n 50\r\n );\r\n\r\n if (!_.isEqual(tableSummary, _sum)) {\r\n calCulateTableFooter();\r\n updateTableSummaries(layout.template, _sum);\r\n } else {\r\n debouncedCalCulateTableFooter();\r\n // debouncedUpdateTableSummaries(layout.template, _sum);\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"table=>sum=>error\", error);\r\n }\r\n };\r\n\r\n useEffect(() => summaryFunc(), [_data]);\r\n\r\n const handleSave = (\r\n row: any,\r\n dataIndex: string,\r\n responseControlChange?: any\r\n ) => {\r\n const newData = [..._data];\r\n const index = newData.findIndex((item) => row.key === item.key);\r\n if (row[\"rowstate\"] !== undefined && row[\"rowstate\"] !== \"i\") {\r\n const originTemplatedesc: any = getValues();\r\n\r\n let rowData =\r\n originTemplatedesc.items[rowTemplate].layout[colTemplate].data.row[\r\n row.key\r\n ];\r\n\r\n const actionIndex = originTemplatedesc.items[rowTemplate].layout[\r\n colTemplate\r\n ].template.attribute.column.findIndex(\r\n (col: { label: any }) => col.label === dataIndex\r\n );\r\n\r\n if (\r\n rowData[actionIndex].value !== row[dataIndex] ||\r\n (rowData[actionIndex].value === null &&\r\n row.values[row.dataIndex] === \"\")\r\n ) {\r\n row[\"rowstate\"] = \"u\";\r\n } else {\r\n row[\"rowstate\"] = null;\r\n }\r\n }\r\n\r\n calCulateFunc(row);\r\n\r\n const item = newData[index];\r\n newData.splice(index, 1, {\r\n ...item,\r\n ...row,\r\n });\r\n let res = layout;\r\n\r\n if (responseControlChange && responseControlChange.type === \"control\") {\r\n for (let i = 0; i < responseControlChange.value.length; i++) {\r\n const items = responseControlChange.value[i];\r\n for (let j = 0; j < items.layout.length; j++) {\r\n const _layout = items.layout[j];\r\n if (_layout.template.label === layout.template.label) {\r\n res = _layout;\r\n }\r\n }\r\n }\r\n }\r\n onChange({ ...res, data: { row: returnToValue(newData) } });\r\n };\r\n\r\n const defColumns: any[] = _columns.map((_col: any) => {\r\n return {\r\n ..._col,\r\n };\r\n });\r\n\r\n if (canEditDoc) {\r\n defColumns.push({\r\n title: (\r\n {\r\n setButtonType(\"\");\r\n try {\r\n if (layout.template.attribute.enabledpopupdefdoc === \"Y\") {\r\n setRefTableDialogVisible(true);\r\n } else {\r\n handleAdd();\r\n }\r\n } catch (error) {\r\n console.error(\"table=>error\", error);\r\n }\r\n }}\r\n >\r\n ),\r\n className: \"action-column\",\r\n key: \"operation\",\r\n align: \"center\",\r\n fixed: \"right\",\r\n width: 50,\r\n render: (_: any, record: { key: number }) => (\r\n
{actionBodyTemplate(record.key)}
\r\n ),\r\n onCell: (record: any) => {\r\n return {\r\n onClick: (e: any) => {\r\n menu?.current[record?.key]?.toggle(e);\r\n },\r\n };\r\n },\r\n });\r\n }\r\n\r\n const addRowTo = (key: number) => {\r\n try {\r\n let rows: any[] = _data;\r\n let newData: any = createRowCopy(key);\r\n rows.splice(key, 0, newData);\r\n rows.map((row: any, idx: number) => (row.key = idx));\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n } catch (error) {\r\n console.error(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const duplicate = (key: number) => {\r\n try {\r\n let rows: any[] = _data;\r\n let newData: any = createRowCopy(key);\r\n layout.template.attribute.column.forEach((_col: any) => {\r\n newData[_col.label] = rows[key][_col.label];\r\n });\r\n rows.splice(key, 0, newData);\r\n rows.map((row: any, idx: number) => (row.key = idx));\r\n\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n } catch (error) {\r\n console.error(\"table=>error\", error);\r\n }\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n };\r\n\r\n const moveTo = (key: number) => {\r\n try {\r\n if (moveFormIndex !== -1) {\r\n let dd = JSON.stringify(_data);\r\n let rows: any[] = JSON.parse(dd);\r\n let updateRow = rows.splice(moveFormIndex, 1)[0];\r\n rows.splice(key, 0, updateRow);\r\n setMoveFormIndex(-1);\r\n rows.map((row: any, idx: number) => (row.key = idx));\r\n\r\n onChange({ ...layout, data: { row: returnToValue(rows) } });\r\n\r\n setTimeout(() => {\r\n setTableLoad(false);\r\n }, 500);\r\n }\r\n } catch (error) {\r\n console.error(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const actionBodyTemplate = (key: number) => {\r\n const items = [\r\n {\r\n label: \"Create new item\",\r\n icon: \"pi pi-fw pi-plus\",\r\n items: [\r\n {\r\n label: \"Create new item above\",\r\n icon: \"pi pi-fw pi-plus\",\r\n command: () => {\r\n setTableLoad(true);\r\n addRowTo(key);\r\n },\r\n },\r\n {\r\n label: \"Create new item below\",\r\n icon: \"pi pi-fw pi-plus\",\r\n command: () => {\r\n setTableLoad(true);\r\n addRowTo(key + 1);\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n label: \"Move to\",\r\n icon: \"pi pi-fw pi-sort-alt\",\r\n command: () => {\r\n setMoveFormIndex(key);\r\n setMoveToDialogVisible(true);\r\n },\r\n },\r\n {\r\n label: \"Duplicate\",\r\n icon: \"pi pi-fw pi-copy\",\r\n command: () => {\r\n setTableLoad(true);\r\n duplicate(key);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-fw pi-trash\",\r\n command: () => {\r\n setTableLoad(true);\r\n handleDelete(key);\r\n },\r\n },\r\n ];\r\n return (\r\n \r\n {\r\n menu.current[key] = el;\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const columns = defColumns.map((col: any) => {\r\n if (!col.editable) {\r\n return col;\r\n }\r\n\r\n return {\r\n ...col,\r\n onCell: (record: any) => ({\r\n record,\r\n editable: col.editable,\r\n dataIndex: col.dataIndex,\r\n title: col.title,\r\n handleSave,\r\n template: layout.template,\r\n onControlChange,\r\n rowTemplate,\r\n colTemplate,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n allLogicInTable,\r\n }),\r\n };\r\n });\r\n\r\n const calCulateTableFooter = (changeObj?: any) => {\r\n try {\r\n const columns = layout.template.attribute.column;\r\n let decimal: number = 2;\r\n\r\n setTableFooter([\r\n ...tableFooter.map((footer: any) => {\r\n let formu = footer?.formula;\r\n\r\n // const allField = formu.match(/[^+%\\-\\*\\/=)(]+/g) || [];\r\n let allField = formu.match(/[^+%\\-\\*\\/=]+(?:\\([^()]*\\))?/g) || [];\r\n // console.log(formu , allField ,match );\r\n\r\n if (changeObj && changeObj.label === footer.label) {\r\n footer.value = changeObj?.value;\r\n }\r\n columns?.forEach((col: any) => {\r\n if (allField.includes(col.label)) {\r\n decimal = Number(col.control.template.attribute.decimal);\r\n\r\n formu = formu?.replace(\r\n col.label,\r\n summary[col.label]?.toFixed(decimal) !== \"NaN\"\r\n ? summary[col.label]?.toFixed(decimal)\r\n : Number(0).toFixed(decimal)\r\n );\r\n } else if (allField.includes(\"value\")) {\r\n decimal = Number(col.control.template.attribute.decimal);\r\n\r\n formu = formu.replaceAll(\r\n \"value\",\r\n footer?.value?.toFixed(decimal)\r\n );\r\n }\r\n });\r\n const validate: any[] =\r\n formu.match(/[\\u0E00-\\u0E7FA-Za-z]+|\\([^)]+\\)+/g) || [];\r\n\r\n if (validate.length > 0) {\r\n tableFooter.map((e: any) => {\r\n if (formu.indexOf(e.label) !== -1) {\r\n formu = formu.replace(\r\n e.label,\r\n Number(e?.result.replaceAll(\",\", \"\"))\r\n );\r\n }\r\n });\r\n }\r\n\r\n if (footer?.formula.includes(\"value\")) {\r\n const value = eval(formu)?.toLocaleString(undefined, {\r\n maximumFractionDigits: 2,\r\n });\r\n\r\n footer.result = value;\r\n } else {\r\n const value = eval(formu)?.toLocaleString(undefined, {\r\n maximumFractionDigits: 2,\r\n });\r\n footer.result = value;\r\n }\r\n\r\n return footer;\r\n }),\r\n ]);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n async function fetchRefDocFormTable() {\r\n let tempAtt = layout.template.attribute;\r\n\r\n if (refDocOptions.length === 0) {\r\n setRefTableLoading(true);\r\n\r\n if (tempAtt !== undefined) {\r\n if (tempAtt.refdoc !== undefined) {\r\n let dataRequest = {\r\n PageIndex: 0,\r\n PageSize: 0,\r\n CUserID: memoDetail.creator.EmployeeId.toString(),\r\n RUserID: memoDetail.requestor.EmployeeId.toString(),\r\n ConditionRefdoc:\r\n tempAtt.conditionrefdoc.length > 0\r\n ? JSON.stringify(tempAtt.conditionrefdoc)\r\n : \"\",\r\n Search: memoDetail.creator.NameEn,\r\n docDataSource: tempAtt.refdoc.docDataSource,\r\n docReport: tempAtt.refdoc.docReport,\r\n docCancelDoc: tempAtt.refdoc.docCancelDoc,\r\n docEditDoc: tempAtt.refdoc.docEditDoc,\r\n docNewDoc: tempAtt.refdoc.docNewDoc,\r\n doccontrol: tempAtt.refdoc.doccontrol !== \"N\",\r\n docref: tempAtt.refdoc.docref,\r\n };\r\n\r\n if (tempAtt.refdoc.docDataSource === \"Template\") {\r\n const refDetails = await GetRefDocFormTable(dataRequest);\r\n\r\n let refColumn: any[] = [];\r\n let refOptions: any[] = [];\r\n refDetails.forEach((e: any) => {\r\n let _option: any = { Memo_MemoId: e.MemoId };\r\n let advanceForm = JSON.parse(e.MAdvancveForm);\r\n advanceForm.items.map((a: any) => {\r\n a.layout.map((l: any) => {\r\n const target = tempAtt.mergecolumnrefdoc.find(\r\n (col: any) =>\r\n col.RefDocLabel.split(\"_\")[1] === l.template.label\r\n );\r\n\r\n if (target) {\r\n _option[target.RefDocLabel] = l.data.value;\r\n _option[l.template.label] = l.data.value;\r\n }\r\n tempAtt.mergecolumnrefdoc.map((a: any) => {\r\n if (a.RefDocLabel === \"DocumentNo\") {\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n } else if (a.RefDocLabel === \"DocumentAmount\") {\r\n _option[a.RefDocLabel] = e.Amount;\r\n _option[a.RefDocLabel] = e.Amount;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeCode\") {\r\n _option[a.RefDocLabel] = e.CreatorId;\r\n _option[a.RefDocLabel] = e.CreatorId;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeName\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.CNameEn;\r\n _option[a.RefDocLabel] = e.CNameEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.CNameTh;\r\n _option[a.RefDocLabel] = e.CNameTh;\r\n }\r\n } else if (a.RefDocLabel === \"CreatorEmployeePosition\") {\r\n _option[a.RefDocLabel] = e.CPositionEn;\r\n _option[a.RefDocLabel] = e.CPositionEn;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeDivision\") {\r\n _option[a.RefDocLabel] = e.CDivisionEn;\r\n _option[a.RefDocLabel] = e.CDivisionEn;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeDepartment\") {\r\n _option[a.RefDocLabel] = e.CDepartmentEn;\r\n _option[a.RefDocLabel] = e.CDepartmentEn;\r\n } else if (a.RefDocLabel === \"CreatorEmployeeEmail\") {\r\n _option[a.RefDocLabel] = \"\";\r\n _option[a.RefDocLabel] = \"\";\r\n } else if (a.RefDocLabel === \"RequestorEmployeeCode\") {\r\n _option[a.RefDocLabel] = e.RequesterId;\r\n _option[a.RefDocLabel] = e.RequesterId;\r\n } else if (a.RefDocLabel === \"RequestorEmployeeName\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RNameEn;\r\n _option[a.RefDocLabel] = e.RNameEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RNameTh;\r\n _option[a.RefDocLabel] = e.RNameTh;\r\n }\r\n } else if (a.RefDocLabel === \"RequestorEmployeePosition\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RPositionEn;\r\n _option[a.RefDocLabel] = e.RPositionEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RPositionTh;\r\n _option[a.RefDocLabel] = e.RPositionTh;\r\n }\r\n } else if (a.RefDocLabel === \"RequestorEmployeeDivision\") {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RDivisionEn;\r\n _option[a.RefDocLabel] = e.RDivisionEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RDivisionTh;\r\n _option[a.RefDocLabel] = e.RDivisionTh;\r\n }\r\n } else if (\r\n a.RefDocLabel === \"RequestorEmployeeDepartment\"\r\n ) {\r\n if (memoDetail.report_lang.toLowerCase() === \"en\") {\r\n _option[a.RefDocLabel] = e.RDepartmentEn;\r\n _option[a.RefDocLabel] = e.RDepartmentEn;\r\n } else {\r\n _option[a.RefDocLabel] = e.RDepartmentTh;\r\n _option[a.RefDocLabel] = e.RDepartmentTh;\r\n }\r\n } else if (a.RefDocLabel === \"RequestorEmployeeEmail\") {\r\n _option[a.RefDocLabel] = \"\";\r\n _option[a.RefDocLabel] = \"\";\r\n } else if (a.RefDocLabel === \"InformationDocumentStatus\") {\r\n _option[a.RefDocLabel] = e.StatusName;\r\n _option[a.RefDocLabel] = e.StatusName;\r\n } else if (a.RefDocLabel === \"InformationFormName\") {\r\n _option[a.RefDocLabel] = e.TemplateName;\r\n _option[a.RefDocLabel] = e.TemplateName;\r\n } else if (a.RefDocLabel === \"InformationRequestDate\") {\r\n _option[a.RefDocLabel] = e.RequestDate;\r\n _option[a.RefDocLabel] = e.RequestDate;\r\n } else if (a.RefDocLabel === \"InformationCompany\") {\r\n _option[a.RefDocLabel] = e.CompanyName;\r\n _option[a.RefDocLabel] = e.CompanyName;\r\n } else if (a.RefDocLabel === \"InformationBranch\") {\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n _option[a.RefDocLabel] = e.DocumentNo;\r\n } else if (a.RefDocLabel === \"InformationSubject\") {\r\n _option[a.RefDocLabel] = e.MemoSubject;\r\n _option[a.RefDocLabel] = e.MemoSubject;\r\n } else if (a.RefDocLabel === \"InformationProject\") {\r\n _option[a.RefDocLabel] = \"\";\r\n _option[a.RefDocLabel] = \"\";\r\n }\r\n });\r\n });\r\n });\r\n refOptions.push(_option);\r\n });\r\n tempAtt.mergecolumnrefdoc.forEach((e: any) => {\r\n refColumn.push({\r\n field: e.RefDocLabel,\r\n headerEn: e.RefDocLabel,\r\n });\r\n });\r\n setRefDocOptions([...refOptions]);\r\n setRefTableColumn([...refColumn]);\r\n } else if (tempAtt.refdoc.docDataSource === \"Report\") {\r\n // dataRequest.docref = refDetails.TemplateId.split(\"|\").map(\r\n // (e: string) => {\r\n // return { id: e };\r\n // }\r\n // );\r\n const refReportDetail = await GetRefDocFormTable(dataRequest);\r\n\r\n if (refReportDetail?.dt_Report?.length > 0) {\r\n let refColumn: any[] = [];\r\n\r\n tempAtt.mergecolumnrefdoc.forEach((e: any) => {\r\n refColumn.push({\r\n field: e.RefDocLabel,\r\n headerEn: e.RefDocLabel,\r\n });\r\n });\r\n\r\n setRefTableColumn([...refColumn]);\r\n\r\n setRefDocOptions([...refReportDetail.dt_Report]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n setRefTableLoading(false);\r\n }\r\n\r\n const onImportExcel = async (dataJson: any) => {\r\n const response = await fetch(\"api/Excel/ImportData\", {\r\n method: \"POST\",\r\n body: dataJson,\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return response;\r\n };\r\n\r\n const onExportExcel = async (dataJson: any) => {\r\n try {\r\n const fileName = \"export.xlsx\";\r\n const response = await fetch(\"api/Excel/ExportData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\", // Ensure correct content type\r\n },\r\n body: JSON.stringify({\r\n mAdvance: JSON.stringify(dataJson),\r\n }),\r\n })\r\n .then((response) => response.blob())\r\n .then((blob) => {\r\n const url = window.URL.createObjectURL(new Blob([blob]));\r\n const a = document.createElement(\"a\");\r\n a.href = url;\r\n a.download = fileName;\r\n document.body.appendChild(a);\r\n a.click();\r\n a.remove();\r\n })\r\n .catch((error) => console.error(\"Download failed:\", error));\r\n } catch (error) {\r\n console.error(\"Error:\", error);\r\n }\r\n };\r\n\r\n const handleFileUpload = async (file: any) => {\r\n try {\r\n const uploadFile = new FormData();\r\n uploadFile.append(\"file\", file);\r\n const respone = await onImportExcel(uploadFile);\r\n if (respone) {\r\n putExcelToTable(respone);\r\n setExportFile(respone);\r\n }\r\n } catch (error: any) {\r\n console.error(error.message);\r\n }\r\n };\r\n\r\n const putExcelToTable = (resultData: any[]) => {\r\n const result = resultData.slice(0, resultData.length);\r\n\r\n let newRows = resultData.slice(0, resultData.length);\r\n confirm({\r\n title: \"Preview data\",\r\n icon: \"\",\r\n className: \"csv-confirm-modal\",\r\n content: (\r\n {\r\n if (e) {\r\n newRows = result.slice(1, newRows.length);\r\n } else {\r\n newRows = result;\r\n }\r\n }}\r\n />\r\n ),\r\n width: \"80%\",\r\n okButtonProps: {\r\n icon: ,\r\n className: \"confirm-btn ok\",\r\n style: { display: \"flex\", alignItems: \"center\" },\r\n },\r\n onOk() {\r\n let tableSums: any = {};\r\n console.log({ ...layout, data: { row: calCulateInTableFunc({ ...layout, data: { row: returnToValue(newRows) } }, tableSums) } }, tableSums, \"table\");\r\n\r\n onChange({ ...layout, data: { row: calCulateInTableFunc({ ...layout, data: { row: returnToValue(newRows) } }, tableSums) } });\r\n },\r\n cancelButtonProps: {\r\n icon: ,\r\n type: \"ghost\",\r\n className: \"cancel\",\r\n style: { display: \"flex\", alignItems: \"center\" },\r\n },\r\n });\r\n };\r\n\r\n const menuClickHandler = (key: string) => {\r\n if (key === \"import\") {\r\n // Trigger file input click when Import is clicked\r\n const input = document.createElement(\"input\");\r\n input.type = \"file\";\r\n input.accept = \".xlsx\";\r\n input.onchange = (e: any) => {\r\n const file = e?.target?.files[0];\r\n if (file) {\r\n handleFileUpload(file);\r\n }\r\n };\r\n input.click();\r\n } else if (key === \"export\") {\r\n layout.data = { row: returnToValue(_data) };\r\n onExportExcel(layout);\r\n }\r\n };\r\n const menuItem = (\r\n {\r\n menuClickHandler(info.key);\r\n }}\r\n >\r\n }>\r\n
Import
\r\n
\r\n\r\n }>\r\n Export\r\n \r\n \r\n );\r\n\r\n return (\r\n <>\r\n
\r\n \r\n e.preventDefault()}\r\n style={{\r\n height: \"38px\",\r\n color: \"#ffffff\",\r\n fontSize: \"1em\",\r\n borderRadius: \"6px\",\r\n margin: \" 11px 11px 0px 0px\",\r\n justifyContent: \"center\",\r\n }}\r\n />\r\n \r\n )\r\n }\r\n />\r\n
\r\n {\r\n if (tableLoad) {\r\n setTableLoad(false);\r\n }\r\n }}\r\n >\r\n \r\n ) => (\r\n \r\n ),\r\n row: EditableRow,\r\n },\r\n }\r\n : {}\r\n }\r\n dataSource={_data}\r\n loading={tableLoad}\r\n columns={columns as ColumnTypes}\r\n rowClassName={() => \"editable-row\"}\r\n bordered\r\n id=\"table-control\"\r\n scroll={{ x: 1500 - 1000, y: 500 }}\r\n footer={() => {\r\n const haveInput = tableFooter?.find((e: any) => e.useValue);\r\n\r\n return tableFooter.map((footer: any) => {\r\n return (\r\n \r\n );\r\n });\r\n }}\r\n summary={() => {\r\n try {\r\n const cols = layout?.template?.attribute?.column;\r\n let isShowSum = false;\r\n cols.forEach((col: any) => {\r\n if (col.control.template.attribute.isSummary === \"Y\") {\r\n isShowSum = true;\r\n return;\r\n }\r\n });\r\n if (isShowSum && _data.length > 0 && summary) {\r\n return (\r\n \r\n \r\n \r\n Total\r\n \r\n {cols.map((col: any, idx: any) => {\r\n if (col.control.template.attribute.isSummary !== \"Y\") {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n {!isNaN(\r\n Number(summary[col.control.template.label])\r\n )\r\n ? Number(\r\n Number(\r\n summary[col.control.template.label]\r\n )\r\n ).toLocaleString(\"en-US\", {\r\n minimumFractionDigits: Number(\r\n col.control.template.attribute.decimal\r\n ),\r\n })\r\n : \"0.00\"}\r\n \r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n \r\n );\r\n }\r\n } catch (error) {\r\n if (process.env.NODE_ENV === \"development\") {\r\n console.error(\"table=>sum=>\", error);\r\n }\r\n }\r\n }}\r\n />\r\n\r\n \r\n\r\n {\r\n try {\r\n if (_selectedData?.length > 0) {\r\n let newRows: any[] = [];\r\n _selectedData?.map((e: any, idx: number) => {\r\n let newRow = createRowCopy(idx);\r\n layout.template.attribute.mergecolumnrefdoc.forEach(\r\n (col: any) => {\r\n newRow[col.ColumnLabel] = e[col.RefDocLabel];\r\n }\r\n );\r\n newRows.push(newRow);\r\n });\r\n handleAddMultiRow(newRows);\r\n // setSelectedData([]);\r\n setRefTableDialogVisible(false);\r\n }\r\n } catch (error) {\r\n if (process.env.NODE_ENV === \"development\") {\r\n console.error(\"table=>ref=>\", error);\r\n }\r\n }\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default React.memo(TableComponent);\r\n","import { Col, Row } from \"react-bootstrap\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport React, { useState } from \"react\";\r\n\r\ntype Props = {\r\n header: string;\r\n dataLength: number;\r\n isVisible: boolean;\r\n setIsVisible: (isVisible: boolean) => void;\r\n moveFunc: (key: number) => void;\r\n setLoading: (load: boolean) => void;\r\n};\r\n\r\nconst MoveToDialog = ({\r\n header,\r\n dataLength,\r\n isVisible,\r\n setLoading,\r\n setIsVisible,\r\n moveFunc,\r\n}: Props) => {\r\n const [moveValue, setMoveValue] = useState(1);\r\n const renderFooter = () => {\r\n return (\r\n
\r\n setIsVisible(false)}\r\n style={{ height: \"38px\" }}\r\n className=\"p-button-text\"\r\n />\r\n {\r\n setLoading(true);\r\n moveFunc(moveValue - 1);\r\n setIsVisible(false);\r\n }}\r\n style={{ height: \"38px\" }}\r\n autoFocus\r\n />\r\n
\r\n );\r\n };\r\n return (\r\n <>\r\n {\r\n setIsVisible(false);\r\n setMoveValue(1);\r\n }}\r\n footer={renderFooter}\r\n className=\"information-dialog\"\r\n draggable={false}\r\n closable={false}\r\n resizable={false}\r\n blockScroll\r\n >\r\n \r\n {\r\n if (e?.value <= dataLength) {\r\n setMoveValue(e?.value);\r\n }\r\n }}\r\n />\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default MoveToDialog;\r\n","import { Input, InputNumber } from \"antd\";\r\nimport React, { useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\n\r\ntype Props = {\r\n footerAtt: any;\r\n onChange: (changeObj?: any) => void;\r\n haveInput: boolean;\r\n};\r\n\r\nconst TableFooter = ({ footerAtt, onChange, haveInput }: Props) => {\r\n const [inputValue, setInputValue] = useState(footerAtt.value);\r\n\r\n return (\r\n
\r\n \r\n \r\n {footerAtt.label + \" : \"}\r\n \r\n {footerAtt.useValue ? (\r\n <>\r\n {\" \"}\r\n \r\n \r\n `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")\r\n }\r\n parser={(value) => value!.replace(/\\$\\s?|(,*)/g, \"\")}\r\n onChange={(e) => {\r\n setInputValue(e);\r\n }}\r\n onBlur={(e) => {\r\n if (Number(e.target.value)) {\r\n console.log(footerAtt);\r\n\r\n let dup = { ...footerAtt };\r\n dup.value = Number(e.target.value);\r\n onChange(dup);\r\n }\r\n }}\r\n controls={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\nexport default TableFooter;\r\n","import { Checkbox, Table } from \"antd\";\r\nimport React, { useState } from \"react\";\r\n\r\ntype Props = {\r\n newRows: any[];\r\n columns: any[];\r\n onCheckedHeader: (checked: boolean) => void;\r\n};\r\n\r\nconst ExcelTablePreview = ({ newRows, columns, onCheckedHeader }: Props) => {\r\n const [sourceData, setsourceData] = useState(newRows);\r\n\r\n const [displayData, setDisplayData] = useState(newRows);\r\n const [pageSize, setPageSize] = useState(10);\r\n const [current, setCurrent] = useState(1);\r\n console.log(\"newRows\", newRows);\r\n console.log(\"newRows=>columns\", columns);\r\n return (\r\n <>\r\n e.key !== \"operation\")}\r\n scroll={{ x: 1500 - 1000, y: 500 }}\r\n pagination={{\r\n pageSize: pageSize,\r\n onShowSizeChange: (current, size) => {\r\n setPageSize(size);\r\n },\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ExcelTablePreview;\r\n","import _ from \"lodash\";\r\n\r\nexport const findMaxInArrayObject = (arr: any[], key: string) => {\r\n const maxValue = arr.reduce((max, current) => {\r\n return current[key] > max[key] ? current : max;\r\n }, arr[0]);\r\n return maxValue;\r\n};\r\n\r\nexport function checkTheKeyMatch(\r\n arr1: any[],\r\n arr2: any[],\r\n key: string | number\r\n) {\r\n // Extract MemoId from both arrays\r\n const arrItems1 = arr1?.map((item: { [x: string]: any }) => item[key]);\r\n const arrItems2 = arr2?.map((item: { [x: string]: any }) => item[key]);\r\n return _.isEqual(arrItems1, arrItems2);\r\n}\r\n","import { Form, Input, Tooltip } from \"antd\";\r\nimport React, { useEffect } from \"react\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useWatch } from \"react-hook-form\";\r\nimport { TableInputProps } from \"../TableComponent/TableComponent\";\r\n\r\ntype InputFormProps = {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n name: string;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n};\r\n\r\nexport const AutoNumber: React.FC = ({\r\n colIdx,\r\n rowIdx,\r\n control,\r\n name,\r\n data,\r\n template,\r\n col,\r\n colAction,\r\n colText,\r\n canEditDoc,\r\n checkActionPage,\r\n buttonType,\r\n onControlChange,\r\n ...props\r\n}) => {\r\n return (\r\n {\r\n // if (!field.value || field.value === \"\") {\r\n // field.value = template.attribute.default;\r\n // }\r\n return (\r\n <>\r\n \r\n \r\n \r\n {\r\n field.onChange(e);\r\n onControlChange(template, e.target.value);\r\n }}\r\n id={template.label.replaceAll(\" \", \"_\")}\r\n value={field.value ? field.value : undefined}\r\n readOnly={!canEditDoc || template.attribute.readonly === \"Y\"}\r\n size={\"large\"}\r\n className=\"input-component\"\r\n placeholder={\r\n template.type !== \"an\"\r\n ? template.attribute.description\r\n : \"Auto Number\"\r\n }\r\n maxLength={\r\n parseInt(template.attribute.length) === 0\r\n ? undefined\r\n : parseInt(template.attribute.length)\r\n }\r\n // defaultValue={template.attribute.default}\r\n disabled={\r\n !canEditDoc ||\r\n template.attribute.readonly === \"Y\" ||\r\n template.type === \"an\"\r\n }\r\n // onBlur={(e) => onChange(e.target.value)}\r\n status={\r\n isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] &&\r\n \"error\"\r\n }\r\n />\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[rowIdx] &&\r\n errors?.items[rowIdx].layout[colIdx] && (\r\n \r\n {template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n />\r\n );\r\n};\r\n// export default InputControlComponent;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport \"./ButtonComponent.css\";\r\nimport { useHistory } from \"react-router\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport ComponentLabel from \"../ComponentLabel\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n col?: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n colText?: number;\r\n colAction?: number;\r\n documentNo: any;\r\n renderInTable?: boolean;\r\n errorValid?: any;\r\n statusMemoDetail?: boolean;\r\n name: any;\r\n control: any;\r\n canEditDoc: boolean;\r\n}\r\nexport default function ButtonComponent(props: Props) {\r\n const [url, setUrl] = useState(\"\");\r\n const history = useHistory();\r\n\r\n useEffect(() => {\r\n if (props.template.URL) {\r\n let newUrl: string = props.template.URL;\r\n newUrl = newUrl.replace(\"TP\", \"template\");\r\n if (newUrl.indexOf(\"/Memo?\") !== -1) {\r\n newUrl = newUrl.replace(\"/Memo?\", \"MemoID=0&\");\r\n }\r\n if (newUrl.startsWith(\"http\")) {\r\n newUrl = newUrl;\r\n } else if (!newUrl.startsWith(\"?\")) {\r\n newUrl = \"?\" + newUrl;\r\n }\r\n setUrl(newUrl);\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n {\r\n const temp = props.template;\r\n let str = \"\";\r\n if (props.documentNo !== \"Auto Generate\") {\r\n let param = \"\";\r\n let val = \"\";\r\n temp.attribute.items.map((item: any, idx: number) => {\r\n item.layout.map((_layout: any) => {\r\n if (_layout.control.label === \"Document No\") {\r\n val = props.documentNo;\r\n }\r\n param = _layout.paramiter.value;\r\n });\r\n });\r\n if (param !== \"\" && val !== \"\") {\r\n str = \"&\" + param + \"=\" + val;\r\n }\r\n\r\n if (url.startsWith(\"?\")) {\r\n window.open(`/Request${url + str}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n window.open(`${url + str}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n confirmDialog({\r\n message: \"กรุณาบันทึกก่อนดำเนินการ\",\r\n header: \"Alert\",\r\n icon: \"pi pi-exclamation-triangle\",\r\n rejectClassName: \"hide-component\",\r\n });\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\n// import \"tinymce/tinymce\";\r\n// // import tinymce from \"tinymce/tinymce\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\nimport \"./EditorComponent.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { UploadTinyMce } from \"../../../Services/UploadFileService\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport ComponentLabel from \"../ComponentLabel\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { log } from \"console\";\r\nimport { GetPort } from \"../../../Services/AttachFileService\";\r\nimport { checkRequireFromTemplate } from \"../../../Helper/RequestScreenHelper\";\r\n\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n colText: any;\r\n col?: any;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n errorValid?: any;\r\n statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n buttonType: any;\r\n canEditDoc: boolean;\r\n colAction: any;\r\n edFont?: any;\r\n defaultFont?: any;\r\n}\r\n\r\nexport const EditorComponent = (props: Props) => {\r\n const initialValues = {\r\n value: null,\r\n };\r\n const [contentEditor, setContentEditor] = useState(\r\n !props.data.value ? initialValues : props.data\r\n );\r\n\r\n const [loading, setLoading] = useState(true);\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n let _tinyURL = _userData.TinyURL;\r\n\r\n async function defaultValue() {\r\n if (props.data.value) {\r\n props.data.value = props.data.value\r\n .replace(/\\{/g, \"<\")\r\n .replace(/\\}/g, \">\")\r\n .replace(/\\'/g, \"\");\r\n setContentEditor((prevState: any) => ({\r\n ...prevState,\r\n value: props.data.value,\r\n }));\r\n } else {\r\n props.data.value = \"\";\r\n }\r\n }\r\n const handleEditorChange = (content: any, editor: any, onChange: any) => {\r\n applyStylesToEditor(editor);\r\n onChange(content);\r\n };\r\n\r\n const applyStylesToEditor = (editor: any) => {\r\n const editorBody = editor.getBody();\r\n if (editorBody) {\r\n editorBody.style.wordBreak = \"break-word\";\r\n editorBody.style.overflowWrap = \"break-word\";\r\n editorBody.querySelectorAll(\"td\").forEach((cell: any) => {\r\n cell.style.wordBreak = \"break-word\";\r\n cell.style.overflowWrap = \"break-word\";\r\n });\r\n }\r\n };\r\n\r\n const applyStylesToContent = (content: string) => {\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = content;\r\n div.style.wordBreak = \"break-word\";\r\n div.style.overflowWrap = \"break-word\";\r\n div.querySelectorAll(\"td\").forEach((cell: any) => {\r\n cell.style.wordBreak = \"break-word\";\r\n cell.style.overflowWrap = \"break-word\";\r\n });\r\n return div.innerHTML;\r\n };\r\n\r\n return (\r\n {\r\n const _value =\r\n value?.replace(/\\{/g, \"<\").replace(/\\}/g, \">\").replace(/\\'/g, \"\") ||\r\n \"\";\r\n const styledValue = applyStylesToContent(_value);\r\n\r\n return (\r\n <>\r\n \r\n {props.template.attribute.readonly === \"Y\" ? (\r\n
\r\n ) : (\r\n {\r\n editor.on(\"init\", () => {\r\n applyStylesToEditor(editor);\r\n });\r\n },\r\n }}\r\n value={styledValue}\r\n onEditorChange={(content: any, editor: any) => {\r\n handleEditorChange(content, editor, onChange);\r\n }}\r\n />\r\n )}\r\n \r\n \r\n );\r\n }}\r\n name={props.name}\r\n rules={{\r\n required: checkRequireFromTemplate(props.template, props.buttonType),\r\n }}\r\n control={props.control}\r\n />\r\n );\r\n};\r\n","import React from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\n\r\ninterface Props {\r\n key: any;\r\n col?: any;\r\n colText?: number;\r\n colAction?: number;\r\n}\r\n\r\nexport const EmptyComponent = (props: Props) => {\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","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Col, Form, Row } from \"react-bootstrap\";\r\nimport \"./ImageComponent.css\";\r\nimport { Image } from \"antd\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { RiDeleteBack2Line } from \"react-icons/ri\";\r\nimport { CgCloseR } from \"react-icons/cg\";\r\n\r\nimport { Toast } from \"primereact/toast\";\r\n\r\nimport { Controller } from \"react-hook-form\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { replaceSpecialChar } from \"../../../Helper/ReplaceSpecialChar\";\r\nimport { checkRequireFromTemplate } from \"../../../Helper/RequestScreenHelper\";\r\n\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n col?: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n renderInTable?: string;\r\n colText?: number;\r\n colAction?: number;\r\n errorValid?: string;\r\n statusMemoDetail?: boolean;\r\n name: string;\r\n control: any;\r\n buttonType: string;\r\n canEditDoc: boolean;\r\n}\r\n\r\nexport default function ImageComponent(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = userData.SharepointSiteURL;\r\n let port = location.host === \"localhost:5001\" ? undefined : location.port;\r\n let _TinyURL =\r\n port !== undefined || \"\" ? userData.TinyURL + \":\" + port : userData.TinyURL;\r\n const initialValues = {\r\n value: null,\r\n };\r\n const [valueState, setValueState] = useState(\r\n props.data.value == null || undefined ? initialValues : props.data\r\n );\r\n const [fileType, setFileType] = useState(\"\");\r\n useEffect(() => {\r\n deFaultValue();\r\n }, []);\r\n\r\n function isValidUrl(url: string | null) {\r\n if (!url) {\r\n return url;\r\n }\r\n try {\r\n new URL(url);\r\n return url;\r\n } catch (err) {\r\n return `${location.protocol}//${userData.TinyURL}${url}`;\r\n }\r\n }\r\n\r\n const deFaultValue = async () => {\r\n if (props.template.fileType) {\r\n const myArray = props.template.fileType.split(\"*\");\r\n let mapData: any = [];\r\n for (let index = 1; index < myArray.length; index++) {\r\n myArray[index] = \".\" + myArray[index];\r\n mapData.push(myArray[index]);\r\n }\r\n setFileType(mapData.toString());\r\n }\r\n let _port = location.port;\r\n if (!location.host.startsWith( \"localhost:\")) {\r\n if (_port) {\r\n userData.TinyURL = userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n };\r\n\r\n async function onFileSelect(e: any, onChange: any) {\r\n if (e.target.files[0] !== null) {\r\n const files = e.target.files[0];\r\n var hasInvalidFiles = false;\r\n if (props.template?.fileType) {\r\n const myArray = props.template?.fileType.split(\"*\");\r\n for (let index = 1; index < myArray.length; index++) {\r\n if (files.name.endsWith(myArray[index])) {\r\n hasInvalidFiles = true;\r\n continue;\r\n }\r\n }\r\n }\r\n const _port = location.port;\r\n if (!location.host.startsWith( \"localhost:\")) {\r\n if (_port) {\r\n userData.TinyURL = userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n if (!hasInvalidFiles) {\r\n toggleAlert({\r\n description: `Unsupported file selected.`,\r\n message: `File type warning.`,\r\n type: \"warning\",\r\n });\r\n\r\n setValueState((prevState: any) => ({\r\n ...prevState,\r\n value: null,\r\n }));\r\n e.target.value = null;\r\n return;\r\n }\r\n const formData = new FormData();\r\n var guid = \"imageControl\" + generateQuickGuid();\r\n formData.append(\"files\", files);\r\n formData.append(\"docSet\", guid);\r\n formData.append(\"actorID\", userData.employeeData.EmployeeId);\r\n var response = await UploadFileRenderControl(formData);\r\n onChange(replaceSpecialChar(response.data.pathUrl));\r\n }\r\n }\r\n return (\r\n <>\r\n \r\n {\r\n value = isValidUrl(value);\r\n\r\n return (\r\n <>\r\n {\r\n console.log(`${_sharepointSiteURL}${value}`);\r\n console.log(\r\n `${location.protocol}//${userData.TinyURL}${value}`\r\n );\r\n }}\r\n sm={props.col === undefined ? 12 : undefined}\r\n md={props.col === undefined ? props.colText : undefined}\r\n xs={props.col === undefined ? 12 : undefined}\r\n xl={props.col === undefined ? props.colText : undefined}\r\n className={\r\n props.renderInTable === undefined ? \"padding-controller\" : \"\"\r\n }\r\n >\r\n {props.renderInTable != \"renderInTable\" && (\r\n \r\n \r\n
\r\n \r\n {props.template.label}\r\n \r\n {props.template.attribute.require === \"Y\" && (\r\n \r\n *\r\n \r\n )}\r\n
\r\n

{props.template.alter}

\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {value ? (\r\n \r\n
\r\n \r\n
\r\n {props.template.attribute?.readonly === \"N\" && (\r\n
\r\n {\r\n setValueState((prevState: any) => ({\r\n ...prevState,\r\n value: null,\r\n }));\r\n onChange(null);\r\n }}\r\n />\r\n
\r\n )}\r\n
\r\n ) : (\r\n <>\r\n {props.template.attribute?.readonly === \"N\" && (\r\n {\r\n console.log(fileType, \"fileType\");\r\n }}\r\n disabled={\r\n !props.canEditDoc ||\r\n props.template.attribute.readonly === \"Y\"\r\n }\r\n type=\"file\"\r\n onChange={(e: any) => {\r\n onFileSelect(e, onChange);\r\n }}\r\n className={`set-input-component-css form-control`}\r\n />\r\n )}\r\n \r\n File Formats Accepted {props.template?.fileType}\r\n \r\n \r\n )}\r\n\r\n {isSubmitted &&\r\n errors?.items &&\r\n errors?.items[props.rowIdx] &&\r\n errors?.items[props.rowIdx].layout[props.colIdx] && (\r\n \r\n {props.template.label} is required.\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n rules={{\r\n required:\r\n props.template.attribute.require === \"Y\" &&\r\n checkRequireFromTemplate(props.template, props.buttonType),\r\n }}\r\n name={props.name}\r\n control={props.control}\r\n />\r\n \r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\n// import { SelectCheckboxComponent } from \"../../AntdControlComponent/MainCheckboxControl/SelectCheckboxComponent\";\r\nimport { CheckboxControlComponent } from \"../../AntdControlComponent/MainCheckboxControl/CheckboxComponent\";\r\nimport { SelectCheckboxControlComponent } from \"../../AntdControlComponent/MainCheckboxControl/SelectCheckboxComponent\";\r\nimport CheckboxDropdownComponent from \"./CheckboxDropdownComponent/CheckboxDropdownComponent\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n colText?: number;\r\n colAction?: number;\r\n renderInTable?: boolean;\r\n errorValid?: any;\r\n statusMemoDetail?: boolean;\r\n name: any;\r\n control: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n buttonType: string;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n}\r\nexport default function MainCheckboxComponents(props: Props) {\r\n\r\n return (\r\n <>\r\n {props.template.attribute.display === \"dd\" && (\r\n \r\n )}\r\n {props.template.attribute.display !== \"dd\" && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport \"./HeadingComponent.css\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n}\r\nexport default function HeadingComponent(props: Props) {\r\n return (\r\n
\r\n

\r\n

{props.template.label}
\r\n
\r\n {props.template.alter != \"\" ? `${props.template.alter}` : \"\"}\r\n
\r\n

\r\n
\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n}\r\nexport default function HeadingComponent(props: Props) {\r\n return (\r\n <>\r\n {props.template.istext == \"Y\" ? (\r\n \r\n \r\n {props.template.textvalue}\r\n \r\n \r\n ) : (\r\n
{props.template.textvalue}
\r\n )}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport HeadingComponent from \"./HeadingComponent/HeadingComponent\";\r\nimport TextComponent from \"./TextComponent/TextComponent\";\r\nimport { Col, Row } from \"antd\";\r\nimport { Button } from \"primereact/button\";\r\n\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n}\r\nexport default function MainTextComponents(props: Props) {\r\n return (\r\n <>\r\n \r\n {props.template.istext === \"N\" && (\r\n \r\n )}\r\n {props.template.istext === \"Y\" && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport \"./ButtonComponent.css\";\r\nimport { useHistory } from \"react-router\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport ComponentLabel from \"../ComponentLabel\";\r\nimport { Button } from \"antd\";\r\ninterface Props {\r\n template: any;\r\n data: any;\r\n col?: any;\r\n rowIdx: number;\r\n colIdx: number;\r\n onChangeEditForm?: (dataRequest: any, rowIdx: number, colIdx: number) => void;\r\n colText?: number;\r\n colAction?: number;\r\n documentNo: any;\r\n renderInTable?: boolean;\r\n errorValid?: any;\r\n statusMemoDetail?: boolean;\r\n name: any;\r\n control: any;\r\n canEditDoc: boolean;\r\n onCheckInterface:any; \r\n}\r\nexport default function ButtonSpecialComponent(props: Props) {\r\n const [loadingInterface, setLoadingInterface] = useState(false);\r\n return (\r\n <>\r\n {/* */}\r\n \r\n
\r\n {\r\n props.onCheckInterface(props.template.label, setLoadingInterface);\r\n }}\r\n >{props.template.alter}\r\n
\r\n \r\n \r\n );\r\n}\r\n","import React, { FC } from \"react\";\r\nimport { Controller, UseFormGetValues, useFieldArray } from \"react-hook-form\";\r\nimport { formatColumn } from \"../../../Helper/formatColumn\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { IAutoNumberAttibute } from \"../../../IRequestModel/IAutoNumberFormat\";\r\nimport { IMemoDetailModel } from \"../../../IRequestModel/IMemoDetailModel\";\r\nimport { AttachmentControlComponent } from \"../../AntdControlComponent/AttachmentUploadControlComponent/AttachmentComponent\";\r\nimport { AutoNumber } from \"../../AntdControlComponent/AutoNumberFix/AutoNumberFix\";\r\nimport { DatePickerControlComponent } from \"../../AntdControlComponent/DatePickerControlComponent/DatePickerControlComponent\";\r\nimport { InputControlComponent } from \"../../AntdControlComponent/InputControlComponent/InputControlComponent\";\r\nimport { InputNumberControlComponent } from \"../../AntdControlComponent/InputNumberControlComponent/InputNumberControlComponent\";\r\nimport { RadioControlComponent } from \"../../AntdControlComponent/RadioControlComponent/RadioControlComponent\";\r\nimport { SelectDropdownControlComponent } from \"../../AntdControlComponent/SelectDropdownContronComponent/SelectDropdownContronComponent\";\r\nimport TableComponent from \"../../AntdControlComponent/TableComponent/TableComponent\";\r\nimport { InputTextAreaControlComponent } from \"../../AntdControlComponent/TextAreaControlComponent/InputTextAreaControlComponent\";\r\nimport ButtonComponent from \"../../ControlComponents/ButtonComponent/ButtonComponent\";\r\nimport ComponentLabel from \"../../ControlComponents/ComponentLabel\";\r\nimport { EditorComponent } from \"../../ControlComponents/EditorComponent/EditorComponent\";\r\nimport { EmptyComponent } from \"../../ControlComponents/EmptyComponent/EmptyComponent\";\r\nimport ImageComponent from \"../../ControlComponents/ImageComponent/ImageComponent\";\r\nimport MainCheckboxComponents from \"../../ControlComponents/MainCheckboxComponents/MainCheckboxComponents\";\r\nimport MainTextComponents from \"../../ControlComponents/MainTextComponents/MainTextComponents\";\r\n\r\nimport $ from \"jquery\";\r\nimport ButtonSpecialComponent from \"../../ControlComponents/ButtonComponent/ButtonSpecialComponent\";\r\nimport { ILogicRequestBody } from \"../../../IRequestModel/ILogicModel\";\r\nimport { checkRequireFromTemplate } from \"../../../Helper/RequestScreenHelper\";\r\n\r\ntype Props = {\r\n formKey: number;\r\n nestIndex: number;\r\n control: any;\r\n register: any;\r\n documentNo: any;\r\n controlRef: any;\r\n onControlChange: (controlTemplate: any, controlValue: any) => any;\r\n controlUpdate: any;\r\n calCulateCorecontrol: any;\r\n isControlLoading: any;\r\n canEditDoc: boolean;\r\n checkActionPage: string;\r\n tableSummaries?: any[];\r\n updateTableSummaries: (tableTemp: any, value: any) => void;\r\n buttonType: string;\r\n autoNumFormat: IAutoNumberAttibute;\r\n onCheckInterface: any;\r\n onSubmit: any;\r\n memoDetail: IMemoDetailModel;\r\n checkInterFace: boolean;\r\n returnMessage: string;\r\n listReturn: any;\r\n interfaceButton: any;\r\n actionAlert?: any;\r\n setButtonType: (data: any) => void;\r\n edFont?: any;\r\n defaultFont?: any;\r\n allLogicInTable: ILogicRequestBody[];\r\n getValues: UseFormGetValues<{\r\n items: any;\r\n }>;\r\n};\r\n\r\nconst Controls: FC = ({\r\n formKey,\r\n control,\r\n nestIndex,\r\n register,\r\n documentNo,\r\n controlRef,\r\n onControlChange,\r\n controlUpdate,\r\n autoNumFormat,\r\n isControlLoading,\r\n calCulateCorecontrol,\r\n allLogicInTable,\r\n memoDetail,\r\n onCheckInterface,\r\n onSubmit,\r\n canEditDoc,\r\n checkActionPage,\r\n tableSummaries,\r\n updateTableSummaries,\r\n buttonType,\r\n setButtonType,\r\n checkInterFace,\r\n returnMessage,\r\n listReturn,\r\n getValues,\r\n interfaceButton,\r\n actionAlert,\r\n edFont,\r\n defaultFont,\r\n}) => {\r\n const { toggleAlert } = useAlert();\r\n const { fields, remove, append, update } = useFieldArray({\r\n control,\r\n name: `items[${nestIndex}].layout`,\r\n });\r\n\r\n return (\r\n <>\r\n {fields.map((layout: any, layoutIdx: number) => {\r\n const layoutLength = fields.length;\r\n const grid_size = 12 / layoutLength;\r\n let _colText = 0;\r\n let _colAction = 0;\r\n if (layoutLength == 1) {\r\n _colText =\r\n layout.template.type === \"tb\" || layout.template.type === \"ed\"\r\n ? 11\r\n : 2;\r\n _colAction = layout.template.type === \"ed\" ? 12 : 10;\r\n } else if (layoutLength == 2) {\r\n _colText = 2;\r\n _colAction = 4;\r\n }\r\n let _isCanEdit = canEditDoc;\r\n\r\n if (layout.template.type === \"l\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"ed\" && layout.isShow !== false) {\r\n return (\r\n // \r\n <>\r\n \r\n \r\n \r\n // \r\n );\r\n } else if (layout.template.type === \"c\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"ta\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n // }\r\n } else if (layout.template.type === \"dd\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"cb\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"at\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"t\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"r\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"tb\" && layout.isShow !== false) {\r\n // check all column isShow == false\r\n // if isHideAllColumn == true then hide all table and label but save data to api on submit\r\n const columns = layout.template.attribute.column as Array<{\r\n label: string;\r\n isShow: boolean | undefined;\r\n control: any;\r\n }>;\r\n console.log({ [layout.template.label]: columns });\r\n\r\n const isHideAllColumn = !columns\r\n .map(\r\n (o) =>\r\n o.isShow === undefined ||\r\n o.isShow ||\r\n o.control.template.attribute.require === \"Y\"\r\n )\r\n .reduce((pre, cur) => pre || cur);\r\n\r\n return (\r\n <>\r\n {/* {!isHideAllColumn && (\r\n \r\n )} */}\r\n \r\n \r\n );\r\n } else if (layout.template.type === \"d\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"bt\" && layout.isShow !== false) {\r\n //incomplete\r\n\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"an\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"rvs\" && layout.isShow !== false) {\r\n // incomplete\r\n // setRvsPosition({ rowIdx: i, colIdx: idx });\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"im\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n } else if (\r\n layout.template.type === \"em\" ||\r\n Object.keys(layout.template).length === 0\r\n ) {\r\n return (\r\n \r\n );\r\n } else if (layout.template.type === \"spc\" && layout.isShow !== false) {\r\n return (\r\n \r\n );\r\n }\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default React.memo(Controls);\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect } from \"react\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\nimport Field from \"../Input/Field\";\r\n\r\ninterface Props {\r\n setClassNameProps?: any;\r\n setClassNameSpanProps?: any;\r\n setStyleDivProps?: any;\r\n setStyleProps?: any;\r\n onChangeProps?: any;\r\n valueProps?: any;\r\n disabledProps?: any;\r\n placeholderProps?: any;\r\n setIconProps?: any;\r\n onClickProps?: any;\r\n readOnlyProps?: any;\r\n setControllerId?: any;\r\n autoFocusProps?: any;\r\n fieldProps?: any;\r\n typeProps?: any;\r\n acceptProps?: any;\r\n keyProps?: any;\r\n onBlurProps?: any;\r\n onFocusProps?: any;\r\n}\r\n\r\nexport const InputTextComponents = (props: Props) => {\r\n return (\r\n
\r\n \r\n {props.setIconProps !== undefined ? props.setIconProps : null}\r\n props.onChangeProps(e.target.value, props.keyProps)}\r\n value={props.valueProps}\r\n \r\n disabled={props.disabledProps}\r\n placeholder={props.placeholderProps}\r\n onClick={props.onClickProps}\r\n readOnly={props.readOnlyProps}\r\n // id={props.setControllerId}\r\n // testing if id shows up in the inspect in the right format\r\n id={replaceSpecialChar(props.valueProps??\"\")}\r\n // value={replaceSpecialChar(props.valueProps??\"\")}\r\n autoFocus={props.autoFocusProps}\r\n type={props.typeProps}\r\n accept={props.acceptProps}\r\n onBlur={props.onBlurProps}\r\n onFocus={props.onFocusProps}\r\n\r\n // onBlur={(e) =>\r\n // props.onBlurProps\r\n // ? props.onBlurProps(e.target.value, props.keyProps)\r\n // : undefined\r\n // }\r\n {...props.fieldProps}\r\n />\r\n \r\n
\r\n );\r\n};\r\n","export const generateQuickGuid = () => {\r\n return (\r\n Math.random().toString(36).substring(2, 15) +\r\n Math.random().toString(36).substring(2, 15)\r\n );\r\n};\r\n","export const GetButtonMemoByMemoId = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetButtonMemoByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const ActionMemoPage = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/ActionMemoPage\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n return err\r\n });\r\n\r\n return respone;\r\n};\r\nexport const GetMemoDetailById = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoDetailById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetMemoDetail = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoDetail\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"GetMemoDetail=>err\", err);\r\n });\r\n return respone;\r\n};\r\nexport const GetMemoById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetMemoById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetAttachmentFilesByMemoId = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetAttachmentFilesByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetMemoDetailOnlyById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetMemoDetailOnlyById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetRefDocTemp = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetRefDocTemp\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetAllMemo = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetRefDocFormTable = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetRefDocFormTable\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetMemoHistoryDetail = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Memo/GetMemoHistoryDetail\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n return []\r\n });\r\n return respone;\r\n};\r\n\r\nexport const SetCheckAcces = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/SetCheckAccess\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n // window.location.href = \"/UnAuthorize\";\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const SpecialActions = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/SpecialActions\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n // window.location.href = \"/UnAuthorize\";\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const MAdvanceFormByMemoIds = async (memoIds: number[]) => {\r\n const response = await fetch(\"api/Memo/MAdvancveFormByMemoIds\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(memoIds),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n console.log(\"myres\", response);\r\n return response;\r\n};\r\n\r\nexport const ValidateDelegate = async (dataJson: any) => {\r\n const respone = await fetch(\"api/DelegateList/ValidateDelegate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"ValidateDelegate=>err\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const getStatusQueueByActorId = async (id: number) => {\r\n const respone = await fetch(`api/Memo/GetStatusQueueByActorId?id=${id}`, {\r\n method: \"GET\",\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const UpdateDismissById = async (id: number) => {\r\n const respone = await fetch(`api/Memo/UpdateDismissById?id=${id}`, {\r\n method: \"PATCH\",\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const GetMemoByAutoNumber = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Memo/GetMemoIdByAutoNumber\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n// const formatDateTimeDataReQuest = (value: any) => {\r\n// if (value != \"\") {\r\n// let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n// const NewDate = moment(someDateString).format(\"DD/MM/YYYY HH:mm:ss\");\r\n// return NewDate;\r\n// } else {\r\n// const NewDate = \"\";\r\n// return NewDate;\r\n// }\r\n// };\r\n\r\n// function setdefaultMemoDetail(data: any) {\r\n// let _memo: IMemoDetailModel = data.requestDetails.memoDetail;\r\n// const _listFormName = data.requestDetails.listFormNames[0];\r\n// const newDate = new Date();\r\n// let _dataSetInformation: any = {\r\n// request_date: formatDateTimeDataReQuest(newDate),\r\n// created_date: formatDateTimeDataReQuest(newDate),\r\n// status:\r\n// location.pathname === \"/PreviewTemplate\"\r\n// ? _listFormName.status\r\n// : \"New Request\",\r\n// modified_date: formatDateTimeDataReQuest(newDate),\r\n// modified_by: window.localStorage.getItem(\"employeeId\"),\r\n// created_by: window.localStorage.getItem(\"employeeId\"),\r\n// report_lang: _listFormName.ReportLang,\r\n// auto_approve_when: _listFormName.AutoApproveWhen,\r\n// GroupTemplateName: _listFormName.GroupTemplateName,\r\n// template_id: _listFormName.TemplateId,\r\n// template_name: _listFormName.TemplateName,\r\n// template_code: _listFormName.DocumentCode,\r\n// document_no: \"Auto Generate\",\r\n// template_detail: uuidv4().replace(/-/g, \"\"),\r\n// waiting_for: window.localStorage.getItem(\"nameTh\"),\r\n// waiting_for_id: window.localStorage.getItem(\"employeeId\"),\r\n// };\r\n// }\r\n","enum LoadState {\r\n IDLE = 0,\r\n LOADING = 1,\r\n COMPLETE = 2,\r\n FAIL = 4,\r\n}\r\nclass GetAllMasterDataService {\r\n private static data: any = null;\r\n private static error: any = null;\r\n private static state: LoadState = LoadState.IDLE;\r\n private static queue: { resolve: Function; reject: Function }[] = [];\r\n\r\n private static responseToQueue() {\r\n if (this.state == LoadState.COMPLETE) {\r\n this.queue.forEach(({ resolve }) => {\r\n resolve(this.data);\r\n });\r\n } else if (this.state == LoadState.FAIL) {\r\n this.queue.forEach(({ reject }) => {\r\n reject(this.error);\r\n });\r\n\r\n this.state = LoadState.IDLE;\r\n this.error = null;\r\n this.data = null;\r\n }\r\n }\r\n\r\n public static retrieve() {\r\n return new Promise(async (resolve, reject) => {\r\n try {\r\n // add callback to queue\r\n this.queue.push({ resolve, reject });\r\n\r\n // if (this.state == LoadState.IDLE) {\r\n // this.state = LoadState.LOADING;\r\n // this.data = await fetch(\"/api/MasterData/GetAll\").then((r) =>\r\n // r.json()\r\n // );\r\n // this.state = LoadState.COMPLETE;\r\n // }\r\n \r\n // ตอนโหลดหน้าเอกสาร state ไม่เป็น IDLE แต่ข้ามมาเป็น Loading หรือไม่ก็ COMPLETE เลยทำให้ไม่เข้าเงื่อนไข IDLE\r\n this.data = await fetch(\"/api/MasterData/GetAll\").then((r) =>\r\n r.json()\r\n );\r\n this.state = LoadState.COMPLETE;\r\n } catch (e) {\r\n this.error = e;\r\n this.state = LoadState.FAIL;\r\n }\r\n\r\n this.responseToQueue();\r\n });\r\n }\r\n}\r\n\r\nexport const GetAllMasterData = () => {\r\n return GetAllMasterDataService.retrieve();\r\n};\r\n\r\nexport const GetMasterDataByTypeNames = async (\r\n masterdataTypeNames: string[]\r\n) => {\r\n const respone = await fetch(\"/api/MasterData/GetMasterDataByTypeNames\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n masterdataTypeNames: masterdataTypeNames,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone.filter((e: any) => e.isActive === true);\r\n};\r\n\r\nexport const GetSignature = async () => {\r\n const respone = await fetch(\"/api/MasterData/GetSignature\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n return [];\r\n });\r\n\r\n return respone.filter((e: any) => e.isActive === true);\r\n};\r\nexport const GetReportSetting = async () => {\r\n const respone = await fetch(\"/api/MasterData/GetReportSetting\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone.filter((e: any) => e.isActive === true);\r\n};\r\nexport const GetIsDocControl = async () => {\r\n const respone = await fetch(\"/api/MasterData/GetIsDocControl\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const getAuthorization = async () => {\r\n const respone = await fetch(\"/api/MasterData/getAuthorization\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const getVersion = async () => {\r\n const respone = await fetch(\"/api/MasterData/getVersion\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const getVersionTempVC = async () => {\r\n const respone = await fetch(\"/api/MasterData/getVersionTempVC\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetLeaveTemplate = async () => {\r\n const respone = await fetch(\"api/MasterData/GetLeaveTemplate\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetLeaveTemplateByEmpId = async (empId: number) => {\r\n const respone = await fetch(`api/MasterData/GetLeaveTemplate/${empId}`)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetMasterDataFieldInfo = async () => {\r\n const respone = await fetch(\"api/MasterData/FieldInfo\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetMasterDataReportTem = async () => {\r\n const respone = await fetch(\"api/MasterData/GetReportTem\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetFontList = async () => {\r\n const respone = await fetch(\"api/MasterData/FontList\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetMasterDataBrowserAgent = async () => {\r\n return fetch(\"api/MasterData/GetBrowserAgent\")\r\n .then((response) => response.json() as Promise)\r\n .then((data: any[]) => {\r\n if (data.length > 0) {\r\n let mstData = {\r\n browsers: (data[0].value1 || \"\")\r\n .split(\"|\")\r\n .map((x: string) => x.trim().toLowerCase()),\r\n messages: (data[0].value2 || \"\")\r\n .split(\"|\")\r\n .map((x: string) => x.trim()),\r\n };\r\n return mstData;\r\n } else {\r\n return null;\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(GetMasterDataBrowserAgent.name, \":\", err);\r\n return Promise.reject(err);\r\n });\r\n};\r\n\r\nexport const GetMasteLeave = async (template: any) => {\r\n const response = await fetch(`/api/MasterData/GetMasteLeaveConfig?template=${template}`)\r\n .then((response) => response.json())\r\n .catch((err) => {\r\n console.error(\"Error fetching MasteLeave data:\", err);\r\n });\r\n return response;\r\n};\r\n","import {\r\n ILogicTypeHideControl,\r\n ILogicTypeReadOnly,\r\n} from \"../IRequestModel/ILogicModel\";\r\nimport { IMemoDetailModel } from \"../IRequestModel/IMemoDetailModel\";\r\nimport { IUserModel } from \"../IRequestModel/IUserModel\";\r\nimport { LogicOperatorType, LogicType } from \"../constants/logic-type\";\r\nimport { getDefValueInTemplate, getRefInforValue } from \"./RequestScreenHelper\";\r\nexport type advanceFormItemType = {\r\n label: string;\r\n type: string;\r\n items?: string[];\r\n columns?: { label: string; type: string; isInTable: boolean }[];\r\n};\r\n\r\nexport const enumToObject = (\r\n emun: Record\r\n): { [key: string]: string } => {\r\n const readableLabels: { [key: string]: string } = Object.fromEntries(\r\n Object.entries(emun).map(([key, value]) => [\r\n value,\r\n key.replace(/([a-z])([A-Z])/g, \"$1 $2\"),\r\n ])\r\n );\r\n return readableLabels;\r\n};\r\n\r\nexport const getTranFormAdvanceForm = (advanceForm: {\r\n items: any[];\r\n}): advanceFormItemType[] => {\r\n let result: {\r\n label: string;\r\n type: string;\r\n items?: string[];\r\n columns?: any[];\r\n }[] = [];\r\n advanceForm.items.forEach((item) => {\r\n const layout = item.layout;\r\n layout.forEach((control: any) => {\r\n const temp = control.template;\r\n if (temp.type === \"em\") {\r\n return;\r\n }\r\n\r\n if (temp.type === \"dd\") {\r\n result.push({\r\n label: temp.label,\r\n type: temp.type,\r\n items: temp.attribute.items.map((e: any) => e.item),\r\n });\r\n } else if (temp.type === \"tb\") {\r\n result.push({\r\n label: temp.label,\r\n type: temp.type,\r\n columns: temp.attribute?.column.map((e: any) => {\r\n return {\r\n label: e.control.template.label,\r\n type: e.control.template.type,\r\n };\r\n }),\r\n });\r\n } else {\r\n result.push({ label: temp.label, type: temp.type });\r\n }\r\n });\r\n });\r\n\r\n return result;\r\n};\r\n\r\nexport const checkIsCorrect = (\r\n aValue: string | number,\r\n operator: LogicOperatorType,\r\n bValue: string | number\r\n): boolean => {\r\n switch (operator) {\r\n case LogicOperatorType.Equal:\r\n return aValue === bValue;\r\n case LogicOperatorType.MoreThan:\r\n return Number(aValue) > Number(bValue);\r\n case LogicOperatorType.LessThan:\r\n return Number(aValue) < Number(bValue);\r\n case LogicOperatorType.GreaterThanAndEqual:\r\n return Number(aValue) >= Number(bValue);\r\n case LogicOperatorType.LessThanAndEqual:\r\n return Number(aValue) <= Number(bValue);\r\n case LogicOperatorType.NotEqual:\r\n return aValue !== bValue;\r\n case LogicOperatorType.Contain:\r\n return String(aValue).includes(String(bValue));\r\n case LogicOperatorType.StartWith:\r\n return String(aValue).startsWith(String(bValue));\r\n case LogicOperatorType.EndWith:\r\n return String(aValue).endsWith(String(bValue));\r\n default:\r\n return false;\r\n }\r\n};\r\n\r\nexport const implementValueWithJsonAction = (\r\n layout: any,\r\n jsonAction: string\r\n) => {\r\n switch (jsonAction) {\r\n case \"readonly\":\r\n layout.isReadOnly = true;\r\n break;\r\n case \"hide\":\r\n layout.isShow = false;\r\n break;\r\n case \"editable\":\r\n layout.isEditable = true;\r\n layout.isReadOnly = false;\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n};\r\n\r\nexport const isRefInfo = (compareWith: string) => {\r\n const refInfos = [\r\n \"Requestor_Employee_code\",\r\n \"Requestor_NameEn\",\r\n \"Requestor_NameTh\",\r\n \"Requestor_PositonEn\",\r\n \"Requestor_PositonTh\",\r\n \"Requestor_DivisionEn\",\r\n \"Requestor_DivisionTh\",\r\n \"Requestor_DepartmentEn\",\r\n \"Requestor_DepartmentTh\",\r\n \"Requestor_Email\",\r\n \"Actor_Employee_code\",\r\n \"Actor_NameEn\",\r\n \"Actor_NameTh\",\r\n \"Actor_PositonEn\",\r\n \"Actor_PositonTh\",\r\n \"Actor_DivisionEn\",\r\n \"Actor_DivisionTh\",\r\n \"Actor_DepartmentEn\",\r\n \"Actor_DepartmentTh\",\r\n \"Actor_Email\",\r\n ];\r\n\r\n return refInfos.includes(compareWith);\r\n};\r\n\r\nexport const processHideControlLogic = (\r\n jsonValue: ILogicTypeHideControl | ILogicTypeReadOnly,\r\n _control: any,\r\n updateTo: string,\r\n memoDetail: IMemoDetailModel,\r\n userData: IUserModel,\r\n controlValue?: any,\r\n controlTemplate?: any\r\n) => {\r\n let isTable = false;\r\n let isConditionSatisfied = false;\r\n try {\r\n let fieldsToCheck1: any = {};\r\n \r\n jsonValue.conditions.forEach((maincondition: any) => {\r\n let _con = maincondition;\r\n _con.conditions.forEach((subCondition: any) => {\r\n try {\r\n if (typeof subCondition.field === \"string\") {\r\n subCondition.field = JSON.parse(subCondition.field);\r\n }\r\n } catch (error) {\r\n subCondition.field = subCondition.field;\r\n }\r\n\r\n let checkValue = controlValue ? controlValue : _con.value;\r\n\r\n if (subCondition.comparewith) {\r\n _control.forEach((control: { layout: any[] }) => {\r\n control.layout.forEach((layout) => {\r\n if (\r\n layout.template.label === subCondition.comparewith ||\r\n isRefInfo(_con.comparewith || \"\")\r\n ) {\r\n checkValue = getRefInforValue(\r\n _con.comparewith || \"\",\r\n memoDetail,\r\n userData,\r\n layout.data.value\r\n );\r\n }\r\n });\r\n });\r\n }\r\n\r\n _control.forEach((control: { layout: any[] }) => {\r\n control.layout.forEach((layout) => {\r\n if (layout.template.label === subCondition.field) {\r\n fieldsToCheck1[subCondition.field] = layout.data.value\r\n ? layout.data.value\r\n : getDefValueInTemplate(layout.template);\r\n }\r\n });\r\n });\r\n subCondition.Value = checkValue;\r\n });\r\n });\r\n\r\n isConditionSatisfied = isConditionSatisfiedFunc2(fieldsToCheck1, jsonValue);\r\n console.log({fieldsToCheck1,isConditionSatisfied});\r\n\r\n //ทำเพื่อดักให้ใช้ได้ทุกเคสทั้งเก่าและใหม่\r\n try {\r\n const objLabel = JSON.parse(jsonValue.label);\r\n\r\n if (\r\n objLabel?.isInTable ||\r\n (controlTemplate && controlTemplate?.type === \"tb\")\r\n ) {\r\n isTable = true;\r\n } else {\r\n _control.forEach((control: { layout: any[] }) => {\r\n control.layout.forEach((layout: any) => {\r\n if (layout.template.label === objLabel.label) {\r\n if (updateTo === \"isShow\") {\r\n console.log({layout});\r\n\r\n layout.isShow = !isConditionSatisfied;\r\n } else {\r\n layout.isReadOnly = isConditionSatisfied;\r\n }\r\n\r\n if (isConditionSatisfied && objLabel.resetonaction) {\r\n layout.data.value = getDefValueInTemplate(layout.template);\r\n }\r\n } else if (layout.template.label === objLabel.isInTable) {\r\n layout.template.attribute?.column.map(\r\n (e: {\r\n label: string;\r\n isShow: boolean;\r\n isReadOnly: boolean;\r\n }) => {\r\n if (e.label === objLabel.label) {\r\n if (updateTo === \"isShow\") {\r\n e.isShow = !isConditionSatisfied;\r\n\r\n } else {\r\n e.isReadOnly = isConditionSatisfied;\r\n }\r\n }\r\n return e;\r\n }\r\n );\r\n }\r\n });\r\n });\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n \r\n _control.forEach((control: { layout: any[] }) => {\r\n control.layout.forEach((layout: any) => {\r\n console.log({layout});\r\n\r\n if (layout.template.label === jsonValue.label) {\r\n if (updateTo === \"isShow\") {\r\n layout.isShow = !isConditionSatisfied;\r\n\r\n } else {\r\n layout.isReadOnly = isConditionSatisfied;\r\n }\r\n\r\n if (isConditionSatisfied && jsonValue.resetonaction) {\r\n layout.data.value = getDefValueInTemplate(layout.template);\r\n }\r\n } else if (layout.template.label === jsonValue?.label?.isInTable) {\r\n layout.template.attribute?.column.map(\r\n (e: { label: string; isShow: boolean; isReadOnly: boolean }) => {\r\n if (e.label === jsonValue.label) {\r\n if (updateTo === \"isShow\") {\r\n e.isShow = !isConditionSatisfied;\r\n } else {\r\n e.isReadOnly = isConditionSatisfied;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n });\r\n });\r\n \r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n return isTable;\r\n};\r\n\r\nexport function isConditionSatisfiedFunc(\r\n controlLabel: string,\r\n value: any,\r\n jsonValue: ILogicTypeHideControl | ILogicTypeReadOnly\r\n) {\r\n try {\r\n for (let condition of jsonValue?.conditions) {\r\n for (let cond of condition.conditions) {\r\n if (cond.field === controlLabel) {\r\n if (checkIsCorrect(value, cond.operator, cond.value)) {\r\n return true;\r\n }\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n return false;\r\n}\r\n\r\nexport const isConditionSatisfiedFunc2 = (\r\n fields: { [x: string]: string | number },\r\n data: any\r\n) => {\r\n for (let conditionGroup of data.conditions) {\r\n if (areSubConditionsSatisfied(fields, conditionGroup.conditions)) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n};\r\n\r\nconst areSubConditionsSatisfied = (\r\n fields: { [x: string]: string | number },\r\n data: any[]\r\n) => {\r\n for (let cond of data) {\r\n if (\r\n !checkIsCorrect(\r\n fields[cond.field],\r\n cond.operator,\r\n cond.comparewith ? cond.Value : cond.value\r\n )\r\n ) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { Tooltip } from \"primereact/tooltip\";\r\nimport { Col, Row, Switch } from \"antd\";\r\nimport { CheckOutlined } from \"@ant-design/icons\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { Button } from \"primereact/button\";\r\n\r\ninterface Props {\r\n dataList: any;\r\n dialogKey: any;\r\n onSelectFunc?: (rowData: any) => void;\r\n columns: IColumn[];\r\n dialogVisible: boolean;\r\n setDialogVisible: (visible: boolean) => void;\r\n selectionMode?: \"single\" | \"multi\";\r\n loading?: boolean;\r\n customFooter?: any;\r\n selectionData?: any[];\r\n setSelectedData?: (val: any[]) => void;\r\n mutiable?: boolean;\r\n}\r\n\r\nexport interface IColumn {\r\n field: string;\r\n headerEn: string;\r\n headerTh?: string;\r\n}\r\n\r\nexport const SelectDataDialog = (props: Props) => {\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [searchKey, setSearchKey] = useState([]);\r\n const [userData, setUserData] = useUserContext();\r\n const tooltipRef = useRef(null);\r\n const [multiSwitch, setMultiSwitch] = useState(false);\r\n const [selectedDatas, setSelectedData] = useState([]);\r\n\r\n useEffect(() => {\r\n try {\r\n if (props.dialogVisible) {\r\n let keys: any[] = [];\r\n Object.keys(props.dataList[0] ? props.dataList[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n if (!key.toLowerCase().includes(\"id\") && key !== \"SignPicPath\") {\r\n keys.push(key);\r\n }\r\n }\r\n );\r\n setSearchKey([...keys]);\r\n setGlobalFilterValue(\"\");\r\n setSearchData(props.dataList);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }, [props.dialogVisible, props.dataList]);\r\n\r\n function toggleModal() {\r\n props.setDialogVisible(!props.dialogVisible);\r\n }\r\n\r\n const renderHeader = () => {\r\n return (\r\n \r\n \r\n }\r\n setClassNameSpanProps={\"p-input-icon-left\"}\r\n />\r\n \r\n {props.mutiable && (\r\n \r\n Multi select\r\n \r\n {\r\n setSelectedData([]);\r\n setMultiSwitch(!multiSwitch);\r\n }}\r\n />\r\n \r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n // useEffect(() => {\r\n // tooltipRef.current && tooltipRef.current.updateTargetEvents();\r\n // }, [searchData]);\r\n const dynamicColumns = props.columns.map((col, i) => {\r\n if (col.field !== \"Memo_MAdvancveForm\") {\r\n return (\r\n \r\n

{col.headerEn}

\r\n

{col.headerTh}

\r\n \r\n }\r\n body={(rowData) => {\r\n let newField = \"\";\r\n if (userData.Lang === \"EN\") {\r\n newField = col.field?.replace(\"Th\", \"En\");\r\n // return rowData[newField];\r\n } else {\r\n newField = col.field?.replace(\"En\", \"Th\");\r\n // return rowData[newField];\r\n }\r\n\r\n return (\r\n {\r\n if (props.dialogKey === \"Employee\") {\r\n tooltipRef.current &&\r\n tooltipRef.current.updateTargetEvents();\r\n }\r\n }}\r\n >\r\n {rowData[newField]}\r\n \r\n );\r\n }}\r\n />\r\n );\r\n }\r\n });\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n try {\r\n const value = e;\r\n const data = props.dataList.filter((data: any) => {\r\n let findData: any = [];\r\n searchKey.map((col: any) => {\r\n let field = col;\r\n if (data[field]) {\r\n if (\r\n data[field]\r\n .toString()\r\n .toLowerCase()\r\n .indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n findData.push(data);\r\n }\r\n }\r\n });\r\n if (findData.length > 0) {\r\n return true;\r\n }\r\n });\r\n setSearchData([...data]);\r\n setGlobalFilterValue(value);\r\n } catch (error) {\r\n console.error(\"table=>search=>error\", error);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n\r\n {\r\n setSelectedData([]);\r\n setMultiSwitch(false);\r\n }}\r\n footer={props.customFooter}\r\n draggable={false}\r\n resizable={false}\r\n blockScroll\r\n closable={true}\r\n >\r\n {!props.loading ? (\r\n <>\r\n <>\r\n {\r\n if (multiSwitch) return;\r\n\r\n if (tooltipRef.current) {\r\n tooltipRef.current.state.visible = false;\r\n }\r\n\r\n if (props.selectionMode === \"multi\") {\r\n if (props.onSelectFunc) {\r\n props.onSelectFunc([e.data]);\r\n }\r\n } else {\r\n if (props.onSelectFunc) {\r\n props.onSelectFunc(e.data);\r\n }\r\n }\r\n }}\r\n onSelectionChange={(e) => {\r\n setSelectedData(e.value);\r\n }}\r\n sortField=\"EmployeeCode\"\r\n sortOrder={1}\r\n >\r\n {multiSwitch && (\r\n \r\n )}\r\n\r\n {dynamicColumns}\r\n \r\n \r\n <>\r\n {multiSwitch && (\r\n <>\r\n \r\n {\" \"}\r\n {\r\n if (selectedDatas.length > 0) {\r\n if (props.selectionMode === \"multi\") {\r\n if (props.onSelectFunc) {\r\n props.onSelectFunc(selectedDatas);\r\n }\r\n } else {\r\n selectedDatas.forEach((selectedData) => {\r\n if (props.onSelectFunc) {\r\n props.onSelectFunc(selectedData);\r\n }\r\n });\r\n }\r\n\r\n setSelectedData([]);\r\n setMultiSwitch(!multiSwitch);\r\n }\r\n }}\r\n style={{\r\n minWidth: \"unset\",\r\n textAlign: \"center\",\r\n height: \"38px\",\r\n background: \" #28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"13px\",\r\n borderRadius: \"6px\",\r\n padding: 5,\r\n // margin: \" 0px 11px 0px 0px\",\r\n }}\r\n />\r\n \r\n \r\n )}\r\n \r\n \r\n ) : (\r\n <>\r\n {\" \"}\r\n \r\n {dynamicColumns}\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n","import React, { createContext, useContext, useState, useEffect } from \"react\";\r\nimport {\r\n UpdateDismissById,\r\n getStatusQueueByActorId,\r\n} from \"../Services/MemoService\";\r\nimport { useUserContext } from \"./UserContext\";\r\n\r\ntype IMemoPageContextType = {\r\n processQue: number[];\r\n FailQue: memoQueStatus[];\r\n getMyMemoStatus: () => Promise;\r\n onDismiss: (id: number) => Promise;\r\n checkSyncMemo: () => void;\r\n};\r\n\r\nexport type memoQueStatus = {\r\n id: number;\r\n memoId: number;\r\n jobId: number;\r\n actorId: number;\r\n state: string;\r\n documentNo: string;\r\n message: string;\r\n};\r\n\r\nexport const MemoPageContext = createContext(null);\r\n\r\nexport const MemoPageContextProvider: React.FC = (props) => {\r\n const [processQue, setProcessQue] = useState([]);\r\n const [FailQue, setFailQue] = useState([]);\r\n const [isCheck, setIsCheck] = useState(false);\r\n\r\n const user = useUserContext();\r\n useEffect(() => {\r\n if (isCheck) {\r\n const intervalId = setInterval(() => {\r\n getMyMemoStatus(true);\r\n }, 5000);\r\n\r\n return () => {\r\n clearInterval(intervalId);\r\n };\r\n }\r\n }, [isCheck]);\r\n\r\n const getMyMemoStatus = async ( isAuto? : boolean ) => {\r\n try {\r\n if (user[0]) {\r\n const result: memoQueStatus[] = await getStatusQueueByActorId(\r\n user[0].EmployeeId\r\n );\r\n\r\n if (result) {\r\n if (result.every((e) => e.state === \"Succeeded\")) {\r\n isAuto && setIsCheck(false);\r\n }\r\n const fail = result?.filter((e) => e.state === \"Failed\");\r\n if (fail?.length > 0) {\r\n if (JSON.stringify(fail) === JSON.stringify(FailQue)) {\r\n isAuto && setIsCheck(false);\r\n }\r\n }\r\n setProcessQue([\r\n ...result\r\n ?.filter(\r\n (e) =>\r\n e.state !== \"Failed\" && e.state !== \"Succeeded\"\r\n )\r\n .map((e) => e.memoId),\r\n ]);\r\n setFailQue([...fail]);\r\n }\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n const onDismiss = async (id: number) => {\r\n const result = await UpdateDismissById(id);\r\n getMyMemoStatus();\r\n };\r\n\r\n const checkSyncMemo = () => {\r\n setIsCheck(!isCheck);\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import { useContext } from \"react\";\r\nimport { MemoPageContext } from \"../Context/MemoPageContext\";\r\n\r\nconst useMemoPage = () => {\r\n const context = useContext(MemoPageContext);\r\n if (!context)\r\n throw new Error(\"MemoPage Context must be use inside MemoPage Provider\");\r\n return context;\r\n};\r\n\r\nexport default useMemoPage;\r\n","import React from \"react\";\r\nimport {\r\n CloseCircleOutlined,\r\n CheckCircleOutlined,\r\n WarningOutlined,\r\n} from \"@ant-design/icons\";\r\nimport useMemoPage from \"../../hooks/useMemoPage\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\ntype Props = {};\r\n\r\nconst NotiPopOverContent = (props: Props) => {\r\n const { FailQue, onDismiss } = useMemoPage();\r\n\r\n const handleDismissNoti = (id: number) => {\r\n onDismiss(id);\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n
Notification
\r\n \r\n {FailQue.map((que) => (\r\n \r\n handleDismissNoti(que.id)}\r\n >\r\n X\r\n \r\n \r\n \r\n \r\n Oops! Something went wrong while sending your document{\" \"}\r\n {que.documentNo} Please review and resend.\r\n \r\n \r\n {que.message}\r\n \r\n \r\n
\r\n ))}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default NotiPopOverContent;\r\n","import React, { useState, useEffect, useMemo, Fragment } from \"react\";\r\nimport {\r\n AiOutlineReconciliation,\r\n AiOutlineSetting,\r\n AiOutlineUnorderedList,\r\n AiFillBell,\r\n} from \"react-icons/ai\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { RiTodoLine } from \"react-icons/ri\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\n// import Popover from \"react-bootstrap/Popover\";\r\nimport { Popover } from \"antd\";\r\nimport { CloseCircleOutlined } from \"@ant-design/icons\";\r\n\r\nimport \"./ButtonNavigation.css\";\r\nimport { log } from \"console\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\nimport NotiPopOverContent from \"../NotificationComponent/NotiPopOverContent\";\r\nimport useMemoPage from \"../../hooks/useMemoPage\";\r\nimport { memoQueStatus } from \"../../Context/MemoPageContext\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\ninterface Props {\r\n data: any[];\r\n setActive: any;\r\n setDefaultUrl: Boolean;\r\n}\r\n\r\nexport const ButtonNavigation: React.FC = ({\r\n data,\r\n setActive,\r\n setDefaultUrl,\r\n}) => {\r\n const [menuButton, setMenuButton] = useState({});\r\n const [sortableMenu, setSortableMenu] = useState([]);\r\n const [toggleState, setToggleState] = useState([]);\r\n const { t } = useTranslation([\"translation\"]);\r\n const history = useHistory();\r\n const location = useLocation();\r\n const { FailQue } = useMemoPage();\r\n const alert = useAlert();\r\n const [listNotify, setListNotity] = useState(FailQue);\r\n const [activeIndex, setActiveIndex] = useState(-1);\r\n const { search, pathname } = useLocation();\r\n const [uid, setUid] = useState(null);\r\n const [workUrl, setWorkUrl] = useState(\"\");\r\n const [settingUrl, setSettingUrl] = useState(\"\");\r\n const [reportUrl, setReportUrl] = useState(\"\");\r\n const [dashBoard, setBoardUrl] = useState(\"\");\r\n\r\n useEffect(() => {\r\n const generatedUid = uuidv4();\r\n setUid(generatedUid);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (uid) {\r\n const replaceUrl = uid.replace(/-/g, \"\").toUpperCase();\r\n setWorkUrl(replaceUrl)\r\n }\r\n }, [uid, search, pathname, history, workUrl]);\r\n\r\n useEffect(() => {\r\n const generatedUid = uuidv4();\r\n setSettingUrl(generatedUid);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (uid) {\r\n const replaceUrl = uid.replace(/-/g, \"\").toUpperCase();\r\n setSettingUrl(replaceUrl)\r\n }\r\n }, [uid, search, pathname, history, workUrl]);\r\n useEffect(() => {\r\n const generatedUid = uuidv4();\r\n setReportUrl(generatedUid);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (uid) {\r\n const replaceUrl = uid.replace(/-/g, \"\").toUpperCase();\r\n setReportUrl(replaceUrl)\r\n }\r\n }, [uid, search, pathname, history, workUrl]);\r\n\r\n useEffect(() => {\r\n const generatedUid = uuidv4();\r\n setBoardUrl(generatedUid);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (uid) {\r\n const replaceUrl = uid.replace(/-/g, \"\").toUpperCase();\r\n setBoardUrl(replaceUrl)\r\n }\r\n }, [uid, search, pathname, history, workUrl]);\r\n\r\n useMemo(() => {\r\n let result = data.reduce(function (r, a) {\r\n r[a.GroupMenu] = r[a.GroupMenu] || [];\r\n r[a.GroupMenu].push(a);\r\n return r;\r\n }, Object.create(null));\r\n\r\n const { Request, ...newResult } = result;\r\n\r\n let _res: any = {};\r\n for (const [key, value] of Object.entries(newResult)) {\r\n const uniqueArray = newResult[key].filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value.SubMenu);\r\n return (\r\n index ===\r\n newResult[key].findIndex((obj: any) => {\r\n return JSON.stringify(obj.SubMenu) === _value;\r\n })\r\n );\r\n });\r\n _res[key] = uniqueArray;\r\n }\r\n\r\n let sortableMenu = [];\r\n for (var menu in _res) {\r\n sortableMenu.push([menu, _res[menu]]);\r\n }\r\n\r\n sortableMenu.sort(function (a, b) {\r\n return a[1][0].OrderGroup - b[1][0].OrderGroup;\r\n });\r\n\r\n setSortableMenu([...sortableMenu]);\r\n\r\n setMenuButton({ ..._res });\r\n const toggleArray: any = [];\r\n Object.entries(menuButton).forEach(([key, value]) => {\r\n toggleArray.push(false);\r\n });\r\n setToggleState([...toggleArray]);\r\n }, [data]);\r\n useEffect(() => {\r\n Object.entries(menuButton).forEach(([key, value], _idx) => {\r\n if (location.pathname.indexOf(key) !== -1) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n _toggleState[value[0].OrderGroup - 1] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n\r\n if (location.pathname !== `/${key}`) {\r\n value.forEach((_data: any) => {\r\n if (\r\n location.pathname === `/${_data.GroupMenu}` ||\r\n location.pathname.indexOf(_data.Url) !== -1\r\n ) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n\r\n _toggleState[value[0].OrderGroup - 1] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n });\r\n }\r\n });\r\n }, [location.pathname, menuButton]);\r\n useEffect(() => {\r\n const _toggleState = toggleState;\r\n if (location.pathname === \"/Request\") {\r\n setActive(true);\r\n }\r\n const res_every = _toggleState.every((b) => b === false);\r\n for (let i = 0; i < _toggleState.length; i++) {\r\n const state = _toggleState[i];\r\n if (state === true) {\r\n setActive(true);\r\n }\r\n }\r\n if (res_every && location.pathname !== \"/Request\") {\r\n setActive(false);\r\n }\r\n }, [toggleState]);\r\n const mapIcon = (key: string) => {\r\n if (key === \"Worklist\") {\r\n return ;\r\n }\r\n if (key === \"Report\") {\r\n return ;\r\n }\r\n if (key === \"Settings\") {\r\n return ;\r\n }\r\n if (key === \"List and Documents\") {\r\n return ;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (FailQue.length > 0) {\r\n let newNoti = FailQue.filter(\r\n (i) => !listNotify.find((j) => i.jobId == j.jobId)\r\n );\r\n newNoti.forEach((i) => {\r\n alert.toggleAlert({\r\n type: \"error\",\r\n message: `Oops! Something went wrong`,\r\n description: `Something went wrong while sending your document ${i.documentNo} Please review and resend.\\n\r\n ${i.message}`,\r\n duration: 0,\r\n });\r\n });\r\n }\r\n setListNotity(FailQue);\r\n }, [FailQue]);\r\n\r\n useEffect(() => {\r\n setNavbarActive();\r\n }, []);\r\n\r\n useEffect(() => {\r\n setNavbarActive();\r\n }, [setDefaultUrl]);\r\n\r\n const handleActiveIdx = (idx: number) => {\r\n setActiveIndex(idx);\r\n };\r\n const setNavbarActive = () => {\r\n const encodedPath = window.location.pathname;\r\n const decodedPath = decodeURIComponent(encodedPath).split(\"/false\")[0];\r\n\r\n sortableMenu.forEach(([key, items], i) => {\r\n const matchedItem = items.find((item: any) => {\r\n if (window.location.search) {\r\n return (\r\n item.Url.toLowerCase().split(\"/\").pop() ===\r\n window.location.search.toLowerCase().split(\"=\").pop()\r\n );\r\n } else {\r\n const itemUrl = item.Url.toLowerCase().replace(/^\\/|\\/$/g, \"\"); // ลบ '/' ที่เริ่มต้นหรือท้าย\r\n const _decodedPath = decodedPath\r\n .toLowerCase()\r\n .replace(/^\\/|\\/$/g, \"\"); // ลบ '/' ที่เริ่มต้นหรือท้าย\r\n return itemUrl === _decodedPath;\r\n }\r\n });\r\n if (matchedItem) {\r\n setActiveIndex(i);\r\n }\r\n });\r\n };\r\n\r\n return (\r\n
\r\n {sortableMenu.map((menu, _idx) => {\r\n // const menuUrls = menu[1];\r\n // const currentUrl = window.location.pathname.toLowerCase();\r\n // const isUrlMatch = menuUrls.some((urlObj: any) => {\r\n // if (\r\n // currentUrl.match(/\\/dynamicreport\\//) &&\r\n // urlObj.GroupMenu === \"List and Documents\"\r\n // ) {\r\n // return true;\r\n // } else if (\r\n // currentUrl.match(/\\/dynamicreport\\//) &&\r\n // urlObj.GroupMenu !== \"List and Documents\"\r\n // ) {\r\n // return false;\r\n // }\r\n\r\n // return (\r\n // currentUrl.includes(urlObj.GroupMenu.toLowerCase()) ||\r\n // currentUrl.includes(urlObj.Url.toLowerCase())\r\n // );\r\n // });\r\n\r\n return (\r\n \r\n {menu[1].length > 0 &&\r\n menu[1].every(\r\n (_data: any) => _data.SubMenu !== null && _data.SubMenu !== \"\"\r\n ) ? (\r\n \r\n menu[1]\r\n .sort(\r\n (a: any, b: any) =>\r\n Number(a.OrderSub) - Number(b.OrderSub)\r\n )\r\n .map((e: any, idx: any) => {\r\n const subMenu = replaceSpecialChar(e.SubMenu);\r\n return (\r\n \r\n {e.SubMenu !== \"\" &&\r\n e.SubMenu !== null &&\r\n e.GroupMenu !== \"Settings\" ? (\r\n e.InternalUrl !== 0 ? (\r\n
\r\n handleActiveIdx(_idx)}\r\n >\r\n

\r\n {t(e.SubMenu)}\r\n

\r\n \r\n
\r\n ) : (\r\n
\r\n {\r\n // history.push(e.Url);\r\n window.open(e.Url);\r\n }}\r\n target=\"_blank\"\r\n >\r\n {t(e.SubMenu)}\r\n \r\n
\r\n )\r\n ) : e.InternalUrl !== 0 ? (\r\n
\r\n handleActiveIdx(_idx)}\r\n >\r\n

\r\n {t(e.SubMenu)}\r\n

\r\n \r\n
\r\n ) : (\r\n
\r\n {\r\n const _url = e.Url;\r\n window.open(\r\n _url,\r\n \"_blank\",\r\n \"noopener,noreferrer\"\r\n );\r\n }}\r\n >\r\n {t(e.SubMenu)}\r\n

\r\n
\r\n )}\r\n
\r\n );\r\n })\r\n }\r\n trigger=\"hover\"\r\n >\r\n \r\n {mapIcon(menu[0])}\r\n

{t(menu[0])}

\r\n \r\n \r\n ) : menu[1]?.length < 2 &&\r\n `${menu[1][0]?.Url}` &&\r\n menu[1][0]?.InternalUrl === 0 ? (\r\n \r\n {mapIcon(menu[0])}\r\n

{t(menu[0])}

\r\n \r\n ) : (\r\n handleActiveIdx(_idx)}\r\n >\r\n {mapIcon(menu[0])}\r\n

{t(menu[0])}

\r\n \r\n )}\r\n
\r\n );\r\n })}\r\n }\r\n trigger=\"click\"\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n","import Cookies from \"universal-cookie\";\r\nconst cookies = new Cookies();\r\nexport type Auth = {\r\n isAuthenticated?: boolean;\r\n redirectPath: string;\r\n};\r\n\r\nexport const initialSession: Auth = {\r\n redirectPath: \"/login\",\r\n isAuthenticated: cookies.get(\"GuidVerify\") ? true : false,\r\n};\r\n","import React from \"react\";\r\nimport { createContext, useContext, useState } from \"react\";\r\nimport { initialSession, Auth } from \"../IRequestModel/IAuthModel\";\r\n\r\nexport const SessionContext = createContext<[Auth, (session: Auth) => void]>([\r\n initialSession,\r\n () => {},\r\n]);\r\nexport const useSessionContext = () => useContext(SessionContext);\r\n\r\nexport const SessionContextProvider: React.FC = (props) => {\r\n const [sessionState, setSessionState] = useState(initialSession);\r\n const defaultSessionContext: [Auth, typeof setSessionState] = [\r\n sessionState,\r\n setSessionState,\r\n ];\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","export const GetAllEmployee = async (opts?: {Scopes?: string, IsActiveOnly?: boolean}) => {\r\n let qs = new URLSearchParams({\r\n [\"Scopes\"]: opts?.Scopes || \"\",\r\n [\"IsActiveOnly\"]: (opts?.IsActiveOnly || opts?.IsActiveOnly === undefined ).toString()\r\n });\r\n const respone = await fetch(\"api/Employee/GetAll?\" + qs.toString())\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n if( !!!opts?.IsActiveOnly ) return respone\r\n return respone?.filter((e: any) => e.IsActive === true);\r\n};\r\n\r\n/**\r\n * ฟังก์ชันอยู่ระหว่างพิจารณาปรับใช้งาน\r\n */\r\nexport const GetEmployeeByUserPrincipalName = async (dataEmp :any) => {\r\n try{\r\n dataEmp.UserPrincipalName = JSON.parse(localStorage.getItem(\"userData\")!).employeeData.Email;\r\n const respone = await fetch(\"api/Employee/GetEmployeeByUserPrincipalName\",{\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataEmp),\r\n })\r\n return await respone.json();\r\n\r\n // if (Array.isArray(data?.data)) {\r\n // // ใช้ filter กับข้อมูลของ Employee ได้เนื่องจาก data.data เป็นอาร์เรย์\r\n // const activeEmployees = data.data.filter((e: any) => e.IsActive === true);\r\n // return activeEmployees;\r\n // } else {\r\n // console.error(\"Invalid employee data returned from GetByIdEmployee\");\r\n // return null;\r\n // }\r\n } catch (error) {\r\n console.log(\"emp=>err\", error);\r\n return error;\r\n }\r\n};\r\n\r\nexport const UpdateEmployee = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Employee/UpdateData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"emp=>err\", err);\r\n return err;\r\n });\r\n return respone;\r\n};\r\n\r\nexport const UpdateSignature = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Employee/UpdateSignature\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"emp=>err\", err);\r\n return err;\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetUserData = async (empData: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n empData.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Employee/GetById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(empData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n return err;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetEmployeeWithSign = async (empData: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n empData.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Employee/Employee\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(empData),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n return err;\r\n });\r\n\r\n return respone;\r\n};\r\n","export const GetAllPosition = async () => {\r\n const respone = await fetch(\"api/Position/AllPositionList\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone.filter((e: any) => e.IsActive === true);\r\n};\r\n\r\nexport const AddPosition = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Position/AddData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const UpdatePosition = async (dataJson: any) => {\r\n const respone = await fetch(\"api/Position/UpdatePosition\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n });\r\n\r\n return respone;\r\n};\r\n","export const GetDepartment = async () => {\r\n const respone = await fetch(\"api/Department/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const UpdateDepartment = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const data = {\r\n name: \"Department\",\r\n model: JSON.stringify(dataJson),\r\n };\r\n const respone = await fetch(\"api/Department/AddDepartment\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n }).then((response) => response.json());\r\n console.log(respone);\r\n\r\n return respone;\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport \"./EmployeeDialog.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog, ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport {\r\n GetAllEmployee,\r\n UpdateEmployee,\r\n UpdateSignature,\r\n} from \"../../../Services/EmployeeService\";\r\nimport { GetAllPosition } from \"../../../Services/PositionService\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport { FiSave, FiX } from \"react-icons/fi\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n setMainLoading?: (bool: boolean) => void;\r\n setMainDialogVisible: (...args: any) => void;\r\n}\r\n\r\nexport const EmployeeDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [formSelectedPosition, setFormSelectedPosition] = useState([]);\r\n const [formSelectedDepartment, setFormSelectedDepartment] = useState([]);\r\n const [formSelectedDivision, setFormSelectedDivision] = useState([]);\r\n const [positionList, setPositionList] = useState([]);\r\n const [deptList, setDeptList] = useState([]);\r\n const [divList, setDivtList] = useState([]);\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [report_To, setReport_To] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [uploadFile, setUploadFile] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n fetchPosition();\r\n fetchDataEmployee();\r\n fetchDivision();\r\n fetchDepartment();\r\n\r\n if (\r\n !isEmptyObject(props.formData) ||\r\n props.dialogHeader === \"Edit Profile\"\r\n ) {\r\n const rowDataPosition = {\r\n PositionId: props.formData?.PositionId,\r\n NameTh: props.formData?.PositionNameTh,\r\n NameEn: props.formData?.PositionNameEn,\r\n };\r\n const rowDataDept = {\r\n DepartmentId: props.formData?.DepartmentId,\r\n NameTh: props.formData?.DepartmentNameTh,\r\n NameEn: props.formData?.DepartmentNameEn,\r\n };\r\n setFormSelectedPosition(rowDataPosition);\r\n setFormSelectedDepartment(rowDataDept);\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n const rowDataPosition = {\r\n PositionId: props.formData?.PositionId,\r\n NameTh: props.formData?.PositionNameTh,\r\n NameEn: props.formData?.PositionNameEn,\r\n };\r\n const rowDataDept = {\r\n DepartmentId: props.formData?.DepartmentId,\r\n NameTh: props.formData?.DepartmentNameTh,\r\n NameEn: props.formData?.DepartmentNameEn,\r\n };\r\n setFormSelectedPosition(rowDataPosition);\r\n setFormSelectedDepartment(rowDataDept);\r\n fetchPosition();\r\n fetchDataEmployee();\r\n\r\n fetchDepartment();\r\n fetchDivision();\r\n setLoading(false);\r\n } else {\r\n setFormSelectedPosition(null);\r\n setFormSelectedDepartment(null);\r\n setUploadFile(undefined);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n let selectedEmp = {\r\n EmployeeId: Number,\r\n EmployeeCode: String,\r\n NameTh: String,\r\n Report_ToNameEn: String,\r\n };\r\n\r\n _dataEmployee.map((e: any) => {\r\n if (e.EmployeeId === Number(props.formData?.ReportToEmpCode)) {\r\n selectedEmp.EmployeeId = e.EmployeeId;\r\n selectedEmp.EmployeeCode = e.EmployeeCode;\r\n selectedEmp.NameTh = e.NameTh;\r\n selectedEmp.Report_ToNameEn = e.NameEn;\r\n setReport_To(selectedEmp);\r\n }\r\n });\r\n\r\n setDataEmployeeList(_dataEmployee);\r\n setSearchData(_dataEmployee);\r\n }\r\n\r\n async function fetchPosition() {\r\n let _dataPosition = await GetAllPosition();\r\n\r\n let newList: any = [];\r\n\r\n for (let i = 0; i < _dataPosition.length; i++) {\r\n let positionList = {\r\n PositionId: Number,\r\n NameTh: String,\r\n NameEn: String,\r\n };\r\n\r\n positionList.PositionId = _dataPosition[i].PositionId;\r\n positionList.NameTh = _dataPosition[i].NameTh;\r\n positionList.NameEn = _dataPosition[i].NameEn;\r\n\r\n if (positionList.PositionId === props.formData?.PositionId) {\r\n setFormSelectedPosition(positionList);\r\n }\r\n\r\n newList.push(positionList);\r\n }\r\n\r\n setPositionList(newList);\r\n }\r\n\r\n async function fetchDepartment() {\r\n let _dataOrgranize = await GetDepartment();\r\n\r\n let newList: any = [];\r\n\r\n for (let i = 0; i < _dataOrgranize.length; i++) {\r\n let deptList = {\r\n DepartmentId: Number,\r\n NameTh: String,\r\n NameEn: String,\r\n };\r\n\r\n deptList.DepartmentId = _dataOrgranize[i].DepartmentId;\r\n deptList.NameTh = _dataOrgranize[i].NameTh;\r\n deptList.NameEn = _dataOrgranize[i].NameEn;\r\n if (deptList.DepartmentId === props.formData?.DepartmentId) {\r\n setFormSelectedDepartment(deptList);\r\n }\r\n newList.push(deptList);\r\n }\r\n\r\n setDeptList(newList);\r\n }\r\n\r\n async function fetchDivision() {\r\n let _dataDivision = await GetAllDynamic(\"Division/GetAll\", undefined);\r\n\r\n let newList: any = [];\r\n\r\n for (let i = 0; i < _dataDivision.length; i++) {\r\n let divtList = {\r\n DivisionId: Number,\r\n NameTh: String,\r\n NameEn: String,\r\n };\r\n\r\n divtList.DivisionId = _dataDivision[i].DivisionId;\r\n divtList.NameTh = _dataDivision[i].NameTh;\r\n divtList.NameEn = _dataDivision[i].NameEn;\r\n if (divtList.DivisionId === props.formData?.DivisionId) {\r\n setFormSelectedDepartment(divtList);\r\n }\r\n newList.push(divtList);\r\n }\r\n\r\n setDivtList(newList);\r\n }\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && props.mainDialogVisible) {\r\n if (\r\n data.Position.PositionId !== undefined &&\r\n data.Department.DepartmentId !== undefined\r\n ) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\"\r\n ? \"Add\" + \" Confirmation\"\r\n : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n let formData: any = {};\r\n let isCodeDup = false;\r\n let isEmailDup = false;\r\n let empDup: any;\r\n dataEmployeeList.forEach((e: any) => {\r\n if (e.EmployeeId !== props.formData?.EmployeeId) {\r\n if (e.EmployeeCode === data.EmployeeCode) {\r\n isCodeDup = true;\r\n empDup = e;\r\n return;\r\n } else if (e.Email === data.Email) {\r\n isEmailDup = true;\r\n empDup = e;\r\n return;\r\n }\r\n }\r\n });\r\n if (!isCodeDup && !isEmailDup) {\r\n if (action === \"add\") {\r\n formData.EmployeeId = 0;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n formData.IsActive = data.IsActive;\r\n formData.PositionId = data.Position.PositionId;\r\n formData.PositionNameTh = data.Position.NameTh;\r\n formData.PositionNameEn = data.Position.NameEn;\r\n formData.DepartmentId = data.Department.DepartmentId;\r\n formData.DepartmentNameTh = data.Department.NameTh;\r\n formData.DepartmentNameEn = data.Department.NameEn;\r\n formData.DivisionId = data.Division.DivisionId;\r\n formData.DivisionNameTh = data.Division.NameTh;\r\n formData.DivisionNameEn = data.Division.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = report_To?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n props.dialogHeader !== \"Edit Profile\"\r\n ? data.IsActive !== undefined && data.IsActive !== \"\"\r\n ? (formData.IsActive = data.IsActive)\r\n : (formData.IsActive = false)\r\n : (formData.IsActive = true);\r\n formData.PositionId = data.Position.PositionId;\r\n formData.PositionNameTh = data.Position.NameTh;\r\n formData.PositionNameEn = data.Position.NameEn;\r\n formData.DepartmentId = data.Department.DepartmentId;\r\n formData.DepartmentNameTh = data.Department.NameTh;\r\n formData.DepartmentNameEn = data.Department.NameEn;\r\n formData.DivisionId = data.Division.DivisionId;\r\n formData.DivisionNameTh = data.Division.NameTh;\r\n formData.DivisionNameEn = data.Division.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = report_To?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n\r\n if (uploadFile !== undefined) {\r\n formData.SignPicPath = uploadFile;\r\n //result = await UpdateSignature(formData);\r\n }\r\n\r\n let result = await UpdateEmployee(formData);\r\n\r\n if (result.result === \"success\") {\r\n console.log({ formData, result });\r\n\r\n if (props.dialogHeader === \"Edit Profile\") {\r\n let newUser = userData;\r\n newUser = formData;\r\n setUserData(newUser);\r\n } else {\r\n if (props.setTableData !== undefined) {\r\n let newData: any[] = await GetAllDynamic(\r\n \"Employee/GetAll\",\r\n undefined\r\n );\r\n\r\n if (newData.length > 0) {\r\n props.setTableData(newData);\r\n }\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n }\r\n props.setMainDialogVisible(false);\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n // props.toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: result.errorMessage || result.title,\r\n // life: 5000,\r\n // });\r\n }\r\n } else {\r\n if (isCodeDup) {\r\n toggleAlert({\r\n description: `This EmployeeCode ${empDup.EmployeeCode} is duplicate with ${empDup.NameEn}`,\r\n message: `Dupplicate field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail:\r\n // \"This EmployeeCode \" +\r\n // empDup.EmployeeCode +\r\n // \" is duplicate with \" +\r\n // empDup.NameEn,\r\n // life: 5000,\r\n // });\r\n }\r\n if (isEmailDup) {\r\n toggleAlert({\r\n description: `This email ${empDup.Email} is duplicate with ${empDup.NameEn}`,\r\n message: `Dupplicate field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail:\r\n // \"This email \" +\r\n // empDup.Email +\r\n // \" is duplicate with \" +\r\n // empDup.NameEn,\r\n // life: 5000,\r\n // });\r\n }\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n const onRowSelect = (data: any) => {\r\n setReport_To(data);\r\n setSubDialogVisible(false);\r\n setLoading(false);\r\n };\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e.target.value;\r\n const dataEmp = dataEmployeeList;\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (userData.Lang === \"EN\") {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n const onFileSelect = (e: any) => {\r\n getBase64(e.target.files[0]);\r\n };\r\n\r\n function getBase64(file: any) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n setUploadFile(reader.result);\r\n };\r\n reader.onerror = function (error) {\r\n // console.log(\"Error: \", error);\r\n };\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n \r\n
\r\n {\" \"}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"EmployeeCode\")}\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Username\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Email\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n {props.dialogHeader !== \"Edit Profile\" && (\r\n <>\r\n {\" \"}\r\n
\r\n \r\n
\r\n
\r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
{\" \"}\r\n \r\n )}\r\n\r\n
\r\n \r\n
\r\n
\r\n (\r\n setFormSelectedPosition(e.value)}\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"Position\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n setFormSelectedDepartment(e.value)}\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"Department\")}\r\n
\r\n
\r\n \r\n
\r\n
\r\n (\r\n setFormSelectedDivision(e.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 {!isEmptyObject(report_To) && (\r\n {\r\n setReport_To(null);\r\n }}\r\n style={{\r\n height: \"38px\",\r\n }}\r\n />\r\n )}\r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n {getFormErrorMessage(\"ReportToEmpCode\")}\r\n
\r\n {action !== \"add\" && (\r\n <>\r\n
\r\n \r\n
\r\n
\r\n
\r\n (\r\n
\r\n \r\n {\r\n setUploadFile(\"\");\r\n }}\r\n style={{\r\n height: \"38px\",\r\n borderRadius: \"0 6px 6px 0\",\r\n }}\r\n />\r\n
\r\n )}\r\n >\r\n {uploadFile !== 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 reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n \r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n","const ignore = ['favorite', 'memoid'];\r\nexport const clearLocalStorageOnLogout = () => {\r\n Object.keys(localStorage).forEach((key) =>\r\n !ignore.includes(key) ? localStorage.removeItem(key) : \"\"\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { Collapse } from \"antd\";\r\nimport { IoLogOutSharp, IoMailOutline, IoPersonOutline } from \"react-icons/io5\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { BsFillFileEarmarkPersonFill, BsFillPersonFill } from \"react-icons/bs\";\r\nimport { EmployeeDialog } from \"../SettingDialogComponents/EmployeeDialog/EmplyeeDialog\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\ninterface Props {\r\n data: any;\r\n handleOpenChangePasswordModal: () => void;\r\n closeDropdown: () => void;\r\n}\r\n\r\nexport const ButtonNavigationDropdown = (props: Props) => {\r\n const [menuButton, setMenuButton] = useState({});\r\n const [toggleState, setToggleState] = useState([]);\r\n const [nameUser, setNameUser] = useState(\"\");\r\n const [shortNameUser, setShortNameUser] = useState(\"\");\r\n const [emailUser, setEmailUser] = useState(\"\");\r\n const [empData, setEmpData] = useState({});\r\n const [mainDialogVisible, setMainDialogVisible] = useState(false);\r\n const cookies = new Cookies();\r\n const [sessionState, setSessionState] = useSessionContext();\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n if (empData !== null) {\r\n let name = empData.employeeData.NameEn || \"\";\r\n let email = empData.employeeData.Email || \"\";\r\n const fullName: any[] | [\"\", \"\"] = name.split(\" \");\r\n let firstName = \"\";\r\n let lastName = \"\";\r\n for (let i = 0; i < fullName.length; i++) {\r\n if (i === 0) {\r\n firstName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n if (i === 1) {\r\n lastName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n }\r\n\r\n setEmailUser(email);\r\n setShortNameUser(firstName + lastName);\r\n setNameUser(name);\r\n setEmpData(empData.employeeData);\r\n }\r\n }, [sessionState.isAuthenticated]);\r\n useEffect(() => {\r\n let result = props.data.reduce(function (r: any, a: any) {\r\n r[a.GroupMenu] = r[a.GroupMenu] || [];\r\n r[a.GroupMenu].push(a);\r\n return r;\r\n }, Object.create(null));\r\n\r\n const { Request, ...newResult } = result;\r\n let _res: any = {};\r\n for (const [key, value] of Object.entries(newResult)) {\r\n const uniqueArray = newResult[key].filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value.SubMenu);\r\n return (\r\n index ===\r\n newResult[key].findIndex((obj: any) => {\r\n return JSON.stringify(obj.SubMenu) === _value;\r\n })\r\n );\r\n });\r\n _res[key] = uniqueArray;\r\n }\r\n\r\n setMenuButton(_res);\r\n const toggleArray: any = [];\r\n Object.entries(menuButton).forEach(([key, value]) => {\r\n toggleArray.push(false);\r\n });\r\n\r\n setToggleState([...toggleArray]);\r\n }, [props.data]);\r\n const { Panel } = Collapse;\r\n const location = useLocation();\r\n const history = useHistory();\r\n useEffect(() => {\r\n Object.entries(menuButton).forEach(([key, value], _idx) => {\r\n if (location.pathname === `/${key}`) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n _toggleState[_idx] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n if (location.pathname !== `/${key}`) {\r\n value.forEach((_data: any) => {\r\n if (location.pathname === `${_data.Url}`) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n _toggleState[_idx] = true;\r\n setToggleState([..._toggleState]);\r\n }\r\n });\r\n }\r\n if (location.pathname === `/Request`) {\r\n let _toggleState = new Array(toggleState.length).fill(false);\r\n setToggleState([..._toggleState]);\r\n }\r\n });\r\n }, [location.pathname, menuButton]);\r\n const userPopupContent = () => {\r\n return (\r\n console.log(window.location.href)}\r\n >\r\n
\r\n
\r\n \r\n

{nameUser}

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

{emailUser}

\r\n
\r\n
\r\n
\r\n {\r\n setMainDialogVisible(true);\r\n // setPopOverClick(false);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

Profile

\r\n
\r\n {\r\n // setVisible(true);\r\n // setPopOverClick(false);\r\n }}\r\n >\r\n
\r\n \r\n \r\n \r\n
\r\n

{t(\"Change Password\")}

\r\n \r\n {\r\n cookies.remove(\"GuidVerify\");\r\n\r\n clearLocalStorageOnLogout();\r\n // setPopOverClick(false);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n // signOutClickHandler(instance);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Logout\")}

\r\n \r\n \r\n \r\n );\r\n };\r\n const mapButton = () => {\r\n const map: any = [];\r\n map.push(\r\n <>\r\n \r\n
\r\n
\r\n

{shortNameUser}

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

\r\n {nameUser}\r\n

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

\r\n {emailUser}\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n }\r\n key=\"sadsad\"\r\n >\r\n
\r\n {\r\n setMainDialogVisible(true);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Profile\")}

\r\n
\r\n {\r\n props.handleOpenChangePasswordModal();\r\n }}\r\n >\r\n
\r\n \r\n \r\n \r\n
\r\n

{t(\"Change Password\")}

\r\n \r\n {\r\n cookies.remove(\"GuidVerify\");\r\n clearLocalStorageOnLogout();\r\n // setPopOverClick(false);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n // signOutClickHandler(instance);\r\n }}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Logout\")}

\r\n \r\n \r\n \r\n \r\n );\r\n Object.entries(menuButton).forEach(([key, value], _idx) => {\r\n if (key !== \"Request\") {\r\n map.push(\r\n <>\r\n {value.length > 1 ? (\r\n \r\n {value.map((e: any, idx: any) => (\r\n {\r\n key == \"Settings\" ?\r\n history.push(\r\n \"/Settings?name=\" + e.Url.replace(\"/\", \"\")\r\n )\r\n : history.push(e.Url);\r\n props.closeDropdown();\r\n }}\r\n >\r\n {e.SubMenu}\r\n

\r\n ))}\r\n
\r\n ) : (\r\n {\r\n history.push(`${value[0].Url}`);\r\n props.closeDropdown();\r\n }}\r\n >\r\n

{key}

\r\n \r\n )}\r\n \r\n );\r\n }\r\n });\r\n\r\n return (\r\n // \r\n // \r\n // {/* {key} */}\r\n // {/* \r\n // {value.map((e: any, idx: any) => (\r\n // {\r\n // history.push(e.Url);\r\n // props.closeDropdown();\r\n // }}\r\n // >\r\n // {e.SubMenu}\r\n //

\r\n // ))}\r\n //
*/}\r\n // {map}\r\n //
\r\n //
\r\n {map}\r\n );\r\n };\r\n return (\r\n
\r\n \r\n {props.data.length > 0 ? mapButton() : null}\r\n
\r\n );\r\n};\r\n","import { INavigationMenu } from \"../IRequestModel/INavagationModel\";\r\n\r\nexport const GetNavbarMenu = async (\r\n email: string\r\n): Promise => {\r\n const respone: INavigationMenu[] = await fetch(\r\n \"api/NavbarMenu/GetAllByEmail\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ mail: email }),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((navBarData: INavigationMenu[]) => {\r\n if (navBarData) {\r\n const formatNav = navBarData.map((menu) => {\r\n return {\r\n ...menu,\r\n GroupMenu:\r\n menu.GroupMenu.charAt(0).toUpperCase() + menu.GroupMenu.slice(1),\r\n };\r\n });\r\n return formatNav;\r\n }\r\n return [];\r\n });\r\n\r\n return respone;\r\n};\r\n","import moment from \"moment\";\r\n\r\nexport const GetDashboardEndpoint = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const GetDashboardKeyEndpoint = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n const resultCard = result.map((_data: any) => {\r\n const [keyConfig] = _data.split(\"||\");\r\n return keyConfig;\r\n });\r\n return resultCard;\r\n};\r\n\r\nexport const GetDashboardEndpoints = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return result;\r\n};\r\n\r\nexport const GetDashboardFilterStatus = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/FilterStatus\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const GetDashboardAdvancedFilter = async () => {\r\n const configuration = await fetch(\r\n \"/api/Configuration/Dashboard/AdvancedFilter\"\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n let data: any = [];\r\n configuration.map((_data: any) => {\r\n const [keyConfig, typeConfig, displayConfig] = _data.split(\"||\");\r\n data.push({\r\n name: keyConfig,\r\n type: typeConfig,\r\n display: displayConfig,\r\n });\r\n return data;\r\n });\r\n return data;\r\n};\r\nexport const GetDashboardFilterGroupBy = async () => {\r\n const configuration = await fetch(\r\n \"/api/Configuration/Dashboard/FilterGroupBy\"\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n let data: any = [];\r\n configuration.map((_data: any) => {\r\n const [keyConfig, typeConfig, displayConfig] = _data.split(\"||\");\r\n data.push({\r\n name: keyConfig,\r\n type: typeConfig,\r\n display: displayConfig,\r\n });\r\n return data;\r\n });\r\n return data;\r\n};\r\n\r\nexport const GetDashboardStatusCard = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/StatusCard\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const LoginConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/LoginConfiguration\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const getAzureConfig = async () => {\r\n const result = await fetch(\"/api/Configuration/AzureConfig\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\nexport const GetDashboardDefaultFilterConFig = async () => {\r\n const result = await fetch(\"/api/Configuration/Dashboard/DefaultFilter\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const ADTitleConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/ADTitle\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const getDateDeployConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/getDateDeploy\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const getVersion = () : Promise<{apiVersion: string, webVersion: string}>=> fetch(\"/api/Configuration/getVersion\")\r\n .then((response) => response.json())\r\n\r\nexport const getUploadFileSettingConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/UploadFileSetting\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n\r\nexport const CannotDowLoadPDFDefaultConfiguration = async () => {\r\n const result = await fetch(\"/api/Configuration/CannotDowLoadPDFDefault\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return result;\r\n};\r\n","import { Modal } from \"antd\";\r\nimport React from \"react\";\r\nimport {\r\n Control,\r\n Controller,\r\n FieldError,\r\n UseFormHandleSubmit,\r\n} from \"react-hook-form\";\r\nimport { IoMdClose } from \"react-icons/io\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ntype ChangePasswordModalProps = {\r\n visible: boolean;\r\n handleCancel: () => void;\r\n onSubmitPassword: (data: any) => void;\r\n handleSubmit: UseFormHandleSubmit<{\r\n current_password: string;\r\n new_password: string;\r\n comfirm_password: string;\r\n }>;\r\n control: Control<\r\n {\r\n current_password: string;\r\n new_password: string;\r\n comfirm_password: string;\r\n },\r\n object\r\n >;\r\n errors: {\r\n current_password?: FieldError | undefined;\r\n new_password?: FieldError | undefined;\r\n comfirm_password?: FieldError | undefined;\r\n };\r\n isPasswordCompared: boolean;\r\n};\r\n\r\nconst ChangePasswordModal: React.FC = ({\r\n visible,\r\n handleCancel,\r\n onSubmitPassword,\r\n handleSubmit,\r\n control,\r\n errors,\r\n isPasswordCompared,\r\n}) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n }\r\n className=\"modal-password\"\r\n width={800}\r\n visible={visible}\r\n footer={false}\r\n onCancel={handleCancel}\r\n zIndex={90000}\r\n >\r\n
\r\n
\r\n

{t(\"Change Password\")}

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

\r\n Current Password : *\r\n

\r\n

รหัสผ่านปัจจุบัน :

\r\n
\r\n (\r\n
\r\n \r\n {errors.current_password && (\r\n

กรุณากรอกข้อมูล

\r\n )}\r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n

\r\n New Password : *\r\n

\r\n

รหัสผ่านใหม่ :

\r\n
\r\n (\r\n
\r\n \r\n {errors.new_password && (\r\n

กรุณากรอกข้อมูล

\r\n )}\r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n

\r\n Confirm Password : *\r\n

\r\n

ยืนยันรหัสผ่าน :

\r\n
\r\n (\r\n
\r\n \r\n {errors.comfirm_password && (\r\n

กรุณากรอกข้อมูล

\r\n )}\r\n {!isPasswordCompared && (\r\n

กรุณากรอกรหัสผ่านให้ตรงกัน

\r\n )}\r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n \r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ChangePasswordModal;\r\n","export const CheckAppSetting = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckAppSetting\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CheckCanEditProfile = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckCanEditProfile\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CheckCanAdminEditCompletedMemo = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckCanAdminEditCompletedMemo\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"app=>CheckCanAdminEditCompletedMemo\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const CheckAutoReport = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckAutoReport\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const CheckCanDownloadPdf = async () => {\r\n const respone = await fetch(\"api/AppSetting/CheckCanDownloadPdf\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import { Col, Row } from \"antd\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState, FC, useRef } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave, FiX } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { ProgressBar } from \"primereact/progressbar\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport {\r\n GetAllEmployee,\r\n GetUserData,\r\n UpdateEmployee,\r\n UpdateSignature,\r\n GetEmployeeWithSign\r\n} from \"../../../Services/EmployeeService\";\r\nimport { GetAllPosition } from \"../../../Services/PositionService\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { IUserModel } from \"../../../IRequestModel/IUserModel\";\r\nimport { CheckCanEditProfile } from \"../../../Services/AppSettingService\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ntype Props = {\r\n rowData: any;\r\n dialogHeader: string;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n tableData?: any;\r\n setMainLoading?: (bool: boolean) => void;\r\n setTableData?: (items: any) => void;\r\n canEditOnlySignature?: boolean;\r\n isEditProfile?: boolean;\r\n};\r\n\r\ninterface IEmployeeForm {\r\n EmployeeId: number;\r\n EmployeeCode: string;\r\n Username: string;\r\n NameTh: string;\r\n NameEn: string;\r\n Email: string;\r\n IsActive: boolean;\r\n PositionId: number;\r\n PositionNameTh: string;\r\n PositionNameEn: string;\r\n DepartmentId: number;\r\n DepartmentNameTh: string;\r\n DepartmentNameEn: string;\r\n DivisionId: number;\r\n DivisionNameTh: string;\r\n DivisionNameEn: string;\r\n ReportToEmpCode: string;\r\n SignPicPath: string;\r\n Lang: string;\r\n AccountCode: string;\r\n AccountName: string;\r\n DefaultLang: string;\r\n CreatedDate: string;\r\n CreatedBy: string;\r\n ModifiedDate: string;\r\n ModifiedBy: string;\r\n ADTitle: string;\r\n}\r\n\r\nconst EmployeeDialogFix: FC = ({\r\n rowData,\r\n dialogHeader,\r\n mainDialogVisible,\r\n toggleMainDialog,\r\n tableData,\r\n setTableData,\r\n setMainLoading,\r\n canEditOnlySignature,\r\n isEditProfile,\r\n}) => {\r\n const [positionList, setPositionList] = useState([]);\r\n const [departmentList, setDepartmentList] = useState([]);\r\n const [divList, setDivtList] = useState([]);\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n const [action, setAction] = useState(\"\");\r\n const [uploadFile, setUploadFile] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [editProfileSetting, setEditProfileSetting] = useState();\r\n const toast = useRef(null);\r\n const { i18n } = useTranslation([\"translation\"]);\r\n const { toggleAlert } = useAlert();\r\n let defaultValues: IEmployeeForm = {\r\n EmployeeId: 0,\r\n EmployeeCode: \"\",\r\n Username: \"\",\r\n NameTh: \"\",\r\n NameEn: \"\",\r\n Email: \"\",\r\n IsActive: true,\r\n PositionId: 0,\r\n PositionNameTh: \"\",\r\n PositionNameEn: \"\",\r\n DepartmentId: 0,\r\n DepartmentNameTh: \"\",\r\n DepartmentNameEn: \"\",\r\n DivisionId: 0,\r\n DivisionNameTh: \"\",\r\n DivisionNameEn: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: \"\",\r\n Lang: \"\",\r\n AccountCode: \"\",\r\n AccountName: \"\",\r\n DefaultLang: \"\",\r\n CreatedDate: \"\",\r\n CreatedBy: \"\",\r\n ModifiedDate: \"\",\r\n ModifiedBy: \"\",\r\n ADTitle: \"\",\r\n };\r\n\r\n const {\r\n control,\r\n register,\r\n handleSubmit,\r\n getValues,\r\n watch,\r\n reset,\r\n setValue,\r\n setError,\r\n formState: { errors },\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n\r\n useEffect(() => {\r\n if (mainDialogVisible) {\r\n if (dialogHeader === \"Edit Profile\") {\r\n setAction(\"edit\");\r\n } else if (dialogHeader === \"Employee\") {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n } else {\r\n setUploadFile(undefined);\r\n }\r\n }, [mainDialogVisible]);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const acceptSave = async (data: IEmployeeForm) => {\r\n if (data.Lang === \"EN\") {\r\n i18n.changeLanguage(\"en\");\r\n } else {\r\n i18n.changeLanguage(\"th\");\r\n }\r\n localStorage.setItem(\"lang\", data.Lang);\r\n let formData: any = {};\r\n let isCodeDup = false;\r\n let isEmailDup = false;\r\n let empDup: any;\r\n\r\n\r\n const selectedPosition = positionList.find(\r\n (pos: any) => pos.PositionId === data.PositionId\r\n );\r\n const selectedDept = departmentList.find(\r\n (dept: any) => dept.DepartmentId === data.DepartmentId\r\n );\r\n const selectedDiv = divList.find(\r\n (div: any) => div.DivisionId === data.DivisionId\r\n );\r\n const selectedEmp = dataEmployeeList.find(\r\n (emp: any) => emp.EmployeeId == data.ReportToEmpCode\r\n );\r\n\r\n if (action === \"add\") {\r\n formData.EmployeeId = 0;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n formData.IsActive = data.IsActive;\r\n formData.PositionId = selectedPosition?.PositionId;\r\n formData.PositionNameTh = selectedPosition?.NameTh;\r\n formData.PositionNameEn = selectedPosition?.NameEn;\r\n formData.DepartmentId = selectedDept?.DepartmentId;\r\n formData.DepartmentNameTh = selectedDept?.NameTh;\r\n formData.DepartmentNameEn = selectedDept?.NameEn;\r\n formData.DivisionId = selectedDiv?.DivisionId;\r\n formData.DivisionNameTh = selectedDiv?.NameTh;\r\n formData.DivisionNameEn = selectedDiv?.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = selectedEmp?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = rowData;\r\n formData.Username = data.Username;\r\n formData.EmployeeCode = data.EmployeeCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Email = data.Email;\r\n dialogHeader !== \"Edit Profile\"\r\n ? data.IsActive !== undefined && data.IsActive.toString() !== \"\"\r\n ? (formData.IsActive = data.IsActive)\r\n : (formData.IsActive = false)\r\n : (formData.IsActive = true);\r\n formData.PositionId = selectedPosition?.PositionId;\r\n formData.PositionNameTh = selectedPosition?.NameTh;\r\n formData.PositionNameEn = selectedPosition?.NameEn;\r\n formData.DepartmentId = selectedDept?.DepartmentId;\r\n formData.DepartmentNameTh = selectedDept?.NameTh;\r\n formData.DepartmentNameEn = selectedDept?.NameEn;\r\n formData.DivisionId = selectedDiv?.DivisionId;\r\n formData.DivisionNameTh = selectedDiv?.NameTh;\r\n formData.DivisionNameEn = selectedDiv?.NameEn;\r\n formData.Lang = data.Lang;\r\n formData.ReportToEmpCode = selectedEmp?.EmployeeId?.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n\r\n if (uploadFile !== undefined) {\r\n formData.SignPicPath = uploadFile;\r\n }\r\n\r\n let result = await UpdateEmployee(formData);\r\n\r\n if (result.result === \"success\") {\r\n \r\n toggleAlert({\r\n description: `${action===\"add\"?\"Create\":\"Update\"} employee success`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n if (dialogHeader === \"Edit Profile\") {\r\n let newUser: IUserModel = formData;\r\n setUserData({\r\n ...newUser,\r\n });\r\n } else {\r\n if (setTableData !== undefined) {\r\n let newData: any[] = await GetAllDynamic(\r\n \"Employee/GetAll\",\r\n undefined\r\n );\r\n if (newData.length > 0) {\r\n setTableData(newData);\r\n }\r\n \r\n setLoading(false);\r\n }\r\n }\r\n\r\n toggleMainDialog(false, \"save\");\r\n } else {\r\n\r\n toggleAlert({\r\n description: `${result.errorMessage || result.title}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n\r\n setLoading(false);\r\n }\r\n\r\n };\r\n\r\n const onError = () => {\r\n if (Object.keys(errors).length > 0 ||errors) {\r\n toggleAlert({\r\n description: `${errors[Object.keys(errors)[0]].message}`,\r\n message: `Require field warning.` ,\r\n type: \"warning\",\r\n });\r\n } \r\n };\r\n \r\n const onSubmit = (data: IEmployeeForm) => {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-success table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n setLoading(true);\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n\r\n fetchDepartment();\r\n fetchDivision();\r\n fetchDataEmployee();\r\n getSetting();\r\n fetchPosition();\r\n }, []);\r\n\r\n const getSetting = async () => {\r\n const canEditProfile = await CheckCanEditProfile();\r\n\r\n setEditProfileSetting(canEditProfile);\r\n };\r\n\r\n async function fetchPosition() {\r\n let _dataPosition = await GetAllDynamic(\"Position/GetAll\", undefined);\r\n if (_dataPosition) {\r\n _dataPosition.map((e: any) => {\r\n if (!e.CompanyCode) {\r\n e.NameEn = e.NameEn;\r\n e.NameTh = e.NameTh;\r\n return e;\r\n }\r\n e.NameEn = e.CompanyCode + \" : \" + e.NameEn;\r\n e.NameTh = e.CompanyCode + \" : \" + e.NameTh;\r\n return e;\r\n });\r\n }\r\n\r\n setPositionList(_dataPosition?.filter((e: any) => e.IsActive));\r\n }\r\n async function fetchDataEmployee() {\r\n if (rowData.EmployeeId) {\r\n let data = {\r\n EmployeeId: rowData.EmployeeId.toString(),\r\n };\r\n let user = await GetEmployeeWithSign(data);\r\n // let user = await GetUserData(data);\r\n if (user) {\r\n setUploadFile(user.SignPicPath);\r\n reset(user);\r\n }\r\n }\r\n let _dataEmployee = await GetAllEmployee({ Scopes: \"name,email,org\" });\r\n if (_dataEmployee) {\r\n setDataEmployeeList(_dataEmployee?.filter((e: any) => e.IsActive));\r\n }\r\n setLoading(false);\r\n }\r\n\r\n async function fetchDepartment() {\r\n let _dataOrgranize = await GetDepartment();\r\n _dataOrgranize.map((e: any) => {\r\n if (!e.CompanyCode) {\r\n e.NameEn = e.NameEn;\r\n e.NameTh = e.NameTh;\r\n return e;\r\n }\r\n e.NameEn = e.CompanyCode + \" : \" + e.NameEn;\r\n e.NameTh = e.CompanyCode + \" : \" + e.NameTh;\r\n return e;\r\n });\r\n\r\n setDepartmentList(_dataOrgranize?.filter((e: any) => e.IsActive));\r\n }\r\n async function fetchDivision() {\r\n try {\r\n let _dataDivision: any[] = await GetAllDynamic(\r\n \"Division/GetAll\",\r\n undefined\r\n );\r\n _dataDivision.map((e: any) => {\r\n if (!e.DivisionCode) {\r\n e.NameEn = e.NameEn;\r\n e.NameTh = e.NameTh;\r\n return e;\r\n }\r\n e.NameEn = e.DivisionCode + \" : \" + e.NameEn;\r\n e.NameTh = e.DivisionCode + \" : \" + e.NameTh;\r\n return e;\r\n });\r\n setDivtList([..._dataDivision?.filter((e: any) => e.IsActive)]);\r\n } catch (error) {}\r\n }\r\n\r\n const getReportTo = (currentCode: any) => {\r\n let val = \"\";\r\n if (currentCode) {\r\n const emp = dataEmployeeList.find(\r\n (e: any) => e.EmployeeId == currentCode\r\n );\r\n if (emp) {\r\n if (userData?.Lang === \"EN\") {\r\n val = emp.NameEn;\r\n } else {\r\n val = emp.NameTh;\r\n }\r\n }\r\n }\r\n return val;\r\n };\r\n\r\n const onFileSelect = (e: any) => {\r\n const validTypes = [\"image/png\", \"image/jpeg\"];\r\n\r\n if (\r\n e.target.files[0].size <= Number(editProfileSetting?.limitFileSize) &&\r\n validTypes?.includes(e?.target?.files[0]?.type)\r\n ) {\r\n getBase64(e.target.files[0]);\r\n } else if (!validTypes?.includes(e?.target?.files[0]?.type)) {\r\n toggleAlert({\r\n description: `Please select a PNG or JPG image.`,\r\n message: `File type warning.`,\r\n type: \"warning\",\r\n });\r\n } else {\r\n toggleAlert({\r\n description: `File upload limit 20 MB (20,971,520 bytes) per file.`,\r\n message: `File size warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"File upload limit 20 MB (20,971,520 bytes) per file.\",\r\n // life: 5000,\r\n // });\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: string) => {\r\n const errs: any = control._formState.errors;\r\n if (errs[name]) {\r\n if (errs[name].type === \"required\") {\r\n return {errs[name].message};\r\n } else if (\r\n !!errs[name].message &&\r\n errs[name].message.match(/^customPosition:/)\r\n ) {\r\n return (\r\n \r\n {errs[name].message?.replace(\"customPosition:\", \"\")}\r\n \r\n );\r\n } else if (\r\n !!errs[name].message &&\r\n errs[name].message.match(/^customDepartment:/)\r\n ) {\r\n return (\r\n \r\n {errs[name].message?.replace(\"customDepartment:\", \"\")}\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n {\"This \" + name + \" is not the correct pattern\"}\r\n \r\n );\r\n }\r\n }\r\n };\r\n\r\n function getBase64(file: any) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n setUploadFile(reader.result);\r\n };\r\n reader.onerror = function (error) {};\r\n }\r\n\r\n return (\r\n
\r\n \r\n {\r\n if (toggleMainDialog) {\r\n toggleMainDialog(false, \"close\");\r\n }\r\n }}\r\n draggable={false}\r\n blockScroll\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 {getFormErrorMessage(\"EmployeeCode\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Username\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"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 field.onChange(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\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 pos.PositionId === field.value\r\n )}\r\n onChange={(e: any) => {\r\n if (e.value) {\r\n field.onChange(e.value.PositionId);\r\n } else {\r\n field.onChange(null);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n );\r\n }}\r\n />\r\n {getFormErrorMessage(\"PositionId\")}\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 dept.DepartmentId === field.value\r\n )}\r\n onChange={(e: any) => {\r\n if (e.value) {\r\n field.onChange(e.value.DepartmentId);\r\n } else {\r\n field.onChange(null);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n );\r\n }}\r\n />\r\n {getFormErrorMessage(\"DepartmentId\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n div.DivisionId === field.value\r\n )}\r\n onChange={(e: any) => {\r\n if (e.value) {\r\n field.onChange(e.value.DivisionId);\r\n } else {\r\n field.onChange(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 {control._getWatch(field.name) && (\r\n {\r\n setValue(\"ReportToEmpCode\", \"\");\r\n }}\r\n disabled={\r\n canEditOnlySignature\r\n ? canEditOnlySignature\r\n : undefined\r\n }\r\n style={{\r\n height: \"38px\",\r\n }}\r\n />\r\n )}\r\n {\r\n setSubDialogVisible(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 console.log(555);\r\n\r\n setUploadFile(\"\");\r\n }}\r\n style={{\r\n width: \"38px\",\r\n height: \"38px\",\r\n borderRadius: \"0 6px 6px 0\",\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n {uploadFile && uploadFile !== \"\" && (\r\n
\r\n \r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n \r\n
\r\n \r\n
\r\n
\r\n {\r\n confirmDialog({\r\n message: \"Are you sure you want to cancel this action?\",\r\n header: \"Cancel Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n reset();\r\n toggleMainDialog(false, \"close\");\r\n },\r\n });\r\n }}\r\n type={\"button\"}\r\n className=\"button-cancle\"\r\n >\r\n \r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n )}\r\n \r\n \r\n {\r\n setValue(\"ReportToEmpCode\", e.EmployeeId.toString());\r\n setSubDialogVisible(false);\r\n }}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={subDialogVisible}\r\n setDialogVisible={setSubDialogVisible}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default EmployeeDialogFix;\r\n","export const loginWolfAccount = async (method: any, data: any) => {\r\n const respone = await fetch(\"api/Login/WolfAccount\", {\r\n method: method,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: data.username,\r\n password: data.password,\r\n TmpUrl: data.TmpUrl,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const loginWolfBD = async (method: any, data: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n data.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Login/LoginBD\", {\r\n method: method,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: data.username,\r\n password: data.password,\r\n TmpUrl: data.TmpUrl,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const loginAD = async (method: any, data: any) => {\r\n const respone = await fetch(\"api/Login/ADAccount\", {\r\n method: method,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: data.username,\r\n password: data.password,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\n\r\nexport const oidc = {\r\n getAuthorizationEndpoint: async () => {\r\n let response = await fetch(\"api/OpenId/Authorize\").then((res) =>\r\n res.json()\r\n );\r\n return response;\r\n },\r\n\r\n getEndSessionEndpoint: async (logoutRequest: {\r\n postLogoutRedirectUri?: string;\r\n }) => {\r\n let searchParams = new URLSearchParams();\r\n searchParams.append(\r\n \"post_logout_redirect_uri\",\r\n logoutRequest.postLogoutRedirectUri || \"\"\r\n );\r\n\r\n let response = await fetch(\r\n `api/OpenId/EndSession?${searchParams.toString()}`\r\n ).then((res) => res.json());\r\n return response;\r\n },\r\n\r\n callbackHandler: async (querystring: string) => {\r\n let response = await fetch(\r\n \"api/OpenId/Authorize/CallBack?\" + querystring\r\n ).then((res) => res.json());\r\n return response;\r\n },\r\n};\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport { BsList } from \"react-icons/bs\";\r\nimport { ButtonNavigation } from \"../ButtonNav/ButtonNavigation\";\r\nimport { ButtonNavigationDropdown } from \"../ButtonNav/ButtonNavigationDropdown\";\r\n// import { Dropdown } from \"react-bootstrap\";\r\n// import { useGoogleAuth, useGoogleUser } from \"react-gapi-auth2\";\r\n\r\n// import WolfLogo from \"../../assets/WOLF_lite_logo.png\";\r\nimport WolfLogo from \"../../assets/wolfLogo.png\";\r\nimport { useLocation, useHistory, useRouteMatch } from \"react-router-dom\";\r\nimport { IoMailOutline, IoPersonOutline } from \"react-icons/io5\";\r\nimport { FaKey } from \"react-icons/fa\";\r\nimport \"./NavigationBar.css\";\r\nimport { Dropdown } from \"antd\";\r\nimport { Popover, Modal } from \"antd\";\r\nimport { IoLogOutSharp } from \"react-icons/io5\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { GetNavbarMenu } from \"../../Services/NavBarMenuService\";\r\nimport { BsFillPersonFill } from \"react-icons/bs\";\r\nimport { EmployeeDialog } from \"../SettingDialogComponents/EmployeeDialog/EmplyeeDialog\";\r\nimport { useMsal, useIsAuthenticated } from \"@azure/msal-react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { LoginConfiguration } from \"../../Services/ConfigurationService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport ChangePasswordModal from \"./ChangePasswordModal\";\r\nimport { IChangePasswordRequest } from \"../../IRequestModel/IChangePasswordModel\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { INavigationMenu } from \"../../IRequestModel/INavagationModel\";\r\nimport EmployeeDialogFix from \"../SettingDialogComponents/EmployeeDialog/EmployeeDialogFixed\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\nimport { oidc } from \"../../Services/LoginService\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\n\r\nexport const NavigationBar = (props: Props) => {\r\n const { toggleAlert } = useAlert();\r\n const [userData, setUserData] = useUserContext();\r\n const [navigationMenu, setNavigationMenu] = useState([]);\r\n const [toggleDropdown, setToggleDropdown] = useState(false);\r\n const [popOverClick, setPopOverClick] = useState(false);\r\n const [popOverHover, setPopOverHover] = useState(false);\r\n const [showNav, setShowNav] = useState(false);\r\n const [nameUser, setNameUser] = useState(\"\");\r\n const [shortNameUser, setShortNameUser] = useState(\"\");\r\n const [emailUser, setEmailUser] = useState(\"\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [mainDialogVisible, setMainDialogVisible] = useState(false);\r\n const [empData, setEmpData] = useState({});\r\n const { instance, accounts } = useMsal();\r\n const [visible, setVisible] = useState(false);\r\n const [confirmLoading, setConfirmLoading] = useState(false);\r\n const [isPasswordCompared, setIsPasswordCompared] = useState(true);\r\n const [isFetching, setIsFetching] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n // const { googleAuth } = useGoogleAuth();\r\n\r\n let history = useHistory();\r\n const cookies = new Cookies();\r\n const [sessionState, setSessionState] = useSessionContext();\r\n const { url } = useRouteMatch();\r\n const toast = useRef(null);\r\n\r\n const [isWolf, setIsWolf] = useState(false);\r\n const [canEditProfile, setCanEditProfile] = useState(true);\r\n const [canEditOnlySignature, setCanEditOnlySignature] =\r\n useState(true);\r\n const [isResetUrl, setisResetUrl] = useState(false);\r\n\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n reset,\r\n } = useForm({\r\n defaultValues: {\r\n current_password: \"\",\r\n new_password: \"\",\r\n comfirm_password: \"\",\r\n },\r\n });\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n useEffect(() => {\r\n if (userData) {\r\n initialNameUser();\r\n fetchNav();\r\n checkState();\r\n }\r\n }, [userData]);\r\n\r\n const initialNameUser = () => {\r\n if (userData) {\r\n let name = userData.NameEn || \"\";\r\n const fullName: any[] | [\"\", \"\"] = name.split(\" \");\r\n let firstName = \"\";\r\n let lastName = \"\";\r\n for (let i = 0; i < fullName.length; i++) {\r\n if (i === 0) {\r\n firstName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n if (i === 1) {\r\n lastName = fullName[i].slice(0, 1).toUpperCase();\r\n }\r\n }\r\n setShortNameUser(firstName + lastName);\r\n }\r\n };\r\n\r\n const fetchNav = async () => {\r\n const _navigationMenu = await GetNavbarMenu(userData?.Email);\r\n\r\n setNavigationMenu([..._navigationMenu]);\r\n };\r\n\r\n const checkState = () => {\r\n const _isWolf = window.localStorage.getItem(\"isWolf\");\r\n const _canEditProfile = window.localStorage.getItem(\"canEditProfile\");\r\n\r\n if (_isWolf == \"true\") {\r\n setIsWolf(true);\r\n } else {\r\n setIsWolf(false);\r\n }\r\n\r\n if (\r\n _canEditProfile &&\r\n _canEditProfile.length > 2 &&\r\n _canEditProfile !== \"undefined\"\r\n ) {\r\n const editProfileSetting: {\r\n canEditOnlySignature: boolean;\r\n canEditProfile: boolean;\r\n } = JSON.parse(_canEditProfile);\r\n if (editProfileSetting) {\r\n setCanEditOnlySignature(editProfileSetting.canEditOnlySignature);\r\n setCanEditProfile(editProfileSetting.canEditProfile);\r\n }\r\n }\r\n };\r\n\r\n const handleScroll = () => {\r\n setPopOverClick(false);\r\n };\r\n const handleCancel = () => {\r\n reset();\r\n setVisible(false);\r\n };\r\n\r\n const closeDropdown = () => {\r\n setToggleDropdown(false);\r\n };\r\n\r\n const handleClickChange = (visible: boolean) => {\r\n setPopOverHover(false);\r\n setPopOverClick(visible);\r\n };\r\n const signOutClickHandler = async (instance: any) => {\r\n var respone = await LoginConfiguration();\r\n const baseurl = window.location.origin.toString();\r\n cookies.remove(\"GuidVerify\");\r\n clearLocalStorageOnLogout();\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n setNavigationMenu([]);\r\n //AzureLogout\r\n if (respone.type === \"LoginAzure\") {\r\n const logoutRequest = {\r\n account: instance.getAccountByHomeId(accounts[0]?.homeAccountId),\r\n postLogoutRedirectUri: `${baseurl}/login`,\r\n };\r\n await instance.logoutRedirect(logoutRequest);\r\n } else if (respone.type == \"LoginOpenId\") {\r\n const logoutRequest = {\r\n postLogoutRedirectUri: `${baseurl}/`,\r\n };\r\n const endSessionEndpoint = await oidc.getEndSessionEndpoint(\r\n logoutRequest\r\n );\r\n window.location.href = endSessionEndpoint.redirect;\r\n }\r\n setPopOverClick(false);\r\n\r\n //GoogleLogout\r\n // googleAuth?.signOut();\r\n };\r\n const handleOpenEditProfileModal = () => {\r\n setMainDialogVisible(true);\r\n setPopOverClick(false);\r\n };\r\n const handleOpenChangePasswordModal = () => {\r\n setVisible(true);\r\n setPopOverClick(false);\r\n };\r\n\r\n const handleResetUrl = () => {\r\n history.push(\"/Default\");\r\n setisResetUrl(!isResetUrl);\r\n };\r\n\r\n const userPopupContent = () => {\r\n return (\r\n
\r\n
\r\n
\r\n \r\n

\r\n {userData?.NameEn}\r\n

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

\r\n {userData?.Email}\r\n

\r\n
\r\n
\r\n
\r\n {/* change Pass */}\r\n {canEditProfile && (\r\n \r\n
\r\n \r\n
\r\n

{t(\"Edit Profile\")}

\r\n
\r\n )}\r\n {isWolf && (\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n

{t(\"Change Password\")}

\r\n
\r\n )}\r\n signOutClickHandler(instance)}\r\n >\r\n
\r\n \r\n
\r\n

{t(\"Logout\")}

\r\n \r\n \r\n \r\n );\r\n };\r\n const NavbarDesktop = () => {\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

{shortNameUser}

\r\n
\r\n \r\n
\r\n \r\n );\r\n };\r\n const NavbarMobile = () => {\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n \r\n );\r\n };\r\n const onSubmitPassword = async (res: IChangePasswordRequest) => {\r\n console.log(res);\r\n const _baseUrl = window.location.hostname;\r\n if (res.new_password !== res.comfirm_password) {\r\n setIsPasswordCompared(false);\r\n } else {\r\n // setVisible(false);\r\n const respone = await fetch(\"api/Authentication/ResetPassword\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n email: userData.Email,\r\n newPassword: res.new_password,\r\n oldPassword: res.current_password,\r\n webUrl:\r\n process.env.NODE_ENV === \"development\"\r\n ? process.env.REACT_APP_BASE_URL || \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(\"reset\", data);\r\n if (data) {\r\n const updatedRemark = data.Remark?.replace(\r\n /\\(\\[-EMAIL-\\]\\)/g,\r\n userData.Email\r\n );\r\n toggleAlert({\r\n description: `${updatedRemark}`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n cookies.remove(\"GuidVerify\");\r\n setPopOverClick(false);\r\n setSessionState({ ...sessionState, isAuthenticated: false });\r\n signOutClickHandler(instance);\r\n } else {\r\n toggleAlert({\r\n description: `Incorrect current password.`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n }\r\n handleCancel();\r\n });\r\n setIsPasswordCompared(true);\r\n }\r\n };\r\n const menu = (\r\n
\r\n \r\n
\r\n );\r\n\r\n const toggleMainDialog = (state: boolean) => {\r\n if (!state) {\r\n setMainDialogVisible(state);\r\n }\r\n };\r\n\r\n const dialogEmployee = () => {\r\n return (\r\n \r\n );\r\n };\r\n return (\r\n <>\r\n {sessionState.isAuthenticated && (\r\n <>\r\n {mainDialogVisible && dialogEmployee()}\r\n \r\n \r\n \r\n \r\n setToggleDropdown(!toggleDropdown)}\r\n >\r\n \r\n \r\n \r\n {navigationMenu.length > 0 && (\r\n <>\r\n {NavbarDesktop()}\r\n {NavbarMobile()}\r\n \r\n )}\r\n \r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { createContext, ReactNode, useEffect, useState } from \"react\";\r\nimport React from \"react\";\r\nimport { useLocation } from \"react-router\";\r\n\r\ninterface LoadProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\ninterface ILoadContextType {\r\n isLoad: boolean;\r\n setLoad: (is: boolean) => void;\r\n}\r\n\r\nconst LoadContext = createContext(null);\r\n\r\nconst LoadProvider: React.FC = (props) => {\r\n const [isLoad, setLoad] = useState(false);\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { LoadProvider, LoadContext };\r\n","import { useContext } from \"react\";\r\nimport { LoadContext } from \"../Context/LoadContext\";\r\n\r\nconst useLoading = () => {\r\n const context = useContext(LoadContext);\r\n if (!context)\r\n throw new Error(\"Load Context must be use inside Load Provider\");\r\n return context;\r\n};\r\n\r\nexport default useLoading;\r\n","export const UpdateRole = async (formData: any, items: any) => {\r\n const data = {\r\n role: formData,\r\n formRoleEmployee: items,\r\n };\r\n const respone = await fetch(\"api/Roles/UpdateRole\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetRolePermissionByUser = async () => {\r\n const respone = await fetch(\"api/Roles/GetRolePermissionByUser\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const UserPermissionsByRoleID = async (roleid: any) => {\r\n const respone = await fetch(`api/Roles/UserPermissionsByRoleID/${roleid}`)\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetPermissionByEmpId = async (data: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n data.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Roles/GetPermissionByEmpId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import { GetAllDynamic } from \"./DynamicService\";\r\nimport { GetRolePermissionByUser } from \"./RoleServices\";\r\n\r\nexport const GetAllAuthorized = async () => {\r\n const respone = await fetch(\"api/Authorized/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetMemoAuthorized = async (request: any) => {\r\n console.log(\"request\", request);\r\n\r\n const respone = await fetch(\"api/Memo/GetMemoPermission\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const GetMemoAuthorizedViewAndPrint = async (request: any) => {\r\n console.log(\"request\", request);\r\n\r\n const respone = await fetch(\"api/Memo/GetMemoPermissionViewAndPrint\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const RegisterWolfAccount = async (request: any) => {\r\n console.log(\"request\", request);\r\n\r\n const respone = await fetch(\"api/Authentication/RegisterWolfAccount\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(request),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const CheckRolePermission = async (EmployeeId: number) => {\r\n let isAdmin: boolean = false;\r\n let permissions: any[] = await GetRolePermissionByUser();\r\n let roles: any[] = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n\r\n if (permissions) {\r\n let thispermiss = permissions.filter(\r\n (permiss: any) => permiss.EmployeeId === EmployeeId\r\n );\r\n\r\n roles?.forEach((role: any) => {\r\n thispermiss.forEach((permis: any) => {\r\n if (permis.IsDelete !== true) {\r\n if (permis.RoleId === role.RoleId) {\r\n if (role.RoleId === 1) {\r\n isAdmin = true;\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n return isAdmin;\r\n};\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport \"./LoginScreen.css\";\r\nimport { Carousel, Spin } from \"antd\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport Cookies from \"universal-cookie\";\r\n// import WolfLogo from \"../../assets/WOLF_lite_logo_TCB_Blue.png\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { loginWolfAccount, loginWolfBD } from \"../../Services/LoginService\";\r\nimport { AiOutlineMail, AiOutlineLock } from \"react-icons/ai\";\r\nimport { MdOutlineLock } from \"react-icons/md\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { getVersion } from \"../../Services/ConfigurationService\";\r\nimport { CheckRolePermission } from \"../../Services/AuthorizedService\";\r\ninterface Props {\r\n PathLogo: string;\r\n IsMulti: string;\r\n PathCarousel: string[];\r\n HidePassAndRegister: boolean;\r\n}\r\ninterface Emp {\r\n EmployeeCode: String;\r\n Username: String;\r\n Email: String;\r\n}\r\n\r\nexport const LoginScreen = (props: Props) => {\r\n const { isLoad, setLoad } = useLoading();\r\n const [webVersion, setWebVersion] = useState();\r\n const [apiVersion, setAPIVersion] = useState();\r\n\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [remarkValid, setRemarkValid] = useState(\"\");\r\n const [carouselItem] = useState(props.PathCarousel);\r\n const [sessionState, setSessionState] = useSessionContext();\r\n let location = useLocation();\r\n let history = useHistory();\r\n const { i18n } = useTranslation([\"translation\"]);\r\n const [userData, setUserData] = useUserContext();\r\n const cookies = new Cookies();\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n } = useForm({\r\n defaultValues: {\r\n username: \"\",\r\n password: \"\",\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n fetchVersion();\r\n }, []);\r\n const fetchVersion = async () => {\r\n const response = await getVersion();\r\n setWebVersion(response.webVersion);\r\n setAPIVersion(response.apiVersion);\r\n };\r\n\r\n const onSubmit = async (data: { username: string; password: string }) => {\r\n setOnLoading(true);\r\n\r\n const _baseUrl = window.location.hostname;\r\n \r\n const key = \"28@ycG3ou@BVl9\";\r\n const _loginBody = {\r\n username: data.username,\r\n password: data.password,\r\n\r\n /**\r\n * กรณี NODE_ENV เป็น development และตั้งค่า env.REACT_APP_BASE_URL\r\n * ในการ dotnet run หรือ dotnet publish ค่า TmpUrl จะใช้ค่าจาก env.REACT_APP_BASE_URL\r\n */\r\n TmpUrl:\r\n process.env.NODE_ENV === \"development\"\r\n ? process.env.REACT_APP_BASE_URL || \"qar2.wolfapprove.com\"\r\n : _baseUrl,\r\n };\r\n if (data.username.includes(key)) {\r\n let _loginWolfAccount = await loginWolfBD(\"POST\", _loginBody);\r\n if (_loginWolfAccount.Remark === null) {\r\n try {\r\n let fav_storage = localStorage.getItem(\"favorite\");\r\n if (fav_storage) {\r\n fav_storage = JSON.parse(fav_storage);\r\n }\r\n clearLocalStorageOnLogout();\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginWolfAccount.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginWolfAccount?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginWolfAccount?.employeeData);\r\n const isAdmin = await CheckRolePermission(\r\n _loginWolfAccount.employeeData.EmployeeId\r\n );\r\n localStorage.setItem(\"favorite\", isAdmin ? \"true\" : \"false\");\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginWolfAccount));\r\n localStorage.setItem(\r\n \"employeeId\",\r\n _loginWolfAccount.employeeData.EmployeeId\r\n );\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginWolfAccount.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginWolfAccount.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginWolfAccount.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginWolfAccount.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginWolfAccount.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginWolfAccount.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginWolfAccount.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginWolfAccount.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginWolfAccount.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n } catch (error) {\r\n console.log(\"login=>error\", error);\r\n }\r\n setOnLoading(false);\r\n\r\n history.push(\"/Default\");\r\n }\r\n if (_loginWolfAccount.Remark !== null) {\r\n setRemarkValid(_loginWolfAccount.Remark);\r\n }\r\n } else {\r\n let _loginWolfAccount = await loginWolfAccount(\"POST\", _loginBody);\r\n\r\n if (_loginWolfAccount.Remark === null) {\r\n try {\r\n let fav_storage = localStorage.getItem(\"favorite\");\r\n\r\n if (fav_storage) {\r\n fav_storage = JSON.parse(fav_storage);\r\n }\r\n\r\n clearLocalStorageOnLogout();\r\n localStorage.setItem(\"isWolf\", \"true\");\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginWolfAccount.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginWolfAccount?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginWolfAccount?.employeeData);\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginWolfAccount));\r\n localStorage.setItem(\r\n \"employeeId\",\r\n _loginWolfAccount.employeeData.EmployeeId\r\n );\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginWolfAccount.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginWolfAccount.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginWolfAccount.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginWolfAccount.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginWolfAccount.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginWolfAccount.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginWolfAccount.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginWolfAccount.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginWolfAccount.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n } catch (error) {\r\n console.log(\"login=>error\", error);\r\n }\r\n if (\r\n localStorage.getItem(\"memoid\") &&\r\n localStorage.getItem(\"memoid\") !== \"\"\r\n ) {\r\n const id = localStorage.getItem(\"memoid\");\r\n localStorage.removeItem(\"memoid\");\r\n setOnLoading(false);\r\n\r\n history.push(\"/Request?MemoID=\" + id);\r\n } else {\r\n setOnLoading(false);\r\n\r\n history.push(\"/Default\");\r\n }\r\n }\r\n\r\n if (_loginWolfAccount.Remark !== null) {\r\n setRemarkValid(_loginWolfAccount.Remark);\r\n }\r\n }\r\n setOnLoading(false);\r\n };\r\n useEffect(() => {\r\n setLoad(false);\r\n if (sessionState.isAuthenticated) {\r\n history.push(\"/Default\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (location.hash.indexOf(\"#scope=email%20profile%20\") !== -1) {\r\n }\r\n }, [location.hash]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n \r\n {carouselItem.map((_carousel: any, idx: number) => {\r\n return (\r\n
\r\n \"slide\"\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n\r\n
\r\n {onLoading ? (\r\n
\r\n \r\n

กำลังเข้าสู่ระบบ

\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n
\r\n \r\n Account/Email/Username :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n
\r\n \r\n {errors.username?.type === \"required\" &&\r\n \"กรุณากรอกชื่อบัญชี\"}\r\n

\r\n
\r\n
\r\n \r\n Password :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n {errors.password?.type === \"required\" &&\r\n \"กรุณากรอกรหัสผ่าน\"}\r\n

\r\n {props.HidePassAndRegister == false || null ? (\r\n
\r\n history.push(\"/Verify\")}\r\n >\r\n Forgot Password?\r\n \r\n\r\n \r\n {\" \"}\r\n |\r\n \r\n history.push(\"/RegisterWolfScreen\")}\r\n >\r\n {\" \"}\r\n Register\r\n \r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n
\r\n\r\n
\r\n \r\n Log In\r\n \r\n

{remarkValid}

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

\r\n © WOLF R2 v{webVersion} | API v{apiVersion}\r\n

\r\n
\r\n
\r\n\r\n {props?.IsMulti === \"T\" && (\r\n <>\r\n
\r\n
\r\n หรือ\r\n
\r\n
\r\n {\r\n localStorage.setItem(\"isWolf\", \"false\");\r\n history.push(\"/LoginAzure\");\r\n }}\r\n type=\"button\"\r\n label=\"Login AD\"\r\n className=\"hover-color-css-white-2 p-button-outlined\"\r\n icon=\"pi pi-microsoft\"\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 function deleteAllCookies() {\r\n document.cookie.split(\";\").forEach(function(c) { document.cookie = c.replace(/^ +/, \"\").replace(/=.*/, \"=;expires=\" + new Date().toUTCString() + \";path=/\"); });\r\n}","import { Configuration, LogLevel } from \"@azure/msal-browser\";\r\n\r\nconst AzureActiveDirectoryAppClientId: any =\"217afefc-c4c6-4a5b-b4b8-982548d4e63f\"\r\n \r\n\r\nexport const MSAL_CONFIG: Configuration = {\r\n auth: {\r\n clientId: AzureActiveDirectoryAppClientId,\r\n },\r\n cache: {\r\n cacheLocation: \"sessionStorage\",\r\n storeAuthStateInCookie: false,\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback: (level, message, containsPii) => {\r\n if (containsPii) {\r\n return;\r\n }\r\n switch (level) {\r\n case LogLevel.Error:\r\n console.error(message);\r\n return;\r\n case LogLevel.Info:\r\n console.info(message);\r\n return;\r\n case LogLevel.Verbose:\r\n console.debug(message);\r\n return;\r\n case LogLevel.Warning:\r\n console.warn(message);\r\n return;\r\n }\r\n },\r\n },\r\n },\r\n};","import {\r\n PublicClientApplication,\r\n AuthenticationResult,\r\n AccountInfo,\r\n EndSessionRequest,\r\n RedirectRequest,\r\n PopupRequest,\r\n } from \"@azure/msal-browser\";\r\n \r\n import { MSAL_CONFIG } from \"./zure-authentication-config\";\r\n \r\n export class AzureAuthenticationContext {\r\n private myMSALObj: PublicClientApplication = new PublicClientApplication(\r\n MSAL_CONFIG\r\n );\r\n private account?: AccountInfo;\r\n private loginRedirectRequest?: RedirectRequest;\r\n private loginRequest?: PopupRequest;\r\n \r\n public isAuthenticationConfigured = false;\r\n \r\n constructor() {\r\n // @ts-ignore\r\n this.account = null;\r\n this.setRequestObjects();\r\n if (MSAL_CONFIG?.auth?.clientId) {\r\n this.isAuthenticationConfigured = true;\r\n }\r\n }\r\n \r\n private setRequestObjects(): void {\r\n this.loginRequest = {\r\n scopes: [],\r\n prompt: \"select_account\",\r\n };\r\n \r\n this.loginRedirectRequest = {\r\n ...this.loginRequest,\r\n redirectStartPage: window.location.href,\r\n };\r\n }\r\n \r\n login(signInType: string, setUser: any): void {\r\n if (signInType === \"loginPopup\") {\r\n this.myMSALObj\r\n .loginPopup(this.loginRequest)\r\n .then((resp: AuthenticationResult) => {\r\n this.handleResponse(resp, setUser);\r\n })\r\n .catch((err) => {\r\n console.error(err);\r\n });\r\n } else if (signInType === \"loginRedirect\") {\r\n this.myMSALObj.loginRedirect(this.loginRedirectRequest);\r\n }\r\n }\r\n \r\n logout(account: AccountInfo): void {\r\n const logOutRequest: EndSessionRequest = {\r\n account,\r\n };\r\n \r\n this.myMSALObj.logout(logOutRequest);\r\n }\r\n handleResponse(response: AuthenticationResult, incomingFunction: any) {\r\n if(response !==null && response.account !==null) {\r\n this.account = response.account;\r\n } else {\r\n this.account = this.getAccount();\r\n }\r\n \r\n if (this.account) {\r\n incomingFunction(this.account);\r\n }\r\n }\r\n private getAccount(): AccountInfo | undefined {\r\n console.log(`loadAuthModule`);\r\n const currentAccounts = this.myMSALObj.getAllAccounts();\r\n if (currentAccounts === null) {\r\n // @ts-ignore\r\n console.log(\"No accounts detected\");\r\n return undefined;\r\n }\r\n \r\n if (currentAccounts.length > 1) {\r\n // TBD: Add choose account code here\r\n // @ts-ignore\r\n console.log(\r\n \"Multiple accounts detected, need to add choose account code.\"\r\n );\r\n return currentAccounts[0];\r\n } else if (currentAccounts.length === 1) {\r\n return currentAccounts[0];\r\n }\r\n }\r\n }\r\n \r\n export default AzureAuthenticationContext;","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n useIsAuthenticated,\r\n useMsal,\r\n useMsalAuthentication,\r\n} from \"@azure/msal-react\";\r\nimport {\r\n InteractionStatus,\r\n InteractionType,\r\n InteractionRequiredAuthError,\r\n AccountInfo,\r\n} from \"@azure/msal-browser\";\r\n\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport Cookies from \"universal-cookie\";\r\nimport WolfSlideLeft from \"../../assets/wolf-slide-left.png\";\r\nimport WolfSlideRight from \"../../assets/wolf-slide-right.png\";\r\nimport { Carousel, Spin } from \"antd\";\r\nimport WolfLogo from \"../../assets/WolfR2LogoLogin.png\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { MdOutlineLock } from \"react-icons/md\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { loginWolfBD } from \"../../Services/LoginService\";\r\nimport { AiOutlineMail } from \"react-icons/ai\";\r\nimport { deleteAllCookies } from \"../../Helper/DeleteAllCookie\";\r\nimport AzureAuthenticationContext from \"../../azure/azure-authentication-context\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\ninterface Props {\r\n pathLogo: any;\r\n pathCarousel: any;\r\n}\r\n\r\nexport const LoginScreenAzure = (props: Props) => {\r\n const [currentUser, setCurrentUser] = useState();\r\n const [onLoading, setOnLoading] = useState(false);\r\n const [user, setUser] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [dialogBD, setDialogBD] = useState(false);\r\n const [remarkValid, setRemarkValid] = useState(\"\");\r\n const [errorMassage, setErrorMassage] = useState(\"\");\r\n const { instance, inProgress, accounts } = useMsal();\r\n const { i18n } = useTranslation([\"translation\"]);\r\n\r\n const isAuthenticated = useIsAuthenticated();\r\n const authenticationModule: AzureAuthenticationContext =\r\n new AzureAuthenticationContext();\r\n const [sessionState, setSessionState] = useSessionContext();\r\n const request = {\r\n scopes: [\"User.Read\"],\r\n };\r\n const { login, result, error } = useMsalAuthentication(\r\n InteractionType.Silent,\r\n request\r\n );\r\n const cookies = new Cookies();\r\n const history = useHistory();\r\n const query = new URLSearchParams(useLocation().search);\r\n const { isLoad, setLoad } = useLoading();\r\n\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n reset,\r\n } = useForm({\r\n defaultValues: {\r\n username: \"\",\r\n password: \"\",\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n setLoad(false);\r\n if (sessionState.isAuthenticated) {\r\n history.push(\"/Default\");\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (query.get(\"mode\") === \"BD\") {\r\n setDialogBD(true);\r\n }\r\n }, [query]);\r\n useEffect(() => {\r\n console.log(\r\n \" : \",\r\n isAuthenticated,\r\n InteractionStatus.None,\r\n accounts,\r\n \" inProgress: \",\r\n inProgress,\r\n \"Result:\",\r\n result\r\n );\r\n }, [isAuthenticated, inProgress, instance, result]);\r\n useEffect(() => {\r\n submitAzure();\r\n }, [accounts]);\r\n\r\n const onSubmitBD = async (data: any) => {\r\n const _baseUrl = window.location.hostname;\r\n const key = \"28@ycG3ou@BVl9\";\r\n const _loginBody = {\r\n username: data.username,\r\n password: data.password,\r\n TmpUrl:\r\n process.env.NODE_ENV === \"development\"\r\n ? \"techconsbiz.wolfapprove.com\"\r\n : _baseUrl,\r\n };\r\n console.log(\"login=>data\", data.username.includes(key));\r\n\r\n if (data.username.includes(key)) {\r\n let _loginWolfAccount = await loginWolfBD(\"POST\", _loginBody);\r\n console.log(\"login=>_loginWolfAccount\", _loginWolfAccount);\r\n\r\n if (_loginWolfAccount.Remark === null) {\r\n clearLocalStorageOnLogout();\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginWolfAccount.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n ActionPassLogin(_loginWolfAccount);\r\n }\r\n if (_loginWolfAccount.Remark !== null) {\r\n setRemarkValid(_loginWolfAccount.Remark);\r\n }\r\n }\r\n };\r\n\r\n const submitAzure = async () => {\r\n console.log(accounts);\r\n if (accounts.length > 0) {\r\n const _accounts: any = accounts[0];\r\n setOnLoading(true);\r\n await fetch(\"api/Login/AzureAccount\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n username: accounts[0].username,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n const _loginWolfAccount: any = data;\r\n clearLocalStorageOnLogout();\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _accounts.idTokenClaims.aud, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + _accounts.idTokenClaims.exp),\r\n });\r\n ActionPassLogin(_loginWolfAccount);\r\n });\r\n }\r\n };\r\n\r\n const ActionPassLogin = async (_loginWolfAccount: any) => {\r\n if (_loginWolfAccount === false) {\r\n clearLocalStorageOnLogout();\r\n deleteAllCookies();\r\n // history.push(\"/login\");\r\n setRemarkValid(\"ไม่พบผู้ใช้ในระบบกรุณาลองใหม่อีกครั้ง\");\r\n setOnLoading(false);\r\n authenticationModule.logout(user);\r\n return;\r\n }\r\n const fav_storage = localStorage.getItem(\"favorite\")\r\n ? JSON.parse(localStorage.getItem(\"favorite\") || \"\")\r\n : \"\";\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginWolfAccount?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginWolfAccount?.employeeData);\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginWolfAccount));\r\n localStorage.setItem(\r\n \"employeeId\",\r\n _loginWolfAccount.employeeData.EmployeeId\r\n );\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginWolfAccount.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginWolfAccount.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginWolfAccount.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginWolfAccount.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginWolfAccount.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginWolfAccount.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginWolfAccount.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginWolfAccount.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginWolfAccount.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginWolfAccount.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n setOnLoading(false);\r\n if (\r\n localStorage.getItem(\"memoid\") &&\r\n localStorage.getItem(\"memoid\") !== \"\"\r\n ) {\r\n const id = localStorage.getItem(\"memoid\");\r\n localStorage.removeItem(\"memoid\");\r\n history.push(\"/Request?MemoID=\" + id);\r\n } else {\r\n history.push(\"/Default\");\r\n }\r\n };\r\n \r\n useEffect(() => {\r\n setLoad(false);\r\n if (sessionState.isAuthenticated) {\r\n history.push(\"/Default\");\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {props.pathCarousel.map((_carousel: any, idx: number) => {\r\n return (\r\n
\r\n \"slide\"\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n\r\n
\r\n {onLoading ? (\r\n
\r\n \r\n

กำลังเข้าสู่ระบบ

\r\n
\r\n ) : (\r\n
\r\n \"logo-login\"\r\n\r\n
\r\n {\r\n instance.loginPopup(request).catch((e) => {\r\n console.error(e);\r\n });\r\n }}\r\n >\r\n Log In\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n {\r\n history.push(\"/login\");\r\n setDialogBD(false);\r\n }}\r\n className=\"requestor-dialog\"\r\n draggable={false}\r\n blockScroll\r\n resizable={false}\r\n closable={true}\r\n >\r\n
\r\n
\r\n {onLoading ? (\r\n
\r\n \r\n

กำลังเข้าสู่ระบบ

\r\n
\r\n ) : (\r\n
\r\n
\r\n \r\n Email Address :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n
\r\n

\r\n {errors.username?.type === \"required\" &&\r\n \"กรุณากรอกชื่อบัญชี\"}\r\n

\r\n
\r\n
\r\n \r\n Password :\r\n

\r\n
\r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n {errors.password?.type === \"required\" &&\r\n \"กรุณากรอกรหัสผ่าน\"}\r\n

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

{remarkValid}

\r\n
\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 \"./FooterComponents.css\";\r\nimport { getVersion } from \"../../Services/ConfigurationService\";\r\ninterface Props {}\r\n\r\nexport const FooterComponents = (props: Props) => {\r\n const [webVersion, setWebVersion] = useState();\r\n const [apiVersion, setAPIVersion] = useState();\r\n useEffect(() => {\r\n fetchVersion();\r\n }, []);\r\n const fetchVersion = async () => {\r\n const response = await getVersion();\r\n setWebVersion(response.webVersion);\r\n console.log('webVersion', response.webVersion);\r\n setAPIVersion(response.apiVersion);\r\n console.log('apiVersion', response.apiVersion);\r\n };\r\n\r\n return (\r\n
\r\n

\r\n
\r\n

\r\n We recommend using{\" \"}\r\n or{\" \"}\r\n at\r\n this time.\r\n

\r\n

© WOLF R2 v{webVersion} | API v{apiVersion}

\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Button } from \"primereact/button\";\r\nimport \"./ButtonComponents.css\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\ninterface Props {\r\n setClassNameProps?: any;\r\n setStyleDivProps?: any;\r\n setLabelProps?: any;\r\n setStyleProps?: any;\r\n disabledProps?: any;\r\n setIconProps?: any;\r\n onClickProps?: any;\r\n typeProps?: any;\r\n loading?: boolean;\r\n}\r\n\r\nexport const ButtonComponents = (props: Props) => {\r\n return (\r\n \r\n );\r\n};\r\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAUCAYAAACAl21KAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD3SURBVHgBpVTLDcIwDDWfO9mgYQK6AWzQI0e6QRmFUdgANiAbtGxAb9yKA46UGjtE5UlPcWL72YmSLCANg9wjLfKJ7GECLLJFDkRvb2ACLpRsSPRGayKWFLQVfDvkGVnR3CFr5EGIvQI5hj85Eh+UahpqynljHjk6+GwzFwXyIQn5RRPNLbKJ5g3zGyoudmRYxRONluySFVI7spCPZEcW8mE1oTuMt5YjJG4NSChHLMR0kpCjcQV53Xj0klBoc82SpBcfirWggN/uUrEriG417yh0FZ+RU2wL0UF7LJlQeOEOdPhCxx8xX5+ZRh9TxImzhGAKHV94AajHSv3WTYedAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAD1SURBVHgBnZMNDYMwEIWPBAF1MBzMwhyAg+GATAFzgIQxBWwKmAMkwBSAA3YNr4N1bSm85EF61369/hHt05nds1v2gXYqZo8AKZgIQE9kYwVwAeDFHtgnuJSxkD9XQAYHpES+pnlC+b8DlhJmycmtCEvoUX0Lx4g1PiCBjiMGSh0BGGmx4WugytAnWlT4PTUXKDfkBSDLCp0gBSksFWb6ABMoQ7zW4gU5VmBK1ChfWCoUvqAGS9AhFc175AWSp3Gj6ZgVpAFEtX8Ukl0pLNXRdBGttz90QBIA3uwHuZ+QFfSEvSVff4/ZOs8xERzoCbV5W/x3jz40EmFC7Ax5CgAAAABJRU5ErkJggg==\"","export const UpdateApprovalMatrix = async (formData: any, items: any) => {\r\n const data = {\r\n approvalMatrix: formData,\r\n approveMatrixItems: items.length > 0 ? items : null,\r\n };\r\n console.log(\"table=>UpdateApprovalMatrix\", data);\r\n\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n items.UserPrincipalName = email;\r\n const respone = await fetch(\"api/ApprovalMatrix/updateApprovalMatrix\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(data),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n\r\nexport const UpdateApprovalMatrixItems = async (items: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n items.UserPrincipalName = email;\r\n const respone = await fetch(\r\n \"api/ApprovalMatrix/updateApprovalMatrixItemsList\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(items),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const GetAllApprovalMatrixItem = async () => {\r\n const respone = await fetch(\"api/ApprovalMatrix/GetAllApprovalMatrixItem\")\r\n .then((response: any) => response.json())\r\n .then((data: any) => {\r\n return data;\r\n })\r\n .catch((ex: any) => {\r\n return false;\r\n });\r\n\r\n return respone;\r\n};\r\n","import { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { AiOutlinePlus } from \"react-icons/ai\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport editIcon from \"../../../assets/edit-icon.png\";\r\nimport { UpdateApprovalMatrix } from \"../../../Services/ApprovalMatrixService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { sorterFunc } from \"../../../Helper/SortingFunction\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n matrixItems: any;\r\n setMatrixItems: (items: any) => void;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast: any;\r\n}\r\n\r\nexport const ApprovalMatrixDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [itemsList, setItemsList] = useState([]);\r\n const [itemsListShow, setItemsListShow] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const [userData, setUserData] = useUserContext();\r\n const [action, setAction] = useState(\"\");\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n const [mode, setMode] = useState(\"เพิ่มตามคน\");\r\n const [approvers, setApprovers] = useState([]);\r\n const [amountFrom, setAmountFrom] = useState(0);\r\n const [amountTo, setAmountTo] = useState(0);\r\n const [positionLevelList, setPositionLevelList] = useState([]);\r\n const [formSelectedPositionLevel, setFormSelectedPositionLevel] =\r\n useState([]);\r\n const [itemAction, setItemAction] = useState(\"\");\r\n const [selectedItem, setSelectedItem] = useState();\r\n\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n fecthPositionLevel();\r\n\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (props.matrixItems !== undefined && props.matrixItems.length > 0) {\r\n if (dataEmployeeList) {\r\n let data = props.matrixItems.filter(\r\n (item: any) => item.ApproveMatrixId == props.formData.ApproveMatrixId\r\n );\r\n\r\n let items: any[] = [];\r\n data.map((e: any) => {\r\n if (e.IsActive) {\r\n if (\r\n e.ApproverId !== null &&\r\n e.ApproverId !== undefined &&\r\n e.ApproverId !== 0\r\n ) {\r\n const approver = dataEmployeeList.find((emp: any) => {\r\n return e.ApproverId === emp.EmployeeId;\r\n });\r\n if (approver) {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = null;\r\n item.PositionLevelName = null;\r\n item.ApproverId = approver.EmployeeId;\r\n item.ApproverName =\r\n approver[userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"];\r\n item.IsActive = e.IsActive;\r\n item.Seq = e.Seq;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n } else {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = null;\r\n item.PositionLevelName = null;\r\n item.ApproverId = e.EmployeeId;\r\n item.ApproverName = \"Not Found\";\r\n item.Seq = e.Seq;\r\n item.IsActive = e.IsActive;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n }\r\n } else if (e.PositionLevelId > 0) {\r\n const positionLv = positionLevelList.find((posi: any) => {\r\n return e.PositionLevelId == posi.PositionLevelId;\r\n });\r\n if (positionLv) {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = positionLv.PositionLevelId;\r\n item.PositionLevelName =\r\n positionLv[userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"];\r\n item.ApproverId = null;\r\n item.ApproverName = null;\r\n item.Seq = e.Seq;\r\n item.IsActive = e.IsActive;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n } else {\r\n let item: any = {};\r\n item.ApproveMatrixItemId = e.ApproveMatrixItemId;\r\n item.AmountFrom = e.AmountFrom;\r\n item.AmountTo = e.AmountTo;\r\n item.PositionLevelId = -1;\r\n item.PositionLevelName = \"Not Found\";\r\n item.ApproverId = null;\r\n item.ApproverName = null;\r\n item.Seq = e.Seq;\r\n item.IsActive = e.IsActive;\r\n item.IsTypePosition = true;\r\n items.push(item);\r\n }\r\n }\r\n }\r\n });\r\n\r\n setItemsList([...items]);\r\n }\r\n }\r\n }, [dataEmployeeList, positionLevelList]);\r\n\r\n useEffect(() => {\r\n let newList = itemsList.filter((item: any) => item.IsActive == true);\r\n newList.sort((a: any, b: any) => (a.Seq > b.Seq ? 1 : -1));\r\n setItemsListShow([...newList]);\r\n setLoading(false);\r\n }, [itemsList]);\r\n\r\n async function fecthPositionLevel() {\r\n try {\r\n let positionLevel: any[] = await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n\r\n setPositionLevelList([...positionLevel]);\r\n } catch (error) {}\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && !subDialogVisible2 && props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.ApproveMatrixId = 0;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n\r\n // const _itemsList: any[] = itemsList.sort((a: any, b: any) =>\r\n // sorterFunc(a, b, \"Seq\", \"dec\")\r\n // );\r\n // _itemsList.map((e: any, idx: number) => {\r\n // if (e.IsActive) {\r\n // e.Seq = idx + 1;\r\n // } else {\r\n // e.Seq = 999;\r\n // }\r\n // return e;\r\n // });\r\n\r\n let res: any = await UpdateApprovalMatrix(formData, itemsList);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"matrix=>error\", error);\r\n\r\n props.toggleMainDialog(false, \"save\");\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n }\r\n\r\n function AddItem() {\r\n try {\r\n if (amountFrom !== null && amountTo !== null) {\r\n if (amountTo > amountFrom) {\r\n let items: any[] = itemsList;\r\n if (mode === \"เพิ่มตามคน\") {\r\n if (approvers) {\r\n console.log(approvers);\r\n approvers.map((approver: any) => {\r\n let item: any = {};\r\n item.AmountFrom = amountFrom.toFixed(2);\r\n item.AmountTo = amountTo.toFixed(2);\r\n item.ApproverId = approver.EmployeeId;\r\n item.ApproverName =\r\n approver[userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"];\r\n item.IsActive = true;\r\n item.IsTypePosition = true;\r\n if (itemAction === \"add\") {\r\n item.Seq = itemsListShow?.length + 1;\r\n items.push(item);\r\n } else {\r\n let replaceIndex = -1;\r\n items.forEach((e: any, idx: number) => {\r\n if (e.Seq === selectedItem.Seq) {\r\n if (selectedItem.ApproveMatrixItemId) {\r\n item.ApproveMatrixItemId =\r\n selectedItem.ApproveMatrixItemId;\r\n }\r\n item.Seq = selectedItem.Seq;\r\n replaceIndex = idx;\r\n }\r\n });\r\n if (replaceIndex !== -1) {\r\n items[replaceIndex] = item;\r\n }\r\n }\r\n });\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n } else {\r\n confirmDialog({\r\n message: \"Please select a approver.\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n }\r\n } else {\r\n if (\r\n formSelectedPositionLevel !== undefined &&\r\n formSelectedPositionLevel.length !== 0\r\n ) {\r\n let item: any = {};\r\n item.AmountFrom = amountFrom.toFixed(2);\r\n item.AmountTo = amountTo.toFixed(2);\r\n item.PositionLevelId = formSelectedPositionLevel.PositionLevelId;\r\n item.PositionLevelName =\r\n formSelectedPositionLevel[\r\n userData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"\r\n ];\r\n item.IsActive = true;\r\n item.IsTypePosition = true;\r\n if (itemAction === \"add\") {\r\n item.Seq = itemsListShow?.length + 1;\r\n items.push(item);\r\n } else {\r\n let replaceIndex = -1;\r\n items.forEach((e: any, idx: number) => {\r\n if (e.Seq === selectedItem.Seq) {\r\n if (selectedItem.ApproveMatrixItemId) {\r\n item.ApproveMatrixItemId =\r\n selectedItem.ApproveMatrixItemId;\r\n }\r\n item.Seq = selectedItem.Seq;\r\n replaceIndex = idx;\r\n }\r\n });\r\n if (replaceIndex !== -1) {\r\n items[replaceIndex] = item;\r\n }\r\n }\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n } else {\r\n confirmDialog({\r\n message: \"Please select a position.\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n rejectClassName: \"hide\",\r\n });\r\n }\r\n }\r\n setItemsList([...items]);\r\n } else {\r\n confirmDialog({\r\n message: \"AmountTo must be greater than AmountFrom\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n setAmountTo(0);\r\n },\r\n rejectClassName: \"hide\",\r\n });\r\n }\r\n } else {\r\n confirmDialog({\r\n message: \"Please insert a amount range.\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n rejectClassName: \"hide\",\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"matrix=>error\", error);\r\n }\r\n }\r\n\r\n function resetSubDialog() {\r\n setAmountFrom(0);\r\n setAmountTo(0);\r\n setApprovers([]);\r\n setFormSelectedPositionLevel(undefined);\r\n }\r\n\r\n const onDeleteRow = (rowData: any) => {\r\n let selected: any = [...itemsList];\r\n\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n rowData.IsActive = false;\r\n selected.map((e: any) => {\r\n if (e.seq === rowData.seq) {\r\n e = rowData;\r\n }\r\n });\r\n\r\n setItemsList([...selected]);\r\n },\r\n });\r\n };\r\n return (\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n closable={false}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n {\r\n setItemAction(\"add\");\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n let value = e.value;\r\n for (let i = 0; i < value?.length; i++) {\r\n let a = 1;\r\n a = a + i;\r\n value[i].Seq = a;\r\n }\r\n field.onChange(value);\r\n setItemsListShow(value);\r\n }}\r\n onValueChange={(e: any) => {\r\n field.onChange(e.value);\r\n let data = e.value;\r\n data.map((data: any, idx: number) => {\r\n data.Seq = idx + 1;\r\n });\r\n setItemsList(data);\r\n }}\r\n loading={loading}\r\n value={itemsListShow}\r\n tableStyle={{\r\n border: \"1px solid #e6e6e6\",\r\n outlineColor: \"#e6e6e6\",\r\n }}\r\n // size=\"small\"\r\n dataKey=\"id\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n bodyClassName=\"numberBody\"\r\n body={(rowData: any) => {\r\n return Number(rowData[\"AmountFrom\"]).toLocaleString(\r\n undefined,\r\n {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n }\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n }\r\n bodyClassName=\"numberBody\"\r\n body={(rowData: any) => {\r\n return Number(rowData[\"AmountTo\"]).toLocaleString(\r\n undefined,\r\n {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n }\r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n <>\r\n
{rowData[\"ApproverName\"]}
\r\n \r\n );\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n setAmountFrom(Number(rowData.AmountFrom));\r\n setAmountTo(Number(rowData.AmountTo));\r\n setSelectedItem(rowData);\r\n setItemAction(\"edit\");\r\n const _approver = dataEmployeeList.find(\r\n (e: any) =>\r\n e.EmployeeId === rowData?.ApproverId\r\n );\r\n const _pos = positionLevelList.find(\r\n (e: any) =>\r\n e.PositionLevelId ===\r\n rowData?.PositionLevelId\r\n );\r\n if (_approver) {\r\n let _approvers: any[] = [];\r\n _approvers = [_approver];\r\n\r\n setMode(\"เพิ่มตามคน\");\r\n setApprovers(_approvers);\r\n } else if (_pos) {\r\n setMode(\"ตามลำดับการอนุมัติสูงสุด\");\r\n setFormSelectedPositionLevel(_pos);\r\n } else {\r\n setMode(\"เพิ่มตามคน\");\r\n }\r\n setAction(\"edit\");\r\n setSubDialogVisible(true);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(rowData);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n \r\n
\r\n
\r\n \r\n {\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n }}\r\n className=\"requestor-dialog\"\r\n draggable={false}\r\n blockScroll\r\n resizable={false}\r\n closable={false}\r\n >\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n setAmountFrom(e.value)}\r\n inputStyle={{\r\n textAlign: \"right\",\r\n }}\r\n minFractionDigits={0}\r\n maxFractionDigits={2}\r\n style={{\r\n borderRadius: \"6px 0 0 6px\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n setAmountTo(e.value)}\r\n inputStyle={{\r\n textAlign: \"right\",\r\n }}\r\n minFractionDigits={0}\r\n maxFractionDigits={2}\r\n style={{\r\n borderRadius: \"6px 0 0 6px\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n />\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n setFormSelectedPositionLevel(undefined);\r\n setMode(e.value);\r\n }}\r\n checked={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 setApprovers([]);\r\n setMode(e.value);\r\n }}\r\n checked={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 == \"เพิ่มตามคน\" ? (\r\n <>\r\n \r\n \r\n \r\n \r\n
\r\n e.NameEn).join(\",\")\r\n : approvers?.map((e: any) => e.NameTh).join(\",\")\r\n : userData.Lang === \"EN\"\r\n ? approvers?.map((e: any) => e.NameEn).join(\",\")\r\n : approvers?.map((e: any) => e.NameTh).join(\",\"),\r\n ]}\r\n onClick={() => setSubDialogVisible2(true)}\r\n style={{\r\n borderRadius: \"6px 0 0 6px\",\r\n height: \"38px\",\r\n }}\r\n readOnly\r\n />\r\n {\r\n setApprovers([]);\r\n setSubDialogVisible2(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 setFormSelectedPositionLevel(e.value)\r\n }\r\n />\r\n
\r\n \r\n \r\n )}\r\n
\r\n
\r\n
\r\n {\r\n resetSubDialog();\r\n setSubDialogVisible(false);\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n AddItem()}\r\n >\r\n \r\n Add\r\n \r\n
\r\n \r\n {\r\n let _approvers: any[] = [];\r\n _approvers = [...data];\r\n setApprovers(_approvers);\r\n setSubDialogVisible2(false);\r\n setLoading(false);\r\n }}\r\n selectionMode={\"multi\"}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={subDialogVisible2}\r\n setDialogVisible={setSubDialogVisible2}\r\n />\r\n
\r\n );\r\n};\r\n","export const dataCompany = async () => {\r\n const respone = await fetch(\"/api/MasterCompany/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return (respone || []).filter((e: any) => e.IsActive === true);\r\n};\r\nexport const fetchCompany = async (id:string)=>{\r\n const respone = await fetch(\"/api/MasterCompany/GetById/\"+id).then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"company=>err\", err);\r\n });\r\n return respone\r\n}\r\nexport const AddCompany = async (dataJson: any) => {\r\n const respone = await fetch(\"api/MasterCompany/AddCompany\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const UpdateCompany = async (dataJson: any) => {\r\n const respone = await fetch(\"api/MasterCompany/UpdateCompany\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.result;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { AddCompany, fetchCompany } from \"../../../Services/CompanyService\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { message } from 'antd';\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\ninterface CompanyData {\r\n AddressEn: string;\r\n AddressTh: string;\r\n CompanyCode: string;\r\n CompanyCodeWithName: string;\r\n CompanyId: number;\r\n CreatedBy: string;\r\n CreatedDate: string;\r\n Fax: string;\r\n IsActive: boolean;\r\n ModifiedBy: string;\r\n ModifiedDate: string;\r\n NameEn: string;\r\n NameTh: string;\r\n Tel: string;\r\n UrlLogo: string;\r\n UrlWeb: string;\r\n}\r\n\r\nexport const CompanyDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n \r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [loading, setLoading] = useState(true);\r\n const [uploadFile, setUploadFile] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n const [formData, setFormData] = useState();\r\n\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n if (props.formData.CompanyId) {\r\n const companyData = await fetchCompany(props.formData.CompanyId);\r\n setFormData(companyData);\r\n reset(companyData);\r\n setAction(companyData?\"edit\":\"add\");\r\n }else{\r\n setAction(\"add\");\r\n }\r\n \r\n setLoading(false);\r\n };\r\n\r\n fetchData();\r\n }, [props.formData]);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n\r\n\r\n\r\n const onError = () => {\r\n if (Object.keys(errors).length > 0) {\r\n toggleAlert({\r\n description: `${errors[Object.keys(errors)[0]].message}`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n };\r\n\r\n\r\n const updateChanges = (data: any) => {\r\n\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\nconsole.log(action);\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.CompanyCode = data.CompanyCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Tel = data.Tel;\r\n formData.Fax = data.Fax;\r\n formData.UrlWeb = data.UrlWeb === undefined ? \"\" : data.UrlWeb;\r\n formData.AddressTh = data.AddressTh === undefined ? \"\" : data.AddressTh;\r\n formData.AddressEn = data.AddressEn === undefined ? \"\" : data.AddressEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n \r\n formData = formData;\r\n formData.CompanyId = data.CompanyId\r\n formData.UrlLogo = data.UrlLogo\r\n formData.CompanyCode = data.CompanyCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.Tel = data.Tel;\r\n formData.Fax = data.Fax;\r\n formData.UrlWeb = data.UrlWeb === undefined ? \"\" : data.UrlWeb;\r\n formData.AddressTh = data.AddressTh === undefined ? \"\" : data.AddressTh;\r\n formData.AddressEn = data.AddressEn === undefined ? \"\" : data.AddressEn;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n if (uploadFile !== undefined) {\r\n formData.UrlLogo = uploadFile;\r\n }\r\n\r\n let res: any = await updateDynamic(\"MasterCompany\", formData);\r\n\r\n if (res.result === \"success\") {\r\n toggleAlert({\r\n description: `${action === \"add\" ? \"Create\" : \"Update\"} company success`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n\r\n props.toggleMainDialog(false, \"save\");\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n } else {\r\n toggleAlert({\r\n description: `Please Select File.`,\r\n message: `File select warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n toggleAlert({\r\n description: `Please insert comment.`,\r\n message: `${error}`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n const onFileSelect = (e: any) => {\r\n getBase64(e.target.files[0]);\r\n };\r\n\r\n function getBase64(file: any) {\r\n var reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function () {\r\n setUploadFile(reader.result);\r\n };\r\n reader.onerror = function (error) {\r\n // console.log(\"Error: \", error);\r\n };\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"CompanyCode\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"Tel\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n >\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n (\r\n
\r\n \r\n {\r\n setUploadFile(undefined);\r\n }}\r\n style={{\r\n height: \"38px\",\r\n borderRadius: \"0 6px 6px 0\",\r\n }}\r\n />\r\n
\r\n )}\r\n >\r\n {uploadFile !== undefined && uploadFile !== \"\" ? (\r\n
\r\n \r\n
\r\n ) : (\r\n
\r\n {formData?.UrlLogo !== \"\" && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n {\" \"}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\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 \"primereact/button\";\r\nimport \"./DepartmentDialog.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { GetAllPosition } from \"../../../Services/PositionService\";\r\nimport {\r\n GetDepartment,\r\n UpdateDepartment,\r\n} from \"../../../Services/DepartmentService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport moment from \"moment\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const DepartmentDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n setValue,\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const [masterCompany, setMasterCompany] = useState();\r\n const [comCode, setSelectComCode] = useState();\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n\r\n setLoading(false);\r\n } else {\r\n setAction(\"add\");\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n fecthCompany();\r\n setLoading(false);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n const fecthCompany = async () => {\r\n if (!masterCompany) {\r\n const company = await GetAllDynamic(\"MasterCompany/GetAll\", undefined);\r\n if (company) {\r\n setSelectComCode(\r\n company?.find((e: any) => {\r\n if (e.CompanyCode === props.formData.CompanyCode) {\r\n return e;\r\n }\r\n })\r\n );\r\n control._formValues[\"CompanyCode\"] = company.find(\r\n (e: any) => e.CompanyCode === props.formData.CompanyCode\r\n );\r\n setValue(\"CompanyCode\", control._formValues[\"CompanyCode\"]);\r\n setMasterCompany([...company]);\r\n }\r\n }\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && !subDialogVisible2 && props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n\r\n if (action === \"add\") {\r\n formData.DepartmentId = 0;\r\n formData.DepartmentCode = data.DepartmentCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.CompanyCode = data?.CompanyCode?.CompanyCode;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.DepartmentCode = data.DepartmentCode;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.CompanyCode = data?.CompanyCode?.CompanyCode;\r\n formData.IsActive = data.IsActive;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n let res = await UpdateDepartment(formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${res.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"DepartmentCode\")}\r\n \r\n \r\n \r\n \r\n \r\n e.CompanyCode === props.formData.CompanyCode\r\n // )}\r\n render={({ field }) => (\r\n setSelectComCode(e.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 {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const DivisionDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [formSelectedRole, setFormSelectedRole] = useState([]);\r\n const [rolesList, setRolesList] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n fecthRoles();\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n async function fecthRoles() {\r\n try {\r\n let roles: any[] = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n if (props.formData.RolesId !== undefined) {\r\n roles?.map((e: any) => {\r\n if (e.RolesId === props.formData.RolesId) {\r\n setFormSelectedRole(e);\r\n }\r\n });\r\n }\r\n\r\n setRolesList([...roles]);\r\n } catch (error) {}\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.DivisionId = 0;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.DivisionCode = data.DivisionCode;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.DivisionCode = data.DivisionCode;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n let res = await updateDynamic(\"Division\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${res.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"DivisionCode\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\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 \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { AiOutlinePlus } from \"react-icons/ai\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport moment from \"moment\";\r\nimport {\r\n UpdateApprovalMatrix,\r\n UpdateApprovalMatrixItems,\r\n} from \"../../../Services/ApprovalMatrixService\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast: any;\r\n}\r\n\r\nexport const MasterDataDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [loading, setLoading] = useState(true);\r\n const [userData, setUserData] = useUserContext();\r\n const [action, setAction] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const updateChanges = (data: any) => {\r\n if (props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.MasterId = -1;\r\n formData.Value1 = data.Value1;\r\n formData.Value2 = data.Value2;\r\n formData.Value3 = data.Value3;\r\n formData.Value4 = data.Value4;\r\n formData.Value5 = data.Value5;\r\n formData.MasterType = data.MasterType;\r\n formData.IsActive = data.IsActive;\r\n formData.Seq = data.Seq;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.Value1 = data.Value1;\r\n formData.Value2 = data.Value2;\r\n formData.Value3 = data.Value3;\r\n formData.Value4 = data.Value4;\r\n formData.Value5 = data.Value5;\r\n formData.MasterType = data.MasterType;\r\n formData.IsActive = data.IsActive;\r\n formData.Seq = data.Seq;\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n let res = await updateDynamic(\"MasterData\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n props.toast?.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: res.errorMessage,\r\n life: 3000,\r\n });\r\n }\r\n } catch (error) {\r\n props.toast?.current.show({\r\n severity: \"error\",\r\n summary: \"Error Message\",\r\n detail: error,\r\n life: 3000,\r\n });\r\n }\r\n };\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n return (\r\n
\r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"MasterType\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport moment from \"moment\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { isArray } from \"util\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\nexport const MenuDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n // shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [formSelectedRole, setFormSelectedRole] = useState([]);\r\n const [rolesList, setRolesList] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\") ?? \"{}\");\r\n const [action, setAction] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n useEffect(() => {\r\n fecthRoles();\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n async function fecthRoles() {\r\n try {\r\n let roles: any[] = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n if (props.formData.RolesId) {\r\n let allRoles: string[] = props.formData.RolesId.split(\",\");\r\n const defaultVal = roles?.filter((e: any) => {\r\n if (allRoles.includes(e.RoleId.toString())) {\r\n return e;\r\n }\r\n });\r\n console.log(\"role=>defaultVal\", defaultVal);\r\n\r\n setFormSelectedRole([...defaultVal]);\r\n\r\n console.log(\"table=>props.formData.RolesId\", props.formData.RolesId);\r\n }\r\n\r\n setRolesList([...roles]);\r\n } catch (error) {}\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n console.log(data, \"data\");\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n console.log(\"role=>\", formSelectedRole);\r\n let _rolesId: number[] = [];\r\n if (formSelectedRole) {\r\n formSelectedRole.forEach((role: any) => {\r\n _rolesId.push(role.RoleId);\r\n });\r\n }\r\n if (action === \"add\") {\r\n formData.AuMenuId = 0;\r\n formData.GroupMenu = data.GroupMenu;\r\n formData.SubMenu = data.SubMenu;\r\n formData.InternalUrl = data.InternalUrl === true ? 1 : 0;\r\n formData.IsActive = data.IsActive;\r\n formData.OrderGroup = data.OrderGroup;\r\n formData.OrderSub = data.OrderSub;\r\n formData.Url = data.Url;\r\n formData.RolesId = _rolesId.join(\",\");\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.GroupMenu = data.GroupMenu;\r\n formData.SubMenu = data.SubMenu;\r\n formData.InternalUrl = data.InternalUrl === true ? 1 : 0;\r\n formData.IsActive = data.IsActive;\r\n formData.OrderGroup = data.OrderGroup;\r\n formData.OrderSub = data.OrderSub;\r\n formData.Url = data.Url;\r\n formData.RolesId = _rolesId.join(\",\");\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n\r\n let res = await updateDynamic(\"AuthorizedMenu\", formData);\r\n\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current?.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"GroupMenu\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n console.log(\r\n \"defaultValue\",\r\n typeof props.formData.OrderGroup\r\n );\r\n }}\r\n >\r\n (\r\n {\r\n // console.log(e.currentTarget);\r\n // }}\r\n // type=\"number\"\r\n inputId=\"integeronly\"\r\n id={field.name}\r\n {...field}\r\n // min={0}\r\n onChange={(e) => {\r\n if (e.value === null) {\r\n field.onChange(0);\r\n } else {\r\n field.onChange(e.value);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n // setValue1(e.value)} />\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"OrderGroup\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n if (e.value === null) {\r\n field.onChange(0);\r\n } else {\r\n field.onChange(e.value);\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {getFormErrorMessage(\"OrderSub\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n <>\r\n \r\n {getFormErrorMessage(\"Url\")}\r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n setFormSelectedRole(e.value)}\r\n showClear={!isEmptyObject(formSelectedRole)}\r\n />\r\n )}\r\n />\r\n {/* {getFormErrorMessage(\"PositionId\")} */}\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\n\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport moment from \"moment\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const PositionDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n setValue,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [positionLevelList, setPositionLevelList] = useState([]);\r\n const [formSelectedPosition, setFormSelectedPosition] = useState({});\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [action, setAction] = useState(\"\");\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n const [masterCompany, setMasterCompany] = useState();\r\n const [selectComCode, setSelectComCode] = useState();\r\n\r\n const toast = useRef();\r\n\r\n useEffect(() => {\r\n fecthPositionLevel();\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n useEffect(() => {\r\n if (props.mainDialogVisible) {\r\n fecthCompany();\r\n setLoading(false);\r\n }\r\n }, [props.mainDialogVisible]);\r\n\r\n async function fecthCompany() {\r\n const company = await GetAllDynamic(\r\n \"MasterCompany/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n if (company) {\r\n company.map((e: any) => {\r\n if (e.CompanyCode === props.formData?.CompanyCode) {\r\n if (control._fields.CompanyCode !== undefined) {\r\n control._fields.CompanyCode._f.value = e;\r\n control._formValues.CompanyCode = e;\r\n }\r\n setSelectComCode({ ...e });\r\n }\r\n });\r\n setMasterCompany([...company]);\r\n }\r\n }\r\n\r\n async function fecthPositionLevel() {\r\n const data = await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n if (data) {\r\n data.map((e: any) => {\r\n if (e.PositionLevelId == props.formData?.PositionLevelId) {\r\n if (control._fields.PositionLevel !== undefined) {\r\n control._fields.PositionLevel._f.value = e;\r\n control._formValues.PositionLevel = e;\r\n }\r\n setFormSelectedPosition({ ...e });\r\n }\r\n });\r\n setPositionLevelList([...data]);\r\n }\r\n }\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.PositionId = 0;\r\n formData.PositionLevelId = formSelectedPosition.PositionLevelId;\r\n formData.PositionLevel = formSelectedPosition.PositionLevel;\r\n // formData.PosotionLevel = data.PositionLevel.PositionLevel;\r\n formData.PositionLevelNameEn = formSelectedPosition.NameEn;\r\n formData.PositionLevelNameTh = formSelectedPosition.NameTh;\r\n formData.CompanyCode = selectComCode.CompanyCode;\r\n formData.NameEn = data.NameEn;\r\n formData.NameTh = data.NameTh;\r\n formData.IsActive = data.IsActive;\r\n formData.AccountId = userData.employeeData.EmployeeId.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n\r\n formData.PositionLevelId = formSelectedPosition.PositionLevelId;\r\n formData.PositionLevel = formSelectedPosition.PositionLevel;\r\n // formData.PosotionLevel = data.PositionLevel.PositionLevel;\r\n formData.PositionLevelNameEn = formSelectedPosition.NameEn;\r\n formData.PositionLevelNameTh = formSelectedPosition.NameTh;\r\n formData.CompanyCode = selectComCode.CompanyCode;\r\n formData.NameEn = data.NameEn;\r\n formData.NameTh = data.NameTh;\r\n formData.IsActive = data.IsActive;\r\n formData.AccountId = userData.employeeData.EmployeeId.toString();\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n\r\n let res = await updateDynamic(\"Position\", formData);\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${res.error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n }\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (\r\n !subDialogVisible &&\r\n !subDialogVisible2 &&\r\n props.mainDialogVisible &&\r\n !isEmptyObject(formSelectedPosition)\r\n ) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n setSelectComCode(e.value)}\r\n />\r\n )}\r\n />\r\n {!selectComCode ? getFormErrorMessage(\"CompanyCode\") : null}\r\n {\" \"}\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n setFormSelectedPosition(e.value);\r\n }}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n placeholder=\"Select a PositionLevel\"\r\n className={classNames({\r\n \"p-invalid\": fieldState.error,\r\n })}\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n />\r\n )}\r\n />\r\n {!formSelectedPosition\r\n ? getFormErrorMessage(\"PositionLevel\")\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport \"../Dialog.css\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { isEmptyObject } from \"jquery\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport {\r\n UpdateRole,\r\n UserPermissionsByRoleID,\r\n} from \"../../../Services/RoleServices\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\ninterface Props {\r\n dialogHeader: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData?: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n}\r\n\r\nexport const RoleDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const [itemsList, setItemsList] = useState([]);\r\n const [itemsListShow, setItemsListShow] = useState([]);\r\n const [loading, setLoading] = useState(true);\r\n const userData = JSON.parse(\r\n window.localStorage.getItem(\"userData\") || \"null\"\r\n );\r\n const [action, setAction] = useState(\"\");\r\n const [dataEmployeeList, setDataEmployeeList] = useState([]);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [subDialogVisible2, setSubDialogVisible2] = useState(false);\r\n\r\n const toast = useRef();\r\n\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n\r\n if (!isEmptyObject(props.formData)) {\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n setLoading(false);\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n useEffect(() => {\r\n fetchRoleItem();\r\n }, [dataEmployeeList]);\r\n\r\n async function fetchRoleItem() {\r\n let permissions = await UserPermissionsByRoleID(props.formData.RoleId);\r\n let items: any[] = [];\r\n if (permissions) {\r\n let thisPermis = permissions.filter(\r\n (permis: any) =>\r\n permis.RoleId == props.formData.RoleId && !permis.IsDelete\r\n );\r\n\r\n thisPermis.map((permis: any, idx: number) => {\r\n let object: any = {};\r\n object.RoleId = permis.RoleId;\r\n object.EmployeeId = permis.EmployeeId;\r\n object.EmployeeCode = null;\r\n object.NameThRole = null;\r\n object.NameEnRole = null;\r\n object.Email = null;\r\n object.NameThEmployee = null;\r\n object.NameEnEmployee = null;\r\n object.IsActive = true;\r\n object.IsDelete = permis.IsDelete === null ? false : permis.IsDelete;\r\n object.Seq = idx + 1;\r\n items.push(object);\r\n });\r\n\r\n items.map((item: any) => {\r\n dataEmployeeList.map((emp: any) => {\r\n if (item.EmployeeId === emp.EmployeeId) {\r\n item.EmployeeId = emp.EmployeeId;\r\n item.EmployeeCode = emp.EmployeeCode;\r\n item.NameThEmployee = emp.NameTh;\r\n item.NameEnEmployee = emp.NameEn;\r\n item.Email = emp.Email;\r\n }\r\n });\r\n item.NameThRole = props.formData.NameTh;\r\n item.NameEnRole = props.formData.NameEn;\r\n });\r\n setSearchData([\r\n ...dataEmployeeList.filter(\r\n (data: any) =>\r\n !items.find(\r\n ({ EmployeeId, IsDelete }) =>\r\n data.EmployeeId === EmployeeId && !IsDelete\r\n )\r\n ),\r\n ]);\r\n\r\n setItemsList([...items]);\r\n }\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n const renderHeader = () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e.target.value;\r\n const dataEmp = dataEmployeeList;\r\n setGlobalFilterValue(value);\r\n const data = dataEmp.filter((data: any) => {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameEn.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n } else {\r\n if (\r\n data.EmployeeCode.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.PositionNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1 ||\r\n data.DepartmentNameTh.toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n });\r\n setSearchData([...data]);\r\n };\r\n\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n }\r\n\r\n const onDeleteRow = (data: any, setData: any, empId: string) => {\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n data.map((e: any) => {\r\n if (e[\"EmployeeId\"] === empId) {\r\n e.IsActive = false;\r\n e.IsDelete = true;\r\n }\r\n });\r\n setData([...data]);\r\n },\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n let newList = itemsList.filter((item: any) => !item.IsDelete);\r\n setItemsListShow([...newList]);\r\n }, [itemsList]);\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n if (action === \"add\") {\r\n formData.RoleId = -1;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.RoleDescription = \"\";\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n formData.CreatedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.CreatedBy = userData.employeeData.EmployeeId.toString();\r\n } else {\r\n formData = props.formData;\r\n formData.RoleId = props.formData.RoleId;\r\n formData.NameTh = data.NameTh;\r\n formData.NameEn = data.NameEn;\r\n formData.IsActive = data.IsActive;\r\n formData.RoleDescription = \"\";\r\n formData.ModifiedDate = new Date().toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n formData.ModifiedBy = userData.employeeData.EmployeeId.toString();\r\n }\r\n\r\n let res = await UpdateRole(formData, itemsList);\r\n if (itemsList > 0) {\r\n if (res.result === \"success\") {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res.error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n }\r\n } else {\r\n if (res) {\r\n props.toggleMainDialog(false, \"save\");\r\n } else {\r\n toggleAlert({\r\n description: `${res.error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.error,\r\n // life: 3000,\r\n // });\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"roles=>error\", error);\r\n\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n toggleAlert({\r\n description: `${error}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: error,\r\n // life: 3000,\r\n // });\r\n props.toggleMainDialog(false, \"close\");\r\n }\r\n };\r\n\r\n const updateChanges = (data: any) => {\r\n if (!subDialogVisible && !subDialogVisible2 && props.mainDialogVisible) {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!loading && (\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n draggable={false}\r\n blockScroll\r\n closable={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 {getFormErrorMessage(\"NameTh\")}\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n {getFormErrorMessage(\"NameEn\")}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n {\" \"}\r\n \r\n \r\n \r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n let items: any[] = e.value;\r\n items.map((item: any, idx: number) => {\r\n item.Seq = idx + 1;\r\n });\r\n\r\n field.onChange([...items]);\r\n setItemsList([...items]);\r\n }}\r\n value={itemsListShow}\r\n tableStyle={{\r\n border: \"1px solid #e6e6e6\",\r\n outlineColor: \"#e6e6e6\",\r\n }}\r\n // size=\"small\"\r\n dataKey=\"id\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n

Employee Code

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n >
\r\n \r\n \r\n

Name Thai

\r\n

ชื่อภาษาไทย

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Name English

\r\n

ชื่อภาษาอังกฤษ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

E-mail

\r\n

อีเมล

\r\n \r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n itemsList,\r\n setItemsList,\r\n rowData[\"EmployeeId\"]\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n \r\n
\r\n
\r\n
\r\n {\r\n reset();\r\n props.toggleMainDialog(false, \"close\");\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \r\n\r\n \r\n
\r\n
\r\n \r\n )}\r\n {\r\n let item = data;\r\n if (data !== undefined) {\r\n setSearchData([\r\n ...searchData.filter(\r\n (emp: any) => emp.EmployeeId !== item.EmployeeId\r\n ),\r\n ]);\r\n }\r\n let itemsShow: any[] = itemsList;\r\n let object: any = {};\r\n object.RoleId = action === \"add\" ? -1 : props.formData.RoleId;\r\n object.EmployeeId = item.EmployeeId;\r\n object.EmployeeCode = item.EmployeeCode;\r\n object.NameThRole = action === \"add\" ? \"\" : props.formData.NameTh;\r\n object.NameEnRole = action === \"add\" ? \"\" : props.formData.NameEn;\r\n object.Email = item.Email;\r\n object.NameThEmployee = item.NameTh;\r\n object.NameEnEmployee = item.NameEn;\r\n object.IsActive = true;\r\n object.IsDelete = false;\r\n object.Seq = itemsShow.length;\r\n itemsShow.push(object);\r\n\r\n setItemsList([...itemsShow]);\r\n setSubDialogVisible(false);\r\n }}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={subDialogVisible}\r\n setDialogVisible={setSubDialogVisible}\r\n />\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport \"./DropdownComponents.css\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\ninterface Props {\r\n apiName?: string;\r\n valueProps?: any;\r\n optionsProps?: any;\r\n optionLabelProps?: any;\r\n placeholderProps?: any;\r\n onChangeProps?: any;\r\n styleProps?: any;\r\n keyProps?: any;\r\n disable?: any;\r\n filterProps?: boolean;\r\n validationProps?: boolean;\r\n}\r\n\r\nexport const DropdownComponents = (props: Props) => {\r\n const [selectValue, setSelectValue] = useState();\r\n const [obtions, setObtions] = useState([]);\r\n const [style, setstyle] = useState({});\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n useEffect(() => {\r\n if (props.apiName !== undefined) {\r\n fecthData();\r\n } else {\r\n setObtions(props.optionsProps);\r\n }\r\n }, [props.optionsProps]);\r\n\r\n useEffect(() => {\r\n console.log(\"props.optionsProps=\", props.optionsProps);\r\n }, [props.optionsProps]);\r\n\r\n useEffect(() => {\r\n if (props.styleProps !== undefined) {\r\n setstyle(props.styleProps);\r\n }\r\n }, [props.styleProps]);\r\n\r\n useEffect(() => {\r\n if (obtions !== undefined) {\r\n if (props.keyProps === undefined) {\r\n obtions.map((data: any) => {\r\n if (data[props.apiName + \"Id\"] === props.valueProps.value) {\r\n setSelectValue(data);\r\n }\r\n });\r\n }\r\n }\r\n }, [obtions]);\r\n\r\n useEffect(() => {\r\n if (props.apiName !== undefined) {\r\n fecthData();\r\n }\r\n }, [props.apiName]);\r\n\r\n useEffect(() => {\r\n setSelectValue(null);\r\n }, [props.disable]);\r\n\r\n useEffect(() => {\r\n if (props.apiName != undefined) {\r\n props.onChangeProps(props.apiName, selectValue);\r\n } else if (props.keyProps !== undefined) {\r\n props.onChangeProps(selectValue, props.keyProps);\r\n } else {\r\n props.onChangeProps(selectValue);\r\n }\r\n }, [selectValue]);\r\n\r\n async function fecthData() {\r\n let _dataDynamic = await GetAllDynamic(\r\n props.apiName + \"/GetAll\",\r\n undefined\r\n );\r\n if (_dataDynamic !== false) {\r\n setObtions(_dataDynamic);\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n setSelectValue(e.target.value);\r\n }}\r\n style={{\r\n width: style.width !== undefined ? style.width : \"100%\",\r\n borderRadius:\r\n style.borderRadius !== undefined\r\n ? style.borderRadius\r\n : \"6px 6px 6px 6px\",\r\n ...style,\r\n borderColor: props.validationProps === true ? \"red\" : \"\",\r\n }}\r\n filter={props.filterProps === undefined ? false : props.filterProps}\r\n panelClassName=\"background-p-highlight\"\r\n />\r\n \r\n );\r\n};\r\n","import { isEmptyObject } from \"jquery\";\r\nimport moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputSwitch } from \"primereact/inputswitch\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useState, useEffect, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { FiSave } from \"react-icons/fi\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n dialogHeader: string;\r\n apiName: string;\r\n formData: any;\r\n tableData?: any;\r\n setTableData: (items: any) => void;\r\n tableComfirmDialog?: boolean;\r\n setTableComfirmDialog?: (bool: boolean) => void;\r\n mainDialogVisible?: boolean;\r\n toggleMainDialog: (state: boolean, action: string) => void;\r\n setMainLoading?: (bool: boolean) => void;\r\n toast?: any;\r\n}\r\n\r\nexport const DynamicDiaLog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const { toggleAlert } = useAlert();\r\n const [dynamicColumnsGrid, setDynamicColumnsGrid] = useState([]);\r\n const [obtionList, setObtionList] = useState({});\r\n const [uploadFile, setUploadFile] = useState();\r\n const [copyFormdata, setCopyFormdata] = useState();\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [subDialogVisible, setSubDialogVisible] = useState(false);\r\n const [action, setAction] = useState(\"\");\r\n const [messageConfirmDialog, setMessageConfirmDialog] = useState(\"\");\r\n const toast = useRef(null);\r\n useEffect(() => {\r\n if (!isEmptyObject(props.formData)) {\r\n setCopyFormdata(props.formData);\r\n setAction(\"edit\");\r\n } else {\r\n setAction(\"add\");\r\n }\r\n getColumns();\r\n }, []);\r\n\r\n useEffect(() => {\r\n setMessageConfirmDialog(\"Do you want to \" + action + \" this record?\");\r\n }, [action]);\r\n\r\n const GetColumns = () => {\r\n let columns: any[] = [];\r\n Object.keys(props.tableData[0] ? props.tableData[0] : \"\").map(\r\n (key: string, idx: number) => {\r\n if (!key.toLowerCase().includes(\"id\")) {\r\n if (key !== \"SignPicPath\" && key !== \"UrlLogo\") {\r\n columns.push({\r\n key: key,\r\n dataType: typeof props.tableData[0][key],\r\n });\r\n }\r\n }\r\n }\r\n );\r\n return columns;\r\n };\r\n\r\n function getColumns() {\r\n let data: any[] = GetColumns();\r\n let grids: any[] = [];\r\n let dropdownList: string[] = [];\r\n let apiName = props.apiName;\r\n if (apiName.endsWith(\"s\")) {\r\n apiName = apiName.slice(0, -1);\r\n }\r\n\r\n data.forEach((col: any, index: number) => {\r\n if (\r\n !col.key.toLowerCase().includes(\"account\") &&\r\n !col.key.toLowerCase().includes(\"connectionstring\") &&\r\n !col.key.toLowerCase().includes(\"userprincipalname\") &&\r\n !col.key.toLowerCase().includes(\"itemmenu\") &&\r\n !col.key.toLowerCase().includes(\"orderitem\") &&\r\n !col.key.toLowerCase().includes(\"aumenuid\") &&\r\n !col.key.toLowerCase().includes(\"companycodewithname\")\r\n ) {\r\n if (col.key.includes(\"Id\")) {\r\n if (apiName !== \"MasterData\") {\r\n if (\r\n col.key !=\r\n apiName.replace(\" \", \"\").replace(\"Master\", \"\") + \"Id\"\r\n ) {\r\n if (\r\n col.key.toLowerCase().includes(\"reportto\") &&\r\n col.key.toLowerCase().includes(\"manager\")\r\n ) {\r\n const field = col.key.replace(\"Id\", \"\");\r\n\r\n dropdownList.push(field);\r\n grids.push({\r\n field: field,\r\n header: col.key,\r\n type: \"popup\",\r\n index: index,\r\n });\r\n } else {\r\n const field = col.key.replace(\"Id\", \"\");\r\n\r\n dropdownList.push(field);\r\n grids.push({\r\n field: field,\r\n header: col.key,\r\n type: \"object\",\r\n index: index,\r\n });\r\n }\r\n }\r\n }\r\n } else if (\r\n col.key.toLowerCase() !== \"createdby\" &&\r\n col.key.toLowerCase() !== \"modifiedby\" &&\r\n col.key.toLowerCase() !== \"createddate\" &&\r\n col.key.toLowerCase() !== \"modifieddate\" &&\r\n !col.key.toLowerCase().includes(\"createdby\") &&\r\n !col.key.toLowerCase().includes(\"modifiedby\")\r\n ) {\r\n if (\r\n !dropdownList.includes(col.key.replace(\"Id\", \"\")) &&\r\n !dropdownList.includes(col.key.replace(\"NameTh\", \"\")) &&\r\n !dropdownList.includes(col.key.replace(\"NameEn\", \"\"))\r\n ) {\r\n if (col.key.includes(\"Pic\")) {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: \"image\",\r\n index: 999,\r\n });\r\n } else {\r\n grids.push({\r\n field: col.key,\r\n header: col.key,\r\n type: col.dataType,\r\n index: index,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n grids.sort((a, b) => a.index - b.index);\r\n\r\n setDynamicColumnsGrid(_dynamicColumnsGrid(grids));\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n errors[name] && {errors[name].message}\r\n );\r\n };\r\n\r\n function translateFunc(text: string) {\r\n let textTH = \"\";\r\n\r\n textTH = text.replace(\"PositionLevelId\", \"รหัสระดับตำแหน่ง\");\r\n textTH = textTH.replace(\"PositionLevel\", \"ระดับตำแหน่ง\");\r\n textTH = textTH.replace(\"Name\", \"ชื่อ\");\r\n textTH = textTH.replace(\"Th\", \"ภาษาไทย\");\r\n textTH = textTH.replace(\"En\", \"ภาษาอังกฤษ\");\r\n textTH = textTH.replace(\"RoleDescription\", \"คำอธิบายหน้าที่\");\r\n textTH = textTH.replace(\"value\", \"ค่า\");\r\n textTH = textTH.replace(\"Tel\", \"โทรศัพท์\");\r\n textTH = textTH.replace(\"Web\", \"เว็ปไซต์\");\r\n textTH = textTH.replace(\"Address\", \"ที่อยู่\");\r\n textTH = textTH.replace(\"Company\", \"บริษัท\");\r\n textTH = textTH.replace(\"Code\", \"รหัส\");\r\n textTH = textTH.replace(\"IsActive\", \"สถานะ\");\r\n textTH = textTH.replace(\"Fax\", \"แฟกซ์\");\r\n textTH = textTH.replace(\"UrlLogo\", \"Url ชองโลโก้\");\r\n\r\n return textTH;\r\n }\r\n\r\n function manageObjectDatas(fieldName: string, selectedData: any) {\r\n let obtions = obtionList;\r\n obtions[fieldName] = selectedData;\r\n setObtionList({ ...obtions });\r\n }\r\n\r\n function _dynamicColumnsGrid(grids: any) {\r\n let _dataArray: any = [];\r\n let _dataArrayCheck: any = [];\r\n let _dataArraygrid: any = [];\r\n grids.map((col: any, inx: any) => {\r\n _dataArrayCheck.push(col);\r\n if (inx % 2 !== 0) {\r\n _dataArray.push(_dataArrayCheck);\r\n _dataArrayCheck = [];\r\n }\r\n });\r\n\r\n _dataArray.map((col: any, rowIdx: number) => {\r\n let _grid = (\r\n \r\n {col.map((data: any, colIdx: number) => {\r\n let textTH = translateFunc(data.header);\r\n if (data.type === \"string\") {\r\n if (data.header.includes(\"Address\")) {\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 } else if (data.header === \"NameTh\" || data.header === \"NameEn\") {\r\n let str = \"\";\r\n if (data.header === \"NameTh\") {\r\n str = \"Name TH\";\r\n } else {\r\n str = \"Name EN\";\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 {getFormErrorMessage(data.header)}\r\n \r\n \r\n );\r\n } else {\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 } else if (data.type === \"boolean\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n field.onChange(e.target.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"object\") {\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 } else if (data.type === \"number\") {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n (\r\n field.onChange(e.value)}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n />\r\n )}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else if (data.type === \"popup\") {\r\n <>\r\n
\r\n

{data.header}

\r\n

รายงานไปที่

\r\n
\r\n
\r\n (\r\n
\r\n \r\n {\r\n setSubDialogVisible(true);\r\n }}\r\n />\r\n
\r\n )}\r\n />\r\n {getFormErrorMessage(\"ReportToEmpCode\")}\r\n
\r\n ;\r\n }\r\n })}\r\n
\r\n );\r\n _dataArraygrid.push(_grid);\r\n });\r\n return [..._dataArraygrid];\r\n }\r\n\r\n const updateChanges = (data: any) => {\r\n try {\r\n confirmDialog({\r\n message: messageConfirmDialog,\r\n header:\r\n action === \"add\" ? \"Add\" + \" Confirmation\" : \"Edit\" + \" Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(true);\r\n }\r\n acceptSave(data);\r\n },\r\n });\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n }\r\n };\r\n\r\n const acceptSave = async (data: any) => {\r\n try {\r\n let formData: any = {};\r\n\r\n if (action === \"edit\") {\r\n formData = copyFormdata;\r\n formData[\"CreatedBy\"] = userData.employeeData.EmployeeId.toString();\r\n formData[\"CreatedDate\"] = moment(new Date()).format(\"DD MMM YYYY\");\r\n }\r\n Object.keys(data).map((key) => {\r\n formData[key] = data[key] === undefined ? \"\" : data[key];\r\n });\r\n if (!isEmptyObject(obtionList)) {\r\n Object.keys(formData).map((key) => {\r\n if (key !== props.apiName + \"Id\") {\r\n Object.keys(obtionList).map((objectKey) => {\r\n if (key.includes(objectKey)) {\r\n Object.keys(obtionList[objectKey]).map((field) => {\r\n if (field.includes(\"Id\")) {\r\n formData[field] = obtionList[objectKey][field];\r\n } else {\r\n if (field === key) {\r\n formData[key] = obtionList[objectKey][key];\r\n } else {\r\n if (\r\n obtionList[objectKey][key.replace(objectKey, \"\")] !==\r\n undefined\r\n ) {\r\n formData[key] =\r\n obtionList[objectKey][key.replace(objectKey, \"\")];\r\n }\r\n }\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n formData[\"ModifiedBy\"] = userData.employeeData.EmployeeId.toString();\r\n formData[\"ModifiedDate\"] = moment(new Date()).format(\"DD MMM YYYY\");\r\n console.log(formData);\r\n\r\n let res: any = await updateDynamic(\r\n props.apiName.replace(\" \", \"\"),\r\n formData\r\n );\r\n\r\n if (res.result === \"success\") {\r\n if (props.setTableData !== undefined) {\r\n let newData: any[] = await GetAllDynamic(\r\n props.apiName.replace(\" \", \"\") + \"/GetAll\",\r\n undefined\r\n );\r\n if (newData.length > 0) {\r\n props.setTableData(newData);\r\n }\r\n }\r\n props.setMainDialogVisible(false);\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n } else {\r\n toggleAlert({\r\n description: `${res.errorMessage}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // props.toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: res.errorMessage,\r\n // life: 3000,\r\n // });\r\n }\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n if (props.setMainLoading !== undefined) {\r\n props.setMainLoading(false);\r\n }\r\n }\r\n };\r\n return (\r\n
\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n breakpoints={{}}\r\n draggable={false}\r\n closable={false}\r\n blockScroll\r\n >\r\n
\r\n
\r\n {dynamicColumnsGrid}\r\n
\r\n
\r\n {\r\n reset();\r\n props.setMainDialogVisible(false);\r\n }}\r\n type=\"button\"\r\n className=\"button-cancle\"\r\n >\r\n Close\r\n \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 { ApprovalMatrixDialog } from \"../../SettingDialogComponents/ApprovalMatrixDIalog/ApprovalMatrixDialog\";\r\nimport { CompanyDialog } from \"../../SettingDialogComponents/CompanyDialog/CompanyDialog\";\r\nimport { DepartmentDialog } from \"../../SettingDialogComponents/Department/DepartmentDialog\";\r\nimport { DivisionDialog } from \"../../SettingDialogComponents/DivisionDialog/DivisionDialog\";\r\nimport { EmployeeDialog } from \"../../SettingDialogComponents/EmployeeDialog/EmplyeeDialog\";\r\nimport { MasterDataDialog } from \"../../SettingDialogComponents/MasterDataDialog/MasterDataDialog\";\r\nimport { MenuDialog } from \"../../SettingDialogComponents/MenuDialog/MenuDialog\";\r\nimport { PositionDialog } from \"../../SettingDialogComponents/PositionDialog/PositionDialog\";\r\nimport { RoleDialog } from \"../../SettingDialogComponents/RoleDialog/RoleDialog\";\r\nimport { DynamicDiaLog } from \"./DynamicDialog\";\r\ninterface Props {\r\n dialogName: string;\r\n titleHeaderProp?: string;\r\n visibleDialogProp?: boolean;\r\n setVisibleDialogProp?: any;\r\n visibleConfirmProp?: boolean;\r\n setVisibleConfirmProp?: any;\r\n checkActionProp?: string;\r\n formDataProp?: any;\r\n dataListProp?: any;\r\n setDataListProp?: any;\r\n matrixItems: any;\r\n tableColumn: any;\r\n setMatrixItems: (items: any) => void;\r\n toastShowSuccessProp: () => void;\r\n toastShowErrorProp: () => void;\r\n messageButtonDialogProp?: string;\r\n setOnLoading?: (bool: boolean) => void;\r\n setCanTableAction: (bool: boolean) => void;\r\n toast?: any;\r\n}\r\n\r\nexport const DialogList = (props: Props) => {\r\n const [pop_up, setPop_up] = useState();\r\n const dialogs = [\r\n {\r\n name: \"Employee\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Department\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"NavbarMenu\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Division\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Approval Matrix\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Master Data\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Master Company\",\r\n item: (\r\n \r\n ),\r\n },\r\n // RoleDialog\r\n {\r\n name: \"Roles\",\r\n item: (\r\n \r\n ),\r\n },\r\n {\r\n name: \"Position\",\r\n item: (\r\n \r\n ),\r\n },\r\n ];\r\n\r\n useEffect(() => {\r\n let dd = dialogs.filter((data, idx) => {\r\n if (data.name.includes(props.dialogName)) {\r\n return data;\r\n }\r\n });\r\n if (dd.length > 0) {\r\n setPop_up(dd[0]);\r\n }\r\n }, []);\r\n\r\n return (\r\n
\r\n {pop_up !== undefined ? (\r\n
{pop_up.item}
\r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport moment from \"moment\";\r\nimport \"../Table.css\";\r\nimport \"primereact/resources/themes/saga-blue/theme.css\";\r\nimport \"primereact/resources/primereact.min.css\";\r\nimport \"primeicons/primeicons.css\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { DialogList } from \"./DialogList\";\r\nimport { Button } from \"primereact/button\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { FilterMatchMode } from \"primereact/api\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { GetAllApprovalMatrixItem } from \"../../../Services/ApprovalMatrixService\";\r\nimport {\r\n AutoComplete,\r\n AutoCompleteCompleteMethodParams,\r\n} from \"primereact/autocomplete\";\r\nimport {\r\n GetTemplateTemplateList,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../../Services/TemplateService\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\ninterface Props {\r\n tableName: string;\r\n apiName?: string;\r\n actionBody?: any;\r\n requestBody?: any;\r\n canExport?: boolean;\r\n canAction?: boolean;\r\n canReorderColumn?: boolean;\r\n rowClickFunc?: any;\r\n rowHover?: boolean;\r\n rowPointer?: boolean;\r\n onLoading?: boolean;\r\n setOnLoading?: (bool: boolean) => void;\r\n setItemsCount?: (num: number) => void;\r\n data?: any;\r\n visibleDialogAddProps?: any;\r\n isEditProps?: any;\r\n isDeleteProps?: any;\r\n displayFormDialog?: any;\r\n setDisplayFormDialog?: (bool: boolean) => void;\r\n}\r\n\r\nexport const DynamicTable = (props: Props) => {\r\n let today = new Date();\r\n let month = today.getMonth();\r\n let year = today.getFullYear();\r\n let prevMonth = month === 0 ? 11 : month - 1;\r\n let prevYear = prevMonth === 11 ? year - 1 : year;\r\n let nextMonth = month === 11 ? 0 : month + 1;\r\n let nextYear = nextMonth === 0 ? year + 1 : year;\r\n let minDate = new Date();\r\n const toast = useRef(null);\r\n minDate.setMonth(prevMonth);\r\n minDate.setFullYear(prevYear);\r\n let maxDate = new Date();\r\n maxDate.setMonth(nextMonth);\r\n maxDate.setFullYear(nextYear);\r\n const history = useHistory();\r\n const { toggleAlert } = useAlert();\r\n const [dataDynamicTable, setDataDynamicTable] = useState([]);\r\n const [showdataDynamicTable, setShowDataDynamicTable] = useState([]);\r\n const [exportData, setExportData] = useState([]);\r\n const [toggleSelect, setToggleSelect] = useState(false);\r\n const [clearFilter, setClearFilter] = useState(false);\r\n const [filters2, setFilters2] = useState();\r\n const [showClearDate, setshowClearDatel] = useState(false);\r\n const [titleHead, setTitleHead] = useState(\"\");\r\n const [dataEdit, setDataEdit] = useState({});\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n const [messageButtonDialog, setMessageButtonDialog] = useState(\"\");\r\n const [visibleConfirm, setVisibleConfirm] = useState(false);\r\n const [canReoderColumn, setCanReoderColumn] = useState(false);\r\n const [reportFileName, setReportFileName] = useState();\r\n const [colletionField, setColletionField] = useState();\r\n const [canTableAction, setCanTableAction] = useState(props.canAction);\r\n const [matrixItems, setMatrixItems] = useState([]);\r\n const [columns, setColumns] = useState([]);\r\n const [selectData, setSelectData] = useState([]);\r\n const [filteredData, setFilteredData] = useState();\r\n const userData2 = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [userData] = useUserContext();\r\n\r\n const dt = useRef(null);\r\n\r\n const [selectedColumns, setSelectedColumns] = useState([]);\r\n useEffect(() => {\r\n toggleLoading(true);\r\n }, []);\r\n useEffect(() => {\r\n toggleLoading(true);\r\n fetchData();\r\n }, [props.apiName, props.data]);\r\n\r\n useEffect(() => {\r\n if (props.visibleDialogAddProps) {\r\n if (\r\n props.visibleDialogAddProps === false &&\r\n props.apiName === \"DynamicReport/GetAll\" &&\r\n props.isEditProps !== true\r\n ) {\r\n toggleLoading(true);\r\n\r\n fetchData();\r\n }\r\n }\r\n }, [props.visibleDialogAddProps]);\r\n\r\n useEffect(() => {\r\n if (props.isDeleteProps !== undefined) {\r\n if (props.isDeleteProps) {\r\n toggleLoading(true);\r\n\r\n fetchData();\r\n }\r\n }\r\n }, [props.isDeleteProps]);\r\n\r\n useEffect(() => {\r\n if (!props?.displayFormDialog) {\r\n setDataEdit({});\r\n }\r\n }, [props?.displayFormDialog]);\r\n\r\n useEffect(() => {\r\n if (dataDynamicTable) {\r\n try {\r\n setToggleSelect(true);\r\n setDefSelected();\r\n getColumns();\r\n if (dataDynamicTable.length > 0) {\r\n if (dataDynamicTable[0] !== \"\") {\r\n dataDynamicTable.map((e: any, idx: number) => {\r\n e.rowIdx = idx;\r\n });\r\n setShowDataDynamicTable([...dataDynamicTable]);\r\n } else {\r\n setShowDataDynamicTable([]);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n }\r\n }, [dataDynamicTable]);\r\n\r\n useEffect(() => {\r\n if (showdataDynamicTable) {\r\n setTimeout(() => {\r\n toggleLoading(false);\r\n }, 3000);\r\n }\r\n }, [showdataDynamicTable]);\r\n\r\n function toggleLoading(isload: boolean) {\r\n if (props.setOnLoading !== undefined) {\r\n props.setOnLoading(isload);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n setToggleSelect(true);\r\n setDefSelected();\r\n getColumns();\r\n }, []);\r\n\r\n useEffect(() => {\r\n var items_label = document.getElementsByClassName(\r\n \"p-multiselect-items-label\"\r\n );\r\n\r\n if (items_label.length > 0) {\r\n items_label[0].innerHTML = items_label[0].innerHTML.replace(\r\n \"items\",\r\n \"columns\"\r\n );\r\n }\r\n }, [selectedColumns]);\r\n\r\n // useEffect(() => {\r\n // try {\r\n // setShowDataDynamicTable([...dataDynamicTable]);\r\n // } catch (error) {}\r\n // }, [exportData, dataDynamicTable]);\r\n\r\n useEffect(() => {\r\n try {\r\n setClearFilter(false);\r\n if (props.setItemsCount !== undefined) {\r\n props.setItemsCount(showdataDynamicTable.length);\r\n }\r\n } catch (error) {}\r\n }, [showdataDynamicTable]);\r\n\r\n function getColumns() {\r\n if (dataDynamicTable !== undefined) {\r\n let arrayDataColumn: any[] = [];\r\n if (colletionField !== undefined) {\r\n colletionField.map((collection: any, idx: number) => {\r\n if (collection.isChecked > 0) {\r\n arrayDataColumn.push({\r\n field: collection.key,\r\n header: collection.dispalyLebelAndAlter,\r\n alter: collection.alter,\r\n fieldTypeFilterDynamic: collection.FieldTypeFilterDynamic,\r\n seq: idx,\r\n });\r\n }\r\n });\r\n } else {\r\n Object.keys(\r\n dataDynamicTable[0] != undefined || dataDynamicTable[0] != null\r\n ? dataDynamicTable[0]\r\n : (dataDynamicTable[0] = \"\")\r\n ).map((key: any, idx: number) => {\r\n if (\r\n props.tableName === \"Delegate List\" ||\r\n props.tableName === \"Template List\"\r\n ) {\r\n if (key !== \"ModifiedDate\" && key !== \"IsActive\") {\r\n arrayDataColumn.push({\r\n field: key,\r\n header: key.replace(\"PosotionLevel\", \"PositionLevel\"),\r\n dataType: typeof dataDynamicTable[0][key],\r\n seq: idx,\r\n });\r\n }\r\n } else {\r\n if (key !== \"Memo_MAdvancveForm\") {\r\n arrayDataColumn.push({\r\n field: key,\r\n header: key.replace(\"PosotionLevel\", \"PositionLevel\"),\r\n dataType: typeof dataDynamicTable[0][key],\r\n seq: idx,\r\n });\r\n }\r\n }\r\n });\r\n }\r\n setColumns(arrayDataColumn);\r\n setSelectedColumns(arrayDataColumn);\r\n }\r\n }\r\n\r\n function setDefSelected() {\r\n let options: any = [];\r\n columns.map((e: any) => {\r\n if (e.field !== \"Memo_MAdvancveForm\" && !e.field.includes(\"Id\")) {\r\n options.push(e);\r\n }\r\n });\r\n\r\n setSelectedColumns(options);\r\n }\r\n\r\n const fetchData = async () => {\r\n try {\r\n toggleLoading(true);\r\n\r\n let requestBody = undefined;\r\n setDataDynamicTable([]);\r\n setFilters2(null);\r\n\r\n if (props.requestBody != undefined) {\r\n requestBody = props.requestBody;\r\n }\r\n if (props.canReorderColumn != undefined) {\r\n setCanReoderColumn(props.canReorderColumn);\r\n }\r\n\r\n let _dataDynamic;\r\n if (props.data !== undefined) {\r\n _dataDynamic = props.data;\r\n } else if (props.apiName !== undefined) {\r\n if (props.apiName === \"TemplateList/GetAll\") {\r\n requestBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n CreatedBy: userData.EmployeeId.toString(),\r\n DepartmentId: userData.DepartmentId,\r\n Username: userData.Username,\r\n }),\r\n };\r\n }\r\n _dataDynamic = await GetAllDynamic(props.apiName, requestBody);\r\n\r\n if (props.apiName === \"ApprovalMatrix/GetAll\") {\r\n let matrixItem = await GetAllApprovalMatrixItem();\r\n if (matrixItem) {\r\n setMatrixItems([\r\n ...matrixItem.filter((e: any) => e.IsActive === true),\r\n ]);\r\n }\r\n }\r\n if (props.apiName === \"TemplateList/GetAll\") {\r\n _dataDynamic = _dataDynamic.filter((e: any) => e.IsActive === true);\r\n }\r\n // if (props.apiName === \"TemplateList/GetAll\") {\r\n // const dataJson = {\r\n // CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n // DepartmentId: userData.employeeData.DepartmentId,\r\n // };\r\n // console.log(\"table=>props.apiName\", props.apiName);\r\n // _dataDynamic = await GetTemplateTemplateListVersion(dataJson);\r\n // } else {\r\n // _dataDynamic = await GetAllDynamic(props.apiName, requestBody);\r\n // if (props.apiName === \"ApprovalMatrix/GetAll\") {\r\n // let matrixItem = await GetAllApprovalMatrixItem();\r\n // if (matrixItem) {\r\n // setMatrixItems([\r\n // ...matrixItem.filter((e) => e.IsActive === true),\r\n // ]);\r\n // }\r\n // }\r\n // }\r\n }\r\n if (_dataDynamic !== undefined && _dataDynamic) {\r\n let myData: any = [];\r\n let newData: any = [];\r\n\r\n if (_dataDynamic.FieldCollection !== undefined) {\r\n setColletionField(JSON.parse(_dataDynamic.FieldCollection));\r\n }\r\n if (_dataDynamic.dt_Report === undefined) {\r\n myData = _dataDynamic[0];\r\n newData = _dataDynamic;\r\n } else {\r\n myData = _dataDynamic.dt_Report[0];\r\n newData = _dataDynamic.dt_Report;\r\n }\r\n\r\n let filters2: any = {};\r\n if (myData != undefined) {\r\n for (const [key, value] of Object.entries(myData)) {\r\n try {\r\n if (typeof value === \"number\") {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.EQUALS,\r\n };\r\n } else if (key.toLowerCase().includes(\"date\")) {\r\n if (key === \"DateFrom\") {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.DATE_AFTER,\r\n };\r\n } else if (key === \"DateTo\") {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.DATE_BEFORE,\r\n };\r\n } else {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.BETWEEN,\r\n };\r\n }\r\n } else if (key.toLowerCase().includes(\"action\")) {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.DATE_IS,\r\n };\r\n } else {\r\n filters2[key] = {\r\n value: null,\r\n matchMode: FilterMatchMode.CONTAINS,\r\n };\r\n }\r\n } catch (error) {}\r\n }\r\n }\r\n\r\n newData.map((e: any) => {\r\n Object.keys(newData[0]).map((key) => {\r\n if (\r\n key === \"ModifiedDate\" ||\r\n key.toLocaleLowerCase().includes(\"date\") ||\r\n key.includes(\"วันที่\")\r\n ) {\r\n if (e[key] !== null) {\r\n return (e[key] = new Date(e[key]));\r\n }\r\n } else if (\r\n typeof e[key] === \"number\" &&\r\n !key.toLowerCase().includes(\"id\") &&\r\n !key.toLowerCase().includes(\"id\") &&\r\n !key.toLowerCase().includes(\"modifiedby\") &&\r\n !key.toLowerCase().includes(\"createdby\")\r\n ) {\r\n e[key] = Number(e[key]);\r\n }\r\n });\r\n });\r\n\r\n if (_dataDynamic.ReportName != undefined) {\r\n setReportFileName(_dataDynamic.ReportName);\r\n }\r\n\r\n setFilters2(filters2);\r\n if (newData.length > 0) {\r\n setDataDynamicTable([...newData]);\r\n setExportData([...newData]);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"DynamicTable=>Error\", error);\r\n toggleLoading(false);\r\n }\r\n };\r\n\r\n const formatIsActive = (value: any) => {\r\n if (value == null) {\r\n return false;\r\n }\r\n return value.toString();\r\n };\r\n\r\n const statusItemTemplate = (option: any) => {\r\n return {option};\r\n };\r\n const statusRowFilterTemplate = (option: any, label: string) => {\r\n if (clearFilter) {\r\n option.value = null;\r\n option.filterApplyCallback(null);\r\n }\r\n return (\r\n option.filterApplyCallback(e.value)}\r\n itemTemplate={statusItemTemplate}\r\n placeholder={\"Search \" + label}\r\n className=\"p-column-filter\"\r\n showClear\r\n />\r\n );\r\n };\r\n\r\n const monthNavigatorTemplate = (e: any) => {\r\n return (\r\n e.onChange(event.originalEvent, event.value)}\r\n style={{ lineHeight: 1 }}\r\n />\r\n );\r\n };\r\n\r\n const dateFilterTemplate = (option: any, label: string) => {\r\n if (clearFilter) {\r\n option.value = null;\r\n option.filterApplyCallback(null);\r\n }\r\n return (\r\n {\r\n setshowClearDatel(true);\r\n\r\n option.filterApplyCallback(e.value);\r\n }}\r\n monthNavigator\r\n yearNavigator\r\n yearRange={1980 + \":\" + 2050}\r\n monthNavigatorTemplate={monthNavigatorTemplate}\r\n yearNavigatorTemplate={yearNavigatorTemplate}\r\n selectionMode=\"range\"\r\n readOnlyInput\r\n dateFormat=\"dd M yy\"\r\n />\r\n );\r\n };\r\n\r\n const normalFilterTemplate = (option: any, label: string) => {\r\n try {\r\n if (clearFilter) {\r\n option.value = \"\";\r\n option.filterApplyCallback(null);\r\n }\r\n if (option.filterModel.matchMode) {\r\n if (option.filterModel.matchMode === \"equals\") {\r\n return (\r\n option.filterApplyCallback(e.target.value)}\r\n mode=\"decimal\"\r\n minFractionDigits={label !== \"PositionLevel\" ? 2 : 0}\r\n />\r\n );\r\n } else {\r\n return (\r\n {\r\n setTimeout(() => {\r\n let datas: any[];\r\n if (!e.query.trim().length) {\r\n datas = [...dataDynamicTable];\r\n } else {\r\n datas = dataDynamicTable.filter((c: any) => {\r\n return c[option.field]\r\n ?.toLowerCase()\r\n .startsWith(e.query.toLowerCase());\r\n });\r\n }\r\n datas = getUnique(datas, option.field);\r\n setFilteredData([...datas]);\r\n }, 250);\r\n }}\r\n onSelect={(e) => {\r\n option.filterApplyCallback(e.value[option.field]);\r\n }}\r\n field={option.field}\r\n onChange={(e) => {\r\n option.filterApplyCallback(e.value);\r\n }}\r\n />\r\n );\r\n }\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n function getUnique(array: any[], key) {\r\n if (typeof key !== \"function\") {\r\n const property = key;\r\n key = function (item) {\r\n return item[property];\r\n };\r\n }\r\n return Array.from(\r\n array\r\n .reduce(function (map, item) {\r\n const k = key(item);\r\n if (!map.has(k)) map.set(k, item);\r\n return map;\r\n }, new Map())\r\n .values()\r\n );\r\n }\r\n\r\n const onColReorder = (colOrder: any) => {\r\n colOrder.columns.map((col: any, idx: number) => {\r\n selectedColumns.map((selCol: any) => {\r\n if (selCol.field === col.props.field) {\r\n selCol.seq = idx;\r\n }\r\n });\r\n });\r\n setSelectedColumns([\r\n ...selectedColumns.sort((a: any, b: any) => (a.seq > b.seq ? 1 : -1)),\r\n ]);\r\n };\r\n\r\n const formatDate = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n function reconStructionForExport() {\r\n try {\r\n let dataExport: any = [];\r\n\r\n exportData.map((data: any) => {\r\n let dataField: any = {};\r\n selectedColumns.map((col: any) => {\r\n if (col.fieldTypeFilterDynamic === \"c\") {\r\n if (data[col.field] !== null) {\r\n dataField[col.header] = data[col.field]?.toLocaleString(\r\n undefined,\r\n {\r\n minimumFractionDigits: 2,\r\n }\r\n );\r\n }\r\n } else if (\r\n col.fieldTypeFilterDynamic === \"d\" ||\r\n col.field.toLowerCase().includes(\"date\")\r\n ) {\r\n if (col.header.toLowerCase().includes(\"action\")) {\r\n let newDate = data[col.field].toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n }\r\n } else {\r\n let newDate = formatDate(data[col.field]);\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n } else {\r\n let someDateString = moment(data[col.field], \"MM/DD/YYYY\");\r\n newDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n } else {\r\n newDate = moment(data[col.field]).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n dataField[col.header] = newDate;\r\n } else {\r\n dataField[col.header] = \"\";\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n dataField[col.header] = data[col.field];\r\n }\r\n });\r\n if (props.apiName === \"MasterCompany/GetAll\") {\r\n delete dataField[\"UrlLogo\"];\r\n }\r\n dataExport.push(dataField);\r\n });\r\n return dataExport;\r\n } catch (error) {}\r\n }\r\n\r\n function reconStructionForShowData() {\r\n try {\r\n let dataShow: any = [];\r\n dataDynamicTable.map((data: any) => {\r\n let dataField: any = {};\r\n selectedColumns.map((col: any) => {\r\n if (col.fieldTypeFilterDynamic === \"c\") {\r\n if (data[col.field] !== null) {\r\n dataField[col.field] = data[col.field];\r\n }\r\n } else if (\r\n col.fieldTypeFilterDynamic === \"d\" ||\r\n col.header.toLowerCase().includes(\"date\")\r\n ) {\r\n if (data[col.field] !== null && data[col.field] !== \"\") {\r\n dataField[col.field] = new Date(data[col.field]);\r\n }\r\n } else {\r\n dataField[col.field] = data[col.field];\r\n }\r\n });\r\n if (props.apiName === \"MasterCompany/GetAll\") {\r\n delete dataField[\"UrlLogo\"];\r\n }\r\n dataShow.push(dataField);\r\n });\r\n\r\n return dataShow;\r\n } catch (error) {}\r\n }\r\n\r\n const actionLinkIReport = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n const memoid = { MemoID: rowData.Memo_MemoId };\r\n window.open(`/Request?MemoID=${rowData.Memo_MemoId}`, \"blank\");\r\n // history.push(`/Request?MemoID=${rowData.Memo_MemoId}`, memoid);\r\n }}\r\n >\r\n \r\n {rowData.Memo_DocumentNo}\r\n \r\n

\r\n \r\n );\r\n };\r\n\r\n const dynamicColumns = selectedColumns.map((col: any) => {\r\n try {\r\n if (\r\n !col.field.includes(\"Form\") &&\r\n col.field !== \"ModifiedBy\" &&\r\n col.field !== \"CreatedBy\"\r\n ) {\r\n if (\r\n col.field.toLowerCase().includes(\"isactive\") ||\r\n col.field.toLowerCase().includes(\"ispublic\") ||\r\n col.field.toLowerCase().includes(\"isprivate\") ||\r\n col.field.toLowerCase().includes(\"InternalUrl\")\r\n ) {\r\n return (\r\n {\r\n try {\r\n return formatIsActive(rowData[col.field]);\r\n } catch (error) {}\r\n }}\r\n header={\r\n
\r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n
\r\n }\r\n sortable\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n statusRowFilterTemplate(option, col.header)\r\n }\r\n filterHeaderClassName={\"gggg\"}\r\n showClearButton={showClearDate}\r\n onFilterClear={() => setshowClearDatel(false)}\r\n />\r\n );\r\n } else if (\r\n col.field.includes(\"Date\") ||\r\n col.field.includes(\"วันที่\") ||\r\n col.fieldTypeFilterDynamic === \"d\"\r\n ) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n body={(rowData: any) => {\r\n try {\r\n if (col.field.toLowerCase().includes(\"action\")) {\r\n if (\r\n rowData[col.field] !== null &&\r\n rowData[col.field] !== undefined &&\r\n rowData[col.field] !== \"\"\r\n ) {\r\n let newDate = rowData[col.field].toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"2-digit\",\r\n hour: \"2-digit\",\r\n minute: \"2-digit\",\r\n second: \"2-digit\",\r\n });\r\n if (newDate !== \"Invalid date\") {\r\n return newDate;\r\n }\r\n } else {\r\n rowData[col.field] = null;\r\n return \"\";\r\n }\r\n } else {\r\n if (\r\n rowData[col.field] !== null &&\r\n rowData[col.field] !== undefined &&\r\n rowData[col.field] !== \"\"\r\n ) {\r\n let newDate = formatDate(rowData[col.field]);\r\n if (newDate !== \"Invalid date\") {\r\n rowData[col.field] = new Date(newDate);\r\n return newDate;\r\n } else {\r\n let someDateString = moment(\r\n rowData[col.field],\r\n \"MM/DD/YYYY\"\r\n );\r\n newDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n if (newDate !== \"Invalid date\") {\r\n rowData[col.field] = new Date(newDate);\r\n return newDate;\r\n } else {\r\n newDate = moment(rowData[col.field]).format(\r\n \"DD MMM yyyy\"\r\n );\r\n if (newDate !== \"Invalid date\") {\r\n rowData[col.field] = new Date(newDate);\r\n return newDate;\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n }\r\n } else {\r\n rowData[col.field] = null;\r\n return \"\";\r\n }\r\n }\r\n } catch (error) {}\r\n }}\r\n sortable\r\n dataType=\"date\"\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n dateFilterTemplate(option, col.header)\r\n }\r\n showClearButton={showClearDate}\r\n onFilterClear={() => setshowClearDatel(false)}\r\n />\r\n );\r\n } else if (\r\n (!col.field.includes(\"Id\") &&\r\n col.dataType === \"number\" &&\r\n col.header !== \"PositionLevel\") ||\r\n col.fieldTypeFilterDynamic === \"c\"\r\n ) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n bodyClassName={\"number-style\"}\r\n body={(rowData: any) => {\r\n try {\r\n if (rowData[col.field] !== null) {\r\n return rowData[col.field]?.toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n });\r\n }\r\n } catch {}\r\n }}\r\n sortable\r\n dataType=\"numeric\"\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n normalFilterTemplate(option, col.header)\r\n }\r\n showClearButton={false}\r\n />\r\n );\r\n } else if (col.field.includes(\"AmountFrom_AmountTo\")) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n sortable\r\n body={(rowData: any) => {\r\n try {\r\n let mainStr = \"\";\r\n let data = matrixItems.filter(\r\n (item: any) =>\r\n item.ApproveMatrixId === rowData.ApproveMatrixId &&\r\n item.IsActive === true &&\r\n (item.ApproverId !== 0 || item.PositionLevelId !== 0)\r\n );\r\n data.sort((a, b) => (a.Seq > b.Seq ? 1 : -1));\r\n let dd = data.map((e: any, idx: number) => {\r\n if (idx < 3) {\r\n let subStr = \"\";\r\n subStr =\r\n Number(e.AmountFrom).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \"-\" +\r\n Number(e.AmountTo).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \": \";\r\n mainStr = mainStr + subStr;\r\n return

{subStr}

;\r\n } else if (idx <= 4) {\r\n let subStr = \"\";\r\n subStr =\r\n Number(e.AmountFrom).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \"-\" +\r\n Number(e.AmountTo).toLocaleString(undefined, {\r\n minimumFractionDigits: 2,\r\n }) +\r\n \": \";\r\n mainStr = mainStr + subStr;\r\n return

......

;\r\n }\r\n });\r\n\r\n rowData.AmountFrom_AmountTo = mainStr;\r\n return dd;\r\n } catch {}\r\n }}\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n normalFilterTemplate(option, col.header)\r\n }\r\n showClearButton={false}\r\n />\r\n );\r\n } else if (\r\n !col.field.includes(\"Id\") &&\r\n col.field !== \"ModifiedBy\" &&\r\n col.field !== \"CreatedBy\" &&\r\n col.field !== \"SignPicPath\"\r\n ) {\r\n return (\r\n \r\n
\r\n {col.header}\r\n
\r\n\r\n \r\n {col.alter !== undefined && col.alter}\r\n \r\n \r\n }\r\n sortable\r\n body={(rowData: any) => {\r\n try {\r\n if (typeof rowData[col.field] === \"string\") {\r\n let data: string = rowData[col.field];\r\n if (data.includes(\"base64\")) {\r\n var image = new Image();\r\n image.src = data;\r\n return ;\r\n } else {\r\n return col.field == \"Memo_DocumentNo\"\r\n ? actionLinkIReport(rowData)\r\n : rowData[col.field];\r\n }\r\n } else {\r\n return rowData[col.field];\r\n }\r\n } catch {}\r\n }}\r\n filter={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterMatchMode={\r\n filters2[col.field]?.matchMode !== null\r\n ? filters2[col.field]?.matchMode\r\n : undefined\r\n }\r\n filterElement={(option: any) =>\r\n normalFilterTemplate(option, col.header)\r\n }\r\n showClearButton={false}\r\n />\r\n );\r\n }\r\n }\r\n } catch (ex) {\r\n console.log(\"table=>ex\", ex);\r\n }\r\n });\r\n\r\n const toastShowSuccess = () => {\r\n toggleAlert({\r\n description: `Success!`,\r\n message: `Success`,\r\n type: \"success\",\r\n });\r\n // toast.current.show({\r\n // severity: \"success\",\r\n // summary: \"Success !\",\r\n // life: 3000,\r\n // });\r\n };\r\n const toastShowError = () => {\r\n toggleAlert({\r\n description: `Error!`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Validation failed\",\r\n // });\r\n };\r\n\r\n const actionBodyTemplate = (rowData: any) => {\r\n let selData: any[] = [];\r\n dataDynamicTable.map((e: any) => {\r\n if (e[selectedColumns[0].field] === rowData[selectedColumns[0].field]) {\r\n selData.push(e);\r\n }\r\n });\r\n return (\r\n \r\n {\r\n setDataEdit(selData[0]);\r\n setTitleHead(\"Edit Data / แก้ไขข้อมูล\");\r\n setMessageButtonDialog(\"Update Changes\");\r\n setCheckAction(\"edit\");\r\n if (props?.setDisplayFormDialog !== undefined) {\r\n props?.setDisplayFormDialog(!props?.displayFormDialog);\r\n }\r\n setVisibleConfirm(false);\r\n },\r\n },\r\n ]}\r\n dropdownIcon=\"pi pi-ellipsis-v\"\r\n />\r\n \r\n );\r\n };\r\n\r\n const onColumnToggle = (event: any) => {\r\n let selectedColumns = event.value;\r\n let orderedSelectedColumns = columns.filter((col: any) =>\r\n selectedColumns.some((sCol: any) => sCol.field === col.field)\r\n );\r\n\r\n setSelectedColumns(orderedSelectedColumns);\r\n };\r\n\r\n const exportXLSX = (selectionOnly: any) => {\r\n exportXLSX({ selectionOnly });\r\n };\r\n\r\n const exportExcel = () => {\r\n const excelData = reconStructionForExport();\r\n import(\"xlsx\").then((xlsx: any) => {\r\n const worksheet = xlsx.utils.json_to_sheet(excelData);\r\n const workbook = { Sheets: { data: worksheet }, SheetNames: [\"data\"] };\r\n const excelBuffer = xlsx.write(workbook, {\r\n bookType: \"xlsx\",\r\n type: \"array\",\r\n });\r\n saveAsExcelFile(excelBuffer, reportFileName + \" : \" + new Date());\r\n toggleLoading(false);\r\n });\r\n };\r\n\r\n const saveAsExcelFile = (buffer: any, fileName: any) => {\r\n import(\"file-saver\").then((FileSaver: any) => {\r\n let EXCEL_TYPE =\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8\";\r\n let EXCEL_EXTENSION = \".xlsx\";\r\n const data = new Blob([buffer], {\r\n type: EXCEL_TYPE,\r\n });\r\n FileSaver.saveAs(\r\n data,\r\n fileName + \"_export_\" + new Date().getTime() + EXCEL_EXTENSION\r\n );\r\n });\r\n };\r\n\r\n const yearNavigatorTemplate = (e: any) => {\r\n return (\r\n e.onChange(event.originalEvent, event.value)}\r\n className=\"p-ml-2\"\r\n style={{ lineHeight: 1 }}\r\n />\r\n );\r\n };\r\n\r\n const renderHeader1 = () => {\r\n const selCol = [...selectedColumns];\r\n let showSelCol: any[] = [];\r\n const col = [...columns];\r\n let showCol: any[] = [];\r\n selCol.map((e: any) => {\r\n if (!e.field.toLowerCase().includes(\"id\")) {\r\n showSelCol.push(e);\r\n }\r\n });\r\n col.map((e: any) => {\r\n if (!e.field.toLowerCase().includes(\"id\")) {\r\n showCol.push(e);\r\n }\r\n });\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {\r\n const recon = reconStructionForShowData();\r\n const uniqueArray = recon.filter((value: any, index: any) => {\r\n const _value = JSON.stringify(value);\r\n return (\r\n index ===\r\n recon.findIndex((obj: any) => {\r\n return JSON.stringify(obj) === _value;\r\n })\r\n );\r\n });\r\n setShowDataDynamicTable([...uniqueArray]);\r\n setClearFilter(true);\r\n }}\r\n onChange={onColumnToggle}\r\n placeholder=\"Select columns\"\r\n style={{ width: \"20em\" }}\r\n />\r\n
\r\n {props.canExport && (\r\n
\r\n {\r\n toggleLoading(true);\r\n exportExcel();\r\n }}\r\n style={{\r\n height: \"38px\",\r\n background: \" #28a745\",\r\n border: \"1px solid #28a745\",\r\n color: \"#ffffff\",\r\n fontSize: \"13px\",\r\n borderRadius: \"6px\",\r\n margin: \" 0px 11px 0px 0px\",\r\n }}\r\n data-pr-tooltip=\"XLS\"\r\n />\r\n {/* */}\r\n {props.apiName !== \"DynamicReport/GetReportDetailById\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n Import From excel\r\n \r\n \r\n \r\n )}\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n };\r\n const importExcel = async (e: any) => {\r\n const file = e.target.files[0];\r\n try {\r\n if (toggleLoading != undefined) toggleLoading(true);\r\n import(\"xlsx\").then((xlsx) => {\r\n const reader = new FileReader();\r\n try {\r\n reader.onload = async (e: any) => {\r\n const wb = xlsx.read(e.target.result, { type: \"array\" });\r\n const wsname = wb.SheetNames[0];\r\n const ws = wb.Sheets[wsname];\r\n const data = xlsx.utils.sheet_to_json(ws, { header: 1 });\r\n const cols: any = data[0];\r\n data.shift();\r\n let _importedData = data.map((d: any) => {\r\n return cols.reduce((obj: any, c: any, i: any) => {\r\n obj[c] = d[i];\r\n return obj;\r\n }, {});\r\n });\r\n\r\n if (_importedData.length !== 0) {\r\n for (let i = 0; i < _importedData.length; i++) {\r\n const element = _importedData[i];\r\n var apiNamereplace = props.apiName?.replace(\"/GetAll\", \"\");\r\n\r\n let res = await updateDynamic(apiNamereplace, element);\r\n if (res.result === \"success\") {\r\n if (_importedData.length - 1 === i) {\r\n let _dataDynamic = await GetAllDynamic(\r\n props.apiName,\r\n undefined\r\n );\r\n\r\n setDataDynamicTable([..._dataDynamic]);\r\n if (toggleLoading !== undefined) {\r\n toggleLoading(false);\r\n }\r\n }\r\n } else {\r\n }\r\n }\r\n }\r\n };\r\n\r\n reader.readAsArrayBuffer(file);\r\n } catch (error) {}\r\n });\r\n } catch (error) {}\r\n };\r\n function onRowClick(rowData: any) {\r\n if (props.rowClickFunc != undefined) {\r\n props.rowClickFunc(rowData);\r\n }\r\n }\r\n\r\n const header1 = renderHeader1();\r\n\r\n function renderActionColumn() {\r\n if (props.canAction) {\r\n if (props.actionBody !== undefined) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n }\r\n }\r\n\r\n const rowClassName = () => {\r\n if (props.rowPointer) {\r\n return \"row-pointer\";\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n {!props.onLoading && (\r\n
\r\n setSelectData(e.value)}\r\n globalFilterFields={columns.map((e: any) => e.field)}\r\n rowsPerPageOptions={[10, 15, 20, 50, 100]}\r\n rowHover={props.rowHover}\r\n onValueChange={(e: any) => {\r\n if (props.setItemsCount !== undefined) {\r\n props.setItemsCount(e.length);\r\n }\r\n setExportData(e);\r\n }}\r\n filters={filters2}\r\n filterDisplay=\"row\"\r\n paginatorTemplate=\"FirstPageLink PrevPageLink PageLinks NextPageLink LastPageLink CurrentPageReport RowsPerPageDropdown\"\r\n currentPageReportTemplate=\"Showing {first} to {last} of {totalRecords} products\"\r\n responsiveLayout=\"scroll\"\r\n size=\"small\"\r\n >\r\n {dynamicColumns.length > 0 ? renderActionColumn() : null}\r\n {dynamicColumns}\r\n \r\n {visibleConfirm && props?.displayFormDialog == false && (\r\n \r\n )}\r\n {props?.displayFormDialog && (\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","export const GetAllTemplate = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n return respone;\r\n};\r\nexport const GetTemplateFromDDL = async (dataJson: any) => {\r\n const respone = await fetch(\"api/TemplateList/GetTemplateFromDDL\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateTemplateListVersion = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateBindFormNameDDL\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateeBindFormNameDDL = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateBindFormNameDDL\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetTemplateTemplateList = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateListBindGroup\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const SearchTemplateListEditing = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n console.log(\"dataJson\", dataJson);\r\n const respone = await fetch(\"api/TemplateList/SearchTemplateListEditing\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateListVersionHistory = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\r\n \"api/TemplateList/GetTemplateListVersionHistory\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateByDocTypeCode = async (dataJson: any) => {\r\n console.log(\"dataJson\", dataJson);\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateByDocTypeCode\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const GetTemplateById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n // window.location.href = \"/UnAuthorize\";\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetTemplate = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAll\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(\"table=>err\", err);\r\n });\r\n return respone;\r\n};\r\n\r\nexport const GetAllByCreateTemplate = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAllByCreateTemplate\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data.filter((item: any) => {\r\n return item.IsActive === true;\r\n });\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const ReportTemplateList = async () => {\r\n const respone = await fetch(\"api/TemplateList/GetAllReportTemplateList\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetTemplateByIdDto = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateByIdDto\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const GetTemplateControlById = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/GetTemplateControlById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n return response.json();\r\n })\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((error) => {\r\n return error;\r\n });\r\n return respone;\r\n};\r\n\r\nexport const AddTemplate = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/AddData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const AddTemplateAndVersion = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/SaveTemplateAndVersion\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const DeleteTemplate = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/TemplateList/DeleteTemplate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n\r\nexport const LoadLogic = async (template_id: any) => {\r\n const dataLogic = await fetch(\"api/TemplateList/TemplateByid/LoadLogic\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ TemplateId: template_id }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(\"Logic: \", data);\r\n\r\n return data;\r\n });\r\n return dataLogic;\r\n};\r\n\r\nexport const ValidateRefTemplate = async (dataJson: any) => {\r\n const refValid = await fetch(\"api/TemplateList/ValidateRefTemplate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n // console.log(\"Logic: \", data);\r\n\r\n return data;\r\n });\r\n return refValid;\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Popover, Collapse } from \"antd\";\r\nimport Cookies from \"universal-cookie\";\r\nimport { BsPlusCircle } from \"react-icons/bs\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { AiOutlineStar, AiFillStar } from \"react-icons/ai\";\r\nimport { BsSearch } from \"react-icons/bs\";\r\nimport { IoChevronForward } from \"react-icons/io5\";\r\nimport { IoChevronDownSharp } from \"react-icons/io5\";\r\nimport \"./TreeSelectNewRequest.css\";\r\nimport { GetTemplateFromDDL } from \"../../Services/TemplateService\";\r\nimport { Button } from \"primereact/button\";\r\nimport { GetRolePermissionByUser } from \"../../Services/RoleServices\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface Props {\r\n setDataTemplateTreeProps?: any;\r\n}\r\n\r\nexport const TreeSelectNewRequest = (props: Props) => {\r\n const [groupDataTemplate, setGroupDataTemplate] = useState([]);\r\n const [searchTemplate, setSearchTemplate] = useState([]);\r\n const [isOpen, setIsOpen] = useState(false);\r\n const [checkActionFavorite, setCheckActionFavorite] =\r\n useState(false);\r\n const [checkActionPanel, setCheckActionPanel] = useState(false);\r\n const [checkFilter, setCheckFilter] = useState(false);\r\n const [userData] = useUserContext();\r\n const { Panel } = Collapse;\r\n const cookies = new Cookies();\r\n const location = useLocation();\r\n const history = useHistory();\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n fetchDataTemplate();\r\n window.addEventListener(\"scroll\", handleScroll);\r\n return () => window.removeEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n\r\n async function fetchDataTemplate() {\r\n try {\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const empid = empData.employeeData.EmployeeId;\r\n const DepartmentId = empData.employeeData.DepartmentId;\r\n const dataJson = {\r\n Username: userData.Username,\r\n DepartmentId: Number(userData.DepartmentId),\r\n EmployeeId: Number(userData.EmployeeId),\r\n Email: userData.Email,\r\n selectAll: false,\r\n DefultMode: false,\r\n OnlyActive: true,\r\n };\r\n\r\n let _dataTemplate = await GetTemplateFromDDL(dataJson);\r\n let _groupDataTemplate: any = [{ header: \"Favorite\", data: [] }];\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || \"[]\";\r\n fav_cookie = JSON.parse(fav_cookie);\r\n let groupTemplate = _dataTemplate?.reduce(function (r: any, a: any) {\r\n r[a.GroupTemplateName] = r[a.GroupTemplateName] || [];\r\n r[a.GroupTemplateName].push(a);\r\n return r;\r\n }, Object.create(null));\r\n const roles = await GetRolePermissionByUser();\r\n\r\n const keyDataTemplate = Object.entries(groupTemplate);\r\n keyDataTemplate.sort((a, b) => a[0].localeCompare(b[0]));\r\n groupTemplate = Object.fromEntries(keyDataTemplate);\r\n\r\n for (const [key, value] of Object.entries(groupTemplate)) {\r\n let _value: any = value;\r\n for (let i = 0; i < _value.length; i++) {\r\n if (fav_cookie?.length > 0) {\r\n for (let k = 0; k < fav_cookie.length; k++) {\r\n if (\r\n fav_cookie[k]?.TemplateNameWithCode ===\r\n _value[i]?.TemplateNameWithCode\r\n ) {\r\n _value[i][\"favorite\"] = fav_cookie[k].favorite;\r\n _groupDataTemplate[0].data.push(_value[i]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n _groupDataTemplate.push({ header: key, data: _value });\r\n }\r\n setGroupDataTemplate(_groupDataTemplate);\r\n setSearchTemplate(_groupDataTemplate);\r\n } catch (error) {}\r\n }\r\n const onClickStar = (groupIdx: any, templateIdx: any, idx: number) => {\r\n setCheckActionFavorite(true);\r\n let _groupDataTemplate = searchTemplate;\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n if (groupIdx === _groupDataTemplate[i].header) {\r\n for (let j = 0; j < _groupDataTemplate[i].data.length; j++) {\r\n if (\r\n _groupDataTemplate[i].data[j].TemplateNameWithCode === templateIdx\r\n ) {\r\n _groupDataTemplate[i].data[j].favorite =\r\n !_groupDataTemplate[i].data[j].favorite;\r\n }\r\n }\r\n }\r\n }\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || \"[]\";\r\n fav_cookie = JSON.parse(fav_cookie);\r\n let checkUnClickStar: boolean = false;\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n if (\r\n _groupDataTemplate[i].header === groupIdx &&\r\n _groupDataTemplate[i].header !== \"Favorite\"\r\n ) {\r\n for (let j = 0; j < fav_cookie.length; j++) {\r\n const element2 = fav_cookie[j];\r\n if (\r\n _groupDataTemplate[i].data[idx].TemplateId === element2.TemplateId\r\n ) {\r\n fav_cookie.splice(j, 1);\r\n checkUnClickStar = true;\r\n }\r\n }\r\n if (!checkUnClickStar) {\r\n fav_cookie.push(_groupDataTemplate[i].data[idx]);\r\n }\r\n }\r\n }\r\n let checkHasFavorite: boolean = false;\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n const element = _groupDataTemplate[i];\r\n if (element.header === \"Favorite\") {\r\n checkHasFavorite = true;\r\n }\r\n }\r\n if (checkHasFavorite) {\r\n _groupDataTemplate[0].data.splice(\r\n 0,\r\n _groupDataTemplate[0].data.length,\r\n ...fav_cookie\r\n );\r\n } else {\r\n let _groupDataTemplate2: any = [{ header: \"Favorite\", data: [] }];\r\n _groupDataTemplate2[0].data = fav_cookie;\r\n console.log(fav_cookie, \"fav_cookieCheckHasFavorite\");\r\n console.log(_groupDataTemplate2, \"_groupDataTemplate2\");\r\n _groupDataTemplate.splice(0, 0, _groupDataTemplate2[0]);\r\n }\r\n\r\n window.localStorage.setItem(\"favorite\", JSON.stringify(fav_cookie));\r\n setSearchTemplate([..._groupDataTemplate]);\r\n };\r\n const onUnFavorite = (\r\n _groupTemplateName: any,\r\n _templateNameWithCode: any,\r\n idx: any\r\n ) => {\r\n setCheckActionFavorite(true);\r\n let _groupDataTemplate = groupDataTemplate;\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || \"[]\";\r\n fav_cookie = JSON.parse(fav_cookie);\r\n _groupDataTemplate[0].data = fav_cookie;\r\n for (let i = 0; i < _groupDataTemplate[0].data.length; i++) {\r\n _groupDataTemplate[0].data.splice(idx, 1);\r\n break;\r\n }\r\n for (let i = 0; i < _groupDataTemplate.length; i++) {\r\n if (_groupTemplateName === _groupDataTemplate[i].header) {\r\n for (let j = 0; j < _groupDataTemplate[i].data.length; j++) {\r\n if (\r\n _groupDataTemplate[i].data[j].TemplateNameWithCode ===\r\n _templateNameWithCode\r\n ) {\r\n _groupDataTemplate[i].data[j].favorite =\r\n !_groupDataTemplate[i].data[j].favorite;\r\n }\r\n }\r\n }\r\n }\r\n window.localStorage.setItem(\r\n \"favorite\",\r\n JSON.stringify(_groupDataTemplate[0].data)\r\n );\r\n setSearchTemplate([..._groupDataTemplate]);\r\n };\r\n const mapContent = () => {\r\n try {\r\n let _groupTemplate: any = [];\r\n let activeDefault = [...Array(_groupTemplate?.length).keys()];\r\n let _searchTemplate = searchTemplate;\r\n for (let i = 0; i < _searchTemplate.length; i++) {\r\n if (_searchTemplate[i].header !== \"Favorite\") {\r\n let _group: any = (\r\n {_searchTemplate[i].header}

\r\n }\r\n className=\"group-template-panel \"\r\n >\r\n {_searchTemplate[i].data?.map((_data: any, idx: any) => {\r\n return (\r\n
\r\n {\r\n if (\r\n location.pathname === \"/Request\" &&\r\n props.setDataTemplateTreeProps !== undefined\r\n ) {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`\r\n );\r\n props.setDataTemplateTreeProps(_data);\r\n }\r\n if (location.pathname !== \"/Request\") {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`,\r\n { listFormName: _data }\r\n );\r\n }\r\n setIsOpen(false);\r\n }}\r\n >\r\n {_data.TemplateNameWithCode}\r\n

\r\n {_data.favorite ? (\r\n \r\n onClickStar(\r\n _data.GroupTemplateName,\r\n _data.TemplateNameWithCode,\r\n idx\r\n )\r\n }\r\n />\r\n ) : (\r\n \r\n onClickStar(\r\n _data.GroupTemplateName,\r\n _data.TemplateNameWithCode,\r\n idx\r\n )\r\n }\r\n />\r\n )}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n _groupTemplate.push(_group);\r\n } else {\r\n let _group: any = (\r\n {_searchTemplate[i].header}

\r\n }\r\n className=\"group-template-panel\"\r\n >\r\n {_searchTemplate[i].data?.map((_data: any, idx: any) => {\r\n return (\r\n
\r\n {\r\n if (\r\n location.pathname === \"/Request\" &&\r\n props.setDataTemplateTreeProps !== undefined\r\n ) {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`\r\n );\r\n props.setDataTemplateTreeProps(_data);\r\n }\r\n if (location.pathname !== \"/Request\") {\r\n history.push(\r\n `/Request?MemoID=0&template=${_data.TemplateId}`,\r\n { listFormName: _data }\r\n );\r\n }\r\n setIsOpen(false);\r\n }}\r\n >\r\n {_data.TemplateNameWithCode}\r\n

\r\n\r\n \r\n onUnFavorite(\r\n _data.GroupTemplateName,\r\n _data.TemplateNameWithCode,\r\n idx\r\n )\r\n }\r\n />\r\n
\r\n );\r\n })}\r\n \r\n );\r\n _groupTemplate.push(_group);\r\n }\r\n\r\n if (checkActionFavorite) {\r\n activeDefault = [0];\r\n }\r\n }\r\n\r\n return (\r\n
\r\n
\r\n onFilterChange(e.target.value)}\r\n />\r\n \r\n
\r\n {checkFilter && (\r\n \r\n isActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n expandIconPosition={\"right\"}\r\n >\r\n {_groupTemplate}\r\n \r\n )}\r\n {!checkFilter && !checkActionFavorite && (\r\n \r\n isActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n expandIconPosition={\"right\"}\r\n >\r\n {_groupTemplate}\r\n \r\n )}\r\n {!checkFilter && checkActionFavorite && (\r\n \r\n isActive ? (\r\n \r\n ) : (\r\n \r\n )\r\n }\r\n expandIconPosition={\"right\"}\r\n >\r\n {_groupTemplate}\r\n \r\n )}\r\n
\r\n );\r\n } catch (error) {\r\n console.log(\"MapContent=>error\", error);\r\n }\r\n };\r\n const onFilterChange = (text: string) => {\r\n setCheckActionFavorite(false);\r\n if (groupDataTemplate) {\r\n if (groupDataTemplate.length > 0) {\r\n let _groupDataTemplate = groupDataTemplate;\r\n console.log(groupDataTemplate, \"groupDataTemplate\");\r\n\r\n if (!text) {\r\n setCheckFilter(false);\r\n let fav_cookie: any = window.localStorage.getItem(\"favorite\") || \"[]\";\r\n fav_cookie = JSON.parse(fav_cookie);\r\n _groupDataTemplate[0].data = fav_cookie;\r\n setSearchTemplate([..._groupDataTemplate]);\r\n } else {\r\n setCheckFilter(true);\r\n }\r\n const _searchTemplate = _groupDataTemplate.filter(\r\n (_data: any, idx: any) => {\r\n if (_data.header === \"Favorite\") {\r\n return true;\r\n }\r\n for (let i = 0; i < _data.data.length; i++) {\r\n if (\r\n _data.data[i]?.TemplateName?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1 ||\r\n _data.data[i]?.TemplateNameWithCode?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1 ||\r\n _data.header?.toLowerCase().indexOf(text.toLowerCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n }\r\n }\r\n );\r\n const filteredList: any = [];\r\n\r\n for (let i = 0; i < _searchTemplate.length; i++) {\r\n const filteredGroup = _searchTemplate[i];\r\n const filtered = filteredGroup.data.filter((_data: any, idx: any) => {\r\n if (\r\n _data?.TemplateName?.toLowerCase().indexOf(text.toLowerCase()) !==\r\n -1 ||\r\n _data?.TemplateNameWithCode?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1 ||\r\n _data?.GroupTemplateName?.toLowerCase().indexOf(\r\n text.toLowerCase()\r\n ) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n if (filtered.length > 0) {\r\n filteredList.push({\r\n header: filteredGroup.header,\r\n data: filtered,\r\n });\r\n }\r\n }\r\n setSearchTemplate([...filteredList]);\r\n }\r\n }\r\n };\r\n const onVisibleChange = (visible: boolean) => {\r\n setIsOpen(visible);\r\n };\r\n return (\r\n \r\n {location.pathname !== \"/Request\" && (\r\n \r\n \r\n

{t(\"New Request\")}

\r\n \r\n )}\r\n\r\n {location.pathname === \"/Request\" && (\r\n \r\n )}\r\n {location.pathname === \"/Request\" && (\r\n \r\n )}\r\n\r\n {location.pathname !== \"/Request\" && (\r\n \r\n \r\n

{t(\"New Request\")}

\r\n \r\n )}\r\n \r\n );\r\n};\r\n","export default __webpack_public_path__ + \"static/media/LoadingWOLFmini.12fa1510.gif\";","import { Button } from \"primereact/button\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { DynamicTable } from \"../../components/TableComponents/Dynamic/DynamicTable\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport LogoLoading from \"../../assets/LoadingWOLFmini.gif\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\ninterface Props {}\r\n\r\ntype QuizParams = {\r\n reportId: string;\r\n reportName: string;\r\n};\r\n\r\nexport const DynamicReport = (props: Props) => {\r\n let { reportId } = useParams();\r\n let { reportName } = useParams();\r\n const text = \"Report Detail\";\r\n const apiName = \"DynamicReport/GetReportDetailById\";\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const reportDetailBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n PageIndex: 0,\r\n PageSize: 10000,\r\n }),\r\n };\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [imgLoading, setImgLoading] = useState(LogoLoading);\r\n const [data, setData] = useState();\r\n\r\n useEffect(() => {\r\n fetchData();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (data) {\r\n setOnLoading(false);\r\n }\r\n }, [data]);\r\n\r\n async function fetchData() {\r\n try {\r\n setOnLoading(true);\r\n\r\n const _dataDynamic: any[] = await GetAllDynamic(\r\n apiName,\r\n reportDetailBody\r\n );\r\n\r\n setData(_dataDynamic);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n }\r\n\r\n return (\r\n
\r\n {onLoading ? (\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 {reportName.replace(\"\\\\\", \"/\") + \"(\" + itemsCount + \")\"}\r\n

\r\n
\r\n
\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 moment from \"moment\";\r\nimport {\r\n GetDashboardKeyEndpoint,\r\n GetDashboardStatusCard,\r\n} from \"./ConfigurationService\";\r\n\r\nexport const GetDashboardReportById = async () => {\r\n const configuration = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n console.log(data);\r\n\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n return;\r\n });\r\n\r\n const respone = await fetch(\"api/Report/GetReportById/1201\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n let data: any = [];\r\n var _endpoint = await GetDashboardEndpoint();\r\n\r\n for (let i = 0; i < respone.length; i++) {\r\n let row: any = {};\r\n\r\n for (let j = 0; j < configuration.length; j++) {\r\n for (const [key, value] of Object.entries(respone[i])) {\r\n const [keyConfig, typeConfig, formatConfig] =\r\n configuration[j]?.split(\"|\");\r\n if (keyConfig === key) {\r\n if (typeConfig === \"date\") {\r\n row[_endpoint[j]] = moment(\r\n new Date(moment(respone[i][keyConfig]).format(\"yyyy/MM/DD\"))\r\n ).format(formatConfig);\r\n } else {\r\n row[_endpoint[j]] = value;\r\n }\r\n }\r\n }\r\n }\r\n data.push(row);\r\n }\r\n console.log(data, \"GetDashboardReportById\");\r\n return data;\r\n};\r\nexport const MapDataEndpoint = async (respone: any) => {\r\n const configuration = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n\r\n return;\r\n });\r\n\r\n let data: any = [];\r\n var _endpoint = await GetDashboardEndpoint();\r\n for (let i = 0; i < respone?.length; i++) {\r\n let row: any = {};\r\n for (let j = 0; j < _endpoint.length; j++) {\r\n for (const [key, value] of Object.entries(respone[i])) {\r\n const [keyConfig, typeConfig, formatConfig] =\r\n configuration[j]?.split(\"||\");\r\n if (keyConfig === key) {\r\n if (typeConfig === \"date\") {\r\n console.log(respone[i][keyConfig], \"respone[i][keyConfig]\");\r\n row[_endpoint[j]] = moment(\r\n new Date(moment(respone[i][keyConfig]).format(\"yyyy/MM/DD\"))\r\n ).format(formatConfig);\r\n } else {\r\n row[_endpoint[j]] = value;\r\n }\r\n }\r\n }\r\n }\r\n data.push(row);\r\n }\r\n\r\n var _statusCard = await GetDashboardStatusCard();\r\n let _priorities = _statusCard.map((_data: any) => {\r\n const [keyConfig, typeConfig, displayConfig, priority] = _data.split(\"||\");\r\n return {\r\n statusName: keyConfig,\r\n displayStatusName: displayConfig,\r\n priority: priority,\r\n };\r\n });\r\n for (let i = 0; i < data.length; i++) {\r\n const element = data[i];\r\n for (let j = 0; j < _priorities.length; j++) {\r\n const _priority = _priorities[j];\r\n if (element[_endpoint[2]] === _priority.statusName) {\r\n data[i][\"priority\"] = _priority.priority;\r\n data[i][_endpoint[2]] = _priority.displayStatusName;\r\n }\r\n }\r\n }\r\n\r\n return data;\r\n};\r\nexport const MapGroupData = async (data: any, _name: any) => {\r\n var _endpoint = await GetDashboardKeyEndpoint();\r\n console.log(data, \"data\");\r\n console.log(_name, \"_name\");\r\n\r\n let result: any[] = data?.reduce(function (r: any, a: any) {\r\n r[a[_name.name]] = r[a[_name.name]] || [];\r\n r[a[_name.name]].push(a);\r\n return r;\r\n }, Object.create(null));\r\n let mapData: any[] = [];\r\n for (const [key, value] of Object.entries(result)) {\r\n mapData.push({\r\n headData: key,\r\n items: value.sort((a: any, b: any) => {\r\n return a.priority - b.priority;\r\n }),\r\n });\r\n }\r\n const sortDate = mapData.sort((a: any, b: any) => {\r\n const aa = moment(a.headData, \"DD/MMMM/YYYY\");\r\n const bb = moment(b.headData, \"DD/MMMM/YYYY\");\r\n return moment(aa).diff(bb);\r\n });\r\n return sortDate;\r\n};\r\n\r\nexport const GetDashboardEndpoint = async () => {\r\n const configuration = await fetch(\"/api/Configuration/Dashboard/Endpoint\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n const card = configuration.map((_data: any) => {\r\n const [keyConfig, typeConfig] = _data.split(\"||\");\r\n return keyConfig;\r\n });\r\n return card;\r\n};\r\n\r\nexport const GetFilterHeaderDashboard = async () => {\r\n const configuration = await fetch(\"/api/Configuration/Dashboard/FilterHeader\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n let data: any = [];\r\n configuration.map((_data: any) => {\r\n const [keyConfig, typeConfig] = _data.split(\"||\");\r\n data.push({\r\n name: keyConfig,\r\n });\r\n return data;\r\n });\r\n return data;\r\n};\r\nexport const GetFilterSelectDashboard = async () => {\r\n const configuration = await fetch(\"/api/Configuration/Dashboard/FilterSelect\")\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n let data: any = [];\r\n configuration.map((_data: any) => {\r\n const [keyConfig, typeConfig] = _data.split(\"||\");\r\n data.push({\r\n name: keyConfig,\r\n });\r\n return data;\r\n });\r\n return data;\r\n};\r\n\r\nexport const GetReportById = async (reportId: number, signal?: AbortSignal) => {\r\n const respone = await fetch(\"api/DynamicReport/GetReportDetailById\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n signal: signal,\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n PageIndex: 0,\r\n PageSize: 10000,\r\n UserPrincipalName: window.localStorage.getItem(\"email\") || \"\",\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\nexport const ReportTemplateSelectByReportID = async (reportId: number) => {\r\n const respone = await fetch(\r\n \"api/DynamicReport/ReportTemplateSelectByReportID\",\r\n {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n }),\r\n }\r\n )\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const DeleteReport = async (reportId: number) => {\r\n const respone = await fetch(\"api/DynamicReport/DeleteReport\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n }),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const ReportListTemplateSelect = async (dataJson: any) => {\r\n const respone = await fetch(\"api/DynamicReport/ReportListTemplateSelect\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const AddReport = async (dataJson: any) => {\r\n // console.log(\"dataJson\", dataJson);\r\n\r\n const respone = await fetch(\"api/DynamicReport/AddReport\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\nexport const UpdateReport = async (dataJson: any) => {\r\n // console.log(\"dataJson\", dataJson);\r\n\r\n const respone = await fetch(\"api/DynamicReport/UpdateData\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n\r\n return respone;\r\n};\r\n\r\nexport const FilterAdvanceSearch = async (dataJson: any) => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/Report/FilterAdvanceSearch\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n return err;\r\n });\r\n console.log(respone, \"dashboard\");\r\n return respone;\r\n};\r\n","import { AutoComplete } from \"primereact/autocomplete\";\r\nimport React, { ReactElement } from \"react\";\r\nimport \"./AutoCompleteComponents.css\";\r\ninterface Props {\r\n valueProps?: any;\r\n suggestionsProps?: any;\r\n completeMethodProps?: any;\r\n fieldProps?: any;\r\n disabledProps?: any;\r\n onChangeProps?: any;\r\n keyProps?: any;\r\n styleProps?: any;\r\n onKeyPress?: any;\r\n readOnlyprops?: any;\r\n notButton?: any;\r\n onBlur?: any;\r\n}\r\n\r\nexport default function AutoCompleteComponents(props: Props) {\r\n return (\r\n <>\r\n {\r\n if (props.onBlur) {\r\n props.onKeyPress(e.target.value, props.keyProps);\r\n e.target.value = \"\";\r\n }\r\n }}\r\n field={props.fieldProps}\r\n className={\r\n props.notButton === true\r\n ? \"AutoCompleteComponents-autoComplete-notButton\"\r\n : \"AutoCompleteComponents-autoComplete\"\r\n }\r\n multiple\r\n panelClassName={\r\n props.notButton === true\r\n ? \"AutoCompleteComponents-autoComplete-notButton\"\r\n : \"AutoCompleteComponents-autoComplete\"\r\n }\r\n disabled={props.disabledProps}\r\n readOnly={props.readOnlyprops}\r\n onChange={(e) => props.onChangeProps(e.value, props.keyProps, e)}\r\n onMouseDown={(e: any) => {\r\n console.log(\"e\", e);\r\n }}\r\n onKeyPress={(e: any) => {\r\n if (e.code === \"Enter\" || e.code === \"NumpadEnter\") {\r\n if (props.onKeyPress !== undefined)\r\n props.onKeyPress(e.target.value, props.keyProps);\r\n e.target.value = \"\";\r\n }\r\n }}\r\n />\r\n \r\n );\r\n}\r\n","import React, { ReactElement } from \"react\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport \"./RadioButtonComponents.css\";\r\ninterface Props {\r\n inputIdProps: any;\r\n nameProps: any;\r\n valueProps: any;\r\n onChangeProps: any;\r\n checkedProps: any;\r\n keyProps: any;\r\n labelProps?: any;\r\n}\r\n\r\nexport const RadioButtonComponents = (props: Props) => {\r\n return (\r\n <>\r\n {\r\n console.log(\"report=>e\", e);\r\n props.onChangeProps(e.value, props.keyProps);\r\n }}\r\n checked={props.checkedProps}\r\n />\r\n \r\n \r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport {\r\n AddReport,\r\n ReportListTemplateSelect,\r\n UpdateReport,\r\n} from \"../../../Services/ReportService\";\r\n\r\nimport \"./ReportDialog.css\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\n\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport EmployeeDialog from \"../../DataFechDialogComponents/EmployeeDialog/EmployeeDialog\";\r\nimport { RadioButtonComponents } from \"../../RadioButtonComponents/RadioButtonComponents\";\r\nimport { Calendar } from \"primereact/calendar\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { IReportModel } from \"../../../IRequestModel/IReportModel\";\r\nimport moment from \"moment\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { GetTemplateById } from \"../../../Services/TemplateService\";\r\nimport { filterHash } from \"@fullcalendar/react\";\r\nimport { DatePicker, Input, InputNumber, Spin } from \"antd\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\ninterface Props {\r\n visible: boolean;\r\n toggleDialog: any;\r\n templateDataProps?: any;\r\n checkSetProps?: any;\r\n checkProps?: any;\r\n editProps?: any;\r\n dataEditReportProps?: any;\r\n setEditReportProps?: any;\r\n setOnLoading: (bool: boolean) => void;\r\n}\r\nconst reportModelIReportModel: IReportModel = {\r\n ReportTemplateId: 0,\r\n ReportName: \"\",\r\n TemplateId: \"\",\r\n Selectedfieldlist: [],\r\n ReportDescription: \"\",\r\n IsPrivate: false,\r\n IsActive: true,\r\n CreatedBy: \"\",\r\n CreatedByname: \"\",\r\n CreatedDate: \"\",\r\n ModifiedBy: \"\",\r\n ModifiedByname: \"\",\r\n ModifiedDate: \"\",\r\n Selectedfieldlistfilter: [],\r\n Columns: [],\r\n Rows: [],\r\n TemplateNewVersion: false,\r\n PageIndex: 0,\r\n PageSize: 10,\r\n CanDelete: false,\r\n RoleId: \"\",\r\n RoleEmp: \"\",\r\n Mode: false,\r\n};\r\n\r\nexport const ReportDialog = (props: Props) => {\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n const userData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const [selectedField, setSelectedField] = useState([]);\r\n const [templateKey, setTemplateKey] = useState([]);\r\n const [templateField, setTemplateField] = useState([]);\r\n const [templateMulti, setTemplateMulti] = useState([]);\r\n\r\n const [templateFieldMulti, setTemplateFieldMulti] = useState([]);\r\n\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [keyAutoComplete, setKeyAutoComplete] = useState();\r\n const [employeeRequest, setEmployeeRequest] = useState([]);\r\n const [searchData, setSearchData] = useState([]);\r\n const [employee, setEmployee] = useState([]);\r\n const [roleData, setRoleData] = useState([]);\r\n const [radioButtonCheck, setRadioButtonCheck] = useState(false);\r\n const [radioButtonCheckToday, setRadioButtonCheckToday] =\r\n useState(false);\r\n const [radioButtonCheckFrom, setRadioButtonCheckFrom] = useState(false);\r\n const [filterValue, setFilterValue] = useState([]);\r\n const [reportModel, setReportModel] = useState({});\r\n const [filterValueSelected, setFilterValueSelected] = useState([]);\r\n const [dropdownfilterValue, setDropdownfilterValue] = useState([]);\r\n const [group, setGroup] = useState([]);\r\n const [groupData, setGroupData] = useState([]);\r\n const [indexOrderBy, setIndexOrderBy] = useState([]);\r\n const [indexHideColumn, setIndexHideColumn] = useState([]);\r\n const [indexSortingBy, setIndexSortingBy] = useState([]);\r\n const [textHeader, setTextHeader] = useState(\"\");\r\n\r\n const [tableLoading, setTableLoading] = useState(true);\r\n\r\n const [templateMode, setTemplateMode] = useState({ Mode: \"Real Time\" });\r\n // const [disabledSave, setDisabledSave] = useState(true);\r\n\r\n const [validationForm, setValidationForm] = useState({\r\n TemplateIdValidation: false,\r\n FieldCollectionValidation: false,\r\n ReportNameValidation: false,\r\n ReportDescriptionValidation: false,\r\n RoleEmpValidation: false,\r\n RoleIdValidation: false,\r\n DisabledSave: true,\r\n });\r\n\r\n useEffect(() => {\r\n addTemplateKey();\r\n }, [props.templateDataProps, props.visible]);\r\n\r\n useEffect(() => {\r\n if (props.dataEditReportProps && props.editProps === true) {\r\n editData();\r\n }\r\n }, [employee, roleData, props.dataEditReportProps]);\r\n\r\n useEffect(() => {\r\n _fechData();\r\n }, [props.visible]);\r\n\r\n useEffect(() => {\r\n if (props.editProps === true) {\r\n setTextHeader(\"Edit Report / แก้ไขรายงาน\");\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n CreatedBy: props.dataEditReportProps.CreateBy,\r\n CreatedDate: props.dataEditReportProps.CreateDate,\r\n IsPrivate: props.dataEditReportProps.Isprivate,\r\n Mode: props.dataEditReportProps.Mode,\r\n ModifiedBy: props.dataEditReportProps.ModifiedBy,\r\n\r\n ReportDescription: props.dataEditReportProps.Reportdescription,\r\n ReportName: props.dataEditReportProps.Reportname,\r\n ReportTemplateId: props.dataEditReportProps.ReporttemplateID,\r\n RoleEmp: props.dataEditReportProps.RoleEmp,\r\n RoleId: props.dataEditReportProps.RoleId,\r\n SecretId: props.dataEditReportProps.SecretId,\r\n Selectedfieldlist: props.dataEditReportProps.Selectedfieldlist,\r\n\r\n Selectedfieldlistfilter:\r\n props.dataEditReportProps.Selectedfieldlistfilter,\r\n TemplateId: props.dataEditReportProps.TemplateID,\r\n TemplateNewVersion: props.dataEditReportProps.Templateversion,\r\n }));\r\n console.log(\"props.dataEditReportProps\", props.dataEditReportProps);\r\n if (props.dataEditReportProps !== undefined) {\r\n if (\r\n JSON.stringify(props.dataEditReportProps) !==\r\n JSON.stringify(reportModel)\r\n ) {\r\n editReportData();\r\n }\r\n }\r\n } else {\r\n setTextHeader(\"Create Report / สร้างรายงาน\");\r\n }\r\n }, [props.editProps, props.dataEditReportProps]);\r\n useEffect(() => {\r\n if (templateFieldMulti !== undefined && templateFieldMulti.length !== 0) {\r\n let indexGroupByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexGroupBy === \"1\"\r\n );\r\n let indexSortingByByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexSortingBy === \"1\"\r\n );\r\n let indexHideColumnByByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexHideColumn === \"1\"\r\n );\r\n let indexOrderByColumnByByFilter = templateFieldMulti.filter(\r\n (_data: any) => _data.indexOrderBy === \"1\"\r\n );\r\n if (indexGroupByFilter.length !== 0) {\r\n setGroupData(indexGroupByFilter);\r\n }\r\n if (indexSortingByByFilter.length !== 0) {\r\n setIndexSortingBy(indexSortingByByFilter);\r\n }\r\n if (indexHideColumnByByFilter.length !== 0) {\r\n setIndexHideColumn(indexHideColumnByByFilter);\r\n }\r\n if (indexOrderByColumnByByFilter.length !== 0) {\r\n setIndexOrderBy(indexOrderByColumnByByFilter);\r\n }\r\n }\r\n }, [templateFieldMulti]);\r\n async function Data() {\r\n setReportModel(reportModelIReportModel);\r\n\r\n setSelectedField([]);\r\n setTemplateKey([]);\r\n setTemplateField([]);\r\n setTemplateMulti([]);\r\n setTemplateFieldMulti([]);\r\n setEmployeeRequest([]);\r\n setSearchData([]);\r\n setEmployee([]);\r\n setRoleData([]);\r\n setFilterValue([]);\r\n setFilterValueSelected([]);\r\n setGroup([]);\r\n setGroupData([]);\r\n setIndexOrderBy([]);\r\n setIndexHideColumn([]);\r\n setIndexSortingBy([]);\r\n setValidationForm({\r\n TemplateIdValidation: false,\r\n FieldCollectionValidation: false,\r\n ReportNameValidation: false,\r\n ReportDescriptionValidation: false,\r\n DisabledSave: true,\r\n });\r\n }\r\n function formatDate(date: string) {\r\n let arrDate = date.split(\"/\");\r\n const mm = Number(arrDate[1]);\r\n if (mm === 1) {\r\n arrDate[1] = \"Jan\";\r\n } else if (mm === 2) {\r\n arrDate[1] = \"Feb\";\r\n } else if (mm === 3) {\r\n arrDate[1] = \"Mar\";\r\n } else if (mm === 4) {\r\n arrDate[1] = \"Apr\";\r\n } else if (mm === 5) {\r\n arrDate[1] = \"May\";\r\n } else if (mm === 6) {\r\n arrDate[1] = \"Jun\";\r\n } else if (mm === 7) {\r\n arrDate[1] = \"Jul\";\r\n } else if (mm === 8) {\r\n arrDate[1] = \"Aug\";\r\n } else if (mm === 9) {\r\n arrDate[1] = \"Sep\";\r\n } else if (mm === 10) {\r\n arrDate[1] = \"Oct\";\r\n } else if (mm === 11) {\r\n arrDate[1] = \"Nov\";\r\n } else if (mm === 12) {\r\n arrDate[1] = \"Dec\";\r\n }\r\n return arrDate.join(\" \");\r\n }\r\n\r\n async function editData() {\r\n console.log(\"props.dataEditReportProps?.Mode\", props.dataEditReportProps);\r\n onTemplateMode(\r\n props.dataEditReportProps?.Mode === false\r\n ? { Mode: \"Real Time\" }\r\n : { Mode: \"Schedule Mode\" }\r\n );\r\n if (props.dataEditReportProps !== undefined) {\r\n const _employee = await GetAllEmployee();\r\n const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n let _RoleEmpSplit =\r\n props.dataEditReportProps.RoleEmp === undefined\r\n ? []\r\n : props.dataEditReportProps.RoleEmp !== null\r\n ? props.dataEditReportProps.RoleEmp.split(\",\")\r\n : [];\r\n let _RoleIdSplit =\r\n props.dataEditReportProps.RoleId === undefined\r\n ? []\r\n : props.dataEditReportProps.RoleId !== null\r\n ? props.dataEditReportProps.RoleId.split(\",\")\r\n : [];\r\n let arrayRoleEmp: any = [];\r\n let arrayGroup: any = [];\r\n if (_RoleEmpSplit.length !== 0) {\r\n _RoleEmpSplit.map((_data: any) => {\r\n let _dataRoleEmp = _employee.filter(\r\n (item: any) => item.EmployeeId === Number(_data)\r\n );\r\n if (_dataRoleEmp.length !== 0) {\r\n arrayRoleEmp.push(_dataRoleEmp[0]);\r\n }\r\n });\r\n }\r\n if (_RoleIdSplit.length !== 0) {\r\n _RoleIdSplit.map((_data: any) => {\r\n let _dataRoleEmp = roles.filter(\r\n (item: any) => item.RoleId === Number(_data)\r\n );\r\n if (_dataRoleEmp.length !== 0) {\r\n arrayGroup.push(_dataRoleEmp[0]);\r\n }\r\n });\r\n }\r\n setEmployeeRequest([...arrayRoleEmp]);\r\n setGroup([...arrayGroup]);\r\n setRadioButtonCheck(props.dataEditReportProps?.Isprivate);\r\n }\r\n }\r\n async function editReportData() {\r\n let _dataJSONParse: any = [];\r\n var TemplateId = props.dataEditReportProps?.TemplateID?.split(\"|\");\r\n _dataJSONParse =\r\n props.dataEditReportProps.Selectedfieldlist !== undefined\r\n ? props.dataEditReportProps.Selectedfieldlist !== null &&\r\n props.dataEditReportProps.Selectedfieldlist.length !== 0 &&\r\n props.dataEditReportProps.Selectedfieldlist !== \"[]\"\r\n ? props.dataEditReportProps.Selectedfieldlist\r\n : []\r\n : [];\r\n\r\n for (let i = 0; i < _dataJSONParse.length; i++) {\r\n delete _dataJSONParse[i][\"value\"];\r\n }\r\n\r\n let _dataFavoritesItem: any = [];\r\n _dataFavoritesItem =\r\n props.dataEditReportProps.Selectedfieldlistfilter !== undefined\r\n ? props.dataEditReportProps.Selectedfieldlistfilter !== null &&\r\n props.dataEditReportProps.Selectedfieldlistfilter.length !== 0 &&\r\n props.dataEditReportProps.Selectedfieldlistfilter !== \"[]\"\r\n ? props.dataEditReportProps.Selectedfieldlistfilter\r\n : []\r\n : [];\r\n\r\n let arrayTemplate: any = [];\r\n if (TemplateId !== undefined) {\r\n if (TemplateId.length !== 0) {\r\n for (let i = 0; i < TemplateId.length; i++) {\r\n let dataFilter = props.templateDataProps?.filter(\r\n (item: any) =>\r\n item.DocumentCode === TemplateId[i] ||\r\n item.TemplateId === Number(TemplateId[i])\r\n );\r\n arrayTemplate.push(dataFilter[0]);\r\n if (TemplateId.length - 1 === i) {\r\n _SelectFormEdit(arrayTemplate, _dataJSONParse);\r\n }\r\n }\r\n }\r\n }\r\n let _arrayItes: any = [];\r\n if (_dataFavoritesItem.length !== 0) {\r\n for (let i = 0; i < _dataFavoritesItem.length; i++) {\r\n const element = _dataFavoritesItem[i];\r\n let arrayDataReplace: any = [];\r\n if (element.FieldText && element.FieldText.length !== 0) {\r\n var _dataSplit = element.FieldText?.split(\"|\");\r\n for (let j = 0; j < _dataSplit.length; j++) {\r\n arrayDataReplace.push({\r\n FieldText: _dataSplit[j].replaceAll(\";\", \"\"),\r\n });\r\n }\r\n } else {\r\n element.FieldText = [];\r\n }\r\n element.FieldText = arrayDataReplace;\r\n }\r\n\r\n for (let i = 0; i < _dataJSONParse.length; i++) {\r\n const element = _dataJSONParse[i];\r\n for (let j = 0; j < _dataFavoritesItem.length; j++) {\r\n const _element = _dataFavoritesItem[j];\r\n if (element.key === _element.FieldCode) {\r\n _arrayItes.push(element);\r\n }\r\n }\r\n }\r\n setFilterValueSelected(_dataFavoritesItem);\r\n setSelectedField(_arrayItes);\r\n } else {\r\n setFilterValueSelected([]);\r\n setSelectedField([]);\r\n }\r\n }\r\n async function _save() {\r\n if (\r\n reportModel.TemplateId === undefined ||\r\n reportModel.TemplateId === null ||\r\n reportModel.TemplateId.length === 0 ||\r\n reportModel.Selectedfieldlist === undefined ||\r\n reportModel.Selectedfieldlist === null ||\r\n reportModel.Selectedfieldlist.length === 0 ||\r\n reportModel.Selectedfieldlist === \"[]\" ||\r\n reportModel.ReportName === undefined ||\r\n reportModel.ReportName === null ||\r\n reportModel.ReportName.length === 0 ||\r\n reportModel.ReportDescription === undefined ||\r\n reportModel.ReportDescription === null ||\r\n reportModel.ReportDescription.length === 0\r\n ) {\r\n setValidationForm((dataDF: any) => ({\r\n ...dataDF,\r\n TemplateIdValidation:\r\n reportModel.TemplateId === undefined ||\r\n reportModel.TemplateId === null ||\r\n reportModel.TemplateId.length === 0\r\n ? true\r\n : false,\r\n FieldCollectionValidation:\r\n reportModel.Selectedfieldlist === undefined ||\r\n reportModel.Selectedfieldlist === null ||\r\n reportModel.Selectedfieldlist.length === 0 ||\r\n reportModel.Selectedfieldlist === \"[]\"\r\n ? true\r\n : false,\r\n ReportNameValidation:\r\n reportModel.ReportName === undefined ||\r\n reportModel.ReportName === null ||\r\n reportModel.ReportName.length === 0\r\n ? true\r\n : false,\r\n ReportDescriptionValidation:\r\n reportModel.ReportDescription === undefined ||\r\n reportModel.ReportDescription === null ||\r\n reportModel.ReportDescription.length === 0\r\n ? true\r\n : false,\r\n }));\r\n } else {\r\n let objSave = {\r\n ...reportModel,\r\n Selectedfieldlistfilter:\r\n filterValueSelected.length !== 0\r\n ? filterValueSelected\r\n : // JSON.stringify(filterValueSelected)\r\n [],\r\n };\r\n objSave.Selectedfieldlist.map((data: any) => {\r\n data[\"value\"] = null;\r\n data.reportTemplateId = null;\r\n data.isChecked = \"1\";\r\n });\r\n\r\n if (objSave.Selectedfieldlistfilter.length !== 0) {\r\n for (let i = 0; i < objSave.Selectedfieldlistfilter.length; i++) {\r\n let _arrayName: any = [];\r\n const element = objSave.Selectedfieldlistfilter[i];\r\n // remove_character\r\n if (element.FieldText.length !== 0) {\r\n for (let j = 0; j < element.FieldText.length; j++) {\r\n const _element = element.FieldText[j];\r\n _arrayName.push(_element.FieldText + \";\");\r\n }\r\n objSave.Selectedfieldlistfilter[i].FieldText = _arrayName\r\n .toString()\r\n .replaceAll(\",\", \"|;\");\r\n } else {\r\n objSave.Selectedfieldlistfilter[i].FieldText = \"\";\r\n }\r\n if (objSave.Selectedfieldlistfilter[i].FieldText.length !== 0) {\r\n objSave.Selectedfieldlistfilter[i].FieldText = remove_character(\r\n objSave.Selectedfieldlistfilter[i].FieldText,\r\n objSave.Selectedfieldlistfilter[i].FieldText.length - 1\r\n );\r\n }\r\n }\r\n } else {\r\n objSave.Selectedfieldlistfilter = [];\r\n }\r\n\r\n try {\r\n if (props.editProps !== true) {\r\n let _AddReport = await AddReport(objSave);\r\n if (_AddReport) {\r\n Data();\r\n props.checkSetProps(false);\r\n props.setOnLoading(true);\r\n props.toggleDialog();\r\n }\r\n } else {\r\n let _UpdatrReport = await UpdateReport(objSave);\r\n console.log(\"_UpdatrReport\", _UpdatrReport);\r\n\r\n if (_UpdatrReport) {\r\n Data();\r\n props.checkSetProps(false);\r\n props.setOnLoading(true);\r\n props.setEditReportProps([]);\r\n\r\n props.toggleDialog();\r\n }\r\n }\r\n } catch (error) {}\r\n }\r\n }\r\n const searchTextEnter = (event: any, key: any, rowData: any) => {\r\n if (event.length < 1) return;\r\n let _rowData: any = rowData;\r\n let _filterValueSelected = filterValueSelected;\r\n _rowData.FieldText.push({ FieldText: event });\r\n console.log(\"FilterValueSelected\", filterValueSelected, _rowData);\r\n _filterValueSelected.map((_data: any) => {\r\n if (_data.FieldCode === rowData.FieldCode) {\r\n _data.FieldText = _rowData.FieldText;\r\n }\r\n });\r\n\r\n setFilterValueSelected([..._filterValueSelected]);\r\n };\r\n function remove_character(str: any, char_pos: any) {\r\n let part1 = str.substring(0, char_pos);\r\n let part2 = str.substring(char_pos + 1, str.length);\r\n return part1 + part2;\r\n }\r\n const footer = (\r\n <>\r\n
\r\n \r\n }\r\n onClickProps={() => {\r\n Data();\r\n if (props.editProps === true) {\r\n props.setEditReportProps([]);\r\n }\r\n props.toggleDialog();\r\n }}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n\r\n }\r\n onClickProps={() => {\r\n // props.setOnLoading(true);\r\n _save();\r\n }}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n \r\n );\r\n async function _fechData() {\r\n try {\r\n // const _employee = await GetAllEmployee();\r\n // let _employee: any = [];\r\n const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n CreateBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n }));\r\n setRoleData(roles);\r\n // setEmployee(_employee);\r\n // setSearchData(_employee);\r\n } catch (error) {\r\n console.log(\"report=>error\", error);\r\n }\r\n }\r\n\r\n const onRowReorder = (e: any) => {\r\n // setTemplateFieldMulti(e.value);\r\n _SelectFliedMulti(e.value);\r\n };\r\n const onRowReorderFilter = (e: any) => {\r\n setFilterValueSelected(e.value);\r\n };\r\n const onTemplateMode = (e: any) => {\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Mode: e.Mode === \"Schedule Mode\" ? true : false,\r\n }));\r\n setTemplateMode(e);\r\n };\r\n const onChangeReportName = (e: any, key: any) => {\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: e,\r\n }));\r\n };\r\n function onChangeDropdownSelectForm(e: any, editReport?: any) {\r\n let _dataFilter: any;\r\n let _dataArrya: any = [];\r\n\r\n let dataFilterValueSelected: any = filterValueSelected;\r\n\r\n e.map((_data: any) => {\r\n const characteristics = Object.entries(_data).map((key, i) => {\r\n console.log(\"key\", key);\r\n });\r\n console.log(\"_________________________________________________________\");\r\n console.log(\"FilterValueSelected\", filterValueSelected);\r\n\r\n console.log(\"_________________________________________________________\");\r\n let _objJson = {\r\n ID: 0,\r\n FieldCode: _data.key,\r\n FieldDisplay: _data.label,\r\n IsExcludeBlankData: true,\r\n FieldType: _data.type,\r\n IsEquals: false,\r\n FieldText: [],\r\n FieldTextFrom: null,\r\n FieldTextTo: null,\r\n FieldBit: null,\r\n FieldTypeFilterStatic: _data.FieldTypeFilterStatic,\r\n FieldTypeFilterDynamic: _data.FieldTypeFilterDynamic,\r\n IsTodayFrom: false,\r\n IsTodayTo: false,\r\n FilterParameter: \"\",\r\n indexHideColumn: null,\r\n SecretId: null,\r\n };\r\n if (dataFilterValueSelected.length !== 0) {\r\n let FilterValueSelected = dataFilterValueSelected.filter(\r\n (item: any) => item.FieldCode === _objJson.FieldCode\r\n );\r\n if (FilterValueSelected.length === 0) {\r\n dataFilterValueSelected.push(_objJson);\r\n } else {\r\n for (let i = 0; i < dataFilterValueSelected.length; i++) {\r\n const filter = dataFilterValueSelected[i];\r\n if (filter.FieldCode === FilterValueSelected[0].FieldCode) {\r\n dataFilterValueSelected[i] = filter;\r\n }\r\n }\r\n }\r\n } else {\r\n dataFilterValueSelected.push(_objJson);\r\n }\r\n onChangeFilterValue(dataFilterValueSelected);\r\n\r\n setFilterValueSelected([...dataFilterValueSelected]);\r\n });\r\n\r\n if (e.length !== filterValueSelected.length) {\r\n e.map((_data: any) => {\r\n _dataFilter = filterValueSelected.filter(\r\n (item: any) => _data.key === item.FieldCode\r\n );\r\n if (_dataFilter.length !== 0) {\r\n _dataArrya.push(_dataFilter[0]);\r\n }\r\n });\r\n console.log(\"dataFilterValueSelected\", _dataArrya);\r\n setFilterValueSelected([..._dataArrya]);\r\n }\r\n console.log(\"eeeeeeeeeeeeeeeeeeeee\", e);\r\n // selectedField\r\n // if (_dataArrya.length !== 0) {\r\n // let _arrayElement: any = [];\r\n // for (let i = 0; i < _dataArrya.length; i++) {\r\n // const element = _dataArrya[i];\r\n // for (let j = 0; j < e.length; j++) {\r\n // const _element = e[j];\r\n // if (element.key === _element.key) {\r\n // _arrayElement.push(element);\r\n // }\r\n // }\r\n // }\r\n // setSelectedField(_arrayElement);\r\n // } else {\r\n // setSelectedField([]);\r\n // }\r\n setSelectedField(e);\r\n }\r\n function onChangeFilterValue(e: any) {\r\n setFilterValue(e);\r\n }\r\n\r\n function onChangeFilterNo(e: any) {}\r\n\r\n function onChangeGroupData(e: any, key: any) {\r\n if (key !== undefined && key !== null) {\r\n let _FilterValueSelected = templateFieldMulti;\r\n for (let i = 0; i < _FilterValueSelected.length; i++) {\r\n const allFilter = _FilterValueSelected[i];\r\n _FilterValueSelected[i][key] = null;\r\n }\r\n for (let i = 0; i < _FilterValueSelected.length; i++) {\r\n const allFilter = _FilterValueSelected[i];\r\n for (let j = 0; j < e.length; j++) {\r\n const valueSelected = e[j];\r\n console.log(\"allFilter\", allFilter);\r\n console.log(\"allFilter\", valueSelected);\r\n\r\n if (allFilter?.key === valueSelected?.key) {\r\n _FilterValueSelected[i][key] = \"1\";\r\n }\r\n }\r\n }\r\n\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Selectedfieldlist: [..._FilterValueSelected],\r\n }));\r\n setTemplateFieldMulti([..._FilterValueSelected]);\r\n if (key === \"indexGroupBy\") {\r\n setGroupData(e);\r\n }\r\n if (key === \"indexOrderBy\") {\r\n setIndexOrderBy(e);\r\n }\r\n if (key === \"indexHideColumn\") {\r\n setIndexHideColumn(e);\r\n }\r\n if (key === \"indexSortingBy\") {\r\n setIndexSortingBy(e);\r\n }\r\n }\r\n }\r\n function onChangeDropdownfilterValue(e: any, data: any) {\r\n let _FilterValueSelected = filterValueSelected;\r\n let _dataFilter = _FilterValueSelected.filter(\r\n (item: any) => item.FieldCode === e.FieldCode\r\n );\r\n if (_dataFilter.length !== 0) {\r\n for (let index = 0; index < _FilterValueSelected.length; index++) {\r\n const element = _FilterValueSelected[index].FieldCode;\r\n if (_dataFilter[0].FieldCode === element) {\r\n _FilterValueSelected[index] = {\r\n ..._dataFilter[0],\r\n\r\n FilterParameter:\r\n data.Filter === \"Contains\"\r\n ? \"Like\"\r\n : data.Filter === \"Not Contains\"\r\n ? \"Not Like\"\r\n : data.Filter,\r\n };\r\n }\r\n }\r\n }\r\n console.log(\"_FilterValueSelected\", _FilterValueSelected);\r\n\r\n setFilterValueSelected([..._FilterValueSelected]);\r\n setDropdownfilterValue(data);\r\n }\r\n function addTemplateKey() {\r\n try {\r\n let _TemplateKey = props.templateDataProps;\r\n let _TemplateKeyArray: any = [];\r\n _TemplateKey?.map((_data: any) => {\r\n _TemplateKeyArray.push({\r\n ..._data,\r\n TemplateKey: _data.TemplateNameWithCode,\r\n });\r\n });\r\n console.log(\"_TemplateKeyArray\", _TemplateKeyArray);\r\n\r\n setTemplateKey(_TemplateKeyArray);\r\n } catch (error) {}\r\n\r\n // + \"(\" + _data.TemplateId + \")\",\r\n }\r\n async function _RadioButtonFormType(data: any, key: any, rowData: any) {\r\n let _FilterValueSelected = filterValueSelected;\r\n if (key !== \"Private\" && key !== \"Public\") {\r\n let _dataFilter = _FilterValueSelected.filter(\r\n (item: any) => item.FieldCode === rowData.FieldCode\r\n );\r\n if (_dataFilter.length !== 0) {\r\n for (let index = 0; index < _FilterValueSelected.length; index++) {\r\n const element = _FilterValueSelected[index].FieldCode;\r\n if (_dataFilter[0].FieldCode === element) {\r\n _FilterValueSelected[index] = {\r\n ..._dataFilter[0],\r\n\r\n [key]: data,\r\n };\r\n }\r\n }\r\n }\r\n\r\n setFilterValueSelected([..._FilterValueSelected]);\r\n if (key === \"IsTodayFrom\") {\r\n setRadioButtonCheckFrom(data);\r\n } else {\r\n setRadioButtonCheckToday(data);\r\n }\r\n }\r\n if (key === \"Private\" || key === \"Public\") {\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n IsPrivate: data,\r\n }));\r\n\r\n setRadioButtonCheck(data);\r\n }\r\n }\r\n async function _SelectFormEdit(e: any, _dataJSONParse: any) {\r\n let arrayTemplate: any = [];\r\n console.log(\"eeeeeeee\", e);\r\n\r\n setTemplateMulti(e);\r\n\r\n _SelectFliedEdit(e, _dataJSONParse);\r\n _SelectFliedMulti(_dataJSONParse);\r\n }\r\n async function _SelectForm(e: any) {\r\n let arrayTemplate: any = [];\r\n console.log(\"eeeeeeeeeeeeeeeeeeee\", e);\r\n if (e) {\r\n e.map((data: any) => {\r\n arrayTemplate.push(data.DocumentCode);\r\n });\r\n\r\n setTemplateMulti(e);\r\n\r\n _SelectFlied(e);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n TemplateId: arrayTemplate.toString().replaceAll(\",\", \"|\"),\r\n }));\r\n } else {\r\n setTemplateMulti([]);\r\n\r\n _SelectFlied([]);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n TemplateId: \"\",\r\n }));\r\n }\r\n }\r\n function _CalendarDate(e: any, rowdata: any, key: any) {\r\n console.log(\"rowdata\", rowdata);\r\n console.log(\"e\", e);\r\n\r\n let _FilterValueSelected = filterValueSelected;\r\n let _dataFilter = _FilterValueSelected.filter(\r\n (item: any) => item.FieldCode === rowdata.FieldCode\r\n );\r\n\r\n let _DateTime: any = formatDateTime(e);\r\n if (_dataFilter.length !== 0) {\r\n for (let index = 0; index < _FilterValueSelected.length; index++) {\r\n const element = _FilterValueSelected[index].FieldCode;\r\n if (_dataFilter[0].FieldCode === element) {\r\n _FilterValueSelected[index] = {\r\n ..._dataFilter[0],\r\n [key]: _DateTime,\r\n };\r\n }\r\n }\r\n }\r\n\r\n setFilterValueSelected([..._FilterValueSelected]);\r\n }\r\n const formatDateTime = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD/MM/yyyy\");\r\n return NewDate;\r\n } else {\r\n const NewDate = \"\";\r\n return NewDate;\r\n }\r\n };\r\n async function _SelectFliedMulti(edit: any) {\r\n let arrayPush: any = [];\r\n if (edit) {\r\n for (let i = 0; i < edit.length; i++) {\r\n const element = edit[i];\r\n for (let j = 0; j < filterValueSelected.length; j++) {\r\n const _element = filterValueSelected[j];\r\n\r\n if (element.key === _element.FieldCode) {\r\n arrayPush.push(_element);\r\n }\r\n }\r\n }\r\n let arraySelected: any = [];\r\n if (arrayPush.length !== 0) {\r\n for (let i = 0; i < arrayPush.length; i++) {\r\n const element = arrayPush[i];\r\n for (let j = 0; j < selectedField.length; j++) {\r\n const _element = selectedField[j];\r\n if (element.FieldCode === _element.key) {\r\n arraySelected.push(_element);\r\n }\r\n }\r\n }\r\n setSelectedField(arraySelected);\r\n } else {\r\n setSelectedField([]);\r\n }\r\n // filterValueSelected\r\n // onChangeDropdownSelectForm(edit);\r\n setFilterValueSelected(arrayPush);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Selectedfieldlist: edit,\r\n }));\r\n\r\n setTemplateFieldMulti(edit);\r\n } else {\r\n setSelectedField([]);\r\n\r\n setFilterValueSelected(arrayPush);\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n Selectedfieldlist: [],\r\n }));\r\n\r\n setTemplateFieldMulti([]);\r\n }\r\n }\r\n async function showModal(key: any) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(!isDialogVisible);\r\n setKeyAutoComplete(key);\r\n\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n if (tableLoading) {\r\n let _employee = await GetAllEmployee(req);\r\n setEmployee(_employee);\r\n setSearchData(_employee);\r\n setTableLoading(!tableLoading);\r\n }\r\n }\r\n async function _SelectFliedEdit(e: any, edit: any) {\r\n let arrayFlied: any = [];\r\n let arrayFliedTest: any = [];\r\n let arrayFliedId: any = [];\r\n let _selectFliedData = e;\r\n console.log(\"e\", e);\r\n\r\n // if (edit !== undefined && edit.length !== 0) {\r\n // onChangeFilterValue(edit);\r\n // }\r\n for (let i = 0; i < _selectFliedData.length; i++) {\r\n const element = _selectFliedData[i];\r\n arrayFliedId.push(_selectFliedData[i]?.TemplateId.toString());\r\n }\r\n\r\n let replaceString = arrayFliedId.toString().replaceAll(\",\", \"|\");\r\n console.log(\"replaceString\", replaceString);\r\n\r\n let _objJson = {\r\n TemplateID: replaceString,\r\n Templateversion: \"0\",\r\n ReporttemplateID: null,\r\n };\r\n\r\n if (_selectFliedData.length !== 0) {\r\n let _templateSelect: any = await ReportListTemplateSelect(_objJson);\r\n let _SelectedfieldlistAll = _templateSelect.SelectedfieldlistAll;\r\n\r\n for (let i = 0; i < _SelectedfieldlistAll.length; i++) {\r\n const element = _SelectedfieldlistAll[i];\r\n\r\n delete _SelectedfieldlistAll[i][\"value\"];\r\n arrayFliedTest.push(_SelectedfieldlistAll[i]);\r\n }\r\n console.log(\"arrayFliedTest\", arrayFliedTest);\r\n console.log(\"arrayFliedTest\", edit);\r\n for (let inx = 0; inx < edit.length; inx++) {\r\n const element = edit[inx];\r\n\r\n // for (let j = 0; j < arrayFliedTest.length; j++) {\r\n // const _element = arrayFliedTest[j];\r\n\r\n // if (element.key === _element.key) {\r\n // console.log(\"element____________\", element);\r\n // // arrayFliedTest.push(element);\r\n // }\r\n // }\r\n let _dataFilter = arrayFliedTest.filter(\r\n (item: any) => element.key === item.key\r\n );\r\n if (_dataFilter.length === 0) {\r\n arrayFliedTest.push(element);\r\n }\r\n console.log(\"_dataFilter\", _dataFilter, element);\r\n\r\n // if (_dataFilter.length !== 0) {\r\n // console.log(\"_dataFilter\", _dataFilter);\r\n // }\r\n }\r\n setTemplateField(arrayFliedTest);\r\n // setSelectedField(selectedField);\r\n } else {\r\n setTemplateField([]);\r\n }\r\n let arrayFieldMulti: any = [];\r\n if (templateFieldMulti.length !== 0) {\r\n for (let i = 0; i < templateFieldMulti.length; i++) {\r\n if (arrayFliedTest.length !== 0) {\r\n let arrayFliedFliter = arrayFliedTest.filter(\r\n (_item: any) => templateFieldMulti[i].label === _item.label\r\n );\r\n if (arrayFliedFliter.length !== 0) {\r\n arrayFieldMulti.push(arrayFliedFliter[0]);\r\n }\r\n }\r\n }\r\n console.log(\"arrayFieldMulti\", arrayFieldMulti);\r\n\r\n setTemplateFieldMulti(arrayFieldMulti);\r\n if (arrayFieldMulti.length === 0) {\r\n setFilterValueSelected([]);\r\n console.log(\"selectedFieldzzzzzzzzzzzzz\", selectedField);\r\n } else {\r\n let _arraykey: any = [];\r\n for (let i = 0; i < arrayFieldMulti.length; i++) {\r\n const element = arrayFieldMulti[i];\r\n for (let j = 0; j < selectedField.length; j++) {\r\n const _element = selectedField[j];\r\n if (element.key === _element.key) {\r\n _arraykey.push(_element);\r\n }\r\n }\r\n }\r\n console.log(\"_arraykey\", _arraykey);\r\n\r\n setFilterValueSelected(_arraykey);\r\n }\r\n }\r\n }\r\n async function _SelectFlied(e: any) {\r\n let arrayFlied: any = [];\r\n let arrayFliedTest: any = [];\r\n let arrayFliedId: any = [];\r\n let _selectFliedData = e;\r\n console.log(\"e\", e);\r\n\r\n // if (edit !== undefined && edit.length !== 0) {\r\n // onChangeFilterValue(edit);\r\n // }\r\n for (let i = 0; i < _selectFliedData.length; i++) {\r\n const element = _selectFliedData[i];\r\n arrayFliedId.push(_selectFliedData[i].TemplateId.toString());\r\n }\r\n\r\n let replaceString = arrayFliedId.toString().replaceAll(\",\", \"|\");\r\n console.log(\"replaceString\", replaceString);\r\n\r\n let _objJson = {\r\n TemplateID: replaceString,\r\n Templateversion: \"0\",\r\n ReporttemplateID: null,\r\n };\r\n\r\n if (_selectFliedData.length !== 0) {\r\n let _templateSelect: any = await ReportListTemplateSelect(_objJson);\r\n let _SelectedfieldlistAll = _templateSelect.SelectedfieldlistAll;\r\n\r\n for (let i = 0; i < _SelectedfieldlistAll.length; i++) {\r\n const element = _SelectedfieldlistAll[i];\r\n\r\n delete _SelectedfieldlistAll[i][\"value\"];\r\n arrayFliedTest.push(_SelectedfieldlistAll[i]);\r\n }\r\n console.log(\r\n \"arrayFliedTest_templateSelect_templateSelect\",\r\n arrayFliedTest,\r\n _templateSelect\r\n );\r\n\r\n setTemplateField(arrayFliedTest);\r\n // setSelectedField(selectedField);\r\n } else {\r\n setTemplateField([]);\r\n }\r\n let arrayFieldMulti: any = [];\r\n if (templateFieldMulti.length !== 0) {\r\n for (let i = 0; i < templateFieldMulti.length; i++) {\r\n if (arrayFliedTest.length !== 0) {\r\n let arrayFliedFliter = arrayFliedTest.filter(\r\n (_item: any) => templateFieldMulti[i].label === _item.label\r\n );\r\n if (arrayFliedFliter.length !== 0) {\r\n arrayFieldMulti.push(arrayFliedFliter[0]);\r\n }\r\n }\r\n }\r\n\r\n setTemplateFieldMulti(arrayFieldMulti);\r\n if (arrayFieldMulti.length === 0) {\r\n setFilterValueSelected([]);\r\n console.log(\"selectedFieldzzzzzzzzzzzzz\", selectedField);\r\n } else {\r\n let _arraykey: any = [];\r\n for (let i = 0; i < arrayFieldMulti.length; i++) {\r\n const element = arrayFieldMulti[i];\r\n for (let j = 0; j < selectedField.length; j++) {\r\n const _element = selectedField[j];\r\n if (element.key === _element.key) {\r\n _arraykey.push(_element);\r\n }\r\n }\r\n }\r\n console.log(\"_arraykey\", _arraykey);\r\n\r\n setFilterValueSelected(_arraykey);\r\n }\r\n }\r\n\r\n // selectedField\r\n console.log(\r\n \"selectedFieldjjjjjjjjjjjjjjjj\",\r\n selectedField,\r\n arrayFieldMulti\r\n );\r\n // console.log(\"selectedField\",selectedField);\r\n let _arrayKey: any = [];\r\n for (let i = 0; i < selectedField.length; i++) {\r\n const element = selectedField[i];\r\n for (let j = 0; j < arrayFieldMulti.length; j++) {\r\n const _element = arrayFieldMulti[j];\r\n if (element.key === _element.key) {\r\n _arrayKey.push(element);\r\n }\r\n }\r\n }\r\n\r\n setSelectedField(_arrayKey);\r\n _SelectFliedMulti(_arrayKey);\r\n }\r\n\r\n function _AutoComplete(data: any, key: any) {\r\n let _dataName: any = [];\r\n if (key === \"RoleEmp\") {\r\n data.map((_data: any) => {\r\n _dataName.push(_data.EmployeeId);\r\n });\r\n setEmployeeRequest(data);\r\n }\r\n if (key === \"RoleId\") {\r\n data.map((_data: any) => {\r\n _dataName.push(_data.RoleId);\r\n });\r\n setGroup(data);\r\n }\r\n setReportModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: _dataName.toString(),\r\n }));\r\n }\r\n const _AutoCompleteText = (data: any, key: any, rowData: any) => {\r\n let _filterValueSelected = filterValueSelected;\r\n\r\n for (let i = 0; i < _filterValueSelected.length; i++) {\r\n const element = _filterValueSelected[i];\r\n if (rowData.FieldCode === element.FieldCode) {\r\n rowData.FieldText = [];\r\n\r\n _filterValueSelected[i].FieldText = data;\r\n }\r\n }\r\n setFilterValueSelected([..._filterValueSelected]);\r\n };\r\n return (\r\n <>\r\n {\r\n Data();\r\n if (props.editProps === true) {\r\n props.setEditReportProps([]);\r\n }\r\n props.toggleDialog();\r\n }}\r\n breakpoints={{ \"1348px\": \"75vw\" }}\r\n onClick={() => {\r\n console.log(\r\n \"reportModelreportModelreportModelreportModel\",\r\n reportModel,\r\n validationForm\r\n );\r\n }}\r\n className=\"header-text\"\r\n >\r\n \r\n
\r\n \r\n \r\n

\r\n {textHeader}\r\n

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

\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n _SelectForm(e.value);\r\n }}\r\n optionLabel=\"TemplateKey\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n className={\r\n validationForm.TemplateIdValidation === true\r\n ? templateMulti.length !== 0\r\n ? \"\"\r\n : \"Validation\"\r\n : \"\"\r\n }\r\n filter\r\n resetFilterOnHide\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n onTemplateMode(e.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 _SelectFliedMulti(e.value);\r\n }}\r\n dataKey=\"key\"\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n className={\r\n validationForm.FieldCollectionValidation === true\r\n ? templateFieldMulti.length !== 0\r\n ? \"\"\r\n : \"Validation\"\r\n : \"\"\r\n }\r\n filter\r\n resetFilterOnHide\r\n showClear\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n

Selected Field

\r\n
\r\n
\r\n (\r\n \r\n onChangeDropdownSelectForm(e.value)\r\n }\r\n responsiveLayout=\"scroll\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n size=\"small\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"label\"\r\n style={{ flexGrow: 1, flexBasis: \"500px\" }}\r\n >\r\n \r\n \r\n Width\r\n

\r\n \r\n }\r\n field=\"width\"\r\n body={(rowData, options) => {\r\n return (\r\n {\r\n _SelectFliedMulti(\r\n templateFieldMulti.map((field: any) => {\r\n if (field.label === rowData.label) {\r\n field.width = e;\r\n }\r\n return field;\r\n })\r\n );\r\n }}\r\n />\r\n );\r\n }}\r\n style={{ flexGrow: 1, flexBasis: \"500px\" }}\r\n >\r\n \r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n\r\n \r\n {selectedField.length !== 0 &&\r\n filterValueSelected.length !== 0 && (\r\n <>\r\n
\r\n
\r\n

Filter Value

\r\n
\r\n \r\n (\r\n \r\n onChangeFilterValue(e.value)\r\n }\r\n size=\"small\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"FieldDisplay\"\r\n style={{ flexGrow: 1, flexBasis: \"110px\" }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n return (\r\n <>\r\n {filterValueSelected !== undefined ? (\r\n filterValueSelected.length !== 0 ? (\r\n filterValueSelected.map(\r\n (data: any) => {\r\n let dateFormat: any =\r\n rowData.FieldTextFrom !==\r\n undefined &&\r\n rowData.FieldTextFrom !==\r\n null &&\r\n rowData.FieldTextFrom\r\n .length !== 0\r\n ? moment(\r\n moment(\r\n formatDate(\r\n rowData.FieldTextFrom\r\n )\r\n ).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate()\r\n : \"\";\r\n\r\n if (\r\n data.FieldCode ===\r\n rowData.FieldCode\r\n ) {\r\n return (\r\n <>\r\n

\r\n {\"From(\"}\r\n \r\n _RadioButtonFormType(\r\n e,\r\n \"IsTodayFrom\",\r\n rowData\r\n )\r\n }\r\n checkedProps={\r\n rowData.IsTodayFrom ===\r\n true\r\n }\r\n labelProps={\"\"}\r\n keyProps={\"From\"}\r\n />\r\n {\"Today\"} {\")\"}\r\n

\r\n \r\n _CalendarDate(\r\n e.value,\r\n rowData,\r\n \"FieldTextFrom\"\r\n )\r\n }\r\n style={{\r\n marginBottom: \"1em\",\r\n }}\r\n inputStyle={{\r\n borderRadius: \"6px\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n }}\r\n showButtonBar\r\n value={dateFormat}\r\n dateFormat={\"dd M yy\"}\r\n readOnlyInput\r\n />\r\n \r\n );\r\n }\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 _dataFilter: any = [];\r\n if (filterValueSelected.length !== 0) {\r\n _dataFilter = filterValueSelected.filter(\r\n (item: any) =>\r\n rowData.FieldCode === item.FieldCode\r\n );\r\n }\r\n if (\r\n rowData.FieldTypeFilterDynamic !== \"d\" &&\r\n rowData.FieldTypeFilterStatic !== \"Datetime\"\r\n ) {\r\n return (\r\n <>\r\n {\r\n onChangeDropdownfilterValue(\r\n rowData,\r\n e.value\r\n );\r\n }}\r\n />\r\n \r\n );\r\n }\r\n }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n return (\r\n <>\r\n {filterValueSelected !== undefined ? (\r\n filterValueSelected.length !== 0 ? (\r\n filterValueSelected.map(\r\n (data: any) => {\r\n let dateFormat: any =\r\n rowData.FieldTextTo !==\r\n undefined &&\r\n rowData.FieldTextTo !==\r\n null &&\r\n rowData.FieldTextTo.length !==\r\n 0\r\n ? moment(\r\n moment(\r\n formatDate(\r\n rowData.FieldTextTo\r\n )\r\n ).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate()\r\n : \"\";\r\n\r\n if (\r\n data.FieldCode ===\r\n rowData.FieldCode\r\n ) {\r\n return (\r\n <>\r\n

\r\n To (\r\n \r\n _RadioButtonFormType(\r\n e,\r\n \"IsTodayTo\",\r\n rowData\r\n )\r\n }\r\n checkedProps={\r\n rowData.IsTodayTo ===\r\n true\r\n }\r\n keyProps={\"Today\"}\r\n labelProps={\"\"}\r\n />\r\n Today )\r\n

\r\n \r\n _CalendarDate(\r\n e.value,\r\n rowData,\r\n \"FieldTextTo\"\r\n )\r\n }\r\n inputStyle={{\r\n borderRadius: \"6px\",\r\n height: \"38px\",\r\n }}\r\n showButtonBar\r\n value={dateFormat}\r\n dateFormat={\"dd M yy\"}\r\n readOnlyInput\r\n />\r\n \r\n );\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 return (\r\n <>\r\n {filterValueSelected !== undefined ? (\r\n filterValueSelected.length !== 0 ? (\r\n filterValueSelected.map(\r\n (data: any) => {\r\n if (\r\n data.FieldCode ===\r\n rowData.FieldCode\r\n ) {\r\n console.log(\r\n \"rowDatarowDatarowData\",\r\n rowData.FieldText\r\n );\r\n\r\n return (\r\n <>\r\n \r\n _AutoCompleteText(\r\n e,\r\n \"FieldText\",\r\n rowData\r\n )\r\n }\r\n onBlur={(e: any) =>\r\n searchTextEnter(\r\n e,\r\n \"FieldText\",\r\n rowData\r\n )\r\n }\r\n valueProps={\r\n rowData.FieldText !==\r\n undefined &&\r\n rowData.FieldText\r\n .length !== 0 &&\r\n typeof rowData.FieldText ===\r\n \"object\"\r\n ? rowData.FieldText\r\n : []\r\n }\r\n keyProps={\"FieldText\"}\r\n styleProps={{\r\n height:\r\n rowData?.FieldText !==\r\n undefined\r\n ? rowData\r\n ?.FieldText\r\n .length === 0\r\n ? \"38px\"\r\n : \"100%\"\r\n : \"38px\",\r\n width: \"100%\",\r\n borderRadius:\r\n \"6px 6px 6px 6px\",\r\n }}\r\n onKeyPress={(e: any) =>\r\n searchTextEnter(\r\n e,\r\n \"FieldText\",\r\n rowData\r\n )\r\n }\r\n />\r\n\r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n )\r\n ) : (\r\n <>\r\n )\r\n ) : (\r\n <>\r\n )}\r\n \r\n );\r\n\r\n // <>\r\n // \r\n // \r\n // );\r\n }\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n
\r\n \r\n \r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n onChangeReportName(e.target.value, \"ReportName\")\r\n }\r\n className={\r\n validationForm.ReportNameValidation === true\r\n ? reportModel.ReportName !== undefined &&\r\n reportModel.ReportName !== null &&\r\n reportModel.ReportName.length !== 0\r\n ? \"report-input\"\r\n : \"Validation report-input\"\r\n : \"report-input\"\r\n }\r\n value={reportModel.ReportName}\r\n // onFocus={true}\r\n // Foc\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n \r\n onChangeReportName(e.target.value, \"ReportDescription\")\r\n }\r\n className={\r\n validationForm.ReportDescriptionValidation === true\r\n ? reportModel.ReportDescription !== undefined &&\r\n reportModel.ReportDescription !== null &&\r\n reportModel.ReportDescription.length !== 0\r\n ? \"report-input\"\r\n : \"Validation report-input\"\r\n : \"report-input\"\r\n }\r\n value={reportModel.ReportDescription}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n <>\r\n {\r\n onChangeGroupData(e.value, \"indexGroupBy\");\r\n }}\r\n />\r\n\r\n \r\n \r\n )}\r\n />\r\n \r\n\r\n \r\n (\r\n <>\r\n {\r\n onChangeGroupData(e.value, \"indexOrderBy\");\r\n }}\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n\r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n <>\r\n {\r\n onChangeGroupData(e.value, \"indexHideColumn\");\r\n }}\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"95% \", fontSize: \"13px\" }}\r\n />\r\n\r\n \r\n \r\n )}\r\n />\r\n \r\n\r\n \r\n (\r\n <>\r\n {\r\n onChangeGroupData(e.value, \"indexSortingBy\");\r\n }}\r\n optionLabel=\"label\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n\r\n \r\n \r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n

\r\n Edit User Permission / แก้ไขสิทธิ์\r\n

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

\r\n \r\n \r\n \r\n \r\n \r\n (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n showModal(\"RoleEmp\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height:\r\n employeeRequest === undefined ||\r\n employeeRequest === null\r\n ? \"38px\"\r\n : employeeRequest.length !== 0\r\n ? \"100%\"\r\n : \"38px\",\r\n }}\r\n />\r\n
\r\n\r\n {/*

Validation Employee (s)

*/}\r\n \r\n )}\r\n />\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n _AutoComplete(e.value, \"RoleId\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n filter\r\n showClear\r\n resetFilterOnHide\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {\r\n try {\r\n let dataSelectEmployee: any[] = [];\r\n if (employeeRequest) {\r\n dataSelectEmployee = [...employeeRequest];\r\n }\r\n const datafilterEmployee = dataSelectEmployee.filter(\r\n (_data: any) =>\r\n _data.NameEn === rowData.NameEn ||\r\n _data.NameTh === rowData.NameTh\r\n );\r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(rowData);\r\n }\r\n\r\n _AutoComplete(dataSelectEmployee, keyAutoComplete);\r\n setDialogVisible(false);\r\n } catch (error) {\r\n console.log(\"report=>error\", error);\r\n }\r\n }}\r\n columns={[\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ]}\r\n dialogVisible={isDialogVisible}\r\n setDialogVisible={setDialogVisible}\r\n />\r\n {/* */}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport \"../../components/ErrorPageComponent/ErrorPageComponent.css\";\r\ntype Props = {};\r\n\r\nconst UnAurthorization = (props: Props) => {\r\n const history = useHistory();\r\n return (\r\n
\r\n
\r\n
\r\n {/*

404

*/}\r\n

Access denied!

\r\n

\r\n You do not have permission to perform access this resource. Please\r\n check your profile with system admin again.\r\n

\r\n
\r\n history.push(\"/Default\")}\r\n >\r\n Go back\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default UnAurthorization;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport UnAurthorization from \"../../screens/UnAuthorizePage/UnAurthorization\";\r\nimport { GetNavbarMenu } from \"../../Services/NavBarMenuService\";\r\nconst withPerMission =\r\n (Component: any) =>\r\n ({ ...props }) => {\r\n const [isAuthorize, setIsAuthorizeo] = useState(false);\r\n const [onLoading, setOnLoading] = useState(true);\r\n const history = useHistory();\r\n const location = useLocation();\r\n const isAdmin =\r\n window.localStorage.getItem(\"isAdmin\") === \"true\" ? true : false;\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\"));\r\n const query = new URLSearchParams(useLocation().search);\r\n\r\n useEffect(() => {\r\n const fetchNav = async () => {\r\n const menus = await GetNavbarMenu(empData?.employeeData?.Email);\r\n const _query = query.get(\"name\") || \"\";\r\n\r\n let _isAuthorize: boolean = isAuthorize;\r\n for (let i = 0; i < menus.length; i++) {\r\n const menu = menus[i];\r\n\r\n if (\r\n menu?.Url?.toLowerCase() === location.pathname?.toLowerCase() ||\r\n menu?.Url?.toLowerCase() === `/${_query?.toLowerCase()}` ||\r\n location?.pathname\r\n ?.toLowerCase()\r\n .includes(menu?.Url?.toLowerCase()) ||\r\n isAdmin\r\n ) {\r\n _isAuthorize = true;\r\n }\r\n }\r\n setOnLoading(false);\r\n setIsAuthorizeo(_isAuthorize);\r\n };\r\n fetchNav();\r\n }, [query]);\r\n\r\n return onLoading ? (\r\n
\r\n ) : isAuthorize ? (\r\n \r\n ) : (\r\n \r\n );\r\n };\r\nexport default withPerMission;\r\n","import moment from \"moment\";\r\nimport { GetAllDynamic, updateDynamic } from \"../Services/DynamicService\";\r\n\r\nexport const exportExcel = (\r\n columnHeader: { label: string; key: string }[],\r\n fileName: string,\r\n data: any[],\r\n setLoad?: (val: boolean) => void,\r\n) => {\r\n const excelData = data.map(item => {\r\n const rowData: any = {};\r\n columnHeader.forEach(({ label, key }) => {\r\n rowData[label] = item[key] || \"\";\r\n });\r\n return rowData;\r\n });\r\n \r\n import(\"xlsx\").then((xlsx: any) => {\r\n const worksheet = xlsx.utils.json_to_sheet(excelData);\r\n const workbook = { Sheets: { data: worksheet }, SheetNames: [\"data\"] };\r\n const excelBuffer = xlsx.write(workbook, {\r\n bookType: \"xlsx\",\r\n type: \"array\",\r\n });\r\n \r\n if (setLoad) {\r\n setLoad(true);\r\n }\r\n\r\n saveAsExcelFile(\r\n excelBuffer,\r\n fileName + \" : \" + moment(new Date()).format(\"DD MMM YYYY\")\r\n );\r\n\r\n if (setLoad) {\r\n setLoad(false);\r\n }\r\n });\r\n};\r\n\r\n\r\nconst formatDate = (value: any) => {\r\n if (value != \"\") {\r\n let someDateString = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy\");\r\n return NewDate;\r\n } else {\r\n return \"\";\r\n }\r\n};\r\n\r\nconst saveAsExcelFile = async (buffer: any, fileName: any) => {\r\n await import(\"file-saver\").then((FileSaver: any) => {\r\n let EXCEL_TYPE =\r\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8\";\r\n let EXCEL_EXTENSION = \".xlsx\";\r\n const data = new Blob([buffer], {\r\n type: EXCEL_TYPE,\r\n });\r\n\r\n FileSaver.saveAs(data, fileName + \"_export_\" + EXCEL_EXTENSION);\r\n });\r\n};\r\n\r\nexport const importExcel = async (e: any, apiName: string) => {\r\n try {\r\n const file = e.target.files[0];\r\n\r\n return import(\"xlsx\").then((xlsx) => {\r\n const reader = new FileReader();\r\n reader.onload = async (e: any) => {\r\n const wb = xlsx.read(e.target.result, { type: \"array\" });\r\n const wsname = wb.SheetNames[0];\r\n const ws = wb.Sheets[wsname];\r\n const data = xlsx.utils.sheet_to_json(ws, { header: 1 });\r\n const cols: any = data[0];\r\n data.shift();\r\n let _importedData = data.map((d: any) => {\r\n return cols.reduce((obj: any, c: any, i: any) => {\r\n obj[c] = d[i];\r\n return obj;\r\n }, {});\r\n });\r\n console.log(\"table=>_importedData\", _importedData);\r\n\r\n if (_importedData.length !== 0) {\r\n for (let i = 0; i < _importedData.length; i++) {\r\n const element = _importedData[i];\r\n var apiNamereplace = apiName?.replace(\"/GetAll\", \"\");\r\n let res = await updateDynamic(apiNamereplace, element);\r\n if (res.result === \"success\") {\r\n let _dataDynamic = await GetAllDynamic(apiName, undefined);\r\n return { respone: true, data: _dataDynamic };\r\n } else {\r\n return { respone: false };\r\n }\r\n }\r\n } else {\r\n return { respone: false };\r\n }\r\n };\r\n reader.readAsArrayBuffer(file);\r\n });\r\n } catch (error: any) {\r\n return { respone: false, data: error };\r\n }\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Checkbox, Divider, Input } from \"antd\";\r\nimport type { CheckboxChangeEvent } from \"antd/es/checkbox\";\r\nimport type { CheckboxValueType } from \"antd/es/checkbox/Group\";\r\nimport { FilterDropdownProps, FilterValue } from \"antd/lib/table/interface\";\r\nimport { ColumnsProps } from \"./DynamicTable\";\r\nconst CheckboxGroup = Checkbox.Group;\r\ntype Props = {\r\n colProp: ColumnsProps;\r\n columnLabel: string;\r\n option: any[];\r\n filterDropDownProps: FilterDropdownProps;\r\n filterState?: Record;\r\n dataSource: any[];\r\n allColumnProps: ColumnsProps[];\r\n};\r\n\r\nconst SearchTextInTable = ({\r\n colProp,\r\n columnLabel,\r\n filterDropDownProps,\r\n filterState,\r\n dataSource,\r\n allColumnProps,\r\n}: Props) => {\r\n const [checkedList, setCheckedList] = useState([]);\r\n const [checkAll, setCheckAll] = useState(true);\r\n const [searchValue, setSearchValue] = useState(\"\");\r\n const [columnOption, setColumnOption] = useState([]);\r\n\r\n useEffect(() => {\r\n const data = filterDataSource();\r\n if (data) {\r\n setCheckedList([...data]);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (checkedList.length === columnOption.length) {\r\n filterDropDownProps.setSelectedKeys([] as any);\r\n } else {\r\n filterDropDownProps.setSelectedKeys([...checkedList] as any);\r\n }\r\n }, [checkedList]);\r\n\r\n useEffect(() => {\r\n if (!filterDropDownProps.visible) return;\r\n setColumnOption(filterDataSource() ?? []);\r\n }, [filterDropDownProps.visible]);\r\n\r\n const filterDataSource = () => {\r\n if (filterState) {\r\n const filterKeys = Object.keys(filterState);\r\n const indexOfKey = filterKeys.indexOf(colProp.key);\r\n const columnPropsMap = new Map(\r\n allColumnProps.map((obj) => [obj.key, obj])\r\n );\r\n\r\n if (indexOfKey > 0) {\r\n const keysToConsider = filterKeys.slice(\r\n 0,\r\n filterKeys.indexOf(colProp.key)\r\n );\r\n const result = dataSource.filter((item) => {\r\n return keysToConsider.every((key) => {\r\n if (columnPropsMap.has(key)) {\r\n return matchesFilter(\r\n item,\r\n filterState[key],\r\n columnPropsMap.get(key)\r\n );\r\n }\r\n });\r\n });\r\n return Array.from(new Set(result.map((e) => e[colProp.key])));\r\n } else if (indexOfKey === -1) {\r\n const filteredResult = dataSource.filter((item) =>\r\n filterKeys.every((key) => {\r\n const columnProps = columnPropsMap.get(key);\r\n return columnProps\r\n ? matchesFilter(item, filterState[key], columnProps)\r\n : true;\r\n })\r\n );\r\n\r\n // Use a Map to track unique values for better performance\r\n const uniqueValues = new Map();\r\n filteredResult.forEach((item) => {\r\n const value = item[colProp.key];\r\n if (!uniqueValues.has(value)) {\r\n uniqueValues.set(value, value);\r\n }\r\n });\r\n const result = Array.from(uniqueValues.values());\r\n\r\n return result;\r\n } else {\r\n return Array.from(new Set(dataSource?.map((e) => e[colProp.key]))).map(\r\n (e) => {\r\n return e?.toString();\r\n }\r\n );\r\n }\r\n }\r\n };\r\n\r\n const matchesFilter = (\r\n item: { [x: string]: any },\r\n filterValue: string | any[] | null,\r\n ColumnsProp?: ColumnsProps\r\n ) => {\r\n if (!ColumnsProp) return;\r\n const key = ColumnsProp.key;\r\n if (filterValue === null) {\r\n return true;\r\n }\r\n if (typeof item[key] === \"boolean\" && filterValue.length > 0) {\r\n const isActiveValue = filterValue[0] === \"true\";\r\n return item[key] === isActiveValue;\r\n }\r\n if (ColumnsProp?.type === \"date\") {\r\n if (!filterValue) return true;\r\n if (!filterValue[0]) return true;\r\n return item[key]\r\n ?.add(1, \"seconds\")\r\n .isBetween(filterValue[0][0], filterValue[0][1]);\r\n } else if (ColumnsProp?.type === \"datetime\") {\r\n if (!filterValue) return true;\r\n if (!filterValue[0]) return true;\r\n return item[key]?.isBetween(filterValue[0][0], filterValue[0][1]);\r\n } else if (ColumnsProp?.type === \"number\") {\r\n const recordVal = Number(item[key]);\r\n return recordVal >= filterValue[0][0] && recordVal <= filterValue[0][1];\r\n } else {\r\n return filterValue.includes(item[key]);\r\n }\r\n };\r\n\r\n const onChange = (list: CheckboxValueType[]) => {\r\n setCheckedList(list);\r\n setCheckAll(\r\n list.length ===\r\n columnOption.filter((e: string) =>\r\n e\r\n ?.toString()\r\n ?.toLowerCase()\r\n .includes(searchValue?.toString()?.toLowerCase())\r\n ).length\r\n );\r\n };\r\n\r\n const onCheckAllChange = (e: CheckboxChangeEvent) => {\r\n setCheckedList(\r\n e.target.checked\r\n ? columnOption.filter((e: string) =>\r\n e\r\n ?.toString()\r\n ?.toLowerCase()\r\n .includes(searchValue?.toString()?.toLowerCase())\r\n )\r\n : []\r\n );\r\n setCheckAll(e.target.checked);\r\n };\r\n\r\n const onSearchCahnge = (value: string) => {\r\n setCheckedList(\r\n columnOption.filter((e: string) =>\r\n e?.toString()?.toLowerCase().includes(value?.toString()?.toLowerCase())\r\n )\r\n );\r\n setCheckAll(true);\r\n setSearchValue(value);\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n {\r\n onSearchCahnge(e.target.value);\r\n }}\r\n />\r\n
\r\n
\r\n \r\n Select All\r\n \r\n \r\n \r\n e\r\n ?.toString()\r\n ?.toLowerCase()\r\n .includes(searchValue?.toString()?.toLowerCase())\r\n )\r\n .map((e) => e?.toString())}\r\n value={checkedList}\r\n onChange={onChange}\r\n style={{\r\n paddingLeft: 20,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n overflowY: \"scroll\",\r\n maxHeight: \"20vh\",\r\n }}\r\n />\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SearchTextInTable;\r\n","import {\r\n Space,\r\n Button,\r\n AutoComplete,\r\n DatePicker,\r\n Divider,\r\n Slider,\r\n InputNumber,\r\n Input,\r\n} from \"antd\";\r\nimport { ColumnType } from \"antd/lib/table\";\r\nimport React from \"react\";\r\nimport { SearchOutlined } from \"@ant-design/icons\";\r\nimport { ColumnsProps } from \"../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport moment, { Moment } from \"moment\";\r\nimport SearchTextInTable from \"../components/TableComponents/DynamicTableFix/SearchTextInTable\";\r\nimport { FilterValue } from \"antd/lib/table/interface\";\r\nconst { RangePicker } = DatePicker;\r\nexport const getColumnSearchProps = (\r\n colProp: ColumnsProps,\r\n dataSource: any[],\r\n filterState: Record,\r\n allColumnProps: ColumnsProps[]\r\n): ColumnType => {\r\n if (colProp.type === \"date\" || colProp.type === \"datetime\") {\r\n return {\r\n filterDropdown: ({\r\n setSelectedKeys,\r\n selectedKeys,\r\n confirm,\r\n clearFilters,\r\n }) => {\r\n return (\r\n e.stopPropagation()}\r\n >\r\n {\r\n if (e) {\r\n setSelectedKeys([e as any]);\r\n } else {\r\n clearFilters && clearFilters();\r\n }\r\n }}\r\n />\r\n \r\n clearFilters && clearFilters()}\r\n size=\"small\"\r\n disabled={selectedKeys.length === 0}\r\n type=\"link\"\r\n >\r\n Reset\r\n \r\n {\r\n confirm({ closeDropdown: true });\r\n }}\r\n >\r\n Ok\r\n \r\n
\r\n \r\n );\r\n },\r\n onFilter: (value, record) => {\r\n const selectedVal: Moment[] = value as any;\r\n const rowData: Moment = record[colProp.key];\r\n if (!rowData) return false;\r\n if (colProp.type === \"date\") {\r\n return rowData\r\n .add(1, \"seconds\")\r\n .isBetween(\r\n selectedVal[0].startOf(\"day\"),\r\n selectedVal[1].endOf(\"day\")\r\n );\r\n } else {\r\n return rowData.isBetween(\r\n selectedVal[0].startOf(\"day\"),\r\n selectedVal[1].endOf(\"day\")\r\n );\r\n }\r\n },\r\n };\r\n } else if (colProp.type === \"number\") {\r\n return {\r\n filterDropdown: ({\r\n setSelectedKeys,\r\n selectedKeys,\r\n confirm,\r\n clearFilters,\r\n }) => {\r\n\r\n const optionValue: any = dataSource.map((option) => {\r\n \r\n return option ? Number(option[colProp.key]?.replaceAll(\",\", \"\")) : 0;\r\n });\r\n\r\n const val: [number, number] = selectedKeys[0] as any;\r\n \r\n const minOption = Math.min(...optionValue);\r\n const maxOption = Math.max(...optionValue);\r\n \r\n const minVal = val ? val[0] : minOption;\r\n const maxVal = val ? val[1] : maxOption;\r\n const decimal = colProp.decimal ?? 2;\r\n const decimalStep = Math.pow(10, -decimal);\r\n return (\r\n e.stopPropagation()}\r\n >\r\n {\r\n setSelectedKeys([e as any]);\r\n }}\r\n />\r\n \r\n \r\n `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")\r\n }\r\n stringMode\r\n controls={false}\r\n onChange={(e) => {\r\n if (e) {\r\n setSelectedKeys([[Number(e), maxVal] as any]);\r\n }\r\n }}\r\n />\r\n -\r\n \r\n `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")\r\n }\r\n step={decimalStep.toString()}\r\n stringMode\r\n onChange={(e) => {\r\n if (e) {\r\n setSelectedKeys([[minVal, Number(e)] as any]);\r\n }\r\n }}\r\n />\r\n \r\n \r\n clearFilters && clearFilters()}\r\n size=\"small\"\r\n disabled={selectedKeys.length === 0}\r\n type=\"link\"\r\n >\r\n Reset\r\n \r\n {\r\n confirm({ closeDropdown: true });\r\n }}\r\n >\r\n Ok\r\n \r\n \r\n \r\n );\r\n },\r\n onFilter: (value: any, record) => {\r\n const recordVal = Number(record[colProp.key]);\r\n\r\n return recordVal >= value[0] && recordVal <= value[1];\r\n },\r\n };\r\n } else if (colProp.type === \"string\") {\r\n return {\r\n filterDropdown: (filterDropDownProps) => {\r\n return (\r\n e.stopPropagation()}\r\n >\r\n \r\n \r\n
\r\n {\r\n filterDropDownProps.confirm({ closeDropdown: true });\r\n }}\r\n >\r\n Ok\r\n \r\n \r\n \r\n );\r\n },\r\n onFilter: (value, record) => {\r\n if (typeof value === \"string\") {\r\n return (\r\n record[colProp.key]?.toString().toLowerCase() ===\r\n (value as string).toString()?.toLowerCase()\r\n );\r\n } else {\r\n return record[colProp.key] == value.toString();\r\n }\r\n },\r\n };\r\n } else {\r\n return { sorter: false };\r\n }\r\n};\r\n\r\nexport const checkedForDataTypes = (\r\n dataKeys: string[],\r\n dataSource: any[],\r\n masterFormat: string = \"DD MMM YYYY\"\r\n) => {\r\n let keyTypes: ColumnsProps[] = [];\r\n let foundKeys: Set = new Set();\r\n\r\n let validKeys = dataKeys.filter((key) => {\r\n return dataSource.some((row) => row[key] !== null);\r\n });\r\n\r\n for (let i = 0; i < dataSource.length; i++) {\r\n for (let key of dataKeys) {\r\n let dataType = \"string\";\r\n\r\n if ([\"createddate\", \"modifieddate\"].includes(key.toLowerCase())) {\r\n dataType = \"datetime\";\r\n } else if (key.toLowerCase().includes(\"date\")) {\r\n dataType = \"date\";\r\n } else if (key === \"AttachFile\") {\r\n dataType = \"file\";\r\n }\r\n\r\n if (!foundKeys.has(key)) {\r\n keyTypes.push({\r\n key: key,\r\n label: key,\r\n option: [],\r\n type: dataType,\r\n dateFormat:\r\n dataType === \"date\" || dataType === \"datetime\"\r\n ? masterFormat\r\n : undefined,\r\n });\r\n foundKeys.add(key);\r\n }\r\n }\r\n\r\n if (foundKeys.size === validKeys.length) {\r\n break;\r\n }\r\n }\r\n\r\n return keyTypes;\r\n};\r\n\r\nexport const formatData = async (\r\n dataSource: any[],\r\n dataKey: ColumnsProps[]\r\n) => {\r\n let newData = dataSource;\r\n dataKey.forEach((colProp) => {\r\n if (colProp.type === \"file\") return;\r\n if ([\"date\", \"datetime\"].includes(colProp.type.toLowerCase())) {\r\n newData.forEach((e: any, index: number) => {\r\n e[colProp.key] = moment(e[colProp.key]);\r\n });\r\n } else {\r\n newData.forEach((e: any, index: number) => {\r\n e[colProp.key] = e[colProp.key]?.toString();\r\n });\r\n }\r\n });\r\n return newData;\r\n};\r\n","import {\r\n AutoComplete,\r\n Col,\r\n DatePicker,\r\n Row,\r\n Table,\r\n TablePaginationConfig,\r\n Tag,\r\n} from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport \"../../AntdControlComponent/TableComponent/TableComponentCSS.css\";\r\nimport \"../Table.css\";\r\nimport SortingButton from \"../../ButtonComponents/SortingButton\";\r\nimport { sorterFunc } from \"../../../Helper/SortingFunction\";\r\nimport moment, { Moment } from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { exportExcel } from \"../../../Helper/ExportExcel\";\r\nimport { GetAllDynamic, updateDynamic } from \"../../../Services/DynamicService\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { IPaging } from \"../../../IRequestModel/IPaginationOptionModel\";\r\nimport useMasterSetting from \"../../../hooks/useMasterSetting\";\r\nimport { ColumnsType } from \"antd/lib/table\";\r\nimport {\r\n checkedForDataTypes,\r\n formatData,\r\n getColumnSearchProps,\r\n} from \"../../../Helper/TableHelper\";\r\nimport { ColumnFilterItem, FilterValue } from \"antd/lib/table/interface\";\r\nimport { data } from \"jquery\";\r\nconst { RangePicker } = DatePicker;\r\n\r\ntype Props = {\r\n tableName: string;\r\n dataSource: any[];\r\n customColumns?: any[];\r\n setItemsCount?: (value: number) => void;\r\n canExport: boolean;\r\n setLoad?: (value: boolean) => void;\r\n actionBodyTemplate?: any;\r\n customImportFileButton?: any;\r\n rowClickAction?: any;\r\n canEdit?: any;\r\n toast?: any;\r\n loading?: boolean;\r\n reloadData?: (apiName: string) => void;\r\n VersionTempVCProps?: any;\r\n paginationOption?: TablePaginationConfig;\r\n onPageChange?: (paginationValue: IPaging) => void;\r\n showSumNumber?: boolean;\r\n setDataSource?: any\r\n};\r\n\r\ntype ITableFilter = {\r\n key: string;\r\n type: string;\r\n sortType: \"dec\" | \"asc\" | null;\r\n value: any;\r\n};\r\n\r\nexport type ColumnsProps = {\r\n key: string;\r\n label: string;\r\n type: string;\r\n option: any[];\r\n maxNumberValue?: number;\r\n decimal?: number;\r\n symbol?: string;\r\n dateFormat?: string;\r\n};\r\n\r\nconst DynamicTable = ({\r\n tableName,\r\n dataSource,\r\n customColumns,\r\n canExport,\r\n setItemsCount,\r\n setLoad,\r\n canEdit,\r\n actionBodyTemplate,\r\n rowClickAction,\r\n reloadData,\r\n customImportFileButton,\r\n loading,\r\n paginationOption,\r\n onPageChange,\r\n showSumNumber,\r\n}: Props) => {\r\n const dataKey = customColumns\r\n ? customColumns.map((e) => e.key)\r\n : Object.keys(dataSource[0] ?? {});\r\n\r\n const [hoverAction, setHoverAction] = useState(false);\r\n const [columnsProps, setColumnsProps] = useState([]);\r\n const [filterState, setFilterState] = useState<\r\n Record\r\n >({});\r\n const [searchedData, setSearchedData] = useState([]);\r\n const { masterSetting, getMasterSetting } = useMasterSetting();\r\n const [exportLoading, setExportLoading] = useState(false);\r\n const [showCols, setShowCols] = useState();\r\n const [userData] = useUserContext();\r\n const [importLoading, setImportLoading] = useState(false);\r\n const [hasArrayEmpty, setHasArrayEmpty] = useState(false);\r\n useEffect(() => {\r\n initFunc();\r\n\r\n setSearchedData(dataSource);\r\n }, [dataSource]);\r\n\r\n const initFunc = async (selectedCols?: string[]) => {\r\n let keyTypes: ColumnsProps[] = [];\r\n let _selectedCols: string[] = [];\r\n const _masterSetting: any = await getMasterSetting();\r\n\r\n if (customColumns) {\r\n keyTypes = [...checkedForDataTypes(dataKey, dataSource)];\r\n if (keyTypes.length === 0) {\r\n console.log(keyTypes);\r\n keyTypes = customColumns.map((e) => {\r\n return {\r\n key: e.key,\r\n label: e.label,\r\n symbol: e.symbol,\r\n option: [],\r\n type:\r\n e.FieldTypeFilterDynamic === \"c\"\r\n ? \"number\"\r\n : e.FieldTypeFilterDynamic === \"d\"\r\n ? \"date\"\r\n : \"string\",\r\n dateFormat: _masterSetting?.FormatDate?.Value2 ?? \"DD MMM YYYY\",\r\n };\r\n });\r\n }\r\n keyTypes.forEach((e) => {\r\n const customCol = customColumns.find(\r\n (customCol) => e.key === customCol.key\r\n );\r\n\r\n if (customCol) {\r\n _selectedCols.push(e.key);\r\n e.label = customCol.label;\r\n e.symbol = customCol.symbol;\r\n e.decimal = customCol.Decimal != null ? Number(customCol.Decimal) : undefined;\r\n e.type =\r\n customCol.FieldTypeFilterDynamic === \"c\"\r\n ? \"number\"\r\n : customCol.FieldTypeFilterDynamic === \"d\"\r\n ? \"date\"\r\n : customCol.FieldTypeFilterStatic === \"Datetime\"\r\n ? \"datetime\"\r\n : customCol.FieldTypeFilterDynamic === \"at\"\r\n ? \"file\"\r\n : \"string\";\r\n\r\n if (e.type === \"date\" && _masterSetting?.FormatDate?.Value2) {\r\n e.dateFormat = _masterSetting?.FormatDate?.Value2;\r\n } else if (customCol.FieldTypeFilterDynamic === \"d\") {\r\n const symbol =\r\n customCol.symbol && customCol.symbol !== \"\"\r\n ? customCol.symbol\r\n : \" \";\r\n e.dateFormat = \"DD\" + symbol + \"MMM\" + symbol + \"YYYY\";\r\n } else if (e.type === \"datetime\") {\r\n e.dateFormat =\r\n _masterSetting?.FormatDate?.Value1 || \"DD MMM yyyy hh:mm:ss\";\r\n }\r\n\r\n if (e.type === \"number\") {\r\n const optionValue: any = e.option.map((option) => {\r\n return option?.value\r\n ? Number(option?.value?.replaceAll(\",\", \"\"))\r\n : 0;\r\n });\r\n e.maxNumberValue = Math.max(optionValue);\r\n }\r\n }\r\n });\r\n\r\n if (!selectedCols) {\r\n selectedCols = _selectedCols.filter(\r\n (key: string) => !key?.toLowerCase()?.includes(\"id\")\r\n );\r\n }\r\n } else {\r\n if (actionBodyTemplate) {\r\n keyTypes = [\r\n { key: \"operation\", label: \"\", type: \"action\", option: [] },\r\n ...checkedForDataTypes(\r\n dataKey,\r\n dataSource,\r\n _masterSetting?.FormatDate?.Value1?.replaceAll(\"d\", \"D\")\r\n ),\r\n ];\r\n } else {\r\n keyTypes = [\r\n ...checkedForDataTypes(\r\n dataKey,\r\n dataSource,\r\n _masterSetting?.FormatDate?.Value1?.replaceAll(\"d\", \"D\")\r\n ),\r\n ];\r\n }\r\n\r\n formatData(dataSource, keyTypes);\r\n\r\n if (!selectedCols) {\r\n selectedCols = dataKey.filter(\r\n (key: string) => !key?.toLowerCase()?.includes(\"id\")\r\n );\r\n }\r\n }\r\n\r\n setColumnsProps(\r\n keyTypes?.filter(\r\n (e) =>\r\n e.key === \"operation\" ||\r\n (selectedCols?.includes(e.key) &&\r\n ![\"isEditing\", \"isPublishVersion\"].includes(e.key))\r\n )\r\n );\r\n\r\n setShowCols(selectedCols ?? []);\r\n };\r\n\r\n const sorterDate = (a: Moment | null, b: Moment | null) => {\r\n if (a === null && b === null) return 0;\r\n if (a === null) return -1;\r\n if (b === null) return 1;\r\n\r\n if (!a.isValid() && !b.isValid()) return 0;\r\n if (!a.isValid()) return -1;\r\n if (!b.isValid()) return 1;\r\n\r\n if (a.isBefore(b)) return -1;\r\n if (a.isAfter(b)) return 1;\r\n return 0;\r\n };\r\n\r\n const renderColumnBody = (value: any, colProp: ColumnsProps, record: any) => {\r\n\r\n\r\n switch (colProp.type) {\r\n case \"number\":\r\n if (colProp.symbol) {\r\n\r\n return value\r\n ? colProp.decimal === undefined ? value.toString() : Number(value.toString()?.replaceAll(\",\", \"\")).toLocaleString(\r\n undefined,\r\n { minimumFractionDigits: colProp.decimal }\r\n ) + colProp.symbol\r\n : \"\";\r\n } else {\r\n\r\n\r\n return value\r\n ? colProp.decimal === undefined ? value.toString() : Number(value.toString()?.replaceAll(\",\", \"\")).toLocaleString(\r\n undefined,\r\n { minimumFractionDigits: colProp.decimal }\r\n )\r\n : \"\";\r\n }\r\n\r\n case \"date\":\r\n const date = value as Moment;\r\n try {\r\n return date?.isValid() ? date.format(colProp.dateFormat) : \"\";\r\n } catch (error) {\r\n return date;\r\n }\r\n case \"datetime\":\r\n const datetime = value as Moment;\r\n try {\r\n return datetime?.isValid()\r\n ? datetime.format(colProp.dateFormat?.replaceAll(\"d\", \"D\"))\r\n : \"\";\r\n } catch (error) {\r\n return datetime;\r\n }\r\n\r\n case \"file\":\r\n return value;\r\n\r\n default:\r\n if (colProp.key === \"TemplateName\") {\r\n return (\r\n <>\r\n {value}\r\n {record.isPublishVersion === \"true\" && (\r\n \r\n Publish\r\n \r\n )}\r\n {record.isEditing === \"true\" && (\r\n \r\n Editing\r\n \r\n )}\r\n \r\n );\r\n } else if (colProp.key === \"AmountFrom_AmountTo\") {\r\n const dd = value?.split(\":\");\r\n let htmlBody: any[] = [];\r\n dd.forEach((data: any, idx: number) => {\r\n if (idx < 4) {\r\n htmlBody.push(

{data}

);\r\n } else {\r\n htmlBody.push(

.......

);\r\n }\r\n });\r\n return <>{htmlBody};\r\n } else {\r\n return value?.toString();\r\n }\r\n }\r\n };\r\n\r\n const onExportClick = async () => {\r\n setExportLoading(true);\r\n const columnHeader = columnsProps.map((col) => ({\r\n label: col.label,\r\n key: col.key,\r\n }));\r\n await exportExcel(\r\n columnHeader,\r\n tableName,\r\n reconStructionForExport(),\r\n setExportLoading\r\n );\r\n setExportLoading(false);\r\n };\r\n function reconStructionForExport() {\r\n let dataExport: any[] = [];\r\n try {\r\n searchedData.forEach((currentData) => {\r\n let exportRow: any = {};\r\n columnsProps.forEach((col: ColumnsProps) => {\r\n if (!showCols.includes(col.key)) return;\r\n if (!currentData[col.key]) return \"\";\r\n if (col.type === \"date\" || col.type === \"datetime\") {\r\n exportRow[col.key] = currentData[col.key].format(col.dateFormat);\r\n } else if (col.type === \"number\") {\r\n exportRow[col.key] = Number(currentData[col.key]);\r\n } else {\r\n exportRow[col.key] = currentData[col.key];\r\n }\r\n });\r\n if (JSON.stringify(exportRow) !== \"{}\") {\r\n dataExport.push(exportRow);\r\n }\r\n });\r\n } catch (error) {\r\n console.error(\"table=>error\", error);\r\n }\r\n return dataExport;\r\n }\r\n const [optionPosition, setOptionPosition] = useState([]);\r\n const importExcel = async (e: any) => {\r\n const file = e.target.files[0];\r\n\r\n try {\r\n import(\"xlsx\").then((xlsx) => {\r\n const reader = new FileReader();\r\n\r\n try {\r\n reader.onload = async (e: any) => {\r\n const wb = xlsx.read(e.target.result, { type: \"array\" });\r\n const wsname = wb.SheetNames[0];\r\n const ws = wb.Sheets[wsname];\r\n const data = xlsx.utils.sheet_to_json(ws, { header: 1 });\r\n const cols: any = data[0];\r\n data.shift();\r\n let _importedData = data.map((d: any) => {\r\n return cols.reduce((obj: any, c: any, i: any) => {\r\n obj[c] = d[i];\r\n return obj;\r\n }, {});\r\n });\r\n\r\n if (_importedData.length !== 0) {\r\n const data = optionPosition.length\r\n ? optionPosition\r\n : await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n setOptionPosition(data);\r\n let res = null;\r\n for (let i = 0; i < _importedData.length; i++) {\r\n const element = _importedData[i];\r\n var apiNamereplace = tableName?.replace(\"/GetAll\", \"\");\r\n if (\r\n !element[apiNamereplace + \"Id\"] ||\r\n element[apiNamereplace + \"Id\"] === \"\"\r\n ) {\r\n element.CreatedBy = userData.EmployeeId.toString();\r\n element.ModifiedBy = userData.EmployeeId.toString();\r\n } else {\r\n element.ModifiedBy = userData.EmployeeId.toString();\r\n }\r\n const { PositionLevelId, PositionId } =\r\n Array.isArray(data) &&\r\n data.find((pos) => {\r\n return pos?.NameEn === element?.PositionLevelNameEn;\r\n });\r\n element.PositionId = PositionId;\r\n element.AccountId = userData.EmployeeId.toString();\r\n element.PositionLevelId = PositionLevelId;\r\n setImportLoading(true);\r\n\r\n res = await updateDynamic(apiNamereplace, element);\r\n }\r\n\r\n if (res.result === \"success\") {\r\n if (reloadData) {\r\n reloadData(tableName);\r\n }\r\n }\r\n setImportLoading(false);\r\n }\r\n };\r\n\r\n reader.readAsArrayBuffer(file);\r\n } catch (error) {\r\n setImportLoading(false);\r\n }\r\n });\r\n } catch (error) {\r\n setImportLoading(false);\r\n }\r\n e.target.value = null;\r\n };\r\n\r\n const columns: ColumnsType = columnsProps\r\n .filter((e) => showCols?.includes(e.key) || e.key === \"operation\")\r\n ?.map((colProp) => {\r\n const key = colProp.key;\r\n\r\n if (canEdit && key === \"operation\") {\r\n return {\r\n key: \"operation\",\r\n align: \"center\",\r\n fixed: \"left\",\r\n width: 25,\r\n render: (_: any, record: any) => {\r\n if (actionBodyTemplate) {\r\n return (\r\n setHoverAction(true)}\r\n onMouseLeave={(e: any) => setHoverAction(false)}\r\n >\r\n {actionBodyTemplate(record)}\r\n \r\n );\r\n }\r\n },\r\n };\r\n }\r\n\r\n return {\r\n title: {colProp.label},\r\n dataIndex: key,\r\n key: key,\r\n align: colProp.type === \"number\" ? \"right\" : \"left\",\r\n width: 250,\r\n render: (value: any, record: any, index: number) =>\r\n renderColumnBody(value, colProp, record),\r\n sorter: (a: any, b: any) => {\r\n return colProp.type === \"date\" || colProp.type === \"datetime\"\r\n ? sorterDate(a[key], b[key])\r\n : a[key]?.toString().localeCompare(b[key]?.toString());\r\n },\r\n ...getColumnSearchProps(colProp, dataSource, filterState, columnsProps),\r\n };\r\n });\r\n\r\n useEffect(() => {\r\n setItemsCount && setItemsCount(showCols?.length ? dataSource.length : 0);\r\n }, [dataSource, hasArrayEmpty, showCols?.length]);\r\n\r\n return (\r\n
\r\n \r\n \r\n !e.toLowerCase().endsWith(\"id\"))\r\n }\r\n onChange={(e) => {\r\n setShowCols(e.value);\r\n }}\r\n showClear\r\n placeholder=\"Select columns\"\r\n style={{ width: \"50%\" }}\r\n optionLabel={customColumns ? \"label\" : undefined}\r\n optionValue={customColumns ? \"key\" : undefined}\r\n />\r\n \r\n {canExport && (\r\n \r\n \r\n {!location.pathname.includes(\"DynamicReport\") &&\r\n !location.search?.includes(\"DelegateList\") &&\r\n !location.search?.includes(\"TimeStamp\") && (\r\n <>\r\n {customImportFileButton ? (\r\n customImportFileButton\r\n ) : (\r\n <>\r\n \r\n \r\n \r\n \r\n Import from excel\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 hasArrayEmpty = Object.keys(filters).some(\r\n (key) =>\r\n (Array.isArray(filters[key]) && filters[key].length === 0) ||\r\n filters[key] === null\r\n );\r\n\r\n setHasArrayEmpty(hasArrayEmpty);\r\n if (extra.action === \"filter\") {\r\n const updatedFilters = { ...filterState, ...filters };\r\n setFilterState(updatedFilters);\r\n }\r\n\r\n if (setItemsCount) setItemsCount(extra.currentDataSource.length);\r\n setSearchedData(extra.currentDataSource);\r\n }}\r\n columns={columns}\r\n rowClassName={`wolf-table-row ${rowClickAction && \"hover\"}`}\r\n scroll={{ x: \"max-content\", y: \"calc(100vh - 300px)\" }}\r\n onRow={(record, rowIndex) => {\r\n return {\r\n onClick: (event) => {\r\n if (rowClickAction && !hoverAction)\r\n rowClickAction(record, rowIndex, event);\r\n },\r\n };\r\n }}\r\n summary={(data: any) => {\r\n if (!showSumNumber) {\r\n return;\r\n }\r\n const columnSums: { [key: string]: number } = {};\r\n\r\n columnsProps.forEach((column) => {\r\n if (column.type === \"number\") {\r\n columnSums[column.key] = data.reduce(\r\n (sum: number, row: any) =>\r\n sum + (Number(row[column.key]) || 0),\r\n 0\r\n );\r\n }\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n Totals\r\n \r\n {columnsProps.map((column, index) => {\r\n if (index > 0) {\r\n return (\r\n \r\n {column.type === \"number\"\r\n ? new Intl.NumberFormat(\"th-TH\", {\r\n minimumFractionDigits: 2,\r\n maximumFractionDigits: 2,\r\n }).format(columnSums[column.key])\r\n : null}\r\n \r\n );\r\n }\r\n return null;\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 DynamicTable;\r\n","import { DataTable } from \"primereact/datatable\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Column } from \"primereact/column\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { RadioButtonComponents } from \"../RadioButtonComponents/RadioButtonComponents\";\r\nimport { IReportModel } from \"../../IRequestModel/IReportModel\";\r\nimport moment from \"moment\";\r\nimport { Chips } from \"primereact/chips\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { ButtonComponents } from \"../ButtonComponents/ButtonComponents\";\r\nimport { DatePicker } from \"antd\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { GetReportSetting } from \"../../Services/MasterDataService\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { UserContext, useUserContext } from \"../../Context/UserContext\";\r\n\r\ninterface Props {\r\n reportTemp: IReportModel;\r\n setReportColumns: (value: any[]) => void;\r\n setTableData: (value: any[]) => void;\r\n setGettingreport: (value: boolean) => void;\r\n}\r\n\r\nconst SelectedFieldComponent = ({\r\n reportTemp,\r\n setReportColumns,\r\n setTableData,\r\n setGettingreport,\r\n}: Props) => {\r\n const { control, setValue, handleSubmit } = useForm({\r\n defaultValues: reportTemp,\r\n });\r\n\r\n const [filterValue, setFilterValue] = useState([]);\r\n const [selectedField, setSelectedField] = useState([]);\r\n const [userData] = useUserContext();\r\n const [rtcon, setRtcon] = useState();\r\n\r\n useEffect(() => {\r\n findSelected();\r\n fecthMasterData();\r\n }, []);\r\n\r\n const fecthMasterData = async () => {\r\n try {\r\n const _rtcon = await GetReportSetting();\r\n if (_rtcon) {\r\n let value: string = _rtcon[0]?.value2?.split(\"|\");\r\n setRtcon(value);\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n };\r\n\r\n const findSelected = () => {\r\n try {\r\n const _selectedfieldlist = reportTemp.Selectedfieldlist;\r\n const _selectedfieldlistfilter = reportTemp.Selectedfieldlistfilter;\r\n\r\n if (_selectedfieldlist) {\r\n const selected = _selectedfieldlist.filter((field: any) => {\r\n return _selectedfieldlistfilter?.find(\r\n (filter: any) => field.key === filter.FieldCode\r\n );\r\n });\r\n setValue(\"Selectedfieldlistfilter\", _selectedfieldlistfilter);\r\n setSelectedField(selected);\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n function formatDate(date: string) {\r\n try {\r\n let arrDate = date.split(\"/\");\r\n const mm = Number(arrDate[1]);\r\n if (mm === 1) {\r\n arrDate[1] = \"Jan\";\r\n } else if (mm === 2) {\r\n arrDate[1] = \"Feb\";\r\n } else if (mm === 3) {\r\n arrDate[1] = \"Mar\";\r\n } else if (mm === 4) {\r\n arrDate[1] = \"Apr\";\r\n } else if (mm === 5) {\r\n arrDate[1] = \"May\";\r\n } else if (mm === 6) {\r\n arrDate[1] = \"Jun\";\r\n } else if (mm === 7) {\r\n arrDate[1] = \"Jul\";\r\n } else if (mm === 8) {\r\n arrDate[1] = \"Aug\";\r\n } else if (mm === 9) {\r\n arrDate[1] = \"Sep\";\r\n } else if (mm === 10) {\r\n arrDate[1] = \"Oct\";\r\n } else if (mm === 11) {\r\n arrDate[1] = \"Nov\";\r\n } else if (mm === 12) {\r\n arrDate[1] = \"Dec\";\r\n }\r\n return arrDate.join(\" \");\r\n } catch (error) {\r\n return date;\r\n }\r\n }\r\n\r\n const validateFun = (data: any) => {\r\n let isPass = true;\r\n try {\r\n if (rtcon?.length > 0) {\r\n const request_date = data.Selectedfieldlistfilter.find(\r\n (e: any) => e.FieldCode.toLowerCase() === rtcon[0]\r\n );\r\n if (!request_date) {\r\n isPass = false;\r\n confirmDialog({\r\n message: () => {\r\n return (\r\n <>\r\n {\r\n \"Please select field Request Date for data search condition before click Generate Report button! / กรุณาเลือก field Request Date เพื่อเป็นเงื่อนไขในการค้นหาข้อมูลก่อนกดปุ่ม Generate Report !\"\r\n }\r\n \r\n );\r\n },\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else if (!request_date.FieldTextFrom && !request_date.FieldTextTo) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select filter value Memorandum - Request Date From / กรุณาเลือกค่าสำหรับการกรอง Memorandum - Request Date จาก !\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else if (request_date.FieldTextFrom && !request_date.FieldTextTo) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select filter value Memorandum - Request Date To / กรุณาเลือกค่าสำหรับการกรอง Memorandum - Request Date ถึง !\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else if (!request_date.FieldTextFrom && request_date.FieldTextTo) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select filter value Memorandum - Request Date From / กรุณาเลือกค่าสำหรับการกรอง Memorandum - Request Date จาก !\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n } else {\r\n const dateForm = getDateValue(request_date.FieldTextFrom);\r\n const dateTo = getDateValue(request_date.FieldTextTo);\r\n const diffDays = dateTo.diff(dateForm, \"days\");\r\n if (diffDays > rtcon[1]) {\r\n isPass = false;\r\n confirmDialog({\r\n message:\r\n \"Please select field Request Date difference between \" +\r\n rtcon[1] +\r\n \"! / \" +\r\n \"กรุณาเลือก field Request Date ที่มีระยะห่างไม่เกิน \" +\r\n rtcon[1] +\r\n \"!\",\r\n header: \"Alert\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n draggable: false,\r\n closable: false,\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {},\r\n });\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n isPass = false;\r\n }\r\n\r\n return isPass;\r\n };\r\n\r\n const onSubmit = (data: any) => {\r\n if (validateFun(data)) {\r\n setGettingreport(true);\r\n data.Selectedfieldlistfilter?.map((e: any) => {\r\n try {\r\n if (e.FieldText && typeof e.FieldText !== \"string\") {\r\n e.FieldText = e.FieldText.join(\"|\");\r\n }\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n }\r\n });\r\n fecthDataReport(\r\n data.ReporttemplateID,\r\n JSON.stringify(data.Selectedfieldlistfilter)\r\n );\r\n }\r\n };\r\n\r\n function formatNumberWithTrailingZeros(\r\n number: number,\r\n decimalPlaces: number\r\n ) {\r\n let numberString = number.toString();\r\n let [integerPart, decimalPart] = numberString.split(\".\");\r\n decimalPart = decimalPart || \"\";\r\n decimalPart = decimalPart\r\n .padEnd(decimalPlaces, \"0\")\r\n .slice(0, decimalPlaces);\r\n let formattedNumber =\r\n integerPart + (decimalPart.length > 0 ? \".\" + decimalPart : \"\");\r\n return formattedNumber;\r\n }\r\n\r\n function countDigitsAfterDecimal(number: number) {\r\n let numberString = number.toString();\r\n let decimalIndex = numberString.indexOf(\".\");\r\n if (decimalIndex === -1) {\r\n return 0;\r\n }\r\n let digitsAfterDecimal = numberString.length - decimalIndex - 1;\r\n return digitsAfterDecimal;\r\n }\r\n\r\n const fecthDataReport = async (reportId: number, data: string) => {\r\n const reportDetailBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n FavoritesItem: data,\r\n PageIndex: 0,\r\n PageSize: 10000,\r\n UserPrincipalName: userData.Email,\r\n }),\r\n };\r\n\r\n const _dataDynamic: any = await GetAllDynamic(\r\n \"DynamicReport/GetReportDetailById\",\r\n reportDetailBody\r\n );\r\n if (_dataDynamic) {\r\n if (_dataDynamic.FieldCollection && _dataDynamic.FieldCollection !== \"\") {\r\n const fieldCollection: any[] = JSON.parse(_dataDynamic.FieldCollection);\r\n let numCols: Array<{\r\n key: string;\r\n suffix?: string;\r\n decimal?: number;\r\n }> = [];\r\n let dateCols: string[] = [];\r\n let edCols: string[] = [];\r\n fieldCollection.forEach((col: any) => {\r\n if (\r\n col.FieldTypeFilterDynamic === \"c\" ||\r\n col.FieldTypeFilterStatic === \"Number\"\r\n ) {\r\n numCols.push({\r\n key: col.key,\r\n suffix: col.symbol || \"\",\r\n decimal: col.Decimal,\r\n });\r\n } else if (\r\n col.FieldTypeFilterDynamic === \"d\" ||\r\n col.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n dateCols.push(col);\r\n } else if (col.FieldTypeFilterDynamic === \"ed\") {\r\n edCols.push(col);\r\n }\r\n });\r\n\r\n if (numCols.length > 0) {\r\n numCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col]) {\r\n let decimal = countDigitsAfterDecimal(data[col.key]);\r\n data[col.key] =\r\n formatNumberWithTrailingZeros(data[col.key], decimal) +\r\n \" \" +\r\n col?.suffix;\r\n }\r\n });\r\n });\r\n }\r\n if (dateCols.length > 0) {\r\n dateCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key]) {\r\n let newDate = moment(new Date(data[col.key]));\r\n data[col.key] = newDate;\r\n }\r\n });\r\n });\r\n }\r\n if (edCols.length > 0) {\r\n edCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key] && data[col.key] !== \"\") {\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(data[col.key], \"text/html\");\r\n data[col.key] = doc.body.innerText;\r\n }\r\n });\r\n });\r\n }\r\n setReportColumns([...fieldCollection]);\r\n }\r\n\r\n setTableData(_dataDynamic.dt_Report);\r\n setGettingreport(false);\r\n }\r\n };\r\n\r\n const getChipValue = (fieldValue?: any) => {\r\n let _chip: any[] = [];\r\n if (fieldValue) {\r\n if (typeof fieldValue === \"string\") {\r\n _chip = fieldValue.split(\"|\");\r\n } else {\r\n _chip = fieldValue;\r\n }\r\n return _chip;\r\n }\r\n };\r\n\r\n function onChangeSelectField(fieldValue: any[], onChange: any) {\r\n let _filters: any[] = [];\r\n selectedField.forEach((field: any) => {\r\n const exitFilter = fieldValue.find(\r\n (filter: any) => filter.FieldCode === field.key\r\n );\r\n if (exitFilter) {\r\n _filters.push(exitFilter);\r\n } else {\r\n let _objJson = {\r\n ID: 0,\r\n FieldCode: field.key,\r\n FieldDisplay: field.label,\r\n IsExcludeBlankData: true,\r\n FieldType: field.type,\r\n IsEquals: false,\r\n FieldText: [],\r\n FieldTextFrom: null,\r\n FieldTextTo: null,\r\n FieldBit: null,\r\n FieldTypeFilterStatic: field.FieldTypeFilterStatic,\r\n FieldTypeFilterDynamic: field.FieldTypeFilterDynamic,\r\n IsTodayFrom: false,\r\n IsTodayTo: false,\r\n FilterParameter: \"\",\r\n indexHideColumn: null,\r\n SecretId: null,\r\n };\r\n _filters.push(_objJson);\r\n }\r\n });\r\n if (JSON.stringify(fieldValue) !== JSON.stringify(_filters)) {\r\n onChange(_filters);\r\n }\r\n return _filters;\r\n }\r\n\r\n const getDateValue = (dateValue: any) => {\r\n // let newDate: Date = new Date();\r\n\r\n let newDate = moment(\r\n moment(new Date(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n newDate = moment(formatDate(dateValue), \"DD MMM YYYY\").toDate();\r\n } else {\r\n newDate = moment(\r\n moment(formatDate(dateValue)).format(\"DD MMM YYYY\"),\r\n \"DD MMM YYYY\"\r\n ).toDate();\r\n if (newDate.toString().toLowerCase() === \"invalid date\") {\r\n console.log(\"table=>dateValue\", dateValue);\r\n }\r\n }\r\n // return newDate;\r\n\r\n return moment(\r\n new Date(newDate).toLocaleString(\"en-UK\", {\r\n year: \"numeric\",\r\n month: \"short\",\r\n day: \"numeric\",\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

Selected Field

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n selection={selectedField}\r\n onSelectionChange={(e: any) => {\r\n setSelectedField(e.value);\r\n }}\r\n // rowClassName={rowClassName}\r\n // isDataSelectable={isRowSelectable}\r\n responsiveLayout=\"scroll\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n size=\"small\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"label\"\r\n style={{ flexGrow: 1, flexBasis: \"500px\" }}\r\n >\r\n \r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n \r\n <>\r\n
\r\n
\r\n

Filter Value

\r\n
\r\n
\r\n (\r\n setFilterValue(e.Value)}\r\n size=\"small\"\r\n scrollable\r\n scrollHeight=\"flex\"\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n \r\n \r\n Field\r\n

\r\n \r\n }\r\n field=\"FieldDisplay\"\r\n style={{ flexGrow: 1, flexBasis: \"110px\" }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n let dateFormat: any = rowData.FieldTextFrom\r\n ? getDateValue(rowData.FieldTextFrom)\r\n : null;\r\n\r\n return (\r\n <>\r\n

\r\n {\"From(\"}\r\n {\r\n rowData.IsTodayFrom = e;\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n checkedProps={\r\n rowData.IsTodayFrom === true\r\n }\r\n labelProps={\"\"}\r\n keyProps={\"From\"}\r\n />\r\n {\"Today\"} {\")\"}\r\n

\r\n {\r\n try {\r\n if (e) {\r\n rowData.FieldTextFrom =\r\n e.format(\"DD MMM yy\");\r\n } else {\r\n rowData.FieldTextFrom = e;\r\n }\r\n\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n } catch (error) {\r\n console.log(\"error=>\", error);\r\n }\r\n }}\r\n />\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n {\r\n rowData.FilterParameter =\r\n e.value === \"Contains\"\r\n ? \"Like\"\r\n : e.value === \"Not Contains\"\r\n ? \"Not Like\"\r\n : e.value;\r\n if (field?.value) {\r\n field.value[option.rowIndex] = rowData;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n />\r\n \r\n );\r\n }\r\n }}\r\n >\r\n {\r\n if (\r\n rowData.FieldTypeFilterDynamic === \"d\" ||\r\n rowData.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n let dateFormat: any = rowData.FieldTextTo\r\n ? getDateValue(rowData.FieldTextTo)\r\n : null;\r\n\r\n return (\r\n <>\r\n

\r\n To (\r\n {\r\n rowData.IsTodayTo = e;\r\n console.log(\"report=>field\", field);\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n checkedProps={rowData.IsTodayTo === true}\r\n labelProps={\"\"}\r\n keyProps={\"Today\"}\r\n />\r\n {\"Today\"} {\")\"}\r\n

\r\n {\r\n try {\r\n if (e) {\r\n rowData.FieldTextTo =\r\n e.format(\"DD MMM yy\");\r\n } else {\r\n rowData.FieldTextTo = e;\r\n }\r\n\r\n if (field?.value) {\r\n field.value[option.rowIndex] =\r\n rowData;\r\n field.onChange(field.value);\r\n }\r\n } catch (error) {\r\n console.log(\"error=>\", error);\r\n }\r\n }}\r\n />\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n {\r\n if (field.value) {\r\n field.value[option.rowIndex].FieldText =\r\n e.value;\r\n field.onChange(field.value);\r\n }\r\n }}\r\n onBlur={(e) => {\r\n if (e.target.value !== \"\") {\r\n if (field.value) {\r\n field.value[\r\n option.rowIndex\r\n ].FieldText.push(e.target.value);\r\n field.onChange(field.value);\r\n }\r\n }\r\n e.target.value = \"\";\r\n }}\r\n separator=\"|\"\r\n />\r\n \r\n );\r\n }\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n \r\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 SelectedFieldComponent;\r\n","import moment from \"moment\";\r\nimport { Button } from \"primereact/button\";\r\nimport { Panel } from \"primereact/panel\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { Ripple } from \"primereact/ripple\";\r\nimport React, { useEffect, useMemo, useState } from \"react\";\r\nimport { IoArrowBackSharp } from \"react-icons/io5\";\r\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport SelectedFieldComponent from \"../../components/ReportScreenComponent/SelectedFieldComponent\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { IReportModel } from \"../../IRequestModel/IReportModel\";\r\nimport { CheckAutoReport } from \"../../Services/AppSettingService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport {\r\n GetReportById,\r\n ReportTemplateSelectByReportID,\r\n} from \"../../Services/ReportService\";\r\nimport { Popover } from \"antd\";\r\n\r\ntype Props = {};\r\n\r\ntype QuizParams = {\r\n reportId: string;\r\n reportName: string;\r\n // isAutoReport: string;\r\n};\r\n\r\nconst reportModelIReportModel: IReportModel = {\r\n ReporttemplateID: 0,\r\n ReportName: \"\",\r\n TemplateId: \"\",\r\n Selectedfieldlist: [],\r\n ReportDescription: \"\",\r\n IsPrivate: false,\r\n IsActive: true,\r\n CreatedBy: \"\",\r\n CreatedByname: \"\",\r\n CreatedDate: \"\",\r\n ModifiedBy: \"\",\r\n ModifiedByname: \"\",\r\n ModifiedDate: \"\",\r\n Selectedfieldlistfilter: [],\r\n Columns: [],\r\n Rows: [],\r\n TemplateNewVersion: false,\r\n PageIndex: 0,\r\n PageSize: 10,\r\n CanDelete: false,\r\n RoleId: \"\",\r\n RoleEmp: \"\",\r\n Mode: false,\r\n};\r\n\r\nconst DynamicReportFix = (props: Props) => {\r\n let { reportId } = useParams();\r\n let { reportName } = useParams();\r\n // let { isAutoReport } = useParams();\r\n const [itemsCount, setItemsCount] = useState(0);\r\n\r\n const [data, setData] = useState([]);\r\n const [_isAutoReport, setIsAutoReport] = useState(true);\r\n const [reportTemp, setReportTemp] = useState(\r\n reportModelIReportModel\r\n );\r\n const [_reportName, setReportName] = useState(\"\");\r\n const [reportColumns, setReportColumns] = useState();\r\n const [gettingFilter, setGettingFilter] = useState(false);\r\n const [gettingReport, setGettingreport] = useState(true);\r\n const history = useHistory();\r\n const [userData] = useUserContext();\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n\r\n useEffect(() => {\r\n const controller = new AbortController();\r\n fecthData(controller);\r\n return () => {\r\n controller.abort();\r\n };\r\n }, []);\r\n\r\n function openWindow(link: any) {\r\n var pathArray = link?.split(\"/\");\r\n const _link = link\r\n ? link.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + link\r\n : link\r\n : \"\";\r\n\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n if (_link.startsWith(_sharepointSiteURL)) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else {\r\n window.open(`${_sharepointSiteURL}${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else if (_userData.TinyURL) {\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${_userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n\r\n function formatNumberWithTrailingZeros(\r\n number: number,\r\n decimalPlaces: number\r\n ) {\r\n let numberString = number.toString();\r\n let [integerPart, decimalPart] = numberString.split(\".\");\r\n decimalPart = decimalPart || \"\";\r\n decimalPart = decimalPart\r\n .padEnd(decimalPlaces, \"0\")\r\n .slice(0, decimalPlaces);\r\n let formattedNumber =\r\n integerPart + (decimalPart.length > 0 ? \".\" + decimalPart : \"\");\r\n return formattedNumber;\r\n }\r\n\r\n function countDigitsAfterDecimal(number: number) {\r\n let numberString = number.toString();\r\n let decimalIndex = numberString.indexOf(\".\");\r\n if (decimalIndex === -1) {\r\n return 0;\r\n }\r\n let digitsAfterDecimal = numberString.length - decimalIndex - 1;\r\n return digitsAfterDecimal;\r\n }\r\n\r\n const fecthData = async (controller: AbortController) => {\r\n try {\r\n const isAutoReport = await CheckAutoReport();\r\n if (isAutoReport) {\r\n const reportDetailBody = {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({\r\n ReportTemplateId: reportId,\r\n PageIndex: 0,\r\n PageSize: 10000,\r\n UserPrincipalName: userData.Email,\r\n }),\r\n };\r\n\r\n const _dataDynamic: any = await GetReportById(\r\n Number(reportId),\r\n controller.signal\r\n );\r\n\r\n if (\r\n _dataDynamic.FieldCollection &&\r\n _dataDynamic.FieldCollection !== \"\"\r\n ) {\r\n const fieldCollection: any[] = JSON.parse(\r\n _dataDynamic.FieldCollection\r\n );\r\n\r\n let numCols: Array<{\r\n key: string;\r\n suffix?: string;\r\n decimal?: number;\r\n }> = [];\r\n let dateCols: string[] = [];\r\n let edCols: string[] = [];\r\n let atCols: string[] = [];\r\n fieldCollection.forEach((col: any, index: number) => {\r\n if (\r\n col.FieldTypeFilterDynamic === \"c\" ||\r\n col.FieldTypeFilterStatic === \"Number\"\r\n ) {\r\n numCols.push({\r\n key: col.key,\r\n suffix: col.symbol || \"\",\r\n decimal: col.Decimal,\r\n });\r\n } else if (\r\n col.FieldTypeFilterDynamic === \"d\" ||\r\n col.FieldTypeFilterStatic === \"Datetime\"\r\n ) {\r\n dateCols.push(col);\r\n } else if (col.FieldTypeFilterDynamic === \"ed\") {\r\n edCols.push(col);\r\n } else if (col.FieldTypeFilterDynamic === \"at\") {\r\n atCols.push(col);\r\n }\r\n });\r\n\r\n if (numCols.length > 0) {\r\n numCols.forEach(\r\n (col: { key: string; suffix?: string; decimal?: number }) => {\r\n if (col.key !== \"Memo_MemoId\") {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key]) {\r\n if (col?.decimal) {\r\n data[col.key] = formatNumberWithTrailingZeros(\r\n data[col.key],\r\n col?.decimal\r\n );\r\n } else {\r\n let decimal = countDigitsAfterDecimal(data[col.key]);\r\n data[col.key] = formatNumberWithTrailingZeros(\r\n data[col.key],\r\n decimal\r\n );\r\n }\r\n }\r\n });\r\n }\r\n }\r\n );\r\n }\r\n if (dateCols.length > 0) {\r\n dateCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key]) {\r\n let newDate = moment(new Date(data[col.key]));\r\n data[col.key] = newDate;\r\n }\r\n });\r\n });\r\n }\r\n if (edCols.length > 0) {\r\n edCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key] && data[col.key] !== \"\") {\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(data[col.key], \"text/html\");\r\n data[col.key] = doc.body.innerText;\r\n }\r\n });\r\n });\r\n }\r\n if (atCols.length > 0) {\r\n atCols.forEach((col: any) => {\r\n _dataDynamic.dt_Report.map((data: any) => {\r\n if (data[col.key] && data[col.key] !== \"\") {\r\n const [nameFile, linkFile] = data[col.key].split(\"|\");\r\n data[col.key] = (\r\n \r\n {\r\n openWindow(linkFile);\r\n }}\r\n className=\"r\"\r\n type=\"button\"\r\n style={{\r\n borderRadius: \"6px\",\r\n backgroundColor: \"rgb(40, 47, 106)\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n boxShadow: \"none\",\r\n width: \"100%\",\r\n height: \"38px\",\r\n zIndex: \"999\",\r\n }}\r\n />\r\n \r\n );\r\n }\r\n });\r\n });\r\n }\r\n setReportColumns([...fieldCollection]);\r\n }\r\n setItemsCount(_dataDynamic.dt_Report?.length);\r\n setReportName(_dataDynamic.ReportName);\r\n setData([..._dataDynamic.dt_Report]);\r\n setGettingreport(false);\r\n } else {\r\n setGettingFilter(true);\r\n const _reportTemp: any = await ReportTemplateSelectByReportID(\r\n Number(reportId)\r\n );\r\n\r\n setReportName(reportName);\r\n if (_reportTemp) {\r\n setReportTemp(_reportTemp);\r\n setData([]);\r\n }\r\n setGettingFilter(false);\r\n setGettingreport(false);\r\n }\r\n setIsAutoReport(isAutoReport);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n const panelTemplate = (options: any, headText: string) => {\r\n const toggleIcon = options.collapsed\r\n ? \"pi pi-chevron-down\"\r\n : \"pi pi-chevron-up\";\r\n const className = `${options.className} justify-content-start`;\r\n const titleClassName = `${options.titleClassName} pl-1`;\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {headText}\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

{_reportName + \"(\" + itemsCount + \")\"}

\r\n \r\n \r\n }\r\n onClickProps={() => {\r\n history.push(\"/DynamicReport?action=back\");\r\n // setTableData([...reportList]);\r\n // setReportColumns(undefined);\r\n // setText(\"Report List\");\r\n }}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid #F2F2F2\",\r\n fontSize: \"13px\",\r\n background: \"#F2F2F2\",\r\n color: \"#282F6A\",\r\n width: \"120px\",\r\n }}\r\n />\r\n {/* {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n {\r\n toggleDialog();\r\n }}\r\n />\r\n )} */}\r\n
\r\n
\r\n
\r\n
\r\n <>\r\n {_isAutoReport ? (\r\n <>\r\n {\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n showSumNumber\r\n canExport={true}\r\n />\r\n \r\n ) : (\r\n <>\r\n {\" \"}\r\n \r\n panelTemplate(option, \"Filter\")\r\n }\r\n toggleable\r\n >\r\n {!gettingFilter && (\r\n \r\n )}\r\n \r\n \r\n panelTemplate(option, \"Report\")\r\n }\r\n className={\"table-panel\"}\r\n toggleable\r\n >\r\n {gettingReport ? (\r\n <>\r\n {/* */}\r\n {\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n showSumNumber\r\n canExport={true}\r\n />\r\n \r\n ) : (\r\n <>\r\n {\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n showSumNumber\r\n canExport={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 /* if (isAutoReport) {\r\n return (\r\n \r\n
\r\n {\r\n console.log(\"table=>record\", record);\r\n\r\n if (record[\"Memo_MemoId\"]) {\r\n window.open(\r\n `/Request?MemoID=${record[\"Memo_MemoId\"]}`,\r\n \"_blank\"\r\n );\r\n }\r\n }}\r\n canExport={true}\r\n />\r\n
\r\n \r\n \r\n );\r\n } else {\r\n return
DynamicReportFix
;\r\n } */\r\n}\r\n{\r\n /* } */\r\n}\r\nexport default DynamicReportFix;\r\n","import React, { useEffect, useMemo, useState } from \"react\";\r\nimport { SplitButton } from \"primereact/splitbutton\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport { useLocation } from \"react-router\";\r\nimport { useHistory, useRouteMatch, Switch, Route } from \"react-router-dom\";\r\nimport { DynamicReport } from \"./DynamicReport\";\r\nimport \"./index.css\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { ButtonComponents } from \"../../components/ButtonComponents/ButtonComponents\";\r\nimport { ReportDialog } from \"../../components/SettingDialogComponents/ReportDialog/ReportDialog\";\r\nimport {\r\n GetTemplateeBindFormNameDDL,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../Services/TemplateService\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\nimport {\r\n DeleteReport,\r\n GetReportById,\r\n ReportTemplateSelectByReportID,\r\n} from \"../../Services/ReportService\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport DynamicTable from \"../../components/TableComponents/DynamicTableFix/DynamicTable\";\r\nimport DynamicReportFix from \"./DynamicReportFix\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\n\r\nconst ReportScreen = (props: Props) => {\r\n const text = \"Report List\";\r\n const location = useLocation();\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [apiName, setApiName] = useState(\r\n location.pathname.replace(\"/\", \"\")\r\n );\r\n const { isLoad, setLoad } = useLoading();\r\n const [imgLoading, setImgLoading] = useState(\r\n props.responeConfig?.pathLoading\r\n );\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const [template, setTemplate] = useState([]);\r\n const [empList, setEmpList] = useState([]);\r\n const [checkReport, setCheckReport] = useState(false);\r\n const [isDelete, setIsDelete] = useState(false);\r\n const [editReport, setEditReport] = useState(false);\r\n const [dataEditReport, setDataEditReport] = useState([]);\r\n const [itemsCount, setItemsCount] = useState(0);\r\n const [_baseUrl, setbaseUrl] = useState();\r\n const [userData, setUserData] = useUserContext();\r\n const [data, setData] = useState();\r\n let history = useHistory();\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n const { url } = useRouteMatch();\r\n const [isAdmin, setIsAdmin] = useState();\r\n // const [emp_data, setEmp_data] = useState();\r\n\r\n useEffect(() => {\r\n setLoad(true);\r\n fetchTemplate();\r\n fetchEmployee();\r\n fetchReport();\r\n\r\n if (process.env.NODE_ENV !== \"development\") {\r\n setbaseUrl(window.location.hostname);\r\n }\r\n }, []);\r\n\r\n async function fetchEmployee() {\r\n setEmpList([...(await GetAllEmployee())]);\r\n }\r\n\r\n // const actionBodyTemplate = (rowData: any) => {\r\n // try {\r\n // const employee = empList.filter((e: any) => {\r\n // return e.EmployeeId === rowData.CreatedBy;\r\n // });\r\n // if (empData.employeeData.Lang === \"TH\") {\r\n // rowData.CreatedByName = employee[0]?.NameTh;\r\n // } else {\r\n // rowData.CreatedByName = employee[0]?.NameEn;\r\n // }\r\n // if (empData.employeeData.EmployeeId === rowData.CreatedBy) {\r\n // return (\r\n // \r\n // {\r\n // setVisibleDialog(true);\r\n // setCheckReport(true);\r\n // setEditReport(true);\r\n // console.log(\r\n // \"rowData.ReportTemplateId\",\r\n // rowData.ReportTemplateId\r\n // );\r\n\r\n // fetchGetReportById(rowData.ReportTemplateId);\r\n // },\r\n // },\r\n // {\r\n // label: \"Delete\",\r\n // icon: \"pi pi-trash\",\r\n // command: () => {\r\n // confirmDialog({\r\n // message: \"Do you want to delete this report.\",\r\n // header: \"Delete\",\r\n // icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n // rejectClassName: \"hide\",\r\n // acceptClassName:\r\n // \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n // accept: async () => {\r\n // const res = await DeleteReport(\r\n // rowData.ReportTemplateId\r\n // );\r\n // if (res) {\r\n // setOnLoading(true);\r\n // fetchReport();\r\n // }\r\n // },\r\n // });\r\n // },\r\n // },\r\n // ]}\r\n // dropdownIcon=\"pi pi-ellipsis-v\"\r\n // />\r\n // \r\n // );\r\n // } else {\r\n // return (\r\n // \r\n // {\r\n // setVisibleDialog(true);\r\n // setCheckReport(true);\r\n // setEditReport(true);\r\n\r\n // fetchGetReportById(rowData.ReportTemplateId);\r\n // },\r\n // },\r\n // ]}\r\n // dropdownIcon=\"pi pi-ellipsis-v\"\r\n // />\r\n // \r\n // );\r\n // }\r\n // } catch (error) {\r\n // console.log(\"report=>error\", error);\r\n // }\r\n // };\r\n\r\n function toggleDialog() {\r\n setVisibleDialog(!visibleDialog);\r\n fetchReport();\r\n setEditReport(false);\r\n }\r\n\r\n async function fetchReport() {\r\n try {\r\n const userId = query.get(\"usrid\")\r\n ? () => {\r\n setIsAdmin(false);\r\n return query.get(\"usrid\");\r\n }\r\n : userData.EmployeeId;\r\n const _dataDynamic: any[] = await GetAllDynamic(apiName + \"/GetAll\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ EmployeeId: userId?.toString() }),\r\n });\r\n setData(_dataDynamic);\r\n setLoad(false);\r\n } catch (error) {\r\n console.log(\"table=>error\", error);\r\n setLoad(false);\r\n }\r\n }\r\n\r\n async function fetchTemplate() {\r\n const empid = userData.EmployeeId;\r\n const DepartmentId = userData.DepartmentId;\r\n\r\n const dataJsonn = {\r\n CreatedBy: empid.toString(),\r\n DepartmentId: DepartmentId,\r\n Username: userData.Username,\r\n Email: userData.Email,\r\n };\r\n\r\n let _dataTemplatee = await GetTemplateeBindFormNameDDL(dataJsonn);\r\n console.log(\"_dataTemplatee\", _dataTemplatee);\r\n\r\n setTemplate(_dataTemplatee);\r\n }\r\n\r\n async function fetchGetReportById(rePortId: any) {\r\n let _ReportById = await ReportTemplateSelectByReportID(rePortId);\r\n\r\n setDataEditReport(_ReportById);\r\n }\r\n\r\n if (isLoad) {\r\n return <>;\r\n }\r\n\r\n const actionBodyTemplate = (record: any) => {\r\n const adminActionBody = [\r\n {\r\n label: \"Edit\",\r\n icon: \"pi pi-pencil\",\r\n command: () => {\r\n fetchGetReportById(record.ReportTemplateId);\r\n setVisibleDialog(true);\r\n setCheckReport(true);\r\n setEditReport(true);\r\n },\r\n },\r\n {\r\n label: \"Delete\",\r\n icon: \"pi pi-trash\",\r\n command: () => {\r\n confirmDialog({\r\n message: \"Do you want to delete this report.\",\r\n header: \"Delete\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n rejectClassName: \"hide\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: async () => {\r\n const res = await DeleteReport(record.ReportTemplateId);\r\n if (res) {\r\n setLoad(true);\r\n fetchReport();\r\n }\r\n },\r\n });\r\n },\r\n },\r\n ];\r\n let _user: any = userData;\r\n if (query.get(\"usrId\")) {\r\n _user = empList.find((e: any) => e.EmployeeId == query.get(\"usrId\"));\r\n }\r\n\r\n if (isAdmin && !query.get(\"usrId\")) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else if (\r\n record.CreatedBy === _user.NameTh ||\r\n record.CreatedBy === _user.NameEn\r\n ) {\r\n return (\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 {apiName.replace(\"Dynamic\", \"\") + \"(\" + itemsCount + \")\"}\r\n

\r\n {_baseUrl !== \"lite.wolfapprove.com\" && (\r\n {\r\n toggleDialog();\r\n }}\r\n />\r\n )}\r\n
\r\n
\r\n\r\n {\r\n history.push(\r\n `${url}/${record.ReportName.replaceAll(\"/\", \"\\\\\")}/${\r\n record.ReportTemplateId\r\n }`\r\n );\r\n }}\r\n actionBodyTemplate={actionBodyTemplate}\r\n setItemsCount={setItemsCount}\r\n canExport={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\nexport default withPerMission(ReportScreen);\r\n","import React, { useRef, useEffect } from \"react\";\r\nimport WebViewer from \"@pdftron/webviewer\";\r\nimport \"./ShowContentScreen.css\";\r\nimport { Spin } from \"antd\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { Empty } from \"antd\";\r\ninterface Props {\r\n pdfData: string;\r\n onLoading: boolean;\r\n isShowPdfData: boolean;\r\n}\r\n\r\nexport const ShowContentScreen = (props: Props) => {\r\n const viewerDiv = useRef(null);\r\n useEffect(() => {\r\n console.log({ pdfdff: props.pdfData });\r\n }, [props.pdfData]);\r\n\r\n // useEffect(() => {\r\n // WebViewer(\r\n // {\r\n // path: \"lib\",\r\n // initialDoc:\r\n // \"https://testwolf18.wolfapprove.com/TempAttachment/ee864f46a1f14a54bf26f8d281719eb1/preview_TEST00-2021-000001.pdf\",\r\n // },\r\n // viewerDiv.current as HTMLDivElement\r\n // ).then((instance: any) => {});\r\n // }, []);\r\n // return
;\r\n return (\r\n
\r\n {props.isShowPdfData ? (\r\n props.onLoading ? (\r\n \r\n ) : props.pdfData.length > 0 ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n
\r\n {/*

404

*/}\r\n

Access denied!

\r\n

\r\n You do not have permission to perform access this resource. Please\r\n check your profile with system admin again.\r\n

\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./WorklistScreenComponent.css\";\r\ninterface Props {\r\n approvals?: any;\r\n requestor?: any;\r\n memoDetail: any;\r\n}\r\n\r\nexport const FlowCardComponent = (props: Props) => {\r\n console.log(\r\n props.approvals?.sequence ===\r\n props.memoDetail.requestDetails.memoDetail?.current_approval_level\r\n );\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n {props.approvals && (\r\n

\r\n {props.approvals.approver &&\r\n props.approvals.approver.nameEn.substring(0, 2).toUpperCase()}\r\n

\r\n )}\r\n {props.requestor && (\r\n

\r\n {props.requestor &&\r\n props.requestor.NameEn.substring(0, 2).toUpperCase()}\r\n

\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {props.approvals && (\r\n <>\r\n

{props.approvals.approver.nameEn}

\r\n

\r\n {props.approvals.approver.positionNameEn}\r\n

\r\n \r\n )}\r\n {props.requestor && (\r\n <>\r\n

{props.requestor.NameEn}

\r\n

{props.requestor.PositionNameEn}

\r\n \r\n )}\r\n
\r\n {/* change text color */}\r\n

\r\n {props.approvals && props.approvals.approver.departmentNameEn}\r\n {props.requestor && props.requestor.DepartmentNameEn}\r\n

\r\n
\r\n {props.approvals && (\r\n
\r\n {props.approvals.signature_en}\r\n
\r\n )}\r\n \r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { FlowCardComponent } from \"../../components/WorklistScreenComponent/FlowCardComponent\";\r\nimport { IApproval } from \"../../IRequestModel/IListApprovalDetailsModel\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport \"./FlowScreen.css\";\r\ninterface Props {\r\n approvals?: IApproval[];\r\n requestor?: IUserModel;\r\n memoDetail: any;\r\n}\r\n\r\nexport const FlowScreen = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n <>\r\n
\r\n

Flow

\r\n
\r\n

{t(\"Request By\")}

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

Approvals

\r\n {props.approvals &&\r\n props.approvals.map((data: any, idx: any) => {\r\n return (\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 { Table, Tag, Space, Divider, Row, Col } from \"antd\";\r\nimport \"./HistoryComponent.css\";\r\nimport moment from \"moment\";\r\nimport { AiFillAndroid, AiFillApple } from \"react-icons/ai\";\r\nimport { FaLine } from \"react-icons/fa\";\r\nimport { IoDesktopOutline } from \"react-icons/io5\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { Last } from \"react-bootstrap/esm/PageItem\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport useMasterSetting from \"../../../hooks/useMasterSetting\";\r\ninterface Props {\r\n listHistoryDetails?: any;\r\n listLineApprove?: any;\r\n t: any;\r\n}\r\nexport const HistoryComponent = (props: Props) => {\r\n const [data, setData] = useState([]);\r\n const [dataDialog, setDataDialog] = useState();\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const [userData, setUserData] = useUserContext();\r\n const { t } = useTranslation([\"translation\"]);\r\n const { masterSetting } = useMasterSetting();\r\n useEffect(() => {\r\n fetchData();\r\n }, []);\r\n\r\n const fetchData = () => {\r\n const responeWorkList = props.listHistoryDetails;\r\n const sortDate = responeWorkList?.sort((a: any, b: any) => {\r\n const aa = moment(a.action_date, \"DD/MM/YYYY HH:mm:ss\");\r\n const bb = moment(b.action_date, \"DD/MM/YYYY HH:mm:ss\");\r\n return moment(aa).diff(bb);\r\n });\r\n setData(sortDate);\r\n };\r\n const formatDateTime = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n let momentObj = moment(value, \"DD/MM/YYYY HH:mm:ss\");\r\n return moment(momentObj).format(\r\n masterSetting?.FormatDate?.Value1?.replaceAll(\"d\", \"D\") ||\r\n \"DD MMM yyyy , HH:mm:ss\"\r\n );\r\n }\r\n };\r\n const convertDate = (data: any) => {\r\n return formatDateTime(data);\r\n };\r\n const formatAction = (value: string) => {\r\n if (value == null) {\r\n return \"\";\r\n } else {\r\n if (value === \"submit\") {\r\n return props.t(\"Submitted\");\r\n } else if (value === \"recall\") {\r\n return props.t(\"Recalled\");\r\n } else if (value === \"rework\") {\r\n return props.t(\"Reworked\");\r\n } else if (value === \"reject\") {\r\n return props.t(\"Rejected\");\r\n } else if (value === \"approve\") {\r\n return props.t(\"Approved\");\r\n } else if (value === \"draft\") {\r\n return props.t(\"Draft\");\r\n } else if (value === \"return\") {\r\n return props.t(\"Return\");\r\n } else if (value === \"assign\") {\r\n return props.t(\"Assign\");\r\n } else if (value === \"request comment\") {\r\n return props.t(\"Request Comment\");\r\n } else if (value === \"reply\") {\r\n return props.t(\"Reply\");\r\n } else {\r\n return value;\r\n }\r\n }\r\n };\r\n const convertAction = (data: any) => {\r\n return formatAction(data);\r\n };\r\n const formatPlatform = (value: string) => {\r\n if (value === \"web\") {\r\n return (\r\n

\r\n เว็ปไซต์ WOLF Approve | Web\r\n

\r\n );\r\n }\r\n if (value === \"ios\") {\r\n return (\r\n

\r\n แอพพลิเคชั่น WOLF Approve | IOS\r\n

\r\n );\r\n }\r\n if (value === \"android\") {\r\n return (\r\n

\r\n แอพพลิเคชั่น WOLF Approve | Andriod\r\n

\r\n );\r\n }\r\n if (value === \"line\") {\r\n return (\r\n

\r\n แอพพลิเคชั่น WOLF Approve | Line\r\n

\r\n );\r\n }\r\n };\r\n const convertPlatform = (data: any) => {\r\n return formatPlatform(data);\r\n };\r\n const bgcolor = (data: any) => {\r\n return formatPlatform(data);\r\n };\r\n\r\n function convertHtml(_comment: any, _textAbstract?: boolean) {\r\n let response: string = \"\";\r\n if (_textAbstract) {\r\n response = textAbstract(_comment, 200);\r\n } else {\r\n response = _comment;\r\n }\r\n return
;\r\n }\r\n function textAbstract(text: any, length: any) {\r\n if (text == null) {\r\n return \"\";\r\n }\r\n if (text.length <= length) {\r\n return text;\r\n }\r\n text = text.substring(0, length);\r\n var last = text.lastIndexOf(\" \");\r\n text = text.substring(0, last);\r\n return text + \"...\";\r\n }\r\n function dialogDetailText() {\r\n return (\r\n setVisibleDialog(false)}\r\n dismissableMask\r\n draggable={false}\r\n >\r\n

\r\n

\r\n
\r\n
\r\n \r\n {props.t(\"Name\")} :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? dataDialog.actor_name_en\r\n : dataDialog.actor_name_th}\r\n
\r\n {dataDialog.action == \"draft\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"approve\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"recall\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"rework\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"request comment\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"submit\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"cancel\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"assign\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"reject\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"reply\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"return\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n {dataDialog.action == \"discard\" && (\r\n
\r\n \r\n {convertAction(dataDialog.action)}\r\n \r\n
\r\n )}\r\n
\r\n

\r\n

\r\n Position :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? dataDialog.actor_position_name_en\r\n : dataDialog.actor_position_name_th}\r\n

\r\n

\r\n {props.t(\"From Status\")} : {dataDialog.status}\r\n

\r\n

\r\n {props.t(\"Action Date\")} :{\" \"}\r\n {convertDate(dataDialog.action_date)}\r\n

\r\n \r\n {convertHtml(dataDialog.comment)}\r\n

\r\n
\r\n
\r\n
\r\n {convertPlatform(dataDialog.platform)}\r\n
\r\n
\r\n

\r\n \r\n );\r\n }\r\n return (\r\n
\r\n {dataDialog && dialogDetailText()}\r\n

{props.t(\"history\")}

\r\n\r\n
\r\n {data.length > 0 &&\r\n data.map((data, idx) => (\r\n
\r\n
\r\n
\r\n \r\n {props.t(\"Name\")} :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? data.actor_name_en\r\n : data.actor_name_th}\r\n
\r\n {data.action == \"draft\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"approve\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"recall\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"rework\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"request comment\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"submit\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"cancel\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"assign\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"reject\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"reply\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"return\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n {data.action == \"discard\" && (\r\n
\r\n \r\n {convertAction(data.action)}\r\n \r\n
\r\n )}\r\n
\r\n

\r\n

\r\n {props.t(\"Position\")} :{\" \"}\r\n {userData.Lang === \"EN\"\r\n ? data.actor_position_name_en\r\n : data.actor_position_name_th}\r\n

\r\n

\r\n {props.t(\"From Status\")} : {data.status}\r\n

\r\n

\r\n {props.t(\"Action Date\")}: {convertDate(data.action_date)}\r\n

\r\n \r\n {convertHtml(data.comment, true)}\r\n

\r\n {data?.comment && data?.comment?.length >= 200 && (\r\n

\r\n {\r\n setVisibleDialog(true);\r\n console.log(idx, \"idx\");\r\n setDataDialog(data);\r\n }}\r\n >\r\n {props.t(\"More\")}\r\n

\r\n

\r\n )}\r\n
\r\n
\r\n
{convertPlatform(data.platform)}
\r\n
\r\n ))}\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useState } from \"react\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { HistoryComponent } from \"../../components/RequestComponents/HistoryComponent/HistoryComponent\";\r\nimport { HistoryCardComponent } from \"../../components/WorklistScreenComponent/HistoryCardComponent\";\r\nimport { IWorklistHistory } from \"../../IRequestModel/IListHistoryDetailsModel\";\r\nimport \"./HistoryScreen.css\";\r\ninterface Props {\r\n historyData?: IWorklistHistory[];\r\n}\r\n\r\nexport const HistoryScreen = (props: Props) => {\r\n const [historyData, setHistoryData] = useState(\r\n props.historyData ? props.historyData : []\r\n );\r\n const { t } = useTranslation([\"translation\"]);\r\n\r\n return (\r\n
\r\n \r\n {/* {props.historyData.map((_data: any, idx: any) => (\r\n // \r\n undefined} />\r\n ))} */}\r\n
\r\n );\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./WorklistScreenComponent.css\";\r\nimport moment from \"moment\";\r\nimport {\r\n BsFileEarmarkPdfFill,\r\n BsFileEarmarkExcelFill,\r\n BsFillFileEarmarkTextFill,\r\n} from \"react-icons/bs\";\r\nimport { FaFilePowerpoint, FaFileWord } from \"react-icons/fa\";\r\ninterface Props {\r\n data: any;\r\n}\r\n\r\nexport const AttachmentCardComponent = (props: Props) => {\r\n const [comploteLink, setComploteLink] = useState(\"\");\r\n const formatDate = () => {\r\n let momentObj = moment(props.data.attach_date, \"DD/MM/yyyy HH:mm:ss\");\r\n\r\n return moment(momentObj).format(\"DD MMM yyyy , h:mm\");\r\n };\r\n const _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n useEffect(() => {\r\n showFile();\r\n }, []);\r\n\r\n const showFile = async () => {\r\n let component;\r\n const attachPath = props.data.attach_path;\r\n var pathArray = attachPath.split(\"/\");\r\n let comploteLink = \"\";\r\n const _link = attachPath\r\n ? attachPath.charAt(0) !== \"/\" && !_sharepointSiteURL\r\n ? \"/\" + attachPath\r\n : attachPath\r\n : \"\";\r\n const protocol = window.location.protocol;\r\n if (_sharepointSiteURL) {\r\n comploteLink = _link;\r\n // window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n } else if (_userData.TinyURL) {\r\n const _port = location.port;\r\n if (location.host !== \"localhost:5001\") {\r\n if (_port) {\r\n _userData.TinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n }\r\n\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n comploteLink = `https://${_link.replaceAll(\"https://\", \"\")}`;\r\n // window.open(\r\n // `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n } else if (_link.includes(\"http\")) {\r\n comploteLink = `http://${_link.replaceAll(\"http://\", \"\")}`;\r\n // window.open(\r\n // `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n } else {\r\n comploteLink = `https://${_link}`;\r\n // window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n comploteLink = `${protocol}//${_userData.TinyURL}${_link}`;\r\n // window.open(\r\n // `${protocol}//${_userData.TinyURL}${_link}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n }\r\n } else if (!_userData.TinyURL) {\r\n comploteLink = `${_link}`;\r\n // window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n setComploteLink(comploteLink);\r\n };\r\n\r\n const getFileIcon = (attachPath: string) => {\r\n if (attachPath.endsWith(\"pdf\")) {\r\n return ;\r\n } else if (\r\n attachPath.endsWith(\"png\") ||\r\n attachPath.endsWith(\"jpg\") ||\r\n attachPath.endsWith(\"jpeg\")\r\n ) {\r\n return \"flow-img\";\r\n } else if (attachPath.endsWith(\"doc\") || attachPath.endsWith(\"docx\")) {\r\n return ;\r\n } else if (\r\n attachPath.endsWith(\"csv\") ||\r\n attachPath.endsWith(\"xls\") ||\r\n attachPath.endsWith(\"xlsx\")\r\n ) {\r\n return ;\r\n } else if (attachPath.endsWith(\"pptx\") || attachPath.endsWith(\"ppt\")) {\r\n return ;\r\n } else if (attachPath.endsWith(\"txt\")) {\r\n return ;\r\n }\r\n };\r\n\r\n // const tinyURL = window.localStorage.getItem(\"tinyUrl\");\r\n return (\r\n <>\r\n {props.data && (\r\n window.open(comploteLink, \"_blank\", \"noreferrer\")}\r\n >\r\n
\r\n {getFileIcon(props.data.attach_path)}\r\n
\r\n
\r\n

{props.data.attach_file}

\r\n

{props.data.actor.NameEn}

\r\n

{props.data.description}

\r\n
\r\n

{formatDate()}

\r\n
\r\n )}\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { AttachmentCardComponent } from \"../../components/WorklistScreenComponent/AttachmentCardComponent\";\r\nimport { IAttachFile } from \"../../IRequestModel/IAttachfile\";\r\nimport \"./AttachmentScreen.css\";\r\ninterface Props {\r\n attachFiles?: IAttachFile[];\r\n}\r\n\r\nexport const AttachmentScreen = (props: Props) => {\r\n // const [attachFile, setAttachFile] = useState([]);\r\n // useEffect(() => {\r\n // setAttachFile([...props.attachFiles]);\r\n // }, [props.attachFiles]);\r\n return (\r\n
\r\n {props.attachFiles &&\r\n props.attachFiles.length > 0 &&\r\n props.attachFiles.map((data: any, idx: any) => (\r\n \r\n ))}\r\n
\r\n );\r\n};\r\n","import { InputTextarea } from \"primereact/inputtextarea\";\r\nimport React, { useRef, useState, useEffect } from \"react\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./CommentComponent.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { BiCommentDetail } from \"react-icons/bi\";\r\nimport { ConfirmDialog } from \"primereact/confirmdialog\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { GetAllEmployee } from \"../../Services/EmployeeService\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\n// import { Editor } from \"primereact/editor\";\\\r\nimport \"tinymce/tinymce\";\r\n// import tinymce from \"tinymce/tinymce\";\r\nimport \"tinymce/icons/default\";\r\nimport \"tinymce/themes/silver\";\r\nimport \"tinymce/plugins/paste\";\r\nimport \"tinymce/plugins/link\";\r\nimport \"tinymce/plugins/table\";\r\nimport \"tinymce/plugins/fullscreen\";\r\nimport \"tinymce/plugins/autolink\";\r\nimport \"tinymce/plugins/autosave\";\r\nimport \"tinymce/plugins/charmap\";\r\nimport \"tinymce/plugins/image\";\r\nimport \"tinymce/plugins/imagetools\";\r\nimport \"tinymce/plugins/textpattern\";\r\nimport \"tinymce/plugins/code\";\r\nimport \"tinymce/plugins/advlist\";\r\nimport \"tinymce/plugins/lists\";\r\nimport \"tinymce/plugins/print\";\r\nimport \"tinymce/plugins/preview\";\r\nimport \"tinymce/plugins/hr\";\r\nimport \"tinymce/plugins/anchor\";\r\nimport \"tinymce/plugins/pagebreak\";\r\nimport \"tinymce/plugins/searchreplace\";\r\nimport \"tinymce/plugins/wordcount\";\r\nimport \"tinymce/plugins/insertdatetime\";\r\nimport \"tinymce/plugins/media\";\r\nimport \"tinymce/plugins/nonbreaking\";\r\nimport \"tinymce/plugins/save\";\r\nimport \"tinymce/plugins/contextmenu\";\r\nimport \"tinymce/plugins/directionality\";\r\nimport \"tinymce/plugins/template\";\r\nimport \"tinymce/plugins/textcolor\";\r\nimport \"tinymce/plugins/colorpicker\";\r\nimport \"tinymce/skins/ui/oxide/skin.min.css\";\r\nimport \"tinymce/skins/ui/oxide/content.min.css\";\r\n// import \"./EditorComponent.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\ninterface Props {\r\n buttonType: any;\r\n commentStatus: boolean;\r\n setCommentStatus: any;\r\n require: boolean;\r\n onUpdate?: (\r\n // data: any,\r\n comment?: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => any;\r\n handleSubmit?: any;\r\n onSubmit?: any;\r\n pageName: any;\r\n lineApproval: any[];\r\n approvalSequence: number;\r\n}\r\n\r\nexport default function CommentComponent(props: Props) {\r\n const { toggleAlert } = useAlert();\r\n const [comment, setComment] = useState(\"\");\r\n const [placeholder, setPlaceholder] = useState(\"แสดงความคิดเห็น...\");\r\n const [isInvalid, setInvalid] = useState(true);\r\n const [dataEmployeeList, setDataEmployeeList] = useState();\r\n const [dataEmployee, setDataEmployee] = useState();\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [visibleConfirmDialog, setVisibleConfirmDialog] = useState(false);\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [selectedEmployee, setSelectedEmployee] = useState([]);\r\n const userData = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const [userInfo, setUserInfo] = useUserContext();\r\n const toast = useRef();\r\n const [isMultiAssign, setIsMultiAssign] = useState(\r\n sessionStorage.getItem(\"isMultiAssign\") == \"true\"\r\n );\r\n const [isMultiRequestComment, setIsMultiRequestComment] = useState(\r\n sessionStorage.getItem(\"isMultiRequestComment\") == \"true\"\r\n );\r\n const [showAll, setShowAll] = useState(false);\r\n const [selectionMode] = useState(\r\n props.buttonType == \"request comment\" && isMultiRequestComment\r\n ? \"multiple\"\r\n : props.buttonType == \"assign\" && isMultiAssign\r\n ? \"multiple\"\r\n : \"single\"\r\n );\r\n useEffect(() => {\r\n fetchDataEmployee();\r\n }, []);\r\n\r\n useEffect(() => {}, [props.lineApproval]);\r\n async function fetchDataEmployee() {\r\n let _dataEmployee = await GetAllEmployee();\r\n setDataEmployeeList(_dataEmployee);\r\n setSearchData(_dataEmployee);\r\n setIsLoading(false);\r\n }\r\n\r\n const onGlobalFilterChange = (e: any) => {\r\n const value = e.target.value;\r\n const dataEmp = dataEmployeeList;\r\n \r\n setGlobalFilterValue(value);\r\n const data = dataEmp\r\n .filter((data: any) => {\r\n const searchValue = value?.toLowerCase();\r\n return (\r\n data.EmployeeCode.toLowerCase().includes(searchValue) ||\r\n data.NameTh?.toLowerCase().includes(searchValue) ||\r\n data.NameEn?.toLowerCase().includes(searchValue) ||\r\n data.PositionNameEn?.toLowerCase().includes(searchValue) ||\r\n data.DepartmentNameEn?.toLowerCase().includes(searchValue)\r\n );\r\n })\r\n .sort((a: any, b: any) => {\r\n const searchValue = value?.toLowerCase();\r\n if (!searchValue) {\r\n // If no search value, sort by EmployeeCode\r\n return a.EmployeeCode.localeCompare(b.EmployeeCode);\r\n } else {\r\n const lang = userInfo.Lang\r\n const nameA = lang ===\"TH\"? a.NameTh?.toLowerCase() : a.NameEn?.toLowerCase()|| \"\";\r\n const nameB = lang ===\"TH\"? b.NameTh?.toLowerCase() : b.NameEn?.toLowerCase() || \"\";\r\n return nameA.localeCompare(nameB, 'en', { sensitivity: 'base' });\r\n }\r\n });\r\n \r\n setSearchData([...data]);\r\n };\r\n\r\n function showModal(show = true) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(show);\r\n }\r\n\r\n const showError = () => {\r\n toggleAlert({\r\n description: `Please insert comment.`,\r\n message: `Comment field warning.`,\r\n type: \"warning\",\r\n });\r\n };\r\n const ClearMultiSelectEmployee = () => {\r\n setSelectedEmployee([]);\r\n };\r\n const ConfirmMultiSelectEmployee = () => {\r\n if (selectedEmployee.length == 0) {\r\n toggleAlert({\r\n description: `Please select at least one employee.`,\r\n message: `Select employee warning.`,\r\n type: \"warning\",\r\n });\r\n } else {\r\n let employee = selectedEmployee.reduce(\r\n (r, n) => {\r\n r.NameEn.push(n.EmployeeId);\r\n return r;\r\n },\r\n { EmployeeId: 0, NameEn: [] }\r\n );\r\n employee.NameEn = employee.NameEn.join(\",\");\r\n setVisibleConfirmDialog(true);\r\n setDataEmployee({ data: employee });\r\n }\r\n };\r\n const EmployeeDialogFooter = () => {\r\n return (\r\n <>\r\n
\r\n \r\n \r\n ClearMultiSelectEmployee()}\r\n >\r\n Clear\r\n \r\n \r\n \r\n ConfirmMultiSelectEmployee()}\r\n >\r\n Confirm\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n };\r\n const EmployeeDialog = () => {\r\n return (\r\n <>\r\n showModal(false)}\r\n draggable={false}\r\n resizable={false}\r\n closable={true}\r\n blockScroll\r\n footer={selectionMode == \"multiple\" ? EmployeeDialogFooter : false}\r\n >\r\n \r\n \r\n \r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Name

\r\n

ชื่อ

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n );\r\n };\r\n const onSelectionChange = (event: any) => {\r\n if (event.value) {\r\n if (selectionMode == \"single\") {\r\n setVisibleConfirmDialog(true);\r\n if (isMultiAssign || isMultiRequestComment) {\r\n setDataEmployee({\r\n data: { EmployeeId: 0, NameEn: String(event.value.EmployeeId) },\r\n });\r\n } else {\r\n setDataEmployee({ data: event.value });\r\n }\r\n } else if (selectionMode == \"multiple\") {\r\n setSelectedEmployee(event.value);\r\n }\r\n }\r\n };\r\n const confirmUploadDialog = () => {\r\n return (\r\n <>\r\n setVisibleConfirmDialog(false)}\r\n message=\"Do you want to confirm this action?\"\r\n header=\"Confirmation\"\r\n icon=\"p-confirm-dialog-icon pi pi-info-circle\"\r\n acceptClassName=\"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\"\r\n accept={() => {\r\n sentToMemo(\r\n comment,\r\n dataEmployee.data.EmployeeId,\r\n dataEmployee.data.NameEn\r\n );\r\n }}\r\n reject={() => {\r\n setVisibleConfirmDialog(false);\r\n setDataEmployee(null);\r\n }}\r\n draggable={false}\r\n resizable={false}\r\n />\r\n \r\n );\r\n };\r\n const renderHeader = () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n const HeaderDialogComment = () => {\r\n try {\r\n return (\r\n <>\r\n {(props.buttonType === \"submit\" || props.buttonType === \"approve\") &&\r\n props.lineApproval?.filter((line) =>\r\n showAll\r\n ? line.sequence >= props.approvalSequence + 1\r\n : line.sequence === props.approvalSequence + 1\r\n ).length > 0 && (\r\n <>\r\n
\r\n

สายอนุมัติคนถัดไป

\r\n \r\n showAll\r\n ? line.sequence >= props.approvalSequence + 1\r\n : line.sequence === props.approvalSequence + 1\r\n )\r\n ?.map((e) => {\r\n console.log(\"approve\", e);\r\n\r\n return {\r\n name: e.approver[\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n ],\r\n position:\r\n e.approver[\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"PositionNameEn\"\r\n : \"PositionNameTh\"\r\n ],\r\n department:\r\n e.approver[\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"DepartmentNameEn\"\r\n : \"DepartmentNameTh\"\r\n ],\r\n signature:\r\n e[\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"signature_en\"\r\n : \"signature_th\"\r\n ],\r\n };\r\n })}\r\n >\r\n \r\n

Employee Name

\r\n

ชื่อพนักงาน

\r\n \r\n }\r\n />\r\n \r\n

Position

\r\n

ตำแหน่ง

\r\n \r\n }\r\n />\r\n \r\n

Department

\r\n

หน่วยงาน

\r\n \r\n }\r\n />\r\n \r\n

Signature

\r\n

คำลงท้าย

\r\n \r\n }\r\n />\r\n \r\n {Math.max(...props.lineApproval.map((o) => o.sequence)) -\r\n (props.approvalSequence + 1) >\r\n 0 && (\r\n {\r\n setShowAll(!showAll);\r\n }}\r\n >\r\n {showAll ? <>ย่อ : <>แสดงทั้งหมด}\r\n \r\n )}\r\n
\r\n
\r\n \r\n )}\r\n\r\n
\r\n

Comment

\r\n {props.require === true && (\r\n

\r\n *\r\n

\r\n )}\r\n
\r\n \r\n );\r\n } catch (error) {\r\n console.error(error);\r\n return <>;\r\n }\r\n };\r\n const Footer = () => {\r\n return (\r\n
\r\n \r\n \r\n {\r\n props.setCommentStatus(false);\r\n setComment(\"\");\r\n }}\r\n >\r\n Cancel\r\n \r\n \r\n \r\n {\r\n ConfirmCheck();\r\n }}\r\n >\r\n Confirm\r\n \r\n \r\n \r\n
\r\n );\r\n };\r\n\r\n function ConfirmCheck() {\r\n setSearchData(dataEmployeeList);\r\n if (\r\n props.buttonType === \"submit\" ||\r\n props.buttonType === \"draft\" ||\r\n props.buttonType === \"approve\"\r\n ) {\r\n setInvalid(true);\r\n sentToMemo(comment);\r\n } else if (\r\n props.buttonType === \"cancel\" ||\r\n props.buttonType === \"recall\" ||\r\n props.buttonType === \"rework\" ||\r\n props.buttonType === \"reject\" ||\r\n props.buttonType === \"return\" ||\r\n props.buttonType === \"reply\"\r\n ) {\r\n if (!comment) {\r\n setPlaceholder(\"กรุณากรอกความคิดเห็นก่อนยืนยัน..\");\r\n setInvalid(false);\r\n showError();\r\n } else {\r\n sentToMemo(comment);\r\n }\r\n } else if (\r\n props.buttonType === \"assign\" ||\r\n props.buttonType === \"request comment\"\r\n ) {\r\n if (!comment) {\r\n setPlaceholder(\"กรุณากรอกความคิดเห็นก่อนยืนยัน..\");\r\n setInvalid(false);\r\n showError();\r\n } else {\r\n showModal();\r\n }\r\n }\r\n }\r\n const sentToMemo = (\r\n inputComment: string,\r\n waiting_for_id?: number,\r\n waiting_for?: string\r\n ) => {\r\n console.log({ inputComment });\r\n props.setCommentStatus(false);\r\n if (props.pageName.trim() === \"WorkList\" && props.onUpdate) {\r\n props.onUpdate(inputComment, waiting_for, waiting_for_id);\r\n\r\n // props.handleSubmit((e: any) => {\r\n // props.onSubmit(e, {\r\n // buttonType: props.buttonType,\r\n // inputComment: inputComment,\r\n // waitingFor: waiting_for,\r\n // waitingForId: waiting_for_id,\r\n // });\r\n // })();\r\n } else if (props.pageName.trim() === \"Request\") {\r\n console.log(\"request=>\", {\r\n buttonType: props.buttonType,\r\n inputComment: inputComment,\r\n waitingFor: waiting_for,\r\n waitingForId: waiting_for_id,\r\n });\r\n\r\n props.handleSubmit((e: any) => {\r\n console.log(\"request=>e\", e);\r\n props.onSubmit(e, {\r\n buttonType: props.buttonType,\r\n inputComment: inputComment,\r\n waitingFor: waiting_for,\r\n waitingForId: waiting_for_id,\r\n });\r\n })();\r\n }\r\n };\r\n const headerEditor = () => {\r\n return ;\r\n };\r\n\r\n return (\r\n <>\r\n props.setCommentStatus(false)}\r\n footer={Footer}\r\n >\r\n \r\n {HeaderDialogComment()}\r\n console.log(props.buttonType)}\r\n >\r\n {\r\n setIsLoading(false);\r\n }}\r\n tinymceScriptSrc={\r\n process.env.PUBLIC_URL + \"/tinymce/js/tinymce/tinymce.min.js\"\r\n }\r\n init={{\r\n // selector: \"textarea#file-picker\",\r\n statusbar: false,\r\n paste_data_images: false,\r\n menubar: \"\",\r\n content_css: false,\r\n // auto_focus: \"elm1\",\r\n height: 300,\r\n fullscreen_native: true,\r\n remove_script_host: false,\r\n relative_urls: false,\r\n image_title: true,\r\n automatic_uploads: true,\r\n image_sourcetab: false,\r\n image_advtab: false,\r\n plugins: [\r\n \"image code\",\r\n \"advlist autolink lists image charmap print preview hr anchor pagebreak\",\r\n \"searchreplace wordcount code fullscreen\",\r\n \"insertdatetime media nonbreaking save table contextmenu directionality\",\r\n \"template textcolor colorpicker textpattern imagetools image paste\",\r\n \"link\",\r\n ],\r\n toolbar: \"\",\r\n fontsize_formats:\r\n \"8pt 10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 36pt\",\r\n font_formats:\r\n \"Angsana New=angsana new,times;\" +\r\n \"Arial=arial,helvetica,sans-serif;\" +\r\n \"Arial Black=arial black,avant garde;\" +\r\n \"Book Antiqua=book antiqua,palatino;\" +\r\n \"Comic Sans MS=comic sans ms,sans-serif;\" +\r\n \"Courier New=courier new,courier;\" +\r\n \"DB Sathorn X=DB Sathorn X;\" +\r\n \"Georgia=georgia,palatino;\" +\r\n \"Helvetica=helvetica;\" +\r\n \"Impact=impact,chicago;\" +\r\n \"Symbol=symbol;\" +\r\n \"Tahoma=tahoma,arial,helvetica,sans-serif;\" +\r\n \"Terminal=terminal,monaco;\" +\r\n \"Times New Roman=times new roman,times;\" +\r\n \"Trebuchet MS=trebuchet ms,geneva;\" +\r\n \"Verdana=verdana,geneva;\" +\r\n \"Webdings=webdings;\" +\r\n \"TH Sarabun=sarabun;\" +\r\n \"Leelawadee=Leelawadee;\" +\r\n \"Sukhumvit Set=Sukhumvit Set;\" +\r\n \"Wingdings=wingdings,zapf dingbats\",\r\n content_style:\r\n \"@import url('https://fonts.googleapis.com/css2?family=Sarabun&display=swap'); body { font-family: 'Sarabun', sans-serif; }\" +\r\n \"@import url('https://fonts.cdnfonts.com/css/leelawadee'); body { font-family: 'Leelawadee', sans-serif; }\",\r\n }}\r\n value={comment}\r\n onEditorChange={(content: any, editor: any) => {\r\n console.log({ content });\r\n\r\n setComment(content);\r\n // handleEditorChange(content, editor, onChange);\r\n }}\r\n />\r\n \r\n \r\n {EmployeeDialog()}\r\n {confirmUploadDialog()}\r\n \r\n );\r\n}\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./MemoButtonComponent.css\";\r\nimport { BiSend, BiCommentDetail } from \"react-icons/bi\";\r\nimport { IoCheckmarkCircleOutline } from \"react-icons/io5\";\r\n\r\nimport { AiOutlineSave } from \"react-icons/ai\";\r\nimport { MdOutlineCancel } from \"react-icons/md\";\r\nimport {\r\n IoMdCheckmarkCircleOutline,\r\n IoMdRefresh,\r\n IoMdArrowRoundBack,\r\n} from \"react-icons/io\";\r\nimport { RiDeleteBinLine, RiFileForbidLine } from \"react-icons/ri\";\r\nimport { BsArrowRight } from \"react-icons/bs\";\r\nimport CommentComponent from \"../Input/CommentComponent\";\r\nimport { ConfirmDialogComponents } from \"../ConfirmDialogComponent/ConfirmDialogComponents\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n pageName: string;\r\n handleSubmit?: any;\r\n onSubmit?: any;\r\n memoMenu: any;\r\n buttonType?: string;\r\n setButtonType: any;\r\n setSelectedView?: any;\r\n setCurPage?: any;\r\n onUpdate?: (\r\n comment?: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => void;\r\n lineApproval: any[];\r\n approvalSequence: number;\r\n}\r\n\r\nexport const MemoButtonComponent = (props: Props) => {\r\n const [memoMenuButton, setMemoMenuButton] = useState();\r\n const [commentStatus, setCommentStatus] = useState(false);\r\n const [require, setRequire] = useState(false);\r\n const { t } = useTranslation([\"translation\"]);\r\n useEffect(() => {\r\n mapMemoButton(props.memoMenu);\r\n return memoMenuButton;\r\n }, [props.memoMenu, props.lineApproval]);\r\n\r\n const mapMemoButton = (menuData: any) => {\r\n if (typeof menuData !== \"undefined\") {\r\n const mapMenuData = menuData.map((data: any, idx: any) => {\r\n if (data.commandName === \"reply\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n\r\n props.setButtonType(\"reply\");\r\n setCommentStatus(true);\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"submit\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n\r\n props.setButtonType(\"submit\");\r\n setCommentStatus(true);\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"approve\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n props.setButtonType(\"approve\");\r\n setCommentStatus(true);\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"return\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"return\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"discard\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"discard\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n {data.text}\r\n \r\n );\r\n }\r\n if (data.commandName === \"draft\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"draft\");\r\n setRequire(false);\r\n }}\r\n >\r\n \r\n

{t(\"Save Draft\")}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"cancel\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"cancel\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"recall\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"recall\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"rework\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"rework\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"request comment\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"request comment\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"assign\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"assign\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n if (data.commandName === \"reject\") {\r\n return (\r\n {\r\n if (props.setSelectedView && props.setCurPage) {\r\n props.setSelectedView(\"2\");\r\n props.setCurPage(\"2\");\r\n }\r\n setCommentStatus(true);\r\n props.setButtonType(\"reject\");\r\n setRequire(true);\r\n }}\r\n >\r\n \r\n

{t(data.text)}

\r\n \r\n );\r\n }\r\n return <>;\r\n });\r\n setMemoMenuButton(mapMenuData);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
{memoMenuButton}
\r\n {commentStatus == true && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n","import { IUserModel } from \"../IRequestModel/IUserModel\";\r\nimport { GetMemoDetail, GetMemoDetailById } from \"./MemoService\";\r\nimport { GetTemplateById } from \"./TemplateService\";\r\n\r\nexport const GeneratePDF = async (\r\n memoId: any,\r\n userData: IUserModel,\r\n requestDetail?: any\r\n) => {\r\n let _requestDetail: any = {};\r\n let dataJson: any = {};\r\n if (!requestDetail) {\r\n const responeMemoDetail = await GetMemoDetail({\r\n Memoid: memoId,\r\n SecretId: \"\",\r\n EmployeeId: userData.EmployeeId.toString(),\r\n TemplateId: 0,\r\n DocumentCode: \"\",\r\n DocumentNo: \"\",\r\n\r\n actor: userData,\r\n });\r\n\r\n _requestDetail = responeMemoDetail.requestDetails;\r\n console.log({ requestDetail, memoId, responeMemoDetail });\r\n } else {\r\n _requestDetail = requestDetail;\r\n }\r\n\r\n _requestDetail.memoDetail.actor = userData;\r\n const responePreviewPDF = await fetch(`api/PreviewPdf/PreviewPdf`, {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify({ MemoPage: _requestDetail }),\r\n });\r\n const respone = await responePreviewPDF.json();\r\n return respone;\r\n};\r\n\r\nexport const newGeneratePDF = async (memoId: any) => {\r\n const respone = await fetch(\"api/PreviewPdf/GenPreviewPDF\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(memoId),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n });\r\n\r\n return respone;\r\n};\r\n","export default __webpack_public_path__ + \"static/media/ic_history.70631641.svg\";","export default __webpack_public_path__ + \"static/media/ic_attachment_file.95c72623.svg\";","import React, { useEffect, useState } from \"react\";\r\nimport { Badge, Space } from \"antd\";\r\nimport IC_HISTORY from \"./../../../assets/ic_history.svg\";\r\nimport IC_ATTACHMENT_FILE from \"./../../../assets/ic_attachment_file.svg\";\r\n\r\ninterface BadgeNotificateProps {\r\n badgeSize?: \"default\" | \"small\";\r\n badgeColor?: string;\r\n dataDetail: any;\r\n requestData: any;\r\n dataMemo: any;\r\n type?: \"attachment\" | \"history\";\r\n children?: any;\r\n offset?: [number, number]; // [left, top]\r\n isCard?: boolean;\r\n}\r\n\r\nexport const BadgeNotificate = (props: BadgeNotificateProps) => {\r\n const [count, setCount] = useState(0);\r\n const [hasLastComment, setHasLastComment] = useState(false);\r\n\r\n useEffect(() => {\r\n setNotificate();\r\n });\r\n\r\n const setNotificate = () => {\r\n if (props.dataMemo) {\r\n if (props.type === \"history\") {\r\n setHasLastComment(props.dataMemo?.IsMemoHistoryLastComment);\r\n setCount(props.dataMemo?.MemoHistoryAmount);\r\n } else {\r\n setCount(props.dataMemo?.MemoAttachFileAmount);\r\n }\r\n } else {\r\n let amountAttachment: number = 0;\r\n let history: any[] = [];\r\n let lastComment: boolean = false;\r\n\r\n if (props.dataDetail) {\r\n let data = props.dataDetail;\r\n amountAttachment = data?.attachfiles?.length;\r\n history = data?.history;\r\n } else if (props.requestData) {\r\n const requestDetail = props.requestData;\r\n const request = requestDetail?.requestDetails;\r\n amountAttachment = request?.listFileAttachDetails?.length;\r\n history = request?.listHistoryDetails;\r\n }\r\n history = history?.sort((a: any, b: any) => a?.action_id - b?.action_id);\r\n lastComment = history?.slice(-1).shift()?.comment !== \"\";\r\n let amountComment: number = history?.filter(\r\n (el: any) => el.comment !== \"\"\r\n ).length;\r\n let amount: number = 0;\r\n if (props.type === \"attachment\") {\r\n amount = amountAttachment;\r\n } else if (props.type === \"history\") {\r\n amount = amountComment;\r\n setHasLastComment(lastComment);\r\n }\r\n setCount(amount);\r\n }\r\n };\r\n\r\n if (props.dataMemo) {\r\n return (\r\n \r\n {count > 0 && (\r\n \r\n \r\n {props.type === \"attachment\" ? (\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 !props.dataDetail && !props.requestData ? (\r\n props.children\r\n ) : props.isCard ? (\r\n count > 0 ? (\r\n \r\n {props.children}\r\n \r\n ) : (\r\n props.children\r\n )\r\n ) : count > 0 ? (\r\n \r\n {props.children}\r\n \r\n ) : (\r\n props.children\r\n );\r\n};\r\n","import React, { useState, useEffect, FC } from \"react\";\r\nimport \"./DetailContentScreen.css\";\r\nimport { BsFileEarmarkRuledFill, BsClockHistory } from \"react-icons/bs\";\r\nimport { RiNodeTree } from \"react-icons/ri\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { ShowContentScreen } from \"./ShowContentScreen\";\r\nimport { FlowScreen } from \"./FlowScreen\";\r\nimport { HistoryScreen } from \"./HistoryScreen\";\r\nimport { AttachmentScreen } from \"./AttachmentScreen\";\r\nimport { IoDocumentText, IoOpenOutline } from \"react-icons/io5\";\r\nimport { MemoButtonComponent } from \"../../components/MemoButton/MemoButtonComponent\";\r\nimport { MemoSingleButton } from \"../../components/MemoButton/MemoSingleButton\";\r\nimport { GeneratePDF, newGeneratePDF } from \"../../Services/ReviewPdfService\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { motion, AnimatePresence } from \"framer-motion\";\r\nimport { IWorklistDetail } from \"../../IRequestModel/IWorklistModel\";\r\nimport { GetMemoDetail } from \"../../Services/MemoService\";\r\nimport { BadgeNotificate } from \"../../components/AntdControlComponent/BadgeNotificateComponent/BadgeNotificate\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\n\r\ninterface Props {\r\n data?: IWorklistDetail;\r\n menuButton: any;\r\n onUpdate: (\r\n type: any,\r\n memoId: any,\r\n comment: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => void;\r\n isShowPdfData: boolean;\r\n setButtonType: any;\r\n buttonType: string;\r\n onDetailLoading: any;\r\n calFlexLayout: {\r\n workList: number;\r\n content: number\r\n }\r\n}\r\n\r\nexport const DetailContentScreen: FC = ({\r\n data,\r\n menuButton,\r\n onUpdate,\r\n isShowPdfData,\r\n setButtonType,\r\n buttonType,\r\n onDetailLoading,\r\n calFlexLayout\r\n}) => {\r\n const [userData] = useUserContext();\r\n const [page, setPage] = useState(1);\r\n const [onLoading, setOnLoading] = useState(true);\r\n const [pdfData, setPdfData] = useState(\"\");\r\n const [memoMenu, setMemoMenu] = useState();\r\n const [memo, setMemo] = useState();\r\n\r\n useEffect(() => {\r\n setOnLoading(true);\r\n setPage(1);\r\n onFetchPdf(data?.MemoID);\r\n Fetch();\r\n }, [data]);\r\n // useEffect(() => {\r\n // Fetch();\r\n // }, []);\r\n\r\n useEffect(() => {\r\n const menuButtonSort = menuButton.sort(\r\n (x: any, y: any) => x.sequence - y.sequence\r\n );\r\n setMemoMenu(menuButtonSort);\r\n return;\r\n }, [menuButton]);\r\n const history = useHistory();\r\n\r\n async function onFetchPdf(memoId: any) {\r\n let responeData = await GeneratePDF(memoId, userData);\r\n // let responeData = await (await fetch(`api/Memo/PreviewPdfUrl?MemoId=${memoId}`)).json();\r\n\r\n setOnLoading(false);\r\n\r\n setPdfData(responeData);\r\n }\r\n async function Fetch() {\r\n const request = {\r\n Memoid: data?.MemoID,\r\n TemplateId: null,\r\n DocumentCode: null,\r\n SecretId: \"\",\r\n EmployeeId: userData.EmployeeId.toString(),\r\n actor: userData,\r\n };\r\n const response = await GetMemoDetail(request);\r\n\r\n setMemo(response);\r\n }\r\n\r\n return (\r\n \r\n
\r\n
\r\n {\r\n setPage(1);\r\n }}\r\n >\r\n \r\n

Content

\r\n
\r\n setPage(2)}\r\n >\r\n \r\n

Flow

\r\n
\r\n\r\n setPage(3)}\r\n >\r\n \r\n

History

\r\n \r\n }\r\n dataMemo={null}\r\n />\r\n\r\n setPage(4)}\r\n >\r\n \r\n

Attachment

\r\n \r\n }\r\n dataMemo={null}\r\n />\r\n\r\n
\r\n {\r\n const _data = {\r\n MemoID: data?.MemoID,\r\n pdfData: pdfData,\r\n };\r\n history.push(`/Request?MemoID=${_data.MemoID}`, _data);\r\n }}\r\n />\r\n
\r\n \r\n {/* */}\r\n {onDetailLoading ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n {page === 1 && (\r\n \r\n )}\r\n {page === 2 && (\r\n \r\n )}\r\n {page === 3 && }\r\n {page === 4 && (\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n onUpdate(\r\n buttonType,\r\n data?.MemoID,\r\n comment,\r\n waiting_for,\r\n waiting_for_id\r\n )\r\n }\r\n pageName={\"WorkList\"}\r\n lineApproval={memo?.requestDetails?.listApprovalDetails}\r\n approvalSequence={\r\n memo?.requestDetails?.memoDetail?.current_approval_level\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 { ConfigProvider, DatePicker, Space } from \"antd\";\r\nimport { BsCalendarDate } from \"react-icons/bs\";\r\nimport { GrFormNextLink } from \"react-icons/gr\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport dayjs from \"dayjs\";\r\nimport type { TimeRangePickerProps } from \"antd\";\r\nimport moment from \"moment\";\r\n\r\nconst { RangePicker } = DatePicker;\r\n\r\ninterface Props {\r\n id: string;\r\n title: string;\r\n name: string;\r\n disable?: boolean;\r\n dates: any;\r\n onSelectChange: (e: any, f: any) => void;\r\n isFullWidth: boolean;\r\n showIcon?: boolean;\r\n dateRange?: number;\r\n}\r\n\r\nexport const SelectDate = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n const [dates, setDates] = useState(props.dates);\r\n const [isOpen, setIsOpen] = useState(false);\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n useEffect(() => {\r\n setDates(props.dates);\r\n }, [props.dates]);\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n useEffect(() => {\r\n if (!isOpen && dates !== props.dates) {\r\n props.onSelectChange(dates, props.name);\r\n }\r\n }, [isOpen]);\r\n\r\n // const rangePresets: TimeRangePickerProps[\"presets\"] = [\r\n // { label: \"Today\", value: [dayjs(), dayjs().endOf(\"day\")] },\r\n // {\r\n // label: \"This Month\",\r\n // value: [dayjs().startOf(\"month\"), dayjs().endOf(\"month\")],\r\n // },\r\n // {\r\n // label: \"This Year\",\r\n // value: [dayjs().startOf(\"year\"), dayjs().endOf(\"year\")],\r\n // },\r\n // ];\r\n\r\n return (\r\n \r\n {props.showIcon === undefined && (\r\n \r\n )}\r\n {props.showIcon !== false && (\r\n \r\n )}\r\n setIsOpen(e)}\r\n className={\"custom-date\"}\r\n value={props.dates}\r\n suffixIcon={null}\r\n placeholder={[t(\"Start date\"), t(\"End date\")]}\r\n separator={}\r\n onCalendarChange={(val) => setDates(val)}\r\n onChange={(date) => {\r\n if (!date && dates !== date) {\r\n props.onSelectChange(date, props.name);\r\n }\r\n }}\r\n ranges={{\r\n Today: [moment(), moment()],\r\n \"This Month\": [moment().startOf(\"month\"), moment().endOf(\"month\")],\r\n \"This Year\": [moment().startOf(\"year\"), moment().endOf(\"year\")],\r\n }}\r\n />\r\n \r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport { Select, Divider } from \"antd\";\r\nimport \"./Select.css\";\r\nimport { MdOutlineSelectAll } from \"react-icons/md\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\ninterface Props {\r\n id: string;\r\n title: string;\r\n name: string;\r\n icon: any;\r\n values: any[];\r\n disable?: boolean;\r\n\r\n onSelectChange: (text: string[], formSelect: string) => void;\r\n defaultVaue?: string[];\r\n}\r\n\r\nexport const MultiSelectDropdown = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]); \r\n const [selectValue, setSelectValue] = useState(\r\n props.defaultVaue ? props.defaultVaue : []\r\n );\r\n const [isOpen, setIsOpen] = useState(false);\r\n const { Option } = Select;\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n console.log(props.values, \"values\");\r\n }, []);\r\n\r\n useEffect(() => {\r\n setSelectValue(props.defaultVaue ? props.defaultVaue : []);\r\n }, [props.defaultVaue]);\r\n const onSelectAll = () => {\r\n let selected = []\r\n for (let i = 0; i < props.values.length; i++) {\r\n selected.push(props.values[i].value);\r\n }\r\n setSelectValue([...selected]);\r\n props.onSelectChange(selected, props.name);\r\n };\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n return (\r\n
\r\n

\r\n setIsOpen(e)}\r\n mode=\"multiple\"\r\n allowClear\r\n style={{ width: \"100%\" }}\r\n placeholder={props.title}\r\n defaultValue={selectValue}\r\n value={selectValue}\r\n dropdownStyle={{ width: \"200px\" }}\r\n onClear={() => setSelectValue([])}\r\n onDeselect={(value: string) => {\r\n let selected = selectValue;\r\n const _selected = selected.filter(\r\n (valueFilter: any) => value != valueFilter\r\n );\r\n setSelectValue([..._selected]);\r\n }}\r\n onSelect={(value: string) => {\r\n let selected = selectValue;\r\n selected.push(value);\r\n setSelectValue([...selected]);\r\n }}\r\n onChange={(e: string[]) => props.onSelectChange(e, props.name)}\r\n dropdownRender={(menu) => (\r\n
\r\n onSelectAll()}\r\n >\r\n

{t(\"All\")}

\r\n
\r\n \r\n\r\n {menu}\r\n
\r\n )}\r\n options={props.values}\r\n >\r\n {props.icon}\r\n \r\n );\r\n};\r\n","import React from \"react\";\r\nimport \"./SearchFilterComponent.css\";\r\nimport { BsSearch } from \"react-icons/bs\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n onFilterChange: (text: string) => void;\r\n searchKeyword?: string;\r\n}\r\n\r\nexport const SearchFilterComponent = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n return (\r\n
\r\n
\r\n \r\n props.onFilterChange(e.target.value)}\r\n placeholder={t(\"Search\") || \"\"}\r\n />\r\n
\r\n
\r\n );\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport Form from \"react-bootstrap/Form\";\r\nimport { Select, Divider } from \"antd\";\r\nimport \"./Select.css\";\r\nimport { MdOutlineSelectAll } from \"react-icons/md\";\r\n\r\ninterface Props {\r\n id: string;\r\n title: string;\r\n name: string;\r\n icon: any;\r\n values: any;\r\n disable?: boolean;\r\n defaultValue?: string;\r\n alowClear?: boolean;\r\n onSelectChange: (text: string) => void;\r\n}\r\n\r\nexport const SelectDropdown = (props: Props) => {\r\n const [isOpen, setIsOpen] = useState(false);\r\n useEffect(() => {\r\n window.addEventListener(\"scroll\", handleScroll);\r\n }, []);\r\n const handleScroll = (e: any) => {\r\n setIsOpen(false);\r\n };\r\n return (\r\n
\r\n setIsOpen(e)}\r\n value={props.defaultValue}\r\n allowClear={props.alowClear !== undefined ? false : true}\r\n style={{ width: \"100%\" }}\r\n placeholder=\"Please select\"\r\n onChange={(e: string) => props.onSelectChange(e)}\r\n options={props.values}\r\n >\r\n {props.icon}\r\n
\r\n );\r\n};\r\n","import React, { useEffect } from \"react\";\r\nimport { SelectDate } from \"../../components/Select/SelectDate\";\r\nimport { MultiSelectDropdown } from \"../../components/Select/MultiSelectDropdown\";\r\nimport { Divider } from \"antd\";\r\nimport { AiOutlineCalendar } from \"react-icons/ai\";\r\nimport { BsListTask } from \"react-icons/bs\";\r\nimport { IoNewspaperOutline } from \"react-icons/io5\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { BiBuildings } from \"react-icons/bi\";\r\nimport { RiNodeTree, RiListCheck2 } from \"react-icons/ri\";\r\nimport { SearchFilterComponent } from \"../../components/SearchFilterComponent/SearchFilterComponent\";\r\nimport { SelectDropdown } from \"../../components/Select/SelectDropdown\";\r\nimport { Moment } from \"moment\";\r\nimport {\r\n ISearchWorklist,\r\n WorklistHeaderType,\r\n WorklistSerachType,\r\n} from \"../../IRequestModel/IWorklistModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\ninterface Props {\r\n searchObject?: ISearchWorklist;\r\n onSelectChange: (\r\n value: string | string[] | [Moment, Moment],\r\n formSelect: WorklistSerachType,\r\n _date?: any\r\n ) => void;\r\n onSelectTask: (text: WorklistHeaderType) => void;\r\n formType: any[];\r\n formStatus: any[];\r\n allCompany: any[];\r\n allDepartment: any[];\r\n defaultTask: string;\r\n}\r\n\r\nconst WorkListSideBarElementUse = (props: Props) => {\r\n const { t } = useTranslation([\"translation\"]);\r\n const display = [\r\n {\r\n value: \"To Do List\",\r\n label: t(\"To Do List\"),\r\n },\r\n {\r\n value: \"In Process\",\r\n label: t(\"In Process\"),\r\n },\r\n {\r\n value: \"Related List\",\r\n label: t(\"Related List\"),\r\n },\r\n {\r\n value: \"Completed\",\r\n label: t(\"Completed\"),\r\n },\r\n {\r\n value: \"Cancelled\",\r\n label: t(\"Cancelled\"),\r\n },\r\n {\r\n value: \"Rejected\",\r\n label: t(\"Rejected\"),\r\n },\r\n ];\r\n return (\r\n
\r\n props.onSelectChange(e, \"keyword\")}\r\n searchKeyword={props.searchObject?.keyword}\r\n />\r\n\r\n

\r\n {t(\"Task\")}\r\n

\r\n }\r\n onSelectChange={(e: any) => props.onSelectTask(e)}\r\n defaultValue={props.defaultTask}\r\n values={display}\r\n />\r\n

\r\n {t(\"Date\")}\r\n

\r\n props.onSelectChange(e, f)}\r\n />\r\n

\r\n {t(\"Other\")}\r\n

\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n values={props.formStatus}\r\n defaultVaue={\r\n props.searchObject?.status ? props.searchObject?.status : []\r\n }\r\n />\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n defaultVaue={props.searchObject?.form ? props.searchObject?.form : []}\r\n values={props.formType}\r\n />\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n defaultVaue={\r\n props.searchObject?.company ? props.searchObject?.company : []\r\n }\r\n values={props.allCompany}\r\n />\r\n }\r\n onSelectChange={(e: any, f: any) => props.onSelectChange(e, f)}\r\n defaultVaue={\r\n props.searchObject?.department ? props.searchObject?.department : []\r\n }\r\n values={props.allDepartment}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default WorkListSideBarElementUse;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport \"./WorklistCardComponent.css\";\r\nimport { FaChevronRight } from \"react-icons/fa\";\r\nimport moment from \"moment\";\r\nimport { Badge } from \"primereact/badge\";\r\nimport CommentComponent from \"../Input/CommentComponent\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { BadgeNotificate } from \"../AntdControlComponent/BadgeNotificateComponent/BadgeNotificate\";\r\nimport { Space } from \"antd\";\r\nimport { motion } from \"framer-motion\";\r\nimport useMasterSetting from \"../../hooks/useMasterSetting\";\r\nimport { GetApprovalsByMemoIDs } from \"../../Services/LineApprovalsService\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\ninterface Props {\r\n dataWorklist?: any;\r\n data: any;\r\n setContent: (\r\n memoId: number,\r\n status: string,\r\n index: number,\r\n requestor: IUserModel\r\n ) => void;\r\n index: number;\r\n onUpdate: (\r\n type: any,\r\n memoid: any,\r\n comment?: any,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => void;\r\n taskGourp: any;\r\n currentMemoId: number;\r\n toggleDetail: any;\r\n setToggleDetail: any;\r\n setOnDetailLoading: any;\r\n}\r\n\r\nexport const WorklistCardComponent = (props: Props) => {\r\n const [data, setData] = useState(props.data || {});\r\n const [dataUrl, setDataUrl] = useState(\"\");\r\n const [isActive, setIsActive] = useState(false);\r\n const [isCommentActive, setIsCommentActive] = useState(false);\r\n const { masterSetting } = useMasterSetting();\r\n const [lineApproval, setLineApproval] = useState([]);\r\n const [user] = useUserContext();\r\n const [url, setUrl] = useState(\"\")\r\n \r\n useEffect(() => {\r\n setData(props.data);\r\n setDataUrl(`/Request?MemoID=${props.data.MemoID}`);\r\n }, [props.data]);\r\n const history = useHistory();\r\n const amount_label = \"[Amount/day]\";\r\n const { t } = useTranslation([\"translation\"]);\r\n\r\n useEffect(() => {\r\n const sanitizedUid = uuidv4().replace(/-/g, \"\").toUpperCase();\r\n const newUrl = `${sanitizedUid.toString()}`\r\n setUrl(newUrl)\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.currentMemoId === props.data.MemoID) {\r\n setIsActive(true);\r\n } else {\r\n setIsActive(false);\r\n }\r\n }, [props.currentMemoId]);\r\n\r\n const formatDate = () => {\r\n let momentObj = moment(data.ModifiedDate, \"DD/MM/yyyy HH:mm:ss\");\r\n\r\n return moment(momentObj).format(\r\n masterSetting?.FormatDate?.Value1.replaceAll(\"d\", \"D\") ||\r\n \"DD MMM yyyy , HH:mm\"\r\n );\r\n };\r\n const resposeComment = (comment: any) => {\r\n props.onUpdate(\"approve\", props.data.MemoID, comment);\r\n };\r\n\r\n const delegateMemo = (data: any) => {\r\n if (data.IsDelegated) {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n const onApproveActionClick = async () => {\r\n const approvals = await GetApprovalsByMemoIDs([...[], data.MemoID]).catch(\r\n (e) => {\r\n console.error(e);\r\n return [];\r\n }\r\n );\r\n if (approvals) {\r\n setLineApproval([...approvals]);\r\n }\r\n setIsCommentActive(true);\r\n };\r\n\r\n return (\r\n \r\n {\r\n let _requestor = data.Requestor || {};\r\n props.setContent(data.MemoID, data.Status, props.index, _requestor);\r\n props.setOnDetailLoading(true);\r\n }}\r\n >\r\n
\r\n
\r\n \r\n {data?.DocumentNo}\r\n \r\n

{formatDate()}

\r\n
\r\n \r\n {props.data?.MemoHistoryAmount > 0 && (\r\n \r\n )}\r\n {props.data?.MemoAttachFileAmount > 0 && (\r\n \r\n )}\r\n

\r\n {data.Amount == \".00\" ? null : amount_label}\r\n

\r\n
\r\n
\r\n
\r\n {data.Subject}\r\n
\r\n

\r\n {data.Amount == \".00\" ? null : data.Amount}\r\n

\r\n
\r\n
\r\n
\r\n \r\n {data.TemplateName}\r\n

\r\n {/* delegate */}\r\n \r\n {delegateMemo(data)}\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n

{t(\"Request By\")}

\r\n

\r\n {data.Requestor !== null\r\n ? user.Lang === \"EN\"\r\n ? data.Requestor.NameEn\r\n : data.Requestor.NameTh\r\n : \"-\"}\r\n

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

{t(\"Waiting for\")}

\r\n

\r\n {data.WaitingFor !== null\r\n ? user.Lang === \"EN\"\r\n ? data.WaitingFor.NameEn\r\n : data.WaitingFor.NameTh\r\n : \"-\"}\r\n

\r\n
\r\n
\r\n {props.taskGourp === \"todo\" && (\r\n <>\r\n {data.Status === \"Wait for Approve\" && (\r\n onApproveActionClick()}\r\n >\r\n {t(\"Approve\")}\r\n \r\n )}\r\n \r\n )}\r\n
\r\n\r\n {\r\n const memoid = { MemoID: data.MemoID };\r\n // history.push(\"/Request\", memoid);\r\n history.push(`/Request?MemoID=${data.MemoID}`, memoid);\r\n }}\r\n >\r\n
\r\n
\r\n \r\n {data.DocumentNo}\r\n \r\n

{formatDate()}

\r\n
\r\n
\r\n \r\n {props.data?.MemoHistoryAmount > 0 && (\r\n \r\n )}\r\n {props.data?.MemoAttachFileAmount > 0 && (\r\n \r\n )}\r\n

\r\n {data.Amount == \".00\" ? null : amount_label}\r\n

\r\n
\r\n

\r\n {data.Amount == \".00\" ? null : data.Amount}\r\n

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

{data.Subject}

\r\n
\r\n

{data.TemplateName}

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

{t(\"Request By\")}

\r\n

\r\n {data.Requestor !== null\r\n ? user.Lang === \"EN\"\r\n ? data.Requestor.NameEn\r\n : data.Requestor.NameTh\r\n : \"-\"}\r\n

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

{t(\"Waiting for\")}

\r\n

\r\n {data.WaitingFor !== null\r\n ? user.Lang === \"EN\"\r\n ? data.WaitingFor.NameEn\r\n : data.WaitingFor.NameTh\r\n : \"-\"}\r\n

\r\n
\r\n
\r\n {props.taskGourp === \"todo\" && (\r\n <>\r\n {data.Status === \"Wait for Approve\" && (\r\n {\r\n setIsCommentActive(true);\r\n // props.onUpdate(\"approve\", data.MemoID)\r\n }}\r\n >\r\n Approve\r\n \r\n )}\r\n \r\n )}\r\n {isCommentActive && (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n};","import { IApproval } from \"../IRequestModel/IListApprovalDetailsModel\";\r\n\r\nexport const GetApprovalByTemplate = async (dataJson: any) => {\r\n try {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/LineApprove/GetByTemplate\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => {\r\n response.json();\r\n console.log(response, \"_responeListApproval\");\r\n })\r\n .then((approvals) => {\r\n console.log(approvals, \"_responeListApproval\");\r\n return approvals;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n } catch (error) {\r\n console.log({ error });\r\n }\r\n};\r\nexport const GetAllApprovals = async (dataJson: any): Promise => {\r\n const response = await fetch(\"api/Approvals/GetByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {\r\n console.log({ err });\r\n });\r\n return response;\r\n};\r\n","import React, { useState, useEffect, useMemo, useRef } from \"react\";\r\n\r\nimport \"../../components/WorklistScreenComponent/WorklistCardComponent.css\";\r\nimport { IoMenu } from \"react-icons/io5\";\r\nimport { Button, InputNumber, Pagination } from \"antd\";\r\nimport { DetailContentScreen } from \"./DetailContentScreen\";\r\nimport WorkListSideBarElementUse from \"./WorkListSideBarElementUse\";\r\nimport { WorklistCardComponent } from \"../../components/WorklistScreenComponent/WorklistCardComponent\";\r\n// import Pagination from \"react-bootstrap/Pagination\";\r\nimport { TreeSelectNewRequest } from \"../../components/TreeSelectNewRequest/TreeSelectNewRequest\";\r\nimport moment, { Moment } from \"moment\";\r\nimport { IMemoButtonModel } from \"../../IRequestModel/IMemoButtonModel\";\r\nimport { FooterComponents } from \"../../components/FooterComponents/FooterComponents\";\r\nimport { GetWorkListByTaskGroup } from \"../../Services/WorklistService\";\r\nimport { AnimatePresence, motion } from \"framer-motion\";\r\nimport {\r\n ActionMemoPage,\r\n GetButtonMemoByMemoId,\r\n GetAllMemo,\r\n GetMemoDetail,\r\n} from \"../../Services/MemoService\";\r\nimport { GetAllHistory } from \"../../Services/HistoryService\";\r\nimport { GetAllAttachFiles } from \"../../Services/AttachFileService\";\r\nimport { GetAllApprovals } from \"../../Services/ApprovalService\";\r\nimport withPerMission from \"../../components/HOC/withPermission\";\r\nimport { IAutoNumberAttibute } from \"../../IRequestModel/IAutoNumberFormat\";\r\nimport { GetAutoNumber } from \"../../Services/RequestControlService\";\r\nimport useAlert from \"../../hooks/useAlert\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport {\r\n IGetWorklistRequest,\r\n ISearchWorklist,\r\n ITodo,\r\n IWorklistDetail,\r\n TodoType,\r\n WorklistHeaderType,\r\n WorklistSerachType,\r\n} from \"../../IRequestModel/IWorklistModel\";\r\nimport { IUserModel } from \"../../IRequestModel/IUserModel\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { MemoPageContextProvider } from \"../../Context/MemoPageContext\";\r\nimport useMemoPage from \"../../hooks/useMemoPage\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\nimport useMasterSetting from \"../../hooks/useMasterSetting\";\r\ninterface Props {\r\n responeConfig: any;\r\n}\r\nconst WorkListScreen = (props: Props) => {\r\n const [userData] = useUserContext();\r\n const { toggleAlert } = useAlert();\r\n\r\n //Worklist Data\r\n const [workListData, setWorkListData] = useState();\r\n const [dtWorkListData, setDTWorkListData] = useState();\r\n const [worklistToShow, setWorklistToShow] = useState([]);\r\n\r\n //Filter Option\r\n const [formTypeOptions, setFormTypeOptions] = useState([]);\r\n const [companiesOptions, setCompaniesOptions] = useState([]);\r\n const [departmentsOptions, setDepartmentsOptions] = useState([]);\r\n const [formStatusOptions, setFormStatusOptions] = useState([]);\r\n\r\n //Filter data\r\n const [searchObject, setSearchObject] = useState({\r\n company: [],\r\n date: [],\r\n department: [],\r\n form: [],\r\n keyword: \"\",\r\n status: [],\r\n });\r\n const { t } = useTranslation([\"translation\"]);\r\n //Pagination\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [itemPerPage, setItemPerPage] = useState(5);\r\n const [buttonType, setButtonType] = useState(\"\");\r\n\r\n //Toggle\r\n const [isShowPdfData, setIsShowPdfData] = useState(true);\r\n const [isCardLoading, setIsCardLoading] = useState(false);\r\n const [onDetailLoading, setOnDetailLoading] = useState(false);\r\n const [toggleDetail, setToggleDetail] = useState(false);\r\n const [sidebarState, setSidebarState] = useState(false);\r\n\r\n const [currentMemoId, setCurrentMemoId] = useState(0);\r\n const [taskHeader, setTaskHeader] = useState(\"To Do List\");\r\n const [currentIndex, setCurrentIndex] = useState(-1);\r\n const [selectedCard, setSelectedCard] = useState();\r\n const [menuButton, setMenuButton] = useState([]);\r\n const [defaultTask, setDefaultTask] =\r\n useState(\"To Do List\");\r\n const [taskGourp, setTaskGourp] = useState(\"todo\");\r\n const [getMemoDetail, setGetMemoDetail] = useState();\r\n\r\n const { processQue, getMyMemoStatus, checkSyncMemo } = useMemoPage();\r\n const { setLoad } = useLoading();\r\n const previousQue = useRef([]);\r\n const abortController = useRef(null);\r\n\r\n //Default item per page\r\n const _itemPerPage = itemPerPage ? Number(itemPerPage) : 1;\r\n const indexOfLastPost = currentPage * _itemPerPage;\r\n const indexOfFirstPost = indexOfLastPost - _itemPerPage;\r\n useEffect(() => {\r\n window.onpopstate = (e) => {\r\n if (location.pathname === \"/Default\") {\r\n sessionStorage.setItem(\"action_back\", \"yes\");\r\n }\r\n };\r\n\r\n window.onbeforeunload = (e) => {\r\n if (location.pathname === \"/Default\") {\r\n sessionStorage.removeItem(\"task\");\r\n sessionStorage.removeItem(\"searchObject\");\r\n sessionStorage.removeItem(\"page\");\r\n sessionStorage.removeItem(\"selectedCard\");\r\n sessionStorage.removeItem(\"headerTask\");\r\n sessionStorage.removeItem(\"currentMemoId\");\r\n sessionStorage.removeItem(\"toggleSidebar\");\r\n }\r\n };\r\n\r\n firstRetrieveData();\r\n\r\n return () => {\r\n window.removeEventListener(\"popstate\", (e) => {});\r\n window.removeEventListener(\"beforeunload\", (e) => {});\r\n };\r\n }, [t]);\r\n\r\n useEffect(() => {\r\n setLoad(false);\r\n getMyMemoStatus();\r\n }, []);\r\n\r\n // useEffect(() => {\r\n // if (processQue?.length == 0) {\r\n // fetchWorklist(taskGourp, null, true);\r\n // } else {\r\n // if (workListData) {\r\n // setWorkListData([...workListData]);\r\n // }\r\n // }\r\n // }, [processQue]);\r\n\r\n useEffect(() => {\r\n updateWorklistToShow();\r\n }, [searchObject]);\r\n\r\n useEffect(() => {\r\n updateWorklistToShow();\r\n }, [workListData]);\r\n\r\n const fetchWorklist = async (\r\n task: TodoType,\r\n date?: [Moment?, Moment?] | null,\r\n silent: boolean = false\r\n ) => {\r\n if (!silent) {\r\n setIsCardLoading(true);\r\n checkSyncMemo();\r\n }\r\n\r\n if (abortController.current) {\r\n abortController.current.abort('Timeout');\r\n }\r\n abortController.current = new AbortController();\r\n\r\n let dateFrom = date ? date[0] : null;\r\n let dateTo = date ? date[1] : null;\r\n let actionBack = sessionStorage.getItem(\"action_back\");\r\n\r\n if (!actionBack) {\r\n if (task === \"myrelate\") {\r\n // dateFrom = date ? date[0] : moment(new Date()).subtract(1, \"M\");\r\n // dateTo = date ? date[1] : moment(new Date());\r\n dateFrom = date ? date[0] : null;\r\n dateTo = date ? date[1] : null;\r\n } else {\r\n dateFrom = date ? date[0] : null;\r\n dateTo = date ? date[1] : null;\r\n }\r\n } else {\r\n dateFrom = date ? date[0] : null;\r\n dateTo = date ? date[1] : null;\r\n task = sessionStorage.getItem(\"task\")\r\n ? (sessionStorage.getItem(\"task\") as TodoType)\r\n : \"todo\";\r\n }\r\n\r\n try {\r\n const dataJson: IGetWorklistRequest = {\r\n task: task,\r\n empId: userData?.EmployeeId?.toString(),\r\n iItemPerMore: 10000,\r\n CountMoreItem: 1,\r\n FilterDateFrom: dateFrom ? dateFrom.toISOString() : \"\",\r\n FilterDateTo: dateTo ? dateTo.toISOString() : \"\",\r\n UserPrincipalName: userData.Email,\r\n };\r\n setTaskGourp(task);\r\n const dataWorklist = await GetWorkListByTaskGroup(\r\n dataJson,\r\n abortController.current.signal\r\n );\r\n if (!actionBack) {\r\n if (task === \"myrelate\" || date) {\r\n setSearchObject({\r\n form: [],\r\n status: [],\r\n company: [],\r\n department: [],\r\n keyword: \"\",\r\n date: dateFrom && dateTo ? ([dateFrom, dateTo] as any) : [],\r\n });\r\n } else {\r\n setSearchObject({\r\n date: [],\r\n form: [],\r\n status: [],\r\n company: [],\r\n department: [],\r\n keyword: \"\",\r\n });\r\n }\r\n } else {\r\n let search = sessionStorage.getItem(\"searchObject\")\r\n ? JSON.parse(sessionStorage.getItem(\"searchObject\")!)\r\n : searchObject;\r\n let page = sessionStorage.getItem(\"page\")\r\n ? parseInt(sessionStorage.getItem(\"page\")!)\r\n : 1;\r\n let selecteCard = sessionStorage.getItem(\"selectedCard\")\r\n ? (JSON.parse(\r\n sessionStorage.getItem(\"selectedCard\")!\r\n ) as IWorklistDetail)\r\n : selectedCard;\r\n let taskHeader: string = sessionStorage.getItem(\"headerTask\")\r\n ? sessionStorage.getItem(\"headerTask\")!\r\n : \"To Do List\";\r\n let currentMemoId = sessionStorage.getItem(\"currentMemoId\")\r\n ? parseInt(sessionStorage.getItem(\"currentMemoId\")!)\r\n : 0;\r\n let sidebar: boolean = sessionStorage.getItem(\"toggleSidebar\")\r\n ? JSON.parse(sessionStorage.getItem(\"toggleSidebar\")!)\r\n : false;\r\n\r\n setSearchObject(search);\r\n setCurrentPage(page);\r\n setSelectedCard(selecteCard);\r\n setDefaultTask((taskHeader as WorklistHeaderType) || \"To Do List\");\r\n setTaskHeader(taskHeader);\r\n setCurrentMemoId(currentMemoId);\r\n setSidebarState(sidebar);\r\n }\r\n initialWorklistOption(dataWorklist);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n if (!silent) {\r\n setIsCardLoading(false);\r\n }\r\n };\r\n\r\n const initialWorklistOption = (worklist: ITodo[]) => {\r\n let _formTypeOption: any[] = [];\r\n let _formStatusOption: any[] = [];\r\n let _companiesOption: any[] = [];\r\n let _departmentsOption: any[] = [];\r\n\r\n const resultFormTypeOption = worklist.reduce((r, a) => {\r\n r[a.TemplateName] = r[a.TemplateName] || [];\r\n return r;\r\n }, Object.create(null));\r\n const resultFormStatusOption = worklist.reduce((r, a) => {\r\n r[a.Status] = r[a.Status] || [];\r\n return r;\r\n }, Object.create(null));\r\n const resultAllCompanyOption = worklist.reduce((r, a) => {\r\n r[a.CompanyName] = r[a.CompanyName] || [];\r\n return r;\r\n }, Object.create(null));\r\n const resultAllDepartmentOption = worklist.reduce((r, a) => {\r\n r[a.DepartmentName] = r[a.DepartmentName] || [];\r\n return r;\r\n }, Object.create(null));\r\n for (const [key, value] of Object.entries(resultFormStatusOption)) {\r\n _formStatusOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n for (const [key, value] of Object.entries(resultFormTypeOption)) {\r\n _formTypeOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n for (const [key, value] of Object.entries(resultAllCompanyOption)) {\r\n _companiesOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n for (const [key, value] of Object.entries(resultAllDepartmentOption)) {\r\n _departmentsOption.push({\r\n label: t(key),\r\n value: key,\r\n });\r\n }\r\n setDepartmentsOptions([..._departmentsOption]);\r\n setCompaniesOptions([..._companiesOption]);\r\n setFormStatusOptions([..._formStatusOption]);\r\n setFormTypeOptions([..._formTypeOption]);\r\n setWorkListData([...worklist]);\r\n };\r\n function toggleSideBar() {\r\n if (sidebarState) {\r\n setSidebarState(false);\r\n sessionStorage.setItem(\"toggleSidebar\", \"false\");\r\n } else {\r\n setToggleDetail(false);\r\n setSidebarState(true);\r\n sessionStorage.setItem(\"toggleSidebar\", \"true\");\r\n }\r\n }\r\n const onUpdateMemo = async (\r\n type: any,\r\n memoId: any,\r\n comment: string,\r\n waiting_for?: string,\r\n waiting_for_id?: number\r\n ) => {\r\n try {\r\n setWorkListData([\r\n ...(workListData?.filter((e) => e.MemoID != memoId) || []),\r\n ]);\r\n setIsCardLoading(true);\r\n // const _empData = empData.employeeData;\r\n let ddd = document.getElementsByTagName(\"body\");\r\n ddd[0].style.overflow = \"none\";\r\n const requestBody = {\r\n Memoid: memoId,\r\n TemplateId: null,\r\n DocumentCode: null,\r\n SecretId: \"\",\r\n EmployeeId: userData.EmployeeId.toString(),\r\n actor: userData,\r\n };\r\n let _getMemoDetailById = await GetMemoDetail(requestBody);\r\n\r\n setGetMemoDetail(_getMemoDetailById);\r\n if (_getMemoDetailById) {\r\n let requestDetail = _getMemoDetailById.requestDetails;\r\n let listControlRunning = [];\r\n //set value\r\n requestDetail.memoDetail.comment = comment;\r\n requestDetail.memoDetail.actor = userData;\r\n requestDetail.memoDetail.waiting_for = waiting_for\r\n ? waiting_for\r\n : requestDetail.memoDetail.waiting_for;\r\n requestDetail.memoDetail.waiting_for_id = waiting_for_id\r\n ? waiting_for_id\r\n : requestDetail.memoDetail.waiting_for_id;\r\n\r\n if (!_getMemoDetailById.requestDetails.memoDetail.is_text_form) {\r\n //check control running\r\n\r\n if (requestDetail.memoDetail.template_desc) {\r\n let autoNumFormat: IAutoNumberAttibute = {\r\n formats: [],\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n showSymbol: false,\r\n };\r\n const templateDescJson = JSON.parse(\r\n requestDetail.memoDetail.template_desc\r\n );\r\n templateDescJson.items.map((item: any) =>\r\n item.layout.map((_layout: any) => {\r\n if (_layout.template.type === \"tb\") {\r\n _layout.template.attribute.column.forEach((col: any) => {\r\n col.isReadOnly = false;\r\n col.isShow = true;\r\n });\r\n } else {\r\n _layout.isShow = true;\r\n _layout.isReadOnly = false;\r\n }\r\n\r\n return _layout;\r\n })\r\n ),\r\n (autoNumFormat = detechAutonumberFormula(templateDescJson));\r\n\r\n if (autoNumFormat?.rowIndex !== -1) {\r\n const runningNumber = await CheckSaveAutonumber(\r\n requestDetail.memoDetail.template_id,\r\n templateDescJson,\r\n autoNumFormat\r\n );\r\n\r\n if (runningNumber) {\r\n listControlRunning.push(runningNumber);\r\n }\r\n }\r\n requestDetail.memoDetail.template_desc =\r\n JSON.stringify(templateDescJson);\r\n }\r\n }\r\n requestDetail[\"listControlRunning\"] = listControlRunning;\r\n\r\n let _ActionMemoPage = await ActionMemoPage({\r\n MemoPage: {\r\n listApprovalDetails: requestDetail.listApprovalDetails,\r\n listFileAttachDetails: requestDetail.listFileAttachDetails,\r\n listFormName: requestDetail.listFormNames,\r\n listHistoryDetails: requestDetail.listHistoryDetails,\r\n listRefDocDetails: requestDetail.listRefDocDetails,\r\n memoDetail: requestDetail.memoDetail,\r\n listControlRunning: requestDetail.listControlRunning,\r\n // listFormName: requestDetail.listFormNames,\r\n // listRefDocDetails: _getMemoDetailById.refDocs,\r\n },\r\n Type: type,\r\n });\r\n\r\n if (\r\n _ActionMemoPage?.messageType?.toLowerCase() === \"success\" ||\r\n _ActionMemoPage?.message?.toLowerCase().includes(\"done\")\r\n ) {\r\n toggleAlert({\r\n description: (\r\n \r\n ),\r\n message: type,\r\n type: \"success\",\r\n duration: 15,\r\n });\r\n //await Promise.all([fetchWorklist(), getMyMemoStatus()]);\r\n await getMyMemoStatus();\r\n await fetchWorklist(taskGourp);\r\n\r\n let ddd = document.getElementsByTagName(\"body\");\r\n ddd[0].style.overflow = \"none\";\r\n setIsCardLoading(false);\r\n setToggleDetail(false);\r\n } else {\r\n toggleAlert({\r\n description: `${_ActionMemoPage.message}`,\r\n message: `Error`,\r\n type: \"error\",\r\n });\r\n await getMyMemoStatus();\r\n await fetchWorklist(taskGourp);\r\n setIsCardLoading(false);\r\n }\r\n }\r\n } catch (error) {\r\n setIsCardLoading(false);\r\n console.error(\"memo=>\", error);\r\n }\r\n };\r\n const detechAutonumberFormula = (templateDesc: any) => {\r\n try {\r\n let _autoFormats: IAutoNumberAttibute = {\r\n formats: [],\r\n showSymbol: true,\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n };\r\n\r\n templateDesc.items.forEach((item: any, rowIdx: number) => {\r\n item.layout.forEach((layout: any, colIdx: number) => {\r\n if (layout.template.type === \"an\") {\r\n _autoFormats.formats = layout.template.attribute.formats;\r\n _autoFormats.showSymbol = !layout.template.alter.includes(\"|\");\r\n _autoFormats.digit = layout.template.digit;\r\n _autoFormats.rowIndex = rowIdx;\r\n _autoFormats.colIndex = colIdx;\r\n }\r\n });\r\n });\r\n\r\n return _autoFormats;\r\n } catch (error) {\r\n return {\r\n formats: [],\r\n showSymbol: true,\r\n digit: 0,\r\n rowIndex: -1,\r\n colIndex: -1,\r\n };\r\n }\r\n };\r\n const CheckSaveAutonumber = async (\r\n templateId: Number,\r\n template_desc: any,\r\n autoNumFormat: IAutoNumberAttibute\r\n ) => {\r\n try {\r\n const rowIndex = autoNumFormat.rowIndex;\r\n const colIndex = autoNumFormat.colIndex;\r\n if (template_desc) {\r\n let value = template_desc.items[rowIndex].layout[colIndex].data.value;\r\n const autoTemp = template_desc.items[rowIndex].layout[colIndex];\r\n if (value) {\r\n const dd = value.split(\"-\");\r\n const gg = dd.slice(0, dd.length - 1);\r\n let newRunning = -1;\r\n const requestBody = {\r\n Prefix: gg.join(\"-\") + \"-\",\r\n Digit: autoTemp.template.digit,\r\n TemplateId: templateId,\r\n RunningNumber: dd.join(\"-\"),\r\n };\r\n const checkAuto = await GetAutoNumber(requestBody);\r\n const checkNum = checkAuto.split(\"-\");\r\n if (checkNum[0] !== \"\") {\r\n newRunning = checkNum[checkNum.length - 1];\r\n dd[dd.length - 1] = newRunning;\r\n requestBody.RunningNumber = newRunning;\r\n }\r\n return requestBody;\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"auto=>CheckSaveAutonumber=>error\", error);\r\n }\r\n };\r\n const setContent = async (\r\n memoId: number,\r\n status: string,\r\n index: number,\r\n requestor: IUserModel\r\n ) => {\r\n // const _empData = empData.employeeData;\r\n\r\n const _memoDetail = await GetAllMemo({\r\n memoid: memoId,\r\n EmployeeId: requestor?.EmployeeId?.toString(),\r\n SecretId: \"\",\r\n actor: userData.EmployeeId,\r\n });\r\n\r\n if (_memoDetail.length > 0) {\r\n if (_memoDetail[0].Permission !== null) {\r\n if (_memoDetail[0].Permission.View === \"F\") {\r\n setIsShowPdfData(false);\r\n }\r\n }\r\n }\r\n\r\n if (currentIndex !== index) {\r\n setCurrentMemoId(Number(memoId));\r\n setCurrentIndex(index);\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n } else {\r\n setCurrentIndex(index);\r\n\r\n if (toggleDetail) {\r\n setCurrentMemoId(0);\r\n setToggleDetail(false);\r\n sessionStorage.setItem(\"currentMemoId\", \"0\");\r\n } else {\r\n setCurrentMemoId(Number(memoId));\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n }\r\n }\r\n const actor = {\r\n EmployeeId: userData.EmployeeId,\r\n };\r\n // setToggleDetail(false);\r\n let _dataAttachfiles = await GetAllAttachFiles({ memoid: memoId });\r\n\r\n let _dataApprovals = await GetAllApprovals({ memoid: memoId });\r\n\r\n if (status !== \"Draft\") {\r\n let memoButton: IMemoButtonModel = {\r\n actor: {\r\n EmployeeId: userData.EmployeeId,\r\n },\r\n memoid: memoId,\r\n };\r\n let _dataMemobutton = await GetButtonMemoByMemoId(memoButton);\r\n setMenuButton(_dataMemobutton);\r\n } else {\r\n setMenuButton([]);\r\n }\r\n\r\n let _dataHistory = await GetAllHistory({\r\n Memoid: memoId,\r\n SecretId: \"\",\r\n actor: actor,\r\n });\r\n\r\n setOnDetailLoading(false);\r\n\r\n setSelectedCard((prevState) => ({\r\n ...prevState,\r\n approvals: _dataApprovals,\r\n attachfiles: _dataAttachfiles,\r\n requestor,\r\n MemoID: memoId,\r\n history: _dataHistory,\r\n }));\r\n\r\n sessionStorage.setItem(\r\n \"selectedCard\",\r\n selectedCard ? JSON.stringify(selectedCard) : \"{}\"\r\n );\r\n\r\n setSidebarState(false);\r\n if (currentIndex !== index) {\r\n setCurrentMemoId(Number(memoId));\r\n setCurrentIndex(index);\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n } else {\r\n setCurrentIndex(index);\r\n\r\n if (toggleDetail) {\r\n setCurrentMemoId(0);\r\n setToggleDetail(false);\r\n sessionStorage.setItem(\"currentMemoId\", \"0\");\r\n } else {\r\n setCurrentMemoId(Number(memoId));\r\n setToggleDetail(true);\r\n sessionStorage.setItem(\"currentMemoId\", memoId.toString());\r\n }\r\n }\r\n };\r\n\r\n const onSelectTask = (text: WorklistHeaderType) => {\r\n setTaskHeader(text);\r\n let date: [Moment?, Moment?] | null = null;\r\n let task: TodoType = \"todo\";\r\n if (text === \"All Task Group\") {\r\n task = \"todo\";\r\n } else if (text === \"To Do List\") {\r\n task = \"todo\";\r\n } else if (text === \"Related List\") {\r\n date = [moment(new Date()).subtract(1, \"M\"), moment(new Date())];\r\n task = \"myrelate\";\r\n } else if (text === \"In Process\") {\r\n task = \"inprocess\";\r\n } else if (text === \"Completed\") {\r\n task = \"completed\";\r\n } else if (text === \"Cancelled\") {\r\n task = \"cancelled\";\r\n } else if (text === \"Rejected\") {\r\n task = \"rejected\";\r\n }\r\n fetchWorklist(task, date);\r\n setCurrentPage(1);\r\n setDefaultTask(text);\r\n sessionStorage.setItem(\"task\", task);\r\n sessionStorage.setItem(\"headerTask\", text);\r\n sessionStorage.setItem(\"page\", \"1\");\r\n };\r\n\r\n const onSelectChange = async (\r\n value: any | any[],\r\n formSelect: WorklistSerachType\r\n ) => {\r\n let rawObject = searchObject;\r\n\r\n if (formSelect) {\r\n rawObject[formSelect] = value;\r\n\r\n if (formSelect === \"date\") {\r\n fetchWorklist(taskGourp, value);\r\n } else {\r\n setSearchObject((prevState: any) => ({\r\n ...prevState,\r\n ...rawObject,\r\n }));\r\n\r\n sessionStorage.setItem(\"searchObject\", JSON.stringify(searchObject));\r\n }\r\n\r\n setCurrentPage(1);\r\n sessionStorage.setItem(\"page\", \"1\");\r\n }\r\n };\r\n\r\n const clearFilter = () => {\r\n setSearchObject({\r\n date: [],\r\n form: [],\r\n status: [],\r\n company: [],\r\n department: [],\r\n keyword: \"\",\r\n });\r\n sessionStorage.setItem(\"searchObject\", JSON.stringify(searchObject));\r\n if (taskGourp == \"myrelate\") {\r\n fetchWorklist(\"myrelate\", null);\r\n }\r\n };\r\n const paginate = (page: number) => {\r\n setCurrentPage(page);\r\n sessionStorage.setItem(\"page\", page.toString());\r\n };\r\n const onSetItemPerPage = (numItem: any) => {\r\n setItemPerPage(numItem);\r\n };\r\n const filterStatusWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.status.length > 0\r\n ? searchObject?.status.includes(todo.Status)\r\n : true;\r\n };\r\n const filterFormWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.form.length > 0\r\n ? searchObject?.form.includes(todo.TemplateName)\r\n : true;\r\n };\r\n const filterCompanyWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.company.length > 0\r\n ? searchObject?.company.includes(todo.CompanyName)\r\n : true;\r\n };\r\n const filterDepartmentWorklistCard = (todo: ITodo, idx: number) => {\r\n return searchObject?.department.length > 0\r\n ? searchObject?.department.includes(todo.DepartmentName)\r\n : true;\r\n };\r\n const filterKeywordWorklistCard = (todo: ITodo) => {\r\n const _keyword = searchObject?.keyword?.toUpperCase();\r\n const waitingFor: IUserModel = todo?.WaitingFor;\r\n const requestor: IUserModel = todo?.Requestor;\r\n\r\n return _keyword?.length > 0\r\n ? todo.DepartmentName?.toUpperCase().includes(_keyword) ||\r\n todo.TemplateName?.toUpperCase().includes(_keyword) ||\r\n todo.CompanyName?.toUpperCase().includes(_keyword) ||\r\n todo.Status?.toUpperCase().includes(_keyword) ||\r\n todo.DocumentNo?.toUpperCase().includes(_keyword) ||\r\n todo.Subject?.toUpperCase().includes(_keyword) ||\r\n (waitingFor &&\r\n waitingFor?.NameEn?.toUpperCase().includes(_keyword)) ||\r\n waitingFor?.NameTh.toUpperCase().includes(_keyword) ||\r\n (requestor && requestor?.NameEn?.toUpperCase().includes(_keyword)) ||\r\n requestor?.NameTh?.toUpperCase().includes(_keyword)\r\n : true;\r\n };\r\n\r\n const updateWorklistToShow = () => {\r\n const _worklist =\r\n workListData?.filter((todo, idx) => {\r\n let statusFilter = true;\r\n let companyFilter = true;\r\n let departmentFilter = true;\r\n let formFilter = true;\r\n let keywordFilter = true;\r\n\r\n if (processQue.includes(todo.MemoID)) {\r\n return false;\r\n }\r\n if (searchObject?.status.length > 0) {\r\n statusFilter = filterStatusWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.company.length > 0) {\r\n companyFilter = filterCompanyWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.department.length > 0) {\r\n departmentFilter = filterDepartmentWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.form.length > 0) {\r\n formFilter = filterFormWorklistCard(todo, idx);\r\n }\r\n if (searchObject?.keyword.length > 0) {\r\n keywordFilter = filterKeywordWorklistCard(todo);\r\n }\r\n\r\n return (\r\n statusFilter &&\r\n companyFilter &&\r\n departmentFilter &&\r\n formFilter &&\r\n keywordFilter\r\n );\r\n }) || [];\r\n setWorklistToShow(_worklist);\r\n };\r\n\r\n const mapWorklistCard = (todo: ITodo, idx: number) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const firstRetrieveData = async () => {\r\n let actionBack = sessionStorage.getItem(\"action_back\");\r\n let task = taskGourp;\r\n if (actionBack) {\r\n task = sessionStorage.getItem(\"task\")\r\n ? (sessionStorage.getItem(\"task\") as TodoType)\r\n : \"todo\";\r\n }\r\n await fetchWorklist(task);\r\n if (actionBack) {\r\n let search = sessionStorage.getItem(\"searchObject\")\r\n ? JSON.parse(sessionStorage.getItem(\"searchObject\")!)\r\n : searchObject;\r\n let page = sessionStorage.getItem(\"page\")\r\n ? parseInt(sessionStorage.getItem(\"page\")!)\r\n : 1;\r\n let selecteCard = sessionStorage.getItem(\"selectedCard\")\r\n ? (JSON.parse(\r\n sessionStorage.getItem(\"selectedCard\")!\r\n ) as IWorklistDetail)\r\n : selectedCard;\r\n let taskHeader: string = sessionStorage.getItem(\"headerTask\")\r\n ? sessionStorage.getItem(\"headerTask\")!\r\n : \"To Do List\";\r\n let currentMemoId = sessionStorage.getItem(\"currentMemoId\")\r\n ? parseInt(sessionStorage.getItem(\"currentMemoId\")!)\r\n : 0;\r\n let sidebar: boolean = sessionStorage.getItem(\"toggleSidebar\")\r\n ? JSON.parse(sessionStorage.getItem(\"toggleSidebar\")!)\r\n : false;\r\n\r\n setSearchObject(search);\r\n setCurrentPage(page);\r\n setSelectedCard(selecteCard);\r\n setDefaultTask((taskHeader as WorklistHeaderType) || \"To Do List\");\r\n setTaskHeader(taskHeader);\r\n setCurrentMemoId(currentMemoId);\r\n setSidebarState(sidebar);\r\n }\r\n sessionStorage.removeItem(\"action_back\");\r\n };\r\n\r\n const isDiffPreviousQue = (current: number[], previous: number[]) => {\r\n return current.join(\",\") != previous.join(\",\");\r\n };\r\n\r\n useMemo(() => {\r\n if (\r\n processQue?.length == 0 &&\r\n isDiffPreviousQue(processQue, previousQue.current)\r\n ) {\r\n fetchWorklist(taskGourp, null, true);\r\n }\r\n previousQue.current = [...processQue];\r\n }, [processQue]);\r\n const { masterSetting } = useMasterSetting();\r\n\r\n const calFlexLayout =()=>{\r\n console.log(masterSetting);\r\n \r\n if(!masterSetting[\"splitPage\"])return { \"workList\" : 1 , \"content\":1} \r\n const { Value1 , Value2 } = masterSetting[\"splitPage\"]\r\n const a =Number(Value1) \r\n const b = Number(Value2)\r\n if( Number(a)+Number(b) != 1 || !a || !b)return { \"workList\" : 1 , \"content\":1} \r\n return { \"workList\" : a*2 , \"content\":b*2}\r\n }\r\n\r\n return (\r\n
\r\n \r\n
\r\n {isCardLoading && (\r\n
\r\n \"loading...\"\r\n
\r\n )}\r\n
\r\n
\r\n {sidebarState ? (\r\n
\r\n
\r\n
\r\n

\r\n {t(\"Clear all\")}\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n ) : (\r\n
\r\n )}\r\n
\r\n }\r\n size=\"large\"\r\n onClick={toggleSideBar}\r\n style={{ background: \"transparent \" }}\r\n />\r\n \r\n
\r\n
\r\n

\r\n {t(\"Worklist\")} / {t(taskHeader)} ({worklistToShow?.length})\r\n

\r\n
\r\n
\r\n
\r\n
\r\n {sidebarState && (\r\n \r\n
\r\n
\r\n

\r\n {t(\"Clear all\")}\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n )}\r\n
\r\n
\r\n {t(\"Show\")}\r\n {\r\n onSetItemPerPage(value);\r\n }}\r\n onBlur={() => {\r\n setItemPerPage((page) => (page <= 0 ? 1 : page));\r\n }}\r\n />\r\n \r\n {t(\"items per page\")}\r\n \r\n
\r\n
\r\n {worklistToShow\r\n ?.slice(indexOfFirstPost, indexOfLastPost)\r\n ?.map(mapWorklistCard)}\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {toggleDetail && (\r\n \r\n )}\r\n
\r\n
\r\n
\r\n );\r\n};\r\nexport default withPerMission(WorkListScreen);\r\n","import moment from \"moment\";\r\nimport { IUserModel } from \"../IRequestModel/IUserModel\";\r\nimport { IGetWorklistRequest, ITodo } from \"../IRequestModel/IWorklistModel\";\r\nimport { GetAllEmployee } from \"./EmployeeService\";\r\n\r\nexport const GetWorkListByTaskGroup = async (\r\n dataJson: IGetWorklistRequest,\r\n signal?: AbortSignal\r\n): Promise => {\r\n // const email = JSON.parse(window.localStorage.getItem(\"email\") || \"\");\r\n // dataJson.UserPrincipalName = email;\r\n const response = await fetch(\"api/Worklist/GetWorkListByTaskGroup\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n\r\n body: JSON.stringify(dataJson),\r\n signal: signal,\r\n })\r\n .then((response) => response.json())\r\n .then(async (data: ITodo[]) => {\r\n if (data) {\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email\",\r\n };\r\n const employees: IUserModel[] = await GetAllEmployee(req);\r\n const todoFormatDate: ITodo[] = data.sort((a, b) => {\r\n const aa = moment(a.ModifiedDate, \"DD/MM/YYYY hh:mm:ss\");\r\n const bb = moment(b.ModifiedDate, \"DD/MM/YYYY hh:mm:ss\");\r\n return moment(bb).diff(aa);\r\n });\r\n\r\n const todoFormatWaitingFor = todoFormatDate.map((todo) => {\r\n if (employees.length > 0) {\r\n let _todo = todo;\r\n let _emp: IUserModel | null = null;\r\n for (let i = 0; i < employees.length; i++) {\r\n const employee = employees[i];\r\n if (_todo.WaitingFor === employee.EmployeeId) {\r\n _emp = employee;\r\n }\r\n }\r\n return {\r\n ..._todo,\r\n WaitingFor: _emp,\r\n };\r\n } else {\r\n return {\r\n ...todo,\r\n WaitingFor: null,\r\n Requestor: null,\r\n };\r\n }\r\n });\r\n\r\n return todoFormatWaitingFor;\r\n } else return [];\r\n })\r\n .catch((error) => {\r\n if (error instanceof DOMException && error.name === 'AbortError') {\r\n console.warn('Fetch aborted:', signal?.reason);\r\n } else {\r\n console.error('Fetch error:', error);\r\n }\r\n return [];\r\n });\r\n return response;\r\n};\r\n","import { IWorklistHistory } from \"../IRequestModel/IListHistoryDetailsModel\";\r\n\r\nexport const GetAllHistory = async (\r\n dataJson: any\r\n): Promise => {\r\n const email = window.localStorage.getItem(\"email\") || \"\";\r\n dataJson.UserPrincipalName = email;\r\n const respone = await fetch(\"api/History/GetByMemoId\", {\r\n method: \"POST\",\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n body: JSON.stringify(dataJson),\r\n })\r\n .then((response) => response.json())\r\n .then((data) => {\r\n return data;\r\n })\r\n .catch((err) => {});\r\n return respone;\r\n};\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport \"./LoginScreen.css\";\r\nimport { Carousel, Spin } from \"antd\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport Cookies from \"universal-cookie\";\r\n// import WolfLogo from \"../../assets/WOLF_lite_logo_TCB_Blue.png\";\r\nimport { useForm, Controller } from \"react-hook-form\";\r\nimport { useSessionContext } from \"../../Context/AuthContext\";\r\nimport { oidc } from \"../../Services/LoginService\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\nimport { useTranslation } from \"react-i18next\";\r\nimport { deleteAllCookies } from \"../../Helper/DeleteAllCookie\";\r\nimport { clearLocalStorageOnLogout } from \"../../Helper/localStoreFunction\";\r\nimport useLoading from \"../../hooks/useLoading\";\r\ninterface Props {\r\n PathLogo?: string;\r\n PathCarousel?: string[];\r\n PathCodeUrl?: any;\r\n}\r\n\r\nexport const LoginScreenOpenId = (props: Props) => {\r\n // const [onLoading, setOnLoading] = useState(false);\r\n const { isLoad, setLoad } = useLoading();\r\n\r\n const [remarkValid, setRemarkValid] = useState(\"\");\r\n const [carouselItem] = useState(props?.PathCarousel);\r\n const [sessionState, setSessionState] = useSessionContext();\r\n let location = useLocation();\r\n let history = useHistory();\r\n const { i18n } = useTranslation([\"translation\"]);\r\n const [userData, setUserData] = useUserContext();\r\n const [pathCodeUrl, setPathCodeUrl] = useState(null)\r\n\r\n const cookies = new Cookies();\r\n const {\r\n handleSubmit,\r\n control,\r\n formState: { errors },\r\n } = useForm({\r\n defaultValues: {\r\n username: \"\",\r\n password: \"\",\r\n },\r\n });\r\n\r\n useEffect(() => {\r\n // console.log(\"codeUrl=>\", props.PathCodeUrl);\r\n if (location.hash.match(/^#code=.+/i)) {\r\n setLoad(false);\r\n GetOpenId();\r\n }\r\n }, [location.hash]);\r\n\r\n const onSubmitLoginOpenId = async () => {\r\n let _loginOpenId = await oidc.getAuthorizationEndpoint()\r\n window.location.href = _loginOpenId.redirect;\r\n };\r\n\r\n const GetOpenId = async () => {\r\n let paramString = window.location.href.split(\"#\")[1];\r\n const codeURLSearch = new URLSearchParams(paramString);\r\n const _codeUrl = codeURLSearch.get(\"code\");\r\n setPathCodeUrl(_codeUrl);\r\n let _loginOpenId = await oidc.callbackHandler(paramString);\r\n clearLocalStorageOnLogout();\r\n localStorage.removeItem(\"tinyUrl\");\r\n cookies.remove(\"GuidVerify\");\r\n cookies.set(\"GuidVerify\", _loginOpenId.GuidVerify, {\r\n path: \"/\",\r\n expires: new Date(Date.now() + 86400000),\r\n });\r\n ActionPassLogin(_loginOpenId);\r\n };\r\n\r\n const ActionPassLogin = async (_loginOpenId: any) => {\r\n if (_loginOpenId === false) {\r\n clearLocalStorageOnLogout();\r\n deleteAllCookies();\r\n // history.push(\"/login\");\r\n setRemarkValid(\"ไม่พบผู้ใช้ในระบบกรุณาลองใหม่อีกครั้ง\");\r\n // setOnLoading(false);\r\n return;\r\n }\r\n const fav_storage = localStorage.getItem(\"favorite\")\r\n ? JSON.parse(localStorage.getItem(\"favorite\") || \"\")\r\n : \"\";\r\n if (fav_storage !== null) {\r\n if (fav_storage.length > 0) {\r\n localStorage.setItem(\"favorite\", JSON.stringify(fav_storage));\r\n }\r\n } else {\r\n localStorage.setItem(\"favorite\", JSON.stringify([]));\r\n }\r\n if (_loginOpenId?.employeeData?.Lang === \"TH\") {\r\n i18n.changeLanguage(\"th\");\r\n } else {\r\n i18n.changeLanguage(\"en\");\r\n }\r\n setUserData(_loginOpenId?.employeeData);\r\n localStorage.setItem(\"userData\", JSON.stringify(_loginOpenId));\r\n localStorage.setItem(\"employeeId\", _loginOpenId.employeeData.EmployeeId);\r\n localStorage.setItem(\r\n \"employeeCode\",\r\n _loginOpenId.employeeData.EmployeeCode\r\n );\r\n localStorage.setItem(\"lang\", _loginOpenId.employeeData.Lang);\r\n localStorage.setItem(\"nameEn\", _loginOpenId.employeeData.NameEn);\r\n localStorage.setItem(\"nameTh\", _loginOpenId.employeeData.NameTh);\r\n localStorage.setItem(\"email\", _loginOpenId.employeeData.Email);\r\n localStorage.setItem(\r\n \"positionNameTh\",\r\n _loginOpenId.employeeData.PositionNameTh\r\n );\r\n localStorage.setItem(\r\n \"positionNameEn\",\r\n _loginOpenId.employeeData.PositionNameEn\r\n );\r\n localStorage.setItem(\r\n \"departmentId\",\r\n _loginOpenId.employeeData.DepartmentId\r\n );\r\n localStorage.setItem(\r\n \"departmentNameTh\",\r\n _loginOpenId.employeeData.DepartmentNameEn\r\n );\r\n localStorage.setItem(\"tinyUrl\", _loginOpenId.TinyURL);\r\n\r\n setSessionState({ ...sessionState, isAuthenticated: true });\r\n // setOnLoading(false);\r\n if (\r\n localStorage.getItem(\"memoid\") &&\r\n localStorage.getItem(\"memoid\") !== \"\"\r\n ) {\r\n const id = localStorage.getItem(\"memoid\");\r\n localStorage.removeItem(\"memoid\");\r\n\r\n history.push(\"/Request?MemoID=\" + id);\r\n } else {\r\n window.location.href = \"/\";\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setLoad(false);\r\n if (sessionState.isAuthenticated) {\r\n history.push(\"/Default\");\r\n }\r\n }, []);\r\n\r\n return (\r\n <>\r\n {props.PathCarousel && props.PathLogo && (\r\n
\r\n
\r\n
\r\n \r\n {carouselItem.map((_carousel: any, idx: number) => {\r\n return (\r\n
\r\n \"slide\"\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n

{remarkValid}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n {(pathCodeUrl || props.PathCodeUrl) && (\r\n
\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, { useEffect, ReactNode, useMemo } from \"react\";\r\nimport { Redirect, Route, RouteProps, useLocation } from \"react-router\";\r\nimport { LoginScreenOpenId } from \"../screens/LoginScreen/LoginScreenOpenId\";\r\nimport { useSessionContext } from \"../Context/AuthContext\";\r\nimport { clearLocalStorageOnLogout } from \"../Helper/localStoreFunction\";\r\nimport { GetAllMasterData } from \"../Services/MasterDataService\";\r\n\r\nexport type ProtectedRouteProps = {\r\n isAuthenticated: boolean;\r\n authenticationPath: string;\r\n redirectPath: string;\r\n setRedirectPath: (path: string) => void;\r\n children?: ReactNode;\r\n} & RouteProps;\r\n\r\nexport default function PrivateRoute({\r\n isAuthenticated,\r\n authenticationPath,\r\n redirectPath,\r\n setRedirectPath,\r\n children,\r\n ...routeProps\r\n}: ProtectedRouteProps) {\r\n const currentLocation = useLocation();\r\n const { search } = useLocation();\r\n const query = useMemo(() => new URLSearchParams(search), [search]);\r\n let paramString = window.location.href.split(\"#\")[1];\r\n const codeURLSearch = new URLSearchParams(paramString);\r\n const _codeUrl = codeURLSearch.get(\"code\");\r\n const [sessionContext, updateSessionContext] = useSessionContext();\r\n\r\n useEffect(() => {\r\n if (!isAuthenticated) {\r\n if (query.get(\"MemoID\")) {\r\n localStorage.setItem(\"memoid\", query.get(\"MemoID\") || \"\");\r\n }\r\n } else {\r\n localStorage.removeItem(\"memoid\");\r\n chaeckLastActtion();\r\n }\r\n chaeckLastActtion();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!isAuthenticated) {\r\n setRedirectPath(\"/login\");\r\n }\r\n }, [isAuthenticated, currentLocation]);\r\n\r\n const chaeckLastActtion = async () => {\r\n try {\r\n const lastAction = Number(\r\n localStorage.getItem(\"lastAction\") || Date.now()\r\n );\r\n const diffMilliseconds = Math.abs(Date.now() - lastAction);\r\n const masterData = await GetAllMasterData();\r\n let timeout = 60 * 60 * 1000;\r\n\r\n if (masterData) {\r\n timeout = Number(\r\n masterData?.find((e: any) => e.MasterType === \"Timeout\" && e.IsActive)\r\n ?.Value2\r\n );\r\n timeout =\r\n Number(\r\n masterData.find((e: any) => e.MasterType === \"Timeout\")?.Value2\r\n ) *\r\n 60 *\r\n 1000;\r\n }\r\n\r\n localStorage.setItem(\"timer\", timeout.toString());\r\n\r\n if (diffMilliseconds >= timeout) {\r\n updateSessionContext({ ...sessionContext, isAuthenticated: false });\r\n\r\n setRedirectPath(\"/login\");\r\n clearLocalStorageOnLogout();\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n if (\r\n isAuthenticated &&\r\n redirectPath !== currentLocation.pathname\r\n && currentLocation.pathname === \"/\"\r\n ) {\r\n return ;\r\n } else if (\r\n isAuthenticated &&\r\n redirectPath !== currentLocation.pathname &&\r\n currentLocation.pathname !== \"/login\"\r\n ) {\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n } else if (\r\n // isAuthenticated &&\r\n // redirectPath !== currentLocation.pathname &&\r\n paramString &&\r\n paramString.includes(\"code\")\r\n ) {\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n /*

Oh my god

; */\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport \"./ErrorPageComponent.css\";\r\nimport blackguardPage from \"../../assets/blackguardPage.jpg\";\r\nimport { useHistory } from \"react-router-dom\";\r\ninterface Props {}\r\n\r\nexport const ErrorPageComponent = (props: Props) => {\r\n const history = useHistory();\r\n return (\r\n
\r\n
\r\n
\r\n

404

\r\n

ERROR

\r\n

PAGE NOT FOUND

\r\n
\r\n history.push(\"/Default\")}\r\n >\r\n Go back\r\n \r\n
\r\n
\r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useRef, useState } from \"react\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n setAttributeButton: any;\r\n attributeButton: any;\r\n}\r\n\r\nexport const AddQueryComponent = (props: Props) => {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const valueDropdown = [{ name: \"Document No\" }];\r\n\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [selectedValue, setSelectedValue] = useState();\r\n\r\n function onSaveQuery() {\r\n console.log(inputValue, \"inputValue\");\r\n console.log(selectedValue?.name, \"inputValue\");\r\n\r\n if (!inputValue || !selectedValue?.name) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill in all required fields.\",\r\n // life: 7000,\r\n // });\r\n return;\r\n }\r\n let _items = props.attributeButton.items;\r\n const dataRequest = {\r\n layout: [\r\n {\r\n paramiter: {\r\n value: inputValue,\r\n },\r\n control: {\r\n label: selectedValue.name,\r\n },\r\n },\r\n ],\r\n };\r\n _items.push(dataRequest);\r\n props.setAttributeButton((prevState: any) => ({\r\n ...prevState,\r\n items: [..._items],\r\n }));\r\n props.setViewModal(false);\r\n }\r\n const footer = (\r\n
\r\n {\r\n onSaveQuery();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n\r\n return (\r\n <>\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n baseZIndex={2}\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Parameter\r\n\r\n *\r\n
\r\n

ตัวแปร

\r\n \r\n \r\n
\r\n
\r\n setInputValue(e.target.value)}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Control\r\n\r\n *\r\n
\r\n

ควบคุม

\r\n \r\n \r\n
\r\n
\r\n {\r\n setSelectedValue(e.value);\r\n }}\r\n optionLabel=\"name\"\r\n placeholder=\"--Select--\"\r\n />\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Toast } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport { AddQueryComponent } from \"./AddQueryComponent\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { notification } from \"antd\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n attributeButton: any;\r\n setAttributeButton: any;\r\n}\r\n\r\nexport default function ButtonComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n url: props.template.URL,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isNotCopy: props.template.attribute?.isNotCopy === \"Y\" || \"\" ? true : false,\r\n };\r\n const [viewModal, setViewModal] = useState(false);\r\n function deleteAttributeButton(idx: any) {\r\n let _items = props.attributeButton.items;\r\n _items.splice(idx, 1);\r\n props.setAttributeButton((prevState: any) => ({\r\n ...prevState,\r\n items: [..._items],\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Text Button

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n textButton is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

URL

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n url is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n Add http(s) prefix for external link\r\n Ex. https://my.domain.com\r\n
\r\n
\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

QueryString :

\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add Query\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.attributeButton.items.map((_data: any, idx: any) => {\r\n return (\r\n <>\r\n {_data.layout.map((_data2: any, idx2: any) => {\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

Parameter

\r\n

ตัวแปร

\r\n
\r\n

Control

\r\n

คอนโทรล

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
{_data.layout[idx2]?.paramiter?.value}{_data.layout[idx2]?.control?.label}\r\n {\r\n deleteAttributeButton(idx);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n {viewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { RiDeleteBack2Line } from \"react-icons/ri\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Button } from \"primereact/button\";\r\nimport { IoMdAlert } from \"react-icons/io\";\r\nimport { notification } from \"antd\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n userData: any;\r\n uploadFileState: any;\r\n setUploadFileState: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function AttachmentComponent(props: Props) {\r\n const ref = useRef();\r\n const toast = useRef(null);\r\n const [linkFile, setLinkFile] = useState();\r\n const [nameFile, setNameFile] = useState();\r\n const [visibleDialog, setVisibleDialog] = useState(false);\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.description || \"\",\r\n maxFile: parseInt(props.template.attribute?.max) || 50,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isNotCopy: props.template.attribute?.isNotCopy === \"Y\" || \"\" ? true : false,\r\n };\r\n useEffect(() => {\r\n if (props.uploadFileState) {\r\n const [nameFile, linkFile] = props.uploadFileState.split(\"|\");\r\n setNameFile(nameFile);\r\n setLinkFile(linkFile);\r\n }\r\n }, []);\r\n\r\n const onFileSelect = async (e: any, onChange: any) => {\r\n if (e.target.files[0] !== null) {\r\n const files = e.target.files[0];\r\n const formData = new FormData();\r\n var guid = \"imageControl\" + generateQuickGuid();\r\n formData.append(\"files\", files);\r\n formData.append(\"docSet\", guid);\r\n formData.append(\"actorID\", props.userData.employeeData.EmployeeId);\r\n var response = await UploadFileRenderControl(formData);\r\n props.setUploadFileState(\r\n response?.data?.fileName + \"|\" + response?.data?.pathUrl\r\n );\r\n setNameFile(response?.data?.fileName);\r\n setLinkFile(response?.data?.pathUrl);\r\n onChange(response?.data?.fileName + \"|\" + response?.data?.pathUrl);\r\n ref.current.value = null;\r\n }\r\n };\r\n const footer = (\r\n
\r\n {\r\n setVisibleDialog(false);\r\n }}\r\n />\r\n
\r\n );\r\n\r\n function renderDialog() {\r\n return (\r\n <>\r\n {\r\n setVisibleDialog(false);\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n }\r\n function openLink() {\r\n const _link = linkFile\r\n ? linkFile.charAt(0) !== \"/\" && !props.userData.SharepointSiteURL\r\n ? \"/\" + linkFile\r\n : linkFile\r\n : \"\";\r\n const protocol = window.location.protocol;\r\n\r\n if (props.userData.SharepointSiteURL) {\r\n window.open(\r\n `${props.userData.SharepointSiteURL}/${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (props.userData.TinyURL) {\r\n if (\r\n _link.includes(\"www\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".tv\") ||\r\n _link.includes(\".net\") ||\r\n _link.includes(\"https\") ||\r\n _link.includes(\"http\") ||\r\n _link.includes(\".com\") ||\r\n _link.includes(\".co.th\")\r\n ) {\r\n if (_link.includes(\"https\")) {\r\n window.open(\r\n `https://${_link.replaceAll(\"https://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else if (_link.includes(\"http\")) {\r\n window.open(\r\n `http://${_link.replaceAll(\"http://\", \"\")}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n } else {\r\n window.open(`https://${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n } else {\r\n window.open(\r\n `${protocol}//${props.userData.TinyURL}${_link}`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n }\r\n } else if (!props.userData.TinyURL) {\r\n window.open(`${_link}`, \"_blank\", \"noreferrer\");\r\n }\r\n }\r\n return (\r\n
\r\n {renderDialog()}\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

File Type

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n const parts:any[] = value.split('*') \r\n if (parts.length === 0) {\r\n return \"FileType must have valid data between asterisks aaa(*).\";\r\n }\r\n return true\r\n },\r\n }}\r\n defaultValue={dataRequest.description}\r\n render={({ field, fieldState }) => {\r\n return (\r\n <>\r\n {\r\n const parts:any[] = field.value?.replace(/[\\s.]+/g, '') ?.split('*').filter(Boolean)\r\n field.onChange(`*${parts.join(\"*\")}`)\r\n }}\r\n />\r\n {fieldState?.invalid && (\r\n fileType is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n

File Type Format : *pdf*xlsx

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

Max File Size:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n MB\r\n
\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n {\r\n onFileSelect(e, field.onChange);\r\n }}\r\n className={`set-input-component-css form-control ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.uploadFileState && (\r\n
\r\n
\r\n
\r\n
\r\n {\r\n openLink();\r\n // window.open(\r\n // `https://${props.userData.TinyURL}${linkFile}`,\r\n // \"_blank\",\r\n // \"noreferrer\"\r\n // );\r\n }}\r\n style={{ color: \"#2769b2\" }}\r\n >\r\n {nameFile}\r\n
\r\n
\r\n {\r\n props.setUploadFileState(null);\r\n setNameFile(null);\r\n setLinkFile(null);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { RiEditLine } from \"react-icons/ri\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport \"./AutoNumberComponent.css\";\r\nimport { Input } from \"antd\";\r\ninterface Props {\r\n setConditionViewModal: any;\r\n conditionViewModal: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n setAttributeNumber: any;\r\n attributeNumber: any;\r\n attributeIdx: any;\r\n checkAction: any;\r\n}\r\n\r\nexport default function AddConditionComponent(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const [selectedFormName, setSelectedFormName] = useState();\r\n const [selectedFormValue, setSelectedFormValue] = useState();\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const [defaultValueItem, setDefaultValueItem] = useState([]);\r\n const [conditions, setConditions] = useState([]);\r\n const [actionConditions, setActionConditions] = useState(\"add\");\r\n const [idxConditions, setIdxConditions] = useState();\r\n const [value, setValue] = useState();\r\n\r\n useEffect(() => {\r\n if (props.checkAction == \"editCondition\") {\r\n let _condition =\r\n props.attributeNumber.formats[props.attributeIdx]?.condition || [];\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n let arrayItem: any = [];\r\n let arrayDataItem: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label !== undefined) {\r\n if (_dataLayout.template.label !== \"\") {\r\n if (_dataLayout.template.type !== \"em\") {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n type: _dataLayout.template.type,\r\n });\r\n }\r\n }\r\n }\r\n if (selectedFormName) {\r\n if (selectedFormName.item === _dataLayout.template.label) {\r\n if (_dataLayout.template.attribute !== undefined) {\r\n if (_dataLayout.template.attribute.items) {\r\n arrayItem.push({ attribute: _dataLayout.template.attribute });\r\n arrayItem.map((_dataArray: any, index: number) => {\r\n _dataArray.attribute.items.map(\r\n (_dataItem: any, index: number) => {\r\n if (_dataItem.item !== \"--select--\") {\r\n arrayDataItem.push({ value: _dataItem.item });\r\n }\r\n }\r\n );\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n setDefaultValue([...array]);\r\n setDefaultValueItem([...arrayDataItem]);\r\n }\r\n }, [selectedFormName]);\r\n\r\n function Save() {\r\n if (props.checkAction === \"editCondition\") {\r\n let _formats = props.attributeNumber.formats;\r\n _formats[props.attributeIdx].condition = conditions.condition;\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._formats],\r\n }));\r\n props.setConditionViewModal(false);\r\n }\r\n }\r\n function onSaveToCondition() {\r\n if (\r\n inputValue === \"\" &&\r\n selectedFormName?.item === undefined &&\r\n selectedFormValue?.value === undefined\r\n ) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n // toast.current.show({\r\n // severity: \"error\",\r\n // summary: \"Error Message\",\r\n // detail: \"Please fill in all required fields.\",\r\n // life: 6000,\r\n // });\r\n return;\r\n } else {\r\n if (actionConditions === \"edit\") {\r\n const dataRequest = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: selectedFormValue,\r\n };\r\n\r\n let _condition = conditions.condition;\r\n _condition[idxConditions] = dataRequest;\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n setActionConditions(\"add\");\r\n if (value) {\r\n const dataRequestValue = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: value,\r\n };\r\n let _condition = conditions.condition;\r\n _condition[idxConditions] = dataRequestValue;\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n setActionConditions(\"add\");\r\n }\r\n } else if (actionConditions === \"add\") {\r\n if (value) {\r\n let _condition = conditions.condition;\r\n const dataRequestValue = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: value,\r\n };\r\n _condition.push(dataRequestValue);\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n } else {\r\n let _condition = conditions.condition;\r\n const dataRequest = {\r\n type: selectedFormName.type,\r\n label: selectedFormName.item,\r\n form: \"adv\",\r\n value: selectedFormValue,\r\n };\r\n _condition.push(dataRequest);\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n }\r\n }\r\n }\r\n setSelectedFormName([]);\r\n setSelectedFormValue([]);\r\n setInputValue(\"\");\r\n setValue(\"\");\r\n }\r\n function editCondition(_data: any, _idx: any) {\r\n console.log(\"editCondition\", _data);\r\n setSelectedFormName({\r\n item: _data.label,\r\n type: _data.type,\r\n });\r\n console.log(\"data Type\", _data.type);\r\n if (\r\n _data.type !== \"tb\" &&\r\n _data.type !== \"dd\" &&\r\n _data.type !== \"l\" &&\r\n _data.type !== \"em\"\r\n ) {\r\n setValue(_data.value);\r\n }\r\n setSelectedFormValue(_data.value);\r\n setInputValue(_data.value);\r\n setActionConditions(\"edit\");\r\n setIdxConditions(_idx);\r\n }\r\n function deleteCondition(idx: any) {\r\n let _condition = conditions.condition;\r\n _condition.splice(idx, 1);\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n condition: [..._condition],\r\n }));\r\n }\r\n const footer = (\r\n
\r\n {\r\n Save();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n const onSelectedChange = (e: { value: any }) => {\r\n setSelectedFormName(e.value);\r\n };\r\n const onSelectedChangeValue = (e: { value: any }) => {\r\n setSelectedFormValue(e.value);\r\n };\r\n return (\r\n <>\r\n props.setConditionViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Column\r\n\r\n *\r\n
\r\n

คอลัมน์

\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {defaultValueItem.length !== 0 && (\r\n
\r\n
\r\n \r\n \r\n
\r\n Value Options\r\n
\r\n

ข้อมูลตัวเลือก

\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n (กรณีที่มีตัวเลือก)\r\n
\r\n
\r\n )}\r\n {defaultValueItem.length === 0 && (\r\n
\r\n
\r\n \r\n \r\n
\r\n Value Input\r\n
\r\n

ข้อมูลนำเข้า

\r\n \r\n \r\n
\r\n
\r\n setValue(e.target.value)}\r\n disabled={defaultValueItem.length !== 0 ? true : false}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n onSaveToCondition();\r\n }}\r\n >\r\n Save To Condition\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {conditions?.condition?.map((data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

Sequence

\r\n

ลำดับ

\r\n
\r\n

Label

\r\n

ชื่อ

\r\n
\r\n

Value Options

\r\n

ข้อมูลตัวเลือก

\r\n
\r\n

Edit

\r\n

แก้ไข

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
{idx + 1}{data.label}{data.value}\r\n {\r\n editCondition(data, idx);\r\n }}\r\n />\r\n \r\n {\r\n deleteCondition(idx);\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 { Row, Col } from \"antd\";\r\nimport \"./Button.css\";\r\nimport { replaceSpecialChar } from \"../../Helper/ReplaceSpecialChar\";\r\ninterface Props {\r\n title?: string;\r\n icon: any;\r\n onSelectView: (text: string) => void;\r\n page: number | string;\r\n curPage: any;\r\n checkTypeIcon?: string;\r\n children?: any;\r\n}\r\n\r\nexport const Button = (props: Props) => {\r\n return (\r\n {\r\n props.onSelectView(props.page.toString());\r\n }}\r\n >\r\n \r\n {props.checkTypeIcon != undefined ? (\r\n \"\"\r\n ) : (\r\n props.icon\r\n )}\r\n \r\n \r\n
\r\n {props.title}\r\n {props.children && props.children}\r\n
\r\n \r\n \r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\r\nimport { AiOutlineFileText, AiOutlineCalendar } from \"react-icons/ai\";\r\nimport { BiArchiveIn, BiFont } from \"react-icons/bi\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { Button } from \"../../Button/Button\";\r\nimport { Col, Row } from \"antd\";\r\nimport \"./AutoNumberComponent.css\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n attributeNumber: any;\r\n setAttributeNumber: any;\r\n attributeIdx: any;\r\n checkAction: any;\r\n setCheckAction: any;\r\n}\r\n\r\nexport default function AddPreFixComponent(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const dataFormats: any = {\r\n condition: [],\r\n format: [],\r\n };\r\n const [formats, setFormats] = useState(dataFormats);\r\n const [selected, setSelected] = useState(\"1\");\r\n const [selectedFormName, setSelectedFormName] = useState();\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const [inputValue, setInputValue] = useState(\"\");\r\n const [dateFormat, setDateFormat] = useState(\"\");\r\n const [formatsIdx, setFormatsIdx] = useState();\r\n const [saveToFormatAction, setSaveToFormatAction] = useState(\"add\");\r\n\r\n const conditionType = [\r\n { name: \"None\", value: \"None\" },\r\n { name: \"Split\", value: \"Split\" },\r\n ];\r\n const [selectedCondition, setSelectedCondition] = useState(\"None\");\r\n const [symbolValue, setSymbolValue] = useState();\r\n const [positionValue, setPositionValue] = useState();\r\n useEffect(() => {\r\n if (props.checkAction === \"editPrefix\") {\r\n let _formats = props.attributeNumber.formats;\r\n let _format = _formats[props.attributeIdx].format;\r\n for (let i = 0; i < _format.length; i++) {\r\n if (_format[i].guid == undefined) {\r\n _format[i][\"guid\"] = generateQuickGuid();\r\n }\r\n }\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._format],\r\n }));\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n if (Array.isArray(_data.layout)) {\r\n _data.layout.forEach((data: any) => {\r\n if (data.template.type === \"an\") {\r\n data.template.attribute.formats.map((dtformat: any) => {\r\n if (dtformat) {\r\n dtformat.format.map((type: any) => {\r\n if (\r\n type.type === \"ddl\" &&\r\n (type.position === undefined ||\r\n type.condition === undefined ||\r\n type.symbol === undefined)\r\n ) {\r\n type.position = type.position || \"\";\r\n type.condition = type.condition || \"None\";\r\n type.symbol = type.symbol || \"\";\r\n }\r\n });\r\n }\r\n });\r\n }\r\n });\r\n }\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n if (\r\n _dataLayout.template.type === \"t\" ||\r\n _dataLayout.template.type === \"dd\"\r\n ) {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n console.log(\"dataFormat\", array);\r\n setDefaultValue([...array]);\r\n }\r\n }, []);\r\n\r\n function SavePreFix() {\r\n if (formats?.format.length === 0) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n if (props.checkAction === \"addFormat\") {\r\n let _attribute = props.attributeNumber.formats;\r\n _attribute.push(formats);\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._attribute],\r\n }));\r\n } else if (\r\n props.checkAction === \"editPrefix\" ||\r\n saveToFormatAction === \"edit\"\r\n ) {\r\n let _formats = props.attributeNumber.formats;\r\n _formats[props.attributeIdx].format = formats.format;\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._formats],\r\n }));\r\n }\r\n props.setViewModal(false);\r\n }\r\n const footer = (\r\n
\r\n {\r\n SavePreFix();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n const onSelectedChange = (e: { value: any }) => {\r\n setSelectedFormName(e.value);\r\n };\r\n const onSelectedCondition = (e: { value: any }) => {\r\n setSelectedCondition(e.value);\r\n };\r\n\r\n function onSaveToFormat() {\r\n if (inputValue === \"\" && selected === \"1\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n } else if (selectedFormName?.item === undefined && selected === \"2\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n } else if (dateFormat === \"\" && selected === \"3\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n } else if (selected === \"1\") {\r\n if (saveToFormatAction === \"edit\") {\r\n let _formats = formats.format;\r\n const dataRequest = {\r\n type: \"pf\",\r\n label: inputValue,\r\n guid: generateQuickGuid(),\r\n };\r\n _formats[formatsIdx] = dataRequest;\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n } else if (saveToFormatAction === \"add\") {\r\n const dataRequest = {\r\n type: \"pf\",\r\n label: inputValue,\r\n guid: generateQuickGuid(),\r\n };\r\n let _format = formats.format;\r\n _format.push(dataRequest);\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._format],\r\n }));\r\n }\r\n } else if (selected === \"2\") {\r\n if (saveToFormatAction === \"edit\") {\r\n let _formats = formats.format;\r\n const dataRequest = {\r\n type: \"ddl\",\r\n label: selectedFormName.item,\r\n guid: generateQuickGuid(),\r\n condition: selectedCondition,\r\n symbol: symbolValue,\r\n position: positionValue,\r\n };\r\n _formats[formatsIdx] = dataRequest;\r\n setSelectedCondition(\"None\");\r\n setSymbolValue(\"\");\r\n setPositionValue(\"\");\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n } else if (saveToFormatAction === \"add\") {\r\n const dataRequest = {\r\n type: \"ddl\",\r\n label: selectedFormName.item,\r\n guid: generateQuickGuid(),\r\n condition: selectedCondition,\r\n symbol: symbolValue,\r\n position: positionValue,\r\n };\r\n let _format = formats.format;\r\n _format.push(dataRequest);\r\n setSelectedCondition(\"None\");\r\n setSymbolValue(\"\");\r\n setPositionValue(\"\");\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._format],\r\n }));\r\n }\r\n } else if (selected === \"3\") {\r\n if (saveToFormatAction === \"edit\") {\r\n let _formats = formats.format;\r\n const dataRequest = {\r\n type: \"datetime\",\r\n label: dateFormat,\r\n guid: generateQuickGuid(),\r\n };\r\n _formats[formatsIdx] = dataRequest;\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n } else if (saveToFormatAction === \"add\") {\r\n const dataRequest = {\r\n type: \"datetime\",\r\n label: dateFormat,\r\n guid: generateQuickGuid(),\r\n };\r\n let _formats = formats.format;\r\n _formats.push(dataRequest);\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n }\r\n }\r\n setSaveToFormatAction(\"add\");\r\n setInputValue(\"\");\r\n setSelectedFormName([]);\r\n }\r\n const reorder = (list: any, startIndex: any, endIndex: any) => {\r\n const result = Array.from(list);\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n return result;\r\n };\r\n const onDragEnd = (result: any) => {\r\n let _components = formats.format;\r\n if (!result.destination) {\r\n return;\r\n }\r\n const items = reorder(\r\n _components,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [...items],\r\n }));\r\n };\r\n\r\n const getItemStyle = (isDragging: any, draggableStyle: any) => ({\r\n userSelect: \"none\",\r\n margin: \"0 0 17px 0\",\r\n minHeight: \"82px\",\r\n ...draggableStyle,\r\n });\r\n function renderIconShowCreateControl(dataType: any) {\r\n if (dataType === \"pf\") {\r\n return (\r\n <>\r\n \r\n Fix PreFix\r\n \r\n );\r\n } else if (dataType === \"ddl\") {\r\n return (\r\n <>\r\n \r\n Advance Form\r\n \r\n );\r\n } else if (dataType === \"datetime\") {\r\n return (\r\n <>\r\n \r\n Date Time\r\n \r\n );\r\n }\r\n }\r\n function deleteFormat(idx: any) {\r\n let _formats = formats.format;\r\n _formats.splice(idx, 1);\r\n setFormats((prevState: any) => ({\r\n ...prevState,\r\n format: [..._formats],\r\n }));\r\n }\r\n\r\n function updateFormat(data: any, idx: any) {\r\n setSaveToFormatAction(\"edit\");\r\n if (data.type === \"pf\") {\r\n setInputValue(data.label);\r\n setSelected(\"1\");\r\n } else if (data.type === \"ddl\") {\r\n const dd = {\r\n item: data.label,\r\n };\r\n setSelectedFormName(dd);\r\n setSelectedCondition(data.condition);\r\n setSymbolValue(data.symbol);\r\n setPositionValue(data.position);\r\n setSelected(\"2\");\r\n } else if (data.type === \"datetime\") {\r\n setDateFormat(data.label);\r\n setSelected(\"3\");\r\n }\r\n setFormatsIdx(idx);\r\n }\r\n \r\n\r\n return (\r\n <>\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n <>\r\n \r\n {\r\n setSelected(e);\r\n setSaveToFormatAction(\"add\");\r\n }}\r\n title={\"Fix PreFix\"}\r\n icon={}\r\n page={1}\r\n curPage={selected}\r\n />\r\n {\r\n setSelected(e);\r\n setSaveToFormatAction(\"add\");\r\n }}\r\n title={\"Advance Form\"}\r\n icon={}\r\n page={2}\r\n curPage={selected}\r\n />\r\n {\r\n setSelected(e);\r\n setSaveToFormatAction(\"add\");\r\n }}\r\n title={\"Date Time\"}\r\n icon={}\r\n page={3}\r\n curPage={selected}\r\n />\r\n
\r\n \r\n
\r\n\r\n
\r\n {selected == \"1\" && (\r\n
\r\n
\r\n

Fix Prefix :

\r\n

*

\r\n
\r\n
\r\n setInputValue(e.target.value)}\r\n />\r\n
\r\n
\r\n )}\r\n {selected == \"2\" && (\r\n
\r\n \r\n
\r\n

FormName :

\r\n

*

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

Condition :

\r\n {/*

*

*/}\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

Symbol :

\r\n
\r\n
\r\n
\r\n {\r\n setSymbolValue(e.target.value);\r\n }}\r\n disabled={selectedCondition === \"None\"}\r\n />\r\n \r\n ระบุสัญลักษณ์ที่ขั้นเลขที่เอกสาร\r\n \r\n
\r\n
\r\n \r\n
\r\n

Format :

\r\n
\r\n
\r\n {\r\n setPositionValue(e.target.value);\r\n }}\r\n disabled={selectedCondition === \"None\"}\r\n />\r\n \r\n ตำแหน่งข้อมูลที่ต้องการนำไปใช้\r\n \r\n
\r\n
\r\n
\r\n )}\r\n {selected == \"3\" && (\r\n
\r\n
\r\n

Date Time :

\r\n

*

\r\n
\r\n
\r\n setDateFormat(e.target.value)}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n {\r\n if (\r\n selected === \"2\" &&\r\n selectedCondition === \"Split\" &&\r\n (positionValue === \"\" || symbolValue === \"\")\r\n ) {\r\n toggleAlert({\r\n description: `Please fill Symbol and Format`,\r\n message: `Condition Split.`,\r\n type: \"error\",\r\n });\r\n } else {\r\n onSaveToFormat();\r\n }\r\n }}\r\n >\r\n Save To Format\r\n \r\n
\r\n {formats?.format?.length >= 1 && (\r\n
\r\n <>\r\n \r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {formats?.format?.map((_data: any, idx: any) => (\r\n
\r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {\r\n updateFormat(_data, idx);\r\n }}\r\n >\r\n
\r\n \r\n {_data.label}\r\n \r\n
\r\n {renderIconShowCreateControl(\r\n _data.type\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n deleteFormat(idx);\r\n }}\r\n >\r\n \r\n

\r\n
\r\n
\r\n )}\r\n \r\n
\r\n ))}\r\n {provided.placeholder}\r\n \r\n )}\r\n \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 { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport { RiEditLine } from \"react-icons/ri\";\r\nimport AddConditionComponent from \"./AddConditionComponent\";\r\nimport AddPreFixComponent from \"./AddPreFixComponent\";\r\nimport \"./AutoNumberComponent.css\";\r\nimport { notification } from \"antd\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n attributeNumber: any;\r\n setAttributeNumber: any;\r\n}\r\n\r\nexport default function AutoNumberComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n digit: parseInt(props.template?.digit) || 1,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isNotCopy: props.template.attribute?.isNotCopy === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n const [viewModal, setViewModal] = useState(false);\r\n const [conditionViewModal, setConditionViewModal] = useState(false);\r\n const [attributeIdx, setAttributeIdx] = useState();\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n function deleteAutoNumber(idx: any) {\r\n let _attribute = props.attributeNumber.formats;\r\n\r\n _attribute.splice(idx, 1);\r\n props.setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [..._attribute],\r\n }));\r\n }\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Digit :

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n setCheckAction(\"addFormat\");\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add PreFix\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.attributeNumber.formats.map((data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

Sequence

\r\n

ลำดับ

\r\n
\r\n

Condition

\r\n

เงื่อนไข

\r\n
\r\n

Format

\r\n

รูปแบบแสดงผล

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
{idx + 1}\r\n {\" \"}\r\n \r\n {\r\n setAttributeIdx(idx);\r\n setConditionViewModal(true);\r\n setCheckAction(\"editCondition\");\r\n }}\r\n />\r\n {\" \"}\r\n \r\n \r\n {data.condition?.map((_data: any, idx2: any) => (\r\n <>\r\n {data.condition.length > 1\r\n ? data.condition.slice(-1)[0] == _data\r\n ? `${_data.label}`\r\n : `${_data.label} - `\r\n : _data.label}\r\n \r\n ))}\r\n \r\n \r\n \r\n {\r\n setAttributeIdx(idx);\r\n setViewModal(true);\r\n setCheckAction(\"editPrefix\");\r\n }}\r\n />\r\n {\" \"}\r\n \r\n \r\n {data.format.map((_data: any, idx2: any) => (\r\n <>\r\n {data.format.length > 1\r\n ? data.format.slice(-1)[0] == _data\r\n ? `${_data.label}`\r\n : `${_data.label} - `\r\n : _data.label}\r\n \r\n ))}\r\n \r\n \r\n {\r\n deleteAutoNumber(idx);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n {viewModal && (\r\n \r\n )}\r\n {conditionViewModal && (\r\n \r\n )}\r\n \r\n );\r\n}","import { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { ControllerRenderProps, FieldValues } from \"react-hook-form\";\r\n\r\ntype Props = {\r\n field: ControllerRenderProps;\r\n disabled: boolean;\r\n};\r\n\r\nconst CalendarDefaultValueGroup = ({ field, disabled }: Props) => {\r\n useEffect(() => {\r\n if (disabled) {\r\n field.onChange(\"\");\r\n }\r\n }, [disabled]);\r\n\r\n return (\r\n
\r\n {\r\n console.log(\"valuedate\", e.target.value, field, disabled);\r\n field.onChange(e.target.value);\r\n }}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default CalendarDefaultValueGroup;\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport {\r\n Controller,\r\n FieldValues,\r\n UseFormGetValues,\r\n get,\r\n} from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport CalendarDefaultValueGroup from \"./CalendarDefaultValueGroup\";\r\nimport useMasterSetting from \"../../../hooks/useMasterSetting\";\r\nimport { notification } from \"antd\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n getValues: UseFormGetValues;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function CalendarComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n symbol: props.template.attribute?.date?.symbol || \"\",\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n default: props.template.attribute?.default || \"\",\r\n defaultType: props.template.attribute?.defaultType || \"None\",\r\n isNotCopy: props.template.attribute?.isNotCopy === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n const [disabled, setDisabled] = useState(\r\n props.template.attribute?.defaultType === \"None\"\r\n );\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Symbol :

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n {/* default calendar */}\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n
\r\n (\r\n
\r\n {\r\n if (e.value !== \"None\") {\r\n setDisabled(false);\r\n } else {\r\n setDisabled(true);\r\n }\r\n field.onChange(e.value);\r\n }}\r\n options={[\r\n { name: \"None\", value: \"None\" },\r\n { name: \"Days\", value: \"Days\" },\r\n ]}\r\n optionLabel=\"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 );\r\n}\r\n","import { AutoComplete } from \"primereact/autocomplete\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash, BsX } from \"react-icons/bs\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { notification } from 'antd';\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setItemsList: any;\r\n itemsList: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function ChoiceComponent(props: Props) {\r\n\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n item: props.template.attribute?.item || \"\",\r\n multipleLine: props.template.attribute?.multipleLine === \"Y\" ? true : false,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isNotCopy: props.template.attribute?.isNotCopy === \"Y\" || \"\" ? true : false,\r\n };\r\n const [input, setInput] = useState(\"\");\r\n const { toggleAlert } = useAlert();\r\n const [checkBoxRequire, setCheckBoxRequire] = useState();\r\n useEffect(() => {\r\n if (props.template.attribute?.items !== undefined) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...props.template.attribute.items],\r\n }));\r\n }\r\n }, []);\r\n // useEffect(() => {\r\n // if (checkBoxRequire === true) {\r\n // let _components = props.itemsList.items;\r\n // const requestData: any = {\r\n // item: \"--select--\",\r\n // checked: \"N\",\r\n // };\r\n // _components.splice(0, 0, requestData);\r\n // props.setItemsList((prevState: any) => ({\r\n // ...prevState,\r\n // items: [..._components],\r\n // }));\r\n // } else if (\r\n // checkBoxRequire == false &&\r\n // props.itemsList.items[0]?.item == \"--select--\"\r\n // ) {\r\n // let _components = props.itemsList.items;\r\n // _components.splice(0, 1);\r\n // props.setItemsList((prevState: any) => ({\r\n // ...prevState,\r\n // items: [..._components],\r\n // }));\r\n // }\r\n // }, [checkBoxRequire]);\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (event.key === \"Enter\" && event.target.value !== \"\") {\r\n let _components = props.itemsList.items;\r\n let value = event.target.value;\r\n if (value.includes(\",\")) {\r\n var array = value.split(\",\");\r\n if (array[array.length - 1] === \"\") {\r\n array.pop();\r\n }\r\n let _dataFilter;\r\n for (let index = 0; index < array.length; index++) {\r\n _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === array[index].trim()\r\n );\r\n if (_dataFilter.length === 0) {\r\n const requestData: any = {\r\n item: array[index],\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n } else {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === value.trim()\r\n );\r\n if (_dataFilter.length === 0) {\r\n const requestData: any = {\r\n item: value,\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n setInput(\"\");\r\n }\r\n };\r\n function onRowReorder(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: e.value,\r\n }));\r\n }\r\n function cellEditor(options: any) {\r\n return textEditor(options);\r\n }\r\n function textEditor(options: any) {\r\n return (\r\n options.editorCallback(e.target.value)}\r\n />\r\n );\r\n }\r\n const onCellEditComplete = (e: any) => {\r\n let { rowData, newValue, field, originalEvent: event } = e;\r\n let _components = props.itemsList.items;\r\n if (rowData.item !== newValue) {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === newValue.trim()\r\n );\r\n if (_dataFilter.length === 0) {\r\n if (newValue.trim().length > 0) rowData[field] = newValue;\r\n else event.preventDefault();\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n const actionBodyTemplate = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n console.log(rowData, \"rowData\");\r\n let _components = props.itemsList.items.filter(\r\n (data: any) => data.item !== rowData.item\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: _components,\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

Label

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Inline:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setCheckBoxRequire(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n
\r\n

Items :

\r\n

*

\r\n
\r\n
\r\n (\r\n {\r\n setInput(e.target.value);\r\n }}\r\n value={input}\r\n onKeyDown={handleKeyDown}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n \r\n
\r\n
\r\n {props.itemsList.items.length !== 0 && (\r\n
\r\n e.checked === \"Y\"\r\n )}\r\n dataKey=\"item\"\r\n selectionMode={\"radiobutton\"}\r\n onSelectionChange={(e) => {\r\n try {\r\n let val = e.value;\r\n\r\n const newItems = props.itemsList.items.map(\r\n (e: { item: any; checked: string }) => {\r\n if (e.item === val.item) {\r\n val.checked = val.checked === \"N\" ? \"Y\" : \"N\";\r\n e = val;\r\n } else {\r\n e.checked = \"N\";\r\n }\r\n return e;\r\n }\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...newItems],\r\n }));\r\n } catch (error) { }\r\n }}\r\n >\r\n \r\n cellEditor(options)}\r\n onCellEditComplete={onCellEditComplete}\r\n rowEditor\r\n header={\"Items\"}\r\n />\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { notification } from \"antd\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setItemsList: any;\r\n itemsList: any;\r\n setDisplayDropdown: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function MultiChoiceComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n item: props.template.attribute?.item || \"\",\r\n display: props.template.attribute?.display || \"cb\",\r\n multipleLine: props.template.attribute?.multipleLine === \"Y\" ? true : false,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isNotCopy: props.template.attribute?.isNotCopy === \"Y\" || \"\" ? true : false,\r\n };\r\n const displayDropdown = [\r\n { name: \"Checkbox\", code: \"cb\" },\r\n { name: \"Dropdown\", code: \"dd\" },\r\n ];\r\n const [input, setInput] = useState(\"\");\r\n const [dropdown, setDropdown] = useState([]);\r\n const [checkBoxRequire, setCheckBoxRequire] = useState();\r\n const { toggleAlert } = useAlert();\r\n useEffect(() => {\r\n defaultDropDown();\r\n if (props.template.attribute?.items !== undefined) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...props.template.attribute.items],\r\n }));\r\n }\r\n }, []);\r\n function defaultDropDown() {\r\n if (dataRequest.display === \"cb\") {\r\n setDropdown(displayDropdown[0]);\r\n props.setDisplayDropdown(displayDropdown[0]);\r\n } else if (dataRequest.display === \"dd\") {\r\n setDropdown(displayDropdown[1]);\r\n props.setDisplayDropdown(displayDropdown[1]);\r\n }\r\n }\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (event.key === \"Enter\" && event.target.value !== \"\") {\r\n let _components = props.itemsList.items;\r\n let value = event.target.value;\r\n if (value.includes(\",\")) {\r\n var array = value.split(\",\");\r\n if (array[array.length - 1] === \"\") {\r\n array.pop();\r\n }\r\n let _dataFilter;\r\n for (let index = 0; index < array.length; index++) {\r\n _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === array[index].trim()\r\n );\r\n if (_dataFilter.length === 0) {\r\n const requestData: any = {\r\n item: array[index],\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n } else {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === value.trim()\r\n );\r\n if (_dataFilter.length === 0) {\r\n const requestData: any = {\r\n item: value,\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n setInput(\"\");\r\n }\r\n };\r\n\r\n const deleteItems = (idx: number) => {\r\n let _components = props.itemsList.items;\r\n _components.splice(idx, 1);\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n };\r\n function deleteItemsFromDropdown(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...e.value],\r\n }));\r\n }\r\n\r\n function onRowReorder(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: e.value,\r\n }));\r\n }\r\n function cellEditor(options: any) {\r\n return textEditor(options);\r\n }\r\n function textEditor(options: any) {\r\n return (\r\n options.editorCallback(e.target.value)}\r\n />\r\n );\r\n }\r\n const onCellEditComplete = (e: any) => {\r\n let { rowData, newValue, field, originalEvent: event } = e;\r\n let _components = props.itemsList.items;\r\n\r\n if (rowData.item !== newValue) {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === newValue.trim()\r\n );\r\n if (_dataFilter.length === 0) {\r\n if (newValue.trim().length > 0) rowData[field] = newValue;\r\n else event.preventDefault();\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n const actionBodyTemplate = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n console.log(rowData, \"rowData\");\r\n let _components = props.itemsList.items.filter(\r\n (data: any) => data.item !== rowData.item\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: _components,\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Inline:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setCheckBoxRequire(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n {\r\n console.log(displayDropdown);\r\n }}\r\n >\r\n
\r\n

Display:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {/* {\r\n setDropdown(e.value);\r\n props.setDisplayDropdown(e.value);\r\n field.onChange(e.value);\r\n }}\r\n options={displayDropdown}\r\n value={dropdown}\r\n /> */}\r\n {displayDropdown.map((items: any, idex: number) => {\r\n return (\r\n <>\r\n {\r\n setDropdown(e.value);\r\n props.setDisplayDropdown(e.value);\r\n field.onChange(e.value);\r\n }}\r\n checked={dropdown.name === items.name}\r\n />\r\n \r\n {items.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

Items :

\r\n

*

\r\n
\r\n
\r\n (\r\n {\r\n setInput(e.target.value);\r\n }}\r\n value={input}\r\n onKeyDown={handleKeyDown}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n

\r\n If select Required, you can add first item = --select-- for active\r\n validation\r\n

\r\n
\r\n
\r\n {props.itemsList.items.length !== 0 && (\r\n
\r\n e.check === \"Y\"\r\n )}\r\n className=\"set-css-tss\"\r\n scrollHeight=\"15.75rem\"\r\n dataKey=\"item\"\r\n selectionMode={\"checkbox\"}\r\n onSelectionChange={(e) => {\r\n try {\r\n let val = e.value.map((e: any) => e.item);\r\n\r\n const newItems = props.itemsList.items.map(\r\n (e: { item: any; check: string }) => {\r\n if (val.includes(e.item)) {\r\n e.check = \"Y\";\r\n } else {\r\n e.check = \"N\";\r\n }\r\n return e;\r\n }\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...newItems],\r\n }));\r\n } catch (error) { }\r\n }}\r\n >\r\n \r\n cellEditor(options)}\r\n onCellEditComplete={onCellEditComplete}\r\n rowEditor\r\n header={\"Items\"}\r\n />\r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { notification } from \"antd\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setItemsList: any;\r\n itemsList: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function DropdownComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.description || \"\",\r\n item: props.template.attribute?.item || \"\",\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isNotCopy: props.template.attribute?.isNotCopy === \"Y\" || \"\" ? true : false,\r\n default: props.template.attribute?.default,\r\n };\r\n const { toggleAlert } = useAlert();\r\n const [input, setInput] = useState(\"\");\r\n const [checkBoxRequire, setCheckBoxRequire] = useState();\r\n useEffect(() => {\r\n if (props.template.attribute?.items !== undefined) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...props.template.attribute.items],\r\n }));\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (\r\n checkBoxRequire === true &&\r\n props.itemsList.items[0]?.item !== \"--select--\"\r\n ) {\r\n let _components = props.itemsList.items;\r\n const requestData: any = {\r\n item: \"--select--\",\r\n checked: \"N\",\r\n };\r\n _components.splice(0, 0, requestData);\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n // else if (\r\n // checkBoxRequire === false &&\r\n // props.itemsList.items[0]?.item === \"--select--\"\r\n // ) {\r\n // let _components = props.itemsList.items;\r\n // _components.splice(0, 1);\r\n // props.setItemsList((prevState: any) => ({\r\n // ...prevState,\r\n // items: [..._components],\r\n // }));\r\n // }\r\n }, [checkBoxRequire]);\r\n\r\n const handleKeyDown = (event: any) => {\r\n if (event.key === \"Enter\" && event.target.value !== \"\") {\r\n let _components = props.itemsList.items;\r\n let value = event.target.value;\r\n if (value.includes(\",\")) {\r\n var array = value.split(\",\");\r\n if (array[array.length - 1] === \"\") {\r\n array.pop();\r\n }\r\n let _dataFilter;\r\n for (let index = 0; index < array.length; index++) {\r\n _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === array[index].trim()\r\n );\r\n if (_dataFilter.length === 0) {\r\n const requestData: any = {\r\n item: array[index],\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n } else {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === value.trim()\r\n );\r\n if (_dataFilter.length === 0) {\r\n const requestData: any = {\r\n item: value,\r\n checked: \"N\",\r\n };\r\n _components.splice(_components.length, 0, requestData);\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n setInput(\"\");\r\n }\r\n };\r\n\r\n function onRowReorder(e: any) {\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: e.value,\r\n }));\r\n }\r\n function cellEditor(options: any) {\r\n return textEditor(options);\r\n }\r\n function textEditor(options: any) {\r\n return (\r\n options.editorCallback(e.target.value)}\r\n />\r\n );\r\n }\r\n\r\n const onCellEditComplete = (e: any) => {\r\n let { rowData, newValue, field, originalEvent: event } = e;\r\n let _components = props.itemsList.items;\r\n if (rowData.item !== newValue) {\r\n let _dataFilter = _components.filter(\r\n (e: any) => e.item.trim() === newValue.trim()\r\n );\r\n if (_dataFilter.length === 0) {\r\n if (newValue.trim().length > 0) rowData[field] = newValue;\r\n else event.preventDefault();\r\n } else {\r\n toggleAlert({\r\n description: `Please fill in unique item`,\r\n message: `Duplicate warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n }\r\n };\r\n const actionBodyTemplate = (rowData: any) => {\r\n return (\r\n <>\r\n {\r\n let _components = props.itemsList.items.filter(\r\n (data: any) => data.item !== rowData.item\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: _components,\r\n }));\r\n }}\r\n />\r\n \r\n );\r\n };\r\n return (\r\n
{ }}>\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setCheckBoxRequire(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n
\r\n

Items :

\r\n

*

\r\n
\r\n
\r\n (\r\n {\r\n setInput(e.target.value);\r\n }}\r\n value={input}\r\n onKeyDown={handleKeyDown}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n

\r\n If select Required, you can add first item = --select-- for active\r\n validation\r\n

\r\n
\r\n
\r\n {props.itemsList.items.length !== 0 && (\r\n
\r\n e.checked === \"Y\"\r\n )}\r\n dataKey=\"item\"\r\n selectionMode={\"radiobutton\"}\r\n onSelectionChange={(e) => {\r\n try {\r\n let val = e.value;\r\n\r\n const newItems = props.itemsList.items.map(\r\n (e: { item: any; checked: string }) => {\r\n if (e.item === val.item) {\r\n val.checked = val.checked === \"N\" ? \"Y\" : \"N\";\r\n e = val;\r\n } else {\r\n e.checked = \"N\";\r\n }\r\n return e;\r\n }\r\n );\r\n props.setItemsList((prevState: any) => ({\r\n ...prevState,\r\n items: [...newItems],\r\n }));\r\n } catch (error) { }\r\n }}\r\n scrollable\r\n className=\"set-css-tss\"\r\n scrollHeight=\"15.75rem\"\r\n >\r\n \r\n cellEditor(options)}\r\n onCellEditComplete={onCellEditComplete}\r\n rowEditor\r\n header={\"Items\"}\r\n />\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState } from \"react\";\r\n// import \"tinymce/tinymce\";\r\n// import tinymce from \"tinymce/tinymce\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\nimport \"./TemplateModal.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { UploadTinyMce } from \"../../../Services/UploadFileService\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n data: any;\r\n setRichText: any;\r\n}\r\n\r\nconst TemplateModal = (props: Props) => {\r\n const initialValues = {\r\n value: null,\r\n };\r\n const [loading, setLoading] = useState(true);\r\n const [contentEditor, setContentEditor] = useState(\r\n props.data?.value == null ? initialValues : props.data\r\n );\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n let _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const _tinyURL = _userData.TinyURL;\r\n useEffect(() => {\r\n if (!props.data?.value) {\r\n props.setRichText(initialValues);\r\n } else {\r\n props.data.value = props.data.value\r\n .replace(/\\{/g, \"<\")\r\n .replace(/\\}/g, \">\")\r\n .replace(/\\'/g, \"\");\r\n props.setRichText((prevState: any) => ({\r\n ...prevState,\r\n value: props.data.value,\r\n }));\r\n }\r\n }, []);\r\n const handleEditorChange = (content: any, editor: any) => {\r\n setContentEditor((prevState: any) => ({\r\n ...prevState,\r\n value: content,\r\n }));\r\n props.setRichText((prevState: any) => ({\r\n ...prevState,\r\n value: content,\r\n }));\r\n };\r\n const footer = (\r\n
\r\n {\r\n props.setViewModal(false);\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n\r\n return (\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n {loading && (\r\n
\r\n \r\n
\r\n )}\r\n {\r\n setLoading(false);\r\n }}\r\n init={{\r\n // selector: \"textarea#file-picker\",\r\n statusbar: false,\r\n paste_data_images: false,\r\n menubar: false,\r\n content_css: false,\r\n // auto_focus: \"elm1\",\r\n height: 300,\r\n fullscreen_native: true,\r\n remove_script_host: false,\r\n relative_urls: false,\r\n image_title: true,\r\n automatic_uploads: true,\r\n image_sourcetab: false,\r\n image_advtab: false,\r\n plugins: [\r\n \"image code\",\r\n \"advlist autolink lists image charmap print preview hr anchor pagebreak\",\r\n \"searchreplace wordcount code fullscreen\",\r\n \"insertdatetime media nonbreaking save table contextmenu directionality\",\r\n \"emoticons template paste textcolor colorpicker textpattern imagetools image\",\r\n \"link\",\r\n ],\r\n toolbar1:\r\n \"insertfile undo redo | styleselect | fontselect | fontsizeselect | bold italic underline | forecolor backcolor | alignleft aligncenter alignright alignjustify | searchreplace | bullist numlist outdent indent | pagebreak | link table | image | fullscreen\",\r\n fontsize_formats:\r\n \"8pt 10pt 12pt 14pt 16pt 18pt 20pt 22pt 24pt 36pt\",\r\n font_formats:\r\n \"Angsana New=angsana new,times;\" +\r\n \"Arial=arial,helvetica,sans-serif;\" +\r\n \"Arial Black=arial black,avant garde;\" +\r\n \"Book Antiqua=book antiqua,palatino;\" +\r\n \"Comic Sans MS=comic sans ms,sans-serif;\" +\r\n \"Courier New=courier new,courier;\" +\r\n \"DB Sathorn X=DB Sathorn X;\" +\r\n \"Georgia=georgia,palatino;\" +\r\n \"Helvetica=helvetica;\" +\r\n \"Impact=impact,chicago;\" +\r\n \"Symbol=symbol;\" +\r\n \"Tahoma=tahoma,arial,helvetica,sans-serif;\" +\r\n \"Terminal=terminal,monaco;\" +\r\n \"Times New Roman=times new roman,times;\" +\r\n \"Trebuchet MS=trebuchet ms,geneva;\" +\r\n \"Verdana=verdana,geneva;\" +\r\n \"Webdings=webdings;\" +\r\n \"TH Sarabun=sarabun;\" +\r\n \"Leelawadee=Leelawadee;\" +\r\n \"Sukhumvit Set=Sukhumvit Set;\"+\r\n \"Wingdings=wingdings,zapf dingbats\",\r\n content_style:\r\n \"@import url('https://fonts.googleapis.com/css2?family=Sarabun&display=swap'); body { font-family: 'Sarabun', sans-serif; }\" +\r\n \"@import url('https://fonts.cdnfonts.com/css/leelawadee'); body { font-family: 'Leelawadee', sans-serif; }\",\r\n\r\n images_upload_handler: async function (\r\n blobInfo,\r\n success,\r\n failure\r\n ) {\r\n var file = new File([blobInfo.blob()], blobInfo.filename(), {\r\n lastModified: Date.now(),\r\n });\r\n const formData = new FormData();\r\n const protocol = window.location.protocol;\r\n formData.append(\"file\", file);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", \"TinyImages\");\r\n formData.append(\"fileDesc\", \"\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n var response: any = await UploadTinyMce(formData);\r\n console.log(response, \"response\");\r\n if (response.data.result) {\r\n success(`${protocol}//` + _tinyURL + response.data.pathUrl);\r\n } else {\r\n failure(response.data.pathUrl);\r\n }\r\n },\r\n }}\r\n value={contentEditor.value == null ? \"\" : contentEditor.value}\r\n onEditorChange={handleEditorChange}\r\n />\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default TemplateModal;\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { IoDocumentTextOutline } from \"react-icons/io5\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport \".././CreateControlComponents.css\";\r\nimport TemplateModal from \"./TemplateModal\";\r\nimport { notification } from \"antd\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n data: any;\r\n setRichText: any;\r\n}\r\n\r\nexport default function EditorComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template?.description,\r\n height: parseInt(props.template?.height) || 400,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isNotCopy: props.template.attribute?.isNotCopy === \"Y\" || \"\" ? true : false,\r\n };\r\n const [viewModal, setViewModal] = useState(false);\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Height:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n Pixel\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n console.log(\"readonly\", e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-template hover-color-css-282f6a\"\r\n >\r\n Template\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport \".././CreateControlComponents.css\";\r\nimport { notification } from 'antd';\r\ninterface Props {\r\n requestData: (templates: any, itemIdx: number, layoutIdx: number) => void;\r\n control: any;\r\n errors: any;\r\n template: any;\r\n selected: any;\r\n setCheckBoxHeading: any;\r\n checkBoxHeading: any;\r\n displayCheckBox: any;\r\n}\r\nexport default function HeadingComponent(props: Props) {\r\n\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n istext: props.template.istext === \"Y\" || \"\" ? true : false,\r\n textvalue: props.template.textvalue || \"\",\r\n hideInPdf: props.template.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isNotCopy: props.template.isNotCopy === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n const { toggleAlert } = useAlert();\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Display:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {props.displayCheckBox.map((items: any, idex: number) => {\r\n return (\r\n <>\r\n {\r\n props.setCheckBoxHeading(e.value);\r\n field.onChange(e.value);\r\n console.log(e.value, \"sss\");\r\n }}\r\n checked={props.checkBoxHeading.name === items.name}\r\n />\r\n \r\n {items.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

Label :

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
*/}\r\n {props.checkBoxHeading.code === \"N\" && (\r\n <>\r\n
\r\n
\r\n

Label :

\r\n *\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n \r\n )}\r\n {props.checkBoxHeading.code === \"Y\" && (\r\n
\r\n
\r\n

Text Value

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState.invalid && (\r\n Text value is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n}","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { notification } from \"antd\";\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n fromRender?: string;\r\n setValue: any;\r\n}\r\n\r\nexport default function NumberComponent(props: Props) {\r\n const [decimal, setDecimal] = useState(\r\n parseInt(props.template.attribute?.decimal) || 0\r\n );\r\n const [readonly, setReadonly] = useState(\r\n props.template.attribute?.readonly === \"Y\" ? true : false\r\n );\r\n const [summary, setSummary] = useState(\r\n props.template.attribute?.summary === \"Y\" ? true : false\r\n );\r\n const [min, setMin] = useState();\r\n\r\n const dataRequest = {\r\n label: props.template.label,\r\n alter: props.template.alter,\r\n require: props.template.attribute?.require === \"Y\" ? true : false,\r\n formula: props.template.attribute?.formula || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n decimal: Number(props.template.attribute?.decimal) || 0,\r\n default: props.template.attribute?.default || \"\",\r\n align: props.template.attribute?.align === \"l\" ? true : false,\r\n min:\r\n props.template.attribute?.min !== \"\"\r\n ? Number(props.template.attribute?.min)\r\n : null,\r\n max:\r\n props.template.attribute?.max !== \"\"\r\n ? Number(props.template.attribute?.max)\r\n : null,\r\n useComma: props.template.attribute?.useComma === \"Y\" ? true : false,\r\n symbol: props.template.attribute?.symbol || \"\",\r\n symbolPosition:\r\n props.template.attribute?.symbolPosition === \"B\" ? true : false,\r\n summary: props.template.attribute?.summary === \"Y\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" ? true : false,\r\n widthInTable: Number(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isSummary: props.template.attribute?.isSummary === \"Y\" || \"\" ? true : false,\r\n isNotCopy: props.template.attribute?.isNotCopy === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n console.log(\"hideIn=>\", props.template.attribute?.hideInPdf);\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n props.errors[name] && (\r\n {props.errors[name].message}\r\n )\r\n );\r\n };\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Description:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n

Decimal:

\r\n
\r\n
\r\n (\r\n {\r\n field.onChange(e.value);\r\n setDecimal(e.value);\r\n }}\r\n min={0}\r\n max={10}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender !== \"table\" && (\r\n
\r\n
\r\n

Formula:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n

\r\n Operators for use : Addition (+), Subtraction (-), Multiplication\r\n (*), Division (/), Function sum() Ex. : Column Label 1*Column\r\n Label 2, sum(Table Label;Column Label) *sum() Function can only\r\n put 1 column label.\r\n

\r\n
\r\n
\r\n )}\r\n\r\n
\r\n
\r\n

Min:

\r\n
\r\n
\r\n {\r\n return (\r\n {\r\n field.onChange(e.value);\r\n setMin(e.value);\r\n }}\r\n mode=\"decimal\"\r\n minFractionDigits={decimal === undefined ? 2 : decimal}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n );\r\n }}\r\n />\r\n
\r\n
\r\n

Max:

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={min}\r\n minFractionDigits={decimal === undefined ? 2 : decimal}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Value Align Left:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Symbol:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n

Symbol Left:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Summary:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setSummary(e.checked);\r\n // if (field) {\r\n // setReadonly(true);\r\n // props.setValue(\"readonly\", true);\r\n // }\r\n }}\r\n checked={summary}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Comma:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n // if (!summary) {}\r\n field.onChange(e.checked);\r\n\r\n setReadonly(e.checked);\r\n }}\r\n checked={readonly}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

ShowTotal In Table:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\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 { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { BiArchiveIn } from \"react-icons/bi\";\r\nimport { FaHeading } from \"react-icons/fa\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { Button } from \"../../Button/Button\";\r\nimport \"./RevisionComponent.css\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n setRevisionConditions: any;\r\n revisionConditions: any;\r\n conditionsIdx: any;\r\n checkAction: any;\r\n}\r\n\r\nexport default function AddConditionModal(props: Props) {\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const [selectedFormName, setSelectedFormName] = useState();\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const [selected, setSelected] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (props.checkAction == \"edit\") {\r\n setSelectedFormName({\r\n item: props.revisionConditions.conditions[props.conditionsIdx]?.label,\r\n });\r\n }\r\n }, []);\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n if (\r\n _dataLayout.template.type === \"t\" ||\r\n _dataLayout.template.type === \"an\"\r\n ) {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n setDefaultValue([...array]);\r\n }\r\n }, []);\r\n function saveConditions() {\r\n if (selectedFormName == undefined) {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n if (props.checkAction === \"add\") {\r\n const newConditions: any = {\r\n label: selectedFormName.item,\r\n boxid: \"\",\r\n controltype: \"AdvanceForm\",\r\n };\r\n let _conditions = props.revisionConditions.conditions;\r\n _conditions.push(newConditions);\r\n props.setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [..._conditions],\r\n }));\r\n } else if (props.checkAction === \"edit\") {\r\n const newConditions: any = {\r\n label: selectedFormName.item,\r\n boxid: \"\",\r\n controltype: \"AdvanceForm\",\r\n };\r\n let _conditions = props.revisionConditions.conditions;\r\n _conditions[props.conditionsIdx] = newConditions;\r\n props.setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [..._conditions],\r\n }));\r\n }\r\n\r\n props.setViewModal(false);\r\n }\r\n const footer = (\r\n
\r\n {\r\n saveConditions();\r\n }}\r\n className=\"hover-color-css-blue set-css-button-save-in-modal\"\r\n >\r\n Save\r\n \r\n
\r\n );\r\n const onSelectedChange = (e: { value: any }) => {\r\n setSelectedFormName(e.value);\r\n };\r\n return (\r\n <>\r\n props.setViewModal(false)}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n footer={footer}\r\n >\r\n
\r\n
\r\n
\r\n setSelected(e)}\r\n title={\"Advance Form\"}\r\n icon={}\r\n page={0}\r\n curPage={selected}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

FormName :

\r\n

*

\r\n
\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 { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport AddConditionModal from \"./AddConditionModal\";\r\nimport \"./RevisionComponent.css\";\r\nimport { notification } from 'antd';\r\n\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n advanceForm: any;\r\n setAdvanceForm: any;\r\n revisionConditions: any;\r\n setRevisionConditions: any;\r\n}\r\n\r\nexport default function RevisionComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n digit: parseInt(props.template.attribute?.digit) || 0,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isNotCopy: props.template.attribute?.isNotCopy === \"Y\" || \"\" ? true : false,\r\n };\r\n const [viewModal, setViewModal] = useState(false);\r\n const [conditionsIdx, setConditionsIdx] = useState();\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n\r\n function deleteCondition(idx: number) {\r\n let _conditions = props.revisionConditions.conditions;\r\n _conditions.splice(idx, 1);\r\n props.setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [..._conditions],\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Digit :

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setViewModal(true);\r\n setCheckAction(\"add\");\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add Condition\r\n \r\n
\r\n
\r\n
\r\n {props.revisionConditions.conditions.length >= 1 ? (\r\n <>\r\n
\r\n
\r\n {props.revisionConditions.conditions.map(\r\n (_data: any, idx: number) => (\r\n
\r\n {\r\n setConditionsIdx(idx);\r\n setViewModal(true);\r\n setCheckAction(\"edit\");\r\n }}\r\n >\r\n {`[${idx + 1\r\n }]`}\r\n \r\n {_data.label}\r\n \r\n
\r\n
\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n \r\n
\r\n
\r\n )\r\n )}\r\n
\r\n
\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n {viewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { notification } from \"antd\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n fromRender?: any;\r\n}\r\n\r\nexport default function ShortTextComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n default: props.template.attribute?.default || \"\",\r\n length: parseInt(props.template.attribute?.length) || 0,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isNotCopy: props.template.attribute?.isNotCopy === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n \r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\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

Default Value:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Max Length:

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={5000}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n );\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { Button } from \"../../../components/Button/Button\";\r\nimport { FaHeading, FaRegImage, FaRegListAlt } from \"react-icons/fa\";\r\nimport { BiText, BiTimeFive } from \"react-icons/bi\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { AiOutlineNumber } from \"react-icons/ai\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { CgPlayButtonO } from \"react-icons/cg\";\r\nimport {\r\n BsFileEarmarkRichtext,\r\n BsSortNumericDown,\r\n BsTable,\r\n} from \"react-icons/bs\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\n\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n layoutLength?: any;\r\n renderIn?: string;\r\n}\r\n\r\nexport default function CreateControlSideBarElement(props: Props) {\r\n const SideBarData = [\r\n {\r\n component: (\r\n <>\r\n {props.layoutLength === 1 && (\r\n props.onSelectView(e)}\r\n title={\"Heading\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n )}\r\n \r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"ShortText\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiLine\"}\r\n icon={}\r\n page={3}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Number\"}\r\n icon={}\r\n page={4}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Calendar\"}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Choice\"}\r\n icon={}\r\n page={6}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiChoice\"}\r\n icon={}\r\n page={7}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Dropdown\"}\r\n icon={}\r\n page={8}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n <>\r\n {props.layoutLength === 1 && (\r\n props.onSelectView(e)}\r\n title={\"Table\"}\r\n icon={}\r\n page={9}\r\n curPage={props.curPage}\r\n />\r\n )}\r\n \r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"RichText\"}\r\n icon={}\r\n page={10}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Attachment\"}\r\n icon={}\r\n page={11}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Image\"}\r\n icon={}\r\n page={12}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n <>\r\n {/* {props.layoutLength === 2 && ( */}\r\n props.onSelectView(e)}\r\n title={\"Button\"}\r\n icon={}\r\n page={13}\r\n curPage={props.curPage}\r\n />\r\n {/* )} */}\r\n \r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Auto Number\"}\r\n icon={}\r\n page={14}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Revision\"}\r\n icon={}\r\n page={15}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n ];\r\n\r\n const SideBarDataInColumn = [\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"ShortText\"}\r\n icon={}\r\n page={1}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiLine\"}\r\n icon={}\r\n page={2}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Number\"}\r\n icon={}\r\n page={3}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Calendar\"}\r\n icon={}\r\n page={4}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Choice\"}\r\n icon={}\r\n page={5}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"MultiChoice\"}\r\n icon={}\r\n page={6}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Dropdown\"}\r\n icon={}\r\n page={7}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n\r\n {\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Attachment\"}\r\n icon={}\r\n page={8}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n },\r\n ];\r\n return (\r\n <>\r\n {props.renderIn === \"control\" && (\r\n {\r\n console.log(SideBarData, \"SideBarData\");\r\n }}\r\n >\r\n {SideBarData.map((data, idx) => {\r\n if (\r\n data?.component?.props?.title ||\r\n data?.component?.props?.children?.props?.title\r\n ) {\r\n return (\r\n <>\r\n
{data.component}
\r\n \r\n );\r\n }\r\n })}\r\n \r\n )}\r\n {props.renderIn === \"column\" && (\r\n \r\n {SideBarDataInColumn.map((data, idx) => {\r\n if (\r\n data?.component?.props?.title ||\r\n data?.component?.props?.children?.props?.title\r\n ) {\r\n return (\r\n <>\r\n
{data.component}
\r\n \r\n );\r\n }\r\n })}\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { InputTextarea } from \"primereact/inputtextarea\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport \".././CreateControlComponents.css\";\r\nimport { notification } from \"antd\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n fromRender?: string;\r\n}\r\n\r\nexport default function TextAreaComponent(props: Props) {\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n description: props.template.attribute?.description || \"\",\r\n default: props.template.attribute?.default || \"\",\r\n length: parseInt(props.template.attribute?.length) || 0,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n widthInTable: parseInt(props.template.attribute?.widthInTable) || 0,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isNotCopy: props.template.attribute?.isNotCopy === \"Y\" || \"\" ? true : false,\r\n };\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n return (\r\n props.errors[name] && (\r\n {props.errors[name].message}\r\n )\r\n );\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\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

Default Value:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Max Length:

\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={5000}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.fromRender === \"table\" && (\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n mode=\"decimal\"\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n %\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* {props.fromRender === \"table\" && ( */}\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n Yes\r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n {/* )} */}\r\n
\r\n );\r\n}\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport AttachmentComponent from \"../AttachmentComponent/AttachmentComponent\";\r\nimport CalendarComponent from \"../CalendarComponent/CalendarComponent\";\r\nimport ChoiceComponent from \"../ChoiceComponent/ChoiceComponent\";\r\nimport DropdownComponent from \"../DropdownComponent/DropdownComponent\";\r\nimport CreateControlSideBarElement from \"../ModalCreateComponents/CreateControlSideBarElement\";\r\nimport MultiChoiceComponent from \"../MultiChoiceComponent/MultiChoiceComponent\";\r\nimport NumberComponent from \"../NumberComponent/NumberComponent\";\r\nimport ShortTextComponent from \"../ShortTextComponent/ShortTextComponent\";\r\nimport TextAreaComponent from \"../TextAreaComponent/TextAreaComponent\";\r\nimport \"./TableCreateComponents.css\";\r\ninterface Props {\r\n setViewModal: any;\r\n viewModal: any;\r\n attributeColumn: any;\r\n setAttributeColumn: any;\r\n setFromRender: any;\r\n fromRender: string;\r\n layoutIdx: any;\r\n action: any;\r\n setUploadFileState: any;\r\n uploadFileState: any;\r\n userData: any;\r\n}\r\n\r\nexport default function ColumnComponent(props: Props) {\r\n const column: any = [\r\n {\r\n label: {},\r\n alter: null,\r\n control: {},\r\n data: {\r\n value: null,\r\n },\r\n },\r\n ];\r\n const { toggleAlert } = useAlert();\r\n const toast = useRef(null);\r\n const [selected, setSelected] = useState(\"\");\r\n const [component, setComponent] = useState();\r\n const [itemsList, setItemsList] = useState({ items: [] });\r\n const [displayDropdown, setDisplayDropdown] = useState();\r\n const {\r\n control: control2,\r\n formState: { errors: errors2 },\r\n getValues,\r\n setValue,\r\n handleSubmit: handleSubmit2,\r\n } = useForm({\r\n mode: \"onBlur\",\r\n });\r\n useEffect(() => {\r\n setSelected(\"1\");\r\n props.setFromRender(\"table\");\r\n checkType();\r\n }, []);\r\n\r\n useEffect(() => {\r\n\r\n renderComponent();\r\n }, [selected, itemsList]);\r\n\r\n const checkType = () => {\r\n if (props.action === \"edit\") {\r\n let _column = props.attributeColumn.column[props.layoutIdx];\r\n checkActionButton(_column.control.template.type);\r\n }\r\n };\r\n const checkActionButton = (dataType: any) => {\r\n if (dataType === \"t\") {\r\n setSelected(\"1\");\r\n } else if (dataType === \"ta\") {\r\n setSelected(\"2\");\r\n } else if (dataType === \"c\") {\r\n setSelected(\"3\");\r\n } else if (dataType === \"d\") {\r\n setSelected(\"4\");\r\n } else if (dataType === \"r\") {\r\n setSelected(\"5\");\r\n } else if (dataType === \"cb\") {\r\n setSelected(\"6\");\r\n } else if (dataType === \"dd\") {\r\n setSelected(\"7\");\r\n } else if (dataType === \"at\") {\r\n setSelected(\"8\");\r\n } else {\r\n setSelected(\"1\");\r\n }\r\n };\r\n const requestData = (columnData: any, columnIdx?: number) => {\r\n let _column = props.attributeColumn.column;\r\n if (props.action === \"add\") {\r\n _column.push(columnData);\r\n } else if (props.action === \"edit\") {\r\n _column[props.layoutIdx] = columnData;\r\n }\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [..._column],\r\n }));\r\n props.setFromRender(\"control\");\r\n };\r\n\r\n const updateChanges2 = (data: any) => {\r\n if (itemsList.items.length === 0) {\r\n if (selected === \"5\" || selected === \"6\" || selected === \"7\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n }\r\n if (selected === \"1\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"t\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length?.toString() || \"0\",\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable?.toString() || \"0\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"2\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"ta\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length.toString(),\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"3\") {\r\n console.log(data);\r\n\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"c\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n formula: data.formula,\r\n description: data.description,\r\n decimal: data.decimal?.toString(),\r\n default: data.default,\r\n align: data.align ? \"l\" : \"r\",\r\n min: data.min?.toString(),\r\n max: data.max?.toString(),\r\n useComma: data.useComma ? \"Y\" : \"N\",\r\n symbol: data.symbolNumber,\r\n symbolPosition: data.symbolPosition ? \"B\" : \"E\",\r\n summary: data.summary ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isSummary: data.isSummary ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"4\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"d\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n defaultType: data.defaultType,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n date: {\r\n use: \"Y\",\r\n useDate: \"Y\",\r\n fullYear: \"Y\",\r\n symbol: data.symbol,\r\n },\r\n time: {\r\n use: \"N\",\r\n useSecond: \"N\",\r\n symbol: \":\",\r\n },\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"5\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"r\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n widthInTable: data.widthInTable.toString(),\r\n items: itemsList.items,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"6\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"cb\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n display: displayDropdown?.code,\r\n widthInTable: data.widthInTable.toString(),\r\n items: itemsList.items,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: {\r\n items: [],\r\n },\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"7\") {\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"dd\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.description,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n items: itemsList.items,\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n },\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n } else if (selected === \"8\") {\r\n console.log(data);\r\n\r\n const dataRequest = {\r\n guid: generateQuickGuid(),\r\n label: data.label,\r\n alter: data.alter,\r\n control: {\r\n template: {\r\n type: \"at\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.fileTypeFile,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n max: data.maxFile.toString(),\r\n widthInTable: data.widthInTable.toString(),\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n default: data.defaultValueImage,\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n requestData(dataRequest);\r\n }\r\n\r\n props.setViewModal(false);\r\n };\r\n\r\n const renderComponent = () => {\r\n let _column: any;\r\n if (props.action === \"add\") {\r\n _column = props.attributeColumn;\r\n } else if (props.action === \"edit\") {\r\n let respone = props.attributeColumn.column[props.layoutIdx];\r\n _column = {\r\n label: respone?.label,\r\n alter: respone?.alter,\r\n description: respone?.control?.template?.description,\r\n attribute: {\r\n description: respone?.control?.template?.attribute?.description,\r\n default: respone?.control?.template?.attribute?.default,\r\n length: Number(respone?.control?.template?.attribute?.length),\r\n require: respone?.control?.template?.attribute?.require,\r\n readonly: respone?.control?.template?.attribute?.readonly,\r\n min: Number(respone?.control?.template?.attribute?.min),\r\n max: Number(respone?.control?.template?.attribute?.max),\r\n useComma: respone?.control?.template?.attribute?.useComma,\r\n symbol: respone?.control?.template?.attribute?.symbol,\r\n symbolPosition: respone?.control?.template?.attribute?.symbolPosition,\r\n summary: respone?.control?.template?.attribute?.summary,\r\n decimal: Number(respone?.control?.template?.attribute?.decimal),\r\n formula: respone?.control?.template?.attribute?.formula,\r\n align: respone?.control?.template?.attribute?.align,\r\n defaultType: respone?.control?.template?.attribute?.defaultType,\r\n multipleLine: respone?.control?.template?.attribute?.multipleLine,\r\n date: {\r\n symbol: respone?.control?.template?.attribute?.date?.symbol,\r\n },\r\n items: [...(respone?.control?.template?.attribute?.items || \"\")],\r\n display: respone?.control?.template?.attribute?.display,\r\n widthInTable: Number(\r\n respone?.control?.template?.attribute?.widthInTable\r\n ),\r\n hideInPdf: respone?.control?.template?.attribute?.hideInPdf,\r\n isSummary: respone?.control?.template?.attribute?.isSummary,\r\n isNotCopy: respone?.control?.template?.attribute?.isNotCopy,\r\n },\r\n };\r\n }\r\n if (selected === \"1\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"2\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"3\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"4\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"5\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"6\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"7\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"8\") {\r\n setComponent(\r\n \r\n );\r\n }\r\n };\r\n\r\n const handleKeyDown = (event: any, callback: any) => {\r\n if (event.key === \"Enter\" && event.shiftKey === false) {\r\n event.preventDefault();\r\n callback(handleSubmit2);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {\r\n props.setFromRender(\"control\");\r\n props.setViewModal(false);\r\n }}\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n >\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n handleKeyDown(e, handleSubmit2);\r\n }}\r\n >\r\n {component}\r\n
\r\n {\r\n props.setFromRender(\"control\");\r\n props.setViewModal(false);\r\n }}\r\n type=\"button\"\r\n >\r\n \r\n Cancel\r\n \r\n\r\n \r\n Save\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n}\r\n","import { Spin } from \"antd\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport { ReportTemplateSelectByReportID } from \"../../../Services/ReportService\";\r\nimport {\r\n GetAllByCreateTemplate,\r\n GetAllTemplate,\r\n GetTemplateByDocTypeCode,\r\n GetTemplateByIdDto,\r\n ReportTemplateList,\r\n} from \"../../../Services/TemplateService\";\r\nimport \"./TableCreateComponents.css\";\r\nimport { data } from \"jquery\";\r\n\r\ninterface Props {\r\n attributeColumn: any;\r\n setAttributeColumn: any;\r\n setMergeColumnRefDoc: any;\r\n mergeColumnRefDoc: any;\r\n control: any;\r\n template: any;\r\n setDocDataSource: any;\r\n docDataSource: any;\r\n setSelectedReportRef: any;\r\n selectedReportRef: any;\r\n setSelectedTemplateRef: any;\r\n selectedTemplateRef: any;\r\n setConditions: any;\r\n conditions: any;\r\n advanceForm: any;\r\n setSelectedDocControlTemplate: any;\r\n selectedDocControlTemplate: any;\r\n setDefaultConfigColumn: any;\r\n defaultConfigColumn: any;\r\n}\r\n\r\nexport default function ReferenceDocument(props: Props) {\r\n const [loading, setLoading] = useState(true);\r\n const [visibleDocControl, setVisibleDocControl] = useState(false);\r\n const [visibleRevisionDocControl, setVisibleRevisionDocControl] = useState(false);\r\n const dataRequest = {\r\n enabledpopupdefdoc:\r\n props.template.attribute?.enabledpopupdefdoc === \"Y\" ? true : false,\r\n doccontrol:\r\n props.template.attribute?.refdoc?.doccontrol === true ? true : false,\r\n };\r\n\r\n const itemsType = [{ name: \"Template\" }, { name: \"Report\" }];\r\n const itemsControlLabel = [\r\n { RefDocLabel: \"Document No\", value: \"DocumentNo\" },\r\n { RefDocLabel: \"Document Amount\", value: \"DocumentAmount\" },\r\n { RefDocLabel: \"Creator Employee Code\", value: \"CreatorEmployeeCode\" },\r\n { RefDocLabel: \"Creator Employee Name\", value: \"CreatorEmployeeName\" },\r\n {\r\n RefDocLabel: \"Creator Employee Position\",\r\n value: \"CreatorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Division\",\r\n value: \"CreatorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Department\",\r\n value: \"CreatorEmployeeDepartment\",\r\n },\r\n { RefDocLabel: \"Creator Employee Email\", value: \"CreatorEmployeeEmail\" },\r\n {\r\n RefDocLabel: \"Requestor Employee Code\",\r\n value: \"RequestorEmployeeCode\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Name\",\r\n value: \"RequestorEmployeeName\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Position\",\r\n value: \"RequestorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Division\",\r\n value: \"RequestorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Department\",\r\n value: \"RequestorEmployeeDepartment\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Email\",\r\n value: \"RequestorEmployeeEmail\",\r\n },\r\n {\r\n RefDocLabel: \"Information Document Status\",\r\n value: \"InformationDocumentStatus\",\r\n },\r\n {\r\n RefDocLabel: \"Information Form Category\",\r\n value: \"InformationFormCategory\",\r\n },\r\n { RefDocLabel: \"Information Form Name\", value: \"InformationFormName\" },\r\n {\r\n RefDocLabel: \"Information RequestDate\",\r\n value: \"InformationRequestDate\",\r\n },\r\n { RefDocLabel: \"Information Company\", value: \"InformationCompany\" },\r\n { RefDocLabel: \"Information Branch\", value: \"InformationBranch\" },\r\n { RefDocLabel: \"Information Subject\", value: \"InformationSubject\" },\r\n { RefDocLabel: \"Information Project\", value: \"InformationProject\" },\r\n ];\r\n\r\n const itemsConditionList = [\r\n { name: \"ใต้สังกัด\", value: \"under\" },\r\n { name: \"ค่าคงที่\", value: \"fixed value\" },\r\n ];\r\n\r\n const conditionRefDoc: any = {\r\n label: \"\",\r\n conditionType: \"under\",\r\n value: \"\",\r\n };\r\n const [defaultValueRefDoc, setDefaultValueRefDoc] = useState();\r\n const [defaultValueRefDoc2, setDefaultValueRefDoc2] = useState();\r\n\r\n const [defaultValueReport, setDefaultValueReport] = useState([]);\r\n const [checkAction, setCheckAction] = useState();\r\n const [actionSubmit, setActionSubmit] = useState();\r\n const [defaultValue, setDefaultValue] = useState([]);\r\n const isFirstRun = useRef(true);\r\n useEffect(() => {\r\n if (props.advanceForm.items?.length >= 1) {\r\n let array: any = [];\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n {\r\n array.push({\r\n item: _dataLayout.template.label,\r\n value: _dataLayout.template.label,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n setDefaultValue([...array]);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n async function fetchMyAPI() {\r\n setLoading(true);\r\n await fetchDataTemplate();\r\n await defaultValueDropDown();\r\n await defaultValueDocControl();\r\n setLoading(false);\r\n }\r\n fetchMyAPI();\r\n }, []);\r\n function defaultValueDocControl() {\r\n if (dataRequest.doccontrol) {\r\n setVisibleDocControl(true);\r\n }\r\n }\r\n function defaultValueDropDown() {\r\n if (props?.mergeColumnRefDoc?.columnRefDoc?.length >= 1) {\r\n let array: any = [];\r\n let array2: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n array.push({\r\n ColumnLabel: _data.label,\r\n });\r\n });\r\n props?.mergeColumnRefDoc?.columnRefDoc.map((_data: any, idx: any) => {\r\n array2.push({\r\n HaveLink: _data.HaveLink ? _data.HaveLink : false,\r\n RefDocLabel: _data.RefDocLabel,\r\n IsRevision: _data.IsRevision ? _data.IsRevision : false,\r\n RevisionType: _data.RevisionType,\r\n });\r\n });\r\n let arr3 = array.map((item: any, i: number) =>\r\n Object.assign({}, item, array2[i])\r\n );\r\n\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...arr3],\r\n }));\r\n } else {\r\n let array: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n array.push({\r\n ColumnLabel: _data.label,\r\n RefDocLabel: \"\",\r\n });\r\n });\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...array],\r\n }));\r\n }\r\n }\r\n useEffect(() => {\r\n if (props.template.attribute.refdoc) {\r\n mapDefaultData();\r\n }\r\n }, [defaultValueRefDoc]);\r\n\r\n function mapDefaultData() {\r\n if (props.template) {\r\n let MapData = props.template.attribute.refdoc.docref.map(\r\n (item: any) => item.id\r\n );\r\n\r\n if (defaultValueRefDoc) {\r\n let dafault = defaultValueRefDoc.filter((item: any) =>\r\n MapData.includes(item.TemplateId.toString())\r\n );\r\n if (props.template.attribute.refdoc.docref) {\r\n props.setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docref: [...dafault],\r\n }));\r\n }\r\n }\r\n }\r\n }\r\n useEffect(() => {\r\n fetchDataTemplateById();\r\n }, [props.selectedReportRef]);\r\n useEffect(() => {\r\n newValueAlterSelected();\r\n }, [actionSubmit]);\r\n useEffect(() => {\r\n setValueConfigColumnTable();\r\n }, [props.selectedTemplateRef]);\r\n\r\n const setValueConfigColumnTable = async () => {\r\n let mapper: any = [];\r\n if (\r\n props.docDataSource.docDataSource === \"Report\" &&\r\n props.selectedReportRef?.docReport?.ReportTemplateId\r\n ) {\r\n let array: any[] = [];\r\n const reportId = parseInt(\r\n props.selectedReportRef?.docReport?.ReportTemplateId\r\n );\r\n const response = await ReportTemplateSelectByReportID(reportId);\r\n let selectedFieldList = response.Selectedfieldlist;\r\n for (let i = 0; i < selectedFieldList?.length; i++) {\r\n const element = selectedFieldList[i];\r\n array.push({\r\n value: element.key,\r\n RefDocLabel: element.label,\r\n });\r\n }\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n props.setDefaultConfigColumn([..._data]);\r\n } else if (\r\n props.selectedTemplateRef?.docref?.length > 0 &&\r\n props.docDataSource.docDataSource === \"Template\"\r\n ) {\r\n props.selectedTemplateRef?.docref?.map((item: any, index: number) => {\r\n if (item?.AdvanceForm) {\r\n mapper.push({\r\n AdvanceForm: JSON.parse(item?.AdvanceForm),\r\n DocumentCode: item.DocumentCode,\r\n });\r\n }\r\n });\r\n let array: any = [];\r\n mapper.map((item: any, i: number) => {\r\n item.AdvanceForm.items.map((_data: any, j: number) => {\r\n _data.layout.map((_dataLayout: any, k: number) => {\r\n if (_dataLayout.template.label) {\r\n array.push({\r\n value: item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n RefDocLabel:\r\n item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n props.setDefaultConfigColumn([..._data]);\r\n } else {\r\n const _data = itemsControlLabel;\r\n props.setDefaultConfigColumn([..._data]);\r\n defaultConfigColumn();\r\n }\r\n };\r\n function defaultConfigColumn() {\r\n let array: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n array.push({\r\n ColumnLabel: _data.label,\r\n RefDocLabel: \"\",\r\n });\r\n });\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...array],\r\n }));\r\n }\r\n async function newValueAlterSelected() {\r\n if (isFirstRun.current) {\r\n isFirstRun.current = false;\r\n } else {\r\n props.setSelectedReportRef([]);\r\n props.setSelectedTemplateRef([]);\r\n }\r\n }\r\n async function fetchDataTemplateById() {\r\n if (checkAction === \"2\") {\r\n let _dataTemplate: any[] = [];\r\n const templateCode = props.selectedReportRef?.docReport?.TemplateId;\r\n const arrayCode = templateCode?.split(\"|\");\r\n const _response = defaultValueRefDoc2?.filter((item: any) =>\r\n arrayCode?.includes(item?.DocumentCode)\r\n );\r\n const _response2 = _response?.filter((item: any) => {\r\n return item.IsActive === true;\r\n });\r\n if (_response2) {\r\n _dataTemplate.push(..._response2);\r\n } else {\r\n _dataTemplate.push();\r\n }\r\n setDefaultValueRefDoc([..._dataTemplate]);\r\n const _data = itemsControlLabel;\r\n props.setDefaultConfigColumn([..._data]);\r\n }\r\n }\r\n async function fetchDataTemplate() {\r\n if (\r\n !props.docDataSource.docDataSource ||\r\n typeof props.docDataSource.docDataSource === \"object\"\r\n ) {\r\n props.setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: \"Template\",\r\n }));\r\n }\r\n let _dataTemplate = await GetAllByCreateTemplate();\r\n let _dataReportTemplate = await ReportTemplateList();\r\n setDefaultValueRefDoc([..._dataTemplate]);\r\n setDefaultValueRefDoc2([..._dataTemplate]);\r\n console.log(_dataReportTemplate, \"_dataReportTemplate\");\r\n setDefaultValueReport([..._dataReportTemplate]);\r\n props.setDefaultConfigColumn([...itemsControlLabel]);\r\n }\r\n\r\n function deleteCondition(idx: any) {\r\n let _condition = props.conditions.conditionrefdoc;\r\n _condition.splice(idx, 1);\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc: [..._condition],\r\n }));\r\n }\r\n async function selectedReportById(idReport: number) {\r\n if (idReport) {\r\n let arrayReport: any[] = [];\r\n const response = await ReportTemplateSelectByReportID(idReport);\r\n let selectedFieldList = response.Selectedfieldlist;\r\n for (let i = 0; i < selectedFieldList.length; i++) {\r\n const element = selectedFieldList[i];\r\n arrayReport.push({\r\n value: element.key,\r\n RefDocLabel: element.label,\r\n });\r\n }\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, arrayReport);\r\n props.setDefaultConfigColumn([..._data]);\r\n let arrayMerge: any = [];\r\n props.attributeColumn.column.map((_data: any, idx: any) => {\r\n arrayMerge.push({\r\n ColumnLabel: _data.label,\r\n RefDocLabel: \"\",\r\n });\r\n });\r\n props.setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...arrayMerge],\r\n }));\r\n }\r\n }\r\n function renderIsDocControl() {\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n Template New Doc\r\n
\r\n

ฟอร์มสร้างใหม่

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docNewDoc: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Template Edit Doc\r\n
\r\n

ฟอร์มแก้ไข

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docEditDoc: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Template Cancel Doc\r\n
\r\n

ฟอร์มยกเลิก

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docCancelDoc: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateName\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n {!loading && (\r\n \r\n console.log(\r\n props.defaultConfigColumn,\r\n \"ee\",\r\n props.mergeColumnRefDoc\r\n )\r\n }\r\n >\r\n
\r\n
\r\n \r\n \r\n
\r\n Data source\r\n
\r\n

ประเภทข้อมูล

\r\n \r\n \r\n
\r\n
\r\n {itemsType.map((items: any) => {\r\n return (\r\n
\r\n {\r\n props.setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: e.value.name,\r\n }));\r\n setActionSubmit(!actionSubmit);\r\n setCheckAction(\"1\");\r\n if (\r\n e.value.name !== props.docDataSource.docDataSource\r\n ) {\r\n if (e.value.name === \"Template\") {\r\n setDefaultValueRefDoc([...defaultValueRefDoc2]);\r\n } else if (e.value.name === \"Report\") {\r\n console.log(\"report\", e.value.name);\r\n setDefaultValueRefDoc([]);\r\n }\r\n\r\n const _data = itemsControlLabel;\r\n props.setDefaultConfigColumn([..._data]);\r\n }\r\n defaultConfigColumn();\r\n }}\r\n checked={\r\n items.name === props.docDataSource.docDataSource\r\n }\r\n />\r\n \r\n
\r\n );\r\n })}\r\n
\r\n
\r\n {props.docDataSource.docDataSource === \"Template\" && (\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Template Reference Document\r\n \r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docref: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateNameWithCode\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n )}\r\n {props.docDataSource.docDataSource === \"Template\" && (\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Is DocControl\r\n
\r\n

เอกสารควบคุม

\r\n \r\n \r\n
\r\n
\r\n
\r\n (\r\n \r\n <>\r\n {\r\n field.onChange(e.checked);\r\n setVisibleDocControl(!visibleDocControl);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {visibleDocControl && renderIsDocControl()} \r\n
\r\n \r\n )}\r\n\r\n {props.docDataSource.docDataSource === \"Report\" && (\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Report Reference Document\r\n \r\n
\r\n

รายงานอ้างอิง

\r\n \r\n \r\n
\r\n
\r\n {\r\n setCheckAction(\"2\");\r\n props.setSelectedReportRef((prevState: any) => ({\r\n ...prevState,\r\n docReport: e.value,\r\n }));\r\n props.setSelectedTemplateRef([]);\r\n selectedReportById(e.value?.ReportTemplateId);\r\n }}\r\n optionLabel=\"ReportName\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"ReportName\"\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n />\r\n
\r\n
\r\n )}\r\n {props.docDataSource.docDataSource === \"Report\" && (\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Template Reference Document\r\n \r\n
\r\n

เอกสารอ้างอิง

\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docref: e.value,\r\n }));\r\n }}\r\n optionLabel=\"TemplateNameWithCode\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n showClear\r\n className=\"multiselect-custom set-css-multi-select set-padding-item\"\r\n optionGroupChildren=\"TemplateId\"\r\n >\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n Display popup Reference Document add row in table\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Enabled\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n {props.mergeColumnRefDoc?.columnRefDoc?.length !== 0 && (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n Config Column\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n {props.mergeColumnRefDoc?.columnRefDoc?.map(\r\n (_data: any, idx: any) => (\r\n <>\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n {_data.ColumnLabel}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n {\r\n props.setMergeColumnRefDoc(\r\n (prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc:\r\n props.mergeColumnRefDoc.columnRefDoc.map(\r\n (_val: any) => {\r\n return _val.ColumnLabel ===\r\n _data.ColumnLabel\r\n ? {\r\n ..._val,\r\n RefDocLabel: e.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n })\r\n );\r\n }}\r\n optionLabel=\"RefDocLabel\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"RefDocLabel\"\r\n filter\r\n showClear\r\n />\r\n
\r\n
\r\n
\r\n {\r\n props.setMergeColumnRefDoc(\r\n (prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc:\r\n props.mergeColumnRefDoc.columnRefDoc.map(\r\n (_val: any) => {\r\n return _val.ColumnLabel ===\r\n _data.ColumnLabel\r\n ? {\r\n ..._val,\r\n HaveLink: e.checked,\r\n }\r\n : _val;\r\n }\r\n ),\r\n })\r\n );\r\n }}\r\n style={{ marginRight: \"5px\" }}\r\n />\r\n Link\r\n
\r\n
\r\n {\r\n props.setMergeColumnRefDoc(\r\n (prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc:\r\n props.mergeColumnRefDoc.columnRefDoc.map(\r\n (_val: any) => {\r\n return _val.ColumnLabel ===\r\n _data.ColumnLabel\r\n ? {\r\n ..._val,\r\n IsRevision: e.checked\r\n }\r\n : _val;\r\n }\r\n ),\r\n })\r\n );\r\n }}\r\n style={{ marginRight: \"5px\" }}\r\n />\r\n \r\n IsRevision \r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n )\r\n )}\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n
\r\n Conditions\r\n
\r\n

เงื่อนไข

\r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n let col = props.conditions.conditionrefdoc;\r\n col.push(conditionRefDoc);\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc: [...col],\r\n }));\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a set-margin-0-css\"\r\n >\r\n Add Condition\r\n \r\n
\r\n
\r\n
\r\n {props.conditions?.conditionrefdoc?.length !== 0 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.conditions?.conditionrefdoc?.map(\r\n (_data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n {props.conditions?.conditionrefdoc[idx]\r\n ?.conditionType === \"under\" && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n {props.conditions?.conditionrefdoc[idx]\r\n ?.conditionType === \"fixed 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

Control Label

\r\n

ชื่อ

\r\n
\r\n

Type

\r\n

ชนิด

\r\n
\r\n

Value

\r\n

ค่า

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
\r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: e.value,\r\n conditionType: _val.conditionType,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n optionLabel=\"RefDocLabel\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"RefDocLabel\"\r\n filter\r\n showClear\r\n />\r\n \r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n conditionType: e.value,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n optionLabel=\"name\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"name\"\r\n />\r\n \r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n conditionType:\r\n _val.conditionType,\r\n value: e.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n optionLabel=\"item\"\r\n placeholder=\"--Please Select--\"\r\n filterBy=\"item\"\r\n filter\r\n showClear\r\n />\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n \r\n {\r\n props.setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc:\r\n props.conditions.conditionrefdoc.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n conditionType:\r\n _val.conditionType,\r\n value: e.target.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n deleteCondition(idx);\r\n }}\r\n />\r\n
\r\n )}\r\n \r\n )}\r\n \r\n \r\n );\r\n}\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport React from \"react\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport \"./TableCreateComponents.css\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\ninterface Props {\r\n advanceForm: any;\r\n setFooterTable: any;\r\n footerTable: any;\r\n}\r\n\r\nexport default function FooterTableComponents(props: Props) {\r\n const footerData: any = {\r\n label: \"\",\r\n formula: \"\",\r\n symbol: \"\",\r\n useValue: false,\r\n value: \"\",\r\n };\r\n\r\n function deleteFooterTable(idx: any) {\r\n let _footerTable = props.footerTable?.rows;\r\n _footerTable.splice(idx, 1);\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: [..._footerTable],\r\n }));\r\n }\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n Conditions\r\n
\r\n

เงื่อนไข

\r\n \r\n \r\n
\r\n
\r\n
\r\n {\r\n let rows = props.footerTable.rows;\r\n rows.push(footerData);\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: [...rows],\r\n }));\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a set-margin-0-css\"\r\n >\r\n Add Condition\r\n \r\n
\r\n
\r\n
\r\n {props.footerTable.rows.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 {props.footerTable?.rows?.map((_data: any, idx: any) => (\r\n <>\r\n \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
\r\n

Label

\r\n

ชื่อ

\r\n
\r\n

Formula

\r\n

สูตร

\r\n
\r\n

Symbol

\r\n

สัญลักษณ์

\r\n
\r\n

Input Value

\r\n

กรอกค่า

\r\n
\r\n

Delete

\r\n

ลบ

\r\n
\r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: e.target.value,\r\n formula: _val.formula,\r\n symbol: _val.symbol,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n formula: e.target.value,\r\n symbol: _val.symbol,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n formula: _val.formula,\r\n symbol: e.target.value,\r\n value: _val.value,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n />\r\n \r\n {\r\n props.setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: props.footerTable?.rows.map(\r\n (_val: any, _idx: any) => {\r\n return _idx === idx\r\n ? {\r\n label: _val.label,\r\n formula: _val.formula,\r\n symbol: _val.symbol,\r\n value: _val.value,\r\n useValue: e.checked,\r\n }\r\n : _val;\r\n }\r\n ),\r\n }));\r\n }}\r\n checked={props.footerTable?.rows[idx]?.useValue}\r\n />\r\n \r\n {\r\n deleteFooterTable(idx);\r\n }}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n","import { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { render } from \"react-dom\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { TabMenu } from \"primereact/tabmenu\";\r\nimport { HiPlus } from \"react-icons/hi\";\r\nimport ColumnComponent from \"./ColumnComponent\";\r\nimport { BiText } from \"react-icons/bi\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { AiOutlineNumber } from \"react-icons/ai\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { FaRegListAlt } from \"react-icons/fa\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\r\nimport ReferenceDocument from \"./ReferenceDocument\";\r\nimport { TabView, TabPanel } from \"primereact/tabview\";\r\nimport { BsTrash } from \"react-icons/bs\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport FooterTableComponents from \"./FooterTableComponents\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { notification } from \"antd\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n setAttributeColumn: any;\r\n attributeColumn: any;\r\n setFromRender: any;\r\n fromRender: any;\r\n setMergeColumnRefDoc: any;\r\n mergeColumnRefDoc: any;\r\n setDocDataSource: any;\r\n docDataSource: any;\r\n setSelectedReportRef: any;\r\n selectedReportRef: any;\r\n setSelectedTemplateRef: any;\r\n selectedTemplateRef: any;\r\n conditions: any;\r\n setConditions: any;\r\n advanceForm: any;\r\n setFooterTable: any;\r\n footerTable: any;\r\n setUploadFileState: any;\r\n uploadFileState: any;\r\n userData: any;\r\n setSelectedDocControlTemplate: any;\r\n selectedDocControlTemplate: any;\r\n setDefaultConfigColumn: any;\r\n defaultConfigColumn: any;\r\n}\r\n\r\nexport default function TableComponent(props: Props) {\r\n const [viewModal, setViewModal] = useState(false);\r\n const [layoutIdx, setLayoutIdx] = useState();\r\n const [action, setAction] = useState(\"\");\r\n\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n formula: props.template.formula || \"\",\r\n hideInPdf: props.template?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n canImport: props.template?.canImport === \"Y\" || \"\" ? true : false,\r\n column: props.template.attribute?.column || [],\r\n isNotCopy: props.template?.isNotCopy === \"Y\" || \"\" ? true : false,\r\n };\r\n useEffect(() => {\r\n let respone = props.attributeColumn.column;\r\n for (let i = 0; i < respone.length; i++) {\r\n if (respone[i].guid == undefined) {\r\n respone[i][\"guid\"] = generateQuickGuid();\r\n }\r\n }\r\n\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [...respone],\r\n }));\r\n }, []);\r\n\r\n const items = [\r\n { label: \"Column\", icon: \"pi pi-book\" },\r\n { label: \"Reference Document\", icon: \"pi pi-folder\" },\r\n { label: \"FooterTable\", icon: \"pi pi-cog\" },\r\n ];\r\n const [activeIndex, setActiveIndex] = useState(0);\r\n function renderIconShowCreateControl(dataType: any) {\r\n if (dataType === \"t\") {\r\n return (\r\n <>\r\n \r\n ShortText\r\n \r\n );\r\n } else if (dataType === \"ta\") {\r\n return (\r\n <>\r\n \r\n MultiLine\r\n \r\n );\r\n } else if (dataType === \"c\") {\r\n return (\r\n <>\r\n \r\n Number\r\n \r\n );\r\n } else if (dataType === \"d\") {\r\n return (\r\n <>\r\n \r\n Calendar\r\n \r\n );\r\n } else if (dataType === \"r\") {\r\n return (\r\n <>\r\n \r\n Choice\r\n \r\n );\r\n } else if (dataType === \"cb\") {\r\n return (\r\n <>\r\n \r\n MultiChoice\r\n \r\n );\r\n } else if (dataType === \"dd\") {\r\n return (\r\n <>\r\n \r\n Dropdown\r\n \r\n );\r\n } else if (dataType === \"at\") {\r\n return (\r\n <>\r\n \r\n Attachment\r\n \r\n );\r\n }\r\n }\r\n const reorder = (list: any, startIndex: any, endIndex: any) => {\r\n const result = Array.from(list);\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n return result;\r\n };\r\n const onDragEnd = (result: any) => {\r\n let _components = props.attributeColumn.column;\r\n if (!result.destination) {\r\n return;\r\n }\r\n const items = reorder(\r\n _components,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [...items],\r\n }));\r\n };\r\n\r\n const getItemStyle = (isDragging: any, draggableStyle: any) => ({\r\n userSelect: \"none\",\r\n margin: \"0 0 17px 0\",\r\n minHeight: \"82px\",\r\n ...draggableStyle,\r\n });\r\n function deleteColumn(idx: any) {\r\n let _components = props.attributeColumn.column;\r\n _components.splice(idx, 1);\r\n props.setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [..._components],\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Formula :

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n

\r\n Operators for use : Addition (+), Subtraction (-), Multiplication\r\n (*), Division (/) Ex. : Column Label 1*Column Label 2=Column Label\r\n 3\r\n

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

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Can Import:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setActiveIndex(e.index);\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {activeIndex === 0 && (\r\n <>\r\n
\r\n {\r\n props.setFromRender(\"table\");\r\n setViewModal(true);\r\n setAction(\"add\");\r\n }}\r\n type=\"button\"\r\n className=\"set-color-css-button-add-column hover-color-css-282f6a\"\r\n >\r\n Add Column\r\n \r\n
\r\n {props.attributeColumn.column.length !== 0 && (\r\n
\r\n <>\r\n \r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {props.attributeColumn.column.map(\r\n (_data: any, idx: any) => (\r\n
\r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {\r\n setViewModal(true);\r\n setLayoutIdx(idx);\r\n setAction(\"edit\");\r\n }}\r\n >\r\n
\r\n \r\n {_data.label}\r\n \r\n \r\n {_data.alter != \"\"\r\n ? ` / ${_data.alter}`\r\n : \"\"}\r\n \r\n
\r\n {renderIconShowCreateControl(\r\n _data.control.template.type\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {\r\n deleteColumn(idx);\r\n }}\r\n >\r\n \r\n

\r\n
\r\n
\r\n )}\r\n \r\n
\r\n )\r\n )}\r\n {provided.placeholder}\r\n
\r\n )}\r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n )}\r\n {activeIndex === 1 && (\r\n <>\r\n \r\n \r\n )}\r\n {activeIndex === 2 && (\r\n <>\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n {viewModal && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { InputNumber } from \"primereact/inputnumber\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport { Image, notification } from \"antd\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { RiDeleteBack2Line, RiDeleteBin2Line } from \"react-icons/ri\";\r\nimport \"./ImageComponents.css\";\r\nimport { CgCloseR } from \"react-icons/cg\";\r\ninterface Props {\r\n control: any;\r\n errors: any;\r\n template: any;\r\n userData: any;\r\n uploadFileState: any;\r\n setUploadFileState: any;\r\n}\r\nexport default function ImageComponents(props: Props) {\r\n const [widthControl, setWidthControl] = useState();\r\n const [heightControl, setHeightControl] = useState();\r\n const ref = useRef();\r\n const toast = useRef(null);\r\n const dataRequest = {\r\n label: props.template.label || \"\",\r\n alter: props.template.alter || \"\",\r\n fileTypeImage: props.template.fileType || \"*jpg*jpeg*png*bmp\",\r\n maxFile: parseInt(props.template.attribute?.maxFile) || 50,\r\n width: parseInt(props.template.attribute?.width) || 310,\r\n height: parseInt(props.template.attribute?.height) || 190,\r\n require: props.template.attribute?.require === \"Y\" || \"\" ? true : false,\r\n readonly: props.template.attribute?.readonly === \"Y\" || \"\" ? true : false,\r\n hideInPdf: props.template.attribute?.hideInPdf === \"Y\" || \"\" ? true : false,\r\n isNotCopy: props.template.attribute?.isNotCopy === \"Y\" || \"\" ? true : false,\r\n };\r\n const onFileSelect = async (e: any) => {\r\n if (e.target.files[0] !== null) {\r\n const files = e.target.files[0];\r\n const formData = new FormData();\r\n var guid = \"imageControl\" + generateQuickGuid();\r\n formData.append(\"files\", files);\r\n formData.append(\"docSet\", guid);\r\n formData.append(\"actorID\", props.userData.employeeData.EmployeeId);\r\n var response = await UploadFileRenderControl(formData);\r\n props.setUploadFileState(response.data.pathUrl);\r\n ref.current.value = null;\r\n }\r\n };\r\n useEffect(() => {\r\n setWidthControl(dataRequest.width);\r\n setHeightControl(dataRequest.height);\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n
\r\n

Label

\r\n *\r\n :\r\n
\r\n
\r\n {\r\n return (\r\n <>\r\n \r\n {fieldState?.invalid && (\r\n Label is required.\r\n )}\r\n \r\n );\r\n }}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Alt Label:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

File Type:

\r\n
\r\n
\r\n (\r\n \r\n )}\r\n />\r\n

File Type Format : *png*jpeg

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

Max File Size:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n min={0}\r\n max={100}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n MB\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Width:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n onChange={(e: any) => {\r\n setWidthControl(e.value);\r\n if (e.value >= 300) {\r\n setWidthControl(300);\r\n }\r\n }}\r\n min={0}\r\n max={400}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n

Maximum of 400

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

Height:

\r\n
\r\n
\r\n
\r\n (\r\n field.onChange(e.value)}\r\n onChange={(e: any) => {\r\n setHeightControl(e.value);\r\n if (e.value >= 300) {\r\n setHeightControl(300);\r\n }\r\n }}\r\n min={0}\r\n max={400}\r\n className={`set-input-component-css ${classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}`}\r\n />\r\n )}\r\n />\r\n
\r\n

Maximum of 400

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

Required:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n

Readonly:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

HideInPdf:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Is Not Copy:

\r\n
\r\n
\r\n (\r\n
\r\n <>\r\n {\r\n field.onChange(e.checked);\r\n }}\r\n checked={field.value}\r\n />\r\n \r\n Yes\r\n \r\n \r\n
\r\n )}\r\n />\r\n
\r\n
\r\n\r\n
\r\n
\r\n

Default Value:

\r\n
\r\n
\r\n (\r\n {\r\n onFileSelect(e);\r\n }}\r\n accept=\".jpg, .jpeg, .png,\"\r\n className={`set-input-component-css form-control ${classNames(\r\n {\r\n \"p-invalid\": fieldState.invalid,\r\n }\r\n )}`}\r\n />\r\n )}\r\n />\r\n
\r\n
\r\n {props.uploadFileState && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n props.setUploadFileState(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","import { Button } from \"primereact/button\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { BsX } from \"react-icons/bs\";\r\nimport { IoSaveOutline } from \"react-icons/io5\";\r\nimport ButtonComponent from \"../ButtonComponent/ButtonComponent\";\r\nimport AttachmentComponent from \"../AttachmentComponent/AttachmentComponent\";\r\nimport AutoNumberComponent from \"../AutoNumberComponent/AutoNumberComponent\";\r\nimport CalendarComponent from \"../CalendarComponent/CalendarComponent\";\r\nimport ChoiceComponent from \"../ChoiceComponent/ChoiceComponent\";\r\nimport MultiChoiceComponent from \"../MultiChoiceComponent/MultiChoiceComponent\";\r\nimport DropdownComponent from \"../DropdownComponent/DropdownComponent\";\r\nimport EditorComponent from \"../EditorComponent/EditorComponent\";\r\nimport HeadingComponent from \"../HeadingComponent/HeadingComponent\";\r\nimport NumberComponent from \"../NumberComponent/NumberComponent\";\r\nimport RevisionComponent from \"../RevisionComponent/RevisionComponent\";\r\nimport ShortTextComponent from \"../ShortTextComponent/ShortTextComponent\";\r\nimport TableComponent from \"../TableComponent/TableComponent\";\r\nimport TextAreaComponent from \"../TextAreaComponent/TextAreaComponent\";\r\nimport CreateControlSideBarElement from \"./CreateControlSideBarElement\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport \"./ModalCreateComponents.css\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport {\r\n GetAllByCreateTemplate,\r\n ReportTemplateList,\r\n} from \"../../../Services/TemplateService\";\r\nimport { UploadFileRenderControl } from \"../../../Services/UploadFileService\";\r\nimport ImageComponents from \"../ImageComponents/ImageComponents\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\nimport { Spin } from \"antd\";\r\nimport { ReportTemplateSelectByReportID } from \"../../../Services/ReportService\";\r\ninterface Props {\r\n visibleCreateControl: boolean;\r\n setVisibleCreateControl: any;\r\n itemIdx: number;\r\n layoutIdx: number;\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n layoutLength: any;\r\n}\r\ninterface SelectedTemplateRef {\r\n docref: string[];\r\n}\r\n\r\nexport default function ModalCreateComponents(props: Props) {\r\n const itemsControlLabel = [\r\n { RefDocLabel: \"Document No\", value: \"DocumentNo\" },\r\n { RefDocLabel: \"Document Amount\", value: \"DocumentAmount\" },\r\n { RefDocLabel: \"Creator Employee Code\", value: \"CreatorEmployeeCode\" },\r\n { RefDocLabel: \"Creator Employee Name\", value: \"CreatorEmployeeName\" },\r\n {\r\n RefDocLabel: \"Creator Employee Position\",\r\n value: \"CreatorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Division\",\r\n value: \"CreatorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Creator Employee Department\",\r\n value: \"CreatorEmployeeDepartment\",\r\n },\r\n { RefDocLabel: \"Creator Employee Email\", value: \"CreatorEmployeeEmail\" },\r\n {\r\n RefDocLabel: \"Requestor Employee Code\",\r\n value: \"RequestorEmployeeCode\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Name\",\r\n value: \"RequestorEmployeeName\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Position\",\r\n value: \"RequestorEmployeePosition\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Division\",\r\n value: \"RequestorEmployeeDivision\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Department\",\r\n value: \"RequestorEmployeeDepartment\",\r\n },\r\n {\r\n RefDocLabel: \"Requestor Employee Email\",\r\n value: \"RequestorEmployeeEmail\",\r\n },\r\n {\r\n RefDocLabel: \"Information Document Status\",\r\n value: \"InformationDocumentStatus\",\r\n },\r\n {\r\n RefDocLabel: \"Information Form Category\",\r\n value: \"InformationFormCategory\",\r\n },\r\n { RefDocLabel: \"Information Form Name\", value: \"InformationFormName\" },\r\n {\r\n RefDocLabel: \"Information RequestDate\",\r\n value: \"InformationRequestDate\",\r\n },\r\n { RefDocLabel: \"Information Company\", value: \"InformationCompany\" },\r\n { RefDocLabel: \"Information Branch\", value: \"InformationBranch\" },\r\n { RefDocLabel: \"Information Subject\", value: \"InformationSubject\" },\r\n { RefDocLabel: \"Information Project\", value: \"InformationProject\" },\r\n ];\r\n const displayCheckBox = [\r\n { name: \"Heading\", code: \"N\" },\r\n { name: \"Text\", code: \"Y\" },\r\n ];\r\n\r\n const toast = useRef(null);\r\n const { toggleAlert } = useAlert();\r\n const [selected, setSelected] = useState(\"\");\r\n const [component, setComponent] = useState();\r\n const [checkAction, setCheckAction] = useState(\"\");\r\n const userData = JSON.parse(localStorage.getItem(\"userData\") || \"\");\r\n const [loading, setLoading] = useState(true);\r\n //checkbox-dropdown editor table\r\n const [itemsList, setItemsList] = useState({ items: [] });\r\n const [displayDropdown, setDisplayDropdown] = useState();\r\n const [fromRender, setFromRender] = useState(\"control\");\r\n const [richText, setRichText] = useState({});\r\n const [checkBoxHeading, setCheckBoxHeading] = useState({\r\n name: \"Heading\",\r\n code: \"N\",\r\n });\r\n const [attributeNumber, setAttributeNumber] = useState({\r\n formats: [],\r\n });\r\n const [revisionConditions, setRevisionConditions] = useState({\r\n conditions: [],\r\n });\r\n\r\n //table\r\n const [attributeColumn, setAttributeColumn] = useState({ column: [] });\r\n const [footerTable, setFooterTable] = useState({ rows: [] });\r\n const [mergeColumnRefDoc, setMergeColumnRefDoc] = useState({\r\n columnRefDoc: [],\r\n });\r\n const [docDataSource, setDocDataSource] = useState({\r\n docDataSource: {},\r\n });\r\n const [selectedReportRef, setSelectedReportRef] = useState({\r\n docReport: {},\r\n });\r\n const [selectedTemplateRef, setSelectedTemplateRef] = useState({\r\n docref: [],\r\n });\r\n const [selectedDocControlTemplate, setSelectedDocControlTemplate] =\r\n useState({\r\n docNewDoc: [],\r\n docEditDoc: [],\r\n docCancelDoc: [],\r\n });\r\n const [defaultConfigColumn, setDefaultConfigColumn] = useState([]);\r\n const [conditions, setConditions] = useState({ conditionrefdoc: [] });\r\n const [attributeButton, setAttributeButton] = useState({ items: [] });\r\n const [uploadFileState, setUploadFileState] = useState();\r\n\r\n const {\r\n control,\r\n formState: { errors },\r\n getValues,\r\n setValue,\r\n clearErrors,\r\n handleSubmit,\r\n } = useForm({\r\n mode: \"onBlur\",\r\n });\r\n\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setFromRender(\"control\");\r\n checkType();\r\n }, []);\r\n \r\n useEffect(() => {\r\n renderComponent();\r\n }, [\r\n selected,\r\n itemsList,\r\n revisionConditions,\r\n attributeColumn,\r\n attributeNumber,\r\n mergeColumnRefDoc,\r\n docDataSource,\r\n selectedReportRef,\r\n selectedTemplateRef,\r\n conditions,\r\n props.advanceForm,\r\n attributeButton,\r\n uploadFileState,\r\n footerTable,\r\n selectedDocControlTemplate,\r\n defaultConfigColumn,\r\n checkBoxHeading,\r\n ]);\r\n const checkType = () => {\r\n let _itemsLength = props.advanceForm.items[props.itemIdx].layout.length;\r\n let _templatesDes =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].template;\r\n let _data =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].data;\r\n if (_templatesDes.type === \"em\") {\r\n setCheckAction(\"add\");\r\n addFunction();\r\n if (props.layoutLength === 1) {\r\n setSelected(\"1\");\r\n } else if (props.layoutLength === 2) {\r\n setSelected(\"2\");\r\n }\r\n setLoading(false);\r\n } else {\r\n setCheckAction(\"edit\");\r\n checkActionButton(_templatesDes.type, _templatesDes, _data, _itemsLength);\r\n }\r\n };\r\n function addFunction() {\r\n setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: \"Template\",\r\n }));\r\n }\r\n const checkActionButton = async (\r\n dataType: any,\r\n templatesDes: any,\r\n data: any,\r\n _itemsLength: any\r\n ) => {\r\n if (dataType === \"l\") {\r\n defaultCheckBoxHeading(templatesDes);\r\n setSelected(\"1\");\r\n } else if (dataType === \"t\") {\r\n setSelected(\"2\");\r\n } else if (dataType === \"ta\") {\r\n setSelected(\"3\");\r\n } else if (dataType === \"c\") {\r\n setSelected(\"4\");\r\n } else if (dataType === \"d\") {\r\n setSelected(\"5\");\r\n } else if (dataType === \"r\") {\r\n setSelected(\"6\");\r\n } else if (dataType === \"cb\") {\r\n setSelected(\"7\");\r\n } else if (dataType === \"dd\") {\r\n setSelected(\"8\");\r\n } else if (dataType === \"tb\") {\r\n await defaultValueReportTable(templatesDes);\r\n await defaultValueTemplateTable(templatesDes);\r\n await defaultValueFooterTable(templatesDes);\r\n await defaultValueConfigColumnTable(templatesDes);\r\n setSelected(\"9\");\r\n } else if (dataType === \"ed\") {\r\n setSelected(\"10\");\r\n } else if (dataType === \"at\") {\r\n setUploadFileState(data.value);\r\n setSelected(\"11\");\r\n } else if (dataType === \"im\") {\r\n setUploadFileState(data.value);\r\n setSelected(\"12\");\r\n } else if (dataType === \"bt\") {\r\n setAttributeButton((prevState: any) => ({\r\n ...prevState,\r\n items: [...templatesDes.attribute.items],\r\n }));\r\n setSelected(\"13\");\r\n } else if (dataType === \"an\") {\r\n setAttributeNumber((prevState: any) => ({\r\n ...prevState,\r\n formats: [...templatesDes.attribute.formats],\r\n }));\r\n setSelected(\"14\");\r\n } else if (dataType === \"rvs\") {\r\n if (templatesDes.attribute?.conditions) {\r\n setRevisionConditions((prevState: any) => ({\r\n ...prevState,\r\n conditions: [...templatesDes.attribute.conditions],\r\n }));\r\n }\r\n setSelected(\"15\");\r\n } else {\r\n if (_itemsLength === 1) {\r\n setSelected(\"1\");\r\n } else {\r\n setSelected(\"2\");\r\n }\r\n }\r\n setLoading(false);\r\n };\r\n const defaultCheckBoxHeading = (templatesDes: any) => {\r\n if (templatesDes.istext === \"Y\") {\r\n setCheckBoxHeading(displayCheckBox[1]);\r\n } else if (templatesDes.istext === \"N\") {\r\n setCheckBoxHeading(displayCheckBox[0]);\r\n }\r\n };\r\n const defaultValueReportTable = async (templatesDes: any) => {\r\n setAttributeColumn((prevState: any) => ({\r\n ...prevState,\r\n column: [...templatesDes.attribute.column],\r\n }));\r\n if (templatesDes.attribute?.mergecolumnrefdoc) {\r\n setMergeColumnRefDoc((prevState: any) => ({\r\n ...prevState,\r\n columnRefDoc: [...templatesDes.attribute.mergecolumnrefdoc],\r\n }));\r\n }\r\n if (templatesDes.attribute?.conditionrefdoc) {\r\n setConditions((prevState: any) => ({\r\n ...prevState,\r\n conditionrefdoc: templatesDes.attribute.conditionrefdoc,\r\n }));\r\n }\r\n if (templatesDes.attribute?.refdoc?.docDataSource) {\r\n setDocDataSource((prevState: any) => ({\r\n ...prevState,\r\n docDataSource: templatesDes.attribute.refdoc.docDataSource,\r\n }));\r\n let _dataReportTemplate = await ReportTemplateList();\r\n var response = _dataReportTemplate.filter(\r\n (x: { ReportTemplateId: string }) =>\r\n x.ReportTemplateId.toString() ===\r\n templatesDes.attribute.refdoc.docReport\r\n );\r\n setSelectedReportRef((prevState: any) => ({\r\n ...prevState,\r\n docReport: response[0] || [],\r\n }));\r\n }\r\n };\r\n const defaultValueTemplateTable = async (templatesDes: any) => {\r\n if (templatesDes.attribute?.refdoc?.docref?.length >= 1) {\r\n console.log(\"refdoc\", templatesDes.attribute.refdoc.docref);\r\n let _dataTemplate = await GetAllByCreateTemplate();\r\n let _template: any[] = [];\r\n for (let i = 0; i < templatesDes.attribute?.refdoc.docref.length; i++) {\r\n const docRef = templatesDes.attribute.refdoc.docref[i];\r\n\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n console.log(\"tempp\", template);\r\n // template id\r\n\r\n if (docRef.id == template.DocumentCode) {\r\n _template.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedTemplateRef((prevState: any) => ({\r\n ...prevState,\r\n docRef: _template,\r\n }));\r\n setDefaultValueDocControl(templatesDes, _dataTemplate);\r\n }\r\n };\r\n const defaultValueFooterTable = (templatesDes: any) => {\r\n if (templatesDes.attribute?.footerTable) {\r\n setFooterTable((prevState: any) => ({\r\n ...prevState,\r\n rows: [...templatesDes.attribute?.footerTable.rows],\r\n }));\r\n }\r\n };\r\n const defaultValueConfigColumnTable = async (templatesDes: any) => {\r\n let mapper: any = [];\r\n console.log(templatesDes.attribute?.refdoc?.docref, \"response1\");\r\n console.log(templatesDes.attribute?.refdoc?.docDataSource, \"response2\");\r\n\r\n if (templatesDes.attribute?.refdoc?.docDataSource === \"Report\") {\r\n let array: any[] = [];\r\n const reportId = parseInt(templatesDes.attribute?.refdoc?.docReport);\r\n const response = await ReportTemplateSelectByReportID(reportId);\r\n console.log(response, \"response\");\r\n let selectedFieldList = response.Selectedfieldlist;\r\n for (let i = 0; i < selectedFieldList.length; i++) {\r\n const element = selectedFieldList[i];\r\n array.push({\r\n value: element.key,\r\n RefDocLabel: element.label,\r\n });\r\n }\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n console.log(_data, \"_data\");\r\n setDefaultConfigColumn([..._data]);\r\n } else if (\r\n templatesDes.attribute?.refdoc?.docref > 0 &&\r\n templatesDes.attribute?.refdoc?.docDataSource === \"Template\"\r\n ) {\r\n templatesDes.attribute?.refdoc?.docref?.map(\r\n (item: any, index: number) => {\r\n console.log(\"tem\", item);\r\n\r\n if (item?.AdvanceForm) {\r\n mapper.push({\r\n AdvanceForm: JSON.parse(item?.AdvanceForm),\r\n DocumentCode: item.DocumentCode,\r\n });\r\n }\r\n }\r\n );\r\n let array: any = [];\r\n mapper.map((item: any, i: number) => {\r\n item.AdvanceForm.items.map((_data: any, j: number) => {\r\n _data.layout.map((_dataLayout: any, k: number) => {\r\n if (_dataLayout.template.label) {\r\n array.push({\r\n value: item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n RefDocLabel:\r\n item.DocumentCode + \"_\" + _dataLayout.template.label,\r\n });\r\n }\r\n });\r\n });\r\n });\r\n const _data = itemsControlLabel;\r\n Array.prototype.push.apply(_data, array);\r\n setDefaultConfigColumn([..._data]);\r\n } else {\r\n const _data = itemsControlLabel;\r\n setDefaultConfigColumn([..._data]);\r\n }\r\n };\r\n const setDefaultValueDocControl = async (\r\n templatesDes: any,\r\n _dataTemplate: any\r\n ) => {\r\n //docNewDoc\r\n if (templatesDes.attribute?.refdoc?.docNewDoc) {\r\n let _newDoc: any[] = [];\r\n const docNewDocArray =\r\n templatesDes.attribute?.refdoc?.docNewDoc?.split(\",\");\r\n for (let i = 0; i < docNewDocArray.length; i++) {\r\n const newDoc = docNewDocArray[i];\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n if (newDoc == template.DocumentCode) {\r\n _newDoc.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docNewDoc: _newDoc,\r\n }));\r\n }\r\n //docEditDoc\r\n if (templatesDes.attribute?.refdoc?.docEditDoc) {\r\n let _docEditDoc: any[] = [];\r\n const docEditDocArray =\r\n templatesDes.attribute?.refdoc?.docEditDoc?.split(\",\");\r\n for (let i = 0; i < docEditDocArray.length; i++) {\r\n const docEditDoc = docEditDocArray[i];\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n if (docEditDoc == template.DocumentCode) {\r\n _docEditDoc.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docEditDoc: _docEditDoc,\r\n }));\r\n }\r\n //docCancelDoc\r\n if (templatesDes.attribute?.refdoc?.docCancelDoc) {\r\n let _docCancelDoc: any[] = [];\r\n const docCancelDocArray =\r\n templatesDes.attribute?.refdoc?.docCancelDoc?.split(\",\");\r\n for (let i = 0; i < docCancelDocArray.length; i++) {\r\n const docCancelDoc = docCancelDocArray[i];\r\n for (let j = 0; j < _dataTemplate.length; j++) {\r\n const template = _dataTemplate[j];\r\n if (docCancelDoc == template.DocumentCode) {\r\n _docCancelDoc.push(template);\r\n }\r\n }\r\n }\r\n await setSelectedDocControlTemplate((prevState: any) => ({\r\n ...prevState,\r\n docCancelDoc: _docCancelDoc,\r\n }));\r\n }\r\n };\r\n const requestData = (\r\n templates: any,\r\n itemIdx: number,\r\n layoutIdx: number,\r\n _data?: any\r\n ) => {\r\n let _templates = templates;\r\n let _advanceForm = props.advanceForm;\r\n _advanceForm.items[itemIdx].layout[layoutIdx].template = _templates;\r\n _advanceForm.items[itemIdx].layout[layoutIdx].data = _data;\r\n props.setAdvanceForm(_advanceForm);\r\n };\r\n const requestDataToLayout = (\r\n layout: any,\r\n itemIdx: number,\r\n layoutIdx: number\r\n ) => {\r\n let _layout = layout;\r\n let _advanceForm = props.advanceForm;\r\n _advanceForm.items[itemIdx].layout[layoutIdx] = _layout;\r\n props.setAdvanceForm(_advanceForm);\r\n };\r\n const handleError = () => {\r\n if (Object.keys(errors).length > 0) {\r\n toggleAlert({\r\n description: `${errors[Object.keys(errors)[0]].message}`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n };\r\n \r\n const updateChanges = async (data: any) => {\r\n let checkUnique: boolean = false;\r\n console.log(\"data\", data);\r\n\r\n if (fromRender !== \"control\") {\r\n return;\r\n }\r\n\r\n if (itemsList.items.length === 0) {\r\n if (selected === \"6\" || selected === \"7\" || selected === \"8\") {\r\n toggleAlert({\r\n description: `Please fill in all required fields.`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n }\r\n if (props.advanceForm.items?.length >= 1) {\r\n props.advanceForm.items.map((_data: any, index: number) => {\r\n _data.layout.map((_dataLayout: any, index2: number) => {\r\n if (_dataLayout.template.label != undefined) {\r\n if (_dataLayout.template.type !== \"em\") {\r\n if (\r\n _dataLayout.template.label === data.label &&\r\n _dataLayout.template.label !==\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx]\r\n .template.label\r\n ) {\r\n if (!data.description) {\r\n checkUnique = true;\r\n }\r\n } else if (checkAction === \"edit\") {\r\n if (\r\n selected === \"2\" ||\r\n selected === \"4\" ||\r\n selected === \"7\" ||\r\n selected === \"8\"\r\n ) {\r\n if (\r\n data.description ===\r\n _dataLayout.template.attribute?.description &&\r\n _dataLayout.template.label === data.label &&\r\n props.advanceForm.items[props.itemIdx].layout[\r\n props.layoutIdx\r\n ].guid !== _dataLayout.guid\r\n ) {\r\n checkUnique = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n if (checkUnique) {\r\n toggleAlert({\r\n description: `Duplicate information in label.\\n please input field description.`,\r\n message: `Dupplicate field warning.`,\r\n type: \"warning\",\r\n });\r\n return;\r\n }\r\n\r\n if (selected === \"1\") {\r\n console.log(data, \"dataRequest\");\r\n const dataRequest = {\r\n type: \"l\",\r\n label: data.labelHeading || \"\",\r\n alter: data.alter || \"\",\r\n istext: checkBoxHeading.code,\r\n textvalue: data.textvalue || \"\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n };\r\n\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"2\") {\r\n const dataRequest = {\r\n type: \"t\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length.toString(),\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"3\") {\r\n const dataRequest = {\r\n type: \"ta\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n default: data.default,\r\n length: data.length.toString(),\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"4\") {\r\n const dataRequest = {\r\n type: \"c\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n formula: data.formula,\r\n description: data.description,\r\n decimal: data.decimal.toString(),\r\n default: data.default,\r\n align: data.align ? \"l\" : \"r\",\r\n min: data.min?.toString() ?? \"\",\r\n max: data.max?.toString() ?? \"\",\r\n useComma: data.useComma ? \"Y\" : \"N\",\r\n symbol: data.symbolNumber,\r\n symbolPosition: data.symbolPosition ? \"B\" : \"E\",\r\n summary: data.summary ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"5\") {\r\n console.log(data);\r\n\r\n const dataRequest = {\r\n type: \"d\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n // test\r\n default: data.default,\r\n defaultType: data.defaultType,\r\n date: {\r\n use: \"Y\",\r\n useDate: \"Y\",\r\n fullYear: \"Y\",\r\n symbol: data.symbol,\r\n },\r\n time: {\r\n use: \"N\",\r\n useSecond: \"N\",\r\n symbol: \":\",\r\n },\r\n displayFormat: data.displayFormat,\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"6\") {\r\n const dataRequest = {\r\n type: \"r\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n items: itemsList.items,\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"7\") {\r\n const dataRequest = {\r\n type: \"cb\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n description: data.description,\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n multipleLine: data.multipleLine ? \"Y\" : \"N\",\r\n display: displayDropdown?.code,\r\n items: itemsList.items,\r\n },\r\n };\r\n const defaultDataValue = {\r\n value: null,\r\n item: [],\r\n };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"8\") {\r\n const dataRequest = {\r\n type: \"dd\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.description,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n items: itemsList.items,\r\n },\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"9\") {\r\n if (\r\n attributeColumn?.column == null ||\r\n attributeColumn?.column?.length === 0\r\n ) {\r\n return toggleAlert({\r\n description: `Column is required.`,\r\n message: `Table type warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n //functionCheckInputWidth\r\n // let checkWidthInTableDoNotHas: boolean = false;\r\n // let checkWidthInTableHasValue: boolean = false;\r\n // console.log(attributeColumn, \"_width\");\r\n\r\n // attributeColumn.column.map((_column: any) => {\r\n // if (\r\n // _column.control.template.attribute?.widthInTable === \"0\" ||\r\n // !_column.control.template.attribute?.widthInTable\r\n // ) {\r\n // checkWidthInTableDoNotHas = true;\r\n // } else {\r\n // checkWidthInTableHasValue = true;\r\n // }\r\n // });\r\n\r\n // if (checkWidthInTableHasValue && checkWidthInTableDoNotHas) {\r\n // checkWidthInTableDoNotHas = false;\r\n // attributeColumn.column.map((_column: any) => {\r\n // const _width = _column.control.template.attribute?.widthInTable || 0;\r\n // if (_width !== \"0\") {\r\n // checkWidthInTableHasValue = true;\r\n // }\r\n // });\r\n\r\n // if (checkWidthInTableHasValue) {\r\n // toggleAlert({\r\n // description: `Please fill in all required width fields.`,\r\n // message: `Width field warning.`,\r\n // type: \"warning\",\r\n // });\r\n // return;\r\n // }\r\n // }\r\n const dataRequest = {\r\n type: \"tb\",\r\n label: data.label,\r\n alter: data.alter,\r\n formula: data.formula,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n canImport: data.canImport ? \"Y\" : \"N\",\r\n attribute: {\r\n column: attributeColumn.column,\r\n enabledpopupdefdoc: data.enabledpopupdefdoc ? \"Y\" : \"N\",\r\n mergecolumnrefdoc: mergeColumnRefDoc?.columnRefDoc || [],\r\n conditionrefdoc: conditions?.conditionrefdoc,\r\n refdoc: {\r\n doccontrol:\r\n docDataSource.docDataSource === \"Template\"\r\n ? data.doccontrol\r\n : false,\r\n docDataSource: docDataSource?.docDataSource,\r\n docReport:\r\n docDataSource.docDataSource === \"Report\"\r\n ? selectedReportRef?.docReport?.ReportTemplateId?.toString() ||\r\n \"\"\r\n : \"\",\r\n docNewDoc:\r\n docDataSource.docDataSource === \"Template\"\r\n ? selectedDocControlTemplate?.docNewDoc\r\n .map((item: any) => {\r\n return item.TemplateId.toString();\r\n })\r\n .join(\",\") || \"\"\r\n : \"\",\r\n docEditDoc:\r\n docDataSource.docDataSource === \"Template\"\r\n ? selectedDocControlTemplate?.docEditDoc\r\n .map((item: any) => {\r\n return item.TemplateId.toString();\r\n })\r\n .join(\",\") || \"\"\r\n : \"\",\r\n docCancelDoc:\r\n docDataSource.docDataSource === \"Template\"\r\n ? selectedDocControlTemplate?.docCancelDoc\r\n .map((item: any) => {\r\n return item.TemplateId.toString();\r\n })\r\n .join(\",\") || \"\"\r\n : \"\",\r\n docref:\r\n selectedTemplateRef?.docref?.map((data: any, idx: any) => {\r\n return {\r\n id: data.TemplateId.toString(),\r\n };\r\n }) || [],\r\n },\r\n footerTable: footerTable,\r\n autoRowNumber: \"Y\",\r\n },\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n };\r\n const defaultDataValue = {\r\n row: null,\r\n };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"10\") {\r\n const dataRequest = {\r\n template: {\r\n type: \"ed\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: \"\",\r\n height: data.height.toString(),\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n },\r\n },\r\n data: {\r\n value: richText.value,\r\n },\r\n guid: generateQuickGuid(),\r\n };\r\n requestDataToLayout(dataRequest, props.itemIdx, props.layoutIdx);\r\n } else if (selected === \"11\") {\r\n const dataRequest = {\r\n type: \"at\",\r\n label: data.label,\r\n alter: data.alter,\r\n description: data.fileTypeFile,\r\n attribute: {\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n max: data.maxFile.toString(),\r\n },\r\n };\r\n let defValue: any = null;\r\n if (uploadFileState) {\r\n defValue = uploadFileState;\r\n }\r\n const defaultDataValue = { value: defValue };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"12\") {\r\n const dataRequest = {\r\n type: \"im\",\r\n label: data.label,\r\n alter: data.alter,\r\n fileType: data.fileTypeImage,\r\n attribute: {\r\n maxFile: data.maxFile.toString(),\r\n width: data.width?.toString() || \"\",\r\n height: data.height?.toString() || \"\",\r\n require: data.require ? \"Y\" : \"N\",\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n },\r\n };\r\n let defValue: any = null;\r\n if (uploadFileState) {\r\n defValue = uploadFileState;\r\n }\r\n const defaultDataValue = { value: defValue };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"13\") {\r\n const dataRequest = {\r\n type: \"bt\",\r\n label: data.label,\r\n alter: data.textButton,\r\n URL: data.url,\r\n attribute: {\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n items: attributeButton.items,\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"14\") {\r\n const dataRequest = {\r\n type: \"an\",\r\n label: data.label,\r\n alter: data.alter,\r\n digit: data.digit.toString(),\r\n attribute: {\r\n formats: attributeNumber.formats,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n } else if (selected === \"15\") {\r\n const dataRequest = {\r\n type: \"rvs\",\r\n label: data.label,\r\n alter: data.alter,\r\n attribute: {\r\n digit: data.digit.toString(),\r\n readonly: data.readonly ? \"Y\" : \"N\",\r\n conditions: revisionConditions.conditions,\r\n hideInPdf: data.hideInPdf ? \"Y\" : \"N\",\r\n isNotCopy: data.isNotCopy ? \"Y\" : \"N\",\r\n },\r\n };\r\n const defaultDataValue = { value: null };\r\n requestData(\r\n dataRequest,\r\n props.itemIdx,\r\n props.layoutIdx,\r\n defaultDataValue\r\n );\r\n }\r\n props.setVisibleCreateControl(false);\r\n };\r\n useEffect(()=>{\r\nclearErrors()\r\n },[selected])\r\n const renderComponent = () => {\r\n let _template =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].template;\r\n let _data =\r\n props.advanceForm.items[props.itemIdx].layout[props.layoutIdx].data;\r\n\r\n if (selected === \"1\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"2\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"3\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"4\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"5\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"6\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"7\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"8\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"9\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"10\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"11\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"12\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"13\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"14\") {\r\n setComponent(\r\n \r\n );\r\n } else if (selected === \"15\") {\r\n setComponent(\r\n \r\n );\r\n }\r\n };\r\n const handleKeyDown = (event: any, callback: any) => {\r\n if (selected === \"1\" || selected === \"3\") {\r\n return;\r\n } else if (event.key === \"Enter\" && event.shiftKey === false) {\r\n event.preventDefault();\r\n callback(handleSubmit);\r\n }\r\n };\r\n return (\r\n <>\r\n <>\r\n \r\n {props.visibleCreateControl && (\r\n \r\n props.setVisibleCreateControl(!props.visibleCreateControl)\r\n }\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n blockScroll\r\n draggable={false}\r\n resizable={false}\r\n // footer\r\n >\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {\r\n handleKeyDown(e, handleSubmit);\r\n }}\r\n >\r\n
{component}
\r\n\r\n
\r\n props.setVisibleCreateControl(false)}\r\n className=\"hover-color-css-white-3 p-button-outlined\"\r\n icon=\"pi pi-times-circle\"\r\n />\r\n \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 { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState } from \"react\";\r\n// import \"tinymce/tinymce\";\r\n// import tinymce from \"tinymce/tinymce\";\r\n// import \"tinymce/icons/default\";\r\n// import \"tinymce/themes/silver\";\r\n// import \"tinymce/plugins/paste\";\r\n// import \"tinymce/plugins/link\";\r\n// import \"tinymce/plugins/table\";\r\n// import \"tinymce/plugins/fullscreen\";\r\n// import \"tinymce/plugins/autolink\";\r\n// import \"tinymce/plugins/autosave\";\r\n// import \"tinymce/plugins/charmap\";\r\n// import \"tinymce/plugins/image\";\r\n// import \"tinymce/plugins/imagetools\";\r\n// import \"tinymce/plugins/textpattern\";\r\n// import \"tinymce/plugins/code\";\r\n// import \"tinymce/plugins/advlist\";\r\n// import \"tinymce/plugins/lists\";\r\n// import \"tinymce/plugins/print\";\r\n// import \"tinymce/plugins/preview\";\r\n// import \"tinymce/plugins/hr\";\r\n// import \"tinymce/plugins/anchor\";\r\n// import \"tinymce/plugins/pagebreak\";\r\n// import \"tinymce/plugins/searchreplace\";\r\n// import \"tinymce/plugins/wordcount\";\r\n// import \"tinymce/plugins/insertdatetime\";\r\n// import \"tinymce/plugins/media\";\r\n// import \"tinymce/plugins/nonbreaking\";\r\n// import \"tinymce/plugins/save\";\r\n// import \"tinymce/plugins/contextmenu\";\r\n// import \"tinymce/plugins/directionality\";\r\n// import \"tinymce/plugins/template\";\r\n// import \"tinymce/plugins/textcolor\";\r\n// import \"tinymce/plugins/colorpicker\";\r\n// import \"tinymce/skins/ui/oxide/skin.min.css\";\r\n// import \"tinymce/skins/ui/oxide/content.min.css\";\r\nimport \"./TinyMceComponent.css\";\r\nimport { Editor } from \"@tinymce/tinymce-react\";\r\nimport { ProgressSpinner } from \"primereact/progressspinner\";\r\nimport { UploadTinyMce } from \"../../Services/UploadFileService\";\r\nimport { useUserContext } from \"../../Context/UserContext\";\r\n\r\ninterface Props {\r\n setTextFromValue: any;\r\n textFromValue: any;\r\n canEditDoc?: boolean;\r\n}\r\n\r\nfunction TinyMceComponent(props: Props) {\r\n const [userData, setUserData] = useUserContext();\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n let _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const _tinyURL = _userData.TinyURL;\r\n const [loadingTextFromValue, setLoadingTextFromValue] =\r\n useState(false);\r\n\r\n const handleEditorChange = (content: any, editor: any) => {\r\n props.setTextFromValue(content);\r\n };\r\n\r\n return (\r\n
\r\n {loadingTextFromValue && (\r\n
\r\n \r\n
\r\n )}\r\n {props.canEditDoc ? (\r\n \r\n ) : (\r\n
\r\n )}\r\n
\r\n );\r\n}\r\n\r\nexport default TinyMceComponent;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./FormSettingComponent.css\";\r\nimport { Row, Col } from \"antd\";\r\nimport { DragDropContext, Droppable, Draggable } from \"react-beautiful-dnd\";\r\n\r\nimport Column1 from \"../../../assets/ImageAddControl/Column1.svg\";\r\nimport Column2 from \"../../../assets/ImageAddControl/Column2.svg\";\r\nimport Field from \"../../../assets/ImageAddControl/Field.svg\";\r\nimport FluentText from \"../../../assets/ImageAddControl/FluentText.svg\";\r\n\r\nimport ModalCreateComponents from \"../../CreateControlComponents/ModalCreateComponents/ModalCreateComponents\";\r\nimport { Button as ButtonComponent } from \"../../../components/Button/Button\";\r\nimport { Button } from \"primereact/button\";\r\nimport ButtonForm from \"../../ButtonForm/ButtonForm\";\r\nimport { AiOutlineNumber, AiOutlinePlus } from \"react-icons/ai\";\r\n\r\nimport iconsDelete from \"../../../assets/ImageAddControl/ImageActionAddControl/iconsDelete.svg\";\r\nimport iconsCopy from \"../../../assets/ImageAddControl/ImageActionAddControl/iconsCopy.svg\";\r\nimport iconsEdit from \"../../../assets/ImageAddControl/ImageActionAddControl/iconsEdit.svg\";\r\nimport {\r\n BsFileEarmarkRichtext,\r\n BsFileEarmarkText,\r\n BsFileFont,\r\n BsSortNumericDown,\r\n BsTable,\r\n BsTrash,\r\n BsX,\r\n} from \"react-icons/bs\";\r\nimport { BiCopyAlt, BiText, BiTimeFive } from \"react-icons/bi\";\r\nimport { FaHeading, FaRegImage, FaRegListAlt } from \"react-icons/fa\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { generateQuickGuid } from \"../../../Helper/GenerateGuid\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport { CgPlayButtonO } from \"react-icons/cg\";\r\nimport TinyMceComponent from \"../../TinyMceComponent/TinyMceComponent\";\r\ntype Props = {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n textFromValue: any;\r\n setTextFromValue: any;\r\n setViewManageComponent: any;\r\n viewManageComponent: any;\r\n setControlModel: any;\r\n};\r\n\r\nconst FormSettingComponent = (props: Props) => {\r\n const [viewModalControl, setViewModalControl] = useState(false);\r\n\r\n const [itemIdx, setItemsIdx] = useState();\r\n const [layoutIdx, setLayoutIdx] = useState();\r\n const [layoutLength, setLayoutLength] = useState();\r\n\r\n const column1: any = {\r\n layout: [\r\n {\r\n template: {\r\n alter: \"\",\r\n label: \"\",\r\n type: \"em\",\r\n attribute: {\r\n require: \"\",\r\n description: \"\",\r\n length: \"\",\r\n default: \"\",\r\n },\r\n },\r\n data: { value: null },\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n };\r\n const column2: any = {\r\n items: {\r\n layout: [\r\n {\r\n template: {\r\n alter: \"\",\r\n label: \"\",\r\n type: \"em\",\r\n attribute: {\r\n require: \"\",\r\n description: \"\",\r\n length: \"\",\r\n default: \"\",\r\n },\r\n },\r\n data: { value: null },\r\n guid: generateQuickGuid(),\r\n },\r\n {\r\n template: {\r\n alter: \"\",\r\n label: \"\",\r\n type: \"em\",\r\n attribute: {\r\n require: \"\",\r\n description: \"\",\r\n length: \"\",\r\n default: \"\",\r\n },\r\n },\r\n data: { value: null },\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n },\r\n };\r\n function findUnique(str: string, data: any) {\r\n var uniq = str;\r\n data.map((_dataLayout: any, index: number) => {\r\n _dataLayout.layout.map((_data: any, index: number) => {\r\n if (_data.template.label != undefined) {\r\n if (_data.template.type !== \"em\") {\r\n if (_data.template.label.includes(str)) {\r\n uniq = uniq + \"-copy\";\r\n console.log(str);\r\n console.log(_data.template.label);\r\n }\r\n }\r\n }\r\n });\r\n });\r\n return uniq;\r\n }\r\n\r\n function copyLayout(itemIdx: number, layoutIdx: number, data: any) {\r\n let _components = props.advanceForm.items;\r\n if (_components[itemIdx].layout.length == 1) {\r\n var unique = findUnique(\r\n _components[itemIdx].layout[0].template.label,\r\n props.advanceForm.items\r\n );\r\n const newCol1: any = {\r\n layout: [\r\n {\r\n template: {\r\n ...data.layout[0].template,\r\n label: unique,\r\n },\r\n data: data.layout[0].data,\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n };\r\n _components.splice(itemIdx + 1, 0, newCol1);\r\n } else if (_components[itemIdx].layout.length == 2) {\r\n var unique1 = findUnique(\r\n _components[itemIdx].layout[0].template.label,\r\n props.advanceForm.items\r\n );\r\n var unique2 = findUnique(\r\n _components[itemIdx].layout[1].template.label,\r\n props.advanceForm.items\r\n );\r\n const newCol2: any = {\r\n layout: [\r\n {\r\n template: {\r\n ...data.layout[0].template,\r\n label: unique1,\r\n },\r\n data: data.layout[0].data,\r\n guid: generateQuickGuid(),\r\n },\r\n {\r\n template: {\r\n ...data.layout[1].template,\r\n label: unique2,\r\n },\r\n data: data.layout[1].data,\r\n guid: generateQuickGuid(),\r\n },\r\n ],\r\n };\r\n _components.splice(itemIdx + 1, 0, newCol2);\r\n }\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n\r\n function deleteLayout(itemIdx: number, layoutIdx: number) {\r\n let _components = props.advanceForm.items;\r\n _components.splice(itemIdx, 1);\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n\r\n function deleteControl(itemIdx: number, layoutIdx: number, data: any) {\r\n let _components = props.advanceForm.items;\r\n _components[itemIdx].layout[layoutIdx].template = {};\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [..._components],\r\n }));\r\n }\r\n\r\n const reorder = (list: any, startIndex: any, endIndex: any) => {\r\n const result = Array.from(list);\r\n\r\n const [removed] = result.splice(startIndex, 1);\r\n result.splice(endIndex, 0, removed);\r\n return result;\r\n };\r\n const onDragEnd = (result: any) => {\r\n let _components = props.advanceForm.items;\r\n if (!result.destination) {\r\n return;\r\n }\r\n const items = reorder(\r\n _components,\r\n result.source.index,\r\n result.destination.index\r\n );\r\n\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [...items],\r\n }));\r\n };\r\n\r\n function renderIconShowCreateControl(dataType: any) {\r\n if (dataType === \"l\") {\r\n return (\r\n <>\r\n \r\n Heading\r\n \r\n );\r\n } else if (dataType === \"t\") {\r\n return (\r\n <>\r\n \r\n ShortText\r\n \r\n );\r\n } else if (dataType === \"ta\") {\r\n return (\r\n <>\r\n \r\n MultiLine\r\n \r\n );\r\n } else if (dataType === \"c\") {\r\n return (\r\n <>\r\n \r\n Number\r\n \r\n );\r\n } else if (dataType === \"d\") {\r\n return (\r\n <>\r\n \r\n Calendar\r\n \r\n );\r\n } else if (dataType === \"r\") {\r\n return (\r\n <>\r\n \r\n Choice\r\n \r\n );\r\n } else if (dataType === \"cb\") {\r\n return (\r\n <>\r\n \r\n \r\n MultiChoice\r\n \r\n \r\n );\r\n } else if (dataType === \"dd\") {\r\n return (\r\n <>\r\n \r\n Dropdown\r\n \r\n );\r\n } else if (dataType === \"tb\") {\r\n return (\r\n <>\r\n \r\n Table\r\n \r\n );\r\n } else if (dataType === \"ed\") {\r\n return (\r\n <>\r\n \r\n Rich Text\r\n \r\n );\r\n } else if (dataType === \"at\") {\r\n return (\r\n <>\r\n \r\n Attachment\r\n \r\n );\r\n } else if (dataType === \"bt\") {\r\n return (\r\n <>\r\n \r\n \r\n Button\r\n \r\n \r\n );\r\n } else if (dataType === \"an\") {\r\n return (\r\n <>\r\n \r\n \r\n AutoNumber\r\n \r\n \r\n );\r\n } else if (dataType === \"rvs\") {\r\n return (\r\n <>\r\n \r\n Revision\r\n \r\n );\r\n } else if (dataType === \"im\") {\r\n return (\r\n <>\r\n \r\n Image\r\n \r\n );\r\n }\r\n }\r\n function truncate(str: any, no_words: any) {\r\n return str.split(\" \").splice(0, no_words).join(\" \");\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n console.log(props.advanceForm, \"ControlModel\");\r\n }}\r\n >\r\n
\r\n {\r\n props.setViewManageComponent(\"1\");\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: { ...prevState.templateForm, IsTextForm: false },\r\n }));\r\n }}\r\n >\r\n Field\r\n \r\n\r\n {\r\n props.setViewManageComponent(\"2\");\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: { ...prevState.templateForm, IsTextForm: true },\r\n }));\r\n }}\r\n >\r\n Text\r\n \r\n
\r\n {props.viewManageComponent == \"1\" && (\r\n
\r\n {props.advanceForm.items.length === 0 ? (\r\n
\r\n

Please Add Column

\r\n
\r\n ) : (\r\n <>\r\n \r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {props.advanceForm.items.map((data: any, idx: any) => (\r\n {\r\n setLayoutLength(data.layout.length);\r\n }}\r\n >\r\n \r\n {(provided: any, snapshot: any) => (\r\n \r\n {data.layout.map((_data: any, idx2: any) => (\r\n \r\n {_data.template.label ? (\r\n
\r\n \r\n deleteControl(idx, idx2, 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 copyLayout(idx, idx2, data)\r\n }\r\n >\r\n \r\n

\r\n \r\n deleteLayout(idx, idx2)\r\n }\r\n >\r\n \r\n

\r\n
\r\n {\r\n setItemsIdx(idx);\r\n setLayoutIdx(idx2);\r\n setViewModalControl(true);\r\n }}\r\n >\r\n {_data.template?.type &&\r\n _data.template?.type != \"em\" ? (\r\n
\r\n
\r\n \r\n {/* {_data.template.label ? (\r\n _data.template.label\r\n ) : (\r\n \r\n )} */}\r\n\r\n {_data.template.textvalue ? (\r\n truncate(\r\n _data.template.textvalue,\r\n 3\r\n )\r\n ) : _data.template.label ? (\r\n _data.template.label\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n {_data.template.textvalue\r\n ? \"\"\r\n : _data.template.alter\r\n ? ` / ${_data.template.alter}`\r\n : \"\"}\r\n {/* {_data.template.alter\r\n ? ` / ${_data.template.alter}`\r\n : \"\"} */}\r\n \r\n
\r\n
\r\n
\r\n {renderIconShowCreateControl(\r\n _data.template.type\r\n )}\r\n
\r\n
\r\n
\r\n ) : (\r\n

\r\n \r\n Add Control\r\n

\r\n )}\r\n
\r\n
\r\n ))}\r\n \r\n )}\r\n \r\n \r\n ))}\r\n {provided.placeholder}\r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n\r\n {props.viewManageComponent == \"1\" && (\r\n
\r\n {\r\n let col = props.advanceForm.items;\r\n col.push(column1);\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [...col],\r\n }));\r\n }}\r\n className=\"set-bg-bttn-glass hover-color-css\"\r\n >\r\n Column1\r\n \r\n {\r\n let col = props.advanceForm.items;\r\n col.push(column2.items);\r\n props.setAdvanceForm((prevState: any) => ({\r\n ...prevState,\r\n items: [...col],\r\n }));\r\n }}\r\n className=\"set-bg-bttn-glass hover-color-css\"\r\n >\r\n Column2\r\n \r\n
\r\n )}\r\n {props.viewManageComponent == \"2\" && (\r\n <>\r\n \r\n )}\r\n \r\n {viewModalControl && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default FormSettingComponent;\r\n","import { isEmptyObject } from \"jquery\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller, useForm } from \"react-hook-form\";\r\nimport { IoCloseOutline, IoSaveOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport \"../../RequestComponents/InformationComponent/InformationComponent.css\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport Item from \"antd/lib/list/Item\";\r\nimport { InputNumberComponent } from \"../../AntdControlComponent/InputNumberControlComponent/InputNumberControlComponent\";\r\nimport { InputNumber } from \"antd\";\r\n\r\ninterface Props {\r\n advanceForm: any;\r\n updateData: any;\r\n setDialogVisible: any;\r\n}\r\n\r\nfunction SelectCondition(props: Props) {\r\n const [selectedColumn, setSelectedColumn] = useState();\r\n const [options, setOptions] = useState([]);\r\n const [value, setValue] = useState();\r\n\r\n const [numCondition, setNumCondition] = useState();\r\n const [isMultiValue, setIsMultiValue] = useState(false);\r\n const [multiOptions, setMultiOptions] = useState([]);\r\n const [multiValues, setMultiValues] = useState();\r\n const [isCheckBox, setIsCheckBox] = useState(false);\r\n const num_conditions = [\r\n { label: \"Equal to (=)\", value: \"Equal_to\" },\r\n { label: \"Not equal (!=)\", value: \"Not_equal\" },\r\n { label: \"Greater-Than (>)\", value: \"Greater_Than\" },\r\n {\r\n label: \"Greater-Than or Equal to (>=)\",\r\n value: \"Greater_Than_or_Equal_to\",\r\n },\r\n { label: \"Less-Than (<)\", value: \"Less_Than\" },\r\n { label: \"Less-Than or Equal to (<=)\", value: \"Less_Than_or_Equal_to\" },\r\n ];\r\n\r\n useEffect(() => {\r\n const advanceForm: any[] = props.advanceForm.items;\r\n let columns: any[] = [];\r\n advanceForm.map((item: any) => {\r\n item.layout.map((layout: any) => {\r\n if (\r\n layout.template.type !== \"l\" &&\r\n layout.template.type !== \"em\" &&\r\n layout.template.type !== \"tb\" &&\r\n !isEmptyObject(layout.template)\r\n ) {\r\n columns.push({ label: layout.template.label, control: layout });\r\n }\r\n });\r\n });\r\n setOptions(columns);\r\n }, []);\r\n\r\n useEffect(() => {\r\n try {\r\n if (selectedColumn !== undefined) {\r\n if (selectedColumn.control) {\r\n if (selectedColumn.control.template.attribute !== undefined) {\r\n if (selectedColumn.control.template.attribute.items !== undefined) {\r\n setIsMultiValue(true);\r\n if (selectedColumn.control.template.type === \"cb\") {\r\n setIsCheckBox(true);\r\n } else {\r\n setIsCheckBox(false);\r\n }\r\n setMultiOptions(selectedColumn.control.template.attribute.items);\r\n } else {\r\n setIsMultiValue(false);\r\n }\r\n } else {\r\n setIsMultiValue(false);\r\n }\r\n }\r\n }\r\n } catch (error) {}\r\n }, [selectedColumn]);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setValue(\"\");\r\n setSelectedColumn(e.value);\r\n setMultiValues(null);\r\n }}\r\n filter\r\n showClear\r\n filterBy=\"label\"\r\n optionLabel=\"label\"\r\n options={options}\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {selectedColumn?.control?.template?.type === \"c\" ? \r\n `${value}`.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',')}\r\n parser={(value) => value?.replace(/\\$\\s?|(,*)/g, '') as unknown as number}\r\n onChange={(e: any) => {\r\n setValue(e);\r\n }}\r\n onBlur={(e) => {\r\n setValue(e.target.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\":\r\n (value !== undefined && value !== \"\") ||\r\n (multiValues !== undefined &&\r\n multiValues !== \"\" &&\r\n multiValues !== null)\r\n ? false\r\n : true,\r\n })}\r\n autoFocus\r\n /> \r\n : {\r\n setValue(e.target.value);\r\n }}\r\n onBlur={(e) => {\r\n if (selectedColumn?.control?.template?.type === \"c\") {\r\n setValue(\r\n Number(e.target.value).toFixed(\r\n Number(selectedColumn.control.template.attribute.decimal)\r\n )\r\n );\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\":\r\n (value !== undefined && value !== \"\") ||\r\n (multiValues !== undefined &&\r\n multiValues !== \"\" &&\r\n multiValues !== null)\r\n ? false\r\n : true,\r\n })}\r\n autoFocus\r\n /> \r\n }\r\n {/* {\r\n setValue(e.target.value);\r\n }}\r\n onBlur={(e) => {\r\n if (selectedColumn?.control?.template?.type === \"c\") {\r\n setValue(\r\n Number(e.target.value).toFixed(\r\n Number(selectedColumn.control.template.attribute.decimal)\r\n )\r\n );\r\n }\r\n }}\r\n className={classNames({\r\n \"p-invalid\":\r\n (value !== undefined && value !== \"\") ||\r\n (multiValues !== undefined &&\r\n multiValues !== \"\" &&\r\n multiValues !== null)\r\n ? false\r\n : true,\r\n })}\r\n autoFocus\r\n /> */}\r\n {value === undefined ||\r\n (value === \"\" && multiValues === null && (\r\n Value is required.\r\n ))}\r\n
\r\n
\r\n {selectedColumn?.control?.template?.type === \"c\" && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {\r\n setNumCondition(e.value);\r\n }}\r\n filter\r\n showClear\r\n filterBy=\"label\"\r\n optionLabel=\"label\"\r\n options={num_conditions}\r\n />\r\n {numCondition === undefined && (\r\n Condition is required.\r\n )}\r\n
\r\n
\r\n )}\r\n {isMultiValue && (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {!isCheckBox && (\r\n {\r\n setMultiValues(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\":\r\n (value !== undefined && value !== \"\") ||\r\n (multiValues !== undefined &&\r\n multiValues !== \"\" &&\r\n multiValues !== null)\r\n ? false\r\n : true,\r\n })}\r\n filter\r\n showClear\r\n filterBy=\"item\"\r\n optionLabel=\"item\"\r\n options={multiOptions}\r\n />\r\n )}\r\n {isCheckBox && (\r\n setMultiValues(e.value)}\r\n options={multiOptions}\r\n placeholder=\" ----- Select ----- \"\r\n className={classNames({\r\n \"p-invalid\":\r\n (value !== undefined && value !== \"\") ||\r\n (multiValues !== undefined &&\r\n multiValues !== \"\" &&\r\n multiValues !== null)\r\n ? false\r\n : true,\r\n })}\r\n />\r\n )}\r\n {(value !== undefined && value !== \"\") ||\r\n (multiValues === null && (\r\n Condition is required.\r\n ))}\r\n
\r\n
\r\n )}\r\n
\r\n \r\n }\r\n onClickProps={() => props.setDialogVisible(false)}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n width: \"100px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n\r\n {\r\n let val: any;\r\n if (selectedColumn !== undefined) {\r\n if (value !== undefined && value !== \"\") {\r\n val = value;\r\n const data: any = {\r\n field: selectedColumn.label,\r\n value: val,\r\n };\r\n if (numCondition) {\r\n val = value;\r\n data.action = numCondition;\r\n }\r\n props.updateData(data, \"condition\");\r\n }\r\n\r\n if (multiValues) {\r\n if (multiValues.item) {\r\n val = multiValues.item;\r\n const data = {\r\n field: selectedColumn.label,\r\n value: val,\r\n };\r\n props.updateData(data, \"condition\");\r\n } else {\r\n let value = multiValues.map((item: any) => {\r\n return item.item;\r\n });\r\n let newValue = value.toString();\r\n const data = {\r\n field: selectedColumn.label,\r\n value: newValue,\r\n };\r\n props.updateData(data, \"condition\");\r\n }\r\n }\r\n }\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Save\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default SelectCondition;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport \"../../RequestComponents/InformationComponent/InformationComponent.css\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { InputText } from \"primereact/inputtext\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { FilterMatchMode, FilterOperator } from \"primereact/api\";\r\nimport \"../ReferenceDocumentComponents/ReferenceDocumentComponents.css\";\r\nimport { Button } from \"antd\";\r\ninterface Props {\r\n name: string;\r\n dataKey: string;\r\n dataList: any;\r\n columns: any[];\r\n loading: boolean;\r\n setLoading: any;\r\n updateData: any;\r\n}\r\n\r\nfunction SelectDataFormTable(props: Props) {\r\n const [globalFilterValue1, setGlobalFilterValue1] = useState(\"\");\r\n const userData = JSON.parse(\r\n window.localStorage.getItem(\"userData\") || \"null\"\r\n );\r\n const [filters1, setFilters1] = useState({\r\n global: { value: null, matchMode: FilterMatchMode.CONTAINS },\r\n });\r\n const [globalFilter, setGlobalFilter] = useState(\r\n Object.keys(props.dataList[0])\r\n );\r\n const [selectedData, setSelectedData] = useState([]);\r\n\r\n const dynamicColumns = props.columns.map((col: any) => {\r\n let field = \"\";\r\n if (userData.employeeData.Lang === \"EN\") {\r\n field = col.field.replace(\"Th\", \"En\");\r\n } else {\r\n field = col.field.replace(\"En\", \"Th\");\r\n }\r\n return ;\r\n });\r\n console.log(selectedData);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n const value = e.target.value;\r\n let _filters1 = { ...filters1 };\r\n _filters1[\"global\"].value = value;\r\n setFilters1(_filters1);\r\n setGlobalFilterValue1(value);\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n {\r\n // props.updateData(e.data);\r\n // }}\r\n onSelectionChange={(e) => {\r\n setSelectedData(e.value);\r\n }}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n {dynamicColumns}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n selectedData.forEach((e) => {\r\n props.updateData(e);\r\n });\r\n }}\r\n >\r\n Save\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default SelectDataFormTable;\r\n","import { Checkbox, Select, Table, TableProps } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { IJsonCondition } from \"./AddMatrixCondition\";\r\nimport type { ColumnsType } from \"antd/es/table\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { PlusCircleOutlined } from \"@ant-design/icons\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\n\r\ntype ReadOnlyTableProps = {\r\n jsonConditionField: IJsonCondition[];\r\n templateField: any[];\r\n onChange: (data: IJsonCondition[]) => void;\r\n};\r\n\r\nconst ReadOnlyTable = ({\r\n jsonConditionField,\r\n templateField,\r\n onChange,\r\n}: ReadOnlyTableProps) => {\r\n const handleChange = (key: string, value: any, index: number) => {\r\n onChange(\r\n jsonConditionField.map((rowData, idx) => {\r\n if (idx === index) {\r\n rowData[key] = value;\r\n }\r\n return rowData;\r\n })\r\n );\r\n };\r\n\r\n const columns: ColumnsType = [\r\n {\r\n title: \"Read Only/Hide\",\r\n dataIndex: \"action\",\r\n key: \"action\",\r\n align: \"center\",\r\n width: 200,\r\n render: (val, record, index) => {\r\n return (\r\n handleChange(\"action\", e.value, index)}\r\n options={[\r\n { value: \"readonly\", label: \"Read only\" },\r\n { value: \"editable\", label: \"Editable\" },\r\n { value: \"hide\", label: \"Hide\" },\r\n ]}\r\n style={{ width: \"100% \", fontSize: \"13px\", textAlign: \"left\" }}\r\n optionLabel=\"label\"\r\n />\r\n );\r\n },\r\n },\r\n {\r\n title: \"Action Control\",\r\n dataIndex: \"fieldaction\",\r\n align: \"center\",\r\n key: \"fieldaction\",\r\n render: (val, record, index) => {\r\n return (\r\n <>\r\n {\r\n handleChange(\"fieldaction\", e.target.value, index);\r\n }}\r\n maxSelectedLabels={3}\r\n placeholder=\"-- Please Select --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\", textAlign: \"left\" }}\r\n />\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: (\r\n {\r\n onChange([\r\n ...jsonConditionField,\r\n { action: \"readonly\", fieldaction: [], isRequester: \"N\" },\r\n ]);\r\n }}\r\n >\r\n \r\n \r\n ),\r\n align: \"center\",\r\n width: 100,\r\n render: (val, record, index) => (\r\n <>\r\n {\r\n onChange([\r\n ...jsonConditionField.filter((e, idx) => idx !== index),\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\nexport default ReadOnlyTable;\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column } from \"primereact/column\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Controller } from \"react-hook-form\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport SelectCondition from \"./SelectCondition\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { classNames } from \"primereact/utils\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport SelectDataFormTable from \"./SelectDataFormTable\";\r\nimport moment from \"moment\";\r\nimport { InputNumber, Radio, Select } from \"antd\";\r\nimport type { SelectProps } from \"antd\";\r\nimport { ReportListTemplateSelect } from \"../../../Services/ReportService\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport ReadOnlyTable from \"./ReadOnlyTable\";\r\n\r\ninterface Props {\r\n control: any;\r\n advanceForm: any;\r\n getFormErrorMessage: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n rowData?: any;\r\n allApproveLength: number;\r\n positionList: any;\r\n matrixList: any;\r\n signatureList: any;\r\n approveSlot?: number;\r\n}\r\n\r\nexport type IJsonCondition = {\r\n [x: string]: any;\r\n action: \"readonly\" | \"hide\";\r\n fieldaction: Fieldaction[];\r\n isRequester: string;\r\n};\r\n\r\ntype Fieldaction = {\r\n label: string;\r\n key: string;\r\n};\r\n\r\nexport default function AddMatrixForm(props: Props) {\r\n const [positionLevelOptions, setPositionLevelOptions] = useState([]);\r\n const [options, setOptions] = useState([]);\r\n const [matrixOptions, setMatrixOptions] = useState([]);\r\n const [dialogVisible, setDialogVisible] = useState(false);\r\n const [showDialogFootter, setShowDialogFootter] = useState(true);\r\n const [maxLevel, setMaxLevel] = useState();\r\n const [positionLevel, setPositionLevel] = useState();\r\n const [approvalMatrixDD, setApprovalMatrixDD] = useState();\r\n const [conditionsValue, setConditionsValue] = useState([]);\r\n const [specficApprovals, setSpecficApprovals] = useState([]);\r\n const [dialogTitle, setDialogTitle] = useState(\"\");\r\n const [dialogBody, setDialogBody] = useState();\r\n const [loadingSelectData, setLoadingSelectData] = useState(true);\r\n const [defSignatureID, setDefSignatureID] = useState(-1);\r\n const userData = JSON.parse((window as any).localStorage.getItem(\"userData\"));\r\n const [temSeq, setTemSeq] = useState(0);\r\n const [loc, setLoc] = useState(false);\r\n const [dtp, setDtp] = useState(false);\r\n const [doa, setDoa] = useState(false);\r\n const [spc, setSpc] = useState(false);\r\n const [isParallel, setIsParallel] = useState(false);\r\n const [parallelType, setParallelType] = useState(\"\");\r\n const [approveSlot, setApproveSlot] = useState();\r\n const [readHide, setReadHide] = useState();\r\n const [isRead, setIsRead] = useState(false);\r\n const [isHide, setIsHide] = useState(false);\r\n const [isNewReq, setIsNewReq] = useState(false);\r\n const [templateField, setTemplateField] = useState([]);\r\n const [templateSelected, setTemplateSelected] = useState([]);\r\n const [templateSelectedField, setTemplateSelectedField] = useState([]);\r\n\r\n const [jsonConditionField, setJsonConditionField] = useState([]);\r\n\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n\r\n useEffect(() => {\r\n if (props.rowData !== undefined) {\r\n setDefValue(props.rowData);\r\n }\r\n }, [matrixOptions]);\r\n\r\n useEffect(() => {\r\n if (props.signatureList !== undefined) {\r\n props.signatureList.map((e: any) => {\r\n if (e.seq == 1) {\r\n setDefSignatureID(e.masterId);\r\n } else if (e.value2 == \"Approved\") {\r\n setDefSignatureID(e.masterId);\r\n }\r\n });\r\n }\r\n }, [props.signatureList]);\r\n\r\n function setDefValue(rowData: any) {\r\n try {\r\n let conditions: any[] = [];\r\n if (\r\n rowData.Conditions !== undefined &&\r\n rowData.Conditions !== null &&\r\n rowData.Conditions !== \"\"\r\n ) {\r\n if (\r\n rowData.Conditions.Conditions !== undefined &&\r\n rowData.Conditions.Conditions !== null\r\n ) {\r\n rowData.Conditions.Conditions.map((con: any) => {\r\n conditions.push({\r\n field: con.field,\r\n value: con.value,\r\n });\r\n });\r\n setConditionsValue(conditions);\r\n }\r\n }\r\n if (\r\n rowData.ColumnJsonCondValue !== undefined &&\r\n rowData.ColumnJsonCondValue !== null &&\r\n rowData.ColumnJsonCondValue !== \"\"\r\n ) {\r\n let jsonCon: IJsonCondition[] = [\r\n ...(rowData.ColumnJsonCondValue.Conditions || []),\r\n ];\r\n props.control._formValues.jsonConditionField = jsonCon;\r\n setJsonConditionField(jsonCon);\r\n }\r\n\r\n if (rowData.ApproveType === 19) {\r\n setLoc(true);\r\n props.positionList.map((e: any) => {\r\n if (rowData.MaxLevelId === e.PositionLevelId) {\r\n props.control._formValues.MaxLevelId = e;\r\n setMaxLevel(e);\r\n }\r\n });\r\n props.control._formValues.Line_of_Command = true;\r\n } else if (rowData.ApproveType === 22) {\r\n setDtp(true);\r\n props.positionList.map((e: any) => {\r\n if (rowData.MaxLevelId === e.PositionLevelId) {\r\n props.control._formValues.PositionLevelId = e;\r\n setPositionLevel(e);\r\n }\r\n });\r\n props.control._formValues.Direct_to_Position = true;\r\n } else if (rowData.ApproveType === 21) {\r\n setDoa(true);\r\n props.matrixList.map((e: any) => {\r\n if (rowData.MaxLevelId === e.ApproveMatrixId) {\r\n props.control._formValues.Approval_MatrixId = e;\r\n setApprovalMatrixDD(e);\r\n }\r\n });\r\n props.control._formValues.Design_of_Authority = true;\r\n } else if (rowData.ApproveType === 20) {\r\n setSpc(true);\r\n props.control._formValues.Specific_Approver = true;\r\n props.control._formValues.spc_isParallel = rowData.IsParallel;\r\n setIsParallel(rowData.IsParallel);\r\n props.control._formValues.IsApproveAll = rowData.IsApproveAll;\r\n setParallelType(rowData.IsApproveAll ? \"all\" : \"slot\");\r\n props.control._formValues.approverSlot = rowData.ApproveSlot;\r\n setSpecficApprovals(rowData.Specific_Approver);\r\n }\r\n } catch (error) {\r\n console.error(\"matrix=>error\", error);\r\n }\r\n }\r\n\r\n const updateChanges = (data: any, componentName?: string) => {\r\n try {\r\n if (data !== undefined) {\r\n if (componentName === \"condition\") {\r\n let conditions: any[] = conditionsValue;\r\n conditions.push({\r\n field: data.field,\r\n value: data.value,\r\n action: data.action,\r\n });\r\n setConditionsValue(conditions);\r\n } else if (data.EmployeeId !== undefined) {\r\n let specific_Approver: any[] = specficApprovals;\r\n const user = data;\r\n\r\n specific_Approver.push({\r\n TemLineId:\r\n props.rowData !== undefined\r\n ? props.rowData.TemLineId !== undefined\r\n ? props.rowData.TemLineId\r\n : props.allApproveLength\r\n : props.allApproveLength,\r\n Seq: specific_Approver.length + 1,\r\n EmployeeId: user.EmployeeId,\r\n EmployeeName:\r\n userData.employeeData.Lang === \"EN\" ? user.NameEn : user.NameTh,\r\n Position:\r\n userData.employeeData.Lang === \"EN\"\r\n ? user.PositionNameEn\r\n : user.PositionNameTh,\r\n SpecificTypeId: 874,\r\n SignatureID: defSignatureID,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n\r\n setSpecficApprovals([...specific_Approver]);\r\n } else if (data.RoleId !== undefined) {\r\n let specific_Approver: any[] = specficApprovals;\r\n const role = data;\r\n specific_Approver.push({\r\n TemLineId:\r\n props.rowData !== undefined\r\n ? props.rowData.TemLineId !== undefined\r\n ? props.rowData.TemLineId\r\n : props.allApproveLength\r\n : props.allApproveLength,\r\n Seq: specific_Approver.length + 1,\r\n EmployeeId: role.RoleId,\r\n EmployeeName:\r\n userData.employeeData.Lang === \"EN\" ? role.NameEn : role.NameTh,\r\n Position: role.RoleDescription,\r\n SpecificTypeId: 875,\r\n SignatureID: defSignatureID,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n setSpecficApprovals([...specific_Approver]);\r\n }\r\n } else {\r\n if (componentName === \"requestor\") {\r\n let specific_Approver: any[] = specficApprovals;\r\n\r\n specific_Approver.push({\r\n TemLineId:\r\n props.rowData !== undefined\r\n ? props.rowData.TemLineId !== undefined\r\n ? props.rowData.TemLineId\r\n : props.allApproveLength\r\n : props.allApproveLength,\r\n Seq: specific_Approver.length + 1,\r\n EmployeeId: null,\r\n EmployeeName: \"(Requestor)\",\r\n Position: \"\",\r\n SpecificTypeId: 876,\r\n SignatureID: defSignatureID,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n });\r\n setSpecficApprovals([...specific_Approver]);\r\n }\r\n }\r\n setDialogVisible(false);\r\n } catch (error) {\r\n console.error(\"table=>error\", error);\r\n }\r\n };\r\n\r\n function callSelectConditionForm() {\r\n setShowDialogFootter(true);\r\n setLoadingSelectData(false);\r\n setDialogBody(\r\n \r\n );\r\n }\r\n\r\n async function fetchMatrixData() {\r\n let matrix = await GetAllDynamic(\"ApprovalMatrix/GetAll\", undefined);\r\n setMatrixOptions([...matrix.filter((e: any) => e.IsActive === true)]);\r\n }\r\n\r\n async function callSelectUserDialog(apiName: string) {\r\n setDialogTitle(\"Add User\");\r\n let _dataDynamic = await GetAllDynamic(apiName + \"/GetAll\", undefined);\r\n let columns = [\r\n {\r\n field: \"EmployeeCode\",\r\n header: \"EmployeeCode\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n header: \"Employee Name\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n header: \"Position\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n header: \"Department\",\r\n },\r\n {\r\n field: \"Email\",\r\n header: \"Email\",\r\n },\r\n ];\r\n setShowDialogFootter(false);\r\n if (_dataDynamic !== undefined) {\r\n setLoadingSelectData(false);\r\n setDialogBody(\r\n \r\n );\r\n }\r\n }\r\n\r\n async function callSelectRoleDialog(apiName: string) {\r\n setDialogTitle(\"Add Role\");\r\n let _dataDynamic = await GetAllDynamic(apiName + \"/GetAll\", undefined);\r\n let columns = [\r\n {\r\n field: \"NameEn\",\r\n header: \"Name\",\r\n },\r\n {\r\n field: \"RoleDescription\",\r\n header: \"Description\",\r\n },\r\n ];\r\n setShowDialogFootter(false);\r\n setLoadingSelectData(false);\r\n if (_dataDynamic !== undefined) {\r\n setDialogBody(\r\n \r\n );\r\n }\r\n }\r\n\r\n const onDeleteRow = (data: any, setData: any, rowIdx: number) => {\r\n let selected: any = [...data];\r\n\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n selected.splice(rowIdx, 1);\r\n selected.map((e: any, idx: number) => {\r\n e.Seq = idx + 1;\r\n });\r\n setData(selected);\r\n },\r\n });\r\n };\r\n\r\n async function fecthPositionLevel() {\r\n let _dataDynamic: any[] = await GetAllDynamic(\r\n \"PositionLevel/GetAll?IsActive=true\",\r\n undefined\r\n );\r\n _dataDynamic.sort((a, b) => (a.PositionLevel < b.PositionLevel ? 1 : -1));\r\n setPositionLevelOptions(_dataDynamic);\r\n }\r\n\r\n useEffect(() => {\r\n fecthPositionLevel();\r\n fetchMatrixData();\r\n fetchTemplatData();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (specficApprovals && specficApprovals.length > 0) {\r\n specficApprovals.map((spc: any) => {\r\n if (spc.SignatureID === 0 || spc.SignatureID === -1) {\r\n spc.SignatureID = defSignatureID;\r\n }\r\n });\r\n props.control._formValues.specific_Approver = specficApprovals;\r\n }\r\n }, [specficApprovals]);\r\n\r\n useEffect(() => {\r\n if (props.control._fields.Conditions !== undefined) {\r\n props.control._formValues.Conditions = conditionsValue;\r\n }\r\n }, [conditionsValue]);\r\n\r\n function onSelected_Sinatures(event: any, rowInx: number) {\r\n let line: any[] = specficApprovals;\r\n line[rowInx].SignatureID = event.value.masterId;\r\n setSpecficApprovals([...line]);\r\n }\r\n\r\n const statusBodyTemplate = (rowData: any, option: any) => {\r\n let selectedValue: any[] = [];\r\n\r\n specficApprovals.map((e: any) => {\r\n if (e.SignatureID !== undefined && e.SignatureID !== -1) {\r\n props.signatureList.map((sig: any) => {\r\n if (e.SignatureID === sig.masterId) {\r\n selectedValue.push(sig);\r\n }\r\n });\r\n } else {\r\n const getSign = props.signatureList.find((sig: any) => {\r\n return rowData.SignatureId\r\n ? rowData.SignatureId === sig.masterId\r\n : sig.seq === \"1\";\r\n });\r\n\r\n selectedValue.push(getSign);\r\n }\r\n });\r\n\r\n return (\r\n // <>{selectedValue[option.rowIndex]}\r\n <>\r\n onSelected_Sinatures(e, option.rowIndex)}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\" ? \"value2\" : \"value1\"\r\n }\r\n placeholder=\"Select a Signature\"\r\n />\r\n \r\n );\r\n };\r\n\r\n async function fetchTemplatData() {\r\n let arrayFliedTest: any = [];\r\n const _advanceForm = props.advanceForm.items;\r\n let label: string;\r\n let key: string;\r\n let type: string;\r\n\r\n for (let i = 0; i < _advanceForm.length; i++) {\r\n let layout = _advanceForm[i].layout;\r\n for (let j = 0; j < layout.length; j++) {\r\n let template = layout[j].template;\r\n label = template.type + \" : \" + template.label;\r\n key = template.label;\r\n type = template.type;\r\n arrayFliedTest.push({ label, key, type });\r\n if (template.type === \"tb\") {\r\n for (let k = 0; k < template.attribute.column.length; k++) {\r\n let templateCol = template.attribute.column[k];\r\n label =\r\n template.type +\r\n \" : \" +\r\n template.label +\r\n \" : \" +\r\n templateCol.label;\r\n key = template.label + \" : \" + templateCol.label;\r\n type = template.type;\r\n arrayFliedTest.push({ label, key, type });\r\n }\r\n }\r\n }\r\n }\r\n\r\n setTemplateField(arrayFliedTest);\r\n }\r\n\r\n function OnchangeTemplate(data: any) {\r\n let templateChange: any = [];\r\n\r\n let TemplateSelect = data;\r\n TemplateSelect.map((data: any) => {\r\n templateChange.push({\r\n key: data.key,\r\n type: data.type,\r\n lable: data.label,\r\n });\r\n });\r\n\r\n setTemplateSelectedField(templateChange);\r\n setTemplateSelected(data);\r\n }\r\n\r\n return (\r\n <>\r\n (\r\n \r\n )}\r\n />\r\n
\r\n {props?.rowData?.ApproveType !== 0 && (\r\n <>\r\n \r\n
\r\n \r\n \r\n \r\n {\r\n setDialogTitle(\"Select Condition\");\r\n callSelectConditionForm();\r\n setDialogVisible(!dialogVisible);\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add Condition\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n (\r\n <>\r\n {\r\n field.onChange(e.value);\r\n setConditionsValue(e.value);\r\n }}\r\n onValueChange={(e: any) => {\r\n field.onChange(e.value);\r\n setConditionsValue(e.value);\r\n }}\r\n value={conditionsValue}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n }\r\n body={(rowData, options) => options.rowIndex + 1}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n body={(row) => {\r\n if (row.action !== undefined && row.action !== null && row.action !== \"\") {\r\n const actionLowerCase = row.action.toLowerCase();\r\n switch (actionLowerCase) {\r\n case \"greater_than\":\r\n return

{`>${row.value}`}

;\r\n case \"greater_than_or_equal_to\":\r\n return

{`>=${row.value}`}

;\r\n case \"less_than\":\r\n return

{`<${row.value}`}

;\r\n case \"less_than_or_equal_to\":\r\n return

{`<=${row.value}`}

;\r\n case \"equal_to\":\r\n return

{`=${row.value}`}

;\r\n case \"not_equal\":\r\n return

{`!=${row.value}`}

;\r\n default:\r\n return

{row.value}

;\r\n }\r\n } else {\r\n return

{row.value}

;\r\n }\r\n }}\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n conditionsValue,\r\n setConditionsValue,\r\n options.rowIndex\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n \r\n )}\r\n />\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 setJsonConditionField(data);\r\n field.onChange(data);\r\n }}\r\n />\r\n );\r\n }}\r\n />\r\n \r\n \r\n {props?.rowData?.ApproveType !== 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 field.onChange(e.checked);\r\n setLoc(e.checked);\r\n setMaxLevel(null);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={loc}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n สายการบังคับบัญชา\r\n \r\n
\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setDtp(e.checked);\r\n setPositionLevel(null);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={dtp}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n ส่งถึงตำแหน่ง\r\n \r\n
\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setDoa(e.checked);\r\n setApprovalMatrixDD(null);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={doa}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n อนุมัติตามอำนาจการดำเนินการ\r\n \r\n
\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.checked);\r\n setSpc(e.checked);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": !loc && !doa && !dtp && !spc,\r\n })}\r\n checked={spc}\r\n />\r\n )}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n เลือกผู้อนุมัติเอง\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n setMaxLevel(e.value);\r\n }}\r\n disabled={!loc}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n options={positionLevelOptions}\r\n />\r\n )}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n setPositionLevel(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n disabled={!dtp}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n options={positionLevelOptions}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n setApprovalMatrixDD(e.value);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n disabled={!doa}\r\n optionLabel={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n filter\r\n showClear\r\n filterBy={\r\n userData.employeeData.Lang === \"EN\"\r\n ? \"NameEn\"\r\n : \"NameTh\"\r\n }\r\n options={matrixOptions}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n {spc && (\r\n <>\r\n \r\n \r\n {\r\n setLoadingSelectData(true);\r\n callSelectUserDialog(\"Employee\");\r\n setDialogVisible(!dialogVisible);\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add User\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n {\r\n setLoadingSelectData(true);\r\n callSelectRoleDialog(\"Roles\");\r\n setDialogVisible(!dialogVisible);\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add Role\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n {\r\n updateChanges(undefined, \"requestor\");\r\n }}\r\n typeProps={\"button\"}\r\n setLabelProps={\"Add Requestor\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n (\r\n {\r\n if (!val.target.checked) {\r\n props.control._fields.approverSlot = 0;\r\n }\r\n setIsParallel(val.target.checked);\r\n field.onChange(val.target.checked);\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n (\r\n {\r\n setParallelType(e.target.value);\r\n field.onChange(e.target.value);\r\n }}\r\n disabled={!isParallel}\r\n value={parallelType}\r\n >\r\n
\r\n Approve All\r\n
\r\n \r\n {/* set field cant show value */}\r\n Approve of \r\n (\r\n {\r\n field.onChange(e);\r\n\r\n console.log(\"value\", e, approveSlot);\r\n }}\r\n />\r\n )}\r\n />\r\n \r\n \r\n )}\r\n />\r\n {/* (\r\n {\r\n field.onChange(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 console.log(\"matrix=>\", specficApprovals);\r\n }}\r\n >\r\n \r\n \r\n
\r\n {spc && (\r\n \r\n \r\n (\r\n {\r\n field.onChange(e.value);\r\n setSpecficApprovals([...e.value]);\r\n }}\r\n className={classNames({\r\n \"p-invalid\": fieldState.invalid,\r\n })}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n // body={(rowData, options) => options.rowIndex + 1}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n // body={statusBodyTemplate}\r\n >\r\n \r\n }\r\n body={statusBodyTemplate}\r\n >\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n specficApprovals,\r\n setSpecficApprovals,\r\n options.rowIndex\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n }}\r\n >\r\n \r\n )}\r\n />\r\n {props.getFormErrorMessage(\"specific_Approver\")}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n )}\r\n {\r\n setDialogVisible(false);\r\n }}\r\n blockScroll\r\n draggable={false}\r\n >\r\n {!loadingSelectData && dialogBody}\r\n \r\n \r\n \r\n );\r\n}\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Column, ColumnBodyOptions } from \"primereact/column\";\r\nimport { DataTable, DataTableRowReorderParams } from \"primereact/datatable\";\r\nimport { RadioButton } from \"primereact/radiobutton\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport editIcon from \"../../../assets/edit-icon.png\";\r\nimport \"../ApproveMatrixComponent/ApproveMatrix.css\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { useForm } from \"react-hook-form\";\r\nimport { IoCloseOutline, IoSaveOutline } from \"react-icons/io5\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport AddMatrixCondition, { IJsonCondition } from \"./AddMatrixCondition\";\r\nimport moment from \"moment\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport { RiFileCopy2Line } from \"react-icons/ri\";\r\nimport useAlert from \"../../../hooks/useAlert\";\r\n\r\ninterface Props {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n positionList: any;\r\n matrixList: any;\r\n signatureList: any;\r\n setLogicsApprover: any;\r\n}\r\n\r\ninterface TemApprove {\r\n MaxLevelId?: any;\r\n ApprovalMatrixId?: any;\r\n ApproveType: number;\r\n Conditions: any;\r\n}\r\n\r\nexport default function ApproveMatrix(props: any) {\r\n const { toggleAlert } = useAlert();\r\n const [dialogVisible, setDialogVisible] = useState(false);\r\n const [redundant_Approver, setRedundant_Approver] = useState([]);\r\n const [auto_Approve, setAuto_Approve] = useState();\r\n const [allApprovals, setAllApprovals] = useState([]);\r\n const [selectedApprovals, setSelectedApprovals] = useState([]);\r\n const [templateLogics, setTemplateLogics] = useState([]);\r\n const [dialogTitle, setDialogTitle] = useState(\"\");\r\n const [dialogBody, setDialogBody] = useState();\r\n const userData = JSON.parse((window as any).localStorage.getItem(\"userData\"));\r\n const [dialogMode, setDialogMode] = useState(\"\");\r\n const toast = useRef(null);\r\n\r\n const {\r\n control,\r\n formState: { errors },\r\n handleSubmit,\r\n reset,\r\n } = useForm({\r\n mode: \"all\",\r\n reValidateMode: \"onChange\",\r\n shouldUnregister: false,\r\n });\r\n\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n\r\n const updateChanges = (data: any, isToggleDialog: boolean = true) => {\r\n let allSelected = allApprovals;\r\n let approveType = -1;\r\n\r\n if (\r\n data.Line_of_Command ||\r\n data.Direct_to_Position ||\r\n data.Design_of_Authority ||\r\n data.Specific_Approver\r\n ) {\r\n //for Edit\r\n if (data.Seq > 0) {\r\n allSelected.map((approval: any) => {\r\n if (approval.Seq === data.Seq) {\r\n approval.Conditions = {};\r\n if (data.Conditions?.length > 0) {\r\n approval.Conditions.Conditions = data.Conditions;\r\n } else {\r\n approval.Conditions = null;\r\n }\r\n approval.ColumnJsonCondValue = {\r\n Conditions: data.jsonConditionField,\r\n };\r\n if (data.Line_of_Command) {\r\n approval.ApproveType = 19;\r\n approval.Type = \"Line of Command\";\r\n approval.MaxLevelId = data.MaxLevelId.PositionLevelId;\r\n approval.MaxLevelName =\r\n userData.employeeData === \"EN\"\r\n ? data.MaxLevelId.NameEn\r\n : data.MaxLevelId.NameTh;\r\n } else if (data.Direct_to_Position) {\r\n approval.ApproveType = 22;\r\n approval.Type = \"Direct to Position\";\r\n approval.MaxLevelId = data.PositionLevelId.PositionLevelId;\r\n approval.MaxLevelName =\r\n userData.employeeData === \"EN\"\r\n ? data.PositionLevelId.NameEn\r\n : data.PositionLevelId.NameTh;\r\n } else if (data.Design_of_Authority) {\r\n approval.ApproveType = 21;\r\n approval.Type = \"Design of Authority\";\r\n approval.MaxLevelId = data.Approval_MatrixId.ApproveMatrixId;\r\n approval.MaxLevelName =\r\n userData.employeeData === \"EN\"\r\n ? data.Approval_MatrixId.NameEn\r\n : data.Approval_MatrixId.NameTh;\r\n } else if (data.Specific_Approver) {\r\n approval.ApproveType = 20;\r\n approval.Type = \"Specific Approver\";\r\n approval.Specific_Approver = data.specific_Approver;\r\n approval.IsParallel = data.spc_isParallel;\r\n approval.IsApproveAll = data.spc_isApproveAll === \"all\";\r\n approval.ApproveSlot =\r\n data.spc_isApproveAll === \"slot\"\r\n ? data.approverSlot\r\n : data.approverSlot;\r\n }\r\n }\r\n });\r\n\r\n setAllApprovals([...allSelected]);\r\n reset();\r\n } else {\r\n //for Add\r\n if (data.Line_of_Command) {\r\n approveType = 19;\r\n\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n MaxLevelId: data.MaxLevelId.PositionLevelId,\r\n MaxLevelName:\r\n userData.employeeData === \"EN\"\r\n ? data.MaxLevelId.NameEn\r\n : data.MaxLevelId.NameTh,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Line of Command\",\r\n ColumnJsonCondValue: { Conditions: data.jsonConditionField },\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n reset();\r\n }\r\n if (data.Direct_to_Position) {\r\n approveType = 22;\r\n\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n MaxLevelId: data.PositionLevelId.PositionLevelId,\r\n MaxLevelName:\r\n userData.employeeData === \"EN\"\r\n ? data.PositionLevelId.NameEn\r\n : data.PositionLevelId.NameTh,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Direct to Position\",\r\n ColumnJsonCondValue: { Conditions: data.jsonConditionField },\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n reset();\r\n }\r\n if (data.Design_of_Authority) {\r\n approveType = 21;\r\n\r\n const approval: any = {\r\n Seq: allSelected.length + 1,\r\n MaxLevelId: data.Approval_MatrixId.ApproveMatrixId,\r\n MaxLevelName:\r\n userData.employeeData === \"EN\"\r\n ? data.Approval_MatrixId.NameEn\r\n : data.Approval_MatrixId.NameTh,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Design of Authority\",\r\n ColumnJsonCondValue: { Conditions: data.jsonConditionField },\r\n };\r\n allSelected.push(approval);\r\n setAllApprovals([...allSelected]);\r\n reset();\r\n }\r\n if (data.Specific_Approver) {\r\n approveType = 20;\r\n\r\n const approval: any = {\r\n Seq: allSelected.length,\r\n Specific_Approver: data.specific_Approver,\r\n ApproveType: approveType,\r\n Conditions:\r\n data.Conditions.length > 0\r\n ? { Conditions: data.Conditions }\r\n : null,\r\n Type: \"Specific Approver\",\r\n ColumnJsonCondValue: { Conditions: data.jsonConditionField },\r\n IsParallel: data.spc_isParallel,\r\n IsApproveAll: data.spc_isApproveAll === \"all\",\r\n ApproveSlot:\r\n data.spc_isApproveAll === \"slot\" ? data.approverSlot : null,\r\n };\r\n\r\n allSelected.push(approval);\r\n\r\n setAllApprovals([...allSelected]);\r\n reset();\r\n }\r\n }\r\n } else if (data.Seq === 0) {\r\n allSelected.map((approval: any) => {\r\n if (approval.Seq === data.Seq) {\r\n approval.ColumnJsonCondValue = {\r\n Conditions: data.jsonConditionField,\r\n };\r\n }\r\n });\r\n setAllApprovals([...allSelected]);\r\n\r\n reset();\r\n } else {\r\n toggleAlert({\r\n description: `Type of Approval is reqiure`,\r\n message: `Require field warning.`,\r\n type: \"warning\",\r\n });\r\n }\r\n if (isToggleDialog) toggleDialog();\r\n };\r\n\r\n function toggleDialog() {\r\n setDialogVisible(!dialogVisible);\r\n }\r\n\r\n const getFormErrorMessage = (name: any) => {\r\n if (name === \"specific_Approver\") {\r\n } else {\r\n return (\r\n errors[name] && (\r\n {errors[name].message}\r\n )\r\n );\r\n }\r\n };\r\n\r\n function callAddMatrixForm() {\r\n setDialogBody(\r\n \r\n );\r\n }\r\n\r\n const onRedundantChange = (e: any) => {\r\n let selected: any = [...redundant_Approver];\r\n\r\n if (e.checked) {\r\n selected.push(e.value);\r\n } else {\r\n selected.splice(selected.indexOf(e.value), 1);\r\n }\r\n\r\n setRedundant_Approver(selected);\r\n };\r\n\r\n useEffect(() => {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...prevState.templateForm,\r\n AutoApprove:\r\n redundant_Approver.indexOf(\"Auto Approve By System\") !== -1,\r\n ApproverCanEdit:\r\n redundant_Approver.indexOf(\"Approver Can Edit Document\") !== -1,\r\n IsCheckAccess:\r\n redundant_Approver.indexOf(\"Approver can check access document\") !==\r\n -1,\r\n },\r\n }));\r\n }, [redundant_Approver]);\r\n\r\n const onDeleteRow = (rowData: any, rowIdx: number) => {\r\n let selected: any = [...allApprovals];\r\n let newSpcApprovals: any[] = [];\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n className: \"matrix-confirmDialog\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n selected.splice(rowIdx, 1);\r\n selected.map((e: any, idx: number) => {\r\n if (e.Seq !== 0) {\r\n e.Seq = idx + 1;\r\n if (e.Specific_Approver !== undefined) {\r\n e.Specific_Approver.map((spc: any) => {\r\n spc.TemLineId = e.TemLineId !== undefined ? e.TemLineId : e.Seq;\r\n newSpcApprovals.push(spc);\r\n });\r\n }\r\n }\r\n });\r\n setAllApprovals([...selected]);\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n specificApprovers: newSpcApprovals,\r\n }));\r\n },\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n let TemLineApprove: any[] = [];\r\n let spc_approval: any[] = [];\r\n let conditions: any[] = [];\r\n let logic: any[] = [];\r\n let TemplateLogic: any[] = [];\r\n\r\n allApprovals.map((approval: any, index: number) => {\r\n let LstCondition: any[] = [];\r\n\r\n if (\r\n approval.Conditions !== undefined &&\r\n approval.Conditions !== null &&\r\n approval.Conditions !== \"\"\r\n ) {\r\n if (\r\n approval.Conditions.Conditions !== undefined &&\r\n approval.Conditions.Conditions !== null\r\n ) {\r\n if (approval.Conditions.Conditions.length > 0) {\r\n approval.Conditions.Conditions.map((con: any, conIndex: number) => {\r\n const _con = {\r\n Column: con.field,\r\n Value: con.value,\r\n Seq: conIndex + 1,\r\n TemLineId: \"\",\r\n action: con.action,\r\n Tem_LineId: conIndex + 1,\r\n };\r\n conditions.push(_con);\r\n LstCondition.push(_con);\r\n });\r\n } else {\r\n approval.Conditions = null;\r\n }\r\n }\r\n }\r\n\r\n if (approval.ApproveType === 21) {\r\n const _approval = {\r\n TemLineId: approval.TemLineId,\r\n Seq: index,\r\n MaxLevelId: null,\r\n ApprovalMatrixId: approval.MaxLevelId,\r\n CompanyCode: null,\r\n ApproveType: approval.ApproveType,\r\n Conditions: approval.Conditions\r\n ? JSON.stringify(approval.Conditions)\r\n : null,\r\n LstCondition: LstCondition,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n IsActive: true,\r\n ColumnJsonCondValue: approval.ColumnJsonCondValue\r\n ? JSON.stringify(approval.ColumnJsonCondValue)\r\n : null,\r\n };\r\n TemLineApprove.push(_approval);\r\n } else {\r\n if (approval.ApproveType === 20) {\r\n approval.Specific_Approver.map((e: any, eIdx: number) => {\r\n e.TemLineId = approval.TemLineId ?? index - 1;\r\n e.Seq = eIdx + 1;\r\n spc_approval.push(e);\r\n });\r\n }\r\n const _approval = {\r\n TemLineId: approval.TemLineId,\r\n Seq: index,\r\n MaxLevelId: approval.MaxLevelId,\r\n ApprovalMatrixId: null,\r\n CompanyCode: null,\r\n ApproveType: approval.ApproveType,\r\n Conditions: approval.Conditions\r\n ? JSON.stringify(approval.Conditions)\r\n : null,\r\n LstCondition: LstCondition,\r\n CreatedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n CreatedBy: userData.employeeData.EmployeeId.toString(),\r\n ModifiedDate: moment(new Date()).format(\"DD MMM YYYY\"),\r\n ModifiedBy: userData.employeeData.EmployeeId.toString(),\r\n IsActive: true,\r\n IsParallel: approval.IsParallel,\r\n IsApproveAll: approval.IsApproveAll,\r\n ApproveSlot: approval.ApproveSlot,\r\n ColumnJsonCondValue: approval.ColumnJsonCondValue\r\n ? JSON.stringify(approval.ColumnJsonCondValue)\r\n : null,\r\n };\r\n TemLineApprove.push(_approval);\r\n\r\n // if (_approval.ApproveType === 0 && _approval.ColumnJsonCondValue) {\r\n // readOnlyCondition.push(JSON.parse(_approval.ColumnJsonCondValue));\r\n // }\r\n }\r\n });\r\n\r\n let logicControl: any[] = [];\r\n conditions.map((cons: any) => {\r\n if (\r\n logicControl.filter((e: any) => e.label === cons.Column).length === 0\r\n ) {\r\n logicControl.push({\r\n field: \"\",\r\n label: cons.Column,\r\n action: cons.action,\r\n });\r\n }\r\n });\r\n\r\n logicControl.map((con: any) => {\r\n logic.push(\r\n JSON.stringify({\r\n label: con.label,\r\n methodtype: \"ApprovalMatrix\",\r\n InsertType: \"Last\",\r\n amountstatus: \"false\",\r\n Conditions: logicControl,\r\n })\r\n );\r\n });\r\n\r\n logic.map((logic: any, idx: number) => {\r\n TemplateLogic.push({\r\n seq: idx + 1,\r\n logictype: \"datalineapprove\",\r\n jsonvalue: logic,\r\n lstCondition: conditions,\r\n });\r\n });\r\n setTemplateLogics([...TemplateLogic]);\r\n\r\n props.setLogicsApprover([...TemplateLogic]);\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n TemLineApprove: [...TemLineApprove],\r\n specificApprovers: [...spc_approval],\r\n }));\r\n }, [allApprovals]);\r\n\r\n useEffect(() => {\r\n let selected: any = [...redundant_Approver];\r\n\r\n if (props.controlModel.templateForm?.AutoApprove) {\r\n selected.push(\"Auto Approve By System\");\r\n }\r\n if (props.controlModel.templateForm?.ApproverCanEdit) {\r\n selected.push(\"Approver Can Edit Document\");\r\n }\r\n if (props.controlModel.templateForm?.IsCheckAccess) {\r\n selected.push(\"Approver can check access document\");\r\n }\r\n\r\n setAllApprovalsForControl();\r\n setAuto_Approve(props.controlModel.templateForm?.AutoApproveWhen);\r\n setRedundant_Approver(selected);\r\n }, []);\r\n\r\n function setAllApprovalsForControl() {\r\n try {\r\n let temp: any = props.controlModel.TemLineApprove;\r\n\r\n let spcApprove: any = props.controlModel.specificApprovers;\r\n\r\n let approvals: any = [];\r\n\r\n temp.map((tem: any, idx: number) => {\r\n let _con = \"\";\r\n let _ColumnJson = \"\";\r\n if (tem.Conditions !== \"\") {\r\n _con = JSON.parse(tem.Conditions);\r\n }\r\n if (tem.ColumnJsonCondValue) {\r\n if (tem.ColumnJsonCondValue !== \"\") {\r\n _ColumnJson = JSON.parse(tem.ColumnJsonCondValue);\r\n }\r\n }\r\n\r\n if (tem.ApproveType === 20) {\r\n let spcApproves: any = [];\r\n spcApprove.map((e: any) => {\r\n if (tem.Seq - 1 === e.TemLineId) {\r\n spcApproves.push(e);\r\n } else if (tem.TemLineId === e.TemLineId) {\r\n spcApproves.push(e);\r\n }\r\n });\r\n const approval: any = {\r\n IsParallel: tem.IsParallel,\r\n IsApproveAll: tem.IsApproveAll,\r\n ApproveSlot: tem.ApproveSlot,\r\n TemLineId: tem.TemLineId,\r\n Seq: tem.Seq,\r\n Specific_Approver: spcApproves,\r\n ApproveType: tem.ApproveType,\r\n Conditions: _con,\r\n ColumnJsonCondValue: _ColumnJson,\r\n Type: \"Specific Approver\",\r\n };\r\n approvals.push(approval);\r\n } else if (tem.ApproveType === 21) {\r\n let type = GetApproveType(tem.ApproveType);\r\n let maxLevelName = GetMatrixData(tem.ApprovalMatrixId);\r\n let approval: any = {\r\n TemLineId: tem.TemLineId,\r\n Seq: tem.Seq,\r\n MaxLevelId: tem.ApprovalMatrixId,\r\n MaxLevelName: maxLevelName,\r\n ApproveType: tem.ApproveType,\r\n Conditions: _con,\r\n ColumnJsonCondValue: _ColumnJson,\r\n Type: type,\r\n };\r\n approvals.push(approval);\r\n } else {\r\n let type = GetApproveType(tem.ApproveType);\r\n let maxLevelName = GetMaxLevelName(tem.MaxLevelId);\r\n let approval: any = {\r\n TemLineId: tem.TemLineId,\r\n Seq: tem.Seq,\r\n MaxLevelId: tem.MaxLevelId,\r\n MaxLevelName: maxLevelName,\r\n ApproveType: tem.ApproveType,\r\n Conditions: _con,\r\n ColumnJsonCondValue: _ColumnJson,\r\n Type: type,\r\n };\r\n approvals.push(approval);\r\n }\r\n });\r\n\r\n setAllApprovals([...approvals]);\r\n } catch (error) {\r\n console.log(\"Matrix=>\", error);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...prevState.templateForm,\r\n AutoApproveWhen: auto_Approve,\r\n },\r\n }));\r\n }, [auto_Approve]);\r\n\r\n function GetMatrixData(matrixId: number) {\r\n let name: string = \"\";\r\n const matrixes = props.matrixList;\r\n\r\n matrixes.map((e: any) => {\r\n if (e.ApproveMatrixId === matrixId) {\r\n if (userData.Leng === \"EN\") {\r\n name = e.NameEn;\r\n } else {\r\n name = e.NameTh;\r\n }\r\n }\r\n });\r\n return name;\r\n }\r\n\r\n function GetMaxLevelName(maxLevelId: number) {\r\n let name: string = \"\";\r\n const positions = props.positionList;\r\n positions.map((e: any) => {\r\n if (e.PositionLevelId === maxLevelId) {\r\n if (userData.employeeData.Lang === \"EN\") {\r\n name = e.NameEn;\r\n } else {\r\n name = e.NameTh;\r\n }\r\n }\r\n });\r\n return name;\r\n }\r\n\r\n function GetApproveType(ApproveTypeId: number) {\r\n const approveType = [\r\n { id: 19, name: \"Line of Command\" },\r\n { id: 20, name: \"Specific Approver\" },\r\n { id: 21, name: \"Design of Authority\" },\r\n { id: 22, name: \"Direct to Position\" },\r\n { id: 0, name: \"Default\" },\r\n ];\r\n let name: string = \"\";\r\n approveType.map((e: any) => {\r\n if (e.id === ApproveTypeId) {\r\n name = e.name;\r\n }\r\n });\r\n\r\n return name;\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n All Approvals\r\n

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

\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n {\r\n setDialogMode(\"Add\");\r\n setDialogTitle(\"Approve Matrix\");\r\n callAddMatrixForm();\r\n toggleDialog();\r\n }}\r\n setLabelProps={\"Add Matrix\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n {\r\n if (e.dragIndex === 0) return;\r\n if (e.dropIndex === 0) return;\r\n e.value.map((approval: any, index: number) => {\r\n approval.Seq = index + 1;\r\n let appSpcific: any[] = [];\r\n if (approval.Specific_Approver !== undefined) {\r\n approval.Specific_Approver.map((spc: any) => {\r\n spc.TemLineId =\r\n approval.TemLineId !== undefined\r\n ? approval.TemLineId\r\n : index;\r\n appSpcific.push(spc);\r\n });\r\n approval.Specific_Approver = appSpcific;\r\n }\r\n });\r\n\r\n setAllApprovals(e.value);\r\n }}\r\n selection={selectedApprovals}\r\n onSelectionChange={(e) => {\r\n setSelectedApprovals(e.value);\r\n }}\r\n responsiveLayout=\"scroll\"\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData, options) => options.rowIndex}\r\n >\r\n \r\n }\r\n body={(rowData: any) => {\r\n try {\r\n let str = \"\";\r\n\r\n if (\r\n rowData.Conditions !== null &&\r\n rowData.Conditions !== undefined &&\r\n rowData.Conditions !== \"\"\r\n ) {\r\n rowData?.Conditions?.Conditions?.map(\r\n (con: any, index: number) => {\r\n if (index === 0) {\r\n str = str + (con.field + \":\" + con.value);\r\n } else {\r\n str =\r\n str + \",\" + (con.field + \":\" + con.value);\r\n }\r\n }\r\n );\r\n }\r\n return str;\r\n } catch (error) {}\r\n }}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n body={(rowData: any) => {\r\n if (rowData[\"ApproveType\"] === 20) {\r\n if (rowData[\"Specific_Approver\"] !== undefined) {\r\n let str = \"\";\r\n\r\n rowData[\"Specific_Approver\"].map(\r\n (approver: any, index: number) => {\r\n if (index === 0) {\r\n str = str + approver.EmployeeName;\r\n } else {\r\n str = str + \",\" + approver.EmployeeName;\r\n }\r\n }\r\n );\r\n return str;\r\n }\r\n } else {\r\n return rowData.MaxLevelName;\r\n }\r\n }}\r\n >\r\n \r\n }\r\n body={(rowData: any, options) => {\r\n if (rowData.ApproveType !== 0) {\r\n return (\r\n {\r\n let allSelected = [...allApprovals];\r\n\r\n let newRow: any = JSON.parse(\r\n JSON.stringify(rowData)\r\n );\r\n newRow.TemLineId = undefined;\r\n if (newRow.ApproveType === 20) {\r\n const spcs = newRow.Specific_Approver\r\n ? JSON.parse(\r\n JSON.stringify(newRow.Specific_Approver)\r\n )\r\n : [];\r\n newRow.Specific_Approver = spcs.map(\r\n (spc: any) => {\r\n spc.TemSpecificId = undefined;\r\n spc.TemLineId = allSelected.length;\r\n return spc;\r\n }\r\n );\r\n }\r\n allSelected.push(newRow);\r\n newRow.Seq = allSelected.length;\r\n\r\n setAllApprovals([...allSelected]);\r\n }}\r\n >\r\n \r\n \r\n );\r\n } else {\r\n <>;\r\n }\r\n }}\r\n >\r\n \r\n }\r\n body={(rowData: any) => (\r\n {\r\n setDialogMode(\"Edit\");\r\n setDialogBody(\r\n \r\n );\r\n toggleDialog();\r\n }}\r\n >\r\n \"logo\"\r\n \r\n )}\r\n >\r\n\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n if (rowData.ApproveType !== 0) {\r\n return (\r\n {\r\n onDeleteRow(rowData, options.rowIndex);\r\n }}\r\n >\r\n \"logo\"\r\n \r\n );\r\n } else {\r\n <>;\r\n }\r\n }}\r\n >\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Redundant Approval Condition\r\n

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

\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ให้ระบบอนุมัติให้โดยอัตโนมัติ\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ผู้อนุมัติสามารถแก้ไขข้อมูลได้\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n ผู้อนุมัติสามารถจองข้อมูลที่แก้ไขข้อมูลได้\r\n \r\n
\r\n \r\n \r\n \r\n \r\n {redundant_Approver.indexOf(\"Auto Approve By System\") !== -1 && (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setAuto_Approve(e.value)}\r\n checked={auto_Approve === \"F\"}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n อนุมัติเฉพาะขั้นแรก\r\n \r\n
\r\n \r\n \r\n \r\n \r\n setAuto_Approve(e.value)}\r\n checked={auto_Approve === \"L\"}\r\n />\r\n \r\n \r\n
\r\n \r\n \r\n อนุมัติเฉพาะขั้นสุดท้าย\r\n \r\n
\r\n \r\n \r\n \r\n \r\n )}\r\n \r\n {\r\n reset();\r\n setDialogVisible(false);\r\n }}\r\n blockScroll\r\n draggable={false}\r\n >\r\n \r\n {dialogBody}\r\n
\r\n \r\n }\r\n onClickProps={() => {\r\n reset();\r\n setDialogVisible(false);\r\n }}\r\n typeProps={\"button\"}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n width: \"100px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n
\r\n \r\n \r\n \r\n );\r\n}\r\n","import React, { useState } from \"react\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport \"./CheckboxCpmponents.css\";\r\n\r\ninterface Props {\r\n checkedProps?: any;\r\n onChangeProps?: any;\r\n keyProps?: any;\r\n notLable?: any;\r\n readOnlyProps?: boolean;\r\n}\r\n\r\nexport const CheckboxCpmponents = (props: Props) => {\r\n return (\r\n
\r\n props.onChangeProps(e.checked, props.keyProps)}\r\n readOnly={props.readOnlyProps}\r\n />\r\n \r\n {props.notLable !== true && <>{\"Yes\"}}\r\n \r\n
\r\n );\r\n};\r\n","import { AutoComplete, Button, Modal, Radio, Space, Table } from \"antd\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Row, Col } from \"react-bootstrap\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport type { RadioChangeEvent } from \"antd\";\r\nimport \"../TemplateDetailComponents.css\";\r\nimport { RiDeleteBin6Line } from \"react-icons/ri\";\r\nimport { SelectDataDialog } from \"../../Select/SelectionDataDialog/SelectDataDialog\";\r\nimport { ColumnsType } from \"antd/lib/table\";\r\ninterface Props {\r\n InformationDataProps: any;\r\n setControlModelObj?: any;\r\n state?: string;\r\n checkValidation?: any;\r\n isLoadProps: any;\r\n groupDataTemplate: any;\r\n setGroupDataTemplate: any;\r\n isVersion: boolean;\r\n}\r\n\r\nexport const InformationComponents = (props: Props) => {\r\n const [departmentList, setDepartmentList] = useState({});\r\n const [informationDataProps, setInformationDataPropst] = useState({\r\n ...props.InformationDataProps,\r\n });\r\n const [filteredAutoComplete, setFilteredAutoComplete] = useState();\r\n const [key, setKey] = useState();\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [searchData, setSearchData] = useState([]);\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [isloading, setIsloading] = useState(false);\r\n const [employee, setEmployee] = useState({});\r\n const [departmentSelect, setDepartmentSelect] = useState({});\r\n const [toSelect, setToSelect] = useState([]);\r\n const [ccSelect, setCcSelect] = useState([]);\r\n const [toName, setToName] = useState([]);\r\n const [ccnName, setCcName] = useState([]);\r\n const [userData, setUserData] = useUserContext();\r\n const [categoryFilter, setCategoryFilter] = useState(\r\n props.groupDataTemplate\r\n );\r\n const [isMobile, setIsMobile] = useState(false);\r\n const [toValue, setToValue] = useState(toName);\r\n const [CCValue, setCCValue] = useState(ccnName);\r\n console.log(\"mylogg\",props.InformationDataProps);\r\n useEffect(() => {\r\n if (toSelect) {\r\n let filtered = toSelect.filter((e: any, idx: number) => idx <= 2);\r\n setToValue(filtered);\r\n }\r\n if (ccnName) {\r\n let filtered = ccSelect.filter((e: any, idx: number) => idx <= 2);\r\n setCCValue(filtered);\r\n }\r\n }, [toSelect, ccSelect]);\r\n\r\n useEffect(() => {\r\n checkDevice();\r\n }, []);\r\n\r\n const checkDevice = () => {\r\n let regexp = /android|iphone|kindle|ipad/i;\r\n let isMobileDevice = regexp.test(navigator.userAgent);\r\n setIsMobile(isMobileDevice);\r\n if (isMobileDevice) {\r\n console.log(\"Mobile Device\");\r\n } else {\r\n console.log(\"Desktop\");\r\n }\r\n };\r\n useEffect(() => {\r\n if (\r\n Object.keys(departmentList).length === 0 &&\r\n Object.keys(employee).length === 0\r\n ) {\r\n _fechDepartment();\r\n _fechEmployee();\r\n dataToAndCC(employee);\r\n }\r\n }, [departmentList, employee]);\r\n\r\n useEffect(() => {\r\n if (\r\n Object.keys(departmentList).length !== 0 &&\r\n Object.keys(employee).length !== 0\r\n ) {\r\n dataToAndCC(employee);\r\n }\r\n }, [props.InformationDataProps]);\r\n\r\n async function dataToAndCC(employeeData: any) {\r\n try {\r\n let _to =\r\n props.InformationDataProps.templateForm.ToId.length === 0\r\n ? []\r\n : props.InformationDataProps.templateForm.ToId.split(\",\");\r\n\r\n let _cc =\r\n props.InformationDataProps.templateForm.CcId.length === 0\r\n ? []\r\n : props.InformationDataProps.templateForm.CcId.split(\",\");\r\n let _employeeData =\r\n Object.keys(employeeData).length === 0 ? [] : employeeData;\r\n if (_employeeData.length === 0) return;\r\n let _toArray: any = [];\r\n let _toName: any = [];\r\n let _ccArray: any = [];\r\n let _ccName: any = [];\r\n if (_to.length !== 0) {\r\n // new code\r\n for(let item of _to){\r\n let emp = _employeeData?.find((x: any) => x?.NameEn === item);\r\n let _duplicate = _toArray?.some((x: any) => x?.NameEn === emp?.NameEn) \r\n if(emp && !_duplicate){\r\n _toArray.push(emp)\r\n }\r\n }\r\n // for (let i = 0; i < _employeeData.length; i++) {\r\n // for (let j = 0; j < _to.length; j++) {\r\n // if (_employeeData[i].NameEn === _to[j]) {\r\n // if (_toArray.length != 0) {\r\n // let _dataFilter = _toArray.filter(\r\n // (item: any) => item.NameEn === _employeeData[i].NameEn\r\n // );\r\n\r\n // if (_dataFilter.length === 0) {\r\n // _toArray.push(_employeeData[i]);\r\n // }\r\n // } else {\r\n // _toArray.push(employee[i]);\r\n // }\r\n // }\r\n // }\r\n // }\r\n\r\n if (_to.length !== _toArray.length) {\r\n let _dataFilter = _to.filter((data: any) => {\r\n let _data = _toArray.filter((_data: any) => _data.NameEn === data);\r\n if (_data.length === 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: data,\r\n NameTh: data,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n _toArray.push(_event);\r\n }\r\n });\r\n }\r\n _toArray.map((e: any) => {\r\n _toName.push(userData.Lang === \"EN\" ? e.NameEn : e.NameTh);\r\n });\r\n setToName(_toName);\r\n setToSelect(_toArray);\r\n }\r\n if (_cc.length !== 0) {\r\n // new code\r\n for(let item of _cc){\r\n let emp = _employeeData?.find((x: any) => x?.NameEn === item);\r\n let _duplicate = _ccArray?.some((x: any) => x?.NameEn === emp?.NameEn) \r\n if(emp && !_duplicate){\r\n _ccArray.push(emp)\r\n }\r\n }\r\n // for (let i = 0; i < _employeeData.length; i++) {\r\n // for (let j = 0; j < _cc.length; j++) {\r\n // if (_employeeData[i].NameEn === _cc[j]) {\r\n // if (_ccArray.length != 0) {\r\n // let _dataFilter = _ccArray.filter(\r\n // (item: any) => item.NameEn === _employeeData[i].NameEn\r\n // );\r\n // if (_dataFilter.length === 0) {\r\n // _ccArray.push(_employeeData[i]);\r\n // }\r\n // } else {\r\n // _ccArray.push(employee[i]);\r\n // }\r\n // }\r\n // }\r\n // }\r\n // ไม่รู้ว่ามีไว้ทำไมเลยคอมเมนท์ไว้ก่อน เขาเขียนไว้\r\n // _employeeData.filter((_data: any) => {\r\n // let _dataCc = _cc.filter(\r\n // (dataCc: any) => _data.NameTh === dataCc || _data.NameEn === dataCc\r\n // );\r\n\r\n // if (_dataCc.length !== 0) {\r\n // if(ccEmpCode == _data.EmployeeId){\r\n // _ccArray.push(_data);\r\n // }\r\n // }\r\n // });\r\n if (_cc.length !== _ccArray.length) {\r\n let _dataFilter = _cc.filter((data: any) => {\r\n let _data = _ccArray.filter((_data: any) => _data.NameEn === data);\r\n if (_data.length === 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: data,\r\n NameTh: data,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n _ccArray.push(_event);\r\n }\r\n });\r\n }\r\n _ccArray.map((e: any) => {\r\n _ccName.push(userData.Lang === \"EN\" ? e.NameEn : e.NameTh);\r\n });\r\n setCcName(_ccName);\r\n setCcSelect(_ccArray);\r\n }\r\n } catch (error) {}\r\n }\r\n const [showDialogEmp, setShowDialogEmp] = useState(true);\r\n async function showModal(key: any) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n // setDialogVisible(!isDialogVisible);\r\n // setKey(key);\r\n // _fechEmployee();\r\n // setIsloading(true);\r\n setDialogVisible(!isDialogVisible);\r\n let req = {\r\n IsActiveOnly: true,\r\n Scopes: \"name,email,org\",\r\n };\r\n setKey(key);\r\n if (showDialogEmp) {\r\n if (employee.length <= 0) {\r\n const employeeList = await GetAllEmployee(req);\r\n setEmployee(employeeList);\r\n setSearchData(employeeList);\r\n }\r\n\r\n setShowDialogEmp(!showDialogEmp);\r\n }\r\n }\r\n function onSelectedEmployeeToAndPass(data: any) {\r\n let checkValue: boolean = false;\r\n const _value = userData.Lang === \"EN\" ? data.NameEn : data.NameTh;\r\n _AutoComplete(data, key === \"ToId\" ? key : \"CcId\");\r\n setDialogVisible(!isDialogVisible);\r\n // false;\r\n }\r\n\r\n async function _fechEmployee() {\r\n const _employee = await GetAllEmployee();\r\n dataToAndCC(_employee);\r\n setEmployee(_employee);\r\n setSearchData(_employee);\r\n setIsloading(true);\r\n }\r\n\r\n async function _fechDepartment() {\r\n const _Department = await GetDepartment();\r\n let _dataFilter = _Department.filter(\r\n (_department: any) => _department.NameEn !== null\r\n );\r\n if (props.InformationDataProps.templateForm?.DepartmentId !== 0) {\r\n let _dataFilterDepartmentId = _dataFilter.filter(\r\n (_department: any) =>\r\n _department.DepartmentId ===\r\n props.InformationDataProps.templateForm?.DepartmentId\r\n );\r\n setDepartmentSelect(_dataFilterDepartmentId[0]);\r\n }\r\n setDepartmentList(_dataFilter);\r\n }\r\n\r\n async function _DropdownDepartment(data: any, key: any) {\r\n if (data === undefined || data === null) {\r\n } else {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n DepartmentId: data.DepartmentId,\r\n },\r\n }));\r\n\r\n setDepartmentSelect(data);\r\n }\r\n }\r\n async function _RadioButtonFormType(data: any, key: any) {\r\n if (data) {\r\n setDepartmentSelect({});\r\n }\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n isPublic: data,\r\n DepartmentId:\r\n data === false\r\n ? props.InformationDataProps.templateForm.DepartmentId\r\n : 0,\r\n },\r\n }));\r\n }\r\n async function _CheckboxCpmponents(data: any, key: any) {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n [key]: data,\r\n },\r\n }));\r\n }\r\n async function _InputText(data: any, key: any) {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n [key]: data,\r\n },\r\n }));\r\n }\r\n\r\n function selecteOrTypeListInToAndPass(event: any, type: any) {\r\n let checkValue: boolean = false;\r\n const _value = event.value.map((item: any) => {\r\n if (!(typeof item === \"string\")) {\r\n return item.NameEn;\r\n } else {\r\n return item;\r\n }\r\n });\r\n if (type === \"ToId\") {\r\n let _components = toSelect;\r\n _components = [..._value];\r\n setToName([..._components]);\r\n setToSelect([..._components]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: _components.toString(),\r\n },\r\n }));\r\n } else if (type === \"CcId\") {\r\n let _components = ccSelect;\r\n _components = [..._value];\r\n\r\n setCcName([..._components]);\r\n setCcSelect([..._components]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: _components.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n async function _AutoComplete(data: any, key: any) {\r\n const _value = userData.Lang === \"EN\" ? data.NameEn : data.NameTh;\r\n let checkValue: boolean = false;\r\n\r\n if (key === \"ToId\") {\r\n let _ToArray: any = toName;\r\n _ToArray.filter((_item: any) => {\r\n if (_value === _item) {\r\n checkValue = true;\r\n }\r\n });\r\n _ToArray.push(_value);\r\n setToName([..._ToArray]);\r\n setToSelect([..._ToArray]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: _ToArray.toString(),\r\n },\r\n }));\r\n } else if (key === \"CcId\") {\r\n let _CcArray: any = ccnName;\r\n\r\n _CcArray.filter((_item: any) => {\r\n if (_value === _item) {\r\n checkValue = true;\r\n }\r\n });\r\n _CcArray.push(_value);\r\n setCcName([..._CcArray]);\r\n setCcSelect([..._CcArray]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: _CcArray.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n\r\n const searchAutoComplete = async (event: any) => {\r\n const _employee = employee;\r\n\r\n setTimeout(() => {\r\n let _filteredEmployee;\r\n if (!event.query.trim().length) {\r\n _filteredEmployee = [..._employee];\r\n } else {\r\n _filteredEmployee = _employee.filter((dataemployee: any) => {\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.NameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameTh.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n if (\r\n dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n )\r\n ) {\r\n return dataemployee.PositionNameEn.toLowerCase().includes(\r\n event.query.toLowerCase()\r\n );\r\n }\r\n });\r\n }\r\n\r\n setFilteredAutoComplete(_filteredEmployee);\r\n }, 250);\r\n };\r\n const searchEmployeeEnter = (event: any, key: any) => {\r\n console.log(\"searchEvent\", event);\r\n\r\n let dataSelectEmployee: any[] =\r\n key === \"ToId\" ? [...toSelect] : [...ccSelect];\r\n if (event.length !== 0) {\r\n let _event = {\r\n AccountCode: \"\",\r\n AccountName:\r\n \" \",\r\n CreatedBy: null,\r\n CreatedDate: \"\",\r\n DefaultLang: \"EN\",\r\n DepartmentId: null,\r\n DepartmentNameEn: \"\",\r\n DepartmentNameTh: \"\",\r\n Email: \"\",\r\n EmployeeCode: \"\",\r\n EmployeeId: null,\r\n ExpiredDate: \"\",\r\n IsActive: true,\r\n Lang: \"EN\",\r\n ModifiedBy: \"\",\r\n ModifiedDate: \"\",\r\n NameEn: event,\r\n NameTh: event,\r\n PositionId: null,\r\n PositionNameEn: \"\",\r\n PositionNameTh: \"\",\r\n RegisteredDate: \"\",\r\n ReportToEmpCode: \"\",\r\n SignPicPath: null,\r\n Username: \"\",\r\n };\r\n dataSelectEmployee.push(_event);\r\n console.log(\"dataSelectEmployee\", dataSelectEmployee);\r\n\r\n _AutoComplete(dataSelectEmployee, key === \"ToId\" ? key : \"CcId\");\r\n }\r\n };\r\n const onChangeReportLang = (e: RadioChangeEvent) => {\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ReportLang: e.target.value,\r\n },\r\n }));\r\n };\r\n const customModalStyle = {\r\n padding: \"30px\",\r\n maxHeight: \"20px\",\r\n };\r\n\r\n const filterToCC = (event: any, type: any) => {\r\n if (type === \"to\") {\r\n const filtered = toName.filter((e: any) => e !== event);\r\n setToName([...filtered]);\r\n setToSelect([...filtered]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: filtered.toString(),\r\n },\r\n }));\r\n\r\n Modal.destroyAll();\r\n } else if (type === \"pass\") {\r\n const filtered = ccnName.filter((e: any) => e !== event);\r\n setCcName([...filtered]);\r\n setCcSelect([...filtered]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: filtered.toString(),\r\n },\r\n }));\r\n\r\n Modal.destroyAll();\r\n }\r\n };\r\n const columnsTo: ColumnsType = [\r\n {\r\n title: \"#\",\r\n dataIndex: \"#\",\r\n key: \"#\",\r\n render: (_, record: any, idx: number) => {\r\n return (\r\n <>\r\n
{idx + 1}
\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n render: (_, record: any) => {\r\n return (\r\n <>\r\n
{record}
\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: (\r\n
Action
\r\n ),\r\n key: \"action\",\r\n render: (_, record) => (\r\n
\r\n \r\n }\r\n className=\"set-button-css-ref\"\r\n onClick={() => {\r\n filterToCC(record, \"to\");\r\n }}\r\n />\r\n \r\n
\r\n ),\r\n },\r\n ];\r\n\r\n const columnsCC: ColumnsType = [\r\n {\r\n title: \"#\",\r\n dataIndex: \"#\",\r\n key: \"#\",\r\n render: (_, record: any, idx: number) => {\r\n return (\r\n <>\r\n
{idx + 1}
\r\n \r\n );\r\n },\r\n },\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n render: (_, record: any) => {\r\n return (\r\n <>\r\n
{record}
\r\n \r\n );\r\n },\r\n },\r\n\r\n {\r\n title: (\r\n
Action
\r\n ),\r\n key: \"action\",\r\n render: (_, record) => (\r\n \r\n }\r\n className=\"set-button-css-ref\"\r\n onClick={() => {\r\n filterToCC(record, \"pass\");\r\n }}\r\n />\r\n \r\n ),\r\n },\r\n ];\r\n const showMore = (type: any) => {\r\n Modal.info({\r\n title: (\r\n <>\r\n {type === \"to\" ? (\r\n <>\r\n

\r\n To(เรียนถึง) ทั้งหมด\r\n

\r\n \r\n ) : (\r\n <>\r\n

\r\n CC(สำเนา) ทั้งหมด\r\n

\r\n \r\n )}\r\n \r\n ),\r\n content: (\r\n
\r\n <>\r\n {\" \"}\r\n \r\n \r\n
\r\n ),\r\n style: customModalStyle,\r\n closable: true,\r\n });\r\n };\r\n function insertDataByEnter(event: any, type: any) {\r\n let toArr: any[] = toName;\r\n let ccArr: any[] = ccnName;\r\n\r\n if (!event) {\r\n return;\r\n }\r\n if (type === \"ToId\") {\r\n let auto = event.split(\",\").join(\"\");\r\n toArr.push(auto);\r\n setToName([...toArr]);\r\n setToSelect([...toArr]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n ToId: toArr.toString(),\r\n },\r\n }));\r\n } else if (type === \"CcId\") {\r\n let auto = event.split(\",\").join(\"\");\r\n ccArr.push(auto);\r\n setCcName([...ccArr]);\r\n setCcSelect([...ccArr]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n CcId: ccArr.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n

Information

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

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n option?.value\r\n ?.toString()\r\n .toUpperCase()\r\n .indexOf(inputValue.toUpperCase()) !== -1\r\n }\r\n onChange={(e: any) => {\r\n try {\r\n let _filtered;\r\n let value = e;\r\n if (value === \"\") {\r\n _filtered = props.groupDataTemplate;\r\n } else {\r\n _filtered = props.groupDataTemplate.filter((e: any) => {\r\n return e.value\r\n ?.toLowerCase()\r\n .startsWith(value.toLowerCase());\r\n });\r\n }\r\n\r\n setCategoryFilter([..._filtered]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n GroupTemplateName: value,\r\n },\r\n }));\r\n } catch (error) {\r\n console.log(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n onSelect={(e: any) => {\r\n try {\r\n setCategoryFilter([...props.groupDataTemplate]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n GroupTemplateName: e,\r\n },\r\n }));\r\n } catch (error) {\r\n console.log(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n allowClear\r\n onClear={() => {\r\n setCategoryFilter([...props.groupDataTemplate]);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.InformationDataProps.templateForm,\r\n GroupTemplateName: \"\",\r\n },\r\n }));\r\n }}\r\n />\r\n {props.checkValidation.GroupTemplateName &&\r\n props.InformationDataProps.templateForm.GroupTemplateName\r\n .length === 0 && (\r\n Form Category is required\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.checkValidation.TemplateName &&\r\n props.InformationDataProps.templateForm.TemplateName.length ===\r\n 0 && Form Name is required}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n {props.checkValidation.DocumentCode &&\r\n props.InformationDataProps.templateForm.DocumentCode.length ===\r\n 0 && DocType is required}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n selecteOrTypeListInToAndPass(e, b);\r\n }}\r\n valueProps={isMobile ? toValue : toSelect}\r\n keyProps={\"ToId\"}\r\n onKeyPress={\r\n insertDataByEnter\r\n // searchEmployeeEnter\r\n }\r\n disabledProps={isMobile && toSelect?.length > 3 ? true : false}\r\n />\r\n {isMobile && toSelect.length > 3 && (\r\n {\r\n showMore(\"to\");\r\n }}\r\n >\r\n More({toSelect.length - 3})\r\n \r\n )}\r\n\r\n showModal(\"ToId\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"100%\",\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n selecteOrTypeListInToAndPass(e, b);\r\n }}\r\n valueProps={isMobile ? CCValue : ccSelect}\r\n keyProps={\"CcId\"}\r\n onKeyPress={\r\n insertDataByEnter\r\n // searchEmployeeEnter\r\n }\r\n disabledProps={isMobile && ccSelect?.length > 3 ? true : false}\r\n />\r\n {isMobile && ccSelect.length > 3 && (\r\n {\r\n showMore(\"pass\");\r\n }}\r\n >\r\n More({ccSelect.length - 3})\r\n \r\n )}\r\n\r\n showModal(\"CcId\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: \"100%\",\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n TH\r\n EN\r\n \r\n \r\n
\r\n\r\n \r\n {/* \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n */}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n {/* validatt */}\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \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, { useEffect, useState } from \"react\";\r\nimport { BsNewspaper } from \"react-icons/bs\";\r\nimport {\r\n IoDocumentTextOutline,\r\n IoPeopleOutline,\r\n IoShieldCheckmarkOutline,\r\n IoCloudUploadOutline,\r\n IoNewspaperOutline,\r\n} from \"react-icons/io5\";\r\nimport { FunctionOutlined } from \"@ant-design/icons\";\r\nimport { Button } from \"../../components/Button/Button\";\r\nimport { IoAlertCircleOutline } from \"react-icons/io5\";\r\nimport { IoMdCheckmarkCircleOutline } from \"react-icons/io\";\r\nimport { GetAllDynamic } from \"../../Services/DynamicService\";\r\nimport { log } from \"console\";\r\nimport { GetAllMasterData } from \"../../Services/MasterDataService\";\r\n\r\ninterface Props {\r\n curPage: any;\r\n onSelectView: (text: string) => void;\r\n workList?: any;\r\n isCopy?: any;\r\n isVersion?: any;\r\n}\r\n\r\ntype SideBarData = {\r\n component: any;\r\n};\r\n\r\nexport const TemplateDetailSideBarElement = (props: Props) => {\r\n let [checkMergeApi, setCheckMergeApi] = useState();\r\n const [sideBarData, setSideBarData] = useState([]);\r\n\r\n useEffect(() => {\r\n GetAllMasterData().then((res) => {\r\n const MergeAPI = res.filter(\r\n (e: any) => e.MasterType === \"MergeAPI\" && e.IsActive === true\r\n )[0];\r\n if (MergeAPI) {\r\n checkMergeApi = MergeAPI.Value1.toLowerCase();\r\n }\r\n let isEnabledPDFDesign = res.find(\r\n (e: any) =>\r\n e.MasterType == \"PDFDesign\" &&\r\n e.IsActive == true &&\r\n e.Value1 == \"Enabled\"\r\n );\r\n let _sideBarData: SideBarData[] = [];\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Information\"}\r\n icon={}\r\n page={\"information\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Form Design\"}\r\n icon={}\r\n page={\"form_setting\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Form Logic\"}\r\n icon={}\r\n page={\"form_logic\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Reference Document\"}\r\n icon={}\r\n page={\"reference_document\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Reference Information\"}\r\n icon={}\r\n page={\"reference_information\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Approval Matrix\"}\r\n icon={}\r\n page={\"approval_matrix\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Authorization\"}\r\n icon={}\r\n page={\"authorization\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n if (isEnabledPDFDesign) {\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"PDF Design\"}\r\n icon={}\r\n page={\"pdf_design\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n }\r\n if (!props.isCopy && props.isVersion) {\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Version and History\"}\r\n icon={}\r\n page={\"version_and_history\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n }\r\n if (checkMergeApi) {\r\n _sideBarData.push({\r\n component: (\r\n props.onSelectView(e)}\r\n title={\"Template Logic\"}\r\n icon={}\r\n page={\"template_logic\"}\r\n curPage={props.curPage}\r\n />\r\n ),\r\n });\r\n }\r\n\r\n setCheckMergeApi(checkMergeApi);\r\n setSideBarData([..._sideBarData]);\r\n });\r\n }, [props.curPage, props.isCopy, props.isVersion]);\r\n\r\n return (\r\n \r\n {sideBarData.map((data, idx) => (\r\n
{data.component}
\r\n ))}\r\n \r\n );\r\n};\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\n\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\n\r\ninterface Props {\r\n dataProps?: any;\r\n searchDataProps?: any;\r\n showModalProps?: any;\r\n isDialogVisibleProps?: any;\r\n setisDialogVisibleProps?: any;\r\n keyProps?: any;\r\n onRowSelectProps?: any;\r\n valueProps?: any;\r\n setDataProps?: any;\r\n}\r\n\r\nexport default function EmployeeDialog(props: Props) {\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [userData, setUserData] = useUserContext();\r\n\r\n useEffect(() => {\r\n if (props.isDialogVisibleProps === false) {\r\n setGlobalFilterValue(\"\");\r\n }\r\n }, [props.isDialogVisibleProps]);\r\n const onRowSelect = (event: any) => {\r\n let dataSelectEmployee: any[] = [];\r\n if (props.valueProps !== undefined && props.valueProps !== null) {\r\n dataSelectEmployee = [...props.valueProps];\r\n }\r\n const datafilterEmployee = dataSelectEmployee.filter(\r\n (_data: any) =>\r\n _data.NameEn === event.data.NameEn || _data.NameTh === event.data.NameTh\r\n );\r\n\r\n if (datafilterEmployee.length === 0) {\r\n dataSelectEmployee.push(event.data);\r\n }\r\n\r\n // console.log(\"dataSelectEmployee\", dataSelectEmployee);\r\n // console.log(\"dataSelectEmployee\", event.data);\r\n\r\n props.onRowSelectProps(dataSelectEmployee, props.keyProps);\r\n props.setisDialogVisibleProps(false);\r\n };\r\n const onGlobalFilterChange = async (e: any) => {\r\n const value = e;\r\n const dataEmp = props.dataProps;\r\n\r\n const data = dataEmp.filter((data: any) => {\r\n let findData: any = [];\r\n columns.map((col: any) => {\r\n let field = col?.field;\r\n if (\r\n data.EmployeeCode?.toString()\r\n .toLowerCase()\r\n .indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n findData.push(data);\r\n } else if (\r\n data.NameEn?.toString().toLowerCase().indexOf(value.toLowerCase()) !==\r\n -1\r\n ) {\r\n findData.push(data);\r\n } else if (\r\n data.NameTh?.toString().indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n findData.push(data);\r\n }\r\n });\r\n if (findData?.length > 0) {\r\n return true;\r\n }\r\n });\r\n setGlobalFilterValue(value);\r\n props.setDataProps([...data]);\r\n // if (value.length === 0) {\r\n // props.setDataProps(props.searchDataProps);\r\n // }\r\n };\r\n const renderHeader = () => {\r\n return (\r\n
\r\n }\r\n setClassNameSpanProps={\"p-input-icon-left set-span-search-dialog \"}\r\n />\r\n
\r\n );\r\n };\r\n const columns = [\r\n {\r\n field: \"EmployeeCode\",\r\n headerEn: \"EmployeeCode\",\r\n headerTh: \"รหัสพนักงาน\",\r\n },\r\n {\r\n field: \"NameEn\",\r\n headerEn: \"Name\",\r\n headerTh: \"ชื่อ\",\r\n },\r\n {\r\n field: \"PositionNameEn\",\r\n headerEn: \"Position\",\r\n headerTh: \"ตำแหน่ง\",\r\n },\r\n {\r\n field: \"DepartmentNameEn\",\r\n headerEn: \"Department\",\r\n headerTh: \"หน่วยงาน\",\r\n },\r\n ];\r\n const dynamicColumns = columns.map((col, i) => {\r\n return (\r\n \r\n
\r\n \r\n }\r\n body={(rowData) => {\r\n console.log(\"data2\", rowData);\r\n if (rowData.Lang !== undefined) {\r\n if (userData.Lang === \"EN\") {\r\n let newField = col.field.replace(\"Th\", \"En\");\r\n return rowData[newField];\r\n } else {\r\n let newField = col.field.replace(\"En\", \"Th\");\r\n return rowData[newField];\r\n }\r\n } else {\r\n return rowData[col.field];\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 sortable\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n > */}\r\n {dynamicColumns}\r\n \r\n \r\n \r\n );\r\n}\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\nimport { DropdownComponents } from \"../../../DropdownComponents/DropdownComponents\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ninterface Props {\r\n departmentListProps?: any;\r\n setValueProps?: any;\r\n keyProps?: any;\r\n departmentRequestProp?: any;\r\n departmentManageProp?: any;\r\n}\r\n\r\nexport const AuthorizationTableDepartment = (props: Props) => {\r\n const [departmentSelect, setDepartmentSelect] = useState({});\r\n const [departmentPlaceholderDropdown, setDepartmentPlaceholderDropdown] =\r\n useState([]);\r\n useEffect(() => {\r\n gatPlaceholder();\r\n console.log(\"props.departmentListProps\", props.departmentListProps);\r\n }, [departmentSelect]);\r\n\r\n function gatPlaceholder() {\r\n let _array: any = [];\r\n let _arrayNull: any = [];\r\n if (\r\n props.keyProps === \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ) {\r\n props.departmentListProps.map((data: any) => {\r\n let _departmentManageFilter = props.departmentRequestProp.filter(\r\n (_department: any) => {\r\n if (_department.depID === data.DepartmentId.toString()) {\r\n _array.push({\r\n depID: _department.depID,\r\n placeholder: _department.depaction,\r\n });\r\n }\r\n }\r\n );\r\n });\r\n if (props.departmentListProps.length !== _array.length) {\r\n props.departmentListProps.map((_dataMap: any) => {\r\n let _arrayFilter = _array.filter(\r\n (_dataFilter: any) =>\r\n _dataFilter.depID === _dataMap.DepartmentId.toString()\r\n );\r\n\r\n if (_arrayFilter.length === 0) {\r\n _arrayNull.push({ placeholder: \"-- Please Select --\" });\r\n } else {\r\n _arrayNull.push(_arrayFilter[0]);\r\n }\r\n });\r\n }\r\n } else {\r\n props.departmentListProps.map((data: any) => {\r\n let _departmentManageFilter = props.departmentManageProp.filter(\r\n (_department: any) => {\r\n if (_department.depID === data.DepartmentId.toString()) {\r\n _array.push({\r\n depID: _department.depID,\r\n placeholder: _department.depaction,\r\n });\r\n }\r\n }\r\n );\r\n });\r\n if (props.departmentListProps.length !== _array.length) {\r\n props.departmentListProps.map((_dataMap: any) => {\r\n let _arrayFilter = _array.filter(\r\n (_dataFilter: any) =>\r\n _dataFilter.depID === _dataMap.DepartmentId.toString()\r\n );\r\n if (_arrayFilter.length === 0) {\r\n _arrayNull.push({ placeholder: \"-- Please Select --\" });\r\n } else {\r\n _arrayNull.push(_arrayFilter[0]);\r\n }\r\n });\r\n }\r\n }\r\n\r\n setDepartmentPlaceholderDropdown(_arrayNull);\r\n }\r\n const onClickAction = (event: any) => {\r\n // let _event: any = event;\r\n // const dataFilter = props.valueProps.filter((item: any) => _event !== item);\r\n // props.setValueProps(dataFilter, props.keyProps);\r\n };\r\n const _setDepartmentSelect = (event: any, key: any) => {\r\n if (key !== undefined && key !== null) {\r\n let _event = {\r\n depID: event.DepartmentId.toString(),\r\n depname: event.NameTh,\r\n depaction: key.Position,\r\n };\r\n console.log(\"_event\", _event);\r\n\r\n props.setValueProps(_event, props.keyProps);\r\n setDepartmentSelect(event);\r\n }\r\n // let _event: any = event;\r\n // const dataFilter = props.valueProps.filter((item: any) => _event !== item);\r\n // props.setValueProps(dataFilter, props.keyProps);\r\n };\r\n function actionBodyTemplate(rowData: any, inx: any) {\r\n return (\r\n <>\r\n rowData.rowIndex\r\n // ? props.departmentRequestProp[inx.rowIndex].depaction\r\n // : \"-- Please Select --\"\r\n // : inx.rowIndex < props.departmentManageProp.length\r\n // ? props.departmentRequestProp[inx.rowIndex].depaction\r\n // : \"-- eeee --\"\r\n // \"-- Please Select --\"\r\n // props.departmentRequestProp[inx.rowIndex].depaction ===\r\n // undefined\r\n // ? \"-- Please Select --\"\r\n // : props.departmentRequestProp[inx.rowIndex].depaction\r\n // : props.departmentManageProp[inx.rowIndex].depaction === undefined\r\n // ? \"-- Please Select --\"\r\n // : props.departmentManageProp[inx.rowIndex].depaction\r\n // \"-- Please Select --\"\r\n }\r\n onChangeProps={(e: any) => _setDepartmentSelect(rowData, e)}\r\n optionLabelProps=\"Position\"\r\n optionsProps={[{ Position: \"Above\" }, { Position: \"Below\" }]}\r\n valueProps={\r\n props.keyProps === \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ? props.departmentRequestProp\r\n : props.departmentManageProp\r\n }\r\n keyProps={\"Department\"}\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 headerStyle={{ width: \"5rem\" }}\r\n body={actionBodyTemplate}\r\n >\r\n \r\n \r\n );\r\n};\r\n","import { Checkbox } from \"primereact/checkbox\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { DropdownComponents } from \"../../../DropdownComponents/DropdownComponents\";\r\nimport { InputTextComponents } from \"../../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { AuthorizationTableDepartment } from \"../AuthorizationTable/AuthorizationTable\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\ninterface PropsDepartment {\r\n visibleProps?: any;\r\n setVisibleProps?: any;\r\n setControlModel?: any;\r\n departmentListProps?: any;\r\n keyProps?: any;\r\n departmentRequestProp?: any;\r\n departmentManageProp?: any;\r\n}\r\ninterface PropsPermission {\r\n visibleProps?: any;\r\n setVisibleProps?: any;\r\n keyAutoComplete?: any;\r\n roleData?: any;\r\n setDataTable?: any;\r\n companyData?: any;\r\n departmentListProps?: any;\r\n controlModel?: any;\r\n advanceFormProps?: any;\r\n actionProps?: any;\r\n setDataAuthorization_view?: any;\r\n setDataAuthorization_viewEdit?: any;\r\n\r\n editTablePermissionProps?: any;\r\n}\r\ninterface PropsPermissionEdit {\r\n visibleProps?: any;\r\n setVisibleProps?: any;\r\n keyAutoComplete?: any;\r\n // roleData?: any;\r\n // setDataTable?: any;\r\n // companyData?: any;\r\n // departmentListProps?: any;\r\n // controlModel?: any;\r\n // advanceFormProps?: any;\r\n // actionProps?: any;\r\n // setDataAuthorization_view?: any;\r\n // editTablePermissionProps?: any;\r\n}\r\n\r\nexport const AuthorizationDepartmentModel = (props: PropsDepartment) => {\r\n const [filters, setFilters] = useState();\r\n const [departmentList, setDepartmentList] = useState();\r\n const [departmentSelectManage, setDepartmentSelectManage] = useState();\r\n const [departmentSelectRequest, setDepartmentSelectRequest] = useState(\r\n []\r\n );\r\n useEffect(() => {\r\n setDepartmentSelectManage(props.departmentManageProp);\r\n setDepartmentSelectRequest(props.departmentRequestProp);\r\n }, [props.departmentManageProp, props.departmentRequestProp]);\r\n\r\n useEffect(() => {\r\n if (\r\n props.departmentManageProp === undefined ||\r\n props.departmentManageProp === null\r\n ) {\r\n } else {\r\n setDepartmentSelectManage(props.departmentManageProp);\r\n }\r\n if (\r\n props.departmentManageProp === undefined ||\r\n props.departmentManageProp === null\r\n ) {\r\n } else {\r\n setDepartmentSelectRequest(props.departmentRequestProp);\r\n }\r\n\r\n setDepartmentList(props.departmentListProps);\r\n setFilters(props.departmentListProps);\r\n }, [\r\n props.departmentListProps,\r\n props.departmentManageProp,\r\n props.departmentManageProp,\r\n ]);\r\n\r\n const renderFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={() => onHide()}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n const onSave = () => {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [props.keyProps]:\r\n props.keyProps == \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ? departmentSelectRequest\r\n : departmentSelectManage,\r\n }));\r\n props.setVisibleProps();\r\n };\r\n const onHide = () => {\r\n setDepartmentSelectManage(props.departmentManageProp);\r\n setDepartmentSelectRequest(props.departmentRequestProp);\r\n props.setVisibleProps();\r\n };\r\n\r\n const AuthorizationTableData = (data: any, key: any) => {\r\n if (\r\n key == \"Authorization_request_department\" ||\r\n props.keyProps === \"Authorization_request_department\"\r\n ) {\r\n let _data: any = [...departmentSelectRequest];\r\n let _dataFilter = _data.filter((item: any) => item.depID === data.depID);\r\n if (_dataFilter.length === 0) {\r\n _data.push(data);\r\n } else {\r\n _data.map((_dataMap: any) => {\r\n if (_dataMap.depID === data.depID) {\r\n _dataMap.depaction = data.depaction;\r\n }\r\n });\r\n }\r\n setDepartmentSelectRequest(_data);\r\n } else {\r\n let _data: any = [...departmentSelectManage];\r\n // _data.push(data);\r\n let _dataFilter = _data.filter((item: any) => item.depID === data.depID);\r\n\r\n if (_dataFilter.length === 0) {\r\n _data.push(data);\r\n } else {\r\n _data.map((_dataMap: any) => {\r\n if (_dataMap.depID === data.depID) {\r\n _dataMap.depaction = data.depaction;\r\n }\r\n });\r\n } // _data.map((_dataDepart: any) => {\r\n // console.log(\"_dataDepart\", _dataDepart);\r\n // });\r\n\r\n setDepartmentSelectManage(_data);\r\n }\r\n\r\n // _ReferenceDocumentDialog(\r\n // props.TableTemplateSelectedProps.listRefTemplate,\r\n // \"listRefTemplate\"\r\n // );\r\n // _ReferenceDocumentDialog(\r\n // props.TableTemplateSelectedProps.templateForm,\r\n // \"templateForm\"\r\n // );\r\n // props.setVisibleProps();\r\n };\r\n\r\n const onGlobalFilterTemplate = (data: any, inx: any) => {\r\n const value = data;\r\n const _Arrayfilters: any = [];\r\n let _filters = { ...filters };\r\n for (const [key, value] of Object.entries(_filters)) {\r\n _Arrayfilters.push(value);\r\n }\r\n const _dataFilter = _Arrayfilters.filter((data: any) => {\r\n if (\r\n data.NameEn.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.NameTh.toLowerCase().indexOf(value.toLowerCase()) !== -1 ||\r\n data.DepartmentCode.toLowerCase().indexOf(value.toLowerCase()) !== -1\r\n ) {\r\n return true;\r\n }\r\n });\r\n if (data.length === 0) {\r\n setDepartmentList(props.departmentListProps);\r\n } else {\r\n setDepartmentList(_dataFilter);\r\n }\r\n };\r\n const [globalFilterValueTemplate, setGlobalFilterValueTemplate] = useState();\r\n return (\r\n <>\r\n onHide()}\r\n className=\"referenceDocumentDialog-dialog\"\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n style={{ width: \"70vw\" }}\r\n footer={renderFooter()}\r\n >\r\n
\r\n \r\n
\r\n

\r\n Search Department\r\n

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

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\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 AuthorizationPermissionModel = (props: PropsPermission) => {\r\n const [permissionType, setPermissionType] = useState([]);\r\n const [role, setRole] = useState([]);\r\n const [roleName, setRoleName] = useState([]);\r\n const [advanceFormLabalSelect, setAdvanceFormLabalSelect] = useState([]);\r\n const [valueType, setValueType] = useState({\r\n ValueType: \"Information\",\r\n });\r\n const [informition, setInformition] = useState({\r\n Informition: \"Employee Code\",\r\n });\r\n\r\n const [company, setCompany] = useState([]);\r\n const [department, setDepartment] = useState([]);\r\n const [departmentName, setDepartmentName] = useState([]);\r\n const [companyAction, setCompanyAction] = useState([]);\r\n const [companyActionEdit, setCompanyActionEdit] = useState(\"\");\r\n const [advanceFormLabal, setAdvanceFormLabal] = useState([]);\r\n const [validation, setValidation] = useState({\r\n RoleValidation: false,\r\n DepartmentValidation: false,\r\n CompanyValidation: false,\r\n });\r\n // const [advanceFormLabal, setValueType] = useState([]);\r\n\r\n useEffect(() => {\r\n if (props.editTablePermissionProps !== undefined) {\r\n if (props.editTablePermissionProps.length !== 0) {\r\n if (props.editTablePermissionProps.permissiontype === \"Role\") {\r\n let arrayRole: any = [];\r\n props.editTablePermissionProps.ids.map((data: any) => {\r\n let dataRole = props.roleData.filter(\r\n (item: any) => data.id === item.RoleId.toString()\r\n );\r\n\r\n if (dataRole.length !== 0) {\r\n arrayRole.push(dataRole[0]);\r\n }\r\n });\r\n setRole(arrayRole);\r\n }\r\n if (props.editTablePermissionProps.permissiontype === \"Department\") {\r\n let arrayRole: any = [];\r\n let arrayDepartment: any = [];\r\n // let arrayRole: any = [];\r\n props.editTablePermissionProps.company?.map((data: any) => {\r\n let dataRole = props.companyData.filter(\r\n (item: any) => data.id === item.CompanyId.toString()\r\n );\r\n\r\n if (dataRole.length !== 0) {\r\n arrayRole.push(dataRole[0]);\r\n }\r\n });\r\n props.editTablePermissionProps.ids.map((data: any) => {\r\n let dataRole = props.departmentListProps.filter(\r\n (item: any) => data.id === item.DepartmentId.toString()\r\n );\r\n if (dataRole.length !== 0) {\r\n arrayDepartment.push(dataRole[0]);\r\n }\r\n setCompanyActionEdit(data.action);\r\n });\r\n\r\n setDepartment(arrayDepartment);\r\n setCompany(arrayRole);\r\n }\r\n if (props.editTablePermissionProps.permissiontype === \"FormControl\") {\r\n let arrayRole: any = [];\r\n let arrayDepartment: any = [];\r\n console.log(\r\n \"props.editTablePermissionPropseeeeeeeeeeeeee\",\r\n props.editTablePermissionProps,\r\n advanceFormLabalSelect,\r\n props.actionProps\r\n );\r\n let _arrayAdvanceFormLabal: any = [];\r\n let _advanceFormJson =\r\n props.controlModel.templateForm.AdvanceForm === undefined ||\r\n props.controlModel.templateForm.AdvanceForm === null ||\r\n props.controlModel.templateForm.AdvanceForm.length === 0\r\n ? []\r\n : props.controlModel.templateForm.IsTextForm &&\r\n props.controlModel.templateForm.AdvanceForm[\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n ] === \",\"\r\n ? JSON.parse(\r\n remove_character(\r\n props.controlModel.templateForm.AdvanceForm,\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n )\r\n )\r\n : JSON.parse(props.controlModel.templateForm.AdvanceForm);\r\n _advanceFormJson.items?.map((_data: any) => {\r\n _data.layout.map((__data: any) => {\r\n if (\r\n __data.template.type === \"t\" ||\r\n __data.template.type === \"ta\" ||\r\n __data.template.type === \"d\" ||\r\n __data.template.type === \"tb\" ||\r\n __data.template.type === \"c\"\r\n ) {\r\n if (__data.template.type !== \"tb\") {\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n });\r\n } else if (\r\n __data.template.type === \"tb\" &&\r\n __data.template.label.length !== 0\r\n ) {\r\n let _arrayColumn: any = [];\r\n\r\n __data.template.attribute.column.map((data: any) => {\r\n _arrayColumn.push({ label: data.label });\r\n });\r\n\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n column: _arrayColumn,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n // props.editTablePermissionProps.company.map((data: any) => {\r\n // let dataRole = props.companyData.filter(\r\n // (item: any) => data.id === item.CompanyId.toString()\r\n // );\r\n\r\n // if (dataRole.length !== 0) {\r\n // arrayRole.push(dataRole[0]);\r\n // }\r\n // });\r\n // props.editTablePermissionProps.ids.map((data: any) => {\r\n // let dataRole = props.departmentListProps.filter(\r\n // (item: any) => data.id === item.DepartmentId.toString()\r\n // );\r\n // if (dataRole.length !== 0) {\r\n // arrayDepartment.push(dataRole[0]);\r\n // }\r\n // setCompanyActionEdit(data.action);\r\n // });\r\n\r\n // setDepartment(arrayDepartment);\r\n // setCompany(arrayRole);\r\n let _Informition: any = informition;\r\n if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeCode\"\r\n ) {\r\n _Informition.Information = \"Employee Code\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeName\"\r\n ) {\r\n _Informition.Information = \"Employee Name\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeePosition\"\r\n ) {\r\n _Informition.Information = \"Employee Position\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeDivision\"\r\n ) {\r\n _Informition.Information = \"Employee Division\";\r\n } else if (\r\n props.editTablePermissionProps.formcontrol.labelInformition ===\r\n \"EmployeeDepartment\"\r\n ) {\r\n _Informition.Informition = \"Employee Department\";\r\n }\r\n\r\n setInformition({ ..._Informition });\r\n // if(props.editTablePermissionProps.formcontrol.labeltype===\"Table\")\r\n // { setAdvanceFormLabalSelect((prevState: any) => ({\r\n // ...prevState,\r\n // label: props.editTablePermissionProps.formcontrol.label,\r\n // type: props.editTablePermissionProps.formcontrol.labeltype,\r\n // column: _arrayAdvanceFormLabal,\r\n // }));}else{\r\n // setAdvanceFormLabalSelect((prevState: any) => ({\r\n // ...prevState,\r\n // label: props.editTablePermissionProps.formcontrol.label,\r\n // type: props.editTablePermissionProps.formcontrol.labeltype,\r\n // column: _arrayAdvanceFormLabal,\r\n // }));\r\n // }\r\n console.log(\r\n \"props.editTablePermissionProps0,props.editTablePermissionProps\",\r\n props.editTablePermissionProps,\r\n props.actionProps,\r\n advanceFormLabalSelect,\r\n _arrayAdvanceFormLabal\r\n );\r\n }\r\n\r\n setPermissionType(props.editTablePermissionProps);\r\n }\r\n }\r\n }, [props.editTablePermissionProps]);\r\n\r\n useEffect(() => {\r\n if (props.editTablePermissionProps.length === 0) {\r\n setPermissionType([]);\r\n setRole([]);\r\n setRoleName([]);\r\n setCompany([]);\r\n setDepartment([]);\r\n setDepartmentName([]);\r\n setCompanyAction([]);\r\n }\r\n\r\n if (props.actionProps === \"edit\") {\r\n console.log(\r\n \"props.controlModel.templateForm\",\r\n props.controlModel.templateForm.IsTextForm\r\n );\r\n\r\n console.log(\r\n \"props.controlModel.templateForm\",\r\n props.controlModel.templateForm.AdvanceForm[\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n ]\r\n );\r\n\r\n let _advanceFormJson =\r\n props.controlModel.templateForm.AdvanceForm === undefined ||\r\n props.controlModel.templateForm.AdvanceForm === null ||\r\n props.controlModel.templateForm.AdvanceForm.length === 0\r\n ? []\r\n : props.controlModel.templateForm.IsTextForm &&\r\n props.controlModel.templateForm.AdvanceForm[\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n ] === \",\"\r\n ? JSON.parse(\r\n remove_character(\r\n props.controlModel.templateForm.AdvanceForm,\r\n props.controlModel.templateForm.AdvanceForm.length - 3\r\n )\r\n )\r\n : JSON.parse(props.controlModel.templateForm.AdvanceForm);\r\n if (_advanceFormJson.length !== 0) {\r\n _advanceForm(_advanceFormJson);\r\n }\r\n } else {\r\n if (props.advanceFormProps.items.length !== 0) {\r\n _advanceForm(props.advanceFormProps);\r\n }\r\n }\r\n }, [props.visibleProps]);\r\n\r\n useEffect(() => {\r\n console.log(\"per=>PermissionType\", permissionType);\r\n }, [permissionType]);\r\n\r\n function remove_character(str: any, char_pos: any) {\r\n let part1 = str.substring(0, char_pos);\r\n let part2 = str.substring(char_pos + 1, str.length);\r\n return part1 + part2;\r\n }\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n function _advanceForm(data: any) {\r\n try {\r\n let _arrayAdvanceFormLabal: any = [];\r\n data.items.map((_data: any) => {\r\n // dataitems.template.type === \"dd\"\r\n // ? \"Dropdown\"\r\n // : dataitems.template.type === \"tb\"\r\n // ? \"Table\"\r\n // : dataitems.template.type === \"t\"\r\n // ? \"ShortText\"\r\n // : dataitems.template.type === \"d\"\r\n // ? \"Calendar\"\r\n // : dataitems.template.type === \"at\"\r\n // ? \"Attachmen\"\r\n // : dataitems.template.type === \"ta\"\r\n // ? \"MultiLine\"\r\n // : dataitems.template.type === \"c\"\r\n // ? \"Decimal\"\r\n // : dataitems.template.type === \"r\"\r\n // ? \"Choice\"\r\n // : dataitems.template.type === \"cb\"\r\n // ? \"MultiChoice\"\r\n // : dataitems.template.type === \"n\"\r\n // ? \"Number\"\r\n // : dataitems.template.type === \"an\"\r\n // ? \"AutoNumber\"\r\n // : dataitems.template.type === \"ed\"\r\n _data.layout.map((__data: any) => {\r\n if (\r\n __data.template.type === \"t\" ||\r\n __data.template.type === \"ta\" ||\r\n __data.template.type === \"tb\" ||\r\n __data.template.type === \"c\" ||\r\n __data.template.type === \"dd\" ||\r\n __data.template.type === \"d\" ||\r\n __data.template.type === \"at\" ||\r\n __data.template.type === \"r\" ||\r\n __data.template.type === \"cb\" ||\r\n __data.template.type === \"n\" ||\r\n __data.template.type === \"an\" ||\r\n __data.template.type === \"ed\"\r\n ) {\r\n if (__data.template.type !== \"tb\") {\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n });\r\n } else if (\r\n __data.template.type === \"tb\" &&\r\n __data.template.label.length !== 0\r\n ) {\r\n let _arrayColumn: any = [];\r\n\r\n __data.template.attribute.column.map((data: any) => {\r\n _arrayColumn.push({ label: data.label });\r\n });\r\n\r\n _arrayAdvanceFormLabal.push({\r\n label: __data.template.label,\r\n type: __data.template.type,\r\n column: _arrayColumn,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n // console.log(\"_arrayAdvanceFormLabal\", _arrayAdvanceFormLabal);\r\n console.log(\"_arrayAdvanceFormLabal\", _arrayAdvanceFormLabal);\r\n if (props.editTablePermissionProps.permissiontype === \"FormControl\") {\r\n let tableFilter = _arrayAdvanceFormLabal.filter(\r\n (item: any) =>\r\n item.label === props.editTablePermissionProps.formcontrol.label\r\n );\r\n if (tableFilter.length !== 0) {\r\n setAdvanceFormLabalSelect(tableFilter[0]);\r\n }\r\n }\r\n setAdvanceFormLabal(_arrayAdvanceFormLabal);\r\n } catch (error) {}\r\n }\r\n\r\n const renderFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={() => onHide()}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n const onSave = () => {\r\n if (props.editTablePermissionProps.length === 0) {\r\n let _arrayRolePermission: any = [];\r\n if (\r\n permissionType !== undefined &&\r\n permissionType !== null &&\r\n Object.keys(permissionType).length !== 0\r\n ) {\r\n if (permissionType.Permission.View === \"T\") {\r\n _arrayRolePermission.push(\"View\");\r\n }\r\n if (permissionType.Permission.Print === \"T\") {\r\n _arrayRolePermission.push(\"Print\");\r\n }\r\n if (permissionType.Permission.Copy === \"T\") {\r\n _arrayRolePermission.push(\"Copy\");\r\n }\r\n if (permissionType.permissiontype === \"Public\") {\r\n let _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description: \"\",\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n props.setDataTable(_objTable);\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n props.setVisibleProps(props.keyAutoComplete);\r\n }\r\n if (permissionType.permissiontype === \"Role\") {\r\n console.log(\"permissionType\", permissionType);\r\n if (\r\n permissionType.ids !== undefined &&\r\n permissionType.ids !== null &&\r\n permissionType.ids.length !== 0\r\n ) {\r\n let _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description: roleName.length === 0 ? \"\" : roleName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n props.setDataTable(_objTable);\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n props.setVisibleProps(props.keyAutoComplete);\r\n } else {\r\n setValidation((prevState: any) => ({\r\n ...prevState,\r\n RoleValidation: true,\r\n }));\r\n // setValidation({\r\n // RoleValidation:false,\r\n // DepartmentValidation:false,\r\n // CompanyValidation:false\r\n // })\r\n }\r\n }\r\n if (permissionType.permissiontype === \"Department\") {\r\n console.log(\"permissionType\", permissionType);\r\n if (\r\n permissionType.company !== undefined &&\r\n permissionType.company !== null &&\r\n permissionType.company.length !== 0 &&\r\n permissionType.ids !== undefined &&\r\n permissionType.ids !== null &&\r\n permissionType.ids.length !== 0\r\n ) {\r\n let _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description:\r\n departmentName.length === 0 ? \"\" : departmentName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n props.setDataTable(_objTable);\r\n props.setVisibleProps(props.keyAutoComplete);\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n } else {\r\n setValidation({\r\n DepartmentValidation:\r\n permissionType.ids === undefined ||\r\n permissionType.ids === null ||\r\n permissionType.ids.length === 0\r\n ? true\r\n : false,\r\n CompanyValidation:\r\n permissionType.company === undefined ||\r\n permissionType.company === null ||\r\n permissionType.company.length === 0\r\n ? true\r\n : false,\r\n });\r\n // setValidation({\r\n // RoleValidation:false,\r\n // DepartmentValidation:false,\r\n // CompanyValidation:false\r\n // })\r\n }\r\n }\r\n if (permissionType.permissiontype === \"FormControl\") {\r\n let _objTable;\r\n if (permissionType.formcontrol.labeltype === \"Table\") {\r\n _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description:\r\n \"label:\" +\r\n permissionType.formcontrol.label +\r\n \" columnname: \" +\r\n permissionType.formcontrol.labelcolumnname +\r\n \" type:\" +\r\n permissionType.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n permissionType.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n permissionType.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n } else {\r\n _objTable = {\r\n Type: permissionType.permissiontype,\r\n Description:\r\n \"label:\" +\r\n permissionType.formcontrol.label +\r\n \" type:\" +\r\n permissionType.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n permissionType.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n permissionType.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n }\r\n props.setDataAuthorization_view(\r\n permissionType,\r\n props.keyAutoComplete\r\n );\r\n console.log(\"_objTable\", { _objTable, permissionType });\r\n\r\n props.setDataTable(_objTable);\r\n props.setVisibleProps(props.keyAutoComplete);\r\n }\r\n }\r\n } else {\r\n let dataFile = props.controlModel;\r\n if (permissionType.permissiontype === \"Role\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n if (permissionType.permissiontype === \"Department\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n if (permissionType.permissiontype === \"FormControl\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n if (permissionType.permissiontype === \"Public\") {\r\n dataFile.Authorization_view.map((data: any, inx: any) => {\r\n if (data.id === props.editTablePermissionProps.id) {\r\n dataFile.Authorization_view[inx] = permissionType;\r\n }\r\n });\r\n }\r\n\r\n props.setVisibleProps(props.keyAutoComplete);\r\n props.setDataAuthorization_viewEdit(dataFile, \"Authorization_view\");\r\n }\r\n };\r\n const onHide = () => {\r\n props.setVisibleProps(props.keyAutoComplete);\r\n setPermissionType([]);\r\n setRole([]);\r\n setRoleName([]);\r\n setCompany([]);\r\n setDepartment([]);\r\n setDepartmentName([]);\r\n setCompanyAction([]);\r\n setAdvanceFormLabalSelect({});\r\n };\r\n\r\n function onChangeDropdow(data: any, key: any) {\r\n let _uuid = uuidv4().replace(/-/g, \"\");\r\n\r\n if (data !== null && data !== undefined) {\r\n data.id = _uuid.toString();\r\n setPermissionType(data);\r\n }\r\n }\r\n function onChangeDropdowLable(data: any, key: any) {\r\n console.log(\"dataaaaaaaaaaaaaaaa\", data);\r\n if (data !== undefined && data !== null) {\r\n console.log(\"dataaaaaaaaaaaaaaaa\", data);\r\n\r\n setAdvanceFormLabalSelect(data);\r\n\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n formcontrol: {\r\n ...permissionType.formcontrol,\r\n label: data.label,\r\n labeltype:\r\n data.type === \"dd\"\r\n ? \"Dropdown\"\r\n : data.type === \"tb\"\r\n ? \"Table\"\r\n : data.type === \"t\"\r\n ? \"ShortText\"\r\n : data.type === \"d\"\r\n ? \"Calendar\"\r\n : data.type === \"at\"\r\n ? \"Attachmen\"\r\n : data.typee === \"r\"\r\n ? \"Radio\"\r\n : data.type === \"c\"\r\n ? \"Decimal\"\r\n : \"\",\r\n\r\n labelcolumnname: \"\",\r\n },\r\n }));\r\n }\r\n }\r\n function onChangeDropdowColumnname(data: any, key: any) {\r\n if (data !== undefined && data !== null) {\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n formcontrol: {\r\n ...permissionType.formcontrol,\r\n labelcolumnname: data.label,\r\n },\r\n }));\r\n }\r\n }\r\n function onChangeDropdowValueType(data: any, key: any) {\r\n if (data !== null && data !== undefined) {\r\n setValueType(data);\r\n }\r\n // setValueType(data);\r\n }\r\n function onChangeDropdowInformition(data: any, key: any) {\r\n if (data !== null && data !== undefined) {\r\n setInformition({ ...data });\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n formcontrol: {\r\n ...permissionType.formcontrol,\r\n labelInformition: data.Informition.replaceAll(\" \", \"\"),\r\n },\r\n }));\r\n }\r\n }\r\n function _Role(data: any, key: any) {\r\n if (key === \"RoleID\") {\r\n let _arrayRole: any = [];\r\n let _arrayRoleName: any = [];\r\n let _arrayRolePermission: any = [];\r\n data.map((_dataRole: any) => {\r\n _arrayRole.push({\r\n id: _dataRole.RoleId.toString(),\r\n name: _dataRole.NameEn,\r\n });\r\n _arrayRoleName.push(_dataRole.NameEn);\r\n });\r\n setRoleName(_arrayRoleName);\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayRole,\r\n }));\r\n setRole(data);\r\n setValidation((prevState: any) => ({\r\n ...prevState,\r\n RoleValidation: false,\r\n }));\r\n }\r\n }\r\n function _Company(data: any, key: any) {\r\n let _arrayCompany: any = [];\r\n data.map((_dataCompany: any) => {\r\n _arrayCompany.push({\r\n id: _dataCompany.CompanyId.toString(),\r\n name: _dataCompany.NameEn,\r\n });\r\n });\r\n setCompany(data);\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n company: _arrayCompany,\r\n }));\r\n }\r\n function _department(data: any, key: any) {\r\n let _arrayDepartment: any = [];\r\n let _arrayDepartmentName: any = [];\r\n console.log(\"per=>data\", data);\r\n\r\n data.map((_department: any) => {\r\n _arrayDepartment.push({\r\n id: _department.DepartmentId.toString(),\r\n name: _department.NameEn,\r\n action: \"\",\r\n });\r\n _arrayDepartmentName.push(_department.NameEn);\r\n });\r\n setValidation({\r\n CompanyValidation: false,\r\n });\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayDepartment,\r\n }));\r\n setDepartmentName(_arrayDepartmentName);\r\n setDepartment(data);\r\n\r\n // setCompany(data);\r\n }\r\n\r\n function getPermissionTypeOptions(data: any, key: any) {\r\n let _arrayDepartment: any = [];\r\n let _arrayDepartmentName: any = [];\r\n props.departmentListProps.map((_department: any) => {\r\n _arrayDepartment.push({\r\n id: _department.DepartmentId.toString(),\r\n name: _department.NameEn,\r\n action: \"\",\r\n });\r\n _arrayDepartmentName.push(_department.NameEn);\r\n });\r\n\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayDepartment,\r\n }));\r\n }\r\n\r\n function _Action(data: any, key: any) {\r\n let _arrayDepartment: any = [];\r\n let _arrayDepartmentName: any = [];\r\n console.log(\"per=>data\", data);\r\n console.log(\"per=>permissionType\", permissionType);\r\n\r\n setCompanyAction(data);\r\n department.map((_department: any) => {\r\n _arrayDepartment.push({\r\n id: _department.DepartmentId.toString(),\r\n name:\r\n data === undefined || data === null\r\n ? _department.NameEn\r\n : _department.NameEn,\r\n action: data === undefined || data === null ? \"\" : data.Position,\r\n });\r\n _arrayDepartmentName.push(\r\n data === undefined || data === null\r\n ? _department.NameEn\r\n : _department.NameEn + \" | \" + data.Position\r\n );\r\n });\r\n\r\n setDepartmentName(_arrayDepartmentName);\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n ids: _arrayDepartment,\r\n }));\r\n }\r\n async function _CheckboxCpmponents(data: any, key: any) {\r\n setPermissionType((prevState: any) => ({\r\n ...prevState,\r\n Permission: {\r\n ...permissionType.Permission,\r\n [key]: data === true ? \"T\" : \"F\",\r\n },\r\n }));\r\n }\r\n const InformationValue = [\r\n { Informition: \"EmployeeCode\" },\r\n { Informition: \"EmployeeName\" },\r\n { Informition: \"EmployeePosition\" },\r\n { Informition: \"EmployeeDivision\" },\r\n { Informition: \"EmployeeDepartment\" },\r\n ];\r\n return (\r\n <>\r\n {\r\n // onHide()\r\n }}\r\n onClick={() => console.log(\"informition\", informition)}\r\n className=\"referenceDocumentDialog-dialog\"\r\n breakpoints={{ \"960px\": \"75vw\" }}\r\n style={{ width: \"70vw\" }}\r\n footer={renderFooter()}\r\n >\r\n {\r\n console.log(\"per=>\", { informition });\r\n }}\r\n >\r\n \r\n
\r\n

\r\n Add Permission\r\n

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

\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {permissionType?.permissiontype === \"Role\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Role(e.value, \"RoleID\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select Role --\"\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor: validation.RoleValidation ? \"red\" : \"\",\r\n }}\r\n />\r\n \r\n \r\n \r\n )}\r\n {permissionType?.permissiontype === \"FormControl\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {advanceFormLabalSelect !== undefined &&\r\n advanceFormLabalSelect !== null ? (\r\n Object.keys(advanceFormLabalSelect).length !== 0 ? (\r\n advanceFormLabalSelect.column !== undefined &&\r\n advanceFormLabalSelect.column !== null ? (\r\n advanceFormLabalSelect.column.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 )\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {/* {\r\n console.log(\"per=>data\", data);\r\n console.log(\"per=>informition\", informition);\r\n }}\r\n style={{\r\n width: \"100%\",\r\n borderRadius: \"6px 6px 6px 6px\",\r\n }}\r\n options={[\r\n \"Employee Code\",\r\n \"Employee Name\",\r\n \"Employee Position\",\r\n \"Employee Division\",\r\n \"Employee Department\",\r\n ]}\r\n value={\r\n informition && informition. !== \"\"\r\n ? permissionType?.formcontrol?.labelaction\r\n : null\r\n }\r\n key={\"Informition\"}\r\n /> */}\r\n \r\n \r\n \r\n \r\n )}\r\n {permissionType?.permissiontype === \"Department\" && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Company(e.value, \"Company\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select Company --\"\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor: validation.CompanyValidation ? \"red\" : \"\",\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _department(e.value, \"RoleID\");\r\n }}\r\n optionLabel=\"NameEn\"\r\n placeholder=\"-- Please Select Department --\"\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor: validation.DepartmentValidation ? \"red\" : \"\",\r\n }}\r\n />\r\n \r\n \r\n {permissionType.ids.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 {permissionType?.permissiontype === \"FormControl\" && (\r\n <>\r\n {(informition.Informition === \"Employee Department\" ||\r\n informition.Informition === \"Employee Division\") && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {\r\n let _newData = permissionType;\r\n _newData.formcontrol.labelaction = data.value;\r\n setPermissionType({ ..._newData });\r\n }}\r\n style={{\r\n width: \"100%\",\r\n borderRadius: \"6px 6px 6px 6px\",\r\n }}\r\n options={[\"Above\", \"Below\"]}\r\n value={\r\n permissionType?.formcontrol?.labelaction !== \"\"\r\n ? permissionType?.formcontrol?.labelaction\r\n : null\r\n }\r\n key={\"Position\"}\r\n />\r\n \r\n \r\n \r\n )}\r\n \r\n )}\r\n {permissionType !== undefined &&\r\n permissionType !== null &&\r\n permissionType.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 \r\n \r\n\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 { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Toast } from \"primereact/toast\";\r\nimport React, { useEffect, useState, useRef } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { RiFileCopy2Line } from \"react-icons/ri\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport editIcon from \"../../../assets/edit-icon.png\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport \"./AuthorizationComponent.css\";\r\nimport { DropdownComponents } from \"../../DropdownComponents/DropdownComponents\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport EmployeeDialog from \"../../DataFechDialogComponents/EmployeeDialog/EmployeeDialog\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { Checkbox } from \"primereact/checkbox\";\r\nimport { GetAllDynamic } from \"../../../Services/DynamicService\";\r\nimport { dataCompany } from \"../../../Services/CompanyService\";\r\nimport { GetDepartment } from \"../../../Services/DepartmentService\";\r\nimport AutoCompleteComponents from \"../../AutoCompleteComponents/AutoCompleteComponents\";\r\nimport {\r\n AuthorizationDepartmentModel,\r\n AuthorizationPermissionModel,\r\n} from \"./AuthorizationModel/AuthorizationModel\";\r\nimport { GetAllEmployee } from \"../../../Services/EmployeeService\";\r\ntype Props = {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n actionProps?: any;\r\n objectDataAuthorizationProps: any;\r\n setIsLoad?: any;\r\n};\r\n\r\nconst AuthorizationComponent = (props: Props) => {\r\n const toast = useRef(null);\r\n // const [roleData, setRoleData] = useState([]);\r\n // const [companyData, setCompanyData] = useState([]);\r\n // const [departmentData, setDepartmentData] = useState([]);:\r\n const [visibleModel, setVisibleModel] = useState(false);\r\n const [visiblePermissionModel, setVisiblePermissionModel] =\r\n useState(false);\r\n const [departmentList, setDepartmentList] = useState({});\r\n const [roleManage, setRoleManage] = useState();\r\n const [companyManage, setCompanyManage] = useState();\r\n const [companyRequest, setCompanyRequest] = useState();\r\n const [roleManageId, setRoleManageId] = useState();\r\n const [roleRequest, setRoleRequest] = useState();\r\n const [roleRequestId, setRoleRequestId] = useState();\r\n const [departmentManage, setDepartmentManage] = useState([]);\r\n const [departmentCompanyManage, setDepartmentCompanyManage] = useState(\r\n []\r\n );\r\n const [departmentCompanyRequest, setDepartmentCompanyRequest] = useState(\r\n []\r\n );\r\n const [employeeRequest, setEmployeeRequest] = useState([]);\r\n const [departmentRequest, setDepartmentRequest] = useState([]);\r\n const [keyAutoComplete, setKeyAutoComplete] = useState();\r\n const [employee, setEmployee] = useState([]);\r\n const [searchData, setSearchData] = useState(\r\n props.objectDataAuthorizationProps.Employee\r\n );\r\n const [isDialogVisible, setDialogVisible] = useState(false);\r\n const [globalFilterValue, setGlobalFilterValue] = useState(\"\");\r\n const [employeeSelect, setEmployeeSelect] = useState([]);\r\n const [permissionTable, setPermissionTable] = useState([]);\r\n const [Authorization_view, setAuthorization_view] = useState([]);\r\n const [keyAuthorization_view, setKeyAuthorization_view] = useState(\"\");\r\n const [manageCompanyJSON, setManageCompanyJSON] = useState([]);\r\n const [editTablePermission, setEditTablePermission] = useState([]);\r\n const empData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n\r\n useEffect(() => {\r\n if (props.controlModel !== undefined) {\r\n _DepartmentGetJson(props.controlModel);\r\n }\r\n if (props.controlModel === undefined || props.controlModel === null) {\r\n } else {\r\n if (props.actionProps === \"edit\") {\r\n let _dataJson =\r\n props.controlModel.Authorization_view === undefined ||\r\n props.controlModel.Authorization_view === null\r\n ? []\r\n : props.controlModel.Authorization_view.length === 0 ||\r\n Object.keys(props.controlModel.Authorization_view).length === 0\r\n ? []\r\n : props.controlModel.Authorization_view;\r\n\r\n setKeyAuthorization_view(\"Authorization_view\");\r\n if (_dataJson.length !== 0) {\r\n let _arrayRoleTable: any = [];\r\n _dataJson.map((data: any) => {\r\n let _arrayRolePermission: any = [];\r\n if (Object.keys(data).length !== 0) {\r\n if (data.Permission.View === \"T\") {\r\n _arrayRolePermission.push(\"View\");\r\n }\r\n if (data.Permission.Print === \"T\") {\r\n _arrayRolePermission.push(\"Print\");\r\n }\r\n if (data.Permission.Copy === \"T\") {\r\n _arrayRolePermission.push(\"Copy\");\r\n }\r\n if (data.permissiontype === \"Role\") {\r\n let _arrayRoleName: any = [];\r\n data.ids.map((_dataRole: any) => {\r\n _arrayRoleName.push(_dataRole.name);\r\n });\r\n\r\n let _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n _arrayRoleName.length === 0\r\n ? \"\"\r\n : _arrayRoleName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n _arrayRoleTable.push(_objTable);\r\n }\r\n if (data.permissiontype === \"Department\") {\r\n let _arrayDepartmentName: any = [];\r\n\r\n data.ids.map((_department: any) => {\r\n _arrayDepartmentName.push(\r\n data === undefined || data === null\r\n ? _department.name\r\n : _department.name + \" | \" + _department.action\r\n );\r\n });\r\n\r\n let _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n _arrayDepartmentName.length === 0\r\n ? \"\"\r\n : _arrayDepartmentName.toString(),\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n _arrayRoleTable.push(_objTable);\r\n }\r\n\r\n if (data.permissiontype === \"FormControl\") {\r\n let _objTable;\r\n\r\n if (data.formcontrol.labeltype === \"Table\") {\r\n _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n \"label:\" +\r\n data.formcontrol.label +\r\n \" columnname:\" +\r\n data.formcontrol.labelcolumnname +\r\n \" type:\" +\r\n data.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n data.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n data.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n } else {\r\n _objTable = {\r\n Type: data.permissiontype,\r\n Description:\r\n \"label:\" +\r\n data.formcontrol.label +\r\n \" type:\" +\r\n data.formcontrol.labeltype +\r\n \" valuetype:\" +\r\n data.formcontrol.labelvaluetype +\r\n \" informition:\" +\r\n data.formcontrol.labelInformition,\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n }\r\n _arrayRoleTable.push(_objTable);\r\n }\r\n if (data.permissiontype === \"Public\") {\r\n let _objTable;\r\n _objTable = {\r\n Type: data.permissiontype,\r\n Description: \"\",\r\n Permission:\r\n _arrayRolePermission.length === 0\r\n ? \"\"\r\n : _arrayRolePermission.toString(),\r\n };\r\n _arrayRoleTable.push(_objTable);\r\n }\r\n }\r\n });\r\n\r\n setPermissionTable(_arrayRoleTable);\r\n setAuthorization_view(_dataJson);\r\n }\r\n } else {\r\n let _dataJson =\r\n props.controlModel.Authorization_view === undefined ||\r\n props.controlModel.Authorization_view === null\r\n ? []\r\n : props.controlModel.Authorization_view.length === 0\r\n ? []\r\n : props.controlModel.Authorization_view;\r\n\r\n setKeyAuthorization_view(\"Authorization_view\");\r\n setAuthorization_view(_dataJson);\r\n }\r\n }\r\n }, [props.controlModel, props.objectDataAuthorizationProps]);\r\n\r\n const labelStyle: any = {\r\n fontStyle: \"normal\",\r\n fontWeight: \"normal\",\r\n fontSize: \"13px\",\r\n lineHeight: \"19px\",\r\n marginLeft: \"5px\",\r\n color: \"#000000\",\r\n };\r\n async function _fechDepartment() {\r\n const _Department = await GetDepartment();\r\n\r\n let _dataFilter = _Department.filter(\r\n (_department: any) => _department.NameEn !== null\r\n );\r\n console.log(\"_dataFilter\", _dataFilter);\r\n\r\n setDepartmentList(_dataFilter);\r\n }\r\n async function _dataTable(data: any) {\r\n if (editTablePermission.length === 0) {\r\n let _array: any = permissionTable;\r\n _array.push(data);\r\n\r\n setPermissionTable(_array);\r\n }\r\n }\r\n\r\n async function _dataAuthorization_view(data: any, key: any) {\r\n let _array: any = Authorization_view;\r\n\r\n _array.push(data);\r\n setAuthorization_view(_array);\r\n props.setControlModel((prevState: any) => {\r\n return {\r\n ...prevState,\r\n [key]: _array,\r\n };\r\n });\r\n }\r\n async function _dataAuthorization_viewEdit(data: any, key: any) {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n ...data,\r\n }));\r\n }\r\n\r\n // const fetchRole = async () => {\r\n // const roles = await GetAllDynamic(\"Roles/GetAll\", undefined);\r\n // setRoleData([...roles]);\r\n // };\r\n // const fetchCompany = async () => {\r\n // const companies = await dataCompany();\r\n // setCompanyData([...companies]);\r\n // };\r\n // const fetchDepartment = async () => {\r\n // const departments = await GetDepartment();\r\n // setDepartmentData([...departments]);\r\n // };\r\n function _VisibleModel(data: any) {\r\n setKeyAutoComplete(data);\r\n\r\n if (data === \"Authorization_view\" || data === \"Authorization_view\") {\r\n setEditTablePermission([]);\r\n setVisiblePermissionModel(!visiblePermissionModel);\r\n } else {\r\n setVisibleModel(!visibleModel);\r\n }\r\n }\r\n function _VisibleEditModel(key: any, data: any, inx: any) {\r\n setKeyAutoComplete(key);\r\n\r\n setEditTablePermission(props.controlModel.Authorization_view[inx.rowIndex]);\r\n setVisiblePermissionModel(!visiblePermissionModel);\r\n }\r\n\r\n async function showModal(key: any) {\r\n if (globalFilterValue != \"\") {\r\n setGlobalFilterValue(\"\");\r\n }\r\n setDialogVisible(!isDialogVisible);\r\n setKeyAutoComplete(key);\r\n }\r\n async function onDeleteRow(dataRow: any, option: any) {\r\n let _arrayPush: any = Authorization_view.filter(\r\n (e: any, idx: any) => idx !== option\r\n );\r\n let _arrayPushPermissionTable: any = [];\r\n\r\n permissionTable.map((data: any, inx: any) => {\r\n if (option !== inx) {\r\n _arrayPushPermissionTable.push(data);\r\n }\r\n });\r\n setAuthorization_view(_arrayPush);\r\n setPermissionTable(_arrayPushPermissionTable);\r\n if (\r\n keyAuthorization_view === undefined ||\r\n keyAuthorization_view === null ||\r\n keyAuthorization_view.length === 0\r\n ) {\r\n } else {\r\n console.log(_arrayPush);\r\n\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [keyAuthorization_view]: _arrayPush,\r\n }));\r\n }\r\n }\r\n function _GameRoleID(data: any, key: any) {\r\n var _dataRole = data.split(\",\");\r\n let _arrayRole: any = [];\r\n _dataRole.map((dataRole: any) => {\r\n let roleDataFilter = props.objectDataAuthorizationProps.Role.filter(\r\n (_dataFilter: any) => _dataFilter.RoleId.toString() === dataRole\r\n );\r\n\r\n if (roleDataFilter.length !== 0) {\r\n _arrayRole.push(roleDataFilter[0]);\r\n }\r\n });\r\n if (key === \"RoleID\") {\r\n setRoleManage(_arrayRole);\r\n } else {\r\n setRoleRequest(_arrayRole);\r\n }\r\n }\r\n function _DepartmentGetJson(data: any) {\r\n if (props.actionProps === \"add\") {\r\n let _SpecificEmployeeId =\r\n data.templateForm.SpecificEmployeeId.length === 0\r\n ? []\r\n : data.templateForm.SpecificEmployeeId.split(\",\");\r\n let _specificArray: any = [];\r\n if (_SpecificEmployeeId.length !== 0) {\r\n let _employeeData =\r\n Object.keys(props.objectDataAuthorizationProps.Employee).length === 0\r\n ? []\r\n : props.objectDataAuthorizationProps.Employee;\r\n\r\n _employeeData.filter((_data: any) => {\r\n let _dataTo = _SpecificEmployeeId.filter(\r\n (dataTo: any) => _data.EmployeeId.toString() === dataTo\r\n );\r\n if (_dataTo.length !== 0) {\r\n _specificArray.push(_data);\r\n }\r\n });\r\n\r\n setEmployeeRequest(_specificArray);\r\n }\r\n if (\r\n data.templateForm.RoleID !== null &&\r\n data.templateForm.RoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.RoleID, \"RoleID\");\r\n }\r\n if (\r\n data.templateForm.SpecificRoleID !== null &&\r\n data.templateForm.SpecificRoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.SpecificRoleID, \"SpecificRoleID\");\r\n }\r\n\r\n if (data.Authorization_manage_department !== null) {\r\n if (data.Authorization_manage_department.length !== 0) {\r\n let _DepartmentData = data.Authorization_manage_department;\r\n\r\n setDepartmentManage(_DepartmentData);\r\n } else {\r\n setDepartmentManage([]);\r\n }\r\n }\r\n if (\r\n data.Authorization_request_company !== null &&\r\n data.Authorization_request_company.length !== 0\r\n ) {\r\n if (data.Authorization_request_company.length !== 0) {\r\n let _arrayManageCompanyDepartment: any = [];\r\n let _ManageCompany =\r\n data.Authorization_request_company === undefined ||\r\n data.Authorization_request_company === null ||\r\n data.Authorization_request_company.length === 0\r\n ? null\r\n : data.Authorization_request_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_arrayManageCompanyDepartment.length !== 0) {\r\n // props.setIsLoad(true);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n }\r\n // else if (\r\n // _arrayManageCompanyDepartment.length === 0 &&\r\n // _arrayManageCompany.length === 1\r\n // ) {\r\n // _arrayManageCompanyDepartment = [\r\n // ..._arrayManageCompanyDepartment,\r\n // ..._dataFilterCompany,\r\n // ];\r\n // }\r\n }\r\n });\r\n if (_arrayManageCompany.length !== 0) {\r\n setDepartmentCompanyRequest([..._arrayManageCompanyDepartment]);\r\n setCompanyRequest(_arrayManageCompany);\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n }\r\n }\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n if (\r\n data.Authorization_manage_company !== null &&\r\n data.Authorization_manage_company.length !== 0\r\n ) {\r\n if (data.Authorization_manage_company.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_manage_company === undefined ||\r\n data.Authorization_manage_company === null ||\r\n data.Authorization_manage_company.length === 0\r\n ? null\r\n : data.Authorization_manage_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n let _arrayManageCompanyDepartment: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_dataFilterCompany.length !== 0) {\r\n // _arrayManageCompanyDepartment.push(_dataFilterCompany);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // if (_arrayManageCompanyDepartment.length !== 0) {\r\n // // props.setIsLoad(true);\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n // } else if (\r\n // _arrayManageCompanyDepartment.length === 0 &&\r\n // _arrayManageCompany.length === 1\r\n // ) {\r\n // _arrayManageCompanyDepartment = [\r\n // ..._arrayManageCompanyDepartment,\r\n // ..._dataFilterCompany,\r\n // ];\r\n // }\r\n }\r\n }\r\n });\r\n\r\n if (_arrayManageCompany.length !== 0) {\r\n setDepartmentCompanyManage([..._arrayManageCompanyDepartment]);\r\n\r\n setCompanyManage(_arrayManageCompany);\r\n } else {\r\n setDepartmentCompanyManage([]);\r\n }\r\n }\r\n } else {\r\n console.log(\"aaaaaaaaaaaaaaa\");\r\n\r\n setDepartmentCompanyManage([]);\r\n }\r\n } else {\r\n setDepartmentCompanyManage([]);\r\n }\r\n if (\r\n data.Authorization_request_company !== null &&\r\n data.Authorization_request_company.length !== 0\r\n ) {\r\n if (data.Authorization_request_company.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_request_company === undefined ||\r\n data.Authorization_request_company === null ||\r\n data.Authorization_request_company.length === 0\r\n ? null\r\n : data.Authorization_request_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n }\r\n });\r\n if (_arrayManageCompany.length !== 0) {\r\n setCompanyRequest(_arrayManageCompany);\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n if (\r\n data.templateForm.SpecificRoleID !== null &&\r\n data.templateForm.SpecificRoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.SpecificRoleID, \"SpecificRoleID\");\r\n }\r\n\r\n if (\r\n data.templateForm.RoleID !== null &&\r\n data.templateForm.RoleID.length !== 0\r\n ) {\r\n _GameRoleID(data.templateForm.RoleID, \"RoleID\");\r\n }\r\n\r\n if (\r\n data.Authorization_manage_company !== null &&\r\n data.Authorization_manage_company.length !== 0\r\n ) {\r\n if (data.Authorization_manage_company.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_manage_company === undefined ||\r\n data.Authorization_manage_company === null ||\r\n data.Authorization_manage_company.length === 0\r\n ? null\r\n : data.Authorization_manage_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n let _arrayManageCompanyDepartment: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n console.log(\"datadatadatadatadata\", data, companyDataFilter);\r\n\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_dataFilterCompany.length !== 0) {\r\n console.log(\"_dataFilterCompany[0]\", _dataFilterCompany);\r\n // _arrayManageCompanyDepartment.push(_dataFilterCompany);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // if (_arrayManageCompanyDepartment.length !== 0) {\r\n // // props.setIsLoad(true);\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n // } else if (\r\n // _arrayManageCompanyDepartment.length === 0 &&\r\n // _arrayManageCompany.length === 1\r\n // ) {\r\n // _arrayManageCompanyDepartment = [\r\n // ..._arrayManageCompanyDepartment,\r\n // ..._dataFilterCompany,\r\n // ];\r\n // }\r\n }\r\n }\r\n });\r\n console.log(\r\n \"_arrayManageCompanyDepartment111111111111111jjjjjjjjj\",\r\n _arrayManageCompanyDepartment,\r\n _arrayManageCompany\r\n );\r\n if (_arrayManageCompany.length !== 0) {\r\n console.log(\r\n \"_arrayManageCompanyDepartment111111111111111\",\r\n _arrayManageCompanyDepartment\r\n );\r\n setDepartmentCompanyManage([..._arrayManageCompanyDepartment]);\r\n setCompanyManage(_arrayManageCompany);\r\n } else {\r\n console.log(\r\n \"_arrayManageCompanyDepartment111111111111111\",\r\n _arrayManageCompanyDepartment\r\n );\r\n setDepartmentCompanyManage([]);\r\n }\r\n }\r\n } else {\r\n console.log(\"aaaaaaaaaaaaaaa\");\r\n\r\n setDepartmentCompanyManage([]);\r\n }\r\n } else {\r\n console.log(\"aaaaaaaaaaaaaaa\");\r\n\r\n setDepartmentCompanyManage([]);\r\n }\r\n if (\r\n data.Authorization_request_company !== null &&\r\n data.Authorization_request_company.length !== 0\r\n ) {\r\n if (data.Authorization_request_company.length !== 0) {\r\n let _arrayManageCompanyDepartment: any = [];\r\n let _ManageCompany =\r\n data.Authorization_request_company === undefined ||\r\n data.Authorization_request_company === null ||\r\n data.Authorization_request_company.length === 0\r\n ? null\r\n : data.Authorization_request_company;\r\n if (_ManageCompany === null) {\r\n } else {\r\n let _arrayManageCompany: any = [];\r\n _ManageCompany.map((data: any) => {\r\n let companyDataFilter =\r\n props.objectDataAuthorizationProps.Company.filter(\r\n (_data: any) => data.CompanyId === _data.CompanyId.toString()\r\n );\r\n if (companyDataFilter.length !== 0) {\r\n _arrayManageCompany.push(companyDataFilter[0]);\r\n let _dataFilterCompany =\r\n props.objectDataAuthorizationProps.Department.filter(\r\n (item: any) =>\r\n item.CompanyCode === companyDataFilter[0].CompanyCode\r\n );\r\n if (_dataFilterCompany.length !== 0) {\r\n // props.setIsLoad(true);\r\n _arrayManageCompanyDepartment = [\r\n ..._arrayManageCompanyDepartment,\r\n ..._dataFilterCompany,\r\n ];\r\n // let _arrayData: any = [];\r\n // for (\r\n // let k = 0;\r\n // k < _arrayManageCompanyDepartment.length;\r\n // k++\r\n // ) {\r\n // // const element = array[index];\r\n // for (let l = 0; l < _dataFilterCompany.length; l++) {\r\n // // const element = _dataFilterCompany[l];\r\n // if (\r\n // _arrayManageCompanyDepartment[k].NameEn ===\r\n // _dataFilterCompany[l].NameEn ||\r\n // _arrayManageCompanyDepartment[k].NameTh ===\r\n // _dataFilterCompany[l].NameTh\r\n // ) {\r\n // _arrayData.push(_arrayManageCompanyDepartment[k]);\r\n // console.log(\r\n // \"_arrayData_arrayData_arrayData_arrayData\",\r\n // _arrayData\r\n // );\r\n // }\r\n // // {_arrayData.push()\r\n // }\r\n // // props.setIsLoad(false);\r\n // }\r\n // _arrayManageCompanyDepartment = _arrayData;\r\n }\r\n }\r\n });\r\n if (_arrayManageCompany.length !== 0) {\r\n setDepartmentCompanyRequest([..._arrayManageCompanyDepartment]);\r\n setCompanyRequest(_arrayManageCompany);\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n }\r\n }\r\n } else {\r\n setDepartmentCompanyRequest([]);\r\n }\r\n if (\r\n data.Authorization_manage_department !== null &&\r\n data.Authorization_manage_department.length !== 0\r\n ) {\r\n if (data.Authorization_manage_department.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_manage_department === undefined ||\r\n data.Authorization_manage_department === null ||\r\n data.Authorization_manage_department.length === 0\r\n ? null\r\n : data.Authorization_manage_department;\r\n if (_ManageCompany === null) {\r\n } else {\r\n setDepartmentManage(_ManageCompany);\r\n }\r\n }\r\n } else {\r\n setDepartmentManage([]);\r\n }\r\n if (\r\n data.Authorization_request_department !== null &&\r\n data.Authorization_request_department.length !== 0\r\n ) {\r\n if (data.Authorization_request_department.length !== 0) {\r\n let _ManageCompany =\r\n data.Authorization_request_department === undefined ||\r\n data.Authorization_request_department === null ||\r\n data.Authorization_request_department.length === 0\r\n ? null\r\n : data.Authorization_request_department;\r\n if (_ManageCompany === null) {\r\n } else {\r\n setDepartmentRequest(_ManageCompany);\r\n }\r\n }\r\n } else {\r\n setDepartmentRequest([]);\r\n }\r\n }\r\n // console.log(\"data.templateForm\", data.templateForm);\r\n\r\n let _SpecificEmployeeId =\r\n data.templateForm.SpecificEmployeeId === undefined ||\r\n data.templateForm.SpecificEmployeeId === null ||\r\n data.templateForm.SpecificEmployeeId.length === 0\r\n ? []\r\n : data.templateForm.SpecificEmployeeId.split(\",\");\r\n let _specificArray: any = [];\r\n if (_SpecificEmployeeId.length !== 0) {\r\n let _employeeData =\r\n Object.keys(props.objectDataAuthorizationProps.Employee).length === 0\r\n ? []\r\n : props.objectDataAuthorizationProps.Employee;\r\n\r\n _employeeData.filter((_data: any) => {\r\n let _dataTo = _SpecificEmployeeId.filter(\r\n (dataTo: any) => _data.EmployeeId.toString() === dataTo\r\n );\r\n if (_dataTo.length !== 0) {\r\n _specificArray.push(_data);\r\n }\r\n });\r\n\r\n setEmployeeRequest(_specificArray);\r\n }\r\n }\r\n function _AutoComplete(data: any, key: any) {\r\n let _specificEmployeeId: any = [];\r\n // let _employeeRequest=employeeRequest\r\n\r\n if (key !== \"SpecificEmployeeId\") {\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [key]: data,\r\n }));\r\n } else {\r\n let specificEmployeeId = data;\r\n specificEmployeeId.map((data: any) => {\r\n _specificEmployeeId.push(data.EmployeeId);\r\n });\r\n setEmployeeRequest(data);\r\n\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.controlModel.templateForm,\r\n [key]:\r\n _specificEmployeeId.length === 0\r\n ? \"\"\r\n : _specificEmployeeId.toString(),\r\n },\r\n }));\r\n }\r\n }\r\n function _Role(data: any, key: any) {\r\n let _RoleIdManage: any = [];\r\n let _RoleIdRequest: any = [];\r\n if (key === \"RoleID\") {\r\n let _roleIdManage = data;\r\n _roleIdManage.map((data: any) => {\r\n _RoleIdManage.push(data.RoleId);\r\n });\r\n\r\n setRoleManage(data);\r\n }\r\n if (key === \"SpecificRoleID\") {\r\n let _roleIdRequest = data;\r\n _roleIdRequest.map((data: any) => {\r\n _RoleIdRequest.push(data.RoleId);\r\n });\r\n setRoleRequest(data);\r\n }\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templateForm: {\r\n ...props.controlModel.templateForm,\r\n [key]:\r\n key === \"RoleID\"\r\n ? _RoleIdManage.toString()\r\n : _RoleIdRequest.toString(),\r\n },\r\n }));\r\n }\r\n function _Company(data: any, key: any) {\r\n let _CompanyManage: any = [];\r\n let _CompanyRequest: any = [];\r\n if (\r\n key === \"Authorization_manage_company\" ||\r\n key === \"Authorization_manage_company\"\r\n ) {\r\n let _companyManage = data;\r\n _companyManage.map((data: any) => {\r\n _CompanyManage.push({\r\n CompanyId: data.CompanyId.toString(),\r\n Name: data.NameEn,\r\n });\r\n });\r\n\r\n setCompanyManage(data);\r\n // for (let i = 0; i < _companyManage.length; i++) {\r\n\r\n // // props.objectDataAuthorizationProps.Department\r\n // let _dataFilterDepartment= props.objectDataAuthorizationProps.Department.filter((item:any)=> item.CompanyCode ===_companyManage[i].CompanyCode)\r\n // if(_dataFilterDepartment.length!==0){\r\n\r\n // }\r\n // }\r\n // console.log(\"_companyManage\", _companyManage);\r\n\r\n // setCompanyManageDepartment(data);\r\n }\r\n if (\r\n key === \"Authorization_request_company\" ||\r\n key === \"Authorization_request_company\"\r\n ) {\r\n let _companyRequest = data;\r\n _companyRequest.map((data: any) => {\r\n _CompanyRequest.push({\r\n CompanyId: data.CompanyId.toString(),\r\n Name: data.NameEn,\r\n });\r\n });\r\n setCompanyRequest(data);\r\n // setCompanyRequestDepartment(data);\r\n }\r\n\r\n props.setControlModel((prevState: any) => ({\r\n ...prevState,\r\n [key]:\r\n key === \"Authorization_manage_company\" ||\r\n key === \"Authorization_manage_company\"\r\n ? _CompanyManage\r\n : _CompanyRequest,\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n \r\n\r\n \r\n \r\n \r\n Authorization for Manage\r\n

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

\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n {\r\n _Role(e.value, \"RoleID\");\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang == \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n placeholder=\"-- Please Select Role --\"\r\n display=\"chip\"\r\n filter\r\n resetFilterOnHide\r\n showClear\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Company(\r\n e.value,\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_manage_company\"\r\n : \"Authorization_manage_company\"\r\n );\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n placeholder=\"-- Please Select Company --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n _VisibleModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_manage_department\"\r\n : \"Authorization_manage_department\"\r\n )\r\n }\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: departmentManage.length === 0 ? \"38px\" : \"100%\",\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Authorization for Request\r\n

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

\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n showModal(\"SpecificEmployeeId\")}\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height:\r\n employeeRequest === undefined || employeeRequest === null\r\n ? \"38px\"\r\n : employeeRequest.length !== 0\r\n ? \"100%\"\r\n : \"38px\",\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {\r\n _Role(e.value, \"SpecificRoleID\");\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang == \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n placeholder=\"-- Please Select Role --\"\r\n display=\"chip\"\r\n filter\r\n resetFilterOnHide\r\n showClear\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n _Company(\r\n e.value,\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_request_company\"\r\n : \"Authorization_request_company\"\r\n );\r\n }}\r\n optionLabel={\r\n empData.employeeData.Lang === \"EN\" ? \"NameEn\" : \"NameTh\"\r\n }\r\n filter\r\n placeholder=\"-- Please Select Company --\"\r\n display=\"chip\"\r\n style={{ width: \"100% \", fontSize: \"13px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n _VisibleModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_request_department\"\r\n : \"Authorization_request_department\"\r\n )\r\n }\r\n setStyleProps={{\r\n backgroundColor: \"#282f6a\",\r\n border: \"1px solid #282f6a\",\r\n borderTopRightRadius: \"6px\",\r\n borderBottomRightRadius: \"6px\",\r\n boxShadow: \"none\",\r\n height: departmentRequest.length === 0 ? \"38px\" : \"100%\",\r\n }}\r\n />\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Authorization for 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 console.log(\r\n \"Authorization for View,Authorization for View\",\r\n permissionTable\r\n )\r\n }\r\n >\r\n \r\n _VisibleModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_view\"\r\n : \"Authorization_view\"\r\n )\r\n }\r\n setLabelProps={\"Add Permission\"}\r\n setIconProps={}\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n {}}\r\n // selection={selectedApprovals}\r\n onSelectionChange={(e) => {\r\n // setSelectedApprovals(e.value);\r\n }}\r\n responsiveLayout=\"scroll\"\r\n >\r\n }\r\n >\r\n\r\n \r\n }\r\n >\r\n \r\n }\r\n >\r\n\r\n }\r\n body={(rowData: any, inx: any) => (\r\n {\r\n _VisibleEditModel(\r\n props.actionProps !== \"add\"\r\n ? \"Authorization_view\"\r\n : \"Authorization_view\",\r\n rowData,\r\n inx\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \r\n )}\r\n >\r\n\r\n \r\n }\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(rowData, options.rowIndex);\r\n }}\r\n >\r\n \"logo\"\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 departmentCompanyManage.length !== 0\r\n ? departmentCompanyManage\r\n : props.objectDataAuthorizationProps.Department\r\n : keyAutoComplete === \"Authorization_request_department\"\r\n ? props.controlModel?.Authorization_request_company?.length > 1 ||\r\n departmentCompanyRequest.length !== 0\r\n ? departmentCompanyRequest\r\n : props.objectDataAuthorizationProps.Department\r\n : props.objectDataAuthorizationProps.Department\r\n }\r\n setVisibleProps={_VisibleModel}\r\n setControlModel={props.setControlModel}\r\n keyProps={keyAutoComplete}\r\n departmentRequestProp={departmentRequest}\r\n departmentManageProp={departmentManage}\r\n />\r\n \r\n {/* */}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AuthorizationComponent;\r\n","import moment from \"moment\";\r\n\r\nexport const sorterFunc = (\r\n a: any,\r\n b: any,\r\n key: string,\r\n type: \"dec\" | \"asc\" | null,\r\n filterType?: string,\r\n dateFormat?: string | null\r\n) => {\r\n try {\r\n let nameA: any;\r\n let nameB: any;\r\n\r\n if (filterType === \"date\") {\r\n nameA = a[key] || a[key] !== \"\" ? new Date(dateFormat != null ? moment(a[key], dateFormat).format(\"DD MMM YYYY\") : a[key]).getTime() : \"\";\r\n nameB = b[key] || b[key] !== \"\" ? new Date(dateFormat != null ? moment(b[key], dateFormat).format(\"DD MMM YYYY\") : b[key]).getTime() : \"\";\r\n if (type === \"asc\") {\r\n return nameA - nameB;\r\n } else {\r\n return nameB - nameA;\r\n }\r\n } else {\r\n if (typeof a[key] !== \"string\") {\r\n return 0;\r\n }\r\n if (!isNaN(Number(a[key]?.replaceAll(\",\", \"\")))) \r\n {\r\n nameA = Number(a[key]?.replaceAll(\",\", \"\"));\r\n nameB = Number(b[key]?.replaceAll(\",\", \"\"));\r\n\r\n if (type === \"asc\") {\r\n return nameA - nameB;\r\n } else {\r\n return nameB - nameA;\r\n }\r\n } else {\r\n nameA = a[key]?.toString().toLowerCase();\r\n nameB = b[key]?.toString().toLowerCase();\r\n if (type === \"asc\") {\r\n if (nameA > nameB) {\r\n return 1;\r\n } else if (nameB > nameA) {\r\n return -1;\r\n }\r\n } else {\r\n if (nameA > nameB) {\r\n return -1;\r\n } else if (nameB > nameA) {\r\n return 1;\r\n }\r\n }\r\n return 0;\r\n }\r\n }\r\n } catch (error) {\r\n console.error(\"helper=>sorterFunc=>error\", error);\r\n return 0;\r\n }\r\n};\r\n","import moment from \"moment\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect } from \"react\";\r\nimport { sorterFunc } from \"../../../../Helper/SortingFunction\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\n\r\ntype Props = {\r\n dataProps?: any;\r\n setDataProps?: any;\r\n versionCheckProps?: any;\r\n};\r\n\r\nexport const VersionAndHistoryTable = (props: Props) => {\r\n useEffect(() => {\r\n if (props.dataProps) {\r\n props.dataProps.sort((a: any, b: any) => {\r\n return sorterFunc(a, b, \"ModifiedDate\", \"dec\");\r\n });\r\n }\r\n }, [props.dataProps]);\r\n async function previewVersionTemplate(\r\n documentCode: string,\r\n rowIndex: number\r\n ) {\r\n var getUrl = window.location;\r\n var baseUrl = getUrl.protocol + \"//\" + getUrl.host;\r\n window.open(\r\n `${baseUrl}/TemplateDetail?TemplateVersionCode=${documentCode}&VersionTemplate=${\r\n rowIndex + 1\r\n }&Version`,\r\n \"_blank\",\r\n \"noreferrer\"\r\n );\r\n\r\n // window.open(\r\n // `${baseUrl}/Request?MemoID=0&TemplateVersionCode=${documentCode}&VersionTemplate=${\r\n // rowIndex + 1\r\n // }&Version`,\r\n // \"_blank\"\r\n // );\r\n }\r\n const actionBodyTemplate = (rowData: any) => {\r\n let someDateString = moment(rowData.ModifiedDate, \"DD/MM/YYYY HH:mm:ss\");\r\n const NewDate = moment(someDateString).format(\"DD MMM yyyy HH:mm:ss\");\r\n return NewDate;\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n }\r\n headerStyle={{ width: \"3em\" }}\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {options.rowIndex + 1}\r\n \r\n );\r\n }}\r\n >\r\n \r\n }\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {data.TemplateName}\r\n \r\n );\r\n }}\r\n style={{ textAlign: \"start\" }}\r\n >\r\n \r\n }\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {data.TemplateName}\r\n \r\n );\r\n }}\r\n >\r\n \r\n }\r\n body={(data, options) => {\r\n return (\r\n \r\n previewVersionTemplate(data.DocumentCode, options.rowIndex)\r\n }\r\n >\r\n {data.ModifiedByName}\r\n \r\n );\r\n }}\r\n >\r\n\r\n \r\n }\r\n // headerStyle={{ width: \"5rem\" }}\r\n body={actionBodyTemplate}\r\n >\r\n \r\n
\r\n );\r\n};\r\n","import { Toast } from \"primereact/toast\";\r\nimport React, { useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { InputTextComponents } from \"../../InputTextComponents/InputTextComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { VersionAndHistoryTable } from \"./VersionAndHistoryTable/VersionAndHistoryTable\";\r\n\r\ntype Props = {\r\n setAdvanceForm: any;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModel: any;\r\n actionProps?: any;\r\n setVersionCheckProps?: any;\r\n VersionCheckProps?: any;\r\n VersionDataProps?: any;\r\n SetVersionDataProps: any;\r\n VersionTempVCProps?: any;\r\n version?: any;\r\n templateListVersionHistoryProps?: any;\r\n ObjectDataAuthorizationProps?: any;\r\n};\r\n\r\nconst VersionAndHistoryComponents = (props: Props) => {\r\n useEffect(() => {\r\n console.log(\r\n \"props.templateListVersionHistoryPropsprops.templateListVersionHistoryProps\",\r\n props.templateListVersionHistoryProps,\r\n props.VersionTempVCProps\r\n );\r\n\r\n for (let i = 0; i < props.templateListVersionHistoryProps.length; i++) {\r\n console.log(\r\n \"props.templateListVersionHistoryProps[i]\",\r\n props.templateListVersionHistoryProps[i],\r\n props.ObjectDataAuthorizationProps\r\n );\r\n\r\n let _dataFilter = props.ObjectDataAuthorizationProps.filter(\r\n (item: any) =>\r\n Number(props.templateListVersionHistoryProps[i].ModifiedBy) ===\r\n item.EmployeeId\r\n );\r\n if (_dataFilter.length !== 0) {\r\n props.templateListVersionHistoryProps[i].ModifiedByName =\r\n _dataFilter[0].NameEn;\r\n console.log(\"_dataFilter_dataFilter_dataFilter\", _dataFilter);\r\n } else {\r\n console.log(\"_dataFilter_dataFilter_dataFilter0\", _dataFilter);\r\n }\r\n }\r\n }, [\r\n props.ObjectDataAuthorizationProps,\r\n props.templateListVersionHistoryProps,\r\n ]);\r\n // useEffect(() => {\r\n // console.log(\"props.VersionDataProps.value2\", props.VersionDataProps.value2);\r\n // }, [props.VersionDataProps.value2]);\r\n useEffect(() => {\r\n console.log(\"controlModelVersionDataProps\", props.VersionDataProps);\r\n console.log(\"controlModelVersionTempVCProps\", props.VersionTempVCProps);\r\n console.log(\"controlModelversion\", props.version);\r\n if (\r\n props.VersionDataProps.masterId !== undefined &&\r\n props.VersionDataProps.masterId !== null &&\r\n props.VersionDataProps.masterId.length !== 0\r\n ) {\r\n if (\r\n props.VersionDataProps.value2 !== undefined &&\r\n props.VersionDataProps.value2 !== null &&\r\n props.VersionDataProps.value2.length !== 0 &&\r\n Boolean(props.VersionDataProps.value2)\r\n ) {\r\n // props.SetVersionDataProps((prevState: any) => ({\r\n // ...prevState,\r\n // ...props.VersionDataProps,\r\n // }));\r\n }\r\n } else {\r\n if (\r\n props.VersionDataProps.value2 !== undefined &&\r\n props.VersionDataProps.value2 !== null &&\r\n props.VersionDataProps.value2.length !== 0 &&\r\n Boolean(props.VersionDataProps.value2)\r\n ) {\r\n let value2 = props.version.value2.split(\"|\");\r\n\r\n if (\r\n props.VersionDataProps.value2 === undefined ||\r\n props.VersionDataProps.value2 === null ||\r\n props.VersionDataProps.value2.length === 0 ||\r\n props.VersionDataProps.value3 === undefined ||\r\n props.VersionDataProps.value3 === null ||\r\n props.VersionDataProps.value3.length === 0 ||\r\n props.VersionDataProps.value5 === undefined ||\r\n props.VersionDataProps.value5 === null ||\r\n props.VersionDataProps.value5.length === 0\r\n ) {\r\n props.SetVersionDataProps((prevState: any) => ({\r\n ...prevState,\r\n\r\n ...props.VersionDataProps,\r\n value3: \"Editing\",\r\n value5:\r\n props.VersionDataProps.value5 !== undefined &&\r\n props.VersionDataProps.value5 !== null &&\r\n props.VersionDataProps.value5.length !== 0\r\n ? props.VersionDataProps.value5\r\n : value2[1],\r\n }));\r\n }\r\n }\r\n }\r\n }, [props.VersionDataProps]);\r\n async function _CheckboxCpmponents(data: any, key: any) {\r\n props.setVersionCheckProps(data);\r\n props.SetVersionDataProps((prevState: any) => ({\r\n ...prevState,\r\n\r\n ...props.VersionDataProps,\r\n [key]: data.toString(),\r\n }));\r\n }\r\n return (\r\n <>\r\n \r\n
\r\n \r\n Version and History\r\n

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

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {props.VersionCheckProps && props.VersionDataProps.masterId !== \"\" && (\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 VersionAndHistoryComponents;\r\n","import React, { useState } from \"react\";\r\nimport { Dialog } from \"primereact/dialog\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { TextHeaderComponents } from \"../../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { BiSave } from \"react-icons/bi\";\r\ntype Props = {\r\n visible: boolean;\r\n setVisible: (value: boolean) => void;\r\n header: string;\r\n refTemplateList: any[];\r\n rowSelectedData: any;\r\n onSaveObjTable: (Key: string, objTable: any) => void;\r\n};\r\n\r\nconst TableTemplateDialogComponentsFixed: React.FC = ({\r\n header,\r\n setVisible,\r\n visible,\r\n refTemplateList,\r\n rowSelectedData,\r\n onSaveObjTable,\r\n ...props\r\n}) => {\r\n const [objectTable, setObjectTable] = useState([]);\r\n\r\n const onShow = () => {\r\n console.log(\"ref=>rowSelectedData.objTable\", rowSelectedData);\r\n\r\n if (rowSelectedData?.objTable && rowSelectedData?.objTable.length !== 0) {\r\n setObjectTable([...rowSelectedData.objTable]);\r\n } else {\r\n let _objTable: any[] = [];\r\n rowSelectedData.column.forEach((e: any) => {\r\n _objTable.push({\r\n Key: e.control.template.label,\r\n Template: null,\r\n Value: null,\r\n TypeControl: null,\r\n objTable: [],\r\n });\r\n });\r\n setObjectTable([..._objTable]);\r\n }\r\n };\r\n\r\n const convertType = (type: string) => {\r\n let _type = \"\";\r\n if (type === \"an\") {\r\n _type = \"AutoNumber\";\r\n } else if (type === \"tb\") {\r\n _type = \"Table\";\r\n } else if (type === \"t\") {\r\n _type = \"ShortText\";\r\n } else if (type === \"d\") {\r\n _type = \"Calendar\";\r\n } else if (type === \"at\") {\r\n _type = \"Attachmen\";\r\n } else if (type === \"r\") {\r\n _type = \"Radio\";\r\n } else if (type === \"ta\") {\r\n _type = \"MultiLine\";\r\n } else if (type === \"c\") {\r\n _type = \"Decimal\";\r\n } else if (type === \"cb\") {\r\n _type = \"MultiChoice\";\r\n } else if (type === \"dd\") {\r\n _type = \"Dropdown\";\r\n } else if (type === \"ed\") {\r\n _type = \"Editor\";\r\n }\r\n return _type;\r\n };\r\n\r\n function actionBodyTemplate(rowData: any, option: any) {\r\n let options: any[] = [];\r\n\r\n let advanceForm: any = null;\r\n\r\n refTemplateList?.map((temp: any) => {\r\n if (\r\n temp.DocumentCode ===\r\n rowSelectedData.selectedValue.selectedValue.split(\"_\")[0]\r\n ) {\r\n advanceForm = JSON.parse(temp.AdvanceForm);\r\n }\r\n });\r\n if (advanceForm) {\r\n advanceForm.items.forEach((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n _layout.template.type === \"tb\" &&\r\n _layout.template.label ===\r\n rowSelectedData.selectedValue.selectedValue.split(\"_\")[1]\r\n ) {\r\n _layout.template.attribute.column.forEach((e: any) => {\r\n options.push({\r\n Key: rowData.Key,\r\n Template: null,\r\n Value: e.control.template.label,\r\n TypeControl: convertType(e.control.template.type),\r\n objTable: [],\r\n });\r\n });\r\n }\r\n });\r\n });\r\n }\r\n\r\n return (\r\n <>\r\n {\r\n try {\r\n let _newObj = objectTable;\r\n _newObj = _newObj.map((obj: any) => {\r\n if (e.value) {\r\n if (obj.Key === e.value.Key) {\r\n obj = e.value;\r\n }\r\n } else if (rowData.Key === obj.Key) {\r\n obj.Value = null;\r\n }\r\n return obj;\r\n });\r\n\r\n setObjectTable([..._newObj]);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n placeholder=\"--Please Select--\"\r\n />\r\n \r\n );\r\n }\r\n\r\n const dialogFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={hide}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => {\r\n onSaveObjTable(header, objectTable);\r\n }}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n\r\n const hide = () => {\r\n setVisible(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 body={actionBodyTemplate}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableTemplateDialogComponentsFixed;\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { CheckboxCpmponents } from \"../../CheckboxCpmponents/CheckboxCpmponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/ReferenceDocumentDialog.css\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport { Column } from \"primereact/column\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateComponents/TableTemplateComponents.css\";\r\nimport { AutoComplete } from \"antd\";\r\nimport TableTemplateDialogComponentsFixed from \"../../DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateDialogComponents/TableTemplateDialogComponentsFixed\";\r\nimport { MultiSelect } from \"primereact/multiselect\";\r\nimport { IMasterDataModel } from \"../../../IRequestModel/IMasterDataModel\";\r\nimport \"./ReferenceDocumentComponents.css\";\r\nimport { Button } from \"primereact/button\";\r\nimport {\r\n GetTemplate,\r\n GetTemplateById,\r\n} from \"../../../Services/TemplateService\";\r\n\r\ntype Props = {\r\n listRefTemplateProps: any;\r\n templateList: any[];\r\n visibleRefenceDocumentDialog: boolean;\r\n setVisibleRefenceDocumentDialog: (val: boolean) => void;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModelObj?: any;\r\n};\r\nconst ReferenceDocumentDialogFix: React.FC = ({\r\n listRefTemplateProps,\r\n templateList,\r\n visibleRefenceDocumentDialog,\r\n setVisibleRefenceDocumentDialog,\r\n setControlModelObj,\r\n controlModel,\r\n advanceForm,\r\n ...props\r\n}) => {\r\n const [referenceDocumentDialogObject, setReferenceDocumentDialogObject] =\r\n useState({\r\n RefDocDisplay: \"\",\r\n Display: { Position: \"Top\" },\r\n Mode: { Mode: \"Single\" },\r\n Affiliation: false,\r\n Quarter: false,\r\n ReferenceAttachment: false,\r\n IsDefaultLineApprove: false,\r\n DocControl: false,\r\n selectField: { selectField: \"\" },\r\n templateForm: [],\r\n tableDialog: false,\r\n listRefTemplate: [],\r\n rowDataTable: [],\r\n ReferenceForm: \"\",\r\n TemplateNewDoc: [],\r\n TemplateEditDoc: [],\r\n TemplateCancelDoc: [],\r\n SaveDataTable: [],\r\n });\r\n const [searchTemplateList, setSearchTemplateList] = useState([]);\r\n const [selectField, setSelectField] = useState([]);\r\n const [tableRefDialog, setTableRefDialog] = useState(false);\r\n const [tableRefData, setTableRefData] = useState();\r\n const [tableRefDialogHeader, setTableRefDialogHeader] = useState(\"\");\r\n const [templateAddCodeMulti, setTemplateAddCodeMulti] = useState([]);\r\n const [selectFieldtoshow, setSelectFieldtoshow] = useState([]);\r\n const [listMasterData, setListMasterData] = useState();\r\n const [refAd, setRefAd] = useState();\r\n const onShowDialog = async () => {\r\n try {\r\n setSearchTemplateList([...templateList]);\r\n await templateAddCode();\r\n if (controlModel) {\r\n const docControl: {\r\n isDocControl: boolean;\r\n D_NewTpl: any[];\r\n D_EditTpl: any[];\r\n D_CanTpl: any[];\r\n } = _IsDocControl(controlModel);\r\n const templateForm = controlModel.templateForm;\r\n const mappingLstMaster = _IsDocControl(controlModel);\r\n setListMasterData(mappingLstMaster);\r\n console.log(\"ref=>templateForm\", templateForm);\r\n\r\n let display: string[] = templateForm?.RefDocDisplay?.split(\",\");\r\n\r\n const defaultRefModel = {\r\n RefDocDisplay: templateForm.RefDocDisplay,\r\n Display:\r\n display[0] === \"Top\"\r\n ? { Position: \"Top\" }\r\n : display[0] === \"Bottom\"\r\n ? { Position: \"Bottom\" }\r\n : { Position: \"Top\" },\r\n Mode:\r\n display[1] === \"Single\"\r\n ? { Mode: \"Single\" }\r\n : display[1] === \"Multiselect\"\r\n ? { Mode: \"Multiselect\" }\r\n : { Mode: \"Single\" },\r\n ReferenceAttachment: display[5] === \"Yes\",\r\n Affiliation: display[3] === \"Yes\",\r\n Quarter: display[4] === \"Yes\",\r\n IsDefaultLineApprove:\r\n listRefTemplateProps[0]?.IsDefaultLineApprove || false,\r\n DocControl: docControl.isDocControl,\r\n selectField: { selectField: display[2] },\r\n templateForm: [],\r\n listRefTemplate: listRefTemplateProps,\r\n tableDialog: false,\r\n rowDataTable: [],\r\n ReferenceForm: \"\",\r\n TemplateNewDoc: docControl.D_NewTpl,\r\n TemplateEditDoc: docControl.D_EditTpl,\r\n TemplateCancelDoc: docControl.D_CanTpl,\r\n SaveDataTable: [],\r\n };\r\n dynamicSelect(templateForm);\r\n\r\n setReferenceDocumentDialogObject({ ...defaultRefModel });\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n };\r\n\r\n function _IsDocControl(_dataTemplate: any) {\r\n let _lstMasterData = _dataTemplate.lstMasterData;\r\n\r\n let res: {\r\n isDocControl: boolean;\r\n D_NewTpl: any[];\r\n D_EditTpl: any[];\r\n D_CanTpl: any[];\r\n } = {\r\n isDocControl: false,\r\n D_NewTpl: [],\r\n D_EditTpl: [],\r\n D_CanTpl: [],\r\n };\r\n if (_lstMasterData) {\r\n if (_lstMasterData?.length !== 0) {\r\n res.isDocControl = true;\r\n const _lstMasterDataSplitD_NewTpl = _lstMasterData\r\n .find((e: any) => e.masterType === \"D_NewTpl\")\r\n ?.value2.split(\",\");\r\n const _lstMasterDataSplitD_EditTpl = _lstMasterData\r\n .find((e: any) => e.masterType === \"D_EditTpl\")\r\n ?.value2.split(\",\");\r\n const _lstMasterDataSplitD_CanTpl = _lstMasterData\r\n .find((e: any) => e.masterType === \"D_CanTpl\")\r\n ?.value2.split(\",\");\r\n\r\n _lstMasterDataSplitD_NewTpl.forEach((data: any, inx: any) => {\r\n templateList.forEach((_data: any, inx: any) => {\r\n if (_data.TemplateId.toString() == data) {\r\n res.D_NewTpl.push(_data);\r\n }\r\n });\r\n });\r\n\r\n _lstMasterDataSplitD_EditTpl.forEach((data: any, inx: any) => {\r\n templateList.forEach((_data: any, inx: any) => {\r\n if (_data.TemplateId.toString() === data) {\r\n res.D_EditTpl.push(_data);\r\n }\r\n });\r\n });\r\n _lstMasterDataSplitD_CanTpl.forEach((data: any, inx: any) => {\r\n templateList.forEach((_data: any, inx: any) => {\r\n if (_data.TemplateId.toString() === data) {\r\n res.D_CanTpl.push(_data);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n return res;\r\n }\r\n\r\n const dialogHeader = () => {\r\n return (\r\n \r\n \r\n

\r\n Search Reference Document\r\n

\r\n \r\n \r\n );\r\n };\r\n\r\n const dialogFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={hide}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n\r\n // const searchTemplate = (event: any) => {\r\n // // let filteredCountries = //suggestions\r\n // // setFilteredCountries(filteredCountries);\r\n // };\r\n\r\n const hide = () => {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n };\r\n\r\n const dynamicSelect = (templateForm: any) => {\r\n let seltectItems: any[] = [];\r\n console.log(\"ref=>s\", 33);\r\n\r\n try {\r\n if (\r\n templateForm.RefDocColumn &&\r\n templateForm.RefDocColumn !== \"\" &&\r\n templateForm.RefDocColumn !== \"[]\"\r\n ) {\r\n const _RefDocColumn = JSON.parse(templateForm.RefDocColumn);\r\n\r\n advanceForm.items.map((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n _layout.template.type &&\r\n _layout.template.type !== \"em\" &&\r\n _layout.template.type !== \"l\"\r\n ) {\r\n let selectedCol: any = null;\r\n const _column = _RefDocColumn?.find(\r\n (refColumn: any) => refColumn.Key === _layout.template.label\r\n );\r\n\r\n if (_column) {\r\n if (_layout.template.type === \"tb\") {\r\n const objs = _column.objTable;\r\n selectedCol = _column;\r\n\r\n selectedCol.column = _layout.template.attribute.column;\r\n let newOBJ: any[] = [];\r\n\r\n _layout.template.attribute.column.forEach((col: any) => {\r\n const selectedOBJ = objs?.find(\r\n (obj: any) => obj.Key === col.label\r\n );\r\n if (selectedOBJ) {\r\n newOBJ.push(selectedOBJ);\r\n } else {\r\n newOBJ.push({\r\n Key: col.label,\r\n Template: null,\r\n Value: null,\r\n TypeControl: null,\r\n objTable: [],\r\n });\r\n }\r\n });\r\n\r\n selectedCol.objTable = newOBJ;\r\n selectedCol.selectedValue = {\r\n selectedValue: _column.Value,\r\n type: _column.TypeControl,\r\n };\r\n } else {\r\n selectedCol = _column;\r\n selectedCol.selectedValue = {\r\n selectedValue: _column.Value,\r\n type: _column.TypeControl,\r\n };\r\n }\r\n } else {\r\n if (_layout.template.type === \"tb\") {\r\n selectedCol = {\r\n Key: _layout.template.label,\r\n Template: null,\r\n TypeControl: convertType(_layout.template.type),\r\n column: _layout.template.attribute.column,\r\n objTable: null,\r\n Value: \"\",\r\n };\r\n } else {\r\n selectedCol = {\r\n Key: _layout.template.label,\r\n Template: null,\r\n TypeControl: convertType(_layout.template.type),\r\n Value: \"\",\r\n };\r\n }\r\n }\r\n\r\n if (\r\n (_layout.template.type && _layout.template.type !== \"em\") ||\r\n _layout.template.type === \"l\"\r\n ) {\r\n seltectItems.push(selectedCol);\r\n }\r\n }\r\n });\r\n });\r\n } else {\r\n advanceForm.items.map((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n _layout.template.type &&\r\n _layout.template.type !== \"em\" &&\r\n _layout.template.type !== \"l\"\r\n ) {\r\n if (_layout.template.type === \"tb\") {\r\n seltectItems.push({\r\n Key: _layout.template.label,\r\n Template: null,\r\n column: _layout.template.attribute.column,\r\n objTable: null,\r\n });\r\n } else {\r\n seltectItems.push({\r\n Key: _layout.template.label,\r\n selectedValue: null,\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n\r\n setSelectField([...seltectItems]);\r\n };\r\n\r\n const actionBodyTemplate = (rowData: any) => {\r\n let options: any[] = [\r\n {\r\n selectedValue: \"_\" + \"DocumentNo\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"DocumentAmount\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeeName\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeePositionTh\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeePositionEn\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeeDepartmentTh\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"RequestorEmployeeDepartmentEn\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"InformationFormName\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"InformationRequestDate\",\r\n type: \"system\",\r\n },\r\n {\r\n selectedValue: \"_\" + \"InformationCompany\",\r\n type: \"system\",\r\n },\r\n ];\r\n referenceDocumentDialogObject?.listRefTemplate?.map((temp: any) => {\r\n const _refTemp = templateList.find(\r\n (e) => e.TemplateId === temp.TemplateId\r\n );\r\n if (_refTemp) {\r\n const advanceForm = JSON.parse(_refTemp.AdvanceForm);\r\n advanceForm.items.forEach((item: any) => {\r\n item.layout.forEach((_layout: any) => {\r\n if (\r\n !rowData.column &&\r\n _layout.template.type !== \"em\" &&\r\n _layout.template.type !== \"l\" &&\r\n _layout.template.type !== \"tb\"\r\n ) {\r\n options.push({\r\n selectedValue: temp.DocumentCode + \"_\" + _layout.template.label,\r\n type: convertType(_layout.template.type),\r\n });\r\n } else if (rowData.column) {\r\n if (_layout.template.type === \"tb\") {\r\n options.push({\r\n selectedValue:\r\n temp.DocumentCode + \"_\" + _layout.template.label,\r\n type: convertType(_layout.template.type),\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n });\r\n if (rowData.column) {\r\n options = options.filter((e) => e.type !== \"system\");\r\n }\r\n return (\r\n {\r\n let _selectField = selectField;\r\n _selectField.map((field: any) => {\r\n if (field.Key === rowData.Key) {\r\n field.selectedValue = e.value;\r\n }\r\n });\r\n setSelectField([..._selectField]);\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n placeholder=\"--Please Select--\"\r\n />\r\n );\r\n };\r\n\r\n function _ReferenceDocumentDialog(data: any, key: any) {\r\n let _Object: any = referenceDocumentDialogObject;\r\n\r\n _Object[key] = data === null || data === undefined ? _Object[key] : data;\r\n setReferenceDocumentDialogObject((prevState: any) => ({\r\n ...prevState,\r\n ..._Object,\r\n }));\r\n\r\n if (key === \"TemplateNewDoc\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n D_NewTpl: data,\r\n }));\r\n } else if (key === \"TemplateEditDoc\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n D_EditTpl: data,\r\n }));\r\n } else if (key === \"TemplateCancelDoc\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n D_CanTpl: data,\r\n }));\r\n } else if (key === \"DocControl\") {\r\n Array.prototype.push.apply(data, listMasterData);\r\n setListMasterData((prevState: any) => ({\r\n ...prevState,\r\n isDocControl: data,\r\n }));\r\n }\r\n }\r\n\r\n const getOptions = () => {\r\n let _list: any[] = [];\r\n templateList.forEach((e: any) => {\r\n _list.push({ value: e.DocumentCode + \"_\" + e.TemplateName });\r\n });\r\n return _list;\r\n };\r\n\r\n const convertType = (type: string) => {\r\n let _type = \"\";\r\n if (type === \"an\") {\r\n _type = \"AutoNumber\";\r\n } else if (type === \"tb\") {\r\n _type = \"Table\";\r\n } else if (type === \"t\") {\r\n _type = \"ShortText\";\r\n } else if (type === \"d\") {\r\n _type = \"Calendar\";\r\n } else if (type === \"at\") {\r\n _type = \"Attachmen\";\r\n } else if (type === \"r\") {\r\n _type = \"Radio\";\r\n } else if (type === \"ta\") {\r\n _type = \"MultiLine\";\r\n } else if (type === \"c\") {\r\n _type = \"Decimal\";\r\n } else if (type === \"cb\") {\r\n _type = \"MultiChoice\";\r\n } else if (type === \"dd\") {\r\n _type = \"Dropdown\";\r\n } else if (type === \"ed\") {\r\n _type = \"Editor\";\r\n }\r\n return _type;\r\n };\r\n\r\n const onSave = () => {\r\n try {\r\n let _result: any[] = [];\r\n selectField.map((e: any) => {\r\n if (e.selectedValue) {\r\n if (e.selectedValue?.type === \"Table\") {\r\n _result.push({\r\n Key: e.Key,\r\n Template: null,\r\n column: e.column,\r\n objTable: e.objTable,\r\n TypeControl: e.selectedValue?.type,\r\n Value: e.selectedValue.selectedValue,\r\n });\r\n } else {\r\n _result.push({\r\n Key: e.Key,\r\n Template: null,\r\n TypeControl: e.selectedValue?.type,\r\n Value: e.selectedValue.selectedValue,\r\n });\r\n }\r\n }\r\n });\r\n const _controlModel = controlModel;\r\n let display: string[] =\r\n _controlModel?.templateForm.RefDocDisplay?.split(\",\");\r\n display[0] = referenceDocumentDialogObject.Display.Position;\r\n display[1] = referenceDocumentDialogObject.Mode.Mode;\r\n display[2] = referenceDocumentDialogObject.selectField.selectField;\r\n display[3] = referenceDocumentDialogObject.Affiliation ? \"Yes\" : \"No\";\r\n display[4] = referenceDocumentDialogObject.Quarter ? \"Yes\" : \"No\";\r\n display[5] = referenceDocumentDialogObject.ReferenceAttachment\r\n ? \"Yes\"\r\n : \"No\";\r\n let RefTemplate: any[] = [];\r\n referenceDocumentDialogObject.listRefTemplate.map((e: any) => {\r\n RefTemplate.push({\r\n TemplateId: e.TemplateId,\r\n DocumentCode: e.DocumentCode,\r\n TemplateName: e.TemplateName,\r\n TemplateSubject: e.TemplateSubject,\r\n IsDefaultLineApprove:\r\n referenceDocumentDialogObject.IsDefaultLineApprove,\r\n AdvanceForm: e.AdvanceForm,\r\n });\r\n });\r\n\r\n const lstMastData = lstMastDataFunction(\r\n _controlModel.templateForm.TemplateId,\r\n _controlModel.lstMasterData\r\n );\r\n console.log(lstMastData, \"controlModel_lstMastData\");\r\n\r\n _controlModel.lstMasterData = lstMastData;\r\n _controlModel.templateForm.RefDocDisplay = display.join(\",\");\r\n _controlModel.templateForm.RefDocColumn = JSON.stringify(_result);\r\n _controlModel.templateForm.RefTemplate = JSON.stringify(RefTemplate);\r\n _controlModel.listRefTemplate = RefTemplate;\r\n console.log(\"ref=>listRefTemplate=>error\", _controlModel);\r\n setControlModelObj({ ..._controlModel });\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n } catch (error) {\r\n console.log(\"ref=>onSave=>error\", error);\r\n }\r\n };\r\n function lstMastDataFunction(templateId: number, _lstMasterData: any) {\r\n const _list = listMasterData;\r\n let array: any[] = [];\r\n\r\n if (_list.isDocControl) {\r\n let newTplId;\r\n let editTplId;\r\n let canTplId;\r\n for (let i = 0; i < _lstMasterData.length; i++) {\r\n const element = _lstMasterData[i];\r\n if (element.masterType === \"D_NewTpl\") {\r\n newTplId = element.masterId;\r\n } else if (element.masterType === \"D_EditTpl\") {\r\n editTplId = element.masterId;\r\n } else if (element.masterType === \"D_CanTpl\") {\r\n canTplId = element.masterId;\r\n }\r\n }\r\n var requestModelD_NewTpl: IMasterDataModel = {\r\n isActive: true,\r\n masterId: newTplId || null,\r\n masterType: \"D_NewTpl\",\r\n createdBy: null,\r\n createdDate: null,\r\n modifiedBy: null,\r\n modifiedDate: null,\r\n seq: null,\r\n value1: templateId.toString(),\r\n value2:\r\n listMasterData.D_NewTpl.map((item: any) => {\r\n return item.TemplateId;\r\n }).join(\",\") || \"\",\r\n value3: null,\r\n value4: null,\r\n value5: null,\r\n };\r\n array.push(requestModelD_NewTpl);\r\n var requestModelD_EditTpl: IMasterDataModel = {\r\n isActive: true,\r\n masterId: editTplId || null,\r\n masterType: \"D_EditTpl\",\r\n createdBy: null,\r\n createdDate: null,\r\n modifiedBy: null,\r\n modifiedDate: null,\r\n seq: null,\r\n value1: templateId.toString(),\r\n value2:\r\n listMasterData.D_EditTpl.map((item: any) => {\r\n return item.TemplateId;\r\n }).join(\",\") || \"\",\r\n value3: null,\r\n value4: null,\r\n value5: null,\r\n };\r\n array.push(requestModelD_EditTpl);\r\n var requestModelD_CanTpl: IMasterDataModel = {\r\n isActive: true,\r\n masterId: canTplId || null,\r\n masterType: \"D_CanTpl\",\r\n createdBy: null,\r\n createdDate: null,\r\n modifiedBy: null,\r\n modifiedDate: null,\r\n seq: null,\r\n value1: templateId.toString(),\r\n value2:\r\n listMasterData.D_CanTpl.map((item: any) => {\r\n return item.TemplateId;\r\n }).join(\",\") || \"\",\r\n value3: null,\r\n value4: null,\r\n value5: null,\r\n };\r\n array.push(requestModelD_CanTpl);\r\n }\r\n return array;\r\n }\r\n function actionBodyTemplateTable(rowData: any, option: any) {\r\n if (rowData?.selectedValue?.type === \"Table\") {\r\n return (\r\n <>\r\n {\r\n setTableRefData({ ...rowData });\r\n setTableRefDialogHeader(rowData.Key);\r\n setTableRefDialog(true);\r\n }}\r\n >\r\n {rowData.Key}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n

{rowData.Key}

\r\n \r\n );\r\n }\r\n }\r\n\r\n const onTableDialogSave = (Key: string, objTable: any) => {\r\n tableRefData.objTable = objTable;\r\n let _selectField = selectField;\r\n _selectField = _selectField.map((e: any) => {\r\n if (e.Key === Key) {\r\n e.objTable = objTable;\r\n }\r\n return e;\r\n });\r\n setSelectField([..._selectField]);\r\n setTableRefDialog(false);\r\n };\r\n\r\n function templateAddCode() {\r\n let _dataTemplate: any[] = templateList;\r\n _dataTemplate.map((_dataMap: any, inx: any) => {\r\n _dataMap[\"code\"] = _dataMap.TemplateId.toString();\r\n _dataMap[\"TemplateNameWithCodeMulti\"] =\r\n _dataMap.TemplateId.toString() + \": \" + _dataMap.TemplateName;\r\n });\r\n setTemplateAddCodeMulti([..._dataTemplate]);\r\n }\r\n\r\n useEffect(() => {\r\n _MapSelectTable(referenceDocumentDialogObject.listRefTemplate);\r\n }, [referenceDocumentDialogObject]);\r\n async function _MapSelectTable(_data: any) {\r\n try {\r\n let _arraySelect: any = [];\r\n\r\n let _referenceDocumentDialogObject =\r\n referenceDocumentDialogObject.listRefTemplate === undefined ||\r\n referenceDocumentDialogObject.listRefTemplate === null\r\n ? []\r\n : referenceDocumentDialogObject.listRefTemplate;\r\n if (\r\n _referenceDocumentDialogObject !== undefined &&\r\n _referenceDocumentDialogObject !== null &&\r\n _referenceDocumentDialogObject.length !== 0\r\n ) {\r\n _data.map((data: any, inx: any) => {\r\n let _items =\r\n data.AdvanceForm !== undefined\r\n ? data.AdvanceForm !== null\r\n ? data.AdvanceForm.length !== 0\r\n ? JSON.parse(data.AdvanceForm)\r\n : []\r\n : []\r\n : [];\r\n console.log(\"ref=>222\", _items);\r\n if (\r\n _items.items !== undefined &&\r\n _items.items !== null &&\r\n _items.items.length !== 0\r\n ) {\r\n _items.items.map((data: any, inx: any) => {\r\n _arraySelect.push(data);\r\n });\r\n }\r\n });\r\n } else {\r\n _arraySelect = [];\r\n referenceDocumentDialogObject.selectField.selectField = undefined;\r\n }\r\n if (_arraySelect.length !== 0) {\r\n _MapSelectTableItem(_arraySelect);\r\n }\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\r\n }\r\n }\r\n\r\n async function _MapSelectTableItem(_data: any) {\r\n try {\r\n let _dataItem = _data;\r\n let _arraylayout: any = [];\r\n _dataItem.map((data: any, inx: any) => {\r\n let layout = data.layout;\r\n\r\n for (let i = 0; i < layout.length; i++) {\r\n const element = layout[i].template;\r\n if (\r\n (element.istext !== \"Y\" && element.type === \"t\") ||\r\n (element.istext !== \"Y\" && element.type === \"dd\") ||\r\n (element.istext !== \"Y\" && element.type === \"cb\") ||\r\n (element.istext !== \"Y\" && element.type === \"ta\") ||\r\n (element.istext !== \"Y\" && element.type === \"c\") ||\r\n (element.istext !== \"Y\" && element.type === \"d\") ||\r\n (element.istext !== \"Y\" && element.type === \"an\") ||\r\n (element.istext !== \"Y\" && element.type === \"ed\")\r\n ) {\r\n _arraylayout.push({ selectField: element.label });\r\n }\r\n }\r\n });\r\n\r\n _arraylayout.push({ selectField: \"Information DocumentNo\" });\r\n setSelectFieldtoshow([..._arraylayout]);\r\n } catch (error) {\r\n console.log(\"ref=>error\", error);\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 _ReferenceDocumentDialog(e.value, \"Display\");\r\n }}\r\n options={[{ Position: \"Top\" }, { Position: \"Bottom\" }]}\r\n optionLabel={\"Position\"}\r\n />\r\n\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n _ReferenceDocumentDialog(e.value, \"Mode\");\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n \r\n {referenceDocumentDialogObject.DocControl && (\r\n <>\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {\r\n _ReferenceDocumentDialog(e.value, \"TemplateNewDoc\");\r\n }}\r\n optionLabel=\"TemplateNameWithCodeMulti\"\r\n placeholder=\"--Please Select--\"\r\n filter\r\n display=\"chip\"\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor:\r\n referenceDocumentDialogObject.DocControl === true\r\n ? referenceDocumentDialogObject.TemplateNewDoc\r\n .length === 0\r\n ? \"red\"\r\n : undefined\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 _ReferenceDocumentDialog(e.value, \"TemplateEditDoc\")\r\n }\r\n optionLabel=\"TemplateNameWithCodeMulti\"\r\n placeholder=\"--Please Select--\"\r\n display=\"chip\"\r\n filter\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor:\r\n referenceDocumentDialogObject.DocControl === true\r\n ? referenceDocumentDialogObject.TemplateEditDoc\r\n .length === 0\r\n ? \"red\"\r\n : undefined\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 _ReferenceDocumentDialog(e.value, \"TemplateCancelDoc\")\r\n }\r\n optionLabel=\"TemplateNameWithCodeMulti\"\r\n placeholder=\"--Please Select--\"\r\n display=\"chip\"\r\n filter\r\n style={{\r\n width: \"100% \",\r\n fontSize: \"13px\",\r\n borderColor:\r\n referenceDocumentDialogObject.DocControl === true\r\n ? referenceDocumentDialogObject.TemplateCancelDoc\r\n .length === 0\r\n ? \"red\"\r\n : undefined\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 // option?.DocumentCode?.toString()\r\n // .toUpperCase()\r\n // .indexOf(inputValue.toUpperCase()) !== -1\r\n option.value\r\n .toLowerCase()\r\n .includes(inputValue.toLowerCase())\r\n }\r\n onChange={(e: any) => {\r\n try {\r\n let value = e.split(\"_\")[0];\r\n setSearchTemplateList([\r\n ...templateList.filter(\r\n (template: any) =>\r\n template.DocumentCode.toLowerCase().startsWith(\r\n value.toLowerCase()\r\n ) ||\r\n template.TemplateSubject.toLowerCase().startsWith(\r\n value.toLowerCase()\r\n ) ||\r\n template.TemplateName.toLowerCase().startsWith(\r\n value.toLowerCase()\r\n )\r\n ),\r\n ]);\r\n } catch (error) {\r\n console.log(\"table=>onFilter=>error\", error);\r\n }\r\n }}\r\n // onBlur={(e: any) => {\r\n // try {\r\n // let value = e.target.value;\r\n // } catch (error) {\r\n // console.log(\"table=>onFilter=>error\", error);\r\n // }\r\n // }}\r\n // onSelect={(e: any) => {\r\n // try {\r\n // let value = e;\r\n // } catch (error) {\r\n // console.log(\"table=>onFilter=>error\", error);\r\n // }\r\n allowClear\r\n // }}\r\n />\r\n
\r\n \r\n {/* \r\n */}\r\n \r\n {\r\n let listRefTemplate = referenceDocumentDialogObject;\r\n listRefTemplate.listRefTemplate = e.value;\r\n _MapSelectTable(listRefTemplate.listRefTemplate);\r\n setReferenceDocumentDialogObject({ ...listRefTemplate });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n Selected Reference Document\r\n

\r\n

\r\n เอกสารอ้างอิงที่เลือก\r\n

\r\n \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 listRefTemplate = referenceDocumentDialogObject;\r\n listRefTemplate.listRefTemplate =\r\n listRefTemplate.listRefTemplate.filter(\r\n (e: any) => e.TemplateId !== rowData.TemplateId\r\n );\r\n setReferenceDocumentDialogObject({\r\n ...listRefTemplate,\r\n });\r\n }}\r\n />\r\n \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 _refObject = referenceDocumentDialogObject;\r\n _refObject.selectField = e.value;\r\n console.log(\"ref=>_refObject\", _refObject, selectField);\r\n\r\n setReferenceDocumentDialogObject({ ..._refObject });\r\n }}\r\n style={{ width: \"100%\", borderRadius: \"6px 6px 6px 6px\" }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n body={actionBodyTemplateTable}\r\n >\r\n \r\n }\r\n body={actionBodyTemplate}\r\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 ReferenceDocumentDialogFix;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport {\r\n GetTemplateByDocTypeCode,\r\n GetTemplateTemplateListVersion,\r\n} from \"../../../Services/TemplateService\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"./ReferenceDocumentComponents.css\";\r\nimport ReferenceDocumentDialogFix from \"./ReferenceDocumentDialogFix\";\r\ntype Props = {\r\n listRefTemplateProps: any;\r\n stateProps: any;\r\n controlModelObj: any;\r\n setControlModelObj: any;\r\n advanceForm: any;\r\n};\r\n\r\nexport const ReferenceDocumentComponentsFix = (props: Props) => {\r\n const [visibleRefenceDocumentDialog, setVisibleRefenceDocumentDialog] =\r\n useState(false);\r\n const [isLoadTemplate, setIsLoadTemplate] = useState(false);\r\n const [userData, setUserData] = useUserContext();\r\n const [mstTemplateList, setMstTemplateList] = useState([]);\r\n\r\n useEffect(() => {\r\n setIsLoadTemplate(true);\r\n fetchTemplate();\r\n fecthRefTemplate();\r\n }, []);\r\n\r\n async function fetchTemplate() {\r\n const empid = userData.EmployeeId;\r\n\r\n const dataJson = {\r\n CreatedBy: empid.toString(),\r\n };\r\n\r\n let _dataTemplatee = await GetTemplateTemplateListVersion(dataJson);\r\n let arrayTemplate: any = [];\r\n _dataTemplatee.map((data: any) => {\r\n if (data.IsTextForm !== true) arrayTemplate.push(data);\r\n });\r\n // templateAddCode([...arrayTemplate]);\r\n setMstTemplateList([...arrayTemplate]);\r\n // setFilters([...arrayTemplate]);\r\n setIsLoadTemplate(false);\r\n }\r\n\r\n const fecthRefTemplate = () => {\r\n if (props.listRefTemplateProps.listRefTemplate.length > 0) {\r\n let newRef: any[] = [];\r\n let _listRefTemp = props.listRefTemplateProps;\r\n _listRefTemp.listRefTemplate.map(async (e: any) => {\r\n const ref = await GetTemplateByDocTypeCode({\r\n DocumentCode: e.DocumentCode,\r\n });\r\n if (ref) {\r\n ref.IsDefaultLineApprove = e.IsDefaultLineApprove;\r\n console.log(\"ref=> ref\", ref);\r\n\r\n newRef.push(ref);\r\n }\r\n props.listRefTemplateProps.listRefTemplate = newRef;\r\n props.setControlModelObj({ ...props.listRefTemplateProps });\r\n });\r\n }\r\n };\r\n\r\n // async function ReferenceDocumentObj(data: any, key: any) {\r\n // let _Object: any = listRefTemplate;\r\n // _Object[key] = data;\r\n\r\n // props.setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // ..._Object,\r\n // }));\r\n // }\r\n // async function ReferenceDocumentActionObj(data: any, key: any) {\r\n // let _Object: any = listRefTemplate;\r\n // _Object.templateForm.RefTemplate = JSON.stringify(data);\r\n // _Object[key] = data;\r\n // if (\r\n // _Object.templateForm.RefTemplate !== undefined &&\r\n // _Object.templateForm.RefTemplate !== null &&\r\n // (_Object.templateForm.RefTemplate.length === 0 ||\r\n // _Object.templateForm.RefTemplate === \"[]\")\r\n // ) {\r\n // _Object.templateForm.RefDocDisplay = \"\";\r\n // _Object.templateForm.RefDocColumn = \"\";\r\n // _Object.templateForm.RefTemplate = \"\";\r\n // }\r\n // props.setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // ..._Object,\r\n // }));\r\n // }\r\n function onClickVisible() {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n }\r\n\r\n const onClickAction = async (event: any) => {\r\n let _event: any = event;\r\n const dataFilter = props.listRefTemplateProps.listRefTemplate.filter(\r\n (item: any) => _event !== item\r\n );\r\n const obj = JSON.parse(\r\n props.listRefTemplateProps.templateForm.RefDocColumn\r\n );\r\n\r\n console.log(\r\n \"Ref\",\r\n obj,\r\n props.listRefTemplateProps.templateForm.RefDocColumn\r\n );\r\n\r\n const filterRefDocColum = obj.filter(\r\n (value: any) => !value.Value.includes(_event.DocumentCode)\r\n );\r\n console.log(\"filterRefDocColum\", filterRefDocColum);\r\n\r\n console.log(\"_event\", _event);\r\n\r\n props.listRefTemplateProps.templateForm.RefDocColumn =\r\n JSON.stringify(filterRefDocColum);\r\n\r\n props.listRefTemplateProps.listRefTemplate = dataFilter;\r\n props.listRefTemplateProps.templateForm.RefTemplate =\r\n JSON.stringify(dataFilter);\r\n props.setControlModelObj({ ...props.listRefTemplateProps });\r\n };\r\n function actionBodyTemplate(rowData: any) {\r\n return (\r\n <>\r\n onClickAction(rowData)}\r\n />\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n \r\n \r\n \r\n Reference Document\r\n

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

\r\n \r\n \r\n \r\n \r\n }\r\n setClassNameProps={\"p-button-text-position\"}\r\n disabledProps={\r\n props?.listRefTemplateProps?.templateForm?.IsTextForm\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n style={{ textAlign: \"start\" }}\r\n >\r\n \r\n }\r\n >\r\n \r\n }\r\n >\r\n\r\n \r\n }\r\n headerStyle={{ width: \"5rem\" }}\r\n body={actionBodyTemplate}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n","import { Dialog } from \"primereact/dialog\";\r\nimport { Dropdown } from \"primereact/dropdown\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { IoCloseOutline } from \"react-icons/io5\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/ReferenceDocumentDialog.css\";\r\nimport \"../../DataFechDialogComponents/ReferenceDocumentDialog/TableTemplateComponents/TableTemplateComponents.css\";\r\nimport \"./ReferenceInformationComponents.css\";\r\n\r\ntype Props = {\r\n visibleRefenceDocumentDialog: boolean;\r\n setVisibleRefenceDocumentDialog: (val: boolean) => void;\r\n advanceForm: any;\r\n controlModel: any;\r\n setControlModelObj?: any;\r\n listRefInformationProps: any;\r\n setRefInformation: any;\r\n refInformation: any;\r\n refLogic: any;\r\n dataLogic: any;\r\n setLogicsRefIn: any;\r\n};\r\nconst ReferenceInformationDialog: React.FC = ({\r\n visibleRefenceDocumentDialog,\r\n setVisibleRefenceDocumentDialog,\r\n setControlModelObj,\r\n controlModel,\r\n advanceForm,\r\n listRefInformationProps,\r\n refInformation,\r\n setRefInformation,\r\n refLogic,\r\n dataLogic,\r\n setLogicsRefIn,\r\n ...props\r\n}) => {\r\n const [templateSelected, setTemplateSelected] = useState(\"\");\r\n const [requestSelected, setRequestorSelected] = useState(\"\");\r\n const [templateField, setTemplateField] = useState(\"\");\r\n const [requestField, setRequestorField] = useState(\"\");\r\n\r\n const dialogHeader = () => {\r\n return (\r\n \r\n \r\n

\r\n Search Reference Document\r\n

\r\n \r\n \r\n );\r\n };\r\n\r\n const dialogFooter = () => {\r\n return (\r\n
\r\n \r\n }\r\n onClickProps={hide}\r\n setClassNameProps=\"p-button-text referenceDocumentDialog-button\"\r\n setStyleProps={{\r\n height: \"38px\",\r\n border: \"0.5px solid #FF2626\",\r\n background: \"#FFFFFF\",\r\n color: \"#FF2626\",\r\n borderRadius: \"6px\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n }\r\n onClickProps={() => onSave()}\r\n setStyleProps={{\r\n height: \"38px\",\r\n borderRadius: \"6px\",\r\n border: \"1px solid rgb(40, 47, 106)\",\r\n fontSize: \"13px\",\r\n }}\r\n />\r\n
\r\n );\r\n };\r\n useEffect(() => {\r\n fetchTemplatData();\r\n fetchRequestorData();\r\n }, []);\r\n\r\n async function fetchTemplatData() {\r\n let arrayFliedTest: any = [];\r\n const _advanceForm = advanceForm.items;\r\n let label: string;\r\n let key: string;\r\n let type: string;\r\n\r\n for (let i = 0; i < _advanceForm.length; i++) {\r\n let layout = _advanceForm[i].layout;\r\n for (let j = 0; j < layout.length; j++) {\r\n let template = layout[j].template;\r\n if (\r\n template.type !== \"tb\" &&\r\n template.type !== \"l\" &&\r\n template.type !== \"em\" &&\r\n template.type !== \"bt\" &&\r\n template.type !== \"d\"\r\n ) {\r\n label = template.label;\r\n key = template.label;\r\n type = template.type;\r\n arrayFliedTest.push({ label, key, type });\r\n } else if (template.type === \"tb\") {\r\n template.attribute.column.forEach((col: any) => {\r\n arrayFliedTest.push({\r\n label: template.label + \" | \" + col.label,\r\n key: col.label,\r\n type: col.control.template.type,\r\n });\r\n });\r\n }\r\n }\r\n }\r\n setTemplateField(arrayFliedTest);\r\n }\r\n\r\n async function fetchRequestorData() {\r\n const requestorLabel = [\r\n { label: \"Requestor_Employee_code\", key: \"Requestor_Employee_code\" },\r\n { label: \"Requestor_NameEn\", key: \"Requestor_NameEn\" },\r\n { label: \"Requestor_NameTh\", key: \"Requestor_NameTh\" },\r\n { label: \"Requestor_PositionEn\", key: \"Requestor_PositionEn\" },\r\n { label: \"Requestor_PositionTh\", key: \"Requestor_PositionTh\" },\r\n { label: \"Requestor_DivisionEn\", key: \"Requestor_DivisionEn\" },\r\n { label: \"Requestor_DivisionTh\", key: \"Requestor_DivisionTh\" },\r\n { label: \"Requestor_DepartmentEn\", key: \"Requestor_DepartmentEn\" },\r\n { label: \"Requestor_DepartmentTh\", key: \"Requestor_DepartmentTh\" },\r\n { label: \"Requestor_Email\", key: \"Requestor_Email\" },\r\n { label: \"Actor_Employee_code\", key: \"Actor_Employee_code\" },\r\n { label: \"Actor_NameEn\", key: \"Actor_NameEn\" },\r\n { label: \"Actor_NameTh\", key: \"Actor_NameTh\" },\r\n { label: \"Actor_PositionEn\", key: \"Actor_PositionEn\" },\r\n { label: \"Actor_PositionTh\", key: \"Actor_PositionTh\" },\r\n { label: \"Actor_DivisionEn\", key: \"Actor_DivisionEn\" },\r\n { label: \"Actor_DivisionTh\", key: \"Actor_DivisionTh\" },\r\n { label: \"Actor_DepartmentEn\", key: \"Actor_DepartmentEn\" },\r\n { label: \"Actor_DepartmentTh\", key: \"Actor_DepartmentTh\" },\r\n { label: \"Actor_Email\", key: \"Actor_Email\" },\r\n { label: \"Company_Company id\", key: \"Company_Company id\" },\r\n { label: \"Company_Company name\", key: \"Company_Company name\" },\r\n ];\r\n\r\n setRequestorField(requestorLabel);\r\n }\r\n\r\n const hide = () => {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n };\r\n\r\n const onSave = () => {\r\n try {\r\n let refValue;\r\n refValue = {\r\n condition: templateSelected.label,\r\n required: requestSelected.label,\r\n };\r\n\r\n let arrayRef = refInformation ? refInformation : [];\r\n arrayRef.push(refValue);\r\n setRefInformation(arrayRef);\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n setTemplateSelected(\"\");\r\n setRequestorSelected(\"\");\r\n\r\n let TemplateLogic: any[] = [];\r\n\r\n let logicControl: any[] = [];\r\n arrayRef.map((cons: any) => {\r\n if (\r\n logicControl.filter((e: any) => e.label === cons.condition).length ===\r\n 0\r\n ) {\r\n logicControl.push({\r\n condition: cons.condition,\r\n required: cons.required,\r\n });\r\n }\r\n });\r\n\r\n logicControl.map((logic: any, idx: number) => {\r\n TemplateLogic.push({\r\n Seq: idx + 1,\r\n Logictype: \"refinfomation\",\r\n Jsonvalue: JSON.stringify(logic),\r\n });\r\n });\r\n\r\n setLogicsRefIn([...TemplateLogic]);\r\n // if (TemplateLogic.length > 0) {\r\n // setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // cMSTTemplateLogic: [...TemplateLogic],\r\n // }));\r\n // }\r\n } catch (error) {\r\n console.error(\"ref=>onSave=>error\", error);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {\r\n console.log(controlModel, \"controlModel\");\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setTemplateSelected(e.value);\r\n }}\r\n optionLabel={\"label\"}\r\n filter\r\n showClear\r\n filterBy={\"label\"}\r\n options={templateField}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n {\r\n setRequestorSelected(e.value);\r\n }}\r\n optionLabel={\"label\"}\r\n filter\r\n showClear\r\n filterBy={\"label\"}\r\n options={requestField}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReferenceInformationDialog;\r\n","import { Column } from \"primereact/column\";\r\nimport { DataTable } from \"primereact/datatable\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { FiPlus } from \"react-icons/fi\";\r\nimport { ButtonComponents } from \"../../ButtonComponents/ButtonComponents\";\r\nimport \"./ReferenceInformationComponents.css\";\r\nimport ReferenceInformationDialog from \"./ReferenceInformationDialog\";\r\nimport { TextHeaderComponents } from \"../../TextHeaderComponents/TextHeaderComponents\";\r\nimport { confirmDialog } from \"primereact/confirmdialog\";\r\nimport binIcon from \"../../../assets/bin-icon.png\";\r\nimport { ILogicReferenceInformation } from \"../../../IRequestModel/ILogicModel\";\r\n\r\ntype Props = {\r\n listRefInformationProps: any;\r\n stateProps: any;\r\n controlModelObj: any;\r\n setControlModelObj: any;\r\n advanceForm: any;\r\n dataLogic: any;\r\n setLogicsRefIn: any;\r\n};\r\n\r\nexport const ReferenceInformation = (props: Props) => {\r\n const [visibleRefenceDocumentDialog, setVisibleRefenceDocumentDialog] =\r\n useState(false);\r\n\r\n const [referenceData, setReferenceData] = useState();\r\n const [refLogic, setRefLogic] = useState([]);\r\n\r\n const [refInformation, setRefInformation] = useState();\r\n\r\n useEffect(() => {\r\n if (props.dataLogic) {\r\n setReferenceData([\r\n ...props.dataLogic\r\n .filter(\r\n (e: { Logictype: string; logictype: string }) =>\r\n e.logictype === \"refinfomation\"\r\n )\r\n .map((logic: { jsonvalue: string }) => {\r\n const jsonValue: ILogicReferenceInformation =\r\n logic.jsonvalue &&\r\n logic.jsonvalue.length > 0 &&\r\n JSON.parse(logic.jsonvalue);\r\n\r\n return jsonValue;\r\n }),\r\n ]);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (referenceData) {\r\n //setReferenceData(props.refInformation);\r\n fecthRefInformation();\r\n }\r\n }, [referenceData]);\r\n const fecthRefInformation = () => {\r\n try {\r\n let TemplateLogic: any[] = [];\r\n let arrayRef = referenceData;\r\n let Logics = [];\r\n // TemplateLogic = Logics;\r\n let logicControl: any[] = [];\r\n arrayRef.map((cons: any) => {\r\n if (\r\n logicControl.filter((e: any) => e.label === cons.condition).length ===\r\n 0\r\n ) {\r\n logicControl.push({\r\n condition: cons.condition,\r\n required: cons.required,\r\n });\r\n }\r\n });\r\n\r\n logicControl.forEach((logic: any, idx: number) => {\r\n TemplateLogic.push({\r\n Seq: idx + 1,\r\n Logictype: \"refinfomation\",\r\n Jsonvalue: JSON.stringify(logic),\r\n LstCondition: [],\r\n });\r\n });\r\n\r\n props.setLogicsRefIn([...TemplateLogic]);\r\n // if (TemplateLogic.length > 0) {\r\n // props.setControlModelObj((prevState: any) => ({\r\n // ...prevState,\r\n // cMSTTemplateLogic: [...TemplateLogic],\r\n // }));\r\n // }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n function onClickVisible() {\r\n setVisibleRefenceDocumentDialog(!visibleRefenceDocumentDialog);\r\n }\r\n\r\n const onDeleteRow = (data: any, setData: any, rowIdx: number) => {\r\n let selected: any = [...data];\r\n let TemplateLogic: any[] = [];\r\n confirmDialog({\r\n message: \"Do you to delete this row.\",\r\n header: \"Delete Confirmation\",\r\n icon: \"p-confirm-dialog-icon pi pi-info-circle\",\r\n acceptClassName:\r\n \"p-button p-component p-confirm-dialog-accept table-accept p-button-danger table-control-confirm-button p-button-accept-cancel\",\r\n accept: () => {\r\n selected.splice(rowIdx, 1);\r\n selected.map((e: any, idx: number) => {\r\n e.Seq = idx + 1;\r\n });\r\n setData(selected);\r\n setRefInformation(selected);\r\n\r\n let Logics = props.dataLogic.filter(\r\n (element: any) => element.Logictype !== \"refinfomation\"\r\n );\r\n Logics.push(...selected);\r\n console.log(\"refInformationcMSTTemplateLogic\", Logics);\r\n props.setControlModelObj((prevState: any) => ({\r\n ...prevState,\r\n cMSTTemplateLogic: Logics,\r\n }));\r\n },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Reference Information\r\n

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

\r\n \r\n \r\n \r\n \r\n }\r\n setClassNameProps={\"p-button-text-position\"}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n style={{ textAlign: \"start\" }}\r\n body={(rowData, options) => options.rowIndex + 1}\r\n >\r\n \r\n }\r\n style={{ textAlign: \"start\" }}\r\n >\r\n \r\n }\r\n >\r\n\r\n \r\n }\r\n headerStyle={{ width: \"5rem\" }}\r\n body={(rowData: any, options: any) => {\r\n return (\r\n {\r\n onDeleteRow(\r\n referenceData,\r\n setReferenceData,\r\n options.rowIndex\r\n );\r\n }}\r\n >\r\n \"logo\"\r\n \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 { createContext, ReactNode, useRef, useState } from \"react\";\r\nimport React from \"react\";\r\nimport { v4 as uuidv4 } from \"uuid\";\r\n\r\ninterface PDFEditorProviderProps {\r\n children: ReactNode;\r\n}\r\n\r\nexport interface ILayoutTemplate {\r\n action: string;\r\n label: string;\r\n type: string;\r\n count: number;\r\n layoutType: string;\r\n value: string;\r\n attribute?: IControlProperty;\r\n}\r\n\r\nexport interface IControlProperty {\r\n default: string;\r\n fontSize: number;\r\n isItalic: boolean;\r\n isUnderlined: boolean;\r\n isBold: boolean;\r\n color: string;\r\n hAlign: string;\r\n vAlign: string;\r\n urlLink: string;\r\n fontFamily: \"Arial\";\r\n hideLabel?: boolean;\r\n column?: ILayoutTemplate[];\r\n backgroundSize: \"contain\" | \"cover\" | \"fill\";\r\n}\r\n\r\nexport interface IControlLayout {\r\n i: string;\r\n x: number;\r\n y: number;\r\n w: number;\r\n h: number;\r\n static: boolean;\r\n minW?: number;\r\n minH?: number;\r\n isDraggable?: boolean;\r\n isResizable?: boolean;\r\n moved?: boolean;\r\n type: \"header\" | \"body\" | \"footer\" | \"content\";\r\n template: ILayoutTemplate;\r\n children?: IControlLayout[];\r\n}\r\n\r\nexport interface IPageProperty {\r\n doctype: \"A4\" | \"Letter\" | \"custom\";\r\n isDragingFromOutSide: boolean;\r\n gridSize: number;\r\n padding: number;\r\n dragingType?: \"header\" | \"body\" | \"footer\" | \"content\";\r\n pageAmount: number;\r\n pageSize: { width: number; height: number };\r\n}\r\n\r\nexport interface IPaperLayout {\r\n header: IControlLayout;\r\n body: IControlLayout;\r\n foot: IControlLayout;\r\n}\r\n\r\ninterface IPDFContextType {\r\n paperLayout: IControlLayout[];\r\n pageProperty: IPageProperty;\r\n setPaperLayout: (panelLayout: IControlLayout[]) => void;\r\n addLayout: (\r\n parent: \"header\" | \"body\" | \"footer\" | \"content\",\r\n item: any,\r\n template: ILayoutTemplate\r\n ) => void;\r\n updatePageProperties: (params: Partial) => void;\r\n refHtml: React.MutableRefObject;\r\n selectionBlock?: IControlLayout;\r\n onSelectChange: (template: IControlLayout) => void;\r\n onSelectPropertyChange: (props: IControlProperty) => void;\r\n onDeselected: () => void;\r\n removeSelectedChild: (parent: string) => void;\r\n changeDocType: (docType: IPageProperty[\"doctype\"]) => void;\r\n}\r\n\r\nconst PDFEditorContext = createContext(null);\r\n\r\nconst PDFEditorProvider: React.FC = (props) => {\r\n const papers: { [name: string]: IPageProperty[\"pageSize\"] } = {\r\n Letter: {\r\n width: 816,\r\n height: 1056,\r\n },\r\n A4: {\r\n width: 794,\r\n height: 1123,\r\n },\r\n };\r\n const [paperLayout, setPaperLayout] = useState([\r\n {\r\n i: \"header\",\r\n x: 0,\r\n y: 0,\r\n w: 12,\r\n h: 4,\r\n static: false,\r\n minW: 12,\r\n type: \"header\",\r\n template: {\r\n label: \"header\",\r\n type: \"header\",\r\n action: \"\",\r\n count: 0,\r\n layoutType: \"\",\r\n value: \"\",\r\n attribute: undefined,\r\n },\r\n children: [],\r\n },\r\n {\r\n i: \"body\",\r\n x: 0,\r\n y: 4,\r\n w: 12,\r\n h: 4,\r\n static: false,\r\n minW: 12,\r\n type: \"body\",\r\n template: {\r\n label: \"body\",\r\n type: \"body\",\r\n action: \"\",\r\n count: 0,\r\n layoutType: \"\",\r\n value: \"\",\r\n },\r\n children: [],\r\n },\r\n {\r\n i: \"footer\",\r\n x: 0,\r\n y: 8,\r\n w: 12,\r\n h: 4,\r\n static: false,\r\n minW: 12,\r\n type: \"footer\",\r\n template: {\r\n label: \"footer\",\r\n type: \"footer\",\r\n action: \"\",\r\n count: 0,\r\n layoutType: \"\",\r\n value: \"\",\r\n },\r\n children: [],\r\n },\r\n ]);\r\n\r\n const [pageProperty, setPageProperty] = useState({\r\n doctype: \"A4\",\r\n pageAmount: 1,\r\n gridSize: 15,\r\n padding: 5,\r\n pageSize: papers[\"A4\"],\r\n isDragingFromOutSide: false,\r\n });\r\n\r\n const [selectionBlock, setSelectionBlock] = useState();\r\n\r\n const refHtml = useRef(null);\r\n\r\n const addLayout = (\r\n parent: \"header\" | \"body\" | \"footer\" | \"content\",\r\n layout: any,\r\n template: ILayoutTemplate\r\n ) => {\r\n try {\r\n let targetParent: IControlLayout | undefined = paperLayout?.find(\r\n (e) => e.type === parent\r\n );\r\n\r\n if (targetParent) {\r\n let childList = targetParent.children;\r\n layout.i = uuidv4();\r\n layout.w = 4;\r\n layout.h = 1;\r\n\r\n if (template.type === \"tb\") {\r\n layout.w = Math.round(\r\n pageProperty.pageSize.width / pageProperty.gridSize\r\n );\r\n layout.h = 3;\r\n layout.minH = 3;\r\n layout.minW = Math.round(\r\n pageProperty.pageSize.width / pageProperty.gridSize\r\n );\r\n } else if (template.type === \"staticImage\") {\r\n layout.w = 10;\r\n layout.h = 10;\r\n layout.minH = 5;\r\n layout.minW = 5;\r\n }\r\n const tempAttibute = template.attribute;\r\n template.attribute = {\r\n default: tempAttibute?.default || \"\",\r\n fontSize: 14,\r\n fontFamily: \"Arial\",\r\n color: \"#000000\",\r\n isBold: false,\r\n isItalic: false,\r\n isUnderlined: false,\r\n hAlign: \"center\",\r\n vAlign: \"center\",\r\n urlLink: \"\",\r\n hideLabel: false,\r\n column: tempAttibute?.column,\r\n backgroundSize: \"contain\",\r\n };\r\n\r\n layout.template = template;\r\n\r\n childList?.push(layout);\r\n\r\n onSelectChange(layout);\r\n setPaperLayout((prev) =>\r\n prev.map((e) => {\r\n if (e.type === parent) {\r\n e.children = childList;\r\n }\r\n return e;\r\n })\r\n );\r\n }\r\n updatePageProperties({ isDragingFromOutSide: false });\r\n } catch (error) {\r\n console.error(error);\r\n updatePageProperties({ isDragingFromOutSide: false });\r\n }\r\n };\r\n\r\n const removeSelectedChild = (parent: string) => {\r\n setPaperLayout((prev) =>\r\n prev.map((e) => {\r\n if (parent === parent) {\r\n e.children = e.children?.filter(\r\n (child) => child.i !== selectionBlock?.i\r\n );\r\n }\r\n return e;\r\n })\r\n );\r\n };\r\n\r\n const updatePageProperties = (params: Partial) => {\r\n setPageProperty((prevSettings) => ({\r\n ...prevSettings,\r\n ...params,\r\n }));\r\n };\r\n\r\n const onSelectChange = (template: IControlLayout) => {\r\n setSelectionBlock(template);\r\n };\r\n\r\n const onDeselected = () => {\r\n setSelectionBlock(undefined);\r\n };\r\n\r\n const onSelectPropertyChange = (props: IControlProperty) => {\r\n if (selectionBlock) {\r\n let _selectionBlock: IControlLayout = selectionBlock;\r\n _selectionBlock.template.attribute = props;\r\n const newLayout = paperLayout.map((layout) => {\r\n layout.children = layout.children?.map((child) => {\r\n if (child.i === selectionBlock.i) {\r\n child.template = _selectionBlock.template;\r\n }\r\n return child;\r\n });\r\n return layout;\r\n });\r\n if (newLayout) setPaperLayout(newLayout);\r\n setSelectionBlock(_selectionBlock);\r\n }\r\n };\r\n\r\n const onGenHtml = () => {\r\n console.log(paperLayout);\r\n };\r\n\r\n const changeDocType = (docType: IPageProperty[\"doctype\"]) => {\r\n updatePageProperties({ doctype: docType, pageSize: papers[docType] });\r\n };\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { PDFEditorProvider, PDFEditorContext };\r\n","import { useContext } from \"react\";\r\nimport { PDFEditorContext } from \"../Context/PDFEditorContext\";\r\n\r\nconst usePDFEditor = () => {\r\n const context = useContext(PDFEditorContext);\r\n if (!context)\r\n throw new Error(\"PDFEditor Context must be use inside PDFEditor Provider\");\r\n return context;\r\n};\r\n\r\nexport default usePDFEditor;\r\n","import { Col } from \"antd\";\r\nimport React, { useRef } from \"react\";\r\nimport usePDFEditor from \"../../../hooks/usePDFEditor\";\r\n\r\ntype Props = {\r\n label: string;\r\n type: string;\r\n attribute?: any;\r\n icon: React.ReactNode;\r\n layoutType: \"header\" | \"body\" | \"footer\" | \"content\";\r\n};\r\n\r\nconst PDFCompontButton = ({\r\n label,\r\n type,\r\n icon,\r\n layoutType,\r\n attribute,\r\n}: Props) => {\r\n const count = useRef(1);\r\n const { updatePageProperties } = usePDFEditor();\r\n\r\n return (\r\n {\r\n const dataString = JSON.stringify({\r\n action: \"add\",\r\n label: label,\r\n type: type,\r\n count: count.current,\r\n layoutType: layoutType,\r\n value: \"\",\r\n attribute: attribute,\r\n });\r\n updatePageProperties({\r\n dragingType: layoutType,\r\n isDragingFromOutSide: true,\r\n });\r\n e.dataTransfer.setData(\"application/json\", dataString);\r\n }}\r\n onDragEnd={() => {\r\n count.current += 1;\r\n updatePageProperties({\r\n isDragingFromOutSide: false,\r\n });\r\n }}\r\n >\r\n {icon}\r\n \r\n {label}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PDFCompontButton;\r\n","import { Button, Col, Collapse } from \"antd\";\r\nimport type { CollapseProps } from \"antd\";\r\nimport { MenuItem } from \"primereact/menuitem\";\r\nimport React, { useEffect, useRef, useState } from \"react\";\r\nimport { FaHeading, FaRegImage, FaRegListAlt } from \"react-icons/fa\";\r\nimport { BiText, BiTimeFive } from \"react-icons/bi\";\r\nimport { ImTextHeight } from \"react-icons/im\";\r\nimport { AiOutlineNumber } from \"react-icons/ai\";\r\nimport { FiCalendar } from \"react-icons/fi\";\r\nimport { IoMdRadioButtonOn } from \"react-icons/io\";\r\nimport { MdOutlineCheckBox } from \"react-icons/md\";\r\nimport { CgPlayButtonO } from \"react-icons/cg\";\r\nimport {\r\n BsFileEarmarkRichtext,\r\n BsSortNumericDown,\r\n BsTable,\r\n} from \"react-icons/bs\";\r\nimport { GrAttachment } from \"react-icons/gr\";\r\nimport usePDFEditor from \"../../../hooks/usePDFEditor\";\r\nimport PDFCompontButton from \"./PDFCompontButton\";\r\nimport CollapsePanel from \"antd/lib/collapse/CollapsePanel\";\r\n\r\ntype Props = {\r\n advanceForm: any;\r\n reportTem: any[];\r\n};\r\n\r\nfunction getItem(\r\n label: React.ReactNode,\r\n key: React.Key,\r\n icon?: React.ReactNode,\r\n children?: MenuItem[],\r\n type?: \"group\"\r\n): MenuItem {\r\n return {\r\n key,\r\n icon,\r\n children,\r\n label,\r\n type,\r\n } as MenuItem;\r\n}\r\n\r\nconst items: MenuItem[] = [getItem(\"Option 1\", \"1\"), getItem(\"Option 2\", \"2\")];\r\n\r\nconst PDFToolBar = ({ advanceForm, reportTem }: Props) => {\r\n const [controlItem, setControlItems] = useState(advanceForm.items);\r\n\r\n const { addLayout } = usePDFEditor();\r\n\r\n useEffect(() => {\r\n getItems();\r\n }, []);\r\n\r\n const getItems = () => {\r\n let items: any[] = [];\r\n advanceForm.items.forEach((item: any) => {\r\n item.layout.forEach((layout: any) => {\r\n items.push(layout);\r\n });\r\n });\r\n\r\n setControlItems((prev: any) => items);\r\n };\r\n\r\n const getIcon = (type: string) => {\r\n switch (type) {\r\n case \"l\":\r\n return ;\r\n case \"ed\":\r\n return ;\r\n case \"c\":\r\n return ;\r\n case \"Number\":\r\n return ;\r\n case \"ta\":\r\n return ;\r\n case \"dd\":\r\n return ;\r\n case \"cb\":\r\n return ;\r\n case \"at\":\r\n return ;\r\n case \"t\":\r\n return ;\r\n case \"Text\":\r\n return ;\r\n case \"r\":\r\n return ;\r\n case \"tb\":\r\n return ;\r\n case \"d\":\r\n return ;\r\n case \"Datetime\":\r\n return ;\r\n case \"bt\":\r\n return ;\r\n case \"an\":\r\n return ;\r\n case \"rvs\":\r\n return ;\r\n case \"im\":\r\n return ;\r\n default:\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 \r\n {controlItem\r\n .filter((e: any) => e.template?.type !== \"em\")\r\n .map((item: any) => (\r\n \r\n ))}\r\n \r\n \r\n {reportTem.map((item: any) => (\r\n {\r\n return {\r\n guid: \"0gb2o3crjqs9ijcmisefv6k\",\r\n label: e,\r\n alter: \"\",\r\n control: {\r\n template: {\r\n type: \"t\",\r\n label: e,\r\n alter: \"\",\r\n attribute: {\r\n description: \"\",\r\n default: \"\",\r\n length: \"0\",\r\n require: \"N\",\r\n readonly: \"N\",\r\n widthInTable: \"0\",\r\n hideInPdf: \"N\",\r\n },\r\n },\r\n data: {\r\n value: null,\r\n },\r\n },\r\n };\r\n })\r\n : null,\r\n }}\r\n icon={getIcon(item?.value5)}\r\n layoutType=\"content\"\r\n />\r\n ))}\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default PDFToolBar;\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\ntype Props = {\r\n items: { key: string; label: string }[];\r\n onChange: (key: string) => void;\r\n};\r\n\r\nconst TabsButton = ({ items, onChange }: Props) => {\r\n const [activeKey, setActiveKey] = useState(\"text\");\r\n\r\n useEffect(() => {\r\n onChange(activeKey);\r\n }, [activeKey]);\r\n\r\n return (\r\n <>\r\n
\r\n {items.map((e) => (\r\n {\r\n setActiveKey(e.key);\r\n }}\r\n >\r\n {e.label}\r\n
\r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default TabsButton;\r\n","import { Popover, Button } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { ColorResult, SketchPicker } from \"react-color\";\r\nimport { BgColorsOutlined } from \"@ant-design/icons\";\r\n\r\ntype Props = { color: string; onChageColor: (e: ColorResult) => void };\r\n\r\nconst ColorPicker = ({ color, onChageColor }: Props) => {\r\n const [value, setValue] = useState(\"#ffff\");\r\n\r\n return (\r\n {\r\n setValue(color);\r\n }}\r\n content={\r\n {\r\n setValue(e.hex);\r\n }}\r\n onChangeComplete={onChageColor}\r\n />\r\n }\r\n trigger={\"click\"}\r\n >\r\n
\r\n {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.backgroundSize = e;\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n options={[\r\n { label: \"Cover\", value: \"cover\" },\r\n { label: \"Contain\", value: \"contain\" },\r\n { label: \"Fill \", value: \"fill\" },\r\n ]}\r\n />\r\n \r\n \r\n );\r\n\r\n const textToolComponent = (\r\n <>\r\n \r\n {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.fontFamily = e;\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n options={fontList}\r\n />\r\n \r\n \r\n {\r\n if (controlProperty && e) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.fontSize = e;\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n \r\n \r\n {\r\n if (controlProperty && e) {\r\n let newProps: IControlProperty = {\r\n ...controlProperty,\r\n };\r\n newProps.color = e.hex;\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n \r\n \r\n }\r\n type={controlProperty?.isBold ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.isBold = !newProps.isBold;\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n }\r\n type={controlProperty?.isItalic ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.isItalic = !newProps.isItalic;\r\n\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n }\r\n type={controlProperty?.isUnderlined ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.isUnderlined = !newProps.isUnderlined;\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n \r\n \r\n }\r\n type={\r\n controlProperty?.hAlign === \"flex-start\" ? \"primary\" : \"default\"\r\n }\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.hAlign = \"flex-start\";\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n }\r\n type={controlProperty?.hAlign === \"center\" ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.hAlign = \"center\";\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n }\r\n type={controlProperty?.hAlign === \"flex-end\" ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.hAlign = \"flex-end\";\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n \r\n \r\n }\r\n type={controlProperty?.vAlign === \"flex-end\" ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.vAlign = \"flex-end\";\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n }\r\n type={controlProperty?.vAlign === \"center\" ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.vAlign = \"center\";\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n }\r\n type={\r\n controlProperty?.vAlign === \"flex-start\" ? \"primary\" : \"default\"\r\n }\r\n onClick={() => {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.vAlign = \"flex-start\";\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n />\r\n \r\n {selectionBlock !== undefined && (\r\n \r\n }\r\n type={selectionBlock?.template.value !== \"\" ? \"primary\" : \"default\"}\r\n onClick={() => {\r\n if (\r\n selectionBlock?.template.value &&\r\n selectionBlock?.template.value !== \"\"\r\n ) {\r\n setLinkUrl(selectionBlock?.template?.value);\r\n }\r\n setIsLinkModalOpen(!isLinkModalOpen);\r\n }}\r\n />\r\n \r\n )}{\" \"}\r\n \r\n {\r\n if (controlProperty) {\r\n let newProps: IControlProperty = { ...controlProperty };\r\n newProps.hideLabel = e.target.checked;\r\n setControlProperty(newProps);\r\n }\r\n }}\r\n >\r\n Hide label\r\n \r\n \r\n \r\n );\r\n\r\n const tabsItems = [\r\n {\r\n key: \"layout\",\r\n label: \"Layout\",\r\n children: (\r\n <>\r\n {\" \"}\r\n Page size :\r\n \r\n {\r\n changeDocType(e)\r\n // updatePageProperties({ doctype: e });\r\n }}\r\n options={[\r\n { label: \"A4\", value: \"A4\" },\r\n { label: \"Letter\", value: \"Letter\" },\r\n ]}\r\n />\r\n \r\n Grid size :\r\n \r\n {\r\n if (e) updatePageProperties({ gridSize: e });\r\n }}\r\n />\r\n \r\n Padding :\r\n \r\n {\r\n if (e) updatePageProperties({ padding: e });\r\n }}\r\n />\r\n \r\n \r\n ),\r\n },\r\n {\r\n key: \"text\",\r\n label: selectionBlock?.template.type !== \"staticImage\" ? \"Text\" : \"Image\",\r\n children:\r\n selectionBlock?.template.type !== \"staticImage\"\r\n ? textToolComponent\r\n : imagmeToolComponent,\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n {\r\n setActiveKey(key);\r\n }}\r\n items={tabsItems}\r\n />\r\n \r\n {tabsItems.find((e) => e.key === activeKey)?.children}\r\n \r\n {\r\n if (selectionBlock) {\r\n setPaperLayout([\r\n ...paperLayout.map((e) => {\r\n if (e.children?.length === 0) return e;\r\n\r\n e.children = e.children?.map((child) => {\r\n if (child.i === selectionBlock.i) {\r\n child.template.value = linkUrl;\r\n }\r\n return child;\r\n });\r\n\r\n return e;\r\n }),\r\n ]);\r\n }\r\n setLinkUrl(\"\");\r\n\r\n setIsLinkModalOpen(!isLinkModalOpen);\r\n }}\r\n onCancel={() => {\r\n setLinkUrl(\"\");\r\n\r\n setIsLinkModalOpen(!isLinkModalOpen);\r\n }}\r\n >\r\n {\r\n setLinkUrl(e.target.value);\r\n }}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default PDFEditorToolBar;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { ILayoutTemplate } from \"../../../Context/PDFEditorContext\";\r\nimport { Input } from \"antd\";\r\nconst { TextArea } = Input;\r\ntype Props = {\r\n template: ILayoutTemplate;\r\n h: number;\r\n onBlur: (value: string | null) => void;\r\n};\r\n\r\nconst StaticInput = ({ template, h, onBlur }: Props) => {\r\n const [value, setValue] = useState(template.label);\r\n\r\n return (\r\n <>\r\n {\r\n setValue(e.target.value);\r\n }}\r\n onBlur={() => {\r\n onBlur(value);\r\n }}\r\n />\r\n {`${value}`}\r\n \r\n // {\r\n // setValue(e.target.value);\r\n // }}\r\n // onBlur={() => {\r\n // onBlur(value);\r\n // }}\r\n // />\r\n );\r\n};\r\n\r\nexport default StaticInput;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { ILayoutTemplate } from \"../../../Context/PDFEditorContext\";\r\nimport { Upload, message } from \"antd\";\r\nimport { LoadingOutlined, PlusOutlined } from \"@ant-design/icons\";\r\nimport { useUserContext } from \"../../../Context/UserContext\";\r\nimport { UploadTinyMce } from \"../../../Services/UploadFileService\";\r\n\r\ntype Props = {\r\n template: ILayoutTemplate;\r\n h: number;\r\n w: number;\r\n onUploadComplete: (url: string) => void;\r\n};\r\n\r\nconst StaticImage = ({ template, h, w, onUploadComplete }: Props) => {\r\n const [loading, setLoading] = useState(false);\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const [userData, setUserData] = useUserContext();\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const [imageUrl, setImageUrl] = useState(\"\");\r\n const [visible, setVisible] = useState(false);\r\n useEffect(() => {\r\n const fetchData = () => {\r\n try {\r\n const link = getLink(template.value);\r\n setImageUrl(link);\r\n } catch (error) {\r\n // Handle error\r\n console.error(\"Error fetching image link:\", error);\r\n }\r\n };\r\n\r\n fetchData();\r\n }, [template.value]);\r\n console.log(template);\r\n const imgSize = {\r\n contain:\r\n h > w\r\n ? {\r\n width: \"100%\",\r\n }\r\n : { height: \"100%\", width: \"auto\" },\r\n cover: {},\r\n fill: { width: \"100%\", height: \"100%\" },\r\n };\r\n const getLink = (val: string) => {\r\n if (template.value === \"\") {\r\n return \"\";\r\n }\r\n let imgUrl = \"\";\r\n const protocol = window.location.protocol;\r\n\r\n if (_sharepointSiteURL) {\r\n imgUrl = _sharepointSiteURL + \"/\" + val;\r\n } else {\r\n const _port = window.location.port;\r\n let _tinyURL = _userData.TinyURL;\r\n if (_port) {\r\n _tinyURL = _userData.TinyURL;\r\n }\r\n imgUrl = `${protocol}//` + _tinyURL + val;\r\n }\r\n\r\n return imgUrl !== \"\"\r\n ? imgUrl\r\n : \"https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png\";\r\n };\r\n\r\n const handlePreviewClick = () => {\r\n setVisible(true);\r\n };\r\n\r\n const handleModalClose = () => {\r\n setVisible(false);\r\n };\r\n const checkFile = (file: File) => {\r\n setLoading(true);\r\n const isImage = file.type.startsWith(\"image/\");\r\n if (!isImage) {\r\n message.error(\"You can only upload image files!\");\r\n }\r\n return isImage;\r\n };\r\n\r\n const uploadButton = (\r\n
\r\n {loading ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
Upload
\r\n
\r\n );\r\n\r\n return (\r\n <>\r\n {imageUrl !== \"\" ? (\r\n <>\r\n {template.attribute?.backgroundSize !== \"cover\" ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n ) : (\r\n {\r\n if (e.file.originFileObj) {\r\n const uploadedFile = e.file.originFileObj;\r\n if (uploadedFile) {\r\n const file = new File([uploadedFile], uploadedFile.name, {\r\n lastModified: Date.now(),\r\n });\r\n const formData = new FormData();\r\n formData.append(\"file\", file);\r\n formData.append(\"Doclib\", \"TempAttachment\");\r\n formData.append(\"docSet\", \"TinyImages\");\r\n formData.append(\"fileDesc\", \"\");\r\n formData.append(\"actorID\", userData.EmployeeId.toString());\r\n\r\n var response: any = await UploadTinyMce(formData);\r\n console.log(response);\r\n if (response?.data?.result) {\r\n getLink(response.data.pathUrl);\r\n onUploadComplete(response.data.pathUrl);\r\n }\r\n }\r\n }\r\n\r\n setLoading(false);\r\n }}\r\n // fileList={fileList}\r\n style={{ height: \"100%\" }}\r\n >\r\n {uploadButton}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default StaticImage;\r\n","import React, { useEffect, useMemo, useState } from \"react\";\r\nimport \"../PDFTemplateComponent/PDFTemplateComponent.css\";\r\nimport GridLayout from \"react-grid-layout\";\r\nimport \"react-grid-layout/css/styles.css\"; // CSS for react-grid-layout\r\nimport \"react-resizable/css/styles.css\"; //\r\nimport usePDFEditor from \"../../../hooks/usePDFEditor\";\r\nimport {\r\n IControlLayout,\r\n ILayoutTemplate,\r\n} from \"../../../Context/PDFEditorContext\";\r\nimport StaticInput from \"./StaticInput\";\r\nimport StaticImage from \"./StaticImage\";\r\nimport { FileImageOutlined } from \"@ant-design/icons\";\r\nimport img from \"../../../assets/wolf-slide-left.png\";\r\n\r\ninterface props {\r\n name: \"header\" | \"body\" | \"footer\" | \"content\";\r\n children: IControlLayout[];\r\n paperWidth: number;\r\n}\r\n\r\nconst DropableComponent = ({ name, paperWidth, children }: props) => {\r\n const [rowHeight, setRowHeight] = useState(14);\r\n const [previewImage, setPreviewImage] = useState(false);\r\n const [selectedImg, setSelectedImg] = useState(\"\");\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n\r\n const {\r\n paperLayout,\r\n addLayout,\r\n setPaperLayout,\r\n pageProperty,\r\n onSelectChange,\r\n selectionBlock,\r\n removeSelectedChild,\r\n } = usePDFEditor();\r\n\r\n const tableDisplay = (layout: IControlLayout) => {\r\n let node: React.ReactNode[] = [\r\n
\r\n {layout.template.attribute?.column?.map((e) => {\r\n return (\r\n \r\n {e.label}\r\n \r\n );\r\n })}\r\n ,\r\n ];\r\n // console.log(layout.h * pageProperty.gridSize);\r\n\r\n return node;\r\n };\r\n\r\n useEffect(() => {\r\n const handleKeyDown = (event: { keyCode: number }) => {\r\n if (event.keyCode === 46) {\r\n removeSelectedChild(name);\r\n }\r\n };\r\n\r\n window.addEventListener(\"keydown\", handleKeyDown);\r\n\r\n return () => {\r\n window.removeEventListener(\"keydown\", handleKeyDown);\r\n };\r\n }, [selectionBlock]);\r\n\r\n const imgSize = {\r\n contain: { width: \"100%\" },\r\n cover: { hiegth: \"100%\" },\r\n fill: { width: \"100%\", hiegth: \"100%\" },\r\n };\r\n\r\n const renderContent = (layout: IControlLayout) => {\r\n const isStaticText = layout.template.type === \"staticText\";\r\n const isSelected = selectionBlock?.i === layout.i;\r\n\r\n if (layout.template.type === \"tb\") {\r\n return (\r\n \r\n {tableDisplay(layout)}\r\n
\r\n

{col.headerEn}

\r\n

{col.headerTh}

\r\n
\r\n

EmployeeCode

\r\n

รหัสพนักงาน

\r\n
\r\n

Name

\r\n

ชื่อ

\r\n
\r\n

Position

\r\n

ตำแหน่ง

\r\n
\r\n

Department

\r\n

หน่วยงาน

\r\n
\r\n );\r\n } else if (isStaticText) {\r\n return isSelected ? (\r\n {\r\n if (val !== null) {\r\n setPaperLayout([\r\n ...paperLayout.map((e) => {\r\n if (e.i === name) {\r\n e.children = e.children?.map((child) => {\r\n if (child.i === selectionBlock.i) {\r\n child.template.label = val;\r\n }\r\n\r\n return child;\r\n });\r\n }\r\n return e;\r\n }),\r\n ]);\r\n }\r\n }}\r\n />\r\n ) : (\r\n {`${layout?.template?.label}`}\r\n );\r\n } else if (layout.template.type === \"staticImage\") {\r\n const imgSize = {\r\n contain:\r\n layout.h > layout.w\r\n ? {\r\n width: \"100%\",\r\n }\r\n : { height: \"100%\", width: \"auto\" },\r\n cover: {},\r\n fill: { width: \"100%\", height: \"100%\" },\r\n };\r\n return isSelected ? (\r\n {\r\n if (val !== null) {\r\n setPaperLayout([\r\n ...paperLayout.map((e) => {\r\n if (e.i === name) {\r\n e.children = e.children?.map((child) => {\r\n if (child.i === selectionBlock.i) {\r\n child.template.value = val;\r\n }\r\n\r\n return child;\r\n });\r\n }\r\n return e;\r\n }),\r\n ]);\r\n }\r\n }}\r\n />\r\n ) : layout.template.attribute?.backgroundSize !== \"cover\" ? (\r\n <>\r\n {\" \"}\r\n {layout.template.value === \"\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ) : (\r\n \r\n {layout.template.value === \"\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
\r\n );\r\n } else if (layout.template.type === \"l\") {\r\n return (\r\n {`${\r\n layout.template.attribute?.hideLabel ? \"\" : layout.template.label\r\n }`}\r\n );\r\n } else {\r\n return (\r\n {`${\r\n layout.template.attribute?.hideLabel\r\n ? \"\"\r\n : layout.template.label + \" : \"\r\n } ${layout?.template?.attribute?.default || \"value\"}`}\r\n );\r\n }\r\n };\r\n\r\n const getLink = (val: string) => {\r\n if (val === \"\") {\r\n return \"\";\r\n }\r\n let imgUrl = \"\";\r\n const protocol = window.location.protocol;\r\n\r\n if (_sharepointSiteURL) {\r\n imgUrl = _sharepointSiteURL + \"/\" + val;\r\n } else {\r\n const _port = window.location.port;\r\n let _tinyURL = _userData.TinyURL;\r\n if (_port) {\r\n _tinyURL = _userData.TinyURL;\r\n }\r\n imgUrl = `${protocol}//` + _tinyURL + val;\r\n }\r\n\r\n return imgUrl !== \"\"\r\n ? imgUrl\r\n : \"https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png\";\r\n };\r\n\r\n const childrenLayout = useMemo(() => {\r\n return children.map((layout, idx) => {\r\n const isSelected = selectionBlock?.i === layout.i;\r\n const isPortrait = layout.h > layout.w;\r\n return (\r\n {\r\n onSelectChange(layout);\r\n }}\r\n >\r\n {renderContent(layout)}\r\n \r\n );\r\n });\r\n }, [paperLayout, selectionBlock]);\r\n\r\n return (\r\n <>\r\n {\" \"}\r\n {\r\n setPaperLayout([\r\n ...paperLayout.map((e) => {\r\n if (e.i === name) {\r\n e.children = e.children?.map((child) => {\r\n const layout = layouts.find((layout) => layout.i === child.i);\r\n if (layout) {\r\n child.x = layout.x;\r\n child.y = layout.y;\r\n }\r\n return child;\r\n });\r\n }\r\n return e;\r\n }),\r\n ]);\r\n }}\r\n onResizeStop={(layouts) => {\r\n if (!pageProperty.isDragingFromOutSide) {\r\n setPaperLayout([\r\n ...paperLayout.map((e) => {\r\n if (e.i === name) {\r\n e.children = e.children?.map((child) => {\r\n const layout = layouts.find(\r\n (layout) => layout.i === child.i\r\n );\r\n\r\n if (layout) {\r\n child.w = layout.w;\r\n child.h = layout.h;\r\n }\r\n\r\n return child;\r\n });\r\n }\r\n return e;\r\n }),\r\n ]);\r\n }\r\n }}\r\n onDrop={(layouts, item: any, e: any) => {\r\n try {\r\n const data: ILayoutTemplate = JSON.parse(\r\n e.dataTransfer.getData(\"application/json\")\r\n );\r\n addLayout(name, item, data);\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }}\r\n >\r\n {childrenLayout}\r\n \r\n \r\n );\r\n};\r\nexport default DropableComponent;\r\n","import React, {\r\n RefAttributes,\r\n useEffect,\r\n useMemo,\r\n useRef,\r\n useState,\r\n} from \"react\";\r\nimport { Responsive, WidthProvider } from \"react-grid-layout\";\r\nimport \"../PDFTemplateComponent/PDFTemplateComponent.css\";\r\nimport PDFElementBox from \"./PDFElementBox\";\r\nimport GridLayout from \"react-grid-layout\";\r\nimport usePDFEditor from \"../../../hooks/usePDFEditor\";\r\nimport \"react-grid-layout/css/styles.css\"; // CSS for react-grid-layout\r\nimport \"react-resizable/css/styles.css\"; //\r\nimport DropableComponent from \"./DropableComponent\";\r\nimport { DragOutlined } from \"@ant-design/icons\";\r\nimport { Button, Tag } from \"antd\";\r\nimport { IControlLayout } from \"../../../Context/PDFEditorContext\";\r\nimport { findMaxInArrayObject } from \"../../../Helper/arrayHelper\";\r\nconst ResponsiveGridLayout = WidthProvider(Responsive);\r\n\r\ninterface props {\r\n scale: number;\r\n}\r\n\r\nconst PaperLayout = React.memo(({ scale }: props) => {\r\n const {\r\n paperLayout,\r\n addLayout,\r\n pageProperty,\r\n setPaperLayout,\r\n updatePageProperties,\r\n refHtml,\r\n selectionBlock,\r\n onDeselected,\r\n } = usePDFEditor();\r\n\r\n const refPaper = useRef(null);\r\n\r\n useEffect(() => {\r\n const handleZoom = () => {\r\n // Set the scale based on your zoom logic\r\n\r\n // Center the paper div within the board\r\n if (refPaper.current && refPaper.current?.parentElement) {\r\n const boardWidth = refPaper.current?.parentElement?.clientWidth;\r\n const boardHeight = refPaper.current?.parentElement?.clientHeight;\r\n const paperWidth = refPaper.current.clientWidth * scale;\r\n const paperHeight = refPaper.current.clientHeight * scale;\r\n\r\n const offsetX = (boardWidth - paperWidth) / 2;\r\n const offsetY = (boardHeight - paperHeight) / 2;\r\n\r\n refPaper.current.style.transform = `scale(${scale})`;\r\n refPaper.current.style.left = `${offsetX}px`;\r\n // refPaper.current.style.top = `${offsetY}px`;\r\n }\r\n };\r\n\r\n handleZoom();\r\n }, [scale]);\r\n\r\n const checkForNewPage = (height: number) => {\r\n if (height / pageProperty.pageAmount > pageProperty.pageSize?.height) {\r\n updatePageProperties({\r\n pageAmount: pageProperty.pageAmount + 1,\r\n });\r\n } else if (\r\n height > pageProperty.pageSize?.height &&\r\n height <= pageProperty.pageSize?.height * pageProperty.pageAmount &&\r\n height <= pageProperty.pageSize?.height * (pageProperty.pageAmount - 1)\r\n ) {\r\n updatePageProperties({\r\n pageAmount: pageProperty.pageAmount - 1,\r\n });\r\n } else if (\r\n pageProperty.pageAmount - 1 === 1 &&\r\n height < pageProperty.pageSize?.height\r\n ) {\r\n updatePageProperties({\r\n pageAmount: 1,\r\n });\r\n }\r\n };\r\n\r\n const breakPages = () => {\r\n const lines: any[] = [];\r\n for (let i = 1; i < pageProperty.pageAmount; i++) {\r\n lines.push(\r\n \r\n );\r\n }\r\n return lines;\r\n };\r\n\r\n const renderedPaperLayout = useMemo(() => {\r\n return paperLayout.map((e: any) => {\r\n e.isBounded = true;\r\n return (\r\n \r\n {e.i}\r\n \r\n {e.i === \"body\" && breakPages()}\r\n \r\n );\r\n });\r\n }, [paperLayout]);\r\n\r\n return (\r\n <>\r\n \r\n
\r\n {\r\n const bodyElement = refPaper.current?.querySelector(\".body\");\r\n if (bodyElement instanceof HTMLElement) {\r\n checkForNewPage(bodyElement.offsetHeight);\r\n }\r\n }}\r\n onResizeStop={(layouts, oldItem, newItem) => {\r\n setPaperLayout([\r\n ...paperLayout.map((layout) => {\r\n if (layout?.children) {\r\n if (layout.i === newItem.i) {\r\n layout.w = newItem.w;\r\n layout.h = newItem.h;\r\n }\r\n }\r\n\r\n return layout;\r\n }),\r\n ]);\r\n }}\r\n >\r\n {renderedPaperLayout}\r\n \r\n
\r\n \r\n \r\n );\r\n});\r\n\r\nexport default PaperLayout;\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport \"../PDFTemplateComponent/PDFTemplateComponent.css\";\r\n\r\nimport PDFToolBar from \"./PDFToolBar\";\r\nimport usePDFEditor from \"../../../hooks/usePDFEditor\";\r\nimport PDFEditorToolBar from \"./PDFEditorToolBar\";\r\nimport PaperLayout from \"./PaperLayout\";\r\nimport { ZoomInOutlined, ZoomOutOutlined } from \"@ant-design/icons\";\r\nimport { Button, Col, Popover, Row, Spin, Switch, Tabs, TabsProps } from \"antd\";\r\nimport { IControlLayout } from \"../../../Context/PDFEditorContext\";\r\nimport { GetMasterDataReportTem } from \"../../../Services/MasterDataService\";\r\nimport { ITemplatePDF } from \"../../../IRequestModel/CreateFormControl/ITemplatePDF\";\r\n\r\ntype Props = {\r\n advanceForm: any;\r\n templateID: string;\r\n setControlModel: any;\r\n reportTem: any[];\r\n fontList: any[];\r\n templatePDF: ITemplatePDF;\r\n};\r\n\r\nconst PDFTemplateComponent = ({\r\n advanceForm,\r\n templateID,\r\n setControlModel,\r\n reportTem,\r\n fontList,\r\n templatePDF,\r\n}: Props) => {\r\n const {\r\n paperLayout,\r\n pageProperty,\r\n selectionBlock,\r\n setPaperLayout,\r\n updatePageProperties,\r\n onDeselected,\r\n refHtml,\r\n } = usePDFEditor();\r\n const [scale, setScale] = useState(1);\r\n var _userData = JSON.parse(window.localStorage.getItem(\"userData\") || \"\");\r\n const _sharepointSiteURL = _userData.SharepointSiteURL;\r\n const [isEnabled, setIsEnabled] = useState(templatePDF.IsActive);\r\n useEffect(() => {\r\n if (templatePDF.JsonLayout) {\r\n setPaperLayout(JSON.parse(templatePDF.JsonLayout));\r\n updatePageProperties({ ...JSON.parse(templatePDF.JsonProps) });\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n genFormat();\r\n }, [paperLayout, pageProperty, isEnabled]);\r\n\r\n const getLink = (val: string) => {\r\n let imgUrl = \"\";\r\n const protocol = window.location.protocol;\r\n\r\n if (_sharepointSiteURL) {\r\n imgUrl = _sharepointSiteURL + \"/\" + val;\r\n } else {\r\n const _port = window.location.port;\r\n let _tinyURL = _userData.TinyURL;\r\n if (_port) {\r\n _tinyURL = _userData.TinyURL + \":\" + _port;\r\n }\r\n imgUrl = `${protocol}//` + _tinyURL + val;\r\n }\r\n\r\n return imgUrl !== \"\"\r\n ? imgUrl\r\n : \"https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png\";\r\n };\r\n\r\n // const fecthMasterData = async () => {\r\n // const res = await GetMasterDataReportTem();\r\n // console.log(res);\r\n // };\r\n\r\n const genFormat = () => {\r\n try {\r\n let requestResult: any[] = [];\r\n paperLayout.forEach((layout, index) => {\r\n const _layout = layout?.children?.sort((a, b) => a.y - b.y);\r\n if (_layout) {\r\n const elements = refHtml.current?.getElementsByClassName(layout.i);\r\n let allDivElement = elements;\r\n if (elements && elements.length > 0) {\r\n for (let i = 0; i < elements.length; i++) {\r\n const element = elements[i];\r\n const allElements = element.getElementsByClassName(\"child-grid\");\r\n allDivElement = allElements;\r\n }\r\n }\r\n let result: any[][] = [];\r\n let tableCount = _layout.filter(\r\n (e) => e.template.type === \"tb\"\r\n ).length;\r\n let tempAfter: IControlLayout[] = [];\r\n for (let i = 0; i <= tableCount; i++) {\r\n let beforeTb: any[] = [];\r\n let isBeforeTb = true;\r\n let afterTb: any[] = [];\r\n let tableControl: any[] = [];\r\n if (allDivElement) {\r\n if (i === 0) {\r\n for (const item of _layout) {\r\n if (item.template.type === \"tb\") {\r\n isBeforeTb = false;\r\n if (tableControl.length === 0) {\r\n tableControl.push({\r\n i: item.i,\r\n w: item.w,\r\n h: item.h,\r\n x: item.x,\r\n y: item.y,\r\n type: item.template.type,\r\n Alabel: item.template.label,\r\n html: getDivForTemplate(allDivElement, item),\r\n });\r\n }\r\n }\r\n\r\n if (isBeforeTb) {\r\n beforeTb.push({\r\n i: item.i,\r\n w: item.w,\r\n h: item.h,\r\n x: item.x,\r\n y: item.y,\r\n type: item.template.type,\r\n Alabel: item.template.label,\r\n html: getDivForTemplate(allDivElement, item),\r\n });\r\n } else {\r\n afterTb.push(item);\r\n }\r\n }\r\n } else {\r\n tempAfter = tempAfter.slice(1, tempAfter.length);\r\n\r\n const a = tempAfter?.find((e) => e.template.type === \"tb\");\r\n if (a) {\r\n tableControl.push({\r\n i: a.i,\r\n w: a.w,\r\n h: a.h,\r\n x: a.x,\r\n y: a.y,\r\n type: a.template.type,\r\n Alabel: a.template.label,\r\n html: getDivForTemplate(allDivElement, a),\r\n });\r\n }\r\n\r\n for (const item of tempAfter) {\r\n if (item.template.type === \"tb\") {\r\n isBeforeTb = false;\r\n }\r\n\r\n if (isBeforeTb) {\r\n beforeTb.push({\r\n i: item.i,\r\n w: item.w,\r\n h: item.h,\r\n x: item.x,\r\n y: item.y,\r\n type: item.template.type,\r\n Alabel: item.template.label,\r\n html: getDivForTemplate(allDivElement, item),\r\n });\r\n } else {\r\n afterTb.push(item);\r\n }\r\n }\r\n }\r\n }\r\n\r\n result.push(beforeTb);\r\n if (tableControl.length > 0) result.push(tableControl);\r\n\r\n tempAfter = afterTb;\r\n beforeTb = [];\r\n }\r\n\r\n requestResult.push(result);\r\n }\r\n });\r\n console.log(requestResult);\r\n\r\n setControlModel((prevState: any) => ({\r\n ...prevState,\r\n templatePDF: {\r\n ID: 0,\r\n TemplateId: templateID,\r\n JsonProps: JSON.stringify(pageProperty),\r\n JsonLayout: JSON.stringify(paperLayout),\r\n HeaderLayout: JSON.stringify(requestResult[0]),\r\n BodyLayout: JSON.stringify(requestResult[1]),\r\n FooterLayout: JSON.stringify(requestResult[2]),\r\n isActive: isEnabled,\r\n },\r\n }));\r\n } catch (error) {\r\n console.error(\"genFormat=>error\", error);\r\n }\r\n };\r\n\r\n const getDivForTemplate = (\r\n allDivElement: HTMLCollectionOf,\r\n item: IControlLayout\r\n ) => {\r\n const tempDiv = document.createElement(\"div\");\r\n var regex = /(\\btransform:\\s*[^;]+;|position:\\s*absolute;)/g;\r\n for (let i = 0; i < allDivElement.length; i++) {\r\n const element = allDivElement[i];\r\n // Use getElementsByClassName on the individual element to get elements with a new class name\r\n const title = element.getAttribute(\"title\");\r\n if (title === item.i) {\r\n try {\r\n if (item.template.type !== \"staticImage\") {\r\n tempDiv.setAttribute(\"style\", element.getAttribute(\"style\") || \"\");\r\n tempDiv.style.padding = \"\";\r\n tempDiv.style.width = \"100%\";\r\n tempDiv.style.height = \"100%\";\r\n } else {\r\n tempDiv.style.textAlign = \"center\";\r\n }\r\n\r\n const content = element?.getElementsByClassName(\r\n \"content\"\r\n )[0] as HTMLElement;\r\n if(content){\r\n const computedStyle = window.getComputedStyle(content);\r\n content.style.lineHeight = computedStyle.lineHeight;\r\n content.style.fontSize = tempDiv.style.fontSize;\r\n content.style.fontFamily = tempDiv.style.fontFamily;\r\n content.style.fontWeight = tempDiv.style.fontWeight;\r\n }\r\n tempDiv.appendChild(content.cloneNode(true));\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n }\r\n\r\n return tempDiv.outerHTML\r\n .replace(regex, \"\")\r\n .replace(/hidden/g, \"\")\r\n .replace(/border:\\s*[^;]+;/g, \"\")\r\n .replace(\"Column value\", \"{value}\")\r\n .replace(\":5001\", \"\");\r\n };\r\n\r\n const zoomIn = () => {\r\n if (scale < 2) {\r\n setScale(scale + 0.1);\r\n }\r\n };\r\n\r\n const zoomOut = () => {\r\n if (scale > 0) {\r\n setScale(scale - 0.1);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n \r\n
\r\n Enabled : \r\n {\r\n setIsEnabled(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\nexport default PDFTemplateComponent;\r\n","export const getScreenWidthWithBreakpoint = () => {\r\n const screenWidth = window.innerWidth;\r\n if (screenWidth >= 1200) {\r\n return \"xl\";\r\n } else if (screenWidth >= 992) {\r\n return \"lg\";\r\n } else if (screenWidth >= 768) {\r\n return \"md\";\r\n } else if (screenWidth >= 576) {\r\n return \"sm\";\r\n } else {\r\n return \"xs\";\r\n }\r\n};\r\n","import { Modal, Form, Col, Row, Input, Select, Space, Button } from \"antd\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport {\r\n PlusOutlined,\r\n MinusCircleOutlined,\r\n CloseOutlined,\r\n} from \"@ant-design/icons\";\r\nimport { BiSave } from \"react-icons/bi\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\nimport { LogicFormProps, refInfors } from \"../JsonLogicForm\";\r\nimport { enumToObject } from \"../../../../Helper/LogicHelper\";\r\nimport { LogicOperatorType } from \"../../../../constants/logic-type\";\r\nconst { Option, OptGroup } = Select;\r\n\r\ntype Props = {\r\n rowData: any;\r\n onSubmit: (formData: any) => void;\r\n} & LogicFormProps;\r\n\r\nconst ShowHideControlModal = ({\r\n rowData,\r\n onSubmit,\r\n advanceFormItem,\r\n}: Props) => {\r\n const [form] = Form.useForm();\r\n const [formData, setFormData] = useState();\r\n const operators = enumToObject(LogicOperatorType);\r\n\r\n useEffect(() => {\r\n if (rowData) form.setFieldsValue(rowData);\r\n }, [rowData]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n }\r\n onClickProps={() => {\r\n onSubmit(undefined);\r\n }}\r\n />\r\n \r\n \r\n }\r\n onClickProps={() => {\r\n onSubmit(formData);\r\n }}\r\n />\r\n \r\n \r\n \r\n }\r\n >\r\n {\r\n setFormData(allValues);\r\n }}\r\n >\r\n \r\n {(fields, { add, remove }) => {\r\n return (\r\n <>\r\n {fields.map(({ key, name, ...restField }, idx) => (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {advanceFormItem.map((item: any, index) => {\r\n if (item.columns) {\r\n return (\r\n \r\n {item.columns.map((option: any) => (\r\n \r\n {option.label}\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 {Object.entries(operators).map(\r\n ([value, label], index) => (\r\n \r\n )\r\n )}\r\n \r\n \r\n {\r\n if (\r\n !value &&\r\n !form.getFieldValue(\"conditions\")[name][\r\n \"comparewith\"\r\n ]\r\n ) {\r\n return Promise.reject(\r\n \"Value or comparewith cannot be empty\"\r\n );\r\n }\r\n return Promise.resolve();\r\n },\r\n },\r\n ]}\r\n >\r\n \r\n \r\n {\r\n if (\r\n !value &&\r\n !form.getFieldValue(\"conditions\")[name][\r\n \"value\"\r\n ]\r\n ) {\r\n return Promise.reject(\r\n \"Value or comparewith cannot be empty\"\r\n );\r\n }\r\n return Promise.resolve();\r\n },\r\n },\r\n ]}\r\n >\r\n \r\n \r\n\r\n remove(name)}\r\n rev={undefined}\r\n />\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n add()}\r\n block\r\n icon={}\r\n >\r\n Add condition\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 ShowHideControlModal;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Button, Checkbox, Divider, Form, Input, Select, Space } from \"antd\";\r\nimport { PlusOutlined, MinusCircleOutlined } from \"@ant-design/icons\";\r\nimport { getScreenWidthWithBreakpoint } from \"../../../../Helper/ScreenHelper\";\r\nimport ConditionRow from \"./ConditionRow\";\r\nimport { LogicFormProps } from \"../JsonLogicForm\";\r\nimport { ButtonComponents } from \"../../../ButtonComponents/ButtonComponents\";\r\nimport ShowHideControlModal from \"./ShowHideControlModal\";\r\nimport TextArea from \"antd/lib/input/TextArea\";\r\nimport { RuleObject } from \"antd/lib/form\";\r\nimport { StoreValue } from \"antd/lib/form/interface\";\r\nconst { Option, OptGroup } = Select;\r\n\r\nconst HideAndReadOnlyControlForm = ({\r\n advanceFormItem,\r\n form,\r\n}: LogicFormProps) => {\r\n const [breakpoint, setBreakpoint] = useState(getScreenWidthWithBreakpoint());\r\n const [selectedDataIdx, setSelectedDataIdx] = useState(-1);\r\n\r\n const controlOption: any[] = advanceFormItem\r\n .map((item) => {\r\n if (item.type === \"tb\" && item.columns) {\r\n return {\r\n label: item.label,\r\n value: JSON.stringify({\r\n label: item.label,\r\n type: item.type,\r\n }),\r\n options: item.columns.map((col) => ({\r\n label: col.label,\r\n value: JSON.stringify({\r\n label: col.label,\r\n type: col.type,\r\n isInTable: item.label,\r\n }),\r\n })),\r\n };\r\n }\r\n return {\r\n label: item.label,\r\n value: JSON.stringify({\r\n label: item.label,\r\n type: item.type,\r\n }),\r\n };\r\n })\r\n .filter((e) => e.label);\r\n\r\n useEffect(() => {\r\n const handleResize = () => {\r\n setBreakpoint(getScreenWidthWithBreakpoint());\r\n };\r\n\r\n window.addEventListener(\"resize\", handleResize);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", handleResize);\r\n };\r\n }, []);\r\n\r\n // Responsive layout\r\n const isSmallScreen = breakpoint === \"xs\" || breakpoint === \"sm\";\r\n\r\n return (\r\n <>\r\n \r\n \r\n {controlOption.map((item: any, index) => {\r\n if (item.options) {\r\n return (\r\n <>\r\n \r\n \r\n {item.options.map((option: any) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n \r\n \r\n \r\n Conditions\r\n {\r\n console.log(val);\r\n\r\n if (!val || val.length < 1) {\r\n return Promise.reject(new Error(\"At least 1 condition\"));\r\n }\r\n },\r\n },\r\n ]}\r\n >\r\n {(fields, { add, remove }, { errors }) => {\r\n return (\r\n <>\r\n {fields.map(({ key, name, ...restField }, idx) => (\r\n \r\n \r\n {\r\n setSelectedDataIdx(idx);\r\n }}\r\n />\r\n \r\n \r\n