{"version":3,"sources":["i18n.js","constants.js","components/PdfViewer.js","components/ModalDialog.js","components/helpers/HelperFunctions.js","components/Pagination.js","components/table/ColumnFilter.js","components/table/TableColumn.js","components/table/TableRow.js","components/table/Table.js","components/helpers/CheckFunctions.js","components/Svg.js","components/helpers/GlobalEventDispatcher.js","components/forms/CheckSignsForm.js","components/forms/SignForm.js","components/listsOfAlfresco/ListOfContracts.js","components/listsOfAlfresco/ListOfUsersTaskExecuters.js","components/documents/DocumentHelpers.js","components/Tabs.js","components/comments/CommentsForm.js","components/forms/ExternalSigners.js","components/documents/Document.js","components/listsOfAlfresco/ListOfDocuments.js","settings/clientSettings.js","components/forms/TransferListInput.js","components/table/TableFilterBlock.js","components/forms/PasswordInput.js","components/listsOfAlfresco/ListOfAlfresco.js","components/table/FoldersListBlock.js","components/forms/EditFileForm.js","components/forms/EditFolderForm.js","components/forms/StatutoryDocsForm.js","components/documents/DynamicForm.js","components/forms/DateTimeInput.js","components/form/Form.js","components/listsOfAlfresco/ListHelpers.js","components/documents/AttachmentForm.js","components/comments/CommentForm.js","components/comments/Comment.js","components/documents/AdditionalDocument.js","components/documents/DocumentInfo.js","components/documents/DocumentTitle.js","components/documents/AttachmentsForm.js","components/listsOfAlfresco/ListOfCompanies.js","components/forms/ActionsPanel.js","components/table/TableButtonsBlock.js","components/forms/EditUserForm.js","components/forms/UserInvitationForm.js","components/listsOfAlfresco/ListOfUserCompanies.js","components/listsOfAlfresco/ListOfUsers.js","components/documents sync /^/.*$","components/documents/Invoice.js","components/documents/counterparties.js","components/documents/cpSignatory.js","components/documents/score.js","locales sync /^/.*/.json$","settings sync /^/.*/.js$","settings/AdditionalDocument.js","settings/Bank.js","settings/FilesAttachments.js","settings/MainContent.js","settings/MenuLinks.js","settings/Signer.js","settings/mainContentDigitalSignatures.js","components/account/AccountFormHeader.js","components/account/AccountMessageContainer.js","components/account/AccountHelper.js","components/account/LoginPage.js","components/account/RegisterPage.js","components/account/RestorePasswordPage.js","components/account/PasswordRecoveryPage.js","components/account/SessionEndedPage.js","components/menu/NavMenuItem.js","components/menu/NavMenu.js","components/listsOfAlfresco/ListOfSearchResults.js","components/menu/MenuItem.js","components/FeedbackForm.js","components/menu/CopyrightItem.js","components/menu/LeftMenu.js","components/Content.js","components/pages/ResponseStatusePage.js","components/AccessContent.js","components/pages/AccessDeniedPage.js","components/pages/StatutoryDocumentsPage.js","components/pages/TemplateDocumentsPage.js","components/pages/AnnouncementDocumentsPage.js","components/forms/EditLinkForm.js","components/forms/MenuLinksForm.js","components/forms/InfoSettingsForm.js","components/forms/ProfileSettingsForm.js","components/forms/PricesSettingsForm.js","components/forms/PricesTable.js","components/DocumentsRegisterRoutes.js","App.js","index.js"],"names":["settings","require","i18n","use","initReactI18next","init","resources","Object","assign","languages","map","item","translation","concat","fallbackLng","language","interpolation","escapeValue","debug","mime","History","createBrowserHistory","UserContext","React","createContext","urls","accessDeniedPage","loginPage","registerPage","recoveryPasswordPage","restorePasswordPage","sessionEndedPage","actionTypes","preview","sign","edit","remove","download","block","unblock","export","add","addDir","toAcreditation","additionalSign","save","cancel","loadSigns","notAdd","reject","annul","previewMainDocument","reset","join","changeTaslExecuter","invoice","score","constants","allowedInfoFileExtensions","acceptInfoIputFileString","placeholderDialogId","allowedStatutoryFileExtensions","allowedPricesFileExtensions","acceptPricesInputFileString","lookup","allowedAdditionalFileExtensions","acceptAdditionalInputFileString","allowedIconFileExtensions","acceptIconFileString","statusFieldColors","companyTypes","Entity","Individual","companyTypeTitles","formFieldTypes","select","int","bool","string","datetime","phone","file","empty","formStringFieldPatterns","email","codeIPN","codeEDRPO","mFO","legalPersonIPN","number","integer","iBan","settingsFormTypes","settingsType","adminType","statutoryDocTypes","statutory","template","announcement","searchTableTypes","Users","Companies","Documents","Requests","PendingDocuments","Contracts","formModes","all","create","read","attachmentStatuses","noDoc","NotAdded","New","Signed","filterDividers","FilterPartsDivider","FilterValuesDivider","FilterNameValueDivider","alfrescoTypes","counterparties","contract","outgoingDocument","incomingDocument","additionalDocument","additionalFiles","specification","signatureStates","signed","paginationSettings","value","buttonsCount","documentsRegisterRoutes","lable","i18next","t","path","saveApi","type","withTabs","docsForRepresentationTypes","extraction","powerOfAttorney","statute","order","protocol","docsForRepresentationDictionary","alfrescoRoles","PORTAL_ADMINISTRATOR","MODERATOR","documentStatuses","preparing","All","documentBpActions","activitiprocessAccreditationCA","completeCounterpartyCorrections","activiti$processInvoice","activiti$returnContractToCorrections","activiti$completeContractsSigning","initiatorSystem","COFCO","PORTAL","pricesTemplateFileName","loadingIcone","logoutIcone","userInstructionFileName","loginFaildeStatus","userBlocked","userNotExist","maxFileSize","leftMenuTypes","divider","link","PdfViewer","Component","constructor","props","super","this","state","numPages","bufferScale","scale","pageIndex","setScale","_scale$toString$match","_scale$toString","_scale$toString$match2","re","toString","match","test","setState","render","src","createElement","className","onClick","e","preventDefault","bind","Number","onChange","HelperFunctions","name","keys","onBlur","target","onKeyDown","keyCode","blur","Document","onLoadSuccess","page","loading","onSourceError","Array","from","el","index","Page","key","showModalDialog","dialogId","header","icone","children","additionalClasses","canClose","arguments","length","undefined","buttons","closeCalback","headerIconButtons","hideModal","dialog","document","getElementById","ReactDOM","ModalDialog","body","style","position","top","getBodyScrollTop","overflowY","width","hideModalDialog","currentCompanyName","closeDialog","componentDidMount","currentObject","getCurrentCompanyInfo","then","info","closeDialogFunction","dialogFormId","id","onMouseDown","window","event","srcElement","mouseUpEvent","removeEventListener","addEventListener","role","alt","btn","onClickCallback","Svg","height","viewBox","fill","xmlns","d","class","clickHandler","title","scrollValue","startsWith","substr","endsWith","scrollTo","parseInt","pageYOffset","documentElement","scrollTop","unknownErrorMessageDialog","redirectUrl","push","messageDialog","message","handleCloseDialog","errorMessageDialog","viewPdfDialog","nodeRef","view","fetch","method","async","response","ok","data","json","errorCode","content","url","toLowerCase","includes","viewFile","URL","createObjectURL","base64toBlob","fileName","viewFileFolderSystemFile","urlPath","blob","blobby","Blob","status","objectUrl","Fragment","anchor","href","click","revokeObjectURL","isValidFileSizeDialog","size","isSafeInteger","isAllowedFileTypeDialog","allowedExtensions","extensions","getArrayIds","columns","result","i","getFilterString","filterValues","filter","addedCount","values","needAdd","addedPart","j","encodeURIComponent","parseFilterString","parts","decodeURIComponent","split","parts2","valueParts","getBase64","witMimType","result_base64","Promise","resolve","fileReader","FileReader","onload","readAsDataURL","mimeType","lastIndexOf","slice","pop","readAsUint8Array","reader","readAsArrayBuffer","onloadend","_ref","Uint8Array","onerror","sortArray","items","fildName","isAsk","sort","a","b","index1","index2","ExportToCSV","csvContent","column","hidden","headerName","replaceAll","encodedUri","encodeURI","navigator","msSaveBlob","msSaveOrOpenBlob","saveAs","setAttribute","dispatchEvent","MouseEvent","transliterationOfFirstLettersTable","transliterationTable","transliterateString","str","ownName","isUpper","replace","RegExp","toUpperCase","urltoFile","filename","res","arrayBuffer","buf","File","setUrlParam","kvp","location","search","pair","params","pathname","getUrlParam","param","substring","toLocaleLowerCase","getCurrentUrlPath","curUrl","getWordWithCorrectEnding","word","lastTwoNumbers","Math","round","prefix","bytes","atob","out","charCodeAt","logout","localStorage","getItem","removeItem","changeInputValue","checked","getAttribute","uint8ToBase64","arr","btoa","_","String","fromCharCode","objToLowercase","obj","reduce","acc","setOnPageCount","count","setItem","getOnPageCount","_localStorage$getItem","encodeHTML","text","p","textContent","innerHTML","decodeHtml","html","txt","parseUtcDateString","date","ex","console","log","getLocalDateString","toLocaleDateString","timeZone","getLocalTimeString","toLocaleTimeString","capitalizeObjectKeys","forEach","newKey","hasOwnProperty","deepObjectEqual","object1","object2","keys1","keys2","val1","val2","areObjects","isObject","object","Pagination","pageSize","keyIndex","handlePageSelected","handleChangePageSize","componentWillReceiveProps","nextProps","allCount","pageCount","current","leftRangeAdded","leftRightCount","floor","min","firtNumber","lastNumber","fillRule","clipRule","FormControl","Select","_item$label","MenuItem","label","handlePageChange","ColumnFilter","allowedValues","enums","it","filteredValues","showFilter","checkedList","showFilterInColumn","handlerCheckAll","handlerCheck","clickListener","targetId","hasParent","componentWillUnmount","element","parentElement","onColumnFilter","indexOf","allChecked","htmlFor","TableColumn","getPhoneHref","getStatusColColor","color","onDocLinkClick","col","buttonSettings","TableColumnType","Phone","display","Email","DocLink","Status","backgroundColor","Button","Bool","Image","Comment","dangerouslySetInnerHTML","__html","Date","DateTime","toLocaleString","Reorder","disabled","firstRow","stopPropagation","reorderUpHandler","lastRow","reorderDownHandler","TableRow","onRowClick","onRowDoubleClick","Id","ckeckBox","renderCols","cols","actions","actionIndex","findIndex","act","handlerAction","allowDoubleClickAction","onDoubleClick","Default","Double","Enum","saveColumnSettings","columnSettings","handleSuccess","headers","JSON","stringify","Table","sortBy","isDesk","v4","showActionsPanel","handlerUncheckAll","actionHandlerCallback","globalEventListerner","globalEventDispatcher","subscribe","actionType","dispatcherActionTypes","onUnselectTableAllRows","getActions","_items$find$actions$s","_items","_items$find","_items$find$actions","find","checkedItems","isMultiaction","actionsForAll","_this$props$actionsFo","onCheckChangeHandler","dispatch","onRowSelected","tableName","isChecked","isAll","splice","handleSortChange","showPagination","allowedEnumValues","showMoreLink","_column$id","canSort","ActionsPanel","checkedCount","getEnumsTitle","collumnsSettings","collumnName","_collumnsSettings$fin","_collumnsSettings$fin2","_collumnsSettings$fin3","checkPhone","trim","checkEmail","checkCompanyRegisterCode","code","getSum","shift","step","controlSum","multiplayer","sum","checkPersoneRegisterCode","companyType","checkPassword","password","checkFileName","checkMFO","checkBankScore","storageName","storage","markup","parse","isEmpty","loadSvg","isLoaded","catch","err","warn","defaultProps","callBacks","sessionTime","timerIds","setSesionTimeout","logoutUser","clearTimeout","timerId","callback","f","unsubscribe","eventType","func","user","setTimeout","onCompanyUpdated","onCurrentUserUpdated","onUserAction","onTabChanged","onMenuChanged","CheckSignsForm","signedFiles","groupsOfSigns","documentTypeValue","signs","subjEdrpou","subjDrfo","CheckSignsGroup","expanded","onExpand","organization","CheckSignsItem","signSerial","_data$documentTypeVal","_data$content","_data$content2","SignItem","signatory","issuerCN","checkSertificates","sertificates","withoutStamp","withoutSign","subjEDRPOUCode","subjDRFOCode","subjCN","infoEx","keyLoaded","error","SignForm","badExtension","sending","submitted","files","euSign","onCancel","onSign","signFile","EndUser","FormType","ReadPKey","ReadPrivateKey","handlerClose","handlerRestart","onCloseHandler","SignHash","SignAlgo","DSTU4145WithGOST34311","SignType","CAdES_X_Long","_this$props","onSignHandler","ids","rows","row","actionHandlerCallbackDefault","renderContent","btnClass","sortIndex","allColumns","canFilter","TableFilterBlock","hideSettings","onColumnsUpdateHandler","exportFileName","onSearch","onSearchClear","columnsSettings","selected","getItems","getItemsForExport","loadData","_content$rows","additionalFilter","loadDataP","loadListData","prop_sys_node_uuid","reload","getFile","asZip","withSign","reponse","downloadFile","downloadContent","downloadSign","fileExtension","extension","ModalDialogsTemplates","getComents","comments","buildComentAction","addComment","comment","action","documentNodeRef","getFormSetting","handleGetDocumentError","getFormFields","form","prop_sx_dfState","_form$Fields","Fields","Ignore","IgnoreWhile","Name","Type","fieldValue","padWithZeroes","handlerCloseDocument","formMode","handlerCloseCreateForm","handleChangeRelatedDocuments","addFile","_e$target$files$","persist","additionalDocuments","getTime","signDocument","_attachments$filter","attachments","handlerResult","isSuccessResult","onClodeHandler","signFiles","isSingleFile","fielesContent","requestOptions","properties","currentElementNodeRef","assocName","checkDocumentSigns","attachmentsTypes","at","_at$signs","_attachmentsTypes$fil","documentType","checkSigns","counterpartyAccreditationCard","_this$state","withSignatures","_await$response$json","signatures","_item$signs","docId","documentActionHandlerCallback","actionRequest","checkInputValues","getErrorMessage","showCheckFailedMessage","ListOfAlfresco","parentComponent","ListOfUsersTaskExecuters","handleSubmit","deleteDocument","buildFormSection","sectionName","section","getFormSection","sectionSettings","getFormSectionSettings","sectionItems","_sectionSettings$Labe","_sectionSettings$Labe2","fields","_item","_item2","Value","buildFormItem","Values","Data","indexFieldConfiguration","field","_item3","_item5","_item4","Disabled","Check","Label","Columns","InpuContainer","buildFormField","renderFormHeader","_HelperFunctions$getU","_form$Messages","prop_cm_title","isCretor","isPerformer","mimetype","associations","btns","mainContent","show","downloadWithSign","checkSign","downloadTemplate","StatutoryDocsForm","docType","canEdit","inPopup","newConnection","ListOfContracts","withAction","CommentForm","documentId","handleChangeComment","classes","youControlRequest","transliterate","addBank","DynamicForm","addSigner","addAttacment","AttachmentForm","typesOfDocumens","getCurAttacmentsTypes","tabName","activeBtns","documentTabs","statuses","revision","rejected","signers","financialinfo","docs","validSignatures","signature","_item$statuses","_item$statuses2","_item$modes","_item$modes2","project","refinementCounterparty","modes","btnclass","DocumentInfo","Messages","onCheckFailedMessageClose","activeTab","information","_await$HelperFunction","externalSigners","parent","checkAttachmentsMandatoryAdding","checkAttachmentsMandatorySigning","contractNodeRef","addAdditionaSignatory","assoc_sxcfc_externalSigners_added","renderAttachment","_associations$contrac","addMainFile","contracts","_item$ids","association","clientSettings","table","MainContent","mainContractActionHandler","mainFileIsPdf","subTitle","attachedFilesActionHandler","FileName","accept","v","k","ListOfDocuments","fileNameParts","base64","Tabs","renderedIds","componentWillUpdate","_getUrlParam","setActiveTab","_this$props$children$","_this$props$children","tabs","isSub","_item$name","_item$name2","NavLink","_tabs$index","_tabs$index$name","_activeTab","tabChangedCallback","CommentsForm","_this$props$comments","handleChangeComents","commets","handleChangeComent","handleDeliteComent","deliteComent","coment","removeCommentAction","comnet","ExternalSigners","mainContentDigitalSignatures","_signers$i$properties","_signers$i$properties2","_signers$i$properties3","_signers$i$properties4","_signers$i$properties5","_statuses$find","_signers$i$properties7","signingDate","companyName","sx_signerCompany","creatorFullName","signerName","creatorPosition","sx_signerPosition","signingState","_signers$i","_signers$i$properties6","signingCommentsPreview","accredited","manager_revision","manager_approval","security_approval","sign_counterparty","contactinfo","documentSettings","DocumentFormContent","renderinformation","rendercontactinfo","rendercomments","getInitState","curDocId","rendersigners","_settings$tabs$find","cpAuthorityPersons","tab","dynamicFormHandler","Signer","getForm","componentDidUpdate","stateReset","_settings$tabs","moduleName","entries","activeTabs","DocumentTitle","onSubmit","setLocalStorage","prop_sx_state","updatedState","updateServerStorage","renderfinancialinfo","banks","Bank","_id$split$pop","_id$split","_this","_this$state$type","_data$type","storageTimeInterval","setInterval","prompt","_form$Fields$i","_form$Fields$i$Values","_form$Fields$i$Values2","_form$Fields$i2","_form$Fields$i2$Value","_form$Fields$i2$Value2","_form$Fields$i3","_form$Fields$i3$Value","initForm","_data$attachments","creatorInfo","settingObject","Actions","preparation","curAttacmentsTypes","prop_sx_addDocumentType_label","signatoryInvoice","inboxNavigate","selectedInboxNumber","getAllowedEnumValues","getSelectedMenuItem","menuItems","tabIndex","inbox","selectedMenuItem","_selectedMenuItem$inB","_selectedMenuItem$cou","_selectedMenuItem$cou2","inBoxes","_currentInbox$counter","_currentInbox$counter2","counter","getFilterValuesFromMenu","additionalFilers","_item$link","_menuItems$index","_menuItems$index$inBo","_menuItems$index2","_menuItems$index2$cou","_menuItems$index2$cou2","_menuItems$index2$cou3","_currentInBox$counter","_currentInBox$counter2","_currentInBox$counter3","currentInBox","Filter","_this$state$content","_this$state$content$r","attachmentTypes","isMain","DocumentHelpers","_find$columns","confirmDialog","promises","handleReloadData","_menuItems$filter","inBoxIndex","pageTitle","hiddenForTabs","_item$link2","_item$link3","_item$link4","tag","Link","to","_item$counter","handleUpdate","getSettingsValue","_menuItems$index3","_menuItems$index3$cou","_menuItems$index3$cou2","_item$link5","_item$link5$url","_getCurrentUrlPath","loadDocuments","_inbox","getUpdatedFilterValues","_allowedValues$key","requestFilterValues","statusFilters","_requestFilterValues$","_item$values","_getUpdatedFilterValu","_item$values2","_item$values3","ListHelpers","component","_await$response$json$","Menu","tablesettings","default","TransferListInput","selectedCols","handleChange","selectedId","toLeft","toRight","up","down","changedColumnsSettings","leftItems","tmp","num","tempCol","rightItems","fromLeftToRightBtnEnabled","fromRightToLeftBtnEnabled","upEnabled","downEnabled","showColumnSettingsDialog","columnsChangedHandler","onColumnsChangedSave","onShowFilter","onFilterSearch","onFilterClear","onFilterClose","renderFilterCol","onHandleChange","onExport","getFilterInfo","changed","filtered","hiddenSelected","submited","hasError","value2","onlyDate","filterTitle","DateTimeInput","placeholder","typeValues","typeValue","additionalBtn","hideActions","onClickHandler","useTitles","_columnsSettings$colu","_columnsSettings$colu2","currentCol","_element$name","_element$name2","_key$substring","fromKey","finded","_it$value","PasswordInput","showPassword","autocomplete","readonly","readOnly","onFocus","removeAttribute","autoComplete","wasFiltered","getOwnPropertyNames","property","prevProps","nextLocation","mainSearchFilter","newPage","initFilterValues","colName","currentFilterValues","updatedFilterValues","filteredRows","loadItemsForExport","contextType","FoldersListBlock","onChangeHandler","folders","baseUrl","pathArray","currentName","decodeURI","folder","EditFileForm","folderName","folderTitle","nameExists","incorrectName","folderType","handleFileChange","handleFileRemove","loadDocument","baseDir","submit","formData","FormData","append","onClose","errorText","EditFolderForm","oldName","titleExists","incorrectTitle","fillForm","dir","dirActions","onDirActionClickHandler","downloadFiles","deleteFiles","loadFilePreview","deleteFolder","onChengeFolderHandler","onUnselectAllRows","skip","ceil","tableInfo","documentsData","downloadFunction","idsArray","errorMessage","onSubmitedHandler","TableButtonsBlock","valueToShow","moment","format","crypto","randomUUID","onFireFoxLabelClick","onFocusOut","firefoxLabel","querySelector","classList","valuetoshow","input","focus","check","requiredMessage","wrongFormatMessage","wrongIbanMessage","Required","Patern","CheckFunctions","checkField","_field$Values","_field$Values$Data","changeInputValueHandle","onBlurNumberHandle","InputMask","mask","maskChar","IsMultiline","pattern","required","Placeholder","Hidden","_currSection$Label","formSections","Sections","currSection","firstIndex","FirstFieldName","lastFieldIndex","LastFieldName","my_string","take","mainFilter","isArray","filterForRequest","getListDataResponse","_item$enums","_this$state$documentT","_this$props$typesOfDo","_this$props$typesOfDo2","documentDate","getDate","documentNumber","getFullYear","getMonth","commentBeanList","dateTime","toUTCString","created","parentCommentId","userFullName","userName","registerCode","context","svg","forAuthor","editComent","replyComent","getComentDate","_item$svg$src","buildCommentAction","parentCommentPath","subComment","comnets","attachment","_this$state$file","base64File","originalDocument","signedDocument","clickEvent","_prop_sx_dfStates$fin","cretorInfo","prop_cm_created","prop_sx_dfStates","prop_sx_caDateNextAcreditation","caBranchManager","author","ul","lastName","firstName","telephone","AdditionalDocument","AttachmentsForm","filtersValues","edite","_attachments$i$nodeRe","_attachments$i7","_attachments$i","_attachments$i2","_attachments$i3","_attachments$i4","_attachments$i5","_attachments$i6","_attachments$i6$title","Indicator","getAttachmentIndicatorHandler","localeCompare","hideFilter","getCorrectWorld","button","EditUserForm","phoneNumber","passwordRepeat","canEditRole","canEditStatus","statusValue","rolesList","statusList","incorrectLogin","userId","editUser","fullName","isCurrent","roleValue","userRoles","userStatuses","phoneValue","allowPasswordEditing","allowRoleEditing","allowStatusEditing","UserInvitationForm","codeNotExists","formType","companyRegisterCode","selectedRegisterCode","companies","inviteUser","onKeyPress","displayEmpty","renderValue","company","companyShortName","inviteUserHandler","userAction","ListOfUserCompanies","handlerResetPassword","_this$context","contentRows","CompanyName","webpackContext","req","webpackContextResolve","__webpack_require__","o","Error","module","exports","DisableWhile","prop_sx_AgreementNumber","prop_sx_InvoiceSum","prop_sx_caType","prop_sx_caKind","_item$configuration","configuration","some","conf","counterpartyType","counterpartyKind","portalEnabled","getAttachmentConfiguration","_attachmentsTypes$fin","_attachmentsTypes$fin2","renderdocs","canEditAttachments","portalMandatoryAdding","portalMandatorySigning","prop_sx_caVAT","prop_sx_cpSPresentDocs","caProxy_not","caProxy","prop_sx_cpSPresentDoc","prop_sx_scoreSum","AccountFormHeader","AccountMessageContainer","isRequiredMessage","LoginPage","loggedIn","confirmationEmailSended","confirmationEmailError","isHasLoginAttempts","allowedAttempts","sendedEmailCallback","logIn","_data$companies","token","c","AccountHelper","resetForm","RegisterPage","isError","ready","iAgree","register","templates","RestorePasswordPage","repassword","restorePassword","changePasswordKey","PasswordRecoveryPage","passwordWasReset","resetPasswordRequest","login","SessionEndedPage","NavMenuItem","hiddenForMenu","isRoot","data-toggle","aria-labelledby","NavMenu","_props$NavMenu$menuIt","_props$NavMenu","collapsed","menuOpen","isOpenLeftMenu","handleOpenLeftMenu","handleChangeCompany","isOpen","hideOverMob","_this$context$compani","menuItem","mainMenuItem","Navbar","light","open","NavItem","image","data-bs-toggle","aria-expanded","flexDirection","justifyContent","alignItems","cursor","padding","companyId","selectedCompanyIndex","selectedCompany","unshift","ListOfSearchResults","options","tableType","filterStr","getSearchStr","searchOptions","searchResults","renderSearchResult","toggleCollapsing","handlerSetExpandedLink","collapsedValue","handlerGetExpandedLink","expandedLink","getCurrentUrl","isSelected","FeedbackForm","feedback","contactPerson","responseMessage","isOk","sendData","fillUserData","keyNumber","handleResponse","contentType","get","handleError","CopyrightItem","_link$target","renderClickHeandler","LeftMenu","sections","isMenuOpen","setExpandedLink","hideOverley","searchInput","keypressSearchInput","which","_this$state$sections","_this$state$sections$","_this$state$sections2","_copyright$menuItems","copyright","Copyright","Content","ResponseStatusePage","root","rootBlock","AccessContent","hasAccess","checkAccessToPage","AccessDeniedPage","StatutoryDocumentsPage","TemplateDocumentsPage","AnnouncementDocumentsPage","EditLinkForm","linkId","iconFile","openInNewTab","iconFileName","linkTitle","linkUrl","handleIconFileChange","handleIconFileRemove","loadLink","l","_current$icon","icon","onSucces","MenuLinks","addLinkBtn","MenuLinksForm","orderChangedHandler","deleteLinks","OpenInNewTab","Target","InfoSettingsForm","wasChanged","fileHasBadExtension","offerAgreementFile","offerAgreementFileHasBadExtension","_document$getElementB","ProfileSettingsForm","emailConfirmed","titleDocumentFilename","titleDocumentNodeRef","titleDocumentFileRemoved","docForRepresentation","changeProfile","handleChangeFile","loadUserInfo","docForRepresentationType","titleDocumentValue","titleDocumentIssueDate","titleDocumentValidity","fileInfo","viewAction","removeAction","PricesSettingsForm","condition","wrongFileFormat","dateValue","month","day","accessDeniedUrl","loadTemplate","PricesTable","populateTableData","currentIndex","titles","returnObjects","pricesInfos","colSpan","product","renderTableItems","prices","renderPricesTable","DocumentsRegisterRoutes","Route","exact","App","counterOfrequest","Proxy","apply","that","args","_localStorage","authHeader","_user$companies$","_args$","_args$$toLower","toLower","hasBackground","onclick","MutationObserver","mutationsList","mutationWasDone","mutation","observe","attributes","childList","subtree","rootBlockClass","Provider","Router","history","Switch","Redirect","Home","MainPage","userData","Settings","controller","tabUrlParts","tabUrl","_menuItem$link","_menuItem$link2","_menuItem$link3","ListOfCompanies","ListOfUsers","selectedIndex","BrowserRouter","basename","getElementsByTagName"],"mappings":"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","file":"static/js/main.4d9e1165.chunk.js","sourcesContent":["import i18n from \"i18next\";\nlet settings = require('./locales/settings.json');\ni18n\n .use(require('react-i18next').initReactI18next)\n .init({\n resources: Object.assign({}, ...settings.languages.map(item => ({ [item]: { translation: require(`./locales/${item}.json`) } }))),\n fallbackLng: settings.language,\n interpolation: {\n escapeValue: false\n },\n debug: true\n });\nexport default i18n;","import React from 'react';\r\nimport i18next from \"./i18n\";\r\nconst mime = require('mime-types');\r\nexport const History = require('history').createBrowserHistory();\r\nexport const UserContext = React.createContext();\r\nexport const urls = {\r\n accessDeniedPage: '/no-acces',\r\n loginPage: '/login',\r\n registerPage: '/register',\r\n recoveryPasswordPage: '/password-recovery',\r\n restorePasswordPage: '/restorepassword',\r\n sessionEndedPage: '/session-ended'\r\n}\r\nexport const actionTypes = {\r\n preview: 0,\r\n sign: 1,\r\n edit: 2,\r\n remove: 3,\r\n download: 4,\r\n block: 5,\r\n unblock: 6,\r\n export: 7,\r\n add: 8,\r\n addDir: 9,\r\n toAcreditation: 10,\r\n additionalSign: 11,\r\n save: 12,\r\n cancel: 13,\r\n loadSigns: 14,\r\n notAdd: 15,\r\n reject: 16,\r\n annul: 17,\r\n previewMainDocument: 18,\r\n reset: 19,\r\n join: 20,\r\n changeTaslExecuter: 21,\r\n invoice: 22,\r\n score: 23\r\n}\r\nexport const constants = {\r\n allowedInfoFileExtensions: ['pdf'],\r\n acceptInfoIputFileString: \"application/pdf\",\r\n placeholderDialogId: \"placeholder-modal-dialog\"\r\n}\r\nexport const allowedStatutoryFileExtensions = [\"pdf\", \"png\", \"jpg\", \"jpeg\", \"tif\", \"tiff\", \"txt\", \"zip\", \"rar\", \"doc\", \"docx\", \"xlsx\", \"xls\"];\r\nexport const allowedPricesFileExtensions = ['xlsx', 'xls'];\r\nexport const acceptPricesInputFileString = allowedPricesFileExtensions.map((item) => mime.lookup(item)).join(\",\");\r\nexport const allowedAdditionalFileExtensions = [\"pdf\", \"txt\", \"doc\", \"docx\", \"odt\", \"xlsx\", \"xls\"];\r\nexport const acceptAdditionalInputFileString = allowedAdditionalFileExtensions.map((item) => mime.lookup(item)).join(\",\");\r\nexport const allowedIconFileExtensions = [\"png\", \"svg\", \"jpg\", \"jpeg\", \"bmp\", \"ico\", \"gif\"];\r\nexport const acceptIconFileString = allowedIconFileExtensions.map((item) => mime.lookup(item)).join(\",\");;\r\n\r\nexport const statusFieldColors = {\r\n \"Default\": \"rgba(84, 188, 235, 0.2)\",\r\n \"Selected\": \"rgba(244, 123, 32, 0.2)\",\r\n \"Не підписано\": \"#FDE5D3\",\r\n \"Активний\": \"#CDF2DA\",\r\n \"Заблокований\": \"#F2D6D1\",\r\n \"Підтвердження пошти\": \"#FFF5CE\"\r\n}\r\nexport const companyTypes = {\r\n Entity: 'caLegal',\r\n Individual: 'caFOP'\r\n}\r\nexport const companyTypeTitles = {\r\n Entity: 'Юридична особа',\r\n Individual: 'ФОП'\r\n}\r\nexport const companyTypeValues = [\r\n {\r\n title: companyTypeTitles.Entity,\r\n value: companyTypes.Entity\r\n },\r\n {\r\n title: companyTypeTitles.Individual,\r\n value: companyTypes.Individual\r\n }\r\n]\r\nexport const formFieldTypes = {\r\n select: \"select\",\r\n int: \"int\",\r\n bool: \"bool\",\r\n string: \"string\",\r\n datetime: \"datetime\",\r\n phone: \"phone\",\r\n file: \"file\",\r\n empty: \"empty\"\r\n}\r\nexport const formStringFieldPatterns = {\r\n phone: \"phone\",\r\n email: \"email\",\r\n codeIPN: \"codeIPN\",\r\n codeEDRPO: \"codeEDRPO\",\r\n mFO: \"mFO\",\r\n legalPersonIPN: \"legalPersonIPN\",\r\n number: \"number\",\r\n integer: \"integer\",\r\n iBan: \"iBan\"\r\n}\r\nexport const counterpartyKind = {\r\n OtherPartners: \"Other Partners\",\r\n OwnCompany: \"Own Company\",\r\n Mediator1: \"Mediator 1\",\r\n Mediator2: \"Mediator 2\",\r\n Maker: \"Maker\"\r\n}\r\nexport const settingsFormTypes = {\r\n settingsType: 'settings',\r\n adminType: 'admin'\r\n}\r\nexport const statutoryDocTypes = {\r\n statutory: 0,\r\n template: 1,\r\n announcement: 2\r\n}\r\nexport const filterOperatioTypes = {\r\n And: 0,\r\n Or: 1\r\n}\r\nexport const searchTableTypes = {\r\n Users: 0,\r\n Companies: 1,\r\n Documents: 2,\r\n Requests: 3,\r\n PendingDocuments: 4,\r\n Contracts: 5\r\n}\r\nexport const formModes = {\r\n all: \"all\",\r\n create: \"create\",\r\n read: \"read\",\r\n edit: \"edit\",\r\n}\r\nexport const attachmentStatuses = {\r\n noDoc: \"noDoc\",\r\n NotAdded: \"not_add\",\r\n New: \"new\",\r\n Signed: \"signed\"\r\n}\r\nexport const filterDividers = {\r\n FilterPartsDivider: 'ˍ',\r\n FilterValuesDivider: '`',\r\n FilterNameValueDivider: '^'\r\n}\r\nexport const alfrescoTypes = {\r\n counterparties: \"sx:counterparties\",\r\n contract: \"sx:Contract\",\r\n outgoingDocument: \"sxcfc:outgoingDocument\",\r\n incomingDocument: \"sxcfc:incomingDocument\",\r\n additionalDocument: \"sxcfc:additionalDocument\",\r\n additionalFiles: \"sx:additionalFiles\",\r\n specification: \"sx:Specification\",\r\n invoice: \"sx:Invoice\",\r\n score: \"sx:score\"\r\n}\r\nexport const signatureStates = {\r\n signed: \"1\"\r\n}\r\nexport const paginationSettings = {\r\n select: [{ value: 5 }, { value: 10 }, { value: 50 }, { value: 100 }],\r\n buttonsCount: 9\r\n}\r\nexport const documentsRegisterRoutes = [\r\n {\r\n lable: i18next.t(\"pendingDocuments\"),\r\n path: \"/\",\r\n saveApi: ``,\r\n type: searchTableTypes.PendingDocuments,\r\n withTabs: false\r\n },\r\n {\r\n lable: i18next.t(\"documents\"),\r\n path: \"/documents/:status?\",\r\n saveApi: `Table/save?searchTableTypes=${searchTableTypes.Documents}`,\r\n type: searchTableTypes.Documents,\r\n withTabs: true\r\n },\r\n {\r\n lable: i18next.t(\"documents\"),\r\n path: \"/documents/:status/:status\",\r\n saveApi: `Table/save?searchTableTypes=${searchTableTypes.Documents}`,\r\n type: searchTableTypes.Documents,\r\n withTabs: true\r\n }\r\n]\r\nexport const docsForRepresentationTypes = {\r\n extraction: \"Extraction\",\r\n powerOfAttorney: \"Power of Attorney\",\r\n statute: \"Statute\",\r\n order: \"Order\",\r\n protocol: \"Protocol\"\r\n}\r\nexport const docsForRepresentationDictionary = {\r\n [docsForRepresentationTypes.extraction]: \"Витяг з ЄДР\",\r\n [docsForRepresentationTypes.powerOfAttorney]: \"Довіреність\",\r\n [docsForRepresentationTypes.statute]: \"Статут\", \r\n [docsForRepresentationTypes.protocol]: \"Протокол\",\r\n [docsForRepresentationTypes.order]: \"Наказ\", \r\n}\r\nexport const alfrescoRoles = {\r\n PORTAL_ADMINISTRATOR: \"PORTAL_ADMINISTRATOR\",\r\n MODERATOR: \"MODERATOR\"\r\n}\r\nexport const documentStatuses = {\r\n preparing: \"preparing\",\r\n All: \"All\"\r\n}\r\nexport const documentBpActions = {\r\n activitiprocessAccreditationCA: \"activiti$processAccreditationCA\",\r\n completeCounterpartyCorrections: \"activiti$completeCounterpartyCorrections\",\r\n activiti$processInvoice: \"activiti$processInvoice\",\r\n activiti$returnContractToCorrections: \"activiti$returnContractToCorrections\",\r\n activiti$completeContractsSigning: \"activiti$completeContractsSigning\",\r\n}\r\nexport const initiatorSystem = {\r\n COFCO: \"COFCO\",\r\n PORTAL: \"PORTAL\"\r\n}\r\nexport const resources = {\r\n pricesTemplateFileName: 'PricesTemplate.xlsx',\r\n loadingIcone: '/img/loading.svg',\r\n logoutIcone: '/img/logout.svg',\r\n userInstructionFileName: 'instruction'\r\n}\r\nexport const loginFaildeStatus = {\r\n userBlocked: \"userIsNotActive\",\r\n userNotExist: \"userDoesNotExist\"\r\n}\r\nexport const maxFileSize = 47190000;\r\nexport const leftMenuTypes = {\r\n divider: 'divider',\r\n link: 'link'\r\n}","import React, { Component } from 'react';\r\nimport { Document, Page } from 'react-pdf/dist/esm/entry.webpack';\r\nimport 'react-pdf/dist/esm/Page/AnnotationLayer.css';\r\nimport i18next from \"../i18n\";\r\nimport * as HelperFunctions from './helpers/HelperFunctions';\r\nconst minScale = 25;\r\nconst maxScale = 500;\r\nconst scaleStep = 10;\r\nexport class PdfViewer extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n numPages: 0,\r\n bufferScale: \"100%\",\r\n scale: 100,\r\n pageIndex: 0\r\n }\r\n }\r\n setScale(scale) {\r\n const re = /[0-9]/gi;\r\n let value = scale?.toString()?.match(re)?.join('') ?? minScale;\r\n if (value < minScale) value = minScale;\r\n else if (value > maxScale) value = maxScale;\r\n value = (re.test(value) ? value : this.state.bufferScale);\r\n this.setState({ bufferScale: value + \"%\", scale: value });\r\n }\r\n render() {\r\n const { src } = this.props;\r\n const { numPages, bufferScale, scale } = this.state;\r\n return (\r\n
\r\n
\r\n \r\n this.setScale.bind(this)(e.target.value)} onKeyDown={(e) => { if (e.keyCode === 13) e.target.blur() }} />\r\n \r\n
\r\n
\r\n this.setState({ numPages: page.numPages })} loading={i18next.t(\"loading\")} onSourceError={() => i18next.t(\"unknownErrorMessage\")}>\r\n {Array.from(new Array(numPages), (el, index) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n );\r\n }\r\n}","import React, { Component } from 'react'\nimport ReactDOM from 'react-dom'\nimport { constants } from '../constants'\nimport { getCurrentCompanyInfo } from './helpers/HelperFunctions'\nimport { Svg } from './Svg'\nimport { History } from '../constants'\nimport i18next from \"../i18n\"\nimport { base64toBlob } from './helpers/HelperFunctions'\nimport { PdfViewer } from './PdfViewer'\nconst mime = require(\"mime-types\");\nexport const showModalDialog = showModal;\nexport const hideModalDialog = hideModal;\nclass ModalDialog extends Component {\n\tconstructor(props) {\n\t\tsuper(props);\n\t\tthis.state = {\n\t\t\tcurrentCompanyName: ''\n\t\t};\n\t\tthis.closeDialog = this.closeDialog.bind(this);\n\t}\n\tcomponentDidMount() {\n\t\tif (!this.props.header) {\n\t\t\tconst currentObject = this;\n getCurrentCompanyInfo().then((info) => { currentObject.setState({ currentCompanyName: info?.name }); })\n\t\t}\n\t}\n\tstatic getDerivedStateFromProps(props, state) {\n\t\treturn state;\n\t}\n\tcloseDialog() {\n\t\tconst { dialogId, canClose, closeCalback } = this.props;\n\t\tif (canClose) {\n\t\t\thideModal(dialogId);\n\t\t\tif (closeCalback)\n\t\t\t\tcloseCalback();\n\t\t}\n\t}\n\trender() {\n\t\tconst { dialogId, children, header, icone, additionalClasses, buttons, canClose, headerIconButtons } = this.props;\n\t\tconst { currentCompanyName } = this.state;\n\t\tconst closeDialogFunction = this.closeDialog;\n\t\tlet dialogFormId = \"form_\" + dialogId;\n\t\tlet index = 0;\n\t\treturn (\n\t\t\t
{\n\t\t\t\te = e || window.event;\n\t\t\t\tvar target = e.target || e.srcElement;\n\t\t\t\tvar mouseUpEvent = function (e) {\n\t\t\t\t\te = e || window.event;\n\t\t\t\t\tvar upTarget = e.target || e.srcElement;\n\t\t\t\t\tif (upTarget.id === dialogFormId) {\n\t\t\t\t\t\tcloseDialogFunction();\n\t\t\t\t\t\ttarget.removeEventListener(\"mouseup\", mouseUpEvent);\n\t\t\t\t\t}\n\t\t\t\t\telse target.removeEventListener(\"mouseup\", mouseUpEvent);\n\t\t\t\t}\n\t\t\t\tif (target.id === dialogFormId) target.addEventListener(\"mouseup\", mouseUpEvent);\n\t\t\t}}>\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t
0 ? \" with-header-btns\" : \"\")}>\n\t\t\t\t\t\t\t{icone && \"\"}\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t!header &&\n\t\t\t\t\t\t\t\t
{currentCompanyName}
\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t{header &&
{header}
}\n\t\t\t\t\t\t\t{headerIconButtons && \n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {headerIconButtons.map(btn =>\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t \n\t\t\t\t\t\t\t\t\t
\n )}\n
\n }\n\t\t\t\t\t\t\t{canClose && }\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{buttons && buttons.length > 0 &&\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{buttons.map(btn =>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t);\n\t}\n}\nfunction showModal(dialogId, header, icone, children, additionalClasses, canClose = true, buttons = [], closeCalback = null, headerIconButtons = []) {\n\tif (constants.placeholderDialogId !== dialogId)\n\t\thideModal(constants.placeholderDialogId);\n\tvar dialog = document.getElementById(dialogId);\n\tif (dialog) {\n\t\tReactDOM.render(\n\t\t\t\n\t\t\t\t{children}\n\t\t\t,\n\t\t\tdialog);\n\t\tif (document.body.style.position !== \"fixed\") {\n\t\t\tdocument.body.style.top = \"-\" + getBodyScrollTop() + \"px\";\n\t\t\tdocument.body.style.overflowY = \"scroll\";\n\t\t\tdocument.body.style.width = \"100%\";\n\t\t\tdocument.body.style.position = \"fixed\";\n\t\t}\n\t}\n}\nfunction hideModal(dialogId) {\n\tvar dialog = document.getElementById(dialogId);\n\tReactDOM.render(\n\t\t\"\",\n\t\tdialog);\n\tvar scrollValue = document.body.style.top;\n\tif (scrollValue.startsWith('-'))\n\t\tscrollValue = scrollValue.substr(1, scrollValue.length - 1);\n\tif (scrollValue.endsWith('px'))\n\t\tscrollValue = scrollValue.substr(0, scrollValue.length - 2);\n\tlet style = document.body.style; \n\tstyle.overflowY = style.width = style.position = style.top = \"\";\n\tif (scrollValue)\n\t\twindow.scrollTo(0, parseInt(scrollValue));\n}\nfunction getBodyScrollTop() {\n\treturn window.pageYOffset ? window.pageYOffset : (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);\n}\nexport function unknownErrorMessageDialog(redirectUrl) {\n\tlet closeDialog = () => {\n\t\thideModalDialog(\"loadingDialog\")\n\t\tif (redirectUrl) History.push(redirectUrl)\n\t}\n\tshowModalDialog(\"loadingDialog\", i18next.t(\"error\"), \"\",
{i18next.t(\"unknownErrorMessage\")}
, \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: closeDialog, class: \"btn-primary\" }], closeDialog)\n}\nexport function messageDialog(title, message, handleCloseDialog) {\n\tlet closeDialog = () => {\n\t\thideModalDialog('modalDialog')\n\t\tif (handleCloseDialog) handleCloseDialog()\n\t}\n\tshowModalDialog('modalDialog', title, \"\",
{message}
, \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: closeDialog, class: \"btn-primary\" }], closeDialog)\n}\nexport function errorMessageDialog(message) {\n\tmessageDialog(i18next.t(\"error\"), message)\n}\nexport function viewPdfDialog(nodeRef) {\n\tlet view = function (path) {\n\t\tfetch(path, { method: 'POST' })\n\t\t\t.then(async (response) => {\n\t\t\t\tif (response.ok) {\n\t\t\t\t\tlet data = await response.json()\n\t\t\t\t\tif (data.errorCode) unknownErrorMessageDialog()\n\t\t\t\t\telse {\n\t\t\t\t\t\tlet path = `file/get?nodeRefs=${nodeRef}`\n\t\t\t\t\t\tif (!data[0].content && !response.url.toLowerCase().includes(path.toLowerCase())) view(path)\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet objectUrl = window.URL.createObjectURL(base64toBlob(data[0].content, \"application/pdf\"))\n\t\t\t\t\t\t\tviewFile(objectUrl, data[0].fileName)\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t}\n\tview(`file/get?nodeRefs=${nodeRef}&withSign=${false}`)\n}\nexport async function viewFileFolderSystemFile(urlPath, fileName) {\n\tconst response = await fetch(urlPath, { method: 'POST' });\n\tif (response.ok) {\n\t\tresponse.blob().then(blobby => {\n\t\t\tvar file = new Blob([blobby], { type: 'application/pdf' });\n\t\t\tvar objectUrl = window.URL.createObjectURL(file);\n\t\t\tviewFile(objectUrl, fileName);\n\t\t});\n\t}\n\telse\n\t\tmessageDialog(i18next.t(\"error\"), response.status === 404 ? i18next.t(\"documentNotFound\") : i18next.t(\"unknownErrorMessage\"));\n}\nexport function viewFile(objectUrl, fileName) {\n\tshowModalDialog(\"loadingDialog\", i18next.t(\"viewingDocument\"), \"\",\n\t\t<>
\n\t\t\t\n\t\t
,\n\t\t\t\n\t\t, \"feedPopup max-size with-header-btns\", true, [], () => window.URL.revokeObjectURL(objectUrl))\n}\nexport function isValidFileSizeDialog(size) {\n\tif (!Number.isSafeInteger(size) || size > 47190000) {\n\t\terrorMessageDialog(i18next.t(\"11\"));\n\t\treturn false;\n\t}\n\treturn true\n}\nexport function isAllowedFileTypeDialog(file, allowedExtensions) {\n\tlet fileName = file?.name;\n\tif (!allowedExtensions.map(item => mime.lookup(item)).includes(mime.lookup(fileName))) {\n\t\tlet errorMessage = i18next.t(\"invalidFileFormatMessage\", { extensions: allowedExtensions.join(', ') });\n\t\terrorMessageDialog(errorMessage);\n\t\treturn false;\n\t}\n\treturn true;\n}","import { filterDividers, History, urls, formStringFieldPatterns } from '../../constants';\r\nconst mime = require('mime-types');\r\nexport function getArrayIds(columns) {\r\n let result = [];\r\n if (columns) {\r\n for (var i = 0; i < columns.length; i++)\r\n result.push(columns[i].id);\r\n }\r\n return result;\r\n}\r\nexport function getFilterString(filterValues) {\r\n let filter = '';\r\n let addedCount = 0;\r\n let keys = filterValues ? Object.keys(filterValues) : [];\r\n for (var i = 0; i < keys.length; i++) {\r\n let values = filterValues[keys[i]];\r\n if (values.length > 0) {\r\n let needAdd = false;\r\n let addedPart = '';\r\n if (addedCount > 0)\r\n addedPart += filterDividers.FilterPartsDivider;\r\n addedPart += keys[i] + filterDividers.FilterNameValueDivider;\r\n for (var j = 0; j < values.length; j++) {\r\n if (values[j]) {\r\n if (j > 0)\r\n addedPart += filterDividers.FilterValuesDivider;\r\n addedPart += encodeURIComponent(values[j]);\r\n needAdd = true;\r\n }\r\n }\r\n if (needAdd) {\r\n addedCount++;\r\n filter += addedPart;\r\n }\r\n }\r\n }\r\n return filter;\r\n}\r\nexport function parseFilterString(filter) {\r\n let filterValues = {};\r\n if (!filter) return filterValues;\r\n filter = decodeURIComponent(filter);\r\n let parts = filter.split(filterDividers.FilterPartsDivider);\r\n for (var i = 0; i < parts.length; i++) {\r\n let parts2 = parts[i].split(filterDividers.FilterNameValueDivider);\r\n if (parts2.length > 1 && parts2[0] && parts2[1]) {\r\n let key = parts2[0];\r\n let value = parts2[1];\r\n var valueParts = value.split(filterDividers.FilterValuesDivider);\r\n filterValues[key] = valueParts;\r\n }\r\n }\r\n return filterValues;\r\n}\r\nexport async function getBase64(file, witMimType = false) {\r\n let result_base64 = await new Promise((resolve) => {\r\n let fileReader = new FileReader();\r\n fileReader.onload = (e) => resolve(fileReader.result);\r\n fileReader.readAsDataURL(file);\r\n });\r\n if (file.size === 0)\r\n return { mimeType: file.type, content: witMimType === true ? `data:${mime.lookup(file.name)};base64,0` : \"0\" };\r\n if (!witMimType) {\r\n let index = result_base64.lastIndexOf(\",\");\r\n if (index !== -1) {\r\n result_base64 = result_base64.slice(index + 1)\r\n }\r\n }\r\n return { mimeType: file.type, content: witMimType ? result_base64 : result_base64.split(\";\").pop() };\r\n}\r\nexport function readAsUint8Array(file) {\r\n const reader = new FileReader();\r\n reader.readAsArrayBuffer(file);\r\n return new Promise((resolve, reject) => {\r\n reader.onloadend = ({ target: { result } }) => resolve(new Uint8Array(result));\r\n reader.onerror = reject;\r\n });\r\n}\r\nexport function sortArray(items, fildName, isAsk = true) {\r\n items.sort(function (a, b) {\r\n var index1 = a[fildName];\r\n var index2 = b[fildName];\r\n if (index1 === null || index1 === undefined)\r\n index1 = 0;\r\n if (index2 === null || index2 === undefined)\r\n index2 = 0;\r\n let result = 0;\r\n if (index1 < index2) result = -1;\r\n if (index1 > index2) result = 1;\r\n if (!isAsk)\r\n result *= -1;\r\n return result;\r\n });\r\n}\r\nexport function ExportToCSV(columns, items, fileName = \"\") {\r\n var csvContent = \"Номер\";\r\n if (columns && columns.length > 0) {\r\n for (var column of columns) {\r\n if (!(column.hidden === true))\r\n csvContent += ';\"' + column.headerName.replaceAll('\"', '\"\"') + '\"';\r\n }\r\n }\r\n csvContent += \"\\r\\n\";\r\n let index = 1;\r\n if (items && items.length > 0) {\r\n for (var item of items) {\r\n csvContent += index;\r\n for (var column of columns) {\r\n try {\r\n if (!(column.hidden === true)) {\r\n csvContent += ';\"' + item.columns[column.name].replaceAll('\"', '\"\"') + '\"';;\r\n }\r\n }\r\n catch { csvContent += \";\"; }\r\n }\r\n csvContent += \"\\r\\n\";\r\n index++;\r\n }\r\n }\r\n if (!fileName) fileName = \"report.csv\";\r\n if (!fileName.endsWith(\".csv\")) fileName += \".csv\";\r\n var encodedUri = encodeURI(csvContent).replaceAll('#', '%23');\r\n if (window.navigator.msSaveBlob) { // IE\r\n csvContent = '\\ufeff' + csvContent;\r\n var blob = new Blob([csvContent], { type: \"data:text/csv;charset=utf-8,\\uFEFF\" });\r\n window.navigator.msSaveOrOpenBlob(blob, \"report.csv\");\r\n }\r\n else if (window.saveAs) {\r\n var blob = new Blob([csvContent], { type: \"data:text/csv;charset=utf-8,\\uFEFF\" });\r\n window.saveAs(blob, \"report.csv\");\r\n }\r\n else {\r\n var link = document.createElement(\"a\");\r\n link.setAttribute(\"href\", \"data:text/csv;charset=utf-8,\\uFEFF\" + encodedUri);\r\n link.setAttribute(\"download\", fileName);\r\n link.dispatchEvent(new MouseEvent('click'));\r\n }\r\n}\r\nexport const transliterationOfFirstLettersTable = {\r\n 'Є': 'Ye', 'є': 'ye', 'Ї': 'Yi', 'ї': 'yi', 'Й': 'Y', 'й': 'y', 'Ю': 'Yu', 'ю': 'yu', 'Я': 'Ya', 'я': 'ya'\r\n}\r\nexport const transliterationTable = {\r\n 'А': 'A', 'а': 'a', 'Б': 'B', 'б': 'b', 'В': 'V', 'в': 'v', 'Г': 'H', 'г': 'h', 'Ґ': 'G', 'ґ': 'g', 'Д': 'D', 'д': 'd', 'Е': 'E', 'е': 'e', 'Є': 'Ie', 'є': 'ie', 'Ж': 'Zh', 'ж': 'zh',\r\n 'З': 'Z', 'з': 'z', 'И': 'Y', 'и': 'y', 'І': 'I', 'і': 'i', 'Ї': 'I', 'ї': 'i', 'Й': 'I', 'й': 'i', 'К': 'K', 'к': 'k', 'Л': 'L', 'л': 'l', 'М': 'M', 'м': 'm', 'Н': 'N', 'н': 'n', 'О': 'O', 'о': 'o',\r\n 'П': 'P', 'п': 'p', 'Р': 'R', 'р': 'r', 'С': 'S', 'с': 's', 'Т': 'T', 'т': 't', 'У': 'U', 'у': 'u', 'Ф': 'F', 'ф': 'f', 'Х': 'Kh', 'х': 'kh', 'Ц': 'Ts', 'ц': 'ts', 'Ч': 'Ch', 'ч': 'ch', 'Ш': 'Sh', 'ш': 'sh',\r\n 'Щ': 'Shch', 'щ': 'shch', 'Ю': 'Iu', 'ю': 'iu', 'Я': 'Ia', 'я': 'ia', 'Ь': '', 'ь': ''\r\n}\r\nexport function transliterateString(str, ownName = true) {\r\n if (!str)\r\n return str;\r\n var re = /^.{0,}[а-яa-z].{0,}$/;\r\n var isUpper = !re.test(str);\r\n re = /([A-Za-zА-Яа-я]{1,})['`]{1,}([A-Za-zА-Яа-я]{1,})/g;\r\n str = str.replace(re, '$1$2');\r\n if (!ownName) {\r\n str = str.replaceAll('зг', 'zgh');\r\n str = str.replaceAll('Зг', 'Zgh');\r\n str = str.replaceAll('зГ', 'zGH');\r\n str = str.replaceAll('ЗГ', 'ZGH');\r\n }\r\n for (var key in transliterationOfFirstLettersTable) {\r\n re = new RegExp(`(\\b)${key}`, 'g');\r\n str = str.replace(re, '$1' + transliterationOfFirstLettersTable[key]);\r\n }\r\n for (var key in transliterationTable) {\r\n str = str.replaceAll(key, transliterationTable[key]);\r\n }\r\n if (isUpper) str = str.toUpperCase();\r\n return str;\r\n}\r\nexport function urltoFile(url, filename, mimeType) {\r\n return (fetch(url)\r\n .then(function (res) { return res.arrayBuffer(); })\r\n .then(function (buf) { return new File([buf], filename, { type: mimeType }); })\r\n );\r\n}\r\nexport function getCurrentCompanyInfo() {\r\n return fetch('/home/getCurrentCompanyInfo')\r\n .then((response) => {\r\n return response.json();\r\n });\r\n}\r\nexport function setUrlParam(key, value) {\r\n key = encodeURIComponent(key);\r\n value = encodeURIComponent(value);\r\n var kvp = document.location.search.substr(1).split('&');\r\n let i = 0;\r\n for (; i < kvp.length; i++) {\r\n if (kvp[i].startsWith(key + '=')) {\r\n let pair = kvp[i].split('=');\r\n pair[1] = value;\r\n kvp[i] = pair.join('=');\r\n break;\r\n }\r\n }\r\n if (i >= kvp.length) {\r\n kvp[kvp.length] = [key, value].join('=');\r\n }\r\n let params = kvp.join('&');\r\n if (params.length > 0) {\r\n if (params[0] === \"&\") {\r\n params = params.replace(\"&\", \"?\");\r\n }\r\n else {\r\n params = \"?\" + params;\r\n }\r\n }\r\n History.push(document.location.pathname + params);\r\n}\r\nexport function getUrlParam(param) {\r\n let result = '';\r\n let parts = window.location.search.substring(1).split('&');\r\n if (parts.length > 0) {\r\n for (var i in parts) {\r\n var parts2 = parts[i].split('=');\r\n if (parts2.length > 1 && parts2[0].toLocaleLowerCase() === param.toLocaleLowerCase()) {\r\n result = parts2[1].toLocaleLowerCase();\r\n break;\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\nexport function getCurrentUrlPath() {\r\n let curUrl = window.location.pathname;\r\n if (curUrl && curUrl.length > 1 && curUrl[curUrl.length - 1] === '/')\r\n curUrl = curUrl.substring(0, curUrl.length - 1);\r\n return curUrl;\r\n}\r\nexport function getWordWithCorrectEnding(number, word) {\r\n switch (word) {\r\n case 'спроба':\r\n {\r\n let lastTwoNumbers = Math.round(((number / 100) % 1) * 100);\r\n if (number % 0 === 0 || number % 5 === 0 || number % 6 === 0 || number % 7 === 0 || number % 8 === 0 || number % 9 === 0 || (lastTwoNumbers >= 11 && lastTwoNumbers <= 19))\r\n return 'спроб';\r\n if (number % 2 === 0 || number % 3 === 0 || number % 4 === 0)\r\n return 'спроби';\r\n if (number % 1)\r\n return 'спроба';\r\n }\r\n break;\r\n }\r\n return word;\r\n}\r\nexport function base64toBlob(data, mimeType) {\r\n const prefix = `data:${mimeType};base64,`;\r\n if (data.startsWith(prefix)) {\r\n data = data.substr('data:application/pdf;base64,'.length);\r\n }\r\n const bytes = atob(data);\r\n let length = bytes.length;\r\n let out = new Uint8Array(length);\r\n while (length--) {\r\n out[length] = bytes.charCodeAt(length);\r\n }\r\n return new Blob([out], { type: mimeType });\r\n};\r\nexport async function logout() {\r\n const response = await fetch('/Account/LogOut', { method: \"POST\" });\r\n if (response.ok || response.status === 401 || !localStorage.getItem('user')) {\r\n localStorage.removeItem('user');\r\n document.location.replace(urls.loginPage);\r\n }\r\n else require('../ModalDialog').unknownErrorMessageDialog();\r\n};\r\nexport function changeInputValue(e) {\r\n let { name, type, value, checked } = e.target;\r\n if (e.target) {\r\n switch (e.target.getAttribute('pattern')) {\r\n case formStringFieldPatterns.integer:\r\n value = value.replace(/\\D/g, \"\");\r\n break;\r\n default: break;\r\n }\r\n }\r\n\tthis.setState({ [name]: type === \"checkbox\" ? checked : value });\r\n}\r\nexport const uint8ToBase64 = (arr) => btoa(Array(arr.length).fill('').map((_, i) => String.fromCharCode(arr[i])).join(''));\r\nexport const objToLowercase = obj => Object.keys(obj).reduce((acc, key) => { acc[key.toLowerCase()] = obj[key]; return acc; }, {});\r\nexport function setOnPageCount(count) {\r\n localStorage.setItem('onPageCount', count);\r\n}\r\nexport function getOnPageCount() {\r\n let count = parseInt(localStorage.getItem('onPageCount') ?? 10);\r\n if (count > 100)\r\n count = 100;\r\n return count;\r\n}\r\nexport function encodeHTML(text) {\r\n if (!text)\r\n return '';\r\n var p = document.createElement('p');\r\n p.textContent = text;\r\n return p.innerHTML;\r\n}\r\nexport function decodeHtml(html) {\r\n var txt = document.createElement(\"textarea\");\r\n txt.innerHTML = html;\r\n return txt.value;\r\n}\r\nexport function parseUtcDateString(date) {\r\n let result = '';\r\n try {\r\n if (date) {\r\n date = date.split('T')[0];\r\n let dateParts = date.split('-');\r\n if (dateParts.length === 3)\r\n result = date;\r\n }\r\n }\r\n catch (ex) {\r\n console.log('parseUtcDateString error');\r\n console.log(ex);\r\n }\r\n return result;\r\n}\r\nexport function getLocalDateString(date) {\r\n try {\r\n return date.toLocaleDateString(\"uk-UA\", { timeZone: 'Europe/Kiev' });\r\n }\r\n catch (ex) {\r\n console.log('getLocalDateString error');\r\n console.log(ex);\r\n return date.toLocaleDateString(\"uk-UA\");\r\n }\r\n}\r\nexport function getLocalTimeString(date) {\r\n try {\r\n return date.toLocaleTimeString(\"uk-UA\", { timeZone: 'Europe/Kiev' });\r\n }\r\n catch (ex) {\r\n console.log('getLocalTimeString error');\r\n console.log(ex);\r\n return date.toLocaleTimeString(\"uk-UA\");\r\n } \r\n}\r\nexport function capitalizeObjectKeys(obj) {\r\n Object.keys(obj).forEach(key => {\r\n if (key && key.length > 0) {\r\n let newKey = key[0].toUpperCase() + key.substring(1);\r\n if (obj.hasOwnProperty(key) && !obj.hasOwnProperty(newKey)) {\r\n obj[newKey] = obj[key];\r\n delete obj[key];\r\n }\r\n }\r\n });\r\n return obj;\r\n}\r\nexport function deepObjectEqual(object1, object2) {\r\n if (!object1 && !object2)\r\n return true;\r\n if (!object1 || !object2)\r\n return false;\r\n\r\n const keys1 = Object.keys(object1);\r\n const keys2 = Object.keys(object2);\r\n\r\n if (keys1.length !== keys2.length) {\r\n return false;\r\n }\r\n\r\n for (const key of keys1) {\r\n const val1 = object1[key];\r\n const val2 = object2[key];\r\n const areObjects = isObject(val1) && isObject(val2);\r\n if (\r\n (areObjects && !deepObjectEqual(val1, val2)) ||\r\n (!areObjects && val1 !== val2)\r\n ) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n}\r\nexport function isObject(object) {\r\n return object != null && typeof object === 'object';\r\n}","import FormControl from '@material-ui/core/FormControl';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Select from '@material-ui/core/Select';\r\nimport React, { Component } from 'react';\r\nimport { paginationSettings } from '../constants';\r\nexport class Pagination extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: this.props.page,\r\n pageSize: this.props.pageSize,\r\n keyIndex: 1\r\n };\r\n this.handlePageSelected = this.handlePageSelected.bind(this);\r\n this.handleChangePageSize = this.handleChangePageSize.bind(this);\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.page !== this.props.page) {\r\n this.setState({\r\n page: nextProps.page,\r\n pageSize: nextProps.pageSize,\r\n keyIndex: this.state.keyIndex + 1\r\n });\r\n }\r\n }\r\n render() {\r\n let items = [];\r\n let buttonsCount = paginationSettings.buttonsCount;\r\n let allCount = this.props.pageCount;\r\n let current = this.state.page;\r\n let leftRangeAdded = false;\r\n let leftRightCount = Math.floor((buttonsCount - 4) / 2);\r\n items.push(
  • this.handlePageSelected(1)}>{1}
  • );\r\n if (current > (buttonsCount + 1) / 2 && allCount > buttonsCount) {\r\n if (current + leftRightCount + 2 >= allCount) {\r\n let addedCount = buttonsCount - (2 + 2 * leftRightCount + 1 + (allCount - (current + leftRightCount)));\r\n if (addedCount > 0) {\r\n items.push(
  • this.handlePageSelected(current - leftRightCount - addedCount - 1)}>...
  • );\r\n leftRangeAdded = true;\r\n for (var i = addedCount; i > 0; i--) {\r\n let index = current - leftRightCount - i;\r\n items.push(\r\n
  • \r\n this.handlePageSelected(index)}>{index}
  • );\r\n }\r\n }\r\n }\r\n if (!leftRangeAdded) {\r\n leftRangeAdded = true;\r\n items.push(
  • this.handlePageSelected(current - leftRightCount - 1)}>...
  • );\r\n }\r\n }\r\n if (leftRangeAdded) {\r\n for (let i = current - leftRightCount; i <= Math.min(current + leftRightCount, allCount); i++) {\r\n items.push(\r\n
  • this\r\n .handlePageSelected(i)}>{i}
  • );\r\n }\r\n if (current + leftRightCount + 2 >= allCount) {\r\n for (let i = current + leftRightCount + 1; i <= allCount; i++) {\r\n items.push(\r\n
  • this\r\n .handlePageSelected(i)}>{i}
  • );\r\n }\r\n } else {\r\n let number = Math.min(current + leftRightCount, allCount) + 1;\r\n items.push(
  • this.handlePageSelected(number)}>...
  • );\r\n items.push(
  • this.handlePageSelected(allCount)}>{allCount}
  • );\r\n }\r\n } else {\r\n for (let i = items.length + 1; i <= Math.min(buttonsCount - 2, allCount); i++) {\r\n items.push(\r\n
  • this\r\n .handlePageSelected(i)}>{i}
  • );\r\n }\r\n if (items.length < allCount) {\r\n if (items.length + 2 >= allCount) {\r\n for (let i = items.length + 1; i <= Math.min(buttonsCount, allCount); i++) {\r\n items.push(\r\n
  • this\r\n .handlePageSelected(i)}>{i}
  • );\r\n }\r\n } else {\r\n let number = Math.min(buttonsCount - 2, allCount) + 1;\r\n items.push(
  • this.handlePageSelected(number)}>...
  • );\r\n items.push(
  • this.handlePageSelected(allCount)}>{allCount}
  • );\r\n }\r\n }\r\n }\r\n if (this.props.allCount >= 0) {\r\n var firtNumber = this.state.pageSize * ((this.state.page > 0 ? this.state.page : 1) - 1) + 1;\r\n if (this.props.allCount === 0)\r\n firtNumber = 0;\r\n var lastNumber = firtNumber;\r\n if (this.state.page !== this.props.pageCount)\r\n lastNumber += this.state.pageSize - 1;\r\n else\r\n lastNumber = this.props.allCount;\r\n }\r\n return (\r\n \r\n );\r\n }\r\n handlePageSelected(page) {\r\n if (page > 0 && page <= this.props.pageCount) {\r\n this.setState({\r\n page: page,\r\n keyIndex: this.state.keyIndex + 1 \r\n });\r\n if (this.props.handlePageChange)\r\n this.props.handlePageChange(page);\r\n }\r\n }\r\n handleChangePageSize(pageSize) {\r\n this.setState({\r\n pageSize: pageSize,\r\n keyIndex: this.state.keyIndex + 1\r\n });\r\n if (this.props.handleChangePageSize)\r\n this.props.handleChangePageSize(pageSize);\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { Svg } from '../Svg';\r\nexport class ColumnFilter extends Component {\r\n constructor(props) {\r\n super(props);\r\n let column = this.props.column;\r\n let allowedValues = this.props.allowedValues;\r\n var checked = column.enums.filter(it => column.filteredValues && column.filteredValues.includes(it.value));\r\n checked = checked.filter(it => !allowedValues || allowedValues.includes(it.value));\r\n if (checked.length === 0)\r\n checked = column.enums.slice(0).filter(it => !allowedValues || allowedValues.includes(it.value));\r\n this.state = {\r\n showFilter: false,\r\n checkedList: checked,\r\n column: column\r\n }\r\n this.showFilterInColumn = this.showFilterInColumn.bind(this);\r\n this.handlerCheckAll = this.handlerCheckAll.bind(this);\r\n this.handlerCheck = this.handlerCheck.bind(this);\r\n this.clickListener = this.clickListener.bind(this);\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n let allowedValues = this.props.allowedValues;\r\n let enums = nextProps.column.enums.filter(it => !allowedValues || allowedValues.includes(it.value));\r\n var checked = enums.filter(it => nextProps.column.filteredValues && nextProps.column.filteredValues.includes(it.value));\r\n if (!nextProps.column.filteredValues)\r\n nextProps.column.filteredValues = [];\r\n if (checked.length === 0 && !(nextProps.column.filteredValues.length === 1 && nextProps.column.filteredValues[0] === 'hideAllValue'))\r\n checked = enums.slice(0);\r\n this.setState({ column: nextProps.column, checkedList: checked });\r\n }\r\n showFilterInColumn(e) {\r\n e.preventDefault();\r\n this.setState({ showFilter: !this.state.showFilter });\r\n }\r\n clickListener(e) {\r\n let targetId = e.target.id;\r\n const currentObject = this;\r\n if (targetId !== 'column-filter-btn' && !currentObject.hasParent(e.target, 'column-filter-btn') && targetId !== 'column-filter-list' && !currentObject.hasParent(e.target, 'column-filter-list'))\r\n currentObject.setState({ showFilter: false });\r\n }\r\n componentDidMount() {\r\n document.addEventListener('click', this.clickListener);\r\n }\r\n componentWillUnmount() {\r\n document.removeEventListener('click', this.clickListener, false);\r\n }\r\n hasParent(element, id) {\r\n while (element.parentElement) {\r\n if (element.parentElement.id === id) return true;\r\n element = element.parentElement;\r\n }\r\n return false;\r\n }\r\n handlerCheckAll(checked) {\r\n if (checked) {\r\n const { allowedValues } = this.props;\r\n let enums = this.props.column.enums.filter(it => !allowedValues || allowedValues.includes(it.value));\r\n if (this.state.checkedList.length < enums.length) {\r\n this.setState({ checkedList: enums.slice(0) });\r\n if (this.props.onColumnFilter)\r\n this.props.onColumnFilter(this.props.column.name, []);\r\n }\r\n }\r\n else {\r\n if (this.state.checkedList.length > 0) {\r\n this.setState({ checkedList: [] });\r\n if (this.props.onColumnFilter)\r\n this.props.onColumnFilter(this.props.column.name, ['hideAllValue']);\r\n }\r\n }\r\n }\r\n handlerCheck(item) {\r\n let { checkedList } = this.state;\r\n const { allowedValues } = this.props;\r\n const index = checkedList.indexOf(item);\r\n if (index >= 0) {\r\n checkedList = checkedList.filter(current => current !== item);\r\n this.setState({ checkedList: checkedList });\r\n }\r\n else {\r\n checkedList.push(item);\r\n this.setState({ checkedList: checkedList });\r\n }\r\n if (this.props.onColumnFilter) {\r\n let enums = this.props.column.enums.filter(it => !allowedValues || allowedValues.includes(it.value));\r\n if (checkedList.length === enums.length)\r\n this.props.onColumnFilter(this.props.column.name, []);\r\n else if (checkedList.length === 0)\r\n this.props.onColumnFilter(this.props.column.name, ['hideAllValue']);\r\n else {\r\n let values = [];\r\n checkedList.map(item => values.push(item.value));\r\n this.props.onColumnFilter(this.props.column.name, values);\r\n }\r\n }\r\n }\r\n render() {\r\n const { column, showFilter, checkedList } = this.state;\r\n const { allowedValues } = this.props;\r\n let allChecked = checkedList.length === column.enums.filter(it => !allowedValues || allowedValues.includes(it.value)).length;\r\n let index = 0;\r\n return (\r\n
    \r\n \r\n {showFilter &&\r\n \r\n }\r\n
    \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport { statusFieldColors } from '../../constants';\r\nimport { TableColumnType } from './Table';\r\nexport function TableColumn(props) {\r\n const getPhoneHref = (value) => {\r\n value = value.replaceAll(' ', '');\r\n value = value.replaceAll('-', '');\r\n value = value.replaceAll('(', '');\r\n value = value.replaceAll(')', '');\r\n return 'tel:' + value;\r\n }\r\n const getStatusColColor = (status) => {\r\n let color = statusFieldColors[\"Default\"];\r\n if (statusFieldColors[status])\r\n color = statusFieldColors[status];\r\n return color;\r\n }\r\n const onDocLinkClick = (e) => {\r\n e.preventDefault();\r\n if (props.onDocLinkClick)\r\n props.onDocLinkClick();\r\n }\r\n const { children, value, col } = props;\r\n if (col && (value || (col.type === \"button\" && col.buttonSettings)) && col.type) {\r\n switch (col.type) {\r\n case TableColumnType.Phone:\r\n return ({value});\r\n case TableColumnType.Email:\r\n return ({value});\r\n case TableColumnType.DocLink:\r\n return ({value});\r\n case TableColumnType.Status:\r\n return ({value});\r\n case TableColumnType.Button:\r\n return ();\r\n case TableColumnType.Bool:\r\n return (\"\");\r\n case TableColumnType.Image:\r\n return (\"\");\r\n case TableColumnType.Comment:\r\n return (\"\");\r\n case TableColumnType.String:\r\n return ();\r\n case TableColumnType.Date:\r\n return ();\r\n case TableColumnType.DateTime:\r\n return ();\r\n case TableColumnType.Reorder:\r\n return (\r\n \r\n );\r\n default:\r\n return ({value});\r\n }\r\n }\r\n return (\r\n {children}\r\n );\r\n}","import React, { Component } from 'react';\r\nimport { actionTypes } from '../../constants';\r\nimport { sortArray } from '../helpers/HelperFunctions';\r\nimport { TableColumn } from './TableColumn';\r\nexport class TableRow extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n checked: false\r\n };\r\n this.handlerCheck = this.handlerCheck.bind(this);\r\n this.onRowClick = this.onRowClick.bind(this);\r\n this.onRowDoubleClick = this.onRowDoubleClick.bind(this);\r\n this.onDocLinkClick = this.onDocLinkClick.bind(this);\r\n }\r\n componentDidMount() {\r\n const { item } = this.props;\r\n const currentObject = this;\r\n var row = document.getElementById(\"table_row_\" + item.columns.Id);\r\n row.addEventListener(\"contextmenu\", function (event) {\r\n event.preventDefault();\r\n var ckeckBox = document.getElementById(item.columns.Id);\r\n ckeckBox.checked = !ckeckBox.checked;\r\n currentObject.handlerCheck({ target: ckeckBox });\r\n }, false);\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.checked !== this.state.checked) \r\n this.setState({ checked: nextProps.checked });\r\n }\r\n handlerCheck(event) {\r\n this.setState({ checked: event.target.checked });\r\n if (this.props.handlerCheck)\r\n this.props.handlerCheck(event);\r\n }\r\n renderCols(item, cols) {\r\n if (!item || !cols)\r\n return '';\r\n const { checked } = this.state;\r\n if (item.actions && item.actions.length > 0)\r\n sortArray(item.actions, \"sortIndex\");\r\n return (\r\n [\r\n \r\n \r\n \r\n ,\r\n cols.map((col) => (\r\n item.columns && this.onDocLinkClick(item.columns.Id, item.actions)} />\r\n ))\r\n ]\r\n );\r\n }\r\n onRowClick(id) {\r\n if (id) {\r\n var ckeckBox = document.getElementById(id);\r\n ckeckBox.checked = !ckeckBox.checked;\r\n var event = { target: ckeckBox };\r\n this.handlerCheck(event);\r\n }\r\n }\r\n onDocLinkClick(id, actions) {\r\n if (id && actions && actions.length > 0) {\r\n let actionIndex = actions.findIndex(act => act.type === actionTypes.preview || act.type === actionTypes.edit || act.type === actionTypes.download);\r\n if (this.props.handlerAction && actionIndex >= 0)\r\n this.props.handlerAction(actions[actionIndex].type, [id]);\r\n }\r\n }\r\n onRowDoubleClick(id, actions) {\r\n if (!this.props.allowDoubleClickAction) {\r\n var ckeckBox = document.getElementById(id);\r\n ckeckBox.checked = true;\r\n var event = { target: ckeckBox };\r\n this.handlerCheck(event);\r\n }\r\n else this.onDocLinkClick(id, actions);\r\n }\r\n render() {\r\n const { children, cols, item } = this.props;\r\n if (cols && item)\r\n return (\r\n item.columns && this.onRowDoubleClick(item.columns.Id, item.actions)} onClick={() => item.columns && this.onRowClick(item.columns.Id)}>\r\n {this.renderCols(item, cols)} \r\n \r\n );\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\nimport i18next from \"../../i18n\";\r\nimport { ActionsPanel } from '../forms/ActionsPanel'\r\nimport { dispatcherActionTypes, globalEventDispatcher } from '../helpers/GlobalEventDispatcher'\r\nimport { Pagination } from '../Pagination'\r\nimport { ColumnFilter } from './ColumnFilter'\r\nimport { TableRow } from './TableRow'\r\nimport { History } from '../../constants'\r\nimport { v4 } from 'uuid'\r\nexport const TableColumnType = {\r\n Default: \"default\",\r\n Bool: \"bool\",\r\n String: \"string\",\r\n Double: \"double\",\r\n Date: \"date\",\r\n Status: \"status\",\r\n Phone: \"phone\",\r\n Email: \"email\",\r\n DateTime: \"datetime\",\r\n Enum: \"enum\",\r\n Button: \"button\",\r\n Comment: \"comment\",\r\n DocLink: \"docLink\",\r\n Image: \"image\",\r\n Reorder: \"reorder\",\r\n}\r\nexport async function saveColumnSettings(url, columnSettings, handleSuccess) {\r\n await fetch(url, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(columnSettings)\r\n })\r\n .then((response) => {\r\n if (!response.ok) require('../ModalDialog').unknownErrorMessageDialog();\r\n else if (handleSuccess) {\r\n handleSuccess();\r\n }\r\n });\r\n}\r\nexport class Table extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n sortBy: props.sortBy,\r\n isDesk: props.isDesk,\r\n checkedList: [],\r\n allChecked: false,\r\n actions: [],\r\n name: v4(),\r\n showActionsPanel: false\r\n }\r\n this.sort = this.sort.bind(this);\r\n this.handlerCheck = this.handlerCheck.bind(this);\r\n this.handlerCheckAll = this.handlerCheckAll.bind(this);\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.handleChangePageSize = this.handleChangePageSize.bind(this);\r\n this.handlerUncheckAll = this.handlerUncheckAll.bind(this);\r\n this.actionHandlerCallback = this.actionHandlerCallback.bind(this);\r\n this.globalEventListerner = this.globalEventListerner.bind(this);\r\n globalEventDispatcher.subscribe(this.globalEventListerner);\r\n }\r\n globalEventListerner(actionType, params) {\r\n if (actionType === dispatcherActionTypes.onUnselectTableAllRows) {\r\n this.handlerUncheckAll();\r\n }\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.sortBy !== this.state.sortBy || nextProps.isDesk !== this.state.isDesk || nextProps.checked !== this.state.checked || nextProps.items !== this.props.items) {\r\n let checked = nextProps.checked ? nextProps.checked : [];\r\n let actions = this.getActions(this.state.checkedList, nextProps.items);\r\n this.setState({ sortBy: nextProps.sortBy, isDesk: nextProps.isDesk, checked: checked, actions: actions });\r\n }\r\n }\r\n getActions(checkedList = null, items = null) {\r\n if (!items)\r\n items = this.props.items;\r\n let result = [];\r\n if (checkedList.length <= 0)\r\n return [];\r\n if (checkedList.length === 1) {\r\n result = items?.find(it => it.columns[\"Id\"] === checkedList[0])?.actions?.slice(0) ?? [];\r\n }\r\n else {\r\n let checkedItems = items.filter(it => checkedList.includes(it.columns[\"Id\"]));\r\n for (let i = 0; i < checkedList.length; i++) {\r\n try {\r\n let item = items.find(it => it.columns[\"Id\"] === checkedList[i]);\r\n if (item && item.actions) {\r\n let actions = item.actions.filter(it => it.isMultiaction);\r\n for (let j = 0; j < actions.length; j++) {\r\n let action = result.find(it => it.type === actions[j].type);\r\n if (!action) {\r\n let hasNowAction = checkedItems.find(it => !it.actions.find(act => act.type === actions[j].type));\r\n if (!hasNowAction)\r\n result.push(actions[j]);\r\n }\r\n }\r\n }\r\n }\r\n catch { }\r\n }\r\n }\r\n if (this.props.actionsForAll) {\r\n for (let i = 0; i < this.props.actionsForAll.length; i++) {\r\n if (!((!this.props.actionsForAll[i]?.isMultiaction) && checkedList.length > 1))\r\n result.push(this.props.actionsForAll[i]);\r\n }\r\n }\r\n return result;\r\n }\r\n handlerCheckAll(event) {\r\n if (event.target.checked) {\r\n let checkedList = [];\r\n let items = this.props.items;\r\n for (var i = 0; i < items.length; i++) {\r\n checkedList.push(items[i].columns.Id);\r\n }\r\n this.setState({ allChecked: true, checkedList: checkedList, showActionsPanel: true, actions: this.getActions(checkedList) });\r\n if (this.props.onCheckChangeHandler)\r\n this.props.onCheckChangeHandler(checkedList);\r\n globalEventDispatcher.dispatch(dispatcherActionTypes.onRowSelected, { tableName: this.state.name });\r\n }\r\n else {\r\n this.setState({ allChecked: false, checkedList: [], showActionsPanel: false, actions: [] });\r\n if (this.props.onCheckChangeHandler)\r\n this.props.onCheckChangeHandler([]);\r\n }\r\n }\r\n handlerCheck(event) {\r\n let isChecked = event.target.checked;\r\n let { checkedList } = this.state;\r\n let isAll = false;\r\n let showActionsPanel = true;\r\n let index = checkedList.indexOf(event.target.id);\r\n if (isChecked) {\r\n if (index < 0) {\r\n checkedList.push(event.target.id);\r\n if (this.props.items && checkedList.length === this.props.items.length)\r\n isAll = true;\r\n }\r\n else {\r\n isAll = this.state.allChecked;\r\n }\r\n globalEventDispatcher.dispatch(dispatcherActionTypes.onRowSelected, { tableName: this.state.name });\r\n }\r\n else {\r\n if (index >= 0)\r\n checkedList.splice(index, 1);\r\n if (checkedList.length <= 0)\r\n showActionsPanel = false;\r\n }\r\n this.setState(\r\n {\r\n checkedList: checkedList,\r\n allChecked: isAll,\r\n showActionsPanel: showActionsPanel,\r\n actions: showActionsPanel ? this.getActions(checkedList) : []\r\n }\r\n );\r\n if (this.props.onCheckChangeHandler)\r\n this.props.onCheckChangeHandler(checkedList);\r\n }\r\n sort(name) {\r\n let { sortBy, isDesk } = this.state;\r\n if (name === sortBy)\r\n isDesk = !isDesk;\r\n else\r\n isDesk = false;\r\n this.setState({ sortBy: name, isDesk: isDesk });\r\n if (this.props.handleSortChange)\r\n this.props.handleSortChange(name, isDesk);\r\n }\r\n handlePageChange(page) {\r\n this.setState({ allChecked: false, checkedList: [], showActionsPanel: false, actions: [] });\r\n if (this.props.handlePageChange)\r\n this.props.handlePageChange(page);\r\n if (this.props.onCheckChangeHandler)\r\n this.props.onCheckChangeHandler([]);\r\n }\r\n handleChangePageSize(pageSize) {\r\n this.setState({ allChecked: false, checkedList: [], showActionsPanel: false, actions: [] });\r\n if (this.props.handleChangePageSize)\r\n this.props.handleChangePageSize(pageSize);\r\n if (this.props.onCheckChangeHandler)\r\n this.props.onCheckChangeHandler([]);\r\n }\r\n handlerUncheckAll() {\r\n this.setState({ allChecked: false, checkedList: [], showActionsPanel: false, actions: [] });\r\n if (this.props.onCheckChangeHandler)\r\n this.props.onCheckChangeHandler([]);\r\n }\r\n actionHandlerCallback(type) {\r\n if (this.props.actionHandlerCallback) {\r\n this.props.actionHandlerCallback(type, this.state.checkedList);\r\n }\r\n }\r\n render() {\r\n let { columns, items, allCount, showPagination, page, pageSize, allowedEnumValues, pageCount, showMoreLink, actionHandlerCallback } = this.props;\r\n const { sortBy, isDesk, allChecked, checkedList, actions, showActionsPanel, name } = this.state;\r\n let index = 0;\r\n if (!page)\r\n page = 1;\r\n if (!pageSize)\r\n pageSize = 10;\r\n if (!pageCount)\r\n pageCount = 1;\r\n if (!allowedEnumValues)\r\n allowedEnumValues = {};\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {columns.map(column =>\r\n \r\n )}\r\n \r\n \r\n \r\n {items.map((item) => (\r\n \r\n ))}\r\n \r\n
    \r\n \r\n \r\n \r\n {sortBy === column.name && (!isDesk ?\r\n this.sort(column.name) : () => { }} className=\"order\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n \r\n \r\n :\r\n this.sort(column.name) : () => { }} className=\"order\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n \r\n \r\n )\r\n }\r\n this.sort(column.name) : () => { }}>\r\n {column.headerName}\r\n \r\n {column.showFilterInColumn !== null && column.showFilterInColumn && column.enums && column.enums.length > 0 &&\r\n \r\n }\r\n
    \r\n
    \r\n {showPagination &&\r\n \r\n }\r\n {showMoreLink &&\r\n History.push(\"/documents\")}>\r\n {i18next.t(\"allDocuments\")}\r\n \r\n \r\n }\r\n {showActionsPanel && actions && actions.length > 0 &&\r\n \r\n }\r\n
    \r\n );\r\n }\r\n}\r\nexport function getEnumsTitle(collumnsSettings, collumnName, value) {\r\n return collumnsSettings?.find((item) => item?.name === collumnName)?.enums?.find((item) => item?.value === value)?.title;\r\n}\r\n","import { companyTypes, signatureStates } from '../../constants';\r\nexport function checkPhone(phone) {\r\n phone = phone.trim();\r\n //const re = /^(\\s*)?(\\+)?([- _():=+]?\\d[- _():=+]?){5,14}(\\s*)?$/;\r\n //const re = /^\\+38 \\(\\d{3}\\) \\d{3}-\\d{2}-\\d{2}$/;\r\n const re = /^\\+380\\d{9}$/;\r\n return re.test(String(phone));\r\n}\r\nexport function checkEmail(email) {\r\n const re = /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(String(email));\r\n}\r\nexport function checkCompanyRegisterCode(code) {\r\n try {\r\n if (!code) return false;\r\n const re = /^\\d{8}$/;\r\n if (!re.test(code))\r\n return false;\r\n var number = parseInt(code);\r\n var getSum = function (shift = false, step = 0) {\r\n let controlSum = 0;\r\n for (var i = 0; i < 7; i++) {\r\n var multiplayer = i + 1;\r\n if (shift)\r\n multiplayer = i === 0 ? 7 : i;\r\n multiplayer += step;\r\n controlSum += (parseInt(code[i]) * multiplayer);\r\n }\r\n return controlSum % 11;\r\n }\r\n var lastNumber = parseInt(code[7]);\r\n const shift = !(number < 30000000 || number > 60000000);\r\n let sum = getSum(shift);\r\n if (sum < 10)\r\n return sum === lastNumber;\r\n sum = getSum(shift, 2);\r\n return sum < 10 ? sum === lastNumber : false;\r\n }\r\n catch (e) { return false; }\r\n}\r\nexport function checkPersoneRegisterCode(code, companyType) {\r\n if (!code) return false;\r\n if (companyType === companyTypes.Entity) {\r\n const re = /^\\d{12}$/;\r\n if (!re.test(code))\r\n return false;\r\n }\r\n else {\r\n const re = /^\\d{10}$/;\r\n if (!re.test(code))\r\n return false;\r\n }\r\n return true;\r\n}\r\nexport function checkPassword(password) {\r\n const re1 = /^.{0,}[А-Яа-я\\s].{0,}$/;\r\n const re2 = /^.{0,}[A-Z].{0,}$/;\r\n const re3 = /^.{0,}[a-z].{0,}$/;\r\n const re4 = /^.{0,}[0-9].{0,}$/;\r\n const re5 = /^.{0,}[^A-Za-z0-9А-Яа-я\\s].{0,}$/;\r\n return password && !re1.test(password) && re2.test(password) && re3.test(password) && re4.test(password) && re5.test(password);\r\n}\r\nexport function checkFileName(name) {\r\n let re = /^[^a-zA-Zа-яА-Я0-9\\-_\\+='\\x20].{0,}$/;\r\n return !re.test(name.trim());\r\n}\r\nexport function checkMFO(value) {\r\n const re = /^\\d{6}$/;\r\n return re.test(value);\r\n}\r\nexport function checkSystemName(value) {\r\n return /^(?![0-9])[a-zA-Z-0-9_ ]+$/.test(value);\r\n}\r\nexport function checkBankScore(value) {\r\n if (value) {\r\n var re = /^UA\\d{27}$/;\r\n return re.test(value);\r\n }\r\n return false;\r\n}","import { isEmpty } from 'lodash';\r\nimport React, { Component } from 'react';\r\nexport class Svg extends Component {\r\n static defaultProps = { alt: '' };\r\n storageName = '@storage/svg';\r\n constructor(props) {\r\n super(props);\r\n const { src } = props;\r\n const markup = this.storage(src);\r\n const isLoaded = !isEmpty(markup);\r\n this.state = {\r\n markup, isLoaded\r\n };\r\n if (!isLoaded)\r\n this.loadSvg(src);\r\n }\r\n storage = (src, markup) => {\r\n const storage = JSON.parse(localStorage.getItem(this.storageName)) || {};\r\n if (isEmpty(markup))\r\n return storage[src];\r\n localStorage.setItem(this.storageName, JSON.stringify({\r\n ...storage,\r\n [src]: markup\r\n }))\r\n };\r\n loadSvg = src => {\r\n fetch(src)\r\n .then(res => res.text())\r\n .then(markup => {\r\n this.storage(src, markup);\r\n this.setState({\r\n markup, isLoaded: true\r\n })\r\n })\r\n .catch(err => {\r\n console.warn(\r\n `Can't fetch svg image ${src} because of: \\n\\n${err.toString()}`\r\n )\r\n })\r\n };\r\n render() {\r\n const { src, alt = '', ...props } = this.props;\r\n const { isLoaded, markup } = this.state;\r\n if (isLoaded) return (
    );\r\n return ({alt});\r\n }\r\n}","import { History } from '../../constants';\r\nclass Dispatcher {\r\n constructor() {\r\n this.callBacks = [];\r\n this.sessionTime = 0;\r\n this.timerIds = [];\r\n this.setSesionTimeout();\r\n }\r\n logoutUser() {\r\n let user = JSON.parse(localStorage.getItem('user'));\r\n if (user) {\r\n clearTimeout(this.timerId);\r\n localStorage.removeItem('user');\r\n History.push('/session-ended');\r\n }\r\n }\r\n subscribe(callback) {\r\n if (this.callBacks.findIndex(f => f === callback) < 0)\r\n this.callBacks.push(callback);\r\n }\r\n unsubscribe(callback) {\r\n let index = this.callBacks.findIndex(f => f === callback);\r\n if (index >= 0) this.callBacks.splice(index, 1);\r\n }\r\n dispatch(eventType, params) {\r\n for (var func of this.callBacks) {\r\n func(eventType, params);\r\n }\r\n let id = this.timerIds.pop();\r\n while (id) {\r\n clearTimeout(id);\r\n id = this.timerIds.pop();\r\n }\r\n this.setSesionTimeout();\r\n }\r\n setSesionTimeout() {\r\n let user = JSON.parse(localStorage.getItem('user'));\r\n if (user && user.sessionTime > 0) {\r\n this.timerIds.push(setTimeout(this.logoutUser, user.sessionTime * 60000));\r\n }\r\n }\r\n}\r\nexport const globalEventDispatcher = new Dispatcher();\r\nexport const dispatcherActionTypes = {\r\n onCompanyUpdated: 0,\r\n onCurrentUserUpdated: 1,\r\n onUnselectTableAllRows: 2,\r\n onRowSelected: 3,\r\n onUserAction: 4,\r\n onTabChanged: 5,\r\n onMenuChanged: 6,\r\n}","import React, { Component } from 'react';\r\nimport { signatureStates } from '../../constants';\r\nimport i18next from \"../../i18n\";\r\nimport { Svg } from '../Svg';\r\nexport function CheckSignsForm(props) {\r\n const { signedFiles } = props;\r\n let groupsOfSigns = {}\r\n for (let i = 0; i < signedFiles.length; ++i) {\r\n let { documentTypeValue } = signedFiles[i];\r\n for (let j = 0; j < signedFiles[i].signs.length; ++j) {\r\n let sign = signedFiles[i].signs[j];\r\n let { subjEdrpou, subjDrfo } = sign;\r\n if (!groupsOfSigns[subjEdrpou ? subjEdrpou : subjDrfo]) groupsOfSigns[subjEdrpou ? subjEdrpou : subjDrfo] = [];\r\n groupsOfSigns[subjEdrpou ? subjEdrpou : subjDrfo].push(Object.assign(sign, { documentTypeValue: documentTypeValue }));\r\n }\r\n }\r\n return signedFiles.length > 0 ? Object.keys(groupsOfSigns).map((key, index) => ) :
    {i18next.t(\"checkSignatoriesNotFoundMessage\")}
    ;\r\n}\r\nclass CheckSignsGroup extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n expanded: false\r\n };\r\n this.onExpand = this.onExpand.bind(this);\r\n }\r\n onExpand(expanded) {\r\n this.setState({ expanded: expanded });\r\n }\r\n render() {\r\n const { expanded } = this.state;\r\n const { signs } = this.props;\r\n return (\r\n
    \r\n
    \r\n
    {signs[0].subjDrfo ? signs[0].name : signs[0].organization}
    \r\n {expanded ?\r\n :\r\n \r\n }\r\n {expanded &&\r\n signs.map((data, index) => )\r\n }\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\nfunction CheckSignsItem(props) {\r\n const { data } = props;\r\n if (!data)\r\n return (
    );\r\n var fileName = data?.documentTypeValue ?? data.content?.fileName;\r\n if (data.documentTypeValue && data.content?.fileName)\r\n fileName += ' (' + data.content.fileName + ')';\r\n return ();\r\n}\r\nclass SignItem extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n expanded: false\r\n };\r\n }\r\n render() {\r\n const { signatory, fileName } = this.props;\r\n const { expanded } = this.state;\r\n if (!signatory)\r\n return (
    );\r\n return (\r\n
    \r\n
    {signatory.name}
    \r\n
    {fileName}
    \r\n
    {signatory.date}
    \r\n {signatory.state === \"1\" ? \"Підписано\" : \"Не підписано\"}\r\n \r\n {expanded ?\r\n :\r\n \r\n }\r\n {expanded &&\r\n
    \r\n
    \r\n \r\n {signatory.state === \"1\" ? i18next.t(\"succesfullCheckSignMessage\") : i18next.t(\"failedCheckSignMessage\") }\r\n
    \r\n
    \r\n {i18next.t(\"Підписувач:\")}{signatory.name}\r\n
    \r\n
    \r\n {i18next.t(\"Організація:\")}{signatory.organization}\r\n
    \r\n
    \r\n {i18next.t(\"Час підпису:\")}{signatory.date}\r\n
    \r\n
    \r\n {i18next.t(\"Сертифікат виданий:\")}{signatory.issuerCN}\r\n
    \r\n
    \r\n {i18next.t(\"Серійний номер:\")}{signatory.signSerial}\r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport i18next from \"../../i18n\";\r\nimport { readAsUint8Array, urltoFile, uint8ToBase64 } from '../helpers/HelperFunctions';\r\nimport { hideModalDialog, showModalDialog } from '../ModalDialog';\r\nconst SIGN_WIDGET_PARENT_ID = \"sign-widget-parent\";\r\nconst SIGN_WIDGET_ID = \"sign-widget\";\r\nconst SIGN_WIDGET_URI = \"https://eu.iit.com.ua/sign-widget/v20230629/\";\r\nexport async function checkSertificates(docsIds = [], sertificates) {\r\n const { withoutStamp, withoutSign } = this.props;\r\n let { subjEDRPOUCode, subjDRFOCode, subjCN } = sertificates[0].infoEx;\r\n console.log(\"--- sertificates ---\", sertificates);\r\n //for (let i = 0; i < docsIds.length; ++i) {\r\n // let error = await fetch(`File/GetSignatures/${docsIds[i].split(\"/\").pop()}`)\r\n // .then(async (response) => {\r\n // if (!response.ok) require('../ModalDialog').unknownErrorMessageDialog();\r\n // else {\r\n // let data = await response.json();\r\n // let signatures = data.signatures.filter((signature) => signature.state === signatureStates.signed);\r\n // if (!subjDRFOCode && signatures.length === 0) {\r\n // return { error: i18next.t(\"2\"), keyLoaded: false };\r\n // }\r\n // else if (withoutStamp) {\r\n // if (!subjDRFOCode) return { error: i18next.t(\"1\"), keyLoaded: false };\r\n // }\r\n // else if (withoutSign) {\r\n // if (!subjEDRPOUCode || subjEDRPOUCode && subjDRFOCode) return { error: i18next.t(\"0\"), keyLoaded: false };\r\n // }\r\n // }\r\n // });\r\n // if (error) return error;\r\n //}\r\n return { keyLoaded: true, error: \"\" };\r\n}\r\nexport class SignForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n badExtension: false,\r\n sending: false,\r\n submitted: false,\r\n keyLoaded: false,\r\n files: this.props.files,\r\n euSign: null\r\n };\r\n this.onCancel = this.onCancel.bind(this);\r\n this.onSign = this.onSign.bind(this);\r\n this.signFile = this.signFile.bind(this);\r\n }\r\n componentDidMount() {\r\n const { files } = this.state;\r\n let euSign = new window.EndUser(\r\n SIGN_WIDGET_PARENT_ID,\r\n SIGN_WIDGET_ID,\r\n SIGN_WIDGET_URI,\r\n window.EndUser.FormType.ReadPKey\r\n );\r\n let currentObject = this;\r\n euSign.ReadPrivateKey()\r\n .then(async (sertificates) => {\r\n await checkSertificates.bind(currentObject)(files.map((item) => item.id), sertificates).then((data) => {\r\n if (data?.error) {\r\n let handlerClose = () => {\r\n if (currentObject.props.handlerRestart)\r\n currentObject.props.handlerRestart(false);\r\n hideModalDialog('modalDialog')\r\n };\r\n showModalDialog('modalDialog', i18next.t(\"error\"), \"\",
    {data.error}
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: handlerClose, class: \"btn-primary\" }], handlerClose);\r\n }\r\n else {\r\n currentObject.setState({ error: data?.error, keyLoaded: data?.keyLoaded, sending: data?.sending });\r\n }\r\n });\r\n currentObject.setState({ euSign: euSign });\r\n })\r\n this.setState({ euSign: euSign });\r\n }\r\n onCancel() {\r\n const { onCloseHandler } = this.props;\r\n if (!this.state.sending && onCloseHandler)\r\n onCloseHandler();\r\n }\r\n async signFile(value) {\r\n let currentObject = this;\r\n let result = this.state.euSign.SignHash(value, false,\r\n window.EndUser.SignAlgo.DSTU4145WithGOST34311, window.EndUser.SignType.CAdES_X_Long,null)\r\n .then(function (sign) {\r\n currentObject.setState({ error: '', keyLoaded: true, sending: false });\r\n let result = uint8ToBase64(sign);\r\n console.log('--- sign hash ---', result);\r\n return result;\r\n });\r\n return result;\r\n }\r\n async onSign(e) {\r\n e.preventDefault();\r\n if (!this.state.sending) {\r\n this.setState({ sending: true });\r\n let { files } = this.state;\r\n let signs = [];\r\n for (var i = 0; i < files.length; i++) {\r\n let file = await this.signFile(files[i].value);\r\n signs.push({ id: files[i].id, value: file });\r\n }\r\n let result = this.props?.onSignHandler(signs);\r\n }\r\n }\r\n render() {\r\n const { keyLoaded, error } = this.state;\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* Батківський елемент для відображення iframe, який завантажує сторінку SignWidget */}\r\n
    \r\n
    \r\n {error &&\r\n
    \r\n {i18next.t(\"Виникла помилка при підписі даних. Опис помилки: \") + error}\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {keyLoaded &&\r\n \r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport { actionTypes } from '../../constants';\r\nimport { hideModalDialog } from '../ModalDialog';\r\nimport { loadData as loadDataP } from './ListOfDocuments';\r\nimport { Table } from '../table/Table';\r\nimport { TableFilterBlock } from '../table/TableFilterBlock';\r\nimport { getArrayIds } from '../helpers/HelperFunctions';\r\nexport { getAllowedEnumValues, getFilterValuesFromMenu, getSelectedMenuItem, inboxNavigate, loadDocuments, getSettingsValue } from './ListOfDocuments';\r\nexport async function actionHandlerCallback(type = '', ids = []) {\r\n let { content } = this.state;\r\n let result = this?.props?.actionHandlerCallback(type, content.rows.filter(row => ids.indexOf(row.columns['Id']) !== -1));\r\n hideModalDialog('modalDialog');\r\n await this.actionHandlerCallbackDefault(type, ids);\r\n}\r\nexport function renderContent() {\r\n const { columns, showPagination, showFilter, actionsForAll } = this.props;\r\n const { content, page, pageSize, pageCount, sortBy, isDesk, filterValues } = this.state;\r\n const actions = actionsForAll ? actionsForAll : [{ title: \"Додати\", type: actionTypes.add, isMultiaction: false, btnClass: \"btn-primary\", sortIndex: 0 }];\r\n if (content?.columns) {\r\n content.allColumns.find((item) => item.name === \"Status\").canFilter = false;\r\n if (columns?.length > 0) content.columns = content.columns.filter((item) => columns.find((column) => item.name === column));\r\n content.columns.map(item => item.showFilterInColumn = false);\r\n }\r\n return (content &&
    \r\n {(showFilter !== undefined ? showFilter : true) ? : \"\"}\r\n \r\n );\r\n}\r\nexport async function loadData(page = null, pageSize = null, sortBy = '', isDesk = false, filterValues = []) {\r\n const { additionalFilter } = this.props;\r\n const { content } = this.state;\r\n if (!(content?.rows?.length > 0 && additionalFilter?.Id && content.rows[0].columns.Id === additionalFilter.Id[0].split('/').pop())) await loadDataP.bind(this)(page, pageSize, sortBy, isDesk, filterValues);\r\n}","import React from 'react';\r\nimport i18next from \"../../i18n\";\r\nimport * as constants from '../../constants';\r\nimport { getArrayIds } from '../helpers/HelperFunctions';\r\nimport { Table } from '../table/Table';\r\nimport { TableFilterBlock } from '../table/TableFilterBlock';\r\nimport { loadListData } from './ListHelpers';\r\nexport async function loadData(page, pageSize, sortBy = '', isDesk = false, filterValues = []) {\r\n await loadListData.bind(this)(`Table/Get?searchTableTypes=${constants.searchTableTypes.Users}&withAction=${false}`, page, pageSize, sortBy, isDesk, filterValues);\r\n}\r\nexport async function actionHandlerCallback(actionType, ids) {\r\n const { content } = this.state;\r\n const { prop_sys_node_uuid } = this.props;\r\n if (ids.length > 0) {\r\n switch (actionType) {\r\n case constants.actionTypes.add:\r\n let rows = content.rows.filter(row => ids.indexOf(row.columns['Id']) !== -1);\r\n return await fetch(`document/changeTaslExecuter?email=${rows[0].columns.Email}&id=${prop_sys_node_uuid}`)\r\n .then(async (response) => {\r\n if (!response.ok) require('../ModalDialog').unknownErrorMessageDialog();\r\n else window.location.reload()\r\n });\r\n default: await this.actionHandlerCallbackDefault(actionType, ids);\r\n }\r\n }\r\n}\r\nexport function renderContent() {\r\n const { content, page, pageSize, pageCount, sortBy, isDesk, filterValues } = this.state;\r\n if (content) content.actionsForAll = [\r\n { \"title\": i18next.t(\"15\"), \"type\": constants.actionTypes.add, \"isMultiaction\": false, \"btnClass\": \"btn-primary\", \"sortIndex\": -1 }\r\n ];\r\n return (
    \r\n \r\n {content && content.columns &&\r\n
    \r\n }\r\n );\r\n}","import React from 'react';\r\nimport { History, actionTypes, alfrescoTypes, attachmentStatuses, documentBpActions, signatureStates, documentStatuses, formFieldTypes, formModes, statutoryDocTypes, searchTableTypes, alfrescoRoles, allowedAdditionalFileExtensions, acceptAdditionalInputFileString } from '../../constants';\r\nimport { buildFormField, getFormSection, getFormSectionSettings, padWithZeroes, InpuContainer } from '../form/Form';\r\nimport { AttachmentForm } from './AttachmentForm';\r\nimport { CommentForm } from '../comments/CommentForm';\r\nimport { buildComentAction } from '../comments/Comment';\r\nimport { CheckSignsForm } from '../forms/CheckSignsForm';\r\nimport { SignForm } from '../forms/SignForm';\r\nimport { StatutoryDocsForm } from '../forms/StatutoryDocsForm';\r\nimport * as HelperFunctions from '../helpers/HelperFunctions';\r\nimport * as ModalDialogsTemplates from '../ModalDialog';\r\nimport * as ModalDialog from '../ModalDialog';\r\nimport { Svg } from '../Svg';\r\nimport { DocumentInfo } from './DocumentInfo';\r\nimport { documentTabs, statuses } from './Document';\r\nimport * as ListOfContracts from '../listsOfAlfresco/ListOfContracts';\r\nimport * as ListOfUsersTaskExecuters from '../listsOfAlfresco/ListOfUsersTaskExecuters';\r\nimport { ListOfAlfresco } from '../listsOfAlfresco/ListOfAlfresco';\r\nimport { Table } from '../table/Table';\r\nimport { clientSettings } from '../../settings/clientSettings';\r\nimport { DynamicForm } from './DynamicForm';\r\nimport * as ListOfDocuments from '../listsOfAlfresco/ListOfDocuments';\r\nimport i18n from '../../i18n';\r\nimport { v4 } from 'uuid';\r\nconst mime = require(\"mime-types\");\r\nexport const getFile = async (id, type, asZip = false, withSign = false) => await fetch(`file/${type === alfrescoTypes.counterparties ? \"GetXml\" : `get${asZip ? \"Zip\" : \"\"}`}?nodeRefs=${id.split('/').pop()}&withSign=${withSign}`, { method: 'post', headers: { 'Content-Type': 'application/json' } }).then(async (reponse) => (await reponse.json())[0]);\r\n\r\nexport async function downloadFile(id, title = \"\", type = \"\", asZip = false, withSign = false) {\r\n\ttry { var data = await getFile(id, type, asZip, withSign); } catch (e) { var data = await getFile(id, type, asZip, withSign); }\r\n\tdownloadContent(data, title);\r\n}\r\nexport const downloadSign = async(id, title = \"\") => downloadContent(await (await fetch(`/file/Signs?id=${id}`, { method: 'post', headers: { 'Content-Type': 'application/json' } })).json(), title);\r\nexport async function downloadContent(data, title) {\r\n\ttry {\r\n\t\tlet fileExtension = mime.extension(data.mimeType);\r\n\t\tif (fileExtension)\r\n\t\t\tfileExtension = '.' + fileExtension;\r\n\t\telse\r\n\t\t\tfileExtension = '';\r\n\t\tlet anchor = document.createElement(\"a\");\r\n\t\tanchor.href = `data:${data.mimeType};base64,${data.content}`;\r\n\t\tanchor.download = `${title ? title : data.fileName}${fileExtension}`;\r\n\t\tanchor.click();\r\n\t} catch (e) { ModalDialogsTemplates.errorMessageDialog('1'); }\r\n}\r\nexport async function getComents() {\r\n\tModalDialog.hideModalDialog('modalDialog');\r\n\tconst { prop_sys_node_uuid } = this.state;\r\n\tif (prop_sys_node_uuid) this.setState({ comments: await buildComentAction('GET', `comments/get/${prop_sys_node_uuid}`) });\r\n}\r\nexport async function addComment(comment) {\r\n\tconst { prop_sys_node_uuid } = this.state;\r\n\tif (prop_sys_node_uuid) await buildComentAction('POST', 'comments/crud', {\r\n\t\taction: 'addComment',\r\n\t\tcontent: comment.content,\r\n\t\tdocumentNodeRef: prop_sys_node_uuid,\r\n\t});\r\n\telse this.setState({ comments: [...this.state.comments, comment] })\r\n\tgetComents.bind(this)()\r\n}\r\nexport async function getFormSetting(type) {\r\n\tconst response = await fetch(`Document/Form/${type}`, { method: 'GET', headers: { 'Content-Type': 'application/json' } });\r\n\tif (response.ok) return await response.json();\r\n\thandleGetDocumentError(response.status);\r\n}\r\nexport function getFormFields() {\r\n\tconst { form, prop_sx_dfState } = this.state;\r\n\tlet result = {};\r\n\tfor (let i = 0; i < form?.Fields?.length; ++i) {\r\n\t\tif (!form.Fields[i].Ignore && (!form.Fields[i].IgnoreWhile || form.Fields[i].IgnoreWhile.indexOf(prop_sx_dfState) === -1)) {\r\n\t\t\tlet { Name, Type } = form?.Fields[i];\r\n\t\t\tlet fieldValue = this.state[Name];\r\n\t\t\tif (fieldValue && Type === formFieldTypes.datetime) {\r\n\t\t\t\tif (fieldValue.includes(\"T\")) {\r\n\t\t\t\t\tlet date = HelperFunctions.getLocalDateString(new Date(fieldValue)).split(\".\");\r\n\t\t\t\t\tfieldValue = `${date[2]}-${date[1]}-${date[0]}`;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tfieldValue = fieldValue.split(\"-\");\r\n\t\t\t\t\tfieldValue = `${padWithZeroes(fieldValue[0], 4)}-${fieldValue[1]}-${fieldValue[2]}`;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tresult[Name] = (fieldValue || Type === formFieldTypes.bool) ? fieldValue : (Type === formFieldTypes.datetime ? null : \"\");\r\n\t\t}\r\n\t}\r\n\treturn result;\r\n}\r\nexport function handlerCloseDocument(pathname) {\r\n\tconst { formMode, type } = this.state;\r\n\tif ((type && (pathname?.toLowerCase() !== window.location.pathname.toLowerCase())) || !pathname) {\r\n\t\tif (formMode !== formModes.read) {\r\n\t\t\tlet closeDialog = () => ModalDialog.hideModalDialog('modalDialog');\r\n\t\t\tlet handlerCloseCreateForm = function () {\r\n\t\t\t\tcloseDialog();\r\n\t\t\t\tif (pathname) {\r\n\t\t\t\t\tHistory.block(true);\r\n\t\t\t\t\tHistory.push(pathname);\r\n\t\t\t\t}\r\n\t\t\t\telse window.location.replace(\"/\");\r\n\t\t\t}\r\n\t\t\tModalDialog.showModalDialog('modalDialog', i18n.t(\"attentionTitle\"), \"\",
    {i18n.t(\"ifNeedSaveMessage\")}
    , \"feedPopup\", true, [{ title: i18n.t(\"save\"), clickHandler: () => { ModalDialog.hideModalDialog('modalDialog'); this.actionHandlerCallback(actionTypes.save); }, class: \"btn-primary\" }, { title: \"Не зберігати\", clickHandler: () => formMode === formModes.create ? handlerCloseCreateForm() : (() => window.location.reload())(), class: \"btn-secondary\" }, { title: i18n.t(\"cancel\"), clickHandler: closeDialog, class: \"btn-secondary\" }], () => closeDialog());\r\n\t\t}\r\n\t\telse History.push(alfrescoTypes.counterparties === type ? '/' : '/documents');\r\n\t\treturn false\r\n\t}\r\n\treturn true;\r\n}\r\nexport function handleChangeRelatedDocuments(type = '', rows = []) {\r\n\tswitch (type) {\r\n\t\tcase actionTypes.add:\r\n\t\tcase actionTypes.remove:\r\n\t\t\tthis.state[\"assoc_sx_relatedDocuments_\" + (actionTypes.add ? \"added\" : \"removed\")] = rows.map((item) => \"workspace://SpacesStore/\" + item.columns.Id).join(',');\r\n\t\t\tbreak;\r\n\t}\r\n\tthis.actionHandlerCallback(actionTypes.save);\r\n}\r\nexport async function addFile(e) {\r\n\te.persist();\r\n\tif (ModalDialogsTemplates.isValidFileSizeDialog(e.target.files[0].size))\r\n\t\tthis.setState({\r\n\t\t\tadditionalDocuments: [...this.state.additionalDocuments, { id: (new Date().getTime()).toString(), file: e.target.files[0], fileName: e.target.files[0]?.name }]\r\n\t\t});\r\n\te.target.value = null;\r\n}\r\nexport async function handleGetDocumentError(code) {\r\n\tswitch (code) {\r\n\t\tcase 404: History.replace(\"/404\"); break;\r\n\t\tdefault: require('../ModalDialog').unknownErrorMessageDialog(window.location.pathname + window.location.search); break;\r\n\t}\r\n}\r\nexport async function signDocument(ids = []) {\r\n\tconst { type, prop_sys_node_uuid, attachments } = this.state;\r\n\tids.push(...(attachments ? attachments?.filter(item => item?.nodeRef && item.state !== attachmentStatuses.noDoc)?.map(item => item.nodeRef) : []));\r\n\tlet handlerResult = function (isSuccessResult = true) {\r\n\t\tif (isSuccessResult) {\r\n\t\t\tlet onClodeHandler = function () {\r\n\t\t\t\tModalDialog.hideModalDialog('modalDialog');\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t}\r\n\t\t\tModalDialog.showModalDialog('modalDialog', i18n.t(\"done\"), \"\",
    {i18n.t(\"Документ успішно підписано\")}
    , \"feedPopup\", true, [{ title: i18n.t(\"ok\"), clickHandler: onClodeHandler, class: \"btn-primary\" }], onClodeHandler);\r\n\t\t}\r\n\t}\r\n\tawait signFiles.bind(this)(ids.concat(type !== alfrescoTypes.counterparties ? [prop_sys_node_uuid] : []), {}, handlerResult, false, false, type === alfrescoTypes.contract);\r\n}\r\nexport async function signFiles(ids = [], body = {}, handlerResult = null, withoutStamp = false, withoutSign = false, isSingleFile) {\r\n\tlet fielesContent = [];\r\n\tlet requestOptions = { method: 'post', headers: { 'Content-Type': 'application/json' } };\r\n\tfor (let i = 0; i < ids.length; ++i) {\r\n\t\tconst response = await fetch(`file/GetFileHash?id=${ids[i]}`, requestOptions);\r\n\t\tif (!response.ok) return require('../ModalDialog').unknownErrorMessageDialog();\r\n\t\tfielesContent.push({ id: ids[i], value: await response.text() });\r\n\t}\r\n\tlet onSignHandler = async function (signs) {\r\n\t\tlet isSuccessResult = true;\r\n\t\tfor (let j = 0; j < signs.length; ++j) {\r\n\t\t\trequestOptions.body = JSON.stringify(signs[j].value);\r\n\t\t\tlet response = await fetch(`File/AddSignature?id=${signs[j].id}`, requestOptions);\r\n\t\t\tif (!response.ok) {\r\n\t\t\t\tisSuccessResult = false;\r\n\t\t\t\tif (handlerResult) handlerResult(false);\r\n\t\t\t\trequire('../ModalDialog').unknownErrorMessageDialog();\r\n\t\t\t}\r\n\t\t\telse if (!isSingleFile) {\r\n\t\t\t\trequestOptions.body = JSON.stringify({ properties: { state: attachmentStatuses.Signed }, currentElementNodeRef: `workspace://SpacesStore/${signs[j].id.indexOf(\"/\") !== -1 ? signs[j].id.split(\"/\").pop() : signs[j].id}`, assocName: \"sx:additionalFiles\" });\r\n\t\t\t\tlet response = await fetch(`Document/EditAdditionalFiles`, requestOptions);\r\n\t\t\t\tif (!response.ok) {\r\n\t\t\t\t\tisSuccessResult = false;\r\n\t\t\t\t\tif (handlerResult) handlerResult(false);\r\n\t\t\t\t\trequire('../ModalDialog').unknownErrorMessageDialog();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (handlerResult) handlerResult(isSuccessResult);\r\n\t}\r\n\tModalDialog.showModalDialog('modalDialog', i18n.t(\"digitalSignature\"), \"\", {\r\n\t\thandlerResult(false);\r\n\t\tsignFiles.bind(this)(ids, body, handlerResult, withoutStamp, withoutSign);\r\n\t}} onSignHandler={onSignHandler.bind(this)} onCloseHandler={() => { ModalDialog.hideModalDialog('modalDialog'); handlerResult(false); }} withoutStamp={withoutStamp} withoutSign={withoutSign} />, \"feedPopup middle-size\", true, [], () => {\r\n\t\thandlerResult(false);\r\n\t\tModalDialog.hideModalDialog('modalDialog');\r\n\t});\r\n}\r\nexport async function checkDocumentSigns() {\r\n\tconst { attachments, attachmentsTypes, type, prop_sys_node_uuid } = this.state;\r\n\tlet ids = attachments.filter(at => at.signs !== null && at.signs?.length > 0).map((item) => Object.assign(item, { documentTypeValue: attachmentsTypes?.filter(type => type.value === item.documentType)[0]?.title })).map((item) => item.nodeRef);\r\n\tcheckSigns.bind(this)(ids.concat([prop_sys_node_uuid]), type === alfrescoTypes.counterpartyAccreditationCard ? i18n.t(\"xmlDocumentTypeValue\") : \"\");\r\n}\r\nexport async function checkSigns(ids, documentTypeValue = \" \") {\r\n\tconst prop_sys_node_uuid = this?.state?.prop_sys_node_uuid;\r\n\tlet withSignatures = (await Promise.all(ids.map(async (item) => await fetch(`File/Sign/${item.split('/').pop()}`)\r\n\t\t.then(async (response) => {\r\n\t\t\tif (!response.ok) require('../ModalDialog').unknownErrorMessageDialog();\r\n\t\t\telse return { signs: (await response.json())?.signatures, documentTypeValue: prop_sys_node_uuid === item.split('/').pop() ? documentTypeValue : \"\" };\r\n\t\t})))).filter(item => item.signs?.length > 0);\r\n\tModalDialog.showModalDialog('modalDialog', i18n.t(\"listOfSignatures\"), \"\", , \"feedPopup check-signs-dialog\", true, [{ title: i18n.t(\"ok\"), clickHandler: () => ModalDialog.hideModalDialog('modalDialog'), class: \"btn-primary\" }], null, [{ src: '/img/icn-refresh.svg', onClickCallback: () => checkSigns.bind(this)(ids, documentTypeValue) }]);\r\n}\r\nexport async function documentActionHandlerCallback(actionType, actionRequest) {\r\n\tlet checkInputValues = () => {\r\n\t\tif (this.getErrorMessage) {\r\n\t\t\tconst error = this.getErrorMessage();\r\n\t\t\tif (error) {\r\n\t\t\t\tshowCheckFailedMessage.bind(this)(error);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\tconst { prop_sys_node_uuid } = this.state;\r\n\tlet currentObject = this;\r\n\tthis.setState({ submitted: true });\r\n\tswitch (Number(actionType)) {\r\n\t\tcase actionTypes.invoice: window.location.replace(`/content/sx:Invoice?parent=${prop_sys_node_uuid}`);\r\n\t\tcase actionTypes.score: window.location.replace(`/content/sx:score?parent=${prop_sys_node_uuid}`);\r\n\t\tcase actionTypes.cancel: handlerCloseDocument.bind(this)(); break;\r\n\t\tcase actionTypes.edit: return this.setState({ formMode: formModes.edit });\r\n\t\tcase actionTypes.changeTaslExecuter: return ModalDialog.showModalDialog(\"loadingDialog\", i18n.t(\"14\"), \"\", , \"feedPopup middle-size\");\r\n\t\tcase actionTypes.reject: return ModalDialog.showModalDialog('modalDialog', i18n.t(\"attentionTitle\"), \"\",
    {i18n.t(\"rejectDocumentMessage\")}
    , \"feedPopup\", true, [{ title: i18n.t(\"yes\"), clickHandler: () => currentObject.actionHandlerCallback(actionTypes.save, actionType), class: \"btn-primary\" }, { title: i18n.t(\"no\"), clickHandler: () => { ModalDialog.hideModalDialog('modalDialog') }, class: \"btn-secondary\" }]);\r\n\t\tcase actionTypes.save:\r\n\t\t\tif (checkInputValues())\r\n\t\t\t\tawait handleSubmit.bind(this)(actionRequest ? actionRequest : \"\");\r\n\t\t\tbreak;\r\n\t\tcase actionTypes.annul: return ModalDialog.showModalDialog('modalDialog', i18n.t(\"attentionTitle\"), \"\",
    {i18n.t(\"cancelDocumentMessage\")}
    , \"feedPopup\", true, [{ title: i18n.t(\"yes\"), clickHandler: () => currentObject.actionHandlerCallback(actionTypes.save, actionRequest), class: \"btn-primary\" }, { title: i18n.t(\"no\"), clickHandler: () => { ModalDialog.hideModalDialog('modalDialog') }, class: \"btn-secondary\" }]);\r\n\t\tcase actionTypes.sign:\r\n\t\t\tif (checkInputValues())\r\n\t\t\t\tsignDocument.bind(this)();\r\n\t\t\tbreak;\r\n\t}\r\n}\r\nexport async function deleteDocument(id) {\r\n\tawait fetch(`Document/Delete?id=${id}`, { method: \"DELETE\" })\r\n\t\t.then(res => {\r\n\t\t\tif (!res.ok) require('../ModalDialog').unknownErrorMessageDialog();\r\n\t\t});\r\n}\r\nexport function buildFormSection(sectionName) {\r\n\tconst { form, submitted, formMode } = this.state;\r\n\tlet section = getFormSection(form, sectionName);\r\n\tlet sectionSettings = getFormSectionSettings(form, sectionName);\r\n\tlet sectionItems = section.sectionItems;\r\n\tif (sectionItems) {\r\n\t\tlet fields = [];\r\n\t\tfor (let i = 0; i < sectionItems.length; ++i) {\r\n\t\t\tlet item = JSON.parse(JSON.stringify(sectionItems[i]));\r\n\t\t\tif (item?.Name) item.Value = item.Name.split('+').map(value => this.state[value]).join(' ');\r\n\t\t\titem = this?.buildFormItem ? this.buildFormItem.bind(this)(item) : item;\r\n\t\t\tif (item) fields.push(item);\r\n\t\t\telse if (item?.Type === formFieldTypes.select && !this.state[item.Name])\r\n\t\t\t\titem.Value = this.state[item.Name] = item.Values.Data[0].Value;\r\n\t\t\tlet indexFieldConfiguration = form.Fields.findIndex((field) => field.Name === item?.Name);\r\n\t\t\tif (indexFieldConfiguration !== -1) {\r\n\t\t\t\tform.Fields[indexFieldConfiguration].Ignore = form.Fields[indexFieldConfiguration].Ignore || fields.findIndex((field) => field?.Name === item?.Name) === -1 || item?.Type === formFieldTypes.empty;\r\n\t\t\t\titem.Disabled = formMode === formModes.read ? true : item.Disabled;\r\n\t\t\t\titem.Check = submitted || formModes.edit === formMode;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn (\r\n\t\t\t<>\r\n\t\t\t\t{sectionSettings?.Label?.Label ?\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    :\r\n\t\t\t\t\t\"\"\r\n\t\t\t\t}\r\n\t\t\t\t{fields.map((item) =>\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{buildFormField(item, HelperFunctions.changeInputValue.bind(this))}\r\n\t\t\t\t\t
    \r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n\treturn ([]);\r\n}\r\nexport function renderFormHeader() {\r\n\tconst { prop_sys_node_uuid, prop_cm_title, formMode, isCretor, prop_sx_dfState, isPerformer, type, settings, signatures, mimetype, associations, form } = this.state;\r\n\tlet btns = {\r\n\t\tdownload: { src: \"icn-download.svg\", title: i18n.t(\"download\"), onClick: () => downloadFile(associations.mainContent[0], prop_cm_title, type, false, false) },\r\n\t\tview: { src: \"download.svg\", title: i18n.t(\"view\"), onClick: () => ModalDialogsTemplates.viewPdfDialog(associations.mainContent[0]), show: \"application/pdf\" === mimetype || \"application/octet-stream\" === mimetype },\r\n\t\tdownloadWithSign: { src: \"icn-sign1.svg\", title: i18n.t(\"25\"), onClick: () => downloadFile(associations.mainContent[0], prop_cm_title, \"\", false, true) },\r\n\t\tdownloadSign: { src: \"icn-sign1.svg\", title: i18n.t(\"26\"), onClick: () => downloadSign(associations.mainContent[0], prop_cm_title) },\r\n\t\tcheckSign: { src: \"check.svg\", title: i18n.t(\"checkSignatures\"), onClick: checkDocumentSigns.bind(this) },\r\n\t\tdownloadTemplate: { src: \"icn-download.svg\", title: i18n.t(\"downloadTemplate\"), onClick: () => ModalDialog.showModalDialog('modalDialog', i18n.t(i18n.t(\"downloadDocumentTemplate\")), \"\", , \"feedPopup middle-size\") },\r\n\t\tnewConnection: { src: \"sep.svg\", title: i18n.t(\"addConnection\"), onClick: () => ModalDialog.showModalDialog('modalDialog', i18n.t(\"addNewConnection\"), \"\", , \"feedPopup middle-size\") },\r\n\t\taddComment: { src: \"icn-comadd.svg\", title: i18n.t(\"addComment\"), onClick: () => ModalDialog.showModalDialog('modalDialog', i18n.t(\"addComment\"), \"\", , \"feedPopup\") },\r\n\t\tgetComents: { classes: \"has-additionnal-btn\", src: \"icn-refresh.svg\", title: i18n.t(\"update\"), onClick: getComents.bind(this) },\r\n\t\tyouControlRequest: { src: \"refresh.svg\", title: i18n.t(\"fillWithYouControl\"), onClick: this.youControlRequest },\r\n\t\ttransliterate: { src: \"transliteration.svg\", title: i18n.t(\"fieldsTransliteration\"), onClick: this.transliterate },\r\n\t\taddBank: { src: \"users.svg\", title: i18n.t(\"addBank\"), onClick: () => ModalDialog.showModalDialog('modalDialog', i18n.t(i18n.t(\"19\")), \"\", , \"feedPopup middle-form\") },\r\n\t\taddSigner: { src: \"users.svg\", title: i18n.t(\"31\"), onClick: () => ModalDialog.showModalDialog('modalDialog', i18n.t(i18n.t(\"31\")), \"\", , \"feedPopup middle-form\") },\r\n\t\taddAttacment: {\r\n\t\t\tsrc: \"icn-addatach.svg\", title: i18n.t(\"addDocument\"),\r\n\t\t\tonClick: () => ModalDialog.showModalDialog('modalDialog', i18n.t(\"addDocument\"), \"\",\r\n\t\t\t\t { ModalDialog.hideModalDialog('modalDialog'); }} />, \"feedPopup middle-form\")\r\n\t\t}\r\n\t};\r\n\tlet tabName = HelperFunctions.getUrlParam(\"tab\")?.toLowerCase();\r\n\tlet activeBtns = documentTabs.comments === tabName ? [btns.addComment] : [];\r\n\tswitch (formMode) {\r\n\t\tcase formModes.create: case formModes.edit: break;\r\n\t\tcase formModes.read:\r\n\t\t\tif (type === alfrescoTypes.counterparties && [statuses.preparing, statuses.revision, statuses.rejected].indexOf(prop_sx_dfState) !== -1) {\r\n\t\t\t\tif (documentTabs.signers === tabName) activeBtns.push(btns.addSigner);\r\n\t\t\t\tif (documentTabs.financialinfo === tabName) activeBtns.push(btns.addBank);\r\n\t\t\t}\r\n\t\t\tif (documentTabs.docs === tabName && (prop_sx_dfState === statuses.preparing || prop_sx_dfState === statuses.revision)) activeBtns.push(btns.addAttacment);\r\n\t\t\tif (type !== alfrescoTypes.counterparties) activeBtns.push(btns.view, btns.download, btns.downloadWithSign, btns.downloadSign);\r\n\t\t\tbreak;\r\n\t}\r\n\tif (documentTabs.comments === tabName && formMode !== formModes.create) activeBtns.push(btns.getComents);\r\n\tlet validSignatures = signatures?.filter((signature) => signature.state === signatureStates.signed);\r\n\tlet actions = settings.actions.filter((item) => (\r\n\t\t(((isPerformer) && (isCretor && (prop_sx_dfState === documentStatuses?.project || prop_sx_dfState === documentStatuses?.refinementCounterparty) || prop_sx_dfState !== documentStatuses?.project && prop_sx_dfState !== documentStatuses?.refinementCounterparty) &&\r\n\t\t\t((item?.statuses)?.includes(prop_sx_dfState) || (item?.statuses)?.includes(documentStatuses?.All)) &&\r\n\t\t\t((item?.modes)?.includes(formMode) || (item?.modes)?.includes(formModes.all) || item?.modes === null && formModes.read === formMode) || item.type == actionTypes.cancel) && !((item.type === actionTypes.additionalSign || item.type === actionTypes.sign) && prop_sx_dfState === documentStatuses?.project && validSignatures?.length === 2))));\r\n\tif ((prop_sx_dfState === documentStatuses?.project || prop_sx_dfState === documentStatuses?.refinementCounterparty) && JSON.parse(localStorage.getItem('user')).role === alfrescoRoles.MODERATOR && formMode === formModes.read) actions.splice(actions.length - 1, 0, settings.actions.find((item) => item.type === actionTypes.changeTaslExecuter));\r\n\treturn (\r\n\t\t<>\r\n\t\t\t
    \r\n\t\t\t\t
      \r\n\t\t\t\t\t{actions.map((item) => (\r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t))}\r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t
      \r\n\t\t\t\t\t{activeBtns.map((item) =>\r\n\t\t\t\t\t\t
    • \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    • )}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t\t
    \r\n\t\t\r\n\t);\r\n}\r\n\r\nfunction showCheckFailedMessage(error) {\r\n\tconst currentObject = this;\r\n\tModalDialog.showModalDialog(\"modalDialog\", i18n.t(\"attentionTitle\"), \"\",\r\n\t\t
    {error}
    ,\r\n\t\t\t\"feedPopup\", true,\r\n\t\t\t[{ title: i18n.t(\"ok\"), clickHandler: () => { ModalDialog.hideModalDialog('modalDialog'); onCheckFailedMessageClose.bind(currentObject)(); }, class: \"btn-primary\" }],\r\n\t\t\t() => onCheckFailedMessageClose.bind(currentObject)()\r\n\t\t);\r\n}\r\n\r\nfunction onCheckFailedMessageClose() {\r\n\tthis.setState({ activeTab: documentTabs.information });\r\n}\r\n\r\nexport async function handleSubmit(action) {\r\n\tconst { prop_sys_node_uuid, type, comments, externalSigners, file, parent } = this.state;\r\n\r\n\tlet message;\r\n\tif (type === alfrescoTypes.counterparties && [documentBpActions.activitiprocessAccreditationCA, documentBpActions.completeCounterpartyCorrections, documentBpActions.activiti$completeContractsSigning].indexOf(action) !== -1) {\r\n\t\tlet message = !this.checkAttachmentsMandatoryAdding() ? i18n.t(\"22\") : (!this.checkAttachmentsMandatorySigning() ? i18n.t(\"22\") : \"\");\r\n\t\tif (message)\r\n\t\t\treturn ModalDialog.showModalDialog('modalDialog', i18n.t(\"attentionTitle\"), \"\",
    {message}
    , \"feedPopup\", true, [{ title: i18n.t(\"ok\"), clickHandler: () => { this.setState({ activeTab: documentTabs.docs }); ModalDialog.hideModalDialog('modalDialog') }, class: \"btn-primary\" }], () => this.setState({ activeTab: documentTabs.docs }));\r\n\t}\r\n\telse if (!externalSigners && action && (action !== documentBpActions.activiti$returnContractToCorrections)) return require('../ModalDialog').errorMessageDialog(i18n.t(\"1\"));\r\n\tswitch (action) {\r\n\t\tcase documentBpActions.activitiprocessAccreditationCA:\r\n\t\tcase documentBpActions.completeCounterpartyCorrections: message = i18n.t(\"Документ успішно відправлено на обробку\"); break;\r\n\t\tcase documentBpActions.activiti$processInvoice: case documentBpActions.activiti$completeContractsSigning: message = i18n.t(\"Документ успішно відправлено\"); break;\r\n\t\tcase documentBpActions.activiti$returnContractToCorrections: message = i18n.t(\"Документ успішно повернуто на доопрацювання автору\"); break;\r\n\t\tdefault: message = i18n.t(\"Документ успішно збережено\");\r\n\t}\r\n\tawait fetch(`Document/${prop_sys_node_uuid ? \"Edit\" : \"Add\"}/${prop_sys_node_uuid ?? ''}${action ? `?actionDoc=${action}` : \"\"}`, {\r\n\t\tmethod: 'POST',\r\n\t\theaders: { 'Content-Type': 'application/json' },\r\n\t\tbody: JSON.stringify({\r\n\t\t\tproperties: JSON.stringify(getFormFields.bind(this)()),\r\n\t\t\tcomments, content: file ? {\r\n\t\t\t\tproperties: { title: file.name },\r\n\t\t\t\tdata: file ? (await HelperFunctions.getBase64(file, false))?.content : null\r\n\t\t\t} : {}, contractNodeRef: parent ? `workspace://SpacesStore/${parent}` : null, type\r\n\t\t})\r\n\t})\r\n\t\t.then(async (response) => {\r\n\t\t\tif (response.status === 422) require('../ModalDialog').errorMessageDialog(i18n.t(\"4\"));\r\n\t\t\telse if (!response.ok) handleGetDocumentError(response.status);\r\n\t\t\telse ModalDialogsTemplates.messageDialog(i18n.t(\"done\"), message, async () => document.location.replace(`/content/${prop_sys_node_uuid ?? (await response.json()).nodeRef.split('/').pop()}` + document.location.search));\r\n\t\t});\r\n\t//ModalDialog.showModalDialog('modalDialog', i18n.t(\"addComment\"), \"\", , \"feedPopup\", true, []);\r\n}\r\nexport async function addAdditionaSignatory(id, type) {\r\n\tthis.state.assoc_sxcfc_externalSigners_added = id;\r\n\tthis.actionHandlerCallback(actionTypes.save, type);\r\n}\r\nexport function renderAttachment() {\r\n\tlet addMainFile = (e) => {\t\t\r\n\t\tif (ModalDialogsTemplates.isAllowedFileTypeDialog(e.target.files[0], allowedAdditionalFileExtensions) && ModalDialogsTemplates.isValidFileSizeDialog(e.target.files[0].size)) {\r\n\t\t\tModalDialogsTemplates.messageDialog(i18n.t(\"done\"), i18n.t('30'));\r\n\t\t\tthis.setState({ file: e.target.files[0] })\r\n\t\t}\r\n\t}\r\n\tconst { formMode, associations, prop_cm_title, file, type, parent } = this.state;\r\n\tconst mainContent = associations?.mainContent;\r\n\tlet items = [{ ids: associations?.contracts, title: i18n.t('27') }, { ids: associations?.contract ?? (parent ? [parent] : []), title: i18n.t('29') }, { ids: associations?.invoice, title: i18n.t('28') }].map(item => ({ title: item.title, association: item.ids, content: item.ids?.length > 0 ? <> i.modes.includes(formModes.all) || i.modes.includes(formMode))} actionHandlerCallback={mainContractActionHandler.bind(this)} columns={[\"DocumentNumber\", \"DateDocument\", \"Kind\"]} showPagination={false} showFilter={false} parentComponent={ListOfContracts} type={searchTableTypes.Documents} withAction={false} additionalFilter={JSON.parse(JSON.stringify({ \"Id\": item.ids.map(item => item.split('/').pop()) }))} /> : '' }));\r\n\tlet mainFileIsPdf = file ? (/.?\\.pdf$/i).test(file.name): true;\r\n\titems.push({ title: i18n.t('attachedFiles'), subTitle: 'Основний файл документа', association: mainContent, content: <>
    (i.modes.includes(formModes.all) || i.modes.includes(formMode)) && (i.type !== actionTypes.previewMainDocument || mainFileIsPdf))} items={file || mainContent?.length > 0 ? [{ columns: { Id: mainContent?.length > 0 ? mainContent[0] : v4(), FileName: prop_cm_title ?? i18n.t(`form.${type.replace(':', '_')}.title`) } }] : []} />{formModes.read !== formMode ? [v4()].map(item => (<>)) : ''} });\r\n\treturn (items.map((v, k) =>
    \r\n\t\t{v?.content ?
    : ''}\r\n\t\t
    {v.subTitle ? : ''}{v?.content}
    \r\n\t
    ));\r\n}\r\nexport function mainContractActionHandler(actionType, rows) {\r\n\tListOfDocuments.actionHandlerCallback(actionType, [rows[0].columns.Id]);\r\n}\r\nexport async function attachedFilesActionHandler(actionType, ids) {\r\n\tconst { associations, file } = this.state;\r\n\tswitch (actionType) {\r\n\t\tcase actionTypes.download:\r\n\t\t\tif (file) {\r\n\t\t\t\tlet fileName = file.name;\r\n\t\t\t\tlet fileNameParts = fileName.split('.');\r\n\t\t\t\tif (fileNameParts.length > 1) {\r\n\t\t\t\t\tfileNameParts.pop();\r\n\t\t\t\t\tfileName = fileNameParts.join('.');\r\n\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\tconst fileData = {\r\n\t\t\t\t\tfileName: fileName,\r\n\t\t\t\t\tmimeType: file.type,\r\n\t\t\t\t\tcontent: (await HelperFunctions.getBase64(file, false)).content\r\n\t\t\t\t}\r\n\t\t\t\tdownloadContent(fileData);\r\n\t\t\t}\r\n\t\t\telse if (associations?.mainContent) {\r\n\t\t\t\tListOfDocuments.actionHandlerCallback(actionType, ids);\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tcase actionTypes.previewMainDocument:\r\n\t\t\tif (file) {\r\n\t\t\t\tlet base64 = (await HelperFunctions.getBase64(file, false)).content;\r\n\t\t\t\tlet objectUrl = window.URL.createObjectURL(HelperFunctions.base64toBlob(base64, \"application/pdf\"))\r\n\t\t\t\tModalDialog.viewFile(objectUrl, file.name)\r\n\t\t\t}\r\n\t\t\telse if (associations?.mainContent) {\r\n\t\t\t\tListOfDocuments.actionHandlerCallback(actionType, ids);\r\n\t\t\t}\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\tListOfDocuments.actionHandlerCallback(actionType, ids);\r\n\t\t\tbreak;\r\n\t}\r\n}","import React, { Component } from 'react';\r\nimport { NavLink } from 'reactstrap';\r\nimport { getUrlParam, setUrlParam } from './helpers/HelperFunctions';\r\nexport class Tabs extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n activeTab: this.props.activeTab ? this.props.activeTab : \"0\",\r\n renderedIds: []\r\n };\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n const { name } = this.props;\r\n if (nextProps.activeTab && nextProps.activeTab !== this.state.activeTab) {\r\n this.setState({ activeTab: nextProps.activeTab.toLowerCase() });\r\n if (name) setUrlParam(name, nextProps.activeTab);\r\n }\r\n }\r\n componentWillUpdate() {\r\n const { name } = this.props;\r\n const { activeTab } = this.state;\r\n if (name) {\r\n let param = getUrlParam(name)?.toLowerCase();\r\n if (param && param !== activeTab)\r\n this.setActiveTab.bind(this)(name, param);\r\n this.state.activeTab = param ? param : \"0\";\r\n }\r\n }\r\n render() {\r\n const { tabs, name, isSub } = this.props;\r\n const { activeTab } = this.state;\r\n return (\r\n isSub === false || !isSub ?\r\n <>\r\n
    \r\n
      \r\n {tabs.map((item, index) =>\r\n
    • this.setActiveTab.bind(this)(name, item?.name?.toLowerCase() ? item.name : index.toString())}>\r\n {item.label}\r\n
    • \r\n )}\r\n
    \r\n
    \r\n {this.props?.children?.map((item, index) =>\r\n
    \r\n {item.content ? item.content : (item ? item : \"\")}\r\n
    \r\n ) ?? \"\"}\r\n :\r\n <>\r\n
    \r\n
      \r\n {tabs.map((item, index) =>\r\n
    • this.setActiveTab.bind(this)('', index.toString())}>\r\n {item.label}\r\n
    • \r\n )}\r\n
    \r\n
    \r\n {this.props.children ? this.props.children.map((item, index) =>\r\n
    \r\n {item}\r\n
    \r\n ) : \"\"}\r\n \r\n );\r\n }\r\n setActiveTab(name, activeTab) {\r\n activeTab = activeTab?.toLowerCase();\r\n this.state.activeTab = activeTab;\r\n this.setState({\r\n activeTab: activeTab\r\n });\r\n if (name) setUrlParam(name, activeTab);\r\n if (this.props.tabChangedCallback)\r\n this.props.tabChangedCallback(activeTab);\r\n }\r\n}","import React, { Component } from 'react';\r\nimport { hideModalDialog } from '../ModalDialog';\r\nimport { Comment } from './Comment';\r\nimport { removeCommentAction } from './Comment';\r\nexport class CommentsForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n comments: this.props.comments ?? [],\r\n statuses: []\r\n };\r\n this.handleChangeComents = ((commets) => this.setState({ comments: commets ?? this.state.comments }, () => {\r\n this.props.handleChangeComents(commets);\r\n this.props.getComents();\r\n })).bind(this);\r\n this.handleChangeComent = this.handleChangeComent.bind(this);\r\n this.props.getComents();\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.comments !== this.props.comments)\r\n this.setState({ comments: nextProps.comments });\r\n }\r\n render() {\r\n const { documentId } = this.props;\r\n const { comments, statuses } = this.state;\r\n return (
    \r\n
    \r\n
    \r\n {comments.map((item) =>\r\n this.deliteComent.bind(this)(item)} comment={item} />\r\n )}\r\n
    \r\n
    \r\n
    );\r\n }\r\n async deliteComent(coment) {\r\n const { documentId } = this.props;\r\n if (documentId) {\r\n await removeCommentAction(coment, documentId);\r\n this.handleChangeComents([]);\r\n }\r\n else {\r\n let index = this.state.comments.indexOf(coment);\r\n if (index !== -1) {\r\n this.state.comments.splice(index, 1);\r\n this.setState({ comments: this.state.comments });\r\n }\r\n this.handleChangeComents(this.state.comments);\r\n }\r\n hideModalDialog('modalDialog');\r\n }\r\n handleChangeComent(comnet) {\r\n const { comments } = this.state;\r\n const index = comments.findIndex((item) => item.id === comnet.id);\r\n if (index !== -1) comments[index] = comnet;\r\n this.setState({ comments: this.state.comments });\r\n this.handleChangeComents(comments);\r\n }\r\n}\r\n","import React from 'react';\r\nimport { Table } from '../table/Table';\r\nimport { clientSettings } from '../../settings/clientSettings';\r\nimport { getLocalDateString, getLocalTimeString } from '../helpers/HelperFunctions';\r\nexport class ExternalSigners extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n statuses: []\r\n }\r\n }\r\n render() {\r\n const { signers } = this.props;\r\n const { statuses } = this.state;\r\n let table = clientSettings.table.mainContentDigitalSignatures;\r\n let rows = [];\r\n if (signers) {\r\n for (let i = 0; i < signers.length; ++i) {\r\n let signingDate = signers[i].properties?.signingDate ? new Date(signers[i].properties.signingDate) : \"\";\r\n rows.push({\r\n actions: [],\r\n columns: {\r\n Id: signers[i].properties?.id,\r\n companyName: signers[i].properties?.sx_signerCompany,\r\n creatorFullName: signers[i].properties?.signerName,\r\n creatorPosition: signers[i].properties?.sx_signerPosition,\r\n signingState: statuses?.find(obj => obj?.value === signers[i]?.properties?.signingState)?.label,\r\n signingDate: signingDate ? `${getLocalDateString(signingDate)} ${getLocalTimeString(signingDate).substring(0, 5)}` : signingDate,\r\n signingCommentsPreview: signers[i].properties?.signingCommentsPreview,\r\n }\r\n });\r\n }\r\n }\r\n return (
    );\r\n }\r\n}","import React, { Component } from 'react'\r\nimport { alfrescoTypes, attachmentStatuses, formFieldTypes, documentStatuses, formModes, History } from '../../constants'\r\nimport { buildFormSection, getFormSetting, renderFormHeader, handleGetDocumentError, handlerCloseDocument, getComents, documentActionHandlerCallback, handleSubmit, renderAttachment } from './DocumentHelpers'\r\nimport * as HelperFunctions from '../helpers/HelperFunctions';\r\nimport { DocumentTitle } from './DocumentTitle'\r\nimport { Tabs } from '../Tabs'\r\nimport i18n from '../../i18n'\r\nimport { CommentsForm } from '../comments/CommentsForm'\r\nimport { Table } from '../table/Table'\r\nimport { clientSettings } from '../../settings/clientSettings'\r\nimport { ExternalSigners } from '../forms/ExternalSigners';\r\nexport const statuses = {\r\n accredited: \"accredited\",\r\n rejected: \"rejected\",\r\n revision: \"revision\",\r\n manager_revision: \"manager_revision\",\r\n manager_approval: \"manager_approval\",\r\n security_approval: \"security_approval\",\r\n preparing: \"preparing\",\r\n sign_counterparty: \"sign_counterparty\",\r\n signed: \"signed\"\r\n}\r\nexport const documentTabs = {\r\n information: \"information\",\r\n docs: \"docs\",\r\n signers: \"signers\",\r\n comments: \"comments\",\r\n financialinfo: \"financialinfo\",\r\n contactinfo: \"contactinfo\",\r\n}\r\nexport const documentSettings = {\r\n \"tabs\": [\r\n {\r\n \"name\": documentTabs.information,\r\n \"label\": i18n.t(\"Загальна інформація\")\r\n },\r\n {\r\n \"name\": documentTabs.contactinfo,\r\n \"label\": i18n.t(\"Контактна інформація\")\r\n },\r\n {\r\n \"name\": documentTabs.signers,\r\n \"label\": i18n.t(\"Підписанти\"),\r\n \"tabs\": [\r\n {\r\n \"name\": \"signers\",\r\n \"label\": i18n.t(\"Акредитовані підписанти\")\r\n },\r\n {\r\n \"name\": \"externalsigners\",\r\n \"label\": i18n.t(\"Додаткові підписанти\")\r\n }\r\n ]\r\n },\r\n {\r\n \"name\": documentTabs.financialinfo,\r\n \"label\": i18n.t(\"Фінансова інформація\")\r\n },\r\n {\r\n \"name\": documentTabs.docs,\r\n \"label\": i18n.t(\"Документи\")\r\n },\r\n {\r\n \"name\": documentTabs.comments,\r\n \"label\": i18n.t(\"Коментарі\")\r\n }\r\n ]\r\n}\r\nfunction DocumentFormContent(props) {\r\n return (
    \r\n
    \r\n
    \r\n {props.children}\r\n
    \r\n
    \r\n
    \r\n
    );\r\n}\r\nexport class Document extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = this.getInitState();\r\n this.actionHandlerCallback = documentActionHandlerCallback.bind(this);\r\n this.buildFormSection = buildFormSection.bind(this);\r\n }\r\n getInitState() {\r\n return {\r\n formMode: window.location.pathname.split(\"/\")[2].length !== 36 ? formModes.create : formModes.read,\r\n isCretor: false,\r\n isPerformer: true,\r\n activeTab: HelperFunctions.getUrlParam(\"tab\") ?? \"0\",\r\n parent: HelperFunctions.getUrlParam('parent'),\r\n curDocId: window.location.pathname.split(\"/\")[2]\r\n };\r\n }\r\n rendersigners() {\r\n const { formMode, externalSigners, settings, type, cpAuthorityPersons } = this.state;\r\n return (type === alfrescoTypes.counterparties ?\r\n tab.name === documentTabs.signers)?.tabs}>\r\n
    \r\n
    require('./DynamicForm').dynamicFormHandler('cpSignatory', type, ids)} actionsForAll={clientSettings.table.Signer.actions.filter(item => formMode == formModes.read ? false : true)} columns={clientSettings.table.Signer.Columns} items={cpAuthorityPersons.map(item => ({ columns: item }))} />\r\n \r\n \r\n \r\n :\r\n );\r\n }\r\n componentDidMount() {\r\n getForm.bind(this)();\r\n }\r\n componentDidUpdate() {\r\n const { curDocId } = this.state;\r\n const newDocId = window.location.pathname.split(\"/\")[2];\r\n if (curDocId !== newDocId) {\r\n const keys = Object.keys(this.state)\r\n const stateReset = keys.reduce((acc, v) => ({ ...acc, [v]: undefined }), {});\r\n this.setState({ ...stateReset, ...this.getInitState() }, () => getForm.bind(this)());\r\n }\r\n }\r\n render() {\r\n const { activeTab, settings, type, form, formMode } = this.state;\r\n if (!settings) return (\"\");\r\n try {\r\n let moduleName = type.split(':')[1];\r\n for (const [key, value] of Object.entries(require(`./${moduleName}`))) {\r\n if (typeof value === 'function')\r\n this[key] = value.bind(this);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n const activeTabs = settings.tabs.filter(item => form.Tabs.find(tab => tab?.toLowerCase() === item.name?.toLowerCase() && !(formMode === formModes.create && [documentTabs.comments, documentTabs.signers].find(item => item === tab?.toLowerCase()))));\r\n return (
    \r\n {(settings.tabs?.length > 0 ?\r\n
    \r\n \r\n
    { e.preventDefault(); handleSubmit.bind(this); }}>\r\n this.setState({ activeTab: index })}>\r\n {activeTabs.map((item) =>
    {renderFormHeader.bind(this)()}{this[\"render\" + item.name]()}
    )}\r\n
    \r\n \r\n
    : \"\")}\r\n
    );\r\n }\r\n setLocalStorage() {\r\n const { prop_sys_node_uuid, prop_sx_state } = this.state;\r\n fetch(`Document/GetCashe?key=${prop_sys_node_uuid}`, { method: \"get\" })\r\n .then(async (response) => {\r\n if (response.ok) {\r\n let text = await response.text();\r\n let storage = text ? JSON.parse(text) : localStorage.getItem(prop_sys_node_uuid);\r\n if (prop_sx_state === documentStatuses?.project && storage && Object.keys(storage).length > 0) {\r\n let updatedState = {};\r\n Object.keys(storage).map((key) => {\r\n updatedState[key] = storage[key];\r\n });\r\n this.setState(updatedState);\r\n }\r\n }\r\n });\r\n }\r\n updateServerStorage() {\r\n const { prop_sys_node_uuid, form } = this.state;\r\n let storage = JSON.stringify(Object.assign({}, ...form.Fields.filter(item => !item.Name).map((item) => ({ [item.Name]: this.state[item.Name] }))));\r\n fetch(`Document/SetCashe`, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({ key: prop_sys_node_uuid, value: storage })\r\n }).then(() => localStorage.setItem(prop_sys_node_uuid, storage))\r\n }\r\n renderinformation = () => (\r\n {this.buildFormSection(documentTabs.information)}\r\n {this.state.type !== alfrescoTypes.counterparties ? renderAttachment.bind(this)() : ''}\r\n )\r\n rendercontactinfo = () => ({['legalAddress', 'address', 'contacts'].map((item) => this.buildFormSection(item))})\r\n renderfinancialinfo() {\r\n const { banks, formMode } = this.state;\r\n return (
    \r\n
    require('./DynamicForm').dynamicFormHandler('Bank', type, ids)} actionsForAll={clientSettings.table.Bank.actions.filter(item => formMode == formModes.read ? false : true)} columns={clientSettings.table.Bank.Columns} items={banks.map(item => ({ columns: item }))} />\r\n );\r\n }\r\n rendercomments = () => ( this.setState({ comments: comments })} />)\r\n}\r\nexport async function getForm(id, prefix) {\r\n const _this = this;\r\n const { formMode } = this.state;\r\n let Id = id?.split(\"/\")?.pop() ?? window.location.pathname.split(\"/\")[2];\r\n let initForm = async function (documentId) {\r\n let data = (formMode === formModes.read || id) ? await fetch(`/document/get/${documentId}`, { method: 'GET', headers: { 'Content-Type': 'application/json' } })\r\n .then(async response => {\r\n if (!response.ok) return handleGetDocumentError.bind(this)(response.status);\r\n let data = await response.json();\r\n Object.entries(JSON.parse(data.properties)).map(([key, value]) => {\r\n _this.state[\"prop_\" + (prefix ?? '') + key.replaceAll(\":\", \"_\").replace(\"-\", \"_\")] = value\r\n });\r\n if (prefix) return;\r\n Object.keys(data).forEach(function (key) {\r\n _this.setState({ [key + (prefix ?? '')]: data[key] });\r\n });\r\n return data;\r\n }) : {}\r\n if (!data || prefix) return;\r\n const type = this.state.type ?? (data?.type ?? Id);\r\n const form = await getFormSetting(type);\r\n if (!form) return;\r\n let storageTimeInterval = JSON.parse(localStorage.user).storageTimeInterval;\r\n if (storageTimeInterval && formMode === formModes.edit && this.updateServerStorage) setInterval(this.updateServerStorage.bind(this), storageTimeInterval * 60000);\r\n if (formMode === formModes.create)\r\n History.block((prompt) => handlerCloseDocument.bind(this)(prompt.pathname));\r\n for (let i = 0; i < form?.Fields?.length; ++i) {\r\n let { Name, Value, Type } = form.Fields[i];\r\n if (Name) {\r\n Value = this.state[Name] ? this.state[Name] : Value;\r\n if (Type === formFieldTypes.datetime && !Value) this.state[Name] = null;\r\n else if (Type === formFieldTypes.select) {\r\n this.state[Name] = form?.Fields[i]?.Values?.Data?.length > 0 ? (Value ? Value : form?.Fields[i]?.Values?.Data[0]?.Value) : \"\";\r\n this.state[`${Name}s`] = form?.Fields[i]?.Values?.Data;\r\n }\r\n else this.state[Name] = (Value || Type === formFieldTypes.bool) ? Value : \"\";\r\n }\r\n }\r\n data.attachmentsTypes = data?.attachmentsTypes ? JSON.parse(data?.attachmentsTypes.replaceAll('sxd:', '')) : '';\r\n return Object.assign({ type: type, form: form }, data);\r\n }\r\n const data = await initForm.bind(this)(Id);\r\n this.setState({ formMode: formMode });\r\n if (!data || prefix) return;\r\n this.setState({ form: data.form })\r\n const type = data.type;\r\n this.state.attachments = [];\r\n if (formMode === formModes.read || id) {\r\n for (let i = 0; i < data?.attachments?.length; ++i) {\r\n let { nodeRef, properties, signatures, creatorInfo } = data.attachments[i];\r\n _this.state.attachments.push({\r\n nodeRef: nodeRef,\r\n signs: signatures?.signatures,\r\n creatorFullName: creatorInfo?.creatorFullName\r\n })\r\n Object.keys(properties).forEach(function (key) {\r\n _this.state.attachments[i][key] = properties[key]\r\n })\r\n }\r\n delete data['attachments']\r\n this.setState({ ...JSON.parse(JSON.stringify(data).replaceAll(`\"id\":`, `\"Id\":`)) })\r\n }\r\n try {\r\n let settingObject = Object.assign(documentSettings, { statuses: statuses, actions: JSON.parse(JSON.stringify(data.form.Actions)).map(item => Object.assign({ modes: [formModes.read] }, item)).map(item => HelperFunctions.objToLowercase(item)) });\r\n this.setState({ type: type, settings: settingObject });\r\n if (formMode === formModes.edit) this.setLocalStorage.bind(this)();\r\n if (id) {\r\n this.setState({ comments: [], prop_sys_node_uuid: \"\", formMode: formModes.create, prop_sx_state: documentStatuses?.preparation });\r\n History.push(type);\r\n }\r\n } catch { }\r\n if (type.toLowerCase() === alfrescoTypes.counterparties.toLowerCase()) {\r\n const curAttacmentsTypes = this.getCurAttacmentsTypes.bind(this)();\r\n for (let i = 0; i < curAttacmentsTypes?.length; ++i)\r\n if (this.state.attachments.findIndex(a => a.documentType === curAttacmentsTypes[i].value) < 0)\r\n this.state.attachments.push({\r\n Id: i,\r\n state: attachmentStatuses.NotAdded,\r\n documentType: curAttacmentsTypes[i].value,\r\n prop_sx_addDocumentType_label: curAttacmentsTypes[i].title\r\n });\r\n }\r\n const { associations } = this.state;\r\n const signatoryInvoice = associations?.signatoryInvoice;\r\n if (signatoryInvoice) signatoryInvoice.forEach(async (element, index) => await getForm.bind(_this)(element, `sx_signatoryInvoice${index}`));\r\n console.log('state', this.state);\r\n}","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { NavLink } from 'reactstrap';\r\nimport * as constants from '../../constants';\r\nimport * as DocumentHelpers from '../documents/DocumentHelpers';\r\nimport { getArrayIds, getCurrentUrlPath, parseFilterString } from '../helpers/HelperFunctions';\r\nimport * as ModalDialog from '../ModalDialog';\r\nimport { History } from '../../constants';\r\nimport { Table } from '../table/Table';\r\nimport { TableFilterBlock } from '../table/TableFilterBlock';\r\nimport * as ListHelpers from './ListHelpers';\r\nimport i18next from \"../../i18n\";\r\nimport { dispatcherActionTypes, globalEventDispatcher } from '../helpers/GlobalEventDispatcher'\r\nexport function inboxNavigate(index) {\r\n globalEventDispatcher.dispatch(dispatcherActionTypes.onTabChanged);\r\n\r\n this.setState({ selectedInboxNumber: index });\r\n const { sortBy, isDesk, filterValues, pageSize } = this.state;\r\n var allowedValues = this.getAllowedEnumValues(index);\r\n if (allowedValues[\"Status\"] && allowedValues[\"Status\"].length > 0\r\n && filterValues[\"Status\"] && filterValues[\"Status\"].length > 0\r\n && !(filterValues[\"Status\"].length === 1 && filterValues[\"Status\"][0] === 'hideAllValue')) {\r\n if (filterValues[\"Status\"].filter(it => allowedValues[\"Status\"].includes(it)).length === 0)\r\n filterValues[\"Status\"] = [];\r\n }\r\n this.loadData(1, pageSize, sortBy, isDesk, filterValues);\r\n}\r\nexport function getSelectedMenuItem() {\r\n let curUrl = getCurrentUrlPath();\r\n const { menuItems } = this.state;\r\n if (menuItems.length > 0) {\r\n let tabIndex = menuItems.findIndex(item => item.link && item.link.url === curUrl);\r\n if (tabIndex >= 0) return menuItems[tabIndex];\r\n }\r\n}\r\nexport function getAllowedEnumValues(inbox = -1) {\r\n let result = {};\r\n let selectedMenuItem = this.getSelectedMenuItem();\r\n if (inbox === -1)\r\n inbox = this.state.selectedInboxNumber;\r\n if (selectedMenuItem) {\r\n let statuses;\r\n if (selectedMenuItem?.inBoxes?.length > inbox) {\r\n let currentInbox = selectedMenuItem.inBoxes[inbox];\r\n statuses = currentInbox.counter?.settings?.Status;\r\n }\r\n if (!statuses)\r\n statuses = selectedMenuItem.counter?.settings?.Status;\r\n if (statuses && statuses.length > 0) result[\"Status\"] = statuses;\r\n }\r\n return result;\r\n}\r\n\r\nexport function getFilterValuesFromMenu(filterValues, menuItems = null) {\r\n let inbox = this.state.selectedInboxNumber;\r\n let additionalFilers = {};\r\n if ((!menuItems ? menuItems = this.state.menuItems : menuItems).length > 0) {\r\n var index = menuItems.findIndex(item => item.link?.url.toLocaleLowerCase() === getCurrentUrlPath().toLocaleLowerCase());\r\n if (index >= 0) {\r\n if (inbox >= 0 && menuItems[index]?.inBoxes?.length > inbox) {\r\n var currentInBox = menuItems[index].inBoxes[inbox];\r\n if (currentInBox.counter?.settings?.Filter?.length > 0) {\r\n for (let i = 0; i < currentInBox.counter.settings.Filter.length; i++) {\r\n let values = parseFilterString(currentInBox.counter.settings.Filter[i]);\r\n additionalFilers = Object.assign(additionalFilers, values);\r\n }\r\n }\r\n }\r\n if (menuItems[index]?.counter?.settings?.Filter?.length > 0) {\r\n for (let i = 0; i < menuItems[index].counter.settings.Filter.length; i++) {\r\n let values = parseFilterString(menuItems[index].counter.settings.Filter[i]);\r\n additionalFilers = Object.assign(additionalFilers, values);\r\n }\r\n }\r\n }\r\n }\r\n Object.keys(additionalFilers).forEach(name => {\r\n if (filterValues[name] && filterValues[name].length > 0) {\r\n filterValues[name] = additionalFilers[name].filter(item => filterValues[name].includes(item));\r\n }\r\n else {\r\n filterValues[name] = additionalFilers[name];\r\n }\r\n });\r\n\r\n return filterValues;\r\n}\r\nexport async function actionHandlerCallback(actionType, ids) {\r\n const actionHandlerCallback = this?.props?.actionHandlerCallback;\r\n let find = this?.state?.content?.rows?.find(item => item.columns.Id === ids[0]);\r\n if (actionHandlerCallback) actionHandlerCallback(actionType, ids);\r\n else {\r\n switch (actionType) {\r\n case constants.actionTypes.sign:\r\n let attachmentTypes;\r\n let files = [];\r\n for (var i = 0; i < ids.length; i++) {\r\n const response = await fetch(`document/${ids[i]}`, {\r\n method: 'GET',\r\n headers: { 'Content-Type': 'application/json' }\r\n });\r\n if (response.ok) {\r\n let data = await response.json();\r\n let properties = JSON.parse(data.properties);\r\n Object.keys(properties).map((key) => {\r\n properties[\"prop_\" + key.replaceAll(\":\", \"_\").replace(\"-\", \"_\")] = properties[key];\r\n });\r\n properties.attachmentsTypes = attachmentTypes;\r\n let { type, attachments } = data;\r\n const { prop_cm_title, prop_sys_node_uuid } = properties;\r\n files.push({ id: prop_sys_node_uuid, title: prop_cm_title, type: type, isMain: true });\r\n for (let j = 0; j < attachments?.length && attachmentTypes.length > 0; ++j) {\r\n let { state, id } = attachments[j].properties;\r\n if (state === constants.attachmentStatuses.New || state === constants.attachmentStatuses.Signed) {\r\n //let configuration = counterpartyAccreditationCard.getAttachmentConfiguration(attachments[j].properties, properties);\r\n //if (configuration && configuration.portalMandatorySigning) {\r\n // files.push({ id: id });\r\n //}\r\n }\r\n }\r\n }\r\n else return require('../ModalDialog').unknownErrorMessageDialog();\r\n }\r\n let handlerResult = function (isSuccessResult = true) {\r\n let message = files.length === 1 ? i18next.t(\"Документ успішно підписано\") : i18next.t(\"documentsSignedSuccessful\");\r\n if (!isSuccessResult) message = i18next.t(\"documentSignedError\");\r\n ModalDialog.showModalDialog('modalDialog', isSuccessResult ? i18next.t(\"done\") : i18next.t(\"error\"), \"\",
    {message}
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: () => ModalDialog.hideModalDialog('modalDialog'), class: \"btn-primary\" }]);\r\n }\r\n if (files.length > 0) DocumentHelpers.signFiles(files, {}, handlerResult);\r\n break;\r\n case constants.actionTypes.download: return await Promise.all(ids.map((id) => DocumentHelpers.downloadFile(id, find?.columns?.Name)));\r\n case constants.actionTypes.previewMainDocument: return require('../ModalDialog').viewPdfDialog(ids[0]);\r\n case constants.actionTypes.preview: return History.push(`/content/${ids[0]}`);\r\n case constants.actionTypes.remove:\r\n let currentObject = this;\r\n let confirmDialog = async function () {\r\n let promises = [];\r\n for (let i = 0; i < ids.length; ++i) {\r\n promises.push(DocumentHelpers.deleteDocument(ids[i]));\r\n }\r\n await Promise.all(promises);\r\n ModalDialog.hideModalDialog('modalDialog');\r\n currentObject.handleReloadData();\r\n }\r\n ModalDialog.showModalDialog(\"modalDialog\", i18next.t(\"removing\"), \"\",\r\n
    {i18next.t(\"removeDocumentsMessage\")}
    ,\r\n \"feedPopup\", true,\r\n [\r\n { title: i18next.t(\"yes\"), clickHandler: confirmDialog, class: \"btn-primary\" },\r\n { title: i18next.t(\"no\"), clickHandler: () => ModalDialog.hideModalDialog('modalDialog'), class: \"btn-secondary\" }\r\n ]);\r\n\r\n return;\r\n }\r\n }\r\n await this.actionHandlerCallbackDefault(actionType, ids);\r\n}\r\nexport function renderContent() {\r\n const { type, withTabs, actionsForAll, title } = this.props;\r\n const { content, page, pageSize, pageCount, sortBy, isDesk, menuItems, filterValues, selectedInboxNumber } = this.state;\r\n let index = 0;\r\n let inBoxIndex = 0;\r\n let selectedMenuItem = this.getSelectedMenuItem();\r\n let allowedEnumValues = this.getAllowedEnumValues();\r\n let pageTitle = title;\r\n if (selectedMenuItem?.title)\r\n pageTitle = selectedMenuItem.title;\r\n return (\r\n <>\r\n {this.props.title &&

    {pageTitle}{type === \"\" && {content?.allCount ? content?.allCount : 0}}

    }\r\n {withTabs &&
    \r\n
      \r\n {menuItems?.filter(item => !item.hiddenForTabs)?.map(item =>\r\n
    • this.inboxNavigate(0)}>\r\n {item === selectedMenuItem ?\r\n
      {item.link?.text}
      \r\n :\r\n {item.link?.text}\r\n }\r\n
    • \r\n )}\r\n
    \r\n
    }\r\n
    \r\n {selectedMenuItem && selectedMenuItem.inBoxes && selectedMenuItem.inBoxes.length > 0 &&\r\n
    \r\n
      \r\n {selectedMenuItem.inBoxes.map((item, index) =>\r\n
    • this.inboxNavigate(index)}>\r\n {item.title} {item.counter && !item.counter.hidden ? {item.counter?.count} : \"\"}\r\n
    • \r\n )}\r\n
    \r\n
    \r\n }\r\n {getCurrentUrlPath() !== \"/\" &&\r\n \r\n }\r\n {content && content.columns &&\r\n
    \r\n }\r\n \r\n \r\n );\r\n}\r\nexport function getSettingsValue(menuItems, name) {\r\n if ((!menuItems ? menuItems = this.state.menuItems : menuItems).length > 0) {\r\n var index = menuItems.findIndex(item => item.link?.url?.toLocaleLowerCase() === getCurrentUrlPath()?.toLocaleLowerCase());\r\n if (index >= 0 && menuItems[index]?.counter?.settings[name]?.length > 0)\r\n return menuItems[index].counter.settings[name];\r\n }\r\n return [];\r\n}\r\nexport async function loadDocuments(sortBy = '', isDesk = false, filterValues = [], menuItems = [], page = null, pageSize = null, inbox = -1) {\r\n const { type, withAction } = this.props;\r\n inbox = inbox ?? this.state.selectedInboxNumber;\r\n var allowedValues = this.getAllowedEnumValues();\r\n let getUpdatedFilterValues = (values = [], key = \"\") => {\r\n if (allowedValues[key]?.length > 0) {\r\n if (values.length === 1 && values[0] === \"*\")\r\n return allowedValues[key];\r\n else\r\n return values.filter(item => allowedValues[key].includes(item));\r\n }\r\n }\r\n\r\n let requestFilterValues = Object.assign({}, filterValues);\r\n requestFilterValues = this.getFilterValuesFromMenu(requestFilterValues, menuItems);\r\n\r\n const statusFilters = [{ name: \"Status\" }]\r\n .map(item => ({ name: item.name, values: (requestFilterValues[item.name]?.length > 0 ? requestFilterValues[item.name] : this.getSettingsValue(menuItems, item.name)) }))\r\n .map(item => {\r\n if (item.values?.length === 0)\r\n item.values = [\"*\"];\r\n return item;\r\n })\r\n .map(item => ({ name: item.name, values: getUpdatedFilterValues(item.values, item.name) ?? item.values }))\r\n .map(item => {\r\n if (item.values?.length > 0)\r\n item.values = item.values.filter(v => v !== \"*\");\r\n return item;\r\n })\r\n .filter(item => item.values?.length > 0);\r\n\r\n statusFilters.forEach(item => {\r\n requestFilterValues[item.name] = item.values;\r\n });\r\n\r\n if (!requestFilterValues['SearchType'] || requestFilterValues['SearchType'].length === 0)\r\n requestFilterValues['SearchType'] = ['sx:Contract,sx:score'];\r\n\r\n await ListHelpers.loadListData.bind(this)(`Table/Get?searchTableTypes=${type}${withAction !== undefined ? `&withAction=${withAction}` : \"\"}`,\r\n page ?? this.state.page, pageSize ?? this.state.pageSize, sortBy, isDesk, requestFilterValues);\r\n this.setState({ menuItems: menuItems });\r\n}\r\nexport async function loadData(page = null, pageSize = null, sortBy = '', isDesk = false, filterValues = []) {\r\n const { withTabs, additionalFilter } = this.props;\r\n filterValues = additionalFilter ? Object.assign(JSON.parse(JSON.stringify(additionalFilter)), filterValues) : filterValues;\r\n const component = this;\r\n await fetch(`home/navigation?tabUrl=${withTabs ? window.location.pathname : \"\"}&countInBoxes=${true}`).then(async (response) => {\r\n if (!response.ok) require('../ModalDialog').unknownErrorMessageDialog();\r\n else await loadDocuments.bind(component)(sortBy, isDesk, filterValues, (await response.json())?.Menu?.menuItems, page, pageSize);\r\n });\r\n}","const tablesettings = Object.assign({}, ...[\"Signer\", \"Bank\", \"mainContentDigitalSignatures\", \"AdditionalDocument\", \"FilesAttachments\", \"MainContent\", \"MenuLinks\"]\r\n .map((item) => ({ [item]: require(`./${item}.js`).default })));\r\nexport const clientSettings={\r\n table: JSON.parse(JSON.stringify(tablesettings))\r\n}","import React from 'react';\r\nimport i18next from \"../../i18n\";\r\nimport { Svg } from '../Svg';\r\nexport class TransferListInput extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n let cols = [];\r\n if (props.columns)\r\n cols = props.columns;\r\n let selectedCols = [];\r\n if (props.selected)\r\n selectedCols = props.selected;\r\n let handleChange = null;\r\n if (props.handleChange)\r\n handleChange = props.handleChange;\r\n this.state = {\r\n columns: cols,\r\n selected: selectedCols,\r\n selectedId: \"\",\r\n handleChange: handleChange\r\n };\r\n this.select = this.select.bind(this);\r\n this.toLeft = this.toLeft.bind(this);\r\n this.toRight = this.toRight.bind(this);\r\n this.up = this.up.bind(this);\r\n this.down = this.down.bind(this);\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.selected !== this.state.selected)\r\n this.setState({ columnsSettings: nextProps.selected, changedColumnsSettings: nextProps.selected });\r\n }\r\n select(id) {\r\n this.setState({ selectedId: id });\r\n }\r\n toLeft() {\r\n let { columns, selected, selectedId, handleChange } = this.state;\r\n const index = selected.indexOf(selectedId);\r\n if (index > -1) {\r\n selected.splice(index, 1);\r\n if (selected.length > index)\r\n selectedId = selected[index];\r\n else if (selected.length > index - 1 && index > 0)\r\n selectedId = selected[index - 1];\r\n else\r\n selectedId = \"\";\r\n }\r\n this.setState({ selected: selected, selectedId: selectedId });\r\n if (handleChange)\r\n handleChange(columns, selected);\r\n }\r\n toRight() {\r\n let { columns, selected, selectedId, handleChange } = this.state;\r\n let leftItems = columns ? columns.filter(col => !selected.includes(col.id)) : [];\r\n let index = leftItems.findIndex(col => col.id === selectedId);\r\n selected.push(selectedId);\r\n if (index > -1) {\r\n leftItems = columns ? columns.filter(col => !selected.includes(col.id)) : [];\r\n if (leftItems.length > index)\r\n selectedId = leftItems[index].id;\r\n else if (leftItems.length > index - 1 && index > 0)\r\n selectedId = leftItems[index - 1].id;\r\n else\r\n selectedId = \"\";\r\n }\r\n this.setState({ selected: selected, selectedId: selectedId });\r\n if (handleChange)\r\n handleChange(columns, selected);\r\n }\r\n up() {\r\n let { columns, selected, selectedId, handleChange } = this.state;\r\n if (selected.includes(selectedId)) {\r\n let index = selected.indexOf(selectedId);\r\n if (index > 0) {\r\n let tmp = selected[index];\r\n selected[index] = selected[index - 1];\r\n selected[index - 1] = tmp;\r\n for (var i = 0; i < selected.length; i++) {\r\n let num = columns.findIndex(col => col.id === selected[i]);\r\n let tempCol = columns[num];\r\n columns.splice(num, 1);\r\n columns.push(tempCol);\r\n }\r\n this.setState({ columns: columns, selected: selected });\r\n if (handleChange)\r\n handleChange(columns, selected);\r\n }\r\n }\r\n }\r\n down() {\r\n let { columns, selected, selectedId, handleChange } = this.state;\r\n if (selected.includes(selectedId)) {\r\n let index = selected.indexOf(selectedId);\r\n if (index > -1 && index < selected.length - 1) {\r\n let tmp = selected[index];\r\n selected[index] = selected[index + 1];\r\n selected[index + 1] = tmp;\r\n for (var i = 0; i < selected.length; i++) {\r\n let num = columns.findIndex(col => col.id === selected[i]);\r\n let tempCol = columns[num];\r\n columns.splice(num, 1);\r\n columns.push(tempCol);\r\n }\r\n this.setState({ columns: columns, selected: selected });\r\n if (handleChange)\r\n handleChange(columns, selected);\r\n }\r\n }\r\n }\r\n render() {\r\n const { columns, selected, selectedId } = this.state;\r\n let leftItems = columns? columns.filter(col => !selected.includes(col.id)) : [];\r\n let rightItems = [];\r\n if (selected) {\r\n for (var i = 0; i < selected.length; i++) {\r\n let index = columns.findIndex(col => col.id === selected[i]);\r\n if (index > -1) {\r\n rightItems.push(columns[index]);\r\n }\r\n }\r\n }\r\n let fromLeftToRightBtnEnabled = selectedId ? leftItems.filter(col => col.id === selectedId).length > 0 : false;\r\n let fromRightToLeftBtnEnabled = selectedId ? rightItems.filter(col => col.id === selectedId).length > 0 : false;\r\n let upEnabled = fromRightToLeftBtnEnabled;\r\n let downEnabled = upEnabled;\r\n if (fromRightToLeftBtnEnabled) {\r\n let index = rightItems.findIndex(col => col.id === selectedId);\r\n if (index === 0)\r\n upEnabled = false;\r\n if (index === rightItems.length - 1)\r\n downEnabled = false;\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 {leftItems.map((i, k) =>\r\n
    • { this.select(i.id) }}>{i.headerName}
    • \r\n )}\r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
      \r\n {rightItems.map((item, i) =>\r\n
    • { this.select(item.id) }}>{item.headerName}
    • \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}","import React,{Component} from 'react';\r\nimport {v4} from 'uuid';\r\nimport {companyTypes} from '../../constants';\r\nimport i18next from \"../../i18n\";\r\nimport {DateTimeInput} from '../forms/DateTimeInput';\r\nimport {TransferListInput} from '../forms/TransferListInput';\r\nimport {ExportToCSV,getArrayIds,getFilterString,sortArray} from '../helpers/HelperFunctions';\r\nimport {hideModalDialog,showModalDialog} from '../ModalDialog';\r\nimport {Svg} from '../Svg';\r\nimport {TableColumnType} from './Table';\r\nexport class TableFilterBlock extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n columnsSettings: props.columnsSettings ? props.columnsSettings : null,\r\n changedColumnsSettings: props.columnsSettings ? props.columnsSettings : null,\r\n onColumnsUpdateHandler: props.onColumnsUpdateHandler,\r\n filterValues: this.props.filterValues ? this.props.filterValues : {},\r\n showFilter: false,\r\n id: v4()\r\n };\r\n this.showColumnSettingsDialog = this.showColumnSettingsDialog.bind(this);\r\n this.columnsChangedHandler = this.columnsChangedHandler.bind(this);\r\n this.onColumnsChangedSave = this.onColumnsChangedSave.bind(this);\r\n this.onShowFilter = this.onShowFilter.bind(this);\r\n this.onFilterSearch = this.onFilterSearch.bind(this);\r\n this.onFilterClear = this.onFilterClear.bind(this);\r\n this.onFilterClose = this.onFilterClose.bind(this);\r\n this.renderFilterCol = this.renderFilterCol.bind(this);\r\n this.onHandleChange = this.onHandleChange.bind(this);\r\n this.onExport = this.onExport.bind(this);\r\n this.getFilterInfo = this.getFilterInfo.bind(this);\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.columnsSettings !== this.state.columnsSettings) {\r\n let changed = Object.assign({}, nextProps.columnsSettings);\r\n this.setState({ columnsSettings: nextProps.columnsSettings, changedColumnsSettings: changed });\r\n }\r\n if (nextProps.filterValues && nextProps.filterValues !== this.state.filterValues) {\r\n this.setState({ filterValues: nextProps.filterValues });\r\n }\r\n }\r\n showColumnSettingsDialog() {\r\n const { columnsSettings } = this.state;\r\n let columns = columnsSettings && columnsSettings.columns ? columnsSettings.columns : [];\r\n let selected = columnsSettings && columnsSettings.selected ? columnsSettings.selected : [];\r\n columns = columns.filter(col => !col.hidden);\r\n let filtered = [];\r\n for (let i = 0; i < selected.length; i++) {\r\n let index = columnsSettings.columns.findIndex(col => col.id === selected[i] && !col.hidden);\r\n if (index > -1)\r\n filtered.push(selected[i]);\r\n }\r\n showModalDialog(\"columnSettingsDialog\", i18next.t(\"columnSettings\"), \"\", , \"feedPopup middle-form\", true, [{ title: i18next.t(\"save\"), clickHandler: this.onColumnsChangedSave, class: \"btn-primary\" }, { title: i18next.t(\"cancel\"), clickHandler: () => hideModalDialog('columnSettingsDialog'), class: \"btn-secondary\" }]);\r\n }\r\n columnsChangedHandler(columns, selected) {\r\n let { changedColumnsSettings } = this.state;\r\n let hidden = changedColumnsSettings.columns.filter(col => col.hidden);\r\n changedColumnsSettings.columns = columns.concat(hidden);\r\n let hiddenSelected = getArrayIds(hidden.filter(col => changedColumnsSettings.selected.includes(col.id)));\r\n changedColumnsSettings.selected = selected.concat(hiddenSelected);\r\n this.setState({ changedColumnsSettings: changedColumnsSettings });\r\n }\r\n onColumnsChangedSave() {\r\n hideModalDialog(\"columnSettingsDialog\");\r\n if (this.state.onColumnsUpdateHandler) {\r\n this.state.onColumnsUpdateHandler(this.state.changedColumnsSettings);\r\n }\r\n }\r\n onShowFilter() {\r\n this.setState({ showFilter: !this.state.showFilter });\r\n }\r\n onFilterSearch(e) {\r\n if (e)\r\n e.preventDefault();\r\n this.setState({ submited: true });\r\n let hasError = false;\r\n const { filterValues } = this.state;\r\n const { columns } = this.props;\r\n if (columns) {\r\n for (var i = 0; i < columns.length; i++) {\r\n if (columns[i].type === TableColumnType.DateTime || columns[i].type === TableColumnType.Date) {\r\n if (filterValues[columns[i].name] && filterValues[columns[i].name + \"_to\"]\r\n && filterValues[columns[i].name].length > 0 && filterValues[columns[i].name + \"_to\"].length > 0\r\n && filterValues[columns[i].name][0] > filterValues[columns[i].name + \"_to\"][0]) {\r\n hasError = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n if (!hasError && this.props.onSearch) {\r\n this.props.onSearch(filterValues);\r\n }\r\n this.setState({ showFilter: false });\r\n }\r\n onFilterClear(e) {\r\n e.preventDefault();\r\n this.setState({ filterValues: {}, submited: false });\r\n if (this.props.onSearchClear) {\r\n this.props.onSearchClear();\r\n }\r\n }\r\n onFilterClose(e) {\r\n e.preventDefault();\r\n this.setState({ showFilter: false });\r\n this.onFilterSearch();\r\n }\r\n onExport() {\r\n let cols = [];\r\n const { columnsSettings } = this.state;\r\n if (columnsSettings && columnsSettings.columns) {\r\n cols = columnsSettings.columns.slice();\r\n if (columnsSettings.selected)\r\n cols = cols.filter(col => columnsSettings.selected.filter(selected => selected === col.id).length > 0);\r\n sortArray(cols, \"sortIndex\");\r\n }\r\n if (this.props.getItems) {\r\n this.props.getItems().then((items) => {\r\n ExportToCSV(cols, items, this.props.exportFileName);\r\n });\r\n }\r\n else\r\n ExportToCSV(cols, this.props.items, this.props.exportFileName);\r\n }\r\n renderFilterCol(col) {\r\n let value = this.state.filterValues[col.name] && this.state.filterValues[col.name].length === 1 ? this.state.filterValues[col.name][0] : \"\";\r\n if (!value)\r\n value = \"\";\r\n switch (col.type) {\r\n case TableColumnType.Date:\r\n case TableColumnType.DateTime:\r\n let value2 = this.state.filterValues[col.name + \"_to\"] ? this.state.filterValues[col.name + \"_to\"][0] : \"\";\r\n let onlyDate = col.type === TableColumnType.Date;\r\n if (!value2)\r\n value2 = \"\";\r\n return ([\r\n ,\r\n
    \r\n
    \r\n \r\n {this.state.submited && value && value2 && value > value2 &&\r\n
    {i18next.t(\"secondDateMustBeLess\")}
    \r\n }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n ]);\r\n case TableColumnType.Status:\r\n case TableColumnType.Enum:\r\n let { allowedEnumValues } = this.props;\r\n let allowedValues = allowedEnumValues && allowedEnumValues[col.name] && allowedEnumValues[col.name].length > 0 ? allowedEnumValues[col.name] : null;\r\n return ([\r\n ,\r\n \r\n ]);\r\n default:\r\n if (value && value.startsWith(\"*\"))\r\n value = value.slice(1);\r\n if (value && value.endsWith(\"*\"))\r\n value = value.slice(0, -1);\r\n let title = col.filterTitle ? col.filterTitle : col.headerName;\r\n if (col.name === \"RegisterCode\") {\r\n if (this.state.columnsSettings && this.state.columnsSettings.columns) {\r\n let registerTypeCol = this.state.columnsSettings.columns.filter(col => col.name === 'CompanyType');\r\n if (registerTypeCol) {\r\n var typeValues = this.state.filterValues['CompanyType'];\r\n var typeValue = typeValues && typeValues.length === 0 ? typeValues[0] : \"\";\r\n if (typeValue === companyTypes.Entity)\r\n title = 'Код ЄДРПОУ';\r\n else if (typeValue === companyTypes.Individual)\r\n title = 'Код ІПН';\r\n }\r\n }\r\n }\r\n return (<>\r\n ,\r\n \r\n \r\n )\r\n }\r\n }\r\n onHandleChange(e) {\r\n e.preventDefault();\r\n let { filterValues } = this.state;\r\n let { name, value } = e.target;\r\n if (value) {\r\n if (e.target.getAttribute(\"type\") === \"text\") {\r\n if (!value.startsWith(\"*\"))\r\n value = \"*\" + value;\r\n if (!value.endsWith(\"*\"))\r\n value += \"*\";\r\n }\r\n \r\n filterValues[name] = [value];\r\n }\r\n else if (filterValues.hasOwnProperty(name)) {\r\n delete filterValues[name];\r\n }\r\n this.setState({ filterValues: filterValues });\r\n }\r\n render() {\r\n let cols = [];\r\n const { additionalBtn, hideSettings } = this.props;\r\n const { showFilter, columnsSettings, filterValues } = this.state;\r\n if (columnsSettings && columnsSettings.columns) {\r\n cols = columnsSettings.columns.filter(col => col.canFilter);\r\n sortArray(cols, \"filterIndex\");\r\n }\r\n return (<>{!this.props.hideActions ? (
    \r\n
    \r\n
      \r\n
    • \r\n \r\n
    • \r\n
    • \r\n \r\n
    • \r\n {!hideSettings ?
    • \r\n \r\n
    • : \"\"}\r\n {this.props.handleUpdate &&
    • \r\n \r\n
    • }\r\n {additionalBtn &&\r\n
    • \r\n \r\n
    • \r\n }\r\n
    \r\n
    ) : \"\"}\r\n
    0 ? \"block\" : \"none\") }}>\r\n
    \r\n
    \r\n {cols.map((col, i) => (\r\n
    \r\n {this.renderFilterCol(col)}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \"\"Фільтр: {this.getFilterInfo(true)}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n getFilterInfo(useTitles = false) {\r\n const { filterValues, columnsSettings } = this.state;\r\n let result = \"\";\r\n Object.keys(filterValues).map(key => {\r\n if (filterValues[key]) {\r\n var currentCol = columnsSettings?.columns?.find((element) => {\r\n return element?.name?.toLowerCase() === key?.toLowerCase();\r\n });\r\n if (!currentCol && key.endsWith('_to'))\r\n currentCol = columnsSettings?.columns?.find((element) => {\r\n return element?.name?.toLowerCase() === key.substring(0, key.length - 3)?.toLowerCase();\r\n });\r\n if (currentCol) {\r\n var value = '';\r\n if (currentCol.type === TableColumnType.Date || currentCol.type === TableColumnType.DateTime) {\r\n if (key.endsWith('_to')) {\r\n var fromKey = Object.keys(filterValues).find(k => k.toLowerCase() === (key.substring(0, key.length - 3)).toLowerCase());\r\n if (fromKey) {\r\n value += 'з ' + filterValues[fromKey][0] + ' по ' + filterValues[key][0];\r\n }\r\n else value += 'по ' + filterValues[key][0];\r\n result += currentCol.headerName + \" = \" + value + \"; \";\r\n }\r\n else if (Object.keys(filterValues).find(k => k.toLowerCase() === (key + '_to').toLowerCase()));\r\n else {\r\n value += 'з ' + filterValues[key][0];\r\n result += currentCol.headerName + \" = \" + value + \"; \";\r\n }\r\n }\r\n else {\r\n if (currentCol.enums && currentCol.enums.length > 0) {\r\n if (filterValues[key].length === 1 && filterValues[key][0] === \"hideAllValue\")\r\n value = i18next.t(\"noValue\");\r\n else {\r\n let { allowedEnumValues } = this.props;\r\n let allowedValues = allowedEnumValues && allowedEnumValues[currentCol.name] && allowedEnumValues[currentCol.name].length > 0 ? allowedEnumValues[currentCol.name] : null;\r\n var values = filterValues[key].filter(v => v !== \"hideAllValue\" && (!allowedValues || allowedValues.includes(v)));\r\n for (let i = 0; i < values.length; i++) {\r\n if (i > 0)\r\n value += ', ';\r\n if (useTitles) {\r\n let finded = currentCol.enums.find(it => it.value?.toLowerCase() === values[i].toLowerCase());\r\n if (finded)\r\n value += finded.title;\r\n }\r\n else\r\n value += values[0];\r\n }\r\n }\r\n }\r\n else if (filterValues[key] && filterValues[key][0])\r\n value = filterValues[key][0];\r\n if (value && value !== undefined) {\r\n if ([TableColumnType.String, TableColumnType.DocLink, TableColumnType.Default].includes(currentCol.type)) {\r\n if (value.startsWith(\"*\"))\r\n value = value.slice(1);\r\n if (value.endsWith(\"*\"))\r\n value = value.slice(0, -1);\r\n }\r\n result += currentCol.headerName + \" = \" + value + \"; \";\r\n }\r\n }\r\n }\r\n }\r\n });\r\n return result;\r\n }\r\n}\r\n","import React from 'react';\r\nexport class PasswordInput extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n showPassword: false,\r\n value: ''\r\n };\r\n this.showPassword = this.showPassword.bind(this);\r\n this.handleChange = this.handleChange.bind(this);\r\n }\r\n componentDidMount() {\r\n if (this.props.value)\r\n this.setState({ value: this.props.value });\r\n }\r\n showPassword(show) {\r\n this.setState({ showPassword: show });\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.value !== undefined && nextProps.value !== this.state.value)\r\n this.setState({ value: nextProps.value });\r\n }\r\n handleChange(e) {\r\n const { value } = e.target;\r\n this.setState({ value: value });\r\n if (this.props.onChange)\r\n this.props.onChange(e);\r\n }\r\n render() {\r\n const { value, showPassword } = this.state;\r\n const { name, className, disabled } = this.props;\r\n let { autocomplete } = this.props;\r\n let readonly = false;\r\n if (!autocomplete) autocomplete = \"on\";\r\n if (autocomplete === \"off\") readonly = true;\r\n return (\r\n
    \r\n {readonly ?\r\n e.target.removeAttribute('readonly')} autoComplete={autocomplete} className={'password-input-control ' + (className ? className : '')} name={name} value={value} onChange={this.handleChange} disabled={disabled} />\r\n :\r\n e.target.removeAttribute('readonly')} autoComplete={autocomplete} className={'password-input-control ' + (className ? className : '')} name={name} value={value} onChange={this.handleChange} disabled={disabled} />\r\n }\r\n { if (!disabled) this.showPassword(true) }} />\r\n { if (!disabled) this.showPassword(false) }} />\r\n
    \r\n );\r\n }\r\n}","import { Component } from 'react';\r\nimport { actionTypes, UserContext } from '../../constants';\r\nimport { ExportToCSV, getArrayIds, getCurrentUrlPath, deepObjectEqual } from '../helpers/HelperFunctions';\r\nimport { getOnPageCount, setOnPageCount } from '../helpers/HelperFunctions';\r\nexport class ListOfAlfresco extends Component {\r\n static contextType = UserContext;\r\n constructor(props) {\r\n super(props);\r\n const { parentComponent } = this.props;\r\n this.state = {\r\n content: null,\r\n page: 1,\r\n pageSize: getOnPageCount(),\r\n pageCount: 1,\r\n sortBy: '',\r\n isDesk: false,\r\n filterValues: [],\r\n wasFiltered: false,\r\n selectedInboxNumber: 0,\r\n location: getCurrentUrlPath().toLowerCase(),\r\n menuItems: []\r\n }\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.handleReloadData = this.handleReloadData.bind(this);\r\n this.onColumnsUpdateHandler = this.onColumnsUpdateHandler.bind(this);\r\n this.onSearch = this.onSearch.bind(this);\r\n this.onSearchClear = this.onSearchClear.bind(this);\r\n this.onColumnFilter = this.onColumnFilter.bind(this);\r\n this.actionHandlerCallbackDefault = this.actionHandlerCallbackDefault.bind(this);\r\n this.handleChangePageSize = this.handleChangePageSize.bind(this);\r\n this.handleSortChange = this.handleSortChange.bind(this);\r\n this.getItemsForExport = this.getItemsForExport.bind(this);\r\n const component = this;\r\n if (parentComponent) {\r\n Object.getOwnPropertyNames(parentComponent).forEach(function (property) {\r\n if (typeof parentComponent[property] === 'function') {\r\n component[property] = parentComponent[property].bind(component);\r\n }\r\n });\r\n }\r\n }\r\n componentDidUpdate(prevProps) {\r\n const { page, pageSize, sortBy, isDesk, filterValues, selectedInboxNumber, location } = this.state;\r\n const { additionalFilter } = this.props;\r\n const nextLocation = getCurrentUrlPath().toLowerCase();\r\n if ((selectedInboxNumber !== 0 && this.props.selectedInboxNumber !== selectedInboxNumber && this.props.selectedInboxNumber)\r\n || nextLocation !== location\r\n || !deepObjectEqual(additionalFilter, prevProps.additionalFilter)\r\n || this.props.mainSearchFilter !== prevProps.mainSearchFilter\r\n ) {\r\n let newPage = page;\r\n if (nextLocation !== location)\r\n newPage = 1;\r\n this.setState({ page: newPage, selectedInboxNumber: 0, location: nextLocation, wasFiltered: true },\r\n () => { this.loadData(newPage, pageSize, sortBy, isDesk, filterValues); }\r\n );\r\n }\r\n }\r\n componentDidMount() {\r\n const { sortBy, isDesk } = this.state;\r\n this.handleSortChange(sortBy, isDesk);\r\n }\r\n handleSortChange(sortBy, isDesk) {\r\n const { page, pageSize, filterValues } = this.state;\r\n this.loadData(page, pageSize, sortBy, isDesk, filterValues);\r\n }\r\n onColumnsUpdateHandler(columnsSettings) {\r\n const { saveApi } = this.props;\r\n const { content, page, pageSize, sortBy, isDesk, filterValues } = this.state;\r\n if (columnsSettings.selected, content && content.allColumns) {\r\n let selected = columnsSettings.selected;\r\n content.columns = [];\r\n for (var i = 0; i < selected.length; i++) {\r\n let index = content.allColumns.findIndex(col => col.id === selected[i]);\r\n if (index > -1)\r\n content.columns.push(content.allColumns[index]);\r\n }\r\n import(\"../table/Table\").then((item) => item.saveColumnSettings(saveApi, { columns: getArrayIds(content.columns).join(';') }, () => this.loadData(page, pageSize, sortBy, isDesk, filterValues)));\r\n }\r\n }\r\n initFilterValues(filterValues, fill = false) {\r\n const { content } = this.state;\r\n for (var i = 0; i < content.columns.length; i++) {\r\n if (Object.keys(filterValues).includes(content.columns[i].name) && content.columns[i].showFilterInColumn && content.columns[i].enums && content.columns[i].enums.length > 0) {\r\n content.columns[i].filteredValues = fill === true ? filterValues[content.columns[i].name] : [];\r\n }\r\n }\r\n }\r\n onSearch(filterValues) {\r\n const { content, pageSize, sortBy, isDesk } = this.state;\r\n this.initFilterValues.bind(this)(filterValues, true);\r\n this.setState({ filterValues: filterValues, wasFiltered: true, page: 1, content: content });\r\n this.loadData(1, pageSize, sortBy, isDesk, filterValues);\r\n }\r\n onSearchClear() {\r\n const { filterValues, content } = this.state;\r\n this.initFilterValues.bind(this)(filterValues, false);\r\n const { wasFiltered, pageSize, sortBy, isDesk } = this.state;\r\n let { page } = this.state;\r\n if (wasFiltered) page = 1;\r\n this.setState({ wasFiltered: false, page: page, content: content, filterValues: {} });\r\n if (wasFiltered) this.loadData(page, pageSize, sortBy, isDesk);\r\n }\r\n onColumnFilter(colName, filterValues) {\r\n let currentFilterValues = this.state.filterValues;\r\n if (!currentFilterValues)\r\n currentFilterValues = {};\r\n const { content, pageSize, sortBy, isDesk} = this.state;\r\n let index = content.columns.findIndex(col => col.name === colName);\r\n if (index >= 0) {\r\n let updatedFilterValues = [];\r\n if (this.getAllowedEnumValues) {\r\n let allowedEnumValues = this.getAllowedEnumValues();\r\n if (allowedEnumValues && allowedEnumValues[colName] && allowedEnumValues[colName].length > 0\r\n && !(filterValues.length === 1 && filterValues[0] === 'hideAllValue'))\r\n for (var i = 0; i < filterValues.length; i++) {\r\n if (allowedEnumValues[colName].includes(filterValues[i]))\r\n updatedFilterValues.push(filterValues[i]);\r\n }\r\n else\r\n updatedFilterValues = filterValues;\r\n }\r\n else updatedFilterValues = filterValues;\r\n content.columns[index].filteredValues = updatedFilterValues;\r\n currentFilterValues[colName] = updatedFilterValues;\r\n }\r\n this.setState({ content: content, filterValues: currentFilterValues, wasFiltered: true });\r\n this.loadData(1, pageSize, sortBy, isDesk, currentFilterValues);\r\n }\r\n render() {\r\n return this.renderContent ? this.renderContent() : \"\";\r\n }\r\n async actionHandlerCallbackDefault(actionType, ids) {\r\n const { content, exportFileName } = this.state;\r\n switch (actionType) {\r\n case actionTypes.export:\r\n if (content && content.rows && content.columns) {\r\n var filteredRows = content.rows.filter(row => row.columns && ids.includes(row.columns.Id));\r\n ExportToCSV(content.columns, filteredRows, exportFileName);\r\n }\r\n break;\r\n }\r\n }\r\n handlePageChange(page) {\r\n const { pageSize, sortBy, isDesk, filterValues } = this.state;\r\n this.setState({ page: page });\r\n this.loadData(page, pageSize, sortBy, isDesk, filterValues);\r\n }\r\n handleReloadData() {\r\n const { page, pageSize, sortBy, isDesk, filterValues } = this.state;\r\n this.loadData(page, pageSize, sortBy, isDesk, filterValues).then(() => {\r\n const { pageCount } = this.state;\r\n if (page > 1 && page > pageCount) {\r\n this.setState({ page: pageCount > 0 ? pageCount : 1 }, () => this.handleReloadData());\r\n }\r\n });\r\n }\r\n handleChangePageSize(pageSize) {\r\n const { sortBy, isDesk, filterValues } = this.state;\r\n setOnPageCount(pageSize);\r\n this.setState({ pageSize: pageSize, page: 1 });\r\n this.loadData(1, pageSize, sortBy, isDesk, filterValues);\r\n }\r\n async getItemsForExport() {\r\n let result = [];\r\n const { loadItemsForExport, content } = this.state;\r\n if (loadItemsForExport) {\r\n result = await loadItemsForExport();\r\n }\r\n else if (content && content.rows) {\r\n result = content.rows;\r\n }\r\n return result;\r\n }\r\n}","import React from 'react';\r\nimport { Svg } from '../Svg';\r\nexport function FoldersListBlock(props) {\r\n const onChangeHandler = (name) => {\r\n if (props.onChangeHandler)\r\n props.onChangeHandler(name);\r\n }\r\n const { folders, baseUrl, current } = props;\r\n let pathArray = window.location.href.split(baseUrl + \"/\");\r\n let currentName = current;\r\n if (!currentName) {\r\n currentName = (folders && folders.length > 0) ? folders[0].name : \"\";\r\n if (pathArray.length > 1)\r\n currentName = pathArray[pathArray.length - 1].split('?')[0];\r\n currentName = decodeURI(currentName);\r\n }\r\n return (folders && folders.length > 0 ?\r\n
    \r\n \r\n
    :\r\n \"\"\r\n );\r\n}","import React, { Component } from 'react';\r\nimport { allowedStatutoryFileExtensions, statutoryDocTypes } from '../../constants';\r\nimport i18next from \"../../i18n\";\r\nimport { checkFileName } from '../helpers/CheckFunctions';\r\nimport { showModalDialog } from '../ModalDialog';\r\nimport { errorMessageDialog } from '../ModalDialog';\r\nexport class EditFileForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n let folderName = '';\r\n let folderTitle = '';\r\n if (props.folderName)\r\n folderName = props.folderName;\r\n if (props.folderTitle)\r\n folderTitle = props.folderTitle;\r\n this.state = {\r\n name: '',\r\n sending: props.fileName ? true : false,\r\n submitted: false,\r\n nameExists: false,\r\n incorrectName: false,\r\n folderType: this.props.folderType,\r\n file: null,\r\n badExtension: false,\r\n folderName: folderName,\r\n folderTitle: folderTitle,\r\n fileName: props.fileName\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.handleFileChange = this.handleFileChange.bind(this);\r\n this.handleFileRemove = this.handleFileRemove.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n this.loadDocument = this.loadDocument.bind(this);\r\n }\r\n handleFileRemove(event) {\r\n document.getElementById(\"file-iput-controll\").value = \"\";\r\n this.setState({ file: null });\r\n }\r\n handleFileChange(event) {\r\n if (event.target.files && event.target.files.length > 0) {\r\n var parts = event.target.files[0].name.split('.');\r\n if (parts.length > 1 /*&& allowedStatutoryFileExtensions.findIndex(ex => ex === parts[parts.length - 1].toLowerCase()) > -1*/) {\r\n this.setState({\r\n badExtension: false,\r\n file: event.target.files[0]\r\n });\r\n }\r\n else {\r\n this.setState({\r\n badExtension: false /*true*/,\r\n file: null\r\n });\r\n }\r\n }\r\n else {\r\n event.target.value = \"\";\r\n this.setState({\r\n badExtension: false,\r\n file: null\r\n });\r\n }\r\n }\r\n async componentDidMount() {\r\n if (this.props.fileName) {\r\n await this.loadDocument();\r\n }\r\n }\r\n async loadDocument() {\r\n const { folderName, fileName, baseDir } = this.state;\r\n const response = await fetch(`/home/getFile?baseDir=${baseDir}&dir=${folderName}&fileName=${fileName}`);\r\n if (response.ok) {\r\n const data = await response.json();\r\n if (!data)\r\n require('../ModalDialog').unknownErrorMessageDialog();\r\n else\r\n this.setState({ name: data.title, id: data.id, sending: false });\r\n }\r\n else require('../ModalDialog').unknownErrorMessageDialog();\r\n }\r\n handleChange(event) {\r\n const { name, value } = event.target;\r\n if (name === \"name\") {\r\n this.setState({\r\n [name]: value,\r\n nameExists: false,\r\n incorrectName: false\r\n });\r\n }\r\n else {\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n }\r\n handleSubmit(event) {\r\n event.preventDefault();\r\n const { sending, name, nameExists, incorrectName, file, badExtension } = this.state;\r\n if (!sending)\r\n this.setState({ submitted: true });\r\n if (!sending && !badExtension && !nameExists && !incorrectName && name && checkFileName(name) && file || this.props.fileName && name) {\r\n this.setState({ sending: true });\r\n this.submit(name);\r\n }\r\n }\r\n onCancel() {\r\n const { onCloseHandler } = this.props;\r\n if (!this.state.sending && onCloseHandler)\r\n onCloseHandler();\r\n }\r\n async submit(name) {\r\n const { baseDir, fileName } = this.props;\r\n const { folderName, file } = this.state;\r\n const currentObject = this;\r\n const formData = new FormData();\r\n formData.append('name', name);\r\n let url = \"\";\r\n if (!this.props.fileName) {\r\n url = `/home/addFIle?baseDir=${baseDir}`;\r\n formData.append('folderName', folderName);\r\n formData.append('files', file, file.name);\r\n }\r\n else {\r\n url = `/home/editFile?oldPath=${baseDir}/${folderName}/${fileName}&path=${baseDir}/${folderName}/${this.state.name}`;\r\n }\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: { \"Contetnt-Type\": \"multipart/form-data\" },\r\n body: formData\r\n };\r\n function onClose() { window.location.reload(); }\r\n fetch(url, requestOptions)\r\n .then((response) => {\r\n if (response.status === 413)\r\n return errorMessageDialog(i18next.t(\"11\"))\r\n return response.ok ? response.text().then(() => {\r\n currentObject.setState({ sending: false });\r\n showModalDialog(\"loadingDialog\", i18next.t(\"done\"), \"\",
    {folderName ? \"Файл успішно збережено\" : \"Файл успішно додано\"}
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: () => onClose(), class: \"btn-primary\" }], onClose);\r\n }) : response.text().then((errorText) => {\r\n console.log(errorText);\r\n if (errorText === \"BadExtension\") {\r\n this.setState({ badExtension: true, sending: false });\r\n }\r\n else if (errorText === \"IncorrectName\") {\r\n this.setState({ incorrectName: true, sending: false });\r\n }\r\n else {\r\n console.log(errorText);\r\n require('../ModalDialog').unknownErrorMessageDialog();\r\n }\r\n });\r\n });\r\n }\r\n render() {\r\n const { name, file, sending, submitted, incorrectName, folderTitle, badExtension, folderType } = this.state;\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 {submitted && !name &&\r\n
    {i18next.t(\"requiredField\")}
    \r\n }\r\n {submitted && name && incorrectName &&\r\n
    {i18next.t(\"badFieldFormat\")}
    \r\n }\r\n
    \r\n
    \r\n {file ?\r\n \r\n :\r\n (\r\n this.props.fileName ?\r\n \r\n :\r\n \r\n )\r\n }\r\n {submitted && (!file && !this.props.fileName) && !badExtension &&\r\n
    {i18next.t(\"requiredField\")}
    \r\n }\r\n {submitted && badExtension &&\r\n
    {i18next.t(\"invalidFileFormatMessage\", { extensions: allowedStatutoryFileExtensions.join(' ') })}
    \r\n }\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \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, { Component } from 'react';\r\nimport i18next from \"../../i18n\";\r\nimport { hideModalDialog, showModalDialog, unknownErrorMessageDialog, errorMessageDialog } from '../ModalDialog';\r\nimport * as HelperFunctions from '../helpers/HelperFunctions';\r\nexport class EditFolderForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n name: '',\r\n title: '',\r\n sending: !!props.oldName,\r\n folderType: this.props.folderType,\r\n submitted: false,\r\n titleExists: false,\r\n incorrectName: false,\r\n incorrectTitle: false\r\n };\r\n this.changeInputValue = HelperFunctions.changeInputValue.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n }\r\n componentDidMount() {\r\n this.fillForm();\r\n }\r\n async fillForm() {\r\n const { baseDir } = this.props;\r\n if (!!this.props.oldName) {\r\n let url = `home/getFolder?baseDir=${baseDir}&name=${this.props.oldName}`;\r\n const response = await fetch(url);\r\n const data = await response.json();\r\n if (!response.ok) {\r\n unknownErrorMessageDialog();\r\n }\r\n else {\r\n this.setState({ name: data.name, title: data.title, sending: false });\r\n }\r\n }\r\n }\r\n handleSubmit(event) {\r\n event.preventDefault();\r\n const { sending, name, incorrectName, incorrectTitle } = this.state;\r\n this.setState({ submitted: true });\r\n if (!sending && !incorrectName && !incorrectTitle && name) {\r\n this.setState({ sending: true });\r\n let oldName = this.props.oldName;\r\n this.submit({\r\n name,\r\n oldName\r\n });\r\n }\r\n }\r\n async submit(data) {\r\n const { baseDir } = this.props;\r\n const currentObject = this;\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n var url = !!data.oldName ? `/home/editFolder?baseDir=${baseDir}` : `/home/addFolder?baseDir=${baseDir}`;\r\n fetch(url, requestOptions)\r\n .then((response) => {\r\n return response.ok ? response.text().then(() => {\r\n currentObject.setState({ sending: false });\r\n function onClose() {\r\n hideModalDialog(\"loadingDialog\");\r\n window.location.replace(`${window.location.pathname.split('/').slice(0, 3).join('/')}/${data.name ? data.name : data.oldName}`);\r\n }\r\n showModalDialog(\"loadingDialog\", i18next.t(\"done\"), \"\",
    {data.oldName ? i18next.t(\"folderSuccessfullySaved\") : i18next.t(\"folderSuccessfullyAdded\")}
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: () => onClose(), class: \"btn-primary\" }], onClose);\r\n }) : response.text().then((errorText) => {\r\n switch (errorText) {\r\n case \"Forbidden\":\r\n hideModalDialog(\"loadingDialog\");\r\n errorMessageDialog(i18next.t(\"12\"));\r\n break;\r\n case \"IncorrectName\":\r\n this.setState({ [errorText]: true, sending: false });\r\n break;\r\n case \"AlreadyExists\": {\r\n function onClose() {\r\n hideModalDialog(\"loadingDialog\");\r\n window.location.reload();\r\n }\r\n currentObject.setState({ sending: false });\r\n showModalDialog(\"loadingDialog\", i18next.t(\"error\"), \"\",
    {i18next.t(\"folderAlreadyExists\")}
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: () => onClose(), class: \"btn-primary\" }], onClose);\r\n break;\r\n }\r\n case \"NotFound\": {\r\n function onClose() {\r\n hideModalDialog(\"loadingDialog\");\r\n window.location.replace(`${window.location.pathname.split('/').slice(0, 3).join('/')}`);\r\n }\r\n currentObject.setState({ sending: false });\r\n showModalDialog(\"loadingDialog\", i18next.t(\"error\"), \"\",
    {i18next.t(\"folderNotFound\")}
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: () => onClose(), class: \"btn-primary\" }], onClose);\r\n break;\r\n }\r\n default:\r\n console.log(errorText);\r\n unknownErrorMessageDialog();\r\n break;\r\n }\r\n });\r\n });\r\n }\r\n onCancel() {\r\n const { onCloseHandler } = this.props;\r\n if (!this.state.sending && onCloseHandler)\r\n onCloseHandler();\r\n }\r\n render() {\r\n const { name, sending, submitted, incorrectName } = this.state;\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {submitted && !name &&\r\n
    {i18next.t(\"requiredField\")}
    \r\n }\r\n {submitted && name && incorrectName &&\r\n
    {i18next.t(\"badFieldFormat\")}
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \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 from 'react';\r\nimport { actionTypes, statutoryDocTypes } from '../../constants';\r\nimport i18next from \"../../i18n\";\r\nimport { dispatcherActionTypes, globalEventDispatcher } from '../helpers/GlobalEventDispatcher';\r\nimport { getOnPageCount, setOnPageCount } from '../helpers/HelperFunctions';\r\nimport { hideModalDialog, showModalDialog, unknownErrorMessageDialog, errorMessageDialog, viewFileFolderSystemFile } from '../ModalDialog';\r\nimport { FoldersListBlock } from '../table/FoldersListBlock';\r\nimport { Table } from '../table/Table';\r\nimport { TableButtonsBlock } from '../table/TableButtonsBlock';\r\nimport { ActionsPanel } from './ActionsPanel';\r\nimport { EditFileForm } from './EditFileForm';\r\nimport { EditFolderForm } from './EditFolderForm';\r\nexport class StatutoryDocsForm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n page: 1,\r\n pageSize: getOnPageCount(),\r\n pageCount: 1,\r\n sortBy: '',\r\n isDesk: false,\r\n filter: '',\r\n dir: '',\r\n checkedList: [],\r\n inPopup: this.props.inPopup,\r\n folders: [],\r\n dirActions: [],\r\n wasFiltered: false\r\n };\r\n this.handlePageChange = this.handlePageChange.bind(this);\r\n this.handleChangePageSize = this.handleChangePageSize.bind(this);\r\n this.handleSortChange = this.handleSortChange.bind(this);\r\n this.actionHandlerCallback = this.actionHandlerCallback.bind(this);\r\n this.onDirActionClickHandler = this.onDirActionClickHandler.bind(this);\r\n this.downloadFiles = this.downloadFiles.bind(this);\r\n this.deleteFiles = this.deleteFiles.bind(this);\r\n this.loadFilePreview = this.loadFilePreview.bind(this);\r\n this.deleteFolder = this.deleteFolder.bind(this);\r\n this.onChengeFolderHandler = this.onChengeFolderHandler.bind(this);\r\n this.loadDocuments = this.loadDocuments.bind(this);\r\n this.onCheckChangeHandler = this.onCheckChangeHandler.bind(this);\r\n this.onUnselectAllRows = this.onUnselectAllRows.bind(this);\r\n }\r\n componentDidMount() {\r\n const { page, pageSize, folders } = this.state;\r\n let { dir } = this.state;\r\n if (!dir) {\r\n let pathArray = window.location.href.split(this.props.baseUrl + \"/\");\r\n dir = (folders && folders.length > 0) ? folders[0].name : \"\";\r\n if (pathArray.length > 1)\r\n dir = pathArray[pathArray.length - 1].split('?')[0];\r\n dir = decodeURI(dir);\r\n }\r\n this.loadDocuments(dir, page, pageSize);\r\n }\r\n async loadDocuments(dir, page, pageSize, sortBy = '', isDesk = false) {\r\n let skip = (page - 1) * pageSize;\r\n let url = this.props.docType === statutoryDocTypes.statutory ? `/home/GetStatutoryDocuments?dir=${dir}&skip=${skip}&maxCount=${pageSize}&sortBy=${sortBy}&isDesk=${isDesk}` :\r\n this.props.docType === statutoryDocTypes.template ? `/home/GetTemplateDocuments?dir=${dir}&skip=${skip}&maxCount=${pageSize}&sortBy=${sortBy}&isDesk=${isDesk}` :\r\n `/home/GetAnnouncementDocuments?dir=${dir}&skip=${skip}&maxCount=${pageSize}&sortBy=${sortBy}&isDesk=${isDesk}`;\r\n const response = await fetch(url, { method: 'GET' });\r\n if (!response.ok) {\r\n unknownErrorMessageDialog();\r\n return;\r\n }\r\n const data = await response.json();\r\n const pageCount = Math.ceil(data.tableInfo.allCount / pageSize);\r\n if (this.state.inPopup) {\r\n data.tableInfo.actionsForAll = [];\r\n if (data.tableInfo.rows) {\r\n for (var i = 0; i < data.tableInfo.rows.length; i++) {\r\n data.tableInfo.rows[i].actions = [];\r\n }\r\n }\r\n }\r\n this.setState({ dirActions: data.dirActions, baseDir: data.baseDir, folders: data.folders, documentsData: data.tableInfo, pageCount: pageCount, sortBy: data.tableInfo.sortBy, isDesk: data.tableInfo.isDesk, dir: data.dir });\r\n }\r\n handleSortChange(sortBy, isDesk) {\r\n const { dir, page, pageSize, filter } = this.state;\r\n this.loadDocuments(dir, page, pageSize, sortBy, isDesk, filter);\r\n }\r\n handlePageChange(page) {\r\n const { dir, pageSize, sortBy, isDesk, filter } = this.state;\r\n this.setState({ page: page });\r\n this.loadDocuments(dir, page, pageSize, sortBy, isDesk, filter);\r\n }\r\n handleChangePageSize(pageSize) {\r\n const { dir, sortBy, isDesk, filter } = this.state;\r\n setOnPageCount(pageSize);\r\n this.setState({\r\n pageSize: pageSize,\r\n page: 1\r\n });\r\n this.loadDocuments(dir, 1, pageSize, sortBy, isDesk, filter);\r\n }\r\n async downloadFiles(ids) {\r\n let { dir, baseDir } = this.state;\r\n for (var i = 0; i < ids.length; i++) {\r\n let downloadFunction = function (fileName) {\r\n fetch(`home/GetFileContent?path=${baseDir}/${dir}/${ids[i]}`, { method: 'POST' })\r\n .then(response => response.blob())\r\n .then(blobby => {\r\n let objectUrl = window.URL.createObjectURL(blobby);\r\n let anchor = document.createElement(\"a\");\r\n anchor.href = objectUrl;\r\n anchor.download = fileName;\r\n anchor.click();\r\n window.URL.revokeObjectURL(objectUrl);\r\n });\r\n }\r\n downloadFunction(ids[i]);\r\n }\r\n }\r\n async deleteFiles(idsArray) {\r\n let { dir, baseDir } = this.state;\r\n let ids = idsArray.join('|');\r\n let url = `/home/DeleteFile?basePath=${baseDir}/${dir}&names=${ids}`;\r\n const response = await fetch(url, {\r\n method: 'DELETE',\r\n headers: { 'Content-Type': 'application/json' }\r\n });\r\n if (!response.ok) {\r\n var errorMessage = i18next.t(\"unknownErrorMessage\"); \r\n }\r\n if (errorMessage) {\r\n showModalDialog(\"loadingDialog\", i18next.t(\"error\"), \"\",
    {errorMessage}
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: () => hideModalDialog(\"loadingDialog\"), class: \"btn-primary\" }]);\r\n }\r\n else {\r\n hideModalDialog(\"loadingDialog\");\r\n const { dir, pageSize, sortBy, isDesk, filter, page } = this.state;\r\n this.loadDocuments(dir, page, pageSize, sortBy, isDesk, filter);\r\n }\r\n }\r\n async loadFilePreview(fileName) {\r\n let { dir, baseDir } = this.state;\r\n viewFileFolderSystemFile(`home/GetFileContent?path=${baseDir}/${dir}/${fileName}`, fileName);\r\n }\r\n actionHandlerCallback(actionType, ids) {\r\n const currentObject = this;\r\n const { page, pageSize, dir, folders, baseDir } = this.state;\r\n if (ids.length > 0) {\r\n switch (actionType) {\r\n case actionTypes.edit:\r\n {\r\n let confirmDialog = function () {\r\n currentObject.loadDocuments(dir, page, pageSize);\r\n }\r\n let folderName = '';\r\n if (folders && folders.length > 0) {\r\n var filtered = folders.filter(folder => folder.name === dir);\r\n if (filtered && filtered.length > 0)\r\n folderName = filtered[0].title;\r\n }\r\n showModalDialog(\"loadingDialog\", i18next.t(\"editDocument\"), \"\", { hideModalDialog(\"loadingDialog\"); }} />, \"feedPopup feedPopup__add middle-form\");\r\n }\r\n break;\r\n case actionTypes.remove:\r\n {\r\n let closeDialog = function () {\r\n hideModalDialog(\"loadingDialog\");\r\n }\r\n let confirmDialog = function () {\r\n currentObject.deleteFiles(ids);\r\n }\r\n showModalDialog(\"loadingDialog\", i18next.t(\"removing\"), \"\",
    {i18next.t(\"removeDocumentsMessage\")}
    , \"feedPopup\", true, [{ title: i18next.t(\"yes\"), clickHandler: confirmDialog, class: \"btn-primary\" }, { title: i18next.t(\"no\"), clickHandler: closeDialog, class: \"btn-secondary\" }]);\r\n }\r\n break;\r\n case actionTypes.preview:\r\n this.loadFilePreview(ids[0]);\r\n break;\r\n case actionTypes.download:\r\n this.downloadFiles(ids);\r\n break;\r\n }\r\n }\r\n }\r\n deleteFolder(name) {\r\n let { dir, baseDir } = this.state;\r\n const currentObject = this;\r\n const requestOptions = {\r\n method: 'DELETE',\r\n headers: { 'Content-Type': 'application/json' }\r\n };\r\n let url = `/home/DeleteFolder?path=${baseDir}/${dir}`;\r\n fetch(url, requestOptions)\r\n .then((response) => {\r\n return response.ok ? response.text().then(() => {\r\n function onClose() {\r\n hideModalDialog(\"loadingDialog\");\r\n if (currentObject.props.baseUrl)\r\n window.location.href = currentObject.props.baseUrl;\r\n }\r\n showModalDialog(\"loadingDialog\", i18next.t(\"done\"), \"\",
    Папку успішно видалено
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: () => onClose(), class: \"btn-primary\" }], onClose);\r\n }) : response.text().then((errorText) => {\r\n switch (errorText) {\r\n case \"Forbidden\":\r\n hideModalDialog(\"loadingDialog\");\r\n errorMessageDialog(i18next.t(\"12\"));\r\n break;\r\n case \"NotFound\": {\r\n function onClose() {\r\n hideModalDialog(\"loadingDialog\");\r\n window.location.replace(`${window.location.pathname.split('/').slice(0, 3).join('/')}`);\r\n }\r\n currentObject.setState({ sending: false });\r\n showModalDialog(\"loadingDialog\", i18next.t(\"error\"), \"\",
    {i18next.t(\"folderNotFound\")}
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: () => onClose(), class: \"btn-primary\" }], onClose);\r\n break;\r\n }\r\n default:\r\n console.log(errorText);\r\n unknownErrorMessageDialog();\r\n break;\r\n }\r\n });\r\n });\r\n }\r\n onDirActionClickHandler(actionType) {\r\n const { dir, folders, baseDir } = this.state;\r\n const currentObject = this;\r\n switch (actionType) {\r\n case actionTypes.addDir:\r\n case actionTypes.edit:\r\n showModalDialog(\"loadingDialog\", actionType === actionTypes.addDir ? i18next.t(\"addFolder\") : i18next.t(\"editFolder\"), \"\", { hideModalDialog(\"loadingDialog\"); }} />, \"feedPopup middle-form\");\r\n break;\r\n case actionTypes.remove:\r\n {\r\n let closeDialog = function () {\r\n hideModalDialog(\"loadingDialog\");\r\n }\r\n let confirmDialog = function () {\r\n currentObject.deleteFolder(dir);\r\n }\r\n showModalDialog(\"loadingDialog\", i18next.t(\"removing\"), \"\",
    Ви впевнені, що бажаєте видалити папку з усіма документами в ній?
    , \"feedPopup\", true, [{ title: i18next.t(\"yes\"), clickHandler: confirmDialog, class: \"btn-primary\" }, { title: i18next.t(\"no\"), clickHandler: closeDialog, class: \"btn-secondary\" }]);\r\n }\r\n break;\r\n case actionTypes.add:\r\n {\r\n let folderName = '';\r\n if (folders && folders.length > 0) {\r\n var filtered = folders.filter(folder => folder.name === dir);\r\n if (filtered && filtered.length > 0)\r\n folderName = filtered[0].title;\r\n }\r\n showModalDialog('modalDialog', i18next.t(\"addDocument\"), \"\", { hideModalDialog('modalDialog'); }} />, \"feedPopup feedPopup__add middle-form\");\r\n }\r\n break;\r\n }\r\n }\r\n onChengeFolderHandler(folder) {\r\n if (!this.props.baseUrl) {\r\n const { pageSize, sortBy, isDesk, filter } = this.state;\r\n this.setState({\r\n dir: folder,\r\n page: 1,\r\n checkedList: []\r\n });\r\n this.loadDocuments(folder, 1, pageSize, sortBy, isDesk, filter);\r\n }\r\n }\r\n onUnselectAllRows() {\r\n this.setState({ checkedList: [] });\r\n globalEventDispatcher.dispatch(dispatcherActionTypes.onUnselectTableAllRows);\r\n }\r\n onCheckChangeHandler(checkedList) {\r\n this.setState({ checkedList: checkedList });\r\n }\r\n render() {\r\n const { documentsData, page, pageSize, pageCount, sortBy, isDesk, dirActions, folders, dir, inPopup, checkedList } = this.state;\r\n return (\r\n
    \r\n {dirActions && dirActions.length > 0 && this.props.canEdit &&\r\n [\r\n \r\n ]\r\n }\r\n \r\n {documentsData && documentsData.columns &&\r\n
    \r\n }\r\n {inPopup && checkedList.length > 0 &&\r\n
    \r\n this.actionHandlerCallback(actionType, checkedList)} checkedCount={checkedList.length} />\r\n
    \r\n }\r\n \r\n );\r\n }\r\n}","import React, { Component } from 'react';\r\nimport * as DocumentHelpers from './DocumentHelpers';\r\nimport { formModes } from '../../constants';\r\nimport * as ModalDialogsTemplates from '../ModalDialog';\r\nimport * as constants from '../../constants';\r\nimport * as ModalDialog from '../ModalDialog';\r\nimport * as Document from './Document';\r\nimport i18next from \"../../i18n\";\r\nexport async function dynamicFormHandler(path, type, ids = []) {\r\n switch (type) {\r\n case constants.actionTypes.edit:\r\n return ModalDialog.showModalDialog('modalDialog', i18next.t(\"edit\"), \"\", , \"feedPopup middle-form\")\r\n case constants.actionTypes.preview:\r\n return ModalDialog.showModalDialog('modalDialog', i18next.t(\"view\"), \"\", , \"feedPopup middle-form\")\r\n case constants.actionTypes.remove:\r\n let response = await fetch('/Document/' + (constants.alfrescoTypes.additionalFiles.endsWith(path) === true ? `Delete?id=${ids[0]}` : `RemoveAssoc?id=${window.location.pathname.split('/').pop()}&name=${path}&assocId=${ids[0]}`), { method: 'POST' });\r\n if (response.ok) window.location.reload()\r\n else ModalDialogsTemplates.unknownErrorMessageDialog()\r\n break;\r\n }\r\n}\r\nexport class DynamicForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n const { id, path } = this.props;\r\n this.state = {\r\n form: null,\r\n submitted: false,\r\n type: `sx:${path}`,\r\n formMode: id ? formModes.edit : formModes.create\r\n }\r\n try { this.buildFormItem = require(`./${path}`).buildFormItem.bind(this) } catch { this.buildFormItem = (item) => item }\r\n }\r\n componentDidMount() {\r\n const { id } = this.props;\r\n Document.getForm.bind(this)(id);\r\n }\r\n render() {\r\n const { form } = this.state;\r\n return (form ?\r\n <>\r\n
    \r\n
    \r\n
    \r\n {DocumentHelpers.buildFormSection.bind(this)('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 async handleSubmit() {\r\n const { path } = this.props;\r\n const { formMode, prop_sys_node_uuid } = this.state;\r\n const props = DocumentHelpers.getFormFields.bind(this)();\r\n await fetch(`Document/${formMode}${path}/${prop_sys_node_uuid ? prop_sys_node_uuid : window.location.pathname.split('/').pop()}`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(props) })\r\n .then(async (response) => {\r\n if (response.ok) window.location.reload();\r\n else ModalDialogsTemplates.unknownErrorMessageDialog();\r\n });\r\n }\r\n}","import React from 'react';\r\nimport moment from 'moment';\r\nexport class DateTimeInput extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n const { value } = this.props;\r\n this.state = {\r\n valueToShow: value ? moment(value, \"YYYY-MM-DD\").format(\"DD.MM.YYYY\") : '',\r\n value: value ? value.split('T')[0] : '',\r\n id: crypto.randomUUID()\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.onFocus = this.onFocus.bind(this);\r\n this.onFireFoxLabelClick = this.onFireFoxLabelClick.bind(this);\r\n this.onFocusOut = this.onFocusOut.bind(this);\r\n }\r\n componentDidUpdate() {\r\n if (this.props.value !== this.state.value) {\r\n this.setState({\r\n value: this.props.value,\r\n valueToShow: this.props.value ? moment(this.props.value, \"YYYY-MM-DD\").format(\"DD.MM.YYYY\") : ''\r\n });\r\n }\r\n }\r\n onFocus(e) {\r\n const { onlyDate } = this.props;\r\n const { id } = this.state;\r\n e.target.type = onlyDate ? 'date' : 'datetime-local';\r\n\r\n let element = document.getElementById(id);\r\n if (element) {\r\n let firefoxLabel = element.querySelector('.fire-fox-date-label');\r\n if (firefoxLabel)\r\n firefoxLabel.classList.add('focus');\r\n }\r\n }\r\n onFocusOut(e) {\r\n const { id } = this.state;\r\n\r\n let element = document.getElementById(id);\r\n if (element) {\r\n let firefoxLabel = element.querySelector('.fire-fox-date-label');\r\n if (firefoxLabel)\r\n firefoxLabel.classList.remove('focus');\r\n }\r\n }\r\n handleChange(e) {\r\n const { value } = e.target;\r\n this.setState({\r\n value: value,\r\n valueToShow: value ? moment(value.includes('T') ? value.split('T')[0] : value, \"YYYY-MM-DD\").format(\"DD.MM.YYYY\") : ''\r\n });\r\n if (this.props.onChange)\r\n this.props.onChange(e);\r\n }\r\n render() {\r\n const { value, valueToShow, id } = this.state;\r\n const { name, className, disabled, placeholder } = this.props;\r\n return (\r\n
    \r\n \r\n
    \r\n {valueToShow}\r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n );\r\n }\r\n\r\n onFireFoxLabelClick(e) {\r\n const { id } = this.state;\r\n\r\n let element = document.getElementById(id);\r\n if (element) {\r\n let input = element.querySelector('input');\r\n if (input)\r\n input.focus();\r\n }\r\n }\r\n}","import React from 'react';\r\nimport InputMask from 'react-input-mask';\r\nimport { companyTypes, formFieldTypes, formStringFieldPatterns } from '../../constants';\r\nimport i18next from \"../../i18n\";\r\nimport { DateTimeInput } from '../forms/DateTimeInput';\r\nimport * as CheckFunctions from '../helpers/CheckFunctions';\r\nimport { getLocalDateString } from '../helpers/HelperFunctions';\r\nexport function InpuContainer(props) {\r\n const check = props.Check ? checkField(props) : false;\r\n let { Name, Label } = props;\r\n let label = \r\n return (props.Type === formFieldTypes.empty ? \"\" : <>\r\n {label}\r\n {props.children}\r\n {check ? < div className=\"help-block\">{check} : \"\"}\r\n );\r\n}\r\nexport function buildFormField(field, changeInputValue) {\r\n let changeInputValueHandle = (e) => {\r\n e.target.value = e.target.value.replaceAll(' ', '');\r\n const { value } = e.target;\r\n if ((/^[0-9]{1,}[,]?([0-9]{1,2})?$/).test(String(value)) || !value) changeInputValue(e);\r\n }\r\n let onBlurNumberHandle = (e) => {\r\n const { value } = e.target;\r\n if (value.endsWith(',')) e.target.value = value.replace(',', '');\r\n changeInputValue(e);\r\n }\r\n if (field) {\r\n let { Name, Value, Disabled } = field;\r\n if (Value && field.Type === formFieldTypes.datetime) {\r\n let date = getLocalDateString(new Date(Value)).split(\".\");\r\n Value = `${date[2]}-${date[1]}-${date[0]}`;\r\n }\r\n switch (field.Type) {\r\n case formFieldTypes.string:\r\n case formFieldTypes.int:\r\n switch (field.Patern) {\r\n case formStringFieldPatterns.number:\r\n return ( onBlurNumberHandle(e)} disabled={Disabled ? \"disabled\" : \"\"} />);\r\n case formStringFieldPatterns.phone:\r\n return ();\r\n case formStringFieldPatterns.iBan:\r\n return ();\r\n default:\r\n return (<>\r\n {field.IsMultiline ?\r\n \r\n \r\n \r\n
    \r\n
    \r\n {title?\r\n \r\n :\r\n <>\r\n \r\n \r\n \r\n }\r\n {submitted&&!title?
    {i18next.t(\"requiredField\")}
    :\"\"}\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n changeInputValue(e) {\r\n const {files}=e.target;\r\n if(files) {\r\n this.setState({\r\n badExtension: false,\r\n file: e.target.files[0],\r\n title: e.target.files[0].name\r\n });\r\n }\r\n else HelperFunctions.changeInputValue.bind(this)(e);\r\n }\r\n getDate(value) {\r\n const date = new Date(value);\r\n return `${date.getFullYear()}-${padWithZeroes(date.getMonth() + 1, 2)}-${padWithZeroes(date.getDate(), 2)}`;\r\n }\r\n}","import React,{Component} from 'react';\r\nimport i18next from \"../../i18n\";\r\nimport {UserContext} from '../../constants';\r\nexport class CommentForm extends Component {\r\n static contextType = UserContext;\r\n constructor(props) {\r\n super(props);\r\n this.state = this.props.comment ? Object.assign({\r\n submitted: false,\r\n commentBeanList: [],\r\n edit: this.props.comment ? true : false\r\n }, ...Object.keys(this.props.comment).map((key) => ({ [key]: this.props.comment[key] }))\r\n ) : { submitted: false };\r\n }\r\n render() {\r\n const { content, submitted, edit } = this.state;\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {submitted && !content ?
    {i18next.t(\"requiredField\")}
    : \"\"}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n handleChangeComment(e) {\r\n e.preventDefault();\r\n const user = JSON.parse(localStorage.getItem('user'));\r\n const dateTime = new Date().toUTCString();\r\n const { id, content, commentBeanList } = this.state;\r\n if (content) {\r\n this.props.handleChangeComment({\r\n id: id ? id : require('uuid').v4(),\r\n content: content,\r\n created: dateTime,\r\n position: user.position,\r\n commentBeanList: commentBeanList\r\n });\r\n }\r\n else {\r\n this.setState({ submitted: true });\r\n }\r\n }\r\n}","import React,{Component} from 'react';\r\nimport i18next from \"../../i18n\";\r\nimport {hideModalDialog,showModalDialog} from '../ModalDialog';\r\nimport {Svg} from '../Svg';\r\nimport { CommentForm } from './CommentForm';\r\nimport { getLocalDateString, getLocalTimeString } from '../helpers/HelperFunctions';\r\nimport * as constants from '../../constants';\r\nexport class Comment extends Component {\r\n static contextType = constants.UserContext;\r\n constructor(props) {\r\n super(props);\r\n this.state = this.props.comment ? Object.assign({ show: false }, ...Object.keys(this.props.comment).map((key) => ({ [key]: this.props.comment[key] }))) : {};\r\n this.handleChangeComents = this.handleChangeComents.bind(this);\r\n this.handleChangeComent = this.handleChangeComent.bind(this);\r\n }\r\n render() {\r\n const { documentId, parentCommentId, statuses } = this.props;\r\n const { id, userFullName, position, created, content, userName, commentBeanList, initiatorSystem, show } = this.state;\r\n const { registerCode } = this.context;\r\n let btns = [\r\n {\r\n onClick: () => showModalDialog('modalDialog', i18next.t(\"message\"), \"\", \"Ви впевнені, що бажаєте видалити коментар?\", \"feedPopup\", true, [{ title: i18next.t(\"yes\"), clickHandler: this.props.handleDeliteComent, class: \"btn-primary\" }, { title: i18next.t(\"no\"), clickHandler: () => hideModalDialog('modalDialog'), class: \"btn-secondary\" }]),\r\n svg: { src: \"/img/comment-icn-trash.svg\" }, forAuthor: true\r\n },\r\n {\r\n onClick: () => showModalDialog('modalDialog', i18next.t(\"editComment\"), \"\", , \"feedPopup\"),\r\n svg: { src: \"/img/comment-icn-edit.svg\" }, forAuthor: true\r\n },\r\n {\r\n onClick: () => showModalDialog('modalDialog', i18next.t(\"addComment\"), \"\", , \"feedPopup\"),\r\n svg: { src: \"/img/comment-icn-reply.svg\" }, className: \"btn btn-primary\"\r\n },\r\n {\r\n onClick: () => { this.setState({ show: !show }) },\r\n text: commentBeanList?.length ? i18next.t(\"18\", { value: commentBeanList.length }) : '', className: \"btn btn-secondary\"\r\n }\r\n ];\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    {initiatorSystem !== constants.initiatorSystem.PORTAL && initiatorSystem ? `${statuses?.find((item) => item?.value === initiatorSystem)?.label},` : \"\"} {userFullName}, {position ? position + \", \" : \"\"}{documentId ? created : this.getComentDate.bind(this)(created)}
    \r\n
    \r\n {btns.map((item, index) => )}\r\n
    \r\n
    \r\n
    {content}
    \r\n
    \r\n {show === true ?
    \r\n {commentBeanList?.map((item) =>\r\n this.deliteComent.bind(this)(item)} handleChangeComents={this.handleChangeComents} handleChangeComent={this.handleChangeComent} documentId={documentId} comment={item} />\r\n )}\r\n
    : ''}\r\n
    \r\n );\r\n }\r\n async deliteComent(coment) {\r\n const { documentId, parentCommentId } = this.props;\r\n const { id } = this.state;\r\n if (documentId) {\r\n const data = await removeCommentAction(coment, documentId, parentCommentId ? `${parentCommentId}|${id}` : id);\r\n if (data) {\r\n this.setState({ comments: data });\r\n this.handleChangeComents(data);\r\n }\r\n }\r\n else {\r\n let index = this.state.commentBeanList.indexOf(coment);\r\n if (index !== -1) {\r\n this.state.commentBeanList.splice(index, 1);\r\n this.setState({ commentBeanList: this.state.commentBeanList });\r\n }\r\n this.handleChangeComents();\r\n }\r\n hideModalDialog('modalDialog');\r\n }\r\n async editComent(comment) {\r\n const { documentId, parentCommentId } = this.props;\r\n const { id, content, userName } = comment;\r\n if (documentId)\r\n this.buildCommentAction.bind(this)('POST', 'comments/crud', {\r\n action: 'editComment',\r\n parentCommentPath: `${(parentCommentId ? `${parentCommentId}|` : \"\")}${id}`,\r\n content: content,\r\n documentNodeRef: documentId,\r\n userName: userName\r\n });\r\n else {\r\n this.setState({\r\n content: content\r\n }, () => this.handleChangeComent(comment));\r\n }\r\n hideModalDialog('modalDialog');\r\n }\r\n async replyComent(subComment) {\r\n const { documentId, parentCommentId } = this.props;\r\n const { id } = this.state;\r\n if (documentId)\r\n this.buildCommentAction.bind(this)('POST', 'comments/crud', {\r\n action: 'addSubComment',\r\n parentCommentPath: `${(parentCommentId ? `${parentCommentId}|` : \"\")}${id}`,\r\n content: subComment.content,\r\n documentNodeRef: documentId,\r\n });\r\n else {\r\n this.state.commentBeanList = [...this.state.commentBeanList, subComment];\r\n this.setState({ commentBeanList: this.state.commentBeanList }, () => this.handleChangeComent(this.state));\r\n }\r\n hideModalDialog('modalDialog');\r\n }\r\n async buildCommentAction(method, url, body) {\r\n const response = await fetch(url, {\r\n method: method,\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(body)\r\n });\r\n if (!response.ok) return require('../ModalDialog').unknownErrorMessageDialog();\r\n this.props.getComents();\r\n }\r\n handleChangeComents(comnets) {\r\n this.props.handleChangeComents(comnets);\r\n hideModalDialog('modalDialog');\r\n }\r\n handleChangeComent(comnet) {\r\n const { commentBeanList } = this.state;\r\n const index = commentBeanList.findIndex((item) => item.id === comnet.id);\r\n if (index !== -1) commentBeanList[index] = comnet;\r\n if (this.props.handleChangeComent)\r\n this.props.handleChangeComent(this.state);\r\n }\r\n getComentDate() {\r\n const date = new Date(this.state.created);\r\n return `${getLocalDateString(date)} ${getLocalTimeString(date).substring(0, 5)}`;\r\n }\r\n}\r\nexport async function removeCommentAction(comment, documentId, parentCommentId) {\r\n return await buildComentAction('POST', 'comments/crud', {\r\n action: \"removeComment\",\r\n parentCommentPath: `${(parentCommentId ? `${parentCommentId}|` : \"\")}${comment?.id}`,\r\n documentNodeRef: documentId,\r\n userName: comment?.userName\r\n });\r\n}\r\nexport async function buildComentAction(method, url, body) {\r\n const response = await fetch(url, {\r\n method: method,\r\n headers: { 'Content-Type': 'application/json' },\r\n body: body ? JSON.stringify(body) : null\r\n });\r\n if (!response.ok) require('../ModalDialog').unknownErrorMessageDialog();\r\n else if (url.indexOf('get') !== -1) {\r\n const result = await response.json();\r\n return Array.isArray(result) ? result : undefined;\r\n }\r\n}","import { getFile } from '../documents/DocumentHelpers';\r\nimport * as constants from '../../constants';\r\nimport * as HelperFunctions from '../helpers/HelperFunctions';\r\nexport async function handleSubmit(e) {\r\n if(e) this.setState({ submitted: true });\r\n let _this = this.state;\r\n let { file, content, signs, state } = this.state;\r\n var attachment = {\r\n currentElementNodeRef: this.state.nodeRef,\r\n properties: {\r\n state: file ? constants.attachmentStatuses.NotAdded : state\r\n },\r\n files: null\r\n };\r\n Object.keys(this.state).forEach(function (key) {\r\n if (key !== \"Indicator\")attachment.properties[key] = _this[key];\r\n });\r\n if (file && this.state.nodeRef)\r\n attachment.properties.state = constants.attachmentStatuses.NotAdded;\r\n if (!file && this.state.nodeRef) {\r\n content = await getFile(this.state.nodeRef);\r\n }\r\n if (file || content) {\r\n let base64File = file ? await HelperFunctions.getBase64(file) : null;\r\n let signFile = signs?.length > 0 ? this.state?.signs[0] : null;\r\n attachment.files = [{\r\n originalDocument: (base64File ? {\r\n content: base64File.content,\r\n fileName: this.state.file?.name,\r\n mimeType: base64File.mimeType\r\n } : content), signedDocument: signFile ? signFile.content : null\r\n }];\r\n }\r\n await fetch(`Document/${attachment.currentElementNodeRef ? \"Edit\" : \"Create\"}AdditionalFiles/${window.location.pathname.split('/').pop()}`, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(attachment)\r\n }).then(response => {\r\n if (response.ok) window.location.reload();\r\n });\r\n}","import React,{Component} from 'react';\r\nimport { formModes, UserContext, alfrescoTypes } from '../../constants';\r\nimport {Svg} from '../Svg';\r\nimport i18next from \"../../i18n\";\r\nimport { getLocalDateString, getLocalTimeString } from '../helpers/HelperFunctions';\r\nexport class DocumentInfo extends Component {\r\n static contextType = UserContext;\r\n constructor(props) {\r\n super(props);\r\n this.state = { show: this.props.type === alfrescoTypes.counterparties };\r\n this.clickEvent = this.clickEvent.bind(this);\r\n }\r\n clickEvent(e) {\r\n let targetId = e.target.id;\r\n if (targetId !== 'status-item-btn' && !this.hasParent(e.target, 'status-item-btn') && targetId !== 'about-doc-info' && !this.hasParent(e.target, 'about-doc-info'))\r\n this.setState({ show: false });\r\n }\r\n componentDidMount() {\r\n if (this.props.type !== alfrescoTypes.counterparties)\r\n document.addEventListener(\"click\", this.clickEvent);\r\n }\r\n componentWillUnmount() {\r\n if (this.props.type !== alfrescoTypes.counterparties)\r\n document.removeEventListener(\"click\", this.clickEvent);\r\n }\r\n hasParent(element, id) {\r\n while (element.parentElement) {\r\n if (element.parentElement.id === id)\r\n return true;\r\n element = element.parentElement;\r\n }\r\n return false;\r\n }\r\n render() {\r\n const { cretorInfo, prop_cm_created, prop_sx_dfState, prop_sx_dfStates, formMode, prop_sx_caDateNextAcreditation, caBranchManager } = this.props;\r\n let info = { date: prop_cm_created ? `${getLocalDateString(new Date(prop_cm_created))} ${getLocalTimeString(new Date(prop_cm_created)).substring(0, 5)}` : '', status: prop_sx_dfStates?.find(obj => obj.Value === prop_sx_dfState)?.Label, author: cretorInfo ? `${cretorInfo.creatorFullName ? cretorInfo.creatorFullName : \"\"}${cretorInfo.creatorPosition ? ', ' + cretorInfo.creatorPosition : \"\"}` : \"\" };\r\n let ul = [];\r\n ul.push(caBranchManager ? { src: \"/img/icon-person.svg\", key: \"Менеджер:\", value: } : { src: \"/img/icon-person.svg\", key: \"Автор:\", value: info.author ? : \"\" });\r\n if (caBranchManager) ul.push({ src: \"/img/info.svg\", key: \"Номер телефону фах. філії:\", value: });\r\n ul.push({ src: \"/img/location.svg\", key: \"Статус:\", value: });\r\n if (formMode !== formModes.create) ul.push({ src: \"/img/clock.svg\", key: \"Дата створення:\", value: info?.date && });\r\n if (prop_sx_caDateNextAcreditation) ul.push({ src: \"/img/clock.svg\", key: \"Акредитовано до:\", value: });\r\n return (\r\n
  • \r\n
    this.setState({ show: !this.state.show })}>\r\n \r\n \r\n
    \r\n {this.state.show &&\r\n
    \r\n
      \r\n
    • \r\n \r\n \r\n
    • \r\n {ul.map((item) => item?.value ?
    • \r\n \r\n \r\n {item.value}\r\n
    • : \"\")}\r\n
    \r\n
    \r\n }\r\n
  • \r\n );\r\n }\r\n}","import React from 'react';\r\nimport { alfrescoTypes } from '../../constants';\r\nimport i18next from \"../../i18n\";\r\nimport * as HelperFunctions from '../helpers/HelperFunctions';\r\nimport { Svg } from '../Svg';\r\nexport function DocumentTitle(props) {\r\n const { prop_cm_title, type } = props;\r\n return (\r\n
    \r\n \r\n

    {prop_cm_title ?? i18next.t(`form.${type.replace(\":\", \"_\")}.title`)}

    \r\n
    \r\n );\r\n}","import React, { Component } from 'react';\r\nimport { actionTypes, attachmentStatuses, alfrescoTypes } from '../../constants';\r\nimport { CommentForm } from '../comments/CommentForm';\r\nimport * as DocumentHelpers from '../documents/DocumentHelpers';\r\nimport { dispatcherActionTypes, globalEventDispatcher } from '../helpers/GlobalEventDispatcher';\r\nimport { showModalDialog, hideModalDialog } from '../ModalDialog';\r\nimport { Table } from '../table/Table';\r\nimport { TableFilterBlock } from '../table/TableFilterBlock';\r\nimport { AttachmentForm } from '../documents/AttachmentForm';\r\nimport { clientSettings } from '../../settings/clientSettings';\r\nimport { dynamicFormHandler } from '../documents/DynamicForm';\r\nimport * as AdditionalDocument from './AdditionalDocument';\r\nimport i18next from \"../../i18n\"\r\nconst settings = clientSettings.table.AdditionalDocument;\r\nfor (let i = 0; i < settings.actions.length; ++i)\r\n settings.actions[i].sortIndex = i;\r\nfor (let i = 0; i < settings.columns.length; ++i)\r\n settings.columns[i].id = i.toString();\r\nexport class AttachmentsForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n const { attachments, typesOfDocumens } = this.props;\r\n this.state = {\r\n attachments: attachments,\r\n typesOfDocumens: typesOfDocumens,\r\n statuses: [],\r\n filtersValues: {},\r\n rows: [],\r\n type: alfrescoTypes.additionalDocument,\r\n columns: JSON.parse(JSON.stringify(settings.columns))\r\n };\r\n this.actionHandlerCallback = this.actionHandlerCallback.bind(this);\r\n this.onColumnFilter = this.onColumnFilter.bind(this);\r\n this.onSearchClear = this.onSearchClear.bind(this);\r\n }\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.attachments !== this.state.attachments) {\r\n this.setState({ attachments: nextProps.attachments });\r\n }\r\n if (nextProps.typesOfDocumens !== this.state.typesOfDocumens) {\r\n this.setState({ typesOfDocumens: nextProps.typesOfDocumens });\r\n }\r\n }\r\n async actionHandlerCallback(type, ids = []) {\r\n let { attachments } = this.state;\r\n let finded = this.state.attachments.find(a => a.nodeRef === ids[0] || a.Id === ids[0]);\r\n const { typesOfDocumens } = this.state;\r\n switch (type) {\r\n case actionTypes.remove: {\r\n let closeDialog = function () {\r\n hideModalDialog('modalDialog');\r\n }\r\n let confirmDialog = function () {\r\n closeDialog();\r\n dynamicFormHandler('additionalFiles', type, ids);\r\n }\r\n showModalDialog('modalDialog', i18next.t(\"removing\"), \"\",
    {i18next.t(\"deleteFilesMessage\")}
    , \"feedPopup\", true, [{ title: i18next.t(\"yes\"), clickHandler: confirmDialog, class: \"btn-primary\" }, { title: i18next.t(\"no\"), clickHandler: closeDialog, class: \"btn-secondary\" }]);\r\n break;\r\n }\r\n case actionTypes.preview: return require('../ModalDialog').viewPdfDialog(ids[0]);\r\n case actionTypes.download: return ids.map(item => DocumentHelpers.downloadFile(item));\r\n case actionTypes.add:\r\n if (finded.title)\r\n finded.title = '';\r\n return showModalDialog('modalDialog', i18next.t(\"addDocument\"), \"\", , \"feedPopup middle-form\");\r\n case actionTypes.edit: return showModalDialog('modalDialog', i18next.t(\"editDocument\"), \"\", , \"feedPopup middle-form\");\r\n case actionTypes.notAdd:\r\n let handleChangeComment = function (comment) {\r\n let item = Object.assign(attachments.find((item) => item.Id === ids[0]));\r\n item.comment = comment.content;\r\n item.state = attachmentStatuses.noDoc;\r\n AdditionalDocument.handleSubmit.bind({ state: item })();\r\n }\r\n showModalDialog('modalDialog', i18next.t(\"addComment\"), \"\", , \"feedPopup middle-form\");\r\n break;\r\n }\r\n }\r\n onColumnFilter(colName, filterValues) {\r\n const { filtersValues, columns } = this.state;\r\n filtersValues[colName] = filterValues;\r\n columns.find((item) => item.name === colName).filteredValues = filterValues;\r\n this.setState({\r\n filtersValues: filtersValues\r\n });\r\n globalEventDispatcher.dispatch(dispatcherActionTypes.onUnselectTableAllRows);\r\n }\r\n onSearchClear() {\r\n const { columns } = this.state;\r\n for (let i = 0; i < columns?.length; ++i) columns[i].filteredValues = [];\r\n this.setState({\r\n filtersValues: {}\r\n });\r\n }\r\n render() {\r\n const { edite } = this.props;\r\n const { attachments, columns, filtersValues } = this.state;\r\n let rows = [];\r\n const { actions } = settings;\r\n if (attachments) {\r\n for (let i = 0; i < attachments.length; ++i) {\r\n let currActions = actions.filter(item =>\r\n (\r\n edite &&\r\n (\r\n (item.type === actionTypes.edit && attachments[i]?.nodeRef && attachments[i].state !== attachmentStatuses.noDoc) ||\r\n (item.type === actionTypes.remove && (attachments[i]?.nodeRef || attachments[i].state === attachmentStatuses.noDoc)) ||\r\n (\r\n (\r\n attachments[i].state === attachmentStatuses.noDoc ||\r\n (attachments[i].state === attachmentStatuses.NotAdded && !attachments[i]?.nodeRef)\r\n ) &&\r\n item.type === actionTypes.add\r\n ) ||\r\n (attachments[i].state === attachmentStatuses.NotAdded && !attachments[i]?.nodeRef && item.type === actionTypes.notAdd)\r\n )\r\n ) ||\r\n (\r\n attachments[i].state === attachmentStatuses.Signed &&\r\n item.type === actionTypes.loadSigns\r\n ) ||\r\n (\r\n attachments[i]?.nodeRef &&\r\n (\r\n (item.type === actionTypes.preview && attachments[i]?.title?.endsWith('.pdf')) ||\r\n (item.type === actionTypes.download && attachments[i].state !== attachmentStatuses.noDoc)\r\n )\r\n )\r\n );\r\n let item = { actions: currActions, columns: attachments[i] };\r\n item.columns.Id = attachments[i]?.nodeRef ?? i.toString();\r\n item.columns.Indicator = this.props.getAttachmentIndicatorHandler(attachments[i]);\r\n rows = this.props.getAttachmentIndicatorHandler(attachments[i]) ? [item].concat(rows) : rows.concat(item);\r\n }\r\n }\r\n rows.sort((a, b) => {\r\n if (a.columns.nodeRef && !b.columns.nodeRef)\r\n return -1;\r\n else if (!a.columns.nodeRef && b.columns.nodeRef)\r\n return 1;\r\n else if (a.columns.prop_sx_addDocumentType_label && b.columns.prop_sx_addDocumentType_label)\r\n return a.columns.prop_sx_addDocumentType_label.localeCompare(b.columns.prop_sx_addDocumentType_label);\r\n else\r\n return 0;\r\n });\r\n return (\r\n <>\r\n \r\n
    \r\n \r\n );\r\n }\r\n}","import React from 'react';\r\nimport { settingsFormTypes, searchTableTypes } from '../../constants';\r\nimport { getArrayIds } from '../helpers/HelperFunctions';\r\nimport { Table } from '../table/Table';\r\nimport { TableFilterBlock } from '../table/TableFilterBlock';\r\nimport { loadListData } from './ListHelpers';\r\nexport async function loadData(page, pageSize, sortBy = '', isDesk = false, filterValues = []) {\r\n await loadListData.bind(this)(`Table/Get?searchTableTypes=${searchTableTypes.Companies}`, page, pageSize, sortBy, isDesk, filterValues);\r\n}\r\nexport async function actionHandlerCallback(actionType, ids) {\r\n await this.actionHandlerCallbackDefault(actionType, ids);\r\n}\r\nexport function renderContent() {\r\n const { content, sortBy, isDesk, page, pageSize, pageCount, filterValues } = this.state;\r\n const { type, hideFilter, actionsForAll } = this.props;\r\n return (\r\n
    \r\n {type !== settingsFormTypes.settingsType && !hideFilter &&\r\n \r\n }\r\n {content && content.columns &&\r\n
    \r\n }\r\n \r\n );\r\n}","import React from 'react';\r\nimport { sortArray } from '../helpers/HelperFunctions';\r\nexport class ActionsPanel extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n }\r\n getCorrectWorld(count) {\r\n if (count >= 10 && count <= 20) return \"елементів\";\r\n const str = count.toString();\r\n switch (str[str.length - 1]) {\r\n case '1': return \"елемент\";\r\n case '2':\r\n case '3':\r\n case '4': return \"елемента\";\r\n default: return \"елементів\";\r\n }\r\n }\r\n render() {\r\n const { actions, actionHandlerCallback, checkedCount, handlerUncheckAll } = this.props;\r\n if (actions && actions.length > 0)\r\n sortArray(actions, \"sortIndex\");\r\n return (\r\n
    \r\n {actions && actions.length > 0 &&\r\n [\r\n
    \r\n handlerUncheckAll()} checked={true} />\r\n \r\n
    \r\n {checkedCount >= 0 ?\r\n \"Обрано \" + checkedCount + \" \" + this.getCorrectWorld(checkedCount) :\r\n \"\"\r\n }\r\n
    \r\n
    ,\r\n
      \r\n {actions.map(action =>\r\n
    • { e.preventDefault(); if (actionHandlerCallback) actionHandlerCallback(action.type) }}>\r\n \r\n
    • \r\n )}\r\n
    ]\r\n }\r\n \r\n
    \r\n );\r\n }\r\n}","import React from 'react';\r\nexport function TableButtonsBlock(props) {\r\n const { buttons, onClickHandler, title } = props;\r\n return (\r\n
    \r\n {title &&

    {title}

    }\r\n
    \r\n {buttons && buttons.length > 0 &&\r\n
      \r\n {buttons.map((button) => (\r\n
    • \r\n \r\n
    • \r\n ))}\r\n
    \r\n }\r\n
    \r\n );\r\n}","import React, { Component } from 'react';\r\nimport InputMask from 'react-input-mask';\r\nimport { UserContext } from '../../constants';\r\nimport i18next from \"../../i18n\";\r\nimport { checkPassword, checkPhone } from '../helpers/CheckFunctions';\r\nimport { dispatcherActionTypes, globalEventDispatcher } from '../helpers/GlobalEventDispatcher';\r\nimport { hideModalDialog, showModalDialog } from '../ModalDialog';\r\nimport { PasswordInput } from './PasswordInput';\r\nexport class EditUserForm extends Component {\r\n static contextType = UserContext;\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n email: '',\r\n firstName: '',\r\n lastName: '',\r\n phoneNumber: '',\r\n password: '',\r\n passwordRepeat: '',\r\n position: '',\r\n sending: false,\r\n submitted: false,\r\n canEditRole: false,\r\n canEditStatus: false,\r\n role: '',\r\n statusValue: '',\r\n rolesList: [],\r\n statusList: [],\r\n incorrectLogin: false,\r\n showPassword: false\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n }\r\n handleChange(event) {\r\n const { name, value } = event.target;\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n handleSubmit(event) {\r\n event.preventDefault();\r\n const { role, sending, firstName, lastName, statusValue, position, phoneNumber, incorrectLogin, password, passwordRepeat, showPassword } = this.state;\r\n this.setState({ submitted: true });\r\n if (!sending && !incorrectLogin && role && statusValue && firstName && lastName && phoneNumber && checkPhone(phoneNumber)) {\r\n if (!showPassword || !password || (password === passwordRepeat && checkPassword(password))) {\r\n this.setState({ sending: true });\r\n const id = this.props.userId;\r\n this.editUser({\r\n firstName,\r\n lastName,\r\n phoneNumber,\r\n statusValue,\r\n role,\r\n password,\r\n position,\r\n id\r\n });\r\n }\r\n }\r\n }\r\n async editUser(data) {\r\n const currentObject = this;\r\n const requestOptions = {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n };\r\n fetch('/account/editUser', requestOptions)\r\n .then((response) => {\r\n if (response.ok) {\r\n function onClose() {\r\n hideModalDialog(\"loadingDialog\");\r\n if (currentObject.props.onSubmitedHandler)\r\n currentObject.props.onSubmitedHandler();\r\n }\r\n if (JSON.parse(localStorage.getItem('user')).id === this.props.userId) {\r\n fetch('account/getCurrentUser')\r\n .then(async (response) => {\r\n let data = response.ok ? await response.json() : { errorCode: response.status };\r\n if (data.errorCode) {\r\n console.log('error during getting current user: code - ' + data.errorCode);\r\n showModalDialog(\"loadingDialog\", i18next.t(\"error\"), \"\",
    {i18next.t(\"unknownErrorMessage\")}
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: () => onClose(), class: \"btn-primary\" }]);\r\n }\r\n else {\r\n let user = JSON.parse(localStorage.getItem('user'));\r\n user.userName = data.fullName;\r\n localStorage.setItem('user', JSON.stringify(user));\r\n globalEventDispatcher.dispatch(dispatcherActionTypes.onCurrentUserUpdated);\r\n currentObject.setState({ sending: false });\r\n showModalDialog(\"loadingDialog\", i18next.t(\"done\"), \"\",
    Профіль користувача успішно оновлено
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: () => onClose(), class: \"btn-primary\" }], onClose);\r\n }\r\n });\r\n }\r\n else {\r\n currentObject.setState({ sending: false });\r\n showModalDialog(\"loadingDialog\", i18next.t(\"done\"), \"\",
    Профіль користувача успішно оновлено
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: () => onClose(), class: \"btn-primary\" }], onClose);\r\n }\r\n }\r\n else {\r\n return response.text().then((errorText) => {\r\n console.log(errorText);\r\n require('../ModalDialog').unknownErrorMessageDialog();\r\n });\r\n }\r\n });\r\n }\r\n componentDidMount() {\r\n this.fillForm();\r\n }\r\n onCancel() {\r\n const { onCloseHandler } = this.props;\r\n if (!this.state.sending && onCloseHandler)\r\n onCloseHandler();\r\n }\r\n render() {\r\n const { email, sending, submitted, role, canEditRole, canEditStatus, rolesList, firstName, lastName, phoneNumber, position, statusValue, statusList, incorrectLogin, showPassword, password, passwordRepeat } = this.state;\r\n let isCurrent = JSON.parse(localStorage.getItem('user')).id === this.props.userId;\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n {submitted && !lastName &&
    {i18next.t(\"requiredField\")}
    }\r\n
    \r\n
    \r\n \r\n \r\n {submitted && !firstName &&
    {i18next.t(\"requiredField\")}
    }\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n {submitted && !phoneNumber &&\r\n
    {i18next.t(\"requiredField\")}
    \r\n }\r\n {submitted && phoneNumber && !checkPhone(phoneNumber) &&\r\n
    {i18next.t(\"badFieldFormat\")}
    \r\n }\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n {submitted && !statusValue &&\r\n
    {i18next.t(\"requiredField\")}
    \r\n }\r\n
    \r\n
    \r\n \r\n \r\n {submitted && !role &&\r\n
    {i18next.t(\"requiredField\")}
    \r\n }\r\n
    \r\n {showPassword ?\r\n [\r\n
    \r\n \r\n \r\n {submitted && password && !checkPassword(password) &&\r\n
    {i18next.t(\"incorrectPasswordErrorText\")}
    \r\n }\r\n
    ,\r\n
    \r\n \r\n \r\n {submitted && password && passwordRepeat !== password &&\r\n
    {i18next.t(\"passwordsDoNotMatch\")}
    \r\n }\r\n
    ] :\r\n \"\"\r\n }\r\n
    \r\n
    \r\n
    ,\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n async fillForm() {\r\n const requestOptions = { method: 'GET', headers: { 'Content-Language': 'en-US' } };\r\n const response = await fetch(`account/getUserForEdit?userId=${this.props.userId}`, requestOptions);\r\n if (response.ok) {\r\n const data = await response.json();\r\n let roleValue = data.user.role;\r\n if (!roleValue && data.userRoles && data.userRoles.length > 0)\r\n roleValue = data.userRoles[0].name;\r\n let statusValue = data.user.statusValue;\r\n if (!statusValue && data.userStatuses && data.userStatuses.length > 0)\r\n statusValue = data.userStatuses[0].name;\r\n let phoneValue = data.user.phoneNumber;\r\n if (phoneValue)\r\n phoneValue = phoneValue.replace(/[^+\\d]/g, '');\r\n this.setState({ rolesList: data.userRoles, showPassword: data.allowPasswordEditing, canEditRole: data.allowRoleEditing, canEditStatus: data.allowStatusEditing, statusList: data.userStatuses, role: roleValue, statusValue: statusValue, firstName: data.user.firstName, lastName: data.user.lastName, position: data.user.position, phoneNumber: phoneValue, email: data.user.email });\r\n }\r\n else require('../ModalDialog').unknownErrorMessageDialog();\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { settingsFormTypes } from '../../constants';\r\nimport i18next from \"../../i18n\";\r\nimport { checkEmail } from '../helpers/CheckFunctions';\r\nimport { hideModalDialog, showModalDialog } from '../ModalDialog';\r\nimport FormControl from '@material-ui/core/FormControl';\r\nimport MenuItem from '@material-ui/core/MenuItem';\r\nimport Select from '@material-ui/core/Select';\r\nexport class UserInvitationForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n email: '',\r\n sending: false,\r\n submitted: false,\r\n codeNotExists: false,\r\n role: '',\r\n formType: this.props.formType,\r\n companyRegisterCode: '',\r\n selectedRegisterCode: '',\r\n companies: this.props.companies,\r\n rolesList: [],\r\n incorrectLogin: false\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n }\r\n handleChange(event) {\r\n const { name, value } = event.target;\r\n if (name === 'email')\r\n this.setState({ [name]: value, incorrectLogin: false });\r\n else if (name === 'companyRegisterCode' || name === 'personeRegisterCode' || name === 'role')\r\n this.setState({ [name]: value, codeNotExists: false });\r\n else\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n handleSubmit(event) {\r\n event.preventDefault();\r\n const { email, role, sending, incorrectLogin, companyRegisterCode, codeNotExists, formType, selectedRegisterCode } = this.state;\r\n let registerCode = formType === settingsFormTypes.settingsType ? selectedRegisterCode : companyRegisterCode;\r\n this.setState({ submitted: true });\r\n if (\r\n !sending &&\r\n !incorrectLogin &&\r\n !codeNotExists &&\r\n email &&\r\n checkEmail(email) &&\r\n role &&\r\n registerCode\r\n ) {\r\n this.setState({ sending: true });\r\n this.inviteUser(email, role, registerCode);\r\n }\r\n }\r\n async inviteUser(email, role, registerCode) {\r\n const currentObject = this;\r\n fetch('/siteSettings/inviteUser', {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({ email, role, registerCode })\r\n })\r\n .then((response) => {\r\n if (response.ok) {\r\n currentObject.setState({ sending: false, incorrectLogin: false, codeNotExists: false });\r\n showModalDialog(\"loadingDialog\", i18next.t(\"done\"), \"\",
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: () => hideModalDialog(\"loadingDialog\"), class: \"btn-primary\" }]);\r\n return '';\r\n }\r\n else {\r\n if (response.status === 404) {\r\n showModalDialog(\"loadingDialog\", i18next.t(\"error\"), \"\",
    {i18next.t(\"invitationCompanyNotFound\")}
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: () => hideModalDialog(\"loadingDialog\"), class: \"btn-primary\" }]);\r\n }\r\n else {\r\n return response.text().then((errorText) => {\r\n if (errorText === \"EmailExists\") {\r\n currentObject.setState({ sending: false, incorrectLogin: true, codeNotExists: false });\r\n }\r\n else if (errorText === \"CodeNotExists\") {\r\n currentObject.setState({ sending: false, incorrectLogin: false, codeNotExists: true });\r\n }\r\n else {\r\n currentObject.setState({ sending: false, incorrectLogin: false, codeNotExists: false });\r\n require('../ModalDialog').unknownErrorMessageDialog();\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n componentDidMount() {\r\n this.fillForm();\r\n }\r\n onCancel() {\r\n const { onCloseHandler } = this.props;\r\n if (!this.state.sending && onCloseHandler)\r\n onCloseHandler();\r\n }\r\n render() {\r\n const { email, sending, submitted, role, rolesList, companyRegisterCode, formType, codeNotExists, incorrectLogin, companies, selectedRegisterCode } = this.state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {submitted && !email &&\r\n
    {i18next.t(\"requiredField\")}
    \r\n }\r\n {submitted && email && !checkEmail(email) &&\r\n
    {i18next.t(\"badFieldFormat\")}
    \r\n }\r\n {submitted && email && incorrectLogin &&\r\n
    {i18next.t(\"mailIsAlreadyInUse\")}
    \r\n }\r\n
    \r\n
    \r\n \r\n \r\n {submitted && !role &&\r\n
    {i18next.t(\"requiredField\")}
    \r\n }\r\n
    \r\n {formType !== settingsFormTypes.settingsType && (role === 'Employee' || role === 'CabinetAdmin') &&\r\n
    \r\n \r\n { return parseInt(event.key) >= 0 && parseInt(event.key) <= 9 }} value={companyRegisterCode} onChange={this.handleChange} />\r\n {submitted && !companyRegisterCode &&\r\n
    {i18next.t(\"requiredField\")}
    \r\n }\r\n {submitted && companyRegisterCode && codeNotExists &&\r\n
    {i18next.t(\"noCounterpartyFound\")}
    \r\n }\r\n
    \r\n }\r\n {formType === settingsFormTypes.settingsType &&\r\n
    \r\n \r\n \r\n {\r\n if (selected.length === 0) {\r\n return {i18next.t(\"choseCounterparty\")};\r\n }\r\n return companies.find(company => company.registerCode === selected).companyShortName;\r\n }}\r\n >\r\n {companies.map((company, index) =>\r\n {company.companyShortName}\r\n )}\r\n \r\n \r\n {submitted && !selectedRegisterCode &&\r\n
    {i18next.t(\"requiredField\")}
    \r\n }\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n async fillForm() {\r\n const response = await fetch('siteSettings/getRolesForInvite', { method: 'GET' });\r\n const data = await response.json();\r\n let value = '';\r\n if (data.length > 0)\r\n value = data[0].name;\r\n this.setState({ rolesList: data, role: value });\r\n }\r\n}\r\n","import React from 'react';\r\nimport { actionTypes, settingsFormTypes } from '../../constants';\r\nimport { getArrayIds } from '../helpers/HelperFunctions';\r\nimport { Table } from '../table/Table';\r\nimport { TableFilterBlock } from '../table/TableFilterBlock';\r\nexport async function actionHandlerCallback(actionType, ids = []) {\r\n const { userId } = this.props;\r\n await this.actionHandlerCallbackDefault(actionType, ids);\r\n}\r\nexport function renderContent() {\r\n const { content, sortBy, isDesk, page, pageSize, pageCount, filterValues } = this.state;\r\n const { type, hideFilter } = this.props;\r\n if (content) content.actionsForAll = [{\r\n \"title\": \"Додати\",\r\n \"type\": actionTypes.add,\r\n \"isMultiaction\": false,\r\n \"btnClass\": \"btn-primary\",\r\n \"sortIndex\": -1\r\n }];\r\n return (\r\n
    \r\n {type !== settingsFormTypes.settingsType && !hideFilter &&\r\n \r\n }\r\n {content && content.columns &&\r\n
    \r\n }\r\n \r\n );\r\n}","import React from 'react';\r\nimport { History, actionTypes, urls, searchTableTypes, alfrescoRoles } from '../../constants';\r\nimport i18next from \"../../i18n\";\r\nimport { EditUserForm } from '../forms/EditUserForm';\r\nimport { UserInvitationForm } from '../forms/UserInvitationForm';\r\nimport { getArrayIds, encodeHTML } from '../helpers/HelperFunctions';\r\nimport { hideModalDialog, showModalDialog } from '../ModalDialog';\r\nimport { Table } from '../table/Table';\r\nimport { TableFilterBlock } from '../table/TableFilterBlock';\r\nimport * as ListOfUserCompanies from './ListOfUserCompanies';\r\nimport { ListOfAlfresco } from './ListOfAlfresco';\r\nimport { loadListData } from './ListHelpers';\r\nexport async function loadData(page, pageSize, sortBy = '', isDesk = false, filterValues = []) {\r\n await loadListData.bind(this)(`Table/Get?searchTableTypes=${searchTableTypes.Users}`, page, pageSize, sortBy, isDesk, filterValues);\r\n}\r\nexport function inviteUserHandler() {\r\n showModalDialog(\"loadingDialog\", i18next.t(\"inviteUser\"), \"\", { hideModalDialog(\"loadingDialog\"); }} />, \"feedPopup middle-form\");\r\n}\r\nexport async function userAction(ids, path) {\r\n const response = await fetch(`/siteSettings/${path}`, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(ids.join('|'))\r\n });\r\n if (!response.ok) {\r\n if (response.status === 403) History.push(urls.accessDeniedPage);\r\n else require('../ModalDialog').unknownErrorMessageDialog();\r\n return;\r\n }\r\n hideModalDialog(\"loadingDialog\");\r\n const { page, pageSize, sortBy, isDesk, filterValues } = this.state;\r\n this.loadData(page, pageSize, sortBy, isDesk, filterValues);\r\n}\r\nexport async function actionHandlerCallback(actionType, ids) {\r\n const { page, pageSize, sortBy, isDesk, filterValues } = this.state;\r\n let closeDialog = function () {\r\n hideModalDialog(\"loadingDialog\");\r\n }\r\n if (ids.length > 0) {\r\n switch (actionType) {\r\n case actionTypes.edit:\r\n showModalDialog(\"loadingDialog\", i18next.t(\"editUser\"), \"\", this.loadData(page, pageSize, sortBy, isDesk, filterValues)} onCloseHandler={() => { hideModalDialog(\"loadingDialog\"); }} />, \"feedPopup\");\r\n break;\r\n case actionTypes.unblock:\r\n showModalDialog(\"loadingDialog\", i18next.t(\"unblockUsersMessageTitle\"), \"\",
    {i18next.t(\"unblockUsersMessage\")}
    , \"feedPopup\", true, [{ title: i18next.t(\"yes\"), clickHandler: () => this.userAction(ids, \"unblockUsers\"), class: \"btn-primary\" }, { title: i18next.t(\"no\"), clickHandler: closeDialog, class: \"btn-secondary\" }]);\r\n break;\r\n case actionTypes.block:\r\n showModalDialog(\"loadingDialog\", i18next.t(\"blockUsersMessageTitle\"), \"\",
    {i18next.t(\"blockUsersMessage\")}
    , \"feedPopup\", true, [{ title: i18next.t(\"yes\"), clickHandler: () => this.userAction(ids, \"blockUsers\"), class: \"btn-primary\" }, { title: i18next.t(\"no\"), clickHandler: closeDialog, class: \"btn-secondary\" }]);\r\n break;\r\n case actionTypes.join:\r\n showModalDialog(\"loadingDialog\", i18next.t(\"7\"), \"\", , \"feedPopup agreement middle-size\");\r\n break;\r\n case actionTypes.reset:\r\n let handlerResetPassword = () => {\r\n closeDialog();\r\n for (let i = 0; i < ids.length; ++i) {\r\n fetch(`/account/ResetPasswordById`, { method: 'Post', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ id: ids[i] }) })\r\n .then(res => {\r\n if (res.ok) {\r\n require('../ModalDialog').messageDialog(i18next.t(\"done\"), i18next.t('userPasswordResetMessage'));\r\n }\r\n else {\r\n require('../ModalDialog').unknownErrorMessageDialog();\r\n }\r\n });\r\n }\r\n }\r\n showModalDialog(\"loadingDialog\", i18next.t(\"message\"), \"\",
    {i18next.t(\"resetPasswordMessage\")}
    , \"feedPopup\", true, [{ title: i18next.t(\"yes\"), clickHandler: handlerResetPassword, class: \"btn-primary\" }, { title: i18next.t(\"no\"), clickHandler: closeDialog, class: \"btn-secondary\" }]);\r\n break;\r\n default:\r\n await this.actionHandlerCallbackDefault(actionType, ids);\r\n break;\r\n }\r\n }\r\n}\r\nexport function renderContent() {\r\n const { actionsForAll, companyName } = this.props;\r\n const { content, page, pageSize, pageCount, sortBy, isDesk, filterValues } = this.state;\r\n let additionalBtn = this?.inviteUserHandler && [alfrescoRoles.MODERATOR, alfrescoRoles.PORTAL_ADMINISTRATOR].includes(this.context?.role) ? { title: i18next.t(\"inviteUser\"), onClickHandler: this.inviteUserHandler } : null;\r\n let contentRows = content?.rows ?? [];\r\n if (companyName && contentRows.length > 0) {\r\n contentRows.forEach(row => {\r\n row.columns.CompanyName = encodeHTML(companyName);\r\n });\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {content && content.columns &&\r\n
    \r\n }\r\n \r\n );\r\n}","var map = {\n\t\"./AdditionalDocument\": 68,\n\t\"./AdditionalDocument.js\": 68,\n\t\"./AttachmentForm\": 55,\n\t\"./AttachmentForm.js\": 55,\n\t\"./AttachmentsForm\": 73,\n\t\"./AttachmentsForm.js\": 73,\n\t\"./Document\": 24,\n\t\"./Document.js\": 24,\n\t\"./DocumentHelpers\": 23,\n\t\"./DocumentHelpers.js\": 23,\n\t\"./DocumentInfo\": 71,\n\t\"./DocumentInfo.js\": 71,\n\t\"./DocumentTitle\": 72,\n\t\"./DocumentTitle.js\": 72,\n\t\"./DynamicForm\": 44,\n\t\"./DynamicForm.js\": 44,\n\t\"./Invoice\": 100,\n\t\"./Invoice.js\": 100,\n\t\"./counterparties\": 101,\n\t\"./counterparties.js\": 101,\n\t\"./cpSignatory\": 102,\n\t\"./cpSignatory.js\": 102,\n\t\"./score\": 103,\n\t\"./score.js\": 103\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 99;","import i18n from '../../i18n';\r\nexport function buildFormItem(item) {\r\n\tconst { prop_sx_dfState } = this.state;\r\n\tif (item.DisableWhile) {\r\n\t\titem.Disabled = item.DisableWhile.indexOf(prop_sx_dfState) !== -1;\r\n\t}\r\n\treturn item;\r\n}\r\nexport function getErrorMessage() {\r\n\tconst { prop_sx_AgreementNumber, prop_sx_InvoiceSum, associations, file } = this.state;\r\n\tif (!(prop_sx_AgreementNumber && prop_sx_InvoiceSum)) {\r\n\t\treturn i18n.t(\"notAllRequiredFildsAreSpecifiedMessage\");\r\n\t}\r\n\telse if (!(associations?.mainContent || file)) {\r\n\t\treturn i18n.t(\"3\");\r\n\t}\r\n}","import React from 'react';\r\nimport { formModes, attachmentStatuses, companyTypes } from '../../constants';\r\nimport { AttachmentsForm } from './AttachmentsForm';\r\nimport { statuses } from './Document';\r\nimport i18next from \"../../i18n\";\r\nexport function getCurAttacmentsTypes() {\r\n\tconst { attachmentsTypes, prop_sx_caType, prop_sx_caKind } = this.state;\r\n\treturn attachmentsTypes?.filter((item) => item.configuration?.some((conf) => conf.counterpartyType === prop_sx_caType && conf.counterpartyKind === prop_sx_caKind && (conf.portalEnabled)));\r\n}\r\nexport function getAttachmentConfiguration(attachment,properties) {\r\n\tlet {prop_sx_caType,prop_sx_caKind,attachmentsTypes}=properties;\r\n\tlet {documentType}=attachment;\r\n\tlet configuration=attachmentsTypes.find((item) => item.value===documentType)?.configuration?.find((item) =>\r\n\t\t(item.counterpartyType===prop_sx_caType&&item.counterpartyKind===prop_sx_caKind)\r\n\t);\r\n\treturn configuration;\r\n}\r\nexport function renderdocs() {\r\n\tconst { attachments, formMode, prop_sx_dfState } = this.state;\r\n\tconst canEditAttachments = formModes.read === formMode && (prop_sx_dfState === statuses.preparing || prop_sx_dfState === statuses.revision);\r\n\tlet getAttachmentIndicator = (attachment) => {\r\n\t\tlet { state, nodeRef } = attachment;\r\n\t\tlet configuration = this.getAttachmentConfiguration(attachment, this.state);\r\n\t\tif (configuration) {\r\n\t\t\tif (!nodeRef && state === attachmentStatuses.NotAdded && configuration?.portalMandatoryAdding)\r\n\t\t\t\treturn \"\";\r\n\t\t\telse if ((state === attachmentStatuses.New || state === attachmentStatuses.NotAdded) && configuration?.portalMandatorySigning)\r\n\t\t\t\treturn \"\";\r\n\t\t}\r\n\t}\r\n\treturn (
    \r\n\t\t\r\n\t
    );\r\n}\r\nexport function buildFormItem(item) {\r\n\tconst { prop_sx_caType, prop_sx_caVAT } = this.state;\r\n\tif ([\"prop_sx_caDocRegNum\", \"prop_sx_caDocRegDate\"].indexOf(item.Name) !== -1 && companyTypes.Individual !== prop_sx_caType) this.state[item.Name] = null;\r\n\telse if (prop_sx_caVAT !== true && [\"prop_sx_caVATCertificate\"].indexOf(item.Name) !== -1);\r\n\telse return item;\r\n}\r\nexport function checkAttachmentsMandatoryAdding() {\r\n\tconst {attachments}=this.state;\r\n\tfor(let i=0;i { this.setState({ currentCompanyName: info?.name }); })\r\n }\r\n render() {\r\n const { currentCompanyName } = this.state;\r\n const { className } = this.props;\r\n return (
    \r\n
    {currentCompanyName}
    \r\n
    );\r\n }\r\n}","import React from 'react';\r\nimport { AccountFormHeader } from './AccountFormHeader';\r\nexport function AccountMessageContainer(props) {\r\n const { className } = props;\r\n return (
    \r\n
    \r\n \r\n {props.children}\r\n
    \r\n
    );\r\n}","import React from 'react';\r\nimport i18next from \"../../i18n\";\r\nexport const errorMessage = (value, key) => value &&
    {i18next.t(key)}
    ;\r\nexport const isRequiredMessage = (value) => errorMessage(value, 'requiredField');\r\nexport const isBadFormatMessage = (value) => errorMessage(value, 'badFieldFormat');","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { NavLink } from 'reactstrap';\r\nimport i18next from \"../../i18n\";\r\nimport { PasswordInput } from '../forms/PasswordInput';\r\nimport { getWordWithCorrectEnding, decodeHtml } from '../helpers/HelperFunctions';\r\nimport { hideModalDialog, showModalDialog } from '../ModalDialog';\r\nimport * as ModalDialogsTemplates from '../ModalDialog';\r\nimport { AccountFormHeader } from './AccountFormHeader';\r\nimport { AccountMessageContainer } from './AccountMessageContainer';\r\nimport * as AccountHelper from \"./AccountHelper\";\r\nimport { loginFaildeStatus } from '../../constants';\r\nexport class LoginPage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n email: '',\r\n password: '',\r\n submitted: false,\r\n incorrectLogin: false,\r\n loggedIn: false,\r\n confirmationEmailSended: false,\r\n confirmationEmailError: '',\r\n isHasLoginAttempts: true,\r\n allowedAttempts: 1\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.sendedEmailCallback = this.sendedEmailCallback.bind(this);\r\n }\r\n handleChange(e) {\r\n const { name, value } = e.target;\r\n this.setState({ [name]: value, incorrectLogin: false });\r\n }\r\n handleSubmit(e) {\r\n e.preventDefault();\r\n const { email, password } = this.state;\r\n if (email && password)\r\n this.logIn(email, password);\r\n else\r\n this.setState({ submitted: true });\r\n }\r\n sendedEmailCallback(error) {\r\n this.setState({ confirmationEmailSended: true, confirmationEmailError: error });\r\n }\r\n logIn(email, password) {\r\n localStorage.removeItem('user');\r\n const currentObject = this;\r\n fetch('/account/login', {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({ email, password })\r\n })\r\n .then(async (response) => {\r\n let data = await response.json();\r\n if (response.ok && data && data.token) {\r\n if (data.companies?.length > 0) {\r\n data.companies.forEach(c => {\r\n c.companyName = decodeHtml(c.companyName);\r\n c.companyShortName = decodeHtml(c.companyShortName);\r\n }); \r\n }\r\n localStorage.setItem('user', JSON.stringify(data));\r\n currentObject.setState({ loggedIn: true });\r\n }\r\n else {\r\n if (data?.error === loginFaildeStatus.userBlocked)\r\n showModalDialog(\"loadingDialog\", i18next.t(\"error\"), \"\",
    {i18next.t(\"blockedErrorMessage\")}
    , \"feedPopup\", true, [{ title: i18next.t(\"ok\"), clickHandler: () => hideModalDialog(\"loadingDialog\"), class: \"btn-primary\" }]);\r\n else if (data?.error === loginFaildeStatus.userNotExist)\r\n currentObject.setState({ submitted: true, incorrectLogin: true, allowedAttempts: 1, isHasLoginAttempts: true });\r\n else if (data?.allowedAttempts >= 0)\r\n currentObject.setState({ submitted: true, incorrectLogin: true, allowedAttempts: data.allowedAttempts, isHasLoginAttempts: !(data.allowedAttempts <= 0) });\r\n else ModalDialogsTemplates.unknownErrorMessageDialog();\r\n }\r\n });\r\n }\r\n render() {\r\n const { allowedAttempts, isHasLoginAttempts, email, password, submitted, incorrectLogin, loggedIn, confirmationEmailSended, confirmationEmailError } = this.state;\r\n if (loggedIn) window.location.replace(\"/\");\r\n if (!isHasLoginAttempts) {\r\n return (\r\n
    \r\n
    {i18next.t(\"error\")}
    \r\n
    {i18next.t(\"hasNoLoginAttempts\")}
    \r\n
    \r\n
    );\r\n }\r\n if (confirmationEmailSended) {\r\n return (\r\n
    \r\n
    {confirmationEmailError ? i18next.t(\"error\") : i18next.t(\"done\")}
    \r\n {confirmationEmailError ?
    {confirmationEmailError}
    :\r\n <>\r\n
    {i18next.t(\"registerCompletedMessage\")}
    ,\r\n
    \r\n window.location.reload()}>\r\n {i18next.t(\"logInToYourAccount\")}
    \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
    {i18next.t(\"Вхід в систему\")}
    \r\n {false && submitted && incorrectLogin && allowedAttempts > 0 &&\r\n
    Залишилось {allowedAttempts} {getWordWithCorrectEnding(allowedAttempts, 'спроба')}
    \r\n }\r\n
    \r\n
    \r\n \r\n \r\n {AccountHelper.isRequiredMessage(submitted && !email)}\r\n {AccountHelper.errorMessage(submitted && incorrectLogin, 'failedLoginAttempt')}\r\n
    \r\n
    \r\n \r\n \r\n {AccountHelper.isRequiredMessage(submitted && !password)}\r\n
    \r\n
    \r\n \r\n \r\n {i18next.t(\"forgotYourPassword\")}
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}","import React from 'react';\r\nimport InputMask from 'react-input-mask';\r\nimport { Link } from 'react-router-dom';\r\nimport { NavLink } from 'reactstrap';\r\nimport * as constants from '../../constants';\r\nimport i18next from \"../../i18n\";\r\nimport { PasswordInput } from '../forms/PasswordInput';\r\nimport { checkPassword, checkPhone } from '../helpers/CheckFunctions';\r\nimport { AccountFormHeader } from './AccountFormHeader';\r\nimport { AccountMessageContainer } from './AccountMessageContainer';\r\nimport * as AccountHelper from \"./AccountHelper\"\r\nexport class RegisterPage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n let pathArray = window.location.href.split('?');\r\n let code = '';\r\n let isError = false;\r\n if (pathArray.length > 1)\r\n code = pathArray[1];\r\n else\r\n isError = true;\r\n this.state = {\r\n currentCompanyName: '',\r\n password: '',\r\n firstName: '',\r\n lastName: '',\r\n position: '',\r\n phone: '',\r\n passwordRepeat: '',\r\n submitted: false,\r\n incorrectLogin: false,\r\n isError: isError,\r\n code: code,\r\n companyName: '',\r\n ready: false,\r\n errorText: '',\r\n iAgree: false\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.register = this.register.bind(this);\r\n }\r\n componentDidMount() {\r\n require('../helpers/HelperFunctions').getCurrentCompanyInfo().then((info) => { this.setState({ currentCompanyName: info?.name }); })\r\n }\r\n handleChange(e) {\r\n const { name, value, type } = e.target;\r\n this.setState({ [name]: type === \"checkbox\" ? e.target.checked : value });\r\n }\r\n handleSubmit(e) {\r\n e.preventDefault();\r\n const { code, incorrectLogin, firstName, position, lastName, phone, password, passwordRepeat } = this.state;\r\n this.setState({ submitted: true });\r\n if (code && !incorrectLogin && position && firstName && lastName && phone && checkPhone(phone) && password && password === passwordRepeat && checkPassword(password)) {\r\n const formData = new FormData();\r\n [\"password\", \"firstName\", \"lastName\", \"position\", \"phone\", \"code\"]\r\n .forEach(item => formData.append(item, this.state[item]));\r\n this.register(formData);\r\n }\r\n }\r\n register(data) {\r\n const currentObject = this;\r\n fetch('/account/register', {\r\n method: \"POST\",\r\n headers: { \"Contetnt-Type\": \"multipart/form-data\" },\r\n body: data\r\n })\r\n .then(async (response) => {\r\n if (response.ok) {\r\n currentObject.setState({ ready: true });\r\n }\r\n else {\r\n let error = response.ok ? \"\" : await response.text();\r\n if (error === \"userAlreadyRegistered\") {\r\n require('../ModalDialog').messageDialog(i18next.t(\"error\"), i18next.t(\"alreadyRegisteredMessage\"), () => {\r\n constants.History.push(constants.urls.loginPage);\r\n });\r\n }\r\n else require('../ModalDialog').unknownErrorMessageDialog();\r\n }\r\n });\r\n }\r\n render() {\r\n const { ready, errorText, password, passwordRepeat, firstName, lastName, position,\r\n submitted, phone, iAgree, currentCompanyName } = this.state;\r\n if (ready)\r\n return (\r\n {errorText ?\r\n
    \r\n
    {i18next.t(\"error\")}
    \r\n
    {errorText}
    \r\n
    : \"\"}\r\n {!errorText ?
    \r\n
    {i18next.t(\"done\")}
    \r\n
    {i18next.t(\"registerCompletedMessage\")}
    \r\n
    \r\n \r\n {i18next.t(\"logInToYourAccount\")}
    \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 {currentCompanyName &&\r\n
    \r\n \r\n
    \r\n }\r\n
    \r\n
    \r\n \r\n \r\n {AccountHelper.isRequiredMessage(submitted && !lastName)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {AccountHelper.isRequiredMessage(submitted && !firstName)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {AccountHelper.isRequiredMessage(submitted && !position)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {AccountHelper.isRequiredMessage(submitted && !phone)}\r\n {AccountHelper.isBadFormatMessage(submitted && phone && !checkPhone(phone))}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {AccountHelper.isRequiredMessage(submitted && !password)}\r\n {AccountHelper.errorMessage(submitted && password && !checkPassword(password), 'incorrectPasswordErrorText')}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {AccountHelper.isRequiredMessage(submitted && !passwordRepeat)}\r\n {AccountHelper.errorMessage(submitted && passwordRepeat && password && passwordRepeat !== password, 'passwordsDoNotMatch')}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {iAgree && }\r\n \r\n {i18next.t(\"youAlreadyHaveAnAccount\")}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}","import React from 'react';\r\nimport i18next from \"../../i18n\";\r\nimport { PasswordInput } from '../forms/PasswordInput';\r\nimport { History, urls } from '../../constants';\r\nimport { checkPassword } from '../helpers/CheckFunctions';\r\nimport { AccountFormHeader } from './AccountFormHeader';\r\nimport * as AccountHelper from \"./AccountHelper\"\r\nexport class RestorePasswordPage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n password: '',\r\n repassword: \"\",\r\n submitted: false\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.restorePassword = this.restorePassword.bind(this);\r\n }\r\n handleChange(e) {\r\n const { name, value } = e.target;\r\n this.setState({ [name]: value, incorrectLogin: false });\r\n }\r\n async restorePassword(e) {\r\n e.preventDefault();\r\n const { password, repassword } = this.state;\r\n this.setState({\r\n submitted: true\r\n });\r\n if (password && repassword && password === repassword && checkPassword(password)) {\r\n await fetch(`/account/passwordRecovery`, {\r\n method: 'Post',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify({\r\n changePasswordKey: window.location.pathname.split(\"/\")[2],\r\n password: password\r\n })\r\n })\r\n .then(res => {\r\n if (!res.ok) require('../ModalDialog').errorMessageDialog(i18next.t(\"notValidRecoveryUrl\"));\r\n else History.push(urls.loginPage);\r\n });\r\n }\r\n }\r\n render() {\r\n const { password, submitted, repassword } = this.state;\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    {i18next.t(\"changePassword\")}
    \r\n
    \r\n
    \r\n \r\n \r\n {AccountHelper.isRequiredMessage(submitted && !password)}\r\n {AccountHelper.errorMessage(submitted && password && !checkPassword(password), 'incorrectPasswordErrorText')}\r\n
    \r\n
    \r\n \r\n \r\n {AccountHelper.isRequiredMessage(submitted && !repassword)}\r\n {AccountHelper.errorMessage(submitted && password && repassword && (password !== repassword), 'passwordsDoNotMatch')}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { NavLink } from 'reactstrap';\r\nimport i18next from \"../../i18n\";\r\nimport { checkEmail } from '../helpers/CheckFunctions';\r\nimport * as HelperFunctions from '../helpers/HelperFunctions';\r\nimport { AccountFormHeader } from './AccountFormHeader';\r\nimport * as AccountHelper from \"./AccountHelper\"\r\nexport class PasswordRecoveryPage extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n email: \"\",\r\n submitted: false,\r\n passwordWasReset: false\r\n };\r\n this.resetPasswordRequest = this.resetPasswordRequest.bind(this);\r\n this.changeInputValue = HelperFunctions.changeInputValue.bind(this);\r\n }\r\n async resetPasswordRequest(e) {\r\n e.preventDefault();\r\n const { email } = this.state;\r\n this.setState({\r\n submitted: true\r\n });\r\n if (email/* && checkEmail(email)*/) {\r\n await fetch(`/account/resetPasswordByLogin`, { method: 'Post', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ login: email }) })\r\n .then(res => {\r\n if (!res.ok) return require('../ModalDialog').unknownErrorMessageDialog();\r\n this.setState({\r\n passwordWasReset: true\r\n });\r\n });\r\n }\r\n }\r\n render() {\r\n const { submitted, email, passwordWasReset } = this.state;\r\n if (passwordWasReset) {\r\n return (
    \r\n
    \r\n \r\n
    \r\n
    {i18next.t(\"done\")}
    \r\n
    {i18next.t(\"passwordResetMessage\")}
    \r\n
    \r\n
    \r\n \r\n {i18next.t(\"logInToYourAccount\")}
    \r\n
    \r\n
    \r\n
    \r\n
    );\r\n }\r\n return (
    \r\n
    \r\n \r\n
    \r\n
    {i18next.t(\"passwordRecovery\")}
    \r\n
    \r\n
    \r\n \r\n \r\n {AccountHelper.isRequiredMessage(submitted && !email)}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    );\r\n }\r\n}","import React from 'react';\r\nimport i18next from \"../../i18n\";\r\nimport { AccountFormHeader } from './AccountFormHeader';\r\nimport * as HelperFunctions from '../helpers/HelperFunctions';\r\nexport function SessionEndedPage(props) {\r\n return (
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    {i18next.t(\"attentionTitle\")}
    \r\n
    {i18next.t(\"sessionEndedMessage\")}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    );\r\n}","import React from 'react';\r\nimport { NavLink } from 'reactstrap';\r\nimport { Link } from 'react-router-dom';\r\nimport { Svg } from '../Svg';\r\nexport function NavMenuItem(props) {\r\n const { title, name, url, classes, menuItems, src, target } = props;\r\n let items = [];\r\n if (menuItems) {\r\n for (let i = 0; i < menuItems.length; i++) {\r\n let item = menuItems[i];\r\n if (!item.hiddenForMenu)\r\n items.push()\r\n }\r\n }\r\n if (items.length > 0)\r\n return (
    \r\n \r\n
    \r\n
    \r\n {title}\r\n \r\n \r\n \r\n
    \r\n
    \r\n {items.map(item =>\r\n item\r\n )}\r\n
    \r\n
    \r\n
    )\r\n else\r\n return (\r\n window.location.replace(url)} target={target} >\r\n {src && }\r\n {title}\r\n \r\n );\r\n}","import React, { Component } from 'react';\r\nimport { Navbar, NavItem, NavLink } from 'reactstrap';\r\nimport { UserContext, resources } from '../../constants';\r\nimport { Link } from 'react-router-dom';\r\nimport { NavMenuItem } from './NavMenuItem';\r\nimport { logout } from '../helpers/HelperFunctions';\r\nimport i18next from \"../../i18n\";\r\nimport { Svg } from '../Svg';\r\nexport class NavMenu extends Component {\r\n static contextType = UserContext;\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n collapsed: true,\r\n menuOpen: false,\r\n isOpenLeftMenu: false,\r\n menuItems: props?.NavMenu?.menuItems ?? []\r\n };\r\n this.handleOpenLeftMenu = this.handleOpenLeftMenu.bind(this);\r\n this.handleChangeCompany = this.handleChangeCompany.bind(this);\r\n }\r\n componentDidUpdate() {\r\n if (this.props.isOpenLeftMenu !== this.state.isOpenLeftMenu) {\r\n this.setState({\r\n isOpenLeftMenu: this.props.isOpenLeftMenu\r\n });\r\n }\r\n }\r\n handleOpenLeftMenu() {\r\n let isOpen = !this.state.isOpenLeftMenu;\r\n this.setState({\r\n isOpenLeftMenu: isOpen\r\n });\r\n if (this.props.handleOpenLeftMenu)\r\n this.props.handleOpenLeftMenu(isOpen);\r\n }\r\n hideOverMob() {\r\n this.setState({\r\n menuOpen: false\r\n });\r\n }\r\n render() {\r\n const { menuItems, isOpenLeftMenu } = this.state;\r\n const menuItem = this.context.mainMenuItem;\r\n return <>\r\n
    \r\n \r\n \r\n
    \r\n \r\n \"Logo\"\r\n \r\n
    \r\n
    \r\n
      \r\n {menuItems?.map((item, index) =>\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n {this.context.companies?.length > 0 &&\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    {this.context.userName}
    \r\n
    {this.context.companies[0].companyShortName}
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {this.context.companies.map((item, index) =>\r\n
    this.handleChangeCompany(item.id)}>\r\n
    \r\n {index === 0 &&

    {this.context.userName}

    }\r\n

    \r\n {item.companyShortName && {item.companyShortName}
    }\r\n {i18next.t(\"21\")} {item.registerCode}\r\n

    \r\n
    \r\n
    )}\r\n \r\n
    \r\n \r\n }\r\n
    \r\n \r\n
    \r\n
    \r\n
    this.setState({ menuOpen: !this.state.menuOpen })}>\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ;\r\n }\r\n handleChangeCompany(companyId) {\r\n const context = this.context;\r\n const selectedCompanyIndex = context.companies.findIndex((item) => item.id === companyId);\r\n const selectedCompany = context.companies[selectedCompanyIndex];\r\n context.companies.splice(selectedCompanyIndex, 1);\r\n context.companies.unshift(selectedCompany);\r\n localStorage.setItem(\"user\", JSON.stringify(context));\r\n window.location.replace(\"/\");\r\n }\r\n}","import React, { Component } from 'react';\r\nimport i18next from \"../../i18n\";\r\nimport { Svg } from '../Svg';\r\nimport * as HelperFunctions from '../helpers/HelperFunctions';\r\nimport * as constants from '../../constants';\r\nimport { ListOfAlfresco } from '../listsOfAlfresco/ListOfAlfresco';\r\nexport class ListOfSearchResults extends Component {\r\n static contextType = constants.UserContext;\r\n static getSearchStr() {\r\n let search = HelperFunctions.getUrlParam(\"search\");\r\n if (!search) return \"\";\r\n return decodeURI(search);\r\n }\r\n static renderSearchResult(options) {\r\n let table;\r\n switch (options.tableType) {\r\n case constants.searchTableTypes.Companies: table = require(`./ListOfCompanies`); break;\r\n case constants.searchTableTypes.Users: table = require(`./ListOfUsers`); break;\r\n default: table = require(`./ListOfDocuments`); break;\r\n }\r\n return (
    \r\n
    \r\n {options.tableName}\r\n
    \r\n
    \r\n \r\n
    \r\n
    );\r\n }\r\n render() {\r\n const searchOptions = this.context.searchOptions;\r\n return (\r\n
    \r\n

    {searchOptions.title}

    \r\n
    \r\n
    \r\n
    \r\n {i18next.t(\"searchQuery\")}: {ListOfSearchResults.getSearchStr()}\r\n
    \r\n
    \r\n
    \r\n {searchOptions.searchResults.map(item => ListOfSearchResults.renderSearchResult(item))}\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport { NavLink } from 'reactstrap';\r\nimport { leftMenuTypes } from '../../constants';\r\nimport { Link } from 'react-router-dom';\r\nimport { Svg } from '../Svg';\r\nimport { globalEventDispatcher, dispatcherActionTypes } from '../helpers/GlobalEventDispatcher';\r\nexport class MenuItem extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n collapsed: true\r\n };\r\n this.toggleCollapsing = this.toggleCollapsing.bind(this);\r\n this.globalEventListerner = this.globalEventListerner.bind(this);\r\n globalEventDispatcher.subscribe(this.globalEventListerner);\r\n }\r\n toggleCollapsing(e, value) {\r\n const { menuItems, handlerSetExpandedLink, link } = this.props;\r\n const { collapsed } = this.state;\r\n if (e) e.preventDefault();\r\n let collapsedValue = value !== undefined ? value : !collapsed;\r\n if (collapsedValue != collapsed && menuItems?.length > 0) {\r\n this.setState({\r\n collapsed: collapsedValue\r\n });\r\n if (!collapsedValue && handlerSetExpandedLink && link?.url)\r\n handlerSetExpandedLink(link.url);\r\n }\r\n }\r\n componentWillUpdate() {\r\n const { link, menuItems, handlerGetExpandedLink } = this.props;\r\n const { collapsed } = this.state;\r\n const expandedLink = handlerGetExpandedLink ? handlerGetExpandedLink() : null;\r\n if (expandedLink && expandedLink !== link?.url && !expandedLink.startsWith(link?.url + '/') && !collapsed) {\r\n this.setState({\r\n collapsed: true\r\n });\r\n }\r\n else if (expandedLink && (expandedLink === link?.url || expandedLink.startsWith(link?.url + '/')) && collapsed) {\r\n this.setState({\r\n collapsed: false\r\n });\r\n }\r\n }\r\n globalEventListerner(actionType) {\r\n if (actionType === dispatcherActionTypes.onTabChanged) {\r\n const { collapsed } = this.state;\r\n const { link, handlerSetExpandedLink } = this.props;\r\n const curUrl = this.getCurrentUrl();\r\n if (link && (curUrl === link.url || curUrl === link?.url + '/') && collapsed) {\r\n this.setState({\r\n collapsed: false\r\n });\r\n if (handlerSetExpandedLink)\r\n handlerSetExpandedLink(link.url);\r\n }\r\n }\r\n }\r\n componentDidMount() {\r\n this.componentWillUpdate();\r\n }\r\n getCurrentUrl() {\r\n return window.location.pathname;\r\n }\r\n isSelected(url) {\r\n if (url) {\r\n const curUrl = this.getCurrentUrl();\r\n let isSelected = curUrl === url || curUrl === url + '/';\r\n isSelected = isSelected || (curUrl.startsWith(url + '/') && url !== \"/\");\r\n return isSelected;\r\n }\r\n else\r\n return false;\r\n }\r\n render() {\r\n const { link, image, counter, menuItems, isRoot, type, handlerGetExpandedLink, handlerSetExpandedLink } = this.props;\r\n let items = menuItems ? menuItems.filter(item => !item?.hiddenForMenu).map((item, i) =>\r\n ) :\r\n [];\r\n let isSelected = this.isSelected(link?.url);\r\n switch (type) {\r\n case leftMenuTypes.divider: return (
  • );\r\n case leftMenuTypes.link:\r\n return (\r\n
  • \r\n
    \r\n handlerSetExpandedLink(link?.url ? link?.url : \"/\")}>\r\n {link?.text}\r\n {counter && !counter.hidden ? {counter?.count} : \"\"}\r\n {items.length > 0 ?\r\n
    \r\n \r\n
    \r\n : \"\"\r\n }\r\n
    \r\n
    \r\n {image?.path && }\r\n {\r\n !(this.state.collapsed) ?\r\n
      0 ? \"with-padding\" : \"\"}>\r\n {items.map(item =>\r\n item\r\n )}\r\n
    : \"\"\r\n }\r\n
  • \r\n );\r\n default: return null;\r\n }\r\n }\r\n}","import React, { Component } from 'react';\r\nimport InputMask from 'react-input-mask';\r\nimport i18next from \"../i18n\";\r\nimport { checkEmail, checkPhone } from './helpers/CheckFunctions';\r\nimport { hideModalDialog, showModalDialog } from './ModalDialog';\r\nexport class FeedbackForm extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n feedback: {\r\n contactPerson: '',\r\n phone: '',\r\n email: '',\r\n message: '',\r\n files: []\r\n },\r\n submitted: false,\r\n sending: false,\r\n responseMessage: {\r\n isOk: true,\r\n message: ''\r\n }\r\n };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleSubmit = this.handleSubmit.bind(this);\r\n this.handleFileChange = this.handleFileChange.bind(this);\r\n this.handleFileRemove = this.handleFileRemove.bind(this);\r\n this.onCancel = this.onCancel.bind(this);\r\n }\r\n onCancel() {\r\n const { onCloseHandler } = this.props;\r\n if (!this.state.sending && onCloseHandler)\r\n onCloseHandler();\r\n }\r\n handleChange(event) {\r\n const { name, value } = event.target;\r\n const { feedback } = this.state;\r\n this.setState({\r\n feedback: {\r\n ...feedback,\r\n [name]: value\r\n }\r\n });\r\n }\r\n handleSubmit(event) {\r\n event.preventDefault();\r\n this.setState({ submitted: true });\r\n const { feedback, sending } = this.state;\r\n if (!sending && feedback.contactPerson && feedback.phone && checkPhone(feedback.phone) && feedback.email && checkEmail(feedback.email) && feedback.message) {\r\n this.setState({ sending: true });\r\n this.sendData();\r\n }\r\n }\r\n handleFileRemove(event) {\r\n const index = event.target.getAttribute(\"index\");\r\n if (index !== null) {\r\n const { feedback } = this.state;\r\n const { files } = feedback;\r\n const i = parseInt(index) - 1;\r\n if (i > -1 && i < files.length) {\r\n files.splice(i, 1);\r\n }\r\n this.setState({\r\n feedback: {\r\n ...feedback,\r\n files: files\r\n }\r\n });\r\n }\r\n }\r\n handleFileChange(event) {\r\n const { feedback } = this.state;\r\n const { files } = feedback;\r\n for (var i = 0; i < event.target.files.length; i++) {\r\n files.push(event.target.files[i]);\r\n }\r\n this.setState({\r\n feedback: {\r\n ...feedback,\r\n files: files\r\n }\r\n });\r\n }\r\n componentDidMount() {\r\n this.fillUserData();\r\n }\r\n render() {\r\n const { feedback, submitted, sending, responseMessage } = this.state;\r\n var keyNumber = 0;\r\n if (responseMessage && responseMessage.message) {\r\n return (
    \r\n
    \r\n
    {responseMessage.message}
    \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 {submitted && !feedback.contactPerson &&\r\n
    {i18next.t(\"requiredField\")}
    \r\n }\r\n
    \r\n
    \r\n \r\n \r\n {submitted && feedback.phone && !feedback.phone &&\r\n
    {i18next.t(\"requiredField\")}
    \r\n }\r\n {submitted && !checkPhone(feedback.phone) &&\r\n
    {i18next.t(\"badFieldFormat\")}
    \r\n }\r\n
    \r\n
    \r\n \r\n \r\n {submitted && !feedback.email &&\r\n
    {i18next.t(\"requiredField\")}
    \r\n }\r\n {submitted && feedback.email && !checkEmail(feedback.email) &&\r\n
    {i18next.t(\"badFieldFormat\")}
    \r\n }\r\n
    \r\n
    \r\n \r\n